material-react-table 0.7.5 → 0.8.0-alpha.2

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 (55) hide show
  1. package/dist/MaterialReactTable.d.ts +16 -15
  2. package/dist/body/MRT_TableBody.d.ts +0 -1
  3. package/dist/body/MRT_TableBodyCell.d.ts +1 -0
  4. package/dist/body/MRT_TableBodyRow.d.ts +0 -1
  5. package/dist/buttons/MRT_ColumnPinningButtons.d.ts +8 -0
  6. package/dist/buttons/MRT_CopyButton.d.ts +2 -1
  7. package/dist/enums.d.ts +2 -2
  8. package/dist/filtersFNs.d.ts +31 -30
  9. package/dist/footer/MRT_TableFooter.d.ts +0 -1
  10. package/dist/head/MRT_TableHead.d.ts +0 -1
  11. package/dist/inputs/MRT_FilterRangeFields.d.ts +8 -0
  12. package/dist/inputs/MRT_FilterTextField.d.ts +1 -0
  13. package/dist/localization.d.ts +7 -2
  14. package/dist/material-react-table.cjs.development.js +451 -418
  15. package/dist/material-react-table.cjs.development.js.map +1 -1
  16. package/dist/material-react-table.cjs.production.min.js +1 -1
  17. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  18. package/dist/material-react-table.esm.js +454 -421
  19. package/dist/material-react-table.esm.js.map +1 -1
  20. package/dist/table/MRT_Table.d.ts +0 -1
  21. package/dist/toolbar/MRT_ToolbarTop.d.ts +1 -0
  22. package/dist/utils.d.ts +1 -1
  23. package/package.json +21 -25
  24. package/src/MaterialReactTable.tsx +20 -24
  25. package/src/body/MRT_TableBody.tsx +3 -11
  26. package/src/body/MRT_TableBodyCell.tsx +103 -52
  27. package/src/body/MRT_TableBodyRow.tsx +21 -30
  28. package/src/buttons/MRT_ColumnPinningButtons.tsx +57 -0
  29. package/src/buttons/MRT_CopyButton.tsx +3 -2
  30. package/src/buttons/MRT_EditActionButtons.tsx +1 -2
  31. package/src/buttons/MRT_ExpandAllButton.tsx +22 -18
  32. package/src/buttons/MRT_ExpandButton.tsx +27 -21
  33. package/src/enums.ts +2 -2
  34. package/src/filtersFNs.ts +71 -81
  35. package/src/footer/MRT_TableFooter.tsx +6 -16
  36. package/src/footer/MRT_TableFooterCell.tsx +15 -15
  37. package/src/footer/MRT_TableFooterRow.tsx +6 -8
  38. package/src/head/MRT_TableHead.tsx +5 -16
  39. package/src/head/MRT_TableHeadCell.tsx +116 -49
  40. package/src/head/MRT_TableHeadRow.tsx +8 -15
  41. package/src/inputs/MRT_EditCellTextField.tsx +3 -3
  42. package/src/inputs/MRT_FilterRangeFields.tsx +41 -0
  43. package/src/inputs/MRT_FilterTextField.tsx +76 -41
  44. package/src/inputs/MRT_SelectCheckbox.tsx +15 -17
  45. package/src/localization.ts +15 -5
  46. package/src/menus/MRT_ColumnActionMenu.tsx +13 -12
  47. package/src/menus/MRT_FilterOptionMenu.tsx +36 -33
  48. package/src/menus/MRT_ShowHideColumnsMenu.tsx +25 -11
  49. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +16 -6
  50. package/src/table/MRT_Table.tsx +8 -19
  51. package/src/table/MRT_TableContainer.tsx +8 -69
  52. package/src/table/MRT_TableRoot.tsx +44 -52
  53. package/src/toolbar/MRT_LinearProgressBar.tsx +5 -2
  54. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +3 -2
  55. package/src/toolbar/MRT_ToolbarTop.tsx +4 -6
@@ -36,10 +36,10 @@ var ViewColumnIcon = _interopDefault(require('@mui/icons-material/ViewColumn'));
36
36
  var VisibilityOffIcon = _interopDefault(require('@mui/icons-material/VisibilityOff'));
37
37
  var reactTable = require('@tanstack/react-table');
38
38
  var material = require('@mui/material');
39
- var matchSorter = require('match-sorter');
39
+ var matchSorterUtils = require('@tanstack/match-sorter-utils');
40
40
 
41
41
  function _extends() {
42
- _extends = Object.assign || function (target) {
42
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
43
43
  for (var i = 1; i < arguments.length; i++) {
44
44
  var source = arguments[i];
45
45
 
@@ -52,7 +52,6 @@ function _extends() {
52
52
 
53
53
  return target;
54
54
  };
55
-
56
55
  return _extends.apply(this, arguments);
57
56
  }
58
57
 
@@ -73,6 +72,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
73
72
 
74
73
  var MRT_DefaultLocalization_EN = {
75
74
  actions: 'Actions',
75
+ and: 'and',
76
76
  cancel: 'Cancel',
77
77
  changeFilterMode: 'Change filter mode',
78
78
  changeSearchMode: 'Change search mode',
@@ -85,24 +85,26 @@ var MRT_DefaultLocalization_EN = {
85
85
  edit: 'Edit',
86
86
  expand: 'Expand',
87
87
  expandAll: 'Expand all',
88
- filterBestMatch: 'Best Match',
89
- filterBestMatchFirst: 'Best Match First',
88
+ filterBetween: 'Between',
90
89
  filterByColumn: 'Filter by {column}',
91
90
  filterContains: 'Contains',
92
91
  filterEmpty: 'Empty',
93
92
  filterEndsWith: 'Ends With',
94
93
  filterEquals: 'Equals',
94
+ filterFuzzy: 'Fuzzy',
95
95
  filterGreaterThan: 'Greater Than',
96
96
  filterLessThan: 'Less Than',
97
97
  filterMode: 'Filter Mode: {filterType}',
98
98
  filterNotEmpty: 'Not Empty',
99
99
  filterNotEquals: 'Not Equals',
100
100
  filterStartsWith: 'Starts With',
101
- filteringByColumn: 'Filtering by {column} - {filterType} "{filterValue}"',
101
+ filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
102
102
  groupByColumn: 'Group by {column}',
103
103
  groupedBy: 'Grouped by ',
104
104
  hideAll: 'Hide all',
105
105
  hideColumn: 'Hide {column} column',
106
+ max: 'Max',
107
+ min: 'Min',
106
108
  pinToLeft: 'Pin to left',
107
109
  pinToRight: 'Pin to right',
108
110
  resetColumnSize: 'Reset column size',
@@ -123,12 +125,14 @@ var MRT_DefaultLocalization_EN = {
123
125
  sortedByColumnAsc: 'Sorted by {column} ascending',
124
126
  sortedByColumnDesc: 'Sorted by {column} descending',
125
127
  thenBy: ', then by ',
128
+ to: 'to',
126
129
  toggleDensePadding: 'Toggle dense padding',
127
130
  toggleFullScreen: 'Toggle full screen',
128
131
  toggleSelectAll: 'Toggle select all',
129
132
  toggleSelectRow: 'Toggle select row',
130
133
  ungroupByColumn: 'Ungroup by {column}',
131
134
  unpin: 'Unpin',
135
+ unpinAll: 'Unpin all',
132
136
  unsorted: 'Unsorted'
133
137
  };
134
138
 
@@ -170,17 +174,19 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
170
174
  getState = tableInstance.getState,
171
175
  _tableInstance$option = tableInstance.options,
172
176
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
173
- isLoading = _tableInstance$option.isLoading,
174
177
  localization = _tableInstance$option.localization,
175
178
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
176
179
 
177
180
  var _getState = getState(),
178
181
  isDensePadding = _getState.isDensePadding;
179
182
 
180
- return React__default.createElement(material.IconButton, {
183
+ return React__default.createElement(material.Tooltip, {
184
+ arrow: true,
185
+ enterDelay: 1000,
186
+ enterNextDelay: 1000,
187
+ title: localization.expandAll
188
+ }, React__default.createElement(material.IconButton, {
181
189
  "aria-label": localization.expandAll,
182
- disabled: isLoading,
183
- title: localization.expandAll,
184
190
  onClick: function onClick() {
185
191
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
186
192
  },
@@ -193,7 +199,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
193
199
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
194
200
  transition: 'transform 0.2s'
195
201
  }
196
- }));
202
+ })));
197
203
  };
198
204
 
199
205
  var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
@@ -218,10 +224,14 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
218
224
  });
219
225
  };
220
226
 
221
- return React__default.createElement(material.IconButton, {
227
+ return React__default.createElement(material.Tooltip, {
228
+ arrow: true,
229
+ enterDelay: 1000,
230
+ enterNextDelay: 1000,
231
+ title: localization.expand
232
+ }, React__default.createElement(material.IconButton, {
222
233
  "aria-label": localization.expand,
223
234
  disabled: !row.getCanExpand() && !renderDetailPanel,
224
- title: localization.expand,
225
235
  onClick: handleToggleExpand,
226
236
  sx: {
227
237
  height: isDensePadding ? '1.75rem' : '2.25rem',
@@ -232,18 +242,18 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
232
242
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
233
243
  transition: 'transform 0.2s'
234
244
  }
235
- }));
245
+ })));
236
246
  };
237
247
 
238
248
  var MRT_FILTER_OPTION;
239
249
 
240
250
  (function (MRT_FILTER_OPTION) {
241
- MRT_FILTER_OPTION["BEST_MATCH"] = "bestMatch";
242
- MRT_FILTER_OPTION["BEST_MATCH_FIRST"] = "bestMatchFirst";
251
+ MRT_FILTER_OPTION["BETWEEN"] = "between";
243
252
  MRT_FILTER_OPTION["CONTAINS"] = "contains";
244
253
  MRT_FILTER_OPTION["EMPTY"] = "empty";
245
254
  MRT_FILTER_OPTION["ENDS_WITH"] = "endsWith";
246
255
  MRT_FILTER_OPTION["EQUALS"] = "equals";
256
+ MRT_FILTER_OPTION["FUZZY"] = "fuzzy";
247
257
  MRT_FILTER_OPTION["GREATER_THAN"] = "greaterThan";
248
258
  MRT_FILTER_OPTION["LESS_THAN"] = "lessThan";
249
259
  MRT_FILTER_OPTION["NOT_EMPTY"] = "notEmpty";
@@ -251,117 +261,92 @@ var MRT_FILTER_OPTION;
251
261
  MRT_FILTER_OPTION["STARTS_WITH"] = "startsWith";
252
262
  })(MRT_FILTER_OPTION || (MRT_FILTER_OPTION = {}));
