@tanstack/react-table 8.0.0-alpha.1 → 8.0.0-alpha.4

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 (100) hide show
  1. package/build/cjs/core.js +118 -59
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +11 -6
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +317 -0
  6. package/build/cjs/features/ColumnSizing.js.map +1 -0
  7. package/build/cjs/features/Expanding.js +23 -2
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js +54 -5
  10. package/build/cjs/features/Filters.js.map +1 -1
  11. package/build/cjs/features/Grouping.js +23 -2
  12. package/build/cjs/features/Grouping.js.map +1 -1
  13. package/build/cjs/features/Headers.js +88 -22
  14. package/build/cjs/features/Headers.js.map +1 -1
  15. package/build/cjs/features/Ordering.js +4 -1
  16. package/build/cjs/features/Ordering.js.map +1 -1
  17. package/build/cjs/features/Pagination.js +198 -0
  18. package/build/cjs/features/Pagination.js.map +1 -0
  19. package/build/cjs/features/Pinning.js +0 -14
  20. package/build/cjs/features/Pinning.js.map +1 -1
  21. package/build/cjs/features/RowSelection.js +541 -0
  22. package/build/cjs/features/RowSelection.js.map +1 -0
  23. package/build/cjs/features/Sorting.js +76 -18
  24. package/build/cjs/features/Sorting.js.map +1 -1
  25. package/build/cjs/features/Visibility.js +8 -2
  26. package/build/cjs/features/Visibility.js.map +1 -1
  27. package/build/cjs/index.js +2 -0
  28. package/build/cjs/index.js.map +1 -1
  29. package/build/cjs/sortTypes.js +1 -0
  30. package/build/cjs/sortTypes.js.map +1 -1
  31. package/build/cjs/utils/columnFilterRowsFn.js +3 -2
  32. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
  33. package/build/cjs/utils/expandRowsFn.js +2 -2
  34. package/build/cjs/utils/expandRowsFn.js.map +1 -1
  35. package/build/cjs/utils/globalFilterRowsFn.js +3 -2
  36. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
  37. package/build/cjs/utils/groupRowsFn.js +4 -3
  38. package/build/cjs/utils/groupRowsFn.js.map +1 -1
  39. package/build/cjs/utils/paginateRowsFn.js +44 -0
  40. package/build/cjs/utils/paginateRowsFn.js.map +1 -0
  41. package/build/cjs/utils/sortRowsFn.js +3 -2
  42. package/build/cjs/utils/sortRowsFn.js.map +1 -1
  43. package/build/cjs/utils.js +6 -3
  44. package/build/cjs/utils.js.map +1 -1
  45. package/build/esm/index.js +1613 -225
  46. package/build/esm/index.js.map +1 -1
  47. package/build/stats-html.html +1 -1
  48. package/build/stats-react.json +363 -217
  49. package/build/types/core.d.ts +14 -25
  50. package/build/types/createTable.d.ts +21 -3
  51. package/build/types/features/ColumnSizing.d.ts +67 -0
  52. package/build/types/features/Expanding.d.ts +2 -1
  53. package/build/types/features/Filters.d.ts +7 -2
  54. package/build/types/features/Grouping.d.ts +2 -2
  55. package/build/types/features/Ordering.d.ts +1 -1
  56. package/build/types/features/Pagination.d.ts +44 -0
  57. package/build/types/features/Pinning.d.ts +3 -3
  58. package/build/types/features/RowSelection.d.ts +66 -0
  59. package/build/types/features/Sorting.d.ts +5 -2
  60. package/build/types/index.d.ts +1 -0
  61. package/build/types/sortTypes.d.ts +5 -4
  62. package/build/types/types.d.ts +13 -8
  63. package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
  64. package/build/types/utils/expandRowsFn.d.ts +2 -2
  65. package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
  66. package/build/types/utils/groupRowsFn.d.ts +2 -2
  67. package/build/types/utils/paginateRowsFn.d.ts +2 -0
  68. package/build/types/utils/sortRowsFn.d.ts +2 -2
  69. package/build/types/utils.d.ts +7 -3
  70. package/build/umd/index.development.js +1613 -224
  71. package/build/umd/index.development.js.map +1 -1
  72. package/build/umd/index.production.js +1 -1
  73. package/build/umd/index.production.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/core.tsx +252 -265
  76. package/src/createTable.tsx +69 -9
  77. package/src/features/ColumnSizing.ts +453 -0
  78. package/src/features/Expanding.ts +27 -11
  79. package/src/features/Filters.ts +75 -20
  80. package/src/features/Grouping.ts +27 -12
  81. package/src/features/Headers.ts +55 -50
  82. package/src/features/Ordering.ts +2 -3
  83. package/src/features/Pagination.ts +327 -0
  84. package/src/features/Pinning.ts +3 -16
  85. package/src/features/RowSelection.ts +831 -0
  86. package/src/features/Sorting.ts +82 -22
  87. package/src/features/Visibility.ts +2 -4
  88. package/src/index.tsx +1 -0
  89. package/src/sortTypes.ts +1 -1
  90. package/src/types.ts +55 -9
  91. package/src/utils/columnFilterRowsFn.ts +5 -12
  92. package/src/utils/expandRowsFn.ts +2 -5
  93. package/src/utils/globalFilterRowsFn.ts +3 -10
  94. package/src/utils/groupRowsFn.ts +3 -5
  95. package/src/utils/paginateRowsFn.ts +34 -0
  96. package/src/utils/sortRowsFn.ts +5 -5
  97. package/src/utils.tsx +20 -6
  98. package/src/features/withColumnResizing.oldts +0 -281
  99. package/src/features/withPagination.oldts +0 -208
  100. package/src/features/withRowSelection.oldts +0 -467
