material-react-table 0.7.6 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +1 -1
  2. package/dist/MaterialReactTable.d.ts +18 -16
  3. package/dist/body/MRT_TableBody.d.ts +0 -1
  4. package/dist/body/MRT_TableBodyCell.d.ts +1 -0
  5. package/dist/body/MRT_TableBodyRow.d.ts +0 -1
  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 +6 -2
  14. package/dist/material-react-table.cjs.development.js +550 -575
  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 +553 -578
  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_ToolbarAlertBanner.d.ts +1 -0
  22. package/dist/toolbar/MRT_ToolbarTop.d.ts +3 -0
  23. package/dist/utils.d.ts +1 -1
  24. package/package.json +24 -27
  25. package/src/MaterialReactTable.tsx +24 -24
  26. package/src/body/MRT_TableBody.tsx +3 -11
  27. package/src/body/MRT_TableBodyCell.tsx +105 -51
  28. package/src/body/MRT_TableBodyRow.tsx +21 -30
  29. package/src/buttons/MRT_ColumnPinningButtons.tsx +28 -40
  30. package/src/buttons/MRT_CopyButton.tsx +5 -3
  31. package/src/buttons/MRT_EditActionButtons.tsx +1 -2
  32. package/src/buttons/MRT_ExpandAllButton.tsx +25 -18
  33. package/src/buttons/MRT_ExpandButton.tsx +27 -21
  34. package/src/enums.ts +2 -2
  35. package/src/filtersFNs.ts +71 -81
  36. package/src/footer/MRT_TableFooter.tsx +6 -16
  37. package/src/footer/MRT_TableFooterCell.tsx +16 -15
  38. package/src/footer/MRT_TableFooterRow.tsx +6 -8
  39. package/src/head/MRT_TableHead.tsx +5 -16
  40. package/src/head/MRT_TableHeadCell.tsx +120 -50
  41. package/src/head/MRT_TableHeadRow.tsx +8 -15
  42. package/src/inputs/MRT_EditCellTextField.tsx +3 -3
  43. package/src/inputs/MRT_FilterRangeFields.tsx +41 -0
  44. package/src/inputs/MRT_FilterTextField.tsx +76 -41
  45. package/src/inputs/MRT_SelectCheckbox.tsx +15 -17
  46. package/src/localization.ts +13 -5
  47. package/src/menus/MRT_ColumnActionMenu.tsx +13 -12
  48. package/src/menus/MRT_FilterOptionMenu.tsx +36 -33
  49. package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
  50. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -6
  51. package/src/table/MRT_Table.tsx +5 -16
  52. package/src/table/MRT_TableContainer.tsx +7 -78
  53. package/src/table/MRT_TableRoot.tsx +43 -51
  54. package/src/toolbar/MRT_LinearProgressBar.tsx +5 -2
  55. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +13 -28
  56. package/src/toolbar/MRT_ToolbarBottom.tsx +23 -5
  57. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +30 -29
  58. package/src/toolbar/MRT_ToolbarTop.tsx +24 -25
@@ -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,6 +125,7 @@ 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',
@@ -168,20 +171,25 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
168
171
  var tableInstance = _ref.tableInstance;
169
172
  var getIsAllRowsExpanded = tableInstance.getIsAllRowsExpanded,
170
173
  getIsSomeRowsExpanded = tableInstance.getIsSomeRowsExpanded,
174
+ getCanSomeRowsExpand = tableInstance.getCanSomeRowsExpand,
171
175
  getState = tableInstance.getState,
172
176
  _tableInstance$option = tableInstance.options,
173
177
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
174
- isLoading = _tableInstance$option.isLoading,
175
178
  localization = _tableInstance$option.localization,
179
+ renderDetailPanel = _tableInstance$option.renderDetailPanel,
176
180
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
177
181
 
178
182
  var _getState = getState(),
179
183
  isDensePadding = _getState.isDensePadding;
180
184
 
181
- return React__default.createElement(material.IconButton, {
185
+ return React__default.createElement(material.Tooltip, {
186
+ arrow: true,
187
+ enterDelay: 1000,
188
+ enterNextDelay: 1000,
189
+ title: localization.expandAll
190
+ }, React__default.createElement(material.IconButton, {
182
191
  "aria-label": localization.expandAll,
183
- disabled: isLoading,
184
- title: localization.expandAll,
192
+ disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
185
193
  onClick: function onClick() {
186
194
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
187
195
  },
@@ -194,7 +202,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
194
202
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
195
203
  transition: 'transform 0.2s'
196
204
  }
197
- }));
205
+ })));
198
206
  };
199
207
 
200
208
  var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
@@ -219,10 +227,14 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
219
227
  });
220
228
  };
221
229
 
222
- return React__default.createElement(material.IconButton, {
230
+ return React__default.createElement(material.Tooltip, {
231
+ arrow: true,
232
+ enterDelay: 1000,
233
+ enterNextDelay: 1000,
234
+ title: localization.expand
235
+ }, React__default.createElement(material.IconButton, {
223
236
  "aria-label": localization.expand,
224
237
  disabled: !row.getCanExpand() && !renderDetailPanel,
225
- title: localization.expand,
226
238
  onClick: handleToggleExpand,
227
239
  sx: {
228
240
  height: isDensePadding ? '1.75rem' : '2.25rem',
@@ -233,18 +245,18 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
233
245
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
234
246
  transition: 'transform 0.2s'
235
247
  }
236
- }));
248
+ })));
237
249
  };
238
250
 
239
251
  var MRT_FILTER_OPTION;
240
252
 
241
253
  (function (MRT_FILTER_OPTION) {
242
- MRT_FILTER_OPTION["BEST_MATCH"] = "bestMatch";
243
- MRT_FILTER_OPTION["BEST_MATCH_FIRST"] = "bestMatchFirst";
254
+ MRT_FILTER_OPTION["BETWEEN"] = "between";
244
255
  MRT_FILTER_OPTION["CONTAINS"] = "contains";
245
256
  MRT_FILTER_OPTION["EMPTY"] = "empty";
246
257
  MRT_FILTER_OPTION["ENDS_WITH"] = "endsWith";
247
258
  MRT_FILTER_OPTION["EQUALS"] = "equals";
259
+ MRT_FILTER_OPTION["FUZZY"] = "fuzzy";
248
260
  MRT_FILTER_OPTION["GREATER_THAN"] = "greaterThan";
249
261
  MRT_FILTER_OPTION["LESS_THAN"] = "lessThan";
250
262
  MRT_FILTER_OPTION["NOT_EMPTY"] = "notEmpty";
@@ -252,117 +264,92 @@ var MRT_FILTER_OPTION;
252
264
  MRT_FILTER_OPTION["STARTS_WITH"] = "startsWith";
253
265
  })(MRT_FILTER_OPTION || (MRT_FILTER_OPTION = {}));
254
266
 
255
- var bestMatchFirst = function bestMatchFirst(rows, columnIds, filterValue) {
256
- return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
257
- keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
258
- return "values." + c;
259
- }) : ["values." + columnIds]
267
+ var fuzzy = function fuzzy(row, columnId, value, addMeta) {
268
+ var itemRank = matchSorterUtils.rankItem(row.getValue(columnId), value, {
269
+ threshold: matchSorterUtils.rankings.MATCHES
260
270
  });
271
+ addMeta(itemRank);
272
+ return itemRank.passed;
261
273
  };
262
274
 