253
263
 
254
- var bestMatchFirst = function bestMatchFirst(rows, columnIds, filterValue) {
255
- return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
256
- keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
257
- return "values." + c;
258
- }) : ["values." + columnIds]
264
+ var fuzzy = function fuzzy(row, columnId, value, addMeta) {
265
+ var itemRank = matchSorterUtils.rankItem(row.getValue(columnId), value, {
266
+ threshold: matchSorterUtils.rankings.MATCHES
259
267
  });
268
+ addMeta(itemRank);
269
+ return itemRank.passed;
260
270
  };
261
271
 
262
- bestMatchFirst.autoRemove = function (val) {
272
+ fuzzy.autoRemove = function (val) {
263
273
  return !val;
264
274
  };
265
275
 
266
- var bestMatch = function bestMatch(rows, columnIds, filterValue) {
267
- return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
268
- keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
269
- return "values." + c;
270
- }) : ["values." + columnIds],
271
- sorter: function sorter(rankedItems) {
272
- return rankedItems;
273
- }
274
- });
275
- };
276
-
277
- bestMatch.autoRemove = function (val) {
278
- return !val;
279
- };
280
-
281
- var contains = function contains(rows, id, filterValue) {
282
- return rows.filter(function (row) {
283
- return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
284
- });
276
+ var contains = function contains(row, id, filterValue) {
277
+ return row.getValue(id).toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
285
278
  };
286
279
 
287
280
  contains.autoRemove = function (val) {
288
281
  return !val;
289
282
  };
290
283
 
291
- var startsWith = function startsWith(rows, id, filterValue) {
292
- return rows.filter(function (row) {
293
- return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
294
- });
284
+ var startsWith = function startsWith(row, id, filterValue) {
285
+ return row.getValue(id).toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
295
286
  };
296
287
 
297
288
  startsWith.autoRemove = function (val) {
298
289
  return !val;
299
290
  };
300
291
 
301
- var endsWith = function endsWith(rows, id, filterValue) {
302
- return rows.filter(function (row) {
303
- return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
304
- });
292
+ var endsWith = function endsWith(row, id, filterValue) {
293
+ return row.getValue(id).toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
305
294
  };
306
295
 
307
296
  endsWith.autoRemove = function (val) {
308
297
  return !val;
309
298
  };
310
299
 
311
- var equals = function equals(rows, id, filterValue) {
312
- return rows.filter(function (row) {
313
- return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
314
- });
300
+ var equals = function equals(row, id, filterValue) {
301
+ return row.getValue(id).toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
315
302
  };
316
303
 
317
304
  equals.autoRemove = function (val) {
318
305
  return !val;
319
306
  };
320
307
 
321
- var notEquals = function notEquals(rows, id, filterValue) {
322
- return rows.filter(function (row) {
323
- return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
324
- });
308
+ var notEquals = function notEquals(row, id, filterValue) {
309
+ return row.getValue(id).toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
325
310
  };
326
311
 
327
312
  notEquals.autoRemove = function (val) {
328
313
  return !val;
329
314
  };
330
315
 
331
- var greaterThan = function greaterThan(rows, id, filterValue) {
332
- return rows.filter(function (row) {
333
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
334
- });
316
+ var greaterThan = function greaterThan(row, id, filterValue) {
317
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) >= +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
335
318
  };
336
319
 
337
320
  greaterThan.autoRemove = function (val) {
338
321
  return !val;
339
322
  };
340
323
 
341
- var lessThan = function lessThan(rows, id, filterValue) {
342
- return rows.filter(function (row) {
343
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
344
- });
324
+ var lessThan = function lessThan(row, id, filterValue) {
325
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) <= +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
345
326
  };
346
327
 
347
328
  lessThan.autoRemove = function (val) {
348
329
  return !val;
349
330
  };
350
331
 
351
- var empty = function empty(rows, id, _filterValue) {
352
- return rows.filter(function (row) {
353
- return !row.values[id].toString().toLowerCase().trim();
354
- });
332
+ var between = function between(row, id, filterValues) {
333
+ return (['', undefined].includes(filterValues[0]) || greaterThan(row, id, filterValues[0])) && (!isNaN(+filterValues[0]) && !isNaN(+filterValues[1]) && +filterValues[0] > +filterValues[1] || ['', undefined].includes(filterValues[1]) || lessThan(row, id, filterValues[1]));
334
+ };
335
+
336
+ between.autoRemove = function (val) {
337
+ return !val;
338
+ };
339
+
340
+ var empty = function empty(row, id, _filterValue) {
341
+ return !row.getValue(id).toString().trim();
355
342
  };
356
343
 
357
344
  empty.autoRemove = function (val) {
358
345
  return !val;
359
346
  };
360
347
 
361
- var notEmpty = function notEmpty(rows, id, _filterValue) {
362
- return rows.filter(function (row) {
363
- return !!row.values[id].toString().toLowerCase().trim();
364
- });
348
+ var notEmpty = function notEmpty(row, id, _filterValue) {
349
+ return !!row.getValue(id).toString().trim();
365
350
  };
366
351
 
367
352
  notEmpty.autoRemove = function (val) {
@@ -369,12 +354,12 @@ notEmpty.autoRemove = function (val) {
369
354
  };
370
355
 
371
356
  var defaultFilterFNs = {
372
- bestMatch: bestMatch,
373
- bestMatchFirst: bestMatchFirst,
357
+ between: between,
374
358
  contains: contains,
375
359
  empty: empty,
376
360
  endsWith: endsWith,
377
361
  equals: equals,
362
+ fuzzy: fuzzy,
378
363
  greaterThan: greaterThan,
379
364
  lessThan: lessThan,
380
365
  notEmpty: notEmpty,
@@ -407,62 +392,62 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
407
392
 
408
393
  var filterOptions = React.useMemo(function () {
409
394
  return [{
410
- type: MRT_FILTER_OPTION.BEST_MATCH_FIRST,
411
- label: localization.filterBestMatchFirst,
395
+ option: MRT_FILTER_OPTION.FUZZY,
396
+ label: localization.filterFuzzy,
412
397
  divider: false,
413
- fn: bestMatchFirst
414
- }, {
415
- type: MRT_FILTER_OPTION.BEST_MATCH,
416
- label: localization.filterBestMatch,
417
- divider: !!header,
418
- fn: bestMatch
398
+ fn: fuzzy
419
399
  }, {
420
- type: MRT_FILTER_OPTION.CONTAINS,
400
+ option: MRT_FILTER_OPTION.CONTAINS,
421
401
  label: localization.filterContains,
422
402
  divider: false,
423
403
  fn: contains
424
404
  }, {
425
- type: MRT_FILTER_OPTION.STARTS_WITH,
405
+ option: MRT_FILTER_OPTION.STARTS_WITH,
426
406
  label: localization.filterStartsWith,
427
407
  divider: false,
428
408
  fn: startsWith
429
409
  }, {
430
- type: MRT_FILTER_OPTION.ENDS_WITH,
410
+ option: MRT_FILTER_OPTION.ENDS_WITH,
431
411
  label: localization.filterEndsWith,
432
412
  divider: true,
433
413
  fn: endsWith
434
414
  }, {
435
- type: MRT_FILTER_OPTION.EQUALS,
415
+ option: MRT_FILTER_OPTION.EQUALS,
436
416
  label: localization.filterEquals,
437
417
  divider: false,
438
418
  fn: equals
439
419
  }, {
440
- type: MRT_FILTER_OPTION.NOT_EQUALS,
420
+ option: MRT_FILTER_OPTION.NOT_EQUALS,
441
421
  label: localization.filterNotEquals,
442
422
  divider: true,
443
423
  fn: notEquals
444
424
  }, {
445
- type: MRT_FILTER_OPTION.GREATER_THAN,
425
+ option: MRT_FILTER_OPTION.BETWEEN,
426
+ label: localization.filterBetween,
427
+ divider: false,
428
+ fn: between
429
+ }, {
430
+ option: MRT_FILTER_OPTION.GREATER_THAN,
446
431
  label: localization.filterGreaterThan,
447
432
  divider: false,
448
433
  fn: greaterThan
449
434
  }, {
450
- type: MRT_FILTER_OPTION.LESS_THAN,
435
+ option: MRT_FILTER_OPTION.LESS_THAN,
451
436
  label: localization.filterLessThan,
452
437
  divider: true,
453
438
  fn: lessThan
454
439
  }, {
455
- type: MRT_FILTER_OPTION.EMPTY,
440
+ option: MRT_FILTER_OPTION.EMPTY,
456
441
  label: localization.filterEmpty,
457
442
  divider: false,
458
443
  fn: empty
459
444
  }, {
460
- type: MRT_FILTER_OPTION.NOT_EMPTY,
445
+ option: MRT_FILTER_OPTION.NOT_EMPTY,
461
446
  label: localization.filterNotEmpty,
462
447
  divider: false,
463
448
  fn: notEmpty
464
449
  }].filter(function (filterType) {
465
- return header ? !header.column.enabledColumnFilterOptions || header.column.enabledColumnFilterOptions.includes(filterType.type) : (!enabledGlobalFilterOptions || enabledGlobalFilterOptions.includes(filterType.type)) && [MRT_FILTER_OPTION.BEST_MATCH_FIRST, MRT_FILTER_OPTION.BEST_MATCH].includes(filterType.type);
450
+ return header ? !header.column.enabledColumnFilterOptions || header.column.enabledColumnFilterOptions.includes(filterType.option) : (!enabledGlobalFilterOptions || enabledGlobalFilterOptions.includes(filterType.option)) && [MRT_FILTER_OPTION.FUZZY, MRT_FILTER_OPTION.CONTAINS].includes(filterType.option);
466
451
  });
467
452
  }, []);
468
453
 
@@ -475,7 +460,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
475
460
  });
476
461
 
477
462
  if ([MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)) {
478
- header.column.setColumnFilterValue(' ');
463
+ header.column.setFilterValue(' ');
464
+ } else if (value === MRT_FILTER_OPTION.BETWEEN) {
465
+ header.column.setFilterValue(['', '']);
466
+ } else {
467
+ header.column.setFilterValue('');
479
468
  }
480
469
  } else {
481
470
  setCurrentGlobalFilterFn(value);
@@ -485,7 +474,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
485
474
  onSelect == null ? void 0 : onSelect();
486
475
  };
487
476
 
488
- var filterType = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
477
+ var filterOption = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
489
478
  return React__default.createElement(material.Menu, {
490
479
  anchorEl: anchorEl,
491
480
  anchorOrigin: {
@@ -500,7 +489,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
500
489
  dense: isDensePadding
501
490
  }
502
491
  }, filterOptions.map(function (_ref2, index) {
503
- var type = _ref2.type,
492
+ var option = _ref2.option,
504
493
  label = _ref2.label,
505
494
  divider = _ref2.divider,
506
495
  fn = _ref2.fn;
@@ -508,15 +497,65 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
508
497
  divider: divider,
509
498
  key: index,
510
499
  onClick: function onClick() {
511
- return handleSelectFilterType(type);
500
+ return handleSelectFilterType(option);
512
501
  },
513
- selected: type === filterType || fn === filterType,
502
+ selected: option === filterOption || fn === filterOption,
514
503
  sx: commonMenuItemStyles,
515
- value: type
504
+ value: option
516
505
  }, label);
517
506
  }));
518
507
  };
519
508
 
509
+ var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
510
+ var column = _ref.column,
511
+ tableInstance = _ref.tableInstance;
512
+ var _tableInstance$option = tableInstance.options,
513
+ PushPinIcon = _tableInstance$option.icons.PushPinIcon,
514
+ localization = _tableInstance$option.localization;
515
+
516
+ var handlePinColumn = function handlePinColumn(pinDirection) {
517
+ column.pin(pinDirection);
518
+ };
519
+
520
+ return React__default.createElement(material.Box, {
521
+ sx: {
522
+ mr: '8px'
523
+ }
524
+ }, column.getIsPinned() ? React__default.createElement(material.Tooltip, {
525
+ arrow: true,
526
+ title: localization.unpin
527
+ }, React__default.createElement(material.IconButton, {
528
+ onClick: function onClick() {
529
+ return handlePinColumn(false);
530
+ },
531
+ size: "small"
532
+ }, React__default.createElement(PushPinIcon, null))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
533
+ arrow: true,
534
+ title: localization.pinToLeft
535
+ }, React__default.createElement(material.IconButton, {
536
+ onClick: function onClick() {
537
+ return handlePinColumn('left');
538
+ },
539
+ size: "small"
540
+ }, React__default.createElement(PushPinIcon, {
541
+ style: {
542
+ transform: 'rotate(90deg)'
543
+ }
544
+ }))), React__default.createElement(material.Tooltip, {
545
+ arrow: true,
546
+ title: localization.pinToRight
547
+ }, React__default.createElement(material.IconButton, {
548
+ onClick: function onClick() {
549
+ return handlePinColumn('right');
550
+ },
551
+ size: "small"
552
+ }, React__default.createElement(PushPinIcon, {
553
+ style: {
554
+ transform: 'rotate(-90deg)'
555
+ }
556
+ })))));
557
+ };
558
+
520
559
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
521
560
  var _column$columns2;