@@ -1,6 +1,13 @@
1
1
  import { RowModel } from '..'
2
2
  import { BuiltInFilterType, filterTypes } from '../filterTypes'
3
- import { Column, OnChangeFn, ReactTable, Row, Updater } from '../types'
3
+ import {
4
+ Column,
5
+ Listener,
6
+ OnChangeFn,
7
+ ReactTable,
8
+ Row,
9
+ Updater,
10
+ } from '../types'
4
11
  import { functionalUpdate, isFunction, makeStateUpdater, memo } from '../utils'
5
12
 
6
13
  export type ColumnFilter = {
@@ -106,7 +113,6 @@ export type FiltersOptions<
106
113
  enableColumnFilters?: boolean
107
114
  columnFilterRowsFn?: (
108
115
  instance: ReactTable<any, any, any, any, any>,
109
- columnFilters: ColumnFiltersState,
110
116
  coreRowModel: RowModel<any, any, any, any, any>
111
117
  ) => RowModel<any, any, any, any, any>
112
118
  // Global
@@ -117,14 +123,7 @@ export type FiltersOptions<
117
123
  enableGlobalFilter?: boolean
118
124
  globalFilterRowsFn?: (
119
125
  instance: ReactTable<any, any, any, any, any>,
120
- globalFilter: any,
121
- columnFilteredRowModel: RowModel<
122
- TData,
123
- TValue,
124
- TFilterFns,
125
- TSortingFns,
126
- TAggregationFns
127
- >
126
+ rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
128
127
  ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
129
128
  getColumnCanGlobalFilterFn?: (
130
129
  column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
@@ -138,6 +137,7 @@ export type FiltersInstance<
138
137
  TSortingFns,
139
138
  TAggregationFns
140
139
  > = {
140
+ _notifyFiltersReset: () => void
141
141
  getColumnAutoFilterFn: (
142
142
  columnId: string
143
143
  ) => FilterFn<any, any, any, any, any> | undefined
@@ -164,6 +164,31 @@ export type FiltersInstance<
164
164
  TSortingFns,
165
165
  TAggregationFns
166
166
  >
167
+ getPreFilteredRowModel: () => RowModel<
168
+ TData,
169
+ TValue,
170
+ TFilterFns,
171
+ TSortingFns,
172
+ TAggregationFns
173
+ >
174
+ getPreFilteredRows: () => Row<
175
+ TData,
176
+ TValue,
177
+ TFilterFns,
178
+ TSortingFns,
179
+ TAggregationFns
180
+ >[]
181
+ getPreFilteredFlatRows: () => Row<
182
+ TData,
183
+ TValue,
184
+ TFilterFns,
185
+ TSortingFns,
186
+ TAggregationFns
187
+ >[]
188
+ getPreFilteredRowsById: () => Record<
189
+ string,
190
+ Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
191
+ >
167
192
  getPreColumnFilteredRows: () => Row<
168
193
  TData,
169
194
  TValue,
@@ -337,8 +362,7 @@ export function createColumn<
337
362
  preFilteredMinMaxValues,
338
363
  }
339
364
  },
340
- 'column.getFacetInfo',
341
- instance.options.debug
365
+ { key: 'column.getFacetInfo', debug: instance.options.debug }
342
366
  )
343
367
 
344
368
  return {
@@ -364,7 +388,30 @@ export function getInstance<
364
388
  >(
365
389
  instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
366
390
  ): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
391
+ let registered = false
392
+
367
393
  return {
394
+ _notifyFiltersReset: () => {
395
+ if (!registered) {
396
+ registered = true
397
+ return
398
+ }
399
+
400
+ if (instance.options.autoResetAll === false) {
401
+ return
402
+ }
403
+
404
+ if (instance.options.autoResetAll === true) {
405
+ instance.resetSorting()
406
+ } else {
407
+ if (instance.options.autoResetColumnFilters) {
408
+ instance.resetColumnFilters()
409
+ }
410
+ if (instance.options.autoResetGlobalFilter) {
411
+ instance.resetGlobalFilter()
412
+ }
413
+ }
414
+ },
368
415
  getColumnAutoFilterFn: columnId => {
369
416
  const firstRow = instance.getCoreFlatRows()[0]
370
417
 
@@ -438,7 +485,7 @@ export function getInstance<
438
485
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
439
486
  const leafColumns = instance.getAllLeafColumns()
440
487
 
441
- const updateFn = (old?: ColumnFiltersState) => {
488
+ const updateFn = (old: ColumnFiltersState) => {
442
489
  return functionalUpdate(updater, old)?.filter(filter => {
443
490
  const column = leafColumns.find(d => d.id === filter.id)
444
491
 
@@ -601,7 +648,7 @@ export function getInstance<
601
648
  if (process.env.NODE_ENV !== 'production' && instance.options.debug)
602
649
  console.info('Column Filtering...')
603
650
 
604
- return columnFiltersFn(instance as any, columnFilters, rowModel)
651
+ return columnFiltersFn(instance as any, rowModel)
605
652
  })()
606
653
 
607
654
  // Now that each filtered column has it's partially filtered rows,
@@ -622,19 +669,25 @@ export function getInstance<
622
669
 
623
670
  return columnFilteredRowModel
624
671
  },
625
- 'getColumnFilteredRowModel',
626
- instance.options.debug
672
+ { key: 'getColumnFilteredRowModel', debug: instance.options.debug }
627
673
  ),
628
674
 
675
+ // These might be easier to remember than "column" filtered rows
676
+ getPreFilteredRowModel: () => instance.getCoreRowModel(),
677
+ getPreFilteredRows: () => instance.getCoreRowModel().rows,
678
+ getPreFilteredFlatRows: () => instance.getCoreRowModel().flatRows,
679
+ getPreFilteredRowsById: () => instance.getCoreRowModel().rowsById,
680
+
681
+ // Pre Column Filter
629
682
  getPreColumnFilteredRows: () => instance.getCoreRowModel().rows,
630
683
  getPreColumnFilteredFlatRows: () => instance.getCoreRowModel().flatRows,
631
684
  getPreColumnFilteredRowsById: () => instance.getCoreRowModel().rowsById,
632
685
  getColumnFilteredRows: () => instance.getColumnFilteredRowModel().rows,
686
+
633
687
  getColumnFilteredFlatRows: () =>
634
688
  instance.getColumnFilteredRowModel().flatRows,
635
689
  getColumnFilteredRowsById: () =>
636
690
  instance.getColumnFilteredRowModel().rowsById,
637
-
638
691
  getGlobalFilteredRowModel: memo(
639
692
  () => [
640
693
  instance.getState().globalFilter,
@@ -652,7 +705,6 @@ export function getInstance<
652
705
 
653
706
  return globalFiltersFn(
654
707
  instance as ReactTable<any, any, any, any, any>,
655
- globalFilterValue,
656
708
  columnFilteredRowModel
657
709
  )
658
710
  })()
@@ -675,8 +727,11 @@ export function getInstance<
675
727
 
676
728
  return globalFilteredRowModel
677
729
  },
678
- 'getGlobalFilteredRowModel',
679
- instance.options.debug
730
+ {
731
+ key: 'getGlobalFilteredRowModel',
732
+ debug: instance.options.debug,
733
+ onChange: () => instance._notifySortingReset(),
734
+ }
680
735
  ),
681
736
 
682
737
  getPreGlobalFilteredRows: () => instance.getColumnFilteredRowModel().rows,
@@ -39,7 +39,6 @@ export type GroupingColumnDef<TAggregationFns> = {
39
39
  renderAggregatedCell?: () => React.ReactNode
40
40
  enableGrouping?: boolean
41
41
  defaultCanGroup?: boolean
42
- getCanGroup?: unknown
43
42
  }
44
43
 
45
44
  export type GroupingColumn<
@@ -98,14 +97,7 @@ export type GroupingOptions<
98
97
  TSortingFns,
99
98
  TAggregationFns
100
99
  >,
101
- groupingState: GroupingState,
102
- sortedRowsModel: RowModel<
103
- TData,
104
- TValue,
105
- TFilterFns,
106
- TSortingFns,
107
- TAggregationFns
108
- >
100
+ rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
109
101
  ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
110
102
 
111
103
  groupedColumnMode?: false | 'reorder' | 'remove'
@@ -125,6 +117,7 @@ export type GroupingInstance<
125
117
  TSortingFns,
126
118
  TAggregationFns
127
119
  > = {
120
+ _notifyGroupingReset: () => void
128
121
  getColumnAutoAggregationFn: (columnId: string) => AggregationFn | undefined
129
122
  getColumnAggregationFn: (columnId: string) => AggregationFn | undefined
130
123
  setGrouping: (updater: Updater<GroupingState>) => void
@@ -243,7 +236,26 @@ export function getInstance<
243
236
  >(
244
237
  instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
245
238
  ): GroupingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
239
+ let registered = false
240
+
246
241
  return {
242
+ _notifyGroupingReset: () => {
243
+ if (!registered) {
244
+ registered = true
245
+ return
246
+ }
247
+
248
+ if (instance.options.autoResetAll === false) {
249
+ return
250
+ }
251
+
252
+ if (
253
+ instance.options.autoResetAll === true ||
254
+ instance.options.autoResetGrouping
255
+ ) {
256
+ instance.resetGrouping()
257
+ }
258
+ },
247
259
  getColumnAutoAggregationFn: columnId => {
248
260
  const firstRow = instance.getCoreFlatRows()[0]
249
261
 
@@ -360,10 +372,13 @@ export function getInstance<
360
372
  if (process.env.NODE_ENV !== 'production' && instance.options.debug)
361
373
  console.info('Grouping...')
362
374
 
363
- return groupRowsFn(instance, grouping, rowModel)
375
+ return groupRowsFn(instance, rowModel)
364
376
  },
365
- 'getGroupedRowModel',
366
- instance.options.debug
377
+ {
378
+ key: 'getGroupedRowModel',
379
+ debug: instance.options.debug,
380
+ onChange: () => instance._notifyExpandedReset(),
381
+ }
367
382
  ),
368
383
 
369
384
  getPreGroupedRows: () => instance.getSortedRowModel().rows,
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Cell,
3
3
  Column,
4
+ CoreHeader,
4
5
  FooterGroupProps,
5
6
  FooterProps,
6
7
  Getter,
@@ -14,6 +15,9 @@ import {
14
15
  } from '../types'
15
16
  import { propGetter, memo, flexRender } from '../utils'
16
17
 
18
+ import * as ColumnSizing from './ColumnSizing'
19
+ import * as Sorting from './Sorting'
20
+
17
21
  export type HeadersRow<
18
22
  TData,
19
23
  TValue,
@@ -237,8 +241,7 @@ export function createRow<
237
241
  _ => {
238
242
  return row.getAllCells().filter(cell => cell.column.getIsVisible())
239
243
  },
240
- 'row._getAllVisibleCells',
241
- instance.options.debug
244
+ { key: 'row._getAllVisibleCells', debug: instance.options.debug }
242
245
  ),
243
246
  getVisibleCells: memo(
244
247
  () => [
@@ -247,8 +250,7 @@ export function createRow<
247
250
  row.getRightVisibleCells(),
248
251
  ],
249
252
  (left, center, right) => [...left, ...center, ...right],
250
- 'row.getVisibleCells',
251
- instance.options.debug
253
+ { key: 'row.getVisibleCells', debug: instance.options.debug }
252
254
  ),
253
255
  getCenterVisibleCells: memo(
254
256
  () => [
@@ -261,8 +263,7 @@ export function createRow<
261
263
 
262
264
  return allCells.filter(d => !leftAndRight.includes(d.columnId))
263
265
  },
264
- 'row.getCenterVisibleCells',
265
- instance.options.debug
266
+ { key: 'row.getCenterVisibleCells', debug: instance.options.debug }
266
267
  ),
267
268
  getLeftVisibleCells: memo(
268
269
  () => [
@@ -277,8 +278,7 @@ export function createRow<
277
278
 
278
279
  return cells
279
280
  },
280
- 'row.getLeftVisibleCells',
281
- instance.options.debug
281
+ { key: 'row.getLeftVisibleCells', debug: instance.options.debug }
282
282
  ),
283
283
  getRightVisibleCells: memo(
284
284
  () => [
@@ -292,8 +292,7 @@ export function createRow<
292
292
 
293
293
  return cells
294
294
  },
295
- 'row.getRightVisibleCells',
296
- instance.options.debug
295
+ { key: 'row.getRightVisibleCells', debug: instance.options.debug }
297
296
  ),
298
297
  }
299
298
  }