263
- bestMatchFirst.autoRemove = function (val) {
275
+ fuzzy.autoRemove = function (val) {
264
276
  return !val;
265
277
  };
266
278
 
267
- var bestMatch = function bestMatch(rows, columnIds, filterValue) {
268
- return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
269
- keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
270
- return "values." + c;
271
- }) : ["values." + columnIds],
272
- sorter: function sorter(rankedItems) {
273
- return rankedItems;
274
- }
275
- });
276
- };
277
-
278
- bestMatch.autoRemove = function (val) {
279
- return !val;
280
- };
281
-
282
- var contains = function contains(rows, id, filterValue) {
283
- return rows.filter(function (row) {
284
- return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
285
- });
279
+ var contains = function contains(row, id, filterValue) {
280
+ return row.getValue(id).toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
286
281
  };
287
282
 
288
283
  contains.autoRemove = function (val) {
289
284
  return !val;
290
285
  };
291
286
 
292
- var startsWith = function startsWith(rows, id, filterValue) {
293
- return rows.filter(function (row) {
294
- return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
295
- });
287
+ var startsWith = function startsWith(row, id, filterValue) {
288
+ return row.getValue(id).toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
296
289
  };
297
290
 
298
291
  startsWith.autoRemove = function (val) {
299
292
  return !val;
300
293
  };
301
294
 
302
- var endsWith = function endsWith(rows, id, filterValue) {
303
- return rows.filter(function (row) {
304
- return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
305
- });
295
+ var endsWith = function endsWith(row, id, filterValue) {
296
+ return row.getValue(id).toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
306
297
  };
307
298
 
308
299
  endsWith.autoRemove = function (val) {
309
300
  return !val;
310
301
  };
311
302
 
312
- var equals = function equals(rows, id, filterValue) {
313
- return rows.filter(function (row) {
314
- return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
315
- });
303
+ var equals = function equals(row, id, filterValue) {
304
+ return row.getValue(id).toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
316
305
  };
317
306
 
318
307
  equals.autoRemove = function (val) {
319
308
  return !val;
320
309
  };
321
310
 
322
- var notEquals = function notEquals(rows, id, filterValue) {
323
- return rows.filter(function (row) {
324
- return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
325
- });
311
+ var notEquals = function notEquals(row, id, filterValue) {
312
+ return row.getValue(id).toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
326
313
  };
327
314
 
328
315
  notEquals.autoRemove = function (val) {
329
316
  return !val;
330
317
  };
331
318
 
332
- var greaterThan = function greaterThan(rows, id, filterValue) {
333
- return rows.filter(function (row) {
334
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
335
- });
319
+ var greaterThan = function greaterThan(row, id, filterValue) {
320
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) >= +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
336
321
  };
337
322
 
338
323
  greaterThan.autoRemove = function (val) {
339
324
  return !val;
340
325
  };
341
326
 
342
- var lessThan = function lessThan(rows, id, filterValue) {
343
- return rows.filter(function (row) {
344
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
345
- });
327
+ var lessThan = function lessThan(row, id, filterValue) {
328
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) <= +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
346
329
  };
347
330
 
348
331
  lessThan.autoRemove = function (val) {
349
332
  return !val;
350
333
  };
351
334
 
352
- var empty = function empty(rows, id, _filterValue) {
353
- return rows.filter(function (row) {
354
- return !row.values[id].toString().toLowerCase().trim();
355
- });
335
+ var between = function between(row, id, filterValues) {
336
+ 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]));
337
+ };
338
+
339
+ between.autoRemove = function (val) {
340
+ return !val;
341
+ };
342
+
343
+ var empty = function empty(row, id, _filterValue) {
344
+ return !row.getValue(id).toString().trim();
356
345
  };
357
346
 
358
347
  empty.autoRemove = function (val) {
359
348
  return !val;
360
349
  };
361
350
 
362
- var notEmpty = function notEmpty(rows, id, _filterValue) {
363
- return rows.filter(function (row) {
364
- return !!row.values[id].toString().toLowerCase().trim();
365
- });
351
+ var notEmpty = function notEmpty(row, id, _filterValue) {
352
+ return !!row.getValue(id).toString().trim();
366
353
  };
367
354
 
368
355
  notEmpty.autoRemove = function (val) {
@@ -370,12 +357,12 @@ notEmpty.autoRemove = function (val) {
370
357
  };
371
358
 
372
359
  var defaultFilterFNs = {
373
- bestMatch: bestMatch,
374
- bestMatchFirst: bestMatchFirst,
360
+ between: between,
375
361
  contains: contains,
376
362
  empty: empty,
377
363
  endsWith: endsWith,
378
364
  equals: equals,
365
+ fuzzy: fuzzy,
379
366
  greaterThan: greaterThan,
380
367
  lessThan: lessThan,
381
368
  notEmpty: notEmpty,
@@ -408,62 +395,62 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
408
395
 
409
396
  var filterOptions = React.useMemo(function () {
410
397
  return [{
411
- type: MRT_FILTER_OPTION.BEST_MATCH_FIRST,
412
- label: localization.filterBestMatchFirst,
398
+ option: MRT_FILTER_OPTION.FUZZY,
399
+ label: localization.filterFuzzy,
413
400
  divider: false,
414
- fn: bestMatchFirst
415
- }, {
416
- type: MRT_FILTER_OPTION.BEST_MATCH,
417
- label: localization.filterBestMatch,
418
- divider: !!header,
419
- fn: bestMatch
401
+ fn: fuzzy
420
402
  }, {
421
- type: MRT_FILTER_OPTION.CONTAINS,
403
+ option: MRT_FILTER_OPTION.CONTAINS,
422
404
  label: localization.filterContains,
423
405
  divider: false,
424
406
  fn: contains
425
407
  }, {
426
- type: MRT_FILTER_OPTION.STARTS_WITH,
408
+ option: MRT_FILTER_OPTION.STARTS_WITH,
427
409
  label: localization.filterStartsWith,
428
410
  divider: false,
429
411
  fn: startsWith
430
412
  }, {
431
- type: MRT_FILTER_OPTION.ENDS_WITH,
413
+ option: MRT_FILTER_OPTION.ENDS_WITH,
432
414
  label: localization.filterEndsWith,
433
415
  divider: true,
434
416
  fn: endsWith
435
417
  }, {
436
- type: MRT_FILTER_OPTION.EQUALS,
418
+ option: MRT_FILTER_OPTION.EQUALS,
437
419
  label: localization.filterEquals,
438
420
  divider: false,
439
421
  fn: equals
440
422
  }, {
441
- type: MRT_FILTER_OPTION.NOT_EQUALS,
423
+ option: MRT_FILTER_OPTION.NOT_EQUALS,
442
424
  label: localization.filterNotEquals,
443
425
  divider: true,
444
426
  fn: notEquals
445
427
  }, {
446
- type: MRT_FILTER_OPTION.GREATER_THAN,
428
+ option: MRT_FILTER_OPTION.BETWEEN,
429
+ label: localization.filterBetween,
430
+ divider: false,
431
+ fn: between
432
+ }, {
433
+ option: MRT_FILTER_OPTION.GREATER_THAN,
447
434
  label: localization.filterGreaterThan,
448
435
  divider: false,
449
436
  fn: greaterThan
450
437
  }, {
451
- type: MRT_FILTER_OPTION.LESS_THAN,
438
+ option: MRT_FILTER_OPTION.LESS_THAN,
452
439
  label: localization.filterLessThan,
453
440
  divider: true,
454
441
  fn: lessThan
455
442
  }, {
456
- type: MRT_FILTER_OPTION.EMPTY,
443
+ option: MRT_FILTER_OPTION.EMPTY,
457
444
  label: localization.filterEmpty,
458
445
  divider: false,
459
446
  fn: empty
460
447
  }, {
461
- type: MRT_FILTER_OPTION.NOT_EMPTY,
448
+ option: MRT_FILTER_OPTION.NOT_EMPTY,
462
449
  label: localization.filterNotEmpty,
463
450
  divider: false,
464
451
  fn: notEmpty
465
452
  }].filter(function (filterType) {
466
- 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);
453
+ 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);
467
454
  });
468
455
  }, []);
469
456
 
@@ -476,7 +463,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
476
463
  });
477
464
 
478
465
  if ([MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)) {
479
- header.column.setColumnFilterValue(' ');
466
+ header.column.setFilterValue(' ');
467
+ } else if (value === MRT_FILTER_OPTION.BETWEEN) {
468
+ header.column.setFilterValue(['', '']);
469
+ } else {
470
+ header.column.setFilterValue('');
480
471
  }
481
472
  } else {
482
473
  setCurrentGlobalFilterFn(value);
@@ -486,7 +477,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
486
477
  onSelect == null ? void 0 : onSelect();
487
478
  };
488
479
 
489
- var filterType = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
480
+ var filterOption = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
490
481
  return React__default.createElement(material.Menu, {
491
482
  anchorEl: anchorEl,
492
483
  anchorOrigin: {
@@ -501,7 +492,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
501
492
  dense: isDensePadding
502
493
  }
503
494
  }, filterOptions.map(function (_ref2, index) {
504
- var type = _ref2.type,
495
+ var option = _ref2.option,
505
496
  label = _ref2.label,
506
497
  divider = _ref2.divider,
507
498
  fn = _ref2.fn;
@@ -509,11 +500,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
509
500
  divider: divider,
510
501
  key: index,
511
502
  onClick: function onClick() {
512
- return handleSelectFilterType(type);
503
+ return handleSelectFilterType(option);
513
504
  },
514
- selected: type === filterType || fn === filterType,
505
+ selected: option === filterOption || fn === filterOption,
515
506
  sx: commonMenuItemStyles,
516
- value: type
507
+ value: option
517
508
  }, label);
518
509
  }));
519
510
  };
@@ -521,52 +512,51 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
521
512
  var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
522
513
  var column = _ref.column,
523
514
  tableInstance = _ref.tableInstance;
524
- var getState = tableInstance.getState,
525
- _tableInstance$option = tableInstance.options,
515
+ var _tableInstance$option = tableInstance.options,
526
516
  PushPinIcon = _tableInstance$option.icons.PushPinIcon,
527
517
  localization = _tableInstance$option.localization;
528
518
 
529
- var _getState = getState(),
530
- columnOrder = _getState.columnOrder;
531
-
532
519
  var handlePinColumn = function handlePinColumn(pinDirection) {
533
520
  column.pin(pinDirection);
534
-
535
- if (column.columnDefType === 'display') {
536
- tableInstance.setColumnOrder([column.id].concat(columnOrder));
537
- }
538
521
  };
539
522
 
540
- var pinned = column.getIsPinned();
541
523
  return React__default.createElement(material.Box, {
542
524
  sx: {
543
525
  mr: '8px'
544
526
  }
545
- }, React__default.createElement(material.Tooltip, {
527
+ }, column.getIsPinned() ? React__default.createElement(material.Tooltip, {
528
+ arrow: true,
529
+ title: localization.unpin
530
+ }, React__default.createElement(material.IconButton, {
531
+ onClick: function onClick() {
532
+ return handlePinColumn(false);
533
+ },
534
+ size: "small"
535
+ }, React__default.createElement(PushPinIcon, null))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
546
536
  arrow: true,
547
- title: pinned === 'left' ? localization.unpin : localization.pinToLeft
537
+ title: localization.pinToLeft
548
538
  }, React__default.createElement(material.IconButton, {
549
539
  onClick: function onClick() {
550
- return handlePinColumn(pinned === 'left' ? false : 'left');
540
+ return handlePinColumn('left');
551
541
  },
552
542
  size: "small"
553
543
  }, React__default.createElement(PushPinIcon, {
554
544
  style: {
555
- transform: pinned === 'left' ? 'rotate(0)' : 'rotate(90deg)'
545
+ transform: 'rotate(90deg)'
556
546
  }
557
547
  }))), React__default.createElement(material.Tooltip, {
558
548
  arrow: true,
559
- title: pinned === 'right' ? localization.unpin : localization.pinToRight
549
+ title: localization.pinToRight
560
550
  }, React__default.createElement(material.IconButton, {
561
551
  onClick: function onClick() {
562
- return handlePinColumn(pinned === 'right' ? false : 'right');
552
+ return handlePinColumn('right');
563
553
  },
564
554
  size: "small"
565
555
  }, React__default.createElement(PushPinIcon, {
566
556
  style: {
567
- transform: pinned === 'right' ? 'rotate(0)' : 'rotate(-90deg)'
557
+ transform: 'rotate(-90deg)'
568
558
  }
569
- }))));
559
+ })))));
570
560
  };
571
561
 
572
562
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
@@ -576,9 +566,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
576
566
  isSubMenu = _ref.isSubMenu,
577
567
  tableInstance = _ref.tableInstance;
578
568
  var getState = tableInstance.getState,
579
- _tableInstance$option = tableInstance.options,
580
- onToggleColumnVisibility = _tableInstance$option.onToggleColumnVisibility,
581
- enablePinning = _tableInstance$option.enablePinning;
569
+ onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
582
570
 
583
571
  var _getState = getState(),
584
572
  columnVisibility = _getState.columnVisibility;
@@ -613,7 +601,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
613
601
  pl: (column.depth + 0.5) * 2 + "rem",
614
602
  py: '6px'
615
603
  }
616
- }, !isSubMenu && enablePinning && React__default.createElement(MRT_ColumnPinningButtons, {
604
+ }, !isSubMenu && column.getCanPin() && React__default.createElement(MRT_ColumnPinningButtons, {
617
605
  column: column,
618
606
  tableInstance: tableInstance
619
607
  }), React__default.createElement(material.FormControlLabel, {
@@ -626,8 +614,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
626
614
  },
627
615
  checked: switchChecked,
628
616
  control: React__default.createElement(material.Switch, null),
629
- disabled: isSubMenu && switchChecked || column.enableHiding === false,
630
- label: column.header,
617
+ disabled: isSubMenu && switchChecked || !column.getCanHide(),
618
+ label: column.columnDef.header,
631
619
  onChange: function onChange() {
632
620
  return handleToggleColumnHidden(column);
633
621
  }
@@ -707,7 +695,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
707
695
  }, localization.hideAll), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
708
696
  disabled: !getIsSomeColumnsPinned(),
709
697
  onClick: function onClick() {
710
- return tableInstance.setColumnPinning({});
698
+ return tableInstance.resetColumnPinning(true);
711
699
  }