522
561
 
@@ -552,10 +591,17 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
552
591
  };
553
592
 
554
593
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
555
- sx: _extends({}, commonMenuItemStyles$1, {
556
- pl: (column.depth + 0.5) * 2 + "rem"
557
- })
558
- }, React__default.createElement(material.FormControlLabel, {
594
+ sx: {
595
+ alignItems: 'center',
596
+ justifyContent: 'flex-start',
597
+ my: 0,
598
+ pl: (column.depth + 0.5) * 2 + "rem",
599
+ py: '6px'
600
+ }
601
+ }, !isSubMenu && column.getCanPin() && React__default.createElement(MRT_ColumnPinningButtons, {
602
+ column: column,
603
+ tableInstance: tableInstance
604
+ }), React__default.createElement(material.FormControlLabel, {
559
605
  componentsProps: {
560
606
  typography: {
561
607
  sx: {
@@ -565,8 +611,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
565
611
  },
566
612
  checked: switchChecked,
567
613
  control: React__default.createElement(material.Switch, null),
568
- disabled: isSubMenu && switchChecked || column.enableHiding === false,
569
- label: column.header,
614
+ disabled: isSubMenu && switchChecked || !column.getCanHide(),
615
+ label: column.columnDef.header,
570
616
  onChange: function onChange() {
571
617
  return handleToggleColumnHidden(column);
572
618
  }
@@ -592,7 +638,9 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
592
638
  getState = tableInstance.getState,
593
639
  toggleAllColumnsVisible = tableInstance.toggleAllColumnsVisible,
594
640
  getAllLeafColumns = tableInstance.getAllLeafColumns,
595
- localization = tableInstance.options.localization;
641
+ _tableInstance$option = tableInstance.options,
642
+ localization = _tableInstance$option.localization,
643
+ enablePinning = _tableInstance$option.enablePinning;
596
644
 
597
645
  var _getState = getState(),
598
646
  isDensePadding = _getState.isDensePadding;
@@ -616,9 +664,9 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
616
664
  });
617
665
  return getIsSomeColumnsPinned() ? [].concat(dataColumns.filter(function (c) {
618
666
  return c.getIsPinned() === 'left';
619
- }), dataColumns.filter(function (c) {
667
+ }), [null], dataColumns.filter(function (c) {
620
668
  return c.getIsPinned() === false;
621
- }), dataColumns.filter(function (c) {
669
+ }), [null], dataColumns.filter(function (c) {
622
670
  return c.getIsPinned() === 'right';
623
671
  })) : dataColumns;
624
672
  }, [getAllColumns(), getState().columnPinning, getIsSomeColumnsPinned()]);
@@ -641,7 +689,12 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
641
689
  }, !isSubMenu && React__default.createElement(material.Button, {
642
690
  disabled: !getIsSomeColumnsVisible(),
643
691
  onClick: hideAllColumns
644
- }, localization.hideAll), React__default.createElement(material.Button, {
692
+ }, localization.hideAll), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
693
+ disabled: !getIsSomeColumnsPinned(),
694
+ onClick: function onClick() {
695
+ return tableInstance.resetColumnPinning(true);
696
+ }
697
+ }, localization.unpinAll), React__default.createElement(material.Button, {
645
698
  disabled: getIsAllColumnsVisible(),
646
699
  onClick: function onClick() {
647
700
  return toggleAllColumnsVisible(true);
@@ -654,11 +707,13 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
654
707
  tableInstance: tableInstance
655
708
  });
656
709
  }), React__default.createElement(material.Divider, null), allDataColumns.map(function (column, index) {
657
- return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
710
+ return column ? React__default.createElement(MRT_ShowHideColumnsMenuItems, {
658
711
  column: column,
659
712
  isSubMenu: isSubMenu,
660
713
  key: index + "-" + column.id,
661
714
  tableInstance: tableInstance
715
+ }) : React__default.createElement(material.Divider, {
716
+ key: index + "-divider"
662
717
  });
663
718
  }));
664
719
  };
@@ -720,7 +775,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
720
775
  setShowHideColumnsMenuAnchorEl = _useState2[1];
721
776
 
722
777
  var handleClearSort = function handleClearSort() {
723
- column.resetSorting();
778
+ column.clearSorting();
724
779
  setAnchorEl(null);
725
780
  };
726
781
 
@@ -746,6 +801,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
746
801
 
747
802
  var handlePinColumn = function handlePinColumn(pinDirection) {
748
803
  column.pin(pinDirection);
804
+ setAnchorEl(null);
749
805
  };
750
806
 
751
807
  var handleGroupByColumn = function handleGroupByColumn() {
@@ -757,7 +813,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
757
813
  };
758
814
 
759
815
  var handleClearFilter = function handleClearFilter() {
760
- column.setColumnFilterValue('');
816
+ column.setFilterValue('');
761
817
  setAnchorEl(null);
762
818
  };
763
819
 
@@ -810,7 +866,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
810
866
  sx: commonMenuItemStyles$1
