ag-grid-react
Version:
AG Grid React Component
1 lines • 53.9 kB
JavaScript
import ws,{Component as Rs}from"react";import Ae,{forwardRef as bs,useCallback as tt,useContext as vt,useEffect as Es,useImperativeHandle as Ps,useMemo as st,useRef as re,useState as Ge}from"react";import{BaseComponentWrapper as Ss,GridCoreCreator as ks,VanillaFrameworkOverrides as Fs,_combineAttributesAndGridOptions as Ms,_findEnterpriseCoreModule as xs,_getGridOption as rt,_getGridRegisteredModules as As,_isClientSideRowModel as Gs,_isServerSideRowModel as Bs,_observeResize as Ds,_processOnChange as Is,_warn as Nt}from"ag-grid-community";import be,{forwardRef as Os,useCallback as Ws,useContext as Ts,useImperativeHandle as Ns,useLayoutEffect as Hs,useMemo as nt,useRef as Be,useState as Ee}from"react";import{_toString as Us}from"ag-grid-community";import Ht from"react";var Y=Ht.createContext({}),Ut=Ht.createContext("default"),Ve=(e,t,s,r)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;const l=e.newAgStackInstance();let a,o,c=!1;return l.then(d=>{if(c){t.destroyBean(d);return}a=d,o=a.getGui(),s.appendChild(o),_t(r,a)}),()=>{c=!0,a&&(o?.remove(),t.destroyBean(a),r&&_t(r,void 0))}},_t=(e,t)=>{if(e)if(e instanceof Function)e(t);else{const s=e;s.current=t}};import ot from"react";import _s from"react-dom";var oe=(...e)=>e.filter(s=>s!=null&&s!=="").join(" "),ae=class ys{constructor(...t){this.classesMap={};for(const s of t)this.classesMap[s]=!0}setClass(t,s){if(!!this.classesMap[t]==s)return this;const n=new ys;return n.classesMap={...this.classesMap},n.classesMap[t]=s,n}toString(){return Object.keys(this.classesMap).filter(s=>this.classesMap[s]).join(" ")}},De=e=>{const t=()=>typeof Symbol=="function"&&Symbol.for,s=()=>t()?Symbol.for("react.memo"):60115;return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===s()},wt=ot.version?.split(".")[0],Lt=wt==="16"||wt==="17";function Ls(){return wt==="19"}var at=!1;function Vs(e){return at||setTimeout(()=>at=!1,0),at=!0,e()}var ze=(e,t)=>{!Lt&&e&&!at?_s.flushSync(t):t()},zs=e=>{Lt?e():ot.startTransition(e)};function js(e,t,s){return ot.useSyncExternalStore?ot.useSyncExternalStore(e,t):s}function ct(e,t,s){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(s||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;const r=[],n=[],l=new Map,a=new Map;for(let o=0;o<t.length;o++){const c=t[o];a.set(c.instanceId,c)}for(let o=0;o<e.length;o++){const c=e[o];l.set(c.instanceId,c),a.has(c.instanceId)&&r.push(c)}for(let o=0;o<t.length;o++){const c=t[o],d=c.instanceId;l.has(d)||n.push(c)}return r.length===e.length&&n.length===0?e:r.length===0&&n.length===t.length?t:r.length===0?n:n.length===0?r:[...r,...n]}var Vt=Os((e,t)=>{const{registry:s,context:r}=Ts(Y),n=Be(null),l=Be(null),a=Be(null),o=Be(null),c=Be(null),d=Be(),[i,w]=Ee(),[g,m]=Ee(),[P,C]=Ee(),[h,u]=Ee(()=>new ae),[k,O]=Ee(()=>new ae("ag-hidden")),[f,y]=Ee(()=>new ae("ag-hidden")),[B,E]=Ee(()=>new ae("ag-invisible"));Ns(t,()=>({refresh(){return!1}})),Hs(()=>Ve(i,r,l.current),[i]);const H=Ws(A=>{if(n.current=A,!A||r.isDestroyed()){d.current=r.destroyBean(d.current);return}const R={setInnerRenderer:(S,U)=>{w(S),C(U)},setChildCount:S=>m(S),toggleCss:(S,U)=>u(T=>T.setClass(S,U)),setContractedDisplayed:S=>y(U=>U.setClass("ag-hidden",!S)),setExpandedDisplayed:S=>O(U=>U.setClass("ag-hidden",!S)),setCheckboxVisible:S=>E(U=>U.setClass("ag-invisible",!S)),setCheckboxSpacing:S=>E(U=>U.setClass("ag-group-checkbox-spacing",S))},W=s.createDynamicBean("groupCellRendererCtrl",!0);W&&(d.current=r.createBean(W),d.current.init(R,A,a.current,o.current,c.current,Vt,e))},[]),F=nt(()=>`ag-cell-wrapper ${h.toString()}`,[h]),N=nt(()=>`ag-group-expanded ${k.toString()}`,[k]),p=nt(()=>`ag-group-contracted ${f.toString()}`,[f]),v=nt(()=>`ag-group-checkbox ${B.toString()}`,[B]),x=i?.componentFromFramework,K=x?i.componentClass:void 0,b=i==null&&P!=null,G=Us(P);return be.createElement("span",{className:F,ref:H,...e.colDef?{}:{role:d.current?.getCellAriaRole()}},be.createElement("span",{className:N,ref:o}),be.createElement("span",{className:p,ref:c}),be.createElement("span",{className:v,ref:a}),be.createElement("span",{className:"ag-group-value",ref:l},b?G:x?be.createElement(K,{...i.params}):null),be.createElement("span",{className:"ag-group-child-count"},g))}),zt=Vt;import{AgPromise as Rt}from"ag-grid-community";import jt,{memo as Ks,useEffect as $s,useState as Js}from"react";import{createContext as qs}from"react";var je=qs({setMethods:()=>{}}),Qs=e=>{const{initialProps:t,addUpdateCallback:s,CustomComponentClass:r,setMethods:n}=e,[{key:l,...a},o]=Js(t);return $s(()=>{s(c=>o(c))},[]),jt.createElement(je.Provider,{value:{setMethods:n}},jt.createElement(r,{key:l,...a}))},Ys=Ks(Qs);import{createElement as Zs}from"react";import{createPortal as Xs}from"react-dom";import{AgPromise as bt}from"ag-grid-community";var er=0;function Kt(){return`agPortalKey_${++er}`}var $t=class{constructor(e,t,s,r){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=s,this.suppressFallbackMethods=!!r,this.statelessComponent=this.isStateless(this.reactComponent),this.key=Kt(),this.portalKey=Kt(),this.instanceCreated=this.isStatelessComponent()?bt.resolve(!1):new bt(n=>{this.resolveInstanceCreated=n})}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){this.componentInstance&&typeof this.componentInstance.destroy=="function"&&this.componentInstance.destroy();const e=this.portal;e&&this.portalManager.destroyPortal(e)}createParentElement(e){const t=this.portalManager.getComponentWrappingElement(),s=document.createElement(t||"div");return s.classList.add("ag-react-container"),e.reactContainer=s,s}statelessComponentRendered(){return this.eParentElement.childElementCount>0||this.eParentElement.childNodes.length>0}getFrameworkComponentInstance(){return this.componentInstance}isStatelessComponent(){return this.statelessComponent}getReactComponentName(){return this.reactComponent.name}getMemoType(){return this.hasSymbol()?Symbol.for("react.memo"):60115}hasSymbol(){return typeof Symbol=="function"&&Symbol.for}isStateless(e){return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===this.getMemoType()}hasMethod(e){const t=this.getFrameworkComponentInstance();return!!t&&t[e]!=null||this.fallbackMethodAvailable(e)}callMethod(e,t){const s=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!s){setTimeout(()=>this.callMethod(e,t));return}const r=s[e];if(r)return r.apply(s,t);if(this.fallbackMethodAvailable(e))return this.fallbackMethod(e,t&&t[0]?t[0]:{})}addMethod(e,t){this[e]=t}init(e){return this.eParentElement=this.createParentElement(e),this.createOrUpdatePortal(e),new bt(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{this.componentInstance=t,this.resolveInstanceCreated?.(!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=Xs(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return Zs(e,t)}createReactComponent(e){this.portalManager.mountReactPortal(this.portal,this,e)}rendered(){return this.isStatelessComponent()&&this.statelessComponentRendered()||!!(!this.isStatelessComponent()&&this.getFrameworkComponentInstance())}refreshComponent(e){this.oldPortal=this.portal,this.createOrUpdatePortal(e),this.portalManager.updateReactPortal(this.oldPortal,this.portal)}fallbackMethod(e,t){const s=this[`${e}Component`];if(!this.suppressFallbackMethods&&s)return s.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function it(e,t,s){for(const r of e){const n=t[r];n&&(s[r]=n)}}var ce=class extends $t{constructor(){super(...arguments),this.awaitUpdateCallback=new Rt(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=Ys}init(e){return this.sourceParams=e,super.init(this.getProps())}addMethod(){}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}getFrameworkComponentInstance(){return this}createElement(e,t){return super.createElement(this.wrapperComponent,{initialProps:t,CustomComponentClass:e,setMethods:s=>this.setMethods(s),addUpdateCallback:s=>{this.updateCallback=()=>(s(this.getProps()),new Rt(r=>{setTimeout(()=>{r()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,it(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new Rt(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},tr=class extends ce{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},sr=class extends ce{refresh(e){this.sourceParams=e,this.refreshProps()}},rr=class extends ce{constructor(){super(...arguments),this.date=null,this.onDateChange=e=>this.updateDate(e)}getDate(){return this.date}setDate(e){this.date=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached","setInputPlaceholder","setInputAriaLabel","setDisabled"]}updateDate(e){this.setDate(e),this.sourceParams.onDateChanged()}getProps(){const e=super.getProps();return e.date=this.date,e.onDateChange=this.onDateChange,delete e.onDateChanged,e}},nr=class extends ce{constructor(){super(...arguments),this.label="",this.icon=null,this.shake=!1}setIcon(e,t){this.icon=e,this.shake=t,this.refreshProps()}setLabel(e){this.label=e,this.refreshProps()}getProps(){const e=super.getProps(),{label:t,icon:s,shake:r}=this;return e.label=t,e.icon=s,e.shake=r,e}};import{AgPromise as Jt}from"ag-grid-community";var or=class extends ce{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterModifiedCallback(),this.expectingNewMethods=!0,this.hasBeenActive=!1,this.awaitSetMethodsCallback=new Jt(e=>{this.resolveSetMethodsCallback=e})}isFilterActive(){return this.model!=null}doesFilterPass(e){return this.providedMethods.doesFilterPass(e)}getModel(){return this.model}setModel(e){return this.expectingNewMethods=!0,this.model=e,this.hasBeenActive||(this.hasBeenActive=this.isFilterActive()),this.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}afterGuiAttached(e){const t=this.providedMethods;t?t.afterGuiAttached?.(e):this.awaitSetMethodsCallback.then(()=>this.providedMethods?.afterGuiAttached?.(e))}getOptionalMethods(){return["afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}setMethods(e){this.expectingNewMethods===!1&&this.hasBeenActive&&this.providedMethods?.doesFilterPass!==e?.doesFilterPass&&setTimeout(()=>{this.sourceParams.filterChangedCallback()}),this.expectingNewMethods=!1,super.setMethods(e),this.resolveSetMethodsCallback(),this.resolveFilterPassCallback?.(),this.resolveFilterPassCallback=void 0}updateModel(e){this.resolveFilterPassCallback?.();const t=new Jt(s=>{this.resolveFilterPassCallback=s});this.setModel(e).then(()=>{t.then(()=>{this.sourceParams.filterChangedCallback()})})}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,e}};import{AgPromise as ar}from"ag-grid-community";var cr=class extends ce{constructor(){super(...arguments),this.awaitSetMethodsCallback=new ar(e=>{this.resolveSetMethodsCallback=e})}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}afterGuiAttached(e){const t=this.providedMethods;t?t.afterGuiAttached?.(e):this.awaitSetMethodsCallback.then(()=>this.providedMethods?.afterGuiAttached?.(e))}getOptionalMethods(){return["afterGuiDetached","onNewRowsLoaded","onAnyFilterChanged"]}setMethods(e){super.setMethods(e),this.resolveSetMethodsCallback()}};import{AgPromise as ir}from"ag-grid-community";function qt(e,t){e.parentFilterInstance(s=>{(s.setModel(t)||ir.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var lr=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=s=>this.updateModel(s)}getProps(){return{...this.floatingFilterParams,model:this.model,onModelChange:this.onModelChange}}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){it(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),qt(this.floatingFilterParams,e)}},ur=class extends ce{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e)}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),qt(this.sourceParams,e)}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},dr=class extends ce{refresh(e){this.sourceParams=e,this.refreshProps()}getOptionalMethods(){return["afterGuiAttached"]}},pr=class extends ce{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},mr=class extends ce{constructor(){super(...arguments),this.active=!1,this.expanded=!1,this.onActiveChange=e=>this.updateActive(e)}setActive(e){this.awaitSetActive(e)}setExpanded(e){this.expanded=e,this.refreshProps()}getOptionalMethods(){return["select","configureDefaults"]}awaitSetActive(e){return this.active=e,this.refreshProps()}updateActive(e){const t=this.awaitSetActive(e);e&&t.then(()=>this.sourceParams.onItemActivated())}getProps(){const e=super.getProps();return e.active=this.active,e.expanded=this.expanded,e.onActiveChange=this.onActiveChange,delete e.onItemActivated,e}},hr=class extends ce{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},fr=class extends ce{constructor(){super(...arguments),this.onStateChange=e=>this.updateState(e)}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getState(){return this.state}updateState(e){this.state=e,this.refreshProps(),this.sourceParams.onStateUpdated()}getProps(){const e=super.getProps();return e.state=this.state,e.onStateChange=this.onStateChange,e}};import{AgPromise as Cr,_warn as gr}from"ag-grid-community";function yr(e,t){(e?.getInstance?.()??Cr.resolve(void 0)).then(r=>t(r))}function lt(){gr(231)}var vr=1e3,wr=class{constructor(e,t,s){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=t||"div",this.refresher=e,this.maxComponentCreationTimeMs=s||vr}getPortals(){return this.portals}destroy(){this.destroyed=!0}destroyPortal(e){this.portals=this.portals.filter(t=>t!==e),this.batchUpdate()}getComponentWrappingElement(){return this.wrappingElement}mountReactPortal(e,t,s){this.portals=[...this.portals,e],this.waitForInstance(t,s),this.batchUpdate()}updateReactPortal(e,t){this.portals[this.portals.indexOf(e)]=t,this.batchUpdate()}batchUpdate(){this.hasPendingPortalUpdate||(setTimeout(()=>{this.destroyed||(this.refresher(),this.hasPendingPortalUpdate=!1)}),this.hasPendingPortalUpdate=!0)}waitForInstance(e,t,s=Date.now()){if(this.destroyed){t(null);return}if(e.rendered())t(e);else{if(Date.now()-s>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate){ze(!0,()=>this.refresher()),e.rendered()&&t(e);return}window.setTimeout(()=>{this.waitForInstance(e,t,s)})}}};import ut,{useContext as Qt,useRef as Et}from"react";import{_areEqual as Yt}from"ag-grid-community";var Pt=ut.createContext(null),St=ut.createContext(void 0);function Rr({modules:e,licenseKey:t,children:s}){const n=Qt(Pt)??[],l=Qt(St),a=Et(e),o=Et(n),c=Et([...n,...e]),d=!Yt(o.current,n);d&&(o.current=n);const i=!Yt(a.current,e);i&&(a.current=e),(d||i)&&(c.current=[...o.current,...a.current]);const w=t??l;return ut.createElement(Pt.Provider,{value:c.current},ut.createElement(St.Provider,{value:w},s))}import Ke,{memo as br,useCallback as dt,useEffect as Er,useMemo as kt,useRef as Ie,useState as Pe}from"react";import{GridCtrl as Pr}from"ag-grid-community";import $e,{memo as Sr,useCallback as kr,useContext as Fr,useMemo as le,useRef as de,useState as X}from"react";import{CssClassManager as Mr,FakeHScrollComp as xr,FakeVScrollComp as Ar,GridBodyCtrl as Gr,_observeResize as Br,_setAriaColCount as Dr,_setAriaRowCount as Ir}from"ag-grid-community";import pt,{memo as Or,useCallback as Wr,useContext as Tr,useMemo as Zt,useRef as Xt,useState as es}from"react";import{GridHeaderCtrl as Nr}from"ag-grid-community";import Je,{memo as Hr,useCallback as Ur,useContext as _r,useRef as Ft,useState as ts}from"react";import{HeaderRowContainerCtrl as Lr}from"ag-grid-community";import mt,{memo as Vr,useCallback as ss,useContext as zr,useMemo as Mt,useRef as xt,useState as ht}from"react";import{_EmptyBean as jr}from"ag-grid-community";import qe,{memo as Kr,useCallback as $r,useContext as Jr,useEffect as qr,useLayoutEffect as Qr,useMemo as Yr,useRef as Oe,useState as rs}from"react";import{CssClassManager as Zr,_EmptyBean as Xr,_removeAriaSort as en,_setAriaSort as tn}from"ag-grid-community";var sn=({ctrl:e})=>{const t=e.isAlive(),{context:s}=Jr(Y),[r,n]=rs(),[l,a]=rs(),o=Oe(),c=Oe(null),d=Oe(null),i=Oe(null),w=Oe(),g=Oe();t&&!g.current&&(g.current=new Zr(()=>c.current));const m=$r(u=>{if(c.current=u,!u||!e.isAlive()||s.isDestroyed()){o.current=s.destroyBean(o.current);return}o.current=s.createBean(new Xr);const k=()=>{const f=e.getSelectAllGui();f&&(d.current?.insertAdjacentElement("afterend",f),o.current.addDestroyFunc(()=>f.remove()))},O={setWidth:f=>{c.current&&(c.current.style.width=f)},toggleCss:(f,y)=>g.current.toggleCss(f,y),setUserStyles:f=>a(f),setAriaSort:f=>{c.current&&(f?tn(c.current,f):en(c.current))},setUserCompDetails:f=>n(f),getUserCompInstance:()=>w.current||void 0,refreshSelectAllGui:k,removeSelectAllGui:()=>e.getSelectAllGui()?.remove()};e.setComp(O,u,d.current,i.current,o.current),k()},[]);Qr(()=>Ve(r,s,i.current,w),[r]),qr(()=>{e.setDragSource(c.current)},[r]);const P=Yr(()=>!!(r?.componentFromFramework&&De(r.componentClass)),[r]),C=r?.componentFromFramework,h=r?.componentClass;return qe.createElement("div",{ref:m,style:l,className:"ag-header-cell",role:"columnheader"},qe.createElement("div",{ref:d,className:"ag-header-cell-resize",role:"presentation"}),qe.createElement("div",{ref:i,className:"ag-header-cell-comp-wrapper",role:"presentation"},C?P?qe.createElement(h,{...r.params}):qe.createElement(h,{...r.params,ref:w}):null))},rn=Kr(sn);import Se,{memo as nn,useCallback as on,useContext as an,useEffect as cn,useLayoutEffect as ln,useMemo as We,useRef as ke,useState as we}from"react";import{AgPromise as un,_EmptyBean as dn}from"ag-grid-community";var pn=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t}getProps(){return this.floatingFilterParams}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){it(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}},mn=({ctrl:e})=>{const{context:t,gos:s}=an(Y),[r,n]=we(),[l,a]=we(()=>new ae("ag-header-cell","ag-floating-filter")),[o,c]=we(()=>new ae),[d,i]=we(()=>new ae("ag-floating-filter-button","ag-hidden")),[w,g]=we("false"),[m,P]=we(),[,C]=we(1),h=ke(),u=ke(null),k=ke(null),O=ke(null),f=ke(null),y=ke(),B=ke(),E=S=>{S!=null&&y.current?.(S)},H=on(S=>{if(u.current=S,!S||!e.isAlive()||t.isDestroyed()){h.current=t.destroyBean(h.current);return}h.current=t.createBean(new dn),B.current=new un(T=>{y.current=T});const U={toggleCss:(T,I)=>a(V=>V.setClass(T,I)),setUserStyles:T=>n(T),addOrRemoveBodyCssClass:(T,I)=>c(V=>V.setClass(T,I)),setButtonWrapperDisplayed:T=>{i(I=>I.setClass("ag-hidden",!T)),g(T?"false":"true")},setWidth:T=>{u.current&&(u.current.style.width=T)},setCompDetails:T=>P(T),getFloatingFilterComp:()=>B.current?B.current:null,setMenuIcon:T=>f.current?.appendChild(T)};e.setComp(U,S,f.current,k.current,h.current)},[]);ln(()=>Ve(m,t,k.current,E),[m]);const F=We(()=>l.toString(),[l]),N=We(()=>o.toString(),[o]),p=We(()=>d.toString(),[d]),v=We(()=>!!(m&&m.componentFromFramework&&De(m.componentClass)),[m]),x=We(()=>s.get("reactiveCustomComponents"),[]),K=We(()=>s.get("enableFilterHandlers"),[]),[b,G]=we();cn(()=>{if(m?.componentFromFramework)if(x){const S=K?pn:lr,U=new S(m.params,()=>C(T=>T+1));E(U),G(U)}else lt()},[m]);const A=b?.getProps(),R=m?.componentFromFramework,W=m?.componentClass;return Se.createElement("div",{ref:H,style:r,className:F,role:"gridcell"},Se.createElement("div",{ref:k,className:N,role:"presentation"},R?x?A&&Se.createElement(je.Provider,{value:{setMethods:S=>b.setMethods(S)}},Se.createElement(W,{...A})):Se.createElement(W,{...m.params,ref:v?()=>{}:E}):null),Se.createElement("div",{ref:O,"aria-hidden":w,className:p,role:"presentation"},Se.createElement("button",{ref:f,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))},hn=nn(mn);import Qe,{memo as fn,useCallback as Cn,useContext as gn,useEffect as yn,useLayoutEffect as vn,useMemo as At,useRef as Ye,useState as Te}from"react";import{_EmptyBean as wn}from"ag-grid-community";var Rn=({ctrl:e})=>{const{context:t}=gn(Y),[s,r]=Te(),[n,l]=Te(()=>new ae),[a,o]=Te(()=>new ae),[c,d]=Te("false"),[i,w]=Te(),[g,m]=Te(),P=Ye(),C=Ye(null),h=Ye(null),u=Ye(null),k=Ye(),O=Cn(F=>{if(C.current=F,!F||!e.isAlive()||t.isDestroyed()){P.current=t.destroyBean(P.current);return}P.current=t.createBean(new wn);const N={setWidth:p=>{C.current&&(C.current.style.width=p)},toggleCss:(p,v)=>l(x=>x.setClass(p,v)),setUserStyles:p=>r(p),setHeaderWrapperHidden:p=>{const v=u.current;v&&(p?v.style.setProperty("display","none"):v.style.removeProperty("display"))},setHeaderWrapperMaxHeight:p=>{const v=u.current;v&&(p!=null?v.style.setProperty("max-height",`${p}px`):v.style.removeProperty("max-height"),v.classList.toggle("ag-header-cell-comp-wrapper-limited-height",p!=null))},setUserCompDetails:p=>m(p),setResizableDisplayed:p=>{o(v=>v.setClass("ag-hidden",!p)),d(p?"false":"true")},setAriaExpanded:p=>w(p),getUserCompInstance:()=>k.current||void 0};e.setComp(N,F,h.current,u.current,P.current)},[]);vn(()=>Ve(g,t,u.current),[g]),yn(()=>{C.current&&e.setDragSource(C.current)},[g]);const f=At(()=>!!(g?.componentFromFramework&&De(g.componentClass)),[g]),y=At(()=>"ag-header-group-cell "+n.toString(),[n]),B=At(()=>"ag-header-cell-resize "+a.toString(),[a]),E=g?.componentFromFramework,H=g?.componentClass;return Qe.createElement("div",{ref:O,style:s,className:y,role:"columnheader","aria-expanded":i},Qe.createElement("div",{ref:u,className:"ag-header-cell-comp-wrapper",role:"presentation"},E?f?Qe.createElement(H,{...g.params}):Qe.createElement(H,{...g.params,ref:k}):null),Qe.createElement("div",{ref:h,"aria-hidden":c,className:B}))},bn=fn(Rn),En=({ctrl:e})=>{const{gos:t,context:s}=zr(Y),{topOffset:r,rowHeight:n}=Mt(()=>e.getTopAndHeight(),[]),l=Mt(()=>t.get("tabIndex"),[]),[a,o]=ht(()=>e.getAriaRowIndex()),c=e.headerRowClass,[d,i]=ht(()=>n+"px"),[w,g]=ht(()=>r+"px"),m=xt(null),[P,C]=ht(()=>e.getUpdatedHeaderCtrls()),h=xt(),u=xt(null),k=ss(y=>{if(u.current=y,!y||!e.isAlive()||s.isDestroyed()){h.current=s.destroyBean(h.current);return}h.current=s.createBean(new jr);const B={setHeight:E=>i(E),setTop:E=>g(E),setHeaderCtrls:(E,H,F)=>{const N=m.current,p=ct(N,E,H);p!==N&&(m.current=p,ze(F,()=>C(p)))},setWidth:E=>{u.current&&(u.current.style.width=E)},setRowIndex:E=>{o(E)}};e.setComp(B,h.current,!1)},[]),O=Mt(()=>({height:d,top:w}),[d,w]),f=ss(y=>{switch(e.type){case"group":return mt.createElement(bn,{ctrl:y,key:y.instanceId});case"filter":return mt.createElement(hn,{ctrl:y,key:y.instanceId});default:return mt.createElement(rn,{ctrl:y,key:y.instanceId})}},[]);return mt.createElement("div",{ref:k,className:c,role:"row",style:O,tabIndex:l,"aria-rowindex":a},P.map(f))},Pn=Vr(En),Sn=({pinned:e})=>{const[t,s]=ts(!0),[r,n]=ts([]),{context:l}=_r(Y),a=Ft(null),o=Ft(null),c=Ft(),d=e==="left",i=e==="right",w=!d&&!i,g=Ur(C=>{if(a.current=C,!C||l.isDestroyed()){c.current=l.destroyBean(c.current);return}c.current=l.createBean(new Lr(e));const h={setDisplayed:s,setCtrls:u=>n(u),setCenterWidth:u=>{o.current&&(o.current.style.width=u)},setViewportScrollLeft:u=>{a.current&&(a.current.scrollLeft=u)},setPinnedContainerWidth:u=>{a.current&&(a.current.style.width=u,a.current.style.minWidth=u,a.current.style.maxWidth=u)}};c.current.setComp(h,a.current)},[]),m=t?"":"ag-hidden",P=()=>r.map(C=>Je.createElement(Pn,{ctrl:C,key:C.instanceId}));return d?Je.createElement("div",{ref:g,className:"ag-pinned-left-header "+m,"aria-hidden":!t,role:"rowgroup"},P()):i?Je.createElement("div",{ref:g,className:"ag-pinned-right-header "+m,"aria-hidden":!t,role:"rowgroup"},P()):w?Je.createElement("div",{ref:g,className:"ag-header-viewport "+m,role:"rowgroup",tabIndex:-1},Je.createElement("div",{ref:o,className:"ag-header-container",role:"presentation"},P())):null},Gt=Hr(Sn),kn=()=>{const[e,t]=es(()=>new ae),[s,r]=es(),{context:n}=Tr(Y),l=Xt(null),a=Xt(),o=Wr(i=>{if(l.current=i,!i||n.isDestroyed()){a.current=n.destroyBean(a.current);return}a.current=n.createBean(new Nr);const w={toggleCss:(g,m)=>t(P=>P.setClass(g,m)),setHeightAndMinHeight:g=>r(g)};a.current.setComp(w,i,i)},[]),c=Zt(()=>"ag-header "+e.toString(),[e]),d=Zt(()=>({height:s,minHeight:s}),[s]);return pt.createElement("div",{ref:o,className:c,style:d,role:"presentation"},pt.createElement(Gt,{pinned:"left"}),pt.createElement(Gt,{pinned:null}),pt.createElement(Gt,{pinned:"right"}))},Fn=Or(kn);import{useEffect as Mn}from"react";var xn=(e,t)=>{Mn(()=>{const s=t.current;if(s){const r=s.parentElement;if(r){const n=document.createComment(e);return r.insertBefore(n,s),()=>{n.remove()}}}},[e])},Fe=xn;import Ze,{memo as An,useCallback as Ne,useContext as Gn,useMemo as ft,useRef as he,useState as ns}from"react";import{RowContainerCtrl as Bn,_getRowContainerClass as Dn,_getRowContainerOptions as In,_getRowSpanContainerClass as On,_getRowViewportClass as Wn}from"ag-grid-community";import Ct,{memo as Tn,useCallback as os,useContext as as,useEffect as cs,useLayoutEffect as Nn,useMemo as is,useRef as pe,useState as fe}from"react";import{CssClassManager as Hn,_EmptyBean as Un}from"ag-grid-community";import me,{Suspense as _n,memo as Ln,useCallback as He,useContext as Vn,useLayoutEffect as Bt,useMemo as gt,useRef as ne,useState as Ce}from"react";import{CssClassManager as zn,_EmptyBean as jn,_removeFromParent as ls}from"ag-grid-community";import{AgPromise as Kn}from"ag-grid-community";var $n=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new Kn(s=>{this.resolveInstanceCreated=s}),this.onValueChange=s=>this.updateValue(s),this.value=e.value}getProps(){return{...this.cellEditorParams,initialValue:this.cellEditorParams.value,value:this.value,onValueChange:this.onValueChange}}getValue(){return this.value}refresh(e){this.cellEditorParams=e,this.refreshProps()}setMethods(e){it(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}setRef(e){this.componentInstance=e,this.resolveInstanceCreated?.(),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isCancelBeforeStart","isCancelAfterEnd","focusIn","focusOut","afterGuiAttached","getValidationErrors","getValidationElement"]}updateValue(e){this.value=e,this.refreshProps()}};import Ue from"react";import{memo as Jn,useContext as qn,useLayoutEffect as Qn,useState as Yn}from"react";import{createPortal as Zn}from"react-dom";import{_getActiveDomElement as Xn}from"ag-grid-community";import{useEffect as eo,useRef as yt,useState as to}from"react";var so=e=>{const t=yt(e),s=yt(),r=yt(!1),n=yt(!1),[,l]=to(0);r.current&&(n.current=!0),eo(()=>(r.current||(s.current=t.current(),r.current=!0),l(a=>a+1),()=>{n.current&&s.current?.()}),[])},ro=e=>{const[t,s]=Yn(),r=qn(Y),{context:n,popupSvc:l,gos:a,editSvc:o}=r,{editDetails:c,cellCtrl:d,eParentCell:i}=e;return so(()=>{const{compDetails:w}=c,g=a.get("stopEditingWhenCellsLoseFocus");let m,P;if(!n.isDestroyed()){P=n.createBean(o.createPopupEditorWrapper(w.params));const C=P.getGui();if(e.jsChildComp){const y=e.jsChildComp.getGui();y&&C.appendChild(y)}const{column:h,rowNode:u}=d,k={column:h,rowNode:u,type:"popupCellEditor",eventSource:i,ePopup:C,position:c.popupPosition,keepWithinBounds:!0},O=l?.positionPopupByComponent.bind(l,k),f=l?.addPopup({modal:g,eChild:C,closeOnEsc:!0,closedCallback:y=>{d.onPopupEditorClosed(y)},anchorToElement:i,positionCallback:O,ariaOwns:i});m=f?f.hideFunc:void 0,s(P),e.jsChildComp?.afterGuiAttached?.()}return()=>{m?.(),n.destroyBean(P)}}),Qn(()=>()=>{d.isCellFocused()&&t?.getGui().contains(Xn(r))&&i.focus({preventScroll:!0})},[t]),t&&e.wrappedContent?Zn(e.wrappedContent,t.getGui()):null},us=Jn(ro),no=(e,t,s)=>{const{compProxy:r}=e;s(r);const n=r.getProps(),l=De(t);return Ue.createElement(je.Provider,{value:{setMethods:a=>r.setMethods(a)}},l?Ue.createElement(t,{...n}):Ue.createElement(t,{...n,ref:a=>r.setRef(a)}))},ds=(e,t,s)=>e.compProxy?no(e,t,s):Ue.createElement(t,{...e.compDetails.params,ref:s}),oo=(e,t,s,r,n)=>{const l=e.compDetails,a=l.componentClass,o=l.componentFromFramework&&!e.popup,c=l.componentFromFramework&&e.popup,d=!l.componentFromFramework&&e.popup;return o?ds(e,a,t):c?Ue.createElement(us,{editDetails:e,cellCtrl:r,eParentCell:s,wrappedContent:ds(e,a,t)}):d&&n?Ue.createElement(us,{editDetails:e,cellCtrl:r,eParentCell:s,jsChildComp:n}):null};import{useCallback as ao,useContext as co,useEffect as ps}from"react";var io=(e,t,s,r,n,l,a=!1)=>{const{context:o}=co(Y),c=ao(()=>{const d=n.current;if(!d)return;const i=d.getGui();i&&i.parentElement&&i.remove(),o.destroyBean(d),n.current=void 0},[]);ps(()=>{const d=e!=null&&!a,i=e?.compDetails&&!e.compDetails.componentFromFramework,w=t&&s==null;if(!(d&&i&&!w)){c();return}const m=e.compDetails;if(n.current){const C=n.current,u=C.refresh!=null&&e.force==!1?C.refresh(m.params):!1;if(u===!0||u===void 0)return;c()}m.newAgStackInstance().then(C=>{if(!C)return;const h=C.getGui();if(!h)return;(t?s:l.current).appendChild(h),n.current=C})},[e,t,r,a]),ps(()=>c,[])},ms=io;import Dt,{useMemo as lo,useRef as uo}from"react";var po=({cellCtrl:e,parent:t})=>{const s=uo(),r=lo(()=>{const{loadingComp:n}=e.getDeferLoadingCellRenderer();return n?{value:void 0,compDetails:n,force:!1}:void 0},[e]);if(ms(r,!1,void 0,1,s,t),r?.compDetails?.componentFromFramework){const n=r.compDetails.componentClass;return Dt.createElement(n,{...r.compDetails.params})}return Dt.createElement(Dt.Fragment,null)},mo=({cellCtrl:e,printLayout:t,editingCell:s})=>{const r=Vn(Y),{context:n}=r,{column:{colIdSanitised:l},instanceId:a}=e,o=ne(),[c,d]=Ce(()=>e.isCellRenderer()?void 0:{compDetails:void 0,value:e.getValueToDisplay(),force:!1}),[i,w]=Ce(),[g,m]=Ce(1),[P,C]=Ce(),[h,u]=Ce(!1),[k,O]=Ce(!1),[f,y]=Ce(!1),B=ne(null),[E,H]=Ce(),F=gt(()=>e.isForceWrapper(),[e]),N=gt(()=>e.getCellAriaRole(),[e]),p=ne(null),v=ne(null),x=ne(null),K=ne(),b=ne(),G=ne(),A=ne([]),R=ne(),W=ne(),[S,U]=Ce(0),T=He(D=>{W.current=D,U(L=>L+1)},[]),I=c!=null&&(h||f||k)&&(i==null||!!i.popup),V=F||I,q=gt(()=>e.getCellValueClass(),[e]),Z=He(D=>{if(b.current=D,D){const L=D.isCancelBeforeStart&&D.isCancelBeforeStart();setTimeout(()=>{L?(e.stopEditing(!0),e.focusCell(!0)):(e.cellEditorAttached(),e.enableEditorTooltipFeature(D))})}},[e]),ue=ne();ue.current||(ue.current=new zn(()=>p.current));const Le=!!i&&!i.popup;ms(c,V,W.current,S,K,p,Le);const Me=ne();Bt(()=>{const D=Me.current,L=c;Me.current=c;const j=D?.compDetails,_=L?.compDetails;if(j==null||_==null||j===_||(R.current?.refreshVisibility(),j.componentClass!=_.componentClass)||x.current?.refresh==null)return;x.current.refresh(_.params)!=!0&&m(J=>J+1)},[c]),Bt(()=>{if(!(i&&!i.compDetails.componentFromFramework)||n.isDestroyed())return;const L=i.compDetails,j=i.popup===!0,_=L.newAgStackInstance();return _.then(M=>{if(!M)return;const J=M.getGui();Z(M),j||((F?G:p).current?.appendChild(J),M.afterGuiAttached?.()),H(M)}),()=>{_.then(M=>{const J=M.getGui();e.disableEditorTooltipFeature(),n.destroyBean(M),Z(void 0),H(void 0),J?.remove()})}},[i]);const z=He(D=>{if(G.current=D,!D||n.isDestroyed()||!e.isAlive()){const _=A.current;A.current=[];for(const M of _)M();return}let L;const j=_=>{_&&(D.insertAdjacentElement("afterbegin",_.getGui()),A.current.push(()=>{ls(_.getGui()),n.destroyBean(_),R.current===L&&(R.current=void 0)}))};h&&j(e.createSelectionCheckbox()),f&&j(e.createDndSource()),k&&(L=e.createRowDragComp(),R.current=L,L&&(j(L),L.refreshVisibility()))},[e,n,f,k,h]),ge=He(()=>{const D=!e.isCellSpanning()||v.current,L=p.current;if(!L||!D||!e||!e.isAlive()||n.isDestroyed()){o.current=n.destroyBean(o.current);return}o.current=n.createBean(new jn);const j={toggleCss:(M,J)=>ue.current.toggleCss(M,J),setUserStyles:M=>C(M),getFocusableElement:()=>p.current,setIncludeSelection:M=>u(M),setIncludeRowDrag:M=>O(M),setIncludeDndSource:M=>y(M),setRowResizerElement:M=>{B.current&&ls(B.current),B.current=M,M&&p.current&&p.current.appendChild(M)},getCellEditor:()=>b.current??null,getCellRenderer:()=>x.current??K.current,getParentOfValue:()=>W.current??G.current??p.current,setRenderDetails:(M,J,Q)=>{const Re=()=>{d(te=>te?.compDetails!==M||te?.value!==J||te?.force!==Q?{value:J,compDetails:M,force:Q}:te)};if(M?.params?.deferRender&&!e.rowNode.group){const{loadingComp:te,onReady:xe}=e.getDeferLoadingCellRenderer();if(te){d({value:void 0,compDetails:te,force:!1}),xe.then(()=>zs(Re));return}}Re()},setEditDetails:(M,J,Q,Re)=>{if(M){let te;M.componentFromFramework&&(Re?te=new $n(M.params,()=>m(xe=>xe+1)):lt()),w({compDetails:M,popup:J,popupPosition:Q,compProxy:te}),J||d(void 0)}else e.hasBrowserFocus()&&j.getFocusableElement().focus({preventScroll:!0}),b.current=void 0,w(void 0)},refreshEditStyles:(M,J)=>{if(!p.current)return;const{current:Q}=ue;Q.toggleCss("ag-cell-value",!V),Q.toggleCss("ag-cell-inline-editing",!!M&&!J),Q.toggleCss("ag-cell-popup-editing",!!M&&!!J),Q.toggleCss("ag-cell-not-inline-editing",!M||!!J)}},_=G.current||void 0;e.setComp(j,L,v.current??void 0,_,t,s,o.current)},[]),ee=He(D=>{p.current=D,ge()},[]),ie=He(D=>{v.current=D,ge()},[]),ye=gt(()=>!!(c?.compDetails?.componentFromFramework&&De(c.compDetails.componentClass)),[c]);Bt(()=>{if(!p.current)return;const{current:D}=ue;D.toggleCss("ag-cell-value",!V),D.toggleCss("ag-cell-inline-editing",!!i&&!i.popup),D.toggleCss("ag-cell-popup-editing",!!i&&!!i.popup),D.toggleCss("ag-cell-not-inline-editing",!i||!!i.popup)});const ve=()=>{const{compDetails:D,value:L}=c;if(!D)return L?.toString?.()??L;if(D.componentFromFramework){const j=D.componentClass;return me.createElement(_n,{fallback:me.createElement(po,{cellCtrl:e,parent:p})},ye?me.createElement(j,{...D.params,key:g}):me.createElement(j,{...D.params,key:g,ref:x}))}},Xe=()=>{const D=()=>c==null?null:V?me.createElement("span",{role:"presentation",id:`cell-${a}`,className:q,ref:T},ve()):ve(),L=j=>oo(j,Z,p.current,e,E);return i!=null?i.popup?me.createElement(me.Fragment,null,D(),L(i)):L(i):D()},et=()=>me.createElement("div",{ref:ee,style:P,role:N,"col-id":l},V?me.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:z},Xe()):Xe());return e.isCellSpanning()?me.createElement("div",{ref:ie,className:"ag-spanned-cell-wrapper",role:"presentation"},et()):et()},ho=Ln(mo),fo=({rowCtrl:e,containerType:t})=>{const{context:s,gos:r,editSvc:n}=as(Y),l=as(Ut)==="default",a=pe(),o=pe(e.getDomOrder()),c=e.isFullWidth(),d=e.rowNode.displayed,[i,w]=fe(()=>d?e.rowNode.getRowIndexString():null),[g,m]=fe(()=>e.rowId),[P,C]=fe(()=>e.businessKey),[h,u]=fe(()=>e.rowStyles),[k,O]=fe(()=>e.getInitialCellCtrls(t)),f=pe(k),[y,B]=fe(),[E,H]=fe(()=>d?e.getInitialRowTop(t):void 0),[F,N]=fe(()=>d?e.getInitialTransform(t):void 0),p=pe(null),v=pe(),x=pe(),K=pe(!1),[b,G]=fe(0);cs(()=>{if(K.current||!y||b>10)return;const z=p.current?.firstChild;z?(e.setupDetailRowAutoHeight(z),K.current=!0):G(ge=>ge+1)},[y,b]);const A=pe();A.current||(A.current=new Hn(()=>p.current));const R=pe(()=>{}),W=os(z=>(R.current=z,()=>{R.current=()=>{}}),[]),S=js(W,()=>f.current,[]),U=l?S:k,T=os(z=>{if(p.current=z,a.current=z?s.createBean(new Un):s.destroyBean(a.current),!z){e.unsetComp(t);return}if(!e.isAlive()||s.isDestroyed())return;const ge={setTop:H,setTransform:N,toggleCss:(ee,ie)=>A.current.toggleCss(ee,ie),setDomOrder:ee=>o.current=ee,setRowIndex:w,setRowId:m,setRowBusinessKey:C,setUserStyles:u,setCellCtrls:(ee,ie)=>{const ye=f.current,ve=ct(ye,ee,o.current);ve!==ye&&(f.current=ve,l?R.current():ze(ie,()=>O(ve)))},showFullWidth:ee=>{x.current=ee.params,B(ee)},getFullWidthCellRenderer:()=>v.current,getFullWidthCellRendererParams:()=>x.current,refreshFullWidth:ee=>{const ie=ee();return x.current=ie,ue.current?(B(ye=>({...ye,params:ie})),!0):!v.current||!v.current.refresh?!1:v.current.refresh(ie)}};e.setComp(ge,z,t,a.current)},[]);Nn(()=>Ve(y,s,p.current,v),[y]);const I=is(()=>{const z={top:E,transform:F};return Object.assign(z,h),z},[E,F,h]),V=c&&y?.componentFromFramework,q=!c&&U!=null,Z=is(()=>!!(y?.componentFromFramework&&De(y.componentClass)),[y]),ue=pe(!1);cs(()=>{ue.current=Z&&!!y&&!!r.get("reactiveCustomComponents")},[Z,y]);const Le=()=>U?.map(z=>Ct.createElement(ho,{cellCtrl:z,editingCell:n?.isEditing(z,{withOpenEditor:!0})??!1,printLayout:e.printLayout,key:z.instanceId})),Me=()=>{const z=y.componentClass;return Z?Ct.createElement(z,{...y.params}):Ct.createElement(z,{...y.params,ref:v})};return Ct.createElement("div",{ref:T,role:"row",style:I,"row-index":i,"row-id":g,"row-business-key":P},q?Le():V?Me():null)},hs=Tn(fo),Co=({name:e})=>{const{context:t,gos:s}=Gn(Y),r=ft(()=>In(e),[e]),n=he(null),l=he(null),a=he(null),o=he([]),c=he([]),[d,i]=ns(()=>[]),w=!!s.get("enableCellSpan")&&!!r.getSpannedRowCtrls,g=he([]),m=he([]),[P,C]=ns(()=>[]),h=he(!1),u=he(),k=ft(()=>oe("ag-viewport",Wn(e)),[e]),O=ft(()=>oe(Dn(e)),[e]),f=ft(()=>oe("ag-spanning-container",On(e)),[e]),y=r.type==="center"||w,B=y?n:l;Fe(" AG Row Container "+e+" ",B);const E=Ne(()=>{const b=!y||n.current!=null,G=l.current!=null,A=!w||a.current!=null;return b&&G&&A},[]),H=Ne(()=>n.current==null&&l.current==null&&a.current==null,[]),F=Ne(()=>{if(H()&&(u.current=t.destroyBean(u.current)),!t.isDestroyed()&&E()){const b=R=>{const W=ct(c.current,o.current,h.current);W!==c.current&&(c.current=W,ze(R,()=>i(W)))},G=R=>{const W=ct(m.current,g.current,h.current);W!==m.current&&(m.current=W,ze(R,()=>C(W)))},A={setHorizontalScroll:R=>{n.current&&(n.current.scrollLeft=R)},setViewportHeight:R=>{n.current&&(n.current.style.height=R)},setRowCtrls:({rowCtrls:R,useFlushSync:W})=>{const S=!!W&&o.current.length>0&&R.length>0;o.current=R,b(S)},setSpannedRowCtrls:(R,W)=>{const S=!!W&&g.current.length>0&&R.length>0;g.current=R,G(S)},setDomOrder:R=>{h.current!=R&&(h.current=R,b(!1))},setContainerWidth:R=>{l.current&&(l.current.style.width=R)},setOffsetTop:R=>{l.current&&(l.current.style.transform=`translateY(${R})`)}};u.current=t.createBean(new Bn(e)),u.current.setComp(A,l.current,a.current??void 0,n.current)}},[E,H]),N=Ne(b=>{l.current=b,F()},[F]),p=Ne(b=>{a.current=b,F()},[F]),v=Ne(b=>{n.current=b,F()},[F]),x=()=>Ze.createElement("div",{className:O,ref:N,role:y?"presentation":"rowgroup"},d.map(b=>Ze.createElement(hs,{rowCtrl:b,containerType:r.type,key:b.instanceId})));if(!y)return x();const K=()=>Ze.createElement("div",{className:f,ref:p,role:"presentation"},P.map(b=>Ze.createElement(hs,{rowCtrl:b,containerType:r.type,key:b.instanceId})));return Ze.createElement("div",{className:k,ref:v,role:"rowgroup"},x(),w?K():null)},go=An(Co),yo=()=>{const e=Fr(Y),{context:t,overlays:s}=e,[r,n]=X(""),[l,a]=X(0),[o,c]=X(0),[d,i]=X("0px"),[w,g]=X("0px"),[m,P]=X("100%"),[C,h]=X("0px"),[u,k]=X("0px"),[O,f]=X("100%"),[y,B]=X(!0),[E,H]=X(!0),[F,N]=X(null),[p,v]=X(""),[x,K]=X(null),[b,G]=X("ag-layout-normal"),A=de();A.current||(A.current=new Mr(()=>R.current));const R=de(null),W=de(null),S=de(null),U=de(null),T=de(null),I=de(null),V=de(null),q=de([]),Z=de([]);Fe(" AG Grid Body ",R),Fe(" AG Pinned Top ",W),Fe(" AG Sticky Top ",S),Fe(" AG Middle ",I),Fe(" AG Pinned Bottom ",V);const ue=kr(_=>{if(R.current=_,!_||t.isDestroyed()){q.current=t.destroyBeans(q.current);for(const $ of Z.current)$();Z.current=[];return}const M=($,se)=>{$.appendChild(se),Z.current.push(()=>se.remove())},J=$=>{const se=t.createBean(new $);return q.current.push(se),se},Q=($,se,vs)=>{M($,document.createComment(vs)),M($,J(se).getGui())};Q(_,xr," AG Fake Horizontal Scroll ");const Re=s?.getOverlayWrapperCompClass();Re&&Q(_,Re," AG Overlay Wrapper "),T.current&&Q(T.current,Ar," AG Fake Vertical Scroll ");const te={setRowAnimationCssOnBodyViewport:n,setColumnCount:$=>{R.current&&Dr(R.current,$)},setRowCount:$=>{R.current&&Ir(R.current,$)},setTopHeight:a,setBottomHeight:c,setStickyTopHeight:i,setStickyTopTop:g,setStickyTopWidth:P,setTopInvisible:B,setBottomInvisible:H,setColumnMovingCss:($,se)=>A.current.toggleCss($,se),updateLayoutClasses:G,setAlwaysVerticalScrollClass:N,setPinnedTopBottomOverflowY:v,setCellSelectableCss:($,se)=>K(se?$:null),setBodyViewportWidth:$=>{I.current&&(I.current.style.width=$)},registerBodyViewportResizeListener:$=>{if(I.current){const se=Br(e,I.current,$);Z.current.push(()=>se())}},setStickyBottomHeight:h,setStickyBottomBottom:k,setStickyBottomWidth:f,setGridRootRole:$=>_.setAttribute("role",$)},xe=t.createBean(new Gr);q.current.push(xe),xe.setComp(te,_,I.current,W.current,V.current,S.current,U.current)},[]),Le=le(()=>oe("ag-root","ag-unselectable",b),[b]),Me=le(()=>oe("ag-body-viewport",r,b,F,x),[r,b,F,x]),z=le(()=>oe("ag-body",b),[b]),ge=le(()=>oe("ag-floating-top",y?"ag-invisible":null,x),[x,y]),ee=le(()=>oe("ag-sticky-top",x),[x]),ie=le(()=>oe("ag-sticky-bottom",C==="0px"?"ag-invisible":null,x),[x,C]),ye=le(()=>oe("ag-floating-bottom",E?"ag-invisible":null,x),[x,E]),ve=le(()=>({height:l,minHeight:l,overflowY:p}),[l,p]),Xe=le(()=>({height:d,top:w,width:m}),[d,w,m]),et=le(()=>({height:C,bottom:u,width:O}),[C,u,O]),D=le(()=>({height:o,minHeight:o,overflowY:p}),[o,p]),L=_=>$e.createElement(go,{name:_,key:`${_}-container`}),j=({section:_,children:M,className:J,style:Q})=>$e.createElement("div",{ref:_,className:J,role:"presentation",style:Q},M.map(L));return $e.createElement("div",{ref:ue,className:Le},$e.createElement(Fn,null),j({section:W,className:ge,style:ve,children:["topLeft","topCenter","topRight","topFullWidth"]}),$e.createElement("div",{className:z,ref:T,role:"presentation"},j({section:I,className:Me,children:["left","center","right","fullWidth"]})),j({section:S,className:ee,style:Xe,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),j({section:U,className:ie,style:et,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),j({section:V,className:ye,style:D,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))},vo=Sr(yo);import It,{forwardRef as wo,memo as Ro,useCallback as Ot,useContext as bo,useImperativeHandle as Eo,useRef as Wt}from"react";import{TabGuardClassNames as Tt,TabGuardCtrl as Po}from"ag-grid-community";var So=(e,t)=>{const{children:s,eFocusableElement:r,onTabKeyDown:n,gridCtrl:l,forceFocusOutWhenTabGuardsAreEmpty:a,isEmpty:o}=e,{context:c}=bo(Y),d=Wt(null),i=Wt(null),w=Wt(),g=u=>{const k=u==null?void 0:parseInt(u,10).toString();for(const O of[d,i])k===void 0?O.current?.removeAttribute("tabindex"):O.current?.setAttribute("tabindex",k)};Eo(t,()=>({forceFocusOutOfContainer(u){w.current?.forceFocusOutOfContainer(u)}}));const m=Ot(()=>{const u=d.current,k=i.current;if(!u&&!k||c.isDestroyed()){w.current=c.destroyBean(w.current);return}if(u&&k){const O={setTabIndex:g};w.current=c.createBean(new Po({comp:O,eTopGuard:u,eBottomGuard:k,eFocusableElement:r,onTabKeyDown:n,forceFocusOutWhenTabGuardsAreEmpty:a,focusInnerElement:f=>l.focusInnerElement(f),isEmpty:o}))}},[]),P=Ot(u=>{d.current=u,m()},[m]),C=Ot(u=>{i.current=u,m()},[m]),h=u=>{const k=u==="top"?Tt.TAB_GUARD_TOP:Tt.TAB_GUARD_BOTTOM;return It.createElement("div",{className:`${Tt.TAB_GUARD} ${k}`,role:"presentation",ref:u==="top"?P:C})};return It.createElement(It.Fragment,null,h("top"),s,h("bottom"))},ko=wo(So),Fo=Ro(ko),Mo=({context:e})=>{const[t,s]=Pe(""),[r,n]=Pe(""),[l,a]=Pe(null),[o,c]=Pe(null),[d,i]=Pe(!1),[w,g]=Pe(),m=Ie(),P=Ie(null),C=Ie(),[h,u]=Pe(null),k=Ie(()=>{}),O=Ie(),f=Ie([]),y=dt(()=>{},[]);Fe(" AG Grid ",P);const B=dt(v=>{if(P.current=v,m.current=v?e.createBean(new Pr):e.destroyBean(m.current),!v||e.isDestroyed())return;const x=m.current;k.current=x.focusInnerElement.bind(x);const K={destroyGridUi:()=>{},setRtlClass:s,forceFocusOutOfContainer:b=>{if(!b&&O.current?.isDisplayed()){O.current.forceFocusOutOfContainer(b);return}C.current?.forceFocusOutOfContainer(b)},updateLayoutClasses:n,getFocusableContainers:()=>{const b=[],G=[],A=P.current?.querySelector(".ag-root");for(const W of f.current){if(!W.isDisplayed())continue;const S=W.getFocusableContainerName();if(S==="toolbar"||S==="rowGroupToolbar"||S==="pivotToolbar"){b.push(W);continue}G.push(W)}const R=[...b];return A&&R.push({getGui:()=>A,getFocusableContainerName:()=>"gridBody"}),R.push(...G),R},setCursor:a,setUserSelect:c};x.setComp(K,v,v),i(!0)},[]);Er(()=>{const v=m.current,x=P.current;if(!w||!v||!h||!x||e.isDestroyed())return;const K=[];f.current=[],O.current=void 0;const{watermarkSelector:b,paginationSelector:G,sideBarSelector:A,statusBarSelector:R,toolbarSelector:W,gridHeaderDropZonesSelector:S}=v.getOptionalSelectors(),U=[],T=(I,V="beforeend")=>{const q=e.createBean(new I),Z=q.getGui();return x.insertAdjacentElement(V,Z),U.push(Z),K.push(q),q};if(W){const I=T(W.component,"afterbegin");f.current.push(I)}if(S){const I=e.createBean(new S.component),V=I.getGui(),q=x.querySelector(".ag-toolbar");q?q.after(V):x.prepend(V),U.push(V),K.push(I),f.current.push(...I.getFocusableContainers?.()??[])}if(A){const I=e.createBean(new A.component),V=I.getGui(),q=h.querySelector(".ag-tab-guard-bottom");q&&(q.insertAdjacentElement("beforebegin",V),U.push(V)),K.push(I),f.current.push(I)}if(R){const I=T(R.component);f.current.push(I)}if(G){const I=T(G.component);O.current=I,f.current.push(I)}return b&&T(b.component),()=>{e.destroyBeans(K),f.current=[],O.current=void 0;for(const I of U)I.remove()}},[w,h,e]);const E=kt(()=>oe("ag-root-wrapper",t,r),[t,r]),H=kt(()=>oe("ag-root-wrapper-body","ag-focus-managed",r),[r]),F=kt(()=>({userSelect:o??"",WebkitUserSelect:o??"",cursor:l??""}),[o,l]),N=dt(v=>{C.current=v,g(v!==null)},[]),p=dt(()=>!m.current?.isFocusable(),[]);return Ke.createElement("div",{ref:B,className:E,style:F,role:"presentation"},Ke.createElement("div",{className:H,ref:u,role:"presentation"},d&&h&&!e.isDestroyed()&&Ke.createElement(Y.Provider,{value:e.getBeans()},Ke.createElement(Fo,{ref:N,eFocusableElement:h,onTabKeyDown:y,gridCtrl:m.current,forceFocusOutWhenTabGuardsAreEmpty:!0,isEmpty:p},Ke.createElement(vo,null)))))},xo=br(Mo);import{BeanStub as Ao}from"ag-grid-community";var Go=class extends Ao{postConstruct(){if(this.beans.colAutosize){const e=this.queueResizeOperationsForTick.bind(this);this.addManagedEventListeners({rowExpansionStateChanged:e,expandOrCollapseAll:e,cellValueChanged:e,rowNodeDataChanged:e,rowDataUpdated:e})}}queueResizeOperationsForTick(){const e=this.beans.colAutosize;e.shouldQueueResizeOperations=!0,setTimeout(()=>{e.processResizeOperations()},0)}areHeaderCellsRendered(){return this.beans.ctrlsSvc.getHeaderRowContainerCtrls().every(e=>e.getAllCtrls().every(t=>t.areCellsRendered()))}areCellsRendered(){return this.beans.rowRenderer.getAllRowCtrls().every(e=>e.isRowRendered()&&e.getAllCellCtrls().every(t=>!!t.eGui))}};import{useEffect as Bo,useLayoutEffect as Do}from"react";var Io=typeof window>"u"?Bo:Do,fs={setGridApi:void 0,maxComponentCreationTimeMs:void 0,children:void 0},Oo={gridOptions:void 0,modules:void 0,containerStyle:void 0,className:void 0,passGridApi:void 0,componentWrappingElement:void 0,...fs},Cs=new Set(Object.keys(Oo)),Wo=new Set(Object.keys(fs)),gs=e=>{const t=vt(Pt),s=vt(St),r=t!==null,n=re(),l=re(null),a=re(null),o=re([]),c=re([]),d=re(e),i=re(),w=re(),g=re(!1),[m,P]=Ge(void 0),[,C]=Ge(0),h=re(),u=B=>{const E=l.current?.classList,H=(F="")=>F.trim().split(/\s+/g).filter(Boolean);if(h.current!==B){for(const F of H(h.current))E?.contains(F)&&E.remove(F);for(const F of H(B))E?.contains(F)||E?.add(F);h.current=B}};Io(()=>{u(e.className)},[e.className]);const k=tt(B=>{if(l.current=B,u(e.className),!B){g.current=!1;for(const G of o.current)G();o.current.length=0;return}const E=[...e.modules??[],...t??[]];s&&xs(E)?.setLicenseKey(s),a.current||(a.current=new wr(()=>C(G=>G+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),o.current.push(()=>{a.current?.destroy(),a.current=null}));const H=Ms(e.gridOptions,e,Object.keys(e).filter(G=>!Cs.has(G))),F=()=>{if(g.current){const G=()=>i.current?.shouldQueueUpdates()?void 0:c.current.shift();let A=G();for(;A;)A(),A=G()}},N=new Uo(F,r);i.current=N;const p=new Go,v={providedBeanInstances:{frameworkCompWrapper:new No(a.current,H),renderStatus:p},modules:E,frameworkOverrides:N,setThemeOnGridDiv:!0},x=G=>{P(G),G.createBean(p),o.current.push(()=>{G.destroy()}),G.getBean("ctrlsSvc").whenReady({addDestroyFunc:A=>{o.current.push(A)}},()=>{if(G.isDestroyed())return;const A=n.current;A&&e.passGridApi?.(A)})},K=G=>{G.getBean("ctrlsSvc").whenReady({addDestroyFunc:A=>{o.current.push(A)}},()=>{for(const A of c.current)A();c.current.length=0,g.current=!0})},b=new ks;H.gridId??(H.gridId=w.current),n.current=b.create(B,H,x,K,v),o.current.push(()=>{n.current=void 0}),n.current&&(w.current=n.current.getGridId())},[]),O=st(()=>({height:"100%",...e.containerStyle||{}}),[e.containerStyle]),f=tt(B=>{g.current&&!i.current?.shouldQueueUpdates()?B():c.current.push(B)},[]);Es(()=>{const B=To(d.current,e);d.current=e,f(()=>{n.current&&Is(B,n.current)})},[e]);const y=!Ae.useSyncExternalStore||rt(e,"renderingMode")==="legacy"?"legacy":"default";return Ae.createElement("div",{style:O,ref:k},Ae.createElement(Ut