712
700
  }, localization.unpinAll), React__default.createElement(material.Button, {
713
701
  disabled: getIsAllColumnsVisible(),
@@ -790,7 +778,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
790
778
  setShowHideColumnsMenuAnchorEl = _useState2[1];
791
779
 
792
780
  var handleClearSort = function handleClearSort() {
793
- column.resetSorting();
781
+ column.clearSorting();
794
782
  setAnchorEl(null);
795
783
  };
796
784
 
@@ -816,6 +804,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
816
804
 
817
805
  var handlePinColumn = function handlePinColumn(pinDirection) {
818
806
  column.pin(pinDirection);
807
+ setAnchorEl(null);
819
808
  };
820
809
 
821
810
  var handleGroupByColumn = function handleGroupByColumn() {
@@ -827,7 +816,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
827
816
  };
828
817
 
829
818
  var handleClearFilter = function handleClearFilter() {
830
- column.setColumnFilterValue('');
819
+ column.setFilterValue('');
831
820
  setAnchorEl(null);
832
821
  };
833
822
 
@@ -880,7 +869,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
880
869
  sx: commonMenuItemStyles$1
881
870
  }, React__default.createElement(material.Box, {
882
871
  sx: commonListItemStyles
883
- }, 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, {
872
+ }, 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, {
884
873
  divider: enableColumnFilters || enableGrouping || enableHiding,
885
874
  key: 2,
886
875
  disabled: column.getIsSorted() === 'desc',
@@ -892,8 +881,8 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
892
881
  style: {
893
882
  transform: 'rotate(180deg) scaleX(-1)'
894
883
  }
895
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanColumnFilter() && [React__default.createElement(material.MenuItem, {
896
- disabled: !column.getColumnFilterValue(),
884
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
885
+ disabled: !column.getFilterValue(),
897
886
  key: 0,
898
887
  onClick: handleClearFilter,
899
888
  sx: commonMenuItemStyles$1
@@ -906,7 +895,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
906
895
  sx: commonMenuItemStyles$1
907
896
  }, React__default.createElement(material.Box, {
908
897
  sx: commonListItemStyles
909
- }, 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, {
898
+ }, 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, {
910
899
  onClick: handleOpenFilterModeMenu,
911
900
  onMouseEnter: handleOpenFilterModeMenu,
912
901
  size: "small",
@@ -927,7 +916,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
927
916
  sx: commonMenuItemStyles$1
928
917
  }, React__default.createElement(material.Box, {
929
918
  sx: commonListItemStyles
930
- }, 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, {
919
+ }, 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, {
931
920
  disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
932
921
  key: 0,
933
922
  onClick: function onClick() {
@@ -942,7 +931,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
942
931
  }
943
932
  })), localization.pinToLeft)), React__default.createElement(material.MenuItem, {
944
933
  disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
945
- key: 0,
934
+ key: 1,
946
935
  onClick: function onClick() {
947
936
  return handlePinColumn('right');
948
937
  },
@@ -956,7 +945,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
956
945
  })), localization.pinToRight)), React__default.createElement(material.MenuItem, {
957
946
  disabled: !column.getIsPinned(),
958
947
  divider: enableHiding,
959
- key: 0,
948
+ key: 2,
960
949
  onClick: function onClick() {
961
950
  return handlePinColumn(false);
962
951
  },
@@ -977,7 +966,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
977
966
  sx: commonMenuItemStyles$1
978
967
  }, React__default.createElement(material.Box, {
979
968
  sx: commonListItemStyles
980
- }, 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, {
969
+ }, 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, {
981
970
  disabled: !Object.values(columnVisibility).filter(function (visible) {
982
971
  return !visible;
983
972
  }).length,
@@ -986,7 +975,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
986
975
  sx: commonMenuItemStyles$1
987
976
  }, React__default.createElement(material.Box, {
988
977
  sx: commonListItemStyles
989
- }, 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, {
978
+ }, 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, {
990
979
  onClick: handleOpenShowHideColumnsMenu,
991
980
  onMouseEnter: handleOpenShowHideColumnsMenu,
992
981
  size: "small",
@@ -1059,7 +1048,7 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1059
1048
  var handleCancel = function handleCancel() {
1060
1049
  var _row$original;
1061
1050
 
1062
- row.values = (_row$original = row.original) != null ? _row$original : {};
1051
+ row._valuesCache = (_row$original = row.original) != null ? _row$original : {};
1063
1052
  setCurrentEditingRow(null);
1064
1053
  };
1065
1054
 
@@ -1173,9 +1162,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1173
1162
  var getRowModel = tableInstance.getRowModel,
1174
1163
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1175
1164
  getState = tableInstance.getState,
1176
- getToggleAllRowsSelectedProps = tableInstance.getToggleAllRowsSelectedProps,
1177
1165
  _tableInstance$option = tableInstance.options,
1178
- isLoading = _tableInstance$option.isLoading,
1179
1166
  localization = _tableInstance$option.localization,
1180
1167
  muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1181
1168
  onSelectChange = _tableInstance$option.onSelectChange,
@@ -1186,18 +1173,14 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1186
1173
 
1187
1174
  var handleSelectChange = function handleSelectChange(event) {
1188
1175
  if (selectAll) {
1189
- var _getToggleAllRowsSele;
1190
-
1191
- getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1176
+ tableInstance.getToggleAllRowsSelectedHandler()(event);
1192
1177
  onSelectAllChange == null ? void 0 : onSelectAllChange({
1193
1178
  event: event,
1194
1179
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
1195
1180
  tableInstance: tableInstance
1196
1181
  });
1197
1182
  } else if (row) {
1198
- var _row$getToggleSelecte;
1199
-
1200
- row == null ? void 0 : (_row$getToggleSelecte = row.getToggleSelectedProps()) == null ? void 0 : _row$getToggleSelecte.onChange == null ? void 0 : _row$getToggleSelecte.onChange(event);
1183
+ row == null ? void 0 : row.getToggleSelectedHandler()(event);
1201
1184
  onSelectChange == null ? void 0 : onSelectChange({
1202
1185
  event: event,
1203
1186
  row: row,
@@ -1209,131 +1192,32 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1209
1192
  }
1210
1193
  };
1211
1194
 
1212
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1195
+ var checkboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1213
1196
  isSelectAll: !!selectAll,
1214
1197
  row: row,
1215
1198
  tableInstance: tableInstance
1216
1199
  }) : muiSelectCheckboxProps;
1217
- var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1218
-
1219
- var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
1220
-
1221
1200
  return React__default.createElement(material.Tooltip, {
1222
1201
  arrow: true,
1223
1202
  enterDelay: 1000,
1224
1203
  enterNextDelay: 1000,
1225
1204
  title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1226
1205
  }, React__default.createElement(material.Checkbox, Object.assign({
1227
- disabled: isLoading,
1206
+ checked: selectAll ? tableInstance.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1207
+ indeterminate: selectAll ? tableInstance.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1228
1208
  inputProps: {
1229
1209
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1230
1210
  },
1211
+ onChange: handleSelectChange,
1231
1212
  size: isDensePadding ? 'small' : 'medium'
1232
1213
  }, checkboxProps, {
1233
- sx: {
1214
+ sx: _extends({
1234
1215
  height: isDensePadding ? '1.75rem' : '2.25rem',
1235
1216
  width: isDensePadding ? '1.75rem' : '2.25rem'
1236
- },
1237
- onChange: handleSelectChange,
1238
- title: undefined
1217
+ }, checkboxProps == null ? void 0 : checkboxProps.sx)
1239
1218
  })));
1240
1219
  };
1241
1220
 
1242
- var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1243
- var tableInstance = _ref.tableInstance;
1244
- var getState = tableInstance.getState,
1245
- setGlobalFilter = tableInstance.setGlobalFilter,
1246
- _tableInstance$option = tableInstance.options,
1247
- _tableInstance$option2 = _tableInstance$option.icons,
1248
- SearchIcon = _tableInstance$option2.SearchIcon,
1249
- CloseIcon = _tableInstance$option2.CloseIcon,
1250
- idPrefix = _tableInstance$option.idPrefix,
1251
- localization = _tableInstance$option.localization,
1252
- muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1253
- onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1254
-
1255
- var _getState = getState(),
1256
- globalFilter = _getState.globalFilter,
1257
- showGlobalFilter = _getState.showGlobalFilter;
1258
-
1259
- var _useState = React.useState(null),
1260
- anchorEl = _useState[0],
1261
- setAnchorEl = _useState[1];
1262
-
1263
- var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1264
- searchValue = _useState2[0],
1265
- setSearchValue = _useState2[1];
1266
-
1267
- var handleChange = React.useCallback(material.debounce(function (event) {
1268
- var _event$target$value;
1269
-
1270
- setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1271
- onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1272
- event: event,
1273
- tableInstance: tableInstance
1274
- });
1275
- }, 200), []);
1276
-
1277
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1278
- setAnchorEl(event.currentTarget);
1279
- };
1280
-
1281
- var handleClear = function handleClear() {
1282
- setSearchValue('');
1283
- setGlobalFilter(undefined);
1284
- };
1285
-
1286
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1287
- tableInstance: tableInstance
1288
- }) : muiSearchTextFieldProps;
1289
- return React__default.createElement(material.Collapse, {
1290
- "in": showGlobalFilter,
1291
- orientation: "horizontal"
1292
- }, React__default.createElement(material.TextField, Object.assign({
1293
- id: "mrt-" + idPrefix + "-search-text-field",
1294
- placeholder: localization.search,
1295
- onChange: function onChange(event) {
1296
- setSearchValue(event.target.value);
1297
- handleChange(event);
1298
- },
1299
- value: searchValue != null ? searchValue : '',
1300
- variant: "standard",
1301
- InputProps: {
1302
- startAdornment: React__default.createElement(material.InputAdornment, {
1303
- position: "start"
1304
- }, React__default.createElement(material.Tooltip, {
1305
- arrow: true,
1306
- title: localization.changeSearchMode
1307
- }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1308
- "aria-label": localization.changeSearchMode,
1309
- onClick: handleGlobalFilterMenuOpen,
1310
- size: "small",
1311
- sx: {
1312
- height: '1.75rem',
1313
- width: '1.75rem'
1314
- }
1315
- }, React__default.createElement(SearchIcon, null))))),
1316
- endAdornment: React__default.createElement(material.InputAdornment, {
1317
- position: "end"
1318
- }, React__default.createElement(material.IconButton, {
1319
- "aria-label": localization.clearSearch,
1320
- disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1321
- onClick: handleClear,
1322
- size: "small",
1323
- title: localization.clearSearch
1324
- }, React__default.createElement(CloseIcon, null)))
1325
- }
1326
- }, textFieldProps, {
1327
- sx: _extends({
1328
- justifySelf: 'end'
1329
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
1330
- })), React__default.createElement(MRT_FilterOptionMenu, {
1331
- anchorEl: anchorEl,
1332
- setAnchorEl: setAnchorEl,
1333
- tableInstance: tableInstance
1334
- }));
1335
- };
1336
-
1337
1221
  var _excluded = ["tableInstance"];
1338
1222
  var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1339
1223
  var tableInstance = _ref.tableInstance,
@@ -1514,7 +1398,104 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1514
1398
  }, rest), showGlobalFilter ? React__default.createElement(SearchOffIcon, null) : React__default.createElement(SearchIcon, null)));
1515
1399
  };
1516
1400
 
1401
+ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1402
+ var tableInstance = _ref.tableInstance;
1403
+ var getState = tableInstance.getState,
1404
+ setGlobalFilter = tableInstance.setGlobalFilter,
1405
+ _tableInstance$option = tableInstance.options,
1406
+ _tableInstance$option2 = _tableInstance$option.icons,
1407
+ SearchIcon = _tableInstance$option2.SearchIcon,
1408
+ CloseIcon = _tableInstance$option2.CloseIcon,
1409
+ idPrefix = _tableInstance$option.idPrefix,
1410
+ localization = _tableInstance$option.localization,
1411
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1412
+ onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1413
+
1414
+ var _getState = getState(),
1415
+ globalFilter = _getState.globalFilter,
1416
+ showGlobalFilter = _getState.showGlobalFilter;
1417
+
1418
+ var _useState = React.useState(null),
1419
+ anchorEl = _useState[0],
1420
+ setAnchorEl = _useState[1];
1421
+
1422
+ var _useState2 = React.useState(globalFilter != null ? globalFilter : ''),
1423
+ searchValue = _useState2[0],
1424
+ setSearchValue = _useState2[1];
1425
+
1426
+ var handleChange = React.useCallback(material.debounce(function (event) {
1427
+ var _event$target$value;
1428
+
1429
+ setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1430
+ onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1431
+ event: event,
1432
+ tableInstance: tableInstance
1433
+ });
1434
+ }, 200), []);
1435
+
1436
+ var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1437
+ setAnchorEl(event.currentTarget);
1438
+ };
1439
+
1440
+ var handleClear = function handleClear() {
1441
+ setSearchValue('');
1442
+ setGlobalFilter(undefined);
1443
+ };
1444
+
1445
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1446
+ tableInstance: tableInstance
1447
+ }) : muiSearchTextFieldProps;
1448
+ return React__default.createElement(material.Collapse, {
1449
+ "in": showGlobalFilter,
1450
+ orientation: "horizontal"
1451
+ }, React__default.createElement(material.TextField, Object.assign({
1452
+ id: "mrt-" + idPrefix + "-search-text-field",
1453
+ placeholder: localization.search,
1454
+ onChange: function onChange(event) {
1455
+ setSearchValue(event.target.value);
1456
+ handleChange(event);
1457
+ },
1458
+ value: searchValue != null ? searchValue : '',
1459
+ variant: "standard",
1460
+ InputProps: {
1461
+ startAdornment: React__default.createElement(material.InputAdornment, {
1462
+ position: "start"
1463
+ }, React__default.createElement(material.Tooltip, {
1464
+ arrow: true,
1465
+ title: localization.changeSearchMode
1466
+ }, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
1467
+ "aria-label": localization.changeSearchMode,
1468
+ onClick: handleGlobalFilterMenuOpen,
1469
+ size: "small",
1470
+ sx: {
1471
+ height: '1.75rem',
1472
+ width: '1.75rem'
1473
+ }
1474
+ }, React__default.createElement(SearchIcon, null))))),
1475
+ endAdornment: React__default.createElement(material.InputAdornment, {
1476
+ position: "end"
1477
+ }, React__default.createElement(material.IconButton, {
1478
+ "aria-label": localization.clearSearch,
1479
+ disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1480
+ onClick: handleClear,
1481
+ size: "small",
1482
+ title: localization.clearSearch
1483
+ }, React__default.createElement(CloseIcon, null)))
1484
+ }
1485
+ }, textFieldProps, {
1486
+ sx: _extends({
1487
+ justifySelf: 'end'
1488
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
1489
+ })), React__default.createElement(MRT_FilterOptionMenu, {
1490
+ anchorEl: anchorEl,
1491
+ setAnchorEl: setAnchorEl,
1492
+ tableInstance: tableInstance
1493
+ }));
1494
+ };
1495
+
1517
1496
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1497
+ var _renderToolbarInterna;
1498
+
1518
1499
  var tableInstance = _ref.tableInstance;
1519
1500
  var _tableInstance$option = tableInstance.options,
1520
1501
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
@@ -1524,24 +1505,22 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1524
1505
  enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1525
1506
  enableHiding = _tableInstance$option.enableHiding,
1526
1507
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
1527
-
1528
- if (renderToolbarInternalActions) {
1529
- return React__default.createElement(React__default.Fragment, null, renderToolbarInternalActions({
1530
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1531
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1532
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1533
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1534
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1535
- tableInstance: tableInstance
1536
- }));
1537
- }
1538
-
1539
1508
  return React__default.createElement(material.Box, {
1540
1509
  sx: {
1541
1510
  display: 'flex',
1542
- alignItems: 'center'
1511
+ alignItems: 'center',
1512
+ zIndex: 3
1543
1513
  }
1544
- }, enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1514
+ }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1515
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1516
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1517
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1518
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1519
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1520
+ tableInstance: tableInstance
1521
+ })) != null ? _renderToolbarInterna : React__default.createElement(React__default.Fragment, null, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
1522
+ tableInstance: tableInstance
1523
+ }), enableFilters && enableGlobalFilter && React__default.createElement(MRT_ToggleGlobalFilterButton, {
1545
1524
  tableInstance: tableInstance
1546
1525
  }), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
1547
1526
  tableInstance: tableInstance
@@ -1551,7 +1530,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1551
1530
  tableInstance: tableInstance
1552
1531
  }), enableFullScreenToggle && React__default.createElement(MRT_FullScreenToggleButton, {
1553
1532
  tableInstance: tableInstance
1554
- }));
1533
+ })));
1555
1534
  };
1556
1535
 
1557
1536
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
@@ -1612,45 +1591,36 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
1612
1591
  var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1613
1592
  var _localization$selecte, _localization$selecte2;
1614
1593
 
1615
- var tableInstance = _ref.tableInstance;
1594
+ var stackAlertBanner = _ref.stackAlertBanner,
1595
+ tableInstance = _ref.tableInstance;
1616
1596
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1617
1597
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1618
1598
  getState = tableInstance.getState,
1619
- toggleColumnGrouping = tableInstance.toggleColumnGrouping,
1620
1599
  _tableInstance$option = tableInstance.options,
1621
1600
  localization = _tableInstance$option.localization,
1622
- muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
1623
- positionToolbarActions = _tableInstance$option.positionToolbarActions,
1624
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1625
- renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1601
+ muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps;
1626
1602
 
1627
1603
  var _getState = getState(),
1628
1604
  grouping = _getState.grouping;
1629
1605
 
1630
- var isMobile = material.useMediaQuery('(max-width:720px)');
1631
1606
  var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1632
1607
  tableInstance: tableInstance
1633
1608
  }) : muiTableToolbarAlertBannerProps;
1634
1609
  var selectMessage = getSelectedRowModel().rows.length > 0 ? (_localization$selecte = localization.selectedCountOfRowCountRowsSelected) == null ? void 0 : (_localization$selecte2 = _localization$selecte.replace('{selectedCount}', getSelectedRowModel().rows.length.toString())) == null ? void 0 : _localization$selecte2.replace('{rowCount}', getPrePaginationRowModel().rows.length.toString()) : null;
1635
1610
  var groupedByMessage = grouping.length > 0 ? React__default.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
1636
- var _tableInstance$getAll;
1637
-
1638
1611
  return React__default.createElement(React.Fragment, {
1639
1612
  key: index + "-" + columnId
1640
1613
  }, index > 0 ? localization.thenBy : '', React__default.createElement(material.Chip, {
1641
1614
  color: "secondary",
1642
- label: (_tableInstance$getAll = tableInstance.getAllColumns().find(function (column) {
1643
- return column.id === columnId;
1644
- })) == null ? void 0 : _tableInstance$getAll.header,
1615
+ label: tableInstance.getColumn(columnId).columnDef.header,
1645
1616
  onDelete: function onDelete() {
1646
- return toggleColumnGrouping(columnId);
1617
+ return tableInstance.getColumn(columnId).toggleGrouping();
1647
1618
  }
1648
1619
  }));
1649
1620
  })) : null;
1650
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
1651
1621
  return React__default.createElement(material.Collapse, {
1652
1622
  "in": !!selectMessage || !!groupedByMessage,
1653
- timeout: displayAbsolute ? 0 : 200
1623
+ timeout: stackAlertBanner ? 200 : 0
1654
1624
  }, React__default.createElement(material.Alert, Object.assign({
1655
1625
  color: "info",
1656
1626
  icon: false,
@@ -1659,9 +1629,8 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1659
1629
  fontSize: '1rem',
1660
1630
  left: 0,
1661
1631
  p: 0,
1662
- position: displayAbsolute ? 'absolute' : 'relative',
1632
+ position: 'relative',
1663
1633
  right: 0,
1664
- minHeight: '3.5rem',
1665
1634
  top: 0,
1666
1635
  width: '100%',
1667
1636
  zIndex: 2
@@ -1670,20 +1639,24 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1670
1639
  sx: {
1671
1640
  p: '0.5rem 1rem'
1672
1641
  }
1673
- }, selectMessage, React__default.createElement("br", null), groupedByMessage)));
1642
+ }, selectMessage, selectMessage && groupedByMessage && React__default.createElement("br", null), groupedByMessage)));
1674
1643
  };
1675
1644
 
1676
1645
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1677
1646
  var tableInstance = _ref.tableInstance;
1678
- var _tableInstance$option = tableInstance.options,
1679
- muiLinearProgressProps = _tableInstance$option.muiLinearProgressProps,
1680
- isReloading = _tableInstance$option.isReloading,
1681
- isLoading = _tableInstance$option.isLoading;
1647
+ var muiLinearProgressProps = tableInstance.options.muiLinearProgressProps,
1648
+ getState = tableInstance.getState;
1649
+
1650
+ var _getState = getState(),
1651
+ isLoading = _getState.isLoading,
1652
+ showProgressBars = _getState.showProgressBars;
1653
+
1682
1654
  var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1683
1655
  tableInstance: tableInstance
1684
1656
  }) : muiLinearProgressProps;
1685
1657
  return React__default.createElement(material.Collapse, {
1686
- "in": isReloading || isLoading,
1658
+ "in": isLoading || showProgressBars,
1659
+ mountOnEnter: true,
1687
1660
  unmountOnExit: true
1688
1661
  }, React__default.createElement(material.LinearProgress, Object.assign({
1689
1662
  "aria-label": "Loading",
@@ -1694,10 +1667,13 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1694
1667
  var commonToolbarStyles = function commonToolbarStyles(_ref) {
1695
1668
  var theme = _ref.theme;
1696
1669
  return {
1697
- backgroundColor: theme.palette.background["default"],
1698
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
1670
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1671
+ backgroundImage: 'none',
1699
1672
  display: 'grid',
1673
+ minHeight: '3.5rem',
1674
+ overflow: 'hidden',
1700
1675
  p: '0 !important',
1676
+ transition: 'all 0.2s ease-in-out',
1701
1677
  width: '100%',
1702
1678
  zIndex: 1
1703
1679
  };
@@ -1708,7 +1684,6 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1708
1684
  var tableInstance = _ref2.tableInstance;
1709
1685
  var getState = tableInstance.getState,
1710
1686
  _tableInstance$option = tableInstance.options,
1711
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1712
1687
  enablePagination = _tableInstance$option.enablePagination,
1713
1688
  enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1714
1689
  idPrefix = _tableInstance$option.idPrefix,
@@ -1721,9 +1696,11 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1721
1696
  var _getState = getState(),
1722
1697
  isFullScreen = _getState.isFullScreen;
1723
1698
 
1699
+ var isMobile = material.useMediaQuery('(max-width:720px)');
1724
1700
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1725
1701
  tableInstance: tableInstance
1726
1702
  }) : muiTableToolbarTopProps;
1703
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions;
1727
1704
  return React__default.createElement(material.Toolbar, Object.assign({
1728
1705
  id: "mrt-" + idPrefix + "-toolbar-top",
1729
1706
  variant: "dense"
@@ -1737,27 +1714,23 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1737
1714
  }), toolbarProps == null ? void 0 : toolbarProps.sx);
1738
1715
  }
1739
1716
  }), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, {
1717
+ stackAlertBanner: stackAlertBanner,
1740
1718
  tableInstance: tableInstance
1741
1719
  }), React__default.createElement(material.Box, {
1742
1720
  sx: {
1743
- p: '0.5rem',
1744
1721
  display: 'flex',
1745
- justifyContent: 'space-between'
1722
+ justifyContent: 'space-between',
1723
+ p: '0.5rem',
1724
+ position: stackAlertBanner ? 'relative' : 'absolute',
1725
+ right: 0,
1726
+ top: 0,
1727
+ width: 'calc(100% - 1rem)'
1746
1728
  }
1747
1729
  }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1748
1730
  tableInstance: tableInstance
1749
- })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), React__default.createElement(material.Box, {
1750
- sx: {
1751
- display: 'flex',
1752
- gap: '0.5rem',
1753
- position: 'relative',
1754
- zIndex: 3
1755
- }
1756
- }, enableGlobalFilter && React__default.createElement(MRT_SearchTextField, {
1731
+ })) != null ? _renderToolbarCustomA : React__default.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
1757
1732
  tableInstance: tableInstance
