@infinite-table/infinite-react 0.1.2 → 0.2.1
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.css +5 -4
- package/index.d.ts +280 -198
- package/index.esm.css +5 -4
- package/index.esm.js +1112 -673
- package/index.js +1151 -712
- package/package.json +2 -2
package/index.d.ts
CHANGED
|
@@ -49,18 +49,14 @@ declare module "utils/multisort/index" {
|
|
|
49
49
|
const getMultisortFunction: <T>(sortInfo: MultisortInfo<T>[], get?: ((item: any) => T) | undefined) => (first: T, second: T) => number;
|
|
50
50
|
export { getMultisortFunction, getSortFunctions };
|
|
51
51
|
}
|
|
52
|
-
declare module "
|
|
52
|
+
declare module "utils/DeepMap/once" {
|
|
53
53
|
export function once<ReturnType>(fn: () => ReturnType): () => ReturnType;
|
|
54
|
-
export function useOnce<ReturnType>(fn: () => ReturnType): ReturnType;
|
|
55
|
-
}
|
|
56
|
-
declare module "components/types/VoidFn" {
|
|
57
|
-
export type VoidFn = () => void;
|
|
58
54
|
}
|
|
59
|
-
declare module "utils/sortAscending" {
|
|
55
|
+
declare module "utils/DeepMap/sortAscending" {
|
|
60
56
|
export const sortAscending: (a: number, b: number) => number;
|
|
61
57
|
}
|
|
62
|
-
declare module "utils/DeepMap" {
|
|
63
|
-
|
|
58
|
+
declare module "utils/DeepMap/index" {
|
|
59
|
+
type VoidFn = () => void;
|
|
64
60
|
type Pair<KeyType, ValueType> = {
|
|
65
61
|
value?: ValueType;
|
|
66
62
|
map?: Map<KeyType, Pair<KeyType, ValueType>>;
|
|
@@ -149,7 +145,7 @@ declare module "components/hooks/useComponentState" {
|
|
|
149
145
|
[k in keyof T_STATE]?: (value: T_STATE[k], { actions, state, }: {
|
|
150
146
|
actions: ComponentStateGeneratedActions<T_STATE>;
|
|
151
147
|
state: T_STATE;
|
|
152
|
-
}) => void;
|
|
148
|
+
}) => void | boolean;
|
|
153
149
|
};
|
|
154
150
|
export type ComponentStateActions<T_STATE> = ComponentStateGeneratedActions<T_STATE>;
|
|
155
151
|
export type ForwardPropsToStateFnResult<TYPE_PROPS, TYPE_RESULT> = Partial<{
|
|
@@ -161,6 +157,11 @@ declare module "components/hooks/useComponentState" {
|
|
|
161
157
|
forwardProps?: (setupState: COMPONENT_SETUP_STATE) => ForwardPropsToStateFnResult<T_PROPS, COMPONENT_MAPPED_STATE>;
|
|
162
158
|
allowedControlledPropOverrides?: Record<keyof T_PROPS, true>;
|
|
163
159
|
interceptActions?: ComponentInterceptedActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>;
|
|
160
|
+
onPropChange?: (params: {
|
|
161
|
+
name: keyof T_PROPS;
|
|
162
|
+
oldValue: any;
|
|
163
|
+
newValue: any;
|
|
164
|
+
}, props: T_PROPS, actions: ComponentStateActions<COMPONENT_MAPPED_STATE & COMPONENT_DERIVED_STATE & COMPONENT_SETUP_STATE>) => void;
|
|
164
165
|
mapPropsToState?: (params: {
|
|
165
166
|
props: T_PROPS;
|
|
166
167
|
state: COMPONENT_MAPPED_STATE & COMPONENT_SETUP_STATE & Partial<COMPONENT_DERIVED_STATE>;
|
|
@@ -185,6 +186,9 @@ declare module "components/hooks/useComponentState" {
|
|
|
185
186
|
declare module "components/types/NonUndefined" {
|
|
186
187
|
export type NonUndefined<T> = T extends undefined ? never : T;
|
|
187
188
|
}
|
|
189
|
+
declare module "components/types/VoidFn" {
|
|
190
|
+
export type VoidFn = () => void;
|
|
191
|
+
}
|
|
188
192
|
declare module "components/types/SubscriptionCallback" {
|
|
189
193
|
import { VoidFn } from "components/types/VoidFn";
|
|
190
194
|
export type SubscriptionCallbackOnChangeFn<T> = (node: T | null) => void;
|
|
@@ -195,10 +199,107 @@ declare module "components/types/SubscriptionCallback" {
|
|
|
195
199
|
onChange: (fn: SubscriptionCallbackOnChangeFn<T>) => VoidFn;
|
|
196
200
|
}
|
|
197
201
|
}
|
|
202
|
+
declare module "components/types/Size" {
|
|
203
|
+
export interface Size {
|
|
204
|
+
width: number;
|
|
205
|
+
height: number;
|
|
206
|
+
}
|
|
207
|
+
export type OnResizeFn = (size: {
|
|
208
|
+
width: number;
|
|
209
|
+
height: number;
|
|
210
|
+
}) => void;
|
|
211
|
+
}
|
|
212
|
+
declare module "components/VirtualBrain/index" {
|
|
213
|
+
import { Logger } from "utils/debug";
|
|
214
|
+
import { Size } from "components/types/Size";
|
|
215
|
+
import type { OnScrollFn, ScrollPosition } from "components/types/ScrollPosition";
|
|
216
|
+
type MainAxisOptions = 'vertical' | 'horizontal';
|
|
217
|
+
export type VirtualBrainOptions = {
|
|
218
|
+
mainAxis: MainAxisOptions;
|
|
219
|
+
itemSize: MainAxisSize;
|
|
220
|
+
itemSpan?: ({ itemIndex }: {
|
|
221
|
+
itemIndex: number;
|
|
222
|
+
}) => number;
|
|
223
|
+
count: number;
|
|
224
|
+
name?: string;
|
|
225
|
+
};
|
|
226
|
+
export type MainAxisSize = number | ((itemIndex: number) => number);
|
|
227
|
+
type OnRenderCountChangeFn = (renderCount: number) => void;
|
|
228
|
+
type OnSizeChangeFn = (size: number) => void;
|
|
229
|
+
type OnDestroyFn = () => void;
|
|
230
|
+
export type GetItemPositionFn = (itemIndex: number) => number;
|
|
231
|
+
export type RenderRange = {
|
|
232
|
+
renderStartIndex: number;
|
|
233
|
+
renderEndIndex: number;
|
|
234
|
+
};
|
|
235
|
+
export type OnRenderRangeChangeFn = (renderRange: RenderRange) => void;
|
|
236
|
+
export class VirtualBrain extends Logger {
|
|
237
|
+
private scrollPosition;
|
|
238
|
+
private scrollPositionOnMainAxis;
|
|
239
|
+
private itemSpanParent;
|
|
240
|
+
private itemSpanValue;
|
|
241
|
+
private itemSizeCache;
|
|
242
|
+
private itemOffsetCache;
|
|
243
|
+
private options;
|
|
244
|
+
private destroyed;
|
|
245
|
+
private totalSize;
|
|
246
|
+
private onScrollFns;
|
|
247
|
+
private onTotalSizeChangeFns;
|
|
248
|
+
private onRenderCountChangeFns;
|
|
249
|
+
private onRenderRangeChangeFns;
|
|
250
|
+
private onDestroyFns;
|
|
251
|
+
name: string | undefined;
|
|
252
|
+
private renderCount;
|
|
253
|
+
private renderRange;
|
|
254
|
+
private availableSize;
|
|
255
|
+
constructor(options: VirtualBrainOptions);
|
|
256
|
+
setAvailableSize: (size: Size) => void;
|
|
257
|
+
getOptions(): VirtualBrainOptions;
|
|
258
|
+
private updateRenderCount;
|
|
259
|
+
private computeRenderCount;
|
|
260
|
+
private setRenderCount;
|
|
261
|
+
private updateRenderRange;
|
|
262
|
+
getRenderStartIndex(): number;
|
|
263
|
+
getRenderCount: () => number;
|
|
264
|
+
setScrollPosition: (scrollPosition: ScrollPosition) => void;
|
|
265
|
+
private notifyScrollChange;
|
|
266
|
+
private notifyDestroy;
|
|
267
|
+
private notifyTotalSizeChange;
|
|
268
|
+
private notifyRenderCountChange;
|
|
269
|
+
private notifyRenderRangeChange;
|
|
270
|
+
getRenderRange: () => RenderRange;
|
|
271
|
+
private setRenderRange;
|
|
272
|
+
private computeRenderRange;
|
|
273
|
+
getScrollPosition: () => ScrollPosition;
|
|
274
|
+
onScroll: (fn: OnScrollFn) => () => void;
|
|
275
|
+
onTotalSizeChange: (fn: OnSizeChangeFn) => () => void;
|
|
276
|
+
onRenderCountChange: (fn: OnRenderCountChangeFn) => () => void;
|
|
277
|
+
onRenderRangeChange: (fn: OnRenderRangeChangeFn) => () => void;
|
|
278
|
+
onDestroy: (fn: OnDestroyFn) => () => void;
|
|
279
|
+
update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize'], newItemSpan?: VirtualBrainOptions['itemSpan']) => void;
|
|
280
|
+
private reset;
|
|
281
|
+
private computeItemSpanUpTo;
|
|
282
|
+
private computeCacheFor;
|
|
283
|
+
private getItemSizeCacheFor;
|
|
284
|
+
getItemSpan: (itemIndex: number) => number;
|
|
285
|
+
getItemSpanParent: (itemIndex: number) => number;
|
|
286
|
+
getItemSizeWithSpan: (itemIndex: number, itemSpan: number) => number;
|
|
287
|
+
/**
|
|
288
|
+
* For now, this doesn't take into account the itemspan, and it's okay not to
|
|
289
|
+
* @param itemIndex
|
|
290
|
+
* @returns the size of the specified item
|
|
291
|
+
*/
|
|
292
|
+
getItemSize: (itemIndex: number) => number;
|
|
293
|
+
getTotalSize: () => number;
|
|
294
|
+
getItemAt: (scrollPos: number) => number;
|
|
295
|
+
getItemOffsetFor: (itemIndex: number) => number;
|
|
296
|
+
destroy: () => void;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
198
299
|
declare module "components/DataSource/types" {
|
|
199
300
|
import * as React from 'react';
|
|
200
301
|
import { MultisortInfo } from "utils/multisort/index";
|
|
201
|
-
import { DeepMap } from "utils/DeepMap";
|
|
302
|
+
import { DeepMap } from "utils/DeepMap/index";
|
|
202
303
|
import { DeepMapGroupValueType, GroupBy, GroupKeyType, PivotBy } from "utils/groupAndPivot/index";
|
|
203
304
|
import { InfiniteTableColumn, InfiniteTableColumnGroup, InfiniteTableRowInfo, Scrollbars } from "components/InfiniteTable/index";
|
|
204
305
|
import { ComponentStateActions } from "components/hooks/useComponentState";
|
|
@@ -206,15 +307,22 @@ declare module "components/DataSource/types" {
|
|
|
206
307
|
import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
207
308
|
import { NonUndefined } from "components/types/NonUndefined";
|
|
208
309
|
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
310
|
+
import { ScrollStopInfo } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
311
|
+
import { RenderRange } from "components/VirtualBrain/index";
|
|
209
312
|
export interface DataSourceDataParams<T> {
|
|
210
313
|
originalDataArray: T[];
|
|
211
314
|
sortInfo?: DataSourceSortInfo<T>;
|
|
212
315
|
groupBy?: DataSourcePropGroupBy<T>;
|
|
213
316
|
pivotBy?: DataSourcePropPivotBy<T>;
|
|
317
|
+
lazyLoadBatchSize?: number;
|
|
318
|
+
lazyLoadStartIndex?: number;
|
|
319
|
+
groupKeys?: any[];
|
|
320
|
+
aggregationReducers?: DataSourcePropAggregationReducers<T>;
|
|
214
321
|
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
322
|
+
cursorId?: DataSourceSetupState<T>['cursorId'];
|
|
215
323
|
changes?: DataSourceDataParamsChanges<T>;
|
|
216
324
|
}
|
|
217
|
-
export type DataSourceDataParamsChanges<T> = Record<keyof Omit<DataSourceDataParams<T>, 'originalDataArray' | 'changes'>, true
|
|
325
|
+
export type DataSourceDataParamsChanges<T> = Partial<Record<keyof Omit<DataSourceDataParams<T>, 'originalDataArray' | 'changes'>, true>>;
|
|
218
326
|
export type DataSourceSingleSortInfo<T> = MultisortInfo<T> & {
|
|
219
327
|
field?: keyof T;
|
|
220
328
|
id?: string;
|
|
@@ -224,6 +332,8 @@ declare module "components/DataSource/types" {
|
|
|
224
332
|
export type DataSourceSortInfo<T> = null | DataSourceSingleSortInfo<T> | DataSourceSingleSortInfo<T>[];
|
|
225
333
|
export type DataSourceRemoteData<T> = {
|
|
226
334
|
data: T[];
|
|
335
|
+
mappings?: DataSourceMappings;
|
|
336
|
+
totalCount?: number;
|
|
227
337
|
livePaginationCursor?: DataSourceLivePaginationCursorValue;
|
|
228
338
|
};
|
|
229
339
|
export type DataSourceData<T> = T[] | DataSourceRemoteData<T> | Promise<T[] | DataSourceRemoteData<T>> | ((dataInfo: DataSourceDataParams<T>) => T[] | Promise<T[] | DataSourceRemoteData<T>>);
|
|
@@ -237,6 +347,8 @@ declare module "components/DataSource/types" {
|
|
|
237
347
|
export interface DataSourceMappedState<T> {
|
|
238
348
|
aggregationReducers?: DataSourceProps<T>['aggregationReducers'];
|
|
239
349
|
livePagination: DataSourceProps<T>['livePagination'];
|
|
350
|
+
fullLazyLoad: DataSourceProps<T>['fullLazyLoad'];
|
|
351
|
+
lazyLoadBatchSize: DataSourceProps<T>['lazyLoadBatchSize'];
|
|
240
352
|
onDataParamsChange: DataSourceProps<T>['onDataParamsChange'];
|
|
241
353
|
data: DataSourceProps<T>['data'];
|
|
242
354
|
primaryKey: DataSourceProps<T>['primaryKey'];
|
|
@@ -244,27 +356,50 @@ declare module "components/DataSource/types" {
|
|
|
244
356
|
groupRowsState: NonUndefined<DataSourceProps<T>['groupRowsState']>;
|
|
245
357
|
pivotBy: DataSourceProps<T>['pivotBy'];
|
|
246
358
|
loading: NonUndefined<DataSourceProps<T>['loading']>;
|
|
359
|
+
collapseGroupRowsOnDataFunctionChange: NonUndefined<DataSourceProps<T>['collapseGroupRowsOnDataFunctionChange']>;
|
|
247
360
|
sortInfo: DataSourceSingleSortInfo<T>[] | null;
|
|
248
361
|
}
|
|
249
362
|
export type DataSourceAggregationReducer<T, AggregationResultType> = {
|
|
363
|
+
name?: string;
|
|
250
364
|
field?: keyof T;
|
|
251
|
-
initialValue
|
|
365
|
+
initialValue?: AggregationResultType;
|
|
252
366
|
getter?: (data: T) => any;
|
|
253
|
-
reducer: (accumulator: any, value: any, data: T) => AggregationResultType | any;
|
|
367
|
+
reducer: string | ((accumulator: any, value: any, data: T) => AggregationResultType | any);
|
|
254
368
|
done?: (accumulatedValue: AggregationResultType | any, array: T[]) => AggregationResultType;
|
|
255
369
|
};
|
|
370
|
+
export type DataSourceMappings = Record<'totals' | 'values', string>;
|
|
371
|
+
export type LazyGroupDataItem<DataType> = {
|
|
372
|
+
data: Partial<DataType>;
|
|
373
|
+
keys: any[];
|
|
374
|
+
aggregations?: Record<string, any>;
|
|
375
|
+
pivot?: {
|
|
376
|
+
values: Record<string, any>;
|
|
377
|
+
totals?: Record<string, any>;
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
export type LazyGroupRowInfo<DataType> = {
|
|
381
|
+
items: LazyGroupDataItem<DataType>[];
|
|
382
|
+
totalCount: number;
|
|
383
|
+
};
|
|
384
|
+
export type LazyGroupDataDeepMap<DataType, KeyType = string> = DeepMap<KeyType, LazyGroupRowInfo<DataType>>;
|
|
256
385
|
export interface DataSourceSetupState<T> {
|
|
386
|
+
pivotMappings?: DataSourceMappings;
|
|
257
387
|
propsCache: Map<keyof DataSourceProps<T>, WeakMap<any, any>>;
|
|
258
388
|
showSeparatePivotColumnForSingleAggregation: boolean;
|
|
259
389
|
dataParams?: DataSourceDataParams<T>;
|
|
390
|
+
originalLazyGroupData: LazyGroupDataDeepMap<T>;
|
|
391
|
+
originalLazyGroupDataChangeDetect: number | string;
|
|
392
|
+
scrollStopDelayUpdatedByTable: number;
|
|
260
393
|
notifyScrollbarsChange: SubscriptionCallback<Scrollbars>;
|
|
394
|
+
notifyScrollStop: SubscriptionCallback<ScrollStopInfo>;
|
|
395
|
+
notifyRenderRangeChange: SubscriptionCallback<RenderRange>;
|
|
261
396
|
originalDataArray: T[];
|
|
262
397
|
lastSortDataArray?: T[];
|
|
263
398
|
lastGroupDataArray?: InfiniteTableRowInfo<T>[];
|
|
264
399
|
dataArray: InfiniteTableRowInfo<T>[];
|
|
265
400
|
groupDeepMap?: DeepMap<GroupKeyType, DeepMapGroupValueType<T, any>>;
|
|
266
401
|
pivotTotalColumnPosition: InfiniteTablePropPivotTotalColumnPosition;
|
|
267
|
-
|
|
402
|
+
cursorId: number | Symbol | DataSourceLivePaginationCursorValue;
|
|
268
403
|
updatedAt: number;
|
|
269
404
|
reducedAt: number;
|
|
270
405
|
groupedAt: number;
|
|
@@ -276,11 +411,13 @@ declare module "components/DataSource/types" {
|
|
|
276
411
|
pivotColumnGroups?: Map<string, InfiniteTableColumnGroup>;
|
|
277
412
|
}
|
|
278
413
|
export type DataSourcePropAggregationReducers<T> = Record<string, DataSourceAggregationReducer<T, any>>;
|
|
279
|
-
export
|
|
414
|
+
export type DataSourceProps<T> = {
|
|
280
415
|
children: React.ReactNode | ((contextData: DataSourceState<T>) => React.ReactNode);
|
|
281
416
|
primaryKey: keyof T;
|
|
282
417
|
fields?: (keyof T)[];
|
|
283
418
|
data: DataSourceData<T>;
|
|
419
|
+
fullLazyLoad?: boolean;
|
|
420
|
+
lazyLoadBatchSize?: number;
|
|
284
421
|
loading?: boolean;
|
|
285
422
|
defaultLoading?: boolean;
|
|
286
423
|
onLoadingChange?: (loading: boolean) => void;
|
|
@@ -295,6 +432,7 @@ declare module "components/DataSource/types" {
|
|
|
295
432
|
groupRowsState?: GroupRowsState;
|
|
296
433
|
defaultGroupRowsState?: GroupRowsState;
|
|
297
434
|
onGroupRowsStateChange?: (groupRowsState: GroupRowsState) => void;
|
|
435
|
+
collapseGroupRowsOnDataFunctionChange?: boolean;
|
|
298
436
|
sortInfo?: DataSourceSortInfo<T>;
|
|
299
437
|
defaultSortInfo?: DataSourceSortInfo<T>;
|
|
300
438
|
onSortInfoChange?: ((sortInfo: DataSourceSingleSortInfo<T> | null) => void) | ((sortInfo: DataSourceSingleSortInfo<T>[]) => void);
|
|
@@ -302,7 +440,7 @@ declare module "components/DataSource/types" {
|
|
|
302
440
|
livePagination?: boolean;
|
|
303
441
|
livePaginationCursor?: DataSourcePropLivePaginationCursor<T>;
|
|
304
442
|
onLivePaginationCursorChange?: (livePaginationCursor: DataSourceLivePaginationCursorValue) => void;
|
|
305
|
-
}
|
|
443
|
+
};
|
|
306
444
|
export type DataSourcePropLivePaginationCursor<T> = DataSourceLivePaginationCursorValue | DataSourceLivePaginationCursorFn<T>;
|
|
307
445
|
export type DataSourceLivePaginationCursorFn<T> = (params: DataSourceLivePaginationCursorParams<T>) => DataSourceLivePaginationCursorValue;
|
|
308
446
|
export type DataSourceLivePaginationCursorParams<T> = {
|
|
@@ -346,16 +484,25 @@ declare module "components/DataSource/publicHooks/useDataSource" {
|
|
|
346
484
|
export function useDataSource<T>(): DataSourceState<T>;
|
|
347
485
|
export function useDataSourceContextValue<T>(): DataSourceContextValue<T>;
|
|
348
486
|
}
|
|
487
|
+
declare module "utils/getGlobal" {
|
|
488
|
+
export function getGlobal<T extends Window>(): T;
|
|
489
|
+
}
|
|
349
490
|
declare module "components/hooks/useEffectWithChanges" {
|
|
350
491
|
import { EffectCallback } from 'react';
|
|
351
492
|
export function useEffectWithChanges(fn: (changes: Record<string, any>, prevValues: Record<string, any>) => void | (() => void), deps: Record<string, any>): void;
|
|
352
493
|
export function useEffectWithObject(fn: EffectCallback, deps: Record<string, any>): void;
|
|
353
494
|
}
|
|
495
|
+
declare module "components/utils/debounce" {
|
|
496
|
+
export function debounce(fn: Function, { wait }: {
|
|
497
|
+
wait: number;
|
|
498
|
+
}): (...args: any[]) => void;
|
|
499
|
+
}
|
|
354
500
|
declare module "components/DataSource/privateHooks/useLoadData" {
|
|
355
|
-
import {
|
|
356
|
-
|
|
501
|
+
import { ComponentStateGeneratedActions } from "components/hooks/useComponentState";
|
|
502
|
+
import { DataSourceDataParams, DataSourceData, DataSourceState } from "components/DataSource/types";
|
|
503
|
+
export function buildDataSourceDataParams<T>(componentState: DataSourceState<T>, overrides?: Partial<DataSourceDataParams<T>>): DataSourceDataParams<T>;
|
|
504
|
+
export function loadData<T>(data: DataSourceData<T>, componentState: DataSourceState<T>, actions: ComponentStateGeneratedActions<DataSourceState<T>>, overrides?: Partial<DataSourceDataParams<T>>): Promise<void>;
|
|
357
505
|
export function useLoadData<T>(): void;
|
|
358
|
-
export function useLivePagination<T>(): void;
|
|
359
506
|
}
|
|
360
507
|
declare module "components/DataSource/state/normalizeSortInfo" {
|
|
361
508
|
import { DataSourceSingleSortInfo, DataSourceSortInfo } from "components/DataSource/types";
|
|
@@ -366,7 +513,7 @@ declare module "components/utils/buildSubscriptionCallback" {
|
|
|
366
513
|
export function buildSubscriptionCallback<T>(): SubscriptionCallback<T>;
|
|
367
514
|
}
|
|
368
515
|
declare module "utils/shallowEqualObjects" {
|
|
369
|
-
export function shallowEqualObjects<T extends object | null>(objA: T, objB: T): boolean;
|
|
516
|
+
export function shallowEqualObjects<T extends object | null>(objA: T, objB: T, ignoreKeys?: Set<string>): boolean;
|
|
370
517
|
}
|
|
371
518
|
declare module "components/utils/discardCallsWithEqualArg" {
|
|
372
519
|
export function discardCallsWithEqualArg<T = any>(fn: (arg: T) => void, timeframe?: number, getCompareObject?: (arg: T) => any): (arg: T) => void;
|
|
@@ -375,7 +522,8 @@ declare module "components/DataSource/state/getInitialState" {
|
|
|
375
522
|
import { DataSourceMappedState, DataSourceProps, DataSourceDerivedState, DataSourceSetupState, DataSourceState } from "components/DataSource/types";
|
|
376
523
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
377
524
|
import { ComponentInterceptedActions, ForwardPropsToStateFnResult } from "components/hooks/useComponentState";
|
|
378
|
-
import { DataSourceDataParams } from "components/DataSource/index";
|
|
525
|
+
import { DataSourceComponentActions, DataSourceDataParams } from "components/DataSource/index";
|
|
526
|
+
export const defaultCursorId: unique symbol;
|
|
379
527
|
export function initSetupState<T>(): DataSourceSetupState<T>;
|
|
380
528
|
export const forwardProps: <T>(setupState: DataSourceSetupState<T>) => Partial<{
|
|
381
529
|
data: 1 | ((value: import("components/DataSource").DataSourceData<T>) => import("components/DataSource").DataSourceData<T>);
|
|
@@ -383,16 +531,24 @@ declare module "components/DataSource/state/getInitialState" {
|
|
|
383
531
|
sortInfo: 1 | ((value: import("components/DataSource").DataSourceSortInfo<T> | undefined) => import("components/DataSource").DataSourceSingleSortInfo<T>[] | null);
|
|
384
532
|
groupBy: 1 | ((value: import("components/DataSource").DataSourcePropGroupBy<T> | undefined) => import("components/DataSource").DataSourcePropGroupBy<T>);
|
|
385
533
|
pivotBy: 1 | ((value: import("components/DataSource").DataSourcePropPivotBy<T> | undefined) => import("components/DataSource").DataSourcePropPivotBy<T> | undefined);
|
|
534
|
+
lazyLoadBatchSize: 1 | ((value: number | undefined) => number | undefined);
|
|
386
535
|
aggregationReducers: 1 | ((value: import("components/DataSource").DataSourcePropAggregationReducers<T> | undefined) => import("components/DataSource").DataSourcePropAggregationReducers<T> | undefined);
|
|
387
536
|
livePagination: 1 | ((value: boolean | undefined) => boolean | undefined);
|
|
537
|
+
fullLazyLoad: 1 | ((value: boolean | undefined) => boolean | undefined);
|
|
388
538
|
onDataParamsChange: 1 | ((value: ((dataParamsChange: DataSourceDataParams<T>) => void) | undefined) => ((dataParamsChange: DataSourceDataParams<T>) => void) | undefined);
|
|
389
539
|
primaryKey: 1 | ((value: keyof T) => keyof T);
|
|
390
540
|
groupRowsState: 1 | ((value: GroupRowsState<any> | undefined) => GroupRowsState<any>);
|
|
541
|
+
collapseGroupRowsOnDataFunctionChange: 1 | ((value: boolean | undefined) => boolean);
|
|
391
542
|
}>;
|
|
392
543
|
export function mapPropsToState<T extends any>(params: {
|
|
393
544
|
props: DataSourceProps<T>;
|
|
394
545
|
state: DataSourceState<T>;
|
|
546
|
+
oldState: DataSourceState<T> | null;
|
|
395
547
|
}): DataSourceDerivedState<T>;
|
|
548
|
+
export function onPropChange<T>(params: {
|
|
549
|
+
name: keyof T;
|
|
550
|
+
newValue: any;
|
|
551
|
+
}, props: DataSourceProps<T>, actions: DataSourceComponentActions<T>): void;
|
|
396
552
|
export function getInterceptActions<T>(): ComponentInterceptedActions<DataSourceState<T>>;
|
|
397
553
|
}
|
|
398
554
|
declare module "components/types/Renderable" {
|
|
@@ -424,6 +580,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
424
580
|
import type { InfiniteTableColumnGroup, InfiniteTableRowInfo } from "components/InfiniteTable/types/index";
|
|
425
581
|
import { CSSProperties } from 'react';
|
|
426
582
|
import { AggregationReducer, InfiniteTableRowInfoGroup, InfiniteTableRowInfoNormal, PivotBy } from "utils/groupAndPivot/index";
|
|
583
|
+
import { InfiniteTableColumnPinnedValues } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
427
584
|
export type { DiscriminatedUnion, RequireAtLeastOne };
|
|
428
585
|
export type InfiniteTableToggleGroupRowFn = (groupKeys: any[]) => void;
|
|
429
586
|
export type InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = {
|
|
@@ -454,7 +611,6 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
454
611
|
column: InfiniteTableComputedColumn<T>;
|
|
455
612
|
columnSortInfo: DataSourceSingleSortInfo<T> | null | undefined;
|
|
456
613
|
}
|
|
457
|
-
export type InfiniteTableColumnPinned = 'start' | 'end' | false;
|
|
458
614
|
export type InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = ({ value, rowIndex, column, data, toggleGroupRow, toggleCurrentGroupRow, rowInfo, groupBy, }: InfiniteTableColumnRenderParam<DATA_TYPE, COL_TYPE>) => Renderable | null;
|
|
459
615
|
export type InfiniteTableColumnRenderValueFunction<DATA_TYPE, COL_TYPE = InfiniteTableComputedColumn<DATA_TYPE>> = InfiniteTableColumnRenderFunction<DATA_TYPE, COL_TYPE>;
|
|
460
616
|
export type InfiniteTableColumnHeaderRenderFunction<T> = ({ columnSortInfo, column, }: InfiniteTableColumnHeaderRenderParams<T>) => Renderable;
|
|
@@ -527,7 +683,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
527
683
|
groupByField: string | string[];
|
|
528
684
|
id?: string;
|
|
529
685
|
};
|
|
530
|
-
export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & Partial<
|
|
686
|
+
export type InfiniteTablePivotColumn<T> = InfiniteTableColumn<T> & Partial<InfiniteTablePivotFinalColumnVariant<T, any>>;
|
|
531
687
|
export type InfiniteTablePivotFinalColumnGroup<DataType, KeyType extends any = any> = InfiniteTableColumnGroup & {
|
|
532
688
|
pivotBy: DataSourcePivotBy<DataType>[];
|
|
533
689
|
pivotTotalColumnGroup?: true;
|
|
@@ -543,10 +699,11 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
543
699
|
pivotAggregator: AggregationReducer<DataType, any>;
|
|
544
700
|
pivotAggregatorIndex: number;
|
|
545
701
|
pivotGroupKeys: KeyType[];
|
|
546
|
-
pivotByAtIndex
|
|
702
|
+
pivotByAtIndex?: PivotBy<DataType, KeyType>;
|
|
547
703
|
pivotIndex: number;
|
|
548
704
|
pivotGroupKey: KeyType;
|
|
549
705
|
};
|
|
706
|
+
export type InfiniteTablePivotFinalColumnVariant<DataType, KeyType extends any = any> = InfiniteTablePivotFinalColumn<DataType, KeyType>;
|
|
550
707
|
type InfiniteTableComputedColumnBase<T> = {
|
|
551
708
|
computedWidth: number;
|
|
552
709
|
computedOffset: number;
|
|
@@ -560,7 +717,7 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
560
717
|
computedSortIndex: number;
|
|
561
718
|
computedVisibleIndex: number;
|
|
562
719
|
computedMultiSort: boolean;
|
|
563
|
-
computedPinned:
|
|
720
|
+
computedPinned: InfiniteTableColumnPinnedValues;
|
|
564
721
|
computedDraggable: boolean;
|
|
565
722
|
computedFirstInCategory: boolean;
|
|
566
723
|
computedLastInCategory: boolean;
|
|
@@ -574,13 +731,14 @@ declare module "components/InfiniteTable/types/InfiniteTableColumn" {
|
|
|
574
731
|
}
|
|
575
732
|
declare module "utils/groupAndPivot/getPivotColumnsAndColumnGroups" {
|
|
576
733
|
import type { DataSourceAggregationReducer, DataSourcePivotBy } from "components/DataSource/index";
|
|
577
|
-
import type {
|
|
734
|
+
import type { InfiniteTablePropColumnsMap } from "components/InfiniteTable/index";
|
|
578
735
|
import type { InfiniteTablePivotColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
736
|
+
import { InfiniteTablePropColumnGroupsMap } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
579
737
|
import type { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
580
|
-
import { DeepMap } from "utils/DeepMap";
|
|
738
|
+
import { DeepMap } from "utils/DeepMap/index";
|
|
581
739
|
export type ComputedColumnsAndGroups<DataType> = {
|
|
582
740
|
columns: InfiniteTablePropColumnsMap<DataType, InfiniteTablePivotColumn<DataType>>;
|
|
583
|
-
columnGroups:
|
|
741
|
+
columnGroups: InfiniteTablePropColumnGroupsMap;
|
|
584
742
|
};
|
|
585
743
|
export function getPivotColumnsAndColumnGroups<DataType, KeyType = any>({ deepMap, pivotBy, pivotTotalColumnPosition, reducers, showSeparatePivotColumnForSingleAggregation, }: {
|
|
586
744
|
deepMap: DeepMap<KeyType, boolean>;
|
|
@@ -632,11 +790,12 @@ declare module "components/DataSource/GroupRowsState" {
|
|
|
632
790
|
}
|
|
633
791
|
}
|
|
634
792
|
declare module "utils/groupAndPivot/index" {
|
|
635
|
-
import { DataSourceAggregationReducer } from "@infinite-table/infinite-react";
|
|
793
|
+
import { DataSourceAggregationReducer, DataSourceMappings, LazyGroupDataDeepMap } from "@infinite-table/infinite-react";
|
|
636
794
|
import { GroupRowsState } from "components/DataSource/GroupRowsState";
|
|
637
|
-
import { InfiniteTableColumn, InfiniteTablePivotColumn,
|
|
795
|
+
import { InfiniteTableColumn, InfiniteTablePivotColumn, InfiniteTablePivotFinalColumnGroup, InfiniteTablePivotFinalColumnVariant } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
638
796
|
import { InfiniteTableColumnGroup, InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
639
|
-
import { DeepMap } from "utils/DeepMap";
|
|
797
|
+
import { DeepMap } from "utils/DeepMap/index";
|
|
798
|
+
export const LAZY_ROOT_KEY_FOR_GROUPS: string;
|
|
640
799
|
export type AggregationReducer<T, AggregationResultType = any> = DataSourceAggregationReducer<T, AggregationResultType> & {
|
|
641
800
|
id: string;
|
|
642
801
|
};
|
|
@@ -670,6 +829,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
670
829
|
indexInAll: number;
|
|
671
830
|
groupCount?: number;
|
|
672
831
|
groupBy?: (keyof T)[];
|
|
832
|
+
rootGroupBy?: (keyof T)[];
|
|
673
833
|
pivotValuesMap?: PivotValuesDeepMap<T, any>;
|
|
674
834
|
reducerResults?: Record<string, AggregationReducerResult>;
|
|
675
835
|
};
|
|
@@ -684,6 +844,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
684
844
|
groupKeys?: any[];
|
|
685
845
|
groupCount: number;
|
|
686
846
|
groupBy: (keyof T)[];
|
|
847
|
+
rootGroupBy: (keyof T)[];
|
|
687
848
|
pivotValuesMap?: PivotValuesDeepMap<T, any>;
|
|
688
849
|
};
|
|
689
850
|
export type GroupKeyType<T extends any = any> = T;
|
|
@@ -705,7 +866,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
705
866
|
};
|
|
706
867
|
export type PivotBy<DataType, KeyType> = Omit<GroupBy<DataType, KeyType>, 'column'> & {
|
|
707
868
|
column?: InfiniteTableColumn<DataType> | (({ column, }: {
|
|
708
|
-
column:
|
|
869
|
+
column: InfiniteTablePivotFinalColumnVariant<DataType, KeyType>;
|
|
709
870
|
}) => Partial<InfiniteTablePivotColumn<DataType>>);
|
|
710
871
|
columnGroup?: InfiniteTableColumnGroup | (({ columnGroup, }: {
|
|
711
872
|
columnGroup: InfiniteTablePivotFinalColumnGroup<DataType, KeyType>;
|
|
@@ -717,6 +878,9 @@ declare module "utils/groupAndPivot/index" {
|
|
|
717
878
|
pivot?: PivotBy<DataType, KeyType>[];
|
|
718
879
|
reducers?: Record<string, DataSourceAggregationReducer<DataType, any>>;
|
|
719
880
|
};
|
|
881
|
+
type LazyGroupParams = {
|
|
882
|
+
mappings?: DataSourceMappings;
|
|
883
|
+
};
|
|
720
884
|
export type DataGroupResult<DataType, KeyType extends any> = {
|
|
721
885
|
deepMap: DeepMap<GroupKeyType<KeyType>, DeepMapGroupValueType<DataType, KeyType>>;
|
|
722
886
|
groupParams: GroupParams<DataType, KeyType>;
|
|
@@ -725,6 +889,7 @@ declare module "utils/groupAndPivot/index" {
|
|
|
725
889
|
topLevelPivotColumns?: DeepMap<GroupKeyType<KeyType>, boolean>;
|
|
726
890
|
pivot?: PivotBy<DataType, KeyType>[];
|
|
727
891
|
};
|
|
892
|
+
export function lazyGroup<DataType, KeyType extends string = string>(groupParams: GroupParams<DataType, KeyType> & LazyGroupParams, rootData: LazyGroupDataDeepMap<DataType>): DataGroupResult<DataType, KeyType>;
|
|
728
893
|
export function group<DataType, KeyType = any>(groupParams: GroupParams<DataType, KeyType>, data: DataType[]): DataGroupResult<DataType, KeyType>;
|
|
729
894
|
export function flatten<DataType, KeyType extends any>(groupResult: DataGroupResult<DataType, KeyType>): DataType[];
|
|
730
895
|
export type EnhancedFlattenParam<DataType, KeyType = any> = {
|
|
@@ -923,12 +1088,15 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
923
1088
|
import { DataSourceGroupBy, DataSourcePropGroupBy, DataSourcePropPivotBy, DataSourceState } from "components/DataSource/index";
|
|
924
1089
|
import { Renderable } from "components/types/Renderable";
|
|
925
1090
|
import { LoadMaskProps } from "components/InfiniteTable/components/LoadMask";
|
|
926
|
-
import type {
|
|
1091
|
+
import type { InfiniteTableColumn, InfiniteTableColumnRenderFunction, InfiniteTableComputedColumn, InfiniteTableComputedPivotFinalColumn, InfiniteTablePivotColumn, InfiniteTablePivotFinalColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
927
1092
|
import { InfiniteTablePropPivotTotalColumnPosition } from "components/InfiniteTable/types/InfiniteTableState";
|
|
928
1093
|
export type InfiniteTablePropColumnOrderNormalized = string[];
|
|
929
1094
|
export type InfiniteTablePropColumnOrder = InfiniteTablePropColumnOrderNormalized | true;
|
|
930
|
-
export type InfiniteTablePropColumnVisibility =
|
|
931
|
-
export type
|
|
1095
|
+
export type InfiniteTablePropColumnVisibility = Record<string, false>;
|
|
1096
|
+
export type InfiniteTablePropColumnPinningMap = Map<string, true | 'start' | 'end'>;
|
|
1097
|
+
export type InfiniteTableColumnPinnedValues = false | 'start' | 'end';
|
|
1098
|
+
export type InfiniteTablePropColumnPinningRecord = Record<string, true | 'start' | 'end'>;
|
|
1099
|
+
export type InfiniteTablePropColumnPinning = InfiniteTablePropColumnPinningRecord | InfiniteTablePropColumnPinningMap;
|
|
932
1100
|
export type InfiniteTableRowStyleFnParams<T> = {
|
|
933
1101
|
rowIndex: number;
|
|
934
1102
|
groupBy?: (keyof T)[];
|
|
@@ -952,6 +1120,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
952
1120
|
maxWidth?: number;
|
|
953
1121
|
defaultWidth?: number;
|
|
954
1122
|
defaultFlex?: number;
|
|
1123
|
+
defaultPinned?: InfiniteTableColumnPinnedValues;
|
|
955
1124
|
header?: InfiniteTableColumn<T>['header'];
|
|
956
1125
|
comparer?: InfiniteTableColumn<T>['comparer'];
|
|
957
1126
|
draggable?: InfiniteTableColumn<T>['draggable'];
|
|
@@ -959,7 +1128,6 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
959
1128
|
resizable?: InfiniteTableColumn<T>['resizable'];
|
|
960
1129
|
align?: InfiniteTableColumn<T>['align'];
|
|
961
1130
|
verticalAlign?: InfiniteTableColumn<T>['verticalAlign'];
|
|
962
|
-
defaultPinned?: InfiniteTableColumnPinned;
|
|
963
1131
|
renderValue?: InfiniteTableColumn<T>['renderValue'];
|
|
964
1132
|
render?: InfiniteTableColumn<T>['render'];
|
|
965
1133
|
valueGetter?: InfiniteTableColumn<T>['valueGetter'];
|
|
@@ -990,11 +1158,14 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
990
1158
|
export type InfiniteTablePropColumns<T, ColumnType = InfiniteTableColumn<T>> = InfiniteTablePropColumnsMap<T, ColumnType> | Record<string, ColumnType>;
|
|
991
1159
|
export type InfiniteTableColumns<T> = InfiniteTablePropColumns<T>;
|
|
992
1160
|
export type InfiniteTableColumnsMap<T> = InfiniteTablePropColumnsMap<T>;
|
|
993
|
-
export type
|
|
1161
|
+
export type InfiniteTablePropColumnGroupsMap = Map<string, InfiniteTableColumnGroup>;
|
|
1162
|
+
export type InfiniteTablePropColumnGroupsRecord = Record<string, InfiniteTableColumnGroup>;
|
|
1163
|
+
export type InfiniteTablePropColumnGroups = InfiniteTablePropColumnGroupsRecord | InfiniteTablePropColumnGroupsMap;
|
|
994
1164
|
/**
|
|
995
1165
|
* 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
|
|
996
1166
|
* the value is the id of the column to leave as visible
|
|
997
1167
|
*/
|
|
1168
|
+
export type InfiniteTablePropCollapsedColumnGroupsMap = Map<string[], string>;
|
|
998
1169
|
export type InfiniteTablePropCollapsedColumnGroups = Map<string[], string>;
|
|
999
1170
|
export type InfiniteTableColumnGroupHeaderRenderParams = {
|
|
1000
1171
|
columnGroup: InfiniteTableComputedColumnGroup;
|
|
@@ -1025,7 +1196,7 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
1025
1196
|
pivotBy: DataSourcePropPivotBy<T>;
|
|
1026
1197
|
};
|
|
1027
1198
|
export type InfiniteTablePropGroupRenderStrategy = 'single-column' | 'multi-column' | 'inline';
|
|
1028
|
-
export type InfiniteTableGroupColumnBase<T> =
|
|
1199
|
+
export type InfiniteTableGroupColumnBase<T> = InfiniteTableColumn<T> & {
|
|
1029
1200
|
renderValue?: InfiniteTableColumnRenderFunction<T>;
|
|
1030
1201
|
id?: string;
|
|
1031
1202
|
};
|
|
@@ -1033,12 +1204,17 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
1033
1204
|
renderValue?: InfiniteTableColumnRenderFunction<T, InfiniteTableComputedPivotFinalColumn<T>>;
|
|
1034
1205
|
};
|
|
1035
1206
|
export type InfiniteTablePropGroupColumn<T> = InfiniteTableGroupColumnBase<T> | InfiniteTableGroupColumnFunction<T>;
|
|
1036
|
-
export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => InfiniteTableGroupColumnBase<T
|
|
1207
|
+
export type InfiniteTableGroupColumnFunction<T> = (options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupKeys: any[]) => void) => Partial<InfiniteTableGroupColumnBase<T>>;
|
|
1037
1208
|
export type InfiniteTablePropPivotColumn<T, COL_TYPE = InfiniteTableColumn<T>> = Partial<InfiniteTablePivotColumnBase<T>> | ((options: InfiniteTablePivotColumnGetterOptions<T, COL_TYPE>) => InfiniteTablePivotColumnBase<T>);
|
|
1038
1209
|
export type InfiniteTablePropPivotRowLabelsColumn<T> = InfiniteTablePropPivotColumn<T>;
|
|
1039
1210
|
export type InfiniteTablePropComponents = {
|
|
1040
1211
|
LoadMask?: React.FC<LoadMaskProps>;
|
|
1041
1212
|
};
|
|
1213
|
+
export type ScrollStopInfo = {
|
|
1214
|
+
scrollTop: number;
|
|
1215
|
+
firstVisibleRowIndex: number;
|
|
1216
|
+
lastVisibleRowIndex: number;
|
|
1217
|
+
};
|
|
1042
1218
|
export interface InfiniteTableProps<T> {
|
|
1043
1219
|
columns: InfiniteTablePropColumns<T>;
|
|
1044
1220
|
pivotColumns?: InfiniteTablePropColumnsMap<T, InfiniteTablePivotColumn<T>>;
|
|
@@ -1095,6 +1271,8 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
1095
1271
|
onBlurWithin?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
1096
1272
|
onScrollToTop?: () => void;
|
|
1097
1273
|
onScrollToBottom?: () => void;
|
|
1274
|
+
scrollStopDelay?: number;
|
|
1275
|
+
onScrollStop?: (param: ScrollStopInfo) => void;
|
|
1098
1276
|
scrollToBottomOffset?: number;
|
|
1099
1277
|
defaultColumnOrder?: InfiniteTablePropColumnOrder;
|
|
1100
1278
|
columnOrder?: InfiniteTablePropColumnOrder;
|
|
@@ -1110,16 +1288,6 @@ declare module "components/InfiniteTable/types/InfiniteTableProps" {
|
|
|
1110
1288
|
horizontal: boolean;
|
|
1111
1289
|
};
|
|
1112
1290
|
}
|
|
1113
|
-
declare module "components/types/Size" {
|
|
1114
|
-
export interface Size {
|
|
1115
|
-
width: number;
|
|
1116
|
-
height: number;
|
|
1117
|
-
}
|
|
1118
|
-
export type OnResizeFn = (size: {
|
|
1119
|
-
width: number;
|
|
1120
|
-
height: number;
|
|
1121
|
-
}) => void;
|
|
1122
|
-
}
|
|
1123
1291
|
declare module "components/VirtualBrain/ScrollListener" {
|
|
1124
1292
|
import { OnScrollFn, ScrollPosition } from "components/types/ScrollPosition";
|
|
1125
1293
|
export class ScrollListener {
|
|
@@ -1134,7 +1302,7 @@ declare module "components/VirtualBrain/ScrollListener" {
|
|
|
1134
1302
|
}
|
|
1135
1303
|
declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
1136
1304
|
import type { ScrollPosition } from "components/types/ScrollPosition";
|
|
1137
|
-
import type { InfiniteTableColumnGroup,
|
|
1305
|
+
import type { InfiniteTableColumnGroup, InfiniteTablePropColumnGroupsMap, InfiniteTablePropColumnPinningMap, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnsMap, InfiniteTablePropColumnTypesMap, InfiniteTablePropColumnVisibility, InfiniteTableProps } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1138
1306
|
import { Size } from "components/types/Size";
|
|
1139
1307
|
import { MutableRefObject } from 'react';
|
|
1140
1308
|
import { SubscriptionCallback } from "components/types/SubscriptionCallback";
|
|
@@ -1148,6 +1316,7 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1148
1316
|
groupIndex: number;
|
|
1149
1317
|
}>;
|
|
1150
1318
|
export interface InfiniteTableSetupState<T> {
|
|
1319
|
+
propsCache: Map<keyof InfiniteTableProps<T>, WeakMap<any, any>>;
|
|
1151
1320
|
columnsWhenInlineGroupRenderStrategy?: Map<string, InfiniteTableColumn<T>>;
|
|
1152
1321
|
domRef: MutableRefObject<HTMLDivElement | null>;
|
|
1153
1322
|
scrollerDOMRef: MutableRefObject<HTMLDivElement | null>;
|
|
@@ -1184,8 +1353,10 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1184
1353
|
onSelfBlur: InfiniteTableProps<T>['onSelfBlur'];
|
|
1185
1354
|
onFocusWithin: InfiniteTableProps<T>['onFocusWithin'];
|
|
1186
1355
|
onBlurWithin: InfiniteTableProps<T>['onBlurWithin'];
|
|
1356
|
+
scrollStopDelay: NonUndefined<InfiniteTableProps<T>['scrollStopDelay']>;
|
|
1187
1357
|
onScrollToTop: InfiniteTableProps<T>['onScrollToTop'];
|
|
1188
1358
|
onScrollToBottom: InfiniteTableProps<T>['onScrollToBottom'];
|
|
1359
|
+
onScrollStop: InfiniteTableProps<T>['onScrollStop'];
|
|
1189
1360
|
scrollToBottomOffset: InfiniteTableProps<T>['scrollToBottomOffset'];
|
|
1190
1361
|
focusedClassName: InfiniteTableProps<T>['focusedClassName'];
|
|
1191
1362
|
focusedWithinClassName: InfiniteTableProps<T>['focusedWithinClassName'];
|
|
@@ -1200,7 +1371,7 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1200
1371
|
pinnedEndMaxWidth: InfiniteTableProps<T>['pinnedEndMaxWidth'];
|
|
1201
1372
|
pivotColumn: InfiniteTableProps<T>['pivotColumn'];
|
|
1202
1373
|
pivotRowLabelsColumn: InfiniteTableProps<T>['pivotRowLabelsColumn'];
|
|
1203
|
-
pivotColumnGroups:
|
|
1374
|
+
pivotColumnGroups: InfiniteTablePropColumnGroupsMap;
|
|
1204
1375
|
activeIndex: NonUndefined<InfiniteTableProps<T>['activeIndex']>;
|
|
1205
1376
|
columnMinWidth: NonUndefined<InfiniteTableProps<T>['columnMinWidth']>;
|
|
1206
1377
|
columnMaxWidth: NonUndefined<InfiniteTableProps<T>['columnMaxWidth']>;
|
|
@@ -1216,11 +1387,11 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1216
1387
|
rowHeight: number;
|
|
1217
1388
|
headerHeight: number;
|
|
1218
1389
|
licenseKey: NonUndefined<InfiniteTableProps<T>['licenseKey']>;
|
|
1219
|
-
columnVisibility:
|
|
1220
|
-
columnPinning:
|
|
1390
|
+
columnVisibility: InfiniteTablePropColumnVisibility;
|
|
1391
|
+
columnPinning: InfiniteTablePropColumnPinningMap;
|
|
1221
1392
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1222
1393
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1223
|
-
columnGroups:
|
|
1394
|
+
columnGroups: InfiniteTablePropColumnGroupsMap;
|
|
1224
1395
|
collapsedColumnGroups: NonUndefined<InfiniteTableProps<T>['collapsedColumnGroups']>;
|
|
1225
1396
|
pivotTotalColumnPosition: NonUndefined<InfiniteTableProps<T>['pivotTotalColumnPosition']>;
|
|
1226
1397
|
}
|
|
@@ -1231,7 +1402,7 @@ declare module "components/InfiniteTable/types/InfiniteTableState" {
|
|
|
1231
1402
|
groupRenderStrategy: NonUndefined<InfiniteTableProps<T>['groupRenderStrategy']>;
|
|
1232
1403
|
columnGroupsDepthsMap: InfiniteTableColumnGroupsDepthsMap;
|
|
1233
1404
|
columnGroupsMaxDepth: number;
|
|
1234
|
-
computedColumnGroups:
|
|
1405
|
+
computedColumnGroups: InfiniteTablePropColumnGroupsMap;
|
|
1235
1406
|
rowHeightCSSVar: string;
|
|
1236
1407
|
headerHeightCSSVar: string;
|
|
1237
1408
|
}
|
|
@@ -1299,24 +1470,24 @@ declare module "components/InfiniteTable/types/index" {
|
|
|
1299
1470
|
import type { InfiniteTableState } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1300
1471
|
import type { InfiniteTableAction } from "components/InfiniteTable/types/InfiniteTableAction";
|
|
1301
1472
|
import type { InfiniteTableActionType } from "components/InfiniteTable/types/InfiniteTableActionType";
|
|
1302
|
-
import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTablePropComponents, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnTypesMap, InfiniteTableColumnSizingOptions, Scrollbars } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1473
|
+
import type { InfiniteTableProps, InfiniteTableImperativeApi, InfiniteTablePropColumnOrder, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnAggregator, InfiniteTableColumnGroup, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnGroups, InfiniteTablePropRowStyle, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTablePropRowClassName, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTablePropComponents, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnGetterOptions, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnSizing, InfiniteTablePropColumnTypes, InfiniteTablePropColumnTypesMap, InfiniteTableColumnSizingOptions, Scrollbars, InfiniteTableGroupColumnBase } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1303
1474
|
import type { InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1304
1475
|
import type { InfiniteTableComputedValues } from "components/InfiniteTable/types/InfiniteTableComputedValues";
|
|
1305
1476
|
import type { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
|
|
1306
1477
|
import type { InfiniteTableRowInfo } from "utils/groupAndPivot/index";
|
|
1307
|
-
export type { Scrollbars, InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnGroups, InfiniteTablePropColumnSizing, InfiniteTablePropColumnSizingMap, InfiniteTableColumnSizingOptions, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTablePropColumnTypes, InfiniteTablePropColumnTypesMap, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTableGroupColumnGetterOptions, };
|
|
1478
|
+
export type { Scrollbars, InfiniteTableColumnAggregator, InfiniteTableComputedValues, InfiniteTablePropColumns, InfiniteTablePropColumnsMap, InfiniteTableRowInfo, InfiniteTableGroupColumnFunction, InfiniteTableGroupColumnBase, InfiniteTablePropColumnOrder, InfiniteTablePropComponents, InfiniteTablePropColumnVisibility as InfiniteTablePropColumnVisibility, InfiniteTablePropColumnPinning, InfiniteTableColumnGroup, InfiniteTableColumn, InfiniteTableColumnComparer, InfiniteTableComputedColumn, InfiniteTableColumnRenderParam, InfiniteTableColumnRenderValueParam, InfiniteTableContextValue, InfiniteTablePropGroupRenderStrategy, InfiniteTablePropColumnGroups, InfiniteTablePropColumnSizing, InfiniteTablePropColumnSizingMap, InfiniteTableColumnSizingOptions, InfiniteTableState, InfiniteTableAction, InfiniteTableProps, InfiniteTablePropColumnTypes, InfiniteTablePropColumnTypesMap, InfiniteTableImperativeApi, InfiniteTableActionType, InfiniteTablePropRowStyle, InfiniteTablePropRowClassName, InfiniteTableRowStyleFn, InfiniteTableRowClassNameFn, InfiniteTableGroupColumnGetterOptions, };
|
|
1308
1479
|
}
|
|
1309
1480
|
declare module "components/InfiniteTable/InfiniteTableContext" {
|
|
1310
1481
|
import { InfiniteTableContextValue } from "components/InfiniteTable/types/InfiniteTableContextValue";
|
|
1311
1482
|
export function getInfiniteTableContext<T>(): React.Context<InfiniteTableContextValue<T>>;
|
|
1312
1483
|
}
|
|
1313
1484
|
declare module "components/InfiniteTable/utils/toMap" {
|
|
1314
|
-
export function toMap<K extends string, V>(mapOrObject?: Map<K, V> | Record<K, V>): Map<K, V>;
|
|
1485
|
+
export function toMap<K extends string, V>(mapOrObject?: Map<K, V> | Record<K, V>, weakMapCache?: WeakMap<any, any>): Map<K, V>;
|
|
1315
1486
|
}
|
|
1316
1487
|
declare module "components/InfiniteTable/state/computeColumnGroupsDepths" {
|
|
1317
|
-
import type {
|
|
1488
|
+
import type { InfiniteTablePropColumnGroupsMap } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1318
1489
|
import type { InfiniteTableColumnGroupsDepthsMap } from "components/InfiniteTable/types/InfiniteTableState";
|
|
1319
|
-
export function computeColumnGroupsDepths(columnGroups:
|
|
1490
|
+
export function computeColumnGroupsDepths(columnGroups: InfiniteTablePropColumnGroupsMap): InfiniteTableColumnGroupsDepthsMap;
|
|
1320
1491
|
}
|
|
1321
1492
|
declare module "components/InfiniteTable/state/getInitialState" {
|
|
1322
1493
|
import { DataSourceState } from "components/DataSource/index";
|
|
@@ -1329,59 +1500,61 @@ declare module "components/InfiniteTable/state/getInitialState" {
|
|
|
1329
1500
|
* be affected by props
|
|
1330
1501
|
*/
|
|
1331
1502
|
export function initSetupState<T>(): InfiniteTableSetupState<T>;
|
|
1332
|
-
export const forwardProps: <T>() => Partial<{
|
|
1503
|
+
export const forwardProps: <T>(setupState: InfiniteTableSetupState<T>) => Partial<{
|
|
1333
1504
|
columns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumns<T, import("components/InfiniteTable/types").InfiniteTableColumn<T>>) => import("components/InfiniteTable/types").InfiniteTablePropColumnsMap<T, import("components/InfiniteTable/types").InfiniteTableColumn<T>>);
|
|
1334
1505
|
header: 1 | ((value: boolean | undefined) => boolean);
|
|
1335
1506
|
showSeparatePivotColumnForSingleAggregation: 1 | ((value: boolean | undefined) => boolean);
|
|
1336
1507
|
pivotTotalColumnPosition: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition | undefined) => import("components/InfiniteTable/types/InfiniteTableState").InfiniteTablePropPivotTotalColumnPosition);
|
|
1337
1508
|
pivotColumns: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnsMap<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnsMap<T, import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotColumn<T>> | undefined);
|
|
1338
|
-
pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").
|
|
1509
|
+
pivotColumnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropColumnGroupsMap);
|
|
1339
1510
|
sortable: 1 | ((value: boolean | undefined) => boolean);
|
|
1340
1511
|
pivotColumn: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T, import("components/InfiniteTable/types").InfiniteTableColumn<T> & import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotFinalColumn<T, any>> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotColumn<T, import("components/InfiniteTable/types").InfiniteTableColumn<T> & import("components/InfiniteTable/types/InfiniteTableColumn").InfiniteTablePivotFinalColumn<T, any>> | undefined);
|
|
1341
1512
|
components: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined) => import("components/InfiniteTable/types").InfiniteTablePropComponents | undefined);
|
|
1342
|
-
|
|
1513
|
+
loadingText: 1 | ((value: import("react").ReactNode) => import("react").ReactNode);
|
|
1343
1514
|
viewportReservedWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1515
|
+
pivotRowLabelsColumn: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined);
|
|
1344
1516
|
groupColumn: 1 | ((value: Partial<InfiniteTablePropGroupColumn<T>> | undefined) => Partial<InfiniteTablePropGroupColumn<T>> | undefined);
|
|
1517
|
+
hideEmptyGroupColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1518
|
+
columnVisibility: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnVisibility);
|
|
1519
|
+
pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1520
|
+
pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1521
|
+
columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropColumnPinningMap);
|
|
1522
|
+
columnSizing: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnSizing | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnSizingMap);
|
|
1523
|
+
columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropColumnGroupsMap);
|
|
1524
|
+
collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
|
|
1345
1525
|
onScrollbarsChange: 1 | ((value: ((scrollbars: import("components/InfiniteTable/types").Scrollbars) => void) | undefined) => ((scrollbars: import("components/InfiniteTable/types").Scrollbars) => void) | undefined);
|
|
1346
|
-
|
|
1347
|
-
|
|
1526
|
+
columnTypes: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnTypes<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnTypesMap<T>);
|
|
1527
|
+
rowHeight: 1 | ((value: string | number) => number);
|
|
1528
|
+
rowStyle: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined);
|
|
1529
|
+
rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
|
|
1530
|
+
headerHeight: 1 | ((value: string | number) => number);
|
|
1531
|
+
domProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | undefined) => import("react").HTMLProps<HTMLDivElement> | undefined);
|
|
1532
|
+
showZebraRows: 1 | ((value: boolean | undefined) => boolean);
|
|
1533
|
+
showHoverRows: 1 | ((value: boolean | undefined) => boolean);
|
|
1534
|
+
draggableColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1535
|
+
focusedClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1536
|
+
focusedWithinClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1537
|
+
focusedStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1538
|
+
focusedWithinStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1539
|
+
columnDefaultWidth: 1 | ((value: number | undefined) => number);
|
|
1540
|
+
columnMinWidth: 1 | ((value: number | undefined) => number);
|
|
1541
|
+
columnMaxWidth: 1 | ((value: number | undefined) => number);
|
|
1542
|
+
virtualizeColumns: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T>);
|
|
1543
|
+
activeIndex: 1 | ((value: number | undefined) => number);
|
|
1348
1544
|
onSelfFocus: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1349
1545
|
onSelfBlur: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1350
1546
|
onFocusWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1351
1547
|
onBlurWithin: 1 | ((value: ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined) => ((event: import("react").FocusEvent<HTMLDivElement, Element>) => void) | undefined);
|
|
1352
1548
|
onScrollToTop: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
|
|
1353
1549
|
onScrollToBottom: 1 | ((value: (() => void) | undefined) => (() => void) | undefined);
|
|
1550
|
+
scrollStopDelay: 1 | ((value: number | undefined) => number);
|
|
1551
|
+
onScrollStop: 1 | ((value: ((param: import("components/InfiniteTable/types/InfiniteTableProps").ScrollStopInfo) => void) | undefined) => ((param: import("components/InfiniteTable/types/InfiniteTableProps").ScrollStopInfo) => void) | undefined);
|
|
1354
1552
|
scrollToBottomOffset: 1 | ((value: number | undefined) => number | undefined);
|
|
1355
|
-
focusedClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1356
|
-
focusedWithinClassName: 1 | ((value: string | undefined) => string | undefined);
|
|
1357
|
-
focusedStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1358
|
-
focusedWithinStyle: 1 | ((value: import("react").CSSProperties | undefined) => import("react").CSSProperties | undefined);
|
|
1359
|
-
domProps: 1 | ((value: import("react").HTMLProps<HTMLDivElement> | undefined) => import("react").HTMLProps<HTMLDivElement> | undefined);
|
|
1360
|
-
rowStyle: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowStyle<T> | undefined);
|
|
1361
|
-
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);
|
|
1362
|
-
rowClassName: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropRowClassName<T> | undefined);
|
|
1363
|
-
pinnedStartMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1364
|
-
pinnedEndMaxWidth: 1 | ((value: number | undefined) => number | undefined);
|
|
1365
|
-
pivotRowLabelsColumn: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropPivotRowLabelsColumn<T> | undefined);
|
|
1366
|
-
activeIndex: 1 | ((value: number | undefined) => number);
|
|
1367
|
-
columnMinWidth: 1 | ((value: number | undefined) => number);
|
|
1368
|
-
columnMaxWidth: 1 | ((value: number | undefined) => number);
|
|
1369
|
-
columnDefaultWidth: 1 | ((value: number | undefined) => number);
|
|
1370
|
-
draggableColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1371
|
-
hideEmptyGroupColumns: 1 | ((value: boolean | undefined) => boolean);
|
|
1372
1553
|
columnOrder: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnOrder | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnOrder);
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
virtualizeColumns: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T> | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropVirtualizeColumns<T>);
|
|
1554
|
+
onReady: 1 | ((value: ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined) => ((api: import("components/InfiniteTable/types").InfiniteTableImperativeApi<T>) => void) | undefined);
|
|
1555
|
+
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);
|
|
1376
1556
|
licenseKey: 1 | ((value: string | undefined) => string);
|
|
1377
|
-
|
|
1378
|
-
columnPinning: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnPinning | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnPinning);
|
|
1379
|
-
columnGroups: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnGroups | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnGroups);
|
|
1380
|
-
collapsedColumnGroups: 1 | ((value: import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups | undefined) => import("components/InfiniteTable/types/InfiniteTableProps").InfiniteTablePropCollapsedColumnGroups);
|
|
1381
|
-
columnSizing: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnSizing | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnSizingMap);
|
|
1382
|
-
columnTypes: 1 | ((value: import("components/InfiniteTable/types").InfiniteTablePropColumnTypes<T> | undefined) => import("components/InfiniteTable/types").InfiniteTablePropColumnTypesMap<T>);
|
|
1383
|
-
rowHeight: 1 | ((value: string | number) => number);
|
|
1384
|
-
headerHeight: 1 | ((value: string | number) => number);
|
|
1557
|
+
scrollTopId: 1 | ((value: string | number | undefined) => string | number | undefined);
|
|
1385
1558
|
}>;
|
|
1386
1559
|
export const mapPropsToState: <T>(params: {
|
|
1387
1560
|
props: InfiniteTableProps<T>;
|
|
@@ -1458,12 +1631,8 @@ declare module "components/flexbox/index" {
|
|
|
1458
1631
|
export const computeFlex: (params: FlexComputeParams) => FlexComputeResult;
|
|
1459
1632
|
}
|
|
1460
1633
|
declare module "components/InfiniteTable/utils/adjustColumnOrderForPinning" {
|
|
1461
|
-
import {
|
|
1462
|
-
|
|
1463
|
-
export const adjustColumnOrderForPinning: (columnOrder: InfiniteTablePropColumnOrderNormalized, columnPinning: InfiniteTablePropColumnPinning) => InfiniteTablePropColumnOrderNormalized;
|
|
1464
|
-
}
|
|
1465
|
-
declare module "utils/getGlobal" {
|
|
1466
|
-
export function getGlobal<T extends Window>(): T;
|
|
1634
|
+
import { InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinningMap } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1635
|
+
export const adjustColumnOrderForPinning: (columnOrder: InfiniteTablePropColumnOrderNormalized, columnPinning: InfiniteTablePropColumnPinningMap) => InfiniteTablePropColumnOrderNormalized;
|
|
1467
1636
|
}
|
|
1468
1637
|
declare module "components/utils/getScrollbarWidth" {
|
|
1469
1638
|
export function getScrollbarWidth(): number;
|
|
@@ -1477,7 +1646,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
|
|
|
1477
1646
|
import type { InfiniteTableColumn, InfiniteTableComputedColumn } from "components/InfiniteTable/types/InfiniteTableColumn";
|
|
1478
1647
|
import type { Size } from "components/types/Size";
|
|
1479
1648
|
import type { DataSourceSingleSortInfo } from "components/DataSource/types";
|
|
1480
|
-
import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized,
|
|
1649
|
+
import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnOrderNormalized, InfiniteTablePropColumnPinningMap, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnTypesMap, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1481
1650
|
export type SortInfoMap<T> = {
|
|
1482
1651
|
[key: string]: {
|
|
1483
1652
|
sortInfo: DataSourceSingleSortInfo<T>;
|
|
@@ -1519,7 +1688,7 @@ declare module "components/InfiniteTable/utils/getComputedVisibleColumns" {
|
|
|
1519
1688
|
setSortInfo: (sortInfo: DataSourceSingleSortInfo<T>[]) => void;
|
|
1520
1689
|
draggableColumns?: boolean;
|
|
1521
1690
|
columnOrder: InfiniteTablePropColumnOrder;
|
|
1522
|
-
columnPinning:
|
|
1691
|
+
columnPinning: InfiniteTablePropColumnPinningMap;
|
|
1523
1692
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1524
1693
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1525
1694
|
columnVisibility: InfiniteTablePropColumnVisibility;
|
|
@@ -1555,7 +1724,7 @@ declare module "components/InfiniteTable/hooks/useRerenderOnKeyChange" {
|
|
|
1555
1724
|
declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
|
|
1556
1725
|
import type { DataSourceSingleSortInfo } from "components/DataSource/types";
|
|
1557
1726
|
import type { InfiniteTableColumn } from "components/InfiniteTable/types/index";
|
|
1558
|
-
import type { InfiniteTablePropColumnOrder,
|
|
1727
|
+
import type { InfiniteTablePropColumnOrder, InfiniteTablePropColumnPinningMap, InfiniteTablePropColumnSizingMap, InfiniteTablePropColumnTypesMap, InfiniteTablePropColumnVisibility } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
1559
1728
|
import type { Size } from "components/types/Size";
|
|
1560
1729
|
import type { GetComputedVisibleColumnsResult } from "components/InfiniteTable/utils/getComputedVisibleColumns";
|
|
1561
1730
|
type UseComputedVisibleColumnsParam<T> = {
|
|
@@ -1572,7 +1741,7 @@ declare module "components/InfiniteTable/hooks/useComputedVisibleColumns" {
|
|
|
1572
1741
|
multiSort: boolean;
|
|
1573
1742
|
sortInfo?: DataSourceSingleSortInfo<T>[];
|
|
1574
1743
|
setSortInfo: (sortInfo: DataSourceSingleSortInfo<T>[]) => void;
|
|
1575
|
-
columnPinning:
|
|
1744
|
+
columnPinning: InfiniteTablePropColumnPinningMap;
|
|
1576
1745
|
columnSizing: InfiniteTablePropColumnSizingMap;
|
|
1577
1746
|
columnTypes: InfiniteTablePropColumnTypesMap<T>;
|
|
1578
1747
|
columnOrder: InfiniteTablePropColumnOrder;
|
|
@@ -1684,8 +1853,8 @@ declare module "components/InfiniteTable/utils/getColumnForGroupBy" {
|
|
|
1684
1853
|
export function getColumnForGroupBy<T>(options: InfiniteTableGroupColumnGetterOptions<T> & {
|
|
1685
1854
|
groupIndexForColumn: number;
|
|
1686
1855
|
groupByForColumn: DataSourceGroupBy<T>;
|
|
1687
|
-
}, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T
|
|
1688
|
-
export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: InfiniteTablePropGroupColumn<T
|
|
1856
|
+
}, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: Partial<InfiniteTablePropGroupColumn<T>>): InfiniteTableGeneratedGroupColumn<T>;
|
|
1857
|
+
export function getSingleGroupColumn<T>(options: InfiniteTableGroupColumnGetterOptions<T>, toggleGroupRow: (groupRowKeys: any[]) => void, groupColumnFromProps?: Partial<InfiniteTablePropGroupColumn<T>>): InfiniteTableGeneratedGroupColumn<T>;
|
|
1689
1858
|
}
|
|
1690
1859
|
declare module "components/InfiniteTable/hooks/useToggleGroupRow" {
|
|
1691
1860
|
export type ToggleGrouRowFn = (groupKeys: any[]) => void;
|
|
@@ -1724,93 +1893,6 @@ declare module "components/InfiniteTable/components/InfiniteTableBody/InfiniteTa
|
|
|
1724
1893
|
declare module "components/InfiniteTable/components/InfiniteTableBody/index" {
|
|
1725
1894
|
export * from "components/InfiniteTable/components/InfiniteTableBody/InfiniteTableBody";
|
|
1726
1895
|
}
|
|
1727
|
-
declare module "components/VirtualBrain/index" {
|
|
1728
|
-
import { Logger } from "utils/debug";
|
|
1729
|
-
import { Size } from "components/types/Size";
|
|
1730
|
-
import type { OnScrollFn, ScrollPosition } from "components/types/ScrollPosition";
|
|
1731
|
-
type MainAxisOptions = 'vertical' | 'horizontal';
|
|
1732
|
-
export type VirtualBrainOptions = {
|
|
1733
|
-
mainAxis: MainAxisOptions;
|
|
1734
|
-
itemSize: MainAxisSize;
|
|
1735
|
-
itemSpan?: ({ itemIndex }: {
|
|
1736
|
-
itemIndex: number;
|
|
1737
|
-
}) => number;
|
|
1738
|
-
count: number;
|
|
1739
|
-
name?: string;
|
|
1740
|
-
};
|
|
1741
|
-
export type MainAxisSize = number | ((itemIndex: number) => number);
|
|
1742
|
-
type OnRenderCountChangeFn = (renderCount: number) => void;
|
|
1743
|
-
type OnSizeChangeFn = (size: number) => void;
|
|
1744
|
-
type OnDestroyFn = () => void;
|
|
1745
|
-
export type GetItemPositionFn = (itemIndex: number) => number;
|
|
1746
|
-
export type RenderRange = {
|
|
1747
|
-
renderStartIndex: number;
|
|
1748
|
-
renderEndIndex: number;
|
|
1749
|
-
};
|
|
1750
|
-
export type OnRenderRangeChangeFn = (renderRange: RenderRange) => void;
|
|
1751
|
-
export class VirtualBrain extends Logger {
|
|
1752
|
-
private scrollPosition;
|
|
1753
|
-
private scrollPositionOnMainAxis;
|
|
1754
|
-
private itemSpanParent;
|
|
1755
|
-
private itemSpanValue;
|
|
1756
|
-
private itemSizeCache;
|
|
1757
|
-
private itemOffsetCache;
|
|
1758
|
-
private options;
|
|
1759
|
-
private destroyed;
|
|
1760
|
-
private totalSize;
|
|
1761
|
-
private onScrollFns;
|
|
1762
|
-
private onTotalSizeChangeFns;
|
|
1763
|
-
private onRenderCountChangeFns;
|
|
1764
|
-
private onRenderRangeChangeFns;
|
|
1765
|
-
private onDestroyFns;
|
|
1766
|
-
name: string | undefined;
|
|
1767
|
-
private renderCount;
|
|
1768
|
-
private renderRange;
|
|
1769
|
-
private availableSize;
|
|
1770
|
-
constructor(options: VirtualBrainOptions);
|
|
1771
|
-
setAvailableSize: (size: Size) => void;
|
|
1772
|
-
getOptions(): VirtualBrainOptions;
|
|
1773
|
-
private updateRenderCount;
|
|
1774
|
-
private computeRenderCount;
|
|
1775
|
-
private setRenderCount;
|
|
1776
|
-
private updateRenderRange;
|
|
1777
|
-
getRenderStartIndex(): number;
|
|
1778
|
-
getRenderCount: () => number;
|
|
1779
|
-
setScrollPosition: (scrollPosition: ScrollPosition) => void;
|
|
1780
|
-
private notifyScrollChange;
|
|
1781
|
-
private notifyDestroy;
|
|
1782
|
-
private notifyTotalSizeChange;
|
|
1783
|
-
private notifyRenderCountChange;
|
|
1784
|
-
private notifyRenderRangeChange;
|
|
1785
|
-
getRenderRange: () => RenderRange;
|
|
1786
|
-
private setRenderRange;
|
|
1787
|
-
private computeRenderRange;
|
|
1788
|
-
getScrollPosition: () => ScrollPosition;
|
|
1789
|
-
onScroll: (fn: OnScrollFn) => () => void;
|
|
1790
|
-
onTotalSizeChange: (fn: OnSizeChangeFn) => () => void;
|
|
1791
|
-
onRenderCountChange: (fn: OnRenderCountChangeFn) => () => void;
|
|
1792
|
-
onRenderRangeChange: (fn: OnRenderRangeChangeFn) => () => void;
|
|
1793
|
-
onDestroy: (fn: OnDestroyFn) => () => void;
|
|
1794
|
-
update: (newCount: VirtualBrainOptions['count'], newItemSize: VirtualBrainOptions['itemSize'], newItemSpan?: VirtualBrainOptions['itemSpan']) => void;
|
|
1795
|
-
private reset;
|
|
1796
|
-
private computeItemSpanUpTo;
|
|
1797
|
-
private computeCacheFor;
|
|
1798
|
-
private getItemSizeCacheFor;
|
|
1799
|
-
getItemSpan: (itemIndex: number) => number;
|
|
1800
|
-
getItemSpanParent: (itemIndex: number) => number;
|
|
1801
|
-
getItemSizeWithSpan: (itemIndex: number, itemSpan: number) => number;
|
|
1802
|
-
/**
|
|
1803
|
-
* For now, this doesn't take into account the itemspan, and it's okay not to
|
|
1804
|
-
* @param itemIndex
|
|
1805
|
-
* @returns the size of the specified item
|
|
1806
|
-
*/
|
|
1807
|
-
getItemSize: (itemIndex: number) => number;
|
|
1808
|
-
getTotalSize: () => number;
|
|
1809
|
-
getItemAt: (scrollPos: number) => number;
|
|
1810
|
-
getItemOffsetFor: (itemIndex: number) => number;
|
|
1811
|
-
destroy: () => void;
|
|
1812
|
-
}
|
|
1813
|
-
}
|
|
1814
1896
|
declare module "components/InfiniteTable/components/ScrollbarPlaceholder" {
|
|
1815
1897
|
import * as React from 'react';
|
|
1816
1898
|
function HorizontalScrollbarPlaceholderFn(props: {
|
|
@@ -1891,9 +1973,7 @@ declare module "components/InfiniteTable/components/cell.css" {
|
|
|
1891
1973
|
unpinned: {};
|
|
1892
1974
|
pinnedStartLastInCategory: {
|
|
1893
1975
|
borderRight: import("@vanilla-extract/private").CSSVarFunction;
|
|
1894
|
-
vars: {
|
|
1895
|
-
[x: string]: import("@vanilla-extract/private").CSSVarFunction;
|
|
1896
|
-
};
|
|
1976
|
+
vars: {};
|
|
1897
1977
|
};
|
|
1898
1978
|
pinnedEndFirstInCategory: {
|
|
1899
1979
|
borderLeft: import("@vanilla-extract/private").CSSVarFunction;
|
|
@@ -2115,15 +2195,14 @@ declare module "components/InfiniteTable/components/InfiniteTableHeader/Infinite
|
|
|
2115
2195
|
import { Renderable } from "components/types/Renderable";
|
|
2116
2196
|
import { VirtualBrain } from "components/VirtualBrain/index";
|
|
2117
2197
|
import { ScrollListener } from "components/VirtualBrain/ScrollListener";
|
|
2118
|
-
import {
|
|
2119
|
-
import { InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
2198
|
+
import { InfiniteTableColumnPinnedValues, InfiniteTableComputedColumnGroup } from "components/InfiniteTable/types/InfiniteTableProps";
|
|
2120
2199
|
export type InfiniteTableHeaderProps<T> = {
|
|
2121
2200
|
repaintId?: string | number;
|
|
2122
2201
|
brain: VirtualBrain;
|
|
2123
2202
|
columns: InfiniteTableComputedColumn<T>[];
|
|
2124
2203
|
totalWidth: number;
|
|
2125
2204
|
availableWidth: number;
|
|
2126
|
-
pinning:
|
|
2205
|
+
pinning: InfiniteTableColumnPinnedValues;
|
|
2127
2206
|
};
|
|
2128
2207
|
export type InfiniteTableHeaderGroupProps<T> = {
|
|
2129
2208
|
columns: InfiniteTableComputedColumn<T>[];
|
|
@@ -2630,6 +2709,9 @@ declare module "components/InfiniteTable/hooks/usePinnedRendering" {
|
|
|
2630
2709
|
pinnedStartScrollbarPlaceholder: JSX.Element | null;
|
|
2631
2710
|
};
|
|
2632
2711
|
}
|
|
2712
|
+
declare module "components/hooks/useOnce" {
|
|
2713
|
+
export function useOnce<ReturnType>(fn: () => ReturnType): ReturnType;
|
|
2714
|
+
}
|
|
2633
2715
|
declare module "components/InfiniteTable/hooks/useColumnSizeFn" {
|
|
2634
2716
|
import { InfiniteTableComputedColumn } from "components/InfiniteTable/types/index";
|
|
2635
2717
|
/**
|