material-react-table 0.7.6 → 0.8.0-alpha.1

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 (53) hide show
  1. package/dist/MaterialReactTable.d.ts +13 -15
  2. package/dist/body/MRT_TableBody.d.ts +0 -1
  3. package/dist/body/MRT_TableBodyCell.d.ts +1 -0
  4. package/dist/body/MRT_TableBodyRow.d.ts +0 -1
  5. package/dist/buttons/MRT_CopyButton.d.ts +2 -1
  6. package/dist/enums.d.ts +2 -2
  7. package/dist/filtersFNs.d.ts +31 -30
  8. package/dist/footer/MRT_TableFooter.d.ts +0 -1
  9. package/dist/head/MRT_TableHead.d.ts +0 -1
  10. package/dist/inputs/MRT_FilterRangeFields.d.ts +8 -0
  11. package/dist/inputs/MRT_FilterTextField.d.ts +1 -0
  12. package/dist/localization.d.ts +6 -2
  13. package/dist/material-react-table.cjs.development.js +372 -402
  14. package/dist/material-react-table.cjs.development.js.map +1 -1
  15. package/dist/material-react-table.cjs.production.min.js +1 -1
  16. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  17. package/dist/material-react-table.esm.js +375 -405
  18. package/dist/material-react-table.esm.js.map +1 -1
  19. package/dist/table/MRT_Table.d.ts +0 -1
  20. package/dist/toolbar/MRT_ToolbarTop.d.ts +1 -0
  21. package/dist/utils.d.ts +1 -1
  22. package/package.json +24 -24
  23. package/src/MaterialReactTable.tsx +17 -24
  24. package/src/body/MRT_TableBody.tsx +3 -11
  25. package/src/body/MRT_TableBodyCell.tsx +102 -51
  26. package/src/body/MRT_TableBodyRow.tsx +21 -30
  27. package/src/buttons/MRT_ColumnPinningButtons.tsx +28 -40
  28. package/src/buttons/MRT_CopyButton.tsx +3 -2
  29. package/src/buttons/MRT_EditActionButtons.tsx +1 -2
  30. package/src/buttons/MRT_ExpandAllButton.tsx +1 -2
  31. package/src/enums.ts +2 -2
  32. package/src/filtersFNs.ts +71 -81
  33. package/src/footer/MRT_TableFooter.tsx +6 -16
  34. package/src/footer/MRT_TableFooterCell.tsx +5 -7
  35. package/src/footer/MRT_TableFooterRow.tsx +5 -8
  36. package/src/head/MRT_TableHead.tsx +5 -16
  37. package/src/head/MRT_TableHeadCell.tsx +98 -39
  38. package/src/head/MRT_TableHeadRow.tsx +8 -15
  39. package/src/inputs/MRT_EditCellTextField.tsx +2 -2
  40. package/src/inputs/MRT_FilterRangeFields.tsx +41 -0
  41. package/src/inputs/MRT_FilterTextField.tsx +73 -41
  42. package/src/inputs/MRT_SelectCheckbox.tsx +16 -17
  43. package/src/localization.ts +13 -5
  44. package/src/menus/MRT_ColumnActionMenu.tsx +7 -6
  45. package/src/menus/MRT_FilterOptionMenu.tsx +36 -33
  46. package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
  47. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +3 -5
  48. package/src/table/MRT_Table.tsx +5 -16
  49. package/src/table/MRT_TableContainer.tsx +7 -78
  50. package/src/table/MRT_TableRoot.tsx +51 -51
  51. package/src/toolbar/MRT_LinearProgressBar.tsx +5 -2
  52. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +3 -2
  53. package/src/toolbar/MRT_ToolbarTop.tsx +4 -6
@@ -36,10 +36,10 @@ var ViewColumnIcon = _interopDefault(require('@mui/icons-material/ViewColumn'));
36
36
  var VisibilityOffIcon = _interopDefault(require('@mui/icons-material/VisibilityOff'));
37
37
  var reactTable = require('@tanstack/react-table');
38
38
  var material = require('@mui/material');
39
- var matchSorter = require('match-sorter');
39
+ var matchSorterUtils = require('@tanstack/match-sorter-utils');
40
40
 
41
41
  function _extends() {
42
- _extends = Object.assign || function (target) {
42
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
43
43
  for (var i = 1; i < arguments.length; i++) {
44
44
  var source = arguments[i];
45
45
 
@@ -52,7 +52,6 @@ function _extends() {
52
52
 
53
53
  return target;
54
54
  };
55
-
56
55
  return _extends.apply(this, arguments);
57
56
  }
58
57
 
@@ -73,6 +72,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
73
72
 
74
73
  var MRT_DefaultLocalization_EN = {
75
74
  actions: 'Actions',
75
+ and: 'and',
76
76
  cancel: 'Cancel',
77
77
  changeFilterMode: 'Change filter mode',
78
78
  changeSearchMode: 'Change search mode',
@@ -85,24 +85,26 @@ var MRT_DefaultLocalization_EN = {
85
85
  edit: 'Edit',
86
86
  expand: 'Expand',
87
87
  expandAll: 'Expand all',
88
- filterBestMatch: 'Best Match',
89
- filterBestMatchFirst: 'Best Match First',
88
+ filterBetween: 'Between',
90
89
  filterByColumn: 'Filter by {column}',
91
90
  filterContains: 'Contains',
92
91
  filterEmpty: 'Empty',
93
92
  filterEndsWith: 'Ends With',
94
93
  filterEquals: 'Equals',
94
+ filterFuzzy: 'Fuzzy',
95
95
  filterGreaterThan: 'Greater Than',
96
96
  filterLessThan: 'Less Than',
97
97
  filterMode: 'Filter Mode: {filterType}',
98
98
  filterNotEmpty: 'Not Empty',
99
99
  filterNotEquals: 'Not Equals',
100
100
  filterStartsWith: 'Starts With',
101
- filteringByColumn: 'Filtering by {column} - {filterType} "{filterValue}"',
101
+ filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
102
102
  groupByColumn: 'Group by {column}',
103
103
  groupedBy: 'Grouped by ',
104
104
  hideAll: 'Hide all',
105
105
  hideColumn: 'Hide {column} column',
106
+ max: 'Max',
107
+ min: 'Min',
106
108
  pinToLeft: 'Pin to left',
107
109
  pinToRight: 'Pin to right',
108
110
  resetColumnSize: 'Reset column size',
@@ -123,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',
@@ -171,12 +174,12 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
171
174
  getState = tableInstance.getState,
172
175
  _tableInstance$option = tableInstance.options,
173
176
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
174
- isLoading = _tableInstance$option.isLoading,
175
177
  localization = _tableInstance$option.localization,
176
178
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
177
179
 
178
180
  var _getState = getState(),
179
- isDensePadding = _getState.isDensePadding;
181
+ isDensePadding = _getState.isDensePadding,
182
+ isLoading = _getState.isLoading;
180
183
 
181
184
  return React__default.createElement(material.IconButton, {
182
185
  "aria-label": localization.expandAll,
@@ -239,12 +242,12 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
239
242
  var MRT_FILTER_OPTION;
240
243
 
241
244
  (function (MRT_FILTER_OPTION) {
242
- MRT_FILTER_OPTION["BEST_MATCH"] = "bestMatch";
243
- MRT_FILTER_OPTION["BEST_MATCH_FIRST"] = "bestMatchFirst";
245
+ MRT_FILTER_OPTION["BETWEEN"] = "between";
244
246
  MRT_FILTER_OPTION["CONTAINS"] = "contains";
245
247
  MRT_FILTER_OPTION["EMPTY"] = "empty";
246
248
  MRT_FILTER_OPTION["ENDS_WITH"] = "endsWith";
247
249
  MRT_FILTER_OPTION["EQUALS"] = "equals";
250
+ MRT_FILTER_OPTION["FUZZY"] = "fuzzy";
248
251
  MRT_FILTER_OPTION["GREATER_THAN"] = "greaterThan";
249
252
  MRT_FILTER_OPTION["LESS_THAN"] = "lessThan";
250
253
  MRT_FILTER_OPTION["NOT_EMPTY"] = "notEmpty";
@@ -252,117 +255,92 @@ var MRT_FILTER_OPTION;
252
255
  MRT_FILTER_OPTION["STARTS_WITH"] = "startsWith";
253
256
  })(MRT_FILTER_OPTION || (MRT_FILTER_OPTION = {}));
254
257
 
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]
260
- });
261
- };
262
-
263
- bestMatchFirst.autoRemove = function (val) {
264
- return !val;
265
- };
266
-
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
- }
258
+ var fuzzy = function fuzzy(row, columnId, value, addMeta) {
259
+ var itemRank = matchSorterUtils.rankItem(row.getValue(columnId), value, {
260
+ threshold: matchSorterUtils.rankings.MATCHES
275
261
  });
262
+ addMeta(itemRank);
263
+ return itemRank.passed;
276
264
  };
277
265
 
278
- bestMatch.autoRemove = function (val) {
266
+ fuzzy.autoRemove = function (val) {
279
267
  return !val;
280
268
  };
281
269
 
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
- });
270
+ var contains = function contains(row, id, filterValue) {
271
+ return row.getValue(id).toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
286
272
  };