1758
- }), enableToolbarInternalActions && positionToolbarActions === 'top' && React__default.createElement(MRT_ToolbarInternalButtons, {
1759
- tableInstance: tableInstance
1760
- }))), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1733
+ })), React__default.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1761
1734
  tableInstance: tableInstance
1762
1735
  })), React__default.createElement(MRT_LinearProgressBar, {
1763
1736
  tableInstance: tableInstance
@@ -1774,14 +1747,17 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1774
1747
  muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
1775
1748
  positionPagination = _tableInstance$option.positionPagination,
1776
1749
  positionToolbarActions = _tableInstance$option.positionToolbarActions,
1777
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner;
1750
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1751
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1778
1752
 
1779
1753
  var _getState = getState(),
1780
1754
  isFullScreen = _getState.isFullScreen;
1781
1755
 
1756
+ var isMobile = material.useMediaQuery('(max-width:720px)');
1782
1757
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1783
1758
  tableInstance: tableInstance
1784
1759
  }) : muiTableToolbarBottomProps;
1760
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
1785
1761
  return React__default.createElement(material.Toolbar, Object.assign({
1786
1762
  id: "mrt-" + idPrefix + "-toolbar-bottom",
1787
1763
  variant: "dense"
@@ -1797,25 +1773,29 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1797
1773
  }
1798
1774
  }), React__default.createElement(MRT_LinearProgressBar, {
1799
1775
  tableInstance: tableInstance
1776
+ }), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
1777
+ tableInstance: tableInstance
1800
1778
  }), React__default.createElement(material.Box, {
1801
1779
  sx: {
1802
1780
  display: 'flex',
1803
1781
  justifyContent: 'space-between',
1804
- width: '100%'
1782
+ width: '100%',
1783
+ position: stackAlertBanner ? 'relative' : 'absolute',
1784
+ right: 0,
1785
+ top: 0
1805
1786
  }
1806
1787
  }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React__default.createElement(MRT_ToolbarInternalButtons, {
1807
1788
  tableInstance: tableInstance
1808
- }) : React__default.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
1809
- tableInstance: tableInstance
1810
- }), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1789
+ }) : React__default.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, {
1811
1790
  tableInstance: tableInstance
1812
1791
  })));
1813
1792
  };
1814
1793
 
1815
1794
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1816
- var _column$getColumnFilt, _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1795
+ var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1817
1796
 
1818
1797
  var header = _ref.header,
1798
+ inputIndex = _ref.inputIndex,
1819
1799
  tableInstance = _ref.tableInstance;
1820
1800
  var getState = tableInstance.getState,
1821
1801
  _tableInstance$option = tableInstance.options,
@@ -1846,14 +1826,22 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1846
1826
 
1847
1827
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
1848
1828
 
1849
- var _useState2 = React.useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
1829
+ var _useState2 = React.useState(function () {
1830
+ var _column$getFilterValu, _column$getFilterValu2, _column$getFilterValu3;
1831
+
1832
+ 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 : '';
1833
+ }),
1850
1834
  filterValue = _useState2[0],
1851
1835
  setFilterValue = _useState2[1];
1852
1836
 
1853
- var handleChange = React.useCallback(material.debounce(function (event) {
1837
+ var handleChangeDebounced = React.useCallback(material.debounce(function (event) {
1854
1838
  var _event$target$value;
1855
1839
 
1856
- return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1840
+ return inputIndex !== undefined ? column.setFilterValue(function (old) {
1841
+ var newFilterValues = old != null ? old : ['', ''];
1842
+ newFilterValues[inputIndex] = event.target.value;
1843
+ return newFilterValues;
1844
+ }) : column.setFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1857
1845
  }, 150), []);
1858
1846
 
1859
1847
  var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
@@ -1862,16 +1850,25 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1862
1850
 
1863
1851
  var handleClear = function handleClear() {
1864
1852
  setFilterValue('');
1865
- column.setColumnFilterValue(undefined);
1853
+
1854
+ if (inputIndex !== undefined) {
1855
+ column.setFilterValue(function (old) {
1856
+ var newFilterValues = old != null ? old : ['', ''];
1857
+ newFilterValues[inputIndex] = undefined;
1858
+ return newFilterValues;
1859
+ });
1860
+ } else {
1861
+ column.setFilterValue(undefined);
1862
+ }
1866
1863
  };
1867
1864
 
1868
1865
  var handleClearFilterChip = function handleClearFilterChip() {
1869
1866
  setFilterValue('');
1870
- column.setColumnFilterValue(undefined);
1867
+ column.setFilterValue(undefined);
1871
1868
  setCurrentFilterFns(function (prev) {
1872
1869
  var _extends2;
1873
1870
 
1874
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.BEST_MATCH, _extends2));
1871
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.FUZZY, _extends2));
1875
1872
  });
1876
1873
  };
1877
1874
 
@@ -1882,12 +1879,12 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1882
1879
  }));
1883
1880
  }
1884
1881
 
1885
- var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field";
1882
+ var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field" + (inputIndex != null ? inputIndex : '');
1886
1883
  var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
1887
1884
  var isSelectFilter = !!column.filterSelectOptions;
1888
1885
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1889
1886
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
1890
- var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header));
1887
+ 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 : '';
1891
1888
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
1892
1889
  fullWidth: true,
1893
1890
  id: filterId,
@@ -1899,23 +1896,24 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1899
1896
  },
1900
1897
  title: filterPlaceholder
1901
1898
  },
1902
- helperText: React__default.createElement("label", {
1899
+ helperText: !inputIndex ? React__default.createElement("label", {
1903
1900
  htmlFor: filterId
1904
1901
  }, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
1905
1902
  (_localization$ = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
1906
- localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])),
1903
+ localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
1907
1904
  FormHelperTextProps: {
1908
1905
  sx: {
1909
1906
  fontSize: '0.6rem',
1910
- lineHeight: '0.8rem'
1907
+ lineHeight: '0.8rem',
1908
+ whiteSpace: 'nowrap'
1911
1909
  }
1912
1910
  },
1913
1911
  label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
1914
1912
  margin: "none",
1915
- placeholder: filterPlaceholder,
1913
+ placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
1916
1914
  onChange: function onChange(event) {
1917
1915
  setFilterValue(event.target.value);
1918
- handleChange(event);
1916
+ handleChangeDebounced(event);
1919
1917
  },
1920
1918
  onClick: function onClick(e) {
1921
1919
  return e.stopPropagation();
@@ -1924,7 +1922,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1924
1922
  value: filterValue != null ? filterValue : '',
1925
1923
  variant: "standard",
1926
1924
  InputProps: {
1927
- startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
1925
+ startAdornment: !isSelectFilter && !inputIndex && React__default.createElement(material.InputAdornment, {
1928
1926
  position: "start"
1929
1927
  }, React__default.createElement(material.Tooltip, {
1930
1928
  arrow: true,
@@ -1963,7 +1961,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1963
1961
  sx: _extends({
1964
1962
  m: '-0.25rem',
1965
1963
  p: 0,
1966
- minWidth: !filterChipLabel ? '5rem' : 'auto',
1964
+ minWidth: !filterChipLabel ? '6rem' : 'auto',
1967
1965
  width: 'calc(100% + 0.5rem)',
1968
1966
  mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
1969
1967
  '& .MuiSelect-icon': {
@@ -2058,8 +2056,34 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2058
2056
  }));
2059
2057
  };
2060
2058
 
2059
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2060
+ var header = _ref.header,
2061
+ tableInstance = _ref.tableInstance;
2062
+ var localization = tableInstance.options.localization;
2063
+ return React__default.createElement(material.Box, {
2064
+ sx: {
2065
+ display: 'grid',
2066
+ gridTemplateColumns: '6fr auto 5fr'
2067
+ }
2068
+ }, React__default.createElement(MRT_FilterTextField, {
2069
+ header: header,
2070
+ inputIndex: 0,
2071
+ tableInstance: tableInstance
2072
+ }), React__default.createElement(material.Box, {
2073
+ sx: {
2074
+ width: '100%',
2075
+ minWidth: '5ch',
2076
+ textAlign: 'center'
2077
+ }
2078
+ }, localization.to), React__default.createElement(MRT_FilterTextField, {
2079
+ header: header,
2080
+ inputIndex: 1,
2081
+ tableInstance: tableInstance
2082
+ }));
2083
+ };
2084
+
2061
2085
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2062
- var _getState2, _getState2$currentFil, _column$Header;
2086
+ var _getState2, _getState2$currentFil, _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
2063
2087
 
2064
2088
  var header = _ref.header,
2065
2089
  tableInstance = _ref.tableInstance;
@@ -2076,6 +2100,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2076
2100
  setShowFilters = tableInstance.setShowFilters;
2077
2101
 
2078
2102
  var _getState = getState(),
2103
+ currentFilterFns = _getState.currentFilterFns,
2079
2104
  isDensePadding = _getState.isDensePadding,
2080
2105
  showFilters = _getState.showFilters;
2081
2106
 
@@ -2089,37 +2114,56 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2089
2114
  tableInstance: tableInstance
2090
2115
  }) : column.muiTableHeadCellProps;
2091
2116
 
2092
- var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2117
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2093
2118
 
2094
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
2119
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2095
2120
  var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2096
- var filterTooltip = !!column.getColumnFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2097
- localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', column.getColumnFilterValue()).replace('" "', '') : localization.showHideFilters;
2098
- var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2121
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2122
+ 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;
2123
+ var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
2099
2124
  header: header,
2100
2125
  tableInstance: tableInstance
2101
- })) != null ? _column$Header : column.header;
2126
+ })) != null ? _column$columnDef$Hea : header.renderHeader();
2127
+
2128
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2129
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2130
+ };
2131
+
2132
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2133
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2134
+ };
2135
+
2136
+ var getTotalRight = function getTotalRight() {
2137
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2138
+ };
2139
+
2102
2140
  return React__default.createElement(material.TableCell, Object.assign({
2103
- align: column.columnDefType === 'group' ? 'center' : 'left'
2141
+ align: column.columnDefType === 'group' ? 'center' : 'left',
2142
+ colSpan: header.colSpan
2104
2143
  }, tableCellProps, {
2105
- //@ts-ignore
2106
2144
  sx: function sx(theme) {
2107
2145
  return _extends({
2108
- backgroundColor: theme.palette.background["default"],
2109
- backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2146
+ backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2147
+ backgroundImage: 'inherit',
2148
+ 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,
2110
2149
  fontWeight: 'bold',
2111
2150
  height: '100%',
2112
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2113
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2151
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2152
+ overflow: 'visible',
2114
2153
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2115
- pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2116
2154
  pb: column.columnDefType === 'display' ? 0 : undefined,
2117
- overflow: 'visible',
2155
+ position: column.getIsPinned() && column.columnDefType !== 'group' ? 'sticky' : undefined,
2156
+ pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2157
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2118
2158
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2119
2159
  verticalAlign: 'text-top',
2120
- width: header.getWidth(),
2121
- zIndex: column.getIsResizing() ? 2 : 1
2160
+ zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2122
2161
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2162
+ },
2163
+ style: {
2164
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2165
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2166
+ width: header.getSize()
2123
2167
  }
2124
2168
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
2125
2169
  sx: {
@@ -2137,7 +2181,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2137
2181
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2138
2182
  display: 'flex',
2139
2183
  flexWrap: 'nowrap',
2140
- whiteSpace: column.header.length < 24 ? 'nowrap' : 'normal'
2184
+ 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'
2141
2185
  }
2142
2186
  }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React__default.createElement(material.Tooltip, {
2143
2187
  arrow: true,
@@ -2147,7 +2191,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2147
2191
  "aria-label": sortTooltip,
2148
2192
  active: !!column.getIsSorted(),
2149
2193
  direction: column.getIsSorted() ? column.getIsSorted() : undefined
2150
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanColumnFilter() && React__default.createElement(material.Tooltip, {
2194
+ })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React__default.createElement(material.Tooltip, {
2151
2195
  arrow: true,
2152
2196
  placement: "top",
2153
2197
  title: filterTooltip
@@ -2160,7 +2204,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2160
2204
  size: "small",
2161
2205
  sx: {
2162
2206
  m: 0,
2163
- opacity: !!column.getColumnFilterValue() ? 0.8 : 0,
2207
+ opacity: !!column.getFilterValue() ? 0.8 : 0,
2164
2208
  p: '2px',
2165
2209
  transition: 'all 0.2s ease-in-out',
2166
2210
  '&:hover': {
@@ -2168,14 +2212,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2168
2212
  opacity: 0.8
2169
2213
  }
2170
2214
  }
2171
- }, 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, {
2215
+ }, 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, {
2172
2216
  header: header,
2173
2217
  tableInstance: tableInstance
2174
- }), column.getCanResize() && React__default.createElement(material.Divider, Object.assign({
2218
+ }), column.getCanResize() && React__default.createElement(material.Divider, {
2175
2219
  flexItem: true,
2176
2220
  orientation: "vertical",
2177
2221
  onDoubleClick: function onDoubleClick() {
2178
- return header.resetSize();
2222
+ return column.resetSize();
2179
2223
  },
2180
2224
  sx: function sx(theme) {
2181
2225
  return {
@@ -2187,7 +2231,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2187
2231
  position: 'absolute',
2188
2232
  right: '1px',
2189
2233
  touchAction: 'none',
2190
- transition: 'all 0.2s ease-in-out',
2234
+ transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2191
2235
  userSelect: 'none',
2192
2236
  zIndex: 2000,
2193
2237
  '&:active': {
@@ -2195,16 +2239,20 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2195
2239
  opacity: 1
2196
2240
  }
2197
2241
  };
2242
+ },
2243
+ onMouseDown: header.getResizeHandler(),
2244
+ onTouchStart: header.getResizeHandler(),
2245
+ style: {
2246
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2198
2247
  }
2199
- }, header.getResizerProps(function (props) {
2200
- return _extends({}, props, {
2201
- style: {
2202
- transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : ''
2203
- }
2204
- });
2205
- })))), column.columnDefType === 'data' && column.getCanColumnFilter() && React__default.createElement(material.Collapse, {
2206
- "in": showFilters
2207
- }, React__default.createElement(MRT_FilterTextField, {
2248
+ })), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(material.Collapse, {
2249
+ "in": showFilters,
2250
+ mountOnEnter: true,
2251
+ unmountOnExit: true
2252
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React__default.createElement(MRT_FilterRangeFields, {
2253
+ header: header,
2254
+ tableInstance: tableInstance
2255
+ }) : React__default.createElement(MRT_FilterTextField, {
2208
2256
  header: header,
2209
2257
  tableInstance: tableInstance
2210
2258
  })));
@@ -2214,17 +2262,15 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2214
2262
  var headerGroup = _ref.headerGroup,
2215
2263
  tableInstance = _ref.tableInstance;
2216
2264
  var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2217
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2265
+ var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2218
2266
  headerGroup: headerGroup,
2219
2267
  tableInstance: tableInstance
2220
2268
  }) : muiTableHeadRowProps;
2221
-
2222
- var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2223
-
2224
2269
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps, {
2225
2270
  sx: function sx(theme) {
2226
2271
  return _extends({
2227
- boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1)
2272
+ boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1),
2273
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.04)
2228
2274
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2229
2275
  }
2230
2276
  }), headerGroup.headers.map(function (header, index) {
@@ -2237,26 +2283,16 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2237
2283
  };
2238
2284
 
2239
2285
  var MRT_TableHead = function MRT_TableHead(_ref) {
2240
- var pinned = _ref.pinned,
2241
- tableInstance = _ref.tableInstance;
2242
- var getCenterHeaderGroups = tableInstance.getCenterHeaderGroups,
2243
- getHeaderGroups = tableInstance.getHeaderGroups,
2244
- getLeftHeaderGroups = tableInstance.getLeftHeaderGroups,
2245
- getRightHeaderGroups = tableInstance.getRightHeaderGroups,
2286
+ var tableInstance = _ref.tableInstance;
2287
+ var getHeaderGroups = tableInstance.getHeaderGroups,
2246
2288
  muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2247
2289
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2248
2290
  tableInstance: tableInstance
2249
2291
  }) : muiTableHeadProps;
2250
- var getHeaderGroupsMap = {
2251
- center: getCenterHeaderGroups,
2252
- left: getLeftHeaderGroups,
2253
- none: getHeaderGroups,
2254
- right: getRightHeaderGroups
2255
- };
2256
- return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroupsMap[pinned]().map(function (headerGroup) {
2292
+ return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2257
2293
  return React__default.createElement(MRT_TableHeadRow, {
2258
2294
  headerGroup: headerGroup,
2259
- key: headerGroup.getHeaderGroupProps().key,
2295
+ key: headerGroup.id,
2260
2296
  tableInstance: tableInstance
2261
2297
  });
2262
2298
  }));
