@infinite-table/infinite-react 0.0.2-canary.1 → 0.0.2-canary.5

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
@@ -105,6 +105,15 @@ declare module "utils/debug" {
105
105
  constructor(channelName: string);
106
106
  }
107
107
  }
108
+ declare module "utils/proxyFnCall" {
109
+ export function proxyFn<T_PARAM_TO_PROXY, T_FN_PARAMETERS, T_RESULT extends any>(fn: (...params: T_FN_PARAMETERS[]) => T_RESULT, config?: {
110
+ getProxyTargetFromArgs: (...params: T_FN_PARAMETERS[]) => T_PARAM_TO_PROXY;
111
+ putProxyToArgs: (proxy: T_PARAM_TO_PROXY, ...params: T_FN_PARAMETERS[]) => T_FN_PARAMETERS[];
112
+ }): {
113
+ fn: (...params: T_FN_PARAMETERS[]) => T_RESULT;
114
+ propertyReads: Set<string>;
115
+ };
116
+ }
108
117
  declare module "utils/toUpperFirst" {
109
118
  export const toUpperFirst: (s: string) => string;
110
119
  export default toUpperFirst;
@@ -116,7 +125,7 @@ declare module "components/utils/isControlled" {
116
125
  export function isControlled<V extends keyof T, T>(propName: V, props: T): boolean;
117
126
  }
118
127
  declare module "components/hooks/useLatest" {
119
- export const useLatest: <T>(value: T) => () => T;
128
+ export function useLatest<T>(value: T): () => T;
120
129
  }
121
130
  declare module "components/hooks/usePrevious" {
122
131
  export const usePrevious: <T>(value: T, initialValue?: T | undefined) => T;
@@ -129,47 +138,52 @@ declare module "components/hooks/useComponentState" {
129
138
  getComponentState: () => T_STATE;
130
139
  componentState: T_STATE;
131
140
  componentActions: T_ACTIONS;
132
- updateStateProperty: <T extends keyof T_STATE>(propertyName: T, propertyValue: T_STATE[T]) => void;
133
141
  };
134
142
  type ComponentStateGeneratedActions<T_STATE> = {
135
143
  [k in keyof T_STATE]: T_STATE[k] | React.SetStateAction<T_STATE[k]>;
136
144
  };
137
- export type ComponentStateActions<T_STATE, T_ACTIONS = {}> = ComponentStateGeneratedActions<T_STATE> & T_ACTIONS;
138
- type ComponentStateRootConfig<T_PROPS, T_STATE, T_READONLY_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
139
- getInitialState: (params: {
145
+ export type ComponentStateActions<T_STATE> = ComponentStateGeneratedActions<T_STATE>;
146
+ export type ForwardPropsToStateFnResult<TYPE_PROPS, TYPE_RESULT> = Partial<{
147
+ [propName in keyof TYPE_PROPS & keyof TYPE_RESULT]: 1 | ((value: TYPE_PROPS[propName]) => TYPE_RESULT[propName]);
148
+ }>;
149
+ type ComponentStateRootConfig<T_PROPS, COMPONENT_MAPPED_STATE, COMPONENT_SETUP_STATE = {}, COMPONENT_DERIVED_STATE = {}, T_ACTIONS = {}, T_PARENT_STATE = {}> = {
150
+ initSetupState?: () => COMPONENT_SETUP_STATE;
151
+ forwardProps?: () => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
152
+ allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
153
+ mapPropsToState?: (params: {
140
154
  props: T_PROPS;
155
+ state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
156
+ oldState: null | (COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>);
141
157
  parentState: T_PARENT_STATE | null;
142
- }) => T_STATE;
158
+ }) => COMPONENT_DERIVED_STATE;
143
159
  concludeReducer?: (params: {
144
- previousState: T_STATE;
145
- state: T_STATE;
146
- updated: Partial<T_STATE> | null;
160
+ previousState: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
161
+ state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
162
+ updatedProps: Partial<T_PROPS> | null;
147
163
  parentState: T_PARENT_STATE | null;
148
- }) => T_STATE;
164
+ }) => COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & COMPONENT_DERIVED_STATE;
149
165
  getReducerActions?: (dispatch: React.Dispatch<any>) => T_ACTIONS;
150
- deriveReadOnlyState?: (params: {
151
- props: T_PROPS;
152
- state: T_STATE;
153
- updated: Partial<T_STATE> | null;
154
- parentState: T_PARENT_STATE | null;
155
- }) => T_READONLY_STATE;
156
166
  getParentState?: () => T_PARENT_STATE;
157
167
  onControlledPropertyChange?: (name: string, newValue: any, oldValue: any) => void | ((value: any, oldValue: any) => any);
158
168
  };
159
- export function getComponentStateRoot<T_PROPS, T_STATE extends object, T_READONLY_STATE extends object = {}, T_ACTIONS = {}, T_PARENT_STATE = {}>(config: ComponentStateRootConfig<T_PROPS, T_STATE, T_READONLY_STATE, T_ACTIONS, T_PARENT_STATE>): React.NamedExoticComponent<T_PROPS & {
169
+ export function getComponentStateRoot<T_PROPS, 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>): React.NamedExoticComponent<T_PROPS & {
160
170
  children: React.ReactNode;
161
171
  }>;
162
- export function useComponentState<T_STATE, T_READONLY_STATE = {}, T_ACTIONS = {}>(): ComponentStateContext<T_STATE & T_READONLY_STATE, ComponentStateActions<T_STATE, T_ACTIONS>>;
172
+ export function useComponentState<COMPONENT_STATE>(): ComponentStateContext<COMPONENT_STATE, ComponentStateGeneratedActions<COMPONENT_STATE>>;
173
+ }
174
+ declare module "components/types/NonUndefined" {
175
+ export type NonUndefined<T> = T extends undefined ? never : T;
163
176
  }
