@infinite-table/infinite-react 0.0.1 → 0.0.2-canary.3

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,138 @@ 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
+ theme: string;
619
+ color: {
620
+ accent: string;
621
+ color: string;
622
+ };
623
+ spacing: {
624
+ 0: string;
625
+ 1: string;
626
+ 2: string;
627
+ 3: string;
628
+ 4: string;
629
+ 5: string;
630
+ 6: string;
631
+ 7: string;
632
+ 8: string;
633
+ 9: string;
634
+ 10: string;
635
+ };
636
+ fontSize: {
637
+ 0: string;
638
+ 1: string;
639
+ 2: string;
640
+ 3: string;
641
+ 4: string;
642
+ 5: string;
643
+ 6: string;
644
+ 7: string;
645
+ };
646
+ fontFamily: string;
647
+ minHeight: string;
648
+ borderRadius: string;
649
+ background: string;
650
+ components: {
651
+ LoadMask: {
652
+ padding: string;
653
+ color: string;
654
+ textBackground: string;
655
+ overlayBackground: string;
656
+ overlayOpacity: string;
657
+ borderRadius: string;
658
+ };
659
+ Header: {
660
+ background: string;
661
+ color: string;
662
+ height: string;
663
+ };
664
+ HeaderCell: {
665
+ draggingBackground: string;
666
+ background: string;
667
+ padding: string;
668
+ iconSize: string;
669
+ };
670
+ Cell: {
671
+ padding: string;
672
+ borderWidth: string;
673
+ border: string;
674
+ borderInvisible: string;
675
+ borderRadius: string;
676
+ };
677
+ Row: {
678
+ color: string;
679
+ background: string;
680
+ oddBackground: string;
681
+ hoverBackground: string;
682
+ groupRowBackground: string;
683
+ groupRowColumnNesting: string;
684
+ groupNesting: string;
685
+ pointerEventsWhileScrolling: string;
686
+ };
687
+ ColumnCell: {
688
+ background: string;
689
+ };
690
+ };
691
+ }, import("@vanilla-extract/private").CSSVarFunction>;
692
+ }
693
+ declare module "components/InfiniteTable/utilities.css" {
694
+ export const boxSizingBorderBox: string;
695
+ export const position: Record<"fixed" | "absolute" | "relative" | "sticky", string>;
696
+ export const fill: Record<"accentColor" | "currentColor", string>;
697
+ export const background: Record<"inherit", string>;
698
+ export const transformTranslateZero: string;
699
+ export const cursor: Record<"pointer", string>;
700
+ export const flex: Record<"none" | 1, string>;
701
+ export const zIndex: Record<1 | 10 | 1000 | 10000 | 100000, string>;
702
+ export const display: Record<"block" | "flex" | "inlineBlock", string>;
703
+ export const userSelect: Record<"none", string>;
704
+ export const height: Record<"0" | "100%", string>;
705
+ export const width: Record<"0" | "100%", string>;
706
+ export const top: Record<"0" | "100%", string>;
707
+ export const left: Record<"0" | "100%", string>;
708
+ export const bottom: Record<"0" | "100%", string>;
709
+ export const right: Record<"0" | "100%", string>;
710
+ export const flexFlow: Record<"column" | "row", string>;
711
+ export const alignItems: Record<"center" | "stretch", string>;
712
+ export const justifyContent: Record<"center" | "end" | "start", string>;
713
+ export const overflow: Record<"auto" | "hidden" | "visible", string>;
714
+ export const willChange: Record<"transform", string>;
715
+ export const whiteSpace: Record<"nowrap", string>;
716
+ export const textOverflow: Record<"ellipsis", string>;
717
+ export const cssEllipsisClassName: string;
718
+ export const absoluteCover: string;
719
+ }
720
+ declare module "components/InfiniteTable/components/LoadMask.css" {
721
+ export const LoadMaskCls: Record<"hidden" | "visible", string>;
722
+ export const LoadMaskOverlayCls: string;
723
+ export const LoadMaskTextCls: string;
724
+ }
725
+ declare module "components/InfiniteTable/internalProps" {
726
+ export const rootClassName = "Infinite";
727
+ export const internalProps: {
728
+ rootClassName: string;
729
+ };
730
+ }
731
+ declare module "components/InfiniteTable/components/LoadMask" {
732
+ import { Renderable } from "components/types/Renderable";
733
+ export type LoadMaskProps = {
734
+ visible: boolean;
735
+ children: Renderable;
736
+ };
737
+ function LoadMaskFn(props: LoadMaskProps): JSX.Element;
738
+ export const LoadMask: typeof LoadMaskFn;
739
+ }
562
740
  declare module "components/InfiniteTable/types/InfiniteTableProps" {
563
741
  import * as React from 'react';
564
742
  import { InfiniteTableState } from "components/InfiniteTable/types/index";
565
- import { AggregationReducer, InfiniteTableEnhancedData } from "utils/groupAndPivot/index";
743
+ import { AggregationReducer, InfiniteTableRowInfo } from "utils/groupAndPivot/index";
566
744
  import { DataSourceGroupRowsBy, DataSourcePropGroupRowsBy, DataSourcePropPivotBy, DataSourceState } from "components/DataSource/index";
567
745
  import { Renderable } from "components/types/Renderable";
568
- import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableColumnWithSize, InfiniteTableComputedColumn, InfiniteTableGeneratedGroupColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
746
+ import { LoadMaskProps } from "components/InfiniteTable/components/LoadMask";
747
+ import type { InfiniteTableBaseColumn, InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableColumnWithSize, InfiniteTableComputedColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
569
748
  import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
570
749
  export type InfiniteTablePropColumnOrderNormalized = string[];
571
750
  export type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormalized | true;
@@ -573,7 +752,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
573
752
  export type InfiniteTablePropColumnPinning = Map<string, true | 'start' | 'end'>;
574
753
  export type InfiniteTableRowStyleFnParams<T> = {
575
754
  data: T | null;
576
- enhancedData: InfiniteTableEnhancedData<T>;
755
+ rowInfo: InfiniteTableRowInfo<T>;
577
756
  rowIndex: number;
578
757
  groupRowsBy?: (keyof T)[];
579
758
  };
@@ -599,7 +778,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
599
778
  ___t?: T;
600
779
  };
601
780
  export type InfiniteTablePropColumns<T, ColumnType = InfiniteTableColumn<T>> = Map<string, ColumnType>;
602
- export type InfiniteTableGeneratedColumns<T> = Map<string, InfiniteTableGeneratedGroupColumn<T>>;
781
+ export type InfiniteTableColumns<T> = InfiniteTablePropColumns<T>;
603
782
  export type InfiniteTablePropColumnGroups = Map<string, InfiniteTableColumnGroup>;
604
783
  /**
605
784
  * 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 +812,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
633
812
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
634
813
  pivotBy: DataSourcePropPivotBy<T>;
635
814
  };
636
- export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column';
815
+ export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column' | 'inline';
637
816
  export type InfiniteTableGroupColumnBase<T> = InfiniteTableBaseColumn<T> & InfiniteTableColumnWithSize & {
638
817
  renderValue?: InfiniteTableColumnRenderFunction<T>;
639
818
  };
@@ -643,14 +822,20 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
643
822
  export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | ((options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T>);
644
823
  export type InfiniteTablePropPivotColumn<T> = InfiniteTablePivotColumnBase<T> | ((options: PivotColumnGetterOptions<T>) => InfiniteTablePivotColumnBase<T>);
645
824
  export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
646
- export type InfiniteTableProps<T> = {
825
+ export type InfiniteTablePropComponents = {
826
+ LoadMask?: React.FC<LoadMaskProps>;
827
+ };
828
+ export interface InfiniteTableProps<T> {
647
829
  columns: InfiniteTablePropColumns<T>;
648
830
  pivotColumns?: InfiniteTablePropColumns<T, InfiniteTablePivotColumn<T>>;
831
+ loadingText?: Renderable;
832
+ components?: InfiniteTablePropComponents;
649
833
  pivotColumn?: Partial<InfiniteTablePropPivotColumn<T>>;
650
834
  pivotRowLabelsColumn?: Partial<InfiniteTablePropPivotRowLabelsColumn<T>>;
651
835
  pivotTotalColumnPosition?: InfiniteTablePropPivotTotalColumnPosition;
652
836
  groupColumn?: Partial<InfiniteTablePropGroupColumn<T>>;
653
837
  groupRenderStrategy?: InfiniteTablePropGroupRenderStrategy;
838
+ hideEmptyGroupColumns?: boolean;
654
839
  columnVisibility?: InfiniteTablePropColumnVisibility;
655
840
  defaultColumnVisibility?: InfiniteTablePropColumnVisibility;
656
841
  columnPinning?: InfiniteTablePropColumnPinning;
@@ -671,21 +856,36 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
671
856
  headerHeight: number | string;
672
857
  domProps?: React.HTMLProps<HTMLDivElement>;
673
858
  showZebraRows?: boolean;
859
+ showHoverRows?: boolean;
674
860
  sortable?: boolean;
675
861
  draggableColumns?: boolean;
676
862
  header?: boolean;
863
+ focusedClassName?: string;
864
+ focusedWithinClassName?: string;
865
+ focusedStyle?: React.CSSProperties;
866
+ focusedWithinStyle?: React.CSSProperties;
677
867
  columnDefaultWidth?: number;
678
868
  columnMinWidth?: number;
679
869
  columnMaxWidth?: number;
680
870
  virtualizeColumns?: InfiniteTablePropVirtualizeColumns<T>;
681
871
  virtualizeRows?: boolean;
872
+ defaultActiveIndex?: number;
873
+ activeIndex?: number;
874
+ onSelfFocus?: (event: React.FocusEvent<HTMLDivElement>) => void;
875
+ onSelfBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;
876
+ onFocusWithin?: (event: React.FocusEvent<HTMLDivElement>) => void;
877
+ onBlurWithin?: (event: React.FocusEvent<HTMLDivElement>) => void;
878
+ onScrollToTop?: () => void;
879
+ onScrollToBottom?: () => void;
880
+ scrollToBottomOffset?: number;
682
881
  defaultColumnOrder?: InfiniteTablePropColumnOrder;
683
882
  columnOrder?: InfiniteTablePropColumnOrder;
684
883
  onColumnOrderChange?: (columnOrder: InfiniteTablePropColumnOrder) => void;
884
+ onRowHeightChange?: (rowHeight: number) => void;
685
885
  onReady?: (api: InfiniteTableImperativeApi<T>) => void;
686
886
  rowProps?: React.HTMLProps<HTMLDivElement> | ((rowArgs: InfiniteTableRowStyleFnParams<T>) => React.HTMLProps<HTMLDivElement>);
687
887
  licenseKey?: string;
688
- };
888
+ }
689
889
  }
690
890
  declare module "components/types/Size" {
691
891
  export interface Size {
@@ -721,80 +921,105 @@ declare module "components/VirtualBrain/ScrollListener" {
721
921
  }
722
922
  declare module "components/InfiniteTable/types/InfiniteTableState" {
723
923
  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";
924
+ import type { InfiniteTableColumnGroup, InfiniteTableColumns, InfiniteTablePropColumnGroups, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
725
925
  import { Size } from "components/types/Size";
726
- import { ComponentStateActions } from "components/hooks/useComponentState";
727
926
  import { MutableRefObject } from 'react';
728
927
  import { SubscriptionCallback } from "components/types/SubscriptionCallback";
729
928
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
730
- export interface InfiniteTableState<T> {
929
+ import { NonUndefined } from "components/types/NonUndefined";
930
+ import { InfiniteTableColumn, InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
931
+ import { ComponentStateActions } from "components/hooks/useComponentState";
932
+ import { DataSourceGroupRowsBy, DataSourceProps } from "components/DataSource/types";
933
+ export type GroupRowsMap<T> = Map<keyof T, {
934
+ groupBy: DataSourceGroupRowsBy<T>;
935
+ groupIndex: number;
936
+ }>;
937
+ export interface InfiniteTableSetupState<T> {
938
+ columnsWhenInlineGroupRenderStrategy?: Map<string, InfiniteTableColumn<T>>;
731
939
  domRef: MutableRefObject<HTMLDivElement | null>;
732
- bodyDOMRef: MutableRefObject<HTMLDivElement | null>;
940
+ scrollerDOMRef: MutableRefObject<HTMLDivElement | null>;
733
941
  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;
942
+ onRowHeightCSSVarChange: SubscriptionCallback<number>;
943
+ onHeaderHeightCSSVarChange: SubscriptionCallback<number>;
944
+ columnsWhenGrouping?: InfiniteTableColumns<T>;
741
945
  bodySize: Size;
946
+ focused: boolean;
947
+ focusedWithin: boolean;
742
948
  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>;
949
+ draggingColumnId: null | string;
757
950
  pinnedStartScrollListener: ScrollListener;
758
951
  pinnedEndScrollListener: ScrollListener;
759
- x?: T;
952
+ computedPivotColumns?: Map<string, InfiniteTablePivotColumn<T>>;
953
+ columnShifts: number[] | null;
760
954
  }
761
955
  export type InfiniteTableComputedColumnGroup = InfiniteTableColumnGroup & {
762
956
  depth: number;
763
957
  };
764
958
  export type InfiniteTableColumnGroupsDepthsMap = Map<string, number>;
765
- export interface InfiniteTableComponentState<T> extends InfiniteTableState<T>, InfiniteTableReadOnlyState<T> {
766
- }
767
959
  export type InfiniteTablePropPivotTotalColumnPosition = false | 'start' | 'end';
768
- export interface InfiniteTableReadOnlyState<T> {
769
- groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
770
- pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
960
+ export interface InfiniteTableMappedState<T> {
961
+ groupColumn: InfiniteTableProps<T>['groupColumn'];
962
+ loadingText: InfiniteTableProps<T>['loadingText'];
963
+ components: InfiniteTableProps<T>['components'];
964
+ columns: InfiniteTableProps<T>['columns'];
965
+ pivotColumns: InfiniteTableProps<T>['pivotColumns'];
771
966
  onReady: InfiniteTableProps<T>['onReady'];
772
- rowProps: InfiniteTableProps<T>['rowProps'];
967
+ onSelfFocus: InfiniteTableProps<T>['onSelfFocus'];
968
+ onSelfBlur: InfiniteTableProps<T>['onSelfBlur'];
969
+ onFocusWithin: InfiniteTableProps<T>['onFocusWithin'];
970
+ onBlurWithin: InfiniteTableProps<T>['onBlurWithin'];
971
+ onScrollToTop: InfiniteTableProps<T>['onScrollToTop'];
972
+ onScrollToBottom: InfiniteTableProps<T>['onScrollToBottom'];
973
+ scrollToBottomOffset: InfiniteTableProps<T>['scrollToBottomOffset'];
974
+ focusedClassName: InfiniteTableProps<T>['focusedClassName'];
975
+ focusedWithinClassName: InfiniteTableProps<T>['focusedWithinClassName'];
976
+ focusedStyle: InfiniteTableProps<T>['focusedStyle'];
977
+ focusedWithinStyle: InfiniteTableProps<T>['focusedWithinStyle'];
978
+ domProps: InfiniteTableProps<T>['domProps'];
773
979
  rowStyle: InfiniteTableProps<T>['rowStyle'];
980
+ rowProps: InfiniteTableProps<T>['rowProps'];
774
981
  rowClassName: InfiniteTableProps<T>['rowClassName'];
775
- groupColumn: InfiniteTableProps<T>['groupColumn'];
776
- pivotColumn: InfiniteTableProps<T>['pivotColumn'];
777
- pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
778
982
  pinnedStartMaxWidth: InfiniteTableProps<T>['pinnedStartMaxWidth'];
779
983
  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'];
984
+ pivotColumn: InfiniteTableProps<T>['pivotColumn'];
985
+ pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
986
+ pivotColumnGroups: InfiniteTableProps<T>['pivotColumnGroups'];
987
+ activeIndex: NonUndefined<InfiniteTableProps<T>['activeIndex']>;
988
+ columnMinWidth: NonUndefined<InfiniteTableProps<T>['columnMinWidth']>;
989
+ columnMaxWidth: NonUndefined<InfiniteTableProps<T>['columnMaxWidth']>;
990
+ columnDefaultWidth: NonUndefined<InfiniteTableProps<T>['columnDefaultWidth']>;
991
+ draggableColumns: NonUndefined<InfiniteTableProps<T>['draggableColumns']>;
992
+ sortable: NonUndefined<InfiniteTableProps<T>['sortable']>;
993
+ hideEmptyGroupColumns: NonUndefined<InfiniteTableProps<T>['hideEmptyGroupColumns']>;
994
+ columnOrder: NonUndefined<InfiniteTableProps<T>['columnOrder']>;
995
+ showZebraRows: NonUndefined<InfiniteTableProps<T>['showZebraRows']>;
996
+ showHoverRows: NonUndefined<InfiniteTableProps<T>['showHoverRows']>;
997
+ header: NonUndefined<InfiniteTableProps<T>['header']>;
998
+ virtualizeColumns: NonUndefined<InfiniteTableProps<T>['virtualizeColumns']>;
999
+ rowHeight: number;
1000
+ headerHeight: number;
1001
+ licenseKey: NonUndefined<InfiniteTableProps<T>['licenseKey']>;
1002
+ columnVisibility: NonUndefined<InfiniteTableProps<T>['columnVisibility']>;
1003
+ columnPinning: NonUndefined<InfiniteTableProps<T>['columnPinning']>;
1004
+ columnAggregations: NonUndefined<InfiniteTableProps<T>['columnAggregations']>;
1005
+ columnGroups: NonUndefined<InfiniteTableProps<T>['columnGroups']>;
1006
+ collapsedColumnGroups: NonUndefined<InfiniteTableProps<T>['collapsedColumnGroups']>;
1007
+ pivotTotalColumnPosition: NonUndefined<InfiniteTableProps<T>['pivotTotalColumnPosition']>;
1008
+ }
1009
+ export interface InfiniteTableDerivedState<T> {
1010
+ groupRowsBy: DataSourceProps<T>['groupRowsBy'];
1011
+ computedColumns: Map<string, InfiniteTableColumn<T>>;
787
1012
  virtualizeHeader: boolean;
788
- licenseKey: string;
789
- domProps: InfiniteTableProps<T>['domProps'];
790
- draggableColumns: boolean;
1013
+ groupRenderStrategy: NonUndefined<InfiniteTableProps<T>['groupRenderStrategy']>;
791
1014
  columnGroupsDepthsMap: InfiniteTableColumnGroupsDepthsMap;
792
1015
  columnGroupsMaxDepth: number;
793
1016
  computedColumnGroups: InfiniteTablePropColumnGroups;
794
1017
  rowHeightCSSVar: string;
795
1018
  headerHeightCSSVar: string;
796
1019
  }
797
- export type InfiniteTableComponentActions<T> = ComponentStateActions<InfiniteTableState<T>>;
1020
+ export type InfiniteTableActions<T> = ComponentStateActions<InfiniteTableState<T>>;
1021
+ export interface InfiniteTableState<T> extends InfiniteTableMappedState<T>, InfiniteTableDerivedState<T>, InfiniteTableSetupState<T> {
1022
+ }
798
1023
  }
799
1024
  declare module "components/InfiniteTable/types/InfiniteTableActionType" {
800
1025
  export enum InfiniteTableActionType {
@@ -842,36 +1067,26 @@ declare module "components/InfiniteTable/types/InfiniteTableComputedValues" {
842
1067
  }
843
1068
  }
844
1069
  declare module "components/InfiniteTable/types/InfiniteTableContextValue" {
845
- import { InfiniteTableComponentActions, InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
1070
+ import { InfiniteTableActions, InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
846
1071
  import { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
847
1072
  export interface InfiniteTableContextValue<T> {
848
- componentState: InfiniteTableComponentState<T>;
849
- componentActions: InfiniteTableComponentActions<T>;
1073
+ componentState: InfiniteTableState<T>;
1074
+ componentActions: InfiniteTableActions<T>;
850
1075
  computed: InfiniteTableComputedValues<T>;
851
1076
  getComputed: () => InfiniteTableComputedValues<T>;
852
- getState: () => InfiniteTableComponentState<T>;
1077
+ getState: () => InfiniteTableState<T>;
853
1078
  }
854
1079
  }
855
1080
  declare module "components/InfiniteTable/types/index" {
856
1081
  import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
857
1082
  import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
858
1083
  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";
1084
+ import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnAggregations, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropComponents } from "components/InfiniteTable/types/InfiniteTableProps";
1085
+ import type { InfiniteTableColumn, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam } from "components/InfiniteTable/types/InfiniteTableColumn";
861
1086
  import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
862
1087
  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
- };
1088
+ import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
1089
+ 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
1090
  }
876
1091
  declare module "components/InfiniteTable/InfiniteTableContext" {
877
1092
  import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
@@ -888,18 +1103,70 @@ declare module "components/InfiniteTable/state/computeColumnGroupsDepths" {
888
1103
  }
889
1104
  declare module "components/InfiniteTable/state/getInitialState" {
890
1105
  import { DataSourceState } from "components/DataSource/index";
1106
+ import { ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
891
1107
  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: {
1108
+ import { InfiniteTablePropGroupColumn } from "components/InfiniteTable/types/InfiniteTableProps";
1109
+ import { InfiniteTableSetupState, InfiniteTableDerivedState, InfiniteTableMappedState } from "components/InfiniteTable/types/InfiniteTableState";
1110
+ /**
1111
+ * The computed state is independent from props and cannot
1112
+ * be affected by props
1113
+ */
1114
+ export function initSetupState<T>(): InfiniteTableSetupState<T>;
1115
+ export const forwardProps: <T>() => Partial<{
1116
+ 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>>);
1117
+ header: 1 | ((value: boolean | undefined) => boolean);
1118
+ pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
1119
+ 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);
1120
+ pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined);
1121
+ sortable: 1 | ((value: boolean | undefined) => boolean);
1122
+ pivotColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T>> | undefined);
1123
+ components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
1124
+ groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
1125
+ loadingText: 1 | ((value: import("components/types/Renderable").Renderable) => import("components/types/Renderable").Renderable);
1126
+ onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
1127
+ onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1128
+ onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1129
+ onFocusWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1130
+ onBlurWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement>) => void) | undefined);
1131
+ onScrollToTop: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
1132
+ onScrollToBottom: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
1133
+ scrollToBottomOffset: 1 | ((value: number | undefined) => number | undefined);
1134
+ focusedClassName: 1 | ((value: string | undefined) => string | undefined);
1135
+ focusedWithinClassName: 1 | ((value: string | undefined) => string | undefined);
1136
+ focusedStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
1137
+ focusedWithinStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
1138
+ domProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | undefined) => import("react").HTMLProps<HTMLDivElement> | undefined);
1139
+ rowStyle: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined);
1140
+ 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);
1141
+ rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
1142
+ pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
1143
+ pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
1144
+ pivotRowLabelsColumn: 1 | ((value: Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T>> | undefined) => Partial<import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T>> | undefined);
1145
+ activeIndex: 1 | ((value: number | undefined) => number);
1146
+ columnMinWidth: 1 | ((value: number | undefined) => number);
1147
+ columnMaxWidth: 1 | ((value: number | undefined) => number);
1148
+ columnDefaultWidth: 1 | ((value: number | undefined) => number);
1149
+ draggableColumns: 1 | ((value: boolean | undefined) => boolean);
1150
+ hideEmptyGroupColumns: 1 | ((value: boolean | undefined) => boolean);
1151
+ columnOrder: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnOrder | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnOrder);
1152
+ showZebraRows: 1 | ((value: boolean | undefined) => boolean);
1153
+ showHoverRows: 1 | ((value: boolean | undefined) => boolean);
1154
+ virtualizeColumns: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T>);
1155
+ licenseKey: 1 | ((value: string | undefined) => string);
1156
+ columnVisibility: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility);
1157
+ columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnPinning);
1158
+ columnAggregations: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnAggregations<T>);
1159
+ columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups);
1160
+ collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
1161
+ rowHeight: 1 | ((value: string | number) => number);
1162
+ headerHeight: 1 | ((value: string | number) => number);
1163
+ }>;
1164
+ export const mapPropsToState: <T>(params: {
898
1165
  props: InfiniteTableProps<T>;
899
1166
  state: InfiniteTableState<T>;
900
- updated: Partial<InfiniteTableState<T>> | null;
1167
+ oldState: InfiniteTableState<T> | null;
901
1168
  parentState: DataSourceState<T>;
902
- }): InfiniteTableReadOnlyState<T>;
1169
+ }) => InfiniteTableDerivedState<T>;
903
1170
  }