@@ -2275,7 +2311,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2275
2311
  setCurrentEditingCell = tableInstance.setCurrentEditingCell,
2276
2312
  setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2277
2313
 
2278
- var _useState = React.useState(cell.value),
2314
+ var _useState = React.useState(cell.getValue()),
2279
2315
  value = _useState[0],
2280
2316
  setValue = _useState[1];
2281
2317
 
@@ -2298,7 +2334,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2298
2334
 
2299
2335
  var handleBlur = function handleBlur(event) {
2300
2336
  if (getState().currentEditingRow) {
2301
- row.values[column.id] = value;
2337
+ row._valuesCache[column.id] = value;
2302
2338
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2303
2339
  }
2304
2340
 
@@ -2341,7 +2377,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2341
2377
  onClick: function onClick(e) {
2342
2378
  return e.stopPropagation();
2343
2379
  },
2344
- placeholder: column.header,
2380
+ placeholder: column.columnDef.header,
2345
2381
  value: value,
2346
2382
  variant: "standard"
2347
2383
  }, textFieldProps));
@@ -2387,9 +2423,11 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2387
2423
  }, React__default.createElement(material.Button, Object.assign({
2388
2424
  "aria-label": localization.clickToCopy,
2389
2425
  onClick: function onClick() {
2390
- return handleCopy(cell.value);
2426
+ return handleCopy(cell.getValue());
2391
2427
  },
2392
- size: "small"
2428
+ size: "small",
2429
+ type: "button",
2430
+ variant: "text"
2393
2431
  }, buttonProps, {
2394
2432
  sx: _extends({
2395
2433
  backgroundColor: 'transparent',
@@ -2403,25 +2441,22 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2403
2441
  minWidth: 'unset',
2404
2442
  textAlign: 'inherit',
2405
2443
  textTransform: 'inherit'
2406
- }, buttonProps == null ? void 0 : buttonProps.sx),
2407
- variant: "text"
2444
+ }, buttonProps == null ? void 0 : buttonProps.sx)
2408
2445
  }), children));
2409
2446
  };
2410
2447
 
2411
2448
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2412
- var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2449
+ var _column$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2413
2450
 
2414
2451
  var cell = _ref.cell,
2452
+ enableHover = _ref.enableHover,
2415
2453
  tableInstance = _ref.tableInstance;
2416
- var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2417
- getState = tableInstance.getState,
2454
+ var getState = tableInstance.getState,
2418
2455
  _tableInstance$option = tableInstance.options,
2419
2456
  editingMode = _tableInstance$option.editingMode,
2420
2457
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2421
2458
  enableEditing = _tableInstance$option.enableEditing,
2422
- enablePinning = _tableInstance$option.enablePinning,
2423
2459
  idPrefix = _tableInstance$option.idPrefix,
2424
- isLoading = _tableInstance$option.isLoading,
2425
2460
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
2426
2461
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
2427
2462
  onCellClick = _tableInstance$option.onCellClick,
@@ -2430,7 +2465,9 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2430
2465
  var _getState = getState(),
2431
2466
  currentEditingCell = _getState.currentEditingCell,
2432
2467
  currentEditingRow = _getState.currentEditingRow,
2433
- isDensePadding = _getState.isDensePadding;
2468
+ isDensePadding = _getState.isDensePadding,
2469
+ isLoading = _getState.isLoading,
2470
+ showSkeletons = _getState.showSkeletons;
2434
2471
 
2435
2472
  var column = cell.column,
2436
2473
  row = cell.row;
@@ -2443,11 +2480,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2443
2480
  tableInstance: tableInstance
2444
2481
  }) : column.muiTableBodyCellProps;
2445
2482
 
2446
- var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2483
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
2447
2484
 
2448
2485
  var skeletonWidth = React.useMemo(function () {
2449
- return column.columnDefType === 'display' ? column.getWidth() / 2 : Math.random() * (column.getWidth() - column.getWidth() / 3) + column.getWidth() / 3;
2450
- }, [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()]);
2451
2488
  var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
2452
2489
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2453
2490
 
@@ -2465,6 +2502,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2465
2502
  }
2466
2503
  };
2467
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
+
2468
2517
  return React__default.createElement(material.TableCell, Object.assign({
2469
2518
  onClick: function onClick(event) {
2470
2519
  return onCellClick == null ? void 0 : onCellClick({
@@ -2475,21 +2524,34 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2475
2524
  },
2476
2525
  onDoubleClick: handleDoubleClick
2477
2526
  }, tableCellProps, {
2478
- sx: _extends({
2479
- cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2480
- maxWidth: "min(" + column.getWidth() + "px, fit-content)",
2481
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2482
- p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2483
- pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2484
- transition: 'all 0.2s ease-in-out',
2485
- whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal',
2486
- width: column.getWidth()
2487
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
2488
- }), 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
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2534
+ pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2535
+ position: column.getIsPinned() ? 'sticky' : 'relative',
2536
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2537
+ transition: 'all 0.2s ease-in-out',
2538
+ whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2539
+ zIndex: column.getIsPinned() ? 1 : undefined,
2540
+ '&:hover': {
2541
+ 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
2542
+ }
2543
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
2544
+ },
2545
+ style: {
2546
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2547
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2548
+ width: column.getSize()
2549
+ }
2550
+ }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
2489
2551
  animation: "wave",
2490
2552
  height: 20,
2491
2553
  width: skeletonWidth
2492
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
2554
+ }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.columnDef.Cell == null ? void 0 : column.columnDef.Cell({
2493
2555
  cell: cell,
2494
2556
  tableInstance: tableInstance
2495
2557
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React__default.createElement(MRT_EditCellTextField, {
@@ -2498,13 +2560,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2498
2560
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
2499
2561
  cell: cell,
2500
2562
  tableInstance: tableInstance
2501
- }, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2563
+ }, 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({
2502
2564
  cell: cell,
2503
2565
  tableInstance: tableInstance
2504
- })) != 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({
2566
+ })) != 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({
2505
2567
  cell: cell,
2506
2568
  tableInstance: tableInstance
2507
- })) != 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, ")")));
2569
+ })) != 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 : '', ")"))));
2508
2570
  };