287
273
 
288
274
  contains.autoRemove = function (val) {
289
275
  return !val;
290
276
  };
291
277
 
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
- });
278
+ var startsWith = function startsWith(row, id, filterValue) {
279
+ return row.getValue(id).toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
296
280
  };
297
281
 
298
282
  startsWith.autoRemove = function (val) {
299
283
  return !val;
300
284
  };
301
285
 
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
- });
286
+ var endsWith = function endsWith(row, id, filterValue) {
287
+ return row.getValue(id).toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
306
288
  };
307
289
 
308
290
  endsWith.autoRemove = function (val) {
309
291
  return !val;
310
292
  };
311
293
 
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
- });
294
+ var equals = function equals(row, id, filterValue) {
295
+ return row.getValue(id).toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
316
296
  };
317
297
 
318
298
  equals.autoRemove = function (val) {
319
299
  return !val;
320
300
  };
321
301
 
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
- });
302
+ var notEquals = function notEquals(row, id, filterValue) {
303
+ return row.getValue(id).toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
326
304
  };
327
305
 
328
306
  notEquals.autoRemove = function (val) {
329
307
  return !val;
330
308
  };
331
309
 
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
- });
310
+ var greaterThan = function greaterThan(row, id, filterValue) {
311
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) >= +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
336
312
  };
337
313
 
338
314
  greaterThan.autoRemove = function (val) {
339
315
  return !val;
340
316
  };
341
317
 
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
- });
318
+ var lessThan = function lessThan(row, id, filterValue) {
319
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) <= +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
346
320
  };
347
321
 
348
322
  lessThan.autoRemove = function (val) {
349
323
  return !val;
350
324
  };
351
325
 
352
- var empty = function empty(rows, id, _filterValue) {
353
- return rows.filter(function (row) {
354
- return !row.values[id].toString().toLowerCase().trim();
355
- });
326
+ var between = function between(row, id, filterValues) {
327
+ 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]));
328
+ };
329
+
330
+ between.autoRemove = function (val) {
331
+ return !val;
332
+ };
333
+
334
+ var empty = function empty(row, id, _filterValue) {
335
+ return !row.getValue(id).toString().trim();
356
336
  };
357
337
 
358
338
  empty.autoRemove = function (val) {
359
339
  return !val;
360
340
  };
361
341
 
362
- var notEmpty = function notEmpty(rows, id, _filterValue) {
363
- return rows.filter(function (row) {
364
- return !!row.values[id].toString().toLowerCase().trim();
365
- });
342
+ var notEmpty = function notEmpty(row, id, _filterValue) {
343
+ return !!row.getValue(id).toString().trim();
366
344
  };
367
345
 
368
346
  notEmpty.autoRemove = function (val) {
@@ -370,12 +348,12 @@ notEmpty.autoRemove = function (val) {
370
348
  };
371
349
 
372
350
  var defaultFilterFNs = {
373
- bestMatch: bestMatch,
374
- bestMatchFirst: bestMatchFirst,
351
+ between: between,
375
352
  contains: contains,
376
353
  empty: empty,
377
354
  endsWith: endsWith,
378
355
  equals: equals,
356
+ fuzzy: fuzzy,
379
357
  greaterThan: greaterThan,
380
358
  lessThan: lessThan,
381
359
  notEmpty: notEmpty,
@@ -408,62 +386,62 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
408
386
 
409
387
  var filterOptions = React.useMemo(function () {
410
388
  return [{
411
- type: MRT_FILTER_OPTION.BEST_MATCH_FIRST,
412
- label: localization.filterBestMatchFirst,
389
+ option: MRT_FILTER_OPTION.FUZZY,
390
+ label: localization.filterFuzzy,
413
391
  divider: false,
414
- fn: bestMatchFirst
415
- }, {
416
- type: MRT_FILTER_OPTION.BEST_MATCH,
417
- label: localization.filterBestMatch,
418
- divider: !!header,
419
- fn: bestMatch
392
+ fn: fuzzy
420
393
  }, {
421
- type: MRT_FILTER_OPTION.CONTAINS,
394
+ option: MRT_FILTER_OPTION.CONTAINS,
422
395
  label: localization.filterContains,
423
396
  divider: false,
424
397
  fn: contains
425
398
  }, {
426
- type: MRT_FILTER_OPTION.STARTS_WITH,
399
+ option: MRT_FILTER_OPTION.STARTS_WITH,
427
400
  label: localization.filterStartsWith,
428
401
  divider: false,
429
402
  fn: startsWith
430
403
  }, {
431
- type: MRT_FILTER_OPTION.ENDS_WITH,
404
+ option: MRT_FILTER_OPTION.ENDS_WITH,
432
405
  label: localization.filterEndsWith,
433
406
  divider: true,
434
407
  fn: endsWith
435
408
  }, {
436
- type: MRT_FILTER_OPTION.EQUALS,
409
+ option: MRT_FILTER_OPTION.EQUALS,
437
410
  label: localization.filterEquals,
438
411
  divider: false,
439
412
  fn: equals
440
413
  }, {
441
- type: MRT_FILTER_OPTION.NOT_EQUALS,
414
+ option: MRT_FILTER_OPTION.NOT_EQUALS,
442
415
  label: localization.filterNotEquals,
443
416
  divider: true,
444
417
  fn: notEquals
445
418
  }, {
446
- type: MRT_FILTER_OPTION.GREATER_THAN,
419
+ option: MRT_FILTER_OPTION.BETWEEN,
420
+ label: localization.filterBetween,
421
+ divider: false,
422
+ fn: between
423
+ }, {
424
+ option: MRT_FILTER_OPTION.GREATER_THAN,
447
425
  label: localization.filterGreaterThan,
448
426
  divider: false,
449
427
  fn: greaterThan
450
428
  }, {
451
- type: MRT_FILTER_OPTION.LESS_THAN,
429
+ option: MRT_FILTER_OPTION.LESS_THAN,
452
430
  label: localization.filterLessThan,
453
431
  divider: true,
454
432
  fn: lessThan
455
433
  }, {
456
- type: MRT_FILTER_OPTION.EMPTY,
434
+ option: MRT_FILTER_OPTION.EMPTY,
457
435
  label: localization.filterEmpty,
458
436
  divider: false,
459
437
  fn: empty
460
438
  }, {
461
- type: MRT_FILTER_OPTION.NOT_EMPTY,
439
+ option: MRT_FILTER_OPTION.NOT_EMPTY,
462
440
  label: localization.filterNotEmpty,
463
441
  divider: false,
464
442
  fn: notEmpty
465
443
  }].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);
444
+ 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
445
  });
468
446
  }, []);
469
447
 
@@ -476,7 +454,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
476
454
  });
477
455
 
478
456
  if ([MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)) {
479
- header.column.setColumnFilterValue(' ');
457
+ header.column.setFilterValue(' ');
458
+ } else if (value === MRT_FILTER_OPTION.BETWEEN) {
459
+ header.column.setFilterValue(['', '']);
460
+ } else {
461
+ header.column.setFilterValue('');
480
462
  }
