@tanstack/table-core 8.0.0-alpha.9 → 8.0.0-beta.0

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 (186) hide show
  1. package/build/cjs/aggregationFns.js +120 -0
  2. package/build/cjs/aggregationFns.js.map +1 -0
  3. package/build/cjs/core/cell.js +40 -0
  4. package/build/cjs/core/cell.js.map +1 -0
  5. package/build/cjs/core/column.js +88 -0
  6. package/build/cjs/core/column.js.map +1 -0
  7. package/build/cjs/core/headers.js +403 -0
  8. package/build/cjs/core/headers.js.map +1 -0
  9. package/build/cjs/core/instance.js +255 -0
  10. package/build/cjs/core/instance.js.map +1 -0
  11. package/build/cjs/core/row.js +77 -0
  12. package/build/cjs/core/row.js.map +1 -0
  13. package/build/cjs/createTable.js +36 -29
  14. package/build/cjs/createTable.js.map +1 -1
  15. package/build/cjs/features/ColumnSizing.js +157 -189
  16. package/build/cjs/features/ColumnSizing.js.map +1 -1
  17. package/build/cjs/features/Expanding.js +103 -155
  18. package/build/cjs/features/Expanding.js.map +1 -1
  19. package/build/cjs/features/Filters.js +155 -304
  20. package/build/cjs/features/Filters.js.map +1 -1
  21. package/build/cjs/features/Grouping.js +97 -157
  22. package/build/cjs/features/Grouping.js.map +1 -1
  23. package/build/cjs/features/Ordering.js +30 -41
  24. package/build/cjs/features/Ordering.js.map +1 -1
  25. package/build/cjs/features/Pagination.js +102 -105
  26. package/build/cjs/features/Pagination.js.map +1 -1
  27. package/build/cjs/features/Pinning.js +131 -89
  28. package/build/cjs/features/Pinning.js.map +1 -1
  29. package/build/cjs/features/RowSelection.js +138 -267
  30. package/build/cjs/features/RowSelection.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +82 -167
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +69 -115
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +107 -0
  36. package/build/cjs/filterFns.js.map +1 -0
  37. package/build/cjs/index.js +36 -23
  38. package/build/cjs/index.js.map +1 -1
  39. package/build/cjs/sortingFns.js +124 -0
  40. package/build/cjs/sortingFns.js.map +1 -0
  41. package/build/cjs/utils/filterRowsUtils.js +117 -0
  42. package/build/cjs/utils/filterRowsUtils.js.map +1 -0
  43. package/build/cjs/utils/getCoreRowModel.js +79 -0
  44. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  45. package/build/cjs/utils/getExpandedRowModel.js +57 -0
  46. package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js +54 -0
  48. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  49. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  50. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  52. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  53. package/build/cjs/utils/getFilteredRowModel.js +139 -0
  54. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  55. package/build/cjs/utils/getGroupedRowModel.js +161 -0
  56. package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
  57. package/build/cjs/utils/getPaginationRowModel.js +61 -0
  58. package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
  59. package/build/cjs/utils/getSortedRowModel.js +110 -0
  60. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  61. package/build/cjs/utils.js +38 -107
  62. package/build/cjs/utils.js.map +1 -1
  63. package/build/esm/index.js +2976 -3853
  64. package/build/esm/index.js.map +1 -1
  65. package/build/stats-html.html +1 -1
  66. package/build/stats-react.json +586 -408
  67. package/build/types/aggregationFns.d.ts +13 -0
  68. package/build/types/core/cell.d.ts +9 -0
  69. package/build/types/core/column.d.ts +40 -0
  70. package/build/types/core/headers.d.ts +46 -0
  71. package/build/types/core/instance.d.ts +57 -0
  72. package/build/types/core/row.d.ts +15 -0
  73. package/build/types/createTable.d.ts +47 -26
  74. package/build/types/features/ColumnSizing.d.ts +32 -44
  75. package/build/types/features/Expanding.d.ts +15 -26
  76. package/build/types/features/Filters.d.ts +64 -63
  77. package/build/types/features/Grouping.d.ts +32 -46
  78. package/build/types/features/Ordering.d.ts +7 -10
  79. package/build/types/features/Pagination.d.ts +16 -15
  80. package/build/types/features/Pinning.d.ts +16 -17
  81. package/build/types/features/RowSelection.d.ts +13 -33
  82. package/build/types/features/Sorting.d.ts +25 -44
  83. package/build/types/features/Visibility.d.ts +16 -25
  84. package/build/types/filterFns.d.ts +13 -0
  85. package/build/types/index.d.ts +16 -10
  86. package/build/types/sortingFns.d.ts +11 -0
  87. package/build/types/types.d.ts +37 -122
  88. package/build/types/utils/filterRowsUtils.d.ts +4 -0
  89. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  90. package/build/types/utils/getExpandedRowModel.d.ts +7 -0
  91. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  92. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  93. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  94. package/build/types/utils/getFilteredRowModel.d.ts +2 -0
  95. package/build/types/utils/getGroupedRowModel.d.ts +2 -0
  96. package/build/types/utils/getPaginationRowModel.d.ts +4 -0
  97. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  98. package/build/types/utils.d.ts +7 -11
  99. package/build/umd/index.development.js +3024 -3893
  100. package/build/umd/index.development.js.map +1 -1
  101. package/build/umd/index.production.js +1 -1
  102. package/build/umd/index.production.js.map +1 -1
  103. package/package.json +9 -10
  104. package/src/.DS_Store +0 -0
  105. package/src/aggregationFns.ts +123 -0
  106. package/src/core/cell.ts +48 -0
  107. package/src/core/column.ts +147 -0
  108. package/src/core/headers.ts +575 -0
  109. package/src/core/instance.ts +361 -0
  110. package/src/core/row.ts +85 -0
  111. package/src/createTable.ts +188 -0
  112. package/src/features/ColumnSizing.ts +170 -185
  113. package/src/features/Expanding.ts +122 -194
  114. package/src/features/Filters.ts +301 -381
  115. package/src/features/Grouping.ts +160 -220
  116. package/src/features/Ordering.ts +24 -25
  117. package/src/features/Pagination.ts +90 -73
  118. package/src/features/Pinning.ts +186 -63
  119. package/src/features/RowSelection.ts +107 -245
  120. package/src/features/Sorting.ts +127 -225
  121. package/src/features/Visibility.ts +116 -132
  122. package/src/filterFns.ts +135 -0
  123. package/src/index.ts +29 -0
  124. package/src/{sortTypes.ts → sortingFns.ts} +63 -85
  125. package/src/types.ts +62 -168
  126. package/src/utils/filterRowsUtils.ts +112 -0
  127. package/src/utils/getCoreRowModel.ts +84 -0
  128. package/src/utils/getExpandedRowModel.ts +54 -0
  129. package/src/utils/getFacetedMinMaxValues.ts +40 -0
  130. package/src/utils/getFacetedRowModel.ts +50 -0
  131. package/src/utils/getFacetedUniqueValues.ts +37 -0
  132. package/src/utils/getFilteredRowModel.ts +159 -0
  133. package/src/utils/getGroupedRowModel.ts +175 -0
  134. package/src/utils/getPaginationRowModel.ts +48 -0
  135. package/src/utils/getSortedRowModel.ts +116 -0
  136. package/src/utils.ts +126 -0
  137. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  138. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  139. package/build/cjs/aggregationTypes.js +0 -130
  140. package/build/cjs/aggregationTypes.js.map +0 -1
  141. package/build/cjs/core.js +0 -545
  142. package/build/cjs/core.js.map +0 -1
  143. package/build/cjs/features/Headers.js +0 -630
  144. package/build/cjs/features/Headers.js.map +0 -1
  145. package/build/cjs/filterTypes.js +0 -172
  146. package/build/cjs/filterTypes.js.map +0 -1
  147. package/build/cjs/sortTypes.js +0 -122
  148. package/build/cjs/sortTypes.js.map +0 -1
  149. package/build/cjs/types.js +0 -22
  150. package/build/cjs/types.js.map +0 -1
  151. package/build/cjs/utils/columnFilterRowsFn.js +0 -131
  152. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  153. package/build/cjs/utils/expandRowsFn.js +0 -38
  154. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  155. package/build/cjs/utils/globalFilterRowsFn.js +0 -101
  156. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  157. package/build/cjs/utils/groupRowsFn.js +0 -155
  158. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  159. package/build/cjs/utils/paginateRowsFn.js +0 -44
  160. package/build/cjs/utils/paginateRowsFn.js.map +0 -1
  161. package/build/cjs/utils/sortRowsFn.js +0 -94
  162. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  163. package/build/types/aggregationTypes.d.ts +0 -22
  164. package/build/types/core.d.ts +0 -105
  165. package/build/types/features/Headers.d.ts +0 -43
  166. package/build/types/filterTypes.d.ts +0 -50
  167. package/build/types/sortTypes.d.ts +0 -18
  168. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  169. package/build/types/utils/expandRowsFn.d.ts +0 -2
  170. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  171. package/build/types/utils/groupRowsFn.d.ts +0 -2
  172. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  173. package/build/types/utils/sortRowsFn.d.ts +0 -2
  174. package/src/aggregationTypes.ts +0 -115
  175. package/src/core.tsx +0 -763
  176. package/src/createTable.tsx +0 -137
  177. package/src/features/Headers.ts +0 -747
  178. package/src/filterTypes.ts +0 -188
  179. package/src/index.tsx +0 -23
  180. package/src/utils/columnFilterRowsFn.ts +0 -113
  181. package/src/utils/expandRowsFn.ts +0 -30
  182. package/src/utils/globalFilterRowsFn.ts +0 -89
  183. package/src/utils/groupRowsFn.ts +0 -170
  184. package/src/utils/paginateRowsFn.ts +0 -28
  185. package/src/utils/sortRowsFn.ts +0 -95
  186. package/src/utils.tsx +0 -221