811
867
  }, React__default.createElement(material.Box, {
812
868
  sx: commonListItemStyles
813
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.header)))), React__default.createElement(material.MenuItem, {
869
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.columnDef.header)))), React__default.createElement(material.MenuItem, {
814
870
  divider: enableColumnFilters || enableGrouping || enableHiding,
815
871
  key: 2,
816
872
  disabled: column.getIsSorted() === 'desc',
@@ -822,8 +878,8 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
822
878
  style: {
823
879
  transform: 'rotate(180deg) scaleX(-1)'
824
880
  }
825
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanColumnFilter() && [React__default.createElement(material.MenuItem, {
826
- disabled: !column.getColumnFilterValue(),
881
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
882
+ disabled: !column.getFilterValue(),
827
883
  key: 0,
828
884
  onClick: handleClearFilter,
829
885
  sx: commonMenuItemStyles$1
@@ -836,7 +892,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
836
892
  sx: commonMenuItemStyles$1
837
893
  }, React__default.createElement(material.Box, {
838
894
  sx: commonListItemStyles
839
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
895
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header))), !column.filterSelectOptions && React__default.createElement(material.IconButton, {
840
896
  onClick: handleOpenFilterModeMenu,
841
897
  onMouseEnter: handleOpenFilterModeMenu,
842
898
  size: "small",
@@ -857,7 +913,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
857
913
  sx: commonMenuItemStyles$1
858
914
  }, React__default.createElement(material.Box, {
859
915
  sx: commonListItemStyles
860
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
916
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.columnDef.header))))], enablePinning && column.getCanPin() && [React__default.createElement(material.MenuItem, {
861
917
  disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
862
918
  key: 0,
863
919
  onClick: function onClick() {
@@ -872,7 +928,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
872
928
  }
873
929
  })), localization.pinToLeft)), React__default.createElement(material.MenuItem, {
874
930
  disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
875
- key: 0,
931
+ key: 1,
876
932
  onClick: function onClick() {
877
933
  return handlePinColumn('right');
878
934
  },
@@ -886,7 +942,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
886
942
  })), localization.pinToRight)), React__default.createElement(material.MenuItem, {
887
943
  disabled: !column.getIsPinned(),
888
944
  divider: enableHiding,
889
- key: 0,
945
+ key: 2,
890
946
  onClick: function onClick() {
891
947
  return handlePinColumn(false);
892
948
  },
@@ -907,7 +963,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
907
963
  sx: commonMenuItemStyles$1
908
964
  }, React__default.createElement(material.Box, {
909
965
  sx: commonListItemStyles
910
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.header)))), React__default.createElement(material.MenuItem, {
966
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.columnDef.header)))), React__default.createElement(material.MenuItem, {
911
967
  disabled: !Object.values(columnVisibility).filter(function (visible) {
912
968
  return !visible;
913
969
  }).length,
@@ -916,7 +972,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
916
972
  sx: commonMenuItemStyles$1
917
973
  }, React__default.createElement(material.Box, {
918
974
  sx: commonListItemStyles
919
- }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.header))), React__default.createElement(material.IconButton, {
975
+ }, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.columnDef.header))), React__default.createElement(material.IconButton, {
920
976
  onClick: handleOpenShowHideColumnsMenu,
921
977
  onMouseEnter: handleOpenShowHideColumnsMenu,
922
978
  size: "small",
@@ -989,7 +1045,7 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
989
1045
  var handleCancel = function handleCancel() {
990
1046
  var _row$original;
991
1047
 
992
- row.values = (_row$original = row.original) != null ? _row$original : {};
1048
+ row._valuesCache = (_row$original = row.original) != null ? _row$original : {};
993
1049
  setCurrentEditingRow(null);
994
1050
  };
995
1051
 
@@ -1103,9 +1159,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1103
1159
  var getRowModel = tableInstance.getRowModel,
1104
1160
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1105
1161
  getState = tableInstance.getState,
1106
- getToggleAllRowsSelectedProps = tableInstance.getToggleAllRowsSelectedProps,
1107
1162
  _tableInstance$option = tableInstance.options,
1108
- isLoading = _tableInstance$option.isLoading,
1109
1163
  localization = _tableInstance$option.localization,
1110
1164
  muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1111
1165
  onSelectChange = _tableInstance$option.onSelectChange,
@@ -1116,18 +1170,14 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1116
1170
 
1117
1171
  var handleSelectChange = function handleSelectChange(event) {
1118
1172
  if (selectAll) {
1119
- var _getToggleAllRowsSele;
1120
-
1121
- getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1173
+ tableInstance.getToggleAllRowsSelectedHandler()(event);
1122
1174
  onSelectAllChange == null ? void 0 : onSelectAllChange({
1123
1175
  event: event,
1124
1176
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
1125
1177
  tableInstance: tableInstance
1126
1178
  });
1127
1179
  } else if (row) {
1128
- var _row$getToggleSelecte;
1129
-
1130
- row == null ? void 0 : (_row$getToggleSelecte = row.getToggleSelectedProps()) == null ? void 0 : _row$getToggleSelecte.onChange == null ? void 0 : _row$getToggleSelecte.onChange(event);
1180
+ row == null ? void 0 : row.getToggleSelectedHandler()(event);
1131
1181
  onSelectChange == null ? void 0 : onSelectChange({
1132
1182
  event: event,
1133
1183
  row: row,
@@ -1139,33 +1189,29 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1139
1189
  }
1140
1190
  };
1141
1191
 
1142
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1192
+ var checkboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1143
1193
  isSelectAll: !!selectAll,
1144
1194
  row: row,
1145
1195
  tableInstance: tableInstance
1146
1196
  }) : muiSelectCheckboxProps;
1147
- var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1148
-
1149
- var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
1150
-
1151
1197
  return React__default.createElement(material.Tooltip, {
1152
1198
  arrow: true,
1153
1199
  enterDelay: 1000,
1154
1200
  enterNextDelay: 1000,
1155
1201
  title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1156
1202
  }, React__default.createElement(material.Checkbox, Object.assign({
1157
- disabled: isLoading,
1203
+ checked: selectAll ? tableInstance.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1204
+ indeterminate: selectAll ? tableInstance.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1158
1205
  inputProps: {
1159
1206
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1160
1207
  },
1208
+ onChange: handleSelectChange,
1161
1209
  size: isDensePadding ? 'small' : 'medium'
1162
1210
  }, checkboxProps, {
1163
- sx: {
1211
+ sx: _extends({
1164
1212
  height: isDensePadding ? '1.75rem' : '2.25rem',
1165
1213
  width: isDensePadding ? '1.75rem' : '2.25rem'
1166
- },
1167
- onChange: handleSelectChange,
1168
- title: undefined
1214
+ }, checkboxProps == null ? void 0 : checkboxProps.sx)
1169
1215
  })));
1170
1216
  };
1171
1217
 
@@ -1546,7 +1592,6 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1546
1592
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1547
1593
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1548
1594
  getState = tableInstance.getState,
1549
- toggleColumnGrouping = tableInstance.toggleColumnGrouping,
1550
1595
  _tableInstance$option = tableInstance.options,
1551
1596
  localization = _tableInstance$option.localization,
1552
1597
  muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
@@ -1573,7 +1618,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1573
1618
  return column.id === columnId;
1574
1619
  })) == null ? void 0 : _tableInstance$getAll.header,
1575
1620
  onDelete: function onDelete() {
1576
- return toggleColumnGrouping(columnId);
1621
+ return tableInstance.getColumn(columnId).toggleGrouping();
1577
1622
  }
1578
1623
  }));
1579
1624
  })) : null;
@@ -1605,15 +1650,19 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1605
1650
 
1606
1651
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1607
1652
  var tableInstance = _ref.tableInstance;
1608
- var _tableInstance$option = tableInstance.options,
1609
- muiLinearProgressProps = _tableInstance$option.muiLinearProgressProps,
1610
- isReloading = _tableInstance$option.isReloading,
1611
- isLoading = _tableInstance$option.isLoading;
1653
+ var muiLinearProgressProps = tableInstance.options.muiLinearProgressProps,
1654
+ getState = tableInstance.getState;
1655
+
1656
+ var _getState = getState(),
1657
+ isLoading = _getState.isLoading,
1658
+ showProgressBars = _getState.showProgressBars;
1659
+
1612
1660
  var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1613
1661
  tableInstance: tableInstance
1614
1662
  }) : muiLinearProgressProps;
1615
1663
  return React__default.createElement(material.Collapse, {
1616
- "in": isReloading || isLoading,
1664
+ "in": isLoading || showProgressBars,
1665
+ mountOnEnter: true,
1617
1666
  unmountOnExit: true
1618
1667
  }, React__default.createElement(material.LinearProgress, Object.assign({
1619
1668
  "aria-label": "Loading",
@@ -1624,10 +1673,11 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1624
1673
  var commonToolbarStyles = function commonToolbarStyles(_ref) {
1625
1674
  var theme = _ref.theme;
1626
1675
  return {
1627
- backgroundColor: theme.palette.background["default"],
1628
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
1676
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1677
+ backgroundImage: 'none',
1629
1678
  display: 'grid',
1630
1679
  p: '0 !important',
1680
+ transition: 'all 0.2s ease-in-out',
1631
1681
  width: '100%',
1632
1682
  zIndex: 1
1633
1683
  };
@@ -1743,9 +1793,10 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1743
1793
  };
1744
1794
 
1745
1795
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1746
- var _column$getColumnFilt, _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1796
+ var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1747
1797
 
1748
1798
  var header = _ref.header,
1799
+ inputIndex = _ref.inputIndex,
1749
1800
  tableInstance = _ref.tableInstance;
1750
1801
  var getState = tableInstance.getState,
1751
1802
  _tableInstance$option = tableInstance.options,
@@ -1776,14 +1827,22 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1776
1827
 
1777
1828
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
1778
1829
 
1779
- var _useState2 = React.useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
1830
+ var _useState2 = React.useState(function () {
1831
+ var _column$getFilterValu, _column$getFilterValu2, _column$getFilterValu3;
1832
+
1833
+ return inputIndex !== undefined ? (_column$getFilterValu = (_column$getFilterValu2 = column.getFilterValue()) == null ? void 0 : _column$getFilterValu2[inputIndex]) != null ? _column$getFilterValu : '' : (_column$getFilterValu3 = column.getFilterValue()) != null ? _column$getFilterValu3 : '';
1834
+ }),
1780
1835
  filterValue = _useState2[0],
1781
1836
  setFilterValue = _useState2[1];
1782
1837
 
1783
- var handleChange = React.useCallback(material.debounce(function (event) {
1838
+ var handleChangeDebounced = React.useCallback(material.debounce(function (event) {
1784
1839
  var _event$target$value;
1785
1840
 
1786
- return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1841
+ return inputIndex !== undefined ? column.setFilterValue(function (old) {
1842
+ var newFilterValues = old != null ? old : ['', ''];
1843
+ newFilterValues[inputIndex] = event.target.value;
1844
+ return newFilterValues;
1845
+ }) : column.setFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1787
1846
  }, 150), []);
1788
1847
 
1789
1848
  var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
@@ -1792,16 +1851,25 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1792
1851
 
1793
1852
  var handleClear = function handleClear() {
1794
1853
  setFilterValue('');
1795
- column.setColumnFilterValue(undefined);
1854
+
1855
+ if (inputIndex !== undefined) {
1856
+ column.setFilterValue(function (old) {
1857
+ var newFilterValues = old != null ? old : ['', ''];
1858
+ newFilterValues[inputIndex] = undefined;
1859
+ return newFilterValues;
1860
+ });
1861
+ } else {
1862
+ column.setFilterValue(undefined);
1863
+ }
1796
1864
  };
1797
1865
 
1798
1866
  var handleClearFilterChip = function handleClearFilterChip() {
1799
1867
  setFilterValue('');
1800
- column.setColumnFilterValue(undefined);
1868
+ column.setFilterValue(undefined);
1801
1869
  setCurrentFilterFns(function (prev) {
1802
1870
  var _extends2;
1803
1871
 
1804
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.BEST_MATCH, _extends2));
1872
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.FUZZY, _extends2));
1805
1873
  });
1806
1874
  };
1807
1875
 
@@ -1812,12 +1880,12 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1812
1880
  }));
1813
1881
  }
1814
1882
 
1815
- var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field";
1883
+ var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field" + (inputIndex != null ? inputIndex : '');
1816
1884
  var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
1817
1885
  var isSelectFilter = !!column.filterSelectOptions;
1818
1886
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1819
1887
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
1820
- var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header));
1888
+ var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
1821
1889
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
1822
1890
  fullWidth: true,
1823
1891
  id: filterId,
@@ -1829,23 +1897,24 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1829
1897
  },
1830
1898
  title: filterPlaceholder
1831
1899
  },