481
463
  } else {
482
464
  setCurrentGlobalFilterFn(value);
@@ -486,7 +468,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
486
468
  onSelect == null ? void 0 : onSelect();
487
469
  };
488
470
 
489
- var filterType = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
471
+ var filterOption = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
490
472
  return React__default.createElement(material.Menu, {
491
473
  anchorEl: anchorEl,
492
474
  anchorOrigin: {
@@ -501,7 +483,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
501
483
  dense: isDensePadding
502
484
  }
503
485
  }, filterOptions.map(function (_ref2, index) {
504
- var type = _ref2.type,
486
+ var option = _ref2.option,
505
487
  label = _ref2.label,
506
488
  divider = _ref2.divider,
507
489
  fn = _ref2.fn;
@@ -509,11 +491,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
509
491
  divider: divider,
510
492
  key: index,
511
493
  onClick: function onClick() {
512
- return handleSelectFilterType(type);
494
+ return handleSelectFilterType(option);
513
495
  },
514
- selected: type === filterType || fn === filterType,
496
+ selected: option === filterOption || fn === filterOption,
515
497
  sx: commonMenuItemStyles,
516
- value: type
498
+ value: option
517
499
  }, label);
518
500
  }));
519
501
  };
@@ -521,52 +503,51 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
521
503
  var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
522
504
  var column = _ref.column,
523
505
  tableInstance = _ref.tableInstance;
524
- var getState = tableInstance.getState,
525
- _tableInstance$option = tableInstance.options,
506
+ var _tableInstance$option = tableInstance.options,
526
507
  PushPinIcon = _tableInstance$option.icons.PushPinIcon,
527
508
  localization = _tableInstance$option.localization;
528
509
 
529
- var _getState = getState(),
530
- columnOrder = _getState.columnOrder;
531
-
532
510
  var handlePinColumn = function handlePinColumn(pinDirection) {
533
511
  column.pin(pinDirection);
534
-
535
- if (column.columnDefType === 'display') {
536
- tableInstance.setColumnOrder([column.id].concat(columnOrder));
537
- }
538
512
  };
539
513
 
540
- var pinned = column.getIsPinned();
541
514
  return React__default.createElement(material.Box, {
542
515
  sx: {
543
516
  mr: '8px'
544
517
  }
545
- }, React__default.createElement(material.Tooltip, {
518
+ }, column.getIsPinned() ? React__default.createElement(material.Tooltip, {
546
519
  arrow: true,
547
- title: pinned === 'left' ? localization.unpin : localization.pinToLeft
520
+ title: localization.unpin
548
521
  }, React__default.createElement(material.IconButton, {
549
522
  onClick: function onClick() {
550
- return handlePinColumn(pinned === 'left' ? false : 'left');
523
+ return handlePinColumn(false);
524
+ },
525
+ size: "small"
526
+ }, React__default.createElement(PushPinIcon, null))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Tooltip, {
527
+ arrow: true,
528
+ title: localization.pinToLeft
529
+ }, React__default.createElement(material.IconButton, {
530
+ onClick: function onClick() {
531
+ return handlePinColumn('left');
551
532
  },
552
533
  size: "small"
553
534
  }, React__default.createElement(PushPinIcon, {
554
535
  style: {
555
- transform: pinned === 'left' ? 'rotate(0)' : 'rotate(90deg)'
536
+ transform: 'rotate(90deg)'
556
537
  }
557
538
  }))), React__default.createElement(material.Tooltip, {
558
539
  arrow: true,
559
- title: pinned === 'right' ? localization.unpin : localization.pinToRight
540
+ title: localization.pinToRight
560
541
  }, React__default.createElement(material.IconButton, {
561
542
  onClick: function onClick() {
562
- return handlePinColumn(pinned === 'right' ? false : 'right');
543
+ return handlePinColumn('right');
563
544
  },
564
545
  size: "small"
565
546
  }, React__default.createElement(PushPinIcon, {
566
547
  style: {
567
- transform: pinned === 'right' ? 'rotate(0)' : 'rotate(-90deg)'
548
+ transform: 'rotate(-90deg)'
568
549
  }
569
- }))));
550
+ })))));
570
551
  };
571
552
 
572
553
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
@@ -576,9 +557,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
576
557
  isSubMenu = _ref.isSubMenu,
577
558
  tableInstance = _ref.tableInstance;
578
559
  var getState = tableInstance.getState,
579
- _tableInstance$option = tableInstance.options,
580
- onToggleColumnVisibility = _tableInstance$option.onToggleColumnVisibility,
581
- enablePinning = _tableInstance$option.enablePinning;
560
+ onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
582
561
 
583
562
  var _getState = getState(),
584
563
  columnVisibility = _getState.columnVisibility;
@@ -613,7 +592,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
613
592
  pl: (column.depth + 0.5) * 2 + "rem",
614
593
  py: '6px'
615
594
  }
616
- }, !isSubMenu && enablePinning && React__default.createElement(MRT_ColumnPinningButtons, {
595
+ }, !isSubMenu && column.getCanPin() && React__default.createElement(MRT_ColumnPinningButtons, {
617
596
  column: column,
618
597
  tableInstance: tableInstance
619
598
  }), React__default.createElement(material.FormControlLabel, {
@@ -626,7 +605,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
626
605
  },
627
606
  checked: switchChecked,
628
607
  control: React__default.createElement(material.Switch, null),
629
- disabled: isSubMenu && switchChecked || column.enableHiding === false,
608
+ disabled: isSubMenu && switchChecked || !column.getCanHide(),
630
609
  label: column.header,
631
610
  onChange: function onChange() {
632
611
  return handleToggleColumnHidden(column);
@@ -707,7 +686,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
707
686
  }, localization.hideAll), !isSubMenu && enablePinning && React__default.createElement(material.Button, {
708
687
  disabled: !getIsSomeColumnsPinned(),
709
688
  onClick: function onClick() {
710
- return tableInstance.setColumnPinning({});
689
+ return tableInstance.resetColumnPinning(true);
711
690
  }
712
691
  }, localization.unpinAll), React__default.createElement(material.Button, {
713
692
  disabled: getIsAllColumnsVisible(),
@@ -790,7 +769,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
790
769
  setShowHideColumnsMenuAnchorEl = _useState2[1];
791
770
 
792
771
  var handleClearSort = function handleClearSort() {
793
- column.resetSorting();
772
+ column.clearSorting();
794
773
  setAnchorEl(null);
795
774
  };
796
775
 
@@ -816,6 +795,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
816
795
 
817
796
  var handlePinColumn = function handlePinColumn(pinDirection) {
818
797
  column.pin(pinDirection);
798
+ setAnchorEl(null);
819
799
  };
820
800
 
821
801
  var handleGroupByColumn = function handleGroupByColumn() {
@@ -827,7 +807,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
827
807
  };
828
808
 
829
809
  var handleClearFilter = function handleClearFilter() {
830
- column.setColumnFilterValue('');
810
+ column.setFilterValue('');
831
811
  setAnchorEl(null);
832
812
  };
833
813
 
@@ -892,8 +872,8 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
892
872
  style: {
893
873
  transform: 'rotate(180deg) scaleX(-1)'
894
874
  }
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(),
875
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanFilter() && [React__default.createElement(material.MenuItem, {
876
+ disabled: !column.getFilterValue(),
897
877
  key: 0,
898
878
  onClick: handleClearFilter,
899
879
  sx: commonMenuItemStyles$1
@@ -942,7 +922,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
942
922
  }
943
923
  })), localization.pinToLeft)), React__default.createElement(material.MenuItem, {
944
924
  disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
945
- key: 0,
925
+ key: 1,
946
926
  onClick: function onClick() {
947
927
  return handlePinColumn('right');
948
928
  },
@@ -956,7 +936,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
956
936
  })), localization.pinToRight)), React__default.createElement(material.MenuItem, {
957
937
  disabled: !column.getIsPinned(),
958
938
  divider: enableHiding,
959
- key: 0,
939
+ key: 2,
960
940
  onClick: function onClick() {
961
941
  return handlePinColumn(false);
962
942
  },
@@ -1059,7 +1039,7 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1059
1039
  var handleCancel = function handleCancel() {
1060
1040
  var _row$original;
1061
1041
 
1062
- row.values = (_row$original = row.original) != null ? _row$original : {};
1042
+ row._valuesCache = (_row$original = row.original) != null ? _row$original : {};
1063
1043
  setCurrentEditingRow(null);
1064
1044
  };
1065
1045
 
@@ -1173,31 +1153,26 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1173
1153
  var getRowModel = tableInstance.getRowModel,
1174
1154
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1175
1155
  getState = tableInstance.getState,
1176
- getToggleAllRowsSelectedProps = tableInstance.getToggleAllRowsSelectedProps,
1177
1156
  _tableInstance$option = tableInstance.options,
1178
- isLoading = _tableInstance$option.isLoading,
1179
1157
  localization = _tableInstance$option.localization,
1180
1158
  muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1181
1159
  onSelectChange = _tableInstance$option.onSelectChange,
1182
1160
  onSelectAllChange = _tableInstance$option.onSelectAllChange;
1183
1161
 
1184
1162
  var _getState = getState(),
1185
- isDensePadding = _getState.isDensePadding;
1163
+ isDensePadding = _getState.isDensePadding,
1164
+ isLoading = _getState.isLoading;
1186
1165
 
1187
1166
  var handleSelectChange = function handleSelectChange(event) {
1188
1167
  if (selectAll) {
1189
- var _getToggleAllRowsSele;
1190
-
1191
- getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1168
+ tableInstance.getToggleAllRowsSelectedHandler()(event);
1192
1169
  onSelectAllChange == null ? void 0 : onSelectAllChange({
1193
1170
  event: event,
1194
1171
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
1195
1172
  tableInstance: tableInstance
1196
1173
  });
1197
1174
  } 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);
1175
+ row == null ? void 0 : row.getToggleSelectedHandler()(event);
1201
1176
  onSelectChange == null ? void 0 : onSelectChange({
1202
1177
  event: event,
1203
1178
  row: row,
@@ -1209,33 +1184,30 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1209
1184
  }
1210
1185
  };
1211
1186
 
1212
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1187
+ var checkboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1213
1188
  isSelectAll: !!selectAll,
1214
1189
  row: row,
1215
1190
  tableInstance: tableInstance
1216
1191
  }) : muiSelectCheckboxProps;