164
177
  declare module "components/DataSource/types" {
165
178
  import * as React from 'react';
166
179
  import { MultisortInfo } from "utils/multisort/index";
167
180
  import { DeepMap } from "utils/DeepMap";
168
181
  import { AggregationReducer, DeepMapGroupValueType, GroupBy, GroupKeyType, PivotBy } from "utils/groupAndPivot/index";
169
- import { InfiniteTableColumn, InfiniteTableColumnGroup, InfiniteTableEnhancedData } from "components/InfiniteTable/index";
182
+ import { InfiniteTableColumn, InfiniteTableColumnGroup, InfiniteTableRowInfo } from "components/InfiniteTable/index";
170
183
  import { ComponentStateActions } from "components/hooks/useComponentState";
171
184
  import { GroupRowsState } from "components/DataSource/GroupRowsState";
172
185
  import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
186
+ import { NonUndefined } from "components/types/NonUndefined";
173
187
  export interface DataSourceDataInfo<T> {
174
188
  originalDataArray: T[];
175
189
  }
@@ -192,10 +206,39 @@ declare module "components/DataSource/types" {
192
206
  };
193
207
  export type DataSourcePropGroupRowsBy<T> = DataSourceGroupRowsBy<T>[];
194
208
  export type DataSourcePropPivotBy<T> = DataSourcePivotBy<T>[];
209
+ export interface DataSourceMappedState<T> {
210
+ remoteCount: DataSourceProps<T>['remoteCount'];
211
+ data: DataSourceProps<T>['data'];
212
+ primaryKey: DataSourceProps<T>['primaryKey'];
213
+ groupRowsBy: NonUndefined<DataSourceProps<T>['groupRowsBy']>;
214
+ groupRowsState: NonUndefined<DataSourceProps<T>['groupRowsState']>;
215
+ pivotBy: DataSourceProps<T>['pivotBy'];
216
+ loading: NonUndefined<DataSourceProps<T>['loading']>;
217
+ sortInfo: DataSourceSingleSortInfo<T>[] | null;
218
+ }
219
+ export interface DataSourceSetupState<T> {
220
+ originalDataArray: T[];
221
+ lastSortDataArray?: T[];
222
+ lastGroupDataArray?: InfiniteTableRowInfo<T>[];
223
+ dataArray: InfiniteTableRowInfo<T>[];
224
+ groupDeepMap?: DeepMap<GroupKeyType, DeepMapGroupValueType<T, any>>;
225
+ pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
226
+ updatedAt: number;
227
+ reducedAt: number;
228
+ groupedAt: number;
229
+ sortedAt: number;
230
+ generateGroupRows: boolean;
231
+ aggregationReducers?: AggregationReducer<T, any>[];
232
+ postSortDataArray?: T[];
233
+ postGroupDataArray?: InfiniteTableRowInfo<T>[];
234
+ pivotColumns?: Map<string, InfiniteTableColumn<T>>;
235
+ pivotColumnGroups?: Map<string, InfiniteTableColumnGroup>;
236
+ }
195
237
  export interface DataSourceProps<T> {
196
- children: React.ReactNode | ((contextData: DataSourceComponentState<T>) => React.ReactNode);
238
+ children: React.ReactNode | ((contextData: DataSourceState<T>) => React.ReactNode);
197
239
  primaryKey: keyof T;
198
240
  fields?: (keyof T)[];
241
+ remoteCount?: number;
199
242
  data: DataSourceData<T>;
200
243
  loading?: boolean;
201
244
  defaultLoading?: boolean;
@@ -213,39 +256,15 @@ declare module "components/DataSource/types" {
213
256
  defaultSortInfo?: DataSourceSortInfo<T>;
214
257
  onSortInfoChange?: (sortInfo: DataSourceSortInfo<T>) => void;
215
258
  }
216
- export interface DataSourceState<T> extends DataSourceDataInfo<T> {
217
- data: DataSourceData<T>;
218
- loading: boolean;
219
- sortInfo?: DataSourceSortInfo<T>;
220
- dataArray: InfiniteTableEnhancedData<T>[];
221
- groupRowsBy: DataSourcePropGroupRowsBy<T>;
222
- pivotBy?: DataSourcePropPivotBy<T>;
223
- pivotColumns?: Map<string, InfiniteTableColumn<T>>;
224
- pivotColumnGroups?: Map<string, InfiniteTableColumnGroup>;
225
- aggregationReducers?: AggregationReducer<T, any>[];
226
- groupRowsState: GroupRowsState;
227
- sortedAt: number;
228
- groupedAt: number;
229
- updatedAt: number;
230
- reducedAt: number;
231
- pivotTotalColumnPosition?: InfiniteTablePropPivotTotalColumnPosition;
259
+ export interface DataSourceState<T> extends DataSourceSetupState<T>, DataSourceDerivedState<T>, DataSourceMappedState<T> {
232
260
  }
233
- export interface DataSourceReadOnlyState<T> {
261
+ export interface DataSourceDerivedState<_T> {
234
262
  multiSort: boolean;
235
- sortInfo: DataSourceSingleSortInfo<T>[];
236
- primaryKey: keyof T;
237
- groupDeepMap?: DeepMap<GroupKeyType, DeepMapGroupValueType<T, any>>;
238
- lastSortDataArray?: T[];
239
- postSortDataArray?: T[];
240
- lastGroupDataArray?: InfiniteTableEnhancedData<T>[];
241
- postGroupDataArray?: InfiniteTableEnhancedData<T>[];
242
- }
243
- export interface DataSourceComponentState<T> extends Omit<DataSourceState<T>, 'sortInfo'>, DataSourceReadOnlyState<T> {
244
263
  }
245
264
  export type DataSourceComponentActions<T> = ComponentStateActions<DataSourceState<T>>;
246
265
  export interface DataSourceContextValue<T> {
247
- getState: () => DataSourceComponentState<T>;
248
- componentState: DataSourceComponentState<T>;
266
+ getState: () => DataSourceState<T>;
267
+ componentState: DataSourceState<T>;
249
268
  componentActions: DataSourceComponentActions<T>;
250
269
  }
251
270
  export enum DataSourceActionType {
@@ -265,8 +284,9 @@ declare module "components/DataSource/DataSourceContext" {
265
284
  export function getDataSourceContext<T>(): React.Context<DataSourceContextValue<T>>;
266
285
  }
267
286
  declare module "components/DataSource/publicHooks/useDataSource" {
268
- import { DataSourceComponentState, DataSourceContextValue } from "components/DataSource/types";
269
- export function useDataSource<T>(): DataSourceComponentState<T>;
287
+ import { DataSourceContextValue } from "components/DataSource/types";
288
+ import { DataSourceState } from "components/DataSource/index";
289
+ export function useDataSource<T>(): DataSourceState<T>;
270
290
  export function useDataSourceContextValue<T>(): DataSourceContextValue<T>;
271
291
  }
272
292
  declare module "components/DataSource/privateHooks/buildDataSourceDataInfo" {
@@ -287,23 +307,31 @@ declare module "components/DataSource/state/normalizeSortInfo" {
287
307
  export const normalizeSortInfo: <T>(sortInfo?: DataSourceSortInfo<T> | undefined) => DataSourceSingleSortInfo<T>[];
288
308
  }
289
309
  declare module "components/DataSource/state/getInitialState" {
290
- import { DataSourceProps, DataSourceReadOnlyState, DataSourceState } from "components/DataSource/types";
291
- export function getInitialState<T>(params: {
292
- props: DataSourceProps<T>;
293
- }): DataSourceState<T>;
294
- export function deriveReadOnlyState<T extends any>(params: {
310
+ import { DataSourceMappedState, DataSourceProps, DataSourceDerivedState, DataSourceSetupState, DataSourceState } from "components/DataSource/types";
311
+ import { GroupRowsState } from "components/DataSource/GroupRowsState";
312
+ import { ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
313
+ export function initSetupState<T>(): DataSourceSetupState<T>;
314
+ export const forwardProps: <T>() => Partial<{
315
+ data: 1 | ((value: import("components/DataSource/types").DataSourceData<T>) => import("components/DataSource/types").DataSourceData<T>);
316
+ loading: 1 | ((value: boolean | undefined) => boolean);
317
+ remoteCount: 1 | ((value: number | undefined) => number | undefined);
318
+ primaryKey: 1 | ((value: keyof T) => keyof T);
319
+ groupRowsBy: 1 | ((value: import("components/DataSource/types").DataSourcePropGroupRowsBy<T> | undefined) => import("components/DataSource/types").DataSourcePropGroupRowsBy<T>);
320
+ groupRowsState: 1 | ((value: GroupRowsState<any> | undefined) => GroupRowsState<any>);
321
+ pivotBy: 1 | ((value: import("components/DataSource/types").DataSourcePropPivotBy<T> | undefined) => import("components/DataSource/types").DataSourcePropPivotBy<T> | undefined);
322
+ sortInfo: 1 | ((value: import("components/DataSource/types").DataSourceSortInfo<T> | undefined) => import("components/DataSource/types").DataSourceSingleSortInfo<T>[] | null);
323
+ }>;
324
+ export function mapPropsToState<T extends any>(params: {
295
325
  props: DataSourceProps<T>;
296
326
  state: DataSourceState<T>;
297
- updated: Partial<DataSourceState<T>> | null;
298
- }): DataSourceReadOnlyState<T>;
327
+ }): DataSourceDerivedState<T>;
299
328
  }
300
329
  declare module "components/DataSource/state/reducer" {
301
- import type { DataSourceState, DataSourceReadOnlyState } from "components/DataSource/types";
330
+ import type { DataSourceState, DataSourceDerivedState } from "components/DataSource/types";
302
331
  export function concludeReducer<T>(params: {
303
- previousState: DataSourceState<T> & DataSourceReadOnlyState<T>;
304
- state: DataSourceState<T> & DataSourceReadOnlyState<T>;
305
- updated: Partial<DataSourceState<T> & DataSourceReadOnlyState<T>> | null;
306
- }): DataSourceState<T> & DataSourceReadOnlyState<T>;
332
+ previousState: DataSourceState<T> & DataSourceDerivedState<T>;
333
+ state: DataSourceState<T> & DataSourceDerivedState<T>;
334
+ }): DataSourceState<T> & DataSourceDerivedState<T>;
307
335
  }
308
336
  declare module "components/DataSource/index" {
309
337
  import { DataSourceProps } from "components/DataSource/types";
@@ -360,28 +388,37 @@ declare module "components/InfiniteTable/types/Utility" {
360
388
  }
361
389
  declare module "components/InfiniteTable/types/InfiniteTableColumn" {
362
390
  import type { Renderable } from "components/types/Renderable";
363
- import type { DataSourceComponentState, DataSourcePivotBy, DataSourceSingleSortInfo } from "components/DataSource/types";
391
+ import type { DataSourcePivotBy, DataSourceSingleSortInfo, DataSourceState } from "components/DataSource/types";
364
392
  import type { DiscriminatedUnion, RequireAtLeastOne } from "components/InfiniteTable/types/Utility";
365
- import type { InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
393
+ import type { InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
366
394
  import { CSSProperties } from 'react';
367
395
  export type { DiscriminatedUnion, RequireAtLeastOne };
368
396
  export type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
369
- export interface InfiniteTableColumnRenderParams<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> {
397
+ export interface InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> {
370
398
  value: string | number | Renderable;
371
399
  data: DATA_TYPE | null;
372
- enhancedData: InfiniteTableEnhancedData<DATA_TYPE>;
400
+ rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
401
+ groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
373
402
  rowIndex: number;
374
403
  column: COL_TYPE;
375
404
  toggleCurrentGroupRow: () => void;
376
405
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
377
- groupRowsBy: DataSourceComponentState<DATA_TYPE>['groupRowsBy'];
406
+ groupRowsBy: DataSourceState<DATA_TYPE>['groupRowsBy'];
378
407
  }
408
+ export type InfiniteTableColumnRowspanFnParams<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
409
+ data: DATA_TYPE | null;
410
+ rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
411
+ groupRowInfo: InfiniteTableRowInfo<DATA_TYPE> | null;
412
+ dataArray: InfiniteTableRowInfo<DATA_TYPE>[];
413
+ rowIndex: number;
414
+ column: COL_TYPE;
415
+ };
379
416
  export interface InfiniteTableColumnHeaderRenderParams<T> {
380
417
  column: InfiniteTableComputedColumn<T>;
381
418
  columnSortInfo: DataSourceSingleSortInfo<T> | null | undefined;
382
419
  }
383
420
  export type InfiniteTableColumnPinned = 'start' | 'end' | false;
384
- export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, enhancedData, groupRowsBy: groupBy, }: InfiniteTableColumnRenderParams<DATA_TYPE, COL_TYPE>) => Renderable | null;
421
+ export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo, groupRowsBy, }: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
385
422
  export type InfiniteTableColumnHeaderRenderFunction<T> = ({ columnSortInfo, column, }: InfiniteTableColumnHeaderRenderParams<T>) => Renderable;
386
423
  export type InfiniteTableColumnWithField<T> = {
387
424
  field: keyof T;
@@ -389,6 +426,9 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
389
426
  export type InfiniteTableColumnWithRender<T> = {
390
427
  render: InfiniteTableColumnRenderFunction<T>;
391
428
  };
429
+ export type InfiniteTableColumnWithRenderValue<T> = {
430
+ renderValue: InfiniteTableColumnRenderFunction<T>;
431
+ };
392
432
  export type InfiniteTableColumnAlign = 'start' | 'center' | 'end';
393
433
  export type InfiniteTableColumnVerticalAlign = 'start' | 'center' | 'end';
394
434
  export type InfiniteTableColumnHeader<T> = Renderable | InfiniteTableColumnHeaderRenderFunction<T>;
@@ -402,15 +442,16 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
402
442
  };
403
443
  export type InfiniteTableColumnWithSize = DiscriminatedUnion<InfiniteTableColumnWithFlex, InfiniteTableColumnWithWidth>;
404
444
  export type InfiniteTableColumnTypes = 'string' | 'number' | 'date';
405
- export type InfiniteTableColumnWithRenderOrFieldOrValueGetter<T> = RequireAtLeastOne<{
445
+ export type InfiniteTableColumnWithRenderOrRenderValueOrFieldOrValueGetter<T> = RequireAtLeastOne<{
406
446
  field?: keyof T;
407
447
  render?: InfiniteTableColumnRenderFunction<T>;
448
+ renderValue?: InfiniteTableColumnRenderFunction<T>;
408
449
  valueGetter?: InfiniteTableColumnValueGetter<T>;
409
- }, 'render' | 'field' | 'valueGetter'>;
450
+ }, 'render' | 'renderValue' | 'field' | 'valueGetter'>;
410
451
  export type InfiniteTableColumnStyleFnParams<T> = {
411
452
  data: T | null;
412
453
  value: Renderable;
413
- enhancedData: InfiniteTableEnhancedData<T>;
454
+ rowInfo: InfiniteTableRowInfo<T>;
414
455
  column: InfiniteTableColumn<T>;
415
456
  };
416
457
  export type InfiniteTableColumnStyleFn<T> = (params: InfiniteTableColumnStyleFnParams<T>) => undefined | React.CSSProperties;
@@ -419,9 +460,11 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
419
460
  export type InfiniteTableColumnClassName<T> = string | InfiniteTableColumnClassNameFn<T>;
420
461
  export type InfiniteTableColumnValueGetterParams<T> = {
421
462
  data: T | null;
422
- enhancedData: InfiniteTableEnhancedData<T>;
463
+ rowInfo: InfiniteTableRowInfo<T>;
464
+ groupRowInfo: InfiniteTableRowInfo<T> | null;
423
465
  };
424
466
  export type InfiniteTableColumnValueGetter<T, VALUE_GETTER_TYPE = Renderable> = (params: InfiniteTableColumnValueGetterParams<T>) => VALUE_GETTER_TYPE;
467
+ export type InfiniteTableColumnRowspanFn<T> = (params: InfiniteTableColumnRowspanFnParams<T>) => number;
425
468
  export type InfiniteTableBaseColumn<T> = {
426
469
  maxWidth?: number;
427
470
  minWidth?: number;
@@ -437,12 +480,12 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
437
480
  type?: InfiniteTableColumnTypes;
438
481
  style?: InfiniteTableColumnStyle<T>;
439
482
  className?: InfiniteTableColumnClassName<T>;
483
+ rowspan?: InfiniteTableColumnRowspanFn<T>;
440
484
  valueGetter?: InfiniteTableColumnValueGetter<T>;
441
485
  };
442
- export type InfiniteTableColumn<T> = {} & InfiniteTableBaseColumn<T> & InfiniteTableColumnWithRenderOrFieldOrValueGetter<T> & InfiniteTableColumnWithSize;
486
+ export type InfiniteTableColumn<T> = {} & InfiniteTableBaseColumn<T> & InfiniteTableColumnWithRenderOrRenderValueOrFieldOrValueGetter<T> & InfiniteTableColumnWithSize;
443
487
  export type InfiniteTableGeneratedGroupColumn<T> = InfiniteTableColumn<T> & {
444
488
  groupByField?: string | string[];
445
- renderValue?: InfiniteTableColumnRenderFunction<T>;
446
489
  };
447
490
  export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & {
448
491
  pivotBy?: DataSourcePivotBy<T>[];
@@ -488,16 +531,19 @@ declare module "utils/groupAndPivot/index" {
488
531
  reducer: (accumulator: any, value: any, data: T) => AggregationResultType | any;
489
532
  done?: (accumulatedValue: AggregationResultType | any, array: T[]) => AggregationResultType;
490
533
  };
491
- export interface InfiniteTableEnhancedData<T> {
534
+ export interface InfiniteTableRowInfo<T> {
492
535
  id: any;
493
536
  data: T | null;
494
537
  groupData?: T[];
495
538
  value?: any;
496
539
  isGroupRow?: boolean;
497
540
  collapsed: boolean;
541
+ collapsedChildrenCount?: number;
542
+ collapsedGroupsCount?: number;
498
543
  groupNesting?: number;
499
544
  groupKeys?: any[];
500
- parentGroupKeys?: any[];
545
+ parents?: InfiniteTableEnhancedGroupInfo<T>[];
546
+ indexInParentGroups?: number[];
501
547
  indexInGroup: number;
502
548
  indexInAll: number;
503
549
  groupCount?: number;
@@ -505,11 +551,13 @@ declare module "utils/groupAndPivot/index" {
505
551
  pivotValuesMap?: PivotValuesDeepMap<T, any>;
506
552
  reducerResults?: any[];
507
553
  }
508
- export interface InfiniteTableEnhancedGroupData<T> extends InfiniteTableEnhancedData<T> {
554
+ export interface InfiniteTableEnhancedGroupInfo<T> extends InfiniteTableRowInfo<T> {
509
555
  data: null;
510
556
  groupData: T[];
511
557
  value: any;
512
558
  isGroupRow: true;
559
+ collapsedChildrenCount: number;
560
+ collapsedGroupsCount: number;
513
561
  groupNesting: number;
514
562
  groupKeys?: any[];
515
563
  groupCount: number;
@@ -550,8 +598,14 @@ declare module "utils/groupAndPivot/index" {
550
598
  };
551
599
  export function group<DataType, KeyType = any>(groupParams: GroupParams<DataType, KeyType>, data: DataType[]): DataGroupResult<DataType, KeyType>;
552
600
  export function flatten<DataType, KeyType extends any>(groupResult: DataGroupResult<DataType, KeyType>): DataType[];
553
- export function enhancedFlatten<DataType, KeyType = any>(groupResult: DataGroupResult<DataType, KeyType>, toPrimaryKey: (data: DataType) => any, groupRowsState?: GroupRowsState): {
554
- data: InfiniteTableEnhancedData<DataType>[];
601
+ export type EnhancedFlattenParam<DataType, KeyType = any> = {
602
+ groupResult: DataGroupResult<DataType, KeyType>;
603
+ toPrimaryKey: (data: DataType) => any;
604
+ groupRowsState?: GroupRowsState;
605
+ generateGroupRows: boolean;
606
+ };
607
+ export function enhancedFlatten<DataType, KeyType = any>(param: EnhancedFlattenParam<DataType, KeyType>): {
608
+ data: InfiniteTableRowInfo<DataType>[];
555
609
  };
556
610
  export type ComputedColumnsAndGroups<DataType> = {
557
611
  columns: InfiniteTablePropColumns<DataType, InfiniteTablePivotColumn<DataType>>;
@@ -559,13 +613,146 @@ declare module "utils/groupAndPivot/index" {
559
613
  };
560
614
  export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>(deepMap: DeepMap<KeyType, boolean>, pivotBy: DataSourcePivotBy<DataType>[], pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition): ComputedColumnsAndGroups<DataType>;
561
615
  }
616
+ declare module "components/InfiniteTable/theme.css" {
617
+ export const ThemeVars: import("@vanilla-extract/private").MapLeafNodes<{
618
+ color: {
619
+ /**
620
+ * Brand-specific accent color. This probably needs override to match your app.
621
+ */
622
+ accent: string;
623
+ /**
624
+ * The text color inside the component
625
+ */
626
+ color: string;
627
+ };
628
+ spacing: {
629
+ 0: string;
630
+ 1: string;
631
+ 2: string;
632
+ 3: string;
633
+ 4: string;
634
+ 5: string;
635
+ 6: string;
636
+ 7: string;
637
+ 8: string;
638
+ 9: string;
639
+ 10: string;
640
+ };
641
+ fontSize: {
642
+ 0: string;
643
+ 1: string;
644
+ 2: string;
645
+ 3: string;
646
+ 4: string;
647
+ 5: string;
648
+ 6: string;
649
+ 7: string;
650
+ };
651
+ fontFamily: string;
652
+ minHeight: string;
653
+ borderRadius: string;
654
+ background: string;
655
+ components: {
656
+ LoadMask: {
657
+ /**
658
+ * The padding used for the content inside the LoadMask.
659
+ */
660
+ padding: string;
661
+ color: string;
662
+ textBackground: string;
663
+ overlayBackground: string;
664
+ overlayOpacity: string;
665
+ borderRadius: string;
666
+ };
667
+ Header: {
668
+ background: string;
669
+ color: string;
670
+ height: string;
671
+ };
672
+ HeaderCell: {
673
+ draggingBackground: string;
674
+ background: string;
675
+ padding: string;
676
+ iconSize: string;
677
+ };
678
+ Cell: {
679
+ padding: string;
680
+ borderWidth: string;
681
+ border: string;
682
+ borderInvisible: string;
683
+ borderRadius: string;
684
+ };
685
+ Row: {
686
+ color: string;
687
+ background: string;
688
+ oddBackground: string;
689
+ hoverBackground: string;
690
+ groupRowBackground: string;
691
+ groupRowColumnNesting: string;
692
+ groupNesting: string;
693
+ pointerEventsWhileScrolling: string;
694
+ };
695
+ ColumnCell: {
696
+ background: string;
697
+ };
698
+ };
699
+ }, import("@vanilla-extract/private").CSSVarFunction>;
700
+ }
701
+ declare module "components/InfiniteTable/utilities.css" {
702
+ export const boxSizingBorderBox: string;
703
+ export const position: Record<"fixed" | "absolute" | "relative" | "sticky", string>;
704
+ export const fill: Record<"accentColor" | "currentColor", string>;
705
+ export const background: Record<"inherit", string>;
706
+ export const transformTranslateZero: string;
707
+ export const cursor: Record<"pointer", string>;
708
+ export const flex: Record<"none" | 1, string>;
709
+ export const zIndex: Record<1 | 10 | 1000 | 10000 | 100000, string>;
710
+ export const display: Record<"block" | "flex" | "inlineBlock", string>;
711
+ export const userSelect: Record<"none", string>;
712
+ export const height: Record<"0" | "100%", string>;
713
+ export const width: Record<"0" | "100%", string>;
714
+ export const top: Record<"0" | "100%", string>;
715
+ export const left: Record<"0" | "100%", string>;
716
+ export const bottom: Record<"0" | "100%", string>;
717
+ export const right: Record<"0" | "100%", string>;
718
+ export const flexFlow: Record<"column" | "row", string>;
719
+ export const alignItems: Record<"center" | "stretch", string>;
720
+ export const justifyContent: Record<"center" | "end" | "start", string>;
721
+ export const overflow: Record<"auto" | "hidden" | "visible", string>;
722
+ export const willChange: Record<"transform", string>;
723
+ export const whiteSpace: Record<"nowrap", string>;
724
+ export const textOverflow: Record<"ellipsis", string>;
725
+ export const cssEllipsisClassName: string;
726
+ export const absoluteCover: string;
727
+ }
728
+ declare module "components/InfiniteTable/components/LoadMask.css" {
729
+ export const LoadMaskCls: Record<"hidden" | "visible", string>;
730
+ export const LoadMaskOverlayCls: string;
731
+ export const LoadMaskTextCls: string;
732
+ }
733
+ declare module "components/InfiniteTable/internalProps" {
734
+ export const rootClassName = "Infinite";
735
+ export const internalProps: {
736
+ rootClassName: string;
737
+ };
738
+ }
739
+ declare module "components/InfiniteTable/components/LoadMask" {
740
+ import { Renderable } from "components/types/Renderable";
741
+ export type LoadMaskProps = {
742
+ visible: boolean;
743
+ children: Renderable;
744
+ };
745
+ function LoadMaskFn(props: LoadMaskProps): JSX.Element;
746
+ export const LoadMask: typeof LoadMaskFn;
747
+ }
562
748
  declare module "components/InfiniteTable/types/InfiniteTableProps" {
563
749
  import * as React from 'react';
564
750
  import { InfiniteTableState } from "components/InfiniteTable/types/index";
565
- import { AggregationReducer, InfiniteTableEnhancedData } from "utils/groupAndPivot/index";
751
+ import { AggregationReducer, InfiniteTableRowInfo } from "utils/groupAndPivot/index";
566
752
  import { DataSourceGroupRowsBy, DataSourcePropGroupRowsBy, DataSourcePropPivotBy, DataSourceState } from "components/DataSource/index";
567
753
  import { Renderable } from "components/types/Renderable";
568
- import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableColumnWithSize, InfiniteTableComputedColumn, InfiniteTableGeneratedGroupColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
754
+ import { LoadMaskProps } from "components/InfiniteTable/components/LoadMask";
755
+ import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableColumnWithSize, InfiniteTableComputedColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
569
756
  import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
570
757
  export type InfiniteTablePropColumnOrderNormalized = string[];
571
758
  export type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormalized | true;
@@ -573,7 +760,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
573
760
  export type InfiniteTablePropColumnPinning = Map<string, true | 'start' | 'end'>;
574
761
  export type InfiniteTableRowStyleFnParams<T> = {
575
762
  data: T | null;
576
- enhancedData: InfiniteTableEnhancedData<T>;
763
+ rowInfo: InfiniteTableRowInfo<T>;
577
764
  rowIndex: number;
578
765
  groupRowsBy?: (keyof T)[];
579
766
  };
@@ -599,7 +786,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
599
786
  ___t?: T;
600
787
  };
601
788
  export type InfiniteTablePropColumns<T, ColumnType = InfiniteTableColumn<T>> = Map<string, ColumnType>;
602
- export type InfiniteTableGeneratedColumns<T> = Map<string, InfiniteTableGeneratedGroupColumn<T>>;
789
+ export type InfiniteTableColumns<T> = InfiniteTablePropColumns<T>;
603
790
  export type InfiniteTablePropColumnGroups = Map<string, InfiniteTableColumnGroup>;
604
791
  /**
605
792
  * the keys is an array of strings: first string in the array is the column group id, next strings are the ids of all columns in the group
@@ -633,7 +820,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
633
820
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
634
821
  pivotBy: DataSourcePropPivotBy<T>;
635
822
  };
636
- export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column';
823
+ export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column' | 'inline';
637
824
  export type InfiniteTableGroupColumnBase<T> = InfiniteTableBaseColumn<T> & InfiniteTableColumnWithSize & {
638
825
  renderValue?: InfiniteTableColumnRenderFunction<T>;
639
826
  };
@@ -643,14 +830,20 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
643
830
  export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | ((options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>);
644
831
  export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: PivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
645
832
  export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
646
- export type InfiniteTableProps<T> = {
833
+ export type InfiniteTablePropComponents = {
834
+ LoadMask?: React.FC<LoadMaskProps>;
835
+ };
836
+ export interface InfiniteTableProps<T> {
647
837
  columns: InfiniteTablePropColumns<T>;
648
838
  pivotColumns?: InfiniteTablePropColumns<T, InfiniteTablePivotColumn<T>>;
839
+ loadingText?: Renderable;
840
+ components?: InfiniteTablePropComponents;
649
841
  pivotColumn?: Partial<InfiniteTablePropPivotColumn<T>>;
650
842
  pivotRowLabelsColumn?: Partial<InfiniteTablePropPivotRowLabelsColumn<T>>;
651
843
  pivotTotalColumnPosition?: InfiniteTablePropPivotTotalColumnPosition;
652
844
  groupColumn?: Partial<InfiniteTablePropGroupColumn<T>>;
653
845
  groupRenderStrategy?: InfiniteTablePropGroupRenderStrategy;
846
+ hideEmptyGroupColumns?: boolean;
654
847
  columnVisibility?: InfiniteTablePropColumnVisibility;
655
848
  defaultColumnVisibility?: InfiniteTablePropColumnVisibility;
656
849
  columnPinning?: InfiniteTablePropColumnPinning;
@@ -671,21 +864,36 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
671
864
  headerHeight: number | string;
672
865
  domProps?: React.HTMLProps<HTMLDivElement>;
673
866
  showZebraRows?: boolean;
867
+ showHoverRows?: boolean;
674
868
  sortable?: boolean;
675
869
  draggableColumns?: boolean;
676
870
  header?: boolean;
871
+ focusedClassName?: string;
872
+ focusedWithinClassName?: string;
873
+ focusedStyle?: React.CSSProperties;
874
+ focusedWithinStyle?: React.CSSProperties;
677
875
  columnDefaultWidth?: number;
678
876
  columnMinWidth?: number;
679
877
  columnMaxWidth?: number;
680
878
  virtualizeColumns?: InfiniteTablePropVirtualizeColumns<T>;
681
879
  virtualizeRows?: boolean;
880
+ defaultActiveIndex?: number;
881
+ activeIndex?: number;
882
+ onSelfFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;
883
+ onSelfBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;
884
+ onFocusWithin?: (event: React.FocusEvent<HTMLDivElement>) => void;
885
+ onBlurWithin?: (event: React.FocusEvent<HTMLDivElement>) => void;
886
+ onScrollToTop?: () => void;
887
+ onScrollToBottom?: () => void;
888
+ scrollToBottomOffset?: number;
682
889
  defaultColumnOrder?: InfiniteTablePropColumnOrder;
683
890
  columnOrder?: InfiniteTablePropColumnOrder;
684
891
  onColumnOrderChange?: (columnOrder: InfiniteTablePropColumnOrder) => void;
892
+ onRowHeightChange?: (rowHeight: number) => void;
685
893
  onReady?: (api: InfiniteTableImperativeApi<T>) => void;
686
894
  rowProps?: React.HTMLProps<HTMLDivElement> | ((rowArgs: InfiniteTableRowStyleFnParams<T>) => React.HTMLProps<HTMLDivElement>);
687
895
  licenseKey?: string;
688
- };
896
+ }
689
897
  }
690
898
  declare module "components/types/Size" {
691
899
  export interface Size {
@@ -721,80 +929,105 @@ declare module "components/VirtualBrain/ScrollListener" {
721
929
  }
722
930
  declare module "components/InfiniteTable/types/InfiniteTableState" {
723
931
  import type { ScrollPosition } from "components/types/ScrollPosition";
724
- import type { InfiniteTableColumnGroup, InfiniteTableGeneratedColumns, InfiniteTablePropCollapsedColumnGroups, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility, InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
932
+ import type { InfiniteTableColumnGroup, InfiniteTableColumns, InfiniteTablePropColumnGroups, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
725
933
  import { Size } from "components/types/Size";
726
- import { ComponentStateActions } from "components/hooks/useComponentState";
727
934
  import { MutableRefObject } from 'react';
728
935
  import { SubscriptionCallback } from "components/types/SubscriptionCallback";
729
936
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
730
- export interface InfiniteTableState<T> {
937
+ import { NonUndefined } from "components/types/NonUndefined";
938
+ import { InfiniteTableColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
939
+ import { ComponentStateActions } from "components/hooks/useComponentState";
940
+ import { DataSourceGroupRowsBy, DataSourceProps } from "components/DataSource/types";
941
+ export type GroupRowsMap<T> = Map<keyof T, {
942
+ groupBy: DataSourceGroupRowsBy<T>;
943
+ groupIndex: number;
944
+ }>;
945
+ export interface InfiniteTableSetupState<T> {
946
+ columnsWhenInlineGroupRenderStrategy?: Map<string, InfiniteTableColumn<T>>;
731
947
  domRef: MutableRefObject<HTMLDivElement | null>;
732
- bodyDOMRef: MutableRefObject<HTMLDivElement | null>;
948
+ scrollerDOMRef: MutableRefObject<HTMLDivElement | null>;
733
949
  portalDOMRef: MutableRefObject<HTMLDivElement | null>;
734
- bodySizeRef: MutableRefObject<Size | null>;
735
- onRowHeightChange: SubscriptionCallback<number>;
736
- onHeaderHeightChange: SubscriptionCallback<number>;
737
- rowHeightComputed: number;
738
- headerHeight: number;
739
- columnShifts: null | number[];
740
- draggingColumnId: null | string;
950
+ onRowHeightCSSVarChange: SubscriptionCallback<number>;
951
+ onHeaderHeightCSSVarChange: SubscriptionCallback<number>;
952
+ columnsWhenGrouping?: InfiniteTableColumns<T>;
741
953
  bodySize: Size;
954
+ focused: boolean;
955
+ focusedWithin: boolean;
742
956
  scrollPosition: ScrollPosition;
743
- columnOrder: InfiniteTablePropColumnOrder;
744
- columnVisibility: InfiniteTablePropColumnVisibility;
745
- columnPinning: InfiniteTablePropColumnPinning;
746
- columnAggregations: InfiniteTablePropColumnAggregations<T>;
747
- columnGroups: InfiniteTablePropColumnGroups;
748
- collapsedColumnGroups: InfiniteTablePropCollapsedColumnGroups;
749
- columnGroupsDepthsMap: InfiniteTableColumnGroupsDepthsMap;
750
- columnGroupsMaxDepth: number;
751
- columns: InfiniteTableProps<T>['columns'];
752
- pivotColumns: InfiniteTableProps<T>['pivotColumns'];
753
- computedPivotColumns: InfiniteTableProps<T>['pivotColumns'];
754
- pivotColumnGroups?: InfiniteTablePropColumnGroups;
755
- computedColumnGroups: InfiniteTablePropColumnGroups;
756
- generatedColumns: InfiniteTableGeneratedColumns<T>;
957
+ draggingColumnId: null | string;
757
958
  pinnedStartScrollListener: ScrollListener;
758
959
  pinnedEndScrollListener: ScrollListener;
759
- x?: T;
960
+ computedPivotColumns?: Map<string, InfiniteTablePivotColumn<T>>;
961
+ columnShifts: number[] | null;
760
962
  }
761
963
  export type InfiniteTableComputedColumnGroup = InfiniteTableColumnGroup & {
762
964
  depth: number;
763
965
  };
764
966
  export type InfiniteTableColumnGroupsDepthsMap = Map<string, number>;
765
- export interface InfiniteTableComponentState<T> extends InfiniteTableState<T>, InfiniteTableReadOnlyState<T> {
766
- }
767
967
  export type InfiniteTablePropPivotTotalColumnPosition = false | 'start' | 'end';
768
- export interface InfiniteTableReadOnlyState<T> {
769
- groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
770
- pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
968
+ export interface InfiniteTableMappedState<T> {
969
+ groupColumn: InfiniteTableProps<T>['groupColumn'];
970
+ loadingText: InfiniteTableProps<T>['loadingText'];
971
+ components: InfiniteTableProps<T>['components'];
972
+ columns: InfiniteTableProps<T>['columns'];
973
+ pivotColumns: InfiniteTableProps<T>['pivotColumns'];
771
974
  onReady: InfiniteTableProps<T>['onReady'];
772
- rowProps: InfiniteTableProps<T>['rowProps'];
975
+ onSelfFocus: InfiniteTableProps<T>['onSelfFocus'];
976
+ onSelfBlur: InfiniteTableProps<T>['onSelfBlur'];
977
+ onFocusWithin: InfiniteTableProps<T>['onFocusWithin'];
978
+ onBlurWithin: InfiniteTableProps<T>['onBlurWithin'];
979
+ onScrollToTop: InfiniteTableProps<T>['onScrollToTop'];
980
+ onScrollToBottom: InfiniteTableProps<T>['onScrollToBottom'];
981
+ scrollToBottomOffset: InfiniteTableProps<T>['scrollToBottomOffset'];
982
+ focusedClassName: InfiniteTableProps<T>['focusedClassName'];
983
+ focusedWithinClassName: InfiniteTableProps<T>['focusedWithinClassName'];
984
+ focusedStyle: InfiniteTableProps<T>['focusedStyle'];
985
+ focusedWithinStyle: InfiniteTableProps<T>['focusedWithinStyle'];
986
+ domProps: InfiniteTableProps<T>['domProps'];
773
987
  rowStyle: InfiniteTableProps<T>['rowStyle'];
988
+ rowProps: InfiniteTableProps<T>['rowProps'];
774
989
  rowClassName: InfiniteTableProps<T>['rowClassName'];
775
- groupColumn: InfiniteTableProps<T>['groupColumn'];
776
- pivotColumn: InfiniteTableProps<T>['pivotColumn'];
777
- pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
778
990
  pinnedStartMaxWidth: InfiniteTableProps<T>['pinnedStartMaxWidth'];
779
991
  pinnedEndMaxWidth: InfiniteTableProps<T>['pinnedEndMaxWidth'];
780
- showZebraRows: InfiniteTableProps<T>['showZebraRows'];
781
- header: InfiniteTableProps<T>['header'];
782
- columnMinWidth: InfiniteTableProps<T>['columnMinWidth'];
783
- columnMaxWidth: InfiniteTableProps<T>['columnMaxWidth'];
784
- columnDefaultWidth: InfiniteTableProps<T>['columnDefaultWidth'];
785
- sortable: InfiniteTableProps<T>['sortable'];
786
- virtualizeColumns: InfiniteTableProps<T>['virtualizeColumns'];
992
+ pivotColumn: InfiniteTableProps<T>['pivotColumn'];
993
+ pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
994
+ pivotColumnGroups: InfiniteTableProps<T>['pivotColumnGroups'];
995
+ activeIndex: NonUndefined<InfiniteTableProps<T>['activeIndex']>;
996
+ columnMinWidth: NonUndefined<InfiniteTableProps<T>['columnMinWidth']>;
997
+ columnMaxWidth: NonUndefined<InfiniteTableProps<T>['columnMaxWidth']>;
998
+ columnDefaultWidth: NonUndefined<InfiniteTableProps<T>['columnDefaultWidth']>;
999
+ draggableColumns: NonUndefined<InfiniteTableProps<T>['draggableColumns']>;
1000
+ sortable: NonUndefined<InfiniteTableProps<T>['sortable']>;
1001
+ hideEmptyGroupColumns: NonUndefined<InfiniteTableProps<T>['hideEmptyGroupColumns']>;
1002
+ columnOrder: NonUndefined<InfiniteTableProps<T>['columnOrder']>;
1003
+ showZebraRows: NonUndefined<InfiniteTableProps<T>['showZebraRows']>;
1004
+ showHoverRows: NonUndefined<InfiniteTableProps<T>['showHoverRows']>;
1005
+ header: NonUndefined<InfiniteTableProps<T>['header']>;
1006
+ virtualizeColumns: NonUndefined<InfiniteTableProps<T>['virtualizeColumns']>;
1007
+ rowHeight: number;
1008
+ headerHeight: number;
1009
+ licenseKey: NonUndefined<InfiniteTableProps<T>['licenseKey']>;
1010
+ columnVisibility: NonUndefined<InfiniteTableProps<T>['columnVisibility']>;
1011
+ columnPinning: NonUndefined<InfiniteTableProps<T>['columnPinning']>;
1012
+ columnAggregations: NonUndefined<InfiniteTableProps<T>['columnAggregations']>;
1013
+ columnGroups: NonUndefined<InfiniteTableProps<T>['columnGroups']>;
1014
+ collapsedColumnGroups: NonUndefined<InfiniteTableProps<T>['collapsedColumnGroups']>;
1015
+ pivotTotalColumnPosition: NonUndefined<InfiniteTableProps<T>['pivotTotalColumnPosition']>;
1016
+ }
1017
+ export interface InfiniteTableDerivedState<T> {
1018
+ groupRowsBy: DataSourceProps<T>['groupRowsBy'];
1019
+ computedColumns: Map<string, InfiniteTableColumn<T>>;
787
1020
  virtualizeHeader: boolean;
788
- licenseKey: string;
789
- domProps: InfiniteTableProps<T>['domProps'];
790
- draggableColumns: boolean;
1021
+ groupRenderStrategy: NonUndefined<InfiniteTableProps<T>['groupRenderStrategy']>;
791
1022
  columnGroupsDepthsMap: InfiniteTableColumnGroupsDepthsMap;
792
1023
  columnGroupsMaxDepth: number;
793
1024
  computedColumnGroups: InfiniteTablePropColumnGroups;
794
1025
  rowHeightCSSVar: string;
795
1026
  headerHeightCSSVar: string;
796
1027
  }
797
- export type InfiniteTableComponentActions<T> = ComponentStateActions<InfiniteTableState<T>>;
1028
+ export type InfiniteTableActions<T> = ComponentStateActions<InfiniteTableState<T>>;
1029
+ export interface InfiniteTableState<T> extends InfiniteTableMappedState<T>, InfiniteTableDerivedState<T>, InfiniteTableSetupState<T> {
1030
+ }
798
1031
  }
799
1032
  declare module "components/InfiniteTable/types/InfiniteTableActionType" {
800
1033
  export enum InfiniteTableActionType {
@@ -842,36 +1075,26 @@ declare module "components/InfiniteTable/types/InfiniteTableComputedValues" {
842
1075
  }
843
1076
  }
844
1077
  declare module "components/InfiniteTable/types/InfiniteTableContextValue" {
845
- import { InfiniteTableComponentActions, InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
1078
+ import { InfiniteTableActions, InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
846
1079
  import { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
847
1080
  export interface InfiniteTableContextValue<T> {
848
- componentState: InfiniteTableComponentState<T>;
849
- componentActions: InfiniteTableComponentActions<T>;
1081
+ componentState: InfiniteTableState<T>;
1082
+ componentActions: InfiniteTableActions<T>;
850
1083
  computed: InfiniteTableComputedValues<T>;
851
1084
  getComputed: () => InfiniteTableComputedValues<T>;
852
- getState: () => InfiniteTableComponentState<T>;
1085
+ getState: () => InfiniteTableState<T>;
853
1086
  }
854
1087
  }
855
1088
  declare module "components/InfiniteTable/types/index" {
856
1089
  import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
857
1090
  import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
858
1091
  import type { InfiniteTableActionType } from "components/InfiniteTable/types/InfiniteTableActionType";
859
- import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns } from "components/InfiniteTable/types/InfiniteTableProps";
860
- import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParams } from "components/InfiniteTable/types/InfiniteTableColumn";
1092
+ import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropComponents } from "components/InfiniteTable/types/InfiniteTableProps";
1093
+ import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam } from "components/InfiniteTable/types/InfiniteTableColumn";
861
1094
  import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
862
1095
  import type { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
863
- import type { InfiniteTableEnhancedData } from "utils/groupAndPivot/index";
864
- export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTableEnhancedData, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParams, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, };
865
- }
866
- declare module "utils/join" {
867
- const join: (...args: (string | number | void | null)[]) => string;
868
- export { join };
869
- }
870
- declare module "components/InfiniteTable/internalProps" {
871
- export const rootClassName = "ITable";
872
- export const internalProps: {
873
- rootClassName: string;
874
- };
1096
+ import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
1097
+ export type { InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTableRowInfo, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, };
875
1098
  }
876
1099
  declare module "components/InfiniteTable/InfiniteTableContext" {
877
1100
  import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
@@ -888,18 +1111,70 @@ declare module "components/InfiniteTable/state/computeColumnGroupsDepths" {
888
1111
  }
889
1112
  declare module "components/InfiniteTable/state/getInitialState" {
890
1113
  import { DataSourceState } from "components/DataSource/index";
1114
+ import { ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
891
1115
  import { InfiniteTableProps, InfiniteTableState } from "components/InfiniteTable/types/index";
892
- import { InfiniteTableReadOnlyState } from "components/InfiniteTable/types/InfiniteTableState";
893
- export function getInitialState<T>(params: {
894
- props: InfiniteTableProps<T>;
895
- parentState: DataSourceState<T>;
896
- }): InfiniteTableState<T>;
897
- export function deriveReadOnlyState<T>(params: {
1116
+ import { InfiniteTablePropGroupColumn } from "components/InfiniteTable/types/InfiniteTableProps";
1117
+ import { InfiniteTableSetupState, InfiniteTableDerivedState, InfiniteTableMappedState } from "components/InfiniteTable/types/InfiniteTableState";
1118
+ /**
1119
+ * The computed state is independent from props and cannot
1120
+ * be affected by props
1121
+ */
1122
+ export function initSetupState<T>(): InfiniteTableSetupState<T>;
1123
+ export const forwardProps: <T>() => Partial<{
1124
+ columns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types").InfiniteTableColumn<T>>) => import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types").InfiniteTableColumn<T>>);
1125
+ header: 1 | ((value: boolean | undefined) => boolean);
1126
+ pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
1127
+ pivotColumns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined);
1128
+ pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined);
1129
+ sortable: 1 | ((value: boolean | undefined) => boolean);
1130
+ pivotColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined);
1131
+ components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
1132
+ groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
1133
+ loadingText: 1 | ((value: import("components/types/Renderable").Renderable) => import("components/types/Renderable").Renderable);
1134
+ onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
1135
+ onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1136
+ onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1137
+ onFocusWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1138
+ onBlurWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1139
+ onScrollToTop: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
1140
+ onScrollToBottom: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
1141
+ scrollToBottomOffset: 1 | ((value: number | undefined) => number | undefined);
1142
+ focusedClassName: 1 | ((value: string | undefined) => string | undefined);
1143
+ focusedWithinClassName: 1 | ((value: string | undefined) => string | undefined);
1144
+ focusedStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
1145
+ focusedWithinStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
1146
+ domProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | undefined) => import("react").HTMLProps<HTMLDivElement> | undefined);
1147
+ rowStyle: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined);
1148
+ rowProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | ((rowArgs: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTableRowStyleFnParams<T>) => import("react").HTMLProps<HTMLDivElement>) | undefined) => import("react").HTMLProps<HTMLDivElement> | ((rowArgs: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTableRowStyleFnParams<T>) => import("react").HTMLProps<HTMLDivElement>) | undefined);
1149
+ rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
1150
+ pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
1151
+ pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
1152
+ pivotRowLabelsColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T>> | undefined);
1153
+ activeIndex: 1 | ((value: number | undefined) => number);
1154
+ columnMinWidth: 1 | ((value: number | undefined) => number);
1155
+ columnMaxWidth: 1 | ((value: number | undefined) => number);
1156
+ columnDefaultWidth: 1 | ((value: number | undefined) => number);
1157
+ draggableColumns: 1 | ((value: boolean | undefined) => boolean);
1158
+ hideEmptyGroupColumns: 1 | ((value: boolean | undefined) => boolean);
1159
+ columnOrder: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnOrder | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnOrder);
1160
+ showZebraRows: 1 | ((value: boolean | undefined) => boolean);
1161
+ showHoverRows: 1 | ((value: boolean | undefined) => boolean);
1162
+ virtualizeColumns: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T>);
1163
+ licenseKey: 1 | ((value: string | undefined) => string);
1164
+ columnVisibility: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility);
1165
+ columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnPinning);
1166
+ columnAggregations: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T>);
1167
+ columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups);
1168
+ collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
1169
+ rowHeight: 1 | ((value: string | number) => number);
1170
+ headerHeight: 1 | ((value: string | number) => number);
1171
+ }>;
1172
+ export const mapPropsToState: <T>(params: {
898
1173
  props: InfiniteTableProps<T>;
899
1174
  state: InfiniteTableState<T>;
900
- updated: Partial<InfiniteTableState<T>> | null;
1175
+ oldState: InfiniteTableState<T> | null;
901
1176
  parentState: DataSourceState<T>;
902
- }): InfiniteTableReadOnlyState<T>;
1177
+ }) => InfiniteTableDerivedState<T>;
903
1178
  }
