Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ag-grid-react

Package Overview
Dependencies
Maintainers
0
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ag-grid-react - npm Package Compare versions

Comparing version 31.3.2 to 32.0.0

dist/types/src/reactUi/renderStatusService.d.ts

24

CONTRIBUTING.md

@@ -6,9 +6,9 @@ # Contributing to ag-grid-react

- [Question or Problem?](#question)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Submission Guidelines](#submit)
- [Coding Rules](#rules)
- [Commit Message Guidelines](#commit)
- [Signing the CLA](#cla)
- [Question or Problem?](#question)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Submission Guidelines](#submit)
- [Coding Rules](#rules)
- [Commit Message Guidelines](#commit)
- [Signing the CLA](#cla)

@@ -25,2 +25,3 @@ ## <a name="question"></a> Got a Question or Problem?

## <a name="issue"></a> Found a Bug?
If you find a bug in the source code, you can help us by

@@ -30,3 +31,4 @@ [submitting an issue](#submit-issue) to our [GitHub Repository][github].

## <a name="feature"></a> Missing a Feature?
You can *request* a new feature by [submitting an issue](#submit-issue) to our GitHub
You can _request_ a new feature by [submitting an issue](#submit-issue) to our GitHub
Repository.

@@ -42,5 +44,5 @@

- version of React used
- 3rd-party libraries and their versions
- and most importantly - a use-case that fails
- version of React used
- 3rd-party libraries and their versions
- and most importantly - a use-case that fails

@@ -47,0 +49,0 @@ A minimal reproduce scenario using http://plnkr.co/ allows us to quickly confirm a bug (or point out coding problem) as well as confirm that we are fixing the right problem. If plunker is not a suitable way to demonstrate the problem (for example for issues related to our npm packaging), please create a standalone git repository demonstrating the problem.

{
"name": "ag-grid-react",
"version": "31.3.2",
"version": "32.0.0",
"description": "AG Grid React Component",

@@ -32,8 +32,8 @@ "main": "./dist/package/index.cjs.js",

"devDependencies": {
"ag-grid-community": "31.3.2",
"ag-grid-community": "32.0.0",
"gulp": "^4.0.0",
"gulp-replace": "^1.0.0",
"prop-types": "^15.6.2",
"@types/react": "~18.0.0",
"@types/react-dom": "~18.0.0",
"@types/react": "~18.2.0",
"@types/react-dom": "~18.2.0",
"react": "^16.9.0",

@@ -44,3 +44,3 @@ "react-dom": "^16.9.0"

"prop-types": "^15.8.1",
"ag-grid-community": "31.3.2"
"ag-grid-community": "32.0.0"
},

@@ -47,0 +47,0 @@ "peerDependencies": {

{
"name": "ag-grid-react",
"version": "31.3.2",
"version": "32.0.0",
"description": "AG Grid React Component",

@@ -32,8 +32,8 @@ "main": "./src/index.js",

"devDependencies": {
"ag-grid-community": "31.3.2",
"ag-grid-community": "32.0.0",
"gulp": "^4.0.0",
"gulp-replace": "^1.0.0",
"prop-types": "^15.6.2",
"@types/react": "~18.0.0",
"@types/react-dom": "~18.0.0",
"@types/react": "~18.2.0",
"@types/react-dom": "~18.2.0",
"react": "^16.9.0",

@@ -44,3 +44,3 @@ "react-dom": "^16.9.0"

"prop-types": "^15.8.1",
"ag-grid-community": "31.3.2"
"ag-grid-community": "32.0.0"
},

@@ -47,0 +47,0 @@ "peerDependencies": {

@@ -0,12 +1,7 @@

import type { GridApi } from 'ag-grid-community';
import React, { Component } from 'react';
import { AgGridReactProps, AgReactUiProps } from './shared/interfaces';
import { ColumnApi, GridApi } from 'ag-grid-community';
export declare class AgGridReact<TData = any> extends Component<AgGridReactProps<TData> | AgReactUiProps<TData>, {}> {
import type { AgGridReactProps, AgReactUiProps } from './shared/interfaces';
export declare class AgGridReact<TData = any> extends Component<AgGridReactProps<TData> | AgReactUiProps<TData>, object> {
/** Grid Api available after onGridReady event has fired. */
api: GridApi<TData>;
/**
* @deprecated v31 - The `columnApi` has been deprecated and all the methods are now present of the `api`.
* Please use the `api` instead.
*/
columnApi: ColumnApi;
private apiListeners;

@@ -13,0 +8,0 @@ registerApiListener(listener: (api: GridApi) => void): void;

@@ -5,1 +5,2 @@ export { AgGridReact } from './agGridReact';

export * from './shared/customComp/util';
export { CustomContext as CustomComponentContext } from './shared/customComp/customContext';
import React from 'react';
import { AgGridReactProps } from '../shared/interfaces';
import type { AgGridReactProps } from '../shared/interfaces';
export declare const AgGridReactUi: <TData>(props: AgGridReactProps<TData>) => React.JSX.Element;

@@ -0,3 +1,3 @@

import type { BeanCollection } from 'ag-grid-community';
import React from 'react';
import { Beans } from 'ag-grid-community';
export declare const BeansContext: React.Context<Beans>;
export declare const BeansContext: React.Context<BeanCollection>;

@@ -1,2 +0,2 @@

import { CellCtrl, UserCompDetails } from 'ag-grid-community';
import type { CellCtrl, UserCompDetails } from 'ag-grid-community';
import React from 'react';

@@ -3,0 +3,0 @@ import { CellEditorComponentProxy } from '../../shared/customComp/cellEditorComponentProxy';

@@ -1,4 +0,4 @@

import { CellCtrl } from 'ag-grid-community';
import type { CellCtrl } from 'ag-grid-community';
import React from 'react';
import { EditDetails } from './cellComp';
import type { EditDetails } from './cellComp';
declare const _default: React.MemoExoticComponent<(props: {

@@ -5,0 +5,0 @@ editDetails: EditDetails;

@@ -1,5 +0,5 @@

import { ICellRendererComp } from 'ag-grid-community';
import { MutableRefObject } from 'react';
import { RenderDetails } from './cellComp';
import type { ICellRendererComp } from 'ag-grid-community';
import type { MutableRefObject } from 'react';
import type { RenderDetails } from './cellComp';
declare const useJsCellRenderer: (showDetails: RenderDetails | undefined, showTools: boolean, eCellValue: HTMLElement | undefined, cellValueVersion: number, jsCellRendererRef: MutableRefObject<ICellRendererComp | undefined>, eGui: MutableRefObject<any>) => void;
export default useJsCellRenderer;

@@ -1,4 +0,4 @@

import React from "react";
import { WrapperParams } from "../../shared/customComp/customComponentWrapper";
import React from 'react';
import type { WrapperParams } from '../../shared/customComp/customComponentWrapper';
declare const _default: React.MemoExoticComponent<(<P, M>(params: WrapperParams<P, M>) => React.JSX.Element)>;
export default _default;

@@ -1,2 +0,2 @@

import { Context } from 'ag-grid-community';
import type { Context } from 'ag-grid-community';
import React from 'react';

@@ -3,0 +3,0 @@ interface GridCompProps {

@@ -0,3 +1,3 @@

import type { HeaderCellCtrl } from 'ag-grid-community';
import React from 'react';
import { HeaderCellCtrl } from 'ag-grid-community';
declare const _default: React.MemoExoticComponent<(props: {

@@ -4,0 +4,0 @@ ctrl: HeaderCellCtrl;

@@ -0,3 +1,3 @@

import type { HeaderFilterCellCtrl } from 'ag-grid-community';
import React from 'react';
import { HeaderFilterCellCtrl } from 'ag-grid-community';
declare const _default: React.MemoExoticComponent<(props: {

@@ -4,0 +4,0 @@ ctrl: HeaderFilterCellCtrl;

@@ -1,2 +0,2 @@

import { HeaderGroupCellCtrl } from 'ag-grid-community';
import type { HeaderGroupCellCtrl } from 'ag-grid-community';
import React from 'react';

@@ -3,0 +3,0 @@ declare const _default: React.MemoExoticComponent<(props: {

@@ -1,2 +0,2 @@

import { HeaderRowCtrl } from 'ag-grid-community';
import type { HeaderRowCtrl } from 'ag-grid-community';
import React from 'react';

@@ -3,0 +3,0 @@ declare const _default: React.MemoExoticComponent<(props: {

@@ -0,3 +1,3 @@

import type { ColumnPinnedType } from 'ag-grid-community';
import React from 'react';
import { ColumnPinnedType } from 'ag-grid-community';
declare const _default: React.MemoExoticComponent<(props: {

@@ -4,0 +4,0 @@ pinned: ColumnPinnedType;

@@ -1,3 +0,3 @@

import { Context, UserCompDetails } from 'ag-grid-community';
import { MutableRefObject } from 'react';
import type { Context, UserCompDetails } from 'ag-grid-community';
import type { MutableRefObject } from 'react';
/**

@@ -7,3 +7,2 @@ * Show a JS Component

*/
export declare const showJsComp: (compDetails: UserCompDetails | undefined | null, context: Context, eParent: HTMLElement, ref?: MutableRefObject<any> | ((ref: any) => void) | undefined) => (() => void) | undefined;
export declare const createSyncJsComp: (compDetails: UserCompDetails) => any;
export declare const showJsComp: (compDetails: UserCompDetails | undefined | null, context: Context, eParent: HTMLElement, ref?: MutableRefObject<any> | ((ref: any) => void)) => (() => void) | undefined;

@@ -1,3 +0,3 @@

import { RefObject } from 'react';
import type { RefObject } from 'react';
declare const useReactCommentEffect: (comment: string, eForCommentRef: RefObject<HTMLElement>) => void;
export default useReactCommentEffect;

@@ -0,3 +1,3 @@

import type { RowContainerType, RowCtrl } from 'ag-grid-community';
import React from 'react';
import { RowContainerType, RowCtrl } from 'ag-grid-community';
declare const _default: React.MemoExoticComponent<(params: {

@@ -4,0 +4,0 @@ rowCtrl: RowCtrl;

@@ -1,2 +0,2 @@

import { RowContainerName } from 'ag-grid-community';
import type { RowContainerName } from 'ag-grid-community';
import React from 'react';

@@ -3,0 +3,0 @@ declare const _default: React.MemoExoticComponent<(params: {

@@ -0,3 +1,3 @@

import type { GridCtrl } from 'ag-grid-community';
import React from 'react';
import { GridCtrl } from 'ag-grid-community';
export interface TabGuardCompCallback {

@@ -4,0 +4,0 @@ forceFocusOutOfContainer(up?: boolean): void;

@@ -9,2 +9,3 @@ export declare const classesList: (...list: (string | null | undefined)[]) => string;

export declare const isComponentStateless: (Component: any) => boolean;
export declare function isReact17Minus(): boolean;
/** Enable flushSync to be disabled for the callback and the next frame (via setTimeout 0) to prevent flushSync during an existing render.

@@ -11,0 +12,0 @@ * Provides an alternative to the more fine grained useFlushSync boolean param to agFlushSync.

@@ -1,3 +0,4 @@

import { AgPromise, ICellEditor, ICellEditorParams } from "ag-grid-community";
import { CustomCellEditorCallbacks, CustomCellEditorProps } from "./interfaces";
import type { ICellEditor, ICellEditorParams } from 'ag-grid-community';
import { AgPromise } from 'ag-grid-community';
import type { CustomCellEditorCallbacks, CustomCellEditorProps } from './interfaces';
export declare class CellEditorComponentProxy implements ICellEditor {

@@ -4,0 +5,0 @@ private cellEditorParams;

@@ -1,3 +0,3 @@

import { AgPromise } from "ag-grid-community";
import { ReactComponent } from "../reactComponent";
import { AgPromise } from 'ag-grid-community';
import { ReactComponent } from '../reactComponent';
export type WrapperParams<P, M> = {

@@ -4,0 +4,0 @@ initialProps: P;

@@ -1,4 +0,4 @@

import { IDate, IDateParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomDateProps, CustomDateCallbacks } from "./interfaces";
import type { IDate, IDateParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomDateCallbacks, CustomDateProps } from './interfaces';
export declare class DateComponentWrapper extends CustomComponentWrapper<IDateParams, CustomDateProps, CustomDateCallbacks> implements IDate {

@@ -5,0 +5,0 @@ private date;

@@ -1,4 +0,4 @@

import { AgPromise, IDoesFilterPassParams, IFilter, IFilterParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomFilterProps, CustomFilterCallbacks } from "./interfaces";
import type { AgPromise, IDoesFilterPassParams, IFilter, IFilterParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomFilterCallbacks, CustomFilterProps } from './interfaces';
export declare class FilterComponentWrapper extends CustomComponentWrapper<IFilterParams, CustomFilterProps, CustomFilterCallbacks> implements IFilter {

@@ -8,2 +8,3 @@ private model;

private readonly onUiChange;
private expectingNewMethods;
isFilterActive(): boolean;

@@ -15,4 +16,5 @@ doesFilterPass(params: IDoesFilterPassParams<any>): boolean;

protected getOptionalMethods(): string[];
protected setMethods(methods: CustomFilterCallbacks): void;
private updateModel;
protected getProps(): CustomFilterProps;
}

@@ -1,3 +0,3 @@

import { IFloatingFilter, IFloatingFilterParams } from "ag-grid-community";
import { CustomFloatingFilterProps, CustomFloatingFilterCallbacks } from "./interfaces";
import type { IFloatingFilter, IFloatingFilterParams } from 'ag-grid-community';
import type { CustomFloatingFilterCallbacks, CustomFloatingFilterProps } from './interfaces';
export declare function updateFloatingFilterParent(params: IFloatingFilterParams, model: any): void;

@@ -4,0 +4,0 @@ export declare class FloatingFilterComponentProxy implements IFloatingFilter {

@@ -1,4 +0,4 @@

import { IFloatingFilter, IFloatingFilterParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomFloatingFilterProps, CustomFloatingFilterCallbacks } from "./interfaces";
import type { IFloatingFilter, IFloatingFilterParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomFloatingFilterCallbacks, CustomFloatingFilterProps } from './interfaces';
export declare class FloatingFilterComponentWrapper extends CustomComponentWrapper<IFloatingFilterParams, CustomFloatingFilterProps, CustomFloatingFilterCallbacks> implements IFloatingFilter {

@@ -5,0 +5,0 @@ private model;

@@ -1,2 +0,2 @@

import { BaseCellEditor, BaseDate, BaseDateParams, BaseFilter, BaseFilterParams, BaseFloatingFilter, BaseMenuItem, BaseMenuItemParams, BaseToolPanelParams, ICellEditorParams, ICellRendererParams, IDetailCellRendererParams, IFilter, IFloatingFilterParams, IGroupCellRendererParams, IHeaderGroupParams, IHeaderParams, ILoadingCellRendererParams, ILoadingOverlayParams, INoRowsOverlayParams, IStatusPanelParams, ITooltipParams } from "ag-grid-community";
import type { BaseCellEditor, BaseDate, BaseDateParams, BaseFilter, BaseFilterParams, BaseFloatingFilter, BaseMenuItem, BaseMenuItemParams, BaseToolPanelParams, ICellEditorParams, ICellRendererParams, IDetailCellRendererParams, IFilter, IFloatingFilterParams, IGroupCellRendererParams, IHeaderGroupParams, IHeaderParams, ILoadingCellRendererParams, ILoadingOverlayParams, INoRowsOverlayParams, IStatusPanelParams, ITooltipParams } from 'ag-grid-community';
/** Props provided to custom cell editor components */

@@ -63,3 +63,3 @@ export interface CustomCellEditorProps<TData = any, TValue = any, TContext = any> extends ICellEditorParams<TData, TValue, TContext> {

}
/** Props provided to custom no rows overlay component */
/** Props provided to custom no-rows overlay component */
export interface CustomNoRowsOverlayProps<TData = any, TContext = any> extends INoRowsOverlayParams<TData, TContext> {

@@ -93,6 +93,2 @@ }

export interface CustomCellEditorCallbacks extends BaseCellEditor {
/** @deprecated v27 Use `colDef.cellEditorPopup` instead. */
isPopup?(): boolean;
/** @deprecated v27 Use `colDef.cellEditorPopupPosition` instead. */
getPopupPosition?(): 'over' | 'under' | undefined;
}

@@ -99,0 +95,0 @@ /** Callbacks for custom date components */

@@ -1,6 +0,6 @@

import { ILoadingOverlay, ILoadingOverlayParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomLoadingOverlayProps } from "./interfaces";
export declare class LoadingOverlayComponentWrapper extends CustomComponentWrapper<ILoadingOverlayParams, CustomLoadingOverlayProps, {}> implements ILoadingOverlay {
import type { ILoadingOverlay, ILoadingOverlayParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomLoadingOverlayProps } from './interfaces';
export declare class LoadingOverlayComponentWrapper extends CustomComponentWrapper<ILoadingOverlayParams, CustomLoadingOverlayProps, object> implements ILoadingOverlay {
refresh(params: ILoadingOverlayParams): void;
}

@@ -1,4 +0,4 @@

import { IMenuItem, IMenuItemParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomMenuItemProps, CustomMenuItemCallbacks } from "./interfaces";
import type { IMenuItem, IMenuItemParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomMenuItemCallbacks, CustomMenuItemProps } from './interfaces';
export declare class MenuItemComponentWrapper extends CustomComponentWrapper<IMenuItemParams, CustomMenuItemProps, CustomMenuItemCallbacks> implements IMenuItem {

@@ -5,0 +5,0 @@ private active;

@@ -1,6 +0,6 @@

import { INoRowsOverlay, INoRowsOverlayParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomNoRowsOverlayProps } from "./interfaces";
export declare class NoRowsOverlayComponentWrapper extends CustomComponentWrapper<INoRowsOverlayParams, CustomNoRowsOverlayProps, {}> implements INoRowsOverlay {
import type { INoRowsOverlay, INoRowsOverlayParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomNoRowsOverlayProps } from './interfaces';
export declare class NoRowsOverlayComponentWrapper extends CustomComponentWrapper<INoRowsOverlayParams, CustomNoRowsOverlayProps, object> implements INoRowsOverlay {
refresh(params: INoRowsOverlayParams): void;
}

@@ -1,6 +0,6 @@

import { IStatusPanel, IStatusPanelParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomStatusPanelProps } from "./interfaces";
export declare class StatusPanelComponentWrapper extends CustomComponentWrapper<IStatusPanelParams, CustomStatusPanelProps, {}> implements IStatusPanel {
import type { IStatusPanel, IStatusPanelParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomStatusPanelProps } from './interfaces';
export declare class StatusPanelComponentWrapper extends CustomComponentWrapper<IStatusPanelParams, CustomStatusPanelProps, object> implements IStatusPanel {
refresh(params: IStatusPanelParams): boolean;
}

@@ -1,5 +0,5 @@

import { IToolPanel, IToolPanelParams } from "ag-grid-community";
import { CustomComponentWrapper } from "./customComponentWrapper";
import { CustomToolPanelProps } from "./interfaces";
export declare class ToolPanelComponentWrapper extends CustomComponentWrapper<IToolPanelParams, CustomToolPanelProps, {}> implements IToolPanel {
import type { IToolPanel, IToolPanelParams } from 'ag-grid-community';
import { CustomComponentWrapper } from './customComponentWrapper';
import type { CustomToolPanelProps } from './interfaces';
export declare class ToolPanelComponentWrapper extends CustomComponentWrapper<IToolPanelParams, CustomToolPanelProps, object> implements IToolPanel {
private state;

@@ -6,0 +6,0 @@ private readonly onStateChange;

@@ -1,2 +0,2 @@

import { ICellEditor, IFilter, IStatusPanel, IToolPanel } from "ag-grid-community";
import type { ICellEditor, IFilter, IStatusPanel, IToolPanel } from 'ag-grid-community';
/**

@@ -3,0 +3,0 @@ * Function to retrieve the React component from an instance returned by the grid.

@@ -1,8 +0,2 @@

import { ColumnApi, GridApi, GridOptions, ICellEditor, ICellRenderer, IDate, IFilter, IFloatingFilter, IHeader, IHeaderGroup, ILoadingOverlay, INoRowsOverlay, IStatusPanel, IToolPanel, Module } from 'ag-grid-community';
/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */
export declare enum ChangeDetectionStrategyType {
IdentityCheck = "IdentityCheck",
DeepValueCheck = "DeepValueCheck",
NoCheck = "NoCheck"
}
import type { GridApi, GridOptions, ICellEditor, ICellRenderer, IDate, IFilter, IFloatingFilter, IHeader, IHeaderGroup, ILoadingOverlay, INoRowsOverlay, IStatusPanel, IToolPanel, Module } from 'ag-grid-community';
export interface SharedProps<TData = any> extends GridOptions<TData> {

@@ -17,3 +11,3 @@ gridOptions?: GridOptions<TData>;

className?: string;
setGridApi?: (gridApi: GridApi<TData>, columnApi: ColumnApi) => void;
setGridApi?: (gridApi: GridApi<TData>) => void;
componentWrappingElement?: string;

@@ -34,3 +28,3 @@ maxComponentCreationTimeMs?: number;

/** @deprecated v31.1 Apply styling directly to `.ag-react-container` if needed */
getReactContainerStyle?: () => {};
getReactContainerStyle?: () => object;
/** @deprecated v31.1 Apply styling directly to `.ag-react-container` if needed */

@@ -37,0 +31,0 @@ getReactContainerClasses?: () => string[];

@@ -1,5 +0,4 @@

import { ReactPortal } from "react";
import { ReactComponent } from "./reactComponent";
import type { ReactPortal } from 'react';
import type { ReactComponent } from './reactComponent';
export declare class PortalManager {
private static MAX_COMPONENT_CREATION_TIME_IN_MS;
private refresher;

@@ -6,0 +5,0 @@ private wrappingElement;

@@ -1,4 +0,5 @@

import { ReactPortal } from 'react';
import { AgPromise, ComponentType, IComponent, WrappableInterface } from 'ag-grid-community';
import { PortalManager } from './portalManager';
import type { ComponentType, IComponent, WrappableInterface } from 'ag-grid-community';
import { AgPromise } from 'ag-grid-community';
import type { ReactPortal } from 'react';
import type { PortalManager } from './portalManager';
export declare class ReactComponent implements IComponent<any>, WrappableInterface {

@@ -37,3 +38,3 @@ protected eParentElement: HTMLElement;

callMethod(name: string, args: IArguments): void;
addMethod(name: string, callback: Function): void;
addMethod(name: string, callback: (...args: any[]) => any): void;
init(params: any): AgPromise<void>;

@@ -43,5 +44,3 @@ private createOrUpdatePortal;

private createReactComponent;
isNullValue(): boolean;
rendered(): boolean;
private valueRenderedIsNull;
protected refreshComponent(args: any): void;

@@ -48,0 +47,0 @@ protected fallbackMethod(name: string, params: any): any;

@@ -1,1 +0,1 @@

(function(ke,Ge){typeof exports=="object"&&typeof module=="object"?module.exports=Ge(require("ag-grid-community"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define("AgGridReact",["ag-grid-community","react","react-dom"],Ge):typeof exports=="object"?exports.AgGridReact=Ge(require("ag-grid-community"),require("react"),require("react-dom")):ke.AgGridReact=Ge(ke["ag-grid-community"],ke.react,ke["react-dom"])})(this,(ke,Ge,us)=>{var Ye={},Ae={exports:Ye},Ot=Object.create,Le=Object.defineProperty,It=Object.getOwnPropertyDescriptor,kt=Object.getOwnPropertyNames,Gt=Object.getPrototypeOf,At=Object.prototype.hasOwnProperty,Tt=(e,t)=>{for(var r in t)Le(e,r,{get:t[r],enumerable:!0})},ot=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of kt(t))!At.call(e,n)&&n!==r&&Le(e,n,{get:()=>t[n],enumerable:!(s=It(t,n))||s.enumerable});return e},te=(e,t,r)=>(r=e!=null?Ot(Gt(e)):{},ot(t||!e||!e.__esModule?Le(r,"default",{value:e,enumerable:!0}):r,e)),Nt=e=>ot(Le({},"__esModule",{value:!0}),e),at={};Tt(at,{AgGridReact:()=>ss,ChangeDetectionStrategyType:()=>St,getInstance:()=>Er,useGridCellEditor:()=>ns,useGridDate:()=>os,useGridFilter:()=>as,useGridFloatingFilter:()=>ls,useGridMenuItem:()=>cs,warnReactiveCustomComponents:()=>ze}),Ae.exports=Nt(at);var lt=te(require("react"),1),Re=require("ag-grid-community"),T=te(require("react"),1),Je=require("ag-grid-community"),Te=te(require("react"),1),xt=require("react"),ct=require("react"),Ne=require("ag-grid-community"),Dt=require("react-dom"),Bt=require("react-dom/server"),Wt=require("ag-grid-community"),Ht=te(require("react"),1),Ze=te(require("react-dom"),1),it=require("ag-grid-community"),N=te(require("react"),1),Lt=require("ag-grid-community"),U=te(require("react"),1),z=require("ag-grid-community"),E=te(require("react"),1),de=te(require("react"),1),Ut=require("ag-grid-community"),le=te(require("react"),1),qt=require("ag-grid-community"),ut=require("ag-grid-community"),ce=te(require("react"),1),oe=te(require("react"),1),Xe=require("ag-grid-community"),Q=te(require("react"),1),D=te(require("react"),1),Vt=require("ag-grid-community"),dt=require("ag-grid-community"),jt=require("react"),Ee=require("ag-grid-community"),J=te(require("react"),1),x=te(require("react"),1),Kt=require("ag-grid-community"),Ue=require("ag-grid-community"),f=te(require("react"),1),zt=require("ag-grid-community"),xe=te(require("react"),1),$t=require("react-dom"),Me=require("react"),qe=require("react"),Yt=require("ag-grid-community"),me=te(require("react"),1),Ve=require("ag-grid-community"),Jt=require("react"),Zt=Object.defineProperty,Xt=Object.defineProperties,Qt=Object.getOwnPropertyDescriptors,mt=Object.getOwnPropertySymbols,er=Object.prototype.hasOwnProperty,tr=Object.prototype.propertyIsEnumerable,pt=(e,t,r)=>t in e?Zt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,V=(e,t)=>{for(var r in t||(t={}))er.call(t,r)&&pt(e,r,t[r]);if(mt)for(var r of mt(t))tr.call(t,r)&&pt(e,r,t[r]);return e},ie=(e,t)=>Xt(e,Qt(t)),je=(0,xt.createContext)({setMethods:()=>{}}),rr=e=>{const{initialProps:t,addUpdateCallback:r,CustomComponentClass:s,setMethods:n}=e,[o,c]=(0,Te.useState)(t);return(0,Te.useEffect)(()=>{r(a=>c(a))},[]),Te.default.createElement(je.Provider,{value:{setMethods:n}},Te.default.createElement(s,V({},o)))},sr=(0,Te.memo)(rr),nr=0;function ft(){return`agPortalKey_${++nr}`}var Ct=class{constructor(e,t,r,s){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=r,this.suppressFallbackMethods=!!s,this.statelessComponent=this.isStateless(this.reactComponent),this.key=ft(),this.portalKey=ft(),this.instanceCreated=this.isStatelessComponent()?Ne.AgPromise.resolve(!1):new Ne.AgPromise(n=>{this.resolveInstanceCreated=n})}getGui(){return this.eParentElement}getRootElement(){return this.eParentElement.firstChild}destroy(){return this.componentInstance&&typeof this.componentInstance.destroy=="function"&&this.componentInstance.destroy(),this.portalManager.destroyPortal(this.portal)}createParentElement(e){const t=this.portalManager.getComponentWrappingElement(),r=document.createElement(t||"div");return r.classList.add("ag-react-container"),e.reactContainer=r,r}addParentContainerStyleAndClasses(){this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&(Ne._.warnOnce('Since v31.1 "getReactContainerStyle" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),Object.assign(this.eParentElement.style,this.componentInstance.getReactContainerStyle())),this.componentInstance.getReactContainerClasses&&this.componentInstance.getReactContainerClasses()&&(Ne._.warnOnce('Since v31.1 "getReactContainerClasses" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),this.componentInstance.getReactContainerClasses().forEach(t=>this.eParentElement.classList.add(t))))}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 r=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!r){setTimeout(()=>this.callMethod(e,t));return}const s=r[e];if(s)return s.apply(r,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.params=e,this.createOrUpdatePortal(e),new Ne.AgPromise(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{var r;this.componentInstance=t,this.addParentContainerStyleAndClasses(),(r=this.resolveInstanceCreated)==null||r.call(this,!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,ie(V({},e),{key:this.key})),this.portal=(0,Dt.createPortal)(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return(0,ct.createElement)(e,t)}createReactComponent(e){this.portalManager.mountReactPortal(this.portal,this,t=>{e(t)})}isNullValue(){return this.valueRenderedIsNull(this.params)}rendered(){return this.isStatelessComponent()&&this.statelessComponentRendered()||!!(!this.isStatelessComponent()&&this.getFrameworkComponentInstance())}valueRenderedIsNull(e){if(!this.componentType.cellRenderer)return!1;const t=console.error;try{return console.error=()=>{},(0,Bt.renderToStaticMarkup)((0,ct.createElement)(this.reactComponent,e))===""}catch{}finally{console.error=t}return!1}refreshComponent(e){this.oldPortal=this.portal,this.createOrUpdatePortal(e),this.portalManager.updateReactPortal(this.oldPortal,this.portal)}fallbackMethod(e,t){const r=this[`${e}Component`];if(!this.suppressFallbackMethods&&r)return r.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function Qe(e,t,r){e.forEach(s=>{const n=t[s];n&&(r[s]=n)})}var Pe=class extends Ct{constructor(){super(...arguments),this.awaitUpdateCallback=new Je.AgPromise(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=sr}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:r=>this.setMethods(r),addUpdateCallback:r=>{this.updateCallback=()=>(r(this.getProps()),new Je.AgPromise(s=>{setTimeout(()=>{s()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,Qe(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return ie(V({},this.sourceParams),{key:this.key,ref:this.ref})}refreshProps(){return this.updateCallback?this.updateCallback():new Je.AgPromise(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},or=class extends Pe{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}},ar=class extends Pe{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterChangedCallback()}isFilterActive(){return this.model!=null}doesFilterPass(e){return this.providedMethods.doesFilterPass(e)}getModel(){return this.model}setModel(e){return this.model=e,this.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getOptionalMethods(){return["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}updateModel(e){this.setModel(e).then(()=>this.sourceParams.filterChangedCallback())}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,delete e.filterModifiedCallback,delete e.valueGetter,e}};function ht(e,t){e.parentFilterInstance(r=>{(r.setModel(t)||Wt.AgPromise.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var lr=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=r=>this.updateModel(r)}getProps(){return ie(V({},this.floatingFilterParams),{model:this.model,onModelChange:this.onModelChange})}onParentModelChanged(e){this.model=e,this.refreshProps()}refresh(e){this.floatingFilterParams=e,this.refreshProps()}setMethods(e){Qe(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),ht(this.floatingFilterParams,e)}},cr=class extends Pe{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(),ht(this.sourceParams,e)}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},ir=class extends Pe{refresh(e){this.sourceParams=e,this.refreshProps()}},ur=class extends Pe{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}},dr=class extends Pe{refresh(e){this.sourceParams=e,this.refreshProps()}},mr=class extends Pe{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},pr=class extends Pe{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}},gt=class Mt{constructor(t,r,s){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=r||"div",this.refresher=t,this.maxComponentCreationTimeMs=s||Mt.MAX_COMPONENT_CREATION_TIME_IN_MS}getPortals(){return this.portals}destroy(){this.destroyed=!0}destroyPortal(t){this.portals=this.portals.filter(r=>r!==t),this.batchUpdate()}getComponentWrappingElement(){return this.wrappingElement}mountReactPortal(t,r,s){this.portals=[...this.portals,t],this.waitForInstance(r,s),this.batchUpdate()}updateReactPortal(t,r){this.portals[this.portals.indexOf(t)]=r,this.batchUpdate()}batchUpdate(){this.hasPendingPortalUpdate||(setTimeout(()=>{this.destroyed||(this.refresher(),this.hasPendingPortalUpdate=!1)}),this.hasPendingPortalUpdate=!0)}waitForInstance(t,r,s=Date.now()){if(this.destroyed){r(null);return}if(t.rendered())r(t);else{if(Date.now()-s>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate){if(t.isNullValue()){r(t);return}console.error(`AG Grid: React Component '${t.getReactComponentName()}' not created within ${this.maxComponentCreationTimeMs}ms.`),console.error(" If the component is using `forwardRef` but not `useImperativeHandle`, add the following: `useImperativeHandle(ref, () => ({}));`");return}window.setTimeout(()=>{this.waitForInstance(t,r,s)})}}};gt.MAX_COMPONENT_CREATION_TIME_IN_MS=1e3;var fr=gt,ue=Ht.default.createContext({}),Ce=(...e)=>e.filter(r=>r!=null&&r!=="").join(" "),pe=class Ft{constructor(...t){this.classesMap={},t.forEach(r=>{this.classesMap[r]=!0})}setClass(t,r){if(!!this.classesMap[t]==r)return this;const n=new Ft;return n.classesMap=V({},this.classesMap),n.classesMap[t]=r,n}toString(){return Object.keys(this.classesMap).filter(r=>this.classesMap[r]).join(" ")}},Fe=e=>{const t=()=>typeof Symbol=="function"&&Symbol.for,r=()=>t()?Symbol.for("react.memo"):60115;return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===r()},Cr=Ze.default.createRoot!=null&&Ze.default.flushSync!=null,Ke=!1;function hr(e){return Ke||setTimeout(()=>Ke=!1,0),Ke=!0,e()}var et=(e,t)=>{Cr&&e&&!Ke?Ze.default.flushSync(t):t()};function tt(e,t,r){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(r||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;const s=[],n=[],o=new Map,c=new Map;for(let a=0;a<t.length;a++){const l=t[a];c.set(l.getInstanceId(),l)}for(let a=0;a<e.length;a++){const l=e[a];o.set(l.getInstanceId(),l),c.has(l.getInstanceId())&&s.push(l)}for(let a=0;a<t.length;a++){const l=t[a],d=l.getInstanceId();o.has(d)||n.push(l)}return s.length===e.length&&n.length===0?e:s.length===0&&n.length===t.length?t:s.length===0?n:n.length===0?s:[...s,...n]}var De=(e,t,r,s)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;const o=e.newAgStackInstance();if(!o)return;let c,a,l=!1;return o.then(d=>{if(l){t.destroyBean(d);return}c=d,a=c.getGui(),r.appendChild(a),Rt(s,c)}),()=>{l=!0,c&&(a&&a.parentElement&&a.parentElement.removeChild(a),t.destroyBean(c),s&&Rt(s,void 0))}},Rt=(e,t)=>{if(e)if(e instanceof Function)e(t);else{const r=e;r.current=t}},gr=e=>{const t=e.newAgStackInstance();if(t)return t.resolveNow(null,r=>r)},vt=(0,N.forwardRef)((e,t)=>{var r;const s=(0,N.useContext)(ue).context,n=(0,N.useRef)(null),o=(0,N.useRef)(null),c=(0,N.useRef)(null),a=(0,N.useRef)(null),l=(0,N.useRef)(null),d=(0,N.useRef)(),[i,u]=(0,N.useState)(),[g,P]=(0,N.useState)(),[v,h]=(0,N.useState)(),[m,p]=(0,N.useState)(()=>new pe),[C,_]=(0,N.useState)(()=>new pe("ag-hidden")),[y,S]=(0,N.useState)(()=>new pe("ag-hidden")),[B,w]=(0,N.useState)(()=>new pe("ag-invisible"));(0,N.useImperativeHandle)(t,()=>({refresh(){return!1}})),(0,N.useLayoutEffect)(()=>De(i,s,o.current),[i]);const j=(0,N.useCallback)(H=>{if(n.current=H,!n.current){s.destroyBean(d.current),d.current=null;return}const W={setInnerRenderer:(M,k)=>{u(M),h(k)},setChildCount:M=>P(M),addOrRemoveCssClass:(M,k)=>p(Z=>Z.setClass(M,k)),setContractedDisplayed:M=>S(k=>k.setClass("ag-hidden",!M)),setExpandedDisplayed:M=>_(k=>k.setClass("ag-hidden",!M)),setCheckboxVisible:M=>w(k=>k.setClass("ag-invisible",!M))};d.current=s.createBean(new it.GroupCellRendererCtrl),d.current.init(W,n.current,c.current,a.current,l.current,vt,e)},[]),R=(0,N.useMemo)(()=>`ag-cell-wrapper ${m.toString()}`,[m]),F=(0,N.useMemo)(()=>`ag-group-expanded ${C.toString()}`,[C]),O=(0,N.useMemo)(()=>`ag-group-contracted ${y.toString()}`,[y]),I=(0,N.useMemo)(()=>`ag-group-checkbox ${B.toString()}`,[B]),b=i&&i.componentFromFramework,$=b?i.componentClass:void 0,K=i==null&&v!=null,Y=it._.escapeString(v,!0);return N.default.createElement("span",V({className:R,ref:j},e.colDef?{}:{role:(r=d.current)==null?void 0:r.getCellAriaRole()}),N.default.createElement("span",{className:F,ref:a}),N.default.createElement("span",{className:O,ref:l}),N.default.createElement("span",{className:I,ref:c}),N.default.createElement("span",{className:"ag-group-value",ref:o},K&&N.default.createElement(N.default.Fragment,null,Y),b&&N.default.createElement($,V({},i.params))),N.default.createElement("span",{className:"ag-group-child-count"},g))}),yt=vt,Rr=e=>{const{ctrl:t}=e,r=t.isAlive(),{context:s}=(0,oe.useContext)(ue),n=r?t.getColId():void 0,[o,c]=(0,oe.useState)(),a=(0,oe.useRef)(null),l=(0,oe.useRef)(null),d=(0,oe.useRef)(null),i=(0,oe.useRef)();let u=(0,oe.useRef)();r&&!u.current&&(u.current=new Xe.CssClassManager(()=>a.current));const g=(0,oe.useCallback)(m=>{var p;if(a.current=m,!a.current||!r)return;const C={setWidth:y=>{a.current&&(a.current.style.width=y)},addOrRemoveCssClass:(y,S)=>u.current.addOrRemoveCssClass(y,S),setAriaSort:y=>{a.current&&(y?Xe._.setAriaSort(a.current,y):Xe._.removeAriaSort(a.current))},setUserCompDetails:y=>c(y),getUserCompInstance:()=>i.current||void 0};t.setComp(C,a.current,l.current,d.current);const _=t.getSelectAllGui();(p=l.current)==null||p.insertAdjacentElement("afterend",_)},[]);(0,oe.useLayoutEffect)(()=>De(o,s,d.current,i),[o]),(0,oe.useEffect)(()=>{t.setDragSource(a.current)},[o]);const P=(0,oe.useMemo)(()=>!!(o?.componentFromFramework&&Fe(o.componentClass)),[o]),v=o&&o.componentFromFramework,h=o&&o.componentClass;return oe.default.createElement("div",{ref:g,className:"ag-header-cell","col-id":n,role:"columnheader"},oe.default.createElement("div",{ref:l,className:"ag-header-cell-resize",role:"presentation"}),oe.default.createElement("div",{ref:d,className:"ag-header-cell-comp-wrapper",role:"presentation"},v&&P&&oe.default.createElement(h,V({},o.params)),v&&!P&&oe.default.createElement(h,ie(V({},o.params),{ref:i}))))},vr=(0,oe.memo)(Rr),yr=e=>{const{context:t}=(0,Q.useContext)(ue),{ctrl:r}=e,[s,n]=(0,Q.useState)(()=>new pe),[o,c]=(0,Q.useState)(()=>new pe),[a,l]=(0,Q.useState)("false"),[d,i]=(0,Q.useState)(),[u,g]=(0,Q.useState)(),P=(0,Q.useMemo)(()=>r.getColId(),[]),v=(0,Q.useRef)(null),h=(0,Q.useRef)(null),m=(0,Q.useRef)(),p=(0,Q.useCallback)(w=>{if(v.current=w,!v.current)return;const j={setWidth:R=>{v.current&&(v.current.style.width=R)},addOrRemoveCssClass:(R,F)=>n(O=>O.setClass(R,F)),setUserCompDetails:R=>g(R),setResizableDisplayed:R=>{c(F=>F.setClass("ag-hidden",!R)),l(R?"false":"true")},setAriaExpanded:R=>i(R),getUserCompInstance:()=>m.current||void 0};r.setComp(j,v.current,h.current)},[]);(0,Q.useLayoutEffect)(()=>De(u,t,v.current),[u]),(0,Q.useEffect)(()=>{v.current&&r.setDragSource(v.current)},[u]);const C=(0,Q.useMemo)(()=>!!(u?.componentFromFramework&&Fe(u.componentClass)),[u]),_=(0,Q.useMemo)(()=>"ag-header-group-cell "+s.toString(),[s]),y=(0,Q.useMemo)(()=>"ag-header-cell-resize "+o.toString(),[o]),S=u&&u.componentFromFramework,B=u&&u.componentClass;return Q.default.createElement("div",{ref:p,className:_,"col-id":P,role:"columnheader","aria-expanded":d},S&&C&&Q.default.createElement(B,V({},u.params)),S&&!C&&Q.default.createElement(B,ie(V({},u.params),{ref:m})),Q.default.createElement("div",{ref:h,"aria-hidden":a,className:y}))},wr=(0,Q.memo)(yr);function Er(e,t){var r,s;((s=(r=e?.getInstance)==null?void 0:r.call(e))!=null?s:dt.AgPromise.resolve(void 0)).then(o=>t(o))}function ze(){dt._.warnOnce("Using custom components without `reactiveCustomComponents = true` is deprecated.")}var Pr=e=>{const{context:t,gos:r}=(0,D.useContext)(ue),[s,n]=(0,D.useState)(()=>new pe("ag-header-cell","ag-floating-filter")),[o,c]=(0,D.useState)(()=>new pe),[a,l]=(0,D.useState)(()=>new pe("ag-floating-filter-button","ag-hidden")),[d,i]=(0,D.useState)("false"),[u,g]=(0,D.useState)(),[P,v]=(0,D.useState)(1),h=(0,D.useRef)(null),m=(0,D.useRef)(null),p=(0,D.useRef)(null),C=(0,D.useRef)(null),_=(0,D.useRef)(),y=(0,D.useRef)(),S=H=>{H!=null&&_.current&&_.current(H)},{ctrl:B}=e,w=(0,D.useCallback)(H=>{if(h.current=H,!h.current)return;y.current=new Vt.AgPromise(M=>{_.current=M});const W={addOrRemoveCssClass:(M,k)=>n(Z=>Z.setClass(M,k)),addOrRemoveBodyCssClass:(M,k)=>c(Z=>Z.setClass(M,k)),setButtonWrapperDisplayed:M=>{l(k=>k.setClass("ag-hidden",!M)),i(M?"false":"true")},setWidth:M=>{h.current&&(h.current.style.width=M)},setCompDetails:M=>g(M),getFloatingFilterComp:()=>y.current?y.current:null,setMenuIcon:M=>{var k;return(k=C.current)==null?void 0:k.appendChild(M)}};B.setComp(W,h.current,C.current,m.current)},[]);(0,D.useLayoutEffect)(()=>De(u,t,m.current,S),[u]);const j=(0,D.useMemo)(()=>s.toString(),[s]),R=(0,D.useMemo)(()=>o.toString(),[o]),F=(0,D.useMemo)(()=>a.toString(),[a]),O=(0,D.useMemo)(()=>!!(u&&u.componentFromFramework&&Fe(u.componentClass)),[u]),I=(0,D.useMemo)(()=>r.get("reactiveCustomComponents"),[]),b=(0,D.useMemo)(()=>{if(u)if(I){const H=new lr(u.params,()=>v(W=>W+1));return S(H),H}else u.componentFromFramework&&ze()},[u]),$=b?.getProps(),K=u&&u.componentFromFramework,Y=u&&u.componentClass;return D.default.createElement("div",{ref:w,className:j,role:"gridcell"},D.default.createElement("div",{ref:m,className:R,role:"presentation"},K&&!I&&D.default.createElement(Y,ie(V({},u.params),{ref:O?()=>{}:S})),K&&I&&D.default.createElement(je.Provider,{value:{setMethods:H=>b.setMethods(H)}},D.default.createElement(Y,V({},$)))),D.default.createElement("div",{ref:p,"aria-hidden":d,className:F,role:"presentation"},D.default.createElement("button",{ref:C,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))},Sr=(0,D.memo)(Pr),_r=e=>{const{ctrl:t}=e,{topOffset:r,rowHeight:s}=(0,ce.useMemo)(()=>t.getTopAndHeight(),[]),n=t.getAriaRowIndex(),o=t.getHeaderRowClass(),[c,a]=(0,ce.useState)(()=>s+"px"),[l,d]=(0,ce.useState)(()=>r+"px"),i=(0,ce.useRef)(null),u=(0,ce.useRef)(null),[g,P]=(0,ce.useState)(()=>t.getHeaderCtrls()),v=(0,ce.useRef)(null),h=(0,ce.useCallback)(C=>{if(v.current=C,!C)return;const _={setHeight:y=>a(y),setTop:y=>d(y),setHeaderCtrls:(y,S,B)=>{u.current=i.current,i.current=y;const w=tt(u.current,y,S);w!==u.current&&et(B,()=>P(w))},setWidth:y=>{v.current&&(v.current.style.width=y)}};t.setComp(_,!1)},[]),m=(0,ce.useMemo)(()=>({height:c,top:l}),[c,l]),p=(0,ce.useCallback)(C=>{switch(t.getType()){case ut.HeaderRowType.COLUMN_GROUP:return ce.default.createElement(wr,{ctrl:C,key:C.getInstanceId()});case ut.HeaderRowType.FLOATING_FILTER:return ce.default.createElement(Sr,{ctrl:C,key:C.getInstanceId()});default:return ce.default.createElement(vr,{ctrl:C,key:C.getInstanceId()})}},[]);return ce.default.createElement("div",{ref:h,className:o,role:"row",style:m,"aria-rowindex":n},g.map(p))},br=(0,ce.memo)(_r),Mr=e=>{const[t,r]=(0,le.useState)(!0),[s,n]=(0,le.useState)([]),{context:o}=(0,le.useContext)(ue),c=(0,le.useRef)(null),a=(0,le.useRef)(null),l=(0,le.useRef)(null),d=e.pinned==="left",i=e.pinned==="right",u=!d&&!i,g=(0,le.useCallback)(h=>{if(c.current=h,!c.current){o.destroyBean(l.current),l.current=null;return}const m={setDisplayed:r,setCtrls:p=>n(p),setCenterWidth:p=>{a.current&&(a.current.style.width=p)},setViewportScrollLeft:p=>{c.current&&(c.current.scrollLeft=p)},setPinnedContainerWidth:p=>{c.current&&(c.current.style.width=p,c.current.style.minWidth=p,c.current.style.maxWidth=p)}};l.current=o.createBean(new qt.HeaderRowContainerCtrl(e.pinned)),l.current.setComp(m,c.current)},[]),P=t?"":"ag-hidden",v=()=>s.map(h=>le.default.createElement(br,{ctrl:h,key:h.getInstanceId()}));return le.default.createElement(le.default.Fragment,null,d&&le.default.createElement("div",{ref:g,className:"ag-pinned-left-header "+P,"aria-hidden":!t,role:"rowgroup"},v()),i&&le.default.createElement("div",{ref:g,className:"ag-pinned-right-header "+P,"aria-hidden":!t,role:"rowgroup"},v()),u&&le.default.createElement("div",{ref:g,className:"ag-header-viewport "+P,role:"presentation"},le.default.createElement("div",{ref:a,className:"ag-header-container",role:"rowgroup"},v())))},rt=(0,le.memo)(Mr),Fr=()=>{const[e,t]=(0,de.useState)(()=>new pe),[r,s]=(0,de.useState)(),{context:n}=(0,de.useContext)(ue),o=(0,de.useRef)(null),c=(0,de.useRef)(null),a=(0,de.useCallback)(i=>{if(o.current=i,!i){n.destroyBean(c.current),c.current=null;return}const u={addOrRemoveCssClass:(g,P)=>t(v=>v.setClass(g,P)),setHeightAndMinHeight:g=>s(g)};c.current=n.createBean(new Ut.GridHeaderCtrl),c.current.setComp(u,o.current,o.current)},[]),l=(0,de.useMemo)(()=>"ag-header "+e.toString(),[e]),d=(0,de.useMemo)(()=>({height:r,minHeight:r}),[r]);return de.default.createElement("div",{ref:a,className:l,style:d,role:"presentation"},de.default.createElement(rt,{pinned:"left"}),de.default.createElement(rt,{pinned:null}),de.default.createElement(rt,{pinned:"right"}))},Or=(0,de.memo)(Fr),Ir=(e,t)=>{(0,jt.useEffect)(()=>{const r=t.current;if(r){const s=r.parentElement;if(s){const n=document.createComment(e);return s.insertBefore(n,r),()=>{s.removeChild(n)}}}},[e])},_e=Ir,kr=e=>{const t=(0,Me.useRef)(e),r=(0,Me.useRef)(),s=(0,Me.useRef)(!1),n=(0,Me.useRef)(!1),[,o]=(0,Me.useState)(0);s.current&&(n.current=!0),(0,Me.useEffect)(()=>(s.current||(r.current=t.current(),s.current=!0),o(c=>c+1),()=>{n.current&&r.current&&r.current()}),[])},Gr=e=>{const[t,r]=(0,xe.useState)(),{context:s,popupService:n,localeService:o,gos:c}=(0,xe.useContext)(ue);return kr(()=>{const{editDetails:a,cellCtrl:l,eParentCell:d}=e,{compDetails:i}=a,u=c.get("stopEditingWhenCellsLoseFocus"),g=s.createBean(new zt.PopupEditorWrapper(i.params)),P=g.getGui();if(e.jsChildComp){const _=e.jsChildComp.getGui();_&&P.appendChild(_)}const v={column:l.getColumn(),rowNode:l.getRowNode(),type:"popupCellEditor",eventSource:d,ePopup:P,position:a.popupPosition,keepWithinBounds:!0},h=n.positionPopupByComponent.bind(n,v),m=o.getLocaleTextFunc(),p=n.addPopup({modal:u,eChild:P,closeOnEsc:!0,closedCallback:()=>{l.onPopupEditorClosed()},anchorToElement:d,positionCallback:h,ariaLabel:m("ariaLabelCellEditor","Cell Editor")}),C=p?p.hideFunc:void 0;return r(g),e.jsChildComp&&e.jsChildComp.afterGuiAttached&&e.jsChildComp.afterGuiAttached(),()=>{C?.(),s.destroyBean(g)}}),xe.default.createElement(xe.default.Fragment,null,t&&e.wrappedContent&&(0,$t.createPortal)(e.wrappedContent,t.getGui()))},wt=(0,xe.memo)(Gr),Ar=(e,t,r,s,n,o)=>{const{context:c}=(0,qe.useContext)(ue),a=(0,qe.useCallback)(()=>{const l=n.current;if(!l)return;const d=l.getGui();d&&d.parentElement&&d.parentElement.removeChild(d),c.destroyBean(l),n.current=void 0},[]);(0,qe.useEffect)(()=>{const l=e!=null,d=e&&e.compDetails&&!e.compDetails.componentFromFramework,i=t&&r==null;if(!(l&&d&&!i)){a();return}const g=e.compDetails;if(n.current){const p=n.current,_=p.refresh!=null&&e.force==!1?p.refresh(g.params):!1;if(_===!0||_===void 0)return;a()}const P=g.newAgStackInstance();if(!P)return;const v=P.resolveNow(null,p=>p);if(!v)return;const h=v.getGui();if(!h)return;(t?r:o.current).appendChild(h),n.current=v},[e,t,s]),(0,qe.useEffect)(()=>a,[])},Tr=Ar,Nr=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new Yt.AgPromise(r=>{this.resolveInstanceCreated=r}),this.onValueChange=r=>this.updateValue(r),this.value=e.value}getProps(){return ie(V({},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){Qe(this.getOptionalMethods(),e,this)}getInstance(){return this.instanceCreated.then(()=>this.componentInstance)}setRef(e){var t;this.componentInstance=e,(t=this.resolveInstanceCreated)==null||t.call(this),this.resolveInstanceCreated=void 0}getOptionalMethods(){return["isPopup","isCancelBeforeStart","isCancelAfterEnd","getPopupPosition","focusIn","focusOut","afterGuiAttached"]}updateValue(e){this.value=e,this.refreshProps()}},xr=(e,t,r)=>{const s=r.getColumn();if(!e&&t.isPopup&&t.isPopup()){const n=`AG Grid: Found an issue in column ${s.getColId()}. If using React, specify an editor is a popup using colDef.cellEditorPopup=true. AG Grid React cannot depend on the editor component specifying if it's in a popup (via the isPopup() method on the editor), as React needs to know this information BEFORE the component is created.`;Ue._.doOnce(()=>console.warn(n),"jsEditorComp-isPopup-"+r.getColumn().getColId())}if(e&&t.getPopupPosition&&t.getPopupPosition()!=null){const n=`AG Grid: Found an issue in column ${s.getColId()}. If using React, specify an editor popup position using colDef.cellEditorPopupPosition=true. AG Grid React cannot depend on the editor component specifying it's position (via the getPopupPosition() method on the editor), as React needs to know this information BEFORE the component is created.`;Ue._.doOnce(()=>console.warn(n),"jsEditorComp-getPopupPosition-"+r.getColumn().getColId())}},Dr=(e,t,r)=>{const{compProxy:s}=e;r(s);const n=s.getProps(),o=Fe(t);return f.default.createElement(je.Provider,{value:{setMethods:c=>s.setMethods(c)}},o&&f.default.createElement(t,V({},n)),!o&&f.default.createElement(t,ie(V({},n),{ref:c=>s.setRef(c)})))},Et=(e,t,r)=>{const s=e.compProxy;return f.default.createElement(f.default.Fragment,null,!s&&f.default.createElement(t,ie(V({},e.compDetails.params),{ref:r})),s&&Dr(e,t,r))},Br=(e,t,r,s,n,o)=>{const c=e.compDetails,a=c.componentClass,l=c.componentFromFramework&&!e.popup,d=c.componentFromFramework&&e.popup,i=!c.componentFromFramework&&e.popup;return f.default.createElement(f.default.Fragment,null,l&&Et(e,a,t),d&&f.default.createElement(wt,{editDetails:e,cellCtrl:n,eParentCell:s,wrappedContent:Et(e,a,r)}),i&&o&&f.default.createElement(wt,{editDetails:e,cellCtrl:n,eParentCell:s,jsChildComp:o}))},Wr=(e,t,r,s,n,o,c)=>{const{compDetails:a,value:l}=e,d=!a,i=a&&a.componentFromFramework,u=a&&a.componentClass,g=l?.toString?l.toString():l,P=()=>f.default.createElement(f.default.Fragment,null,d&&f.default.createElement(f.default.Fragment,null,g),i&&!o&&f.default.createElement(u,ie(V({},a.params),{key:t,ref:s})),i&&o&&f.default.createElement(u,ie(V({},a.params),{key:t})));return f.default.createElement(f.default.Fragment,null,n?f.default.createElement("span",{role:"presentation",id:`cell-${r}`,className:"ag-cell-value",ref:c},P()):P())},Hr=e=>{const{context:t}=(0,f.useContext)(ue),{cellCtrl:r,printLayout:s,editingRow:n}=e,o=r.getTabIndex(),c=r.getColumnIdSanitised(),a=r.getInstanceId(),[l,d]=(0,f.useState)(()=>r.isCellRenderer()?void 0:{compDetails:void 0,value:r.getValueToDisplay(),force:!1}),[i,u]=(0,f.useState)(),[g,P]=(0,f.useState)(1),[v,h]=(0,f.useState)(),[m,p]=(0,f.useState)(!1),[C,_]=(0,f.useState)(!1),[y,S]=(0,f.useState)(!1),[B,w]=(0,f.useState)(),j=(0,f.useMemo)(()=>r.isForceWrapper(),[r]),R=(0,f.useMemo)(()=>r.getCellAriaRole(),[r]),F=(0,f.useRef)(null),O=(0,f.useRef)(null),I=(0,f.useRef)(),b=(0,f.useRef)(),$=(0,f.useRef)(),K=(0,f.useRef)([]),Y=(0,f.useRef)(),[H,W]=(0,f.useState)(0),M=(0,f.useCallback)(X=>{Y.current=X,W(ee=>ee+1)},[]),k=l!=null&&(m||y||C),Z=j||k,G=(0,f.useCallback)((X,ee)=>{b.current=ee,ee&&(xr(X,ee,r),ee.isCancelBeforeStart&&ee.isCancelBeforeStart()&&setTimeout(()=>{r.stopEditing(!0),r.focusCell(!0)}))},[r]),q=(0,f.useCallback)(X=>G(!0,X),[G]),ve=(0,f.useCallback)(X=>G(!1,X),[G]);let L=(0,f.useRef)();L.current||(L.current=new Ue.CssClassManager(()=>F.current)),Tr(l,Z,Y.current,H,I,F);const fe=(0,f.useRef)();(0,f.useLayoutEffect)(()=>{const X=fe.current,ee=l;if(fe.current=l,X==null||X.compDetails==null||ee==null||ee.compDetails==null)return;const re=X.compDetails,A=ee.compDetails;if(re.componentClass!=A.componentClass||O.current==null||O.current.refresh==null)return;O.current.refresh(A.params)!=!0&&P(he=>he+1)},[l]),(0,f.useLayoutEffect)(()=>{if(!(i&&!i.compDetails.componentFromFramework))return;const ee=i.compDetails,re=i.popup===!0,A=gr(ee);if(!A)return;const se=A.getGui();if(G(re,A),!re){const he=(j?$:F).current;he?.appendChild(se),A.afterGuiAttached&&A.afterGuiAttached()}return w(A),()=>{t.destroyBean(A),G(re,void 0),w(void 0),se&&se.parentElement&&se.parentElement.removeChild(se)}},[i]);const ae=(0,f.useCallback)(X=>{if($.current=X,!$.current){K.current.forEach(re=>re()),K.current=[];return}const ee=re=>{var A;if(re){const se=re.getGui();(A=$.current)==null||A.insertAdjacentElement("afterbegin",se),K.current.push(()=>{t.destroyBean(re),Ue._.removeFromParent(se)})}return re};if(m){const re=r.createSelectionCheckbox();ee(re)}y&&ee(r.createDndSource()),C&&ee(r.createRowDragComp())},[r,t,y,C,m]),we=(0,f.useCallback)(X=>{if(F.current=X,!F.current||!r)return;const ee={addOrRemoveCssClass:(A,se)=>L.current.addOrRemoveCssClass(A,se),setUserStyles:A=>h(A),getFocusableElement:()=>F.current,setIncludeSelection:A=>p(A),setIncludeRowDrag:A=>_(A),setIncludeDndSource:A=>S(A),getCellEditor:()=>b.current||null,getCellRenderer:()=>O.current?O.current:I.current,getParentOfValue:()=>Y.current?Y.current:$.current?$.current:F.current,setRenderDetails:(A,se,he)=>{d(ge=>ge?.compDetails!==A||ge?.value!==se||ge?.force!==he?{value:se,compDetails:A,force:he}:ge)},setEditDetails:(A,se,he,ge)=>{if(A){let be;ge?be=new Nr(A.params,()=>P(st=>st+1)):A.componentFromFramework&&ze(),u({compDetails:A,popup:se,popupPosition:he,compProxy:be}),se||d(void 0)}else u(be=>{be?.compProxy&&(b.current=void 0)})}},re=$.current||void 0;r.setComp(ee,F.current,re,s,n)},[]),Oe=(0,f.useMemo)(()=>!!(l&&l.compDetails&&l.compDetails.componentFromFramework&&Fe(l.compDetails.componentClass)),[l]);(0,f.useLayoutEffect)(()=>{var X;F.current&&(L.current.addOrRemoveCssClass("ag-cell-value",!Z),L.current.addOrRemoveCssClass("ag-cell-inline-editing",!!i&&!i.popup),L.current.addOrRemoveCssClass("ag-cell-popup-editing",!!i&&!!i.popup),L.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!i||!!i.popup),(X=r.getRowCtrl())==null||X.setInlineEditingCss(!!i),r.shouldRestoreFocus()&&!r.isEditing()&&F.current.focus({preventScroll:!0}))});const $e=()=>f.default.createElement(f.default.Fragment,null,l!=null&&Wr(l,g,a,O,Z,Oe,M),i!=null&&Br(i,ve,q,F.current,r,B));return f.default.createElement("div",{ref:we,style:v,tabIndex:o,role:R,"col-id":c},Z?f.default.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:ae},$e()):$e())},Lr=(0,f.memo)(Hr),Ur=e=>{const{context:t,gos:r}=(0,x.useContext)(ue),{rowCtrl:s,containerType:n}=e,o=s.getTabIndex(),c=(0,x.useRef)(s.getDomOrder()),a=s.isFullWidth(),l=s.getRowNode().displayed,[d,i]=(0,x.useState)(()=>l?s.getRowIndex():null),[u,g]=(0,x.useState)(()=>s.getRowId()),[P,v]=(0,x.useState)(()=>s.getBusinessKey()),[h,m]=(0,x.useState)(()=>s.getRowStyles()),p=(0,x.useRef)(null),C=(0,x.useRef)(null),[_,y]=(0,x.useState)(()=>null),[S,B]=(0,x.useState)(),[w,j]=(0,x.useState)(()=>l?s.getInitialRowTop(n):void 0),[R,F]=(0,x.useState)(()=>l?s.getInitialTransform(n):void 0),O=(0,x.useRef)(null),I=(0,x.useRef)(),b=(0,x.useRef)(!1),[$,K]=(0,x.useState)(0);(0,x.useEffect)(()=>{var L;if(b.current||!S||$>10)return;const fe=(L=O.current)==null?void 0:L.firstChild;fe?(s.setupDetailRowAutoHeight(fe),b.current=!0):K(ae=>ae+1)},[S,$]);let Y=(0,x.useRef)();Y.current||(Y.current=new Kt.CssClassManager(()=>O.current));const H=(0,x.useCallback)(L=>{if(O.current=L,!O.current){s.unsetComp(n);return}if(!s.isAlive())return;const fe={setTop:j,setTransform:F,addOrRemoveCssClass:(ae,we)=>Y.current.addOrRemoveCssClass(ae,we),setDomOrder:ae=>c.current=ae,setRowIndex:i,setRowId:g,setRowBusinessKey:v,setUserStyles:m,setCellCtrls:(ae,we)=>{C.current=p.current,p.current=ae;const Oe=tt(C.current,ae,c.current);Oe!==C.current&&et(we,()=>y(Oe))},showFullWidth:ae=>B(ae),getFullWidthCellRenderer:()=>I.current,refreshFullWidth:ae=>G.current?(B(we=>ie(V({},we),{params:ae()})),!0):!I.current||!I.current.refresh?!1:I.current.refresh(ae())};s.setComp(fe,O.current,n)},[]);(0,x.useLayoutEffect)(()=>De(S,t,O.current,I),[S]);const W=(0,x.useMemo)(()=>{const L={top:w,transform:R};return Object.assign(L,h),L},[w,R,h]),M=a&&S&&S.componentFromFramework,k=!a&&_!=null,Z=(0,x.useMemo)(()=>!!(S?.componentFromFramework&&Fe(S.componentClass)),[S]),G=(0,x.useRef)(!1);(0,x.useEffect)(()=>{G.current=Z&&!!S&&!!r.get("reactiveCustomComponents")},[Z,S]);const q=()=>_?.map(L=>x.default.createElement(Lr,{cellCtrl:L,editingRow:s.isEditing(),printLayout:s.isPrintLayout(),key:L.getInstanceId()})),ve=()=>{const L=S.componentClass;return x.default.createElement(x.default.Fragment,null,Z&&x.default.createElement(L,V({},S.params)),!Z&&x.default.createElement(L,ie(V({},S.params),{ref:I})))};return x.default.createElement("div",{ref:H,role:"row",style:W,"row-index":d,"row-id":u,"row-business-key":P,tabIndex:o},k&&q(),M&&ve())},qr=(0,x.memo)(Ur),Vr=e=>{const{context:t}=(0,J.useContext)(ue),{name:r}=e,s=(0,J.useMemo)(()=>(0,Ee.getRowContainerTypeForName)(r),[r]),n=(0,J.useRef)(null),o=(0,J.useRef)(null),c=(0,J.useRef)([]),a=(0,J.useRef)([]),[l,d]=(0,J.useState)(()=>[]),i=(0,J.useRef)(!1),u=(0,J.useRef)(),g=(0,J.useMemo)(()=>Ee.RowContainerCtrl.getRowContainerCssClasses(r),[r]),P=(0,J.useMemo)(()=>Ce(g.viewport),[g]),v=(0,J.useMemo)(()=>Ce(g.container),[g]),h=r===Ee.RowContainerName.CENTER||r===Ee.RowContainerName.TOP_CENTER||r===Ee.RowContainerName.BOTTOM_CENTER||r===Ee.RowContainerName.STICKY_TOP_CENTER||r===Ee.RowContainerName.STICKY_BOTTOM_CENTER,m=h?n:o;_e(" AG Row Container "+r+" ",m);const p=(0,J.useCallback)(()=>h?n.current!=null&&o.current!=null:o.current!=null,[]),C=(0,J.useCallback)(()=>h?n.current==null&&o.current==null:o.current==null,[]),_=(0,J.useCallback)(()=>{if(C()&&(t.destroyBean(u.current),u.current=null),p()){const w=R=>{const F=tt(a.current,c.current,i.current);F!==a.current&&(a.current=F,et(R,()=>d(F)))},j={setViewportHeight:R=>{n.current&&(n.current.style.height=R)},setRowCtrls:({rowCtrls:R,useFlushSync:F})=>{const O=!!F&&c.current.length>0&&R.length>0;c.current=R,w(O)},setDomOrder:R=>{i.current!=R&&(i.current=R,w(!1))},setContainerWidth:R=>{o.current&&(o.current.style.width=R)}};u.current=t.createBean(new Ee.RowContainerCtrl(r)),u.current.setComp(j,o.current,n.current)}},[p,C]),y=(0,J.useCallback)(w=>{o.current=w,_()},[_]),S=(0,J.useCallback)(w=>{n.current=w,_()},[_]),B=()=>J.default.createElement("div",{className:v,ref:y,role:"rowgroup"},l.map(w=>J.default.createElement(qr,{rowCtrl:w,containerType:s,key:w.getInstanceId()})));return J.default.createElement(J.default.Fragment,null,h?J.default.createElement("div",{className:P,ref:S,role:"presentation"},B()):B())},jr=(0,J.memo)(Vr),Kr=()=>{const{context:e,agStackComponentsRegistry:t,resizeObserverService:r}=(0,E.useContext)(ue),[s,n]=(0,E.useState)(""),[o,c]=(0,E.useState)(0),[a,l]=(0,E.useState)(0),[d,i]=(0,E.useState)("0px"),[u,g]=(0,E.useState)("0px"),[P,v]=(0,E.useState)("100%"),[h,m]=(0,E.useState)("0px"),[p,C]=(0,E.useState)("0px"),[_,y]=(0,E.useState)("100%"),[S,B]=(0,E.useState)(""),[w,j]=(0,E.useState)(""),[R,F]=(0,E.useState)(null),[O,I]=(0,E.useState)(""),[b,$]=(0,E.useState)(null),[K,Y]=(0,E.useState)("ag-layout-normal");let H=(0,E.useRef)();H.current||(H.current=new z.CssClassManager(()=>W.current));const W=(0,E.useRef)(null),M=(0,E.useRef)(null),k=(0,E.useRef)(null),Z=(0,E.useRef)(null),G=(0,E.useRef)(null),q=(0,E.useRef)(null),ve=(0,E.useRef)(null),L=(0,E.useRef)([]),fe=(0,E.useRef)([]);_e(" AG Grid Body ",W),_e(" AG Pinned Top ",M),_e(" AG Sticky Top ",k),_e(" AG Middle ",q),_e(" AG Pinned Bottom ",ve);const ae=(0,E.useCallback)(Ie=>{if(W.current=Ie,!W.current){e.destroyBeans(L.current),fe.current.forEach(ne=>ne()),L.current=[],fe.current=[];return}if(!e)return;const He=ne=>{const ye=t.getComponentClass(ne),bt=e.createBean(new ye);return L.current.push(bt),bt},Se=(ne,ye)=>{ne.appendChild(ye),fe.current.push(()=>ne.removeChild(ye))};Se(W.current,document.createComment(" AG Fake Horizontal Scroll ")),Se(W.current,He("AG-FAKE-HORIZONTAL-SCROLL").getGui()),Se(W.current,document.createComment(" AG Overlay Wrapper ")),Se(W.current,He("AG-OVERLAY-WRAPPER").getGui()),G.current&&(Se(G.current,document.createComment(" AG Fake Vertical Scroll ")),Se(G.current,He("AG-FAKE-VERTICAL-SCROLL").getGui()));const nt={setRowAnimationCssOnBodyViewport:n,setColumnCount:ne=>{W.current&&z._.setAriaColCount(W.current,ne)},setRowCount:ne=>{W.current&&z._.setAriaRowCount(W.current,ne)},setTopHeight:c,setBottomHeight:l,setStickyTopHeight:i,setStickyTopTop:g,setStickyTopWidth:v,setTopDisplay:B,setBottomDisplay:j,setColumnMovingCss:(ne,ye)=>H.current.addOrRemoveCssClass(ne,ye),updateLayoutClasses:Y,setAlwaysVerticalScrollClass:F,setPinnedTopBottomOverflowY:I,setCellSelectableCss:(ne,ye)=>$(ye?ne:null),setBodyViewportWidth:ne=>{q.current&&(q.current.style.width=ne)},registerBodyViewportResizeListener:ne=>{if(q.current){const ye=r.observeResize(q.current,ne);fe.current.push(()=>ye())}},setStickyBottomHeight:m,setStickyBottomBottom:C,setStickyBottomWidth:y},_t=e.createBean(new z.GridBodyCtrl);L.current.push(_t),_t.setComp(nt,W.current,q.current,M.current,ve.current,k.current,Z.current)},[]),we=(0,E.useMemo)(()=>Ce("ag-root","ag-unselectable",K),[K]),Oe=(0,E.useMemo)(()=>Ce("ag-body-viewport",s,K,R,b),[s,K,R,b]),$e=(0,E.useMemo)(()=>Ce("ag-body",K),[K]),X=(0,E.useMemo)(()=>Ce("ag-floating-top",b),[b]),ee=(0,E.useMemo)(()=>Ce("ag-sticky-top",b),[b]),re=(0,E.useMemo)(()=>Ce("ag-sticky-bottom",b),[b]),A=(0,E.useMemo)(()=>Ce("ag-floating-bottom",b),[b]),se=(0,E.useMemo)(()=>({height:o,minHeight:o,display:S,overflowY:O}),[o,S,O]),he=(0,E.useMemo)(()=>({height:d,top:u,width:P}),[d,u,P]),ge=(0,E.useMemo)(()=>({height:h,bottom:p,width:_}),[h,p,_]),be=(0,E.useMemo)(()=>({height:a,minHeight:a,display:w,overflowY:O}),[a,w,O]),st=Ie=>E.default.createElement(jr,{name:Ie,key:`${Ie}-container`}),We=({section:Ie,children:He,className:Se,style:nt})=>E.default.createElement("div",{ref:Ie,className:Se,role:"presentation",style:nt},He.map(st));return E.default.createElement("div",{ref:ae,className:we,role:"treegrid"},E.default.createElement(Or,null),We({section:M,className:X,style:se,children:[z.RowContainerName.TOP_LEFT,z.RowContainerName.TOP_CENTER,z.RowContainerName.TOP_RIGHT,z.RowContainerName.TOP_FULL_WIDTH]}),E.default.createElement("div",{className:$e,ref:G,role:"presentation"},We({section:q,className:Oe,children:[z.RowContainerName.LEFT,z.RowContainerName.CENTER,z.RowContainerName.RIGHT,z.RowContainerName.FULL_WIDTH]})),We({section:k,className:ee,style:he,children:[z.RowContainerName.STICKY_TOP_LEFT,z.RowContainerName.STICKY_TOP_CENTER,z.RowContainerName.STICKY_TOP_RIGHT,z.RowContainerName.STICKY_TOP_FULL_WIDTH]}),We({section:Z,className:re,style:ge,children:[z.RowContainerName.STICKY_BOTTOM_LEFT,z.RowContainerName.STICKY_BOTTOM_CENTER,z.RowContainerName.STICKY_BOTTOM_RIGHT,z.RowContainerName.STICKY_BOTTOM_FULL_WIDTH]}),We({section:ve,className:A,style:be,children:[z.RowContainerName.BOTTOM_LEFT,z.RowContainerName.BOTTOM_CENTER,z.RowContainerName.BOTTOM_RIGHT,z.RowContainerName.BOTTOM_FULL_WIDTH]}))},zr=(0,E.memo)(Kr),$r=(e,t)=>{const{children:r,eFocusableElement:s,onTabKeyDown:n,gridCtrl:o,forceFocusOutWhenTabGuardsAreEmpty:c}=e,{context:a}=(0,me.useContext)(ue),l=(0,me.useRef)(null),d=(0,me.useRef)(null),i=(0,me.useRef)(),u=m=>{const p=m==null?void 0:parseInt(m,10).toString();[l,d].forEach(C=>{var _,y;p===void 0?(_=C.current)==null||_.removeAttribute("tabindex"):(y=C.current)==null||y.setAttribute("tabindex",p)})};(0,me.useImperativeHandle)(t,()=>({forceFocusOutOfContainer(m){var p;(p=i.current)==null||p.forceFocusOutOfContainer(m)}}));const g=(0,me.useCallback)(()=>{if(!l.current&&!d.current){a.destroyBean(i.current),i.current=null;return}if(l.current&&d.current){const m={setTabIndex:u};i.current=a.createBean(new Ve.TabGuardCtrl({comp:m,eTopGuard:l.current,eBottomGuard:d.current,eFocusableElement:s,onTabKeyDown:n,forceFocusOutWhenTabGuardsAreEmpty:c,focusInnerElement:p=>o.focusInnerElement(p)}))}},[]),P=(0,me.useCallback)(m=>{l.current=m,g()},[g]),v=(0,me.useCallback)(m=>{d.current=m,g()},[g]),h=m=>{const p=m==="top"?Ve.TabGuardClassNames.TAB_GUARD_TOP:Ve.TabGuardClassNames.TAB_GUARD_BOTTOM;return me.default.createElement("div",{className:`${Ve.TabGuardClassNames.TAB_GUARD} ${p}`,role:"presentation",ref:m==="top"?P:v})};return me.default.createElement(me.default.Fragment,null,h("top"),r,h("bottom"))},Yr=(0,me.forwardRef)($r),Jr=(0,me.memo)(Yr),Zr=({context:e})=>{const[t,r]=(0,U.useState)(""),[s,n]=(0,U.useState)(""),[o,c]=(0,U.useState)(""),[a,l]=(0,U.useState)(null),[d,i]=(0,U.useState)(null),[u,g]=(0,U.useState)(!1),[P,v]=(0,U.useState)(),h=(0,U.useRef)(null),m=(0,U.useRef)(null),p=(0,U.useRef)(),[C,_]=(0,U.useState)(null),y=(0,U.useRef)(()=>{}),S=(0,U.useCallback)(()=>{},[]),B=(0,U.useMemo)(()=>e.isDestroyed()?null:e.getBean("beans"),[e]);_e(" AG Grid ",m);const w=(0,U.useCallback)(I=>{if(m.current=I,!m.current){e.destroyBean(h.current),h.current=null;return}if(e.isDestroyed())return;h.current=e.createBean(new Lt.GridCtrl);const b=h.current;y.current=b.focusInnerElement.bind(b);const $={destroyGridUi:()=>{},setRtlClass:r,forceFocusOutOfContainer:K=>{var Y;(Y=p.current)==null||Y.forceFocusOutOfContainer(K)},updateLayoutClasses:c,getFocusableContainers:()=>{var K,Y;const H=[],W=(K=m.current)==null?void 0:K.querySelector(".ag-root"),M=(Y=m.current)==null?void 0:Y.querySelector(".ag-side-bar:not(.ag-hidden)");return W&&H.push(W),M&&H.push(M),H},setCursor:l,setUserSelect:i};b.setComp($,m.current,m.current),g(!0)},[]);(0,U.useEffect)(()=>{if(!P||!B||!h.current||!C||!m.current)return;const I=h.current,b=[],{agStackComponentsRegistry:$}=B,K=$.getComponentClass("AG-GRID-HEADER-DROP-ZONES"),Y=$.getComponentClass("AG-SIDE-BAR"),H=$.getComponentClass("AG-STATUS-BAR"),W=$.getComponentClass("AG-WATERMARK"),M=$.getComponentClass("AG-PAGINATION"),k=[],Z=m.current;if(I.showDropZones()&&K){const G=e.createBean(new K),q=G.getGui();Z.insertAdjacentElement("afterbegin",q),k.push(q),b.push(G)}if(I.showSideBar()&&Y){const G=e.createBean(new Y),q=G.getGui(),ve=C.querySelector(".ag-tab-guard-bottom");ve&&(ve.insertAdjacentElement("beforebegin",q),k.push(q)),b.push(G)}if(I.showStatusBar()&&H){const G=e.createBean(new H),q=G.getGui();Z.insertAdjacentElement("beforeend",q),k.push(q),b.push(G)}if(M){const G=e.createBean(new M),q=G.getGui();Z.insertAdjacentElement("beforeend",q),k.push(q),b.push(G)}if(I.showWatermark()&&W){const G=e.createBean(new W),q=G.getGui();Z.insertAdjacentElement("beforeend",q),k.push(q),b.push(G)}return()=>{e.destroyBeans(b),k.forEach(G=>{G.parentElement&&G.parentElement.removeChild(G)})}},[P,C,B]);const j=(0,U.useMemo)(()=>Ce("ag-root-wrapper",t,s,o),[t,s,o]),R=(0,U.useMemo)(()=>Ce("ag-root-wrapper-body","ag-focus-managed",o),[o]),F=(0,U.useMemo)(()=>({userSelect:d??"",WebkitUserSelect:d??"",cursor:a??""}),[d,a]),O=(0,U.useCallback)(I=>{p.current=I,v(I!==null)},[]);return U.default.createElement("div",{ref:w,className:j,style:F,role:"presentation"},U.default.createElement("div",{className:R,ref:_,role:"presentation"},u&&C&&B&&U.default.createElement(ue.Provider,{value:B},U.default.createElement(Jr,{ref:O,eFocusableElement:C,onTabKeyDown:S,gridCtrl:h.current,forceFocusOutWhenTabGuardsAreEmpty:!0},U.default.createElement(zr,null)))))},Xr=(0,U.memo)(Zr),Pt=e=>{var t,r;const s=(0,T.useRef)(),n=(0,T.useRef)(null),o=(0,T.useRef)(null),c=(0,T.useRef)([]),a=(0,T.useRef)([]),l=(0,T.useRef)(e),d=(0,T.useRef)(!1),[i,u]=(0,T.useState)(void 0),[,g]=(0,T.useState)(0),P=(0,T.useCallback)(m=>{if(n.current=m,!n.current){c.current.forEach(w=>w()),c.current.length=0;return}const p=e.modules||[];o.current||(o.current=new fr(()=>g(w=>w+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),c.current.push(()=>{var w;(w=o.current)==null||w.destroy(),o.current=null}));const C=Re.ComponentUtil.combineAttributesAndGridOptions(e.gridOptions,e),_={providedBeanInstances:{frameworkComponentWrapper:new es(o.current,!!C.reactiveCustomComponents)},modules:p,frameworkOverrides:new rs},y=w=>{u(w),c.current.push(()=>{w.destroy()}),w.getBean(Re.CtrlsService.NAME).whenReady(()=>{if(w.isDestroyed())return;const R=s.current;R&&e.setGridApi&&e.setGridApi(R,new Re.ColumnApi(R))})},S=w=>{w.getBean(Re.CtrlsService.NAME).whenReady(()=>{a.current.forEach(R=>R()),a.current.length=0,d.current=!0})},B=new Re.GridCoreCreator;s.current=B.create(n.current,C,y,S,_)},[]),v=(0,T.useMemo)(()=>V({height:"100%"},e.containerStyle||{}),[e.containerStyle]),h=(0,T.useCallback)(m=>{d.current?m():a.current.push(m)},[]);return(0,T.useEffect)(()=>{const m=Qr(l.current,e);l.current=e,h(()=>{s.current&&Re.ComponentUtil.processOnChange(m,s.current)})},[e]),T.default.createElement("div",{style:v,className:e.className,ref:P},i&&!i.isDestroyed()?T.default.createElement(Xr,{context:i}):null,(r=(t=o.current)==null?void 0:t.getPortals())!=null?r:null)};function Qr(e,t){const r={};return Object.keys(t).forEach(s=>{const n=t[s];e[s]!==n&&(r[s]=n)}),r}var es=class extends Re.BaseComponentWrapper{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){const n=(o=>{switch(o){case"filter":return ar;case"floatingFilterComponent":return cr;case"dateComponent":return or;case"loadingOverlayComponent":return ir;case"noRowsOverlayComponent":return dr;case"statusPanel":return mr;case"toolPanel":return pr;case"menuItem":return ur}})(t.propertyName);if(n)return new n(e,this.parent,t)}else switch(t.propertyName){case"filter":case"floatingFilterComponent":case"dateComponent":case"loadingOverlayComponent":case"noRowsOverlayComponent":case"statusPanel":case"toolPanel":case"menuItem":ze();break}const r=!t.cellRenderer&&t.propertyName!=="toolPanel";return new Ct(e,this.parent,t,r)}},ts=(0,T.forwardRef)((e,t)=>{const{ctrlsFactory:r,context:s,gos:n,resizeObserverService:o,clientSideRowModel:c,serverSideRowModel:a}=(0,T.useContext)(ue),[l,d]=(0,T.useState)(()=>new pe),[i,u]=(0,T.useState)(()=>new pe),[g,P]=(0,T.useState)(),[v,h]=(0,T.useState)(),m=(0,T.useRef)(),p=(0,T.useRef)(null),C=(0,T.useRef)(),_=(0,T.useMemo)(()=>Re.ModuleRegistry.__getGridRegisteredModules(e.api.getGridId()),[e]),y=(0,T.useMemo)(()=>l.toString()+" ag-details-row",[l]),S=(0,T.useMemo)(()=>i.toString()+" ag-details-grid",[i]);t&&(0,T.useImperativeHandle)(t,()=>({refresh(){var j,R;return(R=(j=m.current)==null?void 0:j.refresh())!=null?R:!1}})),e.template&&Re._.warnOnce("detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://ag-grid.com/react-data-grid/master-detail-custom-detail/");const B=(0,T.useCallback)(j=>{if(p.current=j,!p.current){s.destroyBean(m.current),C.current&&C.current();return}const R={addOrRemoveCssClass:(O,I)=>d(b=>b.setClass(O,I)),addOrRemoveDetailGridCssClass:(O,I)=>u(b=>b.setClass(O,I)),setDetailGrid:O=>P(O),setRowData:O=>h(O),getGui:()=>p.current},F=r.getInstance("detailCellRenderer");if(F&&(s.createBean(F),F.init(R,e),m.current=F,n.get("detailRowAutoHeight"))){const O=()=>{if(p.current==null)return;const I=p.current.clientHeight;I!=null&&I>0&&setTimeout(()=>{e.node.setRowHeight(I),c?c.onRowHeightChanged():a&&a.onRowHeightChanged()},0)};C.current=o.observeResize(p.current,O),O()}},[]),w=(0,T.useCallback)((j,R)=>{var F;(F=m.current)==null||F.registerDetailWithMaster(j,R)},[]);return T.default.createElement("div",{className:y,ref:B},g&&T.default.createElement(Pt,ie(V({className:S},g),{modules:_,rowData:v,setGridApi:w})))}),rs=class extends Re.VanillaFrameworkOverrides{constructor(){super("react"),this.frameworkComponents={agGroupCellRenderer:yt,agGroupRowRenderer:yt,agDetailCellRenderer:ts},this.wrapIncoming=(e,t)=>t==="ensureVisible"?hr(e):e(),this.renderingEngine="react"}frameworkComponent(e){return this.frameworkComponents[e]}isFrameworkComponent(e){if(!e)return!1;const t=e.prototype;return!(t&&"getGui"in t)}},ss=class extends lt.Component{constructor(){super(...arguments),this.apiListeners=[],this.setGridApi=(e,t)=>{this.api=e,this.columnApi=t,this.apiListeners.forEach(r=>r(e))}}registerApiListener(e){this.apiListeners.push(e)}componentWillUnmount(){this.apiListeners.length=0}render(){return lt.default.createElement(Pt,ie(V({},this.props),{setGridApi:this.setGridApi}))}},St=(e=>(e.IdentityCheck="IdentityCheck",e.DeepValueCheck="DeepValueCheck",e.NoCheck="NoCheck",e))(St||{});function Be(e){const{setMethods:t}=(0,Jt.useContext)(je);t(e)}function ns(e){Be(e)}function os(e){return Be(e)}function as(e){return Be(e)}function ls(e){Be(e)}function cs(e){Be(e)}if(typeof Ae.exports=="object"&&typeof Ye=="object"){var is=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Object.getOwnPropertyNames(t))!Object.prototype.hasOwnProperty.call(e,n)&&n!==r&&Object.defineProperty(e,n,{get:()=>t[n],enumerable:!(s=Object.getOwnPropertyDescriptor(t,n))||s.enumerable});return e};Ae.exports=is(Ae.exports,Ye)}return Ae.exports});
(function(Fe,_e){typeof exports=="object"&&typeof module=="object"?module.exports=_e(require("ag-grid-community"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define("AgGridReact",["ag-grid-community","react","react-dom"],_e):typeof exports=="object"?exports.AgGridReact=_e(require("ag-grid-community"),require("react"),require("react-dom")):Fe.AgGridReact=_e(Fe["ag-grid-community"],Fe.react,Fe["react-dom"])})(this,(Fe,_e,es)=>{var je={},Ge={exports:je},vt=Object.create,We=Object.defineProperty,wt=Object.getOwnPropertyDescriptor,St=Object.getOwnPropertyNames,bt=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty,Pt=(e,t)=>{for(var r in t)We(e,r,{get:t[r],enumerable:!0})},et=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of St(t))!Et.call(e,n)&&n!==r&&We(e,n,{get:()=>t[n],enumerable:!(s=wt(t,n))||s.enumerable});return e},X=(e,t,r)=>(r=e!=null?vt(bt(e)):{},et(t||!e||!e.__esModule?We(r,"default",{value:e,enumerable:!0}):r,e)),Mt=e=>et(We({},"__esModule",{value:!0}),e),tt={};Pt(tt,{AgGridReact:()=>jr,CustomComponentContext:()=>De,getInstance:()=>nr,useGridCellEditor:()=>zr,useGridDate:()=>$r,useGridFilter:()=>Jr,useGridFloatingFilter:()=>Kr,useGridMenuItem:()=>Qr,warnReactiveCustomComponents:()=>qe}),Ge.exports=Mt(tt);var rt=X(require("react"),1),Re=require("ag-grid-community"),G=X(require("react"),1),kt=require("ag-grid-community"),O=X(require("react"),1),Ft=X(require("react"),1),ze=X(require("react-dom"),1),$e=require("ag-grid-community"),Ie=X(require("react"),1),_t=require("react"),Oe=require("ag-grid-community"),Gt=require("react"),It=require("react-dom"),Ot=require("ag-grid-community"),st=require("ag-grid-community"),xt=require("ag-grid-community"),T=X(require("react"),1),ve=require("ag-grid-community"),w=X(require("react"),1),At=require("ag-grid-community"),ue=X(require("react"),1),Dt=require("ag-grid-community"),ne=X(require("react"),1),nt=require("ag-grid-community"),oe=X(require("react"),1),Je=require("ag-grid-community"),re=X(require("react"),1),Bt=require("ag-grid-community"),D=X(require("react"),1),J=X(require("react"),1),Tt=require("react"),ot=require("ag-grid-community"),z=X(require("react"),1),Wt=require("ag-grid-community"),x=X(require("react"),1),at=require("ag-grid-community"),f=X(require("react"),1),Nt=require("ag-grid-community"),xe=X(require("react"),1),Ht=require("react-dom"),be=require("react"),Ne=require("react"),He=require("ag-grid-community"),de=X(require("react"),1),Ut=require("ag-grid-community"),qt=require("react"),ae=Ft.default.createContext({}),Ae=(e,t,r,s)=>{if(!e||e.componentFromFramework||t.isDestroyed())return;const a=e.newAgStackInstance();if(a==null)return;let l,o,c=!1;return a.then(p=>{if(c){t.destroyBean(p);return}l=p,o=l.getGui(),r.appendChild(o),ct(s,l)}),()=>{c=!0,l&&(o&&o.parentElement&&o.parentElement.removeChild(o),t.destroyBean(l),s&&ct(s,void 0))}},ct=(e,t)=>{if(e)if(e instanceof Function)e(t);else{const r=e;r.current=t}},fe=(...e)=>e.filter(r=>r!=null&&r!=="").join(" "),me=class Rt{constructor(...t){this.classesMap={},t.forEach(r=>{this.classesMap[r]=!0})}setClass(t,r){if(!!this.classesMap[t]==r)return this;const n=new Rt;return n.classesMap={...this.classesMap},n.classesMap[t]=r,n}toString(){return Object.keys(this.classesMap).filter(r=>this.classesMap[r]).join(" ")}},Ee=e=>{const t=()=>typeof Symbol=="function"&&Symbol.for,r=()=>t()?Symbol.for("react.memo"):60115;return typeof e=="function"&&!(e.prototype&&e.prototype.isReactComponent)||typeof e=="object"&&e.$$typeof===r()},lt=ze.default.createRoot!=null&&ze.default.flushSync!=null;function Lt(){return!lt}var Ue=!1;function Vt(e){return Ue||setTimeout(()=>Ue=!1,0),Ue=!0,e()}var Ke=(e,t)=>{lt&&e&&!Ue?ze.default.flushSync(t):t()};function Qe(e,t,r){if(t==null||e==null)return t;if(e===t||t.length===0&&e.length===0)return e;if(r||e.length===0&&t.length>0||e.length>0&&t.length===0)return t;const s=[],n=[],a=new Map,l=new Map;for(let o=0;o<t.length;o++){const c=t[o];l.set(c.getInstanceId(),c)}for(let o=0;o<e.length;o++){const c=e[o];a.set(c.getInstanceId(),c),l.has(c.getInstanceId())&&s.push(c)}for(let o=0;o<t.length;o++){const c=t[o],p=c.getInstanceId();a.has(p)||n.push(c)}return s.length===e.length&&n.length===0?e:s.length===0&&n.length===t.length?t:s.length===0?n:n.length===0?s:[...s,...n]}var it=(0,O.forwardRef)((e,t)=>{const{ctrlsFactory:r,context:s}=(0,O.useContext)(ae),n=(0,O.useRef)(null),a=(0,O.useRef)(null),l=(0,O.useRef)(null),o=(0,O.useRef)(null),c=(0,O.useRef)(null),p=(0,O.useRef)(),[i,u]=(0,O.useState)(),[S,g]=(0,O.useState)(),[d,h]=(0,O.useState)(),[m,C]=(0,O.useState)(()=>new me),[y,E]=(0,O.useState)(()=>new me("ag-hidden")),[b,k]=(0,O.useState)(()=>new me("ag-hidden")),[F,W]=(0,O.useState)(()=>new me("ag-invisible"));(0,O.useImperativeHandle)(t,()=>({refresh(){return!1}})),(0,O.useLayoutEffect)(()=>Ae(i,s,a.current),[i]);const I=(0,O.useCallback)(H=>{if(n.current=H,!n.current){s.destroyBean(p.current),p.current=null;return}const U={setInnerRenderer:(V,q)=>{u(V),h(q)},setChildCount:V=>g(V),addOrRemoveCssClass:(V,q)=>C(_=>_.setClass(V,q)),setContractedDisplayed:V=>k(q=>q.setClass("ag-hidden",!V)),setExpandedDisplayed:V=>E(q=>q.setClass("ag-hidden",!V)),setCheckboxVisible:V=>W(q=>q.setClass("ag-invisible",!V))},K=r.getInstance("groupCellRendererCtrl");K&&(p.current=s.createBean(K),p.current.init(U,n.current,l.current,o.current,c.current,it,e))},[]),R=(0,O.useMemo)(()=>`ag-cell-wrapper ${m.toString()}`,[m]),v=(0,O.useMemo)(()=>`ag-group-expanded ${y.toString()}`,[y]),P=(0,O.useMemo)(()=>`ag-group-contracted ${b.toString()}`,[b]),M=(0,O.useMemo)(()=>`ag-group-checkbox ${F.toString()}`,[F]),$=i&&i.componentFromFramework,N=$?i.componentClass:void 0,j=i==null&&d!=null,A=(0,kt._escapeString)(d,!0);return O.default.createElement("span",{className:R,ref:I,...e.colDef?{}:{role:p.current?.getCellAriaRole()}},O.default.createElement("span",{className:v,ref:o}),O.default.createElement("span",{className:P,ref:c}),O.default.createElement("span",{className:M,ref:l}),O.default.createElement("span",{className:"ag-group-value",ref:a},j&&O.default.createElement(O.default.Fragment,null,A),$&&O.default.createElement(N,{...i.params})),O.default.createElement("span",{className:"ag-group-child-count"},S))}),ut=it,De=(0,_t.createContext)({setMethods:()=>{}}),jt=e=>{const{initialProps:t,addUpdateCallback:r,CustomComponentClass:s,setMethods:n}=e,[a,l]=(0,Ie.useState)(t);return(0,Ie.useEffect)(()=>{r(o=>l(o))},[]),Ie.default.createElement(De.Provider,{value:{setMethods:n}},Ie.default.createElement(s,{...a}))},zt=(0,Ie.memo)(jt),$t=0;function dt(){return`agPortalKey_${++$t}`}var pt=class{constructor(e,t,r,s){this.portal=null,this.oldPortal=null,this.reactComponent=e,this.portalManager=t,this.componentType=r,this.suppressFallbackMethods=!!s,this.statelessComponent=this.isStateless(this.reactComponent),this.key=dt(),this.portalKey=dt(),this.instanceCreated=this.isStatelessComponent()?Oe.AgPromise.resolve(!1):new Oe.AgPromise(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(),r=document.createElement(t||"div");return r.classList.add("ag-react-container"),e.reactContainer=r,r}addParentContainerStyleAndClasses(){this.componentInstance&&(this.componentInstance.getReactContainerStyle&&this.componentInstance.getReactContainerStyle()&&((0,Oe._warnOnce)('Since v31.1 "getReactContainerStyle" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),Object.assign(this.eParentElement.style,this.componentInstance.getReactContainerStyle())),this.componentInstance.getReactContainerClasses&&this.componentInstance.getReactContainerClasses()&&((0,Oe._warnOnce)('Since v31.1 "getReactContainerClasses" is deprecated. Apply styling directly to ".ag-react-container" if needed.'),this.componentInstance.getReactContainerClasses().forEach(t=>this.eParentElement.classList.add(t))))}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 r=this.getFrameworkComponentInstance();if(this.isStatelessComponent())return this.fallbackMethod(e,t&&t[0]?t[0]:{});if(!r){setTimeout(()=>this.callMethod(e,t));return}const s=r[e];if(s)return s.apply(r,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.params=e,this.createOrUpdatePortal(e),new Oe.AgPromise(t=>this.createReactComponent(t))}createOrUpdatePortal(e){this.isStatelessComponent()||(this.ref=t=>{this.componentInstance=t,this.addParentContainerStyleAndClasses(),this.resolveInstanceCreated?.(!0),this.resolveInstanceCreated=void 0},e.ref=this.ref),this.reactElement=this.createElement(this.reactComponent,{...e,key:this.key}),this.portal=(0,It.createPortal)(this.reactElement,this.eParentElement,this.portalKey)}createElement(e,t){return(0,Gt.createElement)(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 r=this[`${e}Component`];if(!this.suppressFallbackMethods&&r)return r.bind(this)(t)}fallbackMethodAvailable(e){return this.suppressFallbackMethods?!1:!!this[`${e}Component`]}};function Ye(e,t,r){e.forEach(s=>{const n=t[s];n&&(r[s]=n)})}var he=class extends pt{constructor(){super(...arguments),this.awaitUpdateCallback=new $e.AgPromise(e=>{this.resolveUpdateCallback=e}),this.wrapperComponent=zt}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:r=>this.setMethods(r),addUpdateCallback:r=>{this.updateCallback=()=>(r(this.getProps()),new $e.AgPromise(s=>{setTimeout(()=>{s()})})),this.resolveUpdateCallback()}})}setMethods(e){this.providedMethods=e,Ye(this.getOptionalMethods(),this.providedMethods,this)}getOptionalMethods(){return[]}getProps(){return{...this.sourceParams,key:this.key,ref:this.ref}}refreshProps(){return this.updateCallback?this.updateCallback():new $e.AgPromise(e=>this.awaitUpdateCallback.then(()=>{this.updateCallback().then(()=>e())}))}},Jt=class extends he{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},Kt=class extends he{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}},Qt=class extends he{constructor(){super(...arguments),this.model=null,this.onModelChange=e=>this.updateModel(e),this.onUiChange=()=>this.sourceParams.filterChangedCallback(),this.expectingNewMethods=!0}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.refreshProps()}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getOptionalMethods(){return["afterGuiAttached","afterGuiDetached","onNewRowsLoaded","getModelAsString","onAnyFilterChanged"]}setMethods(e){this.expectingNewMethods===!1&&this.providedMethods?.doesFilterPass!==e?.doesFilterPass&&setTimeout(()=>{this.sourceParams.filterChangedCallback()}),this.expectingNewMethods=!1,super.setMethods(e)}updateModel(e){this.setModel(e).then(()=>this.sourceParams.filterChangedCallback())}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e.onUiChange=this.onUiChange,delete e.filterChangedCallback,delete e.filterModifiedCallback,delete e.valueGetter,e}};function mt(e,t){e.parentFilterInstance(r=>{(r.setModel(t)||Ot.AgPromise.resolve()).then(()=>{e.filterParams.filterChangedCallback()})})}var Yt=class{constructor(e,t){this.floatingFilterParams=e,this.refreshProps=t,this.model=null,this.onModelChange=r=>this.updateModel(r)}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){Ye(this.getOptionalMethods(),e,this)}getOptionalMethods(){return["afterGuiAttached"]}updateModel(e){this.model=e,this.refreshProps(),mt(this.floatingFilterParams,e)}},Zt=class extends he{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(),mt(this.sourceParams,e)}getProps(){const e=super.getProps();return e.model=this.model,e.onModelChange=this.onModelChange,e}},Xt=class extends he{refresh(e){this.sourceParams=e,this.refreshProps()}},er=class extends he{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}},tr=class extends he{refresh(e){this.sourceParams=e,this.refreshProps()}},rr=class extends he{refresh(e){return this.sourceParams=e,this.refreshProps(),!0}},sr=class extends he{constructor(){super(...arguments),this.onStateChange=e=>this.updateState(e)}refresh(e){return this.sourceParams=e,this.refreshProps(),!0}getState(){return this.state}updateState(e){this.state=e,this.refreshProps(),this.sourceParams.onStateUpdated()}getProps(){const e=super.getProps();return e.state=this.state,e.onStateChange=this.onStateChange,e}};function nr(e,t){(e?.getInstance?.()??st.AgPromise.resolve(void 0)).then(s=>t(s))}function qe(){(0,st._warnOnce)("As of v32, using custom components with `reactiveCustomComponents = false` is deprecated.")}var or=1e3,ar=class{constructor(e,t,r){this.destroyed=!1,this.portals=[],this.hasPendingPortalUpdate=!1,this.wrappingElement=t||"div",this.refresher=e,this.maxComponentCreationTimeMs=r||or}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,r){this.portals=[...this.portals,e],this.waitForInstance(t,r),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,r=Date.now()){if(this.destroyed){t(null);return}if(e.rendered())t(e);else{if(Date.now()-r>=this.maxComponentCreationTimeMs&&!this.hasPendingPortalUpdate)return;window.setTimeout(()=>{this.waitForInstance(e,t,r)})}}},cr=e=>{const{ctrl:t}=e,r=t.isAlive(),{context:s}=(0,re.useContext)(ae),n=r?t.getColId():void 0,[a,l]=(0,re.useState)(),o=(0,re.useRef)(null),c=(0,re.useRef)(null),p=(0,re.useRef)(null),i=(0,re.useRef)(),u=(0,re.useRef)();r&&!u.current&&(u.current=new Je.CssClassManager(()=>o.current));const S=(0,re.useCallback)(m=>{if(o.current=m,!o.current||!r)return;const C={setWidth:E=>{o.current&&(o.current.style.width=E)},addOrRemoveCssClass:(E,b)=>u.current.addOrRemoveCssClass(E,b),setAriaSort:E=>{o.current&&(E?(0,Je._setAriaSort)(o.current,E):(0,Je._removeAriaSort)(o.current))},setUserCompDetails:E=>l(E),getUserCompInstance:()=>i.current||void 0};t.setComp(C,o.current,c.current,p.current);const y=t.getSelectAllGui();c.current?.insertAdjacentElement("afterend",y)},[]);(0,re.useLayoutEffect)(()=>Ae(a,s,p.current,i),[a]),(0,re.useEffect)(()=>{t.setDragSource(o.current)},[a]);const g=(0,re.useMemo)(()=>!!(a?.componentFromFramework&&Ee(a.componentClass)),[a]),d=a&&a.componentFromFramework,h=a&&a.componentClass;return re.default.createElement("div",{ref:S,className:"ag-header-cell","col-id":n,role:"columnheader"},re.default.createElement("div",{ref:c,className:"ag-header-cell-resize",role:"presentation"}),re.default.createElement("div",{ref:p,className:"ag-header-cell-comp-wrapper",role:"presentation"},d&&g&&re.default.createElement(h,{...a.params}),d&&!g&&re.default.createElement(h,{...a.params,ref:i})))},lr=(0,re.memo)(cr),ir=e=>{const{context:t,gos:r}=(0,D.useContext)(ae),[s,n]=(0,D.useState)(()=>new me("ag-header-cell","ag-floating-filter")),[a,l]=(0,D.useState)(()=>new me),[o,c]=(0,D.useState)(()=>new me("ag-floating-filter-button","ag-hidden")),[p,i]=(0,D.useState)("false"),[u,S]=(0,D.useState)(),[,g]=(0,D.useState)(1),d=(0,D.useRef)(null),h=(0,D.useRef)(null),m=(0,D.useRef)(null),C=(0,D.useRef)(null),y=(0,D.useRef)(),E=(0,D.useRef)(),b=A=>{A!=null&&y.current&&y.current(A)},{ctrl:k}=e,F=(0,D.useCallback)(A=>{if(d.current=A,!d.current)return;E.current=new Bt.AgPromise(U=>{y.current=U});const H={addOrRemoveCssClass:(U,K)=>n(V=>V.setClass(U,K)),addOrRemoveBodyCssClass:(U,K)=>l(V=>V.setClass(U,K)),setButtonWrapperDisplayed:U=>{c(K=>K.setClass("ag-hidden",!U)),i(U?"false":"true")},setWidth:U=>{d.current&&(d.current.style.width=U)},setCompDetails:U=>S(U),getFloatingFilterComp:()=>E.current?E.current:null,setMenuIcon:U=>C.current?.appendChild(U)};k.setComp(H,d.current,C.current,h.current)},[]);(0,D.useLayoutEffect)(()=>Ae(u,t,h.current,b),[u]);const W=(0,D.useMemo)(()=>s.toString(),[s]),I=(0,D.useMemo)(()=>a.toString(),[a]),R=(0,D.useMemo)(()=>o.toString(),[o]),v=(0,D.useMemo)(()=>!!(u&&u.componentFromFramework&&Ee(u.componentClass)),[u]),P=(0,D.useMemo)(()=>r.get("reactiveCustomComponents"),[]),M=(0,D.useMemo)(()=>{if(u)if(P){const A=new Yt(u.params,()=>g(H=>H+1));return b(A),A}else u.componentFromFramework&&qe()},[u]),$=M?.getProps(),N=u&&u.componentFromFramework,j=u&&u.componentClass;return D.default.createElement("div",{ref:F,className:W,role:"gridcell"},D.default.createElement("div",{ref:h,className:I,role:"presentation"},N&&!P&&D.default.createElement(j,{...u.params,ref:v?()=>{}:b}),N&&P&&D.default.createElement(De.Provider,{value:{setMethods:A=>M.setMethods(A)}},D.default.createElement(j,{...$}))),D.default.createElement("div",{ref:m,"aria-hidden":p,className:R,role:"presentation"},D.default.createElement("button",{ref:C,type:"button",className:"ag-button ag-floating-filter-button-button",tabIndex:-1})))},ur=(0,D.memo)(ir),dr=e=>{const{context:t}=(0,J.useContext)(ae),{ctrl:r}=e,[s,n]=(0,J.useState)(()=>new me),[a,l]=(0,J.useState)(()=>new me),[o,c]=(0,J.useState)("false"),[p,i]=(0,J.useState)(),[u,S]=(0,J.useState)(),g=(0,J.useMemo)(()=>r.getColId(),[]),d=(0,J.useRef)(null),h=(0,J.useRef)(null),m=(0,J.useRef)(),C=(0,J.useCallback)(W=>{if(d.current=W,!d.current)return;const I={setWidth:R=>{d.current&&(d.current.style.width=R)},addOrRemoveCssClass:(R,v)=>n(P=>P.setClass(R,v)),setUserCompDetails:R=>S(R),setResizableDisplayed:R=>{l(v=>v.setClass("ag-hidden",!R)),c(R?"false":"true")},setAriaExpanded:R=>i(R),getUserCompInstance:()=>m.current||void 0};r.setComp(I,d.current,h.current)},[]);(0,J.useLayoutEffect)(()=>Ae(u,t,d.current),[u]),(0,J.useEffect)(()=>{d.current&&r.setDragSource(d.current)},[u]);const y=(0,J.useMemo)(()=>!!(u?.componentFromFramework&&Ee(u.componentClass)),[u]),E=(0,J.useMemo)(()=>"ag-header-group-cell "+s.toString(),[s]),b=(0,J.useMemo)(()=>"ag-header-cell-resize "+a.toString(),[a]),k=u&&u.componentFromFramework,F=u&&u.componentClass;return J.default.createElement("div",{ref:C,className:E,"col-id":g,role:"columnheader","aria-expanded":p},k&&y&&J.default.createElement(F,{...u.params}),k&&!y&&J.default.createElement(F,{...u.params,ref:m}),J.default.createElement("div",{ref:h,"aria-hidden":o,className:b}))},pr=(0,J.memo)(dr),mr=e=>{const{ctrl:t}=e,{topOffset:r,rowHeight:s}=(0,oe.useMemo)(()=>t.getTopAndHeight(),[]),n=t.getAriaRowIndex(),a=t.getHeaderRowClass(),[l,o]=(0,oe.useState)(()=>s+"px"),[c,p]=(0,oe.useState)(()=>r+"px"),i=(0,oe.useRef)(null),u=(0,oe.useRef)(null),[S,g]=(0,oe.useState)(()=>t.getHeaderCtrls()),d=(0,oe.useRef)(null),h=(0,oe.useCallback)(y=>{if(d.current=y,!y)return;const E={setHeight:b=>o(b),setTop:b=>p(b),setHeaderCtrls:(b,k,F)=>{u.current=i.current,i.current=b;const W=Qe(u.current,b,k);W!==u.current&&Ke(F,()=>g(W))},setWidth:b=>{d.current&&(d.current.style.width=b)}};t.setComp(E,!1)},[]),m=(0,oe.useMemo)(()=>({height:l,top:c}),[l,c]),C=(0,oe.useCallback)(y=>{switch(t.getType()){case nt.HeaderRowType.COLUMN_GROUP:return oe.default.createElement(pr,{ctrl:y,key:y.getInstanceId()});case nt.HeaderRowType.FLOATING_FILTER:return oe.default.createElement(ur,{ctrl:y,key:y.getInstanceId()});default:return oe.default.createElement(lr,{ctrl:y,key:y.getInstanceId()})}},[]);return oe.default.createElement("div",{ref:h,className:a,role:"row",style:m,"aria-rowindex":n},S.map(C))},fr=(0,oe.memo)(mr),hr=e=>{const[t,r]=(0,ne.useState)(!0),[s,n]=(0,ne.useState)([]),{context:a}=(0,ne.useContext)(ae),l=(0,ne.useRef)(null),o=(0,ne.useRef)(null),c=(0,ne.useRef)(null),p=e.pinned==="left",i=e.pinned==="right",u=!p&&!i,S=(0,ne.useCallback)(h=>{if(l.current=h,!l.current){a.destroyBean(c.current),c.current=null;return}const m={setDisplayed:r,setCtrls:C=>n(C),setCenterWidth:C=>{o.current&&(o.current.style.width=C)},setViewportScrollLeft:C=>{l.current&&(l.current.scrollLeft=C)},setPinnedContainerWidth:C=>{l.current&&(l.current.style.width=C,l.current.style.minWidth=C,l.current.style.maxWidth=C)}};c.current=a.createBean(new Dt.HeaderRowContainerCtrl(e.pinned)),c.current.setComp(m,l.current)},[]),g=t?"":"ag-hidden",d=()=>s.map(h=>ne.default.createElement(fr,{ctrl:h,key:h.getInstanceId()}));return ne.default.createElement(ne.default.Fragment,null,p&&ne.default.createElement("div",{ref:S,className:"ag-pinned-left-header "+g,"aria-hidden":!t,role:"rowgroup"},d()),i&&ne.default.createElement("div",{ref:S,className:"ag-pinned-right-header "+g,"aria-hidden":!t,role:"rowgroup"},d()),u&&ne.default.createElement("div",{ref:S,className:"ag-header-viewport "+g,role:"presentation"},ne.default.createElement("div",{ref:o,className:"ag-header-container",role:"rowgroup"},d())))},Ze=(0,ne.memo)(hr),Cr=()=>{const[e,t]=(0,ue.useState)(()=>new me),[r,s]=(0,ue.useState)(),{context:n}=(0,ue.useContext)(ae),a=(0,ue.useRef)(null),l=(0,ue.useRef)(null),o=(0,ue.useCallback)(i=>{if(a.current=i,!i){n.destroyBean(l.current),l.current=null;return}const u={addOrRemoveCssClass:(S,g)=>t(d=>d.setClass(S,g)),setHeightAndMinHeight:S=>s(S)};l.current=n.createBean(new At.GridHeaderCtrl),l.current.setComp(u,a.current,a.current)},[]),c=(0,ue.useMemo)(()=>"ag-header "+e.toString(),[e]),p=(0,ue.useMemo)(()=>({height:r,minHeight:r}),[r]);return ue.default.createElement("div",{ref:o,className:c,style:p,role:"presentation"},ue.default.createElement(Ze,{pinned:"left"}),ue.default.createElement(Ze,{pinned:null}),ue.default.createElement(Ze,{pinned:"right"}))},gr=(0,ue.memo)(Cr),yr=(e,t)=>{(0,Tt.useEffect)(()=>{const r=t.current;if(r){const s=r.parentElement;if(s){const n=document.createComment(e);return s.insertBefore(n,r),()=>{s.removeChild(n)}}}},[e])},we=yr,Rr=class{constructor(e,t){this.cellEditorParams=e,this.refreshProps=t,this.instanceCreated=new Nt.AgPromise(r=>{this.resolveInstanceCreated=r}),this.onValueChange=r=>this.updateValue(r),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){Ye(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"]}updateValue(e){this.value=e,this.refreshProps()}},vr=e=>{const t=(0,be.useRef)(e),r=(0,be.useRef)(),s=(0,be.useRef)(!1),n=(0,be.useRef)(!1),[,a]=(0,be.useState)(0);s.current&&(n.current=!0),(0,be.useEffect)(()=>(s.current||(r.current=t.current(),s.current=!0),a(l=>l+1),()=>{n.current&&r.current&&r.current()}),[])},wr=e=>{const[t,r]=(0,xe.useState)(),{context:s,popupService:n,localeService:a,gos:l,editService:o}=(0,xe.useContext)(ae);return vr(()=>{const{editDetails:c,cellCtrl:p,eParentCell:i}=e,{compDetails:u}=c,S=l.get("stopEditingWhenCellsLoseFocus"),g=s.createBean(o.createPopupEditorWrapper(u.params)),d=g.getGui();if(e.jsChildComp){const b=e.jsChildComp.getGui();b&&d.appendChild(b)}const h={column:p.getColumn(),rowNode:p.getRowNode(),type:"popupCellEditor",eventSource:i,ePopup:d,position:c.popupPosition,keepWithinBounds:!0},m=n.positionPopupByComponent.bind(n,h),C=a.getLocaleTextFunc(),y=n.addPopup({modal:S,eChild:d,closeOnEsc:!0,closedCallback:()=>{p.onPopupEditorClosed()},anchorToElement:i,positionCallback:m,ariaLabel:C("ariaLabelCellEditor","Cell Editor")}),E=y?y.hideFunc:void 0;return r(g),e.jsChildComp&&e.jsChildComp.afterGuiAttached&&e.jsChildComp.afterGuiAttached(),()=>{E?.(),s.destroyBean(g)}}),xe.default.createElement(xe.default.Fragment,null,t&&e.wrappedContent&&(0,Ht.createPortal)(e.wrappedContent,t.getGui()))},ft=(0,xe.memo)(wr),Sr=(e,t,r,s,n,a)=>{const{context:l}=(0,Ne.useContext)(ae),o=(0,Ne.useCallback)(()=>{const c=n.current;if(!c)return;const p=c.getGui();p&&p.parentElement&&p.parentElement.removeChild(p),l.destroyBean(c),n.current=void 0},[]);(0,Ne.useEffect)(()=>{const c=e!=null,p=e&&e.compDetails&&!e.compDetails.componentFromFramework,i=t&&r==null;if(!(c&&p&&!i)){o();return}const S=e.compDetails;if(n.current){const d=n.current,m=d.refresh!=null&&e.force==!1?d.refresh(S.params):!1;if(m===!0||m===void 0)return;o()}const g=S.newAgStackInstance();g?.then(d=>{if(!d)return;const h=d.getGui();if(!h)return;(t?r:a.current).appendChild(h),n.current=d})},[e,t,s]),(0,Ne.useEffect)(()=>o,[])},br=Sr,Er=(e,t,r)=>{const{compProxy:s}=e;r(s);const n=s.getProps(),a=Ee(t);return f.default.createElement(De.Provider,{value:{setMethods:l=>s.setMethods(l)}},a&&f.default.createElement(t,{...n}),!a&&f.default.createElement(t,{...n,ref:l=>s.setRef(l)}))},ht=(e,t,r)=>{const s=e.compProxy;return f.default.createElement(f.default.Fragment,null,!s&&f.default.createElement(t,{...e.compDetails.params,ref:r}),s&&Er(e,t,r))},Pr=(e,t,r,s,n,a)=>{const l=e.compDetails,o=l.componentClass,c=l.componentFromFramework&&!e.popup,p=l.componentFromFramework&&e.popup,i=!l.componentFromFramework&&e.popup;return f.default.createElement(f.default.Fragment,null,c&&ht(e,o,t),p&&f.default.createElement(ft,{editDetails:e,cellCtrl:n,eParentCell:s,wrappedContent:ht(e,o,r)}),i&&a&&f.default.createElement(ft,{editDetails:e,cellCtrl:n,eParentCell:s,jsChildComp:a}))},Mr=(e,t,r,s,n,a,l)=>{const{compDetails:o,value:c}=e,p=!o,i=o&&o.componentFromFramework,u=o&&o.componentClass,S=c?.toString?c.toString():c,g=()=>f.default.createElement(f.default.Fragment,null,p&&f.default.createElement(f.default.Fragment,null,S),i&&!a&&f.default.createElement(u,{...o.params,key:t,ref:s}),i&&a&&f.default.createElement(u,{...o.params,key:t}));return f.default.createElement(f.default.Fragment,null,n?f.default.createElement("span",{role:"presentation",id:`cell-${r}`,className:"ag-cell-value",ref:l},g()):g())},kr=e=>{const{context:t}=(0,f.useContext)(ae),{cellCtrl:r,printLayout:s,editingRow:n}=e,a=r.getTabIndex(),l=r.getColumnIdSanitised(),o=r.getInstanceId(),[c,p]=(0,f.useState)(()=>r.isCellRenderer()?void 0:{compDetails:void 0,value:r.getValueToDisplay(),force:!1}),[i,u]=(0,f.useState)(),[S,g]=(0,f.useState)(1),[d,h]=(0,f.useState)(),[m,C]=(0,f.useState)(!1),[y,E]=(0,f.useState)(!1),[b,k]=(0,f.useState)(!1),[F,W]=(0,f.useState)(),I=(0,f.useMemo)(()=>r.isForceWrapper(),[r]),R=(0,f.useMemo)(()=>r.getCellAriaRole(),[r]),v=(0,f.useRef)(null),P=(0,f.useRef)(null),M=(0,f.useRef)(),$=(0,f.useRef)(),N=(0,f.useRef)(),j=(0,f.useRef)([]),A=(0,f.useRef)(),[H,U]=(0,f.useState)(0),K=(0,f.useCallback)(te=>{A.current=te,U(Y=>Y+1)},[]),V=c!=null&&(m||b||y),q=I||V,_=(0,f.useCallback)((te,Y)=>{$.current=Y,Y&&Y.isCancelBeforeStart&&Y.isCancelBeforeStart()&&setTimeout(()=>{r.stopEditing(!0),r.focusCell(!0)})},[r]),se=(0,f.useCallback)(te=>_(!0,te),[_]),ie=(0,f.useCallback)(te=>_(!1,te),[_]),L=(0,f.useRef)();L.current||(L.current=new at.CssClassManager(()=>v.current)),br(c,q,A.current,H,M,v);const ye=(0,f.useRef)();(0,f.useLayoutEffect)(()=>{const te=ye.current,Y=c;if(ye.current=c,te==null||te.compDetails==null||Y==null||Y.compDetails==null)return;const ee=te.compDetails,B=Y.compDetails;if(ee.componentClass!=B.componentClass||P.current==null||P.current.refresh==null)return;P.current.refresh(B.params)!=!0&&g(le=>le+1)},[c]),(0,f.useLayoutEffect)(()=>{if(!(i&&!i.compDetails.componentFromFramework))return;const Y=i.compDetails,ee=i.popup===!0,B=Y.newAgStackInstance();return B.then(Z=>{if(!Z)return;const le=Z.getGui();_(ee,Z),ee||((I?N:v).current?.appendChild(le),Z.afterGuiAttached&&Z.afterGuiAttached()),W(Z)}),()=>{B.then(Z=>{const le=Z.getGui();t.destroyBean(Z),_(ee,void 0),W(void 0),le&&le.parentElement&&le.parentElement.removeChild(le)})}},[i]);const ce=(0,f.useCallback)(te=>{if(N.current=te,!N.current){j.current.forEach(ee=>ee()),j.current=[];return}const Y=ee=>{if(ee){const B=ee.getGui();N.current?.insertAdjacentElement("afterbegin",B),j.current.push(()=>{t.destroyBean(ee),(0,at._removeFromParent)(B)})}return ee};if(m){const ee=r.createSelectionCheckbox();Y(ee)}b&&Y(r.createDndSource()),y&&Y(r.createRowDragComp())},[r,t,b,y,m]),Ce=(0,f.useCallback)(te=>{if(v.current=te,!v.current||!r)return;const Y={addOrRemoveCssClass:(B,Z)=>L.current.addOrRemoveCssClass(B,Z),setUserStyles:B=>h(B),getFocusableElement:()=>v.current,setIncludeSelection:B=>C(B),setIncludeRowDrag:B=>E(B),setIncludeDndSource:B=>k(B),getCellEditor:()=>$.current||null,getCellRenderer:()=>P.current?P.current:M.current,getParentOfValue:()=>A.current?A.current:N.current?N.current:v.current,setRenderDetails:(B,Z,le)=>{p(ge=>ge?.compDetails!==B||ge?.value!==Z||ge?.force!==le?{value:Z,compDetails:B,force:le}:ge)},setEditDetails:(B,Z,le,ge)=>{if(B){let Me;ge?Me=new Rr(B.params,()=>g(Se=>Se+1)):B.componentFromFramework&&qe(),u({compDetails:B,popup:Z,popupPosition:le,compProxy:Me}),Z||p(void 0)}else u(Me=>{Me?.compProxy&&($.current=void 0)})}},ee=N.current||void 0;r.setComp(Y,v.current,ee,s,n)},[]),Pe=(0,f.useMemo)(()=>!!(c&&c.compDetails&&c.compDetails.componentFromFramework&&Ee(c.compDetails.componentClass)),[c]);(0,f.useLayoutEffect)(()=>{v.current&&(L.current.addOrRemoveCssClass("ag-cell-value",!q),L.current.addOrRemoveCssClass("ag-cell-inline-editing",!!i&&!i.popup),L.current.addOrRemoveCssClass("ag-cell-popup-editing",!!i&&!!i.popup),L.current.addOrRemoveCssClass("ag-cell-not-inline-editing",!i||!!i.popup),r.getRowCtrl()?.setInlineEditingCss(!!i),r.shouldRestoreFocus()&&!r.isEditing()&&v.current.focus({preventScroll:!0}))});const Le=()=>f.default.createElement(f.default.Fragment,null,c!=null&&Mr(c,S,o,P,q,Pe,K),i!=null&&Pr(i,ie,se,v.current,r,F));return f.default.createElement("div",{ref:Ce,style:d,tabIndex:a,role:R,"col-id":l},q?f.default.createElement("div",{className:"ag-cell-wrapper",role:"presentation",ref:ce},Le()):Le())},Fr=(0,f.memo)(kr),_r=e=>{const{context:t,gos:r}=(0,x.useContext)(ae),{rowCtrl:s,containerType:n}=e,a=s.getTabIndex(),l=(0,x.useRef)(s.getDomOrder()),o=s.isFullWidth(),c=s.getRowNode().displayed,[p,i]=(0,x.useState)(()=>c?s.getRowIndex():null),[u,S]=(0,x.useState)(()=>s.getRowId()),[g,d]=(0,x.useState)(()=>s.getBusinessKey()),[h,m]=(0,x.useState)(()=>s.getRowStyles()),C=(0,x.useRef)(null),y=(0,x.useRef)(null),[E,b]=(0,x.useState)(()=>null),[k,F]=(0,x.useState)(),[W,I]=(0,x.useState)(()=>c?s.getInitialRowTop(n):void 0),[R,v]=(0,x.useState)(()=>c?s.getInitialTransform(n):void 0),P=(0,x.useRef)(null),M=(0,x.useRef)(),$=(0,x.useRef)(!1),[N,j]=(0,x.useState)(0);(0,x.useEffect)(()=>{if($.current||!k||N>10)return;const L=P.current?.firstChild;L?(s.setupDetailRowAutoHeight(L),$.current=!0):j(ye=>ye+1)},[k,N]);const A=(0,x.useRef)();A.current||(A.current=new Wt.CssClassManager(()=>P.current));const H=(0,x.useCallback)(L=>{if(P.current=L,!P.current){s.unsetComp(n);return}if(!s.isAlive())return;const ye={setTop:I,setTransform:v,addOrRemoveCssClass:(ce,Ce)=>A.current.addOrRemoveCssClass(ce,Ce),setDomOrder:ce=>l.current=ce,setRowIndex:i,setRowId:S,setRowBusinessKey:d,setUserStyles:m,setCellCtrls:(ce,Ce)=>{y.current=C.current,C.current=ce;const Pe=Qe(y.current,ce,l.current);Pe!==y.current&&Ke(Ce,()=>b(Pe))},showFullWidth:ce=>F(ce),getFullWidthCellRenderer:()=>M.current,refreshFullWidth:ce=>_.current?(F(Ce=>({...Ce,params:ce()})),!0):!M.current||!M.current.refresh?!1:M.current.refresh(ce())};s.setComp(ye,P.current,n)},[]);(0,x.useLayoutEffect)(()=>Ae(k,t,P.current,M),[k]);const U=(0,x.useMemo)(()=>{const L={top:W,transform:R};return Object.assign(L,h),L},[W,R,h]),K=o&&k&&k.componentFromFramework,V=!o&&E!=null,q=(0,x.useMemo)(()=>!!(k?.componentFromFramework&&Ee(k.componentClass)),[k]),_=(0,x.useRef)(!1);(0,x.useEffect)(()=>{_.current=q&&!!k&&!!r.get("reactiveCustomComponents")},[q,k]);const se=()=>E?.map(L=>x.default.createElement(Fr,{cellCtrl:L,editingRow:s.isEditing(),printLayout:s.isPrintLayout(),key:L.getInstanceId()})),ie=()=>{const L=k.componentClass;return x.default.createElement(x.default.Fragment,null,q&&x.default.createElement(L,{...k.params}),!q&&x.default.createElement(L,{...k.params,ref:M}))};return x.default.createElement("div",{ref:H,role:"row",style:U,"row-index":p,"row-id":u,"row-business-key":g,tabIndex:a},V&&se(),K&&ie())},Gr=(0,x.memo)(_r),Ir=e=>{const{context:t}=(0,z.useContext)(ae),{name:r}=e,s=(0,z.useMemo)(()=>(0,ot._getRowContainerOptions)(r),[r]),n=(0,z.useRef)(null),a=(0,z.useRef)(null),l=(0,z.useRef)([]),o=(0,z.useRef)([]),[c,p]=(0,z.useState)(()=>[]),i=(0,z.useRef)(!1),u=(0,z.useRef)(),S=(0,z.useMemo)(()=>fe(s.viewport),[s]),g=(0,z.useMemo)(()=>fe(s.container),[s]),d=s.type==="center",h=d?n:a;we(" AG Row Container "+r+" ",h);const m=(0,z.useCallback)(()=>d?n.current!=null&&a.current!=null:a.current!=null,[]),C=(0,z.useCallback)(()=>d?n.current==null&&a.current==null:a.current==null,[]),y=(0,z.useCallback)(()=>{if(C()&&(t.destroyBean(u.current),u.current=null),m()){const F=I=>{const R=Qe(o.current,l.current,i.current);R!==o.current&&(o.current=R,Ke(I,()=>p(R)))},W={setViewportHeight:I=>{n.current&&(n.current.style.height=I)},setRowCtrls:({rowCtrls:I,useFlushSync:R})=>{const v=!!R&&l.current.length>0&&I.length>0;l.current=I,F(v)},setDomOrder:I=>{i.current!=I&&(i.current=I,F(!1))},setContainerWidth:I=>{a.current&&(a.current.style.width=I)},setOffsetTop:I=>{a.current&&(a.current.style.transform=`translateY(${I})`)}};u.current=t.createBean(new ot.RowContainerCtrl(r)),u.current.setComp(W,a.current,n.current)}},[m,C]),E=(0,z.useCallback)(F=>{a.current=F,y()},[y]),b=(0,z.useCallback)(F=>{n.current=F,y()},[y]),k=()=>z.default.createElement("div",{className:g,ref:E,role:"rowgroup"},c.map(F=>z.default.createElement(Gr,{rowCtrl:F,containerType:s.type,key:F.getInstanceId()})));return z.default.createElement(z.default.Fragment,null,d?z.default.createElement("div",{className:S,ref:b,role:"presentation"},k()):k())},Or=(0,z.memo)(Ir),xr=()=>{const{context:e,resizeObserverService:t}=(0,w.useContext)(ae),[r,s]=(0,w.useState)(""),[n,a]=(0,w.useState)(0),[l,o]=(0,w.useState)(0),[c,p]=(0,w.useState)("0px"),[i,u]=(0,w.useState)("0px"),[S,g]=(0,w.useState)("100%"),[d,h]=(0,w.useState)("0px"),[m,C]=(0,w.useState)("0px"),[y,E]=(0,w.useState)("100%"),[b,k]=(0,w.useState)(""),[F,W]=(0,w.useState)(""),[I,R]=(0,w.useState)(null),[v,P]=(0,w.useState)(""),[M,$]=(0,w.useState)(null),[N,j]=(0,w.useState)("ag-layout-normal"),A=(0,w.useRef)();A.current||(A.current=new ve.CssClassManager(()=>H.current));const H=(0,w.useRef)(null),U=(0,w.useRef)(null),K=(0,w.useRef)(null),V=(0,w.useRef)(null),q=(0,w.useRef)(null),_=(0,w.useRef)(null),se=(0,w.useRef)(null),ie=(0,w.useRef)([]),L=(0,w.useRef)([]);we(" AG Grid Body ",H),we(" AG Pinned Top ",U),we(" AG Sticky Top ",K),we(" AG Middle ",_),we(" AG Pinned Bottom ",se);const ye=(0,w.useCallback)(ke=>{if(H.current=ke,!H.current){e.destroyBeans(ie.current),L.current.forEach(Q=>Q()),ie.current=[],L.current=[];return}if(!e)return;const Ve=(Q,pe)=>{Q.appendChild(pe),L.current.push(()=>Q.removeChild(pe))},Xe=Q=>{const pe=e.createBean(new Q);return ie.current.push(pe),pe},Te=(Q,pe,Xr)=>{Ve(Q,document.createComment(Xr)),Ve(Q,Xe(pe).getGui())};Te(H.current,ve.FakeHScrollComp," AG Fake Horizontal Scroll "),Te(H.current,ve.OverlayWrapperComponent," AG Overlay Wrapper "),q.current&&Te(q.current,ve.FakeVScrollComp," AG Fake Vertical Scroll ");const Zr={setRowAnimationCssOnBodyViewport:s,setColumnCount:Q=>{H.current&&(0,ve._setAriaColCount)(H.current,Q)},setRowCount:Q=>{H.current&&(0,ve._setAriaRowCount)(H.current,Q)},setTopHeight:a,setBottomHeight:o,setStickyTopHeight:p,setStickyTopTop:u,setStickyTopWidth:g,setTopDisplay:k,setBottomDisplay:W,setColumnMovingCss:(Q,pe)=>A.current.addOrRemoveCssClass(Q,pe),updateLayoutClasses:j,setAlwaysVerticalScrollClass:R,setPinnedTopBottomOverflowY:P,setCellSelectableCss:(Q,pe)=>$(pe?Q:null),setBodyViewportWidth:Q=>{_.current&&(_.current.style.width=Q)},registerBodyViewportResizeListener:Q=>{if(_.current){const pe=t.observeResize(_.current,Q);L.current.push(()=>pe())}},setStickyBottomHeight:h,setStickyBottomBottom:C,setStickyBottomWidth:E},yt=e.createBean(new ve.GridBodyCtrl);ie.current.push(yt),yt.setComp(Zr,H.current,_.current,U.current,se.current,K.current,V.current)},[]),ce=(0,w.useMemo)(()=>fe("ag-root","ag-unselectable",N),[N]),Ce=(0,w.useMemo)(()=>fe("ag-body-viewport",r,N,I,M),[r,N,I,M]),Pe=(0,w.useMemo)(()=>fe("ag-body",N),[N]),Le=(0,w.useMemo)(()=>fe("ag-floating-top",M),[M]),te=(0,w.useMemo)(()=>fe("ag-sticky-top",M),[M]),Y=(0,w.useMemo)(()=>fe("ag-sticky-bottom",M),[M]),ee=(0,w.useMemo)(()=>fe("ag-floating-bottom",M),[M]),B=(0,w.useMemo)(()=>({height:n,minHeight:n,display:b,overflowY:v}),[n,b,v]),Z=(0,w.useMemo)(()=>({height:c,top:i,width:S}),[c,i,S]),le=(0,w.useMemo)(()=>({height:d,bottom:m,width:y}),[d,m,y]),ge=(0,w.useMemo)(()=>({height:l,minHeight:l,display:F,overflowY:v}),[l,F,v]),Me=ke=>w.default.createElement(Or,{name:ke,key:`${ke}-container`}),Se=({section:ke,children:Ve,className:Xe,style:Te})=>w.default.createElement("div",{ref:ke,className:Xe,role:"presentation",style:Te},Ve.map(Me));return w.default.createElement("div",{ref:ye,className:ce,role:"treegrid"},w.default.createElement(gr,null),Se({section:U,className:Le,style:B,children:["topLeft","topCenter","topRight","topFullWidth"]}),w.default.createElement("div",{className:Pe,ref:q,role:"presentation"},Se({section:_,className:Ce,children:["left","center","right","fullWidth"]})),Se({section:K,className:te,style:Z,children:["stickyTopLeft","stickyTopCenter","stickyTopRight","stickyTopFullWidth"]}),Se({section:V,className:Y,style:le,children:["stickyBottomLeft","stickyBottomCenter","stickyBottomRight","stickyBottomFullWidth"]}),Se({section:se,className:ee,style:ge,children:["bottomLeft","bottomCenter","bottomRight","bottomFullWidth"]}))},Ar=(0,w.memo)(xr),Dr=(e,t)=>{const{children:r,eFocusableElement:s,onTabKeyDown:n,gridCtrl:a,forceFocusOutWhenTabGuardsAreEmpty:l}=e,{context:o}=(0,de.useContext)(ae),c=(0,de.useRef)(null),p=(0,de.useRef)(null),i=(0,de.useRef)(),u=m=>{const C=m==null?void 0:parseInt(m,10).toString();[c,p].forEach(y=>{C===void 0?y.current?.removeAttribute("tabindex"):y.current?.setAttribute("tabindex",C)})};(0,de.useImperativeHandle)(t,()=>({forceFocusOutOfContainer(m){i.current?.forceFocusOutOfContainer(m)}}));const S=(0,de.useCallback)(()=>{if(!c.current&&!p.current){o.destroyBean(i.current),i.current=null;return}if(c.current&&p.current){const m={setTabIndex:u};i.current=o.createBean(new He.TabGuardCtrl({comp:m,eTopGuard:c.current,eBottomGuard:p.current,eFocusableElement:s,onTabKeyDown:n,forceFocusOutWhenTabGuardsAreEmpty:l,focusInnerElement:C=>a.focusInnerElement(C)}))}},[]),g=(0,de.useCallback)(m=>{c.current=m,S()},[S]),d=(0,de.useCallback)(m=>{p.current=m,S()},[S]),h=m=>{const C=m==="top"?He.TabGuardClassNames.TAB_GUARD_TOP:He.TabGuardClassNames.TAB_GUARD_BOTTOM;return de.default.createElement("div",{className:`${He.TabGuardClassNames.TAB_GUARD} ${C}`,role:"presentation",ref:m==="top"?g:d})};return de.default.createElement(de.default.Fragment,null,h("top"),r,h("bottom"))},Br=(0,de.forwardRef)(Dr),Tr=(0,de.memo)(Br),Wr=({context:e})=>{const[t,r]=(0,T.useState)(""),[s,n]=(0,T.useState)(""),[a,l]=(0,T.useState)(null),[o,c]=(0,T.useState)(null),[p,i]=(0,T.useState)(!1),[u,S]=(0,T.useState)(),g=(0,T.useRef)(null),d=(0,T.useRef)(null),h=(0,T.useRef)(),[m,C]=(0,T.useState)(null),y=(0,T.useRef)(()=>{}),E=(0,T.useRef)(),b=(0,T.useRef)([]),k=(0,T.useCallback)(()=>{},[]),F=(0,T.useMemo)(()=>e.isDestroyed()?null:e.getBeans(),[e]);we(" AG Grid ",d);const W=(0,T.useCallback)(M=>{if(d.current=M,!d.current){e.destroyBean(g.current),g.current=null;return}if(e.isDestroyed())return;g.current=e.createBean(new xt.GridCtrl);const $=g.current;y.current=$.focusInnerElement.bind($);const N={destroyGridUi:()=>{},setRtlClass:r,forceFocusOutOfContainer:j=>{if(!j&&E.current?.isDisplayed()){E.current.forceFocusOutOfContainer(j);return}h.current?.forceFocusOutOfContainer(j)},updateLayoutClasses:n,getFocusableContainers:()=>{const j=[],A=d.current?.querySelector(".ag-root");return A&&j.push({getGui:()=>A}),b.current.forEach(H=>{H.isDisplayed()&&j.push(H)}),j},setCursor:l,setUserSelect:c};$.setComp(N,d.current,d.current),i(!0)},[]);(0,T.useEffect)(()=>{if(!u||!F||!g.current||!m||!d.current)return;const M=g.current,$=[],{watermarkSelector:N,paginationSelector:j,sideBarSelector:A,statusBarSelector:H,gridHeaderDropZonesSelector:U}=M.getOptionalSelectors(),K=[],V=d.current;if(U){const _=e.createBean(new U.component),se=_.getGui();V.insertAdjacentElement("afterbegin",se),K.push(se),$.push(_)}if(A){const _=e.createBean(new A.component),se=_.getGui(),ie=m.querySelector(".ag-tab-guard-bottom");ie&&(ie.insertAdjacentElement("beforebegin",se),K.push(se)),$.push(_),b.current.push(_)}const q=_=>{const se=e.createBean(new _),ie=se.getGui();return V.insertAdjacentElement("beforeend",ie),K.push(ie),$.push(se),se};if(H&&q(H.component),j){const _=q(j.component);E.current=_,b.current.push(_)}return N&&q(N.component),()=>{e.destroyBeans($),K.forEach(_=>{_.parentElement&&_.parentElement.removeChild(_)})}},[u,m,F]);const I=(0,T.useMemo)(()=>fe("ag-root-wrapper",t,s),[t,s]),R=(0,T.useMemo)(()=>fe("ag-root-wrapper-body","ag-focus-managed",s),[s]),v=(0,T.useMemo)(()=>({userSelect:o??"",WebkitUserSelect:o??"",cursor:a??""}),[o,a]),P=(0,T.useCallback)(M=>{h.current=M,S(M!==null)},[]);return T.default.createElement("div",{ref:W,className:I,style:v,role:"presentation"},T.default.createElement("div",{className:R,ref:C,role:"presentation"},p&&m&&F&&T.default.createElement(ae.Provider,{value:F},T.default.createElement(Tr,{ref:P,eFocusableElement:m,onTabKeyDown:k,gridCtrl:g.current,forceFocusOutWhenTabGuardsAreEmpty:!0},T.default.createElement(Ar,null)))))},Nr=(0,T.memo)(Wr),Hr=class extends Ut.BeanStub{wireBeans(e){this.ctrlsService=e.ctrlsService}areHeaderCellsRendered(){return this.ctrlsService.getHeaderRowContainerCtrls().every(e=>e.getAllCtrls().every(t=>t.areCellsRendered()))}},Ct=e=>{const t=(0,G.useRef)(),r=(0,G.useRef)(null),s=(0,G.useRef)(null),n=(0,G.useRef)([]),a=(0,G.useRef)([]),l=(0,G.useRef)(e),o=(0,G.useRef)(),c=(0,G.useRef)(!1),[p,i]=(0,G.useState)(void 0),[,u]=(0,G.useState)(0),S=(0,G.useCallback)(h=>{if(r.current=h,!r.current){n.current.forEach(R=>R()),n.current.length=0;return}const m=e.modules||[];s.current||(s.current=new ar(()=>u(R=>R+1),e.componentWrappingElement,e.maxComponentCreationTimeMs),n.current.push(()=>{s.current?.destroy(),s.current=null}));const C=(0,Re._combineAttributesAndGridOptions)(e.gridOptions,e),y=()=>{if(c.current){const R=()=>o.current?.shouldQueueUpdates()?void 0:a.current.shift();let v=R();for(;v;)v(),v=R()}},E=Lt()?new Vr(y):new gt;o.current=E;const b=new Hr,k={providedBeanInstances:{frameworkComponentWrapper:new qr(s.current,C.reactiveCustomComponents??!0),renderStatusService:b},modules:m,frameworkOverrides:E},F=R=>{i(R),R.createBean(b),n.current.push(()=>{R.destroy()}),R.getBean("ctrlsService").whenReady(()=>{if(R.isDestroyed())return;const P=t.current;P&&e.setGridApi&&e.setGridApi(P)})},W=R=>{R.getBean("ctrlsService").whenReady(()=>{a.current.forEach(P=>P()),a.current.length=0,c.current=!0})},I=new Re.GridCoreCreator;t.current=I.create(r.current,C,F,W,k)},[]),g=(0,G.useMemo)(()=>({height:"100%",...e.containerStyle||{}}),[e.containerStyle]),d=(0,G.useCallback)(h=>{c.current&&!o.current?.shouldQueueUpdates()?h():a.current.push(h)},[]);return(0,G.useEffect)(()=>{const h=Ur(l.current,e);l.current=e,d(()=>{t.current&&(0,Re._processOnChange)(h,t.current)})},[e]),G.default.createElement("div",{style:g,className:e.className,ref:S},p&&!p.isDestroyed()?G.default.createElement(Nr,{context:p}):null,s.current?.getPortals()??null)};function Ur(e,t){const r={};return Object.keys(t).forEach(s=>{const n=t[s];e[s]!==n&&(r[s]=n)}),r}var qr=class extends Re.BaseComponentWrapper{constructor(e,t){super(),this.parent=e,this.reactiveCustomComponents=t}createWrapper(e,t){if(this.reactiveCustomComponents){const n=(a=>{switch(a){case"filter":return Qt;case"floatingFilterComponent":return Zt;case"dateComponent":return Kt;case"loadingOverlayComponent":return Xt;case"noRowsOverlayComponent":return tr;case"statusPanel":return rr;case"toolPanel":return sr;case"menuItem":return er;case"cellRenderer":return Jt}})(t.propertyName);if(n)return new n(e,this.parent,t)}else switch(t.propertyName){case"filter":case"floatingFilterComponent":case"dateComponent":case"loadingOverlayComponent":case"noRowsOverlayComponent":case"statusPanel":case"toolPanel":case"menuItem":case"cellRenderer":qe();break}const r=!t.cellRenderer&&t.propertyName!=="toolPanel";return new pt(e,this.parent,t,r)}},Lr=(0,G.forwardRef)((e,t)=>{const{ctrlsFactory:r,context:s,gos:n,resizeObserverService:a,rowModel:l}=(0,G.useContext)(ae),[o,c]=(0,G.useState)(()=>new me),[p,i]=(0,G.useState)(()=>new me),[u,S]=(0,G.useState)(),[g,d]=(0,G.useState)(),h=(0,G.useRef)(),m=(0,G.useRef)(null),C=(0,G.useRef)(),y=(0,G.useMemo)(()=>Re.ModuleRegistry.__getGridRegisteredModules(e.api.getGridId()),[e]),E=(0,G.useMemo)(()=>o.toString()+" ag-details-row",[o]),b=(0,G.useMemo)(()=>p.toString()+" ag-details-grid",[p]);t&&(0,G.useImperativeHandle)(t,()=>({refresh(){return h.current?.refresh()??!1}})),e.template&&(0,Re._warnOnce)("detailCellRendererParams.template is not supported by AG Grid React. To change the template, provide a Custom Detail Cell Renderer. See https://ag-grid.com/react-data-grid/master-detail-custom-detail/");const k=(0,G.useCallback)(W=>{if(m.current=W,!m.current){s.destroyBean(h.current),C.current&&C.current();return}const I={addOrRemoveCssClass:(v,P)=>c(M=>M.setClass(v,P)),addOrRemoveDetailGridCssClass:(v,P)=>i(M=>M.setClass(v,P)),setDetailGrid:v=>S(v),setRowData:v=>d(v),getGui:()=>m.current},R=r.getInstance("detailCellRenderer");if(R&&(s.createBean(R),R.init(I,e),h.current=R,n.get("detailRowAutoHeight"))){const v=()=>{if(m.current==null)return;const P=m.current.clientHeight;P!=null&&P>0&&setTimeout(()=>{e.node.setRowHeight(P),(l.getType()==="clientSide"||l.getType()==="serverSide")&&l.onRowHeightChanged()},0)};C.current=a.observeResize(m.current,v),v()}},[]),F=(0,G.useCallback)(W=>{h.current?.registerDetailWithMaster(W)},[]);return G.default.createElement("div",{className:E,ref:k},u&&G.default.createElement(Ct,{className:b,...u,modules:y,rowData:g,setGridApi:F}))}),gt=class extends Re.VanillaFrameworkOverrides{constructor(){super("react"),this.frameworkComponents={agGroupCellRenderer:ut,agGroupRowRenderer:ut,agDetailCellRenderer:Lr},this.wrapIncoming=(e,t)=>t==="ensureVisible"?Vt(e):e(),this.renderingEngine="react"}frameworkComponent(e){return this.frameworkComponents[e]}isFrameworkComponent(e){if(!e)return!1;const t=e.prototype;return!(t&&"getGui"in t)}shouldQueueUpdates(){return!1}getLockOnRefreshError(){return" This error can also occur if using 'ReactDOM.render' instead of 'createRoot'. If so, please upgrade to 'createRoot'."}},Vr=class extends gt{constructor(e){super(),this.processQueuedUpdates=e,this.queueUpdates=!1}getLockOnRefresh(){this.queueUpdates=!0}releaseLockOnRefresh(){this.queueUpdates=!1,this.processQueuedUpdates()}shouldQueueUpdates(){return this.queueUpdates}getLockOnRefreshError(){return""}},jr=class extends rt.Component{constructor(){super(...arguments),this.apiListeners=[],this.setGridApi=e=>{this.api=e,this.apiListeners.forEach(t=>t(e))}}registerApiListener(e){this.apiListeners.push(e)}componentWillUnmount(){this.apiListeners.length=0}render(){return rt.default.createElement(Ct,{...this.props,setGridApi:this.setGridApi})}};function Be(e){const{setMethods:t}=(0,qt.useContext)(De);t(e)}function zr(e){Be(e)}function $r(e){return Be(e)}function Jr(e){return Be(e)}function Kr(e){Be(e)}function Qr(e){Be(e)}if(typeof Ge.exports=="object"&&typeof je=="object"){var Yr=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Object.getOwnPropertyNames(t))!Object.prototype.hasOwnProperty.call(e,n)&&n!==r&&Object.defineProperty(e,n,{get:()=>t[n],enumerable:!(s=Object.getOwnPropertyDescriptor(t,n))||s.enumerable});return e};Ge.exports=Yr(Ge.exports,je)}return Ge.exports});
{
"name": "ag-grid-react",
"version": "31.3.2",
"version": "32.0.0",
"description": "AG Grid React Component",

@@ -32,8 +32,8 @@ "main": "./dist/package/index.cjs.js",

"devDependencies": {
"ag-grid-community": "31.3.2",
"ag-grid-community": "32.0.0",
"gulp": "^4.0.0",
"gulp-replace": "^1.0.0",
"prop-types": "^15.6.2",
"@types/react": "~18.0.0",
"@types/react-dom": "~18.0.0",
"@types/react": "~18.2.0",
"@types/react-dom": "~18.2.0",
"react": "^16.9.0",

@@ -44,3 +44,3 @@ "react-dom": "^16.9.0"

"prop-types": "^15.8.1",
"ag-grid-community": "31.3.2"
"ag-grid-community": "32.0.0"
},

@@ -47,0 +47,0 @@ "peerDependencies": {

{
"name": "ag-grid-react",
"version": "31.3.2",
"version": "32.0.0",
"description": "AG Grid React Component",

@@ -32,8 +32,8 @@ "main": "./dist/package/index.cjs.js",

"devDependencies": {
"ag-grid-community": "31.3.2",
"ag-grid-community": "32.0.0",
"gulp": "^4.0.0",
"gulp-replace": "^1.0.0",
"prop-types": "^15.6.2",
"@types/react": "~18.0.0",
"@types/react-dom": "~18.0.0",
"@types/react": "~18.2.0",
"@types/react-dom": "~18.2.0",
"react": "^16.9.0",

@@ -44,3 +44,3 @@ "react-dom": "^16.9.0"

"prop-types": "^15.8.1",
"ag-grid-community": "31.3.2"
"ag-grid-community": "32.0.0"
},

@@ -47,0 +47,0 @@ "peerDependencies": {

@@ -0,8 +1,6 @@

![AG Grid HTML5 Grid trusted by the community, built for enterprise](./github-banner.png 'AG Grid')
![AG Grid HTML5 Grid trusted by the community, built for enterprise](./github-banner.png "AG Grid")
[![CDNJS](https://img.shields.io/cdnjs/v/ag-grid)](https://cdnjs.com/libraries/ag-grid) [![npm](https://img.shields.io/npm/dm/ag-grid-react)](https://www.npmjs.com/package/ag-grid-react) [![Github Stars](https://img.shields.io/github/stars/ag-grid/ag-grid?style=social)](https://github.com/ag-grid/ag-grid) [![Twitter](https://img.shields.io/twitter/follow/ag_grid?style=social)](https://twitter.com/ag_grid)
AG Grid React Component
------
## AG Grid React Component

@@ -12,39 +10,37 @@ AG Grid is a fully-featured and highly customizable JavaScript data grid.

![Image of AG Grid showing filtering and grouping enabled.](./github-grid-demo.jpg "AG Grid demo")
![Image of AG Grid showing filtering and grouping enabled.](./github-grid-demo.jpg 'AG Grid demo')
## Features
Features
--------------
Besides the standard set of features you'd expect from any grid:
* Column Interactions (resize, reorder, and pin columns)
* Pagination
* Sorting
* Row Selection
- Column Interactions (resize, reorder, and pin columns)
- Pagination
- Sorting
- Row Selection
Here are some of the features that make AG Grid stand out:
* Grouping / Aggregation *
* Accessibility support
* Custom Filtering
* In-place Cell Editing
* Records Lazy Loading *
* Server-Side Records Operations *
* Live Stream Updates
* Hierarchical Data Support & Tree View *
* Customizable Appearance
* Customizable Cell Contents
* State Persistence
* Keyboard Navigation
* Data Export to CSV
* Data Export to Excel *
* Excel-like Pivoting *
* Row Reordering
* Copy / Paste
* Column Spanning
* Pinned Rows
* Full Width Rows
* Integrated Charting
* Sparklines
- Grouping / Aggregation \*
- Accessibility support
- Custom Filtering
- In-place Cell Editing
- Records Lazy Loading \*
- Server-Side Records Operations \*
- Live Stream Updates
- Hierarchical Data Support & Tree View \*
- Customizable Appearance
- Customizable Cell Contents
- State Persistence
- Keyboard Navigation
- Data Export to CSV
- Data Export to Excel \*
- Excel-like Pivoting \*
- Row Reordering
- Copy / Paste
- Column Spanning
- Pinned Rows
- Full Width Rows
- Integrated Charting
- Sparklines

@@ -55,4 +51,3 @@ \* The features marked with an asterisk are available in the [enterprise version](https://www.ag-grid.com/license-pricing?utm_source=ag-grid-react-readme&utm_medium=repository&utm_campaign=github) only.

Usage Overview
--------------
## Usage Overview

@@ -68,3 +63,3 @@ Use the setup instructions below or go through [a 5-minute-quickstart guide](https://www.ag-grid.com/react-grid?utm_source=ag-grid-react-readme&utm_medium=repository&utm_campaign=github).

import {AgGridReact} from 'ag-grid-react';
import 'ag-grid-community/styles//ag-grid.css';

@@ -74,62 +69,61 @@ import 'ag-grid-community/styles//ag-theme-quartz.css';

### Set the grid's configuration in a parent component
class App extends Component {
constructor(props) {
super(props);
this.state = {
columnDefs: [
{headerName: "Make", field: "make"},
{headerName: "Model", field: "model"},
{headerName: "Price", field: "price"}
class App extends Component {
constructor(props) {
super(props);
],
rowData: [
{make: "Toyota", model: "Celica", price: 35000},
{make: "Ford", model: "Mondeo", price: 32000},
{make: "Porsche", model: "Boxster", price: 72000}
]
}
}
...
}
this.state = {
columnDefs: [
{headerName: "Make", field: "make"},
{headerName: "Model", field: "model"},
{headerName: "Price", field: "price"}
],
rowData: [
{make: "Toyota", model: "Celica", price: 35000},
{make: "Ford", model: "Mondeo", price: 32000},
{make: "Porsche", model: "Boxster", price: 72000}
]
}
}
...
}
### Render the grid as the `AgGridReact` child component
class App extends Component {
constructor(props) {...}
class App extends Component {
constructor(props) {...}
render() {
return (
<div
className="ag-theme-quartz"
style={{
height: '500px',
width: '600px'
}}
>
<AgGridReact
columnDefs={this.state.columnDefs}
rowData={this.state.rowData}>
</AgGridReact>
</div>
);
}
}
render() {
return (
<div
className="ag-theme-quartz"
style={{
height: '500px',
width: '600px'
}}
>
<AgGridReact
columnDefs={this.state.columnDefs}
rowData={this.state.rowData}>
</AgGridReact>
</div>
);
}
}
Issue Reporting
----------
## Issue Reporting
If you have found a bug, please report them at this repository `issues` section. If you're using Enterprise version please use the [private ticketing](https://ag-grid.zendesk.com/) system to do that.
## Asking Questions
Asking Questions
-------------
Look for similar problems on [StackOverflow](https://stackoverflow.com/questions/tagged/ag-grid) using the `ag-grid` tag. If nothing seems related, post a new message there. Do not use GitHub issues to ask questions.
Contributing
------------
## Contributing
AG Grid is developed by a team of co-located developers in London. If you want to join the team check out our [jobs listing](https://www.ag-grid.com/ag-grid-jobs-board?utm_source=ag-grid-react-readme&utm_medium=repository&utm_campaign=github) or send your application to info@ag-grid.com.
License
------------------
## License
This project is licensed under the MIT license. See the [LICENSE file](./LICENSE.txt) for more info.

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc