@infinite-table/infinite-react 8.0.5 → 9.0.0-canary.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.
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from 'react';
2
- import React__default, { RefCallback, CSSProperties, HTMLProps, MutableRefObject, MouseEvent, KeyboardEvent, HTMLAttributes, ReactNode, EffectCallback, DependencyList } from 'react';
2
+ import React__default, { CSSProperties, HTMLProps, KeyboardEvent, HTMLAttributes, MutableRefObject, MouseEvent, ReactNode, EffectCallback, DependencyList } from 'react';
3
3
 
4
4
  type ManagedComponentStateContextValue<T_STATE, T_ACTIONS> = {
5
5
  getComponentState: () => T_STATE;
@@ -9,7 +9,7 @@ type ManagedComponentStateContextValue<T_STATE, T_ACTIONS> = {
9
9
  replaceState: (state: T_STATE) => void;
10
10
  };
11
11
  type ComponentStateGeneratedActions<T_STATE> = {
12
- [k in keyof T_STATE]: T_STATE[k] | React.SetStateAction<T_STATE[k]>;
12
+ [k in keyof T_STATE]: T_STATE[k] | ((prevState: T_STATE[k]) => T_STATE[k]);
13
13
  };
14
14
  type ComponentInterceptedActions<T_STATE> = {
15
15
  [k in keyof T_STATE]?: (value: T_STATE[k], { actions, state, }: {
@@ -323,9 +323,6 @@ type TreeGridOnlyProps<_T> = {};
323
323
  type InfiniteTablePropsNotAvailableInTreeGrid = keyof Pick<InfiniteTableProps<any>, 'pivotColumns' | 'pivotColumnGroups' | 'pivotTotalColumnPosition' | 'pivotGrandTotalColumnPosition' | 'groupColumn' | 'groupRenderStrategy' | 'hideEmptyGroupColumns' | 'showSeparatePivotColumnForSingleAggregation' | 'isRowDetailExpanded' | 'isRowDetailEnabled' | 'rowDetailCache' | 'rowDetailState' | 'defaultRowDetailState' | 'onRowDetailStateChange' | 'rowDetailHeight' | 'rowDetailRenderer' | 'groupRenderStrategy'>;
324
324
  type TreeGridProps<T> = Omit<InfiniteTableProps<T>, InfiniteTablePropsNotAvailableInTreeGrid> & TreeGridOnlyProps<T>;
325
325
 
326
- declare function TreeGrid<T>(props: TreeGridProps<T>): React$1.JSX.Element;
327
- declare const withSelectedLeafNodesOnly: (callback: (treeSelectionObject: TreeSelectionStateObject) => void) => DataSourcePropOnTreeSelectionChange_MultiNode;
328
-
329
326
  type DebugLogger = {
330
327
  (...args: any[]): void;
331
328
  extend: (channelName: string) => DebugLogger;
@@ -369,218 +366,18 @@ declare class Logger {
369
366
  constructor(channelName: string);
370
367
  }
371
368
 
372
- interface Size {
373
- width: number;
374
- height: number;
375
- }
376
-
377
369
  interface ScrollPosition {
378
370
  scrollTop: number;
379
371
  scrollLeft: number;
380
372
  }
381
373
  type OnScrollFn = (scrollPosition: ScrollPosition) => void;
382
374
 
383
- type RenderRange = {
384
- renderStartIndex: number;
385
- renderEndIndex: number;
386
- };
387
-
388
- type VoidFn = () => void;
389
-
390
- type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
391
- interface SubscriptionCallback<T> {
392
- (node: T, callback?: () => void): void;
393
- get: () => T | null;
394
- destroy: VoidFn;
395
- onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
396
- getListenersCount: () => number;
397
- }
398
-
399
- type DataSourceMutation<T> = {
400
- type: 'delete';
401
- primaryKey: any;
402
- nodePath?: never;
403
- originalData: T;
404
- metadata: any;
405
- } | {
406
- type: 'delete';
407
- primaryKey?: never;
408
- nodePath: NodePath$1;
409
- originalData: T;
410
- metadata: any;
411
- } | {
412
- type: 'update';
413
- primaryKey: any;
414
- nodePath?: never;
415
- data: Partial<T>;
416
- originalData: T;
417
- metadata: any;
418
- } | {
419
- type: 'update';
420
- primaryKey?: never;
421
- nodePath: NodePath$1;
422
- data: Partial<T>;
423
- originalData: T;
424
- metadata: any;
425
- } | {
426
- type: 'update-children';
427
- primaryKey?: never;
428
- nodePath: NodePath$1;
429
- children: UpdateChildrenFn<T>;
430
- originalData: T;
431
- metadata: any;
432
- } | {
433
- type: 'insert';
434
- primaryKey: any;
435
- nodePath?: never;
436
- position: 'before' | 'after';
437
- originalData: null;
438
- data: T;
439
- metadata: any;
440
- } | {
441
- type: 'insert';
442
- primaryKey?: never;
443
- nodePath: NodePath$1;
444
- position: 'before' | 'after';
445
- originalData: null;
446
- data: T;
447
- metadata: any;
448
- } | {
449
- type: 'clear-all';
450
- primaryKey: undefined;
451
- metadata: any;
452
- };
453
- declare class DataSourceCache<DataType, PrimaryKeyType = string> {
454
- private affectedFields;
455
- private allFieldsAffected;
456
- private nodesKey;
457
- private primaryKeyToData;
458
- private nodePathToData;
459
- constructor(options: {
460
- nodesKey: string | undefined;
461
- });
462
- static clone<DataType, PrimaryKeyType = string>(cache: DataSourceCache<DataType, PrimaryKeyType>, { light }?: {
463
- light?: boolean;
464
- }): DataSourceCache<DataType, PrimaryKeyType>;
465
- getAffectedFields: () => true | Set<keyof DataType>;
466
- delete: (primaryKey: PrimaryKeyType, originalData: DataType, metadata: any) => void;
467
- deleteNodePath: (nodePath: NodePath$1, originalData: DataType, metadata: any) => void;
468
- insert: (primaryKey: PrimaryKeyType, data: DataType, position: "before" | "after", metadata: any) => void;
469
- insertNodePath: (nodePath: NodePath$1, data: DataType, position: "before" | "after", metadata: any) => void;
470
- update: (primaryKey: PrimaryKeyType, data: Partial<DataType>, originalData: DataType, metadata: any) => void;
471
- updateNodePath: (nodePath: NodePath$1, data: Partial<DataType>, originalData: DataType, metadata: any) => void;
472
- updateChildren: (nodePath: NodePath$1, children: UpdateChildrenFn<DataType>, originalData: DataType, metadata: any) => void;
473
- resetDataSource: (metadata: any) => void;
474
- shouldResetDataSource: () => boolean;
475
- clear: () => void;
476
- isEmpty: () => boolean;
477
- removeInfo: (primaryKey: PrimaryKeyType) => void;
478
- removeNodePathInfo: (nodePath: NodePath$1) => void;
479
- getMutationsForPrimaryKey: (primaryKey: PrimaryKeyType) => DataSourceMutation<DataType>[] | undefined;
480
- getMutationsForNodePath: (nodePath: NodePath$1) => DataSourceMutation<DataType>[] | undefined;
481
- getMutationsCount: () => number;
482
- getMutations: () => Map<PrimaryKeyType, DataSourceMutation<DataType>[]>;
483
- getTreeMutations: () => DeepMap<NodePath$1, DataSourceMutation<DataType>[]>;
484
- getMutationsArray: () => DataSourceMutation<DataType>[];
485
- getTreeMutationsArray: () => DataSourceMutation<DataType>[];
486
- }
487
-
488
- type ForwardPropsToStateFnResult<TYPE_PROPS, TYPE_RESULT, COMPONENT_SETUP_STATE> = {
489
- [propName in keyof TYPE_PROPS & keyof TYPE_RESULT]: 1 | ((value: TYPE_PROPS[propName], setupState: COMPONENT_SETUP_STATE) => TYPE_RESULT[propName]);
490
- };
491
- type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE = {}, COMPONENT_DERIVED_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
492
- debugName?: string | ((props: T_PROPS) => string);
493
- initSetupState?: (props: T_PROPS) => COMPONENT_SETUP_STATE;
494
- Context?: React$1.Context<ManagedComponentStateContextValue<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE, ComponentStateGeneratedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>>>;
495
- layoutEffect?: boolean;
496
- forwardProps?: (setupState: COMPONENT_SETUP_STATE, props: T_PROPS) => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE>;
497
- allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
498
- interceptActions?: ComponentInterceptedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
499
- mappedCallbacks?: ComponentMappedCallbacks<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
500
- onPropChange?: (params: {
501
- name: keyof T_PROPS;
502
- oldValue: any;
503
- newValue: any;
504
- }, props: T_PROPS, actions: ComponentStateActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>, state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>) => void;
505
- onPropsChange?: (newPropValues: {
506
- [k in keyof T_PROPS]?: {
507
- newValue: T_PROPS[k];
508
- oldValue: T_PROPS[k];
509
- };
510
- }, props: T_PROPS, actions: ComponentStateActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>, state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>) => void;
511
- mapPropsToState?: (params: {
512
- props: T_PROPS;
513
- state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
514
- oldState: null | (COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>);
515
- parentState: T_PARENT_STATE | null;
516
- }) => COMPONENT_DERIVED_STATE;
517
- concludeReducer?: (params: {
518
- previousState: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
519
- state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
520
- updatedProps: Partial<T_PROPS> | null;
521
- parentState: T_PARENT_STATE | null;
522
- }) => COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
523
- getReducerActions?: (dispatch: React$1.Dispatch<any>) => T_ACTIONS;
524
- getParentState?: () => T_PARENT_STATE;
525
- cleanup?: (state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE) => void;
526
- onControlledPropertyChange?: (name: string, newValue: any, oldValue: any) => void | ((value: any, oldValue: any) => any);
527
- };
528
- declare function buildManagedComponent<T_PROPS extends object, COMPONENT_MAPPED_STATE extends object, COMPONENT_SETUP_STATE extends object = {}, COMPONENT_DERIVED_STATE extends object = {}, T_ACTIONS = {}, T_PARENT_STATE = {}>(config: ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE, COMPONENT_DERIVED_STATE, T_ACTIONS, T_PARENT_STATE>): {
529
- ManagedComponentContextProvider: React$1.NamedExoticComponent<T_PROPS & {
530
- children?: React$1.ReactNode;
531
- }>;
532
- useManagedComponent: (props: T_PROPS) => {
533
- contextValue: {
534
- componentState: COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE;
535
- componentActions: ComponentStateGeneratedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
536
- getComponentState: () => COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE;
537
- replaceState: (newState: COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE) => void;
538
- assignState: (newState: Partial<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>) => void;
539
- };
540
- ContextComponent: React$1.Context<ManagedComponentStateContextValue<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE, ComponentStateGeneratedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>>>;
541
- };
542
- };
543
- declare function useManagedComponentState<COMPONENT_STATE>(Context?: React$1.Context<ManagedComponentStateContextValue<COMPONENT_STATE, ComponentStateActions<COMPONENT_STATE>>>): ManagedComponentStateContextValue<COMPONENT_STATE, ComponentStateGeneratedActions<COMPONENT_STATE>>;
544
-
545
- type PerfMarkerDetails = {
546
- name: string;
547
- value: string | number | boolean;
548
- }[];
549
- interface PerfMarker {
550
- start(options?: {
551
- details?: PerfMarkerDetails;
552
- }): PerfMarker;
553
- end(options?: {
554
- details?: PerfMarkerDetails;
555
- }): PerfMarker;
375
+ interface Size {
376
+ width: number;
377
+ height: number;
556
378
  }
557
379
 
558
- interface RowInfoStore<T> {
559
- /**
560
- * Update the entire dataArray (called from reducer)
561
- * Compares old vs new rowInfo at each index and notifies subscribers for changed indices
562
- */
563
- notifyDataArray(newDataArray: InfiniteTableRowInfo<T>[], params?: {
564
- marker?: PerfMarker;
565
- }): void;
566
- /**
567
- * Get current rowInfo at index (snapshot for useSyncExternalStore)
568
- */
569
- getRowInfoAtIndex(index: number): InfiniteTableRowInfo<T> | undefined;
570
- /**
571
- * Subscribe to changes at a specific row index
572
- * Returns unsubscribe function
573
- */
574
- subscribeToRowIndex(rowIndex: number, callback: () => void): () => void;
575
- /**
576
- * Get current dataArray (for components that need full array)
577
- */
578
- getDataArray(): InfiniteTableRowInfo<T>[];
579
- /**
580
- * Clear the store (reset dataArray and remove all subscribers)
581
- */
582
- clear(): void;
583
- }
380
+ type VoidFn = () => void;
584
381
 
585
382
  type TableRenderRange = {
586
383
  start: [number, number];
@@ -1018,373 +815,124 @@ declare class Point {
1018
815
  };
1019
816
  }
1020
817
 
1021
- interface RowDetailCacheStorage<_K, T> {
1022
- add(key: any, value: T): void;
1023
- get(key: any): T | undefined;
1024
- delete(key: any): void;
1025
- has(key: any): boolean;
1026
- }
1027
- interface RowDetailCacheStorageForCurrentRow<T = RowDetailCacheEntry> {
1028
- add(value: T): void;
1029
- get(): T | undefined;
1030
- delete(): void;
1031
- has(): boolean;
1032
- }
1033
- declare class RowDetailCache<K = RowDetailCacheKey, T = RowDetailCacheEntry> implements RowDetailCacheStorage<K, T> {
1034
- private cacheStorage;
1035
- constructor(cache?: boolean | number);
1036
- add(key: K, value: T): void;
1037
- get(key: K): T | undefined;
1038
- delete(key: K): void;
1039
- has(key: K): boolean;
1040
- }
1041
-
1042
- type BooleanCollectionStateKeys<KeyType> = true | KeyType[];
1043
- type BooleanCollectionStateObject<KeyType> = {
1044
- positiveItems: BooleanCollectionStateKeys<KeyType>;
1045
- negativeItems: BooleanCollectionStateKeys<KeyType>;
818
+ type ForwardPropsToStateFnResult<TYPE_PROPS, TYPE_RESULT, COMPONENT_SETUP_STATE> = {
819
+ [propName in keyof TYPE_PROPS & keyof TYPE_RESULT]: 1 | ((value: TYPE_PROPS[propName], setupState: COMPONENT_SETUP_STATE) => TYPE_RESULT[propName]);
1046
820
  };
1047
- declare abstract class BooleanCollectionState<StateObject, KeyType> {
1048
- protected positiveMap?: Map<KeyType, true>;
1049
- protected negativeMap?: Map<KeyType, true>;
1050
- protected allNegative: boolean;
1051
- protected allPositive: boolean;
1052
- private initialState;
1053
- constructor(state: BooleanCollectionStateObject<KeyType> | BooleanCollectionState<StateObject, KeyType>);
1054
- abstract getPositiveFromState(state: StateObject): BooleanCollectionStateKeys<KeyType>;
1055
- abstract getNegativeFromState(state: StateObject): BooleanCollectionStateKeys<KeyType>;
1056
- abstract getState(): StateObject;
1057
- protected getInitialState(): BooleanCollectionStateObject<KeyType>;
1058
- destroy(): void;
1059
- private update;
1060
- protected isDefaultNegativeSelection(): boolean;
1061
- protected isDefaultPositiveSelection(): boolean;
1062
- protected areAllNegative(): boolean;
1063
- protected areAllPositive(): boolean;
1064
- protected makeAllNegative(): void;
1065
- protected makeAllPositive(): void;
1066
- protected isItemPositive(key: KeyType): boolean;
1067
- protected isItemNegative(key: KeyType): boolean;
1068
- protected setItemValue(key: KeyType, shouldMakePositive: boolean): void;
1069
- protected makeItemNegative(key: KeyType): void;
1070
- protected makeItemPositive(key: KeyType): void;
1071
- protected toggleItem(key: KeyType): void;
1072
- }
1073
-
1074
- declare class RowDetailState<KeyType = any> extends BooleanCollectionState<RowDetailStateObject<KeyType>, KeyType> {
1075
- constructor(state: RowDetailStateObject<KeyType> | RowDetailState<KeyType>);
1076
- getState(): RowDetailStateObject<KeyType>;
1077
- getPositiveFromState(state: RowDetailStateObject<KeyType>): true | KeyType[];
1078
- getNegativeFromState(state: RowDetailStateObject<KeyType>): true | KeyType[];
1079
- areAllCollapsed(): boolean;
1080
- areAllExpanded(): boolean;
1081
- collapseAll(): void;
1082
- expandAll(): void;
1083
- isRowDetailsExpanded: (key: KeyType) => boolean;
1084
- isRowDetailsCollapsed(key: KeyType): boolean;
1085
- setRowDetailsExpanded(key: KeyType, shouldExpand: boolean): void;
1086
- collapseRowDetails(key: KeyType): void;
1087
- expandRowDetails(key: KeyType): void;
1088
- toggleRowDetails(key: KeyType): void;
1089
- }
1090
821
 
1091
- type Renderable = React$1.ReactNode | React$1.JSX.Element;
822
+ /**
823
+ * React adapter for the managed component state system.
824
+ *
825
+ * All framework-free logic (controlled/uncontrolled resolution, reducer body,
826
+ * generated action setters, prop-diff) lives in ./managedComponentState.ts.
827
+ * This file owns React scheduling: useState/useReducer, effects, context.
828
+ * Its behavior is pinned by buildManagedComponent.jestspec.tsx.
829
+ */
1092
830
 
1093
- type TableRenderCellFnParam = {
1094
- domRef: RefCallback<HTMLElement>;
1095
- rowIndex: number;
1096
- colIndex: number;
1097
- rowspan: number;
1098
- colspan: number;
1099
- hidden: boolean;
1100
- width: number;
1101
- height: number;
1102
- widthWithColspan: number;
1103
- heightWithRowspan: number;
1104
- rowFixed: FixedPosition;
1105
- colFixed: FixedPosition;
1106
- onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void;
1107
- onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void;
1108
- };
1109
- type TableRenderDetailRowFnParam = {
1110
- domRef: RefCallback<HTMLElement>;
1111
- rowIndex: number;
1112
- hidden: boolean;
1113
- height: number;
1114
- rowFixed: FixedPosition;
1115
- onMouseEnter: (event: React.MouseEvent<HTMLElement>) => void;
1116
- onMouseLeave: (event: React.MouseEvent<HTMLElement>) => void;
1117
- };
1118
- type TableRenderCellFn = (param: TableRenderCellFnParam) => Renderable;
1119
- type TableRenderDetailRowFn = (param: TableRenderDetailRowFnParam) => Renderable;
1120
- type RenderRangeOptions = {
1121
- force?: boolean;
1122
- renderCell: TableRenderCellFn;
1123
- renderDetailRow?: TableRenderDetailRowFn;
1124
- onRender: (items: Renderable[]) => void;
831
+ type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE = {}, COMPONENT_DERIVED_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
832
+ debugName?: string | ((props: T_PROPS) => string);
833
+ initSetupState?: (props: T_PROPS) => COMPONENT_SETUP_STATE;
834
+ Context?: React$1.Context<ManagedComponentStateContextValue<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE, ComponentStateGeneratedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>>>;
835
+ layoutEffect?: boolean;
836
+ forwardProps?: (setupState: COMPONENT_SETUP_STATE, props: T_PROPS) => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE>;
837
+ allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
838
+ interceptActions?: ComponentInterceptedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
839
+ mappedCallbacks?: ComponentMappedCallbacks<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
840
+ onPropChange?: (params: {
841
+ name: keyof T_PROPS;
842
+ oldValue: any;
843
+ newValue: any;
844
+ }, props: T_PROPS, actions: ComponentStateActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>, state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>) => void;
845
+ onPropsChange?: (newPropValues: {
846
+ [k in keyof T_PROPS]?: {
847
+ newValue: T_PROPS[k];
848
+ oldValue: T_PROPS[k];
849
+ };
850
+ }, props: T_PROPS, actions: ComponentStateActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>, state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>) => void;
851
+ mapPropsToState?: (params: {
852
+ props: T_PROPS;
853
+ state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
854
+ oldState: null | (COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>);
855
+ parentState: T_PARENT_STATE | null;
856
+ }) => COMPONENT_DERIVED_STATE;
857
+ concludeReducer?: (params: {
858
+ previousState: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
859
+ state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
860
+ updatedProps: Partial<T_PROPS> | null;
861
+ parentState: T_PARENT_STATE | null;
862
+ }) => COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
863
+ getReducerActions?: (dispatch: React$1.Dispatch<any>) => T_ACTIONS;
864
+ getParentState?: () => T_PARENT_STATE;
865
+ cleanup?: (state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE) => void;
866
+ onControlledPropertyChange?: (name: string, newValue: any, oldValue: any) => void | ((value: any, oldValue: any) => any);
1125
867
  };
1126
- type HorizontalLayoutColVisibilityOptions = {
1127
- horizontalLayoutPageIndex?: number;
868
+ declare function buildManagedComponent<T_PROPS extends object, COMPONENT_MAPPED_STATE extends object, COMPONENT_SETUP_STATE extends object = {}, COMPONENT_DERIVED_STATE extends object = {}, T_ACTIONS = {}, T_PARENT_STATE = {}>(config: ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE, COMPONENT_DERIVED_STATE, T_ACTIONS, T_PARENT_STATE>): {
869
+ ManagedComponentContextProvider: React$1.NamedExoticComponent<T_PROPS & {
870
+ children?: React$1.ReactNode;
871
+ }>;
872
+ useManagedComponent: (props: T_PROPS) => {
873
+ contextValue: {
874
+ componentState: COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE;
875
+ componentActions: ComponentStateGeneratedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
876
+ getComponentState: () => COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE;
877
+ replaceState: (newState: COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE) => void;
878
+ assignState: (newState: Partial<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>) => void;
879
+ };
880
+ ContextComponent: React$1.Context<ManagedComponentStateContextValue<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE, ComponentStateGeneratedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>>>;
881
+ };
1128
882
  };
883
+ declare function useManagedComponentState<COMPONENT_STATE>(Context?: React$1.Context<ManagedComponentStateContextValue<COMPONENT_STATE, ComponentStateActions<COMPONENT_STATE>>>): ManagedComponentStateContextValue<COMPONENT_STATE, ComponentStateGeneratedActions<COMPONENT_STATE>>;
1129
884
 
1130
- interface GridCellInterface<T_ADDITIONAL_CELL_INFO = any> {
1131
- debugId: string;
1132
- update(content: Renderable, additionalInfo?: T_ADDITIONAL_CELL_INFO): void;
1133
- getElement(): HTMLElement | null;
1134
- getNode(): Renderable;
1135
- destroy(): void;
1136
- onMount(callback: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>) => void): void;
1137
- getAdditionalInfo(): T_ADDITIONAL_CELL_INFO | undefined;
1138
- isMounted(): boolean;
1139
- ref: React.RefCallback<HTMLElement | undefined>;
1140
- setPendingAfterCommitWork(fn: (() => void) | null): void;
885
+ type PerfMarkerDetails = {
886
+ name: string;
887
+ value: string | number | boolean;
888
+ }[];
889
+ interface PerfMarker {
890
+ start(options?: {
891
+ details?: PerfMarkerDetails;
892
+ }): PerfMarker;
893
+ end(options?: {
894
+ details?: PerfMarkerDetails;
895
+ }): PerfMarker;
1141
896
  }
1142
897
 
1143
- type CellPos = [number, number];
1144
-
1145
- declare class GridCellManager<T_ADDITIONAL_CELL_INFO> extends Logger {
1146
- private matrix;
1147
- private rowsWithCellsHistory;
1148
- private columnsWithCellsHistory;
1149
- private cellToMatrixPosition;
1150
- private pool;
1151
- debugId: string;
1152
- private offRemoveCell;
1153
- constructor(debugId: string);
1154
- private onRemoveCell;
1155
- set poolSize(cellCount: number);
1156
- get poolSize(): number;
1157
- getDetachedCell(): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1158
- private clearCellFromMatrix;
1159
- private addCellToMatrix;
1160
- private setCellPositionInMatrix;
1161
- renderNodeAtCell(node: Renderable, cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>, cellPos: CellPos, additionalInfo?: T_ADDITIONAL_CELL_INFO): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1162
- getCellPosition(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): CellPos | null;
1163
- getCellAt(cellPos: CellPos): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
898
+ interface RowInfoStore<T> {
1164
899
  /**
1165
- * This gets a cell for a given position.
1166
- * If there's already a cell currently attached at that position, it will be returned.
1167
- *
1168
- * Otherwise, we try to return the most optimal cell to use for that position.
1169
- * If the optimise parameter is set to 'row', we will try to return a detached cell
1170
- * that was last rendered in that row.
1171
- *
1172
- * If the optimise parameter is set to 'column', we will try to return a detached cell
1173
- * that was last rendered in that column.
1174
- *
1175
- * @param cellPos [rowIndex, colIndex]
1176
- * @param optimise 'row' | 'column'
900
+ * Update the entire dataArray (called from reducer)
901
+ * Compares old vs new rowInfo at each index and notifies subscribers for changed indices
1177
902
  */
1178
- getCellFor(cellPos: CellPos, optimise: 'row' | 'column'): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1179
- isCellAttached(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): boolean;
1180
- isCellAttachedAt(cellPos: CellPos): boolean;
1181
- getMatrix(): Renderable[][];
1182
- getAllCells(): GridCellInterface<T_ADDITIONAL_CELL_INFO>[];
1183
- getCellsForRow(rowIndex: number): GridCellInterface<T_ADDITIONAL_CELL_INFO>[];
1184
- getOneAttachedCell(): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1185
- getRowsWithCells(): number[];
1186
- getColumnsWithCells(): number[];
1187
- isRowAttached(rowIndex: number): boolean;
1188
- isColumnAttached(colIndex: number): boolean;
1189
- detachRow(rowIndex: number): void;
1190
- detachCol(colIndex: number): void;
1191
- detachCell(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): boolean;
1192
- detachCells(cells: Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>): void;
1193
- detachRowsStartingWith(rowIndex: number): void;
1194
- detachColsStartingWith(colIndex: number): void;
1195
- detachCellsStartingAt(cellPos: CellPos): void;
1196
- detachCellAt(cellPos: CellPos): boolean;
1197
- onCellAttachmentChange(callback: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>, attached: boolean) => void): VoidFn;
1198
- getCellsOutsideRenderRange: (range: TableRenderRange) => Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>;
1199
- getCellFromListForRow(cells: Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>, rowIndex: number): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1200
- getCellFromListForColumn(cells: Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>, colIndex: number): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1201
- getCellCountInMatrix(): number;
1202
- destroy(): void;
1203
- reset(): void;
1204
- makeDetachedCellsEmpty(): void;
1205
- withDetachedCells(fn: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>) => void): void;
903
+ notifyDataArray(newDataArray: InfiniteTableRowInfo<T>[], params?: {
904
+ marker?: PerfMarker;
905
+ }): void;
906
+ /**
907
+ * Get current rowInfo at index (snapshot for useSyncExternalStore)
908
+ */
909
+ getRowInfoAtIndex(index: number): InfiniteTableRowInfo<T> | undefined;
910
+ /**
911
+ * Subscribe to changes at a specific row index
912
+ * Returns unsubscribe function
913
+ */
914
+ subscribeToRowIndex(rowIndex: number, callback: () => void): () => void;
915
+ /**
916
+ * Get current dataArray (for components that need full array)
917
+ */
918
+ getDataArray(): InfiniteTableRowInfo<T>[];
919
+ /**
920
+ * Clear the store (reset dataArray and remove all subscribers)
921
+ */
922
+ clear(): void;
1206
923
  }
1207
924
 
1208
925
  /**
1209
- * This is only used for rendering Detail rows in a master-detail DataGrid
926
+ * The type of a UI node the grid can render.
927
+ *
928
+ * NOTE (multi-framework): this file is the single intentional React type leak
929
+ * in the shared tree. When the first non-React framework lands (Phase 2 of the
930
+ * multi-framework plan), this gains framework siblings (Renderable.vue.ts, ...)
931
+ * resolved via `moduleSuffixes` (see tsconfig.react.json / tsconfig.vue.json)
932
+ * and the esbuild framework-resolve-plugin. Shared code must only treat
933
+ * Renderable as an opaque value to pass around — never inspect it.
1210
934
  */
1211
- interface ListRowInterface {
1212
- debugId: string;
1213
- update(content: Renderable): void;
1214
- getElement(): HTMLElement | null;
1215
- getNode(): Renderable;
1216
- destroy(): void;
1217
- onMount(callback: (row: ListRowInterface) => void): void;
1218
- isMounted(): boolean;
1219
- ref: (htmlElement: HTMLElement) => void;
1220
- }
1221
-
1222
- declare class ListRowManager extends Logger {
1223
- private pool;
1224
- private indexToRow;
1225
- private rowToIndex;
1226
- debugId: string;
1227
- private offRemoveRow;
1228
- constructor(debugId: string);
1229
- private onRemoveRow;
1230
- set poolSize(rowCount: number);
1231
- get poolSize(): number;
1232
- getDetachedRow(): ListRowInterface;
1233
- /**
1234
- * This gets a row for a given position.
1235
- * If there's already a row currently attached at that position, it will be returned.
1236
- *
1237
- * Otherwise, we return another row.
1238
- * @param rowIndex
1239
- */
1240
- getRowFor(rowIndex: number): ListRowInterface;
1241
- private setRowIndexInList;
1242
- detachStartingWith(rowIndex: number): void;
1243
- getRowAt(rowPos: number): ListRowInterface | undefined;
1244
- getRowIndex(row: ListRowInterface): number | undefined;
1245
- isRowAttached(row: ListRowInterface): boolean;
1246
- isRowAttachedAt(rowIndex: number): boolean;
1247
- getList(): Renderable[];
1248
- getAttachedCount(): number;
1249
- forEachAttachedRow(fn: (row: ListRowInterface) => void): void;
1250
- getAttachedIndexes(): number[];
1251
- getAllRows(): ListRowInterface[];
1252
- detachRowAt(rowIndex: number): void;
1253
- detachRow(row: ListRowInterface): void;
1254
- renderNodeAtRow(node: Renderable, row: ListRowInterface, rowIndex: number): ListRowInterface;
1255
- makeDetachedRowsEmpty(): void;
1256
- onRowAttachmentChange(callback: (row: ListRowInterface, attached: boolean) => void): VoidFn;
1257
- withDetachedRows(fn: (row: ListRowInterface) => void): void;
1258
- destroy(): void;
1259
- reset(): void;
1260
- }
1261
-
1262
- declare class GridRenderer extends Logger {
1263
- protected brain: MatrixBrain;
1264
- debugId: string;
1265
- protected destroyed: boolean;
1266
- private scrolling;
1267
- cellHoverClassNames: string[];
1268
- cellDetachedClassNames: string[];
1269
- cellManager: GridCellManager<{
1270
- renderRowIndex: number;
1271
- renderColIndex: number;
1272
- }>;
1273
- protected rowManager: ListRowManager;
1274
- private lastEnteredRow;
1275
- private lastExitedRow;
1276
- private onDestroy;
1277
- private hoverRowUpdatesInProgress;
1278
- private infiniteNode;
1279
- private getInfiniteNode;
1280
- setDetailTransform: (element: HTMLElement, _rowIndex: number, { y, scrollTop, scrollLeft, }: {
1281
- y: number;
1282
- scrollTop?: boolean;
1283
- scrollLeft?: number;
1284
- }) => void;
1285
- setTransform: (element: HTMLElement, _rowIndex: number, colIndex: number, { x, y, scrollLeft, scrollTop, }: {
1286
- x: number;
1287
- y: number;
1288
- scrollLeft?: boolean;
1289
- scrollTop?: boolean;
1290
- }, zIndex: number | "auto" | undefined | null) => void;
1291
- constructor(brain: MatrixBrain, debugId?: string);
1292
- private onCellAttached;
1293
- private onCellDetached;
1294
- private onRowAttached;
1295
- private onRowDetached;
1296
- getFullyVisibleRowsRange: () => {
1297
- start: number;
1298
- end: number;
1299
- } | null;
1300
- getScrollPositionForScrollRowIntoView: (rowIndex: number, config?: {
1301
- scrollAdjustPosition?: ScrollAdjustPosition;
1302
- offset?: number;
1303
- colIndex?: number;
1304
- }) => ScrollPosition | null;
1305
- getScrollPositionForScrollColumnIntoView: (colIndex: number, config?: {
1306
- scrollAdjustPosition?: ScrollAdjustPosition;
1307
- offset?: number;
1308
- } & HorizontalLayoutColVisibilityOptions) => ScrollPosition | null;
1309
- getScrollPositionForScrollCellIntoView: (rowIndex: number, colIndex: number, config?: {
1310
- rowScrollAdjustPosition?: ScrollAdjustPosition;
1311
- colScrollAdjustPosition?: ScrollAdjustPosition;
1312
- scrollAdjustPosition?: ScrollAdjustPosition;
1313
- offsetTop: number;
1314
- offsetLeft: number;
1315
- }) => ScrollPosition | null;
1316
- isRowFullyVisible: (rowIndex: number, offsetMargin?: number) => boolean;
1317
- isRowVisible: (rowIndex: number, offsetMargin?: number) => boolean;
1318
- isRowRendered: (rowIndex: number) => boolean;
1319
- isCellVisible: (rowIndex: number, colIndex: number) => boolean;
1320
- isCellFullyVisible: (rowIndex: number, colIndex: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1321
- isColumnFullyVisible: (colIndex: number, offsetMargin?: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1322
- isColumnVisible: (colIndex: number, offsetMargin?: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1323
- isCellRendered: (rowIndex: number, colIndex: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1324
- isColumnRendered: (colIndex: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1325
- getExtraSpanCellsForRange: (range: TableRenderRange) => [number, number][];
1326
- isCellRenderedAndMappedCorrectly(row: number, col: number): {
1327
- rendered: boolean;
1328
- mapped: boolean;
1329
- };
1330
- renderRange(range: TableRenderRange, { renderCell, renderDetailRow, force, onRender }: RenderRangeOptions): Renderable[];
1331
- getFixedRanges: (currentRenderRange: TableRenderRange) => TableRenderRange[];
1332
- protected isCellFixed: (rowIndex: number, colIndex: number) => {
1333
- row: FixedPosition;
1334
- col: FixedPosition;
1335
- };
1336
- protected isCellCovered: (rowIndex: number, colIndex: number) => false | number[];
1337
- private renderDetailRowAtElement;
1338
- protected getCellRealCoordinates(rowIndex: number, colIndex: number): {
1339
- rowIndex: number;
1340
- colIndex: number;
1341
- };
1342
- protected onMouseEnterNotBound: (event: React.MouseEvent<HTMLElement>) => void;
1343
- protected onMouseLeaveNotBound: (event: React.MouseEvent<HTMLElement>) => void;
1344
- private getMatrixRowIndexFromElement;
1345
- protected renderCellAt(rowIndex: number, colIndex: number, cell: GridCellInterface, renderCell: TableRenderCellFn): void;
1346
- protected onMouseEnter: (rowIndex: number) => void;
1347
- private addHoverClass;
1348
- protected onMouseLeave: (rowIndex: number) => void;
1349
- private removeHoverClass;
1350
- protected updateHoverClassNamesForRow: (rowIndex: number) => void;
1351
- protected updateElementPosition: (cell: GridCellInterface<{
1352
- renderRowIndex: number;
1353
- renderColIndex: number;
1354
- }>, options?: {
1355
- hidden: boolean;
1356
- rowspan: number;
1357
- colspan: number;
1358
- }) => void;
1359
- private updateDetailElementPosition;
1360
- private onScrollStart;
1361
- private onScrollStop;
1362
- adjustFixedElementsOnScroll: (scrollPosition?: ScrollPosition) => void;
1363
- destroy: () => void;
1364
- reset(): void;
1365
- }
1366
-
1367
- type CellPositionByIndex = {
1368
- rowIndex: number;
1369
- colIndex: number;
1370
- };
1371
- type MultiSelectRangeOptions = {
1372
- horizontalLayout: false;
1373
- } | {
1374
- horizontalLayout: true;
1375
- rowsPerPage: number;
1376
- columnsPerSet: number;
1377
- };
1378
-
1379
- declare class ScrollListener {
1380
- private scrollPosition;
1381
- private onScrollFns;
1382
- getScrollPosition: () => ScrollPosition;
1383
- onScroll: (fn: OnScrollFn) => () => void;
1384
- setScrollPosition: (scrollPosition: ScrollPosition) => void;
1385
- private notifyScrollChange;
1386
- destroy: () => void;
1387
- }
935
+ type Renderable = React$1.ReactNode | React$1.JSX.Element;
1388
936
 
1389
937
  type DiscriminatedUnion<A, B> = (A & {
1390
938
  [K in keyof B]?: undefined;
@@ -1716,67 +1264,718 @@ type InfiniteTableGeneratedGroupColumn<T> = Omit<InfiniteTableColumn<T>, 'defaul
1716
1264
  groupByForColumn: GroupBy<T> | GroupBy<T>[];
1717
1265
  id?: string;
1718
1266
  };
1719
- type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & ColumnTypeWithInherit<Partial<InfiniteTablePivotFinalColumnVariant<T, any>>>;
1720
- type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
1721
- pivotBy: DataSourcePivotBy<DataType>[];
1722
- pivotTotalColumnGroup?: true;
1723
- pivotGroupKeys: KeyType[];
1724
- pivotByAtIndex: PivotBy<DataType, KeyType>;
1725
- pivotGroupKey: KeyType;
1726
- pivotIndex: number;
1267
+ type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & ColumnTypeWithInherit<Partial<InfiniteTablePivotFinalColumnVariant<T, any>>>;
1268
+ type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
1269
+ pivotBy: DataSourcePivotBy<DataType>[];
1270
+ pivotTotalColumnGroup?: true;
1271
+ pivotGroupKeys: KeyType[];
1272
+ pivotByAtIndex: PivotBy<DataType, KeyType>;
1273
+ pivotGroupKey: KeyType;
1274
+ pivotIndex: number;
1275
+ };
1276
+ type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTableColumn<DataType> & {
1277
+ pivotBy: DataSourcePivotBy<DataType>[];
1278
+ pivotColumn: true;
1279
+ pivotTotalColumn: boolean;
1280
+ pivotAggregator: AggregationReducer<DataType, any>;
1281
+ pivotAggregatorIndex: number;
1282
+ pivotGroupKeys: KeyType[];
1283
+ pivotByAtIndex?: PivotBy<DataType, KeyType>;
1284
+ pivotIndex: number;
1285
+ pivotGroupKey: KeyType;
1286
+ };
1287
+ type InfiniteTablePivotFinalColumnVariant<DataType, KeyType extends any = any> = InfiniteTablePivotFinalColumn<DataType, KeyType>;
1288
+ type InfiniteTableComputedColumnBase<T> = {
1289
+ computedFilterType: string;
1290
+ computedSortType: string | string[];
1291
+ computedDataType: string;
1292
+ computedWidth: number;
1293
+ computedFlex: number | null;
1294
+ computedMinWidth: number;
1295
+ computedMaxWidth: number;
1296
+ computedOffset: number;
1297
+ computedPinningOffset: number;
1298
+ computedAbsoluteOffset: number;
1299
+ computedSortInfo: DataSourceSingleSortInfo<T> | null;
1300
+ computedSorted: boolean;
1301
+ computedSortedAsc: boolean;
1302
+ computedSortedDesc: boolean;
1303
+ computedSortIndex: number;
1304
+ computedVisible: boolean;
1305
+ computedVisibleIndex: number;
1306
+ computedVisibleIndexInCategory: number;
1307
+ computedMultiSort: boolean;
1308
+ computedFiltered: boolean;
1309
+ computedFilterable: boolean;
1310
+ computedGroupedBy: boolean;
1311
+ computedGroupedByIndex: number | undefined;
1312
+ computedGroupable: boolean;
1313
+ computedFilterValue: DataSourceFilterValueItem<T> | null;
1314
+ computedPinned: InfiniteTableColumnPinnedValues;
1315
+ computedDraggable: boolean;
1316
+ computedResizable: boolean;
1317
+ computedFirstInCategory: boolean;
1318
+ computedLastInCategory: boolean;
1319
+ computedFirst: boolean;
1320
+ computedLast: boolean;
1321
+ computedEditable: NonUndefined<InfiniteTableColumn<T>['defaultEditable']>;
1322
+ computedSortable: NonUndefined<InfiniteTableColumn<T>['defaultSortable']>;
1323
+ colType: InfiniteTableColumnType<T>;
1324
+ id: string;
1325
+ };
1326
+ type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
1327
+ type InfiniteTableComputedPivotFinalColumn<T> = InfiniteTableComputedColumn<T> & InfiniteTablePivotFinalColumn<T>;
1328
+
1329
+ type InfiniteTableBaseCellProps<T> = {
1330
+ column: InfiniteTableComputedColumn<T>;
1331
+ align?: InfiniteTableColumnAlignValues;
1332
+ horizontalLayoutPageIndex: number | null;
1333
+ rowId?: any;
1334
+ renderChildren: React.ReactNode | (() => Renderable);
1335
+ width: number;
1336
+ cssEllipsis?: boolean;
1337
+ contentStyle?: CSSProperties;
1338
+ contentClassName?: string;
1339
+ virtualized?: boolean;
1340
+ skipColumnShifting?: boolean;
1341
+ beforeChildren?: Renderable;
1342
+ afterChildren?: Renderable;
1343
+ cssPosition?: CSSProperties['position'];
1344
+ domRef?: React.RefCallback<HTMLElement>;
1345
+ repaintId?: number | string;
1346
+ };
1347
+ type InfiniteTableCellProps<T> = ({
1348
+ cellType: 'header';
1349
+ } & InfiniteTableBaseCellProps<T>) | ({
1350
+ cellType: 'body';
1351
+ } & InfiniteTableBaseCellProps<T>);
1352
+
1353
+ declare function useInfiniteHeaderCell<T>(): {
1354
+ dragging: boolean;
1355
+ column: InfiniteTableComputedColumn<T>;
1356
+ columnsMap: Map<string, InfiniteTableComputedColumn<T>>;
1357
+ columnSortInfo: DataSourceSingleSortInfo<T> | null;
1358
+ columnFilterValue: DataSourceFilterValueItem<T> | null;
1359
+ selectionMode: DataSourcePropSelectionMode;
1360
+ horizontalLayoutPageIndex: null | number;
1361
+ allRowsSelected: boolean;
1362
+ someRowsSelected: boolean;
1363
+ filtered: boolean;
1364
+ api: InfiniteTableApi<T>;
1365
+ dataSourceApi: DataSourceApi<T>;
1366
+ columnApi: InfiniteTableColumnApi<T>;
1367
+ renderBag: {
1368
+ all?: Renderable;
1369
+ header: string | number | Renderable;
1370
+ sortIcon?: Renderable;
1371
+ menuIcon?: Renderable;
1372
+ menuIconProps?: MenuIconProps;
1373
+ filterIcon?: Renderable;
1374
+ filterEditor?: Renderable;
1375
+ selectionCheckBox?: Renderable;
1376
+ };
1377
+ } & {
1378
+ domRef: InfiniteTableCellProps<DATA_TYPE>["domRef"];
1379
+ htmlElementRef: React$1.MutableRefObject<HTMLElement | null>;
1380
+ renderLocation: "column-header";
1381
+ } & {
1382
+ domRef: InfiniteTableCellProps<DATA_TYPE_1>["domRef"];
1383
+ htmlElementRef: React$1.MutableRefObject<HTMLElement | null>;
1384
+ renderLocation: "column-header";
1385
+ };
1386
+
1387
+ declare function useInfiniteColumnCell<T>(): InfiniteTableColumnCellContextType<T>;
1388
+ declare function useInfiniteColumnEditor<T>(): InfiniteColumnEditorContextType<T>;
1389
+
1390
+ declare function useInfiniteColumnFilterEditor<T>(): {
1391
+ api: InfiniteTableApi<T>;
1392
+ column: InfiniteTableComputedColumn<T>;
1393
+ columnFilterValue: DataSourceFilterValueItem<any> | null;
1394
+ columnApi: InfiniteTableColumnApi<T>;
1395
+ operatorName: string | undefined;
1396
+ operator: DataSourceFilterOperator<any> | undefined;
1397
+ value: any;
1398
+ disabled: boolean | undefined;
1399
+ filterType: DataSourceFilterType<any>;
1400
+ filterTypes: DataSourcePropFilterTypes<any>;
1401
+ filterTypeKey: string;
1402
+ filtered: boolean;
1403
+ setValue: (filterValue: any) => void;
1404
+ clearValue: () => void;
1405
+ removeColumnFilter: () => void;
1406
+ ariaLabel: string;
1407
+ className: string;
1408
+ };
1409
+
1410
+ type HotKeyEventDescriptor = {
1411
+ key: KeyboardEvent['key'];
1412
+ metaKey: KeyboardEvent['metaKey'];
1413
+ altKey: KeyboardEvent['altKey'];
1414
+ ctrlKey: KeyboardEvent['ctrlKey'];
1415
+ shiftKey: KeyboardEvent['shiftKey'];
1416
+ };
1417
+ declare function eventMatchesKeyboardShortcut(event: HotKeyEventDescriptor, keyDescriptors: string | string[]): boolean;
1418
+
1419
+ declare function HScrollSyncContent(props: HTMLAttributes<HTMLDivElement> & {
1420
+ width?: 'viewport' | 'column';
1421
+ maxWidth?: 'viewport' | 'column';
1422
+ minWidth?: 'viewport' | 'column';
1423
+ scrollable?: boolean;
1424
+ }): React$1.JSX.Element;
1425
+
1426
+ declare function useGridScroll(onScroll: (scrollPosition: ScrollPosition) => void, deps: any[]): void;
1427
+
1428
+ declare function useVisibleColumnSizes<T>(): {
1429
+ id: string;
1430
+ width: number;
1431
+ cssVarForWidth: string;
1432
+ offset: number;
1433
+ cssVarForOffset: string;
1434
+ pinned: InfiniteTableColumnPinnedValues;
1435
+ }[];
1436
+
1437
+ declare function useInfinitePortalContainer(): HTMLDivElement | null;
1438
+
1439
+ declare function HostDefault(props: {
1440
+ active: boolean;
1441
+ orientation: 'horizontal' | 'vertical';
1442
+ rejectDrop: boolean;
1443
+ domProps?: React$1.HTMLAttributes<HTMLDivElement>;
1444
+ }): React$1.JSX.Element;
1445
+ declare function PlaceholderDefault<T = any>(props: {
1446
+ draggingInProgress: boolean;
1447
+ active: boolean;
1448
+ groupBy: DataSourcePropGroupBy<T>;
1449
+ }): React$1.ReactNode;
1450
+ declare function GroupingToolbarItemDefault<T = any>(props: {
1451
+ domProps?: React$1.HTMLAttributes<HTMLDivElement>;
1452
+ column: InfiniteTableComputedColumn<T> | undefined;
1453
+ field: string | number | undefined;
1454
+ active: boolean;
1455
+ label: React$1.ReactNode;
1456
+ onClear: () => void;
1457
+ }): React$1.JSX.Element;
1458
+
1459
+ type GroupingToolbarProps = {
1460
+ orientation?: 'horizontal' | 'vertical';
1461
+ placeholder?: <T = any>(params: {
1462
+ draggingInProgress: boolean;
1463
+ active: boolean;
1464
+ groupBy: DataSourcePropGroupBy<T>;
1465
+ }) => React$1.ReactNode;
1466
+ domProps?: React$1.HTMLAttributes<HTMLDivElement>;
1467
+ components?: {
1468
+ Host?: typeof HostDefault;
1469
+ Placeholder?: typeof PlaceholderDefault;
1470
+ ToolbarItem?: typeof GroupingToolbarItemDefault;
1471
+ };
1472
+ };
1473
+ declare function GroupingToolbar<T = any>(props: GroupingToolbarProps): React$1.JSX.Element;
1474
+
1475
+ type InfiniteTableHeaderProps<_T> = {
1476
+ allowColumnHideWhileDragging?: boolean;
1477
+ };
1478
+
1479
+ type InfiniteTableBodyProps<_T> = {
1480
+ rowHoverClassName?: string | string[];
1481
+ };
1482
+
1483
+ declare function InfiniteTableBody<T>(props: InfiniteTableBodyProps<T>): React$1.JSX.Element;
1484
+ declare namespace InfiniteTableBody {
1485
+ var rowHoverClassName: string[];
1486
+ }
1487
+
1488
+ declare function useInfiniteTableApi<T>(): InfiniteTableApi<T>;
1489
+
1490
+ declare function useInfiniteColumnApi<T = unknown>(columnId: string): InfiniteTableColumnApi<T> | null;
1491
+
1492
+ declare const InfiniteTableClassName: string;
1493
+ declare const InfiniteTableComponent: React$1.MemoExoticComponent<(<T>() => React$1.JSX.Element)>;
1494
+ type InfiniteTableComponent = {
1495
+ <T>(props: InfiniteTableProps<T>): React$1.JSX.Element;
1496
+ licenseKey?: string;
1497
+ Header: <T = any>(props: InfiniteTableHeaderProps<T>) => React$1.JSX.Element | null;
1498
+ Body: typeof InfiniteTableBody;
1499
+ Footer: () => React$1.JSX.Element | null;
1500
+ HScrollSyncContent: typeof HScrollSyncContent;
1501
+ GroupingToolbar: typeof GroupingToolbar;
1502
+ };
1503
+ declare const InfiniteTable: InfiniteTableComponent;
1504
+
1505
+ type DataSourceStateRestoreForDetail<T> = {
1506
+ originalDataArray: DataSourceState<T>['originalDataArray'] | undefined;
1507
+ groupBy: DataSourceState<T>['groupBy'] | undefined;
1508
+ groupRowsState: DataSourceState<T>['groupRowsState'] | undefined;
1509
+ pivotBy: DataSourceState<T>['pivotBy'] | undefined;
1510
+ sortInfo: DataSourceState<T>['sortInfo'] | undefined;
1511
+ filterValue: DataSourceState<T>['filterValue'] | undefined;
1512
+ livePaginationCursor: DataSourceState<T>['livePaginationCursor'] | undefined;
1513
+ };
1514
+ type RowDetailCacheKey = string | number;
1515
+ type RowDetailCacheEntry = {
1516
+ all?: boolean;
1517
+ groupBy?: boolean;
1518
+ sortInfo?: boolean;
1519
+ filterValue?: boolean;
1520
+ data?: boolean;
1521
+ livePaginationCursor?: boolean;
1522
+ columnOrder?: boolean;
1523
+ };
1524
+
1525
+ interface RowDetailCacheStorage<_K, T> {
1526
+ add(key: any, value: T): void;
1527
+ get(key: any): T | undefined;
1528
+ delete(key: any): void;
1529
+ has(key: any): boolean;
1530
+ }
1531
+ interface RowDetailCacheStorageForCurrentRow<T = RowDetailCacheEntry> {
1532
+ add(value: T): void;
1533
+ get(): T | undefined;
1534
+ delete(): void;
1535
+ has(): boolean;
1536
+ }
1537
+ declare class RowDetailCache<K = RowDetailCacheKey, T = RowDetailCacheEntry> implements RowDetailCacheStorage<K, T> {
1538
+ private cacheStorage;
1539
+ constructor(cache?: boolean | number);
1540
+ add(key: K, value: T): void;
1541
+ get(key: K): T | undefined;
1542
+ delete(key: K): void;
1543
+ has(key: K): boolean;
1544
+ }
1545
+
1546
+ type BooleanCollectionStateKeys<KeyType> = true | KeyType[];
1547
+ type BooleanCollectionStateObject<KeyType> = {
1548
+ positiveItems: BooleanCollectionStateKeys<KeyType>;
1549
+ negativeItems: BooleanCollectionStateKeys<KeyType>;
1550
+ };
1551
+ declare abstract class BooleanCollectionState<StateObject, KeyType> {
1552
+ protected positiveMap?: Map<KeyType, true>;
1553
+ protected negativeMap?: Map<KeyType, true>;
1554
+ protected allNegative: boolean;
1555
+ protected allPositive: boolean;
1556
+ private initialState;
1557
+ constructor(state: BooleanCollectionStateObject<KeyType> | BooleanCollectionState<StateObject, KeyType>);
1558
+ abstract getPositiveFromState(state: StateObject): BooleanCollectionStateKeys<KeyType>;
1559
+ abstract getNegativeFromState(state: StateObject): BooleanCollectionStateKeys<KeyType>;
1560
+ abstract getState(): StateObject;
1561
+ protected getInitialState(): BooleanCollectionStateObject<KeyType>;
1562
+ destroy(): void;
1563
+ private update;
1564
+ protected isDefaultNegativeSelection(): boolean;
1565
+ protected isDefaultPositiveSelection(): boolean;
1566
+ protected areAllNegative(): boolean;
1567
+ protected areAllPositive(): boolean;
1568
+ protected makeAllNegative(): void;
1569
+ protected makeAllPositive(): void;
1570
+ protected isItemPositive(key: KeyType): boolean;
1571
+ protected isItemNegative(key: KeyType): boolean;
1572
+ protected setItemValue(key: KeyType, shouldMakePositive: boolean): void;
1573
+ protected makeItemNegative(key: KeyType): void;
1574
+ protected makeItemPositive(key: KeyType): void;
1575
+ protected toggleItem(key: KeyType): void;
1576
+ }
1577
+
1578
+ declare class RowDetailState<KeyType = any> extends BooleanCollectionState<RowDetailStateObject<KeyType>, KeyType> {
1579
+ constructor(state: RowDetailStateObject<KeyType> | RowDetailState<KeyType>);
1580
+ getState(): RowDetailStateObject<KeyType>;
1581
+ getPositiveFromState(state: RowDetailStateObject<KeyType>): true | KeyType[];
1582
+ getNegativeFromState(state: RowDetailStateObject<KeyType>): true | KeyType[];
1583
+ areAllCollapsed(): boolean;
1584
+ areAllExpanded(): boolean;
1585
+ collapseAll(): void;
1586
+ expandAll(): void;
1587
+ isRowDetailsExpanded: (key: KeyType) => boolean;
1588
+ isRowDetailsCollapsed(key: KeyType): boolean;
1589
+ setRowDetailsExpanded(key: KeyType, shouldExpand: boolean): void;
1590
+ collapseRowDetails(key: KeyType): void;
1591
+ expandRowDetails(key: KeyType): void;
1592
+ toggleRowDetails(key: KeyType): void;
1593
+ }
1594
+
1595
+ /**
1596
+ * Framework-neutral DOM-related types shared across framework builds.
1597
+ * They are intentionally minimal structural types so that both React
1598
+ * synthetic events/refs and native DOM events (Vue, etc.) satisfy them.
1599
+ */
1600
+ /**
1601
+ * Neutral element ref callback — React's RefCallback and any framework's
1602
+ * mount/unmount element callback are assignable to this shape.
1603
+ */
1604
+ type ElementRefCallback = (el: HTMLElement | null) => void;
1605
+ /**
1606
+ * Neutral mouse event contract for grid cell/row hover handling.
1607
+ * Only the members the shared rendering logic actually reads.
1608
+ * React.MouseEvent<HTMLElement> and native MouseEvent (with an HTMLElement
1609
+ * currentTarget) both satisfy it.
1610
+ */
1611
+ type GridMouseEvent = {
1612
+ currentTarget: EventTarget & HTMLElement;
1613
+ };
1614
+ /**
1615
+ * Neutral mutable ref holder — replaces React.RefObject/MutableRefObject
1616
+ * in shared (framework-free) state types.
1617
+ */
1618
+ type MutableRef<T> = {
1619
+ current: T;
1620
+ };
1621
+
1622
+ type TableRenderCellFnParam = {
1623
+ domRef: ElementRefCallback;
1624
+ rowIndex: number;
1625
+ colIndex: number;
1626
+ rowspan: number;
1627
+ colspan: number;
1628
+ hidden: boolean;
1629
+ width: number;
1630
+ height: number;
1631
+ widthWithColspan: number;
1632
+ heightWithRowspan: number;
1633
+ rowFixed: FixedPosition;
1634
+ colFixed: FixedPosition;
1635
+ onMouseEnter: (event: GridMouseEvent) => void;
1636
+ onMouseLeave: (event: GridMouseEvent) => void;
1637
+ };
1638
+ type TableRenderDetailRowFnParam = {
1639
+ domRef: ElementRefCallback;
1640
+ rowIndex: number;
1641
+ hidden: boolean;
1642
+ height: number;
1643
+ rowFixed: FixedPosition;
1644
+ onMouseEnter: (event: GridMouseEvent) => void;
1645
+ onMouseLeave: (event: GridMouseEvent) => void;
1646
+ };
1647
+ type TableRenderCellFn = (param: TableRenderCellFnParam) => Renderable;
1648
+ type TableRenderDetailRowFn = (param: TableRenderDetailRowFnParam) => Renderable;
1649
+ type RenderRangeOptions = {
1650
+ force?: boolean;
1651
+ renderCell: TableRenderCellFn;
1652
+ renderDetailRow?: TableRenderDetailRowFn;
1653
+ onRender: (items: Renderable[]) => void;
1654
+ };
1655
+ type HorizontalLayoutColVisibilityOptions = {
1656
+ horizontalLayoutPageIndex?: number;
1657
+ };
1658
+
1659
+ interface GridCellInterface<T_ADDITIONAL_CELL_INFO = any> {
1660
+ debugId: string;
1661
+ update(content: Renderable, additionalInfo?: T_ADDITIONAL_CELL_INFO): void;
1662
+ getElement(): HTMLElement | null;
1663
+ getNode(): Renderable;
1664
+ destroy(): void;
1665
+ onMount(callback: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>) => void): void;
1666
+ getAdditionalInfo(): T_ADDITIONAL_CELL_INFO | undefined;
1667
+ isMounted(): boolean;
1668
+ ref: ElementRefCallback;
1669
+ setPendingAfterCommitWork(fn: (() => void) | null): void;
1670
+ flushPendingAfterCommitWork(): void;
1671
+ }
1672
+ /**
1673
+ * The framework-neutral contract for a pool of grid cells.
1674
+ *
1675
+ * A pool owns cell instances (attached ones render an x,y position in the
1676
+ * grid; detached ones wait to be reused) but is not aware of cell positions —
1677
+ * that's the GridCellManager's job. Each framework provides its own
1678
+ * implementation (React: GridCellPoolForReact); the composition point that
1679
+ * picks the implementation is createRenderer.
1680
+ */
1681
+ interface GridCellPool<T_ADDITIONAL_CELL_INFO = any> {
1682
+ poolSize: number;
1683
+ attachCell(cell?: GridCellInterface<T_ADDITIONAL_CELL_INFO>): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1684
+ detachCell(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): boolean;
1685
+ getDetachedCell(): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1686
+ getAttachedCells(): Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>;
1687
+ getDetachedCells(): Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>;
1688
+ getAllCells(): Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>;
1689
+ onRemoveCell(callback: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>) => void): VoidFunction;
1690
+ onCellAttachmentChange(callback: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>, attached: boolean) => void): VoidFunction;
1691
+ reset(): void;
1692
+ destroy(): void;
1693
+ flushPendingAfterCommitWork(): void;
1694
+ }
1695
+
1696
+ type CellPos = [number, number];
1697
+
1698
+ declare class GridCellManager<T_ADDITIONAL_CELL_INFO> extends Logger {
1699
+ private matrix;
1700
+ private rowsWithCellsHistory;
1701
+ private columnsWithCellsHistory;
1702
+ private cellToMatrixPosition;
1703
+ private pool;
1704
+ debugId: string;
1705
+ private offRemoveCell;
1706
+ constructor(debugId: string, pool: GridCellPool<T_ADDITIONAL_CELL_INFO>);
1707
+ private onRemoveCell;
1708
+ set poolSize(cellCount: number);
1709
+ get poolSize(): number;
1710
+ getDetachedCell(): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1711
+ private clearCellFromMatrix;
1712
+ private addCellToMatrix;
1713
+ private setCellPositionInMatrix;
1714
+ renderNodeAtCell(node: Renderable, cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>, cellPos: CellPos, additionalInfo?: T_ADDITIONAL_CELL_INFO): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1715
+ getCellPosition(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): CellPos | null;
1716
+ getCellAt(cellPos: CellPos): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1717
+ /**
1718
+ * This gets a cell for a given position.
1719
+ * If there's already a cell currently attached at that position, it will be returned.
1720
+ *
1721
+ * Otherwise, we try to return the most optimal cell to use for that position.
1722
+ * If the optimise parameter is set to 'row', we will try to return a detached cell
1723
+ * that was last rendered in that row.
1724
+ *
1725
+ * If the optimise parameter is set to 'column', we will try to return a detached cell
1726
+ * that was last rendered in that column.
1727
+ *
1728
+ * @param cellPos [rowIndex, colIndex]
1729
+ * @param optimise 'row' | 'column'
1730
+ */
1731
+ getCellFor(cellPos: CellPos, optimise: 'row' | 'column'): GridCellInterface<T_ADDITIONAL_CELL_INFO>;
1732
+ isCellAttached(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): boolean;
1733
+ isCellAttachedAt(cellPos: CellPos): boolean;
1734
+ getMatrix(): Renderable[][];
1735
+ getAllCells(): GridCellInterface<T_ADDITIONAL_CELL_INFO>[];
1736
+ getCellsForRow(rowIndex: number): GridCellInterface<T_ADDITIONAL_CELL_INFO>[];
1737
+ getOneAttachedCell(): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1738
+ getRowsWithCells(): number[];
1739
+ getColumnsWithCells(): number[];
1740
+ isRowAttached(rowIndex: number): boolean;
1741
+ isColumnAttached(colIndex: number): boolean;
1742
+ detachRow(rowIndex: number): void;
1743
+ detachCol(colIndex: number): void;
1744
+ detachCell(cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>): boolean;
1745
+ detachCells(cells: Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>): void;
1746
+ detachRowsStartingWith(rowIndex: number): void;
1747
+ detachColsStartingWith(colIndex: number): void;
1748
+ detachCellsStartingAt(cellPos: CellPos): void;
1749
+ detachCellAt(cellPos: CellPos): boolean;
1750
+ onCellAttachmentChange(callback: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>, attached: boolean) => void): VoidFunction;
1751
+ getCellsOutsideRenderRange: (range: TableRenderRange) => Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>;
1752
+ getCellFromListForRow(cells: Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>, rowIndex: number): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1753
+ getCellFromListForColumn(cells: Set<GridCellInterface<T_ADDITIONAL_CELL_INFO>>, colIndex: number): GridCellInterface<T_ADDITIONAL_CELL_INFO> | undefined;
1754
+ getCellCountInMatrix(): number;
1755
+ flushPendingAfterCommitWork(): void;
1756
+ destroy(): void;
1757
+ reset(): void;
1758
+ makeDetachedCellsEmpty(): void;
1759
+ withDetachedCells(fn: (cell: GridCellInterface<T_ADDITIONAL_CELL_INFO>) => void): void;
1760
+ }
1761
+
1762
+ /**
1763
+ * This is only used for rendering Detail rows in a master-detail DataGrid
1764
+ */
1765
+ interface ListRowInterface {
1766
+ debugId: string;
1767
+ update(content: Renderable): void;
1768
+ getElement(): HTMLElement | null;
1769
+ getNode(): Renderable;
1770
+ destroy(): void;
1771
+ onMount(callback: (row: ListRowInterface) => void): void;
1772
+ isMounted(): boolean;
1773
+ ref: ElementRefCallback;
1774
+ }
1775
+ /**
1776
+ * The framework-neutral contract for a pool of list rows (used for
1777
+ * master-detail rows). Same pooling model as GridCellPool; each framework
1778
+ * provides its own implementation (React: ListRowPoolForReact).
1779
+ */
1780
+ interface ListRowPool {
1781
+ poolSize: number;
1782
+ attachRow(row?: ListRowInterface): ListRowInterface;
1783
+ detachRow(row: ListRowInterface): boolean;
1784
+ getDetachedRow(): ListRowInterface;
1785
+ getAttachedRows(): Set<ListRowInterface>;
1786
+ getDetachedRows(): Set<ListRowInterface>;
1787
+ getAllRows(): Set<ListRowInterface>;
1788
+ onRemoveRow(callback: (row: ListRowInterface) => void): VoidFunction;
1789
+ onRowAttachmentChange(callback: (row: ListRowInterface, attached: boolean) => void): VoidFunction;
1790
+ reset(): void;
1791
+ destroy(): void;
1792
+ }
1793
+
1794
+ declare class ListRowManager extends Logger {
1795
+ private pool;
1796
+ private indexToRow;
1797
+ private rowToIndex;
1798
+ debugId: string;
1799
+ private offRemoveRow;
1800
+ constructor(debugId: string, pool: ListRowPool);
1801
+ private onRemoveRow;
1802
+ set poolSize(rowCount: number);
1803
+ get poolSize(): number;
1804
+ getDetachedRow(): ListRowInterface;
1805
+ /**
1806
+ * This gets a row for a given position.
1807
+ * If there's already a row currently attached at that position, it will be returned.
1808
+ *
1809
+ * Otherwise, we return another row.
1810
+ * @param rowIndex
1811
+ */
1812
+ getRowFor(rowIndex: number): ListRowInterface;
1813
+ private setRowIndexInList;
1814
+ detachStartingWith(rowIndex: number): void;
1815
+ getRowAt(rowPos: number): ListRowInterface | undefined;
1816
+ getRowIndex(row: ListRowInterface): number | undefined;
1817
+ isRowAttached(row: ListRowInterface): boolean;
1818
+ isRowAttachedAt(rowIndex: number): boolean;
1819
+ getList(): Renderable[];
1820
+ getAttachedCount(): number;
1821
+ forEachAttachedRow(fn: (row: ListRowInterface) => void): void;
1822
+ getAttachedIndexes(): number[];
1823
+ getAllRows(): ListRowInterface[];
1824
+ detachRowAt(rowIndex: number): void;
1825
+ detachRow(row: ListRowInterface): void;
1826
+ renderNodeAtRow(node: Renderable, row: ListRowInterface, rowIndex: number): ListRowInterface;
1827
+ makeDetachedRowsEmpty(): void;
1828
+ onRowAttachmentChange(callback: (row: ListRowInterface, attached: boolean) => void): VoidFunction;
1829
+ withDetachedRows(fn: (row: ListRowInterface) => void): void;
1830
+ destroy(): void;
1831
+ reset(): void;
1832
+ }
1833
+
1834
+ type GridCellAdditionalInfo = {
1835
+ renderRowIndex: number;
1836
+ renderColIndex: number;
1837
+ };
1838
+ /**
1839
+ * The framework-specific pools the renderer works with.
1840
+ * The composition point that builds these (per framework) is createRenderer.
1841
+ */
1842
+ type GridRendererPools = {
1843
+ cellPool: GridCellPool<GridCellAdditionalInfo>;
1844
+ rowPool: ListRowPool;
1727
1845
  };
1728
- type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTableColumn<DataType> & {
1729
- pivotBy: DataSourcePivotBy<DataType>[];
1730
- pivotColumn: true;
1731
- pivotTotalColumn: boolean;
1732
- pivotAggregator: AggregationReducer<DataType, any>;
1733
- pivotAggregatorIndex: number;
1734
- pivotGroupKeys: KeyType[];
1735
- pivotByAtIndex?: PivotBy<DataType, KeyType>;
1736
- pivotIndex: number;
1737
- pivotGroupKey: KeyType;
1846
+ declare class GridRenderer extends Logger {
1847
+ protected brain: MatrixBrain;
1848
+ debugId: string;
1849
+ protected destroyed: boolean;
1850
+ private scrolling;
1851
+ cellHoverClassNames: string[];
1852
+ cellDetachedClassNames: string[];
1853
+ cellManager: GridCellManager<GridCellAdditionalInfo>;
1854
+ protected rowManager: ListRowManager;
1855
+ private lastEnteredRow;
1856
+ private lastExitedRow;
1857
+ private onDestroy;
1858
+ private hoverRowUpdatesInProgress;
1859
+ private infiniteNode;
1860
+ private getInfiniteNode;
1861
+ setDetailTransform: (element: HTMLElement, _rowIndex: number, { y, scrollTop, scrollLeft, }: {
1862
+ y: number;
1863
+ scrollTop?: boolean;
1864
+ scrollLeft?: number;
1865
+ }) => void;
1866
+ setTransform: (element: HTMLElement, _rowIndex: number, colIndex: number, { x, y, scrollLeft, scrollTop, }: {
1867
+ x: number;
1868
+ y: number;
1869
+ scrollLeft?: boolean;
1870
+ scrollTop?: boolean;
1871
+ }, zIndex: number | "auto" | undefined | null) => void;
1872
+ constructor(brain: MatrixBrain, debugId: string | undefined, pools: GridRendererPools);
1873
+ private onCellAttached;
1874
+ private onCellDetached;
1875
+ private onRowAttached;
1876
+ private onRowDetached;
1877
+ getFullyVisibleRowsRange: () => {
1878
+ start: number;
1879
+ end: number;
1880
+ } | null;
1881
+ getScrollPositionForScrollRowIntoView: (rowIndex: number, config?: {
1882
+ scrollAdjustPosition?: ScrollAdjustPosition;
1883
+ offset?: number;
1884
+ colIndex?: number;
1885
+ }) => ScrollPosition | null;
1886
+ getScrollPositionForScrollColumnIntoView: (colIndex: number, config?: {
1887
+ scrollAdjustPosition?: ScrollAdjustPosition;
1888
+ offset?: number;
1889
+ } & HorizontalLayoutColVisibilityOptions) => ScrollPosition | null;
1890
+ getScrollPositionForScrollCellIntoView: (rowIndex: number, colIndex: number, config?: {
1891
+ rowScrollAdjustPosition?: ScrollAdjustPosition;
1892
+ colScrollAdjustPosition?: ScrollAdjustPosition;
1893
+ scrollAdjustPosition?: ScrollAdjustPosition;
1894
+ offsetTop: number;
1895
+ offsetLeft: number;
1896
+ }) => ScrollPosition | null;
1897
+ isRowFullyVisible: (rowIndex: number, offsetMargin?: number) => boolean;
1898
+ isRowVisible: (rowIndex: number, offsetMargin?: number) => boolean;
1899
+ isRowRendered: (rowIndex: number) => boolean;
1900
+ isCellVisible: (rowIndex: number, colIndex: number) => boolean;
1901
+ isCellFullyVisible: (rowIndex: number, colIndex: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1902
+ isColumnFullyVisible: (colIndex: number, offsetMargin?: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1903
+ isColumnVisible: (colIndex: number, offsetMargin?: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1904
+ isCellRendered: (rowIndex: number, colIndex: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1905
+ isColumnRendered: (colIndex: number, opts?: HorizontalLayoutColVisibilityOptions) => boolean;
1906
+ getExtraSpanCellsForRange: (range: TableRenderRange) => [number, number][];
1907
+ isCellRenderedAndMappedCorrectly(row: number, col: number): {
1908
+ rendered: boolean;
1909
+ mapped: boolean;
1910
+ };
1911
+ renderRange(range: TableRenderRange, { renderCell, renderDetailRow, force, onRender }: RenderRangeOptions): Renderable[];
1912
+ getFixedRanges: (currentRenderRange: TableRenderRange) => TableRenderRange[];
1913
+ protected isCellFixed: (rowIndex: number, colIndex: number) => {
1914
+ row: FixedPosition;
1915
+ col: FixedPosition;
1916
+ };
1917
+ protected isCellCovered: (rowIndex: number, colIndex: number) => false | number[];
1918
+ private renderDetailRowAtElement;
1919
+ protected getCellRealCoordinates(rowIndex: number, colIndex: number): {
1920
+ rowIndex: number;
1921
+ colIndex: number;
1922
+ };
1923
+ protected onMouseEnterNotBound: (event: GridMouseEvent) => void;
1924
+ protected onMouseLeaveNotBound: (event: GridMouseEvent) => void;
1925
+ private getMatrixRowIndexFromElement;
1926
+ protected renderCellAt(rowIndex: number, colIndex: number, cell: GridCellInterface, renderCell: TableRenderCellFn): void;
1927
+ protected onMouseEnter: (rowIndex: number) => void;
1928
+ private addHoverClass;
1929
+ protected onMouseLeave: (rowIndex: number) => void;
1930
+ private removeHoverClass;
1931
+ protected updateHoverClassNamesForRow: (rowIndex: number) => void;
1932
+ protected updateElementPosition: (cell: GridCellInterface<{
1933
+ renderRowIndex: number;
1934
+ renderColIndex: number;
1935
+ }>, options?: {
1936
+ hidden: boolean;
1937
+ rowspan: number;
1938
+ colspan: number;
1939
+ }) => void;
1940
+ private updateDetailElementPosition;
1941
+ private onScrollStart;
1942
+ private onScrollStop;
1943
+ adjustFixedElementsOnScroll: (scrollPosition?: ScrollPosition) => void;
1944
+ flushPendingAfterCommitWork: () => void;
1945
+ destroy: () => void;
1946
+ reset(): void;
1947
+ }
1948
+
1949
+ type CellPositionByIndex = {
1950
+ rowIndex: number;
1951
+ colIndex: number;
1738
1952
  };
1739
- type InfiniteTablePivotFinalColumnVariant<DataType, KeyType extends any = any> = InfiniteTablePivotFinalColumn<DataType, KeyType>;
1740
- type InfiniteTableComputedColumnBase<T> = {
1741
- computedFilterType: string;
1742
- computedSortType: string | string[];
1743
- computedDataType: string;
1744
- computedWidth: number;
1745
- computedFlex: number | null;
1746
- computedMinWidth: number;
1747
- computedMaxWidth: number;
1748
- computedOffset: number;
1749
- computedPinningOffset: number;
1750
- computedAbsoluteOffset: number;
1751
- computedSortInfo: DataSourceSingleSortInfo<T> | null;
1752
- computedSorted: boolean;
1753
- computedSortedAsc: boolean;
1754
- computedSortedDesc: boolean;
1755
- computedSortIndex: number;
1756
- computedVisible: boolean;
1757
- computedVisibleIndex: number;
1758
- computedVisibleIndexInCategory: number;
1759
- computedMultiSort: boolean;
1760
- computedFiltered: boolean;
1761
- computedFilterable: boolean;
1762
- computedGroupedBy: boolean;
1763
- computedGroupedByIndex: number | undefined;
1764
- computedGroupable: boolean;
1765
- computedFilterValue: DataSourceFilterValueItem<T> | null;
1766
- computedPinned: InfiniteTableColumnPinnedValues;
1767
- computedDraggable: boolean;
1768
- computedResizable: boolean;
1769
- computedFirstInCategory: boolean;
1770
- computedLastInCategory: boolean;
1771
- computedFirst: boolean;
1772
- computedLast: boolean;
1773
- computedEditable: NonUndefined<InfiniteTableColumn<T>['defaultEditable']>;
1774
- computedSortable: NonUndefined<InfiniteTableColumn<T>['defaultSortable']>;
1775
- colType: InfiniteTableColumnType<T>;
1776
- id: string;
1953
+ type MultiSelectRangeOptions = {
1954
+ horizontalLayout: false;
1955
+ } | {
1956
+ horizontalLayout: true;
1957
+ rowsPerPage: number;
1958
+ columnsPerSet: number;
1777
1959
  };
1778
- type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
1779
- type InfiniteTableComputedPivotFinalColumn<T> = InfiniteTableComputedColumn<T> & InfiniteTablePivotFinalColumn<T>;
1960
+
1961
+ type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
1962
+ interface SubscriptionCallback<T> {
1963
+ (node: T, callback?: () => void): void;
1964
+ get: () => T | null;
1965
+ destroy: VoidFn;
1966
+ onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
1967
+ getListenersCount: () => number;
1968
+ }
1969
+
1970
+ declare class ScrollListener {
1971
+ private scrollPosition;
1972
+ private onScrollFns;
1973
+ getScrollPosition: () => ScrollPosition;
1974
+ onScroll: (fn: OnScrollFn) => () => void;
1975
+ setScrollPosition: (scrollPosition: ScrollPosition) => void;
1976
+ private notifyScrollChange;
1977
+ destroy: () => void;
1978
+ }
1780
1979
 
1781
1980
  declare const DS_ERROR_CODES: Record<"DS001", DebugWarningPayload>;
1782
1981
  declare const INFINITE_ERROR_CODES: Record<"CSS001_CSS", DebugWarningPayload>;
@@ -1846,6 +2045,15 @@ type DevToolsHostPageMessagePayload = {
1846
2045
  devToolsDetected: InfiniteTableState<any>['devToolsDetected'];
1847
2046
  debugTimings: Record<DebugTimingKey, number>;
1848
2047
  debugWarnings: Record<ErrorCodeKey, DebugWarningPayload>;
2048
+ /**
2049
+ * Computed values for all public `--infinite-*` theme CSS variables,
2050
+ * read from the table root DOM node.
2051
+ */
2052
+ themeVars: Record<string, string>;
2053
+ /**
2054
+ * CSS variable overrides currently applied by the devtools theme builder.
2055
+ */
2056
+ themeVarOverrides: Record<string, string>;
1849
2057
  };
1850
2058
  type DevToolsHostPageMessageType = 'update' | 'unmount' | 'log';
1851
2059
  type DevToolsHostPageLogMessage = {
@@ -2317,6 +2525,11 @@ type InfiniteTableAction = {
2317
2525
  payload?: any;
2318
2526
  };
2319
2527
 
2528
+ /**
2529
+ * Framework-neutral row-height computation (including row-detail heights),
2530
+ * extracted from useComputedRowHeight.ts so the Vue root can share it.
2531
+ */
2532
+
2320
2533
  declare class RowSizeCache {
2321
2534
  rowHeight: Map<number, number>;
2322
2535
  rowDetailHeight: Map<number, number>;
@@ -2540,7 +2753,101 @@ type NestedMultiSortOptions<T> = {
2540
2753
  inplace?: boolean;
2541
2754
  marker?: PerfMarker;
2542
2755
  };
2543
- declare const multisortNested: <T>(sortInfo: MultisortInfoAllowMultipleFields<T>[], array: T[], options: NestedMultiSortOptions<T>) => T[];
2756
+ declare const multisortNested: <T>(sortInfo: MultisortInfoAllowMultipleFields<T>[], array: T[], options: NestedMultiSortOptions<T>) => T[];
2757
+
2758
+ type RenderRange = {
2759
+ renderStartIndex: number;
2760
+ renderEndIndex: number;
2761
+ };
2762
+
2763
+ type DataSourceMutation<T> = {
2764
+ type: 'delete';
2765
+ primaryKey: any;
2766
+ nodePath?: never;
2767
+ originalData: T;
2768
+ metadata: any;
2769
+ } | {
2770
+ type: 'delete';
2771
+ primaryKey?: never;
2772
+ nodePath: NodePath$1;
2773
+ originalData: T;
2774
+ metadata: any;
2775
+ } | {
2776
+ type: 'update';
2777
+ primaryKey: any;
2778
+ nodePath?: never;
2779
+ data: Partial<T>;
2780
+ originalData: T;
2781
+ metadata: any;
2782
+ } | {
2783
+ type: 'update';
2784
+ primaryKey?: never;
2785
+ nodePath: NodePath$1;
2786
+ data: Partial<T>;
2787
+ originalData: T;
2788
+ metadata: any;
2789
+ } | {
2790
+ type: 'update-children';
2791
+ primaryKey?: never;
2792
+ nodePath: NodePath$1;
2793
+ children: UpdateChildrenFn<T>;
2794
+ originalData: T;
2795
+ metadata: any;
2796
+ } | {
2797
+ type: 'insert';
2798
+ primaryKey: any;
2799
+ nodePath?: never;
2800
+ position: 'before' | 'after';
2801
+ originalData: null;
2802
+ data: T;
2803
+ metadata: any;
2804
+ } | {
2805
+ type: 'insert';
2806
+ primaryKey?: never;
2807
+ nodePath: NodePath$1;
2808
+ position: 'before' | 'after';
2809
+ originalData: null;
2810
+ data: T;
2811
+ metadata: any;
2812
+ } | {
2813
+ type: 'clear-all';
2814
+ primaryKey: undefined;
2815
+ metadata: any;
2816
+ };
2817
+ declare class DataSourceCache<DataType, PrimaryKeyType = string> {
2818
+ private affectedFields;
2819
+ private allFieldsAffected;
2820
+ private nodesKey;
2821
+ private primaryKeyToData;
2822
+ private nodePathToData;
2823
+ constructor(options: {
2824
+ nodesKey: string | undefined;
2825
+ });
2826
+ static clone<DataType, PrimaryKeyType = string>(cache: DataSourceCache<DataType, PrimaryKeyType>, { light }?: {
2827
+ light?: boolean;
2828
+ }): DataSourceCache<DataType, PrimaryKeyType>;
2829
+ getAffectedFields: () => true | Set<keyof DataType>;
2830
+ delete: (primaryKey: PrimaryKeyType, originalData: DataType, metadata: any) => void;
2831
+ deleteNodePath: (nodePath: NodePath$1, originalData: DataType, metadata: any) => void;
2832
+ insert: (primaryKey: PrimaryKeyType, data: DataType, position: "before" | "after", metadata: any) => void;
2833
+ insertNodePath: (nodePath: NodePath$1, data: DataType, position: "before" | "after", metadata: any) => void;
2834
+ update: (primaryKey: PrimaryKeyType, data: Partial<DataType>, originalData: DataType, metadata: any) => void;
2835
+ updateNodePath: (nodePath: NodePath$1, data: Partial<DataType>, originalData: DataType, metadata: any) => void;
2836
+ updateChildren: (nodePath: NodePath$1, children: UpdateChildrenFn<DataType>, originalData: DataType, metadata: any) => void;
2837
+ resetDataSource: (metadata: any) => void;
2838
+ shouldResetDataSource: () => boolean;
2839
+ clear: () => void;
2840
+ isEmpty: () => boolean;
2841
+ removeInfo: (primaryKey: PrimaryKeyType) => void;
2842
+ removeNodePathInfo: (nodePath: NodePath$1) => void;
2843
+ getMutationsForPrimaryKey: (primaryKey: PrimaryKeyType) => DataSourceMutation<DataType>[] | undefined;
2844
+ getMutationsForNodePath: (nodePath: NodePath$1) => DataSourceMutation<DataType>[] | undefined;
2845
+ getMutationsCount: () => number;
2846
+ getMutations: () => Map<PrimaryKeyType, DataSourceMutation<DataType>[]>;
2847
+ getTreeMutations: () => DeepMap<NodePath$1, DataSourceMutation<DataType>[]>;
2848
+ getMutationsArray: () => DataSourceMutation<DataType>[];
2849
+ getTreeMutationsArray: () => DataSourceMutation<DataType>[];
2850
+ }
2544
2851
 
2545
2852
  type ForceOptions = {
2546
2853
  force?: boolean;
@@ -2813,13 +3120,13 @@ interface DataSourceSetupState<T> {
2813
3120
  debugTimings: Map<DebugTimingKey, number>;
2814
3121
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
2815
3122
  indexer: Indexer<T, any>;
2816
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
2817
- __apiRef: React$1.RefObject<DataSourceApi<T> | null>;
2818
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
3123
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
3124
+ __apiRef: MutableRef<DataSourceApi<T> | null>;
3125
+ lastSelectionUpdatedNodePathRef: MutableRef<{
2819
3126
  nodePath: NodePath$1;
2820
3127
  selected: boolean;
2821
3128
  } | null>;
2822
- lastExpandStateInfoRef: React$1.RefObject<{
3129
+ lastExpandStateInfoRef: MutableRef<{
2823
3130
  state: 'collapsed' | 'expanded';
2824
3131
  nodePath: NodePath$1 | null;
2825
3132
  }>;
@@ -2834,7 +3141,7 @@ interface DataSourceSetupState<T> {
2834
3141
  */
2835
3142
  rowsPerPage: number | null;
2836
3143
  totalLeafNodesCount: number;
2837
- destroyedRef: React$1.MutableRefObject<boolean>;
3144
+ destroyedRef: MutableRef<boolean>;
2838
3145
  idToIndexMap: Map<any, number>;
2839
3146
  idToPathMap: Map<any, NodePath$1>;
2840
3147
  pathToIndexMap: DeepMap<any, number>;
@@ -3029,7 +3336,7 @@ type TreeExpandStateValue = TreeExpandState | TreeExpandStateObject<any>;
3029
3336
  type DataSourceProps<T> = {
3030
3337
  nodesKey?: never;
3031
3338
  debugId?: string;
3032
- children?: React$1.ReactNode | ((contextData: DataSourceState<T>) => React$1.ReactNode);
3339
+ children?: Renderable | ((contextData: DataSourceState<T>) => Renderable);
3033
3340
  primaryKey: keyof T | ((data: T) => string);
3034
3341
  /**
3035
3342
  * @deprecated for now
@@ -3168,8 +3475,8 @@ type DataSourceFilterType<T> = {
3168
3475
  defaultOperator: string;
3169
3476
  valueGetter?: DataSourceFilterValueItemValueGetter<T>;
3170
3477
  components?: {
3171
- FilterEditor?: () => React$1.JSX.Element | null;
3172
- FilterOperatorSwitch?: () => React$1.JSX.Element | null;
3478
+ FilterEditor?: () => Renderable;
3479
+ FilterOperatorSwitch?: () => Renderable;
3173
3480
  };
3174
3481
  operators: DataSourceFilterOperator<T>[];
3175
3482
  };
@@ -3177,8 +3484,8 @@ type DataSourceFilterOperator<T> = {
3177
3484
  name: string;
3178
3485
  label?: string;
3179
3486
  components?: {
3180
- FilterEditor?: () => React$1.JSX.Element | null;
3181
- Icon?: (props: any) => React$1.JSX.Element | null;
3487
+ FilterEditor?: () => Renderable;
3488
+ Icon?: (props: any) => Renderable;
3182
3489
  };
3183
3490
  fn: DataSourceFilterOperatorFunction<T>;
3184
3491
  defaultFilterValue?: any;
@@ -3252,201 +3559,9 @@ interface DataSourceAction<T> {
3252
3559
  payload: T;
3253
3560
  }
3254
3561
 
3255
- type InfiniteTableBaseCellProps<T> = {
3256
- column: InfiniteTableComputedColumn<T>;
3257
- align?: InfiniteTableColumnAlignValues;
3258
- horizontalLayoutPageIndex: number | null;
3259
- rowId?: any;
3260
- renderChildren: React.ReactNode | (() => Renderable);
3261
- width: number;
3262
- cssEllipsis?: boolean;
3263
- contentStyle?: CSSProperties;
3264
- contentClassName?: string;
3265
- virtualized?: boolean;
3266
- skipColumnShifting?: boolean;
3267
- beforeChildren?: Renderable;
3268
- afterChildren?: Renderable;
3269
- cssPosition?: CSSProperties['position'];
3270
- domRef?: React.RefCallback<HTMLElement>;
3271
- repaintId?: number | string;
3272
- };
3273
- type InfiniteTableCellProps<T> = ({
3274
- cellType: 'header';
3275
- } & InfiniteTableBaseCellProps<T>) | ({
3276
- cellType: 'body';
3277
- } & InfiniteTableBaseCellProps<T>);
3278
-
3279
- declare function useInfiniteHeaderCell<T>(): {
3280
- dragging: boolean;
3281
- column: InfiniteTableComputedColumn<T>;
3282
- columnsMap: Map<string, InfiniteTableComputedColumn<T>>;
3283
- columnSortInfo: DataSourceSingleSortInfo<T> | null;
3284
- columnFilterValue: DataSourceFilterValueItem<T> | null;
3285
- selectionMode: DataSourcePropSelectionMode;
3286
- horizontalLayoutPageIndex: null | number;
3287
- allRowsSelected: boolean;
3288
- someRowsSelected: boolean;
3289
- filtered: boolean;
3290
- api: InfiniteTableApi<T>;
3291
- dataSourceApi: DataSourceApi<T>;
3292
- columnApi: InfiniteTableColumnApi<T>;
3293
- renderBag: {
3294
- all?: Renderable;
3295
- header: string | number | Renderable;
3296
- sortIcon?: Renderable;
3297
- menuIcon?: Renderable;
3298
- menuIconProps?: MenuIconProps;
3299
- filterIcon?: Renderable;
3300
- filterEditor?: Renderable;
3301
- selectionCheckBox?: Renderable;
3302
- };
3303
- } & {
3304
- domRef: InfiniteTableCellProps<DATA_TYPE>["domRef"];
3305
- htmlElementRef: React$1.MutableRefObject<HTMLElement | null>;
3306
- renderLocation: "column-header";
3307
- } & {
3308
- domRef: InfiniteTableCellProps<DATA_TYPE_1>["domRef"];
3309
- htmlElementRef: React$1.MutableRefObject<HTMLElement | null>;
3310
- renderLocation: "column-header";
3311
- };
3312
-
3313
- declare function useInfiniteColumnCell<T>(): InfiniteTableColumnCellContextType<T>;
3314
- declare function useInfiniteColumnEditor<T>(): InfiniteColumnEditorContextType<T>;
3315
-
3316
- declare function useInfiniteColumnFilterEditor<T>(): {
3317
- api: InfiniteTableApi<T>;
3318
- column: InfiniteTableComputedColumn<T>;
3319
- columnFilterValue: DataSourceFilterValueItem<any> | null;
3320
- columnApi: InfiniteTableColumnApi<T>;
3321
- operatorName: string | undefined;
3322
- operator: DataSourceFilterOperator<any> | undefined;
3323
- value: any;
3324
- disabled: boolean | undefined;
3325
- filterType: DataSourceFilterType<any>;
3326
- filterTypes: DataSourcePropFilterTypes<any>;
3327
- filterTypeKey: string;
3328
- filtered: boolean;
3329
- setValue: (filterValue: any) => void;
3330
- clearValue: () => void;
3331
- removeColumnFilter: () => void;
3332
- ariaLabel: string;
3333
- className: string;
3334
- };
3335
-
3336
- type HotKeyEventDescriptor = {
3337
- key: KeyboardEvent['key'];
3338
- metaKey: KeyboardEvent['metaKey'];
3339
- altKey: KeyboardEvent['altKey'];
3340
- ctrlKey: KeyboardEvent['ctrlKey'];
3341
- shiftKey: KeyboardEvent['shiftKey'];
3342
- };
3343
- declare function eventMatchesKeyboardShortcut(event: HotKeyEventDescriptor, keyDescriptors: string | string[]): boolean;
3344
-
3345
- declare function HScrollSyncContent(props: HTMLAttributes<HTMLDivElement> & {
3346
- width?: 'viewport' | 'column';
3347
- maxWidth?: 'viewport' | 'column';
3348
- minWidth?: 'viewport' | 'column';
3349
- scrollable?: boolean;
3350
- }): React$1.JSX.Element;
3351
-
3352
- declare function useGridScroll(onScroll: (scrollPosition: ScrollPosition) => void, deps: any[]): void;
3353
-
3354
- declare function useVisibleColumnSizes<T>(): {
3355
- id: string;
3356
- width: number;
3357
- cssVarForWidth: string;
3358
- offset: number;
3359
- cssVarForOffset: string;
3360
- pinned: InfiniteTableColumnPinnedValues;
3361
- }[];
3362
-
3363
- declare function useInfinitePortalContainer(): HTMLDivElement | null;
3364
-
3365
- declare function HostDefault(props: {
3366
- active: boolean;
3367
- orientation: 'horizontal' | 'vertical';
3368
- rejectDrop: boolean;
3369
- domProps?: React$1.HTMLAttributes<HTMLDivElement>;
3370
- }): React$1.JSX.Element;
3371
- declare function PlaceholderDefault<T = any>(props: {
3372
- draggingInProgress: boolean;
3373
- active: boolean;
3374
- groupBy: DataSourcePropGroupBy<T>;
3375
- }): React$1.ReactNode;
3376
- declare function GroupingToolbarItemDefault<T = any>(props: {
3377
- domProps?: React$1.HTMLAttributes<HTMLDivElement>;
3378
- column: InfiniteTableComputedColumn<T> | undefined;
3379
- field: string | number | undefined;
3380
- active: boolean;
3381
- label: React$1.ReactNode;
3382
- onClear: () => void;
3383
- }): React$1.JSX.Element;
3384
-
3385
- type GroupingToolbarProps = {
3386
- orientation?: 'horizontal' | 'vertical';
3387
- placeholder?: <T = any>(params: {
3388
- draggingInProgress: boolean;
3389
- active: boolean;
3390
- groupBy: DataSourcePropGroupBy<T>;
3391
- }) => React$1.ReactNode;
3392
- domProps?: React$1.HTMLAttributes<HTMLDivElement>;
3393
- components?: {
3394
- Host?: typeof HostDefault;
3395
- Placeholder?: typeof PlaceholderDefault;
3396
- ToolbarItem?: typeof GroupingToolbarItemDefault;
3397
- };
3398
- };
3399
- declare function GroupingToolbar<T = any>(props: GroupingToolbarProps): React$1.JSX.Element;
3400
-
3401
- type InfiniteTableHeaderProps<_T> = {
3402
- allowColumnHideWhileDragging?: boolean;
3403
- };
3404
-
3405
- type InfiniteTableBodyProps<_T> = {
3406
- rowHoverClassName?: string | string[];
3407
- };
3408
-
3409
- declare function InfiniteTableBody<T>(props: InfiniteTableBodyProps<T>): React$1.JSX.Element;
3410
- declare namespace InfiniteTableBody {
3411
- var rowHoverClassName: string[];
3412
- }
3413
-
3414
- declare function useInfiniteTableApi<T>(): InfiniteTableApi<T>;
3415
-
3416
- declare function useInfiniteColumnApi<T = unknown>(columnId: string): InfiniteTableColumnApi<T> | null;
3417
-
3418
- declare const InfiniteTableClassName: string;
3419
- declare const InfiniteTableComponent: React$1.MemoExoticComponent<(<T>() => React$1.JSX.Element)>;
3420
- type InfiniteTableComponent = {
3421
- <T>(props: InfiniteTableProps<T>): React$1.JSX.Element;
3422
- licenseKey?: string;
3423
- Header: <T = any>(props: InfiniteTableHeaderProps<T>) => React$1.JSX.Element | null;
3424
- Body: typeof InfiniteTableBody;
3425
- Footer: () => React$1.JSX.Element | null;
3426
- HScrollSyncContent: typeof HScrollSyncContent;
3427
- GroupingToolbar: typeof GroupingToolbar;
3428
- };
3429
- declare const InfiniteTable: InfiniteTableComponent;
3562
+ declare const withSelectedLeafNodesOnly: (callback: (treeSelectionObject: TreeSelectionStateObject) => void) => DataSourcePropOnTreeSelectionChange_MultiNode;
3430
3563
 
3431
- type DataSourceStateRestoreForDetail<T> = {
3432
- originalDataArray: DataSourceState<T>['originalDataArray'] | undefined;
3433
- groupBy: DataSourceState<T>['groupBy'] | undefined;
3434
- groupRowsState: DataSourceState<T>['groupRowsState'] | undefined;
3435
- pivotBy: DataSourceState<T>['pivotBy'] | undefined;
3436
- sortInfo: DataSourceState<T>['sortInfo'] | undefined;
3437
- filterValue: DataSourceState<T>['filterValue'] | undefined;
3438
- livePaginationCursor: DataSourceState<T>['livePaginationCursor'] | undefined;
3439
- };
3440
- type RowDetailCacheKey = string | number;
3441
- type RowDetailCacheEntry = {
3442
- all?: boolean;
3443
- groupBy?: boolean;
3444
- sortInfo?: boolean;
3445
- filterValue?: boolean;
3446
- data?: boolean;
3447
- livePaginationCursor?: boolean;
3448
- columnOrder?: boolean;
3449
- };
3564
+ declare function TreeGrid<T>(props: TreeGridProps<T>): React$1.JSX.Element;
3450
3565
 
3451
3566
  declare const defaultFilterTypes: Record<string, DataSourceFilterType<any>>;
3452
3567
 
@@ -3495,13 +3610,13 @@ declare const useManagedDataSource: (props: object) => {
3495
3610
  debugTimings: Map<DebugTimingKey, number>;
3496
3611
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
3497
3612
  indexer: Indexer<unknown, any>;
3498
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
3499
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
3500
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
3613
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
3614
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
3615
+ lastSelectionUpdatedNodePathRef: MutableRef<{
3501
3616
  nodePath: NodePath$1;
3502
3617
  selected: boolean;
3503
3618
  } | null>;
3504
- lastExpandStateInfoRef: React$1.RefObject<{
3619
+ lastExpandStateInfoRef: MutableRef<{
3505
3620
  state: "collapsed" | "expanded";
3506
3621
  nodePath: NodePath$1 | null;
3507
3622
  }>;
@@ -3513,7 +3628,7 @@ declare const useManagedDataSource: (props: object) => {
3513
3628
  repeatWrappedGroupRows: never;
3514
3629
  rowsPerPage: never;
3515
3630
  totalLeafNodesCount: number;
3516
- destroyedRef: React$1.MutableRefObject<boolean>;
3631
+ destroyedRef: MutableRef<boolean>;
3517
3632
  idToIndexMap: Map<any, number>;
3518
3633
  idToPathMap: Map<any, NodePath$1>;
3519
3634
  pathToIndexMap: DeepMap<any, number>;
@@ -3637,13 +3752,13 @@ declare const useManagedDataSource: (props: object) => {
3637
3752
  debugTimings: Map<DebugTimingKey, number>;
3638
3753
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
3639
3754
  indexer: Indexer<unknown, any>;
3640
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
3641
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
3642
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
3755
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
3756
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
3757
+ lastSelectionUpdatedNodePathRef: MutableRef<{
3643
3758
  nodePath: NodePath$1;
3644
3759
  selected: boolean;
3645
3760
  } | null>;
3646
- lastExpandStateInfoRef: React$1.RefObject<{
3761
+ lastExpandStateInfoRef: MutableRef<{
3647
3762
  state: "collapsed" | "expanded";
3648
3763
  nodePath: NodePath$1 | null;
3649
3764
  }>;
@@ -3655,7 +3770,7 @@ declare const useManagedDataSource: (props: object) => {
3655
3770
  repeatWrappedGroupRows: never;
3656
3771
  rowsPerPage: never;
3657
3772
  totalLeafNodesCount: number;
3658
- destroyedRef: React$1.MutableRefObject<boolean>;
3773
+ destroyedRef: MutableRef<boolean>;
3659
3774
  idToIndexMap: Map<any, number>;
3660
3775
  idToPathMap: Map<any, NodePath$1>;
3661
3776
  pathToIndexMap: DeepMap<any, number>;
@@ -3779,13 +3894,13 @@ declare const useManagedDataSource: (props: object) => {
3779
3894
  debugTimings: Map<DebugTimingKey, number>;
3780
3895
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
3781
3896
  indexer: Indexer<unknown, any>;
3782
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
3783
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
3784
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
3897
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
3898
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
3899
+ lastSelectionUpdatedNodePathRef: MutableRef<{
3785
3900
  nodePath: NodePath$1;
3786
3901
  selected: boolean;
3787
3902
  } | null>;
3788
- lastExpandStateInfoRef: React$1.RefObject<{
3903
+ lastExpandStateInfoRef: MutableRef<{
3789
3904
  state: "collapsed" | "expanded";
3790
3905
  nodePath: NodePath$1 | null;
3791
3906
  }>;
@@ -3797,7 +3912,7 @@ declare const useManagedDataSource: (props: object) => {
3797
3912
  repeatWrappedGroupRows: never;
3798
3913
  rowsPerPage: never;
3799
3914
  totalLeafNodesCount: number;
3800
- destroyedRef: React$1.MutableRefObject<boolean>;
3915
+ destroyedRef: MutableRef<boolean>;
3801
3916
  idToIndexMap: Map<any, number>;
3802
3917
  idToPathMap: Map<any, NodePath$1>;
3803
3918
  pathToIndexMap: DeepMap<any, number>;
@@ -3922,13 +4037,13 @@ declare const useManagedDataSource: (props: object) => {
3922
4037
  debugTimings: Map<DebugTimingKey, number>;
3923
4038
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
3924
4039
  indexer: Indexer<unknown, any>;
3925
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
3926
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
3927
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4040
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4041
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4042
+ lastSelectionUpdatedNodePathRef: MutableRef<{
3928
4043
  nodePath: NodePath$1;
3929
4044
  selected: boolean;
3930
4045
  } | null>;
3931
- lastExpandStateInfoRef: React$1.RefObject<{
4046
+ lastExpandStateInfoRef: MutableRef<{
3932
4047
  state: "collapsed" | "expanded";
3933
4048
  nodePath: NodePath$1 | null;
3934
4049
  }>;
@@ -3940,7 +4055,7 @@ declare const useManagedDataSource: (props: object) => {
3940
4055
  repeatWrappedGroupRows: never;
3941
4056
  rowsPerPage: never;
3942
4057
  totalLeafNodesCount: number;
3943
- destroyedRef: React$1.MutableRefObject<boolean>;
4058
+ destroyedRef: MutableRef<boolean>;
3944
4059
  idToIndexMap: Map<any, number>;
3945
4060
  idToPathMap: Map<any, NodePath$1>;
3946
4061
  pathToIndexMap: DeepMap<any, number>;
@@ -4064,13 +4179,13 @@ declare const useManagedDataSource: (props: object) => {
4064
4179
  debugTimings: Map<DebugTimingKey, number>;
4065
4180
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4066
4181
  indexer: Indexer<unknown, any>;
4067
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4068
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4069
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4182
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4183
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4184
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4070
4185
  nodePath: NodePath$1;
4071
4186
  selected: boolean;
4072
4187
  } | null>;
4073
- lastExpandStateInfoRef: React$1.RefObject<{
4188
+ lastExpandStateInfoRef: MutableRef<{
4074
4189
  state: "collapsed" | "expanded";
4075
4190
  nodePath: NodePath$1 | null;
4076
4191
  }>;
@@ -4082,7 +4197,7 @@ declare const useManagedDataSource: (props: object) => {
4082
4197
  repeatWrappedGroupRows: never;
4083
4198
  rowsPerPage: never;
4084
4199
  totalLeafNodesCount: number;
4085
- destroyedRef: React$1.MutableRefObject<boolean>;
4200
+ destroyedRef: MutableRef<boolean>;
4086
4201
  idToIndexMap: Map<any, number>;
4087
4202
  idToPathMap: Map<any, NodePath$1>;
4088
4203
  pathToIndexMap: DeepMap<any, number>;
@@ -4206,13 +4321,13 @@ declare const useManagedDataSource: (props: object) => {
4206
4321
  debugTimings: Map<DebugTimingKey, number>;
4207
4322
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4208
4323
  indexer: Indexer<unknown, any>;
4209
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4210
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4211
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4324
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4325
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4326
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4212
4327
  nodePath: NodePath$1;
4213
4328
  selected: boolean;
4214
4329
  } | null>;
4215
- lastExpandStateInfoRef: React$1.RefObject<{
4330
+ lastExpandStateInfoRef: MutableRef<{
4216
4331
  state: "collapsed" | "expanded";
4217
4332
  nodePath: NodePath$1 | null;
4218
4333
  }>;
@@ -4224,7 +4339,7 @@ declare const useManagedDataSource: (props: object) => {
4224
4339
  repeatWrappedGroupRows: never;
4225
4340
  rowsPerPage: never;
4226
4341
  totalLeafNodesCount: number;
4227
- destroyedRef: React$1.MutableRefObject<boolean>;
4342
+ destroyedRef: MutableRef<boolean>;
4228
4343
  idToIndexMap: Map<any, number>;
4229
4344
  idToPathMap: Map<any, NodePath$1>;
4230
4345
  pathToIndexMap: DeepMap<any, number>;
@@ -4349,13 +4464,13 @@ declare const useManagedDataSource: (props: object) => {
4349
4464
  debugTimings: Map<DebugTimingKey, number>;
4350
4465
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4351
4466
  indexer: Indexer<unknown, any>;
4352
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4353
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4354
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4467
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4468
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4469
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4355
4470
  nodePath: NodePath$1;
4356
4471
  selected: boolean;
4357
4472
  } | null>;
4358
- lastExpandStateInfoRef: React$1.RefObject<{
4473
+ lastExpandStateInfoRef: MutableRef<{
4359
4474
  state: "collapsed" | "expanded";
4360
4475
  nodePath: NodePath$1 | null;
4361
4476
  }>;
@@ -4367,7 +4482,7 @@ declare const useManagedDataSource: (props: object) => {
4367
4482
  repeatWrappedGroupRows: never;
4368
4483
  rowsPerPage: never;
4369
4484
  totalLeafNodesCount: number;
4370
- destroyedRef: React$1.MutableRefObject<boolean>;
4485
+ destroyedRef: MutableRef<boolean>;
4371
4486
  idToIndexMap: Map<any, number>;
4372
4487
  idToPathMap: Map<any, NodePath$1>;
4373
4488
  pathToIndexMap: DeepMap<any, number>;
@@ -4491,13 +4606,13 @@ declare const useManagedDataSource: (props: object) => {
4491
4606
  debugTimings: Map<DebugTimingKey, number>;
4492
4607
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4493
4608
  indexer: Indexer<unknown, any>;
4494
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4495
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4496
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4609
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4610
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4611
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4497
4612
  nodePath: NodePath$1;
4498
4613
  selected: boolean;
4499
4614
  } | null>;
4500
- lastExpandStateInfoRef: React$1.RefObject<{
4615
+ lastExpandStateInfoRef: MutableRef<{
4501
4616
  state: "collapsed" | "expanded";
4502
4617
  nodePath: NodePath$1 | null;
4503
4618
  }>;
@@ -4509,7 +4624,7 @@ declare const useManagedDataSource: (props: object) => {
4509
4624
  repeatWrappedGroupRows: never;
4510
4625
  rowsPerPage: never;
4511
4626
  totalLeafNodesCount: number;
4512
- destroyedRef: React$1.MutableRefObject<boolean>;
4627
+ destroyedRef: MutableRef<boolean>;
4513
4628
  idToIndexMap: Map<any, number>;
4514
4629
  idToPathMap: Map<any, NodePath$1>;
4515
4630
  pathToIndexMap: DeepMap<any, number>;
@@ -4633,13 +4748,13 @@ declare const useManagedDataSource: (props: object) => {
4633
4748
  debugTimings: Map<DebugTimingKey, number>;
4634
4749
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4635
4750
  indexer: Indexer<unknown, any>;
4636
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4637
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4638
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4751
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4752
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4753
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4639
4754
  nodePath: NodePath$1;
4640
4755
  selected: boolean;
4641
4756
  } | null>;
4642
- lastExpandStateInfoRef: React$1.RefObject<{
4757
+ lastExpandStateInfoRef: MutableRef<{
4643
4758
  state: "collapsed" | "expanded";
4644
4759
  nodePath: NodePath$1 | null;
4645
4760
  }>;
@@ -4651,7 +4766,7 @@ declare const useManagedDataSource: (props: object) => {
4651
4766
  repeatWrappedGroupRows: never;
4652
4767
  rowsPerPage: never;
4653
4768
  totalLeafNodesCount: number;
4654
- destroyedRef: React$1.MutableRefObject<boolean>;
4769
+ destroyedRef: MutableRef<boolean>;
4655
4770
  idToIndexMap: Map<any, number>;
4656
4771
  idToPathMap: Map<any, NodePath$1>;
4657
4772
  pathToIndexMap: DeepMap<any, number>;
@@ -4776,13 +4891,13 @@ declare const useManagedDataSource: (props: object) => {
4776
4891
  debugTimings: Map<DebugTimingKey, number>;
4777
4892
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4778
4893
  indexer: Indexer<unknown, any>;
4779
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4780
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4781
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
4894
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
4895
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
4896
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4782
4897
  nodePath: NodePath$1;
4783
4898
  selected: boolean;
4784
4899
  } | null>;
4785
- lastExpandStateInfoRef: React$1.RefObject<{
4900
+ lastExpandStateInfoRef: MutableRef<{
4786
4901
  state: "collapsed" | "expanded";
4787
4902
  nodePath: NodePath$1 | null;
4788
4903
  }>;
@@ -4794,7 +4909,7 @@ declare const useManagedDataSource: (props: object) => {
4794
4909
  repeatWrappedGroupRows: never;
4795
4910
  rowsPerPage: never;
4796
4911
  totalLeafNodesCount: number;
4797
- destroyedRef: React$1.MutableRefObject<boolean>;
4912
+ destroyedRef: MutableRef<boolean>;
4798
4913
  idToIndexMap: Map<any, number>;
4799
4914
  idToPathMap: Map<any, NodePath$1>;
4800
4915
  pathToIndexMap: DeepMap<any, number>;
@@ -4918,13 +5033,13 @@ declare const useManagedDataSource: (props: object) => {
4918
5033
  debugTimings: Map<DebugTimingKey, number>;
4919
5034
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
4920
5035
  indexer: Indexer<unknown, any>;
4921
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
4922
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
4923
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5036
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5037
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5038
+ lastSelectionUpdatedNodePathRef: MutableRef<{
4924
5039
  nodePath: NodePath$1;
4925
5040
  selected: boolean;
4926
5041
  } | null>;
4927
- lastExpandStateInfoRef: React$1.RefObject<{
5042
+ lastExpandStateInfoRef: MutableRef<{
4928
5043
  state: "collapsed" | "expanded";
4929
5044
  nodePath: NodePath$1 | null;
4930
5045
  }>;
@@ -4936,7 +5051,7 @@ declare const useManagedDataSource: (props: object) => {
4936
5051
  repeatWrappedGroupRows: never;
4937
5052
  rowsPerPage: never;
4938
5053
  totalLeafNodesCount: number;
4939
- destroyedRef: React$1.MutableRefObject<boolean>;
5054
+ destroyedRef: MutableRef<boolean>;
4940
5055
  idToIndexMap: Map<any, number>;
4941
5056
  idToPathMap: Map<any, NodePath$1>;
4942
5057
  pathToIndexMap: DeepMap<any, number>;
@@ -5060,13 +5175,13 @@ declare const useManagedDataSource: (props: object) => {
5060
5175
  debugTimings: Map<DebugTimingKey, number>;
5061
5176
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5062
5177
  indexer: Indexer<unknown, any>;
5063
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5064
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5065
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5178
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5179
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5180
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5066
5181
  nodePath: NodePath$1;
5067
5182
  selected: boolean;
5068
5183
  } | null>;
5069
- lastExpandStateInfoRef: React$1.RefObject<{
5184
+ lastExpandStateInfoRef: MutableRef<{
5070
5185
  state: "collapsed" | "expanded";
5071
5186
  nodePath: NodePath$1 | null;
5072
5187
  }>;
@@ -5078,7 +5193,7 @@ declare const useManagedDataSource: (props: object) => {
5078
5193
  repeatWrappedGroupRows: never;
5079
5194
  rowsPerPage: never;
5080
5195
  totalLeafNodesCount: number;
5081
- destroyedRef: React$1.MutableRefObject<boolean>;
5196
+ destroyedRef: MutableRef<boolean>;
5082
5197
  idToIndexMap: Map<any, number>;
5083
5198
  idToPathMap: Map<any, NodePath$1>;
5084
5199
  pathToIndexMap: DeepMap<any, number>;
@@ -5203,13 +5318,13 @@ declare const useManagedDataSource: (props: object) => {
5203
5318
  debugTimings: Map<DebugTimingKey, number>;
5204
5319
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5205
5320
  indexer: Indexer<unknown, any>;
5206
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5207
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5208
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5321
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5322
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5323
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5209
5324
  nodePath: NodePath$1;
5210
5325
  selected: boolean;
5211
5326
  } | null>;
5212
- lastExpandStateInfoRef: React$1.RefObject<{
5327
+ lastExpandStateInfoRef: MutableRef<{
5213
5328
  state: "collapsed" | "expanded";
5214
5329
  nodePath: NodePath$1 | null;
5215
5330
  }>;
@@ -5221,7 +5336,7 @@ declare const useManagedDataSource: (props: object) => {
5221
5336
  repeatWrappedGroupRows: never;
5222
5337
  rowsPerPage: never;
5223
5338
  totalLeafNodesCount: number;
5224
- destroyedRef: React$1.MutableRefObject<boolean>;
5339
+ destroyedRef: MutableRef<boolean>;
5225
5340
  idToIndexMap: Map<any, number>;
5226
5341
  idToPathMap: Map<any, NodePath$1>;
5227
5342
  pathToIndexMap: DeepMap<any, number>;
@@ -5345,13 +5460,13 @@ declare const useManagedDataSource: (props: object) => {
5345
5460
  debugTimings: Map<DebugTimingKey, number>;
5346
5461
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5347
5462
  indexer: Indexer<unknown, any>;
5348
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5349
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5350
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5463
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5464
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5465
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5351
5466
  nodePath: NodePath$1;
5352
5467
  selected: boolean;
5353
5468
  } | null>;
5354
- lastExpandStateInfoRef: React$1.RefObject<{
5469
+ lastExpandStateInfoRef: MutableRef<{
5355
5470
  state: "collapsed" | "expanded";
5356
5471
  nodePath: NodePath$1 | null;
5357
5472
  }>;
@@ -5363,7 +5478,7 @@ declare const useManagedDataSource: (props: object) => {
5363
5478
  repeatWrappedGroupRows: never;
5364
5479
  rowsPerPage: never;
5365
5480
  totalLeafNodesCount: number;
5366
- destroyedRef: React$1.MutableRefObject<boolean>;
5481
+ destroyedRef: MutableRef<boolean>;
5367
5482
  idToIndexMap: Map<any, number>;
5368
5483
  idToPathMap: Map<any, NodePath$1>;
5369
5484
  pathToIndexMap: DeepMap<any, number>;
@@ -5487,13 +5602,13 @@ declare const useManagedDataSource: (props: object) => {
5487
5602
  debugTimings: Map<DebugTimingKey, number>;
5488
5603
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5489
5604
  indexer: Indexer<unknown, any>;
5490
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5491
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5492
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5605
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5606
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5607
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5493
5608
  nodePath: NodePath$1;
5494
5609
  selected: boolean;
5495
5610
  } | null>;
5496
- lastExpandStateInfoRef: React$1.RefObject<{
5611
+ lastExpandStateInfoRef: MutableRef<{
5497
5612
  state: "collapsed" | "expanded";
5498
5613
  nodePath: NodePath$1 | null;
5499
5614
  }>;
@@ -5505,7 +5620,7 @@ declare const useManagedDataSource: (props: object) => {
5505
5620
  repeatWrappedGroupRows: never;
5506
5621
  rowsPerPage: never;
5507
5622
  totalLeafNodesCount: number;
5508
- destroyedRef: React$1.MutableRefObject<boolean>;
5623
+ destroyedRef: MutableRef<boolean>;
5509
5624
  idToIndexMap: Map<any, number>;
5510
5625
  idToPathMap: Map<any, NodePath$1>;
5511
5626
  pathToIndexMap: DeepMap<any, number>;
@@ -5631,13 +5746,13 @@ declare const useManagedDataSource: (props: object) => {
5631
5746
  debugTimings: Map<DebugTimingKey, number>;
5632
5747
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5633
5748
  indexer: Indexer<unknown, any>;
5634
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5635
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5636
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5749
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5750
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5751
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5637
5752
  nodePath: NodePath$1;
5638
5753
  selected: boolean;
5639
5754
  } | null>;
5640
- lastExpandStateInfoRef: React$1.RefObject<{
5755
+ lastExpandStateInfoRef: MutableRef<{
5641
5756
  state: "collapsed" | "expanded";
5642
5757
  nodePath: NodePath$1 | null;
5643
5758
  }>;
@@ -5649,7 +5764,7 @@ declare const useManagedDataSource: (props: object) => {
5649
5764
  repeatWrappedGroupRows: never;
5650
5765
  rowsPerPage: never;
5651
5766
  totalLeafNodesCount: number;
5652
- destroyedRef: React$1.MutableRefObject<boolean>;
5767
+ destroyedRef: MutableRef<boolean>;
5653
5768
  idToIndexMap: Map<any, number>;
5654
5769
  idToPathMap: Map<any, NodePath$1>;
5655
5770
  pathToIndexMap: DeepMap<any, number>;
@@ -5773,13 +5888,13 @@ declare const useManagedDataSource: (props: object) => {
5773
5888
  debugTimings: Map<DebugTimingKey, number>;
5774
5889
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5775
5890
  indexer: Indexer<unknown, any>;
5776
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5777
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5778
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
5891
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
5892
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
5893
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5779
5894
  nodePath: NodePath$1;
5780
5895
  selected: boolean;
5781
5896
  } | null>;
5782
- lastExpandStateInfoRef: React$1.RefObject<{
5897
+ lastExpandStateInfoRef: MutableRef<{
5783
5898
  state: "collapsed" | "expanded";
5784
5899
  nodePath: NodePath$1 | null;
5785
5900
  }>;
@@ -5791,7 +5906,7 @@ declare const useManagedDataSource: (props: object) => {
5791
5906
  repeatWrappedGroupRows: never;
5792
5907
  rowsPerPage: never;
5793
5908
  totalLeafNodesCount: number;
5794
- destroyedRef: React$1.MutableRefObject<boolean>;
5909
+ destroyedRef: MutableRef<boolean>;
5795
5910
  idToIndexMap: Map<any, number>;
5796
5911
  idToPathMap: Map<any, NodePath$1>;
5797
5912
  pathToIndexMap: DeepMap<any, number>;
@@ -5915,13 +6030,13 @@ declare const useManagedDataSource: (props: object) => {
5915
6030
  debugTimings: Map<DebugTimingKey, number>;
5916
6031
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
5917
6032
  indexer: Indexer<unknown, any>;
5918
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
5919
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
5920
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
6033
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
6034
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
6035
+ lastSelectionUpdatedNodePathRef: MutableRef<{
5921
6036
  nodePath: NodePath$1;
5922
6037
  selected: boolean;
5923
6038
  } | null>;
5924
- lastExpandStateInfoRef: React$1.RefObject<{
6039
+ lastExpandStateInfoRef: MutableRef<{
5925
6040
  state: "collapsed" | "expanded";
5926
6041
  nodePath: NodePath$1 | null;
5927
6042
  }>;
@@ -5933,7 +6048,7 @@ declare const useManagedDataSource: (props: object) => {
5933
6048
  repeatWrappedGroupRows: never;
5934
6049
  rowsPerPage: never;
5935
6050
  totalLeafNodesCount: number;
5936
- destroyedRef: React$1.MutableRefObject<boolean>;
6051
+ destroyedRef: MutableRef<boolean>;
5937
6052
  idToIndexMap: Map<any, number>;
5938
6053
  idToPathMap: Map<any, NodePath$1>;
5939
6054
  pathToIndexMap: DeepMap<any, number>;
@@ -6057,13 +6172,13 @@ declare const useManagedDataSource: (props: object) => {
6057
6172
  debugTimings: Map<DebugTimingKey, number>;
6058
6173
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
6059
6174
  indexer: Indexer<unknown, any>;
6060
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
6061
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
6062
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
6175
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
6176
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
6177
+ lastSelectionUpdatedNodePathRef: MutableRef<{
6063
6178
  nodePath: NodePath$1;
6064
6179
  selected: boolean;
6065
6180
  } | null>;
6066
- lastExpandStateInfoRef: React$1.RefObject<{
6181
+ lastExpandStateInfoRef: MutableRef<{
6067
6182
  state: "collapsed" | "expanded";
6068
6183
  nodePath: NodePath$1 | null;
6069
6184
  }>;
@@ -6075,7 +6190,7 @@ declare const useManagedDataSource: (props: object) => {
6075
6190
  repeatWrappedGroupRows: never;
6076
6191
  rowsPerPage: never;
6077
6192
  totalLeafNodesCount: number;
6078
- destroyedRef: React$1.MutableRefObject<boolean>;
6193
+ destroyedRef: MutableRef<boolean>;
6079
6194
  idToIndexMap: Map<any, number>;
6080
6195
  idToPathMap: Map<any, NodePath$1>;
6081
6196
  pathToIndexMap: DeepMap<any, number>;
@@ -6199,13 +6314,13 @@ declare const useManagedDataSource: (props: object) => {
6199
6314
  debugTimings: Map<DebugTimingKey, number>;
6200
6315
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
6201
6316
  indexer: Indexer<unknown, any>;
6202
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
6203
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
6204
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
6317
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
6318
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
6319
+ lastSelectionUpdatedNodePathRef: MutableRef<{
6205
6320
  nodePath: NodePath$1;
6206
6321
  selected: boolean;
6207
6322
  } | null>;
6208
- lastExpandStateInfoRef: React$1.RefObject<{
6323
+ lastExpandStateInfoRef: MutableRef<{
6209
6324
  state: "collapsed" | "expanded";
6210
6325
  nodePath: NodePath$1 | null;
6211
6326
  }>;
@@ -6217,7 +6332,7 @@ declare const useManagedDataSource: (props: object) => {
6217
6332
  repeatWrappedGroupRows: never;
6218
6333
  rowsPerPage: never;
6219
6334
  totalLeafNodesCount: number;
6220
- destroyedRef: React$1.MutableRefObject<boolean>;
6335
+ destroyedRef: MutableRef<boolean>;
6221
6336
  idToIndexMap: Map<any, number>;
6222
6337
  idToPathMap: Map<any, NodePath$1>;
6223
6338
  pathToIndexMap: DeepMap<any, number>;
@@ -6341,13 +6456,13 @@ declare const useManagedDataSource: (props: object) => {
6341
6456
  debugTimings: Map<DebugTimingKey, number>;
6342
6457
  debugWarnings: Map<DataSourceDebugWarningKey, DebugWarningPayload>;
6343
6458
  indexer: Indexer<unknown, any>;
6344
- getDataSourceMasterContextRef: React$1.RefObject<() => DataSourceMasterDetailContextValue<any> | undefined>;
6345
- __apiRef: React$1.RefObject<DataSourceApi<unknown> | null>;
6346
- lastSelectionUpdatedNodePathRef: React$1.RefObject<{
6459
+ getDataSourceMasterContextRef: MutableRef<() => DataSourceMasterDetailContextValue<any> | undefined>;
6460
+ __apiRef: MutableRef<DataSourceApi<unknown> | null>;
6461
+ lastSelectionUpdatedNodePathRef: MutableRef<{
6347
6462
  nodePath: NodePath$1;
6348
6463
  selected: boolean;
6349
6464
  } | null>;
6350
- lastExpandStateInfoRef: React$1.RefObject<{
6465
+ lastExpandStateInfoRef: MutableRef<{
6351
6466
  state: "collapsed" | "expanded";
6352
6467
  nodePath: NodePath$1 | null;
6353
6468
  }>;
@@ -6359,7 +6474,7 @@ declare const useManagedDataSource: (props: object) => {
6359
6474
  repeatWrappedGroupRows: never;
6360
6475
  rowsPerPage: never;
6361
6476
  totalLeafNodesCount: number;
6362
- destroyedRef: React$1.MutableRefObject<boolean>;
6477
+ destroyedRef: MutableRef<boolean>;
6363
6478
  idToIndexMap: Map<any, number>;
6364
6479
  idToPathMap: Map<any, NodePath$1>;
6365
6480
  pathToIndexMap: DeepMap<any, number>;
@@ -6971,13 +7086,20 @@ type AlignPositionOptions = {
6971
7086
  alignTarget: Alignable;
6972
7087
  };
6973
7088
 
7089
+ type ElementContainerGetter = (() => HTMLElement | string | Promise<HTMLElement | string>) | string | HTMLElement | Promise<HTMLElement | string>;
7090
+ type AdvancedAlignable = Alignable | ElementContainerGetter;
7091
+ type OverlayShowParams = {
7092
+ id?: string | number;
7093
+ constrainTo?: AdvancedAlignable | boolean;
7094
+ alignPosition: AlignPositionOptions['alignPosition'];
7095
+ alignTo: AdvancedAlignable | PointCoords;
7096
+ };
7097
+ declare function alignNode(node: HTMLDivElement, params: OverlayShowParams): Promise<void>;
7098
+
6974
7099
  type OverlayParams = {
6975
7100
  portalContainer?: ElementContainerGetter | null | false;
6976
7101
  constrainTo?: OverlayShowParams['constrainTo'];
6977
7102
  };
6978
- type ElementContainerGetter = (() => HTMLElement | string | Promise<HTMLElement | string>) | string | HTMLElement | Promise<HTMLElement | string>;
6979
- type AdvancedAlignable = Alignable | ElementContainerGetter;
6980
- declare function alignNode(node: HTMLDivElement, params: OverlayShowParams): Promise<void>;
6981
7103
  /**
6982
7104
  * If portal container is given, it will create a React portal from that element
6983
7105
  * otherwise it will simply render another node as portal
@@ -6985,12 +7107,6 @@ declare function alignNode(node: HTMLDivElement, params: OverlayShowParams): Pro
6985
7107
  * @param portalContainer
6986
7108
  */
6987
7109
  declare function useOverlayPortal(content: ReactNode, portalContainer?: ElementContainerGetter | null | false): string | number | bigint | boolean | React$1.JSX.Element | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | null | undefined;
6988
- type OverlayShowParams = {
6989
- id?: string | number;
6990
- constrainTo?: AdvancedAlignable | boolean;
6991
- alignPosition: AlignPositionOptions['alignPosition'];
6992
- alignTo: AdvancedAlignable | PointCoords;
6993
- };
6994
7110
  type UpdateOverlayContentFn = (content: ReactNode | (() => ReactNode), options?: {
6995
7111
  skipRealign?: boolean;
6996
7112
  }) => void;