@genesislcap/grid-pro 15.35.1 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,8 +74,8 @@ import { GridDragSource } from 'ag-grid-community';
74
74
  import { GridOptions } from '@ag-grid-community/core';
75
75
  import { GridOptions as GridOptions_2 } from 'ag-grid-community';
76
76
  import { GridOptionsService } from 'ag-grid-community';
77
- import type { GridParams } from '@ag-grid-community/core';
78
- import type { GridParams as GridParams_2 } from 'ag-grid-community';
77
+ import type { GridParams } from 'ag-grid-community';
78
+ import type { GridParams as GridParams_2 } from '@ag-grid-community/core';
79
79
  import { GridReadyEvent } from 'ag-grid-community';
80
80
  import { GroupRowEditableCallback } from 'ag-grid-community';
81
81
  import { GroupRowValueSetterFunc } from 'ag-grid-community';
@@ -2231,14 +2231,23 @@ export declare const foundationGridComponents: {
2231
2231
  foundationGridPro: (overrideDefinition?: OverrideFoundationElementDefinition< {
2232
2232
  shadowOptions: any;
2233
2233
  baseName: string;
2234
- styles: ElementStyles;
2235
2234
  template: ViewTemplate<any, any>;
2235
+ styles: ElementStyles;
2236
2236
  }>) => FoundationElementRegistry< {
2237
2237
  shadowOptions: any;
2238
2238
  baseName: string;
2239
- styles: ElementStyles;
2240
2239
  template: ViewTemplate<any, any>;
2240
+ styles: ElementStyles;
2241
2241
  }, GridPro>;
2242
+ foundationColumnSelection: (overrideDefinition?: OverrideFoundationElementDefinition< {
2243
+ baseName: string;
2244
+ template: ViewTemplate<ColumnSelection, any>;
2245
+ styles: ElementStyles;
2246
+ }>) => FoundationElementRegistry< {
2247
+ baseName: string;
2248
+ template: ViewTemplate<ColumnSelection, any>;
2249
+ styles: ElementStyles;
2250
+ }, ColumnSelection>;
2242
2251
  register(container?: Container, ...rest: any[]): void;
2243
2252
  };
2244
2253
 
