@infinite-table/infinite-react 0.0.2-canary.2 → 0.0.2-canary.6

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