904
1179
  declare module "components/ResizeObserver/index" {
905
1180
  import * as React from 'react';
@@ -977,13 +1252,14 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
977
1252
  import type { InfiniteTableColumn, InfiniteTableComputedColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
978
1253
  import type { Size } from "components/types/Size";
979
1254
  import type { DataSourceSingleSortInfo } from "components/DataSource/types";
980
- import type { InfiniteTableGeneratedColumns, InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1255
+ import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
981
1256
  export type SortInfoMap<T> = {
982
1257
  [key: string]: {
983
1258
  sortInfo: DataSourceSingleSortInfo<T>;
984
1259
  index: number;
985
1260
  };
986
1261
  };
1262
+ export const IS_GROUP_COLUMN_ID: (columnId: string) => boolean;
987
1263
  export type GetComputedVisibleColumnsResult<T> = {
988
1264
  computedRemainingSpace: number;
989
1265
  computedPinnedStartColumnsWidth: number;
@@ -1005,7 +1281,6 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
1005
1281
  };
1006
1282
  type GetComputedVisibleColumnsParam<T> = {
1007
1283
  columns: Map<string, InfiniteTableColumn<T>>;
1008
- generatedColumns: InfiniteTableGeneratedColumns<T>;
1009
1284
  bodySize: Size;
1010
1285
  columnMinWidth?: number;
1011
1286
  columnMaxWidth?: number;
@@ -1022,7 +1297,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
1022
1297
  columnVisibility: InfiniteTablePropColumnVisibility;
1023
1298
  columnVisibilityAssumeVisible: boolean;
1024
1299
  };
1025
- export const getComputedVisibleColumns: <T extends unknown>({ columns, generatedColumns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, pinnedStartMaxWidth, pinnedEndMaxWidth, sortable, sortInfo, setSortInfo, multiSort, draggableColumns, columnOrder, columnPinning, columnVisibility, columnVisibilityAssumeVisible, }: GetComputedVisibleColumnsParam<T>) => GetComputedVisibleColumnsResult<T>;
1300
+ export const getComputedVisibleColumns: <T extends unknown>({ columns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, pinnedStartMaxWidth, pinnedEndMaxWidth, sortable, sortInfo, setSortInfo, multiSort, draggableColumns, columnOrder, columnPinning, columnVisibility, columnVisibilityAssumeVisible, }: GetComputedVisibleColumnsParam<T>) => GetComputedVisibleColumnsResult<T>;
1026
1301
  }
1027
1302
  declare module "components/hooks/useRerender" {
1028
1303
  export const useRerender: () => [number, () => void];
@@ -1044,7 +1319,7 @@ declare module "components/hooks/useInterceptedMap" {
1044
1319
  export function useInterceptedMap<K, V>(map: Map<K, V>, fns: InterceptedMapFns<K, V>): void;
1045
1320
  }
1046
1321
  declare module "components/InfiniteTable/utils/rafFn" {
1047
- export const rafFn: (fn: () => void) => () => void;
1322
+ export const rafFn: (fn: (...args: any[]) => void) => (...args: any[]) => void;
1048
1323
  }
1049
1324
  declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
1050
1325
  export const useRerenderOnKeyChange: <K extends unknown, V extends unknown>(map: Map<K, V>) => number;
@@ -1052,12 +1327,11 @@ declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
1052
1327
  declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1053
1328
  import type { DataSourceSingleSortInfo } from "components/DataSource/types";
1054
1329
  import type { InfiniteTableColumn } from "components/InfiniteTable/types/index";
1055
- import type { InfiniteTableGeneratedColumns, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1330
+ import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1056
1331
  import type { Size } from "components/types/Size";
1057
1332
  import type { GetComputedVisibleColumnsResult } from "components/InfiniteTable/utils/getComputedVisibleColumns";
1058
1333
  type UseComputedVisibleColumnsParam<T> = {
1059
1334
  columns: Map<string, InfiniteTableColumn<T>>;
1060
- generatedColumns: InfiniteTableGeneratedColumns<T>;
1061
1335
  bodySize: Size;
1062
1336
  columnMinWidth?: number;
1063
1337
  columnMaxWidth?: number;
@@ -1091,7 +1365,7 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1091
1365
  computedPinnedStartWidth: GetComputedVisibleColumnsResult<T>['computedPinnedStartWidth'];
1092
1366
  computedColumnOrder: GetComputedVisibleColumnsResult<T>['computedColumnOrder'];
1093
1367
  };
1094
- export const useComputedVisibleColumns: <T extends unknown>({ columns, generatedColumns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, sortable, draggableColumns, sortInfo, multiSort, setSortInfo, columnOrder, columnPinning, pinnedEndMaxWidth, pinnedStartMaxWidth, columnVisibility, columnVisibilityAssumeVisible, }: UseComputedVisibleColumnsParam<T>) => UseComputedVisibleColumnsResult<T>;
1368
+ export const useComputedVisibleColumns: <T extends unknown>({ columns, bodySize, columnMinWidth, columnMaxWidth, columnDefaultWidth, sortable, draggableColumns, sortInfo, multiSort, setSortInfo, columnOrder, columnPinning, pinnedEndMaxWidth, pinnedStartMaxWidth, columnVisibility, columnVisibilityAssumeVisible, }: UseComputedVisibleColumnsParam<T>) => UseComputedVisibleColumnsResult<T>;
1095
1369
  }
1096
1370
  declare module "components/DataSource/publicHooks/useDataSourceActions" {
1097
1371
  import { DataSourceComponentActions } from "components/DataSource/types";
@@ -1103,89 +1377,9 @@ declare module "components/InfiniteTable/hooks/useColumnAggregations" {
1103
1377
  declare module "components/InfiniteTable/hooks/useColumnGroups" {
1104
1378
  export function useColumnGroups<T>(): void;
1105
1379
  }
1106
- declare module "style/utilities" {
1107
- export const ICSS: {
1108
- variables: {
1109
- space: [string, string, string, string, string, string, string, string, string, string, string];
1110
- borderRadius: string;
1111
- fontSize: [string, string, string, string, string, string, string, string];
1112
- };
1113
- alignItems: {
1114
- center: string;
1115
- stretch: string;
1116
- };
1117
- justifyContent: {
1118
- center: string;
1119
- 'flex-start': string;
1120
- flexStart: string;
1121
- 'flex-end': string;
1122
- flexEnd: string;
1123
- };
1124
- overflow: {
1125
- hidden: string;
1126
- visible: string;
1127
- auto: string;
1128
- };
1129
- overflowX: {
1130
- hidden: string;
1131
- visible: string;
1132
- auto: string;
1133
- };
1134
- overflowY: {
1135
- hidden: string;
1136
- visible: string;
1137
- auto: string;
1138
- };
1139
- cursor: {
1140
- pointer: string;
1141
- };
1142
- height: {
1143
- 0: string;
1144
- '100%': string;
1145
- };
1146
- width: {
1147
- 0: string;
1148
- '100%': string;
1149
- };
1150
- top: {
1151
- 0: string;
1152
- '100%': string;
1153
- };
1154
- left: {
1155
- 0: string;
1156
- '100%': string;
1157
- };
1158
- transform: {
1159
- translate3D000: string;
1160
- };
1161
- willChange: {
1162
- transform: string;
1163
- };
1164
- position: {
1165
- relative: string;
1166
- absolute: string;
1167
- fixed: string;
1168
- };
1169
- display: {
1170
- flex: string;
1171
- };
1172
- flexFlow: {
1173
- row: string;
1174
- column: string;
1175
- };
1176
- whiteSpace: {
1177
- nowrap: string;
1178
- };
1179
- textOverflow: {
1180
- ellipsis: string;
1181
- };
1182
- userSelect: {
1183
- none: string;
1184
- };
1185
- };
1186
- }
1187
- declare module "style/css" {
1188
- export const cssEllipsisClassName: string;
1380
+ declare module "utils/join" {
1381
+ const join: (...args: (string | number | void | null)[]) => string;
1382
+ export { join };
1189
1383
  }
1190
1384
  declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1191
1385
  import * as React from 'react';
@@ -1202,37 +1396,81 @@ declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1202
1396
  declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
1203
1397
  import { DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
1204
1398
  import { InfiniteTableProps } from "components/InfiniteTable/types/index";
1205
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
1399
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1206
1400
  export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
1207
1401
  toggleGroupRow: (groupKeys: any[]) => void;
1208
1402
  pivotColumn: InfiniteTableProps<T>['pivotColumn'];
1209
1403
  pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
1210
- pivotTotalColumnPosition: InfiniteTableComponentState<T>['pivotTotalColumnPosition'];
1404
+ pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
1211
1405
  pivotBy: DataSourcePropPivotBy<T>;
1212
1406
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
1213
1407
  }): InfiniteTableProps<T>['pivotColumns'];
1214
1408
  }
1409
+ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1410
+ export const RowHoverCls: string;
1411
+ export const RowClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1412
+ zebra: {
1413
+ false: {};
1414
+ even: {
1415
+ background: import("@vanilla-extract/private").CSSVarFunction;
1416
+ };
1417
+ odd: {
1418
+ background: import("@vanilla-extract/private").CSSVarFunction;
1419
+ };
1420
+ };
1421
+ groupRow: {
1422
+ true: {
1423
+ zIndex: number;
1424
+ };
1425
+ false: {};
1426
+ };
1427
+ inlineGroupRow: {
1428
+ true: {
1429
+ zIndex: number;
1430
+ };
1431
+ false: {};
1432
+ };
1433
+ showHoverRows: {
1434
+ true: {};
1435
+ false: {};
1436
+ };
1437
+ }>;
1438
+ export const GroupRowExpanderCls: string;
1439
+ }
1215
1440
  declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
1441
+ import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
1216
1442
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1217
1443
  import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
1218
- import { GroupColumnGetterOptions, InfiniteTablePropGroupColumn } from "components/InfiniteTable/types/InfiniteTableProps";
1444
+ import { GroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
1445
+ export function getGroupColumnRender<T>({ groupIndex, groupRenderStrategy, toggleGroupRow, }: {
1446
+ toggleGroupRow: (groupRowKeys: any[]) => void;
1447
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1448
+ groupIndex: number;
1449
+ }): (renderOptions: InfiniteTableColumnRenderParam<T>) => import("components/types/Renderable").Renderable;
1219
1450
  export function getColumnForGroupBy<T>(options: GroupColumnGetterOptions<T> & {
1220
1451
  groupIndex: number;
1221
1452
  groupBy: DataSourceGroupRowsBy<T>;
1453
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1222
1454
  }, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1223
1455
  export function getSingleGroupColumn<T>(options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1224
1456
  }
1225
- declare module "components/InfiniteTable/hooks/useGeneratedGroupAndPivotColumns" {
1457
+ declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
1458
+ export type ToggleGrouRowFn = (groupKeys: any[]) => void;
1459
+ export function useToggleGroupRow<T>(): ToggleGrouRowFn;
1460
+ }
1461
+ declare module "components/InfiniteTable/hooks/useColumnsWhen" {
1462
+ import { InfiniteTableColumn } from "components/InfiniteTable/index";
1226
1463
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1227
- import { InfiniteTableGeneratedColumns, InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
1228
- export function useGeneratedGroupAndPivotColumns<T>(): void;
1229
- export function getGeneratedGroupColumns<T>(params: {
1464
+ import { InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
1465
+ export function useColumnsWhen<T>(): void;
1466
+ export function getColumnsWhenGrouping<T>(params: {
1467
+ columns: Map<string, InfiniteTableColumn<T>>;
1230
1468
  groupRowsBy: DataSourceGroupRowsBy<T>[];
1231
1469
  toggleGroupRow: (groupKeys: any[]) => void;
1232
1470
  groupColumn: InfiniteTableProps<T>['groupColumn'];
1233
1471
  groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1234
1472
  pivotColumns: InfiniteTableProps<T>['pivotColumns'];
1235
- }): InfiniteTableGeneratedColumns<T>;
1473
+ }): Map<string, InfiniteTableColumn<T>> | undefined;
1236
1474
  }
1237
1475
  declare module "components/InfiniteTable/hooks/useComputed" {
1238
1476
  import { InfiniteTableComputedValues } from "components/InfiniteTable/types/index";
@@ -1267,6 +1505,9 @@ declare module "components/VirtualBrain/index" {
1267
1505
  export type VirtualBrainOptions = {
1268
1506
  mainAxis: MainAxisOptions;
1269
1507
  itemSize: MainAxisSize;
1508
+ itemSpan?: ({ itemIndex }: {
1509
+ itemIndex: number;
1510
+ }) => number;
1270
1511
  count: number;
1271
1512
  name?: string;
1272
1513
  };
@@ -1282,6 +1523,8 @@ declare module "components/VirtualBrain/index" {
1282
1523
  export class VirtualBrain extends Logger {
1283
1524
  private scrollPosition;
1284
1525
  private scrollPositionOnMainAxis;
1526
+ private itemSpanParent;
1527
+ private itemSpanValue;
1285
1528
  private itemSizeCache;
1286
1529
  private itemOffsetCache;
1287
1530
  private options;
@@ -1316,10 +1559,19 @@ declare module "components/VirtualBrain/index" {
1316
1559
  onTotalSizeChange: (fn: OnSizeChangeFn) => () => void;
1317
1560
  onRenderCountChange: (fn: OnRenderCountChangeFn) => () => void;
1318
1561
  onRenderRangeChange: (fn: OnRenderRangeChangeFn) => () => void;
1319
- update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize']) => void;
1562
+ update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize'], newItemSpan?: VirtualBrainOptions['itemSpan']) => void;
1320
1563
  private reset;
1564
+ private computeItemSpanUpTo;
1321
1565
  private computeCacheFor;
1322
1566
  private getItemSizeCacheFor;
1567
+ getItemSpan: (itemIndex: number) => number;
1568
+ getItemSpanParent: (itemIndex: number) => number;
1569
+ getItemSizeWithSpan: (itemIndex: number, itemSpan: number) => number;
1570
+ /**
1571
+ * For now, this doesn't take into account the itemspan, and it's okay not to
1572
+ * @param itemIndex
1573
+ * @returns the size of the specified item
1574
+ */
1323
1575
  getItemSize: (itemIndex: number) => number;
1324
1576
  getTotalSize: () => number;
1325
1577
  getItemAt: (scrollPos: number) => number;
@@ -1338,6 +1590,198 @@ declare module "components/InfiniteTable/components/ScrollbarPlaceholder" {
1338
1590
  }): JSX.Element | null;
1339
1591
  export const VerticalScrollbarPlaceholder: React.MemoExoticComponent<typeof VerticalScrollbarPlaceholderFn>;
1340
1592
  }
1593
+ declare module "components/InfiniteTable/InfiniteCls.css" {
1594
+ export const InfiniteCls: string;
1595
+ export const InfiniteClsScrolling: string;
1596
+ export const InfiniteClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1597
+ focused: {
1598
+ true: {};
1599
+ false: {};
1600
+ };
1601
+ focusedWithin: {
1602
+ true: {};
1603
+ false: {};
1604
+ };
1605
+ hasPinnedStart: {
1606
+ true: {};
1607
+ false: {};
1608
+ };
1609
+ hasPinnedEnd: {
1610
+ true: {};
1611
+ false: {};
1612
+ };
1613
+ hasPinnedStartOverflow: {
1614
+ true: {};
1615
+ false: {};
1616
+ };
1617
+ hasPinnedEndOverflow: {
1618
+ true: {};
1619
+ false: {};
1620
+ };
1621
+ }>;
1622
+ export const PinnedRowsClsVariants: Record<"overflow" | "pinnedStart" | "pinnedEnd", string>;
1623
+ export const PinnedRowsContainerClsVariants: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1624
+ pinned: {
1625
+ start: {
1626
+ borderRight: import("@vanilla-extract/private").CSSVarFunction[];
1627
+ };
1628
+ end: {
1629
+ borderLeft: import("@vanilla-extract/private").CSSVarFunction[];
1630
+ };
1631
+ false: {};
1632
+ };
1633
+ }>;
1634
+ export const InfiniteClsShiftingColumns: string;
1635
+ export const FooterCls: string;
1636
+ }
1637
+ declare module "components/InfiniteTable/components/cell.css" {
1638
+ export const columnAlignCellStyle: Record<"center" | "end" | "start", string>;
1639
+ export const CellBorderObject: {
1640
+ borderLeft: string;
1641
+ borderRight: string;
1642
+ };
1643
+ export const CellClsVariants: Record<"shifting" | "dragging", string>;
1644
+ export const CellCls: string;
1645
+ export const ColumnCellVariantsObject: {
1646
+ first: {
1647
+ borderTopLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1648
+ borderBottomLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1649
+ };
1650
+ last: {
1651
+ borderTopRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1652
+ borderBottomRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1653
+ };
1654
+ groupByField: {};
1655
+ firstInCategory: {};
1656
+ lastInCategory: {};
1657
+ pinnedStart: {};
1658
+ pinnedEnd: {};
1659
+ unpinned: {};
1660
+ pinnedStartLastInCategory: {
1661
+ borderRight: import("@vanilla-extract/private").CSSVarFunction;
1662
+ vars: {
1663
+ [x: string]: import("@vanilla-extract/private").CSSVarFunction;
1664
+ };
1665
+ };
1666
+ pinnedEndFirstInCategory: {
1667
+ borderLeft: import("@vanilla-extract/private").CSSVarFunction;
1668
+ vars: {
1669
+ [x: string]: import("@vanilla-extract/private").CSSVarFunction;
1670
+ };
1671
+ };
1672
+ };
1673
+ export const ColumnCellRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1674
+ dragging: {
1675
+ false: {};
1676
+ };
1677
+ first: {
1678
+ true: {
1679
+ borderTopLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1680
+ borderBottomLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1681
+ };
1682
+ false: {};
1683
+ };
1684
+ last: {
1685
+ true: {
1686
+ borderTopRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1687
+ borderBottomRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1688
+ };
1689
+ false: {};
1690
+ };
1691
+ groupByField: {
1692
+ true: {};
1693
+ false: {};
1694
+ };
1695
+ firstInCategory: {
1696
+ true: {};
1697
+ false: {};
1698
+ };
1699
+ lastInCategory: {
1700
+ true: {};
1701
+ false: {};
1702
+ };
1703
+ pinned: {
1704
+ start: {};
1705
+ end: {};
1706
+ false: {};
1707
+ };
1708
+ }>;
1709
+ }
1710
+ declare module "components/InfiniteTable/components/InfiniteTableHeader/header.css" {
1711
+ import { RecipeVariants } from '@vanilla-extract/recipes';
1712
+ import { CellCls, CellClsVariants } from "components/InfiniteTable/components/cell.css";
1713
+ export { CellCls, CellClsVariants };
1714
+ export const HeaderCellProxy: string;
1715
+ export const HeaderSortIconCls: string;
1716
+ export const HeaderClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1717
+ pinned: {
1718
+ start: {};
1719
+ end: {};
1720
+ false: {};
1721
+ };
1722
+ virtualized: {
1723
+ true: {};
1724
+ false: {
1725
+ position: "relative";
1726
+ overflow: "hidden";
1727
+ };
1728
+ };
1729
+ overflow: {
1730
+ true: {
1731
+ zIndex: number;
1732
+ };
1733
+ false: {};
1734
+ };
1735
+ }>;
1736
+ export const HeaderCellRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1737
+ dragging: {
1738
+ true: {
1739
+ zIndex: number;
1740
+ opacity: number;
1741
+ background: import("@vanilla-extract/private").CSSVarFunction;
1742
+ };
1743
+ false: {};
1744
+ };
1745
+ first: {
1746
+ true: {
1747
+ borderTopLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1748
+ borderBottomLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1749
+ };
1750
+ false: {};
1751
+ };
1752
+ last: {
1753
+ true: {
1754
+ borderTopRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1755
+ borderBottomRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1756
+ };
1757
+ false: {};
1758
+ };
1759
+ groupByField: {
1760
+ true: {};
1761
+ false: {};
1762
+ };
1763
+ firstInCategory: {
1764
+ true: {};
1765
+ false: {};
1766
+ };
1767
+ lastInCategory: {
1768
+ true: {};
1769
+ false: {};
1770
+ };
1771
+ pinned: {
1772
+ start: {
1773
+ zIndex: number;
1774
+ };
1775
+ end: {};
1776
+ false: {};
1777
+ };
1778
+ }>;
1779
+ export type HeaderCellVariantsType = RecipeVariants<typeof HeaderCellRecipe>;
1780
+ export const HeaderWrapperCls: string;
1781
+ export const HeaderGroupCls: string;
1782
+ export const HeaderGroup_Header: string;
1783
+ export const HeaderGroup_Children: string;
1784
+ }
1341
1785
  declare module "components/InfiniteTable/hooks/useInfiniteTableState" {
1342
1786
  import { InfiniteTableState } from "components/InfiniteTable/types/index";
1343
1787
  export const useInfiniteTableState: <T>() => InfiniteTableState<T>;
@@ -1347,7 +1791,7 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1347
1791
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/index";
1348
1792
  import { Renderable } from "components/types/Renderable";
1349
1793
  import { OnResizeFn } from "components/types/Size";
1350
- import { InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
1794
+ import { InfiniteTableRowInfo, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/index";
1351
1795
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1352
1796
  export interface InfiniteTableCellProps<T> {
1353
1797
  column: InfiniteTableComputedColumn<T>;
@@ -1364,9 +1808,13 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1364
1808
  }
1365
1809
  export interface InfiniteTableColumnCellProps<T> extends Omit<InfiniteTableCellProps<T>, 'children'> {
1366
1810
  virtualized: boolean;
1367
- enhancedData: InfiniteTableEnhancedData<T>;
1811
+ hidden: boolean;
1812
+ rowInfo: InfiniteTableRowInfo<T>;
1813
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1814
+ getData: () => InfiniteTableRowInfo<T>[];
1368
1815
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1369
1816
  rowIndex: number;
1817
+ rowHeight: number;
1370
1818
  }
1371
1819
  export interface InfiniteTableHeaderCellProps<T> extends Omit<InfiniteTableCellProps<T>, 'children'> {
1372
1820
  columns: Map<string, InfiniteTableComputedColumn<T>>;
@@ -1407,8 +1855,11 @@ declare module "components/InfiniteTable/hooks/useColumnPointerEvents" {
1407
1855
  };
1408
1856
  }
1409
1857
  declare module "components/InfiniteTable/hooks/useCellClassName" {
1858
+ import { HeaderCellVariantsType } from "components/InfiniteTable/components/InfiniteTableHeader/header.css";
1410
1859
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1411
- export function useCellClassName<T>(column: InfiniteTableComputedColumn<T>, baseClasses: string[]): string;
1860
+ export function useCellClassName<T>(column: InfiniteTableComputedColumn<T>, baseClasses: string[], variants: (x: HeaderCellVariantsType) => string, extraFlags: {
1861
+ dragging: boolean;
1862
+ }): string;
1412
1863
  }
1413
1864
  declare module "components/InfiniteTable/components/icons/SortIcon" {
1414
1865
  import * as React from 'react';
@@ -1432,6 +1883,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1432
1883
  import { Renderable } from "components/types/Renderable";
1433
1884
  import { VirtualBrain } from "components/VirtualBrain/index";
1434
1885
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1886
+ import { InfiniteTableColumnPinned } from "components/InfiniteTable/types/InfiniteTableColumn";
1435
1887
  import { InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
1436
1888
  export type InfiniteTableHeaderProps<T> = {
1437
1889
  repaintId?: string | number;
@@ -1439,6 +1891,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1439
1891
  columns: InfiniteTableComputedColumn<T>[];
1440
1892
  totalWidth: number;
1441
1893
  availableWidth: number;
1894
+ pinning: InfiniteTableColumnPinned;
1442
1895
  };
1443
1896
  export type InfiniteTableHeaderGroupProps<T> = {
1444
1897
  columns: InfiniteTableComputedColumn<T>[];
@@ -1448,7 +1901,6 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1448
1901
  headerHeight: number;
1449
1902
  };
1450
1903
  export type InfiniteTableHeaderUnvirtualizedProps<T> = Omit<InfiniteTableHeaderProps<T>, 'repaintId' | 'brain'> & {
1451
- classNameModifiers?: string[];
1452
1904
  brain?: VirtualBrain;
1453
1905
  scrollListener?: ScrollListener;
1454
1906
  scrollable?: boolean;
@@ -1462,11 +1914,19 @@ declare module "components/RawList/types" {
1462
1914
  domRef: RefCallback<HTMLElement>;
1463
1915
  itemIndex: number;
1464
1916
  itemSize: number;
1917
+ itemSizeWithSpan: number;
1918
+ itemSpan: number;
1919
+ spanParent: number;
1920
+ covered: boolean;
1465
1921
  };
1466
1922
  export type RenderItem = (renderProps: RenderItemParam) => Renderable;
1923
+ export type RawListItemSpan = (itemSpanProps: {
1924
+ itemIndex: number;
1925
+ }) => number;
1467
1926
  export type RawListProps = {
1468
1927
  debugChannel?: string;
1469
1928
  renderItem: RenderItem;
1929
+ itemSpan?: RawListItemSpan;
1470
1930
  brain: VirtualBrain;
1471
1931
  repaintId?: string | number;
1472
1932
  };
@@ -1551,8 +2011,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1551
2011
  export const InfiniteTableHeader: typeof InfiniteTableHeaderFn;
1552
2012
  }
1553
2013
  declare module "components/InfiniteTable/components/InfiniteTableHeader/buildColumnAndGroupTree" {
1554
- import { InfiniteTableColumnGroup, InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1555
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2014
+ import { InfiniteTableColumnGroup, InfiniteTableComputedColumn, InfiniteTableState } from "components/InfiniteTable/types/index";
1556
2015
  export type ColGroupTreeBaseItem = {
1557
2016
  id: string;
1558
2017
  groupOffset: number;
@@ -1571,7 +2030,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/buildCol
1571
2030
  columnItems: ColGroupTreeColumnItem<T>[];
1572
2031
  };
1573
2032
  export type ColGroupTreeItem<T> = ColGroupTreeColumnItem<T> | ColGroupTreeGroupItem<T>;
1574
- export function buildColumnAndGroupTree<T>(columns: InfiniteTableComputedColumn<T>[], columnGroups: InfiniteTableComponentState<T>['columnGroups'], columnGroupsDepthsMap: InfiniteTableComponentState<T>['columnGroupsDepthsMap']): ColGroupTreeItem<T>[];
2033
+ export function buildColumnAndGroupTree<T>(columns: InfiniteTableComputedColumn<T>[], columnGroups: InfiniteTableState<T>['columnGroups'], columnGroupsDepthsMap: InfiniteTableState<T>['columnGroupsDepthsMap']): ColGroupTreeItem<T>[];
1575
2034
  }
1576
2035
  declare module "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup" {
1577
2036
  import { InfiniteTableHeaderGroupProps } from "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderTypes";
@@ -1580,10 +2039,10 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1580
2039
  }
1581
2040
  declare module "components/InfiniteTable/components/InfiniteTableHeader/renderColumnHeaderGroups" {
1582
2041
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1583
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2042
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1584
2043
  type BuildColumnHeaderGroupsConfig<T> = {
1585
- columnGroups: InfiniteTableComponentState<T>['columnGroups'];
1586
- columnGroupsDepthsMap: InfiniteTableComponentState<T>['columnGroupsDepthsMap'];
2044
+ columnGroups: InfiniteTableState<T>['columnGroups'];
2045
+ columnGroupsDepthsMap: InfiniteTableState<T>['columnGroupsDepthsMap'];
1587
2046
  columnGroupsMaxDepth: number;
1588
2047
  columns: InfiniteTableComputedColumn<T>[];
1589
2048
  headerHeight: number;
@@ -1618,11 +2077,35 @@ declare module "components/hooks/useOnScroll" {
1618
2077
  }) => void;
1619
2078
  export const useOnScroll: (domRef: RefObject<HTMLElement>, onScroll: OnScroll | undefined) => void;
1620
2079
  }
2080
+ declare module "components/VirtualScrollContainer/VirtualScrollContainer.css" {
2081
+ export const VirtualScrollContainerCls: string;
2082
+ export const ScrollableCls: {
2083
+ true: string;
2084
+ false: string;
2085
+ visible: string;
2086
+ auto: string;
2087
+ hidden: string;
2088
+ };
2089
+ export const ScrollableHorizontalCls: {
2090
+ true: string;
2091
+ false: string;
2092
+ visible: string;
2093
+ auto: string;
2094
+ hidden: string;
2095
+ };
2096
+ export const ScrollableVerticalCls: {
2097
+ true: string;
2098
+ false: string;
2099
+ visible: string;
2100
+ auto: string;
2101
+ hidden: string;
2102
+ };
2103
+ }
1621
2104
  declare module "components/VirtualScrollContainer/getScrollableClassName" {
1622
- import { ICSS } from "style/utilities";
1623
- export type Scrollable = boolean | keyof typeof ICSS['overflow'] | {
1624
- vertical: boolean | keyof typeof ICSS['overflow'];
1625
- horizontal: boolean | keyof typeof ICSS['overflow'];
2105
+ type ScrollType = 'hidden' | 'visible' | 'auto';
2106
+ export type Scrollable = boolean | ScrollType | {
2107
+ vertical: boolean | ScrollType;
2108
+ horizontal: boolean | ScrollType;
1626
2109
  };
1627
2110
  export const getScrollableClassName: (scrollable: Scrollable) => string;
1628
2111
  }
@@ -1630,7 +2113,7 @@ declare module "components/VirtualScrollContainer/index" {
1630
2113
  import * as React from 'react';
1631
2114
  import { CSSProperties } from 'react';
1632
2115
  import { Scrollable } from "components/VirtualScrollContainer/getScrollableClassName";
1633
- import { Renderable } from "components/types/Renderable";
2116
+ import type { Renderable } from "components/types/Renderable";
1634
2117
  export type { Scrollable };
1635
2118
  export interface VirtualScrollContainerProps {
1636
2119
  className?: string;
@@ -1700,6 +2183,11 @@ declare module "components/VirtualList/types" {
1700
2183
  export type RenderRow = (renderProps: RenderRowParam) => Renderable;
1701
2184
  export type RenderColumn = (renderProps: RenderColumnParam) => Renderable;
1702
2185
  }
2186
+ declare module "components/VirtualList/VirtualList.css" {
2187
+ export const VirtualListCls: string;
2188
+ export const VirtualListClsOrientation: Record<"horizontal" | "vertical", string>;
2189
+ export const scrollTransformTargetCls: string;
2190
+ }
1703
2191
  declare module "components/VirtualList/VirtualList" {
1704
2192
  import { HTMLProps } from 'react';
1705
2193
  import type { VirtualListProps } from "components/VirtualList/types";
@@ -1713,19 +2201,22 @@ declare module "components/VirtualList/VirtualRowList" {
1713
2201
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes" {
1714
2202
  import type { VirtualBrain } from "components/VirtualBrain/index";
1715
2203
  import type { ScrollPosition } from "components/types/ScrollPosition";
1716
- import type { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
2204
+ import type { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
1717
2205
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1718
2206
  export interface InfiniteTableRowProps<T> {
1719
2207
  rowHeight: number;
1720
2208
  rowWidth: number;
1721
2209
  rowIndex: number;
1722
2210
  brain: VirtualBrain;
2211
+ verticalBrain: VirtualBrain;
1723
2212
  domRef: React.RefCallback<HTMLElement>;
1724
- enhancedData: InfiniteTableEnhancedData<T>;
2213
+ rowInfo: InfiniteTableRowInfo<T>;
2214
+ getData: () => InfiniteTableRowInfo<T>[];
1725
2215
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1726
2216
  repaintId?: number | string;
1727
2217
  virtualizeColumns: boolean;
1728
2218
  showZebraRows?: boolean;
2219
+ showHoverRows?: boolean;
1729
2220
  columns: InfiniteTableComputedColumn<T>[];
1730
2221
  domProps?: React.HTMLAttributes<HTMLDivElement>;
1731
2222
  }
@@ -1735,24 +2226,28 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1735
2226
  }
1736
2227
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnCell" {
1737
2228
  import { InfiniteTableColumnCellProps } from "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCellTypes";
1738
- function InfiniteTableColumnCellFn<T>(props: InfiniteTableColumnCellProps<T>): JSX.Element;
2229
+ function InfiniteTableColumnCellFn<T>(props: InfiniteTableColumnCellProps<T>): JSX.Element | null;
1739
2230
  export const InfiniteTableColumnCell: typeof InfiniteTableColumnCellFn;
1740
2231
  }
1741
2232
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowClassName" {
1742
2233
  export const InfiniteTableRowClassName: string;
1743
2234
  export const InfiniteTableRowClassName__hover: string;
1744
2235
  }
2236
+ declare module "utils/stripVar" {
2237
+ export function stripVar(cssVariableWithVarString: string): string;
2238
+ }
1745
2239
  declare module "components/InfiniteTable/components/InfiniteTableRow/useRowDOMProps" {
1746
2240
  import { MutableRefObject, RefCallback } from 'react';
1747
2241
  import type { InfiniteTableRowProps } from "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes";
1748
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2242
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1749
2243
  export type TableRowHTMLAttributes = React.HTMLAttributes<HTMLDivElement> & {
1750
2244
  'data-virtualize-columns': 'on' | 'off';
2245
+ 'data-hover-index': number;
1751
2246
  'data-row-index': number;
1752
2247
  'data-row-id': string;
1753
2248
  ref: RefCallback<HTMLElement | null>;
1754
- };
1755
- export function useRowDOMProps<T>(props: InfiniteTableRowProps<T>, rowProps: InfiniteTableComponentState<T>['rowProps'], rowStyle: InfiniteTableComponentState<T>['rowStyle'], rowClassName: InfiniteTableComponentState<T>['rowClassName'], tableDOMRef: MutableRefObject<HTMLDivElement | null>): {
2249
+ } & any;
2250
+ export function useRowDOMProps<T>(props: InfiniteTableRowProps<T>, rowProps: InfiniteTableState<T>['rowProps'], rowStyle: InfiniteTableState<T>['rowStyle'], rowClassName: InfiniteTableState<T>['rowClassName'], groupRenderStrategy: InfiniteTableState<T>['groupRenderStrategy'], tableDOMRef: MutableRefObject<HTMLDivElement | null>): {
1756
2251
  domProps: TableRowHTMLAttributes;
1757
2252
  domRef: MutableRefObject<HTMLElement | null>;
1758
2253
  };
@@ -1773,19 +2268,20 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1773
2268
  import { VirtualBrain } from "components/VirtualBrain/index";
1774
2269
  function TableRowUnvirtualizedFn<T>(props: InfiniteTableRowProps<T> & {
1775
2270
  brain: VirtualBrain | null | undefined;
2271
+ verticalBrain: VirtualBrain;
1776
2272
  }): JSX.Element;
1777
2273
  export const TableRowUnvirtualized: typeof TableRowUnvirtualizedFn;
1778
2274
  }
1779
2275
  declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1780
2276
  import type { VirtualBrain } from "components/VirtualBrain/index";
1781
2277
  import type { Size } from "components/types/Size";
1782
- import type { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
1783
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2278
+ import type { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
2279
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1784
2280
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1785
2281
  type UnpinnedRenderingParams<T> = {
1786
2282
  columnShifts: number[] | null;
1787
2283
  bodySize: Size;
1788
- getData: () => InfiniteTableEnhancedData<T>[];
2284
+ getData: () => InfiniteTableRowInfo<T>[];
1789
2285
  rowHeight: number;
1790
2286
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1791
2287
  repaintId: string | number;
@@ -1799,18 +2295,16 @@ declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1799
2295
  computedUnpinnedColumnsWidth: number;
1800
2296
  computedPinnedStartWidth: number;
1801
2297
  computedPinnedEndWidth: number;
1802
- getState: () => InfiniteTableComponentState<T>;
2298
+ getState: () => InfiniteTableState<T>;
1803
2299
  };
1804
2300
  export function useUnpinnedRendering<T>(params: UnpinnedRenderingParams<T>): JSX.Element | null;
1805
2301
  }
1806
2302
  declare module "components/InfiniteTable/hooks/useOnContainerScroll" {
1807
- import { MutableRefObject } from 'react';
1808
- import type { ScrollPosition } from "components/types/ScrollPosition";
1809
2303
  import { VirtualBrain } from "components/VirtualBrain/index";
1810
- export const useOnContainerScroll: ({ verticalVirtualBrain, horizontalVirtualBrain, domRef, }: {
2304
+ export const useOnContainerScroll: <T>({ verticalVirtualBrain, horizontalVirtualBrain, reservedContentHeight, }: {
1811
2305
  verticalVirtualBrain: VirtualBrain;
1812
2306
  horizontalVirtualBrain: VirtualBrain;
1813
- domRef: MutableRefObject<HTMLDivElement | null>;
2307
+ reservedContentHeight: number;
1814
2308
  }) => {
1815
2309
  applyScrollHorizontal: ({ scrollLeft }: {
1816
2310
  scrollLeft: number;
@@ -1818,7 +2312,6 @@ declare module "components/InfiniteTable/hooks/useOnContainerScroll" {
1818
2312
  applyScrollVertical: ({ scrollTop }: {
1819
2313
  scrollTop: number;
1820
2314
  }) => void;
1821
- scrollPositionRef: MutableRefObject<ScrollPosition>;
1822
2315
  };
1823
2316
  }
1824
2317
  declare module "components/hooks/useOnMount" {
@@ -1829,6 +2322,9 @@ declare module "components/hooks/useOnMount" {
1829
2322
  };
1830
2323
  export function useOnMount(domRef: RefObject<HTMLElement>, props: OnMountProps): void;
1831
2324
  }
2325
+ declare module "components/VirtualList/InfiniteListRootClassName" {
2326
+ export const InfiniteListRootClassName = "InfiniteList";
2327
+ }
1832
2328
  declare module "components/VirtualList/RowListWithExternalScrolling" {
1833
2329
  import { CSSProperties } from 'react';
1834
2330
  import { VirtualBrain } from "components/VirtualBrain/index";
@@ -1847,15 +2343,15 @@ declare module "components/VirtualList/RowListWithExternalScrolling" {
1847
2343
  }
1848
2344
  declare module "components/InfiniteTable/hooks/usePinnedRendering" {
1849
2345
  import { VirtualBrain } from "components/VirtualBrain/index";
1850
- import { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
2346
+ import { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
1851
2347
  import type { Size } from "components/types/Size";
1852
2348
  import type { RenderRow } from "components/VirtualList/types";
1853
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2349
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1854
2350
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1855
2351
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1856
2352
  type UsePinnedParams<T> = {
1857
- getState: () => InfiniteTableComponentState<T>;
1858
- getData: () => InfiniteTableEnhancedData<T>[];
2353
+ getState: () => InfiniteTableState<T>;
2354
+ getData: () => InfiniteTableRowInfo<T>[];
1859
2355
  bodySize: Size;
1860
2356
  pinnedStartScrollListener: ScrollListener;
1861
2357
  pinnedEndScrollListener: ScrollListener;
@@ -1901,7 +2397,7 @@ declare module "components/InfiniteTable/hooks/useColumnSizeFn" {
1901
2397
  }
1902
2398
  declare module "components/InfiniteTable/hooks/useYourBrain" {
1903
2399
  import { Size } from "components/types/Size";
1904
- import { VirtualBrain } from "components/VirtualBrain/index";
2400
+ import { VirtualBrain, VirtualBrainOptions } from "components/VirtualBrain/index";
1905
2401
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1906
2402
  type UseYourBrainParam<T = any> = {
1907
2403
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
@@ -1910,6 +2406,7 @@ declare module "components/InfiniteTable/hooks/useYourBrain" {
1910
2406
  dataArray: any[];
1911
2407
  rowHeight: number;
1912
2408
  bodySize: Size;
2409
+ rowSpan?: VirtualBrainOptions['itemSpan'];
1913
2410
  };
1914
2411
  export function useYourBrain<T = any>(param: UseYourBrainParam<T>): {
1915
2412
  horizontalVirtualBrain: VirtualBrain;
@@ -2006,6 +2503,374 @@ declare module "components/CSSVariableWatch" {
2006
2503
  }) => void;
2007
2504
  export const CSSVariableWatch: (props: CSSVariableWatcherProps) => JSX.Element;
2008
2505
  }
2506
+ declare module "components/InfiniteTable/hooks/useDOMProps" {
2507
+ import { FocusEvent } from 'react';
2508
+ export function useDOMProps<T>(initialDOMProps?: React.HTMLProps<HTMLDivElement>): {
2509
+ onFocus: (event: FocusEvent<HTMLDivElement>) => void;
2510
+ onBlur: (event: FocusEvent<HTMLDivElement>) => void;
2511
+ accept?: string | undefined;
2512
+ acceptCharset?: string | undefined;
2513
+ action?: string | undefined;
2514
+ allowFullScreen?: boolean | undefined;
2515
+ allowTransparency?: boolean | undefined;
2516
+ alt?: string | undefined;
2517
+ as?: string | undefined;
2518
+ async?: boolean | undefined;
2519
+ autoComplete?: string | undefined;
2520
+ autoFocus?: boolean | undefined;
2521
+ autoPlay?: boolean | undefined;
2522
+ capture?: string | boolean | undefined;
2523
+ cellPadding?: string | number | undefined;
2524
+ cellSpacing?: string | number | undefined;
2525
+ charSet?: string | undefined;
2526
+ challenge?: string | undefined;
2527
+ checked?: boolean | undefined;
2528
+ cite?: string | undefined;
2529
+ classID?: string | undefined;
2530
+ cols?: number | undefined;
2531
+ colSpan?: number | undefined;
2532
+ content?: string | undefined;
2533
+ controls?: boolean | undefined;
2534
+ coords?: string | undefined;
2535
+ crossOrigin?: string | undefined;
2536
+ data?: string | undefined;
2537
+ dateTime?: string | undefined;
2538
+ default?: boolean | undefined;
2539
+ defer?: boolean | undefined;
2540
+ disabled?: boolean | undefined;
2541
+ download?: any;
2542
+ encType?: string | undefined;
2543
+ form?: string | undefined;
2544
+ formAction?: string | undefined;
2545
+ formEncType?: string | undefined;
2546
+ formMethod?: string | undefined;
2547
+ formNoValidate?: boolean | undefined;
2548
+ formTarget?: string | undefined;
2549
+ frameBorder?: string | number | undefined;
2550
+ headers?: string | undefined;
2551
+ height?: string | number | undefined;
2552
+ high?: number | undefined;
2553
+ href?: string | undefined;
2554
+ hrefLang?: string | undefined;
2555
+ htmlFor?: string | undefined;
2556
+ httpEquiv?: string | undefined;
2557
+ integrity?: string | undefined;
2558
+ keyParams?: string | undefined;
2559
+ keyType?: string | undefined;
2560
+ kind?: string | undefined;
2561
+ label?: string | undefined;
2562
+ list?: string | undefined;
2563
+ loop?: boolean | undefined;
2564
+ low?: number | undefined;
2565
+ manifest?: string | undefined;
2566
+ marginHeight?: number | undefined;
2567
+ marginWidth?: number | undefined;
2568
+ max?: string | number | undefined;
2569
+ maxLength?: number | undefined;
2570
+ media?: string | undefined;
2571
+ mediaGroup?: string | undefined;
2572
+ method?: string | undefined;
2573
+ min?: string | number | undefined;
2574
+ minLength?: number | undefined;
2575
+ multiple?: boolean | undefined;
2576
+ muted?: boolean | undefined;
2577
+ name?: string | undefined;
2578
+ nonce?: string | undefined;
2579
+ noValidate?: boolean | undefined;
2580
+ open?: boolean | undefined;
2581
+ optimum?: number | undefined;
2582
+ pattern?: string | undefined;
2583
+ placeholder?: string | undefined;
2584
+ playsInline?: boolean | undefined;
2585
+ poster?: string | undefined;
2586
+ preload?: string | undefined;
2587
+ readOnly?: boolean | undefined;
2588
+ rel?: string | undefined;
2589
+ required?: boolean | undefined;
2590
+ reversed?: boolean | undefined;
2591
+ rows?: number | undefined;
2592
+ rowSpan?: number | undefined;
2593
+ sandbox?: string | undefined;
2594
+ scope?: string | undefined;
2595
+ scoped?: boolean | undefined;
2596
+ scrolling?: string | undefined;
2597
+ seamless?: boolean | undefined;
2598
+ selected?: boolean | undefined;
2599
+ shape?: string | undefined;
2600
+ size?: number | undefined;
2601
+ sizes?: string | undefined;
2602
+ span?: number | undefined;
2603
+ src?: string | undefined;
2604
+ srcDoc?: string | undefined;
2605
+ srcLang?: string | undefined;
2606
+ srcSet?: string | undefined;
2607
+ start?: number | undefined;
2608
+ step?: string | number | undefined;
2609
+ summary?: string | undefined;
2610
+ target?: string | undefined;
2611
+ type?: string | undefined;
2612
+ useMap?: string | undefined;
2613
+ value?: string | number | readonly string[] | undefined;
2614
+ width?: string | number | undefined;
2615
+ wmode?: string | undefined;
2616
+ wrap?: string | undefined;
2617
+ defaultChecked?: boolean | undefined;
2618
+ defaultValue?: string | number | readonly string[] | undefined;
2619
+ suppressContentEditableWarning?: boolean | undefined;
2620
+ suppressHydrationWarning?: boolean | undefined;
2621
+ accessKey?: string | undefined;
2622
+ className?: string | undefined;
2623
+ contentEditable?: "inherit" | (boolean | "false" | "true") | undefined;
2624
+ contextMenu?: string | undefined;
2625
+ dir?: string | undefined;
2626
+ draggable?: (boolean | "false" | "true") | undefined;
2627
+ hidden?: boolean | undefined;
2628
+ id?: string | undefined;
2629
+ lang?: string | undefined;
2630
+ slot?: string | undefined;
2631
+ spellCheck?: (boolean | "false" | "true") | undefined;
2632
+ style?: import("react").CSSProperties | undefined;
2633
+ tabIndex: number;
2634
+ title?: string | undefined;
2635
+ translate?: "yes" | "no" | undefined;
2636
+ radioGroup?: string | undefined;
2637
+ role?: import("react").AriaRole | undefined;
2638
+ about?: string | undefined;
2639
+ datatype?: string | undefined;
2640
+ inlist?: any;
2641
+ prefix?: string | undefined;
2642
+ property?: string | undefined;
2643
+ resource?: string | undefined;
2644
+ typeof?: string | undefined;
2645
+ vocab?: string | undefined;
2646
+ autoCapitalize?: string | undefined;
2647
+ autoCorrect?: string | undefined;
2648
+ autoSave?: string | undefined;
2649
+ color?: string | undefined;
2650
+ itemProp?: string | undefined;
2651
+ itemScope?: boolean | undefined;
2652
+ itemType?: string | undefined;
2653
+ itemID?: string | undefined;
2654
+ itemRef?: string | undefined;
2655
+ results?: number | undefined;
2656
+ security?: string | undefined;
2657
+ unselectable?: "on" | "off" | undefined;
2658
+ inputMode?: "search" | "numeric" | "none" | "url" | "text" | "decimal" | "tel" | "email" | undefined;
2659
+ is?: string | undefined;
2660
+ 'aria-activedescendant'?: string | undefined;
2661
+ 'aria-atomic'?: boolean | "false" | "true" | undefined;
2662
+ 'aria-autocomplete'?: "inline" | "both" | "none" | "list" | undefined;
2663
+ 'aria-busy'?: boolean | "false" | "true" | undefined;
2664
+ 'aria-checked'?: boolean | "mixed" | "false" | "true" | undefined;
2665
+ 'aria-colcount'?: number | undefined;
2666
+ 'aria-colindex'?: number | undefined;
2667
+ 'aria-colspan'?: number | undefined;
2668
+ 'aria-controls'?: string | undefined;
2669
+ 'aria-current'?: boolean | "location" | "time" | "false" | "page" | "true" | "step" | "date" | undefined;
2670
+ 'aria-describedby'?: string | undefined;
2671
+ 'aria-details'?: string | undefined;
2672
+ 'aria-disabled'?: boolean | "false" | "true" | undefined;
2673
+ 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
2674
+ 'aria-errormessage'?: string | undefined;
2675
+ 'aria-expanded'?: boolean | "false" | "true" | undefined;
2676
+ 'aria-flowto'?: string | undefined;
2677
+ 'aria-grabbed'?: boolean | "false" | "true" | undefined;
2678
+ 'aria-haspopup'?: boolean | "grid" | "dialog" | "menu" | "false" | "listbox" | "true" | "tree" | undefined;
2679
+ 'aria-hidden'?: boolean | "false" | "true" | undefined;
2680
+ 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
2681
+ 'aria-keyshortcuts'?: string | undefined;
2682
+ 'aria-label'?: string | undefined;
2683
+ 'aria-labelledby'?: string | undefined;
2684
+ 'aria-level'?: number | undefined;
2685
+ 'aria-live'?: "off" | "assertive" | "polite" | undefined;
2686
+ 'aria-modal'?: boolean | "false" | "true" | undefined;
2687
+ 'aria-multiline'?: boolean | "false" | "true" | undefined;
2688
+ 'aria-multiselectable'?: boolean | "false" | "true" | undefined;
2689
+ 'aria-orientation'?: "horizontal" | "vertical" | undefined;
2690
+ 'aria-owns'?: string | undefined;
2691
+ 'aria-placeholder'?: string | undefined;
2692
+ 'aria-posinset'?: number | undefined;
2693
+ 'aria-pressed'?: boolean | "mixed" | "false" | "true" | undefined;
2694
+ 'aria-readonly'?: boolean | "false" | "true" | undefined;
2695
+ 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
2696
+ 'aria-required'?: boolean | "false" | "true" | undefined;
2697
+ 'aria-roledescription'?: string | undefined;
2698
+ 'aria-rowcount'?: number | undefined;
2699
+ 'aria-rowindex'?: number | undefined;
2700
+ 'aria-rowspan'?: number | undefined;
2701
+ 'aria-selected'?: boolean | "false" | "true" | undefined;
2702
+ 'aria-setsize'?: number | undefined;
2703
+ 'aria-sort'?: "none" | "other" | "ascending" | "descending" | undefined;
2704
+ 'aria-valuemax'?: number | undefined;
2705
+ 'aria-valuemin'?: number | undefined;
2706
+ 'aria-valuenow'?: number | undefined;
2707
+ 'aria-valuetext'?: string | undefined;
2708
+ children?: import("react").ReactNode;
2709
+ dangerouslySetInnerHTML?: {
2710
+ __html: string;
2711
+ } | undefined;
2712
+ onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2713
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2714
+ onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2715
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2716
+ onPaste?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2717
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2718
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2719
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2720
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2721
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2722
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2723
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2724
+ onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
2725
+ onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
2726
+ onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2727
+ onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2728
+ onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2729
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2730
+ onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2731
+ onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2732
+ onReset?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2733
+ onResetCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2734
+ onSubmit?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2735
+ onSubmitCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2736
+ onInvalid?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2737
+ onInvalidCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2738
+ onLoad?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2739
+ onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2740
+ onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2741
+ onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2742
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2743
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2744
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2745
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2746
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2747
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2748
+ onAbort?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2749
+ onAbortCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2750
+ onCanPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2751
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2752
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2753
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2754
+ onDurationChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2755
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2756
+ onEmptied?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2757
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2758
+ onEncrypted?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2759
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2760
+ onEnded?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2761
+ onEndedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2762
+ onLoadedData?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2763
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2764
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2765
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2766
+ onLoadStart?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2767
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2768
+ onPause?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2769
+ onPauseCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2770
+ onPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2771
+ onPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2772
+ onPlaying?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2773
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2774
+ onProgress?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2775
+ onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2776
+ onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2777
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2778
+ onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2779
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2780
+ onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2781
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2782
+ onStalled?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2783
+ onStalledCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2784
+ onSuspend?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2785
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2786
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2787
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2788
+ onVolumeChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2789
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2790
+ onWaiting?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2791
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2792
+ onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2793
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2794
+ onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2795
+ onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2796
+ onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2797
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2798
+ onDoubleClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2799
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2800
+ onDrag?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2801
+ onDragCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2802
+ onDragEnd?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2803
+ onDragEndCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2804
+ onDragEnter?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2805
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2806
+ onDragExit?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2807
+ onDragExitCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2808
+ onDragLeave?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2809
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2810
+ onDragOver?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2811
+ onDragOverCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2812
+ onDragStart?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2813
+ onDragStartCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2814
+ onDrop?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2815
+ onDropCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2816
+ onMouseDown?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2817
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2818
+ onMouseEnter?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2819
+ onMouseLeave?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2820
+ onMouseMove?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2821
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2822
+ onMouseOut?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2823
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2824
+ onMouseOver?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2825
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2826
+ onMouseUp?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2827
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2828
+ onSelect?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2829
+ onSelectCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2830
+ onTouchCancel?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2831
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2832
+ onTouchEnd?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2833
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2834
+ onTouchMove?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2835
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2836
+ onTouchStart?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2837
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2838
+ onPointerDown?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2839
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2840
+ onPointerMove?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2841
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2842
+ onPointerUp?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2843
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2844
+ onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2845
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2846
+ onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2847
+ onPointerEnterCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2848
+ onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2849
+ onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2850
+ onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2851
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2852
+ onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2853
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2854
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2855
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2856
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2857
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2858
+ onScroll?: import("react").UIEventHandler<HTMLDivElement> | undefined;
2859
+ onScrollCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
2860
+ onWheel?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
2861
+ onWheelCapture?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
2862
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2863
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2864
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2865
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2866
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2867
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2868
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
2869
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
2870
+ ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
2871
+ key?: import("react").Key | null | undefined;
2872
+ };
2873
+ }
2009
2874
  declare module "components/InfiniteTable/index" {
2010
2875
  import * as React from 'react';
2011
2876
  import type { InfiniteTableProps } from "components/InfiniteTable/types/index";
@@ -2015,7 +2880,7 @@ declare module "components/InfiniteTable/index" {
2015
2880
  export namespace InfiniteTable {
2016
2881
  var defaultProps: {
2017
2882
  rowHeight: number;
2018
- headerHeight: string;
2883
+ headerHeight: import("@vanilla-extract/private").CSSVarFunction;
2019
2884
  };
2020
2885
  }
2021
2886
  export * from "components/InfiniteTable/types/index";
@@ -2025,4 +2890,5 @@ declare module "@infinite-table/infinite-react" {
2025
2890
  export * from "components/DataSource/index";
2026
2891
  export { group, flatten } from "utils/groupAndPivot/index";
2027
2892
  export { useComponentState, getComponentStateRoot, } from "components/hooks/useComponentState";
2893
+ export { interceptMap } from "components/hooks/useInterceptedMap";
2028
2894
  }