1217
- var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1218
-
1219
- var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
1220
-
1221
1192
  return React__default.createElement(material.Tooltip, {
1222
1193
  arrow: true,
1223
1194
  enterDelay: 1000,
1224
1195
  enterNextDelay: 1000,
1225
1196
  title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1226
1197
  }, React__default.createElement(material.Checkbox, Object.assign({
1198
+ checked: selectAll ? tableInstance.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1227
1199
  disabled: isLoading,
1200
+ indeterminate: selectAll ? tableInstance.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1228
1201
  inputProps: {
1229
1202
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1230
1203
  },
1204
+ onChange: handleSelectChange,
1231
1205
  size: isDensePadding ? 'small' : 'medium'
1232
1206
  }, checkboxProps, {
1233
- sx: {
1207
+ sx: _extends({
1234
1208
  height: isDensePadding ? '1.75rem' : '2.25rem',
1235
1209
  width: isDensePadding ? '1.75rem' : '2.25rem'
1236
- },
1237
- onChange: handleSelectChange,
1238
- title: undefined
1210
+ }, checkboxProps == null ? void 0 : checkboxProps.sx)
1239
1211
  })));
1240
1212
  };
1241
1213
 
@@ -1616,7 +1588,6 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1616
1588
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1617
1589
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1618
1590
  getState = tableInstance.getState,
1619
- toggleColumnGrouping = tableInstance.toggleColumnGrouping,
1620
1591
  _tableInstance$option = tableInstance.options,
1621
1592
  localization = _tableInstance$option.localization,
1622
1593
  muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
@@ -1643,7 +1614,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1643
1614
  return column.id === columnId;
1644
1615
  })) == null ? void 0 : _tableInstance$getAll.header,
1645
1616
  onDelete: function onDelete() {
1646
- return toggleColumnGrouping(columnId);
1617
+ return tableInstance.getColumn(columnId).toggleGrouping();
1647
1618
  }
1648
1619
  }));
1649
1620
  })) : null;
@@ -1675,15 +1646,19 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1675
1646
 
1676
1647
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1677
1648
  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;
1649
+ var muiLinearProgressProps = tableInstance.options.muiLinearProgressProps,
1650
+ getState = tableInstance.getState;
1651
+
1652
+ var _getState = getState(),
1653
+ isLoading = _getState.isLoading,
1654
+ showProgressBars = _getState.showProgressBars;
1655
+
1682
1656
  var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1683
1657
  tableInstance: tableInstance
1684
1658
  }) : muiLinearProgressProps;
1685
1659
  return React__default.createElement(material.Collapse, {
1686
- "in": isReloading || isLoading,
1660
+ "in": isLoading || showProgressBars,
1661
+ mountOnEnter: true,
1687
1662
  unmountOnExit: true
1688
1663
  }, React__default.createElement(material.LinearProgress, Object.assign({
1689
1664
  "aria-label": "Loading",
@@ -1694,10 +1669,11 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1694
1669
  var commonToolbarStyles = function commonToolbarStyles(_ref) {
1695
1670
  var theme = _ref.theme;
1696
1671
  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) + ")",
1672
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.04),
1673
+ backgroundImage: 'none',
1699
1674
  display: 'grid',
1700
1675
  p: '0 !important',
1676
+ transition: 'all 0.2s ease-in-out',
1701
1677
  width: '100%',
1702
1678
  zIndex: 1
1703
1679
  };
@@ -1813,9 +1789,10 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1813
1789
  };
1814
1790
 
1815
1791
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1816
- var _column$getColumnFilt, _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1792
+ var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1817
1793
 
1818
1794
  var header = _ref.header,
1795
+ inputIndex = _ref.inputIndex,
1819
1796
  tableInstance = _ref.tableInstance;
1820
1797
  var getState = tableInstance.getState,
1821
1798
  _tableInstance$option = tableInstance.options,
@@ -1846,14 +1823,22 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1846
1823
 
1847
1824
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
1848
1825
 
1849
- var _useState2 = React.useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
1826
+ var _useState2 = React.useState(function () {
1827
+ var _column$getFilterValu, _column$getFilterValu2, _column$getFilterValu3;
1828
+
1829
+ 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 : '';
1830
+ }),
1850
1831
  filterValue = _useState2[0],
1851
1832
  setFilterValue = _useState2[1];
1852
1833
 
1853
- var handleChange = React.useCallback(material.debounce(function (event) {
1834
+ var handleChangeDebounced = React.useCallback(material.debounce(function (event) {
1854
1835
  var _event$target$value;
1855
1836
 
1856
- return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1837
+ return inputIndex !== undefined ? column.setFilterValue(function (old) {
1838
+ var newFilterValues = old != null ? old : ['', ''];
1839
+ newFilterValues[inputIndex] = event.target.value;
1840
+ return newFilterValues;
1841
+ }) : column.setFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1857
1842
  }, 150), []);
1858
1843
 
1859
1844
  var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
@@ -1862,16 +1847,25 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1862
1847
 
1863
1848
  var handleClear = function handleClear() {
1864
1849
  setFilterValue('');
1865
- column.setColumnFilterValue(undefined);
1850
+
1851
+ if (inputIndex !== undefined) {
1852
+ column.setFilterValue(function (old) {
1853
+ var newFilterValues = old != null ? old : ['', ''];
1854
+ newFilterValues[inputIndex] = undefined;
1855
+ return newFilterValues;
1856
+ });
1857
+ } else {
1858
+ column.setFilterValue(undefined);
1859
+ }
1866
1860
  };
1867
1861
 
1868
1862
  var handleClearFilterChip = function handleClearFilterChip() {
1869
1863
  setFilterValue('');
1870
- column.setColumnFilterValue(undefined);
1864
+ column.setFilterValue(undefined);
1871
1865
  setCurrentFilterFns(function (prev) {
1872
1866
  var _extends2;
1873
1867
 
1874
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.BEST_MATCH, _extends2));
1868
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.FUZZY, _extends2));
1875
1869
  });
1876
1870
  };