1832
- helperText: React__default.createElement("label", {
1900
+ helperText: !inputIndex ? React__default.createElement("label", {
1833
1901
  htmlFor: filterId
1834
1902
  }, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
1835
1903
  (_localization$ = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
1836
- localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])),
1904
+ localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
1837
1905
  FormHelperTextProps: {
1838
1906
  sx: {
1839
1907
  fontSize: '0.6rem',
1840
- lineHeight: '0.8rem'
1908
+ lineHeight: '0.8rem',
1909
+ whiteSpace: 'nowrap'
1841
1910
  }
1842
1911
  },
1843
1912
  label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
1844
1913
  margin: "none",
1845
- placeholder: filterPlaceholder,
1914
+ placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
1846
1915
  onChange: function onChange(event) {
1847
1916
  setFilterValue(event.target.value);
1848
- handleChange(event);
1917
+ handleChangeDebounced(event);
1849
1918
  },
1850
1919
  onClick: function onClick(e) {
1851
1920
  return e.stopPropagation();
@@ -1854,7 +1923,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1854
1923
  value: filterValue != null ? filterValue : '',
1855
1924
  variant: "standard",
1856
1925
  InputProps: {
1857
- startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
1926
+ startAdornment: !isSelectFilter && !inputIndex && React__default.createElement(material.InputAdornment, {
1858
1927
  position: "start"
1859
1928
  }, React__default.createElement(material.Tooltip, {
1860
1929
  arrow: true,
@@ -1893,7 +1962,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1893
1962
  sx: _extends({
1894
1963
  m: '-0.25rem',
1895
1964
  p: 0,
1896
- minWidth: !filterChipLabel ? '5rem' : 'auto',
1965
+ minWidth: !filterChipLabel ? '6rem' : 'auto',
1897
1966
  width: 'calc(100% + 0.5rem)',
1898
1967
  mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
1899
1968
  '& .MuiSelect-icon': {
@@ -1988,8 +2057,34 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
1988
2057
  }));
1989
2058
  };
1990
2059
 
2060
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2061
+ var header = _ref.header,
2062
+ tableInstance = _ref.tableInstance;
2063
+ var localization = tableInstance.options.localization;
2064
+ return React__default.createElement(material.Box, {
2065
+ sx: {
2066
+ display: 'grid',
2067
+ gridTemplateColumns: '6fr auto 5fr'
2068
+ }
2069
+ }, React__default.createElement(MRT_FilterTextField, {
2070
+ header: header,
2071
+ inputIndex: 0,
2072
+ tableInstance: tableInstance
2073
+ }), React__default.createElement(material.Box, {
2074
+ sx: {
2075
+ width: '100%',
2076
+ minWidth: '5ch',
2077
+ textAlign: 'center'
2078
+ }
2079
+ }, localization.to), React__default.createElement(MRT_FilterTextField, {
2080
+ header: header,
2081
+ inputIndex: 1,
2082
+ tableInstance: tableInstance
2083
+ }));
2084
+ };
2085
+
1991
2086
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
1992
- var _getState2, _getState2$currentFil, _column$Header;
2087
+ var _getState2, _getState2$currentFil, _column$columnDef$Hea, _column$columnDef, _column$columnDef$hea, _column$columnDef$hea2;
1993
2088
 
1994
2089
  var header = _ref.header,
1995
2090
  tableInstance = _ref.tableInstance;
@@ -2006,6 +2101,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2006
2101
  setShowFilters = tableInstance.setShowFilters;
2007
2102
 
2008
2103
  var _getState = getState(),
2104
+ currentFilterFns = _getState.currentFilterFns,
2009
2105
  isDensePadding = _getState.isDensePadding,
2010
2106
  showFilters = _getState.showFilters;
2011
2107
 
@@ -2019,36 +2115,53 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2019
2115
  tableInstance: tableInstance
2020
2116
  }) : column.muiTableHeadCellProps;
2021
2117
 
2022
- var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2118
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2023
2119
 
2024
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
2120
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2025
2121
  var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2026
- var filterTooltip = !!column.getColumnFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2027
- localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', column.getColumnFilterValue()).replace('" "', '') : localization.showHideFilters;
2028
- var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2122
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2123
+ localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', "\"" + (Array.isArray(column.getFilterValue()) ? column.getFilterValue().join("\" " + localization.and + " \"") : column.getFilterValue()) + "\"").replace('" "', '') : localization.showHideFilters;
2124
+ var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
2029
2125
  header: header,
2030
2126
  tableInstance: tableInstance
2031
- })) != null ? _column$Header : column.header;
2127
+ })) != null ? _column$columnDef$Hea : header.renderHeader();
2128
+
2129
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2130
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2131
+ };
2132
+
2133
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2134
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2135
+ };
2136
+
2137
+ var getTotalRight = function getTotalRight() {
2138
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2139
+ };
2140
+
2032
2141
  return React__default.createElement(material.TableCell, Object.assign({
2033
- align: column.columnDefType === 'group' ? 'center' : 'left'
2142
+ align: column.columnDefType === 'group' ? 'center' : 'left',
2143
+ colSpan: header.colSpan
2034
2144
  }, tableCellProps, {
2035
- //@ts-ignore
2036
2145
  sx: function sx(theme) {
2037
2146
  return _extends({
2038
- backgroundColor: theme.palette.background["default"],
2039
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2147
+ backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2148
+ backgroundImage: 'inherit',
2149
+ boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
2040
2150
  fontWeight: 'bold',
2041
2151
  height: '100%',
2042
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2043
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2152
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2153
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2154
+ minWidth: "max(" + column.getSize() + "px, " + column.minSize + "px)",
2155
+ overflow: 'visible',
2044
2156
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2045
- pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2046
2157
  pb: column.columnDefType === 'display' ? 0 : undefined,
2047
- overflow: 'visible',
2158
+ position: column.getIsPinned() && column.columnDefType !== 'group' ? 'sticky' : undefined,
2159
+ pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2160
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2048
2161
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2049
2162
  verticalAlign: 'text-top',
2050
- width: header.getWidth(),
2051
- zIndex: column.getIsResizing() ? 2 : 1
2163
+ width: header.getSize(),
2164
+ zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2052
2165
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2053
2166
  }
2054
2167
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
@@ -2067,7 +2180,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2067
2180
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2068
2181
  display: 'flex',
2069
2182
  flexWrap: 'nowrap',
2070
- whiteSpace: column.header.length < 24 ? 'nowrap' : 'normal'
2183
+ whiteSpace: ((_column$columnDef$hea = (_column$columnDef$hea2 = column.columnDef.header) == null ? void 0 : _column$columnDef$hea2.length) != null ? _column$columnDef$hea : 0) < 24 ? 'nowrap' : 'normal'
2071
2184
  }
2072
2185
  }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React__default.createElement(material.Tooltip, {
2073
2186
  arrow: true,
@@ -2077,7 +2190,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2077
2190
  "aria-label": sortTooltip,
2078
2191
  active: !!column.getIsSorted(),
2079
2192
  direction: column.getIsSorted() ? column.getIsSorted() : undefined
2080
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanColumnFilter() && React__default.createElement(material.Tooltip, {
2193
+ })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React__default.createElement(material.Tooltip, {
2081
2194
  arrow: true,
2082
2195
  placement: "top",
2083
2196
  title: filterTooltip
@@ -2090,7 +2203,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2090
2203
  size: "small",
2091
2204
  sx: {
2092
2205
  m: 0,
2093
- opacity: !!column.getColumnFilterValue() ? 0.8 : 0,
2206
+ opacity: !!column.getFilterValue() ? 0.8 : 0,
2094
2207
  p: '2px',
2095
2208
  transition: 'all 0.2s ease-in-out',
2096
2209
  '&:hover': {
@@ -2098,14 +2211,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2098
2211
  opacity: 0.8
2099
2212
  }
2100
2213
  }
2101
- }, showFilters && !column.getColumnFilterValue() ? React__default.createElement(FilterAltOff, null) : React__default.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
2214
+ }, showFilters && !column.getFilterValue() ? React__default.createElement(FilterAltOff, null) : React__default.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
2102
2215
  header: header,
2103
2216
  tableInstance: tableInstance
2104
2217
  }), column.getCanResize() && React__default.createElement(material.Divider, Object.assign({
2105
2218
  flexItem: true,
2106
2219
  orientation: "vertical",
2107
2220
  onDoubleClick: function onDoubleClick() {
2108
- return header.resetSize();
2221
+ return column.resetSize();
2109
2222
  },
2110
2223
  sx: function sx(theme) {
2111
2224
  return {
@@ -2126,15 +2239,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2126
2239
  }
2127
2240
  };
2128
2241
  }
2129
- }, header.getResizerProps(function (props) {
2130
- return _extends({}, props, {
2131
- style: {
2132
- transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : ''
2133
- }
2134
- });
2135
- })))), column.columnDefType === 'data' && column.getCanColumnFilter() && React__default.createElement(material.Collapse, {
2136
- "in": showFilters
2137
- }, React__default.createElement(MRT_FilterTextField, {
2242
+ }, {
2243
+ onMouseDown: header.getResizeHandler,
2244
+ onTouchStart: header.getResizeHandler
2245
+ }, {
2246
+ style: {
2247
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2248
+ }
2249
+ }))), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(material.Collapse, {
2250
+ "in": showFilters,
2251
+ mountOnEnter: true,
2252
+ unmountOnExit: true
2253
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React__default.createElement(MRT_FilterRangeFields, {
2254
+ header: header,
2255
+ tableInstance: tableInstance
2256
+ }) : React__default.createElement(MRT_FilterTextField, {
2138
2257
  header: header,
2139
2258
  tableInstance: tableInstance
2140
2259
  })));
@@ -2144,17 +2263,15 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2144
2263
  var headerGroup = _ref.headerGroup,
2145
2264
  tableInstance = _ref.tableInstance;
2146
2265
  var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2147
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2266
+ var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2148
2267
  headerGroup: headerGroup,
2149
2268
  tableInstance: tableInstance
2150
2269
  }) : muiTableHeadRowProps;
2151
-
2152
- var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2153
-
2154
2270
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps, {
2155
2271
  sx: function sx(theme) {
2156
2272
  return _extends({
2157
- boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1)
2273
+ boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1),
2274
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.04)
2158
2275
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2159
2276
  }
2160
2277
  }), headerGroup.headers.map(function (header, index) {
@@ -2167,26 +2284,16 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2167
2284
  };
2168
2285
 
2169
2286
  var MRT_TableHead = function MRT_TableHead(_ref) {
2170
- var pinned = _ref.pinned,
2171
- tableInstance = _ref.tableInstance;
2172
- var getCenterHeaderGroups = tableInstance.getCenterHeaderGroups,
2173
- getHeaderGroups = tableInstance.getHeaderGroups,
2174
- getLeftHeaderGroups = tableInstance.getLeftHeaderGroups,
2175
- getRightHeaderGroups = tableInstance.getRightHeaderGroups,
2287
+ var tableInstance = _ref.tableInstance;
2288
+ var getHeaderGroups = tableInstance.getHeaderGroups,
2176
2289
  muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2177
2290
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2178
2291
  tableInstance: tableInstance
2179
2292
  }) : muiTableHeadProps;