2509
2571
 
2510
2572
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2549,33 +2611,16 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
2549
2611
  };
2550
2612
 
2551
2613
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2552
- var pinned = _ref.pinned,
2553
- row = _ref.row,
2614
+ var row = _ref.row,
2554
2615
  tableInstance = _ref.tableInstance;
2555
2616
  var _tableInstance$option = tableInstance.options,
2556
2617
  muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
2557
2618
  onRowClick = _tableInstance$option.onRowClick,
2558
2619
  renderDetailPanel = _tableInstance$option.renderDetailPanel;
2559
- var getCenterVisibleCells = row.getCenterVisibleCells,
2560
- getIsGrouped = row.getIsGrouped,
2561
- getIsSelected = row.getIsSelected,
2562
- getLeftVisibleCells = row.getLeftVisibleCells,
2563
- getRightVisibleCells = row.getRightVisibleCells,
2564
- getRowProps = row.getRowProps,
2565
- getVisibleCells = row.getVisibleCells;
2566
- var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2620
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2567
2621
  row: row,
2568
2622
  tableInstance: tableInstance
2569
2623
  }) : muiTableBodyRowProps;
2570
-
2571
- var tableRowProps = _extends({}, getRowProps(), mTableBodyRowProps);
2572
-
2573
- var getVisibleCellsMap = {
2574
- center: getCenterVisibleCells,
2575
- left: getLeftVisibleCells,
2576
- none: getVisibleCells,
2577
- right: getRightVisibleCells
2578
- };
2579
2624
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
2580
2625
  hover: true,
2581
2626
  onClick: function onClick(event) {
@@ -2585,39 +2630,44 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2585
2630
  tableInstance: tableInstance
2586
2631
  });
2587
2632
  },
2588
- selected: getIsSelected()
2589
- }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
2633
+ selected: row.getIsSelected()
2634
+ }, tableRowProps, {
2635
+ sx: function sx(theme) {
2636
+ return _extends({
2637
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.06),
2638
+ transition: 'all 0.2s ease-in-out',
2639
+ '&:hover td': {
2640
+ 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
2641
+ }
2642
+ }, tableRowProps == null ? void 0 : tableRowProps.sx);
2643
+ }
2644
+ }), row.getVisibleCells().map(function (cell) {
2590
2645
  return React__default.createElement(MRT_TableBodyCell, {
2591
2646
  cell: cell,
2592
- key: cell.getCellProps().key,
2647
+ key: cell.id,
2648
+ enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2593
2649
  tableInstance: tableInstance
2594
2650
  });
2595
- })), renderDetailPanel && !getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
2651
+ })), renderDetailPanel && !row.getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
2596
2652
  row: row,
2597
2653
  tableInstance: tableInstance
2598
2654
  }));
2599
2655
  };
2600
2656
 
2601
2657
  var MRT_TableBody = function MRT_TableBody(_ref) {
2602
- var pinned = _ref.pinned,
2603
- tableInstance = _ref.tableInstance;
2658
+ var tableInstance = _ref.tableInstance;
2604
2659
  var getPaginationRowModel = tableInstance.getPaginationRowModel,
2605
2660
  getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2606
- getTableBodyProps = tableInstance.getTableBodyProps,
2607
2661
  _tableInstance$option = tableInstance.options,
2608
2662
  enablePagination = _tableInstance$option.enablePagination,
2609
2663
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
2610
2664
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
2611
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2665
+ var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2612
2666
  tableInstance: tableInstance
2613
2667
  }) : muiTableBodyProps;
2614
-
2615
- var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2616
-
2617
2668
  return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
2618
2669
  return React__default.createElement(MRT_TableBodyRow, {
2619
- key: row.getRowProps().key,
2620
- pinned: pinned,
2670
+ key: row.id,
2621
2671
  row: row,
2622
2672
  tableInstance: tableInstance
2623
2673
  });
@@ -2625,7 +2675,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
2625
2675
  };
2626
2676
 
2627
2677
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2628
- var _ref2, _column$Footer;
2678
+ var _ref2, _ref3, _column$columnDef$Foo;
2629
2679
 
2630
2680
  var footer = _ref.footer,
2631
2681
  tableInstance = _ref.tableInstance;
@@ -2647,30 +2697,30 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2647
2697
  tableInstance: tableInstance
2648
2698
  }) : column.muiTableFooterCellProps;
2649
2699
 
2650
- var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
2700
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
2651
2701
 
2652
2702
  return React__default.createElement(material.TableCell, Object.assign({
2653
2703
  align: column.columnDefType === 'group' ? 'center' : 'left',
2704
+ colSpan: footer.colSpan,
2654
2705
  variant: "head"
2655
2706
  }, tableCellProps, {
2656
- //@ts-ignore
2657
2707
  sx: function sx(theme) {
2658
2708
  return _extends({
2659
2709
  backgroundColor: theme.palette.background["default"],
2660
2710
  backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2661
2711
  fontWeight: 'bold',
2662
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2663
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2712
+ maxWidth: column.getSize() + "px",
2713
+ minWidth: column.getSize() + "px",
2664
2714
  p: isDensePadding ? '0.5rem' : '1rem',
2665
2715
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
2666
- width: column.getWidth(),
2716
+ width: column.getSize(),
2667
2717
  verticalAlign: 'text-top'
2668
2718
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2669
2719
  }
2670
- }), footer.isPlaceholder ? null : (_ref2 = (_column$Footer = column.Footer == null ? void 0 : column.Footer({
2720
+ }), React__default.createElement(React__default.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2671
2721
  footer: footer,
2672
2722
  tableInstance: tableInstance
2673
- })) != null ? _column$Footer : column.footer) != null ? _ref2 : null);
2723
+ })) != null ? _column$columnDef$Foo : column.columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
2674
2724
  };
2675
2725
 
2676
2726
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -2681,99 +2731,63 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2681
2731
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2682
2732
 
2683
2733
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2684
- return h.column.columnDef.footer || h.column.Footer;
2734
+ return typeof h.column.columnDef.footer === 'string' && !!h.column.columnDef.footer || h.column.columnDef.Footer;
2685
2735
  }))) return null;
2686
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2736
+ var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2687
2737
  footerGroup: footerGroup,
2688
2738
  tableInstance: tableInstance
2689
2739
  }) : muiTableFooterRowProps;
2690
-
2691
- var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
2692
-
2693
2740
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
2694
2741
  return React__default.createElement(MRT_TableFooterCell, {
2695
2742
  footer: footer,
2696
- key: footer.getFooterProps().key,
2743
+ key: footer.id,
2697
2744
  tableInstance: tableInstance
2698
2745
  });
2699
2746
  }));
2700
2747
  };
2701
2748
 
2702
2749
  var MRT_TableFooter = function MRT_TableFooter(_ref) {
2703
- var pinned = _ref.pinned,
2704
- tableInstance = _ref.tableInstance;
2705
- var getCenterFooterGroups = tableInstance.getCenterFooterGroups,
2706
- getFooterGroups = tableInstance.getFooterGroups,
2707
- getLeftFooterGroups = tableInstance.getLeftFooterGroups,
2708
- getRightFooterGroups = tableInstance.getRightFooterGroups,
2750
+ var tableInstance = _ref.tableInstance;
2751
+ var getFooterGroups = tableInstance.getFooterGroups,
2709
2752
  muiTableFooterProps = tableInstance.options.muiTableFooterProps;
2710
2753
  var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
2711
2754
  tableInstance: tableInstance
2712
2755
  }) : muiTableFooterProps;
2713
- var getFooterGroupsMap = {
2714
- center: getCenterFooterGroups,
2715
- left: getLeftFooterGroups,
2716
- none: getFooterGroups,
2717
- right: getRightFooterGroups
2718
- };
2719
- return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroupsMap[pinned]().map(function (footerGroup) {
2756
+ return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroups().map(function (footerGroup) {
2720
2757
  return React__default.createElement(MRT_TableFooterRow, {
2721
2758
  footerGroup: footerGroup,
2722
- key: footerGroup.getFooterGroupProps().key,
2759
+ key: footerGroup.id,
2723
2760
  tableInstance: tableInstance
2724
2761
  });
2725
2762
  }));
2726
2763
  };
2727
2764
 
2728
2765
  var MRT_Table = function MRT_Table(_ref) {
2729
- var pinned = _ref.pinned,
2730
- tableInstance = _ref.tableInstance;
2731
- var getTableProps = tableInstance.getTableProps,
2732
- _tableInstance$option = tableInstance.options,
2766
+ var tableInstance = _ref.tableInstance;
2767
+ var _tableInstance$option = tableInstance.options,
2733
2768
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2734
2769
  enableTableFooter = _tableInstance$option.enableTableFooter,
2735
2770
  enableTableHead = _tableInstance$option.enableTableHead,
2736
2771
  muiTableProps = _tableInstance$option.muiTableProps;
2737
- var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2772
+ var tableProps = muiTableProps instanceof Function ? muiTableProps({
2738
2773
  tableInstance: tableInstance
2739
2774
  }) : muiTableProps;
2740
-
2741
- var tableProps = _extends({}, getTableProps(), mTableProps);
2742
-
2743
2775
  return React__default.createElement(material.Table, Object.assign({
2744
2776
  stickyHeader: enableStickyHeader
2745
2777
  }, tableProps), enableTableHead && React__default.createElement(MRT_TableHead, {
2746
- pinned: pinned,
2747
2778
  tableInstance: tableInstance
2748
2779
  }), React__default.createElement(MRT_TableBody, {
2749
- pinned: pinned,
2750
2780
  tableInstance: tableInstance
2751
2781
  }), enableTableFooter && React__default.createElement(MRT_TableFooter, {
2752
- pinned: pinned,
2753
2782
  tableInstance: tableInstance
2754
2783
  }));
2755
2784
  };
2756
2785
 
2757
- var commonBoxStyles = function commonBoxStyles(_ref) {
2758
- var pinned = _ref.pinned,
2759
- theme = _ref.theme,
2760
- visible = _ref.visible;
2761
- return {
2762
- display: 'grid',
2763
- minWidth: visible ? '200px' : 0,
2764
- overflowX: pinned ? 'scroll' : 'auto',
2765
- 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'
2766
- };
2767
- };
2768
-
2769
- var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2770
- var tableInstance = _ref2.tableInstance;
2771
- var getCenterTableWidth = tableInstance.getCenterTableWidth,
2772
- getLeftTableWidth = tableInstance.getLeftTableWidth,
2773
- getRightTableWidth = tableInstance.getRightTableWidth,
2774
- getState = tableInstance.getState,
2786
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
2787
+ var MRT_TableContainer = function MRT_TableContainer(_ref) {
2788
+ var tableInstance = _ref.tableInstance;
2789
+ var getState = tableInstance.getState,
2775
2790
  _tableInstance$option = tableInstance.options,
2776
- enablePinning = _tableInstance$option.enablePinning,
2777
2791
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2778
2792
  idPrefix = _tableInstance$option.idPrefix,
2779
2793
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
@@ -2788,15 +2802,13 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2788
2802
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2789
2803
  tableInstance: tableInstance
2790
2804
  }) : muiTableContainerProps;
