@tanstack/table-core 8.5.19 → 8.5.20

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.
Files changed (45) hide show
  1. package/build/cjs/columnHelper.js.map +1 -1
  2. package/build/cjs/core/cell.js.map +1 -1
  3. package/build/cjs/core/column.js.map +1 -1
  4. package/build/cjs/core/headers.js.map +1 -1
  5. package/build/cjs/core/row.js.map +1 -1
  6. package/build/cjs/core/table.js.map +1 -1
  7. package/build/cjs/features/ColumnSizing.js.map +1 -1
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js.map +1 -1
  10. package/build/cjs/features/Grouping.js.map +1 -1
  11. package/build/cjs/features/Ordering.js.map +1 -1
  12. package/build/cjs/features/Pagination.js.map +1 -1
  13. package/build/cjs/features/Pinning.js.map +1 -1
  14. package/build/cjs/features/RowSelection.js.map +1 -1
  15. package/build/cjs/features/Sorting.js.map +1 -1
  16. package/build/cjs/features/Visibility.js.map +1 -1
  17. package/build/cjs/utils.js +0 -4
  18. package/build/cjs/utils.js.map +1 -1
  19. package/build/esm/index.js +0 -4
  20. package/build/esm/index.js.map +1 -1
  21. package/build/stats-html.html +1 -1
  22. package/build/stats-react.json +312 -312
  23. package/build/types/index.d.ts +253 -199
  24. package/build/umd/index.development.js +0 -4
  25. package/build/umd/index.development.js.map +1 -1
  26. package/build/umd/index.production.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/columnHelper.ts +27 -20
  29. package/src/core/cell.ts +3 -3
  30. package/src/core/column.ts +2 -5
  31. package/src/core/headers.ts +5 -5
  32. package/src/core/row.ts +1 -1
  33. package/src/core/table.ts +6 -7
  34. package/src/features/ColumnSizing.ts +8 -8
  35. package/src/features/Expanding.ts +4 -4
  36. package/src/features/Filters.ts +17 -11
  37. package/src/features/Grouping.ts +16 -10
  38. package/src/features/Ordering.ts +5 -5
  39. package/src/features/Pagination.ts +6 -6
  40. package/src/features/Pinning.ts +8 -8
  41. package/src/features/RowSelection.ts +4 -4
  42. package/src/features/Sorting.ts +15 -9
  43. package/src/features/Visibility.ts +7 -7
  44. package/src/types.ts +133 -110
  45. package/src/utils.ts +59 -46
@@ -9,17 +9,17 @@
9
9
  * @license MIT
10
10
  */
11
11
  declare type VisibilityState = Record<string, boolean>;
