@infinite-table/infinite-react 4.3.3 → 4.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -116,410 +116,37 @@ declare class DeepMap<KeyType, ValueType> {
116
116
  private sortedIterator;
117
117
  }
118
118
 
119
- declare enum InfiniteTableActionType {
120
- SET_COLUMN_SIZE = 0,
121
- SET_SCROLL_POSITION = 1,
122
- SET_BODY_SIZE = 2,
123
- SET_COLUMN_ORDER = 3,
124
- SET_COLUMN_VISIBILITY = 4,
125
- SET_COLUMN_SHIFTS = 5,
126
- SET_COLUMN_PINNING = 6,
127
- SET_COLUMN_AGGREGATIONS = 7,
128
- SET_DRAGGING_COLUMN_ID = 8
129
- }
119
+ declare type VoidFn = () => void;
130
120
 
131
- declare type InfiniteTableAction = {
132
- type: InfiniteTableActionType;
133
- payload?: any;
121
+ declare type FixedPosition = false | 'start' | 'end';
122
+ declare type SpanFunction = ({ rowIndex, colIndex, }: {
123
+ rowIndex: number;
124
+ colIndex: number;
125
+ }) => number;
126
+ declare type RenderRangeType = {
127
+ startIndex: number;
128
+ endIndex: number;
134
129
  };
135
-
136
- declare type InfiniteTableBaseCellProps<T> = {
137
- column: InfiniteTableComputedColumn<T>;
138
- align?: InfiniteTableColumnAlignValues;
139
- rowId?: any;
140
- renderChildren: () => Renderable;
130
+ declare type ItemSizeFunction = (index: number) => number;
131
+ declare type MatrixBrainOptions = {
141
132
  width: number;
142
- cssEllipsis?: boolean;
143
- contentStyle?: CSSProperties;
144
- contentClassName?: string;
145
- virtualized?: boolean;
146
- skipColumnShifting?: boolean;
147
- beforeChildren?: Renderable;
148
- afterChildren?: Renderable;
149
- cssPosition?: CSSProperties['position'];
150
- domRef?: React.RefCallback<HTMLElement>;
151
- };
152
- declare type InfiniteTableCellProps<T> = ({
153
- cellType: 'header';
154
- } & InfiniteTableBaseCellProps<T>) | ({
155
- cellType: 'body';
156
- } & InfiniteTableBaseCellProps<T>);
157
-
158
- declare type DiscriminatedUnion<A, B> = (A & {
159
- [K in keyof B]?: undefined;
160
- }) | (B & {
161
- [K in keyof A]?: undefined;
162
- });
163
- declare type KeyOfNoSymbol<T> = Exclude<keyof T, Symbol>;
164
- /**
165
- * Restrict using either exclusively the keys of T or exclusively the keys of U.
166
- *
167
- * No unique keys of T can be used simultaneously with any unique keys of U.
168
- *
169
- * @example
170
- *```
171
- * const myVar: XOR<T, U>
172
- *```
173
- *
174
- * @see https://github.com/maninak/ts-xor/tree/master#description
175
- */
176
- declare type XOR<T, U> = T | U extends object ? Prettify<Without<T, U> & U> | Prettify<Without<U, T> & T> : T | U;
177
- /**
178
- * Useful if applying XOR on more than 2 types.
179
- * It comes with the penalty of having the types wrapped in an array
180
- *
181
- * @example
182
- * ```
183
- * AllXOR<[
184
- * { a: AModule },
185
- * { b: BModule },
186
- * { c: CModule },
187
- * { d: DModule }
188
- * ]>
189
- * ```
190
- * @see https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-723571692
191
- */
192
- declare type AllXOR<T extends any[]> = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? AllXOR<[XOR<A, B>, ...Rest]> : never;
193
- /**
194
- * Get the keys of T without any keys of U.
195
- */
196
- declare type Without<T, U> = {
197
- [P in Exclude<keyof T, keyof U>]?: never;
198
- };
199
- /**
200
- * Resolve mapped types and show the derived keys and their types when hovering in
201
- * IDEs, instead of just showing the names those mapped types are defined with.
202
- */
203
- declare type Prettify<T> = {
204
- [K in keyof T]: T[K];
205
- } & {};
206
-
207
- declare type MenuIconProps = {
208
- lineWidth?: number;
209
- lineStyle?: React$1.CSSProperties;
210
- style?: React$1.CSSProperties;
211
- className?: string;
212
- domProps?: React$1.HTMLAttributes<HTMLDivElement>;
213
- reserveSpaceWhenHidden?: boolean;
214
- menuVisible?: boolean;
215
- children?: React$1.ReactNode;
216
- };
217
- declare function MenuIcon(props: MenuIconProps): React$1.JSX.Element;
218
-
219
- declare type NonUndefined<T> = T extends undefined ? never : T;
220
-
221
- declare type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
222
- declare type InfiniteTableToggleRowDetailsFn = (id: any) => void;
223
- declare type InfiniteTableSelectRowFn = (id: any) => void;
224
- declare type InfiniteTableColumnHeaderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
225
- dragging: boolean;
226
- column: COL_TYPE;
227
- columnsMap: Map<string, COL_TYPE>;
228
- columnSortInfo: DataSourceSingleSortInfo<DATA_TYPE> | null;
229
- columnFilterValue: DataSourceFilterValueItem<DATA_TYPE> | null;
230
- selectionMode: DataSourcePropSelectionMode;
231
- allRowsSelected: boolean;
232
- someRowsSelected: boolean;
233
- filtered: boolean;
234
- api: InfiniteTableApi<DATA_TYPE>;
235
- columnApi: InfiniteTableColumnApi<DATA_TYPE>;
236
- renderBag: {
237
- all?: Renderable;
238
- header: string | number | Renderable;
239
- sortIcon?: Renderable;
240
- menuIcon?: Renderable;
241
- menuIconProps?: MenuIconProps;
242
- filterIcon?: Renderable;
243
- selectionCheckBox?: Renderable;
244
- };
245
- } & ({
246
- domRef: InfiniteTableCellProps<DATA_TYPE>['domRef'];
247
- insideColumnMenu: false;
248
- } | {
249
- insideColumnMenu: true;
250
- });
251
- declare type InfiniteTableColumnRenderBag = {
252
- value: string | number | Renderable;
253
- groupIcon?: Renderable;
254
- rowDetailsIcon?: Renderable;
255
- all?: Renderable;
256
- selectionCheckBox?: Renderable;
257
- };
258
- declare type InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
259
- domRef: InfiniteTableCellProps<DATA_TYPE>['domRef'];
260
- value: string | number | Renderable;
261
- align: InfiniteTableColumnAlignValues;
262
- verticalAlign: InfiniteTableColumnVerticalAlignValues;
263
- renderBag: InfiniteTableColumnRenderBag;
264
- rowIndex: number;
265
- rowActive: boolean;
266
- api: InfiniteTableApi<DATA_TYPE>;
267
- editError?: Error;
268
- column: COL_TYPE;
269
- columnsMap: Map<string, COL_TYPE>;
270
- fieldsToColumn: Map<keyof DATA_TYPE, COL_TYPE>;
271
- groupByColumn?: InfiniteTableComputedColumn<DATA_TYPE>;
272
- toggleCurrentGroupRow: () => void;
273
- toggleGroupRow: InfiniteTableToggleGroupRowFn;
274
- toggleCurrentGroupRowSelection: () => void;
275
- toggleCurrentRowSelection: () => void;
276
- toggleCurrentRowDetails: () => void;
277
- toggleRowDetails: InfiniteTableToggleRowDetailsFn;
278
- expandRowDetails: InfiniteTableToggleRowDetailsFn;
279
- collapseRowDetails: InfiniteTableToggleRowDetailsFn;
280
- rowHasSelectedCells: boolean;
281
- cellSelected: boolean;
282
- selectCurrentRow: () => void;
283
- selectRow: InfiniteTableSelectRowFn;
284
- deselectRow: InfiniteTableSelectRowFn;
285
- deselectCurrentRow: () => void;
286
- selectCell: () => void;
287
- deselectCell: () => void;
288
- toggleRowSelection: InfiniteTableSelectRowFn;
289
- toggleGroupRowSelection: InfiniteTableToggleGroupRowFn;
290
- selectionMode: DataSourcePropSelectionMode | undefined;
291
- rootGroupBy: DataSourceState<DATA_TYPE>['groupBy'];
292
- pivotBy?: DataSourceState<DATA_TYPE>['pivotBy'];
133
+ height: number;
134
+ cols: number;
135
+ rows: number;
136
+ rowHeight: number | ItemSizeFunction;
137
+ colWidth: number | ItemSizeFunction;
138
+ rowspan?: SpanFunction;
139
+ colspan?: SpanFunction;
293
140
  };