@@ -319,7 +318,7 @@ export function getInstance<
319
318
  ) => {
320
319
  const id = options.id ?? column.id
321
320
 
322
- let header: Header<
321
+ let header: CoreHeader<
323
322
  TData,
324
323
  TValue,
325
324
  TFilterFns,
@@ -338,7 +337,7 @@ export function getInstance<
338
337
  let sum = 0
339
338
 
340
339
  const recurse = (
341
- header: Header<
340
+ header: CoreHeader<
342
341
  TData,
343
342
  TValue,
344
343
  TFilterFns,
@@ -364,7 +363,7 @@ export function getInstance<
364
363
  TSortingFns,
365
364
  TAggregationFns
366
365
  >[] => {
367
- const leafHeaders: Header<
366
+ const leafHeaders: CoreHeader<
368
367
  TData,
369
368
  TValue,
370
369
  TFilterFns,
@@ -373,7 +372,13 @@ export function getInstance<
373
372
  >[] = []
374
373
 
375
374
  const recurseHeader = (
376
- h: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
375
+ h: CoreHeader<
376
+ TData,
377
+ TValue,
378
+ TFilterFns,
379
+ TSortingFns,
380
+ TAggregationFns
381
+ >
377
382
  ) => {
378
383
  if (h.subHeaders && h.subHeaders.length) {
379
384
  h.subHeaders.map(recurseHeader)
@@ -382,17 +387,33 @@ export function getInstance<
382
387
  }
383
388
 
384
389
  recurseHeader(header)
385
- return leafHeaders
390
+
391
+ return leafHeaders as Header<
392
+ TData,
393
+ TValue,
394
+ TFilterFns,
395
+ TSortingFns,
396
+ TAggregationFns
397
+ >[]
386
398
  },
387
399
  getHeaderProps: userProps =>
388
400
  instance.getHeaderProps(header.id, userProps)!,
389
401
  getFooterProps: userProps =>
390
402
  instance.getFooterProps(header.id, userProps)!,
391
- renderHeader: () => flexRender(column.header, { header, column }),
392
- renderFooter: () => flexRender(column.footer, { header, column }),
403
+ renderHeader: () =>
404
+ flexRender(column.header, { instance, header, column }),
405
+ renderFooter: () =>
406
+ flexRender(column.footer, { instance, header, column }),
393
407
  }
394
408
 
395
- return header
409
+ // Yes, we have to convert instance to uknown, because we know more than the compiler here.
410
+ return header as Header<
411
+ TData,
412
+ TValue,
413
+ TFilterFns,
414
+ TSortingFns,
415
+ TAggregationFns
416
+ >
396
417
  },
397
418
 
398
419
  // Header Groups
@@ -422,8 +443,7 @@ export function getInstance<
422
443
 
423
444
  return headerGroups
424
445
  },