1877
1871
 
@@ -1882,12 +1876,12 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1882
1876
  }));
1883
1877
  }
1884
1878
 
1885
- var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field";
1879
+ var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field" + (inputIndex != null ? inputIndex : '');
1886
1880
  var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
1887
1881
  var isSelectFilter = !!column.filterSelectOptions;
1888
1882
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1889
1883
  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));
1884
+ var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
1891
1885
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
1892
1886
  fullWidth: true,
1893
1887
  id: filterId,
@@ -1899,23 +1893,24 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1899
1893
  },
1900
1894
  title: filterPlaceholder
1901
1895
  },
1902
- helperText: React__default.createElement("label", {
1896
+ helperText: !inputIndex ? React__default.createElement("label", {
1903
1897
  htmlFor: filterId
1904
1898
  }, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
1905
1899
  (_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))])),
1900
+ localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
1907
1901
  FormHelperTextProps: {
1908
1902
  sx: {
1909
1903
  fontSize: '0.6rem',
1910
- lineHeight: '0.8rem'
1904
+ lineHeight: '0.8rem',
1905
+ whiteSpace: 'nowrap'
1911
1906
  }
1912
1907
  },
1913
1908
  label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
1914
1909
  margin: "none",
1915
- placeholder: filterPlaceholder,
1910
+ placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
1916
1911
  onChange: function onChange(event) {
1917
1912
  setFilterValue(event.target.value);
1918
- handleChange(event);
1913
+ handleChangeDebounced(event);
1919
1914
  },
1920
1915
  onClick: function onClick(e) {
1921
1916
  return e.stopPropagation();
@@ -1924,7 +1919,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1924
1919
  value: filterValue != null ? filterValue : '',
1925
1920
  variant: "standard",
1926
1921
  InputProps: {
1927
- startAdornment: !isSelectFilter && React__default.createElement(material.InputAdornment, {
1922
+ startAdornment: !isSelectFilter && !inputIndex && React__default.createElement(material.InputAdornment, {
1928
1923
  position: "start"
1929
1924
  }, React__default.createElement(material.Tooltip, {
1930
1925
  arrow: true,
@@ -1963,7 +1958,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1963
1958
  sx: _extends({
1964
1959
  m: '-0.25rem',
1965
1960
  p: 0,
1966
- minWidth: !filterChipLabel ? '5rem' : 'auto',
1961
+ minWidth: !filterChipLabel ? '6rem' : 'auto',
1967
1962
  width: 'calc(100% + 0.5rem)',
1968
1963
  mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
1969
1964
  '& .MuiSelect-icon': {
@@ -2058,6 +2053,32 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2058
2053
  }));
2059
2054
  };
2060
2055
 
2056
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2057
+ var header = _ref.header,
2058
+ tableInstance = _ref.tableInstance;
2059
+ var localization = tableInstance.options.localization;
2060
+ return React__default.createElement(material.Box, {
2061
+ sx: {
2062
+ display: 'grid',
2063
+ gridTemplateColumns: '6fr auto 5fr'
2064
+ }
2065
+ }, React__default.createElement(MRT_FilterTextField, {
2066
+ header: header,
2067
+ inputIndex: 0,
2068
+ tableInstance: tableInstance
2069
+ }), React__default.createElement(material.Box, {
2070
+ sx: {
2071
+ width: '100%',
2072
+ minWidth: '5ch',
2073
+ textAlign: 'center'
2074
+ }
2075
+ }, localization.to), React__default.createElement(MRT_FilterTextField, {
2076
+ header: header,
2077
+ inputIndex: 1,
2078
+ tableInstance: tableInstance
2079
+ }));
2080
+ };
2081
+
2061
2082
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2062
2083
  var _getState2, _getState2$currentFil, _column$Header;
2063
2084
 
@@ -2076,6 +2097,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2076
2097
  setShowFilters = tableInstance.setShowFilters;
2077
2098
 
2078
2099
  var _getState = getState(),
2100
+ currentFilterFns = _getState.currentFilterFns,
2079
2101
  isDensePadding = _getState.isDensePadding,
2080
2102
  showFilters = _getState.showFilters;
2081
2103
 
@@ -2089,36 +2111,53 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2089
2111
  tableInstance: tableInstance
2090
2112
  }) : column.muiTableHeadCellProps;
2091
2113
 
2092
- var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2114
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2093
2115
 
2094
2116
  var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
2095
2117
  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;
2118
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2119
+ 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;
2098
2120
  var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2099
2121
  header: header,
2100
2122
  tableInstance: tableInstance
2101
2123
  })) != null ? _column$Header : column.header;
2124
+
2125
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2126
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2127
+ };
2128
+
2129
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2130
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2131
+ };
2132
+
2133
+ var getTotalRight = function getTotalRight() {
2134
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2135
+ };
2136
+
2102
2137
  return React__default.createElement(material.TableCell, Object.assign({
2103
- align: column.columnDefType === 'group' ? 'center' : 'left'
2138
+ align: column.columnDefType === 'group' ? 'center' : 'left',
2139
+ colSpan: header.colSpan
2104
2140
  }, tableCellProps, {
2105
- //@ts-ignore
2106
2141
  sx: function sx(theme) {
2107
2142
  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) + ")",
2143
+ backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2144
+ backgroundImage: 'inherit',
2145
+ 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
2146
  fontWeight: 'bold',
2111
2147
  height: '100%',
2112
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2113
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2148
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2149
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2150
+ minWidth: "max(" + column.getSize() + "px, " + column.minSize + "px)",
2151
+ overflow: 'visible',
2114
2152
  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
2153
  pb: column.columnDefType === 'display' ? 0 : undefined,
2117
- overflow: 'visible',
2154
+ position: column.getIsPinned() && column.columnDefType !== 'group' ? 'sticky' : undefined,
2155
+ pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2156
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2118
2157
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2119
2158
  verticalAlign: 'text-top',
2120
- width: header.getWidth(),
2121
- zIndex: column.getIsResizing() ? 2 : 1
2159
+ width: header.getSize(),
2160
+ zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2122
2161
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2123
2162
  }
2124
2163
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React__default.createElement(material.Box, {
@@ -2147,7 +2186,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2147
2186
  "aria-label": sortTooltip,
2148
2187
  active: !!column.getIsSorted(),
2149
2188
  direction: column.getIsSorted() ? column.getIsSorted() : undefined
2150
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanColumnFilter() && React__default.createElement(material.Tooltip, {
2189
+ })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React__default.createElement(material.Tooltip, {
2151
2190
  arrow: true,
2152
2191
  placement: "top",
2153
2192
  title: filterTooltip
@@ -2160,7 +2199,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2160
2199
  size: "small",
2161
2200
  sx: {
2162
2201
  m: 0,
2163
- opacity: !!column.getColumnFilterValue() ? 0.8 : 0,
2202
+ opacity: !!column.getFilterValue() ? 0.8 : 0,
2164
2203
  p: '2px',
2165
2204
  transition: 'all 0.2s ease-in-out',
2166
2205
  '&:hover': {
@@ -2168,14 +2207,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2168
2207
  opacity: 0.8
2169
2208
  }
2170
2209
  }
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, {
2210
+ }, 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
2211
  header: header,
2173
2212
  tableInstance: tableInstance
2174
2213
  }), column.getCanResize() && React__default.createElement(material.Divider, Object.assign({
2175
2214
  flexItem: true,
2176
2215
  orientation: "vertical",
2177
2216
  onDoubleClick: function onDoubleClick() {
2178
- return header.resetSize();
2217
+ return column.resetSize();
2179
2218
  },
2180
2219
  sx: function sx(theme) {
2181
2220
  return {
@@ -2196,15 +2235,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2196
2235
  }
2197
2236
  };
2198
2237
  }
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, {
2238
+ }, {
2239
+ onMouseDown: header.getResizeHandler,
2240
+ onTouchStart: header.getResizeHandler
2241
+ }, {
2242
+ style: {
2243
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2244
+ }
2245
+ }))), column.columnDefType === 'data' && column.getCanFilter() && React__default.createElement(material.Collapse, {
2246
+ "in": showFilters,
2247
+ mountOnEnter: true,
2248
+ unmountOnExit: true
2249
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React__default.createElement(MRT_FilterRangeFields, {
2250
+ header: header,
2251
+ tableInstance: tableInstance
2252
+ }) : React__default.createElement(MRT_FilterTextField, {
2208
2253
  header: header,
2209
2254
  tableInstance: tableInstance
2210
2255
  })));
@@ -2214,17 +2259,15 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2214
2259
  var headerGroup = _ref.headerGroup,
2215
2260
  tableInstance = _ref.tableInstance;
2216
2261
  var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2217
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2262
+ var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2218
2263
  headerGroup: headerGroup,
2219
2264
  tableInstance: tableInstance
2220
2265
  }) : muiTableHeadRowProps;
2221
-
2222
- var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2223
-
2224
2266
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps, {
2225
2267
  sx: function sx(theme) {
2226
2268
  return _extends({
2227
- boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1)
2269
+ boxShadow: "4px 0 8px " + material.alpha(theme.palette.common.black, 0.1),
2270
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.04)
2228
2271
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2229
2272
  }
2230
2273
  }), headerGroup.headers.map(function (header, index) {
@@ -2237,26 +2280,16 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2237
2280
  };
2238
2281
 
2239
2282
  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,
2283
+ var tableInstance = _ref.tableInstance;
2284
+ var getHeaderGroups = tableInstance.getHeaderGroups,
2246
2285
  muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2247
2286
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2248
2287
  tableInstance: tableInstance
2249
2288
  }) : 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) {
2289
+ return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2257
2290
  return React__default.createElement(MRT_TableHeadRow, {
2258
2291
  headerGroup: headerGroup,
2259
- key: headerGroup.getHeaderGroupProps().key,
2292
+ key: headerGroup.id,
2260
2293
  tableInstance: tableInstance
2261
2294
  });
2262
2295
  }));