@@ -2252,13 +2261,13 @@ export declare const foundationGridComponents: {
2252
2261
  export declare const foundationGridPro: (overrideDefinition?: OverrideFoundationElementDefinition< {
2253
2262
  shadowOptions: any;
2254
2263
  baseName: string;
2255
- styles: ElementStyles;
2256
2264
  template: ViewTemplate<any, any>;
2265
+ styles: ElementStyles;
2257
2266
  }>) => FoundationElementRegistry< {
2258
2267
  shadowOptions: any;
2259
2268
  baseName: string;
2260
- styles: ElementStyles;
2261
2269
  template: ViewTemplate<any, any>;
2270
+ styles: ElementStyles;
2262
2271
  }, typeof GridPro>;
2263
2272
 
2264
2273
  /**
@@ -2294,7 +2303,27 @@ template: ViewTemplate<any, any>;
2294
2303
  }, typeof ActionsMenuRenderer>;
2295
2304
 
2296
2305
  /**
2297
- * GridPro shadow root options.
2306
+ * A function that returns a Foundation Grid Pro Legacy registration for configuring the component with a DesignSystem.
2307
+ *
2308
+ * @public
2309
+ * @deprecated Legacy AG Grid v29 wrapper. Use `GridPro` (AG Grid v36) instead.
2310
+ * @remarks
2311
+ * HTML Element: \<foundation-grid-pro\>
2312
+ */
2313
+ export declare const foundationGridProLegacy: (overrideDefinition?: OverrideFoundationElementDefinition< {
2314
+ shadowOptions: any;
2315
+ baseName: string;
2316
+ styles: ElementStyles;
2317
+ template: ViewTemplate<any, any>;
2318
+ }>) => FoundationElementRegistry< {
2319
+ shadowOptions: any;
2320
+ baseName: string;
2321
+ styles: ElementStyles;
2322
+ template: ViewTemplate<any, any>;
2323
+ }, typeof GridProLegacy>;
2324
+
2325
+ /**
2326
+ * Grid Pro shadow root options.
2298
2327
  * @public
2299
2328
  * @remarks
2300
2329
  * For extensibility, this can be used to set the shadow root mode and delegatesFocus
@@ -3535,21 +3564,18 @@ export declare type GridOptionsConfig = GridOptions_2 | GridOptions;
3535
3564
  export declare const GridOptionsConfig: InterfaceSymbol<GridOptionsConfig>;
3536
3565
 
3537
3566
  /**
3538
- * The Grid Pro element.
3567
+ * The Grid Pro element (AG Grid v36 compatible).
3539
3568
  * @remarks Grid Pro is a Web Component wrapper around the AG Grid Community library.
3540
3569
  * @public
3541
3570
  * @tagname %%prefix%%-grid-pro
3542
3571
  *
3543
- * @fires gridReady - Fired when AG Grid is ready (detail includes the grid-ready event and grid id)
3544
- * @fires onGridReady - Deprecated alias for the grid-ready signal; prefer `gridReady`
3572
+ * @fires gridReady - Fired when AG Grid is ready (detail includes the grid-ready event and grid id). detail: `GridReadyEventDetail`
3573
+ * @fires onGridReady - Deprecated alias for the grid-ready signal; prefer `gridReady`. detail: `GridReadyEventDetail`
3545
3574
  * @fires gridready - Native `Event` from `globalEventListener` when AG Grid fires `gridReady` (`agGridDetails` holds the AG Grid event)
3546
- * @remarks Re-emits AG Grid public API events when listeners are registered via `addEventListener` (event names match `ComponentUtil.PUBLIC_EVENTS` from `@ag-grid-community/core`). The same AG Grid events are also dispatched as native `Event`s with lowercased `type` and payload on `agGridDetails` (for example `addEventListener('columnresized', ...)`).
3575
+ * @remarks Re-emits AG Grid public API events when listeners are registered via `addEventListener` (event names match AG Grid public event strings). The same AG Grid events are also dispatched as native `Event`s with lowercased `type` and payload on `agGridDetails` (for example `addEventListener('columnresized', ...)`).
3547
3576
  */
3548
3577
  export declare class GridPro extends GridPro_base {
3549
- columnApi: ColumnApi;
3550
- gridApi: GridApi_2;
3551
- private cachedTotalColumnWidth;
3552
- private columnCount;
3578
+ gridApi: GridApi;
3553
3579
  gridErrorItems: GridProErrorItem<GridProErrorEvent['detail']>[];
3554
3580
  statePersistence: StatePersistence;
3555
3581
  /**
@@ -3569,50 +3595,19 @@ export declare class GridPro extends GridPro_base {
3569
3595
  * in local storage if you are using `persist-column-state-key`.
3570
3596
  */
3571
3597
  gridAutosizingEnabled: boolean;
3572
- /**
3573
- * Boolean attribute to control whether the grid automatically sizes columns to fit their content.
3574
- * This will call AG Grid's autoSizeColumns() method to automatically adjust column widths based on content.
3575
- * @public
3576
- */
3577
- sizeColumnsToContent: boolean;
3578
- /**
3579
- * Boolean attribute to adjust the size of columns to fit the available horizontal space.
3580
- * This will call AG Grid's sizeColumnsToFit() method.
3581
- * @public
3582
- */
3583
- sizeColumnsToFit: boolean;
3584
- /**
3585
- * The index to add new rows to when using `applyTransaction` or `applyTransactionAsync`
3586
- */
3587
- addIndex: number;
3588
- /**
3589
- * Whether to use the `applyTransactionAsync` function for *add* transactions
3590
- * @remarks Defaults to false
3591
- */
3592
- asyncAdd: boolean;
3593
- /**
3594
- * Whether to use the `applyTransactionAsync` function for *remove* transactions
3595
- * @remarks Defaults to false
3596
- */
3597
- asyncRemove: boolean;
3598
- /**
3599
- * Whether to use the `applyTransactionAsync` function for *update* transactions
3600
- * @remarks Defaults to true
3601
- */
3602
- asyncUpdate: boolean;
3603
3598
  /**
3604
3599
  * If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef
3605
3600
  * @remarks Defaults to true
3606
3601
  */
3607
3602
  enableCellFlashing: boolean;
3608
- /**
3609
- * @deprecated - use `enableRowFlashing` instead.
3610
- */
3611
- enabledRowFlashing: boolean;
3612
3603
  /**
3613
3604
  * If true, will enable row flashing for all rows for `add` async transactions
3614
3605
  */
3615
3606
  enableRowFlashing: boolean;
3607
+ /** Wired to `gridOptions.context` for columns picker → grid drag (see bridge module). */
3608
+ private readonly columnDragBridge;
3609
+ /** @internal Shared AG column-drag bridge for custom tool panels. */
3610
+ getColumnDragBridge(): GridProColumnDragBridge;
3616
3611
  /**
3617
3612
  * The key to use for persisting the column state in local browser or KV storage.
3618
3613
  */
@@ -3621,10 +3616,6 @@ export declare class GridPro extends GridPro_base {
3621
3616
  * The key to use for persisting the filter model in local browser or KV storage.
3622
3617
  */
3623
3618
  persistFilterModelKey: string;
3624
- /**
3625
- * The default column config to reset to when deleteColumnState is called.
3626
- */
3627
- defaultColumnConfig: ColDef[];
3628
3619
  /**
3629
3620
  * The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.
3630
3621
  * @remarks Can be one of the following: camelCase, capitalCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase.
@@ -3638,15 +3629,12 @@ export declare class GridPro extends GridPro_base {
3638
3629
  */
3639
3630
  rowData: any[];
3640
3631
  rowDataChanged(_: any, rowData: any): void;
3641
- gridFontFace: string;
3642
3632
  columnComponentName: string;
3643
3633
  eventsAndCallbacks: GridProEventsAndCallbacks;
3644
3634
  headerHeight: number;
3645
3635
  rowHeight: number;
3646
- theme: string;
3647
- themeChanged(oldValue: string, newValue: string): void;
3648
3636
  classNames: string;
3649
- agGrid: Grid;
3637
+ agGrid: GridApi;
3650
3638
  gridSlot: HTMLSlotElement;
3651
3639
  /**
3652
3640
  * The slot ref binds asynchronously, and the queued `initGrid` skips any run that beats it. FAST
@@ -3678,6 +3666,12 @@ export declare class GridPro extends GridPro_base {
3678
3666
  * This requires AG Grid Enterprise module to be available for the status bar to be displayed when enabled.
3679
3667
  */
3680
3668
  withStatusBar: boolean;
3669
+ /**
3670
+ * Shows a Column Selection button above the grid.
3671
+ * @public
3672
+ */
3673
+ enableColumnSelection: boolean;
3674
+ enableColumnSelectionChanged(): void;
3681
3675
  /**
3682
3676
  * Custom error handler dialog template function.
3683
3677
  * @remarks
@@ -3687,23 +3681,23 @@ export declare class GridPro extends GridPro_base {
3687
3681
  */
3688
3682
  customErrorHandlerTemplate?: (prefix: string, gridErrorItems: GridProErrorItem<any>[]) => ViewTemplate;
3689
3683
  private columnState;
3690
- protected agAttributes: Record<string, string>;
3684
+ protected agAttributes: Record<string, any>;
3691
3685
  protected agPropertiesMap: Record<string, string>;
3692
- protected agGridOptions: GridOptions;
3693
- /**
3694
- * Last grid options supplied via the public `gridOptions` setter (not datasource init).
3695
- * Used as the merge base in `handleInitialize` so user options survive datasource restart.
3696
- */
3686
+ protected agGridOptions: GridOptions_2;
3687
+ /** User-supplied grid options cached as merge base for datasource re-init. */
3697
3688
  private userProvidedGridOptions;
3698
3689
  private applyingDatasourceGridOptions;
3699
3690
  protected initialised: boolean;
3700
3691
  private rehydrationAttempted;
3701
- private eventHandlers;
3692
+ /** A schemaUpdated that arrived before `gridApi` existed; replayed in onGridReady. */
3693
+ private pendingSchemaUpdate?;
3694
+ private rootEventsListeners;
3695
+ private datasourceEventHandlers;
3702
3696
  private gridEventsQueue;
3703
3697
  private registeredGridEvents;
3704
3698
  private gridEventListeners;
3699
+ private luminanceSubscription?;
3705
3700
  private visibilityObserverCleanup?;
3706
- private pendingSchemaUpdate?;
3707
3701
  private readonly boundGlobalEventListener;
3708
3702
  private _filterConfig;
3709
3703
  getfilterModel(): Promise<{
@@ -3727,13 +3721,8 @@ export declare class GridPro extends GridPro_base {
3727
3721
  * ```
3728
3722
  */
3729
3723
  gridOptionsConfig: GridOptionsConfig;
3724
+ provider: any;
3730
3725
  constructor();
3731
- /**
3732
- * The Infinite Row Model is only wired into the beta grid, so an infinite datasource placed
3733
- * inside this element can never load data. Report it instead of ignoring the event.
3734
- * @internal
3735
- */
3736
- private refuseInfiniteDatasource;
3737
3726
  /**
3738
3727
  * Adds an event listener to the grid element.
3739
3728
  * @param eventType - The event type to listen for. Recommened to use the `Events` from AG Grid.
@@ -3747,14 +3736,18 @@ export declare class GridPro extends GridPro_base {
3747
3736
  private handleError;
3748
3737
  private handleBaseDatasourceError;
3749
3738
  hideDatasourceError(): void;
3739
+ private handleLuminanceChange;
3740
+ private readonly luminanceObserver;
3750
3741
  connectedCallback(): void;
3751
3742
  disconnectedCallback(): void;
3743
+ private syncColumnSelectionHostLayout;
3752
3744
  private performDisconnectCleanup;
3745
+ private destroyGridInstance;
3753
3746
  /**
3754
- * Tear down the AG Grid instance. Prefer {@link GridApi#destroy}; if `gridApi` is not set yet
3755
- * (e.g. disconnect before `grid-ready`), fall back to {@link Grid#destroy} on the vanilla wrapper.
3747
+ * Helper method to add or remove datasource event listeners
3748
+ * @internal
3756
3749
  */
3757
- private destroyGridInstance;
3750
+ private toggleDatasourceEventListeners;
3758
3751
  /**
3759
3752
  * Handles datasource initialization
3760
3753
  * @internal
@@ -3770,6 +3763,12 @@ export declare class GridPro extends GridPro_base {
3770
3763
  * @internal
3771
3764
  */
3772
3765
  private handleDataChanged;
3766
+ /**
3767
+ * Whether the live grid runs AG Grid's client-side row model (the default when the datasource
3768
+ * set no `rowModelType`).
3769
+ * @internal
3770
+ */
3771
+ private get isClientSideRowModel();
3773
3772
  private flashAddedCells;
3774
3773
  /**
3775
3774
  * Handles schema updates from datasource
@@ -3777,10 +3776,24 @@ export declare class GridPro extends GridPro_base {
3777
3776
  */
3778
3777
  private handleSchemaUpdated;
3779
3778
  /**
3780
- * Builds and applies column defs from a schema/metadata payload.
3779
+ * Builds and applies column defs from a schema payload.
3781
3780
  * @internal
3782
3781
  */
3783
3782
  private processSchemaUpdate;
3783
+ /**
3784
+ * Downgrades enterprise filters in metadata-generated colDefs when their modules are not
3785
+ * registered — from v35 AG Grid throws on unregistered filters instead of falling back.
3786
+ * Enum columns (recognised by their metadata-sourced set-filter values) keep those values by
3787
+ * falling back to the community `EnumColumnFilter` instead of a plain text filter.
3788
+ *
3789
+ * The enum floating filter is only wired as the column's component, not enabled: AG's floating
3790
+ * filter is a full-width header row, so enabling it for one column changes the layout of every
3791
+ * column. Active-filter state is surfaced instead by AG's native header filter icon plus the
3792
+ * header tooltip the enum filter maintains; consumers wanting the floating row opt in with
3793
+ * `floatingFilter: true`.
3794
+ * @internal
3795
+ */
3796
+ private applyCommunityFilterFallbacks;
3784
3797
  /**
3785
3798
  * Handles data clearing from datasource
3786
3799
  * @internal
@@ -3846,6 +3859,18 @@ export declare class GridPro extends GridPro_base {
3846
3859
  * @internal
3847
3860
  */
3848
3861
  private handleApplyServerSideTransaction;
3862
+ /**
3863
+ * Handles setting infinite datasource
3864
+ * @internal
3865
+ */
3866
+ private handleSetInfiniteDatasource;
3867
+ /**
3868
+ * Handles refreshing the infinite cache.
3869
+ * @remarks Mirrors {@link GridPro.handleRefreshServerSide}: `purge` drops the block cache
3870
+ * and re-reads, otherwise the loaded blocks are re-read in place.
3871
+ * @internal
3872
+ */
3873
+ private handleRefreshInfiniteCache;
3849
3874
  combineAllGridComponents(gridOptionsComponents: GridComponents): GridComponents;
3850
3875
  statePersistanceEnabled(): boolean;
3851
3876
  /**
@@ -3898,21 +3923,14 @@ export declare class GridPro extends GridPro_base {
3898
3923
  * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
3899
3924
  * @public
3900
3925
  */
3901
- getSavedColumnState(): Promise<ColumnState[]>;
3902
- /**
3903
- * Deletes the saved column state for the current grid
3904
- * @param resetToDefault - Whether to reset columns to their default configuration. Defaults to true.
3905
- * @remarks This removes the persisted column state from storage, allowing the grid to use default column configuration
3906
- * @public
3907
- */
3908
- deleteColumnState(resetToDefault?: boolean): Promise<void>;
3926
+ getSavedColumnState(): Promise<ColumnState_2[]>;
3909
3927
  private restoreColumnState;
3910
3928
  cacheFilterConfig(): void;
3911
3929
  restoreCachedFilterConfig(): Promise<void>;
3912
3930
  /**
3913
3931
  * @public
3914
3932
  */
3915
- get gridOptions(): GridOptionsConfig;
3933
+ get gridOptions(): GridOptions_2;
3916
3934
  /**
3917
3935
  * @public
3918
3936
  */
@@ -3927,33 +3945,25 @@ export declare class GridPro extends GridPro_base {
3927
3945
  * @public
3928
3946
  */
3929
3947
  get gridProDatasource(): GridProBaseDatasource;
3948
+ /**
3949
+ * @public
3950
+ */
3951
+ get isInfiniteRowModel(): boolean;
3930
3952
  /**
3931
3953
  * Reports the currently visible columns to the datasource. The datasource decides what to do with
3932
3954
  * them (e.g. narrowing the server request); the grid stays agnostic of that behaviour.
3933
3955
  * @internal
3934
3956
  */
3935
3957
  private notifyDatasourceVisibleColumns;
3936
- set gridOptions(options: GridOptionsConfig);
3958
+ set gridOptions(options: GridOptions_2);
3937
3959
  private setLocalGridOptions;
3938
3960
  /**
3939
3961
  * Clears the local grid options, this is used to clear the grid options when the grid is restarted.
3940
3962
  * @public
3941
3963
  */
3942
3964
  clearLocalGridOptions(): void;
3943
- /**
3944
- * Clears all grid option state when the grid element is fully torn down.
3945
- * @internal
3946
- */
3947
3965
  private resetGridOptionsState;
3948
3966
  private initGrid;
3949
- /**
3950
- * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
3951
- * @deprecated use `applyTemplateDefinitions` instead.
3952
- * @param columnDefs - The column definitions to apply to the grid.
3953
- * @param deferredColumnDefsOrState - If true, will merge the column definitions with the saved column state or the `deferredColumnStates` property on the `grid-pro-genesis-datasource` element.
3954
- * @returns The merged column definitions.
3955
- */
3956
- applyTemplateDefinitions(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<(ColDef<any> | ColGroupDef<any>)[]>;
3957
3967
  /**
3958
3968
  * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
3959
3969
  * @public
@@ -3963,74 +3973,205 @@ export declare class GridPro extends GridPro_base {
3963
3973
  * on the `grid-pro-genesis-datasource` element. Defaults to false but `grid-pro-genesis-datasource` will set this to true.
3964
3974
  * @returns The merged column definitions.
3965
3975
  */
3966
- mergeAllColumnDefsAndStates(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<(ColDef<any> | ColGroupDef<any>)[]>;
3967
- private panelExists;
3968
- private addRowCountPanel;
3969
- private addMaxRowsPanel;
3970
- private addAggregationPanel;
3971
- private addDatasourcePanels;
3972
- protected setupStatusBar(gridOptions: GridOptions): void;
3973
- /**
3974
- * Handles column sizing based on sizeColumnsToContent and sizeColumnsToFit attributes
3975
- * @private
3976
- */
3977
- private handleColumnSizing;
3978
- /**
3979
- * Handles when both sizeColumnsToContent and sizeColumnsToFit are enabled
3980
- * @private
3981
- */
3982
- private handleBothSizingModes;
3983
- /**
3984
- * Handles individual sizing modes when only one is enabled
3985
- * @private
3986
- */
3987
- private handleIndividualSizingModes;
3988
- /**
3989
- * Calculates the total width of all columns
3990
- * @private
3991
- */
3992
- private calculateTotalColumnWidth;
3993
- /**
3994
- * Invalidates the cached column width calculation
3995
- * @private
3996
- * @remarks This method is called automatically when column changes occur (resize, move, pin, etc.)
3997
- * to ensure the cached width calculation remains accurate.
3998
- */
3999
- private invalidateColumnWidthCache;
4000
- /**
4001
- * Gets the available grid width with fallbacks
4002
- * @private
4003
- */
4004
- private getGridWidth;
4005
- get observedAttributes(): string[];
4006
- agAttributeChangedCallback(attName: any, oldValue: any, newValue: any): void;
4007
- globalEventListener(eventType: any, event: any): void;
4008
- private fontFaceDestroy;
4009
- private insertFontFace;
4010
- private destroyFontFace;
4011
- }
4012
-
4013
- declare const GridPro_base: (new (...args: any[]) => {
4014
- #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
4015
- #_latestTokenCode: string;
4016
- #_hasFirstLoaded: boolean;
4017
- #_cleanupTimeout: NodeJS.Timeout;
4018
- #_shouldForceLifecycle: boolean;
4019
- #_blockedDisconnectSurvivedGracePeriod: boolean;
4020
- cloneNode(deep?: boolean): Node;
4021
- deepClone(): Node;
4022
- get shouldRunDisconnect(): boolean;
4023
- get shouldRunConnect(): boolean;
4024
- #_blockLifecycleDueToTokenChange(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean;
4025
- #_tryFindContainingLayout(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
4026
- connectedCallback(): void;
4027
- readonly $fastController: Controller;
4028
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
4029
- disconnectedCallback(): void;
4030
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
4031
- accessKey: string;
4032
- readonly accessKeyLabel: string;
4033
- autocapitalize: string;
3976
+ mergeAllColumnDefsAndStates(columnDefs: ColDef_2[], deferredColumnDefsOrState?: boolean): Promise<(ColDef<any> | ColGroupDef<any>)[] | (ColDef_2<any, any> | {
3977
+ colId?: string;
3978
+ field?: string;
3979
+ type?: string | string[];
3980
+ valueGetter?: string | ValueGetterFunc<any> | ValueGetterFunc_2<any, any, any>;
3981
+ valueFormatter?: string | ValueFormatterFunc<any> | ValueFormatterFunc_2<any, any, any>;
3982
+ refData?: RefData;
3983
+ keyCreator?: ((params: KeyCreatorParams<any, any>) => string) | KeyCreatorFunc<any, any, any>;
3984
+ equals?: (valueA: any, valueB: any) => boolean;
3985
+ tooltipField?: string;
3986
+ tooltipValueGetter?: ((params: ITooltipParams<any, any, any>) => string | any) | TooltipValueGetterFunc<any, any, any>;
3987
+ checkboxSelection?: boolean | CheckboxSelectionCallback<any> | CheckboxSelectionCallback_2<any, any, any>;
3988
+ showDisabledCheckboxes?: boolean;
3989
+ icons?: {
3990
+ [key: string]: string | Function;
3991
+ };
3992
+ suppressNavigable?: boolean | SuppressNavigableCallback<any> | SuppressNavigableCallback_2<any, any, any>;
3993
+ suppressKeyboardEvent?: ((params: SuppressKeyboardEventParams<any>) => boolean) | SuppressKeyboardEventFunc<any, any, any>;
3994
+ suppressPaste?: boolean | SuppressPasteCallback<any> | SuppressPasteCallback_2<any, any, any>;
3995
+ suppressFillHandle?: boolean;
3996
+ hide?: boolean | null;
3997
+ initialHide?: boolean;
3998
+ lockVisible?: boolean;
3999
+ lockPosition?: boolean | "left" | "right";
4000
+ suppressMovable?: boolean;
4001
+ editable?: boolean | EditableCallback<any> | EditableCallback_2<any, any, any>;
4002
+ valueSetter?: string | ValueSetterFunc<any> | ValueSetterFunc_2<any, any, any>;
4003
+ valueParser?: string | ValueParserFunc<any, any> | ValueParserFunc_2<any, any, any>;
4004
+ cellEditor?: any;
4005
+ cellEditorFramework?: any;
4006
+ cellEditorParams?: any;
4007
+ cellEditorSelector?: CellEditorSelectorFunc<any> | CellEditorSelectorFunc_2<any, any, any>;
4008
+ singleClickEdit?: boolean;
4009
+ cellEditorPopup?: boolean;
4010
+ cellEditorPopupPosition?: "over" | "under";
4011
+ onCellValueChanged?: ((event: NewValueParams<any>) => void) | ((event: NewValueParams_2<any, any, any>) => void);
4012
+ onCellClicked?: ((event: CellClickedEvent<any, any>) => void) | ((event: CellClickedEvent_2<any, any, any>) => void);
4013
+ onCellDoubleClicked?: ((event: CellDoubleClickedEvent<any, any>) => void) | ((event: CellDoubleClickedEvent_2<any, any, any>) => void);
4014
+ onCellContextMenu?: ((event: CellContextMenuEvent<any, any>) => void) | ((event: CellContextMenuEvent_2<any, any, any>) => void);
4015
+ getQuickFilterText?: ((params: GetQuickFilterTextParams<any, any>) => string) | GetQuickFilterText<any, any, any>;
4016
+ filterValueGetter?: string | ValueGetterFunc<any> | ValueGetterFunc_2<any, any, any>;
4017
+ floatingFilter?: boolean;
4018
+ wrapHeaderText?: boolean;
4019
+ autoHeaderHeight?: boolean;
4020
+ headerComponent?: any;
4021
+ headerComponentFramework?: any;
4022
+ headerComponentParams?: any;
4023
+ menuTabs?: ColumnMenuTab[];
4024
+ columnsMenuParams?: ColumnsMenuParams;
4025
+ suppressMenu?: boolean;
4026
+ headerCheckboxSelection?: boolean | HeaderCheckboxSelectionCallback<any> | HeaderCheckboxSelectionCallback_2<any, any, any>;
4027
+ headerCheckboxSelectionFilteredOnly?: boolean;
4028
+ headerCheckboxSelectionCurrentPageOnly?: boolean;
4029
+ chartDataType?: "category" | "series" | "time" | "excluded";
4030
+ pinned?: boolean | "left" | "right" | null;
4031
+ initialPinned?: boolean | "left" | "right";
4032
+ lockPinned?: boolean;
4033
+ pivot?: boolean | null;
4034
+ initialPivot?: boolean;
4035
+ pivotIndex?: number | null;
4036
+ initialPivotIndex?: number;
4037
+ pivotComparator?: (valueA: string, valueB: string) => number;
4038
+ enablePivot?: boolean;
4039
+ cellStyle?: CellStyle | CellStyleFunc<any> | CellStyleFunc_2<any, any, any>;
4040
+ cellClass?: string | string[] | CellClassFunc<any> | CellClassFunc_2<any, any, any>;
4041
+ cellClassRules?: CellClassRules<any> | CellClassRules_2<any, any, any>;
4042
+ cellRenderer?: any;
4043
+ cellRendererFramework?: any;
4044
+ cellRendererParams?: any;
4045
+ cellRendererSelector?: CellRendererSelectorFunc<any> | CellRendererSelectorFunc_2<any, any, any>;
4046
+ autoHeight?: boolean;
4047
+ wrapText?: boolean;
4048
+ enableCellChangeFlash?: boolean;
4049
+ suppressCellFlash?: boolean;
4050
+ rowDrag?: boolean | RowDragCallback<any> | RowDragCallback_2<any, any, any>;
4051
+ rowDragText?: RowDragTextFunc | ((params: IRowDragItem, dragItemCount: number) => string);
4052
+ dndSource?: boolean | DndSourceCallback<any> | DndSourceCallback_2<any, any, any>;
4053
+ dndSourceOnRowDrag?: ((params: DndSourceOnRowDragParams<any>) => void) | DndSourceOnRowDragFunc<any, any>;
4054
+ rowGroup?: boolean | null;
4055
+ initialRowGroup?: boolean;
4056
+ rowGroupIndex?: number | null;
4057
+ initialRowGroupIndex?: number;
4058
+ enableRowGroup?: boolean;
4059
+ enableValue?: boolean;
4060
+ aggFunc?: string | IAggFunc<any, any> | IAggFunc_2<any, any, any>;
4061
+ initialAggFunc?: string | IAggFunc<any, any> | IAggFunc_2<any, any, any>;
4062
+ defaultAggFunc?: string;
4063
+ allowedAggFuncs?: string[];
4064
+ showRowGroup?: string | boolean;
4065
+ sortable?: boolean;
4066
+ sort?: "asc" | "desc" | SortDef;
4067
+ initialSort?: "asc" | "desc" | SortDef;
4068
+ sortIndex?: number | null;
4069
+ initialSortIndex?: number;
4070
+ sortingOrder?: (SortDirection | SortDef)[];
4071
+ comparator?: ((valueA: any, valueB: any, nodeA: IRowNode<any>, nodeB: IRowNode<any>, isDescending: boolean) => number) | SortComparatorFn<any, any> | Partial<Record<SortType, SortComparatorFn<any, any>>>;
4072
+ unSortIcon?: boolean;
4073
+ colSpan?: ((params: ColSpanParams<any>) => number) | ColSpanFunc<any, any, any>;
4074
+ rowSpan?: ((params: RowSpanParams<any>) => number) | RowSpanFunc<any, any, any>;
4075
+ width?: number;
4076
+ initialWidth?: number;
4077
+ minWidth?: number;
4078
+ maxWidth?: number;
4079
+ flex?: number | null;
4080
+ initialFlex?: number;
4081
+ resizable?: boolean;
4082
+ suppressSizeToFit?: boolean;
4083
+ suppressAutoSize?: boolean;
4084
+ pivotValueColumn?: Column_2 | Column<any>;
4085
+ pivotTotalColumnIds?: string[];
4086
+ spanHeaderHeight?: boolean;
4087
+ headerName?: string;
4088
+ headerValueGetter?: string | HeaderValueGetterFunc<any> | HeaderValueGetterFunc_2<any, any, any>;
4089
+ headerTooltip?: string;
4090
+ headerClass?: string | string[] | ((params: HeaderClassParams<any>) => string | string[] | undefined) | ((params: HeaderClassParams_2<any, any, any>) => string | string[] | undefined);
4091
+ suppressHeaderKeyboardEvent?: ((params: SuppressHeaderKeyboardEventParams<any>) => boolean) | SuppressHeaderKeyboardEventFunc<any, any, any>;
4092
+ columnGroupShow?: "open" | "closed";
4093
+ toolPanelClass?: string | string[] | ((params: ToolPanelClassParams<any>) => string | string[] | undefined) | ((params: ToolPanelClassParams_2<any, any, any>) => string | string[] | undefined);
4094
+ suppressColumnsToolPanel?: boolean;
4095
+ suppressFiltersToolPanel?: boolean;
4096
+ tooltipComponent?: any;
4097
+ tooltipComponentFramework?: any;
4098
+ tooltipComponentParams?: any;
4099
+ pivotKeys?: string[];
4100
+ filter?: any;
4101
+ filterFramework?: any;
4102
+ filterParams?: any;
4103
+ floatingFilterComponent?: any;
4104
+ floatingFilterComponentFramework?: any;
4105
+ floatingFilterComponentParams?: any;
4106
+ cellDataType?: boolean | string;
4107
+ allowFormula?: boolean;
4108
+ calculatedExpression?: string;
4109
+ tooltipComponentSelector?: CellEditorSelectorFunc_2 | CellRendererSelectorFunc_2;
4110
+ suppressNoteActions?: boolean | SuppressNoteActionsCallback<any, any, any>;
4111
+ useValueFormatterForExport?: boolean;
4112
+ groupRowEditable?: boolean | GroupRowEditableCallback<any, any>;
4113
+ groupRowValueSetter?: boolean | GroupRowValueSetterFunc<any, any> | GroupRowValueSetterOptions<any, any, any>;
4114
+ useValueParserForImport?: boolean;
4115
+ suppressFloatingFilterButton?: boolean;
4116
+ dateComponent?: any;
4117
+ dateComponentParams?: any;
4118
+ getFindText?: GetFindTextFunc<any, any, any>;
4119
+ columnChooserParams?: ColumnChooserParams;
4120
+ suppressHeaderMenuButton?: boolean;
4121
+ suppressHeaderFilterButton?: boolean;
4122
+ mainMenuItems?: (MenuItemDef<any, any> | DefaultMenuItem)[] | GetMainMenuItems<any>;
4123
+ contextMenuItems?: (MenuItemDef<any, any> | DefaultMenuItem)[] | GetContextMenuItems<any>;
4124
+ loadingCellRenderer?: any;
4125
+ loadingCellRendererParams?: any;
4126
+ loadingCellRendererSelector?: ILoadingCellRendererSelectorFunc<any, any, any>;
4127
+ valueIndex?: number;
4128
+ initialValueIndex?: number;
4129
+ showValuesAs?: ShowValuesAsType | ShowValuesAs | null;
4130
+ initialShowValuesAs?: ShowValuesAsType | ShowValuesAs;
4131
+ showValuesAsDef?: ShowValuesAsDef<any, any>;
4132
+ enableShowValuesAs?: boolean;
4133
+ rowGroupingHierarchy?: (string | ColDef_2<any, any>)[];
4134
+ groupHierarchy?: (string | ColDef_2<any, any>)[];
4135
+ spanRows?: boolean | SpanRowsFunc<any, any, any>;
4136
+ suppressSpanHeaderHeight?: boolean;
4137
+ headerTooltipValueGetter?: HeaderTooltipValueGetterFunc<any, any, any>;
4138
+ headerStyle?: HeaderStyle | HeaderStyleFunc<any, any, any>;
4139
+ cellAriaRole?: string;
4140
+ context?: any;
4141
+ suppressHeaderContextMenu?: boolean;
4142
+ })[]>;
4143
+ private panelExists;
4144
+ private addRowCountPanel;
4145
+ private addMaxRowsPanel;
4146
+ private addAggregationPanel;
4147
+ private addDatasourcePanels;
4148
+ protected setupStatusBar(gridOptions: GridOptions_2): void;
4149
+ get observedAttributes(): string[];
4150
+ agAttributeChangedCallback(attName: any, oldValue: any, newValue: any): void;
4151
+ globalEventListener(eventType: any, event: any): void;
4152
+ }
4153
+
4154
+ declare const GridPro_base: (new (...args: any[]) => {
4155
+ #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
4156
+ #_latestTokenCode: string;
4157
+ #_hasFirstLoaded: boolean;
4158
+ #_cleanupTimeout: NodeJS.Timeout;
4159
+ #_shouldForceLifecycle: boolean;
4160
+ #_blockedDisconnectSurvivedGracePeriod: boolean;
4161
+ cloneNode(deep?: boolean): Node;
4162
+ deepClone(): Node;
4163
+ get shouldRunDisconnect(): boolean;
4164
+ get shouldRunConnect(): boolean;
4165
+ #_blockLifecycleDueToTokenChange(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean;
4166
+ #_tryFindContainingLayout(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
4167
+ connectedCallback(): void;
4168
+ readonly $fastController: Controller;
4169
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
4170
+ disconnectedCallback(): void;
4171
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
4172
+ accessKey: string;
4173
+ readonly accessKeyLabel: string;
4174
+ autocapitalize: string;
4034
4175
  autocorrect: boolean;
4035
4176
  dir: string;
4036
4177
  draggable: boolean;
@@ -4500,594 +4641,79 @@ export declare class GridProBaseDatasource extends GenesisGridDatasourceElement
4500
4641
  }
4501
4642
 
4502
4643
  /**
4503
- * The Grid Pro element (AG Grid v35 compatible).
4504
- * @remarks Grid Pro is a Web Component wrapper around the AG Grid Community library.
4505
- * @beta
4506
- * @tagname %%prefix%%-grid-pro
4507
- *
4508
- * @fires gridReady - Fired when AG Grid is ready (detail includes the grid-ready event and grid id). detail: `GridReadyEventDetail`
4509
- * @fires onGridReady - Deprecated alias for the grid-ready signal; prefer `gridReady`. detail: `GridReadyEventDetail`
4510
- * @fires gridready - Native `Event` from `globalEventListener` when AG Grid fires `gridReady` (`agGridDetails` holds the AG Grid event)
4511
- * @remarks Re-emits AG Grid public API events when listeners are registered via `addEventListener` (event names match AG Grid public event strings). The same AG Grid events are also dispatched as native `Event`s with lowercased `type` and payload on `agGridDetails` (for example `addEventListener('columnresized', ...)`).
4644
+ * The available Grid Pro header case types
4645
+ * @public
4512
4646
  */
4513
- export declare class GridProBeta extends GridProBeta_base {
4514
- gridApi: GridApi;
4515
- gridErrorItems: GridProErrorItem<GridProErrorEvent['detail']>[];
4516
- statePersistence: StatePersistence;
4517
- /**
4518
- * Timeout function used to debounce resize calls
4519
- * @internal
4520
- */
4521
- private debounced;
4522
- private disposed;
4523
- private readonly debouncedSaveColumnState;
4524
- private readonly debouncedSaveFilterModel;
4525
- private readonly debouncedNotifyDatasourceVisibleColumns;
4526
- autoCellRendererByType: boolean;
4527
- onlyTemplateColDefs: boolean;
4528
- /**
4529
- * Boolean attribute to control whether the grid autosizes the columns upon interaction.
4530
- * This will disable the column widths from being manually set, and doesn't save the widths
4531
- * in local storage if you are using `persist-column-state-key`.
4532
- */
4533
- gridAutosizingEnabled: boolean;
4534
- /**
4535
- * If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef
4536
- * @remarks Defaults to true
4537
- */
4538
- enableCellFlashing: boolean;
4539
- /**
4540
- * If true, will enable row flashing for all rows for `add` async transactions
4541
- */
4542
- enableRowFlashing: boolean;
4543
- /** Wired to `gridOptions.context` for columns picker → grid drag (see bridge module). */
4544
- private readonly columnDragBridge;
4545
- /** @internal Shared AG column-drag bridge for custom tool panels. */
4546
- getColumnDragBridge(): GridProColumnDragBridge;
4547
- /**
4548
- * The key to use for persisting the column state in local browser or KV storage.
4549
- */
4550
- persistColumnStateKey: string;
4551
- /**
4552
- * The key to use for persisting the filter model in local browser or KV storage.
4553
- */
4554
- persistFilterModelKey: string;
4555
- /**
4556
- * The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.
4557
- * @remarks Can be one of the following: camelCase, capitalCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase.
4558
- * @public
4559
- */
4560
- headerCaseType: GridProCaseType;
4561
- /**
4562
- * The row data to display in the grid.
4563
- * @remarks For scenarios where you want to set data manually, without relying on `<grid-pro-client-side-datasource>`.
4564
- * @public
4565
- */
4566
- rowData: any[];
4567
- rowDataChanged(_: any, rowData: any): void;
4568
- columnComponentName: string;
4569
- eventsAndCallbacks: GridProEventsAndCallbacks;
4570
- headerHeight: number;
4571
- rowHeight: number;
4572
- classNames: string;
4573
- agGrid: GridApi;
4574
- gridSlot: HTMLSlotElement;
4575
- /**
4576
- * The slot ref binds asynchronously, and the queued `initGrid` skips any run that beats it. FAST
4577
- * calls this the moment the ref lands, so a grid whose options were set BEFORE the view bound
4578
- * still initialises rather than staying blank — closing the one gap that skip would leave.
4579
- *
4580
- * Guarded on `agGridOptions` as well: without options there is nothing to build, and AG Grid
4581
- * would only log "no gridOptions provided to the grid". Those arrive via a grid-options change,
4582
- * which re-runs `initGrid` on its own.
4583
- */
4584
- gridSlotChanged(): void;
4585
- themeMode: 'light' | 'dark';
4586
- gridComponents: {
4587
- [componentName: string]: any;
4588
- };
4589
- /**
4590
- * Configuration for the grid status bar components.
4591
- * @remarks
4592
- * This requires AG Grid Enterprise module to be enabled.
4593
- * The status bar will only be displayed if the Enterprise module is available.
4594
- * @see https://www.ag-grid.com/javascript-data-grid/component-status-bar/
4595
- */
4596
- statusBarConfig: GridProStatusBarConfig;
4597
- /**
4598
- * Enables or disables the grid status bar.
4599
- * @remarks
4600
- * Default is false.
4601
- * When disabled, no status bar will be displayed regardless of statusBarConfig.
4602
- * This requires AG Grid Enterprise module to be available for the status bar to be displayed when enabled.
4603
- */
4604
- withStatusBar: boolean;
4605
- /**
4606
- * Shows a Column Selection button above the grid.
4607
- * @public
4608
- */
4609
- enableColumnSelection: boolean;
4610
- enableColumnSelectionChanged(): void;
4611
- /**
4612
- * Custom error handler dialog template function.
4613
- * @remarks
4614
- * When provided, this function will be used to render custom error dialogs instead of the default error handler.
4615
- * The function should accept a prefix string and an array of grid error items and return a ViewTemplate.
4616
- * If not provided, the default error handler dialog template will be used.
4617
- */
4618
- customErrorHandlerTemplate?: (prefix: string, gridErrorItems: GridProErrorItem<any>[]) => ViewTemplate;
4619
- private columnState;
4620
- protected agAttributes: Record<string, any>;
4621
- protected agPropertiesMap: Record<string, string>;
4622
- protected agGridOptions: GridOptions_2;
4623
- /** User-supplied grid options cached as merge base for datasource re-init. */
4624
- private userProvidedGridOptions;
4625
- private applyingDatasourceGridOptions;
4626
- protected initialised: boolean;
4627
- private rehydrationAttempted;
4628
- /** A schemaUpdated that arrived before `gridApi` existed; replayed in onGridReady. */
4629
- private pendingSchemaUpdate?;
4630
- private rootEventsListeners;
4631
- private datasourceEventHandlers;
4632
- private gridEventsQueue;
4633
- private registeredGridEvents;
4634
- private gridEventListeners;
4635
- private luminanceSubscription?;
4636
- private visibilityObserverCleanup?;
4637
- private readonly boundGlobalEventListener;
4638
- private _filterConfig;
4639
- getfilterModel(): Promise<{
4640
- [key: string]: any;
4641
- }>;
4642
- setFilterModel(value: {
4643
- [key: string]: any;
4644
- }): Promise<void>;
4645
- /**
4646
- * Injectable config that allows to change grid options on an app level basis
4647
- * To modify options, register instance of the config in DOM container that is
4648
- * above the grid or on the top level of the application, so it applies to all grids.
4649
- *
4650
- * @example
4651
- * ```
4652
- * DI.getOrCreateDOMContainer().register([
4653
- * Registration.instance<GridOptionsConfig>(GridOptionsConfig, {
4654
- * headerHeight: 50,
4655
- * }),
4656
- * ]);
4657
- * ```
4658
- */
4659
- gridOptionsConfig: GridOptionsConfig;
4660
- provider: any;
4661
- constructor();
4662
- /**
4663
- * Adds an event listener to the grid element.
4664
- * @param eventType - The event type to listen for. Recommened to use the `Events` from AG Grid.
4665
- * @param listener - The event listener to call when the event is fired.
4666
- * @param options - An options object that specifies characteristics about the event listener.
4667
- * @privateRemarks
4668
- * This will change once we do the AG Upgrade and `eventType` will be correctly typed.
4669
- */
4670
- addEventListener(eventType: string, listener: any, options?: boolean | AddEventListenerOptions): void;
4671
- private addGridEventListener;
4672
- private handleError;
4673
- private handleBaseDatasourceError;
4674
- hideDatasourceError(): void;
4675
- private handleLuminanceChange;
4676
- private readonly luminanceObserver;
4677
- connectedCallback(): void;
4678
- disconnectedCallback(): void;
4679
- private syncColumnSelectionHostLayout;
4680
- private performDisconnectCleanup;
4681
- private destroyGridInstance;
4682
- /**
4683
- * Helper method to add or remove datasource event listeners
4684
- * @internal
4685
- */
4686
- private toggleDatasourceEventListeners;
4687
- /**
4688
- * Handles datasource initialization
4689
- * @internal
4690
- */
4691
- private handleInitialize;
4692
- /**
4693
- * Handles data loading from datasource
4694
- * @internal
4695
- */
4696
- private handleDataLoaded;
4697
- /**
4698
- * Handles data changes from datasource
4699
- * @internal
4700
- */
4701
- private handleDataChanged;
4702
- /**
4703
- * Whether the live grid runs AG Grid's client-side row model (the default when the datasource
4704
- * set no `rowModelType`).
4705
- * @internal
4706
- */
4707
- private get isClientSideRowModel();
4708
- private flashAddedCells;
4709
- /**
4710
- * Handles schema updates from datasource
4711
- * @internal
4712
- */
4713
- private handleSchemaUpdated;
4714
- /**
4715
- * Builds and applies column defs from a schema payload.
4716
- * @internal
4717
- */
4718
- private processSchemaUpdate;
4719
- /**
4720
- * Downgrades enterprise filters in metadata-generated colDefs when their modules are not
4721
- * registered — from v35 AG Grid throws on unregistered filters instead of falling back.
4722
- * Enum columns (recognised by their metadata-sourced set-filter values) keep those values by
4723
- * falling back to the community `EnumColumnFilter` instead of a plain text filter.
4724
- *
4725
- * The enum floating filter is only wired as the column's component, not enabled: AG's floating
4726
- * filter is a full-width header row, so enabling it for one column changes the layout of every
4727
- * column. Active-filter state is surfaced instead by AG's native header filter icon plus the
4728
- * header tooltip the enum filter maintains; consumers wanting the floating row opt in with
4729
- * `floatingFilter: true`.
4730
- * @internal
4731
- */
4732
- private applyCommunityFilterFallbacks;
4733
- /**
4734
- * Handles data clearing from datasource
4735
- * @internal
4736
- */
4737
- private handleDataCleared;
4738
- /**
4739
- * Handles loading started from datasource
4740
- * @internal
4741
- */
4742
- private handleLoadingStarted;
4743
- /**
4744
- * Handles loading finished from datasource
4745
- * @internal
4746
- */
4747
- private handleLoadingFinished;
4748
- /**
4749
- * Handles no data available from datasource
4750
- * @internal
4751
- */
4752
- private handleNoDataAvailable;
4753
- /**
4754
- * Handles filter restoration from datasource
4755
- * @internal
4756
- */
4757
- private handleFiltersRestored;
4758
- /**
4759
- * Handles more data availability from datasource
4760
- * @internal
4761
- */
4762
- private handleMoreDataAvailable;
4763
- /**
4764
- * Handles datasource errors
4765
- * @internal
4766
- */
4767
- private handleDatasourceError;
4768
- /**
4769
- * Handles datasource destroy
4770
- * @internal
4771
- */
4772
- private handleDatasourceDestroy;
4773
- /**
4774
- * Handles refreshing server-side data
4775
- * @internal
4776
- */
4777
- private handleRefreshServerSide;
4778
- /**
4779
- * Handles setting server-side datasource
4780
- * @internal
4781
- */
4782
- private handleSetServerSideDatasource;
4783
- /**
4784
- * Handles adding CSS class to grid element
4785
- * @internal
4786
- */
4787
- private handleAddGridCssClass;
4788
- /**
4789
- * Handles removing CSS class from grid element
4790
- * @internal
4791
- */
4792
- private handleRemoveGridCssClass;
4793
- /**
4794
- * Handles applying server-side transactions
4795
- * @internal
4796
- */
4797
- private handleApplyServerSideTransaction;
4798
- /**
4799
- * Handles setting infinite datasource
4800
- * @internal
4801
- */
4802
- private handleSetInfiniteDatasource;
4803
- /**
4804
- * Handles refreshing the infinite cache.
4805
- * @remarks Mirrors {@link GridProBeta.handleRefreshServerSide}: `purge` drops the block cache
4806
- * and re-reads, otherwise the loaded blocks are re-read in place.
4807
- * @internal
4808
- */
4809
- private handleRefreshInfiniteCache;
4810
- combineAllGridComponents(gridOptionsComponents: GridComponents): GridComponents;
4811
- statePersistanceEnabled(): boolean;
4812
- /**
4813
- * Gets the currently selected rows from the grid
4814
- * @public
4815
- * @returns Array of selected row data
4816
- */
4817
- getSelectedRows(): any[];
4818
- /**
4819
- * Gets the row data from selected cell ranges
4820
- * @internal
4821
- * @returns Array containing the row data from selected cell ranges, or empty array if none
4822
- */
4823
- private getCellRangeRowData;
4824
- /**
4825
- * Checks if any rows are currently selected
4826
- * @public
4827
- * @returns True if rows are selected, false otherwise
4828
- */
4829
- hasSelectedRows(): boolean;
4830
- /**
4831
- * Updates the label-value status bar component with new label and value
4832
- * @public
4833
- * @param params - Object containing label, value, and optionally hide flag
4834
- * @example
4835
- * ```ts
4836
- * gridPro.updateLabelValueStatusBar({
4837
- * label: 'Total Records',
4838
- * value: '1,234',
4839
- * hide: false
4840
- * });
4841
- * ```
4842
- */
4843
- updateLabelValueStatusBar(params: GridProStatusBarLabelConfig): void;
4844
- /**
4845
- * Because we try and resize the grid to fit using callbacks on events, this will cause
4846
- * a stack overflow of calls to resize, so we need to debounce it.
4847
- * @internal
4848
- */
4849
- private debouncedColumnAutosize;
4850
- /**
4851
- * If {@link @genesislcap/grid-pro#GridPro.gridAutosizingEnabled} is true, will remove the widths from the column states.
4852
- * @internal
4853
- */
4854
- private removeConfigWidthsToAutosize;
4855
- private saveColumnState;
4856
- /**
4857
- * Gets the saved grid ColumnState[] from storage
4858
- * @remarks This is used to restore the grid state when the grid is rehydrated
4859
- * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
4860
- * @public
4861
- */
4862
- getSavedColumnState(): Promise<ColumnState_2[]>;
4863
- private restoreColumnState;
4864
- cacheFilterConfig(): void;
4865
- restoreCachedFilterConfig(): Promise<void>;
4866
- /**
4867
- * @public
4868
- */
4869
- get gridOptions(): GridOptions_2;
4870
- /**
4871
- * @public
4872
- */
4873
- get isServerSide(): boolean;
4874
- /**
4875
- * @public
4876
- */
4877
- get gridParams(): GridParams_2;
4878
- /**
4879
- * Get the datasource element.
4880
- * @remarks This will return the first datasource element found in the light DOM, wrapping all concrete datasource implementations.
4881
- * @public
4882
- */
4883
- get gridProDatasource(): GridProBaseDatasource;
4884
- /**
4885
- * @public
4886
- */
4887
- get isInfiniteRowModel(): boolean;
4888
- /**
4889
- * Reports the currently visible columns to the datasource. The datasource decides what to do with
4890
- * them (e.g. narrowing the server request); the grid stays agnostic of that behaviour.
4891
- * @internal
4892
- */
4893
- private notifyDatasourceVisibleColumns;
4894
- set gridOptions(options: GridOptions_2);
4895
- private setLocalGridOptions;
4896
- /**
4897
- * Clears the local grid options, this is used to clear the grid options when the grid is restarted.
4898
- * @public
4899
- */
4900
- clearLocalGridOptions(): void;
4901
- private resetGridOptionsState;
4902
- private initGrid;
4903
- /**
4904
- * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
4905
- * @public
4906
- * @remarks This will favor the column state from the browser's local storage over the `deferredColumnStates` property on the `grid-pro-genesis-datasource` element.
4907
- * @param columnDefs - The column definitions to apply to the grid.
4908
- * @param deferredColumnDefsOrState - If true, will merge the column definitions with the saved column state or the `deferredColumnStates` property
4909
- * on the `grid-pro-genesis-datasource` element. Defaults to false but `grid-pro-genesis-datasource` will set this to true.
4910
- * @returns The merged column definitions.
4911
- */
4912
- mergeAllColumnDefsAndStates(columnDefs: ColDef_2[], deferredColumnDefsOrState?: boolean): Promise<(ColDef<any> | ColGroupDef<any>)[] | (ColDef_2<any, any> | {
4913
- colId?: string;
4914
- field?: string;
4915
- type?: string | string[];
4916
- valueGetter?: string | ValueGetterFunc<any> | ValueGetterFunc_2<any, any, any>;
4917
- valueFormatter?: string | ValueFormatterFunc<any> | ValueFormatterFunc_2<any, any, any>;
4918
- refData?: RefData;
4919
- keyCreator?: ((params: KeyCreatorParams<any, any>) => string) | KeyCreatorFunc<any, any, any>;
4920
- equals?: (valueA: any, valueB: any) => boolean;
4921
- tooltipField?: string;
4922
- tooltipValueGetter?: ((params: ITooltipParams<any, any, any>) => string | any) | TooltipValueGetterFunc<any, any, any>;
4923
- checkboxSelection?: boolean | CheckboxSelectionCallback<any> | CheckboxSelectionCallback_2<any, any, any>;
4924
- showDisabledCheckboxes?: boolean;
4925
- icons?: {
4926
- [key: string]: string | Function;
4927
- };
4928
- suppressNavigable?: boolean | SuppressNavigableCallback<any> | SuppressNavigableCallback_2<any, any, any>;
4929
- suppressKeyboardEvent?: ((params: SuppressKeyboardEventParams<any>) => boolean) | SuppressKeyboardEventFunc<any, any, any>;
4930
- suppressPaste?: boolean | SuppressPasteCallback<any> | SuppressPasteCallback_2<any, any, any>;
4931
- suppressFillHandle?: boolean;
4932
- hide?: boolean | null;
4933
- initialHide?: boolean;
4934
- lockVisible?: boolean;
4935
- lockPosition?: boolean | "left" | "right";
4936
- suppressMovable?: boolean;
4937
- editable?: boolean | EditableCallback<any> | EditableCallback_2<any, any, any>;
4938
- valueSetter?: string | ValueSetterFunc<any> | ValueSetterFunc_2<any, any, any>;
4939
- valueParser?: string | ValueParserFunc<any, any> | ValueParserFunc_2<any, any, any>;
4940
- cellEditor?: any;
4941
- cellEditorFramework?: any;
4942
- cellEditorParams?: any;
4943
- cellEditorSelector?: CellEditorSelectorFunc<any> | CellEditorSelectorFunc_2<any, any, any>;
4944
- singleClickEdit?: boolean;
4945
- cellEditorPopup?: boolean;
4946
- cellEditorPopupPosition?: "over" | "under";
4947
- onCellValueChanged?: ((event: NewValueParams<any>) => void) | ((event: NewValueParams_2<any, any, any>) => void);
4948
- onCellClicked?: ((event: CellClickedEvent<any, any>) => void) | ((event: CellClickedEvent_2<any, any, any>) => void);
4949
- onCellDoubleClicked?: ((event: CellDoubleClickedEvent<any, any>) => void) | ((event: CellDoubleClickedEvent_2<any, any, any>) => void);
4950
- onCellContextMenu?: ((event: CellContextMenuEvent<any, any>) => void) | ((event: CellContextMenuEvent_2<any, any, any>) => void);
4951
- getQuickFilterText?: ((params: GetQuickFilterTextParams<any, any>) => string) | GetQuickFilterText<any, any, any>;
4952
- filterValueGetter?: string | ValueGetterFunc<any> | ValueGetterFunc_2<any, any, any>;
4953
- floatingFilter?: boolean;
4954
- wrapHeaderText?: boolean;
4955
- autoHeaderHeight?: boolean;
4956
- headerComponent?: any;
4957
- headerComponentFramework?: any;
4958
- headerComponentParams?: any;
4959
- menuTabs?: ColumnMenuTab[];
4960
- columnsMenuParams?: ColumnsMenuParams;
4961
- suppressMenu?: boolean;
4962
- headerCheckboxSelection?: boolean | HeaderCheckboxSelectionCallback<any> | HeaderCheckboxSelectionCallback_2<any, any, any>;
4963
- headerCheckboxSelectionFilteredOnly?: boolean;
4964
- headerCheckboxSelectionCurrentPageOnly?: boolean;
4965
- chartDataType?: "category" | "series" | "time" | "excluded";
4966
- pinned?: boolean | "left" | "right" | null;
4967
- initialPinned?: boolean | "left" | "right";
4968
- lockPinned?: boolean;
4969
- pivot?: boolean | null;
4970
- initialPivot?: boolean;
4971
- pivotIndex?: number | null;
4972
- initialPivotIndex?: number;
4973
- pivotComparator?: (valueA: string, valueB: string) => number;
4974
- enablePivot?: boolean;
4975
- cellStyle?: CellStyle | CellStyleFunc<any> | CellStyleFunc_2<any, any, any>;
4976
- cellClass?: string | string[] | CellClassFunc<any> | CellClassFunc_2<any, any, any>;
4977
- cellClassRules?: CellClassRules<any> | CellClassRules_2<any, any, any>;
4978
- cellRenderer?: any;
4979
- cellRendererFramework?: any;
4980
- cellRendererParams?: any;
4981
- cellRendererSelector?: CellRendererSelectorFunc<any> | CellRendererSelectorFunc_2<any, any, any>;
4982
- autoHeight?: boolean;
4983
- wrapText?: boolean;
4984
- enableCellChangeFlash?: boolean;
4985
- suppressCellFlash?: boolean;
4986
- rowDrag?: boolean | RowDragCallback<any> | RowDragCallback_2<any, any, any>;
4987
- rowDragText?: RowDragTextFunc | ((params: IRowDragItem, dragItemCount: number) => string);
4988
- dndSource?: boolean | DndSourceCallback<any> | DndSourceCallback_2<any, any, any>;
4989
- dndSourceOnRowDrag?: ((params: DndSourceOnRowDragParams<any>) => void) | DndSourceOnRowDragFunc<any, any>;
4990
- rowGroup?: boolean | null;
4991
- initialRowGroup?: boolean;
4992
- rowGroupIndex?: number | null;
4993
- initialRowGroupIndex?: number;
4994
- enableRowGroup?: boolean;
4995
- enableValue?: boolean;
4996
- aggFunc?: string | IAggFunc<any, any> | IAggFunc_2<any, any, any>;
4997
- initialAggFunc?: string | IAggFunc<any, any> | IAggFunc_2<any, any, any>;
4998
- defaultAggFunc?: string;
4999
- allowedAggFuncs?: string[];
5000
- showRowGroup?: string | boolean;
5001
- sortable?: boolean;
5002
- sort?: "asc" | "desc" | SortDef;
5003
- initialSort?: "asc" | "desc" | SortDef;
5004
- sortIndex?: number | null;
5005
- initialSortIndex?: number;
5006
- sortingOrder?: (SortDirection | SortDef)[];
5007
- comparator?: ((valueA: any, valueB: any, nodeA: IRowNode<any>, nodeB: IRowNode<any>, isDescending: boolean) => number) | SortComparatorFn<any, any> | Partial<Record<SortType, SortComparatorFn<any, any>>>;
5008
- unSortIcon?: boolean;
5009
- colSpan?: ((params: ColSpanParams<any>) => number) | ColSpanFunc<any, any, any>;
5010
- rowSpan?: ((params: RowSpanParams<any>) => number) | RowSpanFunc<any, any, any>;
5011
- width?: number;
5012
- initialWidth?: number;
5013
- minWidth?: number;
5014
- maxWidth?: number;
5015
- flex?: number | null;
5016
- initialFlex?: number;
5017
- resizable?: boolean;
5018
- suppressSizeToFit?: boolean;
5019
- suppressAutoSize?: boolean;
5020
- pivotValueColumn?: Column_2 | Column<any>;
5021
- pivotTotalColumnIds?: string[];
5022
- spanHeaderHeight?: boolean;
5023
- headerName?: string;
5024
- headerValueGetter?: string | HeaderValueGetterFunc<any> | HeaderValueGetterFunc_2<any, any, any>;
5025
- headerTooltip?: string;
5026
- headerClass?: string | string[] | ((params: HeaderClassParams<any>) => string | string[] | undefined) | ((params: HeaderClassParams_2<any, any, any>) => string | string[] | undefined);
5027
- suppressHeaderKeyboardEvent?: ((params: SuppressHeaderKeyboardEventParams<any>) => boolean) | SuppressHeaderKeyboardEventFunc<any, any, any>;
5028
- columnGroupShow?: "open" | "closed";
5029
- toolPanelClass?: string | string[] | ((params: ToolPanelClassParams<any>) => string | string[] | undefined) | ((params: ToolPanelClassParams_2<any, any, any>) => string | string[] | undefined);
5030
- suppressColumnsToolPanel?: boolean;
5031
- suppressFiltersToolPanel?: boolean;
5032
- tooltipComponent?: any;
5033
- tooltipComponentFramework?: any;
5034
- tooltipComponentParams?: any;
5035
- pivotKeys?: string[];
5036
- filter?: any;
5037
- filterFramework?: any;
5038
- filterParams?: any;
5039
- floatingFilterComponent?: any;
5040
- floatingFilterComponentFramework?: any;
5041
- floatingFilterComponentParams?: any;
5042
- cellDataType?: boolean | string;
5043
- allowFormula?: boolean;
5044
- calculatedExpression?: string;
5045
- tooltipComponentSelector?: CellEditorSelectorFunc_2 | CellRendererSelectorFunc_2;
5046
- suppressNoteActions?: boolean | SuppressNoteActionsCallback<any, any, any>;
5047
- useValueFormatterForExport?: boolean;
5048
- groupRowEditable?: boolean | GroupRowEditableCallback<any, any>;
5049
- groupRowValueSetter?: boolean | GroupRowValueSetterFunc<any, any> | GroupRowValueSetterOptions<any, any, any>;
5050
- useValueParserForImport?: boolean;
5051
- suppressFloatingFilterButton?: boolean;
5052
- dateComponent?: any;
5053
- dateComponentParams?: any;
5054
- getFindText?: GetFindTextFunc<any, any, any>;
5055
- columnChooserParams?: ColumnChooserParams;
5056
- suppressHeaderMenuButton?: boolean;
5057
- suppressHeaderFilterButton?: boolean;
5058
- mainMenuItems?: (MenuItemDef<any, any> | DefaultMenuItem)[] | GetMainMenuItems<any>;
5059
- contextMenuItems?: (MenuItemDef<any, any> | DefaultMenuItem)[] | GetContextMenuItems<any>;
5060
- loadingCellRenderer?: any;
5061
- loadingCellRendererParams?: any;
5062
- loadingCellRendererSelector?: ILoadingCellRendererSelectorFunc<any, any, any>;
5063
- valueIndex?: number;
5064
- initialValueIndex?: number;
5065
- showValuesAs?: ShowValuesAsType | ShowValuesAs | null;
5066
- initialShowValuesAs?: ShowValuesAsType | ShowValuesAs;
5067
- showValuesAsDef?: ShowValuesAsDef<any, any>;
5068
- enableShowValuesAs?: boolean;
5069
- rowGroupingHierarchy?: (string | ColDef_2<any, any>)[];
5070
- groupHierarchy?: (string | ColDef_2<any, any>)[];
5071
- spanRows?: boolean | SpanRowsFunc<any, any, any>;
5072
- suppressSpanHeaderHeight?: boolean;
5073
- headerTooltipValueGetter?: HeaderTooltipValueGetterFunc<any, any, any>;
5074
- headerStyle?: HeaderStyle | HeaderStyleFunc<any, any, any>;
5075
- cellAriaRole?: string;
5076
- context?: any;
5077
- suppressHeaderContextMenu?: boolean;
5078
- })[]>;
5079
- private panelExists;
5080
- private addRowCountPanel;
5081
- private addMaxRowsPanel;
5082
- private addAggregationPanel;
5083
- private addDatasourcePanels;
5084
- protected setupStatusBar(gridOptions: GridOptions_2): void;
5085
- get observedAttributes(): string[];
5086
- agAttributeChangedCallback(attName: any, oldValue: any, newValue: any): void;
5087
- globalEventListener(eventType: any, event: any): void;
4647
+ export declare enum GridProCaseType {
4648
+ camelCase = "camelCase",
4649
+ capitalCase = "capitalCase",
4650
+ dotCase = "dotCase",
4651
+ headerCase = "headerCase",
4652
+ noCase = "noCase",
4653
+ paramCase = "paramCase",
4654
+ pascalCase = "pascalCase",
4655
+ pathCase = "pathCase",
4656
+ sentenceCase = "sentenceCase",
4657
+ snakeCase = "snakeCase"
4658
+ }
4659
+
4660
+ /**
4661
+ * The Grid Pro Cell element.
4662
+ * @remarks Used inside the Grid Pro Column element, to define a cell renderer from the template.
4663
+ * @public
4664
+ */
4665
+ export declare class GridProCell extends FoundationElement implements ICellRendererComp {
4666
+ renderer: ICellRendererFunc;
4667
+ rendererParams: ICellRendererParams;
4668
+ slottedRenderer: HTMLElement[];
4669
+ connectedCallback(): void;
4670
+ init(params: ICellRendererParams): void;
4671
+ getGui(): HTMLElement;
4672
+ destroy(): void;
4673
+ refresh(params: ICellRendererParams): boolean;
4674
+ slottedAgRendererChanged(): void;
4675
+ }
4676
+
4677
+ /**
4678
+ * The Genesis Datasource element, for client-side | CSRM-compatible data fetching and used exclusively by the GridPro element.
4679
+ * @remarks Only supports Client-Side Row Model.
4680
+ * @public
4681
+ *
4682
+ * @fires base-datasource-error - Fired when a datasource error is reported. detail: `BaseDatasourceErrorEventDetail`
4683
+ * @fires datasource-error - Fired when a datasource error occurs (for grid integration). detail: `DatasourceErrorEventDetail`
4684
+ * @fires base-datasource-connected - Fired when error state is cleared after connection succeeds
4685
+ * @fires datasource-loading-finished - Fired when loading completes with no pending row changes
4686
+ * @fires datasource-no-data-available - Fired when the grid has no rows after load
4687
+ * @fires datasource-data-changed - Fired when row data changes from stream updates. detail: `DataChangedEventDetail`
4688
+ * @fires datasource-initialize - Fired to hand off grid options and initialization flags. detail: `InitializeEventDetail`
4689
+ * @fires datasource-destroy - Fired when the datasource is torn down
4690
+ * @fires datasource-data-cleared - Fired when row data is cleared. detail: `DataClearedEventDetail`
4691
+ * @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
4692
+ * @fires datasource-filters-restored - Fired when persisted filters are reapplied
4693
+ * @fires datasource-data-loaded - Fired when a data payload is loaded for the grid. detail: `DataLoadedEventDetail`
4694
+ * @fires datasource-loading-started - Fired when a load or refresh starts
4695
+ * @fires datasource-more-data-available - Fired when more server rows can be requested. detail: `MoreDataAvailableEventDetail`
4696
+ * @fires datasource-ready - Fired when the host grid is ready to start loading data
4697
+ * @fires datasource-init - Fired when initial grid data is ready for the client-side model
4698
+ * @fires more-rows-changed - Fired when MORE_ROWS availability changes. detail: `MoreRowsDetail`
4699
+ * @fires datasource-size-changed - Fired when layout or viewport sizing affects the datasource. detail: `GrigProGenesisDatasourceSizeChangedEventDetail`
4700
+ */
4701
+ export declare class GridProClientSideDatasource extends GridProGenesisDatasource {
4702
+ }
4703
+
4704
+ /**
4705
+ * The Grid Pro Column element.
4706
+ * @remarks Used insde the Grid Pro element, to specify the column definitions (ColDef) for a given column.
4707
+ * @public
4708
+ */
4709
+ export declare class GridProColumn extends GridProColumn_base {
4710
+ slottedAgCell: HTMLElement[];
4711
+ definition: ColDef;
4712
+ slottedAgCellChanged(): void;
4713
+ deepClone(): Node;
5088
4714
  }
5089
4715
 
5090
- declare const GridProBeta_base: (new (...args: any[]) => {
4716
+ declare const GridProColumn_base: (new (...args: any[]) => {
5091
4717
  #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
5092
4718
  #_latestTokenCode: string;
5093
4719
  #_hasFirstLoaded: boolean;
@@ -5456,41 +5082,115 @@ declare const GridProBeta_base: (new (...args: any[]) => {
5456
5082
  }) & typeof FoundationElement;
5457
5083
 
5458
5084
  /**
5459
- * The available Grid Pro header case types
5085
+ * Filled by {@link gridProColumnDragBridgeModule} after grid beans init.
5086
+ * Read from `IToolPanelParams.context` / `api.getGridOption('context')`.
5087
+ * @public
5088
+ */
5089
+ export declare interface GridProColumnDragBridge {
5090
+ dragAndDrop?: {
5091
+ addDragSource: (source: GridDragSource, touchEnabled?: boolean) => void;
5092
+ removeDragSource: (source: GridDragSource) => void;
5093
+ };
5094
+ gos?: GridOptionsService;
5095
+ }
5096
+
5097
+ /** @public */
5098
+ export declare type GridProColumnDragBridgeContext = {
5099
+ [GRID_PRO_COLUMN_DRAG_BRIDGE_CONTEXT_KEY]?: GridProColumnDragBridge;
5100
+ };
5101
+
5102
+ /**
5103
+ * Registers drag-and-drop beans on `gridOptions.context` so custom tool panels
5104
+ * can call `dragAndDrop.addDragSource` (same contract as Enterprise Columns panel).
5105
+ * @internal
5106
+ */
5107
+ export declare const gridProColumnDragBridgeModule: Module;
5108
+
5109
+ /**
5110
+ * A directive that renders a set of grid-pro-column elements from a given input binding
5111
+ *
5112
+ * @param itemsBinding - The array to render
5113
+ * @param includeRenderers - Optionally tells whether to include cell renderers, if available
5460
5114
  * @public
5461
5115
  */
5462
- export declare enum GridProCaseType {
5463
- camelCase = "camelCase",
5464
- capitalCase = "capitalCase",
5465
- dotCase = "dotCase",
5466
- headerCase = "headerCase",
5467
- noCase = "noCase",
5468
- paramCase = "paramCase",
5469
- pascalCase = "pascalCase",
5470
- pathCase = "pathCase",
5471
- sentenceCase = "sentenceCase",
5472
- snakeCase = "snakeCase"
5116
+ export declare function gridProColumns<TSource = any>(itemsBinding: Binding<TSource, readonly ColDef[]> | readonly ColDef[], includeRenderers?: boolean): CaptureType<TSource>;
5117
+
5118
+ /**
5119
+ * @deprecated Use {@link ColumnSelectionHost}.
5120
+ * @public
5121
+ */
5122
+ export declare type GridProColumnSelectionHost = ColumnSelectionHost;
5123
+
5124
+ /**
5125
+ * Host layout when the Grid Pro column-selection toolbar is shown.
5126
+ * @public
5127
+ */
5128
+ export declare const gridProColumnSelectionHostStyles: ElementStyles;
5129
+
5130
+ /**
5131
+ * Grid Pro possible error events
5132
+ * @public
5133
+ */
5134
+ export declare type GridProErrorEvent = GridProGenesisDatasourceErrorEvent | CustomEvent<GridProErrorItem<any>>;
5135
+
5136
+ /**
5137
+ * Grid Pro Error Item
5138
+ * @public
5139
+ */
5140
+ export declare interface GridProErrorItem<GridProErrorItemDetailType> {
5141
+ detail: GridProErrorItemDetailType;
5142
+ type: GridProErrorTypes;
5473
5143
  }
5474
5144
 
5475
5145
  /**
5476
- * The Grid Pro Cell element.
5477
- * @remarks Used inside the Grid Pro Column element, to define a cell renderer from the template.
5146
+ * The error names for the Grid Pro component.
5478
5147
  * @public
5479
5148
  */
5480
- export declare class GridProCell extends FoundationElement implements ICellRendererComp {
5481
- renderer: ICellRendererFunc;
5482
- rendererParams: ICellRendererParams;
5483
- slottedRenderer: HTMLElement[];
5484
- connectedCallback(): void;
5485
- init(params: ICellRendererParams): void;
5486
- getGui(): HTMLElement;
5487
- destroy(): void;
5488
- refresh(params: ICellRendererParams): boolean;
5489
- slottedAgRendererChanged(): void;
5149
+ export declare const gridProErrorNames: {
5150
+ readonly datasource: "datasource";
5151
+ readonly unknown: "unknown";
5152
+ };
5153
+
5154
+ /**
5155
+ * Grid Pro Error Types
5156
+ * @public
5157
+ */
5158
+ export declare type GridProErrorTypes = keyof typeof gridProErrorNames;
5159
+
5160
+ /**
5161
+ * The event names for the Grid Pro component.
5162
+ * @public
5163
+ */
5164
+ export declare const gridProEventNames: {
5165
+ datasourceErrorClose: string;
5166
+ };
5167
+
5168
+ /**
5169
+ * Grid Pro Events and Callbacks
5170
+ * @remarks - This type is used to define the events and callbacks that can be passed to the grid
5171
+ * @public
5172
+ */
5173
+ export declare type GridProEventsAndCallbacks = OnlyFunctions<UntypeNonFunctions<GridOptions_2>>;
5174
+
5175
+ /**
5176
+ * Grid Pro Event Listeners
5177
+ * @internal
5178
+ */
5179
+ export declare type GridProEventsListeners = [string, (event: Event) => void][];
5180
+
5181
+ /**
5182
+ * The available Grid Pro column filter component names.
5183
+ * @remarks Register-able via the grid `components` map; `enumFilter` is usable as a
5184
+ * `ColDef.filter` value and `enumFloatingFilter` as a `ColDef.floatingFilterComponent`.
5185
+ * @public
5186
+ */
5187
+ export declare enum GridProFilterTypes {
5188
+ enumFilter = "enumColumnFilter",
5189
+ enumFloatingFilter = "enumColumnFloatingFilter"
5490
5190
  }
5491
5191
 
5492
5192
  /**
5493
- * The Genesis Datasource element, for client-side | CSRM-compatible data fetching and used exclusively by the GridPro element.
5193
+ * The Genesis Datasource element, for CSRM-compatible data fetching and used exclusively by the GridPro element.
5494
5194
  * @remarks Only supports Client-Side Row Model.
5495
5195
  * @public
5496
5196
  *
@@ -5513,22 +5213,176 @@ export declare class GridProCell extends FoundationElement implements ICellRende
5513
5213
  * @fires more-rows-changed - Fired when MORE_ROWS availability changes. detail: `MoreRowsDetail`
5514
5214
  * @fires datasource-size-changed - Fired when layout or viewport sizing affects the datasource. detail: `GrigProGenesisDatasourceSizeChangedEventDetail`
5515
5215
  */
5516
- export declare class GridProClientSideDatasource extends GridProGenesisDatasource {
5517
- }
5518
-
5519
- /**
5520
- * The Grid Pro Column element.
5521
- * @remarks Used insde the Grid Pro element, to specify the column definitions (ColDef) for a given column.
5522
- * @public
5523
- */
5524
- export declare class GridProColumn extends GridProColumn_base {
5525
- slottedAgCell: HTMLElement[];
5526
- definition: ColDef;
5527
- slottedAgCellChanged(): void;
5216
+ export declare class GridProGenesisDatasource extends GridProGenesisDatasource_base {
5217
+ private cachedRowArray;
5218
+ protected transactionData: TransactionData_2;
5219
+ criteriaChanged(oldCriteria: string, newCriteria: string): Promise<void>;
5220
+ requestChanged(oldRequest: string, newRequest: string): void;
5221
+ resourceNameChanged(oldValue: string, newValue: string): void;
5222
+ keepColDefsOnClearRowData: boolean;
5223
+ /**
5224
+ * When enabled and column definitions are provided, the datasource requests data only for the
5225
+ * columns that are currently visible. The visible set is seeded from the column config (columns
5226
+ * not flagged with `hide`) and updated by the host grid via `setVisibleColumns`; the data
5227
+ * is reloaded whenever that set changes.
5228
+ * @remarks DATASERVER only.
5229
+ * @default false
5230
+ */
5231
+ requestVisibleColumnsOnly: boolean;
5232
+ private _visibleColumns;
5233
+ private dataSub;
5234
+ private updateSub;
5235
+ private requiresFullRowDataAndColDefs;
5236
+ private _lastMoreRows;
5237
+ private _isMoreRowsResult;
5238
+ private _sourceRef;
5239
+ private _nextOffset;
5240
+ private _loadMoreCount;
5241
+ private readonly onDatasourceReady;
5242
+ connectedCallback(): void;
5243
+ disconnectedCallback(): void;
5528
5244
  deepClone(): Node;
5245
+ private colDefsDeepClone;
5246
+ /**
5247
+ * Initializes the datasource.
5248
+ * @public
5249
+ * @param columnDefinitions - Optionally set the `gridOptions` up with column definitions
5250
+ * @param columnStates - Optionally set the grid up with column state
5251
+ * @remarks This method is called automatically when the element is connected to the DOM.
5252
+ */
5253
+ init(keepColDefsOnClearRowData?: boolean): Promise<void>;
5254
+ private clearReadyListener;
5255
+ /**
5256
+ * Destroys the datasource, resetting it to its initial state.
5257
+ * @public
5258
+ */
5259
+ destroy(): void;
5260
+ /**
5261
+ * Deinitialises the datasource, resetting it to its initial state.
5262
+ * @deprecated Use `destroy` instead
5263
+ * @public
5264
+ */
5265
+ deinit(): void;
5266
+ /**
5267
+ * Resets the datasource to its initial state.
5268
+ * @public
5269
+ * @deprecated Use `destroy` instead
5270
+ */
5271
+ reset(): void;
5272
+ /**
5273
+ * Restarts the datasource, uses `destroy` and `init` in sequence.
5274
+ * @public
5275
+ */
5276
+ restart(): Promise<void>;
5277
+ /**
5278
+ * Force the grid to redispatch the current rows
5279
+ */
5280
+ refreshRows(): void;
5281
+ /**
5282
+ * Clears the rowData and columnDefs for the grid.
5283
+ * @remarks This is called when `reloadResourceData` happens, on criteria and filters change or full `reset`.
5284
+ * @param withColumnDefs - Whether to clear the columnDefs as well. Defaults to true.
5285
+ * @internal
5286
+ */
5287
+ private clearRowData;
5288
+ /**
5289
+ * Sets the columnDefs and rowData for the grid.
5290
+ * @remarks This should only happen once, when the grid is first initialized. Follow up updates will use transactions.
5291
+ * @internal
5292
+ */
5293
+ private setRowData;
5294
+ /**
5295
+ * Updates the cached row array from the rowData Map
5296
+ * @internal
5297
+ */
5298
+ private updateCachedRowArray;
5299
+ /**
5300
+ * Emits event to notify data has been loaded
5301
+ * @internal
5302
+ */
5303
+ private emitDataLoaded;
5304
+ /**
5305
+ * Emits event to notify data has changed
5306
+ * @internal
5307
+ */
5308
+ private emitDataChanged;
5309
+ /**
5310
+ * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
5311
+ * Loads resource data without full initialization (no metadata fetch).
5312
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
5313
+ * @see loadResourceData
5314
+ * @public
5315
+ */
5316
+ reloadResourceData(): Promise<void>;
5317
+ /**
5318
+ * Initializes the datasource and loads the data for the grid.
5319
+ * Handles both snapshot and stream data (for both REQUEST_SERVER and DATASERVER resource types).
5320
+ *
5321
+ * @param withFullInit - if true, will call datasource.init() with requiresMetadataFetch = true, fetching fresh metadata
5322
+ * @see reloadResourceData
5323
+ * @internal
5324
+ */
5325
+ private loadResourceData;
5326
+ private handleSnapshot;
5327
+ private handleStreamResult;
5328
+ /**
5329
+ * Updates the status bar based on more rows status
5330
+ * @param moreRows - Whether more rows are available
5331
+ * @param sourceRef - The source reference
5332
+ * @param rowsCount - The total number of rows
5333
+ * @remarks
5334
+ * This method emits an event for the grid to handle status bar updates.
5335
+ */
5336
+ private updateLoadMoreStatus;
5337
+ private applyRequestServerData;
5338
+ private applyDataserverData;
5339
+ private getAgColumnDefs;
5340
+ setFilter(fieldName: string, newFilter: string): void;
5341
+ removeFilter(fieldName: string): void;
5342
+ private handleSizeChanged;
5343
+ handleStreamInserts(inserts?: any[]): void;
5344
+ handleStreamUpdates(updates?: any[]): void;
5345
+ /**
5346
+ * Handles stream deletes by removing records from the grid.
5347
+ * @param deletes - List of records to remove from the grid stream
5348
+ */
5349
+ handleStreamDeletes(deletes?: any[]): void;
5350
+ /**
5351
+ * Extends the base options to constrain the requested fields to the visible columns when
5352
+ * `requestVisibleColumnsOnly` is enabled.
5353
+ * @remarks DATASERVER only; for other resource types the derived `fields` are ignored.
5354
+ * @internal
5355
+ */
5356
+ protected datasourceOptions(): DatasourceOptions;
5357
+ /**
5358
+ * Builds the DATASERVER `FIELDS` string (space-separated) from the visible columns, always
5359
+ * including the `rowId` so rows can be tracked.
5360
+ * @internal
5361
+ */
5362
+ private getRequestedFields;
5363
+ /**
5364
+ * Returns the field names of the configured columns that are not hidden, used to seed the visible
5365
+ * set before the host grid reports runtime visibility.
5366
+ * @internal
5367
+ */
5368
+ private getConfiguredVisibleColumns;
5369
+ /**
5370
+ * Updates the set of visible columns and reloads the data when the set changes.
5371
+ * @remarks Called by the host grid on column visibility changes; no-ops unless
5372
+ * `requestVisibleColumnsOnly` is enabled. DATASERVER only; no-ops for other resource types.
5373
+ * @param visibleFields - Field names of the currently visible columns.
5374
+ * @public
5375
+ */
5376
+ setVisibleColumns(visibleFields: string[]): void;
5377
+ /**
5378
+ * Compares two column field lists irrespective of order.
5379
+ * @internal
5380
+ */
5381
+ private columnsChanged;
5382
+ loadMore(): void;
5529
5383
  }
5530
5384
 
5531
- declare const GridProColumn_base: (new (...args: any[]) => {
5385
+ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
5532
5386
  #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
5533
5387
  #_latestTokenCode: string;
5534
5388
  #_hasFirstLoaded: boolean;
@@ -5655,7 +5509,11 @@ declare const GridProColumn_base: (new (...args: any[]) => {
5655
5509
  setAttributeNodeNS(attr: Attr): Attr | null;
5656
5510
  setHTMLUnsafe(html: string): void;
5657
5511
  setPointerCapture(pointerId: number): void;
5658
- toggleAttribute(qualifiedName: string, force?: boolean): boolean;
5512
+ toggleAttribute(qualifiedName: string, force? /**
5513
+ * Sets the columnDefs and rowData for the grid.
5514
+ * @remarks This should only happen once, when the grid is first initialized. Follow up updates will use transactions.
5515
+ * @internal
5516
+ */: boolean): boolean;
5659
5517
  webkitMatchesSelector(selectors: string): boolean;
5660
5518
  textContent: string;
5661
5519
  readonly baseURI: string;
@@ -5894,310 +5752,193 @@ declare const GridProColumn_base: (new (...args: any[]) => {
5894
5752
  tabIndex: number;
5895
5753
  blur(): void;
5896
5754
  focus(options?: FocusOptions): void;
5897
- }) & typeof FoundationElement;
5898
-
5899
- /**
5900
- * Filled by {@link gridProColumnDragBridgeModule} after grid beans init.
5901
- * Read from `IToolPanelParams.context` / `api.getGridOption('context')`.
5902
- * @public
5903
- */
5904
- export declare interface GridProColumnDragBridge {
5905
- dragAndDrop?: {
5906
- addDragSource: (source: GridDragSource, touchEnabled?: boolean) => void;
5907
- removeDragSource: (source: GridDragSource) => void;
5908
- };
5909
- gos?: GridOptionsService;
5910
- }
5911
-
5912
- /** @public */
5913
- export declare type GridProColumnDragBridgeContext = {
5914
- [GRID_PRO_COLUMN_DRAG_BRIDGE_CONTEXT_KEY]?: GridProColumnDragBridge;
5915
- };
5916
-
5917
- /**
5918
- * Registers drag-and-drop beans on `gridOptions.context` so custom tool panels
5919
- * can call `dragAndDrop.addDragSource` (same contract as Enterprise Columns panel).
5920
- * @internal
5921
- */
5922
- export declare const gridProColumnDragBridgeModule: Module;
5923
-
5924
- /**
5925
- * A directive that renders a set of grid-pro-column elements from a given input binding
5926
- *
5927
- * @param itemsBinding - The array to render
5928
- * @param includeRenderers - Optionally tells whether to include cell renderers, if available
5929
- * @public
5930
- */
5931
- export declare function gridProColumns<TSource = any>(itemsBinding: Binding<TSource, readonly ColDef[]> | readonly ColDef[], includeRenderers?: boolean): CaptureType<TSource>;
5932
-
5933
- /**
5934
- * @deprecated Use {@link ColumnSelectionHost}.
5935
- * @public
5936
- */
5937
- export declare type GridProColumnSelectionHost = ColumnSelectionHost;
5938
-
5939
- /**
5940
- * Host layout when the Grid Pro column-selection toolbar is shown.
5941
- * @public
5942
- */
5943
- export declare const gridProColumnSelectionHostStyles: ElementStyles;
5944
-
5945
- /**
5946
- * Grid Pro possible error events
5947
- * @public
5948
- */
5949
- export declare type GridProErrorEvent = GridProGenesisDatasourceErrorEvent | CustomEvent<GridProErrorItem<any>>;
5755
+ }) & typeof GridProBaseDatasource;
5950
5756
 
5951
5757
  /**
5952
- * Grid Pro Error Item
5758
+ * The error event grid pro genesis datasource.
5953
5759
  * @public
5954
5760
  */
5955
- export declare interface GridProErrorItem<GridProErrorItemDetailType> {
5956
- detail: GridProErrorItemDetailType;
5957
- type: GridProErrorTypes;
5958
- }
5761
+ export declare type GridProGenesisDatasourceErrorEvent = CustomEvent<GridProGenesisDatasourceErrorEventDetail>;
5959
5762
 
5960
5763
  /**
5961
- * The error names for the Grid Pro component.
5764
+ * The event detail for the grid pro genesis datasource `error` event.
5962
5765
  * @public
5963
5766
  */
5964
- export declare const gridProErrorNames: {
5965
- readonly datasource: "datasource";
5966
- readonly unknown: "unknown";
5767
+ export declare type GridProGenesisDatasourceErrorEventDetail = {
5768
+ message: string;
5967
5769
  };
5968
5770
 
5969
5771
  /**
5970
- * Grid Pro Error Types
5971
- * @public
5972
- */
5973
- export declare type GridProErrorTypes = keyof typeof gridProErrorNames;
5974
-
5975
- /**
5976
- * The event names for the Grid Pro component.
5772
+ * The Genesis Datasource events names.
5977
5773
  * @public
5978
5774
  */
5979
- export declare const gridProEventNames: {
5980
- datasourceErrorClose: string;
5775
+ export declare const gridProGenesisDatasourceEventNames: {
5776
+ readonly error: "datasource-error";
5777
+ readonly dataInit: "datasource-init";
5778
+ readonly sizeChanged: "datasource-size-changed";
5779
+ readonly moreRowsChanged: "more-rows-changed";
5981
5780
  };
5982
5781
 
5983
5782
  /**
5984
- * Grid Pro Events and Callbacks
5985
- * @remarks - This type is used to define the events and callbacks that can be passed to the grid
5986
- * @public
5987
- */
5988
- export declare type GridProEventsAndCallbacks = OnlyFunctions<UntypeNonFunctions<GridOptions_2>>;
5989
-
5990
- /**
5991
- * Grid Pro Event Listeners
5992
- * @internal
5993
- */
5994
- export declare type GridProEventsListeners = [string, (event: Event) => void][];
5995
-
5996
- /**
5997
- * The available Grid Pro column filter component names.
5998
- * @remarks Register-able via the grid `components` map; `enumFilter` is usable as a
5999
- * `ColDef.filter` value and `enumFloatingFilter` as a `ColDef.floatingFilterComponent`.
6000
- * @public
6001
- */
6002
- export declare enum GridProFilterTypes {
6003
- enumFilter = "enumColumnFilter",
6004
- enumFloatingFilter = "enumColumnFloatingFilter"
6005
- }
6006
-
6007
- /**
6008
- * The Genesis Datasource element, for CSRM-compatible data fetching and used exclusively by the GridPro element.
6009
- * @remarks Only supports Client-Side Row Model.
6010
- * @public
5783
+ * A Genesis Datasource element for AG Grid's Infinite Row Model.
5784
+ * @remarks
5785
+ * The Infinite Row Model is part of AG Grid Community (free) and provides:
5786
+ * - Lazy loading of data as user scrolls
5787
+ * - Server-side sorting and filtering
5788
+ * - Simple infinite scroll without grouping/aggregation
5789
+ * - Live updates for DATASERVER resources: the DATA_LOGON stream the grid pages over pushes
5790
+ * every change, so no flag or second subscription is needed
5791
+ *
5792
+ * REQUEST_SERVER resources are read on demand only - a change on the server shows up when the
5793
+ * grid re-reads (scroll, filter/sort change, or an explicit refresh), not live. The exception
5794
+ * is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents`
5795
+ * re-reads the loaded blocks, so entity-management CRUD is reflected immediately.
5796
+ *
5797
+ * Like the other datasources, consumer options passed as `deferredGridOptions` (including via
5798
+ * entity-management's `gridOptions` with `datasource-type="infinite"`) are merged over this
5799
+ * element's defaults in `init()`.
5800
+ *
5801
+ * Use this instead of Server-Side Row Model when you don't need Enterprise features
5802
+ * like row grouping, aggregation, or pivoting.
5803
+ *
5804
+ * @see https://www.ag-grid.com/javascript-data-grid/infinite-scrolling/
5805
+ * @beta
6011
5806
  *
6012
5807
  * @fires base-datasource-error - Fired when a datasource error is reported. detail: `BaseDatasourceErrorEventDetail`
6013
5808
  * @fires datasource-error - Fired when a datasource error occurs (for grid integration). detail: `DatasourceErrorEventDetail`
6014
- * @fires base-datasource-connected - Fired when error state is cleared after connection succeeds
6015
- * @fires datasource-loading-finished - Fired when loading completes with no pending row changes
6016
- * @fires datasource-no-data-available - Fired when the grid has no rows after load
6017
- * @fires datasource-data-changed - Fired when row data changes from stream updates. detail: `DataChangedEventDetail`
6018
- * @fires datasource-initialize - Fired to hand off grid options and initialization flags. detail: `InitializeEventDetail`
6019
- * @fires datasource-destroy - Fired when the datasource is torn down
6020
- * @fires datasource-data-cleared - Fired when row data is cleared. detail: `DataClearedEventDetail`
6021
- * @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
6022
- * @fires datasource-filters-restored - Fired when persisted filters are reapplied
6023
- * @fires datasource-data-loaded - Fired when a data payload is loaded for the grid. detail: `DataLoadedEventDetail`
6024
- * @fires datasource-loading-started - Fired when a load or refresh starts
6025
- * @fires datasource-more-data-available - Fired when more server rows can be requested. detail: `MoreDataAvailableEventDetail`
6026
- * @fires datasource-ready - Fired when the host grid is ready to start loading data
6027
- * @fires datasource-init - Fired when initial grid data is ready for the client-side model
6028
- * @fires more-rows-changed - Fired when MORE_ROWS availability changes. detail: `MoreRowsDetail`
6029
- * @fires datasource-size-changed - Fired when layout or viewport sizing affects the datasource. detail: `GrigProGenesisDatasourceSizeChangedEventDetail`
6030
- */
6031
- export declare class GridProGenesisDatasource extends GridProGenesisDatasource_base {
6032
- private cachedRowArray;
6033
- protected transactionData: TransactionData_2;
6034
- criteriaChanged(oldCriteria: string, newCriteria: string): Promise<void>;
6035
- requestChanged(oldRequest: string, newRequest: string): void;
6036
- resourceNameChanged(oldValue: string, newValue: string): void;
6037
- keepColDefsOnClearRowData: boolean;
6038
- /**
6039
- * When enabled and column definitions are provided, the datasource requests data only for the
6040
- * columns that are currently visible. The visible set is seeded from the column config (columns
6041
- * not flagged with `hide`) and updated by the host grid via `setVisibleColumns`; the data
6042
- * is reloaded whenever that set changes.
6043
- * @remarks DATASERVER only.
6044
- * @default false
6045
- */
6046
- requestVisibleColumnsOnly: boolean;
6047
- private _visibleColumns;
6048
- private dataSub;
6049
- private updateSub;
6050
- private requiresFullRowDataAndColDefs;
6051
- private _lastMoreRows;
6052
- private _isMoreRowsResult;
6053
- private _sourceRef;
6054
- private _nextOffset;
6055
- private _loadMoreCount;
6056
- private readonly onDatasourceReady;
6057
- connectedCallback(): void;
6058
- disconnectedCallback(): void;
6059
- deepClone(): Node;
6060
- private colDefsDeepClone;
6061
- /**
6062
- * Initializes the datasource.
6063
- * @public
6064
- * @param columnDefinitions - Optionally set the `gridOptions` up with column definitions
6065
- * @param columnStates - Optionally set the grid up with column state
6066
- * @remarks This method is called automatically when the element is connected to the DOM.
6067
- */
6068
- init(keepColDefsOnClearRowData?: boolean): Promise<void>;
6069
- private clearReadyListener;
6070
- /**
6071
- * Destroys the datasource, resetting it to its initial state.
6072
- * @public
6073
- */
6074
- destroy(): void;
6075
- /**
6076
- * Deinitialises the datasource, resetting it to its initial state.
6077
- * @deprecated Use `destroy` instead
6078
- * @public
6079
- */
6080
- deinit(): void;
6081
- /**
6082
- * Resets the datasource to its initial state.
6083
- * @public
6084
- * @deprecated Use `destroy` instead
6085
- */
6086
- reset(): void;
6087
- /**
6088
- * Restarts the datasource, uses `destroy` and `init` in sequence.
6089
- * @public
6090
- */
6091
- restart(): Promise<void>;
6092
- /**
6093
- * Force the grid to redispatch the current rows
6094
- */
6095
- refreshRows(): void;
5809
+ * @fires base-datasource-connected - Fired when error state is cleared after connection succeeds
5810
+ * @fires datasource-initialize - Fired to hand off infinite row model grid options. detail: `InitializeEventDetail`
5811
+ * @fires datasource-init - Fired when the infinite grid model should initialize data
5812
+ * @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
5813
+ * @fires datasource-data-changed - Fired when rows are delivered to the grid, a DATASERVER push changes them, or a re-read no longer returns them; `add` are rows the grid did not hold before, `update` are held rows whose content changed, `remove` carries the row id. detail: `DataChangedEventDetail`
5814
+ * @fires set-infinite-datasource - Fired to attach or clear the infinite row model datasource. detail: `SetInfiniteDatasourceEventDetail`
5815
+ * @fires refresh-infinite-cache - Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`
5816
+ * @fires add-grid-css-class - Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`
5817
+ * @fires remove-grid-css-class - Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`
5818
+ * @fires cache-filter-config - Fired to persist filter configuration for the grid
5819
+ * @fires datasource-data-cleared - Fired when the grid drops every row it held (reload, filter or sort change, destroy); `includeSchema` says whether the columns went too. detail: `DataClearedEventDetail`
5820
+ * @fires datasource-loading-finished - Fired when the first block comes back with rows
5821
+ * @fires datasource-no-data-available - Fired when the first block comes back empty
5822
+ * @fires datasource-filters-restored - Fired when persisted filters are reapplied
5823
+ */
5824
+ export declare class GridProInfiniteDatasource extends GridProInfiniteDatasource_base {
5825
+ connect: Connect;
5826
+ connectEvents: ConnectEvents;
5827
+ datasource: Datasource;
5828
+ request: any;
5829
+ private indexes;
5830
+ private infiniteDatasource;
5831
+ /** Unsubscribes the commit-response listener behind `pollTriggerEvents`. @internal */
5832
+ private commitResponseUnsubscribe?;
5833
+ resourceNameChanged(oldValue: string, newValue: string): void;
5834
+ criteriaChanged(oldCriteria: string, newCriteria: string): void;
5835
+ connectedCallback(): void;
5836
+ disconnectedCallback(): void;
5837
+ /** Unsubscribes the `setFilter()` listener. @internal */
5838
+ private filterSub;
6096
5839
  /**
6097
- * Clears the rowData and columnDefs for the grid.
6098
- * @remarks This is called when `reloadResourceData` happens, on criteria and filters change or full `reset`.
6099
- * @param withColumnDefs - Whether to clear the columnDefs as well. Defaults to true.
5840
+ * Reloads when `setFilter()` or `removeFilter()` changes the criteria.
5841
+ * @remarks The criteria a block is read with is captured when the resource is built, so a
5842
+ * filter added later reaches nothing until the rows are re-read. The `criteria` attribute
5843
+ * already reloads through `criteriaChanged`; this gives the programmatic API the same
5844
+ * behaviour instead of silently doing nothing.
6100
5845
  * @internal
6101
5846
  */
6102
- private clearRowData;
5847
+ private subscribeToFilterChanges;
5848
+ /** @internal */
5849
+ private unsubscribeFromFilterChanges;
5850
+ deepClone(): Node;
6103
5851
  /**
6104
- * Sets the columnDefs and rowData for the grid.
6105
- * @remarks This should only happen once, when the grid is first initialized. Follow up updates will use transactions.
6106
- * @internal
5852
+ * Resets the grid data while keeping columnDefs and reloads data.
5853
+ * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
5854
+ * @beta
6107
5855
  */
6108
- private setRowData;
5856
+ reloadResourceData(): Promise<void>;
5857
+ init(): Promise<void>;
5858
+ /** @internal */
5859
+ private clearReadyListener;
6109
5860
  /**
6110
- * Updates the cached row array from the rowData Map
5861
+ * Whether the infinite row model can drive this resource.
5862
+ * @remarks It pages a req/rep by sending CRITERIA_MATCH, ORDER_BY and OFFSET in DETAILS, which
5863
+ * a request reply only accepts when it is declared `criteriaOnlyRequest`
5864
+ * (`CRITERIA_ONLY_REQUEST` in its metadata). Without it the server expects its inputs in
5865
+ * `REQUEST` instead and rejects every block, which on this row model surfaces as a grid that
5866
+ * simply never fills. Report it once, up front, as the server-side model does.
5867
+ * @returns `true` when the infinite model can be used, `false` after reporting a
5868
+ * `resource-type` error.
6111
5869
  * @internal
6112
5870
  */
6113
- private updateCachedRowArray;
5871
+ private isInfiniteSupportedForResource;
5872
+ /** @internal */
5873
+ private onDatasourceReady;
6114
5874
  /**
6115
- * Emits event to notify data has been loaded
5875
+ * A pushed INSERT/DELETE changes which rows exist or their order, so the change is reported
5876
+ * and then the rows are re-read (purge).
6116
5877
  * @internal
6117
5878
  */
6118
- private emitDataLoaded;
5879
+ private handleLiveRowsInvalidated;
6119
5880
  /**
6120
- * Emits event to notify data has changed
5881
+ * A pushed MODIFY is already patched into the paging cache, so the change is reported and the
5882
+ * grid only needs to re-render its blocks.
6121
5883
  * @internal
6122
5884
  */
6123
- private emitDataChanged;
6124
- /**
6125
- * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
6126
- * Loads resource data without full initialization (no metadata fetch).
6127
- * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
6128
- * @see loadResourceData
6129
- * @public
6130
- */
6131
- reloadResourceData(): Promise<void>;
5885
+ private handleLiveRowsUpdated;
6132
5886
  /**
6133
- * Initializes the datasource and loads the data for the grid.
6134
- * Handles both snapshot and stream data (for both REQUEST_SERVER and DATASERVER resource types).
5887
+ * Turns a DATASERVER push into the same transaction the client-side datasource reports:
5888
+ * partial MODIFY rows are merged into the held row, and a remove carries just the row id.
5889
+ * @remarks Unlike the client-side model, a pushed row need not be held here - it may sit
5890
+ * beyond the loaded blocks, in which case the grid will never show it.
6135
5891
  *
6136
- * @param withFullInit - if true, will call datasource.init() with requiresMetadataFetch = true, fetching fresh metadata
6137
- * @see reloadResourceData
6138
- * @internal
6139
- */
6140
- private loadResourceData;
6141
- private handleSnapshot;
6142
- private handleStreamResult;
6143
- /**
6144
- * Updates the status bar based on more rows status
6145
- * @param moreRows - Whether more rows are available
6146
- * @param sourceRef - The source reference
6147
- * @param rowsCount - The total number of rows
6148
- * @remarks
6149
- * This method emits an event for the grid to handle status bar updates.
6150
- */
6151
- private updateLoadMoreStatus;
6152
- private applyRequestServerData;
6153
- private applyDataserverData;
6154
- private getAgColumnDefs;
6155
- setFilter(fieldName: string, newFilter: string): void;
6156
- removeFilter(fieldName: string): void;
6157
- private handleSizeChanged;
6158
- handleStreamInserts(inserts?: any[]): void;
6159
- handleStreamUpdates(updates?: any[]): void;
6160
- /**
6161
- * Handles stream deletes by removing records from the grid.
6162
- * @param deletes - List of records to remove from the grid stream
6163
- */
6164
- handleStreamDeletes(deletes?: any[]): void;
6165
- /**
6166
- * Extends the base options to constrain the requested fields to the visible columns when
6167
- * `requestVisibleColumnsOnly` is enabled.
6168
- * @remarks DATASERVER only; for other resource types the derived `fields` are ignored.
5892
+ * So a pushed INSERT is deliberately not reported: nothing here says where the new row sorts,
5893
+ * and reporting an `add` for a row that lands at position 40,000 of an unscrolled grid would
5894
+ * contradict the event's contract and leave the row held forever, since no block re-read ever
5895
+ * delivers (or withdraws) it. Every INSERT is followed by a purge and re-read, which reports
5896
+ * the row as `add` if and when it actually reaches the grid.
5897
+ *
5898
+ * A MODIFY for a row that is not held is skipped for the same reason; a DELETE is reported by
5899
+ * the id it carries, and one that cannot be resolved to an id is skipped with a warning rather
5900
+ * than matched against the wrong row.
6169
5901
  * @internal
6170
5902
  */
6171
- protected datasourceOptions(): DatasourceOptions;
5903
+ private reportLiveChange;
5904
+ destroy(): Promise<void>;
5905
+ restart(): Promise<void>;
6172
5906
  /**
6173
- * Builds the DATASERVER `FIELDS` string (space-separated) from the visible columns, always
6174
- * including the `rowId` so rows can be tracked.
5907
+ * Forgets every held row and tells consumers, as the client-side datasource does: the grid is
5908
+ * dropping its rows (a reload, a filter or sort change, or teardown). `withColumnDefs` also
5909
+ * clears the column definitions.
6175
5910
  * @internal
6176
5911
  */
6177
- private getRequestedFields;
5912
+ private clearRowData;
6178
5913
  /**
6179
- * Returns the field names of the configured columns that are not hidden, used to seed the visible
6180
- * set before the host grid reports runtime visibility.
5914
+ * Honours `pollTriggerEvents` without polling: a commit ACK for one of the listed events
5915
+ * means a write went through this session, so the loaded blocks are re-read in place - the
5916
+ * same action as `applyTransaction`, which keeps the grid's row count and scroll position.
5917
+ * @remarks REQUEST_SERVER only. DATASERVER already receives every change on the paging
5918
+ * subscription, so a commit-triggered re-read there would just duplicate the live push.
6181
5919
  * @internal
6182
5920
  */
6183
- private getConfiguredVisibleColumns;
5921
+ private setupCommitTriggeredRefresh;
5922
+ /** Safe to call when the listener was never registered. @internal */
5923
+ private teardownCommitTriggeredRefresh;
6184
5924
  /**
6185
- * Updates the set of visible columns and reloads the data when the set changes.
6186
- * @remarks Called by the host grid on column visibility changes; no-ops unless
6187
- * `requestVisibleColumnsOnly` is enabled. DATASERVER only; no-ops for other resource types.
6188
- * @param visibleFields - Field names of the currently visible columns.
6189
- * @public
5925
+ * Creates a snapshot request to the server.
5926
+ * @param existingParams - Optional existing parameters to include
5927
+ * @returns The server response
6190
5928
  */
6191
- setVisibleColumns(visibleFields: string[]): void;
5929
+ private createSnapshot;
6192
5930
  /**
6193
- * Compares two column field lists irrespective of order.
5931
+ * Opens the paged DATASERVER subscription used to serve grid blocks.
5932
+ * @remarks Deliberately a stream and not a snapshot: paging is a MORE_ROWS request against a
5933
+ * live subscription, and a fresh DATA_LOGON would always come back with page 1.
6194
5934
  * @internal
6195
5935
  */
6196
- private columnsChanged;
5936
+ private createDataserverStream;
5937
+ private getAgColumnDefs;
6197
5938
  loadMore(): void;
6198
5939
  }
6199
5940
 
6200
- declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
5941
+ declare const GridProInfiniteDatasource_base: (new (...args: any[]) => {
6201
5942
  #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
6202
5943
  #_latestTokenCode: string;
6203
5944
  #_hasFirstLoaded: boolean;
@@ -6324,11 +6065,7 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
6324
6065
  setAttributeNodeNS(attr: Attr): Attr | null;
6325
6066
  setHTMLUnsafe(html: string): void;
6326
6067
  setPointerCapture(pointerId: number): void;
6327
- toggleAttribute(qualifiedName: string, force? /**
6328
- * Sets the columnDefs and rowData for the grid.
6329
- * @remarks This should only happen once, when the grid is first initialized. Follow up updates will use transactions.
6330
- * @internal
6331
- */: boolean): boolean;
6068
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
6332
6069
  webkitMatchesSelector(selectors: string): boolean;
6333
6070
  textContent: string;
6334
6071
  readonly baseURI: string;
@@ -6570,190 +6307,483 @@ declare const GridProGenesisDatasource_base: (new (...args: any[]) => {
6570
6307
  }) & typeof GridProBaseDatasource;
6571
6308
 
6572
6309
  /**
6573
- * The error event grid pro genesis datasource.
6574
- * @public
6575
- */
6576
- export declare type GridProGenesisDatasourceErrorEvent = CustomEvent<GridProGenesisDatasourceErrorEventDetail>;
6577
-
6578
- /**
6579
- * The event detail for the grid pro genesis datasource `error` event.
6580
- * @public
6581
- */
6582
- export declare type GridProGenesisDatasourceErrorEventDetail = {
6583
- message: string;
6584
- };
6585
-
6586
- /**
6587
- * The Genesis Datasource events names.
6310
+ * The Grid Pro Legacy element (AG Grid v29 compatible).
6311
+ * @remarks Grid Pro Legacy is a Web Component wrapper around the AG Grid Community library.
6588
6312
  * @public
6589
- */
6590
- export declare const gridProGenesisDatasourceEventNames: {
6591
- readonly error: "datasource-error";
6592
- readonly dataInit: "datasource-init";
6593
- readonly sizeChanged: "datasource-size-changed";
6594
- readonly moreRowsChanged: "more-rows-changed";
6595
- };
6596
-
6597
- /**
6598
- * A Genesis Datasource element for AG Grid's Infinite Row Model.
6599
- * @remarks
6600
- * The Infinite Row Model is part of AG Grid Community (free) and provides:
6601
- * - Lazy loading of data as user scrolls
6602
- * - Server-side sorting and filtering
6603
- * - Simple infinite scroll without grouping/aggregation
6604
- * - Live updates for DATASERVER resources: the DATA_LOGON stream the grid pages over pushes
6605
- * every change, so no flag or second subscription is needed
6606
- *
6607
- * REQUEST_SERVER resources are read on demand only - a change on the server shows up when the
6608
- * grid re-reads (scroll, filter/sort change, or an explicit refresh), not live. The exception
6609
- * is a write made through this session: a commit ACK for an event listed in `pollTriggerEvents`
6610
- * re-reads the loaded blocks, so entity-management CRUD is reflected immediately.
6611
- *
6612
- * Like the other datasources, consumer options passed as `deferredGridOptions` (including via
6613
- * entity-management's `gridOptions` with `datasource-type="infinite"`) are merged over this
6614
- * element's defaults in `init()`.
6615
- *
6616
- * Use this instead of Server-Side Row Model when you don't need Enterprise features
6617
- * like row grouping, aggregation, or pivoting.
6618
- *
6619
- * @see https://www.ag-grid.com/javascript-data-grid/infinite-scrolling/
6620
- * @beta
6313
+ * @deprecated Legacy AG Grid v29 wrapper. Use `GridPro` (AG Grid v36) instead.
6314
+ * @tagname %%prefix%%-grid-pro
6621
6315
  *
6622
- * @fires base-datasource-error - Fired when a datasource error is reported. detail: `BaseDatasourceErrorEventDetail`
6623
- * @fires datasource-error - Fired when a datasource error occurs (for grid integration). detail: `DatasourceErrorEventDetail`
6624
- * @fires base-datasource-connected - Fired when error state is cleared after connection succeeds
6625
- * @fires datasource-initialize - Fired to hand off infinite row model grid options. detail: `InitializeEventDetail`
6626
- * @fires datasource-init - Fired when the infinite grid model should initialize data
6627
- * @fires datasource-schema-updated - Fired when column metadata or defs are updated. detail: `SchemaUpdatedEventDetail`
6628
- * @fires datasource-data-changed - Fired when rows are delivered to the grid, a DATASERVER push changes them, or a re-read no longer returns them; `add` are rows the grid did not hold before, `update` are held rows whose content changed, `remove` carries the row id. detail: `DataChangedEventDetail`
6629
- * @fires set-infinite-datasource - Fired to attach or clear the infinite row model datasource. detail: `SetInfiniteDatasourceEventDetail`
6630
- * @fires refresh-infinite-cache - Fired to request an infinite row model refresh; `purge` drops the block cache and re-reads. detail: `RefreshInfiniteCacheEventDetail`
6631
- * @fires add-grid-css-class - Fired to add a CSS class on the grid host (hover sort indicators). detail: `GridCssClassEventDetail`
6632
- * @fires remove-grid-css-class - Fired to remove that CSS class from the grid host. detail: `GridCssClassEventDetail`
6633
- * @fires cache-filter-config - Fired to persist filter configuration for the grid
6634
- * @fires datasource-data-cleared - Fired when the grid drops every row it held (reload, filter or sort change, destroy); `includeSchema` says whether the columns went too. detail: `DataClearedEventDetail`
6635
- * @fires datasource-loading-finished - Fired when the first block comes back with rows
6636
- * @fires datasource-no-data-available - Fired when the first block comes back empty
6637
- * @fires datasource-filters-restored - Fired when persisted filters are reapplied
6638
- */
6639
- export declare class GridProInfiniteDatasource extends GridProInfiniteDatasource_base {
6640
- connect: Connect;
6641
- connectEvents: ConnectEvents;
6642
- datasource: Datasource;
6643
- request: any;
6644
- private indexes;
6645
- private infiniteDatasource;
6646
- /** Unsubscribes the commit-response listener behind `pollTriggerEvents`. @internal */
6647
- private commitResponseUnsubscribe?;
6648
- resourceNameChanged(oldValue: string, newValue: string): void;
6649
- criteriaChanged(oldCriteria: string, newCriteria: string): void;
6316
+ * @fires gridReady - Fired when AG Grid is ready (detail includes the grid-ready event and grid id)
6317
+ * @fires onGridReady - Deprecated alias for the grid-ready signal; prefer `gridReady`
6318
+ * @fires gridready - Native `Event` from `globalEventListener` when AG Grid fires `gridReady` (`agGridDetails` holds the AG Grid event)
6319
+ * @remarks Re-emits AG Grid public API events when listeners are registered via `addEventListener` (event names match `ComponentUtil.PUBLIC_EVENTS` from `@ag-grid-community/core`). The same AG Grid events are also dispatched as native `Event`s with lowercased `type` and payload on `agGridDetails` (for example `addEventListener('columnresized', ...)`).
6320
+ */
6321
+ export declare class GridProLegacy extends GridProLegacy_base {
6322
+ columnApi: ColumnApi;
6323
+ gridApi: GridApi_2;
6324
+ private cachedTotalColumnWidth;
6325
+ private columnCount;
6326
+ gridErrorItems: GridProErrorItem<GridProErrorEvent['detail']>[];
6327
+ statePersistence: StatePersistence;
6328
+ /**
6329
+ * Timeout function used to debounce resize calls
6330
+ * @internal
6331
+ */
6332
+ private debounced;
6333
+ private disposed;
6334
+ private readonly debouncedSaveColumnState;
6335
+ private readonly debouncedSaveFilterModel;
6336
+ private readonly debouncedNotifyDatasourceVisibleColumns;
6337
+ autoCellRendererByType: boolean;
6338
+ onlyTemplateColDefs: boolean;
6339
+ /**
6340
+ * Boolean attribute to control whether the grid autosizes the columns upon interaction.
6341
+ * This will disable the column widths from being manually set, and doesn't save the widths
6342
+ * in local storage if you are using `persist-column-state-key`.
6343
+ */
6344
+ gridAutosizingEnabled: boolean;
6345
+ /**
6346
+ * Boolean attribute to control whether the grid automatically sizes columns to fit their content.
6347
+ * This will call AG Grid's autoSizeColumns() method to automatically adjust column widths based on content.
6348
+ * @public
6349
+ */
6350
+ sizeColumnsToContent: boolean;
6351
+ /**
6352
+ * Boolean attribute to adjust the size of columns to fit the available horizontal space.
6353
+ * This will call AG Grid's sizeColumnsToFit() method.
6354
+ * @public
6355
+ */
6356
+ sizeColumnsToFit: boolean;
6357
+ /**
6358
+ * The index to add new rows to when using `applyTransaction` or `applyTransactionAsync`
6359
+ */
6360
+ addIndex: number;
6361
+ /**
6362
+ * Whether to use the `applyTransactionAsync` function for *add* transactions
6363
+ * @remarks Defaults to false
6364
+ */
6365
+ asyncAdd: boolean;
6366
+ /**
6367
+ * Whether to use the `applyTransactionAsync` function for *remove* transactions
6368
+ * @remarks Defaults to false
6369
+ */
6370
+ asyncRemove: boolean;
6371
+ /**
6372
+ * Whether to use the `applyTransactionAsync` function for *update* transactions
6373
+ * @remarks Defaults to true
6374
+ */
6375
+ asyncUpdate: boolean;
6376
+ /**
6377
+ * If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef
6378
+ * @remarks Defaults to true
6379
+ */
6380
+ enableCellFlashing: boolean;
6381
+ /**
6382
+ * @deprecated - use `enableRowFlashing` instead.
6383
+ */
6384
+ enabledRowFlashing: boolean;
6385
+ /**
6386
+ * If true, will enable row flashing for all rows for `add` async transactions
6387
+ */
6388
+ enableRowFlashing: boolean;
6389
+ /**
6390
+ * The key to use for persisting the column state in local browser or KV storage.
6391
+ */
6392
+ persistColumnStateKey: string;
6393
+ /**
6394
+ * The key to use for persisting the filter model in local browser or KV storage.
6395
+ */
6396
+ persistFilterModelKey: string;
6397
+ /**
6398
+ * The default column config to reset to when deleteColumnState is called.
6399
+ */
6400
+ defaultColumnConfig: ColDef[];
6401
+ /**
6402
+ * The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.
6403
+ * @remarks Can be one of the following: camelCase, capitalCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase.
6404
+ * @public
6405
+ */
6406
+ headerCaseType: GridProCaseType;
6407
+ /**
6408
+ * The row data to display in the grid.
6409
+ * @remarks For scenarios where you want to set data manually, without relying on `<grid-pro-client-side-datasource>`.
6410
+ * @public
6411
+ */
6412
+ rowData: any[];
6413
+ rowDataChanged(_: any, rowData: any): void;
6414
+ gridFontFace: string;
6415
+ columnComponentName: string;
6416
+ eventsAndCallbacks: GridProEventsAndCallbacks;
6417
+ headerHeight: number;
6418
+ rowHeight: number;
6419
+ theme: string;
6420
+ themeChanged(oldValue: string, newValue: string): void;
6421
+ classNames: string;
6422
+ agGrid: Grid;
6423
+ gridSlot: HTMLSlotElement;
6424
+ /**
6425
+ * The slot ref binds asynchronously, and the queued `initGrid` skips any run that beats it. FAST
6426
+ * calls this the moment the ref lands, so a grid whose options were set BEFORE the view bound
6427
+ * still initialises rather than staying blank — closing the one gap that skip would leave.
6428
+ *
6429
+ * Guarded on `agGridOptions` as well: without options there is nothing to build, and AG Grid
6430
+ * would only log "no gridOptions provided to the grid". Those arrive via a grid-options change,
6431
+ * which re-runs `initGrid` on its own.
6432
+ */
6433
+ gridSlotChanged(): void;
6434
+ themeMode: 'light' | 'dark';
6435
+ gridComponents: {
6436
+ [componentName: string]: any;
6437
+ };
6438
+ /**
6439
+ * Configuration for the grid status bar components.
6440
+ * @remarks
6441
+ * This requires AG Grid Enterprise module to be enabled.
6442
+ * The status bar will only be displayed if the Enterprise module is available.
6443
+ * @see https://www.ag-grid.com/javascript-data-grid/component-status-bar/
6444
+ */
6445
+ statusBarConfig: GridProStatusBarConfig;
6446
+ /**
6447
+ * Enables or disables the grid status bar.
6448
+ * @remarks
6449
+ * Default is false.
6450
+ * When disabled, no status bar will be displayed regardless of statusBarConfig.
6451
+ * This requires AG Grid Enterprise module to be available for the status bar to be displayed when enabled.
6452
+ */
6453
+ withStatusBar: boolean;
6454
+ /**
6455
+ * Custom error handler dialog template function.
6456
+ * @remarks
6457
+ * When provided, this function will be used to render custom error dialogs instead of the default error handler.
6458
+ * The function should accept a prefix string and an array of grid error items and return a ViewTemplate.
6459
+ * If not provided, the default error handler dialog template will be used.
6460
+ */
6461
+ customErrorHandlerTemplate?: (prefix: string, gridErrorItems: GridProErrorItem<any>[]) => ViewTemplate;
6462
+ private columnState;
6463
+ protected agAttributes: Record<string, string>;
6464
+ protected agPropertiesMap: Record<string, string>;
6465
+ protected agGridOptions: GridOptions;
6466
+ /**
6467
+ * Last grid options supplied via the public `gridOptions` setter (not datasource init).
6468
+ * Used as the merge base in `handleInitialize` so user options survive datasource restart.
6469
+ */
6470
+ private userProvidedGridOptions;
6471
+ private applyingDatasourceGridOptions;
6472
+ protected initialised: boolean;
6473
+ private rehydrationAttempted;
6474
+ private eventHandlers;
6475
+ private gridEventsQueue;
6476
+ private registeredGridEvents;
6477
+ private gridEventListeners;
6478
+ private visibilityObserverCleanup?;
6479
+ private pendingSchemaUpdate?;
6480
+ private readonly boundGlobalEventListener;
6481
+ private _filterConfig;
6482
+ getfilterModel(): Promise<{
6483
+ [key: string]: any;
6484
+ }>;
6485
+ setFilterModel(value: {
6486
+ [key: string]: any;
6487
+ }): Promise<void>;
6488
+ /**
6489
+ * Injectable config that allows to change grid options on an app level basis
6490
+ * To modify options, register instance of the config in DOM container that is
6491
+ * above the grid or on the top level of the application, so it applies to all grids.
6492
+ *
6493
+ * @example
6494
+ * ```
6495
+ * DI.getOrCreateDOMContainer().register([
6496
+ * Registration.instance<GridOptionsConfig>(GridOptionsConfig, {
6497
+ * headerHeight: 50,
6498
+ * }),
6499
+ * ]);
6500
+ * ```
6501
+ */
6502
+ gridOptionsConfig: GridOptionsConfig;
6503
+ constructor();
6504
+ /**
6505
+ * The Infinite Row Model is only wired into `GridPro` (AG Grid v36), so an infinite datasource placed
6506
+ * inside this element can never load data. Report it instead of ignoring the event.
6507
+ * @internal
6508
+ */
6509
+ private refuseInfiniteDatasource;
6510
+ /**
6511
+ * Adds an event listener to the grid element.
6512
+ * @param eventType - The event type to listen for. Recommened to use the `Events` from AG Grid.
6513
+ * @param listener - The event listener to call when the event is fired.
6514
+ * @param options - An options object that specifies characteristics about the event listener.
6515
+ * @privateRemarks
6516
+ * This will change once we do the AG Upgrade and `eventType` will be correctly typed.
6517
+ */
6518
+ addEventListener(eventType: string, listener: any, options?: boolean | AddEventListenerOptions): void;
6519
+ private addGridEventListener;
6520
+ private handleError;
6521
+ private handleBaseDatasourceError;
6522
+ hideDatasourceError(): void;
6650
6523
  connectedCallback(): void;
6651
6524
  disconnectedCallback(): void;
6652
- /** Unsubscribes the `setFilter()` listener. @internal */
6653
- private filterSub;
6525
+ private performDisconnectCleanup;
6526
+ /**
6527
+ * Tear down the AG Grid instance. Prefer {@link GridApi#destroy}; if `gridApi` is not set yet
6528
+ * (e.g. disconnect before `grid-ready`), fall back to {@link Grid#destroy} on the vanilla wrapper.
6529
+ */
6530
+ private destroyGridInstance;
6531
+ /**
6532
+ * Handles datasource initialization
6533
+ * @internal
6534
+ */
6535
+ private handleInitialize;
6536
+ /**
6537
+ * Handles data loading from datasource
6538
+ * @internal
6539
+ */
6540
+ private handleDataLoaded;
6541
+ /**
6542
+ * Handles data changes from datasource
6543
+ * @internal
6544
+ */
6545
+ private handleDataChanged;
6546
+ private flashAddedCells;
6547
+ /**
6548
+ * Handles schema updates from datasource
6549
+ * @internal
6550
+ */
6551
+ private handleSchemaUpdated;
6552
+ /**
6553
+ * Builds and applies column defs from a schema/metadata payload.
6554
+ * @internal
6555
+ */
6556
+ private processSchemaUpdate;
6557
+ /**
6558
+ * Handles data clearing from datasource
6559
+ * @internal
6560
+ */
6561
+ private handleDataCleared;
6562
+ /**
6563
+ * Handles loading started from datasource
6564
+ * @internal
6565
+ */
6566
+ private handleLoadingStarted;
6567
+ /**
6568
+ * Handles loading finished from datasource
6569
+ * @internal
6570
+ */
6571
+ private handleLoadingFinished;
6572
+ /**
6573
+ * Handles no data available from datasource
6574
+ * @internal
6575
+ */
6576
+ private handleNoDataAvailable;
6654
6577
  /**
6655
- * Reloads when `setFilter()` or `removeFilter()` changes the criteria.
6656
- * @remarks The criteria a block is read with is captured when the resource is built, so a
6657
- * filter added later reaches nothing until the rows are re-read. The `criteria` attribute
6658
- * already reloads through `criteriaChanged`; this gives the programmatic API the same
6659
- * behaviour instead of silently doing nothing.
6578
+ * Handles filter restoration from datasource
6660
6579
  * @internal
6661
6580
  */
6662
- private subscribeToFilterChanges;
6663
- /** @internal */
6664
- private unsubscribeFromFilterChanges;
6665
- deepClone(): Node;
6581
+ private handleFiltersRestored;
6666
6582
  /**
6667
- * Resets the grid data while keeping columnDefs and reloads data.
6668
- * @remarks This is used when the grid is already initialized and we want to reload the data due to a criteria/filter change.
6669
- * @beta
6583
+ * Handles more data availability from datasource
6584
+ * @internal
6670
6585
  */
6671
- reloadResourceData(): Promise<void>;
6672
- init(): Promise<void>;
6673
- /** @internal */
6674
- private clearReadyListener;
6586
+ private handleMoreDataAvailable;
6675
6587
  /**
6676
- * Whether the infinite row model can drive this resource.
6677
- * @remarks It pages a req/rep by sending CRITERIA_MATCH, ORDER_BY and OFFSET in DETAILS, which
6678
- * a request reply only accepts when it is declared `criteriaOnlyRequest`
6679
- * (`CRITERIA_ONLY_REQUEST` in its metadata). Without it the server expects its inputs in
6680
- * `REQUEST` instead and rejects every block, which on this row model surfaces as a grid that
6681
- * simply never fills. Report it once, up front, as the server-side model does.
6682
- * @returns `true` when the infinite model can be used, `false` after reporting a
6683
- * `resource-type` error.
6588
+ * Handles datasource errors
6684
6589
  * @internal
6685
6590
  */
6686
- private isInfiniteSupportedForResource;
6687
- /** @internal */
6688
- private onDatasourceReady;
6591
+ private handleDatasourceError;
6689
6592
  /**
6690
- * A pushed INSERT/DELETE changes which rows exist or their order, so the change is reported
6691
- * and then the rows are re-read (purge).
6593
+ * Handles datasource destroy
6692
6594
  * @internal
6693
6595
  */
6694
- private handleLiveRowsInvalidated;
6596
+ private handleDatasourceDestroy;
6695
6597
  /**
6696
- * A pushed MODIFY is already patched into the paging cache, so the change is reported and the
6697
- * grid only needs to re-render its blocks.
6598
+ * Handles refreshing server-side data
6698
6599
  * @internal
6699
6600
  */
6700
- private handleLiveRowsUpdated;
6601
+ private handleRefreshServerSide;
6701
6602
  /**
6702
- * Turns a DATASERVER push into the same transaction the client-side datasource reports:
6703
- * partial MODIFY rows are merged into the held row, and a remove carries just the row id.
6704
- * @remarks Unlike the client-side model, a pushed row need not be held here - it may sit
6705
- * beyond the loaded blocks, in which case the grid will never show it.
6706
- *
6707
- * So a pushed INSERT is deliberately not reported: nothing here says where the new row sorts,
6708
- * and reporting an `add` for a row that lands at position 40,000 of an unscrolled grid would
6709
- * contradict the event's contract and leave the row held forever, since no block re-read ever
6710
- * delivers (or withdraws) it. Every INSERT is followed by a purge and re-read, which reports
6711
- * the row as `add` if and when it actually reaches the grid.
6712
- *
6713
- * A MODIFY for a row that is not held is skipped for the same reason; a DELETE is reported by
6714
- * the id it carries, and one that cannot be resolved to an id is skipped with a warning rather
6715
- * than matched against the wrong row.
6603
+ * Handles setting server-side datasource
6716
6604
  * @internal
6717
6605
  */
6718
- private reportLiveChange;
6719
- destroy(): Promise<void>;
6720
- restart(): Promise<void>;
6606
+ private handleSetServerSideDatasource;
6721
6607
  /**
6722
- * Forgets every held row and tells consumers, as the client-side datasource does: the grid is
6723
- * dropping its rows (a reload, a filter or sort change, or teardown). `withColumnDefs` also
6724
- * clears the column definitions.
6608
+ * Handles adding CSS class to grid element
6725
6609
  * @internal
6726
6610
  */
6727
- private clearRowData;
6611
+ private handleAddGridCssClass;
6728
6612
  /**
6729
- * Honours `pollTriggerEvents` without polling: a commit ACK for one of the listed events
6730
- * means a write went through this session, so the loaded blocks are re-read in place - the
6731
- * same action as `applyTransaction`, which keeps the grid's row count and scroll position.
6732
- * @remarks REQUEST_SERVER only. DATASERVER already receives every change on the paging
6733
- * subscription, so a commit-triggered re-read there would just duplicate the live push.
6613
+ * Handles removing CSS class from grid element
6734
6614
  * @internal
6735
6615
  */
6736
- private setupCommitTriggeredRefresh;
6737
- /** Safe to call when the listener was never registered. @internal */
6738
- private teardownCommitTriggeredRefresh;
6616
+ private handleRemoveGridCssClass;
6739
6617
  /**
6740
- * Creates a snapshot request to the server.
6741
- * @param existingParams - Optional existing parameters to include
6742
- * @returns The server response
6618
+ * Handles applying server-side transactions
6619
+ * @internal
6743
6620
  */
6744
- private createSnapshot;
6621
+ private handleApplyServerSideTransaction;
6622
+ combineAllGridComponents(gridOptionsComponents: GridComponents): GridComponents;
6623
+ statePersistanceEnabled(): boolean;
6745
6624
  /**
6746
- * Opens the paged DATASERVER subscription used to serve grid blocks.
6747
- * @remarks Deliberately a stream and not a snapshot: paging is a MORE_ROWS request against a
6748
- * live subscription, and a fresh DATA_LOGON would always come back with page 1.
6625
+ * Gets the currently selected rows from the grid
6626
+ * @public
6627
+ * @returns Array of selected row data
6628
+ */
6629
+ getSelectedRows(): any[];
6630
+ /**
6631
+ * Gets the row data from selected cell ranges
6749
6632
  * @internal
6633
+ * @returns Array containing the row data from selected cell ranges, or empty array if none
6750
6634
  */
6751
- private createDataserverStream;
6752
- private getAgColumnDefs;
6753
- loadMore(): void;
6635
+ private getCellRangeRowData;
6636
+ /**
6637
+ * Checks if any rows are currently selected
6638
+ * @public
6639
+ * @returns True if rows are selected, false otherwise
6640
+ */
6641
+ hasSelectedRows(): boolean;
6642
+ /**
6643
+ * Updates the label-value status bar component with new label and value
6644
+ * @public
6645
+ * @param params - Object containing label, value, and optionally hide flag
6646
+ * @example
6647
+ * ```ts
6648
+ * gridPro.updateLabelValueStatusBar({
6649
+ * label: 'Total Records',
6650
+ * value: '1,234',
6651
+ * hide: false
6652
+ * });
6653
+ * ```
6654
+ */
6655
+ updateLabelValueStatusBar(params: GridProStatusBarLabelConfig): void;
6656
+ /**
6657
+ * Because we try and resize the grid to fit using callbacks on events, this will cause
6658
+ * a stack overflow of calls to resize, so we need to debounce it.
6659
+ * @internal
6660
+ */
6661
+ private debouncedColumnAutosize;
6662
+ /**
6663
+ * If {@link @genesislcap/grid-pro#GridProLegacy.gridAutosizingEnabled} is true, will remove the widths from the column states.
6664
+ * @internal
6665
+ */
6666
+ private removeConfigWidthsToAutosize;
6667
+ private saveColumnState;
6668
+ /**
6669
+ * Gets the saved grid ColumnState[] from storage
6670
+ * @remarks This is used to restore the grid state when the grid is rehydrated
6671
+ * @privateRemarks Not using `columnApi.get|setColumnState()` for these flows as it doesn't work setting new columnDefs vs different ordering.
6672
+ * @public
6673
+ */
6674
+ getSavedColumnState(): Promise<ColumnState[]>;
6675
+ /**
6676
+ * Deletes the saved column state for the current grid
6677
+ * @param resetToDefault - Whether to reset columns to their default configuration. Defaults to true.
6678
+ * @remarks This removes the persisted column state from storage, allowing the grid to use default column configuration
6679
+ * @public
6680
+ */
6681
+ deleteColumnState(resetToDefault?: boolean): Promise<void>;
6682
+ private restoreColumnState;
6683
+ cacheFilterConfig(): void;
6684
+ restoreCachedFilterConfig(): Promise<void>;
6685
+ /**
6686
+ * @public
6687
+ */
6688
+ get gridOptions(): GridOptionsConfig;
6689
+ /**
6690
+ * @public
6691
+ */
6692
+ get isServerSide(): boolean;
6693
+ /**
6694
+ * @public
6695
+ */
6696
+ get gridParams(): GridParams_2;
6697
+ /**
6698
+ * Get the datasource element.
6699
+ * @remarks This will return the first datasource element found in the light DOM, wrapping all concrete datasource implementations.
6700
+ * @public
6701
+ */
6702
+ get gridProDatasource(): GridProBaseDatasource;
6703
+ /**
6704
+ * Reports the currently visible columns to the datasource. The datasource decides what to do with
6705
+ * them (e.g. narrowing the server request); the grid stays agnostic of that behaviour.
6706
+ * @internal
6707
+ */
6708
+ private notifyDatasourceVisibleColumns;
6709
+ set gridOptions(options: GridOptionsConfig);
6710
+ private setLocalGridOptions;
6711
+ /**
6712
+ * Clears the local grid options, this is used to clear the grid options when the grid is restarted.
6713
+ * @public
6714
+ */
6715
+ clearLocalGridOptions(): void;
6716
+ /**
6717
+ * Clears all grid option state when the grid element is fully torn down.
6718
+ * @internal
6719
+ */
6720
+ private resetGridOptionsState;
6721
+ private initGrid;
6722
+ /**
6723
+ * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
6724
+ * @deprecated use `applyTemplateDefinitions` instead.
6725
+ * @param columnDefs - The column definitions to apply to the grid.
6726
+ * @param deferredColumnDefsOrState - If true, will merge the column definitions with the saved column state or the `deferredColumnStates` property on the `grid-pro-genesis-datasource` element.
6727
+ * @returns The merged column definitions.
6728
+ */
6729
+ applyTemplateDefinitions(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<(ColDef<any> | ColGroupDef<any>)[]>;
6730
+ /**
6731
+ * Will merge templated column definitions with `columnDefs` plus localStorage's column state or `deferredColumnStates`.
6732
+ * @public
6733
+ * @remarks This will favor the column state from the browser's local storage over the `deferredColumnStates` property on the `grid-pro-genesis-datasource` element.
6734
+ * @param columnDefs - The column definitions to apply to the grid.
6735
+ * @param deferredColumnDefsOrState - If true, will merge the column definitions with the saved column state or the `deferredColumnStates` property
6736
+ * on the `grid-pro-genesis-datasource` element. Defaults to false but `grid-pro-genesis-datasource` will set this to true.
6737
+ * @returns The merged column definitions.
6738
+ */
6739
+ mergeAllColumnDefsAndStates(columnDefs: ColDef[], deferredColumnDefsOrState?: boolean): Promise<(ColDef<any> | ColGroupDef<any>)[]>;
6740
+ private panelExists;
6741
+ private addRowCountPanel;
6742
+ private addMaxRowsPanel;
6743
+ private addAggregationPanel;
6744
+ private addDatasourcePanels;
6745
+ protected setupStatusBar(gridOptions: GridOptions): void;
6746
+ /**
6747
+ * Handles column sizing based on sizeColumnsToContent and sizeColumnsToFit attributes
6748
+ * @private
6749
+ */
6750
+ private handleColumnSizing;
6751
+ /**
6752
+ * Handles when both sizeColumnsToContent and sizeColumnsToFit are enabled
6753
+ * @private
6754
+ */
6755
+ private handleBothSizingModes;
6756
+ /**
6757
+ * Handles individual sizing modes when only one is enabled
6758
+ * @private
6759
+ */
6760
+ private handleIndividualSizingModes;
6761
+ /**
6762
+ * Calculates the total width of all columns
6763
+ * @private
6764
+ */
6765
+ private calculateTotalColumnWidth;
6766
+ /**
6767
+ * Invalidates the cached column width calculation
6768
+ * @private
6769
+ * @remarks This method is called automatically when column changes occur (resize, move, pin, etc.)
6770
+ * to ensure the cached width calculation remains accurate.
6771
+ */
6772
+ private invalidateColumnWidthCache;
6773
+ /**
6774
+ * Gets the available grid width with fallbacks
6775
+ * @private
6776
+ */
6777
+ private getGridWidth;
6778
+ get observedAttributes(): string[];
6779
+ agAttributeChangedCallback(attName: any, oldValue: any, newValue: any): void;
6780
+ globalEventListener(eventType: any, event: any): void;
6781
+ private fontFaceDestroy;
6782
+ private insertFontFace;
6783
+ private destroyFontFace;
6754
6784
  }
6755
6785
 
6756
- declare const GridProInfiniteDatasource_base: (new (...args: any[]) => {
6786
+ declare const GridProLegacy_base: (new (...args: any[]) => {
6757
6787
  #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
6758
6788
  #_latestTokenCode: string;
6759
6789
  #_hasFirstLoaded: boolean;
@@ -7119,7 +7149,7 @@ declare const GridProInfiniteDatasource_base: (new (...args: any[]) => {
7119
7149
  tabIndex: number;
7120
7150
  blur(): void;
7121
7151
  focus(options?: FocusOptions): void;
7122
- }) & typeof GridProBaseDatasource;
7152
+ }) & typeof FoundationElement;
7123
7153
 
7124
7154
  /**
7125
7155
  * The available Grid Pro Renderer Types
@@ -7797,8 +7827,8 @@ export declare const gridProTemplate: ViewTemplate;
7797
7827
  /**
7798
7828
  * Event detail for the `gridReady`/`onGridReady` signals.
7799
7829
  * @public
7800
- * @remarks Only accurate for {@link @genesislcap/grid-pro#GridProBeta}, which is built on
7801
- * `ag-grid-community` (v36). {@link @genesislcap/grid-pro#GridPro} fires the same event names
7830
+ * @remarks Only accurate for {@link @genesislcap/grid-pro#GridPro}, which is built on
7831
+ * `ag-grid-community` (v36). {@link @genesislcap/grid-pro#GridProLegacy} fires the same event names
7802
7832
  * but its `event` field is a `@ag-grid-community/core` (v29) `GridReadyEvent`.
7803
7833
  */
7804
7834
  export declare interface GridReadyEventDetail {
@@ -8118,7 +8148,7 @@ export declare class MulticolumnDropdown extends MulticolumnDropdown_base {
8118
8148
  */
8119
8149
  baseCriteria?: string;
8120
8150
  defaultSlottedNodes: Node[];
8121
- grid: GridPro;
8151
+ grid: GridPro | GridProLegacy;
8122
8152
  private _value;
8123
8153
  get value(): string;
8124
8154
  set value(value: string);