425
- 'getHeaderGroups',
426
- instance.options.debug
446
+ { key: 'getHeaderGroups', debug: instance.options.debug }
427
447
  ),
428
448
 
429
449
  getCenterHeaderGroups: memo(
@@ -439,8 +459,7 @@ export function getInstance<
439
459
  )
440
460
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center')
441
461
  },
442
- 'getCenterHeaderGroups',
443
- instance.options.debug
462
+ { key: 'getCenterHeaderGroups', debug: instance.options.debug }
444
463
  ),
445
464
 
446
465
  getLeftHeaderGroups: memo(
@@ -453,8 +472,7 @@ export function getInstance<
453
472
  leafColumns = leafColumns.filter(column => left?.includes(column.id))
454
473
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left')
455
474
  },
456
- 'getLeftHeaderGroups',
457
- instance.options.debug
475
+ { key: 'getLeftHeaderGroups', debug: instance.options.debug }
458
476
  ),
459
477
 
460
478
  getRightHeaderGroups: memo(
@@ -467,8 +485,7 @@ export function getInstance<
467
485
  leafColumns = leafColumns.filter(column => right?.includes(column.id))
468
486
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right')
469
487
  },
470
- 'getRightHeaderGroups',
471
- instance.options.debug
488
+ { key: 'getRightHeaderGroups', debug: instance.options.debug }
472
489
  ),