12
- declare type VisibilityTableState = {
12
+ interface VisibilityTableState {
13
13
  columnVisibility: VisibilityState;
14
- };
15
- declare type VisibilityOptions = {
14
+ }
15
+ interface VisibilityOptions {
16
16
  onColumnVisibilityChange?: OnChangeFn<VisibilityState>;
17
17
  enableHiding?: boolean;
18
- };
19
- declare type VisibilityDefaultOptions = {
18
+ }
19
+ interface VisibilityDefaultOptions {
20
20
  onColumnVisibilityChange: OnChangeFn<VisibilityState>;
21
- };
22
- declare type VisibilityInstance<TData extends RowData> = {
21
+ }
22
+ interface VisibilityInstance<TData extends RowData> {
23
23
  getVisibleFlatColumns: () => Column<TData, unknown>[];
24
24
  getVisibleLeafColumns: () => Column<TData, unknown>[];
25
25
  getLeftVisibleLeafColumns: () => Column<TData, unknown>[];
@@ -31,89 +31,89 @@ declare type VisibilityInstance<TData extends RowData> = {
31
31
  getIsAllColumnsVisible: () => boolean;
32
32
  getIsSomeColumnsVisible: () => boolean;
33
33
  getToggleAllColumnsVisibilityHandler: () => (event: unknown) => void;
34
- };
35
- declare type VisibilityColumnDef = {
34
+ }
35
+ interface VisibilityColumnDef {
36
36
  enableHiding?: boolean;
37
- };
38
- declare type VisibilityRow<TData extends RowData> = {
37
+ }
38
+ interface VisibilityRow<TData extends RowData> {
39
39
  _getAllVisibleCells: () => Cell<TData, unknown>[];
40
40
  getVisibleCells: () => Cell<TData, unknown>[];
41
- };
42
- declare type VisibilityColumn = {
41
+ }
42
+ interface VisibilityColumn {
43
43
  getCanHide: () => boolean;
44
44
  getIsVisible: () => boolean;
45
45
  toggleVisibility: (value?: boolean) => void;
46
46
  getToggleVisibilityHandler: () => (event: unknown) => void;
47
- };
47
+ }
48
48
  declare const Visibility: TableFeature;
49
49
 
50
- declare type ColumnOrderTableState = {
50
+ interface ColumnOrderTableState {
51
51
  columnOrder: ColumnOrderState;
52
- };
52
+ }
53
53
  declare type ColumnOrderState = string[];
54
- declare type ColumnOrderOptions = {
54
+ interface ColumnOrderOptions {
55
55
  onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
56
- };
57
- declare type ColumnOrderDefaultOptions = {
56
+ }
57
+ interface ColumnOrderDefaultOptions {
58
58
  onColumnOrderChange: OnChangeFn<ColumnOrderState>;
59
- };
60
- declare type ColumnOrderInstance<TData extends RowData> = {
59
+ }
60
+ interface ColumnOrderInstance<TData extends RowData> {
61
61
  setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
62
62
  resetColumnOrder: (defaultState?: boolean) => void;
63
63
  _getOrderColumnsFn: () => (columns: Column<TData, unknown>[]) => Column<TData, unknown>[];
64
- };
64
+ }
65
65
  declare const Ordering: TableFeature;
66
66
 
67
67
  declare type ColumnPinningPosition = false | 'left' | 'right';
68
- declare type ColumnPinningState = {
68
+ interface ColumnPinningState {
69
69
  left?: string[];
70
70
  right?: string[];
71
- };
72
- declare type ColumnPinningTableState = {
71
+ }
72
+ interface ColumnPinningTableState {
73
73
  columnPinning: ColumnPinningState;
74
- };
75
- declare type ColumnPinningOptions = {
74
+ }
75
+ interface ColumnPinningOptions {
76
76
  onColumnPinningChange?: OnChangeFn<ColumnPinningState>;
77
77
  enablePinning?: boolean;
78
- };
79
- declare type ColumnPinningDefaultOptions = {
78
+ }
79
+ interface ColumnPinningDefaultOptions {
80
80
  onColumnPinningChange: OnChangeFn<ColumnPinningState>;
81
- };
82
- declare type ColumnPinningColumnDef = {
81
+ }
82
+ interface ColumnPinningColumnDef {
83
83
  enablePinning?: boolean;
84
- };
85
- declare type ColumnPinningColumn = {
84
+ }
85
+ interface ColumnPinningColumn {
86
86
  getCanPin: () => boolean;
87
87
  getPinnedIndex: () => number;
88
88
  getIsPinned: () => ColumnPinningPosition;
89
89
  pin: (position: ColumnPinningPosition) => void;
90
- };
91
- declare type ColumnPinningRow<TData extends RowData> = {
90
+ }
91
+ interface ColumnPinningRow<TData extends RowData> {
92
92
  getLeftVisibleCells: () => Cell<TData, unknown>[];
93
93
  getCenterVisibleCells: () => Cell<TData, unknown>[];
94
94
  getRightVisibleCells: () => Cell<TData, unknown>[];
95
- };
96
- declare type ColumnPinningInstance<TData extends RowData> = {
95
+ }
96
+ interface ColumnPinningInstance<TData extends RowData> {
97
97
  setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
98
98
  resetColumnPinning: (defaultState?: boolean) => void;
99
99
  getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
100
100
  getLeftLeafColumns: () => Column<TData, unknown>[];
101
101
  getRightLeafColumns: () => Column<TData, unknown>[];
102
102
  getCenterLeafColumns: () => Column<TData, unknown>[];
103
- };
103
+ }
104
104
  declare const Pinning: TableFeature;
105
105
 
106
- declare type CoreHeaderGroup<TData extends RowData> = {
106
+ interface CoreHeaderGroup<TData extends RowData> {
107
107
  id: string;
108
108
  depth: number;
109
109
  headers: Header<TData, unknown>[];
110
- };
111
- declare type HeaderContext<TData, TValue> = {
110
+ }
111
+ interface HeaderContext<TData, TValue> {
112
112
  table: Table<TData>;
113
113
  header: Header<TData, TValue>;
114
114
  column: Column<TData, TValue>;
115
- };
116
- declare type CoreHeader<TData extends RowData, TValue> = {
115
+ }
116
+ interface CoreHeader<TData extends RowData, TValue> {
117
117
  id: string;
118
118
  index: number;
119
119
  depth: number;
@@ -126,8 +126,8 @@ declare type CoreHeader<TData extends RowData, TValue> = {
126
126
  isPlaceholder: boolean;
127
127
  placeholderId?: string;
128
128
  getContext: () => HeaderContext<TData, TValue>;
129
- };
130
- declare type HeadersInstance<TData extends RowData> = {
129
+ }
130
+ interface HeadersInstance<TData extends RowData> {
131
131
  getHeaderGroups: () => HeaderGroup<TData>[];
132
132
  getLeftHeaderGroups: () => HeaderGroup<TData>[];
133
133
  getCenterHeaderGroups: () => HeaderGroup<TData>[];
@@ -144,7 +144,7 @@ declare type HeadersInstance<TData extends RowData> = {
144
144
  getLeftLeafHeaders: () => Header<TData, unknown>[];
145
145
  getCenterLeafHeaders: () => Header<TData, unknown>[];
146
146
  getRightLeafHeaders: () => Header<TData, unknown>[];
147
- };
147
+ }
148
148
  declare const Headers: TableFeature;
149
149
  declare function buildHeaderGroups<TData extends RowData>(allColumns: Column<TData, unknown>[], columnsToGroup: Column<TData, unknown>[], table: Table<TData>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TData>[];
150
150
 
@@ -161,35 +161,35 @@ declare const filterFns: {
161
161
  };
162
162
  declare type BuiltInFilterFn = keyof typeof filterFns;
163
163
 
164
- declare type FiltersTableState = {
164
+ interface FiltersTableState {
165
165
  columnFilters: ColumnFiltersState;
166
166
  globalFilter: any;
167
- };
167
+ }
168
168
  declare type ColumnFiltersState = ColumnFilter[];
169
- declare type ColumnFilter = {
169
+ interface ColumnFilter {
170
170
  id: string;
171
171
  value: unknown;
172
- };
173
- declare type ResolvedColumnFilter<TData extends RowData> = {
172
+ }
173
+ interface ResolvedColumnFilter<TData extends RowData> {
174
174
  id: string;
175
175
  resolvedValue: unknown;
176
176
  filterFn: FilterFn<TData>;
177
- };
178
- declare type FilterFn<TData extends RowData> = {
177
+ }
178
+ interface FilterFn<TData extends RowData> {
179
179
  (row: Row<TData>, columnId: string, filterValue: any, addMeta: (meta: FilterMeta) => void): boolean;
180
180
  resolveFilterValue?: TransformFilterValueFn<TData>;
181
181
  autoRemove?: ColumnFilterAutoRemoveTestFn<TData>;
182
- };
182
+ }
183
183
  declare type TransformFilterValueFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => unknown;
184
184
  declare type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => boolean;
185
185
  declare type CustomFilterFns<TData extends RowData> = Record<string, FilterFn<TData>>;
186
186
  declare type FilterFnOption<TData extends RowData> = 'auto' | BuiltInFilterFn | keyof FilterFns | FilterFn<TData>;
187
- declare type FiltersColumnDef<TData extends RowData> = {
187
+ interface FiltersColumnDef<TData extends RowData> {
188
188
  filterFn?: FilterFnOption<TData>;
189
189
  enableColumnFilter?: boolean;
190
190
  enableGlobalFilter?: boolean;
191
- };
192
- declare type FiltersColumn<TData extends RowData> = {
191
+ }
192
+ interface FiltersColumn<TData extends RowData> {
193
193
  getAutoFilterFn: () => FilterFn<TData> | undefined;
194
194
  getFilterFn: () => FilterFn<TData> | undefined;
195
195
  setFilterValue: (updater: Updater<any>) => void;
@@ -204,12 +204,12 @@ declare type FiltersColumn<TData extends RowData> = {
204
204
  _getFacetedUniqueValues?: () => Map<any, number>;
205
205
  getFacetedMinMaxValues: () => undefined | [number, number];
206
206
  _getFacetedMinMaxValues?: () => undefined | [number, number];
207
- };
208
- declare type FiltersRow<TData extends RowData> = {
207
+ }
208
+ interface FiltersRow<TData extends RowData> {
209
209
  columnFilters: Record<string, boolean>;
210
210
  columnFiltersMeta: Record<string, FilterMeta>;
211
- };
212
- declare type FiltersOptions<TData extends RowData> = {
211
+ }
212
+ interface FiltersOptionsBase<TData extends RowData> {
213
213
  enableFilters?: boolean;
214
214
  manualFiltering?: boolean;
215
215
  filterFromLeafRows?: boolean;
@@ -223,12 +223,15 @@ declare type FiltersOptions<TData extends RowData> = {
223
223
  getFacetedRowModel?: (table: Table<TData>, columnId: string) => () => RowModel<TData>;
224
224
  getFacetedUniqueValues?: (table: Table<TData>, columnId: string) => () => Map<any, number>;
225
225
  getFacetedMinMaxValues?: (table: Table<TData>, columnId: string) => () => undefined | [number, number];
226
- } & (keyof FilterFns extends never ? {
226
+ }
227
+ declare type ResolvedFilterFns = keyof FilterFns extends never ? {
227
228
  filterFns?: Record<string, FilterFn<any>>;
228
229
  } : {
229
230
  filterFns: Record<keyof FilterFns, FilterFn<any>>;
230
- });
231
- declare type FiltersInstance<TData extends RowData> = {
231
+ };
232
+ interface FiltersOptions<TData extends RowData> extends FiltersOptionsBase<TData>, ResolvedFilterFns {
233
+ }
234
+ interface FiltersInstance<TData extends RowData> {
232
235
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
233
236
  resetColumnFilters: (defaultState?: boolean) => void;
234
237
  getPreFilteredRowModel: () => RowModel<TData>;
@@ -244,7 +247,7 @@ declare type FiltersInstance<TData extends RowData> = {
244
247
  _getGlobalFacetedUniqueValues?: () => Map<any, number>;
245
248
  getGlobalFacetedMinMaxValues: () => undefined | [number, number];
246
249
  _getGlobalFacetedMinMaxValues?: () => undefined | [number, number];
247
- };
250
+ }
248
251
  declare const Filters: TableFeature;
249
252
  declare function shouldAutoRemoveFilter<TData extends RowData>(filterFn?: FilterFn<TData>, value?: any, column?: Column<TData, unknown>): boolean;
250
253
 
@@ -260,28 +263,28 @@ declare const sortingFns: {
260
263
  declare type BuiltInSortingFn = keyof typeof sortingFns;
261
264
 
262
265
  declare type SortDirection = 'asc' | 'desc';
263
- declare type ColumnSort = {
266
+ interface ColumnSort {
264
267
  id: string;
265
268
  desc: boolean;
266
- };
269
+ }
267
270
  declare type SortingState = ColumnSort[];
268
- declare type SortingTableState = {
271
+ interface SortingTableState {
269
272
  sorting: SortingState;
270
- };
271
- declare type SortingFn<TData extends RowData> = {
273
+ }
274
+ interface SortingFn<TData extends RowData> {
272
275
  (rowA: Row<TData>, rowB: Row<TData>, columnId: string): number;
273
- };
276
+ }
274
277
  declare type CustomSortingFns<TData extends RowData> = Record<string, SortingFn<TData>>;
275
278
  declare type SortingFnOption<TData extends RowData> = 'auto' | keyof SortingFns | BuiltInSortingFn | SortingFn<TData>;
276
- declare type SortingColumnDef<TData extends RowData> = {
279
+ interface SortingColumnDef<TData extends RowData> {
277
280
  sortingFn?: SortingFnOption<TData>;
278
281
  sortDescFirst?: boolean;
279
282
  enableSorting?: boolean;
280
283
  enableMultiSort?: boolean;
281
284
  invertSorting?: boolean;
282
285
  sortUndefined?: false | -1 | 1;
283
- };
284
- declare type SortingColumn<TData extends RowData> = {
286
+ }
287
+ interface SortingColumn<TData extends RowData> {
285
288
  getAutoSortingFn: () => SortingFn<TData>;
286
289
  getAutoSortDir: () => SortDirection;
287
290
  getSortingFn: () => SortingFn<TData>;
@@ -294,8 +297,8 @@ declare type SortingColumn<TData extends RowData> = {
294
297
  clearSorting: () => void;
295
298
  toggleSorting: (desc?: boolean, isMulti?: boolean) => void;
296
299
  getToggleSortingHandler: () => undefined | ((event: unknown) => void);
297
- };
298
- declare type SortingOptions<TData extends RowData> = {
300
+ }
301
+ interface SortingOptionsBase {
299
302
  manualSorting?: boolean;
300
303
  onSortingChange?: OnChangeFn<SortingState>;
301
304
  enableSorting?: boolean;
@@ -306,18 +309,21 @@ declare type SortingOptions<TData extends RowData> = {
306
309
  getSortedRowModel?: (table: Table<any>) => () => RowModel<any>;
307
310
  maxMultiSortColCount?: number;
308
311
  isMultiSortEvent?: (e: unknown) => boolean;
309
- } & (keyof SortingFns extends never ? {
312
+ }
313
+ declare type ResolvedSortingFns = keyof SortingFns extends never ? {
310
314
  sortingFns?: Record<string, SortingFn<any>>;
311
315
  } : {
312
316
  sortingFns: Record<keyof SortingFns, SortingFn<any>>;
313
- });
314
- declare type SortingInstance<TData extends RowData> = {
317
+ };
318
+ interface SortingOptions<TData extends RowData> extends SortingOptionsBase, ResolvedSortingFns {
319
+ }
320
+ interface SortingInstance<TData extends RowData> {
315
321
  setSorting: (updater: Updater<SortingState>) => void;
316
322
  resetSorting: (defaultState?: boolean) => void;
317
323
  getPreSortedRowModel: () => RowModel<TData>;
318
324
  getSortedRowModel: () => RowModel<TData>;
319
325
  _getSortedRowModel?: () => RowModel<TData>;
320
- };
326
+ }
321
327
  declare const Sorting: TableFeature;
322
328
 
323
329
  declare const aggregationFns: {
@@ -334,18 +340,18 @@ declare const aggregationFns: {
334
340
  declare type BuiltInAggregationFn = keyof typeof aggregationFns;
335
341
 
336
342
  declare type GroupingState = string[];
337
- declare type GroupingTableState = {
343
+ interface GroupingTableState {
338
344
  grouping: GroupingState;
339
- };
345
+ }
340
346
  declare type AggregationFn<TData extends RowData> = (columnId: string, leafRows: Row<TData>[], childRows: Row<TData>[]) => any;
341
347
  declare type CustomAggregationFns = Record<string, AggregationFn<any>>;
342
348
  declare type AggregationFnOption<TData extends RowData> = 'auto' | keyof AggregationFns | BuiltInAggregationFn | AggregationFn<TData>;
343
- declare type GroupingColumnDef<TData extends RowData, TValue> = {
349
+ interface GroupingColumnDef<TData extends RowData, TValue> {
344
350
  aggregationFn?: AggregationFnOption<TData>;
345
351
  aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TData, TValue>['getContext']>>;
346
352
  enableGrouping?: boolean;
347
- };
348
- declare type GroupingColumn<TData extends RowData> = {
353
+ }
354
+ interface GroupingColumn<TData extends RowData> {
349
355
  getCanGroup: () => boolean;
350
356
  getIsGrouped: () => boolean;
351
357
  getGroupedIndex: () => number;
@@ -353,56 +359,59 @@ declare type GroupingColumn<TData extends RowData> = {
353
359
  getToggleGroupingHandler: () => () => void;
354
360
  getAutoAggregationFn: () => AggregationFn<TData> | undefined;
355
361
  getAggregationFn: () => AggregationFn<TData> | undefined;
356
- };
357
- declare type GroupingRow = {
362
+ }
363
+ interface GroupingRow {
358
364
  groupingColumnId?: string;
359
365
  groupingValue?: unknown;
360
366
  getIsGrouped: () => boolean;
361
367
  _groupingValuesCache: Record<string, any>;
362
- };
363
- declare type GroupingCell = {
368
+ }
369
+ interface GroupingCell {
364
370
  getIsGrouped: () => boolean;
365
371
  getIsPlaceholder: () => boolean;
366
372
  getIsAggregated: () => boolean;
367
- };
368
- declare type ColumnDefaultOptions = {
373
+ }
374
+ interface ColumnDefaultOptions {
369
375
  onGroupingChange: OnChangeFn<GroupingState>;
370
376
  enableGrouping: boolean;
371
- };
372
- declare type GroupingOptions = {
377
+ }
378
+ interface GroupingOptionsBase {
373
379
  manualGrouping?: boolean;
374
380
  onGroupingChange?: OnChangeFn<GroupingState>;
375
381
  enableGrouping?: boolean;
376
382
  getGroupedRowModel?: (table: Table<any>) => () => RowModel<any>;
377
383
  groupedColumnMode?: false | 'reorder' | 'remove';
378
- } & (keyof AggregationFns extends never ? {
384
+ }
385
+ declare type ResolvedAggregationFns = keyof AggregationFns extends never ? {
379
386
  aggregationFns?: Record<string, AggregationFn<any>>;
380
387
  } : {
381
388
  aggregationFns: Record<keyof AggregationFns, AggregationFn<any>>;
382
- });
389
+ };
390
+ interface GroupingOptions extends GroupingOptionsBase, ResolvedAggregationFns {
391
+ }
383
392
  declare type GroupingColumnMode = false | 'reorder' | 'remove';
384
- declare type GroupingInstance<TData extends RowData> = {
393
+ interface GroupingInstance<TData extends RowData> {
385
394
  setGrouping: (updater: Updater<GroupingState>) => void;
386
395
  resetGrouping: (defaultState?: boolean) => void;
387
396
  getPreGroupedRowModel: () => RowModel<TData>;
388
397
  getGroupedRowModel: () => RowModel<TData>;
389
398
  _getGroupedRowModel?: () => RowModel<TData>;
390
- };
399
+ }
391
400
  declare const Grouping: TableFeature;
392
401
  declare function orderColumns<TData extends RowData>(leafColumns: Column<TData, unknown>[], grouping: string[], groupedColumnMode?: GroupingColumnMode): Column<TData, unknown>[];
393
402
 
394
403
  declare type ExpandedStateList = Record<string, boolean>;
395
404
  declare type ExpandedState = true | Record<string, boolean>;
396
- declare type ExpandedTableState = {
405
+ interface ExpandedTableState {
397
406
  expanded: ExpandedState;
398
- };
399
- declare type ExpandedRow = {
407
+ }
408
+ interface ExpandedRow {
400
409
  toggleExpanded: (expanded?: boolean) => void;
401
410
  getIsExpanded: () => boolean;
402
411
  getCanExpand: () => boolean;
403
412
  getToggleExpandedHandler: () => () => void;
404
- };
405
- declare type ExpandedOptions<TData extends RowData> = {
413
+ }
414
+ interface ExpandedOptions<TData extends RowData> {
406
415
  manualExpanding?: boolean;
407
416
  onExpandedChange?: OnChangeFn<ExpandedState>;
408
417
  autoResetExpanded?: boolean;
@@ -411,8 +420,8 @@ declare type ExpandedOptions<TData extends RowData> = {
411
420
  getIsRowExpanded?: (row: Row<TData>) => boolean;
412
421
  getRowCanExpand?: (row: Row<TData>) => boolean;
413
422
  paginateExpandedRows?: boolean;
414
- };
415
- declare type ExpandedInstance<TData extends RowData> = {
423
+ }
424
+ interface ExpandedInstance<TData extends RowData> {
416
425
  _autoResetExpanded: () => void;
417
426
  setExpanded: (updater: Updater<ExpandedState>) => void;
418
427
  toggleAllRowsExpanded: (expanded?: boolean) => void;
@@ -425,35 +434,35 @@ declare type ExpandedInstance<TData extends RowData> = {
425
434
  getExpandedRowModel: () => RowModel<TData>;
426
435
  _getExpandedRowModel?: () => RowModel<TData>;
427
436
  getPreExpandedRowModel: () => RowModel<TData>;
428
- };
437
+ }
429
438
  declare const Expanding: TableFeature;
430
439
 
431
- declare type ColumnSizingTableState = {
440
+ interface ColumnSizingTableState {
432
441
  columnSizing: ColumnSizingState;
433
442
  columnSizingInfo: ColumnSizingInfoState;
434
- };
443
+ }
435
444
  declare type ColumnSizingState = Record<string, number>;
436
- declare type ColumnSizingInfoState = {
445
+ interface ColumnSizingInfoState {
437
446
  startOffset: null | number;
438
447
  startSize: null | number;
439
448
  deltaOffset: null | number;
440
449
  deltaPercentage: null | number;
441
450
  isResizingColumn: false | string;
442
451
  columnSizingStart: [string, number][];
443
- };
452
+ }
444
453
  declare type ColumnResizeMode = 'onChange' | 'onEnd';
445
- declare type ColumnSizingOptions = {
454
+ interface ColumnSizingOptions {
446
455
  enableColumnResizing?: boolean;
447
456
  columnResizeMode?: ColumnResizeMode;
448
457
  onColumnSizingChange?: OnChangeFn<ColumnSizingState>;
449
458
  onColumnSizingInfoChange?: OnChangeFn<ColumnSizingInfoState>;
450
- };
451
- declare type ColumnSizingDefaultOptions = {
459
+ }
460
+ interface ColumnSizingDefaultOptions {
452
461
  columnResizeMode: ColumnResizeMode;
453
462
  onColumnSizingChange: OnChangeFn<ColumnSizingState>;
454
463
  onColumnSizingInfoChange: OnChangeFn<ColumnSizingInfoState>;
455
- };
456
- declare type ColumnSizingInstance = {
464
+ }
465
+ interface ColumnSizingInstance {
457
466
  setColumnSizing: (updater: Updater<ColumnSizingState>) => void;
458
467
  setColumnSizingInfo: (updater: Updater<ColumnSizingInfoState>) => void;
459
468
  resetColumnSizing: (defaultState?: boolean) => void;
@@ -462,25 +471,25 @@ declare type ColumnSizingInstance = {
462
471
  getLeftTotalSize: () => number;
463
472
  getCenterTotalSize: () => number;
464
473
  getRightTotalSize: () => number;
465
- };
466
- declare type ColumnSizingColumnDef = {
474
+ }
475
+ interface ColumnSizingColumnDef {
467
476
  enableResizing?: boolean;
468
477
  size?: number;
469
478
  minSize?: number;
470
479
  maxSize?: number;
471
- };
472
- declare type ColumnSizingColumn = {
480
+ }
481
+ interface ColumnSizingColumn {
473
482
  getSize: () => number;
474
483
  getStart: (position?: ColumnPinningPosition) => number;
475
484
  getCanResize: () => boolean;
476
485
  getIsResizing: () => boolean;
477
486
  resetSize: () => void;
478
- };
479
- declare type ColumnSizingHeader = {
487
+ }
488
+ interface ColumnSizingHeader {
480
489
  getSize: () => number;
481
490
  getStart: (position?: ColumnPinningPosition) => number;
482
491
  getResizeHandler: () => (event: unknown) => void;
483
- };
492
+ }
484
493
  declare const defaultColumnSizing: {
485
494
  size: number;
486
495
  minSize: number;
@@ -489,27 +498,27 @@ declare const defaultColumnSizing: {
489
498
  declare const ColumnSizing: TableFeature;
490
499
  declare function passiveEventSupported(): boolean;
491
500
 
492
- declare type PaginationState = {
501
+ interface PaginationState {
493
502
  pageIndex: number;
494
503
  pageSize: number;
495
- };
496
- declare type PaginationTableState = {
504
+ }
505
+ interface PaginationTableState {
497
506
  pagination: PaginationState;
498
- };
499
- declare type PaginationInitialTableState = {
507
+ }
508
+ interface PaginationInitialTableState {
500
509
  pagination?: Partial<PaginationState>;
501
- };
502
- declare type PaginationOptions = {
510
+ }
511
+ interface PaginationOptions {
503
512
  pageCount?: number;
504
513
  manualPagination?: boolean;
505
514
  onPaginationChange?: OnChangeFn<PaginationState>;
506
515
  autoResetPageIndex?: boolean;
507
516
  getPaginationRowModel?: (table: Table<any>) => () => RowModel<any>;
508
- };
509
- declare type PaginationDefaultOptions = {
517
+ }
518
+ interface PaginationDefaultOptions {
510
519
  onPaginationChange: OnChangeFn<PaginationState>;
511
- };
512
- declare type PaginationInstance<TData extends RowData> = {
520
+ }
521
+ interface PaginationInstance<TData extends RowData> {
513
522
  _autoResetPageIndex: () => void;
514
523
  setPagination: (updater: Updater<PaginationState>) => void;
515
524
  resetPagination: (defaultState?: boolean) => void;
@@ -527,20 +536,20 @@ declare type PaginationInstance<TData extends RowData> = {
527
536
  getPaginationRowModel: () => RowModel<TData>;
528
537
  _getPaginationRowModel?: () => RowModel<TData>;
529
538
  getPageCount: () => number;
530
- };
539
+ }
531
540
  declare const Pagination: TableFeature;
532
541
 
533
542
  declare type RowSelectionState = Record<string, boolean>;
534
- declare type RowSelectionTableState = {
543
+ interface RowSelectionTableState {
535
544
  rowSelection: RowSelectionState;
536
- };
537
- declare type RowSelectionOptions<TData extends RowData> = {
545
+ }
546
+ interface RowSelectionOptions<TData extends RowData> {
538
547
  enableRowSelection?: boolean | ((row: Row<TData>) => boolean);
539
548
  enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean);
540
549
  enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean);
541
550
  onRowSelectionChange?: OnChangeFn<RowSelectionState>;
542
- };
543
- declare type RowSelectionRow = {
551
+ }
552
+ interface RowSelectionRow {
544
553
  getIsSelected: () => boolean;
545
554
  getIsSomeSelected: () => boolean;
546
555
  getIsAllSubRowsSelected: () => boolean;
@@ -549,8 +558,8 @@ declare type RowSelectionRow = {
549
558
  getCanSelectSubRows: () => boolean;
550
559
  toggleSelected: (value?: boolean) => void;
551
560
  getToggleSelectedHandler: () => (event: unknown) => void;
552
- };
553
- declare type RowSelectionInstance<TData extends RowData> = {
561
+ }
562
+ interface RowSelectionInstance<TData extends RowData> {
554
563
  getToggleAllRowsSelectedHandler: () => (event: unknown) => void;
555
564
  getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void;
556
565
  setRowSelection: (updater: Updater<RowSelectionState>) => void;
@@ -565,13 +574,13 @@ declare type RowSelectionInstance<TData extends RowData> = {
565
574
  getSelectedRowModel: () => RowModel<TData>;
566
575
  getFilteredSelectedRowModel: () => RowModel<TData>;
567
576
  getGroupedSelectedRowModel: () => RowModel<TData>;
568
- };
577
+ }
569
578
  declare const RowSelection: TableFeature;
570
579
  declare function selectRowsFn<TData extends RowData>(table: Table<TData>, rowModel: RowModel<TData>): RowModel<TData>;
571
580
  declare function isRowSelected<TData extends RowData>(row: Row<TData>, selection: Record<string, boolean>): boolean;
572
581
  declare function isSubRowSelected<TData extends RowData>(row: Row<TData>, selection: Record<string, boolean>, table: Table<TData>): boolean | 'some' | 'all';
573
582
 
574
- declare type CoreRow<TData extends RowData> = {
583
+ interface CoreRow<TData extends RowData> {
575
584
  id: string;
576
585
  index: number;
577
586
  original: TData;
@@ -586,28 +595,28 @@ declare type CoreRow<TData extends RowData> = {
586
595
  originalSubRows?: TData[];
587
596
  getAllCells: () => Cell<TData, unknown>[];
588
597
  _getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>;
589
- };
598
+ }
590
599
  declare const createRow: <TData extends unknown>(table: Table<TData>, id: string, original: TData, rowIndex: number, depth: number, subRows?: Row<TData>[] | undefined) => Row<TData>;
591
600
 
592
- declare type CellContext<TData extends RowData, TValue> = {
601
+ interface CellContext<TData extends RowData, TValue> {
593
602
  table: Table<TData>;
594
603
  column: Column<TData, TValue>;
595
604
  row: Row<TData>;
596
605
  cell: Cell<TData, TValue>;
597
606
  getValue: Getter<TValue>;
598
607
  renderValue: Getter<TValue | null>;
599
- };
600
- declare type CoreCell<TData extends RowData, TValue> = {
608
+ }
609
+ interface CoreCell<TData extends RowData, TValue> {
601
610
  id: string;
602
611
  getValue: CellContext<TData, TValue>['getValue'];
603
612
  renderValue: CellContext<TData, TValue>['renderValue'];
604
613
  row: Row<TData>;
605
614
  column: Column<TData, TValue>;
606
615
  getContext: () => CellContext<TData, TValue>;
607
- };
616
+ }
608
617
  declare function createCell<TData extends RowData, TValue>(table: Table<TData>, row: Row<TData>, column: Column<TData, TValue>, columnId: string): Cell<TData, TValue>;
609
618
 
610
- declare type CoreColumn<TData extends RowData, TValue> = {
619
+ interface CoreColumn<TData extends RowData, TValue> {
611
620
  id: string;
612
621
  depth: number;
613
622
  accessorFn?: AccessorFn<TData, TValue>;
@@ -616,7 +625,7 @@ declare type CoreColumn<TData extends RowData, TValue> = {
616
625
  parent?: Column<TData, TValue>;
617
626
  getFlatColumns: () => Column<TData, TValue>[];
618
627
  getLeafColumns: () => Column<TData, TValue>[];
619
- };
628
+ }
620
629
  declare function createColumn<TData extends RowData, TValue>(table: Table<TData>, columnDef: ColumnDef<TData, TValue>, depth: number, parent?: Column<TData, TValue>): Column<TData, TValue>;
621
630
 
622
631
  interface TableMeta<TData extends RowData> {
@@ -635,78 +644,120 @@ declare type Updater<T> = T | ((old: T) => T);
635
644
  declare type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
636
645
  declare type RowData = unknown | object | any[];
637
646
  declare type AnyRender = (Comp: any, props: any) => any;
638
- declare type Table<TData extends RowData> = CoreInstance<TData> & HeadersInstance<TData> & VisibilityInstance<TData> & ColumnOrderInstance<TData> & ColumnPinningInstance<TData> & FiltersInstance<TData> & SortingInstance<TData> & GroupingInstance<TData> & ColumnSizingInstance & ExpandedInstance<TData> & PaginationInstance<TData> & RowSelectionInstance<TData>;
639
- declare type TableOptionsResolved<TData extends RowData> = CoreOptions<TData> & VisibilityOptions & ColumnOrderOptions & ColumnPinningOptions & FiltersOptions<TData> & SortingOptions<TData> & GroupingOptions & ExpandedOptions<TData> & ColumnSizingOptions & PaginationOptions & RowSelectionOptions<TData>;
640
- declare type TableOptions<TData extends RowData> = PartialKeys<TableOptionsResolved<TData>, 'state' | 'onStateChange' | 'renderFallbackValue'>;
641
- declare type TableState = CoreTableState & VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationTableState & RowSelectionTableState;
642
- declare type InitialTableState = Partial<CoreTableState & VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationInitialTableState & RowSelectionTableState>;
643
- declare type Row<TData extends RowData> = CoreRow<TData> & VisibilityRow<TData> & ColumnPinningRow<TData> & FiltersRow<TData> & GroupingRow & RowSelectionRow & ExpandedRow;
644
- declare type RowModel<TData extends RowData> = {
647
+ interface Table<TData extends RowData> extends CoreInstance<TData>, HeadersInstance<TData>, VisibilityInstance<TData>, ColumnOrderInstance<TData>, ColumnPinningInstance<TData>, FiltersInstance<TData>, SortingInstance<TData>, GroupingInstance<TData>, ColumnSizingInstance, ExpandedInstance<TData>, PaginationInstance<TData>, RowSelectionInstance<TData> {
648
+ }
649
+ interface FeatureOptions<TData extends RowData> extends VisibilityOptions, ColumnOrderOptions, ColumnPinningOptions, FiltersOptions<TData>, SortingOptions<TData>, GroupingOptions, ExpandedOptions<TData>, ColumnSizingOptions, PaginationOptions, RowSelectionOptions<TData> {
650
+ }
651
+ declare type TableOptionsResolved<TData extends RowData> = CoreOptions<TData> & FeatureOptions<TData>;
652
+ interface TableOptions<TData extends RowData> extends PartialKeys<TableOptionsResolved<TData>, 'state' | 'onStateChange' | 'renderFallbackValue'> {
653
+ }
654
+ interface TableState extends CoreTableState, VisibilityTableState, ColumnOrderTableState, ColumnPinningTableState, FiltersTableState, SortingTableState, ExpandedTableState, GroupingTableState, ColumnSizingTableState, PaginationTableState, RowSelectionTableState {
655
+ }
656
+ interface CompleteInitialTableState extends CoreTableState, VisibilityTableState, ColumnOrderTableState, ColumnPinningTableState, FiltersTableState, SortingTableState, ExpandedTableState, GroupingTableState, ColumnSizingTableState, PaginationInitialTableState, RowSelectionTableState {
657
+ }
658
+ interface InitialTableState extends Partial<CompleteInitialTableState> {
659
+ }
660
+ interface Row<TData extends RowData> extends CoreRow<TData>, VisibilityRow<TData>, ColumnPinningRow<TData>, FiltersRow<TData>, GroupingRow, RowSelectionRow, ExpandedRow {
661
+ }
662
+ interface RowModel<TData extends RowData> {
645
663
  rows: Row<TData>[];
646
664
  flatRows: Row<TData>[];
647
665
  rowsById: Record<string, Row<TData>>;
648
- };
666
+ }
649
667
  declare type AccessorFn<TData extends RowData, TValue = unknown> = (originalRow: TData, index: number) => TValue;
650
668
  declare type ColumnDefTemplate<TProps extends object> = string | ((props: TProps) => any);
651
669
  declare type StringOrTemplateHeader<TData, TValue> = string | ColumnDefTemplate<HeaderContext<TData, TValue>>;
652
- declare type StringHeaderIdentifier = {
670
+ interface StringHeaderIdentifier {
653
671
  header: string;
654
672
  id?: string;
655
- };
656
- declare type IdIdentifier<TData extends RowData, TValue> = {
673
+ }
674
+ interface IdIdentifier<TData extends RowData, TValue> {
657
675
  id: string;
658
676
  header?: StringOrTemplateHeader<TData, TValue>;
659
- };
677
+ }
660
678
  declare type ColumnIdentifiers<TData extends RowData, TValue> = IdIdentifier<TData, TValue> | StringHeaderIdentifier;
661
- declare type ColumnDefBase<TData extends RowData, TValue = unknown> = {
679
+ interface ColumnDefExtensions<TData extends RowData, TValue = unknown> extends VisibilityColumnDef, ColumnPinningColumnDef, FiltersColumnDef<TData>, SortingColumnDef<TData>, GroupingColumnDef<TData, TValue>, ColumnSizingColumnDef {
680
+ }
681
+ interface ColumnDefBase<TData extends RowData, TValue = unknown> extends ColumnDefExtensions<TData, TValue> {
662
682
  getUniqueValues?: AccessorFn<TData, unknown[]>;
663
683
  footer?: ColumnDefTemplate<HeaderContext<TData, TValue>>;
664
684
  cell?: ColumnDefTemplate<CellContext<TData, TValue>>;
665
685
  meta?: ColumnMeta<TData, TValue>;
666
- } & VisibilityColumnDef & ColumnPinningColumnDef & FiltersColumnDef<TData> & SortingColumnDef<TData> & GroupingColumnDef<TData, TValue> & ColumnSizingColumnDef;
667
- declare type IdentifiedColumnDef<TData extends RowData, TValue = unknown> = ColumnDefBase<TData, TValue> & {
686
+ }
687
+ interface IdentifiedColumnDef<TData extends RowData, TValue = unknown> extends ColumnDefBase<TData, TValue> {
668
688
  id?: string;
669
689
  header?: StringOrTemplateHeader<TData, TValue>;
670
- };
690
+ }
671
691
  declare type DisplayColumnDef<TData extends RowData, TValue = unknown> = ColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>;
672
- declare type GroupColumnDef<TData extends RowData, TValue = unknown> = ColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue> & {
692
+ interface GroupColumnDefBase<TData extends RowData, TValue = unknown> extends ColumnDefBase<TData, TValue> {
673
693
  columns?: ColumnDef<TData, any>[];
674
- };
675
- declare type AccessorFnColumnDef<TData extends RowData, TValue = unknown> = ColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue> & {
694
+ }
695
+ declare type GroupColumnDef<TData extends RowData, TValue = unknown> = GroupColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>;
696
+ interface AccessorFnColumnDefBase<TData extends RowData, TValue = unknown> extends ColumnDefBase<TData, TValue> {
676
697
  accessorFn: AccessorFn<TData, TValue>;
677
- };
678
- declare type AccessorKeyColumnDef<TData extends RowData, TValue = unknown> = {
698
+ }
699
+ declare type AccessorFnColumnDef<TData extends RowData, TValue = unknown> = AccessorFnColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>;
700
+ interface AccessorKeyColumnDefBase<TData extends RowData, TValue = unknown> extends ColumnDefBase<TData, TValue> {
679
701
  id?: string;
680
- } & Partial<ColumnIdentifiers<TData, TValue>> & ColumnDefBase<TData, TValue> & {
681
702
  accessorKey: string | keyof TData;
682
- };
703
+ }
704
+ declare type AccessorKeyColumnDef<TData extends RowData, TValue = unknown> = AccessorKeyColumnDefBase<TData, TValue> & Partial<ColumnIdentifiers<TData, TValue>>;
683
705
  declare type AccessorColumnDef<TData extends RowData, TValue = unknown> = AccessorKeyColumnDef<TData, TValue> | AccessorFnColumnDef<TData, TValue>;
684
706
  declare type ColumnDef<TData extends RowData, TValue = unknown> = DisplayColumnDef<TData, TValue> | GroupColumnDef<TData, TValue> | AccessorColumnDef<TData, TValue>;
685
707
  declare type ColumnDefResolved<TData extends RowData, TValue = unknown> = Partial<UnionToIntersection<ColumnDef<TData, TValue>>> & {
686
708
  accessorKey?: string;
687
709
  };
688
- declare type Column<TData extends RowData, TValue = unknown> = CoreColumn<TData, TValue> & VisibilityColumn & ColumnPinningColumn & FiltersColumn<TData> & SortingColumn<TData> & GroupingColumn<TData> & ColumnSizingColumn;
689
- declare type Cell<TData extends RowData, TValue> = CoreCell<TData, TValue> & GroupingCell;
690
- declare type Header<TData extends RowData, TValue> = CoreHeader<TData, TValue> & ColumnSizingHeader;
691
- declare type HeaderGroup<TData extends RowData> = CoreHeaderGroup<TData>;
710
+ interface Column<TData extends RowData, TValue = unknown> extends CoreColumn<TData, TValue>, VisibilityColumn, ColumnPinningColumn, FiltersColumn<TData>, SortingColumn<TData>, GroupingColumn<TData>, ColumnSizingColumn {
711
+ }
712
+ interface Cell<TData extends RowData, TValue> extends CoreCell<TData, TValue>, GroupingCell {
713
+ }
714
+ interface Header<TData extends RowData, TValue> extends CoreHeader<TData, TValue>, ColumnSizingHeader {
715
+ }
716
+ interface HeaderGroup<TData extends RowData> extends CoreHeaderGroup<TData> {
717
+ }
692
718
 
693
- declare type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
694
- declare type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
719
+ declare type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<T>;
720
+ declare type RequiredKeys<T, K extends keyof T> = T & {
721
+ [P in K]-?: T[P];
722
+ };
695
723
  declare type Overwrite<T, U extends {
696
724
  [TKey in keyof T]?: any;
697
725
  }> = Omit<T, keyof U> & U;
698
726
  declare type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never;
699
727
  declare type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N;
700
728
  declare type IsKnown<T, Y, N> = unknown extends T ? N : Y;
701
- declare type ComputeRange<N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : ComputeRange<N, [...Result, Result['length']]>;
702
- declare type Index40 = ComputeRange<40>[number];
703
- declare type IsTuple<T> = T extends readonly any[] & {
704
- length: infer Length;
705
- } ? Length extends Index40 ? T : never : never;
706
- declare type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends number = never> = Tuple extends readonly [] ? Keys : Tuple extends readonly [infer _, ...infer Tail] ? AllowedIndexes<Tail, Keys | Tail['length']> : Keys;
707
- declare type DeepKeys<T> = unknown extends T ? keyof T : object extends T ? string : T extends readonly any[] & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>> : T extends any[] ? never & 'Dynamic length array indexing is not supported' : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T> : never;
708
- declare type DeepKeysPrefix<T, TPrefix> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix]> & string}` : never;
709
- declare type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
729
+ declare type IndexableData = Record<string | number, any>;
730
+ declare type DeepValue<T, TProp> = T extends IndexableData ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : TProp extends keyof T ? T[TProp] : never : never;
731
+ declare type Join<K, P> = K extends string | number ? P extends string | number ? `${K}${'' extends P ? '' : '.'}${P}` : never : never;
732
+ declare type Prev = [
733
+ never,
734
+ 0,
735
+ 1,
736
+ 2,
737
+ 3,
738
+ 4,
739
+ 5,
740
+ 6,
741
+ 7,
742
+ 8,
743
+ 9,
744
+ 10,
745
+ 11,
746
+ 12,
747
+ 13,
748
+ 14,
749
+ 15,
750
+ 16,
751
+ 17,
752
+ 18,
753
+ 19,
754
+ 20,
755
+ ...0[]
756
+ ];
757
+ declare type ExplicitLeaves = Date | Number | BigInt | String | Set<unknown> | Map<unknown, unknown> | WeakSet<object> | WeakMap<object, unknown>;
758
+ declare type DeepKeys<T, D extends number = 10> = [D] extends [never] ? never : T extends ExplicitLeaves ? never : T extends object ? {
759
+ [K in keyof T]-?: K extends string | number ? `${K}` | Join<K, DeepKeys<T[K], Prev[D]>> : never;
760
+ }[keyof T] : '';
710
761
  declare type NoInfer<T> = [T][T extends any ? 0 : never];
711
762
  declare type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
712
763
  declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
@@ -721,7 +772,7 @@ declare function memo<TDeps extends readonly any[], TResult>(getDeps: () => [...
721
772
  onChange?: (result: TResult) => void;
722
773
  }): () => TResult;
723
774
 
724
- declare type TableFeature = {
775
+ interface TableFeature {
725
776
  getDefaultOptions?: (table: any) => any;
726
777
  getInitialState?: (initialState?: InitialTableState) => any;
727
778
  createTable?: (table: any) => any;
@@ -730,9 +781,10 @@ declare type TableFeature = {
730
781
  createHeader?: (column: any, table: any) => any;
731
782
  createCell?: (cell: any, column: any, row: any, table: any) => any;
732
783
  createRow?: (row: any, table: any) => any;
733
- };
734
- declare type CoreTableState = {};
735
- declare type CoreOptions<TData extends RowData> = {
784
+ }
785
+ interface CoreTableState {
786
+ }
787
+ interface CoreOptions<TData extends RowData> {
736
788
  data: TData[];
737
789
  state: Partial<TableState>;
738
790
  onStateChange: (updater: Updater<TableState>) => void;
@@ -751,8 +803,8 @@ declare type CoreOptions<TData extends RowData> = {
751
803
  columns: ColumnDef<TData, any>[];
752
804
  defaultColumn?: Partial<ColumnDef<TData, unknown>>;
753
805
  renderFallbackValue: any;
754
- };
755
- declare type CoreInstance<TData extends RowData> = {
806
+ }
807
+ interface CoreInstance<TData extends RowData> {
756
808
  initialState: TableState;
757
809
  reset: () => void;
758
810
  options: RequiredKeys<TableOptionsResolved<TData>, 'state'>;
@@ -773,14 +825,16 @@ declare type CoreInstance<TData extends RowData> = {
773
825
  getAllFlatColumns: () => Column<TData, unknown>[];
774
826
  getAllLeafColumns: () => Column<TData, unknown>[];
775
827
  getColumn: (columnId: string) => Column<TData, unknown>;
776
- };
828
+ }
777
829
  declare function createTable<TData extends RowData>(options: TableOptionsResolved<TData>): Table<TData>;
778
830
 
779
- declare type ColumnHelper<TData extends RowData> = {
780
- accessor: <TAccessor extends AccessorFn<TData> | DeepKeys<TData>, TValue extends TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : TAccessor extends DeepKeys<TData> ? DeepValue<TData, TAccessor> : never>(accessor: TAccessor, column: TAccessor extends AccessorFn<TData> ? DisplayColumnDef<TData, TValue> : IdentifiedColumnDef<TData, TValue>) => ColumnDef<TData, TValue>;
781
- display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>;
782
- group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>;
783
- };
831
+ declare type AccessorType<TData, TAccessor> = TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : DeepValue<TData, TAccessor>;
832
+ declare type Accessor<TData extends RowData> = <TAccessor extends AccessorFn<TData> | string, TValue extends AccessorType<TData, TAccessor>>(accessor: TAccessor, column: TAccessor extends AccessorFn<TData> ? DisplayColumnDef<TData, TValue> : IdentifiedColumnDef<TData, TValue>) => TValue extends never ? never : AccessorColumnDef<TData, AccessorType<TData, TAccessor>>;
833
+ interface ColumnHelper<TData extends RowData> {
834
+ accessor: Accessor<TData>;
835
+ display: (column: DisplayColumnDef<TData>) => DisplayColumnDef<TData>;
836
+ group: (column: GroupColumnDef<TData>) => GroupColumnDef<TData>;
837
+ }
784
838
  declare function createColumnHelper<TData extends RowData>(): ColumnHelper<TData>;
785
839
 
786
840
  declare function getCoreRowModel<TData extends RowData>(): (table: Table<TData>) => () => RowModel<TData>;