2180
- var getHeaderGroupsMap = {
2181
- center: getCenterHeaderGroups,
2182
- left: getLeftHeaderGroups,
2183
- none: getHeaderGroups,
2184
- right: getRightHeaderGroups
2185
- };
2186
- return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroupsMap[pinned]().map(function (headerGroup) {
2293
+ return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2187
2294
  return React__default.createElement(MRT_TableHeadRow, {
2188
2295
  headerGroup: headerGroup,
2189
- key: headerGroup.getHeaderGroupProps().key,
2296
+ key: headerGroup.id,
2190
2297
  tableInstance: tableInstance
2191
2298
  });
2192
2299
  }));
@@ -2205,7 +2312,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2205
2312
  setCurrentEditingCell = tableInstance.setCurrentEditingCell,
2206
2313
  setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2207
2314
 
2208
- var _useState = React.useState(cell.value),
2315
+ var _useState = React.useState(cell.getValue()),
2209
2316
  value = _useState[0],
2210
2317
  setValue = _useState[1];
2211
2318
 
@@ -2228,7 +2335,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2228
2335
 
2229
2336
  var handleBlur = function handleBlur(event) {
2230
2337
  if (getState().currentEditingRow) {
2231
- row.values[column.id] = value;
2338
+ row._valuesCache[column.id] = value;
2232
2339
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2233
2340
  }
2234
2341
 
@@ -2271,7 +2378,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2271
2378
  onClick: function onClick(e) {
2272
2379
  return e.stopPropagation();
2273
2380
  },
2274
- placeholder: column.header,
2381
+ placeholder: column.columnDef.header,
2275
2382
  value: value,
2276
2383
  variant: "standard"
2277
2384
  }, textFieldProps));
@@ -2317,7 +2424,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2317
2424
  }, React__default.createElement(material.Button, Object.assign({
2318
2425
  "aria-label": localization.clickToCopy,
2319
2426
  onClick: function onClick() {
2320
- return handleCopy(cell.value);
2427
+ return handleCopy(cell.getValue());
2321
2428
  },
2322
2429
  size: "small"
2323
2430
  }, buttonProps, {
@@ -2339,19 +2446,17 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2339
2446
  };
2340
2447
 
2341
2448
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2342
- var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2449
+ var _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2343
2450
 
2344
2451
  var cell = _ref.cell,
2452
+ enableHover = _ref.enableHover,
2345
2453
  tableInstance = _ref.tableInstance;
2346
- var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2347
- getState = tableInstance.getState,
2454
+ var getState = tableInstance.getState,
2348
2455
  _tableInstance$option = tableInstance.options,
2349
2456
  editingMode = _tableInstance$option.editingMode,
2350
2457
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2351
2458
  enableEditing = _tableInstance$option.enableEditing,
2352
- enablePinning = _tableInstance$option.enablePinning,
2353
2459
  idPrefix = _tableInstance$option.idPrefix,
2354
- isLoading = _tableInstance$option.isLoading,
2355
2460
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
2356
2461
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
2357
2462
  onCellClick = _tableInstance$option.onCellClick,
@@ -2360,7 +2465,9 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2360
2465
  var _getState = getState(),
2361
2466
  currentEditingCell = _getState.currentEditingCell,
2362
2467
  currentEditingRow = _getState.currentEditingRow,
2363
- isDensePadding = _getState.isDensePadding;
2468
+ isDensePadding = _getState.isDensePadding,
2469
+ isLoading = _getState.isLoading,
2470
+ showSkeletons = _getState.showSkeletons;
2364
2471
 
2365
2472
  var column = cell.column,
2366
2473
  row = cell.row;
@@ -2373,11 +2480,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2373
2480
  tableInstance: tableInstance
2374
2481
  }) : column.muiTableBodyCellProps;
2375
2482
 
2376
- var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2483
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
2377
2484
 
2378
2485
  var skeletonWidth = React.useMemo(function () {
2379
- return column.columnDefType === 'display' ? column.getWidth() / 2 : Math.random() * (column.getWidth() - column.getWidth() / 3) + column.getWidth() / 3;
2380
- }, [column.columnDefType, column.getWidth()]);
2486
+ return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
2487
+ }, [column.columnDefType, column.getSize()]);
2381
2488
  var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
2382
2489
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2383
2490
 
@@ -2395,6 +2502,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2395
2502
  }
2396
2503
  };
2397
2504
 
2505
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2506
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2507
+ };
2508
+
2509
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2510
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2511
+ };
2512
+
2513
+ var getTotalRight = function getTotalRight() {
2514
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2515
+ };
2516
+
2398
2517
  return React__default.createElement(material.TableCell, Object.assign({
2399
2518
  onClick: function onClick(event) {
2400
2519
  return onCellClick == null ? void 0 : onCellClick({
@@ -2405,21 +2524,32 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2405
2524
  },
2406
2525
  onDoubleClick: handleDoubleClick
2407
2526
  }, tableCellProps, {
2408
- sx: _extends({
2409
- cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2410
- maxWidth: "min(" + column.getWidth() + "px, fit-content)",
2411
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2412
- p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2413
- pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2414
- transition: 'all 0.2s ease-in-out',
2415
- whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal',
2416
- width: column.getWidth()
2417
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
2418
- }), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
2527
+ sx: function sx(theme) {
2528
+ return _extends({
2529
+ backgroundColor: column.getIsPinned() ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
2530
+ boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + material.alpha(theme.palette.common.black, 0.1) : undefined,
2531
+ cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2532
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2533
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2534
+ minWidth: "max" + column.getSize() + "px, " + column.minSize + "px",
2535
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2536
+ pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2537
+ position: column.getIsPinned() ? 'sticky' : 'relative',
2538
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2539
+ transition: 'all 0.2s ease-in-out',
2540
+ whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2541
+ width: column.getSize(),
2542
+ zIndex: column.getIsPinned() ? 1 : undefined,
2543
+ '&:hover': {
2544
+ backgroundColor: enableHover ? theme.palette.mode === 'dark' ? material.lighten(theme.palette.background["default"], 0.13) + " !important" : material.darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2545
+ }
2546
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
2547
+ }
2548
+ }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
2419
2549
  animation: "wave",
2420
2550
  height: 20,
2421
2551
  width: skeletonWidth
2422
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
2552
+ }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.columnDef.Cell == null ? void 0 : column.columnDef.Cell({
2423
2553
  cell: cell,
2424
2554
  tableInstance: tableInstance
2425
2555
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React__default.createElement(MRT_EditCellTextField, {
@@ -2428,13 +2558,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2428
2558
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
2429
2559
  cell: cell,
2430
2560
  tableInstance: tableInstance
2431
- }, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2561
+ }, React__default.createElement(React__default.Fragment, null, (_cell$column$columnDe = (_cell$column$columnDe2 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe2.Cell == null ? void 0 : _cell$column$columnDe2.Cell({
2432
2562
  cell: cell,
2433
2563
  tableInstance: tableInstance
2434
- })) != null ? _cell$column$Cell : cell.renderCell()), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, (_cell$column$Cell2 = (_cell$column2 = cell.column) == null ? void 0 : _cell$column2.Cell == null ? void 0 : _cell$column2.Cell({
2564
+ })) != null ? _cell$column$columnDe : cell.renderCell())), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React__default.createElement(React__default.Fragment, null, (_cell$column$columnDe3 = (_cell$column$columnDe4 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe4.Cell == null ? void 0 : _cell$column$columnDe4.Cell({
2435
2565
  cell: cell,
2436
2566
  tableInstance: tableInstance
2437
- })) != null ? _cell$column$Cell2 : cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")")));
2567
+ })) != null ? _cell$column$columnDe3 : cell.renderCell(), row.getIsGrouped() && React__default.createElement(React__default.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
2438
2568
  };
2439
2569
 
2440
2570
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2479,33 +2609,16 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
2479
2609
  };
2480
2610
 
2481
2611
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2482
- var pinned = _ref.pinned,
2483
- row = _ref.row,
2612
+ var row = _ref.row,
2484
2613
  tableInstance = _ref.tableInstance;
2485
2614
  var _tableInstance$option = tableInstance.options,
2486
2615
  muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
2487
2616
  onRowClick = _tableInstance$option.onRowClick,
2488
2617
  renderDetailPanel = _tableInstance$option.renderDetailPanel;
2489
- var getCenterVisibleCells = row.getCenterVisibleCells,
2490
- getIsGrouped = row.getIsGrouped,
2491
- getIsSelected = row.getIsSelected,
2492
- getLeftVisibleCells = row.getLeftVisibleCells,
2493
- getRightVisibleCells = row.getRightVisibleCells,
2494
- getRowProps = row.getRowProps,
2495
- getVisibleCells = row.getVisibleCells;
2496
- var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2618
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2497
2619
  row: row,
2498
2620
  tableInstance: tableInstance
2499
2621
  }) : muiTableBodyRowProps;
2500
-
2501
- var tableRowProps = _extends({}, getRowProps(), mTableBodyRowProps);
2502
-
2503
- var getVisibleCellsMap = {
2504
- center: getCenterVisibleCells,
2505
- left: getLeftVisibleCells,
2506
- none: getVisibleCells,
2507
- right: getRightVisibleCells
2508
- };
2509
2622
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
2510
2623
  hover: true,
2511
2624
  onClick: function onClick(event) {
@@ -2515,39 +2628,44 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2515
2628
  tableInstance: tableInstance
2516
2629
  });
2517
2630
  },
2518
- selected: getIsSelected()
2519
- }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
2631
+ selected: row.getIsSelected()
2632
+ }, tableRowProps, {
2633
+ sx: function sx(theme) {
2634
+ return _extends({
2635
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.06),
2636
+ transition: 'all 0.2s ease-in-out',
2637
+ '&:hover td': {
2638
+ backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false ? theme.palette.mode === 'dark' ? "" + material.lighten(theme.palette.background["default"], 0.12) : "" + material.darken(theme.palette.background["default"], 0.05) : undefined
2639
+ }
2640
+ }, tableRowProps == null ? void 0 : tableRowProps.sx);
2641
+ }
2642
+ }), row.getVisibleCells().map(function (cell) {
2520
2643
  return React__default.createElement(MRT_TableBodyCell, {
2521
2644
  cell: cell,
2522
- key: cell.getCellProps().key,
2645
+ key: cell.id,
2646
+ enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2523
2647
  tableInstance: tableInstance
2524
2648
  });
2525
- })), renderDetailPanel && !getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
2649
+ })), renderDetailPanel && !row.getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
2526
2650
  row: row,
2527
2651
  tableInstance: tableInstance
2528
2652
  }));
2529
2653
  };
2530
2654
 