473
490
 
474
491
  // Footer Groups
@@ -478,8 +495,7 @@ export function getInstance<
478
495
  headerGroups => {
479
496
  return [...headerGroups].reverse()
480
497
  },
481
- 'getFooterGroups',
482
- instance.options.debug
498
+ { key: 'getFooterGroups', debug: instance.options.debug }
483
499
  ),
484
500
 
485
501
  getLeftFooterGroups: memo(
@@ -487,8 +503,7 @@ export function getInstance<
487
503
  headerGroups => {
488
504
  return [...headerGroups].reverse()
489
505
  },
490
- 'getLeftFooterGroups',
491
- instance.options.debug
506
+ { key: 'getLeftFooterGroups', debug: instance.options.debug }
492
507
  ),
493
508
 
494
509
  getCenterFooterGroups: memo(
@@ -496,8 +511,7 @@ export function getInstance<
496
511
  headerGroups => {
497
512
  return [...headerGroups].reverse()
498
513
  },
499
- 'getCenterFooterGroups',
500
- instance.options.debug
514
+ { key: 'getCenterFooterGroups', debug: instance.options.debug }
501
515
  ),
502
516
 
503
517
  getRightFooterGroups: memo(
@@ -505,8 +519,7 @@ export function getInstance<
505
519
  headerGroups => {
506
520
  return [...headerGroups].reverse()
507
521
  },
508
- 'getRightFooterGroups',
509
- instance.options.debug
522
+ { key: 'getRightFooterGroups', debug: instance.options.debug }
510
523
  ),