@@ -2275,7 +2308,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2275
2308
  setCurrentEditingCell = tableInstance.setCurrentEditingCell,
2276
2309
  setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2277
2310
 
2278
- var _useState = React.useState(cell.value),
2311
+ var _useState = React.useState(cell.getValue()),
2279
2312
  value = _useState[0],
2280
2313
  setValue = _useState[1];
2281
2314
 
@@ -2298,7 +2331,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2298
2331
 
2299
2332
  var handleBlur = function handleBlur(event) {
2300
2333
  if (getState().currentEditingRow) {
2301
- row.values[column.id] = value;
2334
+ row._valuesCache[column.id] = value;
2302
2335
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2303
2336
  }
2304
2337
 
@@ -2387,7 +2420,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2387
2420
  }, React__default.createElement(material.Button, Object.assign({
2388
2421
  "aria-label": localization.clickToCopy,
2389
2422
  onClick: function onClick() {
2390
- return handleCopy(cell.value);
2423
+ return handleCopy(cell.getValue());
2391
2424
  },
2392
2425
  size: "small"
2393
2426
  }, buttonProps, {
@@ -2412,16 +2445,14 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2412
2445
  var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2413
2446
 
2414
2447
  var cell = _ref.cell,
2448
+ enableHover = _ref.enableHover,
2415
2449
  tableInstance = _ref.tableInstance;
2416
- var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2417
- getState = tableInstance.getState,
2450
+ var getState = tableInstance.getState,
2418
2451
  _tableInstance$option = tableInstance.options,
2419
2452
  editingMode = _tableInstance$option.editingMode,
2420
2453
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2421
2454
  enableEditing = _tableInstance$option.enableEditing,
2422
- enablePinning = _tableInstance$option.enablePinning,
2423
2455
  idPrefix = _tableInstance$option.idPrefix,
2424
- isLoading = _tableInstance$option.isLoading,
2425
2456
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
2426
2457
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
2427
2458
  onCellClick = _tableInstance$option.onCellClick,
@@ -2430,7 +2461,9 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2430
2461
  var _getState = getState(),
2431
2462
  currentEditingCell = _getState.currentEditingCell,
2432
2463
  currentEditingRow = _getState.currentEditingRow,
2433
- isDensePadding = _getState.isDensePadding;
2464
+ isDensePadding = _getState.isDensePadding,
2465
+ isLoading = _getState.isLoading,
2466
+ showSkeletons = _getState.showSkeletons;
2434
2467
 
2435
2468
  var column = cell.column,
2436
2469
  row = cell.row;
@@ -2443,11 +2476,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2443
2476
  tableInstance: tableInstance
2444
2477
  }) : column.muiTableBodyCellProps;
2445
2478
 
2446
- var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2479
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
2447
2480
 
2448
2481
  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()]);
2482
+ return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
2483
+ }, [column.columnDefType, column.getSize()]);
2451
2484
  var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
2452
2485
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2453
2486
 
@@ -2465,6 +2498,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2465
2498
  }
2466
2499
  };
2467
2500
 
2501
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2502
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2503
+ };
2504
+
2505
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2506
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2507
+ };
2508
+
2509
+ var getTotalRight = function getTotalRight() {
2510
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2511
+ };
2512
+
2468
2513
  return React__default.createElement(material.TableCell, Object.assign({
2469
2514
  onClick: function onClick(event) {
2470
2515
  return onCellClick == null ? void 0 : onCellClick({
@@ -2475,17 +2520,28 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2475
2520
  },
2476
2521
  onDoubleClick: handleDoubleClick
2477
2522
  }, 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({
2523
+ sx: function sx(theme) {
2524
+ return _extends({
2525
+ backgroundColor: column.getIsPinned() ? material.alpha(material.lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
2526
+ 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,
2527
+ cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2528
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2529
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2530
+ minWidth: "max" + column.getSize() + "px, " + column.minSize + "px",
2531
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2532
+ pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2533
+ position: column.getIsPinned() ? 'sticky' : 'relative',
2534
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2535
+ transition: 'all 0.2s ease-in-out',
2536
+ whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2537
+ width: column.getSize(),
2538
+ zIndex: column.getIsPinned() ? 1 : undefined,
2539
+ '&:hover': {
2540
+ 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
2541
+ }
2542
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
2543
+ }
2544
+ }), React__default.createElement(React__default.Fragment, null, isLoading || showSkeletons ? React__default.createElement(material.Skeleton, Object.assign({
2489
2545
  animation: "wave",
2490
2546
  height: 20,
2491
2547
  width: skeletonWidth
@@ -2498,13 +2554,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2498
2554
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React__default.createElement(React__default.Fragment, null, React__default.createElement(MRT_CopyButton, {
2499
2555
  cell: cell,
2500
2556
  tableInstance: tableInstance
2501
- }, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2557
+ }, React__default.createElement(React__default.Fragment, null, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2502
2558
  cell: cell,
2503
2559
  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({
2560
+ })) != 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({
2505
2561
  cell: cell,
2506
2562
  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, ")")));
2563
+ })) != 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, ")"))));
2508
2564
  };
2509
2565
 
2510
2566
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2549,33 +2605,16 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
2549
2605
  };
2550
2606
 
2551
2607
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2552
- var pinned = _ref.pinned,
2553
- row = _ref.row,
2608
+ var row = _ref.row,
2554
2609
  tableInstance = _ref.tableInstance;
2555
2610
  var _tableInstance$option = tableInstance.options,
2556
2611
  muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
2557
2612
  onRowClick = _tableInstance$option.onRowClick,
2558
2613
  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({
2614
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2567
2615
  row: row,
2568
2616
  tableInstance: tableInstance
2569
2617
  }) : 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
2618
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
2580
2619
  hover: true,
2581
2620
  onClick: function onClick(event) {
@@ -2585,39 +2624,44 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2585
2624
  tableInstance: tableInstance
2586
2625
  });
2587
2626
  },
