UNPKG

ag-grid-enterprise

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

253 lines 1.67 MB
var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of __getOwnPropNames(t))!__hasOwnProp.call(e,n)&&n!==i&&__defProp(e,n,{get:()=>t[n],enumerable:!(r=__getOwnPropDesc(t,n))||r.enumerable});return e},__reExport=(e,t,i)=>(__copyProps(e,t,"default"),i&&__copyProps(i,t,"default")),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),main_exports={};__export(main_exports,{AdvancedFilterModule:()=>AdvancedFilterModule,AggregationModule:()=>AggregationModule,AiToolkitModule:()=>AiToolkitModule,AllEnterpriseModule:()=>AllEnterpriseModule,BatchEditModule:()=>BatchEditModule,CalculatedColumnsModule:()=>CalculatedColumnsModule,CellSelectionModule:()=>CellSelectionModule,ClipboardModule:()=>ClipboardModule,ColumnHeaderEditModule:()=>ColumnHeaderEditModule,ColumnMenuModule:()=>ColumnMenuModule,ColumnsToolPanelModule:()=>ColumnsToolPanelModule,ContextMenuModule:()=>ContextMenuModule,ExcelExportModule:()=>ExcelExportModule,FiltersToolPanelModule:()=>FiltersToolPanelModule,FindModule:()=>FindModule,FormulaModule:()=>FormulaModule,GridChartsModule:()=>GridChartsModule,GroupFilterModule:()=>GroupFilterModule,IntegratedChartsModule:()=>IntegratedChartsModule,LicenseManager:()=>GridLicenseManager,MasterDetailModule:()=>MasterDetailModule,MenuModule:()=>MenuModule,MultiFilterModule:()=>MultiFilterModule,NewFiltersToolPanelModule:()=>NewFiltersToolPanelModule,NotesModule:()=>NotesModule,PdfExportModule:()=>PdfExportModule,PivotModule:()=>PivotModule,RangeSelectionModule:()=>RangeSelectionModule,RichSelectModule:()=>RichSelectModule,RowGroupingEditModule:()=>RowGroupingEditModule,RowGroupingModule:()=>RowGroupingModule,RowGroupingPanelModule:()=>RowGroupingPanelModule,RowNumbersModule:()=>RowNumbersModule,ServerSideRowModelApiModule:()=>ServerSideRowModelApiModule,ServerSideRowModelModule:()=>ServerSideRowModelModule,SetFilterModule:()=>SetFilterModule,ShowValuesAsModule:()=>ShowValuesAsModule,SideBarModule:()=>SideBarModule,SparklinesModule:()=>SparklinesModule,StatusBarModule:()=>StatusBarModule,ToolbarModule:()=>ToolbarModule,TreeDataModule:()=>TreeDataModule,ViewportRowModelModule:()=>ViewportRowModelModule,_AgColorPicker:()=>AgColorPicker,_AgColorPickerSelector:()=>AgColorPickerSelector,_AgContextMenuService:()=>AgContextMenuService,_AgDialog:()=>AgDialog,_AgGroupComponent:()=>AgGroupComponent,_AgGroupComponentSelector:()=>AgGroupComponentSelector,_AgInputRange:()=>AgInputRange,_AgInputRangeSelector:()=>AgInputRangeSelector,_AgMenuItemComponent:()=>AgMenuItemComponent,_AgMenuItemRenderer:()=>AgMenuItemRenderer,_AgMenuList:()=>AgMenuList,_AgPanel:()=>AgPanel,_AgSlider:()=>AgSlider,_AgSliderSelector:()=>AgSliderSelector,_AgTabbedLayout:()=>AgTabbedLayout,_AgVirtualList:()=>AgVirtualList,_AgVirtualListDragFeature:()=>AgVirtualListDragFeature,distributeGroupValue:()=>distributeGroupValue,exportMultipleSheetsAsExcel:()=>exportMultipleSheetsAsExcel,getMultipleSheetsAsExcel:()=>getMultipleSheetsAsExcel}),module.exports=__toCommonJS(main_exports);var import_ag_stack3=require("ag-stack"),import_ag_grid_community3=require("ag-grid-community"),import_ag_stack=require("ag-stack"),import_ag_grid_community=require("ag-grid-community"),MD5=class{constructor(){this.ieCompatibility=!1}init(){this.ieCompatibility=this.md5("hello")!="5d41402abc4b2a76b9719d911017c592"}md5cycle(e,t){let i=e[0],r=e[1],n=e[2],o=e[3];i=this.ff(i,r,n,o,t[0],7,-680876936),o=this.ff(o,i,r,n,t[1],12,-389564586),n=this.ff(n,o,i,r,t[2],17,606105819),r=this.ff(r,n,o,i,t[3],22,-1044525330),i=this.ff(i,r,n,o,t[4],7,-176418897),o=this.ff(o,i,r,n,t[5],12,1200080426),n=this.ff(n,o,i,r,t[6],17,-1473231341),r=this.ff(r,n,o,i,t[7],22,-45705983),i=this.ff(i,r,n,o,t[8],7,1770035416),o=this.ff(o,i,r,n,t[9],12,-1958414417),n=this.ff(n,o,i,r,t[10],17,-42063),r=this.ff(r,n,o,i,t[11],22,-1990404162),i=this.ff(i,r,n,o,t[12],7,1804603682),o=this.ff(o,i,r,n,t[13],12,-40341101),n=this.ff(n,o,i,r,t[14],17,-1502002290),r=this.ff(r,n,o,i,t[15],22,1236535329),i=this.gg(i,r,n,o,t[1],5,-165796510),o=this.gg(o,i,r,n,t[6],9,-1069501632),n=this.gg(n,o,i,r,t[11],14,643717713),r=this.gg(r,n,o,i,t[0],20,-373897302),i=this.gg(i,r,n,o,t[5],5,-701558691),o=this.gg(o,i,r,n,t[10],9,38016083),n=this.gg(n,o,i,r,t[15],14,-660478335),r=this.gg(r,n,o,i,t[4],20,-405537848),i=this.gg(i,r,n,o,t[9],5,568446438),o=this.gg(o,i,r,n,t[14],9,-1019803690),n=this.gg(n,o,i,r,t[3],14,-187363961),r=this.gg(r,n,o,i,t[8],20,1163531501),i=this.gg(i,r,n,o,t[13],5,-1444681467),o=this.gg(o,i,r,n,t[2],9,-51403784),n=this.gg(n,o,i,r,t[7],14,1735328473),r=this.gg(r,n,o,i,t[12],20,-1926607734),i=this.hh(i,r,n,o,t[5],4,-378558),o=this.hh(o,i,r,n,t[8],11,-2022574463),n=this.hh(n,o,i,r,t[11],16,1839030562),r=this.hh(r,n,o,i,t[14],23,-35309556),i=this.hh(i,r,n,o,t[1],4,-1530992060),o=this.hh(o,i,r,n,t[4],11,1272893353),n=this.hh(n,o,i,r,t[7],16,-155497632),r=this.hh(r,n,o,i,t[10],23,-1094730640),i=this.hh(i,r,n,o,t[13],4,681279174),o=this.hh(o,i,r,n,t[0],11,-358537222),n=this.hh(n,o,i,r,t[3],16,-722521979),r=this.hh(r,n,o,i,t[6],23,76029189),i=this.hh(i,r,n,o,t[9],4,-640364487),o=this.hh(o,i,r,n,t[12],11,-421815835),n=this.hh(n,o,i,r,t[15],16,530742520),r=this.hh(r,n,o,i,t[2],23,-995338651),i=this.ii(i,r,n,o,t[0],6,-198630844),o=this.ii(o,i,r,n,t[7],10,1126891415),n=this.ii(n,o,i,r,t[14],15,-1416354905),r=this.ii(r,n,o,i,t[5],21,-57434055),i=this.ii(i,r,n,o,t[12],6,1700485571),o=this.ii(o,i,r,n,t[3],10,-1894986606),n=this.ii(n,o,i,r,t[10],15,-1051523),r=this.ii(r,n,o,i,t[1],21,-2054922799),i=this.ii(i,r,n,o,t[8],6,1873313359),o=this.ii(o,i,r,n,t[15],10,-30611744),n=this.ii(n,o,i,r,t[6],15,-1560198380),r=this.ii(r,n,o,i,t[13],21,1309151649),i=this.ii(i,r,n,o,t[4],6,-145523070),o=this.ii(o,i,r,n,t[11],10,-1120210379),n=this.ii(n,o,i,r,t[2],15,718787259),r=this.ii(r,n,o,i,t[9],21,-343485551),e[0]=this.add32(i,e[0]),e[1]=this.add32(r,e[1]),e[2]=this.add32(n,e[2]),e[3]=this.add32(o,e[3])}cmn(e,t,i,r,n,o){return t=this.add32(this.add32(t,e),this.add32(r,o)),this.add32(t<<n|t>>>32-n,i)}ff(e,t,i,r,n,o,a){return this.cmn(t&i|~t&r,e,t,n,o,a)}gg(e,t,i,r,n,o,a){return this.cmn(t&r|i&~r,e,t,n,o,a)}hh(e,t,i,r,n,o,a){return this.cmn(t^i^r,e,t,n,o,a)}ii(e,t,i,r,n,o,a){return this.cmn(i^(t|~r),e,t,n,o,a)}md51(e){const t=e.length,i=[1732584193,-271733879,-1732584194,271733878];let r;for(r=64;r<=e.length;r+=64)this.md5cycle(i,this.md5blk(e.substring(r-64,r)));e=e.substring(r-64);const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(r=0;r<e.length;r++)n[r>>2]|=e.charCodeAt(r)<<(r%4<<3);if(n[r>>2]|=128<<(r%4<<3),r>55)for(this.md5cycle(i,n),r=0;r<16;r++)n[r]=0;return n[14]=t*8,this.md5cycle(i,n),i}md5blk(e){const t=[];for(let i=0;i<64;i+=4)t[i>>2]=e.charCodeAt(i)+(e.charCodeAt(i+1)<<8)+(e.charCodeAt(i+2)<<16)+(e.charCodeAt(i+3)<<24);return t}rhex(e){const t="0123456789abcdef".split("");let i="",r=0;for(;r<4;r++)i+=t[e>>r*8+4&15]+t[e>>r*8&15];return i}hex(e){for(let t=0;t<e.length;t++)e[t]=this.rhex(e[t]);return e.join("")}md5(e){return this.hex(this.md51(e))}add32(e,t){return this.ieCompatibility?this.add32Compat(e,t):this.add32Std(e,t)}add32Std(e,t){return e+t&4294967295}add32Compat(e,t){const i=(e&65535)+(t&65535);return(e>>16)+(t>>16)+(i>>16)<<16|i&65535}},LICENSE_TYPES={"01":"GRID","02":"CHARTS","0102":"BOTH"},LICENSING_HELP_URL="https://www.ag-grid.com/licensing/",_LicenseManager=class ee{constructor(t){this.watermarkMessage=void 0,this.totalMessageLength=124,this.document=t,this.md5=new MD5,this.md5.init()}validateLicense(){const t=this.getLicenseDetails(ee.licenseKey),i=`AG Grid ${t.currentLicenseType==="BOTH"?"and AG Charts ":""}Enterprise`,r=t.suppliedLicenseType===void 0?"":`AG ${t.suppliedLicenseType==="BOTH"?"Grid and AG Charts":t.suppliedLicenseType==="GRID"?"Grid":"Charts"} Enterprise`;if(t.missing)(!this.isWebsiteUrl()||this.isForceWatermark())&&this.outputMissingLicenseKey(i);else if(t.expired){const n=ee.getGridReleaseDate(),o=ee.formatDate(n);this.outputExpiredKey(t.expiry,o,i,r)}else t.valid?t.isTrial&&t.trialExpired&&this.outputExpiredTrialKey(t.expiry,i,r):this.outputInvalidLicenseKey(!!t.incorrectLicenseType,i,r)}static extractExpiry(t){const i=t.substring(t.lastIndexOf("_")+1,t.length);return new Date(parseInt(ee.decode(i),10))}static extractLicenseComponents(t){let i=t.replace(/[\u200B-\u200D\uFEFF]/g,"");if(i=i.replace(/\r?\n|\r/g,""),t.length<=32)return{md5:null,license:t,version:null,isTrial:null};const r=i.length-32,n=i.substring(r),o=i.substring(0,r),[a,l,c]=ee.extractBracketedInformation(i);return{md5:n,license:o,version:a,isTrial:l,type:c}}getLicenseDetails(t){const i=ee.chartsLicenseManager?"BOTH":"GRID";if(!t?.length)return{licenseKey:t,valid:!1,missing:!0,currentLicenseType:i};const r=ee.getGridReleaseDate(),{md5:n,license:o,version:a,isTrial:l,type:c}=ee.extractLicenseComponents(t);let u=n===this.md5.md5(o)&&!t.includes("For_Trialing_ag-Grid_Only"),d,h,p=null,g=!1,f;function m(){d=p<new Date,h=void 0}if(u&&(p=ee.extractExpiry(o),u=!isNaN(p.getTime()),u))switch(h=r>p,a){case"legacy":case"2":{l&&m();break}case"3":c?.length?(f=c,c!==LICENSE_TYPES["01"]&&c!==LICENSE_TYPES["0102"]||i==="BOTH"&&f!=="BOTH"?(u=!1,g=!0):l&&m()):u=!1}return u?{licenseKey:t,valid:u,expiry:ee.formatDate(p),expired:h,version:a,isTrial:l,trialExpired:d,incorrectLicenseType:g,currentLicenseType:i,suppliedLicenseType:f}:{licenseKey:t,valid:u,incorrectLicenseType:g,currentLicenseType:i,suppliedLicenseType:f}}isDisplayWatermark(){return this.isForceWatermark()||!this.isLocalhost()&&!this.isWebsiteUrl()&&!!this.watermarkMessage?.length}getWatermarkMessage(){return this.watermarkMessage||""}getHostname(){const i=(this.document.defaultView||window).location,{hostname:r=""}=i;return r}isForceWatermark(){const i=(this.document.defaultView||window).location,{pathname:r}=i;return r?r.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(t){const i=["January","February","March","April","May","June","July","August","September","October","November","December"],r=t.getDate(),n=t.getMonth(),o=t.getFullYear();return r+" "+i[n]+" "+o}static getGridReleaseDate(){return new Date(parseInt(ee.decode(ee.RELEASE_INFORMATION),10))}static decode(t){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let r="",n,o,a,l,c,u,d,h=0;const p=t.replace(/[^A-Za-z0-9+/=]/g,"");for(;h<p.length;)l=i.indexOf(p.charAt(h++)),c=i.indexOf(p.charAt(h++)),u=i.indexOf(p.charAt(h++)),d=i.indexOf(p.charAt(h++)),n=l<<2|c>>4,o=(c&15)<<4|u>>2,a=(u&3)<<6|d,r=r+String.fromCharCode(n),u!=64&&(r=r+String.fromCharCode(o)),d!=64&&(r=r+String.fromCharCode(a));return r=ee.utf8_decode(r),r}static utf8_decode(t){t=t.replace(/rn/g,"n");let i="";for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);n<128?i+=String.fromCharCode(n):n>127&&n<2048?(i+=String.fromCharCode(n>>6|192),i+=String.fromCharCode(n&63|128)):(i+=String.fromCharCode(n>>12|224),i+=String.fromCharCode(n>>6&63|128),i+=String.fromCharCode(n&63|128))}return i}static setChartsLicenseManager(t){this.chartsLicenseManager=t,this.chartsLicenseManager?.setLicenseKey(this.licenseKey,!0)}static setLicenseKey(t){(0,import_ag_stack._exists)(this.licenseKey)&&this.licenseKey!==t&&(0,import_ag_grid_community._logPreInitWarn)(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=t,this.chartsLicenseManager?.setLicenseKey(t,!0)}static extractBracketedInformation(t){if(!t.includes("["))return["legacy",!1,void 0];const i=t.match(/\[(.*?)\]/g).map(l=>l.replace("[","").replace("]",""));if(!i||i.length===0)return["legacy",!1,void 0];const r=i.filter(l=>l==="TRIAL").length===1,n=i.filter(l=>l.indexOf("v")===0)[0],o=n?n.replace("v",""):"legacy",a=LICENSE_TYPES[i.filter(l=>LICENSE_TYPES[l])[0]];return[o,r,a]}centerPadAndOutput(t){const i=this.totalMessageLength-t.length;console.error(t.padStart(i/2+t.length,"*").padEnd(this.totalMessageLength,"*"))}padAndOutput(t,i="*",r=""){console.error(t.padEnd(this.totalMessageLength-r.length,i)+r)}outputInvalidLicenseKey(t,i,r){t?(this.centerPadAndOutput(""),this.centerPadAndOutput(` ${i} License `),this.centerPadAndOutput(" Incompatible License Key "),this.padAndOutput(`* Your license key is for ${r} only and does not cover you for ${i}.`," ","*"),this.padAndOutput(`* To troubleshoot your license key visit ${LICENSING_HELP_URL}.`," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput("")):(this.centerPadAndOutput(""),this.centerPadAndOutput(` ${i} License `),this.centerPadAndOutput(" Invalid License Key "),this.padAndOutput("* Your license key is not valid."," ","*"),this.padAndOutput(`* To troubleshoot your license key visit ${LICENSING_HELP_URL}.`," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput("")),this.watermarkMessage="Invalid License"}outputExpiredTrialKey(t,i,r){this.centerPadAndOutput(""),this.centerPadAndOutput(` ${i} License `),this.centerPadAndOutput(" Trial Period Expired. "),this.padAndOutput(`* Your trial only license for ${r} expired on ${t}.`," ","*"),this.padAndOutput("* Please email info@ag-grid.com to purchase a license."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput(""),this.watermarkMessage="Trial Period Expired"}outputMissingLicenseKey(t){this.centerPadAndOutput(""),this.centerPadAndOutput(` ${t} License `),this.centerPadAndOutput(" License Key Not Found "),this.padAndOutput(`* All ${t} features are unlocked for trial.`," ","*"),this.padAndOutput("* If you want to hide the watermark please email info@ag-grid.com for a trial license key."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput(""),this.watermarkMessage="For Trial Use Only"}outputExpiredKey(t,i,r,n){this.centerPadAndOutput(""),this.centerPadAndOutput(` ${r} License `),this.centerPadAndOutput(" Incompatible Software Version "),this.padAndOutput(`* Your license key works with versions${n==""?"":` of ${n}`} released before ${t}.`," ","*"),this.padAndOutput(`* The version you are trying to use was released on ${i}.`," ","*"),this.padAndOutput("* Please contact info@ag-grid.com to renew your license key."," ","*"),this.centerPadAndOutput(""),this.centerPadAndOutput(""),this.watermarkMessage="License Expired"}};_LicenseManager.RELEASE_INFORMATION="MTc4OTU0NDk3Mzc5MA==";var LicenseManager=_LicenseManager,import_ag_stack2=require("ag-stack"),import_ag_grid_community2=require("ag-grid-community"),watermark_default='.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}',WatermarkElement={tag:"div",cls:"ag-watermark",children:[{tag:"div",ref:"eLicenseTextRef",cls:"ag-watermark-text"}]},AgWatermark=class extends import_ag_grid_community2.Component{constructor(){super(WatermarkElement),this.eLicenseTextRef=import_ag_stack2.RefPlaceholder,this.registerCSS(watermark_default)}wireBeans(e){this.licenseManager=e.licenseManager}postConstruct(){const e=this.shouldDisplayWatermark();this.setDisplayed(e),e&&(this.eLicenseTextRef.textContent=this.licenseManager.getWatermarkMessage(),window.setTimeout(()=>this.addCss("ag-opacity-zero"),0),window.setTimeout(()=>this.setDisplayed(!1),5e3))}shouldDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}},AgWatermarkSelector={selector:"AG-WATERMARK",component:AgWatermark},GridLicenseManager=class extends import_ag_grid_community3.BeanStub{constructor(){super(...arguments),this.beanName="licenseManager"}postConstruct(){this.validateLicense()}validateLicense(){const e=this.beans;if(e.studio)this.licenseManager={isDisplayWatermark:()=>!1,getWatermarkMessage:()=>""};else{const t=new LicenseManager((0,import_ag_stack3._getDocument)(e));this.licenseManager=t,t.validateLicense()}}static getLicenseDetails(e){return new LicenseManager(null).getLicenseDetails(e)}getWatermarkSelector(){return AgWatermarkSelector}isDisplayWatermark(){return this.licenseManager.isDisplayWatermark()}getWatermarkMessage(){return this.licenseManager.getWatermarkMessage()}static setLicenseKey(e){LicenseManager.setLicenseKey(e)}static setChartsLicenseManager(e){LicenseManager.setChartsLicenseManager(e)}},import_ag_stack13=require("ag-stack"),import_ag_grid_community7=require("ag-grid-community"),import_ag_stack5=require("ag-stack"),import_ag_grid_community4=require("ag-grid-community"),import_ag_stack4=require("ag-stack"),INCH_TO_EMU=9525,numberFormatMap={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},LINE_SEPARATOR=`\r
`;function returnAttributeIfPopulated(e,t,i){if(!t&&t!==""&&t!==0)return"";let r=t;return typeof t=="boolean"&&i&&(r=i(t)),` ${e}="${r}"`}function createXmlHeader(e={}){const r=["version"];return e.version||(e.version="1.0"),e.encoding&&r.push("encoding"),e.standalone&&r.push("standalone"),`<?xml ${r.map(o=>`${o}="${e[o]}"`).join(" ")} ?>`}function createXml(e,t){let i="";if(e.properties&&(e.properties.prefixedAttributes&&e.properties.prefixedAttributes.forEach(n=>{for(const o of Object.keys(n.map))i+=returnAttributeIfPopulated(n.prefix+o,n.map[o],t)}),e.properties.rawMap))for(const n of Object.keys(e.properties.rawMap))i+=returnAttributeIfPopulated(n,e.properties.rawMap[n],t);let r="<"+e.name+i;if(!e.children&&e.textNode==null)return r+"/>"+LINE_SEPARATOR;if(e.textNode!=null)return r+">"+e.textNode+"</"+e.name+">"+LINE_SEPARATOR;if(r+=">"+LINE_SEPARATOR,e.children)for(const n of e.children)r+=createXml(n,t);return r+"</"+e.name+">"+LINE_SEPARATOR}var pointsToPixel=e=>Math.round(e*96/72),pixelsToEMU=e=>Math.ceil(e*INCH_TO_EMU),getFontFamilyId=e=>{if(e===void 0)return;const i=["Automatic","Roman","Swiss","Modern","Script","Decorative"].indexOf(e||"Automatic");return Math.max(i,0)},getHeightFromProperty=(e,t)=>{if(!t)return;let i;return typeof t=="number"?i=t:i=t({rowIndex:e}),i},setExcelImageTotalWidth=(e,t)=>{const{colSpan:i,column:r}=e.position;if(e.width)if(i){const n=t.slice(r-1,r+i-1);let o=0;for(let a=0;a<n.length;a++){const l=n[a].getActualWidth();if(e.width<o+l){e.position.colSpan=a+1,e.totalWidth=e.width,e.width=e.totalWidth-o;break}o+=l}}else e.totalWidth=e.width},setExcelImageTotalHeight=(e,t)=>{const{rowSpan:i,row:r}=e.position;if(e.height)if(i){let n=0,o=0;for(let a=r;a<r+i;a++){const l=pointsToPixel(getHeightFromProperty(a,t)||20);if(e.height<n+l){e.position.rowSpan=o+1,e.totalHeight=e.height,e.height=e.totalHeight-n;break}n+=l,o++}}else e.totalHeight=e.height},createXmlPart=(e,t)=>{const i=createXmlHeader({encoding:"UTF-8",standalone:"yes"}),r=createXml(e);return t?r:`${i}${r}`},getExcelColumnName=e=>{const r=String.fromCharCode,n=Math.floor(e/26),o=e%26;return!n||e===26?r(65+e-1):o?n<26?r(65+n-1)+r(65+o-1):getExcelColumnName(n)+r(65+o-1):getExcelColumnName(n-1)+"Z"},sanitizeTableName=e=>e.replaceAll(`
`,"_x000a_"),replaceInvisibleCharacters=e=>{if(e==null)return null;let t="";for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);if(r>=0&&r<=31&&r!==10){const a=`_x${r.toString(16).toUpperCase().padStart(4,"0")}_`;t+=a}else t+=e[i]}return t},buildSharedString=e=>{const t=[];for(const i of e.keys()){const r=i.toString(),n={name:"t",textNode:(0,import_ag_stack4._escapeString)(replaceInvisibleCharacters(r))};r.trim().length!==r.length&&(n.properties={rawMap:{"xml:space":"preserve"}}),t.push({name:"si",children:[n]})}return t},SPANNING_HEADER_STYLE_ID="_agSpanningHeader",ExcelSerializingSession=class extends import_ag_grid_community4.BaseGridSerializingSession{constructor(e){super(e),this.useGridHeaderLayout=!0,this.mixedStyles={},this.mixedStyleCounter=0,this.rows=[],this.verticallySpannedHeaderStyles=new Map,this.frozenRowCount=0,this.emittedHeaderRowCount=0,this.spanningHeaderStyleRegistered=!1,this.skipFrozenRows=!1,this.frozenColumnCount=0,this.skipFrozenColumns=!1,this.formulaSvc=e.formulaSvc,this.notesSvc=e.notesSvc,this.config=Object.assign({},e),this.workbook=e.workbook,this.stylesByIds={};for(const r of this.config.baseExcelStyles)this.stylesByIds[r.id]=r;const t={id:"_quotePrefix",quotePrefix:1};this.stylesByIds[t.id]=t;const i={id:SPANNING_HEADER_STYLE_ID,alignment:{vertical:"Center"}};this.stylesByIds[i.id]=i,this.excelStyles=[...this.config.baseExcelStyles,t]}addCustomContent(e){for(const t of e){const i=this.rows.length+1;let r;!this.config.suppressRowOutline&&t.outlineLevel!=null&&(r=t.outlineLevel);const n={height:getHeightFromProperty(i,t.height||this.config.rowHeight),cells:(t.cells||[]).map((o,a)=>{const l=this.addImage(i,this.columnsToExport[a],o.data?.value);let c=null;o.styleId&&(c=typeof o.styleId=="string"?[o.styleId]:o.styleId);const u=this.getStyleId(c);if(l)return this.createCell(u,this.getDataTypeForValue(l.value),l.value==null?"":l.value,void 0,o.note);const d=o.data?.value??"",h=this.getDataTypeForValue(d);return o.mergeAcross?this.createMergedCell(u,h,d,o.mergeAcross,o.note):this.createCell(u,h,d,void 0,o.note)}),outlineLevel:r};t.collapsed!=null&&(n.collapsed=t.collapsed),t.hidden!=null&&(n.hidden=t.hidden),this.rows.push(n)}}isSpanColumnHeader(){const{exportAsExcelTable:e,pivotModeActive:t}=this.config;return!e||!!t}onNewHeaderGroupingRow(){return this.createHeaderRow()}onNewHeaderRow(){return this.createHeaderRow()}createHeaderRow(){const e=[],{freezeRows:t,headerRowHeight:i}=this.config;return this.emittedHeaderRowCount+=1,this.rows.push({cells:e,height:getHeightFromProperty(this.rows.length+1,i)}),t&&this.frozenRowCount++,{onCell:r=>{const{columnSpan:n,rowSpan:o}=r;if(r.type==="covered"){const u=this.verticallySpannedHeaderStyles.get(r.columnIndex);e.push({styleId:u?.styleId,data:{type:"empty",value:null}}),u&&(u.remainingRows-=1,u.remainingRows||this.verticallySpannedHeaderStyles.delete(r.columnIndex));return}if(r.type==="column"){const u=r.column,d=this.extractHeaderValue(u),h=this.config.styleLinker({rowType:"HEADER",rowIndex:this.rows.length,value:d,column:u});o>1&&this.registerSpanningHeaderStyle();const p=o>1?[SPANNING_HEADER_STYLE_ID,...h]:h,g=this.getStyleId(p)??void 0;e.push({...this.createCell(g,this.getDataTypeForValue("string"),d),mergeDown:o>1?o-1:void 0}),o>1&&this.verticallySpannedHeaderStyles.set(r.columnIndex,{styleId:g,remainingRows:o-1});return}const a=r.column,l=a?this.extractGroupHeaderValue(a):"",c=this.config.styleLinker({rowType:"HEADER_GROUPING",rowIndex:1,value:`grouping-${l}`,columnGroup:a});e.push({...this.createMergedCell(this.getStyleId(c),this.getDataTypeForValue("string"),l,n-1),collapsibleRanges:r.collapsibleGroupRanges})}}}onNewBodyRow(e){const{freezeRows:t,rowHeight:i}=this.config;this.skipFrozenRows||(t==="headersAndPinnedRows"&&e?.rowPinned==="top"?this.frozenRowCount++:typeof t=="function"?t((0,import_ag_grid_community4._addGridCommonParams)(this.gos,{node:e}))?this.frozenRowCount++:this.skipFrozenRows=!0:this.skipFrozenRows=!0);const r=this.onNewRow(this.onNewBodyColumn,i);return e&&this.addRowOutlineIfNecessary(e),r}prepare(e){super.prepare(e),this.emittedHeaderRowCount=0,this.columnsToExport=[...e],this.cols=e.map((t,i)=>this.convertColumnToExcel(t,i))}registerSpanningHeaderStyle(){this.spanningHeaderStyleRegistered||(this.excelStyles.push(this.stylesByIds[SPANNING_HEADER_STYLE_ID]),this.spanningHeaderStyleRegistered=!0)}parse(){this.config.headerRowCount=this.emittedHeaderRowCount;const e=this.rows.reduce((i,r)=>Math.max(i,r.cells.length),0);for(;this.cols.length<e;)this.cols.push(this.convertColumnToExcel(null,this.cols.length+1));const t=this.createWorksheet();return this.addWorksheetToWorkbook(t)}createWorksheet(){const{sheetName:e}=this.config;let t;if(e!=null){const i=typeof e=="function"?e((0,import_ag_grid_community4._addGridCommonParams)(this.gos,{})):e;t=String(i).substring(0,31)}else t="ag-grid";return{name:t,table:{columns:this.cols,rows:this.rows}}}addRowOutlineIfNecessary(e){const{gos:t,suppressRowOutline:i,rowGroupExpandState:r="expanded"}=this.config;if(t.get("groupHideOpenParents")||i||e.level==null)return;const o=e.footer&&e.level!==-1?1:0,a=(0,import_ag_stack5._last)(this.rows);if(a.outlineLevel=Math.min(this.getExportedLevel(e)+o,7),r==="expanded")return;const l=r==="collapsed";if(e.isExpandable()){const c=!l&&e.expanded;a.collapsed=!c}a.hidden=!!e.parent&&e.parent.level!==-1&&(l||this.isAnyParentCollapsed(e.parent))}getExportedLevel(e){const t=this.gos;let i=0,r=e.parent;for(;r&&r.level!==-1;)(0,import_ag_grid_community4._isHiddenSingleChildGroup)(t,r)||i++,r=r.parent;return i}isAnyParentCollapsed(e){for(;e&&e.level!==-1;){if(!e.expanded)return!0;e=e.parent}return!1}convertColumnToExcel(e,t){const i=this.config.columnWidth,n=(e?this.extractHeaderValue(e):void 0)??"",o=e?e.isFilterAllowed():!1;return i?typeof i=="number"?{width:i,displayName:n,filterAllowed:o}:{width:i({column:e,index:t}),displayName:n,filterAllowed:o}:e?{width:Math.max(e.getActualWidth(),75),displayName:n,filterAllowed:o}:{displayName:n,filterAllowed:o}}onNewBodyColumn(e,t){let i=0;const{freezeColumns:r,rightToLeft:n}=this.config;return(o,a,l)=>{if(i>0){i-=1;return}if(!this.skipFrozenColumns){const y=o.getPinned();r==="pinned"&&y&&(y===!0||y==="left")!==n?this.frozenColumnCount++:typeof r=="function"&&r((0,import_ag_grid_community4._addGridCommonParams)(this.gos,{column:o}))?this.frozenColumnCount++:this.skipFrozenColumns=!0}const{value:c,valueFormatted:u}=this.extractRowCellValue({column:o,node:l,currentColumnIndex:a,accumulatedRowIndex:e,type:"excel",useRawFormula:!0}),d=c,h=typeof d=="bigint"?d.toString():d,p=this.config.styleLinker({rowType:"BODY",rowIndex:e,value:d,column:o,node:l}),g=this.getStyleId(p),f=o.getColSpan(l),m=this.addImage(e,o,h),v=this.resolveBodyCellNote({accumulatedRowIndex:e,column:o,node:l}),C=!m&&this.transformValues&&o.showValuesAs!=null&&(!l.group||!this.valueSvc.displayIgnoresAggData(l));if(m)t.push(this.createCell(g,this.getDataTypeForValue(m.value),m.value==null?"":m.value,void 0,v));else if(f>1)i=f-1,t.push(this.createMergedCell(g,C?"s":this.getDataTypeForValue(d),C?u??h:h,f-1,v));else{const y=!C&&o.allowFormula&&this.formulaSvc?.isFormula(h),S=C?"s":this.getDataTypeForValue(d);let x=h;y?x=this.formulaSvc?.updateFormulaByOffset({value:h,rowDelta:e-(l.formulaRowIndex+1),useRefFormat:!1}):C&&(x=u??h);const b=this.createCell(g,y?"f":S,x,u,v);t.push(b)}}}onNewRow(e,t){const i=[];return this.rows.push({cells:i,height:getHeightFromProperty(this.rows.length+1,t)}),{onColumn:e.bind(this,this.rows.length,i)()}}addWorksheetToWorkbook(e){const{excelStyles:t,config:i}=this;return this.mapSharedStrings(e),this.frozenColumnCount&&(i.frozenColumnCount=this.frozenColumnCount),this.frozenRowCount&&(i.frozenRowCount=this.frozenRowCount),this.workbook.addWorksheet(t,e,i)}mapSharedStrings(e){for(const t of e.table.rows)for(const i of t.cells){const r=i.data;if(r?.type!=="s")continue;const n=r.value;n==null||n===""||(r.value=this.workbook.getStringPosition(String(n)).toString())}}getDataTypeForValue(e){if(e===void 0)return"empty";let t="s";try{this.isNumerical(e)&&(t="n")}catch{}return t}getTypeFromStyle(e,t){if(this.isFormula(t))return"f";if(e?.dataType)switch(e.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:this.log.warn(162,{id:e.id,dataType:e.dataType})}return null}addImage(e,t,i){if(!this.config.addImageToCell)return;const r=this.config.addImageToCell(e,t,i);if(r)return this.workbook.addBodyImageToMap(r.image,e,t,this.columnsToExport,this.config.rowHeight),r}createCell(e,t,i,r,n){const o=this.getStyleById(e);!o?.dataType&&t==="s"&&r!=null&&(i=r);const a=this.getTypeFromStyle(o,i)||t,{type:l,value:c,escaped:u}=this.getCellValue(a,i),d=[];return o&&d.push(e),u&&d.push("_quotePrefix"),e=this.getStyleId(d)||void 0,{styleId:e,data:{type:l,value:c},note:n?.text?n:void 0}}createMergedCell(e,t,i,r,n){const o=this.getStyleById(e),a=i??"",l=this.getTypeFromStyle(o,a)||t,{type:c,value:u}=this.getCellValue(l,a);return{styleId:o?e:void 0,data:{type:c,value:u},mergeAcross:r,note:n?.text?n:void 0}}resolveBodyCellNote(e){const{processNoteCallback:t,suppressGridNotesExport:i}=this.config,r=!i&&!!this.notesSvc?.hasDataSource(),o=!!this.notesSvc&&(r||!!t)?this.notesSvc?.getNote({rowNode:e.node,column:e.column,location:"cell"}):void 0;let a;if(r&&o?.text!=null&&o.text!==""&&(a={text:o.text,author:o.author}),!t)return a;const l=t(this.getCellNoteExportParams(e,o,a));if(l===void 0)return a;if(!(l?.text==null||l.text===""))return{text:l.text,author:l.author}}getCellNoteExportParams(e,t,i){const{column:r,node:n,accumulatedRowIndex:o}=e,a=this.valueSvc,l=this.valueFrom,c=a.getDisplayValue(r,n,l,this.transformValues);return(0,import_ag_grid_community4._addGridCommonParams)(this.gos,{accumulatedRowIndex:o,column:r,node:n,value:c,type:"excel",parseValue:u=>a.parseValue(r,n,u,a.getValue(r,n,l)),formatValue:u=>(this.transformValues?a.formatTransformedValue(r,n,u):void 0)??a.formatValue(r,n,u)??u,gridNote:t,excelNote:i})}getCellValue(e,t){let i=!1;if(t==null||t===""||e==="empty")return{type:"empty",value:null,escaped:!1};if(e==="s"){if(t=String(t),t[0]==="'"&&(i=!0,t=t.slice(1),t===""))return{type:"empty",value:null,escaped:!1}}else if(e==="f")t=this.addXlfnPrefix(t).slice(1);else if(e==="n"){const r=Number(t);if(isNaN(r))return{type:"empty",value:null,escaped:!1};t=r.toString()}return{type:e,value:t,escaped:i}}addXlfnPrefix(e){if(!e)return e;const t=/(^|[^A-Z0-9._])(CONCAT)(\s*\()/gi;return e.replace(t,(i,r,n,o)=>`${r}_xlfn.${n}${o}`)}getStyleId(e){if(!e?.length)return null;const t=e.filter(r=>this.stylesByIds[r]!=null);if(!t.length)return null;if(t.length===1)return t[0];const i=t.join("-");return this.mixedStyles[i]||this.addNewMixedStyle(t),this.mixedStyles[i].excelID}addNewMixedStyle(e){this.mixedStyleCounter+=1;const t=`mixedStyle${this.mixedStyleCounter}`,i={};for(const n of e){const o=this.stylesByIds[n];o&&(0,import_ag_grid_community4._mergeDeep)(i,o,!0,!0)}i.id=t;const r=e.join("-");this.mixedStyles[r]={excelID:t,key:r,result:i},this.excelStyles.push(i),this.stylesByIds[t]=i}isFormula(e){if(e==null)return!1;const t=String(e);return this.config.autoConvertFormulas&&(0,import_ag_stack5._isExpressionString)(t)}isNumerical(e){return typeof e=="bigint"?!1:isFinite(e)&&e!==""&&!isNaN(parseFloat(e))}getStyleById(e){return e==null?null:this.stylesByIds[e]||null}},import_ag_stack12=require("ag-stack"),import_ag_stack6=require("ag-stack"),defaultRunProperties={name:"rPr",children:[{name:"sz",properties:{rawMap:{val:"10"}}},{name:"color",properties:{rawMap:{rgb:"FF000000"}}},{name:"rFont",properties:{rawMap:{val:"Tahoma"}}},{name:"family",properties:{rawMap:{val:"2"}}}]},boldRunProperties={name:"rPr",children:[{name:"b"},...defaultRunProperties.children]},buildTextElement=(e,t)=>({name:"t",properties:t?{rawMap:{"xml:space":"preserve"}}:void 0,textNode:(0,import_ag_stack6._escapeString)(replaceInvisibleCharacters(e)??"")}),buildRichTextRun=(e,t,i)=>({name:"r",children:[t?boldRunProperties:defaultRunProperties,buildTextElement(e,i)]}),buildNoteTextChildren=(e,t,i)=>!t||!i?[buildRichTextRun(e,!1,e.includes(`
`)||e.trim().length!==e.length)]:[buildRichTextRun(`${t}:
`,!0,!0),buildRichTextRun(e,!1,e.includes(`
`)||e.trim().length!==e.length)],commentsFactory={getTemplate(e){const t=new Map,i=[],r=e.comments.map(n=>{const o=n.author||e.defaultAuthor;let a=t.get(o);return a==null&&(a=i.length,i.push(o),t.set(o,a)),{name:"comment",properties:{rawMap:{ref:n.ref,authorId:a}},children:[{name:"text",children:buildNoteTextChildren(n.text,o,e.prependAuthor)}]}});return{name:"comments",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main"}},children:[{name:"authors",children:i.map(n=>({name:"author",textNode:(0,import_ag_stack6._escapeString)(n)}))},{name:"commentList",children:r}]}}},comments_default=commentsFactory,contentTypeFactory={getTemplate(e){const{name:t,ContentType:i,Extension:r,PartName:n}=e;return{name:t,properties:{rawMap:{Extension:r,PartName:n,ContentType:i}}}}},contentType_default=contentTypeFactory,_normaliseImageExtension=e=>e==="jpg"?"jpeg":e,contentTypesFactory={getTemplate({sheetLen:e,hasCustomProperties:t}){const i=new Array(e).fill(void 0).map((g,f)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",PartName:`/xl/worksheets/sheet${f+1}.xml`})),r=XLSX_WORKSHEET_IMAGES.size,n=XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.size,o=XLSX_WORKSHEET_COMMENTS.size,a={};XLSX_WORKBOOK_IMAGE_IDS.forEach(g=>{a[_normaliseImageExtension(g.type)]=!0});const l=new Array(r).fill(void 0).map((g,f)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.drawing+xml",PartName:`/xl/drawings/drawing${f+1}.xml`})),c=[],u=new Array(o).fill(void 0).map((g,f)=>({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",PartName:`/xl/comments${f+1}.xml`}));XLSX_WORKSHEET_DATA_TABLES.forEach(({name:g})=>{c.push({name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",PartName:`/xl/tables/${g}.xml`})});const d=t?[{name:"Override",ContentType:"application/vnd.openxmlformats-officedocument.custom-properties+xml",PartName:"/docProps/custom.xml"}]:[],h=Object.keys(a).map(g=>({name:"Default",ContentType:`image/${g}`,Extension:g}));(n||o)&&h.push({name:"Default",Extension:"vml",ContentType:"application/vnd.openxmlformats-officedocument.vmlDrawing"});const p=[...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"},...i,{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"},...l,...u,...c,{name:"Override",ContentType:"application/vnd.openxmlformats-package.core-properties+xml",PartName:"/docProps/core.xml"},...d].map(g=>contentType_default.getTemplate(g));return{name:"Types",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"}},children:p}}},contentTypes_default=contentTypesFactory,coreFactory={getTemplate(e){const i=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:e},{name:"dc:title",textNode:"Workbook"},{name:"dcterms:created",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:i},{name:"dcterms:modified",properties:{rawMap:{"xsi:type":"dcterms:W3CDTF"}},textNode:i}]}}},core_default=coreFactory,import_ag_stack7=require("ag-stack"),DEFAULT_FMTID="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",buildPropertyElements=e=>Object.keys(e).filter(i=>i&&e[i]!=null).map((i,r)=>({name:"property",properties:{rawMap:{fmtid:DEFAULT_FMTID,pid:(r+2).toString(),name:(0,import_ag_stack7._escapeString)(i)??""}},children:[{name:"vt:lpwstr",textNode:(0,import_ag_stack7._escapeString)(replaceInvisibleCharacters(String(e[i])))??""}]})),customPropertiesFactory={getTemplate(e){return{name:"Properties",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}},children:buildPropertyElements(e)}}},customProperties_default=customPropertiesFactory,import_ag_grid_community5=require("ag-grid-community"),getAnchor=(e,t)=>({name:`xdr:${e}`,children:[{name:"xdr:col",textNode:t.col.toString()},{name:"xdr:colOff",textNode:t.offsetX.toString()},{name:"xdr:row",textNode:t.row.toString()},{name:"xdr:rowOff",textNode:t.offsetY.toString()}]}),getExt=e=>{const t=[{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(e.recolor?.toLowerCase()){case"grayscale":case"sepia":case"washout":t.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:t}},getNvPicPr=(e,t)=>({name:"xdr:nvPicPr",children:[{name:"xdr:cNvPr",properties:{rawMap:{id:t,name:e.id,descr:e.altText!=null?e.altText:void 0}},children:[getExt(e)]},{name:"xdr:cNvPicPr",properties:{rawMap:{preferRelativeResize:"0"}},children:[{name:"a:picLocks"}]}]}),getColorDetails=e=>{if(!e.saturation&&!e.tint)return;const t=[];return e.saturation&&t.push({name:"a:satMod",properties:{rawMap:{val:e.saturation*1e3}}}),e.tint&&t.push({name:"a:tint",properties:{rawMap:{val:e.tint*1e3}}}),t},getDuoTone=(e,t)=>({name:"a:duotone",children:[{name:"a:prstClr",properties:{rawMap:{val:e.color}},children:getColorDetails(e)},{name:"a:srgbClr",properties:{rawMap:{val:t.color}},children:getColorDetails(t)}]}),getBlipFill=(e,t)=>{let i;if(e.transparency){const r=(0,import_ag_grid_community5._clamp)(e.transparency,0,100);i=[{name:"a:alphaModFix",properties:{rawMap:{amt:1e5-Math.round(r*1e3)}}}]}if(e.recolor)switch(i||(i=[]),e.recolor.toLocaleLowerCase()){case"grayscale":i.push({name:"a:grayscl"});break;case"sepia":i.push(getDuoTone({color:"black"},{color:"D9C3A5",tint:50,saturation:180}));break;case"washout":i.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${t}`,"xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships"}},children:i},{name:"a:stretch",children:[{name:"a:fillRect"}]}]}},getSpPr=(e,t)=>{const i={name:"a:xfrm",children:[{name:"a:off",properties:{rawMap:{x:0,y:0}}},{name:"a:ext",properties:{rawMap:{cx:t.width,cy:t.height}}}]};if(e.rotation){const o=e.rotation;i.properties={rawMap:{rot:(0,import_ag_grid_community5._clamp)(o,0,360)*6e4}}}return{name:"xdr:spPr",children:[i,{name:"a:prstGeom",properties:{rawMap:{prst:"rect"}},children:[{name:"a:avLst"}]}]}},getImageBoxSize=e=>{e.fitCell=!!e.fitCell||!e.width||!e.height;const{position:t={},fitCell:i,width:r=0,height:n=0,totalHeight:o,totalWidth:a}=e,{offsetX:l=0,offsetY:c=0,row:u=1,rowSpan:d=1,column:h=1,colSpan:p=1}=t;return{from:{row:u-1,col:h-1,offsetX:pixelsToEMU(l),offsetY:pixelsToEMU(c)},to:{row:u-1+(i?1:d-1),col:h-1+(i?1:p-1),offsetX:pixelsToEMU(r+l),offsetY:pixelsToEMU(n+c)},height:pixelsToEMU(o||n),width:pixelsToEMU(a||r)}},getPicture=(e,t,i,r)=>({name:"xdr:pic",children:[getNvPicPr(e,t+1),getBlipFill(e,i+1),getSpPr(e,r)]}),drawingFactory={getTemplate(e){const{sheetIndex:t}=e,i=XLSX_WORKSHEET_IMAGES.get(t),r=XLSX_WORKSHEET_IMAGE_IDS.get(t),n=i.map((o,a)=>{const l=getImageBoxSize(o);return{name:"xdr:twoCellAnchor",properties:{rawMap:{editAs:"absolute"}},children:[getAnchor("from",l.from),getAnchor("to",l.to),getPicture(o,a,r.get(o.id).index,l),{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:n}}},drawing_default=drawingFactory,parseCellRef=e=>{let t=0,i=0;for(;i<e.length;){const n=e.charCodeAt(i);if(n<65||n>90)break;t=t*26+(n-64),i++}return{row:Number(e.slice(i))-1,column:t-1}},getShapeLayout=()=>({name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]}),getShapeType=()=>({name:"v:shapetype",properties:{prefixedAttributes:[{prefix:"o:",map:{spt:"202"}}],rawMap:{id:"_x0000_t202",coordsize:"21600,21600",path:"m0,0l0,21600,21600,21600,21600,0xe"}},children:[{name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}},{name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect"}}],rawMap:{gradientshapeok:"t"}}}]}),getAnchor2=e=>{const{row:t,column:i}=parseCellRef(e.ref);return`${i+1},0,${t+1},0,${i+3},20,${t+5},20`},getClientData=e=>{const{row:t,column:i}=parseCellRef(e.ref);return{name:"x:ClientData",properties:{rawMap:{ObjectType:"Note"}},children:[{name:"x:MoveWithCells"},{name:"x:SizeWithCells"},{name:"x:Anchor",textNode:getAnchor2(e)},{name:"x:AutoFill",textNode:"False"},{name:"x:Row",textNode:String(t)},{name:"x:Column",textNode:String(i)}]}},getShape=(e,t)=>({name:"v:shape",properties:{prefixedAttributes:[{prefix:"o:",map:{insetmode:"auto"}}],rawMap:{id:`_x0000_s${1025+t}`,type:"#_x0000_t202",style:"position:absolute;margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10;visibility:hidden",fillcolor:"#ffffe1",strokecolor:"#000000"}},children:[{name:"v:fill",properties:{rawMap:{color2:"#ffffe1"}}},{name:"v:shadow",properties:{rawMap:{color:"black",obscured:"t"}}},{name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"none"}}]}},{name:"v:textbox",properties:{rawMap:{style:"mso-direction-alt:auto"}},children:[{name:"div",properties:{rawMap:{style:"text-align:left"}}}]},getClientData(e)]}),noteVmlDrawingFactory={getTemplate(e){const t=XLSX_WORKSHEET_COMMENTS.get(e.sheetIndex)||[];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:[getShapeLayout(),getShapeType(),...t.map((i,r)=>getShape(i,r))]}}},noteVmlDrawing_default=noteVmlDrawingFactory,relationshipFactory={getTemplate(e){const{Id:t,Type:i,Target:r}=e;return{name:"Relationship",properties:{rawMap:{Id:t,Type:i,Target:r}}}}},relationship_default=relationshipFactory,relationshipsFactory={getTemplate(e){const t=e.map(i=>relationship_default.getTemplate(i));return{name:"Relationships",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}},children:t}}},relationships_default=relationshipsFactory,sharedStrings={getTemplate(e){return{name:"sst",properties:{rawMap:{xmlns:"http://schemas.openxmlformats.org/spreadsheetml/2006/main",count:e.size,uniqueCount:e.size}},children:buildSharedString(e)}}},sharedStrings_default=sharedStrings,getWeightName=e=>{switch(e){case 1:return"thin";case 2:return"medium";case 3:return"thick";default:return"hair"}},mappedBorderNames={None:"None",Dot:"Dotted",Dash:"Dashed",Double:"Double",DashDot:"DashDot",DashDotDot:"DashDotDot",SlantDashDot:"SlantDashDot",Continuous:"Continuous"},mediumBorders=["Dashed","DashDot","DashDotDot"],colorMap={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"},horizontalAlignmentMap={Automatic:"general",Left:"left",Center:"center",Right:"right",Fill:"fill",Justify:"justify",CenterAcrossSelection:"centerContinuous",Distributed:"distributed",JustifyDistributed:"justify"},verticalAlignmentMap={Automatic:void 0,Top:"top",Bottom:"bottom",Center:"center",Justify:"justify",Distributed:"distributed",JustifyDistributed:"justify"},convertLegacyPattern=e=>e?colorMap[e]||e:"none",convertLegacyColor=e=>e==null?e:(e.charAt(0)==="#"&&(e=e.substring(1)),e.length===6?"FF"+e:e),convertLegacyBorder=(e,t)=>{if(!e)return"thin";const i=getWeightName(t);if(e==="Continuous")return i;const r=mappedBorderNames[e];return i==="medium"&&mediumBorders.some(n=>n===r)?`medium${r}`:`${r.charAt(0).toLowerCase()}${r.substring(1)}`},convertLegacyHorizontalAlignment=e=>horizontalAlignmentMap[e]||"general",convertLegacyVerticalAlignment=e=>verticalAlignmentMap[e]||void 0,getBorderColor=e=>({name:"color",properties:{rawMap:{rgb:convertLegacyColor(e||"#000000")}}}),borderFactory={getTemplate(e){const{left:t,right:i,top:r,bottom:n,diagonal:o}=e,a=t?[getBorderColor(t.color)]:void 0,l=i?[getBorderColor(i.color)]:void 0,c=r?[getBorderColor(r.color)]:void 0,u=n?[getBorderColor(n.color)]:void 0,d=o?[getBorderColor(o.color)]:void 0;return{name:"border",children:[{name:"left",properties:{rawMap:{style:t?.style}},children:a},{name:"right",properties:{rawMap:{style:i?.style}},children:l},{name:"top",properties:{rawMap:{style:r?.style}},children:c},{name:"bottom",properties:{rawMap:{style:n?.style}},children:u},{name:"diagonal",properties:{rawMap:{style:o?.style}},children:d}]}}},border_default=borderFactory,bordersFactory={getTemplate(e){return{name:"borders",properties:{rawMap:{count:e.length}},children:e.map(t=>border_default.getTemplate(t))}}},borders_default=bordersFactory,getReadingOrderId=e=>{const i=["Context","LeftToRight","RightToLeft"].indexOf(e);return Math.max(i,0)},alignmentFactory={getTemplate(e){const{horizontal:t,indent:i,readingOrder:r,rotate:n,shrinkToFit:o,vertical:a,wrapText:l}=e;return{name:"alignment",properties:{rawMap:{horizontal:t&&convertLegacyHorizontalAlignment(t),indent:i,readingOrder:r&&getReadingOrderId(r),textRotation:n,shrinkToFit:o,vertical:a&&convertLegacyVerticalAlignment(a),wrapText:l}}}}},alignment_default=alignmentFactory,protectionFactory={getTemplate(e){const t=e.protected===!1?0:1;return{name:"protection",properties:{rawMap:{hidden:e.hideFormula===!0?1:0,locked:t}}}}},protection_default=protectionFactory,xfFactory={getTemplate(e){const{alignment:t,borderId:i,fillId:r,fontId:n,numFmtId:o,protection:a,quotePrefix:l,xfId:c}=e,u=[];return t&&u.push(alignment_default.getTemplate(t)),a&&u.push(protection_default.getTemplate(a)),{name:"xf",properties:{rawMap:{applyAlignment:t?1:void 0,applyProtection:a?1:void 0,applyBorder:i?1:void 0,applyFill:r?1:void 0,borderId:i,fillId:r,applyFont:n?1:void 0,fontId:n,applyNumberFormat:o?1:void 0,numFmtId:o,quotePrefix:l?1:void 0,xfId:c}},children:u.length?u:void 0}}},xf_default=xfFactory,cellStylesXfsFactory={getTemplate(e){return{name:"cellStyleXfs",properties:{rawMap:{count:e.length}},children:e.map(t=>xf_default.getTemplate(t))}}},cellStyleXfs_default=cellStylesXfsFactory,borderFactory2={getTemplate(e){const{builtinId:t,name:i,xfId:r}=e;return{name:"cellStyle",properties:{rawMap:{builtinId:t,name:i,xfId:r}}}}},cellStyle_default=borderFactory2,cellStylesFactory={getTemplate(e){return{name:"cellStyles",properties:{rawMap:{count:e.length}},children:e.map(t=>cellStyle_default.getTemplate(t))}}},cellStyles_default=cellStylesFactory,cellXfsFactory={getTemplate(e){return{name:"cellXfs",properties:{rawMap:{count:e.length}},children:e.map(t=>xf_default.getTemplate(t))}}},cellXfs_default=cellXfsFactory,fillFactory={getTemplate(e){const{patternType:t,fgTheme:i,fgTint:r,fgRgb:n,bgRgb:o,bgIndexed:a}=e,l={name:"patternFill",properties:{rawMap:{patternType:t}}};return(i||r||n)&&(l.children=[{name:"fgColor",properties:{rawMap:{theme:i,tint:r,rgb:n}}}]),(a||o)&&(l.children||(l.children=[]),l.children.push({name:"bgColor",properties:{rawMap:{indexed:a,rgb:o}}})),{name:"fill",children:[l]}}},fill_default=fillFactory,fillsFactory={getTemplate(e){return{name:"fills",properties:{rawMap:{count:e.length}},children:e.map(t=>fill_default.getTemplate(t))}}},fills_default=fillsFactory,fontFactory={getTemplate(e){const{size:t,colorTheme:i,color:r="FF000000",fontName:n="Calibri",family:o,scheme:a,italic:l,bold:c,strikeThrough:u,outline:d,shadow:h,underline:p,verticalAlign:g}=e,f=[{name:"sz",properties:{rawMap:{val:t}}},{name:"color",properties:{rawMap:{theme:i,rgb:r}}},{name:"name",properties:{rawMap:{val:n}}}];return o&&f.push({name:"family",properties:{rawMap:{val:o}}}),a&&f.push({name:"scheme",properties:{rawMap:{val:a}}}),l&&f.push({name:"i"}),c&&f.push({name:"b"}),u&&f.push({name:"strike"}),d&&f.push({name:"outline"}),h&&f.push({name:"shadow"}),p&&f.push({name:"u",properties:{rawMap:{val:p}}}),g&&f.push({name:"vertAlign",properties:{rawMap:{val:g}}}),{name:"font",children:f}}},font_default=fontFactory,fontsFactory={getTemplate(e){return{name:"fonts",properties:{rawMap:{count:e.length}},children:e.map(t=>font_default.getTemplate(t))}}},fonts_default=fontsFactory,import_ag_stack8=require("ag-stack");function prepareString(e){const t=e.split(/(\[[^\]]*\])/);for(let i=0;i<t.length;i++){let r=t[i];r.length&&(r.startsWith("[")||(r=r.replace(/\$/g,'"$"')),t[i]=(0,import_ag_stack8._escapeString)(r))}return t.join("")}var numberFormatFactory={getTemplate(e){let{formatCode:t,numFmtId:i}=e;return t.length&&(t=prepareString(t)),{name:"numFmt",properties:{rawMap:{formatCode:t,numFmtId:i}}}}},numberFormat_default=numberFormatFactory,numberFormatsFactory={getTemplate(e){return{name:"numFmts",properties:{rawMap:{count:e.length}},children:e.map(t=>numberFormat_default.getTemplate(t))}}},numberFormats_default=numberFormatsFactory,stylesMap,registeredNumberFmts,registeredFonts,registeredFills,registeredBorders,registeredCellStyleXfs,registeredCellXfs,registeredCellStyles,currentSheet,getStyleName=(e,t)=>(e.includes("mixedStyle")&&t>1&&(e+=`_${t}`),e),resetStylesheetValues=()=>{stylesMap={base:0},registeredNumberFmts=[],registeredFonts=[{fontName:"Calibri",colorTheme:"1",family:"2",scheme:"minor"}],registeredFills=[{patternType:"none"},{patternType:"gray125"}],registeredBorders=[{left:void 0,right:void 0,top:void 0,bottom:void 0,diagonal:void 0}],registeredCellStyleXfs=[{borderId:0,fillId:0,fontId:0,numFmtId:0}],registeredCellXfs=[{borderId:0,fillId:0,fontId:0,numFmtId:0,xfId:0}],registeredCellStyles=[{builtinId:0,name:"Normal",xfId:0}]},registerFill=e=>{const t=convertLegacyPattern(e.pattern),i=convertLegacyColor(e.color),r=convertLegacyColor(e.patternColor);let n=registeredFills.findIndex(o=>{const{patternType:a,fgRgb:l,bgRgb:c}=o;return!(a!=t||l!=i||c!=r)});return n===-1&&(n=registeredFills.length,registeredFills.push({patternType:t,fgRgb:i,bgRgb:r})),n},registerNumberFmt=e=>{if(numberFormatMap[e])return numberFormatMap[e];let t=registeredNumberFmts.findIndex(i=>i.formatCode===e);return t===-1?(t=registeredNumberFmts.length+164,registeredNumberFmts.push({formatCode:e,numFmtId:t})):t=registeredNumberFmts[t].numFmtId,t},registerBorders=e=>{const{borderBottom:t,borderTop:i,borderLeft:r,borderRight:n}=e;let o,a,l,c,u,d,h,p;r&&(l=convertLegacyBorder(r.lineStyle,r.weight),h=convertLegacyColor(r.color)),n&&(c=convertLegacyBorder(n.lineStyle,n.weight),p=convertLegacyColor(n.color)),t&&(o=convertLegacyBorder(t.lineStyle,t.weight),u=convertLegacyColor(t.color)),i&&(a=convertLegacyBorder(i.lineStyle,i.weight),d=convertLegacyColor(i.color));let g=registeredBorders.findIndex(f=>{const{left:m,right:v,top:C,bottom:y}=f;if(!m&&(l||h)||!v&&(c||p)||!C&&(a||d)||!y&&(o||u))return!1;const{style:S,color:x}=m||{},{style:b,color:w}=v||{},{style:P,color:F}=C||{},{style:T,color:R}=y||{};return!(S!=l||x!=h||b!=c||w!=p||P!=a||F!=d||T!=o||R!=u)});return g===-1&&(g=registeredBorders.length,registeredBorders.push({left:{style:l,color:h},right:{style:c,color:p},top:{style:a,color:d},bottom:{style:o,color:u},diagonal:{style:void 0,color:void 0}})),g},registerFont=e=>{const{fontName:t="Calibri",color:i,size:r,bold:n,italic:o,outline:a,shadow:l,strikeThrough:c,underline:u,family:d,verticalAlign:h}=e,p=convertLegacyColor(i),g=getFontFamilyId(d),f=u?u.toLocaleLowerCase():void 0,m=h?h.toLocaleLowerCase():void 0;let v=registeredFonts.findIndex(C=>!(C.fontName!=t||C.color!=p||C.size!=r||C.bold!=n||C.italic!=o||C.outline!=a||C.shadow!=l||C.strikeThrough!=c||C.underline!=f||C.verticalAlign!=m||C.family!=g));return v===-1&&(v=registeredFonts.length,registeredFonts.push({fontName:t,color:p,size:r,bold:n,italic:o,outline:a,shadow:l,strikeThrough:c,underline:f,verticalAlign:m,family:g?.toString()})),v},registerStyle=e=>{const{alignment:t,borders:i,font:r,interior:n,numberFormat:o,protection:a,quotePrefix:l}=e;let{id:c}=e,u=0,d=0,h=0,p=0;c&&(c=getStyleName(c,currentSheet),stylesMap[c]==null&&(n&&(u=registerFill(n)),i&&(d=registerBorders(i)),r&&(h=registerFont(r)),o&&(p=registerNumberFmt(o.format)),stylesMap[c]=registeredCellXfs.length,registeredCellXfs.push({alignment:t,borderId:d||0,fillId:u||0,fontId:h||0,numFmtId:p||0,protection:a,quotePrefix:l,xfId:0})))},stylesheetFactory={getTemplate(e){const t=numberFormats_default.getTemplate(registeredNumberFmts),i=fonts_default.getTemplate(registeredFonts.map(c=>({...c,size:c.size!=null?c.size:e}))),r=fills_default.getTemplate(registeredFills),n=borders_default.getTemplate(registeredBorders),o=cellStyleXfs_default.getTemplate(registeredCellStyleXfs),a=cellXfs_default.getTemplate(registeredCellXfs),l=cellStyles_default.getTemplate(registeredCellStyles);return resetStylesheetValues(),{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:[t,i,r,n,o,a,l,{name:"tableStyles",properties:{rawMap:{count:0,defaultPivotStyle:"PivotStyleLight16",defaultTableStyle:"TableStyleMedium2"}}}]}}},getStyleId=(e,t)=>stylesMap[getStyleName(e,t)]||0,registerStyles=(e,t)=>{currentSheet=t,currentSheet===1&&resetStylesheetValues(),e.forEach(registerStyle)},stylesheet_default=stylesheetFactory,import_ag_stack9=require("ag-stack"),tableFactory={getTemplate(e,t){const{name:i,columns:r,rowRange:n,displayName:o,showRowStripes:a,showColumnStripes:l,showFilterButtons:c,highlightFirstColumn:u,highlightLastColumn:d}=e||{},h=!n||n[0]-n[1]===0;if(!e||!i||!Array.isArray(r)||!r.length||h)return{name:"table"};const p=r.map((y,S)=>({name:"filterColumn",properties:{rawMap:{colId:S.toString(),hiddenButton:c[S]?0:1}}})),g=`A${n[0]}`,f=`${getExcelColumnName(r.length)}${n[1]}`,m=`${g}:${f}`,v=`${t+1}`,C=t?`${o}_${v}`:o;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:C,displayName:C,ref:m,totalsRowShown:0,id:v}},children:[{name:"autoFilter",properties:{rawMap:{ref:m}},children:p},{name:"tableColumns",properties:{rawMap:{count:r.length}},children:r.map((y,S)=>({name:"tableColumn",properties:{rawMap:{id:(S+1).toString(),name:(0,import_ag_stack9._escapeString)(sanitizeTableName(y)),dataCellStyle:"Normal"}}}))},{name:"tableStyleInfo",properties:{rawMap:{name:"TableStyleLight1",showFirstColumn:u?1:0,showLastColumn:d?1:0,showRowStripes:a?1:0,showColumnStripes:l?1:0}}}]}}},table_default=tableFactory,getColorChildren=e=>{const[t,i,r,n]=e;return{name:`a:${t}`,children:[{name:`a:${i}`,properties:{rawMap:{val:r,lastClr:n}}}]}},colorScheme={getTemplate(){return{name:"a:clrScheme",properties:{rawMap:{name:"Office"}},children:[getColorChildren(["dk1","sysClr","windowText","000000"]),getColorChildren(["lt1","sysClr","window","FFFFFF"]),getColorChildren(["dk2","srgbClr","44546A"]),getColorChildren(["lt2","srgbClr","E7E6E6"]),getColorChildren(["accent1","srgbClr","4472C4"]),getColorChildren(["accent2","srgbClr","ED7D31"]),getColorChildren(["accent3","srgbClr","A5A5A5"]),getColorChildren(["accent4","srgbClr","FFC000"]),getColorChildren(["accent5","srgbClr","5B9BD5"]),getColorChildren(["accent6","srgbClr","70AD47"]),getColorChildren(["hlink","srgbClr","0563C1"]),getColorChildren(["folHlink","srgbClr","954F72"])]}}},colorScheme_default=colorScheme,getFont=e=>{const[t,i,r,n]=e;return{name:`a:${t}`,properties:{rawMap:{script:r,typeface:i,panose:n}}}},fontScheme={getTemplate(){return{name:"a:fontScheme",properties:{rawMap:{name:"Office"}},children:[{name:"a:majorFont",children:[getFont(["latin","Calibri Light",void 0,"020F0302020204030204"]),getFont(["ea",""]),getFont(["cs",""]),getFont(["font","\u6E38\u30B4\u30B7\u30C3\u30AF Light","Jpan"]),getFont(["font","\uB9D1\uC740 \uACE0\uB515","Hang"]),getFont(["font","\u7B49\u7EBF Light","Hans"]),getFont(["font","\u65B0\u7D30\u660E\u9AD4","Hant"]),getFont(["font","Times New Roman","Arab"]),getFont(["font","Times New Roman","Hebr"]),getFont(["font","Tahoma","Thai"]),getFont(["font","Nyala","Ethi"]),getFont(["font","Vrinda","Beng"]),getFont(["font","Shruti","Gujr"]),getFont(["font","MoolBoran","Khmr"]),getFont(["font","Tunga","Knda"]),getFont(["font","Raavi","Guru"]),getFont(["font","Euphemia","Cans"]),getFont(["font","Plantagenet Cherokee","Cher"]),getFont(["font","Microsoft Yi Baiti","Yiii"]),getFont(["font","Microsoft Himalaya","Tibt"]),getFont(["font","MV Boli","Thaa"]),getFont(["font","Mangal","Deva"]),getFont(["font","Gautami","Telu"]),getFont(["font","Latha","Taml"]),getFont(["font","Estrangelo Edessa","Syrc"]),getFont(["font","Kalinga","Orya"]),getFont(["font","Kartika","Mlym"]),getFont(["font","DokChampa","Laoo"]),getFont(["font","Iskoola Pota","Sinh"]),getFont(["font","Mongolian Baiti","Mong"]),getFont(["font","Times New Roman","Viet"]),getFont(["font","Microsoft Uighur","Uigh"]),getFont(["font","Sylfaen","Geor"]),getFont(["font","Arial","Armn"]),getFont(["font","Leelawadee UI","Bugi"]),getFont(["font","Microsoft JhengHei","Bopo"]),getFont(["font","Javanese Text","Java"]),getFont(["font","Segoe UI","Lisu"]),getFont(["font","Myanmar Text","Mymr"]),getFont(["font","Ebrima","Nkoo"]),getFont(["font","Nirmala UI","Olck"]),getFont(["font","Ebrima","Osma"]),getFont(["font","Phagspa","Phag"]),getFont(["font","Estrangelo Edessa","Syrn"]),getFont(["font","Estrangelo Edessa","Syrj"]),getFont(["font","Estrangelo Edessa","Syre"]),getFont(["font","Nirmala UI","Sora"]),getFont(["font","Microsoft Tai Le","Tale"]),getFont(["font","Microsoft New Tai Lue","Talu"]),getFont(["font","Ebrima","Tfng"])]},{name:"a:minorFont",children:[getFont(["latin","Calibri",void 0,"020F0502020204030204"]),getFont(["ea",""]),getFont(["cs",""]),getFont(["font","\u6E38\u30B4\u30B7\u30C3\u30AF","Jpan"]),getFont(["font","\uB9D1\uC740 \uACE0\uB515","Hang"]),getFont(["font","\u7B49\u7EBF","Hans"]),getFont(["font","\u65B0\u7D30\u660E\u9AD4","Hant"]),getFont(["font","Arial","Arab"]),getFont(["font","Arial","Hebr"]),getFont(["font","Tahoma","Thai"]),getFont(["font","Nyala","Ethi"]),getFont(["font","Vrinda","Beng"]),getFont(["font","Shruti","Gujr"]),getFont(["font","DaunPenh","Khmr"]),getFont(["font","Tunga","Knda"]),getFont(["font","Raavi","Guru"]),getFont(["font","Euphemia","Cans"]),getFont(["font","Plantagenet Cherokee","Cher"]),getFont(["font","Microsoft Yi Baiti","Yiii"]),getFont(["font","Microsoft Himalaya","Tibt"]),getFont(["font","MV Boli","Thaa"]),getFont(["font","Mangal","Deva"]),getFont(["font","Gautami","Telu"]),getFont(["font","Latha","Taml"]),getFont(["font","Estrangelo Edessa","Syrc"]),getFont(["font","Kalinga","Orya"]),getFont(["font","Kartika","Mlym"]),getFont(["font","DokChampa","Laoo"]),getFont(["font","Iskoola Pota","Sinh"]),getFont(["font","Mongolian Baiti","Mong"]),getFont(["font","Arial","Viet"]),getFont(["font","Microsoft Uighur","Uigh"]),getFont(["font","Sylfaen","Geor"]),getFont(["font","Arial","Armn"]),getFont(["font","Leelawadee UI","Bugi"]),getFont(["font","Microsoft JhengHei","Bopo"]),getFont(["font","Javanese Text","Java"]),getFont(["font","Segoe UI","Lisu"]),getFont(["font","Myanmar Text","Mymr"]),getFont(["font","Ebrima","Nkoo"]),getFont(["font","Nirmala UI","Olck"]),getFont(["font","Ebrima","Osma"]),getFont(["font","Phagspa","Phag"]),getFont(["font","Estrangelo Edessa","Syrn"]),getFont(["font","Estrangelo Edessa","Syrj"]),getFont(["font","Estrangelo Edessa","Syre"]),getFont(["font","Nirmala UI","Sora"]),getFont(["font","Microsoft Tai Le","Tale"]),getFont(["font","Microsoft New Tai Lue","Talu"]),getFont(["font","Ebrima","Tfng"])]}]}}},fontScheme_default=fontScheme,getPropertyVal=(e,t,i)=>({name:`a:${e}`,properties:{rawMap:{val:t}},children:i}),getGs=e=>{const[t,i,r,n,o,a]=e,l=[];return l.push(getPropertyVal("satMod",r)),n&&l.push(getPropertyVal("lumMod",n)),o&&l.push(getPropertyVal("tint",o)),a&&l.push(getPropertyVal("shade",a)),{name:"a:gs",properties:{rawMap:{pos:t}},children:[{name:"a:schemeClr",properties:{rawMap:{val:i}},children:l}]}},getSolidFill=(e,t)=>({name:"a:solidFill",children:[getPropertyVal("schemeClr",e,t)]}),getGradFill=e=>{const[t,i,r,n,o]=e,[a,l]=o;return{name:"a:gradFill",properties:{rawMap:{rotWithShape:t}},children:[{name:"a:gsLst",children:[getGs(i),getGs(r),getGs(n)]},{name:"a:lin",properties:{rawMap:{ang:a,scaled:l}}}]}},getLine=e=>{const[t,i,r,n]=e;return{name:"a:ln",properties:{rawMap:{w:t,cap:i,cmpd:r,algn:n}},children:[getSolidFill("phClr"),getPropertyVal("prstDash","solid"),{name:"a:miter",properties:{rawMap:{lim:"800000"}}}]}},getEffectStyle=e=>{const t=[];if(e){const[i,r,n,o,a]=e;t.push({name:"a:outerShdw",properties:{rawMap:{blurRad:i,dist:r,dir:n,algn:o,rotWithShape:a}},children:[getPropertyVal("srgbClr","000000",[getPropertyVal("alpha","63000")])]})}return{name:"a:effectStyle",children:[Object.assign({},{name:"a:effectLst"},t.length?{children:t}:{})]}},getFillStyleList=()=>({name:"a:fillStyleLst",children:[getSolidFill("phClr"),getGradFill(["1",["0","phClr","105000","110000","67000"],["50000","phClr","103000","105000","73000"],["100000","phClr","109000","105000","81000"],["5400000","0"]]),getGradFill(["1",["0","phClr","103000","102000","94000"],["50000","phClr","110000","100000",void 0,"100000"],["100000","phClr","120000","99000",void 0,"78000"],["5400000","0"]])]}),getLineStyleList=()=>({name:"a:lnStyleLst",children:[getLine(["6350","flat","sng","ctr"]),getLine(["12700","flat","sng","ctr"]),getLine(["19050","flat","sng","ctr"])]}),getEffectStyleList=()=>({name:"a:effectStyleLst",children:[getEffectStyle(),getEffectStyle(),getEffectStyle(["57150","19050","5400000","ctr","0"])]}),getBgFillStyleList=()=>({name:"a:bgFillStyleLst",children:[getSolidFill("phClr"),getSolidFill("phClr",[getPropertyVal("tint","95000"),getPropertyVal("satMod","170000")]),getGradFill(["1",["0","phClr","150000","102000","93000","98000"],["50000","phClr","130000","103000","98000","90000"],["100000","phClr","120000",void 0,void 0,"63000"],["5400000","0"]])]}),formatScheme={getTemplate(){return{name:"a:fmtScheme",properties:{rawMap:{name:"Office"}},children:[getFillStyleList(),getLineStyleList(),getEffectStyleList(),getBgFillStyleList()]}}},formatScheme_default=formatScheme,themeElements={getTemplate(){return{name:"a:themeElements",children:[colorScheme_default.getTemplate(),fontScheme_default.getTemplate(),formatScheme_default.getTemplate()]}}},themeElements_default=themeElements,officeTheme={getTemplate(){return{name:"a:theme",properties:{prefixedAttributes:[{prefix:"xmlns:",map:{a:"http://schemas.openxmlformats.org/drawingml/2006/main"}}],rawMap:{name:"Office Theme"}},children:[themeElements_default.getTemplate(),{name:"a:objectDefaults"},{name:"a:extraClrSchemeLst"}]}}},office_default=officeTheme,getShapeLayout2=()=>({name:"o:shapelayout",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}]},children:[{name:"o:idmap",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:{data:"1"}}}]}),getStroke=()=>({name:"v:stroke",properties:{rawMap:{joinstyle:"miter"}}}),getFormulas=e=>({name:"v:formulas",children:e.map(t=>({name:"v:f",properties:{rawMap:{eqn:t}}}))}),getPath=()=>({name:"v:path",properties:{prefixedAttributes:[{prefix:"o:",map:{connecttype:"rect",extrusionok:"f"}}],rawMap:{gradientshapeok:"t"}}}),getLock=e=>{const{aspectratio:t,rotation:i}=e||{},r={};return t&&(r.aspectratio="t"),i&&(r.rotation="t"),{name:"o:lock",properties:{prefixedAttributes:[{prefix:"v:",map:{ext:"edit"}}],rawMap:r}}};function mapNumber(e,t,i,r,n){return(e-t)/(i-t)*(n-r)+r}var getImageData=(e,t)=>{let i;const{recolor:r,brightness:n,contrast:o,id:a}=e;if(r&&(i={},(r==="Washout"||r==="Grayscale")&&(i.gain="19661f",i.blacklevel="22938f"),(r==="Black & White"||r==="Grayscale")&&(i.grayscale="t",r==="Black & White"&&(i.bilevel="t"))),!r||r==="Grayscale"){if(i||(i={}),o!=null&&o!==50){let l="1";o>=0&&(o<50?l=String(o/50):o<100?l=String(50/(100-o)):o===100&&(l="2147483647f")),i.gain=l}n!=null&&n!==50&&(i.blacklevel=mapNumber(n,0,100,-.5,.5).toString())}return{name:"v:imagedata",properties:{prefixedAttributes:[{prefix:"o:",map:{relid:`rId${t}`,title:a}}],rawMap:i}}},getShapeType2=()=>{const e=["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:[getStroke(),getFormulas(e),getPath(),getLock({aspectratio:!0})]}},pixelToPoint=e=>Math.floor((e??0)*.74999943307122),getShape2=(e,t)=>{const{width:i=0,height:r=0,altText:n}=e,o=pixelToPoint(i),a=pixelToPoint(r);return{name:"v:shape",properties:{rawMap:{id:e.headerFooterPosition,"o:spid":"_x0000_s1025",style:`position: absolute; margin-left: 0; margin-top: 10in; margin-bottom: 0; margin-right: 0; width: ${o}pt; height: ${a}pt; z-index: ${t+1}`,type:"#_x0000_t75",alt:n}},children:[getImageData(e,t+1),getLock({rotation:!0})]}},vmlDrawingFactory={getTemplate(e){const t=XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.get(e.sheetIndex)||[],i=[getShapeLayout2(),getShapeType2(),...t.map((r,n)=>getShape2(r,n))];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:i}}},vmlDrawing_default=vmlDrawingFactory,sheetFactory={getTemplate(e,t){const i=(t+1).toString();return{name:"sheet",properties:{rawMap:{name:e,sheetId:i,"r:id":`rId${i}`}}}}},sheet_default=sheetFactory,sheetsFactory={getTemplate(e){return{name:"sheets",children:e.map((t,i)=>sheet_default.getTemplate(t,i))}}},sheets_default=sheetsFactory,workbookFactory={getTemplate(e,t){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:t}}}]},sheets_default.getTemplate(e)]}}},workbook_default=workbookFactory,import_ag_stack11=require("ag-stack"),getExcelCellWidth=e=>Math.ceil((e-12)/7+1),colFactory={getTemplate(e){const{min:t,max:i,outlineLevel:r,s:n,width:o,hidden:a,bestFit:l}=e;let c=1,u="0";return o>1&&(c=getExcelCellWidth(o),u="1"),{name:"col",properties:{rawMap:{min:t,max:i,outlineLevel:r??void 0,width:c,style:n,hidden:a?"1":"0",bestFit:l?"1":"0",customWidth:u}}}}},column_default=colFactory,mergeCellFactory={getTemplate(e){return{name:"mergeCell",properties:{rawMap:{ref:e}}}}},mergeCell_default=mergeCellFactory,import_ag_stack10=require("ag-stack"),convertLegacyType=e=>{const t=e.charAt(0).toLowerCase();return t==="s"?"inlineStr":t},cellFactory={getTemplate(e,t,i){const{ref:r,data:n,styleId:o}=e,{type:a,value:l}=n||{type:"empty",value:null};let c=a;a==="f"?c="str":a.charAt(0)===a.charAt(0).toUpperCase()&&(c=convertLegacyType(a));const u={name:"c",properties:{rawMap:{r,t:c==="empty"?void 0:c,s:o?getStyleId(o,i):void 0}}};if(c==="empty")return u;let d;return c==="str"&&a==="f"?d=[{name:"f",textNode:(0,import_ag_stack10._escapeString)(replaceInvisibleCharacters(l))}]:c==="inlineStr"?d=[{name:"is",children:[{name:"t",textNode:(0,import_ag_stack10._escapeString)(replaceInvisibleCharacters(l))}]}]:d=[{name:"v",textNode:l}],Object.assign({},u,{children:d})}},cell_default=cellFactory,addEmptyCells=(e,t)=>{const i=[];let r=0;for(let n=0;n<e.length;n++){const o=e[n];o.mergeAcross&&(i.push({pos:n,excelPos:r}),r+=o.mergeAcross),r++}if(i.length)for(let n=i.length-1;n>=0;n--){const o=[],a=e[i[n].pos];for(let l=1;l<=a.mergeAcross;l++)o.push({ref:`${getExcelColumnName(i[n].excelPos+1+l)}${t+1}`,styleId:a.styleId,data:{type:"empty",value:null}});o.length&&e.splice(i[n].pos+1,0,...o)}},shouldDisplayCell=e=>e.mergeAcross!=null||e.styleId!==void 0||e.note!==void 0?!0:!!e.data&&e.data.type!=="empty"&&e.data.value!=="",rowFactory={getTemplate(e,t,i){const{collapsed:r,hidden:n,height:o,outlineLevel:a,cells:l=[]}=e;addEmptyCells(l,t);const c=l.filter(shouldDisplayCell).map((u,d)=>cell_default.getTemplate(u,d,i));return{name:"row",properties:{rawMap:{r:t+1,collapsed:r?"1":"0",hidden:n?"1":"0",ht:o,customHeight:o!=null?"1":"0",spans:"1:1",outlineLevel:a||void 0}},children:c}}},row_default=rowFactory,getMergedCellsAndAddColumnGroups=(e,t,i)=>{const r=[],n=[];return e.forEach((o,a)=>{const l=o.cells;let c=0,u;l.forEach((d,h)=>{const p=h+c+1,g=getExcelColumnName(p),f=a+1,m=d.mergeAcross??0,v=d.mergeDown??0;if(m||v){c+=m;const y=getExcelColumnName(h+c+1);r.push(`${g}${f}:${y}${f+v}`)}t[p-1]||(t[p-1]={});const{collapsibleRanges:C}=d;C&&C.forEach(y=>{n.push([p+y[0],p+y[1]])}),u=t[p-1],u.min=p,u.max=p,d.ref=`${g}${f}`})}),i||applyColumnOutlineLevels(t,n),r},applyColumnOutlineLevels=(e,t)=>{const i=new Map;for(let r=0,n=t.length;r<n;++r){const[o,a]=t[r];for(let l=o;l<=a;++l)i.set(l,(i.get(l)??0)+1)}i.forEach((r,n)=>{e[n-1]||(e[n-1]={min:n,max:n}),e[n-1].outlineLevel=Math.min(r,7)})},getPageOrientation=e=>!e||e!=="Portrait"&&e!=="Landscape"?"portrait":e.toLocaleLowerCase(),getPageSize=e=>{if(e==null)return 1;const i=["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(e);return i===-1?1:i+1},replaceHeaderFooterTokens=e=>{const t={"&[Page]":"&P","&[Pages]":"&N","&[Date]":"&D","&[Time]":"&T","&[Tab]":"&A","&[Path]":"&Z","&[File]":"&F","&[Picture]":"&G"};for(const i of Object.keys(t))e=e.replace(i,t[i]);return e},getHeaderPosition=e=>e==="Center"?"C":e==="Right"?"R":"L",applyHeaderFontStyle=(e,t)=>(t&&(e+="&amp;&quot;",e+=t.fontName||"Calibri",t.bold!==t.italic?e+=t.bold?",Bold":",Italic":t.bold?e+=",Bold Italic":e+=",Regular",e+="&quot;",t.size&&(e+=`&amp;${t.size}`),t.strikeThrough&&(e+="&amp;S"),t.underline&&(e+=`&amp;${t.underline==="Double"?"E":"U"}`),t.color&&(e+=`&amp;K${t.color.replace("#","").toUpperCase()}`)),e),processHeaderFooterContent=(e,t,i)=>e.reduce((r,n,o)=>{const a=getHeaderPosition(n.position),l=applyHeaderFontStyle(`${r}&amp;${a}`,n.font),c=["Left","Center","Right"];n.position||(n.position=c[o]);const{image:u}=n;if(n.value==="&[Picture]"&&u){const d=`${a}${t}${i}`;addXlsxHeaderFooterImageToMap(u,d)}return`${l}${(0,import_ag_stack11._escapeString)(replaceHeaderFooterTokens(n.value))}`},""),buildHeaderFooter=e=>{const t=["all","first","even"],i=[];return t.forEach(r=>{const n=e[r],o=r==="all"?"odd":r;if(n)for(const a of Object.keys(n)){const l=n[a],c=`${a.charAt(0).toUpperCase()}${a.slice(1)}`,u=a[0].toUpperCase();if(l){const d=r==="all"?"":r.toUpperCase();i.push({name:`${o}${c}`,properties:{rawMap:{"xml:space":"preserve"}},textNode:processHeaderFooterContent(l,u,d)})}}}),i},addColumns=e=>t=>(e.length&&t.children.push({name:"cols",children:e.map(i=>column_default.getTemplate(i))}),t),registerSheetComments=(e,t)=>{const i=[];for(let r=0;r<t.length;r++){const n=t[r].cells;for(let o=0;o<n.length;o++){const a=n[o];!a.note||!a.ref||i.push({ref:a.ref,text:a.note.text,author:a.note.author})}}i.length?XLSX_WORKSHEET_COMMENTS.set(e,i):XLSX_WORKSHEET_COMMENTS.delete(e)},addSheetData=(e,t)=>i=>(e.length&&i.children.push({name:"sheetData",children:e.map((r,n)=>row_default.getTemplate(r,n,t))}),i),getPasswordHash=e=>{const t=e.length;if(!t)return"";const i=new Array(t+1);i[0]=t;for(let n=1;n<=t;n++)i[n]=e.charCodeAt(n-1)&255;let r=0;for(let n=i.length-1;n>=0;n--){const o=i[n],a=(r&16384)===0?0:1,l=r<<1&32767;r=(a|l)^o}return(r^52811).toString(16).toUpperCase().padStart(4,"0")},addSheetProtection=e=>t=>{if(!e)return t;const i=typeof e=="boolean"?{}:e,r={sheet:1},n=i.password?getPasswordHash(i.password):"";n&&(r.password=n);const o={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(o).forEach(a=>{const l=i[a];l==null||l===o[a]||(r[a]=l?0:1)}),t.children.push({name:"sheetProtection",properties:{rawMap:r}}),t},addMergeCells=e=>t=>(e.length&&t.children.push({name:"mergeCells",properties:{rawMap:{count:e.length}},children:e.map(i=>mergeCell_default.getTemplate(i))}),t),addPageMargins=e=>t=>{const{top:i=.75,right:r=.7,bottom:n=.75,left:o=.7,header:a=.3,footer:l=.3}=e;return t.children.push({name:"pageMargins",properties:{rawMap:{bottom:n,footer:l,header:a,left:o,right:r,top:i}}}),t},addPageSetup=e=>t=>(e&&t.children.push({name:"pageSetup",properties:{rawMap:{horizontalDpi:0,verticalDpi:0,orientation:getPageOrientation(e.orientation),paperSize:getPageSize(e.pageSize)}}}),t),addHeaderFooter=e=>t=>{if(!e)return t;const i=e.first!=null?1:0,r=e.even!=null?1:0;return t.children.push({name:"headerFooter",properties:{rawMap:{differentFirst:i,differentOddEven:r}},children:buildHeaderFooter(e)}),t},addExcelTableRel=e=>t=>(e&&t.children.push({name:"tableParts",properties:{rawMap:{count:"1"}},children:[{name:"tablePart",properties:{rawMap:{"r:id":`rId${++t.rIdCounter}`}}}]}),t),addDrawingRel=e=>t=>(XLSX_WORKSHEET_IMAGES.get(e)?.length&&t.children.push({name:"drawing",properties:{rawMap:{"r:id":`rId${++t.rIdCounter}`}}}),t),addLegacyDrawingRel=e=>t=>(XLSX_WORKSHEET_COMMENTS.get(e)?.length&&t.children.push({name:"legacyDrawing",properties:{rawMap:{"r:id":`rId${++t.rIdCounter}`}}}),t),addVmlDrawingRel=e=>t=>(XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.get(e)&&t.children.push({name:"legacyDrawingHF",properties:{rawMap:{"r:id":`rId${++t.rIdCounter}`}}}),t),getPane=(e=0,t=0)=>{const i=e>0||t>0;return i?[{name:"pane",properties:{rawMap:{state:i?"frozen":void 0,topLeftCell:i?`${getExcelColumnName(e+1)}${t+1}`:void 0,xSplit:e===0?void 0:e,ySplit:t===0?void 0:t}}}]:void 0},addSheetViews=(e=!1,t,i)=>r=>(r.children.push({name:"sheetViews",children:[{name:"sheetView",properties:{rawMap:{rightToLeft:e===!0?"1":"0",workbookViewId:"0"}},children:getPane(t,i)}]}),r),addSheetPr=()=>e=>(e.children.push({name:"sheetPr",children:[{name:"outlinePr",properties:{rawMap:{summaryBelow:0}}}]}),e),addSheetFormatPr=(e,t)=>i=>{const r=e.reduce((o,a)=>a.outlineLevel&&a.outlineLevel>o?a.outlineLevel:o,0),n=t.reduce((o,a)=>a.outlineLevel&&a.outlineLevel>o?a.outlineLevel:o,0);return i.children.push({name:"sheetFormatPr",properties:{rawMap:{baseColWidth:10,defaultRowHeight:16,outlineLevelRow:r||void 0,outlineLevelCol:n||void 0}}}),i},worksheetFactory={getTemplate(e){const{worksheet:t,currentSheet:i,config:r}=e,{margins:n={},pageSetup:o,headerFooterConfig:a,suppressColumnOutline:l,rightToLeft:c,frozenRowCount:u,frozenColumnCount:d,protectSheet:h}=r,{table:p}=t,{rows:g,columns:f}=p,m=f?.length?getMergedCellsAndAddColumnGroups(g,f,!!l):[];registerSheetComments(i,g);const v=XLSX_WORKSHEET_DATA_TABLES.get(i),{children:C}=[addSheetPr(),addSheetViews(c,d,u),addSheetFormatPr(g,f??[]),addColumns(f),addSheetData(g,i+1),addSheetProtection(h),addMergeCells(m),addPageMargins(n),addPageSetup(o),addHeaderFooter(a),addDrawingRel(i),addLegacyDrawingRel(i),addVmlDrawingRel(i),addExcelTableRel(v)].reduce((y,S)=>S(y),{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:C}}},worksheet_default=worksheetFactory,XLSX_SHARED_STRINGS=new Map,XLSX_SHEET_NAMES=[],XLSX_SHEET_DATA=[],XLSX_SHEET_CONTENT_INDICES=new Map,XLSX_IMAGES=new Map,XLSX_WORKSHEET_IMAGES=new Map,XLSX_WORKSHEET_HEADER_FOOTER_IMAGES=new Map,XLSX_WORKBOOK_IMAGE_IDS=new Map,XLSX_WORKSHEET_IMAGE_IDS=new Map,XLSX_WORKSHEET_DATA_TABLES=new Map,XLSX_WORKSHEET_COMMENTS=new Map,DEFAULT_TABLE_DISPLAY_NAME="AG-GRID-TABLE",XLSX_FACTORY_MODE="SINGLE_SHEET";function getXlsxFactoryMode(){return XLSX_FACTORY_MODE}function setXlsxFactoryMode(e){XLSX_FACTORY_MODE=e}function createXlsxExcel(e,t,i){addSheetName(t),registerStyles(e,XLSX_SHEET_NAMES.length);const r=Object.assign({},i);i.exportAsExcelTable&&i.pivotModeActive&&(i.log.warn(163,{featureName:"pivot mode"}),r.exportAsExcelTable=!1),processTableConfig(t,r);const n=createWorksheet(t,r);return registerSheetXml(n),n}function getXlsxSanitizedTableName(e){return e.replace(/^[^a-zA-Z_]+/,"_").replace(/\s/g,"_").replace(/[^a-zA-Z0-9_]/g,"_")}function addXlsxTableToSheet(e,t,i){if(XLSX_WORKSHEET_DATA_TABLES.has(e)){i.warn(164);return}XLSX_WORKSHEET_DATA_TABLES.set(e,t)}function processTableConfig(e,t){const{exportAsExcelTable:i,prependContent:r,appendContent:n,headerRowCount:o=0}=t;if(!i)return;const a=typeof i=="boolean"?{}:i,{name:l,showColumnStripes:c,showRowStripes:u,showFilterButton:d,highlightFirstColumn:h,highlightLastColumn:p}=a,g=getXlsxSanitizedTableName(l||DEFAULT_TABLE_DISPLAY_NAME),f=XLSX_SHEET_NAMES.length-1,{table:m}=e,{rows:v,columns:C}=m,y=r?r.length:0,S=n?n.length:0,x=v.length,b=C.length,w=[],P=[];for(let F=0;F<b;F++){const T=C[F];w.push(T.displayName||""),P.push(d==="match"||d===void 0?T.filterAllowed??!1:d)}if(!w?.length||!x||!g){t.log.warn(165);return}addXlsxTableToSheet(f,{name:`table${XLSX_WORKSHEET_DATA_TABLES.size+1}`,displayName:g,columns:w,showFilterButtons:P,rowRange:[o+y,o+(x-o)-S],showRowStripes:u??!0,showColumnStripes:c??!1,highlightFirstColumn:h??!1,highlightLastColumn:p??!1},t.log)}function addXlsxHeaderFooterImageToMap(e,t){const i=XLSX_SHEET_NAMES.length-1,r=e;r.headerFooterPosition=t,buildImageMap({imageToAdd:r,idx:i});let n=XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.get(i);n||(n=[],XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.set(i,n)),n.find(o=>o.id===e.id)||n.push(e)}function addXlsxBodyImageToMap(e,t,i,r,n){const o=XLSX_SHEET_NAMES.length,{row:a,column:l}=e.position||{},c=e;r&&(t!=null&&i!=null&&(!a||!l)&&(e.position||(e.position={}),e.position=Object.assign({},e.position,{row:t,column:r.indexOf(i)+1})),setExcelImageTotalWidth(c,r),setExcelImageTotalHeight(c,n)),buildImageMap({imageToAdd:c,idx:o});let u=XLSX_WORKSHEET_IMAGE_IDS.get(o);u||(u=new Map,XLSX_WORKSHEET_IMAGE_IDS.set(o,u));const d=XLSX_WORKSHEET_IMAGES.get(o);d?d.push(c):XLSX_WORKSHEET_IMAGES.set(o,[c]),u.get(e.id)||u.set(e.id,{index:u.size,type:e.imageType})}function buildImageMap(e){const{imageToAdd:t,idx:i}=e,r=XLSX_IMAGES.get(t.id);if(r){const n=r.find(o=>o.sheetId===i);n?n.image.push(t):r.push({sheetId:i,image:[t]})}else XLSX_IMAGES.set(t.id,[{sheetId:i,image:[t]}]),XLSX_WORKBOOK_IMAGE_IDS.set(t.id,{type:t.imageType,index:XLSX_WORKBOOK_IMAGE_IDS.size})}function addSheetName(e){const t=(0,import_ag_stack12._escapeString)(e.name)||"";let i="";for(;XLSX_SHEET_NAMES.indexOf(`${t}${i}`)!==-1;)i===""?i="_1":i=`_${parseInt(i.slice(1),10)+1}`;e.name=`${t}${i}`,XLSX_SHEET_NAMES.push(e.name)}function getXlsxStringPosition(e){return XLSX_SHARED_STRINGS.has(e)?XLSX_SHARED_STRINGS.get(e):(XLSX_SHARED_STRINGS.set(e,XLSX_SHARED_STRINGS.size),XLSX_SHARED_STRINGS.size-1)}function resetXlsxFactory(){XLSX_SHARED_STRINGS.clear(),XLSX_IMAGES.clear(),XLSX_WORKSHEET_IMAGES.clear(),XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.clear(),XLSX_WORKBOOK_IMAGE_IDS.clear(),XLSX_WORKSHEET_IMAGE_IDS.clear(),XLSX_WORKSHEET_DATA_TABLES.clear(),XLSX_WORKSHEET_COMMENTS.clear(),XLSX_SHEET_NAMES=[],XLSX_SHEET_DATA=[],XLSX_SHEET_CONTENT_INDICES=new Map,XLSX_FACTORY_MODE="SINGLE_SHEET"}function createXlsxWorkbook(e){return createXmlPart(workbook_default.getTemplate(XLSX_SHEET_NAMES,e))}function createXlsxStylesheet(e){return createXmlPart(stylesheet_default.getTemplate(e))}function createXlsxSharedStrings(){return createXmlPart(sharedStrings_default.getTemplate(XLSX_SHARED_STRINGS))}function createXlsxCore(e){return createXmlPart(core_default.getTemplate(e))}function createXlsxCustomProperties(e){return createXmlPart(customProperties_default.getTemplate(e))}function createXlsxContentTypes(e,t){return createXmlPart(contentTypes_default.getTemplate({sheetLen:e,hasCustomProperties:t}))}function createXlsxRels(e){const t=[{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"}];e&&t.push({Id:"rId3",Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",Target:"docProps/custom.xml"});const i=relationships_default.getTemplate(t);return createXmlPart(i)}function createXlsxTheme(){return createXmlPart(office_default.getTemplate())}function createXlsxTable(e,t){return createXmlPart(table_default.getTemplate(e,t))}function createXlsxWorkbookRels(e){const t=new Array(e).fill(void 0).map((r,n)=>({Id:`rId${n+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",Target:`worksheets/sheet${n+1}.xml`})),i=relationships_default.getTemplate([...t,{Id:`rId${e+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",Target:"theme/theme1.xml"},{Id:`rId${e+2}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",Target:"styles.xml"},{Id:`rId${e+3}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",Target:"sharedStrings.xml"}]);return createXmlPart(i)}function createXlsxDrawing(e){return createXmlPart(drawing_default.getTemplate({sheetIndex:e}))}function createXlsxComments(e,t,i){const r=XLSX_WORKSHEET_COMMENTS.get(e)||[],n=t||"AG Grid",o=!i;return createXmlPart(comments_default.getTemplate({comments:r,defaultAuthor:n,prependAuthor:o}))}function createXlsxDrawingRel(e){const t=XLSX_WORKSHEET_IMAGE_IDS.get(e)||[],i=[];for(const[r,n]of t){const{index:o,type:a}=n;i.push({Id:`rId${o+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${XLSX_WORKBOOK_IMAGE_IDS.get(r).index+1}.${_normaliseImageExtension(a)}`})}return createXmlPart(relationships_default.getTemplate(i))}function createXlsxVmlDrawing(e){return createXmlPart(vmlDrawing_default.getTemplate({sheetIndex:e}),!0)}function createXlsxNoteVmlDrawing(e){return createXmlPart(noteVmlDrawing_default.getTemplate({sheetIndex:e}),!0)}function createXlsxVmlDrawingRel(e){const t=XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.get(e)||[],i=[];for(let r=0;r<t.length;r++){const n=t[r],o=XLSX_WORKBOOK_IMAGE_IDS.get(n.id);if(!o)continue;const{index:a,type:l}=o;i.push({Id:`rId${r+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",Target:`../media/image${a+1}.${_normaliseImageExtension(l)}`})}return createXmlPart(relationships_default.getTemplate(i))}function createXlsxRelationships({drawingIndex:e,noteVmlDrawingIndex:t,headerFooterVmlDrawingIndex:i,commentsIndex:r,tableName:n}={}){if(e===void 0&&t===void 0&&i===void 0&&r===void 0&&n===void 0)return"";const o=[];e!=null&&o.push({Id:`rId${o.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",Target:`../drawings/drawing${e+1}.xml`}),t!=null&&o.push({Id:`rId${o.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",Target:`../drawings/vmlDrawing${t+1}.vml`}),i!=null&&o.push({Id:`rId${o.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",Target:`../drawings/vmlDrawing${i+1}.vml`}),n!=null&&o.push({Id:`rId${o.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",Target:`../tables/${n}.xml`}),r!=null&&o.push({Id:`rId${o.length+1}`,Type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",Target:`../comments${r+1}.xml`});const a=relationships_default.getTemplate(o);return createXmlPart(a)}function createWorksheet(e,t){return createXmlPart(worksheet_default.getTemplate({worksheet:e,currentSheet:XLSX_SHEET_NAMES.length-1,config:t}))}var reorderSheetSpecificMap=(e,t)=>{if(!e.size)return;const i=new Map;t.forEach((r,n)=>{e.has(r)&&i.set(n,e.get(r))}),e.clear(),i.forEach((r,n)=>e.set(n,r))},registerSheetXml=e=>{const t=XLSX_SHEET_CONTENT_INDICES.get(e)??[];t.push(XLSX_SHEET_NAMES.length-1),XLSX_SHEET_CONTENT_INDICES.set(e,t),XLSX_SHEET_DATA.push(e)},getSheetOrderFromRefs=e=>{const t=new Map(XLSX_SHEET_CONTENT_INDICES),i=[];for(const r of e){const n=t.get(r);if(!n?.length)return null;const o=n.shift();i.push(o),t.set(r,n)}return i},getSheetOrderFromData=e=>{if(!e.length||XLSX_SHEET_DATA.length===0)return null;const t=new Set,i=[];for(const r of e){const n=XLSX_SHEET_DATA.findIndex((o,a)=>!t.has(a)&&o===r);if(n===-1)return null;t.add(n),i.push(n)}return i},reorderSheetState=e=>{const t=new Map;e.forEach((i,r)=>t.set(i,r)),XLSX_SHEET_NAMES=e.map(i=>XLSX_SHEET_NAMES[i]),XLSX_SHEET_DATA=e.map(i=>XLSX_SHEET_DATA[i]),reorderSheetSpecificMap(XLSX_WORKSHEET_IMAGES,e),reorderSheetSpecificMap(XLSX_WORKSHEET_HEADER_FOOTER_IMAGES,e),reorderSheetSpecificMap(XLSX_WORKSHEET_DATA_TABLES,e),reorderSheetSpecificMap(XLSX_WORKSHEET_COMMENTS,e),reorderSheetSpecificMap(XLSX_WORKSHEET_IMAGE_IDS,e),XLSX_IMAGES.forEach(i=>{i.forEach(r=>{const n=t.get(r.sheetId);n!=null&&(r.sheetId=n)})}),XLSX_SHEET_CONTENT_INDICES=new Map,XLSX_SHEET_DATA.forEach((i,r)=>{const n=XLSX_SHEET_CONTENT_INDICES.get(i)??[];n.push(r),XLSX_SHEET_CONTENT_INDICES.set(i,n)})},syncXlsxOrderWithSheetData=e=>{if(e.length<=1)return;const t=getSheetOrderFromRefs(e)??getSheetOrderFromData(e);t&&reorderSheetState(t)},Workbook=class{getStringPosition(e){return getXlsxStringPosition(e)}addBodyImageToMap(e,t,i,r,n){addXlsxBodyImageToMap(e,t,i,r,n)}addHeaderFooterImageToMap(e,t){addXlsxHeaderFooterImageToMap(e,t)}addWorksheet(e,t,i){return createXlsxExcel(e,t,i)}syncOrderWithSheetData(e){syncXlsxOrderWithSheetData(e)}reset(){resetXlsxFactory()}setFactoryMode(e){setXlsxFactoryMode(e)}getFactoryMode(){return getXlsxFactoryMode()}getSheetNames(){return[...XLSX_SHEET_NAMES]}},import_ag_grid_community6=require("ag-grid-community"),compressBlob=async e=>{let t=0;const i=[],r=new WritableStream({write:a=>{i.push(a),t+=a.length}}),n=new ReadableStream({start:a=>{const l=new FileReader;l.onload=c=>{c.target?.result&&a.enqueue(c.target.result),a.close()},l.readAsArrayBuffer(e)}}),o=new window.CompressionStream("deflate-raw");return await n.pipeThrough(o).pipeTo(r),{size:t,content:new Blob(i)}},deflateLocalFile=async e=>{const t=new Blob([e]),{size:i,content:r}=await compressBlob(t),n=new Uint8Array(await r.arrayBuffer());return{size:i,content:n}},convertTime=e=>{let t=e.getHours();return t<<=6,t=t|e.getMinutes(),t<<=5,t=t|e.getSeconds()/2,t},convertDate=e=>{let t=e.getFullYear()-1980;return t<<=4,t=t|e.getMonth()+1,t<<=5,t=t|e.getDate(),t};function convertDecToHex(e,t){let i="";for(let r=0;r<t;r++)i+=String.fromCharCode(e&255),e>>>=8;return i}var getCrcFromCrc32TableAndByteArray=e=>{if(!e.length)return 0;let t=-1;for(let i=0;i<e.length;i++){const r=e[i],n=(t^r)&255,o=crcTable[n];t=t>>>8^o}return t^-1},getCrcFromCrc32Table=e=>e.length?getCrcFromCrc32TableAndByteArray(typeof e=="string"?new TextEncoder().encode(e):e):0,crcTable=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,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function _utf8_encode(e){const t=String.fromCharCode;function i(h){const p=[];if(!h)return[];const g=h.length;let f=0,m,v;for(;f<g;)m=h.charCodeAt(f++),m>=55296&&m<=56319&&f<g?(v=h.charCodeAt(f++),(v&64512)==56320?p.push(((m&1023)<<10)+(v&1023)+65536):(p.push(m),f--)):p.push(m);return p}function r(h){if(h>=55296&&h<=57343)throw new Error((0,import_ag_grid_community6._errMsg)(255,{point:h}))}function n(h,p){return t(h>>p&63|128)}function o(h){if((h&4294967168)==0)return t(h);let p="";return(h&4294965248)==0?p=t(h>>6&31|192):(h&4294901760)==0?(r(h),p=t(h>>12&15|224),p+=n(h,6)):(h&4292870144)==0&&(p=t(h>>18&7|240),p+=n(h,12),p+=n(h,6)),p+=t(h&63|128),p}const a=i(e),l=a.length;let c=-1,u,d="";for(;++c<l;)u=a[c],d+=o(u);return d}var getHeaders=(e,t,i,r,n,o)=>{const{content:a,path:l,created:c}=e,u=convertTime(c),d=convertDate(c),h=getCrcFromCrc32Table(n),p=o!==void 0?o:r,g=_utf8_encode(l),f=g!==l;let m="";if(f){const S=convertDecToHex(1,1)+convertDecToHex(getCrcFromCrc32Table(g),4)+g;m="up"+convertDecToHex(S.length,2)+S}const v="\0"+(f?"\0\b":"\0\0")+convertDecToHex(t?8:0,2)+convertDecToHex(u,2)+convertDecToHex(d,2)+convertDecToHex(p?h:0,4)+convertDecToHex(o??r,4)+convertDecToHex(r,4)+convertDecToHex(g.length,2)+convertDecToHex(m.length,2),C="PK"+v+g+m,y="PK\0"+v+"\0\0\0\0\0\0"+(a?"\0\0\0\0":"\0\0\0")+convertDecToHex(i,4)+g+m;return{localFileHeader:Uint8Array.from(C,S=>S.charCodeAt(0)),centralDirectoryHeader:Uint8Array.from(y,S=>S.charCodeAt(0))}},getDecodedContent=e=>{let t;if(typeof e=="string"){const i=atob(e.split(";base64,")[1]);t=Uint8Array.from(i,r=>r.charCodeAt(0))}else t=e;return{size:t.length,content:t}},preprocessFileForZip=async e=>{const{content:t}=e,{size:i,content:r}=t?getDecodedContent(t):{size:0,content:Uint8Array.from([])};let n,o,a=!1;if(e.type==="file"&&r&&i>0){const c=await deflateLocalFile(r);n=c.content,o=c.size,a=!0}return{rawContent:r,rawSize:i,deflatedContent:n,deflatedSize:o,isCompressed:a}},getHeaderAndContent=(e,t)=>{const{content:i}=e,{content:r}=i?getDecodedContent(i):{content:Uint8Array.from([])};return{...getHeaders(e,!1,t,r.length,r,void 0),content:r,isCompressed:!1}},buildCentralDirectoryEnd=(e,t,i)=>{const r="PK\0\0\0\0"+convertDecToHex(e,2)+convertDecToHex(e,2)+convertDecToHex(t,4)+convertDecToHex(i,4)+"\0\0";return Uint8Array.from(r,n=>n.charCodeAt(0))},ZipContainer=class{constructor(){this.folders=[],this.files=[]}addFolders(e){e.forEach(this.addFolder.bind(this))}addFolder(e){this.folders.push({path:e,created:new Date,isBase64:!1,type:"folder"})}addFile(e,t,i=!1){this.files.push({path:e,created:new Date,content:i?t:new TextEncoder().encode(t),isBase64:i,type:"file"})}async getZipFile(e="application/zip"){const t=await this.buildCompressedFileStream();return this.clearStream(),new Blob([t],{type:e})}getUncompressedZipFile(e="application/zip"){const t=this.buildFileStream();return this.clearStream(),new Blob([t],{type:e})}clearStream(){this.folders=[],this.files=[]}packageFiles(e){let t=0,i=0;for(const u of e){const{localFileHeader:d,centralDirectoryHeader:h,content:p}=u;t+=d.length+p.length,i+=h.length}const r=new Uint8Array(t),n=new Uint8Array(i);let o=0,a=0;for(const u of e){const{localFileHeader:d,centralDirectoryHeader:h,content:p}=u;r.set(d,o),o+=d.length,r.set(p,o),o+=p.length,n.set(h,a),a+=h.length}const l=buildCentralDirectoryEnd(e.length,i,t),c=new Uint8Array(r.length+n.length+l.length);return c.set(r),c.set(n,r.length),c.set(l,r.length+n.length),c}async buildCompressedFileStream(){const e=[...this.folders,...this.files],t=await Promise.all(e.map(preprocessFileForZip)),i=[];let r=0;for(let n=0;n<e.length;n++){const o=e[n],{rawContent:a,rawSize:l,deflatedContent:c,deflatedSize:u,isCompressed:d}=t[n],h=getHeaders(o,d,r,l,a,u),p=c??a;i.push({...h,content:p,isCompressed:d}),r+=h.localFileHeader.length+p.length}return this.packageFiles(i)}buildFileStream(){const e=[...this.folders,...this.files],t=[];let i=0;for(const r of e){const n=getHeaderAndContent(r,i),{localFileHeader:o,content:a}=n;t.push(n),i+=o.length+a.length}return this.packageFiles(t)}},createExcelXMLCoreFolderStructure=e=>{if(e.addFolders(["_rels/","docProps/","xl/","xl/theme/","xl/_rels/","xl/worksheets/"]),(XLSX_IMAGES.size||XLSX_WORKSHEET_DATA_TABLES.size||XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.size||XLSX_WORKSHEET_COMMENTS.size)&&e.addFolders(["xl/worksheets/_rels"]),(XLSX_IMAGES.size||XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.size||XLSX_WORKSHEET_COMMENTS.size)&&e.addFolders(["xl/drawings/"]),(XLSX_IMAGES.size||XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.size)&&e.addFolders(["xl/drawings/_rels"]),XLSX_WORKSHEET_DATA_TABLES.size&&e.addFolders(["xl/tables/"]),!XLSX_IMAGES.size)return;e.addFolders(["xl/media/"]);let t=0;XLSX_IMAGES.forEach(i=>{const r=i[0].image[0],{base64:n,imageType:o}=r;e.addFile(`xl/media/image${++t}.${_normaliseImageExtension(o)}`,n,!0)})},createExcelXmlWorksheets=(e,t,i,r)=>{let n=0,o=0,a=0;for(let l=0;l<t.length;l++){const c=t[l];e.addFile(`xl/worksheets/sheet${l+1}.xml`,c,!1);const u=XLSX_IMAGES.size>0&&XLSX_WORKSHEET_IMAGES.has(l),d=XLSX_WORKSHEET_DATA_TABLES.size>0&&XLSX_WORKSHEET_DATA_TABLES.get(l),h=XLSX_IMAGES.size&&XLSX_WORKSHEET_HEADER_FOOTER_IMAGES.has(l),p=!!XLSX_WORKSHEET_COMMENTS.get(l)?.length;if(!u&&!d&&!h&&!p)continue;let g,f,m,v,C;u&&(createExcelXmlDrawings(e,l,n),f=n,n++),p&&(createExcelXmlComments(e,l,o,a,i,r),C=o,m=a,o++,a++),h&&(createExcelHeaderFooterVmlDrawings(e,l,a),v=a,a++),d&&(g=d.name);const y=`xl/worksheets/_rels/sheet${l+1}.xml.rels`;e.addFile(y,createXlsxRelationships({tableName:g,drawingIndex:f,noteVmlDrawingIndex:m,headerFooterVmlDrawingIndex:v,commentsIndex:C}))}},createExcelXmlDrawings=(e,t,i)=>{const r="xl/drawings",n=`${r}/drawing${i+1}.xml`,o=`${r}/_rels/drawing${i+1}.xml.rels`;e.addFile(o,createXlsxDrawingRel(t)),e.addFile(n,createXlsxDrawing(t))},createExcelXmlComments=(e,t,i,r,n,o)=>{const a="xl/drawings";e.addFile(`xl/comments${i+1}.xml`,createXlsxComments(t,n,o)),e.addFile(`${a}/vmlDrawing${r+1}.vml`,createXlsxNoteVmlDrawing(t))},createExcelHeaderFooterVmlDrawings=(e,t,i)=>{const r="xl/drawings",n=`${r}/vmlDrawing${i+1}.vml`,o=`${r}/_rels/vmlDrawing${i+1}.vml.rels`;e.addFile(n,createXlsxVmlDrawing(t)),e.addFile(o,createXlsxVmlDrawingRel(t))},createExcelXmlTables=e=>{const t=XLSX_WORKSHEET_DATA_TABLES,i=Array.from(t.keys());for(let r=0;r<i.length;r++){const n=i[r],o=t.get(n);o&&e.addFile(`xl/tables/${o.name}.xml`,createXlsxTable(o,r))}},createExcelXmlCoreSheets=(e,t,i,r,n,o)=>{const a=!!o&&Object.keys(o).some(l=>o[l]!=null);e.addFile("xl/workbook.xml",createXlsxWorkbook(n)),e.addFile("xl/styles.xml",createXlsxStylesheet(t)),e.addFile("xl/sharedStrings.xml",createXlsxSharedStrings()),e.addFile("xl/theme/theme1.xml",createXlsxTheme()),e.addFile("xl/_rels/workbook.xml.rels",createXlsxWorkbookRels(r)),e.addFile("docProps/core.xml",createXlsxCore(i)),a&&e.addFile("docProps/custom.xml",createXlsxCustomProperties(o)),e.addFile("[Content_Types].xml",createXlsxContentTypes(r,a)),e.addFile("_rels/.rels",createXlsxRels(a))},createExcelFileForExcel=(e,t,i={},r,n)=>{if(!t||t.length===0)return n?(0,import_ag_grid_community7._warnForGrid)(n,159):(0,import_ag_grid_community7._warnWithoutAttribution)(159),r.reset(),!1;r.syncOrderWithSheetData(t);const{fontSize:o=11,author:a="AG Grid",activeTab:l=0,customMetadata:c,suppressPrependAuthorToNotes:u}=i,d=t.length,h=(0,import_ag_grid_community7._clamp)(l,0,d-1);return createExcelXMLCoreFolderStructure(e),createExcelXmlTables(e),createExcelXmlWorksheets(e,t,a,u),createExcelXmlCoreSheets(e,o,a,d,h,c),r.reset(),!0},getMultipleSheetsAsExcelCompressed=(e,t=new Workbook,i)=>{const{data:r,fontSize:n,author:o,activeSheetIndex:a,customMetadata:l,suppressPrependAuthorToNotes:c}=e,u=e.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",d=new ZipContainer;return createExcelFileForExcel(d,r,{author:o,fontSize:n,activeTab:a,customMetadata:l,suppressPrependAuthorToNotes:c},t,i)?d.getZipFile(u):Promise.resolve(void 0)},getMultipleSheetsAsExcel=(e,t=new Workbook,i)=>{const{data:r,fontSize:n,author:o,activeSheetIndex:a,customMetadata:l,suppressPrependAuthorToNotes:c}=e,u=e.mimeType||"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",d=new ZipContainer;if(createExcelFileForExcel(d,r,{author:o,fontSize:n,activeTab:a,customMetadata:l,suppressPrependAuthorToNotes:c},t,i))return d.getUncompressedZipFile(u)},exportMultipleSheetsAsExcel=e=>{const{fileName:t="export.xlsx"}=e,i=new Workbook;getMultipleSheetsAsExcelCompressed(e,i).then(r=>{if(r){const n=typeof t=="function"?t():t;(0,import_ag_stack13._downloadFile)(n,r)}})},ExcelCreator=class extends import_ag_grid_community7.BaseCreator{constructor(){super(...arguments),this.beanName="excelCreator",this.workbook=new Workbook}getMergedParams(e){const t=this.gos.get("defaultExcelExportParams");return Object.assign({},t,e)}export(e){if(this.isExportSuppressed()){this.warn(160);return}this.runExport(()=>{const t=this.getMergedParams(e),i=this.getData(t),{fontSize:r,author:n,mimeType:o,customMetadata:a,suppressPrependAuthorToNotes:l}=t,c={data:[i],fontSize:r,author:n,mimeType:o,customMetadata:a,suppressPrependAuthorToNotes:l};this.packageCompressedFile(c).then(u=>{u&&(0,import_ag_stack13._downloadFile)(this.resolveFileName(t),u)})})}exportDataAsExcel(e){this.export(e)}getDataAsExcel(e){const t=this.getMergedParams(e),i=this.getData(t),{fontSize:r,author:n,mimeType:o,customMetadata:a,suppressPrependAuthorToNotes:l}=t,c={data:[i],fontSize:r,author:n,mimeType:o,customMetadata:a,suppressPrependAuthorToNotes:l};return this.packageFile(c)}setFactoryMode(e){this.workbook.setFactoryMode(e)}getFactoryMode(){return this.workbook.getFactoryMode()}getSheetDataForExcel(e){const t=this.getMergedParams(e);return this.getData(t)}getMultipleSheetsAsExcel(e){return getMultipleSheetsAsExcel(e,this.workbook,this.beans.context.getId())}exportMultipleSheetsAsExcel(e){getMultipleSheetsAsExcelCompressed(e,this.workbook,this.beans.context.getId()).then(t=>{const{fileName:i="export.xlsx"}=e;if(t){const r=typeof i=="function"?i():i;(0,import_ag_stack13._downloadFile)(r,t)}})}getDefaultFileExtension(){return"xlsx"}createSerializingSession(e){const{colModel:t,colNames:i,rowGroupColsSvc:r,valueSvc:n,formula:o,gos:a,notesSvc:l,log:c}=this.beans,u=a.get("excelStyles")||[],d=this.createStyleLinker(u),h={...e,colModel:t,colNames:i,rowGroupColsSvc:r,valueSvc:n,formulaSvc:o,gos:a,log:c,suppressRowOutline:e.suppressRowOutline||e.skipRowGroups,headerRowHeight:e.headerRowHeight||e.rowHeight,baseExcelStyles:u,rightToLeft:e.rightToLeft??a.get("enableRtl"),styleLinker:d,notesSvc:l,pivotModeActive:t.isPivotActive(),workbook:this.workbook};return new ExcelSerializingSession(h)}createStyleLinker(e){const t=[],i=new Set,r=new Map;e.forEach((a,l)=>{t.push(a.id),i.add(a.id),r.set(a.id,l)});const{gos:n,cellStyles:o}=this.beans;return a=>{const{rowType:l,rowIndex:c,value:u,column:d,columnGroup:h,node:p}=a,g=l==="HEADER",f=l==="HEADER_GROUPING",m=g?d:h;let v=[];if(g||f)return v.push("header"),f&&v.push("headerGroup"),m&&(v=v.concat((0,import_ag_grid_community7._getHeaderClassesFromColDef)(m.getDefinition(),this.beans,d||null,h||null))),v;const C=["cell"];if(!t.length)return C;const y=d.getDefinition();return o?.processAllCellClasses(y,(0,import_ag_grid_community7._addGridCommonParams)(n,{value:u,data:p.data,node:p,colDef:y,column:d,rowIndex:c}),S=>{i.has(S)&&C.push(S)}),C.sort((S,x)=>{const b=r.get(S)??-1,w=r.get(x)??-1;return b===w?0:b<w?-1:1})}}isExportSuppressed(){return this.gos.get("suppressExcelExport")}packageCompressedFile(e){return getMultipleSheetsAsExcelCompressed(e,this.workbook,this.beans.context.getId())}packageFile(e){return getMultipleSheetsAsExcel(e,this.workbook,this.beans.context.getId())}},import_ag_stack14=require("ag-stack"),import_ag_grid_community8=require("ag-grid-community"),agVirtualList_default=":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:var(--ag-internal-virtual-list-overflow,hidden);position:relative}.ag-virtual-list-item{height:var(--ag-list-item-height);position:absolute;width:100%}:where(.ag-virtual-list-grow-to-content) .ag-virtual-list-item{min-width:100%;width:-moz-max-content;width:max-content}";function getVirtualListTemplate(e){return{tag:"div",cls:`ag-virtual-list-viewport ag-${e}-virtual-list-viewport`,role:"presentation",children:[{tag:"div",ref:"eContainer",cls:`ag-virtual-list-container ag-${e}-virtual-list-container`}]}}var AgVirtualList=class extends import_ag_stack14.AgTabGuardComp{constructor(e,t){super(getVirtualListTemplate(t?.cssIdentifier||"default")),this.stopPropagationCallbacks=e,this.renderedRows=new Map,this.rowHeight=20,this.pageSize=-1,this.isScrolling=!1,this.isHeightFromTheme=!0,this.eContainer=import_ag_stack14.RefPlaceholder,this.awaitStableCallbacks=[],this.registerCSS(agVirtualList_default);const{cssIdentifier:i="default",ariaRole:r="listbox",listName:n,moveItemCallback:o}=t||{};this.cssIdentifier=i,this.ariaRole=r,this.listName=n,this.moveItemCallback=o}postConstruct(){this.addScrollListener(),this.rowHeight=this.getItemHeight(),this.addResizeObserver(),this.initialiseTabGuard({onFocusIn:e=>this.onFocusIn(e),onFocusOut:e=>this.onFocusOut(e),focusInnerElement:e=>this.focusInnerElement(e),onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e)},this.stopPropagationCallbacks),this.refreshAriaProperties(),this.addManagedEventListeners({stylesChanged:this.onStylesChanged.bind(this)})}onStylesChanged(e){e.listItemHeightChanged&&(this.rowHeight=this.getItemHeight(),this.refresh())}refreshAriaProperties(){const t=this.getLocaleTextFunc()("ariaDefaultListName",this.listName||"List"),i=this.eContainer;(0,import_ag_stack14._setAriaRole)(i,this.model?.getRowCount()>0?this.ariaRole:"presentation"),(0,import_ag_stack14._setAriaLabel)(i,t)}addResizeObserver(){const e=()=>(0,import_ag_stack14._requestAnimationFrame)(this.beans,()=>this.drawVirtualRows()),t=(0,import_ag_stack14._observeResize)(this.beans,this.getGui(),e);this.addDestroyFunc(t)}focusInnerElement(e){return this.focusRow(e?this.model.getRowCount()-1:0),!0}onFocusIn(e){const t=e.target;t.classList.contains("ag-virtual-list-item")&&(this.lastFocusedRowIndex=(0,import_ag_stack14._getAriaPosInSet)(t)-1)}onFocusOut(e){this.getFocusableElement().contains(e.relatedTarget)||(this.lastFocusedRowIndex=null)}handleKeyDown(e){const{key:t,shiftKey:i}=e;switch(t){case import_ag_grid_community8.KeyCode.UP:case import_ag_grid_community8.KeyCode.DOWN:{const r=t===import_ag_grid_community8.KeyCode.UP;e.preventDefault(),i?this.moveItem(r):this.navigate(r)}break;case import_ag_grid_community8.KeyCode.PAGE_HOME:case import_ag_grid_community8.KeyCode.PAGE_END:case import_ag_grid_community8.KeyCode.PAGE_UP:case import_ag_grid_community8.KeyCode.PAGE_DOWN:this.navigateToPage(t)!==null&&e.preventDefault();break}}onTabKeyDown(e){this.stopPropagationCallbacks?.stopPropagation(e),this.forceFocusOutOfContainer(e.shiftKey)}getNextRow(e){if(this.lastFocusedRowIndex==null)return;const t=this.lastFocusedRowIndex+(e?-1:1);if(!(t<0||t>=this.model.getRowCount()))return t}moveItem(e){if(!this.moveItemCallback)return;const t=this.getComponentAt(this.lastFocusedRowIndex);t&&this.moveItemCallback(t,e)}navigate(e){const t=this.getNextRow(e);t!==void 0&&this.focusRow(t)}navigateToPage(e,t="focused"){let i=!1;t==="focused"&&(t=this.getLastFocusedRow(),i=!0);const r=this.model.getRowCount()-1;let n=-1;return e===import_ag_grid_community8.KeyCode.PAGE_HOME?n=0:e===import_ag_grid_community8.KeyCode.PAGE_END?n=r:e===import_ag_grid_community8.KeyCode.PAGE_DOWN?n=Math.min(t+this.pageSize,r):e===import_ag_grid_community8.KeyCode.PAGE_UP&&(n=Math.max(t-this.pageSize,0)),n===-1?null:(i?this.focusRow(n):this.ensureIndexVisible(n),n)}getLastFocusedRow(){return this.lastFocusedRowIndex}focusRow(e){this.isScrolling||(this.isScrolling=!0,this.ensureIndexVisible(e),(0,import_ag_stack14._requestAnimationFrame)(this.beans,()=>{if(this.isScrolling=!1,!this.isAlive())return;const t=this.renderedRows.get(e);t&&t.eDiv.focus()}))}getComponentAt(e){return this.renderedRows.get(e)?.rowComponent}forEachRenderedRow(e){this.renderedRows.forEach((t,i)=>e(t.rowComponent,i))}getItemHeight(){return this.isHeightFromTheme?this.beans.environment.getDefaultListItemHeight():this.rowHeight}ensureIndexVisible(e,t=!0){const i=this.model.getRowCount();if(typeof e!="number"||e<0||e>=i)return!1;const r=e*this.rowHeight,n=r+this.rowHeight,o=this.getGui(),a=o.scrollTop,l=o.offsetHeight,c=a+l,u=t?0:this.rowHeight,d=a>r+u,h=c<n-u;if(d)return o.scrollTop=r,!0;if(h){const p=n-l;return o.scrollTop=p,!0}return!1}setComponentCreator(e){this.componentCreator=e}setComponentUpdater(e){this.componentUpdater=e}getRowHeight(){return this.rowHeight}getScrollTop(){return this.getGui().scrollTop}setRowHeight(e){this.isHeightFromTheme=!1,this.rowHeight=e,this.refresh()}refresh(e){if(this.model==null||!this.isAlive())return;const t=this.model.getRowCount();this.eContainer.style.height=`${t*this.rowHeight}px`,this.refreshAriaProperties(),this.awaitStable(()=>{this.isAlive()&&(this.canSoftRefresh(e)?this.drawVirtualRows(!0):(this.clearVirtualRows(),this.drawVirtualRows()))})}awaitStable(e){if(this.awaitStableCallbacks.push(e),this.awaitStableCallbacks.length>1)return;const t=this.model.getRowCount();(0,import_ag_stack14._waitUntil)(this,()=>this.eContainer.clientHeight>=t*this.rowHeight,()=>{if(!this.isAlive())return;const i=this.awaitStableCallbacks;this.awaitStableCallbacks=[];for(const r of i)r()})}canSoftRefresh(e){return!!(e&&this.renderedRows.size&&typeof this.model.areRowsEqual=="function"&&this.componentUpdater)}clearVirtualRows(){this.renderedRows.forEach((e,t)=>this.removeRow(t))}drawVirtualRows(e){if(!this.isAlive()||!this.model)return;const t=this.getGui(),i=t.scrollTop,r=i+t.offsetHeight;if(i===r)this.clearVirtualRows();else{const n=Math.floor(i/this.rowHeight),o=Math.floor(r/this.rowHeight);this.pageSize=Math.floor((r-i)/this.rowHeight),this.ensureRowsRendered(n,o,e)}}ensureRowsRendered(e,t,i){this.renderedRows.forEach((r,n)=>{(n<e||n>t)&&n!==this.lastFocusedRowIndex&&this.removeRow(n)}),i&&this.refreshRows();for(let r=e;r<=t;r++)this.renderedRows.has(r)||r<this.model.getRowCount()&&this.insertRow(r)}insertRow(e){const{model:t}=this;if(e<0||e>=t.getRowCount())return;const{cssIdentifier:i,ariaRole:r,renderedRows:n,eContainer:o}=this,a=t.getRow(e),l=r==="tree"?"treeitem":"option",c=(0,import_ag_stack14._createAgElement)({tag:"div",cls:`ag-virtual-list-item ag-${i}-virtual-list-item`,role:l,attrs:{tabindex:"-1"}});(0,import_ag_stack14._setAriaSetSize)(c,t.getRowCount()),(0,import_ag_stack14._setAriaPosInSet)(c,e+1);const u=this.rowHeight;c.style.height=`${u}px`,c.style.top=`${u*e}px`;const d=this.componentCreator(a,c,e);d.addGuiEventListener("focusin",()=>this.lastFocusedRowIndex=e),c.appendChild(d.getGui()),n.has(e-1)?n.get(e-1).eDiv.insertAdjacentElement("afterend",c):n.has(e+1)?n.get(e+1).eDiv.insertAdjacentElement("beforebegin",c):o.appendChild(c),n.set(e,{rowComponent:d,eDiv:c,value:a})}removeRow(e){const t=this.renderedRows.get(e);t.eDiv.remove(),this.destroyBean(t.rowComponent),this.renderedRows.delete(e)}refreshRows(){const e=this.model.getRowCount();this.renderedRows.forEach((t,i)=>{if(i>=e)this.removeRow(i);else{const r=this.model.getRow(i);this.model.areRowsEqual?.(t.value,r)?this.componentUpdater(r,t.rowComponent):this.removeRow(i)}})}addScrollListener(){this.addGuiEventListener("scroll",()=>this.drawVirtualRows(),{passive:!0})}setModel(e){this.model=e}getAriaElement(){return this.eContainer}destroy(){this.isAlive()&&(this.clearVirtualRows(),this.awaitStableCallbacks.length=0,super.destroy())}},import_ag_stack15=require("ag-stack"),agVirtualListDragFeature_default='.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}',LIST_ITEM_HOVERED="ag-list-item-hovered",AgVirtualListDragFeature=class extends import_ag_stack15.AgBeanStub{constructor(e,t,i){super(),this.comp=e,this.virtualList=t,this.params=i,this.currentDragValue=null,this.lastHoveredListItem=null}postConstruct(){this.beans.environment.addGlobalCSS(agVirtualListDragFeature_default,"component-AgVirtualListDragFeature"),this.params.addListeners(this,this.listItemDragStart.bind(this),this.listItemDragEnd.bind(this)),this.createDropTarget(),this.createAutoScrollService()}listItemDragStart(e){this.currentDragValue=this.params.getCurrentDragValue(e),this.moveBlocked=this.params.isMoveBlocked(this.currentDragValue)}listItemDragEnd(){window.setTimeout(()=>{this.currentDragValue=null,this.moveBlocked=!1},10)}createDropTarget(){const e={isInterestedIn:t=>t===this.params.dragSourceType,getIconName:()=>this.moveBlocked?"pinned":"move",getContainer:()=>this.comp.getGui(),onDragging:t=>this.onDragging(t),onDragStop:()=>this.onDragStop(),onDragLeave:()=>this.onDragLeave(),onDragCancel:()=>this.onDragCancel()};this.beans.dragAndDrop?.addDropTarget(e)}createAutoScrollService(){const e=this.virtualList.getGui();this.autoScrollService=new import_ag_stack15.AutoScrollService({scrollContainer:e,scrollAxis:"y",getVerticalPosition:()=>e.scrollTop,setVerticalPosition:t=>e.scrollTop=t})}onDragging(e){if(!this.currentDragValue||this.moveBlocked)return;const t=this.getListDragItem(e),i=this.virtualList.getComponentAt(t.rowIndex);if(!i)return;const r=i.getGui().parentElement;this.lastHoveredListItem?.rowIndex===t.rowIndex&&this.lastHoveredListItem.position===t.position||(this.autoScrollService.check(e.event),this.clearHoveredItems(),this.lastHoveredListItem=t,(0,import_ag_stack15._radioCssClass)(r,LIST_ITEM_HOVERED),(0,import_ag_stack15._radioCssClass)(r,`ag-item-highlight-${t.position}`))}getListDragItem(e){const t=this.virtualList.getGui(),i=Number.parseFloat(window.getComputedStyle(t).paddingTop),r=this.virtualList.getRowHeight(),n=this.virtualList.getScrollTop(),o=Math.max(0,(e.y-i+n)/r),a=this.params.getNumRows(this.comp)-1,l=Math.min(a,o)|0;return{rowIndex:l,position:Math.round(o)>o||o>a?"bottom":"top",component:this.virtualList.getComponentAt(l)}}onDragStop(){this.moveBlocked||(this.params.moveItem(this.currentDragValue,this.lastHoveredListItem),this.clearDragProperties())}onDragCancel(){this.clearDragProperties()}onDragLeave(){this.clearDragProperties()}clearDragProperties(){this.clearHoveredItems(),this.autoScrollService.ensureCleared()}clearHoveredItems(){const e=this.virtualList.getGui();for(const t of e.querySelectorAll(`.${LIST_ITEM_HOVERED}`))for(const i of[LIST_ITEM_HOVERED,"ag-item-highlight-top","ag-item-highlight-bottom"])t.classList.remove(i);this.lastHoveredListItem=null}},import_ag_stack16=require("ag-stack"),import_ag_grid_community10=require("ag-grid-community"),import_ag_grid_community9=require("ag-grid-community"),AgInputRange=class extends import_ag_grid_community9.AgAbstractInputField{constructor(e){super(e,"ag-range-field","range")}postConstruct(){super.postConstruct();const{min:e,max:t,step:i}=this.config;e!=null&&this.setMinValue(e),t!=null&&this.setMaxValue(t),this.setStep(i||1)}addInputListeners(){this.addManagedElementListeners(this.eInput,{input:e=>{const t=e.target.value;this.setValue(t)}})}setMinValue(e){return this.min=e,this.eInput.setAttribute("min",e.toString()),this}setMaxValue(e){return this.max=e,this.eInput.setAttribute("max",e.toString()),this}setStep(e){return this.eInput.setAttribute("step",e.toString()),this}setValue(e,t){this.min!=null&&(e=Math.max(parseFloat(e),this.min).toString()),this.max!=null&&(e=Math.min(parseFloat(e),this.max).toString());const i=super.setValue(e,t);return this.eInput.value=e,i}},AgInputRangeSelector={selector:"AG-INPUT-RANGE",component:AgInputRange},agSlider_default=".ag-slider-wrapper{display:flex;:where(.ag-input-field){flex:1 1 auto}}:where(.ag-ltr) .ag-slider-field{margin-right:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-slider-field{margin-left:calc(var(--ag-spacing)*2)}",AgSlider=class extends import_ag_grid_community10.AgAbstractLabel{constructor(e){super(e,`<div class="ag-slider">
            <label data-ref="eLabel"></label>
            <div class="ag-wrapper ag-slider-wrapper">
                <ag-input-range data-ref="eSlider"></ag-input-range>
                <ag-input-number-field data-ref="eText"></ag-input-number-field>
            </div>
        </div>`,[AgInputRangeSelector,import_ag_grid_community10.AgInputNumberFieldSelector]),this.eLabel=import_ag_stack16.RefPlaceholder,this.eSlider=import_ag_stack16.RefPlaceholder,this.eText=import_ag_stack16.RefPlaceholder,this.labelAlignment="top",this.registerCSS(agSlider_default)}postConstruct(){super.postConstruct(),this.eSlider.addCss("ag-slider-field");const{minValue:e,maxValue:t,textFieldWidth:i,step:r,value:n,onValueChange:o}=this.config;e!=null&&this.setMinValue(e),t!=null&&this.setMaxValue(t),i!=null&&this.setTextFieldWidth(i),r!=null&&this.setStep(r),n!=null&&this.setValue(n),o!=null&&this.onValueChange(o)}onValueChange(e){return this.addManagedListeners(this.eText,{fieldValueChanged:()=>{const t=parseFloat(this.eText.getValue());this.eSlider.setValue(t.toString(),!0),e(t||0)}}),this.addManagedListeners(this.eSlider,{fieldValueChanged:()=>{const t=this.eSlider.getValue();this.eText.setValue(t,!0),e(parseFloat(t))}}),this}setSliderWidth(e){return this.eSlider.setWidth(e),this}setTextFieldWidth(e){return this.eText.setWidth(e),this}setMinValue(e){return this.eSlider.setMinValue(e),this.eText.setMin(e),this}setMaxValue(e){return this.eSlider.setMaxValue(e),this.eText.setMax(e),this}getValue(){return this.eText.getValue()}setValue(e,t){return this.getValue()===e?this:(this.eText.setValue(e,!0),this.eSlider.setValue(e,!0),t||this.dispatchLocalEvent({type:"fieldValueChanged"}),this)}setStep(e){return this.eSlider.setStep(e),this.eText.setStep(e),this}},AgSliderSelector={selector:"AG-SLIDER",component:AgSlider},import_ag_grid_community14=require("ag-grid-community"),import_ag_stack18=require("ag-stack"),import_ag_grid_community12=require("ag-grid-community"),import_ag_stack17=require("ag-stack"),import_ag_grid_community11=require("ag-grid-community"),AgColorInput=class extends import_ag_grid_community11.AgInputTextField{constructor(){super({template:{tag:"div",cls:"ag-color-input",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:"input",ref:"eInput",cls:"ag-input-field-input"},{tag:"div",ref:"eColor",cls:"ag-color-input-color"}]}]}}),this.eColor=import_ag_stack17.RefPlaceholder}wireBeans(e){this.color=e.agChartsExports._Util.Color}setColor(e){const t=e.toRgbaString();this.setValue(this.color.fromString(t).toHexString().toUpperCase(),!0),this.eColor.style.backgroundColor=t}setValue(e,t){const i=this.color.validColorString(e??"");return this.eInput.setCustomValidity(i?"":this.getLocaleTextFunc()("invalidColor","Color value is invalid")),super.setValue(e,t),i&&!t&&this.dispatchLocalEvent({type:"colorChanged"}),this}onColorChanged(e){this.addManagedListeners(this,{colorChanged:()=>e(this.color.fromString(this.value))})}},AgColorInputSelector={selector:"AG-COLOR-INPUT",component:AgColorInput},maxRecentColors=8,sharedRecentColors=[],AgColorPanel=class extends import_ag_stack18.AgComponentStub{constructor(e){super(`<div class="ag-color-panel" tabindex="-1">
            <div data-ref="spectrumColor" class="ag-spectrum-color">
                <div class="ag-spectrum-sat ag-spectrum-fill">
                    <div data-ref="spectrumVal" class="ag-spectrum-val ag-spectrum-fill">
                        <div data-ref="spectrumDragger" class="ag-spectrum-dragger"></div>
                    </div>
                </div>
            </div>
            <div class="ag-spectrum-tools">
                <div data-ref="spectrumHue" class="ag-spectrum-hue ag-spectrum-tool">
                    <div class="ag-spectrum-hue-background"></div>
                    <div data-ref="spectrumHueSlider" class="ag-spectrum-slider"></div>
                </div>
                <div data-ref="spectrumAlpha" class="ag-spectrum-alpha ag-spectrum-tool">
                    <div class="ag-spectrum-alpha-background"></div>
                    <div data-ref="spectrumAlphaSlider" class="ag-spectrum-slider"></div>
                </div>
                <ag-color-input data-ref="colorInput"></ag-color-input>
                <div data-ref="recentColors" class="ag-recent-colors"></div>
            </div>
        </div>`,[AgColorInputSelector]),this.H=1,this.S=1,this.B=1,this.A=1,this.isSpectrumDragging=!1,this.isSpectrumHueDragging=!1,this.isSpectrumAlphaDragging=!1,this.colorChanged=!1,this.spectrumColor=import_ag_stack18.RefPlaceholder,this.spectrumVal=import_ag_stack18.RefPlaceholder,this.spectrumDragger=import_ag_stack18.RefPlaceholder,this.spectrumHue=import_ag_stack18.RefPlaceholder,this.spectrumHueSlider=import_ag_stack18.RefPlaceholder,this.spectrumAlpha=import_ag_stack18.RefPlaceholder,this.spectrumAlphaSlider=import_ag_stack18.RefPlaceholder,this.colorInput=import_ag_stack18.RefPlaceholder,this.recentColors=import_ag_stack18.RefPlaceholder,this.picker=e.picker}wireBeans(e){this._Color=e.agChartsExports._Util.Color}postConstruct(){this.initTabIndex(),this.initRecentColors(),this.addGuiEventListener("focus",()=>this.spectrumColor.focus()),this.addGuiEventListener("keydown",e=>{e.key===import_ag_grid_community12.KeyCode.ENTER&&!e.defaultPrevented&&this.destroy()}),this.addManagedListeners(this.spectrumColor,{keydown:e=>this.moveDragger(e)}),this.addManagedListeners(this.spectrumAlphaSlider,{keydown:e=>this.moveAlphaSlider(e)}),this.addManagedListeners(this.spectrumHueSlider,{keydown:e=>this.moveHueSlider(e)}),this.addManagedListeners(this.spectrumVal,{mousedown:this.onSpectrumDraggerDown.bind(this)}),this.addManagedListeners(this.spectrumHue,{mousedown:this.onSpectrumHueDown.bind(this)}),this.addManagedListeners(this.spectrumAlpha,{mousedown:this.onSpectrumAlphaDown.bind(this)}),this.addGuiEventListener("mousemove",e=>{this.onSpectrumDraggerMove(e),this.onSpectrumHueMove(e),this.onSpectrumAlphaMove(e)}),this.addManagedListeners(document,{mouseup:this.onMouseUp.bind(this)}),this.colorInput.onColorChanged(this.setColor.bind(this)),this.addManagedListeners(this.recentColors,{click:this.onRecentColorClick.bind(this),keydown:e=>{(e.key===import_ag_grid_community12.KeyCode.ENTER||e.key===import_ag_grid_community12.KeyCode.SPACE)&&(e.preventDefault(),this.onRecentColorClick(e))}})}initTabIndex(){const e=this.tabIndex=this.gos.get("tabIndex").toString();this.spectrumColor.setAttribute("tabindex",e),this.spectrumHueSlider.setAttribute("tabindex",e),this.spectrumAlphaSlider.setAttribute("tabindex",e)}refreshSpectrumRect(){return this.spectrumValRect=this.spectrumVal.getBoundingClientRect()}refreshHueRect(){return this.spectrumHueRect=this.spectrumHue.getBoundingClientRect()}refreshAlphaRect(){return this.spectrumAlphaRect=this.spectrumAlpha.getBoundingClientRect()}onSpectrumDraggerDown(e){e.preventDefault(),this.refreshSpectrumRect(),this.isSpectrumDragging=!0,this.moveDragger(e)}onSpectrumDraggerMove(e){this.isSpectrumDragging&&this.moveDragger(e)}onSpectrumHueDown(e){this.refreshHueRect(),this.isSpectrumHueDragging=!0,this.moveHueSlider(e)}onSpectrumHueMove(e){this.isSpectrumHueDragging&&this.moveHueSlider(e)}onSpectrumAlphaDown(e){this.refreshAlphaRect(),this.isSpectrumAlphaDragging=!0,this.moveAlphaSlider(e)}onSpectrumAlphaMove(e){this.isSpectrumAlphaDragging&&this.moveAlphaSlider(e)}onMouseUp(){this.isSpectrumDragging=!1,this.isSpectrumHueDragging=!1,this.isSpectrumAlphaDragging=!1}moveDragger(e){const t=this.spectrumValRect;if(!t)return;let i,r;if(e instanceof MouseEvent)i=e.clientX-t.left,r=e.clientY-t.top;else{const n=e.key===import_ag_grid_community12.KeyCode.LEFT,o=e.key===import_ag_grid_community12.KeyCode.RIGHT,a=e.key===import_ag_grid_community12.KeyCode.UP,l=e.key===import_ag_grid_community12.KeyCode.DOWN,c=a||l,u=n||o;if(!c&&!u)return;e.preventDefault();const{x:d,y:h}=this.getSpectrumValue();i=d+(u?n?-5:5:0),r=h+(c?a?-5:5:0)}i=Math.max(i,0),i=Math.min(i,t.width),r=Math.max(r,0),r=Math.min(r,t.height),this.setSpectrumValue(i/t.width,1-r/t.height)}moveHueSlider(e){const t=this.spectrumHueRect;if(!t)return;const i=this.moveSlider(this.spectrumHueSlider,e);i!=null&&(this.H=1-i/t.width,this.update())}moveAlphaSlider(e){const t=this.spectrumAlphaRect;if(!t)return;const i=this.moveSlider(this.spectrumAlphaSlider,e);i!=null&&(this.A=i/t.width,this.update())}moveSlider(e,t){const i=e.getBoundingClientRect(),r=e.parentElement?.getBoundingClientRect();if(!e||!r)return null;const n=i.width/2;let o;if(t instanceof MouseEvent)o=Math.floor(t.clientX-r.left);else{const a=t.key===import_ag_grid_community12.KeyCode.LEFT,l=t.key===import_ag_grid_community12.KeyCode.RIGHT;if(!a&&!l)return null;t.preventDefault();const c=a?-5:5;o=parseFloat(e.style.left)+n+c}return o=Math.max(o,0),o=Math.min(o,r.width),e.style.left=o-n+"px",o}update(e){const{A:t,S:i,B:r,H:n,_Color:o}=this,a=n*360,l=o.fromHSB(a,i,r,t),c=l.toRgbaString(),d=o.fromHSB(a,i,r).toRgbaString(),p=o.fromHSB(a,1,1).toRgbaString(),g=this.picker;o.fromString(g.getValue()).toRgbaString()!==c&&(this.colorChanged=!0),g.setValue(c),this.spectrumColor.style.backgroundColor=p,this.spectrumDragger.style.backgroundColor=d,this.spectrumHueSlider.style.backgroundColor=p,this.spectrumAlpha.style.setProperty("--ag-internal-spectrum-alpha-color-from",o.fromHSB(a,i,r,0).toRgbaString()),this.spectrumAlpha.style.setProperty("--ag-internal-spectrum-alpha-color-to",d),this.spectrumAlpha.style.setProperty("--ag-internal-spectrum-alpha-color",c),e||this.colorInput.setColor(l)}setSpectrumValue(e,t,i){const r=this.spectrumValRect||this.refreshSpectrumRect();if(r==null)return;const n=this.spectrumDragger,o=n.getBoundingClientRect();e=Math.max(0,e),e=Math.min(1,e),t=Math.max(0,t),t=Math.min(1,t),this.S=e,this.B=t,n.style.left=e*r.width-o.width/2+"px",n.style.top=(1-t)*r.height-o.height/2+"px",this.update(i)}getSpectrumValue(){const e=this.spectrumDragger,t=e.getBoundingClientRect(),i=parseFloat(e.style.left)+t.width/2,r=parseFloat(e.style.top)+t.height/2;return{x:i,y:r}}initRecentColors(){const e=sharedRecentColors,t=e.map((i,r)=>`<div class="ag-recent-color" id=${r} style="background-color: ${i}; width: 15px; height: 15px;" recent-color="${i}" tabIndex="${this.tabIndex}"></div>`);this.recentColors.innerHTML=t.join(""),(0,import_ag_stack18._setDisplayed)(this.recentColors,!!e.length)}setValue(e){const t=this._Color.fromString(e);this.setColor(t,!0)}setColor(e,t){const[i,r,n]=e.toHSB();this.H=(isNaN(i)?0:i)/360,this.A=e.a;const o=this.spectrumHueRect||this.refreshHueRect(),a=this.spectrumAlphaRect||this.refreshAlphaRect();this.spectrumHueSlider.style.left=`${(this.H-1)*-o.width-this.spectrumHueSlider.getBoundingClientRect().width/2}px`,this.spectrumAlphaSlider.style.left=`${this.A*a.width-this.spectrumAlphaSlider.getBoundingClientRect().width/2}px`,this.setSpectrumValue(r,n,!t)}onRecentColorClick(e){const t=e.target;if(!(0,import_ag_stack18._exists)(t.id))return;const i=parseInt(t.id,10);this.setValue(sharedRecentColors[i]),this.destroy()}addRecentColor(){const t=this._Color.fromHSB(this.H*360,this.S,this.B,this.A).toRgbaString();let i=sharedRecentColors;!this.colorChanged||i[0]===t||(i=i.filter(r=>r!=t),i=[t].concat(i),i.length>maxRecentColors&&(i=i.slice(0,maxRecentColors)),sharedRecentColors=i)}destroy(){this.addRecentColor(),super.destroy()}},agColorPicker_default=`.ag-color-panel{display:flex;flex-direction:column;padding:var(--ag-spacing);text-align:center;width:100%}.ag-spectrum-color{cursor:default;flex:1 1 auto;overflow:visible;position:relative}.ag-spectrum-color,.ag-spectrum-fill{border-radius:var(--ag-border-radius)}.ag-spectrum-fill{inset:0;position:absolute}.ag-spectrum-val{background-image:linear-gradient(0deg,#000,rgba(204,154,129,0));cursor:pointer}.ag-spectrum-dragger{background:#000;border:var(--ag-color-picker-thumb-border-width) solid #fff;border-radius:var(--ag-color-picker-thumb-size);box-shadow:0 0 2px 0 rgba(0,0,0,.24);cursor:pointer;height:var(--ag-color-picker-thumb-size);pointer-events:none;position:absolute;width:var(--ag-color-picker-thumb-size)}.ag-spectrum-alpha,.ag-spectrum-hue{cursor:default}.ag-spectrum-hue-background{background:linear-gradient(270deg,red 3%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);height:100%;width:100%}.ag-spectrum-alpha-background{background:linear-gradient(to right,var(--ag-internal-spectrum-alpha-color-from),var(--ag-internal-spectrum-alpha-color-to)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4"><rect x="0" y="0" width="4" height="4" fill="%23fff"/><path d="M0 0H2V4H4V2H0Z" fill="%23b2b2b2"/></svg>') 0 0 /4px 4px;height:100%;width:100%}.ag-spectrum-tool{cursor:pointer;height:var(--ag-color-picker-track-size);margin-bottom:10px;position:relative}.ag-spectrum-slider,.ag-spectrum-tool{border-radius:var(--ag-color-picker-thumb-size)}.ag-spectrum-slider{border:var(--ag-color-picker-thumb-border-width) solid #fff;box-shadow:0 1px 4px 0 rgba(0,0,0,.37);height:var(--ag-color-picker-thumb-size);margin-top:calc(var(--ag-color-picker-track-size)/2*-1 + var(--ag-color-picker-thumb-size)/2*-1);pointer-events:none;position:absolute;width:var(--ag-color-picker-thumb-size)}:where(.ag-spectrum-alpha) .ag-spectrum-slider{background:linear-gradient(to bottom,var(--ag-internal-spectrum-alpha-color),var(--ag-internal-spectrum-alpha-color)) var(--ag-background-color)}.ag-recent-colors{display:flex;gap:6px;margin:10px var(--ag-spacing) 2px}.ag-recent-color{border:solid var(--ag-border-width) var(--ag-border-color);cursor:pointer}.ag-color-dialog{border-radius:5px}:where(.ag-color-picker){.ag-picker-field-wrapper{padding-left:var(--ag-spacing);padding-right:var(--ag-spacing)}.ag-picker-field-display{align-items:center;display:flex;flex-direction:row;min-height:var(--ag-list-item-height)}}:where(.ag-ltr) .ag-color-picker-color,:where(.ag-ltr) .ag-color-picker-value{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-color-picker-color,:where(.ag-rtl) .ag-color-picker-value{margin-left:var(--ag-spacing)}.ag-spectrum-tools{padding:10px 0 0}.ag-spectrum-alpha-background,.ag-spectrum-hue-background{border-radius:var(--ag-color-picker-track-border-radius)}.ag-color-input-color,.ag-color-picker-color,.ag-recent-color{border-radius:var(--ag-color-picker-color-border-radius)}.ag-spectrum-sat{background-image:linear-gradient(90deg,#fff,rgba(204,154,129,0))}.ag-recent-color,.ag-spectrum-color,.ag-spectrum-slider{&:where(:not(:disabled,[readonly])):focus-visible{box-shadow:var(--ag-focus-shadow)}}.ag-color-input-color,.ag-color-picker-color{border:solid var(--ag-border-width) var(--ag-border-color);height:var(--ag-icon-size);width:var(--ag-icon-size)}:where(.ag-ltr) .ag-color-input .ag-input-field-input{padding-left:calc(var(--ag-icon-size) + var(--ag-spacing)*2)}:where(.ag-rtl) .ag-color-input .ag-input-field-input{padding-right:calc(var(--ag-icon-size) + var(--ag-spacing)*2)}:where(.ag-color-input) .ag-color-input-color{position:absolute}:where(.ag-ltr) :where(.ag-color-input) .ag-color-input-color{margin-left:var(--ag-spacing)}:where(.ag-rtl) :where(.ag-color-input) .ag-color-input-color{margin-right:var(--ag-spacing)}`,import_ag_stack20=require("ag-stack"),import_ag_stack19=require("ag-stack"),import_ag_grid_community13=require("ag-grid-community"),agPanel_default=".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 getTemplate(e){return e??(e=e||"default"),{tag:"div",cls:`ag-panel ag-${e}-panel`,attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eTitleBar",cls:`ag-panel-title-bar ag-${e}-panel-title-bar ag-unselectable`,children:[{tag:"span",ref:"eTitle",cls:`ag-panel-title-bar-title ag-${e}-panel-title-bar-title`},{tag:"div",ref:"eTitleBarButtons",cls:`ag-panel-title-bar-buttons ag-${e}-panel-title-bar-buttons`}]},{tag:"div",ref:"eContentWrapper",cls:`ag-panel-content-wrapper ag-${e}-panel-content-wrapper`}]}}var AgPanel=class extends import_ag_stack19.AgComponentStub{constructor(e){super(getTemplate(e.cssIdentifier)),this.config=e,this.closable=!0,this.eContentWrapper=import_ag_stack19.RefPlaceholder,this.eTitleBar=import_ag_stack19.RefPlaceholder,this.eTitleBarButtons=import_ag_stack19.RefPlaceholder,this.eTitle=import_ag_stack19.RefPlaceholder,this.registerCSS(agPanel_default)}postConstruct(){const{component:e,closable:t,hideTitleBar:i,title:r,minWidth:n=250,width:o,minHeight:a=250,height:l,centered:c,popup:u,x:d,y:h,postProcessPopupParams:p}=this.config,g=this.beans,f=this.createManagedBean(new import_ag_stack19.AgPositionableFeature(this.getGui(),{minWidth:n,width:o,minHeight:a,height:l,centered:c,x:d,y:h,popup:u,calculateTopBuffer:()=>this.positionableFeature.getHeight()-this.getBodyHeight()}));this.positionableFeature=f;const m=this.getGui();if(e&&this.setBodyComponent(e),i?(0,import_ag_stack19._setDisplayed)(this.eTitleBar,!1):(r&&this.setTitle(r),this.setClosable(t??this.closable)),this.addManagedElementListeners(this.eTitleBar,{mousedown:C=>{if(m.contains(C.relatedTarget)||m.contains((0,import_ag_stack19._getActiveDomElement)(g))||this.eTitleBarButtons.contains(C.target)){C.preventDefault();return}const y=this.eContentWrapper.querySelector("button, [href], input, select, textarea, [tabindex]");y&&y.focus()}}),u&&f.isPositioned())return;this.renderComponent&&this.renderComponent();let v;if(p){const{type:C,eventSource:y,mouseEvent:S}=p;v=()=>g.popupSvc?.callPostProcessPopup(p,C,m,y,S)}f.initialisePosition(v),this.eContentWrapper.style.height="0"}renderComponent(){const e=this.getGui();e.focus(),this.close=()=>{e.remove(),this.destroy()}}getHeight(){return this.positionableFeature.getHeight()}setHeight(e){this.positionableFeature.setHeight(e)}getWidth(){return this.positionableFeature.getWidth()}get isResizing(){return this.positionableFeature.isResizing}setWidth(e){this.positionableFeature.setWidth(e)}setClosable(e){if(e!==this.closable&&(this.closable=e),e){const t=this.closeButtonComp=new import_ag_stack19.AgComponentStub({tag:"div",cls:"ag-button"});this.createBean(t);const i=t.getGui(),r=this.beans.iconSvc.createIconNoSpan("close",this.beans);r.classList.add("ag-panel-title-bar-button-icon"),i.appendChild(r),this.addTitleBarButton(t),t.addManagedElementListeners(i,{click:this.onBtClose.bind(this)})}else this.closeButtonComp&&(this.closeButtonComp.getGui().remove(),this.closeButtonComp=this.destroyBean(this.closeButtonComp))}setBodyComponent(e){e.setParentComponent(this),this.eContentWrapper.appendChild(e.getGui())}addTitleBarButton(e,t){const i=this.eTitleBarButtons,r=i.children,n=r.length;t==null&&(t=n),t=(0,import_ag_grid_community13._clamp)(t,0,n),e.addCss("ag-panel-title-bar-button");const o=e.getGui();t===0?i.prepend(o):t===n?i.append(o):r[t-1].after(o),e.setParentComponent(this)}getBodyHeight(){return(0,import_ag_stack19._getInnerHeight)(this.eContentWrapper)}getBodyWidth(){return(0,import_ag_stack19._getInnerWidth)(this.eContentWrapper)}setTitle(e){this.eTitle.innerText=e}onBtClose(){this.close()}destroy(){this.closeButtonComp&&(this.closeButtonComp=this.destroyBean(this.closeButtonComp));const e=this.getGui();e&&(0,import_ag_stack19._isVisible)(e)&&this.close(),super.destroy()}},AgDialog=class extends AgPanel{constructor(e,t){super({...e,popup:!0}),this.callbacks=t,this.isMaximizable=!1,this.isMaximized=!1,this.maximizeListeners=[],this.resizeListenerDestroy=null,this.lastPosition={x:0,y:0,width:0,height:0}}wireBeans(e){this.popupSvc=e.popupSvc}postConstruct(){const e=this.getGui(),{movable:t,resizable:i,maximizable:r,modal:n}=this.config;this.addCss("ag-dialog"),super.postConstruct(),this.tabGuardFeature=this.createManagedBean(new import_ag_stack20.AgTabGuardFeature(this,this.callbacks?.stopPropagationCallbacks)),this.tabGuardFeature.initialiseTabGuard({isFocusableContainer:!0,onFocusIn:()=>{this.popupSvc?.bringPopupToFront(e)},onGuardFocusedFromInside:n?void 0:o=>this.callbacks?.focusNextContainer(this.beans,!o),onTabKeyDown:()=>{}}),t&&this.setMovable(t),r&&this.setMaximizable(r),i&&this.setResizable(i),n||this.callbacks?.configureFocusableContainer(this.beans,this)}setAllowFocus(e){this.tabGuardFeature.getTabGuardCtrl().setAllowFocus(e)}renderComponent(){const e=this.getGui(),{alwaysOnTop:t,modal:i,title:r,afterGuiAttached:n}=this.config,o=this.getLocaleTextFunc(),a=this.popupSvc?.addPopup({modal:i,eChild:e,closeOnEsc:!0,closedCallback:this.onClosed.bind(this),alwaysOnTop:t,ariaLabel:r||o("ariaLabelDialog","Dialog"),afterGuiAttached:n});a&&(this.close=a.hideFunc)}onClosed(e){this.destroy(),this.config.closedCallback?.(e)}setMaximized(e){this.isMaximizable&&e!==this.isMaximized&&this.toggleMaximize()}toggleMaximize(){const e=this.positionableFeature.getPosition();if(this.isMaximized){const{x:t,y:i,width:r,height:n}=this.lastPosition;this.setWidth(r),this.setHeight(n),this.positionableFeature.offsetElement(t,i)}else this.lastPosition.width=this.getWidth(),this.lastPosition.height=this.getHeight(),this.lastPosition.x=e.x,this.lastPosition.y=e.y,this.positionableFeature.offsetElement(0,0),this.setHeight("100%"),this.setWidth("100%");this.isMaximized=!this.isMaximized,this.refreshMaximizeIcon()}refreshMaximizeIcon(){(0,import_ag_stack20._setDisplayed)(this.maximizeIcon,!this.isMaximized),(0,import_ag_stack20._setDisplayed)(this.minimizeIcon,this.isMaximized)}clearMaximizebleListeners(){if(this.maximizeListeners.length){for(const e of this.maximizeListeners)e();this.maximizeListeners.length=0}this.resizeListenerDestroy&&(this.resizeListenerDestroy(),this.resizeListenerDestroy=null)}destroy(){this.maximizeButtonComp=this.destroyBean(this.maximizeButtonComp),this.clearMaximizebleListeners(),super.destroy()}setResizable(e){this.positionableFeature.setResizable(e)}setMovable(e){this.positionableFeature.setMovable(e,this.eTitleBar)}setMaximizable(e){if(!e){this.clearMaximizebleListeners(),this.maximizeButtonComp&&(this.destroyBean(this.maximizeButtonComp),this.maximizeButtonComp=this.maximizeIcon=this.minimizeIcon=void 0);return}const t=this.eTitleBar;if(!t||e===this.isMaximizable)return;this.isMaximizable=e;const i=this.buildMaximizeAndMinimizeElements();this.refreshMaximizeIcon(),i.addManagedElementListeners(i.getGui(),{click:this.toggleMaximize.bind(this)}),this.addTitleBarButton(i,0),this.maximizeListeners.push(...this.addManagedElementListeners(t,{dblclick:this.toggleMaximize.bind(this)})),[this.resizeListenerDestroy]=this.addManagedListeners(this.positionableFeature,{resize:()=>{this.isMaximized=!1,this.refreshMaximizeIcon()}})}buildMaximizeAndMinimizeElements(){const e=this.maximizeButtonComp=this.createBean(new import_ag_stack20.AgComponentStub({tag:"div",cls:"ag-dialog-button"})),t=e.getGui(),i=this.beans.iconSvc;return this.maximizeIcon=i.createIconNoSpan("maximize"),t.appendChild(this.maximizeIcon),this.maximizeIcon.classList.add("ag-panel-title-bar-button-icon"),this.minimizeIcon=i.createIconNoSpan("minimize"),t.appendChild(this.minimizeIcon),this.minimizeIcon.classList.add("ag-panel-title-bar-button-icon"),e}},AgColorPicker=class extends import_ag_grid_community14.AgPickerField{constructor(e){super({pickerAriaLabelKey:"ariaLabelColorPicker",pickerAriaLabelValue:"Color Picker",pickerType:"ag-list",className:"ag-color-picker",pickerIcon:"chartsColorPicker",...e}),this.registerCSS(agColorPicker_default)}postConstruct(){this.eDisplayFieldColor=(0,import_ag_grid_community14._createElement)({tag:"span",cls:"ag-color-picker-color"}),this.eDisplayFieldText=(0,import_ag_grid_community14._createElement)({tag:"span",cls:"ag-color-picker-value"}),this.eDisplayField.append(this.eDisplayFieldColor,this.eDisplayFieldText),super.postConstruct(),this.value&&this.setValue(this.value)}createPickerComponent(){const e=this.eWrapper.getBoundingClientRect(),t=this.beans.popupSvc.getParentRect();return this.createBean(new AgDialog({closable:!1,modal:!0,hideTitleBar:!0,minWidth:190,width:190,height:250,x:e.right-t.left-190,y:e.top-t.top-250-(this.config.pickerGap??0),postProcessPopupParams:{type:"colorPicker",eventSource:this.eWrapper}},this.config.dialogCallbacks))}renderAndPositionPicker(){const e=this.pickerComponent,t=this.createBean(new AgColorPanel({picker:this}));return e.addCss("ag-color-dialog"),t.addDestroyFunc(()=>{e.isAlive()&&this.destroyBean(e)}),e.setParentComponent(this),e.setBodyComponent(t),t.setValue(this.getValue()),t.getGui().focus(),e.addDestroyFunc(()=>{this.isDestroyingPicker?this.isDestroyingPicker=!1:(this.beforeHidePicker(),this.isDestroyingPicker=!0,t.isAlive()&&this.destroyBean(t),this.isAlive()&&this.getFocusableElement().focus())}),()=>this.pickerComponent?.close()}setValue(e){return this.value===e?this:(this.eDisplayFieldColor.style.backgroundColor=e,this.eDisplayFieldText.textContent=this.beans.agChartsExports._Util.Color.fromString(e).toHexString().toUpperCase(),super.setValue(e))}getValue(){return this.value}},AgColorPickerSelector={selector:"AG-COLOR-PICKER",component:AgColorPicker},import_ag_stack23=require("ag-stack"),import_ag_grid_community17=require("ag-grid-community"),import_ag_stack22=require("ag-stack"),import_ag_grid_community16=require("ag-grid-community"),import_ag_stack21=require("ag-stack"),import_ag_grid_community15=require("ag-grid-community"),AgMenuPanel=class extends import_ag_stack21.AgTabGuardComp{constructor(e){super(),this.setTemplateFromElement(e.getGui(),void 0,void 0,!0)}postConstruct(){this.initialiseTabGuard({onTabKeyDown:e=>this.onTabKeyDown(e),handleKeyDown:e=>this.handleKeyDown(e)})}handleKeyDown(e){e.key===import_ag_grid_community15.KeyCode.ESCAPE&&this.closePanel()}onTabKeyDown(e){e.defaultPrevented||(this.closePanel(),e.preventDefault())}closePanel(){const e=this.parentComponent;e.closeSubMenu(),setTimeout(()=>e.getGui().focus(),0)}},ACTIVATION_DELAY=import_ag_stack22.FAST_TEST_TIMINGS?0:80,SUB_MENU_OPEN_DELAY=import_ag_stack22.FAST_TEST_TIMINGS?0:300,AgMenuItemComponent=class extends import_ag_stack22.AgBeanStub{constructor(e){super(),this.callbacks=e,this.isActive=!1,this.isMouseActivation=!1,this.subMenuIsOpen=!1,this.subMenuIsOpening=!1,this.suppressRootStyles=!0,this.suppressAria=!0,this.suppressFocus=!0}init(e){const{menuItemDef:t,isAnotherSubMenuOpen:i,level:r,childComponent:n,contextParams:o}=e;return this.params=e.menuItemDef,this.level=r,this.isAnotherSubMenuOpen=i,this.shouldDisplayTooltipOnFocus=e.shouldDisplayTooltipOnFocus,this.childComponent=n,this.contextParams=o,this.cssClassPrefix=this.params.menuItemParams?.cssClassPrefix??"ag-menu-option",this.callbacks.getMenuItemComp(this.beans,this.params,{...t,level:r,isAnotherSubMenuOpen:i,openSubMenu:a=>this.openSubMenu(a),closeSubMenu:()=>this.closeSubMenu(),closeMenu:a=>this.closeMenu(a),updateTooltip:(a,l)=>this.refreshTooltip(a,l),onItemActivated:()=>this.onItemActivated()}).then(a=>{if(!a)return;this.menuItemComp=a;const l=a.configureDefaults?.();l&&this.configureDefaults(l===!0?void 0:l)})}addListeners(e,t){if(!t?.suppressClick){this.addManagedElementListeners(e,{click:r=>this.onItemSelected(r)});const i=new import_ag_grid_community16.TouchListener(e,!0);this.addManagedListeners(i,{tap:r=>this.onItemSelected(r.touchStart)}),this.addDestroyFunc(()=>i.destroy())}t?.suppressKeyboardSelect||this.addManagedElementListeners(e,{keydown:i=>{(i.key===import_ag_grid_community16.KeyCode.ENTER||i.key===import_ag_grid_community16.KeyCode.SPACE)&&(i.preventDefault(),this.onItemSelected(i))}}),t?.suppressMouseDown||this.addManagedElementListeners(e,{mousedown:i=>{i.stopPropagation(),i.preventDefault()}}),t?.suppressMouseOver||this.addManagedElementListeners(e,{mouseenter:()=>this.onMouseEnter(),mouseleave:()=>this.onMouseLeave()})}isDisabled(){return!!this.params.disabled}openSubMenu(e=!1,t){if(this.closeSubMenu(),!this.params.subMenu)return;this.subMenuIsOpening=!0;const i=(0,import_ag_grid_community16._createElement)({tag:"div",cls:"ag-menu",role:"presentation"});this.eSubMenuGui=i;let r,n=()=>{this.subMenuIsOpening=!1};if(this.childComponent){const u=this.createBean(new AgMenuPanel(this.childComponent));u.setParentComponent(this);const d=u.getGui(),h="mouseenter",p=()=>this.cancelDeactivate();d.addEventListener(h,p),r=()=>{d.removeEventListener(h,p),this.destroyBean(u)},i.appendChild(d),this.childComponent.afterGuiAttached&&(n=()=>{this.childComponent.afterGuiAttached(),this.subMenuIsOpening=!1})}else if(this.params.subMenu){const u=this.createBean(new AgMenuList(this.level+1,this.contextParams,this.callbacks));u.setParentComponent(this),u.addMenuItems(this.params.subMenu),i.appendChild(u.getGui()),this.addManagedListeners(u,{closeMenu:d=>this.dispatchLocalEvent(d)}),u.addGuiEventListener("mouseenter",()=>this.cancelDeactivate()),r=()=>this.destroyBean(u),e&&(n=()=>{u.activateFirstItem(),this.subMenuIsOpening=!1})}const o=this.beans.popupSvc,a=()=>{const u=this.eGui;o?.positionPopupForMenu({eventSource:u,ePopup:i,event:t instanceof KeyboardEvent?void 0:t,additionalParams:this.callbacks.getPostProcessPopupParams(this.contextParams)})},l=this.getLocaleTextFunc(),c=o?.addPopup({modal:!0,eChild:i,positionCallback:a,anchorToElement:this.eGui,ariaLabel:l("ariaLabelSubMenu","SubMenu"),afterGuiAttached:n});this.subMenuIsOpen=!0,this.setAriaExpanded(!0),this.hideSubMenu=()=>{c&&c.hideFunc(),this.subMenuIsOpen=!1,this.setAriaExpanded(!1),r(),this.menuItemComp.setExpanded?.(!1),this.eSubMenuGui=void 0},this.menuItemComp.setExpanded?.(!0)}setAriaExpanded(e){this.suppressAria||(0,import_ag_stack22._setAriaExpanded)(this.eGui,e)}closeSubMenu(){this.hideSubMenu&&(this.hideSubMenu(),this.hideSubMenu=null,this.setAriaExpanded(!1))}isSubMenuOpen(){return this.subMenuIsOpen}isSubMenuOpening(){return this.subMenuIsOpening}activate(e,t){this.cancelActivate(),!(this.params.disabled&&!t)&&(this.isActive=!0,this.suppressRootStyles||this.eGui.classList.add(`${this.cssClassPrefix}-active`),this.onItemActivated(),this.menuItemComp.setActive?.(!0),this.suppressFocus||this.callbacks.preserveRangesWhile(this.beans,()=>this.eGui.focus({preventScroll:!t})),e&&this.params.subMenu&&window.setTimeout(()=>{this.isAlive()&&this.isActive&&this.openSubMenu()},SUB_MENU_OPEN_DELAY))}deactivate(){this.cancelDeactivate(),this.suppressRootStyles||this.eGui.classList.remove(`${this.cssClassPrefix}-active`),this.menuItemComp.setActive?.(!1),this.isActive=!1,this.subMenuIsOpen&&this.closeSubMenu()}getGui(){return this.menuItemComp.getGui()}getParentComponent(){return this.parentComponent}setParentComponent(e){this.parentComponent=e}getSubMenuGui(){return this.eSubMenuGui}onItemSelected(e){this.menuItemComp.select?.(),this.params.action?this.beans.frameworkOverrides.wrapOutgoing(()=>this.params.action(this.gos.addCommon({...this.contextParams}))):this.openSubMenu(e instanceof KeyboardEvent&&e.type==="keydown",e),!(this.params.subMenu&&!this.params.action||this.params.suppressCloseOnSelect)&&this.closeMenu(e instanceof MouseEvent||e instanceof KeyboardEvent?e:void 0)}closeMenu(e){const t={type:"closeMenu"};e&&(e instanceof MouseEvent?t.mouseEvent=e:t.keyboardEvent=e),this.dispatchLocalEvent(t)}onItemActivated(){const e={type:"menuItemActivated",menuItem:this};this.dispatchLocalEvent(e)}cancelActivate(){this.activateTimeoutId&&(window.clearTimeout(this.activateTimeoutId),this.activateTimeoutId=0)}cancelDeactivate(){this.deactivateTimeoutId&&(window.clearTimeout(this.deactivateTimeoutId),this.deactivateTimeoutId=0)}onMouseEnter(){this.cancelDeactivate(),this.isAnotherSubMenuOpen()?this.activateTimeoutId=window.setTimeout(()=>this.activateOnMouseEnter(),ACTIVATION_DELAY):this.activateOnMouseEnter()}activateOnMouseEnter(){this.isMouseActivation=!0;try{this.activate(!0)}finally{this.isMouseActivation=!1}}onMouseLeave(){this.cancelActivate(),this.isSubMenuOpen()?this.deactivateTimeoutId=window.setTimeout(()=>this.deactivate(),ACTIVATION_DELAY):this.deactivate()}refreshRootElementGui(e){let t=this.menuItemComp.getGui();const{cssClassPrefix:i,params:{cssClasses:r,disabled:n}}=this,o=this.menuItemComp.getRootElement?.();if(o&&(e||t.classList.add("ag-menu-option-custom"),t=o),this.suppressRootStyles=!!e,!this.suppressRootStyles){t.classList.add(i);for(const a of r??[])t.classList.add(a);n&&t.classList.add(`${i}-disabled`)}return t}applyAriaProperties(e){const{params:{checked:t,subMenu:i,subMenuRole:r,disabled:n}}=this,o=t!=null;(0,import_ag_stack22._setAriaRole)(e,o?"menuitemcheckbox":"menuitem"),i&&(0,import_ag_stack22._setAriaHasPopup)(e,r??"menu"),n&&(0,import_ag_stack22._setAriaDisabled)(e,!0)}configureDefaults(e){if(!this.menuItemComp){setTimeout(()=>this.configureDefaults(e));return}const{suppressRootStyles:t,suppressTooltip:i,suppressAria:r,suppressTabIndex:n,suppressFocus:o}=e||{},{params:{tooltip:a,disabled:l}}=this,c=this.eGui=this.refreshRootElementGui(!!t);this.suppressAria=!!r,r||this.applyAriaProperties(c),n||c.setAttribute("tabindex","-1"),i||this.refreshTooltip(a),l||this.addListeners(c,e),this.suppressFocus=!!o}refreshTooltip(e,t){if(this.tooltip=e,this.tooltipFeature=this.destroyBean(this.tooltipFeature),!e||!this.menuItemComp)return;const i=this.beans.registry.createDynamicBean("tooltipFeature",!1,{getGui:()=>this.getGui(),getTooltipComponentDefinition:()=>{},getTooltipValue:()=>this.tooltip,getLocation:()=>"menu",shouldDisplayTooltip:t,shouldDisplayTooltipOnFocus:()=>!this.isMouseActivation&&this.shouldDisplayTooltipOnFocus?.()!==!1});i&&(this.tooltipFeature=this.createBean(i))}destroy(){this.tooltipFeature=this.destroyBean(this.tooltipFeature),this.menuItemComp?.destroy?.(),super.destroy()}},NO_FOCUS_RING_CLASS="ag-menu-list-no-focus-ring",AgMenuList=class ce extends import_ag_stack23.AgTabGuardComp{constructor(t=0,i,r){super({tag:"div",cls:"ag-menu-list",role:"menu"}),this.level=t,this.menuActionParams=i,this.callbacks=r,this.menuItems=[],this.suppressFocusTooltip=!1}postConstruct(){this.initialiseTabGuard({onTabKeyDown:t=>this.onTabKeyDown(t),handleKeyDown:t=>this.callbacks.preserveRangesWhile(this.beans,()=>this.handleKeyDown(t)),onFocusIn:t=>this.handleFocusIn(t),onFocusOut:t=>this.handleFocusOut(t)})}onTabKeyDown(t){this.getParentComponent()?.getGui()?.classList.contains("ag-focus-managed")||t.preventDefault(),t.shiftKey&&this.closeIfIsChild(t)}handleKeyDown(t){switch(t.key){case import_ag_grid_community17.KeyCode.UP:case import_ag_grid_community17.KeyCode.RIGHT:case import_ag_grid_community17.KeyCode.DOWN:case import_ag_grid_community17.KeyCode.LEFT:t.preventDefault(),this.clearNoFocusRing(),this.handleNavKey(t.key);break;case import_ag_grid_community17.KeyCode.ESCAPE:this.closeIfIsChild()&&this.callbacks.stopPropagationCallbacks.stopPropagation(t);break}}handleFocusIn(t){const i=t.relatedTarget;!this.tabGuardFeature.getTabGuardCtrl().isTabGuard(i)&&(this.getGui().contains(i)||this.activeMenuItem?.getSubMenuGui()?.contains(i))||(this.activeMenuItem?this.activeMenuItem.activate():this.activateFirstItem())}handleFocusOut(t){const i=t.relatedTarget;!this.activeMenuItem||this.getGui().contains(i)||this.activeMenuItem.getSubMenuGui()?.contains(i)||this.activeMenuItem.isSubMenuOpening()||this.activeMenuItem.deactivate()}clearActiveItem(){this.activeMenuItem&&(this.activeMenuItem.deactivate(),this.activeMenuItem=null)}addMenuItems(t){t!=null&&(this.itemsReady=import_ag_grid_community17.AgPromise.all(t.map(i=>i==="separator"?import_ag_grid_community17.AgPromise.resolve({eGui:this.createSeparator()}):typeof i=="string"?(this.callbacks.warnNoItem?.(this.beans,i),import_ag_grid_community17.AgPromise.resolve({eGui:null})):this.addItem(i))).then(i=>{for(const r of i??[])r?.eGui&&(this.appendChild(r.eGui),r.comp&&this.menuItems.push(r.comp))}))}addItem(t){const i=this.createManagedBean(new AgMenuItemComponent(this.callbacks));return i.init({menuItemDef:t,isAnotherSubMenuOpen:()=>this.menuItems.some(r=>r.isSubMenuOpen()),shouldDisplayTooltipOnFocus:()=>!this.suppressFocusTooltip,level:this.level,contextParams:this.menuActionParams}).then(()=>(i.setParentComponent(this),this.addManagedListeners(i,{closeMenu:r=>{this.dispatchLocalEvent(r)},menuItemActivated:r=>{this.activeMenuItem&&this.activeMenuItem!==r.menuItem&&this.activeMenuItem.deactivate(),this.activeMenuItem=r.menuItem}}),{comp:i,eGui:i.getGui()}))}focusInto(t=!1){this.getGui().classList.toggle(NO_FOCUS_RING_CLASS,(0,import_ag_stack23._isNothingFocused)(this.beans));const i=this.withFocusTooltipSuppressed(t,()=>(0,import_ag_stack23._focusInto)(this.getGui()));return this.itemsReady?.then(()=>{if(!this.isAlive()||this.activeMenuItem)return;const r=(0,import_ag_stack23._getActiveDomElement)(this.beans);((0,import_ag_stack23._isNothingFocused)(this.beans)||this.getGui().contains(r))&&this.withFocusTooltipSuppressed(t,()=>this.activateFirstItem())}),i}withFocusTooltipSuppressed(t,i){const r=this.suppressFocusTooltip;this.suppressFocusTooltip=t;try{return i()}finally{this.suppressFocusTooltip=r}}activateFirstItem(){const t=this.menuItems.filter(i=>!i.isDisabled())[0];t&&t.activate()}createSeparator(){const t={tag:"div",cls:"ag-menu-separator-part"};return(0,import_ag_stack23._createAgElement)({tag:"div",cls:"ag-menu-separator",attrs:{"aria-hidden":"true"},children:[t,t,t,t]})}handleNavKey(t){switch(t){case import_ag_grid_community17.KeyCode.UP:case import_ag_grid_community17.KeyCode.DOWN:{const r=this.findNextItem(t===import_ag_grid_community17.KeyCode.UP);r&&r!==this.activeMenuItem&&r.activate(!1,!0);return}}const i=this.gos.get("enableRtl")?import_ag_grid_community17.KeyCode.RIGHT:import_ag_grid_community17.KeyCode.LEFT;t===i?this.closeIfIsChild():this.openChild()}clearNoFocusRing(){this.getGui().classList.remove(NO_FOCUS_RING_CLASS);const t=this.getParentComponent();if(t instanceof AgMenuItemComponent){const i=t.getParentComponent();i instanceof ce&&i.clearNoFocusRing()}}closeIfIsChild(t){const i=this.getParentComponent();return i&&i instanceof AgMenuItemComponent?(t&&t.preventDefault(),i.closeSubMenu(),i.getGui().focus(),!0):!1}openChild(){this.activeMenuItem&&this.activeMenuItem.openSubMenu(!0)}findNextItem(t){const i=[...this.menuItems];if(!i.length)return;if(!this.activeMenuItem)return t?(0,import_ag_stack23._last)(i):i[0];t&&i.reverse();let r,n=!1;for(const o of i){if(!n){o===this.activeMenuItem&&(n=!0);continue}r=o;break}return n&&!r?i[0]:r||this.activeMenuItem}destroy(){this.clearActiveItem(),super.destroy()}},import_ag_stack24=require("ag-stack"),CSS_MENU="ag-menu",CSS_CONTEXT_MENU_LOADING_ICON="ag-context-menu-loading-icon",AgContextMenuService=class extends import_ag_stack24.AgBeanStub{constructor(e){super(),this.params=e,this.destroyLoadingSpinner=null,this.lastPromise=0}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenu(e,t,i){const{getMenuItems:r,shouldBlockMenuOpen:n}=this.params,o=t instanceof MouseEvent?t.target!=null&&!(0,import_ag_stack24._isKeyboardMode)():!0,a=r(e,t);if((0,import_ag_stack24._isPromise)(a)){const l=this.lastPromise+1;return this.lastPromise=l,this.destroyLoadingSpinner||this.createLoadingIcon(t),a.then(c=>{if(this.lastPromise!==l)return;const{target:u}=t,d=!u;c?.length&&(d||(0,import_ag_stack24._isVisible)(u))&&!n?.()&&this.createContextMenu({menuItems:c,menuActionParams:e,mouseEvent:t,anchorToElement:i,suppressInitialTooltip:o}),this.destroyLoadingSpinner?.()}),!0}return a?.length?(this.createContextMenu({menuItems:a,menuActionParams:e,mouseEvent:t,anchorToElement:i,suppressInitialTooltip:o}),!0):!1}createLoadingIcon(e){const{beans:t}=this,i=this.getLocaleTextFunc(),r=t.iconSvc.createIconNoSpan("loadingMenuItems"),n=(0,import_ag_stack24._createAgElement)({tag:"div",cls:CSS_CONTEXT_MENU_LOADING_ICON});n.appendChild(r);const o=(0,import_ag_stack24._getRootNode)(t),a=(0,import_ag_stack24._getPageBody)(t);if(!a)return;const l=(0,import_ag_stack24._initStyledRoot)(t.environment,a,n);t.ariaAnnounce?.announceValue(i("ariaLabelLoadingContextMenu","Loading Context Menu"),"contextmenu"),(0,import_ag_stack24._anchorElementToMouseMoveEvent)(n,e,t);const c=u=>{(0,import_ag_stack24._anchorElementToMouseMoveEvent)(n,u,t)};o.addEventListener("mousemove",c),this.destroyLoadingSpinner=()=>{o.removeEventListener("mousemove",c),l(),this.destroyLoadingSpinner=null}}createContextMenu(e){const{mapMenuItems:t,menuItemCallbacks:i,beforeMenuOpen:r,onMenuClose:n,afterMenuDestroyed:o,onVisibleChanged:a,onMenuOpen:l}=this.params,{menuItems:c,menuActionParams:u,mouseEvent:d,anchorToElement:h,suppressInitialTooltip:p}=e,g=this.beans.popupSvc,f=t?b=>t(c,u,b):()=>c,m=new ContextMenu(f,u,i,p);this.createBean(m);const v=m.getGui();r?.(u);const C={additionalParams:i.getPostProcessPopupParams(u),type:"contextMenu",mouseEvent:d,ePopup:v,nudgeY:1},y=this.getLocaleTextFunc(),S=g?.addPopup({modal:!0,eChild:v,closeOnEsc:!0,closedCallback:b=>{i.preserveRangesWhile(this.beans,()=>{n?.(),this.destroyBean(m),o?.(),a?.(!1,b===void 0?"api":"ui")})},click:d,positionCallback:()=>{const b=this.gos.get("enableRtl");g?.positionPopupUnderMouseEvent({...C,nudgeX:b?(v.offsetWidth+1)*-1:1})},anchorToElement:h,ariaLabel:y("ariaLabelContextMenu","Context Menu")});S&&(l?.(),m.afterGuiAttached({container:"contextMenu",hidePopup:S.hideFunc})),this.activeMenu&&this.hideActiveMenu(),this.activeMenu=m,m.addEventListener("destroyed",()=>{this.activeMenu===m&&(this.activeMenu=null)}),S&&m.addEventListener("closeMenu",b=>S.hideFunc({mouseEvent:b.mouseEvent??void 0,keyboardEvent:b.keyboardEvent??void 0,forceHide:!0}));const x=d&&d instanceof MouseEvent&&d.type==="mousedown";a?.(!0,x?"api":"ui")}destroy(){this.destroyLoadingSpinner?.(),super.destroy()}},ContextMenu=class extends import_ag_stack24.AgComponentStub{constructor(e,t,i,r){super({tag:"div",cls:CSS_MENU,role:"presentation"}),this.getMenuItems=e,this.menuActionParams=t,this.callbacks=i,this.suppressInitialTooltip=r,this.menuList=null}postConstruct(){const e=this.createManagedBean(new AgMenuList(0,this.menuActionParams,this.callbacks)),t=this.getMenuItems(()=>this.getGui());e.addMenuItems(t),this.appendChild(e),this.menuList=e,e.addEventListener("closeMenu",i=>this.dispatchLocalEvent(i))}afterGuiAttached({hidePopup:e}){e&&this.addDestroyFunc(e);const t=this.menuList;t&&this.callbacks.preserveRangesWhile(this.beans,()=>t.focusInto(this.suppressInitialTooltip))}},import_ag_stack25=require("ag-stack"),AgMenuItemRenderer=class extends import_ag_stack25.AgComponentStub{constructor(e){super({tag:"div"}),this.callbacks=e}init(e){this.params=e,this.cssClassPrefix=this.params.cssClassPrefix??"ag-menu-option",this.addAriaAttributes(),this.addIcon(),this.addName(),this.addShortcut(),this.addSubMenu()}configureDefaults(){return!0}addAriaAttributes(){const{checked:e,subMenu:t}=this.params,i=this.getGui();e&&(0,import_ag_stack25._setAriaChecked)(i,e),t&&(0,import_ag_stack25._setAriaExpanded)(i,!1)}addIcon(){if(this.params.isCompact)return;const e=(0,import_ag_stack25._createAgElement)({tag:"span",ref:"eIcon",cls:`${this.getClassName("part")} ${this.getClassName("icon")}`,role:"presentation"}),{checked:t,icon:i}=this.params;t?e.appendChild(this.beans.iconSvc.createIconNoSpan("check")):i&&((0,import_ag_stack25._isNodeOrElement)(i)?e.appendChild(i):typeof i=="string"?e.innerHTML=i:this.callbacks?.warnNoIcon?.()),this.getGui().appendChild(e)}addName(){const e=(0,import_ag_stack25._createAgElement)({tag:"span",ref:"eName",cls:`${this.getClassName("part")} ${this.getClassName("text")}`,children:this.params.name||""});this.getGui().appendChild(e)}addShortcut(){if(this.params.isCompact)return;const e=(0,import_ag_stack25._createAgElement)({tag:"span",ref:"eShortcut",cls:`${this.getClassName("part")} ${this.getClassName("shortcut")}`,children:this.params.shortcut||""});this.getGui().appendChild(e)}addSubMenu(){const e=(0,import_ag_stack25._createAgElement)({tag:"span",ref:"ePopupPointer",cls:`${this.getClassName("part")} ${this.getClassName("popup-pointer")}`}),t=this.getGui();if(this.params.subMenu){const i=this.gos.get("enableRtl")?"subMenuOpenRtl":"subMenuOpen";e.appendChild(this.beans.iconSvc.createIconNoSpan(i))}t.appendChild(e)}getClassName(e){return`${this.cssClassPrefix}-${e}`}},import_ag_stack27=require("ag-stack"),import_ag_grid_community18=require("ag-grid-community"),import_ag_stack26=require("ag-stack");function findFocusableElementBeforeTabGuard(e,t){if(!t)return null;const i=(0,import_ag_stack26._findFocusableElements)(e),r=i.indexOf(t);if(r===-1)return null;let n=-1;for(let o=r-1;o>=0;o--)if(i[o].classList.contains(import_ag_stack26.TabGuardClassNames.TAB_GUARD_TOP)){n=o;break}return n<=0?null:i[n-1]}function isTargetUnderManagedComponent(e,t){if(!t)return!1;const i=e.querySelectorAll(`.${import_ag_stack26.FOCUS_MANAGED_CLASS}`);if(!i.length)return!1;for(let r=0;r<i.length;r++)if(i[r].contains(t))return!0;return!1}function getTabbedLayoutTemplate(e){return{tag:"div",cls:`ag-tabs ${e}`,children:[{tag:"div",ref:"eHeader"},{tag:"div",ref:"eBody",role:"presentation",cls:"ag-tabs-body"+e?` ${e}-body`:""}]}}var AgTabbedLayout=class extends import_ag_stack27.AgTabGuardComp{constructor(e){super(getTabbedLayoutTemplate(e.cssClass)),this.eHeader=import_ag_stack27.RefPlaceholder,this.eBody=import_ag_stack27.RefPlaceholder,this.items=[],this.tabbedItemScrollMap=new Map,this.params=e}postConstruct(){if(this.setupHeader(),this.params.items)for(const e of this.params.items)this.addItem(e);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(){const{enableCloseButton:e,cssClass:t}=this.params,i=(r,n)=>{r.classList.add(`ag-tabs-${n}`),t&&r.classList.add(`${t}-${n}`)};e?(this.setupCloseButton(i),this.eTabHeader=(0,import_ag_stack27._createAgElement)({tag:"div",role:"presentation"}),i(this.eHeader,"header-wrapper"),this.eHeader.appendChild(this.eTabHeader)):this.eTabHeader=this.eHeader,(0,import_ag_stack27._setAriaRole)(this.eTabHeader,"tablist"),i(this.eTabHeader,"header")}setupCloseButton(e){const t=(0,import_ag_stack27._createAgElement)({tag:"button"});e(t,"close-button");const i=this.beans.iconSvc.createIconNoSpan("close");(0,import_ag_stack27._setAriaLabel)(t,this.params.closeButtonAriaLabel),t.appendChild(i),this.addManagedElementListeners(t,{click:()=>this.params.onCloseClicked?.()});const r=(0,import_ag_stack27._createAgElement)({tag:"div",role:"presentation"});e(r,"close-button-wrapper"),r.appendChild(t),this.eHeader.appendChild(r),this.eCloseButton=t}handleKeyDown(e){switch(e.key){case import_ag_grid_community18.KeyCode.RIGHT:case import_ag_grid_community18.KeyCode.LEFT:{if(!this.eTabHeader.contains((0,import_ag_stack27._getActiveDomElement)(this.beans)))return;const t=e.key===import_ag_grid_community18.KeyCode.RIGHT,i=this.gos.get("enableRtl"),r=this.items.indexOf(this.activeItem),n=t!==i?Math.min(r+1,this.items.length-1):Math.max(r-1,0);if(r===n)return;e.preventDefault();const o=this.items[n];this.showItemWrapper(o),o.eHeaderButton.focus();break}case import_ag_grid_community18.KeyCode.UP:case import_ag_grid_community18.KeyCode.DOWN:e.stopPropagation();break}}onTabKeyDown(e){if(e.defaultPrevented)return;const{beans:t,eHeader:i,eBody:r,activeItem:n,params:o}=this,{suppressTrapFocus:a,enableCloseButton:l}=o,c=(0,import_ag_stack27._getActiveDomElement)(t),u=e.target,d=e.shiftKey;if(i.contains(c)){e.preventDefault(),l&&d&&!this.eCloseButton?.contains(c)?this.eCloseButton?.focus():a&&d?findFocusableElementBeforeTabGuard((0,import_ag_stack27._getDocument)(t).body,u)?.focus():this.focusBody(e.shiftKey);return}let h=null;if(isTargetUnderManagedComponent(r,u)&&(d&&(h=findFocusableElementBeforeTabGuard(r,u)),!h&&!a&&(h=n.eHeaderButton)),!h&&r.contains(c)&&(h=(0,import_ag_stack27._findNextFocusableElement)({beans:t,rootNode:r,backwards:d}),!h)){a&&!d?this.forceFocusOutOfContainer(d):l&&!d?(e.preventDefault(),this.eCloseButton?.focus()):(e.preventDefault(),this.focusHeader());return}h&&(e.preventDefault(),h.focus())}focusInnerElement(e){return e?this.focusBody(!0):(this.focusHeader(),!0)}focusHeader(e){this.activeItem.eHeaderButton.focus({preventScroll:e})}focusBody(e){return(0,import_ag_stack27._focusInto)(this.eBody,e)}setAfterAttachedParams(e){this.afterAttachedParams=e}showFirstItem(){this.items.length>0&&this.showItemWrapper(this.items[0])}addItem(e){const t=(0,import_ag_stack27._createAgElement)({tag:"span",cls:"ag-tab",role:"tab",attrs:{tabindex:"-1"}});t.appendChild(e.title),this.eTabHeader.appendChild(t),(0,import_ag_stack27._setAriaLabel)(t,e.titleLabel);const i={tabbedItem:e,eHeaderButton:t};this.items.push(i),t.addEventListener("click",this.showItemWrapper.bind(this,i))}showItem(e){const t=this.items.find(i=>i.tabbedItem===e);t&&this.showItemWrapper(t)}showItemWrapper(e){const{tabbedItem:t,eHeaderButton:i}=e;if(this.params.onItemClicked?.({item:t}),this.activeItem===e){this.params.onActiveItemClicked?.();return}this.lastScrollListener&&(this.lastScrollListener=this.lastScrollListener()),(0,import_ag_stack27._clearElement)(this.eBody),t.bodyPromise.then(r=>{this.eBody.appendChild(r);const n=!(0,import_ag_stack27._isKeyboardMode)();if(this.params.suppressFocusBodyOnOpen||(0,import_ag_stack27._focusInto)(this.eBody,!1,n),t.afterAttachedCallback&&t.afterAttachedCallback(this.afterAttachedParams),this.params.keepScrollPosition){const o=t.getScrollableContainer?.()||r;[this.lastScrollListener]=this.addManagedElementListeners(o,{scroll:()=>{this.tabbedItemScrollMap.set(t.name,o.scrollTop)}});const a=this.tabbedItemScrollMap.get(t.name);a!==void 0&&setTimeout(()=>{o.scrollTop=a},0)}}),this.activeItem&&(this.activeItem.eHeaderButton.classList.remove("ag-tab-selected"),this.activeItem.tabbedItem.afterDetachedCallback?.()),i.classList.add("ag-tab-selected"),this.activeItem=e}},import_ag_stack28=require("ag-stack"),import_ag_grid_community19=require("ag-grid-community"),agGroupComponent_default=".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 getAgGroupComponentTemplate(e){const t=e.cssIdentifier||"default",i=e.direction||"vertical";return{tag:"div",cls:`ag-group ag-${t}-group`,role:"presentation",children:[{tag:"div",ref:"eToolbar",cls:`ag-group-toolbar ag-${t}-group-toolbar`,children:[{tag:"ag-checkbox",ref:"cbGroupEnabled"}]},{tag:"div",ref:"eContainer",cls:`ag-group-container ag-group-container-${i} ag-${t}-group-container`}]}}var AgGroupComponent=class extends import_ag_stack28.AgComponentStub{constructor(e={}){super(getAgGroupComponentTemplate(e),[import_ag_grid_community19.AgCheckboxSelector]),this.params=e,this.suppressEnabledCheckbox=!0,this.suppressToggleExpandOnEnableChange=!1,this.eToolbar=import_ag_stack28.RefPlaceholder,this.cbGroupEnabled=import_ag_stack28.RefPlaceholder,this.eContainer=import_ag_stack28.RefPlaceholder,this.registerCSS(agGroupComponent_default);const{enabled:t,items:i,suppressEnabledCheckbox:r,expanded:n,suppressToggleExpandOnEnableChange:o,useToggle:a}=e;this.cssIdentifier=e.cssIdentifier||"default",this.enabled=t??!0,this.items=i||[],this.useToggle=a??!1,this.alignItems=e.alignItems||"center",this.expanded=n??!0,r!=null&&(this.suppressEnabledCheckbox=r),o!=null&&(this.suppressToggleExpandOnEnableChange=o)}postConstruct(){if(this.setupTitleBar(),this.items.length){const n=this.items;this.items=[],this.addItems(n)}const e=this.getLocaleTextFunc();this.cbGroupEnabled.setLabel(e("enabled","Enabled")),this.enabled&&this.setEnabled(this.enabled,void 0,!0),this.setAlignItems(this.alignItems);const{onEnableChange:t,onExpandedChange:i,suppressOpenCloseIcons:r}=this.params;this.hideEnabledCheckbox(this.suppressEnabledCheckbox),this.hideOpenCloseIcons(r??!1),this.refreshChildDisplay(),(0,import_ag_stack28._setDisplayed)(this.eContainer,this.expanded),this.cbGroupEnabled.onValueChange(n=>{this.setEnabled(n,!0,this.suppressToggleExpandOnEnableChange),this.dispatchEnableChangeEvent(n)}),t!=null&&this.onEnableChange(t),i!=null&&this.onExpandedChange(i)}refreshChildDisplay(){(0,import_ag_stack28._setDisplayed)(this.eToolbar,this.expanded&&!this.suppressEnabledCheckbox),this.eTitleBar?.refreshOnExpand(this.expanded)}isExpanded(){return this.expanded}setAlignItems(e){this.alignItems!==e&&this.removeCss(`ag-group-item-alignment-${this.alignItems}`),this.alignItems=e;const t=`ag-group-item-alignment-${this.alignItems}`;return this.addCss(t),this}toggleGroupExpand(e,t){if(this.eTitleBar?.isSuppressCollapse()&&!this.useToggle)e=!0,t=!0;else if(e=e??!this.expanded,this.expanded===e)return this;return this.expanded=e,this.refreshChildDisplay(),(0,import_ag_stack28._setDisplayed)(this.eContainer,e),t||this.dispatchLocalEvent({type:e?"expanded":"collapsed"}),this}addItems(e){for(const t of e)this.addItem(t)}prependItem(e){this.insertItem(e,!0)}addItem(e){this.insertItem(e,!1)}updateItems(e){const t=this.items;let i=0;for(let r=0;r<t.length;++r){const n=t[r];if(n===e[i])i++;else{const o=(0,import_ag_stack28._isComponent)(n)?n.getGui():n;(0,import_ag_stack28._removeFromParent)(o)}}for(;i<e.length;)this.insertItem(e[i++]);this.items=e}setDirection(e){return this.eContainer.classList.toggle("ag-group-container-horizontal",e==="horizontal"),this.eContainer.classList.toggle("ag-group-container-vertical",e==="vertical"),this}insertItem(e,t){const i=this.eContainer,r=(0,import_ag_stack28._isComponent)(e)?e.getGui():e;r.classList.add("ag-group-item",`ag-${this.cssIdentifier}-group-item`),t?(i.prepend(r),this.items.unshift(r)):(i.appendChild(r),this.items.push(r))}hideItem(e,t){const i=this.items[t];(0,import_ag_stack28._setDisplayed)(i,!e)}getItemIndex(e){const t=(0,import_ag_stack28._isComponent)(e)?e.getGui():e;return this.items.indexOf(t)}setTitle(e){return this.eTitleBar?.setTitle(e),this}addTitleBarWidget(e){return this.eTitleBar?.addWidget(e),this}addCssClassToTitleBar(e){this.eTitleBar?.addCss(e)}getTitleBarGui(){return this.eTitleBar?.getGui()??this.eToggle?.getGui()??this.getGui()}dispatchEnableChangeEvent(e){const t={type:"enableChange",enabled:e};this.dispatchLocalEvent(t)}setEnabled(e,t,i){return this.enabled=e,this.refreshDisabledStyles(),i||this.toggleGroupExpand(e),t||(this.cbGroupEnabled.setValue(e),this.eToggle?.setValue(e)),this}isEnabled(){return this.enabled}onEnableChange(e){return this.addManagedListeners(this,{enableChange:t=>e(t.enabled)}),this}onExpandedChange(e){return this.addManagedListeners(this,{expanded:()=>e(!0),collapsed:()=>e(!1)}),this}hideEnabledCheckbox(e){return this.suppressEnabledCheckbox=e,this.refreshChildDisplay(),this.refreshDisabledStyles(),this}hideOpenCloseIcons(e){return this.eTitleBar?.hideOpenCloseIcons(e),this}refreshDisabledStyles(){const e=!this.enabled;this.eContainer.classList.toggle("ag-disabled",e),this.eTitleBar?.refreshDisabledStyles(this.suppressEnabledCheckbox&&e),this.eContainer.classList.toggle("ag-disabled-group-container",e)}setupTitleBar(){const e=this.useToggle?this.createToggleTitleBar():this.createDefaultTitleBar();this.eToolbar.insertAdjacentElement("beforebegin",e.getGui())}createDefaultTitleBar(){const e=`ag-${this.getCompId()}-group-container`;this.eContainer.id=e;const t=this.createManagedBean(new DefaultTitleBar(this.params,e));return this.eTitleBar=t,t.refreshOnExpand(this.expanded),this.addManagedListeners(t,{expandedChanged:i=>this.toggleGroupExpand(i.expanded)}),t}createToggleTitleBar(){const e=this.createManagedBean(new import_ag_grid_community19.AgToggleButton({value:this.enabled,label:this.params.title,labelAlignment:"left",labelWidth:"flex",onValueChange:t=>{this.setEnabled(t,!0),this.dispatchEnableChangeEvent(t)}}));return e.addCss("ag-group-title-bar"),e.addCss(`ag-${this.params.cssIdentifier??"default"}-group-title-bar ag-unselectable`),this.eToggle=e,this.toggleGroupExpand(this.enabled),e}},TITLE_BAR_DISABLED_CLASS="ag-disabled-group-title-bar";function getDefaultTitleBarTemplate(e){const{cssIdentifier:t,suppressOpenCloseIcons:i}=e,r=t??"default",n=i?"group":"button";return{tag:"div",cls:`ag-group-title-bar ag-${r}-group-title-bar ag-unselectable`,role:e.suppressKeyboardNavigation?"presentation":n,children:[{tag:"span",ref:"eGroupOpenedIcon",cls:`ag-group-title-bar-icon ag-${r}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eGroupClosedIcon",cls:`ag-group-title-bar-icon ag-${r}-group-title-bar-icon`,role:"presentation"},{tag:"span",ref:"eTitle",cls:`ag-group-title ag-${r}-group-title`}]}}var DefaultTitleBar=class extends import_ag_stack28.AgComponentStub{constructor(e={},t){super(getDefaultTitleBarTemplate(e)),this.containerId=t,this.suppressOpenCloseIcons=!1,this.suppressKeyboardNavigation=!1,this.expanded=!0,this.disabled=!1,this.eGroupOpenedIcon=import_ag_stack28.RefPlaceholder,this.eGroupClosedIcon=import_ag_stack28.RefPlaceholder,this.eTitle=import_ag_stack28.RefPlaceholder;const{title:i,suppressOpenCloseIcons:r,suppressKeyboardNavigation:n}=e;i&&i.length>0&&(this.title=i),r!=null&&(this.suppressOpenCloseIcons=r),this.suppressKeyboardNavigation=n??!1}postConstruct(){this.setTitle(this.title),this.hideOpenCloseIcons(this.suppressOpenCloseIcons),this.setupExpandContract()}setupExpandContract(){const e=this.beans.iconSvc;this.eGroupClosedIcon.appendChild(e.createIconNoSpan("accordionClosed")),this.eGroupOpenedIcon.appendChild(e.createIconNoSpan("accordionOpen")),this.addManagedElementListeners(this.getGui(),{click:()=>this.dispatchExpandChanged(),keydown:t=>{const{ENTER:i,SPACE:r,RIGHT:n,LEFT:o,UP:a,DOWN:l,PAGE_UP:c,PAGE_DOWN:u,PAGE_HOME:d,PAGE_END:h}=import_ag_grid_community19.KeyCode;switch(t.key){case a:case l:case c:case u:case d:case h:t.preventDefault();return;case i:case r:t.preventDefault(),this.dispatchExpandChanged();break;case n:case o:t.preventDefault(),this.dispatchExpandChanged(t.key===n);break}}})}refreshOnExpand(e){this.expanded=e,this.refreshAriaState(),this.refreshOpenCloseIcons(e)}refreshAriaState(){const e=this.getGui(),t=this.title!=null&&!this.suppressKeyboardNavigation&&!this.disabled,i=t&&!this.suppressOpenCloseIcons;let r="presentation";i?r="button":t&&(r="group"),(0,import_ag_stack28._setAriaRole)(e,r),t?this.activateTabIndex([e]):e.removeAttribute("tabindex"),i?(0,import_ag_stack28._setAriaExpanded)(e,this.expanded):(0,import_ag_stack28._removeAriaExpanded)(e),(0,import_ag_stack28._setAriaControls)(e,i?this.containerId:null)}refreshOpenCloseIcons(e){const t=!this.suppressOpenCloseIcons;(0,import_ag_stack28._setDisplayed)(this.eGroupOpenedIcon,t&&e),(0,import_ag_stack28._setDisplayed)(this.eGroupClosedIcon,t&&!e)}isSuppressCollapse(){return this.suppressOpenCloseIcons}dispatchExpandChanged(e){const t={type:"expandedChanged",expanded:e};this.dispatchLocalEvent(t)}setTitle(e){const t=this.getGui(),i=!!e&&e.length>0;return e=i?e:void 0,this.eTitle.textContent=e??"",(0,import_ag_stack28._setDisplayed)(t,i),e!==this.title&&(this.title=e),this.refreshAriaState(),this}addWidget(e){return this.getGui().appendChild(e),this}hideOpenCloseIcons(e){return this.suppressOpenCloseIcons=e,e&&this.dispatchExpandChanged(!0),this.refreshAriaState(),this}refreshDisabledStyles(e){this.disabled=e,this.getGui().classList.toggle(TITLE_BAR_DISABLED_CLASS,e),this.refreshAriaState()}},AgGroupComponentSelector={selector:"AG-GROUP-COMPONENT",component:AgGroupComponent},import_ag_grid_community55=require("ag-grid-community"),VERSION="36.2.0",EnterpriseCoreModule={moduleName:"EnterpriseCore",version:VERSION,beans:[GridLicenseManager],icons:{accordionOpen:"tree-open",accordionClosed:"tree-closed",accordionIndeterminate:"tree-indeterminate",close:"cross",cancel:"cancel",maximize:"maximize",minimize:"minimize",columnDrag:"grip"},dependsOn:[],setLicenseKey:GridLicenseManager.setLicenseKey},advanced_filter_default='.ag-advanced-filter-header{align-items:center;background-color:var(--ag-header-background-color);border-bottom:var(--ag-header-row-border);display:flex;position:relative;z-index:1}.ag-advanced-filter{align-items:center;display:flex;width:100%}.ag-advanced-filter-buttons{display:contents}.ag-advanced-filter-header-cell{height:100%;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-advanced-filter-apply-button,.ag-advanced-filter-builder-button{align-items:center;background-color:unset;border:0;display:flex;font-size:var(--ag-font-size);font-weight:600;line-height:normal;padding:var(--ag-spacing);white-space:nowrap;&:where(.ag-standard-button):where(:not(:disabled)){cursor:pointer;&:where(.ag-standard-button):hover{background-color:var(--ag-row-hover-color)}}}:where(.ag-ltr) .ag-advanced-filter-apply-button,:where(.ag-ltr) .ag-advanced-filter-builder-button{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-advanced-filter-apply-button,:where(.ag-rtl) .ag-advanced-filter-builder-button{margin-right:calc(var(--ag-spacing)*2)}:where(.ag-advanced-filter-builder-button:disabled) .ag-advanced-filter-builder-button-label{color:var(--ag-button-disabled-text-color)}:where(.ag-ltr) .ag-advanced-filter-builder-button-label{margin-left:var(--ag-spacing)}:where(.ag-rtl) .ag-advanced-filter-builder-button-label{margin-right:var(--ag-spacing)}.ag-advanced-filter-builder{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ag-advanced-filter-builder-list{flex:1;overflow:auto}.ag-advanced-filter-builder-button-panel{border-top:var(--ag-advanced-filter-builder-button-bar-border);display:flex;justify-content:flex-end;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}:where(.ag-ltr) .ag-advanced-filter-builder-apply-button,:where(.ag-ltr) .ag-advanced-filter-builder-cancel-button{margin-left:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-advanced-filter-builder-apply-button,:where(.ag-rtl) .ag-advanced-filter-builder-cancel-button{margin-right:calc(var(--ag-spacing)*2)}.ag-advanced-filter-builder-item-wrapper{align-items:center;display:flex;flex:1 1 auto;justify-content:space-between;overflow:hidden}:where(.ag-ltr) .ag-advanced-filter-builder-item-wrapper{padding-left:calc(var(--ag-icon-size)/2);padding-right:var(--ag-icon-size)}:where(.ag-rtl) .ag-advanced-filter-builder-item-wrapper{padding-left:var(--ag-icon-size);padding-right:calc(var(--ag-icon-size)/2)}:where(.ag-virtual-list-viewport) .ag-advanced-filter-builder-item-wrapper .ag-tab-guard{position:absolute}.ag-advanced-filter-builder-item-tree-line{width:var(--ag-advanced-filter-builder-indent-size)}.ag-advanced-filter-builder-item-tree-line-root{width:var(--ag-icon-size)}.ag-advanced-filter-builder-item-tree-line-root:before{height:50%;top:50%}.ag-advanced-filter-builder-item-tree-line-horizontal,.ag-advanced-filter-builder-item-tree-line-vertical,.ag-advanced-filter-builder-item-tree-line-vertical-bottom,.ag-advanced-filter-builder-item-tree-line-vertical-top{align-items:center;display:flex;height:100%;position:relative}.ag-advanced-filter-builder-item-tree-line-horizontal:after,.ag-advanced-filter-builder-item-tree-line-horizontal:before,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:after,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before,.ag-advanced-filter-builder-item-tree-line-vertical-top:after,.ag-advanced-filter-builder-item-tree-line-vertical-top:before,.ag-advanced-filter-builder-item-tree-line-vertical:after,.ag-advanced-filter-builder-item-tree-line-vertical:before{content:"";height:100%;position:absolute}.ag-advanced-filter-builder-item-tree-line-horizontal:after{border-bottom:var(--ag-border-width) solid var(--ag-border-color);height:50%;top:0;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size))}:where(.ag-ltr) .ag-advanced-filter-builder-item-tree-line-horizontal:after{left:calc(var(--ag-icon-size)/2)}:where(.ag-rtl) .ag-advanced-filter-builder-item-tree-line-horizontal:after{right:calc(var(--ag-icon-size)/2)}.ag-advanced-filter-builder-item-tree-line-vertical:before{top:0;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size)/2)}:where(.ag-ltr) .ag-advanced-filter-builder-item-tree-line-vertical:before{border-left:var(--ag-border-width) solid var(--ag-border-color);left:calc(var(--ag-icon-size)/2)}:where(.ag-rtl) .ag-advanced-filter-builder-item-tree-line-vertical:before{border-right:var(--ag-border-width) solid var(--ag-border-color);right:calc(var(--ag-icon-size)/2)}.ag-advanced-filter-builder-item-tree-line-vertical-top:before{height:50%;top:0;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size)/2)}:where(.ag-ltr) .ag-advanced-filter-builder-item-tree-line-vertical-top:before{border-left:var(--ag-border-width) solid var(--ag-border-color);left:calc(var(--ag-icon-size)/2)}:where(.ag-rtl) .ag-advanced-filter-builder-item-tree-line-vertical-top:before{border-right:var(--ag-border-width) solid var(--ag-border-color);right:calc(var(--ag-icon-size)/2)}.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before{height:calc(50% - var(--ag-icon-size)*1.5/2);top:calc(50% + var(--ag-icon-size)*1.5/2);width:calc(var(--ag-icon-size)/2)}:where(.ag-ltr) .ag-advanced-filter-builder-item-tree-line-vertical-bottom:before{border-left:var(--ag-border-width) solid var(--ag-border-color);left:calc(var(--ag-icon-size)/2)}:where(.ag-rtl) .ag-advanced-filter-builder-item-tree-line-vertical-bottom:before{border-right:var(--ag-border-width) solid var(--ag-border-color);right:calc(var(--ag-icon-size)/2)}.ag-advanced-filter-builder-item-condition{padding-bottom:var(--ag-spacing);padding-top:var(--ag-spacing)}.ag-advanced-filter-builder-item,.ag-advanced-filter-builder-item-buttons,.ag-advanced-filter-builder-item-condition,.ag-advanced-filter-builder-item-tree-lines,.ag-advanced-filter-builder-pill,.ag-advanced-filter-builder-pill-wrapper{align-items:center;display:flex;height:100%}.ag-advanced-filter-builder-pill-wrapper{margin:0 var(--ag-spacing)}.ag-advanced-filter-builder-pill{border-radius:var(--ag-border-radius);min-height:calc(100% - var(--ag-spacing)*3);min-width:calc(var(--ag-spacing)*2);padding:var(--ag-spacing) calc(var(--ag-spacing)*2);position:relative}:where(.ag-advanced-filter-builder-pill){.ag-advanced-filter-builder-value-number{font-family:monospace;font-weight:700}.ag-advanced-filter-builder-value-empty{color:var(--ag-subtle-text-color)}}:where(.ag-ltr) :where(.ag-advanced-filter-builder-pill){.ag-picker-field-display{margin-right:var(--ag-spacing)}}:where(.ag-rtl) :where(.ag-advanced-filter-builder-pill){.ag-picker-field-display{margin-left:var(--ag-spacing)}}.ag-advanced-filter-builder-pill-display{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-advanced-filter-builder-join-pill{background-color:var(--ag-advanced-filter-builder-join-pill-color);cursor:pointer}.ag-advanced-filter-builder-column-pill{background-color:var(--ag-advanced-filter-builder-column-pill-color);cursor:pointer}.ag-advanced-filter-builder-option-pill{background-color:var(--ag-advanced-filter-builder-option-pill-color);cursor:pointer}.ag-advanced-filter-builder-value-pill{background-color:var(--ag-advanced-filter-builder-value-pill-color);cursor:text;max-width:140px;:where(.ag-advanced-filter-builder-pill-display){display:block}}.ag-advanced-filter-builder-set-values-pill-wrapper{flex:1 1 152px;max-width:100%;min-width:152px;width:152px}.ag-advanced-filter-builder-set-values-pill{cursor:pointer;max-width:100%;min-width:152px;width:-moz-max-content;width:max-content;:where(.ag-advanced-filter-builder-pill-display){min-width:0}}.ag-advanced-filter-builder-set-values-pill-empty{width:152px}.ag-advanced-filter-builder-item-buttons{display:flex;gap:var(--ag-spacing);padding:0 calc(var(--ag-spacing)*.5)}.ag-advanced-filter-builder-item-button{color:var(--ag-subtle-text-color);cursor:pointer;position:relative}.ag-advanced-filter-builder-item-button,.ag-advanced-filter-builder-pill{&:focus-visible{box-shadow:var(--ag-focus-shadow)}}.ag-advanced-filter-builder-item-button-disabled{cursor:default;opacity:.5}.ag-advanced-filter-builder-virtual-list-viewport{scrollbar-width:thin}.ag-advanced-filter-builder-virtual-list-container{--ag-internal-virtual-list-overflow:visible;top:var(--ag-spacing)}.ag-advanced-filter-builder-virtual-list-item{cursor:default;display:flex;height:var(--ag-list-item-height);min-width:-moz-max-content;min-width:max-content}.ag-advanced-filter-builder-set-value-list{:where(.ag-advanced-filter-builder-item){flex:1 1 auto;min-width:0}:where(.ag-advanced-filter-builder-item-condition){flex:1 1 auto;min-width:0}:where(.ag-advanced-filter-builder-item-wrapper){-moz-column-gap:max(0px,calc(24px - var(--ag-spacing)*1.5));column-gap:max(0px,calc(24px - var(--ag-spacing)*1.5))}:where(.ag-advanced-filter-builder-invalid.ag-invisible){display:none}}.ag-advanced-filter-builder-virtual-list-item:hover{background-color:var(--ag-row-hover-color);:where(.ag-advanced-filter-builder-item-button){opacity:1}}.ag-advanced-filter-builder-invalid{color:var(--ag-subtle-text-color);cursor:default;margin:0 var(--ag-spacing)}:where(.ag-advanced-filter-builder-validation) .ag-advanced-filter-builder-invalid{color:var(--ag-invalid-color)}:where(.ag-advanced-filter-builder-virtual-list-item-highlight) .ag-advanced-filter-builder-item-button:focus-visible{opacity:1}.ag-advanced-filter-builder-set-picker{background-color:var(--ag-menu-background-color);border:var(--ag-border-width) solid var(--ag-border-color);border-radius:var(--ag-border-radius);min-width:240px;position:absolute;width:auto}';function getAdvancedFilterModel(e){return e.filterManager?.getAdvFilterModel()??null}function setAdvancedFilterModel(e,t){e.filterManager?.setAdvFilterModel(t)}function showAdvancedFilterBuilder(e){e.filterManager?.toggleAdvFilterBuilder(!0,"api")}function hideAdvancedFilterBuilder(e){e.filterManager?.toggleAdvFilterBuilder(!1,"api")}var import_ag_stack32=require("ag-stack"),import_ag_grid_community25=require("ag-grid-community"),ADVANCED_FILTER_LOCALE_TEXT={ariaAdvancedFilterBuilderItem:e=>`${e[0]}. Level ${e[1]}. Press ENTER to edit`,ariaAdvancedFilterBuilderItemValidation:e=>`${e[0]}. Level ${e[1]}. ${e[2]} Press ENTER to edit`,ariaAdvancedFilterBuilderList:"Advanced Filter Builder List",ariaAdvancedFilterBuilderFilterItem:"Filter Condition",ariaAdvancedFilterBuilderGroupItem:"Filter Group",ariaAdvancedFilterBuilderColumn:"Column",ariaAdvancedFilterBuilderOption:"Option",ariaAdvancedFilterBuilderValue:"Value",ariaAdvancedFilterBuilderJoinOperator:"Join Operator",ariaAdvancedFilterInput:"Advanced Filter Input",ariaLabelAdvancedFilterAutocomplete:"Advanced Filter Autocomplete",advancedFilterContains:"contains",advancedFilterNotContains:"does not contain",advancedFilterTextEquals:"equals",advancedFilterTextNotEqual:"does not equal",advancedFilterStartsWith:"begins with",advancedFilterEndsWith:"ends with",advancedFilterBlank:"is blank",advancedFilterNotBlank:"is not blank",advancedFilterEquals:"=",advancedFilterNotEqual:"!=",advancedFilterGreaterThan:">",advancedFilterGreaterThanOrEqual:">=",advancedFilterLessThan:"<",advancedFilterLessThanOrEqual:"<=",advancedFilterInRange:"is between",advancedFilterYesterday:"is yesterday",advancedFilterToday:"is today",advancedFilterTomorrow:"is tomorrow",advancedFilterLast7Days:"is in last 7 days",advancedFilterLastWeek:"is in last week",advancedFilterThisWeek:"is in this week",advancedFilterNextWeek:"is in next week",advancedFilterLast30Days:"is in last 30 days",advancedFilterLastMonth:"is in last month",advancedFilterThisMonth:"is in this month",advancedFilterNextMonth:"is in next month",advancedFilterLast90Days:"is in last 90 days",advancedFilterLastQuarter:"is in last quarter",advancedFilterThisQuarter:"is in this quarter",advancedFilterNextQuarter:"is in next quarter",advancedFilterLastYear:"is in last year",advancedFilterThisYear:"is in this year",advancedFilterYearToDate:"is in year to date",advancedFilterNextYear:"is in next year",advancedFilterLast6Months:"is in last 6 months",advancedFilterLast12Months:"is in last 12 months",advancedFilterLast24Months:"is in last 24 months",advancedFilterTrue:"is true",advancedFilterFalse:"is false",advancedFilterIsAnyOf:"is any of",advancedFilterIsNoneOf:"is none of",advancedFilterSetMore:e=>`+${e[0]} more`,advancedFilterAnd:"AND",advancedFilterOr:"OR",advancedFilterApply:"Apply",advancedFilterReset:"Reset",advancedFilterCancel:"Cancel",advancedFilterClear:"Clear",advancedFilterBuilder:"Builder",advancedFilterValidationMissingColumn:"Column is missing",advancedFilterValidationMissingOption:"Option is missing",advancedFilterValidationMissingValue:"Value is missing",advancedFilterValidationInvalidColumn:"Column not found",advancedFilterValidationInvalidOption:"Option not found",advancedFilterValidationInvalidValue:"Value not found",advancedFilterValidationMissingQuote:"Value is missing an end quote",advancedFilterValidationNotANumber:"Value is not a number",advancedFilterValidationNotABigInt:"Value is not a BigInt",advancedFilterValidationInvalidDate:"Value is not a valid date",advancedFilterValidationMissingCondition:"Condition is missing",advancedFilterValidationJoinOperatorMismatch:"Join operators within a condition must be the same",advancedFilterValidationInvalidJoinOperator:"Join operator not found",advancedFilterValidationMissingListStartBracket:"Missing opening square bracket",advancedFilterValidationMissingListEndBracket:"Missing closing square bracket",advancedFilterValidationMissingEndBracket:"Missing end bracket",advancedFilterValidationExtraEndBracket:"Too many end brackets",advancedFilterValidationMessage:e=>`Expression has an error. ${e[0]} - ${e[1]}.`,advancedFilterValidationMessageAtEnd:e=>`Expression has an error. ${e[0]} at end of expression.`,advancedFilterValidationMessageOnly:e=>`Expression has an error. ${e[0]}.`,advancedFilterValidationMustBeGreaterThan:e=>`${e[0]} must be greater than ${e[1]}`,advancedFilterValidationMustBeGreaterThanOrEqualTo:e=>`${e[0]} must be greater than or equal to ${e[1]}`,advancedFilterValidationMustBeAfter:e=>`${e[0]} must be after ${e[1]}`,advancedFilterValidationMustBeOnOrAfter:e=>`${e[0]} must be on or after ${e[1]}`,advancedFilterBuilderTitle:"Advanced Filter",advancedFilterBuilderApply:"Apply",advancedFilterBuilderCancel:"Cancel",advancedFilterBuilderClear:"Clear",advancedFilterBuilderReset:"Reset",advancedFilterBuilderAddButtonTooltip:"Add Filter or Group",advancedFilterBuilderRemoveButtonTooltip:"Remove",advancedFilterBuilderMoveUpButtonTooltip:"Move Up",advancedFilterBuilderMoveDownButtonTooltip:"Move Down",advancedFilterBuilderAddJoin:"Add Group",advancedFilterBuilderAddCondition:"Add Filter",advancedFilterBuilderSelectColumn:"Select a column",advancedFilterBuilderSelectOption:"Select an option",advancedFilterBuilderEnterValue:"Enter a value...",advancedFilterBuilderValidationAlreadyApplied:"Current filter already applied.",advancedFilterBuilderValidationIncomplete:"Not all conditions are complete.",advancedFilterBuilderValidationSelectColumn:"Must select a column.",advancedFilterBuilderValidationSelectOption:"Must select an option.",advancedFilterBuilderValidationEnterValue:"Must enter a value."},import_ag_grid_community24=require("ag-grid-community"),import_ag_stack29=require("ag-stack"),import_ag_grid_community20=require("ag-grid-community");function freshOperand(e){return e instanceof Date?new Date(e.getTime()):e}var OPERAND_COUNT={none:0,one:1,range:2,list:0};function findMatch(e,t,i){let r=!1;const n=e.toLocaleLowerCase(),o=n+" ",a=Object.keys(t).find(l=>{const c=t[l],u=i(c).toLocaleLowerCase();return u.startsWith(o)&&(r=!0),u===n});return a||(r?null:void 0)}function getEntries(e,t){const i=t??Object.keys(e),r=i.length,n=new Array(r);let o=0;for(let a=0;a<r;++a){const l=i[a],c=(0,import_ag_stack29._getOwn)(e,l);c&&(n[o++]={key:l,displayValue:c.displayValue})}return o<r&&(n.length=o),n}var identity=e=>e??null,TextFilterExpressionOperators=class{constructor(e){this.params=e,this.initOperators()}getEntries(e){return getEntries(this.operators,e)}initOperators(){const{translate:e}=this.params;this.operators={contains:{displayValue:e("advancedFilterContains"),evaluator:this.createEvaluator("contains",!1),operands:"one"},notContains:{displayValue:e("advancedFilterNotContains"),evaluator:this.createEvaluator("notContains",!0),operands:"one"},equals:{displayValue:e("advancedFilterTextEquals"),evaluator:this.createEvaluator("equals",!1),operands:"one"},notEqual:{displayValue:e("advancedFilterTextNotEqual"),evaluator:this.createEvaluator("notEqual",!0),operands:"one"},startsWith:{displayValue:e("advancedFilterStartsWith"),evaluator:this.createEvaluator("startsWith",!1),operands:"one"},endsWith:{displayValue:e("advancedFilterEndsWith"),evaluator:this.createEvaluator("endsWith",!1),operands:"one"},blank:{displayValue:e("advancedFilterBlank"),evaluator:import_ag_grid_community20._isBlank,operands:"none"},notBlank:{displayValue:e("advancedFilterNotBlank"),evaluator:import_ag_grid_community20._hasValue,operands:"none"}}}createEvaluator(e,t){const i=import_ag_grid_community20._TEXT_COMPARISONS[e];return(r,n,o,a)=>{if(r==null)return t;const l=o.textFormatter??(o.caseSensitive?identity:import_ag_grid_community20._defaultLowercaseFormatter),c=l(o.valueConverter(r,n)),u=l(a),d=o.textMatcher;return d?d(e,c,u,n):c==null||u==null?!1:i(c,u)}}},isEqualTo=e=>e===0,isNotEqualTo=e=>e!==0,isAbove=e=>e>0,isAtLeast=e=>e>=0,isBelow=e=>e<0,isAtMost=e=>e<=0,ScalarFilterExpressionOperators=class{constructor(e){this.params=e,this.initOperators()}getEntries(e){return getEntries(this.operators,e)}initOperators(){const{translate:e,equals:t,relativeDates:i}=this.params;this.operators={equals:{displayValue:e("advancedFilterEquals"),evaluator:(r,n,o,a)=>this.evaluateSingleOperandExpression(r,n,o,a,!!o.includeBlanksInEquals,t,isEqualTo),operands:"one"},notEqual:{displayValue:e("advancedFilterNotEqual"),evaluator:(r,n,o,a)=>this.evaluateSingleOperandExpression(r,n,o,a,!!o.includeBlanksInNotEqual,(l,c)=>!t(l,c),isNotEqualTo,!0),operands:"one"},greaterThan:{displayValue:e("advancedFilterGreaterThan"),evaluator:(r,n,o,a)=>this.evaluateSingleOperandExpression(r,n,o,a,!!o.includeBlanksInGreaterThan,(l,c)=>l>c,isAbove),operands:"one"},greaterThanOrEqual:{displayValue:e("advancedFilterGreaterThanOrEqual"),evaluator:(r,n,o,a)=>this.evaluateSingleOperandExpression(r,n,o,a,!!o.includeBlanksInGreaterThan,(l,c)=>l>=c,isAtLeast),operands:"one"},lessThan:{displayValue:e("advancedFilterLessThan"),evaluator:(r,n,o,a)=>this.evaluateSingleOperandExpression(r,n,o,a,!!o.includeBlanksInLessThan,(l,c)=>l<c,isBelow),operands:"one"},lessThanOrEqual:{displayValue:e("advancedFilterLessThanOrEqual"),evaluator:(r,n,o,a)=>this.evaluateSingleOperandExpression(r,n,o,a,!!o.includeBlanksInLessThan,(l,c)=>l<=c,isAtMost),operands:"one"},inRange:{displayValue:e("advancedFilterInRange"),evaluator:(r,n,o,a,l)=>this.evaluateRangeExpression(r,n,o,a,l),operands:"range"},blank:{displayValue:e("advancedFilterBlank"),evaluator:import_ag_grid_community20._isBlank,operands:"none"},notBlank:{displayValue:e("advancedFilterNotBlank"),evaluator:import_ag_grid_community20._hasValue,operands:"none"}},i&&(this.defaultOperators=Object.keys(this.operators),addRelativeDateOperators(this.operators,e))}evaluateRangeExpression(e,t,i,r,n){if(e==null||(0,import_ag_grid_community20._isBlank)(e))return!!i.includeBlanksInRange;const{comparator:o,isValid:a}=i;if(a&&!a(e))return!1;if(o){const c=o(freshOperand(r),e);return i.inRangeInclusive?c>=0&&o(freshOperand(n),e)<=0:c>0&&o(freshOperand(n),e)<0}const l=i.valueConverter(e,t);return l==null?!1:i.inRangeInclusive?l>=r&&l<=n:l>r&&l<n}evaluateSingleOperandExpression(e,t,i,r,n,o,a,l){if(e==null||(0,import_ag_grid_community20._isBlank)(e))return n;const{comparator:c,isValid:u}=i;if(u&&!u(e))return!!l;if(c)return a(c(freshOperand(r),e));const d=i.valueConverter(e,t);return d==null?!!l:o(d,r)}},PRESET_DATE_OPERATOR_LOCALE_KEYS={yesterday:"advancedFilterYesterday",today:"advancedFilterToday",tomorrow:"advancedFilterTomorrow",last7Days:"advancedFilterLast7Days",lastWeek:"advancedFilterLastWeek",thisWeek:"advancedFilterThisWeek",nextWeek:"advancedFilterNextWeek",last30Days:"advancedFilterLast30Days",lastMonth:"advancedFilterLastMonth",thisMonth:"advancedFilterThisMonth",nextMonth:"advancedFilterNextMonth",last90Days:"advancedFilterLast90Days",lastQuarter:"advancedFilterLastQuarter",thisQuarter:"advancedFilterThisQuarter",nextQuarter:"advancedFilterNextQuarter",lastYear:"advancedFilterLastYear",thisYear:"advancedFilterThisYear",yearToDate:"advancedFilterYearToDate",nextYear:"advancedFilterNextYear",last6Months:"advancedFilterLast6Months",last12Months:"advancedFilterLast12Months",last24Months:"advancedFilterLast24Months"};function addRelativeDateOperators(e,t){const i=new import_ag_grid_community20._RelativeDateRangeCache;for(let r=0,n=import_ag_grid_community20._PRESET_DATE_FILTER_TYPES.length;r<n;++r){const o=import_ag_grid_community20._PRESET_DATE_FILTER_TYPES[r],a=import_ag_grid_community20._PRESET_DATE_FILTER_RANGES[o];e[o]={displayValue:t(PRESET_DATE_OPERATOR_LOCALE_KEYS[o]),evaluator:(l,c,u)=>{if(l==null||(0,import_ag_grid_community20._isBlank)(l))return!1;const{comparator:d,isValid:h}=u;if(h&&!h(l))return!1;if(d){const{fromTime:v,toTime:C}=i.getRange(o,a);return d(new Date(v),l)>=0&&d(new Date(C),l)<0}const p=u.valueConverter(l,c);if(p==null)return!1;const{fromTime:g,toTime:f}=i.getRange(o,a),m=+p;return m>=g&&m<f},operands:"none"}}}var BooleanFilterExpressionOperators=class{constructor(e){this.params=e,this.initOperators()}getEntries(e){return getEntries(this.operators,e)}initOperators(){const{translate:e}=this.params;this.operators={true:{displayValue:e("advancedFilterTrue"),evaluator:t=>!!t,operands:"none"},false:{displayValue:e("advancedFilterFalse"),evaluator:t=>t===!1,operands:"none"},blank:{displayValue:e("advancedFilterBlank"),evaluator:import_ag_grid_community20._isBlank,operands:"none"},notBlank:{displayValue:e("advancedFilterNotBlank"),evaluator:import_ag_grid_community20._hasValue,operands:"none"}}}},import_ag_stack31=require("ag-stack"),import_ag_grid_community23=require("ag-grid-community"),import_ag_grid_community22=require("ag-grid-community"),import_ag_stack30=require("ag-stack"),import_ag_grid_community21=require("ag-grid-community");function getMultiFilterDefs(e){const t=e?.filters;return t&&t.length>0?t:[{filter:"agTextColumnFilter"},{filter:"agSetColumnFilter"}]}function getChildFilter(e){const t=e.filter;return t===!0?"agTextColumnFilter":t}function childFilterEqual(e,t){const i=getChildFilter(e),r=getChildFilter(t);return i===r?!0:typeof i!="object"||typeof r!="object"?!1:i.component===r.component&&i.handler===r.handler&&i.doesFilterPass===r.doesFilterPass}function multiFilterChildrenChanged(e,t){return!(0,import_ag_stack30._areEqual)(e,t,childFilterEqual)}function forEachReverse(e,t){if(e!=null)for(let i=e.length-1;i>=0;i--)t(e[i],i)}function getFilterTitle(e,t){return t.title!=null?t.title:e instanceof import_ag_grid_community21.ProvidedFilter?e.getFilterTitle():"Filter"}function getUpdatedMultiFilterModel(e,t,i,r){const n=[],o=e?.filterModels;for(let a=0;a<t;a++)n[a]=(a===r?i:o?.[a])??null;return n.every(a=>a==null)?null:{filterType:"multi",filterModels:n}}function getFilterModelForIndex(e,t){return e?.filterModels?.[t]??null}function updateGetValue(e,t,i,r){const n=i.filterValueGetter;return n?e.colFilter.createGetValue(t,n):r}function getAuthoredFilterOptions(e){const t=e?.filterOptions;return!t?.length||(0,import_ag_grid_community22._isGridSuppliedFilterOptions)(t)?void 0:t}function getMultiFilterChild(e,t){const i=getMultiFilterDefs(e);for(let r=0,n=i.length;r<n;++r){const o=i[r];if(o&&getChildFilter(o)===t)return o}}function getColumnFilterOptions(e){const t=e.colDef.filterParams,i=t?.filters;for(let r=0,n=i?.length??0;r<n;++r){const o=getAuthoredFilterOptions(i[r]?.filterParams);if(o)return o}return getAuthoredFilterOptions(t)}function createCustomOptionOperators(e,t,i,r){const n=Object.assign(Object.create(null),e.operators);return t.forEach((o,a)=>{n[a]=createCustomOptionOperator(o,i,r)}),{operators:n,getEntries:o=>getEntries(n,o)}}function createCustomOptionOperator(e,t,i){const r=e.predicate;let n,o;switch((0,import_ag_grid_community22._getCustomOptionNumberOfInputs)(e)){case 0:n=a=>r([],a,i()),o="none";break;case 1:n=(a,l,c,u)=>r([freshOperand(u)],a,i()),o="one";break;default:n=(a,l,c,u,d)=>r([freshOperand(u),freshOperand(d)],a,i()),o="range";break}return{displayValue:(0,import_ag_grid_community22._getCustomOptionDisplayName)(e,t),evaluator:n,operands:o}}var OPERAND_KEYS=["filter","filterTo"];function getFormattedOperands(e,t,i){const r=[];for(let n=0;n<i;++n){const o=e.formatOperand(t,t[OPERAND_KEYS[n]],!0);if(!o)return null;r.push(o)}return r}function getConditionValidationMessage(e,t,i,r,n,o){if(!i.colId)return e.translate("advancedFilterBuilderValidationSelectColumn");if(!i.type)return e.translate("advancedFilterBuilderValidationSelectOption");const a=i;if(o?.operands==="list")return a.values?.length?null:e.translate("advancedFilterBuilderValidationEnterValue");const l=getFormattedOperands(e,a,OPERAND_COUNT[o?.operands??"none"]);if(!l)return e.translate("advancedFilterBuilderValidationEnterValue");if(o?.operands!=="range")return null;const c=h=>getModelOperandBound(r,t,n,h),{filter:u,filterTo:d}=i;return getRangeOrderMessage(e,i.colId,c(u),c(d),l[0])}function getRangeOrderMessage(e,t,i,r,n){const{inRangeInclusive:o}=e.getExpressionEvaluatorParams(t);if(!(0,import_ag_grid_community23._isRangeOutOfOrder)(i,r,o))return null;const a=i instanceof Date;let l;return o?l=a?"advancedFilterValidationMustBeOnOrAfter":"advancedFilterValidationMustBeGreaterThanOrEqualTo":l=a?"advancedFilterValidationMustBeAfter":"advancedFilterValidationMustBeGreaterThan",e.translate(l,[e.getColumnDisplayValue(t)??t,n])}function getModelOperandBound(e,t,i,r){return r==null?null:i==="bigint"?getBigIntParser(e,t)((0,import_ag_stack31._toStringOrNull)(r)):i==="number"?typeof r=="number"?(0,import_ag_grid_community23._toFiniteNumber)(r):getNumberParser(e,t)(r):(0,import_ag_stack31._parseDateTimeFromString)((0,import_ag_stack31._toStringOrNull)(r))}var RegionValidation=class{constructor(e,t){this.params=e,this.startPosition=t,this.message=null}reject(e,t){this.message??(this.message=this.params.advFilterExpSvc.translate(e)),t!=null&&(this.endPosition??(this.endPosition=t))}isRejected(){return this.endPosition!=null}getErrorPosition(){return this.endPosition}getError(){const e=this.message;if(!e)return null;const t=this.endPosition,i=this.params.expression.length;return{message:e,startPosition:t==null?i:this.startPosition,endPosition:t??i}}},bigIntParams=e=>e?.colDef.filterParams,getBigIntParser=(e,t)=>(0,import_ag_grid_community23._bindFilterCallback)(bigIntParams(e)?.bigintParser,t,e,"advancedFilter")??import_ag_stack31._parseBigIntOrNull,getBigIntFormatter=(e,t)=>(0,import_ag_grid_community23._bindFilterCallback)(bigIntParams(e)?.bigintFormatter,t,e,"advancedFilter");function customNumberOperandParams(e){const t=e?.colDef.filterParams;return t?.numberParser!=null&&t.numberFormatter!=null?t:void 0}var parseNumberOrNull=e=>e?.trim()?Number(e):null,getNumberParser=(e,t)=>(0,import_ag_grid_community23._bindFilterCallback)(customNumberOperandParams(e)?.numberParser,t,e,"advancedFilter")??parseNumberOrNull,getNumberFormatter=(e,t)=>(0,import_ag_grid_community23._bindFilterCallback)(customNumberOperandParams(e)?.numberFormatter,t,e,"advancedFilter");function hasCustomNumberOperands(e){return customNumberOperandParams(e)!=null}function getTextFilterParams(e,t,i){if(t!=null&&t!=="text"&&t!=="object")return;const r=e?.colDef,n=r?.filter;return n==="agMultiColumnFilter"?getMultiFilterChild(r?.filterParams,"agTextColumnFilter")?.filterParams:(n==null||n===!0||n==="agTextColumnFilter")&&!i.hasSetFilter(e)?r?.filterParams:void 0}function getSearchString(e,t,i){if(!e)return"";const r=i-t;return r?e.slice(0,e.length-r):e}function updateExpression(e,t,i,r,n,o,a,l){let c=i+(!e.length||a?0:1),u=0;if(n){const h=e[c]===" ";h&&!l&&!o?u=1:(r+=" ",l&&(r+=l),o&&(r+='"'),h&&c++)}return{updatedValue:e.slice(0,t)+r+e.slice(c),updatedPosition:t+r.length+u}}function findStartPosition(e,t,i){let r=t;for(;r<i&&e[r]===" ";)r++;return r}function findEndPosition(e,t,i,r){let n=t,o=!1;for(;n<e.length;){const a=e[n];if(a==="("){r&&e[n-1]===" "?o=!0:n=n-1;break}else if(a===" "||i&&a===")"){n=n-1;break}n++}return{endPosition:n,isEmpty:o}}function checkAndUpdateExpression(e,t,i,r){i!==t&&(e.expression=updateExpression(e.expression,r-t.length+1,r,i).updatedValue)}var SET_LIST_OPEN_CHAR="[",SET_LIST_CLOSE_CHAR="]",SET_TREE_SEPARATOR="\u203A",SET_TREE_WRITE_SEPARATOR=">",DRAWN_JOINER=` ${SET_TREE_SEPARATOR} `,WRITTEN_JOINER=` ${SET_TREE_WRITE_SEPARATOR} `,joinSetPath=e=>e.join(DRAWN_JOINER),writeSetPath=e=>e.join(WRITTEN_JOINER),SetOperandsParser=class{constructor(e,t,i){this.params=e,this.column=i,this.values=[],this.hasOpenBracket=!1,this.hasCloseBracket=!1,this.closeBracketPosition=-1,this.pendingQuoteClose=!1,this.expectSeparator=!1,this.separatorPosition=-1,this.validation=new RegionValidation(e,t)}parse(e,t){return this.hasCloseBracket||this.validation.isRejected()?!0:this.quotes?this.parseInQuotes(e,t):this.segment?this.parseInSegment(e,t):this.parseBetweenSegments(e,t)}complete(e){this.pendingQuoteClose?this.closeQuotes(e):this.quotes&&this.validation.reject("advancedFilterValidationMissingQuote"),this.finishValue(e,!1),this.values.length?this.hasCloseBracket||this.validation.reject("advancedFilterValidationMissingListEndBracket"):this.validation.reject("advancedFilterValidationMissingValue")}isComplete(){return this.values.length>0&&this.hasCloseBracket}getKeys(){const e=this.values,t=[];for(let i=0,r=e.length;i<r;++i){const n=e[i].keys;for(let o=0,a=n?.length??0;o<a;++o)t.push(n[o])}return t}getUsedKeys(e){const t=this.values,i=new Set;for(let r=0,n=t.length;r<n;++r){const o=t[r];if(o!==e&&o.resolved){const a=o.keys;for(let l=0,c=a.length;l<c;++l)i.add(a[l])}}return i}getValidationError(){const e=this.values;for(let t=0,i=e.length;t<i;++t){const r=e[t];if(r.judged&&!r.resolved)return{message:this.params.advFilterExpSvc.translate("advancedFilterValidationInvalidValue"),startPosition:r.startPosition,endPosition:r.endPosition,advisory:!0}}return this.validation.getError()}getValueAt(e){const t=this.values;for(let i=0,r=t.length;i<r;++i){const n=t[i];if(e<=n.startPosition||e>n.endPosition+1)continue;const o=n.segments;if(n.expectsSegment&&e>(o[o.length-1]?.endPosition??-1)+1)return{value:n,segmentIndex:o.length};let a=o.length-1;for(let l=0;l<o.length;++l)if(e<=o[l].endPosition+1){a=l;break}return{value:n,segmentIndex:a}}}isInList(e){const t=this.validation.getErrorPosition();return t!=null?e<=t:!this.hasCloseBracket||e<=this.closeBracketPosition}parseInQuotes(e,t){if(this.pendingQuoteClose){if(this.pendingQuoteClose=!1,e===this.quotes){this.segment.text+=e;return}return this.closeQuotes(t-1),this.parseBetweenSegments(e,t)}if(e===this.quotes){this.pendingQuoteClose=!0;return}this.segment.text+=e}closeQuotes(e){this.pendingQuoteClose=!1,this.quotes=void 0,this.finishSegment(e,!0)}parseInSegment(e,t){if(e===","||isTreeSeparator(e)||e===SET_LIST_CLOSE_CHAR)return this.finishSegment(t-1,!0),this.parseBetweenSegments(e,t);this.segment.text+=e}parseBetweenSegments(e,t){var i;if(!this.hasOpenBracket){if(e===" ")return;if(e!==SET_LIST_OPEN_CHAR)return this.validation.reject("advancedFilterValidationMissingListStartBracket",t);this.hasOpenBracket=!0;return}if(e!==" "){if(e===SET_LIST_CLOSE_CHAR)return this.hasCloseBracket=!0,this.closeBracketPosition=t,this.finishValue(t-1,!0),this.values.length?this.separatorPosition>=0&&((i=this.params).redundantSeparators??(i.redundantSeparators=[])).push({startPosition:this.separatorPosition,endPosition:t-1}):this.validation.reject("advancedFilterValidationMissingValue",t),!1;if(e===","){if(!this.value)return this.validation.reject("advancedFilterValidationMissingValue",t);this.finishValue(t-1,!0),this.separatorPosition=t;return}if(isTreeSeparator(e)){if(!this.value)return this.validation.reject("advancedFilterValidationMissingValue",t);this.expectSeparator=!1,this.value.expectsSegment=!0;return}if(this.expectSeparator)return this.validation.reject("advancedFilterValidationMissingListEndBracket",t);this.startSegment(e,t)}}startSegment(e,t){this.separatorPosition=-1,this.value||(this.value={segments:[],startPosition:t,endPosition:t,terminated:!1,expectsSegment:!1,judged:!1,resolved:!1},this.values.push(this.value)),this.value.expectsSegment=!1;const i=isQuote(e);this.quotes=i?e:void 0,this.segment={text:i?"":e,startPosition:t,endPosition:t,closed:!1,quoted:i},this.value.segments.push(this.segment)}finishSegment(e,t){const i=this.segment;if(i){if(!i.quoted){const r=i.text,n=r.trimEnd();i.text=n,e-=r.length-n.length}i.endPosition=e,i.closed=t,this.segment=void 0,this.value.endPosition=e,this.expectSeparator=!0}}finishValue(e,t){const i=this.value;if(!i)return;this.finishSegment(e,!1),i.endPosition=Math.max(i.endPosition,Math.min(e,this.params.expression.length-1)),i.terminated=t,i.judged=!i.expectsSegment&&(t||!!i.segments[i.segments.length-1]?.closed),this.expectSeparator=!1,this.value=void 0;const r=this.column;if(!r)return;const n=i.segments.map(u=>u.text),o=this.params.advFilterSetSvc,a=o.getKeys(r,n)??this.getKeysForWholeValue(i,r)??this.getKeysForJoinedPath(r,n);i.resolved=a!==void 0;const l=joinSetPath(n),c=n.length===1&&l===o.getBlankLabel(r);i.keys=a??[c?null:l]}getKeysForWholeValue(e,t){const i=e.segments;if(i.length<2)return;for(let n=0,o=i.length;n<o;++n)if(i[n].quoted)return;const r=this.params.expression.slice(e.startPosition,i[i.length-1].endPosition+1);return this.params.advFilterSetSvc.getKeys(t,[r])}getKeysForJoinedPath(e,t){if(t.length!==1)return;const i=splitSetPath(t[0]);return i.length>1?this.params.advFilterSetSvc.getKeys(e,i):void 0}},isTreeSeparator=e=>e===SET_TREE_SEPARATOR||e===SET_TREE_WRITE_SEPARATOR,splitSetPath=e=>{const t=[];let i=0;for(let r=0,n=e.length;r<n;++r)isTreeSeparator(e[r])&&(t.push(e.slice(i,r).trim()),i=r+1);return t.push(e.slice(i).trim()),t},isQuote=e=>e==="'"||e==='"',ColumnParser=class{constructor(e,t){this.params=e,this.startPosition=t,this.valid=!0,this.hasStartChar=!1,this.hasEndChar=!1,this.colName=""}parse(e,t){if(e===COL_FILTER_EXPRESSION_START_CHAR&&!this.colName)this.hasStartChar=!0;else if(e===COL_FILTER_EXPRESSION_END_CHAR&&this.hasStartChar){if(this.parseColumn(!1,t))return this.hasEndChar=!0,!1;this.colName+=e}else this.colName+=e}getDisplayValue(){return(this.hasStartChar?COL_FILTER_EXPRESSION_START_CHAR:"")+this.colName+(this.hasEndChar?COL_FILTER_EXPRESSION_END_CHAR:"")}getColId(){return this.colId}complete(e){this.parseColumn(!0,e)}getValidationError(){return this.valid?null:{message:this.params.advFilterExpSvc.translate("advancedFilterValidationInvalidColumn"),startPosition:this.startPosition,endPosition:this.endPosition??this.params.expression.length-1}}parseColumn(e,t){this.endPosition=t;const i=this.params.advFilterExpSvc.getColId(this.colName);return i&&this.hasStartChar&&(this.colId=i.colId,checkAndUpdateExpression(this.params,this.colName,i.columnName,t-1),this.colName=i.columnName,this.column=this.params.colModel.getNonPivotCol(this.colId),this.column)?(this.baseCellDataType=this.params.dataTypeSvc?.getBaseDataType(this.column)??"text",!0):(e&&(this.valid=!1),this.baseCellDataType="text",!1)}},OperatorParser=class{constructor(e,t,i,r){this.params=e,this.startPosition=t,this.baseCellDataType=i,this.column=r,this.valid=!0,this.operands="none",this.operator=""}parse(e,t){if(this.matchEndPosition==null&&(!(e===" "||e===")")||!this.parseOperator(!1,t-1))){this.operator+=e;return}return t<=this.matchEndPosition?void 0:!0}complete(e){this.matchEndPosition==null&&this.parseOperator(!0,e)}getValidationError(){return this.valid?null:{message:this.params.advFilterExpSvc.translate("advancedFilterValidationInvalidOption"),startPosition:this.startPosition,endPosition:this.endPosition??this.params.expression.length-1}}getDisplayValue(){return this.operator}getOperatorKey(){return this.parsedOperator}matchOperatorName(e,t,i){const{params:r,startPosition:n}=this,o=r.expression;let a,l=0,c=!1;for(let u=0,d=e.length;u<d;++u){const h=e[u],p=h.displayValue??"",g=p.toLocaleLowerCase();p.length>l&&p.length>=t&&isNameAt(o,n,p,g)&&(a=h.key,l=p.length),g.startsWith(i)&&(c=!0)}return{key:a,length:l,isPartialMatch:c}}parseOperator(e,t){const{params:i,startPosition:r}=this,n=i.expression,o=i.advFilterExpSvc.getColumnOperators(this.baseCellDataType,this.column);this.endPosition=t;const a=t-r+1,l=n.slice(r,t+1).toLocaleLowerCase()+" ",c=o?.activeOperators;let u=this.matchOperatorName(o?.operators.getEntries(c)??[],a,l);if(c){const p=this.matchOperatorName(o.operators.getEntries(),a,l);(p.length>u.length||!u.key&&p.isPartialMatch)&&(u=p)}const{key:d,isPartialMatch:h}=u;if(d){const p=r+u.length-1;this.parsedOperator=d,this.endPosition=p,this.matchEndPosition=p;const g=i.advFilterExpSvc.getExpressionOperator(this.baseCellDataType,d,this.column);this.operands=g.operands;const f=g.displayValue,m=n.slice(r,p+1);return checkAndUpdateExpression(i,m,f,p),this.operator=f,!0}return(e||!h)&&(this.valid=!1),!1}};function isNameAt(e,t,i,r){const n=t+i.length,o=e[n];return(o===void 0||o===" "||o===")")&&e.slice(t,n).toLocaleLowerCase()===r}var OperandParser=class{constructor(e,t,i,r){this.params=e,this.startPosition=t,this.baseCellDataType=i,this.column=r,this.operand="",this.validationMessage=null,this.filterValidationSetters={number:n=>{(n==null||isNaN(n))&&(this.validationMessage=this.params.advFilterExpSvc.translate("advancedFilterValidationNotANumber"))},bigint:n=>{n==null&&(this.validationMessage=this.params.advFilterExpSvc.translate("advancedFilterValidationNotABigInt"))},date:n=>{n==null&&(this.validationMessage=this.params.advFilterExpSvc.translate("advancedFilterValidationInvalidDate"))},dateString:(...n)=>this.filterValidationSetters.date(...n),dateTime:(...n)=>this.filterValidationSetters.date(...n),dateTimeString:(...n)=>this.filterValidationSetters.date(...n),boolean(){},object(){},text(){}}}parse(e,t){if(e===" ")if(this.quotes)this.operand+=e;else return this.parseOperand(!1,t),!0;else if(e===")")if(this.quotes)this.operand+=e;else return this.parseOperand(!1,t-1),!0;else if(!this.operand&&!this.quotes&&(e==="'"||e==='"'))this.quotes=e;else{if(this.quotes&&e===this.quotes)return this.parseOperand(!1,t),this.quotes=void 0,!1;this.operand+=e}}complete(e){this.parseOperand(!0,e)}getValidationError(){return this.validationMessage?{message:this.validationMessage,startPosition:this.startPosition,endPosition:this.endPosition??this.params.expression.length-1}:null}isInsideQuotes(){return this.quotes!=null}getRawValue(){return this.operand}getModelValue(){return this.modelValue}getBuilderValue(){return this.params.advFilterExpSvc.isOperandModelValueEditable(this.baseCellDataType,this.column)?this.modelValue:this.operand}parseOperand(e,t){const{advFilterExpSvc:i,advFilterSetSvc:r}=this.params;if(this.endPosition=t,getTextFilterParams(this.column,this.baseCellDataType,r)?.trimInput&&(this.operand=(0,import_ag_grid_community24._trimInputForFilter)(this.operand)??this.operand),this.modelValue=this.operand,e&&this.quotes)this.validationMessage=i.translate("advancedFilterValidationMissingQuote");else if(this.modelValue==="")this.validationMessage=i.translate("advancedFilterValidationMissingValue");else{const n=i.getOperandModelValue(this.operand,this.baseCellDataType,this.column);n!=null&&(this.modelValue=n),this.filterValidationSetters[this.baseCellDataType](n)}}},OperandsParser=class{constructor(e,t,i,r,n){this.params=e,this.baseCellDataType=i,this.column=r,this.expectedNumOperands=n,this.parsers=[],this.expectSeparator=!1,this.hasOpenBracket=!1,this.validation=new RegionValidation(e,t)}parse(e,t){return this.expectedNumOperands>1?this.parseSeveral(e,t):(this.startOperand(t),this.parser.parse(e,t))}complete(e){this.parser&&!this.expectSeparator&&this.finishOperand(e),!(this.expectedNumOperands<2)&&(this.parsers.length<this.expectedNumOperands?this.validation.reject("advancedFilterValidationMissingValue"):this.hasOpenBracket&&this.validation.reject("advancedFilterValidationMissingEndBracket"))}getValidationError(){const e=this.parsers;for(let t=0,i=e.length;t<i;++t){const r=e[t].getValidationError();if(r)return r}return this.validation.getError()}isComplete(){return this.parsers.length>=this.expectedNumOperands}getParsers(){return this.parsers}parseSeveral(e,t){const i=this.parser;if(!this.validation.isRejected()){if(i&&!this.expectSeparator&&i.isInsideQuotes())return this.delegate(e,t);if(e===" ")return i&&!this.expectSeparator&&this.finishOperand(t-1),this.expectSeparator&&this.isComplete()&&!this.hasOpenBracket?!0:void 0;if(e==="("&&!i&&!this.hasOpenBracket&&!this.parsers.length){this.hasOpenBracket=!0;return}return e===","?i?(this.expectSeparator||this.finishOperand(t-1),this.isComplete()&&!this.hasOpenBracket?!0:(this.parser=void 0,this.expectSeparator=!1,this.isComplete()?this.validation.reject("advancedFilterValidationMissingEndBracket",t):void 0)):this.validation.reject("advancedFilterValidationMissingValue",t):e===")"?(i&&!this.expectSeparator&&this.finishOperand(t-1),this.hasOpenBracket?this.isComplete()?!1:this.validation.reject("advancedFilterValidationMissingValue",t):(this.isComplete()||this.validation.reject("advancedFilterValidationMissingValue"),!0)):this.expectSeparator?this.validation.reject(this.isComplete()?"advancedFilterValidationMissingEndBracket":"advancedFilterValidationMissingValue",t):(this.startOperand(t),this.delegate(e,t))}}delegate(e,t){this.parser.parse(e,t)!=null&&(this.expectSeparator=!0)}startOperand(e){this.parser||(this.parser=new OperandParser(this.params,e,this.baseCellDataType,this.column),this.parsers.push(this.parser))}finishOperand(e){this.parser.complete(e),this.expectSeparator=!0}},COL_FILTER_EXPRESSION_START_CHAR="[",COL_FILTER_EXPRESSION_END_CHAR="]",ColFilterExpressionParser=class{constructor(e,t){this.params=e,this.startPosition=t,this.isAwaiting=!0,this.operandValueGetters={number:i=>getNumberParser(this.columnParser.column,this.params.gos)(i),bigint:i=>getBigIntParser(this.columnParser.column,this.params.gos)(i),date:i=>this.params.valueSvc.parseValue(this.columnParser.column,null,i,void 0),dateString:i=>this.operandValueGetters.date(i),dateTime:i=>this.operandValueGetters.date(i),dateTimeString:i=>this.operandValueGetters.date(i),boolean:i=>i,object:i=>i,text:i=>i}}parseExpression(){let e=this.startPosition;const{expression:t}=this.params;for(;e<t.length;){const i=t[e];if(!(i===" "&&this.isAwaiting)){if(this.isAwaiting=!1,!this.parser){let n;this.columnParser?this.operatorParser?this.operatorParser.operands==="list"?(this.setOperandsParser??(this.setOperandsParser=new SetOperandsParser(this.params,e,this.columnParser.column)),n=this.setOperandsParser):(this.operandsParser??(this.operandsParser=new OperandsParser(this.params,e,this.columnParser.baseCellDataType,this.columnParser.column,OPERAND_COUNT[this.operatorParser.operands])),n=this.operandsParser):(this.operatorParser=new OperatorParser(this.params,e,this.columnParser.baseCellDataType,this.columnParser.column),n=this.operatorParser):(this.columnParser=new ColumnParser(this.params,e),n=this.columnParser),this.parser=n}const r=this.parser.parse(i,e);if(r!=null){if(this.isComplete())return this.returnEndPosition(r?e-1:e,!0);this.parser=void 0,this.isAwaiting=!0}}e++}return this.parser?.complete?.(e-1),this.returnEndPosition(e)}isValid(){const e=this.getValidationError();return this.isComplete()&&(!e||!!e.advisory)}getValidationError(){const e=this.columnParser?.getValidationError()??this.operatorParser?.getValidationError()??this.operandsParser?.getValidationError()??this.setOperandsParser?.getValidationError();if(e)return e;const t=this.params.expression.length;let i;return this.columnParser?this.operatorParser?this.operatorParser.operands!=="none"&&!this.operandsParser&&!this.setOperandsParser&&(i="advancedFilterValidationMissingValue"):i="advancedFilterValidationMissingOption":i="advancedFilterValidationMissingColumn",i?{message:this.params.advFilterExpSvc.translate(i),startPosition:t,endPosition:t}:this.getRangeOrderError()}getRangeOrderError(){const[e,t]=this.getOperandParsers();if(this.operatorParser.operands!=="range"||!t)return null;const i=getRangeOrderMessage(this.params.advFilterExpSvc,this.columnParser.getColId(),this.getOperandValue(e),this.getOperandValue(t),e.getRawValue());return i?{message:i,startPosition:t.startPosition,endPosition:t.endPosition??this.params.expression.length-1,selfContained:!0}:null}getFunction(e){const t=this.columnParser,i=t.getColId(),{operators:r,evaluatorParams:n,operands:o}=e,a=this.params.advFilterExpSvc,l=addToListAndGetIndex(r,a.getExpressionOperator(t.baseCellDataType,this.operatorParser?.getOperatorKey(),t.column)),c=addToListAndGetIndex(n,a.getExpressionEvaluatorParams(i)),u=this.setOperandsParser;if(u){const f=addToListAndGetIndex(o,this.params.advFilterSetSvc.createMatcher(t.column,u.getKeys()));return(m,v,C)=>C.operators[l].evaluator(void 0,v,C.evaluatorParams[c],C.operands[f])}const[d,h]=this.getOperandParsers(),p=d?addToListAndGetIndex(o,this.getOperandValue(d)):-1,g=h?addToListAndGetIndex(o,this.getOperandValue(h)):-1;return(f,m,v)=>v.operators[l].evaluator(f.getValue(i,m),m,v.evaluatorParams[c],p<0?void 0:v.operands[p],g<0?void 0:v.operands[g])}getAutocompleteListParams(e){if(this.isColumnPosition(e))return this.getColumnAutocompleteListParams(e);if(this.isOperatorPosition(e))return this.getOperatorAutocompleteListParams(e);if(!this.isBeyondEndPosition(e))return this.setOperandsParser?this.getSetValueAutocompleteListParams(e):{enabled:!1}}updateExpression(e,t,i){const{expression:r}=this.params,n=this.columnParser;if(this.isColumnPosition(e))return updateExpression(r,this.startPosition,n?.getColId()?n.endPosition:findEndPosition(r,e).endPosition,this.params.advFilterExpSvc.getColumnValue(t),!0);const o=this.setOperandsParser;if(o&&this.params.advFilterSetSvc.isSetValueType(i))return this.updateSetExpression(o,e,t);if(!this.isOperatorPosition(e))return null;const a=n.baseCellDataType,l=this.getOperandsKindFor(a,t.key),c=l==="list",u=l!=="none",d=this.operatorParser;let h=e,p=e,g=!1;if(d?.startPosition==null||e>=d.startPosition){if(d?.getOperatorKey())p=d.endPosition;else{const x=findEndPosition(r,e,!0,!0);p=x.endPosition,g=x.isEmpty}h=findStartPosition(r,n.endPosition+1,p)}let f;c?f=SET_LIST_OPEN_CHAR:l==="range"&&(f="(");const m=operandOpener(r,p+(g?0:1)),v=u&&(f?m===f:!!m),C=u&&!v,y=updateExpression(r,h,p,t.displayValue??t.key,u,C&&!c&&this.doesOperandNeedQuotes(a),g,C?f:void 0),S=y.updatedValue;return{...y,updatedPosition:v?findStartPosition(S,y.updatedPosition,S.length)+1:y.updatedPosition,hideAutocomplete:!u}}getModel(e){const t=this.columnParser,i=this.setOperandsParser,r={colId:t.getColId(),type:this.operatorParser.getOperatorKey()};if(i)return{filterType:"set",...r,values:i.getKeys()};const[n,o]=this.getOperandParsers(),a={};return n&&(a.filter=e?n.getBuilderValue():n.getModelValue()),o&&(a.filterTo=e?o.getBuilderValue():o.getModelValue()),{filterType:t.baseCellDataType,...r,...a}}getOperandValue(e){const{baseCellDataType:t,column:i}=this.columnParser,r=this.operandValueGetters[t](e.getRawValue());return t==="dateString"||t==="dateTimeString"?this.params.dataTypeSvc?.getDateParserFunction(i)(r)??r:r}getOperandParsers(){return this.operandsParser?.getParsers()??[]}isComplete(){const e=this.operatorParser;return!!e&&(e.operands==="none"||!!(this.operandsParser??this.setOperandsParser)?.isComplete())}isColumnPosition(e){return this.columnParser?.endPosition==null||e<=this.columnParser.endPosition+1}isOperatorPosition(e){return this.operatorParser?.endPosition==null||e<=this.operatorParser.endPosition+1}isBeyondEndPosition(e){return this.isComplete()&&this.endPosition!=null&&e>this.endPosition+1&&this.endPosition+1<this.params.expression.length}returnEndPosition(e,t){return this.endPosition=t?e:e-1,e}getColumnAutocompleteListParams(e){return this.params.advFilterExpSvc.generateAutocompleteListParams(this.params.advFilterExpSvc.getColumnAutocompleteEntries(),"column",this.getColumnSearchString(e))}getColumnSearchString(e){const t=this.columnParser?.getDisplayValue()??"",i=getSearchString(t,e,this.columnParser?.endPosition==null?this.params.expression.length:this.columnParser.endPosition+1),r=this.columnParser?.hasStartChar&&i.length>0,n=this.columnParser?.hasEndChar&&i.length===t.length+2;return r?i.slice(1,n?-1:void 0):i}getOperatorAutocompleteListParams(e){const t=this.columnParser?.column;if(!t)return{enabled:!1};const i=this.columnParser.baseCellDataType,r=this.operatorParser?.startPosition!=null&&e<this.operatorParser.startPosition?"":getSearchString(this.operatorParser?.getDisplayValue()??"",e,this.operatorParser?.endPosition==null?this.params.expression.length:this.operatorParser.endPosition+1);return this.params.advFilterExpSvc.generateAutocompleteListParams(this.params.advFilterExpSvc.getOperatorAutocompleteEntries(t,i),`operator-${i}-${t?.getColId()}`,r)}getSetValueAutocompleteListParams(e){const t=this.columnParser?.column,i=this.setOperandsParser;if(!t)return{enabled:!1};const r=i.getValueAt(e);if(!r&&!i.isInList(e))return{enabled:!1};const n=i.getUsedKeys(r?.value),{advFilterSetSvc:o,advFilterExpSvc:a}=this.params,l=o.getAutocompleteList(t,n);let c="";if(r){const d=r.value.segments,h=r.segmentIndex,p=d[h],g=p?getSearchString(p.text,e,p.endPosition+1):"",f=[];for(let m=0;m<=h;++m){const v=m===h?g:d[m].text;l.isTree?f.push(...splitSetPath(v)):f.push(v)}c=joinSetPath(f)}const u=a.generateAutocompleteListParams(l.entries,l.type,c);return u.rowComponentCreator=l.rowComponentCreator,u.loading=l.loading,u.suggestFirstMatch=!0,u}updateSetExpression(e,t,i){const r=this.params.expression,n=e.getValueAt(t),o=n?.value.startPosition??t,a=n?.value.endPosition??t-1,c=this.params.advFilterSetSvc.writeEntry(this.columnParser.column,i)+(n?.value.terminated?"":", ");return{updatedValue:r.slice(0,o)+c+r.slice(a+1),updatedPosition:o+c.length}}getOperandsKindFor(e,t){if(!t)return"one";const i=this.columnParser?.column;return this.params.advFilterExpSvc.getExpressionOperator(e,t,i)?.operands??"none"}doesOperandNeedQuotes(e){return e!=="number"&&e!=="bigint"}};function addToListAndGetIndex(e,t){return e.push(t)-1}function operandOpener(e,t){const i=e[findStartPosition(e,t,e.length)];return i===SET_LIST_OPEN_CHAR||i==="("||i==='"'||i==="'"?i:void 0}var SET_OPERATOR_KEYS=["isAnyOf","isNoneOf"];function namesSetOperator(e){const t=getColumnFilterOptions(e);for(let i=0,r=t?.length??0;i<r;++i){const n=t[i];if(n==="isAnyOf"||n==="isNoneOf")return!0}return!1}function addSetOperators(e,t){const i={isAnyOf:{displayValue:t("advancedFilterIsAnyOf"),evaluator:(n,o,a,l)=>l(o)===!0,operands:"list"},isNoneOf:{displayValue:t("advancedFilterIsNoneOf"),evaluator:(n,o,a,l)=>l(o)===!1,operands:"list"}},r=Object.assign(Object.create(null),e.operators,i);return{operators:r,getEntries:n=>getEntries(r,n)}}function withSetOperators(e){return[...e,...SET_OPERATOR_KEYS]}function needsQuotes(e,t){return e.includes(" ")||e.includes(")")||e.startsWith("'")||e.startsWith('"')||!!t&&e.includes(",")}function quoteChar(e){return e.includes('"')?e.includes("'")?null:"'":'"'}function quoteSetValue(e){const t=quoteChar(e);return t?`${t}${e}${t}`:`"${e.replaceAll('"','""')}"`}var COPIED_FILTER_PARAMS=["caseSensitive","includeBlanksInEquals","includeBlanksInNotEqual","includeBlanksInLessThan","includeBlanksInGreaterThan","includeBlanksInRange","inRangeInclusive"],quoteSetPath=e=>writeSetPath(e.map(quoteSetValue)),DATE_FILTER="agDateColumnFilter",AdvancedFilterExpressionService=class extends import_ag_grid_community25.BeanStub{constructor(){super(...arguments),this.beanName="advFilterExpSvc",this.wroteUnresolvedSetValue=!1,this.filterOperandGetters={number:e=>{const t=this.colModel.getNonPivotCol(e.colId);return this.applyOperandFormatter(e.filter,getNumberFormatter(t,this.gos),import_ag_grid_community25._toFiniteNumber,getNumberParser(t,this.gos))},bigint:e=>{const t=this.colModel.getNonPivotCol(e.colId);return this.applyOperandFormatter(e.filter,getBigIntFormatter(t,this.gos),import_ag_stack32._parseBigIntOrNull,getBigIntParser(t,this.gos))},date:e=>{const t=this.colModel.getNonPivotCol(e.colId);return t?this.valueSvc.formatValue(t,null,(0,import_ag_stack32._parseDateTimeFromString)((0,import_ag_stack32._toStringOrNull)(e.filter)??""),void 0,!0):null},dateTime:e=>this.filterOperandGetters.date(e),dateString:e=>{const t=this.colModel.getNonPivotCol(e.colId);if(!t)return null;const{filter:i}=e,n=this.dataTypeSvc?.getDateFormatterFunction(t)?.((0,import_ag_stack32._parseDateTimeFromString)((0,import_ag_stack32._toStringOrNull)(e.filter)??"")??void 0)??i;return this.valueSvc.formatValue(t,null,n)},dateTimeString:e=>this.filterOperandGetters.dateString(e),boolean:()=>null,object:()=>null,text:()=>null},this.operandModelValueGetters={number:(e,t)=>e!=null&&e!==""?getNumberParser(t,this.gos)(e):null,bigint:(e,t)=>{const i=getBigIntParser(t,this.gos)(e);return i==null?null:String(i)},date:(e,t,i)=>(0,import_ag_stack32._serialiseDate)(this.valueSvc.parseValue(t,null,e,void 0),!!this.dataTypeSvc?.getDateIncludesTimeFlag(i)),dateTime:(...e)=>this.operandModelValueGetters.date(...e),dateString:(e,t,i)=>{const r=this.valueSvc.parseValue(t,null,e,void 0);return this.dataTypeSvc?(0,import_ag_stack32._serialiseDate)(this.dataTypeSvc.getDateParserFunction(t)(r)??null,this.dataTypeSvc.getDateIncludesTimeFlag(i)):r},dateTimeString:(...e)=>this.operandModelValueGetters.dateString(...e),boolean:e=>e,object:e=>e,text:e=>e},this.columnNameToIdMap=Object.create(null),this.columnAutocompleteEntries=null,this.expressionEvaluatorParams=Object.create(null),this.columnExpressionOperators=new WeakMap}wireBeans(e){this.valueSvc=e.valueSvc,this.colModel=e.colModel,this.colNames=e.colNames,this.dataTypeSvc=e.dataTypeSvc,this.advFilterSetSvc=e.advFilterSetSvc}postConstruct(){this.expressionJoinOperators=this.generateExpressionJoinOperators(),this.expressionOperators=this.generateExpressionOperators();const e=this.resetColumnCaches.bind(this);this.addManagedEventListeners({newColumnsLoaded:e,columnVisible:e,columnRowGroupChanged:e,columnPivotModeChanged:e,columnPivotChanged:e,columnHeaderNameChanged:e})}parseJoinOperator(e){const{type:t}=e;return this.expressionJoinOperators[t]??t}getColumnDisplayValue(e){const i=this.getColumnAutocompleteEntries().find(({key:n})=>n===e);let r;return i?(r=i.displayValue,this.columnNameToIdMap[r.toLocaleUpperCase()]={colId:e,columnName:r}):r=e,r}applyOperandFormatter(e,t,i,r){const n=(0,import_ag_stack32._toStringOrNull)(e);if(n==null||n.trim()==="")return"";if(!t)return n;const o=i(n),a=o==null?null:t(o);if(a==null||a.trim()==="")return n;const l=r(a);return l!=null&&String(l)===String(o)?a:n}getOperatorDisplayValue(e){return this.getModelOperator(e)?.displayValue??e.type}getModelOperator(e){const t=e.filterType,{column:i,baseCellDataType:r}=this.getColumnDetails(e.colId);return this.getExpressionOperator(t==="set"?r:t,e.type,i)}getOperandModelValue(e,t,i){return this.operandModelValueGetters[t](e,i,t)}isOperandModelValueEditable(e,t){return e==="number"?!hasCustomNumberOperands(t):e!=="bigint"}getOperandDisplayValue(e){if(e.filterType==="set")return this.getSetOperandDisplayValue(e);const{filter:t,filterTo:i}=e,r=this.getModelOperator(e),n=r?OPERAND_COUNT[r.operands]:void 0;return n===0?"":n!==2?t==null?"":` ${this.formatOperand(e,t)}`:` (${this.formatOperand(e,t,!1,!0)}, ${this.formatOperand(e,i,!1,!0)})`}getSetOperandDisplayValue(e){const t=e.values;if(!t?.length)return"";const i=this.colModel.getNonPivotColById(e.colId),r=new Set;for(let n=0,o=t.length;n<o;++n){const a=t[n],l=i?this.advFilterSetSvc.getPath(i,a):void 0;if(i&&l){r.add(this.advFilterSetSvc.writePath(i,l));continue}this.wroteUnresolvedSetValue=!0,r.add(quoteSetValue(a??(i?this.advFilterSetSvc.getBlankLabel(i):void 0)??""))}return` ${SET_LIST_OPEN_CHAR}${Array.from(r).join(", ")}${SET_LIST_CLOSE_CHAR}`}formatOperand(e,t,i,r){if(t==null)return"";const{filterType:n,colId:o}=e,a=(0,import_ag_stack32._toStringOrNull)(t)??"";let l=(0,import_ag_stack32._getOwn)(this.filterOperandGetters,n)?.({filter:t,colId:o})??a;const c=n==="number"||n==="bigint";if(!i&&(!c||needsQuotes(l,r))){const u=quoteChar(l);u?l=`${u}${l}${u}`:c?l=a:l=`"${l}"`}return l}parseColumnFilterModel(e){const t=this.getColumnDisplayValue(e.colId)??"",i=this.getOperatorDisplayValue(e)??"",r=this.getOperandDisplayValue(e);return`[${t}] ${i}${r}`}updateAutocompleteCache(e,t){if(t==="column"){const{key:i,displayValue:r}=e;this.columnNameToIdMap[e.displayValue.toLocaleUpperCase()]={colId:i,columnName:r}}}translate(e,t){let i=ADVANCED_FILTER_LOCALE_TEXT[e];return typeof i=="function"&&(i=i(t)),this.getLocaleTextFunc()(e,i,t)}generateAutocompleteListParams(e,t,i){return{enabled:!0,type:t,searchString:i,entries:e}}getColumnAutocompleteEntries(){if(this.columnAutocompleteEntries)return this.columnAutocompleteEntries;const e=this.colModel.colDefList,t=[],i=this.gos.get("includeHiddenColumnsInAdvancedFilter");for(const r of e)r.colDef.filter&&(i||r.isVisible()||r.isRowGroupActive())&&t.push({key:r.colId,displayValue:this.colNames.getDisplayNameForColumn(r,"advancedFilter")});return t.sort((r,n)=>{const o=r.displayValue??"",a=n.displayValue??"";return o<a?-1:a>o?1:0}),this.columnAutocompleteEntries=t,t}getOperatorAutocompleteEntries(e,t){const i=this.getColumnOperators(t,e);return i?i.operators.getEntries(i.activeOperators):[]}getJoinOperatorAutocompleteEntries(){return Object.entries(this.expressionJoinOperators).map(([e,t])=>({key:e,displayValue:t}))}getDefaultAutocompleteListParams(e){return this.generateAutocompleteListParams(this.getColumnAutocompleteEntries(),"column",e)}getExpressionOperator(e,t,i){return(0,import_ag_stack32._getOwn)(this.getColumnOperators(e,i)?.operators.operators,t)}isOperatorOffered(e,t,i){const r=this.getColumnOperators(e,i);if(!t||!(0,import_ag_stack32._getOwn)(r?.operators.operators,t))return!1;const n=r.activeOperators;return!n||n.includes(t)}getColumnOperators(e,t){const i=this.expressionOperators[e];if(!i)return;if(!t)return{operators:i,activeOperators:i.defaultOperators};const r=this.columnExpressionOperators;let n=r.get(t);n||(n=Object.create(null),r.set(t,n));let o=n[e];return o||(o=this.createColumnOperators(i,t),n[e]=o),o}createColumnOperators(e,t){const i=this.advFilterSetSvc.offersSetOperators(t);let r=i?addSetOperators(e,a=>this.translate(a)):e,n=e.defaultOperators;i&&n&&(n=withSetOperators(n));const o=getColumnFilterOptions(t);if(o){const{offered:a,customOptions:l}=(0,import_ag_grid_community25._classifyFilterOptions)(o,d=>this.warn(72,{keys:d}),null);if(l.size){const d=this.gos;r=createCustomOptionOperators(r,l,this.getLocaleTextFunc(),()=>(0,import_ag_grid_community25._filterCallbackParams)(d,t,"advancedFilter"))}const c=r.operators,u=[];for(const d of a.keys())(0,import_ag_stack32._getOwn)(c,d)&&u.push(d);u.length&&(n=u)}return{operators:r,activeOperators:n}}getDateFilterParams(e,t){if((0,import_ag_grid_community25._getDefaultSimpleFilter)(t)!==DATE_FILTER)return;const{filter:i,filterParams:r}=e.colDef;return i==="agMultiColumnFilter"?getMultiFilterChild(r,DATE_FILTER)?.filterParams:i===!0||i===DATE_FILTER||this.advFilterSetSvc.hasSetFilter(e)?r:void 0}getExpressionJoinOperators(){return this.expressionJoinOperators}getColId(e){const t=e.toLocaleUpperCase(),i=this.columnNameToIdMap[t];if(i)return i;const n=this.getColumnAutocompleteEntries().find(({displayValue:o})=>o.toLocaleUpperCase()===t);if(n){const{key:o,displayValue:a}=n,l={colId:o,columnName:a};return this.columnNameToIdMap[t]=l,l}return null}getExpressionEvaluatorParams(e){let t=this.expressionEvaluatorParams[e];if(t)return t;const i=this.colModel.getNonPivotColById(e);if(!i)return{valueConverter:u=>u};const r=this.dataTypeSvc?.getBaseDataType(i);let n=!1;switch(r){case"dateTimeString":case"dateString":t={valueConverter:this.dataTypeSvc?.getDateParserFunction(i)??(u=>u)},n=!0;break;case"object":i.colDef.filterValueGetter?t={valueConverter:u=>u}:t={valueConverter:(u,d)=>this.valueSvc.formatValue(i,d,u)??(typeof u.toString=="function"?u.toString():"")};break;case"bigint":t={valueConverter:u=>(0,import_ag_stack32._parseBigIntOrNull)(u)};break;case"text":case void 0:t={valueConverter:u=>(0,import_ag_stack32._toStringOrNull)(u)};break;default:t={valueConverter:u=>u};break}const{filter:o,filterParams:a}=i.colDef,l=o==="agMultiColumnFilter"?getMultiFilterChild(a,(0,import_ag_grid_community25._getDefaultSimpleFilter)(r))?.filterParams:a;if(l)for(let u=0,d=COPIED_FILTER_PARAMS.length;u<d;++u){const h=COPIED_FILTER_PARAMS[u],p=l[h];p&&(t[h]=p)}this.addTextFilterParams(t,i,r);const c=this.getDateFilterParams(i,r);if(c){const{comparator:u,isValidDate:d}=c,h=u&&!(0,import_ag_grid_community25._isGridSuppliedFilterParam)(u)&&!this.advFilterSetSvc.hasSetFilter(i)?u:void 0,p=n&&!h;t.comparator=h,t.isValid=p&&(0,import_ag_grid_community25._isGridSuppliedFilterParam)(d)?void 0:d}return this.expressionEvaluatorParams[e]=t,t}addTextFilterParams(e,t,i){const r=getTextFilterParams(t,i,this.advFilterSetSvc);if(!r)return;const{textFormatter:n,textMatcher:o}=r,a=this.gos,l=(0,import_ag_grid_community25._bindFilterCallback)(n,a,t,"advancedFilter");e.textFormatter=l,o&&(e.textMatcher=(c,u,d,h)=>o((0,import_ag_grid_community25._addGridCommonParams)(a,{colDef:t.colDef,column:t,node:h,data:h.data,filterOption:c,value:u,filterText:d,textFormatter:l,source:"advancedFilter"})))}getColumnDetails(e){const t=this.colModel.getNonPivotColById(e),i=(t?this.dataTypeSvc?.getBaseDataType(t):void 0)??"text";return{column:t,baseCellDataType:i}}generateExpressionOperators(){const t={translate:(r,n)=>this.translate(r,n)},i={...t,equals:(r,n)=>r.getTime()===n.getTime(),relativeDates:!0};return{text:new TextFilterExpressionOperators(t),boolean:new BooleanFilterExpressionOperators(t),object:new TextFilterExpressionOperators(t),number:new ScalarFilterExpressionOperators({...t,equals:(r,n)=>r===n}),bigint:new ScalarFilterExpressionOperators({...t,equals:(r,n)=>r===n}),date:new ScalarFilterExpressionOperators(i),dateString:new ScalarFilterExpressionOperators(i),dateTime:new ScalarFilterExpressionOperators(i),dateTimeString:new ScalarFilterExpressionOperators(i)}}getColumnValue({displayValue:e}){return`${COL_FILTER_EXPRESSION_START_CHAR}${e}${COL_FILTER_EXPRESSION_END_CHAR}`}generateExpressionJoinOperators(){return{AND:this.translate("advancedFilterAnd"),OR:this.translate("advancedFilterOr")}}resetColumnCaches(){this.columnAutocompleteEntries=null,this.columnNameToIdMap=Object.create(null),this.expressionEvaluatorParams=Object.create(null),this.columnExpressionOperators=new WeakMap}},import_ag_grid_community51=require("ag-grid-community"),import_ag_stack52=require("ag-stack"),import_ag_grid_community50=require("ag-grid-community"),import_ag_grid_community26=require("ag-grid-community"),DIALOG_CALLBACKS={stopPropagationCallbacks:import_ag_grid_community26._STOP_PROPAGATION_CALLBACKS,focusNextContainer:(e,t)=>(0,import_ag_grid_community26._focusNextGridCoreContainer)(e,t,"direct"),configureFocusableContainer:(e,t)=>{const i=e.ctrlsSvc.get("gridCtrl");i.addFocusableContainer(t),t.addDestroyFunc(()=>i.removeFocusableContainer(t))}},Dialog=class extends AgDialog{constructor(e){super(e,DIALOG_CALLBACKS)}getFocusableContainerName(){return"dialog"}},import_ag_stack36=require("ag-stack"),import_ag_grid_community31=require("ag-grid-community"),import_ag_stack35=require("ag-stack"),import_ag_grid_community30=require("ag-grid-community"),agAutocomplete_default=".ag-autocomplete{align-items:center;display:flex;width:100%;>:where(.ag-text-field){flex:1 1 auto}}.ag-autocomplete-row-path-parent{opacity:.5}.ag-autocomplete-list-popup{background-color:var(--ag-background-color);border-radius:var(--ag-border-radius);box-shadow:var(--ag-dropdown-shadow);padding:0;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-autocomplete-list{height:calc(var(--ag-row-height)*6.5);min-width:200px;position:relative;width:100%}.ag-autocomplete-virtual-list-item{cursor:default;display:flex;height:var(--ag-list-item-height);&:focus-visible:after{content:none}}.ag-autocomplete-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-autocomplete-row{align-items:center;display:flex;flex:1 1 auto;overflow:hidden}.ag-autocomplete-row-label{margin:0 var(--ag-widget-container-horizontal-padding);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-autocomplete-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-autocomplete-loading{min-width:200px;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);:where(.ag-loading-text){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}",import_ag_stack34=require("ag-stack"),import_ag_grid_community29=require("ag-grid-community"),import_ag_grid_community27=require("ag-grid-community"),VirtualList=class extends AgVirtualList{constructor(e){super(import_ag_grid_community27._STOP_PROPAGATION_CALLBACKS,e)}},import_ag_stack33=require("ag-stack"),import_ag_grid_community28=require("ag-grid-community"),AgAutocompleteRowElement={tag:"div",cls:"ag-autocomplete-row",role:"presentation",children:[{tag:"div",cls:"ag-autocomplete-row-label"}]},AgAutocompleteRow=class extends import_ag_grid_community28.Component{constructor(){super(AgAutocompleteRowElement),this.hasHighlighting=!1}getLabel(){return this.getGui().lastElementChild}afterLabelRendered(){}setState(e,t){this.value=e,this.render(),this.updateSelected(t)}updateSelected(e){this.toggleCss("ag-autocomplete-row-selected",e)}setSearchString(e){let t=!1;const{value:i}=this;if(i&&(0,import_ag_stack33._exists)(e)){const r=i.toLocaleLowerCase().indexOf(e.toLocaleLowerCase());if(r>=0){t=!0,this.hasHighlighting=!0;const n=r+e.length,o=this.getLabel();(0,import_ag_stack33._clearElement)(o),o.append(i.slice(0,r),(0,import_ag_grid_community28._createElement)({tag:"b",children:i.slice(r,n)}),i.slice(n)),this.afterLabelRendered()}}!t&&this.hasHighlighting&&(this.hasHighlighting=!1,this.render())}render(){this.getLabel().textContent=this.value??"\xA0",this.afterLabelRendered()}},getAgAutocompleteListElement=e=>({tag:"div",cls:"ag-autocomplete-list-popup",children:[e?{tag:"div",cls:"ag-loading ag-autocomplete-loading",children:[{tag:"span",ref:"eLoadingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eLoadingLabel",cls:"ag-loading-text"}]}:null,{tag:"div",ref:"eList",cls:`ag-autocomplete-list${e?" ag-hidden":""}`,attrs:e?{"aria-hidden":"true"}:void 0}]}),AgAutocompleteList=class extends import_ag_stack34.AgPopupComponent{constructor(e){super(getAgAutocompleteListElement(!!e.loading)),this.params=e,this.eList=import_ag_stack34.RefPlaceholder,this.eLoadingIcon=import_ag_stack34.RefPlaceholder,this.eLoadingLabel=import_ag_stack34.RefPlaceholder,this.selectedIndex=-1,this.searchString="",this.lastAutoListHeight=null,this.registerCSS(agAutocomplete_default)}postConstruct(){this.setupLoading(),this.autocompleteEntries=this.params.autocompleteEntries,this.virtualList=this.createManagedBean(new VirtualList({cssIdentifier:"autocomplete"}));const e=this.virtualList,t=e.getGui();e.getAriaElement().id=this.getListId(),e.setComponentCreator(this.createRowComponent.bind(this)),this.eList.appendChild(t),e.setModel({getRowCount:()=>this.autocompleteEntries.length,getRow:r=>this.autocompleteEntries[r]});const i=r=>{r.type==="mousedown"&&r.preventDefault(),this.selectRowUnderMouse(r)};this.addManagedListeners(t,{click:()=>this.params.onConfirmed(),mousemove:i,mousedown:i}),this.setSelectedValue(0),this.updateListHeight()}setupLoading(){if(!this.params.loading)return;this.eLoadingLabel.textContent=this.getLocaleTextFunc()("loadingOoo","Loading...");const e=(0,import_ag_grid_community29._createIconNoSpan)("setFilterLoading",this.beans,null);e&&this.eLoadingIcon.appendChild(e)}getActiveOptionId(){const e=this.selectedIndex;return e>=0&&this.autocompleteEntries[e]===this.selectedValue?this.getOptionId(e):null}getListId(){return`ag-autocomplete-list-${this.getCompId()}`}onNavigationKeyDown(e,t){if(e.preventDefault(),!this.autocompleteEntries.length)return;const i=this.selectedIndex,r=this.autocompleteEntries[i]===this.selectedValue?i:-1;let n=0;if(r>=0){const l=t===import_ag_grid_community29.KeyCode.PAGE_UP||t===import_ag_grid_community29.KeyCode.PAGE_DOWN?this.getPageSize():1;n=t===import_ag_grid_community29.KeyCode.UP||t===import_ag_grid_community29.KeyCode.PAGE_UP?r-l:r+l}const o=this.autocompleteEntries.length-1;this.setSelectedValue((0,import_ag_grid_community29._clamp)(n,0,o))}getPageSize(){const e=this.virtualList,t=e.getRowHeight(),i=e.getGui().getBoundingClientRect().height;return t>0?Math.max(1,Math.floor(i/t)):1}setSearch(e){this.searchString=e,(0,import_ag_stack34._exists)(e)?this.runSearch():(this.autocompleteEntries=this.params.autocompleteEntries,this.refreshVirtualList(),this.checkSetSelectedValue(0),this.updateListHeight())}runContainsSearch(e,t){const i=e.toLocaleLowerCase(),r=[];let n=-1,o=0,a=!1;for(let l=0,c=t.length;l<c;++l){const u=t[l],d=u.searchValue??u.displayValue??u.key,h=d.toLocaleLowerCase().indexOf(i);if(h<0)continue;const p=h===0;(n<0||!a&&p||a===p&&d.length<o)&&(n=r.length,o=d.length,a=p),r.push(u)}return{matches:r,topIndex:n}}runStartsWithSearch(e,t){const i=e.toLocaleLowerCase(),r=[];for(let n=0,o=t.length;n<o;++n){const a=t[n];(a.searchValue??a.displayValue??a.key).toLocaleLowerCase().startsWith(i)&&r.push(a)}return r}runSearch(){const{autocompleteEntries:e,useStartsWithSearch:t,suggestFirstMatch:i,forceLastSelection:r}=this.params,n=this.searchString;let o,a=0;t?o=this.runStartsWithSearch(n,e):({matches:o,topIndex:a}=this.runContainsSearch(n,e),i&&(a=0));const l=this.selectedValue;!o.length&&l&&r?.(l,n)&&(o=[l],a=0),this.autocompleteEntries=o,this.refreshVirtualList(),this.updateListHeight(),this.checkSetSelectedValue(a)}updateListHeight(){if(!this.params.autoSizeList)return;const e=this.autocompleteEntries.length,t=this.virtualList.getRowHeight(),i=this.params.maxVisibleItems??e;let n=Math.min(e,i)*t;e===0&&(n=t),this.lastAutoListHeight!==n&&(this.lastAutoListHeight=n,this.eList.style.height=`${n}px`,(0,import_ag_stack34._isVisible)(this.eList)&&this.params.onListHeightChanged?.())}checkSetSelectedValue(e){e>=0&&e<this.autocompleteEntries.length&&this.setSelectedValue(e)}refreshVirtualList(){this.virtualList.refresh(),this.virtualList.awaitStable(()=>{this.refreshRenderedRowsAria(),this.refreshActiveDescendant()})}setSelectedValue(e){const t=this.autocompleteEntries[e];if(this.selectedIndex=t===void 0?-1:e,this.selectedValue===t){this.refreshRenderedRowsAria(),this.refreshActiveDescendant();return}this.selectedValue=t,this.virtualList.ensureIndexVisible(e),this.refreshRenderedRowsAria(),this.refreshActiveDescendant()}refreshRenderedRowsAria(){this.virtualList.forEachRenderedRow((e,t)=>{const r=e.getGui().parentElement;r instanceof HTMLElement&&this.updateRowAriaProperties(e,r,t)})}refreshActiveDescendant(){const e=this.getActiveOptionId();(0,import_ag_stack34._setAriaActiveDescendant)(this.virtualList.getAriaElement(),e),this.params.onActiveOptionChanged?.(e)}updateRowAriaProperties(e,t,i){const r=this.autocompleteEntries[i]===this.selectedValue;e.updateSelected(r),(0,import_ag_stack34._setAriaSelected)(t,r),t.setAttribute("id",this.getOptionId(i))}getOptionId(e){return`${this.getListId()}-option-${e}`}createRowComponent(e,t,i){const r=e===this.selectedValue;let n=this.params.rowComponentCreator?.(e,r);if(n)this.createBean(n);else{const o=new AgAutocompleteRow;this.createBean(o),o.setState(e.displayValue??e.key,r),n=o}return n.setSearchString(this.searchString),this.updateRowAriaProperties(n,t,i),n}selectRowUnderMouse(e){const t=this.virtualList,i=t.getGui().getBoundingClientRect(),r=t.getScrollTop(),n=e.clientY-i.top+r,o=Math.floor(n/t.getRowHeight());this.checkSetSelectedValue(o)}afterGuiAttached(){this.refreshVirtualList(),this.updateListHeight()}getSelectedValue(){return this.autocompleteEntries.length?this.selectedValue??null:null}},AgAutocompleteElement={tag:"div",cls:"ag-autocomplete",role:"presentation",children:[{tag:"ag-input-text-field",ref:"eAutocompleteInput"}]},AgAutocomplete=class extends import_ag_grid_community30.Component{constructor(){super(AgAutocompleteElement,[import_ag_grid_community30.AgInputTextFieldSelector]),this.eAutocompleteInput=import_ag_stack35.RefPlaceholder,this.isListOpen=!1,this.lastPosition=0,this.valid=!0,this.registerCSS(agAutocomplete_default)}wireBeans(e){this.popupSvc=e.popupSvc}postConstruct(){this.eAutocompleteInput.onValueChange(e=>this.onValueChanged(e)),this.eAutocompleteInput.setAutoComplete(!1),this.addGuiEventListener("keydown",this.onKeyDown.bind(this)),this.addGuiEventListener("click",this.updatePositionAndList.bind(this)),this.addDestroyFunc(()=>{this.destroyBean(this.autocompleteList)}),this.addGuiEventListener("focusout",()=>this.onFocusOut())}onValueChanged(e){const t=(0,import_ag_stack35._makeNull)(e);this.updateValue(t),this.updateAutocompleteList(t)}updateValue(e){this.updateLastPosition(),this.dispatchLocalEvent({type:"eventValueChanged",value:e}),this.validate(e)}updateAutocompleteList(e){const t=this.listGenerator?.(e,this.lastPosition)??{enabled:!1};(!t.type||t.type!==this.autocompleteListParams?.type)&&this.isListOpen&&this.closeList();const i=this.isListOpen;if(this.autocompleteListParams=t,t?.enabled){i||this.openList();const{searchString:r}=t;this.autocompleteList.setSearch(r??"")}else i&&this.closeList()}onKeyDown(e){const t=e.key;switch(this.updateLastPosition(),t){case import_ag_grid_community30.KeyCode.ENTER:this.onEnterKeyDown(e);break;case import_ag_grid_community30.KeyCode.TAB:this.onTabKeyDown(e);break;case import_ag_grid_community30.KeyCode.DOWN:case import_ag_grid_community30.KeyCode.UP:case import_ag_grid_community30.KeyCode.PAGE_DOWN:case import_ag_grid_community30.KeyCode.PAGE_UP:this.onUpDownKeyDown(e,t);break;case import_ag_grid_community30.KeyCode.LEFT:case import_ag_grid_community30.KeyCode.RIGHT:case import_ag_grid_community30.KeyCode.PAGE_HOME:case import_ag_grid_community30.KeyCode.PAGE_END:setTimeout(()=>{this.updatePositionAndList()});break;case import_ag_grid_community30.KeyCode.ESCAPE:this.onEscapeKeyDown(e);break;case import_ag_grid_community30.KeyCode.SPACE:e.ctrlKey&&!this.isListOpen&&(e.preventDefault(),this.forceOpenList());break}}confirmSelection(){const e=this.autocompleteList?.getSelectedValue();e&&(this.closeList(),this.dispatchLocalEvent({type:"eventOptionSelected",value:this.getValue(),position:this.lastPosition,updateEntry:e,autocompleteType:this.autocompleteListParams.type}))}onTabKeyDown(e){this.isListOpen&&(e.preventDefault(),e.stopPropagation(),this.confirmSelection())}onEnterKeyDown(e){e.preventDefault(),this.isListOpen?this.confirmSelection():this.onCompleted()}onUpDownKeyDown(e,t){e.preventDefault(),this.isListOpen?this.autocompleteList?.onNavigationKeyDown(e,t):this.forceOpenList()}onEscapeKeyDown(e){this.isListOpen&&(e.preventDefault(),e.stopPropagation(),this.closeList(),this.setCaret(this.lastPosition,!0))}onFocusOut(){this.isListOpen&&this.closeList()}updatePositionAndList(){this.updateLastPosition(),this.updateAutocompleteList(this.eAutocompleteInput.getValue()??null)}setCaret(e,t){t&&this.eAutocompleteInput.getFocusableElement().focus();const i=this.eAutocompleteInput.getInputElement();i.setSelectionRange(e,e),this.updateLastPosition(),e===i.value.length&&(i.scrollLeft=i.scrollWidth)}forceOpenList(){this.onValueChanged(this.eAutocompleteInput.getValue())}updateLastPosition(){this.lastPosition=this.eAutocompleteInput.getInputElement().selectionStart??0}validate(e){if(!this.validator)return;const t=this.validator(e);this.eAutocompleteInput.getInputElement().setCustomValidity(t??""),this.valid=!t,this.dispatchLocalEvent({type:"eventValidChanged",isValid:this.valid,validationMessage:t})}openList(){this.isListOpen=!0,this.autocompleteList=this.createBean(new AgAutocompleteList({autocompleteEntries:this.autocompleteListParams.entries,onConfirmed:()=>this.confirmSelection(),forceLastSelection:this.forceLastSelection,rowComponentCreator:this.autocompleteListParams.rowComponentCreator,suggestFirstMatch:this.autocompleteListParams.suggestFirstMatch,loading:this.autocompleteListParams.loading}));const e=this.autocompleteList.getGui(),t={ePopup:e,type:"autocomplete",eventSource:this.getGui(),position:"under",alignSide:this.gos.get("enableRtl")?"right":"left",keepWithinBounds:!0},i=this.popupSvc.addPopup({eChild:e,anchorToElement:this.getGui(),positionCallback:()=>this.popupSvc.positionPopupByComponent(t),ariaLabel:this.listAriaLabel});this.hidePopup=i.hideFunc,this.autocompleteList.afterGuiAttached()}closeList(){this.isListOpen=!1,this.hidePopup(),this.destroyBean(this.autocompleteList),this.autocompleteList=null}onCompleted(){this.isListOpen&&this.closeList(),this.dispatchLocalEvent({type:"eventValueConfirmed",value:this.getValue(),isValid:this.isValid()})}getValue(){return(0,import_ag_stack35._makeNull)(this.eAutocompleteInput.getValue())}getCaretPosition(){return this.lastPosition}setInputPlaceholder(e){return this.eAutocompleteInput.setInputPlaceholder(e),this}setInputAriaLabel(e){return this.eAutocompleteInput.setInputAriaLabel(e),this}setListAriaLabel(e){return this.listAriaLabel=e,this}setListGenerator(e){return this.listGenerator=e,this}setValidator(e){return this.validator=e,this}isValid(){return this.valid}setValue(e){const{value:t,position:i,silent:r,updateListOnlyIfOpen:n,restoreFocus:o}=e;this.eAutocompleteInput.setValue(t,!0),this.setCaret(i??this.lastPosition,o),r||this.updateValue(t),(!n||this.isListOpen)&&this.updateAutocompleteList(t)}refresh(e){const t=this.getValue();e&&this.updateValue(t),this.isListOpen&&this.updateAutocompleteList(t)}setForceLastSelection(e){return this.forceLastSelection=e,this}setInputDisabled(e){return this.eAutocompleteInput.setDisabled(e),this}},AgAutocompleteSelector={selector:"AG-AUTOCOMPLETE",component:AgAutocomplete},DEFAULT_ADVANCED_FILTER_PARAMS={buttons:["apply"],suppressBuilderButton:!1},ButtonLocaleMap={apply:"advancedFilterApply",clear:"advancedFilterClear",cancel:"advancedFilterCancel",reset:"advancedFilterReset"},AdvancedFilterElement={tag:"div",cls:"ag-advanced-filter",role:"presentation",attrs:{tabindex:"-1"},children:[{tag:"ag-autocomplete",ref:"eAutocomplete"},{tag:"ag-filter-button",ref:"eButtons",cls:"ag-advanced-filter-buttons"},{tag:"button",ref:"eBuilderFilterButton",cls:"ag-button ag-advanced-filter-builder-button",children:[{tag:"span",ref:"eBuilderFilterButtonIcon",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eBuilderFilterButtonLabel",cls:"ag-advanced-filter-builder-button-label"}]}]},AdvancedFilterComp=class extends import_ag_grid_community31.Component{constructor(){super(AdvancedFilterElement,[AgAutocompleteSelector,import_ag_grid_community31.AgFilterButtonSelector]),this.eAutocomplete=import_ag_stack36.RefPlaceholder,this.eButtons=import_ag_stack36.RefPlaceholder,this.eBuilderFilterButton=import_ag_stack36.RefPlaceholder,this.eBuilderFilterButtonIcon=import_ag_stack36.RefPlaceholder,this.eBuilderFilterButtonLabel=import_ag_stack36.RefPlaceholder,this.expressionParser=null,this.isApplyDisabled=!0,this.builderOpen=!1}wireBeans(e){this.advFilterExpSvc=e.advFilterExpSvc,this.advancedFilter=e.advancedFilter,this.advFilterSetSvc=e.advFilterSetSvc,this.filterManager=e.filterManager}postConstruct(){if(this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.getGui(),getTooltipComponentDefinition:()=>{},getTooltipShowDelayOverride:()=>1e3,getLocation:()=>"advancedFilter"})),this.eAutocomplete.setListGenerator((i,r)=>this.generateAutocompleteListParams(r)).setValidator(()=>this.validateValue()).setForceLastSelection((i,r)=>this.forceLastSelection(i,r)).setInputAriaLabel(this.advFilterExpSvc.translate("ariaAdvancedFilterInput")).setListAriaLabel(this.advFilterExpSvc.translate("ariaLabelAdvancedFilterAutocomplete")),this.refresh(),this.advFilterSetSvc){const i=this.advFilterSetSvc;this.addManagedListeners(i,{valuesChanged:()=>this.eAutocomplete.refresh(!this.advancedFilter.isCurrentExpressionApplied())}),this.addManagedElementListeners(this.eAutocomplete.getGui(),{focusin:()=>i.refreshValuesOnFocus()})}this.addManagedListeners(this.eAutocomplete,{eventValueChanged:({value:i})=>this.onValueChanged(i),eventValueConfirmed:({isValid:i})=>this.onValueConfirmed(i),eventOptionSelected:({position:i,updateEntry:r,autocompleteType:n})=>this.onOptionSelected(i,r,n),eventValidChanged:({isValid:i,validationMessage:r})=>this.onValidChanged(i,r)});const{buttons:e,suppressBuilderButton:t}={...DEFAULT_ADVANCED_FILTER_PARAMS,...this.gos.get("advancedFilterParams")};this.setupButtons(e),this.setupBuilderButton(t),this.beans.gos.addManagedPropertyListener("advancedFilterParams",i=>{const r={...DEFAULT_ADVANCED_FILTER_PARAMS,...i.currentValue},n={...DEFAULT_ADVANCED_FILTER_PARAMS,...i.previousValue};if(r.buttons!==n.buttons){const o=r.buttons.map(a=>({type:a,label:this.advFilterExpSvc.translate(ButtonLocaleMap[a])}));this.eButtons.updateButtons(o)}r.suppressBuilderButton!==n.suppressBuilderButton&&(0,import_ag_stack36._setDisplayed)(this.eBuilderFilterButton,!r.suppressBuilderButton)})}refresh(){const e=this.advancedFilter.getExpressionDisplayValue();this.eAutocomplete.setValue({value:e??"",position:e?.length,updateListOnlyIfOpen:!0})}setInputDisabled(e){this.eAutocomplete.setInputDisabled(e),this.eButtons.updateValidity(!e&&!this.isApplyDisabled&&!this.advancedFilter.isCurrentExpressionApplied())}setupButtons(e){const t=e.map(r=>({type:r,label:this.advFilterExpSvc.translate(ButtonLocaleMap[r])})),i=r=>()=>{this.updateModel(r)};this.eButtons.addManagedListeners(this.eButtons,{apply:i("apply"),clear:i("clear"),reset:i("reset"),cancel:i("cancel")}),this.eButtons.updateButtons(t),this.eButtons.updateValidity(!this.isApplyDisabled)}updateModel(e){switch(e){case"apply":this.onValueConfirmed(this.eAutocomplete.isValid());break;case"reset":this.advancedFilter.setModel(null),this.filterManager?.onFilterChanged({source:"advancedFilter"});break;case"cancel":this.advancedFilter.setModel(this.advancedFilter.getModel()),this.filterManager?.onFilterChanged({source:"advancedFilter"});break;case"clear":this.eAutocomplete.setValue({value:"",restoreFocus:!0});break}}setupBuilderButton(e){this.eBuilderFilterButtonIcon.appendChild((0,import_ag_grid_community31._createIconNoSpan)("advancedFilterBuilder",this.beans)),this.eBuilderFilterButtonLabel.textContent=this.advFilterExpSvc.translate("advancedFilterBuilder"),this.activateTabIndex([this.eBuilderFilterButton]),this.addManagedElementListeners(this.eBuilderFilterButton,{click:()=>this.openBuilder()}),this.addManagedListeners(this.advancedFilter.getCtrl(),{advancedFilterBuilderClosed:()=>this.closeBuilder()}),(0,import_ag_stack36._setDisplayed)(this.eBuilderFilterButton,!e)}onValueChanged(e){e=(0,import_ag_stack36._makeNull)(e),this.expressionParser=this.advancedFilter.createExpressionParser(e);let t=this.expressionParser?.parseExpression()??null;const i=this.eAutocomplete.getCaretPosition(),r=this.stripRedundantSeparators(i);let n;r!=null&&(n=i-(t.length-r.length),t=r),t!=null&&t!==e&&(e=t,this.eAutocomplete.setValue({value:e,position:n,silent:!0,restoreFocus:!0})),this.advancedFilter.setExpressionDisplayValue(e)}stripRedundantSeparators(e){const t=this.expressionParser?.stripRedundantSeparators(e)??null;return t!=null&&(this.expressionParser=this.advancedFilter.createExpressionParser(t),this.expressionParser.parseExpression()),t}onValueConfirmed(e){if(!e||this.isApplyDisabled)return;this.eButtons?.updateValidity(!1);const t=this.stripRedundantSeparators(this.eAutocomplete.getValue()?.length??0);t!=null&&(this.eAutocomplete.setValue({value:t,position:t.length,silent:!0,updateListOnlyIfOpen:!0}),this.advancedFilter.setExpressionDisplayValue(t)),this.advancedFilter.applyExpression(),this.filterManager?.onFilterChanged({source:"advancedFilter"})}onOptionSelected(e,t,i){const{updatedValue:r,updatedPosition:n,hideAutocomplete:o}=this.updateExpression(e,t,i);this.eAutocomplete.setValue({value:r,position:n,updateListOnlyIfOpen:o,restoreFocus:!0})}validateValue(){return this.expressionParser?.getValidationMessage()??null}onValidChanged(e,t){this.isApplyDisabled=!e||this.advancedFilter.isCurrentExpressionApplied(),this.eButtons.updateValidity(!this.isApplyDisabled),this.tooltipFeature?.setTooltipAndRefresh(t)}generateAutocompleteListParams(e){return this.expressionParser?this.expressionParser.getAutocompleteListParams(e):this.advFilterExpSvc.getDefaultAutocompleteListParams("")}updateExpression(e,t,i){return this.advFilterExpSvc.updateAutocompleteCache(t,i),this.expressionParser?.updateExpression(e,t,i)??this.advancedFilter.getDefaultExpression(t)}forceLastSelection({key:e,displayValue:t},i){return!!i.toLocaleLowerCase().match(`^${(t??e).toLocaleLowerCase()}\\s*$`)}openBuilder(){this.builderOpen||(this.builderOpen=!0,(0,import_ag_stack36._setDisabled)(this.eBuilderFilterButton,!0),this.advancedFilter.getCtrl().toggleFilterBuilder({source:"ui",eventSource:this.eBuilderFilterButton}))}closeBuilder(){this.builderOpen&&(this.builderOpen=!1,(0,import_ag_stack36._setDisabled)(this.eBuilderFilterButton,!1),this.eBuilderFilterButton.focus())}},import_ag_stack37=require("ag-stack"),import_ag_grid_community32=require("ag-grid-community"),AdvancedFilterHeaderElement={tag:"div",cls:"ag-row ag-full-width-row ag-advanced-filter-header",role:"row",children:[{tag:"div",cls:"ag-full-width-anchor",role:"presentation",ref:"eFullWidthAnchor"}]},AdvancedFilterHeaderComp=class extends import_ag_grid_community32.Component{constructor(e){super(AdvancedFilterHeaderElement),this.enabled=e,this.eFullWidthAnchor=import_ag_stack37.RefPlaceholder}wireBeans(e){this.colModel=e.colModel,this.focusSvc=e.focusSvc,this.ctrlsSvc=e.ctrlsSvc}postConstruct(){this.setupAdvancedFilter(this.enabled),this.addDestroyFunc(()=>this.destroyBean(this.eAdvancedFilter));const e=this.refreshLayout.bind(this);this.addManagedEventListeners({gridColumnsChanged:()=>this.onGridColumnsChanged(),headerRowsChanged:()=>this.setAriaRowIndex(),columnHeaderHeightChanged:e,stylesChanged:e}),this.addManagedPropertyListener("headerHeight",e),this.addManagedPropertyListener("floatingFiltersHeight",e),this.addGuiEventListener("keydown",t=>this.onKeyDown(t)),this.addGuiEventListener("focusout",t=>{this.getFocusableElement().contains(t.relatedTarget)||this.focusSvc.clearAdvancedFilterColumn()})}getFocusableElement(){return this.eAdvancedFilter?.getGui()??this.getGui()}setEnabled(e){e!==this.enabled&&this.setupAdvancedFilter(e)}refresh(){this.eAdvancedFilter?.refresh()}refreshLayout(){this.enabled&&this.setEnabledHeight()}getHeight(){return this.height}setInputDisabled(e){this.eAdvancedFilter?.setInputDisabled(e)}setupAdvancedFilter(e){if(e){this.eAdvancedFilter=this.createBean(new AdvancedFilterComp);const t=this.eAdvancedFilter.getGui();this.eAdvancedFilter.addCss("ag-advanced-filter-header-cell"),this.setEnabledHeight(),this.setAriaRowIndex(),(0,import_ag_stack37._setAriaRole)(t,"gridcell"),(0,import_ag_stack37._setAriaColIndex)(t,1),this.setAriaColumnCount(t),this.eFullWidthAnchor.appendChild(t)}else(0,import_ag_stack37._clearElement)(this.eFullWidthAnchor),this.destroyBean(this.eAdvancedFilter),this.height=0;(0,import_ag_stack37._setDisplayed)(this.getGui(),e),this.enabled=e}setEnabledHeight(){const e=this.getGui();this.height=(0,import_ag_grid_community32._getFloatingFiltersHeight)(this.beans);const t=`${this.height}px`;e.style.height=t,e.style.minHeight=t}setAriaColumnCount(e){(0,import_ag_stack37._setAriaColSpan)(e,this.colModel.getCols().length)}setAriaRowIndex(){const e=this.ctrlsSvc.getHeaderRowContainerCtrl()?.getRowCount()??0;(0,import_ag_stack37._setAriaRowIndex)(this.getGui(),e+1)}onGridColumnsChanged(){this.eAdvancedFilter&&(this.setAriaColumnCount(this.eAdvancedFilter.getGui()),this.setAriaRowIndex())}onKeyDown(e){switch(e.key){case import_ag_grid_community32.KeyCode.ENTER:{this.hasFocus()&&(0,import_ag_stack37._focusInto)(this.getFocusableElement())&&e.preventDefault();break}case import_ag_grid_community32.KeyCode.ESCAPE:this.hasFocus()||this.getFocusableElement().focus();break;case import_ag_grid_community32.KeyCode.UP:this.navigateUpDown(!0,e);break;case import_ag_grid_community32.KeyCode.DOWN:this.navigateUpDown(!1,e);break;case import_ag_grid_community32.KeyCode.TAB:if(this.hasFocus())this.navigateLeftRight(e);else{const t=(0,import_ag_stack37._findNextFocusableElement)({beans:this.beans,rootNode:this.getFocusableElement(),backwards:e.shiftKey});t?(e.preventDefault(),t.focus()):this.navigateLeftRight(e)}break}}navigateUpDown(e,t){this.hasFocus()&&this.focusSvc.focusNextFromAdvancedFilter(e)&&t.preventDefault()}navigateLeftRight(e){(e.shiftKey?this.focusSvc.focusLastHeader():this.focusSvc.focusNextFromAdvancedFilter(!1,!0))&&e.preventDefault()}hasFocus(){return(0,import_ag_stack37._getActiveDomElement)(this.beans)===this.getFocusableElement()}},import_ag_stack51=require("ag-stack"),import_ag_grid_community49=require("ag-grid-community"),import_ag_grid_community33=require("ag-grid-community"),VirtualListDragFeature=class extends AgVirtualListDragFeature{},AdvancedFilterBuilderDragFeature=class extends import_ag_grid_community33.BeanStub{constructor(e,t){super(),this.comp=e,this.virtualList=t}postConstruct(){this.createManagedBean(new VirtualListDragFeature(this.comp,this.virtualList,{dragSourceType:import_ag_grid_community33.DragSourceType.AdvancedFilterBuilder,addListeners:(e,t,i)=>{e.addManagedListeners(this,{advancedFilterBuilderDragStarted:t,advancedFilterBuilderDragEnded:i})},getCurrentDragValue:e=>this.getCurrentDragValue(e),isMoveBlocked:()=>!1,getNumRows:e=>e.getNumItems(),moveItem:(e,t)=>this.moveItem(e,t)}))}getCurrentDragValue(e){return e.item}moveItem(e,t){this.comp.moveItem(e,t)}},import_ag_stack45=require("ag-stack"),import_ag_grid_community42=require("ag-grid-community"),import_ag_stack43=require("ag-stack"),import_ag_grid_community40=require("ag-grid-community"),import_ag_stack42=require("ag-stack"),import_ag_grid_community39=require("ag-grid-community"),import_ag_grid_community34=require("ag-grid-community"),DEFAULT_VALUES_PAGE_SIZE=100;function createRichSelectAsyncRequestBindings(e){const{host:t,source:i,useAsyncSearch:r,onMisconfiguredSearchSource:n,onFirstValuesPageLoaded:o}=e,a=new RichSelectAsyncRequestsFeature({host:t,source:i,onMisconfiguredSearchSource:n,onFirstValuesPageLoaded:o??(()=>{})}),l=typeof i.loadValuesPage=="function";return{controller:a,hasPagedSource:l,onSearch:r?c=>a.onSearch(c):void 0,onLoadMoreRows:l?c=>a.loadValuesPage(c??"down"):void 0}}var RichSelectAsyncRequestsFeature=class{constructor(e){this.ctrlParams=e,this.currentSearchRequest=0,this.currentValuesPageRequest=0,this.valuesPageLoading=!1,this.valuesPageHasMoreNext=!1,this.valuesPageHasMorePrev=!1,this.valuesPageLoadedValues=[],this.valuesPageSearch="",this.valuesPageWindowStartRow=0,this.destroyed=!1}destroy(){this.destroyed=!0,this.currentSearchRequest++,this.currentValuesPageRequest++}onSearch(e){if(this.destroyed)return;if(this.isValuesPaged()){this.resetValuesPage(e);return}const t=++this.currentSearchRequest,{host:i,source:r,onMisconfiguredSearchSource:n}=this.ctrlParams;if(i.setValueList({refresh:!0,valueList:void 0}),!e)return;if(typeof r.searchValues!="function"){n?.();return}let o;try{o=r.searchValues(e)}catch(a){(0,import_ag_grid_community34._consoleError)("Rich Select",a),t===this.currentSearchRequest&&i.setValueList({refresh:!0,valueList:[]});return}if(Array.isArray(o)){n?.(),i.setValueList({refresh:!0,valueList:o});return}i.setValueList({valueList:o.then(a=>{if(t===this.currentSearchRequest)return a}).catch(a=>{if((0,import_ag_grid_community34._consoleError)("Rich Select",a),t===this.currentSearchRequest)return[]}),refresh:!0})}resetValuesPage(e){this.destroyed||(this.valuesPageSearch=e,this.valuesPageLoadedValues=[],this.valuesPageWindowStartRow=this.resolveValuesPageStartRow(e),this.valuesPageNextCursor=void 0,this.valuesPageHasMoreNext=!0,this.valuesPageHasMorePrev=this.valuesPageWindowStartRow>0,this.valuesPageLoading=!1,this.currentValuesPageRequest++,this.ctrlParams.host.setValueList({valueList:void 0,refresh:!0,isInitial:!0}),this.loadValuesPage("down"))}loadValuesPage(e){if(this.destroyed)return;const t=this.ctrlParams.source.loadValuesPage;if(typeof t!="function"||this.valuesPageLoading||e==="up"&&!this.valuesPageHasMorePrev||e==="down"&&!this.valuesPageHasMoreNext)return;const i=Math.max(this.ctrlParams.source.valuesPageSize??DEFAULT_VALUES_PAGE_SIZE,1),r=e==="up"?Math.max(this.valuesPageWindowStartRow-i,0):this.valuesPageWindowStartRow+this.valuesPageLoadedValues.length,n=e==="up"?this.valuesPageWindowStartRow:r+i;if(r>=n){e==="up"?this.valuesPageHasMorePrev=!1:this.valuesPageHasMoreNext=!1;return}const o=this.currentValuesPageRequest,a={search:this.valuesPageSearch,startRow:r,endRow:n,cursor:e==="down"?this.valuesPageNextCursor:void 0};this.valuesPageLoading=!0,this.valuesPageLoadedValues.length===0&&this.ctrlParams.host.setIsLoading();let l;try{l=t(a)}catch(c){this.handleValuesPageError(c,o);return}Promise.resolve(l).then(c=>this.applyValuesPageResult(c,i,o,e,r,n)).catch(c=>this.handleValuesPageError(c,o))}applyValuesPageResult(e,t,i,r,n,o){if(this.destroyed||i!==this.currentValuesPageRequest)return;this.valuesPageLoading=!1;const a=this.valuesPageLoadedValues.length===0,l=e?.values??[];if(r==="up"){l.length&&(this.valuesPageLoadedValues=[...l,...this.valuesPageLoadedValues],this.valuesPageWindowStartRow=n);const c=o-n;this.valuesPageHasMorePrev=n>0&&l.length>=c}else{l.length&&(this.valuesPageLoadedValues=[...this.valuesPageLoadedValues,...l]),this.valuesPageNextCursor=e?.cursor;const c=this.valuesPageLoadedValues.length;typeof e?.lastRow=="number"?this.valuesPageHasMoreNext=this.valuesPageWindowStartRow+c<e.lastRow:e?.cursor!==void 0?this.valuesPageHasMoreNext=!!e.cursor:this.valuesPageHasMoreNext=l.length>=t}this.ctrlParams.host.setValueList({valueList:this.valuesPageLoadedValues,refresh:!0,isInitial:!0,scrollToCurrentValue:a,prependedRowCount:r==="up"?l.length:void 0}),a&&this.ctrlParams.onFirstValuesPageLoaded()}handleValuesPageError(e,t){(0,import_ag_grid_community34._consoleError)("Rich Select",e),!(this.destroyed||t!==this.currentValuesPageRequest)&&(this.valuesPageLoading=!1,this.valuesPageHasMoreNext=!1,this.valuesPageHasMorePrev=!1,this.ctrlParams.host.setValueList({valueList:this.valuesPageLoadedValues,refresh:!0,isInitial:!0}))}resolveValuesPageStartRow(e){if(e)return 0;const t=this.ctrlParams.source.valuesPageInitialStartRow?.(e);return Math.max(Math.floor(t??0),0)}isValuesPaged(){return typeof this.ctrlParams.source.loadValuesPage=="function"}},import_ag_stack39=require("ag-stack"),import_ag_grid_community36=require("ag-grid-community"),import_ag_stack38=require("ag-stack"),import_ag_grid_community35=require("ag-grid-community"),AgPillElement={tag:"div",cls:"ag-pill",role:"option",children:[{tag:"span",ref:"eText",cls:"ag-pill-text"},{tag:"span",ref:"eButton",cls:"ag-button ag-pill-button",role:"presentation"}]},AgPill=class extends import_ag_grid_community35.Component{constructor(e){super(AgPillElement),this.config=e,this.eText=import_ag_stack38.RefPlaceholder,this.eButton=import_ag_stack38.RefPlaceholder}postConstruct(){const{config:e,eButton:t}=this,{onKeyDown:i,onButtonClick:r}=e;this.getGui().setAttribute("tabindex",String(this.gos.get("tabIndex"))),this.addGuiEventListener("focus",()=>{this.eButton.focus()}),i&&this.addGuiEventListener("keydown",i),r&&this.addManagedElementListeners(t,{click:r})}toggleCloseButtonClass(e,t){this.eButton.classList.toggle(e,t)}setText(e){this.eText.textContent=e}getText(){return this.eText.textContent}},AgPillContainerElement={tag:"div",cls:"ag-pill-container"},AgPillContainer=class extends import_ag_grid_community36.Component{constructor(){super(AgPillContainerElement),this.pills=[]}init(e){this.params=e,this.getKey=e.valueFormatter??(t=>String(t)),this.refresh()}refresh(){this.clearPills();const{params:e,onPillKeyDown:t,getKey:i}=this;let r=e.getValue();if(!Array.isArray(r)){if(r==null)return;r=[r]}const n=e.valueFormatter??(a=>String(a)),o=r.length;(0,import_ag_stack39._setAriaRole)(this.getGui(),o===0?"presentation":"listbox");for(let a=0;a<o;a++){const l=r[a],c=this.createBean(new AgPill({onButtonClick:()=>this.onPillButtonClick(c),onKeyDown:t.bind(this)})),u=c.getGui();(0,import_ag_stack39._setAriaPosInSet)(u,a+1),(0,import_ag_stack39._setAriaSetSize)(u,o),e.onPillMouseDown&&c.addGuiEventListener("mousedown",e.onPillMouseDown),e.announceItemFocus&&c.addGuiEventListener("focus",e.announceItemFocus),c.setText(n(l)??""),c.toggleCloseButtonClass("ag-icon-cancel",!0),this.appendChild(u),this.pills.push({key:i(l)??a.toString(),pill:c})}}onNavigationKeyDown(e){const{key:t}=e,i=this.gos.get("enableRtl"),r=!i&&t===import_ag_grid_community36.KeyCode.LEFT||i&&t===import_ag_grid_community36.KeyCode.RIGHT,n=!i&&t===import_ag_grid_community36.KeyCode.RIGHT||i&&t===import_ag_grid_community36.KeyCode.LEFT;if(!this.pills.length||!r&&!n)return;e.preventDefault();const{beans:o,params:a}=this,l=(0,import_ag_stack39._getActiveDomElement)(o),c=this.getGui(),u=(0,import_ag_stack39._findFocusableElements)(c);if(c.contains(l)){const d=u.find(p=>p.contains(l));d&&d!==l&&d.focus();const h=(0,import_ag_stack39._findNextFocusableElement)({beans:o,rootNode:c,backwards:r});h?h.focus():n&&a.focusAfterForwardBoundary?.()}else u.length>0&&u[n?0:u.length-1].focus()}clearPills(){const e=this.getGui();e.contains((0,import_ag_stack39._getActiveDomElement)(this.beans))&&this.params.eWrapper&&this.params.eWrapper.focus(),(0,import_ag_stack39._clearElement)(e),this.destroyBeans(this.pills.map(({pill:t})=>t)),this.pills=[]}onPillButtonClick(e){this.deletePill(e)}onPillKeyDown(e){const t=e.key;if(t===import_ag_grid_community36.KeyCode.LEFT||t===import_ag_grid_community36.KeyCode.RIGHT){e.stopPropagation(),this.params.onHorizontalArrowKeyDown?this.params.onHorizontalArrowKeyDown(e):this.onNavigationKeyDown(e);return}if(t!==import_ag_grid_community36.KeyCode.DELETE&&t!==import_ag_grid_community36.KeyCode.BACKSPACE)return;e.preventDefault();const i=(0,import_ag_stack39._getDocument)(this.beans),r=this.pills.findIndex(({pill:o})=>o.getGui().contains(i.activeElement));if(r===-1)return;const n=this.pills[r];n?.pill&&this.deletePill(n.pill,r)}deletePill(e,t){const{getKey:i,pills:r,params:n}=this,o=(r[t??-1]??r.find(({pill:l})=>l===e))?.key,a=(n.getValue()||[]).filter(l=>i(l)!==o);if(n.setValue(a),!a.length)n.focusAfterDelete?n.focusAfterDelete():n.eWrapper?.focus();else if(t!=null){const{pill:l}=r[Math.min(t,r.length-1)];l&&l.getFocusableElement().focus()}}destroy(){this.clearPills(),super.destroy()}},agRichSelect_default=".ag-rich-select{cursor:default;height:100%}.ag-rich-select-value{align-items:center;background-color:var(--ag-picker-button-background-color);display:flex;height:100%;padding:var(--ag-spacing);:where(.ag-picker-field-display){overflow:hidden;text-overflow:ellipsis;&:where(.ag-display-as-placeholder){opacity:.5}}}.ag-virtual-list-viewport.ag-rich-select-list{background-color:var(--ag-picker-list-background-color);border:var(--ag-picker-list-border);border-radius:var(--ag-input-border-radius);box-shadow:var(--ag-dropdown-shadow);height:auto;position:relative;width:100%;:where(.ag-rich-select-loading){display:flex;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);:where(.ag-loading-text){overflow:hidden;text-overflow:ellipsis}}}.ag-rich-select-row{align-items:center;display:flex;flex:1 1 auto;height:100%;overflow:hidden;padding:0 var(--ag-spacing);white-space:nowrap}.ag-rich-select-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-rich-select-row-highlighted,.ag-rich-select-row:hover{background-image:linear-gradient(var(--ag-row-hover-color),var(--ag-row-hover-color))}.ag-rich-select-row-text-highlight{font-weight:700}.ag-rich-select-field-input{flex:1 1 auto;:where(.ag-input-field-input){border:none!important;box-shadow:none!important;padding:0!important;text-overflow:ellipsis;&::-moz-placeholder{opacity:.8}&::placeholder{opacity:.8}}}:where(.ag-ltr) .ag-rich-select-field-input{left:var(--ag-spacing)}:where(.ag-rtl) .ag-rich-select-field-input{right:var(--ag-spacing)}.ag-rich-select-typing-multi{:where(.ag-picker-field-display){flex:0 1 auto;max-width:100%;min-width:0}:where(.ag-rich-select-pill-display){align-items:center;display:flex;flex:0 1 auto;max-width:100%;min-width:0;overflow:hidden;:where(.ag-pill-container){flex:0 1 auto;max-width:100%;min-width:0;overflow:hidden}}:where(.ag-rich-select-field-input){flex:0 0 auto;max-width:100%;min-width:0;:where(.ag-input-wrapper){flex:0 0 auto;max-width:100%}:where(.ag-input-field-input){max-width:100%;min-width:1ch;width:auto}}}:where(.ag-ltr) .ag-rich-select-typing-multi{:where(.ag-rich-select-field-input){margin-left:.25rem}:where(.ag-rich-select-deselect-button){margin-left:auto}:where(.ag-rich-select-deselect-button.ag-hidden+.ag-picker-field-icon){margin-left:auto}}:where(.ag-rtl) .ag-rich-select-typing-multi{:where(.ag-rich-select-field-input){margin-right:.25rem}:where(.ag-rich-select-deselect-button){margin-right:auto}:where(.ag-rich-select-deselect-button.ag-hidden+.ag-picker-field-icon){margin-right:auto}}:where(.ag-popup-editor) .ag-rich-select-value{height:var(--ag-row-height);min-width:200px}.ag-rich-select-virtual-list-item{cursor:default;height:var(--ag-list-item-height)}.ag-pill-container{display:flex;flex-wrap:nowrap;gap:.25rem;min-width:0}.ag-pill{align-items:center;background:var(--ag-select-cell-background-color);border:var(--ag-select-cell-border);border-radius:var(--ag-border-radius);display:flex;padding:0 .25rem;white-space:nowrap}.ag-pill-button{border:none;padding:0}:where(.ag-ltr) .ag-pill-button{margin-left:var(--ag-spacing)}:where(.ag-rtl) .ag-pill-button{margin-right:var(--ag-spacing)}.ag-pill-button:hover{color:var(--ag-accent-color);cursor:pointer}",import_ag_stack41=require("ag-stack"),import_ag_grid_community38=require("ag-grid-community"),import_ag_stack40=require("ag-stack"),import_ag_grid_community37=require("ag-grid-community"),RichSelectRowElement={tag:"div",cls:"ag-rich-select-row",role:"presentation"},RichSelectRow=class extends import_ag_grid_community37.Component{constructor(e){super(RichSelectRowElement),this.params=e,this.rendererGuard=new import_ag_grid_community37.ComponentInstanceGuard,this.valueFormatter=resolveRichSelectValueFormatter(e.valueFormatter)}wireBeans(e){this.userCompFactory=e.userCompFactory}postConstruct(){this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createHighlightTooltip({getGui:()=>this.getGui(),getTooltipComponentDefinition:()=>{},getLocation:()=>"richSelectListItem",shouldDisplayTooltip:()=>this.shouldDisplayTooltip?.()??!0},this))}setState(e){const t=this.valueFormatter(e),i=this.rendererGuard.claim();this.cellRenderer=this.destroyBean(this.cellRenderer),this.shouldDisplayTooltip=void 0,this.tooltipFeature?.setTooltipAndRefresh(null),(0,import_ag_stack40._clearElement)(this.getGui()),this.populateWithRenderer(e,t,i)||this.populateWithoutRenderer(e,t),this.value=e}highlightString(e){const{parsedValue:t,params:i}=this;if(i.cellRenderer||!(0,import_ag_stack40._exists)(t))return;let r=(0,import_ag_stack40._exists)(e);if(r){const n=t?.toLocaleLowerCase().indexOf(e.toLocaleLowerCase());if(n>=0){const o=n+e.length,a=this.getGui().querySelector("span");a&&((0,import_ag_stack40._clearElement)(a),a.append(t.slice(0,n),(0,import_ag_grid_community37._createElement)({tag:"span",cls:"ag-rich-select-row-text-highlight",children:t.slice(n,o)}),t.slice(o)))}else r=!1}r||this.renderValueWithoutRenderer(t)}updateSelected(e){const t=this.getGui();(0,import_ag_stack40._setAriaSelected)(t.parentElement,e),this.toggleCss("ag-rich-select-row-selected",e)}getValue(){return this.value}toggleHighlighted(e){this.toggleCss("ag-rich-select-row-highlighted",e),this.dispatchLocalEvent({type:"itemHighlighted",highlighted:e})}populateWithoutRenderer(e,t){const i=this.getGui(),r=(0,import_ag_grid_community37._createElement)({tag:"span"});r.style.overflow="hidden",r.style.textOverflow="ellipsis";const n=(0,import_ag_stack40._toString)((0,import_ag_stack40._exists)(t)?t:e);this.parsedValue=(0,import_ag_stack40._exists)(n)?n:null,i.appendChild(r),this.renderValueWithoutRenderer(n),this.shouldDisplayTooltip=(0,import_ag_stack40._isElementOverflowingCallback)(()=>r),this.tooltipFeature?.setTooltipAndRefresh(this.parsedValue)}renderValueWithoutRenderer(e){const t=this.getGui().querySelector("span");t&&(t.textContent=(0,import_ag_stack40._exists)(e)?e:"\xA0")}populateWithRenderer(e,t,i){let r,n;const{cellRenderer:o,cellRendererParams:a}=this.params;if(o){const l=this.getParentComponent()?.getParentComponent();n=(0,import_ag_grid_community37._getEditorRendererDetails)(this.userCompFactory,this.params,(0,import_ag_grid_community37._addGridCommonParams)(this.gos,{value:e,valueFormatted:t,cellRendererParams:a,getValue:()=>l?.getValue(),setValue:c=>{l?.setValue(c,!0)},setTooltip:(c,u)=>{this.gos.assertModuleRegistered("Tooltip",3),i.isCurrent()&&(this.shouldDisplayTooltip=u,this.tooltipFeature?.setTooltipAndRefresh(c))}}))}return n&&(r=n.newAgStackInstance()),r?(_bindCellRendererToHtmlElement(r,this.getGui(),l=>!this.isAlive()||!i.isCurrent()?(this.destroyBean(l),!1):(this.cellRenderer=l,!0)),!0):!1}destroy(){this.rendererGuard.invalidate(),this.cellRenderer=this.destroyBean(this.cellRenderer),super.destroy()}},LIST_COMPONENT_NAME="ag-rich-select-list",ROW_COMPONENT_NAME="ag-rich-select-row",STATE_LOADING=0,STATE_READY_WITH_RESULTS=1,STATE_NO_RESULTS=2,STATE_READY_FOR_INPUT=3,AgRichSelectList=class extends VirtualList{constructor(e,t,i){super({cssIdentifier:"rich-select"}),this.params=e,this.richSelectWrapper=t,this.getSearchString=i,this.lastRowHovered=-1,this.selectedItems=new Set,this.loadingState=STATE_READY_FOR_INPUT,this.loadMoreRowsThreshold=10,this.valueFormatter=resolveRichSelectValueFormatter(e.valueFormatter),this.setComponentCreator(this.createRowComponent.bind(this)),this.setComponentUpdater(()=>{})}postConstruct(){super.postConstruct();const e=this.getLocaleTextFunc();this.loadingLabel=e("loadingOoo","Loading..."),this.noMatchesLabel=e("noMatches","No matches to show"),this.eLoadingIcon=(0,import_ag_grid_community38._createIconNoSpan)("richSelectLoading",this.beans,null),this.eStateCompLabel=(0,import_ag_grid_community38._createElement)({tag:"span",cls:"ag-loading-text",children:this.loadingLabel}),this.eStateComp=(0,import_ag_grid_community38._createElement)({tag:"div",cls:"ag-rich-select-loading",children:[{tag:"span",cls:"ag-loading-icon",children:[this.eLoadingIcon?()=>this.eLoadingIcon:void 0]},{tag:"span",cls:"ag-loading-text",children:[()=>this.eStateCompLabel]}]}),this.appendChild(this.eStateComp);const{cellRowHeight:t,pickerAriaLabelKey:i,pickerAriaLabelValue:r}=this.params;t&&this.setRowHeight(t);const n=this.getGui(),o=this.getAriaElement();this.addManagedListeners(n,{mousemove:this.onMouseMove.bind(this),mouseout:this.onMouseOut.bind(this),mousedown:this.onMouseDown.bind(this),click:this.onClick.bind(this),scroll:this.onGuiScroll.bind(this)}),n.classList.add(LIST_COMPONENT_NAME);const a=`${LIST_COMPONENT_NAME}-${this.getCompId()}`;o.setAttribute("id",a);const l=e(i,r);(0,import_ag_stack41._setAriaLabel)(o,l),(0,import_ag_stack41._setAriaLabelledBy)(o,this.richSelectWrapper.id)}setIsLoading(){this.setLoadingState(STATE_LOADING)}setLoadingState(e){const t=this.loadingState!==e;if(this.loadingState=e,this.toggleStateComp(),this.toggleVisibility(),t){const i=this.getStateAnnouncementText(e);i&&this.stateAnnouncementCallback?.(i)}}toggleStateComp(){const{eStateComp:e,eStateCompLabel:t,eLoadingIcon:i,loadingState:r,loadingLabel:n,noMatchesLabel:o,params:a}=this;if(e){if(r===STATE_LOADING){t.textContent=n,i&&(0,import_ag_stack41._setDisplayed)(i,!0),(0,import_ag_stack41._setDisplayed)(e,!0);return}if(r===STATE_NO_RESULTS&&a.allowNoResultsCopy){t.textContent=o,i&&(0,import_ag_stack41._setDisplayed)(i,!1),(0,import_ag_stack41._setDisplayed)(e,!0);return}(0,import_ag_stack41._setDisplayed)(e,!1)}}shouldBeVisible(){return this.loadingState===STATE_NO_RESULTS?!!this.params.allowNoResultsCopy:this.loadingState!==STATE_READY_FOR_INPUT}toggleVisibility(e){const t=this.getGui();e===void 0?(0,import_ag_stack41._setDisplayed)(t,this.shouldBeVisible()):(0,import_ag_stack41._setDisplayed)(t,e),this.scheduleMaybeRequestMoreRows()}setLoadMoreRowsCallback(e,t=10){this.loadMoreRowsCallback=e,this.loadMoreRowsThreshold=Math.max(t,1),this.maybeRequestMoreRows()}setStateAnnouncementCallback(e){this.stateAnnouncementCallback=e}navigateToPage(e){const t=super.navigateToPage(e,this.lastRowHovered);return t!=null&&(0,import_ag_stack41._requestAnimationFrame)(this.beans,()=>{if(!this.isAlive())return null;this.highlightIndex(t)}),t}drawVirtualRows(e){super.drawVirtualRows(e),this.refreshSelectedItems(),this.lastRowHovered!==-1&&this.updateRenderedHighlightState(this.lastRowHovered),this.reportContentWidth()}setContentWidthCallback(e){this.contentWidthCallback=e,this.getGui().classList.add("ag-virtual-list-grow-to-content")}reportContentWidth(){const e=this.contentWidthCallback;if(!e)return;let t=0;if(this.forEachRenderedRow(n=>{t=Math.max(t,n.getGui().getBoundingClientRect().width)}),t===0)return;const i=this.eContainer.getBoundingClientRect().width;if(t<=i)return;const r=this.getGui();e(Math.ceil(t+r.getBoundingClientRect().width-i))||(this.contentWidthCallback=void 0,r.classList.remove("ag-virtual-list-grow-to-content"))}highlightFilterMatch(e){this.forEachRenderedRow(t=>{t.highlightString(e)})}onNavigationKeyDown(e,t){(0,import_ag_stack41._requestAnimationFrame)(this.beans,()=>{if(!this.currentList||!this.isAlive())return;const i=this.currentList.length,r=this.lastRowHovered,n=e===import_ag_grid_community38.KeyCode.DOWN?1:-1,o=(0,import_ag_grid_community38._clamp)(r===-1?0:r+n,0,i-1);this.highlightIndex(o),t()})}selectValue(e){if(!this.currentList||e==null)return!1;const t=this.getIndicesForValues(e),i=t.length>0;return i&&(this.refresh(),this.ensureIndexVisible(t[0]),this.refresh(!0)),this.selectListItems(Array.isArray(e)?e:[e]),i&&this.highlightIndex(t[0],!0),i}selectListItems(e,t=!1){t||this.selectedItems.clear();for(let i=0;i<e.length;i++){const r=e[i];this.findItemInSelected(r)===void 0&&this.selectedItems.add(r)}this.refreshSelectedItems()}getCurrentList(){return this.currentList}setCurrentList(e){const t=getListStateBasedOnResults(e);this.setLoadingState(t),e||(e=[]),this.currentList=e,this.setModel({getRowCount:()=>e.length,getRow:i=>e[i],areRowsEqual:(i,r)=>i===r})}offsetHoveredIndexOnPrependedRows(e){e<=0||this.lastRowHovered<0||(this.lastRowHovered+=e)}restoreScrollOnPrependedRows(e,t){if(t<=0)return;const i=this.getGui(),r=this.getRowHeight(),n=e+t*r;this.awaitStable(()=>{this.isAlive()&&(i.scrollTop=n)})}getSelectedItems(){return this.selectedItems}getLastItemHovered(){return this.currentList?.[this.lastRowHovered]}highlightIndex(e,t){this.currentList&&(e<0||e>=this.currentList.length?(this.lastRowHovered=-1,this.setActiveOption()):(this.lastRowHovered=e,this.ensureIndexVisible(e,!t)&&!t&&this.refresh(!0)),this.updateRenderedHighlightState(e))}updateRenderedHighlightState(e){let t;this.forEachRenderedRow((i,r)=>{const n=e===r;i.toggleHighlighted(n),n&&(t=`${ROW_COMPONENT_NAME}-${i.getCompId()}`)}),this.setActiveOption(t)}setActiveOption(e){(0,import_ag_stack41._setAriaActiveDescendant)(this.richSelectWrapper,e??null),(0,import_ag_stack41._addOrRemoveAttribute)(this.richSelectWrapper,"data-active-option",e)}getIndicesForValues(e){const{currentList:t}=this;if(!t||t.length===0||e===void 0)return[];const i=Array.isArray(e)?e:[e];if(i.length===0)return[];const r=[];let n;for(const o of i){let a=t.indexOf(o);if(a===-1&&o!=null){n??(n=t.map(c=>this.valueFormatter(c)));const l=this.getComparableFormattedValue(o);a=n.indexOf(l)}a>=0&&r.push(a)}return r}toggleListItemSelection(e){const t=this.findItemInSelected(e);t!==void 0?this.selectedItems.delete(t):this.selectedItems.add(e),this.refreshSelectedItems(),this.dispatchValueSelected()}refreshSelectedItems(){this.forEachRenderedRow(e=>{const t=this.findItemInSelected(e.getValue())!==void 0;e.updateSelected(t)})}findItemInSelected(e){if(typeof e=="object"){if(this.selectedItems.has(e))return e;const t=this.valueFormatter(e);for(const i of this.selectedItems)if(this.valueFormatter(i)===t)return i}else return this.selectedItems.has(e)?e:void 0}getComparableFormattedValue(e){return e!=null&&typeof e=="object"?this.valueFormatter(e):String(e??"")}createRowComponent(e,t){const i=new RichSelectRow(this.params);t.setAttribute("id",`${ROW_COMPONENT_NAME}-${i.getCompId()}`),i.setParentComponent(this),this.createBean(i),i.setState(e);const{highlightMatch:r,searchType:n="fuzzy"}=this.params;return r&&n!=="fuzzy"&&i.highlightString(this.getSearchString()),i}getRowForMouseEvent(e){if(!this.model)return-1;const i=this.getGui().getBoundingClientRect(),r=this.getScrollTop(),n=e.clientY-i.top+r;return(0,import_ag_grid_community38._clamp)(Math.floor(n/this.getRowHeight()),0,this.model.getRowCount()-1)}onMouseMove(e){const t=this.getRowForMouseEvent(e);t!==-1&&t!=this.lastRowHovered&&(this.lastRowHovered=t,this.highlightIndex(t,!0))}onGuiScroll(){this.maybeRequestMoreRows(!0)}scheduleMaybeRequestMoreRows(){if(this.beans){(0,import_ag_stack41._requestAnimationFrame)(this.beans,()=>this.maybeRequestMoreRows(!1));return}this.maybeRequestMoreRows(!1)}maybeRequestMoreRows(e=!1){const t=this.loadMoreRowsCallback,i=this.currentList;if(!t||!i||this.loadingState===STATE_LOADING)return;const r=this.getGui();if(r.clientHeight<=0)return;const o=(r.scrollHeight-(r.scrollTop+r.clientHeight))/this.getRowHeight(),a=r.scrollTop/this.getRowHeight(),l=r.scrollHeight>r.clientHeight;a<=this.loadMoreRowsThreshold&&(e||!l)&&t("up"),o<=this.loadMoreRowsThreshold&&t("down")}getStateAnnouncementText(e){if(e===STATE_LOADING)return this.loadingLabel;if(e===STATE_NO_RESULTS&&this.params.allowNoResultsCopy)return this.noMatchesLabel}onMouseDown(e){e.preventDefault()}onMouseOut(e){this.getGui().contains(e.relatedTarget)||this.highlightIndex(-1)}onClick(e){const{multiSelect:t}=this.params;if(!this.currentList?.length)return;const i=this.getRowForMouseEvent(e),r=this.currentList[i];t?this.toggleListItemSelection(r):(this.selectListItems([r]),this.dispatchValueSelected())}dispatchValueSelected(){this.dispatchLocalEvent({type:"richSelectListRowSelected",fromEnterKey:!1,value:this.selectedItems})}destroy(){super.destroy(),this.eStateComp=void 0}};function getListStateBasedOnResults(e){return e?e.length?STATE_READY_WITH_RESULTS:STATE_NO_RESULTS:STATE_READY_FOR_INPUT}var ON_SEARCH_CALLBACK_DEBOUNCE_DELAY=300,AgRichSelectElement={tag:"div",cls:"ag-picker-field",role:"presentation",children:[{tag:"div",ref:"eLabel"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-picker-field-wrapper ag-rich-select-value ag-picker-collapsed",children:[{tag:"span",ref:"eDisplayField",cls:"ag-picker-field-display"},{tag:"ag-input-text-field",ref:"eInput",cls:"ag-rich-select-field-input"},{tag:"span",ref:"eDeselect",cls:"ag-rich-select-deselect-button ag-picker-field-icon",role:"presentation"},{tag:"span",ref:"eIcon",cls:"ag-picker-field-icon",attrs:{"aria-hidden":"true"}}]}]},AgRichSelect=class extends import_ag_grid_community39.AgPickerField{constructor(e){const t=resolveRichSelectValueFormatter(e?.valueFormatter),i=e?.agComponents?.includes(import_ag_grid_community39.AgInputTextFieldSelector)?e.agComponents:[import_ag_grid_community39.AgInputTextFieldSelector,...e?.agComponents??[]];super({...e,pickerAriaLabelKey:e?.pickerAriaLabelKey??"ariaLabelRichSelectField",pickerAriaLabelValue:e?.pickerAriaLabelValue??"Rich Select Field",pickerType:e?.pickerType??"ag-list",className:e?.className??"ag-rich-select",pickerIcon:e?.pickerIcon??"richSelectOpen",ariaRole:e?.ariaRole??"combobox",template:e?.template??AgRichSelectElement,agComponents:i,modalPicker:e?.modalPicker??!1,valueFormatter:t,maxPickerHeight:e?.maxPickerHeight??"calc(var(--ag-row-height) * 6.5)"}),this.searchString="",this.loadMoreRowsThreshold=10,this.hasPagedAsyncSource=!1,this.searchStringCreator=null,this.eInput=import_ag_stack42.RefPlaceholder,this.eDeselect=import_ag_stack42.RefPlaceholder,this.skipWrapperAnnouncement=!1,this.selectedValueRendererGuard=new import_ag_grid_community39.ComponentInstanceGuard,this.onPillHorizontalArrowKeyDown=c=>{this.handleHorizontalNavigationKey(c)},this.valueFormatter=t;const{value:r,valueList:n,searchStringCreator:o,onSearch:a}=e??{};r!==void 0&&(this.value=r),o&&(this.searchStringCreator=o),n!=null&&this.setValueList({valueList:n,isInitial:!0});const{searchDebounceDelay:l=ON_SEARCH_CALLBACK_DEBOUNCE_DELAY}=this.config;a&&(this.onSearchCallbackDebounced=(0,import_ag_stack42._debounce)(this,a,l)),this.registerCSS(agRichSelect_default)}wireBeans(e){this.userCompFactory=e.userCompFactory,this.ariaAnnounce=e.ariaAnnounce}postConstruct(){this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.getGui(),getTooltipComponentDefinition:()=>{},getLocation:()=>"richSelectValue",shouldDisplayTooltip:()=>this.shouldDisplayTooltip?.()??!0})),super.postConstruct(),this.createListComponent(),this.eDeselect.appendChild((0,import_ag_grid_community39._createIconNoSpan)("richSelectRemove",this.beans));const{allowTyping:e,placeholder:t,multiSelect:i,searchIcon:r,suppressDeselectAll:n,suppressMultiSelectPillRenderer:o}=this.config;this.eDeselect.classList.add("ag-hidden"),e?(this.eInput.setAutoComplete(!1).setInputPlaceholder(t).setSearchIcon(!!r),i?(this.eWrapper.classList.add("ag-rich-select-typing-multi"),o||this.eDisplayField.classList.add("ag-rich-select-pill-display")):this.eDisplayField.classList.add("ag-hidden")):this.eInput.setDisplayed(!1),this.setupAriaProperties();const{searchDebounceDelay:a=300}=this.config;this.clearSearchString=(0,import_ag_stack42._debounce)(this,this.clearSearchString.bind(this),a),this.renderSelectedValue(),e&&this.eInput.onValueChange(l=>{this.openPickerOnTypingIfNeeded(l),this.updateTypingMultiSelectPlaceholder(l),this.searchTextFromString(l)}),this.addManagedElementListeners(this.eWrapper,{focus:this.onWrapperFocus.bind(this)}),this.addManagedElementListeners(this.eWrapper,{focusout:this.onWrapperFocusOut.bind(this)}),n||this.addManagedElementListeners(this.eDeselect,{mousedown:this.onDeselectAllMouseDown.bind(this),click:this.onDeselectAllClick.bind(this)})}setupAriaProperties(){const{eWrapper:e,gos:t}=this;e.tabIndex=t.get("tabIndex");const i=this.getLocaleTextFunc();this.ariaDeleteSelection=i("ariaLabelRichSelectDeleteSelection","Press DELETE to deselect item"),this.ariaDeselectAllItems=i("ariaLabelRichSelectDeselectAllItems","Press DELETE to deselect all items"),this.ariaToggleSelection=i("ariaLabelRichSelectToggleSelection","Press SPACE to toggle selection")}createListComponent(){this.listComponent=this.createBean(new AgRichSelectList(this.config,this.getFocusableElement(),()=>this.searchString)),this.listComponent.setLoadMoreRowsCallback(this.loadMoreRowsCallback,this.loadMoreRowsThreshold),this.listComponent.setStateAnnouncementCallback(e=>this.announceAriaValue(e)),this.listComponent.setParentComponent(this),this.setAriaControlsId(this.listComponent.getAriaElement().id),this.addManagedListeners(this.listComponent,{richSelectListRowSelected:e=>{this.onListValueSelected(e.value,e.fromEnterKey)}})}renderSelectedValue(e){const{value:t,eDisplayField:i,config:r,gos:n}=this,{allowTyping:o,cellRenderer:a,cellRendererParams:l,initialInputValue:c,multiSelect:u,suppressDeselectAll:d,suppressMultiSelectPillRenderer:h,onSearch:p}=r,g=this.valueFormatter(t),f=!!(o&&u),m=this.selectedValueRendererGuard.claim();if(this.destroySelectedValueRenderer(),this.shouldDisplayTooltip=void 0,this.tooltipFeature?.setTooltipAndRefresh(null),o){const y=f?c??this.eInput.getValue()??"":c??(t===""?"":g);if(this.eInput.setValue(y,!!e&&!!p),!f)return;this.updateTypingMultiSelectPlaceholder(y)}if(u&&!d){const y=t==null||Array.isArray(t)&&t.length===0;this.eDeselect.classList.toggle("ag-hidden",y)}let v;if(u&&!h){this.createOrUpdatePillContainer(i);return}a&&!o&&(v=(0,import_ag_grid_community39._getEditorRendererDetails)(this.userCompFactory,r,(0,import_ag_grid_community39._addGridCommonParams)(this.gos,{value:t,valueFormatted:g,cellRendererParams:l,getValue:()=>this.getValue(),setValue:y=>{this.setValue(y,!0)},setTooltip:(y,S)=>{n.assertModuleRegistered("Tooltip",3),m.isCurrent()&&(this.shouldDisplayTooltip=S,this.tooltipFeature?.setTooltipAndRefresh(y))}})));let C;if(v&&(C=v.newAgStackInstance()),C)(0,import_ag_stack42._clearElement)(i),_bindCellRendererToHtmlElement(C,i,y=>!this.isAlive()||!m.isCurrent()?(this.destroyBean(y),!1):(this.selectedValueRenderer=y,!0));else{if(t!=null)i.innerText=g,i.classList.remove("ag-display-as-placeholder");else{const{placeholder:y}=r;(0,import_ag_stack42._exists)(y)?(i.textContent=y,i.classList.add("ag-display-as-placeholder")):(0,import_ag_stack42._clearElement)(i)}this.shouldDisplayTooltip=(0,import_ag_stack42._isElementOverflowingCallback)(()=>this.eDisplayField),this.tooltipFeature?.setTooltipAndRefresh(g??null)}}destroySelectedValueRenderer(){this.selectedValueRenderer&&(this.selectedValueRenderer=this.destroyBean(this.selectedValueRenderer))}createPickerComponent(){const{values:e}=this;return e&&this.setValueList({valueList:e}),this.listComponent}setSearchStringCreator(e){this.searchStringCreator=e}setAsyncValuesSource(e){const{source:t,thresholdRows:i,useAsyncSearch:r,onMisconfiguredSearchSource:n,onFirstValuesPageLoaded:o}=e;this.asyncRequests?.destroy();const a=createRichSelectAsyncRequestBindings({host:{setValueList:l=>this.setValueList(l),setIsLoading:()=>this.setIsLoading()},source:t,useAsyncSearch:r,onMisconfiguredSearchSource:n,onFirstValuesPageLoaded:o});if(this.asyncRequests=a.controller,this.hasPagedAsyncSource=a.hasPagedSource,a.onSearch){const{searchDebounceDelay:l=ON_SEARCH_CALLBACK_DEBOUNCE_DELAY}=this.config;this.onSearchCallbackDebounced=(0,import_ag_stack42._debounce)(this,a.onSearch,l)}else this.config.onSearch||(this.onSearchCallbackDebounced=void 0);this.setLoadMoreRowsCallback(a.onLoadMoreRows,i??this.loadMoreRowsThreshold)}resetAsyncValues(e=""){this.hasPagedAsyncSource&&this.asyncRequests?.resetValuesPage(e)}setLoadMoreRowsCallback(e,t=10){this.loadMoreRowsCallback=e,this.loadMoreRowsThreshold=Math.max(t,1),this.listComponent?.setLoadMoreRowsCallback(this.loadMoreRowsCallback,this.loadMoreRowsThreshold)}setIsLoading(){this.listComponent?.setIsLoading()}setValueListInternal(e){const{listComponent:t,isPickerDisplayed:i,value:r}=this,{valueList:n,refresh:o,isInitial:a,scrollToCurrentValue:l=!0,prependedRowCount:c=0}=e;if(a&&this.setValues(n),!t)return;const u=c>0?t.getScrollTop():void 0;if(c>0&&t.offsetHoveredIndexOnPrependedRows(c),t.setCurrentList(n),!!o){if(i&&u!=null&&c>0&&t.restoreScrollOnPrependedRows?.(u,c),this.values){t.refresh(!0);const d=r!=null&&t.getIndicesForValues(r).length>0;i&&d&&l&&t.selectValue(r)}else i&&(t.selectValue(r)||t.refresh());this.alignPickerToComponent()}}setValueList(e){const{valueList:t}=e;if(!t||Array.isArray(t)){this.setValueListInternal(e);return}this.listComponent?.setIsLoading(),t.then(i=>{i!==void 0&&this.setValueListInternal({...e,valueList:i})}).catch(()=>{this.setValueListInternal({...e,valueList:[],refresh:!0})})}setValues(e){this.values=e,this.searchStrings=this.getSearchStringsFromValues(e||[])}showPicker(){const{listComponent:e,value:t}=this;if(!e)return;super.showPicker();const i=t??null;e.selectValue(i);const r=e.getIndicesForValues(i)[0];r!=null?(this.tooltipFeature?.attemptToHideTooltip(),e.highlightIndex(r)):e.refresh()}createOrUpdatePillContainer(e){if(!this.pillContainer){const i=this.pillContainer=this.createBean(new AgPillContainer);this.addDestroyFunc(()=>{this.destroyBean(this.pillContainer),this.pillContainer=null}),(0,import_ag_stack42._clearElement)(e),e.appendChild(i.getGui());const{config:r,eWrapper:n,ariaDeleteSelection:o}=this;i.init({eWrapper:n,valueFormatter:this.valueFormatter,onPillMouseDown:a=>{a.stopImmediatePropagation()},announceItemFocus:()=>{this.announceAriaValue(o)},focusAfterDelete:r.allowTyping?()=>this.focusTypingInputAtBoundary():void 0,focusAfterForwardBoundary:r.allowTyping?()=>this.focusTypingInputAtBoundary():void 0,onHorizontalArrowKeyDown:this.onPillHorizontalArrowKeyDown,getValue:()=>this.getValue(),setValue:a=>this.setValue(a,!0)})}const t=this.pillContainer.getGui().childElementCount;this.doWhileBlockingAnnouncement(()=>this.pillContainer?.refresh()),this.scrollTypingMultiSelectPillsToEndOnAdd(t)}scrollTypingMultiSelectPillsToEndOnAdd(e){const{allowTyping:t,multiSelect:i,suppressMultiSelectPillRenderer:r}=this.config;if(!t||!i||r)return;const n=this.pillContainer?.getGui();!n||n.childElementCount<=e||(0,import_ag_stack42._setScrollLeft)(n,n.scrollWidth,this.isRtl())}doWhileBlockingAnnouncement(e){this.skipWrapperAnnouncement=!0,e(),this.skipWrapperAnnouncement=!1}isPreviousHorizontalNavigation(e){return e===import_ag_grid_community39.KeyCode.LEFT!==this.isRtl()}isRtl(){return!!this.gos?.get("enableRtl")}isTypingInputAtPillBoundary(){const e=this.eInput.getInputElement(),{selectionStart:t,selectionEnd:i,value:r}=e;return t==null||i==null||t!==i?!1:this.isRtl()?t===(r??"").length:t===0}focusTypingInputAtBoundary(){const e=this.eInput.getInputElement();e.focus();const t=this.isRtl()?e.value.length:0;e.setSelectionRange(t,t)}getActiveElementForKeyboardNavigation(){if(this.beans?.eRootDiv)return(0,import_ag_stack42._getActiveDomElement)(this.beans);const e=this.getTypingInputElement();return e?e.ownerDocument?.activeElement??document.activeElement:document.activeElement}onWrapperFocus(){const{eInput:e,config:t}=this,{allowTyping:i,multiSelect:r,suppressDeselectAll:n}=t;if(i){const o=e.getFocusableElement();o.focus(),o.select()}else r&&!n&&!this.skipWrapperAnnouncement&&this.announceAriaValue(this.ariaDeselectAllItems)}onWrapperFocusOut(e){this.eWrapper.contains(e.relatedTarget)||this.hidePicker()}onDeselectAllMouseDown(e){e.stopImmediatePropagation()}onDeselectAllClick(){this.setValue([],!0)}buildSearchStringFromKeyboardEvent(e){let{key:t}=e;if(t===import_ag_grid_community39.KeyCode.BACKSPACE)this.searchString=this.searchString.slice(0,-1),t="";else if(!(0,import_ag_stack42._isEventFromPrintableCharacter)(e))return;e.preventDefault(),this.searchTextFromCharacter(t)}searchTextFromCharacter(e){this.searchString+=e,this.runSearch(),this.clearSearchString()}searchTextFromString(e){e==null&&(e=""),this.searchString=e,this.onSearchCallbackDebounced&&this.setValueList({valueList:void 0,refresh:!0}),this.runSearch()}getSearchStringsFromValues(e){return typeof e[0]=="object"&&this.searchStringCreator?this.searchStringCreator(e):e.map(t=>t===""?"":this.valueFormatter(t))}filterListModel(e){const{filterList:t}=this.config;t&&this.setValueList({valueList:e,refresh:!0})}runSearch(){if(!this.listComponent)return;if(this.onSearchCallbackDebounced){this.onSearchCallbackDebounced(this.searchString);return}const e=this.searchStrings;if(!e){this.listComponent.highlightIndex(-1);return}const{suggestions:t,filteredValues:i}=this.getSuggestionsAndFilteredValues(this.searchString,e),{filterList:r,highlightMatch:n,searchType:o="fuzzy"}=this.config,a=!!(r&&this.searchString!=="");this.filterListModel(a?i:this.values||[]),this.highlightEmptyValue()||this.highlightListValue(t,i,a),n&&o!=="fuzzy"&&this.listComponent?.highlightFilterMatch(this.searchString),this.listComponent?.toggleVisibility()}highlightEmptyValue(){if(this.searchString===""){const e=this.searchStrings?.indexOf("");if(e!==void 0&&e!==-1)return this.listComponent?.highlightIndex(e),!0}return!1}highlightListValue(e,t,i){if(e.length){const r=i?0:this.searchStrings?.indexOf(e[0]);r!==void 0&&this.listComponent?.highlightIndex(r)}else if(this.listComponent?.highlightIndex(-1),!i||t.length)this.listComponent?.ensureIndexVisible(0);else if(i){const r=this.getFocusableElement();(0,import_ag_stack42._addOrRemoveAttribute)(r,"data-active-option",null),(0,import_ag_stack42._setAriaActiveDescendant)(r,null)}}getSuggestionsAndFilteredValues(e,t){let i=[];const r=[];if(!e.length)return{suggestions:i,filteredValues:r};const{searchType:n="fuzzy",filterList:o}=this.config,a=this.values||[];if(n==="fuzzy"){const l=(0,import_ag_stack42._fuzzySuggestions)({inputValue:e,allSuggestions:t,hideIrrelevant:!0});i=l.values;const c=l.indices;if(o&&c.length)for(let u=0;u<c.length;u++)r.push(a[c[u]])}else i=t.filter((l,c)=>{const u=l.toLocaleLowerCase(),d=this.searchString.toLocaleLowerCase(),h=n==="match"?u.startsWith(d):u.includes(d);return o&&h&&r.push(a[c]),h});return{suggestions:i,filteredValues:r}}clearSearchString(){this.searchString=""}setValue(e,t,i,r){if(this.value===e)return this.updateTypingMultiSelectPlaceholder(),this;const n=Array.isArray(e);if(e!=null){if(!n&&!this.listComponent?.getIndicesForValues(e)?.length)return this;i||this.listComponent?.selectValue(e)}return super.setValue(e,t),r?this.updateTypingMultiSelectPlaceholder():this.renderSelectedValue(i),this}onNavigationKeyDown(e,t,i){e.preventDefault();const r=t===import_ag_grid_community39.KeyCode.DOWN;if(!this.isPickerDisplayed&&r){this.showPicker();return}this.listComponent?.onNavigationKeyDown(t,i)}onEnterKeyDown(e){const t=!!(this.config.allowTyping&&this.config.multiSelect);if(!this.isPickerDisplayed){t&&(e.preventDefault(),this.dispatchPickerEventAndHidePicker(this.value,!0,e));return}if(e.preventDefault(),this.listComponent?.getCurrentList()){const i=this.listComponent.getLastItemHovered();if(t){if(i!==void 0){const r=this.getCurrentSelectionWithAppendedItem(i);this.listComponent.selectValue(r),this.setValue(r,!1,!0),this.resetTypingMultiSelectSearchState(),this.hidePicker()}return}this.config.multiSelect||i===void 0?this.dispatchPickerEventAndHidePicker(this.value,!0,e):this.onListValueSelected(new Set([i]),!0,e)}}getCurrentSelectionWithAppendedItem(e){const t=this.getValue(),i=Array.isArray(t)?[...t]:t!=null?[t]:[];return i.some(r=>this.areValuesEquivalent(r,e))||i.push(e),i}areValuesEquivalent(e,t){return e===t?!0:typeof e=="object"&&typeof t=="object"&&e!=null&&t!=null?this.valueFormatter(e)===this.valueFormatter(t):!1}resetTypingMultiSelectSearchState(){if(this.searchString="",this.eInput.setValue("",!0),this.onSearchCallbackDebounced){this.setValueList({valueList:void 0,refresh:!0});return}this.config.filterList&&this.values&&this.setValueList({valueList:this.values,refresh:!0})}updateTypingMultiSelectPlaceholder(e){const{allowTyping:t,multiSelect:i,placeholder:r}=this.config;if(!t||!i)return;const n=e??this.eInput.getValue()??"",o=n.length>0,a=this.value,l=(Array.isArray(a)?a.length>0:a!=null)||(this.listComponent?.getSelectedItems().size??0)>0,c=!o&&!l?r:"";this.eInput.setInputPlaceholder(c),this.updateTypingMultiSelectInputSize(n,c)}updateTypingMultiSelectInputSize(e,t){const i=this.getTypingInputElement();if(!i)return;const r=e||t||"",n=(0,import_ag_grid_community39._clamp)(r.length+1,1,32);if(i.size!==n&&(i.size=n),e){const o=this.pillContainer?.getGui();o&&(0,import_ag_stack42._setScrollLeft)(o,o.scrollWidth,this.isRtl())}}getTypingInputElement(){const e=this.eInput.getInputElement;if(typeof e=="function")return e.call(this.eInput)}openPickerOnTypingIfNeeded(e){const{isPickerDisplayed:t,config:{allowTyping:i,multiSelect:r}}=this;i&&r&&!t&&e&&this.showPicker()}onDeleteKeyDown(e){const{eWrapper:t,beans:i}=this;(0,import_ag_stack42._getActiveDomElement)(i)===t&&(e.preventDefault(),this.setValue([],!0))}onBackspaceKeyDown(e){if(!this.isTypingInputAtPillBoundary())return;const t=this.getValue(),i=Array.isArray(t)?t:t!=null?[t]:Array.from(this.listComponent?.getSelectedItems()??[]);i.length&&(e.preventDefault(),this.setValue(i.slice(0,-1),!0))}onTabKeyDown(){const{config:e,isPickerDisplayed:t,listComponent:i}=this,{multiSelect:r}=e;if(!(!t||!i)){if(r){const n=this.getValueFromSet(i.getSelectedItems());n&&this.setValue(n,!1,!0,!0)}else{const n=i.getLastItemHovered();n!==void 0&&this.setValue(n,!1,!0)}this.hidePicker()}}getValueFromSet(e){const{multiSelect:t}=this.config;if(!t)return e.size?e.values().next().value:null;const i=Array.from(e);return i.length?i:null}onListValueSelected(e,t,i){const r=this.getValueFromSet(e);this.setValue(r,!1,!0);const{multiSelect:n,allowTyping:o}=this.config;n&&o?(this.resetTypingMultiSelectSearchState(),this.hidePicker()):n||this.dispatchPickerEventAndHidePicker(r,t,i)}dispatchPickerEventAndHidePicker(e,t,i){const r={type:"fieldPickerValueSelected",fromEnterKey:t,value:e,keyboardEvent:i};this.dispatchLocalEvent(r),this.hidePicker()}getFocusableElement(){const{allowTyping:e}=this.config;return e?this.eInput.getFocusableElement():super.getFocusableElement()}handleHorizontalNavigationKey(e){const{allowTyping:t,multiSelect:i}=this.config;if(!t){e.preventDefault(),this.listComponent?.highlightIndex(-1),this.pillContainer?.onNavigationKeyDown(e);return}const r=this.pillContainer;if(!r||!i)return;const n=this.getActiveElementForKeyboardNavigation(),o=this.isPreviousHorizontalNavigation(e.key),a=this.eInput.getInputElement();if(n===a){o&&this.isTypingInputAtPillBoundary()&&(this.listComponent?.highlightIndex(-1),r.onNavigationKeyDown(e));return}if(r.getGui().contains(n)){this.listComponent?.highlightIndex(-1);const l=n;r.onNavigationKeyDown(e),!o&&this.getActiveElementForKeyboardNavigation()===l&&this.focusTypingInputAtBoundary()}}handlePageNavigationKey(e,t){const{allowTyping:i}=this.config;if(i&&(t===import_ag_grid_community39.KeyCode.PAGE_HOME||t===import_ag_grid_community39.KeyCode.PAGE_END)){e.preventDefault();const r=this.eInput.getInputElement(),n=t===import_ag_grid_community39.KeyCode.PAGE_HOME?0:r.value.length;r.setSelectionRange(n,n);return}e.preventDefault(),this.pickerComponent&&this.listComponent?.navigateToPage(t)}handleVerticalNavigationKey(e,t,i){i||this.onNavigationKeyDown(e,t,()=>{this.config.multiSelect&&(this.doWhileBlockingAnnouncement(()=>this.eWrapper.focus()),this.announceAriaValue(this.ariaToggleSelection))})}handleEscapeKey(e){this.isPickerDisplayed&&((0,import_ag_stack42._isVisible)(this.listComponent.getGui())&&(e.preventDefault(),(0,import_ag_grid_community39._stopPropagationForAgGrid)(e)),this.hidePicker())}handleEnterKey(e,t){if(t){e.preventDefault();return}this.onEnterKeyDown(e)}handleSpaceKey(e,t){const{allowTyping:i,multiSelect:r}=this.config,{isPickerDisplayed:n,listComponent:o}=this,a=!t&&n&&r&&!!o&&(!i||(this.eInput.getValue()??"")==="");if((!i||t||a)&&e.preventDefault(),a&&o){const l=o.getLastItemHovered();l!==void 0&&o.toggleListItemSelection(l)}}handleBackspaceKey(e,t){!t&&this.config.allowTyping&&this.config.multiSelect&&this.onBackspaceKeyDown(e)}handleDeleteKey(e){this.config.multiSelect&&!this.config.suppressDeselectAll&&this.onDeleteKeyDown(e)}handleSearchWithoutTyping(e){this.config.allowTyping||this.buildSearchStringFromKeyboardEvent(e)}onKeyDown(e){const{key:t,isComposing:i}=e;switch(t){case import_ag_grid_community39.KeyCode.LEFT:case import_ag_grid_community39.KeyCode.RIGHT:this.handleHorizontalNavigationKey(e);break;case import_ag_grid_community39.KeyCode.PAGE_HOME:case import_ag_grid_community39.KeyCode.PAGE_END:case import_ag_grid_community39.KeyCode.PAGE_UP:case import_ag_grid_community39.KeyCode.PAGE_DOWN:this.handlePageNavigationKey(e,t);break;case import_ag_grid_community39.KeyCode.DOWN:case import_ag_grid_community39.KeyCode.UP:this.handleVerticalNavigationKey(e,t,i);break;case import_ag_grid_community39.KeyCode.ESCAPE:this.handleEscapeKey(e);break;case import_ag_grid_community39.KeyCode.ENTER:this.handleEnterKey(e,i);break;case import_ag_grid_community39.KeyCode.SPACE:this.handleSpaceKey(e,i);break;case import_ag_grid_community39.KeyCode.BACKSPACE:this.handleBackspaceKey(e,i);break;case import_ag_grid_community39.KeyCode.TAB:this.onTabKeyDown();break;case import_ag_grid_community39.KeyCode.DELETE:this.handleDeleteKey(e);break;default:this.handleSearchWithoutTyping(e)}}announceAriaValue(e){this.ariaAnnounce?.announceValue(e,"richSelect")}destroy(){this.selectedValueRendererGuard.invalidate(),this.destroySelectedValueRenderer(),this.asyncRequests?.destroy(),this.asyncRequests=void 0,this.hasPagedAsyncSource=!1,this.listComponent&&(this.listComponent=this.destroyBean(this.listComponent)),this.searchStrings=void 0,super.destroy()}};function _bindCellRendererToHtmlElement(e,t,i){e.then(r=>{if(!r||i&&!i(r))return;const n=r.getGui();n!=null&&t.appendChild(n)})}function resolveRichSelectValueFormatter(e){return t=>e?.(t)??String(t??"")}var AddDropdownCompElement={tag:"div",cls:"ag-picker-field",role:"presentation",children:[{tag:"div",ref:"eLabel"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-picker-collapsed",children:[{tag:"div",ref:"eDisplayField",cls:"ag-picker-field-display"},{tag:"ag-input-text-field",ref:"eInput",cls:"ag-rich-select-field-input"},{tag:"span",ref:"eDeselect",cls:"ag-rich-select-deselect-button ag-picker-field-icon",role:"presentation"},{tag:"div",ref:"eIcon",cls:"ag-picker-field-icon",attrs:{"aria-hidden":"true"}}]}]},AddDropdownComp=class extends AgRichSelect{constructor(e){super({...e,template:AddDropdownCompElement,agComponents:[import_ag_grid_community40.AgInputTextFieldSelector]}),this.params=e}showPicker(){setTimeout(()=>super.showPicker())}hidePicker(){setTimeout(()=>super.hidePicker())}postConstruct(){super.postConstruct();const{wrapperClassName:e,ariaLabel:t}=this.params;(0,import_ag_stack43._setDisplayed)(this.eDisplayField,!1),e&&this.eWrapper.classList.add(e),(0,import_ag_stack43._setAriaLabelledBy)(this.eWrapper,""),(0,import_ag_stack43._setAriaLabel)(this.eWrapper,t)}onEnterKeyDown(e){(0,import_ag_grid_community40._stopPropagationForAgGrid)(e),this.isPickerDisplayed?super.onEnterKeyDown(e):(e.preventDefault(),this.showPicker())}},import_ag_stack44=require("ag-stack"),import_ag_grid_community41=require("ag-grid-community"),AdvancedFilterBuilderItemNavigationFeature=class extends import_ag_grid_community41.BeanStub{constructor(e,t,i){super(),this.eGui=e,this.focusWrapper=t,this.eFocusableComp=i}postConstruct(){this.addManagedElementListeners(this.eGui,{keydown:t=>{switch(t.key){case import_ag_grid_community41.KeyCode.TAB:t.defaultPrevented||(0,import_ag_grid_community41._stopPropagationForAgGrid)(t);break;case import_ag_grid_community41.KeyCode.UP:case import_ag_grid_community41.KeyCode.DOWN:(0,import_ag_grid_community41._stopPropagationForAgGrid)(t);break;case import_ag_grid_community41.KeyCode.ESCAPE:if((0,import_ag_grid_community41._isStopPropagationForAgGrid)(t))return;this.eGui.contains((0,import_ag_stack44._getActiveDomElement)(this.beans))&&(t.preventDefault(),(0,import_ag_grid_community41._stopPropagationForAgGrid)(t),this.focusWrapper.focus());break}}});const e="ag-advanced-filter-builder-virtual-list-item-highlight";this.addManagedListeners(this.focusWrapper,{keydown:t=>{if(t.key===import_ag_grid_community41.KeyCode.ENTER){if((0,import_ag_grid_community41._isStopPropagationForAgGrid)(t))return;(0,import_ag_stack44._getActiveDomElement)(this.beans)===this.focusWrapper&&(t.preventDefault(),(0,import_ag_grid_community41._stopPropagationForAgGrid)(t),this.eFocusableComp.getFocusableElement().focus())}},focusin:()=>{this.focusWrapper.classList.add(e)},focusout:t=>{this.focusWrapper.contains(t.relatedTarget)||this.focusWrapper.classList.remove(e)}})}};function getAdvancedFilterBuilderAddButtonParams(e,t){return{pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderAddField",pickerAriaLabelValue:"Advanced Filter Builder Add Field",pickerType:"ag-list",valueList:[{key:"condition",displayValue:e("advancedFilterBuilderAddCondition")},{key:"join",displayValue:e("advancedFilterBuilderAddJoin")}],valueFormatter:i=>i==null?"":i.displayValue??i.key,pickerIcon:"advancedFilterBuilderAdd",maxPickerWidth:`${t??120}px`,wrapperClassName:"ag-advanced-filter-builder-item-button",ariaLabel:e("advancedFilterBuilderAddButtonTooltip")}}var ItemAddElement={tag:"div",cls:"ag-advanced-filter-builder-item-wrapper",role:"presentation",children:[{tag:"div",ref:"eItem",cls:"ag-advanced-filter-builder-item",role:"presentation",children:[{tag:"div",cls:"ag-advanced-filter-builder-item-tree-lines",attrs:{"aria-hidden":"true"},children:[{tag:"div",cls:"ag-advanced-filter-builder-item-tree-line ag-advanced-filter-builder-item-tree-line-vertical-top ag-advanced-filter-builder-item-tree-line-horizontal"}]}]}]},AdvancedFilterBuilderItemAddComp=class extends import_ag_grid_community42.Component{constructor(e,t){super(ItemAddElement),this.item=e,this.focusWrapper=t,this.eItem=import_ag_stack45.RefPlaceholder}wireBeans(e){this.advFilterExpSvc=e.advFilterExpSvc}postConstruct(){(0,import_ag_stack45._setAriaLevel)(this.focusWrapper,2);const e=getAdvancedFilterBuilderAddButtonParams(i=>this.advFilterExpSvc.translate(i),this.gos.get("advancedFilterBuilderParams")?.addSelectWidth),t=this.createManagedBean(new AddDropdownComp(e));this.addManagedListeners(t,{fieldPickerValueSelected:({value:i})=>{this.dispatchLocalEvent({type:"advancedFilterBuilderAdded",item:this.item,isJoin:i.key==="join"})}}),this.eItem.appendChild(t.getGui()),this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>t.getGui(),getTooltipComponentDefinition:()=>{},getLocation:()=>"advancedFilter",getTooltipValue:()=>this.advFilterExpSvc.translate("advancedFilterBuilderAddButtonTooltip")})),this.createManagedBean(new AdvancedFilterBuilderItemNavigationFeature(this.getGui(),this.focusWrapper,t)),(0,import_ag_stack45._setAriaLabel)(this.focusWrapper,this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderItem",[this.advFilterExpSvc.translate("advancedFilterBuilderAddButtonTooltip"),`${this.item.level+1}`]))}afterAdd(){}},import_ag_stack50=require("ag-stack"),import_ag_grid_community48=require("ag-grid-community"),import_ag_stack46=require("ag-stack"),import_ag_grid_community43=require("ag-grid-community"),VALUE_EMPTY_CLASS="ag-advanced-filter-builder-value-empty",VALUE_NUMBER_CLASS="ag-advanced-filter-builder-value-number",VALUE_TEXT_CLASS="ag-advanced-filter-builder-value-text",getPillElement=({cssClass:e,wrapperClassName:t,displayClassName:i,pickerIcon:r})=>{const n=[{tag:"span",cls:`ag-advanced-filter-builder-pill-display ${i??""}`,ref:"eLabel"}];return r&&n.push({tag:"span",ref:"eIcon",cls:"ag-picker-field-icon",attrs:{"aria-hidden":"true"}}),{tag:"div",cls:`ag-advanced-filter-builder-pill-wrapper ${t??""}`,role:"presentation",children:[{tag:"div",ref:"ePill",cls:`ag-advanced-filter-builder-pill ${e}`,role:"button",children:n}]}},PillComp=class extends import_ag_grid_community43.Component{constructor(e){super(getPillElement(e)),this.pillParams=e,this.ePill=import_ag_stack46.RefPlaceholder,this.eLabel=import_ag_stack46.RefPlaceholder,this.eIcon=import_ag_stack46.RefPlaceholder}wireBeans(e){this.advFilterExpSvc=e.advFilterExpSvc}writeLabel(e,t){const i=this.eLabel,r=i.classList;if(r.remove(VALUE_EMPTY_CLASS,VALUE_NUMBER_CLASS,VALUE_TEXT_CLASS),e===null){i.textContent=this.advFilterExpSvc.translate("advancedFilterBuilderEnterValue"),r.add(VALUE_EMPTY_CLASS);return}i.textContent=e,t&&r.add(t)}postConstruct(){const{ariaLabel:e,pickerIcon:t}=this.pillParams,i=this.ePill,r=this.eLabel;if(this.activateTabIndex([i]),t){const n=this.beans.iconSvc.createIconNoSpan(t);n&&this.eIcon.appendChild(n)}r.id=`${this.getCompId()}`,(0,import_ag_stack46._setAriaDescribedBy)(i,r.id),(0,import_ag_stack46._setAriaLabel)(i,e),this.renderValue(),this.addManagedListeners(i,{click:n=>{n.preventDefault(),this.open()},keydown:n=>{n.key===import_ag_grid_community43.KeyCode.ENTER&&(n.preventDefault(),(0,import_ag_grid_community43._stopPropagationForAgGrid)(n),this.open())}})}getFocusableElement(){return this.ePill}},MAX_SUMMARY_VALUES=3,EMPTY_CLASS="ag-advanced-filter-builder-set-values-pill-empty",SetValuesPillComp=class extends PillComp{constructor(e){super({...e,cssClass:`${e.cssClass} ag-advanced-filter-builder-set-values-pill`,wrapperClassName:"ag-advanced-filter-builder-set-values-pill-wrapper",displayClassName:"ag-picker-field-display",pickerIcon:"advancedFilterBuilderSelectOpen"}),this.params=e,this.opening=!1,this.values=e.values}wireBeans(e){super.wireBeans(e),this.popupSvc=e.popupSvc,this.advFilterSetSvc=e.advFilterSetSvc}postConstruct(){super.postConstruct(),this.addDestroyFunc(()=>this.hidePicker())}renderValue(){const e=this.values;this.ePill.classList.toggle(EMPTY_CLASS,e.length===0),this.writeLabel(e.length?this.summarise(e,this.params.column):null)}summarise(e,t){const i=e.length,r=[];for(let n=0,o=Math.min(i,MAX_SUMMARY_VALUES);n<o;++n){const a=e[n],l=this.advFilterSetSvc.getPath(t,a);r.push(l?joinSetPath(l):String(a??""))}return i>MAX_SUMMARY_VALUES&&r.push(this.advFilterExpSvc.translate("advancedFilterSetMore",[String(i-MAX_SUMMARY_VALUES)])),`(${i}) ${r.join(", ")}`}open(){if(this.opening)return;if(this.filterUi){this.hidePicker(!0);return}const{column:e,update:t}=this.params,i={filterType:"set",values:this.values},r=this.advFilterSetSvc.createFilterUi(e,i,n=>{this.values=n?.values??this.advFilterSetSvc.getAllKeys(e)??this.values,this.renderValue(),t(this.values)});r&&(this.opening=!0,r.newAgStackInstance().then(n=>{if(this.opening=!1,!this.isAlive()){this.destroyBean(n);return}this.filterUi=n;const o=n.getGui();o.classList.add("ag-advanced-filter-builder-set-picker");const a={ePopup:o,type:"advancedFilterBuilderSet",eventSource:this.ePill,position:"under",alignSide:this.gos.get("enableRtl")?"right":"left",keepWithinBounds:!0},l=this.popupSvc.addPopup({modal:!0,eChild:o,closeOnEsc:!0,closedCallback:c=>this.hidePicker(c instanceof KeyboardEvent),anchorToElement:this.ePill,eventSourceToIgnore:this.ePill,positionCallback:()=>this.popupSvc.positionPopupByComponent(a),ariaLabel:this.params.ariaLabel});this.hidePopup=l.hideFunc,this.filterUi.afterGuiAttached?.({container:"columnFilter"})}))}hidePicker(e){const{filterUi:t,hidePopup:i}=this;t&&(this.filterUi=void 0,this.hidePopup=void 0,i?.(),this.destroyBean(t),e&&this.ePill.focus())}},import_ag_stack47=require("ag-stack"),import_ag_grid_community44=require("ag-grid-community"),ConditionPillWrapperComp=class extends import_ag_grid_community44.Component{constructor(){super({tag:"div",cls:"ag-advanced-filter-builder-item-condition",role:"presentation"}),this.eOperandPills=[],this.hasSetValuesPill=!1,this.validationMessage=null}wireBeans(e){this.advFilterExpSvc=e.advFilterExpSvc}init(e){const{item:t,createPill:i}=e;this.item=t,this.createPill=i,this.filterModel=t.filterModel,this.setupColumnCondition(this.filterModel),this.validate(),this.addDestroyFunc(()=>this.destroyBeans([this.eColumnPill,this.eOperatorPill,...this.eOperandPills]))}getDragName(){return this.filterModel.colId?this.advFilterExpSvc.parseColumnFilterModel(this.filterModel):this.getDefaultColumnDisplayValue()}getAriaLabel(){return`${this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderFilterItem")} ${this.getDragName()}`}getValidationMessage(){return this.validationMessage}getFocusableElement(){return this.eColumnPill.getFocusableElement()}setupColumnCondition(e){const t=this.advFilterExpSvc.getColumnDetails(e.colId);this.baseCellDataType=t.baseCellDataType,this.column=t.column,this.setOperands(e.type),this.eColumnPill=this.createPill({key:e.colId,displayValue:this.advFilterExpSvc.getColumnDisplayValue(e.colId)??this.getDefaultColumnDisplayValue(),cssClass:"ag-advanced-filter-builder-column-pill",isSelect:!0,getEditorParams:()=>({values:this.advFilterExpSvc.getColumnAutocompleteEntries()}),update:i=>this.setColumnKey(i),pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderColumnSelectField",pickerAriaLabelValue:"Advanced Filter Builder Column Select Field",ariaLabel:this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderColumn")}),this.getGui().appendChild(this.eColumnPill.getGui()),e.colId&&(this.createOperatorPill(),this.syncOperandPills())}createOperatorPill(){this.eOperatorPill=this.createPill({key:this.filterModel.type,displayValue:this.advFilterExpSvc.getOperatorDisplayValue(this.filterModel)??this.advFilterExpSvc.translate("advancedFilterBuilderSelectOption"),cssClass:"ag-advanced-filter-builder-option-pill",isSelect:!0,getEditorParams:()=>({values:this.getOperatorAutocompleteEntries()}),update:e=>this.setOperatorKey(e),pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderOptionSelectField",pickerAriaLabelValue:"Advanced Filter Builder Option Select Field",ariaLabel:this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderOption")}),this.eColumnPill.getGui().insertAdjacentElement("afterend",this.eOperatorPill.getGui())}createOperandPill(e){const t=this.getOperandModelValue(e),i=(typeof t=="number"||typeof t=="bigint"?(0,import_ag_stack47._toStringOrNull)(t):t)??"",r=()=>this.advFilterExpSvc.formatOperand(this.filterModel,this.getOperandModelValue(e),!0),n=this.createPill({key:i,valueFormatter:r,editValueFormatter:this.advFilterExpSvc.isOperandModelValueEditable(this.baseCellDataType,this.column)?void 0:r,baseCellDataType:this.baseCellDataType,cssClass:"ag-advanced-filter-builder-value-pill",isSelect:!1,update:o=>this.setOperand(o,e),ariaLabel:this.getOperandAriaLabel(e)});this.eOperandPills.push(n),this.getGui().appendChild(n.getGui())}getOperandAriaLabel(e){if(this.operands!=="range")return this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderValue");const t=this.getLocaleTextFunc();return e===0?t("ariaFilterFromValue","Filter from value"):t("ariaFilterToValue","Filter to value")}destroyOperandPills(){this.hasSetValuesPill=!1;const e=this.eOperandPills;for(let t=0,i=e.length;t<i;++t){const r=e[t];(0,import_ag_stack47._removeFromParent)(r.getGui()),this.destroyBean(r)}e.length=0}syncOperandPills(){const{eOperandPills:e,operands:t}=this,i=OPERAND_COUNT[t];for(let r=i,n=OPERAND_KEYS.length;r<n;++r)this.setOperandModelValue(r,void 0);if(t==="list"){this.hasSetValuesPill||(this.destroyOperandPills(),this.createSetValuesPill());return}if(delete this.filterModel.values,!(e.length===i&&!this.hasSetValuesPill)){this.destroyOperandPills();for(let r=0;r<i;++r)this.createOperandPill(r)}}createSetValuesPill(){const e=this.column;if(!e)return;this.hasSetValuesPill=!0;const t=this.filterModel;t.values??(t.values=[]);const i=this.createPill({key:"",column:e,values:t.values,cssClass:"ag-advanced-filter-builder-value-pill",isSelect:"set",update:r=>{t.values=r,this.validate()},ariaLabel:this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderValue")});this.eOperandPills.push(i),this.getGui().appendChild(i.getGui())}getOperandModelValue(e){return this.filterModel[OPERAND_KEYS[e]]}setOperandModelValue(e,t){const i=this.filterModel,r=OPERAND_KEYS[e];t===void 0?delete i[r]:i[r]=t}getOperatorAutocompleteEntries(){return this.column?this.advFilterExpSvc.getOperatorAutocompleteEntries(this.column,this.baseCellDataType):[]}setColumnKey(e){this.eOperatorPill||this.createOperatorPill();const{column:t,baseCellDataType:i}=this.advFilterExpSvc.getColumnDetails(e),r=this.column,n=this.baseCellDataType!==i,o=this.filterModel.type,a=this.advFilterExpSvc.getOperatorDisplayValue(this.filterModel);this.column=t,this.baseCellDataType=i,this.filterModel.colId=e,!n&&this.advFilterExpSvc.isOperatorOffered(i,this.filterModel.type,t)||delete this.filterModel.type,(r!==t||this.filterModel.type!==o||this.advFilterExpSvc.getOperatorDisplayValue(this.filterModel)!==a)&&((0,import_ag_stack47._removeFromParent)(this.eOperatorPill.getGui()),this.destroyBean(this.eOperatorPill),this.createOperatorPill()),r!==t&&(this.destroyOperandPills(),delete this.filterModel.values),this.setOperands(this.filterModel.type),this.syncOperandPills(),this.validate()}setOperatorKey(e){const t=this.operands;this.setOperands(e),this.operands!==t&&this.syncOperandPills(),this.filterModel.type=e,this.validate()}setOperands(e){const t=this.getExpressionOperator(e)?.operands??"none";this.operands=t,this.filterModel.filterType=t==="list"?"set":this.baseCellDataType}setOperand(e,t){const i=this.baseCellDataType==="number"&&e?getNumberParser(this.column,this.gos)(e)??"":e;this.setOperandModelValue(t,i===""?void 0:i),this.validate()}getExpressionOperator(e){return this.advFilterExpSvc.getExpressionOperator(this.baseCellDataType,e,this.column)}validate(){const e=getConditionValidationMessage(this.advFilterExpSvc,this.gos,this.filterModel,this.column,this.baseCellDataType,this.getExpressionOperator(this.filterModel.type));this.item.valid=!e,e!==this.validationMessage&&(this.validationMessage=e,this.dispatchLocalEvent({type:"advancedFilterBuilderValidChanged"}))}getDefaultColumnDisplayValue(){return this.advFilterExpSvc.translate("advancedFilterBuilderSelectColumn")}},import_ag_stack48=require("ag-stack"),import_ag_grid_community45=require("ag-grid-community"),inputComponentDescriptors={number:[import_ag_grid_community45.AgInputNumberField],bigint:[import_ag_grid_community45.AgInputTextField],boolean:[import_ag_grid_community45.AgInputTextField],object:[import_ag_grid_community45.AgInputTextField],text:[import_ag_grid_community45.AgInputTextField],date:[import_ag_grid_community45.AgInputDateField],dateString:[import_ag_grid_community45.AgInputDateField],dateTime:[import_ag_grid_community45.AgInputDateField,e=>e.setIncludeTime(!0)],dateTimeString:[import_ag_grid_community45.AgInputDateField,e=>e.setIncludeTime(!0)]},InputPillComp=class extends PillComp{constructor(e){super(e),this.params=e;const{value:t,valueFormatter:i}=e;this.value=t,this.displayValue=i(t)}postConstruct(){super.postConstruct(),this.addDestroyFunc(()=>this.destroyBean(this.eEditor))}open(){if(this.eEditor)return;(0,import_ag_stack48._setDisplayed)(this.ePill,!1),this.eEditor=this.createEditorComp();const{editValueFormatter:e}=this.params;this.editorOpenedWith=e?.(this.value)??this.value,this.eEditor.setValue(this.editorOpenedWith);const t=this.eEditor.getGui();this.eEditor.addManagedElementListeners(t,{keydown:i=>{switch(i.key){case import_ag_grid_community45.KeyCode.ENTER:i.preventDefault(),(0,import_ag_grid_community45._stopPropagationForAgGrid)(i),this.updateValue(!0);break;case import_ag_grid_community45.KeyCode.ESCAPE:i.preventDefault(),(0,import_ag_grid_community45._stopPropagationForAgGrid)(i),this.hideEditor(!0);break}},focusout:()=>this.updateValue(!1)}),this.getGui().appendChild(t),this.eEditor.getFocusableElement().focus()}createEditorComp(){const e=this.params.editValueFormatter?"text":this.params.type,[t,i]=inputComponentDescriptors[e],r=this.createBean(new t);return i?.(r),r}hideEditor(e){const{eEditor:t}=this;t&&(this.eEditor=void 0,t.getGui().remove(),this.destroyBean(t),(0,import_ag_stack48._setDisplayed)(this.ePill,!0),e&&this.ePill.focus())}renderValue(){const e=this.displayValue;if(!(0,import_ag_stack48._exists)(e)){this.writeLabel(null);return}const t=this.params.type;if(t==="number"||t==="bigint"){this.writeLabel(e,"ag-advanced-filter-builder-value-number");return}this.writeLabel(`"${e}"`,"ag-advanced-filter-builder-value-text")}updateValue(e){if(!this.eEditor)return;const t=this.eEditor.getValue()??"";if(t===this.editorOpenedWith){this.hideEditor(e);return}this.dispatchLocalEvent({type:"fieldValueChanged",value:t}),this.value=t,this.displayValue=this.params.valueFormatter(t),this.renderValue(),this.hideEditor(e)}},import_ag_grid_community46=require("ag-grid-community"),JoinPillWrapperComp=class extends import_ag_grid_community46.Component{wireBeans(e){this.advFilterExpSvc=e.advFilterExpSvc}constructor(){super({tag:"div",cls:"ag-advanced-filter-builder-item-condition",role:"presentation"})}init(e){const{item:t,createPill:i}=e,r=t.filterModel;this.filterModel=r,this.ePill=i({key:r.type,displayValue:this.advFilterExpSvc.parseJoinOperator(r),cssClass:"ag-advanced-filter-builder-join-pill",isSelect:!0,getEditorParams:()=>({values:this.advFilterExpSvc.getJoinOperatorAutocompleteEntries()}),update:n=>r.type=n,pickerAriaLabelKey:"ariaLabelAdvancedFilterBuilderJoinSelectField",pickerAriaLabelValue:"Advanced Filter Builder Join Operator Select Field",ariaLabel:this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderJoinOperator")}),this.getGui().appendChild(this.ePill.getGui()),this.addDestroyFunc(()=>this.destroyBean(this.ePill))}getDragName(){return this.advFilterExpSvc.parseJoinOperator(this.filterModel)}getAriaLabel(){return`${this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderGroupItem")} ${this.getDragName()}`}getValidationMessage(){return null}getFocusableElement(){return this.ePill.getFocusableElement()}},import_ag_stack49=require("ag-stack"),import_ag_grid_community47=require("ag-grid-community"),SelectPillElement={tag:"div",cls:"ag-picker-field ag-advanced-filter-builder-pill-wrapper",role:"presentation",children:[{tag:"div",ref:"eLabel"},{tag:"div",ref:"eWrapper",cls:"ag-wrapper ag-advanced-filter-builder-pill ag-picker-collapsed",children:[{tag:"div",ref:"eDisplayField",cls:"ag-picker-field-display ag-advanced-filter-builder-pill-display"},{tag:"ag-input-text-field",ref:"eInput",cls:"ag-rich-select-field-input"},{tag:"span",ref:"eDeselect",cls:"ag-rich-select-deselect-button ag-picker-field-icon",role:"presentation"},{tag:"div",ref:"eIcon",cls:"ag-picker-field-icon",attrs:{"aria-hidden":"true"}}]}]},SelectPillComp=class extends AgRichSelect{constructor(e){super({...e,template:SelectPillElement,agComponents:[import_ag_grid_community47.AgInputTextFieldSelector]}),this.params=e}getFocusableElement(){return this.eWrapper}showPicker(){setTimeout(()=>super.showPicker())}hidePicker(){setTimeout(()=>super.hidePicker())}postConstruct(){super.postConstruct();const{wrapperClassName:e,ariaLabel:t}=this.params;this.eWrapper.classList.add(e),(0,import_ag_stack49._setAriaLabelledBy)(this.eWrapper,""),(0,import_ag_stack49._setAriaLabel)(this.eWrapper,t)}createPickerComponent(){if(!this.values){const{values:i}=this.params.getEditorParams();this.values=i;const r=this.value.key,n=i.find(o=>o.key===r)??{key:r,displayValue:this.value.displayValue};this.value=n}const e=super.createPickerComponent(),t=Math.min(this.params.maxPickerWidth??1/0,(0,import_ag_stack49._getInnerWidth)(this.params.eBuilder));return e.setContentWidthCallback(i=>this.growPickerToContent(i,t)),e}growPickerToContent(e,t){const i=this.pickerComponent?.getGui();if(!i)return!0;const r=Math.min(e,t);return r>parseFloat(i.style.minWidth||"0")&&(i.style.minWidth=`${r}px`,this.alignPickerToComponent()),r<t}onEnterKeyDown(e){(0,import_ag_grid_community47._stopPropagationForAgGrid)(e),this.isPickerDisplayed?super.onEnterKeyDown(e):(e.preventDefault(),this.showPicker())}},SET_VALUE_LIST_CLASS="ag-advanced-filter-builder-set-value-list",AdvancedFilterBuilderItemElement={tag:"div",cls:"ag-advanced-filter-builder-item-wrapper",role:"presentation",children:[{tag:"div",cls:"ag-advanced-filter-builder-item",role:"presentation",children:[{tag:"div",ref:"eTreeLines",cls:"ag-advanced-filter-builder-item-tree-lines",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eDragHandle",cls:"ag-drag-handle",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eValidation",cls:"ag-advanced-filter-builder-item-button ag-advanced-filter-builder-invalid",attrs:{"aria-hidden":"true"}}]},{tag:"div",ref:"eButtons",cls:"ag-advanced-filter-builder-item-buttons",children:[{tag:"span",ref:"eMoveUpButton",cls:"ag-advanced-filter-builder-item-button",role:"button"},{tag:"span",ref:"eMoveDownButton",cls:"ag-advanced-filter-builder-item-button",role:"button"},{tag:"div",ref:"eAddButton",role:"presentation"},{tag:"span",ref:"eRemoveButton",cls:"ag-advanced-filter-builder-item-button",role:"button"}]}]},AdvancedFilterBuilderItemComp=class extends import_ag_grid_community48.TabGuardComp{constructor(e,t,i,r){super(AdvancedFilterBuilderItemElement),this.item=e,this.dragFeature=t,this.focusWrapper=i,this.eBuilder=r,this.eTreeLines=import_ag_stack50.RefPlaceholder,this.eDragHandle=import_ag_stack50.RefPlaceholder,this.eButtons=import_ag_stack50.RefPlaceholder,this.eValidation=import_ag_stack50.RefPlaceholder,this.eMoveUpButton=import_ag_stack50.RefPlaceholder,this.eMoveDownButton=import_ag_stack50.RefPlaceholder,this.eAddButton=import_ag_stack50.RefPlaceholder,this.eRemoveButton=import_ag_stack50.RefPlaceholder,this.moveUpDisabled=!1,this.moveDownDisabled=!1}wireBeans(e){this.dragAndDrop=e.dragAndDrop,this.advFilterExpSvc=e.advFilterExpSvc}postConstruct(){const{filterModel:e,level:t,showMove:i}=this.item,r=e.filterType==="join";if(this.ePillWrapper=this.createManagedBean(r?new JoinPillWrapperComp:new ConditionPillWrapperComp),this.ePillWrapper.init({item:this.item,createPill:n=>this.createPill(n)}),this.eDragHandle.insertAdjacentElement("afterend",this.ePillWrapper.getGui()),t===0){const n=(0,import_ag_grid_community48._createElement)({tag:"div",cls:"ag-advanced-filter-builder-item-tree-line ag-advanced-filter-builder-item-tree-line-vertical-bottom ag-advanced-filter-builder-item-tree-line-root"});this.eTreeLines.appendChild(n),(0,import_ag_stack50._setDisplayed)(this.eDragHandle,!1),(0,import_ag_stack50._setDisplayed)(this.eButtons,!1),(0,import_ag_stack50._setAriaExpanded)(this.focusWrapper,!0)}else this.setupTreeLines(t),this.eDragHandle.appendChild((0,import_ag_grid_community48._createIconNoSpan)("advancedFilterBuilderDrag",this.beans)),this.setupValidation(),this.setupMoveButtons(i),this.setupAddButton(),this.setupRemoveButton(),this.setupDragging(),this.updateAriaExpanded();(0,import_ag_stack50._setAriaLevel)(this.focusWrapper,t+1),this.initialiseTabGuard({}),this.createManagedBean(new AdvancedFilterBuilderItemNavigationFeature(this.getGui(),this.focusWrapper,this.ePillWrapper)),this.updateAriaLabel(),this.addManagedListeners(this.ePillWrapper,{advancedFilterBuilderValueChanged:()=>this.dispatchLocalEvent({type:"advancedFilterBuilderValueChanged"}),advancedFilterBuilderValidChanged:()=>this.updateValidity()})}setState(e){const{level:t}=this.item;if(t===0)return;const{showMove:i}=this.item,{disableMoveUp:r,disableMoveDown:n,treeLines:o,showStartTreeLine:a}=e;this.updateTreeLines(o,a),this.updateAriaExpanded(),i&&(this.moveUpDisabled=!!r,this.moveDownDisabled=!!n,this.eMoveUpButton.classList.toggle("ag-advanced-filter-builder-item-button-disabled",r),this.eMoveDownButton.classList.toggle("ag-advanced-filter-builder-item-button-disabled",n),(0,import_ag_stack50._setAriaDisabled)(this.eMoveUpButton,!!r),(0,import_ag_stack50._setAriaDisabled)(this.eMoveDownButton,!!n),this.moveUpTooltipFeature?.refreshTooltip(),this.moveDownTooltipFeature?.refreshTooltip())}focusMoveButton(e){(e?this.eMoveUpButton:this.eMoveDownButton).focus()}afterAdd(){this.ePillWrapper.getFocusableElement().focus()}setupTreeLines(e){for(let t=0;t<e;t++)this.eTreeLines.appendChild((0,import_ag_grid_community48._createElement)({tag:"div",cls:"ag-advanced-filter-builder-item-tree-line"}))}updateTreeLines(e,t){const i=e.length-1,{children:r}=this.eTreeLines;for(let o=0;o<i;o++){const a=r.item(o);a&&a.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical",!e[o])}const n=r.item(i);if(n){n.classList.add("ag-advanced-filter-builder-item-tree-line-horizontal");const o=e[i];n.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical-top",o),n.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical",!o)}this.eDragHandle.classList.toggle("ag-advanced-filter-builder-item-tree-line-vertical-bottom",t)}setupValidation(){this.eValidation.appendChild((0,import_ag_grid_community48._createIconNoSpan)("advancedFilterBuilderInvalid",this.beans)),this.validationTooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.eValidation,getTooltipComponentDefinition:()=>{},getLocation:()=>"advancedFilter",getTooltipValue:()=>this.ePillWrapper.getValidationMessage(),getTooltipShowDelayOverride:()=>1e3})),this.updateValidity()}setupAddButton(){const e=getAdvancedFilterBuilderAddButtonParams(i=>this.advFilterExpSvc.translate(i),this.gos.get("advancedFilterBuilderParams")?.addSelectWidth),t=this.createManagedBean(new AddDropdownComp(e));this.addManagedListeners(t,{fieldPickerValueSelected:({value:i})=>this.dispatchLocalEvent({type:"advancedFilterBuilderAdded",item:this.item,isJoin:i.key==="join"})}),this.eAddButton.appendChild(t.getGui()),this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.eAddButton,getTooltipComponentDefinition:()=>{},getLocation:()=>"advancedFilter",getTooltipValue:()=>this.advFilterExpSvc.translate("advancedFilterBuilderAddButtonTooltip")}))}setupRemoveButton(){this.eRemoveButton.appendChild((0,import_ag_grid_community48._createIconNoSpan)("advancedFilterBuilderRemove",this.beans)),this.addManagedListeners(this.eRemoveButton,{click:()=>this.removeItem(),keydown:e=>{e.key===import_ag_grid_community48.KeyCode.ENTER&&(e.preventDefault(),(0,import_ag_grid_community48._stopPropagationForAgGrid)(e),this.removeItem())}}),this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.eRemoveButton,getTooltipComponentDefinition:()=>{},getLocation:()=>"advancedFilter",getTooltipValue:()=>this.advFilterExpSvc.translate("advancedFilterBuilderRemoveButtonTooltip")})),(0,import_ag_stack50._setAriaLabel)(this.eRemoveButton,this.advFilterExpSvc.translate("advancedFilterBuilderRemoveButtonTooltip")),this.activateTabIndex([this.eRemoveButton])}setupMoveButtons(e){e?(this.eMoveUpButton.appendChild((0,import_ag_grid_community48._createIconNoSpan)("advancedFilterBuilderMoveUp",this.beans)),this.addManagedListeners(this.eMoveUpButton,{click:()=>this.moveItem(!0),keydown:t=>{t.key===import_ag_grid_community48.KeyCode.ENTER&&(t.preventDefault(),(0,import_ag_grid_community48._stopPropagationForAgGrid)(t),this.moveItem(!0))}}),this.moveUpTooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.eMoveUpButton,getTooltipComponentDefinition:()=>{},getLocation:()=>"advancedFilter",getTooltipValue:()=>this.moveUpDisabled?null:this.advFilterExpSvc.translate("advancedFilterBuilderMoveUpButtonTooltip")})),(0,import_ag_stack50._setAriaLabel)(this.eMoveUpButton,this.advFilterExpSvc.translate("advancedFilterBuilderMoveUpButtonTooltip")),this.eMoveDownButton.appendChild((0,import_ag_grid_community48._createIconNoSpan)("advancedFilterBuilderMoveDown",this.beans)),this.addManagedListeners(this.eMoveDownButton,{click:()=>this.moveItem(!1),keydown:t=>{t.key===import_ag_grid_community48.KeyCode.ENTER&&(t.preventDefault(),(0,import_ag_grid_community48._stopPropagationForAgGrid)(t),this.moveItem(!1))}}),this.moveDownTooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.eMoveDownButton,getTooltipComponentDefinition:()=>{},getLocation:()=>"advancedFilter",getTooltipValue:()=>this.moveDownDisabled?null:this.advFilterExpSvc.translate("advancedFilterBuilderMoveDownButtonTooltip")})),(0,import_ag_stack50._setAriaLabel)(this.eMoveDownButton,this.advFilterExpSvc.translate("advancedFilterBuilderMoveDownButtonTooltip")),this.activateTabIndex([this.eMoveUpButton,this.eMoveDownButton])):((0,import_ag_stack50._setDisplayed)(this.eMoveUpButton,!1),(0,import_ag_stack50._setDisplayed)(this.eMoveDownButton,!1))}updateValidity(){(0,import_ag_stack50._setVisible)(this.eValidation,!this.item.valid),this.validationTooltipFeature?.refreshTooltip(),this.updateAriaLabel()}createPill(e){const{key:t,cssClass:i,ariaLabel:r}=e;if(e.isSelect==="set"){const o=this.focusWrapper.classList,a=this.createBean(new SetValuesPillComp({...e,update:this.onPillUpdated(e.update)}));return o.add(SET_VALUE_LIST_CLASS),a.addDestroyFunc(()=>o.remove(SET_VALUE_LIST_CLASS)),a}const n=this.onPillUpdated(e.update);if(e.isSelect===!0){const{getEditorParams:o,pickerAriaLabelKey:a,pickerAriaLabelValue:l,displayValue:c}=e,{pillSelectMinWidth:u,pillSelectMaxWidth:d}=this.gos.get("advancedFilterBuilderParams")??{},h=this.createBean(new SelectPillComp({pickerAriaLabelKey:a,pickerAriaLabelValue:l,pickerType:"ag-list",value:{key:t,displayValue:c},valueFormatter:p=>p==null?"":p.displayValue??p.key,variableWidth:!0,minPickerWidth:u??140,maxPickerWidth:d,eBuilder:this.eBuilder,getEditorParams:o,wrapperClassName:i,ariaLabel:r,pickerIcon:"advancedFilterBuilderSelectOpen"}));return this.addManagedListeners(h,{fieldPickerValueSelected:({value:p})=>n(p?.key)}),h}else{const{baseCellDataType:o,valueFormatter:a,editValueFormatter:l}=e,c=this.createBean(new InputPillComp({value:t,valueFormatter:a,editValueFormatter:l,cssClass:i,type:o,ariaLabel:r}));return this.addManagedListeners(c,{fieldValueChanged:({value:u})=>n(u)}),c}}onPillUpdated(e){return t=>{t!=null&&(e(t),this.dispatchLocalEvent({type:"advancedFilterBuilderValueChanged"}))}}setupDragging(){const e={type:import_ag_grid_community48.DragSourceType.AdvancedFilterBuilder,eElement:this.eDragHandle,dragItemName:()=>this.ePillWrapper.getDragName(),getDefaultIconName:()=>"notAllowed",getDragItem:()=>({}),onDragStarted:()=>this.dragFeature.dispatchLocalEvent({type:"advancedFilterBuilderDragStarted",item:this.item}),onDragStopped:()=>this.dragFeature.dispatchLocalEvent({type:"advancedFilterBuilderDragEnded"})};this.dragAndDrop.addDragSource(e,!0),this.addDestroyFunc(()=>this.dragAndDrop.removeDragSource(e))}updateAriaLabel(){const e=this.ePillWrapper.getAriaLabel(),t=`${this.item.level+1}`,i=this.ePillWrapper.getValidationMessage();let r;i?r=this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderItemValidation",[e,t,i]):r=this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderItem",[e,t]),(0,import_ag_stack50._setAriaLabel)(this.focusWrapper,r)}updateAriaExpanded(){(0,import_ag_stack50._removeAriaExpanded)(this.focusWrapper);const{filterModel:e}=this.item;e?.filterType==="join"&&e.conditions.length&&(0,import_ag_stack50._setAriaExpanded)(this.focusWrapper,!0)}removeItem(){this.dispatchLocalEvent({type:"advancedFilterBuilderRemoved",item:this.item})}moveItem(e){this.dispatchLocalEvent({type:"advancedFilterBuilderMoved",item:this.item,backwards:e})}},ButtonLocaleMap2={apply:"advancedFilterBuilderApply",clear:"advancedFilterBuilderClear",cancel:"advancedFilterBuilderCancel",reset:"advancedFilterBuilderReset"},AdvancedFilterBuilderElement={tag:"div",cls:"ag-advanced-filter-builder",role:"presentation",attrs:{tabindex:"-1"},children:[{tag:"div",ref:"eList",cls:"ag-advanced-filter-builder-list",role:"presentation"}]},AdvancedFilterBuilderComp=class extends import_ag_grid_community49.Component{constructor(){super(AdvancedFilterBuilderElement),this.eList=import_ag_stack51.RefPlaceholder}wireBeans(e){this.filterManager=e.filterManager,this.advancedFilter=e.advancedFilter,this.advFilterExpSvc=e.advFilterExpSvc}postConstruct(){const e=this.gos.get("advancedFilterBuilderParams");this.params={buttons:["apply","cancel"],...e},this.addManagedPropertyListener("advancedFilterBuilderParams",({currentValue:t})=>{this.params.showMoveButtons=!!t?.showMoveButtons,this.params.buttons=t?.buttons??["apply","cancel"],this.refreshList(!1)}),this.filterModel=this.setupFilterModel(),this.setupVirtualList(),this.dragFeature=this.createManagedBean(new AdvancedFilterBuilderDragFeature(this,this.virtualList)),this.resetButtonsPanel(this.params.buttons)}refresh(){const e=this.virtualList;let t=e.getLastFocusedRow();this.setupFilterModel(),this.validateItems(),this.refreshList(!1),t!=null&&(e.getComponentAt(t)||(t=0),e.focusRow(t))}getNumItems(){return this.items.length}moveItem(e,t){!t||!e||this.moveItemToIndex(e,t.rowIndex,t.position)}afterGuiAttached(){this.virtualList.awaitStable(()=>this.virtualList.focusRow(0))}setupVirtualList(){const e=this.virtualList=this.createManagedBean(new VirtualList({cssIdentifier:"advanced-filter-builder",ariaRole:"tree",listName:this.advFilterExpSvc.translate("ariaAdvancedFilterBuilderList"),moveItemCallback:this.virtualListMoveItemCallback.bind(this)}));e.setComponentCreator(this.createItemComponent.bind(this)),e.setComponentUpdater(this.updateItemComponent.bind(this)),e.setRowHeight(40),this.eList.appendChild(e.getGui()),e.setModel({getRowCount:()=>this.items?.length||0,getRow:t=>this.items[t],areRowsEqual:(t,i)=>t===i}),this.buildList(),e.refresh()}resetButtonsPanel(e){const t=e&&e.length>0;let i=this.eButtons;if(t){const r=e.map(o=>({type:o,label:this.advFilterExpSvc.translate(ButtonLocaleMap2[o])}));if(!i){i=this.createBean(new import_ag_grid_community49.FilterButtonComp),this.appendChild(i.getGui());const o=a=>({event:l})=>{this.updateModel(a),this.afterAction(a,l)};i.addManagedListeners(i,{apply:o("apply"),clear:o("clear"),reset:o("reset"),cancel:o("cancel")}),this.eButtons=i}i.updateButtons(r);const n=i.getApplyButton();if(n){const o=a=>this.toggleCss("ag-advanced-filter-builder-validation",a);this.addManagedElementListeners(n,{mouseenter:()=>o(!0),mouseleave:()=>o(!1)})}}else i&&((0,import_ag_stack51._removeFromParent)(i.getGui()),this.eButtons=this.destroyBean(i))}updateModel(e){switch(e){case"apply":this.advancedFilter.setModel(this.filterModel),this.filterManager?.onFilterChanged({source:"advancedFilter"});break;case"reset":this.advancedFilter.setModel(null),this.filterManager?.onFilterChanged({source:"advancedFilter"});break;case"cancel":break;case"clear":this.filterModel=this.formatFilterModel(null),this.refreshList(!1);break}}afterAction(e,t){switch(e){case"apply":{t?.preventDefault(),this.close();break}case"reset":{this.close();break}case"cancel":{this.close();break}}}removeItemFromParent(e){const t=e.parent.conditions.indexOf(e.filterModel);return e.parent.conditions.splice(t,1),t}moveItemToIndex(e,t,i){const r=this.items[t],n=r.filterModel?.filterType==="join"&&i==="bottom",o=n?r.filterModel:r.parent;if(!o||this.isChildOrSelf(o,e.filterModel)||r===e)return;this.removeItemFromParent(e);let a;n?a=0:(a=o.conditions.indexOf(r.filterModel),a===-1?a=o.conditions.length:i==="bottom"&&(a+=1)),o.conditions.splice(a,0,e.filterModel),this.refreshList(!1)}isChildOrSelf(e,t){return e===t||t.filterType==="join"&&t.conditions.some(i=>this.isChildOrSelf(e,i))}setupFilterModel(){const e=this.formatFilterModel(this.advancedFilter.getBuilderModel());return this.stringifiedModel=JSON.stringify(e),e}formatFilterModel(e){return e=e??{filterType:"join",type:"AND",conditions:[]},e.filterType!=="join"&&(e={filterType:"join",type:"AND",conditions:[e]}),e}buildList(){const e=(t,i,r,n)=>{if(i.push({filterModel:t,level:r,parent:n,valid:!0,showMove:this.params.showMoveButtons}),t.filterType==="join"){for(const o of t.conditions)e(o,i,r+1,t);r===0&&i.push({filterModel:null,level:r+1,parent:t,valid:!0})}};this.items=[],e(this.filterModel,this.items,0)}refreshList(e){if(!e){const t=new Map;for(const i of this.items)i.valid||t.set(i.filterModel,i.validationMessage);if(this.buildList(),t.size)for(const i of this.items)i.filterModel&&t.has(i.filterModel)&&(i.valid=!1,i.validationMessage=t.get(i.filterModel))}this.virtualList.refresh(e),this.validate()}updateItemComponent(e,t){const i=this.items.indexOf(e),r=(l,c)=>{const d=this.items.find(h=>h.filterModel===l)?.parent;if(d){const{conditions:h}=d;r(d,c),c.push(h[h.length-1]===l)}},n=[],{filterModel:o}=e;o&&(r(o,n),n[0]=!1);const a=o?.filterType==="join"&&!!o.conditions.length;t.setState({disableMoveUp:i===1,disableMoveDown:!this.canMoveDown(e,i),treeLines:n,showStartTreeLine:a})}createItemComponent(e,t){const i=this.createBean(e.filterModel?new AdvancedFilterBuilderItemComp(e,this.dragFeature,t,this.getGui()):new AdvancedFilterBuilderItemAddComp(e,t));return i.addManagedListeners(i,{advancedFilterBuilderRemoved:({item:r})=>this.removeItem(r),advancedFilterBuilderValueChanged:()=>this.validate(),advancedFilterBuilderAdded:({item:r,isJoin:n})=>this.addItem(r,n),advancedFilterBuilderMoved:({item:r,backwards:n})=>this.moveItemUpDown(r,n)}),i instanceof AdvancedFilterBuilderItemComp&&this.updateItemComponent(e,i),i}addItem(e,t){const{parent:i,level:r,filterModel:n}=e,o=n?.filterType==="join",a=t?{filterType:"join",type:"AND",conditions:[]}:{},l=o?n:i;let c=o?0:l.conditions.indexOf(n);c>=0?(o||(c+=1),l.conditions.splice(c,0,a)):l.conditions.push(a);let u=this.items.indexOf(e);const d=u>=0;if(d){e.filterModel&&u++;const h=[{filterModel:a,level:o?r+1:r,parent:l,valid:t,showMove:this.params.showMoveButtons}];this.items.splice(u,0,...h)}this.refreshList(d),d&&this.virtualList.getComponentAt(u)?.afterAdd()}removeItem(e){const t=e.parent,{filterModel:i}=e,r=t.conditions.indexOf(i);t.conditions.splice(r,1);const n=e.filterModel?.filterType==="join",o=this.items.indexOf(e),a=!n&&o>=0;a&&this.items.splice(o,1),this.refreshList(a),o>=0&&this.virtualList.focusRow(o)}moveItemUpDown(e,t,i){const r=this.items.indexOf(e),n=t?r-1:r+1;if(n===0||!t&&!this.canMoveDown(e,r))return;const o=this.items[n],a=this.removeItemFromParent(e),{level:l,filterModel:c,parent:u}=e,{level:d,filterModel:h,parent:p}=o;if(t)if(d===l&&h.filterType==="join")h.conditions.push(c);else if(d<=l){const m=p.conditions.indexOf(h);p.conditions.splice(m,0,c)}else u.conditions[a-1].conditions.push(c);else if(d===l)if(h.filterType==="join")h.conditions.splice(0,0,c);else{const m=p.conditions.indexOf(h);p.conditions.splice(m+1,0,c)}else if(a<u.conditions.length)u.conditions.splice(a+1,0,c);else{const m=this.items.find(C=>C.filterModel===u),v=m.parent.conditions.indexOf(m.filterModel)+1;m.parent.conditions.splice(v,0,c)}this.refreshList(!1);const g=this.items.findIndex(({filterModel:m})=>m===c);if(g<0)return;const f=this.virtualList.getComponentAt(g);f instanceof AdvancedFilterBuilderItemComp&&(i||f.focusMoveButton(t))}virtualListMoveItemCallback(e,t){const i=e.item,r=this.items.indexOf(i);r<=0||r===this.items.length-1||t&&r===1||!t&&!this.canMoveDown(i,r)||(this.moveItemUpDown(i,t,!0),this.virtualList.focusRow(r+(t?-1:1)))}canMoveDown(e,t){return!(e.level===1&&t===this.items.length-2||e.level===1&&e.parent.conditions[e.parent.conditions.length-1]===e.filterModel)}close(){this.advancedFilter.getCtrl().toggleFilterBuilder({source:"ui"})}validate(){let e=this.items.every(({valid:i})=>i),t=null;e?(e=JSON.stringify(this.filterModel)!==this.stringifiedModel,e||(t=this.advFilterExpSvc.translate("advancedFilterBuilderValidationAlreadyApplied"))):t=this.items.find(i=>!i.valid)?.validationMessage??this.advFilterExpSvc.translate("advancedFilterBuilderValidationIncomplete"),this.eButtons?.updateValidity(e,t)}validateItems(){const e=this.advFilterExpSvc;for(const t of this.items){if(!t.filterModel||t.filterModel.filterType==="join")continue;const{filterModel:i}=t;t.validationMessage=null;const{colId:r}=i,n=e.getColumnAutocompleteEntries().find(({key:c})=>c===r),{column:o,baseCellDataType:a}=e.getColumnDetails(r);if(!n||!o){t.valid=!1,delete i.colId,clearCondition(i);continue}const l=e.getExpressionOperator(a,i.type,o);if(!l){t.valid=!1,clearCondition(i);continue}t.validationMessage=getConditionValidationMessage(e,this.gos,i,o,a,l),t.valid=!t.validationMessage}}},clearCondition=e=>{delete e.type,delete e.filter,delete e.filterTo,delete e.values,delete e.filterType},AdvancedFilterCtrl=class extends import_ag_grid_community50.BeanStub{constructor(e){super(),this.enabled=e}wireBeans(e){this.ctrlsSvc=e.ctrlsSvc,this.popupSvc=e.popupSvc,this.advFilterExpSvc=e.advFilterExpSvc,this.environment=e.environment}postConstruct(){this.hasAdvancedFilterParent=!!this.gos.get("advancedFilterParent"),this.ctrlsSvc.whenReady(this,()=>this.setAdvancedFilterComp()),this.addManagedEventListeners({advancedFilterEnabledChanged:({enabled:e})=>this.onEnabledChanged(e)}),this.addManagedPropertyListener("advancedFilterParent",()=>this.updateComps()),this.addManagedPropertyListener("advancedFilterBuilderParams",e=>{e.currentValue?.suppressFullScreenButton!==e.previousValue?.suppressFullScreenButton&&this.eBuilderDialog?.setMaximizable(e.currentValue?.suppressFullScreenButton??!0)}),this.addDestroyFunc(()=>{this.destroyFilterComp(),this.eHeaderComp&&(this.headerCompHost?.unmountComp(this.eHeaderComp.getGui()),this.destroyBean(this.eHeaderComp),this.eHeaderComp=void 0,this.headerCompHost=void 0),this.destroyBean(this.eBuilderComp),this.eBuilderDialog?.isAlive()&&this.destroyBean(this.eBuilderDialog)})}mountTopSectionComp(e){this.headerCompHost=e,this.syncHeaderComp()}focusHeaderComp(){return this.eHeaderComp?(this.eHeaderComp.getFocusableElement().focus(),!0):!1}refreshComp(){this.eFilterComp?.refresh(),this.eHeaderComp?.refresh()}refreshBuilderComp(){this.eBuilderComp?.refresh()}getHeaderHeight(){return this.eHeaderComp?.getHeight()??0}setInputDisabled(e){this.eFilterComp?.setInputDisabled(e),this.eHeaderComp?.setInputDisabled(e)}toggleFilterBuilder(e){const{source:t,force:i,eventSource:r}=e;if(i&&this.eBuilderDialog||i===!1&&!this.eBuilderDialog)return;if(this.eBuilderDialog){this.builderDestroySource=t,this.destroyBean(this.eBuilderDialog);return}this.setInputDisabled(!0);const{width:n,height:o,minWidth:a}=this.getBuilderDialogSize(),{suppressFullScreenButton:l}={suppressFullScreenButton:!1,...this.gos.get("advancedFilterBuilderParams")};this.eBuilderComp=this.createBean(new AdvancedFilterBuilderComp),this.eBuilderDialog=this.createBean(new Dialog({title:this.advFilterExpSvc.translate("advancedFilterBuilderTitle"),component:this.eBuilderComp,width:n,height:o,resizable:!0,movable:!0,maximizable:!l,centered:!0,closable:!0,minWidth:a,afterGuiAttached:()=>this.eBuilderComp?.afterGuiAttached(),postProcessPopupParams:{type:"advancedFilterBuilder",eventSource:r}})),this.dispatchFilterBuilderVisibleChangedEvent(t,!0),this.eBuilderDialog.addEventListener("destroyed",()=>{this.destroyBean(this.eBuilderComp),this.eBuilderComp=void 0,this.eBuilderDialog=void 0,this.setInputDisabled(!1),this.dispatchLocalEvent({type:"advancedFilterBuilderClosed"}),this.dispatchFilterBuilderVisibleChangedEvent(this.builderDestroySource??"ui",!1),this.builderDestroySource=void 0})}dispatchFilterBuilderVisibleChangedEvent(e,t){this.eventSvc.dispatchEvent({type:"advancedFilterBuilderVisibleChanged",source:e,visible:t})}getBuilderDialogSize(){const e=this.gos.get("advancedFilterBuilderParams")?.minWidth??500,t=this.popupSvc.getPopupParent(),i=Math.round((0,import_ag_stack52._getAbsoluteWidth)(t))-2,r=Math.round((0,import_ag_stack52._getAbsoluteHeight)(t)*.75)-2,n=(0,import_ag_grid_community50._clamp)(700,e,i),o=Math.min(600,r);return{width:n,height:o,minWidth:e}}onEnabledChanged(e){this.enabled=e,this.updateComps()}updateComps(){this.setAdvancedFilterComp(),this.syncHeaderComp(),this.eventSvc.dispatchEvent({type:"headerHeightChanged"})}setAdvancedFilterComp(){if(this.destroyFilterComp(),!this.enabled)return;const e=this.gos.get("advancedFilterParent");if(this.hasAdvancedFilterParent=!!e,e){const t=this.createBean(new AdvancedFilterComp),i=t.getGui();this.disconnectFilterComp=(0,import_ag_stack52._initStyledRoot)(this.environment,e,i),this.eFilterComp=t}}syncHeaderComp(){const e=this.headerCompHost;if(!e)return;if(!(this.enabled&&!this.hasAdvancedFilterParent)){if(!this.eHeaderComp)return;e.unmountComp(this.eHeaderComp.getGui()),this.destroyBean(this.eHeaderComp),this.eHeaderComp=void 0;return}this.eHeaderComp||(this.eHeaderComp=this.createManagedBean(new AdvancedFilterHeaderComp(!0)),e.mountComp(this.eHeaderComp.getGui())),this.eHeaderComp.refreshLayout()}destroyFilterComp(){this.disconnectFilterComp?.(),this.destroyBean(this.eFilterComp)}},OperatorParser2=class{constructor(e){this.params=e,this.operators=[],this.operatorStartPositions=[],this.operatorEndPositions=[],this.activeOperator=0,this.validationError=null}parseExpression(e){this.operators.push(""),this.operatorStartPositions.push(e),this.operatorEndPositions.push(void 0);const{expression:t}=this.params;for(;e<t.length;){const i=t[e];if(i===" "){if(this.parseOperator(e-1))return this.activeOperator++,e-1;this.operators[this.activeOperator]+=i}else this.operators[this.activeOperator]+=i;e++}return this.parseOperator(e-1),e}isValid(){return!this.validationError&&(!this.operators.length||!!this.parsedOperator)}getValidationError(){return this.validationError}getFunction(){return this.parsedOperator==="OR"?"||":"&&"}getModel(){return this.parsedOperator==="OR"?"OR":"AND"}getAutocompleteListParams(e,t){let i;if(t==null)i="";else{const n=this.operators[t],o=this.operatorEndPositions[t];i=getSearchString(n,e,o==null?this.params.expression.length:o+1)}let r=this.params.advFilterExpSvc.getJoinOperatorAutocompleteEntries();return(t||t==null&&this.activeOperator)&&(r=r.filter(({key:n})=>n===this.parsedOperator)),this.params.advFilterExpSvc.generateAutocompleteListParams(r,"join",i)}updateExpression(e,t,i){let{expression:r}=this.params;const n=t.displayValue??t.key;if(i===0)for(let l=this.operatorEndPositions.length-1;l>0;l--){const c=this.operatorEndPositions[l];c!=null&&(r=updateExpression(r,this.operatorStartPositions[l],c,n).updatedValue)}const o=this.operatorStartPositions.length>i?this.operatorStartPositions[i]:e,a=(this.operatorEndPositions.length>i?this.operatorEndPositions[i]:void 0)??findEndPosition(r,e,!0).endPosition;return updateExpression(r,o,a,n,!0)}getNumOperators(){return this.operators.length}getLastOperatorEndPosition(){return this.operatorEndPositions[this.operatorEndPositions.length-1]}parseOperator(e){const t=this.operators.length>this.activeOperator?this.operators[this.activeOperator]:"",i=this.params.advFilterExpSvc.getExpressionJoinOperators(),r=findMatch(t,i,n=>n);if(r){this.operatorEndPositions[this.activeOperator]=e;const n=i[r];if(this.activeOperator){if(r!==this.parsedOperator)return this.validationError||(this.validationError={message:this.params.advFilterExpSvc.translate("advancedFilterValidationJoinOperatorMismatch"),startPosition:e-t.length+1,endPosition:e}),!1}else this.parsedOperator=r;return t!==n&&(checkAndUpdateExpression(this.params,t,n,e),this.operators[this.activeOperator]=n),!0}else return r===null?!1:(this.validationError||(this.validationError={message:this.params.advFilterExpSvc.translate("advancedFilterValidationInvalidJoinOperator"),startPosition:e-t.length+1,endPosition:e}),!0)}},JoinFilterExpressionParser=class ue{constructor(t,i){this.params=t,this.startPosition=i,this.expectingExpression=!0,this.expectingOperator=!1,this.expressionParsers=[],this.operatorParser=new OperatorParser2(this.params),this.missingEndBracket=!1,this.extraEndBracket=!1}parseExpression(){let t=this.startPosition;const{expression:i}=this.params;for(;t<i.length;){const r=i[t];if(r==="("&&!this.expectingOperator){const n=new ue(this.params,t+1);t=n.parseExpression(),this.expressionParsers.push(n),this.expectingExpression=!1,this.expectingOperator=!0}else{if(r===")")return this.endPosition=t-1,this.startPosition===0&&(this.extraEndBracket=!0),t;if(r!==" ")if(this.expectingExpression){const n=new ColFilterExpressionParser(this.params,t);t=n.parseExpression(),this.expressionParsers.push(n),this.expectingExpression=!1,this.expectingOperator=!0}else this.expectingOperator&&(t=this.operatorParser.parseExpression(t),this.expectingOperator=!1,this.expectingExpression=!0)}t++}return this.startPosition>0&&(this.missingEndBracket=!0),t}isValid(){return!this.missingEndBracket&&!this.extraEndBracket&&this.expressionParsers.length===this.operatorParser.getNumOperators()+1&&this.operatorParser.isValid()&&this.expressionParsers.every(t=>t.isValid())}getValidationError(){const t=this.operatorParser.getValidationError();for(let r=0;r<this.expressionParsers.length;r++){const n=this.expressionParsers[r].getValidationError();if(n)return t&&t.startPosition<n.startPosition?t:n}if(t)return t;if(this.extraEndBracket)return{message:this.params.advFilterExpSvc.translate("advancedFilterValidationExtraEndBracket"),startPosition:this.endPosition+1,endPosition:this.endPosition+1};let i;return this.expressionParsers.length===this.operatorParser.getNumOperators()?i="advancedFilterValidationMissingCondition":this.missingEndBracket&&(i="advancedFilterValidationMissingEndBracket"),i?{message:this.params.advFilterExpSvc.translate(i),startPosition:this.params.expression.length,endPosition:this.params.expression.length}:null}getFunction(t){const i=this.operatorParser.getFunction(),r=this.expressionParsers.map(o=>o.getFunction(t)),n=i==="&&"?"every":"some";return(o,a,l)=>r[n](c=>c(o,a,l))}getAutocompleteListParams(t){if(this.endPosition!=null&&t>this.endPosition+1)return;if(!this.expressionParsers.length)return this.getColumnAutocompleteListParams();const i=this.getExpressionParserIndex(t);if(i==null)return this.params.expression[t]==="("?{enabled:!1}:this.getColumnAutocompleteListParams();const n=this.expressionParsers[i].getAutocompleteListParams(t);if(!n){if(i<this.expressionParsers.length-1)return this.operatorParser.getAutocompleteListParams(t,i);if(this.expressionParsers.length===this.operatorParser.getNumOperators()){const o=this.operatorParser.getLastOperatorEndPosition();return o==null||t<=o+1?this.operatorParser.getAutocompleteListParams(t,this.operatorParser.getNumOperators()-1):this.getColumnAutocompleteListParams()}return this.params.expression[t-1]===")"?{enabled:!1}:this.operatorParser.getAutocompleteListParams(t)}return n}updateExpression(t,i,r){const n=this.params.expression,o=this.getExpressionParserIndex(t);if(o==null){const c=r==="column"?this.params.advFilterExpSvc.getColumnValue(i):i.displayValue??i.key;return updateExpression(n,this.startPosition,this.startPosition,c,!0)}const l=this.expressionParsers[o].updateExpression(t,i,r);return l??(r==="column"?updateExpression(n,t,n.length-1,this.params.advFilterExpSvc.getColumnValue(i),!0):this.endPosition!=null&&t>this.endPosition+1?null:this.operatorParser.updateExpression(t,i,o))}getModel(t){return this.expressionParsers.length>1?{filterType:"join",type:this.operatorParser.getModel(),conditions:this.expressionParsers.map(i=>i.getModel(t))}:this.expressionParsers[0].getModel(t)}getColumnAutocompleteListParams(){return this.params.advFilterExpSvc.generateAutocompleteListParams(this.params.advFilterExpSvc.getColumnAutocompleteEntries(),"column","")}getExpressionParserIndex(t){let i;for(let r=0;r<this.expressionParsers.length&&!(this.expressionParsers[r].startPosition>t);r++)i=r;return i}},FilterExpressionParser=class{constructor(e){this.params=e,this.valid=!1}parseExpression(){this.joinExpressionParser=new JoinFilterExpressionParser(this.params,0);const e=this.joinExpressionParser.parseExpression();return this.valid=e>=this.params.expression.length-1&&this.joinExpressionParser.isValid(),this.params.expression}isValid(){return this.valid}getValidationMessage(){const e=this.joinExpressionParser.getValidationError();if(!e)return null;const{message:t,startPosition:i,endPosition:r,selfContained:n}=e;return n?this.params.advFilterExpSvc.translate("advancedFilterValidationMessageOnly",[t]):i<this.params.expression.length?this.params.advFilterExpSvc.translate("advancedFilterValidationMessage",[t,this.params.expression.slice(i,r+1).trim()]):this.params.advFilterExpSvc.translate("advancedFilterValidationMessageAtEnd",[t])}getFunction(){const e=this.createFunctionParams();return{expressionFunction:this.joinExpressionParser.getFunction(e),params:e}}stripRedundantSeparators(e){const t=this.params.redundantSeparators;if(!t)return null;let i=this.params.expression,r=!1;for(let n=t.length-1;n>=0;--n){const{startPosition:o,endPosition:a}=t[n];e>a+1&&(i=i.slice(0,o)+i.slice(a+1),r=!0)}return r?i:null}getAutocompleteListParams(e){return this.joinExpressionParser.getAutocompleteListParams(e)??{enabled:!1}}updateExpression(e,t,i){return this.joinExpressionParser.updateExpression(e,t,i)}getModel(e){return this.isValid()?this.joinExpressionParser.getModel(e):null}createFunctionParams(){return{operands:[],operators:[],evaluatorParams:[]}}},AdvancedFilterService=class extends import_ag_grid_community51.BeanStub{constructor(){super(...arguments),this.beanName="advancedFilter",this.appliedExpression=null,this.appliedModel=null,this.appliedBuilderModel=null,this.appliedTextUnresolved=!1,this.expression=null,this.isValid=!0}wireBeans(e){this.valueSvc=e.valueSvc,this.colModel=e.colModel,this.dataTypeSvc=e.dataTypeSvc,this.advFilterExpSvc=e.advFilterExpSvc,this.advFilterSetSvc=e.advFilterSetSvc,this.filterValueSvc=e.filterValueSvc,this.filterManager=e.filterManager}postConstruct(){this.setEnabled(this.gos.get("enableAdvancedFilter"),!0),this.ctrl=this.createManagedBean(new AdvancedFilterCtrl(this.enabled)),this.expressionProxy={getValue:(e,t)=>{const i=this.colModel.getNonPivotColById(e);return i?this.filterValueSvc.getValue(i,t):void 0}},this.addManagedPropertyListener("enableAdvancedFilter",e=>this.setEnabled(!!e.currentValue)),this.addManagedPropertyListener("includeHiddenColumnsInAdvancedFilter",()=>this.revalidateAndApply()),this.addManagedEventListeners({dataTypesInferred:()=>this.revalidateAndApply()}),this.addManagedListeners(this.advFilterSetSvc,{valuesChanged:()=>this.refreshAppliedExpressionText()})}revalidateAndApply(){this.updateValidity()&&this.filterManager?.onFilterChanged({source:"advancedFilter"})}isEnabled(){return this.enabled}isFilterPresent(){return!!this.expressionFunction}doesFilterPass(e){return this.expressionFunction(this.expressionProxy,e,this.expressionParams)}getModel(){return cloneModel(this.appliedModel)}getBuilderModel(){return cloneModel(this.appliedBuilderModel)}modelToExpression(e,t){if(e.filterType==="join"){const i=this.advFilterExpSvc.parseJoinOperator(e),r=e.conditions.map(n=>this.modelToExpression(n)).filter(n=>n!=null&&n!=="").join(` ${i} `);return t||e.conditions.length<=1?r:`(${r})`}return this.advFilterExpSvc.parseColumnFilterModel(e)}writeExpression(e){const t=this.advFilterExpSvc;t.wroteUnresolvedSetValue=!1;const i=e?this.modelToExpression(e,!0):null;return this.appliedTextUnresolved=t.wroteUnresolvedSetValue,i}refreshAppliedExpressionText(){if(!this.appliedTextUnresolved)return;const e=this.appliedModel;if(!e||this.expression!==this.appliedExpression)return;const t=this.writeExpression(e);t!==this.expression&&(this.expression=t,this.appliedExpression=t),this.ctrl.refreshComp()}setModel(e){const t=this.writeExpression(e),i=this.appliedTextUnresolved;this.setExpressionDisplayValue(t),this.applyExpression(),this.appliedTextUnresolved=i,this.ctrl.refreshComp(),this.ctrl.refreshBuilderComp()}getExpressionDisplayValue(){return this.expression}setExpressionDisplayValue(e){this.expression=e}isCurrentExpressionApplied(){return this.appliedExpression===this.expression}createExpressionParser(e){return e?new FilterExpressionParser({expression:e,gos:this.gos,colModel:this.colModel,dataTypeSvc:this.dataTypeSvc,valueSvc:this.valueSvc,advFilterExpSvc:this.advFilterExpSvc,advFilterSetSvc:this.advFilterSetSvc}):null}getDefaultExpression(e){const t=this.advFilterExpSvc.getColumnValue(e)+" ";return{updatedValue:t,updatedPosition:t.length}}isHeaderActive(){return!this.gos.get("advancedFilterParent")}getCtrl(){return this.ctrl}setEnabled(e,t){const i=this.enabled,r=(0,import_ag_grid_community51._isClientSideRowModel)(this.gos)||(0,import_ag_grid_community51._isServerSideRowModel)(this.gos);e&&!r&&this.warn(123),this.enabled=e&&r,!t&&this.enabled!==i&&this.eventSvc.dispatchEvent({type:"advancedFilterEnabledChanged",enabled:this.enabled})}applyExpression(){const e=this.createExpressionParser(this.expression);e?.parseExpression(),this.applyExpressionFromParser(e)}getAppliedExpressionDisplayValue(){return this.appliedExpression}applyExpressionFromParser(e){if(this.appliedTextUnresolved=!1,this.isValid=!e||e.isValid(),!e||!this.isValid){this.expressionFunction=null,this.expressionParams=null,this.appliedExpression=null,this.appliedModel=null,this.appliedBuilderModel=null;return}const{expressionFunction:t,params:i}=e.getFunction();this.expressionFunction=t,this.expressionParams=i,this.appliedExpression=this.expression,this.appliedModel=e.getModel(),this.appliedBuilderModel=e.getModel(!0)}updateValidity(){this.advFilterExpSvc.resetColumnCaches();const e=this.createExpressionParser(this.expression);e?.parseExpression();const t=!e||e.isValid(),i=this.isValid,r=this.appliedExpression,n=!!this.expressionFunction;return t&&e?.getValidationMessage()?this.isValid=!0:this.applyExpressionFromParser(e),this.ctrl.refreshComp(),this.ctrl.refreshBuilderComp(),t!==i||this.appliedExpression!==r||!!this.expressionFunction!==n}},cloneModel=e=>{if(!e)return null;if(e.filterType==="join"){const t=e.conditions,i=t.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=cloneModel(t[n]);return{...e,conditions:r}}return e.filterType==="set"?{...e,values:[...e.values]}:{...e}},import_ag_stack54=require("ag-stack"),import_ag_grid_community54=require("ag-grid-community"),import_ag_stack53=require("ag-stack"),import_ag_grid_community52=require("ag-grid-community"),DEFAULT_LOCALE_TEXT={loadingOoo:"Loading...",blanks:"(Blanks)",searchOoo:"Search...",selectAll:"(Select All)",selectAllSearchResults:"(Select All Search Results)",addCurrentSelectionToFilter:"Add current selection to filter",noMatches:"No matches.",ariaSearchFilterValues:"Search filter values",ariaFilterList:"Filter List",filterSummaryListInactive:"is (All)",filterSummaryListSeparator:", ",filterSummaryListShort:e=>`is (${e[0]})`,filterSummaryListLong:e=>`is (${e[0]}) and ${e[1]} more`},unformattedSetFilterText=e=>e??null;function processDataPath(e,t,i){let r=e;return r?(r=r.map(n=>(0,import_ag_stack53._toStringOrNull)(setFilterNullIfBlank(n))),!t&&i&&r.some(n=>n==null)?(0,import_ag_stack53._last)(r)==null?null:r.filter(n=>n!=null):r):null}function setFilterNullIfBlank(e){return e==null||(0,import_ag_grid_community52._isBlank)(e)?null:e}function setFilterFormattedValue(e,t,i,r){return e.valueSvc.formatValue(t,null,i,r,!1)}function translateForSetFilter(e,t,i){return(0,import_ag_stack53._translate)(e,DEFAULT_LOCALE_TEXT,t,i)}function applyExcelModeOptions(e,t){e.excelMode==="windows"?(e.buttons||(e.buttons=["apply","cancel"]),e.closeOnApply==null&&(e.closeOnApply=!0)):e.excelMode==="mac"&&(e.buttons||(e.buttons=["reset"]),e.applyMiniFilterWhileTyping==null&&(e.applyMiniFilterWhileTyping=!0),e.debounceMs==null&&(e.debounceMs=500)),e.excelMode&&e.defaultToNothingSelected&&(e.defaultToNothingSelected=!1,t.log.warn(207))}function createTreeDataOrGroupingComparator(){return([e,t],[i,r])=>{if(t==null)return r==null?0:-1;if(r==null)return 1;for(let n=0;n<t.length;n++){if(n>=r.length)return 1;const o=(0,import_ag_stack53._defaultComparator)(t[n],r[n]);if(o!==0)return o}return 0}}var import_ag_grid_community53=require("ag-grid-community"),deEmphasisePrefix=(e,t)=>{const i=(0,import_ag_grid_community53._createElement)({tag:"span",cls:"ag-autocomplete-row-path-parent"});let r=t;for(;r>0&&e.firstChild;){const n=e.firstChild,o=n.textContent??"";if(o.length<=r){r-=o.length,i.appendChild(n);continue}const a=n.cloneNode(!1);a.textContent=o.slice(0,r),n.textContent=o.slice(r),i.appendChild(a),r=0}e.prepend(i)},AgSetValueAutocompleteRow=class extends AgAutocompleteRow{constructor(e,t,i){super(),this.parentLength=t,this.createCellRenderer=i,this.rendererOwnsLabel=!1,this.value=e}postConstruct(){this.render()}setSearchString(e){this.rendererOwnsLabel||super.setSearchString(e)}render(){const e=this.createCellRenderer?.();if(!e){super.render();return}const t=this.getLabel();t.textContent="",this.rendererOwnsLabel=!0,e.newAgStackInstance().then(i=>{if(!this.isAlive()){this.destroyBean(i);return}this.addDestroyFunc(()=>this.destroyBean(i)),t.appendChild(i.getGui()),this.afterLabelRendered()})}afterLabelRendered(){const e=this.parentLength;if(!e)return;const t=this.getLabel();if(!this.rendererOwnsLabel){deEmphasisePrefix(t,e);return}t.prepend((0,import_ag_grid_community53._createElement)({tag:"span",cls:"ag-autocomplete-row-path-parent",children:this.value.slice(0,e)}))}},isSetValueEntry=e=>"path"in e,SET_VALUE_AUTOCOMPLETE_TYPE="set-value",PATH_JOINER="\0",NO_ENTRIES=[],AdvancedFilterSetService=class extends import_ag_grid_community54.BeanStub{constructor(){super(...arguments),this.beanName="advFilterSetSvc",this.columns=new Map,this.listCount=0}wireBeans(e){this.registry=e.registry,this.userCompFactory=e.userCompFactory}postConstruct(){const e=()=>this.refreshColumns();this.addManagedEventListeners({newColumnsLoaded:e,columnRowGroupChanged:e,columnPivotModeChanged:e,columnPivotChanged:e,rowDataUpdated:()=>this.onNewRowsLoaded()}),this.addManagedPropertyListeners(["treeData"],e),this.addDestroyFunc(()=>this.reset())}refreshColumns(){const e=this.columns;for(const[t,i]of e){const r=this.beans.colModel.getNonPivotColById(t);if(i&&r&&this.offersSetOperators(r)){const n=i.handler;n.refresh(this.createHandlerParams(r,"colDef")),n.onNewRowsLoaded(),i.values=null;continue}i&&this.destroyColumn(i),e.delete(t)}this.invalidateList()}onNewRowsLoaded(){for(const e of this.columns.values())e?.handler.onNewRowsLoaded()}offersSetOperators(e){if(!e)return!1;if(namesSetOperator(e))return this.gos.assertModuleRegistered("SetFilter",4);if(!this.gos.isModuleRegistered("SetFilter"))return!1;const t=e.colDef;return(this.isSetFilterDef(e)||t.filter==="agMultiColumnFilter"&&!!getMultiFilterChild(t.filterParams,"agSetColumnFilter"))&&this.hasSetFilterValues(e)}hasSetFilterValues(e){if((0,import_ag_grid_community54._isClientSideRowModel)(this.gos))return!0;const t=this.getSetColDef(e).filterParams;return!!(typeof t=="function"?this.createHandlerParams(e,"init").filterParams:t)?.values}hasSetFilter(e){return!!e&&this.gos.isModuleRegistered("SetFilter")&&this.isSetFilterDef(e)}isSetFilterDef(e){const t=e.colDef.filter;return t==="agSetColumnFilter"||t===!0&&(0,import_ag_grid_community54._isSetFilterByDefault)(this.gos)}getKeys(e,t){const i=this.getSetColumn(e),r=i&&this.getValues(i);if(!r)return;const n=i.handler.caseFormat(joinPath(t)),o=r.keysByPath.get(n);if(o===void 0)return;const a=r.sharedKeysByPath.get(n);return a?[o,...a]:[o]}getPath(e,t){const i=this.getSetColumn(e);return(i&&this.getValues(i))?.pathsByKey.get(i.handler.caseFormat(t))}getAllKeys(e){const t=this.getSetColumn(e);return t&&this.getValues(t)?t.keys:void 0}refreshValuesOnFocus(){for(const[e,t]of this.columns)t?.handler.params.filterParams.refreshValuesOnOpen&&(t.handler.refreshFilterValues(),this.invalidateValues(e))}getBlankLabel(e){const t=this.getSetColumn(e);return t?translateForSetFilter(t.handler,"blanks"):void 0}getAutocompleteList(e,t){const i=e.getColId(),r=this.list;if(r?.colId===i&&sameKeys(r.usedKeys,t))return r;const n=this.getSetColumn(e),o=n&&this.getValues(n),a=o?.entries??NO_ENTRIES;let l=a;if(t.size){l=[];for(let u=0,d=a.length;u<d;++u){const h=a[u];t.has(h.setKey)||l.push(h)}}const c={type:`${SET_VALUE_AUTOCOMPLETE_TYPE}-${++this.listCount}`,colId:i,usedKeys:t,entries:l,isTree:!!n?.handler.params.filterParams.treeList,loading:!!n&&!o,rowComponentCreator:o?this.createRowCreator(e,n.handler):void 0};return o&&(this.list=c),c}writePath(e,t){if(t.length<2)return quoteSetValue(t[0]);const i=writeSetPath(t);return(0,import_ag_stack54._areEqual)(splitSetPath(i),t)&&!this.getKeys(e,[i])?quoteSetValue(i):quoteSetPath(t)}writeEntry(e,t){return isSetValueEntry(t)?this.writePath(e,t.path):quoteSetValue(t.key)}isSetValueType(e){return!!e?.startsWith(`${SET_VALUE_AUTOCOMPLETE_TYPE}-`)}createRowCreator(e,t){const i=t.params.filterParams,r=i.cellRenderer;if(!r&&!i.treeList)return;const n=e.getColDef(),o=!!i.treeList;return a=>{const l=a.displayValue??a.key,c=isSetValueEntry(a)?a:void 0,u=c?(0,import_ag_stack54._last)(c.path):l,d=o&&c&&c.path.length>1?l.length-u.length:0,h=r?()=>(0,import_ag_grid_community54._getCellRendererDetails)(this.userCompFactory,i,(0,import_ag_grid_community54._addGridCommonParams)(this.gos,{value:o||!c?u:t.valueModel.allValues.get(c.setKey),valueFormatted:u,colDef:n,column:e})):void 0;return new AgSetValueAutocompleteRow(l,d,h)}}createMatcher(e,t){const i=this.getSetColumn(e)?.handler;return i?i.createKeysMatcher(t):()=>{}}getValues(e){if(e.values)return e.values;const t=e.handler.valueModel.allKeys;if(e.keysPromise!==t){e.keysPromise=t,e.keys=void 0;let r=!1;t.then(n=>{e.keys=n??[],r&&this.invalidateList()}),r=!0}const i=e.keys;return i?(e.values=e.handler.params.filterParams.treeList?buildTreeValues(e,i):buildFlatValues(e,i),e.values):null}getSetColumn(e){const t=e.getColId(),i=this.columns,r=i.get(t);if(r!==void 0)return r;const n=this.createSetColumn(e);return i.set(t,n),n}createSetColumn(e){if(!this.offersSetOperators(e))return null;const t=this.registry.createDynamicBean("agSetColumnFilterHandler",!1);if(!t)return null;const i=this.createBean(t);i.init(this.createHandlerParams(e,"init"));const r=e.getColId(),[n]=this.addManagedListeners(i,{dataChanged:()=>this.invalidateValues(r)});return{handler:i,values:null,removeListener:n}}destroyColumn(e){e.removeListener(),this.destroyBean(e.handler)}createFilterUi(e,t,i){const r=this.getSetColumn(e)?.handler;if(!r)return;const n={...this.createSharedParams(e),buttons:[],model:t,state:{model:t},onStateChange:o=>{n.model=o.model,i(o.model)},onModelChange:()=>{},onAction:()=>{},onUiChange:()=>{},getHandler:()=>r,filterChangedCallback:()=>{},filterModifiedCallback:()=>{},source:"init"};return(0,import_ag_grid_community54._getFilterDetails)(this.userCompFactory,this.getSetColDef(e),n,"agSetColumnFilter")}createSharedParams(e){return this.beans.colFilter.createBaseFilterParams(e,!0)}getSetColDef(e){const t=e.getColDef();if(this.hasSetFilter(e))return t;const i=t.filter==="agMultiColumnFilter"?getMultiFilterChild(t.filterParams,"agSetColumnFilter"):void 0;return{...t,filter:"agSetColumnFilter",filterParams:i?.filterParams}}createHandlerParams(e,t){const i=this.getSetColDef(e),r={...this.createSharedParams(e),model:null,source:t,onModelChange:()=>{},onModelAsStringChange:()=>{},filterChangedCallback:()=>{},filterModifiedCallback:()=>{},filterParams:i.filterParams};return r.filterParams=(0,import_ag_grid_community54._mergeFilterParamsWithApplicationProvidedParams)(this.userCompFactory,i,r),r}invalidateValues(e){const t=this.columns.get(e);t&&(t.values=null,this.invalidateList())}invalidateList(){this.list=void 0,this.dispatchLocalEvent({type:"valuesChanged"})}reset(){for(const e of this.columns.values())e&&this.destroyColumn(e);this.columns.clear(),this.list=void 0}},joinPath=e=>e.join(PATH_JOINER),createValues=()=>({keysByPath:new Map,sharedKeysByPath:new Map,pathsByKey:new Map}),createEntry=(e,t,i)=>{const r=joinSetPath(e),n=i?joinSetPath(splitSetPath(r)):r;return{key:r,setKey:t,path:e,searchValue:n===r?void 0:n}},addLeaf=(e,t,i,r,n,o)=>{const{keysByPath:a,sharedKeysByPath:l,pathsByKey:c}=t,u=i.length-1,d=r[0];let h=e.caseFormat(joinPath(i));a.has(h)&&(i[u]=d??"",h=e.caseFormat(joinPath(i))),c.set(e.caseFormat(d),i),a.has(h)?(0,import_ag_stack54._pushToMapArray)(l,h,d):(a.set(h,d),n?.push(createEntry(i,d,o)));for(let p=1,g=r.length;p<g;++p){const f=r[p];c.set(e.caseFormat(f),i),(0,import_ag_stack54._pushToMapArray)(l,h,f)}},buildFlatValues=(e,t)=>{const i=e.handler,r=[],n=createValues();for(let o=0,a=t.length;o<a;++o){const l=t[o];addLeaf(i,n,[i.getFormattedValue(l)??""],[l],r,!1)}return{entries:r,...n}},buildTreeValues=(e,t)=>{const i=e.handler,r=i.params.filterParams.treeListFormatter,n=[],o=createValues(),a=(l,c)=>{for(const u of l.values()){const d=(r?r(u.treeKey,u.depth,u.parentTreeKeys):u.treeKey)??translateForSetFilter(i,"blanks"),h=[...c,d],p=u.children,g=u.keys;if(p?.size){a(p,h),g&&addLeaf(i,o,h,g,null,!0);continue}g&&addLeaf(i,o,h,g,n,!0)}};return a(i.createDisplayValueTree(t),[]),{entries:n,...o}},sameKeys=(e,t)=>{if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0},AdvancedFilterModule={moduleName:"AdvancedFilter",version:VERSION,beans:[AdvancedFilterService,AdvancedFilterExpressionService,AdvancedFilterSetService],icons:{advancedFilterBuilder:"group",advancedFilterBuilderDrag:"grip",advancedFilterBuilderInvalid:"not-allowed",advancedFilterBuilderMoveUp:"up",advancedFilterBuilderMoveDown:"down",advancedFilterBuilderAdd:"plus",advancedFilterBuilderRemove:"minus",advancedFilterBuilderSelectOpen:"small-down",richSelectRemove:"cancel",richSelectLoading:"loading"},apiFunctions:{getAdvancedFilterModel,setAdvancedFilterModel,showAdvancedFilterBuilder,hideAdvancedFilterBuilder},dependsOn:[EnterpriseCoreModule,import_ag_grid_community55._FilterCoreModule,import_ag_grid_community55._SharedDragAndDropModule,import_ag_grid_community55._PopupModule,import_ag_grid_community55._FilterValueModule,import_ag_grid_community55.TooltipModule],css:[advanced_filter_default]},import_ag_grid_community58=require("ag-grid-community"),import_ag_grid_community57=require("ag-grid-community"),BaseSchemaBuilder=class{constructor(e){this._defs={},this._nullable=!1,this.description=e}_collectNestedDefs(e){const t={...this._defs};for(const i of e)i&&typeof i=="object"&&"$defs"in i&&(Object.assign(t,i.$defs),delete i.$defs);return t}_toJSON(e={}){const t={type:this._nullable?[this.type,"null"]:this.type,description:this.description,...e};return Object.keys(this._defs).length>0&&(t.$defs=this._defs),t}nullable(){return this._nullable=!0,this}define(e,t){return this._defs[e]=t,this}},StringSchemaBuilder=class extends BaseSchemaBuilder{constructor(e){super(typeof e=="string"?e:e?.description),this.type="string",typeof e=="object"&&e&&(this._pattern=e.pattern,this._format=e.format)}pattern(e){return this._pattern=e,this}format(e){return this._format=e,this}toJSON(){return this._toJSON({pattern:this._pattern,format:this._format})}},NumberSchemaBuilder=class extends BaseSchemaBuilder{constructor(e){super(typeof e=="string"?e:e?.description),this.type="number",typeof e=="object"&&e&&(this._minimum=e.minimum,this._maximum=e.maximum,this._exclusiveMinimum=e.exclusiveMinimum,this._exclusiveMaximum=e.exclusiveMaximum,this._multipleOf=e.multipleOf)}minimum(e){return this._minimum=e,this}exclusiveMinimum(e){return this._exclusiveMinimum=e,this}maximum(e){return this._maximum=e,this}exclusiveMaximum(e){return this._exclusiveMaximum=e,this}multipleOf(e){return this._multipleOf=e,this}toJSON(){return this._toJSON({minimum:this._minimum,exclusiveMinimum:this._exclusiveMinimum,maximum:this._maximum,exclusiveMaximum:this._exclusiveMaximum,multipleOf:this._multipleOf})}},EnumSchemaBuilder=class extends BaseSchemaBuilder{constructor(e,t){super(t),this._enum=e,this.type="string"}toJSON(){return this._toJSON({enum:this._enum})}},LiteralSchemaBuilder=class extends EnumSchemaBuilder{constructor(e,t){super([e],t)}},BooleanSchemaBuilder=class extends BaseSchemaBuilder{constructor(e){super(e),this.type="boolean"}toJSON(){return this._toJSON()}},ArraySchemaBuilder=class extends BaseSchemaBuilder{constructor(e,t){super(typeof t=="string"?t:t?.description),this.items=e,this.type="array",typeof t=="object"&&t&&(this._minItems=t.minItems,this._maxItems=t.maxItems)}minItems(e){return this._minItems=e,this}maxItems(e){return this._maxItems=e,this}toJSON(){const e=this.items.toJSON(),t=this._collectNestedDefs([e]);return this._defs=t,this._toJSON({items:e,minItems:this._minItems,maxItems:this._maxItems})}},ObjectSchemaBuilder=class extends BaseSchemaBuilder{constructor(e,t){super(t),this.properties=e,this.type="object"}toJSON(){const e=Object.fromEntries(Object.keys(this.properties).map(i=>[i,this.properties[i].toJSON()])),t=this._collectNestedDefs(Object.values(e));return this._defs=t,this._toJSON({required:Object.keys(this.properties),additionalProperties:!1,properties:e})}},UnionSchemaBuilder=class{constructor(e,t){this.schemas=e,this._nullable=!1,this._defs={},this.description=t}nullable(){return this._nullable=!0,this}define(e,t){return this._defs[e]=t,this}_collectNestedDefs(e){const t=this._defs;for(const i of e)i&&typeof i=="object"&&"$defs"in i&&(Object.assign(t,i.$defs),delete i.$defs);return t}toJSON(){const e=this.schemas.map(r=>r.toJSON()),t=this._collectNestedDefs(e),i={anyOf:this._nullable?[...e,{type:"null"}]:e};return this.description&&(i.description=this.description),Object.keys(t).length>0&&(i.$defs=t),i}},ReferenceSchemaBuilder=class{constructor(e){this.id=e}nullable(){return this}toJSON(){return{$ref:`#/$defs/${this.id}`}}},s={string:e=>new StringSchemaBuilder(e),number:e=>new NumberSchemaBuilder(e),enum:(e,t)=>new EnumSchemaBuilder(e,t),boolean:e=>new BooleanSchemaBuilder(e),array:(e,t)=>new ArraySchemaBuilder(e,t),object:(e,t)=>new ObjectSchemaBuilder(e,t),union:(e,t)=>new UnionSchemaBuilder(e,t),literal:(e,t)=>new LiteralSchemaBuilder(e,t),ref:e=>new ReferenceSchemaBuilder(e)},buildAggregationFeatureSchema=e=>{const{aggFuncSvc:t}=e;if(!t)return;const r=e.colModel.getCols().filter(n=>n.isAllowValue()&&t.getFuncNames(n).length>0);if(r.length!==0)return s.object({aggregationModel:s.array(s.union(r.map(n=>s.object({colId:s.literal(n.colId,"Column identifier"),aggFunc:s.enum(e.aggFuncSvc?.getFuncNames(n)||[],"Aggregation function")}))),"Array of column aggregations")},"Aggregation configuration for the grid").nullable()},buildColumnSizingFeatureSchema=e=>{const i=e.colModel.getCols().filter(n=>n.isResizable());if(i.length===0)return;const r=i.map(n=>n.colId);return s.object({columnSizingModel:s.array(s.union([s.object({colId:s.ref("resizableColumnId"),width:s.number("Fixed width in pixels").minimum(20)}),s.object({colId:s.ref("resizableColumnId"),flex:s.number("Flex sizing ratio").minimum(0)})]),"Array of column sizing configurations")},"Column sizing configuration for the grid").define("resizableColumnId",s.enum(r,"Column ID that supports resizing"))},buildColumnVisibilityFeatureSchema=()=>s.object({hiddenColIds:s.array(s.ref("allColumnIds"),"Array of column IDs to hide")},"Column visibility configuration for the grid").nullable(),import_ag_grid_community56=require("ag-grid-community"),import_ag_stack55=require("ag-stack");function getColumnOperatorKeysByOperands(e,t,i){const r=e.getColumnOperators(i,t),n=r?.operators.getEntries(r.activeOperators)??[],o=new Map;for(let a=0,l=n.length;a<l;++a){const c=n[a].key,u=(0,import_ag_stack55._getOwn)(r.operators.operators,c)?.operands??"none",d=o.get(u);d?d.push(c):o.set(u,[c])}return o}var buildAdvancedFilterFeatureSchema=({colModel:e,dataTypeSvc:t,advFilterExpSvc:i})=>{if(!t||!i)return;const r=i,n=e.getCols(),o=new Map;for(const d of n){const h=t.getBaseDataType(d);if(!h)continue;getColumnOperatorKeysByOperands(r,d,h).forEach((g,f)=>{const m=f==="list"?"set":h,v=`${m} ${f} ${JSON.stringify(g)}`,C=o.get(v);C?C.colIds.push(d.colId):o.set(v,{schemaName:m,operatorKeys:g,operands:f,colIds:[d.colId]})})}const a=[],l={},c={};for(const d of o.values()){const h=d.schemaName,p=(c[h]??0)+1;c[h]=p;const g=`${h}AdvancedFilterModel${p>1?p:""}`;l[g]=buildFilterSchema(d).toJSON(),a.push({$ref:`#/$defs/${g}`})}l.joinAdvancedFilterModel=s.object({filterType:s.literal("join","Filter type identifier for joining multiple advanced filter conditions"),type:s.enum(["AND","OR"],"Logical operator to combine multiple advanced filter conditions"),conditions:s.array(s.ref("advancedFilterModel"),"Array of advanced filter conditions to be combined")}),l.advancedFilterModel={anyOf:[...a,{$ref:"#/$defs/joinAdvancedFilterModel"}]};const u=s.object({advancedFilterModel:s.ref("advancedFilterModel")},"Advanced filter configuration for the grid").nullable();for(const d of Object.keys(l))u.define(d,l[d]);return u},dateValue=()=>s.string({pattern:"^\\d{4}-\\d{2}-\\d{2}$",description:"Date value in YYYY-MM-DD format"}),DataTypeSchemas={boolean:{filterType:"boolean",noun:"boolean",titleNoun:"Boolean",value:()=>s.string("Filter value to compare against boolean column values")},object:{filterType:"object",noun:"object",titleNoun:"Object",value:()=>s.string("Filter value to compare against object column values")},date:{filterType:"date",noun:"date",titleNoun:"Date",value:dateValue},dateString:{filterType:"dateString",noun:"date string",titleNoun:"Date string",value:dateValue},dateTime:{filterType:"dateTime",noun:"datetime",titleNoun:"DateTime",value:()=>s.string({pattern:"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$",description:"DateTime value in YYYY-MM-DDTHH:mm:ss format"})},dateTimeString:{filterType:"dateTimeString",noun:"datetime string",titleNoun:"DateTime string",value:()=>s.string({pattern:"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",description:"DateTime value in YYYY-MM-DD HH:mm:ss format"})},number:{filterType:"number",noun:"number",titleNoun:"Number",value:()=>s.number("Numeric value to filter by")},bigint:{filterType:"bigint",noun:"bigint",titleNoun:"BigInt",value:()=>s.string({pattern:"^-?\\d+$",description:"BigInt value to filter by"})},text:{filterType:"text",noun:"text",titleNoun:"Text",value:()=>s.string("Text value to filter by")}};function buildFilterSchema(e){const t=e.schemaName;if(t==="set")return s.object({filterType:s.literal("set","Filter type identifier for set column filters"),colId:s.enum(e.colIds,"Column identifier for the Set Filter column to filter"),type:s.enum(e.operatorKeys,"Set filter operation type"),values:s.array(s.string().nullable(),"The values to filter on; null matches blank cells").minItems(1)});const{filterType:i,noun:r,titleNoun:n,value:o}=DataTypeSchemas[t],a={filterType:s.literal(i,`Filter type identifier for ${r} column filters`),colId:s.enum(e.colIds,`Column identifier for the ${r} column to filter`),type:s.enum(e.operatorKeys,`${n} filter operation type`)},l=OPERAND_COUNT[e.operands];return l>0&&(a.filter=o().nullable()),l>1&&(a.filterTo=o().nullable()),s.object(a)}var TextFilterKey="agTextColumnFilter",NumberFilterKey="agNumberColumnFilter",DateFilterKey="agDateColumnFilter",SetFilterKey="agSetColumnFilter",MultiFilterKey="agMultiColumnFilter",SimpleFilterKeys=[TextFilterKey,NumberFilterKey,DateFilterKey],buildFilterFeatureSchema=(e,t)=>{const{advancedFilter:i}=e;return i?.isEnabled()?buildAdvancedFilterFeatureSchema(e):buildColumnFilterFeatureSchema(e,t)},buildColumnFilterFeatureSchema=(e,t)=>{const{gos:i,colFilter:r,colModel:n}=e;if(!r)return;const a=n.getCols().filter(u=>u.isFilterAllowed());if(a.length===0)return;const l={},c=i.get("enableFilterHandlers");for(const u of a){const d=t?.columns?t.columns[u.colId]:void 0,h=u.colDef,p=r.getDefaultFilter(u),g=d?.includeSetValues??!1,f=buildColumnFilterSchema(h.filter,h.filterParams,p,(m=!1,v=0)=>{if(!g)return[];let C;return m?c&&(C=r.getHandler(u,!0).getHandler(v)):C=r.getHandler(u,!0),C?C.getFilterKeys():[]});f&&(l[u.colId]=f.nullable())}return s.object({filterModel:s.object(l)}).nullable()};function buildColumnFilterSchema(e,t,i,r){let n;if(typeof e=="string"?n=e:typeof e=="object"&&typeof e.component=="string"?n=e.component:(e===!0||typeof e=="object"&&e.component===!0)&&(n=i),!n)return null;if(SimpleFilterKeys.includes(n)){const o=t?.maxNumConditions,a=t?.filterOptions?[...(0,import_ag_grid_community56._classifyFilterOptions)(t.filterOptions,()=>{},import_ag_grid_community56._ADVANCED_FILTER_ONLY_OPTIONS).offered.keys()]:void 0,l=t?.useIsoSeparator||!1;return buildSimpleFilterSchema(n,{maxConditions:o,filterOptions:a,useIsoSeparator:l})}else{if(n===SetFilterKey)return buildSetFilterSchema(r);if(n===MultiFilterKey)return buildMultiFilterSchema(getMultiFilterDefs(t??{}),i,r)}return null}var buildSimpleFilterSchema=(e,t)=>e===DateFilterKey?buildDateFilterSchema(t):e===NumberFilterKey?buildNumberFilterSchema(t):buildTextFilterSchema(t),buildJoinSchema=(e,t,i=2)=>i===1?e:s.object({filterType:s.literal(t,`Filter type identifier for ${t} filters with multiple conditions`),operator:s.enum(["AND","OR"],"Logical operator to combine multiple filter conditions. Must be included even with a single filter to adhere to the API."),conditions:s.array(e,"Array of filter conditions to be combined").minItems(2).maxItems(i)}),buildTextFilterSchema=e=>{const t=e.filterOptions??["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"],i=s.object({filterType:s.literal("text","Filter type identifier for text filters"),type:s.enum(t,"Text filter operation type"),filter:s.string("Primary filter value").nullable(),filterTo:s.string("Secondary filter value for range operations").nullable()});return buildJoinSchema(i,"text",e.maxConditions)},buildNumberFilterSchema=e=>{const t=e.filterOptions??["equals","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","inRange","blank","notBlank"],i=s.object({filterType:s.literal("number","Filter type identifier for number filters"),type:s.enum(t,"Number filter operation type"),filter:s.number("Primary filter value").nullable(),filterTo:s.number("Secondary filter value for range operations").nullable()});return buildJoinSchema(i,"number",e.maxConditions)},buildDateFilterSchema=e=>{const t=e.filterOptions??["equals","notEqual","lessThan","greaterThan","inRange","blank","notBlank"],i=e.useIsoSeparator?"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",r=s.object({filterType:s.literal("date","Filter type identifier for date filters"),type:s.enum(t,"Date filter operation type"),dateFrom:s.string({pattern:i,description:"Primary date filter value in YYYY-MM-DD HH:mm:ss format"}).nullable(),dateTo:s.string({pattern:i,description:"Secondary date filter value for range operations in YYYY-MM-DD HH:mm:ss format"}).nullable()});return buildJoinSchema(r,"date",e.maxConditions)},buildSetFilterSchema=e=>{const t=e?e().filter(Boolean):[];return s.object({filterType:s.literal("set","Filter type identifier for set filters"),values:s.array(t.length>0?s.enum(t,"Available values to filter by"):s.string("Filter values"),"Array of values to include in the filter")})},buildMultiFilterSchema=(e,t,i=()=>[])=>{const r=e.map((n,o)=>buildColumnFilterSchema(n.filter,n.filterParams,t,()=>i(!0,o))).filter(n=>n!==null);return r.length===0?null:s.object({filterType:s.literal("multi","Filter type identifier for multi-condition filters"),filterModels:s.array(s.union(r,"Union of different filter types that can be combined").nullable(),"Array of filter conditions to be combined with AND/OR logic")})},buildPivotFeatureSchema=e=>{const i=e.colModel.getCols().filter(r=>r.isAllowPivot()).map(r=>r.colId);if(i.length!==0)return s.object({pivotMode:s.boolean("Whether pivot mode is enabled"),pivotColIds:s.array(s.enum(i,"Column ID that supports pivoting"),"Array of column IDs to use as pivot columns")},"Pivot configuration for the grid").nullable()},buildRowGroupFeatureSchema=e=>{const i=e.colModel.getCols().filter(n=>n.isAllowRowGroup());if(i.length===0)return;const r=i.map(n=>n.colId);return s.object({groupColIds:s.array(s.enum(r,"Column ID that supports row grouping"),"Array of column IDs to group by")},"Row grouping configuration for the grid")},buildSortFeatureSchema=e=>{const{sortSvc:t}=e;if(!t)return;const r=e.colModel.getCols().filter(o=>o.isSortable());if(r.length===0)return;const n=r.map(o=>o.colId);return s.object({sortModel:s.array(s.object({colId:s.enum(n,"Column ID that supports sorting"),sort:s.enum(["asc","desc"],"Sort direction: ascending or descending"),type:s.enum(["default","absolute"],"Sort type: default or absolute values")}),"Array of sort configurations")},"Sort configuration for the grid").nullable()},StructuredSchemaBuilderMap={aggregation:buildAggregationFeatureSchema,filter:buildFilterFeatureSchema,sort:buildSortFeatureSchema,pivot:buildPivotFeatureSchema,columnVisibility:buildColumnVisibilityFeatureSchema,columnSizing:buildColumnSizingFeatureSchema,rowGroup:buildRowGroupFeatureSchema};function getStructuredSchema(e,t){const i={};for(const l of import_ag_grid_community57.STRUCTURED_SCHEMA_FEATURES){if(t?.exclude?.includes(l))continue;const c=StructuredSchemaBuilderMap[l](e,t);c&&(i[l]=c.nullable())}const r=e.colModel.colsList,n=t?.columns??{},o=new Array(r.length);let a="";for(let l=0,c=r.length;l<c;++l){const u=r[l].colId;o[l]=u;const d=n[u]?.description;l>0&&(a+=`
`),a+=d?`${u}: ${d}`:u}return s.object(i).define("allColumnIds",s.enum(o,a)).toJSON()}var AiToolkitModule={moduleName:"AiToolkit",version:VERSION,beans:[],dependsOn:[EnterpriseCoreModule,import_ag_grid_community58.ColumnApiModule],apiFunctions:{getStructuredSchema}},import_ag_grid_community90=require("ag-grid-community"),import_ag_grid_community66=require("ag-grid-community"),import_ag_grid_community59=require("ag-grid-community");function isSideBarVisible(e){return e.sideBar?.comp.isDisplayed()??!1}function setSideBarVisible(e,t){e.sideBar?.comp.setDisplayed(t)}function setSideBarPosition(e,t){e.sideBar?.comp.setSideBarPosition(t)}function openToolPanel(e,t,i){e.sideBar?.comp.openToolPanel(t,"api",i)}function closeToolPanel(e){e.sideBar?.comp.close("api")}function getOpenedToolPanel(e){return e.sideBar?.comp.openedItem()??null}function refreshToolPanel(e){e.sideBar?.comp.refresh()}function isToolPanelShowing(e){return e.sideBar?.comp.isToolPanelShowing()??!1}function getToolPanelInstance(e,t){const i=e.sideBar?.comp.getToolPanelInstance(t);return(0,import_ag_grid_community59._unwrapUserComp)(i)}function getSideBar(e){return e.sideBar?.comp.getDef()}var import_ag_grid_community65=require("ag-grid-community"),import_ag_stack59=require("ag-stack"),import_ag_grid_community64=require("ag-grid-community"),agSideBar_default=`.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{background-color:var(--ag-wrapper-background-color);display:flex;flex-direction:row;width:100%}: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);overflow:hidden auto;padding-top:var(--ag-side-button-bar-top-padding);position:relative;scrollbar-width:thin}.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)}}`,import_ag_stack57=require("ag-stack"),import_ag_grid_community61=require("ag-grid-community"),import_ag_stack56=require("ag-stack"),import_ag_grid_community60=require("ag-grid-community"),SideBarButtonElement={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"}]}]},SideBarButtonComp=class extends import_ag_grid_community60.Component{constructor(e){super(),this.toolPanelDef=e,this.eToggleButton=import_ag_stack56.RefPlaceholder,this.eIconWrapper=import_ag_stack56.RefPlaceholder,this.eLabel=import_ag_stack56.RefPlaceholder}getToolPanelId(){return this.toolPanelDef.id}postConstruct(){this.setTemplate(SideBarButtonElement,[]),this.setLabel(),this.setIcon(),this.addManagedElementListeners(this.eToggleButton,{click:this.onButtonPressed.bind(this)}),this.eToggleButton.setAttribute("id",`ag-${this.getCompId()}-button`)}setLabel(){const e=this.toolPanelDef,t=this.getLocaleTextFunc()(e.labelKey,e.labelDefault);this.eLabel.textContent=t}setIcon(){this.eIconWrapper.insertAdjacentElement("afterbegin",(0,import_ag_grid_community60._createIconNoSpan)(this.toolPanelDef.iconKey,this.beans))}onButtonPressed(){this.dispatchLocalEvent({type:"toggleButtonClicked"})}setSelected(e){this.toggleCss("ag-selected",e),(0,import_ag_stack56._setAriaExpanded)(this.eToggleButton,e)}},SideBarElement={tag:"div",cls:"ag-side-buttons",role:"tablist"},AgSideBarButtons=class extends import_ag_grid_community61.Component{constructor(){super(SideBarElement),this.buttonComps=[]}postConstruct(){this.addManagedElementListeners(this.getFocusableElement(),{keydown:this.handleKeyDown.bind(this)})}handleKeyDown(e){if(!(e.key!==import_ag_grid_community61.KeyCode.TAB||!e.shiftKey)){if((0,import_ag_grid_community61._focusNextGridCoreContainer)(this.beans,!0)){e.preventDefault();return}(0,import_ag_grid_community61._stopPropagationForAgGrid)(e)}}setActiveButton(e){for(const t of this.buttonComps)t.setSelected(e===t.getToolPanelId())}addButtonComp(e){const t=this.createBean(new SideBarButtonComp(e));return this.buttonComps.push(t),this.appendChild(t),t.addEventListener("toggleButtonClicked",()=>{this.dispatchLocalEvent({type:"sideBarButtonClicked",toolPanelId:e.id})}),t}clearButtons(){this.buttonComps=this.destroyBeans(this.buttonComps),(0,import_ag_stack57._clearElement)(this.getGui())}destroy(){this.clearButtons(),super.destroy()}},AgSideBarButtonsSelector={selector:"AG-SIDE-BAR-BUTTONS",component:AgSideBarButtons},DEFAULT_COLUMN_COMP={id:"columns",labelDefault:"Columns",labelKey:"columns",iconKey:"columnsToolPanel",toolPanel:"agColumnsToolPanel"},DEFAULT_FILTER_COMP={id:"filters",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agFiltersToolPanel"},DEFAULT_NEW_FILTER_COMP={id:"filters-new",labelDefault:"Filters",labelKey:"filters",iconKey:"filtersToolPanel",toolPanel:"agNewFiltersToolPanel"},DEFAULT_BY_KEY={columns:DEFAULT_COLUMN_COMP,filters:DEFAULT_FILTER_COMP,"filters-new":DEFAULT_NEW_FILTER_COMP};function parseSideBarDef(e,t){if(e){if(e===!0)return{toolPanels:[DEFAULT_COLUMN_COMP,DEFAULT_FILTER_COMP],defaultToolPanel:"columns"};if(typeof e=="string")return parseSideBarDef([e],t);if(Array.isArray(e)){const i=[];for(const r of e){const n=DEFAULT_BY_KEY[r];if(!n){t.warn(215,{key:r,validKeys:Object.keys(DEFAULT_BY_KEY)});continue}i.push(n)}return i.length===0?void 0:{toolPanels:i,defaultToolPanel:i[0].id}}return{toolPanels:parseComponents(e.toolPanels,t),defaultToolPanel:e.defaultToolPanel,hiddenByDefault:e.hiddenByDefault,position:e.position,hideButtons:e.hideButtons}}}function parseComponents(e,t){const i=[];return e&&e.forEach(r=>{const n=parseOneComponent(r,t);n&&i.push(n)}),i}function parseOneComponent(e,t){return typeof e!="string"?e:DEFAULT_BY_KEY[e]?DEFAULT_BY_KEY[e]:(t.warn(215,{key:e,validKeys:Object.keys(DEFAULT_BY_KEY)}),null)}var import_ag_stack58=require("ag-stack"),import_ag_grid_community63=require("ag-grid-community"),import_ag_grid_community62=require("ag-grid-community"),AgHorizontalResize=class extends import_ag_grid_community62.Component{constructor(){super({tag:"div",cls:"ag-tool-panel-horizontal-resize"}),this.minWidth=100,this.maxWidth=null}postConstruct(){const e=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(e),this.inverted=this.gos.get("enableRtl")}dispatchResizeEvent(e,t,i){this.eventSvc.dispatchEvent({type:"toolPanelSizeChanged",width:i,started:e,ended:t})}onResizeStart(){this.startingWidth=this.elementToResize.offsetWidth,this.dispatchResizeEvent(!0,!1,this.startingWidth)}onResizeEnd(e){return this.onResizing(e,!0)}onResizing(e,t=!1){const i=this.inverted?-1:1;let r=Math.max(this.minWidth,Math.floor(this.startingWidth-e*i));this.maxWidth!=null&&(r=Math.min(this.maxWidth,r)),this.elementToResize.style.setProperty("--ag-horizontal-size",`${r}px`),this.dispatchResizeEvent(!1,t,r)}};function getToolPanelCompDetails(e,t,i){return e.getCompDetails(t,ToolPanelComponent,void 0,i,!0)}var ToolPanelComponent={name:"toolPanel",optionalMethods:["refresh","getState"]},ToolPanelElement={tag:"div",cls:"ag-tool-panel-wrapper",role:"tabpanel",children:[{tag:"div",cls:"ag-tool-panel-content",ref:"eContent"}]},ToolPanelWrapper=class extends import_ag_grid_community63.Component{constructor(){super(ToolPanelElement),this.eContent=import_ag_stack58.RefPlaceholder,this.animationId=0,this.defParent=null,this.hasStyledRoot=!1}postConstruct(){const e=this.getGui(),t=this.resizeBar=this.createManagedBean(new AgHorizontalResize);e.setAttribute("id",`ag-${this.getCompId()}`),t.elementToResize=e,this.appendChild(t)}ensureStyledRoot(){if(this.hasStyledRoot)return;this.hasStyledRoot=!0;const e=this.getGui(),[t,i]=(0,import_ag_stack58._initDetachedStyledRoot)(this.beans.environment,e);this.addDestroyFunc(i);const r=this.isDisplayed();(0,import_ag_stack58._setDisplayed)(e,!0),this.setGui(t),this.setDisplayed(r)}getToolPanelId(){return this.toolPanelId}getDefParent(){return this.defParent}setDefParent(e){this.defParent=e}setToolPanelDef(e,t){const{id:i,minWidth:r,maxWidth:n,width:o,parent:a}=e;this.toolPanelId=i,this.defParent=a??null,o&&this.getGui().style.setProperty("--ag-side-bar-panel-width",`${o}px`);const l=getToolPanelCompDetails(this.beans.userCompFactory,e,t);if(l==null)return!1;const c=l.newAgStackInstance();this.params=l.params,c.then(this.setToolPanelComponent.bind(this));const u=this.resizeBar;return r!=null&&(u.minWidth=r),n!=null&&(u.maxWidth=n),!0}setToolPanelComponent(e){this.toolPanelCompInstance=e;const{eContent:t}=this;t.appendChild(e.getGui()),this.addDestroyFunc(()=>{this.destroyBean(e)})}getToolPanelInstance(){return this.toolPanelCompInstance}setResizerSizerSide(e){const t=this.gos.get("enableRtl"),i=e==="left",r=t?i:!i;this.resizeBar.inverted=r}refresh(){this.toolPanelCompInstance?.refresh?.(this.params)}refreshWithParams(e){return this.params=e,this.toolPanelCompInstance?.refresh?.(e)}animateDisplayed(e){if(this.isDisplayed()===e)return;const t=++this.animationId,{eContent:i}=this,r=()=>{this.animationId===t&&(n.classList.remove("ag-tool-panel-animating"),i.style.width="",n.style.width="")},n=this.getGui(),o=n.offsetWidth;this.setDisplayed(e),n.classList.add("ag-tool-panel-animating");const a=getComputedStyle(n).transitionDuration;if(!parseFloat(a)){r();return}n.style.transition="none",n.style.width="",i.style.width=`${i.offsetWidth}px`,n.style.width=`${o}px`;const l=n.offsetWidth;n.style.transition="",n.style.width=e?"":"0";const c=setTimeout(r,100);n.addEventListener("transitionstart",()=>clearTimeout(c),{once:!0}),n.addEventListener("transitionend",r,{once:!0})}},AgSideBarElement={tag:"div",cls:"ag-side-bar ag-unselectable",children:[{tag:"ag-side-bar-buttons",ref:"sideBarButtons"}]},AgSideBar=class extends import_ag_grid_community64.Component{constructor(){super(AgSideBarElement,[AgSideBarButtonsSelector]),this.sideBarButtons=import_ag_stack59.RefPlaceholder,this.toolPanelWrappers=[],this.registerCSS(agSideBar_default)}postConstruct(){this.sideBarButtons.addEventListener("sideBarButtonClicked",this.onToolPanelButtonClicked.bind(this));const{beans:e,gos:t}=this,{sideBar:i}=t.get("initialState")??{};this.setSideBarDef({sideBarDef:parseSideBarDef(t.get("sideBar"),e.log),sideBarState:i}),this.addManagedPropertyListener("sideBar",()=>this.setState()),e.sideBar.comp=this;const r=this.getFocusableElement();this.createManagedBean(new import_ag_grid_community64.ManagedFocusFeature(r,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),(0,import_ag_grid_community64._addFocusableContainerListener)(e,this,r),this.addManagedPropertyListener("enableAdvancedFilter",this.onAdvancedFilterChanged.bind(this))}getFocusableContainerName(){return"sideBar"}onTabKeyDown(e){if(e.defaultPrevented)return;const{beans:t,sideBarButtons:i}=this,r=this.getGui(),n=i.getGui(),o=(0,import_ag_stack59._getActiveDomElement)(t),a=r.querySelector(".ag-tool-panel-wrapper:not(.ag-hidden)"),l=e.target,c=e.shiftKey;if(!a)return(0,import_ag_grid_community64._focusNextGridCoreContainer)(t,c,"force")?(e.preventDefault(),!0):((0,import_ag_grid_community64._skipFocusableContainerListenerForAgGrid)(e),!1);if(n.contains(o)){(0,import_ag_stack59._focusInto)(a,c)&&e.preventDefault();return}if(!c)return;let u=null;a.contains(o)?u=(0,import_ag_stack59._findNextFocusableElement)({beans:t,rootNode:a,backwards:!0}):isTargetUnderManagedComponent(a,l)&&(u=findFocusableElementBeforeTabGuard(a,l)),u||(u=n.querySelector(".ag-selected button"),u=(0,import_ag_stack59._isVisible)(u)?u:null),u&&u!==e.target&&(e.preventDefault(),u.focus())}handleKeyDown(e){const t=(0,import_ag_stack59._getActiveDomElement)(this.beans),i=this.sideBarButtons;if(!i.getGui().contains(t))return;const r=i.getGui(),n=Array.prototype.slice.call(r.querySelectorAll(".ag-side-button")),o=n.findIndex(c=>c.contains(t));let a=null;switch(e.key){case import_ag_grid_community64.KeyCode.LEFT:case import_ag_grid_community64.KeyCode.UP:a=Math.max(0,o-1);break;case import_ag_grid_community64.KeyCode.RIGHT:case import_ag_grid_community64.KeyCode.DOWN:a=Math.min(o+1,n.length-1);break}if(a===null)return;const l=n[a].querySelector("button");l&&(l.focus(),e.preventDefault())}onToolPanelButtonClicked(e){const t=e.toolPanelId;this.openedItem()===t?this.openToolPanel(void 0,"sideBarButtonClicked"):this.openToolPanel(t,"sideBarButtonClicked")}clearDownUi(){this.sideBarButtons.clearButtons(),this.destroyToolPanelWrappers()}setSideBarDef({sideBarDef:e,sideBarState:t,existingToolPanelWrappers:i}){if(this.setDisplayed(!1),this.sideBar=e,e&&this.sideBarButtons.setDisplayed(!e.hideButtons),e?.toolPanels){const r=e.toolPanels;if(this.createToolPanelsAndSideButtons(r,t,i),!this.toolPanelWrappers.length)return;const n=t?t.visible:!e.hiddenByDefault;if(this.setDisplayed(n),this.setSideBarPosition(t?t.position:e.position),n)if(t){const{openToolPanel:o}=t;o&&this.openToolPanel(o,"sideBarInitializing")}else this.openToolPanel(e.defaultToolPanel,"sideBarInitializing")}}getDef(){return this.sideBar}setSideBarPosition(e){e||(e="right"),this.position=e;const t=e==="left",i=t?"right":"left";this.toggleCss("ag-side-bar-left",t),this.toggleCss("ag-side-bar-right",!t);for(const r of this.toolPanelWrappers)r.setResizerSizerSide(i);return this.dispatchSideBarUpdated(),this}setDisplayed(e,t){super.setDisplayed(e,t),this.dispatchSideBarUpdated()}getState(){const e={};for(const t of this.toolPanelWrappers)e[t.getToolPanelId()]=t.getToolPanelInstance()?.getState?.();return{visible:this.isDisplayed(),position:this.position,openToolPanel:this.openedItem(),toolPanels:e}}createToolPanelsAndSideButtons(e,t,i){for(const r of e)this.createToolPanelAndSideButton(r,t?.toolPanels?.[r.id],i?.[r.id])}validateDef(e){const{id:t,toolPanel:i}=e;return t==null?(this.beans.log.warn(212),!1):isFilterPanel(i)&&this.beans.filterManager?.isAdvFilterEnabled()?(this.beans.log.warn(213),!1):!0}createToolPanelAndSideButton(e,t,i){if(!this.validateDef(e)){this.destroyBean(i);return}let r;if(i)r=i,r.setDefParent(e.parent??null);else if(r=this.createBean(new ToolPanelWrapper),!r.setToolPanelDef(e,(0,import_ag_grid_community64._addGridCommonParams)(this.gos,{initialState:t,onStateUpdated:()=>this.dispatchSideBarUpdated()})))return;r.setDisplayed(!1),this.renderToolPanelUnderParent(r,e.parent),this.toolPanelWrappers.push(r);const n=this.sideBarButtons.addButtonComp(e);(0,import_ag_stack59._setAriaControlsAndLabel)(n.eToggleButton,r.getGui())}refresh(){for(const e of this.toolPanelWrappers)e.refresh()}renderToolPanelUnderParent(e,t){const i=t??e.getDefParent()??this.getGui();i!==this.getGui()&&(e.ensureStyledRoot(),i.classList.add("ag-tool-panel-external"));const r=e.getGui();r.parentElement!==i&&i.appendChild(r)}getWrapper(e){return this.toolPanelWrappers.find(t=>t.getToolPanelId()===e)}openToolPanel(e,t="api",i){const r=this.openedItem(),o=!!e&&!!r||t==="sideBarInitializing";for(const c of this.toolPanelWrappers){const u=e===c.getToolPanelId();u&&this.renderToolPanelUnderParent(c,i??null),o?c.setDisplayed(u):c.animateDisplayed(u)}const a=this.openedItem();r!==a&&(this.sideBarButtons.setActiveButton(e),this.raiseToolPanelVisibleEvent(e,r??void 0,t))}getToolPanelInstance(e){const t=this.getWrapper(e);if(!t){this.beans.log.warn(214,{key:e});return}return t.getToolPanelInstance()}raiseToolPanelVisibleEvent(e,t,i){const r=!!e&&!!t,n=this.eventSvc;t&&n.dispatchEvent({type:"toolPanelVisibleChanged",source:i,key:t,visible:!1,switchingToolPanel:r}),e&&n.dispatchEvent({type:"toolPanelVisibleChanged",source:i,key:e,visible:!0,switchingToolPanel:r})}close(e="api"){this.openToolPanel(void 0,e)}isToolPanelShowing(){return!!this.openedItem()}openedItem(){let e=null;for(const t of this.toolPanelWrappers)t.isDisplayed()&&(e=t.getToolPanelId());return e}setState(e){const t=parseSideBarDef(this.gos.get("sideBar"),this.beans.log),i={};t&&this.sideBar&&t.toolPanels?.forEach(r=>{const{id:n}=r;if(!n)return;const o=this.sideBar.toolPanels?.find(u=>u.id===n);if(!o||r.toolPanel!==o.toolPanel)return;const a=this.getWrapper(n);if(!a)return;const l=(0,import_ag_grid_community64._addGridCommonParams)(this.gos,{...r.toolPanelParams??{},initialState:e?.toolPanels?.[n],onStateUpdated:()=>this.dispatchSideBarUpdated()});a.refreshWithParams(l)===!0&&(this.toolPanelWrappers=this.toolPanelWrappers.filter(u=>u!==a),(0,import_ag_stack59._removeFromParent)(a.getGui()),i[n]=a)}),this.clearDownUi(),this.setSideBarDef({sideBarDef:t,sideBarState:e,existingToolPanelWrappers:i})}dispatchSideBarUpdated(){this.eventSvc.dispatchEvent({type:"sideBarUpdated"})}destroyToolPanelWrappers(){for(const e of this.toolPanelWrappers)(0,import_ag_stack59._removeFromParent)(e.getGui()),this.destroyBean(e);this.toolPanelWrappers.length=0}onAdvancedFilterChanged(){this.sideBar?.toolPanels?.some(t=>isFilterPanel(typeof t=="string"?t:t.toolPanel))&&this.setState()}destroy(){this.destroyToolPanelWrappers(),super.destroy()}};function isFilterPanel(e){return e==="agFiltersToolPanel"||e==="agNewFiltersToolPanel"}var AgSideBarSelector={selector:"AG-SIDE-BAR",component:AgSideBar},SideBarService=class extends import_ag_grid_community65.BeanStub{constructor(){super(...arguments),this.beanName="sideBar"}getSelector(){return AgSideBarSelector}},SideBarModule={moduleName:"SideBar",version:VERSION,beans:[SideBarService],apiFunctions:{isSideBarVisible,setSideBarVisible,setSideBarPosition,openToolPanel,closeToolPanel,getOpenedToolPanel,refreshToolPanel,isToolPanelShowing,getToolPanelInstance,getSideBar},dependsOn:[EnterpriseCoreModule,import_ag_grid_community66._HorizontalResizeModule]},menu_default='.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)}:where(.ag-menu-list-no-focus-ring) .ag-compact-menu-option:focus-visible,:where(.ag-menu-list-no-focus-ring) .ag-menu-option:focus-visible{box-shadow:none}.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}',MenuItemRenderer=class extends AgMenuItemRenderer{constructor(){super({warnNoIcon:()=>this.beans.log.warn(227)})}},MenuItemModule={moduleName:"MenuItem",version:VERSION,userComponents:{agMenuItem:MenuItemRenderer},icons:{check:"tick",subMenuOpen:"small-right",subMenuOpenRtl:"small-left"},css:[menu_default]},import_ag_stack68=require("ag-stack"),import_ag_grid_community78=require("ag-grid-community"),import_ag_stack67=require("ag-stack"),import_ag_grid_community77=require("ag-grid-community"),agPrimaryCols_default=".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}",import_ag_stack60=require("ag-stack"),import_ag_grid_community67=require("ag-grid-community"),DEBOUNCE_DELAY=300,AgPrimaryColsHeaderElement={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"}]},AgPrimaryColsHeader=class extends import_ag_grid_community67.Component{constructor(){super(AgPrimaryColsHeaderElement,[import_ag_grid_community67.AgCheckboxSelector,import_ag_grid_community67.AgInputTextFieldSelector]),this.eExpand=import_ag_stack60.RefPlaceholder,this.eSelect=import_ag_stack60.RefPlaceholder,this.eFilterTextField=import_ag_stack60.RefPlaceholder}postConstruct(){this.createExpandIcons(),this.addManagedListeners(this.eExpand,{click:this.onExpandClicked.bind(this),keydown:t=>{t.key===import_ag_grid_community67.KeyCode.SPACE&&(t.preventDefault(),this.onExpandClicked())}}),this.addManagedElementListeners(this.eSelect.getInputElement(),{click:this.onSelectClicked.bind(this)}),this.addManagedPropertyListener("functionsReadOnly",()=>this.onFunctionsReadOnlyPropChanged()),this.eFilterTextField.setClearButtonEnabled(!0).setSearchIcon(!0).onValueChange(()=>this.onFilterTextChanged()).onValueClear(()=>this.onFilterTextCleared()),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)});const e=this.getLocaleTextFunc();this.eSelect.setInputAriaLabel(e("ariaColumnSelectAll","Toggle All Columns Visibility")),this.eFilterTextField.setInputAriaLabel(e("ariaFilterColumnsInput","Filter Columns Input")),this.activateTabIndex([this.eExpand])}onFunctionsReadOnlyPropChanged(){const e=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(e),this.eSelect.toggleCss("ag-column-select-column-readonly",e)}init(e){this.params=e,this.eFilterTextField.setAutoComplete(e.browserAutoComplete);const t=this.gos.get("functionsReadOnly");this.eSelect.setReadOnly(t),this.eSelect.toggleCss("ag-column-select-column-readonly",t),this.beans.colModel.ready&&this.showOrHideOptions()}createExpandIcons(){const e=this.beans;this.eExpand.appendChild(this.eExpandChecked=(0,import_ag_grid_community67._createIconNoSpan)("columnSelectOpen",e)),this.eExpand.appendChild(this.eExpandUnchecked=(0,import_ag_grid_community67._createIconNoSpan)("columnSelectClosed",e)),this.eExpand.appendChild(this.eExpandIndeterminate=(0,import_ag_grid_community67._createIconNoSpan)("columnSelectIndeterminate",e)),this.setExpandState(0)}showOrHideOptions(){const e=this.params,t=!e.suppressColumnFilter,i=!e.suppressColumnSelectAll,r=!e.suppressColumnExpandAll,n=!!this.beans.colModel.colDefTreeDepth,o=this.getLocaleTextFunc();this.eFilterTextField.setInputPlaceholder(o("searchOoo","Search...")),(0,import_ag_stack60._setDisplayed)(this.eFilterTextField.getGui(),t),(0,import_ag_stack60._setDisplayed)(this.eSelect.getGui(),i),(0,import_ag_stack60._setDisplayed)(this.eExpand,r&&n)}onFilterTextChanged(){this.onFilterTextChangedDebounced||(this.onFilterTextChangedDebounced=(0,import_ag_stack60._debounce)(this,()=>{const e=this.eFilterTextField.getValue();this.dispatchLocalEvent({type:"filterChanged",filterText:e})},DEBOUNCE_DELAY)),this.filterTextChangedTimeout=this.onFilterTextChangedDebounced()}onFilterTextCleared(){clearTimeout(this.filterTextChangedTimeout),this.dispatchLocalEvent({type:"filterChanged",filterText:this.eFilterTextField.getValue()})}onSelectClicked(){this.dispatchLocalEvent({type:this.selectState?"unselectAll":"selectAll"})}onExpandClicked(){this.dispatchLocalEvent({type:this.expandState===0?"collapseAll":"expandAll"})}setExpandState(e){this.expandState=e,(0,import_ag_stack60._setDisplayed)(this.eExpandChecked,e===0),(0,import_ag_stack60._setDisplayed)(this.eExpandUnchecked,e===1),(0,import_ag_stack60._setDisplayed)(this.eExpandIndeterminate,e===2)}setSelectionState(e){this.selectState=e,this.eSelect.setValue(this.selectState)}},AgPrimaryColsHeaderSelector={selector:"AG-PRIMARY-COLS-HEADER",component:AgPrimaryColsHeader},import_ag_stack66=require("ag-stack"),import_ag_grid_community76=require("ag-grid-community"),import_ag_grid_community68=require("ag-grid-community"),import_ag_stack61=require("ag-stack");function isColGroupDef(e){return!!e&&typeof e.children<"u"}function getId(e){return isColGroupDef(e)?e.groupId:e.colId}function addChildrenToGroup(e,t,i){const r=(a,l)=>{const u=a.children.map(getId).includes(getId(l)),d=(0,import_ag_stack61._last)(a.children),h=d&&getId(d)!==getId(l);return u&&h};if(!isColGroupDef(e))return!0;const n=e,o=i;if(r(n,o)||n.groupId===t&&!n.children.map(getId).includes(getId(o)))return n.children.push(o),!0;for(let a=n.children.length-1;a>=0&&!addChildrenToGroup(n.children[a],t,i);a--);return!1}function mergeLeafPathTrees(e){const t=(n,o)=>isColGroupDef(n)&&isColGroupDef(o)&&getId(n)===getId(o),i=(n,o)=>{if(!isColGroupDef(o))return n;const a=n,l=o;if(l.children&&l.groupId&&addChildrenToGroup(a,l.groupId,l.children[0]))return a;for(const c of l.children)i(a,c);return a},r=[];for(let n=1;n<=e.length;n++){const o=e[n-1],a=e[n];t(o,a)?e[n]=i(o,a):r.push(o)}return r}function toolPanelCreateColumnTree(e,t){const{colModel:i}=e,r=[],n=(a,l)=>{if(isColGroupDef(a)){const c=a,u=typeof c.groupId<"u"?c.groupId:c.headerName,d=new import_ag_grid_community68.AgProvidedColumnGroup(c,u,!1,l),h=[];for(const p of c.children){const g=n(p,l+1);g&&h.push(g)}return d.children=h,d}else{const c=a,u=c.colId?c.colId:c.field,d=i.getNonPivotCol(u);return d||r.push(c),d}},o=[];for(const a of t){const l=n(a,0);l&&o.push(l)}return r.length>0&&e.log.warn(217,{invalidColIds:r}),o}function syncLayoutWithGrid(e,t){const i=getLeafPathTrees(getGridPrimaryColumns(e)),r=mergeLeafPathTrees(i);t(r)}function syncLayoutWithColumns(e,t){const i=getLeafPathTrees(e),r=mergeLeafPathTrees(i);t(r)}function getLeafPathTrees(e){const t=(i,r)=>{let n;if((0,import_ag_grid_community68.isProvidedColumnGroup)(i))if(i.isPadding())n=r;else{const a=Object.assign({},i.getColGroupDef());a.groupId=i.getGroupId(),a.children=[r],n=a}else{const a=Object.assign({},i.colDef);a.colId=i.colId,n=a}const o=i.getOriginalParent();return o?t(o,n):n};return e.map(i=>t(i,i.colDef))}function getGridPrimaryColumns(e){return e.colsList.filter(t=>t.primary&&!t.showRowGroup)}var import_ag_stack62=require("ag-stack"),ColumnModelItem=class{constructor(e,t,i,r=!1,n){this.beans=e,this.depth=i,this.group=r,this.localEventService=new import_ag_stack62.LocalEventService,this.cachedName=null,this.cachedNameVersion=-1,this.cachedNameOverride=null,r?(this.columnGroup=t,this._expanded=n,this.children=[]):this.column=t}get displayName(){const{beans:e,group:t,columnGroup:i,column:r}=this,{colNames:n,colModel:o}=e,a=o.colDefsVersion,l=t?o.groupHeaderNameOverrides.get(i.groupId)??null:r.headerNameOverride;return(a!==this.cachedNameVersion||l!==this.cachedNameOverride)&&(this.cachedNameVersion=a,this.cachedNameOverride=l,this.cachedName=t?n.getDisplayNameForProvidedColumnGroup(null,i,"columnToolPanel"):n.getDisplayNameForColumn(r,"columnToolPanel")),this.cachedName}get expanded(){return!!this._expanded}set expanded(e){e!==this._expanded&&(this._expanded=e,this.localEventService.dispatchEvent({type:"expandedChanged"}))}addEventListener(e,t){this.localEventService.addEventListener(e,t)}removeEventListener(e,t){this.localEventService.removeEventListener(e,t)}},import_ag_grid_community74=require("ag-grid-community"),import_ag_stack64=require("ag-stack"),import_ag_grid_community73=require("ag-grid-community"),import_ag_grid_community69=require("ag-grid-community"),ColumnLabelRendererComponent={name:"columnLabelRenderer",optionalMethods:["refresh"],supportsJsFunction:!0};function isColumnSelectionLabelRendererEnabled(e){return e.columnLabelRenderer!=null||e.columnLabelRendererSelector!=null}var ColumnSelectionLabelRendererFeature=class extends import_ag_grid_community69.BeanStub{constructor(e,t,i,r,n,o){super(),this.eLabel=e,this.definition=t,this.source=i,this.column=r,this.columnGroup=n,this.getDisplayName=o,this.renderer=null,this.rendererClass=null,this.rendererVersion=0}postConstruct(){this.refresh()}refresh(){const e=this.getParams();this.renderer==null&&this.setFallback(e.displayName);const t=this.beans.userCompFactory.getCompDetails(this.definition,ColumnLabelRendererComponent,void 0,e);if(!t){this.destroyRenderer(e.displayName);return}const{renderer:i}=this;if(i!=null&&this.rendererClass===t.componentClass&&i.refresh?.(t.params)===!0){this.rendererVersion++;return}this.createRenderer(t)}createRenderer(e){const t=++this.rendererVersion;e.newAgStackInstance().then(i=>{if(t!==this.rendererVersion||!this.isAlive()){this.destroyBean(i);return}if(i==null)return;const r=this.renderer;this.renderer=i,this.rendererClass=e.componentClass,this.eLabel.replaceChildren(i.getGui()),this.destroyBean(r)})}getParams(){const{gos:e,column:t,columnGroup:i,source:r}=this;return(0,import_ag_grid_community69._addGridCommonParams)(e,{displayName:this.getDisplayName(),column:t,columnGroup:i,source:r})}setFallback(e){this.eLabel.textContent=e??""}destroyRenderer(e){this.rendererVersion++,this.destroyBean(this.renderer),this.renderer=null,this.rendererClass=null,e===void 0?this.eLabel.replaceChildren():this.setFallback(e)}destroy(){this.destroyRenderer(),super.destroy()}};function isDeferredMode(e){return!!e?.buttons?.includes("apply")}function refreshDeferredToolPanelUi(e,t){if(!isDeferredMode(t))return;const i=e.sideBar?.comp.openedItem();if(!i)return;e.sideBar?.comp.getToolPanelInstance(i)?.refreshDeferredUi()}function selectAllChildren(e,t,i,r,n){const o=extractAllLeafColumns(t);setAllColumns(e,o,i,r,n)}function setAllColumns(e,t,i,r,n){e.columnStateUpdateStrategy.getPivotMode(isDeferredMode(n))?setAllPivot(e,t,i,r,n):setAllVisible(e,t,i,r,n)}function extractAllLeafColumns(e){const t=[],i=r=>{for(const n of r)n.passesFilter&&(n.group?i(n.children):t.push(n.column))};return i(e),t}function setAllVisible(e,t,i,r,n){const o=e.columnStateUpdateStrategy,a=[];for(const l of t)l.colDef.lockVisible||o.isColumnVisibleInToolPanel(isDeferredMode(n),l)!==i&&a.push({colId:l.getId(),hide:!i});o.applyColumnState(isDeferredMode(n),a,r),refreshDeferredToolPanelUi(e,n)}function setAllPivot(e,t,i,r,n){setAllPivotActive(e,t,i,r,n)}function setAllPivotActive(e,t,i,r,n){const o=e.columnStateUpdateStrategy,a=[],u=i?d=>{if(!o.isColumnSelectedInPivotModeToolPanel(isDeferredMode(n),d))if(d.isAllowValue()){const h=typeof d.aggFunc=="string"?d.aggFunc:e.aggFuncSvc?.getDefaultAggFunc(d);a.push({colId:d.getId(),aggFunc:h})}else d.isAllowRowGroup()?a.push({colId:d.getId(),rowGroup:!0}):d.isAllowPivot()&&a.push({colId:d.getId(),pivot:!0})}:d=>{o.isColumnSelectedInPivotModeToolPanel(isDeferredMode(n),d)&&a.push({colId:d.getId(),pivot:!1,rowGroup:!1,aggFunc:null})};t.forEach(u),o.applyColumnState(isDeferredMode(n),a,r),refreshDeferredToolPanelUi(e,n)}function updateColumns(e,t){const{columns:i,visibleState:r,pivotState:n,eventType:o}=t,a=e.columnStateUpdateStrategy,l=a.getPivotMode(isDeferredMode(t)),c=i.map(u=>{const d=u.colId;if(l){const h=n?.[d];return{colId:d,pivot:h?.pivot,rowGroup:h?.rowGroup,aggFunc:h?.aggFunc}}else return{colId:d,hide:!r?.[d]}});a.applyColumnState(isDeferredMode(t),c,o),refreshDeferredToolPanelUi(e,t)}function createPivotState(e){return{pivot:e.isPivotActive(),rowGroup:e.isRowGroupActive(),aggFunc:e.isValueActive()?e.aggFunc:void 0}}function createPivotStateForToolPanel(e,t,i){if(!i)return createPivotState(e);const r=t.getRowGroupColumns(i).includes(e),n=t.getPivotColumns(i).includes(e),o=t.getValueColumns(i).includes(e);return{pivot:n,rowGroup:r,aggFunc:o?t.getColumnAggFunc(i,e):void 0}}var import_ag_grid_community72=require("ag-grid-community"),import_ag_grid_community70=require("ag-grid-community");function _resolveColumnMenuItems(e,t,i,r,n){const o=t?.colDef??i?.getColGroupDef(),a=o?.columnMenuItems;if(Array.isArray(a))return a;if(typeof a=="function")return a((0,import_ag_grid_community70._addGridCommonParams)(e,{column:t,columnGroup:i,defaultItems:n,source:r}));const l=e.getCallback("getColumnMenuItems");if(l)return l({column:t,columnGroup:i,defaultItems:n,source:r});if(r==="columnMenu"){const c=n,u=o?.mainMenuItems;if(Array.isArray(u))return u;if(typeof u=="function")return u((0,import_ag_grid_community70._addGridCommonParams)(e,{column:t,columnGroup:i,defaultItems:c}));const d=e.getCallback("getMainMenuItems");if(d)return d({column:t,columnGroup:i,defaultItems:c})}return n}var VALUE_TOKEN={addKey:"addToValues",addDefault:e=>`Add ${e} to values`,removeKey:"removeFromValues",removeDefault:e=>`Remove ${e} from values`,icon:"valuePanel"},PIVOT_TOKEN={addKey:"addToLabels",addDefault:e=>`Add ${e} to labels`,removeKey:"removeFromLabels",removeDefault:e=>`Remove ${e} from labels`,icon:"pivotPanel"},SCROLL_INTO_VIEW_TOKEN={key:"scrollColumnIntoView",default:e=>`Scroll ${e} into View`,icon:"ensureColumnVisible"};function columnMenuTokenLabel(e,t,i,r){return e(t,i(r),[r])}var MENU_ITEM_SEPARATOR="separator";function _normaliseSeparators(e,t){if(!e?.length)return;let i=0,r=!0;for(const n of e){const o=n===t;o&&r||(e[i++]=n,r=o)}i>0&&e[i-1]===t&&i--,e.length=i}var getNodesFromMappedSet=(e,t)=>{if(!t)return[];let i=e;for(let r=0,n=t.length;r<n&&i;++r)i=i[t[r]];return Array.isArray(i)?i:[]},setAggData=(e,t,i,r)=>{const n=e.aggData;n!==t&&(e.aggData=t,e.__localEventService&&fireAggDataChangedEvents(e,n,t,i,r))},setAggDataWithSiblings=(e,t,i,r)=>{setAggData(e,t,i,r);const n=e.pinnedSibling;n&&setAggData(n,t,i,r);const o=e.sibling;if(o){setAggData(o,t,i,r);const a=o.pinnedSibling;a&&setAggData(a,t,i,r)}},fireAggDataChangedEvents=(e,t,i,r,n)=>{if(!i){if(!t)return;const a=Object.keys(t);for(let l=0,c=a.length;l<c;++l){const u=a[l],d=r.colsById[u];d&&e.dispatchCellChangedEvent(d,void 0,t[u])}return}if(n){const a=n.cols;for(let l=0,c=a.length;l<c;++l){const{colId:u,column:d}=a[l],h=i[u],p=t?t[u]:void 0;h!==p&&e.dispatchCellChangedEvent(d,h,p)}if(!t||!n.checkRemoved)return;fireRemovedAggDataEvents(e,t,i,r);return}const o=Object.keys(i);for(let a=0,l=o.length;a<l;++a){const c=o[a],u=i[c],d=t?t[c]:void 0;if(u===d)continue;const h=r.colsById[c];h&&e.dispatchCellChangedEvent(h,u,d)}t&&fireRemovedAggDataEvents(e,t,i,r)},fireRemovedAggDataEvents=(e,t,i,r)=>{const n=Object.keys(t);for(let o=0,a=n.length;o<a;++o){const l=n[o];if(l in i)continue;const c=r.colsById[l];c&&e.dispatchCellChangedEvent(c,void 0,t[l])}},setRowNodeGroupValue=(e,t,i,r)=>{const n=t.getCol(i);let o=e._groupData;o||(o={},e._groupData=o);const a=n.colId,l=o[a];l!==r&&(o[a]=r,e.dispatchCellChangedEvent(n,r,l))},doSetRowNodeGroup=(e,t,i)=>{if(!e)return;const r=e.group;r!==i&&(e.group=i,e.updateHasChildren(),r&&!i&&(setAggData(e,null,t.colModel),e.setAllChildrenCount(null)),e.dispatchRowEvent("groupChanged"))},setRowNodeGroup=(e,t,i)=>{doSetRowNodeGroup(e,t,i),doSetRowNodeGroup(e.pinnedSibling,t,i)},isRowGroupColLocked=(e,t)=>{const{gos:i,rowGroupColsSvc:r}=t;if(!r||!e)return!1;const n=i.get("groupLockGroupColumns");if(!e.isRowGroupActive()||n===0)return!1;if(n===-1)return!0;const o=r.columns.findIndex(a=>a.colId===e.colId);return n>o},getGroupingLocaleText=(e,t,i)=>{const n=e(t,`${t==="groupBy"?"Group by":"Un-Group by"} ${i}`,[i]);return n.indexOf(i)>=0?n:`${n} ${i}`},import_ag_grid_community71=require("ag-grid-community"),import_ag_stack63=require("ag-stack");function _getTextSelectionRanges(e){const t=(0,import_ag_stack63._getRootNode)(e),i="getSelection"in t?t.getSelection():null,r=[];for(let n=0;n<(i?.rangeCount??0);n++){const o=i?.getRangeAt(n);o&&r.push(o)}return{selection:i,ranges:r}}function _preserveRangesWhile(e,t){if(!e.gos.get("enableCellTextSelection")||!(0,import_ag_stack63._isBrowserFirefox)()&&!(0,import_ag_stack63._isBrowserSafari)())return t();const{selection:r,ranges:n}=_getTextSelectionRanges(e);t(),r?.removeAllRanges();for(const o of n)r?.addRange(o)}var MenuItemComponentType={name:"menuItem",optionalMethods:["setActive","select","setExpanded","configureDefaults"]},MENU_ITEM_CALLBACKS={getMenuItemComp:(e,t,i)=>e.userCompFactory.getCompDetails(t,MenuItemComponentType,"agMenuItem",(0,import_ag_grid_community71._addGridCommonParams)(e.gos,i),!0)?.newAgStackInstance()??import_ag_grid_community71.AgPromise.resolve(),getPostProcessPopupParams:({column:e,node:t})=>({column:e,rowNode:t}),preserveRangesWhile:_preserveRangesWhile,stopPropagationCallbacks:import_ag_grid_community71._STOP_PROPAGATION_CALLBACKS,warnNoItem:(e,t)=>{e.log.warn(228,{menuItemOrString:t})}},MenuItemComponent=class extends AgMenuItemComponent{constructor(){super(MENU_ITEM_CALLBACKS)}},MenuList=class extends AgMenuList{constructor(e,t={column:null,node:null,value:null}){super(e,t,MENU_ITEM_CALLBACKS)}},ToolPanelContextMenu=class extends import_ag_grid_community72.Component{constructor(e,t,i,r,n,o){super({tag:"div",cls:"ag-menu"}),this.column=e,this.mouseEventOrTouch=t,this.parentEl=i,this.params=r,this.eventType=n,this.source=o,this.displayName=null}postConstruct(){const{column:e,gos:t,source:i,beans:{colNames:r}}=this;this.initializeProperties(e);let n;e.isColumn?n=r.getDisplayNameForColumn(e,"columnToolPanel"):n=r.getDisplayNameForProvidedColumnGroup(null,e,"columnToolPanel"),this.displayName=n,this.buildMenuItemMap();let o=null,a=null;(0,import_ag_grid_community72.isProvidedColumnGroup)(e)?a=e:o=e;const l=t.get("functionsReadOnly");let c;this.isActive()?l?c=this.getDefaultTokens().filter(g=>!this.menuItemMap.get(g)?.mutatesState):c=this.getDefaultTokens():c=[];const u=_resolveColumnMenuItems(t,o,a,i,c),d=this.mapMenuItems(u,o);if(this.allowEditHeaderName){const g=this.beans.colHeaderEditSvc.getEditColumnNameMenuItem(this.column);g&&d.unshift(g)}const h=o?.colDef??a?.getColGroupDef();if(d.length>0||h?.columnMenuItems!=null){const g=this.mouseEventOrTouch;"preventDefault"in g&&g.preventDefault()}d.length!==0&&this.displayContextMenu(d)}mapMenuItems(e,t){const{menuItemMap:i}=this,r=[];for(let a=0,l=e.length;a<l;++a){const c=e[a];if(typeof c=="string"){const u=c;if(i.has(u)){r.push(...this.resolveToolPanelToken(u));continue}}r.push(c)}const n=this.beans.menuItemMapper,o=n?n.mapWithStockItems(r,t,null,void 0,()=>this.getGui(),this.eventType):r.filter(a=>typeof a!="string");return _normaliseSeparators(o,MENU_ITEM_SEPARATOR),o}initializeProperties(e){const t=this.beans.columnStateUpdateStrategy;let i;(0,import_ag_grid_community72.isProvidedColumnGroup)(e)?i=e.getLeafColumns():i=[e],this.columns=i;const r=t.getPivotMode(isDeferredMode(this.params));this.allowScrollIntoView=!r&&i.some(this.isColumnValidForScrollIntoView),this.allowGrouping=i.some(o=>o.primary&&o.isAllowRowGroup()),this.allowValues=i.some(o=>o.primary&&o.isAllowValue()),this.allowPivoting=r&&i.some(o=>o.isPrimary()&&o.isAllowPivot());const n=this.beans.colHeaderEditSvc;this.allowEditHeaderName=!!n?.isEditable(e)}buildMenuItemMap(){const e=this.getLocaleTextFunc(),{beans:t,displayName:i}=this,r=this.beans.columnStateUpdateStrategy,n=new Map;this.menuItemMap=n;const o=isDeferredMode(this.params),a=r.getPivotMode(o),l=new Set(r.getRowGroupColumns(o).map(g=>g.colId)),c=new Set(r.getValueColumns(o).map(g=>g.colId)),u=new Set(r.getPivotColumns(o).map(g=>g.colId));n.set("scrollIntoView",{allowedFunction:g=>!g.isPinned()&&!a&&this.isColumnValidForScrollIntoView(g),activeFunction:()=>!1,activateLabel:()=>columnMenuTokenLabel(e,SCROLL_INTO_VIEW_TOKEN.key,SCROLL_INTO_VIEW_TOKEN.default,i),activateFunction:()=>{const g=this.columns.find(this.isColumnValidForScrollIntoView);g&&this.beans.ctrlsSvc.getScrollFeature().ensureColumnVisible(g)},deActivateFunction:()=>{},addIcon:SCROLL_INTO_VIEW_TOKEN.icon});const d=g=>g.primary&&g.isAllowRowGroup()&&!isRowGroupColLocked(g,t);n.set("rowGroup",{allowedFunction:d,activeFunction:g=>l.has(g.colId),activateLabel:()=>getGroupingLocaleText(e,"groupBy",i),deactivateLabel:()=>getGroupingLocaleText(e,"ungroupBy",i),activateFunction:()=>{const g=this.addColumnsToList(r.getRowGroupColumns(o),d);r.setRowGroupColumns(o,g,this.eventType),refreshDeferredToolPanelUi(this.beans,this.params)},deActivateFunction:()=>{const g=this.removeColumnsFromList(r.getRowGroupColumns(o),d);r.setRowGroupColumns(o,g,this.eventType),refreshDeferredToolPanelUi(this.beans,this.params)},addIcon:"menuAddRowGroup",removeIcon:"menuRemoveRowGroup",mutatesState:!0});const h=g=>g.primary&&g.isAllowValue();n.set("value",{allowedFunction:h,activeFunction:g=>c.has(g.colId),activateLabel:()=>columnMenuTokenLabel(e,VALUE_TOKEN.addKey,VALUE_TOKEN.addDefault,i),deactivateLabel:()=>columnMenuTokenLabel(e,VALUE_TOKEN.removeKey,VALUE_TOKEN.removeDefault,i),activateFunction:()=>{const g=this.addColumnsToList(r.getValueColumns(o),h);r.setValueColumns(o,g,this.eventType),refreshDeferredToolPanelUi(this.beans,this.params)},deActivateFunction:()=>{const g=this.removeColumnsFromList(r.getValueColumns(o),h);r.setValueColumns(o,g,this.eventType),refreshDeferredToolPanelUi(this.beans,this.params)},addIcon:VALUE_TOKEN.icon,removeIcon:VALUE_TOKEN.icon,mutatesState:!0});const p=g=>a&&g.primary&&g.isAllowPivot();n.set("pivot",{allowedFunction:p,activeFunction:g=>u.has(g.colId),activateLabel:()=>columnMenuTokenLabel(e,PIVOT_TOKEN.addKey,PIVOT_TOKEN.addDefault,i),deactivateLabel:()=>columnMenuTokenLabel(e,PIVOT_TOKEN.removeKey,PIVOT_TOKEN.removeDefault,i),activateFunction:()=>{const g=this.addColumnsToList(r.getPivotColumns(o),p);r.setPivotColumns(o,g,this.eventType),refreshDeferredToolPanelUi(this.beans,this.params)},deActivateFunction:()=>{const g=this.removeColumnsFromList(r.getPivotColumns(o),p);r.setPivotColumns(o,g,this.eventType),refreshDeferredToolPanelUi(this.beans,this.params)},addIcon:PIVOT_TOKEN.icon,removeIcon:PIVOT_TOKEN.icon,mutatesState:!0})}isColumnValidForScrollIntoView(e){if(!e.isVisible())return!1;const i=e.getParent();return i?i.getDisplayedChildren()?.includes(e)??!0:!0}addColumnsToList(e,t){const i=new Set(e),r=[];for(let n=0,o=this.columns.length;n<o;++n){const a=this.columns[n];t(a)&&!i.has(a)&&r.push(a)}return e.concat(r)}removeColumnsFromList(e,t){const i=new Set(this.columns);return e.filter(r=>!t(r)||!i.has(r))}displayContextMenu(e){const t=this.getGui(),i=this.createBean(new MenuList),r=this.getLocaleTextFunc();let n=()=>{};t.appendChild(i.getGui()),i.addMenuItems(e),i.addManagedListeners(i,{closeMenu:()=>{this.parentEl.focus(),n()}});const o=this.beans.popupSvc,a=o.addPopup({modal:!0,eChild:t,closeOnEsc:!0,afterGuiAttached:()=>i.focusInto(),ariaLabel:r("ariaLabelContextMenu","Context Menu"),closedCallback:l=>{l instanceof KeyboardEvent&&this.parentEl.focus(),this.destroyBean(i)}});a&&(n=a.hideFunc),o.positionPopupUnderMouseEvent({type:"columnContextMenu",mouseEvent:this.mouseEventOrTouch,ePopup:t})}isActive(){return this.allowScrollIntoView||this.allowGrouping||this.allowValues||this.allowPivoting||this.allowEditHeaderName}getDefaultTokens(){const e=[],{menuItemMap:t,columns:i}=this;for(const[r,n]of t)i.some(o=>n.allowedFunction(o))&&e.push(r);return e}resolveToolPanelToken(e){const{menuItemMap:t,columns:i,displayName:r,beans:n}=this,o=t.get(e);if(!o)return[];const a=[],l=i.some(d=>o.allowedFunction(d)&&!o.activeFunction(d)),c=i.some(d=>o.allowedFunction(d)&&o.activeFunction(d)),u=!!o.mutatesState&&this.gos.get("functionsReadOnly");return l&&a.push({name:o.activateLabel(r),icon:(0,import_ag_grid_community72._createIconNoSpan)(o.addIcon,n,null),disabled:u,action:()=>o.activateFunction()}),c&&o.removeIcon&&o.deactivateLabel&&a.push({name:o.deactivateLabel(r),icon:(0,import_ag_grid_community72._createIconNoSpan)(o.removeIcon,n,null),disabled:u,action:()=>o.deActivateFunction?.()}),a}},ToolPanelColumnGroupElement={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"}]},ToolPanelColumnGroupComp=class extends import_ag_grid_community73.Component{constructor(e,t,i,r,n,o){super(),this.modelItem=e,this.allowDragging=t,this.eventType=i,this.focusWrapper=r,this.params=n,this.source=o,this.cbSelect=import_ag_stack64.RefPlaceholder,this.eLabel=import_ag_stack64.RefPlaceholder,this.eGroupOpenedIcon=import_ag_stack64.RefPlaceholder,this.eGroupClosedIcon=import_ag_stack64.RefPlaceholder,this.eColumnGroupIcons=import_ag_stack64.RefPlaceholder,this.processingColumnStateChange=!1;const{columnGroup:a,depth:l}=e;this.columnGroup=a,this.columnDepth=l}get displayName(){return this.modelItem.displayName}postConstruct(){this.setTemplate(ToolPanelColumnGroupElement,[import_ag_grid_community73.AgCheckboxSelector]);const{beans:e,cbSelect:t,eLabel:i,columnDepth:r,modelItem:n,focusWrapper:o,columnGroup:a,params:l,source:c}=this,{gos:u}=e,d=(0,import_ag_grid_community73._createIconNoSpan)("columnDrag",e);this.eDragHandle=d,d.classList.add("ag-drag-handle","ag-column-select-column-group-drag-handle");const h=t.getGui(),p=t.getInputElement();h.after(d),p.setAttribute("tabindex","-1"),isColumnSelectionLabelRendererEnabled(l)?this.labelRendererFeature=this.createManagedBean(new ColumnSelectionLabelRendererFeature(i,l,c,null,a,()=>this.displayName)):i.textContent=this.displayName??"",this.setupExpandContract(),this.addCss("ag-column-select-indent-"+r),this.getGui().style.setProperty("--ag-indentation-level",String(r)),this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.focusWrapper,getTooltipComponentDefinition:()=>(0,import_ag_grid_community73._getHeaderTooltipComponentDefinition)(a.getColGroupDef()),getLocation:()=>"columnToolPanelColumnGroup",getTooltipValue:()=>{const m=a.getColGroupDef(),v=this.displayName;return(0,import_ag_grid_community73._resolveHeaderTooltipValue)(m,(0,import_ag_grid_community73._addGridCommonParams)(u,{location:"columnToolPanelColumnGroup",colDef:m,column:a,value:v,valueFormatted:v}))},shouldDisplayTooltip:(0,import_ag_grid_community73._getShouldDisplayTooltip)(u,()=>i),getAdditionalParams:()=>{const m=a.getColGroupDef();return{...m?{colDef:m}:{},column:a,valueFormatted:this.displayName}}})),this.addManagedEventListeners({columnPivotModeChanged:this.onColumnStateChanged.bind(this)}),this.addManagedElementListeners(i,{click:this.onLabelClicked.bind(this)}),this.addManagedListeners(t,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedListeners(n,{expandedChanged:this.onExpandChanged.bind(this)}),this.addManagedEventListeners({columnHeaderNameChanged:this.onHeaderNameChanged.bind(this)});const g=new import_ag_grid_community73.TouchListener(this.getGui(),!1);this.addManagedListeners(g,{longTap:m=>this.onContextMenu(m.touchStart)}),this.addDestroyFunc(g.destroy.bind(g)),this.addManagedListeners(o,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)}),this.setOpenClosedIcons(),this.setupDragging(),this.onColumnStateChanged(),this.addVisibilityListenersToAllChildren(),this.refreshAriaExpanded(),this.refreshAriaLabel(),this.setupTooltip();const f=(0,import_ag_grid_community73._getToolPanelClassesFromColDef)(a.getColGroupDef(),this.beans,null,a);for(const m of f)this.toggleCss(m,!0)}getColumns(){return this.columnGroup.getLeafColumns()}setupTooltip(){if(!this.columnGroup.getColGroupDef())return;const t=()=>this.tooltipFeature?.refreshTooltip();t(),this.addManagedEventListeners({newColumnsLoaded:t})}handleKeyDown(e){switch(e.key){case import_ag_grid_community73.KeyCode.LEFT:e.preventDefault(),this.modelItem.expanded=!1;break;case import_ag_grid_community73.KeyCode.RIGHT:e.preventDefault(),this.modelItem.expanded=!0;break;case import_ag_grid_community73.KeyCode.SPACE:e.preventDefault(),this.isSelectable()&&this.onSelectAllChanged(!this.isSelected());break}}onContextMenu(e){const t=this.createBean(new ToolPanelContextMenu(this.columnGroup,e,this.focusWrapper,this.params,this.eventType,this.source));this.addDestroyFunc(()=>{t.isAlive()&&this.destroyBean(t)})}addVisibilityListenersToAllChildren(){const e=this.onColumnStateChanged.bind(this);for(const t of this.columnGroup.getLeafColumns())this.addManagedListeners(t,{visibleChanged:e,columnValueChanged:e,columnPivotChanged:e,columnRowGroupChanged:e})}setupDragging(){if(!this.allowDragging){(0,import_ag_stack64._setDisplayed)(this.eDragHandle,!1);return}const e=this.beans,{gos:t,eventSvc:i,dragAndDrop:r}=e;let n=!t.get("suppressDragLeaveHidesColumns");const o={type:import_ag_grid_community73.DragSourceType.ToolPanel,eElement:this.eDragHandle,dragItemName:()=>this.displayName,getDefaultIconName:()=>n?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{n=!t.get("suppressDragLeaveHidesColumns"),i.dispatchEvent({type:"columnPanelItemDragStart",column:this.columnGroup})},onDragStopped:()=>{i.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:a=>{n&&updateColumns(e,{columns:this.columnGroup.getLeafColumns(),visibleState:a?.visibleState,pivotState:a?.pivotState,eventType:this.eventType,buttons:this.params.buttons})},onGridExit:()=>{n&&this.onChangeCommon(!1)}};r.addDragSource(o,!0),this.addDestroyFunc(()=>r.removeDragSource(o))}createDragItem(){const e=this.columnGroup.getLeafColumns(),t={},i={},r=this.beans.columnStateUpdateStrategy,n=isDeferredMode(this.params);for(const o of e){const a=o.getId();t[a]=o.isVisible(),i[a]=createPivotStateForToolPanel(o,r,n)}return{columns:e,visibleState:t,pivotState:i}}setupExpandContract(){const{beans:e,eGroupClosedIcon:t,eGroupOpenedIcon:i,eColumnGroupIcons:r}=this;t.appendChild((0,import_ag_grid_community73._createIcon)("columnSelectClosed",e,null)),i.appendChild((0,import_ag_grid_community73._createIcon)("columnSelectOpen",e,null));const n=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(t,{click:n}),this.addManagedElementListeners(i,{click:n});const o=new import_ag_grid_community73.TouchListener(r,!0);this.addManagedListeners(o,{tap:n}),this.addDestroyFunc(o.destroy.bind(o))}onLabelClicked(){const e=!this.cbSelect.getValue();this.onChangeCommon(e)}onCheckboxChanged(e){this.onChangeCommon(e.selected)}getVisibleLeafColumns(){const e=[],t=i=>{for(const r of i)r.passesFilter&&(r.group?t(r.children):e.push(r.column))};return t(this.modelItem.children),e}onChangeCommon(e){this.refreshAriaLabel(),!this.processingColumnStateChange&&selectAllChildren(this.beans,this.modelItem.children,e,this.eventType,this.params)}onHeaderNameChanged(e){e.columnGroup&&e.columnGroup.getGroupId()!==this.columnGroup.groupId||(this.labelRendererFeature?this.labelRendererFeature.refresh():this.eLabel.textContent=this.displayName??"",this.refreshAriaLabel())}refreshAriaLabel(){const{cbSelect:e,focusWrapper:t,displayName:i}=this,r=this.getLocaleTextFunc(),n=r("ariaColumnGroup","Column Group"),o=e.getValue(),a=o===void 0?r("ariaIndeterminate","indeterminate"):o?r("ariaVisible","visible"):r("ariaHidden","hidden"),l=r("ariaToggleVisibility","Press SPACE to toggle visibility");(0,import_ag_stack64._setAriaLabel)(t,`${i} ${n}`),e.setInputAriaLabel(`${l} (${a})`),(0,import_ag_stack64._setAriaDescribedBy)(t,e.getInputElement().id)}onColumnStateChanged(){const e=this.workOutSelectedValue(),t=this.workOutReadOnlyValue();this.processingColumnStateChange=!0;const i=this.cbSelect;i.setValue(e),i.setReadOnly(t),this.toggleCss("ag-column-select-column-group-readonly",t),this.processingColumnStateChange=!1}workOutSelectedValue(){const t=this.beans.columnStateUpdateStrategy.getPivotMode(isDeferredMode(this.params)),i=this.getVisibleLeafColumns();let r=0,n=0;for(const o of i)(t||!o.colDef.lockVisible)&&(this.isColumnChecked(o)?r++:n++);if(!(r>0&&n>0))return r>0}workOutReadOnlyValue(){const e=this.beans.columnStateUpdateStrategy.getPivotMode(isDeferredMode(this.params));let t=0;for(const i of this.columnGroup.getLeafColumns())e?i.isAnyFunctionAllowed()&&t++:i.colDef.lockVisible||t++;return t===0}isColumnChecked(e){const t=this.beans.columnStateUpdateStrategy;return t.getPivotMode(isDeferredMode(this.params))?t.isColumnSelectedInPivotModeToolPanel(isDeferredMode(this.params),e):t.isColumnVisibleInToolPanel(isDeferredMode(this.params),e)}onExpandOrContractClicked(){const e=this.modelItem,t=e.expanded;e.expanded=!t}onExpandChanged(){this.setOpenClosedIcons(),this.refreshAriaExpanded()}setOpenClosedIcons(){const e=this.modelItem.expanded;(0,import_ag_stack64._setDisplayed)(this.eGroupClosedIcon,!e),(0,import_ag_stack64._setDisplayed)(this.eGroupOpenedIcon,e)}refreshAriaExpanded(){(0,import_ag_stack64._setAriaExpanded)(this.focusWrapper,this.modelItem.expanded)}getDisplayName(){return this.displayName}onSelectAllChanged(e){const t=this.cbSelect,i=t.getValue();!t.isReadOnly()&&(e&&!i||!e&&i)&&t.toggle()}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}setSelected(e){this.cbSelect.setValue(e,!0)}},getCurrentColumnsBeingMoved=e=>(0,import_ag_grid_community74.isProvidedColumnGroup)(e)?e.getLeafColumns():e?[e]:[],getMoveTargetIndex=(e,t,i,r)=>{if(!t||!e)return null;const n=r.indexOf(t),o=i?n:n+1,a=getMoveDiff(r,e,o);return o-a},getMoveDiff=(e,t,i)=>{if(!t)return 0;const r=t[0],n=t.length;return e.indexOf(r)<i?n:0},isMoveBlocked=(e,t,i,r)=>{const n=isDeferredMode(r);return e.get("suppressMovableColumns")||t.columnStateUpdateStrategy.getPivotMode(n)?!0:!!i.find(({colDef:l})=>!!l.suppressMovable||!!l.lockPosition)},moveItem=(e,t,i,r,n)=>{if(!i)return;const{component:o}=i;let a=null,l=i.position==="top";if(o instanceof ToolPanelColumnGroupComp?(a=o.getColumns()[0],l=!0):o&&(a=o.column),!a)return;const c=isDeferredMode(r),u=c?e.columnStateUpdateStrategy.getPrimaryColumns(c):e.colModel.getCols(),d=getMoveTargetIndex(t,a,l,u);d!=null&&(e.columnStateUpdateStrategy.moveColumns(c,t,d,n),refreshDeferredToolPanelUi(e,r))},getCurrentDragValue=e=>e.column,import_ag_stack65=require("ag-stack"),import_ag_grid_community75=require("ag-grid-community"),ToolPanelColumnElement={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"}]},ToolPanelColumnComp=class extends import_ag_grid_community75.Component{constructor(e,t,i,r,n,o,a){super(),this.modelItem=e,this.allowDragging=t,this.groupsExist=i,this.focusWrapper=r,this.params=n,this.eventType=o,this.source=a,this.eLabel=import_ag_stack65.RefPlaceholder,this.cbSelect=import_ag_stack65.RefPlaceholder,this.processingColumnStateChange=!1;const{column:l,depth:c}=e;this.column=l,this.columnDepth=c}get displayName(){return this.modelItem.displayName}postConstruct(){this.setTemplate(ToolPanelColumnElement,[import_ag_grid_community75.AgCheckboxSelector]);const{beans:e,cbSelect:t,eLabel:i,columnDepth:r,groupsExist:n,column:o,gos:a,focusWrapper:l}=this,c=(0,import_ag_grid_community75._createIconNoSpan)("columnDrag",e);this.eDragHandle=c,c.classList.add("ag-drag-handle","ag-column-select-column-drag-handle");const u=t.getGui(),d=t.getInputElement();u.after(c),d.setAttribute("tabindex","-1"),isColumnSelectionLabelRendererEnabled(this.params)?this.labelRendererFeature=this.createManagedBean(new ColumnSelectionLabelRendererFeature(i,this.params,this.source,this.column,null,()=>this.displayName)):i.textContent=this.displayName,n&&this.addCss("ag-column-select-add-group-indent"),this.addCss(`ag-column-select-indent-${r}`),this.getGui().style.setProperty("--ag-indentation-level",String(r)),this.tooltipFeature=this.createOptionalManagedBean(e.tooltipSvc?.createTooltip({getGui:()=>this.focusWrapper,getTooltipComponentDefinition:()=>(0,import_ag_grid_community75._getHeaderTooltipComponentDefinition)(o.colDef),getLocation:()=>"columnToolPanelColumn",getTooltipValue:()=>{const f=this.displayName;return(0,import_ag_grid_community75._resolveHeaderTooltipValue)(o.colDef,(0,import_ag_grid_community75._addGridCommonParams)(a,{location:"columnToolPanelColumn",colDef:o.colDef,column:o,value:f,valueFormatted:f}))},shouldDisplayTooltip:(0,import_ag_grid_community75._getShouldDisplayTooltip)(a,()=>i),getAdditionalParams:()=>({colDef:o.colDef,column:o,valueFormatted:this.displayName})})),this.setupDragging();const h=this.onColumnStateChanged.bind(this);this.addManagedEventListeners({columnPivotModeChanged:h}),this.addManagedListeners(o,{columnValueChanged:h,columnPivotChanged:h,columnRowGroupChanged:h,visibleChanged:h,colDefChanged:this.onColDefChanged.bind(this),headerNameChanged:this.onColDefChanged.bind(this)}),this.addManagedListeners(l,{keydown:this.handleKeyDown.bind(this),contextmenu:this.onContextMenu.bind(this)});const p=new import_ag_grid_community75.TouchListener(l);this.addManagedListeners(p,{longTap:f=>this.onContextMenu(f.touchStart)}),this.addDestroyFunc(p.destroy.bind(p)),this.addManagedPropertyListener("functionsReadOnly",this.onColumnStateChanged.bind(this)),this.addManagedListeners(t,{fieldValueChanged:this.onCheckboxChanged.bind(this)}),this.addManagedElementListeners(i,{click:this.onLabelClicked.bind(this)}),this.onColumnStateChanged(),this.refreshAriaLabel(),this.setupTooltip();const g=(0,import_ag_grid_community75._getToolPanelClassesFromColDef)(o.colDef,this.beans,o,null);for(const f of g)this.toggleCss(f,!0)}getColumn(){return this.column}setupTooltip(){const e=()=>this.tooltipFeature?.refreshTooltip();e(),this.addManagedEventListeners({newColumnsLoaded:e})}onContextMenu(e){const t=this.createBean(new ToolPanelContextMenu(this.column,e,this.focusWrapper,this.params,this.eventType,this.source));this.addDestroyFunc(()=>{t.isAlive()&&this.destroyBean(t)})}handleKeyDown(e){e.key===import_ag_grid_community75.KeyCode.SPACE&&(e.preventDefault(),this.isSelectable()&&this.onSelectAllChanged(!this.isSelected()))}onLabelClicked(){if(this.gos.get("functionsReadOnly"))return;const e=!this.cbSelect.getValue();this.onChangeCommon(e)}onCheckboxChanged(e){this.onChangeCommon(e.selected)}onChangeCommon(e){this.cbSelect.isReadOnly()||(this.refreshAriaLabel(),!this.processingColumnStateChange&&setAllColumns(this.beans,[this.column],e,this.eventType,this.params))}onColDefChanged(){this.labelRendererFeature?this.labelRendererFeature.refresh():this.eLabel.textContent=this.displayName,this.refreshAriaLabel()}refreshAriaLabel(){const{cbSelect:e,focusWrapper:t,displayName:i}=this,r=this.getLocaleTextFunc(),n=r("ariaColumn","Column"),o=e.getValue()?r("ariaVisible","visible"):r("ariaHidden","hidden"),a=r("ariaToggleVisibility","Press SPACE to toggle visibility");(0,import_ag_stack65._setAriaLabel)(t,`${i} ${n}`),this.cbSelect.setInputAriaLabel(`${a} (${o})`),(0,import_ag_stack65._setAriaDescribedBy)(t,e.getInputElement().id)}setupDragging(){const e=this.eDragHandle;if(!this.allowDragging){(0,import_ag_stack65._setDisplayed)(e,!1);return}const t=this.beans,{gos:i,eventSvc:r,dragAndDrop:n}=t;isDeferredMode(this.params)&&e.setAttribute("data-column-tool-panel-deferred","");let o=!i.get("suppressDragLeaveHidesColumns");const a={type:import_ag_grid_community75.DragSourceType.ToolPanel,eElement:e,dragItemName:()=>this.displayName,getDefaultIconName:()=>o&&!isDeferredMode(this.params)?"hide":"notAllowed",getDragItem:()=>this.createDragItem(),onDragStarted:()=>{o=!i.get("suppressDragLeaveHidesColumns"),r.dispatchEvent({type:"columnPanelItemDragStart",column:this.column})},onDragStopped:()=>{r.dispatchEvent({type:"columnPanelItemDragEnd"})},onGridEnter:l=>{o&&!isDeferredMode(this.params)&&updateColumns(t,{columns:[this.column],visibleState:l?.visibleState,pivotState:l?.pivotState,eventType:this.eventType,buttons:this.params.buttons})},onGridExit:()=>{o&&!isDeferredMode(this.params)&&this.onChangeCommon(!1)}};n.addDragSource(a,!0),this.addDestroyFunc(()=>n.removeDragSource(a))}createDragItem(){const e=this.column.colId,t={[e]:this.column.isVisible()},i=this.beans.columnStateUpdateStrategy,r={[e]:createPivotStateForToolPanel(this.column,i,isDeferredMode(this.params))};return{columns:[this.column],visibleState:t,pivotState:r}}onColumnStateChanged(){this.processingColumnStateChange=!0;const e=this.beans.columnStateUpdateStrategy,t=e.getPivotMode(isDeferredMode(this.params));if(t){const n=e.isColumnSelectedInPivotModeToolPanel(isDeferredMode(this.params),this.column);this.cbSelect.setValue(n)}else this.cbSelect.setValue(e.isColumnVisibleInToolPanel(isDeferredMode(this.params),this.column));let i,r;if(t){const n=this.gos.get("functionsReadOnly"),o=!this.column.isAnyFunctionAllowed();i=!n&&!o,r=i}else{const{enableRowGroup:n,enableValue:o,lockPosition:a,suppressMovable:l,lockVisible:c}=this.column.colDef,u=!!n||!!o,d=!!a||!!l;i=!c,r=u||!d}this.cbSelect.setReadOnly(!i),this.eDragHandle.classList.toggle("ag-column-select-column-readonly",!r),this.toggleCss("ag-column-select-column-readonly",!r&&!i),this.cbSelect.setPassive(!1),this.processingColumnStateChange=!1}getDisplayName(){return this.displayName}onSelectAllChanged(e){const t=this.cbSelect;e!==t.getValue()&&(t.isReadOnly()||t.toggle())}isSelected(){return this.cbSelect.getValue()}isSelectable(){return!this.cbSelect.isReadOnly()}isExpandable(){return!1}setExpanded(e){this.beans.log.warn(158)}},UIColumnModel=class{constructor(e){this.items=e}getRowCount(){return this.items.length}getRow(e){return this.items[e]}},PRIMARY_COLS_LIST_PANEL_CLASS="ag-column-select-list",AgPrimaryColsList=class extends import_ag_grid_community76.Component{constructor(){super({tag:"div",cls:PRIMARY_COLS_LIST_PANEL_CLASS,role:"presentation"}),this.destroyColumnItemFuncs=[],this.hasLoadedInitialState=!1,this.isInitialState=!1,this.skipRefocus=!1,this.customColumnLayout=null}wireBeans(e){this.colModel=e.colModel}destroy(){this.destroyColumnTree(),super.destroy()}destroyColumnTree(){this.allColsTree=[];for(const e of this.destroyColumnItemFuncs)e();this.destroyColumnItemFuncs=[]}init(e,t,i,r){this.params=e;const{suppressSyncLayoutWithGrid:n,contractColumnSelection:o,suppressColumnMove:a}=e;this.allowDragging=t&&!(n&&isDeferredMode(e)),this.eventType=i,this.source=r,n||this.addManagedEventListeners({columnMoved:this.onColumnsChanged.bind(this)}),this.addManagedEventListeners({newColumnsLoaded:this.onColumnsChanged.bind(this)});const l=this.fireSelectionChangedEvent.bind(this);this.addManagedEventListeners({columnPivotChanged:l,columnPivotModeChanged:l,columnRowGroupChanged:l,columnValueChanged:l,columnVisible:l,newColumnsLoaded:l}),this.expandGroupsByDefault=!o;const c=a||n,u=this.createManagedBean(new VirtualList({cssIdentifier:"column-select",ariaRole:"tree",moveItemCallback:(d,h)=>{c||this.moveItems(d,h)}}));this.virtualList=u,this.appendChild(u.getGui()),u.setComponentCreator((d,h)=>((0,import_ag_stack66._setAriaLevel)(h,d.depth+1),this.createComponentFromItem(d,h))),this.colModel.ready&&this.onColumnsChanged(),!c&&this.createItemDragFeature()}createItemDragFeature(){const{gos:e,beans:t,virtualList:i}=this;this.createManagedBean(new VirtualListDragFeature(this,i,{dragSourceType:import_ag_grid_community76.DragSourceType.ToolPanel,addListeners:(r,n,o)=>{r.addManagedEventListeners({columnPanelItemDragStart:n,columnPanelItemDragEnd:o})},getCurrentDragValue:r=>getCurrentDragValue(r),isMoveBlocked:r=>isMoveBlocked(e,t,getCurrentColumnsBeingMoved(r),this.params),getNumRows:r=>r.getDisplayedColsList().length,moveItem:(r,n)=>moveItem(t,getCurrentColumnsBeingMoved(r),n,this.params,this.eventType)}))}moveItems(e,t){const{gos:i,beans:r}=this,{modelItem:n}=e,{group:o,columnGroup:a,column:l,expanded:c}=n,u=getCurrentColumnsBeingMoved(o?a:l);if(isMoveBlocked(i,r,u,this.params))return;const d=this.displayedColsList.indexOf(n),h=t?-1:1;let p=0;if(t){const f=e.columnDepth>0?l.parent?.children:null;f?.length&&l===f[0]&&(p=-1)}else o&&(p=c?n.children.length:0);const g=(0,import_ag_grid_community76._clamp)(d+p+h,0,this.displayedColsList.length-1);this.skipRefocus=!0,moveItem(r,u,{rowIndex:g,position:t?"top":"bottom",component:this.virtualList.getComponentAt(g)},this.params,this.eventType),this.focusRowIfAlive(g-p).then(()=>{this.skipRefocus=!1})}createComponentFromItem(e,t){const{allowDragging:i,eventType:r,params:n,source:o,groupsExist:a}=this;if(e.group){const c=new ToolPanelColumnGroupComp(e,i,r,t,n,o);return this.createBean(c),c}const l=new ToolPanelColumnComp(e,i,a,t,n,r,o);return this.createBean(l),l}onColumnsChanged(){const e=this.params;this.hasLoadedInitialState||(this.hasLoadedInitialState=!0,this.isInitialState=!!e.initialState);const t=this.getExpandedStates(),i=this.colModel.pivotMode,r=isDeferredMode(e),n=r&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(r);if((!e.suppressSyncLayoutWithGrid||r)&&!i||n)this.buildTreeFromWhatGridIsDisplaying();else if(this.customColumnLayout&&!i){this.isInitialState=!1;return}else this.buildTreeFromProvidedColumnDefs();this.setExpandedStates(t),this.markFilteredColumns(),this.flattenAndFilterModel(),this.isInitialState=!1}getDisplayedColsList(){return this.displayedColsList}getExpandedStates(){const e={};if(this.isInitialState){const{expandedGroupIds:t}=this.params.initialState;for(const i of t)e[i]=!0;return e}return this.allColsTree?(this.forEachItem(t=>{if(!t.group)return;const i=t.columnGroup;i&&(e[i.groupId]=t.expanded)}),e):{}}setExpandedStates(e){if(!this.allColsTree)return;const{isInitialState:t}=this;this.forEachItem(i=>{if(!i.group)return;const r=i.columnGroup;if(r){const n=e[r.groupId];(n!=null||t)&&(i.expanded=!!n)}})}buildTreeFromWhatGridIsDisplaying(){const e=isDeferredMode(this.params);if(e&&this.beans.columnStateUpdateStrategy.hasDeferredColumnOrder(e)){const t=this.beans.columnStateUpdateStrategy.getPrimaryColumns(e);if(t.length>0){syncLayoutWithColumns(t,this.applyColumnLayout.bind(this));return}}if(this.params.suppressSyncLayoutWithGrid){this.buildTreeFromProvidedColumnDefs();return}syncLayoutWithGrid(this.colModel,this.applyColumnLayout.bind(this))}setColumnLayout(e){this.customColumnLayout=e,this.applyColumnLayout(e)}applyColumnLayout(e){const t=toolPanelCreateColumnTree(this.beans,e);this.buildListModel(t),this.groupsExist=e.some(i=>i&&typeof i.children<"u"),this.markFilteredColumns(),this.flattenAndFilterModel()}buildTreeFromProvidedColumnDefs(){const e=this.colModel;this.buildListModel(e.colDefTree),this.groupsExist=!!e.colDefTreeDepth}buildListModel(e){const t=this.onColumnExpanded.bind(this),i=l=>{l.addEventListener("expandedChanged",t);const c=l.removeEventListener.bind(l,"expandedChanged",t);this.destroyColumnItemFuncs.push(c)},r=this.beans,n=(l,c,u)=>{for(const d of l)(0,import_ag_grid_community76.isProvidedColumnGroup)(d)?o(d,c,u):a(d,c,u)},o=(l,c,u)=>{if(l.getColGroupDef()?.suppressColumnsToolPanel)return;if(l.padding){n(l.children,c,u);return}const p=new ColumnModelItem(r,l,c,!0,this.expandGroupsByDefault);u.push(p),i(p),n(l.children,c+1,p.children)},a=(l,c,u)=>{l.colDef?.suppressColumnsToolPanel||u.push(new ColumnModelItem(r,l,c))};this.destroyColumnTree(),n(e,0,this.allColsTree)}onColumnExpanded(){this.flattenAndFilterModel()}flattenAndFilterModel(){this.displayedColsList=[];const e=n=>{if(n.passesFilter&&(this.displayedColsList.push(n),n.group&&n.expanded)){const o=n.children;for(let a=0,l=o.length;a<l;++a)e(o[a])}},t=this.virtualList,i=this.allColsTree;for(let n=0,o=i.length;n<o;++n)e(i[n]);t.setModel(new UIColumnModel(this.displayedColsList));let r=null;this.skipRefocus||(r=t.getLastFocusedRow()),t.refresh(),r!=null&&this.focusRowIfAlive(r),this.notifyListeners(),this.refreshAriaLabel()}refreshAriaLabel(){const e=this.getLocaleTextFunc(),t=e("ariaColumnPanelList","Column List"),i=e("columns","Columns"),r=this.displayedColsList.length;(0,import_ag_stack66._setAriaLabel)(this.virtualList.getAriaElement(),`${t} ${r} ${i}`)}focusRowIfAlive(e){return e===-1?Promise.resolve():new Promise(t=>{window.setTimeout(()=>{this.isAlive()&&this.virtualList.focusRow(e),t()},0)})}forEachItem(e){const t=r=>{for(const n of r)e(n),n.group&&t(n.children)},i=this.allColsTree;i&&t(i)}doSetExpandedAll(e){this.forEachItem(t=>{t.group&&(t.expanded=e)})}setGroupsExpanded(e,t){if(!t){this.doSetExpandedAll(e);return}const i=new Set(t),r=new Set;this.forEachItem(o=>{if(!o.group)return;const a=o.columnGroup.groupId;i.has(a)&&(o.expanded=e,r.add(a))});const n=t.filter(o=>!r.has(o));n.length>0&&this.beans.log.warn(157,{unrecognisedGroupIds:n})}getExpandState(){let e=0,t=0;return this.forEachItem(i=>{i.group&&(i.expanded?e++:t++)}),e>0&&t>0?2:t>0?1:0}doSetSelectedAll(e){selectAllChildren(this.beans,this.allColsTree,e,this.eventType,this.params),this.syncVisibleSelectionState(),this.fireSelectionChangedEvent()}syncVisibleSelectionState(){for(let e=0;e<this.displayedColsList.length;e++)this.virtualList.getComponentAt(e)?.onColumnStateChanged?.()}getSelectionState(){let e=0,t=0;const i=this.beans.columnStateUpdateStrategy,r=i.getPivotMode(isDeferredMode(this.params));if(this.forEachItem(n=>{if(n.group||!n.passesFilter)return;const o=n.column,a=o.colDef;let l;if(r){if(!o.isAllowPivot()&&!o.isAllowRowGroup()&&!o.isAllowValue())return;l=i.isColumnSelectedInPivotModeToolPanel(isDeferredMode(this.params),o)??!1}else{if(a.lockVisible)return;l=i.isColumnVisibleInToolPanel(isDeferredMode(this.params),o)??!1}l?e++:t++}),!(e>0&&t>0))return!(e===0||t>0)}setFilterText(e){this.filterText=(0,import_ag_stack66._exists)(e)?e.toLowerCase():null,this.markFilteredColumns(),this.flattenAndFilterModel()}markFilteredColumns(){const e=i=>(0,import_ag_stack66._exists)(this.filterText)?i.displayName?.toLowerCase().indexOf(this.filterText)!==-1:!0,t=(i,r)=>{let n=!1;if(i.group){const a=e(i);for(const l of i.children){const c=t(l,a||r);c&&(n=c)}}const o=r||n?!0:e(i);return i.passesFilter=o,o};for(const i of this.allColsTree)t(i,!1)}notifyListeners(){this.fireGroupExpandedEvent(),this.fireSelectionChangedEvent()}fireGroupExpandedEvent(){const e=this.getExpandState();this.dispatchLocalEvent({type:"groupExpanded",state:e})}fireSelectionChangedEvent(){if(!this.allColsTree)return;const e=this.getSelectionState();this.dispatchLocalEvent({type:"selectionChanged",state:e})}getExpandedGroups(){const e=[];return this.allColsTree&&this.forEachItem(t=>{t.group&&t.expanded&&e.push(t.columnGroup.groupId)}),e}},AgPrimaryColsListSelector={selector:"AG-PRIMARY-COLS-LIST",component:AgPrimaryColsList},AgPrimaryColsElement={tag:"div",cls:"ag-column-select",children:[{tag:"ag-primary-cols-header",ref:"primaryColsHeaderPanel"},{tag:"ag-primary-cols-list",ref:"primaryColsListPanel"}]},AgPrimaryCols=class extends import_ag_grid_community77.Component{constructor(){super(AgPrimaryColsElement,[AgPrimaryColsHeaderSelector,AgPrimaryColsListSelector]),this.primaryColsHeaderPanel=import_ag_stack67.RefPlaceholder,this.primaryColsListPanel=import_ag_stack67.RefPlaceholder,this.registerCSS(agPrimaryCols_default)}init(e,t,i,r){const{primaryColsHeaderPanel:n,primaryColsListPanel:o}=this;n.init(t);const a=t.suppressColumnFilter,l=t.suppressColumnSelectAll;t.suppressColumnExpandAll&&a&&l&&n.setDisplayed(!1),this.addManagedListeners(o,{groupExpanded:u=>{n.setExpandState(u.state),t.onStateUpdated()},selectionChanged:u=>n.setSelectionState(u.state)}),o.init(t,e,i,r),this.addManagedListeners(n,{expandAll:o.doSetExpandedAll.bind(o,!0),collapseAll:o.doSetExpandedAll.bind(o,!1),selectAll:o.doSetSelectedAll.bind(o,!0),unselectAll:o.doSetSelectedAll.bind(o,!1),filterChanged:u=>o.setFilterText(u.filterText)}),this.positionableFeature=this.createManagedBean(new import_ag_grid_community77.PositionableFeature(this.getGui(),{minHeight:100}))}toggleResizable(e){this.positionableFeature.setResizable(e?{bottom:!0}:!1)}expandGroups(e){this.primaryColsListPanel.setGroupsExpanded(!0,e)}collapseGroups(e){this.primaryColsListPanel.setGroupsExpanded(!1,e)}setColumnLayout(e){this.primaryColsListPanel.setColumnLayout(e)}syncLayoutWithGrid(){this.primaryColsListPanel.onColumnsChanged()}getExpandedGroups(){return this.primaryColsListPanel.getExpandedGroups()}},columnToolPanel_default=".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)}",DEFERRED_TOOL_PANEL_CLASS="ag-column-panel-deferred",ColumnToolPanel=class extends import_ag_grid_community78.Component{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;const e=this.captureGridState();if(!this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled)){this.lastKnownGridState=e;return}const t=this.lastKnownGridState&&this.isGridStateEqual(this.lastKnownGridState,e);this.lastKnownGridState=e,t&&this.resetDeferredState()},this.onExternalGridChange=()=>{!this.isDeferModeEnabled||this.isCommitting||this.beans.columnStateUpdateStrategy.hasPendingChanges(this.isDeferModeEnabled)&&(this.resetDeferredState(),this.lastKnownGridState=this.captureGridState())},this.registerCSS(columnToolPanel_default)}wireBeans(e){this.colToolPanelFactory=e.colToolPanelFactory}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params)}init(e){const i={...(0,import_ag_grid_community78._addGridCommonParams)(this.gos,{suppressColumnMove:!1,suppressColumnSelectAll:!1,suppressColumnFilter:!1,suppressColumnExpandAll:!1,contractColumnSelection:!1,suppressPivotMode:!1,suppressRowGroups:!1,suppressValues:!1,suppressPivots:!1,suppressSyncLayoutWithGrid:!1}),...e};this.params=i,this.appliedParams=e;const{childDestroyFuncs:r,colToolPanelFactory:n,gos:o}=this,a=o.isModuleRegistered("SharedPivot"),l=a||o.isModuleRegistered("SharedRowGrouping");this.isDeferModeEnabled=isDeferredMode(i),this.toggleCss(DEFERRED_TOOL_PANEL_CLASS,this.isDeferModeEnabled),!i.suppressPivotMode&&n&&a&&(this.pivotModePanel=n.createPivotModePanel(this,r,i,this.onPivotModePanelValueChanged));const c=this.createBean(new AgPrimaryCols);if(this.primaryColsPanel=c,r.push(()=>this.destroyBean(this.primaryColsPanel)),c.init(!0,i,"toolPanelUi","columnsToolPanel"),c.addCss("ag-column-panel-column-select"),this.appendChild(c),n){!i.suppressRowGroups&&l&&(this.rowGroupDropZonePanel=n.createRowGroupPanel(this,r,i)),!i.suppressValues&&l&&(this.valuesDropZonePanel=n.createValuesPanel(this,r,i)),!i.suppressPivots&&a&&(this.pivotDropZonePanel=n.createPivotPanel(this,r,i)),this.setLastVisible();const[u]=this.addManagedEventListeners({columnPivotModeChanged:()=>{this.resetChildrenHeight(),this.setLastVisible()}});r.push(()=>u())}if(this.isDeferModeEnabled){const u=this.onExternalGridChange;r.push(...this.addManagedEventListeners({columnEverythingChanged:this.onColumnEverythingChanged,sortChanged:u,columnVisible:u,columnRowGroupChanged:u,columnValueChanged:u,columnPivotChanged:u,columnPivotModeChanged:u,newColumnsLoaded:u,...i.suppressSyncLayoutWithGrid?{}:{columnMoved:u}}))}i.buttons&&(i.buttons.includes("apply")||this.beans.log.warn(298),i.buttons.length&&this.initDeferredButtons(i.buttons)),this.initialised=!0}initDeferredButtons(e){const t=this.createBean(new import_ag_grid_community78.FilterButtonComp({className:"ag-column-panel-buttons"}));this.deferredButtonsComp=t,this.childDestroyFuncs.push(()=>{this.deferredButtonsComp=this.destroyBean(this.deferredButtonsComp)});const i=this.getLocaleTextFunc(),r=e.map(n=>({type:n,label:i(n==="apply"?"applyColumnToolPanel":"cancelColumnToolPanel",n==="apply"?"Apply":"Cancel")}));t.updateButtons(r),t.updateValidity(!1),t.addManagedListeners(t,{apply:this.onDeferredApply,cancel:this.onDeferredCancel}),this.appendChild(t)}resetDeferredState(){this.beans.columnStateUpdateStrategy.reset(this.isDeferModeEnabled),this.deferredButtonsComp?.updateValidity(!1),this.refreshToolPanelLayouts(),this.pivotModePanel?.refreshEditStrategy()}captureGridState(){const{beans:e}=this,t=i=>(i??[]).map(r=>r.getColId());return{rowGroupColIds:t(e.rowGroupColsSvc?.columns),valueColIds:t(e.valueColsSvc?.columns),pivotColIds:t(e.pivotColsSvc?.columns),pivotMode:e.colModel.pivotMode,columnOrder:e.colModel.getCols().map(i=>i.colId),visibleColIds:e.colModel.getCols().filter(i=>i.isVisible()).map(i=>i.colId),sortState:e.colModel.getCols().filter(i=>i.getSort()).map(i=>`${i.colId}:${i.getSort()}:${i.getSortIndex()}`),aggFuncState:(e.valueColsSvc?.columns??[]).map(i=>i.aggFunc),widthState:e.colModel.getCols().map(i=>`${i.colId}:${i.getActualWidth()}`)}}isGridStateEqual(e,t){return(0,import_ag_stack68._areEqual)(e.rowGroupColIds,t.rowGroupColIds)&&(0,import_ag_stack68._areEqual)(e.valueColIds,t.valueColIds)&&(0,import_ag_stack68._areEqual)(e.pivotColIds,t.pivotColIds)&&e.pivotMode===t.pivotMode&&(0,import_ag_stack68._areEqual)(e.columnOrder,t.columnOrder)&&(0,import_ag_stack68._areEqual)(e.visibleColIds,t.visibleColIds)&&(0,import_ag_stack68._areEqual)(e.sortState,t.sortState)&&(0,import_ag_stack68._areEqual)(e.aggFuncState,t.aggFuncState)&&(0,import_ag_stack68._areEqual)(e.widthState,t.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(e){const t=this.colToolPanelFactory;t&&(this.pivotModePanel=t.setPanelVisible(this.pivotModePanel,e,t.createPivotModePanel.bind(t,this,this.childDestroyFuncs,this.params,this.onPivotModePanelValueChanged,!0)),this.setLastVisible())}setRowGroupsSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.rowGroupDropZonePanel=t.setPanelVisible(this.rowGroupDropZonePanel,e,t.createRowGroupPanel.bind(t,this,this.childDestroyFuncs,this.params)),this.setLastVisible())}setValuesSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.valuesDropZonePanel=t.setPanelVisible(this.valuesDropZonePanel,e,t.createValuesPanel.bind(t,this,this.childDestroyFuncs,this.params)),this.setLastVisible())}setPivotSectionVisible(e){const t=this.colToolPanelFactory;t&&(this.pivotDropZonePanel=t.setPanelVisible(this.pivotDropZonePanel,e,t.createPivotPanel.bind(t,this,this.childDestroyFuncs,this.params)),this.pivotDropZonePanel?.setDisplayed(e),this.setLastVisible())}setResizers(){for(const e of[this.primaryColsPanel,this.rowGroupDropZonePanel,this.valuesDropZonePanel,this.pivotDropZonePanel]){if(!e)continue;const t=e.getGui();e.toggleResizable(!t.classList.contains("ag-last-column-drop")&&!t.classList.contains("ag-hidden")&&!t.classList.contains("ag-last-visible-child"))}}setLastVisible(){const e=this.getGui(),t=Array.prototype.slice.call(e.querySelectorAll(".ag-column-drop"));for(const n of t)n.classList.remove("ag-last-column-drop");const i=e.querySelectorAll(".ag-column-drop:not(.ag-hidden)"),r=(0,import_ag_stack68._last)(i);r&&r.classList.add("ag-last-column-drop"),this.primaryColsPanel.getGui().classList.toggle("ag-last-visible-child",!r),this.setResizers()}resetChildrenHeight(){const t=this.getGui().children;for(let i=0;i<t.length;i++){const r=t[i]?.style;r?.removeProperty("height"),r?.removeProperty("flex")}}expandColumnGroups(e){this.primaryColsPanel.expandGroups(e)}collapseColumnGroups(e){this.primaryColsPanel.collapseGroups(e)}setColumnLayout(e){this.primaryColsPanel.setColumnLayout(e)}syncLayoutWithGrid(){this.primaryColsPanel.syncLayoutWithGrid()}destroyChildren(){const e=this.childDestroyFuncs;for(const t of e)t();e.length=0,(0,import_ag_stack68._clearElement)(this.getGui())}refresh(e){const i=!!e.initialState&&e!==this.appliedParams?e.initialState:this.getState();return this.destroyChildren(),this.init({...e,initialState:i}),this.appliedParams=e,!0}getState(){return{expandedGroupIds:this.primaryColsPanel.getExpandedGroups()}}destroy(){this.destroyChildren(),super.destroy()}},import_ag_grid_community87=require("ag-grid-community"),import_ag_grid_community83=require("ag-grid-community"),import_ag_grid_community82=require("ag-grid-community"),import_ag_stack69=require("ag-stack"),import_ag_grid_community79=require("ag-grid-community"),pillDropZonePanel_default=".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;font-weight:400;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-cell-drag-handle.ag-column-select-column-readonly{opacity:.5;pointer-events:none;:where(.ag-icon){opacity:.35}}.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:auto hidden;scrollbar-width:thin;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 _insertArrayIntoArray(e,t,i){e==null||t==null||e.splice(i,0,...t)}var PillDropZonePanelElement={tag:"div",cls:"ag-unselectable",role:"presentation"},PillDropZonePanel=class extends import_ag_grid_community79.Component{constructor(e){super(PillDropZonePanelElement),this.horizontal=e,this.state="notDragging",this.guiDestroyFunctions=[],this.childPillComponents=[],this.resizeEnabled=!1,this.addElementClasses(this.getGui()),this.ePillDropList=(0,import_ag_grid_community79._createElement)({tag:"div"}),this.addElementClasses(this.ePillDropList,"list"),this.registerCSS(pillDropZonePanel_default)}toggleResizable(e){this.positionableFeature.setResizable(e?{bottom:!0}:!1),this.resizeEnabled=e}isSourceEventFromTarget(e){const{dropZoneTarget:t,dragSource:i}=e;return t.contains(i.eElement)}destroy(){this.destroyGui(),super.destroy()}destroyGui(){for(const e of this.guiDestroyFunctions)e();this.guiDestroyFunctions.length=0,this.childPillComponents.length=0,(0,import_ag_stack69._clearElement)(this.getGui()),(0,import_ag_stack69._clearElement)(this.ePillDropList)}init(e){this.params=e??{},this.createManagedBean(new import_ag_grid_community79.ManagedFocusFeature(this.getFocusableElement(),{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.onKeyDown.bind(this)})),this.setupDropTarget(),this.positionableFeature=new import_ag_grid_community79.PositionableFeature(this.getGui()),this.createManagedBean(this.positionableFeature),this.refreshGui(),this.addManagedElementListeners(this.getFocusableElement(),{focusin:this.onFocusIn.bind(this)})}onTabKeyDown(e){const t=(0,import_ag_stack69._findFocusableElements)(this.getFocusableElement(),null,!0),i=t.length;if(i===0)return;const{shiftKey:r}=e,n=(0,import_ag_stack69._getActiveDomElement)(this.beans),o=n===t[0],a=n===(0,import_ag_stack69._last)(t);i===1||o&&r||a&&!r||t[r?0:i-1].focus({preventScroll:!0})}onFocusIn(e){if(this.getFocusableElement().contains(e.relatedTarget))return;const i=e.target;i&&(0,import_ag_stack69._scrollHorizontallyToShow)(i)}onKeyDown(e){const{key:t}=e,{beans:i,horizontal:r,gos:n}=this,o=!r;let a=t===import_ag_grid_community79.KeyCode.DOWN,l=t===import_ag_grid_community79.KeyCode.UP;if(!o){const c=n.get("enableRtl");a=!c&&t===import_ag_grid_community79.KeyCode.RIGHT||c&&t===import_ag_grid_community79.KeyCode.LEFT,l=!c&&t===import_ag_grid_community79.KeyCode.LEFT||c&&t===import_ag_grid_community79.KeyCode.RIGHT}if(!(!a&&!l))if(e.preventDefault(),e.shiftKey)this.moveFocusedItem(l);else{const c=this.getFocusableElement(),u=(0,import_ag_stack69._findNextFocusableElement)({beans:i,rootNode:c,backwards:l});u&&(u.focus(),(0,import_ag_stack69._scrollHorizontallyToShow)(u))}}moveFocusedItem(e){const t=this.getFocusedItem();if(t===-1)return;const i=e?-1:1;if(!this.normalizeAndUpdateInsertIndex(t,t+i))return;const n=this.childPillComponents[t];if(!n.isMovable())return;const o=n.getItem();this.focusItemAtIndex(this.insertIndex),this.rearrangeItems([o],!0)}addElementClasses(e,t){t=t?`-${t}`:"";const i=this.horizontal?"horizontal":"vertical";e.classList.add(`ag-column-drop${t}`,`ag-column-drop-${i}${t}`)}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(e){const t=this.getNewInsertIndex(e);return t<0?!1:this.normalizeAndUpdateInsertIndex(this.insertIndex,t)}normalizeAndUpdateInsertIndex(e,t){const i=this.minimumAllowedNewInsertIndex(),r=Math.max(i,t),n=r!==e;return n&&(this.insertIndex=r),n}getNewInsertIndex(e){const t=e.event,i=this.horizontal?t.clientX:t.clientY,r=this.childPillComponents.map(o=>o.getGui().getBoundingClientRect()),n=r.findIndex(o=>this.horizontal?o.right>i&&o.left<i:o.top<i&&o.bottom>i);if(n===-1){const o=this.gos.get("enableRtl");return r.every(c=>i>(this.horizontal?c.right:c.bottom))?o&&this.horizontal?0:this.childPillComponents.length:r.every(c=>i<(this.horizontal?c.left:c.top))?o&&this.horizontal?this.childPillComponents.length:0:this.insertIndex}return this.insertIndex<=n?n+1:n}checkDragStartedBySelf(e){this.state==="notDragging"&&(this.state="rearrangeItems",this.potentialDndItems=this.getItems(e.dragSource.getDragItem()),this.refreshGui(),this.checkInsertIndex(e),this.refreshGui())}onDragging(e){this.checkDragStartedBySelf(e),this.checkInsertIndex(e)&&this.refreshGui()}handleDragEnterEnd(e){}onDragEnter(e){const t=this.getItems(e.dragSource.getDragItem());this.state="newItemsIn";const i=t.filter(n=>this.isItemDroppable(n,e)),r=i.every(n=>this.childPillComponents.map(o=>o.getItem()).indexOf(n)!==-1);if(i.length!==0){if(this.potentialDndItems=i,r){this.state="notDragging";return}this.handleDragEnterEnd(e),this.checkInsertIndex(e),this.refreshGui()}}isPotentialDndItems(){return!!this.potentialDndItems?.length}handleDragLeaveEnd(e){}onDragLeave(e){if(this.state==="rearrangeItems"){const t=this.getItems(e.dragSource.getDragItem());this.removeItems(t)}this.isPotentialDndItems()&&(this.handleDragLeaveEnd(e),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}onDragCancel(e){this.isPotentialDndItems()&&(this.state==="newItemsIn"&&this.handleDragLeaveEnd(e),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}onDragStop(){this.isPotentialDndItems()&&(this.state==="newItemsIn"?this.addItems(this.potentialDndItems):this.rearrangeItems(this.potentialDndItems),this.potentialDndItems=[],this.refreshGui()),this.state="notDragging"}removeItems(e){const t=this.getExistingItems().filter(i=>!e.includes(i));this.updateItems(t),this.refreshGui()}addItems(e){if(!e)return;const t=this.getExistingItems().slice(),i=e.filter(r=>t.indexOf(r)<0);_insertArrayIntoArray(t,i,this.insertIndex),this.updateItems(t),this.refreshGui()}addItem(e){this.insertIndex=this.getExistingItems().length,this.addItems([e])}rearrangeItems(e,t){let i;return t?i=this.getExistingItems().filter(r=>e.indexOf(r)===-1):i=this.getNonGhostItems().slice(),_insertArrayIntoArray(i,e,this.insertIndex),(0,import_ag_stack69._areEqual)(i,this.getExistingItems())?!1:(this.updateItems(i),this.refreshGui(),!0)}refreshGui(){let e=0;this.horizontal||(e=this.ePillDropList.scrollTop);const t=this.resizeEnabled,i=this.getFocusedItem(),r=this.beans,{eGridDiv:n}=r,o=(0,import_ag_stack69._isKeyboardMode)();let a=null;o&&(a=(0,import_ag_stack69._findNextFocusableElement)({beans:r,rootNode:n})??(0,import_ag_stack69._findNextFocusableElement)({beans:r,rootNode:n,backwards:!0})),this.toggleResizable(!1),this.destroyGui(),this.addIconAndTitleToGui(),this.addEmptyMessageToGui(),this.addItemsToGui(),e!==0&&(this.ePillDropList.scrollTop=e),t&&this.toggleResizable(t),o&&this.restoreFocus(i,a)}getFocusedItem(){const e=this.getGui(),t=(0,import_ag_stack69._getActiveDomElement)(this.beans);return e.contains(t)?Array.from(e.querySelectorAll(".ag-column-drop-cell")).indexOf(t):-1}focusItemAtIndex(e){const t=this.getGui(),r=Array.from(t.querySelectorAll(".ag-column-drop-cell"))[e];r&&r.focus({preventScroll:!0})}restoreFocus(e,t){const i=this.getGui(),r=Array.from(i.querySelectorAll(".ag-column-drop-cell"));if(e===-1)return;r.length===0&&t.focus();const n=Math.min(r.length-1,e),o=r[n];o&&o.focus()}focusList(e){const t=e?this.childPillComponents.length-1:0;this.restoreFocus(t,this.getFocusableElement())}getNonGhostItems(){const e=this.getExistingItems();return this.isPotentialDndItems()?e.filter(t=>!this.potentialDndItems.includes(t)):e}addItemsToGui(){const t=this.getNonGhostItems().map(i=>this.createItemComponent(i,!1));if(this.isPotentialDndItems()){const i=this.potentialDndItems.map(r=>this.createItemComponent(r,!0));this.insertIndex>=t.length?t.push(...i):t.splice(this.insertIndex,0,...i)}this.appendChild(this.ePillDropList),t.forEach((i,r)=>{r>0&&this.addArrow(this.ePillDropList),this.ePillDropList.appendChild(i.getGui())}),this.addAriaLabelsToComponents()}addAriaLabelsToComponents(){const{childPillComponents:e,ePillDropList:t}=this,i=e.length,r=i===0;(0,import_ag_stack69._setAriaRole)(t,r?"presentation":"listbox"),(0,import_ag_stack69._setAriaLabel)(t,r?null:this.getAriaLabel());for(let n=0;n<i;n++){const a=e[n].getGui();(0,import_ag_stack69._setAriaPosInSet)(a,n+1),(0,import_ag_stack69._setAriaSetSize)(a,i)}}createItemComponent(e,t){const i=this.createPillComponent(e,this.dropTarget,t,this.horizontal);return i.addEventListener("columnRemove",this.removeItems.bind(this,[e])),this.createBean(i),this.guiDestroyFunctions.push(()=>this.destroyBean(i)),t||this.childPillComponents.push(i),i}addIconAndTitleToGui(){const{title:e,icon:t}=this.params;if(!e||!t)return;const i=(0,import_ag_grid_community79._createElement)({tag:"div"});if((0,import_ag_stack69._setAriaHidden)(i,!0),this.addElementClasses(i,"title-bar"),this.addElementClasses(t,"icon"),this.toggleCss("ag-column-drop-empty",this.isExistingItemsEmpty()),i.appendChild(t),!this.horizontal){const r=(0,import_ag_grid_community79._createElement)({tag:"span"});this.addElementClasses(r,"title"),r.textContent=e,i.appendChild(r)}this.appendChild(i)}isExistingItemsEmpty(){return this.getExistingItems().length===0}addEmptyMessageToGui(){const{emptyMessage:e}=this.params;if(!e||!this.isExistingItemsEmpty()||this.isPotentialDndItems())return;const t=(0,import_ag_grid_community79._createElement)({tag:"span"});t.textContent=e,this.addElementClasses(t,"empty-message"),this.ePillDropList.appendChild(t)}addArrow(e){if(this.horizontal){const t=this.gos.get("enableRtl"),i=(0,import_ag_grid_community79._createIconNoSpan)(t?"panelDelimiterRtl":"panelDelimiter",this.beans);this.addElementClasses(i,"cell-separator"),e.appendChild(i)}}},import_ag_stack71=require("ag-stack"),import_ag_grid_community81=require("ag-grid-community"),import_ag_stack70=require("ag-stack"),import_ag_grid_community80=require("ag-grid-community"),PillDragCompElement={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"}]},PillDragComp=class extends import_ag_grid_community80.Component{constructor(e,t,i,r,n){super(),this.dragSourceDropTarget=e,this.ghost=t,this.horizontal=i,this.template=r,this.agComponents=n,this.eText=import_ag_stack70.RefPlaceholder,this.eDragHandle=import_ag_stack70.RefPlaceholder,this.eButton=import_ag_stack70.RefPlaceholder}postConstruct(){this.setTemplate(this.template??PillDragCompElement,this.agComponents);const e=this.getGui(),{beans:t,eDragHandle:i,eText:r,eButton:n}=this;this.addElementClasses(e),this.addElementClasses(i,"drag-handle"),this.addElementClasses(r,"text"),this.addElementClasses(n,"button"),i.appendChild((0,import_ag_grid_community80._createIconNoSpan)("columnDrag",t)),n.appendChild((0,import_ag_grid_community80._createIconNoSpan)("cancel",t)),this.tooltipFeature=this.createOptionalManagedBean(t.tooltipSvc?.createTooltip({getGui:()=>this.getGui(),getTooltipComponentDefinition:()=>this.getTooltipComponentDefinition(),getTooltipValue:()=>this.getTooltip(),getLocation:()=>this.getTooltipLocation(),getAdditionalParams:()=>this.getTooltipParams()})),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(){const e=this.getLocaleTextFunc(),t=[this.getAriaDisplayName()];this.addAdditionalAriaInstructions(t,e),(0,import_ag_stack70._setAriaLabel)(this.getGui(),t.join(". "))}addAdditionalAriaInstructions(e,t){if(this.isRemovable()){const i=t("ariaDropZoneColumnComponentDescription","Press DELETE to remove");e.push(i)}}setupTooltip(){const e=()=>this.tooltipFeature?.refreshTooltip();e(),this.addManagedEventListeners({newColumnsLoaded:e})}getTooltipLocation(){return"UNKNOWN"}getTooltipParams(){return{}}getTooltipComponentDefinition(){}getDragSourceId(){}getDefaultIconName(){return"notAllowed"}addDragSource(){const{beans:{dragAndDrop:e},eDragHandle:t}=this,i=this.createGetDragItem(),r=this.getDefaultIconName(),n={type:this.getDragSourceType(),sourceId:this.getDragSourceId(),eElement:t,getDefaultIconName:()=>r,getDragItem:i,dragItemName:this.getDisplayName()};e?.addDragSource(n,!0),this.addDestroyFunc(()=>e?.removeDragSource(n))}setupComponents(){this.eText.textContent=this.getDisplayValue(),this.setupRemove(),this.ghost&&this.addCss("ag-column-drop-cell-ghost")}isRemovable(){return!0}refreshRemove(){(0,import_ag_stack70._setDisplayed)(this.eButton,this.isRemovable())}setupRemove(){this.refreshRemove();const e={type:"columnRemove"};this.addGuiEventListener("keydown",i=>this.onKeyDown(i)),this.addManagedElementListeners(this.eButton,{click:i=>{this.dispatchLocalEvent(e),i.stopPropagation()}});const t=new import_ag_grid_community80.TouchListener(this.eButton);this.addManagedListeners(t,{tap:()=>this.dispatchLocalEvent(e)}),this.addDestroyFunc(t.destroy.bind(t))}onKeyDown(e){e.key===import_ag_grid_community80.KeyCode.DELETE&&this.isRemovable()&&(e.preventDefault(),this.dispatchLocalEvent({type:"columnRemove"}))}getDisplayValue(){return this.getDisplayName()}addElementClasses(e,t){t=t?`-${t}`:"";const i=this.horizontal?"horizontal":"vertical";e.classList.add(`ag-column-drop-cell${t}`,`ag-column-drop-${i}-cell${t}`)}destroy(){super.destroy(),this.dragSourceDropTarget=null}},DropZoneColumnComp=class extends PillDragComp{constructor(e,t,i,r,n,o){super(t,i,n),this.column=e,this.dropZonePurpose=r,this.updateParams=o,this.eSortIndicator=import_ag_stack71.RefPlaceholder,this.popupShowing=!1,this.deferApply=isDeferredMode(o)}postConstruct(){const{sortSvc:e,colNames:t}=this.beans;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"}},e?{tag:"ag-sort-indicator",ref:"eSortIndicator"}:void 0,{tag:"span",ref:"eButton",cls:"ag-column-drop-cell-button",role:"presentation"}]},e&&(this.agComponents=[e.SortIndicatorSelector]),this.displayName=t.getDisplayNameForColumn(this.column,"columnDrop"),super.postConstruct(),this.deferApply&&this.eDragHandle.setAttribute("data-column-tool-panel-deferred",""),e&&(this.setupSort(),this.addManagedEventListeners({sortChanged:()=>{this.setupAria()}})),this.isGroupingZone()&&this.addManagedPropertyListener("groupLockGroupColumns",()=>{this.refreshRemove(),this.refreshDraggable(),this.setupAria()})}getItem(){return this.column}getDisplayName(){return this.displayName}getTooltip(){const e=this.column.colDef;return(0,import_ag_grid_community81._resolveHeaderTooltipValue)(e,(0,import_ag_grid_community81._addGridCommonParams)(this.gos,{location:this.getTooltipLocation(),colDef:e,column:this.column,value:this.displayName,valueFormatted:this.displayName}))}getTooltipLocation(){switch(this.dropZonePurpose){case"rowGroup":return"rowGroupColumnsList";case"pivot":return"pivotColumnsList";case"aggregation":return"valueColumnsList"}}getTooltipParams(){return{colDef:this.column.colDef,column:this.column,valueFormatted:this.displayName}}getTooltipComponentDefinition(){return(0,import_ag_grid_community81._getHeaderTooltipComponentDefinition)(this.column.colDef)}addAdditionalAriaInstructions(e,t){const i=this.gos.get("functionsReadOnly");if(this.isAggregationZone()&&!i){const a=t("ariaDropZoneColumnValueItemDescription","Press ENTER to change the aggregation type");e.push(a)}const r=this.column.isSortable(),n=r&&this.isGroupingZone()&&!this.gos.get("rowGroupPanelSuppressSort"),o=r&&this.isPivotZone()&&!this.gos.get("pivotPanelSuppressSort");if(n||o){const a=t("ariaDropZoneColumnGroupItemDescription","Press ENTER to sort");e.push(a)}super.addAdditionalAriaInstructions(e,t)}isMovable(){return this.isDraggable()}isDraggable(){return this.isReadOnly()}isRemovable(){return this.isReadOnly()}isReadOnly(){return!this.isGroupingAndLocked()&&!this.gos.get("functionsReadOnly")}getAriaDisplayName(){const e=this.getLocaleTextFunc(),{name:t,aggFuncName:i}=this.getColumnAndAggFuncName(),r=e("ariaDropZoneColumnComponentAggFuncSeparator"," of "),n={asc:e("ariaDropZoneColumnComponentSortAscending","ascending"),desc:e("ariaDropZoneColumnComponentSortDescending","descending")},o=this.getCurrentSortDirection(this.column),a=this.gos.get("rowGroupPanelSuppressSort");return[i&&`${i}${r}`,t,this.isGroupingZone()&&!a&&o&&`, ${n[o]}`].filter(l=>!!l).join("")}getColumnAndAggFuncName(){const e=this.displayName;let t="";if(this.isAggregationZone()){const i=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column),r=typeof i=="string"?i:"agg";t=this.getLocaleTextFunc()(r,r)}return{name:e,aggFuncName:t}}setupSort(){this.column.isSortable()&&(this.isGroupingZone()?this.setupGroupSort():this.isPivotZone()&&this.setupPivotSort())}setupGroupSort(){this.gos.get("rowGroupPanelSuppressSort")||this.bindSort(this.getSortDefOverride.bind(this),(e,t)=>this.beans.columnStateUpdateStrategy.progressSortFromEvent(this.deferApply,e,t))}setupPivotSort(){this.gos.get("pivotPanelSuppressSort")||(this.bindSort(this.getPivotSortDefOverride.bind(this),e=>this.beans.columnStateUpdateStrategy.progressPivotSortFromEvent(this.deferApply,e)),this.addManagedEventListeners({gridColumnsChanged:()=>{this.eSortIndicator.refresh(),this.setupAria()}}))}bindSort(e,t){const{column:i,eSortIndicator:r}=this;r.setupSort(i,!0,e);const n=o=>{o.preventDefault(),t(i,o),this.column&&(r.refresh(),this.setupAria(),refreshDeferredToolPanelUi(this.beans,this.updateParams))};this.addGuiEventListener("click",n),this.addGuiEventListener("keydown",o=>{o.key===import_ag_grid_community81.KeyCode.ENTER&&n(o)})}getCurrentSortDirection(e){return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,e)?.direction??null}getSortDefOverride(){if(this.deferApply)return this.beans.columnStateUpdateStrategy.getSortDef(this.deferApply,this.column)}getPivotSortDefOverride(){const e=this.beans,t=(0,import_ag_grid_community81._resolvePivotSort)(e,e.columnStateUpdateStrategy.getPivotSort(this.deferApply,this.column));return t===null?null:{type:"default",direction:t}}getDefaultIconName(){return"hide"}createGetDragItem(){const{column:e}=this;return()=>{const t={};return t[e.getId()]=e.isVisible(),{columns:[e],visibleState:t}}}setupComponents(){super.setupComponents(),this.isAggregationZone()&&!this.gos.get("functionsReadOnly")&&this.addGuiEventListener("click",this.onShowAggFuncSelection.bind(this))}onKeyDown(e){super.onKeyDown(e),e.key===import_ag_grid_community81.KeyCode.ENTER&&this.isAggregationZone()&&!this.gos.get("functionsReadOnly")&&(e.preventDefault(),this.onShowAggFuncSelection())}getDisplayValue(){const{name:e,aggFuncName:t}=this.getColumnAndAggFuncName();return this.isAggregationZone()?`${t}(${e})`:e}onShowAggFuncSelection(){if(this.popupShowing)return;this.popupShowing=!0;const{aggFuncSvc:e,popupSvc:t}=this.beans,i=new VirtualList({cssIdentifier:"select-agg-func"}),r=e.getFuncNames(this.column),n=this.getGui(),o=i.getGui();i.setModel({getRow:function(g){return r[g]},getRowCount:function(){return r.length}}),this.createBean(i);const a=(0,import_ag_grid_community81._createElement)({tag:"div",cls:"ag-select-agg-func-popup"});a.style.top="0px",a.style.left="0px",a.appendChild(o),a.style.width=`${n.clientWidth}px`;const[l]=this.addManagedElementListeners(a,{focusout:g=>{!a.contains(g.relatedTarget)&&d&&d.hideFunc()}}),c=g=>{this.destroyBean(i),this.popupShowing=!1,g?.key==="Escape"&&n.focus(),l&&l()},u=this.getLocaleTextFunc(),d=t.addPopup({modal:!0,eChild:a,closeOnEsc:!0,closedCallback:c,ariaLabel:u("ariaLabelAggregationFunction","Aggregation Function")});d&&i.setComponentCreator(this.createAggSelect.bind(this,d.hideFunc)),i.addGuiEventListener("keydown",g=>{if(g.key===import_ag_grid_community81.KeyCode.ENTER||g.key===import_ag_grid_community81.KeyCode.SPACE){const f=i.getLastFocusedRow();if(f==null)return;const m=i.getComponentAt(f);m&&m.selectItem()}}),t.positionPopupByComponent({type:"aggFuncSelect",eventSource:n,ePopup:a,keepWithinBounds:!0,additionalParams:{column:this.column},position:"under"}),i.refresh();const h=this.beans.columnStateUpdateStrategy.getColumnAggFunc(this.deferApply,this.column);let p=r.findIndex(g=>g===h);p===-1&&(p=0),i.focusRow(p)}createAggSelect(e,t){const i=()=>{if(e(),this.getGui().focus(),this.beans.columnStateUpdateStrategy.setColumnAggFunc(this.deferApply,this.column,t,"toolPanelDragAndDrop"),this.column){const l=this.getGui().querySelector(".ag-column-drop-cell-text");l&&(l.textContent=this.getDisplayValue()),this.setupAria()}refreshDeferredToolPanelUi(this.beans,this.updateParams)},r=this.getLocaleTextFunc(),n=(t||"").toString(),o=r(n,n);return new AggItemComp(i,o)}isGroupingAndLocked(){return this.isGroupingZone()&&isRowGroupColLocked(this.column,this.beans)}isAggregationZone(){return this.dropZonePurpose==="aggregation"}isGroupingZone(){return this.dropZonePurpose==="rowGroup"}isPivotZone(){return this.dropZonePurpose==="pivot"}getDragSourceType(){return import_ag_grid_community81.DragSourceType.ToolPanel}destroy(){super.destroy(),this.column=null}},AggItemComp=class extends import_ag_grid_community81.Component{constructor(e,t){super({tag:"div",cls:"ag-select-agg-func-item",children:t}),this.selectItem=e,this.addGuiEventListener("click",this.selectItem)}},BaseDropZonePanel=class extends PillDropZonePanel{constructor(e,t,i,r=!1){super(e),this.dropZonePurpose=t,this.updateParams=i,this.embedded=r,this.addElementClasses(this.getGui(),this.dropZonePurpose.toLowerCase())}init(e){super.init(e),this.addManagedEventListeners({newColumnsLoaded:this.refreshGui.bind(this)}),this.addManagedPropertyListeners(["functionsReadOnly","rowGroupPanelSuppressSort","groupLockGroupColumns"],this.refreshGui.bind(this))}getItems(e){return e.columns??[]}isInterestedIn(e,t){return e===import_ag_grid_community82.DragSourceType.HeaderCell?!0:e!==import_ag_grid_community82.DragSourceType.ToolPanel?!1:this.horizontal?!t.hasAttribute("data-column-tool-panel-deferred"):!0}minimumAllowedNewInsertIndex(){const{gos:e,rowGroupColsSvc:t}=this.beans,i=e.get("groupLockGroupColumns"),r=t?.columns.length??0;return i===-1?r:Math.min(i,r)}shouldToggleColumnVisibility(e,t){return this.isRowGroupPanel()&&(0,import_ag_grid_community82._shouldUpdateColVisibilityAfterGroup)(this.gos,t)&&!e.fromNudge}handleDragEnterEnd(e){if(this.shouldToggleColumnVisibility(e,!0)){const i=e.dragSource.getDragItem().columns;this.setColumnsVisible(i,!1,"uiColumnDragged")}}handleDragLeaveEnd(e){if(this.shouldToggleColumnVisibility(e,!1)){const t=e.dragSource.getDragItem();this.setColumnsVisible(t.columns,!0,"uiColumnDragged")}}setColumnsVisible(e,t,i){if(!e||isDeferredMode(this.updateParams))return;const r=e.filter(n=>!n.colDef.lockVisible);this.beans.columnStateUpdateStrategy.setColumnsVisible(!1,r,t,i)}isRowGroupPanel(){return this.dropZonePurpose==="rowGroup"}createPillComponent(e,t,i,r){return new DropZoneColumnComp(e,t,i,this.dropZonePurpose,r,this.updateParams)}},PivotDropZonePanel=class extends BaseDropZonePanel{constructor(e,t,i=!1){super(e,"pivot",t,i)}postConstruct(){const e=this.getLocaleTextFunc(),t=e("pivotColumnsEmptyMessage","Drag here to set column labels"),i=e("pivots","Column Labels");super.init({icon:(0,import_ag_grid_community83._createIconNoSpan)("pivotPanel",this.beans,null),emptyMessage:t,title:i}),this.horizontal&&!this.embedded&&(0,import_ag_grid_community83._addFocusableContainerListener)(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(){const e=this.beans.colModel,t=e.pivotMode;if(this.horizontal)switch(this.gos.get("pivotPanelShow")){case"always":this.setDisplayed(t);break;case"onlyWhenPivoting":{const i=e.isPivotActive();this.setDisplayed(t&&i);break}default:this.setDisplayed(!1);break}else this.setDisplayed(this.beans.columnStateUpdateStrategy.getPivotMode(isDeferredMode(this.updateParams)))}isItemDroppable(e,t){if(this.gos.get("functionsReadOnly")||!e.primary)return!1;const i=this.beans.columnStateUpdateStrategy.getPivotColumns(isDeferredMode(this.updateParams)).includes(e);return e.isAllowPivot()&&(!i||this.isSourceEventFromTarget(t))}updateItems(e){this.beans.columnStateUpdateStrategy.setPivotColumns(isDeferredMode(this.updateParams),e,"toolPanelUi"),refreshDeferredToolPanelUi(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"pivot":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getPivotColumns(isDeferredMode(this.updateParams))}getFocusableContainerName(){return"pivotToolbar"}},import_ag_grid_community84=require("ag-grid-community"),RowGroupDropZonePanel=class extends BaseDropZonePanel{constructor(e,t,i=!1){super(e,"rowGroup",t,i)}postConstruct(){const e=this.getLocaleTextFunc(),t=e("rowGroupColumnsEmptyMessage","Drag here to set row groups"),i=e("groups","Row Groups");super.init({icon:(0,import_ag_grid_community84._createIconNoSpan)("rowGroupPanel",this.beans,null),emptyMessage:t,title:i}),this.horizontal&&!this.embedded&&(0,import_ag_grid_community84._addFocusableContainerListener)(this.beans,this,this.getGui()),this.addManagedEventListeners({columnRowGroupChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaRowGroupDropZonePanelLabel","Row Groups")}isItemDroppable(e,t){if(this.gos.get("functionsReadOnly")||!e.primary||e.showRowGroup)return!1;const i=this.beans.columnStateUpdateStrategy.getRowGroupColumns(isDeferredMode(this.updateParams)).includes(e);return e.isAllowRowGroup()&&(!i||this.isSourceEventFromTarget(t))}updateItems(e){this.beans.columnStateUpdateStrategy.setRowGroupColumns(isDeferredMode(this.updateParams),e,"toolPanelUi"),refreshDeferredToolPanelUi(this.beans,this.updateParams)}getIconName(){return this.isPotentialDndItems()?"group":"notAllowed"}getExistingItems(){return this.beans.columnStateUpdateStrategy.getRowGroupColumns(isDeferredMode(this.updateParams))}getFocusableContainerName(){return"rowGroupToolbar"}},import_ag_grid_community85=require("ag-grid-community"),ValuesDropZonePanel=class extends BaseDropZonePanel{constructor(e,t){super(e,"aggregation",t)}postConstruct(){const e=this.getLocaleTextFunc(),t=e("valueColumnsEmptyMessage","Drag here to aggregate"),i=e("values","Values");super.init({icon:(0,import_ag_grid_community85._createIconNoSpan)("valuePanel",this.beans,null),emptyMessage:t,title:i}),this.addManagedEventListeners({columnValueChanged:this.refreshGui.bind(this)})}getAriaLabel(){return this.getLocaleTextFunc()("ariaValuesDropZonePanelLabel","Values")}getIconName(){return this.isPotentialDndItems()?"aggregate":"notAllowed"}isItemDroppable(e,t){if(this.gos.get("functionsReadOnly")||!e.primary)return!1;const i=this.beans.columnStateUpdateStrategy.getValueColumns(isDeferredMode(this.updateParams)).includes(e);return e.isAllowValue()&&(!i||this.isSourceEventFromTarget(t))}updateItems(e){this.beans.columnStateUpdateStrategy.setValueColumns(isDeferredMode(this.updateParams),e,"toolPanelUi"),refreshDeferredToolPanelUi(this.beans,this.updateParams)}getExistingItems(){return this.beans.columnStateUpdateStrategy.getValueColumns(isDeferredMode(this.updateParams))}},import_ag_stack72=require("ag-stack"),import_ag_grid_community86=require("ag-grid-community"),PivotModePanelElement={tag:"div",cls:"ag-pivot-mode-panel",children:[{tag:"ag-toggle-button",ref:"cbPivotMode",cls:"ag-pivot-mode-select"}]},PivotModePanel=class extends import_ag_grid_community86.Component{constructor(e,t){super(),this.params=e,this.onPivotModeValueChanged=t,this.cbPivotMode=import_ag_stack72.RefPlaceholder}getCurrentPivotMode(){return this.beans.columnStateUpdateStrategy.getPivotMode(isDeferredMode(this.params))}syncFromGrid(){this.cbPivotMode.setValue(this.getCurrentPivotMode())}refreshEditStrategy(){this.syncFromGrid()}postConstruct(){const{columnStateUpdateStrategy:e,ctrlsSvc:t}=this.beans;this.setTemplate(PivotModePanelElement,[import_ag_grid_community86.AgToggleButtonSelector]);const i=this.cbPivotMode;i.setValue(this.getCurrentPivotMode());const r=this.getLocaleTextFunc();i.setLabel(r("pivotMode","Pivot Mode"));const n=()=>{const a=!!i.getValue();e.setPivotMode(isDeferredMode(this.params),a,"toolPanelUi"),this.onPivotModeValueChanged?.()},o=()=>{i.setValue(this.getCurrentPivotMode()),t.getHeaderRowContainerCtrl()?.refresh()};this.addManagedListeners(i,{fieldValueChanged:n}),this.addManagedEventListeners({newColumnsLoaded:o,columnPivotModeChanged:o})}},ColumnToolPanelFactory=class extends import_ag_grid_community87.BeanStub{constructor(){super(...arguments),this.beanName="colToolPanelFactory"}setPanelVisible(e,t,i){return e?e.setDisplayed(t):t&&(e=i()),e}createRowGroupPanel(e,t,i){return this.createPanel(e,t,new RowGroupDropZonePanel(!1,i))}createValuesPanel(e,t,i){return this.createPanel(e,t,new ValuesDropZonePanel(!1,i))}createPivotPanel(e,t,i){return this.createPanel(e,t,new PivotDropZonePanel(!1,i))}createPivotModePanel(e,t,i,r,n){return this.createPanel(e,t,new PivotModePanel(i,r),n)}createPanel(e,t,i,r){return i=e.createBean(i),t.push(()=>e.destroyBean(i)),r?e.prependChild(i):e.appendChild(i),i}},import_ag_grid_community89=require("ag-grid-community"),import_ag_stack73=require("ag-stack"),import_ag_grid_community88=require("ag-grid-community"),noop=()=>{};function getNextPivotSort(e){return e==="desc"?null:e===null?"asc":"desc"}var ColumnStateUpdateExecutionStrategy=class extends import_ag_grid_community88.BeanStub{constructor(){super(...arguments),this.beanName="columnStateUpdateExecutionStrategy"}applyColumnState(e,t,i){this.getUpdateStrategy(e).applyColumnState(t,i)}commit(e){this.getUpdateStrategy(e).commit()}hasPendingChanges(e){return this.getUpdateStrategy(e).hasPendingChanges()}moveColumns(e,t,i,r){this.getUpdateStrategy(e).moveColumns(t,i,r)}reset(e){this.getUpdateStrategy(e).reset()}setColumnsVisible(e,t,i,r){this.getUpdateStrategy(e).setColumnsVisible(t,i,r)}isColumnVisibleInToolPanel(e,t){return this.getUpdateStrategy(e).isColumnVisibleInToolPanel(t)}setRowGroupColumns(e,t,i){this.getUpdateStrategy(e).setRowGroupColumns(t,i)}getRowGroupColumns(e){return this.getUpdateStrategy(e).getRowGroupColumns()}getPrimaryColumns(e){return this.getUpdateStrategy(e).getPrimaryColumns()}hasDeferredColumnOrder(e){return this.getUpdateStrategy(e).hasDeferredColumnOrder()}setValueColumns(e,t,i){this.getUpdateStrategy(e).setValueColumns(t,i)}getValueColumns(e){return this.getUpdateStrategy(e).getValueColumns()}setColumnAggFunc(e,t,i,r){this.getUpdateStrategy(e).setColumnAggFunc(t,i,r)}getColumnAggFunc(e,t){return this.getUpdateStrategy(e).getColumnAggFunc(t)}setPivotColumns(e,t,i){this.getUpdateStrategy(e).setPivotColumns(t,i)}getPivotColumns(e){return this.getUpdateStrategy(e).getPivotColumns()}setPivotMode(e,t,i){this.getUpdateStrategy(e).setPivotMode(t,i)}getPivotMode(e){return this.getUpdateStrategy(e).getPivotMode()}isColumnSelectedInPivotModeToolPanel(e,t){return this.getUpdateStrategy(e).isColumnSelectedInPivotModeToolPanel(t)}progressSortFromEvent(e,t,i){this.getUpdateStrategy(e).progressSortFromEvent(t,i)}getSortDef(e,t){return this.getUpdateStrategy(e).getSortDef(t)}progressPivotSortFromEvent(e,t){this.getUpdateStrategy(e).progressPivotSortFromEvent(t)}getPivotSort(e,t){return this.getUpdateStrategy(e).getPivotSort(t)}getUpdateStrategy(e){return e?this.getDeferredUpdateStrategy():this.getSyncUpdateStrategy()}getSyncUpdateStrategy(){return this.syncUpdateStrategy??(this.syncUpdateStrategy=new SynchronousColumnStateUpdateStrategy(this.beans))}getDeferredUpdateStrategy(){return this.deferredUpdateStrategy??(this.deferredUpdateStrategy=new DeferredColumnStateUpdateStrategy(this.beans))}},SynchronousColumnStateUpdateStrategy=class{constructor(e){this.beans=e,this.lastPivotColIds=[],this.reset=noop,this.commit=noop,this.hasPendingChanges=()=>!1,this.hasDeferredColumnOrder=()=>!1}applyColumnState(e,t){e.length&&(0,import_ag_grid_community88._applyColumnState)(this.beans,{state:e},t)}moveColumns(e,t,i){this.beans.colMoves?.moveColumns(e,t,i),syncPrimaryColDefOrderFromCurrentColumns(this.beans)}setColumnsVisible(e,t,i){(0,import_ag_grid_community88._setColsVisible)(this.beans,e,t,i,!0)}setRowGroupColumns(e,t){this.beans.rowGroupColsSvc?.setColumns(e,t)}getRowGroupColumns(){return this.beans.rowGroupColsSvc?.columns??[]}getPrimaryColumns(){return getPrimaryColumns(this.beans)}setValueColumns(e,t){this.beans.valueColsSvc?.setColumns(e,t)}getValueColumns(){return this.beans.valueColsSvc?.columns??[]}setColumnAggFunc(e,t,i){this.beans.valueColsSvc?.setColumnAggFunc(e,t,i)}getColumnAggFunc(e){return e.aggFunc}setPivotColumns(e,t){this.lastPivotColIds=e.map(i=>i.colId),this.beans.pivotColsSvc?.setColumns(e,t)}getPivotColumns(){return this.beans.pivotColsSvc?.columns??[]}setPivotMode(e,t){const{gos:i,colModel:r,ctrlsSvc:n}=this.beans;if(e===r.pivotMode)return;const o=this.beans.pivotColsSvc?.columns.map(a=>a.colId)??[];if(o.length>0&&(this.lastPivotColIds=o),!e){const a=this.beans.colModel.colDefList;(0,import_ag_grid_community88._applyColumnState)(this.beans,{state:a.map(l=>({colId:l.colId,pivot:!1,pivotIndex:null}))},t)}i.updateGridOptions({options:{pivotMode:e},source:t}),e&&this.lastPivotColIds.length>0&&this.beans.pivotColsSvc?.setColumns(this.lastPivotColIds,t),n.getHeaderRowContainerCtrl()?.refresh()}progressSortFromEvent(e,t){this.beans.sortSvc?.progressSortFromEvent(e,t)}isColumnVisibleInToolPanel(e){return e.isVisible()}isColumnSelectedInPivotModeToolPanel(e){return e.isAnyFunctionActive()}getPivotMode(){return this.beans.colModel.pivotMode}getSortDef(e){return e.getSortDef()}progressPivotSortFromEvent(e){e.pivotSort=getNextPivotSort((0,import_ag_grid_community88._resolvePivotSort)(this.beans,e.pivotSort)),(0,import_ag_grid_community88._dispatchColumnChangedEvent)(this.beans.eventSvc,"columnPivotChanged",[e],"uiColumnSorted")}getPivotSort(e){return e.pivotSort}},DeferredColumnStateUpdateStrategy=class{constructor(e){this.beans=e,this.state={},this.sequence=0,this.lastPivotColIds=[]}reset(){this.sequence=0,this.state={}}hasPendingChanges(){const{state:e,beans:t}=this,{columnState:i,columnOrder:r,rowGroup:n,aggregation:o,pivot:a,pivotMode:l,sort:c,aggFuncs:u}=e,d=h=>(h??[]).map(p=>p.colId);if(i)for(const[h,p]of i.patches){const g=t.colModel.getNonPivotColById(h);if(g&&(p.hide!==void 0&&p.hide!==!g.visible||p.rowGroup!==void 0&&!!p.rowGroup!==g.rowGroupActive||p.pivot!==void 0&&!!p.pivot!==g.pivotActive||p.aggFunc!==void 0&&((p.aggFunc??null)!==(g.aggFunc??null)||p.aggFunc!=null!==g.isValueActive())))return!0}if(r&&!(0,import_ag_stack73._areEqual)(r.colIds,getPrimaryColumnIds(t))||n&&!(0,import_ag_stack73._areEqual)(n.colIds,d(t.rowGroupColsSvc?.columns))||o&&!(0,import_ag_stack73._areEqual)(o.colIds,d(t.valueColsSvc?.columns))||a&&!(0,import_ag_stack73._areEqual)(a.colIds,d(t.pivotColsSvc?.columns))||l&&l.pivotMode!==t.colModel.pivotMode)return!0;if(c){for(const[h,p]of c.sortDefsByColId){const g=t.colModel.getNonPivotColById(h);if(g&&(p?.direction??null)!==(g.getSortDef()?.direction??null))return!0}if(c.baselineCleared){const h=getPrimaryColumns(t);for(const p of h)if(!c.sortDefsByColId.has(p.colId)&&p.getSortDef()!==null)return!0}}if(u)for(const[h,p]of u.values){const g=t.colModel.getNonPivotColById(h);if(g&&p!==g.aggFunc)return!0}return!1}commit(){const{beans:e,state:t}=this,i=[];for(const o of Object.keys(t)){const a=t[o];a&&i.push({type:o,...a})}const r=i.sort((o,a)=>o.seq-a.seq),n=e.colModel;n.beginColBatch();try{for(const o of r)isRoleColumnOperation(o)||(n.endColBatch("toolPanelUi"),n.beginColBatch()),this.applyOperation(o)}finally{n.endColBatch("toolPanelUi")}this.reset()}applyOperation(e){const{beans:t}=this;switch(e.type){case"columnState":{(0,import_ag_grid_community88._applyColumnState)(t,{state:[...e.patches.values()]},e.eventType);break}case"columnOrder":{const i=e.colIds.map(r=>t.colModel.getNonPivotColById(r)).filter(r=>!!r&&isPrimaryColDefColumn(r));if(!t.colModel.pivotMode)for(let r=0;r<i.length;r++){const n=i[r],o=t.colModel.colsList,a=o.findIndex(c=>isPrimaryColDefColumn(c)),l=(a>=0?a:0)+r;o[l]!==n&&t.colMoves?.moveColumns([n],l,e.eventType,!0)}syncPrimaryColDefOrder(t,i);break}case"rowGroup":{t.rowGroupColsSvc?.setColumns(e.colIds,e.eventType);break}case"aggregation":{t.valueColsSvc?.setColumns(e.colIds,e.eventType);break}case"pivot":{this.lastPivotColIds=e.colIds,t.pivotColsSvc?.setColumns(e.colIds,e.eventType);break}case"pivotMode":{const{colModel:i,ctrlsSvc:r,gos:n}=t;if(e.pivotMode!==i.pivotMode){const o=t.pivotColsSvc?.columns.map(a=>a.colId)??[];if(o.length>0&&(this.lastPivotColIds=o),!e.pivotMode){const l=t.colModel.colDefList.map(c=>({colId:c.colId,pivot:!1,pivotIndex:null}));(0,import_ag_grid_community88._applyColumnState)(t,{state:l},e.eventType)}if(n.updateGridOptions({options:{pivotMode:e.pivotMode},source:e.eventType}),e.pivotMode){const a=this.state.pivot?.colIds??this.lastPivotColIds;a.length>0&&t.pivotColsSvc?.setColumns(a,e.eventType)}r.getHeaderRowContainerCtrl()?.refresh()}break}case"sort":{const i=[];let r=0;for(const[n,o]of e.sortDefsByColId)i.push({colId:n,sort:o?.direction??null,sortIndex:o?.direction?r++:null,sortType:o?.type??void 0});(0,import_ag_grid_community88._applyColumnState)(t,{state:i,defaultState:e.baselineCleared?{sort:null,sortIndex:null,sortType:void 0}:void 0},e.eventType);break}case"aggFuncs":{for(const[i,r]of e.values){const n=t.colModel.getNonPivotColById(i);n&&t.valueColsSvc?.setColumnAggFunc(n,r,e.eventType)}break}}}applyColumnState(e,t){for(const r of e)mergeColumnStatePatch(this.state,r);const i=ensureColumnStateDraft(this.state);i.seq=nextSeq(this.sequence),this.sequence=i.seq,i.eventType=t}moveColumns(e,t,i){const r=new Set(e.map(c=>c.colId)),o=(this.state.columnOrder?.colIds??getPrimaryColumnIds(this.beans)).filter(c=>!r.has(c)),a=e.map(c=>c.colId),l=nextSeq(this.sequence);this.sequence=l,this.state.columnOrder={colIds:[...o.slice(0,t),...a,...o.slice(t)],eventType:i,seq:l}}setColumnsVisible(e,t,i){for(const n of e)n.colDef.lockVisible||mergeColumnStatePatch(this.state,{colId:n.colId,hide:!t});const r=ensureColumnStateDraft(this.state);r.seq=nextSeq(this.sequence),this.sequence=r.seq,r.eventType=i}setRowGroupColumns(e,t){clearDeferredFunctionPatches(this.state,"rowGroup");const i=nextSeq(this.sequence);this.sequence=i,this.state.rowGroup={colIds:e.map(r=>r.colId),eventType:t,seq:i}}setValueColumns(e,t){clearDeferredFunctionPatches(this.state,"aggFunc");const i=new Set((this.beans.valueColsSvc?.columns??[]).map(o=>o.colId)),r=ensureAggFuncsDraft(this.state);for(const o of e)if(!i.has(o.colId)&&!r.values.has(o.colId)){const a=o.aggFunc,l=a??this.beans.aggFuncSvc?.getDefaultAggFunc(o);l!=null&&r.values.set(o.colId,l)}const n=nextSeq(this.sequence);this.sequence=n,r.seq=n,r.eventType=t,this.state.aggregation={colIds:e.map(o=>o.colId),eventType:t,seq:n}}setColumnAggFunc(e,t,i){mergeColumnStatePatch(this.state,{colId:e.colId,aggFunc:t});const r=ensureColumnStateDraft(this.state);r.seq=nextSeq(this.sequence),this.sequence=r.seq,r.eventType=i;const n=ensureAggFuncsDraft(this.state);n.seq=r.seq,n.eventType=i,n.values.set(e.colId,t)}getColumnAggFunc(e){const t=e.colId;return this.state.aggFuncs?.values.has(t)?this.state.aggFuncs.values.get(t):e.aggFunc}isColumnVisibleInToolPanel(e){const t=this.state.columnState?.patches.get(e.colId);return t?.hide!==void 0?!t.hide:e.visible}isColumnSelectedInPivotModeToolPanel(e){const t=e.colId,i=this.state.columnState?.patches.get(t);let r;i?.rowGroup!==void 0?r=!!i.rowGroup:this.state.rowGroup?r=this.state.rowGroup.colIds.includes(t):r=e.rowGroupActive;let n;i?.pivot!==void 0?n=!!i.pivot:this.state.pivot?n=this.state.pivot.colIds.includes(t):n=e.pivotActive;let o;return i?.aggFunc!==void 0?o=i.aggFunc!=null:this.state.aggregation?o=this.state.aggregation.colIds.includes(t):o=e.isValueActive(),r||n||o}setPivotColumns(e,t){clearDeferredFunctionPatches(this.state,"pivot");const i=nextSeq(this.sequence);this.sequence=i,this.state.pivot={colIds:e.map(r=>r.colId),eventType:t,seq:i}}setPivotMode(e,t){const i=nextSeq(this.sequence);this.sequence=i,this.state.pivotMode={pivotMode:e,eventType:t,seq:i}}getRowGroupColumns(){return getDraftColumns(this.beans,getDraftFunctionColumnIds(this.state.rowGroup?.colIds,this.beans.rowGroupColsSvc?.columns,this.state.columnState?.patches,e=>e.rowGroup==null?void 0:!!e.rowGroup))}getPrimaryColumns(){return getDraftColumns(this.beans,this.state.columnOrder?.colIds??getPrimaryColumnIds(this.beans))}hasDeferredColumnOrder(){return!!this.state.columnOrder}getValueColumns(){return getDraftColumns(this.beans,getDraftFunctionColumnIds(this.state.aggregation?.colIds,this.beans.valueColsSvc?.columns,this.state.columnState?.patches,e=>e.aggFunc===void 0?void 0:e.aggFunc!=null))}getPivotColumns(){if(!this.getPivotMode())return[];const e=this.beans.pivotColsSvc?.columns,t=e?.length?e:getDraftColumns(this.beans,this.lastPivotColIds);return getDraftColumns(this.beans,getDraftFunctionColumnIds(this.state.pivot?.colIds,t,this.state.columnState?.patches,i=>i.pivot==null?void 0:!!i.pivot))}getPivotMode(){return this.state.pivotMode?.pivotMode??this.beans.colModel.pivotMode}getSortDef(e){const t=this.state.sort,i=e.colId,r=t?.sortDefsByColId;return r?.has(i)?r.get(i)??null:t?.baselineCleared?null:e.getSortDef()}progressPivotSortFromEvent(e){const t=getNextPivotSort((0,import_ag_grid_community88._resolvePivotSort)(this.beans,this.getPivotSort(e)));mergeColumnStatePatch(this.state,{colId:e.colId,pivotSort:t});const i=ensureColumnStateDraft(this.state);i.seq=nextSeq(this.sequence),this.sequence=i.seq,i.eventType="uiColumnSorted"}getPivotSort(e){const t=this.state.columnState?.patches.get(e.colId);return t?.pivotSort!==void 0?t.pivotSort:e.pivotSort}progressSortFromEvent(e,t){const i=this.state.sort??{sortDefsByColId:new Map,baselineCleared:!1,seq:0,eventType:"toolPanelUi"},{sortSvc:r}=this.beans,n=e.colId;let o;i.sortDefsByColId.has(n)?o=i.sortDefsByColId.get(n):i.baselineCleared?o=null:o=e.getSortDef();const a=r?.getNextSortDirection(e,o);if(!a)return;const{gos:l}=this.beans;((l.get("multiSortKey")==="ctrl"?t.ctrlKey||t.metaKey:t.shiftKey)||l.get("alwaysMultiSort"))&&!l.get("suppressMultiSort")||(i.sortDefsByColId.clear(),i.baselineCleared=!0),i.sortDefsByColId.set(n,a.direction?a:null),i.seq=nextSeq(this.sequence),this.sequence=i.seq,this.state.sort=i}};function isRoleColumnOperation(e){const t=e.type;return t==="rowGroup"||t==="aggregation"||t==="pivot"}function getDraftColumns(e,t){return t?t.map(i=>e.colModel.getNonPivotColById(i)).filter(i=>!!i):[]}function getDraftFunctionColumnIds(e,t,i,r){const n=[...e??t?.map(a=>a.colId)??[]];if(!i?.size)return n;const o=new Set(n);for(const[a,l]of i){const c=r(l);if(c===void 0)continue;if(c){o.has(a)||(n.push(a),o.add(a));continue}if(!o.has(a))continue;o.delete(a);const u=n.indexOf(a);u>=0&&n.splice(u,1)}return n}function syncPrimaryColDefOrderFromCurrentColumns(e){const t=e.colModel.colsList.filter(i=>isPrimaryColDefColumn(i)).map(i=>e.colModel.getNonPivotCol(i.colId)).filter(i=>!!i);syncPrimaryColDefOrder(e,t)}function syncPrimaryColDefOrder(e,t){const i=e.colModel.colDefList;if(i.length===0)return;const r=new Set(t);e.colModel.replaceColDefList([...t,...i.filter(n=>isPrimaryColDefColumn(n)&&!r.has(n))])}function getPrimaryColumnIds(e){return getPrimaryColumns(e).map(t=>t.colId)}function getPrimaryColumns(e){return e.colModel.colDefList.filter(isPrimaryColDefColumn)}function isPrimaryColDefColumn(e){return e.primary?!(0,import_ag_grid_community88.isColumnGroupAutoCol)(e)&&!(0,import_ag_grid_community88.isSpecialCol)(e):!1}function nextSeq(e){return e+1}function mergeColumnStatePatch(e,t){const i=ensureColumnStateDraft(e),r=i.patches.get(t.colId);i.patches.set(t.colId,r?{...r,...t}:t)}function clearDeferredFunctionPatches(e,t){const i=e.columnState?.patches;if(i?.size)for(const[r,n]of i){if(!(t in n))continue;const o={...n};if(delete o[t],Object.keys(o).length===1){i.delete(r);continue}i.set(r,o)}}function ensureColumnStateDraft(e){let{columnState:t}=e;return t||(t={patches:new Map,seq:0,eventType:"toolPanelUi"},e.columnState=t),t}function ensureAggFuncsDraft(e){let{aggFuncs:t}=e;return t||(t={values:new Map,seq:0,eventType:"toolPanelUi"},e.aggFuncs=t),t}var ColumnStateUpdateStrategy=class extends import_ag_grid_community89.BeanStub{constructor(){super(...arguments),this.beanName="columnStateUpdateStrategy"}applyColumnState(e,t,i){this.delegate("applyColumnState",e,t,i)}commit(e){this.delegate("commit",e)}hasPendingChanges(e){return this.delegate("hasPendingChanges",e)}moveColumns(e,t,i,r){this.delegate("moveColumns",e,t,i,r)}reset(e){this.delegate("reset",e)}setColumnsVisible(e,t,i,r){this.delegate("setColumnsVisible",e,t,i,r)}isColumnVisibleInToolPanel(e,t){return this.delegate("isColumnVisibleInToolPanel",e,t)}setRowGroupColumns(e,t,i){this.delegate("setRowGroupColumns",e,t,i)}getRowGroupColumns(e){return this.delegate("getRowGroupColumns",e)}getPrimaryColumns(e){return this.delegate("getPrimaryColumns",e)}hasDeferredColumnOrder(e){return this.delegate("hasDeferredColumnOrder",e)}setValueColumns(e,t,i){this.delegate("setValueColumns",e,t,i)}getValueColumns(e){return this.delegate("getValueColumns",e)}setColumnAggFunc(e,t,i,r){this.delegate("setColumnAggFunc",e,t,i,r)}getColumnAggFunc(e,t){return this.delegate("getColumnAggFunc",e,t)}setPivotColumns(e,t,i){this.delegate("setPivotColumns",e,t,i)}getPivotColumns(e){return this.delegate("getPivotColumns",e)}setPivotMode(e,t,i){this.delegate("setPivotMode",e,t,i)}getPivotMode(e){return this.delegate("getPivotMode",e)}isColumnSelectedInPivotModeToolPanel(e,t){return this.delegate("isColumnSelectedInPivotModeToolPanel",e,t)}progressSortFromEvent(e,t,i){this.delegate("progressSortFromEvent",e,t,i)}getSortDef(e,t){return this.delegate("getSortDef",e,t)}progressPivotSortFromEvent(e,t){this.delegate("progressPivotSortFromEvent",e,t)}getPivotSort(e,t){return this.delegate("getPivotSort",e,t)}getUpdateStrategy(){return this.executionStrategy??(this.executionStrategy=this.createManagedBean(new ColumnStateUpdateExecutionStrategy))}delegate(e,...t){const i=this.getUpdateStrategy();return i[e].bind(i)(...t)}},SharedColumnStateUpdateStrategyModule={moduleName:"SharedColumnStateUpdateStrategy",version:VERSION,beans:[ColumnStateUpdateStrategy],dependsOn:[EnterpriseCoreModule]},ColumnsToolPanelModule={moduleName:"ColumnsToolPanel",version:VERSION,beans:[ColumnToolPanelFactory],userComponents:{agColumnsToolPanel:ColumnToolPanel},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:[EnterpriseCoreModule,SharedColumnStateUpdateStrategyModule,SideBarModule,import_ag_grid_community90._ColumnMoveModule,import_ag_grid_community90._SharedDragAndDropModule,import_ag_grid_community90._PopupModule,MenuItemModule]},import_ag_grid_community99=require("ag-grid-community"),import_ag_grid_community91=require("ag-grid-community"),ChartMenuItemMapper=class extends import_ag_grid_community91.BeanStub{constructor(){super(...arguments),this.beanName="chartMenuItemMapper"}getChartItems(e){const t=this.beans,i=t.chartSvc,r=e==="pivotChart";if(!i)return null;const n=this.getLocaleTextFunc.bind(this),o=r?new PivotMenuItemMapper(t,i,n):new RangeMenuItemMapper(t,i,n),a=i.isEnterprise();let l=o.getMenuItem();if(l?.subMenu&&!a){const u=d=>({...d,subMenu:d.subMenu?.filter(h=>!h._enterprise).map(h=>u(h))});l=u(l)}const c=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;return c&&(l=this.filterAndOrderChartMenu(l,c,o.getConfigLookup())),this.cleanInternals(l)}cleanInternals(e){if(!e)return e;const t=i=>{delete i?._key,delete i?._enterprise;for(const r of i?.subMenu??[])t(r);return i};return t(e)}buildLookup(e){const t={},i=r=>{if(t[r._key]=r,r.subMenu)for(const n of r.subMenu)i(n)};return i(e),t}filterAndOrderChartMenu(e,t,i){const r=this.buildLookup(e),n={...e,subMenu:[]};for(const o of Object.keys(t)){const a=t[o],l=i[o];if(l===null)continue;if(l==null){this.warn(173,{group:o});continue}const c=r[l._key];if(c)if(c.subMenu){const u=a.map(d=>{const h=l[d];if(h==null){this.warn(174,{group:o,chartType:d});return}return r[h]}).filter(d=>d!==void 0);u.length>0&&(c.subMenu=u,n.subMenu?.push(c))}else n.subMenu?.push(c)}return n.subMenu?.length==0?null:n}},PivotMenuItemMapper=class{constructor(e,t,i){this.beans=e,this.chartSvc=t,this.getLocaleTextFunc=i}getMenuItem(){const e=this.getLocaleTextFunc(),t=(i,r,n,o,a=!1)=>({name:e(i,r+"\u200E"),action:()=>this.chartSvc.createPivotChart({chartType:n}),_key:o,_enterprise:a});return{name:e("pivotChart","Pivot Chart"),_key:"pivotChart",subMenu:[{_key:"pivotColumnChart",name:e("columnChart","Column"),subMenu:[t("groupedColumn","Grouped","groupedColumn","pivotGroupedColumn"),t("stackedColumn","Stacked","stackedColumn","pivotStackedColumn"),t("normalizedColumn","100% Stacked","normalizedColumn","pivotNormalizedColumn")]},{_key:"pivotBarChart",name:e("barChart","Bar"),subMenu:[t("groupedBar","Grouped","groupedBar","pivotGroupedBar"),t("stackedBar","Stacked","stackedBar","pivotStackedBar"),t("normalizedBar","100% Stacked","normalizedBar","pivotNormalizedBar")]},{_key:"pivotPieChart",name:e("pieChart","Pie"),subMenu:[t("pie","Pie","pie","pivotPie"),t("donut","Donut","donut","pivotDonut")]},{_key:"pivotLineChart",name:e("lineChart","Line"),subMenu:[t("lineChart","Line","line","pivotLineChart"),t("stackedLine","Stacked","stackedLine","pivotStackedLine"),t("normalizedLine","100% Stacked","normalizedLine","pivotNormalizedLine")]},{_key:"pivotAreaChart",name:e("areaChart","Area"),subMenu:[t("areaChart","Area","area","pivotArea"),t("stackedArea","Stacked","stackedArea","pivotStackedArea"),t("normalizedArea","100% Stacked","normalizedArea","pivotNormalizedArea")]},{_key:"pivotXYChart",name:e("xyChart","X Y (Scatter)"),subMenu:[t("scatter","Scatter","scatter","pivotScatter"),t("bubble","Bubble","bubble","pivotBubble")]},{_key:"pivotStatisticalChart",_enterprise:!1,name:e("statisticalChart","Statistical"),subMenu:[t("histogramChart","Histogram","histogram","pivotHistogram",!1)]},{_key:"pivotHierarchicalChart",_enterprise:!0,name:e("hierarchicalChart","Hierarchical"),subMenu:[t("treemapChart","Treemap","treemap","pivotTreemap",!0),t("sunburstChart","Sunburst","sunburst","pivotSunburst",!0)]},{_key:"pivotFunnel",name:e("funnel","Funnel"),subMenu:[t("funnel","Funnel","funnel","pivotFunnel"),t("coneFunnel","Cone Funnel","coneFunnel","pivotConeFunnel"),t("pyramid","Pyramid","pyramid","pivotPyramid")]},{_key:"pivotCombinationChart",name:e("combinationChart","Combination"),subMenu:[t("columnLineCombo","Column & Line","columnLineCombo","pivotColumnLineCombo"),t("AreaColumnCombo","Area & Column","areaColumnCombo","pivotAreaColumnCombo")]}],icon:(0,import_ag_grid_community91._createIconNoSpan)("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}}},RangeMenuItemMapper=class{constructor(e,t,i){this.beans=e,this.chartSvc=t,this.getLocaleTextFunc=i}getMenuItem(){const e=this.getLocaleTextFunc(),t=(i,r,n,o,a=!1)=>({name:e(i,r),action:()=>this.chartSvc.createChartFromCurrentRange(n),_key:o,_enterprise:a});return{name:e("chartRange","Chart Range"),_key:"chartRange",subMenu:[{name:e("columnChart","Column"),subMenu:[t("groupedColumn","Grouped","groupedColumn","rangeGroupedColumn"),t("stackedColumn","Stacked","stackedColumn","rangeStackedColumn"),t("normalizedColumn","100% Stacked","normalizedColumn","rangeNormalizedColumn")],_key:"rangeColumnChart"},{name:e("barChart","Bar"),subMenu:[t("groupedBar","Grouped","groupedBar","rangeGroupedBar"),t("stackedBar","Stacked","stackedBar","rangeStackedBar"),t("normalizedBar","100% Stacked","normalizedBar","rangeNormalizedBar")],_key:"rangeBarChart"},{name:e("pieChart","Pie"),subMenu:[t("pie","Pie","pie","rangePie"),t("donut","Donut","donut","rangeDonut")],_key:"rangePieChart"},{name:e("lineChart","Line"),subMenu:[t("lineChart","Line","line","rangeLineChart"),t("stackedLine","Stacked","stackedLine","rangeStackedLine"),t("normalizedLine","100% Stacked","normalizedLine","rangeNormalizedLine")],_key:"rangeLineChart"},{name:e("areaChart","Area"),subMenu:[t("areaChart","Area","area","rangeArea"),t("stackedArea","Stacked","stackedArea","rangeStackedArea"),t("normalizedArea","100% Stacked","normalizedArea","rangeNormalizedArea")],_key:"rangeAreaChart"},{name:e("xyChart","X Y (Scatter)"),subMenu:[t("scatter","Scatter","scatter","rangeScatter"),t("bubble","Bubble","bubble","rangeBubble")],_key:"rangeXYChart"},{name:e("polarChart","Polar"),subMenu:[t("radarLine","Radar Line","radarLine","rangeRadarLine"),t("radarArea","Radar Area","radarArea","rangeRadarArea"),t("nightingale","Nightingale","nightingale","rangeNightingale"),t("radialColumn","Radial Column","radialColumn","rangeRadialColumn"),t("radialBar","Radial Bar","radialBar","rangeRadialBar")],_key:"rangePolarChart",_enterprise:!0},{name:e("statisticalChart","Statistical"),subMenu:[t("boxPlot","Box Plot","boxPlot","rangeBoxPlot",!0),t("histogramChart","Histogram","histogram","rangeHistogram",!1),t("rangeBar","Range Bar","rangeBar","rangeRangeBar",!0),t("rangeArea","Range Area","rangeArea","rangeRangeArea",!0)],_key:"rangeStatisticalChart",_enterprise:!1},{name:e("hierarchicalChart","Hierarchical"),subMenu:[t("treemap","Treemap","treemap","rangeTreemap"),t("sunburst","Sunburst","sunburst","rangeSunburst")],_key:"rangeHierarchicalChart",_enterprise:!0},{name:e("specializedChart","Specialized"),subMenu:[t("heatmap","Heatmap","heatmap","rangeHeatmap"),t("waterfall","Waterfall","waterfall","rangeWaterfall")],_key:"rangeSpecializedChart",_enterprise:!0},{name:e("funnel","Funnel"),subMenu:[t("funnel","Funnel","funnel","rangeFunnel"),t("coneFunnel","Cone Funnel","coneFunnel","rangeConeFunnel"),t("pyramid","Pyramid","pyramid","rangePyramid")],_key:"rangeFunnel",_enterprise:!0},{name:e("combinationChart","Combination"),subMenu:[t("columnLineCombo","Column & Line","columnLineCombo","rangeColumnLineCombo"),t("AreaColumnCombo","Area & Column","areaColumnCombo","rangeAreaColumnCombo")],_key:"rangeCombinationChart"}],icon:(0,import_ag_grid_community91._createIconNoSpan)("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}}}},import_ag_stack74=require("ag-stack"),import_ag_grid_community92=require("ag-grid-community"),ColumnChooserFactory=class extends import_ag_grid_community92.BeanStub{constructor(){super(...arguments),this.beanName="colChooserFactory"}createColumnSelectPanel(e,t,i,r){const n=e.createManagedBean(new AgPrimaryCols),o=r??t?.colDef.columnChooserParams??{},{columnLabelRenderer:a,columnLabelRendererParams:l,columnLabelRendererSelector:c,contractColumnSelection:u,suppressColumnExpandAll:d,suppressColumnFilter:h,suppressColumnSelectAll:p,suppressSyncLayoutWithGrid:g,columnLayout:f}=o;return n.init(!!i,(0,import_ag_grid_community92._addGridCommonParams)(this.gos,{suppressColumnMove:!1,suppressValues:!1,suppressPivots:!1,suppressRowGroups:!1,suppressPivotMode:!1,contractColumnSelection:!!u,suppressColumnExpandAll:!!d,suppressColumnFilter:!!h,suppressColumnSelectAll:!!p,suppressSyncLayoutWithGrid:!!f||!!g,columnLabelRenderer:a,columnLabelRendererParams:l,columnLabelRendererSelector:c,onStateUpdated:()=>{}}),"columnMenu","columnChooser"),f&&n.setColumnLayout(f),n}showColumnChooser({column:e,chooserParams:t,eventSource:i,headerPosition:r}){this.hideActiveColumnChooser();const n=this.createColumnSelectPanel(this,e,!0,t),o=this.getLocaleTextFunc(),a=this.beans,{focusSvc:l,menuUtils:c}=a,u=(0,import_ag_stack74._getActiveDomElement)(a),d=i??(u instanceof HTMLElement?u:void 0),h=e??void 0,p=e?.allColsIndex??-1,g=e?l.focusedHeader??r??null:null;this.activeColumnChooserDialog=this.createBean(new Dialog({title:o("chooseColumns","Choose Columns"),component:n,width:300,height:300,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{(0,import_ag_stack74._findNextFocusableElement)({beans:a,rootNode:n.getGui()})?.focus({preventScroll:!0}),this.dispatchVisibleChangedEvent(!0,e)},closedCallback:f=>{const m=this.activeColumnChooser.getGui();this.destroyBean(this.activeColumnChooser),this.activeColumnChooser=void 0,this.activeColumnChooserDialog=void 0,this.dispatchVisibleChangedEvent(!1,e),(h||d)&&c.restoreFocusOnClose({column:h,headerPosition:g,columnIndex:p,eventSource:d},m,f,!0)},postProcessPopupParams:{type:"columnChooser",column:e,eventSource:d}})),this.activeColumnChooser=n}hideActiveColumnChooser(){this.activeColumnChooserDialog=this.destroyBean(this.activeColumnChooserDialog)}destroy(){this.hideActiveColumnChooser(),super.destroy()}dispatchVisibleChangedEvent(e,t){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:!1,key:"columnChooser",column:t??null})}},import_ag_grid_community93=require("ag-grid-community"),ColumnMenuFactory=class extends import_ag_grid_community93.BeanStub{constructor(){super(...arguments),this.beanName="colMenuFactory"}createMenu(e,t,i,r,n){const o=e.createManagedBean(new MenuList(0,{column:i??null,node:null,value:null})),a=this.beans.menuItemMapper.mapWithStockItems(t,i??null,null,void 0,r,"columnMenu",n??null);return o.addMenuItems(a),o}getMenuItems(e=null,t=null){const i=this.getDefaultMenuOptions(e,t),r=[..._resolveColumnMenuItems(this.gos,e,t,"columnMenu",i)];return _normaliseSeparators(r,MENU_ITEM_SEPARATOR),r}getDefaultMenuOptions(e,t=null){const i=[],{beans:r,gos:n}=this,{colChooserFactory:o,rowGroupColsSvc:a,colModel:l,expansionSvc:c,sortSvc:u,menuSvc:d,pinnedCols:h,aggFuncSvc:p,colAutosize:g}=r,f=(0,import_ag_grid_community93._isLegacyMenuEnabled)(n),m=()=>{!f&&o&&i.push("columnChooser"),i.push("resetColumns")};if(!e)return t&&r.colHeaderEditSvc?.isEditable(t)&&(i.push("editColumnName"),i.push(MENU_ITEM_SEPARATOR)),m(),i;const{colDef:v}=e,C=h&&!v.lockPinned,y=a?.columns.length??0,S=y>0,x=(0,import_ag_grid_community93._getGrandTotalRow)(n),b=n.get("treeData"),w=e.primary,P=!w||p&&e.isAllowValue()&&(S||x||b);if(u&&!f&&e.isSortable()){const{isAbsoluteSort:F,isDefaultSort:T,isAscending:R,isDescending:A,direction:E}=(0,import_ag_grid_community93._getDisplaySortForColumn)(e,r),_=(0,import_ag_grid_community93._getAvailableSortTypes)(n,e);_.has("default")&&(R&&T||i.push("sortAscending"),A&&T||i.push("sortDescending")),_.has("absolute")&&(R&&F||i.push("sortAbsoluteAscending"),A&&F||i.push("sortAbsoluteDescending")),E&&i.push("sortUnSort"),i.push(MENU_ITEM_SEPARATOR)}if(d?.isFilterMenuItemEnabled(e)&&(i.push("columnFilter"),i.push(MENU_ITEM_SEPARATOR)),C&&i.push("pinSubMenu"),P&&i.push("valueAggSubMenu"),r.showValuesAsSvc?.isMenuEligible(e)&&i.push("showValuesAsSubMenu"),r.calculatedColsSvc?.isEnabled()===!0&&w&&(i.push(MENU_ITEM_SEPARATOR),l.pivotMode||i.push("calculatedColumn"),e?.isCalculatedCol&&(i.push("editCalculatedColumn"),i.push("removeCalculatedColumn")),i.push(MENU_ITEM_SEPARATOR)),e&&r.colHeaderEditSvc?.isEditable(e)&&(i.push(MENU_ITEM_SEPARATOR),i.push("editColumnName"),i.push(MENU_ITEM_SEPARATOR)),(C||P)&&i.push(MENU_ITEM_SEPARATOR),g&&(v.suppressAutoSize||i.push("autoSizeThis"),i.push("autoSizeAll"),i.push(MENU_ITEM_SEPARATOR)),a&&n.isModuleRegistered("SharedRowGrouping")){const F=i.length;v.showRowGroup?i.push("rowUnGroup"):e.isAllowRowGroup()&&w&&(e.isRowGroupActive()?isRowGroupColLocked(e,r)||i.push("rowUnGroup"):i.push("rowGroup")),i.length>F&&i.push(MENU_ITEM_SEPARATOR)}return m(),c&&((0,import_ag_grid_community93._isClientSideRowModel)(n)||n.get("ssrmExpandAllAffectsAllRows"))&&(b||y>(l.pivotMode?1:0))&&(i.push("expandAll"),i.push("contractAll")),i}},import_ag_stack75=require("ag-stack"),import_ag_grid_community94=require("ag-grid-community"),CSS_CONTEXT_MENU_OPEN="ag-context-menu-open",ContextMenuService=class extends import_ag_grid_community94.BeanStub{constructor(){super(...arguments),this.beanName="contextMenuSvc",this.focusedCell=null}postConstruct(){this.menu=this.createManagedBean(new AgContextMenuService({menuItemCallbacks:MENU_ITEM_CALLBACKS,getMenuItems:this.getMenuItems.bind(this),mapMenuItems:this.mapWithStockItems.bind(this),beforeMenuOpen:this.beforeMenuOpen.bind(this),onMenuOpen:this.onMenuOpen.bind(this),onMenuClose:this.onMenuClose.bind(this),afterMenuDestroyed:this.afterMenuDestroyed.bind(this),onVisibleChanged:this.dispatchVisibleChangedEvent.bind(this),shouldBlockMenuOpen:()=>!!this.beans.overlays?.exclusive}))}hideActiveMenu(){this.menu.hideActiveMenu()}getMenuItems(e,t){const{column:i,node:r,value:n}=e,o=[],{clipboardSvc:a,chartSvc:l,csvCreator:c,excelCreator:u,colModel:d,rangeSvc:h,gos:p,notesSvc:g,pdfCreator:f}=this.beans,m=!!i?.isCalculatedCol;if((0,import_ag_stack75._exists)(r)&&a&&i&&(p.get("suppressCutToClipboard")||o.push("cut"),o.push("copy","copyWithHeaders","copyWithGroupHeaders","paste","separator")),(0,import_ag_stack75._exists)(r)&&m&&o.push("separator","removeCalculatedColumn","separator"),(0,import_ag_stack75._exists)(r)&&i&&g?.hasDataSource()&&o.push("note"),p.get("enableCharts")&&l&&(d.pivotMode&&o.push("pivotChart"),h&&!h.isEmpty()&&o.push("chartRange")),(0,import_ag_stack75._exists)(r)){const S=p.get("enableRowPinning"),x=p.get("isRowPinnable");if(S){const T=r.level>-1&&r.footer,R=r.level===-1&&r.footer,A=(0,import_ag_grid_community94._getGrandTotalRow)(p);(R&&!(A==="pinnedBottom"||A==="pinnedTop")||!R&&!T)&&(x?.(r)??!0)&&o.push("pinRowSubMenu")}const b=p.get("suppressExcelExport")||!u,w=p.get("suppressCsvExport")||!c,P=p.get("suppressPdfExport")||!f;(!b||!w||!P)&&o.push("export")}const v=o.length?o:void 0,C=i?.getColDef().contextMenuItems;return Array.isArray(C)?C:typeof C=="function"?C((0,import_ag_grid_community94._addGridCommonParams)(p,{column:i,node:r,value:n,defaultItems:v,event:t})):p.getCallback("getContextMenuItems")?.({column:i,node:r,value:n,defaultItems:v,event:t})??o}getContextMenuPosition(e,t){const i=this.getRowCtrl(e),r=this.getCellGui(i,t);if(!r)return{x:0,y:i?.getRowYPosition()??0};const n=r.getBoundingClientRect();return{x:n.x+n.width/2,y:n.y+n.height/2}}showContextMenu(e){const t=e.rowNode??null,i=e.column??null;let{anchorToElement:r,value:n,source:o,noteParams:a}=e;t&&i&&n==null&&(n=this.beans.valueSvc.getDisplayValue(i,t,"edit",!1)),r==null&&(r=this.getContextMenuAnchorElement(t,i)),this.beans.menuUtils.onContextMenu({mouseEvent:e.mouseEvent??null,touchEvent:e.touchEvent??null,showMenuCallback:l=>this.menu.showMenu({node:t,column:i,value:n,noteParams:a},l,r),source:o})}handleContextMenuMouseEvent(e,t,i,r){const n=i?.findInfoForEvent(e||t),o=r?.rowNode??i?.rowNode??null,a=r?.column??n?.column??(i?.isFullWidth()?i.getNavigationColumn():null),l=r?{rowNode:r.rowNode,column:r.column}:i&&n?{rowNode:i.rowNode,location:"fullWidthRow",pinned:n.pinned==="left"||n.pinned==="right"?n.pinned:void 0}:void 0,{valueSvc:c,ctrlsSvc:u}=this.beans,d=a?c.getValue(a,o,"edit"):null,h=u.getGridBodyCtrl(),p=r?r.eGui:h.eGridBody;this.showContextMenu({mouseEvent:e,touchEvent:t,rowNode:o,column:a,value:d,anchorToElement:p,noteParams:l,source:"ui"})}beforeMenuOpen(e){e.column||this.beans.focusSvc.clearFocusedCell()}onMenuOpen(){const{ctrlsSvc:e,focusSvc:t}=this.beans;e.getGridBodyCtrl().eGridBody.classList.add(CSS_CONTEXT_MENU_OPEN),this.focusedCell=t.getFocusedCell()}onMenuClose(){this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody.classList.remove(CSS_CONTEXT_MENU_OPEN)}afterMenuDestroyed(){const{beans:e,focusedCell:t}=this;(0,import_ag_grid_community94._attemptToRestoreCellFocus)(e,t)}dispatchVisibleChangedEvent(e,t){this.eventSvc.dispatchEvent({type:"contextMenuVisibleChanged",visible:e,source:t})}getRowCtrl(e){const{rowIndex:t,rowPinned:i}=e||{};if(t!=null)return this.beans.rowRenderer.getRowByPosition({rowIndex:t,rowPinned:i})||void 0}getCellGui(e,t){return!e||!t?void 0:e.getCellCtrl(t)?.eGui||void 0}getContextMenuAnchorElement(e,t){const i=this.beans.ctrlsSvc.getGridBodyCtrl().eGridBody,r=this.getRowCtrl(e);if(!r)return i;const n=this.getCellGui(r,t);return n||(r.isFullWidth()?r.getRowContentElement():i)}mapWithStockItems(e,t,i){const{column:r,node:n}=t;return this.beans.menuItemMapper.mapWithStockItems(e,r,n,t.noteParams,i,"contextMenu")}},import_ag_stack76=require("ag-stack"),import_ag_grid_community95=require("ag-grid-community"),TAB_FILTER="filterMenuTab",TAB_GENERAL="generalMenuTab",TAB_COLUMNS="columnsMenuTab",TABS_DEFAULT=[TAB_GENERAL,TAB_FILTER,TAB_COLUMNS],EnterpriseMenuFactory=class extends import_ag_grid_community95.BeanStub{constructor(){super(...arguments),this.beanName="enterpriseMenuFactory"}hideActiveMenu(){this.destroyBean(this.activeMenu)}showMenuAfterMouseEvent(e,t,i,r,n){const{column:o,columnGroup:a}=this.splitColumnOrGroup(e),l=n?"filterMenuTab":void 0;this.showMenu(o,a,c=>{const u=c.getGui();this.beans.popupSvc.positionPopupUnderMouseEvent({type:i,additionalParams:{column:o},mouseEvent:t,ePopup:u}),l&&c.showTab?.(l),this.dispatchVisibleChangedEvent(!0,!1,o,a,l)},i,l,void 0,t.target,r)}splitColumnOrGroup(e){const t=e?.isColumn;return{column:t?e:void 0,columnGroup:t?void 0:e}}showMenuAfterButtonClick(e,t,i,r,n){let o=-1,a="left";this.gos.get("enableRtl")&&(o=1,a="right");const l=n?.filtersOnly?"filterMenuTab":void 0,c=l?[l]:void 0,u=(0,import_ag_grid_community95._isLegacyMenuEnabled)(this.gos),d=(u?9:4)*o,h=u?-23:4,{column:p,columnGroup:g}=this.splitColumnOrGroup(e);return this.showMenu(p,g,f=>{const m=f.getGui();this.beans.popupSvc.positionPopupByComponent({type:i,additionalParams:{column:p},eventSource:t,ePopup:m,alignSide:a,nudgeX:d,nudgeY:h,position:"under",keepWithinBounds:!0}),l&&f.showTab?.(l),this.dispatchVisibleChangedEvent(!0,!1,p,g,l)},i,l,c,t,r,n?.suppressCloseOnEventSource)}showMenu(e,t,i,r,n,o,a,l,c){const u=this.getMenuParams(e,t,o,a);if(!u)return!1;const{menu:d,eMenuGui:h,anchorToElement:p,restoreFocusParams:g}=u,f=[],{menuUtils:m,popupSvc:v}=this.beans;f.push(y=>{const S=d.getGui();this.destroyBean(d),e&&((0,import_ag_grid_community95._setColMenuVisible)(e,!1,"contextMenu"),m.restoreFocusOnClose(g,S,y)),l?.(y)});const C=this.getLocaleTextFunc();if(v.addPopup({modal:!0,eChild:h,closeOnEsc:!0,closedCallback:y=>{for(const S of f)S(y);this.dispatchVisibleChangedEvent(!1,!1,e,t,n)},afterGuiAttached:y=>d.afterGuiAttached(Object.assign({},{container:r},y)),positionCallback:n?()=>i(d):void 0,eventSourceToIgnore:c?a:void 0,ariaLabel:C("ariaLabelColumnMenu","Column Menu")}),n||(d.showTabBasedOnPreviousSelection?.(),i(d)),(0,import_ag_grid_community95._isColumnMenuAnchoringEnabled)(this.gos)){const y=v.setPopupPositionRelatedToElement(h,p);y&&e&&this.addStopAnchoring(y,e,f)}return d.addEventListener("tabSelected",y=>{this.dispatchVisibleChangedEvent(!1,!0,e),this.lastSelectedTab=y.key,this.dispatchVisibleChangedEvent(!0,!0,e)}),e&&(0,import_ag_grid_community95._setColMenuVisible)(e,!0,"contextMenu"),this.activeMenu=d,d.addEventListener("destroyed",()=>{this.activeMenu===d&&(this.activeMenu=null)}),!0}addStopAnchoring(e,t,i){e.then(r=>{t.__addEventListener("leftChanged",r),t.__addEventListener("visibleChanged",r),i.push(()=>{t.__removeEventListener("leftChanged",r),t.__removeEventListener("visibleChanged",r)})})}getMenuParams(e,t,i,r){const{focusSvc:n,ctrlsSvc:o}=this.beans,a={column:e,headerPosition:n.focusedHeader,columnIndex:e?.allColsIndex??-1,eventSource:r},l=this.createMenu(e,t,a,i,r);return l?{menu:l,eMenuGui:l.getGui(),anchorToElement:r||o.getGridBodyCtrl().eGridBody,restoreFocusParams:a}:void 0}createMenu(e,t,i,r,n){if((0,import_ag_grid_community95._isLegacyMenuEnabled)(this.gos))return this.createBean(new TabbedColumnMenu(e,i,this.lastSelectedTab,r,n));{const o=this.beans.colMenuFactory.getMenuItems(e,t);return o.length?this.createBean(new ColumnContextMenu(o,e,t,i,n)):void 0}}dispatchVisibleChangedEvent(e,t,i,r,n){this.eventSvc.dispatchEvent({type:"columnMenuVisibleChanged",visible:e,switchingTab:t,key:this.lastSelectedTab??n??((0,import_ag_grid_community95._isLegacyMenuEnabled)(this.gos)?TAB_GENERAL:"columnMenu"),column:i??null,columnGroup:r??null})}isMenuEnabled(e){if(!(0,import_ag_grid_community95._isLegacyMenuEnabled)(this.gos))return!0;const t=!this.beans.filterManager?.isFilterAllowed(e),i=e.colDef.menuTabs??TABS_DEFAULT;return(t&&i.includes(TAB_FILTER)?i.length-1:i.length)>0}showMenuAfterContextMenuEvent(e,t,i){this.beans.menuUtils.onContextMenu({mouseEvent:t,touchEvent:i,source:"ui",showMenuCallback:r=>(this.showMenuAfterMouseEvent(e,r,"columnMenu"),!0)})}},TabbedColumnMenu=class extends import_ag_grid_community95.BeanStub{constructor(e,t,i,r,n){super(),this.column=e,this.restoreFocusParams=t,this.initialSelection=i,this.restrictTo=r,this.sourceElement=n,this.tabFactories={},this.includeChecks={};const{tabFactories:o,includeChecks:a}=this;o[TAB_GENERAL]=this.createMainPanel.bind(this),o[TAB_FILTER]=this.createFilterPanel.bind(this),o[TAB_COLUMNS]=this.createColumnsPanel.bind(this),a[TAB_GENERAL]=()=>!0,a[TAB_FILTER]=()=>e?!!this.beans.filterManager?.isFilterAllowed(e):!1,a[TAB_COLUMNS]=()=>!0}postConstruct(){const e=this.getTabsToCreate().map(i=>this.createTab(i)),t=new AgTabbedLayout({items:e,cssClass:"ag-menu",onActiveItemClicked:this.onHidePopup.bind(this),onItemClicked:this.onTabItemClicked.bind(this)});this.tabbedLayout=this.createBean(t),this.mainMenuList?.setParentComponent(t),this.addDestroyFunc(()=>this.destroyBean(t))}getTabsToCreate(){return this.restrictTo?this.restrictTo:(this.column?.colDef.menuTabs??TABS_DEFAULT).filter(e=>this.isValidMenuTabItem(e)&&this.isNotSuppressed(e))}isValidMenuTabItem(e){let t=!0,i=TABS_DEFAULT;return this.restrictTo!=null&&(t=this.restrictTo.indexOf(e)>-1,i=this.restrictTo),t=t&&TABS_DEFAULT.indexOf(e)>-1,t||this.warn(175,{menuTabName:e,itemsToConsider:i}),t}isNotSuppressed(e){return this.includeChecks[e]()}createTab(e){return this.tabFactories[e]()}showTabBasedOnPreviousSelection(){this.showTab(this.initialSelection)}showTab(e){const{tabItemColumns:t,tabbedLayout:i,tabItemFilter:r,tabItemGeneral:n}=this;t&&e===TAB_COLUMNS?i.showItem(t):r&&e===TAB_FILTER?i.showItem(r):n&&e===TAB_GENERAL?i.showItem(n):i.showFirstItem()}onTabItemClicked(e){let t=null;switch(e.item){case this.tabItemColumns:t=TAB_COLUMNS;break;case this.tabItemFilter:t=TAB_FILTER;break;case this.tabItemGeneral:t=TAB_GENERAL;break}t&&this.activateTab(t)}activateTab(e){const t={type:"tabSelected",key:e};this.dispatchLocalEvent(t)}createMainPanel(){const{beans:e,column:t}=this,i=e.colMenuFactory,r=i.createMenu(this,i.getMenuItems(t),this.column,()=>this.sourceElement??this.getGui());this.mainMenuList=r,r.addEventListener("closeMenu",this.onHidePopup.bind(this));const n={title:(0,import_ag_grid_community95._createIconNoSpan)("legacyMenu",e,t),titleLabel:TAB_GENERAL.replace("MenuTab",""),bodyPromise:import_ag_grid_community95.AgPromise.resolve(r.getGui()),name:TAB_GENERAL};return this.tabItemGeneral=n,n}onHidePopup(e){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,e)}createFilterPanel(){const e=this.column?this.createBean(new import_ag_grid_community95.FilterComp(this.column,"COLUMN_MENU")):null;this.filterComp=e,e?.hasFilter()||this.error(119);const t=r=>e?.afterGuiAttached(r),i=()=>e?.afterGuiDetached();return this.tabItemFilter={title:(0,import_ag_grid_community95._createIconNoSpan)("filterTab",this.beans,this.column),titleLabel:TAB_FILTER.replace("MenuTab",""),bodyPromise:import_ag_grid_community95.AgPromise.resolve(e?.getGui()),afterAttachedCallback:t,afterDetachedCallback:i,name:TAB_FILTER},this.tabItemFilter}createColumnsPanel(){const e=(0,import_ag_grid_community95._createElement)({tag:"div",cls:"ag-menu-column-select-wrapper"}),{beans:t,column:i}=this,n=t.colChooserFactory.createColumnSelectPanel(this,i).getGui();n.classList.add("ag-menu-column-select"),e.appendChild(n);const o={title:(0,import_ag_grid_community95._createIconNoSpan)("columns",t,i),titleLabel:TAB_COLUMNS.replace("MenuTab",""),bodyPromise:import_ag_grid_community95.AgPromise.resolve(e),name:TAB_COLUMNS};return this.tabItemColumns=o,o}afterGuiAttached(e){const{container:t,hidePopup:i}=e;this.tabbedLayout.setAfterAttachedParams({container:t,hidePopup:i}),i&&(this.hidePopupFunc=i,this.addDestroyFunc(i))}getGui(){return this.tabbedLayout.getGui()}destroy(){super.destroy(),this.destroyBean(this.filterComp)}},ColumnContextMenu=class extends import_ag_grid_community95.Component{constructor(e,t,i,r,n){super({tag:"div",ref:"eColumnMenu",cls:"ag-menu ag-column-menu",role:"presentation"}),this.menuItems=e,this.column=t,this.columnGroup=i,this.restoreFocusParams=r,this.sourceElement=n,this.eColumnMenu=import_ag_stack76.RefPlaceholder}postConstruct(){const e=this.beans.colMenuFactory.createMenu(this,this.menuItems,this.column,()=>this.sourceElement??this.getGui(),this.columnGroup);this.mainMenuList=e,e.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eColumnMenu.appendChild(e.getGui())}onHidePopup(e){this.beans.menuUtils.closePopupAndRestoreFocusOnSelect(this.hidePopupFunc,this.restoreFocusParams,e)}afterGuiAttached({hidePopup:e}){e&&(this.hidePopupFunc=e,this.addDestroyFunc(e)),this.mainMenuList.focusInto()}};function showContextMenu(e,t){const{contextMenuSvc:i}=e;if(!i)return;const{rowNode:r,column:n,value:o,x:a,y:l}=t||{};let{x:c,y:u}=i.getContextMenuPosition(r,n);a!=null&&(c=a),l!=null&&(u=l),i.showContextMenu({mouseEvent:new MouseEvent("mousedown",{clientX:c,clientY:u}),rowNode:r,column:n,value:o,source:"api"})}function showColumnChooser(e,t){e.colChooserFactory?.showColumnChooser({chooserParams:t})}function hideColumnChooser(e){e.colChooserFactory?.hideActiveColumnChooser()}var import_ag_stack77=require("ag-stack"),import_ag_grid_community96=require("ag-grid-community"),MENU_ITEM_MODULES={pinSubMenu:"PinnedColumn",pinLeft:"PinnedColumn",pinRight:"PinnedColumn",clearPinned:"PinnedColumn",pinRowSubMenu:"PinnedRow",pinBottom:"PinnedRow",pinTop:"PinnedRow",unpinRow:"PinnedRow",valueAggSubMenu:"SharedAggregation",showValuesAsSubMenu:"ShowValuesAs",autoSizeThis:"ColumnAutoSize",autoSizeAll:"ColumnAutoSize",rowGroup:"SharedRowGrouping",rowUnGroup:"SharedRowGrouping",resetColumns:"CommunityCore",expandAll:["CsrmHierarchy","ServerSideRowModel"],contractAll:["CsrmHierarchy","ServerSideRowModel"],copy:"Clipboard",copyWithHeaders:"Clipboard",copyWithGroupHeaders:"Clipboard",cut:"Clipboard",paste:"Clipboard",export:["CsvExport","ExcelExport","PdfExport"],note:"Notes",csvExport:"CsvExport",excelExport:"ExcelExport",pdfExport:"PdfExport",separator:"CommunityCore",pivotChart:"IntegratedCharts",chartRange:"IntegratedCharts",columnFilter:"ColumnFilter",columnChooser:"ColumnMenu",calculatedColumn:"CalculatedColumns",editCalculatedColumn:"CalculatedColumns",removeCalculatedColumn:"CalculatedColumns",editColumnName:"ColumnHeaderEdit",sortAscending:"Sort",sortDescending:"Sort",sortAbsoluteAscending:"Sort",sortAbsoluteDescending:"Sort",sortUnSort:"Sort"};function validateMenuItem(e,t){const i=MENU_ITEM_MODULES[t];i&&e.assertModuleRegistered(i,`menu item \`${t}\``)}var SORT_MENU_ITEM_TO_MENU_ACTION_PARAMS={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:e=>({type:(0,import_ag_grid_community96._normalizeSortType)(e.getSortDef()?.type),direction:null})}},MenuItemMapper=class extends import_ag_grid_community96.BeanStub{constructor(){super(...arguments),this.beanName="menuItemMapper"}mapWithStockItems(e,t,i,r,n,o,a=null){if(!e)return[];const l=[],c=this.getLocaleTextFunc(),{beans:u,gos:d}=this,{aggFuncSvc:h,chartMenuItemMapper:p,clipboardSvc:g,colAutosize:f,colChooserFactory:m,colHeaderEditSvc:v,colModel:C,colNames:y,ctrlsSvc:S,csvCreator:x,excelCreator:b,expansionSvc:w,focusSvc:P,menuSvc:F,notesSvc:T,calculatedColsSvc:R,pdfCreator:A,pinnedCols:E,pinnedRowModel:_,pivotColsSvc:G,rangeSvc:D,rowGroupColsSvc:k,showValuesAsSvc:B,sortSvc:O,valueColsSvc:W}=u,U=L=>({node:M,column:$})=>{if(M){_.pinRow(M,L??null,$);return}D?.getCellRanges()?.forEach(V=>{D.forEachRowInRange(V,I=>{const N=(0,import_ag_grid_community96._getRowNode)(u,I);N&&_.pinRow(N,L??null,null)})})},X=(L,M,$,V)=>{switch(validateMenuItem(d,L),L){case"pinSubMenu":return E&&M?{name:c("pinColumn","Pin Column"),icon:(0,import_ag_grid_community96._createIconNoSpan)("menuPin",u,null),subMenu:["clearPinned","pinLeft","pinRight"]}:null;case"pinLeft":return E&&M?{name:c("pinLeft","Pin Left"),action:()=>E.setColsPinned([M],"left",V),checked:!!M&&M.isPinnedLeft()}:null;case"pinRight":return E&&M?{name:c("pinRight","Pin Right"),action:()=>E.setColsPinned([M],"right",V),checked:!!M&&M.isPinnedRight()}:null;case"clearPinned":return E&&M?{name:c("noPin","No Pin"),action:()=>E.setColsPinned([M],null,V),checked:!!M&&!M.isPinned()}:null;case"pinRowSubMenu":{const I=d.get("enableRowPinning"),N=[],z=i?.rowPinned??i?.pinnedSibling?.rowPinned;return z&&N.push("unpinRow"),I&&I!=="bottom"&&z!="top"&&N.push("pinTop"),I&&I!=="top"&&z!="bottom"&&N.push("pinBottom"),_?.isManual()?{name:c("pinRow","Pin Row"),icon:(0,import_ag_grid_community96._createIconNoSpan)("rowPin",u,M),subMenu:N}:null}case"pinTop":return _?.isManual()?{name:c("pinTop","Pin to Top"),icon:(0,import_ag_grid_community96._createIconNoSpan)("rowPinTop",u,M),action:U("top")}:null;case"pinBottom":return _?.isManual()?{name:c("pinBottom","Pin to Bottom"),icon:(0,import_ag_grid_community96._createIconNoSpan)("rowPinBottom",u,M),action:U("bottom")}:null;case"unpinRow":return _?.isManual()?{name:c("unpinRow","Unpin Row"),icon:(0,import_ag_grid_community96._createIconNoSpan)("rowUnpin",u,M),action:U(null)}:null;case"valueAggSubMenu":return h&&W&&(M?.primary||M?.pivotValueColumn)?{name:c("valueAggregation","Value Aggregation"),icon:(0,import_ag_grid_community96._createIconNoSpan)("menuValue",u,null),subMenu:createAggregationSubMenu(M,h,W,c),disabled:d.get("functionsReadOnly")}:null;case"showValuesAsSubMenu":return B&&M&&B.isMenuEligible(M)?{name:c("showValuesAs","Show Values As"),icon:(0,import_ag_grid_community96._createIconNoSpan)("showValuesAs",u,null),subMenu:B.getMenuItems(M,c)}:null;case"autoSizeThis":return f?{name:c("autosizeThisColumn","Autosize This Column"),action:()=>M&&f.autoSizeColumn(M,V,d.get("skipHeaderOnAutoSize"))}:null;case"autoSizeAll":return f?{name:c("autosizeAllColumns","Autosize All Columns"),action:()=>f.autoSizeAllColumns({source:V,skipHeader:d.get("skipHeaderOnAutoSize")})}:null;case"rowGroup":return k?{name:getGroupingLocaleText(c,"groupBy",y.getDisplayNameForColumn(M,"header")),disabled:d.get("functionsReadOnly")||M?.isRowGroupActive()||!M?.colDef.enableRowGroup,action:()=>k.addColumns([M],V),icon:(0,import_ag_grid_community96._createIconNoSpan)("menuAddRowGroup",u,null)}:null;case"rowUnGroup":if(k&&d.isModuleRegistered("SharedRowGrouping")){const I=M?.showRowGroup,N=d.get("groupLockGroupColumns");let z,q,Z;if(I===!0)z=c("ungroupAll","Un-Group All"),q=d.get("functionsReadOnly")||N===-1||N>=(k.columns.length??0),Z=()=>k.setColumns(k.columns.slice(0,N),V);else if(typeof I=="string"){const Y=C.getNonPivotCol(I),J=Y!=null?y.getDisplayNameForColumn(Y,"header"):I;z=getGroupingLocaleText(c,"ungroupBy",J),q=d.get("functionsReadOnly")||isRowGroupColLocked(Y,u),Z=()=>{k.removeColumns([I],V)}}else z=getGroupingLocaleText(c,"ungroupBy",y.getDisplayNameForColumn(M,"header")),q=d.get("functionsReadOnly")||!M?.isRowGroupActive()||!M?.colDef.enableRowGroup||isRowGroupColLocked(M,u),Z=()=>k.removeColumns([M],V);return{name:z,disabled:q,action:Z,icon:(0,import_ag_grid_community96._createIconNoSpan)("menuRemoveRowGroup",u,null)}}else return null;case"scrollIntoView":{if(!S||!M||M.isPinned())return null;const I=y.getDisplayNameForColumn(M,"header");return{name:columnMenuTokenLabel(c,SCROLL_INTO_VIEW_TOKEN.key,SCROLL_INTO_VIEW_TOKEN.default,I),icon:(0,import_ag_grid_community96._createIconNoSpan)(SCROLL_INTO_VIEW_TOKEN.icon,u,null),action:()=>S.getScrollFeature().ensureColumnVisible(M)}}case"value":{if(!W||!M?.primary||!M.isAllowValue())return null;const I=M.isValueActive(),N=y.getDisplayNameForColumn(M,"header");return{name:I?columnMenuTokenLabel(c,VALUE_TOKEN.removeKey,VALUE_TOKEN.removeDefault,N):columnMenuTokenLabel(c,VALUE_TOKEN.addKey,VALUE_TOKEN.addDefault,N),icon:(0,import_ag_grid_community96._createIconNoSpan)(VALUE_TOKEN.icon,u,null),disabled:d.get("functionsReadOnly"),action:()=>I?W.removeColumns([M],V):W.addColumns([M],V)}}case"pivot":{if(!G||!C.pivotMode||!M?.primary||!M.isAllowPivot())return null;const I=M.isPivotActive(),N=y.getDisplayNameForColumn(M,"header");return{name:I?columnMenuTokenLabel(c,PIVOT_TOKEN.removeKey,PIVOT_TOKEN.removeDefault,N):columnMenuTokenLabel(c,PIVOT_TOKEN.addKey,PIVOT_TOKEN.addDefault,N),icon:(0,import_ag_grid_community96._createIconNoSpan)(PIVOT_TOKEN.icon,u,null),disabled:d.get("functionsReadOnly"),action:()=>I?G.removeColumns([M],V):G.addColumns([M],V)}}case"resetColumns":return{name:c("resetColumns","Reset Columns"),action:()=>(0,import_ag_grid_community96._resetColumnState)(u,V)};case"expandAll":return w?{name:c("expandAll","Expand All Row Groups"),action:()=>w.expandAll(!0)}:null;case"contractAll":return w?{name:c("collapseAll","Collapse All Row Groups"),action:()=>w.expandAll(!1)}:null;case"copy":return g?{name:c("copy","Copy"),shortcut:c("ctrlC","Ctrl+C"),icon:(0,import_ag_grid_community96._createIconNoSpan)("clipboardCopy",u,null),action:()=>g.copyToClipboard()}:null;case"copyWithHeaders":return g?{name:c("copyWithHeaders","Copy with Headers"),icon:(0,import_ag_grid_community96._createIconNoSpan)("clipboardCopy",u,null),action:()=>g.copyToClipboard({includeHeaders:!0})}:null;case"copyWithGroupHeaders":return g?{name:c("copyWithGroupHeaders","Copy with Group Headers"),icon:(0,import_ag_grid_community96._createIconNoSpan)("clipboardCopy",u,null),action:()=>g.copyToClipboard({includeHeaders:!0,includeGroupHeaders:!0})}:null;case"cut":if(g){const I=P.getFocusedCell(),N=I?(0,import_ag_grid_community96._getRowNode)(u,I):null,z=N?I?.column.isCellEditable(N):!1;return{name:c("cut","Cut"),shortcut:c("ctrlX","Ctrl+X"),icon:(0,import_ag_grid_community96._createIconNoSpan)("clipboardCut",u,null),disabled:!z||d.get("suppressCutToClipboard"),action:()=>g.cutToClipboard(void 0,"contextMenu")}}else return null;case"paste":if(g){const I=d.get("suppressClipboardApi")||d.get("suppressClipboardPaste")||!M||!i||!M.isCellEditable(i)||M.isSuppressPaste(i);return{name:c("paste","Paste"),shortcut:c("ctrlV","Ctrl+V"),icon:(0,import_ag_grid_community96._createIconNoSpan)("clipboardPaste",u,null),disabled:I,action:()=>g.pasteFromClipboard()}}else return null;case"export":{const I=[];return!d.get("suppressCsvExport")&&x&&I.push("csvExport"),!d.get("suppressExcelExport")&&b&&I.push("excelExport"),!d.get("suppressPdfExport")&&A&&I.push("pdfExport"),I.length?{name:c("export","Export"),subMenu:I,icon:(0,import_ag_grid_community96._createIconNoSpan)("save",u,null)}:null}case"csvExport":return x?{name:c("csvExport","CSV Export"),icon:(0,import_ag_grid_community96._createIconNoSpan)("csvExport",u,null),action:()=>x.exportDataAsCsv()}:null;case"excelExport":return b?{name:c("excelExport","Excel Export"),icon:(0,import_ag_grid_community96._createIconNoSpan)("excelExport",u,null),action:()=>b.exportDataAsExcel()}:null;case"pdfExport":return A?{name:c("pdfExport","PDF Export"),icon:(0,import_ag_grid_community96._createIconNoSpan)("pdfExport",u,null),action:()=>A.exportDataAsPdf()}:null;case"separator":return L;case"pivotChart":case"chartRange":return p.getChartItems(L);case"columnFilter":return F&&M?{name:c("columnFilter","Column Filter"),icon:(0,import_ag_grid_community96._createIconNoSpan)("filter",u,null),action:()=>F.showFilterMenu({column:M,buttonElement:$(),containerType:"columnFilter",positionBy:"button"})}:null;case"columnChooser":{const I=P.focusedHeader;return m?{name:c("columnChooser","Choose Columns"),icon:(0,import_ag_grid_community96._createIconNoSpan)("columns",u,null),action:()=>m.showColumnChooser({column:M,eventSource:$(),headerPosition:I})}:null}case"calculatedColumn":{if(!R?.isEnabled())return null;const I=P.focusedHeader??(M?{headerRowIndex:0,column:M}:null);return{name:c("calculatedColumnAdd","Add Calculated Column"),icon:(0,import_ag_grid_community96._createIconNoSpan)("calculatedColumnAdd",u,null),action:()=>R.openCalculatedColumnDialog(M,"add",!0,{eventSource:$(),headerPosition:I})}}case"editCalculatedColumn":{if(!R?.isEnabled()||!M?.isCalculatedCol)return null;const I=P.focusedHeader??{headerRowIndex:0,column:M};return{name:c("calculatedColumnEdit","Edit Calculated Column"),icon:(0,import_ag_grid_community96._createIconNoSpan)("calculatedColumnEdit",u,null),action:()=>R.openCalculatedColumnDialog(M,"edit",!0,{eventSource:$(),headerPosition:I})}}case"removeCalculatedColumn":return R?.isEnabled()&&M?.isCalculatedCol?{name:c("calculatedColumnRemove","Remove Calculated Column"),icon:(0,import_ag_grid_community96._createIconNoSpan)("calculatedColumnRemove",u,null),action:()=>R.removeCalculatedColumn(M)}:null;case"editColumnName":{const I=M??a;return I?v?.getEditColumnNameMenuItem(I)??null:null}case"sortUnSort":case"sortAscending":case"sortDescending":case"sortAbsoluteAscending":case"sortAbsoluteDescending":{if(!O||!M)return null;const{fallback:I,getSortDef:N}=SORT_MENU_ITEM_TO_MENU_ACTION_PARAMS[L];return{name:c(L,I),icon:(0,import_ag_grid_community96._createIconNoSpan)(L,u,null),action:()=>O.setSortForColumn(M,N(M),!1,V)}}default:return this.warn(176,{key:L}),null}};for(const L of e){let M;if(typeof L=="string"){if(L==="note"){const I=createNoteMenuItems({notesSvc:T,column:t,node:i,noteParams:r,localeTextFunc:c});I.length&&l.push(MENU_ITEM_SEPARATOR,...I,MENU_ITEM_SEPARATOR);continue}M=X(L,t,n,o)}else M={...L};if(!M)continue;const $=M,{subMenu:V}=$;V&&V instanceof Array&&($.subMenu=this.mapWithStockItems(V,t,i,r,n,o,a)),M!=null&&l.push(M)}return _normaliseSeparators(l,MENU_ITEM_SEPARATOR),l}};function createNoteMenuItems({notesSvc:e,column:t,node:i,noteParams:r,localeTextFunc:n}){const o=e?.hasDataSource()?r?e.getNoteAccess(r):t&&i?e.getNoteAccess({rowNode:i,column:t}):void 0:void 0;if(!o)return[];const a=[];return o.note?(o.canView&&(o.isReadOnly||o.isSuppressed)&&a.push({name:n("viewNote","View Note"),shortcut:n("shiftF2","Shift+F2"),action:()=>e.showNote(o.params,!0)}),!o.isReadOnly&&!o.isSuppressed&&a.push({name:n("editNote","Edit Note"),shortcut:n("shiftF2","Shift+F2"),disabled:!o.canEdit,action:o.canEdit?()=>e.showNote(o.params,!0):void 0}),a.push({name:n("deleteNote","Remove Note"),disabled:!o.canDelete,action:o.canDelete?()=>e.setNote({...o.params,note:void 0}):void 0}),a):(a.push({name:n("addNote","Add Note"),shortcut:n("shiftF2","Shift+F2"),disabled:!o.canCreate,action:o.canCreate?()=>e.showNote(o.params,!0):void 0}),a)}function createAggregationSubMenu(e,t,i,r){let n;if(e.primary)n=e;else{const a=e.pivotValueColumn;n=(0,import_ag_stack77._exists)(a)?a:void 0}const o=[];if(n){const a=n.isValueActive(),l=t.getFuncNames(n);o.push({name:r("noAggregation","None"),action:()=>{i.removeColumns([n],"contextMenu"),i.setColumnAggFunc(n,void 0,"contextMenu")},checked:!a});for(const c of l)o.push({name:r(c,t.getDefaultFuncLabel(c)),action:()=>{i.setColumnAggFunc(n,c,"contextMenu"),i.addColumns([n],"contextMenu")},checked:a&&n.aggFunc===c})}return o}var import_ag_stack78=require("ag-stack"),import_ag_grid_community97=require("ag-grid-community"),MenuUtils=class extends import_ag_grid_community97.BeanStub{constructor(){super(...arguments),this.beanName="menuUtils"}restoreFocusOnClose(e,t,i,r){const{eventSource:n}=e,o=i instanceof KeyboardEvent;if(!r&&!o||!n)return;const a=(0,import_ag_stack78._getActiveDomElement)(this.beans);!t.contains(a)&&!(0,import_ag_stack78._isNothingFocused)(this.beans)||this.focusEventSourceOrHeaderCell(e)}closePopupAndRestoreFocusOnSelect(e,t,i){let r;i?.keyboardEvent&&(r=i.keyboardEvent),e(r&&{keyboardEvent:r});const n=this.beans,o=n.focusSvc,a=o.getFocusedCell();if((0,import_ag_stack78._isNothingFocused)(n))if(a){const{rowIndex:l,rowPinned:c,column:u}=a;o.setFocusedCell({rowIndex:l,column:u,rowPinned:c,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}else this.focusEventSourceOrHeaderCell(t)}onContextMenu(e){const{mouseEvent:t,touchEvent:i,showMenuCallback:r,source:n}=e;if(!this.gos.get("allowContextMenuWithControlKey")&&t&&(t.ctrlKey||t.metaKey)||(t&&this.blockMiddleClickScrollsIfNeeded(t),n==="ui"&&this.gos.get("suppressContextMenu")))return;const o=t??i.touches[0];if(r(o)){const a=t??i;a?.cancelable&&a.preventDefault()}}async focusEventSourceOrHeaderCell(e){const{column:t,columnIndex:i,headerPosition:r,eventSource:n}=e,{visibleCols:o,headerNavigation:a,focusSvc:l}=this.beans,c=await o.allCols.some(u=>u===t);if(this.isAlive()){if(n&&(0,import_ag_stack78._isVisible)(n)){const u=(0,import_ag_stack78._findTabbableParent)(n);if(u){t?.isAlive()&&c&&a?.scrollToColumn(t),u.focus();return}}else if(r&&i!==-1){const u=o.allCols,d=u[i]||(0,import_ag_stack78._last)(u);d&&l.focusHeaderPosition({headerPosition:{headerRowIndex:r.headerRowIndex,column:d}})}}}blockMiddleClickScrollsIfNeeded(e){this.gos.get("suppressMiddleClickScrolls")&&e.which===2&&e.preventDefault()}},import_ag_stack79=require("ag-stack"),import_ag_grid_community98=require("ag-grid-community"),ToolbarMenuBuilder=class extends import_ag_grid_community98.BeanStub{constructor(){super(...arguments),this.beanName="toolbarMenuBuilder"}showMenu(e){const{anchorElement:t,menuItems:i,ariaLabel:r,onClose:n}=e,{popupSvc:o,menuItemMapper:a}=this.beans;if(!o||!a)return;const l=(0,import_ag_grid_community98._createElement)({tag:"div",cls:"ag-menu"}),c=this.createBean(new MenuList);l.appendChild(c.getGui()),c.addMenuItems(a.mapWithStockItems(i,null,null,void 0,()=>t,"contextMenu"));let u;c.addManagedListeners(c,{closeMenu:()=>u?.()}),o.addPopup({modal:!0,eChild:l,closeOnEsc:!0,afterGuiAttached:d=>{u=d.hidePopup,(0,import_ag_stack79._focusInto)(c.getGui())},ariaLabel:r,closedCallback:()=>{this.destroyBean(c),n?.()}}),o.positionPopupByComponent({type:"toolbar",eventSource:t,ePopup:l,position:"under",nudgeY:4,keepWithinBounds:!0})}},MenuCoreModule={moduleName:"MenuCore",version:VERSION,beans:[MenuItemMapper,ChartMenuItemMapper,MenuUtils,ToolbarMenuBuilder],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",pdfExport:"pdf",sortAscending:"asc",sortDescending:"desc",sortAbsoluteAscending:"aasc",sortAbsoluteDescending:"adesc",sortUnSort:"none"},dependsOn:[EnterpriseCoreModule,import_ag_grid_community99._PopupModule,import_ag_grid_community99._SharedMenuModule,MenuItemModule]},ColumnMenuModule={moduleName:"ColumnMenu",version:VERSION,beans:[EnterpriseMenuFactory,ColumnMenuFactory,ColumnChooserFactory],icons:{ensureColumnVisible:"column-arrow",legacyMenu:"menu",filterTab:"filter",columnSelectClosed:"tree-closed",columnSelectOpen:"tree-open",columnSelectIndeterminate:"tree-indeterminate"},apiFunctions:{showColumnChooser,hideColumnChooser},dependsOn:[MenuCoreModule,SharedColumnStateUpdateStrategyModule,import_ag_grid_community99._SharedDragAndDropModule,import_ag_grid_community99._ColumnMoveModule]},ContextMenuModule={moduleName:"ContextMenu",version:VERSION,beans:[ContextMenuService],apiFunctions:{showContextMenu},dependsOn:[MenuCoreModule]},MenuModule={moduleName:"Menu",version:VERSION,dependsOn:[ColumnMenuModule,ContextMenuModule]},import_ag_grid_community101=require("ag-grid-community"),import_ag_stack80=require("ag-stack"),import_ag_grid_community100=require("ag-grid-community"),DEFAULT_VALUES_PAGE_LOAD_THRESHOLD=10,RichSelectCellEditor=class extends import_ag_grid_community100.AgAbstractCellEditor{constructor(){super({tag:"div",cls:"ag-cell-edit-wrapper"}),this.pendingInitialEventKey=null,this.initialEventKeyProcessed=!1,this.cachedRaw=this,this.seededValue=this}initialiseEditor(e){const{cellStartedEdit:t,values:i,valuesPage:r,eventKey:n}=this.params;this.pendingInitialEventKey=null,this.initialEventKeyProcessed=!1,(0,import_ag_stack80._missing)(i)&&(0,import_ag_stack80._missing)(r)&&this.beans.log.warn(180);const o=this.resolveAsyncMode(),{params:a,valueList:l}=this.buildRichSelectParams(o),c=this.createManagedBean(new AgRichSelect(a));this.eEditor=c,this.seededValue=this.params.value,c.addCss("ag-cell-editor"),this.appendChild(c);const u=this.getAsyncValuesSource(o);u&&c.setAsyncValuesSource({source:u,thresholdRows:this.params.valuesPageLoadThreshold??DEFAULT_VALUES_PAGE_LOAD_THRESHOLD,useAsyncSearch:o.isFullAsync,onMisconfiguredSearchSource:o.isFullAsync?()=>this.beans.log.warn(294):void 0,onFirstValuesPageLoaded:()=>{this.pendingInitialEventKey!=null&&(this.consumeInitialEventKey(this.pendingInitialEventKey),this.pendingInitialEventKey=null)}}),this.eEditor.setValueList({valueList:l,refresh:!0,isInitial:!0}),o.isValuesPaged?(this.eEditor.resetAsyncValues(""),o.isFullAsync?this.consumeInitialEventKey(n):this.pendingInitialEventKey=n):l&&!Array.isArray(l)&&l.then(d=>{const h=this.getSearchStringCallback(d);h&&c.setSearchStringCreator(h),this.consumeInitialEventKey(n)}).catch(d=>{(0,import_ag_grid_community100._consoleError)("Rich Select",d),this.consumeInitialEventKey(n)}),this.addManagedListeners(c,{fieldPickerValueSelected:this.onEditorPickerValueSelected.bind(this)}),this.focusAfterAttached=t}onEditorPickerValueSelected(e){if(this.gos.get("editType")!=="fullRow"){const{fromEnterKey:t,keyboardEvent:i}=e;setTimeout(()=>{this.isAlive()&&this.params.stopEditing(!t,i)})}}getPlaceholderText(e=this.isFullAsync()){const{valuePlaceholder:t}=this.params;if(t!==void 0)return t;const i=this.getLocaleTextFunc();return e?i("typeToSearchOoo","Type to search..."):i("advancedFilterBuilderSelectOption","Select an option...")}isFullAsync(){const{allowTyping:e,filterListAsync:t,values:i,valuesPage:r}=this.params,n=typeof i=="function"||typeof r=="function";return t&&!e?(this.beans.log.warn(294),!1):!n&&t?(this.beans.log.warn(294),!1):!!(e&&t&&n)}isValuesPaged(){return typeof this.params.valuesPage=="function"}resolveAsyncMode(){return{isValuesPaged:this.isValuesPaged(),isFullAsync:this.isFullAsync()}}getInitialValueList(e=this.resolveAsyncMode()){const t=this.params,{values:i}=t;if(!e.isValuesPaged){if(!i)return[];if(Array.isArray(i))return i;if(typeof i!="function")return[];if(!e.isFullAsync)return i({...t})}}buildRichSelectParams(e=this.resolveAsyncMode()){const t=this.params,{cellRenderer:i,cellRendererParams:r,cellHeight:n,value:o,values:a,formatValue:l,searchDebounceDelay:c,valueListGap:u,valueListMaxHeight:d,valueListMaxWidth:h,allowTyping:p,filterList:g,searchType:f,highlightMatch:m,eventKey:v,multiSelect:C,suppressDeselectAll:y,suppressMultiSelectPillRenderer:S}=t,{isValuesPaged:x,isFullAsync:b}=e,w=l??(E=>String(E??"")),F={value:o,cellRenderer:i,cellRendererParams:r,cellRowHeight:n,searchDebounceDelay:c,valueFormatter:E=>Array.isArray(E)?E.map(_=>w(_)).join(", "):w(E),pickerAriaLabelKey:"ariaLabelRichSelectField",pickerAriaLabelValue:"Rich Select Field",pickerType:"virtual-list",pickerGap:u,allowTyping:p,filterList:g,searchType:f,highlightMatch:m,maxPickerHeight:d,maxPickerWidth:h,placeholder:this.getPlaceholderText(b),initialInputValue:v?.length===1?v:v===import_ag_grid_community100.KeyCode.BACKSPACE?"":void 0,multiSelect:C,suppressDeselectAll:y,suppressMultiSelectPillRenderer:S},T=this.getInitialValueList(e),R=Array.isArray(a);return x?(T&&(F.valueList=T),b&&(F.allowNoResultsCopy=!0,F.filterList=!0)):R?(F.valueList=T,F.searchStringCreator=this.getSearchStringCallback(T)):typeof a=="function"&&b&&(F.allowNoResultsCopy=!0,F.filterList=!0),{params:F,valueList:T}}getAsyncValuesSource(e=this.resolveAsyncMode()){const{isFullAsync:t,isValuesPaged:i}=e;if(!(!t&&!i))return{searchValues:t?r=>this.getAsyncSearchValues(r):void 0,loadValuesPage:i?r=>this.getAsyncValuesPage(r):void 0,valuesPageInitialStartRow:i?r=>this.resolveValuesPageInitialStartRow(r):void 0,valuesPageSize:i?this.params.valuesPageSize:void 0}}getAsyncSearchValues(e){const{values:t}=this.params;return typeof t!="function"?[]:t({...this.params,search:e})}getAsyncValuesPage(e){const{valuesPage:t}=this.params;return typeof t!="function"?{values:[]}:t({...this.params,search:e.search,startRow:e.startRow,endRow:e.endRow,cursor:e.cursor})}resolveValuesPageInitialStartRow(e){if(e)return 0;const{valuesPageInitialStartRow:t,value:i}=this.params,r=typeof t=="function"?t(i):t;return Math.max(Math.floor(r??0),0)}getSearchStringCallback(e){if(typeof e[0]!="object")return;const t=this.params,{colDef:i,formatValue:r}=t,n=r??(a=>String(a??""));if(i.cellEditorParams?.formatValue)return a=>a.map(n);const{keyCreator:o}=i;if(o){this.beans.log.warn(266);const{column:a,node:l,data:c}=t;return u=>u.map(d=>{const h=(0,import_ag_grid_community100._addGridCommonParams)(this.gos,{value:d,colDef:i,column:a,node:l,data:c});return o(h)})}return a=>a.map(n)}afterGuiAttached(){const{focusAfterAttached:e,params:t}=this;setTimeout(()=>{if(!this.isAlive())return;const i=this.eEditor,{allowTyping:r,eventKey:n,cellStartedEdit:o}=t;if(e){const a=i.getFocusableElement();a.focus({preventScroll:!0}),r&&n?.length!==1&&a.select()}o&&i.showPicker(),this.pendingInitialEventKey==null&&this.consumeInitialEventKey(n)})}consumeInitialEventKey(e){!e||this.initialEventKeyProcessed||(this.initialEventKeyProcessed=!0,this.processEventKey(e))}processEventKey(e){e&&(e===import_ag_grid_community100.KeyCode.BACKSPACE?this.eEditor.searchTextFromString(null):e?.length===1&&this.eEditor.searchTextFromString(e))}focusIn(){this.eEditor.getFocusableElement().focus()}agSetEditValue(e){this.params.value=e,this.eEditor.setValue(e??null,!0),this.seededValue=e??null}getValue(){const e=this.eEditor.getValue();if(e===this.seededValue)return this.params.value;if(Object.is(this.cachedRaw,e))return this.cachedParsed;const t=this.params.parseValue?.(e)??e;return this.cachedRaw=e,this.cachedParsed=t,t}isPopup(){return!1}getValidationElement(){return this.eEditor.getAriaElement()}getValidationErrors(){const{params:e}=this,{getValidationErrors:t}=e;return t?t({value:this.getValue(),internalErrors:null,cellEditorParams:e}):null}},RichSelectModule={moduleName:"RichSelect",version:VERSION,beans:[],userComponents:{agRichSelect:RichSelectCellEditor,agRichSelectCellEditor:RichSelectCellEditor},icons:{richSelectOpen:"small-down",richSelectRemove:"cancel",richSelectLoading:"loading"},dependsOn:[EnterpriseCoreModule,import_ag_grid_community101._EditCoreModule]},import_ag_grid_community108=require("ag-grid-community"),import_ag_stack83=require("ag-stack"),import_ag_grid_community103=require("ag-grid-community"),SET_FILTER_SELECT_ALL="__AG_SELECT_ALL__",SET_FILTER_ADD_SELECTION_TO_FILTER="__AG_ADD_SELECTION_TO_FILTER__",NO_SET_FILTER_KEYS=[],FlatSetDisplayValueModel=class{constructor(e,t,i,r){this.valueSvc=e,this.getValueFormatter=t,this.formatter=i,this.column=r,this.displayedKeys=[]}updateDisplayedValuesToAllAvailable(e,t,i){this.displayedKeys=Array.from(i)}updateDisplayedValuesToMatchMiniFilter(e,t,i,r,n){this.displayedKeys=[];const o=this.getValueFormatter();for(const a of i)if(a==null)n&&this.displayedKeys.push(a);else{const l=e(a),c=this.valueSvc.formatValue(this.column,null,l,o,!1),u=this.formatter(c);r(u)&&this.displayedKeys.push(a)}}getDisplayedValueCount(){return this.displayedKeys.length}getDisplayedItem(e){return this.displayedKeys[e]}getSelectAllItem(){return SET_FILTER_SELECT_ALL}getAddSelectionToFilterItem(){return SET_FILTER_ADD_SELECTION_TO_FILTER}getDisplayedKeys(){return this.displayedKeys}forEachDisplayedKey(e){this.displayedKeys.forEach(e)}someDisplayedKey(e){return this.displayedKeys.some(e)}hasGroups(){return!1}refresh(){}},import_ag_stack81=require("ag-stack"),import_ag_grid_community102=require("ag-grid-community"),SetFilterGroupElement={tag:"div",cls:"ag-set-filter-item",attrs:{"aria-hidden":"true"},children:[{tag:"span",cls:"ag-set-filter-group-icons",children:[{tag:"span",ref:"eGroupClosedIcon",cls:"ag-set-filter-group-closed-icon"},{tag:"span",ref:"eGroupOpenedIcon",cls:"ag-set-filter-group-opened-icon"},{tag:"span",ref:"eGroupIndeterminateIcon",cls:"ag-set-filter-group-indeterminate-icon"}]},{tag:"ag-checkbox",ref:"eCheckbox",cls:"ag-set-filter-item-checkbox"}]},SetFilterElement={tag:"div",cls:"ag-set-filter-item",children:[{tag:"ag-checkbox",ref:"eCheckbox",cls:"ag-set-filter-item-checkbox"}]},SetFilterListItem=class extends import_ag_grid_community102.Component{constructor(e){super(e.isGroup?SetFilterGroupElement:SetFilterElement,[import_ag_grid_community102.AgCheckboxSelector]),this.eCheckbox=import_ag_stack81.RefPlaceholder,this.eGroupOpenedIcon=import_ag_stack81.RefPlaceholder,this.eGroupClosedIcon=import_ag_stack81.RefPlaceholder,this.eGroupIndeterminateIcon=import_ag_stack81.RefPlaceholder,this.rendererGuard=new import_ag_grid_community102.ComponentInstanceGuard,this.formattedValue=null,this.focusWrapper=e.focusWrapper,this.value=e.value,this.params=e.params,this.translate=e.translate,this.valueFormatter=e.valueFormatter,this.item=e.item,this.isSelected=e.isSelected,this.isTree=e.isTree,this.depth=e.depth??0,this.isGroup=e.isGroup,this.groupsExist=e.groupsExist,this.isExpanded=e.isExpanded,this.hasIndeterminateExpandState=e.hasIndeterminateExpandState}postConstruct(){this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>this.focusWrapper,getTooltipComponentDefinition:()=>this.params.colDef,getLocation:()=>"setFilterValue",shouldDisplayTooltip:()=>this.shouldDisplayTooltip?.()??!0,getAdditionalParams:()=>{const{colDef:e,column:t}=this.params,i={colDef:e,column:t,valueFormatted:this.formattedValue??void 0};return this.isTree&&(i.level=this.depth),i}})),this.addDestroyFunc(()=>this.destroyCellRendererComponent?.()),this.render(),this.eCheckbox.setLabelEllipsis(!0).setValue(this.isSelected,!0).setDisabled(!!this.params.readOnly).getInputElement().setAttribute("tabindex","-1"),this.refreshVariableAriaLabels(),this.isTree&&(this.depth>0&&(this.addCss("ag-set-filter-indent-"+this.depth),this.getGui().style.setProperty("--ag-indentation-level",String(this.depth))),this.isGroup?this.setupExpansion():this.groupsExist&&this.addCss("ag-set-filter-add-group-indent"),(0,import_ag_stack81._setAriaLevel)(this.getAriaElement(),this.depth+1)),this.refreshAriaChecked(),!this.params.readOnly&&this.eCheckbox.onValueChange(e=>this.onCheckboxChanged(!!e))}getFocusableElement(){return this.focusWrapper}setupExpansion(){const{eGroupClosedIcon:e,eGroupOpenedIcon:t,eGroupIndeterminateIcon:i,hasIndeterminateExpandState:r,beans:n}=this;e.appendChild((0,import_ag_grid_community102._createIcon)("setFilterGroupClosed",n,null)),t.appendChild((0,import_ag_grid_community102._createIcon)("setFilterGroupOpen",n,null));const o=this.onExpandOrContractClicked.bind(this);this.addManagedElementListeners(e,{click:o}),this.addManagedElementListeners(t,{click:o}),r&&(i.appendChild((0,import_ag_grid_community102._createIcon)("setFilterGroupIndeterminate",n,null)),this.addManagedElementListeners(i,{click:o})),this.setExpandedIcons(),this.refreshAriaExpanded()}onExpandOrContractClicked(){this.setExpanded(!this.isExpanded)}setExpanded(e,t){if(this.isGroup&&e!==this.isExpanded){this.isExpanded=e;const i={type:"expandedChanged",isExpanded:!!e,item:this.item};t||this.dispatchLocalEvent(i),this.setExpandedIcons(),this.refreshAriaExpanded()}}setExpandedIcons(){const{isExpanded:e,hasIndeterminateExpandState:t,eGroupClosedIcon:i,eGroupOpenedIcon:r,eGroupIndeterminateIcon:n}=this;(0,import_ag_stack81._setDisplayed)(i,t?e===!1:!e),(0,import_ag_stack81._setDisplayed)(r,e===!0),t&&(0,import_ag_stack81._setDisplayed)(n,e===void 0)}onCheckboxChanged(e){this.isSelected=e;const t={type:"selectionChanged",isSelected:e,item:this.item};this.dispatchLocalEvent(t),this.refreshVariableAriaLabels(),this.refreshAriaChecked()}toggleSelected(){this.params.readOnly||this.setSelected(!this.isSelected)}setSelected(e,t){this.isSelected=e,this.eCheckbox.setValue(e,t),this.refreshAriaChecked()}refreshVariableAriaLabels(){if(!this.isTree)return;const e=this.getLocaleTextFunc(),t=this.eCheckbox.getValue(),i=t===void 0?e("ariaIndeterminate","indeterminate"):t?e("ariaVisible","visible"):e("ariaHidden","hidden"),r=e("ariaToggleVisibility","Press SPACE to toggle visibility");(0,import_ag_stack81._setAriaLabelledBy)(this.eCheckbox.getInputElement(),void 0),this.eCheckbox.setInputAriaLabel(`${r} (${i})`)}setupFixedAriaLabels(e){if(!this.isTree)return;const i=this.getLocaleTextFunc()("ariaFilterValue","Filter Value"),r=this.getAriaElement();(0,import_ag_stack81._setAriaLabel)(r,`${e} ${i}`),(0,import_ag_stack81._setAriaDescribedBy)(r,this.eCheckbox.getInputElement().id)}refreshAriaChecked(){const e=this.getAriaElement();(0,import_ag_stack81._setAriaChecked)(e,this.eCheckbox.getValue())}refreshAriaExpanded(){(0,import_ag_stack81._setAriaExpanded)(this.getAriaElement(),!!this.isExpanded)}refresh(e,t,i){this.item=e,t!==this.isSelected&&this.setSelected(t,!0),this.setExpanded(i,!0);let r=this.cellRendererParams.value,n=this.formattedValue,o=!1;if(this.valueFunction){const p=this.valueFunction();r=p,n=p,o=!this.cellRendererComponent}const a=!!this.cellRendererComponent,l=this.pendingCellRendererClaim!=null;this.setTooltipAndCellRendererParams(r,n,!a),l&&this.renderCell(),o&&this.renderCellWithoutCellRenderer();const{cellRendererComponent:c,cellRendererParams:u,beans:d,params:h}=this;if(c){const p=(0,import_ag_grid_community102._getCellRendererDetails)(d.userCompFactory,h,u);if(!c.refresh?.(p?.params??u)){const f=c;this.cellRendererComponent=void 0,this.destroyCellRendererComponent=void 0,this.setTooltipAndCellRendererParams(r,n),this.renderCell(),this.destroyBean(f)}}}render(){const{params:{column:e}}=this;let{value:t}=this,i;typeof t=="function"?(this.valueFunction=t,i=this.valueFunction(),t=i):this.isTree?i=(0,import_ag_stack81._toStringOrNull)(t):i=this.getFormattedValue(e,t),i==null&&t==null&&(i=this.translate("blanks")),this.formattedValue=i,this.setTooltipAndCellRendererParams(t,i),this.renderCell()}setTooltipAndCellRendererParams(e,t,i=!0){const r=this.gos,n=this.rendererGuard.claim();if(this.rendererClaim=n,this.formattedValue=t,i)if(this.params.showTooltips&&(!(0,import_ag_grid_community102._isShowTooltipWhenTruncated)(r)||!this.params.cellRenderer)){const o=t??(0,import_ag_stack81._toStringOrNull)(e);this.shouldDisplayTooltip=(0,import_ag_grid_community102._getShouldDisplayTooltip)(r,()=>this.eCheckbox.getGui().querySelector(".ag-label")),this.tooltipFeature?.setTooltipAndRefresh(o)}else this.shouldDisplayTooltip=void 0,this.tooltipFeature?.setTooltipAndRefresh(null);this.cellRendererParams=(0,import_ag_grid_community102._addGridCommonParams)(r,{value:e,valueFormatted:t,colDef:this.params.colDef,column:this.params.column,setTooltip:(o,a)=>{r.assertModuleRegistered("Tooltip",3),n.isCurrent()&&(this.shouldDisplayTooltip=a,this.tooltipFeature?.setTooltipAndRefresh(o))}})}getFormattedValue(e,t){return setFilterFormattedValue(this.beans,e,t,this.valueFormatter)}renderCell(){const t=(0,import_ag_grid_community102._getCellRendererDetails)(this.beans.userCompFactory,this.params,this.cellRendererParams)?.newAgStackInstance(),i=this.rendererClaim;if(t==null){this.pendingCellRendererClaim=void 0,this.renderCellWithoutCellRenderer();return}this.pendingCellRendererClaim=i,t.then(r=>{if(this.pendingCellRendererClaim===i&&(this.pendingCellRendererClaim=void 0),r){if(!this.isAlive()||!i.isCurrent()){this.destroyBean(r);return}this.cellRendererComponent=r,this.eCheckbox.setLabel(r.getGui()),this.destroyCellRendererComponent=()=>this.destroyBean(r)}})}renderCellWithoutCellRenderer(){const{valueFormatted:e,value:t}=this.cellRendererParams;let i=e??t;typeof i!="string"&&(this.beans.log.warn(208),i=""),this.eCheckbox.setLabel(i),this.setupFixedAriaLabels(i)}destroy(){this.rendererGuard.invalidate(),this.pendingCellRendererClaim=void 0,super.destroy()}getComponentHolder(){return this.params.column.getColDef()}},import_ag_stack82=require("ag-stack"),TreeSetDisplayValueModel=class{constructor(e,t,i,r,n){this.log=e,this.formatter=t,this.treeListPathGetter=i,this.treeListFormatter=r,this.treeDataOrGrouping=n,this.allDisplayedItemsTree=new Map,this.activeDisplayedItemsFlat=[],this.selectAllItem={depth:0,filterPasses:!0,available:!0,treeKey:SET_FILTER_SELECT_ALL,children:this.allDisplayedItemsTree,expanded:!0,parentTreeKeys:[]},this.addSelectionToFilterItem={depth:0,filterPasses:!0,available:!0,treeKey:SET_FILTER_ADD_SELECTION_TO_FILTER,expanded:!0,parentTreeKeys:[]}}updateParams(e,t){this.treeListPathGetter=e,this.treeListFormatter=t}updateDisplayedValuesToAllAvailable(e,t,i,r){r==="reload"?this.generateItemTree(e,t,i):r==="otherFilter"?(this.updateAvailable(i),this.updateExpandAll()):r==="miniFilter"&&(this.resetFilter(),this.updateExpandAll()),this.flattenItems()}updateDisplayedValuesToMatchMiniFilter(e,t,i,r,n,o){o==="reload"?this.generateItemTree(e,t,i):o==="otherFilter"&&this.updateAvailable(i),this.updateFilter(r,n),this.updateExpandAll(),this.flattenItems()}generateItemTree(e,t,i){const r=new Map;this.allDisplayedItemsTree=r;let n=!1;const o=this.getTreeListPathGetter(e,i);for(const a of t){const l=e(a),c=o(l)??[null],u=c.length;u>1&&(n=!0);const d=i.has(a);let h=r,p,g=[];for(let f=0;f<u;f++){const m=c[f];h||(h=new Map,p.children=h);const v=m?.toUpperCase()??null;if(p=h.get(v),p||(p={treeKey:m,depth:f,filterPasses:!0,expanded:!1,available:d,parentTreeKeys:g},h.set(v,p)),f===u-1){const C=p.keys;C?C.push(a):p.keys=[a]}h=p.children,g=[...g,m]}}this.groupsExist=n,this.updateAvailable(i),this.selectAllItem.children=r,this.selectAllItem.expanded=!1}getTreeListPathGetter(e,t){if(this.treeListPathGetter)return this.treeListPathGetter;if(this.treeDataOrGrouping)return r=>r;let i=!1;for(const r of t){const n=e(r);if(n instanceof Date){i=!0;break}else if(n!=null)break}return i?r=>(0,import_ag_stack82._getDateParts)(r,!1):(this.log.warn(211),r=>[String(r)])}flattenItems(){this.activeDisplayedItemsFlat=[];const e=t=>{for(const i of t.values())!i.filterPasses||!i.available||(this.activeDisplayedItemsFlat.push(i),i.children&&i.expanded&&e(i.children))};e(this.allDisplayedItemsTree)}resetFilter(){const e=t=>{const i=t.children;if(i)for(const r of i.values())e(r);t.filterPasses=!0};for(const t of this.allDisplayedItemsTree.values())e(t)}updateFilter(e,t){const i=r=>r.available?r.treeKey==null?t:e(this.formatter(this.treeListFormatter?this.treeListFormatter(r.treeKey,r.depth,r.parentTreeKeys):r.treeKey)):!1;for(const r of this.allDisplayedItemsTree.values())this.recursiveItemCheck(r,!1,i,"filterPasses")}getDisplayedValueCount(){return this.activeDisplayedItemsFlat.length}getDisplayedItem(e){return this.activeDisplayedItemsFlat[e]}getSelectAllItem(){return this.selectAllItem}getAddSelectionToFilterItem(){return this.addSelectionToFilterItem}getDisplayedKeys(){const e=[];return this.forEachDisplayedKey(t=>e.push(t)),e}forEachDisplayedKey(e){const t=(i,r)=>{const n=i.keys??NO_SET_FILTER_KEYS;for(let a=0,l=n.length;a<l;++a)e(n[a]);const o=i.children;if(o&&(!i.expanded||!r))for(const a of o.values())a.filterPasses&&t(a,!1)};for(const i of this.activeDisplayedItemsFlat)t(i,!0)}someDisplayedKey(e){const t=(i,r)=>{const n=i.keys??NO_SET_FILTER_KEYS;for(let a=0,l=n.length;a<l;++a)if(e(n[a]))return!0;const o=i.children;if(o&&(!i.expanded||!r)){for(const a of o.values())if(a.filterPasses&&t(a,!1))return!0}return!1};return this.activeDisplayedItemsFlat.some(i=>t(i,!0))}hasGroups(){return this.groupsExist}refresh(){this.updateExpandAll(),this.flattenItems()}updateExpandAll(){const e=(i,r,n)=>{for(const o of i.values()){if(!o.filterPasses||!o.available||!o.children)continue;if(r=r||!!o.expanded,n=n||!o.expanded,r&&n)return;const a=e(o.children,r,n);if(a===void 0)return;a?r=!0:n=!0}return r&&n?void 0:r},t=this.getSelectAllItem();t.expanded=e(t.children,!1,!1)}recursiveItemCheck(e,t,i,r){let n=!1;const o=e.children;if(o)for(const l of o.values()){const c=this.recursiveItemCheck(l,t||i(e),i,r);n=n||c}const a=t||n||i(e);return e[r]=a,a}updateAvailable(e){const t=i=>{const r=i.keys??NO_SET_FILTER_KEYS;for(let n=0,o=r.length;n<o;++n)if(e.has(r[n]))return!0;return!1};for(const i of this.allDisplayedItemsTree.values())this.recursiveItemCheck(i,!1,t,"available")}},SetFilter=class extends import_ag_grid_community103.ProvidedFilter{constructor(){super("setFilter","set-filter"),this.filterType="set",this.eMiniFilter=import_ag_stack83.RefPlaceholder,this.eFilterLoading=import_ag_stack83.RefPlaceholder,this.eFilterLoadingIcon=import_ag_stack83.RefPlaceholder,this.eSetFilterList=import_ag_stack83.RefPlaceholder,this.eFilterNoMatches=import_ag_stack83.RefPlaceholder,this.hardRefreshVirtualList=!1,this.miniFilterText=null,this.addCurrentSelectionToFilter=!1,this.selectedKeys=new Set}setParams(e){super.setParams(e);const t=this.updateHandler(e.getHandler()),{column:i,textFormatter:r,treeList:n,treeListPathGetter:o,treeListFormatter:a}=e;this.formatter=(0,import_ag_grid_community103._bindFilterCallback)(r,this.beans.gos,i,"columnFilter")??unformattedSetFilterText,this.displayValueModel=n?new TreeSetDisplayValueModel(this.beans.log,this.formatter,o,a,t.isTreeDataOrGrouping()):new FlatSetDisplayValueModel(this.beans.valueSvc,()=>this.handler.valueFormatter,this.formatter,i),t.valueModel.allKeys.then(l=>{this.isAlive()&&(this.updateDisplayedValues("reload",l??[]),this.resetSelectionState(l??[]))}),t.valueModel.isLoading()&&this.setIsLoading(!0),this.initialiseFilterBodyUi()}refresh(e){return this.params.treeList!==e.treeList?!1:(this.updateHandler(e.getHandler()),super.refresh(e))}updateParams(e,t){super.updateParams(e,t),this.updateMiniFilter(),this.eMiniFilter.setAutoComplete(e.browserAutoComplete),e.suppressSelectAll!==t.suppressSelectAll&&this.createVirtualListModel(e);const{column:i,textFormatter:r,treeListPathGetter:n,treeListFormatter:o}=e;this.formatter=(0,import_ag_grid_community103._bindFilterCallback)(r,this.beans.gos,i,"columnFilter")??unformattedSetFilterText,this.displayValueModel instanceof TreeSetDisplayValueModel&&this.displayValueModel.updateParams(n,o),this.handler.refreshFilterValues(!0)}updateHandler(e){if(this.handler!==e){for(const i of this.handlerDestroyFuncs??[])i();this.handlerDestroyFuncs=[...this.addManagedListeners(e,{anyFilterChanged:i=>{e.valueModel.allKeys.then(r=>{this.isAlive()&&(this.updateDisplayedValues("otherFilter",r??[]),i.updated&&(this.checkAndRefreshVirtualList(),this.showOrHideResults()))})},dataChanged:({hardRefresh:i})=>{e.valueModel.allKeys.then(r=>{this.isAlive()&&(this.updateDisplayedValues("reload",r??[]),this.setSelectedModel(this.state.model?.values??null),i&&(this.hardRefreshVirtualList=!0),this.checkAndRefreshVirtualList(),this.showOrHideResults())})}}),...this.addManagedListeners(e.valueModel,{loadingStart:()=>this.setIsLoading(!0),loadingEnd:()=>this.setIsLoading(!1)})],this.handler=e}return e}updateUiVisibility(){}createBodyTemplate(){return{tag:"div",cls:"ag-set-filter",children:[{tag:"div",ref:"eFilterLoading",cls:"ag-filter-loading ag-loading ag-hidden",children:[{tag:"span",ref:"eFilterLoadingIcon",cls:"ag-loading-icon"},{tag:"span",cls:"ag-loading-text",children:translateForSetFilter(this,"loadingOoo")}]},{tag:"ag-input-text-field",ref:"eMiniFilter",cls:"ag-mini-filter"},{tag:"div",ref:"eFilterNoMatches",cls:"ag-filter-no-matches ag-hidden",children:translateForSetFilter(this,"noMatches")},{tag:"div",ref:"eSetFilterList",cls:"ag-set-filter-list",role:"presentation"}]}}getAgComponents(){return[import_ag_grid_community103.AgInputTextFieldSelector]}handleKeyDown(e){if(super.handleKeyDown(e),e.defaultPrevented)return;const t=()=>{if(!this.eSetFilterList.contains((0,import_ag_stack83._getActiveDomElement)(this.beans)))return;const i=this.virtualList.getLastFocusedRow();if(i==null)return;const r=this.virtualList.getComponentAt(i);if(r==null)return;e.preventDefault();const{readOnly:n}=this.params;if(!n)return r};switch(e.key){case import_ag_grid_community103.KeyCode.SPACE:t()?.toggleSelected();break;case import_ag_grid_community103.KeyCode.ENTER:this.handleKeyEnter(e);break;case import_ag_grid_community103.KeyCode.LEFT:t()?.setExpanded(!1);break;case import_ag_grid_community103.KeyCode.RIGHT:t()?.setExpanded(!0);break}}handleKeyEnter(e){e.preventDefault();const{excelMode:t,readOnly:i}=this.params;!t||i||(this.params.onAction("apply",void 0,e),this.params.excelMode==="mac"&&this.eMiniFilter.getInputElement().select())}setModelAndRefresh(e){return this.setSelectedModel(e).then(()=>{this.isAlive()&&(this.checkAndRefreshVirtualList(),this.showOrHideResults())})}setModelIntoUi(e){this.setMiniFilter(this.params.state.state?.miniFilterValue??null,!0);const t=e==null?null:e.values;return this.setModelAndRefresh(t)}getModelFromUi(){const e=this.getSelectedModel();return e?{values:e,filterType:this.filterType}:null}areNonNullModelsEqual(e,t){return(0,import_ag_stack83._areEqual)(e.values,t.values)}setIsLoading(e){(0,import_ag_stack83._setDisplayed)(this.eFilterLoading,e),e||(this.hardRefreshVirtualList=!0)}initialiseFilterBodyUi(){this.initVirtualList(),this.initMiniFilter(),this.initLoading()}initLoading(){const e=(0,import_ag_grid_community103._createIconNoSpan)("setFilterLoading",this.beans,this.params.column);e&&this.eFilterLoadingIcon.appendChild(e)}initVirtualList(){const e=translateForSetFilter(this,"ariaFilterList"),t=!!this.params.treeList,i=this.virtualList=this.createBean(new VirtualList({cssIdentifier:"filter",ariaRole:t?"tree":"listbox",listName:e})),r=this.eSetFilterList;t&&r.classList.add("ag-set-filter-tree-list"),r.appendChild(i.getGui());const{cellHeight:n}=this.params;n!=null&&i.setRowHeight(n);const o=(l,c)=>this.createSetListItem(l,t,c);i.setComponentCreator(o);const a=(l,c)=>this.updateSetListItem(l,c);i.setComponentUpdater(a),this.createVirtualListModel(this.params)}createVirtualListModel(e){let t;e.suppressSelectAll?t=new ModelWrapper(this.displayValueModel):t=new ModelWrapperWithSelectAll(this.displayValueModel,this.showAddCurrentSelectionToFilter.bind(this)),e.treeList&&(t=new TreeModelWrapper(t)),this.virtualList.setModel(t)}getSelectAllLabel(){const e=this.miniFilterText==null||!this.params.excelMode?"selectAll":"selectAllSearchResults";return translateForSetFilter(this,e)}getAddSelectionToFilterLabel(){return translateForSetFilter(this,"addCurrentSelectionToFilter")}createSetListItem(e,t,i){const r=this.displayValueModel.hasGroups(),{isSelected:n,isExpanded:o}=this.isSelectedExpanded(e),{value:a,depth:l,isGroup:c,hasIndeterminateExpandState:u,selectedListener:d,expandedListener:h}=this.newSetListItemAttributes(e),p={focusWrapper:i,value:a,params:this.params,translate:f=>translateForSetFilter(this,f),valueFormatter:this.handler.valueFormatter,item:e,isSelected:n,isTree:t,depth:l,groupsExist:r,isGroup:c,isExpanded:o,hasIndeterminateExpandState:u},g=this.createBean(new SetFilterListItem(p));return g.addEventListener("selectionChanged",d),h&&g.addEventListener("expandedChanged",h),g}newSetTreeItemAttributes(e){const t=this.displayValueModel,i=t.hasGroups();if(e===t.getSelectAllItem())return{value:()=>this.getSelectAllLabel(),isGroup:i,depth:e.depth,hasIndeterminateExpandState:!0,selectedListener:n=>this.onSelectAll(n.isSelected),expandedListener:n=>this.onExpandAll(n.item,n.isExpanded)};if(e===t.getAddSelectionToFilterItem())return{value:()=>this.getAddSelectionToFilterLabel(),depth:e.depth,isGroup:!1,hasIndeterminateExpandState:!1,selectedListener:n=>{this.addCurrentSelectionToFilter=n.isSelected,this.refreshAfterSelection()}};const r=e.children;return{value:this.params.treeListFormatter?.(e.treeKey,e.depth,e.parentTreeKeys)??e.treeKey,depth:e.depth,isGroup:!!r,selectedListener:n=>this.onTreeItemSelected(n.item,n.isSelected),expandedListener:r?n=>this.onExpandedChanged(n.item,n.isExpanded):void 0}}newSetListItemAttributes(e){return this.isSetFilterModelTreeItem(e)?this.newSetTreeItemAttributes(e):e===SET_FILTER_SELECT_ALL?{value:()=>this.getSelectAllLabel(),selectedListener:t=>this.onSelectAll(t.isSelected)}:e===SET_FILTER_ADD_SELECTION_TO_FILTER?{value:()=>this.getAddSelectionToFilterLabel(),selectedListener:t=>{this.addCurrentSelectionToFilter=t.isSelected,this.refreshAfterSelection()}}:{value:this.handler.valueModel.allValues.get(e)??null,selectedListener:t=>this.onItemSelected(t.item,t.isSelected)}}updateSetListItem(e,t){const{isSelected:i,isExpanded:r}=this.isSelectedExpanded(e);t.refresh(e,i,r)}isSelectedExpanded(e){let t,i;if(this.isSetFilterModelTreeItem(e)){const r=this.displayValueModel;i=e.expanded,e===r.getSelectAllItem()?t=this.isSelectAllSelected():e===r.getAddSelectionToFilterItem()?t=this.isAddCurrentSelectionToFilterChecked():t=this.isTreeItemSelected(e)}else e===SET_FILTER_SELECT_ALL?t=this.isSelectAllSelected():e===SET_FILTER_ADD_SELECTION_TO_FILTER?t=this.isAddCurrentSelectionToFilterChecked():t=this.selectedKeys.has(e);return{isSelected:t,isExpanded:i}}isSetFilterModelTreeItem(e){return e?.treeKey!==void 0}initMiniFilter(){const{eMiniFilter:e,params:t}=this;e.setClearButtonEnabled(!0).setSearchIcon(!0).setAutoComplete(t.browserAutoComplete),this.updateMiniFilter(),e.onValueChange(()=>this.onMiniFilterInput()).onValueClear(()=>this.onMiniFilterInput(!0)),e.setInputAriaLabel(translateForSetFilter(this,"ariaSearchFilterValues")),this.addManagedElementListeners(e.getInputElement(),{keydown:i=>this.onMiniFilterKeyDown(i)})}updateMiniFilter(){const{eMiniFilter:e,miniFilterText:t,params:i}=this;e.setDisplayed(!i.suppressMiniFilter),e.setValue(t)}afterGuiAttached(e){super.afterGuiAttached(e),this.resetExpansion(),this.refreshVirtualList();const{eMiniFilter:t}=this;t.setInputPlaceholder(translateForSetFilter(this,"searchOoo")),e?.suppressFocus||(t.isDisplayed()?t.getFocusableElement().focus():this.virtualList.awaitStable(()=>this.virtualList.focusRow(0)))}afterGuiDetached(){super.afterGuiDetached();const{column:e,excelMode:t,model:i,onStateChange:r}=this.params;this.beans.colFilter?.shouldKeepStateOnDetach(e)||(t&&this.resetMiniFilter(),(t||i!==this.state.model)&&(r({model:i,state:this.getState()}),this.showOrHideResults()))}canApply(e){return this.params.excelMode?e==null||e.values.length>0:!0}onNewRowsLoaded(){}setFilterValues(e){this.beans.log.warn(283),this.handler.setFilterValues(e)}resetFilterValues(){this.beans.log.warn(283),this.handler.resetFilterValues()}refreshFilterValues(){this.beans.log.warn(283),this.doRefreshFilterValues()}doRefreshFilterValues(){this.handler.refreshFilterValues()}onAnyFilterChanged(){}onMiniFilterInput(e=!1,t){if(!this.doSetMiniFilter(this.eMiniFilter.getValue()))return;if(t){this.showOrHideResults();return}const{applyMiniFilterWhileTyping:i,readOnly:r,excelMode:n}=this.params,o=!r&&(i||!!n),a=e&&o?"immediately":i&&!r?"debounce":void 0;this.updateUiAfterMiniFilterChange(o,a)}updateUiAfterMiniFilterChange(e,t){let i=t;if(e){const{excelMode:r,readOnly:n,model:o}=this.params;r&&!n&&this.miniFilterText==null?(this.setModelAndRefresh(o?.values??null),i==="immediately"&&(i=void 0)):this.selectAllMatchingMiniFilter(!0)}this.checkAndRefreshVirtualList(),this.onUiChanged(e?i:"prevent"),this.showOrHideResults()}showOrHideResults(){const e=this.miniFilterText!=null&&this.displayValueModel.getDisplayedValueCount()<1;(0,import_ag_stack83._setDisplayed)(this.eFilterNoMatches,e),(0,import_ag_stack83._setDisplayed)(this.eSetFilterList,!e)}resetMiniFilter(){this.eMiniFilter.setValue(null,!0),this.doSetMiniFilter(null)}onMiniFilterKeyDown(e){const{excelMode:t,readOnly:i}=this.params;e.key===import_ag_grid_community103.KeyCode.ENTER&&!t&&!i&&this.updateUiAfterMiniFilterChange(!0,"immediately")}focusRowIfAlive(e){return e==null?Promise.resolve():new Promise(t=>{window.setTimeout(()=>{this.isAlive()&&this.virtualList.focusRow(e),t()},0)})}onSelectAll(e){e?this.selectAllMatchingMiniFilter():this.deselectAllMatchingMiniFilter(),this.refreshAfterSelection()}onTreeItemSelected(e,t){const i=r=>{if(!r.filterPasses)return;const n=r.keys??NO_SET_FILTER_KEYS;for(let a=0,l=n.length;a<l;++a)this.setKeySelected(n[a],t);const o=r.children;if(o)for(const a of o.values())i(a)};i(e),this.refreshAfterSelection()}onItemSelected(e,t){this.setKeySelected(e,t),this.refreshAfterSelection()}onExpandAll(e,t){const i=r=>{if(r.filterPasses&&r.available&&r.children){for(const n of r.children.values())i(n);r.expanded=t}};i(e),this.refreshAfterExpansion()}onExpandedChanged(e,t){e.expanded=t,this.refreshAfterExpansion()}refreshAfterExpansion(){const e=this.virtualList.getLastFocusedRow();this.updateDisplayedValues("expansion"),this.checkAndRefreshVirtualList(),this.focusRowIfAlive(e)}refreshAfterSelection(){const e=this.virtualList.getLastFocusedRow();this.checkAndRefreshVirtualList(),this.onUiChanged(),this.focusRowIfAlive(e)}setMiniFilter(e,t){this.eMiniFilter.setValue(e,t),this.onMiniFilterInput(!1,t)}doSetMiniFilter(e){return e=(0,import_ag_stack83._makeNull)(e),this.miniFilterText===e?!1:(e===null&&(this.addCurrentSelectionToFilter=!1),this.miniFilterText=e,this.updateDisplayedValues("miniFilter"),!0)}getMiniFilter(){return this.miniFilterText}getUiChangeEventParams(){return{miniFilterValue:this.miniFilterText}}getState(){const e=this.miniFilterText;return e?{miniFilterValue:e}:void 0}checkAndRefreshVirtualList(){this.virtualList.refresh(!this.hardRefreshVirtualList),this.hardRefreshVirtualList&&(this.hardRefreshVirtualList=!1)}getFilterKeys(){return this.beans.log.warn(283),this.handler.getFilterKeys()}getFilterValues(){return this.beans.log.warn(283),this.handler.getFilterValues()}refreshVirtualList(){this.params.refreshValuesOnOpen?this.doRefreshFilterValues():this.checkAndRefreshVirtualList()}isSelectAllSelected(){if(this.params.defaultToNothingSelected){if(this.hasSelections()&&this.isEverythingVisibleSelected())return!0;if(this.isNothingVisibleSelected())return!1}else{if(this.hasSelections()&&this.isNothingVisibleSelected())return!1;if(this.isEverythingVisibleSelected())return!0}}isTreeItemSelected(e){const t=i=>{let r=!1,n=!1;const o=i.keys??NO_SET_FILTER_KEYS;for(let l=0,c=o.length;l<c;++l)this.selectedKeys.has(o[l])?r=!0:n=!0;const a=i.children;if(a)for(const l of a.values()){if(!l.filterPasses||!l.available)continue;const c=t(l);if(c===void 0)return;c?r=!0:n=!0}return r&&n?void 0:r};return this.params.defaultToNothingSelected?this.hasSelections()&&t(e):t(e)}resetExpansion(){if(!this.params.treeList)return;const e=this.displayValueModel.getSelectAllItem();if(this.isSetFilterModelTreeItem(e)){const t=i=>{const r=i.children;if(r){for(const n of r.values())t(n);i.expanded=!1}};t(e),this.updateDisplayedValues("expansion")}}getModelAsString(e){return this.handler.getModelAsString(e)}getPositionableElement(){return this.eSetFilterList}updateDisplayedValues(e,t){if(e==="expansion"){this.displayValueModel.refresh();return}const i=this.handler,r=i.valueModel;if(this.miniFilterText==null){this.displayValueModel.updateDisplayedValuesToAllAvailable(l=>r.allValues.get(l)??null,t,r.availableKeys,e);return}const n=i.caseFormat(this.formatter(this.miniFilterText)||""),o=l=>l!=null&&i.caseFormat(l).includes(n),a=!!this.params.excelMode&&o(translateForSetFilter(this,"blanks"));this.displayValueModel.updateDisplayedValuesToMatchMiniFilter(l=>r.allValues.get(l)??null,t,r.availableKeys,o,a,e)}hasSelections(){return this.params.defaultToNothingSelected?this.selectedKeys.size>0:this.handler.valueModel.allValues.size!==this.selectedKeys.size}isInWindowsExcelMode(){return this.params.excelMode==="windows"}isAddCurrentSelectionToFilterChecked(){return this.isInWindowsExcelMode()&&this.addCurrentSelectionToFilter}showAddCurrentSelectionToFilter(){return this.isInWindowsExcelMode()&&(0,import_ag_stack83._exists)(this.miniFilterText)&&this.miniFilterText.length>0}selectAllMatchingMiniFilter(e=!1){this.miniFilterText==null?this.selectedKeys=new Set(this.handler.valueModel.allValues.keys()):(e&&this.selectedKeys.clear(),this.displayValueModel.forEachDisplayedKey(t=>this.selectedKeys.add(t)))}deselectAllMatchingMiniFilter(){this.miniFilterText==null?this.selectedKeys.clear():this.displayValueModel.forEachDisplayedKey(e=>this.selectedKeys.delete(e))}setKeySelected(e,t){t?this.selectedKeys.add(e):(this.params.excelMode&&this.isEverythingVisibleSelected()&&this.resetSelectionState(this.displayValueModel.getDisplayedKeys()),this.selectedKeys.delete(e))}isEverythingVisibleSelected(){return!this.displayValueModel.someDisplayedKey(e=>!this.selectedKeys.has(e))}isNothingVisibleSelected(){return!this.displayValueModel.someDisplayedKey(e=>this.selectedKeys.has(e))}getSelectedModel(){if(!this.hasSelections())return null;const e=this.isAddCurrentSelectionToFilterChecked()?this.params.model?.values:void 0;if(e?.length){if(this.selectedKeys){const t=new Set([...e,...this.selectedKeys]);return Array.from(t)}return Array.from(e)}return Array.from(this.selectedKeys)}setSelectedModel(e){const t=this.handler,i=t.valueModel;return i.allKeys.then(r=>{if(e==null)this.resetSelectionState(r??[]);else{this.selectedKeys.clear();const n=new Map;i.allValues.forEach((o,a)=>{n.set(t.caseFormat(a),a)}),e.forEach(o=>{const a=t.caseFormat(setFilterNullIfBlank(o)),l=n.get(a);l!==void 0&&this.selectedKeys.add(l)})}})}resetSelectionState(e){this.params.defaultToNothingSelected?this.selectedKeys.clear():this.selectedKeys=new Set(e)}getFilterHandler(){return this.handler}destroy(){this.virtualList=this.destroyBean(this.virtualList);for(const e of this.handlerDestroyFuncs??[])e();this.handler=void 0,this.displayValueModel=void 0,this.selectedKeys.clear(),super.destroy()}},ModelWrapper=class{constructor(e){this.model=e}getRowCount(){return this.model.getDisplayedValueCount()}getRow(e){return this.model.getDisplayedItem(e)}areRowsEqual(e,t){return e===t}},ModelWrapperWithSelectAll=class{constructor(e,t){this.model=e,this.showAddCurrentSelectionToFilter=t}getRowCount(){const t=this.showAddCurrentSelectionToFilter()?2:1;return this.model.getDisplayedValueCount()+t}getRow(e){if(e===0)return this.model.getSelectAllItem();const t=this.showAddCurrentSelectionToFilter(),i=t?2:1;return e===1&&t?this.model.getAddSelectionToFilterItem():this.model.getDisplayedItem(e-i)}areRowsEqual(e,t){return e===t}},TreeModelWrapper=class{constructor(e){this.model=e}getRowCount(){return this.model.getRowCount()}getRow(e){return this.model.getRow(e)}areRowsEqual(e,t){return e==null&&t==null?!0:e?.treeKey===t?.treeKey&&e?.depth===t?.depth}},import_ag_stack85=require("ag-stack"),import_ag_grid_community106=require("ag-grid-community"),import_ag_grid_community104=require("ag-grid-community"),CsrmValuesExtractor=class extends import_ag_grid_community104.BeanStub{constructor(e,t,i,r,n){super(),this.createKey=e,this.caseFormat=t,this.getValue=i,this.isTreeDataOrGrouping=r,this.isTreeData=n}extractUniqueValuesAsync(e,t){return new import_ag_grid_community104.AgPromise(i=>{if(this.beans.rowModel.rowCountReady)i(this.extractUniqueValues(e,t));else{const[r]=this.addManagedEventListeners({rowCountReady:()=>{r?.(),i(this.extractUniqueValues(e,t))}})}})}extractUniqueValues(e,t){const i=new Map,r=this.extractExistingFormattedKeys(t),n=new Set,o=this.isTreeData(),a=this.isTreeDataOrGrouping(),l=this.beans.rowGroupColsSvc?.columns,c=this.gos.get("groupAllowUnbalanced"),u=(d,h)=>{const p=this.caseFormat(d);if(!n.has(p)){n.add(p);let g=d,f=setFilterNullIfBlank(h);const m=r?.get(p);m!=null&&(g=m,f=t.get(m)),i.set(g,f)}};return this.beans.rowModel.forEachLeafNode(d=>{if(!d.data||!e(d))return;if(a){this.addValueForTreeDataOrGrouping(d,o,l,u,c);return}const h=this.getValue(d);if(h!=null&&Array.isArray(h)){for(const p of h)u(this.createKey(p,d),p);h.length===0&&u(null,null)}else u(this.createKey(h,d),h)}),i}addValueForTreeDataOrGrouping(e,t,i=[],r,n){let o;if(t){if(e.childrenAfterGroup?.length)return;o=e.getRoute()??[e.key??e.id]}else o=i.map(l=>this.beans.valueSvc.getKeyForNode(l,e)),o.push(this.getValue(e));const a=processDataPath(o,t,n);r(this.createKey(a),a)}extractExistingFormattedKeys(e){if(!e)return null;const t=new Map;return e.forEach((i,r)=>{t.set(this.caseFormat(r),r)}),t}},SetFilterAppliedModel=class{constructor(e){this.caseFormat=e,this.keys=null}isNull(){return this.keys==null}isEmpty(){return!this.keys?.size}update(e){const t=new Set;this.keys=t;const i=e?.values;if(i){const r=this.caseFormat;for(let n=0,o=i.length;n<o;n++)t.add(r(i[n]))}}has(e){return!!this.keys?.has(this.caseFormat(e))}destroy(){this.keys=null}},import_ag_stack84=require("ag-stack"),import_ag_grid_community105=require("ag-grid-community"),SetFilterModelValuesType=(e=>(e[e.PROVIDED_LIST=0]="PROVIDED_LIST",e[e.PROVIDED_CALLBACK=1]="PROVIDED_CALLBACK",e[e.TAKEN_FROM_GRID_VALUES=2]="TAKEN_FROM_GRID_VALUES",e))(SetFilterModelValuesType||{}),setValueModel_default=SetFilterModelValuesType,SetValueModel=class extends import_ag_grid_community105.BeanStub{constructor(e,t,i,r,n){super(),this.csrmValuesExtractor=e,this.caseFormat=t,this.createKey=i,this.isTreeDataOrGrouping=r,this.params=n,this.allValues=new Map,this.availableKeys=new Set,this.providedValues=null,this.initialised=!1}postConstruct(){const e=this.params,t=e.handlerParams.filterParams.values;this.updateParams(e),t==null?this.valuesType=2:(this.valuesType=Array.isArray(t)?0:1,this.providedValues=t),this.updateAllValues()}refresh(e){const t=e.handlerParams;if(t.source!=="colDef")return;const{values:i,suppressSorting:r}=t.filterParams,n=this.providedValues,o=this.params.handlerParams.filterParams.suppressSorting;this.params=e,this.updateParams(e),this.providedValues=i??null,(this.providedValues!==n||r!==o)&&(!i||i.length===0?(this.valuesType=2,this.providedValues=null):this.valuesType=Array.isArray(i)?0:1,this.updateAllValues())}updateParams(e){const{handlerParams:{colDef:t,filterParams:{comparator:i,treeList:r,treeListPathGetter:n}},usingComplexObjects:o}=e,a=i??t.comparator,l=this.isTreeDataOrGrouping();let c;l&&!a?c=createTreeDataOrGroupingComparator():r&&!n&&!a?c=([u,d],[h,p])=>(0,import_ag_stack84._defaultComparator)(d,p):c=([u,d],[h,p])=>a(d,p),this.entryComparator=c,this.keyComparator=a??import_ag_stack84._defaultComparator,this.compareByValue=!!(o&&a||l||r&&!n)}updateAllValues(){return this.allKeys=new import_ag_grid_community105.AgPromise(e=>{switch(this.valuesType){case 2:this.getValuesFromRowsAsync().then(t=>{this.isAlive()&&e(this.processAllValues(t))});break;case 0:{e(this.processAllValues(this.uniqueValues(this.validateProvidedValues(this.providedValues))));break}case 1:{this.dispatchLocalEvent({type:"loadingStart"});const t=this.providedValues,{column:i,colDef:r}=this.params.handlerParams,n=(0,import_ag_grid_community105._addGridCommonParams)(this.gos,{success:o=>{this.isAlive()&&(this.dispatchLocalEvent({type:"loadingEnd"}),e(this.processAllValues(this.uniqueValues(this.validateProvidedValues(o)))))},colDef:r,column:i});window.setTimeout(()=>t(n),0);break}}}),this.allKeys.then(e=>{this.updateAvailableKeys(e??[]),this.initialised=!0}),this.allKeys}getAvailableValues(e){return this.sortKeys(this.getValuesFromRows(e))}overrideValues(e){return this.allKeys.then(()=>{this.valuesType=0,this.providedValues=e})}refreshAvailable(){return new import_ag_grid_community105.AgPromise(e=>{if(this.showAvailableOnly()){this.allKeys.then(t=>{const i=t??[];this.updateAvailableKeys(i),e(!0)});return}e(!1)})}refreshAll(){return new import_ag_grid_community105.AgPromise(e=>{this.allKeys.then(()=>{this.updateAllValues().then(()=>{e()})})})}isLoading(){return!this.initialised&&this.valuesType===1}isInitialised(){return this.initialised}getValueForFormatter(e){return this.initialised?this.allValues.get(e):e}getAvailableKeys(e){return this.initialised?e.filter(t=>this.availableKeys.has(t)):e}getParamsForValuesFromRows(e){if(!this.csrmValuesExtractor){this.error(113);return}return e&&!this.params.handlerParams.filterParams.caseSensitive?this.allValues:void 0}getValuesFromRows(e){const t=this.getParamsForValuesFromRows(!0);return this.csrmValuesExtractor?.extractUniqueValues(e,t)??null}getValuesFromRowsAsync(){const e=this.getParamsForValuesFromRows(!1);return this.csrmValuesExtractor?.extractUniqueValuesAsync(()=>!0,e)??import_ag_grid_community105.AgPromise.resolve(null)}processAllValues(e){const t=this.sortKeys(e);return this.allValues=e??new Map,t}uniqueValues(e){const t=new Map,i=new Set,{caseFormat:r,createKey:n}=this;for(const o of e??[]){const a=setFilterNullIfBlank(o),l=n(a),c=r(l);i.has(c)||(i.add(c),t.set(l,a))}return t}validateProvidedValues(e){if(this.params.userKeyCreator&&e?.length){const t=e[0];t&&typeof t!="object"&&typeof t!="function"&&(this.createKey(t)==null?this.warn(209):this.warn(210))}return e}sortKeys(e){const t=e??new Map,i=this.params.handlerParams.filterParams;if(i.suppressSorting)return Array.from(t.keys());let r;return this.compareByValue?r=Array.from(t.entries()).sort(this.entryComparator).map(([n])=>n):r=Array.from(t.keys()).sort(this.keyComparator),i.excelMode&&t.has(null)&&(r=r.filter(n=>n!=null),r.push(null)),r}showAvailableOnly(){return this.valuesType===2}updateAvailableKeys(e){const t=this.showAvailableOnly()?this.getAvailableValues(i=>this.params.handlerParams.doesRowPassOtherFilter(i)):e;this.availableKeys=new Set(t),window.setTimeout(()=>{this.isAlive()&&this.dispatchLocalEvent({type:"availableValuesChanged"})})}};function resolveKeyCreatorFlags(e,t){const{colDef:i,filterParams:r}=t,n=r.keyCreator??i.keyCreator,o=i.cellDataType,a=typeof o=="string"&&n===e.dataTypeSvc?.getFormatValue(o);return{usingComplexObjects:!!n,userKeyCreator:!!n&&!a}}var SetFilterHandler=class extends import_ag_grid_community106.BeanStub{constructor(){super(...arguments),this.filterType="set",this.treeDataTreeList=!1,this.groupingTreeList=!1,this.caseSensitive=!1,this.noValueFormatterSupplied=!1}init(e){this.updateParams(e);const t=this.isTreeDataOrGrouping.bind(this),i=()=>this.treeDataTreeList,r=this.createKey,n=this.caseFormat.bind(this),{gos:o,beans:a}=this,l=(0,import_ag_grid_community106._isClientSideRowModel)(o,a.rowModel)?this.createManagedBean(new CsrmValuesExtractor(r,n,e.getValue,t,i)):void 0,c=this.createManagedBean(new SetValueModel(l,n,r,t,{handlerParams:e,...resolveKeyCreatorFlags(this.beans,e)}));this.addManagedListeners(c,{availableValuesChanged:e.onModelAsStringChange}),this.valueModel=c,this.appliedModel=new SetFilterAppliedModel(this.caseFormat.bind(this)),this.appliedModel.update(e.model),this.validateModel(e),this.addEventListenersForDataChanges()}refresh(e){this.updateParams(e),this.valueModel.refresh({handlerParams:e,...resolveKeyCreatorFlags(this.beans,e)}),this.appliedModel.update(e.model),this.validateModel(e)}updateParams(e){this.params=e;const{colDef:t,filterParams:{caseSensitive:i,treeList:r,keyCreator:n,valueFormatter:o}}=e;this.caseSensitive=!!i;const a=!!t.showRowGroup;this.treeDataTreeList=this.gos.get("treeData")&&!!r&&a,this.groupingTreeList=!!this.beans.rowGroupColsSvc?.columns.length&&!!r&&a;const l=n??t.keyCreator;this.createKey=this.generateCreateKey(l,this.isTreeDataOrGrouping()),this.setValueFormatter(o,l,!!r,!!t.refData)}doesFilterPass(e){const t=this.appliedModel;return t.isNull()?!0:t.isEmpty()?!1:this.matchesKeys(e.node,t)??!1}createKeysMatcher(e){const t=new SetFilterAppliedModel(this.caseFormat.bind(this));let i=this.caseSensitive;return t.update({filterType:"set",values:e}),r=>(i!==this.caseSensitive&&(i=this.caseSensitive,t.update({filterType:"set",values:e})),this.matchesKeys(r,t))}matchesKeys(e,t){if(this.treeDataTreeList)return this.doesFilterPassForTreeData(e,t);if(this.groupingTreeList)return this.doesFilterPassForGrouping(e,t);const i=this.params.getValue(e);return i!=null&&Array.isArray(i)?i.length===0?t.has(null):i.some(r=>t.has(this.createKey(r,e))):t.has(this.createKey(i,e))}createDisplayValueTree(e){const t=this.params.filterParams,i=new TreeSetDisplayValueModel(this.beans.log,(0,import_ag_grid_community106._bindFilterCallback)(t.textFormatter,this.beans.gos,this.params.column,"columnFilter")??unformattedSetFilterText,t.treeListPathGetter,t.treeListFormatter,this.isTreeDataOrGrouping());return i.updateDisplayedValuesToAllAvailable(r=>this.valueModel.getValueForFormatter(r),e,new Set(e),"reload"),i.getSelectAllItem().children}getFormattedValue(e){let t=this.valueModel.getValueForFormatter(e);this.noValueFormatterSupplied&&this.isTreeDataOrGrouping()&&Array.isArray(t)&&(t=(0,import_ag_stack85._last)(t));const i=setFilterFormattedValue(this.beans,this.params.column,t,this.valueFormatter);return i??(0,import_ag_stack85._toStringOrNull)(t)??translateForSetFilter(this,"blanks")}getModelAsString(e,t){const{values:i}=e??{},r=t==="filterToolPanel";if(i==null)return r?translateForSetFilter(this,"filterSummaryListInactive"):"";const n=this.valueModel.getAvailableKeys(i),o=n.length,a=r?3:10,l=n.slice(0,a).map(c=>this.getFormattedValue(c));if(r){const c=l.join(translateForSetFilter(this,"filterSummaryListSeparator"));return o>3?translateForSetFilter(this,"filterSummaryListLong",[c,String(o-3)]):translateForSetFilter(this,"filterSummaryListShort",[c])}return`(${o}) ${l.join(",")}${o>10?",...":""}`}onAnyFilterChanged(){window.setTimeout(()=>{this.isAlive()&&this.valueModel.refreshAvailable().then(e=>{this.dispatchLocalEvent({type:"anyFilterChanged",updated:!!e})})})}onNewRowsLoaded(){this.syncAfterDataChange()}setFilterValues(e){this.valueModel.overrideValues(e).then(()=>{this.refreshFilterValues()})}resetFilterValues(){this.valueModel.valuesType=setValueModel_default.TAKEN_FROM_GRID_VALUES,this.syncAfterDataChange()}refreshFilterValues(e){this.valueModel.isInitialised()&&this.valueModel.refreshAll().then(()=>{this.dispatchLocalEvent({type:"dataChanged",hardRefresh:!0}),this.validateModel(this.params,void 0,!e)})}getFilterKeys(){return Array.from(this.valueModel.allValues.keys())}getFilterValues(){return Array.from(this.valueModel.allValues.values())}isTreeDataOrGrouping(){return this.treeDataTreeList||this.groupingTreeList}caseFormat(e){return e==null||typeof e!="string"||this.caseSensitive?e:e.toUpperCase()}addEventListenersForDataChanges(){this.addManagedPropertyListeners(["groupAllowUnbalanced"],()=>this.syncAfterDataChange());const e=(0,import_ag_stack85._debounce)(this,this.syncAfterDataChange.bind(this),0);this.addManagedEventListeners({cellValueChanged:t=>{t.column===this.params.column&&e()},dataTypesInferred:()=>e()})}syncAfterDataChange(){this.isValuesTakenFromGrid()&&this.valueModel.refreshAll().then(()=>{this.dispatchLocalEvent({type:"dataChanged"}),this.validateModel(this.params,{afterDataChange:!0})})}validateModel(e,t,i){const r=this.valueModel;r.allKeys.then(()=>{const n=e.model;if(n==null)return;const o=new Map,a=f=>o.set(this.caseFormat(f),f);if(i)for(const f of r.availableKeys)a(f);else r.allValues.forEach((f,m)=>a(m));const l=r.valuesType===setValueModel_default.TAKEN_FROM_GRID_VALUES;if(l&&o.size===0&&n.values.length>0)return;const c=[];let u=!1;for(const f of n.values){const m=this.caseFormat(setFilterNullIfBlank(f)),v=o.get(m);v!==void 0?(c.push(v),v!==f&&(u=!0)):u=!0}const d=c.length,h=e.filterParams;if(d===0&&h.excelMode){e.onModelChange(null,t);return}const g=!h.defaultToNothingSelected&&(l||!h.suppressClearModelOnRefreshValues)&&d===o.size;if(u||!n.filterType||g){const f=g?null:{filterType:this.filterType,values:c};e.onModelChange(f,t)}})}isValuesTakenFromGrid(){return this.valueModel.valuesType===setValueModel_default.TAKEN_FROM_GRID_VALUES}doesFilterPassForTreeData(e,t){if(!e.childrenAfterGroup?.length)return t.has(this.createKey(processDataPath(e.getRoute()??[e.key??e.id],!0,this.gos.get("groupAllowUnbalanced"))))}doesFilterPassForGrouping(e,t){const{params:i,gos:r,beans:{rowGroupColsSvc:n,valueSvc:o}}=this,a=(n?.columns??[]).map(l=>o.getKeyForNode(l,e));return a.push(i.getValue(e)),t.has(this.createKey(processDataPath(a,!1,r.get("groupAllowUnbalanced"))))}generateCreateKey(e,t){return t&&!e?(this.error(250),()=>null):e?(i,r=null)=>{const n=this.getKeyCreatorParams(i,r);return setFilterNullIfBlank(e(n))}:i=>setFilterNullIfBlank((0,import_ag_stack85._toStringOrNull)(i))}getKeyCreatorParams(e,t=null){const{colDef:i,column:r}=this.params;return(0,import_ag_grid_community106._addGridCommonParams)(this.gos,{value:e,colDef:i,column:r,node:t,data:t?.data})}setValueFormatter(e,t,i,r){let n=e;if(!n){if(t&&!i){this.error(249);return}this.noValueFormatterSupplied=!0,n=o=>{const a=o.value;return(0,import_ag_grid_community106._isBlank)(a)?translateForSetFilter(this,"blanks"):r?this.beans.valueSvc.formatValue(o.column,null,a,void 0,!1):(0,import_ag_stack85._toStringOrNull)(a)}}this.valueFormatter=n}getCrossFilterModel(e){const{createKey:t,valueModel:i,params:r}=this;return e(t,i.availableKeys,r.model?.values)}destroy(){this.appliedModel.destroy(),super.destroy(),this.valueModel=void 0}},import_ag_stack86=require("ag-stack"),import_ag_grid_community107=require("ag-grid-community"),SetFloatingFilterElement={tag:"div",cls:"ag-floating-filter-input ag-set-floating-filter-input",role:"presentation",children:[{tag:"ag-input-text-field",ref:"eFloatingFilterText"}]},SetFloatingFilterComp=class extends import_ag_grid_community107.Component{constructor(){super(SetFloatingFilterElement,[import_ag_grid_community107.AgInputTextFieldSelector]),this.eFloatingFilterText=import_ag_stack86.RefPlaceholder}init(e){this.params=e,this.eFloatingFilterText.setDisabled(!0).addGuiEventListener("click",()=>this.params.showParentFilter()),this.setParams(e)}setParams(e){const t=this.beans.colNames.getDisplayNameForColumn(e.column,"header",!0),i=this.getLocaleTextFunc();if(this.eFloatingFilterText.setInputAriaLabel(`${t} ${i("ariaFilterInput","Filter Input")}`),this.gos.get("enableFilterHandlers")){const r=e;this.updateFloatingFilterText(r.model)}}refresh(e){this.params=e,this.setParams(e)}onParentModelChanged(e){this.updateFloatingFilterText(e)}parentSetFilterInstance(e){this.params.parentFilterInstance(t=>{if(!(t instanceof SetFilter)){this.beans.log.error(248);return}e(t)})}updateFloatingFilterText(e){e==null?this.eFloatingFilterText.setValue(""):this.gos.get("enableFilterHandlers")?this.eFloatingFilterText.setValue(this.params.getHandler().getModelAsString?.(e)??""):this.parentSetFilterInstance(t=>{this.eFloatingFilterText.setValue(t.getModelAsString(e))})}},SetFilterModule={moduleName:"SetFilter",version:VERSION,userComponents:{agSetColumnFilter:{classImp:SetFilter,params:{useForm:!0},processParams:(e,t)=>(applyExcelModeOptions(e,t),e)},agSetColumnFloatingFilter:SetFloatingFilterComp},dynamicBeans:{agSetColumnFilterHandler:SetFilterHandler},icons:{setFilterGroupClosed:"tree-closed",setFilterGroupOpen:"tree-open",setFilterGroupIndeterminate:"tree-indeterminate",setFilterLoading:"loading"},dependsOn:[EnterpriseCoreModule,import_ag_grid_community108._ColumnFilterModule]},import_ag_grid_community118=require("ag-grid-community"),import_ag_stack87=require("ag-stack"),import_ag_grid_community109=require("ag-grid-community"),agStatusBar_default=".ag-status-bar{border-top:var(--ag-footer-row-border);display:flex;justify-content:space-between;line-height:1.5;overflow:auto hidden;padding-left:calc(var(--ag-spacing)*4);padding-right:calc(var(--ag-spacing)*4);scrollbar-width:thin}.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 getStatusPanelCompDetails(e,t,i){return e.getCompDetails(t,StatusPanelComponent,void 0,i,!0)}var StatusPanelComponent={name:"statusPanel",optionalMethods:["refresh"]},AgStatusBarValidationMap={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]}},AgStatusBarElement={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"}]},AgStatusBar=class extends import_ag_grid_community109.Component{constructor(){super(AgStatusBarElement),this.updateQueued=!1,this.panelsPromise=import_ag_grid_community109.AgPromise.resolve(),this.eStatusBarLeft=import_ag_stack87.RefPlaceholder,this.eStatusBarCenter=import_ag_stack87.RefPlaceholder,this.eStatusBarRight=import_ag_stack87.RefPlaceholder,this.compDestroyFunctions={},this.registerCSS(agStatusBar_default)}wireBeans(e){this.userCompFactory=e.userCompFactory,this.statusBarSvc=e.statusBarSvc}postConstruct(){this.processStatusPanels(new Map),this.addManagedPropertyListeners(["statusBar"],this.handleStatusBarChanged.bind(this)),(0,import_ag_grid_community109._addFocusableContainerListener)(this.beans,this,this.getGui())}getFocusableContainerName(){return"statusBar"}getValidPanels(){const e=this.gos,t=e.get("statusBar")?.statusPanels;return t&&t.filter(i=>{const{rowModels:r,warnArgs:n}=AgStatusBarValidationMap[i.statusPanel]??{};return!r||r.includes(e.get("rowModelType"))?!0:(this.beans.log.warn(...n),!1)})}processStatusPanels(e){const t=this.getValidPanels();if(t){const i=t.filter(o=>o.align==="left"),r=t.filter(o=>o.align==="center"),n=t.filter(o=>!o.align||o.align==="right");this.panelsPromise=import_ag_grid_community109.AgPromise.all([this.createAndRenderComponents(i,this.eStatusBarLeft,e),this.createAndRenderComponents(r,this.eStatusBarCenter,e),this.createAndRenderComponents(n,this.eStatusBarRight,e)])}else this.setDisplayed(!1)}handleStatusBarChanged(){this.updateQueued||(this.updateQueued=!0,this.panelsPromise.then(()=>{this.updateStatusBar(),this.updateQueued=!1}))}updateStatusBar(){const e=this.getValidPanels(),t=Array.isArray(e)&&e.length>0;this.setDisplayed(t);const i=new Map;if(t)for(const r of e){const n=r.key??r.statusPanel,o=this.statusBarSvc.getStatusPanel(n);if(o?.refresh){const a=(0,import_ag_grid_community109._addGridCommonParams)(this.gos,{...r.statusPanelParams??{},key:n});o.refresh(a)&&(i.set(n,o),delete this.compDestroyFunctions[n],(0,import_ag_stack87._removeFromParent)(o.getGui()))}}this.resetStatusBar(),t&&this.processStatusPanels(i)}resetStatusBar(){(0,import_ag_stack87._clearElement)(this.eStatusBarLeft),(0,import_ag_stack87._clearElement)(this.eStatusBarCenter),(0,import_ag_stack87._clearElement)(this.eStatusBarRight),this.destroyComponents(),this.statusBarSvc.unregisterAllComponents()}destroy(){this.destroyComponents(),super.destroy()}destroyComponents(){for(const e of Object.values(this.compDestroyFunctions))e();this.compDestroyFunctions={}}createAndRenderComponents(e,t,i){const r=[];for(const n of e){const o=n.key||n.statusPanel,a=i.get(o);let l;if(a)l=import_ag_grid_community109.AgPromise.resolve(a);else{const c=getStatusPanelCompDetails(this.userCompFactory,n,(0,import_ag_grid_community109._addGridCommonParams)(this.gos,{key:o}));if(c==null)continue;l=c.newAgStackInstance()}r.push({key:o,promise:l})}return import_ag_grid_community109.AgPromise.all(r.map(n=>n.promise)).then(()=>{for(const n of r)n.promise.then(o=>{const a=()=>{this.destroyBean(o)};this.isAlive()?(this.statusBarSvc.registerStatusPanel(n.key,o),t.appendChild(o.getGui()),this.compDestroyFunctions[n.key]=a):a()})})}},AgStatusBarSelector={selector:"AG-STATUS-BAR",component:AgStatusBar},import_ag_stack89=require("ag-stack"),import_ag_grid_community111=require("ag-grid-community"),import_ag_stack88=require("ag-stack"),import_ag_grid_community110=require("ag-grid-community"),AgNameValueElement={tag:"div",cls:"ag-status-name-value",children:[{tag:"span",ref:"eLabel"},":\xA0",{tag:"span",ref:"eValue",cls:"ag-status-name-value-value"}]},MIN_SAFE_BIGINT=BigInt(Number.MIN_SAFE_INTEGER),MAX_SAFE_BIGINT=BigInt(Number.MAX_SAFE_INTEGER),AgNameValue=class extends import_ag_grid_community110.Component{constructor(){super(AgNameValueElement),this.eLabel=import_ag_stack88.RefPlaceholder,this.eValue=import_ag_stack88.RefPlaceholder}setLabel(e,t){this.setDisplayed(!1),this.eLabel.textContent=this.getLocaleTextFunc()(e,t)}setValue(e,t){let i=null,r;typeof e=="bigint"?(r=e,e>=MIN_SAFE_BIGINT&&e<=MAX_SAFE_BIGINT&&(i=Number(e))):i=e,this.eValue.textContent=this.valueFormatter((0,import_ag_grid_community110._addGridCommonParams)(this.gos,{value:i,bigintValue:r,totalRows:t,key:this.key}))}},AgNameValueSelector={selector:"AG-NAME-VALUE",component:AgNameValue},_getFilteredRowCount=e=>{let t=0;return e.forEachNodeAfterFilter(i=>{i.data&&t++}),t},_getTotalRowCount=e=>{let t=0;return e.forEachNode(i=>{i.data&&t++}),t};function _formatNumberTwoDecimalPlacesAndCommas(e,t){return typeof e!="number"?"":(0,import_ag_grid_community111._formatNumberCommas)(Math.round(e*100)/100,t)}var AggregationCompElement={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"}]},AggregationComp=class extends import_ag_grid_community111.Component{constructor(){super(AggregationCompElement,[AgNameValueSelector]),this.sumAggregationComp=import_ag_stack89.RefPlaceholder,this.countAggregationComp=import_ag_stack89.RefPlaceholder,this.minAggregationComp=import_ag_stack89.RefPlaceholder,this.maxAggregationComp=import_ag_stack89.RefPlaceholder,this.avgAggregationComp=import_ag_stack89.RefPlaceholder}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(e){this.refresh(e)}refresh(e){this.params=e;const t=e.valueFormatter??(r=>{const{value:n,bigintValue:o}=r;return o!=null?o.toString():_formatNumberTwoDecimalPlacesAndCommas(n,this.getLocaleTextFunc.bind(this))}),i=["avg","count","min","max","sum"];for(const r of i){const n=this.getAllowedAggregationValueComponent(r);n&&(n.key=r,n.valueFormatter=t.bind(this))}return this.onCellSelectionChanged(),!0}setAggregationComponentValue(e,t,i){const r=this.getAllowedAggregationValueComponent(e),n=_getTotalRowCount(this.beans.rowModel);(0,import_ag_stack89._exists)(r)&&r?(r.setValue(t,n),r.setDisplayed(i)):this.getAggregationValueComponent(e)?.setDisplayed(!1)}getAllowedAggregationValueComponent(e){const{aggFuncs:t}=this.params;return!t||t.includes(e)?this.getAggregationValueComponent(e):null}getAggregationValueComponent(e){const t=`${e}AggregationComp`;return this[t]}onCellSelectionChanged(){const e=this.beans,t=e.valueSvc,i=e.formula,r=e.rangeSvc,n=r?.getCellRanges();let o=0,a=0n,l=!1,c=!1,u=0,d=0,h=null,p=null,g=null,f=null;const m=R=>{if(typeof R=="number")if(o+=R,(h===null||R<h)&&(h=R),(p===null||R>p)&&(p=R),!Number.isInteger(R)||!Number.isSafeInteger(R))c=!0;else{const A=BigInt(R);a+=A,(g===null||A<g)&&(g=A),(f===null||A>f)&&(f=A)}else{l=!0,a+=R,(g===null||R<g)&&(g=R),(f===null||R>f)&&(f=R);const A=Number(R);o+=A,(h===null||A<h)&&(h=A),(p===null||A>p)&&(p=A)}d++},v={};if(n?.length&&r)for(let R=0;R<n.length;R++){const A=n[R];let E=r.getRangeStartRow(A);const _=r.getRangeEndRow(A);for(;!((0,import_ag_stack89._missing)(E)||!E||(0,import_ag_grid_community111._isRowBefore)(_,E)||!E||!A.columns);)A.columns.forEach(D=>{if(E===null)return;const k=(0,import_ag_grid_community111._createCellId)({rowPinned:E.rowPinned,column:D,rowIndex:E.rowIndex});if(v[k])return;v[k]=!0;const B=(0,import_ag_grid_community111._getRowNode)(e,E);if((0,import_ag_stack89._missing)(B))return;let O=t.getValueFromData(D,B);if(D.allowFormula&&i?.isFormula(O)&&(O=i.resolveValue(D,B)),!((0,import_ag_stack89._missing)(O)||O==="")&&(u++,!(typeof O=="object"&&"value"in O&&(O=O.value,O==="")))){if(typeof O=="string"){const W=O.trim();if(W==="")return;const U=Number(W);if(!Number.isFinite(U))return;o+U>=Number.MAX_SAFE_INTEGER||o+U<=Number.MIN_SAFE_INTEGER||U>=Number.MAX_SAFE_INTEGER||U<=Number.MIN_SAFE_INTEGER?(O=(0,import_ag_stack89._parseBigIntOrNull)(W),O===null&&(O=U)):O=U}(typeof O=="number"&&!isNaN(O)||typeof O=="bigint")&&m(O)}}),E=(0,import_ag_grid_community111._getRowBelow)(e,E)}const C=u>1,y=d>1,S=l&&!c;let x;S?x=a/BigInt(d):x=o/d;const b=y?S?a:o:null,w=y?S?g:h:null,P=y?S?f:p:null,F=y?x:null,T=y;this.setAggregationComponentValue("count",u,C),this.setAggregationComponentValue("sum",b,y),this.setAggregationComponentValue("min",w,y),this.setAggregationComponentValue("max",P,y),this.setAggregationComponentValue("avg",F,T)}},import_ag_grid_community112=require("ag-grid-community"),FilteredRowsComp=class extends AgNameValue{postConstruct(){this.setLabel("filteredRows","Filtered"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-filtered-row-count"),this.setDisplayed(!0);const e=this.onDataChanged.bind(this);this.addManagedEventListeners({modelUpdated:e})}onDataChanged(){const{rowModel:e}=this.beans,t=_getTotalRowCount(e),i=_getFilteredRowCount(e);this.setValue(i,t),this.setDisplayed(t!==i)}init(e){this.refresh(e),this.onDataChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:t})=>(0,import_ag_grid_community112._formatNumberCommas)(t,this.getLocaleTextFunc.bind(this)))}refresh(e){const{key:t,valueFormatter:i}=e;return this.key=t,this.updateValueFormatter(i),!0}},import_ag_grid_community113=require("ag-grid-community"),SelectedRowsComp=class extends AgNameValue{postConstruct(){this.setLabel("selectedRows","Selected"),this.addCss("ag-status-panel"),this.addCss("ag-status-panel-selected-row-count");const e=this.onRowSelectionChanged.bind(this);this.addManagedEventListeners({modelUpdated:e,selectionChanged:e})}onRowSelectionChanged(){const{selectionSvc:e,rowModel:t}=this.beans,i=e?.getSelectionCount()??0,r=_getTotalRowCount(t);if(this.setValue(i,r),i<0){this.setDisplayed(!0);return}this.setDisplayed(i>0)}init(e){this.refresh(e),this.onRowSelectionChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:t})=>t==null||t>=0?(0,import_ag_grid_community113._formatNumberCommas)(t,this.getLocaleTextFunc.bind(this)):this.getLocaleTextFunc()("statusBarLastRowUnknown","?"))}refresh(e){const{key:t,valueFormatter:i}=e;return this.key=t,this.updateValueFormatter(i),!0}},import_ag_grid_community114=require("ag-grid-community"),TotalAndFilteredRowsComp=class extends AgNameValue{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(){const{rowModel:e}=this.beans,t=_getFilteredRowCount(e),i=_getTotalRowCount(e);this.setValue(t,i)}init(e){this.refresh(e),this.onDataChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:t,totalRows:i})=>{const r=this.getLocaleTextFunc.bind(this),n=(0,import_ag_grid_community114._formatNumberCommas)(t,r),o=(0,import_ag_grid_community114._formatNumberCommas)(i??t,r);if(t===i)return n;const a=r();return`${n} ${a("of","of")} ${o}`})}refresh(e){const{key:t,valueFormatter:i}=e;return this.key=t,this.updateValueFormatter(i),!0}},import_ag_grid_community115=require("ag-grid-community"),TotalRowsComp=class extends AgNameValue{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(){const e=_getTotalRowCount(this.beans.rowModel);this.setValue(e,e)}init(e){this.refresh(e),this.onDataChanged()}updateValueFormatter(e){this.valueFormatter=e??(({value:t})=>(0,import_ag_grid_community115._formatNumberCommas)(t,this.getLocaleTextFunc.bind(this)))}refresh(e){const{key:t,valueFormatter:i}=e;return this.key=t,this.updateValueFormatter(i),!0}},import_ag_grid_community116=require("ag-grid-community");function getStatusPanel(e,t){const i=e.statusBarSvc?.getStatusPanel(t);return(0,import_ag_grid_community116._unwrapUserComp)(i)}var import_ag_grid_community117=require("ag-grid-community"),StatusBarService=class extends import_ag_grid_community117.BeanStub{constructor(){super(),this.beanName="statusBarSvc",this.comps=new Map}registerStatusPanel(e,t){this.comps.set(e,t)}unregisterStatusPanel(e){this.comps.delete(e)}unregisterAllComponents(){this.comps.clear()}getStatusPanel(e){return this.comps.get(e)}destroy(){this.unregisterAllComponents(),super.destroy()}},StatusBarModule={moduleName:"StatusBar",version:VERSION,beans:[StatusBarService],userComponents:{agAggregationComponent:AggregationComp,agTotalRowCountComponent:TotalRowsComp,agFilteredRowCountComponent:FilteredRowsComp,agTotalAndFilteredRowCountComponent:TotalAndFilteredRowsComp,agSelectedRowCountComponent:SelectedRowsComp},selectors:[AgStatusBarSelector],apiFunctions:{getStatusPanel},dependsOn:[EnterpriseCoreModule,import_ag_grid_community118._KeyboardNavigationModule]},import_ag_stack90=require("ag-stack"),import_ag_grid_community119=require("ag-grid-community"),agToolbar_default=".ag-toolbar{align-items:center;background-color:var(--ag-toolbar-background-color);border-bottom:var(--ag-header-row-border);color:var(--ag-toolbar-text-color);display:flex;font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);min-height:var(--ag-header-height);overflow:auto hidden;scrollbar-width:thin;white-space:nowrap}.ag-toolbar-right-start{margin-inline-start:auto}.ag-toolbar-item{display:inline-flex}.ag-toolbar-item:where(:not(.ag-toolbar-panel)){font-weight:var(--ag-header-font-weight)}.ag-toolbar-button-wrapper{display:inline-flex;height:100%;padding:calc(var(--ag-spacing)*.25)}.ag-toolbar-button{align-items:center;background:transparent;border:0;color:var(--ag-toolbar-text-color);cursor:pointer;display:inline-flex;font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);font-weight:var(--ag-header-font-weight);gap:var(--ag-spacing);line-height:1;outline:none;padding:var(--ag-spacing);white-space:nowrap}:where(.ag-toolbar-button) .ag-icon{color:var(--ag-icon-color)}.ag-toolbar-button-wrapper:hover{background-color:var(--ag-icon-button-hover-background-color);color:var(--ag-icon-button-hover-color)}:where(.ag-toolbar-button-wrapper:hover .ag-toolbar-button) .ag-icon,:where(.ag-toolbar-button-wrapper:hover) .ag-toolbar-button{color:var(--ag-icon-button-hover-color)}.ag-toolbar-button:focus-visible{box-shadow:var(--ag-focus-shadow)}:where(.ag-toolbar-button:focus):not(:focus-visible){box-shadow:none}.ag-toolbar-button:disabled{cursor:default;opacity:.5;pointer-events:none}.ag-toolbar>.ag-toolbar-button-wrapper:first-child>.ag-toolbar-button{border-start-start-radius:calc(var(--ag-border-radius) + 1px)}.ag-toolbar>.ag-toolbar-button-wrapper:last-child>.ag-toolbar-button{border-start-end-radius:calc(var(--ag-border-radius) + 1px)}.ag-toolbar-panel{display:inline-flex;flex:1 0 0;padding:0 calc(var(--ag-spacing)*2)}.ag-toolbar-input{align-items:center;display:inline-flex;margin:0 calc(var(--ag-spacing)*2);max-width:none;min-width:200px;position:relative}.ag-toolbar-input+.ag-toolbar-input{margin-inline-start:0}.ag-toolbar-right-start+.ag-toolbar-input{margin-inline-start:var(--ag-spacing)}.ag-toolbar>.ag-toolbar-input:first-child{margin-inline-start:var(--ag-spacing)}.ag-toolbar>.ag-toolbar-input:last-child{margin-inline-end:var(--ag-spacing)}.ag-toolbar-input-icon{align-items:center;color:var(--ag-icon-color);display:inline-flex;inset-inline-start:var(--ag-spacing);opacity:.5;pointer-events:none;position:absolute;z-index:1}.ag-toolbar-input-field{background-color:var(--ag-input-background-color);border:var(--ag-input-border);border-radius:var(--ag-input-border-radius);color:var(--ag-text-color);font-family:inherit;font-size:var(--ag-font-size);font-weight:inherit;line-height:1.5;outline:none;padding-block:calc(var(--ag-spacing)*.5);width:100%}.ag-toolbar-input .ag-toolbar-input-field{padding-inline-start:calc(var(--ag-icon-size) + var(--ag-spacing)*2)}.ag-toolbar-input-widget{flex:1;min-width:0}.ag-toolbar-input-field:focus{border:var(--ag-input-focus-border);box-shadow:var(--ag-focus-shadow)}.ag-toolbar-input-field::-moz-placeholder{color:var(--ag-input-placeholder-text-color)}.ag-toolbar-input-field::placeholder{color:var(--ag-input-placeholder-text-color)}:where(.ag-toolbar-panel) .ag-column-drop-horizontal{background-color:transparent;border-bottom:none;font-family:var(--ag-cell-font-family);font-size:var(--ag-font-size);padding:0}.ag-toolbar .ag-column-drop-horizontal{border-bottom:none;overflow:visible;padding-inline-start:0}.ag-toolbar-button-chevron{align-items:center;display:inline-flex}.ag-toolbar-separator{align-self:stretch;border-inline-start:var(--ag-toolbar-separator-border);margin:calc(var(--ag-spacing)*1.75) 0;width:0}.ag-toolbar-find{background-color:var(--ag-input-background-color);border:var(--ag-input-border);border-radius:var(--ag-input-border-radius);gap:calc(var(--ag-spacing)*.5);max-width:none;min-width:220px;width:280px}.ag-toolbar-find:focus-within{border:var(--ag-input-focus-border);box-shadow:var(--ag-focus-shadow)}.ag-toolbar-find .ag-toolbar-input-field{background-color:transparent;border:none;flex:1;min-width:0}.ag-toolbar-find .ag-toolbar-input-field:focus{border:none;box-shadow:none}.ag-toolbar-find-match-count{color:inherit;flex-shrink:0;font-size:var(--ag-font-size);font-variant-numeric:tabular-nums;opacity:.7;text-align:end;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ag-toolbar-find-button{flex-shrink:0;padding:calc(var(--ag-spacing)*.5)}";function normaliseItem(e,t){if(typeof e=="string")return{toolbarItem:e,key:e};let i=e.toolbarItem,r=e.toolbarItemParams,n,o,a,l;return i==null?({label:n,tooltip:o,icon:a,action:l}=e,(l!=null||n!=null||a!=null)&&(i="agButtonToolbarItem",r=void 0)):i==="agMenuToolbarItem"&&({label:n,tooltip:o,icon:a}=e),{toolbarItem:i,toolbarItemParams:r,alignment:e.alignment,key:e.key??t(),label:n,tooltip:o,icon:a,action:l}}var ToolbarItemComponent={name:"toolbarItem",optionalMethods:["refresh"]},AgToolbarElement={tag:"div",cls:"ag-toolbar",role:"toolbar"},AgToolbar=class extends import_ag_grid_community119.Component{constructor(){super(AgToolbarElement),this.toolbarItems=new Map,this.nextKey=0,this.generation=0,this.registerCSS(agToolbar_default)}postConstruct(){const e=this.getGui();this.beans.toolbar.setToolbar(this),this.processToolbarItems(),this.addManagedPropertyListeners(["toolbar"],this.updateToolbar.bind(this)),this.createManagedBean(new import_ag_grid_community119.ManagedFocusFeature(e,{onTabKeyDown:this.onTabKeyDown.bind(this),handleKeyDown:this.handleKeyDown.bind(this)})),this.addManagedElementListeners(e,{focusin:this.ensureFocusedItemVisible.bind(this)}),(0,import_ag_grid_community119._addFocusableContainerListener)(this.beans,this,e)}ensureFocusedItemVisible(e){const t=this.getGui(),i=e.target;!i||!t.contains(i)||i===t||(0,import_ag_stack90._scrollHorizontallyToShow)(i)}getFocusableContainerName(){return"toolbar"}getToolbarItemInstance(e){const t=this.toolbarItems.get(e);if(t)return(0,import_ag_grid_community119._unwrapUserComp)(t)}onTabKeyDown(e){}handleKeyDown(e){const t=(0,import_ag_stack90._getActiveDomElement)(this.beans);if(t instanceof HTMLInputElement)return;const{key:i}=e;if(i!==import_ag_grid_community119.KeyCode.LEFT&&i!==import_ag_grid_community119.KeyCode.RIGHT&&i!==import_ag_grid_community119.KeyCode.PAGE_HOME&&i!==import_ag_grid_community119.KeyCode.PAGE_END)return;const r=(0,import_ag_stack90._findFocusableElements)(this.getGui()),n=r.indexOf(t);if(n===-1)return;const o=this.gos.get("enableRtl");let a;switch(i){case import_ag_grid_community119.KeyCode.LEFT:a=o?n+1:n-1;break;case import_ag_grid_community119.KeyCode.RIGHT:a=o?n-1:n+1;break;case import_ag_grid_community119.KeyCode.PAGE_HOME:a=0;break;case import_ag_grid_community119.KeyCode.PAGE_END:a=r.length-1;break}a=(0,import_ag_grid_community119._clamp)(a,0,r.length-1),a!==n&&(r[a].focus(),e.preventDefault())}getValidItems(e){if(!e?.items)return;this.nextKey=0;const t=()=>`toolbar-item-${this.nextKey++}`;return e.items.map(i=>normaliseItem(i,t))}createItemParams(e,t){const{toolbarItem:i,...r}=e;return(0,import_ag_grid_community119._addGridCommonParams)(this.gos,{...r,key:t})}processToolbarItems(){const e=this.gos.get("toolbar"),t=this.getValidItems(e),i=Array.isArray(t)&&t.length>0;if(this.setDisplayed(i),!i)return;const r=[],n=[],o=e?.alignment??"left";let a=o;for(const c of t){const u=c.toolbarItem==="separator",d=c.alignment??(u?a:o);(d==="right"?n:r).push(c),u||(a=d)}const l=++this.generation;this.createAndRenderComponents([...r,...n],r.length,l)}updateToolbar(){this.generation++,(0,import_ag_stack90._clearElement)(this.getGui()),this.destroyToolbarItems(),this.processToolbarItems()}destroy(){this.generation++,this.destroyToolbarItems(),this.beans.toolbar?.clearToolbar(this),super.destroy()}destroyToolbarItems(){for(const e of this.toolbarItems.values())this.destroyBean(e);this.toolbarItems.clear()}createSeparator(){return(0,import_ag_grid_community119._createElement)({tag:"div",cls:"ag-toolbar-separator",attrs:{role:"separator"}})}createAndRenderComponents(e,t,i){const r=this.getGui(),n=t<e.length;for(let o=0;o<e.length;o++){n&&o===t&&r.appendChild((0,import_ag_grid_community119._createElement)({tag:"div",cls:"ag-toolbar-right-start"}));const a=e[o];if(a.toolbarItem==="separator"){r.appendChild(this.createSeparator());continue}const{key:l}=a;if(a.toolbarItem==null){this.beans.log.error(301,{key:l});continue}const c=(0,import_ag_grid_community119._createElement)({tag:"div"});r.appendChild(c);const u=this.beans.userCompFactory.getCompDetails(a,ToolbarItemComponent,void 0,this.createItemParams(a,l),!0);if(u==null){(0,import_ag_stack90._removeFromParent)(c);continue}u.newAgStackInstance().then(d=>this.mountComponent(l,d,c,i))}}mountComponent(e,t,i,r){if(r!==this.generation){(0,import_ag_stack90._removeFromParent)(i),t!=null&&this.destroyBean(t);return}if(t==null){(0,import_ag_stack90._removeFromParent)(i);return}const n=this.toolbarItems.has(e);if(n||!this.isAlive()||i.parentNode!==this.getGui()){(0,import_ag_stack90._removeFromParent)(i),this.destroyBean(t),n&&this.beans.log.warn(303,{key:e});return}this.toolbarItems.set(e,t);const o=t.getGui();if("agToolbarButton"in t){const a=(0,import_ag_grid_community119._createElement)({tag:"div",cls:"ag-toolbar-button-wrapper"});a.appendChild(o),i.replaceWith(a)}else i.replaceWith(o)}},AgToolbarSelector={selector:"AG-TOOLBAR",component:AgToolbar},import_ag_stack92=require("ag-stack"),import_ag_grid_community121=require("ag-grid-community"),import_ag_stack91=require("ag-stack"),import_ag_grid_community120=require("ag-grid-community"),INPUT_DEBOUNCE_MS=import_ag_stack91.FAST_TEST_TIMINGS?0:300;function createToolbarInput(e,t,{label:i,iconName:r,initialValue:n}){const o=(0,import_ag_grid_community120._createIconNoSpan)(r,e);let a;o&&(a=(0,import_ag_grid_community120._createElement)({tag:"span",cls:"ag-toolbar-input-icon",attrs:{"aria-hidden":"true"}}),a.appendChild(o)),t.setInputPlaceholder(`${i}...`).setInputAriaLabel(i).setValue(n,!0),t.addCss("ag-toolbar-input-widget");const l=t.getInputElement();return l.classList.add("ag-toolbar-input-field"),{eIconWrapper:a,eInput:l}}function createToolbarIconButton(e,{iconName:t,label:i,cls:r,disabled:n}){const o=(0,import_ag_grid_community120._createElement)({tag:"button",cls:r?`ag-toolbar-button ${r}`:"ag-toolbar-button",attrs:{type:"button","aria-label":i,title:i}});n&&(0,import_ag_stack91._setDisabled)(o,!0);const a=(0,import_ag_grid_community120._createIconNoSpan)(t,e);return a&&o.appendChild(a),o}function renderToolbarButtonContents(e,{eIcon:t,eLabel:i,eGui:r,icon:n,label:o,hoverText:a}){if((0,import_ag_stack91._clearElement)(t),n){const c=(0,import_ag_grid_community120._createIconNoSpan)(n,e);c&&t.appendChild(c)}(0,import_ag_stack91._setDisplayed)(t,!!n);const l=!!o;i.textContent=o??"",(0,import_ag_stack91._setDisplayed)(i,l),(0,import_ag_stack91._setAriaLabel)(r,a),(0,import_ag_stack91._addOrRemoveAttribute)(r,"title",a)}function getRowGroupPanelBuilder(e,t){const i=e.rowGroupPanelBuilder;return i||e.log.error(302,{itemName:t,moduleName:"RowGroupingPanel",...e.gos.getModuleErrorParams()}),i}var ButtonToolbarItemElement={tag:"button",cls:"ag-toolbar-item ag-toolbar-button",attrs:{type:"button"},children:[{tag:"span",ref:"eIcon",cls:"ag-toolbar-button-icon",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eLabel",cls:"ag-toolbar-button-label"}]},ButtonToolbarItem=class extends import_ag_grid_community121.Component{constructor(){super(ButtonToolbarItemElement),this.agToolbarButton="agToolbarButton",this.eIcon=import_ag_stack92.RefPlaceholder,this.eLabel=import_ag_stack92.RefPlaceholder}init(e){this.applyParams(e),this.addManagedElementListeners(this.getGui(),{click:()=>this.invokeAction()})}refresh(e){return this.applyParams(e),!0}applyParams(e){this.params=e,renderToolbarButtonContents(this.beans,{eIcon:this.eIcon,eLabel:this.eLabel,eGui:this.getGui(),icon:e.icon,label:e.label,hoverText:e.tooltip??e.label})}invokeAction(){const{action:e,key:t}=this.params;if(!e)return;const i=(0,import_ag_grid_community121._addGridCommonParams)(this.gos,{key:t});e(i)}},import_ag_stack93=require("ag-stack"),import_ag_grid_community122=require("ag-grid-community"),findInputIdCounter=0;function createMatchCount(e){return(0,import_ag_grid_community122._createElement)({tag:"label",cls:"ag-toolbar-find-match-count",attrs:{"aria-live":"polite",for:e}})}var FindToolbarItem=class extends import_ag_grid_community122.Component{constructor(){super({tag:"div",cls:"ag-toolbar-item ag-toolbar-input ag-toolbar-find"})}init(e){if(!this.gos.isModuleRegistered("Find")){this.beans.log.error(302,{itemName:"agFindToolbarItem",moduleName:"Find",...this.gos.getModuleErrorParams()}),this.setDisplayed(!1);return}const t=this.getLocaleTextFunc(),i=t("toolbarFind","Find"),r=this.getGui();let n;const o=()=>this.gos.updateGridOptions({options:{findSearchValue:this.eInput.value}});this.eInputField=this.createManagedBean(new import_ag_grid_community122.AgInputTextField({clearButton:!0,autoComplete:e.toolbarItemParams?.browserAutoComplete,onValueClear:()=>{clearTimeout(n),o()}}));const{eIconWrapper:a,eInput:l}=createToolbarInput(this.beans,this.eInputField,{label:i,iconName:"search",initialValue:this.gos.get("findSearchValue")}),c=`ag-toolbar-find-input-${++findInputIdCounter}`;l.id=c,a&&r.appendChild(a),this.eInput=l,r.appendChild(this.eInputField.getGui()),this.eMatchCount=createMatchCount(c),r.appendChild(this.eMatchCount),this.ePrevButton=createToolbarIconButton(this.beans,{iconName:"previous",label:t("toolbarFindPreviousMatch","Previous Match"),cls:"ag-toolbar-find-button",disabled:!0}),r.appendChild(this.ePrevButton),this.eNextButton=createToolbarIconButton(this.beans,{iconName:"next",label:t("toolbarFindNextMatch","Next Match"),cls:"ag-toolbar-find-button",disabled:!0}),r.appendChild(this.eNextButton);const u=(0,import_ag_stack93._debounce)(this,o,INPUT_DEBOUNCE_MS);this.addManagedElementListeners(this.eInput,{input:()=>n=u(),keydown:d=>{d.key==="Enter"&&(d.preventDefault(),o(),d.shiftKey?this.beans.findSvc?.previous():this.beans.findSvc?.next())}}),this.addManagedElementListeners(this.ePrevButton,{click:()=>this.beans.findSvc?.previous()}),this.addManagedElementListeners(this.eNextButton,{click:()=>this.beans.findSvc?.next()}),this.addManagedEventListeners({findChanged:d=>this.onFindChanged(d)}),this.addManagedPropertyListener("findSearchValue",({currentValue:d})=>{clearTimeout(n),this.eInputField.setValue(d??"",!0)}),this.syncMatchState()}refresh(e){return this.eInput?(this.eInputField.setAutoComplete(e.toolbarItemParams?.browserAutoComplete),this.eInputField.setValue(this.gos.get("findSearchValue"),!0),this.syncMatchState(),!0):!1}onFindChanged(e){this.updateMatchDisplay(e.findSearchValue,e.activeMatch?.numOverall??0,e.totalMatches)}syncMatchState(){const e=this.beans.findSvc,t=this.gos.get("findSearchValue"),i=e?.activeMatch?.numOverall??0,r=e?.totalMatches??0;this.updateMatchDisplay(t,i,r)}updateMatchDisplay(e,t,i){const r=!!e?.length;this.eMatchCount.textContent=r?`${t}/${i}`:"";const n=i>0;(0,import_ag_stack93._setDisabled)(this.ePrevButton,!n),(0,import_ag_stack93._setDisabled)(this.eNextButton,!n)}},import_ag_stack94=require("ag-stack"),import_ag_grid_community123=require("ag-grid-community"),MenuToolbarItemElement={tag:"button",cls:"ag-toolbar-item ag-toolbar-button",attrs:{type:"button"},children:[{tag:"span",ref:"eIcon",cls:"ag-toolbar-button-icon",attrs:{"aria-hidden":"true"}},{tag:"span",ref:"eLabel",cls:"ag-toolbar-button-label"},{tag:"span",ref:"eChevron",cls:"ag-toolbar-button-chevron",attrs:{"aria-hidden":"true"}}]},MenuToolbarItem=class extends import_ag_grid_community123.Component{constructor(){super(MenuToolbarItemElement),this.agToolbarButton="agToolbarButton",this.eIcon=import_ag_stack94.RefPlaceholder,this.eLabel=import_ag_stack94.RefPlaceholder,this.eChevron=import_ag_stack94.RefPlaceholder}init(e){const t=(0,import_ag_grid_community123._createIconNoSpan)("selectOpen",this.beans);t&&this.eChevron.appendChild(t),this.beans.gos.assertModuleRegistered(["ContextMenu","ColumnMenu"],"AG Grid toolbar item: `agMenuToolbarItem`"),this.applyParams(e),this.addManagedElementListeners(this.getGui(),{click:()=>this.showMenu()})}refresh(e){return this.applyParams(e),!0}getAccessibleName(){const{tooltip:e,label:t}=this.params;return e??t??this.getLocaleTextFunc()("toolbarMenu","Menu")}applyParams(e){this.params=e;const t=this.getGui();renderToolbarButtonContents(this.beans,{eIcon:this.eIcon,eLabel:this.eLabel,eGui:t,icon:e.icon??"menu",label:e.label,hoverText:this.getAccessibleName()});const r=!!e.toolbarItemParams?.menuItems?.length;(0,import_ag_stack94._setDisplayed)(this.eChevron,r),(0,import_ag_stack94._setDisabled)(t,!r),(0,import_ag_stack94._setAriaHasPopup)(t,r?"menu":!1),r?(0,import_ag_stack94._setAriaExpanded)(t,!1):(0,import_ag_stack94._removeAriaExpanded)(t)}showMenu(){const e=this.params.toolbarItemParams?.menuItems;if(!e?.length)return;const t=this.beans.toolbarMenuBuilder;if(!t)return;const i=this.getGui();(0,import_ag_stack94._setAriaExpanded)(i,!0),t.showMenu({anchorElement:i,menuItems:e,ariaLabel:this.getAccessibleName(),onClose:()=>{this.isAlive()&&((0,import_ag_stack94._setAriaExpanded)(i,!1),i.focus())}})}},import_ag_grid_community124=require("ag-grid-community"),PivotPanelToolbarItem=class extends import_ag_grid_community124.Component{constructor(){super({tag:"div",cls:"ag-toolbar-item ag-toolbar-panel"})}init(e){if(!this.gos.isModuleRegistered("Pivot")){this.beans.log.error(302,{itemName:"agPivotPanelToolbarItem",moduleName:"Pivot",...this.gos.getModuleErrorParams()}),this.setDisplayed(!1);return}const t=getRowGroupPanelBuilder(this.beans,"agPivotPanelToolbarItem");if(!t){this.setDisplayed(!1);return}const i=this.createManagedBean(t.createPivotDropZone(!0,!0));this.getGui().appendChild(i.getGui()),i.setDisplayed(!0),this.addManagedListeners(i,{displayChanged:()=>i.setDisplayed(!0)}),this.setDisplayed(this.beans.colModel.pivotMode),this.addManagedEventListeners({columnPivotModeChanged:()=>this.setDisplayed(this.beans.colModel.pivotMode)})}refresh(e){return!0}},import_ag_stack95=require("ag-stack"),import_ag_grid_community125=require("ag-grid-community"),QuickFilterToolbarItem=class extends import_ag_grid_community125.Component{constructor(){super({tag:"div",cls:"ag-toolbar-item ag-toolbar-input"})}init(e){if(!this.gos.isModuleRegistered("QuickFilter")){this.beans.log.error(302,{itemName:"agQuickFilterToolbarItem",moduleName:"QuickFilter",...this.gos.getModuleErrorParams()}),this.setDisplayed(!1);return}const i=this.getLocaleTextFunc()("toolbarQuickFilter","Filter"),r=this.getGui();let n;const o=d=>this.gos.updateGridOptions({options:{quickFilterText:d}});this.eInputField=this.createManagedBean(new import_ag_grid_community125.AgInputTextField({clearButton:!0,autoComplete:e.toolbarItemParams?.browserAutoComplete,onValueClear:()=>{clearTimeout(n),o("")}}));const{eIconWrapper:a,eInput:l}=createToolbarInput(this.beans,this.eInputField,{label:i,iconName:"filter",initialValue:this.gos.get("quickFilterText")});a&&r.appendChild(a),this.eInput=l,r.appendChild(this.eInputField.getGui());const c=(0,import_ag_stack95._debounce)(this,()=>o(this.eInput.value),INPUT_DEBOUNCE_MS);this.addManagedElementListeners(this.eInput,{input:()=>n=c()});const u=d=>{clearTimeout(n),this.eInputField.setValue(d??"",!0)};this.addManagedPropertyListener("quickFilterText",({currentValue:d})=>u(d))}refresh(e){return this.eInput?(this.eInputField.setAutoComplete(e.toolbarItemParams?.browserAutoComplete),this.eInputField.setValue(this.gos.get("quickFilterText"),!0),!0):!1}},import_ag_grid_community126=require("ag-grid-community"),RowGroupPanelToolbarItem=class extends import_ag_grid_community126.Component{constructor(){super({tag:"div",cls:"ag-toolbar-item ag-toolbar-panel"})}init(e){const t=getRowGroupPanelBuilder(this.beans,"agRowGroupPanelToolbarItem");if(!t){this.setDisplayed(!1);return}const i=this.createManagedBean(t.createRowGroupDropZone(!0,!0));this.getGui().appendChild(i.getGui())}refresh(e){return!0}},import_ag_grid_community127=require("ag-grid-community");function getToolbarItemInstance(e,t){const i=e.toolbar?.getToolbarItemInstance(t);return(0,import_ag_grid_community127._unwrapUserComp)(i)}var import_ag_grid_community128=require("ag-grid-community"),ToolbarService=class extends import_ag_grid_community128.BeanStub{constructor(){super(...arguments),this.beanName="toolbar"}setToolbar(e){this.comp=e}clearToolbar(e){this.comp===e&&(this.comp=void 0)}getToolbarItemInstance(e){return this.comp?.getToolbarItemInstance(e)}hasItem(e){return!!this.gos.get("toolbar")?.items?.some(t=>t===e||typeof t=="object"&&t.toolbarItem===e)}},ToolbarModule={moduleName:"Toolbar",version:VERSION,beans:[ToolbarService],userComponents:{agButtonToolbarItem:ButtonToolbarItem,agFindToolbarItem:FindToolbarItem,agMenuToolbarItem:MenuToolbarItem,agPivotPanelToolbarItem:PivotPanelToolbarItem,agQuickFilterToolbarItem:QuickFilterToolbarItem,agRowGroupPanelToolbarItem:RowGroupPanelToolbarItem},icons:{filter:"filter"},selectors:[AgToolbarSelector],apiFunctions:{getToolbarItemInstance},dependsOn:[EnterpriseCoreModule]},import_ag_grid_community129=require("ag-grid-community");function assertNotExcelMultiSheet(e){return e.excelCreator?.getFactoryMode()==="MULTI_SHEET"?(e.log.warn(161),!1):!0}function getDataAsExcel(e,t){if(assertNotExcelMultiSheet(e))return e.excelCreator?.getDataAsExcel(t)}function exportDataAsExcel(e,t){assertNotExcelMultiSheet(e)&&e.excelCreator?.exportDataAsExcel(t)}function getSheetDataForExcel(e,t){return e.excelCreator?.setFactoryMode("MULTI_SHEET"),e.excelCreator?.getSheetDataForExcel(t)}function getMultipleSheetsAsExcel2(e,t){return e.excelCreator?.getMultipleSheetsAsExcel(t)}function exportMultipleSheetsAsExcel2(e,t){e.excelCreator?.exportMultipleSheetsAsExcel(t)}var ExcelExportModule={moduleName:"ExcelExport",version:VERSION,beans:[ExcelCreator],apiFunctions:{getDataAsExcel,exportDataAsExcel,getSheetDataForExcel,getMultipleSheetsAsExcel:getMultipleSheetsAsExcel2,exportMultipleSheetsAsExcel:exportMultipleSheetsAsExcel2},dependsOn:[import_ag_grid_community129._SharedExportModule,EnterpriseCoreModule]},import_ag_grid_community133=require("ag-grid-community"),import_ag_stack98=require("ag-stack"),import_ag_grid_community132=require("ag-grid-community"),import_ag_grid_community130=require("ag-grid-community");function resolveFiniteNumber(e,t,i=0){return e!=null&&Number.isFinite(e)&&e>=i?e:t}function resolveOptionalFiniteNumber(e,t=0){return e!=null&&Number.isFinite(e)&&e>=t?e:void 0}var PAGE_SIZES={A4:{width:595.28,height:841.89},Letter:{width:612,height:792}},DEFAULT_PAGE_SIZE="A4",DEFAULT_PAGE_ORIENTATION="landscape",DEFAULT_MARGIN=36;function resolvePageSize(e,t){let i;if(typeof e=="string"||e==null){const l=typeof e=="string"&&e in PAGE_SIZES?e:DEFAULT_PAGE_SIZE;i=PAGE_SIZES[l]}else i=isValidPageDimension(e.width)&&isValidPageDimension(e.height)?e:PAGE_SIZES[DEFAULT_PAGE_SIZE];let{width:r,height:n}=i;const o=t==="portrait"||t==="landscape"?t:DEFAULT_PAGE_ORIENTATION;return(o==="landscape"&&r<n||o==="portrait"&&r>n)&&([r,n]=[n,r]),{width:r,height:n}}function isValidPageDimension(e){return Number.isFinite(e)&&e>0}function resolveMargin(e){if(typeof e=="number"){const i=resolveFiniteNumber(e,DEFAULT_MARGIN);return{top:i,right:i,bottom:i,left:i}}const t=e??{};return{top:resolveFiniteNumber(t.top,DEFAULT_MARGIN),right:resolveFiniteNumber(t.right,DEFAULT_MARGIN),bottom:resolveFiniteNumber(t.bottom,DEFAULT_MARGIN),left:resolveFiniteNumber(t.left,DEFAULT_MARGIN)}}function getMaxColumnCount(e){let t=0;for(const i of e){let r=0;for(const n of i.cells)r+=1+Math.floor(resolveFiniteNumber(n.mergeAcross,0));t=Math.max(t,r)}return t}function resolveRequestedColumnWidths(e,t,i){const r=[];for(let n=0;n<t;n++){const o=e[n]??null,a=o?.colKind==="row-number"?"auto":"grid";r.push(typeof i=="function"?i({column:o,index:n})??a:i??a)}return r}function columnNeedsAutoWidth(e){return e==="auto"?!0:e==="grid"?!1:!(Number.isFinite(e)&&e>=Number.EPSILON)}function getColumnWidths(e,t,i,r,n){if(!t)return[];const o=resolveFiniteNumber(i,0),a=[],l=getGridColumnWidths(e,t);for(let h=0;h<t;h++){const p=l[h],g=resolveFiniteNumber(n?.[h],p,Number.EPSILON);a.push(resolveColumnWidth(r[h]??"grid",p,g))}let c=0;for(const h of a)c+=h;if(!o){const h=[];for(let p=0;p<t;p++)h.push(0);return h}const u=c>o?o/c:1,d=[];for(const h of a)d.push(h*u);return d}function getGridColumnWidths(e,t){const i=[];for(let r=0;r<t;r++){const n=e[r];i.push(n?resolveFiniteNumber(n.getActualWidth(),100,Number.EPSILON):100)}return i}function resolveColumnWidth(e,t,i){return e==="grid"?t:e==="auto"?i:resolveFiniteNumber(e,i,Number.EPSILON)}function getRepeatableHeaderRows(e){const t=[];for(const i of e){if(i.type==="BODY")break;(i.type==="HEADER"||i.type==="HEADER_GROUPING")&&t.push(i)}return t}function getSpanWidth(e,t,i){let r=0;for(let n=0;n<i;n++)r+=e[t+n]??0;return r}function isHeaderRowType(e){return e==="HEADER"||e==="HEADER_GROUPING"}var import_ag_stack96=require("ag-stack"),FIRST_PRINTABLE_ASCII=32,LAST_PRINTABLE_ASCII=126,DEFAULT_GLYPH_WIDTH=500,COURIER_GLYPH_WIDTH=600,FONT_VERTICAL_METRICS={Helvetica:{ascent:718,descent:207},"Helvetica-Bold":{ascent:718,descent:207},"Times-Roman":{ascent:683,descent:217},"Times-Bold":{ascent:683,descent:217},Courier:{ascent:629,descent:157},"Courier-Bold":{ascent:629,descent:157}},HELVETICA_WIDTHS=[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584],HELVETICA_BOLD_WIDTHS=[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584],TIMES_ROMAN_WIDTHS=[250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541],TIMES_BOLD_WIDTHS=[250,333,555,500,500,1e3,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1e3,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520],EXTENDED_GLYPH_WIDTHS=new Map([[8364,[556,556,500,500]],[8218,[222,278,333,333]],[402,[556,556,500,500]],[8222,[333,500,444,500]],[8230,[1e3,1e3,1e3,1e3]],[8224,[556,556,500,500]],[8225,[556,556,500,500]],[710,[333,333,333,333]],[8240,[1e3,1e3,1e3,1e3]],[352,[667,667,556,556]],[8249,[333,333,333,333]],[338,[1e3,1e3,889,1e3]],[381,[611,611,611,667]],[8216,[222,278,333,333]],[8217,[222,278,333,333]],[8220,[333,500,444,500]],[8221,[333,500,444,500]],[8226,[350,350,350,350]],[8211,[556,556,500,500]],[8212,[1e3,1e3,1e3,1e3]],[732,[333,333,333,333]],[8482,[1e3,1e3,980,1e3]],[353,[500,556,389,389]],[8250,[333,333,333,333]],[339,[944,944,722,722]],[382,[500,500,444,444]],[376,[667,667,722,722]]]),EXTENDED_WIDTH_FAMILY_INDEX={Helvetica:0,"Helvetica-Bold":1,"Times-Roman":2,"Times-Bold":3,Courier:0,"Courier-Bold":0},SPECIAL_GLYPH_BASES=new Map([["\xC6","W"],["\xE6","m"],["\xD0","D"],["\xF0","o"],["\xD8","O"],["\xF8","o"],["\xDE","P"],["\xFE","p"],["\xDF","b"],["\u0152","W"],["\u0153","w"]]);function getBase14GlyphWidth(e,t){const i=resolveBase14FontFamily(t);if(i==="Courier"||i==="Courier-Bold")return COURIER_GLYPH_WIDTH;const r=getFontWidths(i),n=e.codePointAt(0)??0;if(n>=FIRST_PRINTABLE_ASCII&&n<=LAST_PRINTABLE_ASCII)return r[n-FIRST_PRINTABLE_ASCII]??DEFAULT_GLYPH_WIDTH;const o=EXTENDED_GLYPH_WIDTHS.get(n);if(o)return o[EXTENDED_WIDTH_FAMILY_INDEX[i]];const a=resolveBaseCharacter(e).codePointAt(0)??0;return a>=FIRST_PRINTABLE_ASCII&&a<=LAST_PRINTABLE_ASCII?r[a-FIRST_PRINTABLE_ASCII]??DEFAULT_GLYPH_WIDTH:DEFAULT_GLYPH_WIDTH}function getBase14BaselineOffset(e,t){const i=FONT_VERTICAL_METRICS[resolveBase14FontFamily(t)];return i.ascent/(i.ascent+i.descent)*e}function getFontWidths(e){switch(e){case"Helvetica-Bold":return HELVETICA_BOLD_WIDTHS;case"Times-Roman":return TIMES_ROMAN_WIDTHS;case"Times-Bold":return TIMES_BOLD_WIDTHS;default:return HELVETICA_WIDTHS}}function resolveBase14FontFamily(e){return(0,import_ag_stack96._hasOwn)(FONT_VERTICAL_METRICS,e)?e:"Helvetica"}function resolveBaseCharacter(e){const t=SPECIAL_GLYPH_BASES.get(e);return t||(e.normalize("NFD")[0]??"?")}var WIN_ANSI_CODEPOINT_MAP=new Map([[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]);function encodePdfUnicodeString(e,t=!0){let i=t?"FEFF":"";for(const r of e)i+=encodeCodePointAsUtf16Be(r.codePointAt(0)??65533);return`<${i}>`}function encodeCodePointAsUtf16Be(e){if(e<=65535)return e.toString(16).toUpperCase().padStart(4,"0");const t=e-65536,i=55296+(t>>>10),r=56320+(t&1023);return`${i.toString(16).toUpperCase().padStart(4,"0")}${r.toString(16).toUpperCase().padStart(4,"0")}`}function normaliseText(e,t=!1,i=!1){const r=e.replace(/\r\n?/g,`
`),n=t?r:r.replace(/\n/g," ");let o="";for(const a of n){if(a===`
`){o+=a;continue}const l=a.codePointAt(0)??0;o+=i||toWinAnsiByte(l)!=null?a:"?"}return o}function wrapText(e,t,i,r,n=!1,o){if(!e||!Number.isFinite(t)||t<=0||!Number.isFinite(i)||i<=0)return[];if(n)return wrapPreformattedText(e,t,i,r,o);const a=[],l=e.split(`
`);for(const c of l){if(!c.trim()){a.push("");continue}const u=c.trim().split(/\s+/);let d="",h=0;const p=measureText(" ",i,r,o);for(const g of u){const f=measureText(g,i,r,o),m=d?h+p+f:f;if(m<=t){d=d?`${d} ${g}`:g,h=m;continue}d&&a.push(d);const v=splitWordToWidth(g,t,i,r,o),C=v.length-1;for(let y=0;y<C;y++)a.push(v[y]);d=v[C]??"",h=measureText(d,i,r,o)}d&&a.push(d)}return a}function wrapPreformattedText(e,t,i,r,n){const o=[];for(const a of e.split(`
`)){if(!a){o.push("");continue}const l=Array.from(a);let c=0;for(;c<l.length;){let u=0,d=-1,h=c;for(;h<l.length;){const p=l[h],g=u+measureText(p,i,r,n);if(g>t)break;u=g,h+=1,p===" "&&(d=h)}if(h===l.length){o.push(l.slice(c).join(""));break}h===c?h+=1:d>c&&(h=d),o.push(l.slice(c,h).join("")),c=h}}return o}function escapePdfString(e){let t="";for(const i of e){const r=i.codePointAt(0)??0,n=toWinAnsiByte(r)??63;n===40?t+="\\(":n===41?t+="\\)":n===92?t+="\\\\":n>=32&&n<=126?t+=String.fromCharCode(n):t+=`\\${n.toString(8).padStart(3,"0")}`}return t}function estimateTextWidth(e,t,i){if(!Number.isFinite(t)||t<=0)return 0;let r=0;for(const n of e)r+=getBase14GlyphWidth(n,i);return r/1e3*t}function truncateText(e,t,i,r,n){if(!e||!Number.isFinite(t)||t<=0||!Number.isFinite(i)||i<=0)return"";if(measureText(e,i,r,n)<=t)return e;const o="...",a=measureText(o,i,r,n),l=a<=t,c=l?t-a:t;let u="",d=0;for(const h of e){const p=measureText(h,i,r,n);if(d+p>c)break;u+=h,d+=p}return l?`${u}${o}`:u}function clipText(e,t,i,r,n){if(!e||!Number.isFinite(t)||t<=0||!Number.isFinite(i)||i<=0)return"";let o="",a=0;for(const l of e){const c=measureText(l,i,r,n);if(a+c>t)break;o+=l,a+=c}return o}function addTextEllipsis(e,t,i,r,n){return truncateText(`${e}...`,t,i,r,n)}function fmt(e){return Number.isFinite(e)?Number.isInteger(e)?e.toString():e.toFixed(2):"0"}function toWinAnsiByte(e){return e>=32&&e<=126||e>=160&&e<=255?e:WIN_ANSI_CODEPOINT_MAP.get(e)}function splitWordToWidth(e,t,i,r,n){const o=[];let a="",l=0;for(const c of e){const u=measureText(c,i,r,n);a&&l+u>t&&(o.push(a),a="",l=0),a+=c,l+=u}return a&&o.push(a),o}function measureText(e,t,i,r){return r?r(e):estimateTextWidth(e,t,i)}function getGlyphMappingKey(e,t){return`${e}:${t}`}var MIRRORED_CODE_POINTS=new Map([[40,41],[41,40],[60,62],[62,60],[91,93],[93,91],[123,125],[125,123],[171,187],[187,171],[8249,8250],[8250,8249],[8261,8262],[8262,8261],[8317,8318],[8318,8317],[8333,8334],[8334,8333],[9001,9002],[9002,9001],[12296,12297],[12297,12296],[12298,12299],[12299,12298],[12300,12301],[12301,12300],[12302,12303],[12303,12302],[12304,12305],[12305,12304],[12308,12309],[12309,12308],[12310,12311],[12311,12310],[12312,12313],[12313,12312],[12314,12315],[12315,12314],[65113,65114],[65114,65113],[65115,65116],[65116,65115],[65117,65118],[65118,65117],[65288,65289],[65289,65288],[65308,65310],[65310,65308],[65339,65341],[65341,65339],[65371,65373],[65373,65371],[65375,65376],[65376,65375],[65378,65379],[65379,65378]]);function resolveBidiCharacters(e,t="auto"){const i=createCharacters(e),r=t==="auto"?detectDirection(i):t,n=r==="rtl"?1:0,o=resolveLevels(i,n),a=i.filter(d=>!isBidiControl(d.codePoint)),l=o.filter((d,h)=>!isBidiControl(i[h].codePoint));let c=n,u=Number.POSITIVE_INFINITY;for(const d of l)c=Math.max(c,d),d%2&&(u=Math.min(u,d));if(Number.isFinite(u))for(let d=c;d>=u;d--){let h=0;for(;h<a.length;){for(;h<a.length&&l[h]<d;)h++;let p=h;for(;p<a.length&&l[p]>=d;)p++;reverseRange(a,h,p),reverseRange(l,h,p),h=p}}restoreCombiningMarkOrder(a,l);for(let d=0;d<a.length;d++){const h=a[d],p=l[d]%2===1;if(h.direction=p?"rtl":"ltr",p){const g=MIRRORED_CODE_POINTS.get(h.codePoint);g!=null&&(h.codePoint=g,h.text=String.fromCodePoint(g))}}return{characters:a,direction:r}}function restoreCombiningMarkOrder(e,t){let i=0;for(;i<e.length;){if(!isCombiningMark(e[i].codePoint)){i++;continue}const r=i;for(;i<e.length&&isCombiningMark(e[i].codePoint);)i++;if(i>=e.length)break;const n=e.splice(r,i-r).reverse(),o=t.splice(r,i-r).reverse();e.splice(r+1,0,...n),t.splice(r+1,0,...o),i=r+n.length+1}}function resolveVisualText(e,t="auto"){const i=resolveBidiCharacters(e,t);return{text:i.characters.map(r=>r.text).join(""),direction:i.direction}}function createCharacters(e){const t=[];let i=0;for(const r of e)t.push({text:r,codePoint:r.codePointAt(0)??65533,sourceIndex:i,direction:"ltr"}),i+=r.length;return t}function detectDirection(e){for(const t of e){const i=getBidiType(t.codePoint);if(i==="R"||i==="AL")return"rtl";if(i==="L")return"ltr"}return"ltr"}function resolveLevels(e,t){const i=e.map(n=>getBidiType(n.codePoint));let r=t?"R":"L";for(let n=0;n<i.length;n++){const o=i[n];o==="NSM"?i[n]=n?i[n-1]:r:o==="AL"?(i[n]="R",r="R"):(o==="L"||o==="R")&&(r=o)}for(let n=0;n<i.length;n++){if(i[n]!=="N")continue;const o=findStrongType(i,n,-1)??(t?"R":"L"),a=findStrongType(i,n,1)??(t?"R":"L");i[n]=o===a?o:t?"R":"L"}return i.map(n=>t===0?n==="R"?1:n==="EN"||n==="AN"?2:0:n==="L"||n==="EN"||n==="AN"?2:1)}function findStrongType(e,t,i){for(let r=t+i;r>=0&&r<e.length;r+=i){const n=e[r];if(n==="L"||n==="R")return n;if(n==="EN"||n==="AN")return"L"}}function getBidiType(e){return isCombiningMark(e)?"NSM":e>=48&&e<=57?"EN":e>=1632&&e<=1641||e>=1776&&e<=1785?"AN":e>=1424&&e<=1535||e>=64285&&e<=64335?"R":e>=1536&&e<=2303||e>=64336&&e<=65023||e>=65136&&e<=65279?"AL":e>=65&&e<=90||e>=97&&e<=122||e>=192&&e<=687||e>=880&&e<=1327||e>=12352&&e<=12543||e>=13312&&e<=40959?"L":"N"}function isCombiningMark(e){return e>=768&&e<=879||e>=1425&&e<=1479||e>=1552&&e<=1562||e>=1611&&e<=1631||e===1648||e>=1750&&e<=1773}function isBidiControl(e){return e===1564||e===8206||e===8207||e>=8234&&e<=8238||e>=8294&&e<=8297}function reverseRange(e,t,i){for(let r=t,n=i-1;r<n;r++,n--){const o=e[r];e[r]=e[n],e[n]=o}}var ARABIC_FEATURES=["isol","fina","medi","init"],COMMON_SUBSTITUTION_FEATURES=["ccmp","locl","rlig","calt","liga"],POSITIONING_FEATURES=["kern","curs","mark","mkmk"],ARABIC_SCRIPT_LANGUAGES=new Set(["ar","fa","ps","sd","ug","ur"]);function shapeTrueTypeText(e,t,i,r){const n=e.normalize("NFC"),o=createLogicalCharacters(n),a=detectOpenTypeScript(o,r),l=resolveBidiCharacters(n,i),c=new Map;for(const g of l.characters)c.set(g.sourceIndex,g);let u=[];for(const g of o){const f=c.get(g.sourceIndex);if(!f)continue;const m=t.getGlyphId(f.codePoint);u.push({glyphId:m,codePoint:g.codePoint,cluster:g.sourceIndex,unicode:g.text,xAdvance:t.getAdvanceWidth(m),yAdvance:0,xOffset:0,yOffset:0})}const d=t.getTable("GSUB");if(d){for(const g of COMMON_SUBSTITUTION_FEATURES.slice(0,2))u=applyGsubFeatureSafely(d,u,a,r,g);if(a==="arab"){const g=resolveArabicJoiningFeatures(o);for(const f of ARABIC_FEATURES)u=applyGsubFeatureSafely(d,u,a,r,f,m=>g.get(m.cluster)===f)}for(const g of COMMON_SUBSTITUTION_FEATURES.slice(2))u=applyGsubFeatureSafely(d,u,a,r,g)}for(const g of u)g.xAdvance=t.getAdvanceWidth(g.glyphId);const h=t.getTable("GPOS");if(h)for(const g of POSITIONING_FEATURES)u=applyGposFeatureSafely(h,u,a,r,g);const p=new Map;for(let g=0;g<l.characters.length;g++)p.set(l.characters[g].sourceIndex,g);return u.sort((g,f)=>{const m=p.get(g.cluster)??g.cluster,v=p.get(f.cluster)??f.cluster;return m-v}),{direction:l.direction,glyphs:u.map(({codePoint:g,...f})=>f)}}function applyGsubFeatureSafely(e,t,i,r,n,o){const a=new OpenTypeReader(e),l=getFeatureLookupOffsets(a,i,r,n);if(!l.length)return t;const c=cloneGlyphs(t);try{for(const u of l)t=applySubstitutionLookup(a,u,t,o);return t}catch{return c}}function applyGposFeatureSafely(e,t,i,r,n){const o=new OpenTypeReader(e),a=getFeatureLookupOffsets(o,i,r,n);if(!a.length)return t;const l=cloneGlyphs(t);try{return applyGposLookups(o,a,l),l}catch{return t}}function cloneGlyphs(e){return e.map(t=>({...t}))}function applySubstitutionLookup(e,t,i,r){const n=e.u16(t),o=e.u16(t+4);for(let a=0;a<o;a++){const l=t+e.u16(t+6+a*2);if(n===1)applySingleSubstitution(e,l,i,r);else if(n===2)i=applyMultipleSubstitution(e,l,i,r);else if(n===4)i=applyLigatureSubstitution(e,l,i,r);else if(n===5)i=applyContextSubstitution(e,l,i);else if(n===6)i=applyChainedContextSubstitution(e,l,i);else if(n===7&&e.u16(l)===1){const c=e.u16(l+2),u=l+e.u32(l+4);c===1?applySingleSubstitution(e,u,i,r):c===2?i=applyMultipleSubstitution(e,u,i,r):c===4?i=applyLigatureSubstitution(e,u,i,r):c===5?i=applyContextSubstitution(e,u,i):c===6&&(i=applyChainedContextSubstitution(e,u,i))}}return i}function applyContextSubstitution(e,t,i){if(e.u16(t)!==3)return i;const r=e.u16(t+2),n=e.u16(t+4),o=[];for(let l=0;l<r;l++)o.push(t+e.u16(t+6+l*2));const a=t+6+r*2;return applyContextRecords(e,i,o,[],[],a,n)}function applyChainedContextSubstitution(e,t,i){if(e.u16(t)!==3)return i;let r=t+2;const n=e.u16(r);r+=2;const o=[];for(let h=0;h<n;h++,r+=2)o.push(t+e.u16(r));const a=e.u16(r);r+=2;const l=[];for(let h=0;h<a;h++,r+=2)l.push(t+e.u16(r));const c=e.u16(r);r+=2;const u=[];for(let h=0;h<c;h++,r+=2)u.push(t+e.u16(r));const d=e.u16(r);return applyContextRecords(e,i,l,o,u,r+2,d)}function applyContextRecords(e,t,i,r,n,o,a){const l=e.u16(8);for(let c=0;c+i.length<=t.length;c++)if(matchesCoverages(e,t,c,i,1)&&matchesCoverages(e,t,c-1,r,-1)&&matchesCoverages(e,t,c+i.length,n,1))for(let u=0;u<a;u++){const d=o+u*4,h=e.u16(d),p=t[c+h];if(!p)continue;const g=e.u16(d+2),f=l+e.u16(l+2+g*2);t=applySubstitutionLookup(e,f,t,m=>m===p)}return t}function matchesCoverages(e,t,i,r,n){for(let o=0;o<r.length;o++){const a=t[i+o*n];if(!a||getCoverageIndex(e,r[o],a.glyphId)<0)return!1}return!0}function applyMultipleSubstitution(e,t,i,r){if(e.u16(t)!==1)return i;const n=t+e.u16(t+2),o=e.u16(t+4);for(let a=i.length-1;a>=0;a--){const l=i[a];if(r&&!r(l))continue;const c=getCoverageIndex(e,n,l.glyphId);if(c<0||c>=o)continue;const u=t+e.u16(t+6+c*2),d=e.u16(u),h=[];for(let p=0;p<d;p++)h.push({...l,glyphId:e.u16(u+2+p*2),unicode:p?"":l.unicode});i.splice(a,1,...h)}return i}function applySingleSubstitution(e,t,i,r){const n=e.u16(t),o=t+e.u16(t+2);for(const a of i){if(r&&!r(a))continue;const l=getCoverageIndex(e,o,a.glyphId);l<0||(n===1?a.glyphId=a.glyphId+e.i16(t+4)&65535:n===2&&l<e.u16(t+4)&&(a.glyphId=e.u16(t+6+l*2)))}}function applyLigatureSubstitution(e,t,i,r){if(e.u16(t)!==1)return i;const n=t+e.u16(t+2),o=e.u16(t+4);for(let a=0;a<i.length;a++){const l=i[a];if(r&&!r(l))continue;const c=getCoverageIndex(e,n,l.glyphId);if(c<0||c>=o)continue;const u=t+e.u16(t+6+c*2),d=e.u16(u);for(let h=0;h<d;h++){const p=u+e.u16(u+2+h*2),g=e.u16(p+2);if(g<2||a+g>i.length)continue;let f=!0;for(let C=1;C<g;C++)if(i[a+C].glyphId!==e.u16(p+2+C*2)){f=!1;break}if(!f)continue;const m=i.slice(a,a+g),v=e.u16(p);i.splice(a,g,{...l,glyphId:v,unicode:m.map(C=>C.unicode).join(""),xAdvance:m.reduce((C,y)=>C+y.xAdvance,0)});break}}return i}function applyGposLookups(e,t,i){for(const r of t){const n=e.u16(r),o=e.u16(r+2),a=e.u16(r+4);for(let l=0;l<a;l++){let c=r+e.u16(r+6+l*2),u=n;n===9&&e.u16(c)===1&&(u=e.u16(c+2),c+=e.u32(c+4)),u===2?applyPairPositioning(e,c,i):u===3?applyCursivePositioning(e,c,i,(o&1)!==0):u===4?applyMarkToBasePositioning(e,c,i):u===6&&applyMarkToMarkPositioning(e,c,i)}}}function applyCursivePositioning(e,t,i,r){if(e.u16(t)!==1)return;const n=t+e.u16(t+2),o=e.u16(t+4);for(let a=0;a+1<i.length;a++){const l=getCoverageIndex(e,n,i[a].glyphId),c=getCoverageIndex(e,n,i[a+1].glyphId);if(l<0||c<0||l>=o||c>=o)continue;const u=t+6+l*4,d=t+6+c*4,h=e.u16(u+(r?0:2)),p=e.u16(d+(r?2:0));if(!h||!p)continue;const g=readAnchor(e,t+h),f=readAnchor(e,t+p);!g||!f||(i[a].xAdvance+=g.x-f.x,i[a+1].yOffset+=i[a].yOffset+g.y-f.y)}}function applyMarkToBasePositioning(e,t,i){if(e.u16(t)!==1)return;const r=t+e.u16(t+2),n=t+e.u16(t+4),o=e.u16(t+6),a=t+e.u16(t+8),l=t+e.u16(t+10);for(let c=1;c<i.length;c++){const u=getCoverageIndex(e,r,i[c].glyphId);if(u<0||u>=e.u16(a))continue;let d=c-1,h=-1;for(;d>=0&&(h=getCoverageIndex(e,n,i[d].glyphId),!(h>=0));)d--;if(h<0||h>=e.u16(l))continue;const p=a+2+u*4,g=e.u16(p);if(g>=o)continue;const f=readAnchor(e,a+e.u16(p+2)),m=e.u16(l+2+(h*o+g)*2);if(!m||!f)continue;const v=readAnchor(e,l+m);if(!v)continue;let C=0;for(let y=d;y<c;y++)C+=i[y].xAdvance;i[c].xOffset+=v.x-f.x-C,i[c].yOffset+=v.y-f.y,i[c].xAdvance=0}}function applyMarkToMarkPositioning(e,t,i){if(e.u16(t)!==1)return;const r=t+e.u16(t+2),n=t+e.u16(t+4),o=e.u16(t+6),a=t+e.u16(t+8),l=t+e.u16(t+10);for(let c=1;c<i.length;c++){const u=getCoverageIndex(e,r,i[c].glyphId),d=getCoverageIndex(e,n,i[c-1].glyphId);if(u<0||d<0||u>=e.u16(a)||d>=e.u16(l))continue;const h=a+2+u*4,p=e.u16(h);if(p>=o)continue;const g=readAnchor(e,a+e.u16(h+2)),f=e.u16(l+2+(d*o+p)*2);if(!g||!f)continue;const m=readAnchor(e,l+f);m&&(i[c].xOffset+=i[c-1].xOffset+m.x-g.x,i[c].yOffset+=i[c-1].yOffset+m.y-g.y,i[c].xAdvance=0)}}function readAnchor(e,t){const i=e.u16(t);if(!(i<1||i>3))return{x:e.i16(t+2),y:e.i16(t+4)}}function applyPairPositioning(e,t,i){const r=e.u16(t),n=t+e.u16(t+2),o=e.u16(t+4),a=e.u16(t+6),l=getValueRecordSize(o),c=getValueRecordSize(a);for(let u=0;u+1<i.length;u++){const d=i[u],h=i[u+1],p=getCoverageIndex(e,n,d.glyphId);if(p<0)continue;let g=-1;if(r===1){const f=e.u16(t+8);if(p>=f)continue;const m=t+e.u16(t+10+p*2),v=e.u16(m),C=2+l+c;for(let y=0;y<v;y++){const S=m+2+y*C;if(e.u16(S)===h.glyphId){g=S+2;break}}}else if(r===2){const f=t+e.u16(t+8),m=t+e.u16(t+10),v=e.u16(t+12),C=e.u16(t+14),y=getGlyphClass(e,f,d.glyphId),S=getGlyphClass(e,m,h.glyphId);y<v&&S<C&&(g=t+16+(y*C+S)*(l+c))}g>=0&&(applyValueRecord(e,g,o,d),applyValueRecord(e,g+l,a,h))}}function applyValueRecord(e,t,i,r){let n=t;i&1&&(r.xOffset+=e.i16(n),n+=2),i&2&&(r.yOffset+=e.i16(n),n+=2),i&4&&(r.xAdvance+=e.i16(n),n+=2),i&8&&(r.yAdvance+=e.i16(n))}function getFeatureLookupOffsets(e,t,i,r){try{const n=e.u16(4),o=e.u16(6),a=e.u16(8),l=findTaggedRecord(e,n,t)??findTaggedRecord(e,n,"DFLT");if(l==null)return[];const c=n+l,u=toOpenTypeLanguageTag(i),d=(u?findTaggedRecord(e,c+4,u,e.u16(c+2)):void 0)??e.u16(c);if(!d)return[];const h=c+d,p=e.u16(h+4),g=e.u16(h+2),f=[];g!==65535&&f.push(g);for(let C=0;C<p;C++)f.push(e.u16(h+6+C*2));const m=[];for(const C of f){const y=o+2+C*6;if(e.tag(y)!==r)continue;const S=o+e.u16(y+4),x=e.u16(S+2);for(let b=0;b<x;b++)m.push(e.u16(S+4+b*2))}const v=[];for(const C of m)v.push(a+e.u16(a+2+C*2));return v}catch{return[]}}function findTaggedRecord(e,t,i,r){const n=r??e.u16(t),o=r==null?t+2:t;for(let a=0;a<n;a++){const l=o+a*6;if(e.tag(l)===i)return e.u16(l+4)}}function getCoverageIndex(e,t,i){const r=e.u16(t);if(r===1){const n=e.u16(t+2);for(let o=0;o<n;o++)if(e.u16(t+4+o*2)===i)return o}else if(r===2){const n=e.u16(t+2);for(let o=0;o<n;o++){const a=t+4+o*6,l=e.u16(a),c=e.u16(a+2);if(i>=l&&i<=c)return e.u16(a+4)+i-l}}return-1}function getGlyphClass(e,t,i){const r=e.u16(t);if(r===1){const n=e.u16(t+2),o=e.u16(t+4);return i>=n&&i<n+o?e.u16(t+6+(i-n)*2):0}if(r===2){const n=e.u16(t+2);for(let o=0;o<n;o++){const a=t+4+o*6;if(i>=e.u16(a)&&i<=e.u16(a+2))return e.u16(a+4)}}return 0}function getValueRecordSize(e){let t=0;for(let i=0;i<8;i++)e&1<<i&&t++;return t*2}function createLogicalCharacters(e){const t=[];let i=0;for(const r of e)t.push({text:r,codePoint:r.codePointAt(0)??65533,sourceIndex:i}),i+=r.length;return t}function detectOpenTypeScript(e,t){const i=t?.toLowerCase().split("-")[0];if(i==="ja")return"kana";if(i==="zh")return"hani";let r=!1;for(const n of e){const o=n.codePoint;if(o>=1536&&o<=2303)return"arab";if(o>=1424&&o<=1535)return"hebr";if(o>=880&&o<=1023)return"grek";if(o>=1024&&o<=1327)return"cyrl";if(o>=12352&&o<=12543)return"kana";if(o>=13312&&o<=40959)return"hani";(o>=65&&o<=90||o>=97&&o<=122||o>=192&&o<=687)&&(r=!0)}return!r&&i&&ARABIC_SCRIPT_LANGUAGES.has(i)?"arab":"latn"}function resolveArabicJoiningFeatures(e){const t=new Map;for(let i=0;i<e.length;i++){const r=getJoiningType(e[i].codePoint);if(r==="U"||r==="T")continue;const n=findJoiningType(e,i,-1),o=findJoiningType(e,i,1),a=(r==="D"||r==="R")&&n==="D",l=r==="D"&&(o==="D"||o==="R");t.set(e[i].sourceIndex,a&&l?"medi":a?"fina":l?"init":"isol")}return t}function findJoiningType(e,t,i){for(let r=t+i;r>=0&&r<e.length;r+=i){const n=getJoiningType(e[r].codePoint);if(n!=="T")return n}}function getJoiningType(e){return e>=1552&&e<=1562||e>=1611&&e<=1631||e===1648||e>=1750&&e<=1773?"T":e===1570||e===1571||e===1572||e===1573||e===1575||e===1577||e>=1583&&e<=1586||e===1608||e===1609||e===1649||e===1688?"R":e>=1568&&e<=1747?"D":"U"}function toOpenTypeLanguageTag(e){if(!e)return;const t=e.toLowerCase(),i=t.split("-")[0];return{ar:"ARA ",bg:"BGR ",el:"ELL ",fa:"FAR ",he:"IWR ",ja:"JAN ",ur:"URD ",zh:t.includes("-tw")||t.includes("-hk")||t.includes("-hant")?"ZHT ":"ZHS "}[i]}var OpenTypeReader=class{constructor(e){this.data=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}u16(e){return this.ensure(e,2),this.view.getUint16(e,!1)}i16(e){return this.ensure(e,2),this.view.getInt16(e,!1)}u32(e){return this.ensure(e,4),this.view.getUint32(e,!1)}tag(e){return this.ensure(e,4),String.fromCharCode(this.data[e],this.data[e+1],this.data[e+2],this.data[e+3])}ensure(e,t){if(e<0||e+t>this.data.length)throw new Error("Invalid OpenType layout offset.")}},EMBEDDED_TRUE_TYPE_TABLES=new Set(["OS/2","cmap","cvt ","fpgm","gasp","glyf","head","hhea","hmtx","loca","maxp","name","post","prep"]);function parseTrueTypeFont(e,t){const i=toUint8Array(e.data),r=new DataView(i.buffer,i.byteOffset,i.byteLength);ensureRange(i,0,12,t);const n=readTag(i,0);if(readUint32(r,0)!==65536&&n!=="true")throw new Error(`AG Grid: PDF font "${t}" must be a static TrueType TTF font.`);const o=readTableDirectory(i,r,t);if(o.has("CFF ")||o.has("CFF2"))throw new Error(`AG Grid: PDF font "${t}" uses unsupported CFF outlines.`);const a=getRequiredTable(o,"head",t),l=getRequiredTable(o,"hhea",t),c=getRequiredTable(o,"maxp",t),u=getRequiredTable(o,"hmtx",t),d=getRequiredTable(o,"cmap",t),h=getRequiredTable(o,"loca",t),p=getRequiredTable(o,"glyf",t),g=o.get("OS/2"),f=o.get("post"),m=o.get("name");ensureTableRange(i,a,54,t,"head"),ensureTableRange(i,l,36,t,"hhea"),ensureTableRange(i,c,6,t,"maxp");const v=readUint16(r,a.offset+18);if(!v)throw new Error(`AG Grid: PDF font "${t}" has an invalid unitsPerEm value.`);const C=readUint16(r,c.offset+4),y=readInt16(r,a.offset+50);if(y!==0&&y!==1)throw new Error(`AG Grid: PDF font "${t}" uses an invalid glyph location format.`);ensureTableRange(i,h,(C+1)*(y?4:2),t,"loca");const S=readUint16(r,l.offset+34);if(!C||!S||S>C)throw new Error(`AG Grid: PDF font "${t}" has invalid horizontal metrics.`);ensureTableRange(i,u,S*4+Math.max(C-S,0)*2,t,"hmtx");const x=validateEmbeddingRights(r,g,t),b=createCmapLookup(i,r,d,t),w=readAdvanceWidths(r,u.offset,C,S),P=readInt16(r,l.offset+4),F=readInt16(r,l.offset+6),T=[readInt16(r,a.offset+36),readInt16(r,a.offset+38),readInt16(r,a.offset+40),readInt16(r,a.offset+42)],R=g&&g.length>=8?readUint16(r,g.offset+4):normaliseFontWeight(e.weight),A=g&&g.length>=90&&readUint16(r,g.offset)>=2?readInt16(r,g.offset+88):P,E=f&&f.length>=8?readFixed(r,f.offset+4):0,_=sanitisePdfName(readPostScriptName(i,r,m)||t),G=new Map;return{data:i,postScriptName:_,unitsPerEm:v,ascent:P,descent:F,capHeight:A,bbox:T,italicAngle:E,weight:R,style:e.style??(E?"italic":"normal"),canSubset:x,getTable:D=>{const k=o.get(D);return k?i.subarray(k.offset,k.offset+k.length):void 0},getGlyphId:D=>{const k=G.get(D);if(k!=null)return k;const B=b(D),O=B>=0&&B<C?B:0;return G.set(D,O),O},getAdvanceWidth:D=>w[D]??w[0]??v,createSubset:D=>x?createTrueTypeSubset(i,r,o,h,p,C,y,D,t):i}}function createTrueTypeSubset(e,t,i,r,n,o,a,l,c){const u=readGlyphOffsets(t,r.offset,o,a);validateGlyphOffsets(u,n.length,c);const d=resolveCompositeGlyphs(t,n,u,o,l,c),h=new Map;for(const[y,S]of i)EMBEDDED_TRUE_TYPE_TABLES.has(y)&&h.set(y,e.slice(S.offset,S.offset+S.length));const p=[],g=[];for(let y=0;y<o;y++){if(g.push(p.length),!d.has(y))continue;const S=u[y],x=u[y+1];for(let b=S;b<x;b++)p.push(e[n.offset+b]);a===0&&p.length%2&&p.push(0)}g.push(p.length),h.set("glyf",new Uint8Array(p)),h.set("loca",createLocaTable(g,a));const f=h.get("head");writeUint32(new DataView(f.buffer,f.byteOffset,f.byteLength),8,0);const m=buildSfnt(h),v=new DataView(m.buffer,m.byteOffset,m.byteLength),C=findTableOffset(m,v,"head");return writeUint32(v,C+8,2981146554-calculateChecksum(m)>>>0),m}function readGlyphOffsets(e,t,i,r){const n=[];for(let o=0;o<=i;o++)n.push(r===0?readUint16(e,t+o*2)*2:readUint32(e,t+o*4));return n}function validateGlyphOffsets(e,t,i){let r=e[0];if(r!==0)throw new Error(`AG Grid: PDF font "${i}" contains invalid glyph offsets.`);for(let n=0;n<e.length;n++){const o=e[n];if(o<r||o>t)throw new Error(`AG Grid: PDF font "${i}" contains invalid glyph offsets.`);r=o}}function resolveCompositeGlyphs(e,t,i,r,n,o){const a=new Set([0]),l=[];for(const c of n)Number.isInteger(c)&&c>=0&&c<r&&!a.has(c)&&(a.add(c),l.push(c));for(;l.length;){const c=l.pop(),u=i[c],d=i[c+1];if(u===d)continue;let h=t.offset+u;const p=t.offset+d;if(h+10>p||readInt16(e,h)>=0)continue;h+=10;let g=!0;for(;g;){if(h+4>p)throw new Error(`AG Grid: PDF font "${o}" contains a truncated composite glyph.`);const f=readUint16(e,h),m=readUint16(e,h+2);if(m>=r)throw new Error(`AG Grid: PDF font "${o}" contains an invalid composite glyph reference.`);a.has(m)||(a.add(m),l.push(m)),h+=4,h+=(f&1)!==0?4:2,(f&8)!==0?h+=2:(f&64)!==0?h+=4:(f&128)!==0&&(h+=8),g=(f&32)!==0}}return a}function createLocaTable(e,t){const i=t===0?2:4,r=new Uint8Array(e.length*i),n=new DataView(r.buffer);for(let o=0;o<e.length;o++)t===0?n.setUint16(o*2,e[o]/2,!1):n.setUint32(o*4,e[o],!1);return r}function buildSfnt(e){const t=Array.from(e.entries()).sort(([h],[p])=>h.localeCompare(p)),i=t.length,r=2**Math.floor(Math.log2(i)),n=r*16,o=Math.log2(r),a=i*16-n;let l=12+i*16;for(const[,h]of t)l+=alignToFourBytes(h.length);const c=new Uint8Array(l),u=new DataView(c.buffer);writeUint32(u,0,65536),u.setUint16(4,i,!1),u.setUint16(6,n,!1),u.setUint16(8,o,!1),u.setUint16(10,a,!1);let d=12+i*16;for(let h=0;h<t.length;h++){const[p,g]=t[h],f=12+h*16;writeTag(c,f,p),writeUint32(u,f+4,calculateChecksum(g)),writeUint32(u,f+8,d),writeUint32(u,f+12,g.length),c.set(g,d),d+=alignToFourBytes(g.length)}return c}function findTableOffset(e,t,i){const r=readUint16(t,4);for(let n=0;n<r;n++){const o=12+n*16;if(readTag(e,o)===i)return readUint32(t,o+8)}return 0}function calculateChecksum(e){let t=0;for(let i=0;i<e.length;i+=4){const r=(e[i]??0)<<24|(e[i+1]??0)<<16|(e[i+2]??0)<<8|(e[i+3]??0);t=t+(r>>>0)>>>0}return t}function alignToFourBytes(e){return e+3&-4}function writeTag(e,t,i){for(let r=0;r<4;r++)e[t+r]=i.charCodeAt(r)}function writeUint32(e,t,i){e.setUint32(t,i>>>0,!1)}function toUint8Array(e){return e instanceof Uint8Array?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}function readTableDirectory(e,t,i){const r=readUint16(t,4);ensureRange(e,12,r*16,i);const n=new Map;for(let o=0;o<r;o++){const a=12+o*16,l=readTag(e,a),c=readUint32(t,a+8),u=readUint32(t,a+12);ensureRange(e,c,u,i),n.set(l,{offset:c,length:u})}return n}function getRequiredTable(e,t,i){const r=e.get(t);if(!r)throw new Error(`AG Grid: PDF font "${i}" is missing the required ${t} table.`);return r}function createCmapLookup(e,t,i,r){ensureTableRange(e,i,4,r,"cmap");const n=readUint16(t,i.offset+2);ensureTableRange(e,i,4+n*8,r,"cmap");let o,a;for(let l=0;l<n;l++){const c=i.offset+4+l*8,u=readUint16(t,c),d=readUint16(t,c+2),h=i.offset+readUint32(t,c+4);ensureRange(e,h,2,r);const p=readUint16(t,h),g=u===0||u===3&&(d===1||d===10);g&&p===12&&o==null?o=h:g&&p===4&&a==null&&(a=h)}if(o!=null)return createFormat12Lookup(e,t,o,r);if(a!=null)return createFormat4Lookup(e,t,a,r);throw new Error(`AG Grid: PDF font "${r}" does not contain a supported Unicode cmap.`)}function createFormat12Lookup(e,t,i,r){ensureRange(e,i,16,r);const n=readUint32(t,i+4),o=readUint32(t,i+12);return ensureRange(e,i,n,r),ensureRange(e,i+16,o*12,r),a=>{let l=0,c=o-1;for(;l<=c;){const u=l+c>>>1,d=i+16+u*12,h=readUint32(t,d),p=readUint32(t,d+4);if(a<h)c=u-1;else if(a>p)l=u+1;else return readUint32(t,d+8)+a-h}return 0}}function createFormat4Lookup(e,t,i,r){ensureRange(e,i,14,r);const n=readUint16(t,i+2);ensureRange(e,i,n,r);const o=readUint16(t,i+6)/2,a=i+14,l=a+o*2+2,c=l+o*2,u=c+o*2;return d=>{if(d>65535)return 0;for(let h=0;h<o;h++){const p=readUint16(t,a+h*2);if(d>p)continue;const g=readUint16(t,l+h*2);if(d<g)return 0;const f=readInt16(t,c+h*2),m=u+h*2,v=readUint16(t,m);if(!v)return d+f&65535;const C=m+v+(d-g)*2;if(C+2>i+n)return 0;const y=readUint16(t,C);return y?y+f&65535:0}return 0}}function readAdvanceWidths(e,t,i,r){const n=[];let o=0;for(let a=0;a<i;a++)a<r&&(o=readUint16(e,t+a*4)),n.push(o);return n}function validateEmbeddingRights(e,t,i){if(!t||t.length<10)return!0;const r=readUint16(e,t.offset+8);if((r&2)!==0)throw new Error(`AG Grid: PDF font "${i}" does not permit embedding.`);if((r&512)!==0)throw new Error(`AG Grid: PDF font "${i}" only permits bitmap embedding.`);return(r&256)===0}function readPostScriptName(e,t,i){if(!i||i.length<6)return;const r=readUint16(t,i.offset+2),n=i.offset+readUint16(t,i.offset+4);if(i.offset+6+r*12>i.offset+i.length)return;let o;for(let a=0;a<r;a++){const l=i.offset+6+a*12,c=readUint16(t,l);if(readUint16(t,l+6)!==6)continue;const d=readUint16(t,l+8),h=n+readUint16(t,l+10);if(h<i.offset||h+d>i.offset+i.length)continue;const p=c===0||c===3?decodeUtf16Be(e,h,d):decodeLatin1(e,h,d);if(c===3)return p;o??(o=p)}return o}function decodeUtf16Be(e,t,i){let r="";const n=t+i-i%2;for(let o=t;o<n;o+=2)r+=String.fromCharCode(e[o]<<8|e[o+1]);return r}function decodeLatin1(e,t,i){let r="";for(let n=t,o=t+i;n<o;n++)r+=String.fromCharCode(e[n]);return r}function sanitisePdfName(e){return e.replace(/[^A-Za-z0-9_.+-]/g,"")||"CustomFont"}function normaliseFontWeight(e){return e==="bold"?700:e==="normal"||e==null?400:e}function ensureTableRange(e,t,i,r,n){if(i>t.length)throw new Error(`AG Grid: PDF font "${r}" has a truncated ${n} table.`);ensureRange(e,t.offset,i,r)}function ensureRange(e,t,i,r){if(!Number.isSafeInteger(t)||!Number.isSafeInteger(i)||t<0||i<0||t+i>e.length)throw new Error(`AG Grid: PDF font "${r}" contains invalid table offsets.`)}function readTag(e,t){return String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3])}function readUint16(e,t){return e.getUint16(t,!1)}function readInt16(e,t){return e.getInt16(t,!1)}function readUint32(e,t){return e.getUint32(t,!1)}function readFixed(e,t){return e.getInt32(t,!1)/65536}var BUILT_IN_FONT_FAMILIES=new Set(["Helvetica","Helvetica-Bold","Times-Roman","Times-Bold","Courier","Courier-Bold"]),BUILT_IN_FONT_FAMILY_NAMES=new Set(Array.from(BUILT_IN_FONT_FAMILIES,e=>normaliseFamilyName(e))),PdfFontFamilyNotRegisteredError=class extends Error{constructor(e,t){super(`PDF font family "${e}" is not registered.`),this.family=e,this.registeredFamilies=t,this.name="PdfFontFamilyNotRegisteredError"}},PdfFontRegistry=class{constructor(e){this.customFamilies=new Map,this.resolvedFonts=new Map,this.shapedRuns=new Map,this.nextFontIndex=1;for(const t of e??[])this.registerFamily(t)}resolve(e,t,i,r="Helvetica"){const n=e||r,o=normaliseFontWeight2(t,getBuiltInWeight(n)),a=i??"normal",l=this.customFamilies.get(normaliseFamilyName(n));if(l){const u=selectFace(l.faces,o,a);return this.getOrCreateCustomFont(l.family,u)}if(!BUILT_IN_FONT_FAMILIES.has(n))throw new PdfFontFamilyNotRegisteredError(n,this.getRegisteredFamilyNames());const c=resolveBuiltInFamily(n,o);return this.getOrCreateBuiltInFont(c)}measureText(e,t,i,r="auto",n){let o=0;if(i.trueType){const c=this.getShapedRun(e,i,r,n);for(const u of c.glyphs){const d=this.getAsciiFallbackFont(u.glyphId,u.unicode,i);d?o+=getBase14GlyphWidth(u.unicode,d.family)/1e3*t:o+=u.xAdvance/i.trueType.unitsPerEm*t}return o}const a=resolveVisualText(e,r).text,l=i.builtInFamily??"Helvetica";for(const c of a)o+=getBase14GlyphWidth(c,l);return o/1e3*t}encodeText(e,t,i="auto",r){const n=resolveVisualText(e,i);if(!t.trueType)return{operatorValue:`(${escapePdfString(n.text)})`,visualText:n.text,direction:n.direction,logicalText:e};const o=this.getShapedRun(e,t,i,r),a=[];let l="";for(const c of o.glyphs){const u=this.getAsciiFallbackFont(c.glyphId,c.unicode,t);if(u){a.push({fontKey:u.key,operatorValue:`(${escapePdfString(c.unicode)})`,xAdvance:getBase14GlyphWidth(c.unicode,u.family)/1e3,yAdvance:0,xOffset:0,yOffset:0});continue}const d=getGlyphMappingKey(c.glyphId,c.unicode);let h=t.cidByMapping.get(d);if(h==null){if(t.mappingByCid.size>=65535)throw new Error(`AG Grid: PDF font "${t.family}" exceeded the 65,535 character-code limit.`);h=t.mappingByCid.size+1,t.cidByMapping.set(d,h),t.mappingByCid.set(h,{glyphId:c.glyphId,unicode:c.unicode})}l+=h.toString(16).padStart(4,"0"),a.push({fontKey:t.key,operatorValue:`<${h.toString(16).padStart(4,"0")}>`,xAdvance:c.xAdvance/t.trueType.unitsPerEm,yAdvance:c.yAdvance/t.trueType.unitsPerEm,xOffset:c.xOffset/t.trueType.unitsPerEm,yOffset:c.yOffset/t.trueType.unitsPerEm})}return{operatorValue:`<${l}>`,visualText:o.glyphs.map(c=>c.unicode).join(""),direction:o.direction,logicalText:e,glyphRun:o,positionedGlyphs:a}}getBaselineOffset(e,t){return t.trueType?t.trueType.ascent/t.trueType.unitsPerEm*e:getBase14BaselineOffset(e,t.builtInFamily??"Helvetica")}getNaturalLineHeight(e,t){if(!t.trueType)return e;const i=(t.trueType.ascent-t.trueType.descent)/t.trueType.unitsPerEm*e;return Math.max(e,i)}getUsedFonts(){return Array.from(this.resolvedFonts.values()).sort((e,t)=>Number(e.key.slice(1))-Number(t.key.slice(1)))}getShapedRun(e,t,i,r){const n=`${t.key}\0${i}\0${r??""}\0${e}`;let o=this.shapedRuns.get(n);return o||(o=shapeTrueTypeText(e,t.trueType,i,r),this.shapedRuns.set(n,o)),o}getAsciiFallbackFont(e,t,i){if(e||t.length!==1)return;const r=t.codePointAt(0)??0;if(!(r<32||r>126))return this.resolve("Helvetica",i.weight,"normal")}getRegisteredFamilyNames(){return[...Array.from(this.customFamilies.values(),e=>e.family),...BUILT_IN_FONT_FAMILIES]}registerFamily(e){const t=e.family.trim();if(!t)throw new Error("AG Grid: PDF font families require a non-empty family name.");if(!e.faces?.length)throw new Error(`AG Grid: PDF font family "${t}" requires at least one face.`);const i=normaliseFamilyName(t);if(this.customFamilies.has(i)||BUILT_IN_FONT_FAMILY_NAMES.has(i))throw new Error(`AG Grid: PDF font family "${t}" is registered more than once or uses a reserved name.`);const r=[],n=new Set;for(const o of e.faces){const a=parseTrueTypeFont(o,t),l=normaliseFontWeight2(o.weight,a.weight),c=o.style??a.style,u=`${l}:${c}`;if(n.has(u))throw new Error(`AG Grid: PDF font family "${t}" contains duplicate ${l} ${c} faces.`);n.add(u),r.push({weight:l,style:c,font:a})}this.customFamilies.set(i,{family:t,faces:r})}getOrCreateCustomFont(e,t){const i=`${normaliseFamilyName(e)}:${t.weight}:${t.style}`,r=this.resolvedFonts.get(i);if(r)return r;const n={key:`F${this.nextFontIndex++}`,family:e,weight:t.weight,style:t.style,trueType:t.font,cidByMapping:new Map,mappingByCid:new Map};return this.resolvedFonts.set(i,n),n}getOrCreateBuiltInFont(e){const t=this.resolvedFonts.get(e);if(t)return t;const i={key:`F${this.nextFontIndex++}`,family:e,weight:getBuiltInWeight(e),style:"normal",builtInFamily:e,cidByMapping:new Map,mappingByCid:new Map};return this.resolvedFonts.set(e,i),i}};function selectFace(e,t,i){let r=e.filter(a=>a.style===i);!r.length&&i==="oblique"&&(r=e.filter(a=>a.style==="italic")),r.length||(r=e.filter(a=>a.style==="normal")),r.length||(r=e);let n=r[0],o=Math.abs(n.weight-t);for(let a=1;a<r.length;a++){const l=r[a],c=Math.abs(l.weight-t);(c<o||c===o&&l.weight>n.weight)&&(n=l,o=c)}return n}function resolveBuiltInFamily(e,t){const i=t>=600;return e==="Times-Roman"||e==="Times-Bold"?i?"Times-Bold":"Times-Roman":e==="Courier"||e==="Courier-Bold"?i?"Courier-Bold":"Courier":i?"Helvetica-Bold":"Helvetica"}function normaliseFontWeight2(e,t=400){return e==="bold"?700:e==="normal"||e==null?normaliseNumericWeight(t):normaliseNumericWeight(e)}function normaliseNumericWeight(e){return Number.isFinite(e)?Math.min(Math.max(Math.round(e/100)*100,100),900):400}function getBuiltInWeight(e){return e.endsWith("-Bold")?700:400}function normaliseFamilyName(e){return e.trim().toLowerCase()}function encodeAsciiHex(e){const t=[];for(let r=0;r<e.length;r+=2048){const n=Math.min(r+2048,e.length);let o="";for(let a=r;a<n;a++)o+=e[a].toString(16).padStart(2,"0");t.push(o)}return`${t.join(`
`)}>`}function decodeBase64(e){const t=e.indexOf(","),i=t>=0?e.slice(t+1):e;let r;try{r=atob(i.replace(/\s/g,""))}catch{throw new Error("AG Grid: PDF image data is not valid base64.")}const n=new Uint8Array(r.length);for(let o=0;o<r.length;o++)n[o]=r.charCodeAt(o);return n}var SUPPORTED_START_OF_FRAME_MARKERS=new Set([192,193,194]),UNSUPPORTED_START_OF_FRAME_MARKERS=new Set([195,197,198,199,201,202,203,205,206,207]);function decodeJpeg(e){if(e.length<4||e[0]!==255||e[1]!==216)throw new Error("AG Grid: PDF image is not a valid JPEG file.");let t=2;for(;t<e.length;){for(;t<e.length&&e[t]!==255;)t++;for(;t<e.length&&e[t]===255;)t++;if(t>=e.length)break;const i=e[t++];if(i===217||i===218)break;if(i===1||i>=208&&i<=215)continue;if(t+2>e.length)break;const r=readUint162(e,t);if(r<2||t+r>e.length)throw new Error("AG Grid: PDF image contains an invalid JPEG segment.");if(UNSUPPORTED_START_OF_FRAME_MARKERS.has(i))throw new Error("AG Grid: PDF Export supports baseline, extended and progressive JPEG images only.");if(SUPPORTED_START_OF_FRAME_MARKERS.has(i)){if(r<8)throw new Error("AG Grid: PDF image contains an invalid JPEG frame.");const n=e[t+2],o=readUint162(e,t+3),a=readUint162(e,t+5),l=e[t+7];if(n!==8||!a||!o||l!==1&&l!==3)throw new Error("AG Grid: PDF Export supports 8-bit greyscale and RGB JPEG images.");return{width:a,height:o,colorSpace:l===1?"DeviceGray":"DeviceRGB",bitsPerComponent:n,data:e,filter:"DCTDecode"}}t+=r}throw new Error("AG Grid: PDF image does not contain a supported JPEG frame.")}function readUint162(e,t){return e[t]<<8|e[t+1]}var CODE_LENGTH_ORDER=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],LENGTH_BASE=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],LENGTH_EXTRA=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],DISTANCE_BASE=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],DISTANCE_EXTRA=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],BitReader=class{constructor(e){this.data=e,this.byteIndex=0,this.bitBuffer=0,this.bitCount=0}readBits(e){for(;this.bitCount<e;){if(this.byteIndex>=this.data.length)throw new Error("AG Grid: PDF PNG image compressed data ended unexpectedly.");this.bitBuffer|=this.data[this.byteIndex++]<<this.bitCount,this.bitCount+=8}const t=e===32?4294967295:(1<<e)-1,i=this.bitBuffer&t;return this.bitBuffer>>>=e,this.bitCount-=e,i}alignToByte(){this.bitBuffer=0,this.bitCount=0}},HuffmanTable=class{constructor(e){this.symbolsByCode=new Map;const t=new Array(16).fill(0);let i=0;for(const a of e){if(a<0||a>15)throw new Error("AG Grid: PDF PNG image contains an invalid Huffman code length.");a&&(t[a]+=1,i=Math.max(i,a))}if(!i)throw new Error("AG Grid: PDF PNG image Huffman table has no symbols.");let r=0;for(let a=1;a<=15;a++)r+=t[a]<<15-a;if(r>32768)throw new Error("AG Grid: PDF PNG image contains an over-subscribed Huffman table.");const n=new Array(16).fill(0);let o=0;for(let a=1;a<=15;a++)o=o+t[a-1]<<1,n[a]=o;for(let a=0;a<e.length;a++){const l=e[a];if(!l)continue;const c=reverseBits(n[l]++,l);this.symbolsByCode.set(l<<16|c,a)}this.maximumLength=i}decode(e){let t=0;for(let i=1;i<=this.maximumLength;i++){t|=e.readBits(1)<<i-1;const r=this.symbolsByCode.get(i<<16|t);if(r!=null)return r}throw new Error("AG Grid: PDF PNG image contains an invalid Huffman code.")}},OutputBuffer=class{constructor(e){this.position=0,this.bytes=new Uint8Array(e)}get length(){return this.position}push(e){this.ensureCapacity(1),this.bytes[this.position]=e,this.position+=1}copyBackReference(e,t){this.ensureCapacity(t);const i=this.bytes;for(let r=0;r<t;r++)i[this.position]=i[this.position-e],this.position+=1}ensureCapacity(e){if(this.position+e>this.bytes.length)throw new Error("AG Grid: PDF PNG image data exceeds its expected dimensions.")}toBytes(){return this.position===this.bytes.length?this.bytes:this.bytes.subarray(0,this.position)}};function inflateZlib(e,t){if(e.length<6)throw new Error("AG Grid: PDF PNG image data is not a valid zlib stream.");const i=e[0]&15,r=e[0]<<8|e[1];if(i!==8||r%31!==0||(e[1]&32)!==0)throw new Error("AG Grid: PDF PNG image uses an unsupported zlib stream.");const n=new BitReader(e.subarray(2,e.length-4)),o=new OutputBuffer(t);let a=!1;for(;!a;){a=n.readBits(1)===1;const u=n.readBits(2);if(u===0)readStoredBlock(n,o);else if(u===1){const d=createFixedTables();readCompressedBlock(n,o,d.literalLength,d.distance)}else if(u===2){const d=readDynamicTables(n);readCompressedBlock(n,o,d.literalLength,d.distance)}else throw new Error("AG Grid: PDF PNG image contains an invalid DEFLATE block.")}const l=o.toBytes(),c=e[e.length-4]*16777216+e[e.length-3]*65536+e[e.length-2]*256+e[e.length-1];if(calculateAdler32(l)!==c>>>0)throw new Error("AG Grid: PDF PNG image data failed its zlib checksum.");return l}function readStoredBlock(e,t){e.alignToByte();const i=e.readBits(16),r=e.readBits(16);if((i^65535)!==r)throw new Error("AG Grid: PDF PNG image contains an invalid stored DEFLATE block.");t.ensureCapacity(i);for(let n=0;n<i;n++)t.push(e.readBits(8))}function readCompressedBlock(e,t,i,r){for(;;){const n=i.decode(e);if(n<256)t.push(n);else{if(n===256)return;if(n<=285){const o=n-257,a=LENGTH_BASE[o]+e.readBits(LENGTH_EXTRA[o]);if(!r)throw new Error("AG Grid: PDF PNG image contains a length without a DEFLATE distance table.");const l=r.decode(e);if(l>=DISTANCE_BASE.length)throw new Error("AG Grid: PDF PNG image contains an invalid DEFLATE distance.");const c=DISTANCE_BASE[l]+e.readBits(DISTANCE_EXTRA[l]);if(c>t.length)throw new Error("AG Grid: PDF PNG image contains an invalid DEFLATE back-reference.");t.copyBackReference(c,a)}else throw new Error("AG Grid: PDF PNG image contains an invalid DEFLATE length.")}}}function createFixedTables(){const e=new Array(288);for(let t=0;t<=143;t++)e[t]=8;for(let t=144;t<=255;t++)e[t]=9;for(let t=256;t<=279;t++)e[t]=7;for(let t=280;t<=287;t++)e[t]=8;return{literalLength:new HuffmanTable(e),distance:new HuffmanTable(new Array(32).fill(5))}}function readDynamicTables(e){const t=e.readBits(5)+257,i=e.readBits(5)+1,r=e.readBits(4)+4,n=new Array(19).fill(0);for(let u=0;u<r;u++)n[CODE_LENGTH_ORDER[u]]=e.readBits(3);const o=new HuffmanTable(n),a=[],l=t+i;for(;a.length<l;){const u=o.decode(e);if(u<=15)a.push(u);else if(u===16){if(!a.length)throw new Error("AG Grid: PDF PNG image contains an invalid repeated Huffman length.");const d=e.readBits(2)+3,h=a[a.length-1];appendRepeatedLength(a,h,d,l)}else if(u===17)appendRepeatedLength(a,0,e.readBits(3)+3,l);else if(u===18)appendRepeatedLength(a,0,e.readBits(7)+11,l);else throw new Error("AG Grid: PDF PNG image contains an invalid Huffman length.")}const c=a.slice(t);return{literalLength:new HuffmanTable(a.slice(0,t)),distance:c.some(u=>u>0)?new HuffmanTable(c):void 0}}function appendRepeatedLength(e,t,i,r){if(e.length+i>r)throw new Error("AG Grid: PDF PNG image contains too many Huffman lengths.");for(let n=0;n<i;n++)e.push(t)}function reverseBits(e,t){let i=0;for(let r=0;r<t;r++)i=i<<1|e&1,e>>>=1;return i}function calculateAdler32(e){let t=1,i=0;for(const r of e)t=(t+r)%65521,i=(i+t)%65521;return(i<<16|t)>>>0}var PNG_SIGNATURE=[137,80,78,71,13,10,26,10],MAXIMUM_PIXEL_COUNT=4e6;function decodePng(e){validateSignature(e);let t,i,r;const n=[];let o=PNG_SIGNATURE.length;for(;o+12<=e.length;){const f=readUint322(e,o),m=readChunkType(e,o+4),v=o+8,C=v+f;if(C+4>e.length)throw new Error("AG Grid: PDF image contains a truncated PNG chunk.");const y=e.subarray(v,C);if(m==="IHDR")t=readHeader(y);else if(m==="PLTE")i=y;else if(m==="tRNS")r=y;else if(m==="IDAT")n.push(y);else if(m==="IEND")break;o=C+4}if(!t||!n.length)throw new Error("AG Grid: PDF image is missing required PNG data.");const a=concatenate(n),l=t.bitDepth*t.channels,c=Math.ceil(t.width*l/8),u=(c+1)*t.height,d=inflateZlib(a,u);if(d.length!==u)throw new Error("AG Grid: PDF image PNG data does not match its dimensions.");const h=Math.max(1,Math.ceil(l/8)),p=unfilterScanlines(d,c,t.height,h),g=unpackSamples(p,t);return convertSamples(g,t,i,r)}function validateSignature(e){if(e.length<PNG_SIGNATURE.length)throw new Error("AG Grid: PDF image is not a valid PNG file.");for(let t=0;t<PNG_SIGNATURE.length;t++)if(e[t]!==PNG_SIGNATURE[t])throw new Error("AG Grid: PDF image is not a valid PNG file.")}function readHeader(e){if(e.length!==13)throw new Error("AG Grid: PDF image contains an invalid PNG header.");const t=readUint322(e,0),i=readUint322(e,4),r=e[8],n=e[9],o=e[10],a=e[11],l=e[12],c=getChannelCount(n),d=r===8||n===3&&(r===1||r===2||r===4);if(t&&i&&i>MAXIMUM_PIXEL_COUNT/t)throw new Error(`AG Grid: PDF PNG images are limited to ${MAXIMUM_PIXEL_COUNT.toLocaleString("en-GB")} pixels.`);if(!t||!i||!d||o!==0||a!==0||l!==0||!c)throw new Error("AG Grid: PDF Export supports non-interlaced, 8-bit PNG images and 1-, 2-, or 4-bit indexed PNG images.");return{width:t,height:i,bitDepth:r,colorType:n,channels:c,colorSpace:n===0||n===4?"DeviceGray":"DeviceRGB"}}function getChannelCount(e){return e===0||e===3?1:e===2?3:e===4?2:e===6?4:0}function unfilterScanlines(e,t,i,r){const n=new Uint8Array(t*i);let o=0;for(let a=0;a<i;a++){const l=e[o++],c=a*t;for(let u=0;u<t;u++){const d=e[o++],h=u>=r?n[c+u-r]:0,p=a>0?n[c+u-t]:0,g=a>0&&u>=r?n[c+u-t-r]:0;let f;if(l===0)f=d;else if(l===1)f=d+h;else if(l===2)f=d+p;else if(l===3)f=d+Math.floor((h+p)/2);else if(l===4)f=d+paethPredictor(h,p,g);else throw new Error("AG Grid: PDF image uses an invalid PNG scanline filter.");n[c+u]=f&255}}return n}function unpackSamples(e,t){if(t.bitDepth===8)return e;const i=new Uint8Array(t.width*t.height),r=Math.ceil(t.width*t.bitDepth/8),n=8/t.bitDepth,o=(1<<t.bitDepth)-1;for(let a=0;a<t.height;a++){const l=a*r,c=a*t.width;for(let u=0;u<t.width;u++){const d=e[l+Math.floor(u/n)],h=8-t.bitDepth*(u%n+1);i[c+u]=d>>>h&o}}return i}function convertSamples(e,t,i,r){const n=t.width*t.height,o=t.colorSpace==="DeviceGray"?1:3,a=new Uint8Array(n*o),l=new Uint8Array(n);l.fill(255);let c=!1;for(let u=0;u<n;u++){const d=u*t.channels,h=u*o;if(t.colorType===0){const p=e[d];a[h]=p;const g=r?.length===2?readUint163(r,0):-1;p===g&&(l[u]=0,c=!0)}else if(t.colorType===2)a[h]=e[d],a[h+1]=e[d+1],a[h+2]=e[d+2],r?.length===6&&e[d]===readUint163(r,0)&&e[d+1]===readUint163(r,2)&&e[d+2]===readUint163(r,4)&&(l[u]=0,c=!0);else if(t.colorType===3){const p=e[d],g=p*3;if(!i||g+2>=i.length)throw new Error("AG Grid: PDF image contains an invalid PNG palette index.");a[h]=i[g],a[h+1]=i[g+1],a[h+2]=i[g+2];const f=r?.[p]??255;l[u]=f,f!==255&&(c=!0)}else t.colorType===4?(a[h]=e[d],l[u]=e[d+1],l[u]!==255&&(c=!0)):(a[h]=e[d],a[h+1]=e[d+1],a[h+2]=e[d+2],l[u]=e[d+3],l[u]!==255&&(c=!0))}return{width:t.width,height:t.height,colorSpace:t.colorSpace,bitsPerComponent:8,data:a,alpha:c?l:void 0}}function paethPredictor(e,t,i){const r=e+t-i,n=Math.abs(r-e),o=Math.abs(r-t),a=Math.abs(r-i);return n<=o&&n<=a?e:o<=a?t:i}function concatenate(e){let t=0;for(const n of e)t+=n.length;const i=new Uint8Array(t);let r=0;for(const n of e)i.set(n,r),r+=n.length;return i}function readChunkType(e,t){return String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3])}function readUint163(e,t){return e[t]<<8|e[t+1]}function readUint322(e,t){return e[t]*16777216+e[t+1]*65536+e[t+2]*256+e[t+3]}var POINTS_PER_CSS_PIXEL=72/96,DEFAULT_IMAGE_GAP=4,PdfImageRegistry=class{constructor(){this.resourceById=new Map}resolve(e){const t=e.id.trim();if(!t)throw new Error("AG Grid: PDF images require a non-empty id.");let i=this.resourceById.get(t);i||(i={...decodeImage(e),id:t,key:`Im${this.resourceById.size+1}`},this.resourceById.set(t,i));const r=i.width*POINTS_PER_CSS_PIXEL,n=i.height*POINTS_PER_CSS_PIXEL,o=resolveDimension(e.width),a=resolveDimension(e.height);let l=o??r,c=a??n;return o!=null&&a==null?c=o*(i.height/i.width):a!=null&&o==null&&(l=a*(i.width/i.height)),{resource:i,width:l,height:c,alignment:e.alignment??"start",gap:resolveGap(e.gap),altText:e.altText}}getResources(){return Array.from(this.resourceById.values())}};function constrainImageWidth(e,t){if(e.width<=t||e.width<=0)return e;const i=Math.max(t,0)/e.width;return{...e,width:e.width*i,height:e.height*i}}function decodeImage(e){const t=decodeBase64(e.base64),i=e.imageType.toLowerCase();if(validateDataUrlType(e,i),i==="png")return decodePng(t);if(i==="jpg"||i==="jpeg")return decodeJpeg(t);throw new Error(`AG Grid: PDF Export does not support "${e.imageType}" images.`)}function validateDataUrlType(e,t){const i=/^data:image\/([a-z0-9.+-]+)[;,]/i.exec(e.base64)?.[1].toLowerCase();if(!i)return;if(i!==t&&!(i==="jpeg"&&(t==="jpg"||t==="jpeg")))throw new Error(`AG Grid: PDF image "${e.id}" is a "${i}" data URL but its imageType is "${e.imageType}".`)}function resolveDimension(e){return e!=null&&Number.isFinite(e)&&e>0?e:void 0}function resolveGap(e){return e!=null&&Number.isFinite(e)?Math.max(e,0):DEFAULT_IMAGE_GAP}var ALPHA_BLEND_FALLBACK={r:255,g:255,b:255},DEFAULT_PDF_STYLES={backgroundColor:"#ffffff",dataBackgroundColor:"#ffffff",oddRowBackgroundColor:"#ffffff",foregroundColor:"#000000",headerBackgroundColor:"#ffffff",headerTextColor:"#000000",borderColor:"#000000"};function resolvePdfStyleColors(e){const t=e??{},i=resolveColor(t.backgroundColor,DEFAULT_PDF_STYLES.backgroundColor),r=t.dataBackgroundColor?resolveColor(t.dataBackgroundColor,DEFAULT_PDF_STYLES.dataBackgroundColor,i):i,n=t.oddRowBackgroundColor?resolveColor(t.oddRowBackgroundColor,DEFAULT_PDF_STYLES.oddRowBackgroundColor,r??i):r,o=resolveColor(t.headerBackgroundColor,DEFAULT_PDF_STYLES.headerBackgroundColor,i),a=resolveColor(t.borderColor,DEFAULT_PDF_STYLES.borderColor,i??r),l=resolveColor(t.foregroundColor,DEFAULT_PDF_STYLES.foregroundColor,r??i),c=resolveColor(t.headerTextColor,DEFAULT_PDF_STYLES.headerTextColor,o??i);return{pageBackground:i,dataBackground:r,oddRowBackground:n,headerBackground:o,border:a,foreground:l,headerText:c}}function getRowStyles(e,t,i){return e==="HEADER"||e==="HEADER_GROUPING"?{background:t.headerBackground,border:t.border,text:t.headerText??t.foreground}:e==="CUSTOM"?{background:t.dataBackground,border:t.border,text:t.foreground}:e==="BODY"?{background:i%2===1?t.oddRowBackground??t.dataBackground:t.dataBackground,border:t.border,text:t.foreground}:{background:t.dataBackground,border:t.border,text:t.foreground}}function resolveOptionalColor(e,t,i){if(!e)return t;const r=parseColor(e);if(r!==null){if(!r)return t;if(!(r.a<=0))return r.a<1?blendColors(r,i??ALPHA_BLEND_FALLBACK):stripAlpha(r)}}function formatColor(e){const t=(resolveChannel(e.r)/255).toFixed(3),i=(resolveChannel(e.g)/255).toFixed(3),r=(resolveChannel(e.b)/255).toFixed(3);return`${t} ${i} ${r}`}function isTransparentColorValue(e){const t=parseColor(e);return t===null?!0:!!t&&t.a<=0}function resolveColor(e,t,i){if(e){const n=parseColor(e);if(n===null||n&&n.a<=0)return;if(n&&n.a>0)return n.a<1?blendColors(n,i??ALPHA_BLEND_FALLBACK):stripAlpha(n)}const r=parseColor(t);if(!(!r||r.a<=0))return r.a<1?blendColors(r,i??ALPHA_BLEND_FALLBACK):stripAlpha(r)}function parseColor(e){const t=e.trim().toLowerCase();if(!t||t==="transparent"||t==="none")return null;const i=t.match(/^color\(\s*srgb\s+(.+)\)$/);if(i){const o=i[1].trim(),[a,l]=o.split("/").map(g=>g.trim()),c=a.split(/\s+/).filter(Boolean);if(c.length<3)return;const u=parseColorChannel(c[0],!0),d=parseColorChannel(c[1],!0),h=parseColorChannel(c[2],!0);if(u==null||d==null||h==null)return;const p=l?parseAlpha(l):1;return{r:u,g:d,b:h,a:p??1}}if(t.startsWith("#")){const o=t.slice(1);if(!/^(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(o))return;if(o.length===3||o.length===4){const a=Number.parseInt(o[0]+o[0],16),l=Number.parseInt(o[1]+o[1],16),c=Number.parseInt(o[2]+o[2],16),u=o.length===4?Number.parseInt(o[3]+o[3],16)/255:1;return{r:a,g:l,b:c,a:u}}if(o.length===6||o.length===8){const a=Number.parseInt(o.slice(0,2),16),l=Number.parseInt(o.slice(2,4),16),c=Number.parseInt(o.slice(4,6),16),u=o.length===8?Number.parseInt(o.slice(6,8),16)/255:1;return{r:a,g:l,b:c,a:u}}return}const r=t.match(/^rgba?\((.+)\)$/);if(r){const o=r[1].trim();let a,l;if(o.includes(",")){const p=o.split(",").map(g=>g.trim());if(p.length<3)return;a=p.slice(0,3),l=p[3]}else{const[p,g]=o.split("/").map(f=>f.trim());if(a=p.split(/\s+/).filter(Boolean),l=g,a.length<3)return}const[c,u,d]=a.slice(0,3).map(p=>parseColorChannel(p,!1));if(c==null||u==null||d==null)return;const h=l?parseAlpha(l):1;return{r:c,g:u,b:d,a:h??1}}const n=t.match(/^hsla?\((.+)\)$/);if(n){const o=n[1].trim();let a,l;if(o.includes(",")){const g=o.split(",").map(f=>f.trim());if(g.length<3)return;a=g.slice(0,3),l=g[3]}else{const[g,f]=o.split("/").map(m=>m.trim());if(a=g.split(/\s+/).filter(Boolean),l=f,a.length<3)return}const c=Number.parseFloat(a[0]),u=parsePercent(a[1]),d=parsePercent(a[2]);if(!Number.isFinite(c)||u==null||d==null)return;const h=hslToRgb(c,u,d),p=l?parseAlpha(l):1;return{...h,a:p??1}}}function parseColorChannel(e,t){const i=e.trim(),r=i.endsWith("%"),n=Number.parseFloat(i);return Number.isFinite(n)?r?clampChannel(n/100*255):t&&n>=0&&n<=1?clampChannel(n*255):clampChannel(n):null}function parseAlpha(e){const t=e.trim(),i=t.endsWith("%"),r=Number.parseFloat(t);return Number.isFinite(r)?clampAlpha(i?r/100:r):null}function parsePercent(e){const t=e.trim();if(!t.endsWith("%"))return null;const i=Number.parseFloat(t.slice(0,-1));return Number.isFinite(i)?Math.max(0,Math.min(1,i/100)):null}function hslToRgb(e,t,i){const r=(e%360+360)%360,n=(1-Math.abs(2*i-1))*t,o=n*(1-Math.abs(r/60%2-1)),a=i-n/2;let l=0,c=0,u=0;return r<60?(l=n,c=o):r<120?(l=o,c=n):r<180?(c=n,u=o):r<240?(c=o,u=n):r<300?(l=o,u=n):(l=n,u=o),{r:clampChannel((l+a)*255),g:clampChannel((c+a)*255),b:clampChannel((u+a)*255)}}function clampChannel(e){return Math.max(0,Math.min(255,Math.round(e)))}function resolveChannel(e){return Number.isFinite(e)?clampChannel(e):0}function clampAlpha(e){return Math.max(0,Math.min(1,e))}function stripAlpha(e){return{r:e.r,g:e.g,b:e.b}}function blendColors(e,t){const i=clampAlpha(e.a);return{r:clampChannel(e.r*i+t.r*(1-i)),g:clampChannel(e.g*i+t.g*(1-i)),b:clampChannel(e.b*i+t.b*(1-i))}}function mergePdfCellStyles(e,t){if(!(!e&&!t))return{...e??{},...t??{}}}var DEFAULT_TITLE_MARGIN={top:0,right:0,bottom:8,left:0},DEFAULT_TITLE_PADDING={top:6,right:6,bottom:6,left:6},DEFAULT_SUBTITLE_MARGIN={top:0,right:0,bottom:12,left:0},DEFAULT_SUBTITLE_PADDING={top:3,right:6,bottom:3,left:6},DEFAULT_TITLE_ALIGNMENT="center",DEFAULT_CELL_ALIGNMENT="left",DEFAULT_CELL_MARGIN={top:0,right:0,bottom:0,left:0},DEFAULT_OVERFLOW="ellipsis",MIN_AUTO_COLUMN_WIDTH=24;function resolveDocumentHeading(e,t,i,r,n,o,a,l){if(e)return{text:e,style:resolveHeadingStyle(t,i,r,n,o,a,l)}}function measureRow(e,t,i,r,n,o){const a=isHeaderRowType(e.type),l=getRowStyles(e.type,n,o),c=getFontRegistry(t),u=resolveFontInput(a?r:i,c),d=a?t.headerFontSize:t.fontSize,h=a?t.defaultHeaderStyle:t.defaultCellStyle,p=resolveTableCellStyle(mergePdfCellStyles(h,e.style),t,u,l,n,d),g=[];let f=0,m=getMinimumRowHeight(e.type,t);for(const S of e.cells){const x=Math.min((S.mergeAcross??0)+1,t.columnCount-f);if(x<=0)break;const b=resolveTableCellStyle(mergePdfCellStyles(h,mergePdfCellStyles(e.style,S.style)),t,u,l,n,d);applyRowGroupIndent(S,b,t);const w=getSpanWidth(t.columnWidths,f,x),P=Math.max(w-b.padding.left-b.padding.right,0),F=S.image?constrainImageWidth(getImageRegistry(t).resolve(S.image),P):void 0,T=F?isImageOnRight(F,b,S.value):void 0,R=F?F.width+(S.value?F.gap:0):0,A=Math.max(P-R,0),E=measureTextLines(S.value,A,b),_=Math.max(E.length,1),D=Math.max(_*b.lineHeight,F?.height??0)+b.padding.top+b.padding.bottom,k=Math.max(Math.floor(S.mergeDown??0)+1,1),B=!!S.covered;!B&&k===1&&(m=Math.max(m,D)),g.push({columnIndex:f,span:x,width:w,style:b,lines:E,hyperlink:S.hyperlink,image:F,imageOnRight:T,rowSpan:k,requiredHeight:D,covered:B}),f+=x}const v=a?t.headerRowHeight:t.rowHeight,C=v!=null,y=v??m;return{type:e.type,defaultCellStyle:p,cells:g,rowHeight:y,minimumHeight:getMinimumRowHeight(e.type,t),fixedHeight:C}}function resolveHeaderRowSpans(e){let t=!1;for(const i of e)for(const r of i.cells)if(!r.covered&&r.rowSpan>1){t=!0;break}if(!t)return!1;for(let i=0;i<e.length;i++){const r=e[i];if(r.spanned=!0,!r.fixedHeight)for(const n of r.cells){if(n.covered||n.rowSpan<=1)continue;const o=Math.min(i+n.rowSpan,e.length);let a=0;for(let l=i;l<o;l++)a+=e[l].rowHeight;if(a<n.requiredHeight){const l=(n.requiredHeight-a)/(o-i);for(let c=i;c<o;c++)e[c].rowHeight+=l}}}for(let i=0;i<e.length;i++)for(const r of e[i].cells){if(r.covered||r.rowSpan<=1)continue;const n=Math.min(i+r.rowSpan,e.length);let o=0;for(let a=i;a<n;a++)o+=e[a].rowHeight;r.renderHeight=o}return!0}function measureRowFragment(e,t,i){if(!Number.isFinite(i)||i<=0)return;if(e.fixedHeight||e.spanned){const p=Math.min(e.rowHeight,i);return{row:e,cells:e.cells.map(g=>({measurement:g,lines:constrainLinesToHeight(g,g.renderHeight??p),showImage:!!g.image})),height:p,complete:!0}}const r=t?.lineOffsets??e.cells.map(()=>0),n=t?.imageRendered??e.cells.map(()=>!1),o=getRemainingRowHeight(e,r,n);if(o<=i)return{row:e,cells:e.cells.map((p,g)=>({measurement:p,lines:p.lines.slice(r[g]??0),showImage:!!p.image&&!n[g]})),height:o,complete:!0};const a=[...r],l=[...n],c=[];let u=Math.min(e.minimumHeight,i),d=!1;for(let p=0;p<e.cells.length;p++){const g=e.cells[p],f=r[p]??0,m=Math.max(g.lines.length-f,0),v=Math.max(i-g.style.padding.top-g.style.padding.bottom,0),C=Math.floor(v/g.style.lineHeight),y=Math.min(m,C),S=g.lines.slice(f,f+y),x=!!g.image&&!n[p];y>0&&(d=!0,a[p]=f+y,u=Math.max(u,g.style.padding.top+y*g.style.lineHeight+g.style.padding.bottom)),x&&(d=!0,l[p]=!0,u=Math.max(u,Math.min(g.style.padding.top+g.image.height+g.style.padding.bottom,i))),c.push({measurement:g,lines:S,showImage:x})}if(!d)return;const h=e.cells.every((p,g)=>(a[g]??0)>=p.lines.length&&(!p.image||l[g]));return{row:e,cells:c,height:u,complete:h,nextState:h?void 0:{lineOffsets:a,imageRendered:l}}}function measureClampedRowFragment(e,t,i){const r=t?.lineOffsets??e.cells.map(()=>0),n=t?.imageRendered??e.cells.map(()=>!1),o=Number.isFinite(i)?Math.max(i,0):0,a=[];for(let l=0,c=e.cells.length;l<c;l++){const u=e.cells[l],d=u.lines.slice(r[l]??0),h=Math.max(o-u.style.padding.top-u.style.padding.bottom,0),p=Math.max(Math.floor(h/u.style.lineHeight),1);a.push({measurement:u,lines:constrainTextLines(d,p,u.style,getAvailableTextWidth(u)),showImage:!!u.image&&!n[l]})}return{row:e,cells:a,height:Math.min(getRemainingRowHeight(e,r,n),Math.max(o,e.minimumHeight)),complete:!0}}function getAutoColumnWidths(e,t,i,r,n,o){const a=[];for(let c=0;c<t.columnCount;c++)a.push(MIN_AUTO_COLUMN_WIDTH);let l=0;for(const c of e){if(c.type==="CUSTOM")continue;const u=isHeaderRowType(c.type),d=getRowStyles(c.type,n,l),h=getFontRegistry(t),p=resolveFontInput(u?r:i,h),g=u?t.headerFontSize:t.fontSize,f=u?t.defaultHeaderStyle:t.defaultCellStyle;let m=0;for(const v of c.cells){const C=Math.min((v.mergeAcross??0)+1,t.columnCount-m);if(C<=0)break;if(!spanIncludesAutoWidthColumn(o,m,C)){m+=C;continue}const y=resolveTableCellStyle(mergePdfCellStyles(f,mergePdfCellStyles(c.style,v.style)),t,p,d,n,g);applyRowGroupIndent(v,y,t);const S=v.image?getImageRegistry(t).resolve(v.image):void 0,x=getIntrinsicTextWidth(v.value??"",y),b=S?S.width+(v.value?S.gap:0):0,w=x+b+y.padding.left+y.padding.right,P=getSpanWidth(a,m,C);if(w>P){const F=(w-P)/C;for(let T=m;T<m+C;T++)a[T]+=F}m+=C}c.type==="BODY"&&(l+=1)}return a}function spanIncludesAutoWidthColumn(e,t,i){for(let r=t,n=t+i;r<n;r++)if(e[r])return!0;return!1}function measureTextLines(e,t,i){const r=o=>i.fontRegistry.measureText(o,i.fontSize,i.font,i.direction,i.language);let n;if(i.wrapText)n=wrapText(normaliseText(e,i.preserveLineBreaks,!!i.font.trueType),t,i.fontSize,i.fontFamily,i.preserveSpaces,r);else{const o=normaliseText(e,i.preserveLineBreaks,!!i.font.trueType),a=i.preserveLineBreaks?o.split(`
`):[o];n=[];for(const l of a)n.push(i.overflow==="clip"?clipText(l,t,i.fontSize,i.fontFamily,r):truncateText(l,t,i.fontSize,i.fontFamily,r));!i.preserveLineBreaks&&!n[0]&&(n=[])}return constrainTextLines(n,i.maxLines,i,t)}function getRemainingRowHeight(e,t,i){let r=e.minimumHeight;for(let n=0;n<e.cells.length;n++){const o=e.cells[n],a=Math.max(o.lines.length-(t[n]??0),0);a>0&&(r=Math.max(r,o.style.padding.top+a*o.style.lineHeight+o.style.padding.bottom)),o.image&&!i[n]&&(r=Math.max(r,o.style.padding.top+o.image.height+o.style.padding.bottom))}return r}function constrainLinesToHeight(e,t){const i=Math.max(t-e.style.padding.top-e.style.padding.bottom,0),r=Math.floor(i/e.style.lineHeight);return constrainTextLines(e.lines,r,e.style,getAvailableTextWidth(e))}function getAvailableTextWidth(e){const t=e.width-e.style.padding.left-e.style.padding.right,i=e.image?e.image.width+e.image.gap:0;return Math.max(t-i,0)}function constrainTextLines(e,t,i,r){if(t==null||e.length<=t)return e;if(t<=0)return[];const n=e.slice(0,t);if(i.overflow==="ellipsis"){const o=n.length-1;n[o]=addTextEllipsis(n[o],r,i.fontSize,i.fontFamily,a=>i.fontRegistry.measureText(a,i.fontSize,i.font,i.direction,i.language))}return n}function isImageOnRight(e,t,i){const r=t.direction==="auto"?resolveBidiCharacters(i,t.direction).direction:t.direction;return e.alignment==="end"?r==="ltr":r==="rtl"}function getMinimumRowHeight(e,t){const i=isHeaderRowType(e),r=i?t.defaultHeaderStyle:t.defaultCellStyle,n=i?t.headerFontSize:t.fontSize,o=resolveFiniteNumber(r?.lineHeight,n,Number.EPSILON),a=resolveBoxSpacing(r?.padding,{top:t.cellPadding,right:t.cellPadding,bottom:t.cellPadding,left:t.cellPadding});return o+a.top+a.bottom}function getImageRegistry(e){if(!e.imageRegistry)throw new Error("AG Grid: PDF layout options are missing the document image registry.");return e.imageRegistry}function resolveHeadingStyle(e,t,i,r,n,o,a){const l=mergePdfCellStyles(i.defaultCellStyle,i.defaultHeaderStyle),c=resolveFiniteNumber(l?.fontSize,a,Number.EPSILON),u=t==="title"?Math.max(c+4,14):Math.max(c+1,11),d=resolveFiniteNumber(e?.fontSize,u,Number.EPSILON),h=o.resolve(e?.fontFamily,e?.fontWeight??n.weight,e?.fontStyle??n.style,n.family),p=resolveBoxSpacing(e?.padding,t==="title"?DEFAULT_TITLE_PADDING:DEFAULT_SUBTITLE_PADDING),g=resolveBoxSpacing(e?.margin,t==="title"?DEFAULT_TITLE_MARGIN:DEFAULT_SUBTITLE_MARGIN),f=r.pageBackground??r.dataBackground,m=(t==="title"?r.headerText??r.foreground:r.foreground)??{r:0,g:0,b:0},v=resolveOptionalColor(e?.borderColor,void 0,f);return{fontSize:d,fontFamily:h.family,fontWeight:h.weight,fontStyle:h.style,font:h,fontRegistry:o,direction:e?.direction??i.direction??"auto",language:e?.language??i.language,lineHeight:resolveFiniteNumber(e?.lineHeight,o.getNaturalLineHeight(d,h),Number.EPSILON),maxLines:resolveMaxLines(e?.maxLines),overflow:e?.overflow??DEFAULT_OVERFLOW,alignment:e?.alignment??DEFAULT_TITLE_ALIGNMENT,alignmentExplicit:e?.alignment!=null,padding:p,margin:g,textColor:resolveOptionalColor(e?.color,m,f)??m,backgroundColor:resolveOptionalColor(e?.backgroundColor,void 0,f),borderColor:v,borderWidth:resolveBorderWidth(e?.borderWidth,v),wrapText:e?.wrapText??!1,preserveLineBreaks:e?.preserveLineBreaks??e?.wrapText??!1,preserveSpaces:e?.preserveSpaces??!1}}function resolveTableCellStyle(e,t,i,r,n,o){const a=resolveBoxSpacing(e?.padding,{top:t.cellPadding,right:t.cellPadding,bottom:t.cellPadding,left:t.cellPadding}),l=resolveFiniteNumber(e?.fontSize,o,Number.EPSILON),c=getFontRegistry(t),u=c.resolve(e?.fontFamily,e?.fontWeight??i.weight,e?.fontStyle??i.style,i.family),d=r.background??n.dataBackground??n.pageBackground,h=r.text??n.foreground??{r:0,g:0,b:0},p=resolveOptionalColor(e?.borderColor,r.border,d);return{fontSize:l,fontFamily:u.family,fontWeight:u.weight,fontStyle:u.style,font:u,fontRegistry:c,direction:e?.direction??t.direction??"auto",language:e?.language??t.language,lineHeight:resolveFiniteNumber(e?.lineHeight,c.getNaturalLineHeight(l,u),Number.EPSILON),maxLines:resolveMaxLines(e?.maxLines),overflow:e?.overflow??DEFAULT_OVERFLOW,alignment:e?.alignment??DEFAULT_CELL_ALIGNMENT,alignmentExplicit:e?.alignment!=null,padding:a,margin:DEFAULT_CELL_MARGIN,textColor:resolveOptionalColor(e?.color,h,d)??h,backgroundColor:resolveOptionalColor(e?.backgroundColor,r.background,d),borderColor:p,borderWidth:resolveBorderWidth(e?.borderWidth,p),wrapText:e?.wrapText??!1,preserveLineBreaks:e?.preserveLineBreaks??e?.wrapText??!1,preserveSpaces:e?.preserveSpaces??!1}}function getIntrinsicTextWidth(e,t){const i=normaliseText(e,t.preserveLineBreaks,!!t.font.trueType),r=t.preserveLineBreaks?i.split(`
`):[i];let n=0;for(const o of r)n=Math.max(n,t.fontRegistry.measureText(o,t.fontSize,t.font,t.direction,t.language));return n}function resolveBoxSpacing(e,t){if(typeof e=="number"){const r=resolveFiniteNumber(e,0);return{top:r,right:r,bottom:r,left:r}}const i=e??{};return{top:resolveFiniteNumber(i.top,t.top),right:resolveFiniteNumber(i.right,t.right),bottom:resolveFiniteNumber(i.bottom,t.bottom),left:resolveFiniteNumber(i.left,t.left)}}function applyRowGroupIndent(e,t,i){if(e.elementType!=="rowgroup"||!e.groupLevel)return;const r=e.groupLevel*(i.rowGroupIndentSize??0);(t.direction==="auto"?resolveBidiCharacters(e.value,t.direction).direction:t.direction)==="rtl"?t.padding.right+=r:t.padding.left+=r}function resolveMaxLines(e){if(!(e==null||!Number.isFinite(e)||e<1))return Math.floor(e)}function resolveBorderWidth(e,t){return resolveFiniteNumber(e,t?1:0)}function getFontRegistry(e){return e.fontRegistry??(e.fontRegistry=new PdfFontRegistry(void 0)),e.fontRegistry}function resolveFontInput(e,t){return typeof e=="string"?t.resolve(e,void 0,void 0):e}var PAGE_FURNITURE_PADDING=4,DEFAULT_PAGE_TEXT_SIZE=9;function resolvePageFurnitureConfig(e,t,i,r,n,o){const a={};if(!e)return a;for(const l of["all","first","even"]){const c=e[l];c&&(a[l]=resolvePageFurniture(c,t,i,r,n,o))}return a}function getPageFurnitureForPage(e,t){return t===1&&e.first?e.first:t%2===0&&e.even?e.even:e.all??{header:[],footer:[],headerHeight:0,footerHeight:0}}function resolvePagePlaceholders(e,t){const i={Page:String(t.pageNumber),Pages:String(t.totalPages),Date:t.date,Time:t.time};return e.replace(/&\[(Page|Pages|Date|Time)\]/g,(r,n)=>i[n])}function getPageDateTime(e,t){try{const i=new Intl.DateTimeFormat(t,{year:"numeric",month:"numeric",day:"numeric"}).format(e),r=new Intl.DateTimeFormat(t,{hour:"numeric",minute:"2-digit",second:"2-digit"}).format(e);return{date:normaliseDateTimeSpacing(i),time:normaliseDateTimeSpacing(r)}}catch{return{date:normaliseDateTimeSpacing(e.toLocaleDateString()),time:normaliseDateTimeSpacing(e.toLocaleTimeString())}}}function normaliseDateTimeSpacing(e){return e.replace(/[\u00a0\u202f]/g," ")}function resolvePageFurniture(e,t,i,r,n,o){const a=resolvePageFurnitureContent(e.header,t,i,r,n,o),l=resolvePageFurnitureContent(e.footer,t,i,r,n,o);return{header:a,footer:l,headerHeight:getPageFurnitureHeight(a),footerHeight:getPageFurnitureHeight(l)}}function resolvePageFurnitureContent(e,t,i,r,n,o){if(!e?.length)return[];const a=[],l=i.foreground??{r:0,g:0,b:0},c=i.pageBackground??i.dataBackground,u=["Left","Center","Right"],d=Math.min(e.length,3);for(let h=0;h<d;h++){const p=e[h],g=p.style,f=resolveFiniteNumber(g?.fontSize,DEFAULT_PAGE_TEXT_SIZE,Number.EPSILON),m=n.resolve(g?.fontFamily,g?.fontWeight??r.weight,g?.fontStyle??r.style,r.family),v=resolveFiniteNumber(g?.lineHeight,n.getNaturalLineHeight(f,m),Number.EPSILON),C=p.position??u[h];let y="left";C==="Center"?y="center":C==="Right"&&(y="right"),a.push({value:p.value??"",position:C,image:p.image?o.resolve(p.image):void 0,style:{fontSize:f,fontFamily:m.family,fontWeight:m.weight,fontStyle:m.style,font:m,fontRegistry:n,direction:g?.direction??t.direction??"auto",language:g?.language??t.language,lineHeight:v,maxLines:1,overflow:"ellipsis",alignment:y,alignmentExplicit:!0,padding:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0},textColor:resolveOptionalColor(g?.color,l,c)??l,borderWidth:0,wrapText:!1,preserveLineBreaks:!1,preserveSpaces:!1}})}return a}function getPageFurnitureHeight(e){let t=0;for(const i of e){const r=i.value?i.style.lineHeight:0;t=Math.max(t,r,i.image?.height??0)}return t?t+PAGE_FURNITURE_PADDING*2:0}function renderDocumentHeading(e,t,i,r,n,o,a){const l=Math.max(i.width-r.margin.left-r.margin.right,0),c=Math.max(l-o.margin.left-o.margin.right,0),u=Math.max(c-o.padding.left-o.padding.right,0);if(!c||!u)return t;const d=t-o.margin.top,h=Math.max(d-r.margin.bottom-o.margin.bottom,0),p=Math.max(h-o.padding.top-o.padding.bottom,0),g=Math.floor(p/o.lineHeight),f=constrainTextLines(measureTextLines(e,u,o),g,o,u);if(!f.length)return t;const m=f.length*o.lineHeight+o.padding.top+o.padding.bottom,v=d-m,C=r.margin.left+o.margin.left;o.backgroundColor&&(n.push(`${formatColor(o.backgroundColor)} rg`),n.push(`${fmt(C)} ${fmt(v)} ${fmt(c)} ${fmt(m)} re f`)),o.borderColor&&o.borderWidth>0&&(n.push(`${fmt(o.borderWidth)} w`),n.push(`${formatColor(o.borderColor)} RG`),n.push(`${fmt(C)} ${fmt(v)} ${fmt(c)} ${fmt(m)} re S`),n.push("0.5 w")),n.push(`${formatColor(o.textColor)} rg`),n.push("BT"),n.push(`/${o.font.key} ${fmt(o.fontSize)} Tf`);let y=d-o.padding.top-a.getBaselineOffset(o.fontSize,o.font);for(const S of f){const x=a.encodeText(S,o.font,o.direction,o.language),b=getTextX(S,C,c,o,a,x.direction);renderEncodedText(n,x,b,y,o),y-=o.lineHeight}return n.push("ET"),v-o.margin.bottom}function renderPageFurniture(e,t,i,r,n,o,a,l){if(!e.length||i<=0)return;const u=Math.max(r.width-n.margin.left-n.margin.right,0)/3;if(!(u<=0))for(const d of e){const h=d.style,p=resolvePagePlaceholders(d.value,a),g=d.image?constrainImageWidth(d.image,u):void 0,f=g?g.width+(p?g.gap:0):0,v=(p?measureTextLines(p,Math.max(u-f,0),h):[])[0];if(!v&&!g)continue;let C=0;d.position==="Center"?C=1:d.position==="Right"&&(C=2);const y=n.margin.left+u*C,S=v?l.measureText(v,h.fontSize,h.font,h.direction,h.language):0,x=Math.min(f+S,u);let b=y;d.position==="Center"?b+=(u-x)/2:d.position==="Right"&&(b+=u-x);const w=g?isImageOnRight(g,h,v??""):!1,P=w?b:b+f,F=t-(i-h.lineHeight)/2-l.getBaselineOffset(h.fontSize,h.font);if(g){const T=w?b+S+(v?g.gap:0):b,R=t-(i+g.height)/2;renderImage(o,g,T,R)}if(v){const T=l.encodeText(v,h.font,h.direction,h.language);o.push(`${formatColor(h.textColor)} rg`),o.push("BT"),o.push(`/${h.font.key} ${fmt(h.fontSize)} Tf`),renderEncodedText(o,T,P,F,h),o.push("ET")}}}function renderWatermark(e,t,i,r){const n=r.encodeText(e.text,e.font,e.direction,e.language),o=r.measureText(e.text,e.fontSize,e.font,e.direction,e.language),a=r.getBaselineOffset(e.fontSize,e.font),l=e.rotation*Math.PI/180,c=Math.cos(l),u=Math.sin(l),d=a-e.lineHeight/2,h=t.width/2,p=t.height/2,g=h-c*(o/2)+u*d,f=p-u*(o/2)-c*d;i.push("q"),i.push("/Artifact BMC"),e.graphicsState&&i.push(`/${e.graphicsState.key} gs`),i.push(`${formatColor(e.color)} rg`),i.push("BT"),i.push(`/${e.font.key} ${fmt(e.fontSize)} Tf`),renderRotatedEncodedText(i,n,e.fontSize,c,u,g,f,e),i.push("ET"),i.push("EMC"),i.push("Q")}function renderMeasuredRows(e,t,i,r,n,o){let a=t;for(const l of e){const c=measureRowFragment(l,void 0,l.rowHeight);c&&(a=renderRowFragment(c,a,i,r,n,o))}return a}function renderRowFragment(e,t,i,r,n,o){const a=e.row,l=t-e.height;let c=.5,u=i.margin.left,d=0;for(const h of e.cells){const p=h.measurement;if(p.covered){u+=p.width,d+=p.span;continue}const g=Math.max(t-i.margin.bottom,e.height),f=Math.min(p.renderHeight??e.height,g),m=t-f;c=renderCellBox(r,u,m,p.width,f,p.style,i.drawCellBorders,c),renderCellText(r,h.lines,u,t,m,p.width,f,p.style,o,p.hyperlink,n,p.image,p.imageOnRight??!1,p.rowSpan>1),h.showImage&&p.image&&renderCellImage(r,p.image,u,t,m,p.width,p.style,p.imageOnRight??!1),u+=p.width,d+=p.span}for(let h=d;h<i.columnCount;h++){const p=i.columnWidths[h];c=renderCellBox(r,u,l,p,e.height,a.defaultCellStyle,i.drawCellBorders,c),u+=p}return c!==.5&&r.push("0.5 w"),l}function renderCellBox(e,t,i,r,n,o,a,l){return o.backgroundColor&&(e.push(`${formatColor(o.backgroundColor)} rg`),e.push(`${fmt(t)} ${fmt(i)} ${fmt(r)} ${fmt(n)} re f`)),a&&o.borderColor&&o.borderWidth>0&&(o.borderWidth!==l&&(e.push(`${fmt(o.borderWidth)} w`),l=o.borderWidth),e.push(`${formatColor(o.borderColor)} RG`),e.push(`${fmt(t)} ${fmt(i)} ${fmt(r)} ${fmt(n)} re S`)),l}function renderCellText(e,t,i,r,n,o,a,l,c,u,d,h,p,g){const f=l.padding,m=h?h.width+(t.length?h.gap:0):0,v=p?i:i+m,C=Math.max(o-m,0),y=Math.max(C-f.left-f.right,0),S=Math.max(a-f.top-f.bottom,0);if(!t.length||!y||!S)return;const x=l.font.key;e.push("q"),e.push(`${fmt(v+f.left)} ${fmt(n+f.bottom)} ${fmt(y)} ${fmt(S)} re W n`),e.push("BT"),e.push(`${formatColor(l.textColor)} rg`),e.push(`/${x} ${fmt(l.fontSize)} Tf`);const b=t.length*l.lineHeight,w=g?Math.max((S-b)/2,0):0;let P=r-f.top-w,F=P-c.getBaselineOffset(l.fontSize,l.font);for(const T of t){const R=c.encodeText(T,l.font,l.direction,l.language),A=getTextX(T,v,C,l,c,R.direction);if(renderEncodedText(e,R,A,F,l),u&&T){const E=Math.min(c.measureText(T,l.fontSize,l.font,l.direction,l.language),y),_=Math.max(P-l.lineHeight,n+f.bottom),G=Math.min(A+E,v+C-f.right);G>A&&P>_&&d.push({uri:u,rect:[A,_,G,P]})}F-=l.lineHeight,P-=l.lineHeight}e.push("ET"),e.push("Q")}function renderCellImage(e,t,i,r,n,o,a,l){const c=a.padding,u=Math.max(r-n-c.top-c.bottom,0),d=Math.max(o-c.left-c.right,0);if(!u||!d)return;const h=l?i+o-c.right-t.width:i+c.left,p=n+c.bottom+(u-t.height)/2;e.push("q"),e.push(`${fmt(i+c.left)} ${fmt(n+c.bottom)} ${fmt(d)} ${fmt(u)} re W n`),renderImage(e,t,h,p),e.push("Q")}function renderImage(e,t,i,r){e.push("q"),e.push(t.altText?`/Span << /ActualText ${encodePdfUnicodeString(t.altText)} >> BDC`:"/Artifact BMC"),e.push(`${fmt(t.width)} 0 0 ${fmt(t.height)} ${fmt(i)} ${fmt(r)} cm /${t.resource.key} Do`),e.push("EMC"),e.push("Q")}function getTextX(e,t,i,r,n,o){const a=n.measureText(e,r.fontSize,r.font,r.direction,r.language),l=t+r.padding.left,c=t+i-r.padding.right-a,u=Math.max(i-r.padding.left-r.padding.right,0);let d=l;return r.alignment==="center"?d=l+(u-a)/2:(r.alignment==="right"||!r.alignmentExplicit&&o==="rtl")&&(d=l+u-a),Math.max(l,Math.min(d,c))}function renderEncodedText(e,t,i,r,n){const o=t.positionedGlyphs;if(!o){e.push(`1 0 0 1 ${fmt(i)} ${fmt(r)} Tm ${t.operatorValue} Tj`);return}e.push(`/Span << /ActualText ${encodePdfUnicodeString(t.logicalText)} >> BDC`);let a=n.font.key;e.push(`/${a} ${fmt(n.fontSize)} Tf`);let l=i,c=r;for(const u of o){u.fontKey!==a&&(a=u.fontKey,e.push(`/${a} ${fmt(n.fontSize)} Tf`));const d=l+u.xOffset*n.fontSize,h=c+u.yOffset*n.fontSize;e.push(`1 0 0 1 ${fmt(d)} ${fmt(h)} Tm ${u.operatorValue} Tj`),l+=u.xAdvance*n.fontSize,c+=u.yAdvance*n.fontSize}e.push("EMC")}function renderRotatedEncodedText(e,t,i,r,n,o,a,l){const c=t.positionedGlyphs;if(!c){e.push(`${fmt(r)} ${fmt(n)} ${fmt(-n)} ${fmt(r)} ${fmt(o)} ${fmt(a)} Tm ${t.operatorValue} Tj`);return}let u=l.font.key;e.push(`/${u} ${fmt(i)} Tf`);let d=0,h=0;for(const p of c){p.fontKey!==u&&(u=p.fontKey,e.push(`/${u} ${fmt(i)} Tf`));const g=d+p.xOffset*i,f=h+p.yOffset*i,m=o+r*g-n*f,v=a+n*g+r*f;e.push(`${fmt(r)} ${fmt(n)} ${fmt(-n)} ${fmt(r)} ${fmt(m)} ${fmt(v)} Tm ${p.operatorValue} Tj`),d+=p.xAdvance*i,h+=p.yAdvance*i}}var DEFAULT_WATERMARK_OPACITY=.12,DEFAULT_WATERMARK_ROTATION=-45,DEFAULT_WATERMARK_COLOR={r:128,g:128,b:128},WATERMARK_GRAPHICS_STATE_KEY="GSWatermark";function resolveWatermark(e,t,i,r,n){const o=e.watermark,a=o?.text.trim()??"",l=Math.max(0,Math.min(resolveFiniteNumber(o?.opacity,DEFAULT_WATERMARK_OPACITY),1));if(!a||l<=0)return;const c=o?.style,u=Math.min(t.width,t.height)/6,d=resolveFiniteNumber(c?.fontSize,u,Number.EPSILON),h=n.resolve(c?.fontFamily,c?.fontWeight??700,c?.fontStyle??r.style,r.family),p=resolveFiniteNumber(c?.lineHeight,n.getNaturalLineHeight(d,h),Number.EPSILON),g=i.pageBackground??i.dataBackground;return{text:a,opacity:l,rotation:resolveFiniteNumber(o?.rotation,DEFAULT_WATERMARK_ROTATION),pages:o?.pages??"all",fontSize:d,lineHeight:p,font:h,direction:c?.direction??e.direction??"auto",language:c?.language??e.language,color:resolveOptionalColor(c?.color,DEFAULT_WATERMARK_COLOR,g)??DEFAULT_WATERMARK_COLOR,graphicsState:l<1?{key:WATERMARK_GRAPHICS_STATE_KEY,opacity:l}:void 0}}function shouldRenderWatermark(e,t){return e.pages==="first"?t===1:e.pages==="odd"?t%2===1:e.pages==="even"?t%2===0:!0}var PdfObjectStore=class{constructor(){this.objects=[]}reserve(){return this.objects.push(""),this.objects.length}add(e){return this.objects.push(e),this.objects.length}set(e,t){this.objects[e-1]=t}build(e,t){let i=`%PDF-1.4
`;const r=[0],n=this.objects;for(let l=0;l<n.length;l++){const c=n[l],u=l+1;r[u]=i.length,i+=`${u} 0 obj
${c}
endobj
`}const o=i.length;i+=`xref
0 ${n.length+1}
`,i+=`0000000000 65535 f 
`;for(let l=1;l<=n.length;l++)i+=`${String(r[l]).padStart(10,"0")} 00000 n 
`;const a=[`/Size ${n.length+1}`,`/Root ${e} 0 R`];return t&&a.push(`/Info ${t} 0 R`),i+=`trailer
<< ${a.join(" ")} >>
`,i+=`startxref
${o}
%%EOF`,i}};function buildPdf(e,t,i,r,n,o=[],a=[]){const l=new PdfObjectStore,c=[],u=[],d=[];for(const w of i){const P=w.trueType?addTrueTypeFontResource(l,w):addBuiltInFontResource(l,w);c.push(`/${w.key} ${P} 0 R`)}for(const w of o){const P=Math.max(0,Math.min(w.opacity,1)),F=l.add(`<< /Type /ExtGState /ca ${fmt(P)} /CA ${fmt(P)} /BM /Normal >>`);u.push(`/${w.key} ${F} 0 R`)}for(const w of a){const P=addImageResource(l,w);d.push(`/${w.key} ${P} 0 R`)}const h=l.reserve(),p=[],g=`<< ${c.join(" ")} >>`,f=u.length?` /ExtGState << ${u.join(" ")} >>`:"",m=d.length?` /XObject << ${d.join(" ")} >>`:"";for(const w of e){const P=w.content,F=`<< /Length ${P.length} >>
stream
${P}
endstream`,T=l.add(F),R=[];for(const G of w.annotations){const[D,k,B,O]=G.rect,W=`${fmt(D)} ${fmt(k)} ${fmt(B)} ${fmt(O)}`,U=escapePdfString(encodePdfUri(G.uri)),X=l.add(`<< /Type /Annot /Subtype /Link /Rect [${W}] /Border [0 0 0] /A << /S /URI /URI (${U}) >> >>`);R.push(`${X} 0 R`)}const A=R.length?` /Annots [${R.join(" ")}]`:"",E=`<< /Type /Page /Parent ${h} 0 R /MediaBox [0 0 ${fmt(t.width)} ${fmt(t.height)}] /Resources << /Font ${g}${f}${m} >> /Contents ${T} 0 R${A} >>`,_=l.add(E);p.push(_)}const v=[];for(const w of p)v.push(`${w} 0 R`);l.set(h,`<< /Type /Pages /Kids [${v.join(" ")}] /Count ${p.length} >>`);const C=n?.trim(),y=C?` /Lang (${escapePdfString(C)})`:"",S=l.add(`<< /Type /Catalog /Pages ${h} 0 R${y} >>`),x=r?.trim()??"",b=x.length?l.add(`<< /Title ${encodePdfMetadataString(x)} >>`):void 0;return l.build(S,b)}function addImageResource(e,t){let i;if(t.alpha){const a=encodeAsciiHex(t.alpha);i=e.add(`<< /Type /XObject /Subtype /Image /Width ${t.width} /Height ${t.height} /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /ASCIIHexDecode /Length ${a.length} >>
stream
${a}
endstream`)}const r=encodeAsciiHex(t.data),n=t.filter?`/Filter [/ASCIIHexDecode /${t.filter}]`:"/Filter /ASCIIHexDecode",o=i?` /SMask ${i} 0 R`:"";return e.add(`<< /Type /XObject /Subtype /Image /Width ${t.width} /Height ${t.height} /ColorSpace /${t.colorSpace} /BitsPerComponent ${t.bitsPerComponent} ${n}${o} /Length ${r.length} >>
stream
${r}
endstream`)}function encodePdfMetadataString(e){return/^[\x20-\x7e]*$/.test(e)?`(${escapePdfString(e)})`:encodePdfUnicodeString(e)}function addBuiltInFontResource(e,t){const i=t.builtInFamily??"Helvetica";return e.add(`<< /Type /Font /Subtype /Type1 /BaseFont /${i} /Encoding /WinAnsiEncoding >>`)}function addTrueTypeFontResource(e,t){const i=t.trueType,r=i.canSubset?`AGGRID+${i.postScriptName}`:i.postScriptName,n=i.createSubset(Array.from(t.mappingByCid.values(),C=>C.glyphId)),o=encodeAsciiHex(n),a=e.add(`<< /Length ${o.length} /Length1 ${n.length} /Filter /ASCIIHexDecode >>
stream
${o}
endstream`),l=1e3/i.unitsPerEm,c=i.bbox.map(C=>fmt(C*l)).join(" "),u=t.style==="normal"&&!i.italicAngle?4:68,d=e.add(`<< /Type /FontDescriptor /FontName /${r} /Flags ${u} /FontBBox [${c}] /ItalicAngle ${fmt(i.italicAngle)} /Ascent ${fmt(i.ascent*l)} /Descent ${fmt(i.descent*l)} /CapHeight ${fmt(i.capHeight*l)} /StemV 80 /FontWeight ${t.weight} /FontFile2 ${a} 0 R >>`),h=createCidWidths(t),p=createCidToGidMap(t),g=e.add(`<< /Length ${p.length} /Filter /ASCIIHexDecode >>
stream
${p}
endstream`),f=e.add(`<< /Type /Font /Subtype /CIDFontType2 /BaseFont /${r} /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> /FontDescriptor ${d} 0 R /DW 1000${h?` /W [${h}]`:""} /CIDToGIDMap ${g} 0 R >>`),m=createToUnicodeCMap(t),v=e.add(`<< /Length ${m.length} >>
stream
${m}
endstream`);return e.add(`<< /Type /Font /Subtype /Type0 /BaseFont /${r} /Encoding /Identity-H /DescendantFonts [${f} 0 R] /ToUnicode ${v} 0 R >>`)}function createCidWidths(e){const t=e.trueType,i=Array.from(e.mappingByCid.entries()).sort(([o],[a])=>o-a),r=[],n=1e3/t.unitsPerEm;for(const[o,a]of i)r.push(`${o} [${fmt(t.getAdvanceWidth(a.glyphId)*n)}]`);return r.join(" ")}function createToUnicodeCMap(e){const t=[];for(const[r,n]of e.mappingByCid)n.unicode&&t.push(`<${toHex(r,4)}> ${encodePdfUnicodeString(n.unicode,!1)}`);const i=["/CIDInit /ProcSet findresource begin","12 dict begin","begincmap","/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> def","/CMapName /Adobe-Identity-UCS def","/CMapType 2 def","1 begincodespacerange","<0000> <FFFF>","endcodespacerange"];for(let r=0;r<t.length;r+=100){const n=t.slice(r,r+100);i.push(`${n.length} beginbfchar`,...n,"endbfchar")}return i.push("endcmap","CMapName currentdict /CMap defineresource pop","end","end"),i.join(`
`)}function createCidToGidMap(e){const t=e.mappingByCid.size,i=new Uint8Array((t+1)*2),r=new DataView(i.buffer);for(const[n,o]of e.mappingByCid)r.setUint16(n*2,o.glyphId,!1);return encodeAsciiHex(i)}function toHex(e,t){return e.toString(16).toUpperCase().padStart(t,"0")}function encodePdfUri(e){return encodeURI(replaceUnpairedSurrogates(e)).replace(/%25([0-9a-f]{2})/gi,"%$1")}function replaceUnpairedSurrogates(e){let t="";for(let i=0;i<e.length;i++){const r=e.charCodeAt(i);if(r>=55296&&r<=56319){const n=e.charCodeAt(i+1);n>=56320&&n<=57343?(t+=e[i]+e[i+1],i++):t+="\uFFFD"}else r>=56320&&r<=57343?t+="\uFFFD":t+=e[i]}return t}var DEFAULTS={fontSize:10,headerFontSize:11,cellPadding:4,repeatHeader:!0,drawCellBorders:!0,rowGroupIndentSize:12};function createPdfDocument(e,t,i){const r=i.page,n=resolvePageSize(r?.size,r?.orientation),o=resolveMargin(r?.margin),a=resolvePdfStyleColors(i.colors),l=new PdfFontRegistry(i.fonts),c=new PdfImageRegistry,u=t.length||Math.max(getMaxColumnCount(e),1),d=Math.max(n.width-o.left-o.right,0),h=i.defaultCellStyle,p=mergePdfCellStyles(h,i.defaultHeaderStyle),g=resolveFiniteNumber(h?.fontSize,DEFAULTS.fontSize,Number.EPSILON),f=resolveFiniteNumber(p?.fontSize,DEFAULTS.headerFontSize,Number.EPSILON),m=i.repeatHeader??DEFAULTS.repeatHeader,v=i.drawCellBorders??DEFAULTS.drawCellBorders,C=resolveFiniteNumber(i.rowGroupIndentSize,DEFAULTS.rowGroupIndentSize),y=l.resolve(h?.fontFamily,h?.fontWeight,h?.fontStyle),S=l.resolve(p?.fontFamily??y.family,p?.fontWeight??700,p?.fontStyle??y.style,y.family),x=resolveDocumentHeading(i.documentTitle,i.documentTitleStyle,"title",i,a,S,l,DEFAULTS.headerFontSize),b=resolveDocumentHeading(i.documentSubtitle,i.documentSubtitleStyle,"subtitle",i,a,y,l,DEFAULTS.headerFontSize),w=x?.text??"",P=resolvePageFurnitureConfig(i.headerFooterConfig,i,a,y,l,c),F=getPageDateTime(new Date,i.language),T=resolveWatermark(i,n,a,y,l),R=getRepeatableHeaderRows(e),A={columnCount:u,columnWidths:getGridColumnWidths(t,u),margin:o,drawCellBorders:v,fontSize:g,headerFontSize:f,cellPadding:DEFAULTS.cellPadding,defaultCellStyle:h,defaultHeaderStyle:p,rowHeight:resolveOptionalFiniteNumber(i.rowHeight,Number.EPSILON),headerRowHeight:resolveOptionalFiniteNumber(i.headerRowHeight,Number.EPSILON),rowGroupIndentSize:C,fontRegistry:l,language:i.language,direction:i.direction,imageRegistry:c},E=resolveRequestedColumnWidths(t,u,i.columnWidth),_=E.map(columnNeedsAutoWidth),G=_.includes(!0)?getAutoColumnWidths(e,A,y,S,a,_):void 0,D=getColumnWidths(t,u,d,E,G),k={...A,columnWidths:D},B=[],O=[],W=new Set(R);let U=0;for(const H of e){const K=measureRow(H,k,y,S,a,U);B.push(K),W.has(H)&&O.push(K),H.type==="BODY"&&(U+=1)}const X=resolveHeaderRowSpans(O);let L=0;for(const H of O)L+=H.rowHeight;const M=[],$=[];let V=[],I=[],N=0,z={header:[],footer:[],headerHeight:0,footerHeight:0},q=k,Z=Math.max(n.height-o.top-o.bottom,0),Y=n.height-o.top,J=!1;const re=H=>{V.length>H&&(J=!0)},te=H=>{J&&(M.push({content:V.join(`
`),annotations:I}),$.push(z)),N+=1,z=getPageFurnitureForPage(P,N);const K=Math.max((n.height-o.top-o.bottom)/2,0),Q=z.headerHeight+z.footerHeight;if(Q>K){const j=K/Q;z={...z,headerHeight:z.headerHeight*j,footerHeight:z.footerHeight*j}}if(q={...k,margin:{...k.margin,top:k.margin.top+z.headerHeight,bottom:k.margin.bottom+z.footerHeight}},Z=Math.max(n.height-q.margin.top-q.margin.bottom,0),V=["0.5 w"],I=[],J=!1,a.pageBackground&&(V.push(`${formatColor(a.pageBackground)} rg`),V.push(`0 0 ${fmt(n.width)} ${fmt(n.height)} re f`)),Y=n.height-q.margin.top,N===1){if(x){const j=V.length;Y=renderDocumentHeading(x.text,Y,n,q,V,x.style,l),re(j)}if(b){const j=V.length;Y=renderDocumentHeading(b.text,Y,n,q,V,b.style,l),re(j)}}if(H&&O.length){const j=V.length;Y=renderMeasuredRows(O,Y,q,V,I,l),re(j)}};te(!1),i.coverPage&&J&&te(!1);const se=H=>{const K=getPageFurnitureForPage(P,H);return Math.max(n.height-o.top-o.bottom-K.headerHeight-K.footerHeight,0)},oe=(H,K)=>{if(!m||H.type!=="BODY"||!O.length)return!1;const Q=se(N+1),j=Q-L;return!K&&H.rowHeight<=Q&&H.rowHeight>j?!1:j>0&&!!measureRowFragment(H,K,j)};for(const H of B){if(H===O[0]&&(m||X)){const j=Math.max(Y-q.margin.bottom,0);J&&L>j&&L<=se(N+1)&&te(!1)}let K,Q=!1;for(;!Q;){let j=Math.max(Y-q.margin.bottom,0);const ne=J?se(N+1):Z,le=H.fixedHeight?Math.min(H.rowHeight,ne):H.rowHeight;!K&&J&&le<=ne&&le>j&&(te(oe(H,K)),j=Math.max(Y-q.margin.bottom,0));let ie=measureRowFragment(H,K,j);!ie&&J&&(te(oe(H,K)),j=Math.max(Y-q.margin.bottom,0),ie=measureRowFragment(H,K,j)),ie||(ie=measureClampedRowFragment(H,K,j));const de=V.length;Y=renderRowFragment(ie,Y,q,V,I,l),re(de),Q=ie.complete,K=ie.nextState,Q||te(oe(H,K))}}(J||!M.length)&&(M.push({content:V.join(`
`),annotations:I}),$.push(z));const ae=M.length;for(let H=0;H<ae;H++){if(T&&shouldRenderWatermark(T,H+1)){const ne=[];renderWatermark(T,n,ne,l),M[H].content+=`
${ne.join(`
`)}`}const K=$[H],Q=[],j={pageNumber:H+1,totalPages:ae,...F};renderPageFurniture(K.header,n.height-o.top,K.headerHeight,n,k,Q,j,l),renderPageFurniture(K.footer,o.bottom+K.footerHeight,K.footerHeight,n,k,Q,j,l),Q.length&&(M[H].content+=`
${Q.join(`
`)}`)}return buildPdf(M,n,l.getUsedFonts(),w,i.language,T?.graphicsState?[T.graphicsState]:[],c.getResources())}function readStyleValue(e,t){for(const i of t){const r=e[i];if(r!=null)return r}}function readStyleString(e,t){const i=readStyleValue(e,t);return i==null?void 0:String(i).trim()||void 0}function parseCssNumber(e){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;const t=String(e).trim().match(/^-?\d+(?:\.\d+)?/);if(!t)return;const i=Number.parseFloat(t[0]);return Number.isFinite(i)?i:void 0}function resolvePaddingStyle(e){const t=parseCssNumber(readStyleValue(e,["padding"])),i=parseCssNumber(readStyleValue(e,["paddingTop","padding-top"])),r=parseCssNumber(readStyleValue(e,["paddingRight","padding-right"])),n=parseCssNumber(readStyleValue(e,["paddingBottom","padding-bottom"])),o=parseCssNumber(readStyleValue(e,["paddingLeft","padding-left"]));if(i==null&&r==null&&n==null&&o==null)return t;const a={};return i!=null&&(a.top=i),r!=null&&(a.right=r),n!=null&&(a.bottom=n),o!=null&&(a.left=o),Object.keys(a).length?a:void 0}function resolveWhiteSpaceStyle(e){const t=readStyleString(e,["whiteSpace","white-space"])?.toLowerCase(),i=readStyleString(e,["whiteSpaceCollapse","white-space-collapse"])?.toLowerCase(),r=readStyleString(e,["textWrapMode","text-wrap-mode"])?.toLowerCase(),n={};return t&&(t==="normal"?(n.wrapText=!0,n.preserveLineBreaks=!1,n.preserveSpaces=!1):t==="nowrap"?(n.wrapText=!1,n.preserveLineBreaks=!1,n.preserveSpaces=!1):t==="pre"?(n.wrapText=!1,n.preserveLineBreaks=!0,n.preserveSpaces=!0):t==="pre-line"?(n.wrapText=!0,n.preserveLineBreaks=!0,n.preserveSpaces=!1):(t==="pre-wrap"||t==="break-spaces")&&(n.wrapText=!0,n.preserveLineBreaks=!0,n.preserveSpaces=!0)),i==="preserve"||i==="preserve-breaks"||i==="break-spaces"?(n.preserveLineBreaks=!0,n.preserveSpaces=i!=="preserve-breaks"):i==="collapse"&&(n.preserveLineBreaks=!1,n.preserveSpaces=!1),(r==="wrap"||r==="nowrap")&&(n.wrapText=r==="wrap"),Object.keys(n).length?n:void 0}var BORDER_STYLE_VALUES=new Set(["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"]);function resolveCssColorValue(e,t){return e?t?.(e)??e:void 0}function readResolvedStyleColor(e,t,i){return resolveCssColorValue(readStyleString(e,t),i)}function extractBorderColor(e){if(!e)return;const t=e.trim(),i=t.match(/(var\([^)]+\)|(?:rgb|hsl)a?\([^)]+\)|color\([^)]+\))\s*$/i);if(i)return i[1];const r=t.match(/(#[0-9a-fA-F]{3,8}|[a-zA-Z]+)\s*$/);if(!r)return;const n=r[1];if(!BORDER_STYLE_VALUES.has(n.toLowerCase()))return n}function resolvePdfCellStyleColors(e,t){if(!e)return;const i={...e};return e.color?i.color=resolveCssColorValue(e.color,t):delete i.color,e.backgroundColor?i.backgroundColor=resolveCssColorValue(e.backgroundColor,t):delete i.backgroundColor,e.borderColor?i.borderColor=resolveCssColorValue(e.borderColor,t):delete i.borderColor,i}var SUPPORTED_URI_SCHEMES=new Set(["http","https","mailto","tel"]);function normaliseHyperlink(e){if(typeof e!="string")return;const t=e.trim(),i=/^([a-z][a-z\d+.-]*):/i.exec(t)?.[1].toLowerCase();return i&&SUPPORTED_URI_SCHEMES.has(i)?e:void 0}function resolveTextAlignment(e){if(e){if(e.startsWith("center"))return"center";if(e.startsWith("right")||e.startsWith("end"))return"right";if(e.startsWith("left")||e.startsWith("start"))return"left"}}function resolveFontFamily(e){return mapFontFamily(e)}function resolveFontWeight(e){if(e==null)return;if(typeof e=="number")return toPdfFontWeight(e);const t=String(e).trim().toLowerCase();if(t==="bold"||t==="bolder")return"bold";if(t==="normal")return"normal";if(t==="lighter")return 300;if(/^\d+(?:\.\d+)?$/.test(t))return toPdfFontWeight(Number.parseFloat(t))}function mapFontFamily(e){if(!e)return;const t=e.split(",")[0].trim().replace(/(^["'])|(["']$)/g,"").toLowerCase();return t.includes("helvetica-bold")?"Helvetica-Bold":t==="helvetica"||t==="arial"||t==="sans-serif"||t==="system-ui"?"Helvetica":t.includes("times-bold")?"Times-Bold":t.includes("times")||t==="serif"?"Times-Roman":t.includes("courier-bold")?"Courier-Bold":t.includes("courier")||t==="monospace"?"Courier":t}function toPdfFontWeight(e){return Number.isFinite(e)?Math.min(Math.max(Math.round(e/100)*100,100),900):void 0}function mapCssStylesToPdfStyle(e,t){const i={};for(const C of e)C&&Object.assign(i,C);if(!Object.keys(i).length)return;const r={},n=readResolvedStyleColor(i,["color"],t);n&&(r.color=n);const o=readResolvedStyleColor(i,["backgroundColor","background-color","background"],t);o&&(r.backgroundColor=o);const a=readResolvedStyleColor(i,["borderColor","border-color"],t)??resolveCssColorValue(extractBorderColor(readStyleString(i,["border","border-top"])),t);a&&(r.borderColor=a);const l=parseCssNumber(readStyleValue(i,["borderWidth","border-width"]))??parseCssNumber(readStyleString(i,["border","border-top"]));l!=null&&(r.borderWidth=l);const c=parseCssNumber(readStyleValue(i,["fontSize","font-size"]));c!=null&&(r.fontSize=c);const u=parseCssNumber(readStyleValue(i,["lineHeight","line-height"]));u!=null&&(r.lineHeight=u);const d=resolveFontFamily(readStyleString(i,["fontFamily","font-family"]));d&&(r.fontFamily=d);const h=resolveFontWeight(readStyleValue(i,["fontWeight","font-weight"]));h&&(r.fontWeight=h);const p=readStyleString(i,["fontStyle","font-style"])?.toLowerCase();(p==="normal"||p==="italic"||p==="oblique")&&(r.fontStyle=p);const g=readStyleString(i,["direction"])?.toLowerCase();(g==="ltr"||g==="rtl")&&(r.direction=g);const f=resolveTextAlignment(readStyleString(i,["textAlign","text-align"]));f&&(r.alignment=f);const m=resolvePaddingStyle(i);m!=null&&(r.padding=m);const v=resolveWhiteSpaceStyle(i);return v&&Object.assign(r,v),Object.keys(r).length?r:void 0}var PdfSerializingSession=class extends import_ag_grid_community130.BaseGridSerializingSession{constructor(e){super(e),this.config=e,this.useGridHeaderLayout=!0,this.rows=[],this.columnsToExport=[],this.rowIndex=0,this.bodyRowIndex=-1}prepare(e){super.prepare(e),this.columnsToExport=[...e]}addCustomContent(e){if(e){if(typeof e=="string"){const t=Math.max(this.columnsToExport.length-1,0),i=e.split(/\r?\n/);for(const r of i)this.createRow("CUSTOM").cells.push({value:r,mergeAcross:t||void 0,elementType:"custom"});return}for(const t of e){const i=this.createRow("CUSTOM"),r=Math.max(this.columnsToExport.length,1);let n=0;for(const o of t){if(n>=r)break;const a=o?.mergeAcross,l=typeof a=="number"&&Number.isFinite(a)?Math.max(Math.floor(a),0):0,c=Math.min(l,r-n-1);i.cells.push({value:String(o?.data?.value??""),hyperlink:normaliseHyperlink(o?.data?.hyperlink),image:o?.data?.image,mergeAcross:c||void 0,style:resolvePdfCellStyleColors(o?.style,this.config.resolveColor),elementType:"custom"}),n+=c+1}}}}onNewHeaderGroupingRow(){const e=this.createRow("HEADER_GROUPING");return{onCell:this.createHeaderCellAccumulator(e)}}onNewHeaderRow(){const e=this.createRow("HEADER");return{onCell:this.createHeaderCellAccumulator(e)}}createHeaderCellAccumulator(e){return t=>{if(t.type==="covered"){e.cells.push({value:"",covered:!0});return}if(t.type==="column"){const n=t.column,o=this.extractHeaderValue(n);e.cells.push({value:o,mergeDown:t.rowSpan>1?t.rowSpan-1:void 0,elementType:"header",sourceColumn:n,style:mergePdfCellStyles(this.resolveColumnHeaderPdfStyle(n),this.resolveCallbackPdfStyle({type:"header",accumulatedRowIndex:this.rowIndex,value:o,column:n}))});return}const i=t.column,r=i?this.extractGroupHeaderValue(i):"";e.cells.push({value:r,mergeAcross:t.columnSpan>1?t.columnSpan-1:void 0,elementType:"groupheader",sourceColumn:i,style:i?mergePdfCellStyles(this.resolveColumnGroupHeaderPdfStyle(i),this.resolveCallbackPdfStyle({type:"groupheader",accumulatedRowIndex:this.rowIndex,value:r,column:i})):void 0})}}onNewBodyRow(e){const t=this.createRow("BODY",e),i=this.rowIndex,r=this.columnsToExport.length;let n=0,o=!1;return{onColumn:(a,l,c)=>{if(n>0){n-=1;return}const u=c??e;if(!u){t.cells.push({value:"",elementType:"cell",sourceColumn:a});return}const d=Math.max(u.uiLevel??u.level??0,0),h=this.isFullWidthGroupCell(u,l),p=this.isRowGroupCell(a,u,h);t.sourceNode||(t.sourceNode=u,t.rowPinned=u.rowPinned,t.groupLevel=d),o||(t.style=mergePdfCellStyles(this.resolveRowPdfStyle(u),this.resolveCallbackPdfStyle({type:"row",accumulatedRowIndex:i,value:u.data,node:u})),o=!0);const g=this.resolveCellPdfStyle(a,u),f=this.extractPdfRowCellValue(a,u,l,i,p,h),m=String(f.valueFormatted??f.value??""),v=this.resolveCellImage(m,a,u,i),C=v?String(v.value??""):m,y=mergePdfCellStyles(g,this.resolveCallbackPdfStyle({type:p?"rowgroup":"cell",accumulatedRowIndex:i,value:C,node:u,column:a})),S=Math.max(r-l,1),x=Math.min(a.getColSpan(u),S),b=x>1?x-1:void 0;b&&(n=b),t.cells.push({value:C,hyperlink:this.resolveCellHyperlink(C,a,u,i),image:v?.image,mergeAcross:b,style:y,elementType:p?"rowgroup":"cell",sourceColumn:a,sourceNode:u,groupLevel:d})}}}parse(){if(this.config.direction!=="rtl")return createPdfDocument(this.rows,this.columnsToExport,this.config);const e=this.rows.map(i=>({...i,cells:[...i.cells].reverse()})),t=[...this.columnsToExport].reverse();return createPdfDocument(e,t,this.config)}createRow(e,t){this.rowIndex+=1,e==="BODY"&&(this.bodyRowIndex+=1);const i={type:e,cells:[],sourceNode:t,rowPinned:t?.rowPinned,groupLevel:t?Math.max(t.uiLevel??t.level??0,0):void 0};return this.rows.push(i),i}resolveRowPdfStyle(e){if(this.shouldSkipGridStyles())return;const t=this.gos.get("rowStyle"),i=this.gos.getCallback("getRowStyle"),r=this.getNodeRowIndex(e),n=i?.({data:e.data,node:e,rowIndex:r});return mapCssStylesToPdfStyle([t,n],this.config.resolveColor)}extractPdfRowCellValue(e,t,i,r,n,o){if(n&&!this.processCellCallback&&!this.processRowGroupCallback){const{value:a,valueFormatted:l}=this.valueSvc.getValueForDisplay({column:o?void 0:e,node:t,includeValueFormatted:!0,exporting:!0,from:this.valueFrom,transformValues:this.transformValues});return{value:a??"",valueFormatted:l}}return this.extractRowCellValue({column:e,node:t,currentColumnIndex:i,accumulatedRowIndex:r,type:"pdf",useRawFormula:!1})}resolveCellPdfStyle(e,t){if(this.shouldSkipGridStyles())return;const i=e.getColDef(),r=i.cellStyle;if(!r&&i.wrapText==null)return;const n=this.getNodeRowIndex(t);let o;if(typeof r=="function"){const l=this.valueSvc.getDisplayValue(e,t,this.valueFrom,this.transformValues),c=(0,import_ag_grid_community130._addGridCommonParams)(this.gos,{data:t.data,node:t,rowIndex:n,value:l,column:e,colDef:i});o=r(c)}else o=r;const a=i.wrapText==null?void 0:{wrapText:i.wrapText};return mergePdfCellStyles(a,mapCssStylesToPdfStyle([o],this.config.resolveColor))}resolveColumnHeaderPdfStyle(e){const t=e.getColDef();return mergePdfCellStyles(this.resolveHeaderPdfStyle(t.headerStyle,{colDef:t,column:e,floatingFilter:!1}),this.shouldSkipGridStyles()||t.wrapHeaderText==null?void 0:{wrapText:t.wrapHeaderText})}resolveColumnGroupHeaderPdfStyle(e){const t=e.getColGroupDef();if(t)return mergePdfCellStyles(this.resolveHeaderPdfStyle(t.headerStyle,{colDef:t,columnGroup:e,floatingFilter:!1}),this.shouldSkipGridStyles()||t.wrapHeaderText==null?void 0:{wrapText:t.wrapHeaderText})}resolveHeaderPdfStyle(e,t){if(!e||this.shouldSkipGridStyles())return;const i=typeof e=="function"?e((0,import_ag_grid_community130._addGridCommonParams)(this.gos,t)):e;return mapCssStylesToPdfStyle([i],this.config.resolveColor)}getNodeRowIndex(e){return e.rowIndex??Math.max(this.bodyRowIndex,0)}resolveCallbackPdfStyle(e){const t=this.config.processStyleCallback;if(!t)return;const i=t((0,import_ag_grid_community130._addGridCommonParams)(this.gos,e));return resolvePdfCellStyleColors(i,this.config.resolveColor)}resolveCellHyperlink(e,t,i,r){const n=this.config.processCellHyperlinkCallback;if(!n)return;const o={value:e,accumulatedRowIndex:r,node:i,column:t};return normaliseHyperlink(n((0,import_ag_grid_community130._addGridCommonParams)(this.gos,o)))}resolveCellImage(e,t,i,r){const n=this.config.addImageToCell;if(!n)return;const o={value:e,accumulatedRowIndex:r,node:i,column:t};return n((0,import_ag_grid_community130._addGridCommonParams)(this.gos,o))??void 0}isRowGroupCell(e,t,i){return this.gos.get("treeData")||t.group?e.isRowGroupDisplayed(t.rowGroupColumn?.getColId()??"")||i:!1}isFullWidthGroupCell(e,t){return t===0&&(0,import_ag_grid_community130._isFullWidthGroupRow)(this.gos,e,this.colModel.pivotMode)}shouldSkipGridStyles(){return this.config.skipGridStyles===!0}},import_ag_stack97=require("ag-stack"),import_ag_grid_community131=require("ag-grid-community"),PDF_COLOR_KEYS=["backgroundColor","dataBackgroundColor","oddRowBackgroundColor","foregroundColor","headerBackgroundColor","headerTextColor","borderColor"];function mergeDocumentHeadingStyle(e,t){return!e||!t?t??e:{...e,...t}}function resolveDocumentHeadingStyleColors(e,t){return e&&{...e,color:t(e.color),backgroundColor:t(e.backgroundColor),borderColor:t(e.borderColor)}}function mergeHeaderFooterConfig(e,t){if(!e||!t)return t??e;const i={};for(const r of["all","first","even"]){const n=e[r],o=t[r];(n||o)&&(i[r]={...n,...o})}return i}function resolveHeaderFooterConfigColors(e,t){if(!e)return e;const i={};for(const r of["all","first","even"]){const n=e[r];n&&(i[r]=resolveHeaderFooterColors(n,t))}return i}function mergeWatermark(e,t){return!e||!t?t??e:{...e,...t,style:{...e.style??{},...t.style??{}}}}function resolveWatermarkColors(e,t){return e?.style?{...e,style:{...e.style,color:t(e.style.color)}}:e}function resolveHeaderFooterColors(e,t){return{header:resolveHeaderFooterContentColors(e.header,t),footer:resolveHeaderFooterContentColors(e.footer,t)}}function resolveHeaderFooterContentColors(e,t){return e&&e.map(i=>({...i,style:i.style?{...i.style,color:t(i.style.color)}:void 0}))}function resolvePdfColors(e,t,i,r){const n={...e,...t,...i},o=t?.dataBackgroundColor!=null||i?.dataBackgroundColor!=null,a=t?.oddRowBackgroundColor!=null||i?.oddRowBackgroundColor!=null,l=e.oddRowBackgroundColor==null||e.oddRowBackgroundColor===e.dataBackgroundColor,c=o&&!a&&l;n.oddRowBackgroundColor=c?n.dataBackgroundColor:n.oddRowBackgroundColor;for(const u of PDF_COLOR_KEYS){const d=n[u];d&&(n[u]=r(d)??d)}return n}function getThemePdfColors(e){if(!e||typeof getComputedStyle!="function")return{};const t=getComputedStyle(e),i={};for(const o of PDF_COLOR_KEYS){const a=(0,import_ag_stack97.paramToVariableName)(o),l=t.getPropertyValue(a).trim();if(!l)continue;const c=resolveCssColor(l,e);c&&(i[o]=c)}const r=getElementStyleColor(e,".ag-header","color");r&&(i.headerTextColor=r);const n=getElementStyleColor(e,".ag-header","backgroundColor");return n&&(i.headerBackgroundColor=n),i}function resolveThemeColorValue(e,t){return resolveCssColorValue(e,i=>i&&resolveCssColor(i,t)||void 0)}function resolveCssColor(e,t){if(typeof document>"u"||!t||typeof getComputedStyle!="function")return e;const i=(0,import_ag_grid_community131._createElement)({tag:"span"}),r=/\bvar\(/i.test(e);if(i.style.color=e,!i.style.color&&!r)return"";i.style.position="absolute",i.style.left="-99999px",i.style.top="-99999px",i.style.visibility="hidden",t.appendChild(i);const n=getComputedStyle(i).color;return i.remove(),n||""}function getElementStyleColor(e,t,i){if(!e||typeof getComputedStyle!="function")return;const r=e.querySelector(t);if(!r)return;const n=getComputedStyle(r)[i].trim();if(!(!n||isTransparentColorValue(n)))return n}var PdfCreator=class extends import_ag_grid_community132.BaseCreator{constructor(){super(...arguments),this.beanName="pdfCreator"}getMergedParams(e){const t=this.gos.get("defaultPdfExportParams"),i=this.getResolveColorValueFn(),r={...t??{},...e??{}};r.direction??(r.direction=this.gos.get("enableRtl")?"rtl":"ltr"),r.colors=resolvePdfColors(getThemePdfColors(this.beans.eRootDiv),t?.colors,e?.colors,i),t?.page&&e?.page&&(r.page={...t.page,...e.page}),r.defaultCellStyle=resolvePdfCellStyleColors(mergePdfCellStyles(t?.defaultCellStyle,e?.defaultCellStyle),i),r.defaultHeaderStyle=resolvePdfCellStyleColors(mergePdfCellStyles(t?.defaultHeaderStyle,e?.defaultHeaderStyle),i);const n=mergeDocumentHeadingStyle(t?.documentTitleStyle,e?.documentTitleStyle);r.documentTitleStyle=resolveDocumentHeadingStyleColors(n,i);const o=mergeDocumentHeadingStyle(t?.documentSubtitleStyle,e?.documentSubtitleStyle);r.documentSubtitleStyle=resolveDocumentHeadingStyleColors(o,i);const a=mergeHeaderFooterConfig(t?.headerFooterConfig,e?.headerFooterConfig);r.headerFooterConfig=resolveHeaderFooterConfigColors(a,i);const l=mergeWatermark(t?.watermark,e?.watermark);return r.watermark=resolveWatermarkColors(l,i),r}export(e){if(this.isExportSuppressed()){this.warn(160);return}this.runExport(()=>{const t=this.getMergedParams(e),i=this.createPdfBlob(t);i&&(0,import_ag_stack98._downloadFile)(this.resolveFileName(t),i)})}exportDataAsPdf(e){this.export(e)}getDataAsPdf(e){if(this.isExportSuppressed()){this.warn(160);return}return this.createPdfBlob(this.getMergedParams(e))}createPdfBlob(e){try{const t=this.getData(e);return new Blob([t],{type:e.mimeType||"application/pdf"})}catch(t){if(t instanceof PdfFontFamilyNotRegisteredError){this.error(330,{fontFamily:t.family,registeredFamilies:t.registeredFamilies});return}throw t}}getDefaultFileExtension(){return"pdf"}createSerializingSession(e){const{colModel:t,colNames:i,rowGroupColsSvc:r,valueSvc:n,gos:o,log:a}=this.beans,{processCellCallback:l,processHeaderCallback:c,processGroupHeaderCallback:u,processRowGroupCallback:d}=e??{},h=this.getResolveColorValueFn();return new PdfSerializingSession({...e,colModel:t,colNames:i,rowGroupColsSvc:r,valueSvc:n,gos:o,log:a,resolveColor:h,processCellCallback:l||void 0,processHeaderCallback:c||void 0,processGroupHeaderCallback:u||void 0,processRowGroupCallback:d||void 0})}isExportSuppressed(){return this.gos.get("suppressPdfExport")}getResolveColorValueFn(){const{eRootDiv:e}=this.beans,t=new Map;return i=>{if(!i)return;const r=t.get(i);if(r!==void 0||t.has(i))return r;const n=resolveThemeColorValue(i,e);return t.set(i,n),n}}};function getDataAsPdf(e,t){return e.pdfCreator?.getDataAsPdf(t)}function exportDataAsPdf(e,t){e.pdfCreator?.exportDataAsPdf(t)}var PdfExportModule={moduleName:"PdfExport",version:VERSION,beans:[PdfCreator],apiFunctions:{getDataAsPdf,exportDataAsPdf},dependsOn:[import_ag_grid_community133._SharedExportModule,EnterpriseCoreModule]},import_ag_grid_community140=require("ag-grid-community"),import_ag_stack100=require("ag-stack"),import_ag_grid_community135=require("ag-grid-community"),import_ag_stack99=require("ag-stack"),import_ag_grid_community134=require("ag-grid-community"),BaseMultiFilter=class extends import_ag_grid_community134.TabGuardComp{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:e=>this.onFocusIn(e)})}refreshGui(e){return e===this.lastOpenedInContainer?import_ag_grid_community134.AgPromise.resolve():(this.tabGuardFeature.removeAllChildrenExceptTabGuards(),this.destroyChildren(),import_ag_grid_community134.AgPromise.all(this.getFilterWrappers().map((t,i)=>{if(!t)return import_ag_grid_community134.AgPromise.resolve(null);const r=this.getFilterFromWrapper(t),n=this.getCompFromWrapper(t),o=this.filterDefs[i],a=getFilterTitle(r,o);let l;if(o.display==="subMenu"&&e!=="toolPanel")l=this.insertFilterMenu(n,r,a).then(c=>c.getGui());else if(o.display==="subMenu"||o.display==="accordion"){const c=this.insertFilterGroup(r,n,a);l=import_ag_grid_community134.AgPromise.resolve(c.getGui())}else l=import_ag_grid_community134.AgPromise.resolve(n.getGui());return l})).then(t=>{t.forEach((i,r)=>{i&&(r>0&&this.appendChild((0,import_ag_grid_community134._createElement)({tag:"div",cls:"ag-filter-separator"})),this.appendChild(i))}),this.filterGuis=t,this.lastOpenedInContainer=e}))}destroyChildren(){for(const e of this.guiDestroyFuncs)e();this.guiDestroyFuncs.length=0,this.filterGuis.length=0}insertFilterMenu(e,t,i){const r=e.getGui();(0,import_ag_stack99._setAriaRole)(r,"dialog");const n=this.createBean(new MenuItemComponent),o={getGui:()=>e.getGui(),afterGuiAttached:a=>{e.afterGuiAttached?.(a),e!==t&&t.afterGuiAttached?.(a)}};return n.init({menuItemDef:{name:i,subMenu:[],subMenuRole:"dialog",cssClasses:["ag-multi-filter-menu-item"],menuItem:MenuItemRenderer,menuItemParams:{cssClassPrefix:"ag-compact-menu-option",isCompact:!0}},level:0,isAnotherSubMenuOpen:()=>!1,childComponent:o,contextParams:{column:null,node:null,value:null}}).then(()=>{n.setParentComponent(this),this.guiDestroyFuncs.push(()=>this.destroyBean(n)),this.addManagedListeners(n,{menuItemActivated:l=>{this.lastActivatedMenuItem&&this.lastActivatedMenuItem!==l.menuItem&&this.lastActivatedMenuItem.deactivate(),this.lastActivatedMenuItem=l.menuItem}});const a=n.getGui();return n.addManagedElementListeners(a,{keydown:l=>{const{key:c}=l;switch(c){case import_ag_grid_community134.KeyCode.UP:case import_ag_grid_community134.KeyCode.RIGHT:case import_ag_grid_community134.KeyCode.DOWN:case import_ag_grid_community134.KeyCode.LEFT:l.preventDefault(),c===import_ag_grid_community134.KeyCode.RIGHT&&n.openSubMenu(!0);break}},focusin:()=>n.activate(),focusout:()=>{!n.isSubMenuOpen()&&!n.isSubMenuOpening()&&n.deactivate()}}),n})}insertFilterGroup(e,t,i){const r=this.createBean(new AgGroupComponent({title:i,cssIdentifier:"multi-filter"}));return this.guiDestroyFuncs.push(()=>this.destroyBean(r)),r.addItem(t.getGui()),r.toggleGroupExpand(!1),e.afterGuiAttached&&r.addManagedListeners(r,{expanded:()=>e.afterGuiAttached({container:this.lastOpenedInContainer,suppressFocus:!0,hidePopup:this.hidePopup})}),r}afterGuiAttached(e){let t;e?(this.hidePopup=e.hidePopup,t=this.refreshGui(e.container)):(this.hidePopup=void 0,t=import_ag_grid_community134.AgPromise.resolve());const i=e?.suppressFocus;t.then(()=>{const{filterDefs:r,filterGuis:n,beans:o}=this,a=this.getFilterWrappers();let l=!!i;r&&forEachReverse(r,(u,d)=>{const h=d===0,p=u.display&&u.display!=="inline",g=i||!h||p,f={...e??{},suppressFocus:g},m=a[d],v=m?this.getFilterFromWrapper(m):void 0;if(m){const C=this.getCompFromWrapper(m);C!==v&&C.afterGuiAttached(f)}if(v&&(this.executeFunctionIfExistsOnFilter(v,"afterGuiAttached",f),h&&!g&&(l=!0)),!i&&h&&p){const C=n[d];C&&((0,import_ag_stack99._focusInto)(C)||C.focus({preventScroll:!0}),l=!0)}});const c=(0,import_ag_stack99._getActiveDomElement)(o);!l&&((0,import_ag_stack99._isNothingFocused)(o)||this.getGui().contains(c))&&this.forceFocusOutOfContainer(!0)})}afterGuiDetached(){this.executeFunctionIfExists("afterGuiDetached")}onAnyFilterChanged(){this.executeFunctionIfExists("onAnyFilterChanged",e=>this.executeOnWrapper(e,"onAnyFilterChanged"))}onNewRowsLoaded(){this.executeFunctionIfExists("onNewRowsLoaded",e=>this.executeOnWrapper(e,"onNewRowsLoaded"))}destroy(){this.destroyChildren(),this.hidePopup=void 0,super.destroy()}executeOnWrapper(e,t){}executeFunctionIfExists(e,t){forEachReverse(this.getFilterWrappers(),i=>{i&&(t?.(i),this.executeFunctionIfExistsOnFilter(this.getFilterFromWrapper(i),e))})}executeFunctionIfExistsOnFilter(e,t,...i){const r=e[t];typeof r=="function"&&r.apply(e,i)}onFocusIn(e){const t=this.lastActivatedMenuItem;t!=null&&!t.getGui().contains(e.target)&&(t.deactivate(),this.lastActivatedMenuItem=null)}},MultiFilter=class extends BaseMultiFilter{constructor(){super(...arguments),this.filterType="multi",this.wrappers=[],this.activeFilterIndices=[],this.afterFiltersReadyFuncs=[]}init(e){this.params=e,this.filterDefs=getMultiFilterDefs(e);const t=(0,import_ag_grid_community135._getFilterModel)(this.beans.colFilter.model,e.column.getColId()),{filterChangedCallback:i}=e;this.filterChangedCallback=i;const r=this.filterDefs.map((n,o)=>this.createFilter(n,o,t));return new import_ag_grid_community135.AgPromise(n=>{import_ag_grid_community135.AgPromise.all(r).then(o=>{this.wrappers=o,this.refreshGui("columnMenu").then(()=>{n()})})}).then(()=>{for(const n of this.afterFiltersReadyFuncs)n();this.afterFiltersReadyFuncs.length=0})}refresh(e){return multiFilterChildrenChanged(this.filterDefs,getMultiFilterDefs(e))?!1:(this.params=e,!0)}isFilterActive(){return this.wrappers.some(e=>{if(!e)return!1;const{filter:t,handler:i,model:r}=e;return i?r!=null:t.isFilterActive()})}getLastActiveFilterIndex(){const e=this.activeFilterIndices;return e.length>0?e[e.length-1]:null}doesFilterPass(e,t){return this.wrappers.every((i,r)=>{if(!i||t!=null&&r===t)return!0;const{handler:n,filter:o,model:a}=i;return n?a==null||n.doesFilterPass({...e,model:a,handlerParams:i.handlerParams}):!o.isFilterActive()||o.doesFilterPass(e)})}getModelFromUi(){return{filterType:this.filterType,filterModels:this.wrappers.map(t=>{if(!t)return null;const i=t.filter;return typeof i.getModelFromUi=="function"?i.getModelFromUi():null})}}getModel(){return this.isFilterActive()?{filterType:this.filterType,filterModels:this.wrappers.map(t=>{if(!t)return null;const{filter:i,handler:r,model:n}=t;return r?n:i.isFilterActive()?i.getModel():null})}:null}setModel(e){const t=(r,n)=>new import_ag_grid_community135.AgPromise(o=>{const a=r.setModel(n);a?a.then(o):o()}),i=[];return this.wrappers.forEach((r,n)=>{if(!r)return;const o=getFilterModelForIndex(e,n),{filter:a,filterParams:l,handler:c,handlerParams:u,state:d}=r;if(c){const h={model:o,state:d?.state};r.state=h,r.model=o,i.push((0,import_ag_grid_community135._refreshHandlerAndUi)(()=>import_ag_grid_community135.AgPromise.resolve({filter:a,filterParams:l}),c,u,o,h,"api").then(()=>{this.updateActiveListForHandler(n,r.model)}))}else i.push(t(a,o).then(()=>{this.updateActiveListForFilter(n,a)}))}),import_ag_grid_community135.AgPromise.all(i).then(()=>{})}applyModel(e="api"){let t=!1;for(const i of this.wrappers)if(i){const r=i.filter;r instanceof import_ag_grid_community135.ProvidedFilter&&(t=r.applyModel(e)||t)}return t}getChildFilterInstance(e){return this.wrappers[e]?.filter}getNumChildFilters(){return this.wrappers.length}destroy(){for(const e of this.wrappers)this.destroyBean(e?.filter),this.destroyBean(e?.handler);this.wrappers.length=0,super.destroy()}getFilterWrappers(){return this.wrappers}getFilterFromWrapper(e){return e.filter}getCompFromWrapper(e){return e.comp}executeOnWrapper(e,t){e.handler?.[t]?.()}createFilter(e,t,i){const r=this.params.column;let n=null,o;const a=this.beans,l=(g,f)=>{const m=this.wrappers[t];if(!m)return;const v={model:g,state:m.state?.state};m.state=v,m.model=g,(0,import_ag_grid_community135._refreshHandlerAndUi)(()=>import_ag_grid_community135.AgPromise.resolve({filter:m.filter,filterParams:m.filterParams}),m.handler,m.handlerParams,g,v,"ui").then(()=>{this.onHandlerModelChanged(t,m.model,f)})},{compDetails:c,handler:u,handlerParams:d,createFilterUi:h}=a.colFilter.createFilterInstance(r,e,"agTextColumnFilter",(g,f)=>{const m={...g,filterChangedCallback:f?()=>{}:v=>{this.executeWhenAllFiltersReady(()=>this.onFilterModelChanged(t,v))},doesRowPassOtherFilter:v=>g.doesRowPassOtherFilter(v)&&this.doesFilterPass({node:v,data:v.data},t),getValue:updateGetValue(a,r,e,g.getValue)};return f&&(n=getFilterModelForIndex(i,t),o=this.updateDisplayParams(m,t,n,()=>c,()=>u,l)),m});if(!h)return import_ag_grid_community135.AgPromise.resolve(null);let p;if(u){const{doesRowPassOtherFilter:g,getValue:f}=d;p={...d,onModelChange:l,doesRowPassOtherFilter:m=>g(m)&&this.doesFilterPass({node:m,data:m.data},t),getValue:updateGetValue(a,r,e,f)},u.init?.({...p,model:n,source:"init"})}return h().then(g=>{if(!u)return{filter:g,comp:g};const f=c?.params,m=o(g);return{filter:g,comp:m,filterParams:f,handler:u,handlerParams:p,model:n}})}updateDisplayParams(e,t,i,r,n,o){const a=this.params.column,l=new import_ag_stack100.LocalEventService;e.model=i,e.state={model:i},e.onModelChange=o,e.getHandler=n;const c=(d,h)=>{d.state=h,l.dispatchEvent({type:"filterStateChanged",column:a,state:h})};e.onStateChange=d=>{const h=this.wrappers[t];h&&(c(h,d),(0,import_ag_grid_community135._refreshFilterUi)(h.filter,h.filterParams,h.model??null,d,"ui"))};const u=(d,h,p)=>{const g=this.wrappers[t];if(!g)return;const f=()=>g?.model??null;(0,import_ag_grid_community135._updateFilterModel)({action:h,filterParams:g.filterParams,getFilterUi:()=>{const m=import_ag_grid_community135.AgPromise.resolve(g.filter);return{created:!0,filterParams:g.filterParams,compDetails:r(),create:()=>m,promise:m}},getModel:f,getState:()=>g?.state??{model:f()},updateState:m=>c(g,m),updateModel:m=>g.filterParams?.onModelChange(m,p),processModelToApply:g.handler?.processModelToApply?.bind(g.handler)})};return e.onAction=(d,h,p)=>{u(a,d,h),l.dispatchEvent({type:"filterAction",column:a,action:d,event:p})},d=>{const h=r()?.params;return this.createManagedBean(new import_ag_grid_community135.FilterWrapperComp(a,{comp:d,params:h,isHandler:!0},l,u,!1))}}executeWhenAllFiltersReady(e){(this.wrappers?.length??0)>0?e():this.afterFiltersReadyFuncs.push(e)}updateActiveListForFilter(e,t){this.updateActiveList(e,()=>t?.isFilterActive())}updateActiveListForHandler(e,t){this.updateActiveList(e,()=>t!=null)}updateActiveList(e,t){const i=this.activeFilterIndices;(0,import_ag_stack100._removeFromArray)(this.activeFilterIndices,e),t()&&i.push(e)}onFilterModelChanged(e,t){this.updateActiveListForFilter(e,this.wrappers[e]?.filter),this.filterChanged(e,t)}onHandlerModelChanged(e,t,i){this.updateActiveListForHandler(e,t),this.filterChanged(e,i)}filterChanged(e,t){this.filterChangedCallback(t),this.wrappers.forEach((i,r)=>{if(e===r||!i)return;const{filter:n,handler:o}=i;o?.onAnyFilterChanged?.(),typeof n.onAnyFilterChanged=="function"&&n.onAnyFilterChanged()})}getModelAsString(e){if(!e?.filterModels?.length)return"";const t=this.getLastActiveFilterIndex()??0;return this.wrappers[t]?.filter?.getModelAsString?.(e.filterModels[t])??""}},import_ag_stack101=require("ag-stack"),import_ag_grid_community136=require("ag-grid-community"),MultiFilterHandler=class extends import_ag_grid_community136.BeanStub{constructor(){super(...arguments),this.filterType="multi",this.handlerWrappers=[],this.activeFilterIndices=[],this.filterDefs=[]}init(e){this.params=e;const t=getMultiFilterDefs(e.filterParams);this.filterDefs=t,t.forEach((i,r)=>{const n=this.beans.colFilter.createHandler(e.column,i,"agTextColumnFilter");if(this.handlerWrappers.push(n),!n){this.warn(278,{colId:e.column.getColId()});return}const{handler:o,handlerParams:a}=n;o.init?.({...this.updateHandlerParams(a,r,!0),model:getFilterModelForIndex(e.model,r),source:"init"})}),this.resetActiveList(e.model)}refresh(e){const{model:t,source:i}=e,r=i==="colDef";if(r){const l=getMultiFilterDefs(e.filterParams);if(multiFilterChildrenChanged(this.filterDefs,l))return!1;this.filterDefs=l}const{filterDefs:n,handlerWrappers:o}=this;this.params=e;let a=!1;for(let l=0,c=o.length;l<c;++l){const u=o[l];if(!u)continue;const d=this.updateHandlerParams(e,l,!1,n[l].filterParams);u.handlerParams=d;const h=u.handler.refresh?.({...d,model:getFilterModelForIndex(t,l),source:i});a||(a=h===!1)}return a&&r?!1:(i!=="floating"&&i!=="ui"&&this.resetActiveList(t),(e.additionalEventAttributes?.fromButtons||i==="floating")&&this.onAnyFilterChanged(),!0)}updateHandlerParams(e,t,i,r){const{onModelChange:n,doesRowPassOtherFilter:o,getValue:a}=e,l={...e,onModelChange:(c,u)=>n(getUpdatedMultiFilterModel(this.params.model,this.handlerWrappers.length,c,t),u),doesRowPassOtherFilter:c=>o(c)&&this.doesFilterPass({node:c,data:c.data,model:this.params.model,handlerParams:l},t),getValue:updateGetValue(this.beans,e.column,this.filterDefs[t],a),filterParams:this.updateFilterParams(e,i,r)};return l}updateFilterParams(e,t,i){const r=e.filterParams;i?.buttons&&t&&this.warn(292,{colId:e.column.getColId()});const n=i?{...r,...i}:r;if(!n.buttons)return n;if(i)return delete n.buttons,n;const{buttons:o,...a}=n;return a}doesFilterPass(e,t){const i=e.model?.filterModels;return i==null?!0:this.handlerWrappers.every((r,n)=>{const o=i[n];if(o==null||t!=null&&n===t)return!0;const a=r?.handler;return!a||a.doesFilterPass({...e,model:o,handlerParams:r.handlerParams})})}resetActiveList(e){this.activeFilterIndices=[];const t=e?.filterModels;if(t!=null)for(let i=0;i<this.handlerWrappers.length;i++)t[i]!=null&&this.activeFilterIndices.push(i)}updateActiveList(e,t){const i=this.activeFilterIndices;(0,import_ag_stack101._removeFromArray)(i,e),t!=null&&i.push(e)}getLastActiveFilterIndex(){const e=this.activeFilterIndices;return e.length>0?e[e.length-1]:null}getModelAsString(e,t){const i=t==="filterToolPanel",r=()=>i?this.getLocaleTextFunc()("filterSummaryInactive","is (All)"):"";if(!e?.filterModels?.length)return r();const n=this.getLastActiveFilterIndex()??0;return this.handlerWrappers[n]?.handler.getModelAsString?.(e.filterModels[n],t)??r()}getHandler(e){return this.handlerWrappers[e]?.handler}onAnyFilterChanged(){forEachReverse(this.handlerWrappers,e=>e?.handler?.onAnyFilterChanged?.())}onNewRowsLoaded(){forEachReverse(this.handlerWrappers,e=>e?.handler?.onNewRowsLoaded?.())}destroy(){for(const e of this.handlerWrappers)this.destroyBean(e?.handler);this.handlerWrappers.length=0,super.destroy()}},import_ag_grid_community137=require("ag-grid-community"),MultiFilterService=class extends import_ag_grid_community137.BeanStub{constructor(){super(...arguments),this.beanName="multiFilter"}getParamsForDataType(e,t,i,r){let n=e?.filters;const o=this.beans;n||(n=[{filter:(0,import_ag_grid_community137._getDefaultSimpleFilter)(i.baseDataType)},{filter:"agSetColumnFilter"}]);const a=this.getLocaleTextFunc();return n=n.map(l=>{const{filter:c,filterParams:u,filterValueGetter:d}=l;if(typeof c!="string")return l;const{filterParams:h,filterValueGetter:p}=(0,import_ag_grid_community137._getFilterParamsForDataType)(c,u,d??t,i,r,o,a);return{...l,filterParams:h,filterValueGetter:p}}),{filterParams:{...e,filters:n}}}},import_ag_grid_community138=require("ag-grid-community"),MultiFilterUi=class extends BaseMultiFilter{constructor(){super(...arguments),this.filterType="multi",this.filters=[],this.filterParams=[],this.validity=[]}init(e){this.params=e;const t=getMultiFilterDefs(e).map(r=>{if(r.filterParams?.buttons){this.beans.log.warn(292,{colId:e.column.getColId()});const n={...r.filterParams};return delete n.buttons,{...r,filterParams:n}}return r});this.filterDefs=t,this.allState=e.state;const i=this.filterDefs.map((r,n)=>this.createFilter(r,n));return new import_ag_grid_community138.AgPromise(r=>{import_ag_grid_community138.AgPromise.all(i).then(n=>{if(!this.isAlive()){this.destroyBeans(n??[]),r();return}this.filters=n,this.refreshGui("columnMenu").then(()=>{r()})})})}refresh(e){const{model:t,state:i,source:r}=e;if(r==="colDef")return!1;this.params=e;const n=this.filterParams;if(i===this.allState)return!0;this.allState=i;const o=i.state;return this.filters.forEach((a,l)=>{const c=getFilterModelForIndex(t,l),u={state:o?.[l],model:getFilterModelForIndex(i.model,l)};(0,import_ag_grid_community138._refreshFilterUi)(a,n[l],c,u,r)}),!0}getLastActiveFilterIndex(){return this.getHandler().getLastActiveFilterIndex?.()??null}getChildFilterInstance(e){return this.filters[e]??void 0}getNumChildFilters(){return this.filters.length}destroy(){this.filters=this.destroyBeans(this.filters),super.destroy()}getFilterWrappers(){return this.filters}getFilterFromWrapper(e){return e}getCompFromWrapper(e){return e}createFilter(e,t){const i=this.beans.userCompFactory,r=this.updateParams(e,this.params,t),n=(0,import_ag_grid_community138._getFilterDetails)(i,e,r,"agTextColumnFilter");return n?(this.filterParams[t]=n.params,n.newAgStackInstance()):import_ag_grid_community138.AgPromise.resolve(null)}updateParams(e,t,i){const{doesRowPassOtherFilter:r,model:n,onModelChange:o,state:a,onStateChange:l,column:c,source:u,onAction:d,onUiChange:h,getValue:p}=t,g=getFilterModelForIndex(n,i),f=a?{model:getFilterModelForIndex(a.model,i),state:a.state?.[i]}:{model:g},m=()=>{const C=this.getHandler();this.filters.forEach((y,S)=>{i!==S&&(C.getHandler(S)?.onAnyFilterChanged?.(),y?.onAnyFilterChanged?.())})},v=this.beans.colFilter;return{...v.createBaseFilterParams(c),...e,doesRowPassOtherFilter:C=>r(C)&&this.getHandler().doesFilterPass({node:C,data:C.data,model:this.params.model,handlerParams:v.getHandlerParams(c)},i),model:g,state:f,onModelChange:(C,y)=>{const{filters:S,params:x}=this,b=getUpdatedMultiFilterModel(x.model,S.length,C,i);this.updateActiveList(i,C),o(b,y),m()},onStateChange:C=>this.onStateChange(l,i,C),getHandler:()=>this.getHandler().getHandler(i),onAction:(C,y,S)=>{if((0,import_ag_grid_community138._isUseApplyButton)(t))return;const x=C==="apply"||C==="reset";x&&this.updateActiveList(i,getFilterModelForIndex(this.params.state.model,i)),d(C,y,S),x&&m()},onUiChange:h,source:u,getValue:updateGetValue(this.beans,c,e,p)}}updateActiveList(e,t){this.getHandler().updateActiveList?.(e,t)}getHandler(){return this.params.getHandler()}onStateChange(e,t,i){const{model:r,state:n,valid:o}=i,a=this.validity;a[t]=o;const l=this.allState,c=getUpdatedMultiFilterModel(l.model,this.filters.length,r,t),u=a.every(p=>p!==!1),d=[...l.state??[]];d[t]=n;const h={state:d,model:c,valid:u};this.allState=h,e(h)}getModelAsString(e){return this.getHandler().getModelAsString?.(e)??""}},import_ag_stack102=require("ag-stack"),import_ag_grid_community139=require("ag-grid-community"),MultiFloatingFilterElement={tag:"div",cls:"ag-multi-floating-filter ag-floating-filter-input"},MultiFloatingFilterComp=class extends import_ag_grid_community139.Component{constructor(){super(MultiFloatingFilterElement),this.floatingFilters=[],this.compDetailsList=[]}init(e){this.params=e;const{compDetailsList:t}=this.getCompDetailsList(e);return this.setParams(t)}setParams(e){const t=[];return e.forEach(i=>{const r=i?.newAgStackInstance();r!=null&&(this.compDetailsList.push(i),t.push(r))}),import_ag_grid_community139.AgPromise.all(t).then(i=>{i.forEach((r,n)=>{this.floatingFilters.push(r);const o=r.getGui();this.appendChild(o),n>0&&(0,import_ag_stack102._setDisplayed)(o,!1)})})}refresh(e){this.params=e;const{compDetailsList:t,floatingFilterParamsList:i}=this.getCompDetailsList(e);if(t.length===this.compDetailsList.length&&t.every((n,o)=>!this.beans.colFilter?.areFilterCompsDifferent(this.compDetailsList[o],n))){if(i.forEach((n,o)=>{this.floatingFilters[o].refresh?.(n)}),this.gos.get("enableFilterHandlers")){const n=e;if(n.model==null)this.floatingFilters.forEach((o,a)=>{(0,import_ag_stack102._setDisplayed)(o.getGui(),a===0)});else{const o=n.getHandler()?.getLastActiveFilterIndex?.();this.floatingFilters.forEach((a,l)=>{const c=o==null?l===0:l===o;(0,import_ag_stack102._setDisplayed)(a.getGui(),c)})}}}else(0,import_ag_stack102._clearElement)(this.getGui()),this.destroyBeans(this.floatingFilters),this.floatingFilters=[],this.compDetailsList=[],this.setParams(t)}getCompDetailsList(e){const t=[],i=[],r=e.filterParams,n=e.currentParentModel,o=getMultiFilterDefs(r);return o.forEach((a,l)=>{const c={...e,parentFilterInstance:d=>{this.parentMultiFilterInstance(h=>{const p=h.getChildFilterInstance(l);p!=null&&d(p)})},currentParentModel:()=>n()?.filterModels?.[l]??null};if(this.gos.get("enableFilterHandlers")){const d=c;d.model=d.model?.filterModels?.[l]??null;const{onModelChange:h,getHandler:p}=d;d.onModelChange=(g,f)=>h(getUpdatedMultiFilterModel(this.params.model,o.length,g,l),f),d.getHandler=()=>p().getHandler(l)}(0,import_ag_grid_community139._mergeDeep)(c.filterParams,a.filterParams);const u=this.getCompDetails(a,c);u&&(t.push(u),i.push(c))}),{compDetailsList:t,floatingFilterParamsList:i}}onParentModelChanged(e,t){t?.afterFloatingFilter||this.parentMultiFilterInstance(i=>{if(e==null)this.floatingFilters.forEach((r,n)=>{r.onParentModelChanged(null,t),(0,import_ag_stack102._setDisplayed)(r.getGui(),n===0)});else{const r=i.getLastActiveFilterIndex();this.floatingFilters.forEach((n,o)=>{const a=e.filterModels.length>o?e.filterModels[o]:null;n.onParentModelChanged(a,t);const l=r==null?o===0:o===r;(0,import_ag_stack102._setDisplayed)(n.getGui(),l)})}})}destroy(){this.destroyBeans(this.floatingFilters),this.floatingFilters.length=0,super.destroy()}getCompDetails(e,t){const{colFilter:i,frameworkOverrides:r,userCompFactory:n}=this.beans,o=(0,import_ag_grid_community139._getDefaultFloatingFilterType)(r,e,()=>i.getDefaultFloatingFilter(this.params.column))??"agReadOnlyFloatingFilter";return(0,import_ag_grid_community139._getFloatingFilterCompDetails)(n,e,t,o)}parentMultiFilterInstance(e){this.params.parentFilterInstance(t=>{t instanceof MultiFilter||t instanceof MultiFilterUi||this.beans.log.error(120),e(t)})}},MultiFilterModule={moduleName:"MultiFilter",version:VERSION,userComponents:{agMultiColumnFilter:{getComp:e=>e.gos.get("enableFilterHandlers")?{classImp:MultiFilterUi,params:{useForm:!0}}:MultiFilter},agMultiColumnFloatingFilter:MultiFloatingFilterComp},beans:[MultiFilterService],dynamicBeans:{agMultiColumnFilterHandler:MultiFilterHandler},dependsOn:[EnterpriseCoreModule,import_ag_grid_community140._ColumnFilterModule,MenuItemModule]},import_ag_grid_community173=require("ag-grid-community"),import_ag_stack103=require("ag-stack"),import_ag_grid_community141=require("ag-grid-community"),AggColumnNameService=class extends import_ag_grid_community141.BeanStub{constructor(){super(...arguments),this.beanName="aggColNameSvc"}getHeaderName(e,t){if(this.gos.get("suppressAggFuncInHeader"))return t;const{valueColsSvc:i,colModel:r,rowGroupColsSvc:n}=this.beans,o=e.pivotValueColumn,a=(0,import_ag_stack103._exists)(o);let l=null,c;if(a){const u=i?.columns??[],d=this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&u.length===1,h=e.colDef.pivotTotalColumnIds!==void 0;if(d&&!h)return t;l=o?o.getAggFunc():null,c=!0}else{const u=e.isValueActive(),d=n?.columns.length!==0,h=r.pivotMode||d||this.gos.get("treeData");u&&h?(l=e.aggFunc,c=!0):c=!1}if(c){const u=typeof l=="string"?l:"func";return`${this.getLocaleTextFunc()(u,u)}(${t})`}return t}},import_ag_stack104=require("ag-stack"),import_ag_grid_community142=require("ag-grid-community"),defaultAggFuncNames={sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"},DEFAULT_AGG_FUNC_ORDER=["sum","avg","max","min","count","first","last"],AggFuncService=class extends import_ag_grid_community142.BeanStub{constructor(){super(...arguments),this.beanName="aggFuncSvc",this.aggFuncsMap=new Map,this.orderedFuncNames=[],this.initialised=!1}postConstruct(){this.init()}init(){this.initialised||(this.initialiseWithDefaultAggregations(),this.addAggFuncs(this.gos.get("aggFuncs")))}initialiseWithDefaultAggregations(){const e=this.aggFuncsMap;e.set("sum",aggSum),e.set("first",aggFirst),e.set("last",aggLast),e.set("min",aggMin),e.set("max",aggMax),e.set("count",aggCount),e.set("avg",aggAvg),this.initialised=!0,this.updateOrderedFuncNames()}getDefaultFuncLabel(e){return defaultAggFuncNames[e]??e}getDefaultAggFunc(e){const t=e.colDef.defaultAggFunc,i=n=>(0,import_ag_stack104._exists)(this.aggFuncsMap.get(n))&&this.getFuncNames(e).includes(n);if((0,import_ag_stack104._exists)(t)&&i(t))return t;if(i("sum"))return"sum";const r=this.getFuncNames(e);return r?.length?r[0]:null}addAggFuncs(e){if(this.init(),!!e){for(const t of Object.keys(e))e[t]&&this.aggFuncsMap.set(t,e[t]);this.updateOrderedFuncNames()}}getAggFunc(e){return this.init(),this.aggFuncsMap.get(e)}getFuncNames(e){return e.colDef.allowedAggFuncs??this.orderedFuncNames.slice()}updateOrderedFuncNames(){const e=[];for(const t of DEFAULT_AGG_FUNC_ORDER)this.aggFuncsMap.has(t)&&e.push(t);for(const t of[...this.aggFuncsMap.keys()].sort())t in defaultAggFuncNames||e.push(t);this.orderedFuncNames=e}clear(){this.aggFuncsMap.clear(),this.orderedFuncNames=[]}};function aggSum(e){const{values:t}=e;let i=null;for(let r=0;r<t.length;r++){const n=t[r];typeof n=="number"?i===null?i=n:i+=typeof i=="number"?n:BigInt(n):typeof n=="bigint"&&(i===null?i=n:i=(typeof i=="bigint"?i:BigInt(i))+n)}return i}function aggFirst(e){return e.values.length>0?e.values[0]:null}function aggLast(e){return e.values.length>0?(0,import_ag_stack104._last)(e.values):null}function aggMin(e){const{values:t}=e;let i=null;for(let r=0;r<t.length;r++){const n=t[r];(typeof n=="number"||typeof n=="bigint")&&(i===null||i>n)&&(i=n)}return i}function aggMax(e){const{values:t}=e;let i=null;for(let r=0;r<t.length;r++){const n=t[r];(typeof n=="number"||typeof n=="bigint")&&(i===null||i<n)&&(i=n)}return i}var COUNT_PROTO=Object.freeze({toString:function(){return this.value.toString()},toNumber:function(){return this.value}});function aggCount(e){const{values:t}=e;let i=0;for(let o=0;o<t.length;o++){const a=t[o];i+=a!=null&&typeof a.value=="number"?a.value:1}const r=e.rowNode?.aggData?.[e.column.getColId()];if(r?.value===i)return r;const n=Object.create(COUNT_PROTO);return n.value=i,n}var AVERAGE_PROTO=Object.freeze({toString:function(){return typeof this.value=="number"||typeof this.value=="bigint"?this.value.toString():""},toNumber:function(){return this.value}});function aggAvg(e){const{values:t}=e;let i=0,r=0;for(let l=0;l<t.length;l++){const c=t[l];let u=null;typeof c=="number"||typeof c=="bigint"?(u=c,r++):c!=null&&(typeof c.value=="number"||typeof c.value=="bigint")&&typeof c.count=="number"&&(u=c.value*(typeof c.value=="number"?c.count:BigInt(c.count)),r+=c.count),typeof u=="number"?i+=typeof i=="number"?u:BigInt(u):typeof u=="bigint"&&(i=(typeof i=="bigint"?i:BigInt(i))+u)}let n=null;r>0&&(n=i/(typeof i=="number"?r:BigInt(r)));const o=e.rowNode?.aggData?.[e.column?.getColId()];if(o?.count===r&&o.value===n)return o;const a=Object.create(AVERAGE_PROTO);return a.count=r,a.value=n,a}var import_ag_grid_community143=require("ag-grid-community"),AggregatedChildrenSvc=class extends import_ag_grid_community143.BeanStub{constructor(){super(...arguments),this.beanName="aggChildrenSvc"}getAggregatedChildren(e,t,i){if(!e?.group)return[];if(e.rowPinned&&(e=e.pinnedSibling,!e))return[];const r=this.gos,n=getImmediateAggChildren(e,t,r);if(!i)return n;const o=[];return collectLeafDescendants(n,t,r,o),o}},getImmediateAggChildren=(e,t,i)=>{const r=t?.colDef,n=r?.pivotKeys;return n?e.leafGroup&&n.length&&!r.pivotTotalColumnIds?getNodesFromMappedSet(e.childrenMapped,n):e.childrenAfterFilter??e.childrenAfterGroup??[]:(0,import_ag_grid_community143._getGroupAggFiltering)(i)||i.get("suppressAggFilteredOnly")?e.childrenAfterGroup??[]:e.childrenAfterFilter??e.childrenAfterGroup??[]},collectLeafDescendants=(e,t,i,r)=>{for(let n=0,o=e.length;n<o;++n){const a=e[n];a.group?collectLeafDescendants(getImmediateAggChildren(a,t,i),t,i,r):r.push(a)}};function addAggFuncs(e,t){e.aggFuncSvc&&e.aggFuncSvc.addAggFuncs(t)}function clearAggFuncs(e){e.aggFuncSvc&&e.aggFuncSvc.clear()}function setColumnAggFunc(e,t,i){e.valueColsSvc?.setColumnAggFunc?.(t,i,"api")}var import_ag_grid_community144=require("ag-grid-community"),AggregationStage=class extends import_ag_grid_community144.BeanStub{constructor(){super(...arguments),this.beanName="aggStage",this.step="aggregate",this.refreshProps=["getGroupRowAgg","alwaysAggregateAtRootLevel","suppressAggFilteredOnly","grandTotalRow"],this.hadAgg=!1,this.prevValueColumns=null}destroy(){super.destroy(),this.prevValueColumns=null}refreshAggregateDependentCells(e,t){const i=this.beans,r=this.hadAgg,n=i.visibleCols.allCols;let o=!1;for(let l=0,c=n.length;l<c;++l){const u=n[l];if(u.showValuesAs!=null||r&&u.valueGetter!=null){o=!0;break}}if(!o)return;const a=i.rowRenderer.getAllRowCtrls();for(let l=0,c=a.length;l<c;++l){const u=a[l],d=u.rowNode;if(e?.has(d)||t?.hasRow(d))continue;const h=u.getAllCellCtrls();for(let p=0,g=h.length;p<g;++p){const f=h[p],m=f.column;(m.showValuesAs!=null||r&&m.valueGetter!=null)&&f.refreshOrDestroyCell(AGG_DEPENDENT_REFRESH_PARAMS)}}}execute(e){this.aggregate(e,!1)}aggregateRootOnly(){this.aggregate(void 0,!0)}aggregate(e,t){const{gos:i,beans:r}=this,n=i.getCallback("getGroupRowAgg"),o=r.valueColsSvc?.columns;if(!o?.length&&!n){if(this.prevValueColumns=null,this.hadAgg&&!e&&!t){this.hadAgg=!1;const F=r.colModel,T=r.rowModel;(0,import_ag_grid_community144._forEachChangedGroupDepthFirst)(T.rootNode,T.hierarchical,void 0,R=>{setAggDataWithSiblings(R,null,F)})}return}this.hadAgg=!0;const a=r.colModel,l=r.aggFuncSvc,c=t||i.get("alwaysAggregateAtRootLevel")||!!(0,import_ag_grid_community144._getGrandTotalRow)(i)||a.pivotMode,u=!(0,import_ag_grid_community144._getGroupAggFiltering)(i)&&!i.get("suppressAggFilteredOnly"),d=r.valueSvc,h=r.gridApi,p=r.gridOptions.context,g=o??[],f=g.length,m=e?.kind==="cells"?e:void 0;let v;const C=new Array(f);for(let F=0;F<f;++F){const T=g[F],R=m?m.getSlot(T.colId):-1;R>=0&&(v=m),C[F]={column:T,colId:T.colId,colDef:T.colDef,aggFunc:resolveAggFunc(T.aggFunc,l,T,r),colSlot:R}}const y=resolvePivotColumns(a,r.pivotResultCols,l,r),S=this.prevValueColumns;let x;y||n||!o?this.prevValueColumns=null:(!t&&!e&&(this.prevValueColumns=o),x={cols:C,checkRemoved:S!==o});const b=f>0?new Array(f):null,w=r.rowModel,P=F=>{if(F.level===-1&&!c){setAggData(F,null,a);return}let T;n?T=n({nodes:F.childrenAfterFilter}):b?y?T=aggregateValuesAndPivot(F,y,d,h,p):T=aggregateValuesOnly(F,C,f,b,v,u,d,h,p):T=null,setAggDataWithSiblings(F,T,a,x)};if(t){const F=w.rootNode;F&&P(F);return}(0,import_ag_grid_community144._forEachChangedGroupDepthFirst)(w.rootNode,w.hierarchical,e,P)}},aggregateValuesOnly=(e,t,i,r,n,o,a,l,c)=>{const u=(o?e.childrenAfterFilter:e.childrenAfterGroup)??[],d=u.length,h=e.data,p=Object.create(null),g=n?n.getSlot(e):-1,f=g>=0?e.aggData:void 0;let m=0;for(let v=0;v<i;++v){const C=t[v];g>=0&&!n.hasCellBySlot(g,C.colSlot)?(r[v]=null,f&&(p[C.colId]=f[C.colId])):(r[v]=new Array(d),++m)}if(m===0)return p;for(let v=0;v<d;++v){const C=u[v],y=C.aggData;if(y)for(let S=0;S<i;++S){const x=r[S];if(x!==null){const b=t[S],w=y[b.colId];x[v]=w!==void 0?w:a.getValueFromData(b.column,C)}}else for(let S=0;S<i;++S){const x=r[S];x!==null&&(x[v]=a.getValueFromData(t[S].column,C))}}for(let v=0;v<i;++v){const C=r[v];if(C===null)continue;const y=t[v],S=y.aggFunc;p[y.colId]=S?S({values:C,column:y.column,colDef:y.colDef,rowNode:e,data:h,aggregatedChildren:u,api:l,context:c}):null}return p},aggregateValuesAndPivot=(e,t,i,r,n)=>{const o=t.length,a=e.leafGroup,l=e.data,c=e.childrenMapped,u=e.childrenAfterFilter??[],d=Object.create(null);let h,p;for(let g=0;g<o;++g){const f=t[g],m=f.column,v=f.colId,C=f.totalColIds;let y,S;if(C!=null){const b=C.length;y=new Array(b);for(let w=0;w<b;++w)y[w]=d[C[w]];S=u}else if(a){const b=f.pivotKeys;(!p||b!==h)&&(h=b,p=getNodesFromMappedSet(c,b)),S=p;const w=S.length;y=new Array(w);for(let P=0;P<w;++P)y[P]=i.getValueFromData(m,S[P])}else{S=u;const b=S.length;y=new Array(b);for(let w=0;w<b;++w){const P=S[w],F=P.aggData,T=F?F[v]:void 0;y[w]=T!==void 0?T:i.getValueFromData(m,P)}}const x=f.aggFunc;d[v]=x?x({values:y,column:m,colDef:f.colDef,pivotResultColumn:f.pivotResultCol,rowNode:e,data:l,aggregatedChildren:S,api:r,context:n}):null}return d},resolveAggFunc=(e,t,i,r)=>{if(typeof e=="function")return e;if(e==null)return null;const n=t.getAggFunc(e);return typeof n!="function"?(r.log.warn(109,{inputValue:e.toString(),allSuggestions:t.getFuncNames(i)}),null):n},resolvePivotColumns=(e,t,i,r)=>{if(!e.isPivotActive())return null;const n=t?.getAggregationOrderedList();if(!n||n.length===0)return null;const o=n.length,a=new Array(o);let l=0;for(let c=0;c<o;++c){const u=n[c],d=u.pivotValueColumn;if(!d)continue;const h=u.colDef;a[l++]={column:d,colId:u.colId,colDef:d.colDef,aggFunc:resolveAggFunc(d.aggFunc,i,d,r),pivotResultCol:u,pivotKeys:h.pivotKeys,totalColIds:h.pivotTotalColumnIds}}return l===0?null:(a.length=l,a)},AGG_DEPENDENT_REFRESH_PARAMS={force:!1,newData:!1},import_ag_grid_community145=require("ag-grid-community"),FilterAggregatesStage=class extends import_ag_grid_community145.BeanStub{constructor(){super(...arguments),this.beanName="filterAggStage",this.step="filter_aggregates",this.refreshProps=[],this.setAllChildrenCountTreeData=e=>{const t=e.childrenAfterAggFilter;let i=0;if(t){const n=t.length;i=n;for(let o=0;o<n;++o)i+=t[o].allChildrenCount??0}const r=i===0&&e.level>=0?null:i;e.setAllChildrenCount(r),e.pinnedSibling?.setAllChildrenCount(r)},this.setAllChildrenCountGridGrouping=e=>{const t=e.childrenAfterAggFilter;let i=0;for(let r=0,n=t.length;r<n;++r){const o=t[r];o.group?i+=o.allChildrenCount:i++}e.setAllChildrenCount(i),e.pinnedSibling?.setAllChildrenCount(i)}}wireBeans(e){this.filterManager=e.filterManager}execute(e){const{rowModel:t,colModel:i,groupStage:r}=this.beans,{filterManager:n}=this,o=i.pivotMode,a=n?.isAggregateFilterPresent()||n?.isAggregateQuickFilterPresent(),l=!!r?.treeData,c=f=>!f.node.group,u=f=>f.node.leafGroup,d=(0,import_ag_grid_community145._getGroupAggFiltering)(this.gos)||(o?u:c),h=l?this.setAllChildrenCountTreeData:this.setAllChildrenCountGridGrouping,p=(f,m=!1)=>{if(f.childrenAfterFilter){if(f.childrenAfterAggFilter=f.childrenAfterFilter,m){const v=f.childrenAfterAggFilter;for(let C=0,y=v.length;C<y;++C)p(v[C],m)}f.hasChildren()?h(f):(f.setAllChildrenCount(null),f.pinnedSibling?.setAllChildrenCount(null))}f.sibling&&(f.sibling.childrenAfterAggFilter=f.childrenAfterAggFilter)},g=f=>{f.childrenAfterAggFilter=f.childrenAfterFilter?.filter(m=>d({node:m})&&n.doesRowPassAggregateFilters({rowNode:m})?(p(m,!0),!0):m.childrenAfterAggFilter?.length)||null,f.hasChildren()?h(f):(f.setAllChildrenCount(null),f.pinnedSibling?.setAllChildrenCount(null)),f.sibling&&(f.sibling.childrenAfterAggFilter=f.childrenAfterAggFilter)};(0,import_ag_grid_community145._forEachChangedGroupDepthFirst)(t.rootNode,t.hierarchical,e,a?g:p)}},import_ag_grid_community147=require("ag-grid-community"),import_ag_grid_community146=require("ag-grid-community");function _createRowNodeFooter(e,t,i){let r=e.sibling;return r||(r=(0,import_ag_grid_community146._createRowNodeSibling)(e,t),r.footer=!0,r.setRowTop(null),r.setRowIndex(null),r.oldRowTop=null,r.id=i??import_ag_grid_community146.GROUP_TOTAL_ROW_ID_PREFIX+e.id,r.sibling=e,e.sibling=r,r)}function _destroyRowNodeFooter(e){const t=e.sibling;t&&(t._destroy(!1),e.sibling=void 0)}var FooterService=class extends import_ag_grid_community147.BeanStub{constructor(){super(...arguments),this.beanName="footerSvc"}addTotalRows(e,t,i,r,n,o){let a=e;if(n){const u=r&&(0,import_ag_grid_community147._getGrandTotalRow)(this.gos);return _positionMatchesGrandTotalRow(o,u)&&i(_createRowNodeFooter(t,this.beans),a++),a}const l=(0,import_ag_grid_community147._getGroupTotalRowCallback)(this.gos);return(r&&l({node:t}))===o&&i(_createRowNodeFooter(t,this.beans),a++),a}getTopDisplayIndex(e,t,i,r){let n=t;if(e[0].footer){if(t===0)return 0;n-=1}const o=e[e.length-1],a=n>=i.length;return o.footer&&a?o.rowIndex:r(n)}doesCellShowTotalPrefix(e,t){return!e.footer||!t?.getColDef().showRowGroup?!1:this.gos.get("treeData")?!0:e.level===-1?this.beans.showRowGroupCols?.columns[0]===t:!!e.rowGroupColumn&&t?.isRowGroupDisplayed(e.rowGroupColumn.getId())}applyTotalPrefix(e,t,i,r){const n=r.getColDef().cellRendererParams?.totalValueGetter;if(n){const o=(0,import_ag_grid_community147._addGridCommonParams)(this.gos,{column:r,node:i,value:e,formattedValue:t});if(typeof n==="function")return n(o);if(typeof n=="string")return this.beans.expressionSvc?.evaluate(n,o);this.warn(179)}return i.level===-1?this.getLocaleTextFunc()("footerTotal","Total")+" ":this.getTotalValue(t??e)??""}getTotalValue(e){return this.getLocaleTextFunc()("footerTotal","Total")+" "+(e??"")}};function _positionMatchesGrandTotalRow(e,t){switch(t){case"top":case"pinnedTop":return e==="top";case"bottom":case"pinnedBottom":return e==="bottom";default:return!1}}var import_ag_stack105=require("ag-stack"),import_ag_grid_community148=require("ag-grid-community"),BaseColsService=class extends import_ag_grid_community148.BeanStub{constructor(){super(...arguments),this.activeColSet=new Set,this.colsCache=null,this.extractColsWithIndex=null,this.extractColsWithValue=null,this.pendingChanged=null,this.reindexPending=!1,this.pendingStateOrder=null,this.pendingStateChanged=!1,this.compareByStateIndex=(e,t)=>{const i=this.pendingStateOrder;if(!i)return 0;const r=i.get(e),n=i.get(t);return r==null?n==null?0:1:n==null?-1:r-n}}extractAddColWithIndex(e,t){let i=this.extractColsWithIndex;i===null&&(i=[],this.extractColsWithIndex=i),i.push({col:e,key:t})}extractAddColWithValue(e){let t=this.extractColsWithValue;t===null&&(t=new Set,this.extractColsWithValue=t),t.add(e)}bucketByKey(e,t){t!=null?this.extractAddColWithIndex(e,t):this.extractAddColWithValue(e)}get columns(){let e=this.colsCache;return e===null&&(e=Array.from(this.activeColSet),this.colsCache=e),e}wireBeans(e){this.colModel=e.colModel}resetActiveCols(e){this.activeColSet=new Set(e),this.colsCache=e}setColActive(e,t,i,r=!1){return this.writeColActive(e,t,i)?(t?this.activeColSet.add(e):this.activeColSet.delete(e),r&&this.onColActiveChanged(e,t,i),this.colsCache=null,!0):!1}onColActiveChanged(e,t,i){}applyActiveCols(e,t,i,r,n){for(let o=0,a=e.length;o<a;++o){const l=e[o];!t.has(l)&&this.writeColActive(l,!1,r)&&n&&this.onColActiveChanged(l,!1,r)}for(const o of t)this.writeColActive(o,!0,r)&&n&&this.onColActiveChanged(o,!0,r);this.activeColSet=t,this.colsCache=i}onColActiveChangesComplete(e){}onColumnsChanged(){}stageChangedColsBetween(e,t){const i=(0,import_ag_stack105._indexMap)(t),r=e.length>0?new Set(e):null;let n=null,o=!1;for(let a=0,l=e.length;a<l;++a){const c=e[a],u=i.get(c);u===void 0?(o=!0,n??(n=this.pendingColChangeSet()),n.add(c)):u!==a&&(n??(n=this.pendingColChangeSet()),n.add(c))}for(let a=0,l=t.length;a<l;++a){const c=t[a];r?.has(c)||(o=!0,n??(n=this.pendingColChangeSet()),n.add(c))}return n===null?"none":(this.reindexPending=!0,o?"membership":"reorder")}setColumns(e,t){const i=e??[],r=this.colModel;if(r.colsList.length===0)return;const n=this.columns,o=[];for(let u=0,d=i.length;u<d;++u){const h=r.getNonPivotCol(i[u]);h&&o.push(h)}const a=this.expandActiveCols(o),l=Array.from(a),c=this.stageChangedColsBetween(n,l);c!=="none"&&(this.applyActiveCols(n,a,l,t,!0),r.flushColChanges(t,c))}seatActiveCol(e,t){e.add(t)}expandActiveCols(e){const t=new Set;for(let i=0,r=e.length;i<r;++i)this.seatActiveCol(t,e[i]);return t}stageColChange(e){this.reindexPending=!0,this.pendingColChangeSet().add(e)}stageColChanges(e){this.reindexPending=!0;const t=this.pendingColChangeSet();for(const i of e)t.add(i)}recordColChange(e){this.pendingColChangeSet().add(e)}pendingColChangeSet(){let e=this.pendingChanged;return e===null&&(e=new Set,this.pendingChanged=e),e}flushReindex(){this.reindexPending&&(this.reindexPending=!1,this.onColumnsChanged())}dispatchColChange(e){this.onColActiveChangesComplete(e);const t=this.pendingChanged;t&&(this.pendingChanged=null,(0,import_ag_grid_community148._dispatchColumnChangedEvent)(this.eventSvc,this.eventName,Array.from(t),e))}addColumns(e,t){this.updateColList(e,!0,t)}removeColumns(e,t){this.updateColList(e,!1,t)}updateColList(e,t,i){if(!e||e.length===0)return;const r=this.colModel,n=new Set,o=t?null:this.columns;let a=!1;for(let l=0,c=e.length;l<c;++l){const u=e[l];if(!u)continue;const d=r.getNonPivotCol(u);if(d&&(n.add(d),this.setColActive(d,t,i,!0)&&(a=!0,!t)))for(let h=o.indexOf(d)+1,p=o.length;h<p;++h)n.add(o[h])}a&&(this.stageColChanges(n),r.flushColChanges(i,"membership"))}commitExtract(e){const t=this.extractColsWithIndex,i=this.extractColsWithValue,r=this.activeColSet,n=this.columns,o=new Set;if(t!==null){t.length>1&&t.sort((a,l)=>a.key-l.key);for(let a=0,l=t.length;a<l;++a)this.seatActiveCol(o,t[a].col)}if(i!==null){for(let a=0,l=n.length;a<l;++a){const c=n[a];i.has(c)&&this.seatActiveCol(o,c)}for(const a of i)r.has(a)||this.seatActiveCol(o,a)}this.applyActiveCols(n,o,null,e,!1),this.onColumnsChanged(),this.extractColsWithIndex=null,this.extractColsWithValue=null}recordPendingStateOrder(e,t){let i=this.pendingStateOrder;i===null&&(i=new Map,this.pendingStateOrder=i),i.set(e,t),this.pendingStateChanged=!0}sortByPendingState(){if(!this.pendingStateChanged)return;this.pendingStateChanged=!1;const e=this.columns;e.length>0&&this.sortPendingCols(e)&&this.resetActiveCols(e),this.onColumnsChanged(),this.pendingStateOrder=null}sortPendingCols(e){return this.pendingStateOrder?(e.sort(this.compareByStateIndex),!0):!1}},AGG_UNCHANGED=0,AGG_FUNC_ONLY=1,AGG_MEMBERSHIP=2,writeAggFunc=(e,t)=>e.aggFunc===t?!1:(e.aggFunc=t,e.dispatchStateUpdatedEvent("aggFunc"),!0),ValueColsSvc=class extends BaseColsService{constructor(){super(...arguments),this.beanName="valueColsSvc",this.eventName="columnValueChanged"}wireBeans(e){super.wireBeans(e),this.aggFuncSvc=e.aggFuncSvc}extractCol(e,t){const i=e.colDef,r=i.aggFunc;let n;if(r!==void 0)n=r!==null&&r!=="";else if(t){const o=i.initialAggFunc;n=o!=null&&o!==""}else n=e.aggregationActive;if(!n){const o=e.showValuesAs?.def.defaultAggFunc;o&&(this.bucketCol(e,t),e.aggFunc||writeAggFunc(e,o));return}this.bucketCol(e,t),r!=null&&r!==""?writeAggFunc(e,r):e.aggFunc||writeAggFunc(e,i.initialAggFunc)}bucketCol(e,t){const i=e.colDef,r=i.valueIndex??(t?i.initialValueIndex:null);this.bucketByKey(e,r)}onColActiveChanged(e,t){const i=this.aggFuncSvc;t&&i&&!e.aggFunc&&writeAggFunc(e,i.getDefaultAggFunc(e))}writeColActive(e,t,i){return e.aggregationActive===t?!1:(e.aggregationActive=t,e.dispatchColEvent(this.eventName,i),!0)}setColumnAggFunc(e,t,i){if(!e)return;const r=this.colModel.getNonPivotCol(e);if(!r)return;const n=this.applyAggFunc(r,t,i);if(n===AGG_UNCHANGED)return;const o=n===AGG_MEMBERSHIP;o?this.stageColChange(r):this.recordColChange(r),this.colModel.flushColChanges(i,o?"membership":"dispatch")}syncColState(e,t,i,r){const n=t?.aggFunc,o=n!==void 0?n:i?.aggFunc,a=t?.valueIndex,l=a!==void 0?a:i?.valueIndex;if(!(o===void 0&&l===void 0)){if(o!==void 0){if(typeof o!="string"&&o!=null){this.warn(33);return}this.applyAggFunc(e,o,r)}else typeof l=="number"&&!e.aggregationActive&&this.setColActive(e,!0,r,!0);typeof l=="number"&&e.aggregationActive&&this.recordPendingStateOrder(e,l)}}onColumnsChanged(){const e=this.columns;for(let t=0,i=e.length;t<i;++t)e[t].aggregationActiveIndex=t}applyAggFunc(e,t,i){if(t!=null&&t!==""){const r=writeAggFunc(e,t);return this.setColActive(e,!0,i)?AGG_MEMBERSHIP:r?AGG_FUNC_ONLY:AGG_UNCHANGED}return this.setColActive(e,!1,i)?AGG_MEMBERSHIP:AGG_UNCHANGED}},SharedAggregationModule={moduleName:"SharedAggregation",version:VERSION,beans:[AggFuncService,AggColumnNameService,FooterService,ValueColsSvc],apiFunctions:{addAggFuncs,clearAggFuncs,setColumnAggFunc},dependsOn:[EnterpriseCoreModule]},AggregationStageModule={moduleName:"AggregationStage",version:VERSION,beans:[AggregationStage],rowModels:["clientSide"],dependsOn:[SharedAggregationModule]},AggregationModule={moduleName:"Aggregation",version:VERSION,beans:[FilterAggregatesStage,AggregatedChildrenSvc],rowModels:["clientSide"],dependsOn:[AggregationStageModule]},OrderedColsService=class extends BaseColsService{writeColActive(e,t,i){return this.setActiveFlag(e,t)?(e.dispatchColEvent(this.eventName,i),e.dispatchStateUpdatedEvent(this.enableProp),!0):!1}wireBeans(e){super.wireBeans(e),this.groupHierarchCols=e.groupHierarchyColSvc}getActiveHierarchyCols(){const e=this.groupHierarchCols;return e?.columns.length?e:void 0}extractCol(e,t){const i=e.colDef,r=this.indexProp,n=this.initialIndexProp;let o=decideExtractCol(i[this.enableProp],i[r]);if(o===void 0&&(o=t?decideExtractCol(i[this.initialEnableProp],i[n]):this.activeColSet.has(e)),!o)return;const a=i[r]??(t?i[n]:null);this.bucketByKey(e,a)}getActiveVirtuals(e){return this.groupHierarchCols?.getVirtualCols(e)}seatActiveCol(e,t){const i=this.getActiveVirtuals(t);if(i!==void 0)for(let r=0,n=i.length;r<n;++r)e.add(i[r]);e.add(t)}setColActive(e,t,i,r=!1){if(t){const n=this.getActiveVirtuals(e);if(n!==void 0){const o=this.activeColSet;for(let a=0,l=n.length;a<l;++a){const c=n[a];o.add(c),this.writeColActive(c,!0,i)}}}return super.setColActive(e,t,i,r)}syncColState(e,t,i,r){const n=this.enableProp,o=this.indexProp;let a=t?.[n],l=t?.[o];a===void 0&&l===void 0&&(i&&(a=i[n],l=i[o]),a===void 0&&l===void 0)||(typeof l=="number"?(this.setColActive(e,!0,r),this.recordPendingStateOrder(e,l)):this.setColActive(e,!!a,r)&&(this.pendingStateChanged=!0))}sortPendingCols(e){const t=this.getActiveHierarchyCols();return t?(e.sort((i,r)=>t.compareVirtualColumns(i,r)??this.compareByStateIndex(i,r)),!0):super.sortPendingCols(e)}restoreColumnOrder(e,t){const i=this.columns;if(!i.length)return;const r=this.enableProp==="rowGroup",n=this.indexProp,o=new Set(Object.keys(e)),a=new Set(o);for(let m=0,v=i.length;m<v;++m){const C=i[m].colId;o.delete(C),a.add(C)}const l=[],c=Object.create(null);let u=0;const d=this.colModel.colDefList;for(let m=0,v=d.length;m<v;++m){const C=d[m].colId;a.has(C)&&(l.push(C),c[C]=u++)}let h=1e3,p=!1,g=0;const f=m=>{const v=c[m];for(let C=g;C<v;++C){const y=l[C];o.has(y)&&(e[y][n]=h++,o.delete(y))}g=v};for(let m=0,v=i.length;m<v;++m){const C=i[m],y=C.colId;if(e[y]?.colId!=null){f(y),e[y][n]=h++;continue}const S=C.colDef,x=r?S.rowGroupIndex:S.pivotIndex,b=r?S.initialRowGroupIndex:S.initialPivotIndex;if(x===null||x===void 0&&b==null){if(!p){const w=r?S.rowGroup:S.pivot,P=r?S.initialRowGroup:S.initialPivot;if(w||w===void 0&&P)f(y);else{for(const T of o)e[T][n]=h+c[T];h+=l.length,p=!0}}t[y]||(t[y]={colId:y}),t[y][n]=h++}}}};function decideExtractCol(e,t){if(e!==void 0)return!!e;if(t!==void 0)return t!==null&&t>=0}var PivotColsSvc=class extends OrderedColsService{constructor(){super(...arguments),this.beanName="pivotColsSvc",this.eventName="columnPivotChanged",this.enableProp="pivot",this.indexProp="pivotIndex",this.initialEnableProp="initialPivot",this.initialIndexProp="initialPivotIndex",this.hasPivotComparator=!1}postConstruct(){this.addManagedEventListeners({columnValueChanged:()=>{const e=this.beans;e.colModel.pivotMode&&e.sortSvc?.invalidate()}})}setActiveFlag(e,t){return e.pivotActive===t?!1:(e.pivotActive=t,!0)}onColumnsChanged(){const e=this.columns;let t=!1;for(let i=0,r=e.length;i<r;++i){const n=e[i];n.pivotActiveIndex=i,t||(t=n.colDef.pivotComparator!=null)}this.hasPivotComparator=t}hasInteractivePivotSort(){const e=this.columns;for(let t=0,i=e.length;t<i;++t)if(e[t].pivotSort!==void 0)return!0;return!1}isStrictColumnOrder(){return this.hasPivotComparator&&!!this.gos.get("enableStrictPivotColumnOrder")||this.hasInteractivePivotSort()}reRankByPivotGroupOrder(e,t,i){const r=new Map;for(let c=0,u=e.length;c<u;++c){const d=pivotGroupKey(e[c]);r.has(d)||r.set(d,r.size)}const n=r.size,o=[];for(let c=0,u=t.length;c<u;++c){const d=t[c],h=i[d];h!=null&&o.push({id:d,order:c,rank:r.get(pivotGroupKey(h))??n})}o.sort(byRankThenOrder);const a=o.length,l=new Array(a);for(let c=0;c<a;++c)l[c]=o[c].id;return l}},pivotGroupKey=e=>{const t=e.colDef.pivotKeys;if(t!==void 0&&t.length>0)return t.join("");if(t!==void 0)return ungroupedKey(e);let i="",r=e.originalParent;for(;r!=null;)r.isPadding()||(i=`${r.getGroupId()}\0${i}`),r=r.originalParent;return i!==""?i:ungroupedKey(e)},ungroupedKey=e=>`\0${e.colId}`,byRankThenOrder=(e,t)=>e.rank-t.rank||e.order-t.order,import_ag_grid_community149=require("ag-grid-community"),RowGroupColsSvc=class extends OrderedColsService{constructor(){super(...arguments),this.beanName="rowGroupColsSvc",this.eventName="columnRowGroupChanged",this.enableProp="rowGroup",this.indexProp="rowGroupIndex",this.initialEnableProp="initialRowGroup",this.initialIndexProp="initialRowGroupIndex",this.pendingVisibilityChanges=new Set}moveColumn(e,t,i){const r=this.columns,n=r.length;if(n===0||e<0||e>=n||(t=(0,import_ag_grid_community149._clamp)(t,0,n-1),e===t))return;const o=r[e],a=r.slice();a.splice(t,0,a.splice(e,1)[0]),this.resetActiveCols(a),this.stageColChange(o),this.colModel.flushColChanges(i,"reorder")}onColActiveChanged(e,t,i){if(e.colKind!=="hierarchy"&&(0,import_ag_grid_community149._shouldUpdateColVisibilityAfterGroup)(this.gos,t)){const r=!t;e.visible!==r&&(e.setVisible(r,i),this.pendingVisibilityChanges.add(e))}}onColActiveChangesComplete(e){const t=this.pendingVisibilityChanges;if(t.size){const i=Array.from(t);t.clear(),(0,import_ag_grid_community149.dispatchColumnVisibleEvent)(this.eventSvc,i,e)}}setActiveFlag(e,t){return e.rowGroupActive===t?!1:(e.rowGroupActive=t,!0)}onColumnsChanged(){const e=this.columns;for(let t=0,i=e.length;t<i;++t)e[t].rowGroupActiveIndex=t}},import_ag_grid_community150=require("ag-grid-community"),hasTooltipComponent=e=>!!e&&(e.tooltipComponent!=null||e.tooltipComponentSelector!=null),AutoColService=class extends import_ag_grid_community150.BeanStub{constructor(){super(...arguments),this.beanName="autoColSvc",this.columns=[],this.modelEverUpdated=!1}postConstruct(){this.addManagedPropertyListener("autoGroupColumnDef",this.updateColumns.bind(this)),this.setupGroupHideColumnsUntilExpanded()}setupGroupHideColumnsUntilExpanded(){const e=()=>{this.modelEverUpdated=!0,this.updateGroupColumnVisibility(!0)};this.addManagedEventListeners({modelUpdated:e}),this.addManagedPropertyListeners(["groupHideColumnsUntilExpanded","groupDisplayType","groupHideOpenParents"],e)}refreshCols(e){const t=this.beans,{colModel:i,gos:r,rowGroupColsSvc:n}=t,o=i.pivotMode,a=(0,import_ag_grid_community150._isGroupUseEntireRow)(r,o),l=o?r.get("pivotSuppressAutoColumn"):this.isSuppressAutoCol(),c=r.get("treeData"),u=n?.columns,h=!(u&&u.length>0||c)||l||a,p=this.columns;if(h)return p.length>0&&this.destroyColumns(),null;const g=(0,import_ag_grid_community150._isGroupMultiAutoColumn)(r),f=!c&&g;if(c&&g&&this.warn(182),autoColsInOrder(p,u,f)){for(let v=0,C=p.length;v<C;++v){const y=p[v],S=f?u[v]:void 0;y.setColDef(this.createAutoColDef(y.colId,S,v),null,e)}return p}const m=this.reconcileAutoCols(p,f?u:void 0,e);return this.columns=m,!this.modelEverUpdated&&(0,import_ag_grid_community150._isClientSideRowModel)(this.gos)&&this.updateGroupColumnVisibility(!1),m}updateColumns(e){const t=(0,import_ag_grid_community150._convertColumnEventSourceType)(e.source),i=this.columns;for(let r=0,n=i.length;r<n;++r)this.updateOneAutoCol(i[r],r,t)}destroy(){this.destroyColumns(),super.destroy()}destroyColumns(){const e=this.columns;this.columns=[];for(let t=0,i=e.length;t<i;++t){const r=e[t];r.isAlive()&&r.destroy()}}reconcileAutoCols(e,t,i){const r=new Map;for(let o=0,a=e.length;o<a;++o){const l=e[o];r.set(l.colId,l)}let n;if(t){const o=t.length;n=new Array(o);for(let a=0;a<o;++a)n[a]=this.reuseOrCreateAutoCol(r,t[a],a,i)}else n=[this.reuseOrCreateAutoCol(r,void 0,void 0,i)];for(const o of r.values())o.isAlive()&&o.destroy();return n}reuseOrCreateAutoCol(e,t,i,r){const n=autoColId(t),o=e.get(n);return o!==void 0?(e.delete(n),o.setColDef(this.createAutoColDef(n,t,i),null,r),o):this.createOneAutoCol(n,t,i)}isSuppressAutoCol(){const e=this.gos;return e.get("groupDisplayType")==="custom"?!0:e.get("treeDataDisplayType")==="custom"}createOneAutoCol(e,t,i){const r=this.createAutoColDef(e,t,i),n=new import_ag_grid_community150.AgColumn(r,null,e,!0,"auto-group");return this.beans.context.createBean(n),n}updateOneAutoCol(e,t,i){const r=this.beans,n=e.colDef,o=typeof n.showRowGroup=="string"?n.showRowGroup:void 0,a=o!=null?r.colModel.getNonPivotCol(o):void 0,l=e.colId,c=this.createAutoColDef(l,a??void 0,t);e.setColDef(c,null,i),(0,import_ag_grid_community150._applyColumnState)(r,{state:[(0,import_ag_grid_community150._getColumnStateFromColDef)(r,c,l)]},i)}createAutoColDef(e,t,i){let r=this.createBaseColDef(t);const n=this.gos.get("autoGroupColumnDef");(0,import_ag_grid_community150._mergeDeep)(r,n),r=(0,import_ag_grid_community150._addColumnDefaultAndTypes)(this.beans,r,e,!0),r.colId=e,n?.groupRowEditable==null&&(r.groupRowEditable=void 0),n?.groupRowValueSetter==null&&(r.groupRowValueSetter=void 0),this.gos.get("treeData")||!r.field&&!r.valueGetter&&!r.filterValueGetter&&r.filter!=="agGroupColumnFilter"&&(r.filter=!1),i&&i>0&&(r.headerCheckboxSelection=!1);const o=(0,import_ag_grid_community150._isColumnsSortingCoupledToGroup)(this.gos),a=r.valueGetter||r.field!=null;return o&&!a&&(r.sortIndex=void 0,r.initialSort=void 0),t||this.applyDynamicSingleColumnTooltips(r,n),r}applyDynamicSingleColumnTooltips(e,t){const i=this.beans.rowGroupColsSvc?.columns??[],r=i.some(l=>(0,import_ag_grid_community150._isCellTooltipConfigured)(l.colDef)),n=i.some(({colDef:l})=>hasTooltipComponent(l)),o=!!t&&(0,import_ag_grid_community150._isCellTooltipConfigured)(t),a=hasTooltipComponent(t);!r&&!n&&!o&&!a||(e.tooltip=void 0,e.tooltipField=void 0,e.tooltipValueGetter=void 0,e.tooltipComponent=void 0,e.tooltipComponentParams=void 0,e.tooltipComponentSelector=void 0,(r||o)&&(e.tooltip=l=>this.resolveDynamicSingleColumnTooltip(l,t)),!(!n&&!a)&&(e.tooltipComponentSelector=l=>this.resolveDynamicSingleColumnTooltipComponent(l,t)))}resolveDynamicSingleColumnTooltip(e,t){const i=!!e.node?.group,r=i?e.node?.rowGroupColumn?.colDef:t;if(r)return(0,import_ag_grid_community150._resolveGroupTooltipValue)(r,e,()=>{if(i)return{resolved:!0,value:e.value};const{tooltipField:n}=r;if(!n||!e.data)return{resolved:!1};const o=!this.gos.get("suppressFieldDotNotation")&&n.includes(".");return{resolved:!0,value:(0,import_ag_grid_community150._getLegacyTooltipFieldValue)(e.data,n,o)}})}resolveDynamicSingleColumnTooltipComponent(e,t){const i=e.node?.group?e.node.rowGroupColumn?.colDef:t;if(hasTooltipComponent(i))return i.tooltipComponentSelector?i.tooltipComponentSelector(e):{component:i.tooltipComponent,params:i.tooltipComponentParams}}createBaseColDef(e){const t=this.gos.get("autoGroupColumnDef"),r={headerName:this.getLocaleTextFunc()("group","Group"),showRowGroup:e?.colId??!0};return t&&(t.cellRenderer||t.cellRendererSelector)||(r.cellRenderer="agGroupCellRenderer"),e&&(r.headerName=this.beans.colNames.getDisplayNameForColumn(e,"header")??void 0,r.headerValueGetter=e.colDef.headerValueGetter,r.headerTooltip=e.colDef.headerTooltip,r.headerTooltipValueGetter=e.colDef.headerTooltipValueGetter,r.tooltip=e.colDef.tooltip,r.tooltipField=e.colDef.tooltipField,r.tooltipValueGetter=e.colDef.tooltipValueGetter,r.tooltipComponent=e.colDef.tooltipComponent,r.tooltipComponentParams=e.colDef.tooltipComponentParams,r.tooltipComponentSelector=e.colDef.tooltipComponentSelector),r}getDeepestExpandedLevel(e,t){let i=-1;if(!e)return i;for(let r=0,n=e.length;r<n;++r){const o=e[r];if(!o.group||!o.expanded)continue;if(o.level>i&&(i=o.level),i>=t)return i;const a=this.getDeepestExpandedLevel(o.childrenAfterGroup,t);if(a>i&&(i=a),i>=t)return i}return i}updateGroupColumnVisibility(e){const t=this.columns;if(t.length===0)return;const{gos:i,visibleCols:r,rowModel:n}=this.beans,o=(0,import_ag_grid_community150._isGroupHideColumnsUntilExpanded)(i);let a=!1;if(!o)setAllColumnsVisible(t)&&(a=!0);else if(t.length>1){const l=t.length-2,c=n?.rootNode?.childrenAfterGroup,u=this.getDeepestExpandedLevel(c,l);if(u>=l)setAllColumnsVisible(t)&&(a=!0);else for(let d=0;d<t.length-1;d++)setColumnVisible(t[d+1],u>=d)&&(a=!0)}a&&e&&r.refresh("api",!1)}},autoColId=e=>e?`${import_ag_grid_community150.GROUP_AUTO_COLUMN_ID}-${e.colId}`:import_ag_grid_community150.GROUP_AUTO_COLUMN_ID,autoColsInOrder=(e,t,i)=>{if(!i||!t)return e.length===1&&e[0].colId===import_ag_grid_community150.GROUP_AUTO_COLUMN_ID;const r=t.length;if(e.length!==r)return!1;for(let n=0;n<r;++n)if(e[n].colId!==autoColId(t[n]))return!1;return!0},setColumnVisible=(e,t)=>t!==e.visible?(e.setVisible(t,"api"),!0):!1,setAllColumnsVisible=e=>{let t=!1;for(let i=0,r=e.length;i<r;++i)setColumnVisible(e[i],!0)&&(t=!0);return t},import_ag_grid_community151=require("ag-grid-community"),_sortBuckets=null,sortBucketsAlloc=e=>{const t=_sortBuckets,i=new Uint32Array(1<<32-Math.clz32(e|63));return t&&i.set(t),_sortBuckets=i,i},sortTwoLevels=(e,t,i,r)=>{const n=t-r,o=i-1;if(n===1){let u=0;for(;e[u].level===o;)++u;if(u<t-1){const d=e[u];e.copyWithin(u,u+1),e[t-1]=d}return e}if(r===1){let u=0;for(;e[u].level!==o;)++u;if(u>0){const d=e[u];e.copyWithin(1,0,u),e[0]=d}return e}const a=new Array(n);let l=0,c=0;for(let u=0;u<t;++u){const d=e[u];d.level===o?e[l++]=d:a[c++]=d}for(let u=0;u<n;++u)e[r+u]=a[u];return e},countingSort=(e,t)=>{let i=e[0].level+1,r=i,n=0,o=i,a=_sortBuckets;(!a||i>=a.length)&&(a=sortBucketsAlloc(i)),++a[i];for(let h=1;h<t;++h){const p=e[h].level+1;p>i?(i=p,i>=a.length&&(a=sortBucketsAlloc(i))):p<r&&(r=p),++a[p],n|=o-p,o=p}if(n>=0)return a.fill(0,r,i+1),e;const l=a[r],c=a[i];if(l+c===t)return a[r]=0,a[i]=0,sortTwoLevels(e,t,i,c);let u=0;for(let h=i;h>=r;--h){const p=a[h];a[h]=u,u+=p}const d=new Array(t);for(let h=0;h<t;++h){const p=e[h];d[a[p.level+1]++]=p}return a.fill(0,r,i+1),d},_sortNodesByDepthFirst=(e,t=e.length)=>{if(t===2){if(e[0].level<e[1].level){const i=e[0];e[0]=e[1],e[1]=i}return e}if(t>16)return countingSort(e,t);for(let i=1;i<t;i++){const r=e[i],n=r.level;let o=i-1;if(e[o].level<n){let a=i;do e[a]=e[o],a=o--;while(o>=0&&e[o].level<n);e[a]=r}}return e},ChangedCellsPathImpl=class{constructor(){this.kind="cells",this.rows=[],this.unsorted=!1,this.slots=new Map,this.bits=[],this.extraBits=null,this.colCount=0}addRow(e){let t=e;if(t==null)return;const i=this.slots;if(i.get(t)!==void 0){for(;t!=null&&i.get(t)>=0;)i.set(t,-1),t=t.parent;return}const r=this.rows;do i.set(t,-1),r.push(t),t=t.parent;while(t!=null&&!i.has(t));this.unsorted=!0}addCell(e,t){if(t==null){this.addRow(e);return}if(e==null)return;const i=this.slots,r=this.bits,n=i.get(t)??this.ensureCol(t);let o=i.get(e);if(o===void 0)o=this.ensureRow(e);else if(o<0)return;const a=n<32?r:this.extraBits[(n>>>5)-1],l=1<<(n&31),c=a[o];if((c&l)!==0)return;a[o]=c|l;let u=e.parent;for(;u!=null;){const d=i.get(u);if(d<0)break;const h=a[d];if((h&l)!==0)break;a[d]=h|l,u=u.parent}}hasRow(e){return this.slots.has(e)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;const e=_sortNodesByDepthFirst(this.rows);return this.rows=e,e}getSlot(e){return this.slots.get(e)??-1}hasCellBySlot(e,t){return e<0?!0:t<32?t>=0&&(this.bits[e]&1<<t)!==0:(this.extraBits[(t>>>5)-1][e]&1<<(t&31))!==0}ensureRow(e){const t=this.slots,i=this.rows,r=this.bits,n=this.extraBits;let o=r.push(0);const a=o-1;if(n!==null)for(let c=0,u=n.length;c<u;++c)n[c].push(0);t.set(e,a),i.push(e),this.unsorted=!0;let l=e.parent;for(;l!=null&&!t.has(l);){if(t.set(l,o),i.push(l),o=r.push(0),n!==null)for(let c=0,u=n.length;c<u;++c)n[c].push(0);l=l.parent}return a}ensureCol(e){const t=this.colCount++;if(this.slots.set(e,t),t>=32){const i=(t>>>5)-1;let r=this.extraBits;r===null&&(r=[],this.extraBits=r),i>=r.length&&r.push(new Array(this.bits.length).fill(0))}return t}},ChangedRowsPathImpl=class{constructor(){this.kind="rows",this.rows=[],this.unsorted=!1,this.rowSet=new Set}addRow(e){let t=e;if(t==null)return;const i=this.rowSet;if(i.has(t))return;const r=this.rows;do i.add(t),r.push(t),t=t.parent;while(t!=null&&!i.has(t));this.unsorted=!0}addCell(e,t){this.addRow(e)}hasRow(e){return this.rowSet.has(e)}getSortedRows(){if(!this.unsorted)return this.rows;this.unsorted=!1;const e=_sortNodesByDepthFirst(this.rows);return this.rows=e,e}},ChangedPathFactory=class extends import_ag_grid_community151.BeanStub{constructor(){super(...arguments),this.beanName="changedPathFactory"}newPath(e){return e?new ChangedCellsPathImpl:new ChangedRowsPathImpl}ensureRowsPath(e){let t=e.changedPath;if(!t&&e.changedRowNodes&&!e.newData){const i=this.beans.rowModel;i.hierarchical&&(t=new ChangedRowsPathImpl,e.changedPath=t,t.addRow(i.rootNode))}return t}},import_ag_stack107=require("ag-stack"),import_ag_stack106=require("ag-stack"),import_ag_grid_community152=require("ag-grid-community"),BaseExpansionService=class extends import_ag_grid_community152.BeanStub{addExpandedCss(e,t){t.isExpandable()&&(e.push("ag-row-group"),e.push(t.expanded?"ag-row-group-expanded":"ag-row-group-contracted"))}getRowExpandedListeners(e){const{rowNode:t}=e,i=this.updateExpandedCss.bind(this,e,t);return{expandedChanged:i,hasChildrenChanged:i}}setExpanded(e,t,i,r){if(e.expanded===t)return;!t&&e.sticky&&this.beans.ctrlsSvc.getScrollFeature().setVerticalScrollPosition(e.rowTop-e.stickyRowTop),e._expanded=t,e.dispatchRowEvent("expandedChanged");const n={...(0,import_ag_grid_community152._createGlobalRowEvent)(e,this.gos,"rowGroupOpened"),expanded:t,event:i||null};this.dispatchExpandedEvent(n,r)}defaultExpanded(e){const i=this.beans.gos,r=e.level??0;if(e.master&&!e.group){const a=i.get("isMasterOpenByDefault");if(a){const c=(0,import_ag_grid_community152._addGridCommonParams)(i,{rowNode:e,data:e.data,level:r});return!!a(c)}const l=i.get("masterDefaultExpanded")??i.get("groupDefaultExpanded");return l===-1||r<l}const n=e.group&&i.get("isGroupOpenByDefault");if(!n){const a=i.get("groupDefaultExpanded");return a===-1||r<a}const o=(0,import_ag_grid_community152._addGridCommonParams)(i,{rowNode:e,field:e.field,key:e.key,level:r,rowGroupColumn:e.rowGroupColumn});return!!n(o)}isExpandable(e){return this.checkExpandable(e,e.hasChildren())}checkExpandable(e,t){return e.footer?!1:this.beans.colModel.pivotMode?t&&!e.leafGroup:t||e.master}updateExpandedCss(e,t){const i=t.isExpandable(),r=t.expanded==!0,n=e.getGui();if(!n)return;const o=n.rowComp;o.toggleCss("ag-row-group",i),o.toggleCss("ag-row-group-expanded",i&&r),o.toggleCss("ag-row-group-contracted",i&&!r),i?(0,import_ag_stack106._setAriaExpanded)(n.element,r):(0,import_ag_stack106._removeAriaExpanded)(n.element)}dispatchStateUpdatedEvent(){this.eventSvc.dispatchEvent({type:"rowExpansionStateChanged"})}},CsrmExpansionService=class extends BaseExpansionService{constructor(){super(...arguments),this.beanName="expansionSvc",this.events=null,this.dispatchExpandedDebounced=null}destroy(){super.destroy(),this.events=null,this.dispatchExpandedDebounced=null}setExpansionState(e){const t=new Set(e.expandedRowGroupIds);this.beans.rowModel.forEachNode(i=>{const r=i.id;r&&(i._expanded=t.has(r))}),this.onGroupExpandedOrCollapsed()}getInternalExpansionState(e=!1){const t=[],i=[];return this.beans.rowModel.forEachNode(r=>{const n=r.id;n&&(r.expanded?t.push(n):e&&r.isExpandable()&&i.push(n))}),{expandedRowGroupIds:t,collapsedRowGroupIds:i}}getExpansionState(){return this.getInternalExpansionState()}isExpanded(e){if(e.footer)return!!e._expanded;if(!this.checkExpandable(e,!!e.group))return!1;let t=e._expanded;return t===null&&(t=this.defaultExpanded(e)??!1,e._expanded=t),!!t}resetExpansion(){const{rowModel:e}=this.beans;e.forEachNode(t=>{!t.group&&!t.master||(t._expanded=null)}),this.onGroupExpandedOrCollapsed()}expandAll(e){const{gos:t,rowModel:i,colModel:r,eventSvc:n}=this.beans,o=t.get("treeData"),a=r.isPivotActive(),l=u=>{if(u)for(const d of u){const h=()=>{d._expanded=e,l(d.childrenAfterGroup)};if(d.master){h();continue}if(o){(0,import_ag_stack107._exists)(d.childrenAfterGroup)&&h();continue}if(a){!d.leafGroup&&h();continue}d.group&&h()}},c=i.rootNode;c&&l(c.childrenAfterGroup),this.onGroupExpandedOrCollapsed(),n.dispatchEvent({type:"expandOrCollapseAll",source:e?"expandAll":"collapseAll"})}onGroupExpandedOrCollapsed(){this.dispatchStateUpdatedEvent(),this.beans.rowModel.reMapRows()}setDetailsExpansionState(e){const t=this.getInternalExpansionState(!0),i=t.collapsedRowGroupIds.length===0;if(t.expandedRowGroupIds.length===0!==i)return i?e.expandAll():e.collapseAll()}dispatchExpandedEvent(e,t){if((this.events??(this.events=[])).push(e),t){this.dispatchExpandedEvents();return}let i=this.dispatchExpandedDebounced;if(!i){if(!this.isAlive())return;i=this.debounce(()=>this.dispatchExpandedEvents()),this.dispatchExpandedDebounced=i}i()}dispatchExpandedEvents(){const{eventSvc:e,rowRenderer:t}=this.beans,i=this.events,r=i?.length;if(!r)return;this.events=null;const n=new Array(r);for(let o=0;o<r;++o)n[o]=i[o].node,e.dispatchEvent(i[o]);this.dispatchStateUpdatedEvent(),t.refreshCells({rowNodes:n})}debounce(e){const t=this.beans.animationFrameSvc;if(!t)return()=>window.setTimeout(e,0);let i=!1;return()=>{if(!t.active){window.setTimeout(e,0);return}i||(i=!0,t.addDestroyTask(()=>{i=!1,e()}))}}},import_ag_grid_community154=require("ag-grid-community"),import_ag_grid_community153=require("ag-grid-community");function _getFlattenDetails(e){let t=e.get("groupHideParentOfSingleChild");return t||(t=e.get("groupRemoveSingleChildren"),!t&&e.get("groupRemoveLowestSingleChildren")&&(t="leafGroupsOnly")),{groupHideParentOfSingleChild:t,isGroupMultiAutoColumn:(0,import_ag_grid_community153._isGroupMultiAutoColumn)(e),hideOpenParents:e.get("groupHideOpenParents"),grandTotalRow:(0,import_ag_grid_community153._getGrandTotalRow)(e),groupTotalRow:(0,import_ag_grid_community153._getGroupTotalRowCallback)(e)}}function _isRemovedSingleChildrenGroup(e,t,i){return e.groupHideParentOfSingleChild===!0&&i&&t.childrenAfterGroup.length===1}function _isRemovedLowestSingleChildrenGroup(e,t,i){return e.groupHideParentOfSingleChild==="leafGroupsOnly"&&i&&t.leafGroup&&t.childrenAfterGroup.length===1}function _shouldRowBeRendered(e,t,i,r,n,o){return r&&!i||n||o?!1:!e.hideOpenParents||t.master||t.level===-1?!0:!(!(r&&t.leafGroup)&&t.expanded)}var FlattenStage=class extends import_ag_grid_community154.BeanStub{constructor(){super(...arguments),this.beanName="flattenStage",this.step="map",this.refreshProps=["groupHideParentOfSingleChild","groupRemoveSingleChildren","groupRemoveLowestSingleChildren","groupTotalRow","masterDetail"]}execute(){const{beans:e,gos:t}=this,i=[],r=e.rowModel.rootNode;if(!r)return i;const n=e.colModel.pivotMode,o=n&&r.leafGroup&&r.aggData,a=o?[r]:r.childrenAfterSort,l=_getFlattenDetails(t);this.recursivelyAddToRowsToDisplay(l,a,i,n,0);const c=i.length>0,u=l.grandTotalRow;if(!o&&c&&u){const h=_createRowNodeFooter(r,e),p=(0,import_ag_grid_community154._getGrandTotalPinnedFloat)(u);p?this.beans.pinnedRowModel?.setGrandTotalPinned(p):this.addRowNodeToRowsToDisplay(l,h,i,0,u==="top")}return i}recursivelyAddToRowsToDisplay(e,t,i,r,n){if(!t?.length)return;const o=this.beans.masterDetailSvc;for(let a=0;a<t.length;a++){const l=t[a],c=l.hasChildren(),u=_isRemovedSingleChildrenGroup(e,l,c),d=_isRemovedLowestSingleChildrenGroup(e,l,c);if(_shouldRowBeRendered(e,l,c,r,u,d)&&this.addRowNodeToRowsToDisplay(e,l,i,n),!(r&&l.leafGroup))if(c){const p=u||d;if(l.expanded||p){const g=e.groupTotalRow({node:l});g||_destroyRowNodeFooter(l);const f=p?n:n+1;let m;g==="top"&&(m=_createRowNodeFooter(l,this.beans),this.addRowNodeToRowsToDisplay(e,m,i,f));const v=o?.getDetail(l);v&&this.addRowNodeToRowsToDisplay(e,v,i,n),this.recursivelyAddToRowsToDisplay(e,l.childrenAfterSort,i,r,f),g==="bottom"&&(m=_createRowNodeFooter(l,this.beans),this.addRowNodeToRowsToDisplay(e,m,i,f))}}else{const p=o?.getDetail(l);p&&this.addRowNodeToRowsToDisplay(e,p,i,n)}}}addRowNodeToRowsToDisplay(e,t,i,r,n){n?i.unshift(t):i.push(t),t.setUiLevel(e.isGroupMultiAutoColumn?0:r)}},import_ag_grid_community155=require("ag-grid-community"),GroupEditService=class extends import_ag_grid_community155.BeanStub{constructor(){super(...arguments),this.beanName="groupEditSvc",this.pendingEditRefresh=null,this.dropGroupTarget=null,this.dropGroupTimer=null,this.dropGroupThrottled=!1,this.draggingGroups=null}postConstruct(){(0,import_ag_grid_community155._isClientSideRowModel)(this.gos)&&this.addManagedListeners(this.eventSvc,{cellValueChanged:e=>this.onCsrmCellChange(e),batchEditingStopped:()=>this.flushGroupEdits()})}destroy(){this.stopDragging(!0),super.destroy()}isGroupingDrop(e){return!e.rowDragManaged||!e.sameGrid||!this.gos.get("refreshAfterGroupEdit")?!1:!!this.beans.rowGroupColsSvc?.columns?.length&&!this.beans.colModel.pivotMode}initDraggingGroups(e){const t=new Map,i=r=>{const n=r.childrenAfterGroup;if(n){if(t.has(r))return;const o=n.slice();t.set(r,o);for(const a of o)i(a)}};for(const r of e.rows)r.group&&i(r);this.draggingGroups=t}canSetParent(e){return e.sameGrid?this.beans.groupStage?.treeData?!0:e.rowDragManaged&&!this.gos.get("refreshAfterGroupEdit")?!1:!!this.beans.rowGroupColsSvc?.columns?.length:!1}canDropRow(e,t){if(this.beans.groupStage?.treeData)return!wouldCycle(e,t.newParent);const{position:i,target:r,newParent:n,rootNode:o}=t,a=e.parent;if(e.group&&(isAncestorOrSelf(e,r)||isAncestorOrSelf(e,n)))return!1;if(i==="inside")return!0;if(n&&n!==a)return n!==o||a===o;const l=n??r?.parent??o;if(l!==a)return!1;const c=e.group?e.level:a.level??-1;let u=-1;return r?u=r.group?r.level:r.parent?.level??-1:l&&(u=l.level),!(c>=0&&u>=0&&u!==c)}fixRowsDrop(e,t,i,r){const n=!!this.beans.groupStage?.treeData;if(e.treeData=n,!(!!this.beans.rowGroupColsSvc?.columns?.length||this.gos.get("pivotMode"))&&!n)return;!this.draggingGroups&&this.isGroupingDrop(e)&&!e.suppressMoveWhenRowDragging&&this.initDraggingGroups(e);let a=e.target,l=null,c=!1;const u=e.rootNode,d=this.beans.rowModel,h=this.canStartGroup(a,n);this.updateDropTarget(e,i,h);const p=this.beans.pageBounds?.getLastRow?.()??d.getRowCount()-1;if(t&&(!a||r>=.5&&a.rowIndex===p?l=u:e.moved&&a&&this.dropGroupThrottled&&this.shouldDropTargetBeParent(e)&&(l=a),l||(l=a?.parent??u)),!i&&a&&h&&!(a.group&&a.expanded)&&this.startDropGroupDelay(a),l){if(a&&l===a&&l!==u){const g=l.expanded?(0,import_ag_grid_community155._prevOrNextDisplayedRow)(d,1,a):null;g?.parent===l?(a=g,r=-.5):c=!0}if(a&&!c){let g=a;for(;g&&g!==u&&g!==l;)a=g,g=g.parent}}e.target=a,e.newParent=l,e.yDelta=r,e.inside=c}clearNewSameParent(e,t){const i=e.newParent;i&&(!t||rowsHaveSameParent(e.rows,i))&&(e.newParent=null)}updateDropTarget(e,t,i){const r=i?e.target:null;this.dropGroupTarget&&this.dropGroupTarget!==r&&this.resetDragGroup(),r?.childrenAfterSort?.length&&(t&&this.dropGroupThrottled&&!r.expanded&&r.isExpandable?.()&&r.setExpanded(!0,void 0,!0),this.canDropInTarget(r,e)&&(this.dropGroupThrottled=!0,this.dropGroupTarget=r))}canDropInTarget(e,t){if(e.expanded)return!0;if(!e.group)return!1;if(t.pointerPos==="inside")return!0;if(t.treeData)return!1;const i=t.rows,r=e.level;for(let n=0,o=i.length;n<o;++n){const a=i[n];if(a!==e&&a.group&&a.level!==r)return!1}return!0}startDropGroupDelay(e){if(this.dropGroupTarget&&this.dropGroupTarget!==e&&this.resetDragGroup(),this.dropGroupTarget=e,this.dropGroupTimer!==null)return;const t=this.gos.get("rowDragInsertDelay");this.dropGroupTimer=window.setTimeout(()=>{this.dropGroupTimer=null,this.dropGroupThrottled=!0,this.beans.dragAndDrop?.nudge()},t)}resetDragGroup(){this.dropGroupTimer!==null&&(window.clearTimeout(this.dropGroupTimer),this.dropGroupTimer=null),this.dropGroupTarget=null,this.dropGroupThrottled=!1}stopDragging(e){e&&(this.draggingGroups=null),this.resetDragGroup()}shouldDropTargetBeParent({target:e,rows:t,pointerPos:i,treeData:r}){if(!e||i==="none")return!1;if(i==="inside"||!r&&e.group&&!e.expanded)return!0;if(i==="above")return!1;const n=this.beans.rowModel;let a=e.rowIndex+1,l;do l=n.getRow(a++);while(l?.footer);const c=this.draggingGroups?.get(e)??e.childrenAfterGroup;if(l?.parent===e&&c?.length){const u=new Set(t);for(let d=0,h=c.length;d<h;++d){const p=c[d];if(p.rowIndex!==null&&!u.has(p))return!0}}return!1}dropGroupEdit(e){const{beans:t}=this,i=e.position,r=e.target??null,n=e.rootNode,o=e.newParent??r?.parent??n,a=t.focusSvc,l=a.getFocusedCell(),c=l&&(0,import_ag_grid_community155._getCellByPosition)(t,l),u=new Set,d=new import_ag_grid_community155._ChangedRowNodes,h=d.updates;let p;const g=y=>{u.has(y)||(u.add(y),p??(p=this.newGroupValues(o)),this.setRowGroup(y,p)&&h.add(y))},f=y=>{const S=this.draggingGroups?.get(y)??y.childrenAfterGroup,x=S?.length;if(x)for(let b=0;b<x;++b){const w=S[b];w.sourceRowIndex>=0?g(w):f(w)}};for(const y of e.rows)if(y.group)f(y);else{const S=y.sourceRowIndex>=0&&!y.destroyed?y:this.csrmFirstLeaf(y);S&&g(S)}const m=i==="inside"?"above":i,v=i==="inside"?this.findFirstLeafForParent(o,u)??r:r;let C=!1;if(u.size&&m!=="none"&&(C=(0,import_ag_grid_community155._csrmReorderAllLeafs)(n._leafs,u,v,m==="above")),!h.size&&!C)return!1;d.reordered=C;for(const y of u)d.updates.add(y);return this.csrmRefresh(d),c?c.focusCell():a.clearFocusedCell(),!0}canStartGroup(e,t){return!e||e.level<0||e.footer||e.detail?!1:e.group?!0:t}flushGroupEdits(){const e=this.pendingEditRefresh;e&&(this.pendingEditRefresh=null,this.csrmRefresh(e))}csrmRefresh(e){const t=this.beans.rowModel;t.rootNode&&t.refreshModel({step:"group",keepRenderedRows:!0,animate:!this.gos.get("suppressAnimationFrame"),changedRowNodes:e})}newGroupValues(e){const t=this.beans.rowGroupColsSvc?.columns??[],i=new Array(t.length);let r=-1,n=e;for(;n&&n.level>=0;){const o=t[n.level];if(o){const a=o.colId,l=n.level;i[l]=n.groupData?.[a]??n.key??void 0,l>r&&(r=l)}n=n.parent}return{values:i,columns:t,maxLevel:r}}setRowGroup(e,{values:t,columns:i,maxLevel:r}){if(r<0)return!1;const{valueSvc:n,changeDetectionSvc:o}=this.beans;let a=!1;o?.beginDeferred();try{for(let l=0;l<i.length;++l){const c=i[l];if(!c||l>r)continue;const u=t[l],d=n.getValueFromData(c,e);if(d===u||d==null&&u==null)continue;let h=u;const p=n.parseValue(c,e,u,d);p!==void 0&&(h=p),e.setDataValue(c,h,"rowDrag")&&(a=!0)}}finally{o?.endDeferred()}return a}onCsrmCellChange(e){const{column:t,node:i,source:r}=e;if(!this.gos.get("refreshAfterGroupEdit")||r==="rowDrag"||!t?.isRowGroupActive()||i.group||!i.data)return;if(this.beans.editSvc?.isBatchEditing()){let o=this.pendingEditRefresh;o||(o=newEditChangedRowNodes(),this.pendingEditRefresh=o),o.updates.add(i)}else{const o=newEditChangedRowNodes();o.updates.add(i),this.csrmRefresh(o)}}csrmFirstLeaf(e){if(!e)return null;const t=this.draggingGroups;let i=t?.get(e)??e.childrenAfterGroup;for(;i?.length;){const r=i[0];if(r.sourceRowIndex>=0)return r.destroyed?this.firstAliveChildLeaf(r):r;i=t?.get(r)??r.childrenAfterGroup}return(0,import_ag_grid_community155._csrmFirstLeaf)(e)}firstAliveChildLeaf(e){const t=this.draggingGroups?.get(e)??e.childrenAfterGroup;if(t){for(const i of t)if(i.sourceRowIndex>=0&&!i.destroyed)return i}return null}findFirstLeafForParent(e,t){if(!e)return null;const i=this.draggingGroups?.get(e)??e?.childrenAfterGroup;if(!i)return null;for(let r=0,n=i.length;r<n;++r){const o=i[r];if(o.sourceRowIndex>=0&&!t.has(o))return o;const a=this.findFirstLeafForParent(o,t);if(a!==null)return a}return null}},newEditChangedRowNodes=()=>{const e=new import_ag_grid_community155._ChangedRowNodes;return e.reordered=!0,e},isAncestorOrSelf=(e,t)=>{if(!e||!t)return!1;let i=t;for(;i;){if(i===e)return!0;i=i.parent}return!1},wouldCycle=(e,t)=>{if(!t||e.parent===t)return!1;let i=t;const r=e.id;for(;i;){if(i===e||r!=null&&i.id===r)return!0;i=i.parent}return!1},rowsHaveSameParent=(e,t)=>{for(let i=0,r=e.length;i<r;++i)if(e[i].parent!==t)return!1;return!0},import_ag_grid_community156=require("ag-grid-community"),syncSibling=e=>{const t=e.sibling;t&&(t.childrenAfterFilter=e.childrenAfterFilter)},passThrough=e=>{e.childrenAfterFilter=e.childrenAfterGroup,syncSibling(e)},passesFilter=(e,t)=>e.childrenAfterFilter&&e.childrenAfterFilter.length>0?!0:!!(e.data&&t.doesRowPassFilter(e)),filterDeep=(e,t,i)=>{const r=e.length;t??(t=e);const n=t.length;let o=0;for(let a=0;a<r;++a){const l=e[a];if(passesFilter(l,i)){if(o>=n||t[o]!==l)return filterDeepBuild(e,r,a,t,o,i);++o}else if(o<n)return filterDeepBuild(e,r,a,t,o,i)}return o===n?t:e},filterDeepBuild=(e,t,i,r,n,o)=>{const a=n>0?r.slice(0,n):[];for(;i<t;){const l=e[i++];passesFilter(l,o)&&a.push(l)}return a},GroupFilterStage=class extends import_ag_grid_community156.BeanStub{constructor(){super(...arguments),this.beanName="groupFilterStage",this.step="filter",this.refreshProps=["excludeChildrenWhenTreeDataFiltering"]}wireBeans(e){this.filterManager=e.filterManager}execute(e){const t=this.filterManager;t?.isChildFilterPresent()?this.doingTreeDataFiltering()?this.treeDataFilter(t):this.filterActive(t,e):(0,import_ag_grid_community156._forEachChangedGroupDepthFirst)(this.beans.rowModel.rootNode,!0,e,passThrough)}filterActive(e,t){const i=r=>{const n=r.childrenAfterGroup;n?r.childrenAfterFilter=filterDeep(n,r.childrenAfterFilter,e):r.childrenAfterFilter=n,syncSibling(r)};(0,import_ag_grid_community156._forEachChangedGroupDepthFirst)(this.beans.rowModel.rootNode,!0,t,i)}treeDataFilter(e){const t=(r,n)=>{const o=r.childrenAfterGroup;o&&!n?r.childrenAfterFilter=filterDeep(o,r.childrenAfterFilter,e):r.childrenAfterFilter=o,syncSibling(r)},i=(r,n)=>{const o=r.childrenAfterGroup;if(o)for(let a=0,l=o.length;a<l;++a){const c=o[a],u=n||e.doesRowPassFilter(c);c.childrenAfterGroup?i(c,u):t(c,u)}t(r,n)};i(this.beans.rowModel.rootNode,!1)}doingTreeDataFiltering(){return!!this.beans.groupStage?.treeData&&!this.gos.get("excludeChildrenWhenTreeDataFiltering")}},import_ag_stack108=require("ag-stack"),import_ag_grid_community157=require("ag-grid-community"),GroupSortStage=class extends import_ag_grid_community157.BeanStub{constructor(){super(...arguments),this.beanName="groupSortStage",this.step="sort",this.refreshProps=["postSortRows","groupDisplayType","accentedSort","groupMaintainOrder"]}execute(e,t){const{gos:i,colModel:r,groupStage:n,rowGroupColsSvc:o,rowModel:a,rowNodeSorter:l,rowRenderer:c,sortSvc:u,showRowGroupCols:d}=this.beans,h=u?.getSortOptions()??[],p=h.length>0,g=i.getCallback("postSortRows"),f=p&&!g&&i.get("deltaSort")&&t,m=o?.columns,v=p&&m?.length&&!n?.treeData&&i.get("groupMaintainOrder")?partitionSortOptionsByLevel(h,m):null,C=!v&&p?h:void 0,y=r.pivotMode;let S=!1;function x(b){const w=y&&b.leafGroup;let P;w||(P=v?v[b.level+1]:C);const F=b.childrenAfterSort,T=b.childrenAfterAggFilter,R=F?.[0];let A;P?f?A=(0,import_ag_grid_community157._doDeltaSort)(l,b,f,e,P):A=l.doFullSortInPlace(T?.slice()??[],P):A=(0,import_ag_stack108._reuseArrayIfEqual)(F,T),b.childrenAfterSort=A,(0,import_ag_grid_community157._updateRowNodeAfterSort)(b),g?.({nodes:A}),S||(S=R!==A[0])}if((0,import_ag_grid_community157._forEachChangedGroupDepthFirst)(a.rootNode,!0,e,x),S&&i.get("groupHideOpenParents")){const b=d?.columns;b?.length&&c.refreshCells({columns:b,force:!0})}}},partitionSortOptionsByLevel=(e,t)=>{const i=e.length,r=t.length,n=r,o=new Map;for(let l=0;l<r;++l){const c=t[l];o.set(c,l),o.set(c.colId,l)}const a=new Array(r+1);for(let l=0;l<i;++l){const c=e[l],u=c.column,d=u.colDef,h=d.showRowGroup,p=d.field!=null||d.valueGetter!=null||d.comparator!=null;if(h===!0){for(let v=0;v<r;++v)(a[v]??(a[v]=[])).push(c);p&&(a[n]??(a[n]=[])).push(c);continue}const g=typeof h=="string",f=g?h:u,m=o.get(f);m!==void 0?((a[m]??(a[m]=[])).push(c),g&&p&&(a[n]??(a[n]=[])).push(c)):(!g||p)&&(a[n]??(a[n]=[])).push(c)}return a},import_ag_grid_community158=require("ag-grid-community"),GroupStage=class extends import_ag_grid_community158.BeanStub{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(){const e=this.gos;this.hasRowGrouping=e.isModuleRegistered("RowGrouping"),e.isModuleRegistered("TreeData")&&(this.hasTreeData=!0,this.gosTreeData=e.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(e){return this.strategy?.nonLeafsById?.get(e)}getNestedDataGetter(){return this.getStrategy()?.nestedDataGetter}onPropChange(e){const t=this.gos,i=this.strategy?.nestedDataGetter;return e.has("treeData")&&(this.gosTreeData=t.get("treeData")&&this.hasTreeData,this.columnsInvalidated=!0),this.strategy?.onPropChange?.(e),this.getNestedDataGetter()!==i}extractData(){const e=this.beans.rowModel.rootNode,t=this.nested?e?.childrenAfterGroup:e?._leafs;if(!t)return this.gos.get("rowData")??[];const i=t.length,r=new Array(i);let n=0;for(let o=0;o<i;++o){const a=t[o].data;a!=null&&(r[n++]=a)}return r.length=n,r}execute(e){const t=this.beans,i=t.rowModel,r=i.rootNode;if(!r)return!1;const n=this.getStrategy(),o=!!n?.nestedDataGetter,a=this.needReset;if(this.nested=o,a&&(this.needReset=!1,t.rowDragSvc?.cancelRowDrag(),e.animate=!1,resetGrouping(r,!o,t)),!n){i.hierarchical=!1;return}return i.hierarchical=!0,t.changedPathFactory?.ensureRowsPath(e,r),n.execute(r,e)||a}loadLeafs(e){return e.footer?loadFooterLeafs(e):loadRealLeafs(e)}loadGroupData(e){const t=this.getStrategy();return t?t.loadGroupData(e):(e._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 e=this.strategy;const t=this.beans.colModel.pivotMode;if(t!==this.pivotMode&&(this.pivotMode=t,this.columnsInvalidated=!0),e!==void 0&&!this.columnsInvalidated&&this.isAlive())return e;this.columnsInvalidated=!1;const i=this.getWantedStrategyType();if(i===this.strategyType)return e!==void 0?e:(this.strategy=null,null);if(e&&(this.strategy=this.destroyBean(e),this.needReset=!0),this.strategyType=i,this.treeData=i==="tree",this.grouping=i==="group",i==="none")return this.strategy=null,null;const r=i==="tree"?"treeGroupStrategy":"groupStrategy";return e=this.beans.registry.createDynamicBean(r,!1)??null,this.strategy=e&&this.createBean(e),e}},loadFooterLeafs=e=>{const t=e.sibling;if(!t)return null;const i=t._leafs;return i!==void 0?i:loadRealLeafs(t)},loadRealLeafs=e=>{const t=e.childrenAfterGroup,i=t?.length;if(e._leafs=null,!i)return null;let r;const n=i===1?t[0]:null;if(n?.group&&n.sourceRowIndex<0)r=n._leafs,r===void 0&&(r=loadRealLeafs(n));else if(e.leafGroup)r=t;else{r=[];for(let o=0;o<i;++o){const a=t[o];if(a.sourceRowIndex>=0&&r.push(a),!a.group)continue;let l=a._leafs;if(l===void 0&&(l=loadRealLeafs(a)),l)for(let c=0,u=l.length;c<u;++c)r.push(l[c])}}return e._leafs=r,r},resetGrouping=(e,t,i)=>{const r=e._leafs,n=e.sibling;e.treeNodeFlags=0,e.childrenAfterGroup=r,e.childrenMapped=null,e._groupData=void 0,e.aggData=null,n&&(n.childrenAfterGroup=e.childrenAfterGroup,n.childrenAfterAggFilter=e.childrenAfterAggFilter,n.childrenAfterFilter=e.childrenAfterFilter,n.childrenAfterSort=e.childrenAfterSort,n.childrenMapped=null,n._groupData=void 0,n.aggData=null);for(let o=0,a=r.length??0;o<a;++o){const l=r[o],c=l.sibling;l._leafs=void 0,resetChildRowGrouping(l),c&&resetChildRowGrouping(c),l.parent=e,t&&(l.treeParent=null),setRowNodeGroup(l,i,!1)}e.updateHasChildren()},resetChildRowGrouping=e=>{e.key=null,e.treeNodeFlags=0,e.allChildrenCount=null,e.childrenAfterGroup=null,e.childrenAfterAggFilter=null,e.childrenAfterFilter=null,e.childrenAfterSort=null,e.childrenMapped=null,e.level=0,e._groupData=void 0},import_ag_stack110=require("ag-stack"),import_ag_grid_community160=require("ag-grid-community"),import_ag_stack109=require("ag-stack"),import_ag_grid_community159=require("ag-grid-community");function _isHiddenParent(e,t,i){let r=e;const n=r.level-t.level;if(n<=0||!i.get("groupHideOpenParents"))return!1;for(let a=0;a<n;a++){if(!(r.parent?.getFirstChild()===r))return!1;r=r.parent}return r===t}var GroupCellRendererCtrl=class extends import_ag_grid_community159.BeanStub{constructor(){super(...arguments),this.indentClass=null}init(e,t,i,r,n,o,a){this.params=a,this.eGui=t,this.eCheckbox=i,this.eExpanded=r,this.eContracted=n,this.comp=e,this.compClass=o;const{node:l,column:c}=a;if(this.node=l,this.displayedNode=l,!this.isEmbeddedRowMismatch()){if(l.footer){this.initFooterCell();return}if(!c){this.initFullWidthCell();return}this.displayedNode=this.beans.showRowGroupColValueSvc?.getDisplayedNode(l,c)??this.node,this.setupExpand(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}}initFooterCell(){const{node:e}=this.params;this.addGroupValue(),this.setupIndent(),e.level===-1||this.comp.toggleCss("ag-row-group-leaf-indent",!0)}initFullWidthCell(){const e=()=>{const{rowDragSvc:t}=this.beans;if(!this.params.rowDrag||!t)return;const i=t.createRowDragComp(()=>this.params.value,this.params.node);this.createManagedBean(i),this.eGui.insertAdjacentElement("afterbegin",i.getGui())};this.setupExpand(),e(),this.setupCheckbox(),this.addGroupValue(),this.setupIndent()}getCellAriaRole(){const e=this.params.colDef?.cellAriaRole,t=this.params.column?.getColDef().cellAriaRole;return e||t||"gridcell"}isEmbeddedRowMismatch(){if(!this.params.fullWidth||!this.gos.get("embedFullWidthRows"))return!1;const{visibleCols:e}=this.beans,t=this.params.pinned==="left",i=this.params.pinned==="right",r=!t&&!i;return this.gos.get("enableRtl")?e.leftCols.length>0?!i:!r:e.leftCols.length>0?!t:!r}addGroupValue(){const{params:{value:e,valueFormatted:t}}=this,i=this.getInnerCompDetails();this.comp.setInnerRenderer(i,t??e??null)}setupExpand(){const{colModel:e}=this.beans,{eGridCell:t,suppressDoubleClickExpand:i}=this.params,r=(c,u)=>{const d=(0,import_ag_grid_community159._createIconNoSpan)(c,this.beans,null);d&&(u.appendChild(d),this.addDestroyFunc(()=>d.remove()))};r("groupExpanded",this.eExpanded),r("groupContracted",this.eContracted);const n=this.comp,o=()=>{if(!this.isExpandable())return;const u=!!this.displayedNode.expanded;n.setExpandedDisplayed(u),n.setContractedDisplayed(!u),(0,import_ag_stack109._setAriaExpanded)(t,u)},a=()=>{const c=this.isExpandable();n.toggleCss("ag-cell-expandable",c),n.toggleCss("ag-row-group",c);const u=!c&&e.pivotMode;n.toggleCss("ag-pivot-leaf-group",u);const d=!e.pivotMode&&(!this.displayedNode.footer||this.displayedNode.level!==-1);n.toggleCss("ag-row-group-leaf-indent",!c&&d);const h=this.getChildCount(),p=h>0?`(${h})`:"";n.setChildCount(p),c?o():(n.setExpandedDisplayed(!1),n.setContractedDisplayed(!1),(0,import_ag_stack109._removeAriaExpanded)(t))};!i&&!this.isGroupCellEditable(this.displayedNode)&&this.addManagedListeners(t,{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(t,{keydown:this.onKeyDown.bind(this)}),this.addManagedListeners(this.displayedNode,{allChildrenCountChanged:a,masterChanged:a,groupChanged:a,hasChildrenChanged:a,expandedChanged:o}),a()}getInnerCompDetails(){const{userCompFactory:e,findSvc:t}=this.beans,i=this.params;if(i.fullWidth){const c=this.gos.get("groupRowRendererParams"),u=(0,import_ag_grid_community159._getInnerCellRendererDetails)(e,c,i);return u||(t?.isMatch(i.node,null)?(0,import_ag_grid_community159._getInnerCellRendererDetails)(e,{...c,innerRenderer:"agFindCellRenderer"},i):void 0)}const r=c=>c&&c.componentClass==this.compClass,n=(0,import_ag_grid_community159._getInnerCellRendererDetails)(e,i,i);if(n&&!r(n))return n;const{displayedNode:{rowGroupColumn:o}}=this,a=o?.colDef,l=o&&i.column?.isRowGroupDisplayed(o.getId());if(a&&l){const c=(0,import_ag_grid_community159._getCellRendererDetails)(e,a,i);if(c)if(r(c)){if(a?.cellRendererParams?.innerRenderer)return(0,import_ag_grid_community159._getInnerCellRendererDetails)(e,a.cellRendererParams,i)}else return c}if(t?.isMatch(i.node,i.column))return(0,import_ag_grid_community159._getCellRendererDetails)(e,{...a??i.colDef,cellRenderer:"agFindCellRenderer"},i)}getChildCount(){const{column:e,suppressCount:t}=this.params;if(t)return 0;const{allChildrenCount:i,rowGroupColumn:r}=this.displayedNode;return!((i??0)>0&&(!r||!e||e?.isRowGroupDisplayed(r.getId())))||this.gos.get("showOpenedGroup")&&this.displayedNode!==this.node&&!_isHiddenParent(this.node,this.displayedNode,this.gos)?0:i??0}isExpandable(){const{node:e,column:t,colDef:i}=this.params;if(!this.displayedNode.isExpandable()||e.rowPinned)return!1;if(!t)return!0;if(e.hasChildren()&&i){const{showRowGroup:o}=i;if(!o)return!1;if(o===!0)return!0}return e===this.displayedNode?e.rowGroupColumn&&t?.isRowGroupDisplayed(e.rowGroupColumn.getId())?!0:e.master?i?.showRowGroup===!0||i?.showRowGroup==null:!1:_isHiddenParent(this.node,this.displayedNode,this.gos)}setupIndent(){const{suppressPadding:e,node:t,colDef:i}=this.params;if(e)return;const r=()=>{let n=t.uiLevel;i&&i.showRowGroup!==!0&&(n=0);const o="ag-row-group-indent-"+n;o!==this.indentClass&&(this.indentClass&&this.comp.toggleCss(this.indentClass,!1),this.indentClass=o,this.comp.toggleCss(o,!0),this.eGui.style.setProperty("--ag-indentation-level",String(n)))};this.addManagedListeners(t,{uiLevelChanged:r.bind(this)}),r()}setupCheckbox(){const{node:e}=this.params;!e.footer&&!e.rowPinned&&!e.detail&&(this.addManagedPropertyListener("rowSelection",({currentValue:i,previousValue:r})=>{const n=typeof i=="object"?i:void 0,o=typeof r=="object"?r:void 0;n?.checkboxLocation!==o?.checkboxLocation&&(this.destroyCheckbox(),this.addCheckbox())}),this.addCheckbox())}addCheckbox(){const{selectionSvc:e}=this.beans;if(!e||!(0,import_ag_grid_community159._isRowSelection)(this.gos))return;const{node:t,column:i}=this.params,r=this.gos.get("rowSelection"),n=(0,import_ag_grid_community159._getCheckboxLocation)(r);if(n==="selectionColumn")return;if(n==="autoGroupColumn"){const u=i?.getColDef().showRowGroup!=null,d=!i&&t.group;if(!(u||d))return}const o=typeof r=="object"?(0,import_ag_grid_community159._getCheckboxes)(r):this.params.checkbox;if(!(typeof o=="function"||o===!0))return;if(typeof i?.getColDef().showRowGroup=="string"&&!this.isExpandable()){this.comp.setCheckboxSpacing(!0);return}const c=e.createCheckboxSelectionComponent();this.cbComp=c,this.createBean(c),c.init({rowNode:t,column:i,overrides:{isVisible:o,callbackParams:this.params,removeHidden:!0}}),this.eCheckbox.appendChild(c.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(e){const t=this.params.column;return!!t&&(!!t.getColDef().groupRowEditable||this.gos.get("enableGroupEdit"))&&t.isCellEditable(e)}onExpandClicked(e){(0,import_ag_grid_community159._isStopPropagationForAgGrid)(e)||((0,import_ag_grid_community159._stopPropagationForAgGrid)(e),this.onExpandOrContract(e))}onKeyDown(e){!(e.key===import_ag_grid_community159.KeyCode.ENTER)||this.params.suppressEnterExpand||this.isGroupCellEditable(this.params.node)||this.onExpandOrContract(e)}onCellDblClicked(e){if((0,import_ag_grid_community159._isStopPropagationForAgGrid)(e))return;(0,import_ag_stack109._isElementInEventPath)(this.eExpanded,e)||(0,import_ag_stack109._isElementInEventPath)(this.eContracted,e)||this.onExpandOrContract(e)}onExpandOrContract(e){if(!this.isExpandable())return;const t=this.displayedNode;t.setExpanded(!t.expanded,e)}destroy(){super.destroy(),this.destroyCheckbox()}},GroupCellRendererElement={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"}]},GroupCellRenderer=class extends import_ag_grid_community160.Component{constructor(){super(GroupCellRendererElement),this.eExpanded=import_ag_stack110.RefPlaceholder,this.eContracted=import_ag_stack110.RefPlaceholder,this.eCheckbox=import_ag_stack110.RefPlaceholder,this.eValue=import_ag_stack110.RefPlaceholder,this.eChildCount=import_ag_stack110.RefPlaceholder}init(e){const t={setInnerRenderer:(o,a)=>this.setRenderDetails(o,a),setChildCount:o=>this.eChildCount.textContent=o,toggleCss:(o,a)=>this.toggleCss(o,a),setContractedDisplayed:o=>(0,import_ag_stack110._setDisplayed)(this.eContracted,o),setExpandedDisplayed:o=>(0,import_ag_stack110._setDisplayed)(this.eExpanded,o),setCheckboxVisible:o=>(0,import_ag_stack110._setVisible)(this.eCheckbox,o),setCheckboxSpacing:o=>this.eCheckbox.classList.toggle("ag-group-checkbox-spacing",o)},i=this.createManagedBean(new GroupCellRendererCtrl),r=!e.colDef,n=this.getGui();i.init(t,n,this.eCheckbox,this.eExpanded,this.eContracted,this.constructor,e),r&&(0,import_ag_stack110._setAriaRole)(n,i.getCellAriaRole())}setRenderDetails(e,t){e?e.newAgStackInstance().then(i=>{if(!i)return;const r=()=>this.destroyBean(i);this.isAlive()?(this.eValue.appendChild(i.getGui()),this.addDestroyFunc(r)):r()}):this.eValue.innerText=t}destroy(){this.destroyBean(this.innerCellRenderer),super.destroy()}refresh(){return!1}},groupCellStyles_default=".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)}",import_ag_grid_community161=require("ag-grid-community"),ShowRowGroupColValueService=class extends import_ag_grid_community161.BeanStub{constructor(){super(...arguments),this.beanName="showRowGroupColValueSvc"}getGroupValue(e,t,i){if(!t)return e.group?{displayedNode:e,value:e.groupValue}:null;const r=this.beans.valueSvc,n=t.showRowGroup;if(!n)return null;if(e.level===-1&&e.footer)return{displayedNode:e,value:null};if(typeof n=="string"){const a=this.beans.colModel.colsById[n];if(a?.rowGroupActive&&a.rowGroupActiveIndex>e.level)return null;const l=this.getDisplayedNode(e,t,!0);if(l)return{displayedNode:l,value:r.getValueFromData(t,l,i)}}const o=r.getValueFromData(t,e,i);if(o==null){const a=this.getDisplayedNode(e,t);if(a)return{displayedNode:a,value:r.getValueFromData(t,a,i)}}return{displayedNode:e,value:o}}formatAndPrefixGroupColValue(e,t,i=!1){const r=this.formatGroupColValue(e,t,i),{value:n,displayedNode:o}=e,a=this.beans.footerSvc;return a?.doesCellShowTotalPrefix(o,t)?a.applyTotalPrefix(n,r,o,t):o.footer&&o.level===-1?null:r}formatGroupColValue(e,t,i=!1){const r=this.beans.valueSvc,{displayedNode:n,value:o}=e,a=n.rowGroupColumn,l=n.group&&!t;if(a&&(l||t?.isRowGroupDisplayed(a.colId))){if(i&&a.colDef.useValueFormatterForExport===!1)return null;const u=r.formatValue(a,n,o);return n.key===""&&!u?this.getLocaleTextFunc()("blanks","(Blanks)"):u}return!t||n.group||i&&t.colDef.useValueFormatterForExport===!1?null:r.formatValue(t,n,o)}getDisplayedNode(e,t,i=!1){const r=this.gos,n=r.get("groupHideOpenParents"),o=r.get("showOpenedGroup")&&!i;if(!n&&!o)return;const a=t.showRowGroup;if(a===!0)return e.group?void 0:e.parent??void 0;let l=e;for(;l&&l.rowGroupColumn?.colId!=a;){const c=l===l.parent?.getFirstChild();if(!o&&!c)return;l=l.parent}if(l!==e)return l??void 0}},import_ag_stack111=require("ag-stack"),import_ag_grid_community162=require("ag-grid-community"),ShowRowGroupColsService=class extends import_ag_grid_community162.BeanStub{constructor(){super(...arguments),this.beanName="showRowGroupCols",this.columns=[],this.sourceCols=[],this.colsSet=new Set}destroy(){super.destroy(),this.columns.length=0,this.colsSet.clear(),this.clearStamps()}clearStamps(){const e=this.sourceCols;for(let t=0,i=e.length;t<i;++t)e[t].showRowGroupCol=null;e.length=0}refresh(){const{colModel:e,rowGroupColsSvc:t}=this.beans,i=this.columns,r=this.colsSet;this.clearStamps();const n=this.sourceCols,o=i.length;let a=0,l=!1;const c=e.colsList;for(let u=0,d=c.length;u<d;++u){const h=c[u],g=h.colDef.showRowGroup;if(typeof g=="string"){const f=e.getNonPivotColById(g);f&&(f.showRowGroupCol=h,n.push(f))}else if(g===!0){const f=t?.columns;if(f)for(let m=0,v=f.length;m<v;++m){const C=f[m];C.showRowGroupCol=h,n.push(C)}}else continue;l||(l=a>=o||!r.has(h)),i[a++]=h}if(l||(l=a!==o),l){i.length=a,r.clear();for(let u=0;u<a;++u)r.add(i[u]);this.eventSvc.dispatchEvent({type:"showRowGroupColsSetChanged"})}}getSourceColumnsForGroupColumn(e){const t=e.showRowGroup;if(!t)return null;const{rowGroupColsSvc:i,colModel:r}=this.beans;if(t===!0)return i?i.columns:null;const n=r.getNonPivotCol(t);return n?[n]:null}isRowGroupDisplayed(e,t){const i=e.showRowGroup;return i===!0||i!=null&&i===t}interleaveSortedColumns(e){const t=this.beans.rowGroupColsSvc?.columns;if(!t)return e;const i=new Map;for(let o=0,a=t.length;o<a;++o){const l=t[o],c=l.sortDef.direction?l.showRowGroupCol:null;c&&(0,import_ag_stack111._pushToMapArray)(i,c,l)}if(i.size===0)return e;const r=new Set,n=[];for(let o=0,a=e.length;o<a;++o){const l=e[o],c=l.showRowGroupCol??l;if(r.has(c))continue;r.add(c),n.push(c);const u=i.get(c);for(let d=0,h=u?.length??0;d<h;++d)n.push(u[d])}return n}fillCoupledSortIndexMap(e,t){let i=-1;for(let r=0,n=e.length;r<n;++r){const o=e[r],a=o.showRowGroupCol;t.set(o,a&&a!==o?i:++i)}return i}isGroupSortMixed(e,t){const i=this.getSourceColumnsForGroupColumn(e);if(!i)return!0;for(let r=0,n=i.length;r<n;++r)if(t!==i[r].sortDef.direction)return!0;return!1}},import_ag_grid_community164=require("ag-grid-community"),import_ag_stack112=require("ag-stack"),import_ag_grid_community163=require("ag-grid-community"),StickyRowFeature=class extends import_ag_grid_community163.BeanStub{constructor(e,t){super(),this.createRowCon=e,this.destroyRowCtrls=t,this.stickyTopRowCtrls=[],this.stickyBottomRowCtrls=[],this.extraTopHeight=0,this.extraBottomHeight=0}postConstruct(){this.isClientSide=(0,import_ag_grid_community163._isClientSideRowModel)(this.gos),this.beans.ctrlsSvc.whenReady(this,e=>{this.gridBodyCtrl=e.gridBodyCtrl}),this.resetStickyContainers()}setOffsetTop(e){this.extraTopHeight!==e&&(this.extraTopHeight=e,this.eventSvc.dispatchEvent({type:"stickyTopOffsetChanged",offset:e}))}setOffsetBottom(e){this.extraBottomHeight!==e&&(this.extraBottomHeight=e)}resetOffsets(){this.setOffsetBottom(0),this.setOffsetTop(0)}getLastPixelOfGroup(e){return this.isClientSide?getClientSideLastPixelOfGroup(e):getServerSideLastPixelOfGroup(e)}getFirstPixelOfGroup(e){const t=e.footer&&e.sibling;return t?t.rowTop+t.rowHeight-1:e.hasChildren()?e.rowTop-1:0}updateStickyRows(e){const t=e==="top";let i=0;if(!this.canRowsBeSticky())return this.refreshNodesAndContainerHeight(e,new Set,i);const r=new Set,{rowModel:n,rowRenderer:o,pinnedRowModel:a,pageBounds:l,rowContainerHeight:c}=this.beans,{pageFirstPixel:u,pageLastPixel:d}=l.getCurrentPagePixelRange(),h=t?o.firstVisibleVPixel-this.extraTopHeight:o.lastVisibleVPixel-this.extraTopHeight,p=o.lastVisibleVPixel-o.firstVisibleVPixel,g=p>0?p*this.gos.get("stickyRowsMaxViewportRatio"):Number.MAX_SAFE_INTEGER,f=c.divStretchOffset??0,m=u+f,v=d+f,C=w=>{if(r.add(w),t){const P=this.getLastPixelOfGroup(w),F=h+i+w.rowHeight;P<F?w.stickyRowTop=i+(P-F):w.stickyRowTop=i}else{const P=this.getFirstPixelOfGroup(w),F=h-(i+w.rowHeight);P>F?w.stickyRowTop=i-(P-F):w.stickyRowTop=i}i=0,r.forEach(P=>{const F=P.stickyRowTop+P.rowHeight;i<F&&(i=F)})},y=this.areFooterRowsStickySuppressed(),S=this.gos.get("suppressGroupRowsSticky");let x=h;const b=w=>{if(!w.displayed||w.rowHeight>g)return!1;if(w.footer){if(y===!0||y==="grand"&&w.level===-1||y==="group"&&w.level>-1)return!1;if(w.level>-1){const F=w.sibling?.rowIndex,T=w.rowIndex,R=F!=null&&T!=null?F+1===T:!1;if(e==="bottom"&&R||e==="top"&&!R)return!1}if(w.level===-1&&a?.getGrandTotalPinned())return!1;if(e==="bottom"){if(w.level===-1)return!r.has(w);{const F=w.sibling,T=F?.rowIndex;if(T==null)return!1;const R=n.getRowBounds(T),A=R?.rowTop??F.rowTop,E=R?.rowHeight??F.rowHeight;if(A==null||E==null||A+E-1>x)return!1}}return!r.has(w)}return w.isExpandable()?S===!0||e==="bottom"?!1:!r.has(w)&&!!w.expanded:!1};for(let w=0;w<100;w++){let P=h+i;t||(P=h-i),t&&P<m?P=m:!t&&P>v&&(P=v),x=P;const F=n.getRowIndexAtPixel(P),T=n.getRow(F);if(T==null)break;const A=this.getStickyAncestors(T).find(_=>(t?_.rowIndex<F:_.rowIndex>F)&&b(_));if(A){if(i+A.rowHeight>g)break;C(A);continue}if((t?T.rowTop<P:T.rowTop+T.rowHeight>P)&&b(T)){if(i+T.rowHeight>g)break;C(T);continue}break}return t||r.forEach(w=>{w.stickyRowTop=i-(w.stickyRowTop+w.rowHeight)}),this.refreshNodesAndContainerHeight(e,r,i)}areFooterRowsStickySuppressed(){const e=this.gos.get("suppressStickyTotalRow");if(e===!0)return!0;const t=e==="group",i=e==="grand";return t&&i?!0:i?"grand":t?"group":!1}canRowsBeSticky(){const e=(0,import_ag_grid_community163._isGroupRowsSticky)(this.gos),t=this.areFooterRowsStickySuppressed(),i=this.gos.get("suppressGroupRowsSticky");return e&&(!t||!i)}getStickyAncestors(e){const t=[];let i=e.footer?e.sibling:e.parent;for(;i;)i.sibling&&t.push(i.sibling),t.push(i),i=i.parent;return t.reverse()}checkStickyRows(){const e=this.updateStickyRows("top"),t=this.updateStickyRows("bottom");return e||t}destroyStickyCtrls(){this.resetStickyContainers()}resetStickyContainers(){this.refreshNodesAndContainerHeight("top",new Set,0),this.refreshNodesAndContainerHeight("bottom",new Set,0)}refreshStickyNode(e){const t=new Set;if(this.stickyTopRowCtrls.some(i=>i.rowNode===e)){for(let i=0;i<this.stickyTopRowCtrls.length;i++){const r=this.stickyTopRowCtrls[i].rowNode;r!==e&&t.add(r)}this.refreshNodesAndContainerHeight("top",t,this.topContainerHeight)&&this.checkStickyRows();return}for(let i=0;i<this.stickyBottomRowCtrls.length;i++){const r=this.stickyBottomRowCtrls[i].rowNode;r!==e&&t.add(r)}this.refreshNodesAndContainerHeight("bottom",t,this.bottomContainerHeight)&&this.checkStickyRows()}refreshNodesAndContainerHeight(e,t,i){const r=e==="top",n=r?this.stickyTopRowCtrls:this.stickyBottomRowCtrls,o={},a=[];for(let g=0;g<n.length;g++){const f=n[g].rowNode;if(!t.has(f)){o[f.id]=n[g],f.sticky=!1;continue}a.push(n[g])}const l=new Set;for(let g=0;g<a.length;g++)l.add(a[g].rowNode);const c=[];t.forEach(g=>{l.has(g)||(g.sticky=!0,c.push(this.createRowCon(g,!1,!1)))});let u=!!c.length||a.length!==n.length;r?this.topContainerHeight!==i&&(this.topContainerHeight=i,this.gridBodyCtrl.setStickyTopHeight(i),u=!0):this.bottomContainerHeight!==i&&(this.bottomContainerHeight=i,this.gridBodyCtrl.setStickyBottomHeight(i),u=!0),this.destroyRowCtrls(o,!1);const d=[...a,...c];d.sort((g,f)=>f.rowNode.rowIndex-g.rowNode.rowIndex),r||d.reverse();for(const g of d)g.setRowTop(g.rowNode.stickyRowTop);const h=this.beans.pageBounds;let p=0;if(r){for(const g of t)g.rowIndex<h.getFirstRow()&&(p+=g.rowHeight);p>this.topContainerHeight&&(p=this.topContainerHeight),this.setOffsetTop(p)}else{for(const g of t)g.rowIndex>h.getLastRow()&&(p+=g.rowHeight);p>this.bottomContainerHeight&&(p=this.bottomContainerHeight),this.setOffsetBottom(p)}return u?(r?this.stickyTopRowCtrls=d:this.stickyBottomRowCtrls=d,!0):!1}ensureRowHeightsValid(){let e=!1;const t=i=>{const r=i.rowNode;if(r.rowHeightEstimated){const n=(0,import_ag_grid_community163._getRowHeightForNode)(this.beans,r);r.setRowHeight(n.height),e=!0}};return this.stickyTopRowCtrls.forEach(t),this.stickyBottomRowCtrls.forEach(t),e}};function getServerSideLastPixelOfGroup(e){if(e.isExpandable()||e.footer){if(e.master&&e.detailNode)return e.detailNode.rowTop+e.detailNode.rowHeight;if(!e.sibling||Math.abs(e.sibling.rowIndex-e.rowIndex)===1){let i=e.childStore?.getStoreBounds();return e.footer&&(i=e.sibling?.childStore?.getStoreBounds()),(i?.heightPx??0)+(i?.topPx??0)}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}function getClientSideLastPixelOfGroup(e){if(e.isExpandable()||e.footer){if(e.footer&&e.rowIndex===0)return Number.MAX_SAFE_INTEGER;if(!e.sibling||Math.abs(e.sibling.rowIndex-e.rowIndex)===1){let r=e.footer&&e.sibling||e;for(;r.isExpandable()&&r.expanded;)if(r.master&&r.detailNode)r=r.detailNode;else if(r.childrenAfterSort){if(r.childrenAfterSort.length===0)break;r=(0,import_ag_stack112._last)(r.childrenAfterSort)}return r.rowTop+r.rowHeight}return e.footer?e.rowTop+e.rowHeight:e.sibling.rowTop+e.sibling.rowHeight}return Number.MAX_SAFE_INTEGER}var StickyRowService=class extends import_ag_grid_community164.BeanStub{constructor(){super(...arguments),this.beanName="stickyRowSvc"}createStickyRowFeature(e,t,i){const r=this.gos;if((0,import_ag_grid_community164._isGroupRowsSticky)(r)&&(0,import_ag_grid_community164._isClientSideRowModel)(r)||(0,import_ag_grid_community164._isServerSideRowModel)(r))return e.createManagedBean(new StickyRowFeature(t,i))}},GroupCellRendererModule={moduleName:"GroupCellRenderer",version:VERSION,userComponents:{agGroupRowRenderer:GroupCellRenderer,agGroupCellRenderer:GroupCellRenderer},dynamicBeans:{groupCellRendererCtrl:GroupCellRendererCtrl},icons:{groupContracted:"tree-closed",groupExpanded:"tree-open"},css:[groupCellStyles_default],dependsOn:[EnterpriseCoreModule]},GroupColumnModule={moduleName:"GroupColumn",version:VERSION,beans:[AutoColService,ShowRowGroupColsService,ShowRowGroupColValueService,RowGroupColsSvc,PivotColsSvc,ValueColsSvc],dependsOn:[EnterpriseCoreModule,GroupCellRendererModule]},ChangedPathModule={moduleName:"ChangedPath",version:VERSION,beans:[ChangedPathFactory],dependsOn:[EnterpriseCoreModule]},CsrmHierarchyModule={moduleName:"CsrmHierarchy",version:VERSION,rowModels:["clientSide"],beans:[FlattenStage,CsrmExpansionService],dependsOn:[ChangedPathModule]},CsrmGroupStagesModule={moduleName:"CsrmGroupStages",version:VERSION,rowModels:["clientSide"],beans:[GroupStage,GroupFilterStage,GroupSortStage],dependsOn:[CsrmHierarchyModule]},StickyRowModule={moduleName:"StickyRow",version:VERSION,beans:[StickyRowService]},GroupEditModule={moduleName:"GroupEdit",version:VERSION,beans:[GroupEditService],dependsOn:[CsrmHierarchyModule]},import_ag_grid_community165=require("ag-grid-community"),import_ag_stack113=require("ag-stack"),commitEdit=e=>{const t=e.edit,i=t.node,r=[];if(e.treeDepth===0){for(let l=i.next;l!==i;l=l.next)r.push(l.col);e.columns=r,e.columnTree=r;return}const n=new Map,o=new Set;for(let l=i.next;l!==i;l=l.next){const c=l.col;r.push(c);let u=c.originalParent;for(;u!==null&&!o.has(u);)o.add(u),(0,import_ag_stack113._pushToMapArray)(n,u.originalParent,u),u=u.originalParent;(0,import_ag_stack113._pushToMapArray)(n,c.originalParent,c)}let a=e.columnTree;for(const l of t.affectedParents){const c=n.get(l)??[];l!==null?l.children=c:a=c}e.columns=r,e.columnTree=a},openEdit=e=>{const t={col:null,prev:null,next:null},i=new Map,r=e.columns;let n=t;for(let a=0,l=r.length;a<l;++a){const c={col:r[a],prev:n,next:t};n.next=c,i.set(r[a].colId,c),n=c}n.next=t,t.prev=n;const o={node:t,byId:i,affectedParents:new Set,commit:commitEdit};return e.edit=o,o},appendColumnToTree=(e,t,i)=>{const r=e.edit??openEdit(e),n=r.node,o=r.byId,a=i!=null?o.get(i):void 0,l=a??n.prev,c=l.next,u={col:t,prev:l,next:c};if(l.next=u,c.prev=u,o.set(t.colId,u),a){const h=a.col.originalParent;t.originalParent=h,e.treeDepth>0&&r.affectedParents.add(h);return}t.originalParent=null;const d=e.treeDepth;d>0&&(e.wrapperCache.wrap(t,d,e.buildToken),r.affectedParents.add(null))},prependWrappedColumnsToTree=(e,t)=>{const i=t.length;if(i===0)return;const r=e.edit??openEdit(e),n=r.node,o=r.byId,a=e.wrapperCache,l=e.treeDepth,c=e.buildToken;for(let u=i-1;u>=0;--u){const d=t[u];d.buildToken=c,a.wrap(d,l,c);const h=n.next,p={col:d,prev:n,next:h};n.next=p,h.prev=p,o.set(d.colId,p)}l>0&&r.affectedParents.add(null)},import_ag_stack114=require("ag-stack"),getDate=({valueSvc:e,dataTypeSvc:t},i,r)=>{const n=r?e.getValueFromData(i,r):void 0;let o=null;return n instanceof Date?o=n:typeof n=="string"&&(o=(t?.getDateParserFunction(i)??import_ag_stack114._parseDateTimeFromString)(n)??null),o},getDatePartValueGetter=(e,t,i,r)=>n=>{const o=getDate(e,t,n.node),a=(0,import_ag_stack114._getDateParts)(o);return a?r?.(a[i])??a[i]:null},getHeaderValueGetter=({colNames:e},t,i)=>r=>{const n=e.getDisplayNameForColumn(t,r.location);return n?`${n} (${i})`:""},MONTH_TO_LOCALE_KEY=Object.fromEntries(import_ag_stack114.MONTHS.map(e=>[e,e.toLowerCase()])),numericalMonthToNamedMonth=e=>{const t=import_ag_stack114.MONTHS[Number.parseInt(e,10)-1]??e,i=MONTH_TO_LOCALE_KEY[t]??e;return{month:t,localeKey:i}},DATE_PART_SPECS={year:{label:"Year",index:0},quarter:{label:"Quarter",index:1,map:e=>Math.ceil(Number(e)/3).toString()},month:{label:"Month",index:1},formattedMonth:{label:"Month",localeKey:"month",index:1,map:(e,t)=>{const i=numericalMonthToNamedMonth(e);return t(i.localeKey,i.month)}},day:{label:"Day",index:2},hour:{label:"Hour",index:3},minute:{label:"Minute",index:4},second:{label:"Second",index:5}},GroupHierarchyColService=class extends import_ag_grid_community165.BeanStub{constructor(){super(...arguments),this.beanName="groupHierarchyColSvc",this.columns=[],this.sourceColumnMap=new Map,this.virtualColInfo=new Map}contributeTo(e){const{plan:t,matches:i}=this.planHierarchy(e.columns);if(t.length===0){this.columns.length>0&&this.clearColumns();return}i?this.reapplyDefs(t,e.source):this.rebuildColumns(t),prependWrappedColumnsToTree(e,this.columns)}reapplyDefs(e,t){const{columns:i,gos:r}=this;for(let n=0,o=e.length;n<o;++n){const{sourceCol:a,part:l,colId:c}=e[n],u=i[n],d=this.createColDefForPart(l,a,c,u.colDef);u.setColDef(d,null,t)&&r.validateColDef(d,c,!0)}}rebuildColumns(e){const{sourceColumnMap:t,virtualColInfo:i,beans:r,gos:n}=this;t.clear(),i.clear();const o=new Array(e.length);for(let a=0,l=e.length;a<l;++a){const{sourceCol:c,part:u,colId:d}=e[a],h=this.createColDefForPart(u,c,d);n.validateColDef(h,d,!0);const p=new import_ag_grid_community165.AgColumn(h,null,d,!0,"hierarchy");r.context.createBean(p),o[a]=p;const g=t.get(c);i.set(p,{source:c,index:g?.length??0}),g?g.push(p):t.set(c,[p])}this.columns=o}planHierarchy(e){const t=this.gos.get("groupHierarchyConfig"),i=this.columns,r=[];let n=!0;for(let o=0,a=e.length;o<a;++o){const l=e[o],c=hierarchyPartsForCol(l);if(c!=null)for(let u=0,d=c.length;u<d;++u){const h=c[u],p=makeHierarchyColId(l.colId,h,t);if(p===null)continue;const g=r.length;n&&(g>=i.length||i[g].colId!==p)&&(n=!1),r.push({sourceCol:l,part:h,colId:p})}}return{plan:r,matches:n&&r.length===i.length}}destroy(){this.clearColumns(),super.destroy()}clearColumns(){this.columns=[],this.sourceColumnMap.clear(),this.virtualColInfo.clear()}compareVirtualColumns(e,t){const i=this.virtualColInfo,r=i.get(e),n=i.get(t);return r!==void 0&&n!==void 0?r.source===n.source?r.index-n.index:null:n?.source===e?1:r?.source===t?-1:null}getVirtualCols(e){return this.sourceColumnMap.get(e)}createColDefForPart(e,t,i,r){const{beans:n,gos:o}=this;if(typeof e!="string")return(0,import_ag_grid_community165._addColumnDefaultAndTypes)(n,e,i,!0);const{enableRowGroup:a,enablePivot:l}=t.colDef,c={enableRowGroup:a,enablePivot:l,hide:!0,editable:!1},u=o.get("groupHierarchyConfig")??{};if(e in u){const f={...c,...u[e]};return f.colId??(f.colId=i),(0,import_ag_grid_community165._addColumnDefaultAndTypes)(n,f,f.colId,!0)}const d=(0,import_ag_grid_community165._addColumnDefaultAndTypes)(n,{colId:i,...c},i,!0);if(r?.valueGetter)return{...d,headerValueGetter:r.headerValueGetter,valueGetter:r.valueGetter};const h=DATE_PART_SPECS[e],p=this.getLocaleTextFunc(),{map:g}=h;return{...d,headerValueGetter:getHeaderValueGetter(n,t,p(h.localeKey??e,h.label)),valueGetter:getDatePartValueGetter(n,t,h.index,g&&(f=>g(f,p)))}}},makeHierarchyColId=(e,t,i)=>typeof t!="string"?t.colId||null:i?.[t]===void 0&&!(t in DATE_PART_SPECS)?null:`${import_ag_grid_community165.GROUP_HIERARCHY_COLUMN_ID_PREFIX}-${e}-${t}`,hierarchyPartsForCol=e=>{const t=e.colDef;return!t.rowGroup&&!t.enableRowGroup&&t.rowGroupIndex==null&&!t.pivot&&!t.enablePivot&&t.pivotIndex==null?null:t.groupHierarchy??t.rowGroupingHierarchy},GroupHierarchyModule={moduleName:"GroupHierarchy",version:VERSION,beans:[GroupHierarchyColService],dependsOn:[ChangedPathModule]},import_ag_grid_community166=require("ag-grid-community"),AgGridHeaderDropZones=class extends import_ag_grid_community166.Component{constructor(){super()}postConstruct(){this.setGui(this.createNorthPanel());const e=this.onRowGroupChanged.bind(this);this.addManagedEventListeners({columnRowGroupChanged:e,newColumnsLoaded:e}),this.addManagedPropertyListener("rowGroupPanelShow",e),this.addManagedPropertyListener("pivotPanelShow",()=>this.onPivotPanelShow()),this.onRowGroupChanged()}createNorthPanel(){const e=(0,import_ag_grid_community166._createElement)({tag:"div",cls:"ag-column-drop-wrapper",role:"presentation"}),t=new RowGroupDropZonePanel(!0);this.rowGroupComp=this.createManagedBean(t);const i=new PivotDropZonePanel(!0);this.pivotComp=this.createManagedBean(i),e.appendChild(t.getGui()),e.appendChild(i.getGui());const r=this.onDropPanelVisible.bind(this);return this.addManagedListeners(t,{displayChanged:r}),this.addManagedListeners(i,{displayChanged:r}),this.onDropPanelVisible(),e}onDropPanelVisible(){const{rowGroupComp:e,pivotComp:t}=this,i=e.isDisplayed()&&t.isDisplayed(),r="ag-column-drop-horizontal-half-width";e.toggleCss(r,i),t.toggleCss(r,i)}onRowGroupChanged(){const e=this.rowGroupComp;if(!e)return;const t=this.gos.get("rowGroupPanelShow");if(t==="always")e.setDisplayed(!0);else if(t==="onlyWhenGrouping"){const i=this.beans.rowGroupColsSvc?.columns?.length!==0;e.setDisplayed(i)}else e.setDisplayed(!1)}onPivotPanelShow(){const e=this.pivotComp;if(!e)return;const t=this.gos.get("pivotPanelShow");if(t==="always")e.setDisplayed(!0);else if(t==="onlyWhenPivoting"){const i=this.beans.colModel.isPivotActive();e.setDisplayed(i)}else e.setDisplayed(!1)}getFocusableContainers(){return[this.rowGroupComp,this.pivotComp].filter(e=>!!e)}},AgGridHeaderDropZonesSelector={selector:"AG-GRID-HEADER-DROP-ZONES",component:AgGridHeaderDropZones},import_ag_grid_community167=require("ag-grid-community"),RowGroupPanelBuilder=class extends import_ag_grid_community167.BeanStub{constructor(){super(...arguments),this.beanName="rowGroupPanelBuilder"}createRowGroupDropZone(e,t=!1){return new RowGroupDropZonePanel(e,void 0,t)}createPivotDropZone(e,t=!1){return new PivotDropZonePanel(e,void 0,t)}},import_ag_stack115=require("ag-stack"),import_ag_grid_community168=require("ag-grid-community");function processGroupFilterParams(e){return e.buttons&&(e.buttons=[]),e}var GroupFilterElement={tag:"div",cls:"ag-group-filter",children:[{tag:"div",ref:"eGroupField"},{tag:"div",ref:"eUnderlyingFilter"}]},GroupFilter=class extends import_ag_grid_community168.TabGuardComp{constructor(){super(GroupFilterElement),this.filterType="group",this.eGroupField=import_ag_stack115.RefPlaceholder,this.eUnderlyingFilter=import_ag_stack115.RefPlaceholder}wireBeans(e){this.groupFilterSvc=e.groupFilter}postConstruct(){this.initialiseTabGuard({})}init(e){return this.params=e,this.updateParams().then(()=>{this.addHandlerListeners(this.updateGroups.bind(this))})}refresh(e){const t=e;return this.params=t,t.source==="colDef"&&this.updateParams(),!0}updateParams(){return this.validateParams(),this.updateGroups()}validateParams(){const{colDef:e}=this.params;e.field&&this.beans.log.warn(234),e.filterValueGetter&&this.beans.log.warn(235),e.filterParams&&this.beans.log.warn(236)}addHandlerListeners(e){const t=this.addManagedListeners(this.getHandler(),{sourceColumnsChanged:()=>{this.updateGroups()},destroyed:()=>{for(const i of t)i();this.addHandlerListeners(e)}})}updateGroups(){const{sourceColumns:e,selectedColumn:t}=this.updateGroupField();return this.dispatchLocalEvent({type:"columnsChanged"}),this.getUnderlyingFilters(e,t)}updateGroupField(){this.groupColumn=this.params.column;const e=this.getHandler();if(!e)return{sourceColumns:null};const{sourceColumns:t,hasMultipleColumns:i,selectedColumn:r}=e,n=this.eGroupField;return(0,import_ag_stack115._clearElement)(n),this.eGroupFieldSelect&&this.destroyBean(this.eGroupFieldSelect),i&&t&&(this.createGroupFieldSelectElement(t,r),n.appendChild(this.eGroupFieldSelect.getGui()),n.appendChild((0,import_ag_grid_community168._createElement)({tag:"div",cls:"ag-filter-separator"}))),(0,import_ag_stack115._setDisplayed)(n,i),{sourceColumns:t,selectedColumn:r}}createGroupFieldSelectElement(e,t){const i=this.createManagedBean(new import_ag_grid_community168.AgSelect);this.eGroupFieldSelect=i;const r=this.getLocaleTextFunc();i.setLabel(r("groupFilterSelect","Select field:")),i.setLabelAlignment("top"),i.addOptions(e.map(n=>({value:n.colId,text:this.beans.colNames.getDisplayNameForColumn(n,"groupFilter",!1)??void 0}))),i.setValue(t.colId),i.onValueChange(n=>this.updateSelectedColumn(n)),i.addCss("ag-group-filter-field-select-wrapper"),e.length===1&&i.setDisabled(!0)}getUnderlyingFilters(e,t){if(!e)return this.filterColumnPairs=void 0,this.selectedFilter=void 0,import_ag_grid_community168.AgPromise.resolve();const i=[],r=[],n=this.beans.colFilter;for(const o of e){const a=n.getOrCreateFilterUi(o);a&&i.push(a.then(l=>{l&&r.push({filter:l,column:o}),o.colId===t.colId&&(this.selectedFilter=l??void 0)}))}return import_ag_grid_community168.AgPromise.all(i).then(()=>{this.filterColumnPairs=r})}addUnderlyingFilterElement(e){if((0,import_ag_stack115._clearElement)(this.eUnderlyingFilter),!e)return import_ag_grid_community168.AgPromise.resolve();const t=this.createManagedBean(new import_ag_grid_community168.FilterComp(e,"COLUMN_MENU"));return this.filterComp=t,t.hasFilter()?(this.eUnderlyingFilter.appendChild(t.getGui()),t.getFilter()?.then(()=>{t.afterGuiAttached?.(this.afterGuiAttachedParams),!this.afterGuiAttachedParams?.suppressFocus&&this.eGroupFieldSelect&&!this.eGroupFieldSelect.isDisabled()&&this.eGroupFieldSelect.getFocusableElement().focus()})??import_ag_grid_community168.AgPromise.resolve()):import_ag_grid_community168.AgPromise.resolve()}updateSelectedColumn(e){if(!e)return;this.filterComp?.afterGuiDetached(),this.destroyBean(this.filterComp);const t=this.getFilterColumnPair(e),i=t?.column;this.selectedFilter=t?.filter,this.getHandler().setSelectedColumn(i),this.dispatchLocalEvent({type:"columnsChanged"}),this.addUnderlyingFilterElement(i)}isFilterActive(){return this.groupFilterSvc.isFilterActive(this.groupColumn)}doesFilterPass(){return!0}getModel(){return null}setModel(){}afterGuiAttached(e){this.afterGuiAttachedParams=e,this.addUnderlyingFilterElement(this.getHandler().selectedColumn)}afterGuiDetached(){(0,import_ag_stack115._clearElement)(this.eUnderlyingFilter),this.selectedFilter?.afterGuiDetached?.()}getSelectedColumn(){return this.getHandler().selectedColumn}getHandler(){return this.params.getHandler()}getFilterColumnPair(e){if(e)return this.filterColumnPairs?.find(({column:t})=>t.colId===e)}},import_ag_grid_community169=require("ag-grid-community"),GroupFilterHandler=class extends import_ag_grid_community169.BeanStub{init(e){this.params=e,this.validateModel(e),this.updateColumns(),this.addManagedEventListeners({columnRowGroupChanged:this.updateColumns.bind(this),filterDestroyed:t=>this.onFilterDestroyed(t)})}refresh(e){this.params=e,this.validateModel(e),e.source==="colDef"&&this.updateColumns()}doesFilterPass(){return!0}setSelectedColumn(e){this.selectedColumn=e,this.dispatchLocalEvent({type:"selectedColumnChanged"})}validateModel(e){e.model!=null&&e.onModelChange(null)}getSourceColumns(){const e=this.params.column;if(this.gos.get("treeData"))return this.warn(237),[];const t=this.beans.groupFilter.getSourceColumns(e);return t||(this.warn(183),[])}updateColumns(){const e=this.getSourceColumns(),t=e.filter(n=>n.isFilterAllowed());this.sourceColumns=t;let i,r;t.length?e.length===1?(i=t[0],r=!1):(i=this.selectedColumn,(!i||!t.some(n=>n.getId()===i.getId()))&&(i=t[0]),r=!0):(i=void 0,r=!1),this.selectedColumn=i,this.hasMultipleColumns=r,this.dispatchLocalEvent({type:"sourceColumnsChanged"})}onFilterDestroyed({column:e,source:t}){if(t==="gridDestroyed")return;const i=e.getColId();this.sourceColumns?.some(r=>r.colId===i)&&setTimeout(()=>{this.isAlive()&&this.updateColumns()})}},import_ag_grid_community170=require("ag-grid-community"),GroupFilterService=class extends import_ag_grid_community170.BeanStub{constructor(){super(...arguments),this.beanName="groupFilter"}postConstruct(){this.addManagedEventListeners({columnRowGroupChanged:()=>this.updateFilterFlags("columnRowGroupChanged")})}isGroupFilter(e){return e.colDef.filter==="agGroupColumnFilter"}isFilterAllowed(e){const t=this.beans.colFilter;return!!this.getSourceColumns(e)?.some(i=>t?.isFilterAllowed(i))}isFilterActive(e){const t=this.beans.colFilter;return!!this.getSourceColumns(e)?.some(i=>t?.isFilterActive(i))}getSourceColumns(e){return this.beans.showRowGroupCols?.getSourceColumnsForGroupColumn(e)}updateFilterFlags(e,t){const{autoColSvc:i,colFilter:r}=this.beans,n=i?.columns;if(!(!n||!r))for(let o=0,a=n.length;o<a;++o){const l=n[o];this.isGroupFilter(l)&&r.setColFilterActive(l,this.isFilterActive(l),e,t)}}},import_ag_stack116=require("ag-stack"),import_ag_grid_community171=require("ag-grid-community"),GroupFloatingFilterElement={tag:"div",ref:"eFloatingFilter",cls:"ag-group-floating-filter ag-floating-filter-input",role:"presentation"},GroupFloatingFilterComp=class extends import_ag_grid_community171.Component{constructor(){super(GroupFloatingFilterElement),this.eFloatingFilter=import_ag_stack116.RefPlaceholder,this.haveAddedColumnListeners=!1}init(e){this.params=e;const t=(0,import_ag_grid_community171._isGroupMultiAutoColumn)(this.gos),i=this.onColChange.bind(this),r=n=>{t?this.setupUnderlyingFloatingFilterElement().then(()=>n()):(this.setupReadOnlyFloatingFilterElement(),n())};return this.gos.get("enableFilterHandlers")?new import_ag_grid_community171.AgPromise(n=>r(n)).then(()=>{this.addHandlerListeners(e,i)}):new import_ag_grid_community171.AgPromise(n=>{this.params.parentFilterInstance(o=>{this.parentFilterInstance=o,r(n)})}).then(()=>{this.addManagedListeners(this.parentFilterInstance,{columnsChanged:i})})}refresh(e){if(this.params=e,this.setParams(),this.gos.get("enableFilterHandlers"))if(this.showingUnderlyingFloatingFilter){const t=this.getSelectedColumn(),i=this.beans.colFilter.getFloatingFilterCompDetails(t,this.params.showParentFilter);this.underlyingFloatingFilter?.refresh?.(i?.params)}else this.updateDisplayedValue()}setParams(){const e=this.beans.colNames.getDisplayNameForColumn(this.params.column,"header",!0),t=this.getLocaleTextFunc();this.eFloatingFilterText?.setInputAriaLabel(`${e} ${t("ariaFilterInput","Filter Input")}`)}addHandlerListeners(e,t){const i=this.addManagedListeners(e.getHandler(),{selectedColumnChanged:t,sourceColumnsChanged:t,destroyed:()=>{for(const r of i)r();this.addHandlerListeners(this.params,t)}})}setupReadOnlyFloatingFilterElement(){this.eFloatingFilterText||(this.eFloatingFilterText=this.createManagedBean(new import_ag_grid_community171.AgInputTextField),this.eFloatingFilterText.setDisabled(!0).addGuiEventListener("click",()=>this.params.showParentFilter()),this.setParams()),this.updateDisplayedValue(),this.eFloatingFilter.appendChild(this.eFloatingFilterText.getGui())}setupUnderlyingFloatingFilterElement(){this.showingUnderlyingFloatingFilter=!1,this.underlyingFloatingFilter=void 0,(0,import_ag_stack116._clearElement)(this.eFloatingFilter);const e=this.getSelectedColumn();if(e&&!e.isVisible()){const t=this.beans.colFilter,i=t.getFloatingFilterCompDetails(e,this.params.showParentFilter);if(i)return this.haveAddedColumnListeners||(this.haveAddedColumnListeners=!0,this.addManagedListeners(e,{visibleChanged:this.onColumnVisibleChanged.bind(this),colDefChanged:this.onColDefChanged.bind(this)})),i.newAgStackInstance().then(r=>{this.underlyingFloatingFilter=r,this.underlyingFloatingFilter?.onParentModelChanged(t.getModelForColumn(e)),this.appendChild(r.getGui()),this.showingUnderlyingFloatingFilter=!0})}return this.setupReadOnlyFloatingFilterElement(),import_ag_grid_community171.AgPromise.resolve()}getSelectedColumn(){return this.gos.get("enableFilterHandlers")?this.params.getHandler().selectedColumn:this.parentFilterInstance.getSelectedColumn()}onColumnVisibleChanged(){this.setupUnderlyingFloatingFilterElement()}onColDefChanged(e){if(!e.column)return;const t=this.beans.colFilter.getFloatingFilterCompDetails(e.column,this.params.showParentFilter);t&&this.underlyingFloatingFilter?.refresh?.(t.params)}onParentModelChanged(e,t){this.showingUnderlyingFloatingFilter?this.underlyingFloatingFilter?.onParentModelChanged(this.beans.colFilter.getModelForColumn(this.getSelectedColumn()),t):this.updateDisplayedValue()}updateDisplayedValue(){const e=this.eFloatingFilterText;if(!e)return;const t=this.beans.colFilter,i=this.getSelectedColumn(),r=n=>{if(!n)e.setValue(""),e.setDisplayed(!1);else{const o=i?t.getModelForColumn(i):null;e.setValue(o==null?"":n.getModelAsString?.(o)??""),e.setDisplayed(!0)}};i?this.gos.get("enableFilterHandlers")?r(t.getHandler(i)):t.getOrCreateFilterUi(i)?.then(n=>{r(n)}):r()}onColChange(){this.showingUnderlyingFloatingFilter||this.updateDisplayedValue()}},import_ag_grid_community172=require("ag-grid-community"),makeGroupColumns=(e,t)=>{if(!e){t.length=0;return}const i=e.length;t.length=i;for(let r=0;r<i;r++){const n=e[r],o=n.colDef;t[r]={col:n,field:o.field,type:o.type,keyCreator:o.keyCreator,valueGetter:o.valueGetter}}},groupColumnsChanged=(e,t)=>{const i=e.length;if(i!==t?.length)return!0;for(let r=0;r<i;r++){const n=e[r],o=t[r];if(n.col!==o)return!0;const a=o.colDef;if(n.field!==a.field||n.type!==a.type||n.valueGetter!==a.valueGetter||n.keyCreator!==a.keyCreator)return!0}return!1};function sortGroupChildren(e){if(!e)return!1;const t=e.length;if(t<2)return!1;let i=!1;for(let r=1;r<t;r++)if(compareGroupChildren(e[r-1],e[r])>0){i=!0;break}return i?(e.sort(compareGroupChildren),!0):!1}function compareGroupChildren(e,t){const i=e.sourceRowIndex,r=t.sourceRowIndex,n=i>=0,o=r>=0,a=n&&o,l=!n&&!o;return a?i-r:l?e.__objectId-t.__objectId:n?1:-1}var GroupStrategy=class extends import_ag_grid_community172.BeanStub{constructor(){super(...arguments),this.groupCols=[],this.nonLeafsById=new Map,this.pivotMode=!1,this.groupEmpty=!1,this.checkGroupCols=!0}wireBeans(e){this.colModel=e.colModel,this.rowModel=e.rowModel,this.valueSvc=e.valueSvc,this.selectionSvc=e.selectionSvc,this.showRowGroupCols=e.showRowGroupCols,this.rowGroupColsSvc=e.rowGroupColsSvc}invalidateGroupCols(){this.checkGroupCols=!0}destroy(){super.destroy(),this.groupCols.length=0,this.nonLeafsById.clear()}clearNonLeafs(){const e=this.nonLeafsById;for(const t of e.values())t._destroy(null);e.clear()}loadGroupData(e){if(!e.group)return e._groupData=null,null;const t=e.rowGroupColumn,{valueSvc:i,showRowGroupCols:r}=this,n={};if(e._groupData=n,!t)return n;const o=(0,import_ag_grid_community172._csrmFirstLeaf)(e),a=t.getId();if(!r)return n;const l=r.columns;for(let c=0,u=l.length;c<u;++c){const d=l[c];d.isRowGroupDisplayed(a)&&(n[d.colId]=o&&i.getValueFromData(t,o))}return n}execute(e,t){const i=t.changedPath;if(this.initRefresh(t)!=="skip"){const n=t.changedRowNodes;n?this.handleDeltaUpdate(e,i,n,!!t.animate):this.shotgunResetEverything(e)}this.positionLeafsAndGroups(e,i),this.orderGroups(e)}positionLeafsAndGroups(e,t){(0,import_ag_grid_community172._forEachChangedGroupDepthFirst)(e,!0,t,i=>{const r=i.childrenAfterGroup,n=r?.length;if(!n)return;const o=new Array(n);let a=0,l=!1,c;for(let u=0;u<n;++u){const d=r[u];if(!d.childrenAfterGroup?.length)l||(l=a!==u),o[a++]=d;else if(!c&&d.key===""){c=d;const h=n-1;l||(l=u!==h),o[h]=d}}if(l){for(let d=0;d<n;++d){const h=r[d];h.childrenAfterGroup?.length&&h!==c&&(o[a++]=h)}i.childrenAfterGroup=o;const u=i.sibling;u&&(u.childrenAfterGroup=o)}})}initRefresh(e){const{rowGroupColsSvc:t,colModel:i,gos:r}=this;this.pivotMode=i.pivotMode,this.groupEmpty=this.pivotMode||!r.get("groupAllowUnbalanced");const n=t?.columns,o=this.groupCols,a=e.afterColumnsChanged;if(a||!o||this.checkGroupCols)if(this.checkGroupCols=!1,o&&!groupColumnsChanged(o,n)){if(a)return"skip"}else{e.animate=!1;const l=o[0]?.col.getId()!==n?.[0]?.getId();return makeGroupColumns(n,o),l?"refresh":"groupColsChanged"}return"refresh"}handleDeltaUpdate(e,t,{removals:i,updates:r,adds:n,reordered:o},a){const l=new Set;for(let c=0,u=i.length;c<u;++c){const d=i[c],h=this.removeFromParent(d);l.has(h)||(l.add(h),t?.addRow(h))}for(const c of r){const u=c.parent;if(t?.addRow(u),this.moveNodeInWrongPath(e,c)){l.add(u);const d=c.parent;t?.addRow(d),o||(o=(d?.childrenAfterGroup?.length??0)>1)}}if(n.size)for(const c of n){this.insertOneNode(e,c);const u=c.parent;t?.addRow(u),o||(o=(u?.childrenAfterGroup?.length??0)>1)}l.size&&(batchedRemove(l),this.removeEmptyGroups(l,a)),o&&this.sortChildren(e,t)}sortChildren(e,t){(0,import_ag_grid_community172._forEachChangedGroupDepthFirst)(e,!0,void 0,i=>{sortGroupChildren(i.childrenAfterGroup)&&t?.addRow(i)})}orderGroups(e){const t=this.gos.getCallback("initialGroupOrderComparator");if(!t)return;const i=this.beans,r=i.gridApi,n=i.gridOptions.context,o=(l,c)=>t({api:r,context:n,nodeA:l,nodeB:c}),a=l=>{const c=l.childrenAfterGroup,u=c?.length;if(!(!u||l.leafGroup)){u>1&&c.sort(o);for(let d=0,h=u;d<h;++d)a(c[d])}};a(e)}moveNodeInWrongPath(e,t){const{valueSvc:i}=this.beans,r=this.groupEmpty;let n=t.parent,o=!1;const a=this.groupCols;if(!a)return!1;for(let l=a.length-1;l>=0;--l){const{col:c}=a[l];let u=i.getKeyForNode(c,t);if(u==null||u===""){if(!r)continue;u=""}if(!n?.parent||n.key!==u){o=!0;break}n=n.parent}return o||(o=!!n?.parent),o?(this.removeFromParent(t),this.insertOneNode(e,t),t.setData(t.data),!0):!1}groupShouldBeRemoved(e){const t=this.getChildrenMappedKey(e.key,e.rowGroupColumn),i=e.parent?.childrenMapped;return(i?!i[t]:!0)?!1:!!e.group&&(e.childrenAfterGroup?.length??0)===0}removeEmptyGroups(e,t){const i=this.selectionSvc,r=Array.from(e),n=this.nonLeafsById;do{e.clear();for(let o=0;o<r.length;++o){let a=r[o];for(;a;){const l=a.parent;if(a.destroyed){r[o]=l,a=l;continue}if(!l)break;if(!this.groupShouldBeRemoved(a)){a=l;continue}e.add(l),this.removeFromParent(a),a.isSelected()&&i?.removeFromSelection?.(a,"rowGroupChanged"),r[o]=l,n.delete(a.id),a._destroy(t),a=l}}batchedRemove(e)}while(e.size)}removeFromParent(e){const t=e.parent;if(t){const i=this.getChildrenMappedKey(e.key,e.rowGroupColumn),r=t.childrenMapped;r&&delete r[i]}return e.setRowTop(null),e.setRowIndex(null),t}addToParent(e,t){const i=t.childrenMapped??(t.childrenMapped={}),r=this.getChildrenMappedKey(e.key,e.rowGroupColumn);if(i[r]!==e){i[r]=e;let n=t.childrenAfterGroup;if(!n){t.childrenAfterGroup=n=[];const o=t.sibling;o&&(o.childrenAfterGroup=t.childrenAfterGroup)}n.push(e),setRowNodeGroup(t,this.beans,!0),invalidateAllLeafChildren(t)}}shotgunResetEverything(e){const t=this.nonLeafsById;for(const n of t.values())n.childrenAfterGroup=null,n.childrenMapped=null;e.leafGroup=!this.groupCols?.length,e.childrenAfterGroup=[],e.childrenMapped={},e.updateHasChildren();const i=e.sibling;i&&(i.childrenAfterGroup=e.childrenAfterGroup,i.childrenMapped=e.childrenMapped);const r=e._leafs;for(let n=0,o=r.length;n<o;++n)this.insertOneNode(e,r[n]);this.destroyStaleGroups(t)}destroyStaleGroups(e){const t=this.selectionSvc;for(const[i,r]of e)r.childrenAfterGroup===null&&(r.isSelected()&&t?.removeFromSelection?.(r,"rowGroupChanged"),e.delete(i),r._destroy(!1))}insertOneNode(e,t){let i=e;const{valueSvc:r,groupCols:n,groupEmpty:o}=this;if(!n)return;const a=n.length;for(let l=0;l<a;++l){const c=n[l],u=c.col;let d=r.getKeyForNode(u,t);if(d==null||d===""){if(!o)continue;d=""}const h=i.childrenMapped?.[this.getChildrenMappedKey(d,u)];if(h){i=h;continue}const p=i.level+1,g=p>=a-1,f=this.createGroup(i,c,d,p,g,t);this.addToParent(f,i),i=f}i.group||this.warn(184,{parentGroupData:i.data,childNodeData:t.data}),t.parent=i,t.level=i.level+1,i.childrenAfterGroup.push(t),i.updateHasChildren(),invalidateAllLeafChildren(i)}createGroup(e,t,i,r,n,o){const a=t.col,l=(e.level>=0?e.id+"-":"row-group-")+(a.colId+"-"+i),c=this.nonLeafsById;let u=c.get(l),d=!0;if(u){if(u.childrenAfterGroup!==null)return u._expanded??(u._expanded=null),u;d=!1,invalidateAllLeafChildren(u)}else u=new import_ag_grid_community172.RowNode(this.beans),u.group=!0,u.key=i,u.id=l,u.aggData=null,c.set(l,u);const h=m=>{m.childrenAfterGroup=p,m.childrenMapped=g,m.parent=e,m.level=r,m.rowGroupIndex=r,m.leafGroup=n},p=[],g={};if(h(u),u.field=t.field??null,u.rowGroupColumn=a,u.groupValue=this.valueSvc.getValueFromData(a,o),u._expanded??(u._expanded=null),d)return u.setAllChildrenCount(0),u.updateHasChildren(),u;const f=u.sibling;return f&&h(f),u.dispatchRowEvent("hasChildrenChanged"),u}getChildrenMappedKey(e,t){return t?t.getId()+"-"+e:e}onShowRowGroupColsSetChanged(){const{rowModel:e,valueSvc:t}=this;for(const r of this.nonLeafsById.values()){r._groupData=void 0;const n=r.rowGroupColumn,o=n&&(0,import_ag_grid_community172._csrmFirstLeaf)(r);r.groupValue=o&&t.getValueFromData(n,o)}const i=e.rootNode?._leafs;if(i)for(let r=0,n=i.length;r<n;++r){const o=i[r];o.parent._groupData=void 0}}},batchedRemove=e=>{for(const t of e){const i=t?.childrenAfterGroup;if(!i)continue;const r=i.length;let n=0;for(let o=0;o<r;++o){const a=i[o];a.parent===t&&!a.destroyed&&(n!==o&&(i[n]=a),++n)}r!==n&&(i.length=n,t.updateHasChildren(),invalidateAllLeafChildren(t))}},invalidateAllLeafChildren=e=>{for(;e._leafs!==void 0;){const t=e.parent;if(!t)break;e._leafs=void 0,e=t}};function setRowGroupColumns(e,t){e.rowGroupColsSvc?.setColumns(t,"api")}function removeRowGroupColumns(e,t){e.rowGroupColsSvc?.removeColumns(t,"api")}function addRowGroupColumns(e,t){e.rowGroupColsSvc?.addColumns(t,"api")}function moveRowGroupColumn(e,t,i){e.rowGroupColsSvc?.moveColumn(t,i,"api")}function getRowGroupColumns(e){return e.rowGroupColsSvc?.columns??[]}var SharedRowGroupingModule={moduleName:"SharedRowGrouping",version:VERSION,apiFunctions:{setRowGroupColumns,removeRowGroupColumns,addRowGroupColumns,getRowGroupColumns,moveRowGroupColumn},dependsOn:[EnterpriseCoreModule,SharedAggregationModule,GroupColumnModule,StickyRowModule,GroupHierarchyModule]},RowGroupingModule={moduleName:"RowGrouping",version:VERSION,dynamicBeans:{groupStrategy:GroupStrategy},rowModels:["clientSide"],dependsOn:[SharedRowGroupingModule,AggregationModule,CsrmHierarchyModule,CsrmGroupStagesModule,GroupEditModule]},RowGroupingPanelModule={moduleName:"RowGroupingPanel",version:VERSION,beans:[RowGroupPanelBuilder],selectors:[AgGridHeaderDropZonesSelector],icons:{pivotPanel:"pivot",rowGroupPanel:"group",panelDelimiter:"small-right",panelDelimiterRtl:"small-left"},dependsOn:[SharedColumnStateUpdateStrategyModule,import_ag_grid_community173._PopupModule]},GroupFilterModule={moduleName:"GroupFilter",version:VERSION,userComponents:{agGroupColumnFilter:{classImp:GroupFilter,processParams:processGroupFilterParams},agGroupColumnFloatingFilter:GroupFloatingFilterComp},beans:[GroupFilterService],dynamicBeans:{agGroupColumnFilterHandler:GroupFilterHandler},dependsOn:[EnterpriseCoreModule,import_ag_grid_community173._ColumnFilterModule]},import_ag_grid_community174=require("ag-grid-community"),ViewportRowModel=class extends import_ag_grid_community174.BeanStub{constructor(){super(...arguments),this.beanName="rowModel",this.hierarchical=!1,this.firstRow=-1,this.lastRow=-1,this.rowCount=-1,this.rowNodesByIndex={},this.rootNode=null,this.viewportChangedContext=!1}ensureRowHeightsValid(e,t,i,r){return!1}postConstruct(){const e=this.beans,t=new import_ag_grid_community174.RowNode(e);this.rootNode=t,t.level=-1,this.rowHeight=(0,import_ag_grid_community174._getRowHeightAsNumber)(e),this.addManagedEventListeners({viewportChanged:this.onViewportChanged.bind(this)}),(0,import_ag_grid_community174._addRowHeightChangedListener)(this,()=>this.refreshRowHeight()),this.addManagedPropertyListener("viewportDatasource",()=>this.updateDatasource()),this.addManagedPropertyListener("rowHeight",()=>this.refreshRowHeight())}refreshRowHeight(){const e=(0,import_ag_grid_community174._getRowHeightAsNumber)(this.beans);e!==this.rowHeight&&(this.rowHeight=e,this.updateRowHeights())}start(){this.updateDatasource()}isLastRowIndexKnown(){return!0}destroy(){this.destroyDatasource(),super.destroy(),this.rootNode=null}destroyDatasource(){const e=this.datasource;e&&(e.destroy?.(),this.beans.rowRenderer.datasourceChanged(),this.firstRow=-1,this.lastRow=-1)}updateDatasource(){const e=this.gos.get("viewportDatasource");e&&this.setViewportDatasource(e)}getPageSize(){return this.gos.get("viewportRowModelPageSize")}getBufferSize(){return this.gos.get("viewportRowModelBufferSize")}calculateFirstRow(e){const t=this.getBufferSize(),i=this.getPageSize(),r=e-t;return r<0?0:Math.floor(r/i)*i}calculateLastRow(e){if(e===-1)return e;const t=this.getBufferSize(),i=this.getPageSize(),r=e+t,n=Math.ceil(r/i)*i,o=this.rowCount-1;return Math.min(n,o)}onViewportChanged(e){const t=this.calculateFirstRow(e.firstRow),i=this.calculateLastRow(e.lastRow);(this.firstRow!==t||this.lastRow!==i)&&(this.firstRow=t,this.lastRow=i,this.purgeRowsNotInViewport(),this.viewportChangedContext=!0,this.datasource?.setViewportRange(this.firstRow,this.lastRow),this.viewportChangedContext=!1)}purgeRowsNotInViewport(){const e=this.rowNodesByIndex;for(const t of Object.keys(e)){const i=parseInt(t,10);if(i<this.firstRow||i>this.lastRow){if(this.isRowFocused(i)||this.beans.editSvc?.isRowEditing(e[i]))continue;delete e[i]}}}isRowFocused(e){const t=this.beans.focusSvc.getFocusCellToUseAfterRefresh();return!t||t.rowPinned!=null?!1:t.rowIndex===e}setViewportDatasource(e){this.destroyDatasource(),this.datasource=e,this.rowCount=-1,e.init?e.init((0,import_ag_grid_community174._addGridCommonParams)(this.gos,{setRowCount:this.setRowCount.bind(this),setRowData:this.setRowData.bind(this),getRow:this.getRow.bind(this)})):this.warn(226)}getType(){return"viewport"}getRow(e){return this.rowNodesByIndex[e]||(this.rowNodesByIndex[e]=this.createBlankRowNode(e)),this.rowNodesByIndex[e]}getRowNode(e){let t;return this.forEachNode(i=>{i.id===e&&(t=i)}),t}getRowCount(){return this.rowCount===-1?0:this.rowCount}getRowIndexAtPixel(e){return this.rowHeight!==0?Math.floor(e/this.rowHeight):0}resetRowHeights(){}onRowHeightChanged(){}getRowBounds(e){const t=this.rowHeight;return{rowHeight:t,rowTop:t*e}}updateRowHeights(){const e=this.rowHeight;this.forEachNode(t=>{t.setRowHeight(e),t.setRowTop(e*t.rowIndex)}),this.eventSvc.dispatchEvent({type:"modelUpdated",newData:!1,newPage:!1,keepRenderedRows:!0,animate:!1})}getTopLevelRowCount(){return this.getRowCount()}getTopLevelRowDisplayedIndex(e){return e}isEmpty(){return this.rowCount>0}getOverlayType(){return null}isRowsToRender(){return this.rowCount>0}getNodesInRangeForSelection(e,t){const i=e.rowIndex,r=t.rowIndex,n=i<this.firstRow||i>this.lastRow,o=r<this.firstRow||r>this.lastRow;if(n||o)return[];const a=[],l=i<=r?i:r,c=i<=r?r:i;for(let u=l;u<=c;u++)a.push(this.rowNodesByIndex[u]);return a}forEachNode(e){let t=0;for(const i of Object.keys(this.rowNodesByIndex)){const r=parseInt(i,10),n=this.rowNodesByIndex[r];e(n,t),t++}}setRowData(e){const t=(0,import_ag_grid_community174._getRowIdCallback)(this.beans),i=new Map;if(t)for(const r of Object.values(this.rowNodesByIndex))i.set(r.id,r);for(let r=this.firstRow;r<=this.lastRow;r++){const n=e[r];if(!n)continue;let o,a;if(t?(o=t({data:n,rowPinned:void 0,level:0,parentKeys:void 0}),a=i.get(o)):a=this.rowNodesByIndex[r],a){const l=a.rowIndex;l!=null&&l!==r&&this.rowNodesByIndex[l]===a&&delete this.rowNodesByIndex[l],a.updateData(n),a.setRowIndex(r),a.setRowTop(this.rowHeight*r)}else a=this.createBlankRowNode(r),a.setDataAndId(n,o??r.toString()),this.beans.selectionSvc?.updateRowSelectable(a);this.rowNodesByIndex[r]=a}this.viewportChangedContext||this.eventSvc.dispatchEvent({type:"modelUpdated",newData:!1,newPage:!1,keepRenderedRows:!0,animate:!1})}createBlankRowNode(e){const t=new import_ag_grid_community174.RowNode(this.beans),i=this.rowHeight;return t.setRowHeight(i),t.setRowTop(i*e),t.setRowIndex(e),t}setRowCount(e,t=!1){if(e===this.rowCount)return;this.rowCount=e;const i=this.eventSvc;i.dispatchEventOnce({type:"rowCountReady"}),i.dispatchEvent({type:"modelUpdated",newData:!1,newPage:!1,keepRenderedRows:t,animate:!1})}isRowPresent(e){return!!this.getRowNode(e.id)}},ViewportRowModelModule={moduleName:"ViewportRowModel",version:VERSION,rowModels:["viewport"],beans:[ViewportRowModel],dependsOn:[EnterpriseCoreModule]},import_ag_grid_community176=require("ag-grid-community");function copyToClipboard(e,t){e.clipboardSvc?.copyToClipboard(t)}function cutToClipboard(e,t){e.clipboardSvc?.cutToClipboard(t)}function copySelectedRowsToClipboard(e,t){e.clipboardSvc?.copySelectedRowsToClipboard(t)}function copySelectedRangeToClipboard(e,t){e.clipboardSvc?.copySelectedRangeToClipboard(t)}function copySelectedRangeDown(e){e.clipboardSvc?.copyRangeDown()}function pasteFromClipboard(e){e.clipboardSvc?.pasteFromClipboard()}var import_ag_stack117=require("ag-stack"),import_ag_grid_community175=require("ag-grid-community"),SOURCE_PASTE="paste",EXPORT_TYPE_DRAG_COPY="dragCopy",EXPORT_TYPE_CLIPBOARD="clipboard";function stringToArray(e,t=","){const i=[],r=o=>o==="\r"||o===`
`;let n=!1;if(e==="")return[[""]];for(let o=0,a=0,l=0;l<e.length;l++){const c=e[l-1],u=e[l],d=e[l+1],h=()=>{i[o]||(i[o]=[]),i[o][a]||(i[o][a]="")};if(h(),u==='"'&&(n?d==='"'?(i[o][a]+='"',l++):n=!1:(c===void 0||c===t||r(c))&&(n=!0)),!n&&u!=='"'){if(u===t){a++,h();continue}else if(r(u)){a=0,o++,h(),u==="\r"&&d===`
`&&l++;continue}}i[o][a]+=u}return i}var ClipboardService=class extends import_ag_grid_community175.BeanStub{constructor(){super(...arguments),this.beanName="clipboardSvc",this.clientSideRowModel=null,this.gridCtrl=null,this.lastPasteOperationTime=0,this.navigatorApiFailed=!1}postConstruct(){const{gos:e,rowModel:t,ctrlsSvc:i}=this.beans;(0,import_ag_grid_community175._isClientSideRowModel)(e,t)&&(this.clientSideRowModel=t),i.whenReady(this,r=>{this.gridCtrl=r.gridCtrl})}destroy(){super.destroy(),this.clientSideRowModel=null,this.gridCtrl=null}pasteFromClipboard(){!this.gos.get("suppressClipboardApi")&&!this.navigatorApiFailed&&navigator.clipboard?.readText?navigator.clipboard.readText().then(this.processClipboardData.bind(this)).catch(t=>{this.warn(40,{error:t,method:"readText"}),this.navigatorApiFailed=!0,this.pasteFromClipboardLegacy()}):this.pasteFromClipboardLegacy()}pasteFromClipboardLegacy(){let e=!1;const t=i=>{const r=Date.now();r-this.lastPasteOperationTime<50&&(e=!0,i.preventDefault()),this.lastPasteOperationTime=r};this.executeOnTempElement(i=>{i.addEventListener("paste",t),i.focus({preventScroll:!0})},i=>{const r=i.value;e?this.refocusLastFocusedCell():this.processClipboardData(r),i.removeEventListener("paste",t)})}refocusLastFocusedCell(){const{focusSvc:e}=this.beans,t=e.getFocusedCell();t&&e.setFocusedCell({rowIndex:t.rowIndex,column:t.column,rowPinned:t.rowPinned,forceBrowserFocus:!0})}getClipboardDelimiter(){const e=this.gos.get("clipboardDelimiter");return(0,import_ag_stack117._exists)(e)?e:"	"}processClipboardData(e){if(e==null)return;let t=stringToArray(e,this.getClipboardDelimiter());const i=this.gos.getCallback("processDataFromClipboard");if(i&&(t=i({data:t})),t==null)return;this.gos.get("suppressLastEmptyLineOnPaste")&&this.removeLastLineIfBlank(t);const{rangeSvc:r,editSvc:n}=this.beans,o=(a,l,c,u)=>{r?.isMoreThanOneCell()&&!this.hasOnlyOneValueToPaste(t)?this.pasteIntoActiveRange(t,a,l,u):this.pasteStartingFromFocusedCell(t,a,l,c,u),n?.stopEditing(void 0,{source:SOURCE_PASTE})};this.doPasteOperation(o)}doPasteOperation(e){const t="clipboard",{eventSvc:i,focusSvc:r,rowRenderer:n,gos:o,editSvc:a}=this.beans;i.dispatchEvent({type:"pasteStart",source:t});const{clientSideRowModel:l}=this,c=l?.rootNode,u=c&&this.beans.changedPathFactory?.newPath(o.get("aggregateOnlyChangedColumns")),d={},h=[],p=r.getFocusedCell();a?.beginBulkWrite();try{e(d,h,p,u)}finally{a?.endBulkWrite()}const g=h.slice();u&&(l.doAggregate(u),(0,import_ag_grid_community175._forEachChangedGroupDepthFirst)(c,l.hierarchical,u,f=>{g.push(f)})),n.refreshCells({rowNodes:g}),this.dispatchFlashCells(d),this.fireRowChanged(h),this.refocusLastFocusedCell(),i.dispatchEvent({type:"pasteEnd",source:t})}getPreProcessRangeCallback(e){return t=>{const{rangeSvc:i}=this.beans;if(!i)return;const{rowDiff:r,colDiff:n}=this.getAdjustedRangeDimensionForPaste(t,e);r!==0&&i.extendRangeRowCountBy(t,r),n!==0&&i.extendRangeColumnCountBy(t,n)}}getAdjustedRangeDimensionForPaste(e,t){const i=this.beans.rangeSvc,r=t.length,n=i.getRangeRowCount(e),o=n>=r&&n%r===0,a=t[0].length,l=e.columns.length,c=l>=a&&l%a===0;return{rowDiff:o?0:r-n,colDiff:c?0:a-l}}pasteIntoActiveRange(e,t,i,r){let n=0,o=0;const a=(l,c,u,d)=>{if(d-n>=e.length){if(d%e.length!==0)return;n+=o,o=0}const p=e[d-n];i.push(c);const g=this.gos.getCallback("processCellFromClipboard"),f=u.columns,m=f.findIndex(import_ag_grid_community175.isColumnSelectionCol);m!==-1&&f.splice(m,1);for(let v=0;v<f.length;v++){const C=f[v];if(!C.isCellEditable(c)||C.isSuppressPaste(c))continue;let y=v;v>=p.length&&(y=v%p.length);const S=this.processCell(c,C,p[y],EXPORT_TYPE_DRAG_COPY,g,!0);c.setDataValue(C,S,SOURCE_PASTE),r?.addCell(c.parent,C.getId());const{rowIndex:x,rowPinned:b}=l,w=(0,import_ag_grid_community175._createCellId)({rowIndex:x,column:C,rowPinned:b});t[w]=!0}o++};this.iterateActiveRanges(a,!1,this.getPreProcessRangeCallback(e))}getDisplayedColumnsStartingAt(e){let t=e;const i=[],{visibleCols:r}=this.beans;for(;t&&(0,import_ag_grid_community175.isSpecialCol)(t);)t=r.getColAfter(t);for(;t!=null;)i.push(t),t=r.getColAfter(t);return i}pasteStartingFromFocusedCell(e,t,i,r,n){if(!r)return;const o={rowIndex:r.rowIndex,rowPinned:r.rowPinned},a=this.getDisplayedColumnsStartingAt(r.column);this.isPasteSingleValueIntoRange(e)?this.pasteSingleValueIntoRange(e,i,t,n):this.pasteMultipleValues(e,o,i,a,t,EXPORT_TYPE_CLIPBOARD,n)}isPasteSingleValueIntoRange(e){const t=this.beans.rangeSvc;return this.hasOnlyOneValueToPaste(e)&&!!t&&!t.isEmpty()}pasteSingleValueIntoRange(e,t,i,r){const n=e[0][0],o=(a,l,c)=>{t.push(l),c.columns.forEach(u=>this.updateCellValue(l,u,n,i,EXPORT_TYPE_CLIPBOARD,r))};this.iterateActiveRanges(o)}hasOnlyOneValueToPaste(e){return e.length===1&&e[0].length===1}copyRangeDown(){const{rangeSvc:e,gos:t,formula:i,valueSvc:r}=this.beans;if(!e||e.isEmpty())return;const n=[],o=(a,l,c,u)=>{const d=t.getCallback("processCellForClipboard"),h=t.getCallback("processCellFromClipboard"),p=(g,f,m)=>{const{columns:v}=m;n.length?(l.push(f),v.forEach((C,y)=>{if(!C.isCellEditable(f)||C.isSuppressPaste(f))return;C.allowFormula&&i?.isFormula(n[y])&&(n[y]=i?.updateFormulaByOffset({value:n[y],rowDelta:1}));const x=this.processCell(f,C,n[y],EXPORT_TYPE_DRAG_COPY,h,!0);f.setDataValue(C,x,SOURCE_PASTE),u?.addCell(f.parent,C.getId());const{rowIndex:b,rowPinned:w}=g,P=(0,import_ag_grid_community175._createCellId)({rowIndex:b,column:C,rowPinned:w});a[P]=!0})):v.forEach(C=>{const y=this.processCell(f,C,r.getValue(C,f,"batch"),EXPORT_TYPE_DRAG_COPY,d,!1,!0);n.push(y)})};this.iterateActiveRanges(p,!0)};this.doPasteOperation(o)}removeLastLineIfBlank(e){const t=(0,import_ag_stack117._last)(e);if(t?.length===1&&t[0]===""){if(e.length===1)return;(0,import_ag_stack117._removeFromArray)(e,t)}}fireRowChanged(e){if(this.gos.get("editType")==="fullRow")for(const t of e)this.eventSvc.dispatchEvent({type:"rowValueChanged",node:t,data:t.data,rowIndex:t.rowIndex,rowPinned:t.rowPinned})}shouldSkipPasteRow(e,t,i){if(e.detail||e.footer)return!0;if(i&&e.group){for(const r of t)if(r.isCellEditable(e))return!1;return!0}return!1}pasteMultipleValues(e,t,i,r,n,o,a){let l=t;const c=this.beans,{gos:u}=c,d=this.clientSideRowModel!=null&&!u.get("enableGroupEdit")&&!u.get("treeData"),h=()=>{for(;l;){const p=(0,import_ag_grid_community175._getRowNode)(c,l);if(l=(0,import_ag_grid_community175._getRowBelow)(c,{rowPinned:l.rowPinned,rowIndex:l.rowIndex}),p!=null&&!this.shouldSkipPasteRow(p,r,d))return p}return null};for(const p of e){const g=h();g&&(p.forEach((f,m)=>this.updateCellValue(g,r[m],f,n,o,a)),i.push(g))}}updateCellValue(e,t,i,r,n,o){if(!e||!t?.isCellEditable(e)||t?.isSuppressPaste(e))return;const a=this.processCell(e,t,i,n,this.gos.getCallback("processCellFromClipboard"),!0);e.setDataValue(t,a,SOURCE_PASTE);const{rowIndex:l,rowPinned:c}=e,u=(0,import_ag_grid_community175._createCellId)({rowIndex:l,column:t,rowPinned:c});r[u]=!0,o?.addCell(e.parent,t.getId())}copyToClipboard(e={}){this.copyOrCutToClipboard(e)}cutToClipboard(e={},t="api"){this.gos.get("suppressCutToClipboard")||(this.eventSvc.dispatchEvent({type:"cutStart",source:t}),this.copyOrCutToClipboard(e,!0),this.eventSvc.dispatchEvent({type:"cutEnd",source:t}))}copyOrCutToClipboard(e,t){let{includeHeaders:i,includeGroupHeaders:r}=e;const{gos:n,focusSvc:o}=this.beans;i==null&&(i=n.get("copyHeadersToClipboard")),r==null&&(r=n.get("copyGroupHeadersToClipboard"));const a={includeHeaders:i,includeGroupHeaders:r},l=n.get("rowSelection"),c=n.get("cellSelection");let u=null;this.shouldCopyCells(c,l)?(this.copySelectedRangeToClipboard(a),u=0):this.shouldCopyRows(l)?(this.copySelectedRowsToClipboard(a),u=1):o.isAnyCellFocused()&&(this.copyFocusedCellToClipboard(a),u=2),t&&u!==null&&this.clearCellsAfterCopy(u)}shouldCopyCells(e,t){const{rangeSvc:i,selectionSvc:r,gos:n}=this.beans;if(!i||i.isEmpty())return!1;if(e)return!(typeof t=="object"&&t.copySelectedRows&&!r?.isEmpty());{const o=n.get("suppressCopySingleCellRanges");return!(!i.isMoreThanOneCell()&&o)}}shouldCopyRows(e){const{selectionSvc:t,gos:i}=this.beans;return t?.isEmpty()??!0?!1:e&&typeof e!="string"?e.copySelectedRows??!1:!i.get("suppressCopyRowsToClipboard")}clearCellsAfterCopy(e){const t=this.beans,{rangeSvc:i,focusSvc:r,eventSvc:n}=t;if(n.dispatchEvent({type:"keyShortcutChangedCellStart"}),e===0)i.clearCellRangeCellValues({cellEventSource:"clipboardSvc"});else if(e===1)this.clearSelectedRows();else{const o=r.getFocusedCell();if(o==null)return;const a=(0,import_ag_grid_community175._getRowNode)(t,o);a&&this.clearCellValue(a,o.column)}n.dispatchEvent({type:"keyShortcutChangedCellEnd"})}clearSelectedRows(){const{selectionSvc:e,visibleCols:t}=this.beans,i=e?.getSelectedNodes()??[],r=t.allCols;for(const n of i)for(const o of r)this.clearCellValue(n,o)}clearCellValue(e,t){if(!t.isCellEditable(e))return;const i=this.beans.valueSvc.getDeleteValue(t,e);e.setDataValue(t,i,"clipboardSvc")}iterateActiveRanges(e,t,i){const r=this.beans.rangeSvc;if(!r||r.isEmpty())return;const n=r.getCellRanges(),o=t?[n[0]]:n;for(const a of o)this.iterateActiveRange({cellRange:a,rowCallback:e,preProcessRange:i})}iterateActiveRange(e){const{cellRange:t,preProcessRange:i,rowCallback:r}=e,{beans:n}=this,{rangeSvc:o}=n;if(!o)return;i&&i(t);let a=o.getRangeStartRow(t);const l=o.getRangeEndRow(t);let c=0,u=!1;for(;!u&&a!=null;){const d=(0,import_ag_grid_community175._getRowNode)(n,a);u=(0,import_ag_grid_community175._isSameRow)(a,l),r(a,d,t,c++),a=(0,import_ag_grid_community175._getRowBelow)(n,a)}}copySelectedRangeToClipboard(e={}){const t=this.beans.rangeSvc;if(!t||t.isEmpty())return;const i=t.areAllRangesAbleToMerge(),{data:r,cellsToFlash:n}=i?this.buildDataFromMergedRanges(t,e):this.buildDataFromRanges(t,e);this.copyDataToClipboard(r),this.dispatchFlashCells(n)}buildDataFromMergedRanges(e,t){const i=new Set,r=e.getCellRanges(),n=new Map,o=[],a={},l=(0,import_ag_grid_community175._isClientSideRowModel)(this.gos,this.beans.rowModel),c=new Set;l||this.beans.rowModel.forEachNode(h=>{c.add(h.rowIndex)});for(const h of r){h.columns.forEach(f=>i.add(f));const{rowPositions:p,cellsToFlash:g}=this.getRangeRowPositionsAndCellsToFlash(e,h);for(const f of p){const m=c.has(f.rowIndex);if(!l&&!m)continue;const v=`${f.rowIndex}-${f.rowPinned||"null"}`;n.get(v)||(n.set(v,!0),o.push(f))}Object.assign(a,g)}const u=Array.from(i);return u.sort((h,p)=>h.allColsIndex-p.allColsIndex),{data:this.buildExportParams({columns:u,rowPositions:o,includeHeaders:t.includeHeaders,includeGroupHeaders:t.includeGroupHeaders}),cellsToFlash:a}}buildDataFromRanges(e,t){const i=e.getCellRanges(),r=[],n={};for(const o of i){const{rowPositions:a,cellsToFlash:l}=this.getRangeRowPositionsAndCellsToFlash(e,o);Object.assign(n,l),r.push(this.buildExportParams({columns:o.columns,rowPositions:a,includeHeaders:t.includeHeaders,includeGroupHeaders:t.includeGroupHeaders}))}return{data:r.join(`
`),cellsToFlash:n}}getRangeRowPositionsAndCellsToFlash(e,t){const i=[],r={},n=e.getRangeStartRow(t),o=e.getRangeEndRow(t);let a=n;for(;a;){i.push(a);for(const l of t.columns){const{rowIndex:c,rowPinned:u}=a,d=(0,import_ag_grid_community175._createCellId)({rowIndex:c,column:l,rowPinned:u});r[d]=!0}if((0,import_ag_grid_community175._isSameRow)(a,o))break;a=(0,import_ag_grid_community175._getRowBelow)(this.beans,a)}return{rowPositions:i,cellsToFlash:r}}getCellsToFlashFromRowNodes(e){const t=this.beans.visibleCols.allCols,i={};for(let r=0;r<e.length;r++){const{level:n,rowIndex:o,rowPinned:a,sibling:l}=e[r],c=n===-1?l?.rowIndex:o;if(c!=null)for(let u=0;u<t.length;u++){const d=t[u],h=(0,import_ag_grid_community175._createCellId)({rowIndex:c,column:d,rowPinned:a});i[h]=!0}}return i}copyFocusedCellToClipboard(e={}){let t=this.beans.focusSvc.getFocusedCell();if(t==null)return;t=this.beans.rowSpanSvc?.getCellStart(t)??t;const i=(0,import_ag_grid_community175._createCellId)(t),r={rowPinned:t.rowPinned,rowIndex:t.rowIndex},n=t.column,o=this.buildExportParams({columns:[n],rowPositions:[r],includeHeaders:e.includeHeaders,includeGroupHeaders:e.includeGroupHeaders});this.copyDataToClipboard(o),this.dispatchFlashCells({[i]:!0})}copySelectedRowsToClipboard(e={}){const{columnKeys:t,includeHeaders:i,includeGroupHeaders:r}=e,n=this.buildExportParams({columns:t,includeHeaders:i,includeGroupHeaders:r});this.copyDataToClipboard(n);const o=this.beans.selectionSvc?.getSelectedNodes()||[];this.dispatchFlashCells(this.getCellsToFlashFromRowNodes(o))}buildExportParams(e){const{columns:t,rowPositions:i,includeHeaders:r=!1,includeGroupHeaders:n=!1}=e,{gos:o,csvCreator:a}=this.beans,l=({node:u,column:d})=>{const{value:h,valueFormatted:p}=this.beans.valueSvc.getValueForDisplay({column:d,node:u,includeValueFormatted:!0,from:"batch",transformValues:!0}),g=p??h??"",f=o.getCallback("processCellForClipboard");return f?f({column:d,node:u,value:g,type:EXPORT_TYPE_CLIPBOARD,formatValue:m=>this.beans.valueSvc.formatValue(d,u,m)??m,parseValue:m=>this.beans.valueSvc.parseValue(d,u,m,h)??m}):g},c={columnKeys:t,rowPositions:i,skipColumnHeaders:!r,skipColumnGroupHeaders:!n,suppressQuotes:!0,columnSeparator:this.getClipboardDelimiter(),onlySelected:!i,valueFrom:"batch",transformValues:!0,processCellCallback:o.getCallback("processCellForClipboard"),processRowGroupCallback:l,processHeaderCallback:o.getCallback("processHeaderForClipboard"),processGroupHeaderCallback:o.getCallback("processGroupHeaderForClipboard")};return a.getDataAsCsv(c,!0)}dispatchFlashCells(e){window.setTimeout(()=>{this.eventSvc.dispatchEvent({type:"flashCells",cells:e})},0)}processCell(e,t,i,r,n,o,a){const{valueSvc:l,formula:c}=this.beans;return n?n({column:t,node:e,value:i,type:r,formatValue:d=>l.formatValue(t,e??null,d)??d,parseValue:d=>l.parseValue(t,e??null,d,l.getValue(t,e,"edit"))}):o&&t.colDef.useValueParserForImport!==!1?l.parseValue(t,e??null,i,l.getValue(t,e,"edit")):a&&t.colDef.useValueFormatterForExport!==!1?c?.isFormula(i)?i:l.formatValue(t,e??null,i)??i:i}copyDataToClipboard(e){const t=this.gos.getCallback("sendToClipboard");if(t){t({data:e});return}if(!this.gos.get("suppressClipboardApi")&&navigator.clipboard){navigator.clipboard.writeText(e).catch(r=>{this.warn(40,{error:r,method:"writeText"}),this.copyDataToClipboardLegacy(e)});return}this.copyDataToClipboardLegacy(e)}copyDataToClipboardLegacy(e){this.executeOnTempElement(t=>{const i=(0,import_ag_stack117._getDocument)(this.beans),r=(0,import_ag_stack117._getActiveDomElement)(this.beans);t.value=e||" ",t.select(),t.focus({preventScroll:!0}),i.execCommand("copy")||this.warn(41),r?.focus!=null&&r.focus({preventScroll:!0})})}executeOnTempElement(e,t){if(!this.gridCtrl)return;const i=(0,import_ag_stack117._getDocument)(this.beans),r=i.createElement("textarea"),n=r.style;n.width="1px",n.height="1px";const o=i.documentElement;n.top=o.scrollTop+"px",n.left=o.scrollLeft+"px",n.position="absolute",n.opacity="0",this.gridCtrl.getGui().appendChild(r);try{e(r)}catch{this.warn(42)}t?window.setTimeout(()=>{t(r),r.remove()},100):r.remove()}},ClipboardModule={moduleName:"Clipboard",version:VERSION,beans:[ClipboardService],apiFunctions:{copyToClipboard,cutToClipboard,copySelectedRowsToClipboard,copySelectedRangeToClipboard,copySelectedRangeDown,pasteFromClipboard},dependsOn:[EnterpriseCoreModule,import_ag_grid_community176.CsvExportModule,import_ag_grid_community176._KeyboardNavigationModule,import_ag_grid_community176.HighlightChangesModule]},import_ag_grid_community180=require("ag-grid-community"),rowNumbers_default='.ag-row-number-cell{background-color:var(--ag-header-background-color);border:none;color:var(--ag-header-text-color);font-family:var(--ag-header-font-family);font-size:var(--ag-header-font-size);font-weight:var(--ag-header-font-weight);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;width:100%}:where(.ag-ltr) .ag-row-number-cell{text-align:right}:where(.ag-rtl) .ag-row-number-cell{text-align:left}.ag-row-numbers-resizer{bottom:-2px;cursor:row-resize;height:4px;position:absolute;width:100%}:where(.ag-ltr) .ag-row-numbers-resizer{left:0}:where(.ag-rtl) .ag-row-numbers-resizer{right:0}.ag-grid-pinned-bottom-rows .ag-row-numbers-resizer{bottom:unset;top:-2px}:where(.ag-row-number-header.ag-row-number-selection-enabled){cursor:cell}.ag-row-number-range-highlight{background-color:var(--ag-range-header-highlight-color)}.ag-row-number-range-selected{background-color:var(--ag-row-numbers-selected-color)}:where(.ag-ltr){:where(.ag-cell.ag-row-number-cell):not(.ag-cell-last-left-pinned),:where(.ag-row-number-header):not(.ag-header-cell-last-left-pinned){border-right:var(--ag-pinned-column-border)}:where(.ag-cell.ag-row-number-cell.ag-row-number-selection-enabled){cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjUiPjxwYXRoIGQ9Ik0zLjQ0NSA4LjkxMVY3LjQwOUg5Ljc1VjYuMDE0bDIuNTM1IDIuMTQ2LTIuNTM1IDIuMTQ2VjguOTExeiIgc3R5bGU9InN0cm9rZTojZmZmO3N0cm9rZS13aWR0aDouNDFweCIgdHJhbnNmb3JtPSJtYXRyaXgoMS41Nzg0IDAgMCAxLjg2NDI5IC00LjQxMyAtNy4yMTIpIi8+PC9zdmc+"),auto}}:where(.ag-rtl){:where(.ag-cell.ag-row-number-cell):not(.ag-cell-first-right-pinned),:where(.ag-row-number-header):not(.ag-header-cell-first-right-pinned){border-left:var(--ag-pinned-column-border)}:where(.ag-cell.ag-row-number-cell.ag-row-number-selection-enabled){cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjUiPjxwYXRoIGQ9Ik01Ljk3OSA4LjkxMXYxLjM5NUwzLjQ0NSA4LjE2bDIuNTM0LTIuMTQ2djEuMzk1aDYuMzA2djEuNTAyeiIgc3R5bGU9InN0cm9rZTojZmZmO3N0cm9rZS13aWR0aDouNDFweCIgdHJhbnNmb3JtPSJtYXRyaXgoMS41Nzg0IDAgMCAxLjg2NDI5IC00LjQxMyAtNy4yMTIpIi8+PC9zdmc+"),auto}}',import_ag_stack118=require("ag-stack"),import_ag_grid_community177=require("ag-grid-community"),RowNumbersRowResizerElement={tag:"div",cls:"ag-row-numbers-resizer"},AgRowNumbersRowResizer=class extends import_ag_grid_community177.Component{constructor(e){super(RowNumbersRowResizerElement),this.cellCtrl=e,this.initialYPosition=-1,this.dragging=!1}postConstruct(){const{beans:e,cellCtrl:t}=this,{dragSvc:i,environment:r}=e;this.defaultRowHeight=r.getDefaultRowHeight(),i.addDragSource({dragStartPixels:0,eElement:this.getGui(),onDragStart:this.onDragStart.bind(this),onDragging:this.onDragging.bind(this),onDragStop:this.onDragStop.bind(this),onDragCancel:this.onDragCancel.bind(this),includeTouch:!0,stopPropagationForTouch:!0});const n=t.getRowPosition();this.node=(0,import_ag_grid_community177._getRowNode)(this.beans,n)}onDragStart(e){if(!this.node)return;const{beans:{ctrlsSvc:t,eventSvc:i}}=this;t.get("gridCtrl").setResizeCursor(import_ag_stack118.Direction.Vertical,!0),this.dragging=!0,this.initialHeight=this.node.rowHeight,i.dispatchEvent({type:"rowResizeStarted",node:this.node,event:e,rowHeight:this.initialHeight})}onDragging(e){let{clientY:t}=e;if(this.cellCtrl.rowNode.rowPinned==="bottom"&&(t*=-1),this.initialYPosition===-1||!this.dragging){this.initialYPosition=t;return}const{beans:i,initialHeight:r,initialYPosition:n,defaultRowHeight:o,node:a}=this;if(r==null)return;const l=a?.rowHeight,c=Math.max(r-(n-t),o);if(l===c)return;a?.setRowHeight(c);const{rowRenderer:u,rowModel:d,pinnedRowModel:h}=i,p=!!a?.rowPinned;p&&u.redraw({afterScroll:!0}),(!p||h?.isManual())&&d.onRowHeightChanged({animate:!1})}onDragStop(e){this.beans.eventSvc.dispatchEvent({type:"rowResizeEnded",node:this.node,event:e,rowHeight:this.node?.rowHeight}),this.clearDragDetails(!0)}onDragCancel(){this.clearDragDetails(!0)}clearDragDetails(e){this.initialYPosition=-1,this.initialHeight=null,this.dragging=!1,e&&this.beans.ctrlsSvc.get("gridCtrl").setResizeCursor(!1)}destroy(){this.clearDragDetails(!1),this.node=void 0,super.destroy()}},import_ag_stack119=require("ag-stack"),import_ag_grid_community179=require("ag-grid-community"),import_ag_grid_community178=require("ag-grid-community");function _isRowNumbersResizerEnabled(e){const t=(0,import_ag_grid_community178._isRowNumbers)(e);return!(!t||typeof t!="object"||!t.enableRowResizer)}var RowNumbersRowResizeFeature=class{constructor(e,t){this.beans=e,this.cellCtrl=t}refreshRowResizer(){!_isRowNumbersResizerEnabled(this.beans)||!this.isRowResizeSupported(this.cellCtrl.rowNode)?this.removeRowResizerFromCellComp():this.addResizerToCellComp()}isRowResizeSupported(e){const{pinnedRowModel:t,rowModel:i,visibleCols:r}=this.beans,n=!!i.onRowHeightChanged;return r.autoHeightCols.length?(this.beans.log.warn(276),!1):e.rowPinned!=null?t?.isManual()?n:!0:n}addResizerToCellComp(){const{beans:e,cellCtrl:t}=this;let{rowResizer:i}=this;if(!i){if(i=e.registry.createDynamicBean("rowNumberRowResizer",!1,t),!i)return;this.rowResizer=e.context.createBean(i)}t.comp.setRowResizerElement(i.getGui())}removeRowResizerFromCellComp(){const{rowResizer:e,beans:{context:t},cellCtrl:i}=this;e&&(i.comp?.setRowResizerElement(null),this.rowResizer=t.destroyBean(e))}destroy(){this.removeRowResizerFromCellComp()}},emptyContextMenuItems=()=>[],RowNumbersService=class extends import_ag_grid_community179._BaseSingleColService{constructor(){super(...arguments),this.beanName="rowNumbersSvc",this.colKind="row-number",this.isIntegratedWithSelection=!1,this.rowNumberOverrides=null,this.lastColumnResized=0,this.boundValueGetter=e=>this.valueGetter(e),this.boundCellClass=e=>this.getCellClass(e)}wireBeans(e){this.rangeSvc=e.rangeSvc,this.ariaAnnounce=e.ariaAnnounce,this.visibleCols=e.visibleCols}postConstruct(){const e=(0,import_ag_stack119._debounce)(this,this.refreshCells.bind(this),10);this.addManagedEventListeners({columnResized:()=>{this.lastColumnResized=Date.now()},cellFocused:this.onGridCellFocused.bind(this),modelUpdated:t=>{e(!1,!t.keepRenderedRows)},rangeSelectionChanged:()=>this.refreshCells(!0),pinnedRowsChanged:()=>e(!1,!0)}),this.addManagedPropertyListeners(["rowNumbers","cellSelection"],t=>{this.updateColumns(t)}),this.refreshSelectionIntegration(),this.registerRangeSelectionExtension()}shouldSkipColumn(e){return(0,import_ag_grid_community179._isRowNumbers)(this.beans)&&(0,import_ag_grid_community179.isRowNumberCol)(e)}isAllColumnsSelectionCell(e){return(0,import_ag_grid_community179._isRowNumbers)(this.beans)&&(0,import_ag_grid_community179.isRowNumberCol)(e.column)}isAllColumnsRange(e,t){return!(0,import_ag_grid_community179._isRowNumbers)(this.beans)||t.length===0?!1:e.columns.length===t.length&&t.every(i=>e.columns.includes(i))}registerRangeSelectionExtension(){const e=this.rangeSvc;e&&(e.registerRangeSelectionExtension(this),this.addDestroyFunc(()=>e.unregisterRangeSelectionExtension?.(this)))}isEnabled(){return!!(0,import_ag_grid_community179._isRowNumbers)(this.beans)}handleMouseDownOnCell(e,t){return!this.isIntegratedWithSelection||t.target.classList.contains("ag-row-numbers-resizer")?(this.rangeSvc&&t.preventDefault(),t.stopImmediatePropagation(),!1):(!t.shiftKey&&!(0,import_ag_grid_community179._interpretAsRightClick)(this.beans,t)&&this.focusFirstRenderedCellAtRowPosition(e),!0)}handleKeyDownOnCell(e,t){return this.isIntegratedWithSelection&&t.key===import_ag_grid_community179.KeyCode.ENTER?(this.selectRowCells(e,t),t.preventDefault(),!0):!1}selectRowCells(e,t){const i=this.rangeSvc;i&&i.handleCellKeyboardSelect(t,e)}updateColumns(e){const t=(0,import_ag_grid_community179._convertColumnEventSourceType)(e.source);this.refreshSelectionIntegration();const i=this.column!==null;this.refreshCols()?this.refreshColDef(t):i&&this.beans.colModel.refreshAll(t)}destroy(){this.rowNumberOverrides=null,super.destroy()}setupForHeader(e){const{column:t,eGridHeader:i}=e.params;(0,import_ag_grid_community179.isRowNumberCol)(t)&&((0,import_ag_stack119._setAriaLabel)(i,"Row Number"),this.addManagedElementListeners(i,{click:this.onHeaderClick.bind(this),keydown:this.onHeaderKeyDown.bind(this),focus:this.onHeaderFocus.bind(this)}))}onGridCellFocused(e){if(!this.isIntegratedWithSelection||e.rowIndex==null||!e.column)return;const t=this.beans.colModel.getCol(e.column);if(!t||!(0,import_ag_grid_community179.isRowNumberCol)(t))return;const r=this.getLocaleTextFunc()("ariaSelectAllRowCells","Press Enter to select all cells on this row");this.ariaAnnounce?.announceValue(r,"ariaSelectAllRowCells")}createRowNumbersRowResizerFeature(e){return _isRowNumbersResizerEnabled(this.beans)?new RowNumbersRowResizeFeature(this.beans,e):void 0}refreshSelectionIntegration(){const e=this.gos.get("cellSelection");this.refreshRowNumberOverrides(),this.isIntegratedWithSelection=!!this.rangeSvc&&!!e&&!this.isSuppressCellSelectionIntegration}refreshRowNumberOverrides(){const e=(0,import_ag_grid_community179._isRowNumbers)(this.beans);if(this.rowNumberOverrides={},this.isSuppressCellSelectionIntegration=!1,!e||typeof e!="object")return;e.suppressCellSelectionIntegration&&(this.isSuppressCellSelectionIntegration=!0);const t=["contextMenuItems","context","onCellClicked","onCellContextMenu","onCellDoubleClicked","headerTooltip","headerStyle","headerComponent","headerComponentParams","suppressHeaderKeyboardEvent","suppressNavigable","tooltip","tooltipField","tooltipValueGetter","tooltipComponent","tooltipComponentParams","tooltipComponentSelector","valueGetter","valueFormatter","width","maxWidth","minWidth","resizable","cellRenderer","cellRendererSelector","cellRendererParams"];for(const i of t)e[i]!=null&&(this.rowNumberOverrides[i]=e[i])}onHeaderFocus(){if(!this.isIntegratedWithSelection)return;const t=this.getLocaleTextFunc()("ariaSelectAllCells","Press Space or Enter to select all cells");this.ariaAnnounce?.announceValue(t,"ariaSelectAllCells")}onHeaderKeyDown(e){!this.isIntegratedWithSelection||e.key!==import_ag_grid_community179.KeyCode.SPACE&&e.key!==import_ag_grid_community179.KeyCode.ENTER||(e.preventDefault(),this.selectAllCellsFromHeader())}onHeaderClick(e){Date.now()-this.lastColumnResized<100||!this.isIntegratedWithSelection||this.column?.resizing||this.focusAllCellsFromHeaderClick()}selectAllCellsFromHeader(){(0,import_ag_grid_community179._selectAllCells)(this.beans)}focusAllCellsFromHeaderClick(){this.selectAllCellsFromHeader(),this.focusFirstRenderedCellAtRowPosition()}refreshCells(e,t){const i=this.column;if(i){if(t){const r=this.beans.autoWidthCalc?.getPreferredWidthForElements([this.createDummyElement(i)],2);r!=null&&this.beans.colResize?.setColumnWidths([{key:i,newWidth:r}],!1,!0,"rowNumbersService")}this.beans.rowRenderer.refreshCells({columns:[i],force:e})}}createDummyElement(e){const t=(0,import_ag_grid_community179._createElement)({tag:"div",cls:"ag-cell-value ag-cell"});let i=String(this.beans.rowModel.getRowCount()+1);const r=this.rowNumberOverrides;if(typeof r?.valueFormatter=="function"){const n=(0,import_ag_grid_community179._addGridCommonParams)(this.gos,{data:void 0,value:i,node:null,column:e,colDef:e.colDef});i=r.valueFormatter(n)}return t.textContent=i,t}createColDef(){const e=this.beans.contextMenuSvc,t=this.gos.get("enableRtl");return{minWidth:60,width:60,resizable:!1,valueGetter:this.boundValueGetter,contextMenuItems:this.isIntegratedWithSelection||!e?void 0:emptyContextMenuItems,...this.rowNumberOverrides,colId:import_ag_grid_community179.ROW_NUMBERS_COLUMN_ID,chartDataType:"excluded",suppressHeaderMenuButton:!0,sortable:!1,suppressMovable:!0,lockPinned:!0,pinned:t?"right":"left",lockPosition:t?"right":"left",editable:!1,suppressFillHandle:!0,suppressAutoSize:!0,suppressSizeToFit:!0,suppressHeaderContextMenu:!0,headerClass:this.getHeaderClass(),cellClass:this.boundCellClass,cellAriaRole:"rowheader"}}valueGetter(e){const t=e.node,i=this.beans.formula?.active,r=t?.pinnedSibling;if(t?.rowPinned&&r){const n=i?r.formulaRowIndex:r.rowIndex;return`${n==null?"-":n+1}`}return String(((i?t?.formulaRowIndex:t?.rowIndex)||0)+1)}getHeaderClass(){const e=["ag-row-number-header"];return this.isIntegratedWithSelection&&e.push("ag-row-number-selection-enabled"),e}getCellClass(e){const t=this.rangeSvc,{node:i}=e,r=["ag-row-number-cell"],n=this.gos.get("cellSelection");if(!t||!n)return r;this.isIntegratedWithSelection&&r.push("ag-row-number-selection-enabled");const o=t.getCellRanges();if(!o.length)return r;const a=this.visibleCols.allCols.length-1,l=typeof n=="object"&&n.enableHeaderHighlight;for(const c of o)t.isRowInRange({rowIndex:i.rowIndex,rowPinned:i.rowPinned},c)&&(l&&r.push("ag-row-number-range-highlight"),c.columns.length===a&&r.push("ag-row-number-range-selected"));return r}focusFirstRenderedCellAtRowPosition(e){const t=this.beans.editSvc;if(t?.isEditing()&&t.isRangeSelectionEnabledWhileEditing?.()||!e&&(e=(0,import_ag_grid_community179._getFirstRow)(this.beans),!e))return;const i=this.beans,r=this.visibleCols,n=this.gos.get("enableRtl")?r.rightCols:r.leftCols;let o;if(n.length==1){const u=(0,import_ag_grid_community179._getRowNode)(i,e);if(!u)return;o=i.colViewport.getColsWithinViewport(u)}else o=n;const a=o.find(u=>!(0,import_ag_grid_community179.isRowNumberCol)(u));if(!a)return;const{rowPinned:l,rowIndex:c}=e;setTimeout(()=>{this.isAlive()&&i.focusSvc.setFocusedCell({rowIndex:c,rowPinned:l,column:a,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})})}},RowNumbersModule={moduleName:"RowNumbers",version:VERSION,beans:[RowNumbersService],dynamicBeans:{rowNumberRowResizer:AgRowNumbersRowResizer},dependsOn:[EnterpriseCoreModule,import_ag_grid_community180.CellStyleModule,import_ag_grid_community180._SharedDragAndDropModule],css:[rowNumbers_default]},import_ag_grid_community194=require("ag-grid-community"),import_ag_stack124=require("ag-stack"),import_ag_grid_community185=require("ag-grid-community"),import_ag_stack120=require("ag-stack"),import_ag_grid_community181=require("ag-grid-community"),AgFiltersToolPanelHeaderElement={tag:"div",cls:"ag-filter-toolpanel-search",role:"presentation",children:[{tag:"div",ref:"eExpand",cls:"ag-filter-toolpanel-expand"},{tag:"ag-input-text-field",ref:"eFilterTextField",cls:"ag-filter-toolpanel-search-input"}]},AgFiltersToolPanelHeader=class extends import_ag_grid_community181.Component{constructor(){super(...arguments),this.eExpand=import_ag_stack120.RefPlaceholder,this.eFilterTextField=import_ag_stack120.RefPlaceholder}postConstruct(){this.setTemplate(AgFiltersToolPanelHeaderElement,[import_ag_grid_community181.AgInputTextFieldSelector]);const e=this.getLocaleTextFunc();this.eFilterTextField.setClearButtonEnabled(!0).setSearchIcon(!0).setInputAriaLabel(e("ariaFilterColumnsInput","Filter Columns Input")).onValueChange(this.onSearchTextChanged.bind(this)).onValueClear(()=>this.onSearchTextCleared()),this.createExpandIcons(),this.setExpandState(0),this.addManagedElementListeners(this.eExpand,{click:this.onExpandClicked.bind(this)}),this.addManagedEventListeners({newColumnsLoaded:this.showOrHideOptions.bind(this)})}init(e){this.params=e,this.eFilterTextField.setAutoComplete(e.browserAutoComplete),this.beans.colModel.ready&&this.showOrHideOptions()}createExpandIcons(){const{eExpand:e,beans:t}=this;e.appendChild(this.eExpandChecked=(0,import_ag_grid_community181._createIconNoSpan)("accordionOpen",t)),e.appendChild(this.eExpandUnchecked=(0,import_ag_grid_community181._createIconNoSpan)("accordionClosed",t)),e.appendChild(this.eExpandIndeterminate=(0,import_ag_grid_community181._createIconNoSpan)("accordionIndeterminate",t))}showOrHideOptions(){const{params:e,eFilterTextField:t}=this,i=!e.suppressFilterSearch,r=!e.suppressExpandAll,n=this.getLocaleTextFunc();t.setInputPlaceholder(n("searchOoo","Search..."));const o=l=>l.getOriginalParent()&&l.isFilterAllowed(),a=this.beans.colModel.getCols().some(o);(0,import_ag_stack120._setDisplayed)(t.getGui(),i),(0,import_ag_stack120._setDisplayed)(this.eExpand,r&&a)}onSearchTextChanged(){this.onSearchTextChangedDebounced||(this.onSearchTextChangedDebounced=(0,import_ag_stack120._debounce)(this,()=>this.dispatchLocalEvent({type:"searchChanged",searchText:this.eFilterTextField.getValue()}),300)),this.searchTextChangedTimeout=this.onSearchTextChangedDebounced()}onSearchTextCleared(){clearTimeout(this.searchTextChangedTimeout),this.dispatchLocalEvent({type:"searchChanged",searchText:this.eFilterTextField.getValue()})}onExpandClicked(){const e=this.currentExpandState===0?{type:"collapseAll"}:{type:"expandAll"};this.dispatchLocalEvent(e)}setExpandState(e){this.currentExpandState=e,(0,import_ag_stack120._setDisplayed)(this.eExpandChecked,e===0),(0,import_ag_stack120._setDisplayed)(this.eExpandUnchecked,e===1),(0,import_ag_stack120._setDisplayed)(this.eExpandIndeterminate,e===2)}},AgFiltersToolPanelHeaderSelector={selector:"AG-FILTERS-TOOL-PANEL-HEADER",component:AgFiltersToolPanelHeader},import_ag_stack123=require("ag-stack"),import_ag_grid_community184=require("ag-grid-community"),import_ag_stack121=require("ag-stack"),import_ag_grid_community182=require("ag-grid-community"),ToolPanelFilterElement={tag:"div",cls:"ag-filter-toolpanel-instance",children:[{tag:"div",ref:"eFilterToolPanelHeader",cls:"ag-filter-toolpanel-header ag-filter-toolpanel-instance-header",role:"button",attrs:{"aria-expanded":"false"},children:[{tag:"div",ref:"eExpand",cls:"ag-filter-toolpanel-expand"},{tag:"span",ref:"eFilterName",cls:"ag-header-cell-text"},{tag:"span",ref:"eFilterIcon",cls:"ag-header-icon ag-filter-icon ag-filter-toolpanel-instance-header-icon"}]},{tag:"div",ref:"agFilterToolPanelBody",cls:"ag-filter-toolpanel-instance-body ag-filter"}]},ToolPanelFilterComp=class extends import_ag_grid_community182.Component{constructor(e,t){super(ToolPanelFilterElement),this.hideHeader=e,this.expandedCallback=t,this.eFilterToolPanelHeader=import_ag_stack121.RefPlaceholder,this.eFilterName=import_ag_stack121.RefPlaceholder,this.agFilterToolPanelBody=import_ag_stack121.RefPlaceholder,this.eFilterIcon=import_ag_stack121.RefPlaceholder,this.eExpand=import_ag_stack121.RefPlaceholder,this.expanded=!1}postConstruct(){const{beans:e,eExpand:t,eFilterIcon:i}=this,r=(0,import_ag_grid_community182._createIconNoSpan)("accordionOpen",e);this.eExpandChecked=r;const n=(0,import_ag_grid_community182._createIconNoSpan)("accordionClosed",e);this.eExpandUnchecked=n,t.appendChild(r),t.appendChild(n);const o=this.getLocaleTextFunc();(0,import_ag_stack121._setAriaLabel)(i,o("ariaFilterActive","Filter Active")),(0,import_ag_stack121._setAriaRole)(i,"img")}setColumn(e){this.column=e;const{beans:t,eFilterToolPanelHeader:i,eFilterIcon:r,eExpandChecked:n,hideHeader:o}=this;this.eFilterName.innerText=t.colNames.getDisplayNameForColumn(e,"filterToolPanel",!1)||"",this.addManagedListeners(i,{click:this.toggleExpanded.bind(this),keydown:this.onKeyDown.bind(this)}),this.addManagedEventListeners({filterOpened:this.onFilterOpened.bind(this)}),this.addInIcon("filterActive",r,e),(0,import_ag_stack121._setDisplayed)(r,this.isFilterActive()),(0,import_ag_stack121._setDisplayed)(n,!1),o?((0,import_ag_stack121._setDisplayed)(i,!1),i.removeAttribute("tabindex")):i.setAttribute("tabindex","0"),this.addManagedListeners(e,{filterChanged:this.onFilterChanged.bind(this)})}onKeyDown(e){const{key:t}=e,{ENTER:i,SPACE:r,LEFT:n,RIGHT:o}=import_ag_grid_community182.KeyCode;t!==i&&t!==r&&t!==n&&t!==o||(e.preventDefault(),t===i||t===r?this.toggleExpanded():t===import_ag_grid_community182.KeyCode.LEFT?this.collapse():this.expand())}getColumn(){return this.column}getColumnFilterName(){return this.beans.colNames.getDisplayNameForColumn(this.column,"filterToolPanel",!1)}addCssClassToTitleBar(e){this.eFilterToolPanelHeader.classList.add(e)}addInIcon(e,t,i){if(t==null)return;const r=(0,import_ag_grid_community182._createIconNoSpan)(e,this.beans,i);t.appendChild(r)}isFilterActive(){return!!this.beans.colFilter?.isFilterActive(this.column)}onFilterChanged(){(0,import_ag_stack121._setDisplayed)(this.eFilterIcon,this.isFilterActive()),this.dispatchLocalEvent({type:"filterChanged"})}toggleExpanded(){this.expanded?this.collapse():this.expand()}expand(){this.expanded||(this.expanded=!0,(0,import_ag_stack121._setAriaExpanded)(this.eFilterToolPanelHeader,!0),(0,import_ag_stack121._setDisplayed)(this.eExpandChecked,!0),(0,import_ag_stack121._setDisplayed)(this.eExpandUnchecked,!1),this.addFilterElement(),this.expandedCallback())}addFilterElement(e){const t=(0,import_ag_grid_community182._createElement)({tag:"div",cls:"ag-filter-toolpanel-instance-filter"}),i=this.createManagedBean(new import_ag_grid_community182.FilterComp(this.column,"TOOLBAR"));this.filterComp=i,i.hasFilter()&&i.getFilter()?.then(r=>{this.underlyingFilter=r,r&&(t.appendChild(i.getGui()),this.agFilterToolPanelBody.appendChild(t),i.afterGuiAttached({container:"toolPanel",suppressFocus:e}))})}collapse(){if(!this.expanded)return;this.expanded=!1,(0,import_ag_stack121._setAriaExpanded)(this.eFilterToolPanelHeader,!1),this.removeFilterElement(),(0,import_ag_stack121._setDisplayed)(this.eExpandChecked,!1),(0,import_ag_stack121._setDisplayed)(this.eExpandUnchecked,!0);const e=this.filterComp;e?.afterGuiDetached(),this.destroyBean(e),this.expandedCallback()}removeFilterElement(){(0,import_ag_stack121._clearElement)(this.agFilterToolPanelBody)}isExpanded(){return this.expanded}onPanelHidden(){if(!this.expanded)return;const e=this.underlyingFilter;e&&e.afterGuiDetached?.()}onFilterOpened(e){e.source==="COLUMN_MENU"&&e.column===this.column&&this.expanded&&this.collapse()}},import_ag_stack122=require("ag-stack"),import_ag_grid_community183=require("ag-grid-community"),ToolPanelFilterGroupComp=class extends import_ag_grid_community183.Component{constructor(e,t,i,r,n){super(),this.columnGroup=e,this.childFilterComps=t,this.expandedCallback=i,this.depth=r,this.showingColumn=n,this.filterGroupComp=import_ag_stack122.RefPlaceholder}postConstruct(){const e={cssIdentifier:"filter-toolpanel",direction:"vertical"};this.setTemplate({tag:"div",cls:"ag-filter-toolpanel-group-wrapper",children:[{tag:"ag-group-component",ref:"filterGroupComp"}]},[AgGroupComponentSelector],{filterGroupComp:e}),this.setGroupTitle();const{filterGroupComp:t,depth:i,childFilterComps:r,gos:n}=this;t.setAlignItems("stretch"),t.addCss(`ag-filter-toolpanel-group-level-${i}`),t.getGui().style.setProperty("--ag-indentation-level",String(i)),t.addCssClassToTitleBar(`ag-filter-toolpanel-group-level-${i}-header`);for(const l of r)t.addItem(l),l.addCssClassToTitleBar(`ag-filter-toolpanel-group-level-${i+1}-header`),l.getGui().style.setProperty("--ag-indentation-level",String(i+1));const o=this.showingColumn?this.columnGroup:void 0,a=()=>o?.colDef??this.columnGroup.getColGroupDef();this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:()=>t.getTitleBarGui(),getTooltipComponentDefinition:()=>(0,import_ag_grid_community183._getHeaderTooltipComponentDefinition)(a()),getLocation:()=>"filterToolPanelColumnGroup",getTooltipValue:()=>{const l=a(),c=this.filterGroupName;return(0,import_ag_grid_community183._resolveHeaderTooltipValue)(l,(0,import_ag_grid_community183._addGridCommonParams)(n,{location:"filterToolPanelColumnGroup",colDef:l,column:this.columnGroup,value:c,valueFormatted:c}))},shouldDisplayTooltip:(0,import_ag_grid_community183._getShouldDisplayTooltip)(n,()=>t.getGui().querySelector(".ag-group-title")),getAdditionalParams:()=>{const l=a();return{...l?{colDef:l}:{},column:this.columnGroup,valueFormatted:this.filterGroupName}}})),this.refreshFilterClass(),this.addExpandCollapseListeners(),this.addFilterChangedListeners(),this.setupTooltip(),this.addInIcon("filterActive")}setupTooltip(){const e=()=>this.tooltipFeature?.refreshTooltip();e(),this.addManagedEventListeners({newColumnsLoaded:e})}addCssClassToTitleBar(e){this.filterGroupComp.addCssClassToTitleBar(e)}onPanelHidden(){for(const e of this.childFilterComps)e.onPanelHidden()}isColumnGroup(){return(0,import_ag_grid_community183.isProvidedColumnGroup)(this.columnGroup)}isExpanded(){return this.filterGroupComp.isExpanded()}getChildren(){return this.childFilterComps}getFilterGroupName(){return this.filterGroupName??""}getFilterGroupId(){return this.columnGroup.getId()}hideGroupItem(e,t){this.filterGroupComp.hideItem(e,t)}hideGroup(e){this.setDisplayed(!e)}addInIcon(e){const t=(0,import_ag_grid_community183._createIconNoSpan)(e,this.beans);if(t){t.classList.add("ag-filter-toolpanel-group-instance-header-icon");const i=this.getLocaleTextFunc();(0,import_ag_stack122._setAriaLabel)(t,i("ariaFilterActive","Filter Active")),(0,import_ag_stack122._setAriaRole)(t,"img")}this.filterGroupComp.addTitleBarWidget(t)}forEachToolPanelFilterChild(e){for(const t of this.childFilterComps)t instanceof ToolPanelFilterComp&&e(t)}addExpandCollapseListeners(){const e=this.isColumnGroup()?()=>this.expandedCallback():()=>this.forEachToolPanelFilterChild(i=>i.expand()),t=this.isColumnGroup()?()=>this.expandedCallback():()=>this.forEachToolPanelFilterChild(i=>i.collapse());this.addManagedListeners(this.filterGroupComp,{expanded:e,collapsed:t})}getColumns(){return(0,import_ag_grid_community183.isProvidedColumnGroup)(this.columnGroup)?this.columnGroup.getLeafColumns():[this.columnGroup]}addFilterChangedListeners(){for(const e of this.getColumns())this.addManagedListeners(e,{filterChanged:()=>this.refreshFilterClass()});(0,import_ag_grid_community183.isProvidedColumnGroup)(this.columnGroup)||this.addManagedEventListeners({filterOpened:this.onFilterOpened.bind(this)})}refreshFilterClass(){const e=this.getColumns(),t=()=>e.some(i=>i.isFilterActive());this.filterGroupComp.toggleCss("ag-has-filter",t())}onFilterOpened(e){e.source==="COLUMN_MENU"&&e.column===this.columnGroup&&this.isExpanded()&&this.collapse()}expand(){this.filterGroupComp.toggleGroupExpand(!0)}collapse(){this.filterGroupComp.toggleGroupExpand(!1)}setGroupTitle(){const e=this.columnGroup,t=(0,import_ag_grid_community183.isProvidedColumnGroup)(e)?this.getColumnGroupName(e):this.getColumnName(e);this.filterGroupName=t,this.filterGroupComp.setTitle(t||"")}getColumnGroupName(e){return this.beans.colNames.getDisplayNameForProvidedColumnGroup(null,e,"filterToolPanel")}getColumnName(e){return this.beans.colNames.getDisplayNameForColumn(e,"filterToolPanel",!1)}destroyFilters(){this.childFilterComps=this.destroyBeans(this.childFilterComps),(0,import_ag_stack122._clearElement)(this.getGui())}destroy(){this.destroyFilters(),super.destroy()}},AgFiltersToolPanelList=class extends import_ag_grid_community184.Component{constructor(){super({tag:"div",cls:"ag-filter-list-panel",role:"group"}),this.initialised=!1,this.pendingStateRestore=!1,this.isRestoringState=!1,this.filterGroupComps=[],this.suppressOnColumnsChanged=!1,this.onColumnsChangedPending=!1}wireBeans(e){this.colModel=e.colModel}init(e,t=!1){this.initialised=!0,this.pendingStateRestore=t;const i=(0,import_ag_grid_community184._addGridCommonParams)(this.gos,{suppressExpandAll:!1,suppressFilterSearch:!1,suppressSyncLayoutWithGrid:!1});(0,import_ag_grid_community184._mergeDeep)(i,e),this.params=i,i.suppressSyncLayoutWithGrid||this.addManagedEventListeners({columnMoved:()=>this.onColumnsChanged()}),this.addManagedEventListeners({newColumnsLoaded:()=>this.onColumnsChanged(),toolPanelVisibleChanged:r=>{r.key==="filters"&&!r.visible&&this.onPanelHidden()},dragStarted:()=>{this.suppressOnColumnsChanged=!0},dragStopped:()=>{this.suppressOnColumnsChanged=!1,this.onColumnsChangedPending&&(this.onColumnsChangedPending=!1,this.onColumnsChanged())}}),this.colModel.ready&&this.onColumnsChanged()}onColumnsChanged(){if(this.suppressOnColumnsChanged){this.onColumnsChangedPending=!0;return}const e=this.colModel.pivotMode;!this.params.suppressSyncLayoutWithGrid&&!e?this.syncFilterLayout():this.buildTreeFromProvidedColumnDefs(),this.refreshAriaLabel()}syncFilterLayout(){syncLayoutWithGrid(this.colModel,this.setFiltersLayout.bind(this)),this.refreshAriaLabel()}buildTreeFromProvidedColumnDefs(){const e=this.colModel.colDefTree;this.recreateFilters(e)}setFiltersLayout(e){const t=toolPanelCreateColumnTree(this.beans,e);this.recreateFilters(t)}recreateFilters(e){const t=(0,import_ag_stack123._getActiveDomElement)(this.beans);this.isRestoringState=this.pendingStateRestore&&!!this.params.initialState,this.pendingStateRestore=!1;const i=this.getExpansionState();this.destroyFilters();const r=this.recursivelyAddComps(e,0,i);this.filterGroupComps=r;const n=r.length;if(n){for(const a of r)this.appendChild(a);this.setFirstAndLastVisible(0,n-1)}const o=this.searchFilterText;(0,import_ag_stack123._exists)(o)&&this.searchFilters(o),this.fireExpandedEvent(),this.getGui().contains(t)&&t.focus(),this.isRestoringState=!1,this.refreshAriaLabel()}recursivelyAddComps(e,t,i){return e.map(r=>{if((0,import_ag_grid_community184.isProvidedColumnGroup)(r))return this.recursivelyAddFilterGroupComps(r,t,i)?.flatMap(c=>c)??[];const n=r;if(!this.shouldDisplayFilter(n))return[];const o=t===0,a=new ToolPanelFilterComp(o,()=>this.onFilterExpanded());if(this.createBean(a),a.setColumn(n),i.get(n.getId())&&a.expand(),t>0)return a;const l=this.createBean(new ToolPanelFilterGroupComp(n,[a],this.onGroupExpanded.bind(this),t,!0));return l.addCssClassToTitleBar("ag-filter-toolpanel-header"),i.get(l.getFilterGroupId())||l.collapse(),l}).flatMap(r=>r)}refreshAriaLabel(){const e=this.getLocaleTextFunc(),t=e("ariaFilterPanelList","Filter List"),i=e("filters","Filters"),c=this.getGui().querySelectorAll(".ag-filter-toolpanel-group-item:not(.ag-filter-toolpanel-group-wrapper, .ag-hidden)").length;(0,import_ag_stack123._setAriaLabel)(this.getAriaElement(),`${t} ${c} ${i}`)}recursivelyAddFilterGroupComps(e,t,i){if(!this.filtersExistInChildren(e.getChildren()))return;if(e.getColGroupDef()?.suppressFiltersToolPanel)return[];const n=e.isPadding()?t:t+1,o=this.recursivelyAddComps(e.getChildren(),n,i).flatMap(c=>c);if(e.isPadding())return o;const a=new ToolPanelFilterGroupComp(e,o,this.onGroupExpanded.bind(this),t,!1);this.createBean(a),a.addCssClassToTitleBar("ag-filter-toolpanel-header");const l=i.get(a.getFilterGroupId());return(this.isRestoringState&&!l||l===!1)&&a.collapse(),[a]}filtersExistInChildren(e){return e.some(t=>(0,import_ag_grid_community184.isProvidedColumnGroup)(t)?this.filtersExistInChildren(t.getChildren()):this.shouldDisplayFilter(t))}shouldDisplayFilter(e){const t=e.colDef?.suppressFiltersToolPanel;return e.isFilterAllowed()&&!t}getExpansionState(){const e=new Map;if(this.isRestoringState){const{expandedColIds:i,expandedGroupIds:r}=this.params.initialState;for(const n of i)e.set(n,!0);for(const n of r)e.set(n,!0);return e}const t=i=>{e.set(i.getFilterGroupId(),i.isExpanded());for(const r of i.getChildren())r instanceof ToolPanelFilterGroupComp?t(r):e.set(r.getColumn().getId(),r.isExpanded())};return this.filterGroupComps.forEach(t),e}refresh(){}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params,!0)}expandFilterGroups(e,t){const i=[],r=n=>{const o=n.getFilterGroupId();(!t||t.includes(o))&&(e&&n.isColumnGroup()?n.expand():n.collapse(),i.push(o));for(const l of n.getChildren())l instanceof ToolPanelFilterGroupComp&&r(l)};if(this.filterGroupComps.forEach(r),this.onGroupExpanded(),t){const n=t.filter(o=>i.indexOf(o)<0);n.length>0&&this.beans.log.warn(166,{unrecognisedGroupIds:n})}}expandFilters(e,t){const i=[],r=n=>{if(n instanceof ToolPanelFilterGroupComp){let l=!1;for(const c of n.getChildren())r(c)&&(e?(n.expand(),l=!0):n.isColumnGroup()||n.collapse());return l}const o=n.getColumn().colId,a=!t||t.includes(o);return a&&(e?n.expand():n.collapse(),i.push(o)),a};if(this.filterGroupComps.forEach(r),this.onGroupExpanded(),t){const n=t.filter(o=>i.indexOf(o)<0);n.length>0&&this.beans.log.warn(167,{unrecognisedColIds:n})}}onGroupExpanded(){this.fireExpandedEvent()}onFilterExpanded(){this.dispatchLocalEvent({type:"filterExpanded"})}fireExpandedEvent(){let e=0,t=0;const i=n=>{if(n.isColumnGroup()){n.isExpanded()?e++:t++;for(const o of n.getChildren())o instanceof ToolPanelFilterGroupComp&&i(o)}};this.filterGroupComps.forEach(i);let r;e>0&&t>0?r=2:t>0?r=1:r=0,this.dispatchLocalEvent({type:"groupExpanded",state:r})}performFilterSearch(e){this.searchFilterText=(0,import_ag_stack123._exists)(e)?e.toLowerCase():null,this.searchFilters(this.searchFilterText)}searchFilters(e){const t=o=>!(0,import_ag_stack123._exists)(e)||o.toLowerCase().indexOf(e)!==-1,i=(o,a)=>{if(!(o instanceof ToolPanelFilterGroupComp))return t(o.getColumnFilterName()||"");const l=o.getChildren(),c=t(o.getFilterGroupName()),u=a||c;if(u){o.hideGroup(!1);for(let h=0;h<l.length;h++)i(l[h],u),o.hideGroupItem(!1,h);return!0}let d=!1;return l.forEach((h,p)=>{const g=i(h,a);o.hideGroupItem(!g,p),g&&(d=!0)}),o.hideGroup(!d),d};let r,n;this.filterGroupComps.forEach((o,a)=>{i(o,!1);const l=o.getGui()?.classList.contains("ag-hidden");r===void 0?l||(r=a,n=a):!l&&n!==a&&(n=a)}),this.setFirstAndLastVisible(r,n),this.refreshAriaLabel()}setFirstAndLastVisible(e,t){this.filterGroupComps.forEach((i,r)=>{i.removeCss("ag-first-group-visible"),i.removeCss("ag-last-group-visible"),r===e&&i.addCss("ag-first-group-visible"),r===t&&i.addCss("ag-last-group-visible")})}onPanelHidden(){for(const e of this.filterGroupComps)e.onPanelHidden()}getExpandedFiltersAndGroups(){const e=[],t=new Set,i=r=>{if(r instanceof ToolPanelFilterGroupComp){for(const o of r.getChildren())i(o);const n=r.getFilterGroupId();r.isExpanded()&&!t.has(n)&&e.push(n)}else r.isExpanded()&&t.add(r.getColumn().colId)};return this.filterGroupComps.forEach(i),{expandedGroupIds:e,expandedColIds:Array.from(t)}}destroyFilters(){this.filterGroupComps=this.destroyBeans(this.filterGroupComps),(0,import_ag_stack123._clearElement)(this.getGui())}destroy(){this.destroyFilters(),super.destroy()}},AgFiltersToolPanelListSelector={selector:"AG-FILTERS-TOOL-PANEL-LIST",component:AgFiltersToolPanelList},filtersToolPanel_default=".ag-filter-toolpanel{flex:1 1 0px;min-width:0}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{align-items:center;color:var(--ag-header-text-color);display:flex;font-weight:var(--ag-header-font-weight);padding:0 var(--ag-spacing);>:where(.ag-filter-icon),>:where(.ag-filter-toolpanel-expand),>:where(.ag-filter-toolpanel-search-input),>:where(.ag-header-cell-text){align-items:center;display:flex}}.ag-filter-toolpanel-header{padding-bottom:var(--ag-spacing);padding-top:var(--ag-spacing);position:relative;&:focus-visible{border-radius:var(--ag-border-radius);box-shadow:inset var(--ag-focus-shadow)}}:where(.ag-ltr) .ag-filter-toolpanel-group-instance-header-icon,:where(.ag-ltr) .ag-filter-toolpanel-instance-header-icon{margin-left:var(--ag-spacing)}:where(.ag-rtl) .ag-filter-toolpanel-group-instance-header-icon,:where(.ag-rtl) .ag-filter-toolpanel-instance-header-icon{margin-right:var(--ag-spacing)}.ag-filter-toolpanel-search{min-height:var(--ag-header-height);padding-bottom:var(--ag-spacing);padding-top:var(--ag-widget-container-vertical-padding)}:where(.ag-filter-toolpanel-group:not(.ag-has-filter)>.ag-group-title-bar) .ag-filter-toolpanel-group-instance-header-icon{display:none}.ag-filter-toolpanel-search-input{flex-grow:1;height:calc(var(--ag-spacing)*4)}:where(.ag-ltr) .ag-filter-toolpanel-group-title-bar-icon{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-filter-toolpanel-group-title-bar-icon{margin-left:var(--ag-spacing)}.ag-filter-toolpanel-expand{cursor:pointer}:where(.ag-ltr) .ag-filter-toolpanel-expand{margin-right:var(--ag-spacing)}:where(.ag-rtl) .ag-filter-toolpanel-expand{margin-left:var(--ag-spacing)}:where(.ag-ltr) .ag-filter-toolpanel-group-title-bar,:where(.ag-ltr) .ag-filter-toolpanel-instance-header{padding-left:calc(var(--ag-spacing) + var(--ag-filter-tool-panel-group-indent)*var(--ag-indentation-level))}:where(.ag-rtl) .ag-filter-toolpanel-group-title-bar,:where(.ag-rtl) .ag-filter-toolpanel-instance-header{padding-right:calc(var(--ag-spacing) + var(--ag-filter-tool-panel-group-indent)*var(--ag-indentation-level))}:where(.ag-ltr) .ag-filter-toolpanel-instance-body{margin-left:var(--ag-filter-tool-panel-group-indent)}:where(.ag-rtl) .ag-filter-toolpanel-instance-body{margin-right:var(--ag-filter-tool-panel-group-indent)}.ag-filter-toolpanel-instance-filter{background-color:var(--ag-chrome-background-color)}.ag-filter-toolpanel-group-level-0{border-top:none}",FiltersToolPanelElement={tag:"div",cls:"ag-filter-toolpanel",children:[{tag:"ag-filters-tool-panel-header",ref:"filtersToolPanelHeaderPanel"},{tag:"ag-filters-tool-panel-list",ref:"filtersToolPanelListPanel"}]},FiltersToolPanel=class extends import_ag_grid_community185.Component{constructor(){super(FiltersToolPanelElement,[AgFiltersToolPanelHeaderSelector,AgFiltersToolPanelListSelector]),this.filtersToolPanelHeaderPanel=import_ag_stack124.RefPlaceholder,this.filtersToolPanelListPanel=import_ag_stack124.RefPlaceholder,this.initialised=!1,this.listenerDestroyFuncs=[],this.registerCSS(filtersToolPanel_default)}init(e){if(this.initialised){for(const c of this.listenerDestroyFuncs)c();this.listenerDestroyFuncs=[]}this.initialised=!0;const i={...{suppressExpandAll:!1,suppressFilterSearch:!1,suppressSyncLayoutWithGrid:!1},...e};this.params=i;const r=!!e.initialState&&e!==this.appliedParams;this.appliedParams=e;const{filtersToolPanelHeaderPanel:n,filtersToolPanelListPanel:o}=this;n.init(i),o.init(i,r);const{suppressExpandAll:a,suppressFilterSearch:l}=i;a&&l&&n.setDisplayed(!1),this.listenerDestroyFuncs.push(...this.addManagedListeners(n,{expandAll:()=>o.expandFilterGroups(!0),collapseAll:()=>o.expandFilterGroups(!1),searchChanged:c=>o.performFilterSearch(c.searchText)}),...this.addManagedListeners(o,{filterExpanded:i.onStateUpdated,groupExpanded:c=>{n.setExpandState(c.state),i.onStateUpdated()}}))}setVisible(e){super.setDisplayed(e),e&&!this.initialised&&this.init(this.params)}setFilterLayout(e){this.filtersToolPanelListPanel.setFiltersLayout(e)}expandFilterGroups(e){this.filtersToolPanelListPanel.expandFilterGroups(!0,e)}collapseFilterGroups(e){this.filtersToolPanelListPanel.expandFilterGroups(!1,e)}expandFilters(e){this.filtersToolPanelListPanel.expandFilters(!0,e)}collapseFilters(e){this.filtersToolPanelListPanel.expandFilters(!1,e)}syncLayoutWithGrid(){this.filtersToolPanelListPanel.syncFilterLayout()}refresh(e){return this.init(e),!0}getState(){return this.filtersToolPanelListPanel.getExpandedFiltersAndGroups()}},import_ag_grid_community186=require("ag-grid-community"),FilterPanelService=class extends import_ag_grid_community186.BeanStub{constructor(){super(...arguments),this.beanName="filterPanelSvc",this.states=new Map,this.orderedStates=[],this.initialStateApplied=!1,this.columnsLoaded=!1,this.isActive=!1}postConstruct(){if(!this.gos.get("enableFilterHandlers"))return;const e=this.updateFilterStates.bind(this),t=()=>this.dispatchStatesUpdates(void 0,!0),i=this.onFilterDestroyed.bind(this);this.addManagedEventListeners({newColumnsLoaded:()=>{this.columnsLoaded=!0,this.initialStateApplied||this.applyState(),e()},dataTypesInferred:e,filterChanged:e,filterDestroyed:i,filterHandlerDestroyed:i,filterOpened:t,filterClosed:t});const r=({column:n})=>{this.states.get(n.colId)?.refresh?.(),t()};this.addManagedListeners(this.beans.colFilter,{filterStateChanged:r,filterModelAsStringChanged:r})}updateParams(e,t){this.params=e;let i=!1;if(t&&(this.currState=t,this.columnsLoaded)){const r=new Set(t.filters?.map(n=>n.colId));for(const n of this.getIds())r.has(n)||this.remove(n);this.clear(),this.applyState(),this.updateFilterStates(),i=!0}i||this.dispatchStatesUpdates(),this.beans.colFilter?.setGlobalButtons(!!e.buttons?.length)}getIds(){return Array.from(this.states.keys())}getAvailable(){const e=this.beans,t=[];for(const i of e.colModel.colDefList){const r=i.colId;i.isFilterAllowed()&&!i.colDef.suppressFiltersToolPanel&&!this.states.get(r)&&t.push({id:r,name:getDisplayName(e,i)})}return t}add(e){this.createFilter(e,!0),this.dispatchStatesUpdates(e)}remove(e){const{states:t,orderedStates:i,beans:{colFilter:r,selectableFilter:n}}=this,o=t.get(e);if(!o)return;o.destroy?.();const a=o.state.column;t.delete(e),n?.clearActive(e),r?.destroyFilter(a),this.eventSvc.dispatchEvent({type:"filterSwitched",column:a});const l=i.indexOf(e);i.splice(l,1);const c=i[l];this.dispatchStatesUpdates(c)}getState(e){return this.states.get(e)?.state}updateFilterState(e,t,i,r){const n=this.getState(e);n&&(n[t]=i,r||this.dispatchLocalEvent({type:"filterPanelStateChanged",id:e,state:n}))}expand(e,t){const i=this.states.get(e);if(!i)return;i.destroy?.();const{handler:r,state:{column:n}}=i,o=this.createFilterState(n,r,t);this.states.set(e,o),this.dispatchLocalEvent({type:"filterPanelStateChanged",id:e,state:o.state})}updateType(e,t){const i=this.states.get(e);if(!i)return;const r=i.state;if(r.expanded===!1)return;const n=r.filterDefs;if(!n)return;const{colFilter:o,selectableFilter:a}=this.beans;a?.setActive(e,n,t),o.filterParamsChanged(e,"columnFilter");const l=r.column;this.eventSvc.dispatchEvent({type:"filterSwitched",column:l});const c=this.states.get(e);if(!c)return;const u=c.state;this.dispatchLocalEvent({type:"filterPanelStateChanged",id:e,state:u})}getActions(){const e=this.params?.buttons;if(!e?.length)return;const t=!!this.beans.colFilter?.canApplyAll();return{actions:e,canApply:t}}doAction(e){this.beans.colFilter?.updateAllModels(e)}getGridState(){const e=[];return this.states.forEach((t,i)=>{e.push({colId:i,expanded:t.state.expanded})}),{filters:e}}createFilter(e,t){const i=this.createFilterStateWrapper(e,t);i&&(this.states.set(e,i),this.orderedStates.push(e))}createFilterStateWrapper(e,t){const{colModel:i,colFilter:r}=this.beans,n=i.getNonPivotColById(e);if(n&&!n.colDef.suppressFiltersToolPanel){const o=r.getHandler(n,!0);if(o)return this.createFilterState(n,o,t)}}updateFilterStates(){if(!this.params)return;const e=this.beans.colFilter.getModel(),t=new Set;for(const i of Object.keys(e)){const r=this.states.get(i);r?r.refresh?.():this.createFilter(i),t.add(i)}this.states.forEach((i,r)=>{t.has(r)||i.refresh?.()}),this.dispatchStatesUpdates()}createFilterState(e,t,i){const r=this.beans,{colFilter:n,selectableFilter:o}=r,a=getDisplayName(r,e),l=e.colId,c=()=>!!this.params?.buttons&&n.hasUnappliedModel(l),u=c();if(i){const d=e.colDef,{filterDefs:h,activeFilterDef:p}=o?.getDefs(e,d)??{},g=this.createBean(new import_ag_grid_community186.FilterComp(e,"TOOLBAR",!0));return{state:{column:e,name:a,isEditing:u,expanded:i,detail:g.getGui(),activeFilterDef:p,filterDefs:h,afterGuiAttached:g.afterGuiAttached.bind(g),afterGuiDetached:g.afterGuiDetached.bind(g)},handler:t,refresh:()=>{this.updateFilterState(l,"isEditing",c())},destroy:()=>this.destroyBean(g)}}else{const d=e.colId,h=()=>t.getModelAsString?.(n.getStateForColumn(d).model,"filterToolPanel")??"";return{state:{column:e,name:a,isEditing:u,expanded:!1,summary:h()},handler:t,refresh:()=>{this.updateFilterState(d,"isEditing",c(),!0),this.updateFilterState(d,"summary",h())}}}}onFilterDestroyed({column:e,source:t}){const{colFilter:i,filterManager:r}=this.beans;if(!i?.isAlive()||!r?.isFilterAllowed(e))return;const n=this.states,o=e.getColId(),a=n.get(o);if(a){const l=this.createFilterStateWrapper(o,a.state.expanded);l?(a.destroy?.(),n.set(o,l)):this.remove(o),t==="api"&&this.dispatchStatesUpdates()}}dispatchStatesUpdates(e,t){this.dispatchLocalEvent({type:"filterPanelStatesChanged",activeId:e,action:t})}applyState(){if(this.params&&this.columnsLoaded){this.initialStateApplied=!0;for(const{colId:e,expanded:t}of this.currState?.filters??[])this.createFilter(e,t)}}destroy(){this.clear(),this.params=void 0,this.currState=void 0,super.destroy()}clear(){const{states:e,orderedStates:t}=this;e.forEach(i=>i.destroy?.()),e.clear(),t.length=0}};function getDisplayName(e,t){return e.colNames.getDisplayNameForColumn(t,"filterToolPanel")??t.colId}var import_ag_grid_community187=require("ag-grid-community"),import_ag_stack125=require("ag-stack"),DEFAULT_LOCALE_TEXT2={addFilterCard:"Add Filter",ariaLabelAddFilterField:"Add Filter Field",ariaLabelFilterCardDelete:"Delete Filter",ariaLabelFilterCardHasEdits:"Has Edits",agTextColumnFilterDisplayName:"Simple Filter",agNumberColumnFilterDisplayName:"Simple Filter",agDateColumnFilterDisplayName:"Simple Filter",agSetColumnFilterDisplayName:"Selection Filter",agMultiColumnFilterDisplayName:"Combo Filter",addFilterPlaceholder:"Search columns..."};function translateForFilterPanel(e,t){return(0,import_ag_stack125._translate)(e,DEFAULT_LOCALE_TEXT2,t)}function compareAndUpdateListsInDom(e,t,i){let r=0;for(let n=0;n<i.length;n++){const o=i[n];o===t[r]?r++:(0,import_ag_stack125._removeFromParent)(o)}for(;r<t.length;)e.appendChild(t[r++])}var SelectableFilterService=class extends import_ag_grid_community187.BeanStub{constructor(){super(...arguments),this.beanName="selectableFilter",this.selectedFilters=new Map,this.valueGetters=new Map}postConstruct(){const{gos:e,selectedFilters:t}=this,i=e.get("initialState")?.filter?.selectableFilters??{};for(const r of Object.keys(i))t.set(r,i[r])}getFilterValueGetter(e){return this.valueGetters.get(e)}isSelectable(e){return e.filter==="agSelectableColumnFilter"}getFilterDef(e,t){return this.getDefs(e,t).activeFilterDef}getDefs(e,t,i){if(!this.isSelectable(t))return;const r=this.beans,{gos:n,dataTypeSvc:o,colFilter:a}=r;let l=t.filterParams;const c=e.colDef;typeof l=="function"&&(l=l((0,import_ag_grid_community187._addGridCommonParams)(n,{column:e,colDef:c})));const u=o?.getBaseDataType(e),d=o?.getDataTypeDefinition(e),h=o?.getFormatValue(u),{filters:p,defaultFilterParams:g,defaultFilterIndex:f}=l??{},m=S=>{const{filter:x,filterParams:b,name:w,filterValueGetter:P=c.filterValueGetter}=S,F=g?{...g,...b}:b;let T;d&&h&&(x==="agMultiColumnFilter"?T=r.multiFilter?.getParamsForDataType(F,P,d,h):T=(0,import_ag_grid_community187._getFilterParamsForDataType)(x,F,P,d,h,r,this.getLocaleTextFunc()));let R;if(!w){let A=x;typeof x=="boolean"&&(A=a?.getDefaultFilterFromDataType(()=>u)),typeof A=="string"?R=translateForFilterPanel(this,`${A}DisplayName`):(this.warn(280,{colId:e.colId}),R="")}return g||T||R?{...S,filterParams:F,name:R??w,...T}:S},v=(p??this.getDefaultFilters(e)).map(m);let C=i??this.selectedFilters.get(e.colId)??f??(!p&&(0,import_ag_grid_community187._isSetFilterByDefault)(n)?1:0);C>=v.length&&(C=0);const y=v[C];return{filterDefs:v,activeFilterDef:y}}setActive(e,t,i,r){const n=t.indexOf(i);if(n<0)return;const{selectedFilters:o,valueGetters:a}=this;o.set(e,n);const l=i.filterValueGetter;l?a.set(e,l):a.delete(e),r||this.onChange()}clearActive(e){const{selectedFilters:t,valueGetters:i}=this;t.delete(e),i.delete(e),this.onChange()}getState(){return this.selectedFilters.size>0?Object.fromEntries(this.selectedFilters):void 0}setState(e){if(this.clearAll(),e){const t=this.beans.colModel;for(const i of Object.keys(e)){const r=t.getNonPivotColById(i);if(r){const n=this.getDefs(r,r.colDef,e[i]);n&&this.setActive(i,n.filterDefs,n.activeFilterDef,!0)}}}}destroy(){this.clearAll(),super.destroy()}clearAll(){const{selectedFilters:e,valueGetters:t}=this;e.clear(),t.clear()}onChange(){this.dispatchLocalEvent({type:"selectedFilterChanged"})}getDefaultFilters(e){const t=this.beans,{gos:i,dataTypeSvc:r}=t,n=i.isModuleRegistered("MultiFilter"),o=r?.getBaseDataType(e);return[{filter:(0,import_ag_grid_community187._getDefaultSimpleFilter)(o,!1)},{filter:"agSetColumnFilter"},...n?[{filter:"agMultiColumnFilter"}]:[]]}},import_ag_grid_community193=require("ag-grid-community"),import_ag_stack129=require("ag-stack"),import_ag_grid_community192=require("ag-grid-community"),import_ag_stack126=require("ag-stack"),import_ag_grid_community188=require("ag-grid-community"),AddFilterElement={tag:"div",cls:"ag-filter-card ag-filter-card-add"},AddFilterComp=class extends import_ag_grid_community188.Component{constructor(e){super(AddFilterElement),this.options=new Map,this.setOptions(e)}postConstruct(){this.showButton()}refresh(e){this.setOptions(e);const{eSelect:t,options:i}=this;t&&t.setValueList({valueList:Array.from(i.keys()),refresh:!0})}showButton(){(0,import_ag_stack126._clearElement)(this.getGui()),this.destroySelect();const e=(0,import_ag_grid_community188._createElement)({tag:"button",cls:"ag-button ag-standard-button ag-filter-add-button",children:[{tag:"span",children:[()=>(0,import_ag_grid_community188._createIconNoSpan)("filterAdd",this.beans)]},{tag:"span",cls:"ag-filter-add-button-label",children:translateForFilterPanel(this,"addFilterCard")}]});this.activateTabIndex([e]);const t=this.showSelect.bind(this);e.addEventListener("click",t),this.removeButton=()=>{e.removeEventListener("click",t)},this.appendChild(e),e.focus()}showSelect(){(0,import_ag_stack126._clearElement)(this.getGui()),this.destroyButton();const e="ariaLabelAddFilterField",t={className:"ag-filter-add-select",pickerType:"virtual-list",pickerAriaLabelKey:e,pickerAriaLabelValue:translateForFilterPanel(this,e),placeholder:translateForFilterPanel(this,"addFilterPlaceholder"),value:"",valueList:Array.from(this.options.keys()),searchType:"matchAny",searchIcon:!0,allowTyping:!0,filterList:!0,highlightMatch:!0,valueFormatter:r=>this.options.get(r)},i=this.createManagedBean(new AgRichSelect(t));this.eSelect=i,this.appendChild(i.getGui()),i.showPicker(),i.getFocusableElement().focus(),i.addManagedListeners(i,{fieldPickerValueSelected:({value:r})=>this.dispatchLocalEvent({type:"filterSelected",id:r}),pickerHidden:()=>{this.showButton()}})}setOptions(e){const t=this.options;t.clear();for(const{id:i,name:r}of e)t.set(i,r)}destroySelect(){this.eSelect=this.destroyBean(this.eSelect)}destroyButton(){this.removeButton=this.removeButton?.()}destroy(){this.destroySelect(),this.destroyButton(),super.destroy()}},import_ag_stack128=require("ag-stack"),import_ag_grid_community191=require("ag-grid-community"),import_ag_stack127=require("ag-stack"),import_ag_grid_community189=require("ag-grid-community"),FilterDetailElement={tag:"div",cls:"ag-filter-card-body",children:[{tag:"ag-select",cls:"ag-filter-type-select",ref:"eFilterType"}]},FilterDetailComp=class extends import_ag_grid_community189.Component{constructor(){super(...arguments),this.eFilterType=import_ag_stack127.RefPlaceholder}postConstruct(){const e={onValueChange:t=>this.dispatchLocalEvent({type:"filterTypeChanged",filterDef:t})};this.setTemplate(FilterDetailElement,[import_ag_grid_community189.AgSelectSelector],{eFilterType:e}),this.eFilterType.setDisplayed(!1)}refresh(e){const t=this.state;this.state=e;const{activeFilterDef:i,filterDefs:r,detail:n,afterGuiAttached:o,afterGuiDetached:a}=e,{activeFilterDef:l,filterDefs:c,detail:u}=t??{},d=this.eFilterType;if(r!==c){d.clearOptions();const h=r?.map(p=>({value:p,text:p.name}));h&&d.clearOptions().addOptions(h).setValue(i,!0),d.setDisplayed(!!h)}else i!==l&&d.setValue(i,!0);n!==u&&(u&&((0,import_ag_stack127._removeFromParent)(u),a()),this.appendChild(n),o({container:"newFiltersToolPanel",suppressFocus:!0}))}},import_ag_grid_community190=require("ag-grid-community"),FilterSummaryElement={tag:"div",cls:"ag-filter-card-summary",attrs:{"aria-hidden":"true"}},FilterSummaryComp=class extends import_ag_grid_community190.Component{constructor(){super(FilterSummaryElement)}refresh(e){this.getGui().textContent=e.summary}},FilterCardElement={tag:"div",cls:"ag-filter-card",children:[{tag:"div",cls:"ag-filter-card-header",role:"presentation",children:[{tag:"div",cls:"ag-filter-card-heading",role:"heading",attrs:{"aria-level":"2"},children:[{tag:"button",ref:"eExpand",cls:"ag-button ag-filter-card-expand",children:[{tag:"span",ref:"eTitle",cls:"ag-filter-card-title"},{tag:"span",ref:"eEditing",cls:"ag-filter-card-editing-icon"},{tag:"span",ref:"eExpandIcon",cls:"ag-filter-card-expand-icon"}]}]},{tag:"button",ref:"eDelete",cls:"ag-button ag-filter-card-delete",children:[{tag:"span",ref:"eDeleteIcon",cls:"ag-filter-card-delete-icon"}]}]}]},FilterCardComp=class extends import_ag_grid_community191.Component{constructor(e){super(FilterCardElement),this.id=e,this.eTitle=import_ag_stack128.RefPlaceholder,this.eExpand=import_ag_stack128.RefPlaceholder,this.eDelete=import_ag_stack128.RefPlaceholder,this.eExpandIcon=import_ag_stack128.RefPlaceholder,this.eDeleteIcon=import_ag_stack128.RefPlaceholder,this.eEditing=import_ag_stack128.RefPlaceholder}postConstruct(){const{beans:e,eDelete:t,eExpand:i,eDeleteIcon:r,eEditing:n,id:o}=this,a=e.filterPanelSvc;(0,import_ag_stack128._setAriaLabel)(t,translateForFilterPanel(this,"ariaLabelFilterCardDelete")),r.appendChild((0,import_ag_grid_community191._createIcon)("close",e,null)),this.activateTabIndex([i,t]),this.addManagedElementListeners(i,{click:()=>a.expand(o,!this.state?.expanded)}),this.addManagedElementListeners(t,{click:()=>a.remove(o)}),this.addManagedEventListeners({filterOpened:this.onFilterOpened.bind(this)}),n.appendChild((0,import_ag_grid_community191._createIcon)("filterCardEditing",e,null))}refresh(e){const{eExpand:t,eEditing:i,state:r,beans:n}=this;this.state=e;const{name:o,expanded:a,isEditing:l}=e;this.eTitle.textContent=o,(0,import_ag_stack128._setDisplayed)(i,l),a!==r?.expanded&&this.toggleExpand(e);let c=a?null:`${o} ${e.summary}`;l&&(c=`${c??o}. ${translateForFilterPanel(this,"ariaLabelFilterCardHasEdits")}`),(0,import_ag_stack128._setAriaLabel)(t,c);const u=h=>{if(h)return(0,import_ag_stack128._removeFromParent)(h.getGui()),this.destroyBean(h)},d=(h,p,g)=>(h||(h=this.createBean(new p),g?.(h),this.appendChild(h.getGui())),h.refresh(e),h);if(e.expanded){this.summaryComp=u(this.summaryComp);const h=d(this.detailComp,FilterDetailComp,g=>g.addManagedListeners(g,{filterTypeChanged:({filterDef:f})=>n.filterPanelSvc.updateType(this.id,f)}));this.detailComp=h;const p=`ag-${this.getCompId()}-filter`;h.getGui().id=p,(0,import_ag_stack128._setAriaControls)(t,p)}else this.detailComp=u(this.detailComp),this.summaryComp=d(this.summaryComp,FilterSummaryComp),(0,import_ag_stack128._setAriaControls)(t,null)}toggleExpand(e){const t=!!e.expanded,{eExpandIcon:i,eExpand:r,beans:n}=this;(0,import_ag_stack128._clearElement)(i),i.appendChild((0,import_ag_grid_community191._createIcon)(t?"filterCardCollapse":"filterCardExpand",n,null)),(0,import_ag_stack128._setAriaExpanded)(r,t)}onFilterOpened(e){const{state:t,beans:i,id:r}=this;e.source==="COLUMN_MENU"&&e.column===t?.column&&t?.expanded&&i.filterPanelSvc.expand(r,!1)}destroy(){this.detailComp=this.destroyBean(this.detailComp),this.summaryComp=this.destroyBean(this.summaryComp),this.state=void 0,super.destroy()}};function isSingleRefresh(e){return!!e?.id}function isActionRefresh(e){return!!e?.action}var FilterPanelElement={tag:"div",cls:"ag-filter-panel",children:[{tag:"div",cls:"ag-filter-panel-container",ref:"eContainer"}]},FilterPanel=class extends import_ag_grid_community192.Component{constructor(){super(FilterPanelElement),this.eContainer=import_ag_stack129.RefPlaceholder,this.filters=new Map}refresh(e){if(isActionRefresh(e)){this.refreshActions();return}if(isSingleRefresh(e)){this.filters.get(e.id)?.refresh(e.state);return}const{eContainer:t,filters:i,beans:r}=this,n=r.filterPanelSvc,o=n.getIds(),a=new Map,l=!(0,import_ag_stack129._isNothingFocused)(r),c=l?(0,import_ag_stack129._getActiveDomElement)(r):void 0,u=l&&t.contains(c),d=[],h=[];for(const C of o){const y=i.get(C)??this.createBean(new FilterCardComp(C));y.refresh(n.getState(C)),a.set(C,y),h.push(y.getGui())}this.filters=a;const p=[];i.forEach((C,y)=>{d.push(C.getGui()),a.has(y)||p.push(C)});let g=this.addFilterComp;g&&d.push(g.getGui());const f=n.getAvailable();f.length?(g||(g=this.createBean(new AddFilterComp(f)),g.addManagedListeners(g,{filterSelected:({id:C})=>n.add(C)})),g.refresh(f),h.push(g.getGui())):g=this.destroyBean(g),this.addFilterComp=g,compareAndUpdateListsInDom(t,h,d);for(const C of p)this.destroyBean(C);const m=e?.activeId,v=m&&a.get(m)?.getGui();v?(0,import_ag_stack129._focusInto)(v):u&&(0,import_ag_stack129._isNothingFocused)(r)&&(0,import_ag_stack129._focusInto)(h[h.length-1]??t),this.refreshActions()}refreshActions(){const e=this.beans.filterPanelSvc,{actions:t,canApply:i}=e.getActions()??{};let r=this.buttonComp;if(t?.length){const n=t.map(o=>({type:o,label:(0,import_ag_grid_community192._translateForFilter)(this,`${o}Filter`)}));if(!r){r=this.createBean(new import_ag_grid_community192.FilterButtonComp({className:"ag-filter-panel-buttons"})),this.getGui().appendChild(r.getGui());const o={};for(const a of["apply","clear","reset","cancel"])o[a]=()=>e.doAction(a);r.addManagedListeners(r,o)}r.updateButtons(n),r.updateValidity(i!==!1)}else r&&((0,import_ag_stack129._removeFromParent)(r.getGui()),r=this.destroyBean(r));this.buttonComp=r}destroy(){this.beans.filterPanelSvc?.clear?.(),this.addFilterComp=this.destroyBean(this.addFilterComp),this.buttonComp=this.destroyBean(this.buttonComp);const e=this.filters;e.forEach(t=>this.destroyBean(t)),e.clear(),super.destroy()}},newFiltersToolPanel_default=".ag-filter-panel{display:flex;flex-direction:column;width:100%;:where(.ag-standard-button){transition:background-color .25s ease-in-out,color .25s ease-in-out}}.ag-filter-panel .ag-simple-filter-body-wrapper{padding:var(--ag-widget-vertical-spacing) var(--ag-widget-container-horizontal-padding) 0}.ag-filter-panel .ag-mini-filter{margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding);margin-top:var(--ag-widget-vertical-spacing)}.ag-filter-panel-container{display:flex;flex:1;flex-direction:column;gap:var(--ag-widget-container-vertical-padding);overflow:auto;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding) 0}.ag-filter-card{background-color:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:var(--ag-border-radius)}.ag-filter-card-header{align-items:center;display:flex;flex-direction:row;gap:var(--ag-spacing);padding-top:var(--ag-widget-vertical-spacing)}.ag-filter-card-heading{flex:1;overflow:hidden;padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));padding-top:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}:where(.ag-ltr) .ag-filter-card-heading{padding-left:var(--ag-widget-horizontal-spacing)}:where(.ag-rtl) .ag-filter-card-heading{padding-right:var(--ag-widget-horizontal-spacing)}.ag-filter-card-expand{align-items:center;display:flex;flex-direction:row;width:100%}.ag-filter-card-title{font-weight:var(--ag-header-font-weight);overflow:hidden;text-overflow:ellipsis}.ag-filter-card-expand-icon{display:flex;flex:1;justify-content:end}.ag-filter-card-editing-icon{margin:0 var(--ag-spacing)}.ag-filter-card-delete-icon,.ag-filter-card-editing-icon,.ag-filter-card-expand-icon,.ag-filter-card-summary{color:var(--ag-filter-panel-card-subtle-color)}.ag-filter-card-delete-icon,.ag-filter-card-expand-icon{transition:color .25s ease-in-out}.ag-filter-card-delete-icon:hover,.ag-filter-card-expand-icon:hover{color:var(--ag-filter-panel-card-subtle-hover-color)}.ag-filter-card-heading:hover .ag-filter-card-expand-icon{color:var(--ag-filter-panel-card-subtle-hover-color)}.ag-filter-add-button,.ag-filter-card-delete,.ag-filter-card-expand{border-radius:var(--ag-button-border-radius)}.ag-filter-card-summary,.ag-filter-type-select{margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding)}:where(.ag-ltr) .ag-filter-card-delete{margin-right:var(--ag-widget-horizontal-spacing)}:where(.ag-rtl) .ag-filter-card-delete{margin-left:var(--ag-widget-horizontal-spacing)}.ag-filter-card-summary{margin-bottom:var(--ag-widget-container-vertical-padding)}.ag-filter-type-select{padding-top:var(--ag-widget-vertical-spacing)}.ag-filter-card-add{border:0;padding:0}.ag-filter-add-button{align-items:center;display:flex;flex-direction:row;line-height:1.5;width:100%}:where(.ag-ltr) .ag-filter-add-button-label{margin-left:var(--ag-spacing)}:where(.ag-rtl) .ag-filter-add-button-label{margin-right:var(--ag-spacing)}.ag-filter-add-select{border:0;.ag-rich-select-value{border:0;padding:calc(((1.5*var(--ag-font-size) + 2*var(--ag-button-vertical-padding)) - var(--ag-input-height))/2) var(--ag-spacing)}}:where(.ag-ltr) .ag-filter-add-select{.ag-text-field-input{padding-left:calc(var(--ag-spacing)*1.5 + 12px)!important}}:where(.ag-rtl) .ag-filter-add-select{.ag-text-field-input{padding-right:calc(var(--ag-spacing)*1.5 + 12px)!important}}.ag-filter-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}.ag-filter-panel-buttons-button{line-height:1.5}.ag-filter-panel .ag-filter-panel-buttons-apply-button{background-color:var(--ag-filter-panel-apply-button-background-color);color:var(--ag-filter-panel-apply-button-color)}.ag-filter-panel-buttons:where(:last-child),.ag-filter-panel-container:where(:last-child){padding-bottom:var(--ag-widget-container-vertical-padding)}.ag-filter-panel .ag-set-filter-body-wrapper,.ag-filter-panel .ag-simple-filter-body-wrapper{padding-bottom:var(--ag-widget-container-vertical-padding)}",WrapperToolPanel=class extends import_ag_grid_community193.Component{constructor(){super(),this.registerCSS(newFiltersToolPanel_default)}init(e){if(!this.gos.get("enableFilterHandlers")){this.beans.log.warn(282),this.setTemplateFromElement((0,import_ag_grid_community193._createElement)({tag:"div",cls:"ag-filter-panel"}));return}const t=this.beans.filterPanelSvc;t.isActive=!0,this.addDestroyFunc(()=>{t.isActive=!1}),this.updateParams(e,e.initialState);const i=this.createManagedBean(new FilterPanel);this.filterPanel=i;const r=n=>{i.refresh(n),e.onStateUpdated()};r(),this.addManagedListeners(t,{filterPanelStatesChanged:r,filterPanelStateChanged:r})}getGui(){return this.filterPanel?.getGui()??super.getGui()}refresh(e){return this.updateParams(e,e.initialState),!0}updateParams(e,t){this.beans.filterPanelSvc?.updateParams(e,t)}getState(){return this.beans.filterPanelSvc?.getGridState()??{}}},FiltersToolPanelModule={moduleName:"FiltersToolPanel",version:VERSION,userComponents:{agFiltersToolPanel:FiltersToolPanel},icons:{filtersToolPanel:"filter"},dependsOn:[SideBarModule,EnterpriseCoreModule,import_ag_grid_community194._ColumnFilterModule]},NewFiltersToolPanelModule={moduleName:"NewFiltersToolPanel",version:VERSION,userComponents:{agNewFiltersToolPanel:WrapperToolPanel},beans:[FilterPanelService,SelectableFilterService],icons:{filterAdd:"filter-add",filtersToolPanel:"filter",richSelectOpen:"small-down",richSelectRemove:"cancel",richSelectLoading:"loading",filterCardExpand:"chevron-down",filterCardCollapse:"chevron-up",filterCardEditing:"edit"},dependsOn:[SideBarModule,EnterpriseCoreModule,import_ag_grid_community194._ColumnFilterModule]},import_ag_grid_community198=require("ag-grid-community"),import_ag_stack131=require("ag-stack"),import_ag_grid_community196=require("ag-grid-community"),import_ag_stack130=require("ag-stack"),import_ag_grid_community195=require("ag-grid-community"),DetailCellRendererCtrl=class extends import_ag_grid_community195.BeanStub{constructor(){super(...arguments),this.loadRowDataVersion=0}wireBeans(e){this.environment=e.environment}init(e,t){this.params=t,this.comp=e,t.pinned==null&&(this.setAutoHeightClasses(),this.setupRefreshStrategy(),this.createDetailGrid(),this.loadRowData(),this.addManagedEventListeners({fullWidthRowFocused:this.onFullWidthRowFocused.bind(this)}))}onFullWidthRowFocused(e){const t=this.params,i={rowIndex:t.node.rowIndex,rowPinned:t.node.rowPinned},r={rowIndex:e.rowIndex,rowPinned:e.rowPinned};(0,import_ag_grid_community195._isSameRow)(i,r)&&(0,import_ag_stack130._focusInto)(this.comp.getGui(),e.fromBelow)}setAutoHeightClasses(){const e=this.gos.get("detailRowAutoHeight"),t=e?"ag-details-row-auto-height":"ag-details-row-fixed-height",i=e?"ag-details-grid-auto-height":"ag-details-grid-fixed-height",r=this.comp;r.toggleCss(t,!0),r.toggleDetailGridCss(i,!0)}setupRefreshStrategy(){const e=this.params.refreshStrategy;if(e=="everything"||e=="nothing"||e=="rows"){this.refreshStrategy=e;return}e!=null&&this.warn(170,{providedStrategy:e}),this.refreshStrategy="rows"}createDetailGrid(){const{params:e,gos:t}=this;if((0,import_ag_stack130._missing)(e.detailGridOptions)){this.warn(171);return}const i=t.get("theme"),r=e.detailGridOptions.theme;r&&r!==i&&this.warn(267);const n={themeStyleContainer:this.environment.eStyleContainer,...e.detailGridOptions,theme:i};t.get("detailRowAutoHeight")&&(n.domLayout="autoHeight"),this.comp.setDetailGrid(n)}registerDetailWithMaster(e){const{params:t,beans:{selectionSvc:i,findSvc:r,expansionSvc:n}}=this,o=t.node.id,a=t.api,l={id:o,api:e},c=t.node;if(a.isDestroyed())return;a.addDetailGridInfo(o,l),c.detailGridInfo=l;const u=c.parent,d=()=>{i?.setDetailSelectionState(u,t.detailGridOptions,e)};r?.registerDetailGrid(c,e);function h(f){f.source==="rowDataChanged"||!u||i?.refreshMasterNodeState(u)}function p({source:f}){if(f==="expandAll")return e.expandAll();if(f==="collapseAll")return e.collapseAll()}function g({node:f,source:m}){f!==u||m==="masterDetail"||e.isDestroyed()||d()}e.addEventListener("firstDataRendered",()=>{if(e.isDestroyed()||a.isDestroyed())return;d(),e.addEventListener("selectionChanged",h),a.addEventListener("rowSelected",g),e.isModuleRegistered("CsrmSsrmSharedApiModule")&&(a.addEventListener("expandOrCollapseAll",p),n?.setDetailsExpansionState(e))}),this.addManagedListeners(u,{masterChanged:f=>{f.node.master||this.onDestroy(l)}}),this.addDestroyFunc(()=>this.onDestroy(l))}onDestroy(e){const{params:t}=this,i=t.node,r=t.api;i.detailGridInfo===e&&(r.isDestroyed()||r.removeDetailGridInfo(i.id),i.detailGridInfo=null)}loadRowData(){this.loadRowDataVersion++;const e=this.loadRowDataVersion,t=this.params;if(t.detailGridOptions?.rowModelType==="serverSide"){t.node.detailGridInfo?.api?.refreshServerSide({purge:!0});return}const i=t.getDetailRowData;if(!i){this.warn(172);return}const r=o=>{if(this.loadRowDataVersion===e){this.comp.setRowData(o);const l=t.node,c=l.detailGridInfo?.api,u=l.parent,d=this.gos.get("rowSelection"),h=!!d&&typeof d=="object"&&d.masterSelects==="detail";c&&u&&h&&this.beans.selectionSvc?.setDetailSelectionState(u,t.detailGridOptions,c)}},n={node:t.node,data:t.node.data,successCallback:r,context:(0,import_ag_grid_community195._addGridCommonParams)(this.gos,{}).context};i(n)}refresh(){switch(this.refreshStrategy){case"nothing":return!0;case"everything":return!1}return this.loadRowData(),!0}},DetailFrameworkComponentWrapper=class{constructor(e){this.parentWrapper=e}wrap(e,t,i,r){return this.parentWrapper.wrap(e,t,i,r)}},PinnedDetailCellRendererElement={tag:"div",cls:"ag-details-row"},DetailCellRendererElement={tag:"div",cls:"ag-details-row",role:"gridcell",children:[{tag:"div",ref:"eDetailGrid",cls:"ag-details-grid",role:"presentation"}]},DetailCellRenderer=class extends import_ag_grid_community196.Component{constructor(){super(...arguments),this.eDetailGrid=import_ag_stack131.RefPlaceholder}wireBeans(e){this.context=e.context}init(e){this.params=e,this.selectAndSetTemplate();const t={toggleCss:(i,r)=>this.toggleCss(i,r),toggleDetailGridCss:(i,r)=>this.eDetailGrid.classList.toggle(i,r),setDetailGrid:i=>this.setDetailGrid(i),setRowData:i=>this.setRowData(i),getGui:()=>this.eDetailGrid};this.ctrl=this.createManagedBean(new DetailCellRendererCtrl),this.ctrl.init(t,e)}refresh(){return this.ctrl?.refresh()??!1}selectAndSetTemplate(){const e=this.params;if(e.pinned){this.setTemplate(PinnedDetailCellRendererElement);return}const t=()=>{this.setTemplate(DetailCellRendererElement)};if((0,import_ag_stack131._missing)(e.template))t();else if(typeof e.template=="string")this.setTemplate(e.template,[]);else if(typeof e.template=="function"){const i=e.template,r=i(e);this.setTemplate(r,[])}else this.beans.log.warn(168),t();this.eDetailGrid==null&&this.beans.log.warn(169)}setDetailGrid(e){if(!this.eDetailGrid)return;const t=this.context.getBean("frameworkCompWrapper"),i=new DetailFrameworkComponentWrapper(t),{frameworkOverrides:r}=this.beans,n=(0,import_ag_grid_community196.createGrid)(this.eDetailGrid,e,{frameworkOverrides:r,providedBeanInstances:{frameworkCompWrapper:i},modules:(0,import_ag_grid_community196._getGridRegisteredModules)(this.params.api.getGridId(),e.rowModelType??"clientSide"),hasAncestorStyledRoot:!0});this.detailApi=n,this.ctrl?.registerDetailWithMaster(n),this.addDestroyFunc(()=>{n.destroy()})}setRowData(e){this.detailApi?.setGridOption("rowData",e)}};function operateOnStore(e,t){const i=e.masterDetailSvc?.store;return i?t(i):void 0}function addDetailGridInfo(e,t,i){operateOnStore(e,r=>{r[t]=i})}function removeDetailGridInfo(e,t){operateOnStore(e,i=>{delete i[t]})}function getDetailGridInfo(e,t){return operateOnStore(e,i=>i[t])}function forEachDetailGridInfo(e,t){operateOnStore(e,i=>{let r=0;Object.values(i).forEach(n=>{n&&t(n,r++)})})}var masterDetailModule_default=".ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}",import_ag_stack132=require("ag-stack"),import_ag_grid_community197=require("ag-grid-community"),MasterDetailService=class extends import_ag_grid_community197.BeanStub{constructor(){super(...arguments),this.beanName="masterDetailSvc",this.store={}}isEnabled(){return this.gos.get("masterDetail")}postConstruct(){const e=this.gos;(0,import_ag_grid_community197._isClientSideRowModel)(e)&&(this.enabled=this.isEnabled()),(0,import_ag_grid_community197._isServerSideRowModel)(e)&&this.addEventListeners()}addEventListeners(){const e=r=>{this.setMaster(r.node,!1,!0)};let t;const i=()=>{if(t){for(const r of t)r();t=void 0}this.isEnabled()&&(t=this.addManagedListeners(this.beans.eventSvc,{rowNodeDataChanged:e}))};i(),this.gos.addPropertyEventListener("masterDetail",i)}refreshModel(e){if(e.changedProps){const t=this.isEnabled();if(this.enabled!==t){this.setMasters(null);return}}e.rowDataUpdated&&this.setMasters(e.changedRowNodes)}setMaster(e,t,i){const r=e.master,n=this.isEnabled();let o=n;const a=this.gos,l=a.get("isRowMaster"),c=a.get("treeData");if(n)if(t||i){if(l){const u=e.data;o=!!u&&!!l(u)}}else o=r;c||(o&&t||!o&&r)&&(e._expanded??(e._expanded=null)),o!==r&&(e.master=o,e.dispatchRowEvent("masterChanged"))}setMasters(e){if(this.enabled=this.isEnabled(),e){for(const t of e.updates)this.setMaster(t,!1,!0);for(const t of e.adds)this.setMaster(t,!0,!1)}else{const t=(0,import_ag_grid_community197._getClientSideRowModel)(this.beans)?.rootNode?._leafs;if(t)for(let i=0,r=t.length;i<r;++i)this.setMaster(t[i],!0,!1)}}getDetail(e){if(!e.master||!e.expanded)return null;let t=e.detailNode;return t||(t=new import_ag_grid_community197.RowNode(this.beans),t.detail=!0,t.selectable=!1,t.parent=e,(0,import_ag_stack132._exists)(e.id)&&(t.id=import_ag_grid_community197.DETAIL_ROW_ID_PREFIX+e.id),t.data=e.data,t.level=e.level+1,e.detailNode=t,t)}setupDetailRowAutoHeight(e,t){const{gos:i,beans:r}=this;if(!i.get("detailRowAutoHeight"))return;const n=()=>{const a=t.clientHeight;if(a!=null&&a>0){const l=()=>{const{rowModel:c,environment:u}=this.beans,{rowNode:d}=e;d.setRowHeight(a+u.getRowBorderWidth()),((0,import_ag_grid_community197._isClientSideRowModel)(i,c)||(0,import_ag_grid_community197._isServerSideRowModel)(i,c))&&c.onRowHeightChanged()};window.setTimeout(l,0)}},o=(0,import_ag_stack132._observeResize)(r,t,n);e.addDestroyFunc(o),n()}destroy(){this.store={},super.destroy()}},SharedMasterDetailModule={moduleName:"SharedMasterDetail",version:VERSION,beans:[MasterDetailService],userComponents:{agDetailCellRenderer:DetailCellRenderer},dynamicBeans:{detailCellRendererCtrl:DetailCellRendererCtrl},apiFunctions:{addDetailGridInfo,removeDetailGridInfo,getDetailGridInfo,forEachDetailGridInfo},dependsOn:[EnterpriseCoreModule,GroupCellRendererModule,StickyRowModule],css:[masterDetailModule_default]},MasterDetailModule={moduleName:"MasterDetail",version:VERSION,dependsOn:[SharedMasterDetailModule,CsrmHierarchyModule,import_ag_grid_community198.EventApiModule]},import_ag_grid_community207=require("ag-grid-community"),import_ag_stack134=require("ag-stack"),import_ag_grid_community200=require("ag-grid-community"),import_ag_stack133=require("ag-stack"),import_ag_grid_community199=require("ag-grid-community"),AbstractSelectionHandle=class extends import_ag_grid_community199.Component{constructor(){super(...arguments),this.changedCalculatedValues=!1,this.dragging=!1,this.shouldDestroyOnEndDragging=!1}postConstruct(){this.beans.dragSvc.addDragSource({dragStartPixels:0,eElement:this.getGui(),onDragging:e=>{let t=!1;if(this.dragging||(t=!0,this.dragging=!0,(0,import_ag_stack133._getPageBody)(this.beans).classList?.add(this.getDraggingCssClass())),this.updateValuesOnMove(e),t){this.changedCalculatedValues=!1;return}this.beans.rangeSvc.autoScrollService.check(e),this.changedCalculatedValues&&(this.onDrag(e),this.changedCalculatedValues=!1)},onDragStop:e=>{this.dragging=!1,this.onDragEnd(e),this.clearDragProperties()},onDragCancel:()=>{this.dragging=!1,this.onDragCancel(),this.clearDragProperties()}}),this.addManagedEventListeners({cellSelectionChanged:this.updateLocalRangeIfNeeded.bind(this)}),this.addManagedElementListeners(this.getGui(),{pointerdown:stopEventPropagation,mousedown:stopEventPropagation})}getLastCellHovered(){return this.lastCellHovered}getDraggingCssClass(){return`ag-dragging-${this.type===0?"fill":"range"}-handle`}updateValuesOnMove(e){const t=(0,import_ag_grid_community199._getCellPositionForEvent)(this.gos,e);!t||this.shouldSkipCell(t)||this.lastCellHovered&&(0,import_ag_grid_community199._areCellsEqual)(t,this.lastCellHovered)||(this.lastCellHovered=t,this.changedCalculatedValues=!0)}clearDragProperties(){this.clearValues(),this.beans.rangeSvc.autoScrollService.ensureCleared(),(0,import_ag_stack133._getPageBody)(this.beans).classList?.remove(this.getDraggingCssClass()),this.shouldDestroyOnEndDragging&&this.destroy()}getType(){return this.type}refresh(e,t){const i=this.cellCtrl,r=this.getGui(),n=t??(0,import_ag_stack133._last)(this.beans.rangeSvc.getCellRanges()),o=n.startRow,a=n.endRow;if(o&&a&&((0,import_ag_grid_community199._isRowBefore)(a,o)?(this.rangeStartRow=a,this.rangeEndRow=o):(this.rangeStartRow=o,this.rangeEndRow=a)),i!==e||!(0,import_ag_stack133._isVisible)(r)){this.cellCtrl=e;const l=e.comp.getParentOfValue();l&&l.appendChild(r)}this.cellRange=n}clearValues(){this.lastCellHovered=void 0}destroy(){if(!this.shouldDestroyOnEndDragging&&this.dragging){(0,import_ag_stack133._setDisplayed)(this.getGui(),!1),this.shouldDestroyOnEndDragging=!0;return}this.shouldDestroyOnEndDragging=!1,super.destroy(),this.getGui()?.remove()}updateLocalRangeIfNeeded(e){if(!this.cellRange)return;const{id:t,type:i}=this.cellRange;if(!t||e.id!=null&&t!==e.id)return;const r=this.beans.rangeSvc?.getCellRanges().find(n=>n.id===t&&n.type===i);r&&r!==this.cellRange&&(this.cellRange=r)}},stopEventPropagation=e=>{e.stopPropagation()};function findLineByLeastSquares(e){const t=e.length;let i=0;if(t<=1)return e;for(let d=0;d<e.length;d++){const h=e[d],p=h.toString().split("e-");if(p.length>1){i=Math.max(i,parseInt(p[1],10));continue}Math.floor(h)!==h&&(i=Math.max(i,h.toString().split(".")[1].length))}let r=0,n=0,o=0,a=0;for(let d=0;d<t;d++){const h=e[d];r+=d,n+=h,a+=d*d,o+=d*h}const l=(t*o-r*n)/(t*a-r*r),c=n/t-l*r/t,u=[];for(let d=0;d<=t;d++)u.push(parseFloat((d*l+c).toFixed(i)));return u}function getFormulaRowDelta(e,t,i){const r=e==="up"?-1:e==="down"?1:0;if(r===0)return 0;const n=i?.formulaRowIndex,o=t.formulaRowIndex;return n==null||o==null?r:o-n}var fillOperationResultType=Symbol("fillOperationResultType"),skipCellResult={[fillOperationResultType]:"skip"},useDefaultResult={[fillOperationResultType]:"default"};function useFillValue(e){return{[fillOperationResultType]:"value",value:e}}function skipFillCell(){return skipCellResult}function useDefaultFill(){return useDefaultResult}function getFillOperationDecision(e){return e!=null&&typeof e=="object"&&fillOperationResultType in e?e:void 0}var FillHandleElement={tag:"div",cls:"ag-fill-handle"},AgFillHandle=class extends AbstractSelectionHandle{constructor(){super(FillHandleElement),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(e){(0,import_ag_grid_community200._stopPropagationForAgGrid)(e);const{cellRange:t,rangeStartRow:i,beans:r}=this,{rangeSvc:n,visibleCols:o}=r,a=(0,import_ag_grid_community200._getLastRow)(r);if(!a)return;const l=this.getFillHandleDirection();this.dragAxis=l==="xy"?"y":l;const c=n?.createCellRangeFromCellRangeParams({rowStartIndex:i.rowIndex,rowStartPinned:i.rowPinned,columnStart:t.columns[0],rowEndIndex:this.dragAxis==="x"?t.endRow?.rowIndex??null:a.rowIndex,rowEndPinned:this.dragAxis==="x"?t.endRow?.rowPinned:a.rowPinned,columnEnd:this.dragAxis==="x"?(0,import_ag_stack134._last)(o.allCols):(0,import_ag_stack134._last)(t.columns)});this.isUp=!1,this.isLeft=!1,c&&this.performFill({event:e,initialRange:t,finalRange:c}),this.dragAxis=void 0}updateValuesOnMove(e){super.updateValuesOnMove(e),this.initialXY||(this.initialXY=(0,import_ag_grid_community200._getNormalisedMousePosition)(this.beans,e));const{x:t,y:i}=this.initialXY,{x:r,y:n}=(0,import_ag_grid_community200._getNormalisedMousePosition)(this.beans,e),o=Math.abs(t-r),a=Math.abs(i-n),l=this.getFillHandleDirection();let c;l==="xy"?c=o>a?"x":"y":c=l,c!==this.dragAxis&&(this.dragAxis=c,this.changedCalculatedValues=!0)}shouldSkipCell(e){return(0,import_ag_grid_community200.isRowNumberCol)(e.column)}onDrag(e){if(!this.initialPosition){const i=this.cellCtrl;if(!i)return;this.initialPosition=i.cellPosition}const t=this.getLastCellHovered();t&&this.markPathFrom(this.initialPosition,t)}onDragEnd(e){if(this.initialXY=null,!this.markedCells.length)return;const t=this.dragAxis==="x",{cellRange:i,rangeStartRow:r,rangeEndRow:n,beans:{rangeSvc:o}}=this,a=i.columns.length;let l;if(!this.isUp&&!this.isLeft)l=o.createCellRangeFromCellRangeParams({rowStartIndex:r.rowIndex,rowStartPinned:r.rowPinned,columnStart:i.columns[0],rowEndIndex:t?n.rowIndex:this.lastCellMarked.rowIndex,rowEndPinned:t?n.rowPinned:this.lastCellMarked.rowPinned,columnEnd:t?this.lastCellMarked.column:i.columns[a-1]});else{const c=t?r:this.lastCellMarked;l=o.createCellRangeFromCellRangeParams({rowStartIndex:c.rowIndex,rowStartPinned:c.rowPinned,columnStart:t?this.lastCellMarked.column:i.columns[0],rowEndIndex:n.rowIndex,rowEndPinned:n.rowPinned,columnEnd:i.columns[a-1]})}l&&this.performFill({event:e,initialRange:i,finalRange:l,shouldUpdateRange:!0})}onDragCancel(){this.initialXY=null,this.markedCells.length&&this.clearMarkedPath()}performFill({event:e,initialRange:t,finalRange:i,shouldUpdateRange:r}){const{eventSvc:n,rangeSvc:o}=this.beans;n.dispatchEvent({type:"fillStart"}),this.handleValueChanged(t,i,e),r&&o.setCellRanges([i]),n.dispatchEvent({type:"fillEnd",initialRange:t,finalRange:i})}getFillHandleDirection(){const e=(0,import_ag_grid_community200._getFillHandle)(this.gos)?.direction;return e?e!=="x"&&e!=="y"&&e!=="xy"?(this.beans.log.warn(177),"xy"):e:"xy"}handleValueChanged(e,t,i){const{beans:r}=this,{rangeSvc:n,gos:o,valueSvc:a}=r,l=n.getRangeEndRow(e),c=n.getRangeStartRow(e),u=n.getRangeEndRow(t),d=n.getRangeStartRow(t),h=this.dragAxis==="y";if(this.isReduce&&!(0,import_ag_grid_community200._getFillHandle)(o)?.suppressClearOnFillReduction){const F=h?e.columns:e.columns.filter(R=>t.columns.indexOf(R)<0),T=h?(0,import_ag_grid_community200._getRowBelow)(r,u):d;T&&this.clearCellsInRange(T,l,F);return}const p=[],g=[],f=[],m=[];let v=!0,C=0,y;const S=()=>{p.length=0,g.length=0,f.length=0,m.length=0,C=0,y=void 0},x=(F,T)=>{let R=this.isUp?l:c,A=!1;for(h&&(v=!0,S());!A&&R;){const E=(0,import_ag_grid_community200._getRowNode)(r,R);if(!E)break;if(h&&F)b(p,F,E,()=>!(0,import_ag_grid_community200._isSameRow)(R,this.isUp?c:l));else if(T){v=!0,S();for(const _ of T)b(p,_,E,()=>_!==(this.isLeft?e.columns[0]:(0,import_ag_stack134._last)(e.columns)))}A=(0,import_ag_grid_community200._isSameRow)(R,this.isUp?d:u),R=this.isUp?(0,import_ag_grid_community200._getRowAbove)(this.beans,R):(0,import_ag_grid_community200._getRowBelow)(r,R)}},b=(F,T,R,A)=>{let E,_=!1,G=T,D=R;if(v)E=a.getValue(T,R,"edit"),g.push(E),f.push(a.getValue(T,R,"edit",!0)),m.push(a.getValueForDisplay({column:T,node:R,from:"edit"}).valueFormatted),v=A();else{const{value:k,fromUserFunction:B,sourceCol:O,sourceRowNode:W,includeUnchangedValue:U,skipCell:X}=this.processValues({event:i,values:F,initialValues:g,initialNonAggregatedValues:f,initialFormattedValues:m,col:T,rowNode:R,previousRowNode:y,idx:C++});if(G=O??T,D=W??R,E=k,_=X??!1,!_&&T.isCellEditable(R)){const L=a.getValue(T,R,"edit");if(!B){if(O){const $=O.colDef;if($.useValueFormatterForExport!==!1&&$.valueFormatter){const V=a.getValueForDisplay({column:O,node:W,includeValueFormatted:!0,from:"edit"}).valueFormatted;V!=null&&(E=V)}}T.colDef.useValueParserForImport!==!1&&(E=a.parseValue(T,R,O?E:(0,import_ag_stack134._toStringOrNull)(E),L))}B&&L===E?_=!U:R.setDataValue(T,E,"rangeSvc")}}_||(y=R,F.push({value:E,column:G,rowNode:D}))},{changeDetectionSvc:w,editSvc:P}=this.beans;P?.beginBulkWrite();try{if(w?.beginDeferred(),h)e.columns.forEach(F=>{x(F)});else{const F=this.isLeft?[...t.columns].reverse():t.columns;x(void 0,F)}P?.stopEditing(void 0,{source:"fillHandle"})}finally{w?.endDeferred(),P?.endBulkWrite()}}clearCellsInRange(e,t,i){const r={startRow:e,endRow:t,columns:i,startColumn:i[0]};this.beans.rangeSvc.clearCellRangeCellValues({cellRanges:[r],restoreSourceInBatch:!0})}processValues(e){const{formula:t,valueSvc:i}=this.beans,{event:r,values:n,initialValues:o,initialNonAggregatedValues:a,initialFormattedValues:l,col:c,rowNode:u,previousRowNode:d,idx:h}=e,p=(0,import_ag_grid_community200._getFillHandle)(this.gos)?.setFillValue,g=this.dragAxis==="y";let f;if(g?f=this.isUp?"up":"down":f=this.isLeft?"left":"right",p){const C=i.getValue(c,u,"edit"),y=(0,import_ag_grid_community200._addGridCommonParams)(this.gos,{event:r,values:n.map(({value:b})=>b),initialValues:o,initialNonAggregatedValues:a,initialFormattedValues:l,currentIndex:h,currentCellValue:C,direction:f,column:c,rowNode:u,useValue:useFillValue,skipCell:skipFillCell,useDefault:useDefaultFill}),S=p(y),x=getFillOperationDecision(S);if(x){const b=x[fillOperationResultType];if(b==="value")return{value:x.value,fromUserFunction:!0,includeUnchangedValue:!0};if(b==="skip")return{value:C,fromUserFunction:!0,skipCell:!0}}else if(S!==!1)return{value:S,fromUserFunction:!0}}const m=C=>(0,import_ag_grid_community200._isFiniteNumber)(C)||typeof C=="string"&&/^[+-]?\d+(?:\.\d+)?$/.test(C.trim()),v=n.every(({value:C})=>m(C));if(r.altKey||!v){const C=String((0,import_ag_stack134._last)(n)?.value??"");if(v&&o.length===1){const P=this.isUp||this.isLeft?-1:1;return{value:parseFloat(C)+1*P,fromUserFunction:!1}}const{value:y,column:S,rowNode:x}=n[h%n.length];let b;const w=S.allowFormula&&t?.isFormula(C);if(w){const P=getFormulaRowDelta(f,u,d),F=f==="left"?-1:f==="right"?1:0;b=t.updateFormulaByOffset({value:C,rowDelta:P,columnDelta:F})}else b=y;return{value:b,fromUserFunction:!1,sourceCol:w?void 0:S,sourceRowNode:x}}return{value:(0,import_ag_stack134._last)(findLineByLeastSquares(n.map(({value:C})=>Number(C)))),fromUserFunction:!1}}clearValues(){this.clearMarkedPath(),this.clearCellValues(),this.lastCellMarked=void 0,super.clearValues()}clearMarkedPath(){for(const e of this.markedCells){if(!e.isAlive())continue;const{comp:t}=e;t.toggleCss("ag-selection-fill-top",!1),t.toggleCss("ag-selection-fill-right",!1),t.toggleCss("ag-selection-fill-bottom",!1),t.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(e,t){if(this.clearMarkedPath(),this.clearCellValues(),this.dragAxis==="y"){if((0,import_ag_grid_community200._isSameRow)(t,e))return;const i=(0,import_ag_grid_community200._isRowBefore)(t,e),{rangeStartRow:r,rangeEndRow:n}=this;i&&(t.rowPinned==r.rowPinned&&t.rowIndex>=r.rowIndex||r.rowPinned!=n.rowPinned&&t.rowPinned==n.rowPinned&&t.rowIndex<=n.rowIndex)?(this.reduceVertical(e,t),this.isReduce=!0):(this.extendVertical(e,t,i),this.isReduce=!1)}else{const i=e.column,r=t.column;if(i===r)return;const n=i.allColsIndex,o=r.allColsIndex;o<=n&&o>=this.cellRange.columns[0].allColsIndex?(this.reduceHorizontal(e,t),this.isReduce=!0):(this.extendHorizontal(e,t,o<n),this.isReduce=!1)}this.lastCellMarked=t}extendVertical(e,t,i){const r=this.beans,{rangeSvc:n}=r;let o=e;do{const a=this.cellRange,l=a.columns.length;for(let c=0;c<l;c++){const u=a.columns[c],h={...{rowIndex:o.rowIndex,rowPinned:o.rowPinned},column:u},p=n.isCellInSpecificRange(h,a),g=(0,import_ag_grid_community200._isSameRow)(o,e);if(i&&(this.isUp=!0),!g){const f=(0,import_ag_grid_community200._getCellByPosition)(r,h);if(f){this.markedCells.push(f);const m=f.comp;p||(m.toggleCss("ag-selection-fill-left",c===0),m.toggleCss("ag-selection-fill-right",c===l-1)),m.toggleCss(i?"ag-selection-fill-top":"ag-selection-fill-bottom",(0,import_ag_grid_community200._isSameRow)(o,t))}}}if((0,import_ag_grid_community200._isSameRow)(o,t))break}while(o=i?(0,import_ag_grid_community200._getRowAbove)(this.beans,o):(0,import_ag_grid_community200._getRowBelow)(r,o))}reduceVertical(e,t){let i=e;const r=this.beans;do{const n=this.cellRange,o=n.columns.length,a=(0,import_ag_grid_community200._isSameRow)(i,t);for(let l=0;l<o;l++){const u={...{rowIndex:i.rowIndex,rowPinned:i.rowPinned},column:n.columns[l]},d=(0,import_ag_grid_community200._getCellByPosition)(r,u);d&&(this.markedCells.push(d),d.comp.toggleCss("ag-selection-fill-bottom",(0,import_ag_grid_community200._isSameRow)(i,t)))}if(a)break}while(i=(0,import_ag_grid_community200._getRowAbove)(r,i))}extendHorizontal(e,t,i){const r=this.beans,{visibleCols:n}=r,o=n.allCols,a=(i?t.column:e.column).allColsIndex,l=(i?this.cellRange.columns[0]:t.column).allColsIndex,c=i?0:1,u=o.slice(a+c,l+c),{rangeStartRow:d,rangeEndRow:h}=this;for(const p of u){let g=d,f;do{f=(0,import_ag_grid_community200._isSameRow)(g,h);const m=(0,import_ag_grid_community200._getCellByPosition)(r,{rowIndex:g.rowIndex,rowPinned:g.rowPinned,column:p});if(m){this.markedCells.push(m);const v=m.comp;v.toggleCss("ag-selection-fill-top",(0,import_ag_grid_community200._isSameRow)(g,d)),v.toggleCss("ag-selection-fill-bottom",(0,import_ag_grid_community200._isSameRow)(g,h)),i?(this.isLeft=!0,v.toggleCss("ag-selection-fill-left",p===u[0])):v.toggleCss("ag-selection-fill-right",p===(0,import_ag_stack134._last)(u))}g=(0,import_ag_grid_community200._getRowBelow)(r,g)}while(!f)}}reduceHorizontal(e,t){const i=this.beans,{visibleCols:r}=i,n=r.allCols,o=t.column.allColsIndex,a=e.column.allColsIndex,l=n.slice(o,a),{rangeStartRow:c,rangeEndRow:u}=this;for(const d of l){let h=c,p;do{p=(0,import_ag_grid_community200._isSameRow)(h,u);const g=(0,import_ag_grid_community200._getCellByPosition)(this.beans,{rowIndex:h.rowIndex,rowPinned:h.rowPinned,column:d});g&&(this.markedCells.push(g),g.comp.toggleCss("ag-selection-fill-right",d===l[0])),h=(0,import_ag_grid_community200._getRowBelow)(i,h)}while(!p)}}refresh(e,t){const i=t??this.beans.rangeSvc.getCellRanges()[0];if(!i.startRow||!i.endRow){this.destroy();return}super.refresh(e,i)}},import_ag_stack135=require("ag-stack"),import_ag_grid_community201=require("ag-grid-community"),AgRangeHandle=class extends AbstractSelectionHandle{constructor(){super({tag:"div",cls:"ag-range-handle"}),this.type=1,this.rangeFixed=!1}onDrag(e){const t=this.getLastCellHovered();if(!t)return;const i=this.beans.rangeSvc,r=this.cellRange??(0,import_ag_stack135._last)(i.getCellRanges());r&&(this.rangeFixed||(this.fixRangeStartEnd(r),this.rangeFixed=!0),this.endPosition={rowIndex:t.rowIndex,rowPinned:t.rowPinned,column:t.column},i.getCellRanges().length===2&&i.getCellRanges()[0].type===import_ag_grid_community201.CellRangeType.DIMENSION&&r.type===import_ag_grid_community201.CellRangeType.VALUE&&!(0,import_ag_grid_community201._isSameRow)(this.endPosition,i.getRangeEndRow(r))&&i.updateRangeRowBoundary({cellRange:i.getCellRanges()[0],boundary:"end",cellPosition:{...this.endPosition,column:i.getCellRanges()[0].columns[0]},silent:!0}),i.extendRangeToCell(r,this.endPosition))}shouldSkipCell(e){return!1}onDragEnd(e){const t=this.cellRange??(0,import_ag_stack135._last)(this.beans.rangeSvc.getCellRanges());t&&(this.fixRangeStartEnd(t),this.rangeFixed=!1)}onDragCancel(){this.rangeFixed=!1}fixRangeStartEnd(e){const t=this.beans.rangeSvc,i=t.getRangeStartRow(e),r=t.getRangeEndRow(e),n=e.columns[0];e.startRow=i,e.endRow=r,e.startColumn=n}},rangeSelection_default=".ag-cell-range-selected.ag-cell-range-chart,.ag-cell-range-selected:not(.ag-cell-focus),.ag-grid-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing){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-grid-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 getCellRanges(e){return e.rangeSvc?.getCellRanges()??null}function addCellRange(e,t){e.rangeSvc?.addCellRange(t)}function clearRangeSelection(e){e.rangeSvc?.removeAllCellRanges()}var import_ag_stack137=require("ag-stack"),import_ag_grid_community206=require("ag-grid-community"),import_ag_stack136=require("ag-stack"),import_ag_grid_community202=require("ag-grid-community"),CSS_CELL_RANGE_SELECTED="ag-cell-range-selected",CSS_CELL_RANGE_CHART="ag-cell-range-chart",CSS_CELL_RANGE_SINGLE_CELL="ag-cell-range-single-cell",CSS_CELL_RANGE_CHART_CATEGORY="ag-cell-range-chart-category",CSS_CELL_RANGE_HANDLE="ag-cell-range-handle",CSS_CELL_RANGE_TOP="ag-cell-range-top",CSS_CELL_RANGE_RIGHT="ag-cell-range-right",CSS_CELL_RANGE_BOTTOM="ag-cell-range-bottom",CSS_CELL_RANGE_LEFT="ag-cell-range-left";function _isRangeHandleEnabled(e){const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t.handle?.mode==="range":!1:e.get("enableRangeHandle")}function _isFillHandleEnabled(e){const t=e.get("cellSelection");return t!==void 0?typeof t!="boolean"?t.handle?.mode==="fill":!1:e.get("enableFillHandle")}var CellRangeFeature=class{constructor(e,t){this.beans=e,this.cellCtrl=t,this.rangeColorClass=null,this.handleColorClass=null,this.refreshScheduled=!1,this.rangeSvc=e.rangeSvc}setComp(e){this.cellComp=e,this.eGui=this.cellCtrl.eGui,this.onCellSelectionChanged()}unsetComp(){this.beans.context.destroyBean(this.selectionHandle)}onCellSelectionChanged(){const e=this.cellComp;if(!e)return;const{rangeSvc:t,cellCtrl:i,eGui:r}=this,n=t.getCellRangeCount(i.cellPosition);this.rangeCount=n;const o=this.getHasChartRange();this.hasChartRange=o,e.toggleCss(CSS_CELL_RANGE_SELECTED,n!==0),e.toggleCss(`${CSS_CELL_RANGE_SELECTED}-1`,n===1),e.toggleCss(`${CSS_CELL_RANGE_SELECTED}-2`,n===2),e.toggleCss(`${CSS_CELL_RANGE_SELECTED}-3`,n===3),e.toggleCss(`${CSS_CELL_RANGE_SELECTED}-4`,n>=4),e.toggleCss(CSS_CELL_RANGE_CHART,o),(0,import_ag_stack136._setAriaSelected)(r,n>0?!0:void 0),e.toggleCss(CSS_CELL_RANGE_SINGLE_CELL,this.isSingleCell()),this.updateRangeBorders(),this.refreshRangeStyleAndHandle()}updateRangeBorders(){const e=this.getRangeBorders(),t=this.isSingleCell(),i=!t&&e.top,r=!t&&e.right,n=!t&&e.bottom,o=!t&&e.left,a=this.cellComp;a.toggleCss(CSS_CELL_RANGE_TOP,i),a.toggleCss(CSS_CELL_RANGE_RIGHT,r),a.toggleCss(CSS_CELL_RANGE_BOTTOM,n),a.toggleCss(CSS_CELL_RANGE_LEFT,o)}isSingleCell(){const{rangeSvc:e}=this;return this.rangeCount===1&&!!e&&!e.isMoreThanOneCell()}getHasChartRange(){const{rangeSvc:e}=this;if(!this.rangeCount||!e)return!1;const t=e.getCellRanges();return t.length>0&&t.every(i=>[import_ag_grid_community202.CellRangeType.DIMENSION,import_ag_grid_community202.CellRangeType.VALUE].includes(i.type))}updateRangeBordersIfRangeCount(){this.rangeCount>0&&(this.updateRangeBorders(),this.refreshRangeStyleAndHandle())}getRangeBorders(){const e=this.beans.gos.get("enableRtl");let t=!1,i=!1,r=!1,n=!1;const{rangeSvc:o,beans:{visibleCols:a},cellCtrl:{cellPosition:l}}=this,c=l.column,u=o.getCellRanges().filter(p=>o.isCellInSpecificRange(l,p));if(!u.length)return{top:t,right:i,bottom:r,left:n};let d,h;e?(d=a.getColAfter(c),h=a.getColBefore(c)):(d=a.getColBefore(c),h=a.getColAfter(c)),d||(n=!0),h||(i=!0);for(let p=0;p<u.length&&!(t&&i&&r&&n);p++){const g=u[p],f=o.getRangeStartRow(g),m=o.getRangeEndRow(g);!t&&(0,import_ag_grid_community202._isSameRow)(f,l)&&(t=!0),!r&&(0,import_ag_grid_community202._isSameRow)(m,l)&&(r=!0),!n&&d&&g.columns.indexOf(d)<0&&(n=!0),!i&&h&&g.columns.indexOf(h)<0&&(i=!0)}return{top:t,right:i,bottom:r,left:n}}refreshRangeStyleAndHandle(){const{context:e}=this.beans;if(e.isDestroyed())return;this.styleCellForRangeType();const t=this.getRangeForHandle();this.selectionHandle&&!t&&(this.selectionHandle=e.destroyBean(this.selectionHandle)),t&&this.addSelectionHandle(t),this.refreshHandleColor(t),this.cellComp.toggleCss(CSS_CELL_RANGE_HANDLE,!!this.selectionHandle)}scheduleRefreshRangeStyleAndHandle(){this.refreshScheduled||(this.refreshScheduled=!0,(0,import_ag_stack136._requestAnimationFrame)(this.beans,()=>{this.refreshScheduled=!1,this.refreshRangeStyleAndHandle()}))}styleCellForRangeType(){if(this.hasChartRange){const{rangeSvc:e}=this,t=e.getCellRanges()[0],r=t.type===import_ag_grid_community202.CellRangeType.DIMENSION&&e.isCellInSpecificRange(this.cellCtrl.cellPosition,t);this.cellComp.toggleCss(CSS_CELL_RANGE_CHART_CATEGORY,r)}else this.cellComp.toggleCss(CSS_CELL_RANGE_CHART_CATEGORY,!1),this.applyRangeColor(this.getRangeColorClass())}applyRangeColor(e){this.rangeColorClass&&this.rangeColorClass!==e&&(this.cellComp.toggleCss(this.rangeColorClass,!1),this.cellComp.toggleCss("ag-formula-range",!1)),e&&(this.cellComp.toggleCss(e,!0),this.cellComp.toggleCss("ag-formula-range",e.startsWith("ag-formula-range"))),this.rangeColorClass=e??null}getRangeColorClass(){const{rangeSvc:e,rangeCount:t}=this;if(!e||!t)return null;const i=e.getCellRanges();for(let r=i.length-1;r>=0;r--){const n=i[r],o=n.colorClass;if(o&&e.isCellInSpecificRange(this.cellCtrl.cellPosition,n))return o}return null}refreshHandleColor(e){const t=this.selectionHandle?.getGui?.(),i=e?.colorClass??null;if(!t){this.handleColorClass=null;return}this.handleColorClass&&this.handleColorClass!==i&&t.classList.remove(this.handleColorClass),i?t.classList.add(i):this.handleColorClass&&t.classList.remove(this.handleColorClass),this.handleColorClass=i??null}getRangeForHandle(){const{gos:e,editSvc:t}=this.beans,i=this.rangeSvc,r=i.getCellRanges(),n=r.length;if(this.rangeCount<1||n<1)return null;const o=t?.isRangeSelectionEnabledWhileEditing(),a=o?r:[(0,import_ag_stack136._last)(r)];for(const l of a){const{cellPosition:c,column:u}=this.cellCtrl,d=_isFillHandleEnabled(e)&&!u.isSuppressFillHandle(),h=_isRangeHandleEnabled(e);let g=!t?.isEditing(this.cellCtrl,{withOpenEditor:!0})&&(o||n===1&&(d||h));if(this.hasChartRange&&(g=l.type===import_ag_grid_community202.CellRangeType.VALUE),g&&l.endRow!=null&&i.isContiguousRange(l)&&i.isBottomRightCell(l,c))return l}return null}addSelectionHandle(e){const{editSvc:t,gos:i,context:r,registry:n}=this.beans,o=t?.isRangeSelectionEnabledWhileEditing(),a=e.type,c=!o&&_isFillHandleEnabled(i)&&(0,import_ag_stack136._missing)(a)?0:1;if(this.selectionHandle&&this.selectionHandle.getType()!==c&&(this.selectionHandle=r.destroyBean(this.selectionHandle)),!this.selectionHandle){const u=n.createDynamicBean(c===0?"fillHandle":"rangeHandle",!1);u&&(this.selectionHandle=r.createBean(u))}this.selectionHandle?.refresh(this.cellCtrl,e)}destroy(){this.unsetComp()}},import_ag_grid_community203=require("ag-grid-community"),DragListenerFeature=class extends import_ag_grid_community203.BeanStub{constructor(e){super(),this.eContainer=e}postConstruct(){const{beans:e,gos:t,eContainer:i}=this,r=e.rangeSvc,n={eElement:i,onDragStart:r.onDragStart.bind(r),onDragStop:r.onDragStop.bind(r),onDragging:r.onDragging.bind(r)},o=e.dragSvc,a=o.addDragSource.bind(o,n),l=o.removeDragSource.bind(o,n);this.addManagedPropertyListeners(["enableRangeSelection","cellSelection"],()=>{(0,import_ag_grid_community203._isCellSelectionEnabled)(t)?a():l()}),this.addDestroyFunc(l),(0,import_ag_grid_community203._isCellSelectionEnabled)(t)&&a()}},import_ag_grid_community204=require("ag-grid-community"),HeaderGroupCellMouseListenerFeature=class extends import_ag_grid_community204.BeanStub{constructor(e,t){super(),this.column=e,this.eGui=t}postConstruct(){this.addManagedElementListeners(this.eGui,{click:e=>e&&this.onClick(e)})}onClick(e){this.beans.rangeSvc?.handleColumnSelection(this.column,e)}},import_ag_grid_community205=require("ag-grid-community"),RangeHeaderHighlightFeature=class extends import_ag_grid_community205.BeanStub{constructor(e,t){super(),this.column=e,this.comp=t,this.columnMap=new Map,this.isActive=!1,this.resetColumnMap()}postConstruct(){this.addManagedPropertyListener("cellSelection",()=>{this.refreshActive()}),this.refreshActive(),this.setupRangeHeaderHighlight()}resetColumnMap(){this.columnMap.clear();let e;this.column.isColumn?e=[this.column]:e=this.column.getDisplayedLeafColumns();for(const t of e)this.columnMap.set(t,!1)}refreshActive(){const{gos:e,rangeSvc:t}=this.beans,i=e.get("cellSelection");this.isActive=!!(i&&t&&typeof i=="object"&&i.enableHeaderHighlight)}setupRangeHeaderHighlight(){const e=this.onRangeSelectionChanged.bind(this);this.addManagedEventListeners({rangeSelectionChanged:e,columnPinned:e,columnMoved:e,columnGroupOpened:e}),e()}onRangeSelectionChanged(){if(!this.isActive)return;this.resetColumnMap();const e=this.beans.rangeSvc.getCellRanges();let t=!1,i=!0;for(const r of e){if(t)break;for(const n of r.columns)this.columnMap.has(n)&&(this.columnMap.set(n,!0),t||(t=!0))}for(const r of Array.from(this.columnMap.values()))if(r===!1){i=!1;break}this.comp.toggleCss("ag-header-range-highlight",t&&i)}destroy(){super.destroy(),this.comp=null,this.column=null}},RangeService=class extends import_ag_grid_community206.BeanStub{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(e){this.rowModel=e.rowModel,this.dragSvc=e.dragSvc,this.colModel=e.colModel,this.visibleCols=e.visibleCols,this.cellNavigation=e.cellNavigation,this.ctrlsSvc=e.ctrlsSvc}postConstruct(){const e=this.onColumnsChanged.bind(this),t=()=>this.removeAllCellRanges(),i=this.refreshLastRangeStart.bind(this);this.addManagedEventListeners({newColumnsLoaded:e,columnVisible:e,columnValueChanged:e,columnPivotModeChanged:t,columnRowGroupChanged:t,columnPivotChanged:t,columnGroupOpened:i,columnMoved:i,columnPinned:i}),this.ctrlsSvc.whenReady(this,r=>{const n=r.gridBodyCtrl;this.autoScrollService=new import_ag_stack137.AutoScrollService({scrollContainer:n.eGridViewport,scrollAxis:"xy",getVerticalPosition:()=>n.scrollFeature.getVScrollPosition().top,setVerticalPosition:o=>n.scrollFeature.setVerticalScrollPosition(o),getHorizontalPosition:()=>n.scrollFeature.getHScrollPosition().left,setHorizontalPosition:o=>n.scrollFeature.setHorizontalScrollPosition(o),shouldSkipVerticalScroll:()=>!(0,import_ag_grid_community206._canScrollVertically)(this.beans),shouldSkipHorizontalScroll:()=>!n.scrollFeature.isHorizontalScrollShowing(),getTopOffset:()=>n.getTopPinnedRowsOffset(),getBottomOffset:()=>n.getBottomPinnedRowsOffset()})})}registerRangeSelectionExtension(e){this.rangeSelectionExtensions.includes(e)||this.rangeSelectionExtensions.push(e)}unregisterRangeSelectionExtension(e){(0,import_ag_stack137._removeFromArray)(this.rangeSelectionExtensions,e)}shouldSuppressRangeSelection(e){return this.rangeSelectionExtensions.some(t=>t.shouldSuppressRangeSelection?.(e))}shouldSkipColumn(e){return this.rangeSelectionExtensions.some(t=>t.shouldSkipColumn?.(e))}isAllColumnsSelectionCell(e){return this.rangeSelectionExtensions.some(t=>t.isAllColumnsSelectionCell?.(e))}isAllColumnsRange(e,t){return this.rangeSelectionExtensions.some(i=>i.isAllColumnsRange?.(e,t))}updateSelectionModeForCell(e){this.setSelectionMode(this.isAllColumnsSelectionCell(e))}onDragStart(e){const t=this.gos,i=e.target;if(!(0,import_ag_grid_community206._isCellSelectionEnabled)(t)||(0,import_ag_grid_community206._getRowCtrlForEventTarget)(t,i)?.isSuppressMouseEvent(e)||this.shouldSuppressRangeSelection(i))return;const{shiftKey:r}=e,n=this.isMultiRange(e),o=r&&!!this.cellRanges?.length;!n&&(!o||(0,import_ag_stack137._exists)((0,import_ag_stack137._last)(this.cellRanges).type))&&this.removeAllCellRanges(!0);const a=this.dragSvc.startTarget;if(a&&this.updateValuesOnMove(a),!!this.lastCellHovered){if(this.dragging=!0,this.lastMouseEvent=e,this.intersectionRange=n&&this.getCellRangeCount(this.lastCellHovered)>1,o||this.setNewestRangeStartCell(this.lastCellHovered),this.cellRanges.length>0)this.draggingRange=(0,import_ag_stack137._last)(this.cellRanges);else{const l={rowIndex:this.lastCellHovered.rowIndex,rowPinned:this.lastCellHovered.rowPinned},c=this.getColumnsFromModel([this.lastCellHovered.column]);if(!c?.length)return;this.draggingRange={startRow:l,endRow:l,columns:c,startColumn:this.newestRangeStartCell.column},this.cellRanges.push(this.draggingRange)}this.ctrlsSvc.getGridBodyCtrl().eGridViewport.addEventListener("scroll",this.bodyScrollListener,{passive:!0}),this.dispatchChangedEvent(!0,!1,this.draggingRange.id)}}onDragging(e){const{dragging:t,lastCellHovered:i,newestRangeStartCell:r,autoScrollService:n,cellHasChanged:o}=this;if(!t||!e)return;this.updateValuesOnMove(e.target),this.lastMouseEvent=e;const a=g=>i?.rowPinned===g&&r.rowPinned===g,l=a("top")||a("bottom");if(n.check(e,l),!o||!i)return;const c=r?.column,u=i?.column,d=this.calculateColumnsBetween(c,u);if(!d)return;const{rowIndex:h,rowPinned:p}=i;this.draggingRange.endRow={rowIndex:h,rowPinned:p},this.draggingRange.columns=d,this.dispatchChangedEvent(!1,!1,this.draggingRange.id)}onDragStop(){if(!this.dragging)return;const{id:e}=this.draggingRange;this.autoScrollService.ensureCleared(),this.ctrlsSvc.getGridBodyCtrl().eGridViewport.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,e)}onColumnsChanged(){this.refreshLastRangeStart();for(const t of this.cellRanges){const i=t.columns;t.columns=t.columns.filter(n=>n.isVisible()&&n.displayed),!(0,import_ag_stack137._areEqual)(i,t.columns)&&this.dispatchChangedEvent(!1,!0,t.id)}const e=this.cellRanges.length;this.cellRanges=this.cellRanges.filter(t=>t.columns.length>0),e>this.cellRanges.length&&this.dispatchChangedEvent(!1,!0)}refreshLastRangeStart(){const e=(0,import_ag_stack137._last)(this.cellRanges);e&&this.refreshRangeStart(e)}isContiguousRange(e){const t=e.columns,i=t.length;if(!i)return!1;let r=t[0].allColsIndex,n=r;for(let o=1;o<i;++o){const a=t[o].allColsIndex;a<r?r=a:a>n&&(n=a)}return n-r+1===i}getRangeStartRow(e){return e.startRow&&e.endRow?(0,import_ag_grid_community206._isRowBefore)(e.startRow,e.endRow)?e.startRow:e.endRow:{rowIndex:0,rowPinned:(this.beans.pinnedRowModel?.getPinnedTopRowCount()??0)>0?"top":null}}getRangeEndRow(e){if(e.startRow&&e.endRow)return(0,import_ag_grid_community206._isRowBefore)(e.startRow,e.endRow)?e.endRow:e.startRow;const t=this.beans.pinnedRowModel?.getPinnedBottomRowCount()??0;return t>0?{rowIndex:t-1,rowPinned:"bottom"}:{rowIndex:this.rowModel.getRowCount()-1,rowPinned:null}}getRangeRowCount(e){const t=this.beans,i=this.getRangeStartRow(e),r=this.getRangeEndRow(e),n=(0,import_ag_grid_community206._getAbsoluteRowIndex)(t,i);return(0,import_ag_grid_community206._getAbsoluteRowIndex)(t,r)-n+1}handleCellMouseDown(e,t){const i=e.ctrlKey||e.metaKey;this.handleCellSelectionInput(t,{target:e.target,shiftKey:e.shiftKey,isRightClick:(0,import_ag_grid_community206._interpretAsRightClick)(this.beans,e),isMultiRange:this.isMultiRange(e),isMultiKey:i,preventDefault:()=>e.preventDefault()})}handleCellKeyboardSelect(e,t){const i=e.ctrlKey||e.metaKey;this.handleCellSelectionInput(t,{target:e.target,shiftKey:e.shiftKey,isRightClick:!1,isMultiRange:this.isMultiRangeForKeyState(i),isMultiKey:i,preventDefault:()=>e.preventDefault()})}handleCellSelectionInput(e,t){const{target:i,shiftKey:r,isRightClick:n,isMultiRange:o,isMultiKey:a,preventDefault:l}=t;if(this.shouldSuppressRangeSelection(i))return;const c=this.isAllColumnsSelectionCell(e);if(c&&l(),r)return this.extendLatestRangeToCell(e);if(c&&n)return;this.updateSelectionModeForCell(e);const u=this.calculateColumnsBetween(e.column,e.column);if(!u)return;const d=c?this.findContainingRange({columns:u,startRow:e,endRow:e}):void 0;c&&!!d&&o&&a&&d?this.removeRowFromAllColumnsRange(e,d):this.setRangeToCell(e,o)}isMultiRange(e){return this.isMultiRangeForKeyState(e.ctrlKey||e.metaKey)}isMultiRangeForKeyState(e){const{editingWithRanges:t,allowMulti:i}=this.getMultiRangeContext();return t||(i?e:!1)}getMultiRangeContext(){const{gos:e,editSvc:t}=this.beans,i=!!t?.isEditing()&&!!t?.isRangeSelectionEnabledWhileEditing(),r=(0,import_ag_grid_community206._getSuppressMultiRanges)(e)&&!i;return{editingWithRanges:i,suppressMultiRanges:r,allowMulti:!r}}removeRowFromAllColumnsRange(e,t){const{beans:i,cellRanges:r}=this,n=(0,import_ag_grid_community206._getFirstRow)(i),o=(0,import_ag_grid_community206._getLastRow)(i),a=this.getRangeStartRow(t),l=this.getRangeEndRow(t);if(!a&&(0,import_ag_grid_community206._isSameRow)(n,e))replaceEdgeRow(t,(0,import_ag_grid_community206._getRowBelow)(i,n),"top");else if(!l&&(0,import_ag_grid_community206._isSameRow)(o,e))replaceEdgeRow(t,(0,import_ag_grid_community206._getRowAbove)(i,o),"bottom");else if((0,import_ag_grid_community206._isSameRow)(a,l))(0,import_ag_stack137._removeFromArray)(r,t);else if((0,import_ag_grid_community206._isSameRow)(a,e))replaceEdgeRow(t,(0,import_ag_grid_community206._getRowBelow)(i,e),"top");else if((0,import_ag_grid_community206._isSameRow)(l,e))replaceEdgeRow(t,(0,import_ag_grid_community206._getRowAbove)(i,e),"bottom");else{const c=(0,import_ag_grid_community206._getRowAbove)(i,e),u=(0,import_ag_grid_community206._getRowBelow)(i,e);t.startRow=a,t.endRow=c??void 0,r.push({...t,startRow:u??void 0,endRow:l})}this.dispatchChangedEvent(!0,!0)}setRangeToCell(e,t=!1){const{gos:i}=this;if(!(0,import_ag_grid_community206._isCellSelectionEnabled)(i))return;this.updateSelectionModeForCell(e);const r=this.calculateColumnsBetween(e.column,e.column);if(!r)return;const{suppressMultiRanges:n}=this.getMultiRangeContext();(n||!t||(0,import_ag_stack137._missing)(this.cellRanges))&&this.removeAllCellRanges(!0);const o={rowIndex:e.rowIndex,rowPinned:e.rowPinned},a={startRow:o,endRow:o,columns:r,startColumn:e.column},l=this.ensureRangeStartColumn(a);l&&(this.cellRanges.push(a),this.setNewestRangeStartCell({...e,column:l}),this.onDragStop(),this.dispatchChangedEvent(!0,!0))}getRangeLastColumn(e){const t=e.columns[0],i=(0,import_ag_stack137._last)(e.columns);return this.newestRangeStartCell?.column===t?i:t}extendRangeRowCountBy(e,t){const{beans:i}=this,{startRow:r,endRow:n}=e;if(!r||!n)return;let o=0,a;const l=(0,import_ag_grid_community206._isRowBefore)(n,r);l?a=r:a=n;const c=t>0?import_ag_grid_community206._getRowBelow:import_ag_grid_community206._getRowAbove,u=Math.abs(t);for(;o<u;){const h=c(i,a);if(!h)break;a=h,o++}if(o!==u)return;const d={...a,column:this.getRangeLastColumn(e)};this.updateRangeRowBoundary({cellRange:e,boundary:l?"start":"end",cellPosition:d})}extendRangeColumnCountBy(e,t){const{columns:i}=e;if(t===0)return;const r=this.getColumnsFromModel();if(!r)return;const n=this.ensureRangeStartColumn(e);if(!n)return;const o=(0,import_ag_stack137._last)(i),a=n===i[0]?o:i[0];if(!o||!a)return;let l=r.indexOf(n);const c=r.indexOf(a),u=c<l;u&&(l=c);const h=i.length+t;if(h<=0)return;const p=[];for(let g=l;g<l+h;g++){const f=r[g];if(!f)break;p.push(f)}if(p.length===h){if(u){const g=(0,import_ag_stack137._last)(p);e.startColumn=g,this.focusCellOnNewColumn(e,g)}e.columns=p,this.dispatchChangedEvent(!0,!0,e.id)}}extendLatestRangeToCell(e){if(this.isEmpty()||!this.newestRangeStartCell)return;const t=(0,import_ag_stack137._last)(this.cellRanges);this.updateSelectionModeForCell(e),this.updateRangeRowBoundary({cellRange:t,boundary:"end",cellPosition:e})}extendRangeToCell(e,t){e&&(this.updateSelectionModeForCell(t),this.updateRangeRowBoundary({cellRange:e,boundary:"end",cellPosition:t}))}updateRangeRowBoundary(e){const{cellRange:t,boundary:i,cellPosition:r,silent:n=!1}=e,o=r.column,a=this.ensureRangeStartColumn(t);if(!a)return;const l=this.calculateColumnsBetween(a,o);!l||isLastCellOfRange(t,r)||(i==="start"&&this.focusCellOnNewRow(t,r),t.columns=l,t[i==="start"?"startRow":"endRow"]={rowIndex:r.rowIndex,rowPinned:r.rowPinned},n||this.dispatchChangedEvent(!0,!0,t.id))}getRangeEdgeColumns(e){const t=this.visibleCols.allCols,i=e.columns;let r=-1,n=-1;for(let o=0,a=i.length;o<a;++o){const l=i[o].allColsIndex;l>-1&&((r===-1||l<r)&&(r=l),l>n&&(n=l))}return{left:t[r],right:t[n]}}extendLatestRangeInDirection(e){if(this.isEmpty()||!this.newestRangeStartCell)return;const t=e.key,i=e.ctrlKey||e.metaKey,r=(0,import_ag_stack137._last)(this.cellRanges),n=this.newestRangeStartCell,o=r.endRow.rowIndex,a=r.endRow.rowPinned,c={column:this.getRangeLastColumn(r),rowIndex:o,rowPinned:a},u=this.cellNavigation.getNextCellToFocus(t,c,i);if(u&&!this.shouldSkipColumn(u.column))return this.setCellRange({rowStartIndex:n.rowIndex,rowStartPinned:n.rowPinned,rowEndIndex:u.rowIndex,rowEndPinned:u.rowPinned,columnStart:n.column,columnEnd:u.column}),u}setCellRange(e){(0,import_ag_grid_community206._isCellSelectionEnabled)(this.gos)&&(this.removeAllCellRanges(!0),this.addCellRange(e))}setCellRanges(e){if((0,import_ag_stack137._areEqual)(this.cellRanges,e)||!this.verifyCellRanges(this.gos))return;this.setSelectionMode(!1),this.removeAllCellRanges(!0);const t=this.getColumnsFromModel(this.visibleCols.allCols)??[];let i=!1;for(const r of e){if(r.columns&&r.startRow){const n=this.getColumnsFromModel(r.columns);if(!n||n.length===0)continue;r.columns=n;const{startRow:o}=r;this.setNewestRangeStartCell({rowIndex:o.rowIndex,rowPinned:o.rowPinned,column:r.columns[0]})}!i&&t.length>0&&this.isAllColumnsRange(r,t)&&(i=!0),this.cellRanges.push(r)}this.setSelectionMode(i),this.dispatchChangedEvent(!1,!0)}clearCellRangeCellValues(e){const{beans:t,eventSvc:i}=this,{cellEventSource:r="rangeSvc",dispatchWrapperEvents:n,wrapperEventSource:o="deleteKey",restoreSourceInBatch:a}=e;let{cellRanges:l}=e;n&&(i.dispatchEvent({type:"cellSelectionDeleteStart",source:o}),i.dispatchEvent({type:"rangeDeleteStart",source:o})),l||(l=this.cellRanges);const{valueSvc:c,editSvc:u}=t,d=!!u?.isBatchEditing(),{changeDetectionSvc:h}=t;u?.beginBulkWrite();try{h?.beginDeferred(),this.forEachEditableCellInRanges(l,(p,g)=>{if(a&&d){u?.batchResetToSourceValue({rowNode:p,column:g});return}const f=c.getDeleteValue(g,p);p.setDataValue(g,f,r)})}finally{h?.endDeferred(),u?.endBulkWrite()}n&&(i.dispatchEvent({type:"cellSelectionDeleteEnd",source:o}),i.dispatchEvent({type:"rangeDeleteEnd",source:o}))}createCellRangeFromCellRangeParams(e){return this.createPartialCellRangeFromRangeParams(e,!1)}createPartialCellRangeFromRangeParams(e,t){const{columns:i,columnStart:r,columnEnd:n,rowStartIndex:o,rowStartPinned:a,rowEndIndex:l,rowEndPinned:c}=e,u=this.getColumnsFromParams(i,r,n);if(!u||!t&&u.columns.length===0)return;const{columns:d,startsOnTheRight:h}=u,p=createRowPosition(o,a),g=createRowPosition(l,c);return{startRow:p,endRow:g,columns:d,startColumn:this.getColumnFromModel(r)??(h?(0,import_ag_stack137._last)(d):d[0])}}addCellRange(e){const t=this.gos;if(!(0,import_ag_grid_community206._isCellSelectionEnabled)(t)||!this.verifyCellRanges(t))return;this.setSelectionMode(!1);const i=this.createCellRangeFromCellRangeParams(e);if(i)return i.startRow&&this.setNewestRangeStartCell({rowIndex:i.startRow.rowIndex,rowPinned:i.startRow.rowPinned,column:i.startColumn}),this.cellRanges.push(i),this.dispatchChangedEvent(!1,!0,i.id),i}getCellRanges(){return this.cellRanges}isEmpty(){return this.cellRanges.length===0}isMoreThanOneCell(){const e=this.cellRanges.length;if(e===0)return!1;if(e>1)return!0;const t=this.cellRanges[0],i=this.getRangeStartRow(t),r=this.getRangeEndRow(t);return i.rowPinned!==r.rowPinned||i.rowIndex!==r.rowIndex||t.columns.length!==1}areAllRangesAbleToMerge(){const e=new Map;if(this.cellRanges.length<=1)return!0;for(const r of this.cellRanges)this.forEachRowInRange(r,n=>{const o=`${n.rowPinned||"normal"}_${n.rowIndex}`,a=e.get(o),l=r.columns.map(c=>c.getId());if(a){const c=l.filter(u=>a.indexOf(u)===-1);a.push(...c)}else e.set(o,l)});let i;for(const r of e.values()){const n=r.sort().join();if(i===void 0){i=n;continue}if(i!==n)return!1}return!0}removeAllCellRanges(e){this.isEmpty()||(this.onDragStop(),this.cellRanges.length=0,e||this.dispatchChangedEvent(!1,!0))}isCellInAnyRange(e){return this.getCellRangeCount(e)>0}isCellInSpecificRange(e,t){const i=t.columns?.includes(e.column),r=this.isRowInRange(e,t);return i&&r}isColumnInAnyRange(e){const{beans:t}=this,i=(0,import_ag_grid_community206._getFirstRow)(t),r=(0,import_ag_grid_community206._getLastRow)(t);if(!i||!r)return!1;const n=e.isColumn?[e]:e.getDisplayedLeafColumns();return this.findContainingRange({columns:n,startRow:i,endRow:r},!0)!=null}findContainingRange({columns:e,startRow:t,endRow:i},r=!1){const n=this.cellRanges;for(let o=n.length-1;o>=0;o--){const a=n[o],l=e.every(u=>a.columns.includes(u));let c;if(r)c=(0,import_ag_grid_community206._isSameRow)(a.startRow,t)&&(0,import_ag_grid_community206._isSameRow)(a.endRow,i);else{const u=t&&this.isRowInRange(t,a),d=i&&this.isRowInRange(i,a);c=!!u&&!!d}if(l&&c)return a}}isBottomRightCell(e,t){const i=e.columns;let r=-1;for(let u=0,d=i.length;u<d;++u){const h=i[u].allColsIndex;h>r&&(r=h)}const{startRow:n,endRow:o}=e,a=(0,import_ag_grid_community206._isRowBefore)(n,o)?o:n,l=t.column.allColsIndex===r,c=t.rowIndex===a.rowIndex&&(0,import_ag_stack137._makeNull)(t.rowPinned)===(0,import_ag_stack137._makeNull)(a.rowPinned);return l&&c}getCellRangeCount(e){return this.cellRanges.filter(t=>this.isCellInSpecificRange(e,t)).length}isRowInRange(e,t){const i=this.getRangeStartRow(t),r=this.getRangeEndRow(t),n=(0,import_ag_grid_community206._isSameRow)(e,i),o=(0,import_ag_grid_community206._isSameRow)(e,r);if(n||o)return!0;const a=!(0,import_ag_grid_community206._isRowBefore)(e,i),l=(0,import_ag_grid_community206._isRowBefore)(e,r);return a&&l}intersectLastRange(e){const{editingWithRanges:t,suppressMultiRanges:i}=this.getMultiRangeContext();if(t||i||e&&this.dragging||this.isEmpty())return;const r=(0,import_ag_stack137._last)(this.cellRanges),n=this.getRangeStartRow(r),o=this.getRangeEndRow(r),a=[];for(const l of this.cellRanges.slice(0,-1)){const c=this.getRangeStartRow(l),u=this.getRangeEndRow(l),d=l.columns,h=d.filter(g=>r.columns.indexOf(g)===-1);if(h.length===d.length){a.push(l);continue}if((0,import_ag_grid_community206._isRowBefore)(o,c)||(0,import_ag_grid_community206._isRowBefore)(u,n)){a.push(l);continue}const p=a.length;if((0,import_ag_grid_community206._isRowBefore)(c,n)){const g={columns:[...d],startColumn:r.startColumn,startRow:{...c},endRow:(0,import_ag_grid_community206._getRowAbove)(this.beans,n)};a.push(g)}if(h.length>0){const g={columns:h,startColumn:h.includes(r.startColumn)?r.startColumn:h[0],startRow:rowMax([{...n},{...c}]),endRow:rowMin([{...o},{...u}])};a.push(g)}(0,import_ag_grid_community206._isRowBefore)(o,u)&&a.push({columns:[...d],startColumn:r.startColumn,startRow:(0,import_ag_grid_community206._getRowBelow)(this.beans,o),endRow:{...u}}),a.length-p===1&&(a[a.length-1].id=l.id)}this.cellRanges=a,e&&this.dispatchChangedEvent(!1,!0)}createRangeHighlightFeature(e,t,i){e.createManagedBean(new RangeHeaderHighlightFeature(t,i))}setSelectionMode(e){this.selectionMode=e?1:0}refreshRangeStart(e){const{columns:t}=e,i=this.ensureRangeStartColumn(e);if(!i)return;const r=(c,u)=>{const d=e.columns.filter(h=>h!==c);c?(e.startColumn=c,e.columns=u?[c,...d]:[...d,c]):e.columns=d},{left:n,right:o}=this.getRangeEdgeColumns(e);if(i===t[0]&&i!==n){r(n,!0);return}i===(0,import_ag_stack137._last)(t)&&i===o&&r(o,!1)}setNewestRangeStartCell(e){this.newestRangeStartCell=e}getColumnsFromParams(e,t,i){const r=!e&&!t&&!i;let n,o=!1;return r||e?n=this.getColumnsFromModel(r?void 0:e):t&&i&&(n=this.calculateColumnsBetween(t,i),n?.length&&(o=n[0]!==this.getColumnFromModel(t))),n?{columns:n,startsOnTheRight:o}:void 0}verifyCellRanges(e){const{suppressMultiRanges:t}=this.getMultiRangeContext(),i=(0,import_ag_grid_community206._isUsingNewCellSelectionAPI)(e)&&t&&this.cellRanges.length>1;return i&&this.warn(93),!i}forEachRowInRange(e,t){const i=this.getRangeStartRow(e),r=this.getRangeEndRow(e);let n=i;for(;n&&(t(n),!(0,import_ag_grid_community206._isSameRow)(n,r));)n=(0,import_ag_grid_community206._getRowBelow)(this.beans,n)}forEachEditableCellInRanges(e,t){const{beans:i}=this;for(const r of e)this.forEachRowInRange(r,n=>{const o=(0,import_ag_grid_community206._getRowNode)(i,n);if(o)for(let a=0;a<r.columns.length;a++){const l=this.getColumnFromModel(r.columns[a]);l?.isCellEditable(o)&&t(o,l)}})}onBodyScroll(){this.dragging&&this.lastMouseEvent&&this.onDragging(this.lastMouseEvent)}updateValuesOnMove(e){const t=(0,import_ag_grid_community206._getCellCtrlForEventTarget)(this.gos,e),i=t?.cellPosition;if(this.cellHasChanged=!1,!i||this.lastCellHovered&&(0,import_ag_grid_community206._areCellsEqual)(i,this.lastCellHovered))return;const r=this.beans.editSvc;if(r?.isEditing(t,{withOpenEditor:!0})&&!r?.isRangeSelectionEnabledWhileEditing()){this.dragSvc.cancelDrag(e);return}this.lastCellHovered&&(this.cellHasChanged=!0),this.lastCellHovered=i}dispatchChangedEvent(e,t,i){this.eventSvc.dispatchEvent({type:"cellSelectionChanged",started:e,finished:t,id:i}),this.eventSvc.dispatchEvent({type:"rangeSelectionChanged",started:e,finished:t,id:i})}getColumnFromModel(e){return typeof e=="string"?this.colModel.getCol(e):e}getColumnsFromModel(e){const{visibleCols:t,selectionMode:i}=this;(!e||i===1)&&(e=t.allCols);const r=[];for(const n of e){const o=this.getColumnFromModel(n);!o||this.shouldSkipColumn(o)||r.push(o)}return r.length?r:void 0}ensureRangeStartColumn(e){const t=this.getRangeStartColumn(e.columns,e.startColumn);if(t)return e.startColumn=t,t}getRangeStartColumn(e,t){const i=e[0],r=(0,import_ag_stack137._last)(e);if(!i||!r)return;if(!t||e.includes(t))return t??i;const n=t.allColsIndex,o=i.allColsIndex,a=r.allColsIndex;return n<0||o<0||a<0||n-o<=a-n?i:r}calculateColumnsBetween(e,t){const i=this.visibleCols.allCols,r=this.getColumnFromModel(e),n=this.getColumnFromModel(t),o=r===n,a=r.allColsIndex;if(a<0){this.warn(178,{colId:r.getId()});return}const l=o?a:n.allColsIndex;if(l<0){this.warn(178,{colId:n.getId()});return}if(o||this.selectionMode===1)return this.getColumnsFromModel([r]);const c=Math.min(a,l),u=c===a?l:a;return this.getColumnsFromModel(i.slice(c,u+1))}focusCellOnNewColumn(e,t){const{focusSvc:i}=this.beans,r=i.getFocusedCell();r&&this.isCellInSpecificRange(r,e)&&i.setFocusedCell({...r,column:t,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}focusCellOnNewRow(e,t){const{focusSvc:i}=this.beans,r=i.getFocusedCell();r&&this.isCellInSpecificRange(r,e)&&i.setFocusedCell({...t,column:r.column,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0})}createDragListenerFeature(e){return new DragListenerFeature(e)}createCellRangeFeature(e){return new CellRangeFeature(this.beans,e)}createHeaderGroupCellMouseListenerFeature(e,t){return new HeaderGroupCellMouseListenerFeature(e,t)}handleColumnSelection(e,t){const{gos:i,beans:r,columnRangeSelectionCtx:n,cellRanges:o}=this;if(!(0,import_ag_grid_community206._getEnableColumnSelection)(i))return;const{suppressMultiRanges:a,editingWithRanges:l}=this.getMultiRangeContext(),c=o.length>0,u=t.ctrlKey||t.metaKey,d=!l||u,h=(0,import_ag_grid_community206._getFirstRow)(r),p=(0,import_ag_grid_community206._getLastRow)(r);if(!h||!p)return;if(t.key===import_ag_grid_community206.KeyCode.ENTER&&t.preventDefault(),t.shiftKey){const f=n.root;if(!f)return;const m=e.isColumn?e:(0,import_ag_stack137._last)(e.getLeafColumns()),v=this.findContainingRange({columns:[f],startRow:h,endRow:p},!0);if(!v){(0,import_ag_stack137._removeFromArray)(o,n.lastCellRange),this.selectColumns(this.calculateColumnsBetween(f,m),h,p);return}this.updateRangeRowBoundary({cellRange:v,boundary:"end",cellPosition:{column:m,...p}});return}c&&(a||!u&&!l)&&this.removeAllCellRanges(!0);const g=(f,m)=>{const v=this.findContainingRange({columns:f,startRow:h,endRow:p},!0);if(v&&d)this.deselectColumnsFromRange(v,f);else{const C=this.selectColumns(f,h,p);C&&(n.lastCellRange=C)}n.root=m};if(e.isColumn)g([e],e);else{const f=e.getDisplayedLeafColumns();g(f,f[0])}}deselectColumnsFromRange(e,t){(0,import_ag_stack137._removeAllFromArray)(e.columns,t),t.includes(e.startColumn)&&(e.startColumn=e.columns[0]),e.columns.length===0&&(0,import_ag_stack137._removeFromArray)(this.cellRanges,e),this.dispatchChangedEvent(!0,!0)}selectColumns(e,t,i){return this.addCellRange({columns:e,columnStart:e[0],columnEnd:(0,import_ag_stack137._last)(e),rowStartIndex:t.rowIndex,rowStartPinned:t.rowPinned,rowEndIndex:i.rowIndex,rowEndPinned:i.rowPinned})}};function createRowPosition(e,t){return e!=null?{rowIndex:e,rowPinned:t}:void 0}function rowMax(e){let t;for(const i of e)(t===void 0||(0,import_ag_grid_community206._isRowBefore)(t,i))&&(t=i);return t}function rowMin(e){let t;for(const i of e)(t===void 0||(0,import_ag_grid_community206._isRowBefore)(i,t))&&(t=i);return t}function isLastCellOfRange(e,t){const{startRow:i,endRow:r}=e,n=(0,import_ag_grid_community206._isRowBefore)(i,r)?r:i,o=t.rowIndex===n.rowIndex&&t.rowPinned===n.rowPinned,a=e.columns[0],l=(0,import_ag_stack137._last)(e.columns),c=e.startColumn===a?l:a;return t.column===c&&o}function replaceEdgeRow(e,t,i){let r;i==="top"?r=!e.startRow||!e.endRow||(0,import_ag_grid_community206._isRowBefore)(e.startRow,e.endRow)?"startRow":"endRow":r=!e.startRow||!e.endRow||(0,import_ag_grid_community206._isRowBefore)(e.startRow,e.endRow)?"endRow":"startRow",e[r]=t??void 0}var CellSelectionModule={moduleName:"CellSelection",version:VERSION,beans:[RangeService],dynamicBeans:{fillHandle:AgFillHandle,rangeHandle:AgRangeHandle},apiFunctions:{getCellRanges,addCellRange,clearRangeSelection,clearCellSelection:clearRangeSelection},dependsOn:[EnterpriseCoreModule,import_ag_grid_community207._KeyboardNavigationModule,import_ag_grid_community207._DragModule],css:[rangeSelection_default]},RangeSelectionModule={moduleName:"RangeSelection",version:VERSION,dependsOn:[CellSelectionModule]},import_ag_grid_community235=require("ag-grid-community"),import_ag_stack138=require("ag-stack"),import_ag_grid_community208=require("ag-grid-community"),LoadingCellRendererElement={tag:"div",cls:"ag-loading",children:[{tag:"span",ref:"eLoadingIcon",cls:"ag-loading-icon"},{tag:"span",ref:"eLoadingText",cls:"ag-loading-text"}]},LoadingCellRenderer=class extends import_ag_grid_community208.Component{constructor(){super(LoadingCellRendererElement),this.eLoadingIcon=import_ag_stack138.RefPlaceholder,this.eLoadingText=import_ag_stack138.RefPlaceholder}init(e){e.node.failedLoad?this.setupFailed():this.setupLoading()}setupFailed(){this.eLoadingText.textContent=this.getLocaleTextFunc()("loadingError","ERR")}setupLoading(){const e=(0,import_ag_grid_community208._createIconNoSpan)("groupLoading",this.beans,null);e&&this.eLoadingIcon.appendChild(e),this.eLoadingText.textContent=this.getLocaleTextFunc()("loadingOoo","Loading...")}refresh(e){return!1}},LoadingCellRendererModule={moduleName:"LoadingCellRenderer",version:VERSION,userComponents:{agLoadingCellRenderer:LoadingCellRenderer},icons:{groupLoading:"loading"},dependsOn:[EnterpriseCoreModule]},import_ag_grid_community212=require("ag-grid-community");function isPivotMode(e){return e.colModel.pivotMode}function getPivotResultColumn(e,t,i){return e.pivotResultCols?.lookupPivotResultCol(t,i)??null}function setValueColumns(e,t){e.valueColsSvc?.setColumns(t,"api")}function getValueColumns(e){return e.valueColsSvc?.columns??[]}function removeValueColumns(e,t){e.valueColsSvc?.removeColumns(t,"api")}function addValueColumns(e,t){e.valueColsSvc?.addColumns(t,"api")}function setPivotColumns(e,t){e.pivotColsSvc?.setColumns(t,"api")}function removePivotColumns(e,t){e.pivotColsSvc?.removeColumns(t,"api")}function addPivotColumns(e,t){e.pivotColsSvc?.addColumns(t,"api")}function getPivotColumns(e){return e.pivotColsSvc?.columns??[]}function setPivotResultColumns(e,t){e.pivotResultCols?.setPivotResultCols(t,"api",!0)}function getPivotResultColumns(e){return e.pivotResultCols?.pivotCols??null}var import_ag_grid_community209=require("ag-grid-community"),PIVOT_ROW_TOTAL_PREFIX="PivotRowTotal_",headerNameComparator=({headerName:e},{headerName:t})=>e&&!t?1:!e&&t?-1:!e&&!t?0:e<t?-1:e>t?1:0,convertToHeaderNameComparator=e=>(t,i)=>e(t.headerName,i.headerName),naturalOrderComparator=()=>0,isPivotKeyAtLevel=(e,t,i)=>{if(e.children!=null)return!0;const r=e.pivotKeys;return r!=null?r.length>t:!i&&t===0},pivotKeyTestFor=(e,t)=>{const i=e.some(r=>r.children!=null);return r=>isPivotKeyAtLevel(r,t,i)},withPivotKeysSorted=(e,t,i)=>{const r=e.filter(t).sort(i),n=[];let o=0;for(let a=0,l=e.length;a<l;++a){const c=e[a];n.push(t(c)?r[o++]:c)}return n},withChildrenOrdered=(e,t,i)=>{const r=e.children;if(!r)return null;const n=orderColDefLevel(r,t+1,i);return n?{...e,children:n}:null},orderColDefLevel=(e,t,i)=>{const r=e.length;if(t>=i.length||r===0)return null;const n=withPivotKeysSorted(e,pivotKeyTestFor(e,t),i[t]);let o=!1;for(let a=0;a<r;++a){const l=n[a],c=withChildrenOrdered(l,t,i);c?(n[a]=c,o=!0):l!==e[a]&&(o=!0)}return o?n:null},PivotColDefService=class extends import_ag_grid_community209.BeanStub{constructor(){super(...arguments),this.beanName="pivotColDefSvc"}wireBeans(e){this.colModel=e.colModel,this.pivotColsSvc=e.pivotColsSvc,this.valueColsSvc=e.valueColsSvc,this.colNames=e.colNames}postConstruct(){const e=()=>this.gos.get("serverSidePivotResultFieldSeparator")??"_";this.fieldSeparator=e(),this.addManagedPropertyListener("serverSidePivotResultFieldSeparator",()=>{this.fieldSeparator=e()});const t=()=>this.gos.get("pivotDefaultExpanded");this.pivotDefaultExpanded=t(),this.addManagedPropertyListener("pivotDefaultExpanded",()=>{this.pivotDefaultExpanded=t()})}createPivotColumnDefs(e){const t=this.createPivotColumnsFromUniqueValues(e);function i(n,o=[]){return n.forEach(a=>{a.children!==void 0?i(a.children,o):o.push(a)}),o}const r=i(t);return this.addRowGroupTotals(t,r),this.addExpandablePivotGroups(t,r),this.addPivotTotalsToGroups(t,r),t}createPivotColumnsFromUniqueValues(e){const t=this.pivotColsSvc?.columns??[],i=t.length;return this.recursivelyBuildGroup(0,e,[],i,t)}recursivelyBuildGroup(e,t,i,r,n){if(e>=r)return this.buildMeasureCols(i);const o=n[e],a=o.colDef,l=this.getPivotGroupComparator(o),c=this.valueColsSvc?.columns;if(c?.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&e===r-1){const d=[];for(const h of t.keys()){const p=[...i,h],g=getPivotHeaderName(h,a),f=this.createColDef(c[0],g,p);f.columnGroupShow="open",d.push(f)}return d.sort(l),d}const u=[];for(const d of t.keys()){const h=this.pivotDefaultExpanded===-1||e<this.pivotDefaultExpanded,p=[...i,d];u.push({children:this.recursivelyBuildGroup(e+1,t.get(d),p,r,n),headerName:getPivotHeaderName(d,a),pivotKeys:p,columnGroupShow:"open",openByDefault:h,groupId:this.generateColumnGroupId(p)})}return u.sort(l),u}buildMeasureCols(e){const t=this.valueColsSvc?.columns??[];return t.length===0?[this.createColDef(null,"-",e)]:t.map(i=>{const r=this.colNames.getDisplayNameForColumn(i,"header"),n=this.createColDef(i,r,e);return n.columnGroupShow="open",n})}addExpandablePivotGroups(e,t){const i=this.gos.get("suppressExpandablePivotGroups");if(i||this.gos.get("pivotColumnGroupTotals"))return;const r=(n,o,a)=>{if("children"in n){const{valueColsSvc:d}=this,{columns:h=[]}=d??{},p=new Map;n.children.forEach(m=>{r(m,o,p)});const g=!n.children.some(m=>m.children),f=g&&h.length===1&&this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(const m of h){const v=this.colNames.getDisplayNameForColumn(m,"header"),C=this.createColDef(m,v,n.pivotKeys);C.pivotTotalColumnIds=p.get(m.colId),C.columnGroupShow=i?"open":"closed",C.aggFunc=m.aggFunc,(!g||f)&&(n.children.push(C),o.push(C))}this.merge(a,p);return}const l=n.pivotValueColumn;if(!l)return;const c=l.colId;a.has(c)?a.get(c).push(n.colId):a.set(c,[n.colId])};e.forEach(n=>{r(n,t,new Map)})}addPivotTotalsToGroups(e,t){if(!this.gos.get("pivotColumnGroupTotals"))return;const i=this.gos.get("pivotColumnGroupTotals")==="after",r=this.valueColsSvc?.columns,n=r?.map(o=>o.aggFunc);if(!(!n||n.length<1||!this.sameAggFuncs(n))&&r){const o=r[0];e.forEach(a=>{this.recursivelyAddPivotTotal(a,t,o,i)})}}recursivelyAddPivotTotal(e,t,i,r){const n=e;if(!n.children){const a=e;return a.colId?[a.colId]:null}let o=[];if(n.children.forEach(a=>{const l=this.recursivelyAddPivotTotal(a,t,i,r);l&&(o=o.concat(l))}),n.children.length>1){const l=this.getLocaleTextFunc()("pivotColumnGroupTotals","Total"),c=this.createColDef(i,l,e.pivotKeys,!0);c.pivotTotalColumnIds=o,c.aggFunc=i.aggFunc,c.columnGroupShow=this.gos.get("suppressExpandablePivotGroups")?"open":void 0;const u=e.children;r?u.push(c):u.unshift(c),t.push(c)}return o}addRowGroupTotals(e,t){if(!this.gos.get("pivotRowTotals"))return;const i=this.gos.get("pivotRowTotals")==="after",n=(this.valueColsSvc?.columns??[]).slice();i||n.reverse();const o=n.length>1||!this.gos.get("removePivotHeaderRowWhenSingleValueColumn");for(let a=0;a<n.length;a++){const l=n[a],c=this.colNames.getDisplayNameForColumn(l,"header"),u=this.createColDef(l,c,[]),d=[];for(let p=0;p<t.length;p++){const g=t[p];g.pivotValueColumn===l&&d.push(g.colId)}u.pivotTotalColumnIds=d,u.colId=PIVOT_ROW_TOTAL_PREFIX+u.colId;const h=o?{children:[u],pivotKeys:[],groupId:`${PIVOT_ROW_TOTAL_PREFIX}_pivotGroup_${l.colId}`}:u;t.push(u),i?e.push(h):e.unshift(h)}}recreateColDef(e){const{pivotValueColumn:t,headerName:i,pivotKeys:r,pivotTotalColumnIds:n,columnGroupShow:o,colId:a,field:l,valueGetter:c,aggFunc:u}=e;if(!t)return e;const d=this.createColDef(t,i,r,!!n);return d.columnGroupShow=o,d.colId=a,d.field=l,d.valueGetter=c,d.aggFunc=u,d.pivotTotalColumnIds=n,this.gos.get("processPivotResultColDef")?.(d),d}createColDef(e,t,i,r=!1){const n={};if(e){const o=e.colDef;Object.assign(n,o),n.hide=!1,e.isCalculatedCol&&(n.calculatedExpression=void 0,n.allowFormula=void 0)}return n.headerName=t,n.colId=this.generateColumnId(i||[],e&&!r?e.colId:""),n.field=n.colId,n.valueGetter=o=>o.data?.[o.colDef.field],n.pivotKeys=i,n.pivotValueColumn=e,n.filter===!0&&(n.filter="agNumberColumnFilter"),n}sameAggFuncs(e){if(e.length==1)return!0;for(let t=1;t<e.length;t++)if(e[t]!==e[0])return!1;return!0}merge(e,t){t.forEach((i,r)=>{const o=[...e.has(r)?e.get(r):[],...i];e.set(r,o)})}generateColumnGroupId(e){return`pivotGroup_${(this.pivotColsSvc?.columns??[]).map(i=>i.colId).join("-")}_${e.join("-")}`}generateColumnId(e,t){return`pivot_${(this.pivotColsSvc?.columns??[]).map(r=>r.colId).join("-")}_${e.join("-")}_${t}`}getPivotGroupComparator(e){const t=(0,import_ag_grid_community209._resolvePivotSort)(this.beans,e.pivotSort);if(t===null)return naturalOrderComparator;const i=e.colDef.pivotComparator,r=i?convertToHeaderNameComparator(i):headerNameComparator;return t==="desc"?(n,o)=>r(o,n):r}orderPivotResultColDefs(e){const t=this.pivotColsSvc?.columns;if(!t?.length)return e;const i=[];for(let r=0,n=t.length;r<n;++r)i.push(this.getPivotGroupComparator(t[r]));return orderColDefLevel(e,0,i)??e}createColDefsFromFields(e){const t=this.pivotColsSvc?.columns??[],i=t.map(a=>this.getPivotGroupComparator(a)),r=new Map;for(let a=0;a<e.length;a++){const c=e[a].split(this.fieldSeparator);let u=r;for(let d=0;d<c.length;d++){const h=c[d];let p=u.get(h);p||(p=new Map,u.set(h,p)),u=p}}const n=(a,l,c,u,d)=>{const h=[];for(const[m,v]of c){const C=n(`${a}${this.fieldSeparator}${m}`,m,v,u+1,[...d,m]);h.push(C)}const p=u+1;if(p<t.length&&h.sort(i[p]),h.length===0){const m=d.slice(0,-1),v=this.colModel.getNonPivotCol(l);if(v){const y=this.colNames.getDisplayNameForColumn(v,"header")??l,S=this.createColDef(v,y,void 0,!1);return S.colId=a,S.aggFunc=v.aggFunc,S.valueGetter=x=>x.data?.[a],S.pivotKeys=m,S}return{colId:a,headerName:l,pivotKeys:m,valueGetter:y=>y.data?.[a]}}return this.gos.get("removePivotHeaderRowWhenSingleValueColumn")&&h.length===1&&"colId"in h[0]?(h[0].headerName=l,h[0]):{openByDefault:this.pivotDefaultExpanded===-1||u<this.pivotDefaultExpanded,groupId:a,headerName:l,children:h}},o=[];for(const[a,l]of r){const c=n(a,a,l,0,[a]);o.push(c)}return t.length>0&&o.sort(i[0]),o}};function getPivotHeaderName(e,t){return t.refData?.[e]??e}var import_ag_stack139=require("ag-stack"),import_ag_grid_community210=require("ag-grid-community"),PivotResultColsService=class extends import_ag_grid_community210.BeanStub{constructor(){super(...arguments),this.beanName="pivotResultCols",this.pivotCols=null,this.pivotTree=[],this.pivotTreeDepth=0,this.dependentsByValueCol=null,this.pivotHasMarryChildren=!1,this.pivotGroupsById=new Map,this.pivotColsByKey=new Map,this.pivotAllGroups=[],this.savedPivot=null,this.suppliedColDefs=null}wireBeans(e){this.colModel=e.colModel,this.visibleCols=e.visibleCols}lookupPivotResultCol(e,t){const i=this.pivotCols;if(i==null)return null;const r=this.colModel.getNonPivotCol(t);for(let n=0,o=i.length;n<o;++n){const a=i[n];if(a.pivotValueColumn===r&&(0,import_ag_stack139._areEqual)(a.colDef.pivotKeys,e))return a}return null}getAggregationOrderedList(){const e=this.aggOrderedList;return e!==void 0?e:this.loadAggregationOrderedList()}buildAllCols(){const e=this.collectParkedPrimaries(),t=this.colModel.colsList;return e===null?t:t.concat(e)}buildColsInStateOrder(){const e=this.collectParkedPrimaries(),t=this.colModel.colsList;if(e===null)return t;for(let i=0,r=t.length;i<r;++i)e.push(t[i]);return e}collectParkedPrimaries(){const e=this.colModel.colDefList;let t=null;for(let i=0,r=e.length;i<r;++i){const n=e[i];n.inColsList||(t??(t=[]),t.push(n))}return t}loadAggregationOrderedList(){const e=this.pivotCols;if(!e||e.length===0)return this.aggOrderedList=null,null;let t=null,i=null;for(let n=0,o=e.length;n<o;++n){const a=e[n];a.colDef.pivotTotalColumnIds!=null?(i===null&&(i=[],t=e.slice(0,n)),i.push(a)):t!==null&&t.push(a)}const r=i===null?e:t.concat(i);return this.aggOrderedList=r,r}setPivotResultCols(e,t,i){if(this.aggOrderedList=void 0,!!this.colModel.ready){if(e)this.processPivotResultColDef(e),i?(this.suppliedColDefs=e,this.applyPivotResultColDefs(this.orderColDefs(e),t)):(this.suppliedColDefs=null,this.applyPivotResultColDefs(e,t));else if(this.pivotCols!=null)this.suppliedColDefs=null,this.clearPivotResultCols(t);else{this.suppliedColDefs=null;return}this.visibleCols.refresh(t,!1)}}resortPivotResultCols(e){const t=this.suppliedColDefs;t&&(this.aggOrderedList=void 0,this.applyPivotResultColDefs(this.orderColDefs(t),e),this.visibleCols.refresh(e,!1))}orderColDefs(e){return this.beans.pivotColDefSvc?.orderPivotResultColDefs(e)??e}destroy(){this.pivotCols&&(0,import_ag_grid_community210._destroyColumnTreeAll)(this.pivotCols,this.pivotAllGroups),this.pivotTree=[],this.pivotCols=null,this.pivotAllGroups=[],this.dependentsByValueCol=null;const e=this.savedPivot;e&&(this.savedPivot=null,(0,import_ag_grid_community210._destroyColumnTreeAll)(e.cols,e.groups)),super.destroy()}applyPivotResultColDefs(e,t){const i=this.beans,r=this.pivotCols,n=r?this.pivotTree:null,o=this.savedPivot,a=i.pivotColsSvc?.isStrictColumnOrder()??!1,l=n==null&&o!=null&&!a,c=n??o?.tree??null,u=n?r:o?.cols??null,d=n?this.pivotAllGroups:o?.groups??null,h=i.colModel.nextBuildToken(),p=(0,import_ag_grid_community210._buildColumnTree)(i,e,!1,this.pivotGroupsById,this.pivotColsByKey,i.colModel.colsById,t,!0,h,null);c&&c!==p.columnTree&&(0,import_ag_grid_community210._destroyColumnTreeUnused)(u??[],d??[],h),this.pivotCols=p.columns,this.pivotTree=p.columnTree,this.pivotTreeDepth=p.treeDepth,this.pivotHasMarryChildren=p.marryChildren,this.pivotGroupsById=p.groupsById,this.pivotColsByKey=p.colsByKey,this.pivotAllGroups=p.allGroups,this.savedPivot=null,this.dependentsByValueCol=null,this.colModel.refreshCols(!l,t)}clearPivotResultCols(e){this.savedPivot={tree:this.pivotTree,cols:this.pivotCols,groups:this.pivotAllGroups},this.pivotCols=null,this.pivotTree=[],this.pivotTreeDepth=0,this.pivotHasMarryChildren=!1,this.pivotAllGroups=[],this.dependentsByValueCol=null,this.colModel.refreshCols(!1,e)}recreateColDefsForSource(e,t){const i=this.pivotCols;if(i==null)return;let r=this.dependentsByValueCol;if(r===null){r=new Map;for(let a=0,l=i.length;a<l;++a){const c=i[a],u=c.pivotValueColumn;u!=null&&(0,import_ag_stack139._pushToMapArray)(r,u,c)}this.dependentsByValueCol=r}const n=r.get(e);if(n===void 0)return;const o=this.beans.pivotColDefSvc;if(o)for(let a=0,l=n.length;a<l;++a){const c=n[a],u=o.recreateColDef(c.colDef);c.setColDef(u,u,t)}}processPivotResultColDef(e){const t=this.gos.get("processPivotResultColDef"),i=this.gos.get("processPivotResultColGroupDef");(t||i)&&visitColDefs(e,t,i)}},visitColDefs=(e,t,i)=>{for(let r=0,n=e.length;r<n;++r){const o=e[r],a=o.children;a?(i?.(o),visitColDefs(a,t,i)):t?.(o)}},import_ag_stack140=require("ag-stack"),import_ag_grid_community211=require("ag-grid-community"),EXCEEDED_MAX_UNIQUE_VALUES="Exceeded maximum allowed pivot column count.",mapToObject=e=>{const t={};return e.forEach((i,r)=>t[r]=i instanceof Map?mapToObject(i):i),t},PivotStage=class extends import_ag_grid_community211.BeanStub{constructor(){super(...arguments),this.beanName="pivotStage",this.step="pivot",this.refreshProps=["removePivotHeaderRowWhenSingleValueColumn","pivotRowTotals","pivotColumnGroupTotals","suppressExpandablePivotGroups","enableStrictPivotColumnOrder"],this.uniqueValues=new Map,this.pivotOrderLastTime=[],this.lastTimeFailed=!1,this.maxUniqueValues=-1,this.currentUniqueCount=0}wireBeans(e){this.pivotResultCols=e.pivotResultCols,this.pivotColDefSvc=e.pivotColDefSvc}execute(e,t){return this.beans.colModel.isPivotActive()?this.executePivotOn(e,t):this.executePivotOff()}executePivotOff(){return this.aggregationColumnsHashLastTime=null,this.pivotOrderLastTime=[],this.uniqueValues=new Map,this.pivotResultCols.pivotCols?(this.pivotResultCols.setPivotResultCols(null,"rowModelUpdated"),!0):!1}executePivotOn(e,t){const{valueColsSvc:i,gos:r,rowGroupColsSvc:n,pivotColsSvc:o}=this.beans,a=i?.columns.length??1,l=r.get("pivotMaxGeneratedColumns");this.maxUniqueValues=l===-1?-1:l/a;let c;try{c=this.bucketUpRowNodes(e)}catch(w){if(w.message===EXCEEDED_MAX_UNIQUE_VALUES)return this.pivotResultCols.setPivotResultCols([],"rowModelUpdated"),this.eventSvc.dispatchEvent({type:"pivotMaxColumnsExceeded",message:w.message}),this.lastTimeFailed=!0,!1;throw w}const u=this.setUniqueValues(c),d=i?.columns??[],h=d.map(w=>`${w.getId()}-${w.colDef.headerName}`).join("#"),p=d.map(w=>w.aggFunc?.toString()).join("#"),g=this.aggregationColumnsHashLastTime!==h,f=this.aggregationFuncsHashLastTime!==p;this.aggregationColumnsHashLastTime=h,this.aggregationFuncsHashLastTime=p;const m=(n?.columns??[]).map(w=>w.getId()).join("#"),v=m!==this.groupColumnsHashLastTime;this.groupColumnsHashLastTime=m;const C=o?.columns??[],S=o?.isStrictColumnOrder()??!1?computePivotOrder(this.uniqueValues,C,0,(0,import_ag_grid_community211._defaultPivotSort)(this.beans)):[],x=!(0,import_ag_stack140._areEqual)(S,this.pivotOrderLastTime);this.pivotOrderLastTime=S;const b=this.refreshProps.some(w=>t?.has(w));if(this.lastTimeFailed||u||g||v||f||x||b){const w=this.pivotColDefSvc.createPivotColumnDefs(this.uniqueValues);return this.pivotResultCols.setPivotResultCols(w,"rowModelUpdated"),this.lastTimeFailed=!1,!0}return this.lastTimeFailed=!1,!1}setUniqueValues(e){return(0,import_ag_stack140._jsonEquals)(mapToObject(this.uniqueValues),mapToObject(e))?!1:(this.uniqueValues=e,!0)}bucketUpRowNodes(e){const t=this.beans.rowModel;this.currentUniqueCount=0;const i=new Map;(0,import_ag_grid_community211._forEachChangedGroupDepthFirst)(t.rootNode,t.hierarchical,e,n=>{n.leafGroup&&(n.childrenMapped=null)});const r=n=>{if(n.leafGroup)this.bucketRowNode(n,i);else{const o=n.childrenAfterFilter;if(o)for(let a=0,l=o.length;a<l;++a)r(o[a])}};return r(t.rootNode),i}bucketRowNode(e,t){const i=this.beans.pivotColsSvc?.columns;i?.length===0?e.childrenMapped=null:e.childrenMapped=mapToObject(this.bucketChildren(e.childrenAfterFilter,i,0,t)),e.sibling&&(e.sibling.childrenMapped=e.childrenMapped)}bucketChildren(e,t=[],i,r){const n=new Map,o=t[i],a=this.maxUniqueValues!==-1;for(let c=0,u=e.length;c<u;++c){const d=e[c];let h=this.beans.valueSvc.getKeyForNode(o,d);if((0,import_ag_stack140._missing)(h)&&(h=""),!r.get(h)){this.currentUniqueCount+=1,r.set(h,new Map);const p=this.currentUniqueCount>this.maxUniqueValues;if(a&&p)throw new Error(EXCEEDED_MAX_UNIQUE_VALUES)}n.has(h)||n.set(h,[]),n.get(h).push(d)}if(i===t.length-1)return n;const l=new Map;for(const c of n.keys())l.set(c,this.bucketChildren(n.get(c),t,i+1,r.get(c)));return l}};function computePivotOrder(e,t,i,r){const n=t[i],o=[...e.keys()],a=n?.pivotSort,l=a===void 0?r:a;if(l!==null){const u=n?.colDef.pivotComparator;u?o.sort(u):o.sort(),l==="desc"&&o.reverse()}if(i===t.length-1)return o;const c=[];for(let u=0;u<o.length;u++){const d=o[u];c.push(d);const h=e.get(d);if(h instanceof Map){const p=computePivotOrder(h,t,i+1,r);for(let g=0;g<p.length;g++)c.push(p[g])}}return c}var SharedPivotModule={moduleName:"SharedPivot",version:VERSION,beans:[PivotResultColsService,PivotColDefService,PivotColsSvc],apiFunctions:{isPivotMode,getPivotResultColumn,setValueColumns,getValueColumns,removeValueColumns,addValueColumns,setPivotColumns,removePivotColumns,addPivotColumns,getPivotColumns,setPivotResultColumns,getPivotResultColumns},dependsOn:[SharedRowGroupingModule,import_ag_grid_community212._ColumnGroupModule]},PivotModule={moduleName:"Pivot",version:VERSION,rowModels:["clientSide"],beans:[PivotStage],dependsOn:[SharedPivotModule,RowGroupingModule,CsrmHierarchyModule]},import_ag_stack141=require("ag-stack"),import_ag_grid_community213=require("ag-grid-community"),fieldGetter=e=>{const t=e.split(".");if(t.includes("__proto__"))return()=>{};const i=t.length;return i<2?r=>r?.[e]:r=>{let n=0;do if(r=r?.[t[n++]],n===i)return r;while(typeof r=="object")}},FLAG_CHILDREN_CHANGED=2147483648,FLAG_CHANGED=1073741824,FLAG_MARKED_FILLER=536870912,MASK_CHILDREN_LEN=268435455,PATH_KEY_SEPARATOR=String.fromCodePoint(31,41150,8291),PATH_KEY_SEPARATOR_LEN=3,TreeGroupStrategy=class extends import_ag_grid_community213.BeanStub{constructor(){super(...arguments),this.nestedDataGetter=null,this.parentIdGetter=null,this.nonLeafsById=null,this.fullReload=!1}postConstruct(){this.onPropChange(null)}onPropChange(e){const t=this.gos;if(!e||e.has("treeDataParentIdField")){const i=t.get("treeDataParentIdField"),r=i?fieldGetter(i):null;this.fullReload||(this.fullReload=this.parentIdGetter!==r),this.parentIdGetter=r,r&&(this.nestedDataGetter=null)}if(!e||e.has("treeDataChildrenField")){const i=this.parentIdGetter?"":t.get("treeDataChildrenField"),r=i?fieldGetter(i):null;this.fullReload||(this.fullReload=this.nestedDataGetter!==r),this.nestedDataGetter=r}}destroy(){this.reset(),super.destroy()}reset(){this.clearNonLeafs(),this.fullReload=!0}clearNonLeafs(){const e=this.nonLeafsById;if(e){for(const t of e.values())t._destroy(null);e.clear(),this.nonLeafsById=null}}getNonLeaf(e){return this.nonLeafsById?.get(e)}loadGroupData(e){const t=e.key;if(t==null)return e._groupData=null,null;const i={};e._groupData=i;const r=this.beans.showRowGroupCols?.columns;if(r)for(let n=0,o=r.length;n<o;++n)i[r[n].colId]=t;return i}execute(e,t){this.fullReload&&this.reset();const{changedRowNodes:i,changedPath:r}=t,n=this.fullReload||!i&&!r,o=!!i&&this.flagUpdatedNodes(i);(n||o)&&(this.fullReload=!1,this.parentIdGetter?this.loadSelfRef(e,n):this.nestedDataGetter?this.loadNested(e,i,n):this.loadDataPath(e,n));const a=this.initRowsParents(e);this.destroyFillerRows(!!t.animate),this.initRowsChildrenSize(e);let l=this.preprocessRows(e);const c=a||(l&FLAG_CHILDREN_CHANGED)!==0;l&=~FLAG_CHILDREN_CHANGED;const u=this.traverseRoot(e,r);return l>0&&l!==u&&(this.handleCycles(e),this.traverseRoot(e,r)),e.treeNodeFlags=0,c}flagUpdatedNodes(e){const{adds:t,updates:i,removals:r}=e;let n=r.length>0;if(t.size>0){n=!0;for(const o of t)o.treeNodeFlags|=FLAG_CHANGED}if(i.size>0){n=!0;for(const o of i)o.treeNodeFlags|=FLAG_CHANGED}return n}initRowsParents(e){const t=e._leafs,i=t.length;let r=!1;for(let n=0;n<i;++n)this.initRowParent(t[n])&&(r=!0);return r}initRowParent(e){let t=!1;for(;;){const i=e.parent,r=e.treeParent;if(r===null){i&&(t=!0,this.hideRow(e));break}let n=r.treeNodeFlags+1;const o=i!==r;if(o&&(t=!0,n|=FLAG_CHANGED,e.parent=r),o&&i&&(i.destroyed&&maybeExpandFromRemovedParent(r,i),i.treeNodeFlags|=FLAG_CHANGED),r.sourceRowIndex>=0||r.treeNodeFlags&FLAG_MARKED_FILLER||r.treeParent===null){r.treeNodeFlags=n;break}r.treeNodeFlags=n|FLAG_MARKED_FILLER|e.treeNodeFlags&FLAG_CHANGED,e=r}return t}destroyFillerRows(e){const t=this.nonLeafsById;if(t){for(const i of t.values())(i.treeParent===null||(i.treeNodeFlags&MASK_CHILDREN_LEN)===0)&&(t.delete(i.id),i._destroy(e),this.hideRow(i));t.size===0&&(this.nonLeafsById=null)}}initRowsChildrenSize(e){this.initRowChildrenSize(e);const t=e._leafs,i=t.length;for(let n=0;n<i;++n)this.initRowChildrenSize(t[n]);const r=this.nonLeafsById;if(r!==null)for(const n of r.values())this.initRowChildrenSize(n)}initRowChildrenSize(e){let{childrenAfterGroup:t,_leafs:i,treeNodeFlags:r}=e;const n=t?.length,o=r&MASK_CHILDREN_LEN;if(e.treeNodeFlags=r&~MASK_CHILDREN_LEN|((n||0)===o?0:FLAG_CHILDREN_CHANGED),o===0&&e.level>=0){if(t!==null){e.childrenAfterGroup=null,e.childrenAfterFilter=null,e.childrenAfterAggFilter=null,e.childrenAfterSort=null;const a=e.sibling;a&&(a.childrenAfterGroup=null,a.childrenAfterFilter=null,a.childrenAfterAggFilter=null,a.childrenAfterSort=null)}}else if(n!==o||t===i)if(!t||t===i){e.childrenAfterGroup=t=new Array(o);const a=e.sibling;a&&(a.childrenAfterGroup=t)}else t.length=o}preprocessRows(e){const t=e._leafs,i=t.length;let r=0,n=!1;for(let o=0;o<i;++o){let a=t[o];for(;;){const l=a.treeParent;if(l===null)break;++r;let c=l.treeNodeFlags;const u=l.childrenAfterGroup,d=c&MASK_CHILDREN_LEN;if(c=c&~MASK_CHILDREN_LEN|d+1,(c&FLAG_CHILDREN_CHANGED||u[d]!==a)&&(c|=FLAG_CHILDREN_CHANGED,u[d]=a,n=!0),l.treeNodeFlags=c,l.data||(l.treeNodeFlags&FLAG_MARKED_FILLER)===0||l.treeParent===null)break;l.treeNodeFlags=c&~FLAG_MARKED_FILLER|a.treeNodeFlags&FLAG_CHANGED,a=l}}return r|(n?FLAG_CHILDREN_CHANGED:0)}traverseRoot(e,t){let i=0;const r=e.childrenAfterGroup;for(let n=0,o=r.length;n<o;++n)i+=this.traverse(r[n],0,!1,t);return i&~FLAG_CHILDREN_CHANGED}traverse(e,t,i,r){const n=e.childrenAfterGroup,o=n?.length??0;let a=e.treeNodeFlags;e.treeNodeFlags=0,e.level=t,e.group!==!!o?(setRowNodeGroup(e,this.beans,!!o),a|=FLAG_CHANGED):e.hasChildren()!==!!o&&(e.updateHasChildren(),a|=FLAG_CHANGED);const l=(a&(FLAG_CHANGED|FLAG_CHILDREN_CHANGED))!==0;o!==0||e.master?e._expanded??(e._expanded=null):e._expanded=void 0,i&&e.rowIndex!==null&&e.clearRowTopAndRowIndex(),i||(i=!e.expanded),++t,a&=FLAG_CHILDREN_CHANGED;for(let u=0;u<o;++u){const d=n[u],h=this.traverse(d,t,i,r);a=a+(h&~FLAG_CHILDREN_CHANGED)|h&FLAG_CHILDREN_CHANGED}return l&&(a|=FLAG_CHILDREN_CHANGED),a&FLAG_CHILDREN_CHANGED&&(o>0&&r?.addRow(e),e._leafs=void 0),a+1}handleCycles(e){const t=new Set,i=o=>{if(t.has(o))return!1;t.add(o);for(const a of o.childrenAfterGroup??[])i(a);return!0};i(e);const r=e.childrenAfterGroup;r.length=0;const n=e._leafs;for(let o=0,a=n.length;o<a;++o){const l=n[o],c=l.treeParent;if(c&&i(l)){c.treeNodeFlags|=FLAG_CHILDREN_CHANGED|FLAG_CHANGED,l.parent=e;const u=c.childrenAfterGroup;(0,import_ag_stack141._removeFromArray)(u,l),u.length===0&&(c.childrenAfterGroup=null),r.push(l),this.warn(270,{id:l.id,parentId:c?.id??""})}else c===e&&r.push(l)}}loadNested(e,t,i){if(!i&&t){for(const n of t.adds)n.key=n.id;return}const r=e._leafs;for(let n=0,o=r.length;n<o;++n){const a=r[n],l=a.id;a.key!==l&&updateNodeKey(a,l)}}loadSelfRef(e,t){const i=e._leafs,r=i.length;if(!this.gos.get("getRowId")){for(let l=0;l<r;l++)i[l].treeParent=null;return}const o=this.beans.rowModel,a=this.parentIdGetter;for(let l=0;l<r;l++){const c=i[l];if(t||c.treeNodeFlags&FLAG_CHANGED||c.treeParent?.destroyed){let u;const d=a?.(c.data);d!=null&&(u=o.getRowNode(d),u||this.warn(271,{id:c.id,parentId:d})),c.treeParent=u??e;const h=c.id;c.key!==h&&updateNodeKey(c,h)}else c.treeParent??(c.treeParent=e)}}loadFlattened(e){const t=e._leafs;for(let i=0,r=t.length;i<r;++i){const n=t[i];n.treeParent=e;const o=n.id;n.key!==o&&updateNodeKey(n,o)}}loadDataPath(e,t){const i=this.gos.get("getDataPath");if(!i){this.loadFlattened(e);return}const r=new Map,n=new Map;let o;t||(o=this.loadExistingDataPath(e,r,n));const a=e._leafs;for(let l=0,c=a.length;l<c;++l){const u=a[l];if(!t&&u.treeParent!==null&&(u.treeNodeFlags&FLAG_CHANGED)===0)continue;const d=i(u.data),h=d?.length;if(!h){this.warn(185,{data:u.data});continue}const p=d[h-1];u.key!==p&&updateNodeKey(u,p);const g=d.join(PATH_KEY_SEPARATOR);n.set(u,g);const f=r.get(g);f===void 0?r.set(g,u):f!==u&&(o=this.duplicatedPath(r,o,f,u,g))}o&&this.processDuplicatePaths(o,n),this.buildFromPaths(e,r,n)}loadExistingDataPath(e,t,i){let r;const n=e._leafs;for(let o=0,a=n.length;o<a;++o){const l=n[o],c=l.treeParent;if(c===null||(l.treeNodeFlags&FLAG_CHANGED)!==0)continue;let u=l.key,d=c;for(;d&&d!==e&&d!==l;){u=PATH_KEY_SEPARATOR+u;const h=i.get(d);if(h!==void 0){u=h+u;break}u=d.key+u,d=d.treeParent}if(d!==l){i.set(l,u);const h=t.get(u);h===void 0?t.set(u,l):h!==l&&(r=this.duplicatedPath(t,r,h,l,u))}}return r}duplicatedPath(e,t,i,r,n){r.sourceRowIndex<i.sourceRowIndex&&e.set(n,r);const o=(t??(t=new Map)).get(n);return o===void 0?t.set(n,[i,r]):o.push(r),t}buildFromPaths(e,t,i){const r=new Array(48),n=e._leafs;for(let o=0,a=n.length;o<a;++o){const l=n[o],c=i.get(l);if(c===void 0)continue;const u=this.splitPathKey(r,c);let d=0,h=e;for(let p=u-1;p>=0;--p){const g=t.get(c.slice(0,r[p]));if(g){h=g,d=p+1;break}}d<u&&(h=this.buildMissingFillers(t,c,r,u,d,h)),l.treeParent=h}}splitPathKey(e,t){let i=0,r=0;const n=t.length;for(;r<n;){const o=t.indexOf(PATH_KEY_SEPARATOR,r);if(o===-1)break;e[i++]=o,r=o+PATH_KEY_SEPARATOR_LEN}return i}buildMissingFillers(e,t,i,r,n,o){let a=0,l="row-group";o.sourceRowIndex<0&&o.treeParent&&(a=n,l=o.id);do{const c=n===0?0:i[n-1]+PATH_KEY_SEPARATOR_LEN,u=i[n],d=t.slice(0,u);let h=e.get(d);if(h===void 0){const p=c===0?d:t.slice(c,u);l=this.makeFillerIdBase(t,i,n,l,a)+p,h=this.getOrCreateFiller(p,l),e.set(d,h),a=n+1}else h.sourceRowIndex<0&&(l=h.id,a=n+1);h.treeParent=o,o=h,++n}while(n<r);return o}processDuplicatePaths(e,t){for(const i of e.values()){i.sort(compareSourceRowIndex);const r=i.length,n=new Array(r-1);for(let a=1;a<r;++a){const l=i[a];t.delete(l),l.treeParent=null,n[a-1]=l.data}const o=i[0];this.warn(186,{rowId:o.id,rowData:o.data,duplicateRowsData:n})}}getOrCreateFiller(e,t){const i=this.nonLeafsById??(this.nonLeafsById=new Map);let r=i.get(t);return r===void 0&&(r=new import_ag_grid_community213.RowNode(this.beans),r.id=t,r.key=e,r.group=!0,r.leafGroup=!1,r.rowGroupIndex=null,i.set(t,r)),r}makeFillerIdBase(e,t,i,r,n){for(;n<i;){const o=n>0?t[n-1]+PATH_KEY_SEPARATOR_LEN:0,a=t[n];r+="-"+n+"-"+e.slice(o,a),++n}return r+"-"+i+"-"}hideRow(e){e.isSelected()&&this.beans.selectionSvc?.removeFromSelection?.(e,"rowDataChanged"),e.parent=null,e.group=!1,e.treeParent=null,e.treeNodeFlags=0,e.childrenAfterGroup=null,e.childrenAfterFilter=null,e.childrenAfterAggFilter=null,e.childrenAfterSort=null,e._leafs=void 0,e._groupData=null,e.aggData=null;const t=e.sibling;t&&(t.childrenAfterGroup=null,t.childrenAfterFilter=null,t.childrenAfterAggFilter=null,t.childrenAfterSort=null),e.updateHasChildren(),e.rowIndex!==null&&e.clearRowTopAndRowIndex()}onShowRowGroupColsSetChanged(){const e=this.beans.rowModel.rootNode._leafs;if(!e)return;for(let i=0,r=e.length;i<r;++i)e[i]._groupData=void 0;const t=this.nonLeafsById;if(t)for(const i of t.values())i._groupData=void 0}},compareSourceRowIndex=(e,t)=>e.sourceRowIndex-t.sourceRowIndex,maybeExpandFromRemovedParent=(e,t)=>{t._expanded!==void 0&&e._expanded===void 0&&e.treeParent!==null&&e.sourceRowIndex<0&&(e._expanded=t._expanded)},updateNodeKey=(e,t)=>{const i=e._groupData!==void 0;e.key=t,e.groupValue=t;const r=e.sibling;r&&(r.key=t),i&&(e._groupData=void 0,e.setData(e.data))},SharedTreeDataModule={moduleName:"SharedTreeData",version:VERSION,dependsOn:[EnterpriseCoreModule,SharedAggregationModule,GroupColumnModule,ChangedPathModule,StickyRowModule]},TreeDataModule={moduleName:"TreeData",version:VERSION,dynamicBeans:{treeGroupStrategy:TreeGroupStrategy},rowModels:["clientSide"],dependsOn:[SharedTreeDataModule,AggregationModule,CsrmHierarchyModule,CsrmGroupStagesModule,GroupEditModule]},import_ag_stack142=require("ag-stack"),import_ag_grid_community214=require("ag-grid-community"),GROUP_MISSING_KEY_ID="ag-Grid-MissingKey",BlockUtils=class extends import_ag_grid_community214.BeanStub{constructor(){super(...arguments),this.beanName="ssrmBlockUtils"}wireBeans(e){this.valueSvc=e.valueSvc,this.showRowGroupCols=e.showRowGroupCols,this.nodeManager=e.ssrmNodeManager,this.expansionSvc=e.expansionSvc,this.serverSideRowModel=e.rowModel,this.storeFactory=e.ssrmStoreFactory}createRowNode(e){const t=new import_ag_grid_community214.RowNode(this.beans),i=e.rowHeight!=null?e.rowHeight:(0,import_ag_grid_community214._getRowHeightAsNumber)(this.beans);return t.setRowHeight(i),t.group=e.group,t.leafGroup=e.leafGroup,t.level=e.level,t.uiLevel=e.level,t.parent=e.parent,t.stub=!0,t.__needsRefreshWhenVisible=!1,t.group&&(t.expanded=!1,t.field=e.field,t.rowGroupColumn=e.rowGroupColumn,t.rowGroupIndex=e.level),t}destroyRowNode(e,t=!1){e.childStore&&!t&&(this.destroyBean(e.childStore),e.childStore=null);const i=e.sibling;i&&!e.footer&&this.destroyRowNode(i,!1),e._destroy(!0),e.id!=null&&this.nodeManager.removeNode(e)}setTreeGroupInfo(e){e.updateHasChildren();const t=this.gos.get("getServerSideGroupKey"),i=e.hasChildren();i&&t!=null&&(e.key=t(e.data)),!i&&e.childStore!=null&&(this.destroyBean(e.childStore),e.childStore=null,e.master||(e.expanded=!1))}setRowGroupInfo(e){if(e.key=this.valueSvc.getValueFromData(e.rowGroupColumn,e),(e.key===null||e.key===void 0)&&(0,import_ag_stack142._doOnce)(()=>{this.warn(190,{rowGroupId:e.rowGroupColumn?.getId(),data:e.data})},"SSBlock-BadKey"),this.gos.get("groupAllowUnbalanced")&&e.key===""){const n=this.serverSideRowModel.getParams();e.childStore=this.createBean(this.storeFactory.createStore(n,e))}if((0,import_ag_grid_community214._getGroupTotalRowCallback)(this.beans.gos)({node:e})){const n=_createRowNodeFooter(e,this.beans);n.uiLevel=e.uiLevel+1}}setMasterDetailInfo(e){const t=this.gos.get("isRowMaster");t!=null?e.master=t(e.data):e.master=!0}updateDataIntoRowNode(e,t){e.updateData(t),this.gos.get("treeData")?(this.setTreeGroupInfo(e),this.setChildCountIntoRowNode(e),this.updateRowFooter(e)):e.group?(this.setChildCountIntoRowNode(e),this.updateRowFooter(e)):this.gos.get("masterDetail")}updateRowFooter(e){if(!e.footer){if(e.group&&(0,import_ag_grid_community214._getGroupTotalRowCallback)(this.beans.gos)({node:e})&&!e.sibling){_createRowNodeFooter(e,this.beans);return}e.sibling&&_destroyRowNodeFooter(e)}}setDataIntoRowNode(e,t,i,r){e.stub=!1;const n=this.gos.get("treeData");e.setDataAndId(t,i);const o=e.group;(n||!o)&&this.gos.get("masterDetail")&&this.setMasterDetailInfo(e),n?this.setTreeGroupInfo(e):o&&this.setRowGroupInfo(e),(n||o)&&(this.setGroupDataIntoRowNode(e),this.setChildCountIntoRowNode(e)),this.beans.selectionSvc?.updateRowSelectable(e),(0,import_ag_stack142._exists)(t)&&(e.setRowHeight((0,import_ag_grid_community214._getRowHeightForNode)(this.beans,e,!1,r).height),e.sibling?.setRowHeight((0,import_ag_grid_community214._getRowHeightForNode)(this.beans,e.sibling,!1,r).height))}setChildCountIntoRowNode(e){const t=this.gos.get("getChildCount");t&&e.setAllChildrenCount(t(e.data))}setGroupDataIntoRowNode(e){const t=e.key;e.groupValue=t,e.sibling&&(e.sibling.groupValue=t);const i=this.showRowGroupCols?.columns;if(!i)return;const r=this.gos.get("treeData");for(const n of i){let o=e._groupData;if(o||(o={},e._groupData=o),r)o[n.colId]=t;else if(n.isRowGroupDisplayed(e.rowGroupColumn.getId())){const a=this.valueSvc.getValueFromData(e.rowGroupColumn,e);o[n.colId]=a}}}clearDisplayIndex(e){e.clearRowTopAndRowIndex(),e.hasChildren()&&e.childStore&&e.childStore?.clearDisplayIndexes(),e.master&&e.detailNode&&e.detailNode?.clearRowTopAndRowIndex()}setDisplayIndex(e,t,i,r){const n=this.gos.get("groupAllowUnbalanced")&&e.group&&e.key==="";if(this.gos.get("groupHideOpenParents")&&e.group&&e.expanded||n?(e.setRowIndex(null),e.setRowTop(null)):(e.setRowIndex(t.value++),e.setRowTop(i.value),i.value+=e.rowHeight),e.setUiLevel(r),e.footer)return;if(e.master&&(e.expanded&&e.detailNode?(e.detailNode.setRowIndex(t.value++),e.detailNode.setRowTop(i.value),i.value+=e.detailNode.rowHeight):e.detailNode&&e.detailNode.clearRowTopAndRowIndex()),e.hasChildren()&&!!e.childStore){const c=e.childStore;e.expanded||n?c.setDisplayIndexes(t,i,n?r:r+1):c.clearDisplayIndexes()}}extractRowBounds(e,t){const i=r=>({rowHeight:r.rowHeight,rowTop:r.rowTop});if(e.rowIndex===t)return i(e);if(e.hasChildren()&&e.expanded&&e.childStore){const r=e.childStore;if(r.isDisplayIndexInStore(t))return r.getRowBounds(t)}else if(e.master&&e.expanded&&e.detailNode&&e.detailNode.rowIndex===t)return i(e.detailNode)}isPixelInNodeRange(e,t){return!(0,import_ag_stack142._exists)(e.rowTop)||!(0,import_ag_stack142._exists)(e.rowHeight)?!1:t>=e.rowTop&&t<e.rowTop+e.rowHeight}getIndexAtPixel(e,t){if(this.isPixelInNodeRange(e,t))return e.rowIndex;const i=e.master&&e.expanded,r=e.detailNode;if(i&&r&&this.isPixelInNodeRange(r,t))return r.rowIndex;if(e.hasChildren()&&e.expanded&&e.childStore){const n=e.childStore;if(n.isPixelInRange(t))return n.getRowIndexAtPixel(t)}return null}createNodeIdPrefix(e){const t=[];let i=e;for(;i&&i.level>=0;)i.key===""?t.push(GROUP_MISSING_KEY_ID):t.push(i.key),i=i.parent;if(t.length>0)return t.reverse().join("-")}checkOpenByDefault(e){const t=!!this.expansionSvc?.isNodeExpanded(e),i=e._expanded;!!i!==t?e.setExpanded(t):i===void 0&&(e._expanded=t)}},import_ag_grid_community215=require("ag-grid-community"),ExpandListener=class extends import_ag_grid_community215.BeanStub{constructor(){super(...arguments),this.beanName="ssrmExpandListener"}postConstruct(){(0,import_ag_grid_community215._isServerSideRowModel)(this.gos)&&this.addManagedEventListeners({rowExpansionStateChanged:this.onRowExpandStateChanged.bind(this)})}onRowExpandStateChanged(){const e=this.beans,t=e.expansionSvc;e.rowModel.forEachNode(i=>{t.updateExpandedState(i)}),this.eventSvc.dispatchEvent({type:"storeUpdated"})}},import_ag_stack143=require("ag-stack"),import_ag_grid_community216=require("ag-grid-community"),FilterListener=class extends import_ag_grid_community216.BeanStub{constructor(){super(...arguments),this.beanName="ssrmFilterListener"}wireBeans(e){this.serverSideRowModel=e.rowModel,this.filterManager=e.filterManager,this.listenerUtils=e.ssrmListenerUtils}postConstruct(){(0,import_ag_grid_community216._isServerSideRowModel)(this.gos)&&this.addManagedEventListeners({advancedFilterEnabledChanged:()=>this.onFilterChanged(!0),filterChanged:()=>this.onFilterChanged()})}onFilterChanged(e){const t=this.serverSideRowModel.getParams();if(!t)return;const i=t.filterModel;let r,n;if(this.filterManager?.isAdvFilterEnabled()){r=this.filterManager.getAdvFilterModel();const c=e?Object.keys(i??{}):this.getAdvancedFilterColumns(i),u=this.getAdvancedFilterColumns(r);for(const d of c)u.add(d);n=Array.from(u)}else if(r=this.filterManager?.getFilterModel()??{},e){const c=this.getAdvancedFilterColumns(i);for(const u of Object.keys(r))c.add(u);n=Array.from(c)}else n=this.findChangedColumns(i,r);const o=this.listenerUtils.isSortingWithValueColumn(n),a=this.listenerUtils.isSortingWithSecondaryColumn(n),l={valueColChanged:o,secondaryColChanged:a,changedColumns:n};this.serverSideRowModel.refreshAfterFilter(r,l)}findChangedColumns(e,t){const i={};for(const n of Object.keys(e))i[n]=!0;for(const n of Object.keys(t))i[n]=!0;const r=[];for(const n of Object.keys(i))!(0,import_ag_stack143._jsonEquals)(e[n],t[n])&&r.push(n);return r}getAdvancedFilterColumns(e){const t=new Set;if(!e)return t;const i=r=>{if(r.filterType==="join")for(const n of r.conditions)i(n);else t.add(r.colId)};return i(e),t}},import_ag_grid_community217=require("ag-grid-community"),ListenerUtils=class extends import_ag_grid_community217.BeanStub{constructor(){super(...arguments),this.beanName="ssrmListenerUtils"}wireBeans(e){this.pivotResultCols=e.pivotResultCols,this.valueColsSvc=e.valueColsSvc}isSortingWithValueColumn(e){const t=(this.valueColsSvc?.columns??[]).map(i=>i.colId);for(let i=0;i<e.length;i++)if(t.indexOf(e[i])>-1)return!0;return!1}isSortingWithSecondaryColumn(e){const t=this.pivotResultCols?.pivotCols;if(!t)return!1;const i=t.map(r=>r.colId);for(let r=0;r<e.length;r++)if(i.indexOf(e[r])>-1)return!0;return!1}},import_ag_grid_community218=require("ag-grid-community"),SortListener=class extends import_ag_grid_community218.BeanStub{constructor(){super(...arguments),this.beanName="ssrmSortSvc"}wireBeans(e){this.sortSvc=e.sortSvc,this.serverSideRowModel=e.rowModel,this.listenerUtils=e.ssrmListenerUtils}postConstruct(){(0,import_ag_grid_community218._isServerSideRowModel)(this.gos)&&this.addManagedEventListeners({sortChanged:this.onSortChanged.bind(this)})}onSortChanged(){const e=this.serverSideRowModel.getParams();if(!e)return;const t=(0,import_ag_grid_community218._getSortModel)(this.sortSvc),i=e.sortModel,r=this.findChangedColumnsInSort(t,i),n=this.listenerUtils.isSortingWithValueColumn(r),o=this.listenerUtils.isSortingWithSecondaryColumn(r),a={valueColChanged:n,secondaryColChanged:o,changedColumns:r};this.serverSideRowModel.refreshAfterSort(t,a)}findChangedColumnsInSort(e,t){let i=[];for(const o of[e,t])if(o){const a=o.map(l=>l.colId);i=i.concat(a)}const r=(o,a)=>{const l=o?o.sort:null,c=a?a.sort:null;return l!==c},n=(o,a)=>{const l=o?t.indexOf(o):-1,c=a?e.indexOf(a):-1;return l!==c};return i.filter(o=>{const a=t.find(c=>c.colId===o),l=e.find(c=>c.colId===o);return r(a,l)||n(a,l)})}},import_ag_grid_community219=require("ag-grid-community"),NodeManager=class extends import_ag_grid_community219.BeanStub{constructor(){super(...arguments),this.beanName="ssrmNodeManager",this.rowNodes=new Map}addRowNode(e){const t=e.id;this.rowNodes.has(t)&&this.warn(187,{rowId:t,firstData:this.rowNodes.get(t).data,secondData:e.data}),this.rowNodes.set(t,e)}removeNode(e){const t=e.id;this.rowNodes.delete(t)}destroy(){this.clear(),super.destroy()}clear(){this.rowNodes.clear(),super.destroy()}},import_ag_stack144=require("ag-stack"),import_ag_grid_community220=require("ag-grid-community"),ServerSideRowModel=class extends import_ag_grid_community220.BeanStub{constructor(){super(...arguments),this.beanName="rowModel",this.hierarchical=!0,this.started=!1,this.managingPivotResultColumns=!1,this.onRowHeightChanged_debounced=(0,import_ag_stack144._debounce)(this,this.onRowHeightChanged.bind(this),100)}wireBeans(e){this.colModel=e.colModel,this.colNames=e.colNames,this.pivotResultCols=e.pivotResultCols,this.rowGroupColsSvc=e.rowGroupColsSvc,this.pivotColsSvc=e.pivotColsSvc,this.valueColsSvc=e.valueColsSvc,this.filterManager=e.filterManager,this.sortSvc=e.sortSvc,this.rowRenderer=e.rowRenderer,this.nodeManager=e.ssrmNodeManager,this.storeFactory=e.ssrmStoreFactory,this.pivotColDefSvc=e.pivotColDefSvc}ensureRowHeightsValid(){return!1}start(){this.started=!0,this.updateDatasource()}destroyDatasource(){this.datasource&&(this.datasource.destroy&&this.datasource.destroy(),this.rowRenderer.datasourceChanged(),this.datasource=void 0)}postConstruct(){const e=this.resetRootStore.bind(this);this.addManagedEventListeners({newColumnsLoaded:this.onColumnEverything.bind(this),storeUpdated:this.onStoreUpdated.bind(this),columnValueChanged:e,columnPivotChanged:this.onPivotChanged.bind(this),columnRowGroupChanged:e,columnPivotModeChanged:e}),(0,import_ag_grid_community220._addRowHeightChangedListener)(this,()=>this.onRowHeightStyleChanged()),this.addManagedPropertyListeners(["masterDetail","treeData","removePivotHeaderRowWhenSingleValueColumn","cacheBlockSize"],e),this.addManagedPropertyListeners(["groupAllowUnbalanced","groupTotalRow","grandTotalRow"],()=>this.onStoreUpdated()),this.addManagedPropertyListener("rowHeight",()=>this.resetRowHeights()),this.verifyProps(),this.addManagedPropertyListener("serverSideDatasource",()=>this.updateDatasource())}updateDatasource(){const e=this.gos.get("serverSideDatasource");e&&this.setDatasource(e)}verifyProps(){(0,import_ag_grid_community220._isRowSelection)(this.gos)&&!this.gos.exists("getRowId")&&this.warn(188,{feature:"selection"})}setDatasource(e){this.started&&(this.destroyDatasource(),this.datasource=e,this.resetRootStore())}applyRowData(e,t,i){const r=this.getRootStore();if(!r)return;const n=r.getChildStore(i);n&&n.applyRowData(e,t,e.rowData.length)}isLastRowIndexKnown(){const e=this.getRootStore();return e?e.isLastRowIndexKnown():!1}onColumnEverything(){if(!this.storeParams){this.resetRootStore();return}const e=this.columnsToValueObjects(this.rowGroupColsSvc?.columns),t=this.columnsToValueObjects(this.valueColsSvc?.columns),i=this.columnsToValueObjects(this.pivotColsSvc?.columns),r=u=>{const d={};for(const g of u.oldCols)d[g.id]=g;const h=u.newCols.every(g=>{const f=d[g.id];return f&&delete d[g.id],f&&f.field===g.field&&f.aggFunc===g.aggFunc}),p=!u.allowRemovedColumns&&!!Object.values(d).length;return h&&!p},n=!(0,import_ag_stack144._jsonEquals)(this.storeParams.sortModel,(0,import_ag_grid_community220._getSortModel)(this.sortSvc)),o=!r({oldCols:this.storeParams.rowGroupCols,newCols:e}),a=!r({oldCols:this.storeParams.pivotCols,newCols:i}),l=!!e?.length&&!r({oldCols:this.storeParams.valueCols,newCols:t,allowRemovedColumns:!0});if(n||o||a||l)this.resetRootStore();else{const u=this.createStoreParams();this.storeParams.rowGroupCols=u.rowGroupCols,this.storeParams.pivotCols=u.pivotCols,this.storeParams.valueCols=u.valueCols}}onPivotChanged(e){if(!this.arePivotColsUnchanged()){this.resetRootStore();return}const t=this.pivotResultCols;if(t?.suppliedColDefs){t.resortPivotResultCols(e.source);return}const i=this.pivotResultFields;this.managingPivotResultColumns&&i&&this.generateSecondaryColumns(i)}arePivotColsUnchanged(){const e=this.storeParams?.pivotCols;if(!e)return!1;const t=this.columnsToValueObjects(this.pivotColsSvc?.columns);return(0,import_ag_stack144._areEqual)(e,t,(i,r)=>i.id===r.id&&i.field===r.field&&i.aggFunc===r.aggFunc)}destroyRootStore(){this.rootNode?.childStore&&(this.rootNode.childStore=this.destroyBean(this.rootNode.childStore),this.nodeManager.clear())}refreshAfterSort(e,t){this.storeParams&&(this.storeParams.sortModel=e);const i=this.getRootStore();i&&(i.refreshAfterSort(t),this.onStoreUpdated())}generateSecondaryColumns(e){if(!this.pivotColDefSvc){this.gos.assertModuleRegistered("SharedPivot",2);return}this.pivotResultFields=e;const t=this.pivotResultCols;if(t?.suppliedColDefs)return;const i=this.pivotColDefSvc.createColDefsFromFields(e);this.managingPivotResultColumns=!0,t?.setPivotResultCols(i,"rowModelUpdated")}onRowHeightStyleChanged(){const{rootNode:e,beans:t}=this;if(!e||t.rowAutoHeight?.active)return;const i=t.environment.getDefaultRowHeight();i!==this.lastDefaultRowHeight&&(this.lastDefaultRowHeight=i,this.resetRowHeights())}resetRowHeights(){if(!this.rootNode)return;const e=this.resetRowHeightsForAllRowNodes(),t=(0,import_ag_grid_community220._getRowHeightForNode)(this.beans,this.rootNode);if(this.rootNode.setRowHeight(t.height,t.estimated),this.rootNode.sibling){const i=(0,import_ag_grid_community220._getRowHeightForNode)(this.beans,this.rootNode.sibling);this.rootNode.sibling.setRowHeight(i.height,i.estimated)}e&&this.onRowHeightChanged()}resetRowHeightsForAllRowNodes(){let e=!1;return this.forEachNode(t=>{const i=(0,import_ag_grid_community220._getRowHeightForNode)(this.beans,t);t.setRowHeight(i.height,i.estimated);const r=t.detailNode;if(r){const n=(0,import_ag_grid_community220._getRowHeightForNode)(this.beans,r);r.setRowHeight(n.height,n.estimated)}if(t.sibling){const n=(0,import_ag_grid_community220._getRowHeightForNode)(this.beans,t.sibling);r?.setRowHeight(n.height,n.estimated)}e=!0}),e}resetRootStore(){this.destroyRootStore(),this.rootNode=new import_ag_grid_community220.RowNode(this.beans),this.rootNode.group=!0,this.rootNode.level=-1,this.beans.selectionSvc?.syncInRowNode(this.rootNode),this.datasource&&(this.storeParams=this.createStoreParams(),this.rootNode.childStore=this.createBean(this.storeFactory.createStore(this.storeParams,this.rootNode)),this.updateRowIndexesAndBounds()),this.managingPivotResultColumns&&(this.pivotResultCols?.setPivotResultCols(null,"api"),this.managingPivotResultColumns=!1,this.pivotResultFields=void 0),this.dispatchModelUpdated(!0)}columnsToValueObjects(e=[]){return e.map(t=>({id:t.getId(),aggFunc:t.aggFunc,displayName:this.colNames.getDisplayNameForColumn(t,"model"),field:t.field}))}createStoreParams(){const e=this.columnsToValueObjects(this.rowGroupColsSvc?.columns),t=this.columnsToValueObjects(this.valueColsSvc?.columns),i=this.columnsToValueObjects(this.pivotColsSvc?.columns),r=(0,import_ag_grid_community220._isGetRowHeightFunction)(this.gos);return{valueCols:t,rowGroupCols:e,pivotCols:i,pivotMode:this.colModel.pivotMode,filterModel:this.filterManager?.isAdvFilterEnabled()?this.filterManager?.getAdvFilterModel():this.filterManager?.getFilterModel()??{},sortModel:(0,import_ag_grid_community220._getSortModel)(this.sortSvc),datasource:this.datasource,lastAccessedSequence:{value:0},dynamicRowHeight:r}}getParams(){return this.storeParams}dispatchModelUpdated(e=!1){this.eventSvc.dispatchEvent({type:"modelUpdated",animate:!e,keepRenderedRows:!e,newPage:!1,newData:!1})}onStoreUpdated(){this.updateRowIndexesAndBounds(),this.dispatchModelUpdated()}onRowHeightChanged(){this.updateRowIndexesAndBounds(),this.dispatchModelUpdated()}updateRowIndexesAndBounds(){const e=this.getRootStore();e&&e.setDisplayIndexes({value:0},{value:0},0)}retryLoads(){const e=this.getRootStore();e&&(e.retryLoads(),this.onStoreUpdated())}getRow(e){const t=this.getRootStore();if(t)return t.getRowUsingDisplayIndex(e)}refreshAfterFilter(e,t){this.storeParams&&(this.storeParams.filterModel=e);const i=this.getRootStore();i&&(i.refreshAfterFilter(t),this.onStoreUpdated())}getRootStore(){return this.rootNode?.childStore}getRowCount(){const e=this.getRootStore();return e?e.getDisplayIndexEnd():0}getTopLevelRowCount(){const e=this.getRootStore();return e?e.getRowCount():1}getTopLevelRowDisplayedIndex(e){const t=this.getRootStore();return t?t.getTopLevelRowDisplayedIndex(e):e}getRowBounds(e){const t=this.getRootStore();return t?t.getRowBounds(e):{rowTop:0,rowHeight:(0,import_ag_grid_community220._getRowHeightAsNumber)(this.beans)}}getBlockStates(){const e=this.getRootStore();if(!e)return;const t={};return e.forEachStoreDeep(i=>{const r=i.getBlockStates();for(const n of Object.keys(r))t[n]=r[n]}),t}getRowIndexAtPixel(e){const t=this.getRootStore();return e<=0||!t?0:t.getRowIndexAtPixel(e)}isEmpty(){return!1}getOverlayType(){return this.getRootStore()?.getDisplayIndexEnd()===0?this.filterManager?.isAnyFilterPresent()?"noMatchingRows":"noRows":null}isRowsToRender(){return this.getRootStore()!=null&&this.getRowCount()>0}getType(){return"serverSide"}forEachNode(e){const t=this.getRootStore();t&&t.forEachNodeDeep(e)}forEachDisplayedNode(e){const t=(i,r)=>{i.stub||!i.displayed||e(i,r)};this.forEachNode(t)}forEachNodeAfterFilterAndSort(e,t=!1){const i=this.getRootStore();i&&i.forEachNodeDeepAfterFilterAndSort(e,void 0,t)}executeOnStore(e,t){if(!this.started)return!1;const i=this.getRootStore();if(!i)return!0;const r=i.getChildStore(e);return r&&t(r),!0}refreshStore(e={}){const t=e.route?e.route:[];this.executeOnStore(t,i=>i.refreshStore(e.purge==!0))}getStoreState(){const e=[],t=this.getRootStore();return t&&t.addStoreStates(e),e}getNodesInRangeForSelection(e,t){const i=e.rowIndex,r=t.rowIndex;if(i===null&&r===null)return[];if(r===null)return e?[e]:[];if(i===null)return[t];const n=[],[o,a]=[i,r].sort((l,c)=>l-c);return this.forEachNode(l=>{const c=l.rowIndex;c==null||l.stub||c>=o&&c<=a&&n.push(l)}),n.length!==a-o+1?null:n}getRowNode(e){if(typeof e!="string"&&(e=String(e)),e===import_ag_grid_community220.GRAND_TOTAL_ROW_ID)return this.getRootStore()?.getGrandTotalNode();let t;if(this.forEachNode(i=>{i.id===e&&(t=i),i.detailNode?.id===e&&(t=i.detailNode)}),!t&&e===import_ag_grid_community220.ROOT_NODE_ID)return this.rootNode;if(!t&&e.startsWith(import_ag_grid_community220.GROUP_TOTAL_ROW_ID_PREFIX)){const i=e.slice(import_ag_grid_community220.GROUP_TOTAL_ROW_ID_PREFIX.length),r=this.getRowNode(i);t=r?.sibling?.footer?r.sibling:void 0}return t}isRowPresent(e){return!!this.getRowNode(e.id)}setRowCount(e,t){const i=this.getRootStore();i&&i.setRowCount(e,t)}destroy(){this.destroyDatasource(),this.destroyRootStore(),super.destroy()}onRowHeightChangedDebounced(){this.onRowHeightChanged_debounced()}},import_ag_grid_community221=require("ag-grid-community");function getServerSideSelectionState(e){return e.selectionSvc?.getSelectionState()??null}function setServerSideSelectionState(e,t){e.selectionSvc?.setSelectionState(t,"api")}function applyServerSideTransaction(e,t){return e.ssrmTxnManager?.applyTransaction(t)}function applyServerSideRowData(e,t){const i=t.startRow??0,r=t.route??[];if(i<0){e.log.warn(189,{startRow:i});return}(0,import_ag_grid_community221._getServerSideRowModel)(e)?.applyRowData(t.successParams,i,r)}function applyServerSideTransactionAsync(e,t,i){return e.ssrmTxnManager?.applyTransactionAsync(t,i)}function retryServerSideLoads(e){(0,import_ag_grid_community221._getServerSideRowModel)(e)?.retryLoads()}function flushServerSideAsyncTransactions(e){return e.ssrmTxnManager?.flushAsyncTransactions()}function refreshServerSide(e,t){(0,import_ag_grid_community221._getServerSideRowModel)(e)?.refreshStore(t)}function getServerSideGroupLevelState(e){return(0,import_ag_grid_community221._getServerSideRowModel)(e)?.getStoreState()??[]}var import_ag_stack145=require("ag-stack"),import_ag_grid_community224=require("ag-grid-community"),import_ag_grid_community222=require("ag-grid-community"),ExpandStrategy=class extends import_ag_grid_community222.BeanStub{constructor(){super(...arguments),this.name="expand",this.expanded=new Set,this.collapsed=new Set,this.initialState=new Map}setExpandedState({expandedRowGroupIds:e,collapsedRowGroupIds:t}){this.expanded=new Set(e),this.collapsed=new Set(t);for(const i of this.expanded)this.initialState.set(i,!1);for(const i of this.collapsed)this.initialState.set(i,!0)}getExpandedState(){return{expandedRowGroupIds:Array.from(this.expanded),collapsedRowGroupIds:Array.from(this.collapsed)}}setRowExpanded(e,t){const i=e.id,r=this.initialState.get(i)===t;if(t){this.collapsed.delete(i),r||this.expanded.add(i);return}this.expanded.delete(i),r||this.collapsed.add(i)}isRowExpanded(e){const t=e.id;if(this.expanded.has(t))return!0;if(this.collapsed.has(t))return!1;const i=this.initialState.get(t);if(i!=null)return i;const r=this.getInitialRowState(e);return this.initialState.set(t,r),r}getInitialRowState(e){if(!e.isExpandable())return!1;const t=this.gos.getCallback("isServerSideGroupOpenByDefault");if(!t)return!1;const i={data:e.data,rowNode:e};return t(i)}isRowInitialised(e){return this.initialState.has(e)}expandAll(e){this.beans.rowModel.forEachNode(t=>{t.isExpandable()?this.setRowExpanded(t,e):e||this.expanded.delete(t.id)})}},import_ag_grid_community223=require("ag-grid-community"),ExpandAllStrategy=class extends import_ag_grid_community223.BeanStub{constructor(){super(...arguments),this.name="expandAll",this.allExpanded=void 0,this.flipped=new Set}setExpandedState(e){this.allExpanded=e.expandAll,this.flipped=new Set(e.invertedRowGroupIds)}getExpandedState(){return{expandAll:this.allExpanded,invertedRowGroupIds:Array.from(this.flipped)}}setRowExpanded(e,t){const i=e.id;if(t===this.allExpanded){this.flipped.delete(i);return}this.flipped.add(i)}isRowExpanded(e){const t=e.id;return this.allExpanded!==this.flipped.has(t)}isRowInitialised(){return!0}expandAll(e){this.allExpanded=e,this.flipped.clear()}},ServerSideExpansionService=class extends BaseExpansionService{constructor(){super(...arguments),this.beanName="expansionSvc"}wireBeans(e){this.serverSideRowModel=e.rowModel,this.storeFactory=e.ssrmStoreFactory}setStrategy(e){this.destroyBean(this.strategy),this.strategy=this.createManagedBean(e)}postConstruct(){const e=()=>{this.setStrategy(new ExpandStrategy)};this.addManagedEventListeners({columnRowGroupChanged:e,columnPivotChanged:e,columnPivotModeChanged:e}),this.addManagedPropertyListener("ssrmExpandAllAffectsAllRows",t=>{t.currentValue||(this.setStrategy(new ExpandStrategy),this.updateAllNodes(),this.dispatchStateUpdatedEvent())}),e()}setExpansionState(e){const t="expandAll"in e,i=this.isExpandAllStrategy(this.strategy);t!==i&&this.setStrategy(t?new ExpandAllStrategy:new ExpandStrategy),this.strategy.setExpandedState(e),this.dispatchStateUpdatedEvent(),this.updateAllNodes()}getExpansionState(){return this.strategy.getExpandedState()}updateAllNodes(){this.serverSideRowModel.forEachNode(e=>{super.setExpanded(e,this.isNodeExpanded(e))})}isExpanded(e){let t=e._expanded;return t===!1||!e.isExpandable()?!1:(t===null&&(t=this.defaultExpanded(e),e._expanded=t),t)}isNodeExpanded(e){return this.strategy.isRowExpanded(e)&&e.isExpandable()}setExpanded(e,t,i,r){const n=e.isExpandable();if(!(!n&&!this.checkExpandable(e,!!e.group))){if(this.strategy.setRowExpanded(e,t),t&&!n){this.dispatchStateUpdatedEvent();return}super.setExpanded(e,t,i),this.dispatchStateUpdatedEvent(),this.updateExpandedState(e)}}resetExpansion(){this.setStrategy(new ExpandStrategy),this.updateAllNodes(),this.dispatchStateUpdatedEvent()}expandAll(e){const t=this.beans.gos.get("ssrmExpandAllAffectsAllRows");!this.isExpandAllStrategy(this.strategy)&&t&&this.setStrategy(new ExpandAllStrategy),this.strategy.expandAll(e),this.updateAllNodes(),this.dispatchStateUpdatedEvent(),this.beans.eventSvc.dispatchEvent({type:"expandOrCollapseAll",source:e?"expandAll":"collapseAll"})}isExpandAllStrategy(e){return e.name==="expandAll"}onGroupExpandedOrCollapsed(){}setDetailsExpansionState(e){const{gos:t}=this.beans;if(!t.get("ssrmExpandAllAffectsAllRows"))return;const i=this.getExpansionState();if(i.expandAll===void 0)return;const n=i.expandAll&&i.invertedRowGroupIds.length===0;if((!i.expandAll&&i.invertedRowGroupIds.length===0)!==n)return n?e.expandAll():e.collapseAll()}dispatchExpandedEvent(e){this.eventSvc.dispatchEvent(e),this.beans.rowRenderer.refreshRowByNode(e.node)}updateExpandedState(e){const t=e.childStore;if(e.expanded){if(e.master&&!e.detailNode&&(e.detailNode=this.createDetailNode(e)),!t&&e.hasChildren()){const i=this.serverSideRowModel.getParams();e.childStore=this.createBean(this.storeFactory.createStore(i,e))}}else t&&this.gos.get("purgeClosedRowNodes")&&(e.childStore=this.destroyBean(t))}createDetailNode(e){const t=new import_ag_grid_community224.RowNode(this.beans);t.detail=!0,t.selectable=!1,t.parent=e,(0,import_ag_stack145._exists)(e.id)&&(t.id="detail_"+e.id),t.data=e.data,t.level=e.level+1;const i=200,r=(0,import_ag_grid_community224._getRowHeightForNode)(this.beans,t).height;return t.rowHeight=r||i,t}},import_ag_grid_community227=require("ag-grid-community"),import_ag_grid_community225=require("ag-grid-community"),DefaultStrategy=class extends import_ag_grid_community225.BeanStub{constructor(e){super(),this.selectionCtx=e,this.selectedState={selectAll:!1,toggledNodes:new Set},this.selectAllUsed=!1,this.selectedNodes={},this.rootSelected=!1}getSelectedState(){const{selectAll:e,toggledNodes:t}=this.selectedState,i=[...t];return this.rootSelected&&!t.has(import_ag_grid_community225.ROOT_NODE_ID)&&i.push(import_ag_grid_community225.ROOT_NODE_ID),{selectAll:e,toggledNodes:i}}setSelectedState(e){if(typeof e!="object"){this.error(116);return}if(!("selectAll"in e)){this.error(116);return}if(typeof e.selectAll!="boolean"){this.error(117);return}if(!("toggledNodes"in e)||!Array.isArray(e.toggledNodes))return this.warn(197);const t={selectAll:e.selectAll,toggledNodes:new Set};let i=!1;e.toggledNodes.forEach(n=>{typeof n!="string"?this.warn(196,{key:n}):n===import_ag_grid_community225.ROOT_NODE_ID?i=!0:t.toggledNodes.add(n)});const r=t.selectAll||t.toggledNodes.size+(i?1:0)>1;if((0,import_ag_grid_community225._isUsingNewRowSelectionAPI)(this.gos)&&!(0,import_ag_grid_community225._isMultiRowSelection)(this.gos)&&r){this.warn(130);return}this.selectedState=t,this.rootSelected=i}deleteSelectionStateFromParent(e,t){if(this.selectedState.toggledNodes.size===0)return!1;let i=!1;for(const r of t)this.selectedState.toggledNodes.delete(r)&&(i=!0);return i}setNodesSelected(e){const{nodes:t,clearSelection:i,newValue:r,source:n}=e;if(t.length===0)return 0;const o=i&&r;if(!(0,import_ag_grid_community225._isMultiRowSelection)(this.gos)||o){if(t.length>1)return this.error(130),0;const u=t[0].primaryRow,d=u.level===-1;if(!d&&u.id===void 0||r&&!u.selectable)return 0;const h=r&&!d;return this.selectedNodes=h?{[u.id]:u}:{},this.selectedState={selectAll:!1,toggledNodes:new Set(h?[u.id]:[])},this.rootSelected=r&&d,1}const a=(u,d)=>{r&&u.selectable?this.selectedNodes[d]=u:delete this.selectedNodes[d],r===this.selectedState.selectAll||!u.selectable?this.selectedState.toggledNodes.delete(d):this.selectedState.toggledNodes.add(d)};let l=0;for(const u of t){const d=u.primaryRow;if(d.level===-1){const h=r&&d.selectable;h!==this.rootSelected&&l++,this.rootSelected=h}else{const h=d.id;if(h===void 0)continue;const p=this.isNodeSelected(d);a(d,h),this.isNodeSelected(d)!==p&&l++}}const c=t.length===1&&n==="api"?t[0].primaryRow:void 0;return c?.id!==void 0&&this.selectionCtx.setRoot(c),l}processNewRow(e){this.selectedNodes[e.id]&&(this.selectedNodes[e.id]=e)}isNodeSelected(e){if(e.level===-1)return this.rootSelected;const{selectAll:t,toggledNodes:i}=this.selectedState,r=i.has(e.id);return t?!r:r}getSelectedNodes(e=!1,t=!0){const{selectedState:{selectAll:i},selectedNodes:r,selectAllUsed:n}=this;if(t&&n&&this.warn(199),e&&i)return null;const o=Object.values(r),a=this.rootSelected?this.beans.rowModel.rootNode:null;return a&&o.push(a),o}getSelectedRows(){return(this.getSelectedNodes()??[]).map(t=>t.data).filter(t=>t!=null)}getSelectionCount(){return this.selectedState.selectAll?-1:this.selectedState.toggledNodes.size+(this.rootSelected?1:0)}isEmpty(){return!this.selectedState.selectAll&&!this.selectedState.toggledNodes?.size&&!this.rootSelected}selectAllRowNodes(){this.reset(!0)}deselectAllRowNodes(){this.reset(!1)}reset(e){this.selectedState={selectAll:e,toggledNodes:new Set},this.selectedNodes={},this.rootSelected=!1,this.selectAllUsed||(this.selectAllUsed=e)}getSelectAllState(){const{selectAll:e,toggledNodes:t}=this.selectedState;return t.size>0?null:e}},import_ag_grid_community226=require("ag-grid-community"),GroupSelectsChildrenStrategy=class extends import_ag_grid_community226.BeanStub{constructor(e){super(),this.selectionCtx=e,this.selectedState={selectAllChildren:!1,toggledNodes:new Map},this.rootSelected=!1}wireBeans(e){this.rowModel=e.rowModel,this.rowGroupColsSvc=e.rowGroupColsSvc,this.filterManager=e.filterManager,this.selectionSvc=e.selectionSvc}postConstruct(){this.addManagedEventListeners({modelUpdated:()=>this.removeRedundantState(),columnRowGroupChanged:()=>this.selectionSvc.reset("rowGroupChanged")})}getSelectedState(){const{gos:e,rowGroupColsSvc:t,selectedState:i}=this,r=e.get("treeData"),n=(l,c,u)=>{const d={nodeId:u};if((r||t&&c<=t.columns.length)&&(d.selectAllChildren=l.selectAllChildren),l.toggledNodes.size){const h=[];l.toggledNodes.forEach((p,g)=>{const f=n(p,c+1,g);h.push(f)}),d.toggledNodes=h}return d},o=n(i,0),a=o.toggledNodes;return this.rootSelected&&!a?.some(l=>l.nodeId===import_ag_grid_community226.ROOT_NODE_ID)&&(o.toggledNodes=[...a??[],{nodeId:import_ag_grid_community226.ROOT_NODE_ID}]),o}setSelectedState(e){if("selectAll"in e){this.error(111);return}const t=(i,r)=>{if(typeof i!="object")throw this.error(243),new Error;if("selectAllChildren"in i&&typeof i.selectAllChildren!="boolean")throw this.error(244),new Error;if("toggledNodes"in i){if(!Array.isArray(i.toggledNodes))throw this.error(245),new Error;if(!i.toggledNodes.every(c=>typeof c=="object"&&"nodeId"in c&&typeof c.nodeId=="string"))throw this.error(246),new Error}const n=i.selectAllChildren??!r,o=i.toggledNodes?.map(l=>[l.nodeId,t(l,n)]);if(o?.some(([,l])=>n===l.selectAllChildren&&l.toggledNodes.size===0))throw this.error(247),new Error;return{selectAllChildren:n,toggledNodes:new Map(o)}};try{const i=e.toggledNodes,r=Array.isArray(i)&&i.some(o=>o?.nodeId===import_ag_grid_community226.ROOT_NODE_ID),n=r?{...e,toggledNodes:i.filter(o=>o?.nodeId!==import_ag_grid_community226.ROOT_NODE_ID)}:e;this.selectedState=t(n,!!n.selectAllChildren),this.rootSelected=r}catch{}}deleteSelectionStateFromParent(e,t){let i=this.selectedState;const r=[...e];for(;i&&r.length;)i=i.toggledNodes.get(r.pop());if(!i)return!1;let n=!1;for(const o of t)i?.toggledNodes.delete(o)&&(n=!0);return n&&this.removeRedundantState(),n}setNodesSelected({nodes:e,newValue:t,clearSelection:i,source:r}){if(e.length===0)return 0;const n=i&&t;if(!(0,import_ag_grid_community226._isMultiRowSelection)(this.gos)||n){if(e.length>1)return this.error(130),0;const l=e[0].primaryRow;if(l.id===void 0&&l.level!==-1||t&&!l.selectable)return 0;this.deselectAllRowNodes()}let o=0;for(const l of e){const c=l.primaryRow;if(c.level===-1){const u=this.rootSelected;this.selectedState={selectAllChildren:t,toggledNodes:new Map},this.rootSelected=t,t!==u&&o++}else if(c.id!==void 0){const u=this.getRouteToNode(c),d=this.selectedState,h=this.isNodePathSelected(u,d);this.recursivelySelectNode(u,d,t),this.isNodePathSelected(u,d)!==h&&o++}}this.removeRedundantState();const a=e.length===1&&r==="api"?e[0].primaryRow:void 0;return a?.id!==void 0&&this.selectionCtx.setRoot(a),o}isNodeSelected(e){if(e.level===-1)return this.rootSelected;const t=this.getRouteToNode(e);return this.isNodePathSelected(t,this.selectedState)}isNodePathSelected([e,...t],i){if(t.length===0){const r=i.toggledNodes.has(e.id);return e.hasChildren()&&i.toggledNodes.get(e.id)?.toggledNodes.size?void 0:i.selectAllChildren?!r:r}if(i.toggledNodes.has(e.id)){const r=i.toggledNodes.get(e.id);if(r)return this.isNodePathSelected(t,r)}return i.selectAllChildren}getRouteToNode(e){const t=[];let i=e;for(;i.parent;)t.push(i),i=i.parent;return t.reverse()}removeRedundantState(){if(this.filterManager?.isAnyFilterPresent())return;const e=(t=this.selectedState,i,r)=>{if(t.toggledNodes.forEach((a,l)=>{e(a,l,t)}),i){const l=this.rowModel.getRowNode(i)?.childStore;if(l?.isLastRowIndexKnown()&&t.toggledNodes.size>=l.getRowCount()){for(const d of t.toggledNodes.entries()){const[h,p]=d;if(p.toggledNodes.size>0||!this.rowModel.getRowNode(h))return}t.selectAllChildren=!t.selectAllChildren,t.toggledNodes.clear()}}const n=t.toggledNodes.size===0,o=r?.selectAllChildren===t.selectAllChildren;n&&o&&r?.toggledNodes.delete(i)};e()}recursivelySelectNode([e,...t],i,r){if(!e)return;if(!t.length){const l=e.selectable;if(i.selectAllChildren===r||!l){i.toggledNodes.delete(e.id);return}const u={selectAllChildren:r,toggledNodes:new Map};i.toggledNodes.set(e.id,u);return}const o=i.toggledNodes.has(e.id),a=i.toggledNodes.get(e.id)??{selectAllChildren:i.selectAllChildren,toggledNodes:new Map};o||i.toggledNodes.set(e.id,a),this.recursivelySelectNode(t,a,r),i.selectAllChildren===a.selectAllChildren&&a.toggledNodes.size===0&&i.toggledNodes.delete(e.id)}getSelectedNodes(e=!1){if(this.warn(202),this.selectedState.selectAllChildren&&e)return null;const t=[];return this.rowModel.forEachNode(i=>{i.isSelected()&&t.push(i)}),t}processNewRow(){}getSelectedRows(){return(this.getSelectedNodes()??[]).map(t=>t.data).filter(t=>t!=null)}getSelectionCount(){return-1}isEmpty(){return!this.selectedState.selectAllChildren&&!this.selectedState.toggledNodes?.size&&!this.rootSelected}selectAllRowNodes(){this.reset(!0)}deselectAllRowNodes(){this.reset(!1)}reset(e){this.selectedState={selectAllChildren:e,toggledNodes:new Map},this.rootSelected=!1}getSelectAllState(){const{selectAllChildren:e,toggledNodes:t}=this.selectedState;return t.size>0?null:e}},ServerSideSelectionService=class extends import_ag_grid_community227.BaseSelectionService{constructor(){super(...arguments),this.beanName="selectionSvc"}postConstruct(){super.postConstruct(),this.addManagedPropertyListeners(["groupSelectsChildren","rowSelection"],()=>{const i=(0,import_ag_grid_community227._getGroupSelectsDescendants)(this.gos),r=i&&this.selectionStrategy instanceof DefaultStrategy?GroupSelectsChildrenStrategy:!i&&this.selectionStrategy instanceof GroupSelectsChildrenStrategy?DefaultStrategy:void 0;r&&(this.destroyBean(this.selectionStrategy),this.selectionStrategy=this.createManagedBean(new r(this.selectionCtx)),this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged("api"))}),this.addManagedPropertyListeners(["rowSelection"],()=>{const i=(0,import_ag_grid_community227._getRowSelectionMode)(this.gos);i!==this.selectionMode&&(this.selectionMode=i,this.deselectAllRowNodes({source:"api"}))}),this.selectionMode=(0,import_ag_grid_community227._getRowSelectionMode)(this.gos);const t=(0,import_ag_grid_community227._getGroupSelectsDescendants)(this.gos)?GroupSelectsChildrenStrategy:DefaultStrategy;this.selectionStrategy=this.createManagedBean(new t(this.selectionCtx))}handleSelectionEvent(e,t,i){if(this.isRowSelectionBlocked(t))return 0;const r=this.inferNodeSelections(t,e.shiftKey,e.metaKey||e.ctrlKey,i);if(r==null)return 0;this.selectionCtx.selectAll=!1;let n;return"select"in r?(r.reset?this.selectionStrategy.deselectAllRowNodes({source:"api"}):this.selectionStrategy.setNodesSelected({nodes:r.deselect,newValue:!1,source:i}),n=this.selectionStrategy.setNodesSelected({nodes:r.select,newValue:!0,source:i})):n=this.selectionStrategy.setNodesSelected({nodes:[r.node],newValue:r.newValue,clearSelection:r.clearSelection,event:e,source:i}),this.shotgunResetNodeSelectionState(i),this.dispatchSelectionChanged(i),n}getSelectionState(){return this.selectionStrategy.getSelectedState()}setSelectionState(e,t){if(!(0,import_ag_grid_community227._isRowSelection)(this.gos)){e&&this.warn(132);return}Array.isArray(e)||(e?(this.selectionStrategy.setSelectedState(e),this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged(t)):this.deselectAllRowNodes({source:t}))}setNodesSelected(e){if(!(0,import_ag_grid_community227._isRowSelection)(this.gos)&&e.newValue)return this.warn(132),0;const{nodes:t,...i}=e;if(t.length>1&&this.selectionMode!=="multiRow")return this.warn(130),0;const r={nodes:t.filter(o=>o.selectable),...i};if(!r.nodes.length)return 0;const n=this.selectionStrategy.setNodesSelected(r);return this.shotgunResetNodeSelectionState(r.source),this.dispatchSelectionChanged(r.source),n}deleteSelectionStateFromParent(e,t){this.selectionStrategy.deleteSelectionStateFromParent(e,t)&&(this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged("api"))}shotgunResetNodeSelectionState(e){this.beans.rowModel.forEachNode(t=>{if(t.stub)return;const i=this.selectionStrategy.isNodeSelected(t);i!==t.isSelected()&&this.selectRowNode(t,i,void 0,e)}),this.syncRootNode(e)}syncRootNode(e){const t=this.beans.rowModel.rootNode;if(!t)return;const i=this.selectionStrategy.isNodeSelected(t);i!==t.isSelected()&&this.selectRowNode(t,i,void 0,e)}getSelectedNodes(){return this.selectionStrategy.getSelectedNodes()??[]}getSelectedRows(){return this.selectionStrategy.getSelectedRows()}getSelectionCount(){return this.selectionStrategy.getSelectionCount()}syncInRowNode(e){this.selectionStrategy.processNewRow(e);const t=this.selectionStrategy.isNodeSelected(e);if(t!=!1&&!e.selectable){this.selectionStrategy.setNodesSelected({nodes:[e],newValue:!1,source:"api"}),this.shotgunResetNodeSelectionState(),this.dispatchSelectionChanged("api");return}e.__selected=t}reset(){this.selectionStrategy.deselectAllRowNodes({source:"api"}),this.selectionCtx.reset()}isEmpty(){return this.selectionStrategy.isEmpty()}hasNodesToSelect(){return!0}selectAllRowNodes(e){if(!(0,import_ag_grid_community227._isRowSelection)(this.gos)){this.warn(132);return}if(validateSelectionParameters(this.beans.log,e),(0,import_ag_grid_community227._isUsingNewRowSelectionAPI)(this.gos)&&!(0,import_ag_grid_community227._isMultiRowSelection)(this.gos))return this.warn(130);this.selectionStrategy.selectAllRowNodes(e),this.selectionCtx.selectAll=!0,this.beans.rowModel.forEachNode(t=>{t.stub||this.selectRowNode(t,!0,void 0,e.source)}),this.syncRootNode(e.source),this.dispatchSelectionChanged(e.source)}deselectAllRowNodes(e){validateSelectionParameters(this.beans.log,e),this.selectionStrategy.deselectAllRowNodes(e),this.selectionCtx.selectAll=!1,this.beans.rowModel.forEachNode(t=>{t.stub||this.selectRowNode(t,!1,void 0,e.source)}),this.syncRootNode(e.source),this.dispatchSelectionChanged(e.source)}getSelectAllState(e){return this.selectionStrategy.getSelectAllState(e)}getBestCostNodeSelection(){return this.warn(194,{method:"getBestCostNodeSelection"})}updateSelectable(){if(!(0,import_ag_grid_community227._isRowSelection)(this.gos))return;const e=[];this.beans.rowModel.forEachNode(t=>{!this.updateRowSelectable(t,!0)&&t.isSelected()&&e.push(t)}),e.length&&this.setNodesSelected({nodes:e,newValue:!1,source:"selectableChanged"})}dispatchSelectionChanged(e){this.eventSvc.dispatchEvent({type:"selectionChanged",source:e,selectedNodes:this.selectionStrategy instanceof GroupSelectsChildrenStrategy?null:this.selectionStrategy.getSelectedNodes(!0,!1),serverSideState:this.getSelectionState()})}updateSelectableAfterGrouping(){return this.error(194,{method:"updateSelectableAfterGrouping"})}refreshMasterNodeState(){}setDetailSelectionState(){}};function validateSelectionParameters(e,{selectAll:t}){(t==="filtered"||t==="currentPage")&&e.warn(195,{justCurrentPage:t==="currentPage"})}var import_ag_grid_community228=require("ag-grid-community"),SsrmRowChildrenService=class extends import_ag_grid_community228.BeanStub{constructor(){super(...arguments),this.beanName="rowChildrenSvc"}getHasChildrenValue(e){const t=this.gos.get("treeData"),i=this.gos.get("isServerSideGroup");return!e.stub&&!e.footer&&(t?!!i&&i(e.data):!!e.group)}},import_ag_grid_community229=require("ag-grid-community"),LazyBlockLoadingService=class extends import_ag_grid_community229.BeanStub{constructor(){super(...arguments),this.beanName="lazyBlockLoadingSvc",this.outboundRequests=0,this.cacheLoadingNodesMap=new Map,this.isCheckQueued=!1,this.nextBlockToLoad=void 0}wireBeans(e){this.rowRenderer=e.rowRenderer,this.rowModel=e.rowModel}postConstruct(){this.maxOutboundRequests=(0,import_ag_grid_community229._getMaxConcurrentDatasourceRequests)(this.gos)}subscribe(e){this.cacheLoadingNodesMap.set(e,new Set)}unsubscribe(e){this.cacheLoadingNodesMap.delete(e)}queueLoadCheck(){this.isCheckQueued||(this.isCheckQueued=!0,setTimeout(()=>{this.queueLoadAction(),this.isCheckQueued=!1}))}onLoadComplete(){this.outboundRequests-=1,this.queueLoadCheck()}hasAvailableLoadBandwidth(){return this.maxOutboundRequests===void 0?!0:this.outboundRequests<this.maxOutboundRequests}queueLoadAction(){const e=this.getBlockToLoad();if(!e)return;const t=this.nextBlockToLoad?.cache===e.cache&&this.nextBlockToLoad.index===e.index;if(!t&&(!this.nextBlockToLoad||!t)){this.nextBlockToLoad=e,window.clearTimeout(this.loaderTimeout);const i=Number(this.nextBlockToLoad.index),r=this.nextBlockToLoad.cache,n=e.index+e.cache.getBlockSize();this.loaderTimeout=window.setTimeout(()=>{r.isAlive()&&(this.loaderTimeout=void 0,this.attemptLoad(r,i,n),this.nextBlockToLoad=void 0)},this.gos.get("blockLoadDebounceMillis"))}}attemptLoad(e,t,i){this.hasAvailableLoadBandwidth()&&(this.executeLoad(e,t,i),this.queueLoadCheck())}executeLoad(e,t,i){const r=e.getSsrmParams(),n=e.store.getParentNode(),o={startRow:t,endRow:i,rowGroupCols:r.rowGroupCols,valueCols:r.valueCols,pivotCols:r.pivotCols,pivotMode:r.pivotMode,groupKeys:n.getRoute()??[],filterModel:r.filterModel,sortModel:r.sortModel},a=this.cacheLoadingNodesMap.get(e),l=()=>{for(let m=0;m<i-t;m++)a.delete(t+m)},c=()=>{for(let m=0;m<i-t;m++)a.add(t+m)},u=m=>{this.onLoadComplete(),e.onLoadSuccess(t,i-t,m),l()},d=()=>{this.onLoadComplete(),e.onLoadFailed(t,i-t),l()},h=n.level===-1,p=h?e.store:void 0,g=h&&p?.grandTotalData===void 0&&!!(0,import_ag_grid_community229._getGrandTotalRow)(this.gos),f=(0,import_ag_grid_community229._addGridCommonParams)(this.gos,{request:o,success:u,fail:d,parentNode:n,needsGrandTotal:g});c(),this.outboundRequests+=1,e.getSsrmParams().datasource?.getRows(f)}getBlockToLoad(){const e=this.rowRenderer.firstRenderedRow,t=this.rowRenderer.lastRenderedRow;for(let l=e;l<=t;l++){const c=this.rowModel.getRow(l);if(!c)continue;const u=c.parent?.childStore;if(!u)continue;const d=u.getCache(),h=d.getNodes().getBy("node",c);if(!(!h||this.cacheLoadingNodesMap.get(d)?.has(h.index))&&(c.__needsRefreshWhenVisible||c.stub&&!c.failedLoad))return{cache:d,index:d.getBlockStartIndex(h.index)}}let i=null,r=null,n=Number.MAX_SAFE_INTEGER;for(const l of this.cacheLoadingNodesMap.keys())l.getNodesToRefresh().forEach(u=>{if(u.rowIndex==null){r=u,i=l;return}const d=l.getNodes().getBy("node",u);if(!d||this.cacheLoadingNodesMap.get(l)?.has(d.index))return;const p=Math.abs(e-u.rowIndex),g=Math.abs(u.rowIndex-t);p<n&&(r=u,n=p,i=l),g<n&&(r=u,n=g,i=l)});if(!i)return;const o=i,a=o.getNodes().getBy("node",r)?.index;return a==null?void 0:{cache:o,index:o.getBlockStartIndex(a)}}isRowLoading(e,t){return this.cacheLoadingNodesMap.get(e)?.has(t)??!1}},import_ag_grid_community232=require("ag-grid-community"),import_ag_grid_community231=require("ag-grid-community"),import_ag_grid_community230=require("ag-grid-community"),MultiIndexMap=class{constructor(...e){this.indexes=e,this.maps=new Map(this.indexes.map(t=>[t,new Map]))}getSize(){return this.maps.get(this.indexes[0]).size}getBy(e,t){return this.maps.get(e).get(t)}set(e){for(const t of this.indexes)this.maps.get(t).set(e[t],e)}delete(e){for(const t of this.indexes)this.maps.get(t).delete(e[t])}clear(){this.maps.forEach(e=>e.clear())}getIterator(e){return this.maps.get(e).values()}forEach(e){const t=this.getIterator(this.indexes[0]);let i;for(;(i=t.next())&&!i.done;)e(i.value)}find(e){const t=this.getIterator(this.indexes[0]);let i;for(;(i=t.next())&&!i.done;)if(e(i.value))return i.value}filter(e){const t=this.getIterator(this.indexes[0]);let i;const r=[];for(;(i=t.next())&&!i.done;)e(i.value)&&r.push(i.value);return r}},DEFAULT_BLOCK_SIZE=100,LazyCache=class extends import_ag_grid_community230.BeanStub{constructor(e,t,i,r,n=!1){super(),this.live=!0,this.removedNodeCache=new Map,this.store=e,this.numberOfRows=t,this.isLastRowKnown=i,this.isLastRowInferred=n,this.storeParams=r}wireBeans(e){this.rowRenderer=e.rowRenderer,this.blockUtils=e.ssrmBlockUtils,this.focusSvc=e.focusSvc,this.nodeManager=e.ssrmNodeManager,this.serverSideRowModel=e.rowModel,this.rowNodeSorter=e.rowNodeSorter,this.sortSvc=e.sortSvc,this.lazyBlockLoadingSvc=e.lazyBlockLoadingSvc,this.colModel=e.colModel}postConstruct(){this.lazyBlockLoadingSvc.subscribe(this),this.nodeMap=new MultiIndexMap("index","id","node"),this.nodeDisplayIndexMap=new Map,this.nodesToRefresh=new Set;const{blockUtils:e,gos:t,store:i}=this;this.defaultNodeIdPrefix=e.createNodeIdPrefix(i.getParentNode()),this.getRowIdFunc=(0,import_ag_grid_community230._getRowIdCallback)(this.beans),this.isMasterDetail=t.get("masterDetail")}destroy(){this.lazyBlockLoadingSvc.unsubscribe(this),this.numberOfRows=0,this.nodeMap.forEach(e=>this.blockUtils.destroyRowNode(e.node)),this.nodeMap.clear(),this.nodeDisplayIndexMap.clear(),this.nodesToRefresh.clear(),this.live=!1,super.destroy()}getRowByDisplayIndex(e){if(!this.store.isDisplayIndexInStore(e))return;const t=this.nodeDisplayIndexMap.get(e);if(t)return(t.stub||t.__needsRefreshWhenVisible)&&this.lazyBlockLoadingSvc.queueLoadCheck(),t;if(this.gos.get("groupHideOpenParents")||this.gos.get("groupAllowUnbalanced")){const c=this.nodeMap.find(u=>!!u.node.childStore?.isDisplayIndexInStore(e));if(c)return c.node.childStore?.getRowUsingDisplayIndex(e)}if(e===this.store.getDisplayIndexStart())return this.createStubNode(0,e);const r=this.nodeDisplayIndexMap.get(e-1);if(r){if(this.isMasterDetail&&r.master&&r.expanded)return r.detailNode;if(r.expanded&&r.childStore?.isDisplayIndexInStore(e))return r.childStore?.getRowUsingDisplayIndex(e);const c=this.nodeMap.getBy("node",r);return this.createStubNode(c.index+1,e)}const n=this.getSurroundingNodesByDisplayIndex(e);if(n==null){const c=this.store.getRowCount()-(this.store.getDisplayIndexEnd()-e);return this.createStubNode(c,e)}const{previousNode:o,nextNode:a}=n;if(o?.node.expanded&&o.node.childStore?.isDisplayIndexInStore(e))return o.node.childStore?.getRowUsingDisplayIndex(e);if(a){const c=a.node.rowIndex-e,u=a.index-c;return this.createStubNode(u,e)}const l=this.store.getRowCount()-(this.store.getDisplayIndexEnd()-e);return this.createStubNode(l,e)}createStubNode(e,t){const i=this.store.getRowBounds(t),r=this.createRowAtIndex(e,null,n=>{n.setRowIndex(t),n.setRowTop(i.rowTop),this.nodeDisplayIndexMap.set(t,n)});if(e===0&&this.gos.get("groupHideOpenParents")){const n=this.store.getParentNode().groupData;if(n)for(const o of Object.keys(n))setRowNodeGroupValue(r,this.colModel,o,n[o])}return this.lazyBlockLoadingSvc.queueLoadCheck(),r}getRowByStoreIndex(e){return this.nodeMap.getBy("index",e)?.node}skipDisplayIndexes(e,t,i){if(e===0)return;const r=(0,import_ag_grid_community230._getRowHeightAsNumber)(this.beans);t.value+=e,i.value+=e*r}setDisplayIndexes(e,t,i){this.nodeDisplayIndexMap.clear();const r={};this.nodeMap.forEach(a=>{r[a.index]=a.node});let n=-1;for(const a of Object.keys(r)){const l=r[a],c=Number(a),u=c-1-n;this.skipDisplayIndexes(u,e,t);const d=c===0;if(l.firstChild!==d&&(l.firstChild=d,l.dispatchRowEvent("firstChildChanged")),d&&this.gos.get("groupHideOpenParents")){const h=this.store.getParentNode().groupData;if(h)for(const p of Object.keys(h))setRowNodeGroupValue(l,this.colModel,p,d?h[p]:void 0)}this.blockUtils.setDisplayIndex(l,e,t,i),l.rowIndex!=null&&this.nodeDisplayIndexMap.set(l.rowIndex,l),n=c}const o=this.numberOfRows-1-n;this.skipDisplayIndexes(o,e,t),this.purgeExcessRows()}getRowCount(){return this.numberOfRows}setRowCount(e,t){this.numberOfRows=e,this.isLastRowInferred=!1,t!=null&&(this.isLastRowKnown=t,t===!1&&(this.numberOfRows+=1)),this.fireStoreUpdatedEvent()}getNodes(){return this.nodeMap}getNodeCachedByDisplayIndex(e){return this.nodeDisplayIndexMap.get(e)??null}getNodesToRefresh(){return this.nodesToRefresh}getSurroundingNodesByDisplayIndex(e){let t,i;return this.nodeMap.forEach(r=>{if(e>r.node.rowIndex){(i==null||i.node.rowIndex<r.node.rowIndex)&&(i=r);return}(t==null||t.node.rowIndex>r.node.rowIndex)&&(t=r)}),!i&&!t?null:{previousNode:i,nextNode:t}}getDisplayIndexFromStoreIndex(e){const t=this.nodeMap.getBy("index",e);if(t)return t.node.rowIndex;let i,r;if(this.nodeMap.forEach(a=>{if(e>a.index){(r==null||r.index<a.index)&&(r=a);return}(i==null||i.index>a.index)&&(i=a)}),!i)return this.store.getDisplayIndexEnd()-(this.numberOfRows-e);if(!r)return this.store.getDisplayIndexStart()+e;const n=e-r.index;return(r.node.childStore?.getDisplayIndexEnd()??r.node.rowIndex)+n}createRowAtIndex(e,t,i){const r=this.nodeMap.getBy("index",e);if(r){const{node:o}=r;if(o.__needsRefreshWhenVisible=!1,this.doesNodeMatch(t,o))return this.blockUtils.updateDataIntoRowNode(o,t),this.nodesToRefresh.delete(o),o;if(this.getRowIdFunc==null&&o.hasChildren()&&o.expanded)return this.nodesToRefresh.delete(o),o;this.destroyRowAtIndex(e)}if(t&&this.getRowIdFunc!=null){const o=this.getRowId(t),a=o&&this.removedNodeCache?.get(o);if(a)return this.removedNodeCache?.delete(o),this.blockUtils.updateDataIntoRowNode(a,t),this.nodeMap.set({id:a.id,node:a,index:e}),this.nodesToRefresh.delete(a),a.__needsRefreshWhenVisible=!1,a;const l=this.nodeMap.getBy("id",o);if(l){this.nodeMap.delete(l);const{node:c,index:u}=l;return this.blockUtils.updateDataIntoRowNode(c,t),this.nodeMap.set({id:c.id,node:c,index:e}),this.nodesToRefresh.delete(c),c.__needsRefreshWhenVisible=!1,this.getBlockStartIndex(u)===this.getBlockStartIndex(e)||this.markBlockForVerify(u),c}}const n=this.blockUtils.createRowNode(this.store.getRowDetails());if(t!=null){const o=this.getPrefixedId(this.store.getIdSequence().value++);this.blockUtils.setDataIntoRowNode(n,t,o,void 0),this.blockUtils.checkOpenByDefault(n),this.nodeManager.addRowNode(n)}return this.nodeMap.set({id:n.id,node:n,index:e}),i&&i(n),n}getBlockStates(){const e={},t={};this.nodeMap.forEach(({node:o,index:a})=>{const l=this.getBlockStartIndex(a);!o.stub&&!o.failedLoad&&(e[l]=(e[l]??0)+1);let c="loaded";o.failedLoad?c="failed":this.lazyBlockLoadingSvc.isRowLoading(this,l)?c="loading":(this.nodesToRefresh.has(o)||o.stub)&&(c="needsLoading"),t[l]||(t[l]=new Set),t[l].add(c)});const i={loading:4,failed:3,needsLoading:2,loaded:1},r=this.blockUtils.createNodeIdPrefix(this.store.getParentNode()),n={};for(const o of Object.keys(t)){const l=[...t[o]].sort((d,h)=>(i[d]??0)-(i[h]??0))[0],c=Number(o)/this.getBlockSize(),u=r?`${r}-${c}`:String(c);n[u]={blockNumber:c,startRow:Number(o),endRow:Number(o)+this.getBlockSize(),pageStatus:l,loadedRowCount:e[o]??0}}return n}destroyRowAtIndex(e){const t=this.nodeMap.getBy("index",e);t&&(this.nodeMap.delete(t),this.nodeDisplayIndexMap.delete(t.node.rowIndex),this.nodesToRefresh.size>0?this.removedNodeCache.set(t.node.id,t.node):this.blockUtils.destroyRowNode(t.node),this.nodesToRefresh.delete(t.node))}getSsrmParams(){return this.store.getSsrmParams()}getPrefixedId(e){return this.defaultNodeIdPrefix?this.defaultNodeIdPrefix+"-"+e:e.toString()}markBlockForVerify(e){const[t,i]=this.getBlockBounds(e);this.nodeMap.filter(n=>n.index>=t&&n.index<i).forEach(({node:n})=>{n.__needsRefreshWhenVisible=!0})}doesNodeMatch(e,t){if(t.stub)return!1;const i=this.getRowId(e);return i===null?t.data===e:t.id===i}purgeStubsOutsideOfViewport(){const{firstRenderedRow:e,lastRenderedRow:t}=this.rowRenderer,i=this.getBlockStartIndex(e),[,r]=this.getBlockBounds(t);this.nodeMap.forEach(n=>{this.lazyBlockLoadingSvc.isRowLoading(this,n.index)||n.node.failedLoad||n.node.stub&&(n.index<i||n.index>r)&&this.destroyRowAtIndex(n.index)})}getBlocksDistanceFromRow(e,t){const i={};return e.forEach(({node:r,index:n})=>{const[o,a]=this.getBlockBounds(n);if(o in i)return;const l=Math.abs(r.rowIndex-t);let c;const u=this.nodeMap.getBy("index",[a-1]);u&&(c=Math.abs(u.node.rowIndex-t));const d=c==null||l<c?l:c;i[o]=d}),Object.entries(i)}purgeExcessRows(){if(this.purgeStubsOutsideOfViewport(),this.store.getDisplayIndexEnd()==null||this.storeParams.maxBlocksInCache==null)return;const{firstRenderedRow:e,lastRenderedRow:t}=this.rowRenderer,i=new Set,r=new Set;this.nodeMap.forEach(({index:g,node:f})=>{const m=this.getBlockStartIndex(g);i.add(m),f.rowIndex>=e&&f.rowIndex<=t&&r.add(m)});const n=Math.max(r.size,this.storeParams.maxBlocksInCache??0),a=i.size-n;if(a<=0)return;let l=Number.MAX_SAFE_INTEGER,c=Number.MIN_SAFE_INTEGER;r.forEach(g=>{l>g&&(l=g),c<g&&(c=g)});const u=this.nodeMap.filter(({node:g,index:f})=>{const m=this.getBlockStartIndex(f);return!(m>=l&&m<=c)&&!this.isNodeCached(g)});if(u.length===0)return;const d=e+(t-e)/2,h=this.getBlocksDistanceFromRow(u,d),p=this.getBlockSize();h.sort((g,f)=>Math.sign(f[1]-g[1]));for(let g=0;g<Math.min(a,h.length);g++){const f=Number(h[g][0]);for(let m=f;m<f+p;m++){const v=this.nodeMap.getBy("index",m);!v||this.isNodeCached(v.node)||this.destroyRowAtIndex(m)}}}isNodeFocused(e){const t=this.focusSvc.getFocusCellToUseAfterRefresh();return!t||t.rowPinned!=null?!1:t.rowIndex===e.rowIndex}isNodeCached(e){const t=e.isExpandable()&&e.expanded,i=this.gos.get("groupAllowUnbalanced")&&e.key==="",r=!!this.beans.editSvc?.isRowEditing(e);return t||this.isNodeFocused(e)||i||r}extractDuplicateIds(e){if(this.getRowIdFunc==null)return[];const t=new Set,i=new Set;return e.forEach(r=>{const n=this.getRowId(r);if(t.has(n)){i.add(n);return}t.add(n)}),[...i]}onLoadSuccess(e,t,i){if(!this.live)return;const r=i.groupLevelInfo;this.store.setStoreInfo(r);const n=this.store.getParentNode().level===-1,o=n&&this.getRowIdFunc!=null?import_ag_grid_community230.GRAND_TOTAL_ROW_ID:null;if(this.getRowIdFunc!=null){const h=this.extractDuplicateIds(i.rowData);if(h.length>0){const p=h.join(", ");this.warn(205,{duplicateIdText:p}),this.onLoadFailed(e,t);return}}i.pivotResultFields&&this.serverSideRowModel.generateSecondaryColumns(i.pivotResultFields);const a=this.nodesToRefresh.size>0;let l=0,c;for(let h=0;h<i.rowData.length;h++){const p=i.rowData[h];if(o!=null&&this.getRowId(p)===o){c=p,l++;continue}const g=e+h-l,f=this.nodeMap.getBy("index",g);if(f?.node?.stub){this.createRowAtIndex(g,p);continue}if(f&&this.doesNodeMatch(p,f.node)){this.blockUtils.updateDataIntoRowNode(f.node,p),this.nodesToRefresh.delete(f.node),f.node.__needsRefreshWhenVisible=!1;continue}this.createRowAtIndex(g,p)}n&&(i.grandTotalData!==void 0&&(c=i.grandTotalData),c!==void 0&&this.setGrandTotalData(c));const u=i.rowData.length-l;if(i.rowCount!=null&&i.rowCount!==-1)this.numberOfRows=i.rowCount,this.isLastRowKnown=!0,this.isLastRowInferred=!1;else if(t>u)this.numberOfRows=e+u,this.isLastRowKnown=!0,this.isLastRowInferred=!0;else if(!this.isLastRowKnown){const h=e+u+1;h>this.numberOfRows&&(this.numberOfRows=h)}this.isLastRowKnown&&this.nodeMap.filter(p=>p.index>=this.numberOfRows).forEach(p=>this.destroyRowAtIndex(p.index)),this.gos.get("serverSideEnableClientSideSort")&&this.isStoreFullyLoaded()&&this.clientSideSortRows(),this.fireStoreUpdatedEvent();const d=this.nodesToRefresh.size===0;a&&d&&this.fireRefreshFinishedEvent()}fireRefreshFinishedEvent(){this.nodesToRefresh.size===0&&(this.removedNodeCache.forEach(t=>{this.blockUtils.destroyRowNode(t)}),this.removedNodeCache=new Map,this.store.fireRefreshFinishedEvent())}isStoreFullyLoaded(){const e=this.isLastRowKnown,t=this.nodeMap.getSize()===this.numberOfRows;if(!e||!t||this.nodesToRefresh.size>0)return!1;for(let i=0;i<this.numberOfRows;i++){const r=this.nodeMap.getBy("index",i);if(!r)return!1;const{node:n}=r;if(n.__needsRefreshWhenVisible||n.stub)return!1}return!0}isLastRowIndexKnown(){return this.isLastRowKnown}isLastRowIndexInferred(){return this.isLastRowInferred}onLoadFailed(e,t){if(!this.live)return;const i=this.nodesToRefresh.size>0;for(let n=e;n<e+t&&n<this.getRowCount();n++){let{node:o}=this.nodeMap.getBy("index",n)??{};o&&this.nodesToRefresh.delete(o),o?.stub||(o&&!o.stub&&this.destroyRowAtIndex(n),o=this.createRowAtIndex(n)),o.__needsRefreshWhenVisible=!1,o.failedLoad=!0}const r=this.nodesToRefresh.size===0;i&&r&&this.fireRefreshFinishedEvent(),this.fireStoreUpdatedEvent()}markNodesForRefresh(){this.nodeMap.forEach(e=>{e.node.stub&&!e.node.failedLoad||this.nodesToRefresh.add(e.node)}),this.lazyBlockLoadingSvc.queueLoadCheck(),this.isLastRowKnown&&this.numberOfRows===0?(this.numberOfRows=1,this.isLastRowKnown=!1,this.fireStoreUpdatedEvent()):this.isLastRowKnown&&this.isLastRowInferred&&(this.isLastRowKnown=!1)}isNodeInCache(e){return!!this.nodeMap.getBy("id",e)}fireStoreUpdatedEvent(){this.live&&this.store.fireStoreUpdatedEvent()}getRowId(e){if(this.getRowIdFunc==null)return null;const{level:t}=this.store.getRowDetails(),i=this.store.getParentNode().getRoute()??[];return this.getRowIdFunc({data:e,parentKeys:i.length>0?i:void 0,level:t})}setGrandTotalData(e){const t=this.store;if(t.grandTotalData=e,!(e==null||!t.getGrandTotalNode()))return this.createOrUpdateGrandTotalNode(e)}createOrUpdateGrandTotalNode(e){const t=this.store.getGrandTotalNode();if(t)return t._updateDataNoSibling(e),t;const i=this.store.getParentNode(),r=_createRowNodeFooter(i,this.beans,import_ag_grid_community230.GRAND_TOTAL_ROW_ID);r.group=!1,r.stub=!1,r.data=e;const n=(0,import_ag_grid_community230._getRowHeightForNode)(this.beans,r);return r.setRowHeight(n.height,n.estimated),this.nodeManager.addRowNode(r),r}getOrderedNodeMap(){const e={};return this.nodeMap.forEach(t=>e[t.index]=t),e}clearDisplayIndexes(){this.nodeDisplayIndexMap.clear()}clientSideSortRows(){const e=this.sortSvc?.getSortOptions()??[],t=e.some(a=>a.sort!=null),i=this.rowNodeSorter;if(!t||!i)return;const r=new Array(this.nodeMap.getSize()),n=this.nodeMap;n.forEach(a=>r[a.index]=a.node),n.clear();const o=i.doFullSortInPlace(r,e);for(let a=0,l=o.length;a<l;++a){const c=o[a];n.set({id:c.id,node:c,index:a})}}updateRowNodes(e){const t=[],{blockUtils:i,nodeMap:r}=this;for(const n of e){const o=this.getRowId(n);if(o===import_ag_grid_community230.GRAND_TOTAL_ROW_ID){const l=this.setGrandTotalData(n);l&&t.push(l);continue}const a=r.getBy("id",o);a&&(i.updateDataIntoRowNode(a.node,n),t.push(a.node))}return t}insertRowNodes(e,t){const i=this.store.getRowCount()-(this.store.getParentNode().sibling?1:0),r=t==null&&this.isLastRowKnown?i:t;if(r==null||i<r)return[];const n={};e.forEach(c=>{const u=this.getRowId(c);if(u===import_ag_grid_community230.GRAND_TOTAL_ROW_ID){this.setGrandTotalData(c);return}u&&this.isNodeInCache(u)||(n[u]=c)});const o=Object.values(n),a=o.length;if(a===0)return[];const l=this.nodeMap.filter(c=>c.index>=r);return l.forEach(c=>this.nodeMap.delete(c)),l.forEach(c=>{this.nodeMap.set({node:c.node,index:c.index+a,id:c.id})}),this.numberOfRows+=a,o.map((c,u)=>this.createRowAtIndex(r+u,c))}removeRowNodes(e,t){const i=[],r=[],n=new Set(e);n.delete(import_ag_grid_community230.GRAND_TOTAL_ROW_ID)&&this.setGrandTotalData(null);let o=0;const a=this.getOrderedNodeMap();let l=-1;for(const u of Object.keys(a)){l+=1;const d=a[u];if(n.has(d.id)){n.delete(d.id),this.destroyRowAtIndex(Number(u)),i.push(d.node),o+=1;continue}if(o===0)continue;const h=Number(u);l!==h&&r.push(d.node),this.nodeMap.delete(d),this.nodeMap.set({id:d.id,node:d.node,index:h-o})}return t!=null&&t>=0?(this.numberOfRows=t,this.isLastRowKnown=!0,this.isLastRowInferred=!1):this.numberOfRows-=o,n.size>0&&r.length>0&&(r.forEach(u=>u.__needsRefreshWhenVisible=!0),this.lazyBlockLoadingSvc.queueLoadCheck()),i}getBlockSize(){return this.storeParams.cacheBlockSize||DEFAULT_BLOCK_SIZE}getBlockStartIndex(e){const t=this.getBlockSize();return e-e%t}getBlockBounds(e){const t=this.getBlockStartIndex(e),i=this.getBlockSize();return[t,t+i]}},LazyStore=class extends import_ag_grid_community231.BeanStub{constructor(e,t,i){super(),this.idSequence={value:0},this.ssrmParams=e,this.parentRowNode=i,this.storeParams=t,this.level=i.level+1,this.group=e.rowGroupCols?this.level<e.rowGroupCols.length:!1,this.leafGroup=e.rowGroupCols?this.level===e.rowGroupCols.length-1:!1,this.info={}}wireBeans(e){this.blockUtils=e.ssrmBlockUtils,this.storeUtils=e.ssrmStoreUtils,this.selectionSvc=e.selectionSvc,this.rowGroupColsSvc=e.rowGroupColsSvc}postConstruct(){let e=1;if(this.level===0&&(e=this.storeUtils.getServerSideInitialRowCount()??1,this.eventSvc.dispatchEventOnce({type:"rowCountReady"})),this.cache=this.createManagedBean(new LazyCache(this,e,!1,this.storeParams)),!this.gos.get("treeData")&&this.group&&this.rowGroupColsSvc){const i=this.ssrmParams.rowGroupCols[this.level];this.groupField=i.field,this.rowGroupColumn=this.rowGroupColsSvc.columns[this.level]}}destroy(){this.displayIndexStart=void 0,this.displayIndexEnd=void 0,this.grandTotalData=void 0,this.destroyGrandTotalRow(),this.destroyBean(this.cache),super.destroy()}getGrandTotalNode(){if(this.parentRowNode.level===-1){const e=this.parentRowNode.sibling;if(e?.footer)return e}}destroyGrandTotalRow(){const e=this.getGrandTotalNode();e&&(this.parentRowNode.sibling=void 0,this.blockUtils.destroyRowNode(e))}applyRowData(e,t,i){this.cache.onLoadSuccess(t,i,e)}applyTransaction(e){const t=(0,import_ag_grid_community231._getRowIdCallback)(this.beans);if(!t)return this.warn(206),{status:import_ag_grid_community231.ServerSideTransactionResultStatus.Cancelled};const i=this.gos.getCallback("isApplyServerSideTransaction");if(i){const d={transaction:e,parentNode:this.parentRowNode,groupLevelInfo:this.info};if(!i(d))return{status:import_ag_grid_community231.ServerSideTransactionResultStatus.Cancelled}}const r=this.cache.isStoreFullyLoaded();let n;e.update?.length&&(n=this.cache.updateRowNodes(e.update));let o;if(e.add?.length){let d=e.addIndex;d!=null&&d<0&&(d=void 0),o=this.cache.insertRowNodes(e.add,d)}let a;if(e.remove?.length){const d=e.remove.map(p=>t({level:this.level,parentKeys:this.parentRowNode.getRoute()??[],data:p})),h=[...new Set(d)];a=this.cache.removeRowNodes(h,e.rowCount)}const l=this.gos.get("serverSideEnableClientSideSort"),c=n?.length||o?.length;return r&&l&&c&&this.cache.clientSideSortRows(),this.updateSelectionAfterTransaction(n,a),{status:import_ag_grid_community231.ServerSideTransactionResultStatus.Applied,update:n,add:o,remove:a}}updateSelectionAfterTransaction(e,t){if(!this.selectionSvc)return;const i=[];for(const r of e??[])r.isSelected()&&!r.selectable&&i.push(r);for(const r of t??[])r.isSelected()&&i.push(r);i.length&&this.selectionSvc.setNodesSelected({newValue:!1,clearSelection:!1,nodes:i,source:"rowDataChanged"})}clearDisplayIndexes(){this.displayIndexStart=void 0,this.displayIndexEnd=void 0,this.cache.getNodes().forEach(e=>this.blockUtils.clearDisplayIndex(e.node)),this.parentRowNode.sibling&&this.blockUtils.clearDisplayIndex(this.parentRowNode.sibling),this.cache.clearDisplayIndexes()}getDisplayIndexStart(){return this.displayIndexStart}getDisplayIndexEnd(){return this.displayIndexEnd}getRowCount(){const e=this.cache.getRowCount();return this.parentRowNode.sibling?e+1:e}setRowCount(e,t){this.cache.setRowCount(e,t)}isDisplayIndexInStore(e){return this.getRowCount()===0?!1:this.displayIndexStart<=e&&e<this.getDisplayIndexEnd()}getGroupTotalRowPosition(){if(this.parentRowNode.level!==-1&&!(this.cache.isLastRowIndexKnown()&&this.cache.getRowCount()===0))return(0,import_ag_grid_community231._getGroupTotalRowCallback)(this.gos)({node:this.parentRowNode})||void 0}setDisplayIndexes(e,t,i){this.displayIndexStart=e.value,this.topPx=t.value;const r=this.getGroupTotalRowPosition();!r&&this.parentRowNode.level>-1&&_destroyRowNodeFooter(this.parentRowNode),r==="top"&&this.blockUtils.setDisplayIndex(_createRowNodeFooter(this.parentRowNode,this.beans),e,t,i);let n,o;if(this.parentRowNode.level===-1){const a=(0,import_ag_grid_community231._getGrandTotalRow)(this.gos);let l=this.getGrandTotalNode();a&&this.grandTotalData?l||(l=this.cache.createOrUpdateGrandTotalNode(this.grandTotalData)):l&&(this.destroyGrandTotalRow(),l=void 0);const c=(0,import_ag_grid_community231._getGrandTotalPinnedFloat)(a);this.beans.pinnedRowModel?.setGrandTotalPinned(c),l&&(c?this.blockUtils.clearDisplayIndex(l):a==="top"?n=l:a==="bottom"&&(o=l))}n&&this.blockUtils.setDisplayIndex(n,e,t,i),this.cache.setDisplayIndexes(e,t,i),r==="bottom"&&this.blockUtils.setDisplayIndex(_createRowNodeFooter(this.parentRowNode,this.beans),e,t,i),o&&this.blockUtils.setDisplayIndex(o,e,t,i),this.displayIndexEnd=e.value,this.heightPx=t.value-this.topPx}forEachStoreDeep(e,t={value:0}){e(this,t.value++),this.cache.getNodes().forEach(i=>{const r=i.node.childStore;r&&r.forEachStoreDeep(e,t)})}forEachNodeDeep(e,t={value:0}){this.cache.getNodes().forEach(i=>{e(i.node,t.value++);const r=i.node.childStore;r&&r.forEachNodeDeep(e,t)})}forEachNodeDeepAfterFilterAndSort(e,t={value:0},i=!1){const r=this.getGroupTotalRowPosition(),n=this.parentRowNode.sibling;r==="top"&&n&&e(n,t.value++);const o=this.parentRowNode.level===-1?(0,import_ag_grid_community231._getGrandTotalRow)(this.gos):void 0,a=this.getGrandTotalNode();o==="top"&&a&&e(a,t.value++);const l=this.cache.getOrderedNodeMap();for(const c of Object.values(l)){e(c.node,t.value++);const u=c.node.childStore;u&&u.forEachNodeDeepAfterFilterAndSort(e,t,i)}r==="bottom"&&n&&e(n,t.value++),o==="bottom"&&a&&e(a,t.value++)}retryLoads(){this.cache.getNodes().forEach(({node:e})=>{e.failedLoad&&(e.failedLoad=!1,e.__needsRefreshWhenVisible=!0,e.stub=!0)}),this.forEachChildStoreShallow(e=>e.retryLoads()),this.fireStoreUpdatedEvent()}getRowUsingDisplayIndex(e){return e===this.parentRowNode.sibling?.rowIndex?this.parentRowNode.sibling:this.cache.getRowByDisplayIndex(e)}getRowBounds(e){if(!this.isDisplayIndexInStore(e))return null;const t=this.cache.getNodeCachedByDisplayIndex(e);if(t){const l=this.blockUtils.extractRowBounds(t,e);if(l)return l}const{previousNode:i,nextNode:r}=this.cache.getSurroundingNodesByDisplayIndex(e)??{};if(i){const l=this.blockUtils.extractRowBounds(i.node,e);if(l!=null)return l}const n=(0,import_ag_grid_community231._getRowHeightAsNumber)(this.beans);if(r){const l=(r.node.rowIndex-e)*n;return{rowTop:r.node.rowTop-l,rowHeight:n}}const o=this.topPx+this.heightPx,a=(this.getDisplayIndexEnd()-e)*n;return{rowTop:o-a,rowHeight:n}}isPixelInRange(e){return e>=this.topPx&&e<this.topPx+this.heightPx}getRowIndexAtPixel(e){if(e<this.topPx)return this.getDisplayIndexStart();if(e>=this.topPx+this.heightPx)return this.getDisplayIndexEnd()-1;if(this.parentRowNode.sibling&&e>this.parentRowNode.sibling.rowTop&&e<this.parentRowNode.sibling.rowTop+this.parentRowNode.sibling.rowHeight)return this.parentRowNode.sibling.rowIndex;let t=Number.MAX_SAFE_INTEGER,i=null,r=Number.MAX_SAFE_INTEGER,n=null;if(this.cache.getNodes().forEach(({node:c})=>{const u=Math.abs(e-c.rowTop);if(c.rowTop<e){u<t&&(t=u,i=c);return}u<r&&(r=u,n=c)}),i=i,n=n,i){const c=this.blockUtils.getIndexAtPixel(i,e);if(c!=null)return c}const o=(0,import_ag_grid_community231._getRowHeightAsNumber)(this.beans);if(n){const c=n.rowTop,u=Math.ceil((c-e)/o);return n.rowIndex-u}const a=this.topPx+this.heightPx,l=Math.floor((a-e)/o);return this.getDisplayIndexEnd()-l}getChildStore(e){return this.storeUtils.getChildStore(e,this,t=>{const i=this.cache.getNodes().find(r=>r.node.key==t);return i?i.node:null})}forEachChildStoreShallow(e){this.cache.getNodes().forEach(({node:t})=>{t.childStore&&e(t.childStore)})}refreshAfterSort(e){if(this.storeUtils.isServerSideSortAllLevels()||this.storeUtils.isServerRefreshNeeded(this.parentRowNode,this.ssrmParams.rowGroupCols,e)){const i=this.cache.isStoreFullyLoaded(),r=this.gos.get("serverSideEnableClientSideSort");if(!(i&&r)){const o=this.cache.getRowCount(),a=this.cache.isLastRowIndexKnown(),l=this.cache.isLastRowIndexInferred();this.destroyBean(this.cache),this.cache=this.createManagedBean(new LazyCache(this,o,a,this.storeParams,l));return}this.cache.clientSideSortRows()}this.forEachChildStoreShallow(i=>i.refreshAfterSort(e))}refreshAfterFilter(e){if(!this.storeUtils.isServerSideOnlyRefreshFilteredGroups()||this.storeUtils.isServerRefreshNeeded(this.parentRowNode,this.ssrmParams.rowGroupCols,e)){this.refreshStore(!0);return}this.forEachChildStoreShallow(i=>i.refreshAfterFilter(e))}refreshStore(e){if(e){this.grandTotalData=void 0,this.destroyGrandTotalRow(),this.destroyBean(this.cache),this.cache=this.createManagedBean(new LazyCache(this,1,!1,this.storeParams)),this.fireStoreUpdatedEvent();return}this.cache.markNodesForRefresh()}getTopLevelRowDisplayedIndex(e){return this.cache.getDisplayIndexFromStoreIndex(e)??e}isLastRowIndexKnown(){return this.cache.isLastRowIndexKnown()}getRowNodesInRange(e,t){return this.cache.getNodes().filter(({node:i})=>i.rowIndex>=e.rowIndex&&i.rowIndex<=t.rowIndex).map(({node:i})=>i)}addStoreStates(e){e.push({route:this.parentRowNode.getRoute()??[],rowCount:this.getRowCount(),lastRowIndexKnown:this.isLastRowIndexKnown(),info:this.info,maxBlocksInCache:this.storeParams.maxBlocksInCache,cacheBlockSize:this.storeParams.cacheBlockSize}),this.forEachChildStoreShallow(t=>t.addStoreStates(e))}getIdSequence(){return this.idSequence}getParentNode(){return this.parentRowNode}getRowDetails(){return{field:this.groupField,group:this.group,leafGroup:this.leafGroup,level:this.level,parent:this.parentRowNode,rowGroupColumn:this.rowGroupColumn}}getSsrmParams(){return this.ssrmParams}setStoreInfo(e){e&&Object.assign(this.info,e)}fireStoreUpdatedEvent(){this.eventSvc.dispatchEvent({type:"storeUpdated"})}fireRefreshFinishedEvent(){this.eventSvc.dispatchEvent({type:"storeRefreshed",route:this.parentRowNode.getRoute()})}getBlockStates(){return this.cache.getBlockStates()}getStoreBounds(){return{topPx:this.topPx,heightPx:this.heightPx}}getCache(){return this.cache}getFirstNode(){return this.cache.getNodes().getBy("index",0)?.node??null}},StoreFactory=class extends import_ag_grid_community232.BeanStub{constructor(){super(...arguments),this.beanName="ssrmStoreFactory"}wireBeans(e){this.colModel=e.colModel,this.rowGroupColsSvc=e.rowGroupColsSvc,this.pivotColsSvc=e.pivotColsSvc,this.rowAutoHeight=e.rowAutoHeight}createStore(e,t){const i=this.getStoreParams(e,t);return new LazyStore(e,i,t)}getStoreParams(e,t){const i=this.getLevelSpecificParams(t),r=this.getBlockSize(i),n=this.getMaxBlocksInCache(e,i);return{cacheBlockSize:r,maxBlocksInCache:n}}getMaxBlocksInCache(e,t){const i=t?.maxBlocksInCache!=null?t.maxBlocksInCache:this.gos.get("maxBlocksInCache");if(i!=null&&i>=0){if(e.dynamicRowHeight){this.warn(203);return}if(this.rowAutoHeight?.active){this.warn(204);return}return i}}getBlockSize(e){const t=e?.cacheBlockSize!=null?e.cacheBlockSize:this.gos.get("cacheBlockSize");return t!=null&&t>0?t:100}getLevelSpecificParams(e){const t=this.gos.getCallback("getServerSideGroupLevelParams");if(!t)return;const i={level:e.level+1,parentRowNode:e.level>=0?e:void 0,rowGroupColumns:this.rowGroupColsSvc?.columns??[],pivotColumns:this.pivotColsSvc?.columns??[],pivotMode:this.colModel.pivotMode};return t(i)}},import_ag_grid_community233=require("ag-grid-community"),StoreUtils=class extends import_ag_grid_community233.BeanStub{constructor(){super(...arguments),this.beanName="ssrmStoreUtils"}wireBeans(e){this.colModel=e.colModel,this.serverSideRowModel=e.rowModel,this.storeFactory=e.ssrmStoreFactory}getChildStore(e,t,i){if(!e?.length)return t;const r=e[0],n=i(r);if(n){if(e.length===1&&!n.childStore){const l=this.serverSideRowModel.getParams();n.childStore=this.createBean(this.storeFactory.createStore(l,n))}const o=e.slice(1,e.length),a=n.childStore;return a?a.getChildStore(o):null}return null}isServerRefreshNeeded(e,t,i){if(i.valueColChanged||i.secondaryColChanged)return!0;const r=e.level+1;if(!(r<t.length))return!0;const a=t[r].id;return i.changedColumns.indexOf(a)>-1?!0:this.colModel.getCols().filter(d=>d.showRowGroup&&i.changedColumns.includes(d.getId())).map(d=>d.showRowGroup).some(d=>d===!0||d===a)}getServerSideInitialRowCount(){return this.gos.get("serverSideInitialRowCount")}isServerSideSortAllLevels(){return this.gos.get("serverSideSortAllLevels")&&(0,import_ag_grid_community233._isServerSideRowModel)(this.gos)}isServerSideOnlyRefreshFilteredGroups(){return this.gos.get("serverSideOnlyRefreshFilteredGroups")&&(0,import_ag_grid_community233._isServerSideRowModel)(this.gos)}},import_ag_grid_community234=require("ag-grid-community"),TransactionManager=class extends import_ag_grid_community234.BeanStub{constructor(){super(...arguments),this.beanName="ssrmTxnManager",this.asyncTransactions=[]}wireBeans(e){this.valueCache=e.valueCache,this.serverSideRowModel=e.rowModel,this.selectionSvc=e.selectionSvc}applyTransactionAsync(e,t){this.asyncTransactionsTimeout==null&&this.scheduleExecuteAsync(),this.asyncTransactions.push({transaction:e,callback:t})}scheduleExecuteAsync(){const e=this.gos.get("asyncTransactionWaitMillis");this.asyncTransactionsTimeout=window.setTimeout(()=>{this.executeAsyncTransactions()},e)}executeAsyncTransactions(){if(!this.asyncTransactions)return;const e=[],t=[],i=[];let r=!1;for(const n of this.asyncTransactions){let o;if(this.serverSideRowModel.executeOnStore(n.transaction.route,c=>{o=c.applyTransaction(n.transaction)})?o==null&&(o={status:import_ag_grid_community234.ServerSideTransactionResultStatus.StoreNotFound}):o={status:import_ag_grid_community234.ServerSideTransactionResultStatus.StoreNotStarted},t.push(o),o.status==import_ag_grid_community234.ServerSideTransactionResultStatus.StoreLoading){i.push(n);continue}n.callback&&e.push(()=>n.callback(o)),o.status===import_ag_grid_community234.ServerSideTransactionResultStatus.Applied&&(r=!0)}e.length>0&&window.setTimeout(()=>{for(const n of e)n()},0),this.asyncTransactionsTimeout=void 0,this.asyncTransactions=i,r&&(this.valueCache?.onDataChanged(),this.eventSvc.dispatchEvent({type:"storeUpdated"})),t.length>0&&this.eventSvc.dispatchEvent({type:"asyncTransactionsFlushed",results:t})}flushAsyncTransactions(){this.asyncTransactionsTimeout!=null&&clearTimeout(this.asyncTransactionsTimeout),this.executeAsyncTransactions()}applyTransaction(e){let t;if(this.serverSideRowModel.executeOnStore(e.route,r=>{t=r.applyTransaction(e)}))if(t){if(this.valueCache?.onDataChanged(),t.remove&&this.selectionSvc){const r=t.remove.map(n=>n.id);this.selectionSvc.deleteSelectionStateFromParent(e.route||[],r)}return this.eventSvc.dispatchEvent({type:"storeUpdated"}),t}else return{status:import_ag_grid_community234.ServerSideTransactionResultStatus.StoreNotFound};else return{status:import_ag_grid_community234.ServerSideTransactionResultStatus.StoreNotStarted}}},ServerSideRowModelModule={moduleName:"ServerSideRowModel",version:VERSION,rowModels:["serverSide"],beans:[ServerSideRowModel,ExpandListener,StoreUtils,BlockUtils,NodeManager,TransactionManager,FilterListener,StoreFactory,ListenerUtils,ServerSideSelectionService,LazyBlockLoadingService,SsrmRowChildrenService,ServerSideExpansionService,SortListener],dependsOn:[EnterpriseCoreModule,import_ag_grid_community235._SortModule,import_ag_grid_community235._SharedRowSelectionModule,SharedPivotModule,SharedTreeDataModule,LoadingCellRendererModule]},ServerSideRowModelApiModule={moduleName:"ServerSideRowModelApi",version:VERSION,apiFunctions:{getServerSideSelectionState,setServerSideSelectionState,applyServerSideTransaction,applyServerSideTransactionAsync,applyServerSideRowData,retryServerSideLoads,flushServerSideAsyncTransactions,refreshServerSide,getServerSideGroupLevelState,resetRowHeights:import_ag_grid_community235.resetRowHeights,onRowHeightChanged:import_ag_grid_community235.onRowHeightChanged},dependsOn:[EnterpriseCoreModule,import_ag_grid_community235._RowModelSharedApiModule,import_ag_grid_community235._CsrmSsrmSharedApiModule,import_ag_grid_community235._SsrmInfiniteSharedApiModule]},import_ag_stack149=require("ag-stack"),import_ag_grid_community240=require("ag-grid-community"),import_ag_stack148=require("ag-stack"),import_ag_grid_community239=require("ag-grid-community"),CELL_OR_RANGE_REGEX=/\$?[A-Za-z]+\$?[0-9]+(?::\$?[A-Za-z]+\$?[0-9]+)?/g,FULL_CELL_OR_RANGE_REGEX=/^(\$?)([A-Za-z]+)(\$?)([0-9]+)(?::(\$?)([A-Za-z]+)(\$?)([0-9]+))?$/,WORD_CHAR_REGEX=/[A-Za-z0-9]/,isFormulaIdentChar=e=>!!e&&WORD_CHAR_REGEX.test(e),isFormulaIdentStart=e=>!!e&&/[A-Za-z]/.test(e),isValidFunctionName=e=>{if(!isFormulaIdentStart(e[0]))return!1;for(let t=1,i=e.length;t<i;++t)if(!isFormulaIdentChar(e[t]))return!1;return!0},isWordChar=e=>isFormulaIdentChar(e??void 0),isStandaloneRefToken=(e,t,i)=>{const r=t>0?e[t-1]:null;if(isWordChar(r))return!1;if(i.endsWith(":"))return!0;const n=t+i.length,o=n<e.length?e[n]:null;return!isWordChar(o)},parseA1Ref=(e,t={})=>{const r=(t.allowTrailingColon??!1)&&e.endsWith(":")?e.slice(0,-1):e,n=FULL_CELL_OR_RANGE_REGEX.exec(r);if(!n)return null;const[,o,a,l,c,u,d,h,p]=n;return{startCol:a,startRow:c,startColAbsolute:o==="$",startRowAbsolute:l==="$",...!!(d&&p)?{endCol:d,endRow:p,endColAbsolute:u==="$",endRowAbsolute:h==="$"}:null}},getRefTokenMatches=e=>{const t=[];let i,r=0;for(CELL_OR_RANGE_REGEX.lastIndex=0;(i=CELL_OR_RANGE_REGEX.exec(e))!=null;){let n=i[0];const o=i.index??0,a=o+n.length;a<e.length&&e[a]===":"&&(n+=":"),isStandaloneRefToken(e,o,n)&&(t.push({ref:n,start:o,end:o+n.length,index:r}),r+=1)}return t},agFormulaInputField_default=".ag-formula-token{line-height:var(--ag-line-height,1.6)}.ag-formula-token-color-1{color:var(--ag-formula-token-1-color)}.ag-formula-token-color-2{color:var(--ag-formula-token-2-color)}.ag-formula-token-color-3{color:var(--ag-formula-token-3-color)}.ag-formula-token-color-4{color:var(--ag-formula-token-4-color)}.ag-formula-token-color-5{color:var(--ag-formula-token-5-color)}.ag-formula-token-color-6{color:var(--ag-formula-token-6-color)}.ag-formula-token-color-7{color:var(--ag-formula-token-7-color)}.ag-formula-range-color-1{--ag-range-selection-border-color:var(--ag-formula-token-1-color);--ag-range-selection-background-color:var(--ag-formula-token-1-background-color)}.ag-formula-range-color-2{--ag-range-selection-border-color:var(--ag-formula-token-2-color);--ag-range-selection-background-color:var(--ag-formula-token-2-background-color)}.ag-formula-range-color-3{--ag-range-selection-border-color:var(--ag-formula-token-3-color);--ag-range-selection-background-color:var(--ag-formula-token-3-background-color)}.ag-formula-range-color-4{--ag-range-selection-border-color:var(--ag-formula-token-4-color);--ag-range-selection-background-color:var(--ag-formula-token-4-background-color)}.ag-formula-range-color-5{--ag-range-selection-border-color:var(--ag-formula-token-5-color);--ag-range-selection-background-color:var(--ag-formula-token-5-background-color)}.ag-formula-range-color-6{--ag-range-selection-border-color:var(--ag-formula-token-6-color);--ag-range-selection-background-color:var(--ag-formula-token-6-background-color)}.ag-formula-range-color-7{--ag-range-selection-border-color:var(--ag-formula-token-7-color);--ag-range-selection-background-color:var(--ag-formula-token-7-background-color)}.ag-fill-handle.ag-formula-range-color-1,.ag-range-handle.ag-formula-range-color-1{background-color:var(--ag-formula-token-1-color)}.ag-fill-handle.ag-formula-range-color-2,.ag-range-handle.ag-formula-range-color-2{background-color:var(--ag-formula-token-2-color)}.ag-fill-handle.ag-formula-range-color-3,.ag-range-handle.ag-formula-range-color-3{background-color:var(--ag-formula-token-3-color)}.ag-fill-handle.ag-formula-range-color-4,.ag-range-handle.ag-formula-range-color-4{background-color:var(--ag-formula-token-4-color)}.ag-fill-handle.ag-formula-range-color-5,.ag-range-handle.ag-formula-range-color-5{background-color:var(--ag-formula-token-5-color)}.ag-fill-handle.ag-formula-range-color-6,.ag-range-handle.ag-formula-range-color-6{background-color:var(--ag-formula-token-6-color)}",import_ag_stack146=require("ag-stack"),import_ag_grid_community237=require("ag-grid-community"),TOKEN_INSERT_AFTER_CHARS=new Set(["=","+","-","*","/","^",",","(",";","<",">","&"]),getPreviousNonSpaceChar=(e,t)=>{for(let i=t-1;i>=0;i--){const r=e[i];if(r!=null&&r.trim()!=="")return r}return null},import_ag_grid_community236=require("ag-grid-community"),FORMULA_TOKEN_COLOR_CLASS="ag-formula-token-color",FORMULA_RANGE_COLOR_CLASS="ag-formula-range-color",getColorClassesForRef=(e,t)=>{const i=t??0;return{tokenClass:`${FORMULA_TOKEN_COLOR_CLASS}-${i+1}`,rangeClass:`${FORMULA_RANGE_COLOR_CLASS}-${i+1}`,colorIndex:i}},getRangeColorIndexFromClass=e=>{if(!e)return null;const t=/ag-formula-range-color-(\d+)/.exec(e);if(!t)return null;const i=parseInt(t[1],10);return Number.isFinite(i)?i-1:null},tagRangeWithFormulaColor=(e,t,i)=>{if(!e)return;const{rangeClass:r}=getColorClassesForRef(t,i);e.colorClass=r},getCellRangeParams=(e,t)=>{const i=parseA1Ref(t,{allowTrailingColon:!0});if(!i)return null;const{formula:r}=e,{startCol:n,startRow:o,endCol:a,endRow:l}=i,c=n,u=a??n,d=r?.getColByRef(c),h=r?.getColByRef(u);if(!d||!h)return null;const p=parseInt(o,10)-1,g=l?parseInt(l,10)-1:p;if(p<0||g<0)return null;const f=e.rowModel;return!f?.getFormulaRow(p)||!f.getFormulaRow(g)?null:{rowStartIndex:p,rowEndIndex:g,columnStart:d,columnEnd:h}},toDisplayRangeParams=(e,t)=>{const i=e.rowModel;if(!i)return null;const{rowStartIndex:r,rowEndIndex:n}=t;let o=null;for(let l=r;l<=n;l++){const c=i.getFormulaRow(l)?.rowIndex;if(c!=null){o=c;break}}let a=null;for(let l=n;l>=r;l--){const c=i.getFormulaRow(l)?.rowIndex;if(c!=null){a=c;break}}return o==null||a==null?null:{...t,rowStartIndex:o,rowEndIndex:a}},getLatestRangeRef=e=>{const t=e.rangeSvc?.getCellRanges(),i=t?.length?t[t.length-1]:null;return i?rangeToRef(e,i):null},rangeToRef=(e,t)=>{const{rangeSvc:i,formula:r}=e;if(!i||!r)return null;const n=i.getRangeStartRow(t),o=i.getRangeEndRow(t);if(!n||!o||n.rowPinned||o.rowPinned)return null;const a=(0,import_ag_grid_community236._getRowNode)(e,n),l=(0,import_ag_grid_community236._getRowNode)(e,o),c=a?.formulaRowIndex,u=l?.formulaRowIndex;if(c==null||u==null)return null;const d=Math.min(c,u)+1,h=Math.max(c,u)+1,p=t.columns?.filter(x=>!(0,import_ag_grid_community236.isSpecialCol)(x)&&!!r.getColRef(x));if(!p?.length)return null;const g=[...p],f=g[0],m=g[g.length-1],v=r.getColRef(f),C=r.getColRef(m);return!v||!C?null:v===C&&d===h?`${v}${d}`:`${v}${d}:${C}${h}`},getRefTokenMatchesForFormula=(e,t)=>{const i=getRefTokenMatches(t),{formula:r}=e;if(!r)return i;const n=[];let o=0;for(const a of i)getCellRangeParams(e,a.ref)&&(n.push({...a,index:o}),o+=1);return n},getRefTokensFromText=(e,t)=>getRefTokenMatchesForFormula(e,t).map(({ref:r,index:n})=>({ref:r,index:n})),FormulaInputAutocompleteFeature=class extends import_ag_grid_community237.BeanStub{constructor(e){super(),this.field=e,this.functionAutocompleteList=null,this.functionAutocompleteToken=null,this.functionAutocompleteEntries=null,this.functionAutocompleteSearch=null}postConstruct(){this.addManagedElementListeners(this.field.getContentElement(),{keydown:this.onContentKeyDown.bind(this),mouseup:this.updateFunctionAutocomplete.bind(this),focusin:this.updateFunctionAutocomplete.bind(this),focusout:this.closeFunctionAutocomplete.bind(this)}),this.addDestroyFunc(()=>this.closeFunctionAutocomplete())}onPlainValueUpdated(){this.closeFunctionAutocomplete()}onFormulaValueUpdated(){this.updateFunctionAutocomplete()}onContentKeyDown(e){if(this.functionAutocompleteList)switch(e.key){case import_ag_grid_community237.KeyCode.ENTER:case import_ag_grid_community237.KeyCode.TAB:e.preventDefault(),e.stopPropagation(),this.confirmFunctionAutocomplete();return;case import_ag_grid_community237.KeyCode.ESCAPE:e.preventDefault(),e.stopPropagation(),this.closeFunctionAutocomplete();return;case import_ag_grid_community237.KeyCode.UP:case import_ag_grid_community237.KeyCode.DOWN:this.functionAutocompleteList.onNavigationKeyDown(e,e.key);return}switch(e.key){case import_ag_grid_community237.KeyCode.LEFT:case import_ag_grid_community237.KeyCode.RIGHT:case import_ag_grid_community237.KeyCode.PAGE_HOME:case import_ag_grid_community237.KeyCode.PAGE_END:this.scheduleFunctionAutocompleteUpdate();break}}scheduleFunctionAutocompleteUpdate(){setTimeout(()=>{this.isAlive()&&this.updateFunctionAutocomplete()})}updateFunctionAutocomplete(){if(!this.isContentFocused()){this.closeFunctionAutocomplete();return}const{field:e,beans:t}=this,i=e.getCurrentValue();if(!i.trimStart().startsWith("=")){this.closeFunctionAutocomplete();return}const n=e.getCaretOffsetsForAutocomplete(i);if(!n){this.closeFunctionAutocomplete();return}if(isCaretInsideRefToken(t,i,n.valueOffset)){this.closeFunctionAutocomplete();return}const o=getFunctionTokenAtOffset(i,n.valueOffset,t.formula??null);if(!o){this.closeFunctionAutocomplete();return}const{prefix:a}=o;if(!a.length){this.closeFunctionAutocomplete();return}const l=this.getFunctionAutocompleteEntries();if(!l.length){this.closeFunctionAutocomplete();return}const c=a.toLocaleLowerCase();if(!l.some(({key:d})=>d.toLocaleLowerCase().startsWith(c))){this.closeFunctionAutocomplete();return}this.functionAutocompleteToken=o,this.openFunctionAutocomplete(l),this.functionAutocompleteList&&this.functionAutocompleteSearch!==a&&(this.functionAutocompleteList.setSearch(a),this.functionAutocompleteSearch=a)}getFunctionAutocompleteEntries(){const e=this.beans.formula,t=e?.active?e.getFunctionNames?.()??[]:[];return this.functionAutocompleteEntries?.length!==t.length&&(this.functionAutocompleteEntries=t.map(i=>({key:i}))),this.functionAutocompleteEntries}openFunctionAutocomplete(e){if(this.functionAutocompleteList||!e.length)return;const t=this.beans.popupSvc;if(!t)return;let i=null;const r=()=>{this.functionAutocompleteList&&i&&t.positionPopupByComponent(i)};this.functionAutocompleteList=this.createManagedBean(new AgAutocompleteList({autocompleteEntries:e,onConfirmed:()=>this.confirmFunctionAutocomplete(),useStartsWithSearch:!0,autoSizeList:!0,maxVisibleItems:10,onListHeightChanged:r}));const n=this.functionAutocompleteList.getGui();i={ePopup:n,type:"autocomplete",eventSource:this.field.getGui(),position:"under",alignSide:this.gos.get("enableRtl")?"right":"left",keepWithinBounds:!0};const o=t.addPopup({eChild:n,anchorToElement:this.field.getGui(),positionCallback:r,ariaLabel:"Formula functions"});this.functionAutocompleteHidePopup=o.hideFunc,this.functionAutocompleteList.afterGuiAttached()}closeFunctionAutocomplete(){this.functionAutocompleteToken=null,this.functionAutocompleteSearch=null,this.functionAutocompleteList&&(this.functionAutocompleteHidePopup?.(),this.functionAutocompleteHidePopup=void 0,this.destroyBean(this.functionAutocompleteList),this.functionAutocompleteList=null)}confirmFunctionAutocomplete(){const e=this.functionAutocompleteToken,t=this.functionAutocompleteList?.getSelectedValue();if(!e||!t){this.closeFunctionAutocomplete();return}const{field:i}=this,r=i.getCurrentValue(),n=t.key,o=r.slice(0,e.start)+n+r.slice(e.end),a=e.start+n.length,l=o[a]==="("?o:o.slice(0,a)+"("+o.slice(a);i.getContentElement().focus({preventScroll:!0}),i.applyFormulaValueChange({currentValue:r,nextValue:l,caret:a+1}),this.closeFunctionAutocomplete()}isContentFocused(){return(0,import_ag_stack146._getDocument)(this.beans).activeElement===this.field.getContentElement()}},getFunctionTokenAtOffset=(e,t,i)=>{if(t<0||t>e.length||isInsideStringLiteral(e,t))return null;let r=t;for(;r>0&&isFormulaIdentChar(e[r-1]);)r--;let n=t;for(;n<e.length&&isFormulaIdentChar(e[n]);)n++;if(r===n)return null;let o=n;if(t!==n){const c=e.slice(t,n),u=parseA1Ref(c);u&&(!i||i.getColByRef(u.startCol))&&(o=t)}const a=e.slice(r,o);if(!a||!isFormulaIdentStart(a[0])||e[r-1]==="$")return null;const l=getPreviousNonSpaceChar(e,r);return l!=null&&!TOKEN_INSERT_AFTER_CHARS.has(l)?null:{start:r,end:o,prefix:e.slice(r,t)}},isCaretInsideRefToken=(e,t,i)=>{for(const r of getRefTokenMatchesForFormula(e,t))if(i>=r.start&&i<=r.end)return!0;return!1},isInsideStringLiteral=(e,t)=>{let i=!1;for(let r=0;r<t&&r<e.length;r++)if(e[r]==='"'){if(e[r+1]==='"'){r++;continue}i=!i}return i},import_ag_stack147=require("ag-stack"),import_ag_grid_community238=require("ag-grid-community"),FormulaInputRangeSyncFeature=class extends import_ag_grid_community238.BeanStub{constructor(e){super(),this.field=e,this.rangeSelectionEnabled=!1,this.trackedRangeRefs=new Map,this.trackedRanges=new Map,this.suppressRangeEvents=!1,this.ignoreNextRangeEvent=!1,this.skipNextValueUpdate=!1,this.suppressSelectionChangeHandling=!1,this.handleEditorDeactivated=()=>{this.rangeSelectionEnabled=!1,this.suppressRangeEvents=!1,this.ignoreNextRangeEvent=!1,this.skipNextValueUpdate=!1,this.clearTrackedRanges(!0)}}postConstruct(){this.addManagedEventListeners({cellSelectionChanged:this.onCellSelectionChanged.bind(this)}),this.addDestroyFunc(()=>this.disableRangeSelectionWhileEditing()),this.addDestroyFunc(()=>this.unregisterActiveEditor())}onValueUpdated(e,t){if(this.skipNextValueUpdate){this.skipNextValueUpdate=!1;return}if(this.isActiveEditor()){if(t){this.enableRangeSelectionWhileEditing()&&(this.skipNextValueUpdate=!0,this.field.setValue(e,!0)),this.syncRangesFromFormula(e);return}this.disableRangeSelectionWhileEditing()}}setEditingCellRef(e,t,i){this.editingColumn=e,this.editingRowIndex=t??void 0,this.editingCellRef=i}setEditorActive(e){if(e){this.registerActiveEditor();return}this.unregisterActiveEditor()}withSelectionChangeHandlingSuppressed(e){const t=this.suppressSelectionChangeHandling;this.suppressSelectionChangeHandling=!0;try{e()}finally{this.suppressSelectionChangeHandling=t}}deactivateForFocusLoss(){this.isActiveEditor()&&(this.handleEditorDeactivated(),this.beans.editSvc?.disableRangeSelectionWhileEditing?.(),this.unregisterActiveEditor())}registerActiveEditor(){const e=this.field.getCompId(),{formulaInputManager:t}=this.beans;if(!t||!t.registerActiveEditor(e,this.handleEditorDeactivated))return;this.rangeSelectionEnabled=!1,this.suppressRangeEvents=!1,this.ignoreNextRangeEvent=!1,this.skipNextValueUpdate=!1,this.clearTrackedRanges(!1);const r=this.field.getCurrentValue(),n=r.trimStart().startsWith("=");this.onValueUpdated(r,n)}unregisterActiveEditor(){const e=this.field.getCompId(),{formulaInputManager:t}=this.beans;t&&t.unregisterActiveEditor(e,this.handleEditorDeactivated)}isActiveEditor(){const e=this.field.getCompId(),{formulaInputManager:t}=this.beans;return!!t&&t.isActiveEditor(e)}getTrackedRefCount(e){return this.trackedRangeRefs.get(e)??0}hasTrackedRef(e){return this.getTrackedRefCount(e)>0}addTrackedRef(e){this.trackedRangeRefs.set(e,this.getTrackedRefCount(e)+1)}removeTrackedRef(e){const t=this.getTrackedRefCount(e)-1;if(t<=0){this.trackedRangeRefs.delete(e);return}this.trackedRangeRefs.set(e,t)}enableRangeSelectionWhileEditing(){return this.rangeSelectionEnabled?!1:(this.rangeSelectionEnabled=!0,this.beans.editSvc?.enableRangeSelectionWhileEditing?.(),!0)}disableRangeSelectionWhileEditing(){!this.rangeSelectionEnabled&&!this.trackedRangeRefs.size||(this.rangeSelectionEnabled=!1,this.beans.editSvc?.disableRangeSelectionWhileEditing?.(),this.clearTrackedRanges(this.isActiveEditor()))}clearTrackedRanges(e=!0){e&&Array.from(this.trackedRangeRefs.keys()).forEach(i=>this.removeRangeForRef(i)),this.trackedRangeRefs.clear(),this.trackedRanges.clear()}getLiveRanges(){return this.beans.rangeSvc?.getCellRanges()??[]}withSuppressedRangeEvents(e){this.suppressRangeEvents=!0,e(),this.suppressRangeEvents=!1}setCellRangesSilently(e){const t=this.beans.rangeSvc;t&&this.withSuppressedRangeEvents(()=>t.setCellRanges(e))}getColorIndexForTokenOrRef(e,t){return this.field.getColorIndexForToken(t??null)??this.field.getColorIndexForRef(e)}normaliseRefForComparison(e){return e?(e.endsWith(":")?e.slice(0,-1):e).replace(/\$/g,"").toUpperCase():null}tagRangeColor(e,t,i){const{rangeClass:r}=getColorClassesForRef(t,i);return e.colorClass===r?!1:(tagRangeWithFormulaColor(e,t,i),!0)}trackRange(e,t,i){const r=this.trackedRanges.get(e),n=i!==void 0?i:r?.tokenIndex??null;r?r.ref!==t&&(this.removeTrackedRef(r.ref),this.addTrackedRef(t)):this.addTrackedRef(t),this.trackedRanges.set(e,{ref:t,tokenIndex:n})}getUntrackedFormulaRangesByRef(){const e=new Map,t=this.getLiveRanges();for(const i of t){if(this.trackedRanges.has(i)||getRangeColorIndexFromClass(i.colorClass)==null)continue;const r=rangeToRef(this.beans,i);if(!r||r===this.editingCellRef)continue;const n=e.get(r);n?n.push(i):e.set(r,[i])}return e}syncRangesFromFormula(e){const t=e??this.field.getCurrentValue()??"";if(!this.rangeSelectionEnabled){this.clearTrackedRanges();return}const i=getRefTokensFromText(this.beans,t),r=new Map;for(const u of i){const{ref:d,index:h}=u;if(d===this.editingCellRef)continue;const p=r.get(d)??[];p.push(h),r.set(d,p)}for(const u of Array.from(this.trackedRangeRefs.keys()))r.has(u)||this.removeRangeForRef(u);if(!this.beans.rangeSvc)return;const o=new Set(this.getLiveRanges());for(const[u,d]of this.trackedRanges.entries())o.has(u)||(this.trackedRanges.delete(u),this.removeTrackedRef(d.ref));const a=this.getUntrackedFormulaRangesByRef();let l=!1;for(const[u,d]of r.entries()){const h=[];for(const[g,f]of this.trackedRanges.entries())f.ref===u&&h.push(g);const p=a.get(u);for(;h.length<d.length&&p?.length;){const g=p.shift();g&&h.push(g)}for(;h.length>d.length;){const g=h.pop();g&&this.removeTrackedRange(g)}for(;h.length<d.length;){const g=d[h.length],f=this.addRangeForRef(u,!1,g);if(!f)break;h.push(f)}for(let g=0;g<h.length&&g<d.length;g++){const f=h[g],m=d[g];this.trackRange(f,u,m);const v=this.getColorIndexForTokenOrRef(u,m);this.tagRangeColor(f,u,v)&&(l=!0)}}const c=[];for(const u of a.values())u.length&&c.push(...u);if(c.length){const u=this.getLiveRanges(),d=u.filter(h=>!c.includes(h));d.length!==u.length&&(this.setCellRangesSilently(d),l=!0)}l&&this.refreshRangeStyling()}onCellSelectionChanged(e){if(!this.isActiveEditor()||!this.rangeSelectionEnabled||!this.beans.editSvc?.isRangeSelectionEnabledWhileEditing?.())return;if(this.ignoreNextRangeEvent){this.ignoreNextRangeEvent=!1;return}if(this.suppressSelectionChangeHandling)return;const{finished:t,started:i}=e,r=this.getLiveRanges(),n=r.filter(h=>!this.isSpecialOnlyRange(h));if(n.length!==r.length){this.setCellRangesSilently(n),this.refocusEditingCell();return}const o=r.length?(0,import_ag_stack147._last)(r):null,a=o?rangeToRef(this.beans,o):null,l=!!o&&!this.trackedRanges.has(o)&&!!a&&a!==this.editingCellRef,c=t&&(i||l),u=this.ensureTrackedRangeColors();if(this.suppressRangeEvents){u&&this.refreshRangeStyling();return}if((i||l)&&this.field.rememberCaret(),!l&&this.handleRemovedRangeTokens()){this.field.restoreCaretAfterToken(),this.refocusEditingCell();return}if(this.updateTrackedRangeTokens())return;const d=getLatestRangeRef(this.beans);if(!d||d===this.editingCellRef){this.refocusEditingCell();return}if(c){const{action:h,previousRef:p,tokenIndex:g}=this.field.applyRangeInsert(d);if(h==="none"){this.keepLatestSelectionOnly(o),this.beans.editSvc?.stopEditing(void 0,{source:"edit"});return}if(h==="replace"&&p===d){this.discardLatestRangeForRef(d),this.field.restoreCaretAfterToken(),this.refocusEditingCell();return}this.tagLatestRangeForRef(d,g),this.handleRangeTokenUpdate(p,d,!0,h==="insert",g),this.syncRangesFromFormula(this.field.getCurrentValue()),this.field.restoreCaretAfterToken(),this.refocusEditingCell();return}if(!i&&!t){const{previousRef:h,tokenIndex:p}=this.field.insertOrReplaceToken(d,!1);this.tagLatestRangeForRef(d,p),this.handleRangeTokenUpdate(h,d,!1,!1),this.refocusEditingCell();return}this.tagLatestRangeForRef(d),t&&(this.field.restoreCaretAfterToken(),this.refocusEditingCell())}keepLatestSelectionOnly(e){!e||this.getLiveRanges().length<=1||this.setCellRangesSilently([e])}isSpecialOnlyRange(e){const t=e.columns;return!!t?.length&&t.every(i=>(0,import_ag_grid_community238.isSpecialCol)(i))}handleRangeTokenUpdate(e,t,i,r,n){if(i){!r&&e&&e!==t&&this.removeRangeForRef(e,n),this.addRangeForRef(t,!0,n);return}if(r||!e){this.addTrackedRef(t);return}e!==t&&(this.removeTrackedRef(e),this.addTrackedRef(t))}addRangeForRef(e,t,i){const r=this.beans.rangeSvc;if(!r)return;let n;if(t)n=this.findLatestRangeForRef(e,!0)??this.findLatestRangeForRef(e,!1);else{const o=getCellRangeParams(this.beans,e);if(!o)return;const a=toDisplayRangeParams(this.beans,o);if(!a)return;this.withSuppressedRangeEvents(()=>{n=r.addCellRange(a)})}if(n){const o=this.getColorIndexForTokenOrRef(e,i);this.tagRangeColor(n,e,o),this.trackRange(n,e,i),this.refreshRangeStyling()}return n}findLatestRangeForRef(e,t){const i=this.getLiveRanges();for(let r=i.length-1;r>=0;r--){const n=i[r];if(rangeToRef(this.beans,n)===e&&!(t&&this.trackedRanges.has(n)))return n}}tagLatestRangeForRef(e,t){const{trackedRanges:i}=this,r=this.getLiveRanges(),n=r.length?(0,import_ag_stack147._last)(r):null;if(!n)return;const o=i.get(n)?.tokenIndex??null,a=this.getColorIndexForTokenOrRef(e,t??o);this.tagRangeColor(n,e,a),this.refreshRangeStyling()}discardLatestRangeForRef(e){const t=this.getLiveRanges();if(!t.length)return;const i=(0,import_ag_stack147._last)(t);if(rangeToRef(this.beans,i)===e){if(this.trackedRanges.has(i)){this.removeTrackedRange(i);return}this.setCellRangesSilently(t.slice(0,-1))}}ensureTrackedRangeColors(){const e=this.getLiveRanges();if(!e.length)return!1;let t=!1;for(const i of e){const r=this.trackedRanges.get(i),n=r?.ref??rangeToRef(this.beans,i);if(!n||!this.hasTrackedRef(n))continue;const o=r?.tokenIndex??null,a=this.field.getColorIndexForToken(o),l=getRangeColorIndexFromClass(i.colorClass),c=a??(this.field.hasColorForRef(n)?this.field.getColorIndexForRef(n):this.field.moveColorToRef(void 0,n,l??void 0));c!=null&&(this.tagRangeColor(i,n,c)&&(t=!0),this.trackedRanges.has(i)||this.trackRange(i,n,o))}return t}handleRemovedRangeTokens(){if(!this.beans.rangeSvc||this.trackedRanges.size===0)return!1;const e=this.field.getCurrentValue(),t=getRefTokensFromText(this.beans,e).filter(({ref:c})=>c!==this.editingCellRef);if(!t.length)return!1;const i=this.getLiveRanges(),r=new Set(i),n=new Map;for(const c of i){const u=rangeToRef(this.beans,c);!u||u===this.editingCellRef||n.set(u,(n.get(u)??0)+1)}const o=new Map;for(const c of t){const{ref:u}=c;o.set(u,(o.get(u)??0)+1)}for(const[c,u]of Array.from(o.entries())){const d=n.get(c)??0,h=u-d;h>0?o.set(c,h):o.delete(c)}if(!o.size)return!1;const a=[];for(const[c,u]of Array.from(this.trackedRanges.entries())){if(r.has(c))continue;const{ref:d}=u,h=o.get(d)??0;h<=0||(o.set(d,h-1),a.push({range:c,tracked:u}))}if(!a.length)return!1;a.sort((c,u)=>(u.tracked.tokenIndex??-1)-(c.tracked.tokenIndex??-1));let l=!1;for(const{range:c,tracked:u}of a){const{ref:d,tokenIndex:h}=u;l=this.field.removeTokenRef(d,h??null)||l,this.trackedRanges.delete(c),this.removeTrackedRef(d)}return l&&this.syncRangesFromFormula(this.field.getCurrentValue()),l}refreshRangeStyling(){const{eventSvc:e}=this.beans;e&&(this.ensureTrackedRangeColors(),this.ignoreNextRangeEvent=!0,e.dispatchEvent({type:"cellSelectionChanged",started:!1,finished:!1}))}refocusEditingCell(){const{focusSvc:e}=this.beans,{editingColumn:t,editingRowIndex:i}=this;!e||t==null||i==null||e.setFocusedCell({column:t,rowIndex:i,rowPinned:null,preventScrollOnBrowserFocus:!0})}removeTrackedRange(e){const t=this.trackedRanges.get(e);if(!t)return;const i=this.getLiveRanges(),r=i.filter(n=>n!==e);r.length!==i.length&&this.setCellRangesSilently(r),this.trackedRanges.delete(e),this.removeTrackedRef(t.ref)}removeRangeForRef(e,t){if(!(!e||!this.hasTrackedRef(e))){if(t!=null){let i=!1;for(const[r,n]of Array.from(this.trackedRanges.entries())){const{ref:o,tokenIndex:a}=n;if(!(o!==e||a!==t)){this.removeTrackedRange(r),i=!0;break}}if(!i){for(const[r,n]of Array.from(this.trackedRanges.entries()))if(n.ref===e){this.removeTrackedRange(r);break}}return}for(const[i,r]of Array.from(this.trackedRanges.entries()))r.ref===e&&this.removeTrackedRange(i)}}updateTrackedRangeTokens(){if(!this.beans.rangeSvc)return!1;const e=this.getLiveRanges(),t=this.normaliseRefForComparison(this.editingCellRef);let i=!1;for(const r of e){const n=this.trackedRanges.get(r);if(!n)continue;const{ref:o,tokenIndex:a}=n,l=rangeToRef(this.beans,r),c=this.normaliseRefForComparison(o),u=this.normaliseRefForComparison(l);if(!l||!u||u===c||u===t)continue;const{colorClass:d}=r,p=this.field.getColorIndexForToken(a??null)??this.field.moveColorToRef(o,l,getRangeColorIndexFromClass(d)??void 0),g=this.field.replaceTokenRef(o,l,p,a);g!=null&&(this.tagRangeColor(r,l,p),this.trackRange(r,l,g??a??null),i=!0)}return i&&this.refreshRangeStyling(),i}},FORMULA_TOKEN_COLOR_COUNT=7,DISPLAY_OPERATOR_LOOKUP={"/":"\xF7","*":"\xD7"},VALUE_OPERATOR_LOOKUP={"\xF7":"/","\xD7":"*"},AgFormulaInputField=class extends import_ag_grid_community239.AgContentEditableField{constructor(){super({renderValueToElement:!1,className:"ag-formula-input-field"}),this.currentValue="",this.selectionCaretOffset=null,this.lastTokenValueOffset=null,this.lastTokenValueLength=null,this.lastTokenCaretOffset=null,this.focusFromMouseTime=null,this.suppressNextFocusCaretPlacement=!1,this.formulaColorByRef=new Map,this.registerCSS(agFormulaInputField_default),this.registerCSS(agAutocomplete_default)}postConstruct(){super.postConstruct(),this.rangeSyncFeature=this.createManagedBean(new FormulaInputRangeSyncFeature(this)),this.autocompleteFeature=this.createManagedBean(new FormulaInputAutocompleteFeature(this)),this.addManagedElementListeners(this.getContentElement(),{input:this.onContentInput.bind(this),focus:this.onContentFocus.bind(this),blur:this.onContentBlur.bind(this),mousedown:this.onContentMouseDown.bind(this)})}setValue(e,t){const i=e==null?"":String(e),{isFormula:r,hasFormulaPrefix:n}=this.getFormulaState(i);return r?(this.applyFormulaValue(i,{currentValue:this.getCurrentValue(),silent:t}),this.rangeSyncFeature?.onValueUpdated(i,n),this):(this.applyPlainValue(i,{silent:t,dispatch:!0}),this.rangeSyncFeature?.onValueUpdated(i,n),this)}getCurrentValue(){const e=serializeContent(this.getContentElement());return e!==this.currentValue&&this.setEditorValue(e,!0),this.currentValue}setEditingCellRef(e,t){const i=e?this.beans.formula?.getColRef(e):void 0,r=i&&t!=null&&t!==void 0?`${i}${t+1}`:void 0;if(!r){this.rangeSyncFeature?.setEditingCellRef(void 0,void 0,void 0);return}this.rangeSyncFeature?.setEditingCellRef(e,t,r)}rememberCaret(){const e=getCaretOffset(this.beans,this.getContentElement(),this.getCurrentValue());this.selectionCaretOffset=e??this.currentValue.length}setEditorValue(e,t=!1){return this.currentValue=e,super.setValue(e,t),this}renderFormula(e){renderFormula({beans:this.beans,contentElement:this.getContentElement(),getColorIndexForToken:this.getColorIndexForToken.bind(this),...e})}renderPlainValue(e,t){const i=this.getContentElement(),r=t??getCaretOffset(this.beans,i,this.currentValue);i.textContent=e??"";const n=r!=null?Math.min(r,e.length):null;restoreCaret(this.beans,i,n)}withSelectionChangeHandlingSuppressed(e){if(!this.rangeSyncFeature){e();return}this.rangeSyncFeature.withSelectionChangeHandlingSuppressed(e)}getColorIndexForRef(e){if(!shouldUseTokenColors(this.beans))return null;const t=this.formulaColorByRef.get(e);if(t!=null)return t;const i=this.formulaColorByRef.size%FORMULA_TOKEN_COLOR_COUNT;return this.formulaColorByRef.set(e,i),i}getColorIndexForToken(e){return!shouldUseTokenColors(this.beans)||e==null?null:e%FORMULA_TOKEN_COLOR_COUNT}hasColorForRef(e){return this.formulaColorByRef.has(e)}moveColorToRef(e,t,i){const r=e&&this.formulaColorByRef.has(e)?this.getColorIndexForRef(e):i??this.formulaColorByRef.get(t)??this.getColorIndexForRef(t);return e&&e!==t&&this.formulaColorByRef.delete(e),r==null?null:(this.formulaColorByRef.set(t,r),r)}updateFormulaColorsFromValue(e){if(e=e==null?"":String(e),!shouldUseTokenColors(this.beans)){this.formulaColorByRef.clear();return}const t=getOrderedRefs(this.beans,e);let i=t.length!==this.formulaColorByRef.size;const r=new Map;t.forEach((n,o)=>{const a=o%FORMULA_TOKEN_COLOR_COUNT;r.set(n,a),this.formulaColorByRef.get(n)!==a&&(i=!0)}),i&&(this.formulaColorByRef.clear(),r.forEach((n,o)=>this.formulaColorByRef.set(o,n)))}onContentInput(){const e=this.getContentElement(),t=this.getCurrentValue(),i=getCaretOffset(this.beans,e,t),r=serializeContent(e),{isFormula:n,hasFormulaPrefix:o}=this.getFormulaState(r);if(!n){this.applyPlainValue(r,{caret:i,dispatch:!0}),this.rangeSyncFeature?.onValueUpdated(r,o);return}this.applyFormulaValue(r,{currentValue:t,caret:i??void 0,dispatch:!0}),this.rangeSyncFeature?.onValueUpdated(r,o)}onContentFocus(){if(this.rangeSyncFeature?.setEditorActive(!0),this.suppressNextFocusCaretPlacement){this.suppressNextFocusCaretPlacement=!1;return}const{focusFromMouseTime:e}=this,t=e!=null;this.focusFromMouseTime=null,!t&&(0,import_ag_stack148._placeCaretAtEnd)(this.beans,this.getContentElement())}onContentBlur(e){this.focusFromMouseTime=null;const t=e.relatedTarget,i=t?.closest(".ag-cell-editor"),r=t?.closest(".ag-cell");!t||this.getGui().contains(t)||!i||!r||this.rangeSyncFeature?.deactivateForFocusLoss()}onContentMouseDown(){this.focusFromMouseTime=Date.now()}insertOrReplaceToken(e,t){const i=this.getTokenInsertOffsets(t);if(!i)return{};const{caretOffset:r,valueOffset:n}=i,o=t||this.lastTokenValueLength==null?0:this.lastTokenValueLength,a=this.getCurrentValue(),l=a.slice(0,n)+e+a.slice(n+o),c=getTokenMatchAtOffset(this.beans,l,n)?.index??null;let u;return this.applyFormulaValueChange({currentValue:a,nextValue:l,caret:r+e.length,updateTracking:()=>{u=this.updateLastTokenTracking(e,r,n)}}),{previousRef:u,tokenIndex:c}}removeTokenRef(e,t){const i=this.getCurrentValue(),r=getRefTokenMatchesForFormula(this.beans,i);let n;if(t!=null&&(n=r.find(c=>c.index===t),n&&n.ref!==e&&(n=void 0)),n||(n=r.find(c=>c.ref===e)),!n)return!1;const o=i.slice(0,n.start)+i.slice(n.end),a=this.selectionCaretOffset??n.start,l=Math.min(a,o.length);return this.applyFormulaValueChange({currentValue:i,nextValue:o,caret:l,updateTracking:()=>{this.lastTokenValueOffset=null,this.lastTokenValueLength=null,this.lastTokenCaretOffset=l,this.lastTokenRef=void 0}}),!0}applyRangeInsert(e){const t=this.getCurrentValue(),i=this.getCaretOffsets(t);if(!i){const{previousRef:c,tokenIndex:u}=this.insertOrReplaceToken(e,!0);return{action:"insert",previousRef:c,tokenIndex:u}}const{valueOffset:r}=i,n=getTokenMatchAtOffset(this.beans,t,r);if(n){const{end:c,ref:u}=n;if(u.endsWith(":")&&r===c){const{previousRef:p,tokenIndex:g}=this.insertOrReplaceToken(e,!0);return{action:"insert",previousRef:p,tokenIndex:g}}const{previousRef:d,tokenIndex:h}=this.replaceTokenAtMatch(n,e);return{action:"replace",previousRef:d,tokenIndex:h}}const o=getRawTokenMatchAtOffset(t,r);if(o){const c=t.slice(0,o.start)+e+t.slice(o.end),u=getTokenMatchAtOffset(this.beans,c,o.start)?.index??null,{previousRef:d}=this.replaceTokenAtMatch(o,e,u);return{action:"replace",previousRef:d,tokenIndex:u}}if(!shouldInsertTokenAtOffset(t,r))return{action:"none"};const{previousRef:a,tokenIndex:l}=this.insertOrReplaceToken(e,!0);return{action:"insert",previousRef:a,tokenIndex:l}}restoreCaretAfterToken(){const t=(this.lastTokenCaretOffset??getCaretOffset(this.beans,this.getContentElement(),this.getCurrentValue())??this.currentValue.length)+(this.lastTokenValueLength??0);this.selectionCaretOffset=null,this.suppressNextFocusCaretPlacement=!0,setTimeout(()=>{this.isAlive()&&(this.getContentElement().focus({preventScroll:!0}),(0,import_ag_stack148._getDocument)(this.beans).activeElement===this.getContentElement()&&(this.suppressNextFocusCaretPlacement=!1),restoreCaret(this.beans,this.getContentElement(),t))})}replaceTokenAtMatch(e,t,i){const r=this.getCurrentValue(),n=r.slice(0,e.start)+t+r.slice(e.end);return this.applyFormulaValueChange({currentValue:r,nextValue:n,caret:e.start+t.length,updateTracking:()=>{this.updateLastTokenTracking(t,e.start,e.start)}}),{previousRef:e.ref,tokenIndex:i??e.index}}getValueOffsetFromCaret(e){const t=this.getContentElement();let i=e,r=0;for(const n of Array.from(t.childNodes)){const o=_getNodeTextLength(n),a=getNodeText(n).length;if(i<=o)return r+(o===a?i:0);i-=o,r+=a}return this.currentValue.length}getTokenInsertOffsets(e){return this.getCaretOffsets(this.getCurrentValue(),{useCachedCaret:!0,useCachedValueOffset:!e})}getCaretOffsetsForAutocomplete(e){return this.getCaretOffsets(e)}getCaretOffsets(e,t={useCachedCaret:!1,useCachedValueOffset:!1}){const{beans:i}=this,{useCachedCaret:r,useCachedValueOffset:n}=t,o=this.getContentElement(),a=r?this.selectionCaretOffset??getCaretOffset(i,o,e)??this.currentValue.length:getCaretOffset(i,o,e);if(a==null)return null;const l=n&&this.lastTokenValueOffset!=null?this.lastTokenValueOffset:this.getValueOffsetFromCaret(a);return l==null?null:{caretOffset:a,valueOffset:l}}updateLastTokenTracking(e,t,i){const r=this.lastTokenRef;return this.lastTokenValueOffset=i,this.lastTokenValueLength=e.length,this.lastTokenCaretOffset=t,this.lastTokenRef=e,r}getFormulaState(e){const t=e.trimStart().startsWith("=");return{isFormula:this.beans.formula?.isFormula(e)??t,hasFormulaPrefix:t}}dispatchValueChanged(){this.dispatchLocalEvent({type:"fieldValueChanged"})}applyPlainValue(e,t){this.formulaColorByRef.clear(),this.renderPlainValue(e,t.caret),this.setEditorValue(e,t.silent),t.dispatch&&this.dispatchValueChanged(),this.autocompleteFeature?.onPlainValueUpdated()}applyFormulaValue(e,t){this.updateFormulaColorsFromValue(e),this.renderFormula({value:e,currentValue:t.currentValue??this.getCurrentValue(),caret:t.caret??void 0}),this.setEditorValue(e,t.silent),t.dispatch&&this.dispatchValueChanged(),this.autocompleteFeature?.onFormulaValueUpdated()}applyFormulaValueChange(e){const{currentValue:t,nextValue:i,caret:r}=e;this.updateFormulaColorsFromValue(i),e.updateTracking?.(),this.setEditorValue(i),this.renderFormula({currentValue:t,value:i,caret:r}),this.dispatchValueChanged(),this.autocompleteFeature?.onFormulaValueUpdated()}replaceTokenRef(e,t,i,r){const n=this.getContentElement();let o;if(r!=null&&(o=n.querySelector(`.ag-formula-token[data-formula-token-index="${r}"]`)??void 0,o&&getTokenRef(o)!==e&&(o=void 0)),o||(o=Array.from(n.querySelectorAll(".ag-formula-token")).find(h=>getTokenRef(h)===e)),!o)return null;const a=getOffsetBeforeNode(n,o),l=getOffsetBeforeNode(n,o,!0);if(a==null||l==null)return null;const c=this.getCurrentValue();i!=null&&this.formulaColorByRef.set(t,i);const u=c.slice(0,l)+t+c.slice(l+e.length),d=getTokenIndex(o);return this.applyFormulaValueChange({currentValue:c,nextValue:u,caret:a+t.length,updateTracking:()=>{this.updateLastTokenTracking(t,a,l)}}),d??r??null}},shouldUseTokenColors=e=>{const{gos:t,rangeSvc:i}=e;return!!i&&!!t.get("cellSelection")},getOrderedRefs=(e,t)=>{const i=[],r=new Set;for(const n of getRefTokenMatchesForFormula(e,t)){const o=n.ref;r.has(o)||(r.add(o),i.push(o))}return i},getTokenMatchAtOffset=(e,t,i)=>{for(const r of getRefTokenMatchesForFormula(e,t))if(i>=r.start&&i<=r.end)return{ref:r.ref,start:r.start,end:r.end,index:r.index};return null},getRawTokenMatchAtOffset=(e,t)=>{for(const i of getRefTokenMatches(e))if(t>=i.start&&t<=i.end)return{ref:i.ref,start:i.start,end:i.end,index:i.index};return null},shouldInsertTokenAtOffset=(e,t)=>{const i=getPreviousNonSpaceChar(e,t);return i==null||TOKEN_INSERT_AFTER_CHARS.has(i)},tokenize=(e,t,i)=>{const r=[];let n=0;const o=getRefTokenMatchesForFormula(e,t),a=(0,import_ag_stack148._getDocument)(e);for(const l of o){l.start>n&&r.push(a.createTextNode(formatForDisplay(t.slice(n,l.start))));const c=i(l.index);r.push(createReferenceNode(l.ref,c,c!=null,l.index)),n=l.end}return n<t.length&&r.push(a.createTextNode(formatForDisplay(t.slice(n)))),r.length||r.push(a.createTextNode("")),r},createReferenceNode=(e,t,i,r)=>{const n={"aria-label":e,"data-formula-ref":e,"data-formula-token-index":r.toString()};let o;if(i&&t!=null){const l=getColorClassesForRef(e,t);o=l.tokenClass,n["data-formula-range-class"]=l.rangeClass}const a=(0,import_ag_grid_community239._createElement)({tag:"span",cls:"ag-formula-token",attrs:n,children:e});return o&&a.classList.add(o),a},renderFormula=e=>{const{beans:t,contentElement:i,currentValue:r,value:n,getColorIndexForToken:o,caret:a}=e,l=a??getCaretOffset(t,i,r),c=n.length;i.textContent="";for(const d of tokenize(t,n,o))i.append(d);const u=l!=null?Math.min(l,c):null;restoreCaret(t,i,u)},getOffsetBeforeNode=(e,t,i=!1)=>{if(!e.contains(t))return null;let r=0;for(const n of Array.from(e.childNodes)){if(n===t)return r;r+=i?getNodeText(n).length:_getNodeTextLength(n)}return null},serializeContent=e=>{let t="";return e.childNodes.forEach(i=>{t+=getNodeText(i)}),t},getNodeText=e=>e.nodeType===Node.TEXT_NODE?formatForValue(e.textContent??""):e.nodeType===Node.ELEMENT_NODE?Array.from(e.childNodes).map(t=>getNodeText(t)).join(""):"",_getNodeTextLength=e=>e.nodeType===Node.TEXT_NODE?e.textContent?.length??0:e.nodeType===Node.ELEMENT_NODE?Array.from(e.childNodes).reduce((t,i)=>t+_getNodeTextLength(i),0):0,findNodeAtOffset=(e,t)=>{let i=t;for(let r=0;r<e.childNodes.length;r++){const n=e.childNodes[r],o=_getNodeTextLength(n);if(i>o){i-=o;continue}return n.nodeType===Node.TEXT_NODE?{node:n,localOffset:i}:findNodeAtOffset(n,i)}return{node:e,localOffset:e.childNodes.length}},restoreCaret=(e,t,i)=>{if(i==null)return;const r=(0,import_ag_stack148._getWindow)(e),n=(0,import_ag_stack148._getDocument)(e),o=r.getSelection(),a=n.createRange(),{node:l,localOffset:c}=findNodeAtOffset(t,i);if(!(!l||!o||!t.isConnected||!l.isConnected)){a.setStart(l,c),a.collapse(!0),o.removeAllRanges();try{o.addRange(a)}catch{}}},getCaretOffset=(e,t,i)=>{const n=(0,import_ag_stack148._getWindow)(e).getSelection();if(!n||n.rangeCount===0)return i?.length??null;const o=n.getRangeAt(0);if(!t.contains(o.startContainer))return i?.length??null;if(o.startContainer===t){let c=0;for(let u=0;u<o.startOffset;u++)c+=_getNodeTextLength(t.childNodes[u]);return c}let a=o.startOffset,l=o.startContainer;for(;l&&l!==t;){let c=l.previousSibling;for(;c;)a+=_getNodeTextLength(c),c=c.previousSibling;l=l.parentNode}return a},getTokenRef=e=>formatForValue(e.textContent??e.dataset.formulaRef??""),getTokenIndex=e=>{const t=e.dataset.formulaTokenIndex;if(!t)return null;const i=parseInt(t,10);return Number.isFinite(i)?i:null},formatForDisplay=e=>e.replace(/[/*]/g,t=>DISPLAY_OPERATOR_LOOKUP[t]??t),formatForValue=e=>e.replace(/[÷×]/g,t=>VALUE_OPERATOR_LOOKUP[t]??t),FormulaCellEditor=class extends import_ag_grid_community240.AgAbstractCellEditor{constructor(){super({tag:"div",cls:"ag-cell-edit-wrapper"}),this.eEditor=import_ag_stack149.RefPlaceholder,this.focusAfterAttached=!1,this.cachedRaw=this,this.seededText=this}initialiseEditor(e){const t=this.createManagedBean(new AgFormulaInputField);this.eEditor=t,t.addCss("ag-cell-editor"),this.appendChild(t),this.addManagedElementListeners(t.getContentElement(),{keydown:l=>this.onFormulaInputKeyDown(l,e.onKeyDown)});const{eventKey:i,cellStartedEdit:r}=e;let n,o=!1;r?(this.focusAfterAttached=!0,i===import_ag_grid_community240.KeyCode.BACKSPACE||i===import_ag_grid_community240.KeyCode.DELETE?n="":i?.length===1?n=i:(n=this.getStartValue(e),o=!0)):(n=this.getStartValue(e),o=!0);const a=n==null?"":String(n);this.eEditor.setEditingCellRef(e.column,e.rowIndex),this.eEditor.setValue(a,!0),this.seededText=o?this.eEditor.getCurrentValue():this}onFormulaInputKeyDown(e,t){const{key:i}=e;if(i!==import_ag_grid_community240.KeyCode.TAB||e.defaultPrevented)return;const{focusSvc:r}=this.beans,n=r?.getFocusedCell();this.eEditor.withSelectionChangeHandlingSuppressed(()=>{t?.(e)});const o=r?.getFocusedCell();let a=!1;if(n&&o){const{rowIndex:c,rowPinned:u,column:d}=n,{rowIndex:h,rowPinned:p,column:g}=o;a=c!==h||u!==p||d!==g}const{defaultPrevented:l}=e;(l||a)&&e.preventDefault(),e.stopPropagation()}getStartValue(e){const{value:t}=e;return t?.toString()??t}agSetEditValue(e){this.params.value=e;const t=this.getStartValue(this.params);this.eEditor.setValue(t??"",!0),this.seededText=this.eEditor.getCurrentValue()}isPopup(){return!1}afterGuiAttached(){if(!this.focusAfterAttached)return;const{beans:e,eEditor:t}=this;(0,import_ag_stack149._isBrowserSafari)()||this.focusIn(),(0,import_ag_stack149._placeCaretAtEnd)(e,t.getContentElement())}focusIn(){this.eEditor.getContentElement().focus({preventScroll:!0})}getValue(){const e=this.eEditor.getCurrentValue(),{value:t,parseValue:i}=this.params;if(typeof e=="string"&&this.isFormulaText(e))return e;if(e===this.seededText||e==null&&t==null)return t;if(Object.is(this.cachedRaw,e))return this.cachedParsed;const r=i(String(e));return this.cachedRaw=e,this.cachedParsed=r,r}getValidationElement(){return this.eEditor.getContentElement()}getValidationErrors(){const{params:e}=this,t=this.eEditor.getCurrentValue(),i=this.getLocaleTextFunc(),{getValidationErrors:r,validateFormulas:n}=e;let o=null;if((n===!0||!!r)&&typeof t=="string"&&this.isFormulaText(t)){const l=this.beans.formula?.validateExpression(t);l&&(o=[l.getTranslatedMessage(i)])}return r?r({value:this.getValue(),internalErrors:o,cellEditorParams:e}):o}isFormulaText(e){const t=e==null?"":String(e);return this.beans.formula?.isFormula(t)??t.trimStart().startsWith("=")}},formula_default='.formula-error:after{background-color:var(--ag-invalid-color);content:"";height:12px;position:absolute;top:-6px;width:12px}:where(.ag-ltr) .formula-error:after{right:-6px;transform:rotate(45deg)}:where(.ag-rtl) .formula-error:after{left:-6px;transform:rotate(-45deg)}';function refreshFormulas(e,t){const i=e.formula;return i?.isEvaluationActive()?t===void 0?i.hasCachedRows()?(i.refreshFormulas(!0),!0):!1:i.refreshRow(t):!1}var import_ag_stack150=require("ag-stack"),import_ag_grid_community241=require("ag-grid-community"),FormulaDataService=class extends import_ag_grid_community241.BeanStub{constructor(){super(...arguments),this.beanName="formulaDataSvc",this.hasSource=!1}postConstruct(){const e=this.gos.get("formulaDataSource");e&&this.setDataSource(e)}hasDataSource(){return this.hasSource}getFormula(e){const t=this.dataSource?.getFormula(e);return(0,import_ag_stack150._isExpressionString)(t)?t:void 0}setFormula(e){this.dataSource?.setFormula(e)}setDataSource(e){this.dataSource=e,this.hasSource=!0,e.init?.(this.createInitParams())}createInitParams(){return(0,import_ag_grid_community241._addGridCommonParams)(this.gos,{})}destroy(){this.dataSource?.destroy?.(),super.destroy()}},import_ag_grid_community242=require("ag-grid-community"),FormulaInputManagerService=class extends import_ag_grid_community242.BeanStub{constructor(){super(...arguments),this.beanName="formulaInputManager",this.activeEditor=null,this.activeEditorDeactivate=null}postConstruct(){this.registerRangeSelectionExtension()}registerActiveEditor(e,t){if(this.activeEditor===e&&this.activeEditorDeactivate===t)return!1;const i=this.activeEditorDeactivate;return i&&i!==t&&i(),this.activeEditor=e,this.activeEditorDeactivate=t,!0}unregisterActiveEditor(e,t){this.activeEditor===e&&this.activeEditorDeactivate===t&&(this.activeEditor=null,this.activeEditorDeactivate=null)}isActiveEditor(e){return this.activeEditor===e}shouldSuppressRangeSelection(e){const t=e;return t?.closest?this.activeEditor!=null?!!t.closest(".ag-cell-editor"):!!t.closest(".ag-formula-input-field"):!1}registerRangeSelectionExtension(){const e=this.beans.rangeSvc;e&&(e.registerRangeSelectionExtension(this),this.addDestroyFunc(()=>e.unregisterRangeSelectionExtension?.(this)))}},import_ag_stack152=require("ag-stack"),import_ag_grid_community246=require("ag-grid-community"),import_ag_stack151=require("ag-stack"),import_ag_grid_community243=require("ag-grid-community");function getFormulaRowByIndex(e,t){if(!Number.isFinite(t)||t<0)return null;const i=(0,import_ag_grid_community243._getClientSideRowModel)(e);if(i)return i.getFormulaRow(t)??null;const r=e.rowModel.getRow(t);return r&&isFormulaRowAvailable(r)?r:null}function getFormulaRowIndex(e){return e.formulaRowIndex??e.rowIndex??null}function isFormulaRowAvailable(e){return!e.stub&&!e.failedLoad&&e.data!=null}var OP_DEFS=[{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"}],symbolOperatorMap=new Map;for(const e of OP_DEFS){const t=symbolOperatorMap.get(e.symbol)??[];t.push(e),symbolOperatorMap.set(e.symbol,t)}function getDefBySymbol(e,t){const i=symbolOperatorMap.get(e)??[];return t?i.find(r=>r.fixity===t):i[0]}var OP_SYMBOLS_DESC=[...new Set(OP_DEFS.map(e=>e.symbol))].sort((e,t)=>t.length-e.length),OP_BY_SYMBOL=symbolOperatorMap,FORMULA_ERRORS={1:["invalidFormulaValidation","Invalid formula."],2:["formulaParseInvalidCellReference","Invalid cell reference: ${variable}."],3:["formulaParseInvalidRangeEndReference","Invalid range end reference."],4:["formulaParseUnterminatedString","Unterminated string."],5:["formulaParseUnexpectedCharacter","Unexpected character: ${variable}."],6:["formulaParseOperatorStackUnderflow","Operator stack underflow."],7:["formulaParseMissingOperand","Missing operand for '${variable}'."],8:["formulaParseInternalUnexpectedFrameDuringReduction","Internal error: unexpected frame during reduction."],9:["formulaParseInternalUnexpectedFrameBeforeOpenParen","Internal error: unexpected frame before '('."],10:["formulaParseMisplacedComma","Misplaced comma."],11:["formulaParseCommaOutsideFunctionCall","Comma outside of a function call."],12:["formulaParseInternalUnexpectedFrameBeforeCloseParen","Internal error: unexpected frame before ')'."],13:["formulaParseMismatchedParentheses","Mismatched parentheses."],14:["formulaParseUnsupportedOperand","Unsupported operand: ${variable}."],15:["formulaParseMismatchedParenthesesOrUnfinishedFunctionCall","Mismatched parentheses or unfinished function call."],16:["formulaParseInvalidExpression","Invalid expression."],17:["formulaParseFormulasMustBeginWithEquals","Formulas must begin with =."],18:["formulaSerializeStringContainsQuote",'String contains a quote (") which the tokenizer does not support.',"#PARSE!"],19:["formulaSerializeCannotProduceAbsoluteColumnLabelFromId","Cannot produce absolute COLUMN label from id '${variable}'."],20:["formulaSerializeCannotProduceAbsoluteRowIndexFromId","Cannot produce absolute ROW index from id '${variable}'."],21:["formulaSerializeCannotProduceRowIndexFromId","Cannot produce ROW index from id '${variable}'."],22:["formulaSerializeCannotMapColumnIdToA1Label","Cannot map column id '${variable}' to A1 label."],23:["formulaSerializeCannotParseAbsoluteRowIndex","Cannot parse absolute row index '${variable}'."],24:["formulaSerializeCannotMapRowIdToA1Index","Cannot map row id '${variable}' to A1 index."],25:["formulaEvalRangeNotAllowedInScalarContext","Range is not allowed in scalar context."],26:["formulaEvalUnknownReferenceToCell","Unknown reference to cell.","#REF!"],27:["formulaEvalUnsupportedOperation","Unsupported operation ${variable}.","#NAME?"],28:["formulaEvalInvalidAbsoluteRow","Invalid absolute row.","#REF!"],29:["formulaEvalUnrecognisedRowId","Unrecognised row id.","#REF!"],30:["formulaEvalInvalidAbsoluteColumn","Invalid absolute column.","#REF!"],31:["formulaEvalUnrecognisedColumnId","Unrecognised column id.","#REF!"],32:["formulaEvalUnrecognisedRowInRange","Unrecognised row in range.","#REF!"],33:["formulaEvalUnrecognisedReferenceToCell","Unrecognised reference to cell.","#REF!"],34:["formulaEvalIncompleteRangeReference","Incomplete range reference.","#REF!"],35:["formulaFunctionExpectedExactlyArguments","${variable}: expected exactly ${variable} arguments."],36:["formulaFunctionExpectedAtMostArguments","${variable}: expected at most ${variable} arguments."],37:["formulaFunctionExpectedAtLeastArguments","${variable}: expected at least ${variable} arguments."],38:["formulaFunctionInvalidCriteriaWildcardsWithComparator","Invalid criteria: wildcards with comparator.","#VALUE!"],39:["formulaFunctionNonNumericArgument","${variable}: non-numeric argument.","#VALUE!"],40:["formulaFunctionDivisionByZero","${variable}: division by zero.","#DIV/0!"],41:["formulaFunctionCannotCombineDatesWithBigInt","${variable}: cannot combine dates with BigInt.","#VALUE!"],42:["formulaFunctionRequiresAtLeastOneNumericValue","${variable}: requires at least one numeric value.","#PARSE!"],43:["formulaFunctionRequiresAtLeastOneValue","${variable}: requires at least one value."],44:["formulaFunctionAllValuesMustBeNumbers","${variable}: all values must be numbers.","#VALUE!"],45:["formulaFunctionArgumentMustBeRange","${variable}: ${variable} argument must be a range.","#VALUE!"],46:["formulaFunctionArgumentMustBeValue","${variable}: ${variable} argument must be a value.","#VALUE!"],47:["formulaFunctionRangesHaveDifferentSizes","${variable}: ranges have different sizes.","#VALUE!"],48:["formulaFunctionValuesMustBeNumeric","${variable}: values must be numeric.","#VALUE!"],49:["formulaFunctionValuesMustBeIntegers","${variable}: values must be integers.","#VALUE!"],50:["formulaFunctionUnsupportedValueType","${variable}: unsupported value type.","#VALUE!"],51:["formulaServiceCircularReference","Circular reference.","#CIRCREF!"],52:["formulaServiceExpectedParsableFormula","Expected parsable formula.","#PARSE!"],53:["formulaServiceInternalSchedulingError","Internal scheduling error."],54:["formulaFunctionDivNonNumericArgument","DIV: non-numeric argument.","#VALUE!"],55:["formulaFunctionDivDivisionByZero","DIV: division by zero.","#DIV/0!"],56:["formulaFunctionSumCannotCombineDatesWithBigInt","SUM: cannot combine dates with BigInt.","#VALUE!"],57:["formulaFunctionSumRequiresAtLeastOneNumericValue","SUM: requires at least one numeric value.","#PARSE!"],58:["formulaFunctionAvgRequiresAtLeastOneValue","AVG: requires at least one value."],59:["formulaFunctionMedianAllValuesMustBeNumbers","MEDIAN: all values must be numbers.","#VALUE!"],60:["formulaFunctionMedianRequiresAtLeastOneValue","MEDIAN: requires at least one value."],61:["formulaFunctionSumifFirstArgumentMustBeRange","SUMIF: first argument must be a range.","#VALUE!"],62:["formulaFunctionSumifSecondArgumentMustBeValue","SUMIF: second argument must be a value (criteria).","#VALUE!"],63:["formulaFunctionSumifThirdArgumentMustBeRange","SUMIF: third argument must be a range (sum_range).","#VALUE!"],64:["formulaFunctionSumifRangesHaveDifferentSizes","SUMIF: ranges have different sizes.","#VALUE!"],65:["formulaFunctionCountifFirstArgumentMustBeRange","COUNTIF: first argument must be a range.","#VALUE!"],66:["formulaFunctionCountifSecondArgumentMustBeValue","COUNTIF: second argument must be a value (criteria).","#VALUE!"],67:["formulaFunctionConcatUnsupportedValueType","CONCAT: unsupported value type.","#VALUE!"],68:["formulaFunctionMinRequiresAtLeastOneValue","MIN: requires at least one value."],69:["formulaFunctionMaxRequiresAtLeastOneValue","MAX: requires at least one value."],70:["formulaFunctionPercentNonNumericArgument","PERCENT: non-numeric argument.","#VALUE!"],71:["formulaFunctionPowerNonNumericArgument","POWER: non-numeric argument.","#VALUE!"]},interpolateVariables=(e,t)=>{if(!t?.length)return e;let i=e,r=0;for(;r<t.length&&i.indexOf("${variable}")!==-1;)i=i.replace("${variable}",t[r++]);return i},normaliseVariableValues=e=>{if(e?.length)return e.map(t=>String(t))},getFormulaErrorDefinition=e=>FORMULA_ERRORS[e],getFormulaErrorDefaultMessage=(e,t)=>{const[,i]=getFormulaErrorDefinition(e);return interpolateVariables(i,normaliseVariableValues(t))},interpolateFormulaErrorMessage=(e,t)=>interpolateVariables(e,normaliseVariableValues(t)),normaliseVariableValues2=e=>{if(e?.length)return e.map(t=>String(t))},FormulaError=class extends Error{constructor(e,t,i){const r=typeof e=="string",n=!r&&Array.isArray(t)?normaliseVariableValues2(t):void 0,o=r?e:getFormulaErrorDefaultMessage(e,n);if(super(o),this.name="FormulaError",r)this.type=typeof t=="string"?t:"#ERROR!",this.errorId=null,this.localeKey=null,this.defaultMessage=e,this.variableValues=void 0;else{const[a,l,c]=getFormulaErrorDefinition(e);this.type=i??c??"#ERROR!",this.errorId=e,this.localeKey=a,this.defaultMessage=l,this.variableValues=n}}getTranslatedMessage(e){return this.localeKey?interpolateFormulaErrorMessage(e(this.localeKey,this.defaultMessage,this.variableValues),this.variableValues):this.message}},FormulaParseError=class extends FormulaError{constructor(e,t,i,r){super(e,r,"#PARSE!"),this.errorStart=t,this.errorEnd=i}};function findFirstInvalidOperation(e,t){if(e.type!=="operation")return null;if(!t(e.operation))return e.operation;for(const i of e.operands){const r=findFirstInvalidOperation(i,t);if(r)return r}return null}var parseOperand=(e,t,i)=>{const r=t.trim();if(r.startsWith('"')&&r.endsWith('"')&&r.length>=2)return r.slice(1,-1);if(r.toLowerCase()==="true")return!0;if(r.toLowerCase()==="false")return!1;if(r.toLowerCase()==="null")return null;const n=Number(r);if(!isNaN(n))return n;if(r.startsWith("[")&&r.endsWith("]")&&r.length>2){const a=r.slice(1,-1),l=e.colModel.getCol(a)??null;if(!i&&!l)throw new FormulaParseError(2,0,r.length,[r]);return{column:{id:l?.colId??a,absolute:!1},row:{id:"",absolute:!1,current:!0}}}const o=parseA1Ref(r);if(o){const{startCol:a,startRow:l,startColAbsolute:c,startRowAbsolute:u,endCol:d,endRow:h,endColAbsolute:p,endRowAbsolute:g}=o,f=(v,C,y,S,x)=>{const b=v||x?C.toUpperCase():e.formula?.getColByRef(C)?.colId,w=y||x?S:getFormulaRowByIndex(e,Number(S)-1)?.id;if(b==null||w==null)throw new FormulaParseError(2,0,0,[r]);return{column:{id:b,absolute:v},row:{id:w,absolute:y}}},m=f(c,a,u,l,i);if(d&&h){const v=f(p??!1,d,g??!1,h,i);m.endColumn=v.column,m.endRow=v.row}return m}};function tokenize2(e){const t=[];let i=0;const r=(n,o)=>{let a=o;const l=()=>n[a]==="$"?(a++,!0):!1,c=()=>{const p=a;for(;a<n.length&&/[A-Za-z]/.test(n[a]);)a++;return a>p},u=()=>{const p=a;for(;a<n.length&&/[0-9]/.test(n[a]);)a++;return a>p},d=()=>{const p=a;return l(),!c()||(l(),!u())?(a=p,!1):!0};if(!d())return 0;if(n[a]===":"){const p=a;if(a++,!d())throw new FormulaParseError(3,p,a)}const h=n.slice(o,a);return isStandaloneRefToken(n,o,h)?a-o:0};for(;i<e.length;){const n=e[i];if(/\s/.test(n)){i++;continue}if(n==='"'){let a=i+1;for(;a<e.length&&e[a]!=='"';)a++;if(a>=e.length)throw new FormulaParseError(4,i,e.length);t.push(e.slice(i,a+1)),i=a+1;continue}if(/[0-9]/.test(n)||n==="."&&/[0-9]/.test(e[i+1])){let a=i+1;for(;a<e.length&&/[0-9.]/.test(e[a]);)a++;t.push(e.slice(i,a)),i=a;continue}if(n==="["){const a=e.indexOf("]",i+1);if(a<0)throw new FormulaParseError(5,i,i+1,[n]);t.push(e.slice(i,a+1)),i=a+1;continue}if(n==="$"||isFormulaIdentStart(n)){const a=r(e,i);if(a>0){t.push(e.slice(i,i+a)),i+=a;continue}let l=i+1;for(;l<e.length&&isFormulaIdentChar(e[l]);)l++;t.push(e.slice(i,l)),i=l;continue}if(n==="("||n===")"||n===","){t.push(n),i++;continue}const o=OP_SYMBOLS_DESC.find(a=>e.startsWith(a,i));if(!o)throw new FormulaParseError(5,i,i+1,[n]);t.push(o),i+=o.length}return t}function shouldReduce(e,t){return e.fixity!=="infix"||t.fixity!=="infix"?!0:e.associativity==="right"&&e.precedence===t.precedence?!1:e.precedence>=t.precedence}function pickOpDefForContext(e,t){const i=OP_BY_SYMBOL.get(e);if(!i)return null;const r=t!==void 0&&OP_BY_SYMBOL.has(t);return t!==void 0&&!r&&!(t==="("||t===",")&&t!=="("||t===")"?i.find(a=>a.fixity==="postfix")??i.find(a=>a.fixity==="infix")??null:i.find(a=>a.fixity==="prefix")??i.find(a=>a.fixity==="infix")??null}function parseExpression(e,t,i){const r=tokenize2(t),n=[],o=[],a=()=>{const c=o.pop();if(!c)throw new FormulaParseError(6,0,0);if(c.kind==="op"){const u=c.def;if(u.fixity!=="infix"){const p=n.pop();if(!p)throw new FormulaParseError(7,0,0,[u.symbol]);if(u.symbol==="+"&&u.fixity==="prefix"){n.push(p);return}if(u.fixity==="postfix"&&u.symbol==="%"){n.push({type:"operation",operation:u.symbol,operands:[p]});return}u.symbol==="-"&&u.fixity==="prefix"?n.push({type:"operation",operation:"-",operands:[{type:"operand",value:0},p]}):n.push({type:"operation",operation:u.symbol,operands:[p]});return}const d=n.pop(),h=n.pop();if(!h||!d)throw new FormulaParseError(7,0,0,[u.symbol]);n.push({type:"operation",operation:u.symbol,operands:[h,d]});return}throw new FormulaParseError(8,0,0)};let l=0;for(;l<r.length;){const c=r[l];if(isFormulaIdentStart(c[0])&&r[l+1]==="("){const h=c;o.push({kind:"function",name:h,args:[]}),o.push({kind:"parenthesis",outLen:n.length}),l+=2;continue}if(c==="("){o.push({kind:"parenthesis",outLen:n.length}),l++;continue}if(c===","){const h=r[l-1];if(h==null||h==="("||h===",")throw new FormulaParseError(10,l,l+1);for(;;){const f=o[o.length-1];if(!f||f.kind==="parenthesis")break;if(f.kind==="op")a();else throw new FormulaParseError(9,l,l+1)}const p=o[o.length-1];if(p?.kind!=="parenthesis")throw new FormulaParseError(10,l,l+1);const g=o[o.length-2];if(g?.kind!=="function")throw new FormulaParseError(11,l,l+1);n.length>p.outLen&&g.args.push(n.pop()),l++;continue}if(c===")"){if(r[l-1]===",")throw new FormulaParseError(10,l,l+1);for(;;){const g=o[o.length-1];if(!g||g.kind==="parenthesis")break;if(g.kind==="op")a();else throw new FormulaParseError(12,l,l+1)}const h=o[o.length-1];if(h?.kind!=="parenthesis")throw new FormulaParseError(13,l,l+1);const p=h.outLen;if(o.pop(),o[o.length-1]?.kind==="function"){const g=o.pop();n.length>p&&g.args.push(n.pop()),n.push({type:"operation",operation:g.name,operands:g.args})}l++;continue}const u=OP_BY_SYMBOL.has(c)?pickOpDefForContext(c,r[l-1]):null;if(u){for(;;){const h=o[o.length-1];if(h?.kind!=="op")break;if(shouldReduce(h.def,u))a();else break}o.push({kind:"op",def:u}),l++;continue}const d=parseOperand(e,c,i);if(d===void 0)throw new FormulaParseError(14,0,c.length,[c]);n.push({type:"operand",value:d}),l++}for(;o.length;)if(o[o.length-1].kind==="op")a();else throw new FormulaParseError(15,0,0);if(n.length!==1)throw new FormulaParseError(16,0,0);return n[0]}var parseFormula=(e,t,i=!1)=>{if(!(0,import_ag_stack151._isExpressionString)(t))throw new FormulaParseError(17,0,1);const r=t.slice(1).trim();return normalizeRefCells(parseExpression(e,r,i))};function isOperation(e,t){return e.type==="operation"&&e.operation.toUpperCase()===t.toUpperCase()}function asBool(e,t=!1){return!e||e.type!=="operand"?t:!!e.value}function asStringish(e){if(e?.type!=="operand")return null;const t=e.value;return typeof t=="string"?t:typeof t=="number"||typeof t=="boolean"?String(t):null}function extractColumnRef(e){if(!isOperation(e,"COLUMN"))return null;const t=asStringish(e.operands[0]);if(t==null)return null;const i=asBool(e.operands[1],!1);return{id:t,absolute:i}}function extractRowRef(e){if(!isOperation(e,"ROW"))return null;const t=asStringish(e.operands[0]);if(t==null)return null;const i=asBool(e.operands[1],!1);return{id:t,absolute:i}}function tryFoldRefToCell(e){if(!isOperation(e,"REF"))return null;const t=e.operands;if(t.length!==2&&t.length!==4)return null;const i=extractColumnRef(t[0]),r=extractRowRef(t[1]);if(!i||!r)return null;const n={column:i,row:r};if(t.length===4){const o=extractColumnRef(t[2]),a=extractRowRef(t[3]);if(!o||!a)return null;n.endColumn=o,n.endRow=a}return{type:"operand",value:n}}function normalizeRefCells(e){if(e.type==="operation"){const t=e.operands.map(normalizeRefCells),i={type:"operation",operation:e.operation,operands:t};return tryFoldRefToCell(i)??i}return e}var isOperationNode=e=>e.type==="operation";function colLabelFromId(e,t){const i=e.colModel.colsById[t];return i?e.formula?.getColRef(i)??null:null}function colIdFromLabel(e,t){return e.formula?.getColByRef?.(t)?.colId??null}function colIndexFromId(e,t,i){const r=e.colsById[i];if(!r)return null;const n=t.indexOf(r);return n>=0?n:null}function colIdFromIndex(e,t){return e[t]?.colId??null}function rowIndexFromId(e,t){const i=e.rowModel?.getRowNode?.(t),r=i?getFormulaRowIndex(i):null;return r!=null?r+1:null}function rowIdFromIndex(e,t){return getFormulaRowByIndex(e,t-1)?.id??null}var LETTERS_ONLY=/^[A-Za-z]+$/;function quoteString(e){if(e.includes('"'))throw new FormulaError(18);return'"'+e+'"'}function columnValueForREF(e,t){const i=t.id,r=LETTERS_ONLY.test(i);if(t.absolute){if(r)return i.toUpperCase();const n=colLabelFromId(e,i);if(n)return n.toUpperCase();throw new FormulaError(19,[i])}if(r){const n=colIdFromLabel(e,i);if(n)return n}return i}function rowValueForREF(e,t){const{id:i,absolute:r}=t;if(r){if(rowIdFromIndex(e,Number(i))==null)throw new FormulaError(20,[i])}else if(rowIndexFromId(e,i)==null)throw new FormulaError(21,[i]);return i}function columnLabelForA1(e,t){const i=t.id;if(t.absolute)return i;const r=colLabelFromId(e,i);if(r)return r.toUpperCase();throw new FormulaError(22,[i])}function rowIndexForA1(e,t){const i=t.id;if(t.absolute){const n=Number(i);if(Number.isFinite(n)&&n>=1)return n;throw new FormulaError(23,[i])}const r=rowIndexFromId(e,i);if(r!=null)return r;throw new FormulaError(24,[i])}function emitA1Ref(e,t,i,r){const n=r?t.id:i?columnLabelForA1(e,t):rowIndexForA1(e,t);return t.absolute?"$"+n:""+n}function serializeCellA1(e,t,i,r){if(r&&t.row.current&&!t.endColumn&&!t.endRow)return`[${t.column.id}]`;const n=emitA1Ref(e,t.column,!0,i)+emitA1Ref(e,t.row,!1,i),{endColumn:o,endRow:a}=t;return o&&a?n+":"+emitA1Ref(e,o,!0,i)+emitA1Ref(e,a,!1,i):n}function emitRefColPart(e,t){return"COLUMN("+quoteString(columnValueForREF(e,t))+(t.absolute?",true)":")")}function emitRefRowPart(e,t){return"ROW("+quoteString(rowValueForREF(e,t))+(t.absolute?",true)":")")}function serializeCellREF(e,t,i){if(i&&t.row.current&&!t.endColumn&&!t.endRow)return`[${t.column.id}]`;const r="REF("+emitRefColPart(e,t.column)+","+emitRefRowPart(e,t.row),{endColumn:n,endRow:o}=t;return n&&o?r+","+emitRefColPart(e,n)+","+emitRefRowPart(e,o)+")":r+")"}function unaryMinusInner(e){if(e.operation!=="-"||e.operands.length!==2)return null;const[t,i]=e.operands;return t.type==="operand"&&t.value===0?i:null}function needsParensInBinary(e,t,i){if(!isOperationNode(t)||unaryMinusInner(t))return!1;const r=getDefBySymbol(t.operation,"infix");if(!r)return!1;const n=e.precedence,o=r.precedence;return o<n?!0:o>n?!1:e.associativity==="right"?i==="left"&&r.symbol===e.symbol:e.isAssociative?!1:i==="right"}function needsParensForUnaryMinus(e){if(!isOperationNode(e))return!1;const t=getDefBySymbol(e.operation,"infix");return!!t&&t.symbol!=="^"}function serializeFormula(e,t,i,r,n=!1){function o(a){if(a.type==="operand"){const h=a.value;return typeof h=="string"?quoteString(h):typeof h=="number"?""+h:typeof h=="boolean"?h?"TRUE":"FALSE":h==null?"NULL":i?serializeCellREF(e,h,n):serializeCellA1(e,h,r,n)}const l=a.operands,c=l.length;if(c===2&&a.operation==="-"){const h=unaryMinusInner(a);if(h){const p=o(h);return needsParensForUnaryMinus(h)?"-("+p+")":"-"+p}}const u=a.operation.toUpperCase();if(c===1){const h=l[0],p=getDefBySymbol(u,"postfix");if(p)return o(h)+p.symbol;const g=getDefBySymbol(u,"prefix");if(g){const f=o(h);return isOperationNode(h)&&getDefBySymbol(h.operation,"infix")?g.symbol+"("+f+")":g.symbol+f}return u+"("+o(h)+")"}if(c===2){const h=getDefBySymbol(u,"infix");if(h){const p=l[0],g=l[1],f=needsParensInBinary(h,p,"left")?"("+o(p)+")":o(p),m=needsParensInBinary(h,g,"right")?"("+o(g)+")":o(g);return f+h.symbol+m}}let d="";for(let h=0;h<c;h++)d+=(h===0?"":",")+o(l[h]);return u+"("+d+")"}return"="+o(t)}var CellFormula=class{constructor(e,t,i,r,n,o){this.rowNode=e,this.column=t,this.formulaString=i,this.fromDataSource=r,this.beans=n,this.service=o,this._valueVersion=-1,this.errorType=null,this._value=void 0,this.astStale=!0,this.ast=null,this.errorId=null,this.errorMessage="",this.errorVariableValues=null,this.baseDataType=void 0}setComputedValue(e){this._value=e,this._valueVersion=this.service.valueCacheVersion,this.errorType=null,this.errorId=null,this.errorMessage="",this.errorVariableValues=null}setErrorFields(e,t,i,r){this.errorType=e,this.errorId=t,this.errorMessage=t==null?i:"",this.errorVariableValues=r,this._valueVersion=this.service.valueCacheVersion}isValueReady(){return this._valueVersion===this.service.valueCacheVersion}getValue(){return this.errorType??this._value}getAst(){if(!this.astStale)return this.ast;const e=parseFormula(this.beans,this.formulaString)??null;return this.ast=e,this.astStale=!1,e}};function formulaVisitorSetVisiting(e,t,i){let r=e.get(t);if(r?.has(i))throw new FormulaError(51);r||(r=new Set,e.set(t,r)),r.add(i)}function formulaVisitorSetVisited(e,t,i){const r=e.get(t);r&&(r.delete(i),r.size===0&&e.delete(t))}function isRangeCell(e){return!!(e.endColumn&&e.endRow)}function resolveRefToAddress(e,t,i){const{row:r,column:n}=t;if(r.current&&!i?.row)throw new FormulaError(29);const o=r.current?i.row:r.absolute?getFormulaRowByIndex(e,Number(r.id)-1):e.rowModel.getRowNode(r.id),a=n.absolute?e.formula.getColByRef(n.id):e.colModel.colsById[n.id];return!o||!r.current&&!isFormulaRowAvailable(o)||!a?null:{row:o,column:a}}function evalAst(e,t,i,r){if(t.type==="operand"){const l=t.value;if(typeof l!="object"||l==null)return l;if(isRangeCell(l))throw new FormulaError(25);const c=resolveRefToAddress(e,l,r);if(!c)throw new FormulaError(26);return i.resolveAddrRef(c)}const n=e.formula?.getFunction(t.operation);if(!n)throw new FormulaError(27,[t.operation]);const{args:o,values:a}=makeArgIterables(e,t.operands,i,r);return n({row:r.row,column:r.column,args:o,values:a})}function operandToArg(e,t,i,r){if(t.type==="operand"){const o=t.value;if(typeof o!="object"||o==null)return{kind:"value",value:o};if(isRangeCell(o))return buildRangeArgLazy(e,o,i,r);const a=resolveRefToAddress(e,o,r);if(!a)throw new FormulaError(26);return{kind:"value",value:i.resolveAddrRef(a)}}return{kind:"value",value:evalAst(e,t,i,r)}}var ParamsIterator=class{constructor(e,t,i,r){this.beans=e,this.operandNodes=t,this.resolver=i,this.caller=r,this.i=0,this.res={done:!1,value:void 0}}next(){return this.i>=this.operandNodes.length?(this.res.done=!0,this.res.value=void 0,this.res):(this.res.done=!1,this.res.value=operandToArg(this.beans,this.operandNodes[this.i++],this.resolver,this.caller),this.res)}[Symbol.iterator](){return this}},ValuesIterator=class{constructor(e,t,i,r){this.beans=e,this.operandNodes=t,this.resolver=i,this.caller=r,this.i=0,this.inner=null,this.res={done:!1,value:void 0}}next(){for(;;){if(this.inner){const t=this.inner.next();if(!t.done)return this.res.done=!1,this.res.value=t.value,this.res;this.inner=null;continue}if(this.i>=this.operandNodes.length)return this.res.done=!0,this.res.value=void 0,this.res;const e=operandToArg(this.beans,this.operandNodes[this.i++],this.resolver,this.caller);if(e.kind==="value")return this.res.done=!1,this.res.value=e.value,this.res;this.inner=e[Symbol.iterator]()}}[Symbol.iterator](){return this}};function makeArgIterables(e,t,i,r){return{args:{[Symbol.iterator](){return new ParamsIterator(e,t,i,r)}},values:{[Symbol.iterator](){return new ValuesIterator(e,t,i,r)}}}}function resolveRowIndex(e,t,i){if(t.current){const o=i?.row?getFormulaRowIndex(i.row):null;if(o==null)throw new FormulaError(29);return o}if(t.absolute){const o=Number(t.id)-1;if(!Number.isFinite(o)||o<0)throw new FormulaError(28);return o}const r=e.rowModel?.getRowNode?.(t.id),n=r?getFormulaRowIndex(r):null;if(n==null)throw new FormulaError(29);return n}function resolveCol(e,t){if(t.absolute){const r=e.formula?.getColByRef(t.id);if(!r)throw new FormulaError(30);return r}const i=e.colModel.colsById[t.id];if(!i)throw new FormulaError(31);return i}var RangeValuesIterator=class{constructor(e,t,i,r,n,o){this.beans=e,this.rowStartIndex=t,this.rowEndIndex=i,this.colStart=r,this.colEnd=n,this.resolver=o,this.cols=null,this.currentRowIndex=this.rowStartIndex,this.currentColIdx=-1,this.colStartIdx=-1,this.colEndIdx=-1,this.res={done:!1,value:void 0}}initColsOnce(){if(this.cols)return;this.cols=this.beans.colModel.colsList;const e=getColRangeIndices(this.beans,this.colStart,this.colEnd);if(!e){this.colStartIdx=-1,this.colEndIdx=-1;return}[this.colStartIdx,this.colEndIdx]=e,this.currentColIdx=this.colStartIdx}next(){if(!this.cols&&(this.initColsOnce(),this.colStartIdx<0))return this.res.done=!0,this.res;if(this.currentRowIndex<=this.rowEndIndex){const e=getFormulaRowByIndex(this.beans,this.currentRowIndex);if(!e)throw new FormulaError(32);const t=this.cols[this.currentColIdx];return this.currentColIdx<this.colEndIdx?this.currentColIdx++:(this.currentColIdx=this.colStartIdx,this.currentRowIndex++),this.res.value=this.resolver.resolveAddrRef({row:e,column:t}),this.res}return this.res.done=!0,this.res.value=void 0,this.res}};function buildRangeArgLazy(e,t,i,r){const n=resolveRowIndex(e,t.row,r),o=t.endRow?resolveRowIndex(e,t.endRow,r):n,a=Math.min(n,o),l=Math.max(n,o),c=resolveCol(e,t.column),u=t.endColumn?resolveCol(e,t.endColumn):c;return{kind:"range",rowStart:a,rowEnd:l,colStart:c,colEnd:u,[Symbol.iterator](){return new RangeValuesIterator(e,a,l,c,u,i)}}}function getColRangeIndices(e,t,i){const r=e.colModel.colsList;let n=null,o=null;for(let c=0;c<r.length&&(n===null||o===null);c++){const u=r[c];if(u===i&&(o=c),u===t&&(n=c),o!==null&&n!==null)break}if(n===null||o===null)return null;const a=Math.min(n,o),l=Math.max(n,o);return[a,l]}function*rangeAddrs(e,t,i,r,n){const o=e.colModel.colsList,a=getColRangeIndices(e,r,n);if(a==null)return;const[l,c]=a;for(let u=t;u<=i;u++){const d=getFormulaRowByIndex(e,u);if(d)for(let h=l;h<=c;h++)yield{row:d,column:o[h]}}}function*unresolvedDeps(e,t,i,r){const n=[t];for(;n.length;){const o=n.pop();if(o.type==="operand"){const a=o.value;if(typeof a!="object"||a==null)continue;if(!a.endColumn&&!a.endRow){const g=resolveRefToAddress(e,a,r);if(!g)throw new FormulaError(33);const f=i.ensureCellFormula(g.row,g.column);if(!f||f.isValueReady())continue;yield g;continue}if(!a.endColumn||!a.endRow)throw new FormulaError(34);const l=resolveRowIndex(e,a.row,r),c=resolveRowIndex(e,a.endRow,r),u=Math.min(l,c),d=Math.max(l,c),h=resolveCol(e,a.column),p=resolveCol(e,a.endColumn);for(const g of rangeAddrs(e,u,d,h,p)){const f=i.ensureCellFormula(g.row,g.column);!f||f.isValueReady()||(yield g)}continue}for(let a=0;a<o.operands.length;a++)n.push(o.operands[a])}}var import_ag_grid_community244=require("ag-grid-community");function take(e,t,i){const r=e[Symbol.iterator](),n=new Array(i);for(let o=0;o<i;o++){const a=r.next();if(a.done)throw new FormulaError(35,[t,i]);n[o]=a.value}if(!r.next().done)throw new FormulaError(35,[t,i]);return n}function iterableWithoutBlanks(e){return{*[Symbol.iterator](){for(const t of e)t!=null&&t!==""&&(yield t)}}}function takeBetween(e,t,i,r){const n=[];for(const o of e)if(n.push(o),n.length>r)throw new FormulaError(36,[t,r]);if(n.length<i)throw new FormulaError(37,[t,i]);return n}var isRangeParam=e=>e.kind==="range",isValueParam=e=>e.kind==="value",OPERATOR_TOKENS=["<=",">=","<>","<",">","="];function findOperatorSymbol(e){for(const t of OPERATOR_TOKENS)if(e.startsWith(t))return t;return null}function toNumberLike(e){if((0,import_ag_grid_community244._isFiniteNumber)(e))return e;if(e instanceof Date)return+e;if(typeof e=="string"){const t=Number(e);if(!Number.isNaN(t))return t}return null}function toText(e){if(e==null)return"";switch(typeof e){case"string":return e;case"number":return String(e);case"boolean":return e?"TRUE":"FALSE"}return e instanceof Date?String(+e):String(e)}function wildcardToRegExp(e){let t="^";for(let i=0;i<e.length;i++){const r=e[i];if(r==="~"&&i+1<e.length&&(e[i+1]==="*"||e[i+1]==="?")){t+="\\"+e[++i];continue}if(r==="*"){t+=".*";continue}if(r==="?"){t+=".";continue}/[-/\\^$*+?.()|[\]{}]/.test(r)?t+="\\"+r:t+=r}return t+="$",new RegExp(t,"i")}var COMPARE_VALUES=(e,t,i)=>{let r=toNumberLike(t),n=toNumberLike(i);switch((r==null||n==null)&&(r=t,n=toText(i).toUpperCase()),e){case"<":return n<r;case">":return n>r;case"<=":return n<=r;case">=":return n>=r;case"=":return n===r;case"<>":return n!==r}return!1},REGEX_COMPARE_VALUES=(e,t,i)=>{const r=toText(i),n=t.test(r);return e==="="?n:!n},EMPTY_PREDICATE=e=>e==null||e==="";function criteriaToPredicate(e){if(typeof e=="number")return a=>toNumberLike(a)===e;if(typeof e!="string")return a=>e===a;const t=e.trim();if(t==="")return EMPTY_PREDICATE;const i=findOperatorSymbol(t),r=i?t.substring(i.length):t;if(!/[*?]/.test(r))return COMPARE_VALUES.bind(null,i??"=",r.toUpperCase());if(i&&i!=="="&&i!=="<>")throw new FormulaError(38);const o=wildcardToRegExp(r);return REGEX_COMPARE_VALUES.bind(null,i??"=",o)}var shiftColRef=(e,t,i)=>{if(!i||t===0||i.absolute)return;const{visibleCols:r,colModel:n}=e,o=r.allCols,a=colIndexFromId(n,o,i.id);if(a==null)return;const l=a+t;if(l<0)return;const c=colIdFromIndex(o,l);c&&(i.id=c)},shiftRowRef=(e,t,i,r)=>{if(!i||t===0||i.absolute)return;if(r){const l=Number(i.id);if(!Number.isFinite(l))return;i.id=String(l+t);return}const n=rowIndexFromId(e,i.id);if(n==null)return;const o=n+t;if(o<1)return;const a=rowIdFromIndex(e,o);a&&(i.id=a)},isCellOperand=e=>!!e&&typeof e=="object"&&e!==null&&"row"in e&&"column"in e,shiftNode=(e,t,i,r,n)=>{if(t.type==="operand"){const{value:o}=t;if(!isCellOperand(o))return;const{row:a,column:l,endRow:c,endColumn:u}=o;shiftRowRef(e,i,a,n),shiftColRef(e,r,l),shiftRowRef(e,i,c,n),shiftColRef(e,r,u);return}if(t.type==="operation")for(const o of t.operands)shiftNode(e,o,i,r,n)},COUNT=({values:e})=>{let t=0;for(const i of e)i!=null&&i!==""&&!isNaN(i)&&t++;return t},COUNTA=({values:e})=>{let t=0;for(const i of e)i!=null&&i!==""&&t++;return t},COUNTBLANK=({values:e})=>{let t=0;for(const i of e)(i==null||i==="")&&t++;return t},COUNTIF=({args:e})=>{const[t,i]=take(e,"COUNTIF",2);if(!isRangeParam(t))throw new FormulaError(65);if(!isValueParam(i))throw new FormulaError(66);const r=criteriaToPredicate(i.value);let n=0;for(const o of t)r(o)&&n++;return n},NOW=()=>new Date,TODAY=()=>{const e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},EQUALS=({values:e})=>{const[t,i]=take(e,"EQUALS",2);return t===i},NOT_EQUALS=({values:e})=>{const[t,i]=take(e,"NOT_EQUALS",2);return t!==i},GT=({values:e})=>{const[t,i]=take(e,"GT",2);return t>i},GTE=({values:e})=>{const[t,i]=take(e,"GTE",2);return t>=i},LT=({values:e})=>{const[t,i]=take(e,"LT",2);return t<i},LTE=({values:e})=>{const[t,i]=take(e,"LTE",2);return t<=i},IF=({values:e})=>{const[t,i,r]=take(e,"IF",3);return t?i:r},MIN=({values:e})=>{let t=null;for(const i of e)i!=null&&(t===null||i<t)&&(t=i);if(t===null)throw new FormulaError(68);return t},MAX=({values:e})=>{let t=null;for(const i of e)i!=null&&(t===null||i>t)&&(t=i);if(t===null)throw new FormulaError(69);return t},import_ag_grid_community245=require("ag-grid-community"),MS_PER_DAY=1440*60*1e3;function daysFromDate(e){return e.getTime()/MS_PER_DAY}function dateFromDays(e){return new Date(e*MS_PER_DAY)}function isDateValue(e){return e instanceof Date}function coerceFiniteNumber(e,t){if(typeof t=="bigint"){const i=Number(t);if(Number.isFinite(i))return i;throw new FormulaError(48,[e])}if((0,import_ag_grid_community245._isFiniteNumber)(t))return t;if(isDateValue(t))return daysFromDate(t);if(typeof t=="boolean")return t?1:0;if(typeof t=="string"){const i=Number(t.trim());if(Number.isFinite(i))return i}throw new FormulaError(48,[e])}function coerceFiniteNumberOrBigInt(e,t){return typeof t=="bigint"?t:coerceFiniteNumber(e,t)}function coerceBigInt(e,t){if(typeof t=="bigint")return t;if(!Number.isFinite(t)||!Number.isInteger(t))throw new FormulaError(49,[e]);return BigInt(t)}var PRODUCT=({values:e})=>{let t=1,i=null;for(const r of iterableWithoutBlanks(e)){const n=coerceFiniteNumberOrBigInt("PRODUCT",r);if(typeof n=="bigint"){if(i??(i=coerceBigInt("PRODUCT",t)),n===0n)return 0n;i*=n;continue}if(i!=null){i*=coerceBigInt("PRODUCT",n);continue}if(n===0)return 0;t*=n}return i??t},DIVIDE=({values:e})=>{const[t,i]=take(iterableWithoutBlanks(e),"DIVIDE",2),r=coerceFiniteNumber("DIV",t),n=coerceFiniteNumber("DIV",i);if(r==null||n==null)throw new FormulaError(54);if(n===0)throw new FormulaError(55);return r/n},SUM=({values:e})=>{let t=!1,i=0,r=null,n=!1;for(const o of iterableWithoutBlanks(e)){t||(t=isDateValue(o));const a=coerceFiniteNumberOrBigInt("SUM",o);if(typeof a=="bigint"){if(t)throw new FormulaError(56);r??(r=coerceBigInt("SUM",i)),r+=a,n=!0;continue}if(typeof r=="bigint"){if(t)throw new FormulaError(56);r+=coerceBigInt("SUM",a),n=!0;continue}i+=a,n=!0}if(!n)throw new FormulaError(57);return typeof r=="bigint"?r:t?dateFromDays(i):i},MINUS=({values:e})=>{const[t,i]=take(iterableWithoutBlanks(e),"MINUS",2),r=isDateValue(t),n=isDateValue(i);if(r||n){const l=coerceFiniteNumber("MINUS",t),c=coerceFiniteNumber("MINUS",i);return r&&!n?dateFromDays(l-c):l-c}const o=coerceFiniteNumberOrBigInt("MINUS",t),a=coerceFiniteNumberOrBigInt("MINUS",i);return typeof o=="bigint"||typeof a=="bigint"?coerceBigInt("MINUS",o)-coerceBigInt("MINUS",a):o-a},PERCENT=({values:e})=>{const[t]=take(e,"PERCENT",1),i=coerceFiniteNumber("PERCENT",t);if(i==null)throw new FormulaError(70);return i/100},POWER=({values:e})=>{const[t,i]=take(e,"POWER",2),r=coerceFiniteNumber("POWER",t),n=coerceFiniteNumber("POWER",i);if(r==null||n==null)throw new FormulaError(71);return Math.pow(r,n)},ROUND=({values:e})=>{const[t,i=0]=takeBetween(e,"ROUND",1,2),r=coerceFiniteNumber("ROUND",t),n=Math.trunc(coerceFiniteNumber("ROUND",i)),o=Math.pow(10,n);return Math.round(r*o)/o},AVERAGE=({values:e})=>{let t=0,i=0,r=!0;for(const o of iterableWithoutBlanks(e)){const a=coerceFiniteNumber("AVG",o);a!=null&&(t+=a,i++,r&&(r=isDateValue(o)))}if(i===0)throw new FormulaError(58);const n=t/i;return r?dateFromDays(n):n},MEDIAN=({values:e})=>{let t=!0;const i=[];for(const o of iterableWithoutBlanks(e)){const a=coerceFiniteNumber("MEDIAN",o);if(a==null)throw new FormulaError(59);i.push(a),t&&(t=isDateValue(o))}if(i.length===0)throw new FormulaError(60);i.sort((o,a)=>o-a);const r=Math.floor(i.length/2),n=i.length%2===1?i[r]:(i[r-1]+i[r])/2;return t?dateFromDays(n):n},RAND=()=>Math.random(),SUMIF=({args:e})=>{const[t,i,r]=takeBetween(e,"SUMIF",2,3);if(!isRangeParam(t))throw new FormulaError(61);if(!isValueParam(i))throw new FormulaError(62);if(r&&!isRangeParam(r))throw new FormulaError(63);const n=criteriaToPredicate(i.value);if(!r){let h=0,p=null;for(const g of t)if(n(g)){const f=coerceFiniteNumberOrBigInt("SUMIF",g);typeof f=="bigint"?(p??(p=coerceBigInt("SUMIF",h)),p+=f):p!=null?p+=coerceBigInt("SUMIF",f):h+=f}return p??h}const o=t.rowEnd-t.rowStart,a=r.rowEnd-r.rowStart;if(o!==a)throw new FormulaError(64);const l=t[Symbol.iterator](),c=r[Symbol.iterator]();let u=0,d=null;for(;;){const h=l.next(),p=c.next();if(h.done||p.done){if(h.done!==p.done)throw new FormulaError(64);break}if(n(h.value)){const g=coerceFiniteNumberOrBigInt("SUMIF",p.value);typeof g=="bigint"?(d??(d=coerceBigInt("SUMIF",u)),d+=g):d!=null?d+=coerceBigInt("SUMIF",g):u+=g}}return d??u},CONCAT=({values:e})=>{let t="";for(const i of e)if(i!=null)switch(typeof i){case"string":{t+=i;break}case"number":{t+=String(i);break}case"boolean":{t+=i?"TRUE":"FALSE";break}case"object":{t+=i.toString();break}default:throw new FormulaError(67)}return t},supportedFuncs_default={IF,NOW,TODAY,PRODUCT,SUM,ADD:SUM,SUMIF,POWER,MIN,MAX,AVERAGE,MEDIAN,ROUND,COUNT,COUNTA,COUNTBLANK,COUNTIF,RAND,CONCAT,CONCATENATE:CONCAT,"+":SUM,"-":MINUS,"*":PRODUCT,"/":DIVIDE,"^":POWER,"%":PERCENT,"=":EQUALS,"&":CONCAT,"<>":NOT_EQUALS,">":GT,">=":GTE,"<":LT,"<=":LTE},REFRESH_CELLS_PARAMS={suppressFlash:!0,force:!0},COL_REF_ALPHABET="ABCDEFGHIJKLMNOPQRSTUVWXYZ",COL_REF_BASE=COL_REF_ALPHABET.length,FormulaService=class extends import_ag_grid_community246.BeanStub{constructor(){super(...arguments),this.beanName="formula",this.valueCacheVersion=0,this.active=!1,this.cachedResult=new Map,this.activeCtx=null,this.colRefMap=new Map,this.colToRefMap=new Map,this.functionNames=null,this.formulaDataSvc=void 0,this.formulaColumnsPresent=!1,this.calculatedColumnsActive=!1}hasCachedRows(){return this.cachedResult.size>0}setFormulasActive(e){const t=this.beans.calculatedColsSvc?.isEnabled()===!0;let i=!1,r=!1;for(let d=0,h=e.length;d<h;++d){const p=e[d];if(p.allowFormula&&(i=!0),p.isCalculatedCol&&(r=!0),i&&(r||!t))break}const n=i||r;this.formulaColumnsPresent=n;const o=i&&this.checkForEditableFormulaIncompatibleServices(e),a=r&&this.checkForBaseIncompatibleServices(),l=this.beans.rowModel.getType()==="clientSide",c=o&&l,u=a;(c!==this.active||u!==this.calculatedColumnsActive)&&(this.active=c,this.calculatedColumnsActive=u,this.rebuildColRefMap(),this.refreshFormulas(!0))}isEvaluationActive(){return this.active||this.calculatedColumnsActive}checkForBaseIncompatibleServices(){return this.gos.get("enableCellExpressions")?(this.warn(295,{blockedService:"Cell Expressions"}),!1):!0}checkForEditableFormulaIncompatibleServices(e){if(this.gos.get("masterDetail"))return this.warn(295,{blockedService:"Master Detail"}),!1;if(!this.checkForBaseIncompatibleServices())return!1;if(this.gos.get("treeData"))return this.warn(295,{blockedService:"Tree Data"}),!1;for(let t=0,i=e.length;t<i;++t){const r=e[t];if(r.isAllowPivot()||r.isPivotActive())return this.warn(295,{blockedService:"Column Pivoting"}),!1;if(r.isAllowRowGroup()||r.isRowGroupActive())return this.warn(295,{blockedService:"Row Groups"}),!1;if(r.isAllowValue()||r.isValueActive()||r.aggFunc)return this.warn(295,{blockedService:"Value Aggregation"}),!1}return!0}postConstruct(){this.setupFunctions(),this.formulaDataSvc=this.beans.formulaDataSvc;const e=a=>{this.onRowDataChanged(a.node)},t=a=>{this.onRowDataChanged(a.node)},i=()=>{this.isEvaluationActive()&&(this.rebuildColRefMap(),this.refreshFormulas(!0))},r=()=>{this.isEvaluationActive()&&(this.rebuildColRefMap(),this.cachedResult.size!==0&&this.bumpValueCacheAndRefresh())},n=()=>{const a=this.cachedResult;if(!this.isEvaluationActive()||a.size===0)return;let l=!1;for(const c of a.keys())if(c.rowPinned){a.delete(c),l=!0;const u=c.sibling;u&&a.delete(u)}l&&this.beans.rowRenderer.refreshCells(REFRESH_CELLS_PARAMS)},o=()=>{this.beans.rowModel.getType()==="clientSide"||!this.isEvaluationActive()||this.refreshFormulas(!0)};this.addManagedPropertyListeners(["masterDetail","enableCellExpressions"],a=>{this.formulaColumnsPresent&&this.beans.colModel.refreshAll((0,import_ag_grid_community246._convertColumnEventSourceType)(a.source))}),this.addManagedListeners(this.beans.eventSvc,{cellValueChanged:e,rowNodeDataChanged:t,newColumnsLoaded:i,columnMoved:r,modelUpdated:o,storeUpdated:o,pinnedRowDataChanged:n,pinnedRowsChanged:n})}onRowDataChanged(e){!this.active&&!this.calculatedColumnsActive||e.rowPinned!=null&&e.pinnedSibling||(this.dropRow(e),this.bumpValueCacheAndRefresh(!1))}destroy(){this.active=!1,this.calculatedColumnsActive=!1,super.destroy(),this.cachedResult.clear(),this.colRefMap.clear(),this.colToRefMap.clear(),this.supportedOperations.clear(),this.functionNames=null,this.activeCtx=null,this.formulaDataSvc=void 0}dropRow(e){const t=this.cachedResult;let i=t.delete(e);const r=e.sibling;if(r){t.delete(r)&&(i=!0);const o=r.pinnedSibling;o&&t.delete(o)&&(i=!0)}const n=e.pinnedSibling;return n&&t.delete(n)&&(i=!0),i}onRowsChanged(e,t){if(!this.active&&!this.calculatedColumnsActive)return;if(t){this.refreshFormulas(!0);return}let i=!0;if(e){const{adds:r,removals:n,updates:o,reordered:a}=e;for(const l of n)this.dropRow(l);for(const l of o)this.dropRow(l);i=a||n.length>0||r.size>0||o.size>0}i&&this.bumpValueCacheAndRefresh()}bumpValueCacheAndRefresh(e=!0){this.valueCacheVersion++,this.beans.rowRenderer.refreshCells(e?REFRESH_CELLS_PARAMS:void 0)}updateFormulaByOffset(e){const{value:t,rowDelta:i=0,columnDelta:r=0,useRefFormat:n=!0}=e,o=this.beans;try{const a=!n,l=parseFormula(o,t,a);return shiftNode(o,l,i,r,a),serializeFormula(o,l,n,a)}catch{return t}}setupFunctions(){const e=this.supportedOperations=new Map,t=Object.keys(supportedFuncs_default);for(let r=0,n=t.length;r<n;++r){const o=t[r];e.set(o,supportedFuncs_default[o])}this.functionNames=null;const i=this.gos.get("formulaFuncs");if(i){const r=Object.keys(i);for(let n=0,o=r.length;n<o;++n){const a=r[n];e.set(a.toUpperCase(),i[a].func)}}}getFunctionNames(){return this.functionNames??this.buildFunctionNames()}buildFunctionNames(){const e=this.supportedOperations,t=[];for(const i of e.keys())isValidFunctionName(i)&&t.push(i);return t.sort((i,r)=>i.localeCompare(r)),this.functionNames=t,t}rebuildColRefMap(){const{beans:e,colRefMap:t,colToRefMap:i}=this;if(t.clear(),i.clear(),!this.isEvaluationActive())return;const r=e.colModel.colsList;if(!r)return;let n=0;for(let o=0,a=r.length;o<a;++o){const l=r[o];if(!l.primary)continue;let c="",u=n++;for(;c=COL_REF_ALPHABET[u%COL_REF_BASE]+c,!(u<COL_REF_BASE);)u=Math.floor(u/COL_REF_BASE)-1;l.formulaRef!==c&&(l.formulaRef=c,l.dispatchColEvent("formulaRefChanged","api")),t.set(c,l),i.set(l,c)}}getColByRef(e){return this.colRefMap.get(e.toUpperCase())??null}getColRef(e){return this.colToRefMap.get(e)??null}refreshFormulas(e){this.cachedResult.clear(),e&&this.beans.rowRenderer.refreshCells(REFRESH_CELLS_PARAMS)}refreshRow(e){if(!this.active&&!this.calculatedColumnsActive)return!1;let t=!1;if(typeof e=="string"){const{rowModel:i,pinnedRowModel:r}=this.beans,n=i.getRowNode(e);n&&this.dropRow(n)&&(t=!0);const o=r?.getPinnedRowById(e,"top");o&&this.dropRow(o)&&(t=!0);const a=r?.getPinnedRowById(e,"bottom");a&&this.dropRow(a)&&(t=!0)}else t=this.dropRow(e);return t&&this.bumpValueCacheAndRefresh(),t}isFormula(e){return this.active&&(0,import_ag_stack152._isExpressionString)(e)}normaliseFormula(e,t=!1){const i=this.beans;try{return serializeFormula(i,parseFormula(i,e),!t,!1)}catch{return null}}validateExpression(e){try{const t=parseFormula(this.beans,e,!0),i=findFirstInvalidOperation(t,r=>!!this.getFunction(r));return i?new FormulaError(27,[i]):null}catch(t){return t instanceof FormulaError?t:new FormulaError(1)}}getDataSourceFormula(e,t){if(!this.active||!this.formulaDataSvc?.hasDataSource())return;const i=this.ensureCellFormula(e,t);return i?.fromDataSource?i.formulaString:void 0}getFormulaError(e,t){const i=this.ensureCellFormula(t,e);if(!i)return null;i.isValueReady()||this.resolveValue(e,t);const r=i.errorType;if(!r)return null;const n=i.errorId;return n!=null?new FormulaError(n,i.errorVariableValues??void 0,r):new FormulaError(i.errorMessage,r)}getFunction(e){const t=this.supportedOperations;return t.get(e)??t.get(e.toUpperCase())}ensureCellFormula(e,t){const i=this.active,r=this.calculatedColumnsActive;if(i&&t.allowFormula){if(!r)return this.ensureEditableCellFormula(e,t);const o=t.calculatedExpression;return o===void 0?this.ensureEditableCellFormula(e,t):this.ensureCalculatedCellFormula(e,t,o??"")}if(!r)return null;const n=t.calculatedExpression;return n===void 0?null:this.ensureCalculatedCellFormula(e,t,n??"")}ensureEditableCellFormula(e,t){const i=this.cachedResult;let r=i.get(e);const n=r?.get(t);if(n!==void 0)return n;r||(r=new Map,i.set(e,r)),r.set(t,null);try{const o=this.formulaDataSvc,a=o?.hasDataSource()?o.getFormula({column:t,rowNode:e}):void 0;if((0,import_ag_stack152._isExpressionString)(a)){const c=new CellFormula(e,t,a,!0,this.beans,this);return r.set(t,c),c}const l=this.fetchRawValue(t,e);if((0,import_ag_stack152._isExpressionString)(l)){const c=new CellFormula(e,t,l,!1,this.beans,this);return r.set(t,c),c}return null}catch(o){throw r.delete(t),o}}ensureCalculatedCellFormula(e,t,i){if(e.stub||e.failedLoad||t.aggregationActive&&e.group||!e.data)return null;const r=this.cachedResult;let n=r.get(e);const o=n?.get(t);if(o!==void 0)return o;n||(n=new Map,r.set(e,n)),n.set(t,null);try{const a=i.trim();if(!a)return null;const l=a.startsWith("=")?a:`=${i}`,c=new CellFormula(e,t,l,!1,this.beans,this);return n.set(t,c),c}catch(a){throw n.delete(t),a}}coerceFormulaValue(e,t){let i=e.baseDataType;if(i===void 0&&(i=this.beans.dataTypeSvc?.getBaseDataType(e.column)??null,e.baseDataType=i),i==="bigint")return(0,import_ag_stack152._parseBigIntOrNull)(t)??t;if(i==="number"&&typeof t=="bigint"){const r=Number(t);return Number.isFinite(r)?r:t}return t}fetchRawValue(e,t){if(e.isCalculatedCol)return e.calculatedExpression?.trim()?void 0:"";const i=this.beans.valueSvc,r=e.pivotValueColumn;return r&&!t.group&&!t.rowPinned?this.leafInPivotBucket(e,t)?i.getValueFromData(r,t):void 0:i.getValueFromData(e,t)}leafInPivotBucket(e,t){const i=this.beans,r=i.pivotColsSvc?.columns,n=e.colDef.pivotKeys;if(!r||!n)return!1;const o=i.valueSvc;for(let a=0,l=n.length;a<l;++a){const c=r[a];if(!c||o.getKeyForNode(c,t)!==n[a])return!1}return!0}resolveAddrRef(e){const{row:t,column:i}=e,r=this.ensureCellFormula(t,i);if(r){if(!r.isValueReady())throw new FormulaError(53);if(r.errorType)throw r;return r.getValue()}return this.fetchRawValue(i,t)}makeFormulaFrame(e){const i=this.ensureCellFormula(e.row,e.column).getAst();if(!i)throw new FormulaError(52);const r=unresolvedDeps(this.beans,i,this,e);return{address:e,ast:i,unresolvedDepIterator:r}}resolveValue(e,t){const i=this.ensureCellFormula(t,e);if(!i)return this.fetchRawValue(e,t);if(i.isValueReady())return i.getValue();const r=this.activeCtx,n=r??(this.activeCtx=new Map),o=[];try{for(formulaVisitorSetVisiting(n,t,e),o.push(this.makeFormulaFrame({row:t,column:e}));o.length;){const{address:a,ast:l,unresolvedDepIterator:c}=o[o.length-1],{row:u,column:d}=a,h=this.ensureCellFormula(u,d);if(h.isValueReady()){if(o.pop(),formulaVisitorSetVisited(n,u,d),h.errorType)throw h;continue}const p=c.next();if(!p.done){const m=p.value,v=this.ensureCellFormula(m.row,m.column);if(!v||v.isValueReady())continue;formulaVisitorSetVisiting(n,m.row,m.column),o.push(this.makeFormulaFrame(m));continue}const g=evalAst(this.beans,l,this,a),f=this.coerceFormulaValue(h,g);if(h.errorType&&h.isValueReady())throw formulaVisitorSetVisited(n,u,d),h;h.setComputedValue(f),formulaVisitorSetVisited(n,u,d),o.pop()}if(!i.isValueReady())throw new FormulaError(53);return i.getValue()}catch(a){return this.errorAllVisitors(n,a)}finally{r||(this.activeCtx=null)}}errorAllVisitors(e,t){let i="#ERROR!",r=null,n,o=null;return t instanceof CellFormula?(i=t.errorType??"#ERROR!",r=t.errorId,n=t.errorMessage,o=t.errorVariableValues):t instanceof FormulaError?(i=t.type,r=t.errorId,n=t.message,o=t.variableValues??null):n=String(t?.message??t),e.forEach((a,l)=>{for(const c of a)this.ensureCellFormula(l,c)?.setErrorFields(i,r,n,o)}),i}},FormulaModule={moduleName:"Formula",version:VERSION,userComponents:{agFormulaCellEditor:FormulaCellEditor},beans:[FormulaService,FormulaDataService,FormulaInputManagerService],apiFunctions:{refreshFormulas},dependsOn:[RowNumbersModule],css:[formula_default]},import_ag_grid_community251=require("ag-grid-community"),notes_default='.ag-has-cell-notes:after{border-style:solid;content:"";pointer-events:none;position:absolute;top:0}:where(.ag-ltr) .ag-has-cell-notes:after{border-color:transparent var(--ag-note-indicator-color) transparent transparent;border-width:0 var(--ag-note-indicator-size) var(--ag-note-indicator-size) 0;right:0}:where(.ag-rtl) .ag-has-cell-notes:after{border-color:transparent transparent transparent var(--ag-note-indicator-color);border-width:0 0 var(--ag-note-indicator-size) var(--ag-note-indicator-size);left:0}.ag-notes-panel.ag-panel{background-color:var(--ag-note-popup-background-color);border:var(--ag-note-popup-border);width:100%}.ag-notes-panel-content-wrapper,.ag-notes-popup-content{min-height:0;min-width:0}.ag-notes-popup-content{display:flex;flex-direction:column;gap:calc(var(--ag-spacing)/2);height:100%;padding:var(--ag-note-popup-padding);width:100%}.ag-notes-popup-meta{color:var(--ag-note-popup-text-color);font-size:calc(var(--ag-font-size) - 1px)}:where(.ag-ltr) .ag-notes-popup-meta{padding-left:calc(var(--ag-spacing)/2)}:where(.ag-rtl) .ag-notes-popup-meta{padding-right:calc(var(--ag-spacing)/2)}.ag-notes-popup-body{display:flex;flex:1 1 auto;min-height:0;min-width:0}.ag-notes-popup-editor{display:flex;flex:1 1 auto;height:100%;min-width:0;width:100%}.ag-notes-popup-editor :where(.ag-text-area-input-wrapper){align-items:stretch;flex:1 1 auto;height:100%;min-width:0;width:100%}.ag-notes-popup-editor .ag-text-area-input{background-color:var(--ag-note-popup-input-background-color);color:var(--ag-note-popup-input-text-color);flex:1 1 auto;height:100%;min-width:0;padding:calc(var(--ag-spacing)/2);resize:none;width:100%}.ag-notes-popup-editor .ag-text-area-input[readonly]{background-color:var(--ag-note-popup-background-color);border:none}.ag-notes-popup-read-only :where(.ag-text-area-input-wrapper){background-color:var(--ag-input-disabled-background-color)}';function getNote(e,t){return e.notesSvc?.getNote(t)}function setNote(e,t){e.notesSvc?.setNote(t)}function refreshNotes(e,t){e.notesSvc?.refreshNotes(t)}var import_ag_grid_community247=require("ag-grid-community");function isFullWidthRowNoteParams(e){return e.location==="fullWidthRow"}function cloneNote(e){if(!(!e||typeof e.text!="string"||!e.text.trim()))return{...e}}var NotesDataService=class extends import_ag_grid_community247.BeanStub{constructor(){super(...arguments),this.beanName="notesDataSvc"}postConstruct(){this.setDataSource(this.gos.get("notesDataSource")),this.addManagedPropertyListener("notesDataSource",({currentValue:e})=>{this.setDataSource(e),this.beans.notesSvc?.onDataSourceChanged()})}hasDataSource(){return!!this.dataSource}supportsFullWidthRows(){return this.isFullWidthDataSource(this.dataSource)}getNote(e){const{dataSource:t}=this;if(isFullWidthRowNoteParams(e))return cloneNote(this.isFullWidthDataSource(t)?t.getNote(e):void 0);const i=this.beans.colModel.getCol(e.column);if(i)return cloneNote(t?.getNote({...e,column:i}))}setNote(e){const{dataSource:t}=this,i=cloneNote(e.note);if(isFullWidthRowNoteParams(e)){this.isFullWidthDataSource(t)&&t.setNote({...e,note:i});return}const r=this.beans.colModel.getCol(e.column);r&&t?.setNote({...e,column:r,note:i})}setDataSource(e){this.dataSource!==e&&(this.dataSource?.destroy?.(),this.dataSource=e,e?.init?.(this.createInitParams()))}createInitParams(){return(0,import_ag_grid_community247._addGridCommonParams)(this.gos,{})}isFullWidthDataSource(e){return!!e&&"supportsFullWidthRows"in e&&e.supportsFullWidthRows===!0}destroy(){this.dataSource?.destroy?.(),super.destroy()}},import_ag_grid_community250=require("ag-grid-community"),import_ag_grid_community249=require("ag-grid-community"),import_ag_stack153=require("ag-stack"),import_ag_grid_community248=require("ag-grid-community"),DEFAULT_SIZE={width:290,height:150,minWidth:240,minHeight:150},CELL_PLACEMENTS=["tl-tr","tr-br","br-tr","tr-tl","br-tl"],FULL_WIDTH_ROW_PLACEMENTS=["tl-tr","tr-br","br-tr"],NotesPopupContentElement={tag:"div",cls:"ag-notes-popup-content",children:[{tag:"div",ref:"eMeta",cls:"ag-notes-popup-meta"},{tag:"div",cls:"ag-notes-popup-body",children:[{tag:"ag-input-text-area",ref:"eEditor",cls:"ag-notes-popup-editor"}]}]},AgNotesPopupContent=class extends import_ag_grid_community248.Component{constructor(e,t){super(NotesPopupContentElement,[import_ag_grid_community248.AgInputTextAreaSelector]),this.note=e,this.readOnly=t,this.eMeta=import_ag_stack153.RefPlaceholder,this.eEditor=import_ag_stack153.RefPlaceholder,this.initialText=e?.text.trim()??""}postConstruct(){const e=this.getLocaleTextFunc(),t=this.note?.author?.trim(),i=this.note?.updatedAt?.trim()||this.note?.createdAt?.trim(),r=[t,i].filter(o=>!!o);this.eMeta.textContent=r.join(" \xB7 "),(0,import_ag_stack153._setDisplayed)(this.eMeta,!!r.length),this.eEditor.setInputPlaceholder(this.readOnly?void 0:e("notePlaceholder","Add a note...")).setRows(8).setValue(this.note?.text??"",!0).setInputAriaLabel(e("ariaInputEditor","Input Editor"));const n=this.eEditor.getInputElement();n.setAttribute("title",""),n.readOnly=this.readOnly}focusEditor(){this.eEditor.getFocusableElement().focus();const t=this.eEditor.getInputElement(),i=t.value.length;t.setSelectionRange(i,i)}getEditedNote(){return buildEditedNote(this.note,this.eEditor.getValue())}isDirty(){return this.readOnly?!1:(this.eEditor.getValue()?.trim()??"")!==this.initialText}};function buildEditedNote(e,t){const i=t?.trim();if(i)return{...e??{},text:i}}var AgNotesPopup=class extends import_ag_grid_community248.BeanStub{constructor(e){super(),this.params=e,this.saveOnClose=!0,this.closed=!1}postConstruct(){const e=cloneNote(this.params.note),t=this.createManagedBean(new AgNotesPopupContent(e,!!this.params.readOnly));this.contentComp=t;const{x:i,y:r}=this.computeInitialPosition(),n=this.createManagedBean(new Dialog({...DEFAULT_SIZE,modal:!0,resizable:!0,movable:!1,closable:!1,hideTitleBar:!0,cssIdentifier:"notes",x:i,y:r,closedCallback:l=>this.onDialogClosed(l)}));this.dialog=n,n.setBodyComponent(t);const o=n.getGui(),a=this.getLocaleTextFunc();o.classList.add("ag-notes-popup"),o.classList.toggle("ag-notes-popup-read-only",!!this.params.readOnly),o.setAttribute("aria-label",a("note","Note")),this.addManagedElementListeners(o,{keydown:l=>{l.key===import_ag_grid_community248.KeyCode.TAB&&l.preventDefault()},pointerenter:()=>this.params.onPopupEnter(),pointerout:l=>this.onPotentialLeave(l.relatedTarget,!0),focusout:l=>{n.isResizing||this.onPotentialLeave(l.relatedTarget,!1)}}),this.params.focusEditor&&t.focusEditor()}hide(e=!0){this.saveOnClose=e,this.dialog?.close()}focusEditor(){this.contentComp?.focusEditor()}hasFocus(){return!!this.dialog?.getGui().contains((0,import_ag_stack153._getActiveDomElement)(this.beans))}onPotentialLeave(e,t){const i=this.dialog?.getGui();i&&(e&&i.contains(e)||t&&this.hasFocus()||this.params.onPopupLeave())}computeInitialPosition(){return findNotesPopupPosition({anchorRect:this.params.anchorToElement.getBoundingClientRect(),parentRect:this.beans.popupSvc.getParentRect(),popupSize:DEFAULT_SIZE,placementMode:this.params.placementMode,enableRtl:this.gos.get("enableRtl")})}onDialogClosed(e){this.closed||(this.closed=!0,this.notifyClosed(e))}destroy(){this.closed||(this.closed=!0,this.notifyClosed()),super.destroy()}notifyClosed(e){const t=this.saveOnClose&&(this.contentComp?.isDirty()??!1),i=t?this.contentComp?.getEditedNote():void 0;this.params.onClosed(t,i,e)}};function findNotesPopupPosition(e){const{anchorRect:t,parentRect:i,popupSize:r,placementMode:n,enableRtl:o}=e,a=(0,import_ag_stack153._toRelativeRect)(t,i),l=(0,import_ag_stack153._getRectSize)(i),c=n==="fullWidthRow"?FULL_WIDTH_ROW_PLACEMENTS:CELL_PLACEMENTS,u=(0,import_ag_stack153._getEffectivePlacements)(c,o);for(const d of u){const h=(0,import_ag_stack153._computeAlignedPosition)(a,r,d,0);if((d==="tl-tr"||d==="tr-tl")&&(h.y-=1),(0,import_ag_stack153._fitsWithinBounds)(h,r,l))return h}return(0,import_ag_stack153._findBestPlacement)(a,r,l,[...c.slice(1),c[0]],{gap:0,enableRtl:o})}var CSS_HAS_CELL_NOTES="ag-has-cell-notes",BaseNotesFeature=class{constructor(e,t){this.beans=e,this.notesSvc=t,this.showTimer=0,this.hideTimer=0,this.suppressHoverUntilPointerLeave=!1,this.preserveActivePopupOwnerOnClose=!1}refresh(){if(this.refreshHasNotesStyling(),!this.activeTarget)return;const{canView:e,canCreate:t}=this.notesSvc.getNoteAccess(this.activeTarget.noteParams)||{};!e&&!t&&this.closeNotePopup(!1)}show(e){const t=this.getTarget(e?.pinned);t&&this.openPopup(t,e?.focusEditor)}hide(e=!0){this.closeNotePopup(e)}closeNotePopup(e=!0){this.clearShowTimer(),this.cancelHide(),this.popup?.hide(e)}destroy(){this.closeNotePopup(!1)}getNoteTrigger(){return this.beans.gos.get("noteTrigger")==="click"?"click":"hover"}onPointerEnter(e,t){if(t.pointerType!=="mouse"||this.suppressHoverUntilPointerLeave)return;if(this.getNoteTrigger()!=="hover"){e&&this.matchesActiveTarget(e)&&this.cancelHide();return}const i=e&&this.notesSvc.getNoteAccess(e.noteParams);if(this.cancelHide(),!e||!i?.canView||this.matchesActiveTarget(e))return;this.clearShowTimer();const r=this.notesSvc.getHoverGeneration();this.showTimer=window.setTimeout(()=>{r===this.notesSvc.getHoverGeneration()&&this.openPopup(e)},this.beans.gos.get("noteShowDelay"))}onPointerLeave(e){e.pointerType==="mouse"&&(this.suppressHoverUntilPointerLeave=!1,this.clearShowTimer(),!this.popup?.hasFocus()&&this.scheduleHide())}onContextMenu(){this.suppressHoverUntilPointerLeave=!0,this.closeNotePopup()}onClick(e,t){if(this.getNoteTrigger()!=="click"||(0,import_ag_grid_community249._isStopPropagationForAgGrid)(t)||(0,import_ag_grid_community249._interpretAsRightClick)(this.beans,t))return;const i=e&&this.notesSvc.getNoteAccess(e.noteParams);!e||!i?.canView||(this.suppressHoverUntilPointerLeave=!1,this.openPopup(e))}openPopup(e,t=!1){const i=this.notesSvc.getNoteAccess(e.noteParams);if(!i||!i.canView&&!(t&&i.canCreate))return;if(this.cancelHide(),this.clearShowTimer(),this.matchesActiveTarget(e)&&this.popup){t&&this.popup.focusEditor();return}const r=this.notesSvc.replaceActivePopupOwner(this);r?r.closeNotePopup():this.popup&&(this.preserveActivePopupOwnerOnClose=!0,this.closeNotePopup());const n=this.beans.context.createBean(new AgNotesPopup({note:i.note??{text:""},readOnly:i.canView&&!i.canEdit,anchorToElement:e.anchorElement,placementMode:isFullWidthRowNoteParams(e.noteParams)?"fullWidthRow":"cell",focusEditor:t,onClosed:(o,a,l)=>this.onPopupClosed(o,a,l),onPopupEnter:()=>this.cancelHide(),onPopupLeave:()=>this.scheduleHide()}));this.popup=n,this.activeTarget=e}onPopupClosed(e,t,i){const r=this.activeTarget,n=this.popup,o=this.preserveActivePopupOwnerOnClose;this.popup=void 0,this.activeTarget=void 0,this.preserveActivePopupOwnerOnClose=!1,o||this.notesSvc.clearActivePopupOwner(this),n&&this.beans.context.destroyBean(n),r&&i instanceof KeyboardEvent&&i.key==="Escape"&&this.beans.focusSvc.setFocusedCell({rowIndex:r.rowNode.rowIndex,rowPinned:r.rowNode.rowPinned,column:r.focusColumn,forceBrowserFocus:!0,preventScrollOnBrowserFocus:!0,sourceEvent:i}),!(!e||!r)&&this.notesSvc.setNote({...r.noteParams,note:t,previousNote:this.notesSvc.getNoteAccess(r.noteParams)?.note,source:"ui"})}matchesActiveTarget(e){return areSameNoteParams(this.activeTarget?.noteParams,e.noteParams)}scheduleHide(){this.cancelHide(),this.hideTimer=window.setTimeout(()=>this.closeNotePopup(),this.beans.gos.get("noteHideDelay"))}cancelHide(){this.hideTimer&&(window.clearTimeout(this.hideTimer),this.hideTimer=0)}clearShowTimer(){this.showTimer&&(window.clearTimeout(this.showTimer),this.showTimer=0)}},AgNotesFeature=class extends BaseNotesFeature{constructor(e,t,i){super(e,i),this.ctrl=t}refresh(){this.ctrl.isNoteHoverSuppressed()&&this.clearShowTimer(),super.refresh()}initialise(){this.ctrl.addManagedElementListeners(this.ctrl.eGui,{pointerenter:e=>{this.ctrl.isNoteHoverSuppressed()||this.onPointerEnter(this.getTarget(),e)},pointerleave:e=>this.onPointerLeave(e),click:e=>{this.ctrl.isNoteHoverSuppressed()||this.onClick(this.getTarget(),e)},contextmenu:()=>this.onContextMenu()}),this.refresh()}refreshHasNotesStyling(){const e=!!this.notesSvc.getNoteAccess(this.getPosition())?.note;this.ctrl.comp.toggleCss(CSS_HAS_CELL_NOTES,e&&!this.ctrl.isNoteHoverSuppressed())}getPosition(){return{rowNode:this.ctrl.rowNode,column:this.ctrl.column}}getTarget(){return{noteParams:this.getPosition(),rowNode:this.ctrl.rowNode,focusColumn:this.ctrl.column,anchorElement:this.ctrl.eGui}}},AgFullWidthRowNotesFeature=class extends BaseNotesFeature{constructor(e,t,i){super(e,i),this.ctrl=t}initialise(){for(const e of this.ctrl.getTargets())e.compBean.addManagedListeners(e.element,{pointerenter:t=>this.onPointerEnter(this.getTargetForElement(t.target),t),pointerleave:t=>this.onPointerLeave(t),click:t=>this.onClick(this.getTargetForElement(t.target),t),contextmenu:()=>this.onContextMenu()});this.refresh()}refreshHasNotesStyling(){if(this.ctrl.isFullWidth())for(const e of this.ctrl.getTargets()){const t=this.getNoteParamsForTarget(e),i=!!this.notesSvc.getNoteAccess(t)?.note;e.element.classList.toggle(CSS_HAS_CELL_NOTES,i)}}getNoteParamsForTarget(e){const t=e.pinned==="left"||e.pinned==="right"?e.pinned:void 0;return{rowNode:this.ctrl.rowNode,location:"fullWidthRow",pinned:t}}getTargetForElement(e){const t=this.ctrl.getTarget(e);if(t)return this.getNoteTargetForFullWidthTarget(t)}getNoteTargetForFullWidthTarget(e){return{noteParams:this.getNoteParamsForTarget(e),rowNode:this.ctrl.rowNode,focusColumn:e.column,anchorElement:e.element}}getTarget(e){let t,i;for(const r of this.ctrl.getTargets()){if(t)break;const n=this.getNoteTargetForFullWidthTarget(r);i||(i=n),(r.pinned==="left"||r.pinned==="right"?r.pinned:void 0)===e&&(t=n)}return t??i}};function areSameNoteParams(e,t){return!e||!t?e===t:isFullWidthRowNoteParams(e)||isFullWidthRowNoteParams(t)?isFullWidthRowNoteParams(e)&&isFullWidthRowNoteParams(t)&&e.rowNode===t.rowNode&&e.pinned===t.pinned:e.rowNode===t.rowNode&&e.column===t.column}var NotesService=class extends import_ag_grid_community250.BeanStub{constructor(){super(...arguments),this.beanName="notesSvc",this.hoverGeneration=0}postConstruct(){this.addManagedListeners(this.beans.eventSvc,{bodyScroll:()=>this.resetActivePopupState()})}hasDataSource(){return!!this.beans.notesDataSvc?.hasDataSource()}onDataSourceChanged(){this.resetActivePopupState(!1),this.beans.rowRenderer.redrawRows()}getHoverGeneration(){return this.hoverGeneration}createNotesFeature(e){if(!this.hasDataSource())return;const t=new AgNotesFeature(this.beans,e,this);return t.initialise(),t}createFullWidthNotesFeature(e){if(!this.hasDataSource()||!this.beans.notesDataSvc?.supportsFullWidthRows())return;const t=new AgFullWidthRowNotesFeature(this.beans,e,this);return t.initialise(),t}getNoteAccess(e){const{colModel:t,notesDataSvc:i}=this.beans;if(!this.hasDataSource()||isFullWidthRowNoteParams(e)&&!i.supportsFullWidthRows())return;isFullWidthRowNoteParams(e)&&e.pinned&&!this.gos.get("embedFullWidthRows")&&(e={...e,pinned:void 0});const r=isFullWidthRowNoteParams(e)?this.getColumnForFullWidth(e.pinned):t.getCol(e.column),n=i.getNote(e);if(!r)return;const o=r.isColumnFunc(e.rowNode,r.colDef.suppressNoteActions??null),a=!!n?.readOnly;return{params:e,rowNode:e.rowNode,column:r,note:n,isReadOnly:a,isSuppressed:o,canView:!!n,canCreate:!n&&!o,canEdit:!!n&&!o&&!a,canDelete:!!n&&!o&&!a}}getNote(e){return this.getNoteAccess(e)?.note}replaceActivePopupOwner(e){const t=this.activePopupOwner;if(t!==e)return this.activePopupOwner=e,t}clearActivePopupOwner(e){this.activePopupOwner===e&&(this.activePopupOwner=void 0)}resetActivePopupState(e=!0){this.hoverGeneration++,this.activePopupOwner?.closeNotePopup(e)}showNote(e,t=!1){const i=this.getNoteAccess(e);if(!i||!i.canView&&!(t&&i.canCreate))return!1;const{rowRenderer:r}=this.beans;if(isFullWidthRowNoteParams(i.params)){const a=r.getRowCtrlByNode(e.rowNode)?.getNotesFeature();return a?(a.show({pinned:i.params.pinned,focusEditor:t}),!0):!1}const n=r.getCellCtrls([e.rowNode],[i.column])[0];return n?(n.showNote(t),!0):!1}setNote(e){const{notesDataSvc:t}=this.beans;if(!this.hasDataSource())return;const i=this.getNoteAccess(e);if(!i)return;const{note:r}=e,n=e.previousNote??i.note,o=e.source??"api";!r&&!n||o==="ui"&&(i.isSuppressed||n?.readOnly)||(o==="api"&&this.activePopupOwner?.closeNotePopup(!1),t.setNote(isFullWidthRowNoteParams(i.params)?{...i.params,note:r}:{rowNode:i.rowNode,column:i.column,note:r}),this.refreshNotes(isFullWidthRowNoteParams(i.params)?{rowNodes:[e.rowNode]}:{rowNodes:[e.rowNode],columns:[i.column]}))}refreshNotes(e={}){const{rowRenderer:t}=this.beans;t.refreshCells({rowNodes:e.rowNodes,columns:e.columns,force:!0,suppressFlash:!0});const i=e.rowNodes,r=i?new Set(i):void 0;for(const n of t.getAllRowCtrls())n.isFullWidth()&&(r&&!r.has(n.rowNode)||n.refreshRow({force:!0,suppressFlash:!0}))}getColumnForFullWidth(e){const{visibleCols:t}=this.beans;switch(e){case"left":return t.leftCols[0];case"right":return t.rightCols[0];default:return t.centerCols[0]??t.allCols[0]}}},NotesModule={moduleName:"Notes",version:VERSION,beans:[NotesDataService,NotesService],apiFunctions:{getNote,setNote,refreshNotes},dependsOn:[EnterpriseCoreModule,import_ag_grid_community251._PopupModule],css:[notes_default]},import_ag_grid_community254=require("ag-grid-community"),columnHeaderEdit_default=".ag-column-header-edit-popup-content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:calc(var(--ag-spacing)*2);min-width:0;padding:calc(var(--ag-spacing)*2)}.ag-column-header-edit-popup-editor{flex:1 1 auto}.ag-column-header-edit-popup-actions{display:flex;gap:var(--ag-widget-horizontal-spacing);justify-content:flex-end}.ag-column-header-edit-highlighted{background-color:var(--ag-column-header-edit-highlight-color)}",import_ag_grid_community253=require("ag-grid-community"),import_ag_stack154=require("ag-stack"),import_ag_grid_community252=require("ag-grid-community"),WIDTH=300,MIN_WIDTH=300,ColumnHeaderEditContentElement={tag:"div",cls:"ag-column-header-edit-popup-content",children:[{tag:"ag-input-text-field",ref:"eEditor",cls:"ag-column-header-edit-popup-editor"},{tag:"div",ref:"eActions",cls:"ag-column-header-edit-popup-actions",children:[{tag:"button",ref:"eApply",cls:"ag-button ag-standard-button ag-column-header-edit-action ag-column-header-edit-action-apply"},{tag:"button",ref:"eCancel",cls:"ag-button ag-standard-button ag-column-header-edit-action"}]}]},ColumnHeaderEditContent=class extends import_ag_grid_community252.Component{constructor(e,t,i,r,n){super(ColumnHeaderEditContentElement,[import_ag_grid_community252.AgInputTextFieldSelector]),this.initialValue=e,this.liveApply=t,this.onValueChange=i,this.onApply=r,this.onCancel=n,this.eEditor=import_ag_stack154.RefPlaceholder,this.eActions=import_ag_stack154.RefPlaceholder,this.eApply=import_ag_stack154.RefPlaceholder,this.eCancel=import_ag_stack154.RefPlaceholder}postConstruct(){const e=this.getLocaleTextFunc();this.eEditor.setValue(this.initialValue,!0).setInputAriaLabel(e("ariaColumnHeaderNameEditor","Column Name Editor")),(0,import_ag_stack154._setDisplayed)(this.eActions,!this.liveApply),this.liveApply?this.eEditor.onValueChange(t=>this.onValueChange(t??"")):(this.eApply.textContent=e("columnHeaderEditApply","Apply"),this.eCancel.textContent=e("columnHeaderEditCancel","Cancel"),this.eApply.type="button",this.eCancel.type="button",this.addManagedElementListeners(this.eApply,{click:()=>this.onApply()}),this.addManagedElementListeners(this.eCancel,{click:()=>this.onCancel()}))}focusEditor(){const e=this.eEditor.getInputElement();e.focus(),e.select()}getValue(){return this.eEditor.getValue()??""}setValue(e){this.eEditor.setValue(e,!0)}},ColumnHeaderEditPopup=class extends import_ag_grid_community252.BeanStub{constructor(e){super(),this.params=e,this.closed=!1,this.restoreFocusEl=null}postConstruct(){const{liveApply:e}=this.params,t=this.createManagedBean(new ColumnHeaderEditContent(this.params.initialValue,e,n=>this.params.onApply(n),()=>this.commit(),()=>this.close()));this.contentComp=t;const i=this.getLocaleTextFunc(),r=this.createManagedBean(new Dialog({width:WIDTH,minWidth:MIN_WIDTH,minHeight:0,title:i("editColumnName","Edit Column Name"),component:t,closable:!0,centered:!0,movable:!0,resizable:!1,modal:!1,alwaysOnTop:!0,cssIdentifier:"column-header-edit",closedCallback:()=>this.onDialogClosed()}));this.dialog=r,this.addManagedElementListeners(r.getGui(),{keydown:n=>{n.key===import_ag_grid_community252.KeyCode.ENTER?(n.preventDefault(),e?this.close():this.commit()):n.key===import_ag_grid_community252.KeyCode.ESCAPE&&this.close()}}),this.focusEditorTimeout=window.setTimeout(()=>{this.focusEditorTimeout=void 0,this.restoreFocusEl=(0,import_ag_stack154._getActiveDomElement)(this.beans),t.focusEditor()})}commit(){this.params.onApply(this.contentComp?.getValue()??""),this.close()}close(){this.dialog?.close()}setValue(e){this.contentComp?.setValue(e)}getValue(){return this.contentComp?.getValue()??""}onDialogClosed(){this.closed||(this.closed=!0,this.restoreFocus(),this.params.onClosed())}restoreFocus(){const e=this.restoreFocusEl;if(this.restoreFocusEl=null,!e?.isConnected)return;const t=(0,import_ag_stack154._getActiveDomElement)(this.beans);(!t||t===t.ownerDocument.body||this.dialog?.getGui().contains(t))&&e.focus()}destroy(){this.focusEditorTimeout!=null&&(window.clearTimeout(this.focusEditorTimeout),this.focusEditorTimeout=void 0),this.closed||(this.closed=!0,this.restoreFocus(),this.params.onClosed()),super.destroy()}},ColumnHeaderEditService=class extends import_ag_grid_community253.BeanStub{constructor(){super(...arguments),this.beanName="colHeaderEditSvc",this.activePopup=null,this.removePopupColListener=null,this.editingTarget=null}getOptions(){const e=this.gos.get("columnHeaderEdit");return typeof e=="object"&&e!=null?e:void 0}isLiveApplyMode(){return this.getOptions()?.applyMode!=="deferred"}isHighlightSuppressed(){return this.getOptions()?.suppressColumnHighlighting===!0}isHighlightedColumn(e){return!this.isHighlightSuppressed()&&this.editingTarget===e}isHighlightedGroup(e){return!this.isHighlightSuppressed()&&this.editingTarget===e}setEditingTarget(e){const t=this.editingTarget;this.editingTarget=e,this.dispatchHighlightChanged(t),e&&e!==t&&this.dispatchHighlightChanged(e)}dispatchHighlightChanged(e){e&&((0,import_ag_grid_community253.isProvidedColumnGroup)(e)?this.beans.eventSvc.dispatchEvent({type:"columnHeaderEditHighlightChanged",groupId:e.groupId}):this.beans.eventSvc.dispatchEvent({type:"columnHeaderEditHighlightChanged",colId:e.getColId()}))}isEditable(e){return(0,import_ag_grid_community253.isProvidedColumnGroup)(e)?!!e.colGroupDef?.headerNameEditable:!!e.colDef.headerNameEditable&&!e.isCalculatedCol}getEditableHeaderName(e){const{colNames:t}=this.beans,i=(0,import_ag_grid_community253.isProvidedColumnGroup)(e)?t.getDisplayNameForProvidedColumnGroup(null,e,"header"):t.getDisplayNameForColumn(e,"header");return i!=null?String(i):""}applyHeaderName(e,t){if((0,import_ag_grid_community253.isProvidedColumnGroup)(e)){const i=this.beans.colModel.groupHeaderNameOverrides,{groupId:r}=e;if((i.get(r)??null)===t)return;t==null?i.delete(r):i.set(r,t),this.beans.eventSvc.dispatchEvent({type:"columnHeaderNameChanged",column:null,columns:null,columnGroup:e,source:"uiColumnHeaderEdit"})}else e.setHeaderNameOverride(t,"uiColumnHeaderEdit")}postConstruct(){this.addManagedEventListeners({columnMenuVisibleChanged:e=>{!e.visible&&e.key==="columnChooser"&&this.destroyActivePopup()}})}getEditColumnNameMenuItem(e){return this.isEditable(e)?{name:this.getLocaleTextFunc()("editColumnName","Edit Column Name"),icon:(0,import_ag_grid_community253._createIconNoSpan)("columnHeaderEdit",this.beans,null),action:()=>this.showHeaderNameEditor(e)}:null}showHeaderNameEditor(e){this.destroyActivePopup();let t=this.getEditableHeaderName(e);const i=this.isLiveApplyMode(),r=this.createBean(new ColumnHeaderEditPopup({initialValue:t,liveApply:i,onApply:l=>{!i&&l===t||this.applyHeaderName(e,l)},onClosed:()=>this.destroyActivePopup()}));this.activePopup=r;const n=()=>{t=this.getEditableHeaderName(e),r.getValue()!==t&&r.setValue(t)},o=(0,import_ag_grid_community253.isProvidedColumnGroup)(e),a=o?e.groupId:e.getColId();this.removePopupColListener=this.addManagedEventListeners({columnHeaderNameChanged:l=>{const c=o?l.columnGroup?.getGroupId():l.column?.getColId();(!c||c===a)&&n()}})[0],this.setEditingTarget(e)}destroyActivePopup(){this.removePopupColListener?.(),this.removePopupColListener=null,this.activePopup&&(this.destroyBean(this.activePopup),this.activePopup=null),this.setEditingTarget(null)}destroy(){this.destroyActivePopup(),super.destroy()}},ColumnHeaderEditModule={moduleName:"ColumnHeaderEdit",version:VERSION,beans:[ColumnHeaderEditService],dependsOn:[EnterpriseCoreModule,import_ag_grid_community254._PopupModule],icons:{columnHeaderEdit:"edit"},css:[columnHeaderEdit_default]},import_ag_grid_community257=require("ag-grid-community"),sparkline_default=".ag-sparkline-wrapper{height:100%;inset-inline-start:var(--ag-internal-sparkline-inset,0);line-height:normal;position:absolute;top:0}",import_ag_stack155=require("ag-stack"),import_ag_grid_community256=require("ag-grid-community"),import_ag_grid_community255=require("ag-grid-community"),defaultSparklineAriaDescription="Sparkline - ${chartType} displaying ${count} values between ${min} and ${max}. Starts at ${start} and ends at ${end}.",defaultSingleValueSparklineAriaDescription="Sparkline - ${chartType} displaying 1 value, ${value}.",defaultEmptySparklineAriaDescription="Sparkline - ${chartType} displaying no values.",getChartTypeLabel=(e,t)=>{const i=t?.type??"line";switch(i){case"line":return e("lineChart","Line");case"area":return e("areaChart","Area");case"bar":return e("barChart","Bar");default:return i}},getSparklineSummary=(e,t)=>{let i=0,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,o,a;for(const l of e){const c=getYValue(l,t);c!=null&&(o==null&&(o=c),a=c,i++,r=Math.min(r,c),n=Math.max(n,c))}return i===0?{count:i}:{count:i,min:r,max:n,start:o,end:a}};function getSparklineAriaTemplate(e){const{translate:t,chartType:i,summary:r,formatNumber:n}=e;let o,a,l,c;if(!hasCompleteSparklineSummary(r))o="ariaSparklineChartDescriptionEmpty",a=defaultEmptySparklineAriaDescription,l=[i],c={chartType:i};else if(r.count===1){const u=n(r.start);o="ariaSparklineChartDescriptionSingleValue",a=defaultSingleValueSparklineAriaDescription,l=[i,u],c={chartType:i,value:u}}else{const[u,d,h,p,g]=[r.count,r.min,r.max,r.start,r.end].map(n);o="ariaSparklineChartDescription",a=defaultSparklineAriaDescription,l=[i,u,d,h,p,g],c={chartType:i,count:u,min:d,max:h,start:p,end:g}}return{template:t(o,a,l),values:c}}var hasCompleteSparklineSummary=e=>e.count>0&&e.min!=null&&e.max!=null&&e.start!=null&&e.end!=null,interpolateTemplate=(e,t)=>e.replace(/\$\{([^}]+)\}/g,(i,r)=>t[r]??i),getYValue=(e,t)=>{if(typeof e=="number")return Number.isFinite(e)?e:null;if(e&&typeof e=="object"){const i=Array.isArray(e)?e[1]:e[t];return(0,import_ag_grid_community255._isFiniteNumber)(i)?i:null}return null},COMPONENT_PREFIX="ag-sparkline",SparklineCellRenderer=class extends import_ag_grid_community256.Component{constructor(){super({tag:"div",cls:`${COMPONENT_PREFIX}-wrapper`,children:[{tag:"span",ref:"eSparkline"}]}),this.eSparkline=import_ag_stack155.RefPlaceholder,this.cachedWidth=0,this.cachedHeight=0,this.dataRef=[],this.processedData=[]}postConstruct(){this.env=this.beans.environment,this.addManagedPropertyListeners(["chartThemeOverrides","chartThemes","styleNonce"],()=>this.refresh(this.params))}createListener(e=!0){return()=>this.updateSize(this.params?.column?.getActualWidth()??0,(this.params?.node.rowHeight??0)-2,e)}initGridObserver(){const e=this.createListener(),t=this.createListener(!1),i=this.params?.column,r=this.params?.node;i.__addEventListener("columnStateUpdated",e),r.__addEventListener("heightChanged",e),this.addDestroyFunc(()=>{i.__removeEventListener("columnStateUpdated",e),r.__removeEventListener("heightChanged",e)}),t()}updateSize(e,t,i=!0){const r=this.params?.colDef,n=(r?.rowDrag?1:0)+(r?.checkboxSelection?1:0)+(r?.dndSource?1:0),o=this.env,a=o.getDefaultCellHorizontalPadding(),l=n*(o.getDefaultIconSize()+o.getDefaultCellWidgetSpacing()),c=a-1+l;if(this.getGui().style.setProperty("--ag-internal-sparkline-inset",c+"px"),e-=2*a+l,e!==this.cachedWidth||t!==this.cachedHeight){this.cachedWidth=e,this.cachedHeight=t;const u=this.refresh.bind(this);i?(0,import_ag_stack155._batchCall)(()=>this.isAlive()&&u()):u()}}init(e){this.params=e;const{eParentOfValue:t}=e,i=`${COMPONENT_PREFIX}-cell-renderer-${this.getCompId()}`;this.getGui().setAttribute("id",i),(0,import_ag_stack155._setAriaLabelledBy)(t,i),this.addDestroyFunc(()=>(0,import_ag_stack155._setAriaLabelledBy)(t)),this.initGridObserver()}refresh(e=this.params){var t;this.params=e;const i=this.processData(e?.value);this.refreshAriaLabel(i);const r=this.cachedWidth,n=this.cachedHeight,o=this.gos.get("styleNonce");return!this.sparklineInstance&&e&&r>0&&n>0?(this.sparklineOptions={container:this.eSparkline,width:r,height:n,...e.sparklineOptions,...o?{styleNonce:o}:{},data:i,context:this.createContext()},(t=this.sparklineOptions).type??(t.type="line"),this.sparklineInstance=e.createSparkline(this.sparklineOptions),!0):this.sparklineInstance?(this.sparklineInstance.update({...this.sparklineOptions,data:i,width:r,height:n,context:this.createContext(),...o?{styleNonce:o}:{}}),!0):!1}refreshAriaLabel(e){const t=this.getLocaleTextFunc(),i=this.getLocaleTextFunc.bind(this),r=this.params?.sparklineOptions?.yKey??this.sparklineOptions?.yKey??"y",n=getSparklineSummary(e,r),o=this.params?.sparklineOptions??this.sparklineOptions,{template:a,values:l}=getSparklineAriaTemplate({translate:t,chartType:getChartTypeLabel(t,o),summary:n,formatNumber:c=>(0,import_ag_grid_community256._formatNumberCommas)(c,i)});(0,import_ag_stack155._setAriaLabel)(this.getGui(),interpolateTemplate(a,l))}processData(e){return e?.length?(this.dataRef!==e&&(this.dataRef=e,this.processedData=Array.isArray(e[0])?e.filter(t=>t!=null):e),this.processedData):e??[]}createContext(){return{data:this.params?.data,cellData:this.params?.value}}destroy(){super.destroy(),this.sparklineInstance?.destroy()}},moduleName="Sparklines",SparklinesModule={moduleName,version:VERSION,dependsOn:[EnterpriseCoreModule],validate:()=>({isValid:!1,message:(0,import_ag_grid_community257._preInitErrMsg)(258)}),with:e=>(e.setup(),{moduleName,version:VERSION,dependsOn:[EnterpriseCoreModule],css:[sparkline_default],userComponents:{agSparklineCellRenderer:{classImp:SparklineCellRenderer,params:{createSparkline:e.createSparkline}}},validate:()=>({isValid:!0})})},import_ag_grid_community258=require("ag-grid-community"),import_ag_stack156=require("ag-stack"),resolveStrategy=(e,t)=>t===!1||t===null?!1:isNonDistributable(e)?t==="overwrite"?"overwrite":!1:typeof t=="string"?t:e==="sum"?"uniform":e==="avg"||e==null||t===!0?"overwrite":!1,isNonDistributable=e=>e==="count"||e==="min"||e==="max"||e==="first"||e==="last",isDistributableBuiltin=e=>e==="sum"||e==="avg",toNumber=e=>{if(typeof e=="number")return e;if(typeof e=="bigint"||typeof e=="string"){const t=Number(e);return Number.isFinite(t)?t:0}if(typeof e=="boolean")return e?1:0;if(e!=null&&typeof e=="object"){if(typeof e.toNumber=="function")return toNumber(e.toNumber());if("value"in e)return toNumber(e.value)}return 0},numberToBigInt=e=>Number.isFinite(e)?BigInt(Math.round(e)):0n,toBigInt=e=>{if(typeof e=="bigint")return e;if(typeof e=="number")return numberToBigInt(e);if(typeof e=="boolean")return e?1n:0n;if(typeof e=="string")try{return BigInt(e)}catch{return numberToBigInt(Number(e))}if(e!=null&&typeof e=="object"){if(typeof e.toNumber=="function")return toBigInt(e.toNumber());if("value"in e)return toBigInt(e.value)}return 0n},isNumericLike=e=>{const t=typeof e;if(t==="number"||t==="bigint"||t==="boolean")return!0;if(t==="string")return Number.isFinite(Number(e));if(e!=null&&t==="object"){if(typeof e.toNumber=="function")return!0;if("value"in e)return isNumericLike(e.value)}return!1},detectPrecision=e=>{if(e.cellDataType==="bigint")return 0;const t=e.cellEditorParams;if(t==null||typeof t!="object")return;const i=t.precision;if(typeof i=="number"&&Number.isInteger(i)&&i>=0)return i;const r=t.step;if(typeof r=="number"&&Number.isInteger(r))return 0},unwrapAggValue=e=>{if(e!=null&&typeof e=="object"){if(typeof e.toNumber=="function")return e.toNumber();if("value"in e)return e.value}return e},numericOrNull=e=>{if(!isNumericLike(e))return null;const t=toNumber(e);return Number.isFinite(t)?t:null},readAggScalar=(e,t)=>{const i=e.aggData;return i?numericOrNull(i[t.colId]):null},readNodeValue=(e,t)=>numericOrNull(e.getDataValue(t,"value")),pivotResultCol=(e,t,i)=>e?.lookupPivotResultCol(t,i)??null,DEFAULT_PRECISION=2,ratio=(e,t)=>e==null||!t?null:e/t,clampPrecision=e=>e==null||!Number.isFinite(e)?DEFAULT_PRECISION:Math.min(100,Math.max(0,e)),NOT_APPLICABLE_TEXT="#N/A",showValuesAsPercentFormatter=e=>{if(e.notApplicable)return NOT_APPLICABLE_TEXT;const t=typeof e.value=="bigint"?Number(e.value):e.value;return typeof t!="number"||!Number.isFinite(t)?"":`${(t*100).toFixed(clampPrecision(e.precision))}%`},num=e=>numericOrNull(e.rawValue),whenParentHierarchy=e=>e.rowGroupActive||e.treeData?!0:"inapplicable",whenPivot=e=>e.pivotActive?!0:"inapplicable",pct=e=>({transform:e,formatter:showValuesAsPercentFormatter}),makeBuiltinShowValuesAsModesDef=e=>{const t=(r,n)=>(0,import_ag_stack156._getLocaleTextFunc)(e.localeSvc)(r,n),i={percentOfGrandTotal:{...pct(r=>ratio(num(r),r.grandTotal())),defaultAggFunc:"sum",displayName:()=>t("percentOfGrandTotal","% of Grand Total"),description:()=>t("percentOfGrandTotalDescription","Each value as a percentage of the column's grand total.")},percentOfColumnTotal:{...pct(r=>ratio(num(r),r.columnTotal())),defaultAggFunc:"sum",displayName:()=>t("percentOfColumnTotal","% of Column Total"),description:()=>t("percentOfColumnTotalDescription","Each value as a percentage of its column total \u2014 every column totals 100%.")},percentOfRowTotal:{...pct(r=>ratio(num(r),r.rowTotal())),displayName:()=>t("percentOfRowTotal","% of Row Total"),description:()=>t("percentOfRowTotalDescription","Each value as a percentage of the row total across the pivot columns."),applicability:whenPivot},percentOfParentRowTotal:{...pct(r=>ratio(num(r),r.parentTotal())),defaultAggFunc:"sum",displayName:()=>t("percentOfParentRowTotal","% of Parent Row Total"),description:()=>t("percentOfParentRowTotalDescription","Each value as a percentage of its parent group."),applicability:whenParentHierarchy},percentOfParentColumnTotal:{...pct(r=>ratio(num(r),r.parentColumnTotal())),displayName:()=>t("percentOfParentColumnTotal","% of Parent Column Total"),description:()=>t("percentOfParentColumnTotalDescription","Each value as a percentage of its parent pivot column."),applicability:whenPivot}};return Object.assign(Object.create(null),i)},DIMENSION_ITEMS_CAP=100,DIMENSION_WALK_CAP=1e4,ShowValuesAsColumnListsImpl=class{constructor(e,t){this.column=e,this._beans=t}get rowGroups(){if(!this._rowGroups){const e=new Set;collectColumns(this._beans.rowGroupColsSvc?.columns,this.column,e),this._rowGroups=Array.from(e)}return this._rowGroups}get dimensions(){if(!this._dimensions){const e=new Set(this.rowGroups);collectColumns(this._beans.pivotColsSvc?.columns,this.column,e),this._dimensions=Array.from(e)}return this._dimensions}get valueColumns(){if(!this._valueColumns){const e=new Set(this.dimensions),t=this.column.colDef.pivotValueColumn??this.column,i=[],r=this._beans.valueColsSvc?.columns;for(let n=0,o=r?.length??0;n<o;++n){const a=r[n];a!==t&&!e.has(a)&&i.push(a)}this._valueColumns=i}return this._valueColumns}dimensionItems(e){const t=typeof e=="string"?e:e.getColId(),i=this._beans,r=i.pivotColsSvc?.columns;if(r&&i.colModel.isPivotActive()){for(let n=0,o=r.length;n<o;++n)if(r[n].getColId()===t)return pivotDimensionItems(i,n)}return rowDimensionItems(i,t)}getColumn(e){return this._beans.colModel.getCol(e)??null}},pivotDimensionItems=(e,t)=>{const i=e.pivotResultCols?.getAggregationOrderedList();if(!i)return[];const r=new Set,n=[];for(let o=0,a=i.length;o<a&&n.length<DIMENSION_ITEMS_CAP;++o){const l=i[o].colDef.pivotKeys;l&&t<l.length&&!r.has(l[t])&&(r.add(l[t]),n.push(l[t]))}return n},rowDimensionItems=(e,t)=>{const i=e.rowModel.rootNode,r=e.colModel.getCol(t)?.rowGroupActiveIndex??-1;if(!i||r<0)return[];let n=i.childrenAfterSort??[];for(let l=0;l<r&&n.length;++l){const c=[];for(let u=0,d=n.length;u<d&&c.length<DIMENSION_WALK_CAP;++u){const h=n[u].childrenAfterSort;if(h)for(let p=0,g=h.length;p<g&&c.length<DIMENSION_WALK_CAP;++p)c.push(h[p])}n=c}const o=new Set,a=[];for(let l=0,c=n.length;l<c&&a.length<DIMENSION_ITEMS_CAP;++l){const u=n[l].key;u!=null&&!o.has(u)&&(o.add(u),a.push(u))}return a},ShowValuesAsMenuParamsImpl=class{constructor(e,t,i,r,n,o,a){this.api=e,this.context=t,this._beans=i,this.column=r,this.type=n,this.active=o,this.columnLists=a}get currentParams(){return this.active?this.column.showValuesAs?.params:void 0}apply(e){this._beans.showValuesAsSvc?.setColumnShowValuesAs(this.column,e!=null?{type:this.type,params:e}:this.type)}},collectColumns=(e,t,i)=>{if(e)for(let r=0,n=e.length;r<n;++r){const o=e[r];o!==t&&i.add(o)}},ShowValuesAsTransformParamsImpl=class{constructor(e,t,i,r,n,o,a){this.api=e,this.context=t,this._beans=i,this.column=r,this.node=n,this.aggValue=o,this.params=a,this._rawValue=this}get rawValue(){let e=this._rawValue;return e===this&&(e=unwrapAggValue(this.aggValue),this._rawValue=e),e}columnTotal(){const e=this.rootWithTotal();return e?readAggScalar(e,this.column):null}grandTotal(){const e=this.rootWithTotal();return e?this._beans.colModel.isPivotActive()?this.rowTotalAt(e):readAggScalar(e,this.column):null}rootWithTotal(){const e=this._beans.rowModel.rootNode;return e&&e.aggData==null&&this._beans.aggStage?.aggregateRootOnly(),e}parentTotal(){const e=this.node.parent;return e?(e.level===-1&&e.aggData==null&&this._beans.aggStage?.aggregateRootOnly(),readAggScalar(e,this.column)):null}parentColumnTotal(){const{pivotKeys:e,pivotValueColumn:t}=this.column.colDef;if(!e||!t||e.length===0)return null;const i=pivotResultCol(this._beans.pivotResultCols,e.slice(0,-1),t);return i?readAggScalar(this.node,i):null}rowTotal(){return this.rowTotalAt(this.node)}rowTotalAt(e){const t=this.column,i=t.pivotValueColumn,r=i?this._beans.pivotResultCols?.getAggregationOrderedList():null;if(i&&r){let n=0,o=!1;for(let a=0,l=r.length;a<l;++a){const c=r[a].colDef;if(c.pivotValueColumn===i&&!c.pivotTotalColumnIds){const u=readAggScalar(e,r[a]);u!=null&&(n+=u,o=!0)}}return o?n:null}return readNodeValue(e,t)}},ShowValuesAsService=class extends import_ag_grid_community258.BeanStub{constructor(){super(...arguments),this.beanName="showValuesAsSvc"}wireBeans(e){this.colModel=e.colModel,this.rowRenderer=e.rowRenderer,this.gridApi=e.gridApi,this.gridOptions=e.gridOptions,this.groupStage=e.groupStage,this.pivotResultCols=e.pivotResultCols,this.valueColsSvc=e.valueColsSvc,this.dataTypeSvc=e.dataTypeSvc}destroy(){super.destroy(),this.cachedBuiltinModes=void 0,this.cachedResolvedBuiltinModes=void 0}resolveColumn(e,t){const i=e.colDef,r=i.showValuesAsDef;if(r===null){e.showValuesAsDef=null,this.setActive(e,null);return}if(!t&&i.showValuesAs===void 0){const l=e.showValuesAs;if(r!=null||l!=null){const c=e.showValuesAsDef?.precision??DEFAULT_PRECISION;if(e.showValuesAsDef=this.resolveConfig(e),l){const u=l.precision!==c?l.precision:void 0;this.applyActive(e,l.type,{type:l.type,params:l.params,precision:u})}}else e.showValuesAsDef=void 0;return}const n=this.colDefSelection(i);if(r==null&&n==null){e.showValuesAsDef=void 0,this.setActive(e,null);return}if(e.showValuesAsDef=this.resolveConfig(e),n==null){this.setActive(e,null);return}const o=typeof n=="string"?n:n.type,a=typeof n=="string"?void 0:n;o==null?this.setActive(e,null):this.applyActive(e,o,a)}colDefSelection(e){return e.showValuesAsDef===null?null:(e.showValuesAs!==void 0?e.showValuesAs:e.initialShowValuesAs)??null}get builtinModes(){return this.cachedBuiltinModes??(this.cachedBuiltinModes=makeBuiltinShowValuesAsModesDef(this.beans)),this.cachedBuiltinModes}get resolvedBuiltinModes(){let e=this.cachedResolvedBuiltinModes;if(!e){const t=this.builtinModes;e=Object.create(null);for(const i of Object.keys(t)){const r=this.resolveMode(i,t[i],void 0);r&&(e[i]=r)}this.cachedResolvedBuiltinModes=e}return e}ensureConfig(e){e.showValuesAsDef??(e.showValuesAsDef=this.resolveConfig(e))}resolveConfig(e){const t=e.colDef.showValuesAsDef;if(t===null)return null;const i=this.resolvedBuiltinModes,r=t?.modes;let n;if(!r)n=i;else{n=Object.assign(Object.create(null),i);const o=this.builtinModes;for(const a of Object.keys(r)){const l=this.resolveMode(a,o[a],r[a]);l?n[a]=l:delete n[a]}}return{modes:n,precision:t?.precision??DEFAULT_PRECISION,suppressHeaderIndicator:t?.suppressHeaderIndicator}}resolveMode(e,t,i){if(i===null||i===!1)return null;let r;if(typeof i=="function"?r=i(t):i!=null&&i!==!0&&(r=i),!t&&!r)return null;const n={};(0,import_ag_grid_community258._mergeDeep)(n,t,!0,!0),(0,import_ag_grid_community258._mergeDeep)(n,r,!0,!0);const o=n.transformedDataType??"number",a=n.formatter??this.beans.dataTypeSvc?.getFormatValue(o)??null;return{type:e,def:n,formatter:a,transformedDataType:o}}setActive(e,t){e.showValuesAs=t}applyActive(e,t,i){const r=e.showValuesAsDef,n=r?.modes[t];if(!n){this.setActive(e,null);return}const o={type:n.type,def:n.def,formatter:n.formatter,transformedDataType:n.transformedDataType,params:i?.params,precision:i?.precision??r?.precision??DEFAULT_PRECISION,_applyingSig:-1,_applyingValue:!1},a=e.showValuesAs;this.setActive(e,a?Object.assign(a,o):o)}toColState(e){const t=e.showValuesAs;if(!t)return null;const{type:i,params:r,precision:n}=t,o=e.showValuesAsDef?.precision??DEFAULT_PRECISION;if(r===void 0&&n===o)return i;const a={type:i};return r!==void 0&&(a.params=r),n!==o&&(a.precision=n),a}isApplying(e){const t=e.showValuesAs;if(!t)return!1;const i=t.def,r=i.ready;if(r&&!r(t.params??i.params))return!1;const n=i.applicability;if(typeof n!="function")return isApplicabilityEnabled(n);const o=this.groupStage,a=this.pivotResultCols,l=(o?.grouping?1:0)|(a&&this.colModel.isPivotActive()?2:0)|(o?.treeData?4:0);if(t._applyingSig===l)return t._applyingValue;const c=isApplicabilityEnabled(n(this.buildApplicabilityParams(e)));return t._applyingSig=l,t._applyingValue=c,c}transform(e,t,i){const r=e.showValuesAs;if(!r)return i;const n=r.def,o=n.transform;if(!o)return unwrapAggValue(i)??null;const a=r.params??n.params;return o(new ShowValuesAsTransformParamsImpl(this.gridApi,this.gridOptions.context,this.beans,e,t,i,a))??null}formatValue(e,t,i,r,n){const o=e.showValuesAs,a=o?.formatter;return a?a((0,import_ag_grid_community258._addGridCommonParams)(this.gos,{value:i,rawValue:unwrapAggValue(r),aggValue:r,showValuesAsType:o.type,precision:o.precision,notApplicable:n,node:t,data:t?.data,colDef:e.colDef,column:e})):null}syncColState(e,t,i,r){const n=t?.showValuesAs,o=n!==void 0?n:i?.showValuesAs;if(o===void 0)return;const a=o!=null&&typeof o=="object"?o:void 0,l=a?a.type:o;if(!(l!=null&&e.showValuesAsDef===null)){if(l==null){if(e.showValuesAs==null)return;this.setActive(e,null)}else{const c=e.showValuesAs,u=e.showValuesAsDef?.precision??DEFAULT_PRECISION;if(!a&&c?.type===l&&c.params===void 0&&c.precision===u)return;this.ensureConfig(e),this.applyActive(e,l,a)}this.applyModeChangeEffects(e,r)}}getActiveModeLabel(e){const t=e.showValuesAs;return!t||!this.isApplying(e)?null:modeLabel(t.def,t.type)}isMenuEligible(e){const t=e.colDef;if(t.enableShowValuesAs===!1||e.showValuesAsDef===null)return!1;if(e.userProvidedColDef?.enableShowValuesAs===!0)return!0;if(t.enableShowValuesAs!==!0)return!1;if(e.aggregationActive)return!0;const i=this.dataTypeSvc?.getBaseDataType(e);return i==="number"||i==="bigint"}getMenuItems(e,t){this.ensureConfig(e);const i=e.showValuesAs?.type??null,r=[{name:t("showValuesAsNone","None"),action:()=>this.setColumnShowValuesAs(e,null),checked:i==null}];let n=null;const o=()=>(n??(n=new ShowValuesAsColumnListsImpl(e,this.beans)),n),a=e.showValuesAsDef?.modes;for(const l of a?Object.keys(a):[]){const c=this.buildModeMenuItem(e,l,a[l],i,o);c&&r.push(c)}return r}buildModeMenuItem(e,t,i,r,n){const o=r===t,a=i.def,l=a.applicability;let c=!0;l!=null&&(c=typeof l=="function"?l(this.buildApplicabilityParams(e)):l);const u=menuStateFor(c);if(u==="hidden"&&!o)return null;const d={name:modeLabel(a,t),checked:o,tooltip:this.modeTooltip(t,i)},h=a.menu,p=h?h(new ShowValuesAsMenuParamsImpl(this.gridApi,this.gridOptions.context,this.beans,e,t,o,n())):void 0;if(p&&p.length>1)d.subMenu=p;else{const g=p?.length===1?p[0]:null;d.action=g&&typeof g=="object"&&g.action?g.action:()=>this.setColumnShowValuesAs(e,t)}return u==="disabled"||u==="inapplicable"?d.disabled=!0:u!=="enabled"&&(d.cssClasses=["ag-show-values-as-inapplicable"]),d}modeTooltip(e,t){const i=modeLabel(t.def,e),r=resolveText(t.def.description);return r?`${i}: ${r}`:i}getActiveModeTooltip(e){const t=e.showValuesAs;return t?this.modeTooltip(t.type,t):null}setColumnShowValuesAs(e,t){if(t==null){if(e.showValuesAs==null)return;this.setActive(e,null)}else{const i=typeof t=="string"?t:t.type,r=typeof t=="string"?void 0:t;this.ensureConfig(e),this.applyActive(e,i,r)}this.applyModeChangeEffects(e)}applyModeChangeEffects(e,t){e.dispatchStateUpdatedEvent("showValuesAs"),this.eventSvc.dispatchEvent({type:"columnShowValuesAsChanged"}),!this.promoteToValueColumn(e,t)&&this.rowRenderer.refreshCells({columns:[e.colId],force:!0})}promoteToValueColumn(e,t="api"){const i=e.showValuesAs?.def.defaultAggFunc,r=this.valueColsSvc;return!i||e.aggregationActive||this.colModel.isPivotActive()||!r?!1:(r.setColumnAggFunc(e,i,t),!0)}buildApplicabilityParams(e){const t=this.groupStage;return(0,import_ag_grid_community258._addGridCommonParams)(this.gos,{column:e,rowGroupActive:t?.hasRowGrouping?t.grouping:void 0,treeData:t?.hasTreeData?t.treeData:void 0,pivotActive:this.pivotResultCols?this.colModel.isPivotActive():void 0})}},modeLabel=(e,t)=>resolveText(e.displayName)??t,resolveText=e=>(typeof e=="function"?e():e)??null,isApplicabilityEnabled=e=>e==null||e===!0||e==="enabled",menuStateFor=e=>e==="disabled"?"disabled":e===!1||e==="hide"?"hidden":isApplicabilityEnabled(e)?"enabled":"inapplicable",ShowValuesAsModule={moduleName:"ShowValuesAs",version:VERSION,rowModels:["clientSide"],beans:[ShowValuesAsService],icons:{showValuesAs:"values-as"},dependsOn:[AggregationStageModule]},find_default=".ag-find-cell{display:block;overflow:hidden;text-overflow:ellipsis}.ag-find-match{background-color:var(--ag-find-match-background-color);color:var(--ag-find-match-color)}.ag-find-active-match{background-color:var(--ag-find-active-match-background-color);color:var(--ag-find-active-match-color)}";function findNext(e){e.findSvc?.next()}function findPrevious(e){e.findSvc?.previous()}function findGetTotalMatches(e){return e.findSvc?.totalMatches??0}function findGoTo(e,t,i){e.findSvc?.goTo(t,i)}function findClearActive(e){e.findSvc?.clearActive()}function findGetActiveMatch(e){return e.findSvc?.activeMatch}function findGetNumMatches(e,t){const{node:i,column:r}=t;return e.findSvc?.getNumMatches(i,r)??0}function findGetParts(e,t){return e.findSvc?.getParts(t)??[]}function findRefresh(e){return e.findSvc?.refresh(!0)}var import_ag_stack157=require("ag-stack"),import_ag_grid_community259=require("ag-grid-community"),FindCellRendererElement={tag:"span",cls:"ag-find-cell"},FindCellRenderer=class extends import_ag_grid_community259.Component{constructor(){super(FindCellRendererElement)}init(e){this.refresh(e)}refresh(e){const{node:t,column:i}=e,{findSvc:r,valueSvc:n}=this.beans,o=i,{value:a,valueFormatted:l}=n.getValueForDisplay({column:o,node:t,includeValueFormatted:!0,from:"edit",transformValues:o?.showValuesAs!=null}),c=l??a??"",u=this.getGui();(0,import_ag_stack157._clearElement)(u);const d=r?.getParts({value:c,node:t,column:i??null});if(!d)u.textContent=(0,import_ag_stack157._toString)(c)??"",u.classList.remove("ag-find-cell-active-match");else{let h=!1;for(const{value:p,match:g,activeMatch:f}of d){const m=(0,import_ag_stack157._toString)(p)??"";if(g){const v=(0,import_ag_grid_community259._createElement)({tag:"mark",cls:"ag-find-match"});v.textContent=m,f&&(v.classList.add("ag-find-active-match"),h=!0),u.appendChild(v)}else u.appendChild(document.createTextNode(m))}u.classList.toggle("ag-find-cell-active-match",h)}return!0}},import_ag_stack158=require("ag-stack"),import_ag_grid_community260=require("ag-grid-community");function defaultCaseFormat(e){return e?.toLocaleLowerCase()}function getMatchesForValue(e,t,i){const r=t((0,import_ag_stack158._toString)(i));let n=0;if(r?.length){let o=-1;for(;o=r.indexOf(e,o+1),o!=-1;)n++}return n}var FindService=class extends import_ag_grid_community260.BeanStub{constructor(){super(...arguments),this.beanName="findSvc",this.active=!1,this.topMatches=new Map,this.topNodes=[],this.topNumMatches=0,this.centerMatches=new Map,this.centerNodes=[],this.centerNumMatches=0,this.bottomMatches=new Map,this.bottomNodes=[],this.restoring=!1,this.caseFormat=defaultCaseFormat,this.scrollOnRefresh=!1,this.totalMatches=0}postConstruct(){if(!(0,import_ag_grid_community260._isClientSideRowModel)(this.gos))return;const e=this.refresh.bind(this,!1),t=this.refresh.bind(this,!0),i=(0,import_ag_stack158._debounce)(this,()=>{this.isAlive()&&t()},0);this.refreshDebounced=i,this.addManagedPropertyListener("findSearchValue",e),this.addManagedPropertyListener("findOptions",({currentValue:n,previousValue:o})=>{(0,import_ag_stack158._jsonEquals)(n,o)||e()}),this.addManagedPropertyListeners(["groupSuppressBlankHeader","showOpenedGroup"],t),this.addManagedEventListeners({modelUpdated:t,displayedColumnsChanged:t,pinnedRowDataChanged:t,cellValueChanged:i,rowNodeDataChanged:i,cellEditingStopped:i,cellEditValuesChanged:i,batchEditingStopped:i});const r=this.beans.rowSpanSvc;r?.active&&this.addManagedListeners(r,{spannedCellsUpdated:i}),e()}next(){this.findAcrossContainers(!1,["top",null,"bottom"],1,1)}previous(){this.findAcrossContainers(!0,["bottom",null,"top"],this.totalMatches,-1)}goTo(e,t){if(!t&&e===this.activeMatch?.numOverall)return;const{topMatches:i,topNumMatches:r,centerMatches:n,centerNumMatches:o,bottomMatches:a}=this;if(e<=r){this.goToInContainer(i,e,0);return}if(e<=o){this.goToInContainer(n,e,r);return}this.goToInContainer(a,e,r+o)}clearActive(){this.activeMatch&&this.setActive(void 0)}isMatch(e,t){return this.active&&!!this.getMatches(e.rowPinned).get(e)?.some(([i])=>i===t)}getNumMatches(e,t){return this.getMatches(e.rowPinned).get(e)?.find(([i])=>i===t)?.[1]??0}getParts(e){const{value:t,node:i,column:r,precedingNumMatches:n}=e,o=this.findSearchValue,a=(0,import_ag_stack158._toString)(t)??"";if((0,import_ag_stack158._missing)(o))return[{value:a}];const l=this.caseFormat(a)??"",c=this.getActiveMatchNum(i,r)-(n??0);let u=0,d=0;const h=o.length,p=[];for(;;){const g=l.indexOf(o,u);if(g!=-1){d++,g>u&&p.push({value:a.slice(u,g)});const f=g+h;p.push({value:a.slice(g,f),match:!0,activeMatch:d===c}),u=f}else return u<a.length&&p.push({value:a.slice(u)}),p}}registerDetailGrid(e,t){const i=this.gos;if(!(0,import_ag_grid_community260._isClientSideRowModel)(i))return;const r=()=>i.get("findOptions")?.searchDetail,n=o=>{const l=this.centerMatches.get(e)?.[0]?.[1]??0;o!==l&&this.refreshDebounced()};t.addEventListener("findChanged",o=>{t.isDestroyed()||!this.isAlive()||!this.active||!r()||n(o.totalMatches)}),t.addEventListener("gridPreDestroyed",()=>{if(!this.isAlive()||!this.active||!r())return;const o=e.parent,a=this.findSearchValue;if(!o||!a)return;const l=i.get("detailCellRendererParams")?.getFindMatches?.({node:o,data:o.data,findSearchValue:i.get("findSearchValue"),updateMatches:this.refreshDebounced,getMatchesForValue:c=>getMatchesForValue(a,this.caseFormat,c)})??0;n(l)}),r()&&t.setGridOption("findSearchValue",i.get("findSearchValue"))}getState(){if(!(0,import_ag_grid_community260._isClientSideRowModel)(this.gos))return;const e=this.gos.get("findSearchValue")||void 0;return e?{searchValue:e,activeMatch:this.activeMatch?.numOverall}:void 0}setState({searchValue:e,activeMatch:t}){if((0,import_ag_grid_community260._isClientSideRowModel)(this.gos))if(e!==void 0&&this.gos.updateGridOptions({options:{findSearchValue:e}}),t!=null){this.restoring=!0;try{this.goTo(t)}finally{this.restoring=!1}}else this.activeMatch&&this.setActive(void 0)}refresh(e){const t=new Set([...this.topNodes,...this.centerNodes,...this.bottomNodes]);this.topNodes=[],this.centerNodes=[],this.bottomNodes=[];const{topNodes:i,topMatches:r,centerMatches:n,centerNodes:o,bottomNodes:a,bottomMatches:l,beans:{gos:c,visibleCols:u,rowModel:d,valueSvc:h,pinnedRowModel:p,pagination:g,rowSpanSvc:f,masterDetailSvc:m,colModel:v},findSearchValue:C}=this,y=c.get("findOptions"),S=y?.caseSensitive?L=>L??void 0:defaultCaseFormat;this.caseFormat=S;const x=c.get("findSearchValue"),b=S(x?.trim());this.findSearchValue=b,r.clear(),n.clear(),l.clear();const w=e?this.activeMatch:void 0;this.activeMatch=void 0;const P=c.get("masterDetail")&&y?.searchDetail&&m;if((0,import_ag_stack158._missing)(b)){if(this.active=!1,this.topNumMatches=0,this.centerNumMatches=0,this.totalMatches=0,this.refreshRows(t),P){const L=m.store;for(const M of Object.keys(L))L[M]?.api?.findClearActive()}(0,import_ag_stack158._missing)(C)||this.dispatchFindChanged();return}const F=u.allCols,T=c.getCallback("isFullWidthRow"),R=c.get("detailCellRendererParams"),A=c.get("fullWidthCellRendererParams"),E=c.get("groupRowRendererParams"),_=_getFlattenDetails(c),G=v.pivotMode;let D=0,k,B,O=!1;const W=(L,M,$,V)=>{if(!$)return;let I=k.get(L);I||(I=[],k.set(L,I),B.push(L),V||t.add(L)),I.push([M,$]),D+=$},U=L=>{if(O){let I=L.rowIndex,N=L.parent;for(;I==null&&N;)I=N.rowIndex,N=N.parent;if(I==null||!g.isRowInPage(I))return}const M=L.hasChildren();if(!_shouldRowBeRendered(_,L,M,G,_isRemovedSingleChildrenGroup(_,L,M),_isRemovedLowestSingleChildrenGroup(_,L,M)))return;const $=L.data;if(T?.({rowNode:L})){if(A){const I=A.getFindMatches?.({node:L,data:$,findSearchValue:x,updateMatches:this.refreshDebounced,getMatchesForValue:N=>getMatchesForValue(b,S,N)})??0;W(L,null,I)}return}if((0,import_ag_grid_community260._isFullWidthGroupRow)(c,L,G)){let I;const N=E?.getFindText;if(N){const q=h.getDisplayValue(void 0,L,"batch",!1);I=N((0,import_ag_grid_community260._addGridCommonParams)(c,{value:q,node:L,data:$,column:null,colDef:null,getValueFormatted:()=>{const{valueFormatted:Z}=h.getValueForDisplay({node:L,includeValueFormatted:!0,from:"batch"});return Z}}))}else{const{value:q,valueFormatted:Z}=h.getValueForDisplay({node:L,includeValueFormatted:!0,from:"batch"});I=Z??q}const z=getMatchesForValue(b,S,I);W(L,null,z);return}const V=L.level>0&&c.get("groupHideOpenParents")&&L.parent?.getFirstChild()===L&&!L.parent?.expanded;for(const I of F){if((0,import_ag_grid_community260.isSpecialCol)(I))continue;const N=f?.getCellSpan(I,L);if(N&&N.firstNode!==L||I.showRowGroup&&V)continue;let z;const q=I.colDef,Z=I.showValuesAs!=null,Y=Z?"edit":"batch",J=q.getFindText;if(J){const te=h.getDisplayValue(I,L,Y,Z);z=J((0,import_ag_grid_community260._addGridCommonParams)(c,{value:te,node:L,data:$,column:I,colDef:q,getValueFormatted:()=>{const{valueFormatted:se}=h.getValueForDisplay({column:I,node:L,includeValueFormatted:!0,from:Y,transformValues:Z});return se}}))}else{const{value:te,valueFormatted:se}=h.getValueForDisplay({column:I,node:L,includeValueFormatted:!0,from:Y,transformValues:Z});z=se??te}const re=getMatchesForValue(b,S,z);W(L,I,re)}if(L.master&&P){const I=L.detailNode;if(I){const N=I.detailGridInfo?.api;if(N){N.setGridOption("findSearchValue",x);const z=N.findGetTotalMatches();W(I,null,z);return}}if(R){const N=R.getFindMatches?.({node:L,data:$,findSearchValue:x,updateMatches:this.refreshDebounced,getMatchesForValue:z=>getMatchesForValue(b,S,z)})??0;W(I??{parent:L,dummy:!0},null,N,!I)}}};k=r,B=i,p?.forEachPinnedRow("top",U),this.topNumMatches=D;let X=D;k=n,B=o,D=0,O=!!g&&!!y?.currentPageOnly,d.forEachNodeAfterFilterAndSort(U,!0),this.centerNumMatches=D,X+=D,k=l,B=a,D=0,O=!1,p?.forEachPinnedRow("bottom",U),X+=D,this.totalMatches=X,this.active=!0,this.refreshRows(t),w&&this.resetActiveMatch(w),this.dispatchFindChanged()}resetActiveMatch(e){const{column:t,numInMatch:i}=e;let r=e.node;if(r.dummy){const u=r.parent?.detailNode;if(!u)return;r=u}const n=r.rowPinned??null;if(!this.getMatches(n)?.get(r)?.some(([u,d])=>u===t&&d>=i))return;let a=0;n==null?a=this.topNumMatches:n==="bottom"&&(a=this.topNumMatches+this.centerNumMatches),(()=>{const u=this.getMatches(n);for(const d of u.keys()){const h=d===r,p=u.get(d);for(const[g,f]of p){if(h&&g===t){a+=i;return}a+=f}}})();const c={...e,node:r,numOverall:a};this.activeMatch=c,this.refreshRows(new Set([r]),t==null?void 0:new Set([t])),this.scrollOnRefresh&&(this.scrollOnRefresh=!1,this.scrollToActive(c)),this.setDetailActive(c)}refreshRows(e,t){e.size&&this.beans.rowRenderer.refreshCells({rowNodes:[...e],columns:t?[...t]:void 0,force:!0,suppressFlash:!0})}findAcrossContainers(e,t,i,r){if(!this.totalMatches){this.setActive();return}const n=this.activeMatch;let o=t;if(n){const{column:a,node:l,numInMatch:c,numOverall:u}=n,d=l.rowPinned??null,h=u+r;if(this.findInContainer(d,e,h,l,a,c))return;const g=t.indexOf(d),f=t.length;if(t.slice(g+1,f).some(v=>this.findInContainer(v,e,h)))return;o=t.slice(0,g+1)}o.some(a=>this.findInContainer(a,e,i))}findInContainer(e,t,i,r,n,o){const a=this.getMatches(e),l=this.getRowNodes(e),c=t?-1:1;if(r!=null){const p=a.get(r),g=p?.findIndex(([m])=>m===n);if(g!=null&&g!=-1){const[m,v]=p[g];if(t?o>1:o<v)return this.setActive({column:m,node:r,numInMatch:o+c,numOverall:i}),!0}const f=g!=null&&g!=-1?p?.[g+c]:void 0;if(f){const[m,v]=f;return this.setActive({column:m,node:r,numInMatch:t?v:1,numOverall:i}),!0}}let u;if(r==null)u=l[t?l.length-1:0];else{const p=l.findIndex(g=>g===r);u=l[p+c]}if(u==null)return!1;const d=a.get(u),h=d?.[t?d.length-1:0];if(h){const[p,g]=h;return this.setActive({column:p,node:u,numInMatch:t?g:1,numOverall:i}),!0}return!1}dispatchFindChanged(){const{eventSvc:e,activeMatch:t,totalMatches:i,findSearchValue:r}=this;e.dispatchEvent({type:"findChanged",activeMatch:t,totalMatches:i,findSearchValue:r})}setActive(e){if(e&&e.node.rowIndex==null&&!this.restoring){const i=e.node;let r=i.footer?i.sibling:i.parent;for(;r&&r.level!==-1;)r.expanded=!0,r=r.parent;this.activeMatch=e,this.scrollOnRefresh=!0,this.beans.expansionSvc?.onGroupExpandedOrCollapsed();return}const t=this.activeMatch;this.activeMatch=e,this.refreshAndScrollToActive(e,t),e&&this.setDetailActive(e),this.dispatchFindChanged()}setDetailActive({node:e,numInMatch:t}){e.detail&&e.detailGridInfo?.api?.findGoTo(t)}refreshAndScrollToActive(e,t){if(e||t){const i=new Set,r=new Set;let n=!1;const o=a=>{if(!a)return;const{node:l,column:c}=a;i.add(l),c==null?n=!0:r.add(c)};o(e),o(t),this.refreshRows(i,n?void 0:r)}e&&!this.restoring&&this.scrollToActive(e)}scrollToActive({node:{rowPinned:e,rowIndex:t},column:i}){const{ctrlsSvc:r,pagination:n,gos:o}=this.beans,a=r.getScrollFeature();e==null&&t!=null&&(n&&!o.get("findOptions")?.currentPageOnly&&!n.isRowInPage(t)&&n.goToPageWithIndex(t),a.ensureIndexVisible(t)),a.ensureColumnVisible(i)}goToInContainer(e,t,i){let r=i;for(const n of e.keys()){const o=e.get(n);for(const[a,l]of o){if(t<=r+l){this.setActive({column:a,node:n,numInMatch:t-r,numOverall:t});return}r+=l}}}getMatches(e){return e==="top"?this.topMatches:e==="bottom"?this.bottomMatches:this.centerMatches}getRowNodes(e){return e==="top"?this.topNodes:e==="bottom"?this.bottomNodes:this.centerNodes}getActiveMatchNum(e,t){const i=this.activeMatch;return i?.node===e&&i.column===t?i.numInMatch:0}destroy(){this.topMatches.clear(),this.topNodes.length=0,this.centerMatches.clear(),this.centerNodes.length=0,this.bottomMatches.clear(),this.bottomNodes.length=0,this.activeMatch=void 0,super.destroy()}},FindCoreModule={moduleName:"FindCore",version:VERSION,rowModels:["clientSide"],beans:[FindService],userComponents:{agFindCellRenderer:FindCellRenderer},css:[find_default]},FindModule={moduleName:"Find",version:VERSION,apiFunctions:{findGetTotalMatches,findGoTo,findNext,findPrevious,findGetActiveMatch,findGetNumMatches,findGetParts,findClearActive,findRefresh},dependsOn:[EnterpriseCoreModule,FindCoreModule]},import_ag_grid_community262=require("ag-grid-community"),batchEdit_default=".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)}",import_ag_grid_community261=require("ag-grid-community");function startBatchEdit({editSvc:e,gos:t,rowModel:i,log:r}){if(!(0,import_ag_grid_community261._isClientSideRowModel)(t,i)){r.warn(289,{rowModelType:t.get("rowModelType")});return}e?.startBatchEditing()}function cancelBatchEdit({editSvc:e}){e?.stopBatchEditing({cancel:!0,source:"api",forceCancel:!0})}function commitBatchEdit({editSvc:e}){e?.stopBatchEditing({source:"api",forceStop:!0,commit:!0})}function isBatchEditing(e){return e.editSvc?.isBatchEditing()??!1}var BatchEditModule={moduleName:"BatchEdit",version:VERSION,beans:[],apiFunctions:{isBatchEditing,startBatchEdit,cancelBatchEdit,commitBatchEdit},dependsOn:[import_ag_grid_community262._EditCoreModule,EnterpriseCoreModule],css:[batchEdit_default]},import_ag_grid_community268=require("ag-grid-community"),calculatedColumns_default=":where(.ag-calculated-column-panel .ag-panel-content-wrapper){padding:var(--ag-spacing) var(--ag-cell-horizontal-padding)}.ag-calculated-column-form{display:flex;flex:1 1 auto;flex-direction:column;gap:calc(var(--ag-spacing)*2);min-height:0;min-width:260px}.ag-calculated-column-expression-wrap{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--ag-spacing)}.ag-calculated-column-expression-wrap :where(.ag-text-area){flex:1 1 auto}.ag-calculated-column-expression-wrap :where(.ag-text-area-input-wrapper){height:100%}.ag-calculated-column-expression-wrap .ag-text-area-input{height:100%;padding-top:calc(var(--ag-spacing)/2);resize:none}.ag-rtl .ag-calculated-column-expression-wrap .ag-text-area-input{direction:ltr;padding-left:var(--ag-input-padding-start)}.ag-calculated-column-expression-tools{display:flex;:where(.ag-field-set-wrapper){align-items:center;flex-wrap:nowrap;gap:var(--ag-spacing);justify-content:end}}:where(.ag-ltr) .ag-calculated-column-expression-tools{:where(.ag-label){text-align:right}}:where(.ag-rtl) .ag-calculated-column-expression-tools{:where(.ag-label){text-align:left}}.ag-standard-button.ag-calculated-column-expression-tool{padding:calc(var(--ag-spacing)/2)}.ag-calculated-column-suggestion-path{align-items:center;display:flex;gap:calc(var(--ag-spacing)/2)}.ag-calculated-column-suggestion-parent{min-width:0;overflow:hidden;text-overflow:ellipsis}.ag-calculated-column-suggestion-parent,.ag-calculated-column-suggestion-separator{color:var(--ag-calculated-column-parent-suggestion-color)}.ag-calculated-column-suggestion-separator{flex:none}.ag-calculated-column-suggestion-leaf{flex:none;overflow:hidden}.ag-calculated-column-picker-list{width:var(--ag-calculated-column-suggestion-list-width)}.ag-calculated-column-actions{display:flex;gap:calc(var(--ag-spacing)/2);justify-content:flex-end}.ag-calculated-column-action{min-width:72px}.ag-calculated-column-highlighted{background-color:var(--ag-calculated-column-highlight-color)}",import_ag_stack161=require("ag-stack"),import_ag_grid_community267=require("ag-grid-community"),import_ag_stack160=require("ag-stack"),import_ag_grid_community265=require("ag-grid-community"),import_ag_stack159=require("ag-stack"),import_ag_grid_community263=require("ag-grid-community"),PATH_SEPARATOR="\u203A",CalculatedColumnAutocompleteRowElement={tag:"div",cls:"ag-autocomplete-row ag-calculated-column-suggestion",role:"presentation",children:[{tag:"div",cls:"ag-autocomplete-row-label ag-calculated-column-suggestion-label"}]},CalculatedColumnAutocompleteRow=class extends import_ag_grid_community263.Component{constructor(){super(CalculatedColumnAutocompleteRowElement),this.tooltipValue=null}postConstruct(){this.tooltipFeature=this.createOptionalManagedBean(this.beans.tooltipSvc?.createHighlightTooltip({getGui:()=>this.getGui(),getTooltipComponentDefinition:()=>{},getTooltipValue:()=>this.tooltipValue,getLocation:()=>"calculatedColumnAutocomplete",shouldDisplayTooltip:()=>this.isTruncated()},this))}setState(e,t){this.suggestion=e,this.render(),this.updateSelected(t)}updateSelected(e){this.toggleCss("ag-autocomplete-row-selected",e),this.dispatchLocalEvent({type:"itemHighlighted",highlighted:e})}setSearchString(e){}render(){const e=this.suggestion,t=this.getGui(),i=t.lastElementChild;i.textContent="",i.classList.remove("ag-calculated-column-suggestion-path"),t.removeAttribute("aria-label");const r=e.displayPath;if(e.type!=="column"||!r||r.length<2){i.textContent=e.label,this.tooltipValue=e.label,this.tooltipFeature?.setTooltipAndRefresh(this.tooltipValue);return}i.classList.add("ag-calculated-column-suggestion-path");const n=r.join(` ${PATH_SEPARATOR} `);t.setAttribute("aria-label",n),this.tooltipValue=n;const o=t.ownerDocument,a=r.length-1;for(let l=0,c=r.length;l<c;++l){const u=l===a,d=o.createElement("span");if(d.className=u?"ag-calculated-column-suggestion-leaf":"ag-calculated-column-suggestion-parent",d.textContent=r[l],i.appendChild(d),!u){const h=o.createElement("span");h.className="ag-calculated-column-suggestion-separator",h.textContent=PATH_SEPARATOR,i.appendChild(h)}}this.tooltipFeature?.setTooltipAndRefresh(this.tooltipValue)}isTruncated(){const e=this.getGui().lastElementChild;if((0,import_ag_stack159._isHorizontalScrollShowing)(e))return!0;const t=e.children;for(const i of t)if((0,import_ag_stack159._isHorizontalScrollShowing)(i))return!0;return!1}},import_ag_grid_community264=require("ag-grid-community"),USER_OWNED_PROPERTIES=["headerName","cellDataType","calculatedExpression","columnGroupShow"];function pickUserOwnedProperties(e){const t={};for(let i=0,r=USER_OWNED_PROPERTIES.length;i<r;++i){const n=USER_OWNED_PROPERTIES[i];n in e&&(t[n]=e[n])}return t}function clearStaleDataTypeProperties(e,t,i){if(i.cellDataType===void 0||i.cellDataType===e.cellDataType)return e;const r={...e};for(const n of import_ag_grid_community264._DATA_TYPE_DERIVED_COL_DEF_PROPERTIES)i[n]===void 0&&t?.[n]===void 0&&delete r[n];return r}function replaceBracketReferences(e,t){let i=!1,r="",n=0;for(let o=0;o<e.length;o++){const a=e[o];if(a==='"'){e[o+1]==='"'?o++:i=!i;continue}if(!i&&a==="["){const l=e.indexOf("]",o+1);if(l===-1)continue;r+=e.slice(n,o),r+=`[${t(e.slice(o+1,l))}]`,n=l+1,o=l}}return r+e.slice(n)}function getOperatorReplacementRange(e,t,i,r){const n=Math.min(t,i),o=Math.max(t,i);if(n!==o)return isOperator(e.slice(n,o).trim(),r)?expandWhitespace(e,n,o):{start:n,end:o};if(isInsideStringLiteral2(e,n)||isInsideBracketReference(e,n))return{start:n,end:o};const a=findOperatorTokenNearCaret(e,n,r);return a?expandWhitespace(e,a.start,a.end):{start:n,end:o}}function isOperator(e,t){for(let i=0,r=t.length;i<r;++i)if(t[i]===e)return!0;return!1}function findOperatorTokenNearCaret(e,t,i){const r=getOperatorTokenContainingPosition(e,t,i);if(r)return r;const n=getPreviousNonSpaceIndex(e,t);if(n!=null){const a=getOperatorTokenContainingPosition(e,n,i);if(a)return a}const o=getNextNonSpaceIndex(e,t);return o!=null?getOperatorTokenContainingPosition(e,o,i):null}function getOperatorTokenContainingPosition(e,t,i){for(let r=0,n=i.length;r<n;++r){const o=i[r];for(let a=0,l=o.length;a<l;++a){const c=t-a;if(c>=0&&e.startsWith(o,c))return{start:c,end:c+l}}}return null}function expandWhitespace(e,t,i){for(;t>0&&e[t-1].trim()==="";)t--;for(;i<e.length&&e[i].trim()==="";)i++;return{start:t,end:i}}function getPreviousNonSpaceIndex(e,t){for(let i=t-1;i>=0;--i)if(e[i].trim()!=="")return i;return null}function getNextNonSpaceIndex(e,t){for(let i=t,r=e.length;i<r;++i)if(e[i].trim()!=="")return i;return null}function isInsideBracketReference(e,t){const i=e.lastIndexOf("[",t-1),r=e.lastIndexOf("]",t-1);return i>r}function isInsideStringLiteral2(e,t){let i=!1;for(let r=0;r<t&&r<e.length;++r)if(e[r]==='"'){if(e[r+1]==='"'){r++;continue}i=!i}return i}var DEFAULT_DRAFT={cellDataType:"text",calculatedExpression:""},DEFAULT_CALCULATED_COLUMN_DATA_TYPES=["text","number","date","boolean"],DEFAULT_CALCULATED_COLUMN_EXPRESSION_PICKERS=["columns","functions","operators"],OPERATOR_VALUES=["+","-","*","/","^","&","=","<>",">",">=","<","<="],OPERATOR_REPLACEMENT_VALUES=[...OPERATOR_VALUES].sort((e,t)=>t.length-e.length),OPERATOR_SUGGESTIONS=OPERATOR_VALUES.map(e=>({type:"operator",label:e,value:e})),MAX_VISIBLE_SUGGESTIONS=6,CSS_PICKER_SUGGESTION_LIST="ag-calculated-column-picker-list";function getSuggestionSearchValue(e){return e.displayPath!=null&&e.displayPath.length>=2?e.searchText??e.label:e.label}var CalculatedColumnFormElement={tag:"div",cls:"ag-calculated-column-form",children:[{tag:"ag-input-text-field",ref:"eTitle"},{tag:"ag-select",ref:"eType"},{tag:"div",cls:"ag-calculated-column-expression-wrap",children:[{tag:"ag-input-text-area",ref:"eExpression"},{tag:"ag-field-set",cls:"ag-calculated-column-expression-tools",ref:"eExpressionTools",children:[{tag:"button",ref:"eColumns",cls:"ag-button ag-standard-button ag-calculated-column-expression-tool"},{tag:"button",ref:"eFunctions",cls:"ag-button ag-standard-button ag-calculated-column-expression-tool"},{tag:"button",ref:"eOperators",cls:"ag-button ag-standard-button ag-calculated-column-expression-tool"}]}]},{tag:"div",ref:"eActions",cls:"ag-calculated-column-actions",children:[{tag:"button",ref:"eApply",cls:"ag-button ag-standard-button ag-calculated-column-action ag-calculated-column-action-apply"},{tag:"button",ref:"eCancel",cls:"ag-button ag-standard-button ag-calculated-column-action"}]}]},CalculatedColumnForm=class extends import_ag_grid_community265.Component{constructor(e,t,i,r,n,o,a,l,c,u){super(CalculatedColumnFormElement,[import_ag_grid_community265.AgInputTextFieldSelector,import_ag_grid_community265.AgSelectSelector,import_ag_grid_community265.AgInputTextAreaSelector,import_ag_grid_community265.AgFieldSetSelector]),this.draft=e,this.dataTypeOptions=t,this.getColumnSuggestions=r,this.getFunctionSuggestions=n,this.onValidate=o,this.onApply=a,this.onCancel=l,this.liveApply=c,this.onDraftChange=u,this.eTitle=import_ag_stack160.RefPlaceholder,this.eType=import_ag_stack160.RefPlaceholder,this.eExpression=import_ag_stack160.RefPlaceholder,this.eColumns=import_ag_stack160.RefPlaceholder,this.eFunctions=import_ag_stack160.RefPlaceholder,this.eOperators=import_ag_stack160.RefPlaceholder,this.eApply=import_ag_stack160.RefPlaceholder,this.eCancel=import_ag_stack160.RefPlaceholder,this.eActions=import_ag_stack160.RefPlaceholder,this.eExpressionTools=import_ag_stack160.RefPlaceholder,this.activeReplacement=null,this.suggestionSource=null,this.titleValidationMessage=null,this.expressionValidationMessage=null,this.autocompleteList=null,this.suggestionType=null,this.suggestionSourceType=null,this.openSuggestions=[],this.expressionSelection=null,this.expressionPickers=new Set(i)}postConstruct(){this.setupFormFields(),this.setupAria(),this.setupActionButtons(),this.liveApply||this.setupValidationTooltips(),this.addFormFieldListeners(),this.setupExpressionEditor(),this.addActionListeners(),this.addFormListeners(),this.addDestroyFunc(()=>this.closeSuggestionPopup())}hideSuggestions(){this.activeReplacement=null,this.closeSuggestionPopup()}setupFormFields(){const e=this.getLocaleTextFunc(),t=this.eType.showPicker.bind(this.eType);this.eType.showPicker=()=>{this.hideSuggestions(),t()},this.eTitle.setLabel(e("calculatedColumnTitle","Title")).setLabelAlignment("top").setValue(this.draft.headerName,!0),this.eType.setLabel(e("calculatedColumnType","Type")).setLabelAlignment("top").addOptions(this.dataTypeOptions).setValue(this.draft.cellDataType,!0),this.eExpression.setLabel(e("calculatedColumnExpression","Expression")).setLabelAlignment("top").setAutoComplete(!1).setInputPlaceholder(e("calculatedColumnExpressionPlaceholder","Type here")).setRows(3).setValue(this.draft.calculatedExpression,!0),this.eExpressionTools.setDirection("horizontal").setLabelWidth("flex").setLabel(e("calculatedColumnExpressionToolsLabel","Insert")).setLabelSeparator(":")}setupAria(){const e=String(this.gos.get("tabIndex")),t=this.eExpression.getInputElement();(0,import_ag_stack160._setAriaAutoComplete)(t,"list"),(0,import_ag_stack160._setAriaHasPopup)(t,"listbox");const i=[this.eColumns,this.eFunctions,this.eOperators];for(const r of i)r.setAttribute("tabindex",e),(0,import_ag_stack160._setAriaHasPopup)(r,"listbox"),(0,import_ag_stack160._setAriaExpanded)(r,!1)}setupActionButtons(){const e=this.getLocaleTextFunc(),t=["Columns","Functions","Operators","Apply","Cancel"];for(const o of t){const a=this[`e${o}`];a.textContent=e(`calculatedColumn${o}`,o),a.type="button"}const i=this.expressionPickers.has("columns"),r=this.expressionPickers.has("functions"),n=this.expressionPickers.has("operators");(0,import_ag_stack160._setDisplayed)(this.eColumns,i),(0,import_ag_stack160._setDisplayed)(this.eFunctions,r),(0,import_ag_stack160._setDisplayed)(this.eOperators,n),this.eExpressionTools.setDisplayed(i||r||n),(0,import_ag_stack160._setDisplayed)(this.eActions,!this.liveApply)}addFormFieldListeners(){const e=this.draft.headerName;this.eTitle.onValueChange(t=>{if(this.liveApply){this.updateDraft({headerName:t||e});return}this.updateDraft({headerName:t??""}),this.setTitleError(this.validateTitle())}),this.eType.onValueChange(t=>{this.updateDraft({cellDataType:t??this.dataTypeOptions[0]?.value??DEFAULT_DRAFT.cellDataType})}),this.eExpression.onValueChange(t=>{this.updateDraft({calculatedExpression:t??""}),this.liveApply||this.setExpressionError(this.onValidate(this.draft)),this.refreshContextSuggestions()})}setupExpressionEditor(){const e=this.eExpression.getInputElement();e.setAttribute("spellcheck","false"),this.addManagedElementListeners(e,{click:()=>{this.rememberExpressionSelection(),this.refreshContextSuggestions()},input:()=>this.rememberExpressionSelection(),keydown:t=>this.onExpressionKeyDown(t),keyup:t=>this.onExpressionKeyUp(t),select:()=>this.rememberExpressionSelection()})}addActionListeners(){const e=this.expressionPickers,t=[["columns","column",this.eColumns],["functions","function",this.eFunctions],["operators","operator",this.eOperators]];for(const i of t){const[r,n,o]=i;e.has(r)&&this.addManagedElementListeners(o,{mousedown:()=>this.rememberExpressionSelection(),click:()=>this.openPicker(n,o)})}this.liveApply||(this.addManagedElementListeners(this.eApply,{click:()=>{const i=this.validateTitle();this.setTitleError(i),i==null&&this.setExpressionError(this.onApply(this.draft))}}),this.addManagedElementListeners(this.eCancel,{click:()=>this.onCancel()}))}addFormListeners(){this.addManagedElementListeners(this.getGui(),{keydown:e=>{e.target!==this.eExpression.getInputElement()&&this.onSuggestionKeyDown(e)},focusout:()=>window.setTimeout(()=>{this.getGui().contains((0,import_ag_stack160._getDocument)(this.beans).activeElement)||this.hideSuggestions()},0)})}validateTitle(){return this.draft.headerName.trim().length>0?null:this.getLocaleTextFunc()("calculatedColumnTitleEmpty","Enter a title")}setTitleError(e){this.titleValidationMessage=e;const t=this.eTitle.getInputElement();this.applyFieldError(t,e),this.titleTooltipFeature?.setTooltipAndRefresh(e),t.setAttribute("title","")}setExpressionError(e){this.expressionValidationMessage=e;const t=this.eExpression.getInputElement();this.applyFieldError(t,e),this.expressionTooltipFeature?.setTooltipAndRefresh(e),t.setAttribute("title","")}applyFieldError(e,t){const i=!!t;e.setCustomValidity(t??""),e.classList.toggle("invalid",i),(0,import_ag_stack160._setAriaInvalid)(e,i),this.eApply.disabled=!!this.titleValidationMessage||!!this.expressionValidationMessage}setupValidationTooltips(){this.titleTooltipFeature=this.createValidationTooltip(()=>this.eTitle.getInputElement(),()=>this.titleValidationMessage),this.expressionTooltipFeature=this.createValidationTooltip(()=>this.eExpression.getInputElement(),()=>this.expressionValidationMessage)}createValidationTooltip(e,t){return this.createOptionalManagedBean(this.beans.tooltipSvc?.createTooltip({getGui:e,getTooltipComponentDefinition:()=>{},getTooltipValue:t,getLocation:()=>"calculatedColumnExpression",shouldDisplayTooltip:()=>!!t()}))}updateDraft(e){this.draft={...this.draft,...e},this.onDraftChange?.(this.draft)}rememberExpressionSelection(){const e=this.eExpression.getInputElement(),t=e.value.length,i=e.selectionStart??t,r=e.selectionEnd??i;this.expressionSelection={start:i,end:r}}refreshContextSuggestions(){const e=this.eExpression.getInputElement(),t=e.value,i=e.selectionStart??t.length,r=t.lastIndexOf("[",i-1),n=t.lastIndexOf("]",i-1);if(r>n){const a=t.slice(r+1,i);this.showSuggestions("column",a,{start:r,end:i},e,"inline");return}const o=this.getFunctionToken(t,i);if(o){this.showSuggestions("function",o.prefix,{start:o.start,end:o.end},e,"inline");return}this.activeReplacement&&this.hideSuggestions()}openPicker(e,t){this.rememberExpressionSelection(),this.showSuggestions(e,"",this.expressionSelection,t,"picker")}getSuggestionsForType(e){return e==="column"?this.getColumnSuggestions():e==="function"?this.getFunctionSuggestions():OPERATOR_SUGGESTIONS}showSuggestions(e,t,i,r,n){this.eType.hidePicker();const o=this.getSuggestionsForType(e),a=t.toLocaleLowerCase();if(!(!a||o.some(c=>getSuggestionSearchValue(c).toLocaleLowerCase().includes(a)))){this.hideSuggestions();return}this.activeReplacement=i,this.suggestionSource=r,this.suggestionSourceType=n,this.openSuggestionPopup(e,o),this.autocompleteList?.setSearch(t),this.refreshAriaForSuggestions(),this.positionSuggestionPopup()}refreshAriaForSuggestions(){if(!this.autocompleteList||!this.suggestionSource){this.clearAriaForSuggestions();return}const e=this.autocompleteList.getListId(),t=this.eExpression.getInputElement(),i=this.suggestionSourceType==="inline",r=i?this.autocompleteList.getActiveOptionId():null,n=r&&(0,import_ag_stack160._getDocument)(this.beans).getElementById(r)?r:null;(0,import_ag_stack160._setAriaControls)(t,i?e:null),(0,import_ag_stack160._setAriaActiveDescendant)(t,n);for(const o of[this.eColumns,this.eFunctions,this.eOperators]){const a=this.suggestionSourceType==="picker"&&this.suggestionSource===o;(0,import_ag_stack160._setAriaExpanded)(o,a),(0,import_ag_stack160._setAriaControls)(o,a?e:null)}}clearAriaForSuggestions(){const e=this.eExpression.getInputElement();(0,import_ag_stack160._setAriaControls)(e,null),(0,import_ag_stack160._setAriaActiveDescendant)(e,null);for(const t of[this.eColumns,this.eFunctions,this.eOperators])(0,import_ag_stack160._setAriaExpanded)(t,!1),(0,import_ag_stack160._setAriaControls)(t,null)}openSuggestionPopup(e,t){const i=this.beans.popupSvc;if(!i||(this.autocompleteList&&this.suggestionType!==e&&this.closeSuggestionPopup(),this.autocompleteList))return;this.suggestionType=e,this.openSuggestions=t;const r=this.createManagedBean(new AgAutocompleteList({autocompleteEntries:this.createAutocompleteEntries(t),onConfirmed:()=>this.confirmSelectedSuggestion(),autoSizeList:!0,maxVisibleItems:MAX_VISIBLE_SUGGESTIONS,onListHeightChanged:()=>this.positionSuggestionPopup(),onActiveOptionChanged:()=>this.refreshAriaForSuggestions(),rowComponentCreator:e==="column"?(n,o)=>this.createColumnSuggestionRow(n,o):void 0}));this.autocompleteList=r,this.hideSuggestionPopup=i.addPopup({eChild:r.getGui(),positionCallback:()=>this.positionSuggestionPopup(),alwaysOnTop:!0,ariaLabel:this.getLocaleTextFunc()("calculatedColumnSuggestions","Calculated Column Suggestions")}).hideFunc,r.afterGuiAttached(),this.refreshAriaForSuggestions()}createAutocompleteEntries(e){const t=[];for(let i=0,r=e.length;i<r;++i){const n=e[i],o={key:`${i}`,displayValue:getSuggestionSearchValue(n),suggestion:n};t.push(o)}return t}createColumnSuggestionRow(e,t){const i=new CalculatedColumnAutocompleteRow;return i.setState(e.suggestion,t),i}positionSuggestionPopup(){const e=this.suggestionSource,t=this.autocompleteList,i=this.beans.popupSvc;if(!e||!t||!i)return;const r=t.getGui(),n=this.suggestionSourceType==="picker";if(r.classList.toggle(CSS_PICKER_SUGGESTION_LIST,n),n){r.style.width="";const o=this.getGui().offsetWidth;o>0&&(r.style.maxWidth=`${o}px`)}else{const o=this.eExpression.getInputElement().offsetWidth;o>0&&(r.style.width=`${o}px`),r.style.maxWidth=""}i.positionPopupByComponent({ePopup:r,type:"calculatedColumnAutocomplete",eventSource:e,position:"under",alignSide:this.gos.get("enableRtl")?"right":"left",keepWithinBounds:!0}),i.bringPopupToFront(r)}confirmSelectedSuggestion(){const e=this.autocompleteList?.getSelectedValue(),t=e?this.openSuggestions[Number(e.key)]:void 0;t?this.acceptSuggestion(t):this.hideSuggestions()}closeSuggestionPopup(){this.clearAriaForSuggestions(),this.suggestionSource=null,this.suggestionType=null,this.suggestionSourceType=null,this.openSuggestions=[],this.hideSuggestionPopup?.(),this.hideSuggestionPopup=void 0,this.autocompleteList&&(this.destroyBean(this.autocompleteList),this.autocompleteList=null)}onExpressionKeyDown(e){this.onSuggestionKeyDown(e)}onSuggestionKeyDown(e){const t=this.autocompleteList;if(t)switch(e.key){case import_ag_grid_community265.KeyCode.ESCAPE:e.preventDefault(),e.stopPropagation(),this.hideSuggestions();return;case import_ag_grid_community265.KeyCode.UP:case import_ag_grid_community265.KeyCode.DOWN:e.stopPropagation(),t.onNavigationKeyDown(e,e.key);return;case import_ag_grid_community265.KeyCode.TAB:case import_ag_grid_community265.KeyCode.ENTER:e.preventDefault(),e.stopPropagation(),this.confirmSelectedSuggestion();return}}onExpressionKeyUp(e){switch(e.key){case import_ag_grid_community265.KeyCode.ESCAPE:case import_ag_grid_community265.KeyCode.UP:case import_ag_grid_community265.KeyCode.DOWN:case import_ag_grid_community265.KeyCode.TAB:case import_ag_grid_community265.KeyCode.ENTER:return}this.refreshContextSuggestions()}acceptSuggestion(e){const t=this.eExpression.getInputElement(),i=t.value,r=this.getSuggestionInsertText(e),n=this.activeReplacement??this.expressionSelection,o=n?.start??t.selectionStart??i.length,a=n?.end??t.selectionEnd??o,{start:l,end:c}=e.type==="operator"?getOperatorReplacementRange(i,o,a,OPERATOR_REPLACEMENT_VALUES):{start:o,end:a},u=`${i.slice(0,l)}${r}${i.slice(c)}`;this.eExpression.setValue(u);const d=e.type==="function"&&r.endsWith("()")?l+r.length-1:l+r.length;t.setSelectionRange(d,d),this.expressionSelection={start:d,end:d},t.focus(),this.hideSuggestions()}getSuggestionInsertText(e){switch(e.type){case"column":return`[${e.value}]`;case"function":return`${e.value}()`;case"operator":return` ${e.value} `}}getFunctionToken(e,t){if(isInsideStringLiteral2(e,t))return null;let i=t;for(;i>0&&/[A-Za-z0-9_.]/.test(e[i-1]);)i--;let r=t;for(;r<e.length&&/[A-Za-z0-9_.]/.test(e[r]);)r++;if(i===r||!/[A-Za-z_]/.test(e[i]))return null;const n=this.getPreviousNonSpaceChar(e,i);return n!=null&&!"([,+-*/^&=<>".includes(n)?null:{start:i,end:r,prefix:e.slice(i,t)}}getPreviousNonSpaceChar(e,t){for(let i=t-1;i>=0;i--)if(e[i]!==" ")return e[i];return null}},import_ag_grid_community266=require("ag-grid-community");function createHeaderReferenceEntries(e,t,i){const r=t.filter(o=>o.getColId()!==i).map(o=>{const a=getColumnPath(e,o);return{column:o,colId:o.getColId(),leafName:a[a.length-1],path:a,reference:""}}),n=new Map;for(const o of r)for(const a of getReferenceCandidates(o.path))n.set(a,(n.get(a)??0)+1);for(const o of r){const a=getReferenceCandidates(o.path).find(l=>n.get(l)===1);if(a){o.reference=a;continue}o.reference=`${joinReferencePath(o.path)} (${getStableReferenceSuffix(o.colId)})`}return r}function isAmbiguousHeaderReference(e,t,i=!1){const r=new Set(e.map(a=>normaliseReference(a.reference,i))),n=new Map,o=normaliseReference(t,i);for(let a=0,l=e.length;a<l;++a){const c=getReferenceCandidates(e[a].path);for(let u=0,d=c.length;u<d;++u){const h=normaliseReference(c[u],i);n.set(h,(n.get(h)??0)+1)}}return(n.get(o)??0)>1&&!r.has(o)}function getColumnPath(e,t){const i=getUsableName(e.colNames.getDisplayNameForColumn(t,"header"),t.getColId()),r=[];let n=t.getOriginalParent();for(;n;)n.isPadding()||r.unshift(getUsableName(e.colNames.getDisplayNameForProvidedColumnGroup(null,n,"header"),n.getGroupId())),n=n.getOriginalParent();return[...r,i]}function getUsableName(e,t){return e?.trim()||t.trim()||t}function getReferenceCandidates(e){const t=[];for(let i=e.length-1;i>=0;i--){const r=joinReferencePath(e.slice(i));r&&t.push(r)}return t}function joinReferencePath(e){return e.filter(Boolean).join(" ")}function getStableReferenceSuffix(e){return encodeURIComponent(e)}function normaliseReference(e,t){return t?e.toLocaleLowerCase():e}function translateCalculatedColumnReferenceError(e,t){const[i,r]=e.type==="ambiguous"?["calculatedColumnExpressionAmbiguousReference",'Ambiguous column reference "${variable}". Use the Columns list or a more specific group path.']:["calculatedColumnExpressionUnknownReference",'Unknown column reference "${variable}".'];return t(i,r,[e.reference]).replace("${variable}",e.reference)}function createCalculatedColumnReferenceMapper(e,t,i){const r=t.filter(c=>!(0,import_ag_grid_community266.isSpecialCol)(c)),n=createHeaderReferenceEntries(e,r,i),o=new Map(n.map(c=>[c.reference,c.colId])),a=new Map,l=new Map(n.map(c=>[c.colId,c.reference]));for(let c=0,u=n.length;c<u;++c){const d=n[c],h=normaliseReference2(d.reference),p=a.get(h)??[];p.push(d.colId),a.set(h,p)}return{suggestions:n.map(({leafName:c,path:u,reference:d})=>({type:"column",label:d,value:d,searchText:`${d} ${c}`,displayPath:u})),toInternalExpression(c){let u;const d=replaceBracketReferences(c,h=>{const p=o.get(h);if(p!=null)return p;const g=a.get(normaliseReference2(h)),f=g?.length===1?g[0]:void 0;if(f!=null)return f;const m=(g?.length??0)>1||isAmbiguousHeaderReference(n,h,!0);return u??(u={type:m?"ambiguous":"unknown",reference:h}),h});return u!==void 0?{error:u}:{expression:d}},toInternalExpressionBestEffort(c){return replaceBracketReferences(c,u=>{const d=o.get(u);if(d!=null)return d;const h=a.get(normaliseReference2(u));return h?.length===1?h[0]:u})},toDisplayExpression(c){return replaceBracketReferences(c,u=>l.get(u)??u)}}}function normaliseReference2(e){return e.toLocaleLowerCase()}var FORMULA_ERROR_CACHE_LIMIT=256;function getParentGroupId(e){return e?.getFirstRealParent()?.groupId??null}var BASE_DATA_TYPE_LOCALE_KEYS={text:"dataTypeText",number:"dataTypeNumber",bigint:"dataTypeBigInt",boolean:"dataTypeBoolean",date:"dataTypeDate",dateString:"dataTypeDateString",dateTime:"dataTypeDateTime",dateTimeString:"dataTypeDateTimeString",object:"dataTypeObject"},CalculatedColumnsService=class extends import_ag_grid_community267.BeanStub{constructor(){super(...arguments),this.beanName="calculatedColsSvc",this.dynamicColumns=new Map,this.inactiveDynamicColumns=new Map,this.lastCalculatedColIndex=0,this.validationStatesByColId=new Map,this.validationStatesInitialised=!1,this.lifecycleInitialised=!1,this.knownCalculatedColumns=new Map,this.suppressValidationChecks=0,this.openDialogsByColId=new Map,this.scheduledLiveApplyColIds=new Set,this.pendingLiveApplyUpdatesByColId=new Map,this.formulaErrorsByExpression=new Map}postConstruct(){this.userColumnSvc=this.beans.userColumnSvc,this.userColumnSvc.registerOwner(()=>this.isEnabled(),USER_OWNED_PROPERTIES),this.addManagedEventListeners({newColumnsLoaded:e=>{this.checkColumnLifecycle(e.source),this.checkValidationStates(e.source)}}),this.addManagedPropertyListener("calculatedColumns",()=>{this.isEnabled()||this.clearDynamicColumnInstances(),this.refreshDynamicColumns("gridOptionsChanged"),this.refreshOpenDialogHighlights()})}isEnabled(){return(0,import_ag_grid_community267._isCalculatedColumnsEnabled)(this.gos.get("calculatedColumns"))}isHighlightedColumn(e){return e!=null&&this.isEnabled()&&this.getOptions()?.suppressColumnHighlighting!==!0&&this.openDialogsByColId.get(e.colId)?.highlight===!0}refreshCalculatedColumnHighlight(e){if(e==null)return;const t=this.beans.rowRenderer.getCellCtrls(null,[e]);for(const i of t)i.refreshCalculatedColumnCss();this.beans.ctrlsSvc.getHeaderRowContainerCtrl()?.refresh()}refreshOpenDialogHighlights(){const e=this.beans.colModel.colsById;for(const[t,i]of this.openDialogsByColId)i.highlight&&this.refreshCalculatedColumnHighlight(e[t]??null)}updateCalculatedColumn(e,t,i=!0){if(!this.isEnabled())return;const r="calculatedColumn",{colModel:n}=this.beans,o=n.getCol(e);if(!o?.isCalculatedCol)return;const a=o.colDef.calculatedExpression,l={...t},c=(0,import_ag_grid_community267._normaliseCalculatedExpression)(l.calculatedExpression);if(c!==void 0){if(l.calculatedExpression=c,i&&!(0,import_ag_stack161._isStringLargerThan)(c,0,!0)){(0,import_ag_grid_community267._warnOnce)("updateCalculatedColumn: calculatedExpression cannot be empty.");return}if(i&&(!this.validateColumnReferences(c)||!this.validateFormulaExpression(c)))return}const u=o.colId,d=this.getUpdatedCalculatedColDef(o,l),h=(0,import_ag_grid_community267._addColumnDefaultAndTypes)(this.beans,d,u);if(!(0,import_ag_grid_community267._mergedEqual)(h,o.colDef)){const m=this.dynamicColumns.get(u);m?(m.colDef=d,this.recordCreatedColumn(u,d,this.userColumnSvc.getEntry(u)?.parentGroupId??null)):this.setDeclaredColOverride(o,d),this.refreshDynamicColumns(r),c!==void 0&&this.beans.formula?.refreshFormulas(!1)}const g=n.colsById[u]??o,f=g.colDef.calculatedExpression??"";c!==void 0&&a!==f&&this.dispatchExpressionChangedEvent(this.getEventCommonParams(g,f,r),a??""),i&&this.checkValidationStates(r,!0),this.refreshCalculatedColumn(u)}getFormulaError(e){const t=this.formulaErrorsByExpression,i=t.get(e);if(i!==void 0)return i;t.size>=FORMULA_ERROR_CACHE_LIMIT&&t.clear();const r=this.beans.formula?.validateExpression(`=${e}`)??null;return t.set(e,r),r}getFormulaExpressionError(e){return this.getFormulaError(e)?.getTranslatedMessage(this.getLocaleTextFunc())??null}validateFormulaExpression(e){const t=this.getFormulaExpressionError(e);return t?((0,import_ag_grid_community267._warnOnce)(t),!1):!0}getInvalidColumnReference(e){const t=this.beans.colModel.colsById;let i;return replaceBracketReferences(e,r=>(i==null&&!t[r]&&(i=r),r)),i}validateColumnReferences(e){const t=this.getInvalidColumnReference(e);return t!=null?((0,import_ag_grid_community267._warnOnce)(translateCalculatedColumnReferenceError({type:"unknown",reference:t},this.getLocaleTextFunc())),!1):!0}openCalculatedColumnDialog(e,t,i=!0,r){if(!this.isEnabled())return;const n=this.isLiveApplyMode();if(t==="add"){const l=this.createUniqueColId(),c=this.getLocaleTextFunc()("calculatedColumnDefaultTitle","Untitled"),u={colId:l,headerName:c,...this.getDefaultDraft()};if(n){const d=this.addDynamicCalculatedColumn(u,e);d&&this.showDialog(u,()=>null,!0,d,i,void 0,r,e);return}this.showDialog(u,d=>{this.addDynamicCalculatedColumn(d,e)&&this.focusCalculatedColumn(d.colId)},!1,void 0,i,void 0,r,e);return}if(!e?.isCalculatedCol)return;const o=createCalculatedColumnReferenceMapper(this.beans,this.beans.colModel.colsList,e.colId),a=this.toDraft(e,o);this.showDialog(a,l=>{const{colId:c,...u}=this.toColDef(l);this.updateCalculatedColumn(e.colId,u)},n,e,i,o,r,e)}addDynamicCalculatedColumn(e,t){const i=e.colId,r=this.toColDef(e),n=t?.colDef.columnGroupShow;n!=null&&(r.columnGroupShow=n),this.inactiveDynamicColumns.delete(i),this.dynamicColumns.set(i,{colDef:r,anchorColId:t?.colId??null,instance:null}),this.recordCreatedColumn(i,r,getParentGroupId(t)),this.refreshDynamicColumns("calculatedColumn");const o=this.beans.colModel.colsById[i];return o&&this.dispatchCreatedOrRemovedEvent("calculatedColumnCreated",this.getEventCommonParams(o,e.calculatedExpression,"calculatedColumn")),this.checkValidationStates("calculatedColumn",!0),o??void 0}removeCalculatedColumn(e){if(!this.isEnabled()||!e?.isCalculatedCol)return;const t="calculatedColumn",i=e.colDef.calculatedExpression??"",r=e.colId;this.closeCalculatedColumnDialog(r);const n=this.dynamicColumns.delete(r);if(n)for(const o of this.dynamicColumns.values())o.anchorColId===r&&(o.anchorColId=null);this.userColumnSvc.removeColumn(r,!n),this.refreshDynamicColumns(t),this.dispatchCreatedOrRemovedEvent("calculatedColumnRemoved",this.getEventCommonParams(e,i,t)),this.checkValidationStates(t,!0)}recordCreatedColumn(e,t,i){this.userColumnSvc.setCreatedColumn(e,pickUserOwnedProperties(t),i)}isLiveApplyMode(){return this.getOptions()?.applyMode!=="deferred"}getOptions(){const e=this.gos.get("calculatedColumns");return typeof e=="object"&&e!=null?e:void 0}setDeclaredColOverride(e,t){const i=this.userColumnSvc,r=e.colId,n=pickUserOwnedProperties(i.getDeclaredDef(r)??{}),o=pickUserOwnedProperties(t),a={},l=Object.keys(o);for(let u=0,d=l.length;u<d;++u){const h=l[u];o[h]!==n[h]&&(a[h]=o[h])}const c=Object.keys(n);for(let u=0,d=c.length;u<d;++u){const h=c[u];h in o||(a[h]=void 0)}Object.keys(a).length?i.setOverride(r,a):i.clearColumn(r)}contributeTo(e){if(!this.isEnabled())return;const{dynamicColumns:t}=this,i=this.userColumnSvc;if(t.size===0)return;const r=e.source,n=e.buildToken,o=e.newColDefs;t.forEach((a,l)=>{const c=this.getOrCreateColumn(a,l,n,r,o);c.buildToken=n;const u=a.anchorColId;u!=null&&u!==l&&!i.getEntry(u)?.removed?(c.anchoredToColId=u,appendColumnToTree(e,c,u)):(c.anchoredToColId=void 0,appendColumnToTree(e,c))})}clearDynamicColumnInstances(){this.dynamicColumns.forEach(e=>{e.instance=null})}resetDynamicColumnDefs(e=!1){return e||this.inactiveDynamicColumns.clear(),this.dynamicColumns.size?(e&&this.dynamicColumns.forEach((t,i)=>{t.parentGroupId=getParentGroupId(t.instance),t.instance=null,this.inactiveDynamicColumns.set(i,t)}),this.dynamicColumns.clear(),!0):!1}adoptUserColumns(){if(!this.isEnabled())return!1;const e=this.userColumnSvc,t=this.dynamicColumns,i=o=>{const a=e.getEntry(o);return a?.created===!0&&a.properties?.calculatedExpression!=null},r=o=>{let a=!1;return o.forEach((l,c)=>{i(c)||(o.delete(c),a=!0)}),a};let n=r(t);return r(this.inactiveDynamicColumns),e.forEachEntry((o,a)=>{const l=o.properties;if(!o.created||l?.calculatedExpression==null)return;const c=this.toCalculatedColDef({...l},a),u=t.get(a);if(u){(0,import_ag_grid_community267._mergedEqual)(c,u.colDef)||(u.colDef=c,n=!0);const d=u.instance;d!==null&&(o.parentGroupId??null)!==getParentGroupId(d)&&(u.anchorColId=this.findAnchorInGroup(o.parentGroupId),n=!0);return}if(e.isDeclared(a)){(0,import_ag_grid_community267._warnOnce)(`userColumns: colId '${a}' is declared in columnDefs; skipping.`);return}this.inactiveDynamicColumns.delete(a),t.set(a,{colDef:c,anchorColId:this.findAnchorInGroup(o.parentGroupId),instance:null}),n=!0}),n}findAnchorInGroup(e){if(e==null)return null;const{colModel:t}=this.beans,i=this.userColumnSvc,r=t.colDefList;for(let n=r.length-1;n>=0;--n){const o=r[n];if(getParentGroupId(o)!==e)continue;const a=o.colId;if(!i.getEntry(a)?.removed&&(i.isDeclared(a)||this.dynamicColumns.has(a)))return a}return null}restoreDynamicColumnDefs(e){if(!this.isEnabled())return!1;const t=this.inactiveDynamicColumns;if(!t.size)return!1;let i=!1;for(let r=0,n=e.length;r<n;++r){const o=e[r].colId,a=t.get(o);a!==void 0&&(t.delete(o),this.dynamicColumns.has(o)||(this.dynamicColumns.set(o,a),this.recordCreatedColumn(o,a.colDef,a.parentGroupId??null),i=!0))}return i}getOrCreateColumn(e,t,i,r,n){const o=this.beans,a=e.instance;if(a!==null)return a.buildToken=i,a.reapplyColDef(e.colDef,r,n),a;const l=(0,import_ag_grid_community267._createUserColumn)(o,e.colDef,t,!0,i);return e.instance=l,l}refreshDynamicColumns(e){this.suppressValidationChecks++;try{this.beans.colModel.rebuildCols(e)}finally{this.suppressValidationChecks--}}createUniqueColId(){const{colModel:e}=this.beans,t=this.userColumnSvc,i=this.inactiveDynamicColumns;let r=this.lastCalculatedColIndex,n;do n=`calculated_${++r}`;while(e.getCol(n)!==void 0||i.has(n)||t.getEntry(n)!==void 0);return this.lastCalculatedColIndex=r,n}getUpdatedCalculatedColDef(e,t){const i=e.colId,r=this.dynamicColumns.get(i),n=e.getUserProvidedColDef(),o=this.userColumnSvc,a=o.getEntry(i)?.properties,l=o.getDeclaredDef(i)??n,c=a?{...l,...a}:l,u=r?.colDef??c??e.colDef,d={...t};delete d.colId;const h={...clearStaleDataTypeProperties(u,n,d),...d};return h.calculatedExpression??(h.calculatedExpression=u.calculatedExpression),this.toCalculatedColDef(h,i)}showDialog(e,t,i,r,n=!0,o,a,l){const c=this.openDialogsByColId.get(e.colId);if(c){this.beans.menuSvc?.hidePopupMenu(),n&&c.dialog.getGui().focus({preventScroll:!0});return}const u={resolved:!1},d=this.beans,h=o??createCalculatedColumnReferenceMapper(d,d.colModel.colsList,e.colId),p=b=>{if(!(0,import_ag_stack161._isStringLargerThan)(b.calculatedExpression,0,!0))return{valid:!1,error:this.getLocaleTextFunc()("calculatedColumnExpressionEmpty","Enter an expression")};const w=h.toInternalExpression(b.calculatedExpression);if("error"in w)return{valid:!1,error:translateCalculatedColumnReferenceError(w.error,this.getLocaleTextFunc())};const P=this.getFormulaExpressionError(w.expression);return P?{valid:!1,error:P}:{valid:!0,expression:w.expression}},g=b=>{const w=p(b);return w.valid?null:w.error},f=b=>{if(u.resolved)return null;const w=p(b);return w.valid?(u.resolved=!0,t({...b,calculatedExpression:w.expression}),u.close?.(),null):w.error},m=()=>{u.resolved||(u.resolved=!0,u.close?.())},v=i?b=>this.scheduleLiveApplyUpdate(b,h):void 0,C=this.getDataTypeOptions(e.cellDataType),y=this.createManagedBean(new CalculatedColumnForm(e,C,this.getExpressionPickers(),()=>h.suggestions,()=>this.getFunctionSuggestions(),g,f,m,i,v)),S=this.createManagedBean(new Dialog({title:this.getLocaleTextFunc()("calculatedColumn","Calculated Column"),component:y,minWidth:320,width:400,minHeight:380,height:380,centered:!0,movable:!0,resizable:!0,modal:!1,cssIdentifier:"calculated-column",closedCallback:b=>{l&&this.restoreFocusOnDialogClose(l,y.getGui(),b,a)}}));if(u.close=()=>S.close(),this.openDialogsByColId.set(e.colId,{dialog:S,highlight:r!=null}),this.refreshCalculatedColumnHighlight(r??null),n){const b=(0,import_ag_stack161._findFocusableElements)(y.getGui());b.length&&b[0].focus({preventScroll:!0})}const x=this.addManagedElementListeners(S.getGui(),{mousedown:()=>y.hideSuggestions()});S.addDestroyFunc(()=>{for(let b=0,w=x.length;b<w;++b)x[b]()}),S.addDestroyFunc(()=>{i&&this.isAlive()&&!this.beans.context.isDestroyed()?this.flushLiveApplyUpdate(e.colId):this.cancelLiveApplyUpdate(e.colId),this.openDialogsByColId.get(e.colId)?.dialog===S&&(this.openDialogsByColId.delete(e.colId),this.refreshCalculatedColumnHighlight(r??null))}),S.addEventListener("destroyed",()=>this.destroyBean(y))}restoreFocusOnDialogClose(e,t,i,r){if(!r?.eventSource)return;const n={column:e,columnIndex:e.allColsIndex,headerPosition:r.headerPosition,eventSource:r.eventSource};this.beans.menuUtils?.restoreFocusOnClose(n,t,i,!0),(0,import_ag_stack161._getActiveDomElement)(this.beans)===(0,import_ag_stack161._getDocument)(this.beans).body&&r.headerPosition&&this.beans.focusSvc.focusHeaderPosition({headerPosition:r.headerPosition})}scheduleLiveApplyUpdate(e,t){const i=e.colId;this.pendingLiveApplyUpdatesByColId.set(i,{draft:e,mapper:t}),!this.scheduledLiveApplyColIds.has(i)&&(this.scheduledLiveApplyColIds.add(i),(0,import_ag_stack161._requestAnimationFrame)(this.beans,()=>{this.scheduledLiveApplyColIds.delete(i),this.flushLiveApplyUpdate(i)}))}flushLiveApplyUpdate(e){const t=this.pendingLiveApplyUpdatesByColId.get(e);if(t===void 0)return;this.pendingLiveApplyUpdatesByColId.delete(e);const{draft:i,mapper:r}=t,{colId:n,...o}=this.toColDef({...i,calculatedExpression:r.toInternalExpressionBestEffort(i.calculatedExpression)});this.updateCalculatedColumn(e,o,!1)}cancelLiveApplyUpdate(e){this.pendingLiveApplyUpdatesByColId.delete(e)}closeCalculatedColumnDialog(e){const t=this.openDialogsByColId.get(e);t!==void 0&&(this.cancelLiveApplyUpdate(e),t.dialog.close())}getDefaultDraft(){const e=this.getDataTypeOptions()[0]?.value??DEFAULT_DRAFT.cellDataType;return{...DEFAULT_DRAFT,cellDataType:e}}getDataTypeOptions(e){const t=this.getOptions()?.dataTypes,i=t?this.getValidConfiguredDataTypes(t):[...DEFAULT_CALCULATED_COLUMN_DATA_TYPES];return e!=null&&i.indexOf(e)<0&&i.push(e),i.map(r=>({value:r,text:this.getDataTypeDisplayName(r)}))}getValidConfiguredDataTypes(e){const t=this.beans.dataTypeSvc;if(!t)return[...e];const i=[];for(const r of e)t.isDataTypeRegistered(r)?i.push(r):this.warn(304,{dataType:r});return i}getDataTypeDisplayName(e){const t=BASE_DATA_TYPE_LOCALE_KEYS[e];return t!=null?this.getLocaleTextFunc()(t,this.formatDataTypeName(e)):this.formatDataTypeName(e)}formatDataTypeName(e){return(0,import_ag_stack161._camelCaseToHumanText)(e.replace(/[_-]+/g,"."))??e}getExpressionPickers(){const e=this.getOptions()?.expressionPickers;return e===void 0?[...DEFAULT_CALCULATED_COLUMN_EXPRESSION_PICKERS]:e??[]}toDraft(e,t){const i=e.colDef,r=e.colId,n=i.cellDataType,o=this.beans.colNames.getDisplayNameForColumn(e,"header");return{colId:r,headerName:o??i.headerName??r,cellDataType:typeof n=="string"?n:DEFAULT_DRAFT.cellDataType,calculatedExpression:t.toDisplayExpression(i.calculatedExpression??"")}}focusCalculatedColumn(e){window.setTimeout(()=>{const t=this.beans,i=this.isAlive()&&t.headerNavigation?.getHeaderPositionForColumn(e,!1);i&&t.focusSvc.focusHeaderPosition({headerPosition:i})},0)}toColDef(e){return{colId:e.colId,headerName:e.headerName,calculatedExpression:(0,import_ag_grid_community267._normaliseCalculatedExpression)(e.calculatedExpression)??"",cellDataType:e.cellDataType,editable:!1,suppressPaste:!0}}toCalculatedColDef(e,t){return{...e,colId:t,calculatedExpression:(0,import_ag_grid_community267._normaliseCalculatedExpression)(e.calculatedExpression),editable:!1,suppressPaste:!0,field:void 0,valueGetter:void 0,valueSetter:void 0,cellEditor:void 0,cellEditorSelector:void 0}}getExpressionValidationState(e){return(0,import_ag_stack161._isStringLargerThan)(e,0,!0)?this.getInvalidColumnReference(e)!=null?"unknownReference":this.getFormulaExpressionError(e)==null?"valid":"invalidExpression":"valid"}forEachCalculatedColumn(e){const t=this.beans.colModel.colsList;for(let i=0,r=t.length;i<r;++i){const n=t[i];n.isCalculatedCol&&e(n,n.colId,n.colDef.calculatedExpression??"")}}checkColumnLifecycle(e){const t=this.knownCalculatedColumns,i=new Map,r=this.lifecycleInitialised&&this.suppressValidationChecks===0;this.forEachCalculatedColumn((n,o,a)=>{if(i.set(o,{column:n,expression:a}),!r)return;const l=t.get(o);l==null?this.dispatchCreatedOrRemovedEvent("calculatedColumnCreated",this.getEventCommonParams(n,a,e)):l.expression!==a&&this.dispatchExpressionChangedEvent(this.getEventCommonParams(n,a,e),l.expression)}),t.forEach((n,o)=>{i.has(o)||(this.closeCalculatedColumnDialog(o),r&&this.dispatchCreatedOrRemovedEvent("calculatedColumnRemoved",this.getEventCommonParams(n.column,n.expression,e)))}),this.knownCalculatedColumns=i,this.lifecycleInitialised=!0}checkValidationStates(e,t=!1){if(this.suppressValidationChecks>0)return;const i=t||this.validationStatesInitialised,r=this.validationStatesByColId,n=new Map;this.forEachCalculatedColumn((o,a,l)=>{const c=this.getExpressionValidationState(l);n.set(a,c);const u=r.get(a),d=u!==void 0;if(i&&(d&&u!==c||!d&&c!=="valid")){const p=c==="valid";this.dispatchValidationStateChangedEvent(this.getEventCommonParams(o,l,e),p,p?void 0:c)}}),this.validationStatesByColId=n,this.validationStatesInitialised=!0}getEventCommonParams(e,t,i){return{column:e,columns:[e],expression:t,source:i}}dispatchCreatedOrRemovedEvent(e,t){this.eventSvc.dispatchEvent({type:e,...t})}dispatchExpressionChangedEvent(e,t){this.eventSvc.dispatchEvent({type:"calculatedColumnExpressionChanged",...e,oldExpression:t})}dispatchValidationStateChangedEvent(e,t,i){this.eventSvc.dispatchEvent({type:"calculatedColumnValidationStateChanged",...e,valid:t,reason:i})}getFunctionSuggestions(){return(this.beans.formula?.getFunctionNames()??[]).map(e=>({type:"function",value:e,label:e}))}refreshCalculatedColumn(e){window.setTimeout(()=>{const t=this.beans,i=this.isAlive()&&t.colModel.colsById[e];i&&t.rowRenderer.refreshCells({columns:[i],force:!0})},0)}},CalculatedColumnsModule={moduleName:"CalculatedColumns",version:VERSION,beans:[CalculatedColumnsService,import_ag_grid_community268._UserColumnService],dependsOn:[FormulaModule,import_ag_grid_community268._PopupModule,import_ag_grid_community268.ColumnApiModule,import_ag_grid_community268.TooltipModule],icons:{calculatedColumnsHeader:"fx",calculatedColumnAdd:"plus",calculatedColumnEdit:"edit",calculatedColumnRemove:"minus"},css:[calculatedColumns_default]},import_ag_grid_community269=require("ag-grid-community"),DistributorBigInt=class{constructor(e,t,i){this.params=e;const{aggregatedChildren:r,column:n,newValue:o}=e,a=toBigInt(o),l=toBigInt(e.oldValue),c=r.length,u=BigInt(c);this.children=r,this.column=n,this.count=c,this.bigCount=u,this.newValue=o,this.strategy=resolveStrategy(i,t?.distribution),i==="avg"?(this.target=a*u,this.oldTarget=l*u):(this.target=a,this.oldTarget=l),this.getVal=t?.getValue,this.setVal=t?.setValue}run(){const{strategy:e,newValue:t}=this;if(e===!1)return!1;if(e==="overwrite")return this.writeAll(t);const{target:i,oldTarget:r}=this;return i===0n&&!isNumericLike(t)?this.writeAll(t):e==="increment"&&i===r?!1:e==="uniform"?this.writeUniformDirect(i):e==="increment"?this.writeIncrementDirect(i-r):this.writePercentage()}readOne(e){const{children:t,column:i,getVal:r}=this,n=t[e];if(r){const{colDef:o,api:a,context:l}=this.params;return toBigInt(r({node:n,data:n.data,column:i,colDef:o,api:a,context:l,groupParams:this.params}))}return toBigInt(n.getDataValue(i,"value"))}writeOne(e,t){const{children:i,column:r,setVal:n}=this,o=i[e];if(n){const{colDef:a,api:l,context:c}=this.params;return n({node:o,data:o.data,column:r,colDef:a,api:l,context:c,groupParams:this.params,value:t})}return o.setDataValue(r,t,"data")}writeAll(e){const{count:t}=this;let i=!1;for(let r=0;r<t;++r)this.writeOne(r,e)&&(i=!0);return i}writeUniformDirect(e){const{count:t,bigCount:i}=this,r=e/i,n=e-r*i,o=Number(n<0n?-n:n),a=n>=0n?1n:-1n;let l=!1;for(let c=0;c<t;++c)this.writeOne(c,c<o?r+a:r)&&(l=!0);return l}writeIncrementDirect(e){const{count:t,bigCount:i}=this,r=e/i,n=e-r*i,o=Number(n<0n?-n:n),a=n>=0n?1n:-1n;let l=!1;for(let c=0;c<t;++c)this.writeOne(c,this.readOne(c)+r+(c<o?a:0n))&&(l=!0);return l}writePercentage(){const{count:e,target:t}=this;let i=0n;const r=new Array(e);for(let l=0;l<e;++l){const c=this.readOne(l);r[l]=c,i+=c}if(i===0n)return this.writeUniformDirect(t);let n=0n;for(let l=0;l<e;++l){const c=r[l]*t/i;r[l]=c,n+=c}let o=t-n;for(let l=0;o>0n&&l<e;++l,--o)++r[l];for(let l=0;o<0n&&l<e;++l,++o)--r[l];let a=!1;for(let l=0;l<e;++l)this.writeOne(l,r[l])&&(a=!0);return a}},DistributorNumber=class{constructor(e,t,i){this.params=e;const{aggregatedChildren:r,column:n,colDef:o,newValue:a}=e,l=toNumber(a),c=r.length,u=i==="avg";this.children=r,this.column=n,this.count=c,this.newValue=a,this.strategy=resolveStrategy(i,t?.distribution),this.isAvg=u,u?(this.target=l*c,this.oldTarget=toNumber(e.oldValue)*c):(this.target=l,this.oldTarget=toNumber(e.oldValue));const d=t?.precision;d===!1?this.precision=void 0:typeof d=="number"?this.precision=Number.isInteger(d)&&d>=0?d:void 0:this.precision=detectPrecision(o),this.getVal=t?.getValue,this.setVal=t?.setValue}run(){const{strategy:e,newValue:t}=this;if(e===!1)return!1;if(e==="overwrite")return this.writeAll(t);if(this.target===0&&!isNumericLike(t))return this.writeAll(t);if(e==="increment"&&this.target===this.oldTarget)return!1;switch(e){case"uniform":return this.distributeUniform();case"increment":return this.distributeIncrement();default:return this.isAvg?this.distributePercentageAvg():this.distributePercentage()}}readOne(e){const{column:t,getVal:i}=this;if(i){const{colDef:r,api:n,context:o}=this.params;return toNumber(i({node:e,data:e.data,column:t,colDef:r,api:n,context:o,groupParams:this.params}))}return toNumber(e.getDataValue(t,"value"))}readValueAndCount(e){const{column:t,getVal:i}=this;let r;if(i){const{colDef:n,api:o,context:a}=this.params;r=i({node:e,data:e.data,column:t,colDef:n,api:o,context:a,groupParams:this.params})}else r=e.getDataValue(t);if(e.group){if(r!=null&&typeof r=="object"){const{value:n,count:o}=r;if(n!=null&&typeof o=="number"&&o>0)return typeof n=="number"?r:{value:toNumber(n),count:o}}return{value:toNumber(r),count:e.allLeafChildren?.length||1}}return{value:toNumber(r),count:1}}writeOne(e,t){const{column:i,setVal:r}=this;if(r){const{colDef:n,api:o,context:a}=this.params;return r({node:e,data:e.data,column:i,colDef:n,api:o,context:a,groupParams:this.params,value:t})}return e.setDataValue(i,t,"data")}writeAll(e){const{children:t,count:i}=this;let r=!1;for(let n=0;n<i;++n)this.writeOne(t[n],e)&&(r=!0);return r}distributeUniform(){const{children:e,count:t,target:i,precision:r}=this;if(r===void 0)return this.writeAll(i/t);const n=10**r,o=Math.round(i*n),a=Math.trunc(o/t),l=o-a*t,c=Math.abs(l),u=l>=0?1:-1;let d=!1;for(let h=0;h<t;++h)this.writeOne(e[h],(h<c?a+u:a)/n)&&(d=!0);return d}distributeIncrement(){const{children:e,count:t,target:i,oldTarget:r,precision:n}=this;if(n===void 0){const p=(i-r)/t;let g=!1;for(let f=0;f<t;++f){const m=e[f];this.writeOne(m,this.readOne(m)+p)&&(g=!0)}return g}const o=10**n,a=Math.round(i*o)-Math.round(r*o),l=Math.trunc(a/t),c=a-l*t,u=Math.abs(c),d=c>=0?1:-1;let h=!1;for(let p=0;p<t;++p){const g=e[p],f=Math.round(this.readOne(g)*o);this.writeOne(g,(f+l+(p<u?d:0))/o)&&(h=!0)}return h}distributePercentage(){const{children:e,count:t,target:i,precision:r}=this,n=new Array(t);let o=0;for(let g=0;g<t;++g){const f=this.readOne(e[g]);n[g]=f,o+=f}if(o===0)return this.distributeUniform();if(r===void 0){const g=i/o;let f=!1;for(let m=0;m<t;++m)this.writeOne(e[m],n[m]*g)&&(f=!0);return f}const a=10**r,l=Math.round(i*a);let c=0;for(let g=0;g<t;++g){const f=Math.round(n[g]/o*l);n[g]=f,c+=f}const u=l-c,d=Math.abs(u),h=u>=0?1:-1;let p=!1;for(let g=0;g<t;++g)this.writeOne(e[g],(n[g]+(g<d?h:0))/a)&&(p=!0);return p}distributePercentageAvg(){const{children:e,count:t,target:i,precision:r}=this,n=new Array(t),o=new Array(t);let a=0,l=0;for(let v=0;v<t;++v){const C=this.readValueAndCount(e[v]),y=C.count;o[v]=y,l+=y;const S=C.value*y;n[v]=S,a+=S}if(a===0)return this.distributeUniform();const c=i/t*l;if(r===void 0){const v=c/a;let C=!1;for(let y=0;y<t;++y)this.writeOne(e[y],n[y]*v/o[y])&&(C=!0);return C}const u=10**r,d=Math.round(c*u);let h=0;for(let v=0;v<t;++v){const C=Math.round(n[v]/a*d);n[v]=C,h+=C}const p=d-h,g=Math.abs(p),f=p>=0?1:-1;let m=!1;for(let v=0;v<t;++v)this.writeOne(e[v],(n[v]+(v<g?f:0))/(u*o[v]))&&(m=!0);return m}},distributeGroupValue=(e,t)=>{const{aggregatedChildren:i,colDef:r}=e;if(i.length===0)return!1;const n=r.aggFunc??null,o=resolveDistributionEntry(t,n);return o===!1?!1:typeof o=="function"?o(e)??!0:r.cellDataType==="bigint"?new DistributorBigInt(e,o,n).run():new DistributorNumber(e,o,n).run()};function resolveDistributionEntry(e,t){if(!e)return;const i=e.distribution;if(i===!1||i===null)return!1;const r=isNonDistributable(t),n=e.default;if(typeof i=="object"){const o=typeof t=="string"?i[t]:void 0;return o!==void 0?resolveEntry(o,r,e):r?!1:resolveEntry(n,!1,e)??inheritOptions(e)}if(r)return i==="overwrite"?inheritOptions(e,"overwrite"):!1;if(i===void 0&&!isDistributableBuiltin(t)){const o=resolveEntry(n,!1,e);if(o!==void 0)return o}return e}function resolveEntry(e,t,i){if(e===!1||e===null)return!1;if(e!==void 0){if(typeof e=="function")return e;if(typeof e=="object"){const r=e.distribution;if(t&&r!=="overwrite"&&r!==!0)return!1;const{precision:n,getValue:o,setValue:a}=i;return{distribution:t?"overwrite":r,precision:e.precision??n,getValue:e.getValue??o,setValue:e.setValue??a}}return t&&e!=="overwrite"&&e!==!0?!1:inheritOptions(i,t?"overwrite":e)}}function inheritOptions(e,t){return{distribution:t,precision:e.precision,getValue:e.getValue,setValue:e.setValue}}var RowGroupingEditValueSvc=class extends import_ag_grid_community269.BeanStub{constructor(){super(...arguments),this.beanName="rowGroupingEditValueSvc"}isGroupCellEditable(e,t){const i=t.colDef;if(!t.isColumnFunc(e,i.groupRowEditable))return!1;const r=i.groupRowValueSetter;if(typeof r=="function")return!0;const n=i.aggFunc??null;if(typeof r=="object"){const o=resolveDistributionEntry(r,n);return typeof o=="function"||o!==!1&&resolveStrategy(n,o?.distribution)!==!1}return resolveStrategy(n,r??void 0)!==!1}setGroupDataValue(e,t,i,r,n,o){const a=t.colDef;let l=a.groupRowValueSetter;if(l==null){const d=a.groupRowEditable;l=d&&t.isColumnFunc(e,d)?!0:void 0}if(!l)return;const c=this.gos.addCommon({node:e,data:e.data,oldValue:r,newValue:i,colDef:a,column:t,eventSource:n,valueChanged:o,aggregatedChildren:this.beans.aggChildrenSvc?.getAggregatedChildren(e,t)??[]});return(typeof l=="function"?l(c):distributeGroupValue(c,l===!0?void 0:l))??!0}},RowGroupingEditModule={moduleName:"RowGroupingEdit",version:VERSION,beans:[RowGroupingEditValueSvc],dependsOn:[EnterpriseCoreModule,SharedRowGroupingModule]},import_ag_grid_community334=require("ag-grid-community"),import_ag_grid_community270=require("ag-grid-community"),AgChartsExports=class extends import_ag_grid_community270.BeanStub{constructor(e){super(),this.beanName="agChartsExports",this.isEnterprise=!1,this.create=e.create,this._Theme=e._Theme,this._Scene=e._Scene,this.isEnterprise=e.isEnterprise,this._Util=e._Util}},import_ag_grid_community277=require("ag-grid-community"),import_ag_stack162=require("ag-stack");function deproxy(e){return e.chart!=null?e.chart:e}var SKIP_JS_BUILTINS=new Set(["__proto__","constructor","prototype"]);function get(e,t,i){if(e==null)return i;const r=t.split(".");let n=e;for(;r.length>1;)if(n=n[r.shift()],n==null)return i;const o=n[r[0]];return o??i}function set(e,t,i){if(e==null)return;const r=t.split(".");let n=e;r.filter(o=>!SKIP_JS_BUILTINS.has(o)).forEach((o,a)=>{n[o]||(n[o]={}),a<r.length-1&&(n=n[o])}),n[r[r.length-1]]=i}var CHART_TYPE_TO_SERIES_TYPE={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"},COMBO_CHART_TYPES=new Set(["columnLineCombo","areaColumnCombo","customCombo"]),SERIES_GROUP_TYPES=["grouped","stacked","normalized"],SERIES_TYPES={area:{isCartesian:!0,canInvert:!0},bar:{isCartesian:!0,canInvert:!0},histogram:{isCartesian:!0},line:{isCartesian:!0,canInvert:!0},pie:{isPie:!0},donut:{isPie:!0,canInvert:!0},scatter:{isCartesian:!0},bubble:{isCartesian:!0},"radial-column":{isPolar:!0,isEnterprise:!0,isRadial:!0,canInvert:!0},"radial-bar":{isPolar:!0,isEnterprise:!0,isRadial:!0,canInvert:!0},"radar-line":{isPolar:!0,isEnterprise:!0,canInvert:!0},"radar-area":{isPolar:!0,isEnterprise:!0,canInvert:!0},nightingale:{isPolar:!0,isEnterprise:!0,canInvert:!0},"range-bar":{isCartesian:!0,isStatistical:!0,isEnterprise:!0,canSwitchDirection:!0},"range-area":{isCartesian:!0,isStatistical:!0,isEnterprise:!0},"box-plot":{isCartesian:!0,isStatistical:!0,isEnterprise:!0,canSwitchDirection:!0},treemap:{isEnterprise:!0,isHierarchical:!0},sunburst:{isEnterprise:!0,isHierarchical:!0},heatmap:{isCartesian:!0,isEnterprise:!0},waterfall:{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0},funnel:{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0},"cone-funnel":{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0},pyramid:{isCartesian:!0,isEnterprise:!0,canSwitchDirection:!0}};function isSeriesType(e){return!!SERIES_TYPES[e]}function isComboChart(e){return COMBO_CHART_TYPES.has(e)}function doesSeriesHaveProperty(e,t){return!!SERIES_TYPES[e]?.[t]}function isEnterpriseChartType(e){return doesSeriesHaveProperty(getSeriesType(e),"isEnterprise")}var stackedChartTypes=new Set(["stackedColumn","normalizedColumn","stackedBar","normalizedBar"]);function isStacked(e){return stackedChartTypes.has(e)}function isCartesian(e){return doesSeriesHaveProperty(e,"isCartesian")}function isFunnel(e){return e==="funnel"||e==="cone-funnel"||e==="pyramid"}function isPolar(e){return doesSeriesHaveProperty(e,"isPolar")}function isRadial(e){return doesSeriesHaveProperty(e,"isRadial")}function isHierarchical(e){return doesSeriesHaveProperty(e,"isHierarchical")}function isStatistical(e){return doesSeriesHaveProperty(e,"isStatistical")}function getCanonicalChartType(e){return e==="doughnut"?"donut":e}function getSeriesTypeIfExists(e){return CHART_TYPE_TO_SERIES_TYPE[e]}function getSeriesType(e){return getSeriesTypeIfExists(e)??"line"}function isPieChartSeries(e){return doesSeriesHaveProperty(e,"isPie")}function canOnlyHaveSingleSeries(e){return e==="pie"||e==="waterfall"||e==="histogram"||e==="funnel"||e==="coneFunnel"||e==="pyramid"}function getMaxNumCategories(e){return isHierarchical(getSeriesType(e))?void 0:1}function getMaxNumSeries(e){return isHierarchical(getSeriesType(e))?2:canOnlyHaveSingleSeries(e)?1:void 0}function supportsInvertedCategorySeries(e){return!isComboChart(e)&&doesSeriesHaveProperty(getSeriesType(e),"canInvert")}function canSwitchDirection(e){return doesSeriesHaveProperty(getSeriesType(e),"canSwitchDirection")}function getFullChartNameTranslationKey(e){switch(e){case"groupedColumn":case"stackedColumn":case"normalizedColumn":case"groupedBar":case"stackedBar":case"normalizedBar":case"stackedLine":case"normalizedLine":case"stackedArea":case"normalizedArea":return`${e}Full`;case"doughnut":return"donut";case"areaColumnCombo":return"AreaColumnCombo";default:return e}}var import_ag_grid_community271=require("ag-grid-community"),ALL_AXIS_TYPES=["number","category","grouped-category","log","time"];function getLegacyAxisType(e){switch(e){case"bar":case"stackedBar":case"normalizedBar":return["number","category"];case"groupedBar":return["number","grouped-category"];case"column":case"stackedColumn":case"normalizedColumn":case"line":case"stackedLine":case"normalizedLine":case"area":case"stackedArea":case"normalizedArea":case"histogram":return["category","number"];case"groupedColumn":return["grouped-category","number"];case"scatter":case"bubble":return["number","number"];default:return}}function createAgChartTheme(e,t,i,r,n){const{chartOptionsToRestore:o,chartPaletteToRestore:a,chartThemeToRestore:l,agChartsExports:c}=e,u=getSelectedTheme(e),d=isStockTheme(u,c._Theme),h=d?{baseTheme:u}:lookupCustomChartTheme(e,u)??{},p=e.getGridOptionsChartThemeOverrides(),g=e.apiChartThemeOverrides,f=getSeriesType(e.chartType),m=e.crossFiltering?createCrossFilterThemeOverrides(t,e,f):void 0,y=[d?inbuiltStockThemeOverrides(e,i,(()=>{const S=x=>x?Object.keys(x).some(b=>get(x[b],"title.enabled",!1)):!1;return S(p)||S(g)})()):void 0,pieAndDonutOverrides(),r,m,p,g,{...o??{}},n].filter(S=>!!S).reduce((S,x)=>({baseTheme:S,overrides:x}),h);if(a&&u===l){const S=e.agChartsExports._Theme.getChartTheme(h).palette;isIdenticalPalette(a,S)||(y.palette=a)}return y}function isIdenticalPalette(e,t){const i=(r,n)=>r===n?!0:r?.length!==n?.length?!1:r?.every((o,a)=>o===n?.[a])??!1;return i(e.fills,t.fills)&&i(e.strokes,t.strokes)}function isStockTheme(e,t){return Object.keys(t.themes).includes(e)}function createCrossFilterThemeOverrides(e,t,i){const n={tooltip:{delay:500},legend:{listeners:{legendItemClick:a=>{const l=e.getChart(),c=[a.seriesId,`${a.seriesId}-filtered-out`];for(const u of l.series.filter(d=>c.includes(d.id)))u.toggleSeriesItem(void 0,"category",a.itemId,void 0)}}},listeners:{click:a=>t.crossFilterCallback(a,!0)}};if(i==="pie"||i==="donut")return{[i]:{series:{fills:{$applyCycle:[{$cacheMax:{$size:{$path:["./data",{$path:"/data"}]}}},{$palette:"fills"},{$if:[{$eq:[{$value:"$parentIndex"},0]},{$mix:[{$value:"$1"},{$ref:"backgroundColor"},.7]},{$value:"$1"}]}]},strokes:{$applyCycle:[{$cacheMax:{$size:{$path:["./data",{$path:"/data"}]}}},{$palette:"strokes"},{$if:[{$eq:[{$value:"$parentIndex"},0]},{$mix:[{$value:"$1"},{$ref:"backgroundColor"},.7]},{$value:"$1"}]}]}},...n}};const o={};return i!=="line"&&(o.fill={$if:[{$isEven:[{$value:"$index"}]},{$palette:"fill"},{$mix:[{$path:["../$prevIndex/fill",{$palette:"fill"}]},{$ref:"backgroundColor"},.7]}]}),{[i]:{series:{stroke:{$if:[{$isEven:[{$value:"$index"}]},{$palette:"stroke"},{$mix:[{$path:["../$prevIndex/fill",{$palette:"stroke"}]},{$ref:"backgroundColor"},.7]}]},...o},...n}}}var STATIC_INBUILT_STOCK_THEME_AXES_OVERRIDES=ALL_AXIS_TYPES.reduce((e,t)=>({...e,[t]:{title:{_enabledFromTheme:!0}}}),{});function inbuiltStockThemeOverrides(e,t,i){const r=e.getExtraPaddingDirections();return{common:{...t?{animation:{duration:500}}:void 0,axes:STATIC_INBUILT_STOCK_THEME_AXES_OVERRIDES,padding:{top:!i&&r.includes("top")?40:20,right:r.includes("right")?30:20,bottom:r.includes("bottom")?40:20,left:r.includes("left")?30:20}}}}function pieAndDonutOverrides(){return{pie:{series:{title:{_enabledFromTheme:!0},calloutLabel:{_enabledFromTheme:!0},sectorLabel:{enabled:!1,_enabledFromTheme:!0}}},donut:{series:{title:{_enabledFromTheme:!0},calloutLabel:{_enabledFromTheme:!0},sectorLabel:{enabled:!1,_enabledFromTheme:!0}}}}}function getSelectedTheme(e){let t=e.getChartThemeName();const i=e.getChartThemes();return i.includes(t)||(t=i[0]),t}function lookupCustomChartTheme(e,t){const{customChartThemes:i}=e,r=i?.[t];return r||(0,import_ag_grid_community271._warnForGrid)(e.gridId,140,{name:t}),r}function getSeriesHighlight(e,t){const i={highlightedItem:{strokeWidth:2}};return t||(i.unhighlightedSeries={opacity:1}),e||(i.unhighlightedItem={opacity:1}),i}var ChartProxy=class{constructor(e){this.chartProxyParams=e,this.clearThemeOverrides=!1,this.agChartsExports=e.agChartsExports,this.chart=e.chartInstance,this.chartType=e.chartType,this.crossFiltering=e.crossFiltering,this.crossFilterCallback=e.crossFilterCallback,this.standaloneChartType=getSeriesType(this.chartType),this.chart==null?this.chart=e.agChartsExports.create(this.getCommonChartOptions()):this.clearThemeOverrides=!0}crossFilteringReset(){}update(e){this.getChartRef().update(this.getUpdateOptions(e,this.getCommonChartOptions(e.updatedOverrides)))}updateThemeOverrides(e){this.getChartRef().updateDelta({theme:{overrides:e}})}getChart(){return deproxy(this.chart)}getChartRef(){return this.chart}downloadChart(e,t,i){const{chart:r}=this,n=deproxy(r),o=t||n.title.node.getPlainText(),{width:a,height:l}=e||{};r.download({width:a,height:l,fileName:o,fileFormat:i})}getChartImageDataURL(e){return this.getChart().getCanvasDataURL(e)}getChartOptions(){return this.chart.getOptions()}getChartThemeOverrides(){return this.getChartOptions().theme.overrides??{}}getChartPalette(){return this.agChartsExports._Theme.getChartTheme(this.getChartOptions().theme).palette}setPaired(e){const t=getSeriesType(this.chartProxyParams.chartType);this.chart.updateDelta({theme:{overrides:{[t]:{paired:e}}}})}isPaired(){const e=getSeriesType(this.chartProxyParams.chartType);return get(this.getChartThemeOverrides(),`${e}.paired`,!0)}lookupCustomChartTheme(e){return lookupCustomChartTheme(this.chartProxyParams,e)}getSeriesGroupType(){}transformCategoryData(e,t){return e.map((i,r)=>{const n=i[t],o=n?.toString?n.toString():"",a={...i};return a[t]={id:r,value:n,toString:()=>o},a})}getCommonChartOptions(e){const t=this.clearThemeOverrides?{}:this.chart?.getOptions()??{},i=this.chart!=null?this.getActiveFormattingPanelOverrides():void 0;this.clearThemeOverrides=!1;const r=this.chartProxyParams,n=r.styleNonce,o=createAgChartTheme(r,this,this.agChartsExports.isEnterprise,this.getChartThemeDefaults(),e??i);return{...t,mode:"integrated",...n?{styleNonce:n}:{},suppressFieldDotNotation:!0,theme:o,container:r.parentElement,enableRtl:r.enableRtl}}getChartThemeDefaults(){const e={enabled:!0,snap:!0,label:{enabled:!1}},t=this.agChartsExports.isEnterprise?{zoom:{enabled:!0},animation:{enabled:!0,duration:500},axes:{number:{crosshair:e},category:{crosshair:e},log:{crosshair:e},time:{crosshair:e}}}:{};t.minHeight=0,t.minWidth=0,t.navigator={enabled:!1,height:18},t.context=this.chartProxyParams.context;const i={common:t};return this.setSeriesChartThemeDefaults(i),i}setSeriesChartThemeDefaults(e){const t=this.getSeriesChartThemeDefaults();t&&(e[this.standaloneChartType]=t)}getSeriesChartThemeDefaults(){}getActiveFormattingPanelOverrides(){return this.clearThemeOverrides?{}:this.chart?.getOptions().theme?.overrides??{}}destroy({keepChartInstance:e=!1}={}){if(e)return this.chart.resetAnimations(),this.chart;this.destroyChart()}destroyChart(){this.chart&&(this.chart.destroy(),this.chart=void 0)}},CartesianChartProxy=class extends ChartProxy{constructor(){super(...arguments),this.crossFilteringAllPoints=new Set,this.crossFilteringSelectedPoints=[],this.isSingleSeries=!1}getUpdateOptions(e,t){const i=this.getAxes(e,t);return{...t,data:this.getData(e,i),axes:i,series:this.getSeries(e)}}getData(e,t){const i=["area","line"].includes(this.standaloneChartType);return this.crossFiltering&&i?this.getCrossFilterData(e):this.getDataTransformedData(e,t)}getDataTransformedData(e,t){const i=t.x.type,{categories:r,data:n}=e,[o]=r;switch(i){case"category":return this.transformCategoryData(n,o.id);case"time":return this.transformTimeData(n,o.id,o.convertTime);default:return n}}getXAxisType(e){return e.grouping?"grouped-category":this.isXAxisOfType(e,"time",t=>t instanceof Date)?"time":this.isXAxisOfType(e,"number")?"number":"category"}isXAxisOfType(e,t,i){const[r]=e.categories;if(r?.chartDataType)return r.chartDataType===t;if(!i)return!1;const n=e.data[0];return n?i(n[r.id]):!1}transformTimeData(e,t,i){return e[0]?.[t]instanceof Date?e:e.map(n=>{const o=n[t];return typeof o=="string"?{...n,[t]:i?i(o):(0,import_ag_stack162._parseDateTimeFromString)(o)}:n})}crossFilteringReset(){this.crossFilteringSelectedPoints=[],this.crossFilteringAllPoints.clear()}crossFilteringPointSelected(e){return this.crossFilteringSelectedPoints.length==0||this.crossFilteringSelectedPoints.includes(e)}crossFilteringDeselectedPoints(){return this.crossFilteringSelectedPoints.length>0&&this.crossFilteringAllPoints.size!==this.crossFilteringSelectedPoints.length}extractLineAreaCrossFilterSeries(e,t){const[i]=t.categories,r=n=>this.standaloneChartType==="area"?t.getCrossFilteringContext().lastSelectedChartId===t.chartId?n+"-total":n:n+"-total";return e.map(n=>(n.yKey=r(n.yKey),n.listeners={seriesNodeClick:o=>{const a=o.datum[n.xKey],l=o.event.metaKey||o.event.ctrlKey;this.crossFilteringAddSelectedPoint(l,a),this.crossFilterCallback(o)}},n.marker={itemStyler:o=>{const a=o.datum[i.id],l=o.highlightState==="highlighted-item";return{fill:l?"yellow":o.fill,size:l?14:this.crossFilteringPointSelected(a)?8:0}}},this.standaloneChartType==="area"&&(n.fillOpacity=this.crossFilteringDeselectedPoints()?.3:1),this.standaloneChartType==="line"&&(n.strokeOpacity=this.crossFilteringDeselectedPoints()?.3:1),n))}getCrossFilterData(e){this.crossFilteringAllPoints.clear();const[t]=e.categories,i=e.fields[0].colId,r=`${i}-filtered-out`,n=e.getCrossFilteringContext().lastSelectedChartId;return e.data.map(o=>{const a=o[t.id];this.crossFilteringAllPoints.add(a);const l=this.crossFilteringPointSelected(a);return this.standaloneChartType==="area"&&n===e.chartId&&(o[`${i}-total`]=l?o[i]:o[i]+o[r]),this.standaloneChartType==="line"&&(o[`${i}-total`]=l?o[i]:o[i]+o[r]),o})}crossFilteringAddSelectedPoint(e,t){e?this.crossFilteringSelectedPoints.push(t):this.crossFilteringSelectedPoints=[t]}isHorizontal(e){const t=this.standaloneChartType;if(t!=="waterfall"&&t!=="box-plot"&&t!=="range-bar")return!1;const i=e.theme,r=n=>{const o=n?.overrides?.[t]?.series?.direction;return o!=null?o==="horizontal":typeof n?.baseTheme=="object"?r(n.baseTheme):!1};return r(i)}getSeriesChartThemeDefaults(){return{series:{highlight:getSeriesHighlight(this.crossFiltering,this.isSingleSeries)}}}},HistogramChartProxy=class extends CartesianChartProxy{getSeries(e){const t=e.fields[0];return[{type:this.standaloneChartType,xKey:t.colId,xName:t.displayName,yName:this.chartProxyParams.translate("histogramFrequency"),areaPlot:!1}]}getAxes(e){return{x:{type:"number",position:"bottom"},y:{type:"number",position:"left"}}}},WaterfallChartProxy=class extends CartesianChartProxy{constructor(){super(...arguments),this.isSingleSeries=!0}getAxes(e,t){const i=this.isHorizontal(t),r=i?"y":"x",n=i?"x":"y";return{[r]:{type:this.getXAxisType(e),position:i?"left":"bottom"},[n]:{type:"number",position:i?"bottom":"left"}}}getSeries(e){const[t]=e.categories,[i]=e.fields;return[{type:this.standaloneChartType,xKey:t.id,xName:t.name,yKey:i.colId,yName:i.displayName??void 0}]}},FunnelChartProxy=class extends ChartProxy{getUpdateOptions(e,t){return{...t,data:this.transformFunnelCategories(e),series:this.getSeries(e)}}transformFunnelCategories(e){const{data:t}=e,[{id:i}]=e.categories;return t.map((r,n)=>({...r,[i]:{name:r[i],id:n,toString:()=>String(r[i])}}))}getSeriesChartThemeDefaults(){const e={crosshair:{enabled:!1}};return{zoom:{enabled:!1},...this.chartType!=="pyramid"&&{axes:{category:e,number:e}}}}getSeries(e){const[{id:t}]=e.categories,[{colId:i}]=e.fields;return[{type:this.standaloneChartType,stageKey:t,valueKey:i}]}},import_ag_grid_community272=require("ag-grid-community"),CATEGORY_LABEL_KEY="AG-GRID-DEFAULT-LABEL-KEY";function createCategoryHierarchy(e,t){const i=buildNestedHierarchy(e,r,n);return formatCategoryHierarchy(i);function r(a){return t.length}function n(a,l){const c=t[l],u=a[c];return o(u)}function o(a){return a==null?null:String(a)}}function createAutoGroupHierarchy(e,t){const i=buildNestedHierarchy(e,r,n);return formatCategoryHierarchy(i);function r(o){return t(o)?.length??0}function n(o,a){const l=t(o);return l&&l[a]}}function formatCategoryHierarchy(e,t=null,i){const{depth:r,rootValues:n,value:o,children:a}=e;if(n)return n.map(c=>({[CATEGORY_LABEL_KEY]:t,...c}));if(r===0)return[{[CATEGORY_LABEL_KEY]:t,...o}];const l=[];for(const[c,u]of a.entries())l.push(...formatCategoryHierarchy(u,c,!0));return i?[{[CATEGORY_LABEL_KEY]:t,children:l,...o??{}}]:l}function buildNestedHierarchy(e,t,i){const r={depth:0,children:new Map};for(const o of e){const a=t(o);n(o,a,i,0,r)}return r;function n(o,a,l,c,u){if(c===a)return c===0?(u.rootValues||(u.rootValues=[]),u.rootValues.push(o)):u.value=o,u;{const d=l(o,c),h=u.children.get(d),p=n(o,a,l,c+1,h||{depth:0,children:new Map});return u.children.set(d,p),u.depth=Math.max(1+p.depth,u.depth),u}}}var HierarchicalChartProxy=class extends ChartProxy{getUpdateOptions(e,t){const{fields:i}=e,[r,n]=i;return{...t,series:this.getSeries(r,n),data:this.getData(e,r,n)}}getSeriesChartThemeDefaults(){return{gradientLegend:{gradient:{preferredLength:200},position:"right"}}}getSeries(e,t){return[{type:this.standaloneChartType,labelKey:CATEGORY_LABEL_KEY,sizeKey:e?.colId,sizeName:e?.displayName??void 0,colorKey:t?.colId,colorName:t?.displayName??void 0}]}getData(e,t,i){const{categories:r,data:n,groupData:o,grouping:a}=e;if(a){const l=i?n.concat(o?.map(c=>{const u={...c};return delete u[t.colId],u})??[]):n;return createAutoGroupHierarchy(l,c=>c[import_ag_grid_community272.GROUP_AUTO_COLUMN_ID]?.value??null)}else{const l=r.map(({id:c})=>c);return createCategoryHierarchy(n,l)}}},PolarChartProxy=class extends ChartProxy{getAxes(e){const t=this.standaloneChartType==="radial-bar";return{angle:{type:t?"angle-number":"angle-category"},radius:{type:t?"radius-category":"radius-number"}}}getSeries(e){const{fields:t,categories:i,seriesGroupType:r}=e,[n]=i,o=this.standaloneChartType==="radial-bar",a=this.getSeriesGroupTypeOptions(r);return t.map(l=>({type:this.standaloneChartType,angleKey:o?l.colId:n.id,angleName:o?l.displayName??void 0:n.name,radiusKey:o?n.id:l.colId,radiusName:o?n.name:l.displayName??void 0,...a}))}getSeriesGroupType(){const e=this.standaloneChartType;if(!["nightingale","radial-bar","radial-column"].includes(e))return;const t=this.getChart().series?.[0]?.properties.toJson(),i=()=>t.normalizedTo?"normalized":"stacked";return e==="nightingale"?t.grouped?"grouped":i():t.stacked?i():"grouped"}getUpdateOptions(e,t){const i=this.getAxes(e);return{...t,data:this.getData(e,i),axes:i,series:this.getSeries(e)}}getData(e,t){if(t.angle.type==="angle-category"||t.radius.type==="radius-category"){const[r]=e.categories;return this.transformCategoryData(e.data,r.id)}else return e.data}getSeriesGroupTypeOptions(e){return e?{grouped:e==="grouped"||void 0,stacked:e!=="grouped"||void 0,normalizedTo:e==="normalized"?100:void 0}:{}}getSeriesChartThemeDefaults(){return{series:{highlight:getSeriesHighlight(this.crossFiltering)}}}},HEATMAP_CATEGORY_KEY="AG-GRID-DEFAULT-HEATMAP-CATEGORY-KEY",HEATMAP_SERIES_KEY="AG-GRID-DEFAULT-HEATMAP-SERIES-KEY",HEATMAP_VALUE_KEY="AG-GRID-DEFAULT-HEATMAP-VALUE-KEY";function flatMap(e,t){return e.reduce((i,r,n,o)=>i.concat(t(r,n,o)),new Array)}var HeatmapChartProxy=class extends ChartProxy{getUpdateOptions(e,t){const i=HEATMAP_SERIES_KEY,r=HEATMAP_VALUE_KEY,n=HEATMAP_CATEGORY_KEY;return{...t,series:this.getSeries(e,i,r,n),data:this.getData(e,i,r,n)}}getSeries(e,t,i,r){const[n]=e.categories;return[{type:this.standaloneChartType,yKey:r,xKey:t,colorKey:i,yName:n.name,xName:void 0,colorName:void 0}]}getData(e,t,i,r){const[n]=e.categories;return flatMap(e.data,(o,a)=>{const l=o[n.id],c=l==null?"":String(l),u={id:a,value:l,toString:()=>c};return e.fields.map(({colId:d,displayName:h})=>({...o,[t]:h,[i]:o[d],[r]:u}))})}getSeriesChartThemeDefaults(){return{gradientLegend:{gradient:{preferredLength:200},position:"right"},series:{tooltip:{renderer:renderHeatmapTooltip}}}}};function renderHeatmapTooltip(e){const{xKey:t,yKey:i,colorKey:r,yName:n,datum:o}=e;return{title:"",data:[{label:n,value:o[i]},{label:o[t],value:r&&o[r]}].map(({label:l,value:c})=>({label:String(l),value:String(c)}))}}var import_ag_grid_community276=require("ag-grid-community"),import_ag_stack163=require("ag-stack"),import_ag_grid_community273=require("ag-grid-community"),ChartDatasource=class extends import_ag_grid_community273.BeanStub{wireBeans(e){this.sortSvc=e.sortSvc,this.gridRowModel=e.rowModel,this.colModel=e.colModel,this.pivotResultCols=e.pivotResultCols,this.rowNodeSorter=e.rowNodeSorter}getData(e){if(e.crossFiltering){if(e.grouping)return this.warn(141),{chartData:[],colNames:{}};if(!(0,import_ag_grid_community273._isClientSideRowModel)(this.gos))return this.warn(142),{chartData:[],colNames:{}}}(0,import_ag_grid_community273._isServerSideRowModel)(this.gos)&&e.pivoting&&this.updatePivotKeysForSSRM();const i=this.extractRowsFromGridRowModel(e);return i.chartData=this.aggregateRowsByDimension(e,i.chartData),i}extractRowsFromGridRowModel(e){const{crossFiltering:t,startRow:i,endRow:r,valueCols:n,dimensionCols:o,grouping:a,crossFilteringSort:l,combineGroupValues:c}=e;let u=[];const d={},h={},p={};let g={},f=[],m;if(t)g=this.getFilteredRowNodes(),f=this.getAllRowNodes(l),m=f.length;else{const x=this.gridRowModel.getRowCount()-1;i===r&&i===0&&o.length===0&&n.length===0?m=0:m=(r>=0?Math.min(r,x):x)-i+1}if(m>0)for(const x of n){let b=[];const w=x.colDef.pivotKeys;w&&(b=w.slice());const P=x.colDef.headerName;P&&b.push(P),b.length>0&&(d[x.getId()]=b)}let v=0,C=0;const y={};for(let x=0;x<m;x++){const b=t?f[x]:this.gridRowModel.getRow(x+i);if(b.footer||b.detail){v++;continue}const w={node:b};for(const P of o){const F=P.colId,T=this.colModel.getCol(F);if(T){const R=b.getDataValue(T,"data");if(a){const A=R?.toString?String(R.toString()):" ",E=this.getGroupLabels(b,A),_=E.slice().reverse();let G={value:_,id:C++,toString:()=>_.filter(Boolean).join(" - ")};if(c){const k=G.toString(),B=y[k];B?G=B:y[k]=G}w[F]=G,b.group&&(h[E.toString()]=x-v);const D=E.slice(1,E.length).toString();D&&(p[D]=h[D])}else w[F]=R}else w[DEFAULT_CHART_CATEGORY]=x+1}for(const P of n){const F=P.colId;if(t){const T=F+"-filtered-out",R=b.getDataValue(P,"data");let A=R;R!=null&&(typeof R.toNumber=="function"?A=R.toNumber():typeof R.value=="number"&&(A=R.value)),g[b.id]?(w[F]=A,w[T]=e.aggFunc||e.isScatter?void 0:0):(w[F]=e.aggFunc||e.isScatter?void 0:0,w[T]=A)}else{let T=b.getDataValue(P,"data");T&&typeof T.value=="number"&&(T=T.value),T&&(0,import_ag_stack163._hasOwn)(T,"toString")&&(T=parseFloat(T.toString())),w[F]=T!=null&&typeof T.toNumber=="function"?T.toNumber():T}}u.push(w)}let S;if(a){const x=Object.values(p),b=u;u=[],S=[];for(let w=0;w<b.length;w++)(x.includes(w)?S:u).push(b[w])}return{chartData:u,colNames:d,groupChartData:S}}aggregateRowsByDimension(e,t){const i=e.dimensionCols;if(!e.aggFunc||i.length===0)return t;const n=(0,import_ag_stack163._last)(i)?.colId,o={},a=[];for(const l of t){let c=o;for(const u of i){const d=u.colId,h=l[d];if(d===n){let p=c[h];if(!p){p={__children:[]};for(const g of i){const f=g.colId;p[f]=l[f]}c[h]=p,a.push(p)}p.__children.push(l)}else c[h]||(c[h]={}),c=c[h]}}if(this.gos.assertModuleRegistered("SharedAggregation",1)){const l=e.aggFunc,c=typeof l=="function"?l:typeof l=="string"?this.beans.aggFuncSvc.getAggFunc(l):null;if(typeof c!="function")return this.warn(109,{inputValue:String(l),allSuggestions:[]}),a;const u=this.beans.gridApi,d=this.gos.get("context");for(const h of a)for(const p of e.valueCols){const g=p.colId;if(e.crossFiltering){const f=h.__children.filter(S=>typeof S[g]<"u").map(S=>S[g]),m=c({values:f,column:p,colDef:p.colDef,pivotResultColumn:void 0,rowNode:void 0,data:void 0,aggregatedChildren:[],api:u,context:d});h[g]=typeof m?.value<"u"?m.value:m;const v=`${g}-filtered-out`,C=h.__children.filter(S=>typeof S[v]<"u").map(S=>S[v]),y=c({values:C,column:p,colDef:p.colDef,pivotResultColumn:void 0,rowNode:void 0,data:void 0,aggregatedChildren:[],api:u,context:d});h[v]=typeof y?.value<"u"?y.value:y}else{const f=h.__children.map(v=>v[g]),m=c({values:f,column:p,colDef:p.colDef,pivotResultColumn:void 0,rowNode:void 0,data:void 0,aggregatedChildren:[],api:u,context:d});h[g]=typeof m?.value<"u"?m.value:m}}}return a}updatePivotKeysForSSRM(){const e=this.pivotResultCols?.pivotCols;if(!e)return;const t=this.extractPivotKeySeparator(e);for(const i of e)if(t==="")i.colDef.pivotKeys=[];else{const r=i.colId.split(t);i.colDef.pivotKeys=r.slice(0,r.length-1)}}extractPivotKeySeparator(e){if(e.length===0)return"";const t=(r,n)=>{const o=r.getGroupId();return r.getParent()?t(r.getParent(),o):n.split(o)[1][0]},i=e[0];return i.getParent()==null?"":t(i.getParent(),i.colId)}getGroupLabels(e,t){const i=[t];for(;e&&e.level!==0;)if(e=e.parent,e)if(e.group){const r=this.colModel.getCol(import_ag_grid_community273.GROUP_AUTO_COLUMN_ID);if(r){const n=e.getDataValue(r,"data"),o=n?.toString?String(n.toString()):" ";i.push(o)}}else i.push(e.key);return i}getFilteredRowNodes(){const e={};return this.gridRowModel.forEachNodeAfterFilterAndSort(t=>{e[t.id]=t}),e}getAllRowNodes(e){const t=[];this.gridRowModel.forEachNode(n=>{t.push(n)});const i=this.rowNodeSorter;if(!i)return t;const r=e===!0?this.sortSvc?.getSortOptions():e;return!r||r.length==0?t:i.doFullSortInPlace(t,r)}},import_ag_grid_community274=require("ag-grid-community"),ChartColumnService=class extends import_ag_grid_community274.BeanStub{constructor(){super(...arguments),this.valueColsWithoutSeriesType=new Set}wireBeans(e){this.colModel=e.colModel,this.colNames=e.colNames}postConstruct(){const e=()=>this.valueColsWithoutSeriesType.clear();this.addManagedEventListeners({newColumnsLoaded:e,rowDataUpdated:e})}getColumn(e){return this.colModel.colsById[e]??null}getAllDisplayedColumns(){return this.beans.visibleCols.allCols}getColDisplayName(e){return this.colNames.getDisplayNameForColumn(e,"chart")}getColGroupDisplayName(e){return this.colNames.getDisplayNameForColumnGroup(e,"chart")}getRowGroupColumns(){return this.beans.rowGroupColsSvc?.columns??[]}getGroupDisplayColumns(){return this.beans.showRowGroupCols?.columns??[]}isPivotMode(){return this.colModel.pivotMode}isPivotActive(){return this.colModel.isPivotActive()}getChartColumns(){const e=this.colModel.colsList,t=new Set,i=new Set;for(const r of e){const n=r.colDef,o=n.chartDataType;if(o)switch(o){case"category":case"time":t.add(r);continue;case"series":i.add(r);continue;case"excluded":continue;default:this.warn(153,{chartDataType:o});break}if(n.colId==="ag-Grid-AutoColumn"){t.add(r);continue}if(!r.primary){i.add(r);continue}(this.isInferredValueCol(r)?i:t).add(r)}return{dimensionCols:t,valueCols:i}}isInferredValueCol(e){const t=e.colId;if(t==="ag-Grid-AutoColumn")return!1;const i=(0,import_ag_grid_community274._getRowNode)(this.beans,{rowIndex:0,rowPinned:null});if(!i)return this.valueColsWithoutSeriesType.has(t);let r=i.getDataValue(e,"data");r==null&&(r=this.extractLeafData(i,e)),r!=null&&(typeof r.toNumber=="function"?r=r.toNumber():typeof r.value=="number"&&(r=r.value));const n=typeof r=="number"||e.colDef.cellDataType==="number"||["series","time"].includes(e.colDef.chartDataType);return n?this.valueColsWithoutSeriesType.add(t):r==null&&e.colDef.cellDataType!=="number"&&this.warn(265,{colId:t}),n}extractLeafData(e,t){const i=e.data&&e.getDataValue(t,"data");if(i!=null)return i;const r=e.childrenAfterGroup;if(r)for(let n=0,o=r.length;n<o;++n){const a=r[n],l=this.extractLeafData(a,t);if(l!=null)return l}return null}destroy(){this.valueColsWithoutSeriesType.clear(),super.destroy()}},import_ag_grid_community275=require("ag-grid-community"),SUPPORTED_COMBO_CHART_TYPES=new Set(["line","groupedColumn","stackedColumn","area","stackedArea"]),ComboChartModel=class extends import_ag_grid_community275.BeanStub{constructor(e){super(),this.suppressComboChartWarnings=!1,this.chartDataModel=e,this.seriesChartTypes=e.params.seriesChartTypes??[]}postConstruct(){this.initComboCharts()}update(e){this.seriesChartTypes=e??this.seriesChartTypes,this.initComboCharts(),this.updateSeriesChartTypes()}initComboCharts(){const e=this.seriesChartTypes&&this.seriesChartTypes.length>0;(this.chartDataModel.chartType==="customCombo"||e)&&(this.chartDataModel.chartType="customCombo",this.savedCustomSeriesChartTypes=this.seriesChartTypes||[])}updateSeriesChartTypes(){if(this.chartDataModel.isComboChart()){if(this.seriesChartTypes=this.seriesChartTypes.map(e=>{const t=["groupedColumn","stackedColumn","stackedArea"].includes(e.chartType);return e.secondaryAxis=t?!1:e.secondaryAxis,e}),this.chartDataModel.chartType==="customCombo"){this.updateSeriesChartTypesForCustomCombo();return}this.updateChartSeriesTypesForBuiltInCombos()}}updateSeriesChartTypesForCustomCombo(){!(this.seriesChartTypes&&this.seriesChartTypes.length>0)&&!this.suppressComboChartWarnings&&this.warn(150),this.seriesChartTypes=this.seriesChartTypes.map(r=>(SUPPORTED_COMBO_CHART_TYPES.has(r.chartType)||(this.warn(151,{chartType:r.chartType}),r.chartType="line"),r));const t=r=>{(!this.savedCustomSeriesChartTypes||this.savedCustomSeriesChartTypes.length===0)&&(this.savedCustomSeriesChartTypes=this.seriesChartTypes);const n=this.savedCustomSeriesChartTypes.find(o=>o.colId===r.colId);return n||(r.selected&&!this.suppressComboChartWarnings&&this.warn(152,{colId:r.colId}),{colId:r.colId,chartType:"line",secondaryAxis:!1})},i=this.chartDataModel.valueColState.map(t);this.seriesChartTypes=i,this.savedCustomSeriesChartTypes=i,this.suppressComboChartWarnings=!0}updateChartSeriesTypesForBuiltInCombos(){const{chartType:e,valueColState:t}=this.chartDataModel,i=e==="columnLineCombo"?"groupedColumn":"stackedArea",r=e==="columnLineCombo"?"line":"groupedColumn",n=t.filter(a=>a.selected),o=Math.ceil(n.length/2);this.seriesChartTypes=n.map((a,l)=>{const c=l>=o?r:i;return{colId:a.colId,chartType:c,secondaryAxis:!1}})}},DEFAULT_CHART_CATEGORY="AG-GRID-DEFAULT-CATEGORY",ChartDataModel=class extends import_ag_grid_community276.BeanStub{constructor(e){super(),this.unlinked=!1,this.chartData=[],this.valueColState=[],this.dimensionColState=[],this.colNames={},this.crossFiltering=!1,this.crossFilteringSort=!0,this.grouping=!1,this.useGroupColumnAsCategory=!1,this.params=e,this.chartId=e.chartId,this.setParams(e)}wireBeans(e){this.rangeSvc=e.rangeSvc,this.chartTranslation=e.chartTranslation}setParams(e){const{chartType:t,pivotChart:i,chartThemeName:r,switchCategorySeries:n,aggFunc:o,cellRange:a,suppressChartRanges:l,unlinkChart:c,crossFiltering:u,crossFilteringSort:d,seriesGroupType:h,useGroupColumnAsCategory:p}=e;this.chartType=t,this.pivotChart=i??!1,this.chartThemeName=r,this.switchCategorySeries=!!n,this.aggFunc=o,this.referenceCellRange=a,this.suppliedCellRange=a,this.suppressChartRanges=l??!1,this.unlinked=!!c,this.crossFiltering=!!u,this.crossFilteringSort=d??!0,this.seriesGroupType=h,this.useGroupColumnAsCategory=!!p}postConstruct(){this.datasource=this.createManagedBean(new ChartDatasource),this.chartColSvc=this.createManagedBean(new ChartColumnService),this.comboChartModel=this.createManagedBean(new ComboChartModel(this)),this.updateCellRanges({setColsFromRange:!0}),this.updateData()}updateModel(e){const{cellRange:t,seriesChartTypes:i}=e,r=t!==this.suppliedCellRange;r&&(this.dimensionCellRange=void 0,this.valueCellRange=void 0),this.setParams(e),this.updateSelectedDimensions(t?.columns),this.updateCellRanges({setColsFromRange:!0,isExplicitRangeChange:r}),(this.isComboChart()||i)&&this.comboChartModel.update(i),this.unlinked||this.updateData()}updateCellRanges(e){const{updatedColState:t,resetOrder:i,maintainColState:r,setColsFromRange:n,updateOrder:o,isExplicitRangeChange:a}=e??{};this.valueCellRange&&(this.referenceCellRange=this.valueCellRange);const{dimensionCols:l,valueCols:c}=this.chartColSvc.getChartColumns(),u=this.getAllColumnsFromRanges();t&&this.updateColumnState(t,i),this.setDimensionCellRange(l,u,t),this.setValueCellRange(c,u,n),!t&&!r&&(this.resetColumnState(o,a),this.syncDimensionCellRange()),this.comboChartModel.updateSeriesChartTypes()}updateData(){const{startRow:e,endRow:t}=this.getRowIndexes();this.pivotChart&&this.resetColumnState(),this.grouping=this.isGrouping();const i={aggFunc:this.aggFunc,dimensionCols:this.getSelectedDimensions(),grouping:this.grouping,pivoting:this.isPivotActive(),crossFiltering:this.crossFiltering,crossFilteringSort:this.getCrossFilteringSort(),valueCols:this.getSelectedValueCols(),startRow:e,endRow:t,isScatter:["scatter","bubble"].includes(this.chartType),combineGroupValues:isStatistical(getSeriesType(this.chartType))},{chartData:r,colNames:n,groupChartData:o}=this.datasource.getData(i);this.chartData=r,this.groupChartData=o,this.colNames=n,this.categoryAxisType=void 0}isGrouping(){const e=this.gos.get("treeData"),t=e?null:this.chartColSvc.getRowGroupColumns(),i=e||t&&t.length>0,r=this.getSelectedDimensions().map(({colId:a})=>a),o=this.chartColSvc.getGroupDisplayColumns().map(a=>a.colId).some(a=>r.includes(a));return!!i&&o}getSelectedValueCols(){return this.valueColState.filter(e=>e.selected).map(e=>e.column)}getSelectedDimensions(){return this.dimensionColState.filter(e=>e.selected)}getValueColState(){return this.valueColState.map(this.displayNameMapper.bind(this))}displayNameMapper(e){const{column:t}=e;if(t){const i=this.getColDisplayName(t);e.displayName=this.isPivotMode()?this.getPivotDisplayName(t,i):i}else{const i=this.colNames[e.colId];e.displayName=i?i.join(" - "):this.getColDisplayName(t)}return e}getPivotDisplayName(e,t){let i=!1,r=[t];const n=o=>{if(!o)return;const a=this.chartColSvc.getColGroupDisplayName(o);a?.length?(r.unshift(a),n(o.getParent())):i=!0};if(n(e.getParent()),i){const o=this.colNames[e.colId];o&&(r=o)}return r.join(" - ")}getColDisplayName(e){return this.chartColSvc.getColDisplayName(e)}isPivotMode(){return this.chartColSvc.isPivotMode()}getChartDataType(e){const t=this.chartColSvc.getColumn(e);return t?t.colDef.chartDataType:void 0}getConvertTime(e){const t=this.chartColSvc.getColumn(e);if(t?.colDef.cellDataType==="dateString")return this.beans.dataTypeSvc?.getDateParserFunction(t)}isPivotActive(){return this.chartColSvc.isPivotActive()}createCellRange(e,...t){return{id:this.chartId,startRow:this.referenceCellRange.startRow,endRow:this.referenceCellRange.endRow,columns:t,startColumn:e===import_ag_grid_community276.CellRangeType.DIMENSION||this.referenceCellRange.startColumn==null?t[0]:this.referenceCellRange.startColumn,type:e}}getAllColumnsFromRanges(){if(this.pivotChart)return new Set(this.chartColSvc.getAllDisplayedColumns());const e=this.dimensionCellRange||this.valueCellRange?[]:this.referenceCellRange.columns;return this.dimensionCellRange&&e.push(...this.dimensionCellRange.columns),this.valueCellRange&&e.push(...this.valueCellRange.columns),new Set(e)}getRowIndexes(){let e=0,t=0;const{rangeSvc:i,valueCellRange:r,dimensionCellRange:n}=this,o=r||n;if(i&&o){e=i.getRangeStartRow(o).rowIndex;const a=i.getRangeEndRow(o);t=a.rowPinned==="bottom"?-1:a.rowIndex}return{startRow:e,endRow:t}}getSelectedColIds(e){return new Set(e.filter(t=>t.selected).map(t=>t.colId))}isColumnSelectable(e,t,i,r){return i&&!e.isVisible()&&r.has(e.colId)?!0:t.has(e)&&(i||e.isVisible())}resetColumnState(e,t){const{dimensionCols:i,valueCols:r}=this.chartColSvc.getChartColumns(),n=this.getAllColumnsFromRanges(),o=this.valueColState.length<1,a=o||e?void 0:new Map(this.valueColState.map(S=>[S.colId,S.order])),l=!this.pivotChart&&this.gos.get("includeHiddenColumnsInCharts"),c=t?new Set:this.getSelectedColIds(this.dimensionColState),u=t?new Set:this.getSelectedColIds(this.valueColState);this.dimensionColState=[],this.valueColState=[];const d=isHierarchical(getSeriesType(this.chartType));let h=!1,p=1;const g=this.suppliedCellRange.columns[0],f=this.gos.get("treeData"),m=f?null:this.chartColSvc.getRowGroupColumns(),v=f||m&&m.length>0;i.forEach(S=>{const x=(0,import_ag_grid_community276.isColumnGroupAutoCol)(S),b=this.crossFiltering&&this.aggFunc?g.getColId()===S.colId:this.useGroupColumnAsCategory&&v&&x||(!h||d)&&this.isColumnSelectable(S,n,l,c);this.dimensionColState.push({column:S,colId:S.colId,displayName:this.getColDisplayName(S),selected:b,order:p++}),b&&(h=!0)});const C={colId:DEFAULT_CHART_CATEGORY,displayName:this.chartTranslation.translate("defaultCategory"),selected:!h,order:0};this.dimensionColState.unshift(C);const y=this.referenceCellRange.columns.filter(S=>r.has(S));if(r.forEach(S=>{o&&this.referenceCellRange.columns.includes(S)&&(S=y.shift()),this.valueColState.push({column:S,colId:S.colId,displayName:this.getColDisplayName(S),selected:this.isColumnSelectable(S,n,l,u),order:p++})}),a){let S=Math.max(...a.values())+1;this.valueColState.forEach(x=>{x.order=a.has(x.colId)?a.get(x.colId):S++}),this.valueColState.sort((x,b)=>x.order-b.order)}}updateColumnState(e,t){const i=u=>u.colId===e.colId,{dimensionColState:r,valueColState:n}=this,o=r.find(i),a=n.find(i);if(o)if(isHierarchical(getSeriesType(this.chartType)))o.selected=e.selected;else{const d=e.selected?o:r.filter(h=>h!==o).find(({selected:h})=>h);r.forEach(h=>h.selected=h===d)}else a&&(a.selected=e.selected);const l=[...r,...n],c=[];t||(l.forEach((u,d)=>{d===e.order&&c.push(e.colId),u.colId!==e.colId&&c.push(u.colId)}),l.forEach(u=>{const d=c.indexOf(u.colId);u.order=d>=0?c.indexOf(u.colId):l.length-1})),this.reorderColState()}reorderColState(){const e=(t,i)=>t.order-i.order;this.dimensionColState.sort(e),this.valueColState.sort(e)}setDimensionCellRange(e,t,i){this.dimensionCellRange=void 0;const r=isHierarchical(getSeriesType(this.chartType));if(!i&&!this.dimensionColState.length){const l=new Array;e.forEach(c=>{l.length>0&&!r||!t.has(c)||l.push(c)}),l.length>0&&(this.dimensionCellRange=this.createCellRange(import_ag_grid_community276.CellRangeType.DIMENSION,...l));return}let n=i?[i]:[];if(this.crossFiltering&&this.aggFunc){const l=this.suppliedCellRange.columns[0];n=this.dimensionColState.filter(c=>c.colId===l.getColId())}else(r||n.length===0||n.some(({column:l})=>!l||!e.has(l)))&&(n=this.dimensionColState.filter(l=>l.selected));const o=n.length===1?n[0].colId===DEFAULT_CHART_CATEGORY:!1,a=n.map(({column:l})=>l).filter(l=>l!=null);a.length>0&&!o&&(this.dimensionCellRange=this.createCellRange(import_ag_grid_community276.CellRangeType.DIMENSION,...a))}setValueCellRange(e,t,i){this.valueCellRange=void 0;const r=[],n=getMaxNumSeries(this.chartType);let o=0;if(e.forEach(a=>{i?(n==null||o<n)&&t.has(a)&&(r.push(a),o++):this.valueColState.some(l=>l.selected&&l.colId===a.colId)&&r.push(a)}),r.length>0){let a=[];this.valueColState.length>0?a=this.valueColState.map(l=>l.colId):t.forEach(l=>a.push(l.colId)),r.sort((l,c)=>a.indexOf(l.colId)-a.indexOf(c.colId)),this.valueCellRange=this.createCellRange(import_ag_grid_community276.CellRangeType.VALUE,...r)}}resetCellRanges(e,t){if(!e&&!t)return;const{dimensionCols:i,valueCols:r}=this.chartColSvc.getChartColumns(),n=this.getAllColumnsFromRanges();e&&this.setDimensionCellRange(i,n),t&&this.setValueCellRange(r,n)}updateSelectedDimensions(e){const t=new Set(e.map(r=>r.colId));if(isHierarchical(getSeriesType(this.chartType))){const r=this.dimensionColState.filter(o=>t.has(o.colId)),n=new Set(r.map(o=>o.colId));this.dimensionColState=this.dimensionColState.map(o=>({...o,selected:n.has(o.colId)}))}else{const n=(this.dimensionColState.find(o=>t.has(o.colId))||this.dimensionColState[0]).colId;this.dimensionColState=this.dimensionColState.map(o=>({...o,selected:o.colId===n}))}}syncDimensionCellRange(){const e=this.getSelectedDimensions();if(e.length===0)return;const t=e.map(({column:i})=>i).filter(i=>i!=null);t.length>0&&(this.dimensionCellRange=this.createCellRange(import_ag_grid_community276.CellRangeType.DIMENSION,...t))}isComboChart(e){return isComboChart(e??this.chartType)}getCrossFilteringSort(){const e=this.crossFilteringSort;if(typeof e=="boolean")return e;const t=[];return e.forEach(({sort:i,colId:r})=>{const n=this.chartColSvc.getColumn(r);n&&t.push({sort:i,column:n,type:(0,import_ag_grid_community276._normalizeSortType)(n.getSortDef()?.type),colComparator:void 0,leafComparator:void 0,descending:!1,absolute:!1})}),(0,import_ag_grid_community276._resolveSortOptions)(t,this.beans.colModel),t}},StatisticalChartProxy=class extends CartesianChartProxy{getAxes(e,t){return{x:{type:this.getXAxisType(e),position:this.isHorizontal(t)?"left":"bottom"},y:{type:"number",position:this.isHorizontal(t)?"bottom":"left"}}}computeSeriesStatistics(e,t){const{data:i,fields:r}=e,[n]=e.categories,o=n.id||DEFAULT_CHART_CATEGORY,a=this.groupDataByCategory(o,i);return Array.from(a).map(([l,c])=>{const u={[n.id]:l};return r.forEach((d,h)=>{const p=c.map(f=>f[d.colId]).filter(f=>typeof f=="number"&&!isNaN(f)),g=t(p);for(const f of Object.keys(g)){const m=`${f}:${h}`;u[m]=p.length>0?g[f]:null}}),u})}groupDataByCategory(e,t){const i=r=>{if(e===DEFAULT_CHART_CATEGORY)return 1;const n=r[e];return n==null?"":n instanceof Date?n.getTime():n};return t.reduce((r,n)=>{const o=i(n),a=r.get(o);return a?a.push(n):r.set(o,[n]),r},new Map)}},BoxPlotChartProxy=class extends StatisticalChartProxy{getSeries(e){const[t]=e.categories;return e.fields.map((i,r)=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yName:i.displayName??void 0,minName:"Min",q1Name:"Q1",medianName:"Median",q3Name:"Q3",maxName:"Max",minKey:`min:${r}`,q1Key:`q1:${r}`,medianKey:`median:${r}`,q3Key:`q3:${r}`,maxKey:`max:${r}`}))}getData(e){return this.computeSeriesStatistics(e,t=>{const i=t.sort((r,n)=>r-n);return{min:i[0],q1:this.quantile(i,.25),median:this.quantile(i,.5),q3:this.quantile(i,.75),max:i[i.length-1]}})}quantile(e,t){const i=(e.length-1)*t,r=Math.floor(i),n=i-r;return e[r+1]!==void 0?e[r]+n*(e[r+1]-e[r]):e[r]}},RangeChartProxy=class extends StatisticalChartProxy{getSeries(e){const[t]=e.categories;return e.fields.map((i,r)=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yName:i.displayName??void 0,yLowName:"Min",yHighName:"Max",yLowKey:`min:${r}`,yHighKey:`max:${r}`}))}getData(e){return this.computeSeriesStatistics(e,t=>({min:Math.min(...t),max:Math.max(...t)}))}},EnterpriseChartProxyFactory=class extends import_ag_grid_community277.BeanStub{constructor(){super(...arguments),this.beanName="enterpriseChartProxyFactory"}createChartProxy(e){switch(e.chartType){case"histogram":return new HistogramChartProxy(e);case"radarLine":case"radarArea":case"nightingale":case"radialColumn":case"radialBar":return new PolarChartProxy(e);case"rangeBar":case"rangeArea":return new RangeChartProxy(e);case"boxPlot":return new BoxPlotChartProxy(e);case"treemap":case"sunburst":return new HierarchicalChartProxy(e);case"heatmap":return new HeatmapChartProxy(e);case"waterfall":return new WaterfallChartProxy(e);case"funnel":case"coneFunnel":case"pyramid":return new FunnelChartProxy(e)}}},import_ag_stack166=require("ag-stack"),import_ag_grid_community284=require("ag-grid-community"),import_ag_grid_community283=require("ag-grid-community"),import_ag_stack164=require("ag-stack"),import_ag_grid_community278=require("ag-grid-community"),ChartPanelFeature=class extends import_ag_grid_community278.BeanStub{constructor(e,t,i,r){super(),this.chartController=e,this.eGui=t,this.cssClass=i,this.createPanels=r,this.panels=[]}postConstruct(){this.addManagedListeners(this.chartController,{chartUpdated:()=>this.refreshPanels(!0),chartApiUpdate:()=>this.refreshPanels(!1)})}addComponent(e){this.createBean(e),this.panels.push(e),e.addCss(this.cssClass),this.eGui.appendChild(e.getGui())}refreshPanels(e){const t=this.chartController.getChartType(),i=this.chartController.isGrouping(),r=getSeriesType(t);e&&t===this.chartType&&i===this.isGrouping||(this.destroyPanels(),this.createPanels(t,r),this.chartType=t,this.isGrouping=i)}destroyPanels(){for(const e of this.panels)(0,import_ag_stack164._removeFromParent)(e.getGui()),this.destroyBean(e);this.panels=[]}destroy(){this.destroyPanels(),super.destroy()}},import_ag_grid_community279=require("ag-grid-community"),AnimationPanel=class extends import_ag_grid_community279.Component{constructor(e){super(),this.chartMenuParamsFactory=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("animation.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("animation"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultNumberInputParams("animation.duration","durationMillis",{min:0});this.setTemplate(`<div>
            <ag-group-component data-ref="animationGroup">
                <ag-input-number-field data-ref="animationHeightInput"></ag-input>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community279.AgInputNumberFieldSelector],{animationGroup:e,animationHeightInput:t})}},import_ag_grid_community280=require("ag-grid-community"),ColorPicker=class extends AgColorPicker{constructor(e){super({...e,dialogCallbacks:DIALOG_CALLBACKS})}},ColorPickerSelector={selector:"AG-COLOR-PICKER",component:ColorPicker},CrosshairPanel=class extends import_ag_grid_community280.Component{constructor(e){super(),this.chartMenuParamsFactory=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("crosshair.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("crosshair"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultCheckboxParams("crosshair.label.enabled","crosshairLabel"),i=this.chartMenuParamsFactory.getDefaultCheckboxParams("crosshair.snap","crosshairSnap"),r=this.chartMenuParamsFactory.getDefaultColorPickerParams("crosshair.stroke","color");this.setTemplate(`<div>
            <ag-group-component data-ref="crosshairGroup">
                <ag-checkbox data-ref="crosshairLabelCheckbox"></ag-checkbox>
                <ag-checkbox data-ref="crosshairSnapCheckbox"></ag-checkbox>
                <ag-color-picker data-ref="crosshairStrokeColorPicker"></ag-color-picker>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community280.AgCheckboxSelector,ColorPickerSelector],{crosshairGroup:e,crosshairLabelCheckbox:t,crosshairSnapCheckbox:i,crosshairStrokeColorPicker:r})}},import_ag_grid_community281=require("ag-grid-community"),NavigatorPanel=class extends import_ag_grid_community281.Component{constructor(e){super(),this.chartMenuParamsFactory=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("navigator.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("navigator"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultSliderParams("navigator.height","height",60);t.minValue=10;const i=this.chartMenuParamsFactory.getDefaultCheckboxParams("navigator.miniChart.enabled","miniChart");this.setTemplate(`<div>
            <ag-group-component data-ref="navigatorGroup">
                <ag-slider data-ref="navigatorHeightSlider"></ag-slider>
                <ag-checkbox data-ref="navigatorMiniChartCheckbox"></ag-checkbox>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,AgSliderSelector,import_ag_grid_community281.AgCheckboxSelector],{navigatorGroup:e,navigatorHeightSlider:t,navigatorMiniChartCheckbox:i})}},import_ag_stack165=require("ag-stack"),import_ag_grid_community282=require("ag-grid-community"),ZoomPanel=class extends import_ag_grid_community282.Component{constructor(e){super(),this.chartMenuParamsFactory=e,this.zoomScrollingStepInput=import_ag_stack165.RefPlaceholder}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuParamsFactory.addEnableParams("zoom.enabled",{cssIdentifier:"charts-advanced-settings-top-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("zoom"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuParamsFactory.getDefaultCheckboxParams("zoom.enableScrolling","scrollingZoom"),i=this.chartMenuParamsFactory.getDefaultSliderParams("zoom.scrollingStep","scrollingStep",1);i.step=.01,i.minValue=i.step;const r=this.chartMenuParamsFactory.getDefaultCheckboxParams("zoom.enableSelecting","selectingZoom");t.onValueChange=(n=>o=>{n&&(n(o),this.zoomScrollingStepInput.setDisabled(!o))})(t.onValueChange),this.setTemplate(`<div>
            <ag-group-component data-ref="zoomGroup">
                <ag-checkbox data-ref="zoomSelectingCheckbox"></ag-checkbox>
                <ag-checkbox data-ref="zoomScrollingCheckbox"></ag-checkbox>
                <ag-slider data-ref="zoomScrollingStepInput"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community282.AgCheckboxSelector,AgSliderSelector],{zoomGroup:e,zoomScrollingCheckbox:t,zoomScrollingStepInput:i,zoomSelectingCheckbox:r}),this.zoomScrollingStepInput.setDisabled(!t.value)}},INTERACTIVITY_GROUPS=["navigator","zoom","animation","crosshair"],AdvancedSettingsPanel=class extends import_ag_grid_community283.Component{constructor(e){super('<div class="ag-chart-advanced-settings-wrapper"></div>'),this.chartMenuContext=e}postConstruct(){this.chartPanelFeature=this.createManagedBean(new ChartPanelFeature(this.chartMenuContext.chartController,this.getGui(),"ag-chart-advanced-settings-section",(e,t)=>this.createPanels(e,t))),this.chartPanelFeature.refreshPanels()}createPanels(e,t){for(const i of INTERACTIVITY_GROUPS){if(!this.isGroupPanelShownForSeries(i,t))continue;const r=this.createPanel(i);this.chartPanelFeature.addComponent(r)}}isGroupPanelShownForSeries(e,t){return e==="animation"||isCartesian(t)&&!isFunnel(t)}createPanel(e){const{chartMenuParamsFactory:t,chartAxisMenuParamsFactory:i}=this.chartMenuContext;switch(e){case"navigator":return new NavigatorPanel(t);case"zoom":return new ZoomPanel(t);case"animation":return new AnimationPanel(t);case"crosshair":return new CrosshairPanel(i)}}},AdvancedSettingsMenuFactory=class extends import_ag_grid_community284.BeanStub{constructor(){super(...arguments),this.beanName="advSettingsMenuFactory"}showMenu(e,t){this.hideMenu();const i=this.createBean(new AdvancedSettingsMenu(e));this.activeDialog=this.createBean(new Dialog({title:this.beans.chartTranslation.translate("advancedSettings"),component:i,width:300,height:400,resizable:!0,movable:!0,centered:!0,closable:!0,afterGuiAttached:()=>{(0,import_ag_stack166._findFocusableElements)(i.getGui())[0]?.focus()},closedCallback:()=>{this.activeMenu=this.destroyBean(this.activeMenu),this.activeDialog=void 0,t?.focus({preventScroll:!0})}})),this.activeMenu=i}hideMenu(){this.activeDialog&&this.destroyBean(this.activeDialog)}destroy(){this.activeMenu=this.destroyBean(this.activeMenu),this.activeDialog=this.destroyBean(this.activeDialog),super.destroy()}},AdvancedSettingsMenu=class extends import_ag_grid_community284.TabGuardComp{constructor(e){super('<div class="ag-chart-advanced-settings"></div>'),this.chartMenuContext=e}postConstruct(){this.advancedSettingsPanel=this.createManagedBean(new AdvancedSettingsPanel(this.chartMenuContext)),this.getGui().appendChild(this.advancedSettingsPanel.getGui()),this.initialiseTabGuard({onTabKeyDown:this.onTabKeyDown.bind(this),focusTrapActive:!0})}onTabKeyDown(e){if(e.defaultPrevented)return;e.preventDefault();const t=e.shiftKey,i=this.advancedSettingsPanel.getGui(),r=(0,import_ag_stack166._findNextFocusableElement)({beans:this.beans,rootNode:i,backwards:t});if(r)r.focus();else{const n=(0,import_ag_stack166._findFocusableElements)(i);n.length&&n[t?n.length-1:0].focus()}}},import_ag_stack167=require("ag-stack"),import_ag_grid_community285=require("ag-grid-community"),ChartMenuListFactory=class extends import_ag_grid_community285.BeanStub{constructor(){super(...arguments),this.beanName="chartMenuListFactory"}wireBeans(e){this.popupSvc=e.popupSvc,this.chartMenuSvc=e.chartMenuSvc,this.chartTranslation=e.chartTranslation}showMenuList(e){const{eventSource:t,showMenu:i,chartMenuContext:r}=e,n=this.chartMenuSvc.doChartToolPanelsExist(r.chartController),o=this.mapWithStockItems(this.getMenuItems(r.chartController,n),r,i,t,n);if(!o.length)return;const a=this.createBean(new ChartMenuList(o));this.activeChartMenuList=a;let l=-1,c="left";this.gos.get("enableRtl")&&(l=1,c="right");const u=a.getGui();this.popupSvc.addPopup({modal:!0,eChild:u,closeOnEsc:!0,alwaysOnTop:!0,closedCallback:()=>{this.destroyBean(a),this.activeChartMenuList=void 0,(0,import_ag_stack167._isNothingFocused)(this.beans)&&t.focus({preventScroll:!0})},afterGuiAttached:d=>a.afterGuiAttached(d),positionCallback:()=>{this.popupSvc.positionPopupByComponent({type:"chartMenu",eventSource:t,ePopup:u,alignSide:c,nudgeX:4*l,nudgeY:4,position:"under",keepWithinBounds:!0})},ariaLabel:"Chart Menu"})}getMenuItems(e,t){const i=[...t?["chartEdit"]:[],...e.isEnterprise()?["chartAdvancedSettings"]:[],e.isChartLinked()?"chartUnlink":"chartLink","chartDownload"],r=this.gos.get("chartMenuItems");return r?Array.isArray(r)?r:r((0,import_ag_grid_community285._addGridCommonParams)(this.gos,{defaultItems:i,chartId:e.getChartId()})):i}mapWithStockItems(e,t,i,r,n){if(!e)return[];const o=[];for(const a of e){let l;if(typeof a=="string"?l=this.getStockMenuItem(a,t,i,r,n):l={...a},!l)continue;const{subMenu:c}=l;Array.isArray(c)&&(l.subMenu=this.mapWithStockItems(c,t,i,r,n)),o.push(l)}return o}getStockMenuItem(e,t,i,r,n){switch(e){case"chartEdit":return n?this.createMenuItem(this.chartTranslation.translate("chartEdit"),"chartsMenuEdit",i):null;case"chartAdvancedSettings":return this.createMenuItem(this.chartTranslation.translate("chartAdvancedSettings"),"chartsMenuAdvancedSettings",()=>this.chartMenuSvc.openAdvancedSettings(t,r));case"chartUnlink":return t.chartController.isChartLinked()?this.createMenuItem(this.chartTranslation.translate("chartUnlink"),"unlinked",()=>this.chartMenuSvc.toggleLinked(t)):null;case"chartLink":return t.chartController.isChartLinked()?null:this.createMenuItem(this.chartTranslation.translate("chartLink"),"linked",()=>this.chartMenuSvc.toggleLinked(t));case"chartDownload":return this.createMenuItem(this.chartTranslation.translate("chartDownload"),"chartsDownload",()=>this.chartMenuSvc.downloadChart(t))}return null}createMenuItem(e,t,i){return{name:e,icon:(0,import_ag_grid_community285._createIconNoSpan)(t,this.beans,null),action:i}}destroy(){this.destroyBean(this.activeChartMenuList),super.destroy()}},ChartMenuList=class extends import_ag_grid_community285.Component{constructor(e){super(`
            <div data-ref="eChartsMenu" role="presentation" class="ag-menu ag-chart-menu-popup"></div>
        `),this.menuItems=e,this.eChartsMenu=import_ag_stack167.RefPlaceholder}postConstruct(){this.mainMenuList=this.createManagedBean(new MenuList(0)),this.mainMenuList.addMenuItems(this.menuItems),this.mainMenuList.addEventListener("closeMenu",this.onHidePopup.bind(this)),this.eChartsMenu.appendChild(this.mainMenuList.getGui())}onHidePopup(){this.hidePopupFunc?.()}afterGuiAttached({hidePopup:e}){e&&(this.hidePopupFunc=e,this.addDestroyFunc(e)),(0,import_ag_stack167._focusInto)(this.mainMenuList.getGui())}},import_ag_grid_community286=require("ag-grid-community"),ChartCrossFilterService=class extends import_ag_grid_community286.BeanStub{constructor(){super(...arguments),this.beanName="chartCrossFilterSvc"}filter(e,t=!1){const i=this.beans.filterManager,r=i?.getFilterModel()??{};if(t){Object.keys(r).length>0&&i?.setFilterModel(null);return}let n=extractFilterColId(e);n.indexOf("-filtered-out")&&(n=n.replace("-filtered-out","")),this.updateFilters(r,e,n)}updateFilters(e,t,i){const r=extractFilterColId(t),n=this.convertRawValue(i,t.datum[r]);if(n===void 0)return;const o=this.beans.filterManager;o?.getColumnFilterInstance(i).then(a=>{const l=a?.filterType;let c,u=f=>f;if(l==="multi"){const f=extractFromMultiFilter(a);c=f.setFilter,u=f.processModel??u}else l==="set"&&(c=a);if(!c){this.warn(154,{colId:i});return}const d=t.event.metaKey||t.event.ctrlKey,h=c.getFilterHandler().getCrossFilterModel((f,m,v)=>getSetFilterModel(d,f(n),m,v)),p=u(h),g=d?{...e}:{};g[i]=p,o?.setFilterModel(g)})}convertRawValue(e,t){const{colModel:i,dataTypeSvc:r}=this.beans,n=i.colsById[e],o=n?.colDef;return o&&r&&o.chartDataType==="time"&&o.cellDataType==="dateString"?r.getDateFormatterFunction(n)(t):t}};function processMultiFilterModel(e,t,i){const r=new Array(i);for(let n=0;n<i;n++)r[n]=n===t?e:null;return{filterType:"multi",filterModels:r}}function extractFromMultiFilter(e){const t=e.getNumChildFilters();for(let i=0;i<t;i++){const r=e.getChildFilterInstance(i);if(r?.filterType==="set")return{setFilter:r,processModel:n=>processMultiFilterModel(n,i,t)}}return{}}function extractFilterColId(e){return e.xKey||e.calloutLabelKey}function getSetFilterModel(e,t,i,r){let n;if(e)if(i.has(t)&&(r==null||r.includes(t)))if(n=[],r==null)for(const o of i)o!==t&&n.push(o);else for(const o of r)o!==t&&i.has(o)&&n.push(o);else{if(r==null)n=Array.from(i);else{n=[];for(const o of r)i.has(o)&&n.push(o)}n.push(t)}else n=[t];return{filterType:"set",values:n}}var import_ag_grid_community287=require("ag-grid-community"),CHART_TOOLBAR_ALLOW_LIST=["chartUnlink","chartLink","chartDownload","chartMenu"],CHART_TOOL_PANEL_MENU_OPTIONS={settings:"chartSettings",data:"chartData",format:"chartFormat"},ChartMenuService=class extends import_ag_grid_community287.BeanStub{constructor(){super(...arguments),this.beanName="chartMenuSvc"}wireBeans(e){this.advSettingsMenuFactory=e.advSettingsMenuFactory}downloadChart(e,t,i,r){e.chartController.getChartProxy().downloadChart(t,i,r)}toggleLinked(e){e.chartController.detachChartRange()}openAdvancedSettings(e,t){this.advSettingsMenuFactory?.showMenu(e,t)}hideAdvancedSettings(){this.advSettingsMenuFactory?.hideMenu()}getChartToolbarOptions(){const e=["chartMenu"],t=this.gos.getCallback("getChartToolbarItems");return t?t({defaultItems:e}).filter(r=>CHART_TOOLBAR_ALLOW_LIST.includes(r)?!0:(this.warn(155,{option:r}),!1)):e}getChartToolPanels(e){const t=this.gos.get("chartToolPanelsDef");let r=t?.panels?.map(a=>{const l=CHART_TOOL_PANEL_MENU_OPTIONS[a];return l||this.warn(156,{panel:a}),l}).filter(a=>!!a)??Object.values(CHART_TOOL_PANEL_MENU_OPTIONS);e.isPivotChart()&&(r=r.filter(a=>a!=="chartData"));const n=t?.defaultToolPanel,o=n&&CHART_TOOL_PANEL_MENU_OPTIONS[n]||r[0];return{panels:r,defaultPanel:o}}doesChartToolbarExist(){return this.getChartToolbarOptions().length>0}doChartToolPanelsExist(e){const{panels:t}=this.getChartToolPanels(e);return t.length>0}},import_ag_grid_community288=require("ag-grid-community"),DEFAULT_CHART_TRANSLATIONS={pivotChartTitle:"Pivot Chart",rangeChartTitle:"Range Chart",settings:"Chart",data:"Set Up",format:"Customize",categories:"Categories",defaultCategory:"(None)",series:"Series",switchCategorySeries:"Switch Category / Series",categoryValues:"Category Values",seriesLabels:"Series Labels",aggregate:"Aggregate",xyValues:"X Y Values",paired:"Paired Mode",axis:"Axis",xAxis:"Horizontal Axis",yAxis:"Vertical Axis",polarAxis:"Polar Axis",radiusAxis:"Radius Axis",navigator:"Navigator",zoom:"Zoom",animation:"Animation",crosshair:"Crosshair",color:"Color",thickness:"Thickness",preferredLength:"Preferred Length",xType:"X Type",axisType:"Axis Type",automatic:"Automatic",category:"Category",number:"Number",time:"Time",timeFormat:"Time Format",autoRotate:"Auto Rotate",labelRotation:"Rotation",circle:"Circle",polygon:"Polygon",square:"Square",cross:"Cross",diamond:"Diamond",plus:"Plus",triangle:"Triangle",heart:"Heart",orientation:"Orientation",fixed:"Fixed",parallel:"Parallel",perpendicular:"Perpendicular",radiusAxisPosition:"Position",ticks:"Ticks",gridLines:"Grid Lines",width:"Width",height:"Height",length:"Length",padding:"Padding",spacing:"Spacing",chartStyle:"Chart Style",title:"Title",chartTitles:"Titles",chartTitle:"Chart Title",chartSubtitle:"Subtitle",horizontalAxisTitle:"Horizontal Axis Title",verticalAxisTitle:"Vertical Axis Title",polarAxisTitle:"Polar Axis Title",titlePlaceholder:"Chart Title",background:"Background",font:"Font",weight:"Weight",top:"Top",right:"Right",bottom:"Bottom",left:"Left",labels:"Labels",calloutLabels:"Callout Labels",sectorLabels:"Sector Labels",positionRatio:"Position Ratio",size:"Size",shape:"Shape",minSize:"Minimum Size",maxSize:"Maximum Size",legend:"Legend",position:"Position",markerSize:"Marker Size",markerStroke:"Marker Stroke",markerPadding:"Marker Padding",itemSpacing:"Item Spacing",itemPaddingX:"Item Padding X",itemPaddingY:"Item Padding Y",layoutHorizontalSpacing:"Horizontal Spacing",layoutVerticalSpacing:"Vertical Spacing",strokeWidth:"Stroke Width",offset:"Offset",offsets:"Offsets",tooltips:"Tooltips",callout:"Callout",markers:"Markers",shadow:"Shadow",blur:"Blur",xOffset:"X Offset",yOffset:"Y Offset",lineWidth:"Line Width",lineDash:"Line Dash",lineDashOffset:"Dash Offset",scrollingZoom:"Scrolling",scrollingStep:"Scrolling Step",selectingZoom:"Selecting",durationMillis:"Duration (ms)",crosshairLabel:"Label",crosshairSnap:"Snap to Node",normal:"Normal",bold:"Bold",italic:"Italic",boldItalic:"Bold Italic",predefined:"Predefined",fillOpacity:"Fill Opacity",strokeColor:"Line Color",strokeOpacity:"Line Opacity",miniChart:"Mini-Chart",histogramBinCount:"Bin count",connectorLine:"Connector Line",seriesItems:"Series Items",seriesItemType:"Item Type",seriesItemPositive:"Positive",seriesItemNegative:"Negative",seriesItemLabels:"Item Labels",columnGroup:"Column",barGroup:"Bar",pieGroup:"Pie",lineGroup:"Line",scatterGroup:"X Y (Scatter)",areaGroup:"Area",polarGroup:"Polar",statisticalGroup:"Statistical",hierarchicalGroup:"Hierarchical",specializedGroup:"Specialized",combinationGroup:"Combination",groupedColumnTooltip:"Grouped",stackedColumnTooltip:"Stacked",normalizedColumnTooltip:"100% Stacked",groupedBarTooltip:"Grouped",stackedBarTooltip:"Stacked",normalizedBarTooltip:"100% Stacked",pieTooltip:"Pie",donutTooltip:"Donut",lineTooltip:"Line",stackedLineTooltip:"Stacked",normalizedLineTooltip:"100% Stacked",groupedAreaTooltip:"Area",stackedAreaTooltip:"Stacked",normalizedAreaTooltip:"100% Stacked",scatterTooltip:"Scatter",bubbleTooltip:"Bubble",histogramTooltip:"Histogram",radialColumnTooltip:"Radial Column",radialBarTooltip:"Radial Bar",radarLineTooltip:"Radar Line",radarAreaTooltip:"Radar Area",nightingaleTooltip:"Nightingale",rangeBarTooltip:"Range Bar",rangeAreaTooltip:"Range Area",boxPlotTooltip:"Box Plot",treemapTooltip:"Treemap",sunburstTooltip:"Sunburst",waterfallTooltip:"Waterfall",heatmapTooltip:"Heatmap",columnLineComboTooltip:"Column & Line",areaColumnComboTooltip:"Area & Column",customComboTooltip:"Custom Combination",innerRadius:"Inner Radius",startAngle:"Start Angle",endAngle:"End Angle",reverseDirection:"Reverse Direction",groupPadding:"Group Padding",seriesPadding:"Series Padding",tile:"Tile",whisker:"Whisker",cap:"Cap",capLengthRatio:"Length Ratio",labelPlacement:"Placement",inside:"Inside",outside:"Outside",noDataToChart:"No data available to be charted.",pivotChartRequiresPivotMode:"Pivot Chart requires Pivot Mode enabled.",chartSettingsToolbarTooltip:"Menu",chartLinkToolbarTooltip:"Linked to Grid",chartUnlinkToolbarTooltip:"Unlinked from Grid",chartDownloadToolbarTooltip:"Download Chart",chartMenuToolbarTooltip:"Menu",chartEdit:"Edit Chart",chartAdvancedSettings:"Advanced Settings",chartLink:"Link to Grid",chartUnlink:"Unlink from Grid",chartDownload:"Download Chart",histogramFrequency:"Frequency",seriesChartType:"Series Chart Type",seriesType:"Series Type",secondaryAxis:"Secondary Axis",seriesAdd:"Add a series",categoryAdd:"Add a category",bar:"Bar",column:"Column",histogram:"Histogram",advancedSettings:"Advanced Settings",direction:"Direction",horizontal:"Horizontal",vertical:"Vertical",seriesGroupType:"Group Type",groupedSeriesGroupType:"Grouped",stackedSeriesGroupType:"Stacked",normalizedSeriesGroupType:"100% Stacked",legendEnabled:"Enabled",groupedColumnFull:"Grouped Column",stackedColumnFull:"Stacked Column",normalizedColumnFull:"100% Stacked Column",groupedBarFull:"Grouped Bar",stackedBarFull:"Stacked Bar",normalizedBarFull:"100% Stacked Bar",stackedAreaFull:"Stacked Area",normalizedAreaFull:"100% Stacked Area",stackedLineFull:"Stacked Line",normalizedLineFull:"100% Stacked Line",customCombo:"Custom Combination",funnel:"Funnel",coneFunnel:"Cone Funnel",pyramid:"Pyramid",funnelGroup:"Funnel",funnelTooltip:"Funnel",coneFunnelTooltip:"Cone Funnel",pyramidTooltip:"Pyramid",dropOff:"Drop-Off",stageLabels:"Stage Labels",reverse:"Reverse",tooltipMode:"Tooltip Mode",tooltipModeSingle:"Single",tooltipModeShared:"Multiple",tooltipModeCompact:"Compact",groupedColumn:"Grouped",stackedColumn:"Stacked",pie:"Pie",donut:"Donut",line:"Line",scatter:"Scatter",bubble:"Bubble",area:"Area",stackedArea:"Stacked",radarLine:"Radar Line",radarArea:"Radar Area",nightingale:"Nightingale",radialColumn:"Radial Column",radialBar:"Radial Bar",boxPlot:"Box Plot",rangeBar:"Range Bar",rangeArea:"Range Area",treemap:"Treemap",sunburst:"Sunburst",waterfall:"Waterfall",heatmap:"Heatmap",columnLineCombo:"Column & Line",AreaColumnCombo:"Area & Column",ariaChartMenuClose:"Close Chart Edit Menu",ariaChartSelected:"Selected",group:"Group",timeFormatSlashesDDMMYYYY:"DD/MM/YYYY",timeFormatSlashesMMDDYYYY:"MM/DD/YYYY",timeFormatSlashesDDMMYY:"DD/MM/YY",timeFormatSlashesMMDDYY:"MM/DD/YY",timeFormatDotsDDMYY:"DD.M.YY",timeFormatDotsMDDYY:"M.DD.YY",timeFormatDashesYYYYMMDD:"YYYY-MM-DD",timeFormatSpacesDDMMMMYYYY:"DD MMMM YYYY",timeFormatHHMMSS:"HH:MM:SS",timeFormatHHMMSSAmPm:"HH:MM:SS AM/PM",sum:"Sum",first:"First",last:"Last",min:"Min",max:"Max",count:"Count",avg:"Average"},ChartTranslationService=class extends import_ag_grid_community288.BeanStub{constructor(){super(...arguments),this.beanName="chartTranslation"}translate(e){const t=this.getLocaleTextFunc(),i=DEFAULT_CHART_TRANSLATIONS[e];return t(e,i)}},import_ag_stack192=require("ag-stack"),import_ag_grid_community333=require("ag-grid-community"),import_ag_stack191=require("ag-stack"),import_ag_grid_community331=require("ag-grid-community"),import_ag_grid_community290=require("ag-grid-community"),import_ag_grid_community289=require("ag-grid-community"),validateIfDefined=e=>t=>t==null?!0:e(t),isString=e=>typeof e=="string",isBoolean=e=>typeof e=="boolean",isValidSeriesChartType=e=>typeof e=="object",createWarnMessage=(e,t)=>i=>(0,import_ag_grid_community289._createValidationWarning)(316,{property:e,value:i,expectedType:t}),createEnterpriseMessage=e=>`${e} is not supported in AG Charts Community ('ag-charts-enterprise' hasn't been loaded). See https://www.ag-grid.com/javascript-data-grid/integrated-charts-installation/ for more details.`,legacyChartTypes=["doughnut"],baseUpdateChartParams=["type","chartId","chartType","chartThemeName","chartThemeOverrides","unlinkChart"];function isValidChartType(e){return!!getSeriesTypeIfExists(e)||isComboChart(e)}function isLegacyChartType(e){return legacyChartTypes.includes(e)}var makeValidateChartType=e=>validateIfDefined(t=>{if(isValidChartType(t))return!0;if(isLegacyChartType(t)){const i=getCanonicalChartType(t);return e.deprecated(312,{chartType:t,renamedChartType:i}),i}return!1}),validateAgChartThemeOverrides=validateIfDefined(e=>typeof e=="object"),validateChartParamsCellRange=validateIfDefined(e=>typeof e=="object"),validateAggFunc=validateIfDefined(e=>typeof e=="string"||typeof e=="function"),enterpriseChartTypeValidation=e=>({property:"chartType",validationFn:validateIfDefined(t=>e||!t||!isEnterpriseChartType(t)),warnMessage:t=>createEnterpriseMessage(`The '${t}' chart type`)}),switchCategorySeriesValidation=e=>({property:"switchCategorySeries",validationFn:validateIfDefined(t=>{if(!t||e)return!0}),warnMessage:()=>createEnterpriseMessage("'switchCategorySeries' has been ignored as it"),warnIfFixed:!0}),commonUpdateValidations=e=>[{property:"chartId",validationFn:isString,warnMessage:createWarnMessage("chartId","string")},{property:"chartType",validationFn:makeValidateChartType(e),warnMessage:createWarnMessage("chartType","ChartType")},{property:"chartThemeName",validationFn:isString,warnMessage:createWarnMessage("chartThemeName","string")},{property:"chartThemeOverrides",validationFn:validateAgChartThemeOverrides,warnMessage:createWarnMessage("chartThemeOverrides","AgChartThemeOverrides")},{property:"unlinkChart",validationFn:isBoolean,warnMessage:createWarnMessage("unlinkChart","boolean")}],cellRangeValidations=e=>[{property:"cellRange",validationFn:validateChartParamsCellRange,warnMessage:createWarnMessage("cellRange","ChartParamsCellRange")},{property:"suppressChartRanges",validationFn:isBoolean,warnMessage:createWarnMessage("suppressChartRanges","boolean")},{property:"aggFunc",validationFn:validateAggFunc,warnMessage:createWarnMessage("aggFunc","string or IAggFunc")},switchCategorySeriesValidation(e)];function validateUpdateParams(e,t,i){switch(e.type){case"rangeChartUpdate":return validateUpdateRangeChartParams(e,t,i);case"pivotChartUpdate":return validateUpdatePivotChartParams(e,i);case"crossFilterChartUpdate":return validateUpdateCrossFilterChartParams(e,t,i);default:return i.warn(320,{property:"'type'",allowed:["rangeChartUpdate","pivotChartUpdate","crossFilterChartUpdate"],value:e.type}),!1}}function validateCreateParams(e,t,i){return validateProperties(e,[enterpriseChartTypeValidation(t),switchCategorySeriesValidation(t)],i)}function validateUpdateRangeChartParams(e,t,i){const r=[...commonUpdateValidations(i),enterpriseChartTypeValidation(t),...cellRangeValidations(t),{property:"seriesChartTypes",validationFn:n=>n===void 0||Array.isArray(n)&&n.every(isValidSeriesChartType),warnMessage:createWarnMessage("seriesChartTypes","Array of SeriesChartType")},{property:"useGroupColumnAsCategory",validationFn:isBoolean,warnMessage:createWarnMessage("useGroupColumnAsCategory","boolean")}];return validateProperties(e,r,i,[...baseUpdateChartParams,"cellRange","suppressChartRanges","switchCategorySeries","aggFunc","seriesChartTypes","seriesGroupType","useGroupColumnAsCategory"],"UpdateRangeChartParams")}function validateUpdatePivotChartParams(e,t){const i=[...commonUpdateValidations(t)];return validateProperties(e,i,t,[...baseUpdateChartParams],"UpdatePivotChartParams")}function validateUpdateCrossFilterChartParams(e,t,i){const r=[...commonUpdateValidations(i),...cellRangeValidations(t)];return validateProperties(e,r,i,[...baseUpdateChartParams,"cellRange","suppressChartRanges","aggFunc"],"UpdateCrossFilterChartParams")}function validateProperties(e,t,i,r,n){let o;for(const a of t){const{property:l,validationFn:c,warnMessage:u,warnIfFixed:d}=a;if(l in e){const h=e[l],p=c(h);if(p===!0)continue;if(p===!1)return(0,import_ag_grid_community289._emitValidationWarning)(u(h),i),!1;o=o||{...e},o[l]=p,d&&(0,import_ag_grid_community289._emitValidationWarning)(u(h),i)}}if(r){for(const a of Object.keys(e))if(!r.includes(a))return i.warn(313,{paramsType:n,property:a}),!1}return o||!0}var DEFAULT_THEMES=["ag-default","ag-material","ag-sheets","ag-polychroma","ag-vivid"],ChartController=class extends import_ag_grid_community290.BeanStub{constructor(e){super(),this.model=e,this.isEnterprise=()=>this.agChartsExports.isEnterprise}wireBeans(e){this.rangeSvc=e.rangeSvc,this.agChartsExports=e.agChartsExports}postConstruct(){this.setChartRange(),this.model.unlinked&&this.rangeSvc&&this.rangeSvc.setCellRanges([]);const e=this.updateForGridChange.bind(this,{});this.addManagedEventListeners({cellSelectionChanged:t=>{t.id&&t.id===this.model.chartId&&this.updateForRangeChange()},columnMoved:this.updateForGridChange.bind(this,{updateOrder:!0}),columnPinned:e,columnVisible:e,columnRowGroupChanged:e,modelUpdated:e,cellValueChanged:this.updateForDataChange.bind(this),cellEditValuesChanged:this.updateForDataChange.bind(this)})}update(e){if(!this.validUpdateType(e))return!1;const t=validateUpdateParams(e,this.agChartsExports.isEnterprise,this.beans.log);if(!t)return!1;const i=t===!0?e:t;return this.applyValidatedChartParams(i),!0}applyValidatedChartParams(e){const{chartId:t,chartType:i,chartThemeName:r,unlinkChart:n}=e,a={...{chartId:t,pivotChart:this.model.pivotChart,chartType:i??this.model.chartType,chartThemeName:r??this.model.chartThemeName,unlinkChart:n??this.model.unlinked,cellRange:this.model.suppliedCellRange,switchCategorySeries:this.model.switchCategorySeries,aggFunc:this.model.aggFunc,seriesChartTypes:void 0,suppressChartRanges:!1,crossFiltering:!1}};switch(e.type){case"rangeChartUpdate":a.cellRange=this.createCellRange(e)??this.model.suppliedCellRange,a.switchCategorySeries=e.switchCategorySeries??this.model.switchCategorySeries,a.aggFunc=e.aggFunc??this.model.aggFunc,a.seriesChartTypes=e.seriesChartTypes,a.suppressChartRanges=e.suppressChartRanges??this.model.suppressChartRanges,a.seriesGroupType=e.seriesGroupType??this.model.seriesGroupType,a.useGroupColumnAsCategory=e.useGroupColumnAsCategory??this.model.useGroupColumnAsCategory;break;case"crossFilterChartUpdate":a.cellRange=this.createCellRange(e)??this.model.suppliedCellRange,a.switchCategorySeries=!1,a.aggFunc=e.aggFunc??this.model.aggFunc,a.crossFiltering=!0,a.crossFilteringSort=this.model.crossFilteringSort,a.suppressChartRanges=e.suppressChartRanges??this.model.suppressChartRanges;break;case"pivotChartUpdate":a.switchCategorySeries=!1;break}this.model.updateModel(a),a.unlinkChart||a.suppressChartRanges?this.rangeSvc?.setCellRanges([]):this.setChartRange()}updateForGridChange(e){if(this.model.unlinked)return;const{maintainColState:t,setColsFromRange:i,updateOrder:r}=e??{};this.model.updateCellRanges({maintainColState:t,setColsFromRange:i,updateOrder:r}),this.model.updateData(),this.setChartRange()}updateForDataChange(){this.model.unlinked||(this.model.updateData(),this.raiseChartModelUpdateEvent())}updateForRangeChange(){this.updateForGridChange({setColsFromRange:!0}),this.raiseChartRangeSelectionChangedEvent()}updateForPanelChange(e){this.model.updateCellRanges(e),this.model.updateData(),e.skipAnimation&&this.getChartProxy().getChartRef().skipAnimations(),this.setChartRange(),this.raiseChartRangeSelectionChangedEvent()}updateThemeOverrides(e){this.chartProxy.updateThemeOverrides(e)}getChartUpdateParams(e){const i=this.getSelectedValueColState().map(l=>({colId:l.colId,displayName:l.displayName})),r=this.getChartData(),n=this.getSelectedDimensions(),o=this.model,a={data:r,groupData:o.groupChartData,grouping:this.isGrouping(),categories:n.map(({colId:l,displayName:c})=>{const u=o.categoryAxisType??o.getChartDataType(l);return{id:l,name:c,chartDataType:u,convertTime:u==="time"?o.getConvertTime(l):void 0}}),fields:i,chartId:this.getChartId(),getCrossFilteringContext:()=>({lastSelectedChartId:"xxx"}),seriesChartTypes:this.getSeriesChartTypes(),updatedOverrides:e,seriesGroupType:o.seriesGroupType};return this.isCategorySeriesSwitched()?this.invertCategorySeriesParams(a):a}invertCategorySeriesParams(e){const[t]=e.categories,i=[{id:DEFAULT_CHART_CATEGORY,name:""}],r=e.data.map((o,a)=>{const l=`${t.id}:${a}`,c=o[t.id],u=c==null?"":String(c);return{colId:l,displayName:u}}),n=e.fields.map(o=>{const a={[DEFAULT_CHART_CATEGORY]:o.displayName};for(const[l,c]of e.data.entries()){const u=`${t.id}:${l}`,d=c[o.colId];a[u]=d}return a});return{...e,categories:i,fields:r,data:n}}getChartModel(){const e=this.model.pivotChart?"pivot":"range",t=this.isComboChart()?this.model.comboChartModel.seriesChartTypes:void 0;return{modelType:e,chartId:this.model.chartId,chartType:this.model.chartType,chartThemeName:this.getChartThemeName(),chartOptions:this.chartProxy?.getChartThemeOverrides(),chartPalette:this.chartProxy?.getChartPalette(),cellRange:this.getCellRangeParams(),switchCategorySeries:this.model.switchCategorySeries,suppressChartRanges:this.model.suppressChartRanges,aggFunc:this.model.aggFunc,unlinkChart:this.model.unlinked,seriesChartTypes:t,seriesGroupType:this.model.seriesGroupType,useGroupColumnAsCategory:this.model.useGroupColumnAsCategory}}getChartId(){return this.model.chartId}getChartData(){return this.model.chartData}getChartType(){return this.model.chartType}setChartType(e){this.updateMultiSeriesAndCategory(this.model.chartType,e),this.model.chartType=e,this.model.comboChartModel.updateSeriesChartTypes(),this.model.switchCategorySeries=!1,this.model.categoryAxisType=void 0,this.model.seriesGroupType=void 0,this.raiseChartModelUpdateEvent()}isCategorySeriesSwitched(){return this.model.switchCategorySeries&&!this.model.isGrouping()}switchCategorySeries(e){supportsInvertedCategorySeries(this.getChartType())&&(this.model.switchCategorySeries=e,this.raiseChartModelUpdateEvent())}getAggFunc(){return this.model.aggFunc}setAggFunc(e,t){this.model.aggFunc!==e&&(this.model.aggFunc=e,!t&&(this.model.updateData(),this.raiseChartModelUpdateEvent()))}updateMultiSeriesAndCategory(e,t){const i=(l,c)=>{let u=0;for(const d of l)d.selected&&(u>=c?d.selected=!1:u++);u===0&&(l[0].selected=!0)},r=getMaxNumCategories(t),n=getMaxNumSeries(t),o=r!=null&&(getMaxNumCategories(e)??100)>(r??100),a=n!=null&&(getMaxNumSeries(e)??100)>(n??100);o&&i(this.model.dimensionColState,r),a&&i(this.model.valueColState,n),(o||a)&&(this.model.resetCellRanges(o,a),this.setChartRange(!0))}setChartThemeName(e,t){this.model.chartThemeName=e,t||this.raiseChartModelUpdateEvent()}getChartThemeName(){return this.model.chartThemeName}isPivotChart(){return this.model.pivotChart}isPivotMode(){return this.model.isPivotMode()}isGrouping(){return this.model.isGrouping()}isCrossFilterChart(){return this.model.crossFiltering}getThemeNames(){return this.gos.get("chartThemes")||DEFAULT_THEMES}getThemes(){return this.getThemeNames().map(t=>{const r=isStockTheme(t,this.agChartsExports._Theme)?t:this.chartProxy.lookupCustomChartTheme(t);return this.agChartsExports._Theme.getChartTheme(r)})}getPalettes(){return this.getThemes().map(t=>t.palette)}getSelectedValueColState(){return this.model.getValueColState().filter(e=>e.selected)}getSelectedDimensions(){return this.model.getSelectedDimensions()}getColStateForMenu(){return{dimensionCols:this.model.dimensionColState,valueCols:this.model.getValueColState()}}setChartRange(e=!1){this.rangeSvc&&!this.model.suppressChartRanges&&!this.model.unlinked&&this.rangeSvc.setCellRanges(this.getCellRanges()),e||this.raiseChartModelUpdateEvent()}detachChartRange(){this.model.unlinked=!this.model.unlinked,this.model.unlinked?this.rangeSvc&&this.rangeSvc.setCellRanges([]):this.updateForGridChange(),this.dispatchLocalEvent({type:"chartLinkedChanged"})}setChartProxy(e){this.chartProxy=e}getChartProxy(){return this.chartProxy}isActiveXYChart(){return["scatter","bubble"].includes(this.getChartType())}isChartLinked(){return!this.model.unlinked}customComboExists(){const e=this.model.comboChartModel.savedCustomSeriesChartTypes;return e&&e.length>0}getSeriesChartTypes(){return this.model.comboChartModel.seriesChartTypes}isComboChart(e){return this.model.isComboChart(e)}updateSeriesChartType(e,t,i){const r=this.model.comboChartModel.seriesChartTypes.find(n=>n.colId===e);if(r){const n=this.model.chartType!=="customCombo";n&&(this.model.chartType="customCombo");const o=r.chartType;t!=null&&(r.chartType=t),i!=null&&(r.secondaryAxis=i),this.model.comboChartModel.savedCustomSeriesChartTypes=this.model.comboChartModel.seriesChartTypes,this.model.comboChartModel.updateSeriesChartTypes(),this.updateForDataChange(),n&&this.dispatchLocalEvent({type:"chartTypeChanged"}),o!==t&&this.dispatchLocalEvent({type:"chartSeriesChartTypeChanged"}),this.raiseChartOptionsChangedEvent()}}getActiveSeriesChartTypes(){const e=this.getSelectedValueColState().map(t=>t.colId);return this.getSeriesChartTypes().filter(t=>e.includes(t.colId))}getChartSeriesTypes(e){const t=e??this.getChartType();return this.isComboChart(t)?["line","bar","area"]:[getSeriesType(t)]}getChartSeriesType(){const e=this.getSeriesChartTypes();if(e.length===0)return"bar";const t=e[0].chartType;return t==="columnLineCombo"?"bar":t==="areaColumnCombo"?"area":getSeriesType(t)}getCellRanges(){return[this.model.dimensionCellRange,this.model.valueCellRange].filter(e=>e)}createCellRange(e){return e.cellRange&&this.rangeSvc?.createPartialCellRangeFromRangeParams(e.cellRange,!0)}validUpdateType(e){if(!e.type)return this.warn(136),!1;const t={"Range Chart":()=>!this.isPivotChart()&&!this.isCrossFilterChart(),"Pivot Chart":()=>this.isPivotChart(),"Cross Filter Chart":()=>this.isCrossFilterChart()},i=Object.keys(t).find(n=>t[n]())??"Range Chart",r=e.type===`${i[0].toLowerCase()}${i.slice(1).replace(/ /g,"")}Update`;return r||this.warn(137,{currentChartType:i,type:e.type}),r}getCellRangeParams(){const e=this.getCellRanges(),t=e[0],i=t?.startRow||null,r=t?.endRow||null;return{rowStartIndex:i?.rowIndex??null,rowStartPinned:i?.rowPinned,rowEndIndex:r?.rowIndex??null,rowEndPinned:r?.rowPinned,columns:e.reduce((n,o)=>n.concat(o.columns.map(a=>a.getId())),[])}}setCategoryAxisType(e){this.model.categoryAxisType=e,this.raiseChartModelUpdateEvent()}getSeriesGroupType(){return this.model.seriesGroupType??this.chartProxy.getSeriesGroupType()}setSeriesGroupType(e){this.model.seriesGroupType=e,this.raiseChartModelUpdateEvent()}raiseChartModelUpdateEvent(){this.dispatchLocalEvent({type:"chartModelUpdate"}),this.raiseChartOptionsChangedEvent()}raiseChartUpdatedEvent(){this.dispatchLocalEvent({type:"chartUpdated"})}raiseChartApiUpdateEvent(){this.dispatchLocalEvent({type:"chartApiUpdate"})}raiseChartOptionsChangedEvent(){const{chartId:e,chartType:t}=this.getChartModel();this.eventSvc.dispatchEvent({type:"chartOptionsChanged",chartId:e,chartType:t,chartThemeName:this.getChartThemeName(),chartOptions:this.chartProxy?.getChartThemeOverrides()})}raiseChartRangeSelectionChangedEvent(){this.eventSvc.dispatchEvent({type:"chartRangeSelectionChanged",id:this.model.chartId,chartId:this.model.chartId,cellRange:this.getCellRangeParams()})}destroy(){super.destroy(),this.rangeSvc&&this.rangeSvc.setCellRanges([])}},AreaChartProxy=class extends CartesianChartProxy{getAxes(e){const t={x:{type:this.getXAxisType(e),position:"bottom"},y:{type:"number",position:"left"}};return this.isNormalised()&&(t.y.label={...t.y.label,formatter:i=>Math.round(i.value)+"%"}),t}getSeries(e){const[t]=e.categories,i=e.fields.map(r=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yKey:r.colId,yName:r.displayName,normalizedTo:this.chartType==="normalizedArea"?100:void 0,stacked:["normalizedArea","stackedArea"].includes(this.chartType)}));return this.crossFiltering?this.extractLineAreaCrossFilterSeries(i,e):i}isNormalised(){return!this.crossFiltering&&this.chartType==="normalizedArea"}},HORIZONTAL_CHART_TYPES=new Set(["bar","groupedBar","stackedBar","normalizedBar"]),BarChartProxy=class extends CartesianChartProxy{getAxes(e){const t={x:{type:this.getXAxisType(e),position:this.isHorizontal()?"left":"bottom"},y:{type:"number",position:this.isHorizontal()?"bottom":"left"}};return this.isNormalised()&&(t.y.label={...t.y.label,formatter:i=>Math.round(i.value)+"%"}),t}getSeries(e){const[t]=e.categories,i=e.fields.map(r=>({type:this.standaloneChartType,direction:this.isHorizontal()?"horizontal":"vertical",stacked:this.crossFiltering||isStacked(this.chartType),normalizedTo:this.isNormalised()?100:void 0,xKey:t.id,xName:t.name,yKey:r.colId,yName:r.displayName}));return this.crossFiltering?this.extractCrossFilterSeries(i):i}extractCrossFilterSeries(e){const t=[];for(let i=0;i<e.length;i++){const n={...e[i],listeners:{seriesNodeClick:this.crossFilterCallback}},o={...n,yKey:`${n.yKey}-filtered-out`,showInLegend:!1};t.push(n),t.push(o)}return t}isNormalised(){const e=["normalizedColumn","normalizedBar"];return!this.crossFiltering&&e.includes(this.chartType)}isHorizontal(){return HORIZONTAL_CHART_TYPES.has(this.chartType)}},LineChartProxy=class extends CartesianChartProxy{getAxes(e){const t={x:{type:this.getXAxisType(e),position:"bottom"},y:{type:"number",position:"left"}};return this.isNormalised()&&(t.y.label={...t.y.label,formatter:i=>Math.round(i.value)+"%"}),t}getSeries(e){const[t]=e.categories,i=["normalizedLine","stackedLine"].includes(this.chartType),r=e.fields.map(n=>({type:this.standaloneChartType,xKey:t.id,xName:t.name,yKey:n.colId,yName:n.displayName,normalizedTo:i&&this.isNormalised()?100:void 0,stacked:i}));return this.crossFiltering?this.extractLineAreaCrossFilterSeries(r,e):r}isNormalised(){const e=["normalizedLine"];return!this.crossFiltering&&e.includes(this.chartType)}},ScatterChartProxy=class extends CartesianChartProxy{getAxes(e){return{x:{type:"number",position:"bottom"},y:{type:"number",position:"left"}}}getSeries(e){const[t]=e.categories,i=this.isPaired(),r=this.getSeriesDefinitions(e.fields,i),n=t.id===DEFAULT_CHART_CATEGORY?void 0:t,o=r.map(a=>a?.sizeField?{type:"bubble",xKey:a.xField.colId,xName:a.xField.displayName??void 0,yKey:a.yField.colId,yName:a.yField.displayName??void 0,title:`${a.yField.displayName} vs ${a.xField.displayName}`,sizeKey:a.sizeField.colId,sizeName:a.sizeField.displayName??"",labelKey:n?n.id:a.yField.colId,labelName:n?n.name:void 0}:{type:"scatter",xKey:a.xField.colId,xName:a.xField.displayName??void 0,yKey:a.yField.colId,yName:a.yField.displayName??void 0,title:`${a.yField.displayName} vs ${a.xField.displayName}`,labelKey:n?n.id:a.yField.colId,labelName:n?n.name:void 0});return this.crossFiltering?this.extractCrossFilterSeries(o,e):o}extractCrossFilterSeries(e,t){const{data:i}=t,r=c=>`${c}-filtered-out`,n=(c,u)=>{const d=[1/0,-1/0];if(u!=null)for(const h of c){const p=h[u]??h[r(u)];p<d[0]&&(d[0]=p),p>d[1]&&(d[1]=p)}if(d[0]<=d[1])return d},o=c=>{let u;if(c.type==="bubble"){const{sizeKey:d}=c;u=n(i,d)}return{...c,...u!=null?{sizeDomain:u}:{},highlight:{highlightedItem:{fill:"yellow"}},listeners:{...c.listeners,seriesNodeClick:this.crossFilterCallback}}},a=c=>{const{yKey:u,xKey:d}=c;let h={};return c.type==="bubble"&&(h={sizeKey:r(c.sizeKey)}),{...c,...h,yKey:r(u),xKey:r(d),showInLegend:!1,listeners:{...c.listeners,seriesNodeClick:p=>{const g=p.datum[r(d)],f={...p,xKey:d,datum:{...p.datum,[d]:g}};this.crossFilterCallback(f)}}}},l=e.map(o);return[...l,...l.map(a)]}getSeriesDefinitions(e,t){if(e.length<2)return[];const i=this.chartType==="bubble";if(t)return i?e.map((n,o)=>o%3===0?{xField:n,yField:e[o+1],sizeField:e[o+2]}:null).filter(n=>n?.yField&&n.sizeField):e.map((n,o)=>o%2===0?{xField:n,yField:e[o+1]}:null).filter(n=>n?.yField);const r=e[0];return i?e.map((n,o)=>o%2===1?{xField:r,yField:n,sizeField:e[o+1]}:null).filter(n=>n?.sizeField):e.filter((n,o)=>o>0).map(n=>({xField:r,yField:n}))}},ComboChartProxy=class extends CartesianChartProxy{getAxes(e){const t=e?e.fields:[],i=new Map(t.map(a=>[a.colId,a])),{primaryYKeys:r,secondaryYKeys:n}=this.getYKeys(t,e.seriesChartTypes),o={x:{type:this.getXAxisType(e),position:"bottom"}};return r.length>0&&(o.y={type:"number",position:"left"}),n.length>0&&n.forEach(a=>{if(!(i.get(a)?.colId===a))return;const u={type:"number",position:"right"};o[`y_${a}`]=u}),o}getSeries(e){const{fields:t,seriesChartTypes:i}=e,[r]=e.categories;return t.map(n=>{const o=i.find(a=>a.colId===n.colId);if(o){const a=o.chartType,c=["groupedColumn","groupedBar"].includes(a)?{grouped:!0}:{},u=o.secondaryAxis?`y_${n.colId}`:"y";return{type:getSeriesType(a),xKey:r.id,yKey:n.colId,yName:n.displayName,yKeyAxis:u,stacked:["stackedArea","stackedColumn"].includes(a),...c}}})}getYKeys(e,t){const i=[],r=[];for(const n of e){const o=n.colId,a=t.find(l=>l.colId===o);a&&(a.secondaryAxis?r.push(o):i.push(o))}return{primaryYKeys:i,secondaryYKeys:r}}setSeriesChartThemeDefaults(e){const t=this.getSeriesChartThemeDefaults();if(!t)return;const i=new Set;for(const r of this.chartProxyParams.seriesChartTypes)i.add(r.chartType);for(const r of i){const n=getSeriesType(r);e[n]=t}}};function calculateOffsets(e){const t=e.currentOffset;e.currentOffset-=e.offsetAmount;const i=e.currentOffset;return e.currentOffset-=e.offsetAmount,{outerRadiusOffset:t,innerRadiusOffset:i}}var PieChartProxy=class extends ChartProxy{getUpdateOptions(e,t){return{...t,data:this.crossFiltering?this.getCrossFilterData(e):e.data,series:this.getSeries(e)}}getSeries(e){const[t]=e.categories,i=e.fields.length,r={currentOffset:0,offsetAmount:i>1?20:40},n=this.getFields(e).map(o=>{const a={type:this.standaloneChartType,angleKey:o.colId,angleName:o.displayName,sectorLabelKey:o.colId,calloutLabelName:t.name,calloutLabelKey:t.id};if(this.chartType==="donut"||this.chartType==="doughnut"){const{outerRadiusOffset:l,innerRadiusOffset:c}=calculateOffsets(r),u=o.displayName?{title:{text:o.displayName,showInLegend:i>1}}:void 0;return{...a,type:"donut",outerRadiusOffset:l,innerRadiusOffset:c,...u}}return a});return this.crossFiltering?this.extractCrossFilterSeries(n):n}getCrossFilterData(e){const t=e.fields[0].colId,i=`${t}-filtered-out`;return e.data.map(r=>{const n=r[t]+r[i];return r[`${t}-total`]=n,r[i]=1,r[t]=r[t]/n,r})}extractCrossFilterSeries(e){const t=e[0],i=t.angleKey,r={...t,radiusMin:0,radiusMax:1,listeners:{seriesNodeClick:this.crossFilterCallback},legendItemKey:t.calloutLabelKey,angleKey:`${i}-total`},n={...r,radiusKey:i,sectorLabelKey:`${i}-total`};return[{...r,radiusKey:`${i}-filtered-out`,showInLegend:!1},n]}getFields(e){return this.chartType==="pie"?e.fields.slice(0,1):e.fields}getSeriesChartThemeDefaults(){return{series:{highlight:getSeriesHighlight(this.crossFiltering)}}}},import_ag_grid_community329=require("ag-grid-community"),import_ag_stack168=require("ag-stack"),import_ag_grid_community291=require("ag-grid-community"),ChartToolbar=class extends import_ag_grid_community291.Component{constructor(){super('<div class="ag-chart-menu" data-ref="eMenu"></div>'),this.eMenu=import_ag_stack168.RefPlaceholder,this.buttonListenersDestroyFuncs=[]}wireBeans(e){this.chartTranslation=e.chartTranslation}updateParams(e){const{buttons:t}=e;this.createButtons(t)}createButtons(e){for(const i of this.buttonListenersDestroyFuncs)i?.();this.buttonListenersDestroyFuncs=[];const t=this.eMenu;(0,import_ag_stack168._clearElement)(t);for(const i of e){const{buttonName:r,iconName:n,callback:o}=i,a=this.createButton(n),l=this.chartTranslation.translate(r+"ToolbarTooltip");l&&a instanceof HTMLElement&&(a.title=l),this.buttonListenersDestroyFuncs.push(...this.addManagedElementListeners(a,{click:c=>o(c.currentTarget)})),t.appendChild(a)}}createButton(e){const t=(0,import_ag_grid_community291._createIconNoSpan)(e,this.beans);t.classList.add("ag-chart-menu-icon");const i=(0,import_ag_grid_community291._createElement)({tag:"button",attrs:{type:"button"},cls:"ag-chart-menu-toolbar-button"});return i.appendChild(t),i}destroy(){this.buttonListenersDestroyFuncs=[],super.destroy()}},import_ag_grid_community328=require("ag-grid-community"),import_ag_stack172=require("ag-stack"),import_ag_grid_community299=require("ag-grid-community"),import_ag_grid_community294=require("ag-grid-community"),import_ag_grid_community293=require("ag-grid-community"),import_ag_stack169=require("ag-stack"),import_ag_grid_community292=require("ag-grid-community"),agPillSelect_default=".ag-pill-select{display:flex;flex-direction:column}.ag-pill-select .ag-column-drop-list{padding:0}:where(.ag-pill-select){.ag-select{padding-top:var(--ag-spacing)}.ag-picker-field-wrapper{background-color:transparent;border:0}.ag-picker-field-display{cursor:pointer;font-weight:500}.ag-picker-field-display,.ag-picker-field-icon{color:var(--ag-chart-menu-label-color)}}",AgPillSelect=class extends import_ag_grid_community292.Component{constructor(e){super('<div class="ag-pill-select" role="presentation"></div>'),this.config=e??{};const{selectedValueList:t,valueFormatter:i,valueList:r}=this.config;this.selectedValues=t??[],this.valueList=r??[],this.valueFormatter=i??(n=>(0,import_ag_stack169._escapeString)(n)),this.registerCSS(agPillSelect_default)}postConstruct(){const{ariaLabel:e,onValuesChange:t,dragSourceId:i}=this.config;this.dropZonePanel=this.createManagedBean(new PillSelectDropZonePanel({getValues:()=>this.selectedValues,setValues:n=>this.updateValues(n),isDraggable:()=>this.selectedValues.length>1},n=>this.valueFormatter(n),e,i)),this.getGui().appendChild(this.dropZonePanel.getGui()),this.initSelect(),t!=null&&(this.onValuesChange=t)}setValues(e,t){const{added:i,removed:r,updated:n}=this.getChanges(this.valueList,e);let o=!1;return(i.length||r.length||n.length)&&(o=!0),this.valueList=e,this.updateValues(t,o,!0),this}setValueFormatter(e){return this.valueFormatter=e,this}initSelect(){const e=this.createSelectOptions();if(!e.length)return!1;const{selectPlaceholder:t}=this.config;return this.eSelect=this.createBean(new import_ag_grid_community292.AgSelect({options:e,placeholder:t,onValueChange:i=>this.addValue(i),pickerIcon:"chartsMenuAdd"})),this.getGui().appendChild(this.eSelect.getGui()),!0}createSelectOptions(){const e=[],{maxSelection:t}=this.config;if(t&&this.selectedValues.length>=t)return e;for(const i of this.valueList)this.selectedValues.includes(i)||e.push({value:i,text:this.valueFormatter(i)});return e}addValue(e){this.dropZonePanel.addItem(e)}updateValues(e,t,i){const r=this.selectedValues;this.selectedValues=e;const n=this.getChanges(r,e),o=t||n.added.length||n.removed.length,a=(0,import_ag_stack169._getActiveDomElement)(this.beans),l=this.eSelect?.getGui().contains(a),c=this.dropZonePanel?.getGui().contains(a);i||this.onValuesChange?.(n);const u=o?!this.refreshSelect():!1;this.dropZonePanel.refreshGui(),o&&l&&(u?this.dropZonePanel.focusList(!0):this.eSelect?.getFocusableElement().focus()),c&&!e.length&&this.eSelect?.getFocusableElement().focus()}getChanges(e,t){const i=t.filter(o=>!e.includes(o)),r=e.filter(o=>!t.includes(o)),n=t.filter((o,a)=>e[a]!==o);return{added:i,removed:r,updated:n,selected:t}}refreshSelect(){if(!this.eSelect)return this.initSelect();const e=this.createSelectOptions();return e.length?(this.eSelect.clearOptions().addOptions(e).setValue(void 0,!0),!0):((0,import_ag_stack169._removeFromParent)(this.eSelect.getGui()),this.eSelect=this.destroyBean(this.eSelect),!1)}destroy(){this.destroyBean(this.eSelect),super.destroy()}},PillSelectDragComp=class extends PillDragComp{constructor(e,t,i,r,n,o){super(t,i,!1),this.value=e,this.valueFormatter=r,this.draggable=n,this.sourceId=o}getItem(){return this.value}getDisplayName(){return this.valueFormatter(this.value)}getAriaDisplayName(){return this.getDisplayName()}getTooltip(){}createGetDragItem(){return()=>({value:this.value})}getDragSourceType(){return import_ag_grid_community292.DragSourceType.ChartPanel}getDragSourceId(){return this.sourceId}isMovable(){return this.isDraggable()}isDraggable(){return this.draggable}},PillSelectDropZonePanel=class extends PillDropZonePanel{constructor(e,t,i,r){super(!1),this.model=e,this.valueFormatter=t,this.ariaLabel=i,this.sourceId=r}postConstruct(){super.init()}isItemDroppable(e,t){return this.isSourceEventFromTarget(t)||this.sourceId!=null&&this.sourceId===t.dragSource.sourceId}updateItems(e){this.model.setValues(e)}getExistingItems(){return this.model.getValues()}getIconName(){return this.isPotentialDndItems()?"move":"notAllowed"}getAriaLabel(){return this.ariaLabel}createPillComponent(e,t,i){return new PillSelectDragComp(e,t,i,this.valueFormatter,this.model.isDraggable(),this.sourceId)}getItems(e){return[e.value]}isInterestedIn(e){return e===import_ag_grid_community292.DragSourceType.ChartPanel}},DragDataPanel=class extends import_ag_grid_community293.Component{constructor(e,t,i,r){super(r),this.chartController=e,this.allowMultipleSelection=t,this.maxSelection=i}wireBeans(e){this.chartTranslation=e.chartTranslation}addItem(e){this.groupComp.addItem(e)}createGroup(e,t,i,r,n){if(this.allowMultipleSelection){const o=e.filter(a=>a.selected);this.valuePillSelect=this.groupComp.createManagedBean(new AgPillSelect({valueList:e,selectedValueList:o,valueFormatter:t,selectPlaceholder:this.chartTranslation.translate(i),dragSourceId:r,onValuesChange:a=>this.onValueChange(a),maxSelection:this.maxSelection})),this.groupComp.addItem(this.valuePillSelect)}else{const o=this.createValueSelectParams(e);o.onValueChange=a=>{for(const l of e)l.selected=!1;a.selected=!0,a.colId===DEFAULT_CHART_CATEGORY&&this.chartController.setAggFunc(void 0,!0),this.chartController.updateForPanelChange({updatedColState:a,skipAnimation:n?.()})},this.valueSelect=this.groupComp.createManagedBean(new import_ag_grid_community293.AgSelect(o)),this.groupComp.addItem(this.valueSelect)}}refreshValueSelect(e){if(!this.valueSelect)return;const{options:t,value:i}=this.createValueSelectParams(e);this.valueSelect.clearOptions().addOptions(t).setValue(i,!0)}createValueSelectParams(e){let t;return{options:e.map(r=>{const n=r.displayName??"";return r.selected&&(t=r),{value:r,text:n}}),value:t}}onValueChange({added:e,updated:t,removed:i,selected:r}){let n,o;const a=()=>{r.forEach((l,c)=>{l.order=c}),o=!0};e.length?(n=e[0],n.selected=!0,a()):i.length?(n=i[0],n.selected=!1):t.length&&(a(),n=t[0]),n&&this.chartController.updateForPanelChange({updatedColState:n,resetOrder:o})}destroy(){this.valuePillSelect=void 0,this.valueSelect=void 0,super.destroy()}},DEFAULT_AGG_FUNC="sum",CategoriesDataPanel=class extends DragDataPanel{constructor(e,t,i,r,n){super(e,i,void 0,'<div id="categoriesGroup"></div>'),this.title=t,this.dimensionCols=r,this.isOpen=n}postConstruct(){this.groupComp=this.createBean(new AgGroupComponent({title:this.title,enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen})),this.createGroup(this.dimensionCols,e=>e.displayName??"","categoryAdd","categorySelect",()=>!this.chartController.getAggFunc()),this.createAggFuncControls(this.dimensionCols),this.getGui().appendChild(this.groupComp.getGui())}refresh(e){this.valuePillSelect?.setValues(e,e.filter(t=>t.selected)),this.refreshValueSelect(e),this.refreshAggFuncControls(e,this.chartController.getAggFunc())}createAggFuncControls(e){const t=this.chartController.getAggFunc();this.groupComp.addItem(this.aggFuncToggle=this.createBean(new import_ag_grid_community294.AgToggleButton({label:this.chartTranslation.translate("aggregate"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:t!=null,onValueChange:i=>{const r=i?DEFAULT_AGG_FUNC:void 0;this.chartController.setAggFunc(r),this.aggFuncSelect?.setValue(r,!0),this.aggFuncSelect?.setDisplayed(r!=null)}}))),this.groupComp.addItem(this.aggFuncSelect=this.createBean(new import_ag_grid_community294.AgSelect({options:[{value:"sum",text:this.chartTranslation.translate("sum")},{value:"first",text:this.chartTranslation.translate("first")},{value:"last",text:this.chartTranslation.translate("last")},{value:"min",text:this.chartTranslation.translate("min")},{value:"max",text:this.chartTranslation.translate("max")},{value:"count",text:this.chartTranslation.translate("count")},{value:"avg",text:this.chartTranslation.translate("avg")}],value:typeof t=="string"?t:void 0,onValueChange:i=>{this.chartController.setAggFunc(i)}}))),this.refreshAggFuncControls(e,t)}refreshAggFuncControls(e,t){const r=e.filter(n=>n.selected).some(n=>n.colId!==DEFAULT_CHART_CATEGORY);this.aggFuncToggle?.setValue(t!=null),this.aggFuncSelect?.setValue(typeof t=="string"?t:void 0,!0),this.aggFuncToggle?.setDisplayed(r),this.aggFuncSelect?.setDisplayed(r&&t!=null)}clearAggFuncControls(){this.aggFuncToggle=this.destroyBean(this.aggFuncToggle),this.aggFuncSelect=this.destroyBean(this.aggFuncSelect)}destroy(){this.clearAggFuncControls(),this.groupComp=this.destroyBean(this.groupComp),super.destroy()}},import_ag_stack170=require("ag-stack"),import_ag_grid_community296=require("ag-grid-community"),import_ag_grid_community295=require("ag-grid-community"),ChartMenuParamsFactory=class extends import_ag_grid_community295.BeanStub{constructor(e){super(),this.chartOptionsProxy=e}wireBeans(e){this.chartTranslation=e.chartTranslation}getDefaultColorPickerParams(e,t,i){return this.addValueParams(e,{label:this.chartTranslation.translate(t??"color"),labelWidth:"flex",inputWidth:"flex",labelAlignment:"top",pickerGap:6},i)}getDefaultNumberInputParams(e,t,i){return this.addValueParams(e,{label:this.chartTranslation.translate(t),labelAlignment:"top",labelWidth:"flex",inputWidth:"flex",precision:i?.precision,step:i?.step,min:i?.min,max:i?.max},{parseInputValue:r=>(0,import_ag_grid_community295._toFiniteNumber)(r)??void 0,formatInputValue:r=>r==null?"":`${r}`})}getDefaultSliderParams(e,t,i,r){let n=this.chartOptionsProxy.getValue(e)??0;r&&Array.isArray(n)&&(n=n[0]);const o=this.getDefaultSliderParamsWithoutValueParams(n,t,i);return o.onValueChange=a=>this.chartOptionsProxy.setValue(e,r?[a]:a),o}getDefaultSliderParamsWithoutValueParams(e,t,i){return{label:this.chartTranslation.translate(t),minValue:0,maxValue:Math.max(e,i),textFieldWidth:45,value:`${e}`}}getDefaultCheckboxParams(e,t,i){const r=this.chartOptionsProxy.getValue(e),n={label:this.chartTranslation.translate(t),value:r,readOnly:i?.readOnly,passive:i?.passive};return n.onValueChange=o=>{this.chartOptionsProxy.setValue(e,typeof o=="boolean"?o:void 0)},n}getDefaultToggleParams(e,t,i){const r=this.chartOptionsProxy.getValue(e),n={label:this.chartTranslation.translate(t),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:r,readOnly:i?.readOnly,passive:i?.passive};return n.onValueChange=o=>{this.chartOptionsProxy.setValue(e,typeof o=="boolean"?o:void 0)},n}getDefaultSelectParams(e,t,i){return this.getDefaultSelectParamsWithoutValueParams(t,i,this.chartOptionsProxy.getValue(e),r=>{this.chartOptionsProxy.setValue(e,r)})}getDefaultSelectParamsWithoutValueParams(e,t,i,r){return{label:this.chartTranslation.translate(e),labelAlignment:"top",options:t,pickerGap:6,value:i,onValueChange:r}}getDefaultFontPanelParams(e,t){const i=r=>`${e}.${r}`;return this.addEnableParams(i("enabled"),{name:this.chartTranslation.translate(t),suppressEnabledCheckbox:!1,chartMenuParamsFactory:this,keyMapper:i})}addValueParams(e,t,i){const r=this.chartOptionsProxy.getValue(e);return t.value=i?.formatInputValue?i.formatInputValue(r):r,t.onValueChange=n=>{const o=i?.parseInputValue?i.parseInputValue(n):n;this.chartOptionsProxy.setValue(e,o)},t}addEnableParams(e,t){return t.enabled=this.chartOptionsProxy.getValue(e)??!1,t.onEnableChange=i=>this.chartOptionsProxy.setValue(e,i),t}getChartOptions(){return this.chartOptionsProxy}},ChartSpecificDataPanel=class extends import_ag_grid_community296.Component{constructor(e,t){super(),this.chartMenuContext=e,this.isOpen=t,this.chartSpecificGroup=import_ag_stack170.RefPlaceholder,this.hasContent=!1}wireBeans(e){this.chartTranslation=e.chartTranslation,this.chartSvc=e.chartSvc}postConstruct(){const t={title:this.getTitle(),enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen,items:[...this.createDirectionSelect(),this.createReverseSelect(),this.createGroupTypeSelect()]};this.setTemplate(`
            <div id="chartSpecificGroup">
                <ag-group-component data-ref="chartSpecificGroup"></ag-group-component>
            </div>`,[AgGroupComponentSelector],{chartSpecificGroup:t}),this.setDisplayed(this.hasContent)}refresh(){this.hasContent=!1,this.chartSpecificGroup.setTitle(this.getTitle()),this.updateDirectionSelect(),this.updateReverseSelect(),this.updateGroupTypeSelect(),this.setDisplayed(this.hasContent)}getTitle(){const e=this.chartMenuContext.chartController.getChartType();return this.chartTranslation.translate(getFullChartNameTranslationKey(e))}createDirectionSelect(){if(!this.chartSvc.isEnterprise())return[];const{chartOptionsService:e,chartController:t}=this.chartMenuContext,i=e.getSeriesOptionsProxy(()=>getSeriesType(t.getChartType())),r=this.createManagedBean(new ChartMenuParamsFactory(i)),n=["horizontal","vertical"].map(l=>({value:l,text:this.chartTranslation.translate(l)})),o=r.getDefaultSelectParams("direction","direction",n),a=o.onValueChange;return o.onValueChange=l=>{a(l),t.raiseChartModelUpdateEvent()},this.directionSelect=this.createManagedBean(new import_ag_grid_community296.AgSelect(o)),this.updateDirectionSelect(),[this.directionSelect]}createReverseSelect(){const{chartMenuParamsFactory:e}=this.chartMenuContext,t=e.getDefaultToggleParams("series.reverse","reverse");return this.reverseToggle=this.createManagedBean(new import_ag_grid_community296.AgToggleButton(t)),this.updateReverseSelect(),this.reverseToggle}updateReverseSelect(){const e=this.chartMenuContext.chartController.getChartType()==="pyramid";this.updateDisplayed(this.reverseToggle,e)}updateDirectionSelect(){const e=canSwitchDirection(this.chartMenuContext.chartController.getChartType());this.updateDisplayed(this.directionSelect,e)}createGroupTypeSelect(){const{chartController:e,chartMenuParamsFactory:t}=this.chartMenuContext;return this.groupTypeSelect=this.createManagedBean(new import_ag_grid_community296.AgSelect(t.getDefaultSelectParamsWithoutValueParams("seriesGroupType",SERIES_GROUP_TYPES.map(i=>({value:i,text:this.chartTranslation.translate(`${i}SeriesGroupType`)})),e.getSeriesGroupType(),i=>e.setSeriesGroupType(i)))),this.updateGroupTypeSelect(),this.groupTypeSelect}updateGroupTypeSelect(){const e=["radialColumn","radialBar","nightingale"].includes(this.chartMenuContext.chartController.getChartType());this.updateDisplayed(this.groupTypeSelect,e)}updateDisplayed(e,t){e?.setDisplayed(t),e&&(this.hasContent=this.hasContent||t)}},import_ag_stack171=require("ag-stack"),import_ag_grid_community297=require("ag-grid-community"),SeriesChartTypePanel=class extends import_ag_grid_community297.Component{constructor(e,t,i){super('<div id="seriesChartTypeGroup"></div>'),this.chartController=e,this.columns=t,this.isOpen=i,this.selectedColIds=[],this.chartTypeComps=new Map,this.secondaryAxisComps=new Map}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){this.createSeriesChartTypeGroup(this.columns)}refresh(e){(0,import_ag_stack171._areEqual)(this.getValidColIds(e),this.selectedColIds)?this.refreshComps():this.recreate(e)}recreate(e){this.isOpen=this.seriesChartTypeGroupComp.isExpanded(),(0,import_ag_stack171._clearElement)(this.getGui()),this.destroyBean(this.seriesChartTypeGroupComp),this.columns=e,this.selectedColIds=[],this.clearComps(),this.postConstruct()}getValidColIds(e){const t=this.chartController.getSeriesChartTypes();return e.filter(i=>i.selected&&!!t.filter(r=>r.colId===i.colId)[0]).map(({colId:i})=>i)}createSeriesChartTypeGroup(e){this.seriesChartTypeGroupComp=this.createBean(new AgGroupComponent({title:this.chartTranslation.translate("seriesChartType"),enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen}));const t=this.chartController.getSeriesChartTypes();for(const i of e){if(!i.selected)continue;const r=t.filter(u=>u.colId===i.colId)[0];if(!r)continue;this.selectedColIds.push(i.colId);const n=this.seriesChartTypeGroupComp.createManagedBean(new AgGroupComponent({title:i.displayName,enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!0,cssIdentifier:"charts-format-sub-level"})),o=u=>["groupedColumn","stackedColumn","stackedArea"].includes(u),a=this.seriesChartTypeGroupComp.createManagedBean(new import_ag_grid_community297.AgCheckbox({label:this.chartTranslation.translate("secondaryAxis"),labelWidth:"flex",disabled:o(r.chartType),value:!!r.secondaryAxis,onValueChange:u=>this.chartController.updateSeriesChartType(i.colId,void 0,u)}));n.addItem(a);const l=["line","area","stackedArea","groupedColumn","stackedColumn"].map(u=>({value:u,text:this.chartTranslation.translate(getFullChartNameTranslationKey(u))})),c=n.createManagedBean(new import_ag_grid_community297.AgSelect({options:l,value:r.chartType,onValueChange:u=>this.chartController.updateSeriesChartType(i.colId,u)}));n.addItem(c),this.seriesChartTypeGroupComp.addItem(n),this.chartTypeComps.set(i.colId,c),this.secondaryAxisComps.set(i.colId,a)}this.getGui().appendChild(this.seriesChartTypeGroupComp.getGui())}refreshComps(){const e=this.chartController.getSeriesChartTypes();for(const t of this.selectedColIds){const i=e.find(o=>o.colId===t);if(!i)continue;const r=this.chartTypeComps.get(t),n=this.secondaryAxisComps.get(t);r?.setValue(i.chartType),n?.setValue(!!i.secondaryAxis),n?.setDisabled(this.isSecondaryAxisDisabled(i.chartType))}}clearComps(){this.chartTypeComps.clear(),this.secondaryAxisComps.clear()}isSecondaryAxisDisabled(e){return["groupedColumn","stackedColumn","stackedArea"].includes(e)}destroy(){this.clearComps(),this.seriesChartTypeGroupComp=this.destroyBean(this.seriesChartTypeGroupComp),super.destroy()}},import_ag_grid_community298=require("ag-grid-community"),SeriesDataPanel=class extends DragDataPanel{constructor(e,t,i,r,n,o,a){super(e,r,n,'<div id="seriesGroup"></div>'),this.chartOptionsService=t,this.title=i,this.valueCols=o,this.isOpen=a}postConstruct(){if(this.groupComp=this.createBean(new AgGroupComponent({title:this.title,enabled:!0,suppressEnabledCheckbox:!0,suppressOpenCloseIcons:!1,cssIdentifier:"charts-data",expanded:this.isOpen})),this.chartController.isActiveXYChart()){const e=this.groupComp.createManagedBean(new import_ag_grid_community298.AgToggleButton({label:this.chartTranslation.translate("paired"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:this.chartOptionsService.getPairedMode(),onValueChange:t=>{this.chartOptionsService.setPairedMode(!!t),this.chartController.updateForGridChange({maintainColState:!0})}}));this.groupComp.addItem(e)}this.createGroup(this.valueCols,this.generateGetSeriesLabel(this.valueCols),"seriesAdd","seriesSelect"),this.getGui().appendChild(this.groupComp.getGui())}refresh(e){this.valuePillSelect?.setValueFormatter(this.generateGetSeriesLabel(e)),this.valuePillSelect?.setValues(e,e.filter(t=>t.selected)),this.refreshValueSelect(e)}generateGetSeriesLabel(e){if(!this.chartController.isActiveXYChart())return o=>o.displayName??"";const t=e.filter(o=>o.selected),i=this.chartController.getChartType()==="bubble",r=this.chartOptionsService.getPairedMode(),n=new Map;return n.set(0,"X"),n.set(1,"Y"),n.set(2,"size"),o=>{const a=o.displayName??"";if(!o.selected)return a;const l=t.indexOf(o);if(l===-1)return a;let c;return r?c=n.get(l%(i?3:2)):l===0?c="X":c=i&&l%2===0?"size":"Y",`${a} (${c})`}}destroy(){this.groupComp=this.destroyBean(this.groupComp),super.destroy()}},DefaultDataPanelDef={groups:[{type:"categories",isOpen:!0},{type:"series",isOpen:!0},{type:"seriesChartType",isOpen:!0},{type:"chartSpecific",isOpen:!0}]},ChartDataPanel=class extends import_ag_grid_community299.Component{constructor(e){super('<div class="ag-chart-data-wrapper ag-scrollable-container"></div>'),this.chartMenuContext=e,this.isSwitchCategorySeriesToggled=!1,this.restoreSwitchCategorySeriesToggleFocus=!1,this.panels=[],this.chartController=e.chartController}wireBeans(e){this.chartTranslation=e.chartTranslation,this.chartSvc=e.chartSvc}postConstruct(){this.createSwitchCategorySeriesToggle(),this.isSwitchCategorySeriesToggled=this.chartController.isCategorySeriesSwitched(),this.updatePanels();const e=this.updatePanels.bind(this);this.addManagedListeners(this.chartController,{chartModelUpdate:e,chartApiUpdate:e})}destroy(){this.clearPanelComponents(),super.destroy()}updatePanels(){const e=this.chartType,t=this.isSwitchCategorySeriesToggled,{dimensionCols:i,valueCols:r}=this.chartController.getColStateForMenu();this.chartType=this.chartController.getChartType(),this.isSwitchCategorySeriesToggled=this.chartController.isCategorySeriesSwitched();const n=this.isSwitchCategorySeriesToggled!==t;this.canRefresh(e,this.chartType)&&!n?(this.categoriesDataPanel?.refresh(i),this.seriesDataPanel?.refresh(r),this.seriesChartTypePanel?.refresh(r),this.chartSpecificPanel?.refresh()):this.recreatePanels(i,r);const o=supportsInvertedCategorySeries(this.chartType)&&this.chartSvc.isEnterprise()&&!this.chartController.isGrouping();(0,import_ag_stack172._setDisplayed)(this.switchCategorySeriesToggle.getGui(),o),n&&this.switchCategorySeriesToggle?.setValue(this.chartController.isCategorySeriesSwitched()),this.restoreSwitchCategorySeriesToggleFocus&&(this.restoreSwitchCategorySeriesToggleFocus=!1,o&&this.switchCategorySeriesToggle.getFocusableElement().focus())}canRefresh(e,t){if(e===void 0)return!1;if(e===t)return!0;const i=r=>["columnLineCombo","areaColumnCombo","customCombo"].includes(r);return!!(i(e)&&i(t))}recreatePanels(e,t){this.clearPanelComponents();const{chartType:i}=this;if(!i)return;const r=this.chartController.isCategorySeriesSwitched();this.getDataPanelDef().groups?.forEach(({type:n,isOpen:o})=>{n===(r?"series":"categories")?(this.categoriesDataPanel=this.createBean(new CategoriesDataPanel(this.chartController,this.getCategoryGroupTitle(r),this.getCategoryGroupMultipleSelect(i,r),e,o)),this.panels.push(this.categoriesDataPanel)):n===(r?"categories":"series")?(this.seriesDataPanel=this.createBean(new SeriesDataPanel(this.chartController,this.chartMenuContext.chartOptionsService,this.getSeriesGroupTitle(r),this.getSeriesGroupMultipleSelect(i,r),this.getSeriesGroupMaxSelection(i,r),t,o)),this.panels.push(this.seriesDataPanel)):n==="seriesChartType"?this.chartController.isComboChart()&&(this.seriesChartTypePanel=this.createBean(new SeriesChartTypePanel(this.chartController,t,o)),this.panels.push(this.seriesChartTypePanel)):n==="chartSpecific"?(this.chartSpecificPanel=this.createBean(new ChartSpecificDataPanel(this.chartMenuContext,o)),this.panels.push(this.chartSpecificPanel)):this.beans.log.warn(144,{type:n})}),(r?this.categoriesDataPanel:this.seriesDataPanel)?.addItem(this.switchCategorySeriesToggle.getGui()),this.addPanelComponents()}addPanelComponents(){if(!this.panels.length)return;const t=(0,import_ag_stack172._getDocument)(this.beans).createDocumentFragment();for(const i of this.panels)i.addCss("ag-chart-data-section"),t.appendChild(i.getGui());this.getGui().appendChild(t)}clearPanelComponents(){for(const e of this.panels)e.getGui().remove(),this.destroyBean(e);this.panels=[]}getDataPanelDef(){return this.gos.get("chartToolPanelsDef")?.dataPanel??DefaultDataPanelDef}getCategoryGroupTitle(e){return e?this.chartTranslation.translate("seriesLabels"):this.chartTranslation.translate(this.chartController.isActiveXYChart()?"labels":"categories")}getCategoryGroupMultipleSelect(e,t){return t?!1:getMaxNumCategories(e)!==1}getSeriesGroupTitle(e){return e?this.chartTranslation.translate("categoryValues"):this.chartTranslation.translate(this.chartController.isActiveXYChart()?"xyValues":"series")}getSeriesGroupMultipleSelect(e,t){return this.getSeriesGroupMaxSelection(e,t)!==1}getSeriesGroupMaxSelection(e,t){if(!t)return getMaxNumSeries(e)}createSwitchCategorySeriesToggle(){this.switchCategorySeriesToggle=this.createManagedBean(new import_ag_grid_community299.AgToggleButton({label:this.chartTranslation.translate("switchCategorySeries"),labelAlignment:"left",labelWidth:"flex",inputWidth:"flex",value:this.chartController.isCategorySeriesSwitched(),onValueChange:e=>{this.restoreSwitchCategorySeriesToggleFocus=!0,this.chartController.switchCategorySeries(e)}}))}},import_ag_grid_community324=require("ag-grid-community"),import_ag_stack176=require("ag-stack"),import_ag_grid_community304=require("ag-grid-community"),import_ag_stack173=require("ag-stack"),import_ag_grid_community300=require("ag-grid-community"),AgAngleSelect=class extends import_ag_grid_community300.AgAbstractLabel{constructor(e){super(e,`<div class="ag-angle-select">
            <div data-ref="eLabel"></div>
            <div class="ag-wrapper ag-angle-select-wrapper">
                <div class="ag-angle-select-field">
                    <div data-ref="eParentCircle" class="ag-angle-select-parent-circle">
                        <div data-ref="eChildCircle" class="ag-angle-select-child-circle"></div>
                    </div>
                </div>
                <ag-input-number-field data-ref="eAngleValue"></ag-input-number-field>
            </div>
        </div>`,[import_ag_grid_community300.AgInputNumberFieldSelector]),this.eLabel=import_ag_stack173.RefPlaceholder,this.eParentCircle=import_ag_stack173.RefPlaceholder,this.eChildCircle=import_ag_stack173.RefPlaceholder,this.eAngleValue=import_ag_stack173.RefPlaceholder,this.radius=0,this.offsetX=0,this.offsetY=0}wireBeans(e){this.dragSvc=e.dragSvc}postConstruct(){super.postConstruct();const{value:e,onValueChange:t}=this.config;e!=null&&this.setValue(e,void 0,!0),t!=null&&this.onValueChange(t),this.dragListener={eElement:this.eParentCircle,dragStartPixels:0,onDragStart:()=>{this.parentCircleRect=this.eParentCircle.getBoundingClientRect()},onDragging:i=>this.calculateAngleDrag(i),onDragStop:()=>{}},this.dragSvc?.addDragSource(this.dragListener),this.eAngleValue.setLabel("").setLabelWidth(5).setInputWidth(45).setMin(0).setMax(360).setValue(`${this.degrees}`).onValueChange(i=>{(i==null||i==="")&&(i="0"),i=this.eAngleValue.normalizeValue(i);let r=parseFloat(i);r>180&&(r=r-360),this.setValue(r)}),this.updateNumberInput(),(0,import_ag_stack173._exists)(this.getValue())&&this.eAngleValue.setValue(this.normalizeNegativeValue(this.getValue()).toString()),this.addManagedListeners(this,{fieldValueChanged:()=>{this.eAngleValue.getInputElement().contains((0,import_ag_stack173._getActiveDomElement)(this.beans))||this.updateNumberInput()}})}updateNumberInput(){const e=this.normalizeNegativeValue(this.getValue());this.eAngleValue.setValue(e.toString())}positionChildCircle(e){const t=this.parentCircleRect||{width:24,height:24},i=this.eChildCircle,r=t.width/2,n=t.height/2;i.style.left=`${r+Math.cos(e)*8}px`,i.style.top=`${n+Math.sin(e)*8}px`}calculatePolar(){const e=this.offsetX,t=this.offsetY,i=Math.atan2(t,e);this.degrees=this.toDegrees(i),this.radius=Math.sqrt(e*e+t*t),this.positionChildCircle(i)}calculateCartesian(){const e=this.toRadians(this.getValue()),t=this.getRadius();this.setOffsetX(Math.cos(e)*t).setOffsetY(Math.sin(e)*t)}setOffsetX(e){return this.offsetX!==e&&(this.offsetX=e,this.calculatePolar()),this}setOffsetY(e){return this.offsetY!==e&&(this.offsetY=e,this.calculatePolar()),this}calculateAngleDrag(e){const t=this.parentCircleRect,i=t.width/2,r=t.height/2,n=e.clientX-t.left,o=e.clientY-t.top,a=n-i,l=o-r,c=Math.atan2(l,a);this.setValue(c,!0)}toDegrees(e){return e/Math.PI*180}toRadians(e){return e/180*Math.PI}normalizeNegativeValue(e){return e<0?360+e:e}normalizeAngle180(e){return e%=Math.PI*2,e<-Math.PI?e+=Math.PI*2:e>=Math.PI&&(e-=Math.PI*2),e}getRadius(){return this.radius}setRadius(e){return this.radius===e?this:(this.radius=e,this.calculateCartesian(),this)}onValueChange(e){return this.addManagedListeners(this,{fieldValueChanged:()=>{e(this.degrees)}}),this}getValue(e){return e?this.toRadians(this.degrees):this.degrees}setValue(e,t,i){let r;return t?r=e:r=this.normalizeAngle180(this.toRadians(e)),e=this.toDegrees(r),this.degrees!==e&&(this.degrees=Math.floor(e),this.calculateCartesian(),this.positionChildCircle(r),i||this.dispatchLocalEvent({type:"fieldValueChanged"})),this}setWidth(e){return(0,import_ag_stack173._setFixedWidth)(this.getGui(),e),this}setDisabled(e){return super.setDisabled(e),this.eAngleValue.setDisabled(e),this}destroy(){this.dragSvc?.removeDragSource(this.dragListener),super.destroy()}},import_ag_stack174=require("ag-stack"),import_ag_grid_community301=require("ag-grid-community"),FontPanel=class extends import_ag_grid_community301.Component{constructor(e){super(),this.params=e,this.fontGroup=import_ag_stack174.RefPlaceholder,this.activeComps=[],this.chartOptions=e.chartMenuParamsFactory.getChartOptions()}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{cssIdentifier:e="charts-format-sub-level",name:t,enabled:i,onEnableChange:r,suppressEnabledCheckbox:n}=this.params,o={cssIdentifier:e,direction:"vertical",suppressOpenCloseIcons:!0,title:t,enabled:i,suppressEnabledCheckbox:!0,onEnableChange:a=>{r&&r(a)},useToggle:!n};this.setTemplate(`<div class="ag-font-panel">
        <ag-group-component data-ref="fontGroup">
            <ag-select data-ref="familySelect"></ag-select>
            <ag-select data-ref="weightStyleSelect"></ag-select>
            <div class="ag-charts-font-size-color">
                <ag-select data-ref="sizeSelect"></ag-select>
                <ag-color-picker data-ref="colorPicker"></ag-color-picker>
            </div>
        </ag-group-component>
    </div>`,[AgGroupComponentSelector,import_ag_grid_community301.AgSelectSelector,ColorPickerSelector],{fontGroup:o,familySelect:this.getFamilySelectParams(),weightStyleSelect:this.getWeightStyleSelectParams(),sizeSelect:this.getSizeSelectParams(),colorPicker:this.getColorPickerParams()}),this.toggleCss("ag-font-panel-no-header",!t)}addItem(e,t){t?this.fontGroup.prependItem(e):this.fontGroup.addItem(e),this.activeComps.push(e)}setEnabled(e){this.fontGroup.setEnabled(e)}getColorPickerParams(){const{chartMenuParamsFactory:e,keyMapper:t,fontValueWhenUnset:i}=this.params,r=e.getDefaultColorPickerParams(t("color"));if(r.value??(r.value=i?.("color")),r.value==null){const n=this.chartOptions.getValue(t("placement"));if(typeof n=="string"){const o=n.startsWith("inside")?"insideStyle":"outsideStyle";r.value=this.chartOptions.getValue(t(`${o}.color`))}}return r}getFamilySelectParams(){const e=["Arial, sans-serif","Aria Black, sans-serif","Book Antiqua,  serif","Charcoal, sans-serif","Comic Sans MS, cursive","Courier, monospace","Courier New, monospace","Gadget, sans-serif","Geneva, sans-serif","Helvetica, sans-serif","Impact, sans-serif","Lucida Console, monospace","Lucida Grande, sans-serif","Lucida Sans Unicode,  sans-serif","Monaco, monospace","Palatino Linotype, serif","Palatino, serif","Times New Roman, serif","Times, serif","Verdana, sans-serif"],t=e.map(n=>({value:n,text:n})),i=this.getInitialFontValue("fontFamily");let r=e[0];if(i){const n=parseChartFontFamily(i),a=e.map(l=>l.toLowerCase()).indexOf(n.toLowerCase());a>=0?r=e[a]:(t.push({value:i,text:n}),r=i)}return t.sort(({text:n},{text:o})=>(0,import_ag_stack174._defaultComparator)(n,o)),this.params.chartMenuParamsFactory.getDefaultSelectParamsWithoutValueParams("font",t,`${r}`,n=>this.setFont({fontFamily:n}))}getSizeSelectParams(){const e=[8,10,12,14,16,18,20,22,24,26,28,30,32,34,36],t=this.getInitialFontValue("fontSize");t!=null&&!e.includes(t)&&e.push(t);const i=e.sort((r,n)=>r-n).map(r=>({value:`${r}`,text:`${r}`}));return this.params.chartMenuParamsFactory.getDefaultSelectParamsWithoutValueParams("size",i,t==null?void 0:`${t}`,r=>this.setFont({fontSize:parseInt(r,10)}))}getWeightStyleSelectParams(){const e=this.getInitialFontValue("fontWeight")??"normal",t=this.getInitialFontValue("fontStyle")??"normal",i=[{name:"normal",weight:"normal",style:"normal"},{name:"bold",weight:"bold",style:"normal"},{name:"italic",weight:"normal",style:"italic"},{name:"boldItalic",weight:"bold",style:"italic"}];let r=i.find(o=>o.weight===e&&o.style===t);r||(r={name:"predefined",weight:e,style:t},i.unshift(r));const n=i.map(o=>({value:o.name,text:this.chartTranslation.translate(o.name)}));return this.params.chartMenuParamsFactory.getDefaultSelectParamsWithoutValueParams("weight",n,r.name,o=>{const a=i.find(l=>l.name===o);this.setFont({fontWeight:a.weight,fontStyle:a.style})})}destroyActiveComps(){for(const e of this.activeComps)(0,import_ag_stack174._removeFromParent)(e.getGui()),this.destroyBean(e)}destroy(){this.destroyActiveComps(),super.destroy()}setFont(e){const{keyMapper:t}=this.params;for(const i of Object.keys(e)){const r=e[i];r&&this.chartOptions.setValue(t(i),r)}}getInitialFontValue(e){const{keyMapper:t,fontValueWhenUnset:i}=this.params;return this.chartOptions.getValue(t(e))??i?.(e)}};function parseChartFontFamily(e){const t=e.split(",");if(t.length===1)return e;const i=t[0];if(!i.startsWith('"')&&!i.startsWith("'"))return i;const r=i[0],n=[];for(const o of t)if(n.push(o),o.trim().endsWith(r))return n.join(",").slice(1,-1);return e}var import_ag_stack175=require("ag-stack"),import_ag_grid_community302=require("ag-grid-community"),AxisTicksPanel=class extends import_ag_grid_community302.Component{constructor(e){super(),this.chartMenuUtils=e,this.axisTicksSizeSlider=import_ag_stack175.RefPlaceholder}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{chartMenuUtils:e}=this,t=e.addEnableParams("tick.enabled",{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("ticks"),suppressEnabledCheckbox:!0,useToggle:!0}),i=e.getDefaultColorPickerParams("tick.stroke"),r=e.getDefaultSliderParams("tick.width","width",10),n=e.getDefaultSliderParams("tick.size","length",30);this.setTemplate(`<div>
            <ag-group-component data-ref="axisTicksGroup">
                <ag-color-picker data-ref="axisTicksColorPicker"></ag-color-picker>
                <ag-slider data-ref="axisTicksWidthSlider"></ag-slider>
                <ag-slider data-ref="axisTicksSizeSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,ColorPickerSelector,AgSliderSelector],{axisTicksGroup:t,axisTicksColorPicker:i,axisTicksWidthSlider:r,axisTicksSizeSlider:n})}setTickSizeSliderDisplayed(e){this.axisTicksSizeSlider.setDisplayed(e)}},import_ag_grid_community303=require("ag-grid-community"),GridLinePanel=class extends import_ag_grid_community303.Component{constructor(e){super(),this.chartMenuUtils=e,this.chartOptions=e.getChartOptions()}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuUtils.addEnableParams("gridLine.enabled",{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("gridLines"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.getGridLineColorPickerParams("color"),i=this.getGridLineWidthSliderParams("thickness"),r=this.getGridLineDashSliderParams("lineDash");this.setTemplate(`<div>
            <ag-group-component data-ref="gridLineGroup">
                <ag-color-picker data-ref="gridLineColorPicker"></ag-color-picker>
                <ag-slider data-ref="gridLineWidthSlider"></ag-slider>
                <ag-slider data-ref="gridLineLineDashSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,ColorPickerSelector,AgSliderSelector],{gridLineGroup:e,gridLineColorPicker:t,gridLineWidthSlider:i,gridLineLineDashSlider:r})}getGridLineColorPickerParams(e){return this.chartMenuUtils.getDefaultColorPickerParams("gridLine.style",e,{formatInputValue:t=>t?.[0]?.stroke,parseInputValue:t=>{const i=this.chartOptions.getValue("gridLine.style")??[];return i.length===0?[{stroke:t,lineDash:[]}]:[{...i[0],stroke:t}]}})}getGridLineWidthSliderParams(e){return this.chartMenuUtils.getDefaultSliderParams("gridLine.width",e,10)}getGridLineDashSliderParams(e){const i=this.chartOptions.getValue("gridLine.style")?.[0]?.lineDash?.[0],r=this.chartMenuUtils.getDefaultSliderParamsWithoutValueParams(i??0,e,30);return r.onValueChange=n=>{const o=this.chartOptions.getValue("gridLine.style.0.stroke");this.chartOptions.setValue("gridLine.style",[{lineDash:[n],stroke:o}])},r}},DEFAULT_TIME_AXIS_FORMAT="%d %B %Y",CartesianAxisPanel=class extends import_ag_grid_community304.Component{constructor(e,t){super(),this.axisType=e,this.options=t,this.axisGroup=import_ag_stack176.RefPlaceholder,this.axisTypeSelect=import_ag_stack176.RefPlaceholder,this.axisPositionSelect=import_ag_stack176.RefPlaceholder,this.axisTimeFormatSelect=import_ag_stack176.RefPlaceholder,this.activePanels=[],this.updateFuncs=[];const{chartOptionsService:i,seriesType:r,chartController:n}=t;this.chartOptionsService=i,this.chartController=n,this.chartOptionsSeriesProxy=i.getSeriesOptionsProxy(()=>r)}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{isExpandedOnInit:e,chartOptionsService:t,registerGroupComponent:i}=this.options,r=this.axisType,n={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.translate(r),expanded:e,suppressEnabledCheckbox:!0},o=t.getCartesianAxisOptionsProxy(this.axisType),a=this.createManagedBean(new ChartMenuParamsFactory(o)),l=this.createManagedBean(new ChartMenuParamsFactory(t.getCartesianAxisThemeOverridesProxy(this.axisType))),c=this.getAxisTypeSelectParams(a,t.getCartesianAxisAppliedThemeOverridesProxy(this.axisType)),u=this.getAxisPositionSelectParams(a),d=this.getAxisTimeFormatSelectParams(a),h=this.getAxisColorInputParams(l),p=this.getAxisLineWidthSliderParams(l);this.setTemplate(`<div>
            <ag-group-component data-ref="axisGroup">
                <ag-select data-ref="axisTypeSelect"></ag-select>
                <ag-select data-ref="axisTimeFormatSelect"></ag-select>
                <ag-select data-ref="axisPositionSelect"></ag-select>
                <ag-color-picker data-ref="axisColorInput"></ag-color-picker>
                <ag-slider data-ref="axisLineWidthSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community304.AgSelectSelector,ColorPickerSelector,AgSliderSelector],{axisGroup:n,axisTypeSelect:c??void 0,axisPositionSelect:u??void 0,axisTimeFormatSelect:d??void 0,axisColorInput:h,axisLineWidthSlider:p}),i(this.axisGroup),this.axisTypeSelect.setDisplayed(!!c.options?.length),u||this.removeTemplateComponent(this.axisPositionSelect);const g=()=>{const m=o.getValue("type")==="time";(0,import_ag_stack176._setDisplayed)(this.axisTimeFormatSelect.getGui(),m)};d?(g(),this.addManagedEventListeners({chartOptionsChanged:()=>{g()}})):this.removeTemplateComponent(this.axisTimeFormatSelect),this.initGridLines(l),this.initAxisTicks(l),this.initAxisLabels(l);const f=()=>{for(const m of this.updateFuncs)m()};this.addManagedListeners(this.chartController,{chartUpdated:f,chartModelUpdate:()=>setTimeout(()=>{this.isAlive()&&(this.refreshAxisTypeSelect(a),g())})})}getAxisTypeSelectParams(e,t){const i=e.getChartOptions(),r=this.getAxisTypeSelectOptions(),n=e.getDefaultSelectParams("type","axisType",r);return n.onValueChange=o=>{const a=i.getValue("type");if(o===a)return;const l=t.getValue("*"),c=a==="time",u=o==="time",d=c!==u?u?DEFAULT_TIME_AXIS_FORMAT:void 0:null;d===void 0&&i.clearValue?.("label","format"),this.chartOptionsService.setCartesianCategoryAxisType(this.axisType,o),d!=null&&i.setValue("label.format",d),t.setValue("*",l)},n}refreshAxisTypeSelect(e){const t=this.getAxisTypeSelectOptions(),i=!!t.length;this.axisTypeSelect.setDisplayed(i),i&&this.axisTypeSelect.clearOptions().addOptions(t).setValue(e.getChartOptions().getValue("type"))}getAxisTypeSelectOptions(){const e=this.chartController,t=e.getChartType(),i=()=>{const r=e.getChartData()[0];return r?e.getSelectedDimensions().every(n=>!isNaN(parseFloat(r[n.colId]))):!1};return["heatmap","histogram","boxPlot","rangeBar","scatter","bubble"].includes(t)||e.isGrouping()||!this.isCategoryAxis()||e.isCategorySeriesSwitched()||!i()?[]:["category","number","time"].map(r=>({value:r,text:this.translate(r)}))}isCategoryAxis(){const e=this.chartOptionsSeriesProxy.getValue("direction")==="horizontal";return e&&this.axisType==="yAxis"||!e&&this.axisType==="xAxis"}getAxisPositionSelectParams(e){const t=((i,r)=>{if(i==="heatmap")return null;if(r==="xAxis")return[{value:"top",text:this.translate("top")},{value:"bottom",text:this.translate("bottom")}];if(r==="yAxis")return[{value:"left",text:this.translate("left")},{value:"right",text:this.translate("right")}]})(this.chartController.getChartType(),this.axisType);return t?e.getDefaultSelectParams("position","position",t):null}getAxisTimeFormatSelectParams(e){if(!this.isCategoryAxis())return null;const t=[{value:"%d/%m/%Y",text:this.translate("timeFormatSlashesDDMMYYYY")},{value:"%m/%d/%Y",text:this.translate("timeFormatSlashesMMDDYYYY")},{value:"%d/%m/%y",text:this.translate("timeFormatSlashesDDMMYY")},{value:"%m/%d/%y",text:this.translate("timeFormatSlashesMMDDYY")},{value:"%d.%e.%y",text:this.translate("timeFormatDotsDDMYY")},{value:"%e.%d.%y",text:this.translate("timeFormatDotsMDDYY")},{value:"%Y-%m-%d",text:this.translate("timeFormatDashesYYYYMMDD")},{value:"%d %B %Y",text:this.translate("timeFormatSpacesDDMMMMYYYY")},{value:"%H:%M:%S",text:this.translate("timeFormatHHMMSS")},{value:"%I:%M:%S %p",text:this.translate("timeFormatHHMMSSAmPm")}];return e.getDefaultSelectParams("label.format","timeFormat",t)}getAxisColorInputParams(e){return e.getDefaultColorPickerParams("line.stroke")}getAxisLineWidthSliderParams(e){const t=e.getChartOptions(),i=()=>t.getValue("line.enabled")?t.getValue("line.width"):null,r=o=>{t.setValues([{expression:"line.enabled",value:o!=null},{expression:"line.width",value:o??0}])},n=e.getDefaultSliderParamsWithoutValueParams(i()??0,"thickness",10);return n.onValueChange=o=>{r(o===0?null:o)},n}initGridLines(e){if(this.chartController.getChartType()==="heatmap")return;const i=this.createBean(new GridLinePanel(e));this.axisGroup.addItem(i),this.activePanels.push(i)}initAxisTicks(e){if(!this.hasConfigurableAxisTicks())return;const t=this.createBean(new AxisTicksPanel(e));this.axisGroup.addItem(t),this.activePanels.push(t);const i=()=>t.setTickSizeSliderDisplayed(this.isGroupedCategoryAxis());this.updateFuncs.push(i),i()}hasConfigurableAxisTicks(){switch(this.chartController.getChartType()){case"radarLine":case"radarArea":case"rangeBar":case"boxPlot":case"waterfall":return!1;default:return!0}}initAxisLabels(e){const t={name:this.translate("labels"),enabled:!0,suppressEnabledCheckbox:!0,chartMenuParamsFactory:e,keyMapper:r=>`label.${r}`},i=this.createBean(new FontPanel(t));this.axisGroup.addItem(i),this.activePanels.push(i),this.addAdditionalLabelComps(i,e)}addAdditionalLabelComps(e,t){this.addLabelPadding(e,t);const i=this.createRotationWidget("labelRotation",t),r=this.initLabelRotation(i,t);e.addItem(r),e.addItem(i)}initLabelRotation(e,t){const i=t.getChartOptions(),r=()=>i.getValue("label.rotation"),n=()=>i.getValue("label.autoRotate"),o=d=>{d&&(this.prevRotation=r()),i.setValues([{expression:"label.autoRotate",value:d},{expression:"label.rotation",value:d?void 0:this.prevRotation}]),e.setDisplayed(!d)},l=typeof r()=="number"?!1:n(),c=this.createBean(new import_ag_grid_community304.AgCheckbox({label:this.translate("autoRotate"),value:l,onValueChange:o}));e.setDisplayed(!l);const u=()=>c.setDisplayed(this.isGroupedCategoryAxis());return this.updateFuncs.push(u),u(),c}createRotationWidget(e,t){const i=t.getChartOptions(),r=()=>i.getValue("label.rotation"),n=c=>i.setValue("label.rotation",c),a=`${this.chartTranslation.translate(e)} \xB0`,l=new AgAngleSelect({label:a,labelWidth:"flex",value:r()??0,onValueChange:n});return this.updateFuncs.push(()=>{l.setValue(r()??0)}),this.createBean(l)}isGroupedCategoryAxis(){return this.chartOptionsService.getCartesianAxisOptionsProxy(this.axisType).getValue("type")==="grouped-category"?!this.isCategoryAxis():!0}addLabelPadding(e,t){const i=this.createBean(new AgSlider(t.getDefaultSliderParams("label.spacing","padding",30)));e.addItem(i)}translate(e){return this.chartTranslation.translate(e)}removeTemplateComponent(e){(0,import_ag_stack176._removeFromParent)(e.getGui()),this.destroyBean(e)}destroyActivePanels(){for(const e of this.activePanels)(0,import_ag_stack176._removeFromParent)(e.getGui()),this.destroyBean(e)}destroy(){this.destroyActivePanels(),super.destroy()}},import_ag_stack177=require("ag-stack"),import_ag_grid_community305=require("ag-grid-community"),PolarAxisPanel=class extends import_ag_grid_community305.Component{constructor(e){super(),this.options=e,this.axisGroup=import_ag_stack177.RefPlaceholder}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{isExpandedOnInit:e,chartOptionsService:t,registerGroupComponent:i}=this.options,r={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.translate("polarAxis"),expanded:e,suppressEnabledCheckbox:!0},n=this.createManagedBean(new ChartMenuParamsFactory(t.getPolarAxisThemeOverridesProxy("angle"))),o=n.getDefaultColorPickerParams("line.stroke"),a=n.getDefaultSliderParams("line.width","thickness",10);this.setTemplate(`<div>
            <ag-group-component data-ref="axisGroup">
                <ag-color-picker data-ref="axisColorInput"></ag-color-picker>
                <ag-slider data-ref="axisLineWidthSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,ColorPickerSelector,AgSliderSelector],{axisGroup:r,axisColorInput:o,axisLineWidthSlider:a}),i(this.axisGroup),this.initAxis(n),this.initAxisLabels(n),this.initRadiusAxis()}createSingleAxisParamsFactory(e){return this.createManagedBean(new ChartMenuParamsFactory(this.options.chartOptionsService.getPolarAxisThemeOverridesProxy(e,"thisAxis")))}initAxis(e){const t=this.options.chartController.getChartType();if(["radarLine","radarArea"].includes(t)){const r=[{value:"circle",text:this.translate("circle")},{value:"polygon",text:this.translate("polygon")}];this.axisGroup.addItem(this.createSelect({chartAxisThemeOverrides:e,labelKey:"shape",options:r,property:"shape"}))}t!=="pie"&&this.axisGroup.addItem(this.createSlider({chartAxisThemeOverrides:this.createSingleAxisParamsFactory("radius"),labelKey:"innerRadius",defaultMaxValue:1,property:"innerRadiusRatio"}))}initAxisLabels(e){const t={name:this.translate("labels"),enabled:!0,suppressEnabledCheckbox:!0,chartMenuParamsFactory:e,keyMapper:n=>`label.${n}`},i=this.createManagedBean(new FontPanel(t)),r=this.createOrientationWidget();i.addItem(r),this.axisGroup.addItem(i)}createOrientationWidget(){const e=[{value:"fixed",text:this.translate("fixed")},{value:"parallel",text:this.translate("parallel")},{value:"perpendicular",text:this.translate("perpendicular")}];return this.createSelect({chartAxisThemeOverrides:this.createSingleAxisParamsFactory("angle"),labelKey:"orientation",options:e,property:"label.orientation",valueWhenUnset:"fixed"})}initRadiusAxis(){const e=getSeriesType(this.options.chartController.getChartType());if(!isRadial(e))return;const t=this.options.chartOptionsService.getPolarCategoryAxisType();if(!t)return;const i=this.createSingleAxisParamsFactory(t),r=[this.createSlider({chartAxisThemeOverrides:i,labelKey:"groupPadding",defaultMaxValue:1,property:"paddingInner"}),this.createSlider({chartAxisThemeOverrides:i,labelKey:"seriesPadding",defaultMaxValue:1,property:"groupPaddingInner"})],n=this.createManagedBean(new AgGroupComponent({cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,enabled:!0,suppressEnabledCheckbox:!0,title:this.translate("padding"),items:r})).hideEnabledCheckbox(!0).hideOpenCloseIcons(!0);this.axisGroup.addItem(n)}createSlider(e){const{labelKey:t,defaultMaxValue:i,step:r=.05,property:n,chartAxisThemeOverrides:o}=e,a=o.getDefaultSliderParams(n,t,i);return a.step=r,this.createManagedBean(new AgSlider(a))}createSelect(e){const{labelKey:t,options:i,property:r,chartAxisThemeOverrides:n,valueWhenUnset:o}=e,a=n.getDefaultSelectParams(r,t,i);return a.value??(a.value=o),this.createManagedBean(new import_ag_grid_community305.AgSelect(a))}translate(e){return this.chartTranslation.translate(e)}},import_ag_stack179=require("ag-stack"),import_ag_grid_community308=require("ag-grid-community"),import_ag_grid_community306=require("ag-grid-community"),BackgroundPanel=class extends import_ag_grid_community306.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuUtils.addEnableParams("background.visible",{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("background"),suppressEnabledCheckbox:!0,useToggle:!0}),t=this.chartMenuUtils.getDefaultColorPickerParams("background.fill");this.setTemplate(`<div>
            <ag-group-component data-ref="chartBackgroundGroup">
                <ag-color-picker data-ref="colorPicker"></ag-color-picker>
            </ag-group-component>
        <div>`,[AgGroupComponentSelector,ColorPickerSelector],{chartBackgroundGroup:e,colorPicker:t})}},import_ag_stack178=require("ag-stack"),import_ag_grid_community307=require("ag-grid-community"),PaddingPanel=class extends import_ag_grid_community307.Component{constructor(e,t){super(),this.chartMenuUtils=e,this.chartController=t,this.paddingTopSlider=import_ag_stack178.RefPlaceholder}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("padding"),suppressEnabledCheckbox:!0},t=i=>this.chartMenuUtils.getDefaultSliderParams("padding."+i,i,200);this.setTemplate(`<div>
            <ag-group-component data-ref="chartPaddingGroup">
                <ag-slider data-ref="paddingTopSlider"></ag-slider>
                <ag-slider data-ref="paddingRightSlider"></ag-slider>
                <ag-slider data-ref="paddingBottomSlider"></ag-slider>
                <ag-slider data-ref="paddingLeftSlider"></ag-slider>
            </ag-group-component>
        <div>`,[AgGroupComponentSelector,AgSliderSelector],{chartPaddingGroup:e,paddingTopSlider:t("top"),paddingRightSlider:t("right"),paddingBottomSlider:t("bottom"),paddingLeftSlider:t("left")}),this.addManagedEventListeners({chartOptionsChanged:i=>{this.updateTopPadding(i.chartOptions)}})}updateTopPadding(e){const t=[...this.chartController.getChartSeriesTypes(),"common"].map(i=>{const r=e?.[i]?.padding;return typeof r=="number"?r:r?.top}).find(i=>i!=null);t!=null&&this.paddingTopSlider.setValue(`${t}`)}},ChartPanel=class extends import_ag_grid_community308.Component{constructor(e){super(),this.options=e,this.chartGroup=import_ag_stack179.RefPlaceholder}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{chartController:e,chartMenuParamsFactory:t,isExpandedOnInit:i,registerGroupComponent:r}=this.options,n={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.chartTranslation.translate("chartStyle"),expanded:i,suppressEnabledCheckbox:!0,items:[this.createManagedBean(new PaddingPanel(t,e)),this.createManagedBean(new BackgroundPanel(t))]};this.setTemplate(`<div>
            <ag-group-component data-ref="chartGroup"></ag-group-component>
        </div>`,[AgGroupComponentSelector],{chartGroup:n}),r(this.chartGroup)}},import_ag_grid_community309=require("ag-grid-community"),GroupExpansionFeature=class extends import_ag_grid_community309.BeanStub{constructor(e){super(),this.groupContainer=e,this.id=0,this.groupComponents=new Map}addGroupComponent(e){const t=this.id++;this.groupComponents.set(t,e),e.isExpanded()&&(this.expandedGroupComponent=t),e.onExpandedChange(i=>{if(i){const r=this.expandedGroupComponent;if(this.expandedGroupComponent=t,r!=null){const n=e.getGui(),o=n.offsetTop-this.groupContainer.parentElement.scrollTop;this.groupComponents.get(r)?.toggleGroupExpand(!1,!0);let a=n.offsetTop-o;a<0&&(a=0),a!==this.groupContainer.parentElement.scrollTop&&(this.groupContainer.parentElement.scrollTop=a)}}else this.expandedGroupComponent=void 0})}destroy(){this.groupComponents.clear(),super.destroy()}},import_ag_stack180=require("ag-stack"),import_ag_grid_community310=require("ag-grid-community"),MAX_MARKER_STROKE_WIDTH=2,LegendPanel=class extends import_ag_grid_community310.Component{constructor(e,t){super(),this.options=e,this.legendGroup=import_ag_stack180.RefPlaceholder,this.enabledGroup=import_ag_stack180.RefPlaceholder,this.isGradient=["treemap","sunburst","heatmap"].includes(e.seriesType),this.key=this.isGradient?"gradientLegend":"legend",this.chartController=t.chartController}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{chartMenuParamsFactory:e,isExpandedOnInit:t,registerGroupComponent:i}=this.options,r=this.createManagedBean(new import_ag_grid_community310.AgSelect(e.getDefaultSelectParams(`${this.key}.position`,"position",["top","right","bottom","left"].map(a=>({value:a,text:this.chartTranslation.translate(a)})))));this.enabledGroup=this.createManagedBean(new AgGroupComponent(e.addEnableParams(`${this.key}.enabled`,{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("legendEnabled"),suppressEnabledCheckbox:!0,useToggle:!0,items:[this.createLabelPanel(e),r,...this.getItems(e)]})));const n={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.chartTranslation.translate("legend"),suppressEnabledCheckbox:!0,expanded:t,items:[this.enabledGroup]};this.setTemplate(`<div>
            <ag-group-component data-ref="legendGroup">
            </ag-group-component>
        </div>`,[AgGroupComponentSelector],{legendGroup:n}),i(this.legendGroup);const o=this.updateLegendEnabledState.bind(this);this.addManagedListeners(this.chartController,{chartModelUpdate:o,chartApiUpdate:o})}updateLegendEnabledState(){const{valueCols:e}=this.chartController.getColStateForMenu();this.enabledGroup.setEnabled(e.filter(t=>t.selected).length>1)}getItems(e){const t=(i,r,n)=>{const o=e.getDefaultSliderParams(`${this.key}.${i}`,r,n);return this.createManagedBean(new AgSlider(o))};return this.isGradient?[this.createManagedBean(new import_ag_grid_community310.AgCheckbox(e.addValueParams("gradientLegend.reverseOrder",{label:this.chartTranslation.translate("reverseDirection"),labelWidth:"flex"}))),t("gradient.thickness","thickness",40),t("gradient.preferredLength","preferredLength",300),t("spacing","spacing",200)]:[t("spacing","spacing",200),t("item.marker.size","markerSize",40),this.createMarkerStrokeSlider(e),t("item.marker.padding.right","itemSpacing",20),this.createItemPaddingSlider(e,"layoutHorizontalSpacing",["left","right"]),this.createItemPaddingSlider(e,"layoutVerticalSpacing",["top","bottom"])]}createMarkerStrokeSlider(e){const t=`${this.key}.item.marker.strokeWidth`,i=e.getDefaultSliderParams(t,"markerStroke",10);if(e.getChartOptions().getValue(t)==null){const r=this.getRenderedMarkerStrokeWidths();r.length>0&&(i.value=r.length===1?`${r[0]}`:"")}return this.createManagedBean(new AgSlider(i))}getRenderedMarkerStrokeWidths(){const e=this.chartController.getChartProxy().getChart().ctx.legendManager.getData(),t=new Set;for(let i=0,r=e.length;i<r;++i){const n=e[i].symbol?.marker;n&&t.add(Math.min(n.strokeWidth??1,MAX_MARKER_STROKE_WIDTH))}return[...t]}createItemPaddingSlider(e,t,i){const r=a=>`${this.key}.item.padding.${a}`,n=e.getDefaultSliderParams(r(i[0]),t,50),o=e.getChartOptions();return n.onValueChange=a=>o.setValues(i.map(l=>({expression:r(l),value:a}))),this.createManagedBean(new AgSlider(n))}createLabelPanel(e){const t=this.isGradient?"gradientLegend.scale.label":"legend.item.label",i={enabled:!0,suppressEnabledCheckbox:!0,chartMenuParamsFactory:e,keyMapper:r=>`${t}.${r}`,cssIdentifier:"charts-format-sub-level-no-header"};return this.createManagedBean(new FontPanel(i))}},import_ag_stack184=require("ag-stack"),import_ag_grid_community321=require("ag-grid-community"),import_ag_stack181=require("ag-stack"),import_ag_grid_community311=require("ag-grid-community"),ToggleablePanel=class extends import_ag_grid_community311.Component{constructor(e){super(),this.params=e,this.toggleableGroup=import_ag_stack181.RefPlaceholder,this.activeComps=[],this.chartOptions=e.chartMenuParamsFactory.getChartOptions()}postConstruct(){const{tag:e,cssIdentifier:t="charts-format-sub-level",title:i,suppressEnabledCheckbox:r}=this.params,n=this.params.chartMenuParamsFactory.addEnableParams(`${e}.enabled`,{cssIdentifier:t,direction:"vertical",suppressOpenCloseIcons:!0,title:i,suppressEnabledCheckbox:!0,useToggle:!r});this.setTemplate(`<div class="ag-toggleable-group-panel">
                <ag-group-component data-ref="toggleableGroup">
                </ag-group-component>
            </div>`,[AgGroupComponentSelector],{toggleableGroup:n}),this.toggleCss("ag-toggleable-group-panel-no-header",!i)}addItem(e,t){t?this.toggleableGroup.prependItem(e):this.toggleableGroup.addItem(e),this.activeComps.push(e)}setEnabled(e){this.toggleableGroup.setEnabled(e)}destroyActiveComps(){for(const e of this.activeComps)(0,import_ag_stack181._removeFromParent)(e.getGui()),this.destroyBean(e)}destroy(){this.destroyActiveComps(),super.destroy()}},import_ag_grid_community312=require("ag-grid-community"),CalloutPanel=class extends import_ag_grid_community312.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslation.translate("callout"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate(`<div>
            <ag-group-component data-ref="calloutGroup">
                <ag-slider data-ref="calloutLengthSlider"></ag-slider>
                <ag-slider data-ref="calloutStrokeWidthSlider"></ag-slider>
                <ag-slider data-ref="labelOffsetSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,AgSliderSelector],{calloutGroup:e,calloutLengthSlider:this.chartMenuUtils.getDefaultSliderParams("calloutLine.length","length",40),calloutStrokeWidthSlider:this.chartMenuUtils.getDefaultSliderParams("calloutLine.strokeWidth","strokeWidth",10),labelOffsetSlider:this.chartMenuUtils.getDefaultSliderParams("calloutLabel.offset","offset",30)})}},import_ag_grid_community313=require("ag-grid-community"),CapsPanel=class extends import_ag_grid_community313.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslation.translate("cap"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0},t=this.chartMenuUtils.getDefaultSliderParams("cap.lengthRatio","capLengthRatio",1);t.step=.05,this.setTemplate(`<div>
            <ag-group-component data-ref="capsGroup">
                <ag-slider data-ref="capLengthRatioSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,AgSliderSelector],{capsGroup:e,capLengthRatioSlider:t})}},import_ag_grid_community314=require("ag-grid-community"),ConnectorLinePanel=class extends import_ag_grid_community314.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslation.translate("connectorLine"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate(`<div>
            <ag-group-component data-ref="lineGroup">
                <ag-color-picker data-ref="lineColorPicker"></ag-color-picker>
                <ag-slider data-ref="lineStrokeWidthSlider"></ag-slider>
                <ag-slider data-ref="lineOpacitySlider"></ag-slider>
                <ag-slider data-ref="lineDashSlider"></ag-slider>                
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,ColorPickerSelector,AgSliderSelector],{lineGroup:e,lineColorPicker:this.chartMenuUtils.getDefaultColorPickerParams("line.stroke"),lineStrokeWidthSlider:this.getSliderParams("strokeWidth",10,"line.strokeWidth"),lineDashSlider:this.getSliderParams("lineDash",30,"line.lineDash",1,!0),lineOpacitySlider:this.getSliderParams("strokeOpacity",1,"line.strokeOpacity",.05)})}getSliderParams(e,t,i,r=1,n=!1){const o=this.chartMenuUtils.getDefaultSliderParams(i,e,t,n);return o.step=r,o}},import_ag_grid_community315=require("ag-grid-community");function getShapeSelectOptions(e){return["square","circle","cross","diamond","plus","triangle","heart"].map(t=>({value:t,text:e.translate(t)}))}var MarkersPanel=class extends import_ag_grid_community315.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.chartMenuUtils.addEnableParams("marker.enabled",{cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslation.translate("markers"),suppressEnabledCheckbox:!0,useToggle:!0,suppressOpenCloseIcons:!0});this.setTemplate(`<div>
            <ag-group-component data-ref="seriesMarkersGroup">
                <ag-select data-ref="seriesMarkerShapeSelect"></ag-select>
                <ag-slider data-ref="seriesMarkerSizeSlider"></ag-slider>
                <ag-slider data-ref="seriesMarkerStrokeWidthSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community315.AgSelectSelector,AgSliderSelector],{seriesMarkersGroup:e,seriesMarkerShapeSelect:this.chartMenuUtils.getDefaultSelectParams("marker.shape","shape",getShapeSelectOptions(this.chartTranslation)),seriesMarkerSizeSlider:this.chartMenuUtils.getDefaultSliderParams("marker.size","size",60),seriesMarkerStrokeWidthSlider:this.chartMenuUtils.getDefaultSliderParams("marker.strokeWidth","strokeWidth",10)})}},import_ag_stack182=require("ag-stack"),import_ag_grid_community316=require("ag-grid-community"),SeriesItemsPanel=class extends import_ag_grid_community316.Component{constructor(e){super(),this.chartMenuUtils=e,this.seriesItemsGroup=import_ag_stack182.RefPlaceholder,this.activePanels=[]}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslation.translate("seriesItems"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate(`<div>
            <ag-group-component data-ref="seriesItemsGroup">
                <ag-select data-ref="seriesItemSelect"></ag-select>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community316.AgSelectSelector],{seriesItemsGroup:e,seriesItemSelect:this.getSeriesItemsParams()}),this.initSeriesControls()}getSeriesItemsParams(){const e=[{value:"positive",text:this.chartTranslation.translate("seriesItemPositive")},{value:"negative",text:this.chartTranslation.translate("seriesItemNegative")}],t=i=>{this.destroyActivePanels(),this.initSeriesControls(i)};return this.chartMenuUtils.getDefaultSelectParamsWithoutValueParams("seriesItemType",e,"positive",t)}initSeriesControls(e="positive"){this.initSlider("strokeWidth",10,`item.${e}.strokeWidth`),this.initSlider("lineDash",30,`item.${e}.lineDash`,1,!0),this.initSlider("strokeOpacity",1,`item.${e}.strokeOpacity`,.05,!1),this.initSlider("fillOpacity",1,`item.${e}.fillOpacity`,.05,!1),this.initItemLabels(e)}initSlider(e,t,i,r=1,n=!1){const o=this.chartMenuUtils.getDefaultSliderParams(i,e,t,n);o.step=r;const a=this.seriesItemsGroup.createManagedBean(new AgSlider(o));this.seriesItemsGroup.addItem(a),this.activePanels.push(a)}initItemLabels(e){const t=this.chartMenuUtils.getDefaultFontPanelParams(`item.${e}.label`,"seriesItemLabels"),i=this.createBean(new FontPanel(t));this.seriesItemsGroup.addItem(i),this.activePanels.push(i)}destroyActivePanels(){for(const e of this.activePanels)(0,import_ag_stack182._removeFromParent)(e.getGui()),this.destroyBean(e)}destroy(){this.destroyActivePanels(),super.destroy()}},import_ag_grid_community317=require("ag-grid-community"),ShadowPanel=class extends import_ag_grid_community317.Component{constructor(e,t="shadow"){super(),this.chartMenuUtils=e,this.propertyKey=t}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e=this.propertyKey,t=this.chartMenuUtils.addEnableParams(`${e}.enabled`,{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:this.chartTranslation.translate("shadow"),suppressEnabledCheckbox:!0,useToggle:!0}),i=this.chartMenuUtils.getDefaultColorPickerParams(`${e}.color`);this.setTemplate(`<div>
            <ag-group-component data-ref="shadowGroup">
                <ag-color-picker data-ref="shadowColorPicker"></ag-color-picker>
                <ag-slider data-ref="shadowBlurSlider"></ag-slider>
                <ag-slider data-ref="shadowXOffsetSlider"></ag-slider>
                <ag-slider data-ref="shadowYOffsetSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,ColorPickerSelector,AgSliderSelector],{shadowGroup:t,shadowColorPicker:i,shadowBlurSlider:this.getSliderParams("blur",0,20),shadowXOffsetSlider:this.getSliderParams("xOffset",-10,10),shadowYOffsetSlider:this.getSliderParams("yOffset",-10,10)})}getSliderParams(e,t,i){const r=`${this.propertyKey}.${e}`,n=this.chartMenuUtils.getDefaultSliderParams(r,e,i);return n.minValue=t,n}},import_ag_grid_community318=require("ag-grid-community"),TileSpacingPanel=class extends import_ag_grid_community318.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate(`<div>
            <ag-group-component data-ref="groupSpacing">
                <ag-slider data-ref="groupPaddingSlider"></ag-slider>
                <ag-slider data-ref="groupSpacingSlider"></ag-slider>
            </ag-group-component>
            <ag-group-component data-ref="tileSpacing">
                <ag-slider data-ref="tilePaddingSlider"></ag-slider>
                <ag-slider data-ref="tileSpacingSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,AgSliderSelector],{groupSpacing:{...e,title:this.chartTranslation.translate("group")},tileSpacing:{...e,title:this.chartTranslation.translate("tile")},groupPaddingSlider:this.getSliderParams("padding","group.padding"),groupSpacingSlider:this.getSliderParams("spacing","group.gap"),tilePaddingSlider:this.getSliderParams("padding","tile.padding"),tileSpacingSlider:this.getSliderParams("spacing","tile.gap")})}getSliderParams(e,t){return this.chartMenuUtils.getDefaultSliderParams(t,e,10)}},import_ag_stack183=require("ag-stack"),import_ag_grid_community319=require("ag-grid-community");function _capitalise(e){return e[0].toUpperCase()+e.substring(1)}var TooltipPanel=class extends import_ag_grid_community319.Component{constructor(e){super(),this.chartMenuUtils=e,this.tooltipMode=import_ag_stack183.RefPlaceholder}postConstruct(){const{chartMenuUtils:e,beans:t}=this,i="tooltip",r=t.chartTranslation,n=e.addEnableParams(`${i}.enabled`,{cssIdentifier:"charts-format-sub-level",direction:"vertical",suppressOpenCloseIcons:!0,title:r.translate("tooltips"),suppressEnabledCheckbox:!0,useToggle:!0}),o="tooltipMode",a=["single","shared","compact"].map(u=>({value:u,text:r.translate(`${o}${_capitalise(u)}`)})),l=`${i}.mode`,c=e.getDefaultSelectParams(l,o,a);this.setTemplate(`<div>
            <ag-group-component data-ref="tooltipGroup">
                <ag-select data-ref="tooltipMode"></ag-select>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,import_ag_grid_community319.AgSelectSelector],{tooltipGroup:n,tooltipMode:c}),this.addManagedEventListeners({chartOptionsChanged:()=>{const u=e.getChartOptions().getValue(l);this.tooltipMode.setValue(u,!0)}})}},import_ag_grid_community320=require("ag-grid-community"),WhiskersPanel=class extends import_ag_grid_community320.Component{constructor(e){super(),this.chartMenuUtils=e}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const e={cssIdentifier:"charts-format-sub-level",direction:"vertical",title:this.chartTranslation.translate("whisker"),enabled:!0,suppressOpenCloseIcons:!0,suppressEnabledCheckbox:!0};this.setTemplate(`<div>
            <ag-group-component data-ref="whiskersGroup">
                <ag-color-picker data-ref="whiskerColorPicker"></ag-color-picker>
                <ag-slider data-ref="whiskerThicknessSlider"></ag-slider>
                <ag-slider data-ref="whiskerOpacitySlider"></ag-slider>
                <ag-slider data-ref="whiskerLineDashSlider"></ag-slider>
                <ag-slider data-ref="whiskerLineDashOffsetSlider"></ag-slider>
            </ag-group-component>
        </div>`,[AgGroupComponentSelector,ColorPickerSelector,AgSliderSelector],{whiskersGroup:e,whiskerColorPicker:this.chartMenuUtils.getDefaultColorPickerParams("whisker.stroke"),whiskerThicknessSlider:this.chartMenuUtils.getDefaultSliderParams("whisker.strokeWidth","strokeWidth",10),whiskerOpacitySlider:this.chartMenuUtils.getDefaultSliderParams("whisker.strokeOpacity","strokeOpacity",1),whiskerLineDashSlider:this.chartMenuUtils.getDefaultSliderParams("whisker.lineDash","lineDash",30,!0),whiskerLineDashOffsetSlider:this.chartMenuUtils.getDefaultSliderParams("whisker.lineDashOffset","lineDashOffset",30)})}},tooltips="tooltips",strokeWidth="strokeWidth",lineWidth="lineWidth",lineDash="lineDash",lineOpacity="lineOpacity",fillOpacity="fillOpacity",labels="labels",shadow="shadow",stageLabels="stageLabels",markers="markers",SeriesPanel=class extends import_ag_grid_community321.Component{constructor(e){super(),this.options=e,this.seriesGroup=import_ag_stack184.RefPlaceholder,this.activePanels=[],this.widgetFuncs={lineWidth:()=>this.initStrokeWidth(lineWidth),[strokeWidth]:()=>this.initStrokeWidth("strokeWidth"),lineColor:()=>this.initLineColor(),[lineDash]:()=>this.initLineDash(),[lineOpacity]:()=>this.initOpacity("strokeOpacity"),[fillOpacity]:()=>this.initOpacity("fillOpacity"),markers:()=>new MarkersPanel(this.chartMenuUtils),[labels]:()=>this.initLabels(),sectorLabels:()=>this.initSectorLabels(),[shadow]:()=>new ShadowPanel(this.chartMenuUtils),[tooltips]:()=>new TooltipPanel(this.options.chartMenuParamsFactory),bins:()=>this.initBins(),whiskers:()=>new WhiskersPanel(this.chartMenuUtils),caps:()=>new CapsPanel(this.chartMenuUtils),connectorLine:()=>new ConnectorLinePanel(this.chartMenuUtils),seriesItems:()=>new SeriesItemsPanel(this.chartMenuUtils),tileSpacing:()=>new TileSpacingPanel(this.chartMenuUtils),shape:()=>this.initShape(),size:()=>this.initSize("size","size"),minSize:()=>this.initSize("minSize","minSize"),maxSize:()=>this.initSize("maxSize","maxSize"),dropoff:()=>this.initDropOff(),stageLabels:()=>this.initStageLabels()},this.seriesWidgetMappings={bar:[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels,shadow],pie:[tooltips,strokeWidth,lineOpacity,fillOpacity,labels,"sectorLabels",shadow],donut:[tooltips,strokeWidth,lineOpacity,fillOpacity,labels,"sectorLabels",shadow],line:[tooltips,lineWidth,lineDash,lineOpacity,markers,labels],scatter:[tooltips,"shape","size",strokeWidth,labels],bubble:[tooltips,"shape","minSize","maxSize",strokeWidth,labels],area:[tooltips,lineWidth,lineDash,lineOpacity,fillOpacity,markers,labels,shadow],histogram:[tooltips,"bins",strokeWidth,lineDash,lineOpacity,fillOpacity,labels,shadow],"radial-column":[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels],"radial-bar":[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels],"radar-line":[tooltips,strokeWidth,lineDash,lineOpacity,markers,labels],"radar-area":[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,markers,labels],nightingale:[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels],"box-plot":[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,"whiskers","caps"],"range-bar":[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels],"range-area":[tooltips,lineWidth,lineDash,lineOpacity,fillOpacity,markers,labels,shadow],treemap:[tooltips,"tileSpacing"],sunburst:[tooltips],heatmap:[tooltips,labels,"lineColor",lineWidth,lineOpacity],waterfall:[tooltips,"connectorLine","seriesItems"],funnel:[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels,"dropoff",stageLabels,shadow],"cone-funnel":[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels,stageLabels],pyramid:[tooltips,strokeWidth,lineDash,lineOpacity,fillOpacity,labels,stageLabels,shadow]},this.seriesType=e.seriesType}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{isExpandedOnInit:e,chartOptionsService:t,chartController:i,registerGroupComponent:r}=this.options,n={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.translate("series"),expanded:e,suppressEnabledCheckbox:!0};this.setTemplate(`<div>
            <ag-group-component data-ref="seriesGroup">
            </ag-group-component>
        </div>`,[AgGroupComponentSelector],{seriesGroup:n}),r(this.seriesGroup),this.chartMenuUtils=this.createManagedBean(new ChartMenuParamsFactory(t.getSeriesOptionsProxy(()=>this.seriesType))),this.addManagedListeners(i,{chartSeriesChartTypeChanged:this.refreshWidgets.bind(this)}),this.refreshWidgets()}refreshWidgets(){const{chartController:e}=this.options;this.destroyActivePanels(),e.getChartProxy().getChart().waitForUpdate().then(()=>{if(this.isAlive()){e.isComboChart()&&(this.updateSeriesType(),this.initSeriesSelect());for(const r of this.seriesWidgetMappings[this.seriesType]??[]){const n=this.widgetFuncs[r]();let o;if(Array.isArray(n)){const a=this.createBean(n[0]);o=a,n[1](a)}else o=this.createBean(n);this.seriesGroup.addItem(o),this.activePanels.push(o)}}}).catch(i=>this.beans.log.error(105,{e:i}))}initSeriesSelect(){const e=this.createBean(new import_ag_grid_community321.AgSelect(this.chartMenuUtils.getDefaultSelectParamsWithoutValueParams("seriesType",this.getSeriesSelectOptions(),`${this.seriesType}`,t=>{this.seriesType=t,this.refreshWidgets()})));this.seriesGroup.addItem(e),this.activePanels.push(e)}initLineColor(){return new ColorPicker(this.chartMenuUtils.getDefaultColorPickerParams("stroke","strokeColor"))}initStrokeWidth(e,t){return new AgSlider(this.chartMenuUtils.getDefaultSliderParams(t?`${t}.${e}`:"strokeWidth",e,10))}initLineDash(e){return new AgSlider(this.chartMenuUtils.getDefaultSliderParams(e?`${e}.lineDash`:"lineDash","lineDash",30,!0))}initOpacity(e,t){const i=this.chartMenuUtils.getDefaultSliderParams(t?`${t}.${e}`:e,e,1);return i.step=.05,new AgSlider(i)}initDropOff(){return[new ToggleablePanel({tag:"dropOff",cssIdentifier:"charts-format-sub-level",title:this.translate("dropOff"),suppressEnabledCheckbox:!1,chartMenuParamsFactory:this.chartMenuUtils}),i=>{for(const r of[this.initStrokeWidth("strokeWidth","dropOff"),this.initLineDash("dropOff"),this.initOpacity("strokeOpacity","dropOff"),this.initOpacity("fillOpacity","dropOff")]){const n=i.createManagedBean(r);i.addItem(n),this.activePanels.push(n)}}]}initLabels(){const e=isPieChartSeries(this.seriesType),t=e?"calloutLabel":"label",i=e?"calloutLabels":"labels",r=this.chartMenuUtils.getDefaultFontPanelParams(t,i);return[new FontPanel(r),a=>{if(e){const l=a.createManagedBean(new CalloutPanel(this.chartMenuUtils));a.addItem(l),this.activePanels.push(l)}if(this.seriesType==="range-bar"){const l=[{value:"inside",text:this.translate("inside")},{value:"outside",text:this.translate("outside")}],c=a.createManagedBean(new import_ag_grid_community321.AgSelect(this.chartMenuUtils.getDefaultSelectParams("label.placement","labelPlacement",l)));a.addItem(c),this.activePanels.push(c);const u=a.createManagedBean(new AgSlider(this.chartMenuUtils.getDefaultSliderParams("label.padding","padding",200)));a.addItem(u),this.activePanels.push(u)}}]}initSectorLabels(){const e=this.chartMenuUtils.getDefaultFontPanelParams("sectorLabel","sectorLabels");return[new FontPanel(e),r=>{const n=this.chartMenuUtils.getDefaultSliderParams("sectorLabel.positionRatio","positionRatio",1);n.step=.05;const o=r.createManagedBean(new AgSlider(n));r.addItem(o)}]}initStageLabels(){const e=this.chartMenuUtils.getDefaultFontPanelParams("stageLabel",stageLabels);return e.fontValueWhenUnset=t=>{const i=this.chartMenuUtils.getChartOptions().getValue("direction")==="horizontal";return this.options.chartOptionsService.getCartesianAxisThemeOverridesProxy(i?"xAxis":"yAxis").getValue(`label.${t}`)},new FontPanel(e)}initBins(){const e=this.chartMenuUtils.getDefaultSliderParams("binCount","histogramBinCount",20),t=this.chartMenuUtils.getChartOptions(),i=(t.getValue("bins")??t.getValue("calculatedBins",!0)).length;return e.value=`${i}`,e.maxValue=Math.max(i,20),new AgSlider(e)}initShape(){return new import_ag_grid_community321.AgSelect(this.chartMenuUtils.getDefaultSelectParams("shape","shape",getShapeSelectOptions(this.chartTranslation)))}initSize(e,t){return new AgSlider(this.chartMenuUtils.getDefaultSliderParams(e,t,60))}getSeriesSelectOptions(){const e=this.getActiveSeriesTypes();return["area","bar","line"].filter(t=>e.includes(t)).map(t=>({value:t,text:this.translate(t)}))}updateSeriesType(){const e=this.getActiveSeriesTypes();!e.includes(this.seriesType)&&e.length>0&&(this.seriesType=e[0])}getActiveSeriesTypes(){return this.options.chartController.getActiveSeriesChartTypes().map(e=>getSeriesType(e.chartType))}translate(e){return this.chartTranslation.translate(e)}destroyActivePanels(){for(const e of this.activePanels)(0,import_ag_stack184._removeFromParent)(e.getGui()),this.destroyBean(e)}destroy(){this.destroyActivePanels(),super.destroy()}},import_ag_stack185=require("ag-stack"),import_ag_grid_community323=require("ag-grid-community"),import_ag_grid_community322=require("ag-grid-community"),TitlePanel=class extends import_ag_grid_community322.Component{constructor(e,t,i){super("<div></div>"),this.chartMenuUtils=e,this.name=t,this.key=i,this.chartOptions=e.getChartOptions()}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){this.initFontPanel()}hasTitle(){const e=this.chartOptions.getValue(this.key);return e?.enabled&&e.text&&e.text.length>0}initFontPanel(){const e=this.hasTitle(),t={name:this.chartTranslation.translate(this.name),enabled:e,suppressEnabledCheckbox:!1,chartMenuParamsFactory:this.chartMenuUtils,keyMapper:i=>`${this.key}.${i}`,onEnableChange:i=>this.onEnableChange(i)};this.fontPanel=this.createManagedBean(new FontPanel(t)),this.fontPanel.addItem(this.createBean(new import_ag_grid_community322.AgInputTextField(this.getTextInputParams())),!0),this.fontPanel.addItem(this.createBean(new AgSlider(this.getSpacingSliderParams()))),this.getGui().appendChild(this.fontPanel.getGui())}getTextInputParams(){return this.chartMenuUtils.addValueParams(`${this.key}.text`,{label:this.chartTranslation.translate("title"),labelAlignment:"top"})}getSpacingSliderParams(){return this.chartMenuUtils.getDefaultSliderParams(`${this.key}.spacing`,"spacing",100)}onEnableChange(e){this.chartOptions.setValue(`${this.key}.enabled`,e)}},ChartTitlePanel=class extends TitlePanel{wireBeans(e){super.wireBeans(e),this.chartMenuSvc=e.chartMenuSvc}postConstruct(){this.titlePlaceholder=this.chartTranslation.translate("titlePlaceholder"),super.postConstruct(),this.addManagedEventListeners({chartTitleEdit:()=>{this.fontPanel.setEnabled(this.hasTitle())}})}getTextInputParams(){const e=super.getTextInputParams();return this.shouldOverrideTextWithPlaceholder(e.value)&&(e.value=this.titlePlaceholder),e}getSpacingSliderParams(){const e=super.getSpacingSliderParams();return e.value="10",e}onEnableChange(e){if(this.chartMenuSvc.doesChartToolbarExist()){const i=this.chartOptions.getValue("padding.top");this.chartOptions.setValue("padding.top",e?i-20:i+20)}this.chartOptions.setValue(`${this.key}.enabled`,e);const t=this.chartOptions.getValue(`${this.key}.text`);e&&this.shouldOverrideTextWithPlaceholder(t)&&this.chartOptions.setValue(`${this.key}.text`,this.titlePlaceholder)}shouldOverrideTextWithPlaceholder(e){return e==="Title"||e?.trim().length===0}},TitlesPanel=class extends import_ag_grid_community323.Component{constructor(e){super(),this.options=e,this.titleGroup=import_ag_stack185.RefPlaceholder}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){const{chartMenuParamsFactory:e,chartOptionsService:t,seriesType:i,isExpandedOnInit:r=!1,registerGroupComponent:n}=this.options,o=[];if(isCartesian(i)&&i!=="pyramid"){const l=c=>this.createManagedBean(new ChartMenuParamsFactory(t.getCartesianAxisThemeOverridesProxy(c)));o.push(this.createManagedBean(new TitlePanel(l("xAxis"),"horizontalAxisTitle","title"))),o.push(this.createManagedBean(new TitlePanel(l("yAxis"),"verticalAxisTitle","title")))}else if(isPolar(i)){const l=this.createManagedBean(new ChartMenuParamsFactory(t.getPolarAxisThemeOverridesProxy("radius","thisAxis")));o.push(this.createManagedBean(new TitlePanel(l,"polarAxisTitle","title")))}const a={cssIdentifier:"charts-format-top-level",direction:"vertical",title:this.chartTranslation.translate("chartTitles"),expanded:r,suppressEnabledCheckbox:!0,items:[this.createManagedBean(new ChartTitlePanel(e,"chartTitle","title")),this.createManagedBean(new TitlePanel(e,"chartSubtitle","subtitle")),...o]};this.setTemplate(`<div>
            <ag-group-component data-ref="titleGroup"></ag-group-component>
        </div>`,[AgGroupComponentSelector],{titleGroup:a}),n(this.titleGroup)}},DefaultFormatPanelDef={groups:[{type:"chart"},{type:"titles"},{type:"legend"},{type:"series"},{type:"axis"}]},AXIS_KEYS=["axis","horizontalAxis","verticalAxis"],FormatPanel=class extends import_ag_grid_community324.Component{constructor(e){super('<div class="ag-chart-format-wrapper"></div>'),this.chartMenuContext=e}postConstruct(){this.groupExpansionFeature=this.createManagedBean(new GroupExpansionFeature(this.getGui())),this.chartPanelFeature=this.createManagedBean(new ChartPanelFeature(this.chartMenuContext.chartController,this.getGui(),"ag-chart-format-section",(e,t)=>this.createPanels(t))),this.chartPanelFeature.refreshPanels()}createPanels(e){let t=!1;this.getFormatPanelDef().groups?.forEach(({type:i,isOpen:r=!1})=>{if(!this.isGroupPanelShownInSeries(i,e))return;r&&(t&&this.beans.log.warn(145,{group:i}),t=!0);const n=a=>this.groupExpansionFeature.addGroupComponent(a),o={...this.chartMenuContext,isExpandedOnInit:r,seriesType:e,registerGroupComponent:n};switch(i){case"chart":this.chartPanelFeature.addComponent(new ChartPanel(o));break;case"titles":this.chartPanelFeature.addComponent(new TitlesPanel(o));break;case"legend":this.chartPanelFeature.addComponent(new LegendPanel(o,this.chartMenuContext));break;case"axis":isPolar(e)?this.chartPanelFeature.addComponent(new PolarAxisPanel(o)):isCartesian(e)&&(this.chartPanelFeature.addComponent(new CartesianAxisPanel("xAxis",o)),this.chartPanelFeature.addComponent(new CartesianAxisPanel("yAxis",o)));break;case"horizontalAxis":this.chartPanelFeature.addComponent(new CartesianAxisPanel("xAxis",o));break;case"verticalAxis":this.chartPanelFeature.addComponent(new CartesianAxisPanel("yAxis",o));break;case"series":this.chartPanelFeature.addComponent(new SeriesPanel(o));break;default:this.beans.log.warn(147,{group:i})}})}getFormatPanelDef(){const e=this.gos.get("chartToolPanelsDef")?.formatPanel;return e||DefaultFormatPanelDef}isGroupPanelShownInSeries(e,t){const i=["chart","titles","legend","series"].includes(e)||isCartesian(t)&&AXIS_KEYS.includes(e)||isPolar(t)&&e==="axis",r=isFunnel(t)&&e==="legend"||isFunnel(t)&&AXIS_KEYS.includes(e);return i&&!r}},import_ag_stack190=require("ag-stack"),import_ag_grid_community327=require("ag-grid-community"),import_ag_stack189=require("ag-stack"),import_ag_grid_community326=require("ag-grid-community"),import_ag_grid_community325=require("ag-grid-community"),CANVAS_CLASS="ag-chart-mini-thumbnail-canvas",MiniChart=class extends import_ag_grid_community325.Component{constructor(e,t,i){super(),this.agChartsExports=t,this.tooltipName=i,this.size=58,this.padding=5;const{_Scene:r}=t;this.root=new r.Group;const n=e.ownerDocument.createElement("canvas"),o=new r.Scene({canvasElement:n,pixelRatio:e.ownerDocument.defaultView?.devicePixelRatio??1,width:this.size,height:this.size,willReadFrequently:!1});o.canvas.element.classList.add(CANVAS_CLASS),o.setRoot(this.root),o.setContainer(e),this.scene=o}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){this.scene.canvas.element.title=this.chartTranslation.translate(this.tooltipName);try{this.scene.render()}catch(e){this.beans.log.error(108,{e})}}},import_ag_stack186=require("ag-stack");function createColumnRects(e){const{stacked:t,size:i,padding:r,xScalePadding:n,xScaleDomain:o,yScaleDomain:a,agChartsExports:{_Scene:l}}=e,c=new l.CategoryScale;c.domain=o,c.range=[r,i-r],c.paddingInner=n,c.paddingOuter=n;const u=new l.LinearScale;u.domain=a,u.range=[i-r,r];const d=(h,p,g)=>h.map((f,m)=>{const v=g.convert(f),C=new l.Rect;return C.x=p.convert(m),C.y=v,C.width=p.bandwidth,C.height=g.convert(0)-v,C.strokeWidth=0,C.crisp=!0,C});return t?e.data.map(h=>d(h,c,u)):d(e.data,c,u)}function prepareXYScales(e,t,i,r){const n=[],o=[];for(const c of t)for(const[u,d]of c)n.push(u),o.push(d);const a=new e.LinearScale;a.domain=[Math.min(...n),Math.max(...n)],a.range=[r,i-r];const l=new e.LinearScale;return l.domain=[Math.min(...o),Math.max(...o)],l.range=[i-r,r],{xScale:a,yScale:l}}function prepareLinearScene(e,t,i,r){const n=[0,t[0].length-1],o=t.reduce((c,u)=>{for(const d of u)d<c[0]&&(c[0]=d),d>c[1]&&(c[1]=d);return c},[1/0,-1/0]);o[0]--,o[o.length-1]++;const a=new e.LinearScale;a.domain=n,a.range=[r,i-r];const l=new e.LinearScale;return l.domain=o,l.range=[i-r,r],{xScale:a,yScale:l}}function createXPathCommands(e,t,i){return e.map(r=>r.map((n,o)=>[o>0?"lineTo":"moveTo",t.convert(o),i.convert(n)]))}function createXYPathCommands(e,t,i){return e.map(([r,n],o)=>[o>0?"lineTo":"moveTo",t.convert(r),i.convert(n)])}function closePath(e){const t=e[0],i=e[1],r=(0,import_ag_stack186._last)(e);return(i[1]!==r[1]||i[2]!==r[2])&&e.push([t[0],i[1],i[2]]),e}function createPath(e,t){const i=new e.Path;return t.forEach(([r,n,o])=>i.path[r](n,o)),i}function createAreaPathCommands(e,t,i){return e.map((r,n,o)=>{const l=[...i?closePathViaPreviousSeries(o,n,t):closePathViaOrigin(r,t)].reverse().map(([d,h,p])=>["lineTo",h,p]),c=r[0],u=(0,import_ag_stack186._last)(l);return(c[1]!==u[1]||c[2]!==u[2])&&l.push(["lineTo",c[1],c[2]]),[...r,...l]})}function closePathViaPreviousSeries(e,t,i){return t===0?closePathViaOrigin(e[t],i):[...e[t-1]]}function closePathViaOrigin(e,t){return e.map(([i,r])=>[i,r,t.convert(0)])}function commandsToPath(e,t){const i=createPath(e,t);return i.fill=void 0,i.lineCap="round",i.strokeWidth=3,i}function createShapePaths({_Scene:e},t,i,r,n){const{xScale:o,yScale:a}=prepareXYScales(e,i,r,n),d=i.map(p=>createXYPathCommands(p,o,a)).map(p=>closePath(p)).map(p=>commandsToPath(e,p)).reduce((p,g)=>p.concat(g),[]),h=new e.Group;return h.setClipRect(new e.BBox(n,n,r-n*2,r-n*2)),h.append(d),t.append(h),d}function createLinePaths({_Scene:e},t,i,r,n){const{xScale:o,yScale:a}=prepareLinearScene(e,i,r,n),c=createXPathCommands(i,o,a).map(d=>commandsToPath(e,d)),u=new e.Group;return u.setClipRect(new e.BBox(n,n,r-n*2,r-n*2)),u.append(c),t.append(u),c}function createAreaPaths(e,t,i,r,n,o=!1){const{xScale:a,yScale:l}=prepareLinearScene(e,i,r,n),c=createAreaPathCommands(createXPathCommands(i,a,l),l,o),u=new e.Group;u.setClipRect(new e.BBox(n,n,r-n*2,r-n*2));const d=c.map(h=>createPath(e,h));return u.append(d),t.append(u),d}function stackData(e){return e.map((t,i,r)=>t.map((n,o)=>r.slice(0,i+1).reduce((a,l)=>a+l[o],0)))}function normalizeStackData(e){const t=e.map((i,r)=>e.reduce((n,o)=>Math.max(n,o[r]),0));return e.map(i=>i.map((r,n)=>r/t[n]*19))}function createPolarPaths(e,t,i,r,n,o,a=0){const{_Scene:l}=e,c=new l.LinearScale;c.domain=[0,7],c.range=[-Math.PI,Math.PI].map(f=>f+Math.PI/2);const u=new l.LinearScale;u.domain=[0,10],u.range=[n,o];const d=[],h=r/2,p=i.map(f=>{const m=new l.Path;return m.strokeWidth=1,m.strokeOpacity=.5,m.lineCap="round",m.fill=void 0,m.fillOpacity=.8,f.forEach((v,C)=>{const y=c.convert(C),S=n+o-u.convert(v),x=S*Math.cos(y)+h,b=S*Math.sin(y)+h;if(m.path[C>0?"lineTo":"moveTo"](x,b),a>0){const w=new l.Marker({shape:"circle"});w.x=x,w.y=b,w.size=a,d.push(w)}}),m.path.closePath(),m}),g=new l.Group;return g.append([...p,...d]),t.append(g),{paths:p,markers:d}}function accumulateData(e){let[t,i]=[1/0,-1/0];return{processedData:e.reduce((n,o,a)=>{const l=a>0?n[a-1]:void 0;n[a]??(n[a]=[]);const c=n[a];return o.forEach((u,d)=>{l&&(u+=l[d]),c[d]=u,c[d]<t&&(t=c[d]),c[d]>i&&(i=c[d])}),n},[]),min:t,max:i}}var FUNNEL_SHAPES=[[[13,16],[13,12],[3,12],[3,16]],[[12,11],[12,7],[4,7],[4,11]],[[10.125,6],[10.125,1.5],[5.875,1.5],[5.875,6]]],MiniFunnelClass=class extends MiniChart{constructor(e,t,i,r,n,o="funnelTooltip",a=FUNNEL_SHAPES){super(e,t,o),this.shapes=createShapePaths(t,this.root,a,this.size,this.padding),this.updateColors(i,r)}updateColors(e,t){for(const i of this.shapes)i.fill=e[0],i.stroke=t[0],i.strokeWidth=0}},MiniFunnel={chartType:"funnel",miniChart:MiniFunnelClass},CONE_FUNNEL_SHAPES=[[[13,16],[10.75,11.5],[5.25,11.5],[3,16]],[[10.75,11.5],[8.875,6],[7.125,6],[5.25,11.5]],[[8.875,6],[8.875,1.5],[7.125,1.5],[7.125,6]]],MiniConeFunnelClass=class extends MiniFunnelClass{constructor(e,t,i,r,n,o="coneFunnelTooltip"){super(e,t,i,r,n,o,CONE_FUNNEL_SHAPES)}updateColors(e,t){this.shapes.forEach((i,r)=>{i.fill=e[0],i.fillOpacity=1-r*.2,i.stroke=t[0],i.strokeWidth=0})}},MiniConeFunnel={chartType:"coneFunnel",miniChart:MiniConeFunnelClass},PYRAMID_SHAPES=[[[8,16],[10,12],[6,12]],[[10.5,11],[12.5,7],[3.5,7],[5.5,11]],[[13,6],[15.5,1.5],[.5,1.5],[3,6]]],MiniPyramidClass=class extends MiniFunnelClass{constructor(e,t,i,r,n,o="pyramidTooltip"){super(e,t,i,r,n,o,PYRAMID_SHAPES)}updateColors(e,t){this.shapes.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r],i.strokeWidth=0})}},MiniPyramid={chartType:"pyramid",miniChart:MiniPyramidClass},MiniChartWithAxes=class extends MiniChart{constructor(e,t,i){super(e,t,i),this.stroke="gray",this.axisOvershoot=3}postConstruct(){const{_Scene:e}=this.agChartsExports,t=this.size,i=this.padding,r=new e.Line;r.x1=i,r.y1=i,r.x2=i,r.y2=t-i+this.axisOvershoot,r.stroke=this.stroke;const n=new e.Line;n.x1=i-this.axisOvershoot+1,n.y1=t-i,n.x2=t-i+1,n.y2=t-i,n.stroke=this.stroke;const o=this.root;o.append(r),o.append(n),super.postConstruct()}},MiniColumnClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"groupedColumnTooltip"),this.columnData=[2,3,4];const{root:n,columnData:o,size:a,padding:l}=this;this.columns=createColumnRects({stacked:!1,root:n,data:o,size:a,padding:l,xScaleDomain:[0,1,2],yScaleDomain:[0,4],xScalePadding:.3,agChartsExports:t}),n.append(this.columns),this.updateColors(i,r)}updateColors(e,t){this.columns.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]})}},MiniColumn={chartType:"groupedColumn",miniChart:MiniColumnClass},import_ag_stack187=require("ag-stack"),miniStackedColumnData=[[8,12,16],[6,9,12],[2,3,4]],MiniStackedColumnClass=class extends MiniChartWithAxes{constructor(e,t,i,r,n,o=miniStackedColumnData,a=[0,16],l="stackedColumnTooltip"){super(e,t,l);const{root:c,size:u,padding:d}=this;this.stackedColumns=createColumnRects({stacked:!0,root:c,data:o,size:u,padding:d,xScaleDomain:[0,1,2],yScaleDomain:a,xScalePadding:.3,agChartsExports:t}),c.append((0,import_ag_stack187._flatten)(this.stackedColumns)),this.updateColors(i,r)}updateColors(e,t){this.stackedColumns.forEach((i,r)=>{for(const n of i)n.fill=e[r],n.stroke=t[r]})}},MiniStackedColumn={chartType:"stackedColumn",miniChart:MiniStackedColumnClass},miniNormalizedColumnData=[[10,10,10],[6,7,8],[2,4,6]],MiniNormalizedColumnClass=class extends MiniStackedColumnClass{constructor(e,t,i,r,n){super(e,t,i,r,n,miniNormalizedColumnData,[0,10],"normalizedColumnTooltip")}},MiniNormalizedColumn={chartType:"normalizedColumn",miniChart:MiniNormalizedColumnClass},MiniBarClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"groupedBarTooltip");const{_Scene:n}=t,o=this.padding,a=this.size,l=[2,3,4],c=new n.CategoryScale;c.domain=[0,1,2],c.range=[o,a-o],c.paddingInner=.3,c.paddingOuter=.3;const u=new n.LinearScale;u.domain=[0,4],u.range=[a-o,o];const d=u.convert(0),h=c.bandwidth;this.bars=l.map((p,g)=>{const f=new n.Rect;return f.x=o,f.y=c.convert(g),f.width=d-u.convert(p),f.height=h,f.strokeWidth=0,f.crisp=!0,f}),this.updateColors(i,r),this.root.append(this.bars)}updateColors(e,t){this.bars.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]})}},MiniBar={chartType:"groupedBar",miniChart:MiniBarClass},import_ag_stack188=require("ag-stack"),miniStackedBarData=[[8,12,16],[6,9,12],[2,3,4]],MiniStackedBarClass=class extends MiniChartWithAxes{constructor(e,t,i,r,n,o=miniStackedBarData,a=[0,16],l="stackedBarTooltip"){super(e,t,l);const{_Scene:c}=t,u=this.size,d=this.padding,h=new c.CategoryScale;h.domain=[0,1,2],h.range=[d,u-d],h.paddingInner=.3,h.paddingOuter=.3;const p=new c.LinearScale;p.domain=a,p.range=[u-d,d];const g=p.convert(0),f=h.bandwidth;this.bars=o.map(m=>m.map((v,C)=>{const y=new c.Rect;return y.x=d,y.y=h.convert(C),y.width=g-p.convert(v),y.height=f,y.strokeWidth=0,y.crisp=!0,y})),this.updateColors(i,r),this.root.append((0,import_ag_stack188._flatten)(this.bars))}updateColors(e,t){this.bars.forEach((i,r)=>i.forEach(n=>{n.fill=e[r],n.stroke=t[r]}))}},MiniStackedBar={chartType:"stackedBar",miniChart:MiniStackedBarClass},miniNormalizedBarData=[[10,10,10],[6,7,8],[2,4,6]],MiniNormalizedBarClass=class extends MiniStackedBarClass{constructor(e,t,i,r,n){super(e,t,i,r,n,miniNormalizedBarData,[0,10],"normalizedBarTooltip")}},MiniNormalizedBar={chartType:"normalizedBar",miniChart:MiniNormalizedBarClass},MiniDonutClass=class extends MiniChart{constructor(e,t,i,r,n,o=.6,a="donutTooltip"){super(e,t,a);const{size:l,padding:c,agChartsExports:{_Scene:u}}=this,d=(l-c*2)/2,h=d+c,p=u.toRadians,g=[[p(-90),p(30)],[p(30),p(120)],[p(120),p(180)],[p(180),p(210)],[p(210),p(240)],[p(240),p(270)]];this.sectors=g.map(([f,m])=>{const v=new u.Sector;return v.centerX=h,v.centerY=h,v.innerRadius=d*o,v.outerRadius=d,v.startAngle=f,v.endAngle=m,v.stroke=void 0,v.strokeWidth=0,v.inset=.75,v}),this.updateColors(i,r),this.root.append(this.sectors)}updateColors(e,t){this.sectors.forEach((i,r)=>{i.fill=e[r%e.length],i.stroke=t[r%t.length]})}},MiniDonut={chartType:"donut",miniChart:MiniDonutClass},MiniPieClass=class extends MiniDonutClass{constructor(e,t,i,r,n){super(e,t,i,r,n,0,"pieTooltip")}},MiniPie={chartType:"pie",miniChart:MiniPieClass},miniLineData=[[1,3,5],[2,6,4],[5,3,1]],MiniLineClass=class extends MiniChartWithAxes{constructor(e,t,i,r,n,o=miniLineData,a="lineTooltip"){super(e,t,a);const{size:l,padding:c,root:u}=this;this.lines=createLinePaths(t,u,o,l,c),this.updateColors(i,r)}updateColors(e,t){this.lines.forEach((i,r)=>{i.stroke=e[r]})}},MiniLine={chartType:"line",miniChart:MiniLineClass},miniStackedLineData=stackData(miniLineData),MiniStackedLineClass=class extends MiniLineClass{constructor(e,t,i,r,n,o=miniStackedLineData,a="stackedLineTooltip"){super(e,t,i,r,n,o,a)}},MiniStackedLine={chartType:"stackedLine",miniChart:MiniStackedLineClass},miniNormalizedLineData=normalizeStackData(miniStackedLineData),MiniNormalizedLineClass=class extends MiniLineClass{constructor(e,t,i,r,n,o=miniNormalizedLineData,a="normalizedLineTooltip"){super(e,t,i,r,n,o,a)}},MiniNormalizedLine={chartType:"normalizedLine",miniChart:MiniNormalizedLineClass},MiniScatterClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"scatterTooltip");const{size:n,padding:o,agChartsExports:{_Scene:a}}=this,l=[[[.3,3],[1.1,.9],[2,.4],[3.4,2.4]],[[0,.3],[1,2],[2.4,1.4],[3,0]]],c=new a.LinearScale;c.domain=[-.5,4],c.range=[o*2,n-o];const u=new a.LinearScale;u.domain=[-.5,3.5],u.range=[n-o,o];const d=[];l.forEach(p=>{p.forEach(([g,f])=>{const m=new a.Arc;m.strokeWidth=0,m.centerX=c.convert(g),m.centerY=u.convert(f),m.radius=2.5,d.push(m)})}),this.points=d,this.updateColors(i,r);const h=new a.Group;h.setClipRect(new a.BBox(o,o,n-o*2,n-o*2)),h.append(this.points),this.root.append(h)}updateColors(e,t){this.points.forEach((i,r)=>{i.stroke=t[r%t.length],i.fill=e[r%e.length]})}},MiniScatter={chartType:"scatter",miniChart:MiniScatterClass},MiniBubbleClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"bubbleTooltip");const{size:n,padding:o,agChartsExports:{_Scene:a}}=this,l=[[[.1,.3,5],[.5,.4,7],[.2,.8,7]],[[.8,.7,5],[.7,.3,9]]],c=new a.LinearScale;c.domain=[0,1],c.range=[o*2,n-o];const u=new a.LinearScale;u.domain=[0,1],u.range=[n-o,o];const d=[];l.forEach(p=>{p.forEach(([g,f,m])=>{const v=new a.Arc;v.strokeWidth=0,v.centerX=c.convert(g),v.centerY=u.convert(f),v.radius=m,v.fillOpacity=.7,d.push(v)})}),this.points=d,this.updateColors(i,r);const h=new a.Group;h.setClipRect(new a.BBox(o,o,n-o*2,n-o*2)),h.append(this.points),this.root.append(h)}updateColors(e,t){this.points.forEach((i,r)=>{i.stroke=t[r%t.length],i.fill=e[r%e.length]})}},MiniBubble={chartType:"bubble",miniChart:MiniBubbleClass},miniAreaData=miniLineData,MiniAreaClass=class extends MiniChartWithAxes{constructor(e,t,i,r,n,o=miniAreaData,a="groupedAreaTooltip",l=!1){super(e,t,a),this.areas=createAreaPaths(t._Scene,this.root,o,this.size,this.padding,l),this.updateColors(i,r)}updateColors(e,t){this.areas.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r],i.strokeWidth=1,i.strokeOpacity=.75,i.fillOpacity=.7})}},MiniArea={chartType:"area",miniChart:MiniAreaClass},miniStackedAreaData=stackData(miniAreaData),MiniStackedAreaClass=class extends MiniAreaClass{constructor(e,t,i,r,n,o=miniStackedAreaData,a="stackedAreaTooltip"){super(e,t,i,r,n,o,a,!0)}updateColors(e,t){this.areas.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]})}},MiniStackedArea={chartType:"stackedArea",miniChart:MiniStackedAreaClass},miniNormalizedAreaData=normalizeStackData(miniStackedAreaData),MiniNormalizedAreaClass=class extends MiniStackedAreaClass{constructor(e,t,i,r,n,o=miniNormalizedAreaData,a="normalizedAreaTooltip"){super(e,t,i,r,n,o,a)}},MiniNormalizedArea={chartType:"normalizedArea",miniChart:MiniNormalizedAreaClass},MiniHistogramClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"histogramTooltip");const{padding:n,size:o,agChartsExports:{_Scene:a}}=this,l=[2,5,11,13,10,6,1],c=new a.LinearScale;c.domain=[0,l.length],c.range=[n,o-n];const u=new a.LinearScale;u.domain=[0,l.reduce((h,p)=>Math.max(h,p),0)],u.range=[o-n,n];const d=u.convert(0);this.bars=l.map((h,p)=>{const g=u.convert(h),f=c.convert(p),m=c.convert(p+1),v=new a.Rect;return v.x=f,v.y=g,v.width=m-f,v.height=d-g,v.strokeWidth=1,v.strokeOpacity=.75,v.crisp=!0,v}),this.updateColors(i,r),this.root.append(this.bars)}updateColors([e],[t]){for(const i of this.bars)i.fill=e,i.stroke=t}},MiniHistogram={chartType:"histogram",miniChart:MiniHistogramClass},MiniChartWithPolarAxes=class extends MiniChart{constructor(e,t,i){super(e,t,i),this.stroke="gray",this.showRadiusAxisLine=!0,this.showAngleAxisLines=!0}postConstruct(){const{_Scene:e}=this.agChartsExports,t=this.size,i=this.padding,r=i*2,n=(t-r)/2,o=this.showAngleAxisLines?[n,n*.8,n*.6,n*.4]:[],a=new e.Line;a.x1=t/2,a.y1=i,a.x2=t/2,a.y2=t-i-n-o[o.length-1],a.stroke=this.stroke,a.strokeOpacity=.5,a.fill=void 0,a.visible=this.showRadiusAxisLine;const l=i+n;this.gridLines=o.map((u,d)=>{const h=new e.Path;return h.path.arc(l,l,u,0,2*Math.PI),h.strokeWidth=1,h.stroke=this.stroke,h.strokeOpacity=d===0?.5:.2,h.fill=void 0,h});const c=this.root;c.append(a),this.gridLines.length>0&&c.append(this.gridLines),super.postConstruct()}},MiniRadialColumnClass=class extends MiniChartWithPolarAxes{constructor(e,t,i,r){super(e,t,"radialColumnTooltip"),this.data=[[6,8,10,2,6,5],[4,4,3,6,4,4],[5,4,2,9,8,9]],this.showRadiusAxisLine=!1;const{padding:n,size:o,data:a,agChartsExports:{_Scene:l}}=this,c=(o-n*2)/2,d=c*.4,h=new l.CategoryScale;h.domain=a[0].map((C,y)=>y),h.range=[0,2*Math.PI],h.paddingInner=0,h.paddingOuter=0;const p=h.bandwidth*.7,{processedData:g,max:f}=accumulateData(a),m=new l.LinearScale;m.domain=[0,f],m.range=[d,c];const v=this.size/2;this.series=g.map((C,y)=>{const x=y===0?void 0:g[y-1],b=new l.TranslatableGroup({zIndex:1e6}),w=C.map((P,F)=>{const T=x?.[F],R=m.convert(P),A=m.convert(T??0),E=h.convert(F),_=E+p,G=l.getRadialColumnWidth(E,_,c,.5,.5),D=new l.RadialColumnShape;return D.columnWidth=G,D.innerRadius=A,D.outerRadius=R,D.startAngle=E,D.endAngle=_,D.isBeveled=!0,D.axisInnerRadius=d,D.axisOuterRadius=c,D.stroke=void 0,D.strokeWidth=0,D});return b.append(w),b.translationX=v,b.translationY=v,b}),this.root.append(this.series),this.updateColors(i,r)}updateColors(e,t){this.series.forEach((i,r)=>{for(const n of i.children())n.fill=e[r%e.length],n.stroke=t[r%t.length]})}},MiniRadialColumn={chartType:"radialColumn",miniChart:MiniRadialColumnClass},MiniRadialBarClass=class extends MiniChartWithPolarAxes{constructor(e,t,i,r){super(e,t,"radialBarTooltip"),this.data=[[6,8,10],[4,4,3],[5,4,2]],this.showRadiusAxisLine=!1;const{size:n,padding:o,data:a,agChartsExports:{_Scene:l}}=this,c=(n-o)/2,d=c*.4,h=new l.CategoryScale;h.domain=a[0].map((S,x)=>x),h.range=[d,c],h.paddingInner=.5,h.paddingOuter=0;const p=h.bandwidth,{processedData:g,max:f}=accumulateData(a),m=new l.LinearScale;m.domain=[0,Math.ceil(f*1.5)];const v=3/2*Math.PI,C=v+2*Math.PI;m.range=[v,C];const y=n/2;this.series=g.map((S,x)=>{const b=x<0?void 0:g[x-1],w=new l.Group({zIndex:1e6}),P=S.map((F,T)=>{const R=b?.[T]??0,A=h.convert(T),E=A-p,_=m.convert(R),G=m.convert(F),D=new l.Sector;return D.centerX=y,D.centerY=y,D.innerRadius=E,D.outerRadius=A,D.startAngle=_,D.endAngle=G,D.stroke=void 0,D.strokeWidth=0,D});return w.append(P),w}),this.root.append(this.series),this.updateColors(i,r)}updateColors(e,t){this.series.forEach((i,r)=>{for(const n of i.children())n.fill=e[r%e.length],n.stroke=t[r%t.length]})}},MiniRadialBar={chartType:"radialBar",miniChart:MiniRadialBarClass},MiniRadarLineClass=class extends MiniChartWithPolarAxes{constructor(e,t,i,r){super(e,t,"radarLineTooltip"),this.markerSize=4,this.data=[[8,7,8,7,8,8,7,8],[6,8,5,10,6,7,4,6],[0,3,3,5,4,4,2,0]],this.showRadiusAxisLine=!1;const{size:n,padding:o,root:a,data:l}=this,c=(n-o*2)/2,u=0,{paths:d,markers:h}=createPolarPaths(t,a,l,n,c,u,this.markerSize);this.lines=d,this.markers=h,this.updateColors(i,r)}updateColors(e,t){this.lines.forEach((i,r)=>{const n=this.data[r].length;i.stroke=e[r];const o=r*n,a=o+n,l=this.markers.slice(o,a);for(const c of l)c.stroke=t[r],c.fill=e[r]})}},MiniRadarLine={chartType:"radarLine",miniChart:MiniRadarLineClass},MiniRadarAreaClass=class extends MiniChartWithPolarAxes{constructor(e,t,i,r){super(e,t,"radarAreaTooltip"),this.data=[[8,10,5,7,4,1,5,8],[1,1,2,7,7,8,10,1],[4,5,9,9,4,2,3,4]];const{size:n,padding:o,root:a,data:l}=this;this.showRadiusAxisLine=!1;const c=(n-o*2)/2,u=c-n*.3;this.areas=createPolarPaths(t,a,l,n,c,u).paths,this.updateColors(i,r)}updateColors(e,t){this.areas.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]})}},MiniRadarArea={chartType:"radarArea",miniChart:MiniRadarAreaClass},MiniNightingaleClass=class extends MiniChartWithPolarAxes{constructor(e,t,i,r){super(e,t,"nightingaleTooltip"),this.data=[[6,10,9,8,7,8],[4,6,5,4,5,5],[3,5,4,3,4,7]],this.showRadiusAxisLine=!1;const{size:n,padding:o,data:a,agChartsExports:{_Scene:l}}=this,c=(n-o*2)/2,u=new l.CategoryScale;u.domain=a[0].map((m,v)=>v),u.range=[-Math.PI,Math.PI],u.paddingInner=0,u.paddingOuter=0;const d=u.bandwidth*.7,{processedData:h,max:p}=accumulateData(a),g=new l.LinearScale;g.domain=[0,p],g.range=[0,c];const f=n/2;this.series=h.map((m,v)=>{const C=v<0?void 0:h[v-1],y=new l.Group({zIndex:1e6}),S=m.map((x,b)=>{const w=C?.[b],P=g.convert(x),F=g.convert(w??0),T=u.convert(b),R=T+d,A=new l.Sector;return A.centerX=f,A.centerY=f,A.innerRadius=F,A.outerRadius=P,A.startAngle=T,A.endAngle=R,A.stroke=void 0,A.strokeWidth=0,A});return y.append(S),y}),this.root.append(this.series),this.updateColors(i,r)}updateColors(e,t){this.series.forEach((i,r)=>{for(const n of i.children())n.fill=e[r%e.length],n.stroke=t[r%t.length]})}},MiniNightingale={chartType:"nightingale",miniChart:MiniNightingaleClass},MiniRangeBarClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"rangeBarTooltip");const n=[3,3.5,3];this.bars=this.createRangeBar(this.root,n,this.size,this.padding,"vertical"),this.updateColors(i,r)}updateColors(e,t){this.bars.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]})}createRangeBar(e,t,i,r,n){const o=n==="horizontal",a=2*r,{_Scene:l}=this.agChartsExports,c=new l.CategoryScale;c.domain=t.map((f,m)=>m),c.range=[r,i-r],c.paddingInner=.3,c.paddingOuter=.3;const u=.7,d=1.3,h=new l.LinearScale;h.domain=[t.reduce((f,m)=>Math.min(f,m),1/0)*u,t.reduce((f,m)=>Math.max(f,m),0)*d],h.range=[a,i-a];const p=c.bandwidth,g=t.map((f,m)=>{const[v,C]=[f*u,f*d],y=c.convert(m),S=h.convert(v),x=h.convert(C)-S,b=new l.Rect;return b.x=o?S:y,b.y=o?y:S,b.width=o?x:p,b.height=o?p:x,b.strokeWidth=0,b.crisp=!0,b});return e.append(g),g}},MiniRangeBar={chartType:"rangeBar",miniChart:MiniRangeBarClass},MiniRangeAreaClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"rangeAreaTooltip");const n=4,o=[zigzag({offset:.375*n,length:n,pattern:{low:3,high:5,period:n}}),zigzag({offset:.375*n,length:n,pattern:{low:2.25,high:4.25,period:n}}),zigzag({offset:.75*n,length:n,pattern:{low:2.5,high:4.5,period:n}})],a=1.75,l=o.map(d=>d.map(([h,p])=>({x:h,low:p-.5*a,high:p+.5*a}))),{lines:c,areas:u}=this.createRangeArea(this.root,l,this.size,this.padding);this.lines=c,this.areas=u,this.updateColors(i,r)}updateColors(e,t){e=swapArrayItems(e,1,2),t=swapArrayItems(t,1,2),this.lines.forEach(([i,r],n)=>{i.fill=void 0,i.stroke=t[n],r.fill=void 0,r.stroke=t[n]}),this.areas.forEach((i,r)=>{i.fill=e[r]})}createRangeArea(e,t,i,r){const n=t.reduce((m,v)=>v.reduce((C,{x:y})=>Math.min(C,y),m),1/0),o=t.reduce((m,v)=>v.reduce((C,{x:y})=>Math.max(C,y),m),-1/0),a=t.reduce((m,v)=>v.reduce((C,{low:y})=>Math.min(C,y),m),1/0),l=t.reduce((m,v)=>v.reduce((C,{high:y})=>Math.max(C,y),m),-1/0),{_Scene:c}=this.agChartsExports,u=new c.LinearScale;u.domain=[n,o],u.range=[r,i-r];const d=2*r,h=new c.LinearScale;h.domain=[a,l],h.range=[i-d,d];const p=[],g=[];return t.map(m=>{const v=new c.Path,C=new c.Path,y=new c.Path;return p.push([v,C]),g.push(y),v.strokeWidth=0,C.strokeWidth=0,y.strokeWidth=0,y.fillOpacity=.8,v.path.clear(),C.path.clear(),y.path.clear(),m.map((S,x)=>{const{x:b,low:w,high:P}=S,F=u.convert(b),T=h.convert(w),R=h.convert(P),A=x>0?"lineTo":"moveTo";return v.path[A](F,R),C.path[A](F,T),y.path[A](F,R),[F,T]})}).forEach((m,v)=>{const C=m.length-1,y=g[v];for(let S=C;S>=0;S--){const[x,b]=m[S];y.path.lineTo(x,b)}}),e.append(g.concat(...p)),{lines:p,areas:g}}};function zigzag(e){const{offset:t,length:i,pattern:r}=e,n=l(t,i,r),o=0,a=i;return(n.length===0||n[0][0]!==o)&&n.unshift(c(o,t,r)),n[n.length-1][0]!==a&&n.push(c(a,t,r)),n;function l(d,h,p){const{period:g}=p,f=d/g,v=[0,.5].map(y=>y-f).map(getRemainderAbs).sort((y,S)=>y-S);return Array.from({length:Math.floor(v.length*(g/h))},(y,S)=>v[S%v.length]+Math.floor(S/v.length)).map(y=>y*g).map(y=>c(y,d,p))}function c(d,h,p){return[d,u(h+d,p)]}function u(d,h){const{low:p,high:g,period:f}=h,m=getRemainderAbs(d/f),v=m>.5?1-2*(m-.5):2*m;return p+(g-p)*v}}function getRemainderAbs(e){const t=e%1;return t<0?t+1:t}function swapArrayItems(e,t,i){const r=[...e],n=r[t];return r[t]=r[i],r[i]=n,r}var MiniRangeArea={chartType:"rangeArea",miniChart:MiniRangeAreaClass},MiniBoxPlotClass=class extends MiniChartWithAxes{constructor(e,t,i,r,n){super(e,t,"boxPlotTooltip");const{size:o,padding:a,agChartsExports:{_Scene:l}}=this,c=[11,11.5,10.5],u=1.2,d=1.1,h=.9,p=.8,g=new l.LinearScale;g.domain=[c.reduce((C,y)=>Math.min(C,y),1/0)*p,c.reduce((C,y)=>Math.max(C,y),0)*u],g.range=[o-1.5*a,a];const f=new l.CategoryScale;f.domain=c.map((C,y)=>y),f.range=[a,o-a],f.paddingInner=.4,f.paddingOuter=.2;const m=Math.round(f.bandwidth),v=Math.round(f.bandwidth/2);this.boxPlotGroups=c.map((C,y)=>{const[S,x,b,w]=[C*p,C*h,C*d,C*u],P=Math.round(g.convert(b)),F=Math.round(f.convert(y)),T=Math.round(F+m),R=Math.round(g.convert(x)),A=Math.round(g.convert(S)),E=Math.round(g.convert(C)),_=Math.round(g.convert(w)),G=F+v,D=new l.Group,k=new l.Rect,B=new l.Line,O=new l.Line,W=new l.Line,U=new l.Line,X=new l.Line;return k.x=F,k.y=P,k.width=m,k.height=R-P,k.strokeWidth=1,k.strokeOpacity=.75,k.crisp=!0,this.setLineProperties(B,F,T,E,E),this.setLineProperties(O,G,G,_,P),this.setLineProperties(W,G,G,A,R),this.setLineProperties(U,F,T,_,_),this.setLineProperties(X,F,T,A,A),D.append([k,B,O,W,U,X]),D}),this.updateColors(i,r,n),this.root.append(this.boxPlotGroups)}updateColors(e,t,i){const{_Theme:r}=this.agChartsExports;this.boxPlotGroups.forEach((n,o)=>{for(const a of n.children()){const l=e[o%e.length];a.fill=i?l:r.resolveOperation({$mix:[l,{$ref:"backgroundColor"},.7]}),a.stroke=t[o%t.length]}})}setLineProperties(e,t,i,r,n){e.x1=t,e.x2=i,e.y1=r,e.y2=n,e.strokeOpacity=.75}},MiniBoxPlot={chartType:"boxPlot",miniChart:MiniBoxPlotClass},MiniTreemapClass=class extends MiniChart{constructor(e,t,i,r,n){super(e,t,"treemapTooltip");const{size:o,padding:a,agChartsExports:{_Scene:l}}=this,c=[[1,1],[3,2,1]],d=c.length%2===0?.3:.2,h=[a,o-a],p=c.length,g=p*(p+1)/2,f=d/(p-1),m=h[1]-h[0],v=m-d;let C=h[0];this.rects=c.reduce((S,x,b)=>{S??(S=[]);const w=(p-b)/g,P=v*w,F=x.length,T=x.reduce((G,D)=>G+D,0),R=d/(F-1||1),A=F>1?m-d:m;let E=h[0];const _=x.map(G=>{const D=new l.Rect,k=A*G/T;return D.x=C,D.y=E,D.width=P,D.height=k,D.strokeWidth=.75,D.crisp=!0,E+=k+R,D});return C+=P+f,S.push(..._),S},[]),this.updateColors(i,r,n);const y=new l.Group;y.setClipRect(new l.BBox(a,a,o-a,o-a)),y.append(this.rects),this.root.append(y)}updateColors(e,t,i){const{_Theme:r}=this.agChartsExports;this.rects.forEach((n,o)=>{n.fill=e[o%t.length],n.stroke=i?t[o%t.length]:r.resolveOperation({$ref:"backgroundColor"})})}},MiniTreemap={chartType:"treemap",miniChart:MiniTreemapClass},MiniSunburstClass=class extends MiniChartWithPolarAxes{constructor(e,t,i,r){super(e,t,"sunburstTooltip"),this.data=[[[],[]],[[],[]],[[],[]]],this.angleOffset=-Math.PI/2,this.innerRadiusRatio=0,this.showRadiusAxisLine=!1,this.showAngleAxisLines=!1;const{data:n,size:o,padding:a,angleOffset:l,innerRadiusRatio:c,agChartsExports:{_Scene:u}}=this,d=(o-a*2)/2,h=[l+0,l+2*Math.PI],p=Math.abs(h[1]-h[0]),g=[d*c,d],f=Math.abs(g[1]-g[0]);let m=0;const v=(b,w)=>{for(const P of b){const F=w+1;m=Math.max(m,F),v(P,F)}};v(n,0);const C=f/m,y=this.size/2,S=h[0];this.series=[];const x=(b,w,P,F,T)=>{if(!Array.isArray(b))return;const A=w+1;let E=P;b.forEach((_,G,D)=>{let k=T;k||(k=new u.Group,this.series.push(k));const B=g[0]+w*C,O=g[0]+A*C,W=1/D.length,U=E,X=U+F*W,L=new u.Sector;L.centerX=y,L.centerY=y,L.innerRadius=B,L.outerRadius=O,L.startAngle=U,L.endAngle=X,L.stroke=void 0,L.strokeWidth=0,L.inset=.75,E=X,k.append(L),x(_,A,U,Math.abs(X-U),k)})};x(n,0,S,p),this.root.append(this.series),this.updateColors(i,r)}updateColors(e,t){this.series.forEach((i,r)=>{for(const n of i.children())n.fill=e[r%e.length],n.stroke=t[r%t.length]})}},MiniSunburst={chartType:"sunburst",miniChart:MiniSunburstClass},MiniHeatmapClass=class extends MiniChart{constructor(e,t,i,r,n){super(e,t,"heatmapTooltip");const{size:o,padding:a,agChartsExports:{_Scene:l}}=this,c=3,u=Array.from({length:c},(v,C)=>Array.from({length:c},(y,S)=>S)),d=u.map((v,C)=>C),h=new l.CategoryScale;h.domain=d,h.range=[a,o-a],h.paddingInner=.01,h.paddingOuter=.1;const p=new l.CategoryScale;p.domain=d,p.range=[a,o-a],p.paddingInner=.01,p.paddingOuter=.1;const g=h.bandwidth??0,f=p.bandwidth??0;this.rects=u.reduce((v,C,y)=>{v??(v=[]);const S=C.map((x,b)=>{const w=new l.Rect;return w.x=h.convert(y),w.y=p.convert(b),w.width=g,w.height=f,w.strokeWidth=0,w.crisp=!0,w});return v.push(...S),v},[]),this.updateColors(i,r,n);const m=new l.Group;m.setClipRect(new l.BBox(a,a,o-a,o-a)),m.append(this.rects),this.root.append(m)}updateColors(e,t,i){const{_Theme:r,_Util:n}=this.agChartsExports,o=i?[e[0],e[1]]:r.resolveOperation({$palette:"divergingColors"}),a=i?t[0]:r.resolveOperation({$ref:"backgroundColor"}),l=n.interpolateColor(o[0],o[1]);this.rects.forEach((c,u)=>{c.fill=l(u*.2),c.stroke=a})}},MiniHeatmap={chartType:"heatmap",miniChart:MiniHeatmapClass},MiniWaterfallClass=class extends MiniChartWithAxes{constructor(e,t,i,r,n){super(e,t,"waterfallTooltip"),this.data=[4,3,-3,6,-3],this.bars=this.createWaterfall(this.root,this.data,this.size,this.padding,"vertical").bars,this.updateColors(i,r,n)}updateColors(e,t,i){const{data:r,agChartsExports:{_Theme:n}}=this,o={fill:i?e[0]:n.resolveOperation({$palette:"altUp.fill"}),stroke:i?t[0]:n.resolveOperation({$palette:"altUp.stroke"})},a={fill:i?e[1]:n.resolveOperation({$palette:"altDown.fill"}),stroke:i?t[1]:n.resolveOperation({$palette:"altDown.stroke"})};this.bars.forEach((l,c)=>{const u=r[c]>=0;l.fill=u?o.fill:a.fill,l.stroke=u?o.stroke:a.stroke})}createWaterfall(e,t,i,r,n){const o=2*r,{processedData:a,min:l,max:c}=accumulateData(t.map(S=>[S])),u=a.reduce((S,x)=>S.concat(x),[]),{_Scene:d}=this.agChartsExports,h=new d.LinearScale;h.domain=[Math.min(l,0),c],h.range=[i-o,o];const p=new d.CategoryScale;p.domain=t.map((S,x)=>x),p.range=[r,i-r],p.paddingInner=.2,p.paddingOuter=.3;const g=p.bandwidth,f=new d.Path;f.stroke="#575757",f.strokeWidth=0;const m=Math.floor(f.strokeWidth)%2/2,v=f.path;v.clear();const C=n==="horizontal",y=u.map((S,x)=>{const b=x>0?u[x-1]:0,P=t[x]>0,F=Math.round(h.convert(S)),T=Math.round(h.convert(b)),R=(P?F:T)-m,A=(P?T:F)+m,E=Math.abs(A-R),_=p.convert(x),G=new d.Rect;G.x=C?R:_,G.y=C?_:R,G.width=C?E:g,G.height=C?g:E,G.strokeWidth=0,G.crisp=!0;const D=F+m,k=T+m;if(x>0){const W=C?k:G.x,U=C?G.y:k;v.lineTo(W,U)}const B=C?D:G.x,O=C?G.y:D;return v.moveTo(B,O),G});return e.append([f,...y]),{bars:y}}},MiniWaterfall={chartType:"waterfall",miniChart:MiniWaterfallClass},MiniColumnLineComboClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"columnLineComboTooltip"),this.columnData=[3,4],this.lineData=[[5,4,6,5,4]];const{root:n,columnData:o,lineData:a,size:l,padding:c}=this;this.columns=createColumnRects({stacked:!1,root:n,data:o,size:l,padding:c,xScaleDomain:[0,1],yScaleDomain:[0,4],xScalePadding:.5,agChartsExports:t}),n.append(this.columns),this.lines=createLinePaths(t,n,a,l,c),this.updateColors(i,r)}updateColors(e,t){this.columns.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]}),this.lines.forEach((i,r)=>{i.stroke=e[r+2]})}},MiniColumnLineCombo={chartType:"columnLineCombo",miniChart:MiniColumnLineComboClass},MiniAreaColumnComboClass=class extends MiniChartWithAxes{constructor(e,t,i,r){super(e,t,"areaColumnComboTooltip"),this.columnData=[3,4.5],this.areaData=[[5,4,6,5,4]];const{root:n,columnData:o,areaData:a,size:l,padding:c,agChartsExports:{_Scene:u}}=this;this.columns=createColumnRects({stacked:!1,root:n,data:o,size:l,padding:c,xScaleDomain:[0,1],yScaleDomain:[0,6],xScalePadding:.5,agChartsExports:t});const d=new u.CategoryScale;d.range=[c,l-c],d.domain=[0,1,2,3,4],d.paddingInner=1,d.paddingOuter=0;const h=new u.LinearScale;h.range=[l-c,c],h.domain=[0,6];const p=[],g=h.convert(0),f=d.convert(0);a.forEach((C,y)=>{const S=p[y]||(p[y]=[]);C.forEach((b,w)=>{const P=b,F=w,T=d.convert(F),R=h.convert(P);S[w]={x:T,y:R}});const x=d.convert(C.length-1);p[y].push({x,y:g},{x:f,y:g})}),this.areas=p.map(C=>{const y=new u.Path;y.strokeWidth=0,y.fillOpacity=.8;const S=y.path;return C.forEach((x,b)=>S[b>0?"lineTo":"moveTo"](x.x,x.y)),y});const m=new u.Group;m.setClipRect(new u.BBox(c,c,l-c*2,l-c*2));const v=new u.Group;v.setClipRect(new u.BBox(c,c,l-c*2,l-c*2)),m.append(this.areas),v.append(this.columns),n.append(m),n.append(v),this.updateColors(i,r)}updateColors(e,t){this.areas.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]}),this.columns.forEach((i,r)=>{i.fill=e[r+1],i.stroke=t[r+1]})}},MiniAreaColumnCombo={chartType:"areaColumnCombo",miniChart:MiniAreaColumnComboClass},MiniCustomComboClass=class extends MiniChart{constructor(e,t,i,r){super(e,t,"customComboTooltip"),this.columnData=[3,4],this.lineData=[[5,4,6,5,4]];const{root:n,columnData:o,lineData:a,size:l,padding:c,agChartsExports:{_Scene:u}}=this;this.columns=createColumnRects({stacked:!1,root:n,data:o,size:l,padding:c,xScaleDomain:[0,1],yScaleDomain:[0,4],xScalePadding:.5,agChartsExports:t}),n.append(this.columns),this.lines=createLinePaths(this.agChartsExports,n,a,l,c);const d="grey",h=3,p=new u.Line;p.x1=c,p.y1=c,p.x2=c,p.y2=l-c+h,p.stroke=d;const g=new u.Line;g.x1=c-h+1,g.y1=l-c,g.x2=l-c+1,g.y2=l-c,g.stroke=d;const f=new u.Path;this.buildPenIconPath(f),f.fill="whitesmoke",f.stroke="darkslategrey",f.strokeWidth=1,n.append([g,p,f]),this.updateColors(i,r)}updateColors(e,t){this.columns.forEach((i,r)=>{i.fill=e[r],i.stroke=t[r]}),this.lines.forEach((i,r)=>{i.stroke=e[r+2]})}buildPenIconPath(e){const{path:t}=e;t.moveTo(25.76,43.46),t.lineTo(31.27,48.53),t.moveTo(49.86,22),t.lineTo(49.86,22),t.cubicCurveTo(49.01994659053345,21.317514933510974,47.89593834348529,21.09645997825817,46.86,21.41),t.lineTo(46.86,21.41),t.cubicCurveTo(45.55460035985361,21.77260167850787,44.38777081121966,22.517979360321792,43.51,23.55),t.lineTo(25.51,43.8),t.lineTo(25.43,43.89),t.lineTo(23.01,51.89),t.lineTo(22.83,52.46),t.lineTo(31.02,48.86),t.lineTo(49.02,28.52),t.lineTo(49.02,28.52),t.cubicCurveTo(49.940716461596224,27.521914221246085,50.54302631059587,26.2720342455763,50.75,24.93),t.lineTo(50.75,24.93),t.cubicCurveTo(50.95363374988308,23.866379846512814,50.62080640232334,22.77066734274871,49.86,22),t.closePath(),t.moveTo(41.76,25.5),t.lineTo(47.34,30.5),t.moveTo(40.74,26.65),t.lineTo(46.25,31.71)}},MiniCustomCombo={chartType:"customCombo",miniChart:MiniCustomComboClass},miniChartMapping={columnGroup:{column:{range:!0,pivot:!0,enterprise:!1,icon:MiniColumn},stackedColumn:{range:!0,pivot:!0,enterprise:!1,icon:MiniStackedColumn},normalizedColumn:{range:!0,pivot:!0,enterprise:!1,icon:MiniNormalizedColumn}},barGroup:{bar:{range:!0,pivot:!0,enterprise:!1,icon:MiniBar},stackedBar:{range:!0,pivot:!0,enterprise:!1,icon:MiniStackedBar},normalizedBar:{range:!0,pivot:!0,enterprise:!1,icon:MiniNormalizedBar}},pieGroup:{pie:{range:!0,pivot:!0,enterprise:!1,icon:MiniPie},donut:{range:!0,pivot:!0,enterprise:!1,icon:MiniDonut},doughnut:{range:!0,pivot:!0,enterprise:!1,icon:MiniDonut}},lineGroup:{line:{range:!0,pivot:!0,enterprise:!1,icon:MiniLine},stackedLine:{range:!0,pivot:!0,enterprise:!1,icon:MiniStackedLine},normalizedLine:{range:!0,pivot:!0,enterprise:!1,icon:MiniNormalizedLine}},scatterGroup:{scatter:{range:!0,pivot:!0,enterprise:!1,icon:MiniScatter},bubble:{range:!0,pivot:!0,enterprise:!1,icon:MiniBubble}},areaGroup:{area:{range:!0,pivot:!0,enterprise:!1,icon:MiniArea},stackedArea:{range:!0,pivot:!0,enterprise:!1,icon:MiniStackedArea},normalizedArea:{range:!0,pivot:!0,enterprise:!1,icon:MiniNormalizedArea}},polarGroup:{radarLine:{range:!0,pivot:!1,enterprise:!0,icon:MiniRadarLine},radarArea:{range:!0,pivot:!1,enterprise:!0,icon:MiniRadarArea},nightingale:{range:!0,pivot:!1,enterprise:!0,icon:MiniNightingale},radialColumn:{range:!0,pivot:!1,enterprise:!0,icon:MiniRadialColumn},radialBar:{range:!0,pivot:!1,enterprise:!0,icon:MiniRadialBar}},statisticalGroup:{boxPlot:{range:!0,pivot:!1,enterprise:!0,icon:MiniBoxPlot},histogram:{range:!0,pivot:!1,enterprise:!1,icon:MiniHistogram},rangeBar:{range:!0,pivot:!1,enterprise:!0,icon:MiniRangeBar},rangeArea:{range:!0,pivot:!1,enterprise:!0,icon:MiniRangeArea}},hierarchicalGroup:{treemap:{range:!0,pivot:!0,enterprise:!0,icon:MiniTreemap},sunburst:{range:!0,pivot:!0,enterprise:!0,icon:MiniSunburst}},specializedGroup:{heatmap:{range:!0,pivot:!1,enterprise:!0,icon:MiniHeatmap},waterfall:{range:!0,pivot:!1,enterprise:!0,icon:MiniWaterfall}},combinationGroup:{columnLineCombo:{range:!0,pivot:!0,enterprise:!1,icon:MiniColumnLineCombo},areaColumnCombo:{range:!0,pivot:!0,enterprise:!1,icon:MiniAreaColumnCombo},customCombo:{range:!0,pivot:!0,enterprise:!1,icon:MiniCustomCombo}},funnelGroup:{funnel:{range:!0,pivot:!1,enterprise:!0,icon:MiniFunnel},coneFunnel:{range:!0,pivot:!1,enterprise:!0,icon:MiniConeFunnel},pyramid:{range:!0,pivot:!1,enterprise:!0,icon:MiniPyramid}}},DEFAULT_CHART_GROUPS={columnGroup:["column","stackedColumn","normalizedColumn"],barGroup:["bar","stackedBar","normalizedBar"],pieGroup:["pie","donut"],lineGroup:["line","stackedLine","normalizedLine"],areaGroup:["area","stackedArea","normalizedArea"],scatterGroup:["scatter","bubble"],polarGroup:["radarLine","radarArea","nightingale","radialColumn","radialBar"],statisticalGroup:["boxPlot","histogram","rangeBar","rangeArea"],hierarchicalGroup:["treemap","sunburst"],specializedGroup:["heatmap","waterfall"],funnelGroup:["funnel","coneFunnel","pyramid"],combinationGroup:["columnLineCombo","areaColumnCombo","customCombo"]},MiniChartsContainer=class extends import_ag_grid_community326.Component{constructor(e,t,i,r,n=DEFAULT_CHART_GROUPS){super('<div class="ag-chart-settings-mini-wrapper"></div>'),this.wrappers=new Map,this.chartController=e,this.fills=t,this.strokes=i,this.isCustomTheme=r,this.chartGroups={...n}}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){!this.chartController.customComboExists()&&this.chartGroups.combinationGroup&&(this.chartGroups.combinationGroup=this.chartGroups.combinationGroup.filter(o=>o!=="customCombo"));const e=this.getGui(),t=this.chartController.isEnterprise(),i=this.chartController.isPivotChart(),r=!i,n=Object.keys(this.chartGroups).map(o=>{const a=o in miniChartMapping?miniChartMapping[o]:void 0;if(!a)return this.beans.log.warn(148,{group:o}),null;const c=(this.chartGroups[o]??[]).map(u=>{const d=u in a?a[u]:void 0;return d?!t&&d.enterprise?null:r&&d.range||i&&d.pivot?d:null:(this.beans.log.warn(149,{group:o,chartType:u}),null)}).filter(u=>u!=null);return c.length===0?null:{label:this.chartTranslation.translate(o),items:c}}).filter(o=>o!=null);for(const{label:o,items:a}of n){const l=this.createBean(new AgGroupComponent({title:o,suppressEnabledCheckbox:!0,enabled:!0,suppressOpenCloseIcons:!0,cssIdentifier:"charts-settings",direction:"horizontal",suppressKeyboardNavigation:!0}));for(const c of a){const{miniChart:u,chartType:d}=c.icon,h=(0,import_ag_grid_community326._createElement)({tag:"div",cls:"ag-chart-mini-thumbnail",role:"button",attrs:{tabindex:"0"}}),p=d,g=()=>{this.chartController.setChartType(p),this.updateSelectedMiniChart()};this.addManagedListeners(h,{click:g,keydown:f=>{(f.key==import_ag_grid_community326.KeyCode.ENTER||f.key===import_ag_grid_community326.KeyCode.SPACE)&&(f.preventDefault(),g())}}),this.wrappers.set(p,h),this.createBean(new u(h,this.beans.agChartsExports,this.fills,this.strokes,this.isCustomTheme)),l.addItem(h)}e.appendChild(l.getGui())}this.updateSelectedMiniChart()}updateSelectedMiniChart(){const e=this.chartController.getChartType();this.wrappers.forEach((t,i)=>{const r=i===e;t.classList.toggle("ag-selected",r);const n=this.chartTranslation.translate(getFullChartNameTranslationKey(i)),o=r?`${n}. ${this.chartTranslation.translate("ariaChartSelected")}`:n;(0,import_ag_stack189._setAriaLabel)(t,o)})}destroy(){this.wrappers.clear(),super.destroy()}},ChartSettingsPanel=class extends import_ag_grid_community327.Component{constructor(e){super(`<div class="ag-chart-settings-wrapper">
            <div data-ref="eMiniChartsContainer" class="ag-chart-settings-mini-charts-container ag-scrollable-container"></div>
            <div data-ref="eNavBar" class="ag-chart-settings-nav-bar">
                <div data-ref="ePrevBtn" class="ag-chart-settings-prev">
                    <button type="button" class="ag-button ag-chart-settings-prev-button"></button>
                </div>
                <div data-ref="eCardSelector" class="ag-chart-settings-card-selector"></div>
                <div data-ref="eNextBtn" class="ag-chart-settings-next">
                    <button type="button" class="ag-button ag-chart-settings-next-button"></button>
                </div>
            </div>
        </div>`),this.chartController=e,this.eMiniChartsContainer=import_ag_stack190.RefPlaceholder,this.eNavBar=import_ag_stack190.RefPlaceholder,this.eCardSelector=import_ag_stack190.RefPlaceholder,this.ePrevBtn=import_ag_stack190.RefPlaceholder,this.eNextBtn=import_ag_stack190.RefPlaceholder,this.miniChartsContainers=[],this.cardItems=[],this.activePaletteIndex=0,this.palettes=[],this.themes=[]}postConstruct(){this.resetPalettes();const e=this.gos.get("enableRtl");this.ePrevBtn.insertAdjacentElement("afterbegin",(0,import_ag_grid_community327._createIconNoSpan)(e?"chartsThemeNext":"chartsThemePrevious",this.beans)),this.eNextBtn.insertAdjacentElement("afterbegin",(0,import_ag_grid_community327._createIconNoSpan)(e?"chartsThemePrevious":"chartsThemeNext",this.beans)),this.addManagedElementListeners(this.ePrevBtn,{click:()=>this.setActivePalette(this.getPrev(),"left")}),this.addManagedElementListeners(this.eNextBtn,{click:()=>this.setActivePalette(this.getNext(),"right")});const t=()=>this.resetPalettes(!0);this.addManagedListeners(this.chartController,{chartTypeChanged:t,chartApiUpdate:t}),this.scrollSelectedIntoView()}scrollSelectedIntoView(){setTimeout(()=>{if(!this.isAlive())return;const e=r=>!r.getGui().classList.contains("ag-hidden"),i=this.miniChartsContainers.find(e).getGui().querySelector(".ag-selected");if(i){const r=i.offsetParent;r&&this.eMiniChartsContainer.scrollTo(0,r.offsetTop)}},250)}resetPalettes(e){const t=this.chartController.getPalettes(),i=this.gos.get("chartToolPanelsDef")?.settingsPanel?.chartGroupsDef;if((0,import_ag_stack190._areEqual)(t,this.palettes)&&!e||this.isAnimating)return;this.palettes=t,this.themes=this.chartController.getThemeNames(),this.activePaletteIndex=this.themes.findIndex(n=>n===this.chartController.getChartThemeName()),this.cardItems=[],(0,import_ag_stack190._clearElement)(this.eCardSelector),this.destroyMiniCharts();const{themes:r}=this;this.palettes.forEach((n,o)=>{const a=this.activePaletteIndex===o,{fills:l=[],strokes:c=[]}=n,u=r[o],d=!isStockTheme(u,this.beans.agChartsExports._Theme),h=this.createBean(new MiniChartsContainer(this.chartController,l,c,d,i));this.miniChartsContainers.push(h),this.eMiniChartsContainer.appendChild(h.getGui()),this.addCardLink(o),a?h.updateSelectedMiniChart():h.setDisplayed(!1)}),(0,import_ag_stack190._setDisplayed)(this.eNavBar,this.palettes.length>1),(0,import_ag_stack190._radioCssClass)(this.cardItems[this.activePaletteIndex],"ag-selected","ag-not-selected")}addCardLink(e){const t=(0,import_ag_grid_community327._createElement)({tag:"div",cls:"ag-chart-settings-card-item"});this.addManagedElementListeners(t,{click:()=>{this.setActivePalette(e,e<this.activePaletteIndex?"left":"right")}}),this.eCardSelector.appendChild(t),this.cardItems.push(t)}getPrev(){let e=this.activePaletteIndex-1;return e<0&&(e=this.palettes.length-1),e}getNext(){let e=this.activePaletteIndex+1;return e>=this.palettes.length&&(e=0),e}setActivePalette(e,t){if(this.isAnimating||this.activePaletteIndex===e)return;(0,import_ag_stack190._radioCssClass)(this.cardItems[e],"ag-selected","ag-not-selected");const i=this.miniChartsContainers[this.activePaletteIndex],r=i.getGui(),n=this.miniChartsContainers[e],o=n.getGui();i.updateSelectedMiniChart(),n.updateSelectedMiniChart();const a=t==="left"?-1:1,l=o.style.left=`${(0,import_ag_stack190._getAbsoluteWidth)(this.getGui())*a}px`;this.activePaletteIndex=e,this.isAnimating=!0;const c="ag-animating";n.setDisplayed(!0),i.addCss(c),n.addCss(c),this.chartController.setChartThemeName(this.themes[e]),window.setTimeout(()=>{r.style.left=`${-parseFloat(l)}px`,o.style.left="0px"},0),window.setTimeout(()=>{this.isAnimating=!1,i.removeCss(c),n.removeCss(c),i.setDisplayed(!1)},300)}destroyMiniCharts(){(0,import_ag_stack190._clearElement)(this.eMiniChartsContainer),this.miniChartsContainers=this.destroyBeans(this.miniChartsContainers)}destroy(){this.destroyMiniCharts(),super.destroy()}},TAB_DATA="data",TAB_FORMAT="format",TabbedChartMenu=class extends import_ag_grid_community328.Component{constructor(e,t){super(),this.panels=e,this.chartMenuContext=t,this.tabs=[]}wireBeans(e){this.chartTranslation=e.chartTranslation}postConstruct(){for(const e of this.panels){const t=e.replace("chart","").toLowerCase(),i=this.createPanel(t),r=this.createTab(e,t,i);this.tabs.push(r),this.addDestroyFunc(()=>this.destroyBean(i))}this.tabbedLayout=new AgTabbedLayout({items:this.tabs,cssClass:"ag-chart-tabbed-menu",keepScrollPosition:!0,suppressFocusBodyOnOpen:!0,suppressTrapFocus:!0,enableCloseButton:!0,closeButtonAriaLabel:this.chartTranslation.translate("ariaChartMenuClose"),onCloseClicked:()=>{this.eventSource?.focus({preventScroll:!0}),this.dispatchLocalEvent({type:"closed"})}}),this.createBean(this.tabbedLayout)}createTab(e,t,i){const r=(0,import_ag_grid_community328._createElement)({tag:"div",cls:`ag-chart-tab ag-chart-${t}`});this.createBean(i),r.appendChild(i.getGui());const n=this.chartTranslation.translate(t);return{title:(0,import_ag_grid_community328._createElement)({tag:"div",children:n}),titleLabel:n,bodyPromise:import_ag_grid_community328.AgPromise.resolve(r),getScrollableContainer:()=>r.querySelector(".ag-scrollable-container")||r,name:e}}showTab(e){const t=this.tabs[e];this.tabbedLayout.showItem(t)}getGui(){return this.tabbedLayout?.getGui()}showMenu(e,t){this.eventSource=e,t||this.tabbedLayout?.focusHeader(!0)}destroy(){this.parentComponent?.isAlive()&&this.destroyBean(this.parentComponent),super.destroy()}createPanel(e){switch(e){case TAB_DATA:return new ChartDataPanel(this.chartMenuContext);case TAB_FORMAT:return new FormatPanel(this.chartMenuContext);default:return new ChartSettingsPanel(this.chartMenuContext.chartController)}}},ChartMenu=class extends import_ag_grid_community329.Component{constructor(e,t,i){super('<div class="ag-chart-menu-wrapper"></div>'),this.eChartContainer=e,this.eMenuPanelContainer=t,this.chartMenuContext=i,this.buttons={chartLink:{iconName:"linked",callback:()=>this.chartMenuSvc.toggleLinked(this.chartMenuContext)},chartUnlink:{iconName:"unlinked",callback:()=>this.chartMenuSvc.toggleLinked(this.chartMenuContext)},chartDownload:{iconName:"chartsDownload",callback:()=>this.chartMenuSvc.downloadChart(this.chartMenuContext)},chartMenu:{iconName:"chartsMenu",callback:r=>this.showMenuList(r)}},this.panels=[],this.menuVisible=!1,this.chartController=i.chartController}wireBeans(e){this.chartMenuSvc=e.chartMenuSvc,this.chartMenuListFactory=e.chartMenuListFactory}postConstruct(){this.chartToolbar=this.createManagedBean(new ChartToolbar),this.getGui().appendChild(this.chartToolbar.getGui()),this.refreshToolbarAndPanels(),this.addManagedEventListeners({chartCreated:e=>{e.chartId===this.chartController.getChartId()&&this.gos.get("chartToolPanelsDef")?.defaultToolPanel&&this.showMenu({panel:this.defaultPanel,suppressFocus:!0})}}),this.addManagedListeners(this.chartController,{chartLinkedChanged:this.refreshToolbarAndPanels.bind(this)}),this.refreshMenuClasses(),this.addManagedListeners(this.chartController,{chartApiUpdate:this.refreshToolbarAndPanels.bind(this)})}isVisible(){return this.menuVisible}getExtraPaddingDirections(){return["chartMenu","chartLink","chartUnlink","chartDownload"].some(e=>this.chartToolbarOptions.includes(e))?["top"]:[]}refreshToolbarAndPanels(){this.initToolbarOptionsAndPanels(),this.updateToolbar()}initToolbarOptionsAndPanels(){const{panels:e,defaultPanel:t}=this.chartMenuSvc.getChartToolPanels(this.chartController);this.panels=e,this.defaultPanel=t,this.chartToolbarOptions=this.chartMenuSvc.getChartToolbarOptions()}updateToolbar(){const e=this.chartToolbarOptions.map(t=>{const{iconName:i,callback:r}=this.buttons[t];return{buttonName:t,iconName:i,callback:r}});this.chartToolbar.updateParams({buttons:e})}createMenuPanel(e){const t=this.menuPanel=this.createBean(new AgPanel({height:"100%",closable:!0,hideTitleBar:!0,cssIdentifier:"chart-menu"}));return t.setParentComponent(this),this.eMenuPanelContainer.appendChild(t.getGui()),this.tabbedMenu=this.createBean(new TabbedChartMenu(this.panels,this.chartMenuContext)),this.addManagedListeners(this.tabbedMenu,{closed:()=>{this.hideMenu()}}),this.addManagedListeners(t,{destroyed:()=>this.destroyBean(this.tabbedMenu)}),new import_ag_grid_community329.AgPromise(i=>{window.setTimeout(()=>{t.setBodyComponent(this.tabbedMenu),this.tabbedMenu.showTab(e),i(t)},100)})}showContainer(e,t){this.menuPanel&&(this.menuVisible=!0,this.refreshMenuClasses(),this.tabbedMenu.showMenu(e,t))}showMenu(e){const{panel:t,eventSource:i,suppressFocus:r}=e??{};if(this.menuPanel&&!t)this.showContainer(i,r);else{const n=t||this.defaultPanel;let o=this.panels.indexOf(n);o<0&&(this.beans.log.warn(143,{panel:t}),o=this.panels.indexOf(this.defaultPanel)),this.menuPanel?(this.tabbedMenu.showTab(o),this.showContainer(i,r)):this.createMenuPanel(o).then(()=>this.showContainer(i,r))}}hideMenu(){this.menuVisible=!1,this.refreshMenuClasses()}refreshMenuClasses(){this.eChartContainer.classList.toggle("ag-chart-menu-visible",this.menuVisible),this.eChartContainer.classList.toggle("ag-chart-menu-hidden",!this.menuVisible)}showMenuList(e){this.chartMenuListFactory.showMenuList({eventSource:e,showMenu:()=>this.showMenu({eventSource:e}),chartMenuContext:this.chartMenuContext})}destroy(){super.destroy(),this.menuPanel?.isAlive()&&this.destroyBean(this.menuPanel),this.tabbedMenu?.isAlive()&&this.destroyBean(this.tabbedMenu)}},import_ag_grid_community330=require("ag-grid-community"),CARTESIAN_AXIS_TYPES=["number","category","time","grouped-category"],POLAR_AXIS_TYPES=["angle-category","angle-number","radius-category","radius-number"],VALID_AXIS_TYPES=[...CARTESIAN_AXIS_TYPES,...POLAR_AXIS_TYPES],ChartOptionsService=class extends import_ag_grid_community330.BeanStub{constructor(e){super(),this.chartController=e}getChartThemeOverridesProxy(){return{getValue:e=>this.getChartOption(e),setValue:(e,t)=>this.setChartThemeOverrides([{expression:e,value:t}]),setValues:e=>this.setChartThemeOverrides(e)}}getAxisThemeOverridesProxy(){return{getValue:e=>this.getAxisProperty(e),setValue:(e,t)=>this.setAxisThemeOverrides([{expression:e,value:t}]),setValues:e=>this.setAxisThemeOverrides(e)}}getCartesianAxisOptionsProxy(e){return{getValue:t=>this.getCartesianAxisProperty(e,t),setValue:(t,i)=>this.setCartesianAxisOptions(e,[{expression:t,value:i}]),setValues:t=>this.setCartesianAxisOptions(e,t),clearValue:(t,i)=>this.clearCartesianAxisOptions(e,t,i)}}getCartesianAxisThemeOverridesProxy(e){return{getValue:t=>this.getCartesianAxisProperty(e,t),setValue:(t,i)=>this.setCartesianAxisThemeOverrides(e,[{expression:t,value:i}]),setValues:t=>this.setCartesianAxisThemeOverrides(e,t)}}getCartesianAxisAppliedThemeOverridesProxy(e){return{getValue:t=>this.getCartesianAxisThemeOverride(e,t==="*"?null:t),setValue:(t,i)=>this.setCartesianAxisThemeOverrides(e,[{expression:t==="*"?null:t,value:i}]),setValues:t=>this.setCartesianAxisThemeOverrides(e,t)}}getPolarAxisThemeOverridesProxy(e,t="allAxes"){const i=r=>t==="allAxes"?this.setAxisThemeOverrides(r):this.setPolarAxisThemeOverrides(e,r);return{getValue:r=>this.getPolarAxisProperty(e,r),setValue:(r,n)=>i([{expression:r,value:n}]),setValues:i}}getPolarCategoryAxisType(){for(const e of this.getChartAxes()){if(e.type==="angle-category")return"angle";if(e.type==="radius-category")return"radius"}}getSeriesOptionsProxy(e){return{getValue:(t,i)=>this.getSeriesOption(e(),t,i),setValue:(t,i)=>this.setSeriesOptions(e(),[{expression:t,value:i}]),setValues:t=>this.setSeriesOptions(e(),t)}}getPersistedChartThemeOverrides(e,t,i,r){const n=this.getRetainedChartThemeOverrideKeys(i,r),o=this.getRetainedChartAxisThemeOverrideKeys(null,i,r),a=this.createChartOptions();for(const l of n){const c=this.retrieveChartOptionsThemeOverride(e,i,l);c!==void 0&&this.assignChartOptionsThemeOverride(a,r,l,c)}return t&&this.assignPersistedAxisOverrides({existingAxes:t,retainedChartAxisThemeOverrideKeys:o,existingChartOptions:e,targetChartOptions:a,existingChartType:i,targetChartType:r}),a.theme.overrides}assignPersistedAxisOverrides(e){const{existingAxes:t,retainedChartAxisThemeOverrideKeys:i,existingChartOptions:r,targetChartOptions:n,existingChartType:o,targetChartType:a}=e;for(const{expression:l,targetAxisTypes:c}of i)for(const u of t.map(d=>d.type)){const d=this.retrieveChartOptionsThemeOverride(r,o,["axes",u,l].join("."));if(d!==void 0)for(const h of c)this.assignChartOptionsThemeOverride(n,a,["axes",h,l].join("."),d)}}getRetainedChartThemeOverrideKeys(e,t){const i=["animation"],r=["zoom","navigator"],n=((o,a)=>{const l=new Array;return isCartesian(getSeriesType(o))&&isCartesian(getSeriesType(a))&&l.push(...r),l})(e,t);return[...i,...n]}getRetainedChartAxisThemeOverrideKeys(e,t,i){return isCartesian(getSeriesType(t))&&isCartesian(getSeriesType(i))?this.getRetainedCartesianAxisThemeOverrideKeys(e).map(n=>({expression:n,targetAxisTypes:CARTESIAN_AXIS_TYPES})):[]}getRetainedCartesianAxisThemeOverrideKeys(e){const t=e==="xAxis"?["",".top",".bottom"]:e==="yAxis"?["",".left",".right"]:["",".left",".right",".top",".bottom"],i=["crosshair"],r=new Array;for(const n of i)for(const o of t)r.push(`${n}${o}`);return r}getChartOption(e){return this.readProcessed({kind:"chart"},e)}readProcessed(e,t){const i=this.getChart().chartOptions?.processedOptions;if(!i)return;let r;switch(e.kind){case"chart":r=i;break;case"axis":r=this.pickProcessedAxis(i.axes,e.direction);break;case"series":r=Array.isArray(i.series)?i.series.find(n=>isMatchingSeries(e.seriesType,n)):void 0;break}return get(r,t,void 0)}pickProcessedAxis(e,t){if(!(!e||typeof e!="object"))return e[t]}setChartThemeOverrides(e){const t=this.getChartType(),i=this.createChartOptions();for(const{expression:r,value:n}of e)this.assignChartOptionsThemeOverride(i,t,r,n);this.applyChartOptions(i)}applyChartOptions(e,t){if(Object.keys(e).length===0)return;this.updateChart(e),!t?.silent&&this.raiseChartOptionsChangedEvent()}awaitChartOptionUpdate(e){this.chartController.getChartProxy().getChart().waitForUpdate().then(()=>e()).catch(i=>this.error(108,{e:i}))}getAxisProperty(e){return this.readProcessed({kind:"axis",direction:"x"},e)}setAxisThemeOverrides(e){const t=this.getChart(),i=this.getChartType(),r=this.createChartOptions();for(const{expression:n,value:o}of e)for(const a of Object.values(t.axes??{}))this.isValidAxisType(a)&&this.assignChartAxisThemeOverride(r,i,a.type,null,n,o);this.applyChartOptions(r)}setPolarAxisThemeOverrides(e,t){const i=this.getChartType(),r=this.createChartOptions();for(const{expression:n,value:o}of t)for(const a of this.getChartAxes())!a.type.startsWith(e)||!this.isValidAxisType(a)||this.assignChartAxisThemeOverride(r,i,a.type,null,n,o);this.applyChartOptions(r)}getCartesianAxisProperty(e,t){return this.readProcessed({kind:"axis",direction:e==="xAxis"?"x":"y"},t)}getPolarAxisProperty(e,t){return this.readProcessed({kind:"axis",direction:e},t)}getCartesianAxisThemeOverride(e,t){const i=this.getChartAxes(),r=this.getCartesianAxis(i,e);if(!r||!this.isValidAxisType(r))return;const n=this.getChartType(),o=this.getChart().getOptions();return this.retrieveChartAxisThemeOverride(o,n,r.type,e==="yAxis"?["left","right"]:["bottom","top"],t)}setCartesianAxisThemeOverrides(e,t){const i=this.getChartAxes(),r=this.getCartesianAxis(i,e);if(!r||!this.isValidAxisType(r))return;const n=this.getChartType(),o=this.createChartOptions();for(const{expression:a,value:l}of t)this.assignChartAxisThemeOverride(o,n,r.type,e==="yAxis"?["left","right"]:["bottom","top"],a,l);this.applyChartOptions(o)}setCartesianAxisOptions(e,t){this.updateCartesianAxisOptions(e,i=>{const r=e==="yAxis"?"y":"x";for(const{expression:n,value:o}of t)this.assignChartOption(i,`axes.${r}.${n}`,o)})}clearCartesianAxisOptions(e,t,i){this.updateCartesianAxisOptions(e,r=>{const n=e==="yAxis"?"y":"x";this.clearChartOption(r,`axes.${n}.${t}`,i)})}updateCartesianAxisOptions(e,t){const i=this.getChart().getOptions(),r="axes"in i?i.axes:void 0;if(!i||!r)return;const n=this.getChartAxes(),o=this.getCartesianAxis(n,e);if(!o)return;const a=this.createChartOptions();a.axes=r,t(a,o,i),this.applyChartOptions(a)}setCartesianCategoryAxisType(e,t){this.updateCartesianAxisOptions(e,(i,r,n)=>{const o=this.getChartType();this.assignPersistedAxisOverrides({existingAxes:[r],retainedChartAxisThemeOverrideKeys:this.getRetainedChartAxisThemeOverrideKeys(e,o,o),existingChartOptions:n,targetChartOptions:i,existingChartType:o,targetChartType:o}),this.assignChartOption(i,"axes.x.type",t),this.chartController.setCategoryAxisType(t)})}getCartesianAxis(e,t){if(!(e.length<2))switch(t){case"xAxis":return e[0].direction==="x"?e[0]:e[1];case"yAxis":return e[1].direction==="y"?e[1]:e[0]}}getSeriesOption(e,t,i){if(i){const a=this.getChart().series.find(l=>isMatchingSeries(e,l));return get(a,t,void 0)}const r=this.readProcessed({kind:"series",seriesType:e},t);if(r!==void 0)return r;const n=this.getChart().series.find(a=>isMatchingSeries(e,a))?.properties,o=get(n,t,void 0);return o!==void 0?o:get(n?.toJson(),t,void 0)}setSeriesOptions(e,t){const i=this.createChartOptions();for(const{expression:r,value:n}of t)this.assignChartOptionsSeriesThemeOverride(i,e,`series.${r}`,n);this.applyChartOptions(i)}getPairedMode(){return this.chartController.getChartProxy().isPaired()}setPairedMode(e){this.chartController.getChartProxy().setPaired(e)}getChartAxes(){const e=this.getChart();return Object.values(e.axes??{})}retrieveChartAxisThemeOverride(e,t,i,r,n){if(r)for(const o of r){const a=this.retrieveChartOptionsThemeOverride(e,t,["axes",i,o,...n?[n]:[]].join("."));if(a!==void 0)return a}else return this.retrieveChartOptionsThemeOverride(e,t,["axes",i,...n?[n]:[]].join("."))}assignChartAxisThemeOverride(e,t,i,r,n,o){if(r)for(const a of r)this.assignChartOptionsThemeOverride(e,t,["axes",i,a,...n?[n]:[]].join("."),o);else this.assignChartOptionsThemeOverride(e,t,["axes",i,...n?[n]:[]].join("."),o)}isValidAxisType(e){return VALID_AXIS_TYPES.includes(e.type)}getChartType(){return this.chartController.getChartType()}getChart(){return this.chartController.getChartProxy().getChart()}updateChart(e){const t=this.chartController.getChartProxy().getChartRef();t.skipAnimations(),t.updateDelta(e)}createChartOptions(){return{theme:{overrides:{}}}}retrieveChartOptionsThemeOverride(e,t,i){const r=this.getChartThemeOverridesSeriesTypeKeys(t);for(const n of r){const o=this.retrieveChartOptionsSeriesThemeOverride(e,n,i);if(o!==void 0)return o}}assignChartOptionsThemeOverride(e,t,i,r){const n=this.getChartThemeOverridesSeriesTypeKeys(t);for(const o of n)this.assignChartOptionsSeriesThemeOverride(e,o,i,r)}retrieveChartOptionsSeriesThemeOverride(e,t,i){return this.retrieveChartOption(e,["theme","overrides",t,...i?[i]:[]].join("."))}assignChartOptionsSeriesThemeOverride(e,t,i,r){this.assignChartOption(e,["theme","overrides",t,...i?[i]:[]].join("."),r)}getChartThemeOverridesSeriesTypeKeys(e){const t=this.chartController.getChartSeriesTypes(e);return this.chartController.isComboChart()&&t.push("common"),t}retrieveChartOption(e,t){return get(e,t,void 0)}assignChartOption(e,t,i){set(e,t,i)}clearChartOption(e,t,i){const r=get(e,t,void 0);r&&delete r[i]}raiseChartOptionsChangedEvent(){const e=this.chartController.getChartModel();this.eventSvc.dispatchEvent({type:"chartOptionsChanged",chartId:e.chartId,chartType:e.chartType,chartThemeName:this.chartController.getChartThemeName(),chartOptions:e.chartOptions})}};function isMatchingSeries(e,t){return isSeriesType(e)&&t.type===e}var GridChartComp=class extends import_ag_grid_community331.Component{constructor(e){super(`
            <div style="height: 100%; width: 100%;">
                <div class="ag-chart" data-ref="eWrapper">
                    <div data-ref="eChartContainer" class="ag-chart-components-wrapper ag-chart-menu-hidden">
                        <div data-ref="eChart" class="ag-chart-canvas-wrapper"></div>
                        <div data-ref="eEmpty" class="ag-chart-empty-text ag-unselectable"></div>
                    </div>
                    <div data-ref="eMenuContainer" class="ag-chart-docked-container"></div>
                </div>
            </div>
            `),this.eChart=import_ag_stack191.RefPlaceholder,this.eWrapper=import_ag_stack191.RefPlaceholder,this.eChartContainer=import_ag_stack191.RefPlaceholder,this.eMenuContainer=import_ag_stack191.RefPlaceholder,this.eEmpty=import_ag_stack191.RefPlaceholder,this.params=e}wireBeans(e){this.crossFilterService=e.chartCrossFilterSvc,this.chartTranslation=e.chartTranslation,this.chartMenuSvc=e.chartMenuSvc,this.focusSvc=e.focusSvc,this.popupSvc=e.popupSvc,this.enterpriseChartProxyFactory=e.enterpriseChartProxyFactory}postConstruct(){const e={...this.params,chartType:getCanonicalChartType(this.params.chartType),chartThemeName:this.getThemeName()},t=this.createBean(new ChartDataModel(e));this.chartController=this.createManagedBean(new ChartController(t)),this.chartOptionsService=this.createManagedBean(new ChartOptionsService(this.chartController)),this.validateCustomThemes(),this.createChart(),this.params.insideDialog&&this.addDialog(),this.addMenu(),this.addManagedElementListeners(this.getGui(),{focusin:this.setActiveChartCellRange.bind(this)}),this.addManagedListeners(this.chartController,{chartModelUpdate:this.update.bind(this)}),this.addManagedPropertyListeners(["chartThemeOverrides","chartThemes"],this.reactivePropertyUpdate.bind(this)),this.update(),this.raiseChartCreatedEvent()}createChart(){let e;this.chartProxy&&(e=this.chartProxy.destroy({keepChartInstance:!0}));const t=(u,d)=>{const h=this.params.crossFilteringContext;h.lastSelectedChartId=d?"":this.chartController.getChartId(),d&&this.params.crossFilteringResetCallback(),this.crossFilterService.filter(u,d)},{gos:i,chartController:r,beans:n,params:o,eChart:a}=this,l=r.getChartType(),c={gridId:n.context.getId(),agChartsExports:n.agChartsExports,chartType:l,chartInstance:e,getChartThemeName:this.getChartThemeName.bind(this),getChartThemes:this.getChartThemes.bind(this),customChartThemes:i.get("customChartThemes"),styleNonce:i.get("styleNonce"),getGridOptionsChartThemeOverrides:()=>this.getGridOptionsChartThemeOverrides(),getExtraPaddingDirections:()=>this.chartMenu?.getExtraPaddingDirections()??[],apiChartThemeOverrides:o.chartThemeOverrides,crossFiltering:o.crossFiltering??!1,crossFilterCallback:t,parentElement:a,grouping:r.isGrouping(),chartThemeToRestore:o.chartThemeName,chartOptionsToRestore:o.chartOptionsToRestore,chartPaletteToRestore:o.chartPaletteToRestore,seriesChartTypes:r.getSeriesChartTypes(),translate:u=>this.chartTranslation.translate(u),context:(0,import_ag_grid_community331._addGridCommonParams)(i,{}),enableRtl:i.get("enableRtl")};if(o.chartOptionsToRestore=void 0,this.chartType=l,this.chartProxy=this.createChartProxy(c),!this.chartProxy){this.beans.log.warn(138,{chartType:c.chartType});return}r.setChartProxy(this.chartProxy),this.createMenuContext()}createMenuContext(){if(this.chartMenuContext)return;const e=this.createManagedBean(new ChartMenuParamsFactory(this.chartOptionsService.getChartThemeOverridesProxy())),t=this.createManagedBean(new ChartMenuParamsFactory(this.chartOptionsService.getAxisThemeOverridesProxy()));this.chartMenuContext={chartController:this.chartController,chartOptionsService:this.chartOptionsService,chartMenuParamsFactory:e,chartAxisMenuParamsFactory:t}}getChartThemeName(){return this.chartController.getChartThemeName()}getChartThemes(){return this.chartController.getThemeNames()}getGridOptionsChartThemeOverrides(){return this.gos.get("chartThemeOverrides")}createChartProxy(e){const{chartType:t}=e;switch(t){case"column":case"bar":case"groupedColumn":case"stackedColumn":case"normalizedColumn":case"groupedBar":case"stackedBar":case"normalizedBar":return new BarChartProxy(e);case"pie":case"donut":case"doughnut":return new PieChartProxy(e);case"area":case"stackedArea":case"normalizedArea":return new AreaChartProxy(e);case"line":case"stackedLine":case"normalizedLine":return new LineChartProxy(e);case"scatter":case"bubble":return new ScatterChartProxy(e);case"columnLineCombo":case"areaColumnCombo":case"customCombo":return new ComboChartProxy(e)}const i=this.enterpriseChartProxyFactory?.createChartProxy(e);if(!i)throw(0,import_ag_grid_community331._errMsg)(251,{chartType:t});return i}addDialog(){const e=this.chartTranslation.translate(this.params.pivotChart?"pivotChartTitle":"rangeChartTitle"),{width:t,height:i}=this.getBestDialogSize(),r=this.params.focusDialogOnOpen?()=>setTimeout(()=>(0,import_ag_stack191._focusInto)(this.getGui())):void 0;this.chartDialog=new Dialog({resizable:!0,movable:!0,maximizable:!0,title:e,width:t,height:i,component:this,centered:!0,closable:!0,afterGuiAttached:r,postProcessPopupParams:{type:"chart"}}),this.createBean(this.chartDialog),this.chartDialog.addEventListener("destroyed",()=>{this.destroy(),this.chartMenuSvc.hideAdvancedSettings();const n=this.focusSvc.getFocusedCell();setTimeout(()=>{this.focusSvc.isAlive()&&(n?this.focusSvc.setFocusedCell({...n,forceBrowserFocus:!0}):(0,import_ag_grid_community331._focusGridInnerElement)(this.beans))})})}getBestDialogSize(){const e=this.popupSvc.getPopupParent(),t=(0,import_ag_stack191._getAbsoluteWidth)(e)*.75,i=(0,import_ag_stack191._getAbsoluteHeight)(e)*.75,r=.553,n=this.chartProxy.getChart();let o=this.params.insideDialog?850:n.width,a=this.params.insideDialog?470:n.height;return(o>t||a>i)&&(o=Math.min(o,t),a=Math.round(o*r),a>i&&(a=i,o=Math.min(o,Math.round(a/r)))),{width:o,height:a}}addMenu(){this.params.crossFiltering||(this.chartMenu=this.createBean(new ChartMenu(this.eChartContainer,this.eMenuContainer,this.chartMenuContext)),this.eChartContainer.appendChild(this.chartMenu.getGui()))}update(e){if(e?.chartId&&!this.chartController.update(e))return;const t=this.chartTypeChanged(e),i=t||this.chartEmpty?(n=>{const o=this.chartType,a=n,l=this.chartProxy.getChart(),c=l?.getOptions(),u=Object.values(l?.axes??{});return this.chartOptionsService.getPersistedChartThemeOverrides(c,u,o,a??o)})(t):void 0;t&&this.createChart(),i&&e?.chartThemeOverrides&&(0,import_ag_grid_community331._mergeDeep)(i,e.chartThemeOverrides);const r=i??e?.chartThemeOverrides;this.updateChart(r),e?.chartId&&this.chartProxy.getChart().waitForUpdate().then(()=>{this.chartController.raiseChartApiUpdateEvent()})}updateChart(e){const{chartProxy:t}=this,i=this.chartController.getSelectedValueColState(),r=this.chartController.getChartData(),n=this.handleEmptyChart(r,i.length);if(this.chartEmpty=n,n){e&&this.chartController.updateThemeOverrides(e);return}const o=this.chartController.getChartUpdateParams(e);t.update(o),this.chartProxy.getChart().waitForUpdate().then(()=>{this.chartController.raiseChartUpdatedEvent()})}chartTypeChanged(e){const[t,i]=[this.chartController.getChartType(),e?.chartType],r=i?getCanonicalChartType(i):void 0;return this.chartType!==t?r??t:r&&t!==r?r:null}getChartModel(){return this.chartController.getChartModel()}getChartImageDataURL(e){return this.chartProxy.getChartImageDataURL(e)}handleEmptyChart(e,t){const i=this.chartController.isPivotChart()&&!this.chartController.isPivotMode(),r=this.chartController.getChartType();let n=1;this.chartController.isActiveXYChart()?n=r==="bubble"?3:2:isHierarchical(getSeriesType(r))&&(n=0);const o=t<n||e.length===0;if(this.eChart){const a=i||o;(0,import_ag_stack191._setDisplayed)(this.eChart,!a),(0,import_ag_stack191._setDisplayed)(this.eEmpty,a)}return i?(this.eEmpty.textContent=this.chartTranslation.translate("pivotChartRequiresPivotMode"),!0):o?(this.eEmpty.textContent=this.chartTranslation.translate("noDataToChart"),!0):!1}downloadChart(e,t,i){this.chartProxy.downloadChart(e,t,i)}openChartToolPanel(e){const t=e&&CHART_TOOL_PANEL_MENU_OPTIONS[e];this.chartMenu.showMenu({panel:t})}closeChartToolPanel(){this.chartMenu.hideMenu()}getChartId(){return this.chartController.getChartId()}getUnderlyingChart(){return this.chartProxy.getChartRef()}crossFilteringReset(){this.chartProxy.crossFilteringReset()}setMaximized(e){this.chartDialog?.setMaximized(e)}setActiveChartCellRange(e){this.getGui().contains(e.relatedTarget)||this.chartController.setChartRange(!0)}getThemeName(){const e=this.gos.get("chartThemes")||DEFAULT_THEMES;if(e.length===0)throw new Error((0,import_ag_grid_community331._errMsg)(254));const{chartThemeName:t}=this.params;return e.includes(t)?t:e[0]}getAllKeysInObjects(e){const t={};for(const i of e.filter(r=>r!=null))for(const r of Object.keys(i))t[r]=null;return Object.keys(t)}validateCustomThemes(){const e=this.getChartThemes(),t=this.gos.get("customChartThemes");if(t)for(const i of this.getAllKeysInObjects([t]))e.includes(i)||this.beans.log.warn(139,{customThemeName:i})}reactivePropertyUpdate(){this.chartController.setChartThemeName(this.getThemeName(),!0);const e=this.getChartId(),t=this.chartController.isCrossFilterChart()?"crossFilter":this.getChartModel().modelType,i=this.gos.get("chartThemeOverrides")||{};this.update({type:`${t}ChartUpdate`,chartId:e,chartThemeOverrides:i})}raiseChartCreatedEvent(){this.chartProxy.getChart().waitForUpdate().then(()=>{this.eventSvc.dispatchEvent({type:"chartCreated",chartId:this.chartController.getChartId()})})}raiseChartDestroyedEvent(){this.eventSvc.dispatchEvent({type:"chartDestroyed",chartId:this.chartController.getChartId()})}destroy(){super.destroy(),this.chartProxy&&this.chartProxy.destroy(),this.destroyBean(this.chartMenu),this.chartDialog?.isAlive()&&this.destroyBean(this.chartDialog),this.onDestroyColorSchemeChangeListener?.();const e=this.getGui();(0,import_ag_stack191._clearElement)(e),(0,import_ag_stack191._removeFromParent)(e),this.raiseChartDestroyedEvent()}},import_ag_grid_community332=require("ag-grid-community"),DEBUG=!1;function upgradeChartModel(e){const t=e.version;return e.version==null&&(e.version=heuristicVersionDetection(e)),e=migrateIfBefore("23.0.0",e,migrateV23),e=migrateIfBefore("24.0.0",e,migrateV24),e=migrateIfBefore("25.1.0",e,migrateV25_1),e=migrateIfBefore("26.0.0",e,migrateV26),e=migrateIfBefore("26.1.0",e,migrateV26_1),e=migrateIfBefore("26.2.0",e,migrateV26_2),e=migrateIfBefore("28.0.0",e,migrateV28),e=migrateIfBefore("28.2.0",e,migrateV28_2),e=migrateIfBefore("29.0.0",e,migrateV29),e=migrateIfBefore("29.1.0",e,migrateV29_1),e=migrateIfBefore("29.2.0",e,migrateV29_2),e=migrateIfBefore("30.0.0",e,migrateV30),e=migrateIfBefore("31.0.0",e,migrateV31),e=migrateIfBefore("32.0.0",e,migrateV32),e=migrateIfBefore("33.0.0",e,migrateV33),e=migrateIfBefore("34.0.0",e,migrateV34),e=migrateIfBefore("36.0.0",e,migrateV36),e=cleanup(e),e=migrateIfBefore(VERSION,e,i=>i),DEBUG&&t!==e.version&&console.log("AG Grid: ChartModel migration complete",{model:e}),e}function migrateV23(e){return e=jsonRename("chartOptions.legend.item.marker.type","shape",e),e=jsonRename("chartOptions.seriesDefaults.marker.type","shape",e),e=jsonRename("chartOptions.legend.padding","spacing",e),e}function migrateV24(e){e=jsonDelete("chartOptions.seriesDefaults.marker.minSize",e);const{chartType:t,chartPalette:i,chartOptions:{xAxis:r,yAxis:n,...o},...a}=e,c=getLegacyAxisType(t)?.map((d,h)=>({type:d,...h===0?r:n}));return{chartType:t,chartThemeName:{borneo:"ag-default",material:"ag-material",bright:"ag-vivid"}[i]??"ag-default",chartOptions:{...o,axes:c,xAxis:r,yAxis:n},...a}}function migrateV25_1(e){return e=jsonRename("chartOptions.seriesDefaults.label.minRequiredAngle","minAngle",e),e}function migrateV26(e){return e=jsonMutate("chartOptions.seriesDefaults.highlightStyle",e,({dimOpacity:i,...r})=>({...r,...i!=null?{series:{dimOpacity:i}}:{}})),e=jsonDelete("chart",e),e=jsonDelete("chartOptions.seriesDefaults.tooltipClass",e),e=jsonDelete("chartOptions.seriesDefaults.tooltipTracking",e),e=jsonDeleteDefault("chartOptions.axes[].label.rotation",0,e),e=jsonDeleteDefault("chartOptions.axes[].label.rotation",335,e),e}function migrateV26_1(e){const t=({item:i,series:r,...n})=>({item:{...n,...i},...r?{series:r}:{}});return e=jsonMutate("chartOptions.seriesDefaults.highlightStyle",e,t),e=jsonMutate("chartOptions.series[].highlightStyle",e,t),e}function migrateV26_2(e){e=jsonMove("chartOptions.seriesDefaults.fill.opacity","chartOptions.seriesDefaults.fillOpacity",e),e=jsonMove("chartOptions.seriesDefaults.stroke.opacity","chartOptions.seriesDefaults.strokeOpacity",e),e=jsonMove("chartOptions.seriesDefaults.stroke.width","chartOptions.seriesDefaults.strokeWidth",e),e=jsonDelete("chartOptions.seriesDefaults.fill",e),e=jsonDelete("chartOptions.seriesDefaults.stroke",e),e=jsonDelete("chartOptions.seriesDefaults.callout.colors",e),e=jsonDelete("chartOptions.xAxis",e),e=jsonDelete("chartOptions.yAxis",e);const{chartType:t,chartOptions:{axes:i,series:r,seriesDefaults:n,...o},...a}=e,l=getCanonicalChartType(t),c=getSeriesType(l),u=[c],d={};if(!isPieChartSeries(c)){const p={top:{},bottom:{},left:{},right:{}},g=i.map(({type:f,...m})=>({[f]:{...p,...m}})).reduce(merge,{});for(const f of ALL_AXIS_TYPES.filter(m=>g[m]==null))g[f]={...p};d.axes=g}const h=u.map(p=>({[p]:{...d,series:n,...o}})).reduce(merge,{});return e={...a,chartType:l,chartOptions:h},e}function migrateV28(e){return e=jsonDelete("chartOptions.*.title.padding",e),e=jsonDelete("chartOptions.*.subtitle.padding",e),e=jsonDelete("chartOptions.*.axes.*.title.padding",e),e=jsonBackfill("chartOptions.*.axes.*.title.enabled",!1,e),e}function migrateV28_2(e){return e=jsonRename("chartOptions.pie.series.callout","calloutLine",e),e=jsonRename("chartOptions.pie.series.label","calloutLabel",e),e=jsonRename("chartOptions.pie.series.labelKey","sectorLabelKey",e),e=jsonRename("chartOptions.pie.series.labelName","sectorLabelName",e),e=jsonRename("chartOptions.donut.series.callout","calloutLine",e),e=jsonRename("chartOptions.donut.series.label","calloutLabel",e),e=jsonRename("chartOptions.donut.series.labelKey","sectorLabelKey",e),e=jsonRename("chartOptions.donut.series.labelName","sectorLabelName",e),e}function migrateV29(e){return e=jsonMoveIfMissing("chartOptions.scatter.series.fill","chartOptions.scatter.series.marker.fill",e),e=jsonMoveIfMissing("chartOptions.scatter.series.fillOpacity","chartOptions.scatter.series.marker.fillOpacity",e),e=jsonMoveIfMissing("chartOptions.scatter.series.stroke","chartOptions.scatter.series.marker.stroke",e),e=jsonMoveIfMissing("chartOptions.scatter.series.strokeOpacity","chartOptions.scatter.series.marker.strokeOpacity",e),e=jsonMoveIfMissing("chartOptions.scatter.series.strokeWidth","chartOptions.scatter.series.marker.strokeWidth",e),e=jsonMove("chartOptions.scatter.series.paired","chartOptions.scatter.paired",e),e}function migrateV29_1(e){return e=jsonDelete("chartOptions.axes[].tick.count",e),e}function migrateV29_2(e){return e=jsonMutate("chartOptions.*.tooltip",e,({tracking:i,...r})=>{const n={...r};return i===!1?(n.position??(n.position={type:"pointer"}),n.range??(n.range="nearest")):i===!0&&(n.position??(n.position={type:"node"}),n.range??(n.range="nearest")),n}),e}function migrateV30(e){return e=jsonRename("chartOptions.pie.series.labelKey","sectorLabelKey",e),e=jsonRename("chartOptions.pie.series.labelName","sectorLabelName",e),e=migrateV29_1(e),e=migrateV29_2(e),e=jsonDelete("chartOptions.*.series.flipXY",e),e=jsonAdd("chartOptions.common.legend.enabled",!0,e),e=jsonBackfill("chartOptions.common.legend.position","right",e),e}function migrateV31(e){const t={"ag-pastel":"ag-sheets","ag-solar":"ag-polychroma"},i=jsonRename("chartOptions.column","bar",e),r=t[i.chartThemeName]||i.chartThemeName;return{...i,chartThemeName:r}}function migrateV32(e){return e=jsonMutateProperty("chartOptions.*.autoSize",!0,e,(t,i)=>{t[i]===!0||t[i]===!1&&(t.minHeight=600,t.minWidth=300),delete t[i]}),e}function migrateV33(e){return e=jsonDelete("chartOptions.*.axes.category.label.format",e),e=jsonDelete("chartOptions.*.axes.category.crosshair.label.format",e),e=jsonDelete("chartOptions.*.axes.angle-category.label.format",e),e=jsonDelete("chartOptions.*.axes.radius-category.label.format",e),e=jsonRename("chartOptions.*.axes.*.label.padding","spacing",e),e=jsonRename("chartOptions.*.navigator.miniChart.label.padding","spacing",e),e=jsonDelete("chartOptions.*.axes.*.crossLines.label.className",e),e=jsonMutateProperty("chartOptions.*.axes.*.crossLines.label.position",!0,e,(t,i)=>{typeof t[i]=="string"&&(t[i]=t[i].replace(/([A-Z])/,"-$1").toLowerCase())}),e=jsonDelete("chartOptions.bullet",e),e=jsonRenameEnumValues("chartOptions.bar.series.label.placement",e,{inside:"inside-center",outside:"inside-end"}),e=jsonRenameEnumValues("chartOptions.waterfall.series.item.*.label.placement",e,{inside:"inside-center",start:"outside-start",end:"outside-end"}),e=jsonDelete("chartOptions.*.navigator.min",e),e=jsonDelete("chartOptions.*.navigator.max",e),e=jsonDelete("chartOptions.*.zoom.ratioX",e),e=jsonDelete("chartOptions.*.zoom.ratioY",e),e=jsonDelete("chartOptions.*.zoom.rangeX",e),e=jsonDelete("chartOptions.*.zoom.rangeY",e),e}function migrateV34(e){return jsonMutateProperty("chartOptions.series[].highlightStyle",!0,e,(i,r)=>{const n=i[r];if(n==null)return;const o={};if(n.item&&(o.highlightedItem=n.item),n.series){const{dimOpacity:a,...l}=n.series;a!=null&&(o.unhighlightedSeries={opacity:a}),Object.keys(l).length>0&&(o.highlightedSeries=l)}delete i[r],i.highlight=o}),e}function migrateV36(e){return e=jsonRename("chartOptions.bubble.series.size","minSize",e),e}function cleanup(e){return e=jsonDelete("chartOptions.*.width",e),e=jsonDelete("chartOptions.*.height",e),e=jsonBackfill("chartOptions.*.axes.category.label.autoRotate",!0,e),e}function heuristicVersionDetection(e){const t=e;if(e.version!=null)return e.version;const i=(u,...d)=>Object.keys(u||{}).some(h=>d.includes(h)),r=t.chartOptions,n=i(r,"seriesDefaults")?r?.seriesDefaults:r?.[Object.keys(r)[0]],o={"27.0.0":i(t,"seriesChartTypes"),"26.2.0":!i(r,"seriesDefaults"),"26.1.0":i(n?.highlightStyle,"item"),"26.0.0":i(n?.highlightStyle,"series"),"25.1.0":i(n?.label,"minAngle"),"25.0.0":i(t,"modelType","aggFunc","unlinkChart","suppressChartRanges")||i(n,"lineDash","lineDashOffset"),"24.0.0":i(t,"chartThemeName","chart")||i(r,"series"),"23.2.0":i(r,"navigator"),"23.0.0":i(r?.legend?.item?.marker,"shape"),"22.1.0":i(t,"chartPalette","chartType")},a="27.1.0",l=Object.entries(o).filter(([u,d])=>d);DEBUG&&console.log("AG Grid: ChartModel migration",{heuristicVersionCandidates:l});const[c=a]=l[0];return DEBUG&&console.log("AG Grid: ChartModel migration",{heuristicVersion:c}),c}function migrateIfBefore(e,t,i){if(versionNumber(e)>versionNumber(t.version)){DEBUG&&console.log("AG Grid: ChartModel migration",{migratingTo:e});const r=i(t);return r.version=e,DEBUG&&console.log("AG Grid: ChartModel migration",{migratedTo:e,result:r}),r}return t}function versionParts(e){const t=e.includes("-beta")?e.replace(/-beta.*/,""):e,i=typeof t=="string"?t.split(".").map(r=>Number(r)):[];if(i.length!==3||i.some(r=>isNaN(r)))throw new Error((0,import_ag_grid_community332._errMsg)(253,{version:t}));return{major:i[0],minor:i[1],patch:i[2]}}function versionNumber(e){const{major:t,minor:i,patch:r}=versionParts(e);return t*1e4+i*100+r}function jsonDeleteDefault(e,t,i){return jsonMutateProperty(e,!0,i,(r,n)=>{r[n]===t&&delete r[n]})}function jsonBackfill(e,t,i){return jsonMutateProperty(e,!1,i,(r,n)=>{r[n]==null&&(r[n]=t)})}function jsonAdd(e,t,i){typeof e=="string"&&(e=e.split("."));const r=e[0];return e.length>1&&(i[r]=jsonAdd(e.slice(1),t,i[r]??{})),Object.keys(i).includes(r)||(i[r]=t),i}function jsonMove(e,t,i){let r,n=!1;return i=jsonMutateProperty(e,!0,i,(o,a)=>{n=!0,r=o[a],delete o[a]}),n?jsonMutateProperty(t,!1,i,(o,a)=>{o[a]=r}):i}function jsonMoveIfMissing(e,t,i){let r,n=!1;return i=jsonMutateProperty(e,!0,i,(o,a)=>{n=!0,r=o[a],delete o[a]}),n?jsonMutateProperty(t,!1,i,(o,a)=>{o[a]===void 0&&(o[a]=r)}):i}function jsonRename(e,t,i){return jsonMutateProperty(e,!0,i,(r,n)=>{r[t]=r[n],delete r[n]})}function jsonDelete(e,t){return jsonMutateProperty(e,!0,t,(i,r)=>delete i[r])}function jsonMutateProperty(e,t,i,r){const n=e instanceof Array?e:e.split("."),o=n.slice(0,n.length-1),a=n[n.length-1];return jsonMutate(o,i,l=>{const c=Object.keys(l).includes(a);if(t&&!c)return l;const u={...l};return r(u,a),u})}function jsonMutate(e,t,i){const r=e instanceof Array?e:e.split(".");if(t={...t},r.length===0)return i(t);if(r[0].startsWith("{")){const n=r[0].substring(1,r[0].lastIndexOf("}")).split(",");for(const o of n)t[o]!=null&&(t[o]=jsonMutate(r.slice(1),t[o],i))}else if(r[0].endsWith("[]")){const n=r[0].substring(0,e[0].indexOf("["));t[n]instanceof Array&&(t[n]=t[n].map(o=>jsonMutate(r.slice(1),o,i)))}else if(r[0]==="*")for(const n of Object.keys(t))t[n]=jsonMutate(r.slice(1),t[n],i);else t[r[0]]!=null&&(t[r[0]]=jsonMutate(r.slice(1),t[r[0]],i));return t}function jsonRenameEnumValues(e,t,i){return jsonMutateProperty(e,!0,t,(r,n)=>{typeof r[n]=="string"&&(r[n]=i[n]??n)})}var merge=(e,t)=>({...e,...t}),ChartService=class extends import_ag_grid_community333.BeanStub{constructor(){super(...arguments),this.beanName="chartSvc",this.activeCharts=new Set,this.activeChartComps=new Set,this.crossFilteringContext={lastSelectedChartId:""},this.isEnterprise=()=>this.agChartsExports.isEnterprise}wireBeans(e){this.visibleCols=e.visibleCols,this.rangeSvc=e.rangeSvc,this.agChartsExports=e.agChartsExports}updateChart(e){if(this.activeChartComps.size===0){this.warn(124);return}const t=[...this.activeChartComps].find(i=>i.getChartId()===e.chartId);if(!t){this.warn(125,{chartId:e.chartId});return}t.update(e)}getChartModels(){const e=[],t=i=>({...i,version:VERSION});for(const i of this.activeChartComps)e.push(t(i.getChartModel()));return e}getChartRef(e){let t;for(const i of this.activeCharts)i.chartId===e&&(t=i);return t}getChartComp(e){let t;for(const i of this.activeChartComps)i.getChartId()===e&&(t=i);return t}getChartImageDataURL(e){let t;for(const i of this.activeChartComps)i.getChartId()===e.chartId&&(t=i.getChartImageDataURL(e.fileFormat));return t}downloadChart(e){Array.from(this.activeChartComps).find(i=>i.getChartId()===e.chartId)?.downloadChart(e.dimensions,e.fileName,e.fileFormat)}openChartToolPanel(e){Array.from(this.activeChartComps).find(i=>i.getChartId()===e.chartId)?.openChartToolPanel(e.panel)}closeChartToolPanel(e){Array.from(this.activeChartComps).find(i=>i.getChartId()===e)?.closeChartToolPanel()}createChartFromCurrentRange(e="groupedColumn",t){const i=this.getSelectedRange();return this.createChart({cellRange:i,chartType:e,focusDialogOnOpen:!t})}restoreChart(e,t){if(!e){this.warn(126);return}e.version!==VERSION&&(e=upgradeChartModel(e));let i,r,n,o;if(e.modelType==="pivot"?(this.gos.updateGridOptions({options:{pivotMode:!0},source:"pivotChart"}),i=this.createCellRange(void 0,!0),r=!0,n=!0):(i=this.createCellRange(e.cellRange),o=e.chartPalette,n=e.suppressChartRanges),!!i)return this.createChart({...e,cellRange:i,pivotChart:r,suppressChartRanges:n,chartContainer:t,chartOptionsToRestore:e.chartOptions,chartPaletteToRestore:o})}createRangeChart(e,t){const i=this.createCellRange(e.cellRange);if(i)return this.createChart({...e,cellRange:i,focusDialogOnOpen:!t})}createPivotChart(e,t){this.gos.updateGridOptions({options:{pivotMode:!0},source:"pivotChart"});const i=this.createCellRange(void 0,!0);if(i)return this.createChart({...e,cellRange:i,pivotChart:!0,suppressChartRanges:!0,focusDialogOnOpen:!t})}createCrossFilterChart(e,t){const i=this.createCellRange(e.cellRange);if(!i)return;const n=typeof e.suppressChartRanges<"u"&&e.suppressChartRanges!==null?e.suppressChartRanges:!0;return this.createChart({...e,cellRange:i,suppressChartRanges:n,crossFiltering:!0,crossFilteringSort:e.sort,focusDialogOnOpen:!t})}createChart(e){const t=validateCreateParams(e,this.agChartsExports.isEnterprise,this.beans.log);if(!t)return;e=t===!0?e:t;const{chartType:i,chartContainer:r}=e,n=this.gos.getCallback("createChartContainer"),o=!(r||n),a={...e,chartId:this.generateId(),chartType:getCanonicalChartType(i),insideDialog:o,crossFilteringContext:this.crossFilteringContext,crossFilteringResetCallback:()=>{for(const h of this.activeChartComps)h.crossFilteringReset()}},l=new GridChartComp(a);this.createBean(l);let c=l.getGui(),u;o||([c,u]=(0,import_ag_stack192._initDetachedStyledRoot)(this.beans.environment,c),r?.appendChild(c));const d={destroyChart:()=>{this.activeCharts.has(d)&&(this.destroyBean(l),u?.(),r&&c.remove(),this.activeChartComps.delete(l),this.activeCharts.delete(d))},focusChart:()=>{(0,import_ag_stack192._focusInto)(l.getGui())},chartElement:c,chart:l.getUnderlyingChart(),chartId:l.getChartModel().chartId,setMaximized:l.setMaximized.bind(l)};return this.activeCharts.add(d),this.activeChartComps.add(l),!r&&n?n(d):r||l.addEventListener("destroyed",()=>{this.activeChartComps.delete(l),this.activeCharts.delete(d)}),d}getSelectedRange(){const e=this.rangeSvc?.getCellRanges();if(!e||e.length===0)return{columns:[]};const t=new Set;let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(const{startRow:o,endRow:a,columns:l}of e){if(!(o&&a))continue;for(const p of l)t.add(p);let{rowIndex:c,rowPinned:u}=o,{rowIndex:d,rowPinned:h}=a;if(u==="top"){if(h==="top")continue;c=0}if(h==="bottom"){if(u==="bottom")continue;d=this.beans.pageBounds.getLastRow()}c!==void 0&&(i=Math.min(i,c)),d!==void 0&&(r=Math.max(r,d))}if(i===Number.MAX_VALUE||r===-Number.MAX_VALUE)return{columns:[]};const n=Array.from(t);return{columns:n,startColumn:n[0],startRow:{rowIndex:i,rowPinned:void 0},endRow:{rowIndex:r,rowPinned:void 0}}}generateId(){return`id-${Math.random().toString(36).substring(2,18)}`}createCellRange(e,t){const i=t?{rowStartIndex:null,rowStartPinned:void 0,rowEndIndex:null,rowEndPinned:void 0,columns:this.visibleCols.allCols.map(n=>n.colId)}:e,r=i&&this.rangeSvc?.createPartialCellRangeFromRangeParams(i,!0);return r||this.warn(127,{allRange:t}),r}destroy(){for(const e of this.activeCharts)e.destroyChart();super.destroy()}};function getChartModels(e){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.getChartModels())}function getChartRef(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.getChartRef(t))}function getChartImageDataURL(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.getChartImageDataURL(t))}function downloadChart(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.downloadChart(t))}function openChartToolPanel(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.openChartToolPanel(t))}function closeChartToolPanel(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.closeChartToolPanel(t.chartId))}function createRangeChart(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.createRangeChart(t,!0))}function createPivotChart(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.createPivotChart(t,!0))}function createCrossFilterChart(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.createCrossFilterChart(t,!0))}function updateChart(e,t){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.updateChart(t))}function restoreChart(e,t,i){return e.frameworkOverrides.wrapIncoming(()=>e.chartSvc?.restoreChart(t,i))}var integratedChartsModule_default='.ag-chart{background-color:var(--ag-wrapper-background-color);display:flex;height:100%;position:relative;width:100%}.ag-chart-components-wrapper{display:flex}.ag-chart-canvas-wrapper,.ag-chart-components-wrapper{flex:1 1 auto;position:relative}.ag-chart-menu{background:var(--ag-background-color);background-color:color-mix(in srgb,transparent,var(--ag-background-color) 30%);border-radius:var(--ag-border-radius);display:flex;flex-direction:row;gap:20px;padding:4px 2px;position:absolute;top:8px;width:auto;--ag-icon-size:20px}:where(.ag-ltr) .ag-chart-menu{justify-content:right;right:calc(var(--ag-cell-horizontal-padding) + var(--ag-spacing) - 4px)}:where(.ag-rtl) .ag-chart-menu{justify-content:left;left:calc(var(--ag-cell-horizontal-padding) + var(--ag-spacing) - 4px)}.ag-chart-docked-container{min-width:var(--ag-chart-menu-panel-width);position:relative}:where(.ag-chart-menu-hidden)~.ag-chart-docked-container{display:none}.ag-chart-tabbed-menu{display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.ag-chart-tabbed-menu-header{cursor:default;flex:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-chart-tabbed-menu-body{align-items:stretch;display:flex;flex:1 1 auto;overflow:hidden;position:relative}.ag-chart-tabbed-menu-body:after{background:linear-gradient(var(--ag-background-color),transparent);content:"";display:block;height:16px;left:0;position:absolute;right:0;top:0}.ag-chart-tab{overflow:hidden;overflow-y:auto;width:100%}.ag-chart-settings{overflow-x:hidden}.ag-chart-settings-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.ag-chart-settings-nav-bar{align-items:center;border-top:solid var(--ag-border-width) var(--ag-border-color);display:flex;height:30px;padding:0 10px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ag-chart-settings-card-selector{align-items:center;display:flex;flex:1 1 auto;height:100%;justify-content:space-around;padding:0 10px}.ag-chart-settings-card-item{background-color:var(--ag-foreground-color);border-radius:4px;cursor:pointer;height:8px;position:relative;width:8px;&.ag-not-selected{opacity:.2}&.ag-selected{background-color:var(--ag-accent-color)}}.ag-chart-settings-card-item:before{background-color:transparent;content:" ";display:block;height:20px;left:50%;margin-left:-10px;margin-top:-10px;position:absolute;top:50%;width:20px}.ag-chart-settings-next,.ag-chart-settings-prev{flex:none;position:relative}.ag-chart-settings-next:focus-within,.ag-chart-settings-prev:focus-within{border-radius:1px;box-shadow:var(--ag-focus-shadow)}.ag-chart-settings-next-button,.ag-chart-settings-prev-button{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ag-chart-settings-mini-charts-container{flex:1 1 auto;overflow:hidden auto;position:relative}.ag-chart-settings-mini-wrapper{display:flex;flex-direction:column;left:0;min-height:100%;overflow:hidden;padding-bottom:var(--ag-widget-container-vertical-padding);position:absolute;top:0;width:100%;&.ag-animating{transition:left .3s;transition-timing-function:ease-in-out}}.ag-chart-mini-thumbnail{border:solid var(--ag-border-width) var(--ag-border-color);border-radius:5px;cursor:pointer;padding:1px;&.ag-selected{border-color:var(--ag-accent-color);border-width:calc(var(--ag-border-width) + 1px);padding:unset}&:focus-visible{border-color:var(--ag-accent-color);box-shadow:var(--ag-focus-shadow)}}.ag-chart-mini-thumbnail-canvas{display:block}.ag-chart-advanced-settings-wrapper,.ag-chart-data-wrapper,.ag-chart-format-wrapper{display:flex;flex-direction:column;padding-bottom:16px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ag-chart-advanced-settings-wrapper,.ag-chart-data-wrapper{height:100%;overflow-y:auto}.ag-chart-advanced-settings{background-color:var(--ag-chrome-background-color)}.ag-chart-advanced-settings,.ag-chart-advanced-settings-wrapper{width:100%}.ag-chart-advanced-settings-wrapper{padding-bottom:0}.ag-chart-advanced-settings-section{border-bottom:solid var(--ag-border-width) var(--ag-border-color);display:flex;margin:0;padding-bottom:var(--ag-widget-container-vertical-padding);padding-top:var(--ag-widget-container-vertical-padding)}.ag-chart-empty-text{align-items:center;background-color:var(--ag-background-color);display:flex;height:100%;justify-content:center;top:0;width:100%}.ag-charts-font-size-color{align-self:stretch;display:flex;justify-content:space-between}.ag-chart-menu-icon{border-radius:var(--ag-border-radius);cursor:pointer;margin:2px 0;opacity:.8}.ag-chart-menu-icon:hover{opacity:1}.ag-chart-menu-toolbar-button{background-color:unset;border:0;border-radius:1px;padding:0 2px}.ag-chart-data-column-drag-handle{margin-left:var(--ag-spacing)}.ag-chart-data-section,.ag-chart-format-section{display:flex;margin:0;:where(.ag-label:not(.ag-group-title-bar)){color:var(--ag-chart-menu-label-color)}:where(.ag-label-align-top .ag-label){margin-bottom:var(--ag-widget-vertical-spacing);margin-top:calc(var(--ag-widget-vertical-spacing)*.5)}:where(.ag-slider.ag-label-align-top .ag-label){margin-bottom:0}.ag-label{display:inline-block}}.ag-chart-menu-panel{--ag-panel-background-color:var(--ag-chrome-background-color)}:where(.ag-ltr) .ag-chart-menu-panel{border-left:solid var(--ag-border-width) var(--ag-border-color)}:where(.ag-rtl) .ag-chart-menu-panel{border-right:solid var(--ag-border-width) var(--ag-border-color)}.ag-chart-data-wrapper,.ag-chart-format-wrapper{margin:0;padding:0}.ag-group{.ag-charts-data-group-item{padding-bottom:var(--ag-widget-container-vertical-padding);position:relative}.ag-charts-data-group-item:where(:not(:last-child)){margin-bottom:var(--ag-spacing)}.ag-charts-advanced-settings-top-level-group-title-bar{background-color:unset;position:relative}.ag-charts-data-group-item:where(:not(.ag-charts-format-sub-level-group,.ag-pill-select,.ag-select)){height:var(--ag-list-item-height)}.ag-charts-data-group-item:where(.ag-picker-field){margin-top:var(--ag-spacing)}.ag-charts-advanced-settings-top-level-group-item,.ag-charts-format-top-level-group-item{margin:var(--ag-spacing) 0}.ag-charts-format-sub-level-group-container{display:flex;flex-direction:column;padding:var(--ag-widget-vertical-spacing) 0}.ag-charts-settings-group-container{border-top:none;display:grid;font-weight:500;grid-template-columns:60px 1fr 60px 1fr 60px;row-gap:8px;:where(.ag-chart-mini-thumbnail:nth-child(3n+1)){grid-column:1}:where(.ag-chart-mini-thumbnail:nth-child(3n+2)){grid-column:3}:where(.ag-chart-mini-thumbnail:nth-child(3n+3)){grid-column:5}}.ag-charts-data-group-title-bar,.ag-charts-format-top-level-group-title-bar,.ag-charts-settings-group-title-bar{border-top:none;font-weight:500;margin:0;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:relative}.ag-charts-format-sub-level-group-title-bar{background:none;font-weight:500;padding:var(--ag-widget-vertical-spacing) 0}&.ag-charts-data-group,&.ag-charts-format-top-level-group{border-top:solid var(--ag-border-width) var(--ag-border-color)}.ag-charts-data-group-container,.ag-charts-format-top-level-group-container,.ag-charts-settings-group-container{margin:0;padding:0 var(--ag-widget-container-horizontal-padding)}.ag-charts-format-sub-level-group-item,.ag-charts-format-sub-level-no-header-group-item,.ag-charts-format-top-level-group-item{margin-bottom:var(--ag-widget-vertical-spacing)}&.ag-charts-format-sub-level-group,&.ag-charts-format-top-level-group,.ag-charts-format-sub-level-group-item:last-child,.ag-charts-format-top-level-group-item{margin:0;padding:0}.ag-charts-advanced-settings-top-level-group-container{margin:0}.ag-charts-advanced-settings-top-level-group-container,.ag-charts-advanced-settings-top-level-group-title-bar{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-charts-advanced-settings-top-level-group-item{margin-bottom:0;margin-top:calc(var(--ag-widget-vertical-spacing)*2)}}.ag-chart-settings-card-item.ag-not-selected:hover{opacity:.35}:where(.ag-dragging-fill-handle) .ag-dialog,:where(.ag-dragging-range-handle) .ag-dialog{.ag-charts-canvas-center,.ag-charts-canvas-overlay>*,.ag-charts-proxy-elem,.ag-charts-proxy-legend-toolbar,.ag-charts-series-area,.ag-charts-toolbar{pointer-events:none}}.ag-angle-select{align-items:center;display:flex}.ag-angle-select-wrapper{display:flex}.ag-angle-select-parent-circle{background-color:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:12px;display:block;height:24px;position:relative;width:24px}.ag-angle-select-child-circle{background-color:var(--ag-foreground-color);border-radius:3px;height:6px;left:12px;margin-left:-3px;margin-top:-4px;position:absolute;top:4px;width:6px}:where(.ag-ltr) .ag-angle-select-field{margin-right:calc(var(--ag-spacing)*2)}:where(.ag-rtl) .ag-angle-select-field{margin-left:calc(var(--ag-spacing)*2)}.ag-range-field{align-items:center;display:flex;:where(.ag-input-wrapper){height:100%}}.ag-range-field-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;height:100%;overflow:visible;padding:0;width:100%;&:disabled{opacity:.5}}.ag-range-field-input{&::-webkit-slider-runnable-track{background-color:var(--ag-border-color);border-radius:1.5px;height:3px;margin:0;padding:0;width:100%}&::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:100%;height:var(--ag-icon-size);margin:0;padding:0;transform:translateY(calc(var(--ag-icon-size)*-.5 + 1.5px));width:var(--ag-icon-size)}&:focus::-webkit-slider-thumb{border-color:var(--ag-accent-color);box-shadow:var(--ag-focus-shadow)}&:active::-webkit-slider-runnable-track{background-color:var(--ag-accent-color)}}.ag-range-field-input{&::-moz-range-track{background-color:var(--ag-border-color);border-radius:1.5px;height:3px;margin:0;padding:0;width:100%}&::-moz-ag-range-thumb{-moz-appearance:none;appearance:none;background-color:var(--ag-background-color);border:solid var(--ag-border-width) var(--ag-border-color);border-radius:100%;height:var(--ag-icon-size);margin:0;padding:0;transform:translateY(calc(var(--ag-icon-size)*-.5 + 1.5px));width:var(--ag-icon-size)}&:focus::-moz-ag-range-thumb{border-color:var(--ag-accent-color);box-shadow:var(--ag-focus-shadow)}&:active::-moz-ag-range-track{background-color:var(--ag-accent-color)}}',VERSION_CHECKING_FIRST_GRID_MAJOR_VERSION=28,VERSION_CHECKING_FIRST_CHARTS_MAJOR_VERSION=6;function isValidVersion(e){return e?.match(/\d+\.\d+\.\d+/)}function isValidMajorVersion({gridMajorVersion:e,chartsMajorVersion:t}){const i=parseInt(e,10),r=parseInt(t,10),n=i-VERSION_CHECKING_FIRST_GRID_MAJOR_VERSION,o=r-VERSION_CHECKING_FIRST_CHARTS_MAJOR_VERSION,a=n>=0;return n===o&&a}function gridChartVersion(e){if(!e||!isValidVersion(e))return;const[t,i]=e.split(".")||[],r=`${t}.${i}.x`,o=parseInt(t,10)-VERSION_CHECKING_FIRST_GRID_MAJOR_VERSION+VERSION_CHECKING_FIRST_CHARTS_MAJOR_VERSION;if(o<0)return;const l=`${o}.${i}.x`;return{gridMajorMinor:r,chartsMajorMinor:l}}function validGridChartsVersionErrorMessage({type:e,gridVersion:t,chartsVersion:i}){const r="AG Grid: AG Grid version is incompatible. Please see https://www.ag-grid.com/javascript-data-grid/modules/ for more information.";if(!t)return r;const n=gridChartVersion(t);if(!n)return r;const{gridMajorMinor:o,chartsMajorMinor:a}=n;return e==="incompatible"?`AG Grid version ${t} and AG Charts version ${i} is not supported. AG Grid version ${o} should be used with AG Chart ${a}. Please see https://www.ag-grid.com/javascript-data-grid/modules/ for more information.`:e==="invalidCharts"?`AG Grid version ${o} should be used with AG Chart ${a} not ${i}. Please see https://www.ag-grid.com/javascript-data-grid/modules/ for more information.`:r}function validGridChartsVersion({gridVersion:e,chartsVersion:t}){if(!isValidVersion(t))return{isValid:!1,message:validGridChartsVersionErrorMessage({type:"invalidCharts",gridVersion:e,chartsVersion:t})};if(!isValidVersion(e))return{isValid:!1,message:validGridChartsVersionErrorMessage({type:"invalidGrid",gridVersion:e,chartsVersion:t})};const[i,r]=e.split(".")||[],[n,o,a]=t.split(".")||[],l=isValidMajorVersion({gridMajorVersion:i,chartsMajorVersion:n});return l&&r===o||a.includes("beta")?{isValid:!0}:!l||r!==o?{isValid:!1,message:validGridChartsVersionErrorMessage({type:"incompatible",gridVersion:e,chartsVersion:t})}:{isValid:!1,message:validGridChartsVersionErrorMessage({type:"invalid",gridVersion:e,chartsVersion:t})}}var icons={linked:"linked",unlinked:"unlinked",chartsMenu:"menu-alt",chartsDownload:"save",chartsMenuEdit:"chart",chartsMenuAdvancedSettings:"settings",chartsMenuAdd:"plus",chartsColorPicker:"small-down",chartsThemePrevious:"previous",chartsThemeNext:"next"},apiFunctions={getChartModels,getChartRef,getChartImageDataURL,downloadChart,openChartToolPanel,closeChartToolPanel,createRangeChart,createPivotChart,createCrossFilterChart,updateChart,restoreChart},dependsOn=[CellSelectionModule,EnterpriseCoreModule,import_ag_grid_community334._SharedDragAndDropModule,import_ag_grid_community334._PopupModule,MenuItemModule],moduleName2="IntegratedCharts",GridChartsModule={moduleName:"GridCharts",version:VERSION,dependsOn,validate:()=>({isValid:!1,message:`AG Grid: As of v33, the "GridChartsModule" has been deprecated. Please use "IntegratedChartsModule.with(...)" instead.
 ${(0,import_ag_grid_community334._preInitErrMsg)(257)}`})},IntegratedChartsModule={moduleName:moduleName2,version:VERSION,dependsOn,validate:()=>({isValid:!1,message:(0,import_ag_grid_community334._preInitErrMsg)(257)}),with:e=>{if(e.setup(),e.setGridContext?.(!0),e.isEnterprise&&e.setLicenseKey){const t={setLicenseKey:e.setLicenseKey};LicenseManager.setChartsLicenseManager(t)}return{moduleName:moduleName2,version:VERSION,icons,apiFunctions,dependsOn,css:[integratedChartsModule_default],validate:()=>validGridChartsVersion({gridVersion:VERSION,chartsVersion:e.VERSION}),beans:[AgChartsExports.bind(null,e),ChartService,ChartTranslationService,ChartCrossFilterService,ChartMenuListFactory,ChartMenuService,EnterpriseChartProxyFactory,AdvancedSettingsMenuFactory]}}},import_ag_grid_community335=require("ag-grid-community"),dependsOn2=[import_ag_grid_community335.AllCommunityModule,ClipboardModule,ColumnsToolPanelModule,ExcelExportModule,PdfExportModule,FiltersToolPanelModule,NewFiltersToolPanelModule,MasterDetailModule,ColumnMenuModule,ContextMenuModule,CellSelectionModule,RichSelectModule,RowNumbersModule,RowGroupingModule,RowGroupingPanelModule,GroupFilterModule,ServerSideRowModelModule,ServerSideRowModelApiModule,FormulaModule,NotesModule,ColumnHeaderEditModule,SetFilterModule,MultiFilterModule,AdvancedFilterModule,SideBarModule,StatusBarModule,ToolbarModule,ViewportRowModelModule,PivotModule,ShowValuesAsModule,TreeDataModule,FindModule,BatchEditModule,CalculatedColumnsModule,RowGroupingEditModule,AiToolkitModule],moduleName3="AllEnterprise",AllEnterpriseModule={with:e=>({moduleName:moduleName3,version:VERSION,dependsOn:[...dependsOn2,IntegratedChartsModule.with(e),SparklinesModule.with(e)]}),moduleName:moduleName3,version:VERSION,dependsOn:dependsOn2};__reExport(main_exports,require("ag-grid-community"),module.exports);