@infinite-table/infinite-react 0.0.2-canary.2 → 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,7 +1244,7 @@ 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>;
@@ -1006,7 +1273,6 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
1006
1273
  };
1007
1274
  type GetComputedVisibleColumnsParam<T> = {
1008
1275
  columns: Map<string, InfiniteTableColumn<T>>;
1009
- generatedColumns: InfiniteTableGeneratedColumns<T>;
1010
1276
  bodySize: Size;
1011
1277
  columnMinWidth?: number;
1012
1278
  columnMaxWidth?: number;
@@ -1023,7 +1289,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
1023
1289
  columnVisibility: InfiniteTablePropColumnVisibility;
1024
1290
  columnVisibilityAssumeVisible: boolean;
1025
1291
  };
1026
- 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>;
1027
1293
  }
1028
1294
  declare module "components/hooks/useRerender" {
1029
1295
  export const useRerender: () => [number, () => void];
@@ -1045,7 +1311,7 @@ declare module "components/hooks/useInterceptedMap" {
1045
1311
  export function useInterceptedMap<K, V>(map: Map<K, V>, fns: InterceptedMapFns<K, V>): void;
1046
1312
  }
1047
1313
  declare module "components/InfiniteTable/utils/rafFn" {
1048
- export const rafFn: (fn: () => void) => () => void;
1314
+ export const rafFn: (fn: (...args: any[]) => void) => (...args: any[]) => void;
1049
1315
  }
1050
1316
  declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
1051
1317
  export const useRerenderOnKeyChange: <K extends unknown, V extends unknown>(map: Map<K, V>) => number;
@@ -1053,12 +1319,11 @@ declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
1053
1319
  declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1054
1320
  import type { DataSourceSingleSortInfo } from "components/DataSource/types";
1055
1321
  import type { InfiniteTableColumn } from "components/InfiniteTable/types/index";
1056
- import type { InfiniteTableGeneratedColumns, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1322
+ import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
1057
1323
  import type { Size } from "components/types/Size";
1058
1324
  import type { GetComputedVisibleColumnsResult } from "components/InfiniteTable/utils/getComputedVisibleColumns";
1059
1325
  type UseComputedVisibleColumnsParam<T> = {
1060
1326
  columns: Map<string, InfiniteTableColumn<T>>;
1061
- generatedColumns: InfiniteTableGeneratedColumns<T>;
1062
1327
  bodySize: Size;
1063
1328
  columnMinWidth?: number;
1064
1329
  columnMaxWidth?: number;
@@ -1092,7 +1357,7 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
1092
1357
  computedPinnedStartWidth: GetComputedVisibleColumnsResult<T>['computedPinnedStartWidth'];
1093
1358
  computedColumnOrder: GetComputedVisibleColumnsResult<T>['computedColumnOrder'];
1094
1359
  };
1095
- 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>;
1096
1361
  }
1097
1362
  declare module "components/DataSource/publicHooks/useDataSourceActions" {
1098
1363
  import { DataSourceComponentActions } from "components/DataSource/types";
@@ -1104,89 +1369,9 @@ declare module "components/InfiniteTable/hooks/useColumnAggregations" {
1104
1369
  declare module "components/InfiniteTable/hooks/useColumnGroups" {
1105
1370
  export function useColumnGroups<T>(): void;
1106
1371
  }
1107
- declare module "style/utilities" {
1108
- export const ICSS: {
1109
- variables: {
1110
- space: [string, string, string, string, string, string, string, string, string, string, string];
1111
- borderRadius: string;
1112
- fontSize: [string, string, string, string, string, string, string, string];
1113
- };
1114
- alignItems: {
1115
- center: string;
1116
- stretch: string;
1117
- };
1118
- justifyContent: {
1119
- center: string;
1120
- 'flex-start': string;
1121
- flexStart: string;
1122
- 'flex-end': string;
1123
- flexEnd: string;
1124
- };
1125
- overflow: {
1126
- hidden: string;
1127
- visible: string;
1128
- auto: string;
1129
- };
1130
- overflowX: {
1131
- hidden: string;
1132
- visible: string;
1133
- auto: string;
1134
- };
1135
- overflowY: {
1136
- hidden: string;
1137
- visible: string;
1138
- auto: string;
1139
- };
1140
- cursor: {
1141
- pointer: string;
1142
- };
1143
- height: {
1144
- 0: string;
1145
- '100%': string;
1146
- };
1147
- width: {
1148
- 0: string;
1149
- '100%': string;
1150
- };
1151
- top: {
1152
- 0: string;
1153
- '100%': string;
1154
- };
1155
- left: {
1156
- 0: string;
1157
- '100%': string;
1158
- };
1159
- transform: {
1160
- translate3D000: string;
1161
- };
1162
- willChange: {
1163
- transform: string;
1164
- };
1165
- position: {
1166
- relative: string;
1167
- absolute: string;
1168
- fixed: string;
1169
- };
1170
- display: {
1171
- flex: string;
1172
- };
1173
- flexFlow: {
1174
- row: string;
1175
- column: string;
1176
- };
1177
- whiteSpace: {
1178
- nowrap: string;
1179
- };
1180
- textOverflow: {
1181
- ellipsis: string;
1182
- };
1183
- userSelect: {
1184
- none: string;
1185
- };
1186
- };
1187
- }
1188
- declare module "style/css" {
1189
- export const cssEllipsisClassName: string;
1372
+ declare module "utils/join" {
1373
+ const join: (...args: (string | number | void | null)[]) => string;
1374
+ export { join };
1190
1375
  }
1191
1376
  declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1192
1377
  import * as React from 'react';
@@ -1203,37 +1388,81 @@ declare module "components/InfiniteTable/components/icons/ExpanderIcon" {
1203
1388
  declare module "components/InfiniteTable/state/getComputedPivotColumnsFromDataSourcePivotColumns" {
1204
1389
  import { DataSourcePropGroupRowsBy, DataSourcePropPivotBy } from "components/DataSource/index";
1205
1390
  import { InfiniteTableProps } from "components/InfiniteTable/types/index";
1206
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
1391
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1207
1392
  export function getComputedPivotColumnsFromDataSourcePivotColumns<T>(pivotColumns: InfiniteTableProps<T>['pivotColumns'], params: {
1208
1393
  toggleGroupRow: (groupKeys: any[]) => void;
1209
1394
  pivotColumn: InfiniteTableProps<T>['pivotColumn'];
1210
1395
  pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
1211
- pivotTotalColumnPosition: InfiniteTableComponentState<T>['pivotTotalColumnPosition'];
1396
+ pivotTotalColumnPosition: InfiniteTableState<T>['pivotTotalColumnPosition'];
1212
1397
  pivotBy: DataSourcePropPivotBy<T>;
1213
1398
  groupRowsBy: DataSourcePropGroupRowsBy<T>;
1214
1399
  }): InfiniteTableProps<T>['pivotColumns'];
1215
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
+ }
1216
1432
  declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
1433
+ import { InfiniteTableColumnRenderParam } from "components/InfiniteTable/index";
1217
1434
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1218
1435
  import { InfiniteTableGeneratedGroupColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
1219
- 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;
1220
1442
  export function getColumnForGroupBy<T>(options: GroupColumnGetterOptions<T> & {
1221
1443
  groupIndex: number;
1222
1444
  groupBy: DataSourceGroupRowsBy<T>;
1445
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1223
1446
  }, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1224
1447
  export function getSingleGroupColumn<T>(options: GroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T>): InfiniteTableGeneratedGroupColumn<T>;
1225
1448
  }
1226
- 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";
1227
1455
  import { DataSourceGroupRowsBy } from "components/DataSource/index";
1228
- import { InfiniteTableGeneratedColumns, InfiniteTablePropGroupRenderStrategy, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
1229
- export function useGeneratedGroupAndPivotColumns<T>(): void;
1230
- 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>>;
1231
1460
  groupRowsBy: DataSourceGroupRowsBy<T>[];
1232
1461
  toggleGroupRow: (groupKeys: any[]) => void;
1233
1462
  groupColumn: InfiniteTableProps<T>['groupColumn'];
1234
1463
  groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1235
1464
  pivotColumns: InfiniteTableProps<T>['pivotColumns'];
1236
- }): InfiniteTableGeneratedColumns<T>;
1465
+ }): Map<string, InfiniteTableColumn<T>> | undefined;
1237
1466
  }
1238
1467
  declare module "components/InfiniteTable/hooks/useComputed" {
1239
1468
  import { InfiniteTableComputedValues } from "components/InfiniteTable/types/index";
@@ -1268,6 +1497,9 @@ declare module "components/VirtualBrain/index" {
1268
1497
  export type VirtualBrainOptions = {
1269
1498
  mainAxis: MainAxisOptions;
1270
1499
  itemSize: MainAxisSize;
1500
+ itemSpan?: ({ itemIndex }: {
1501
+ itemIndex: number;
1502
+ }) => number;
1271
1503
  count: number;
1272
1504
  name?: string;
1273
1505
  };
@@ -1283,6 +1515,8 @@ declare module "components/VirtualBrain/index" {
1283
1515
  export class VirtualBrain extends Logger {
1284
1516
  private scrollPosition;
1285
1517
  private scrollPositionOnMainAxis;
1518
+ private itemSpanParent;
1519
+ private itemSpanValue;
1286
1520
  private itemSizeCache;
1287
1521
  private itemOffsetCache;
1288
1522
  private options;
@@ -1317,10 +1551,19 @@ declare module "components/VirtualBrain/index" {
1317
1551
  onTotalSizeChange: (fn: OnSizeChangeFn) => () => void;
1318
1552
  onRenderCountChange: (fn: OnRenderCountChangeFn) => () => void;
1319
1553
  onRenderRangeChange: (fn: OnRenderRangeChangeFn) => () => void;
1320
- update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize']) => void;
1554
+ update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize'], newItemSpan?: VirtualBrainOptions['itemSpan']) => void;
1321
1555
  private reset;
1556
+ private computeItemSpanUpTo;
1322
1557
  private computeCacheFor;
1323
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
+ */
1324
1567
  getItemSize: (itemIndex: number) => number;
1325
1568
  getTotalSize: () => number;
1326
1569
  getItemAt: (scrollPos: number) => number;
@@ -1339,6 +1582,198 @@ declare module "components/InfiniteTable/components/ScrollbarPlaceholder" {
1339
1582
  }): JSX.Element | null;
1340
1583
  export const VerticalScrollbarPlaceholder: React.MemoExoticComponent<typeof VerticalScrollbarPlaceholderFn>;
1341
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
+ }
1342
1777
  declare module "components/InfiniteTable/hooks/useInfiniteTableState" {
1343
1778
  import { InfiniteTableState } from "components/InfiniteTable/types/index";
1344
1779
  export const useInfiniteTableState: <T>() => InfiniteTableState<T>;
@@ -1348,7 +1783,7 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1348
1783
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/index";
1349
1784
  import { Renderable } from "components/types/Renderable";
1350
1785
  import { OnResizeFn } from "components/types/Size";
1351
- import { InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
1786
+ import { InfiniteTableRowInfo, InfiniteTablePropGroupRenderStrategy } from "components/InfiniteTable/types/index";
1352
1787
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1353
1788
  export interface InfiniteTableCellProps<T> {
1354
1789
  column: InfiniteTableComputedColumn<T>;
@@ -1365,9 +1800,13 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1365
1800
  }
1366
1801
  export interface InfiniteTableColumnCellProps<T> extends Omit<InfiniteTableCellProps<T>, 'children'> {
1367
1802
  virtualized: boolean;
1368
- enhancedData: InfiniteTableEnhancedData<T>;
1803
+ hidden: boolean;
1804
+ rowInfo: InfiniteTableRowInfo<T>;
1805
+ groupRenderStrategy: InfiniteTablePropGroupRenderStrategy;
1806
+ getData: () => InfiniteTableRowInfo<T>[];
1369
1807
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1370
1808
  rowIndex: number;
1809
+ rowHeight: number;
1371
1810
  }
1372
1811
  export interface InfiniteTableHeaderCellProps<T> extends Omit<InfiniteTableCellProps<T>, 'children'> {
1373
1812
  columns: Map<string, InfiniteTableComputedColumn<T>>;
@@ -1408,8 +1847,11 @@ declare module "components/InfiniteTable/hooks/useColumnPointerEvents" {
1408
1847
  };
1409
1848
  }
1410
1849
  declare module "components/InfiniteTable/hooks/useCellClassName" {
1850
+ import { HeaderCellVariantsType } from "components/InfiniteTable/components/InfiniteTableHeader/header.css";
1411
1851
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1412
- 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;
1413
1855
  }
1414
1856
  declare module "components/InfiniteTable/components/icons/SortIcon" {
1415
1857
  import * as React from 'react';
@@ -1433,6 +1875,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1433
1875
  import { Renderable } from "components/types/Renderable";
1434
1876
  import { VirtualBrain } from "components/VirtualBrain/index";
1435
1877
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1878
+ import { InfiniteTableColumnPinned } from "components/InfiniteTable/types/InfiniteTableColumn";
1436
1879
  import { InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
1437
1880
  export type InfiniteTableHeaderProps<T> = {
1438
1881
  repaintId?: string | number;
@@ -1440,6 +1883,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1440
1883
  columns: InfiniteTableComputedColumn<T>[];
1441
1884
  totalWidth: number;
1442
1885
  availableWidth: number;
1886
+ pinning: InfiniteTableColumnPinned;
1443
1887
  };
1444
1888
  export type InfiniteTableHeaderGroupProps<T> = {
1445
1889
  columns: InfiniteTableComputedColumn<T>[];
@@ -1449,7 +1893,6 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1449
1893
  headerHeight: number;
1450
1894
  };
1451
1895
  export type InfiniteTableHeaderUnvirtualizedProps<T> = Omit<InfiniteTableHeaderProps<T>, 'repaintId' | 'brain'> & {
1452
- classNameModifiers?: string[];
1453
1896
  brain?: VirtualBrain;
1454
1897
  scrollListener?: ScrollListener;
1455
1898
  scrollable?: boolean;
@@ -1463,11 +1906,19 @@ declare module "components/RawList/types" {
1463
1906
  domRef: RefCallback<HTMLElement>;
1464
1907
  itemIndex: number;
1465
1908
  itemSize: number;
1909
+ itemSizeWithSpan: number;
1910
+ itemSpan: number;
1911
+ spanParent: number;
1912
+ covered: boolean;
1466
1913
  };
1467
1914
  export type RenderItem = (renderProps: RenderItemParam) => Renderable;
1915
+ export type RawListItemSpan = (itemSpanProps: {
1916
+ itemIndex: number;
1917
+ }) => number;
1468
1918
  export type RawListProps = {
1469
1919
  debugChannel?: string;
1470
1920
  renderItem: RenderItem;
1921
+ itemSpan?: RawListItemSpan;
1471
1922
  brain: VirtualBrain;
1472
1923
  repaintId?: string | number;
1473
1924
  };
@@ -1552,8 +2003,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1552
2003
  export const InfiniteTableHeader: typeof InfiniteTableHeaderFn;
1553
2004
  }
1554
2005
  declare module "components/InfiniteTable/components/InfiniteTableHeader/buildColumnAndGroupTree" {
1555
- import { InfiniteTableColumnGroup, InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1556
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2006
+ import { InfiniteTableColumnGroup, InfiniteTableComputedColumn, InfiniteTableState } from "components/InfiniteTable/types/index";
1557
2007
  export type ColGroupTreeBaseItem = {
1558
2008
  id: string;
1559
2009
  groupOffset: number;
@@ -1572,7 +2022,7 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/buildCol
1572
2022
  columnItems: ColGroupTreeColumnItem<T>[];
1573
2023
  };
1574
2024
  export type ColGroupTreeItem<T> = ColGroupTreeColumnItem<T> | ColGroupTreeGroupItem<T>;
1575
- 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>[];
1576
2026
  }
1577
2027
  declare module "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup" {
1578
2028
  import { InfiniteTableHeaderGroupProps } from "components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderTypes";
@@ -1581,10 +2031,10 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
1581
2031
  }
1582
2032
  declare module "components/InfiniteTable/components/InfiniteTableHeader/renderColumnHeaderGroups" {
1583
2033
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1584
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2034
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1585
2035
  type BuildColumnHeaderGroupsConfig<T> = {
1586
- columnGroups: InfiniteTableComponentState<T>['columnGroups'];
1587
- columnGroupsDepthsMap: InfiniteTableComponentState<T>['columnGroupsDepthsMap'];
2036
+ columnGroups: InfiniteTableState<T>['columnGroups'];
2037
+ columnGroupsDepthsMap: InfiniteTableState<T>['columnGroupsDepthsMap'];
1588
2038
  columnGroupsMaxDepth: number;
1589
2039
  columns: InfiniteTableComputedColumn<T>[];
1590
2040
  headerHeight: number;
@@ -1619,11 +2069,35 @@ declare module "components/hooks/useOnScroll" {
1619
2069
  }) => void;
1620
2070
  export const useOnScroll: (domRef: RefObject<HTMLElement>, onScroll: OnScroll | undefined) => void;
1621
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
+ }
1622
2096
  declare module "components/VirtualScrollContainer/getScrollableClassName" {
1623
- import { ICSS } from "style/utilities";
1624
- export type Scrollable = boolean | keyof typeof ICSS['overflow'] | {
1625
- vertical: boolean | keyof typeof ICSS['overflow'];
1626
- 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;
1627
2101
  };
1628
2102
  export const getScrollableClassName: (scrollable: Scrollable) => string;
1629
2103
  }
@@ -1631,7 +2105,7 @@ declare module "components/VirtualScrollContainer/index" {
1631
2105
  import * as React from 'react';
1632
2106
  import { CSSProperties } from 'react';
1633
2107
  import { Scrollable } from "components/VirtualScrollContainer/getScrollableClassName";
1634
- import { Renderable } from "components/types/Renderable";
2108
+ import type { Renderable } from "components/types/Renderable";
1635
2109
  export type { Scrollable };
1636
2110
  export interface VirtualScrollContainerProps {
1637
2111
  className?: string;
@@ -1701,6 +2175,11 @@ declare module "components/VirtualList/types" {
1701
2175
  export type RenderRow = (renderProps: RenderRowParam) => Renderable;
1702
2176
  export type RenderColumn = (renderProps: RenderColumnParam) => Renderable;
1703
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
+ }
1704
2183
  declare module "components/VirtualList/VirtualList" {
1705
2184
  import { HTMLProps } from 'react';
1706
2185
  import type { VirtualListProps } from "components/VirtualList/types";
@@ -1714,19 +2193,22 @@ declare module "components/VirtualList/VirtualRowList" {
1714
2193
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes" {
1715
2194
  import type { VirtualBrain } from "components/VirtualBrain/index";
1716
2195
  import type { ScrollPosition } from "components/types/ScrollPosition";
1717
- import type { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
2196
+ import type { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
1718
2197
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1719
2198
  export interface InfiniteTableRowProps<T> {
1720
2199
  rowHeight: number;
1721
2200
  rowWidth: number;
1722
2201
  rowIndex: number;
1723
2202
  brain: VirtualBrain;
2203
+ verticalBrain: VirtualBrain;
1724
2204
  domRef: React.RefCallback<HTMLElement>;
1725
- enhancedData: InfiniteTableEnhancedData<T>;
2205
+ rowInfo: InfiniteTableRowInfo<T>;
2206
+ getData: () => InfiniteTableRowInfo<T>[];
1726
2207
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1727
2208
  repaintId?: number | string;
1728
2209
  virtualizeColumns: boolean;
1729
2210
  showZebraRows?: boolean;
2211
+ showHoverRows?: boolean;
1730
2212
  columns: InfiniteTableComputedColumn<T>[];
1731
2213
  domProps?: React.HTMLAttributes<HTMLDivElement>;
1732
2214
  }
@@ -1736,24 +2218,28 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1736
2218
  }
1737
2219
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnCell" {
1738
2220
  import { InfiniteTableColumnCellProps } from "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCellTypes";
1739
- function InfiniteTableColumnCellFn<T>(props: InfiniteTableColumnCellProps<T>): JSX.Element;
2221
+ function InfiniteTableColumnCellFn<T>(props: InfiniteTableColumnCellProps<T>): JSX.Element | null;
1740
2222
  export const InfiniteTableColumnCell: typeof InfiniteTableColumnCellFn;
1741
2223
  }
1742
2224
  declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowClassName" {
1743
2225
  export const InfiniteTableRowClassName: string;
1744
2226
  export const InfiniteTableRowClassName__hover: string;
1745
2227
  }
2228
+ declare module "utils/stripVar" {
2229
+ export function stripVar(cssVariableWithVarString: string): string;
2230
+ }
1746
2231
  declare module "components/InfiniteTable/components/InfiniteTableRow/useRowDOMProps" {
1747
2232
  import { MutableRefObject, RefCallback } from 'react';
1748
2233
  import type { InfiniteTableRowProps } from "components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes";
1749
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2234
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1750
2235
  export type TableRowHTMLAttributes = React.HTMLAttributes<HTMLDivElement> & {
1751
2236
  'data-virtualize-columns': 'on' | 'off';
2237
+ 'data-hover-index': number;
1752
2238
  'data-row-index': number;
1753
2239
  'data-row-id': string;
1754
2240
  ref: RefCallback<HTMLElement | null>;
1755
- };
1756
- 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>): {
1757
2243
  domProps: TableRowHTMLAttributes;
1758
2244
  domRef: MutableRefObject<HTMLElement | null>;
1759
2245
  };
@@ -1774,19 +2260,20 @@ declare module "components/InfiniteTable/components/InfiniteTableRow/InfiniteTab
1774
2260
  import { VirtualBrain } from "components/VirtualBrain/index";
1775
2261
  function TableRowUnvirtualizedFn<T>(props: InfiniteTableRowProps<T> & {
1776
2262
  brain: VirtualBrain | null | undefined;
2263
+ verticalBrain: VirtualBrain;
1777
2264
  }): JSX.Element;
1778
2265
  export const TableRowUnvirtualized: typeof TableRowUnvirtualizedFn;
1779
2266
  }
1780
2267
  declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1781
2268
  import type { VirtualBrain } from "components/VirtualBrain/index";
1782
2269
  import type { Size } from "components/types/Size";
1783
- import type { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
1784
- 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";
1785
2272
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1786
2273
  type UnpinnedRenderingParams<T> = {
1787
2274
  columnShifts: number[] | null;
1788
2275
  bodySize: Size;
1789
- getData: () => InfiniteTableEnhancedData<T>[];
2276
+ getData: () => InfiniteTableRowInfo<T>[];
1790
2277
  rowHeight: number;
1791
2278
  toggleGroupRow: InfiniteTableToggleGroupRowFn;
1792
2279
  repaintId: string | number;
@@ -1800,18 +2287,16 @@ declare module "components/InfiniteTable/hooks/useUnpinnedRendering" {
1800
2287
  computedUnpinnedColumnsWidth: number;
1801
2288
  computedPinnedStartWidth: number;
1802
2289
  computedPinnedEndWidth: number;
1803
- getState: () => InfiniteTableComponentState<T>;
2290
+ getState: () => InfiniteTableState<T>;
1804
2291
  };
1805
2292
  export function useUnpinnedRendering<T>(params: UnpinnedRenderingParams<T>): JSX.Element | null;
1806
2293
  }
1807
2294
  declare module "components/InfiniteTable/hooks/useOnContainerScroll" {
1808
- import { MutableRefObject } from 'react';
1809
- import type { ScrollPosition } from "components/types/ScrollPosition";
1810
2295
  import { VirtualBrain } from "components/VirtualBrain/index";
1811
- export const useOnContainerScroll: ({ verticalVirtualBrain, horizontalVirtualBrain, domRef, }: {
2296
+ export const useOnContainerScroll: <T>({ verticalVirtualBrain, horizontalVirtualBrain, reservedContentHeight, }: {
1812
2297
  verticalVirtualBrain: VirtualBrain;
1813
2298
  horizontalVirtualBrain: VirtualBrain;
1814
- domRef: MutableRefObject<HTMLDivElement | null>;
2299
+ reservedContentHeight: number;
1815
2300
  }) => {
1816
2301
  applyScrollHorizontal: ({ scrollLeft }: {
1817
2302
  scrollLeft: number;
@@ -1819,7 +2304,6 @@ declare module "components/InfiniteTable/hooks/useOnContainerScroll" {
1819
2304
  applyScrollVertical: ({ scrollTop }: {
1820
2305
  scrollTop: number;
1821
2306
  }) => void;
1822
- scrollPositionRef: MutableRefObject<ScrollPosition>;
1823
2307
  };
1824
2308
  }
1825
2309
  declare module "components/hooks/useOnMount" {
@@ -1830,6 +2314,9 @@ declare module "components/hooks/useOnMount" {
1830
2314
  };
1831
2315
  export function useOnMount(domRef: RefObject<HTMLElement>, props: OnMountProps): void;
1832
2316
  }
2317
+ declare module "components/VirtualList/InfiniteListRootClassName" {
2318
+ export const InfiniteListRootClassName = "InfiniteList";
2319
+ }
1833
2320
  declare module "components/VirtualList/RowListWithExternalScrolling" {
1834
2321
  import { CSSProperties } from 'react';
1835
2322
  import { VirtualBrain } from "components/VirtualBrain/index";
@@ -1848,15 +2335,15 @@ declare module "components/VirtualList/RowListWithExternalScrolling" {
1848
2335
  }
1849
2336
  declare module "components/InfiniteTable/hooks/usePinnedRendering" {
1850
2337
  import { VirtualBrain } from "components/VirtualBrain/index";
1851
- import { InfiniteTableComputedColumn, InfiniteTableEnhancedData } from "components/InfiniteTable/types/index";
2338
+ import { InfiniteTableComputedColumn, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
1852
2339
  import type { Size } from "components/types/Size";
1853
2340
  import type { RenderRow } from "components/VirtualList/types";
1854
- import { InfiniteTableComponentState } from "components/InfiniteTable/types/InfiniteTableState";
2341
+ import { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
1855
2342
  import { InfiniteTableToggleGroupRowFn } from "components/InfiniteTable/types/InfiniteTableColumn";
1856
2343
  import { ScrollListener } from "components/VirtualBrain/ScrollListener";
1857
2344
  type UsePinnedParams<T> = {
1858
- getState: () => InfiniteTableComponentState<T>;
1859
- getData: () => InfiniteTableEnhancedData<T>[];
2345
+ getState: () => InfiniteTableState<T>;
2346
+ getData: () => InfiniteTableRowInfo<T>[];
1860
2347
  bodySize: Size;
1861
2348
  pinnedStartScrollListener: ScrollListener;
1862
2349
  pinnedEndScrollListener: ScrollListener;
@@ -1902,7 +2389,7 @@ declare module "components/InfiniteTable/hooks/useColumnSizeFn" {
1902
2389
  }
1903
2390
  declare module "components/InfiniteTable/hooks/useYourBrain" {
1904
2391
  import { Size } from "components/types/Size";
1905
- import { VirtualBrain } from "components/VirtualBrain/index";
2392
+ import { VirtualBrain, VirtualBrainOptions } from "components/VirtualBrain/index";
1906
2393
  import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
1907
2394
  type UseYourBrainParam<T = any> = {
1908
2395
  computedUnpinnedColumns: InfiniteTableComputedColumn<T>[];
@@ -1911,6 +2398,7 @@ declare module "components/InfiniteTable/hooks/useYourBrain" {
1911
2398
  dataArray: any[];
1912
2399
  rowHeight: number;
1913
2400
  bodySize: Size;
2401
+ rowSpan?: VirtualBrainOptions['itemSpan'];
1914
2402
  };
1915
2403
  export function useYourBrain<T = any>(param: UseYourBrainParam<T>): {
1916
2404
  horizontalVirtualBrain: VirtualBrain;
@@ -2007,6 +2495,374 @@ declare module "components/CSSVariableWatch" {
2007
2495
  }) => void;
2008
2496
  export const CSSVariableWatch: (props: CSSVariableWatcherProps) => JSX.Element;
2009
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
+ }
2010
2866
  declare module "components/InfiniteTable/index" {
2011
2867
  import * as React from 'react';
2012
2868
  import type { InfiniteTableProps } from "components/InfiniteTable/types/index";
@@ -2016,7 +2872,7 @@ declare module "components/InfiniteTable/index" {
2016
2872
  export namespace InfiniteTable {
2017
2873
  var defaultProps: {
2018
2874
  rowHeight: number;
2019
- headerHeight: string;
2875
+ headerHeight: import("@vanilla-extract/private").CSSVarFunction;
2020
2876
  };
2021
2877
  }
2022
2878
  export * from "components/InfiniteTable/types/index";