2588
- selected: getIsSelected()
2589
- }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
2627
+ selected: row.getIsSelected()
2628
+ }, tableRowProps, {
2629
+ sx: function sx(theme) {
2630
+ return _extends({
2631
+ backgroundColor: material.lighten(theme.palette.background["default"], 0.06),
2632
+ transition: 'all 0.2s ease-in-out',
2633
+ '&:hover td': {
2634
+ 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
2635
+ }
2636
+ }, tableRowProps == null ? void 0 : tableRowProps.sx);
2637
+ }
2638
+ }), row.getVisibleCells().map(function (cell) {
2590
2639
  return React__default.createElement(MRT_TableBodyCell, {
2591
2640
  cell: cell,
2592
- key: cell.getCellProps().key,
2641
+ key: cell.id,
2642
+ enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2593
2643
  tableInstance: tableInstance
2594
2644
  });
2595
- })), renderDetailPanel && !getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
2645
+ })), renderDetailPanel && !row.getIsGrouped() && React__default.createElement(MRT_TableDetailPanel, {
2596
2646
  row: row,
2597
2647
  tableInstance: tableInstance
2598
2648
  }));
2599
2649
  };
2600
2650
 
2601
2651
  var MRT_TableBody = function MRT_TableBody(_ref) {
2602
- var pinned = _ref.pinned,
2603
- tableInstance = _ref.tableInstance;
2652
+ var tableInstance = _ref.tableInstance;
2604
2653
  var getPaginationRowModel = tableInstance.getPaginationRowModel,
2605
2654
  getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2606
- getTableBodyProps = tableInstance.getTableBodyProps,
2607
2655
  _tableInstance$option = tableInstance.options,
2608
2656
  enablePagination = _tableInstance$option.enablePagination,
2609
2657
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
2610
2658
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
2611
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2659
+ var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2612
2660
  tableInstance: tableInstance
2613
2661
  }) : muiTableBodyProps;
2614
-
2615
- var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2616
-
2617
2662
  return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
2618
2663
  return React__default.createElement(MRT_TableBodyRow, {
2619
- key: row.getRowProps().key,
2620
- pinned: pinned,
2664
+ key: row.id,
2621
2665
  row: row,
2622
2666
  tableInstance: tableInstance
2623
2667
  });
@@ -2647,23 +2691,23 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2647
2691
  tableInstance: tableInstance
2648
2692
  }) : column.muiTableFooterCellProps;
2649
2693
 
2650
- var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
2694
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
2651
2695
 
2652
2696
  return React__default.createElement(material.TableCell, Object.assign({
2653
2697
  align: column.columnDefType === 'group' ? 'center' : 'left',
2698
+ colSpan: footer.colSpan,
2654
2699
  variant: "head"
2655
2700
  }, tableCellProps, {
2656
- //@ts-ignore
2657
2701
  sx: function sx(theme) {
2658
2702
  return _extends({
2659
2703
  backgroundColor: theme.palette.background["default"],
2660
2704
  backgroundImage: "linear-gradient(" + material.alpha(theme.palette.common.white, 0.05) + "," + material.alpha(theme.palette.common.white, 0.05) + ")",
2661
2705
  fontWeight: 'bold',
2662
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2663
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2706
+ maxWidth: column.getSize() + "px",
2707
+ minWidth: column.getSize() + "px",
2664
2708
  p: isDensePadding ? '0.5rem' : '1rem',
2665
2709
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
2666
- width: column.getWidth(),
2710
+ width: column.getSize(),
2667
2711
  verticalAlign: 'text-top'
2668
2712
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2669
2713
  }
@@ -2681,99 +2725,63 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2681
2725
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2682
2726
 
2683
2727
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2684
- return h.column.columnDef.footer || h.column.Footer;
2728
+ return typeof h.column.footer === 'string' && !!h.column.footer || h.column.Footer;
2685
2729
  }))) return null;
2686
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2730
+ var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2687
2731
  footerGroup: footerGroup,
2688
2732
  tableInstance: tableInstance
2689
2733
  }) : muiTableFooterRowProps;
2690
-
2691
- var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
2692
-
2693
2734
  return React__default.createElement(material.TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
2694
2735
  return React__default.createElement(MRT_TableFooterCell, {
2695
2736
  footer: footer,
2696
- key: footer.getFooterProps().key,
2737
+ key: footer.id,
2697
2738
  tableInstance: tableInstance
2698
2739
  });
2699
2740
  }));
2700
2741
  };
2701
2742
 
2702
2743
  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,
2744
+ var tableInstance = _ref.tableInstance;
2745
+ var getFooterGroups = tableInstance.getFooterGroups,
2709
2746
  muiTableFooterProps = tableInstance.options.muiTableFooterProps;
2710
2747
  var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
2711
2748
  tableInstance: tableInstance
2712
2749
  }) : 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) {
2750
+ return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), getFooterGroups().map(function (footerGroup) {
2720
2751
  return React__default.createElement(MRT_TableFooterRow, {
2721
2752
  footerGroup: footerGroup,
2722
- key: footerGroup.getFooterGroupProps().key,
2753
+ key: footerGroup.id,
2723
2754
  tableInstance: tableInstance
2724
2755
  });
2725
2756
  }));
2726
2757
  };
2727
2758
 
2728
2759
  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,
2760
+ var tableInstance = _ref.tableInstance;
2761
+ var _tableInstance$option = tableInstance.options,
2733
2762
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2734
2763
  enableTableFooter = _tableInstance$option.enableTableFooter,
2735
2764
  enableTableHead = _tableInstance$option.enableTableHead,
2736
2765
  muiTableProps = _tableInstance$option.muiTableProps;
2737
- var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2766
+ var tableProps = muiTableProps instanceof Function ? muiTableProps({
2738
2767
  tableInstance: tableInstance
2739
2768
  }) : muiTableProps;
2740
-
2741
- var tableProps = _extends({}, getTableProps(), mTableProps);
2742
-
2743
2769
  return React__default.createElement(material.Table, Object.assign({
2744
2770
  stickyHeader: enableStickyHeader
2745
2771
  }, tableProps), enableTableHead && React__default.createElement(MRT_TableHead, {
2746
- pinned: pinned,
2747
2772
  tableInstance: tableInstance
2748
2773
  }), React__default.createElement(MRT_TableBody, {
2749
- pinned: pinned,
2750
2774
  tableInstance: tableInstance
2751
2775
  }), enableTableFooter && React__default.createElement(MRT_TableFooter, {
2752
- pinned: pinned,
2753
2776
  tableInstance: tableInstance
2754
2777
  }));
2755
2778
  };
2756
2779
 
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,
2780
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
2781
+ var MRT_TableContainer = function MRT_TableContainer(_ref) {
2782
+ var tableInstance = _ref.tableInstance;
2783
+ var getState = tableInstance.getState,
2775
2784
  _tableInstance$option = tableInstance.options,
2776
- enablePinning = _tableInstance$option.enablePinning,
2777
2785
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2778
2786
  idPrefix = _tableInstance$option.idPrefix,
2779
2787
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
@@ -2788,15 +2796,13 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2788
2796
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2789
2797
  tableInstance: tableInstance
2790
2798
  }) : muiTableContainerProps;
2791
- React.useEffect(function () {
2799
+ useIsomorphicLayoutEffect(function () {
2792
2800
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
2793
2801
 
2794
2802
  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
2803
  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
2804
  setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
2797
2805
  });
2798
- var isSomeColumnsPinnedLeft = !!tableInstance.getLeftFlatHeaders().length;
2799
- var isSomeColumnsPinnedRight = !!tableInstance.getRightFlatHeaders().length;
2800
2806
  return React__default.createElement(material.TableContainer, Object.assign({}, tableContainerProps, {
2801
2807
  sx: _extends({
2802
2808
  maxWidth: '100%',
@@ -2806,45 +2812,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2806
2812
  style: {
2807
2813
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
2808
2814
  }
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",
2815
+ }), React__default.createElement(MRT_Table, {
2848
2816
  tableInstance: tableInstance
2849
2817
  }));
2850
2818
  };
@@ -2946,7 +2914,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
2946
2914
  };
2947
2915
 
2948
2916
  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;
2917
+ 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
2918
 
2951
2919
  var _useState = React.useState(props.idPrefix),
2952
2920
  idPrefix = _useState[0],
@@ -3010,7 +2978,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3010
2978
  var _useState8 = React.useState({
3011
2979
  pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
3012
2980
  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
2981
+ pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
3014
2982
  }),
3015
2983
  pagination = _useState8[0],
3016
2984
  setPagination = _useState8[1];
@@ -3019,13 +2987,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3019
2987
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3020
2988
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
3021
2989
 
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;
2990
+ 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
2991
  })));