294
- declare type InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE> & InfiniteTableRowInfoDataDiscriminator<DATA_TYPE>;
295
- declare type InfiniteTableColumnRenderValueParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE>;
296
- declare type InfiniteTableColumnRowspanParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
297
- rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
298
- data: DATA_TYPE | Partial<DATA_TYPE> | null;
299
- dataArray: InfiniteTableRowInfo<DATA_TYPE>[];
300
- rowIndex: number;
301
- column: COL_TYPE;
141
+ declare type TableRenderRange = {
142
+ start: [number, number];
143
+ end: [number, number];
144
+ rowFixed?: FixedPosition;
145
+ colFixed?: FixedPosition;
302
146
  };
303
- declare type InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE> & {
304
- isGroupRow: true;
305
- }) => Renderable | null;
306
- declare type InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE> & {
307
- isGroupRow: false;
308
- }) => Renderable | null;
309
- declare type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE>) => Renderable | null;
310
- declare type InfiniteTableColumnHeaderRenderFunction<T> = (headerParams: InfiniteTableColumnHeaderParam<T>) => Renderable;
311
- declare type InfiniteTableColumnContentFocusable<T> = boolean | InfiniteTableColumnContentFocusableFn<T>;
312
- declare type InfiniteTableColumnEditable<T> = boolean | InfiniteTableColumnEditableFn<T>;
313
- declare type InfiniteTableColumnContentFocusableFn<T> = (params: InfiniteTableColumnContentFocusableParams<T>) => boolean;
314
- declare type InfiniteTableColumnEditableFn<T> = (params: InfiniteTableColumnEditableParams<T>) => boolean | Promise<boolean>;
315
- declare type InfiniteTableColumnContentFocusableParams<T> = InfiniteTableRowInfoDataDiscriminatorWithColumnAndApis<T>;
316
- declare type InfiniteTableColumnEditableParams<T> = InfiniteTableColumnContentFocusableParams<T>;
317
- declare type InfiniteTableColumnGetValueToPersistParams<T> = InfiniteTableColumnEditableParams<T> & {
318
- initialValue: any;
319
- };
320
- declare type InfiniteTableColumnAlignValues = 'start' | 'center' | 'end';
321
- declare type InfiniteTableColumnVerticalAlignValues = 'start' | 'center' | 'end';
322
- declare type InfiniteTableColumnHeader<T> = Renderable | InfiniteTableColumnHeaderRenderFunction<T>;
323
- declare type InfiniteTableDataTypeNames = 'string' | 'number' | 'date' | string;
324
- declare type InfiniteTableColumnTypeNames = 'string' | 'number' | 'date' | string;
325
- declare type InfiniteTableColumnStylingFnParams<T> = {
326
- value: Renderable;
327
- column: InfiniteTableComputedColumn<T>;
328
- inEdit: boolean;
329
- rowHasSelectedCells: boolean;
330
- editError: InfiniteTableColumnRenderParamBase<T>['editError'];
331
- } & InfiniteTableRowInfoDataDiscriminator<T>;
332
- declare type InfiniteTableColumnStyleFn<T> = (params: InfiniteTableColumnStylingFnParams<T>) => undefined | React__default.CSSProperties;
333
- declare type InfiniteTableColumnHeaderClassNameFn<T> = (params: InfiniteTableColumnHeaderParam<T>) => undefined | string;
334
- declare type InfiniteTableColumnHeaderStyleFn<T> = (params: InfiniteTableColumnHeaderParam<T>) => undefined | React__default.CSSProperties;
335
- declare type InfiniteTableColumnClassNameFn<T> = (params: InfiniteTableColumnStylingFnParams<T>) => undefined | string;
336
- declare type InfiniteTableColumnStyle<T> = CSSProperties | InfiniteTableColumnStyleFn<T>;
337
- declare type InfiniteTableColumnAlign<T> = InfiniteTableColumnAlignValues | InfiniteTableColumnAlignFn<T>;
338
- declare type InfiniteTableColumnVerticalAlign<T> = InfiniteTableColumnVerticalAlignValues | InfiniteTableColumnVerticalAlignFn<T>;
339
- declare type InfiniteTableColumnAlignFn<T> = (params: InfiniteTableColumnAlignFnParams<T>) => InfiniteTableColumnAlignValues;
340
- declare type InfiniteTableColumnAlignFnParams<T> = XOR<{
341
- isHeader: true;
342
- column: InfiniteTableComputedColumn<T>;
343
- }, InfiniteTableColumnStylingFnParams<T> & {
344
- isHeader: false;
345
- }>;
346
- declare type InfiniteTableColumnVerticalAlignFn<T> = (params: InfiniteTableColumnAlignFnParams<T>) => InfiniteTableColumnVerticalAlignValues;
347
- declare type InfiniteTableColumnHeaderStyle<T> = CSSProperties | InfiniteTableColumnHeaderStyleFn<T>;
348
- declare type InfiniteTableColumnClassName<T> = string | InfiniteTableColumnClassNameFn<T>;
349
- declare type InfiniteTableColumnHeaderClassName<T> = string | InfiniteTableColumnHeaderClassNameFn<T>;
350
- declare type InfiniteTableColumnValueGetterParams<T> = ValueGetterParams<T>;
351
- declare type InfiniteTableColumnValueFormatterParams<T> = InfiniteTableRowInfoDataDiscriminator<T>;
352
- declare type InfiniteTableColumnValueGetter<T, VALUE_GETTER_TYPE = string | number | boolean | Date | null | undefined> = (params: InfiniteTableColumnValueGetterParams<T>) => VALUE_GETTER_TYPE;
353
- declare type InfiniteTableColumnValueFormatter<T, VALUE_FORMATTER_TYPE = string | number | boolean | Date | null | undefined> = (params: InfiniteTableColumnValueFormatterParams<T>) => VALUE_FORMATTER_TYPE;
354
- declare type InfiniteTableColumnRowspanFn<T> = (params: InfiniteTableColumnRowspanParam<T>) => number;
355
- declare type InfiniteTableColumnComparer<T> = (a: T, b: T) => number;
356
- declare type InfiniteTableColumnSortableFn<T> = (context: {
357
- api: InfiniteTableApi<T>;
358
- columnApi: InfiniteTableColumnApi<T>;
359
- column: InfiniteTableComputedColumn<T>;
360
- columns: Map<string, InfiniteTableComputedColumn<T>>;
361
- }) => boolean;
362
- declare type InfiniteTableColumnSortable<T> = boolean | InfiniteTableColumnSortableFn<T>;
363
- /**
364
- * Defines a column in the table.
365
- *
366
- * @typeParam DATA_TYPE The type of the data in the table.
367
- *
368
- * Can be bound to a field which is a `keyof DATA_TYPE`.
369
- */
370
- declare type InfiniteTableColumn<DATA_TYPE> = {
371
- field?: KeyOfNoSymbol<DATA_TYPE>;
372
- valueGetter?: InfiniteTableColumnValueGetter<DATA_TYPE>;
373
- defaultSortable?: InfiniteTableColumnSortable<DATA_TYPE>;
374
- draggable?: boolean;
375
- resizable?: boolean;
376
- shouldAcceptEdit?: (params: InfiniteTablePropOnEditAcceptedParams<DATA_TYPE>) => boolean | Error | Promise<boolean | Error>;
377
- contentFocusable?: InfiniteTableColumnContentFocusable<DATA_TYPE>;
378
- defaultEditable?: InfiniteTableColumnEditable<DATA_TYPE>;
379
- getValueToEdit?: (params: InfiniteTableColumnEditableParams<DATA_TYPE>) => any | Promise<any>;
380
- getValueToPersist?: (params: InfiniteTableColumnGetValueToPersistParams<DATA_TYPE>) => any | Promise<any>;
381
- comparer?: InfiniteTableColumnComparer<DATA_TYPE>;
382
- defaultHiddenWhenGroupedBy?: '*' | true | keyof DATA_TYPE | {
383
- [k in keyof Partial<DATA_TYPE>]: true;
384
- };
385
- align?: InfiniteTableColumnAlign<DATA_TYPE>;
386
- headerAlign?: InfiniteTableColumnAlign<DATA_TYPE>;
387
- verticalAlign?: InfiniteTableColumnVerticalAlign<DATA_TYPE>;
388
- columnGroup?: string;
389
- header?: InfiniteTableColumnHeader<DATA_TYPE>;
390
- renderHeader?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
391
- name?: Renderable;
392
- cssEllipsis?: boolean;
393
- headerCssEllipsis?: boolean;
394
- type?: InfiniteTableColumnTypeNames | InfiniteTableColumnTypeNames[] | null;
395
- dataType?: InfiniteTableDataTypeNames;
396
- sortType?: string | string[];
397
- filterType?: string;
398
- style?: InfiniteTableColumnStyle<DATA_TYPE>;
399
- headerStyle?: InfiniteTableColumnHeaderStyle<DATA_TYPE>;
400
- headerClassName?: InfiniteTableColumnHeaderClassName<DATA_TYPE>;
401
- className?: InfiniteTableColumnClassName<DATA_TYPE>;
402
- rowspan?: InfiniteTableColumnRowspanFn<DATA_TYPE>;
403
- render?: InfiniteTableColumnRenderFunction<DATA_TYPE>;
404
- renderValue?: InfiniteTableColumnRenderFunction<DATA_TYPE>;
405
- renderGroupValue?: InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE>;
406
- renderLeafValue?: InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE>;
407
- valueFormatter?: InfiniteTableColumnValueFormatter<DATA_TYPE, Renderable>;
408
- defaultWidth?: number;
409
- defaultFlex?: number;
410
- defaultFilterable?: boolean;
411
- minWidth?: number;
412
- maxWidth?: number;
413
- renderGroupIcon?: InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE>;
414
- renderRowDetailIcon?: boolean | InfiniteTableColumnRenderFunction<DATA_TYPE>;
415
- renderSortIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
416
- renderFilterIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
417
- renderSelectionCheckBox?: boolean | InfiniteTableColumnRenderFunction<DATA_TYPE>;
418
- renderMenuIcon?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
419
- renderHeaderSelectionCheckBox?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
420
- components?: {
421
- ColumnCell?: (props: HTMLProps<HTMLDivElement>) => JSX.Element | null;
422
- HeaderCell?: (props: HTMLProps<HTMLDivElement>) => JSX.Element | null;
423
- Editor?: () => JSX.Element | null;
424
- FilterEditor?: () => JSX.Element | null;
425
- FilterOperatorSwitch?: () => JSX.Element | null;
426
- MenuIcon?: (props: MenuIconProps) => JSX.Element | null;
427
- };
428
- };
429
- declare type InfiniteTableGeneratedGroupColumn<T> = Omit<InfiniteTableColumn<T>, 'defaultSortable'> & {
430
- groupByForColumn: GroupBy<T> | GroupBy<T>[];
431
- id?: string;
432
- };
433
- declare type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & ColumnTypeWithInherit<Partial<InfiniteTablePivotFinalColumnVariant<T, any>>>;
434
- declare type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
435
- pivotBy: DataSourcePivotBy<DataType>[];
436
- pivotTotalColumnGroup?: true;
437
- pivotGroupKeys: KeyType[];
438
- pivotByAtIndex: PivotBy<DataType, KeyType>;
439
- pivotGroupKey: KeyType;
440
- pivotIndex: number;
441
- };
442
- declare type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTableColumn<DataType> & {
443
- pivotBy: DataSourcePivotBy<DataType>[];
444
- pivotColumn: true;
445
- pivotTotalColumn: boolean;
446
- pivotAggregator: AggregationReducer<DataType, any>;
447
- pivotAggregatorIndex: number;
448
- pivotGroupKeys: KeyType[];
449
- pivotByAtIndex?: PivotBy<DataType, KeyType>;
450
- pivotIndex: number;
451
- pivotGroupKey: KeyType;
452
- };
453
- declare type InfiniteTablePivotFinalColumnVariant<DataType, KeyType extends any = any> = InfiniteTablePivotFinalColumn<DataType, KeyType>;
454
- declare type InfiniteTableComputedColumnBase<T> = {
455
- computedFilterType: string;
456
- computedSortType: string | string[];
457
- computedDataType: string;
458
- computedWidth: number;
459
- computedFlex: number | null;
460
- computedMinWidth: number;
461
- computedMaxWidth: number;
462
- computedOffset: number;
463
- computedPinningOffset: number;
464
- computedAbsoluteOffset: number;
465
- computedSortInfo: DataSourceSingleSortInfo<T> | null;
466
- computedSorted: boolean;
467
- computedSortedAsc: boolean;
468
- computedSortedDesc: boolean;
469
- computedSortIndex: number;
470
- computedVisible: boolean;
471
- computedVisibleIndex: number;
472
- computedVisibleIndexInCategory: number;
473
- computedMultiSort: boolean;
474
- computedFiltered: boolean;
475
- computedFilterable: boolean;
476
- computedFilterValue: DataSourceFilterValueItem<T> | null;
477
- computedPinned: InfiniteTableColumnPinnedValues;
478
- computedDraggable: boolean;
479
- computedResizable: boolean;
480
- computedFirstInCategory: boolean;
481
- computedLastInCategory: boolean;
482
- computedFirst: boolean;
483
- computedLast: boolean;
484
- computedEditable: NonUndefined<InfiniteTableColumn<T>['defaultEditable']>;
485
- computedSortable: NonUndefined<InfiniteTableColumn<T>['defaultSortable']>;
486
- colType: InfiniteTableColumnType<T>;
487
- id: string;
488
- };
489
- declare type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
490
- declare type InfiniteTableComputedPivotFinalColumn<T> = InfiniteTableComputedColumn<T> & InfiniteTablePivotFinalColumn<T>;
491
-
492
- declare type VoidFn = () => void;
493
-
494
- declare type FixedPosition = false | 'start' | 'end';
495
- declare type SpanFunction = ({ rowIndex, colIndex, }: {
496
- rowIndex: number;
497
- colIndex: number;
498
- }) => number;
499
- declare type RenderRangeType = {
500
- startIndex: number;
501
- endIndex: number;
502
- };
503
- declare type ItemSizeFunction = (index: number) => number;
504
- declare type MatrixBrainOptions = {
505
- width: number;
506
- height: number;
507
- cols: number;
508
- rows: number;
509
- rowHeight: number | ItemSizeFunction;
510
- colWidth: number | ItemSizeFunction;
511
- rowspan?: SpanFunction;
512
- colspan?: SpanFunction;
513
- };
514
- declare type TableRenderRange = {
515
- start: [number, number];
516
- end: [number, number];
517
- rowFixed?: FixedPosition;
518
- colFixed?: FixedPosition;
519
- };
520
- declare type WhichDirection = {
521
- horizontal?: boolean;
522
- vertical?: boolean;
147
+ declare type WhichDirection = {
148
+ horizontal?: boolean;
149
+ vertical?: boolean;
523
150
  };
524
151
  declare type FnOnRenderRangeChange = (range: TableRenderRange) => void;
525
152
  declare type FnOnDirectionalRenderRangeChange = (range: [number, number]) => void;
@@ -750,6 +377,379 @@ declare class MatrixBrain extends Logger {
750
377
  destroy: () => void;
751
378
  }
752
379
 
380
+ declare enum InfiniteTableActionType {
381
+ SET_COLUMN_SIZE = 0,
382
+ SET_SCROLL_POSITION = 1,
383
+ SET_BODY_SIZE = 2,
384
+ SET_COLUMN_ORDER = 3,
385
+ SET_COLUMN_VISIBILITY = 4,
386
+ SET_COLUMN_SHIFTS = 5,
387
+ SET_COLUMN_PINNING = 6,
388
+ SET_COLUMN_AGGREGATIONS = 7,
389
+ SET_DRAGGING_COLUMN_ID = 8
390
+ }
391
+
392
+ declare type InfiniteTableAction = {
393
+ type: InfiniteTableActionType;
394
+ payload?: any;
395
+ };
396
+
397
+ declare type InfiniteTableBaseCellProps<T> = {
398
+ column: InfiniteTableComputedColumn<T>;
399
+ align?: InfiniteTableColumnAlignValues;
400
+ rowId?: any;
401
+ renderChildren: () => Renderable;
402
+ width: number;
403
+ cssEllipsis?: boolean;
404
+ contentStyle?: CSSProperties;
405
+ contentClassName?: string;
406
+ virtualized?: boolean;
407
+ skipColumnShifting?: boolean;
408
+ beforeChildren?: Renderable;
409
+ afterChildren?: Renderable;
410
+ cssPosition?: CSSProperties['position'];
411
+ domRef?: React.RefCallback<HTMLElement>;
412
+ };
413
+ declare type InfiniteTableCellProps<T> = ({
414
+ cellType: 'header';
415
+ } & InfiniteTableBaseCellProps<T>) | ({
416
+ cellType: 'body';
417
+ } & InfiniteTableBaseCellProps<T>);
418
+
419
+ declare type DiscriminatedUnion<A, B> = (A & {
420
+ [K in keyof B]?: undefined;
421
+ }) | (B & {
422
+ [K in keyof A]?: undefined;
423
+ });
424
+ declare type KeyOfNoSymbol<T> = Exclude<keyof T, Symbol>;
425
+ /**
426
+ * Restrict using either exclusively the keys of T or exclusively the keys of U.
427
+ *
428
+ * No unique keys of T can be used simultaneously with any unique keys of U.
429
+ *
430
+ * @example
431
+ *```
432
+ * const myVar: XOR<T, U>
433
+ *```
434
+ *
435
+ * @see https://github.com/maninak/ts-xor/tree/master#description
436
+ */
437
+ declare type XOR<T, U> = T | U extends object ? Prettify<Without<T, U> & U> | Prettify<Without<U, T> & T> : T | U;
438
+ /**
439
+ * Useful if applying XOR on more than 2 types.
440
+ * It comes with the penalty of having the types wrapped in an array
441
+ *
442
+ * @example
443
+ * ```
444
+ * AllXOR<[
445
+ * { a: AModule },
446
+ * { b: BModule },
447
+ * { c: CModule },
448
+ * { d: DModule }
449
+ * ]>
450
+ * ```
451
+ * @see https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-723571692
452
+ */
453
+ declare type AllXOR<T extends any[]> = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? AllXOR<[XOR<A, B>, ...Rest]> : never;
454
+ /**
455
+ * Get the keys of T without any keys of U.
456
+ */
457
+ declare type Without<T, U> = {
458
+ [P in Exclude<keyof T, keyof U>]?: never;
459
+ };
460
+ /**
461
+ * Resolve mapped types and show the derived keys and their types when hovering in
462
+ * IDEs, instead of just showing the names those mapped types are defined with.
463
+ */
464
+ declare type Prettify<T> = {
465
+ [K in keyof T]: T[K];
466
+ } & {};
467
+
468
+ declare type MenuIconProps = {
469
+ lineWidth?: number;
470
+ lineStyle?: React$1.CSSProperties;
471
+ style?: React$1.CSSProperties;
472
+ className?: string;
473
+ domProps?: React$1.HTMLAttributes<HTMLDivElement>;
474
+ reserveSpaceWhenHidden?: boolean;
475
+ menuVisible?: boolean;
476
+ children?: React$1.ReactNode;
477
+ };
478
+ declare function MenuIcon(props: MenuIconProps): React$1.JSX.Element;
479
+
480
+ declare type NonUndefined<T> = T extends undefined ? never : T;
481
+
482
+ declare type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
483
+ declare type InfiniteTableToggleRowDetailsFn = (id: any) => void;
484
+ declare type InfiniteTableSelectRowFn = (id: any) => void;
485
+ declare type InfiniteTableColumnHeaderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
486
+ dragging: boolean;
487
+ column: COL_TYPE;
488
+ columnsMap: Map<string, COL_TYPE>;
489
+ columnSortInfo: DataSourceSingleSortInfo<DATA_TYPE> | null;
490
+ columnFilterValue: DataSourceFilterValueItem<DATA_TYPE> | null;
491
+ selectionMode: DataSourcePropSelectionMode;
492
+ allRowsSelected: boolean;
493
+ someRowsSelected: boolean;
494
+ filtered: boolean;
495
+ api: InfiniteTableApi<DATA_TYPE>;
496
+ columnApi: InfiniteTableColumnApi<DATA_TYPE>;
497
+ renderBag: {
498
+ all?: Renderable;
499
+ header: string | number | Renderable;
500
+ sortIcon?: Renderable;
501
+ menuIcon?: Renderable;
502
+ menuIconProps?: MenuIconProps;
503
+ filterIcon?: Renderable;
504
+ selectionCheckBox?: Renderable;
505
+ };
506
+ } & ({
507
+ domRef: InfiniteTableCellProps<DATA_TYPE>['domRef'];
508
+ insideColumnMenu: false;
509
+ } | {
510
+ insideColumnMenu: true;
511
+ });
512
+ declare type InfiniteTableColumnRenderBag = {
513
+ value: string | number | Renderable;
514
+ groupIcon?: Renderable;
515
+ rowDetailsIcon?: Renderable;
516
+ all?: Renderable;
517
+ selectionCheckBox?: Renderable;
518
+ };
519
+ declare type InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
520
+ domRef: InfiniteTableCellProps<DATA_TYPE>['domRef'];
521
+ value: string | number | Renderable;
522
+ align: InfiniteTableColumnAlignValues;
523
+ verticalAlign: InfiniteTableColumnVerticalAlignValues;
524
+ renderBag: InfiniteTableColumnRenderBag;
525
+ rowIndex: number;
526
+ rowActive: boolean;
527
+ api: InfiniteTableApi<DATA_TYPE>;
528
+ editError?: Error;
529
+ column: COL_TYPE;
530
+ columnsMap: Map<string, COL_TYPE>;
531
+ fieldsToColumn: Map<keyof DATA_TYPE, COL_TYPE>;
532
+ groupByColumn?: InfiniteTableComputedColumn<DATA_TYPE>;
533
+ toggleCurrentGroupRow: () => void;
534
+ toggleGroupRow: InfiniteTableToggleGroupRowFn;
535
+ toggleCurrentGroupRowSelection: () => void;
536
+ toggleCurrentRowSelection: () => void;
537
+ toggleCurrentRowDetails: () => void;
538
+ toggleRowDetails: InfiniteTableToggleRowDetailsFn;
539
+ expandRowDetails: InfiniteTableToggleRowDetailsFn;
540
+ collapseRowDetails: InfiniteTableToggleRowDetailsFn;
541
+ rowHasSelectedCells: boolean;
542
+ cellSelected: boolean;
543
+ selectCurrentRow: () => void;
544
+ selectRow: InfiniteTableSelectRowFn;
545
+ deselectRow: InfiniteTableSelectRowFn;
546
+ deselectCurrentRow: () => void;
547
+ selectCell: () => void;
548
+ deselectCell: () => void;
549
+ toggleRowSelection: InfiniteTableSelectRowFn;
550
+ toggleGroupRowSelection: InfiniteTableToggleGroupRowFn;
551
+ selectionMode: DataSourcePropSelectionMode | undefined;
552
+ rootGroupBy: DataSourceState<DATA_TYPE>['groupBy'];
553
+ pivotBy?: DataSourceState<DATA_TYPE>['pivotBy'];
554
+ };
555
+ declare type InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderParamBase<DATA_TYPE, COL_TYPE> & InfiniteTableRowInfoDataDiscriminator<DATA_TYPE>;
556
+ declare type InfiniteTableColumnRenderValueParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE>;
557
+ declare type InfiniteTableColumnRowspanParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
558
+ rowInfo: InfiniteTableRowInfo<DATA_TYPE>;
559
+ data: DATA_TYPE | Partial<DATA_TYPE> | null;
560
+ dataArray: InfiniteTableRowInfo<DATA_TYPE>[];
561
+ rowIndex: number;
562
+ column: COL_TYPE;
563
+ };
564
+ declare type InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE> & {
565
+ isGroupRow: true;
566
+ }) => Renderable | null;
567
+ declare type InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE> & {
568
+ isGroupRow: false;
569
+ }) => Renderable | null;
570
+ declare type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = (renderParams: InfiniteTableColumnCellContextType<DATA_TYPE, COL_TYPE>) => Renderable | null;
571
+ declare type InfiniteTableColumnHeaderRenderFunction<T> = (headerParams: InfiniteTableColumnHeaderParam<T>) => Renderable;
572
+ declare type InfiniteTableColumnContentFocusable<T> = boolean | InfiniteTableColumnContentFocusableFn<T>;
573
+ declare type InfiniteTableColumnEditable<T> = boolean | InfiniteTableColumnEditableFn<T>;
574
+ declare type InfiniteTableColumnContentFocusableFn<T> = (params: InfiniteTableColumnContentFocusableParams<T>) => boolean;
575
+ declare type InfiniteTableColumnEditableFn<T> = (params: InfiniteTableColumnEditableParams<T>) => boolean | Promise<boolean>;
576
+ declare type InfiniteTableColumnContentFocusableParams<T> = InfiniteTableRowInfoDataDiscriminatorWithColumnAndApis<T>;
577
+ declare type InfiniteTableColumnEditableParams<T> = InfiniteTableColumnContentFocusableParams<T>;
578
+ declare type InfiniteTableColumnGetValueToPersistParams<T> = InfiniteTableColumnEditableParams<T> & {
579
+ initialValue: any;
580
+ };
581
+ declare type InfiniteTableColumnAlignValues = 'start' | 'center' | 'end';
582
+ declare type InfiniteTableColumnVerticalAlignValues = 'start' | 'center' | 'end';
583
+ declare type InfiniteTableColumnHeader<T> = Renderable | InfiniteTableColumnHeaderRenderFunction<T>;
584
+ declare type InfiniteTableDataTypeNames = 'string' | 'number' | 'date' | string;
585
+ declare type InfiniteTableColumnTypeNames = 'string' | 'number' | 'date' | string;
586
+ declare type InfiniteTableColumnStylingFnParams<T> = {
587
+ value: Renderable;
588
+ column: InfiniteTableComputedColumn<T>;
589
+ inEdit: boolean;
590
+ rowHasSelectedCells: boolean;
591
+ editError: InfiniteTableColumnRenderParamBase<T>['editError'];
592
+ } & InfiniteTableRowInfoDataDiscriminator<T>;
593
+ declare type InfiniteTableColumnStyleFn<T> = (params: InfiniteTableColumnStylingFnParams<T>) => undefined | React__default.CSSProperties;
594
+ declare type InfiniteTableColumnHeaderClassNameFn<T> = (params: InfiniteTableColumnHeaderParam<T>) => undefined | string;
595
+ declare type InfiniteTableColumnHeaderStyleFn<T> = (params: InfiniteTableColumnHeaderParam<T>) => undefined | React__default.CSSProperties;
596
+ declare type InfiniteTableColumnClassNameFn<T> = (params: InfiniteTableColumnStylingFnParams<T>) => undefined | string;
597
+ declare type InfiniteTableColumnStyle<T> = CSSProperties | InfiniteTableColumnStyleFn<T>;
598
+ declare type InfiniteTableColumnAlign<T> = InfiniteTableColumnAlignValues | InfiniteTableColumnAlignFn<T>;
599
+ declare type InfiniteTableColumnVerticalAlign<T> = InfiniteTableColumnVerticalAlignValues | InfiniteTableColumnVerticalAlignFn<T>;
600
+ declare type InfiniteTableColumnAlignFn<T> = (params: InfiniteTableColumnAlignFnParams<T>) => InfiniteTableColumnAlignValues;
601
+ declare type InfiniteTableColumnAlignFnParams<T> = XOR<{
602
+ isHeader: true;
603
+ column: InfiniteTableComputedColumn<T>;
604
+ }, InfiniteTableColumnStylingFnParams<T> & {
605
+ isHeader: false;
606
+ }>;
607
+ declare type InfiniteTableColumnVerticalAlignFn<T> = (params: InfiniteTableColumnAlignFnParams<T>) => InfiniteTableColumnVerticalAlignValues;
608
+ declare type InfiniteTableColumnHeaderStyle<T> = CSSProperties | InfiniteTableColumnHeaderStyleFn<T>;
609
+ declare type InfiniteTableColumnClassName<T> = string | InfiniteTableColumnClassNameFn<T>;
610
+ declare type InfiniteTableColumnHeaderClassName<T> = string | InfiniteTableColumnHeaderClassNameFn<T>;
611
+ declare type InfiniteTableColumnValueGetterParams<T> = ValueGetterParams<T>;
612
+ declare type InfiniteTableColumnValueFormatterParams<T> = InfiniteTableRowInfoDataDiscriminator<T>;
613
+ declare type InfiniteTableColumnValueGetter<T, VALUE_GETTER_TYPE = string | number | boolean | Date | null | undefined> = (params: InfiniteTableColumnValueGetterParams<T>) => VALUE_GETTER_TYPE;
614
+ declare type InfiniteTableColumnValueFormatter<T, VALUE_FORMATTER_TYPE = string | number | boolean | Date | null | undefined> = (params: InfiniteTableColumnValueFormatterParams<T>) => VALUE_FORMATTER_TYPE;
615
+ declare type InfiniteTableColumnRowspanFn<T> = (params: InfiniteTableColumnRowspanParam<T>) => number;
616
+ declare type InfiniteTableColumnComparer<T> = (a: T, b: T) => number;
617
+ declare type InfiniteTableColumnSortableFn<T> = (context: {
618
+ api: InfiniteTableApi<T>;
619
+ columnApi: InfiniteTableColumnApi<T>;
620
+ column: InfiniteTableComputedColumn<T>;
621
+ columns: Map<string, InfiniteTableComputedColumn<T>>;
622
+ }) => boolean;
623
+ declare type InfiniteTableColumnSortable<T> = boolean | InfiniteTableColumnSortableFn<T>;
624
+ /**
625
+ * Defines a column in the table.
626
+ *
627
+ * @typeParam DATA_TYPE The type of the data in the table.
628
+ *
629
+ * Can be bound to a field which is a `keyof DATA_TYPE`.
630
+ */
631
+ declare type InfiniteTableColumn<DATA_TYPE> = {
632
+ field?: KeyOfNoSymbol<DATA_TYPE>;
633
+ valueGetter?: InfiniteTableColumnValueGetter<DATA_TYPE>;
634
+ defaultSortable?: InfiniteTableColumnSortable<DATA_TYPE>;
635
+ draggable?: boolean;
636
+ resizable?: boolean;
637
+ shouldAcceptEdit?: (params: InfiniteTablePropOnEditAcceptedParams<DATA_TYPE>) => boolean | Error | Promise<boolean | Error>;
638
+ contentFocusable?: InfiniteTableColumnContentFocusable<DATA_TYPE>;
639
+ defaultEditable?: InfiniteTableColumnEditable<DATA_TYPE>;
640
+ getValueToEdit?: (params: InfiniteTableColumnEditableParams<DATA_TYPE>) => any | Promise<any>;
641
+ getValueToPersist?: (params: InfiniteTableColumnGetValueToPersistParams<DATA_TYPE>) => any | Promise<any>;
642
+ comparer?: InfiniteTableColumnComparer<DATA_TYPE>;
643
+ defaultHiddenWhenGroupedBy?: '*' | true | keyof DATA_TYPE | {
644
+ [k in keyof Partial<DATA_TYPE>]: true;
645
+ };
646
+ align?: InfiniteTableColumnAlign<DATA_TYPE>;
647
+ headerAlign?: InfiniteTableColumnAlign<DATA_TYPE>;
648
+ verticalAlign?: InfiniteTableColumnVerticalAlign<DATA_TYPE>;
649
+ columnGroup?: string;
650
+ header?: InfiniteTableColumnHeader<DATA_TYPE>;
651
+ renderHeader?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
652
+ name?: Renderable;
653
+ cssEllipsis?: boolean;
654
+ headerCssEllipsis?: boolean;
655
+ type?: InfiniteTableColumnTypeNames | InfiniteTableColumnTypeNames[] | null;
656
+ dataType?: InfiniteTableDataTypeNames;
657
+ sortType?: string | string[];
658
+ filterType?: string;
659
+ style?: InfiniteTableColumnStyle<DATA_TYPE>;
660
+ headerStyle?: InfiniteTableColumnHeaderStyle<DATA_TYPE>;
661
+ headerClassName?: InfiniteTableColumnHeaderClassName<DATA_TYPE>;
662
+ className?: InfiniteTableColumnClassName<DATA_TYPE>;
663
+ rowspan?: InfiniteTableColumnRowspanFn<DATA_TYPE>;
664
+ render?: InfiniteTableColumnRenderFunction<DATA_TYPE>;
665
+ renderValue?: InfiniteTableColumnRenderFunction<DATA_TYPE>;
666
+ renderGroupValue?: InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE>;
667
+ renderLeafValue?: InfiniteTableColumnRenderFunctionForNormalRows<DATA_TYPE>;
668
+ valueFormatter?: InfiniteTableColumnValueFormatter<DATA_TYPE, Renderable>;
669
+ defaultWidth?: number;
670
+ defaultFlex?: number;
671
+ defaultFilterable?: boolean;
672
+ minWidth?: number;
673
+ maxWidth?: number;
674
+ renderGroupIcon?: InfiniteTableColumnRenderFunctionForGroupRows<DATA_TYPE>;
675
+ renderRowDetailIcon?: boolean | InfiniteTableColumnRenderFunction<DATA_TYPE>;
676
+ renderSortIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
677
+ renderFilterIcon?: InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
678
+ renderSelectionCheckBox?: boolean | InfiniteTableColumnRenderFunction<DATA_TYPE>;
679
+ renderMenuIcon?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
680
+ renderHeaderSelectionCheckBox?: boolean | InfiniteTableColumnHeaderRenderFunction<DATA_TYPE>;
681
+ components?: {
682
+ ColumnCell?: (props: HTMLProps<HTMLDivElement>) => JSX.Element | null;
683
+ HeaderCell?: (props: HTMLProps<HTMLDivElement>) => JSX.Element | null;
684
+ Editor?: () => JSX.Element | null;
685
+ FilterEditor?: () => JSX.Element | null;
686
+ FilterOperatorSwitch?: () => JSX.Element | null;
687
+ MenuIcon?: (props: MenuIconProps) => JSX.Element | null;
688
+ };
689
+ };
690
+ declare type InfiniteTableGeneratedGroupColumn<T> = Omit<InfiniteTableColumn<T>, 'defaultSortable'> & {
691
+ groupByForColumn: GroupBy<T> | GroupBy<T>[];
692
+ id?: string;
693
+ };
694
+ declare type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & ColumnTypeWithInherit<Partial<InfiniteTablePivotFinalColumnVariant<T, any>>>;
695
+ declare type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
696
+ pivotBy: DataSourcePivotBy<DataType>[];
697
+ pivotTotalColumnGroup?: true;
698
+ pivotGroupKeys: KeyType[];
699
+ pivotByAtIndex: PivotBy<DataType, KeyType>;
700
+ pivotGroupKey: KeyType;
701
+ pivotIndex: number;
702
+ };
703
+ declare type InfiniteTablePivotFinalColumn<DataType, KeyType extends any = any> = InfiniteTableColumn<DataType> & {
704
+ pivotBy: DataSourcePivotBy<DataType>[];
705
+ pivotColumn: true;
706
+ pivotTotalColumn: boolean;
707
+ pivotAggregator: AggregationReducer<DataType, any>;
708
+ pivotAggregatorIndex: number;
709
+ pivotGroupKeys: KeyType[];
710
+ pivotByAtIndex?: PivotBy<DataType, KeyType>;
711
+ pivotIndex: number;
712
+ pivotGroupKey: KeyType;
713
+ };
714
+ declare type InfiniteTablePivotFinalColumnVariant<DataType, KeyType extends any = any> = InfiniteTablePivotFinalColumn<DataType, KeyType>;
715
+ declare type InfiniteTableComputedColumnBase<T> = {
716
+ computedFilterType: string;
717
+ computedSortType: string | string[];
718
+ computedDataType: string;
719
+ computedWidth: number;
720
+ computedFlex: number | null;
721
+ computedMinWidth: number;
722
+ computedMaxWidth: number;
723
+ computedOffset: number;
724
+ computedPinningOffset: number;
725
+ computedAbsoluteOffset: number;
726
+ computedSortInfo: DataSourceSingleSortInfo<T> | null;
727
+ computedSorted: boolean;
728
+ computedSortedAsc: boolean;
729
+ computedSortedDesc: boolean;
730
+ computedSortIndex: number;
731
+ computedVisible: boolean;
732
+ computedVisibleIndex: number;
733
+ computedVisibleIndexInCategory: number;
734
+ computedMultiSort: boolean;
735
+ computedFiltered: boolean;
736
+ computedFilterable: boolean;
737
+ computedFilterValue: DataSourceFilterValueItem<T> | null;
738
+ computedPinned: InfiniteTableColumnPinnedValues;
739
+ computedDraggable: boolean;
740
+ computedResizable: boolean;
741
+ computedFirstInCategory: boolean;
742
+ computedLastInCategory: boolean;
743
+ computedFirst: boolean;
744
+ computedLast: boolean;
745
+ computedEditable: NonUndefined<InfiniteTableColumn<T>['defaultEditable']>;
746
+ computedSortable: NonUndefined<InfiniteTableColumn<T>['defaultSortable']>;
747
+ colType: InfiniteTableColumnType<T>;
748
+ id: string;
749
+ };
750
+ declare type InfiniteTableComputedColumn<T> = InfiniteTableColumn<T> & InfiniteTableComputedColumnBase<T> & Partial<InfiniteTablePivotFinalColumn<T>> & Partial<InfiniteTableGeneratedGroupColumn<T>>;
751
+ declare type InfiniteTableComputedPivotFinalColumn<T> = InfiniteTableComputedColumn<T> & InfiniteTablePivotFinalColumn<T>;
752
+
753
753
  declare class RowSizeCache {
754
754
  rowHeight: Map<number, number>;
755
755
  rowDetailHeight: Map<number, number>;
@@ -1428,6 +1428,7 @@ interface InfiniteTableMappedState<T> {
1428
1428
  autoSizeColumnsKey: InfiniteTableProps<T>['autoSizeColumnsKey'];
1429
1429
  activeRowIndex: InfiniteTableProps<T>['activeRowIndex'];
1430
1430
  activeCellIndex: InfiniteTableProps<T>['activeCellIndex'];
1431
+ onRenderRangeChange: InfiniteTableProps<T>['onRenderRangeChange'];
1431
1432
  scrollStopDelay: NonUndefined<InfiniteTableProps<T>['scrollStopDelay']>;
1432
1433
  onScrollToTop: InfiniteTableProps<T>['onScrollToTop'];
1433
1434
  onScrollToBottom: InfiniteTableProps<T>['onScrollToBottom'];
@@ -5201,6 +5202,7 @@ interface InfiniteTableProps<T> {
5201
5202
  scrollStopDelay?: number;
5202
5203
  onScrollStop?: (param: ScrollStopInfo) => void;
5203
5204
  scrollToBottomOffset?: number;
5205
+ onRenderRangeChange?: (range: TableRenderRange) => void;
5204
5206
  defaultColumnOrder?: InfiniteTablePropColumnOrder;
5205
5207
  columnOrder?: InfiniteTablePropColumnOrder;
5206
5208
  onColumnOrderChange?: (columnOrder: InfiniteTablePropColumnOrderNormalized) => void;
@@ -5400,4 +5402,4 @@ declare const components: {
5400
5402
  NumberFilterEditor: typeof NumberFilterEditor;
5401
5403
  };
5402
5404
 
5403
- export { AdvancedAlignable, CellSelectionState, CellSelectionStateObject, ColumnTypeWithInherit, DataClient, DataSource, DataSourceAction, DataSourceActionType, DataSourceAggregationReducer, DataSourceApi, DataSourceCRUDParam, DataSourceComponentActions, DataSourceContextValue, DataSourceData, DataSourceDataParams, DataSourceDataParamsChanges, DataSourceDerivedState, DataSourceFilterFunctionParam, DataSourceFilterOperator, DataSourceFilterOperatorFunction, DataSourceFilterOperatorFunctionParam, DataSourceFilterType, DataSourceFilterValueItem, DataSourceFilterValueItemValueGetter, DataSourceGroupBy, DataSourceGroupRowsList, DataSourceInsertParam, DataSourceLivePaginationCursorFn, DataSourceLivePaginationCursorParams, DataSourceLivePaginationCursorValue, DataSourceMappedState, DataSourceMappings, DataSourceMasterDetailContextValue, DataSourcePivotBy, DataSourcePropAggregationReducers, DataSourcePropCellSelection, DataSourcePropCellSelection_MultiCell, DataSourcePropCellSelection_SingleCell, DataSourcePropFilterFunction, DataSourcePropFilterTypes, DataSourcePropFilterValue, DataSourcePropGroupBy, DataSourcePropGroupRowsStateObject, DataSourcePropIsRowSelected, DataSourcePropLivePaginationCursor, DataSourcePropMultiRowSelectionChangeParamType, DataSourcePropOnCellSelectionChange, DataSourcePropOnCellSelectionChange_MultiCell, DataSourcePropOnCellSelectionChange_SingleCell, DataSourcePropOnRowSelectionChange, DataSourcePropOnRowSelectionChange_MultiRow, DataSourcePropOnRowSelectionChange_SingleRow, DataSourcePropPivotBy, DataSourcePropRowInfoReducers, DataSourcePropRowSelection, DataSourcePropRowSelection_MultiRow, DataSourcePropRowSelection_SingleRow, DataSourcePropSelectionMode, DataSourcePropShouldReloadData, DataSourcePropShouldReloadDataObject, DataSourcePropSortFn, DataSourcePropSortInfo, DataSourcePropSortTypes, DataSourceProps, DataSourcePropsWithChildren, DataSourceRawReducer, DataSourceRemoteData, DataSourceRowInfoReducer, DataSourceSetupState, DataSourceSingleSortInfo, DataSourceSortInfo, DataSourceState, DebugLogger, DeepMap, ElementContainerGetter, FixedSizeSet, GroupRowsState, InfiniteColumnEditorContextType, InfiniteTable, InfiniteTableAction, InfiniteTableActionType, InfiniteTableApi, InfiniteTableClassName, InfiniteTableColumn, InfiniteTableColumnAggregator, InfiniteTableColumnApi, InfiniteTableColumnCellContextType, InfiniteTableColumnComparer, InfiniteTableColumnGroup, InfiniteTableColumnRenderFunctionForGroupRows, InfiniteTableColumnRenderFunctionForNormalRows, InfiniteTableColumnRenderValueParam, InfiniteTableColumnRowspanParam, InfiniteTableColumnSizingOptions, InfiniteTableColumnValueFormatterParams, InfiniteTableColumnValueGetterParams, InfiniteTableComponent, InfiniteTableComputedColumn, InfiniteTableComputedValues, InfiniteTableContextValue, InfiniteTableGroupColumnBase, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePivotColumn, InfiniteTablePropAutoSizeColumnsKey, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnVisibility, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTablePropGetCellContextMenuItems, InfiniteTablePropGetColumnMenuItems, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropHeaderOptions, InfiniteTablePropKeyboardNavigation, InfiniteTablePropKeyboardShorcut, InfiniteTablePropMultiSortBehavior, InfiniteTablePropRowClassName, InfiniteTablePropRowStyle, InfiniteTableProps, InfiniteTableRowClassNameFn, InfiniteTableRowInfo, InfiniteTableRowStyleFn, InfiniteTableState, InfiniteTable_HasGrouping_RowInfoGroup, InfiniteTable_HasGrouping_RowInfoNormal, LazyGroupDataDeepMap, LazyGroupDataItem, LazyRowInfoGroup, Menu, MenuChildrenFnParam, MenuColumn, MenuColumnRenderParam, MenuDecoration, MenuIconProps, MenuItemActionContext, MenuItemDefinition, MenuItemObject, MenuProps, MenuRenderable, MenuRuntimeItem, MenuRuntimeItemSelectable, MenuSeparator, OverlayShowParams, RowDetailCache, RowDetailState, RowDetailStateObject, RowSelectionState, ScrollStopInfo, Scrollbars, ShowOverlayFn, WeakFixedSizeSet, components, debounce, debug, defaultFilterTypes, eventMatchesKeyboardShortcut, defaultFilterTypes as filterTypes, flatten, buildManagedComponent as getComponentStateRoot, group, interceptMap, keyboardShortcuts, multisort, queryKeyToCacheKey, useManagedComponentState as useComponentState, useDataSourceInternal, useDataSourceState, useEffectWithChanges, useEffectWithObject, useGridScroll, useInfiniteColumnCell, useInfiniteColumnEditor, useInfiniteColumnFilterEditor, useInfiniteHeaderCell, useManagedDataSource, useMasterRowInfo, useOverlay, useOverlayPortal, useRowInfoReducers, useVisibleColumnSizes };
5405
+ export { AdvancedAlignable, CellSelectionState, CellSelectionStateObject, ColumnTypeWithInherit, DataClient, DataSource, DataSourceAction, DataSourceActionType, DataSourceAggregationReducer, DataSourceApi, DataSourceCRUDParam, DataSourceComponentActions, DataSourceContextValue, DataSourceData, DataSourceDataParams, DataSourceDataParamsChanges, DataSourceDerivedState, DataSourceFilterFunctionParam, DataSourceFilterOperator, DataSourceFilterOperatorFunction, DataSourceFilterOperatorFunctionParam, DataSourceFilterType, DataSourceFilterValueItem, DataSourceFilterValueItemValueGetter, DataSourceGroupBy, DataSourceGroupRowsList, DataSourceInsertParam, DataSourceLivePaginationCursorFn, DataSourceLivePaginationCursorParams, DataSourceLivePaginationCursorValue, DataSourceMappedState, DataSourceMappings, DataSourceMasterDetailContextValue, DataSourcePivotBy, DataSourcePropAggregationReducers, DataSourcePropCellSelection, DataSourcePropCellSelection_MultiCell, DataSourcePropCellSelection_SingleCell, DataSourcePropFilterFunction, DataSourcePropFilterTypes, DataSourcePropFilterValue, DataSourcePropGroupBy, DataSourcePropGroupRowsStateObject, DataSourcePropIsRowSelected, DataSourcePropLivePaginationCursor, DataSourcePropMultiRowSelectionChangeParamType, DataSourcePropOnCellSelectionChange, DataSourcePropOnCellSelectionChange_MultiCell, DataSourcePropOnCellSelectionChange_SingleCell, DataSourcePropOnRowSelectionChange, DataSourcePropOnRowSelectionChange_MultiRow, DataSourcePropOnRowSelectionChange_SingleRow, DataSourcePropPivotBy, DataSourcePropRowInfoReducers, DataSourcePropRowSelection, DataSourcePropRowSelection_MultiRow, DataSourcePropRowSelection_SingleRow, DataSourcePropSelectionMode, DataSourcePropShouldReloadData, DataSourcePropShouldReloadDataObject, DataSourcePropSortFn, DataSourcePropSortInfo, DataSourcePropSortTypes, DataSourceProps, DataSourcePropsWithChildren, DataSourceRawReducer, DataSourceRemoteData, DataSourceRowInfoReducer, DataSourceSetupState, DataSourceSingleSortInfo, DataSourceSortInfo, DataSourceState, DebugLogger, DeepMap, ElementContainerGetter, FixedSizeSet, GroupRowsState, InfiniteColumnEditorContextType, InfiniteTable, InfiniteTableAction, InfiniteTableActionType, InfiniteTableApi, InfiniteTableClassName, InfiniteTableColumn, InfiniteTableColumnAggregator, InfiniteTableColumnApi, InfiniteTableColumnCellContextType, InfiniteTableColumnComparer, InfiniteTableColumnGroup, InfiniteTableColumnRenderFunctionForGroupRows, InfiniteTableColumnRenderFunctionForNormalRows, InfiniteTableColumnRenderValueParam, InfiniteTableColumnRowspanParam, InfiniteTableColumnSizingOptions, InfiniteTableColumnValueFormatterParams, InfiniteTableColumnValueGetterParams, InfiniteTableComponent, InfiniteTableComputedColumn, InfiniteTableComputedValues, InfiniteTableContextValue, InfiniteTableGroupColumnBase, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePivotColumn, InfiniteTablePropAutoSizeColumnsKey, InfiniteTablePropColumnGroups, InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinning, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnVisibility, InfiniteTablePropColumns, InfiniteTablePropComponents, InfiniteTablePropGetCellContextMenuItems, InfiniteTablePropGetColumnMenuItems, InfiniteTablePropGroupColumn, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropHeaderOptions, InfiniteTablePropKeyboardNavigation, InfiniteTablePropKeyboardShorcut, InfiniteTablePropMultiSortBehavior, InfiniteTablePropRowClassName, InfiniteTablePropRowStyle, InfiniteTableProps, InfiniteTableRowClassNameFn, InfiniteTableRowInfo, InfiniteTableRowStyleFn, InfiniteTableState, InfiniteTable_HasGrouping_RowInfoGroup, InfiniteTable_HasGrouping_RowInfoNormal, LazyGroupDataDeepMap, LazyGroupDataItem, LazyRowInfoGroup, Menu, MenuChildrenFnParam, MenuColumn, MenuColumnRenderParam, MenuDecoration, MenuIconProps, MenuItemActionContext, MenuItemDefinition, MenuItemObject, MenuProps, MenuRenderable, MenuRuntimeItem, MenuRuntimeItemSelectable, MenuSeparator, OverlayShowParams, RowDetailCache, RowDetailState, RowDetailStateObject, RowSelectionState, ScrollStopInfo, Scrollbars, ShowOverlayFn, TableRenderRange, WeakFixedSizeSet, components, debounce, debug, defaultFilterTypes, eventMatchesKeyboardShortcut, defaultFilterTypes as filterTypes, flatten, buildManagedComponent as getComponentStateRoot, group, interceptMap, keyboardShortcuts, multisort, queryKeyToCacheKey, useManagedComponentState as useComponentState, useDataSourceInternal, useDataSourceState, useEffectWithChanges, useEffectWithObject, useGridScroll, useInfiniteColumnCell, useInfiniteColumnEditor, useInfiniteColumnFilterEditor, useInfiniteHeaderCell, useManagedDataSource, useMasterRowInfo, useOverlay, useOverlayPortal, useRowInfoReducers, useVisibleColumnSizes };