@tanstack/table-core 8.0.0-alpha.64 → 8.0.0-alpha.68

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 (149) hide show
  1. package/build/cjs/aggregationFns.js +25 -37
  2. package/build/cjs/aggregationFns.js.map +1 -1
  3. package/build/cjs/core.js +167 -47
  4. package/build/cjs/core.js.map +1 -1
  5. package/build/cjs/createTable.js +24 -40
  6. package/build/cjs/createTable.js.map +1 -1
  7. package/build/cjs/features/Cells.js +29 -35
  8. package/build/cjs/features/Cells.js.map +1 -1
  9. package/build/cjs/features/ColumnSizing.js +126 -218
  10. package/build/cjs/features/ColumnSizing.js.map +1 -1
  11. package/build/cjs/features/Columns.js +59 -86
  12. package/build/cjs/features/Columns.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +78 -125
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +143 -218
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +70 -116
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Headers.js +125 -205
  20. package/build/cjs/features/Headers.js.map +1 -1
  21. package/build/cjs/features/Ordering.js +31 -43
  22. package/build/cjs/features/Ordering.js.map +1 -1
  23. package/build/cjs/features/Pagination.js +64 -72
  24. package/build/cjs/features/Pagination.js.map +1 -1
  25. package/build/cjs/features/Pinning.js +96 -177
  26. package/build/cjs/features/Pinning.js.map +1 -1
  27. package/build/cjs/features/RowSelection.js +134 -205
  28. package/build/cjs/features/RowSelection.js.map +1 -1
  29. package/build/cjs/features/Rows.js +32 -22
  30. package/build/cjs/features/Rows.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +62 -131
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +53 -120
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +52 -133
  36. package/build/cjs/filterFns.js.map +1 -1
  37. package/build/cjs/index.js +13 -13
  38. package/build/cjs/sortingFns.js +21 -21
  39. package/build/cjs/sortingFns.js.map +1 -1
  40. package/build/cjs/utils/filterRowsUtils.js +56 -41
  41. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  42. package/build/cjs/utils/getCoreRowModel.js +98 -0
  43. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  44. package/build/cjs/utils/getExpandedRowModel.js +18 -22
  45. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  46. package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  48. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  49. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  50. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  52. package/build/cjs/utils/getFilteredRowModel.js +130 -0
  53. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  54. package/build/cjs/utils/getGroupedRowModel.js +126 -136
  55. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  56. package/build/cjs/utils/getPaginationRowModel.js +39 -39
  57. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  58. package/build/cjs/utils/getSortedRowModel.js +112 -0
  59. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  60. package/build/cjs/utils.js +36 -211
  61. package/build/cjs/utils.js.map +1 -1
  62. package/build/esm/index.js +1970 -2956
  63. package/build/esm/index.js.map +1 -1
  64. package/build/stats-html.html +1 -1
  65. package/build/stats-react.json +390 -482
  66. package/build/types/core.d.ts +3 -5
  67. package/build/types/features/Cells.d.ts +1 -1
  68. package/build/types/features/ColumnSizing.d.ts +2 -13
  69. package/build/types/features/Columns.d.ts +1 -1
  70. package/build/types/features/Expanding.d.ts +1 -6
  71. package/build/types/features/Filters.d.ts +42 -30
  72. package/build/types/features/Grouping.d.ts +4 -10
  73. package/build/types/features/Pinning.d.ts +0 -4
  74. package/build/types/features/RowSelection.d.ts +1 -7
  75. package/build/types/features/Rows.d.ts +4 -3
  76. package/build/types/features/Sorting.d.ts +3 -14
  77. package/build/types/features/Visibility.d.ts +0 -4
  78. package/build/types/filterFns.d.ts +10 -52
  79. package/build/types/index.d.ts +6 -5
  80. package/build/types/types.d.ts +5 -17
  81. package/build/types/utils/filterRowsUtils.d.ts +3 -2
  82. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  83. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  84. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  85. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  86. package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
  87. package/build/types/utils/getGroupedRowModel.d.ts +1 -1
  88. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  89. package/build/types/utils.d.ts +2 -18
  90. package/build/umd/index.development.js +1948 -2935
  91. package/build/umd/index.development.js.map +1 -1
  92. package/build/umd/index.production.js +1 -1
  93. package/build/umd/index.production.js.map +1 -1
  94. package/package.json +2 -1
  95. package/src/core.ts +197 -46
  96. package/src/features/Cells.ts +10 -12
  97. package/src/features/ColumnSizing.ts +72 -129
  98. package/src/features/Columns.ts +16 -15
  99. package/src/features/Expanding.ts +58 -105
  100. package/src/features/Filters.ts +223 -226
  101. package/src/features/Grouping.ts +51 -79
  102. package/src/features/Headers.ts +18 -40
  103. package/src/features/Ordering.ts +1 -1
  104. package/src/features/Pagination.ts +1 -1
  105. package/src/features/Pinning.ts +73 -92
  106. package/src/features/RowSelection.ts +71 -120
  107. package/src/features/Rows.ts +21 -6
  108. package/src/features/Sorting.ts +39 -99
  109. package/src/features/Visibility.ts +21 -50
  110. package/src/filterFns.ts +74 -147
  111. package/src/index.ts +12 -5
  112. package/src/sortingFns.ts +11 -11
  113. package/src/types.ts +5 -18
  114. package/src/utils/filterRowsUtils.ts +59 -56
  115. package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
  116. package/src/utils/getExpandedRowModel.ts +2 -2
  117. package/src/utils/getFacetedMinMaxValues.ts +37 -0
  118. package/src/utils/getFacetedRowModel.ts +50 -0
  119. package/src/utils/getFacetedUniqueValues.ts +37 -0
  120. package/src/utils/getFilteredRowModel.ts +150 -0
  121. package/src/utils/getGroupedRowModel.ts +53 -62
  122. package/src/utils/getPaginationRowModel.ts +1 -1
  123. package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
  124. package/src/utils.ts +29 -239
  125. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  126. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  127. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  128. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  129. package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
  130. package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
  131. package/build/cjs/utils/getCoreRowModelSync.js +0 -102
  132. package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
  133. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  134. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  135. package/build/cjs/utils/getSortedRowModelSync.js +0 -118
  136. package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
  137. package/build/types/utils/getColumnFilteredRowModelAsync.d.ts +0 -4
  138. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  139. package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
  140. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  141. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  142. package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
  143. package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
  144. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  145. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  146. package/src/utils/getCoreRowModelAsync.ts +0 -104
  147. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  148. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
  149. package/src/utils/getSortedRowModelAsync.ts +0 -200