2531
2655
  var MRT_TableBody = function MRT_TableBody(_ref) {
2532
- var pinned = _ref.pinned,
2533
- tableInstance = _ref.tableInstance;
2656
+ var tableInstance = _ref.tableInstance;
2534
2657
  var getPaginationRowModel = tableInstance.getPaginationRowModel,
2535
2658
  getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2536
- getTableBodyProps = tableInstance.getTableBodyProps,
2537
2659
  _tableInstance$option = tableInstance.options,
2538
2660
  enablePagination = _tableInstance$option.enablePagination,
2539
2661
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
2540
2662
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
2541
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2663
+ var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2542
2664
  tableInstance: tableInstance
2543
2665
  }) : muiTableBodyProps;
2544
-
2545
- var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2546
-
2547
2666
  return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
2548
2667
  return React__default.createElement(MRT_TableBodyRow, {
2549
- key: row.getRowProps().key,
2550
- pinned: pinned,
2668
+ key: row.id,
2551
2669
  row: row,
2552
2670
  tableInstance: tableInstance
2553
2671
  });
@@ -2555,7 +2673,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
2555
2673
  };
2556
2674
 
2557
2675
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2558
- var _ref2, _column$Footer;
2676
+ var _ref2, _column$columnDef$Foo;
2559
2677
 
2560
2678
  var footer = _ref.footer,
2561
2679
  tableInstance = _ref.tableInstance;
@@ -2577,30 +2695,30 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2577
2695
  tableInstance: tableInstance
2578
2696
  }) : column.muiTableFooterCellProps;
2579
2697
 
2580
- var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
2698
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
2581
2699
 
2582
2700
  return React__default.createElement(material.TableCell, Object.assign({
2583
2701
  align: column.columnDefType === 'group' ? 'center' : 'left',
2702
+ colSpan: footer.colSpan,
2584
2703
  variant: "head"
2585
2704
  }, tableCellProps, {
2586
- //@ts-ignore
2587
2705
  sx: function sx(theme) {
2588
2706
  return _extends({
2589
2707
  backgroundColor: theme.palette.background["default"],
2590
2708
  backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2591
2709
  fontWeight: 'bold',
2592
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2593
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2710
+ maxWidth: column.getSize() + "px",
2711
+ minWidth: column.getSize() + "px",
2594
2712
  p: isDensePadding ? '0.5rem' : '1rem',
2595
2713
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
2596
- width: column.getWidth(),
2714
+ width: column.getSize(),
2597
2715
  verticalAlign: 'text-top'
2598
2716
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2599
2717
  }
2600
- }), footer.isPlaceholder ? null : (_ref2 = (_column$Footer = column.Footer == null ? void 0 : column.Footer({
2718
+ }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2601
2719
  footer: footer,
2602
2720
  tableInstance: tableInstance
2603
- })) != null ? _column$Footer : column.footer) != null ? _ref2 : null);
2721
+ })) != null ? _column$columnDef$Foo : footer.renderFooter()) != null ? _ref2 : null));
2604
2722
  };
2605
2723
 
2606
2724
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -2611,107 +2729,69 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2611
2729
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2612
2730
 
2613
2731
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2614
- return h.column.columnDef.footer || h.column.Footer;
2732
+ return typeof h.column.columnDef.footer === 'string' && !!h.column.columnDef.footer || h.column.columnDef.Footer;
2615
2733
  }))) return null;
2616
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2734
+ var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2617
2735
  footerGroup: footerGroup,
2618
2736
  tableInstance: tableInstance
2619
2737
  }) : muiTableFooterRowProps;
2620
-
2621
- var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
2622
-
2623
2738
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
2624
2739
  return React__default.createElement(MRT_TableFooterCell, {
2625
2740
  footer: footer,
2626
- key: footer.getFooterProps().key,
2741
+ key: footer.id,
2627
2742
  tableInstance: tableInstance
2628
2743
  });
2629
2744
  }));
2630
2745
  };
2631
2746
 
2632
2747
  var MRT_TableFooter = function MRT_TableFooter(_ref) {
2633
- var pinned = _ref.pinned,
2634
- tableInstance = _ref.tableInstance;
2635
- var getCenterFooterGroups = tableInstance.getCenterFooterGroups,
2636
- getFooterGroups = tableInstance.getFooterGroups,
2637
- getLeftFooterGroups = tableInstance.getLeftFooterGroups,
2638
- getRightFooterGroups = tableInstance.getRightFooterGroups,
2748
+ var tableInstance = _ref.tableInstance;
2749
+ var getFooterGroups = tableInstance.getFooterGroups,
2639
2750
  muiTableFooterProps = tableInstance.options.muiTableFooterProps;
2640
2751
  var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
2641
2752
  tableInstance: tableInstance
2642
2753
  }) : muiTableFooterProps;
2643
- var getFooterGroupsMap = {
2644
- center: getCenterFooterGroups,
2645
- left: getLeftFooterGroups,
2646
- none: getFooterGroups,
2647
- right: getRightFooterGroups
2648
- };
2649
- return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroupsMap[pinned]().map(function (footerGroup) {
2754
+ return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroups().map(function (footerGroup) {
2650
2755
  return React__default.createElement(MRT_TableFooterRow, {
2651
2756
  footerGroup: footerGroup,
2652
- key: footerGroup.getFooterGroupProps().key,
2757
+ key: footerGroup.id,
2653
2758
  tableInstance: tableInstance
2654
2759
  });
2655
2760
  }));
2656
2761
  };
2657
2762
 
2658
2763
  var MRT_Table = function MRT_Table(_ref) {
2659
- var pinned = _ref.pinned,
2660
- tableInstance = _ref.tableInstance;
2661
- var getTableProps = tableInstance.getTableProps,
2662
- _tableInstance$option = tableInstance.options,
2663
- muiTableProps = _tableInstance$option.muiTableProps,
2664
- enableTableHead = _tableInstance$option.enableTableHead,
2764
+ var tableInstance = _ref.tableInstance;
2765
+ var _tableInstance$option = tableInstance.options,
2766
+ enableStickyHeader = _tableInstance$option.enableStickyHeader,
2665
2767
  enableTableFooter = _tableInstance$option.enableTableFooter,
2666
- enableStickyHeader = _tableInstance$option.enableStickyHeader;
2667
- var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2768
+ enableTableHead = _tableInstance$option.enableTableHead,
2769
+ muiTableProps = _tableInstance$option.muiTableProps;
2770
+ var tableProps = muiTableProps instanceof Function ? muiTableProps({
2668
2771
  tableInstance: tableInstance
2669
2772
  }) : muiTableProps;
2670
-
2671
- var tableProps = _extends({}, getTableProps(), mTableProps);
2672
-
2673
2773
  return React__default.createElement(material.Table, Object.assign({
2674
2774
  stickyHeader: enableStickyHeader
2675
2775
  }, tableProps), enableTableHead && React__default.createElement(MRT_TableHead, {
2676
- pinned: pinned,
2677
2776
  tableInstance: tableInstance
2678
2777
  }), React__default.createElement(MRT_TableBody, {
2679
- pinned: pinned,
2680
2778
  tableInstance: tableInstance
2681
2779
  }), enableTableFooter && React__default.createElement(MRT_TableFooter, {
2682
- pinned: pinned,
2683
2780
  tableInstance: tableInstance
2684
2781
  }));
2685
2782
  };
2686
2783
 
2687
- var commonBoxStyles = function commonBoxStyles(_ref) {
2688
- var pinned = _ref.pinned,
2689
- theme = _ref.theme,
2690
- visible = _ref.visible;
2691
- return {
2692
- display: 'grid',
2693
- minWidth: visible ? '200px' : 0,
2694
- overflowX: pinned ? 'scroll' : 'auto',
2695
- boxShadow: pinned === 'left' ? "0 1px 12px " + material.alpha(theme.palette.common.black, 0.5) : pinned === 'right' ? "0 -1px 12px " + material.alpha(theme.palette.common.black, 0.5) : 'none'
2696
- };
2697
- };
2698
-
2699
- var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2700
- var tableInstance = _ref2.tableInstance;
2701
- var getCenterTableWidth = tableInstance.getCenterTableWidth,
2702
- getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2703
- getLeftTableWidth = tableInstance.getLeftTableWidth,
2704
- getRightTableWidth = tableInstance.getRightTableWidth,
2705
- getState = tableInstance.getState,
2784
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
2785
+ var MRT_TableContainer = function MRT_TableContainer(_ref) {
2786
+ var tableInstance = _ref.tableInstance;
2787
+ var getState = tableInstance.getState,
2706
2788
  _tableInstance$option = tableInstance.options,
2707
- enablePinning = _tableInstance$option.enablePinning,
2708
2789
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2709
2790
  idPrefix = _tableInstance$option.idPrefix,
2710
2791
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
2711
2792
 
2712
2793
  var _getState = getState(),
2713
- isFullScreen = _getState.isFullScreen,
2714
- columnPinning = _getState.columnPinning;
2794
+ isFullScreen = _getState.isFullScreen;
2715
2795
 
2716
2796
  var _useState = React.useState(0),
2717
2797
  totalToolbarHeight = _useState[0],
@@ -2720,7 +2800,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2720
2800
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2721
2801
  tableInstance: tableInstance
2722
2802
  }) : muiTableContainerProps;
2723
- React.useEffect(function () {
2803
+ useIsomorphicLayoutEffect(function () {
2724
2804
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
2725
2805
 
2726
2806
  var topToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB = (_document = document) == null ? void 0 : (_document$getElementB2 = _document.getElementById("mrt-" + idPrefix + "-toolbar-top")) == null ? void 0 : _document$getElementB2.offsetHeight) != null ? _document$getElementB : 0 : 0;
@@ -2736,48 +2816,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2736
2816
  style: {
2737
2817
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
2738
2818
  }
2739
- }), enablePinning && getIsSomeColumnsPinned() ? React__default.createElement(material.Box, {
2740
- sx: {
2741
- display: 'grid',
2742
- gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
2743
- }
2744
- }, React__default.createElement(material.Box, {
2745
- sx: function sx(theme) {
2746
- var _columnPinning$left;
2747
-
2748
- return commonBoxStyles({
2749
- pinned: 'left',
2750
- theme: theme,
2751
- visible: !!((_columnPinning$left = columnPinning.left) != null && _columnPinning$left.length)
2752
- });
2753
- }
2754
- }, React__default.createElement(MRT_Table, {
2755
- pinned: "left",
2756
- tableInstance: tableInstance
2757
- })), React__default.createElement(material.Box, {
2758
- sx: function sx(theme) {
2759
- return commonBoxStyles({
2760
- theme: theme
2761
- });
2762
- }
2763
- }, React__default.createElement(MRT_Table, {
2764
- pinned: "center",
2765
- tableInstance: tableInstance
2766
- })), React__default.createElement(material.Box, {
2767
- sx: function sx(theme) {
2768
- var _columnPinning$right;
2769
-
2770
- return commonBoxStyles({
2771
- pinned: 'right',
2772
- theme: theme,
2773
- visible: !!((_columnPinning$right = columnPinning.right) != null && _columnPinning$right.length)
2774
- });
2775
- }
2776
- }, React__default.createElement(MRT_Table, {
2777
- pinned: "right",
2778
- tableInstance: tableInstance
2779
- }))) : React__default.createElement(MRT_Table, {
2780
- pinned: "none",
2819
+ }), React__default.createElement(MRT_Table, {
2781
2820
  tableInstance: tableInstance
2782
2821
  }));