511
524
 
512
525
  // Flat Headers
@@ -520,8 +533,7 @@ export function getInstance<
520
533
  })
521
534
  .flat()
522
535
  },
523
- 'getFlatHeaders',
524
- instance.options.debug
536
+ { key: 'getFlatHeaders', debug: instance.options.debug }
525
537
  ),
526
538
 
527
539
  getLeftFlatHeaders: memo(
@@ -533,8 +545,7 @@ export function getInstance<
533
545
  })
534
546
  .flat()
535
547
  },
536
- 'getLeftFlatHeaders',
537
- instance.options.debug
548
+ { key: 'getLeftFlatHeaders', debug: instance.options.debug }
538
549
  ),
539
550
 
540
551
  getCenterFlatHeaders: memo(
@@ -546,8 +557,7 @@ export function getInstance<
546
557
  })
547
558
  .flat()
548
559
  },
549
- 'getCenterFlatHeaders',
550
- instance.options.debug
560
+ { key: 'getCenterFlatHeaders', debug: instance.options.debug }
551
561
  ),
552
562
 
553
563
  getRightFlatHeaders: memo(
@@ -559,8 +569,7 @@ export function getInstance<
559
569
  })
560
570
  .flat()
561
571
  },
562
- 'getRightFlatHeaders',
563
- instance.options.debug
572
+ { key: 'getRightFlatHeaders', debug: instance.options.debug }
564
573
  ),