2791
- React.useEffect(function () {
2805
+ useIsomorphicLayoutEffect(function () {
2792
2806
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
2793
2807
 
2794
2808
  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;
2795
2809
  var bottomToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB3 = (_document2 = document) == null ? void 0 : (_document2$getElement = _document2.getElementById("mrt-" + idPrefix + "-toolbar-bottom")) == null ? void 0 : _document2$getElement.offsetHeight) != null ? _document$getElementB3 : 0 : 0;
2796
2810
  setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
2797
2811
  });
2798
- var isSomeColumnsPinnedLeft = !!tableInstance.getLeftFlatHeaders().length;
2799
- var isSomeColumnsPinnedRight = !!tableInstance.getRightFlatHeaders().length;
2800
2812
  return React__default.createElement(material.TableContainer, Object.assign({}, tableContainerProps, {
2801
2813
  sx: _extends({
2802
2814
  maxWidth: '100%',
@@ -2806,45 +2818,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2806
2818
  style: {
2807
2819
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
2808
2820
  }
2809
- }), enablePinning && isSomeColumnsPinnedLeft || isSomeColumnsPinnedRight ? React__default.createElement(material.Box, {
2810
- sx: {
2811
- display: 'grid',
2812
- gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
2813
- }
2814
- }, React__default.createElement(material.Box, {
2815
- sx: function sx(theme) {
2816
- return commonBoxStyles({
2817
- pinned: 'left',
2818
- theme: theme,
2819
- visible: isSomeColumnsPinnedLeft
2820
- });
2821
- }
2822
- }, React__default.createElement(MRT_Table, {
2823
- pinned: "left",
2824
- tableInstance: tableInstance
2825
- })), React__default.createElement(material.Box, {
2826
- sx: function sx(theme) {
2827
- return commonBoxStyles({
2828
- theme: theme,
2829
- visible: !!tableInstance.getCenterFlatHeaders().length
2830
- });
2831
- }
2832
- }, React__default.createElement(MRT_Table, {
2833
- pinned: "center",
2834
- tableInstance: tableInstance
2835
- })), React__default.createElement(material.Box, {
2836
- sx: function sx(theme) {
2837
- return commonBoxStyles({
2838
- pinned: 'right',
2839
- theme: theme,
2840
- visible: isSomeColumnsPinnedRight
2841
- });
2842
- }
2843
- }, React__default.createElement(MRT_Table, {
2844
- pinned: "right",
2845
- tableInstance: tableInstance
2846
- }))) : React__default.createElement(MRT_Table, {
2847
- pinned: "none",
2821
+ }), React__default.createElement(MRT_Table, {
2848
2822
  tableInstance: tableInstance
2849
2823
  }));
2850
2824
  };
@@ -2946,7 +2920,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
2946
2920
  };
2947
2921
 
2948
2922
  var MRT_TableRoot = function MRT_TableRoot(props) {
2949
- 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;
2923
+ 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;
2950
2924
 
2951
2925
  var _useState = React.useState(props.idPrefix),
2952
2926
  idPrefix = _useState[0],
@@ -3010,7 +2984,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3010
2984
  var _useState8 = React.useState({
3011
2985
  pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
3012
2986
  pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
3013
- pageCount: (_initialState$paginat5 = initialState == null ? void 0 : (_initialState$paginat6 = initialState.pagination) == null ? void 0 : _initialState$paginat6.pageCount) != null ? _initialState$paginat5 : -1
2987
+ pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
3014
2988
  }),
3015
2989
  pagination = _useState8[0],
3016
2990
  setPagination = _useState8[1];
@@ -3019,13 +2993,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3019
2993
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3020
2994
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
3021
2995
 
3022
- 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;
2996
+ 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;
3023
2997
  })));
3024
2998
  }),
3025
2999
  currentFilterFns = _useState9[0],
3026
3000
  setCurrentFilterFns = _useState9[1];
3027
3001
 
3028
- var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.BEST_MATCH_FIRST),
3002
+ var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
3029
3003
  currentGlobalFilterFn = _useState10[0],
3030
3004
  setCurrentGlobalFilterFn = _useState10[1];
3031
3005
 
@@ -3045,9 +3019,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3045
3019
  },
3046
3020
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3047
3021
  id: 'mrt-row-actions',
3048
- maxWidth: 60,
3049
- width: 60
3050
- }), (props.enableExpanded || props.enableGrouping) && createDisplayColumn(table, {
3022
+ size: 60
3023
+ }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
3051
3024
  Cell: function Cell(_ref4) {
3052
3025
  var cell = _ref4.cell;
3053
3026
  return React__default.createElement(MRT_ExpandButton, {
@@ -3062,8 +3035,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3062
3035
  },
3063
3036
  header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3064
3037
  id: 'mrt-expand',
3065
- maxWidth: 40,
3066
- width: 40
3038
+ size: 50
3067
3039
  }), props.enableRowSelection && createDisplayColumn(table, {
3068
3040
  Cell: function Cell(_ref5) {
3069
3041
  var cell = _ref5.cell;
@@ -3080,8 +3052,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3080
3052
  },
3081
3053
  header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3082
3054
  id: 'mrt-select',
3083
- maxWidth: 40,
3084
- width: 40
3055
+ size: 50
3085
3056
  }), props.enableRowNumbers && createDisplayColumn(table, {
3086
3057
  Cell: function Cell(_ref6) {
3087
3058
  var cell = _ref6.cell;
@@ -3094,39 +3065,39 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3094
3065
  },
3095
3066
  header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3096
3067
  id: 'mrt-row-numbers',
3097
- maxWidth: 40,
3098
- width: 40,
3099
- minWidth: 40
3068
+ size: 50
3100
3069
  })].filter(Boolean);
3101
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3070
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3102
3071
  var columns = React.useMemo(function () {
3103
- return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3072
+ return [].concat(displayColumns, props.columns.map(function (column) {
3104
3073
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3105
- })));
3074
+ }));
3106
3075
  }, [table, props.columns, currentFilterFns]);
3107
3076
  var data = React.useMemo(function () {
3108
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3077
+ var _props$state, _props$state2;
3078
+
3079
+ 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 () {
3109
3080
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3110
3081
  var _ref7;
3111
3082
 
3112
3083
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3113
3084
  })));
3114
3085
  }) : props.data;
3115
- }, [props.data, props.isLoading]); //@ts-ignore
3086
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3116
3087
 
3117
3088
  var tableInstance = _extends({}, reactTable.useTableInstance(table, _extends({
3118
- //@ts-ignore
3119
3089
  filterFns: defaultFilterFNs,
3120
- getColumnFilteredRowModel: reactTable.getColumnFilteredRowModelSync(),
3121
- getCoreRowModel: reactTable.getCoreRowModelSync(),
3090
+ getCoreRowModel: reactTable.getCoreRowModel(),
3122
3091
  getExpandedRowModel: reactTable.getExpandedRowModel(),
3123
- getGlobalFilteredRowModel: reactTable.getGlobalFilteredRowModelSync(),
3124
- getGroupedRowModel: reactTable.getGroupedRowModelSync(),
3092
+ getFacetedRowModel: reactTable.getFacetedRowModel(),
3093
+ getFilteredRowModel: reactTable.getFilteredRowModel(),
3094
+ getGroupedRowModel: reactTable.getGroupedRowModel(),
3125
3095
  getPaginationRowModel: reactTable.getPaginationRowModel(),
3126
- getSortedRowModel: reactTable.getSortedRowModelSync(),
3127
- getSubRows: function getSubRows(originalRow) {
3128
- return originalRow.subRows;
3096
+ getSortedRowModel: reactTable.getSortedRowModel(),
3097
+ getSubRows: function getSubRows(row) {
3098
+ return row == null ? void 0 : row.subRows;
3129
3099
  },
3100
+ //@ts-ignore
3130
3101
  globalFilterFn: currentGlobalFilterFn,
3131
3102
  onPaginationChange: function onPaginationChange(updater) {
3132
3103
  return setPagination(function (old) {
@@ -3134,10 +3105,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3134
3105
  });
3135
3106
  }
3136
3107
  }, props, {
3108
+ //@ts-ignore
3137
3109
  columns: columns,
3138
3110
  data: data,
3139
3111
  idPrefix: idPrefix,
3140
- //@ts-ignore
3141
3112
  initialState: initialState,
3142
3113
  state: _extends({
3143
3114
  currentEditingCell: currentEditingCell,
@@ -3152,12 +3123,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3152
3123
  showGlobalFilter: showGlobalFilter
3153
3124
  }, props.state)
3154
3125
  })), {
3155
- //@ts-ignore
3156
3126
  setCurrentEditingCell: setCurrentEditingCell,
3157
- //@ts-ignore
3158
3127
  setCurrentEditingRow: setCurrentEditingRow,
3159
3128
  setCurrentFilterFns: setCurrentFilterFns,
3160
- //@ts-ignore
3161
3129
  setCurrentGlobalFilterFn: setCurrentGlobalFilterFn,
3162
3130
  setIsDensePadding: setIsDensePadding,
3163
3131
  setIsFullScreen: setIsFullScreen,
@@ -3205,14 +3173,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3205
3173
  }));
3206
3174
  };
3207
3175
 
3208
- 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"];
3176
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "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"];
3209
3177
  var MaterialReactTable = (function (_ref) {
3210
3178
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3211
3179
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3212
- _ref$autoResetSorting = _ref.autoResetSorting,
3213
- autoResetSorting = _ref$autoResetSorting === void 0 ? false : _ref$autoResetSorting,
3214
3180
  _ref$columnResizeMode = _ref.columnResizeMode,
3215
3181
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3182
+ _ref$defaultColumn = _ref.defaultColumn,
3183
+ defaultColumn = _ref$defaultColumn === void 0 ? {
3184
+ minSize: 50,
3185
+ maxSize: 1000,
3186
+ size: 150
3187
+ } : _ref$defaultColumn,
3216
3188
  _ref$editingMode = _ref.editingMode,
3217
3189
  editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
3218
3190
  _ref$enableColumnActi = _ref.enableColumnActions,
@@ -3237,6 +3209,8 @@ var MaterialReactTable = (function (_ref) {
3237
3209
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3238
3210
  _ref$enablePagination = _ref.enablePagination,
3239
3211
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3212
+ _ref$enablePinning = _ref.enablePinning,
3213
+ enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3240
3214
  _ref$enableSelectAll = _ref.enableSelectAll,
3241
3215
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3242
3216
  _ref$enableSorting = _ref.enableSorting,
@@ -3269,12 +3243,12 @@ var MaterialReactTable = (function (_ref) {
3269
3243
 
3270
3244
  return React__default.createElement(MRT_TableRoot, Object.assign({
3271
3245
  autoResetExpanded: autoResetExpanded,
3272
- autoResetSorting: autoResetSorting,
3273
3246
  columnResizeMode: columnResizeMode,
3247
+ defaultColumn: defaultColumn,
3274
3248
  editingMode: editingMode,
3275
3249
  enableColumnActions: enableColumnActions,
3276
- enableColumnResizing: enableColumnResizing,
3277
3250
  enableColumnFilters: enableColumnFilters,
3251
+ enableColumnResizing: enableColumnResizing,
3278
3252
  enableDensePaddingToggle: enableDensePaddingToggle,
3279
3253
  enableExpandAll: enableExpandAll,
3280
3254
  enableFilters: enableFilters,
@@ -3283,6 +3257,7 @@ var MaterialReactTable = (function (_ref) {
3283
3257
  enableHiding: enableHiding,
3284
3258
  enableMultiRowSelection: enableMultiRowSelection,
3285
3259
  enablePagination: enablePagination,
3260
+ enablePinning: enablePinning,
3286
3261
  enableSelectAll: enableSelectAll,
3287
3262
  enableSorting: enableSorting,
3288
3263
  enableStickyHeader: enableStickyHeader,