2783
2822
  };
@@ -2879,7 +2918,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
2879
2918
  };
2880
2919
 
2881
2920
  var MRT_TableRoot = function MRT_TableRoot(props) {
2882
- var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _initialState$paginat, _initialState$paginat2, _initialState$paginat3, _initialState$paginat4, _initialState$paginat5, _initialState$paginat6, _props$globalFilterFn;
2921
+ var _initialState$current, _initialState$current2, _initialState$isDense, _initialState$isFullS, _initialState$showFil, _initialState$showGlo, _initialState$paginat, _initialState$paginat2, _initialState$paginat3, _initialState$paginat4, _initialState$paginat5, _props$globalFilterFn, _props$state3, _props$state4;
2883
2922
 
2884
2923
  var _useState = React.useState(props.idPrefix),
2885
2924
  idPrefix = _useState[0],
@@ -2943,7 +2982,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2943
2982
  var _useState8 = React.useState({
2944
2983
  pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
2945
2984
  pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
2946
- pageCount: (_initialState$paginat5 = initialState == null ? void 0 : (_initialState$paginat6 = initialState.pagination) == null ? void 0 : _initialState$paginat6.pageCount) != null ? _initialState$paginat5 : -1
2985
+ pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
2947
2986
  }),
2948
2987
  pagination = _useState8[0],
2949
2988
  setPagination = _useState8[1];
@@ -2952,13 +2991,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2952
2991
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
2953
2992
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
2954
2993
 
2955
- return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_OPTION.EQUALS : MRT_FILTER_OPTION.BEST_MATCH, _ref2;
2994
+ return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filterFn = c.filterFn) != null ? _c$filterFn : initialState == null ? void 0 : (_initialState$current3 = initialState.currentFilterFns) == null ? void 0 : _initialState$current3[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_OPTION.EQUALS : MRT_FILTER_OPTION.FUZZY, _ref2;
2956
2995
  })));
2957
2996
  }),
2958
2997
  currentFilterFns = _useState9[0],
2959
2998
  setCurrentFilterFns = _useState9[1];
2960
2999
 
2961
- var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.BEST_MATCH_FIRST),
3000
+ var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
2962
3001
  currentGlobalFilterFn = _useState10[0],
2963
3002
  setCurrentGlobalFilterFn = _useState10[1];
2964
3003
 
@@ -2978,9 +3017,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2978
3017
  },
2979
3018
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
2980
3019
  id: 'mrt-row-actions',
2981
- maxWidth: 60,
2982
- width: 60
2983
- }), (props.enableExpanded || props.enableGrouping) && createDisplayColumn(table, {
3020
+ size: 60
3021
+ }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
2984
3022
  Cell: function Cell(_ref4) {
2985
3023
  var cell = _ref4.cell;
2986
3024
  return React__default.createElement(MRT_ExpandButton, {
@@ -2995,8 +3033,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2995
3033
  },
2996
3034
  header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
2997
3035
  id: 'mrt-expand',
2998
- maxWidth: 40,
2999
- width: 40
3036
+ size: 50
3000
3037
  }), props.enableRowSelection && createDisplayColumn(table, {
3001
3038
  Cell: function Cell(_ref5) {
3002
3039
  var cell = _ref5.cell;
@@ -3013,8 +3050,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3013
3050
  },
3014
3051
  header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3015
3052
  id: 'mrt-select',
3016
- maxWidth: 40,
3017
- width: 40
3053
+ size: 50
3018
3054
  }), props.enableRowNumbers && createDisplayColumn(table, {
3019
3055
  Cell: function Cell(_ref6) {
3020
3056
  var cell = _ref6.cell;
@@ -3027,39 +3063,39 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3027
3063
  },
3028
3064
  header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3029
3065
  id: 'mrt-row-numbers',
3030
- maxWidth: 40,
3031
- width: 40,
3032
- minWidth: 40
3066
+ size: 50
3033
3067
  })].filter(Boolean);
3034
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3068
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3035
3069
  var columns = React.useMemo(function () {
3036
- return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3070
+ return [].concat(displayColumns, props.columns.map(function (column) {
3037
3071
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3038
- })));
3072
+ }));
3039
3073
  }, [table, props.columns, currentFilterFns]);
3040
3074
  var data = React.useMemo(function () {
3041
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3075
+ var _props$state, _props$state2;
3076
+
3077
+ return ((_props$state = props.state) != null && _props$state.isLoading || (_props$state2 = props.state) != null && _props$state2.showSkeletons) && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3042
3078
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3043
3079
  var _ref7;
3044
3080
 
3045
3081
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3046
3082
  })));
3047
3083
  }) : props.data;
3048
- }, [props.data, props.isLoading]); //@ts-ignore
3084
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3049
3085
 
3050
3086
  var tableInstance = _extends({}, reactTable.useTableInstance(table, _extends({
3051
- //@ts-ignore
3052
3087
  filterFns: defaultFilterFNs,
3053
- getColumnFilteredRowModel: reactTable.getColumnFilteredRowModelSync(),
3054
- getCoreRowModel: reactTable.getCoreRowModelSync(),
3088
+ getCoreRowModel: reactTable.getCoreRowModel(),
3055
3089
  getExpandedRowModel: reactTable.getExpandedRowModel(),
3056
- getGlobalFilteredRowModel: reactTable.getGlobalFilteredRowModelSync(),
3057
- getGroupedRowModel: reactTable.getGroupedRowModelSync(),
3090
+ getFacetedRowModel: reactTable.getFacetedRowModel(),
3091
+ getFilteredRowModel: reactTable.getFilteredRowModel(),
3092
+ getGroupedRowModel: reactTable.getGroupedRowModel(),
3058
3093
  getPaginationRowModel: reactTable.getPaginationRowModel(),
3059
- getSortedRowModel: reactTable.getSortedRowModelSync(),
3060
- getSubRows: function getSubRows(originalRow) {
3061
- return originalRow.subRows;
3094
+ getSortedRowModel: reactTable.getSortedRowModel(),
3095
+ getSubRows: function getSubRows(row) {
3096
+ return row == null ? void 0 : row.subRows;
3062
3097
  },
3098
+ //@ts-ignore
3063
3099
  globalFilterFn: currentGlobalFilterFn,
3064
3100
  onPaginationChange: function onPaginationChange(updater) {
3065
3101
  return setPagination(function (old) {
@@ -3067,10 +3103,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3067
3103
  });
3068
3104
  }
3069
3105
  }, props, {
3106
+ //@ts-ignore
3070
3107
  columns: columns,
3071
3108
  data: data,
3072
3109
  idPrefix: idPrefix,
3073
- //@ts-ignore
3074
3110
  initialState: initialState,
3075
3111
  state: _extends({
3076
3112
  currentEditingCell: currentEditingCell,
@@ -3085,12 +3121,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3085
3121
  showGlobalFilter: showGlobalFilter
3086
3122
  }, props.state)
3087
3123
  })), {
3088
- //@ts-ignore
3089
3124
  setCurrentEditingCell: setCurrentEditingCell,
3090
- //@ts-ignore
3091
3125
  setCurrentEditingRow: setCurrentEditingRow,
3092
3126
  setCurrentFilterFns: setCurrentFilterFns,
3093
- //@ts-ignore
3094
3127
  setCurrentGlobalFilterFn: setCurrentGlobalFilterFn,
3095
3128
  setIsDensePadding: setIsDensePadding,
3096
3129
  setIsFullScreen: setIsFullScreen,
@@ -3138,12 +3171,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3138
3171
  }));
3139
3172
  };
3140
3173
 
3141
- var _excluded$5 = ["autoResetExpanded", "autoResetSorting", "columnResizeMode", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3174
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3142
3175
  var MaterialReactTable = (function (_ref) {
3143
3176
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3144
3177
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3145
- _ref$autoResetSorting = _ref.autoResetSorting,
3146
- autoResetSorting = _ref$autoResetSorting === void 0 ? false : _ref$autoResetSorting,
3147
3178
  _ref$columnResizeMode = _ref.columnResizeMode,
3148
3179
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3149
3180
  _ref$editingMode = _ref.editingMode,
@@ -3170,6 +3201,8 @@ var MaterialReactTable = (function (_ref) {
3170
3201
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3171
3202
  _ref$enablePagination = _ref.enablePagination,
3172
3203
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3204
+ _ref$enablePinning = _ref.enablePinning,
3205
+ enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3173
3206
  _ref$enableSelectAll = _ref.enableSelectAll,
3174
3207
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3175
3208
  _ref$enableSorting = _ref.enableSorting,
@@ -3202,12 +3235,11 @@ var MaterialReactTable = (function (_ref) {
3202
3235
 
3203
3236
  return React__default.createElement(MRT_TableRoot, Object.assign({
3204
3237
  autoResetExpanded: autoResetExpanded,
3205
- autoResetSorting: autoResetSorting,
3206
3238
  columnResizeMode: columnResizeMode,
3207
3239
  editingMode: editingMode,
3208
3240
  enableColumnActions: enableColumnActions,
3209
- enableColumnResizing: enableColumnResizing,
3210
3241
  enableColumnFilters: enableColumnFilters,
3242
+ enableColumnResizing: enableColumnResizing,
3211
3243
  enableDensePaddingToggle: enableDensePaddingToggle,
3212
3244
  enableExpandAll: enableExpandAll,
3213
3245
  enableFilters: enableFilters,
@@ -3216,6 +3248,7 @@ var MaterialReactTable = (function (_ref) {
3216
3248
  enableHiding: enableHiding,
3217
3249
  enableMultiRowSelection: enableMultiRowSelection,
3218
3250
  enablePagination: enablePagination,
3251
+ enablePinning: enablePinning,
3219
3252
  enableSelectAll: enableSelectAll,
3220
3253
  enableSorting: enableSorting,
3221
3254
  enableStickyHeader: enableStickyHeader,