@@ -12,69 +12,49 @@
12
12
 
13
13
  Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
15
  var utils = require('../utils.js');
17
16
 
18
17
  //
19
- var RowSelection = {
20
- getInitialState: function getInitialState() {
18
+ const RowSelection = {
19
+ getInitialState: state => {
21
20
  return {
22
- rowSelection: {}
21
+ rowSelection: {},
22
+ ...state
23
23
  };
24
24
  },
25
- getDefaultOptions: function getDefaultOptions(instance) {
25
+ getDefaultOptions: instance => {
26
26
  return {
27
27
  onRowSelectionChange: utils.makeStateUpdater('rowSelection', instance),
28
- autoResetRowSelection: true,
29
28
  enableRowSelection: true,
30
29
  enableMultiRowSelection: true,
31
30
  enableSubRowSelection: true // enableGroupingRowSelection: false,
32
- // isAdditiveSelectEvent: (e: MouseEvent | TouchEvent) => !!e.metaKey,
33
- // isInclusiveSelectEvent: (e: MouseEvent | TouchEvent) => !!e.shiftKey,
31
+ // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,
32
+ // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,
34
33
 
35
34
  };
36
35
  },
37
- getInstance: function getInstance(instance) {
38
- var registered = false; // const pageRows = instance.getPageRows()
39
-
36
+ createInstance: instance => {
40
37
  return {
41
- _notifyRowSelectionReset: function _notifyRowSelectionReset() {
42
- if (!registered) {
43
- registered = true;
44
- return;
45
- }
46
-
47
- if (instance.options.autoResetAll === false) {
48
- return;
49
- }
50
-
51
- if (instance.options.autoResetAll === true || instance.options.autoResetRowSelection) {
52
- instance.resetRowSelection();
53
- }
54
- },
55
- setRowSelection: function setRowSelection(updater) {
56
- return instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater, utils.functionalUpdate(updater, instance.getState().rowSelection));
57
- },
58
- resetRowSelection: function resetRowSelection() {
38
+ setRowSelection: updater => instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater),
39
+ resetRowSelection: defaultState => {
59
40
  var _instance$initialStat;
60
41
 
61
- return instance.setRowSelection((_instance$initialStat = instance.initialState.rowSelection) != null ? _instance$initialStat : {});
42
+ return instance.setRowSelection(defaultState ? {} : (_instance$initialStat = instance.initialState.rowSelection) != null ? _instance$initialStat : {});
62
43
  },
63
- toggleAllRowsSelected: function toggleAllRowsSelected(value) {
64
- instance.setRowSelection(function (old) {
65
- value = typeof value !== 'undefined' ? value : !instance.getIsAllRowsSelected(); // Only remove/add the rows that are visible on the screen
66
- // Leave all the other rows that are selected alone.
67
-
68
- var rowSelection = Object.assign({}, old);
69
- var preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows; // We don't use `mutateRowIsSelected` here for performance reasons.
44
+ toggleAllRowsSelected: value => {
45
+ instance.setRowSelection(old => {
46
+ value = typeof value !== 'undefined' ? value : !instance.getIsAllRowsSelected();
47
+ const rowSelection = { ...old
48
+ };
49
+ const preGroupedFlatRows = instance.getPreGroupedRowModel().flatRows; // We don't use `mutateRowIsSelected` here for performance reasons.
70
50
  // All of the rows are flat already, so it wouldn't be worth it
71
51
 
72
52
  if (value) {
73
- preGroupedFlatRows.forEach(function (row) {
53
+ preGroupedFlatRows.forEach(row => {
74
54
  rowSelection[row.id] = true;
75
55
  });
76
56
  } else {
77
- preGroupedFlatRows.forEach(function (row) {
57
+ preGroupedFlatRows.forEach(row => {
78
58
  delete rowSelection[row.id];
79
59
  });
80
60
  }
@@ -82,34 +62,15 @@ var RowSelection = {
82
62
  return rowSelection;
83
63
  });
84
64
  },
85
- toggleAllPageRowsSelected: function toggleAllPageRowsSelected(value) {
86
- return instance.setRowSelection(function (old) {
87
- typeof value !== 'undefined' ? value : !instance.getIsAllPageRowsSelected();
88
-
89
- var rowSelection = _rollupPluginBabelHelpers["extends"]({}, old);
90
-
91
- instance.getRowModel().rows.forEach(function (row) {
92
- mutateRowIsSelected(rowSelection, row.id, value, instance);
93
- });
94
- return rowSelection;
95
- });
96
- },
97
- toggleRowSelected: function toggleRowSelected(rowId, value) {
98
- var row = instance.getRow(rowId);
99
- var isSelected = row.getIsSelected();
100
- instance.setRowSelection(function (old) {
101
- value = typeof value !== 'undefined' ? value : !isSelected;
102
-
103
- if (isSelected === value) {
104
- return old;
105
- }
106
-
107
- var selectedRowIds = _rollupPluginBabelHelpers["extends"]({}, old);
108
-
109
- mutateRowIsSelected(selectedRowIds, rowId, value, instance);
110
- return selectedRowIds;
65
+ toggleAllPageRowsSelected: value => instance.setRowSelection(old => {
66
+ typeof value !== 'undefined' ? value : !instance.getIsAllPageRowsSelected();
67
+ const rowSelection = { ...old
68
+ };
69
+ instance.getRowModel().rows.forEach(row => {
70
+ mutateRowIsSelected(rowSelection, row.id, value, instance);
111
71
  });
112
- },
72
+ return rowSelection;
73
+ }),
113
74
  // addRowSelectionRange: rowId => {
114
75
  // const {
115
76
  // rows,
@@ -160,12 +121,8 @@ var RowSelection = {
160
121
  // })
161
122
  // instance.setRowSelection(selectedRowIds)
162
123
  // },
163
- getPreSelectedRowModel: function getPreSelectedRowModel() {
164
- return instance.getCoreRowModel();
165
- },
166
- getSelectedRowModel: utils.memo(function () {
167
- return [instance.getState().rowSelection, instance.getCoreRowModel()];
168
- }, function (rowSelection, rowModel) {
124
+ getPreSelectedRowModel: () => instance.getCoreRowModel(),
125
+ getSelectedRowModel: utils.memo(() => [instance.getState().rowSelection, instance.getCoreRowModel()], (rowSelection, rowModel) => {
169
126
  if (!Object.keys(rowSelection).length) {
170
127
  return {
171
128
  rows: [],
@@ -176,19 +133,14 @@ var RowSelection = {
176
133
 
177
134
  return selectRowsFn(instance, rowModel);
178
135
  }, {
179
- key: 'getSelectedRowModel',
180
- debug: function debug() {
136
+ key: process.env.NODE_ENV === 'development' && 'getSelectedRowModel',
137
+ debug: () => {
181
138
  var _instance$options$deb;
182
139
 
183
140
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
184
- },
185
- onChange: function onChange() {
186
- return instance._notifyExpandedReset();
187
141
  }
188
142
  }),
189
- getFilteredSelectedRowModel: utils.memo(function () {
190
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
191
- }, function (rowSelection, rowModel) {
143
+ getFilteredSelectedRowModel: utils.memo(() => [instance.getState().rowSelection, instance.getFilteredRowModel()], (rowSelection, rowModel) => {
192
144
  if (!Object.keys(rowSelection).length) {
193
145
  return {
194
146
  rows: [],
@@ -199,19 +151,14 @@ var RowSelection = {
199
151
 
200
152
  return selectRowsFn(instance, rowModel);
201
153
  }, {
202
- key: 'getFilteredSelectedRowModel',
203
- debug: function debug() {
154
+ key: process.env.NODE_ENV === 'production' && 'getFilteredSelectedRowModel',
155
+ debug: () => {
204
156
  var _instance$options$deb2;
205
157
 
206
158
  return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
207
- },
208
- onChange: function onChange() {
209
- return instance._notifyExpandedReset();
210
159
  }
211
160
  }),
212
- getGroupedSelectedRowModel: utils.memo(function () {
213
- return [instance.getState().rowSelection, instance.getGroupedRowModel()];
214
- }, function (rowSelection, rowModel) {
161
+ getGroupedSelectedRowModel: utils.memo(() => [instance.getState().rowSelection, instance.getGroupedRowModel()], (rowSelection, rowModel) => {
215
162
  if (!Object.keys(rowSelection).length) {
216
163
  return {
217
164
  rows: [],
@@ -222,86 +169,14 @@ var RowSelection = {
222
169
 
223
170
  return selectRowsFn(instance, rowModel);
224
171
  }, {
225
- key: 'getGroupedSelectedRowModel',
226
- debug: function debug() {
172
+ key: process.env.NODE_ENV === 'production' && 'getGroupedSelectedRowModel',
173
+ debug: () => {
227
174
  var _instance$options$deb3;
228
175
 
229
176
  return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
230
- },
231
- onChange: function onChange() {
232
- return instance._notifyExpandedReset();
233
177
  }
234
178
  }),
235
179
  ///
236
- getRowIsSelected: function getRowIsSelected(rowId) {
237
- var _instance$getState = instance.getState(),
238
- rowSelection = _instance$getState.rowSelection;
239
-
240
- var row = instance.getRow(rowId);
241
-
242
- if (!row) {
243
- throw new Error();
244
- }
245
-
246
- return isRowSelected(row, rowSelection) === true;
247
- },
248
- getRowIsSomeSelected: function getRowIsSomeSelected(rowId) {
249
- var _instance$getState2 = instance.getState(),
250
- rowSelection = _instance$getState2.rowSelection;
251
-
252
- var row = instance.getRow(rowId);
253
-
254
- if (!row) {
255
- throw new Error();
256
- }
257
-
258
- return isRowSelected(row, rowSelection) === 'some';
259
- },
260
- getRowCanSelect: function getRowCanSelect(rowId) {
261
- var _instance$options$ena;
262
-
263
- var row = instance.getRow(rowId);
264
-
265
- if (!row) {
266
- throw new Error();
267
- }
268
-
269
- if (typeof instance.options.enableRowSelection === 'function') {
270
- return instance.options.enableRowSelection(row);
271
- }
272
-
273
- return (_instance$options$ena = instance.options.enableRowSelection) != null ? _instance$options$ena : true;
274
- },
275
- getRowCanSelectSubRows: function getRowCanSelectSubRows(rowId) {
276
- var _instance$options$ena2;
277
-
278
- var row = instance.getRow(rowId);
279
-
280
- if (!row) {
281
- throw new Error();
282
- }
283
-
284
- if (typeof instance.options.enableSubRowSelection === 'function') {
285
- return instance.options.enableSubRowSelection(row);
286
- }
287
-
288
- return (_instance$options$ena2 = instance.options.enableSubRowSelection) != null ? _instance$options$ena2 : true;
289
- },
290
- getRowCanMultiSelect: function getRowCanMultiSelect(rowId) {
291
- var _instance$options$ena3;
292
-
293
- var row = instance.getRow(rowId);
294
-
295
- if (!row) {
296
- throw new Error();
297
- }
298
-
299
- if (typeof instance.options.enableMultiRowSelection === 'function') {
300
- return instance.options.enableMultiRowSelection(row);
301
- }
302
-
303
- return (_instance$options$ena3 = instance.options.enableMultiRowSelection) != null ? _instance$options$ena3 : true;
304
- },
305
180
  // getGroupingRowCanSelect: rowId => {
306
181
  // const row = instance.getRow(rowId)
307
182
  // if (!row) {
@@ -312,133 +187,128 @@ var RowSelection = {
312
187
  // }
313
188
  // return instance.options.enableGroupingRowSelection ?? false
314
189
  // },
315
- getIsAllRowsSelected: function getIsAllRowsSelected() {
316
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
317
-
318
- var _instance$getState3 = instance.getState(),
319
- rowSelection = _instance$getState3.rowSelection;
320
-
321
- var isAllRowsSelected = Boolean(preFilteredFlatRows.length && Object.keys(rowSelection).length);
190
+ getIsAllRowsSelected: () => {
191
+ const preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
192
+ const {
193
+ rowSelection
194
+ } = instance.getState();
195
+ let isAllRowsSelected = Boolean(preFilteredFlatRows.length && Object.keys(rowSelection).length);
322
196
 
323
197
  if (isAllRowsSelected) {
324
- if (preFilteredFlatRows.some(function (row) {
325
- return !rowSelection[row.id];
326
- })) {
198
+ if (preFilteredFlatRows.some(row => !rowSelection[row.id])) {
327
199
  isAllRowsSelected = false;
328
200
  }
329
201
  }
330
202
 
331
203
  return isAllRowsSelected;
332
204
  },
333
- getIsAllPageRowsSelected: function getIsAllPageRowsSelected() {
334
- var paginationFlatRows = instance.getPaginationRowModel().flatRows;
335
-
336
- var _instance$getState4 = instance.getState(),
337
- rowSelection = _instance$getState4.rowSelection;
338
-
339
- var isAllPageRowsSelected = !!paginationFlatRows.length;
340
-
341
- if (isAllPageRowsSelected && paginationFlatRows.some(function (row) {
342
- return !rowSelection[row.id];
343
- })) {
205
+ getIsAllPageRowsSelected: () => {
206
+ const paginationFlatRows = instance.getPaginationRowModel().flatRows;
207
+ const {
208
+ rowSelection
209
+ } = instance.getState();
210
+ let isAllPageRowsSelected = !!paginationFlatRows.length;
211
+
212
+ if (isAllPageRowsSelected && paginationFlatRows.some(row => !rowSelection[row.id])) {
344
213
  isAllPageRowsSelected = false;
345
214
  }
346
215
 
347
216
  return isAllPageRowsSelected;
348
217
  },
349
- getIsSomeRowsSelected: function getIsSomeRowsSelected() {
218
+ getIsSomeRowsSelected: () => {
350
219
  var _instance$getState$ro;
351
220
 
352
221
  return !instance.getIsAllRowsSelected() && !!Object.keys((_instance$getState$ro = instance.getState().rowSelection) != null ? _instance$getState$ro : {}).length;
353
222
  },
354
- getIsSomePageRowsSelected: function getIsSomePageRowsSelected() {
355
- var paginationFlatRows = instance.getPaginationRowModel().flatRows;
223
+ getIsSomePageRowsSelected: () => {
224
+ const paginationFlatRows = instance.getPaginationRowModel().flatRows;
356
225
  return instance.getIsAllPageRowsSelected() ? false : !!(paginationFlatRows != null && paginationFlatRows.length);
357
226
  },
358
- getToggleRowSelectedProps: function getToggleRowSelectedProps(rowId, userProps) {
359
- var row = instance.getRow(rowId);
360
- var isSelected = row.getIsSelected();
361
- var isSomeSelected = row.getIsSomeSelected();
362
- var canSelect = row.getCanSelect();
363
- var initialProps = {
364
- onChange: canSelect ? function (e) {
365
- row.toggleSelected(e.target.checked);
366
- } : undefined,
367
- checked: isSelected,
368
- title: 'Toggle Row Selected',
369
- indeterminate: isSomeSelected // onChange: forInput
370
- // ? (e: Event) => e.stopPropagation()
371
- // : (e: Event) => {
372
- // if (instance.options.isAdditiveSelectEvent(e)) {
373
- // row.toggleSelected()
374
- // } else if (instance.options.isInclusiveSelectEvent(e)) {
375
- // instance.addRowSelectionRange(row.id)
376
- // } else {
377
- // instance.setRowSelection({})
378
- // row.toggleSelected()
379
- // }
380
- // if (props.onClick) props.onClick(e)
381
- // },
382
-
383
- };
384
- return utils.propGetter(initialProps, userProps);
385
- },
386
- getToggleAllRowsSelectedProps: function getToggleAllRowsSelectedProps(userProps) {
387
- var isSomeRowsSelected = instance.getIsSomeRowsSelected();
388
- var isAllRowsSelected = instance.getIsAllRowsSelected();
389
- var initialProps = {
390
- onChange: function onChange(e) {
391
- instance.toggleAllRowsSelected(e.target.checked);
392
- },
393
- checked: isAllRowsSelected,
394
- title: 'Toggle All Rows Selected',
395
- indeterminate: isSomeRowsSelected
227
+ getToggleAllRowsSelectedHandler: () => {
228
+ return e => {
229
+ instance.toggleAllRowsSelected(e.target.checked);
396
230
  };
397
- return utils.propGetter(initialProps, userProps);
398
231
  },
399
- getToggleAllPageRowsSelectedProps: function getToggleAllPageRowsSelectedProps(userProps) {
400
- var isSomePageRowsSelected = instance.getIsSomePageRowsSelected();
401
- var isAllPageRowsSelected = instance.getIsAllPageRowsSelected();
402
- var initialProps = {
403
- onChange: function onChange(e) {
404
- instance.toggleAllPageRowsSelected(e.target.checked);
405
- },
406
- checked: isAllPageRowsSelected,
407
- title: 'Toggle All Current Page Rows Selected',
408
- indeterminate: isSomePageRowsSelected
232
+ getToggleAllPageRowsSelectedHandler: () => {
233
+ return e => {
234
+ instance.toggleAllPageRowsSelected(e.target.checked);
409
235
  };
410
- return utils.propGetter(initialProps, userProps);
411
236
  }
412
237
  };
413
238
  },
414
- createRow: function createRow(row, instance) {
239
+ createRow: (row, instance) => {
415
240
  return {
416
- getIsSelected: function getIsSelected() {
417
- return instance.getRowIsSelected(row.id);
241
+ toggleSelected: value => {
242
+ const isSelected = row.getIsSelected();
243
+ instance.setRowSelection(old => {
244
+ value = typeof value !== 'undefined' ? value : !isSelected;
245
+
246
+ if (isSelected === value) {
247
+ return old;
248
+ }
249
+
250
+ const selectedRowIds = { ...old
251
+ };
252
+ mutateRowIsSelected(selectedRowIds, row.id, value, instance);
253
+ return selectedRowIds;
254
+ });
418
255
  },
419
- getIsSomeSelected: function getIsSomeSelected() {
420
- return instance.getRowIsSomeSelected(row.id);
256
+ getIsSelected: () => {
257
+ const {
258
+ rowSelection
259
+ } = instance.getState();
260
+ return isRowSelected(row, rowSelection) === true;
421
261
  },
422
- toggleSelected: function toggleSelected(value) {
423
- return instance.toggleRowSelected(row.id, value);
262
+ getIsSomeSelected: () => {
263
+ const {
264
+ rowSelection
265
+ } = instance.getState();
266
+ return isRowSelected(row, rowSelection) === 'some';
424
267
  },
425
- getToggleSelectedProps: function getToggleSelectedProps(userProps) {
426
- return instance.getToggleRowSelectedProps(row.id, userProps);
268
+ getCanSelect: () => {
269
+ var _instance$options$ena;
270
+
271
+ if (typeof instance.options.enableRowSelection === 'function') {
272
+ return instance.options.enableRowSelection(row);
273
+ }
274
+
275
+ return (_instance$options$ena = instance.options.enableRowSelection) != null ? _instance$options$ena : true;
427
276
  },
428
- getCanMultiSelect: function getCanMultiSelect() {
429
- return instance.getRowCanMultiSelect(row.id);
277
+ getCanSelectSubRows: () => {
278
+ var _instance$options$ena2;
279
+
280
+ if (typeof instance.options.enableSubRowSelection === 'function') {
281
+ return instance.options.enableSubRowSelection(row);
282
+ }
283
+
284
+ return (_instance$options$ena2 = instance.options.enableSubRowSelection) != null ? _instance$options$ena2 : true;
285
+ },
286
+ getCanMultiSelect: () => {
287
+ var _instance$options$ena3;
288
+
289
+ if (typeof instance.options.enableMultiRowSelection === 'function') {
290
+ return instance.options.enableMultiRowSelection(row);
291
+ }
292
+
293
+ return (_instance$options$ena3 = instance.options.enableMultiRowSelection) != null ? _instance$options$ena3 : true;
430
294
  },
431
- getCanSelect: function getCanSelect() {
432
- return instance.getRowCanSelect(row.id);
295
+ getToggleSelectedHandler: () => {
296
+ const canSelect = row.getCanSelect();
297
+ return e => {
298
+ var _target;
299
+
300
+ if (!canSelect) return;
301
+ row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);
302
+ };
433
303
  }
434
304
  };
435
305
  }
436
306
  };
437
307
 
438
- var mutateRowIsSelected = function mutateRowIsSelected(selectedRowIds, id, value, instance) {
308
+ const mutateRowIsSelected = (selectedRowIds, id, value, instance) => {
439
309
  var _row$subRows;
440
310
 
441
- var row = instance.getRow(id);
311
+ const row = instance.getRow(id);
442
312
  row.getIsGrouped(); // if ( // TODO: enforce grouping row selection rules
443
313
  // !isGrouped ||
444
314
  // (isGrouped && instance.options.enableGroupingRowSelection)
@@ -451,24 +321,25 @@ var mutateRowIsSelected = function mutateRowIsSelected(selectedRowIds, id, value
451
321
  } // }
452
322
 
453
323
 
454
- if ((_row$subRows = row.subRows) != null && _row$subRows.length && instance.getRowCanSelectSubRows(row.id)) {
455
- row.subRows.forEach(function (row) {
456
- return mutateRowIsSelected(selectedRowIds, row.id, value, instance);
457
- });
324
+ if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) {
325
+ row.subRows.forEach(row => mutateRowIsSelected(selectedRowIds, row.id, value, instance));
458
326
  }
459
327
  };
460
328
 
461
329
  function selectRowsFn(instance, rowModel) {
462
- var rowSelection = instance.getState().rowSelection;
463
- var newSelectedFlatRows = [];
464
- var newSelectedRowsById = {}; // Filters top level and nested rows
330
+ const rowSelection = instance.getState().rowSelection;
331
+ const newSelectedFlatRows = [];
332
+ const newSelectedRowsById = {}; // Filters top level and nested rows
465
333
 
466
- var recurseRows = function recurseRows(rows, depth) {
334
+ const recurseRows = function (rows, depth) {
335
+ if (depth === void 0) {
336
+ depth = 0;
337
+ }
467
338
 
468
- return rows.map(function (row) {
339
+ return rows.map(row => {
469
340
  var _row$subRows2;
470
341
 
471
- var isSelected = isRowSelected(row, rowSelection) === true;
342
+ const isSelected = isRowSelected(row, rowSelection) === true;
472
343
 
473
344
  if (isSelected) {
474
345
  newSelectedFlatRows.push(row);
@@ -476,9 +347,9 @@ function selectRowsFn(instance, rowModel) {
476
347
  }
477
348
 
478
349
  if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {
479
- row = _rollupPluginBabelHelpers["extends"]({}, row, {
480
- subRows: recurseRows(row.subRows)
481
- });
350
+ row = { ...row,
351
+ subRows: recurseRows(row.subRows, depth + 1)
352
+ };
482
353
  }
483
354
 
484
355
  if (isSelected) {
@@ -499,9 +370,9 @@ function isRowSelected(row, selection, instance) {
499
370
  }
500
371
 
501
372
  if (row.subRows && row.subRows.length) {
502
- var allChildrenSelected = true;
503
- var someSelected = false;
504
- row.subRows.forEach(function (subRow) {
373
+ let allChildrenSelected = true;
374
+ let someSelected = false;
375
+ row.subRows.forEach(subRow => {
505
376
  // Bail out early if we know both of these
506
377
  if (someSelected && !allChildrenSelected) {
507
378
  return;