3024
2992
  }),
3025
2993
  currentFilterFns = _useState9[0],
3026
2994
  setCurrentFilterFns = _useState9[1];
3027
2995
 
3028
- var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.BEST_MATCH_FIRST),
2996
+ var _useState10 = React.useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
3029
2997
  currentGlobalFilterFn = _useState10[0],
3030
2998
  setCurrentGlobalFilterFn = _useState10[1];
3031
2999
 
@@ -3045,9 +3013,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3045
3013
  },
3046
3014
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3047
3015
  id: 'mrt-row-actions',
3048
- maxWidth: 60,
3049
- width: 60
3050
- }), (props.enableExpanded || props.enableGrouping) && createDisplayColumn(table, {
3016
+ size: 60
3017
+ }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
3051
3018
  Cell: function Cell(_ref4) {
3052
3019
  var cell = _ref4.cell;
3053
3020
  return React__default.createElement(MRT_ExpandButton, {
@@ -3062,8 +3029,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3062
3029
  },
3063
3030
  header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3064
3031
  id: 'mrt-expand',
3065
- maxWidth: 40,
3066
- width: 40
3032
+ size: 50
3067
3033
  }), props.enableRowSelection && createDisplayColumn(table, {
3068
3034
  Cell: function Cell(_ref5) {
3069
3035
  var cell = _ref5.cell;
@@ -3080,8 +3046,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3080
3046
  },
3081
3047
  header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3082
3048
  id: 'mrt-select',
3083
- maxWidth: 40,
3084
- width: 40
3049
+ size: 50
3085
3050
  }), props.enableRowNumbers && createDisplayColumn(table, {
3086
3051
  Cell: function Cell(_ref6) {
3087
3052
  var cell = _ref6.cell;
@@ -3094,39 +3059,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3094
3059
  },
3095
3060
  header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3096
3061
  id: 'mrt-row-numbers',
3097
- maxWidth: 40,
3098
- width: 40,
3099
- minWidth: 40
3062
+ size: 50
3100
3063
  })].filter(Boolean);
3101
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3064
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3102
3065
  var columns = React.useMemo(function () {
3103
- return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3066
+ return [].concat(displayColumns, props.columns.map(function (column) {
3104
3067
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3105
- })));
3068
+ }));
3106
3069
  }, [table, props.columns, currentFilterFns]);
3107
3070
  var data = React.useMemo(function () {
3108
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3071
+ var _props$state, _props$state2;
3072
+
3073
+ 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
3074
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3110
3075
  var _ref7;
3111
3076
 
3112
3077
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3113
3078
  })));
3114
3079
  }) : props.data;
3115
- }, [props.data, props.isLoading]); //@ts-ignore
3080
+ }, [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
3081
 
3117
3082
  var tableInstance = _extends({}, reactTable.useTableInstance(table, _extends({
3118
- //@ts-ignore
3119
3083
  filterFns: defaultFilterFNs,
3120
- getColumnFilteredRowModel: reactTable.getColumnFilteredRowModelSync(),
3121
- getCoreRowModel: reactTable.getCoreRowModelSync(),
3084
+ //@ts-ignore
3085
+ getCoreRowModel: reactTable.getCoreRowModel(),
3086
+ //@ts-ignore
3122
3087
  getExpandedRowModel: reactTable.getExpandedRowModel(),
3123
- getGlobalFilteredRowModel: reactTable.getGlobalFilteredRowModelSync(),
3124
- getGroupedRowModel: reactTable.getGroupedRowModelSync(),
3088
+ //@ts-ignore
3089
+ getFacetedRowModel: reactTable.getFacetedRowModel(),
3090
+ //@ts-ignore
3091
+ getFilteredRowModel: reactTable.getFilteredRowModel(),
3092
+ //@ts-ignore
3093
+ getGroupedRowModel: reactTable.getGroupedRowModel(),
3094
+ //@ts-ignore
3125
3095
  getPaginationRowModel: reactTable.getPaginationRowModel(),
3126
- getSortedRowModel: reactTable.getSortedRowModelSync(),
3127
- getSubRows: function getSubRows(originalRow) {
3128
- return originalRow.subRows;
3096
+ //@ts-ignore
3097
+ getSortedRowModel: reactTable.getSortedRowModel(),
3098
+ //@ts-ignore
3099
+ getSubRows: function getSubRows(row) {
3100
+ return row == null ? void 0 : row.subRows;
3129
3101
  },
3102
+ //@ts-ignore
3130
3103
  globalFilterFn: currentGlobalFilterFn,
3131
3104
  onPaginationChange: function onPaginationChange(updater) {
3132
3105
  return setPagination(function (old) {
@@ -3134,10 +3107,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3134
3107
  });
3135
3108
  }
3136
3109
  }, props, {
3110
+ //@ts-ignore
3137
3111
  columns: columns,
3138
3112
  data: data,
3139
3113
  idPrefix: idPrefix,
3140
- //@ts-ignore
3141
3114
  initialState: initialState,
3142
3115
  state: _extends({
3143
3116
  currentEditingCell: currentEditingCell,
@@ -3152,12 +3125,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3152
3125
  showGlobalFilter: showGlobalFilter
3153
3126
  }, props.state)
3154
3127
  })), {
3155
- //@ts-ignore
3156
3128
  setCurrentEditingCell: setCurrentEditingCell,
3157
- //@ts-ignore
3158
3129
  setCurrentEditingRow: setCurrentEditingRow,
3159
3130
  setCurrentFilterFns: setCurrentFilterFns,
3160
- //@ts-ignore
3161
3131
  setCurrentGlobalFilterFn: setCurrentGlobalFilterFn,
3162
3132
  setIsDensePadding: setIsDensePadding,
3163
3133
  setIsFullScreen: setIsFullScreen,
@@ -3205,12 +3175,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3205
3175
  }));
3206
3176
  };
3207
3177
 
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"];
3178
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3209
3179
  var MaterialReactTable = (function (_ref) {
3210
3180
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3211
3181
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3212
- _ref$autoResetSorting = _ref.autoResetSorting,
3213
- autoResetSorting = _ref$autoResetSorting === void 0 ? false : _ref$autoResetSorting,
3214
3182
  _ref$columnResizeMode = _ref.columnResizeMode,
3215
3183
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3216
3184
  _ref$editingMode = _ref.editingMode,
@@ -3237,6 +3205,8 @@ var MaterialReactTable = (function (_ref) {
3237
3205
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3238
3206
  _ref$enablePagination = _ref.enablePagination,
3239
3207
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3208
+ _ref$enablePinning = _ref.enablePinning,
3209
+ enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3240
3210
  _ref$enableSelectAll = _ref.enableSelectAll,
3241
3211
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3242
3212
  _ref$enableSorting = _ref.enableSorting,
@@ -3269,12 +3239,11 @@ var MaterialReactTable = (function (_ref) {
3269
3239
 
3270
3240
  return React__default.createElement(MRT_TableRoot, Object.assign({
3271
3241
  autoResetExpanded: autoResetExpanded,
3272
- autoResetSorting: autoResetSorting,
3273
3242
  columnResizeMode: columnResizeMode,
3274
3243
  editingMode: editingMode,
3275
3244
  enableColumnActions: enableColumnActions,
3276
- enableColumnResizing: enableColumnResizing,
3277
3245
  enableColumnFilters: enableColumnFilters,
3246
+ enableColumnResizing: enableColumnResizing,
3278
3247
  enableDensePaddingToggle: enableDensePaddingToggle,
3279
3248
  enableExpandAll: enableExpandAll,
3280
3249
  enableFilters: enableFilters,
@@ -3283,6 +3252,7 @@ var MaterialReactTable = (function (_ref) {
3283
3252
  enableHiding: enableHiding,
3284
3253
  enableMultiRowSelection: enableMultiRowSelection,
3285
3254
  enablePagination: enablePagination,
3255
+ enablePinning: enablePinning,
3286
3256
  enableSelectAll: enableSelectAll,
3287
3257
  enableSorting: enableSorting,
3288
3258
  enableStickyHeader: enableStickyHeader,