904
1171
  declare module "components/ResizeObserver/index" {
905
1172
  import * as React from 'react';
@@ -977,13 +1244,14 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
977
1244
  import type { InfiniteTableColumn, InfiniteTableComputedColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
978
1245
  import type { Size } from "components/types/Size";
979
1246
  import type { DataSourceSingleSortInfo } from "components/DataSource/types";
980
- import type { InfiniteTableGeneratedColumns, InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1247
+ import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
981
1248
  export type SortInfoMap<T> = {
982
1249
  [key: string]: {
983
1250
  sortInfo: DataSourceSingleSortInfo<T>;
984
1251
  index: number;
985
1252
  };
986
1253
  };
1254
+ export const IS_GROUP_COLUMN_ID: (columnId: string) => boolean;
987
1255
  export type GetComputedVisibleColumnsResult<T> = {
988
1256
  computedRemainingSpace: number;
989
1257
  computedPinnedStartColumnsWidth: number;
@@ -1005,7 +1273,6 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
1005
1273
  };
1006
1274
  type GetComputedVisibleColumnsParam<T> = {
1007
1275
  columns: Map<string, InfiniteTableColumn<T>>;
1008
- generatedColumns: InfiniteTableGeneratedColumns<T>;
1009
1276
  bodySize: Size;
1010
1277
  columnMinWidth?: number;
1011
1278
  columnMaxWidth?: number;
@@ -1022,7 +1289,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
1022
1289
  columnVisibility: InfiniteTablePropColumnVisibility;
1023
1290
  columnVisibilityAssumeVisible: boolean;
1024
1291
  };
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>;
1292
+ 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
1293
  }
1027
1294
  declare module "components/hooks/useRerender" {
1028
1295
  export const useRerender: () => [number, () => void];
@@ -1044,7 +1311,7 @@ declare module "components/hooks/useInterceptedMap" {
1044
1311
  export function useInterceptedMap<K, V>(map: Map<K, V>, fns: InterceptedMapFns<K, V>): void;
1045
1312
  }
1046
1313
  declare module "components/InfiniteTable/utils/rafFn" {
1047
- export const rafFn: (fn: () => void) => () => void;
1314
+ export const rafFn: (fn: (...args: any[]) => void) => (...args: any[]) => void;
1048
1315
  }
1049
1316
  declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
1050
1317
  export const useRerenderOnKeyChange: <K extends unknown, V extends unknown>(map: Map<K, V>) => number;
@@ -1052,12 +1319,11 @@ declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
1052
1319
  declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1053
1320
  import type { DataSourceSingleSortInfo } from "components/DataSource/types";
1054
1321
  import type { InfiniteTableColumn } from "components/InfiniteTable/types/index";
1055
- import type { InfiniteTableGeneratedColumns, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1322
+ import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1056
1323
  import type { Size } from "components/types/Size";
1057
1324
  import type { GetComputedVisibleColumnsResult } from "components/InfiniteTable/utils/getComputedVisibleColumns";
1058
1325
  type UseComputedVisibleColumnsParam<T> = {
1059
1326
  columns: Map<string, InfiniteTableColumn<T>>;
1060
- generatedColumns: InfiniteTableGeneratedColumns<T>;
1061
1327
  bodySize: Size;
1062
1328
  columnMinWidth?: number;
1063
1329
  columnMaxWidth?: number;
@@ -1091,7 +1357,7 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1091
1357
  computedPinnedStartWidth: GetComputedVisibleColumnsResult<T>['computedPinnedStartWidth'];
1092
1358
  computedColumnOrder: GetComputedVisibleColumnsResult<T>['computedColumnOrder'];
1093
1359
  };
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>;
1360
+ 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
1361
  }
1096
1362
  declare module "components/DataSource/publicHooks/useDataSourceActions" {
1097
1363
  import { DataSourceComponentActions } from "components/DataSource/types";
@@ -1103,89 +1369,9 @@ declare module "components/InfiniteTable/hooks/useColumnAggregations" {
1103
1369
  declare module "components/InfiniteTable/hooks/useColumnGroups" {
1104
1370
  export function useColumnGroups<T>(): void;
1105
1371
  }
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;
1372
+ declare module "utils/join" {
1373
+ const join: (...args: (string | number | void | null)[]) => string;
1374
+ export { join };
1189
1375
  }
1190
1376
  declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1191
1377
  import * as React from 'react';
@@ -1202,37 +1388,81 @@ declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1202
1388
  declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
1203
1389
  import { DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
1204
1390
  import { InfiniteTableProps } from "components/InfiniteTable/types/index";
1205
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
1391
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1206
1392
  export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
1207
1393
  toggleGroupRow: (groupKeys: any[]) => void;
1208
1394
  pivotColumn: InfiniteTableProps<T>['pivotColumn'];
1209
1395
  pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
1210
- pivotTotalColumnPosition: InfiniteTableComponentState<T>['pivotTotalColumnPosition'];
1396
+ pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
1211
1397
  pivotBy: DataSourcePropPivotBy<T>;
1212
1398
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
1213
1399
  }): InfiniteTableProps<T>['pivotColumns'];
1214
1400
  }
1401
+ declare module "components/InfiniteTable/components/InfiniteTableRow/row.css" {
1402
+ export const RowHoverCls: string;
1403
+ export const RowClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1404
+ zebra: {
1405
+ false: {};
1406
+ even: {
1407
+ background: import("@vanilla-extract/private").CSSVarFunction;
1408
+ };
1409
+ odd: {
1410
+ background: import("@vanilla-extract/private").CSSVarFunction;
1411
+ };
1412
+ };
1413
+ groupRow: {
1414
+ true: {
1415
+ zIndex: number;
1416
+ };
1417
+ false: {};
1418
+ };
1419
+ inlineGroupRow: {
1420
+ true: {
1421
+ zIndex: number;
1422
+ };
1423
+ false: {};
1424
+ };
1425
+ showHoverRows: {
1426
+ true: {};
1427
+ false: {};
1428
+ };
1429
+ }>;
1430
+ export const GroupRowExpanderCls: string;
1431
+ }
1215
1432
  declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
1433
+ import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
1216
1434
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1217
1435
  import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
1218
- import { GroupColumnGetterOptions, InfiniteTablePropGroupColumn } from "components/InfiniteTable/types/InfiniteTableProps";
1436
+ import { GroupColumnGetterOptions, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/InfiniteTableProps";
1437
+ export function getGroupColumnRender<T>({ groupIndex, groupRenderStrategy, toggleGroupRow, }: {
1438
+ toggleGroupRow: (groupRowKeys: any[]) => void;
1439
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1440
+ groupIndex: number;
1441
+ }): (renderOptions: InfiniteTableColumnRenderParam<T>) => import("components/types/Renderable").Renderable;
1219
1442
  export function getColumnForGroupBy<T>(options: GroupColumnGetterOptions<T> & {
1220
1443
  groupIndex: number;
1221
1444
  groupBy: DataSourceGroupRowsBy<T>;
1445
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1222
1446
  }, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1223
1447
  export function getSingleGroupColumn<T>(options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1224
1448
  }
1225
- declare module "components/InfiniteTable/hooks/useGeneratedGroupAndPivotColumns" {
1449
+ declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
1450
+ export type ToggleGrouRowFn = (groupKeys: any[]) => void;
1451
+ export function useToggleGroupRow<T>(): ToggleGrouRowFn;
1452
+ }
1453
+ declare module "components/InfiniteTable/hooks/useColumnsWhen" {
1454
+ import { InfiniteTableColumn } from "components/InfiniteTable/index";
1226
1455
  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: {
1456
+ import { InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
1457
+ export function useColumnsWhen<T>(): void;
1458
+ export function getColumnsWhenGrouping<T>(params: {
1459
+ columns: Map<string, InfiniteTableColumn<T>>;
1230
1460
  groupRowsBy: DataSourceGroupRowsBy<T>[];
1231
1461
  toggleGroupRow: (groupKeys: any[]) => void;
1232
1462
  groupColumn: InfiniteTableProps<T>['groupColumn'];
1233
1463
  groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1234
1464
  pivotColumns: InfiniteTableProps<T>['pivotColumns'];
1235
- }): InfiniteTableGeneratedColumns<T>;
1465
+ }): Map<string, InfiniteTableColumn<T>> | undefined;
1236
1466
  }
1237
1467
  declare module "components/InfiniteTable/hooks/useComputed" {
1238
1468
  import { InfiniteTableComputedValues } from "components/InfiniteTable/types/index";
@@ -1267,6 +1497,9 @@ declare module "components/VirtualBrain/index" {
1267
1497
  export type VirtualBrainOptions = {
1268
1498
  mainAxis: MainAxisOptions;
1269
1499
  itemSize: MainAxisSize;
1500
+ itemSpan?: ({ itemIndex }: {
1501
+ itemIndex: number;
1502
+ }) => number;
1270
1503
  count: number;
1271
1504
  name?: string;
1272
1505
  };
@@ -1282,6 +1515,8 @@ declare module "components/VirtualBrain/index" {
1282
1515
  export class VirtualBrain extends Logger {
1283
1516
  private scrollPosition;
1284
1517
  private scrollPositionOnMainAxis;
1518
+ private itemSpanParent;
1519
+ private itemSpanValue;
1285
1520
  private itemSizeCache;
1286
1521
  private itemOffsetCache;
1287
1522
  private options;
@@ -1316,10 +1551,19 @@ declare module "components/VirtualBrain/index" {
1316
1551
  onTotalSizeChange: (fn: OnSizeChangeFn) => () => void;
1317
1552
  onRenderCountChange: (fn: OnRenderCountChangeFn) => () => void;
1318
1553
  onRenderRangeChange: (fn: OnRenderRangeChangeFn) => () => void;
1319
- update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize']) => void;
1554
+ update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize'], newItemSpan?: VirtualBrainOptions['itemSpan']) => void;
1320
1555
  private reset;
1556
+ private computeItemSpanUpTo;
1321
1557
  private computeCacheFor;
1322
1558
  private getItemSizeCacheFor;
1559
+ getItemSpan: (itemIndex: number) => number;
1560
+ getItemSpanParent: (itemIndex: number) => number;
1561
+ getItemSizeWithSpan: (itemIndex: number, itemSpan: number) => number;
1562
+ /**
1563
+ * For now, this doesn't take into account the itemspan, and it's okay not to
1564
+ * @param itemIndex
1565
+ * @returns the size of the specified item
1566
+ */
1323
1567
  getItemSize: (itemIndex: number) => number;
1324
1568
  getTotalSize: () => number;
1325
1569
  getItemAt: (scrollPos: number) => number;
@@ -1338,6 +1582,198 @@ declare module "components/InfiniteTable/components/ScrollbarPlaceholder" {
1338
1582
  }): JSX.Element | null;
1339
1583
  export const VerticalScrollbarPlaceholder: React.MemoExoticComponent<typeof VerticalScrollbarPlaceholderFn>;
1340
1584
  }
1585
+ declare module "components/InfiniteTable/InfiniteCls.css" {
1586
+ export const InfiniteCls: string;
1587
+ export const InfiniteClsScrolling: string;
1588
+ export const InfiniteClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1589
+ focused: {
1590
+ true: {};
1591
+ false: {};
1592
+ };
1593
+ focusedWithin: {
1594
+ true: {};
1595
+ false: {};
1596
+ };
1597
+ hasPinnedStart: {
1598
+ true: {};
1599
+ false: {};
1600
+ };
1601
+ hasPinnedEnd: {
1602
+ true: {};
1603
+ false: {};
1604
+ };
1605
+ hasPinnedStartOverflow: {
1606
+ true: {};
1607
+ false: {};
1608
+ };
1609
+ hasPinnedEndOverflow: {
1610
+ true: {};
1611
+ false: {};
1612
+ };
1613
+ }>;
1614
+ export const PinnedRowsClsVariants: Record<"overflow" | "pinnedStart" | "pinnedEnd", string>;
1615
+ export const PinnedRowsContainerClsVariants: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1616
+ pinned: {
1617
+ start: {
1618
+ borderRight: import("@vanilla-extract/private").CSSVarFunction[];
1619
+ };
1620
+ end: {
1621
+ borderLeft: import("@vanilla-extract/private").CSSVarFunction[];
1622
+ };
1623
+ false: {};
1624
+ };
1625
+ }>;
1626
+ export const InfiniteClsShiftingColumns: string;
1627
+ export const FooterCls: string;
1628
+ }
1629
+ declare module "components/InfiniteTable/components/cell.css" {
1630
+ export const columnAlignCellStyle: Record<"center" | "end" | "start", string>;
1631
+ export const CellBorderObject: {
1632
+ borderLeft: string;
1633
+ borderRight: string;
1634
+ };
1635
+ export const CellClsVariants: Record<"shifting" | "dragging", string>;
1636
+ export const CellCls: string;
1637
+ export const ColumnCellVariantsObject: {
1638
+ first: {
1639
+ borderTopLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1640
+ borderBottomLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1641
+ };
1642
+ last: {
1643
+ borderTopRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1644
+ borderBottomRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1645
+ };
1646
+ groupByField: {};
1647
+ firstInCategory: {};
1648
+ lastInCategory: {};
1649
+ pinnedStart: {};
1650
+ pinnedEnd: {};
1651
+ unpinned: {};
1652
+ pinnedStartLastInCategory: {
1653
+ borderRight: import("@vanilla-extract/private").CSSVarFunction;
1654
+ vars: {
1655
+ [x: string]: import("@vanilla-extract/private").CSSVarFunction;
1656
+ };
1657
+ };
1658
+ pinnedEndFirstInCategory: {
1659
+ borderLeft: import("@vanilla-extract/private").CSSVarFunction;
1660
+ vars: {
1661
+ [x: string]: import("@vanilla-extract/private").CSSVarFunction;
1662
+ };
1663
+ };
1664
+ };
1665
+ export const ColumnCellRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1666
+ dragging: {
1667
+ false: {};
1668
+ };
1669
+ first: {
1670
+ true: {
1671
+ borderTopLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1672
+ borderBottomLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1673
+ };
1674
+ false: {};
1675
+ };
1676
+ last: {
1677
+ true: {
1678
+ borderTopRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1679
+ borderBottomRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1680
+ };
1681
+ false: {};
1682
+ };
1683
+ groupByField: {
1684
+ true: {};
1685
+ false: {};
1686
+ };
1687
+ firstInCategory: {
1688
+ true: {};
1689
+ false: {};
1690
+ };
1691
+ lastInCategory: {
1692
+ true: {};
1693
+ false: {};
1694
+ };
1695
+ pinned: {
1696
+ start: {};
1697
+ end: {};
1698
+ false: {};
1699
+ };
1700
+ }>;
1701
+ }
1702
+ declare module "components/InfiniteTable/components/InfiniteTableHeader/header.css" {
1703
+ import { RecipeVariants } from '@vanilla-extract/recipes';
1704
+ import { CellCls, CellClsVariants } from "components/InfiniteTable/components/cell.css";
1705
+ export { CellCls, CellClsVariants };
1706
+ export const HeaderCellProxy: string;
1707
+ export const HeaderSortIconCls: string;
1708
+ export const HeaderClsRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1709
+ pinned: {
1710
+ start: {};
1711
+ end: {};
1712
+ false: {};
1713
+ };
1714
+ virtualized: {
1715
+ true: {};
1716
+ false: {
1717
+ position: "relative";
1718
+ overflow: "hidden";
1719
+ };
1720
+ };
1721
+ overflow: {
1722
+ true: {
1723
+ zIndex: number;
1724
+ };
1725
+ false: {};
1726
+ };
1727
+ }>;
1728
+ export const HeaderCellRecipe: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
1729
+ dragging: {
1730
+ true: {
1731
+ zIndex: number;
1732
+ opacity: number;
1733
+ background: import("@vanilla-extract/private").CSSVarFunction;
1734
+ };
1735
+ false: {};
1736
+ };
1737
+ first: {
1738
+ true: {
1739
+ borderTopLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1740
+ borderBottomLeftRadius: import("@vanilla-extract/private").CSSVarFunction;
1741
+ };
1742
+ false: {};
1743
+ };
1744
+ last: {
1745
+ true: {
1746
+ borderTopRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1747
+ borderBottomRightRadius: import("@vanilla-extract/private").CSSVarFunction;
1748
+ };
1749
+ false: {};
1750
+ };
1751
+ groupByField: {
1752
+ true: {};
1753
+ false: {};
1754
+ };
1755
+ firstInCategory: {
1756
+ true: {};
1757
+ false: {};
1758
+ };
1759
+ lastInCategory: {
1760
+ true: {};
1761
+ false: {};
1762
+ };
1763
+ pinned: {
1764
+ start: {
1765
+ zIndex: number;
1766
+ };
1767
+ end: {};
1768
+ false: {};
1769
+ };
1770
+ }>;
1771
+ export type HeaderCellVariantsType = RecipeVariants<typeof HeaderCellRecipe>;
1772
+ export const HeaderWrapperCls: string;
1773
+ export const HeaderGroupCls: string;
1774
+ export const HeaderGroup_Header: string;
1775
+ export const HeaderGroup_Children: string;
1776
+ }
1341
1777
  declare module "components/InfiniteTable/hooks/useInfiniteTableState" {
1342
1778
  import { InfiniteTableState } from "components/InfiniteTable/types/index";
1343
1779
  export const useInfiniteTableState: <T>() => InfiniteTableState<T>;
@@ -1347,7 +1783,7 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1347
1783
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/index";
1348
1784
  import { Renderable } from "components/types/Renderable";
1349
1785
  import { OnResizeFn } from "components/types/Size";
1350
- import { InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
1786
+ import { InfiniteTableRowInfo, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/index";
1351
1787
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1352
1788
  export interface InfiniteTableCellProps<T> {
1353
1789
  column: InfiniteTableComputedColumn<T>;
@@ -1364,9 +1800,13 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1364
1800
  }
1365
1801
  export interface InfiniteTableColumnCellProps<T> extends Omit<InfiniteTableCellProps<T>, 'children'> {
1366
1802
  virtualized: boolean;
1367
- enhancedData: InfiniteTableEnhancedData<T>;
1803
+ hidden: boolean;
1804
+ rowInfo: InfiniteTableRowInfo<T>;
1805
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1806
+ getData: () => InfiniteTableRowInfo<T>[];
1368
1807
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1369
1808
  rowIndex: number;
1809
+ rowHeight: number;
1370
1810
  }
1371
1811
  export interface InfiniteTableHeaderCellProps<T> extends Omit<InfiniteTableCellProps<T>, 'children'> {
1372
1812
  columns: Map<string, InfiniteTableComputedColumn<T>>;
@@ -1407,8 +1847,11 @@ declare module "components/InfiniteTable/hooks/useColumnPointerEvents" {
1407
1847
  };
1408
1848
  }
1409
1849
  declare module "components/InfiniteTable/hooks/useCellClassName" {
1850
+ import { HeaderCellVariantsType } from "components/InfiniteTable/components/InfiniteTableHeader/header.css";
1410
1851
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1411
- export function useCellClassName<T>(column: InfiniteTableComputedColumn<T>, baseClasses: string[]): string;
1852
+ export function useCellClassName<T>(column: InfiniteTableComputedColumn<T>, baseClasses: string[], variants: (x: HeaderCellVariantsType) => string, extraFlags: {
1853
+ dragging: boolean;
1854
+ }): string;
1412
1855
  }
1413
1856
  declare module "components/InfiniteTable/components/icons/SortIcon" {
1414
1857
  import * as React from 'react';
@@ -1432,6 +1875,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1432
1875
  import { Renderable } from "components/types/Renderable";
1433
1876
  import { VirtualBrain } from "components/VirtualBrain/index";
1434
1877
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1878
+ import { InfiniteTableColumnPinned } from "components/InfiniteTable/types/InfiniteTableColumn";
1435
1879
  import { InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
1436
1880
  export type InfiniteTableHeaderProps<T> = {
1437
1881
  repaintId?: string | number;
@@ -1439,6 +1883,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1439
1883
  columns: InfiniteTableComputedColumn<T>[];
1440
1884
  totalWidth: number;
1441
1885
  availableWidth: number;
1886
+ pinning: InfiniteTableColumnPinned;
1442
1887
  };
1443
1888
  export type InfiniteTableHeaderGroupProps<T> = {
1444
1889
  columns: InfiniteTableComputedColumn<T>[];
@@ -1448,7 +1893,6 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1448
1893
  headerHeight: number;
1449
1894
  };
1450
1895
  export type InfiniteTableHeaderUnvirtualizedProps<T> = Omit<InfiniteTableHeaderProps<T>, 'repaintId' | 'brain'> & {
1451
- classNameModifiers?: string[];
1452
1896
  brain?: VirtualBrain;
1453
1897
  scrollListener?: ScrollListener;
1454
1898
  scrollable?: boolean;
@@ -1462,11 +1906,19 @@ declare module "components/RawList/types" {
1462
1906
  domRef: RefCallback<HTMLElement>;
1463
1907
  itemIndex: number;
1464
1908
  itemSize: number;
1909
+ itemSizeWithSpan: number;
1910
+ itemSpan: number;
1911
+ spanParent: number;
1912
+ covered: boolean;
1465
1913
  };
1466
1914
  export type RenderItem = (renderProps: RenderItemParam) => Renderable;
1915
+ export type RawListItemSpan = (itemSpanProps: {
1916
+ itemIndex: number;
1917
+ }) => number;
1467
1918
  export type RawListProps = {
1468
1919
  debugChannel?: string;
1469
1920
  renderItem: RenderItem;
1921
+ itemSpan?: RawListItemSpan;
1470
1922
  brain: VirtualBrain;
1471
1923
  repaintId?: string | number;
1472
1924
  };
@@ -1551,8 +2003,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1551
2003
  export const InfiniteTableHeader: typeof InfiniteTableHeaderFn;
1552
2004
  }
1553
2005
  declare module "components/InfiniteTable/components/InfiniteTableHeader/buildColumnAndGroupTree" {
1554
- import { InfiniteTableColumnGroup, InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1555
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2006
+ import { InfiniteTableColumnGroup, InfiniteTableComputedColumn, InfiniteTableState } from "components/InfiniteTable/types/index";
1556
2007
  export type ColGroupTreeBaseItem = {
1557
2008
  id: string;
1558
2009
  groupOffset: number;
@@ -1571,7 +2022,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/buildCol
1571
2022
  columnItems: ColGroupTreeColumnItem<T>[];
1572
2023
  };
1573
2024
  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>[];
2025
+ export function buildColumnAndGroupTree<T>(columns: InfiniteTableComputedColumn<T>[], columnGroups: InfiniteTableState<T>['columnGroups'], columnGroupsDepthsMap: InfiniteTableState<T>['columnGroupsDepthsMap']): ColGroupTreeItem<T>[];
1575
2026
  }
1576
2027
  declare module "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup" {
1577
2028
  import { InfiniteTableHeaderGroupProps } from "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderTypes";
@@ -1580,10 +2031,10 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1580
2031
  }
1581
2032
  declare module "components/InfiniteTable/components/InfiniteTableHeader/renderColumnHeaderGroups" {
1582
2033
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1583
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2034
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1584
2035
  type BuildColumnHeaderGroupsConfig<T> = {
1585
- columnGroups: InfiniteTableComponentState<T>['columnGroups'];
1586
- columnGroupsDepthsMap: InfiniteTableComponentState<T>['columnGroupsDepthsMap'];
2036
+ columnGroups: InfiniteTableState<T>['columnGroups'];
2037
+ columnGroupsDepthsMap: InfiniteTableState<T>['columnGroupsDepthsMap'];
1587
2038
  columnGroupsMaxDepth: number;
1588
2039
  columns: InfiniteTableComputedColumn<T>[];
1589
2040
  headerHeight: number;
@@ -1618,11 +2069,35 @@ declare module "components/hooks/useOnScroll" {
1618
2069
  }) => void;
1619
2070
  export const useOnScroll: (domRef: RefObject<HTMLElement>, onScroll: OnScroll | undefined) => void;
1620
2071
  }
2072
+ declare module "components/VirtualScrollContainer/VirtualScrollContainer.css" {
2073
+ export const VirtualScrollContainerCls: string;
2074
+ export const ScrollableCls: {
2075
+ true: string;
2076
+ false: string;
2077
+ visible: string;
2078
+ auto: string;
2079
+ hidden: string;
2080
+ };
2081
+ export const ScrollableHorizontalCls: {
2082
+ true: string;
2083
+ false: string;
2084
+ visible: string;
2085
+ auto: string;
2086
+ hidden: string;
2087
+ };
2088
+ export const ScrollableVerticalCls: {
2089
+ true: string;
2090
+ false: string;
2091
+ visible: string;
2092
+ auto: string;
2093
+ hidden: string;
2094
+ };
2095
+ }
1621
2096
  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'];
2097
+ type ScrollType = 'hidden' | 'visible' | 'auto';
2098
+ export type Scrollable = boolean | ScrollType | {
2099
+ vertical: boolean | ScrollType;
2100
+ horizontal: boolean | ScrollType;
1626
2101
  };
1627
2102
  export const getScrollableClassName: (scrollable: Scrollable) => string;
1628
2103
  }
@@ -1630,7 +2105,7 @@ declare module "components/VirtualScrollContainer/index" {
1630
2105
  import * as React from 'react';
1631
2106
  import { CSSProperties } from 'react';
1632
2107
  import { Scrollable } from "components/VirtualScrollContainer/getScrollableClassName";
1633
- import { Renderable } from "components/types/Renderable";
2108
+ import type { Renderable } from "components/types/Renderable";
1634
2109
  export type { Scrollable };
1635
2110
  export interface VirtualScrollContainerProps {
1636
2111
  className?: string;
@@ -1700,6 +2175,11 @@ declare module "components/VirtualList/types" {
1700
2175
  export type RenderRow = (renderProps: RenderRowParam) => Renderable;
1701
2176
  export type RenderColumn = (renderProps: RenderColumnParam) => Renderable;
1702
2177
  }
2178
+ declare module "components/VirtualList/VirtualList.css" {
2179
+ export const VirtualListCls: string;
2180
+ export const VirtualListClsOrientation: Record<"horizontal" | "vertical", string>;
2181
+ export const scrollTransformTargetCls: string;
2182
+ }
1703
2183
  declare module "components/VirtualList/VirtualList" {
1704
2184
  import { HTMLProps } from 'react';
1705
2185
  import type { VirtualListProps } from "components/VirtualList/types";
@@ -1713,19 +2193,22 @@ declare module "components/VirtualList/VirtualRowList" {
1713
2193
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes" {
1714
2194
  import type { VirtualBrain } from "components/VirtualBrain/index";
1715
2195
  import type { ScrollPosition } from "components/types/ScrollPosition";
1716
- import type { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
2196
+ import type { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
1717
2197
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1718
2198
  export interface InfiniteTableRowProps<T> {
1719
2199
  rowHeight: number;
1720
2200
  rowWidth: number;
1721
2201
  rowIndex: number;
1722
2202
  brain: VirtualBrain;
2203
+ verticalBrain: VirtualBrain;
1723
2204
  domRef: React.RefCallback<HTMLElement>;
1724
- enhancedData: InfiniteTableEnhancedData<T>;
2205
+ rowInfo: InfiniteTableRowInfo<T>;
2206
+ getData: () => InfiniteTableRowInfo<T>[];
1725
2207
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1726
2208
  repaintId?: number | string;
1727
2209
  virtualizeColumns: boolean;
1728
2210
  showZebraRows?: boolean;
2211
+ showHoverRows?: boolean;
1729
2212
  columns: InfiniteTableComputedColumn<T>[];
1730
2213
  domProps?: React.HTMLAttributes<HTMLDivElement>;
1731
2214
  }
@@ -1735,24 +2218,28 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1735
2218
  }
1736
2219
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnCell" {
1737
2220
  import { InfiniteTableColumnCellProps } from "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCellTypes";
1738
- function InfiniteTableColumnCellFn<T>(props: InfiniteTableColumnCellProps<T>): JSX.Element;
2221
+ function InfiniteTableColumnCellFn<T>(props: InfiniteTableColumnCellProps<T>): JSX.Element | null;
1739
2222
  export const InfiniteTableColumnCell: typeof InfiniteTableColumnCellFn;
1740
2223
  }
1741
2224
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowClassName" {
1742
2225
  export const InfiniteTableRowClassName: string;
1743
2226
  export const InfiniteTableRowClassName__hover: string;
1744
2227
  }
2228
+ declare module "utils/stripVar" {
2229
+ export function stripVar(cssVariableWithVarString: string): string;
2230
+ }
1745
2231
  declare module "components/InfiniteTable/components/InfiniteTableRow/useRowDOMProps" {
1746
2232
  import { MutableRefObject, RefCallback } from 'react';
1747
2233
  import type { InfiniteTableRowProps } from "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes";
1748
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2234
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1749
2235
  export type TableRowHTMLAttributes = React.HTMLAttributes<HTMLDivElement> & {
1750
2236
  'data-virtualize-columns': 'on' | 'off';
2237
+ 'data-hover-index': number;
1751
2238
  'data-row-index': number;
1752
2239
  'data-row-id': string;
1753
2240
  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>): {
2241
+ } & any;
2242
+ 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
2243
  domProps: TableRowHTMLAttributes;
1757
2244
  domRef: MutableRefObject<HTMLElement | null>;
1758
2245
  };
@@ -1773,19 +2260,20 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1773
2260
  import { VirtualBrain } from "components/VirtualBrain/index";
1774
2261
  function TableRowUnvirtualizedFn<T>(props: InfiniteTableRowProps<T> & {
1775
2262
  brain: VirtualBrain | null | undefined;
2263
+ verticalBrain: VirtualBrain;
1776
2264
  }): JSX.Element;
1777
2265
  export const TableRowUnvirtualized: typeof TableRowUnvirtualizedFn;
1778
2266
  }
1779
2267
  declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1780
2268
  import type { VirtualBrain } from "components/VirtualBrain/index";
1781
2269
  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";
2270
+ import type { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
2271
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1784
2272
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1785
2273
  type UnpinnedRenderingParams<T> = {
1786
2274
  columnShifts: number[] | null;
1787
2275
  bodySize: Size;
1788
- getData: () => InfiniteTableEnhancedData<T>[];
2276
+ getData: () => InfiniteTableRowInfo<T>[];
1789
2277
  rowHeight: number;
1790
2278
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1791
2279
  repaintId: string | number;
@@ -1799,18 +2287,16 @@ declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1799
2287
  computedUnpinnedColumnsWidth: number;
1800
2288
  computedPinnedStartWidth: number;
1801
2289
  computedPinnedEndWidth: number;
1802
- getState: () => InfiniteTableComponentState<T>;
2290
+ getState: () => InfiniteTableState<T>;
1803
2291
  };
1804
2292
  export function useUnpinnedRendering<T>(params: UnpinnedRenderingParams<T>): JSX.Element | null;
1805
2293
  }
1806
2294
  declare module "components/InfiniteTable/hooks/useOnContainerScroll" {
1807
- import { MutableRefObject } from 'react';
1808
- import type { ScrollPosition } from "components/types/ScrollPosition";
1809
2295
  import { VirtualBrain } from "components/VirtualBrain/index";
1810
- export const useOnContainerScroll: ({ verticalVirtualBrain, horizontalVirtualBrain, domRef, }: {
2296
+ export const useOnContainerScroll: <T>({ verticalVirtualBrain, horizontalVirtualBrain, reservedContentHeight, }: {
1811
2297
  verticalVirtualBrain: VirtualBrain;
1812
2298
  horizontalVirtualBrain: VirtualBrain;
1813
- domRef: MutableRefObject<HTMLDivElement | null>;
2299
+ reservedContentHeight: number;
1814
2300
  }) => {
1815
2301
  applyScrollHorizontal: ({ scrollLeft }: {
1816
2302
  scrollLeft: number;
@@ -1818,7 +2304,6 @@ declare module "components/InfiniteTable/hooks/useOnContainerScroll" {
1818
2304
  applyScrollVertical: ({ scrollTop }: {
1819
2305
  scrollTop: number;
1820
2306
  }) => void;
1821
- scrollPositionRef: MutableRefObject<ScrollPosition>;
1822
2307
  };
1823
2308
  }
1824
2309
  declare module "components/hooks/useOnMount" {
@@ -1829,6 +2314,9 @@ declare module "components/hooks/useOnMount" {
1829
2314
  };
1830
2315
  export function useOnMount(domRef: RefObject<HTMLElement>, props: OnMountProps): void;
1831
2316
  }
2317
+ declare module "components/VirtualList/InfiniteListRootClassName" {
2318
+ export const InfiniteListRootClassName = "InfiniteList";
2319
+ }
1832
2320
  declare module "components/VirtualList/RowListWithExternalScrolling" {
1833
2321
  import { CSSProperties } from 'react';
1834
2322
  import { VirtualBrain } from "components/VirtualBrain/index";
@@ -1847,15 +2335,15 @@ declare module "components/VirtualList/RowListWithExternalScrolling" {
1847
2335
  }
1848
2336
  declare module "components/InfiniteTable/hooks/usePinnedRendering" {
1849
2337
  import { VirtualBrain } from "components/VirtualBrain/index";
1850
- import { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
2338
+ import { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
1851
2339
  import type { Size } from "components/types/Size";
1852
2340
  import type { RenderRow } from "components/VirtualList/types";
1853
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2341
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1854
2342
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1855
2343
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1856
2344
  type UsePinnedParams<T> = {
1857
- getState: () => InfiniteTableComponentState<T>;
1858
- getData: () => InfiniteTableEnhancedData<T>[];
2345
+ getState: () => InfiniteTableState<T>;
2346
+ getData: () => InfiniteTableRowInfo<T>[];
1859
2347
  bodySize: Size;
1860
2348
  pinnedStartScrollListener: ScrollListener;
1861
2349
  pinnedEndScrollListener: ScrollListener;
@@ -1901,7 +2389,7 @@ declare module "components/InfiniteTable/hooks/useColumnSizeFn" {
1901
2389
  }
1902
2390
  declare module "components/InfiniteTable/hooks/useYourBrain" {
1903
2391
  import { Size } from "components/types/Size";
1904
- import { VirtualBrain } from "components/VirtualBrain/index";
2392
+ import { VirtualBrain, VirtualBrainOptions } from "components/VirtualBrain/index";
1905
2393
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1906
2394
  type UseYourBrainParam<T = any> = {
1907
2395
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
@@ -1910,6 +2398,7 @@ declare module "components/InfiniteTable/hooks/useYourBrain" {
1910
2398
  dataArray: any[];
1911
2399
  rowHeight: number;
1912
2400
  bodySize: Size;
2401
+ rowSpan?: VirtualBrainOptions['itemSpan'];
1913
2402
  };
1914
2403
  export function useYourBrain<T = any>(param: UseYourBrainParam<T>): {
1915
2404
  horizontalVirtualBrain: VirtualBrain;
@@ -2006,6 +2495,374 @@ declare module "components/CSSVariableWatch" {
2006
2495
  }) => void;
2007
2496
  export const CSSVariableWatch: (props: CSSVariableWatcherProps) => JSX.Element;
2008
2497
  }
2498
+ declare module "components/InfiniteTable/hooks/useDOMProps" {
2499
+ import { FocusEvent } from 'react';
2500
+ export function useDOMProps<T>(initialDOMProps?: React.HTMLProps<HTMLDivElement>): {
2501
+ onFocus: (event: FocusEvent<HTMLDivElement>) => void;
2502
+ onBlur: (event: FocusEvent<HTMLDivElement>) => void;
2503
+ accept?: string | undefined;
2504
+ acceptCharset?: string | undefined;
2505
+ action?: string | undefined;
2506
+ allowFullScreen?: boolean | undefined;
2507
+ allowTransparency?: boolean | undefined;
2508
+ alt?: string | undefined;
2509
+ as?: string | undefined;
2510
+ async?: boolean | undefined;
2511
+ autoComplete?: string | undefined;
2512
+ autoFocus?: boolean | undefined;
2513
+ autoPlay?: boolean | undefined;
2514
+ capture?: string | boolean | undefined;
2515
+ cellPadding?: string | number | undefined;
2516
+ cellSpacing?: string | number | undefined;
2517
+ charSet?: string | undefined;
2518
+ challenge?: string | undefined;
2519
+ checked?: boolean | undefined;
2520
+ cite?: string | undefined;
2521
+ classID?: string | undefined;
2522
+ cols?: number | undefined;
2523
+ colSpan?: number | undefined;
2524
+ content?: string | undefined;
2525
+ controls?: boolean | undefined;
2526
+ coords?: string | undefined;
2527
+ crossOrigin?: string | undefined;
2528
+ data?: string | undefined;
2529
+ dateTime?: string | undefined;
2530
+ default?: boolean | undefined;
2531
+ defer?: boolean | undefined;
2532
+ disabled?: boolean | undefined;
2533
+ download?: any;
2534
+ encType?: string | undefined;
2535
+ form?: string | undefined;
2536
+ formAction?: string | undefined;
2537
+ formEncType?: string | undefined;
2538
+ formMethod?: string | undefined;
2539
+ formNoValidate?: boolean | undefined;
2540
+ formTarget?: string | undefined;
2541
+ frameBorder?: string | number | undefined;
2542
+ headers?: string | undefined;
2543
+ height?: string | number | undefined;
2544
+ high?: number | undefined;
2545
+ href?: string | undefined;
2546
+ hrefLang?: string | undefined;
2547
+ htmlFor?: string | undefined;
2548
+ httpEquiv?: string | undefined;
2549
+ integrity?: string | undefined;
2550
+ keyParams?: string | undefined;
2551
+ keyType?: string | undefined;
2552
+ kind?: string | undefined;
2553
+ label?: string | undefined;
2554
+ list?: string | undefined;
2555
+ loop?: boolean | undefined;
2556
+ low?: number | undefined;
2557
+ manifest?: string | undefined;
2558
+ marginHeight?: number | undefined;
2559
+ marginWidth?: number | undefined;
2560
+ max?: string | number | undefined;
2561
+ maxLength?: number | undefined;
2562
+ media?: string | undefined;
2563
+ mediaGroup?: string | undefined;
2564
+ method?: string | undefined;
2565
+ min?: string | number | undefined;
2566
+ minLength?: number | undefined;
2567
+ multiple?: boolean | undefined;
2568
+ muted?: boolean | undefined;
2569
+ name?: string | undefined;
2570
+ nonce?: string | undefined;
2571
+ noValidate?: boolean | undefined;
2572
+ open?: boolean | undefined;
2573
+ optimum?: number | undefined;
2574
+ pattern?: string | undefined;
2575
+ placeholder?: string | undefined;
2576
+ playsInline?: boolean | undefined;
2577
+ poster?: string | undefined;
2578
+ preload?: string | undefined;
2579
+ readOnly?: boolean | undefined;
2580
+ rel?: string | undefined;
2581
+ required?: boolean | undefined;
2582
+ reversed?: boolean | undefined;
2583
+ rows?: number | undefined;
2584
+ rowSpan?: number | undefined;
2585
+ sandbox?: string | undefined;
2586
+ scope?: string | undefined;
2587
+ scoped?: boolean | undefined;
2588
+ scrolling?: string | undefined;
2589
+ seamless?: boolean | undefined;
2590
+ selected?: boolean | undefined;
2591
+ shape?: string | undefined;
2592
+ size?: number | undefined;
2593
+ sizes?: string | undefined;
2594
+ span?: number | undefined;
2595
+ src?: string | undefined;
2596
+ srcDoc?: string | undefined;
2597
+ srcLang?: string | undefined;
2598
+ srcSet?: string | undefined;
2599
+ start?: number | undefined;
2600
+ step?: string | number | undefined;
2601
+ summary?: string | undefined;
2602
+ target?: string | undefined;
2603
+ type?: string | undefined;
2604
+ useMap?: string | undefined;
2605
+ value?: string | number | readonly string[] | undefined;
2606
+ width?: string | number | undefined;
2607
+ wmode?: string | undefined;
2608
+ wrap?: string | undefined;
2609
+ defaultChecked?: boolean | undefined;
2610
+ defaultValue?: string | number | readonly string[] | undefined;
2611
+ suppressContentEditableWarning?: boolean | undefined;
2612
+ suppressHydrationWarning?: boolean | undefined;
2613
+ accessKey?: string | undefined;
2614
+ className?: string | undefined;
2615
+ contentEditable?: "inherit" | (boolean | "false" | "true") | undefined;
2616
+ contextMenu?: string | undefined;
2617
+ dir?: string | undefined;
2618
+ draggable?: (boolean | "false" | "true") | undefined;
2619
+ hidden?: boolean | undefined;
2620
+ id?: string | undefined;
2621
+ lang?: string | undefined;
2622
+ slot?: string | undefined;
2623
+ spellCheck?: (boolean | "false" | "true") | undefined;
2624
+ style?: import("react").CSSProperties | undefined;
2625
+ tabIndex: number;
2626
+ title?: string | undefined;
2627
+ translate?: "yes" | "no" | undefined;
2628
+ radioGroup?: string | undefined;
2629
+ role?: import("react").AriaRole | undefined;
2630
+ about?: string | undefined;
2631
+ datatype?: string | undefined;
2632
+ inlist?: any;
2633
+ prefix?: string | undefined;
2634
+ property?: string | undefined;
2635
+ resource?: string | undefined;
2636
+ typeof?: string | undefined;
2637
+ vocab?: string | undefined;
2638
+ autoCapitalize?: string | undefined;
2639
+ autoCorrect?: string | undefined;
2640
+ autoSave?: string | undefined;
2641
+ color?: string | undefined;
2642
+ itemProp?: string | undefined;
2643
+ itemScope?: boolean | undefined;
2644
+ itemType?: string | undefined;
2645
+ itemID?: string | undefined;
2646
+ itemRef?: string | undefined;
2647
+ results?: number | undefined;
2648
+ security?: string | undefined;
2649
+ unselectable?: "on" | "off" | undefined;
2650
+ inputMode?: "search" | "numeric" | "none" | "url" | "text" | "decimal" | "tel" | "email" | undefined;
2651
+ is?: string | undefined;
2652
+ 'aria-activedescendant'?: string | undefined;
2653
+ 'aria-atomic'?: boolean | "false" | "true" | undefined;
2654
+ 'aria-autocomplete'?: "inline" | "both" | "none" | "list" | undefined;
2655
+ 'aria-busy'?: boolean | "false" | "true" | undefined;
2656
+ 'aria-checked'?: boolean | "mixed" | "false" | "true" | undefined;
2657
+ 'aria-colcount'?: number | undefined;
2658
+ 'aria-colindex'?: number | undefined;
2659
+ 'aria-colspan'?: number | undefined;
2660
+ 'aria-controls'?: string | undefined;
2661
+ 'aria-current'?: boolean | "location" | "time" | "false" | "page" | "true" | "step" | "date" | undefined;
2662
+ 'aria-describedby'?: string | undefined;
2663
+ 'aria-details'?: string | undefined;
2664
+ 'aria-disabled'?: boolean | "false" | "true" | undefined;
2665
+ 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
2666
+ 'aria-errormessage'?: string | undefined;
2667
+ 'aria-expanded'?: boolean | "false" | "true" | undefined;
2668
+ 'aria-flowto'?: string | undefined;
2669
+ 'aria-grabbed'?: boolean | "false" | "true" | undefined;
2670
+ 'aria-haspopup'?: boolean | "grid" | "dialog" | "menu" | "false" | "listbox" | "true" | "tree" | undefined;
2671
+ 'aria-hidden'?: boolean | "false" | "true" | undefined;
2672
+ 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
2673
+ 'aria-keyshortcuts'?: string | undefined;
2674
+ 'aria-label'?: string | undefined;
2675
+ 'aria-labelledby'?: string | undefined;
2676
+ 'aria-level'?: number | undefined;
2677
+ 'aria-live'?: "off" | "assertive" | "polite" | undefined;
2678
+ 'aria-modal'?: boolean | "false" | "true" | undefined;
2679
+ 'aria-multiline'?: boolean | "false" | "true" | undefined;
2680
+ 'aria-multiselectable'?: boolean | "false" | "true" | undefined;
2681
+ 'aria-orientation'?: "horizontal" | "vertical" | undefined;
2682
+ 'aria-owns'?: string | undefined;
2683
+ 'aria-placeholder'?: string | undefined;
2684
+ 'aria-posinset'?: number | undefined;
2685
+ 'aria-pressed'?: boolean | "mixed" | "false" | "true" | undefined;
2686
+ 'aria-readonly'?: boolean | "false" | "true" | undefined;
2687
+ 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
2688
+ 'aria-required'?: boolean | "false" | "true" | undefined;
2689
+ 'aria-roledescription'?: string | undefined;
2690
+ 'aria-rowcount'?: number | undefined;
2691
+ 'aria-rowindex'?: number | undefined;
2692
+ 'aria-rowspan'?: number | undefined;
2693
+ 'aria-selected'?: boolean | "false" | "true" | undefined;
2694
+ 'aria-setsize'?: number | undefined;
2695
+ 'aria-sort'?: "none" | "other" | "ascending" | "descending" | undefined;
2696
+ 'aria-valuemax'?: number | undefined;
2697
+ 'aria-valuemin'?: number | undefined;
2698
+ 'aria-valuenow'?: number | undefined;
2699
+ 'aria-valuetext'?: string | undefined;
2700
+ children?: import("react").ReactNode;
2701
+ dangerouslySetInnerHTML?: {
2702
+ __html: string;
2703
+ } | undefined;
2704
+ onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2705
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2706
+ onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2707
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2708
+ onPaste?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2709
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
2710
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2711
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2712
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2713
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2714
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2715
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
2716
+ onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
2717
+ onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
2718
+ onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2719
+ onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2720
+ onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2721
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2722
+ onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2723
+ onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2724
+ onReset?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2725
+ onResetCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2726
+ onSubmit?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2727
+ onSubmitCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2728
+ onInvalid?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2729
+ onInvalidCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
2730
+ onLoad?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2731
+ onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2732
+ onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2733
+ onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2734
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2735
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2736
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2737
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2738
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2739
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
2740
+ onAbort?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2741
+ onAbortCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2742
+ onCanPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2743
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2744
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2745
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2746
+ onDurationChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2747
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2748
+ onEmptied?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2749
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2750
+ onEncrypted?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2751
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2752
+ onEnded?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2753
+ onEndedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2754
+ onLoadedData?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2755
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2756
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2757
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2758
+ onLoadStart?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2759
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2760
+ onPause?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2761
+ onPauseCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2762
+ onPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2763
+ onPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2764
+ onPlaying?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2765
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2766
+ onProgress?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2767
+ onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2768
+ onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2769
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2770
+ onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2771
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2772
+ onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2773
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2774
+ onStalled?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2775
+ onStalledCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2776
+ onSuspend?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2777
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2778
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2779
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2780
+ onVolumeChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2781
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2782
+ onWaiting?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2783
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2784
+ onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2785
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2786
+ onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2787
+ onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2788
+ onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2789
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2790
+ onDoubleClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2791
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2792
+ onDrag?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2793
+ onDragCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2794
+ onDragEnd?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2795
+ onDragEndCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2796
+ onDragEnter?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2797
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2798
+ onDragExit?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2799
+ onDragExitCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2800
+ onDragLeave?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2801
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2802
+ onDragOver?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2803
+ onDragOverCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2804
+ onDragStart?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2805
+ onDragStartCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2806
+ onDrop?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2807
+ onDropCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
2808
+ onMouseDown?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2809
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2810
+ onMouseEnter?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2811
+ onMouseLeave?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2812
+ onMouseMove?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2813
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2814
+ onMouseOut?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2815
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2816
+ onMouseOver?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2817
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2818
+ onMouseUp?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2819
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
2820
+ onSelect?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2821
+ onSelectCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
2822
+ onTouchCancel?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2823
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2824
+ onTouchEnd?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2825
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2826
+ onTouchMove?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2827
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2828
+ onTouchStart?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2829
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
2830
+ onPointerDown?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2831
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2832
+ onPointerMove?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2833
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2834
+ onPointerUp?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2835
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2836
+ onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2837
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2838
+ onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2839
+ onPointerEnterCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2840
+ onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2841
+ onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2842
+ onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2843
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2844
+ onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2845
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2846
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2847
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2848
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2849
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
2850
+ onScroll?: import("react").UIEventHandler<HTMLDivElement> | undefined;
2851
+ onScrollCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
2852
+ onWheel?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
2853
+ onWheelCapture?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
2854
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2855
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2856
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2857
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2858
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2859
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
2860
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
2861
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
2862
+ ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
2863
+ key?: import("react").Key | null | undefined;
2864
+ };
2865
+ }
2009
2866
  declare module "components/InfiniteTable/index" {
2010
2867
  import * as React from 'react';
2011
2868
  import type { InfiniteTableProps } from "components/InfiniteTable/types/index";
@@ -2015,7 +2872,7 @@ declare module "components/InfiniteTable/index" {
2015
2872
  export namespace InfiniteTable {
2016
2873
  var defaultProps: {
2017
2874
  rowHeight: number;
2018
- headerHeight: string;
2875
+ headerHeight: import("@vanilla-extract/private").CSSVarFunction;
2019
2876
  };
2020
2877
  }
2021
2878
  export * from "components/InfiniteTable/types/index";
@@ -2024,4 +2881,6 @@ declare module "@infinite-table/infinite-react" {
2024
2881
  export * from "components/InfiniteTable/index";
2025
2882
  export * from "components/DataSource/index";
2026
2883
  export { group, flatten } from "utils/groupAndPivot/index";
2884
+ export { useComponentState, getComponentStateRoot, } from "components/hooks/useComponentState";
2885
+ export { interceptMap } from "components/hooks/useInterceptedMap";
2027
2886
  }