565
574
 
566
575
  // Leaf Headers
@@ -570,8 +579,7 @@ export function getInstance<
570
579
  flatHeaders => {
571
580
  return flatHeaders.filter(header => !header.subHeaders?.length)
572
581
  },
573
- 'getCenterLeafHeaders',
574
- instance.options.debug
582
+ { key: 'getCenterLeafHeaders', debug: instance.options.debug }
575
583
  ),
576
584
 
577
585
  getLeftLeafHeaders: memo(
@@ -579,8 +587,7 @@ export function getInstance<
579
587
  flatHeaders => {
580
588
  return flatHeaders.filter(header => !header.subHeaders?.length)
581
589
  },
582
- 'getLeftLeafHeaders',
583
- instance.options.debug
590
+ { key: 'getLeftLeafHeaders', debug: instance.options.debug }
584
591
  ),
585
592
 
586
593
  getRightLeafHeaders: memo(
@@ -588,8 +595,7 @@ export function getInstance<
588
595
  flatHeaders => {
589
596
  return flatHeaders.filter(header => !header.subHeaders?.length)
590
597
  },
591
- 'getRightLeafHeaders',
592
- instance.options.debug
598
+ { key: 'getRightLeafHeaders', debug: instance.options.debug }
593
599
  ),
594
600
 
595
601
  getLeafHeaders: memo(
@@ -609,8 +615,7 @@ export function getInstance<
609
615
  })
610
616
  .flat()
611
617
  },
612
- 'getLeafHeaders',
613
- instance.options.debug
618
+ { key: 'getLeafHeaders', debug: instance.options.debug }
614
619
  ),
615
620
 
616
621
  getHeader: (id: string) => {
@@ -7,7 +7,7 @@ import * as Grouping from './Grouping'
7
7
  export type ColumnOrderState = string[]
8
8
 
9
9
  export type ColumnOrderTableState = {
10
- columnOrder: string[]
10
+ columnOrder: ColumnOrderState
11
11
  }
12
12
 
13
13
  export type ColumnOrderOptions = {
@@ -127,8 +127,7 @@ export function getInstance<
127
127
  groupedColumnMode
128
128
  )
129
129
  },
130
- 'getOrderColumnsFn',
131
- instance.options.debug
130
+ { key: 'getOrderColumnsFn', debug: instance.options.debug }
132
131
  ),
133
132
  }
134
133
  }