@@ -32,10 +32,7 @@ export type VisibilityInstance<TGenerics extends TableGenerics> = {
32
32
  getRightVisibleLeafColumns: () => Column<TGenerics>[]
33
33
  getCenterVisibleLeafColumns: () => Column<TGenerics>[]
34
34
  setColumnVisibility: (updater: Updater<VisibilityState>) => void
35
- toggleColumnVisibility: (columnId: string, value?: boolean) => void
36
35
  toggleAllColumnsVisible: (value?: boolean) => void
37
- getColumnIsVisible: (columId: string) => boolean
38
- getColumnCanHide: (columnId: string) => boolean
39
36
  getIsAllColumnsVisible: () => boolean
40
37
  getIsSomeColumnsVisible: () => boolean
41
38
  getToggleAllColumnsVisibilityHandler: () =>
@@ -45,7 +42,6 @@ export type VisibilityInstance<TGenerics extends TableGenerics> = {
45
42
 
46
43
  export type VisibilityColumnDef = {
47
44
  enableHiding?: boolean
48
- defaultCanHide?: boolean
49
45
  defaultIsVisible?: boolean
50
46
  }
51
47
 
@@ -90,10 +86,24 @@ export const Visibility: TableFeature = {
90
86
  instance: TableInstance<TGenerics>
91
87
  ): VisibilityColumn => {
92
88
  return {
93
- getCanHide: () => instance.getColumnCanHide(column.id),
94
- getIsVisible: () => instance.getColumnIsVisible(column.id),
95
- toggleVisibility: value =>
96
- instance.toggleColumnVisibility(column.id, value),
89
+ toggleVisibility: value => {
90
+ if (column.getCanHide()) {
91
+ instance.setColumnVisibility(old => ({
92
+ ...old,
93
+ [column.id]: value ?? !column.getIsVisible(),
94
+ }))
95
+ }
96
+ },
97
+ getIsVisible: () => {
98
+ return instance.getState().columnVisibility?.[column.id] ?? true
99
+ },
100
+
101
+ getCanHide: () => {
102
+ return (
103
+ (column.enableHiding ?? true) &&
104
+ (instance.options.enableHiding ?? true)
105
+ )
106
+ },
97
107
  getToggleVisibilityHandler: () => {
98
108
  return (e: unknown) => {
99
109
  column.toggleVisibility?.(
@@ -121,7 +131,8 @@ export const Visibility: TableFeature = {
121
131
  return row.getAllCells().filter(cell => cell.column.getIsVisible())
122
132
  },
123
133
  {
124
- key: 'row._getAllVisibleCells',
134
+ key:
135
+ process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
125
136
  debug: () => instance.options.debugAll ?? instance.options.debugRows,
126
137
  }
127
138
  ),
@@ -133,7 +144,7 @@ export const Visibility: TableFeature = {
133
144
  ],
134
145
  (left, center, right) => [...left, ...center, ...right],
135
146
  {
136
- key: 'row.getVisibleCells',
147
+ key: process.env.NODE_ENV === 'development' && 'row.getVisibleCells',
137
148
  debug: () => instance.options.debugAll ?? instance.options.debugRows,
138
149
  }
139
150
  ),
@@ -191,17 +202,6 @@ export const Visibility: TableFeature = {
191
202
  setColumnVisibility: updater =>
192
203
  instance.options.onColumnVisibilityChange?.(updater),
193
204
 
194
- toggleColumnVisibility: (columnId, value) => {
195
- if (!columnId) return
196
-
197
- if (instance.getColumnCanHide(columnId)) {
198
- instance.setColumnVisibility(old => ({
199
- ...old,
200
- [columnId]: value ?? !instance.getColumnIsVisible(columnId),
201
- }))
202
- }
203
- },
204
-
205
205
  toggleAllColumnsVisible: value => {
206
206
  value = value ?? !instance.getIsAllColumnsVisible()
207
207
 
@@ -216,35 +216,6 @@ export const Visibility: TableFeature = {
216
216
  )
217
217
  },
218
218
 
219
- getColumnIsVisible: columnId => {
220
- const column = instance.getColumn(columnId)
221
-
222
- if (!column) {
223
- throw new Error()
224
- }
225
-
226
- return (
227
- instance.getState().columnVisibility?.[columnId] ??
228
- column.defaultIsVisible ??
229
- true
230
- )
231
- },
232
-
233
- getColumnCanHide: columnId => {
234
- const column = instance.getColumn(columnId)
235
-
236
- if (!column) {
237
- throw new Error()
238
- }
239
-
240
- return (
241
- instance.options.enableHiding ??
242
- column.enableHiding ??
243
- column.defaultCanHide ??
244
- true
245
- )
246
- },
247
-
248
219
  getIsAllColumnsVisible: () =>
249
220
  !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),
250
221
 
package/src/filterFns.ts CHANGED
@@ -1,179 +1,95 @@
1
- import { TableGenerics, Row } from './types'
2
-
3
- export const filterFns = {
4
- includesString,
5
- includesStringSensitive,
6
- equalsString,
7
- equalsStringSensitive,
8
- arrIncludes,
9
- arrIncludesAll,
10
- arrIncludesSome,
11
- equals,
12
- weakEquals,
13
- betweenNumberRange,
14
- }
15
-
16
- export type BuiltInFilterFn = keyof typeof filterFns
17
-
18
- function includesString<TGenerics extends TableGenerics>(
19
- rows: Row<TGenerics>[],
20
- columnIds: string[],
21
- filterValue: unknown
22
- ) {
23
- const search = String(filterValue).toLowerCase()
24
-
25
- rows = rows.filter(row => {
26
- return columnIds.some(id => {
27
- return String(row.values[id]).toLowerCase().includes(search)
28
- })
29
- })
30
- return rows
1
+ import { FilterFn } from './features/Filters'
2
+
3
+ const includesString: FilterFn<any> = (
4
+ row,
5
+ columnId: string,
6
+ filterValue: string
7
+ ) => {
8
+ const search = filterValue.toLowerCase()
9
+ return row.getValue(columnId).toLowerCase().includes(search)
31
10
  }
32
11
 
33
12
  includesString.autoRemove = (val: any) => testFalsey(val)
34
13
 
35
- function includesStringSensitive<TGenerics extends TableGenerics>(
36
- rows: Row<TGenerics>[],
37
- columnIds: string[],
38
- filterValue: unknown
39
- ) {
40
- const search = String(filterValue)
41
-
42
- rows = rows.filter(row => {
43
- return columnIds.some(id => {
44
- return String(row.values[id]).includes(search)
45
- })
46
- })
47
- return rows
14
+ const includesStringSensitive: FilterFn<any> = (
15
+ row,
16
+ columnId: string,
17
+ filterValue: string
18
+ ) => {
19
+ return row.getValue(columnId).includes(filterValue)
48
20
  }
49
21
 
50
22
  includesStringSensitive.autoRemove = (val: any) => testFalsey(val)
51
23
 
52
- function equalsString<TGenerics extends TableGenerics>(
53
- rows: Row<TGenerics>[],
54
- columnIds: string[],
55
- filterValue: unknown
56
- ) {
57
- const search = String(filterValue).toLowerCase()
58
-
59
- return rows.filter(row => {
60
- return columnIds.some(id => {
61
- const rowValue = row.values[id]
62
- return rowValue !== undefined
63
- ? String(rowValue).toLowerCase() === search
64
- : true
65
- })
66
- })
24
+ const equalsString: FilterFn<any> = (
25
+ row,
26
+ columnId: string,
27
+ filterValue: string
28
+ ) => {
29
+ return row.getValue(columnId).toLowerCase() === filterValue.toLowerCase()
67
30
  }
68
31
 
69
32
  equalsString.autoRemove = (val: any) => testFalsey(val)
70
33
 
71
- function equalsStringSensitive<TGenerics extends TableGenerics>(
72
- rows: Row<TGenerics>[],
73
- columnIds: string[],
34
+ const arrIncludes: FilterFn<any> = (
35
+ row,
36
+ columnId: string,
74
37
  filterValue: unknown
75
- ) {
76
- const search = String(filterValue)
77
- return rows.filter(row => {
78
- return columnIds.some(id => {
79
- const rowValue = row.values[id]
80
- return rowValue !== undefined ? String(rowValue) === search : true
81
- })
82
- })
83
- }
84
-
85
- equalsStringSensitive.autoRemove = (val: any) => testFalsey(val)
86
-
87
- function arrIncludes<TGenerics extends TableGenerics>(
88
- rows: Row<TGenerics>[],
89
- columnIds: string[],
90
- filterValue: unknown
91
- ) {
92
- return rows.filter(row => {
93
- return columnIds.some(id => {
94
- const rowValue = row.values[id]
95
- return rowValue.includes(filterValue)
96
- })
97
- })
38
+ ) => {
39
+ return row.getValue(columnId).includes(filterValue)
98
40
  }
99
41
 
100
42
  arrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length
101
43
 
102
- function arrIncludesAll<TGenerics extends TableGenerics>(
103
- rows: Row<TGenerics>[],
104
- columnIds: string[],
44
+ const arrIncludesAll: FilterFn<any> = (
45
+ row,
46
+ columnId: string,
105
47
  filterValue: unknown[]
106
- ) {
107
- return rows.filter(row => {
108
- return columnIds.some(id => {
109
- const rowValue = row.values[id]
110
- return (
111
- rowValue &&
112
- rowValue.length &&
113
- filterValue.every(val => rowValue.includes(val))
114
- )
115
- })
116
- })
48
+ ) => {
49
+ return !filterValue.some(val => !row.getValue(columnId).includes(val))
117
50
  }
118
51
 
119
52
  arrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length
120
53
 
121
- function arrIncludesSome<TGenerics extends TableGenerics>(
122
- rows: Row<TGenerics>[],
123
- columnIds: string[],
54
+ const arrIncludesSome: FilterFn<any> = (
55
+ row,
56
+ columnId: string,
124
57
  filterValue: unknown[]
125
- ) {
126
- return rows.filter(row => {
127
- return columnIds.some(id => {
128
- const rowValue = row.values[id]
129
- return (
130
- rowValue &&
131
- rowValue.length &&
132
- filterValue.some(val => rowValue.includes(val))
133
- )
134
- })
135
- })
58
+ ) => {
59
+ return filterValue.some(val => row.getValue(columnId).includes(val))
136
60
  }
137
61
 
138
62
  arrIncludesSome.autoRemove = (val: any) => testFalsey(val) || !val?.length
139
63
 
140
- function equals<TGenerics extends TableGenerics>(
141
- rows: Row<TGenerics>[],
142
- columnIds: string[],
143
- filterValue: unknown
144
- ) {
145
- return rows.filter(row => {
146
- return columnIds.some(id => {
147
- const rowValue = row.values[id]
148
- return rowValue === filterValue
149
- })
150
- })
64
+ const equals: FilterFn<any> = (row, columnId: string, filterValue: unknown) => {
65
+ return row.getValue(columnId) === filterValue
151
66
  }
152
67
 
153
68
  equals.autoRemove = (val: any) => testFalsey(val)
154
69
 
155
- function weakEquals<TGenerics extends TableGenerics>(
156
- rows: Row<TGenerics>[],
157
- columnIds: string[],
70
+ const weakEquals: FilterFn<any> = (
71
+ row,
72
+ columnId: string,
158
73
  filterValue: unknown
159
- ) {
160
- return rows.filter(row => {
161
- return columnIds.some(id => {
162
- const rowValue = row.values[id]
163
- // eslint-disable-next-line eqeqeq
164
- return rowValue == filterValue
165
- })
166
- })
74
+ ) => {
75
+ return row.getValue(columnId) == filterValue
167
76
  }
168
77
 
169
78
  weakEquals.autoRemove = (val: any) => testFalsey(val)
170
79
 
171
- function betweenNumberRange<TGenerics extends TableGenerics>(
172
- rows: Row<TGenerics>[],
173
- columnIds: string[],
174
- filterValue: [unknown, unknown]
175
- ) {
176
- let [unsafeMin, unsafeMax] = filterValue || []
80
+ const inNumberRange: FilterFn<any> = (
81
+ row,
82
+ columnId: string,
83
+ filterValue: [number, number]
84
+ ) => {
85
+ let [min, max] = filterValue
86
+
87
+ const rowValue = row.getValue(columnId)
88
+ return rowValue >= min && rowValue <= max
89
+ }
90
+
91
+ inNumberRange.resolveFilterValue = (val: [any, any]) => {
92
+ let [unsafeMin, unsafeMax] = val
177
93
 
178
94
  let parsedMin =
179
95
  typeof unsafeMin !== 'number' ? parseFloat(unsafeMin as string) : unsafeMin
@@ -190,17 +106,28 @@ function betweenNumberRange<TGenerics extends TableGenerics>(
190
106
  max = temp
191
107
  }
192
108
 
193
- return rows.filter(row => {
194
- return columnIds.some(id => {
195
- const rowValue = row.values[id]
196
- return rowValue >= min && rowValue <= max
197
- })
198
- })
109
+ return [min, max] as const
199
110
  }
200
111
 
201
- betweenNumberRange.autoRemove = (val: any) =>
112
+ inNumberRange.autoRemove = (val: any) =>
202
113
  testFalsey(val) || (testFalsey(val[0]) && testFalsey(val[1]))
203
114
 
115
+ // Export
116
+
117
+ export const filterFns = {
118
+ includesString,
119
+ includesStringSensitive,
120
+ equalsString,
121
+ arrIncludes,
122
+ arrIncludesAll,
123
+ arrIncludesSome,
124
+ equals,
125
+ weakEquals,
126
+ inNumberRange,
127
+ }
128
+
129
+ export type BuiltInFilterFn = keyof typeof filterFns
130
+
204
131
  // Utils
205
132
 
206
133
  function testFalsey(val: any) {
package/src/index.ts CHANGED
@@ -15,11 +15,18 @@ export * from './features/Sorting'
15
15
  export * from './features/Visibility'
16
16
  export * from './features/Expanding'
17
17
  export * from './utils'
18
- export * from './utils/getCoreRowModelSync'
19
- export * from './utils/getCoreRowModelAsync'
20
- export * from './utils/getColumnFilteredRowModelSync'
21
- export * from './utils/getGlobalFilteredRowModelSync'
22
- export * from './utils/getSortedRowModelSync'
18
+ export * from './utils/getCoreRowModel'
19
+ export * from './utils/getFilteredRowModel'
20
+ export * from './utils/getFacetedRowModel'
21
+ export * from './utils/getFacetedUniqueValues'
22
+ export * from './utils/getFacetedMinMaxValues'
23
+ export * from './utils/getSortedRowModel'
23
24
  export * from './utils/getGroupedRowModel'
24
25
  export * from './utils/getExpandedRowModel'
25
26
  export * from './utils/getPaginationRowModel'
27
+ // Experimental Async
28
+ // export * from './utils/getCoreRowModelAsync'
29
+ // export * from './utils/getFilteredRowModelAsync'
30
+ // export * from './utils/getFacetedRowModelAsync'
31
+ // export * from './utils/getFacetedUniqueValuesAsync'
32
+ // export * from './utils/getFacetedMinMaxValuesAsync'
package/src/sortingFns.ts CHANGED
@@ -19,8 +19,8 @@ function alphanumeric<TGenerics extends TableGenerics>(
19
19
  columnId: string
20
20
  ) {
21
21
  return compareAlphanumeric(
22
- toString(rowA.values[columnId]).toLowerCase(),
23
- toString(rowB.values[columnId]).toLowerCase()
22
+ toString(rowA.getValue(columnId)).toLowerCase(),
23
+ toString(rowB.getValue(columnId)).toLowerCase()
24
24
  )
25
25
  }
26
26
 
@@ -30,8 +30,8 @@ function alphanumericCaseSensitive<TGenerics extends TableGenerics>(
30
30
  columnId: string
31
31
  ) {
32
32
  return compareAlphanumeric(
33
- toString(rowA.values[columnId]),
34
- toString(rowB.values[columnId])
33
+ toString(rowA.getValue(columnId)),
34
+ toString(rowB.getValue(columnId))
35
35
  )
36
36
  }
37
37
 
@@ -90,8 +90,8 @@ function text<TGenerics extends TableGenerics>(
90
90
  columnId: string
91
91
  ) {
92
92
  return compareBasic(
93
- toString(rowA.values[columnId]).toLowerCase(),
94
- toString(rowB.values[columnId]).toLowerCase()
93
+ toString(rowA.getValue(columnId)).toLowerCase(),
94
+ toString(rowB.getValue(columnId)).toLowerCase()
95
95
  )
96
96
  }
97
97
 
@@ -103,8 +103,8 @@ function textCaseSensitive<TGenerics extends TableGenerics>(
103
103
  columnId: string
104
104
  ) {
105
105
  return compareBasic(
106
- toString(rowA.values[columnId]),
107
- toString(rowB.values[columnId])
106
+ toString(rowA.getValue(columnId)),
107
+ toString(rowB.getValue(columnId))
108
108
  )
109
109
  }
110
110
 
@@ -114,8 +114,8 @@ function datetime<TGenerics extends TableGenerics>(
114
114
  columnId: string
115
115
  ) {
116
116
  return compareBasic(
117
- (rowA.values[columnId] as Date).getTime(),
118
- (rowB.values[columnId] as Date).getTime()
117
+ (rowA.getValue(columnId) as Date).getTime(),
118
+ (rowB.getValue(columnId) as Date).getTime()
119
119
  )
120
120
  }
121
121
 
@@ -124,7 +124,7 @@ function basic<TGenerics extends TableGenerics>(
124
124
  rowB: Row<TGenerics>,
125
125
  columnId: string
126
126
  ) {
127
- return compareBasic(rowA.values[columnId], rowB.values[columnId])
127
+ return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId))
128
128
  }
129
129
 
130
130
  // Utils
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CoreOptions, CoreTableState, TableCore } from './core'
1
+ import { CoreOptions, CoreTableState, CoreInstance } from './core'
2
2
  import { ColumnsOptions, CoreColumn, CoreColumnDef } from './features/Columns'
3
3
  import {
4
4
  VisibilityInstance,
@@ -28,6 +28,7 @@ import {
28
28
  FiltersColumnDef,
29
29
  FiltersInstance,
30
30
  FiltersOptions,
31
+ FiltersRow,
31
32
  FiltersTableState,
32
33
  } from './features/Filters'
33
34
  import {
@@ -106,7 +107,7 @@ export type TableFeature = {
106
107
  }
107
108
 
108
109
  export type TableInstance<TGenerics extends TableGenerics> =
109
- TableCore<TGenerics> &
110
+ CoreInstance<TGenerics> &
110
111
  ColumnsInstance<TGenerics> &
111
112
  RowsInstance<TGenerics> &
112
113
  CellsInstance<TGenerics> &
@@ -167,6 +168,7 @@ export type Row<TGenerics extends TableGenerics> = CoreRow<TGenerics> &
167
168
  CellsRow<TGenerics> &
168
169
  VisibilityRow<TGenerics> &
169
170
  ColumnPinningRow<TGenerics> &
171
+ FiltersRow<TGenerics> &
170
172
  GroupingRow &
171
173
  RowSelectionRow &
172
174
  ExpandedRow
@@ -212,7 +214,7 @@ export type CoreCell<TGenerics extends TableGenerics> = {
212
214
  id: string
213
215
  rowId: string
214
216
  columnId: string
215
- value: TGenerics['Value']
217
+ getValue: () => TGenerics['Value']
216
218
  row: Row<TGenerics>
217
219
  column: Column<TGenerics>
218
220
  renderCell: () => string | null | TGenerics['Rendered']
@@ -226,8 +228,6 @@ export type CoreHeader<TGenerics extends TableGenerics> = {
226
228
  index: number
227
229
  depth: number
228
230
  column: Column<TGenerics>
229
- getStart: () => number
230
- getSize: () => number
231
231
  headerGroup: HeaderGroup<TGenerics>
232
232
  subHeaders: Header<TGenerics>[]
233
233
  colSpan?: number
@@ -249,17 +249,4 @@ export type HeaderGroup<TGenerics extends TableGenerics> = {
249
249
  headers: Header<TGenerics>[]
250
250
  }
251
251
 
252
- export type HeaderRenderProps<THeader> = {
253
- header: THeader
254
- }
255
-
256
- export type FooterRenderProps<THeader> = {
257
- header: THeader
258
- }
259
-
260
- export type CellRenderProps<TCell, TRow> = {
261
- cell: TCell
262
- row: TRow
263
- }
264
-
265
252
  export type NoInfer<A extends any> = [A][A extends any ? 0 : never]