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
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useCallback, Fragment, useEffect } from 'react';
1
+ import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
2
2
  import ArrowRightIcon from '@mui/icons-material/ArrowRight';
3
3
  import CancelIcon from '@mui/icons-material/Cancel';
4
4
  import CheckBoxIcon from '@mui/icons-material/CheckBox';
@@ -27,12 +27,12 @@ import SearchOffIcon from '@mui/icons-material/SearchOff';
27
27
  import SortIcon from '@mui/icons-material/Sort';
28
28
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
29
29
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
30
- import { createTable, useTableInstance, getColumnFilteredRowModelSync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, functionalUpdate } from '@tanstack/react-table';
31
- import { IconButton, Menu, MenuItem, Box, Tooltip, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, alpha, TableCell, TableSortLabel, TableRow, TableHead, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
32
- import { matchSorter } from 'match-sorter';
30
+ import { createTable, useTableInstance, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, functionalUpdate } from '@tanstack/react-table';
31
+ import { IconButton, Menu, MenuItem, Box, Tooltip, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, lighten, alpha, TableCell, TableSortLabel, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog, Grow } from '@mui/material';
32
+ import { rankItem, rankings } from '@tanstack/match-sorter-utils';
33
33
 
34
34
  function _extends() {
35
- _extends = Object.assign || function (target) {
35
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
36
36
  for (var i = 1; i < arguments.length; i++) {
37
37
  var source = arguments[i];
38
38
 
@@ -45,7 +45,6 @@ function _extends() {
45
45
 
46
46
  return target;
47
47
  };
48
-
49
48
  return _extends.apply(this, arguments);
50
49
  }
51
50
 
@@ -66,6 +65,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
66
65
 
67
66
  var MRT_DefaultLocalization_EN = {
68
67
  actions: 'Actions',
68
+ and: 'and',
69
69
  cancel: 'Cancel',
70
70
  changeFilterMode: 'Change filter mode',
71
71
  changeSearchMode: 'Change search mode',
@@ -78,24 +78,26 @@ var MRT_DefaultLocalization_EN = {
78
78
  edit: 'Edit',
79
79
  expand: 'Expand',
80
80
  expandAll: 'Expand all',
81
- filterBestMatch: 'Best Match',
82
- filterBestMatchFirst: 'Best Match First',
81
+ filterBetween: 'Between',
83
82
  filterByColumn: 'Filter by {column}',
84
83
  filterContains: 'Contains',
85
84
  filterEmpty: 'Empty',
86
85
  filterEndsWith: 'Ends With',
87
86
  filterEquals: 'Equals',
87
+ filterFuzzy: 'Fuzzy',
88
88
  filterGreaterThan: 'Greater Than',
89
89
  filterLessThan: 'Less Than',
90
90
  filterMode: 'Filter Mode: {filterType}',
91
91
  filterNotEmpty: 'Not Empty',
92
92
  filterNotEquals: 'Not Equals',
93
93
  filterStartsWith: 'Starts With',
94
- filteringByColumn: 'Filtering by {column} - {filterType} "{filterValue}"',
94
+ filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
95
95
  groupByColumn: 'Group by {column}',
96
96
  groupedBy: 'Grouped by ',
97
97
  hideAll: 'Hide all',
98
98
  hideColumn: 'Hide {column} column',
99
+ max: 'Max',
100
+ min: 'Min',
99
101
  pinToLeft: 'Pin to left',
100
102
  pinToRight: 'Pin to right',
101
103
  resetColumnSize: 'Reset column size',
@@ -116,6 +118,7 @@ var MRT_DefaultLocalization_EN = {
116
118
  sortedByColumnAsc: 'Sorted by {column} ascending',
117
119
  sortedByColumnDesc: 'Sorted by {column} descending',
118
120
  thenBy: ', then by ',
121
+ to: 'to',
119
122
  toggleDensePadding: 'Toggle dense padding',
120
123
  toggleFullScreen: 'Toggle full screen',
121
124
  toggleSelectAll: 'Toggle select all',
@@ -164,12 +167,12 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
164
167
  getState = tableInstance.getState,
165
168
  _tableInstance$option = tableInstance.options,
166
169
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
167
- isLoading = _tableInstance$option.isLoading,
168
170
  localization = _tableInstance$option.localization,
169
171
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
170
172
 
171
173
  var _getState = getState(),
172
- isDensePadding = _getState.isDensePadding;
174
+ isDensePadding = _getState.isDensePadding,
175
+ isLoading = _getState.isLoading;
173
176
 
174
177
  return React.createElement(IconButton, {
175
178
  "aria-label": localization.expandAll,
@@ -232,12 +235,12 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
232
235
  var MRT_FILTER_OPTION;
233
236
 
234
237
  (function (MRT_FILTER_OPTION) {
235
- MRT_FILTER_OPTION["BEST_MATCH"] = "bestMatch";
236
- MRT_FILTER_OPTION["BEST_MATCH_FIRST"] = "bestMatchFirst";
238
+ MRT_FILTER_OPTION["BETWEEN"] = "between";
237
239
  MRT_FILTER_OPTION["CONTAINS"] = "contains";
238
240
  MRT_FILTER_OPTION["EMPTY"] = "empty";
239
241
  MRT_FILTER_OPTION["ENDS_WITH"] = "endsWith";
240
242
  MRT_FILTER_OPTION["EQUALS"] = "equals";
243
+ MRT_FILTER_OPTION["FUZZY"] = "fuzzy";
241
244
  MRT_FILTER_OPTION["GREATER_THAN"] = "greaterThan";
242
245
  MRT_FILTER_OPTION["LESS_THAN"] = "lessThan";
243
246
  MRT_FILTER_OPTION["NOT_EMPTY"] = "notEmpty";
@@ -245,117 +248,92 @@ var MRT_FILTER_OPTION;
245
248
  MRT_FILTER_OPTION["STARTS_WITH"] = "startsWith";
246
249
  })(MRT_FILTER_OPTION || (MRT_FILTER_OPTION = {}));
247
250
 
248
- var bestMatchFirst = function bestMatchFirst(rows, columnIds, filterValue) {
249
- return matchSorter(rows, filterValue.toString().trim(), {
250
- keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
251
- return "values." + c;
252
- }) : ["values." + columnIds]
253
- });
254
- };
255
-
256
- bestMatchFirst.autoRemove = function (val) {
257
- return !val;
258
- };
259
-
260
- var bestMatch = function bestMatch(rows, columnIds, filterValue) {
261
- return matchSorter(rows, filterValue.toString().trim(), {
262
- keys: Array.isArray(columnIds) ? columnIds.map(function (c) {
263
- return "values." + c;
264
- }) : ["values." + columnIds],
265
- sorter: function sorter(rankedItems) {
266
- return rankedItems;
267
- }
251
+ var fuzzy = function fuzzy(row, columnId, value, addMeta) {
252
+ var itemRank = rankItem(row.getValue(columnId), value, {
253
+ threshold: rankings.MATCHES
268
254
  });
255
+ addMeta(itemRank);
256
+ return itemRank.passed;
269
257
  };
270
258
 
271
- bestMatch.autoRemove = function (val) {
259
+ fuzzy.autoRemove = function (val) {
272
260
  return !val;
273
261
  };
274
262
 
275
- var contains = function contains(rows, id, filterValue) {
276
- return rows.filter(function (row) {
277
- return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
278
- });
263
+ var contains = function contains(row, id, filterValue) {
264
+ return row.getValue(id).toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
279
265
  };
280
266
 
281
267
  contains.autoRemove = function (val) {
282
268
  return !val;
283
269
  };
284
270
 
285
- var startsWith = function startsWith(rows, id, filterValue) {
286
- return rows.filter(function (row) {
287
- return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
288
- });
271
+ var startsWith = function startsWith(row, id, filterValue) {
272
+ return row.getValue(id).toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
289
273
  };
290
274
 
291
275
  startsWith.autoRemove = function (val) {
292
276
  return !val;
293
277
  };
294
278
 
295
- var endsWith = function endsWith(rows, id, filterValue) {
296
- return rows.filter(function (row) {
297
- return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
298
- });
279
+ var endsWith = function endsWith(row, id, filterValue) {
280
+ return row.getValue(id).toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
299
281
  };
300
282
 
301
283
  endsWith.autoRemove = function (val) {
302
284
  return !val;
303
285
  };
304
286
 
305
- var equals = function equals(rows, id, filterValue) {
306
- return rows.filter(function (row) {
307
- return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
308
- });
287
+ var equals = function equals(row, id, filterValue) {
288
+ return row.getValue(id).toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
309
289
  };
310
290
 
311
291
  equals.autoRemove = function (val) {
312
292
  return !val;
313
293
  };
314
294
 
315
- var notEquals = function notEquals(rows, id, filterValue) {
316
- return rows.filter(function (row) {
317
- return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
318
- });
295
+ var notEquals = function notEquals(row, id, filterValue) {
296
+ return row.getValue(id).toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
319
297
  };
320
298
 
321
299
  notEquals.autoRemove = function (val) {
322
300
  return !val;
323
301
  };
324
302
 
325
- var greaterThan = function greaterThan(rows, id, filterValue) {
326
- return rows.filter(function (row) {
327
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] > +filterValue : row.values[id].toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
328
- });
303
+ var greaterThan = function greaterThan(row, id, filterValue) {
304
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) >= +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
329
305
  };
330
306
 
331
307
  greaterThan.autoRemove = function (val) {
332
308
  return !val;
333
309
  };
334
310
 
335
- var lessThan = function lessThan(rows, id, filterValue) {
336
- return rows.filter(function (row) {
337
- return !isNaN(+filterValue) && !isNaN(+row.values[id]) ? +row.values[id] < +filterValue : row.values[id].toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
338
- });
311
+ var lessThan = function lessThan(row, id, filterValue) {
312
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) <= +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
339
313
  };
340
314
 
341
315
  lessThan.autoRemove = function (val) {
342
316
  return !val;
343
317
  };
344
318
 
345
- var empty = function empty(rows, id, _filterValue) {
346
- return rows.filter(function (row) {
347
- return !row.values[id].toString().toLowerCase().trim();
348
- });
319
+ var between = function between(row, id, filterValues) {
320
+ 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]));
321
+ };
322
+
323
+ between.autoRemove = function (val) {
324
+ return !val;
325
+ };
326
+
327
+ var empty = function empty(row, id, _filterValue) {
328
+ return !row.getValue(id).toString().trim();
349
329
  };
350
330
 
351
331
  empty.autoRemove = function (val) {
352
332
  return !val;
353
333
  };
354
334
 
355
- var notEmpty = function notEmpty(rows, id, _filterValue) {
356
- return rows.filter(function (row) {
357
- return !!row.values[id].toString().toLowerCase().trim();
358
- });
335
+ var notEmpty = function notEmpty(row, id, _filterValue) {
336
+ return !!row.getValue(id).toString().trim();
359
337
  };
360
338
 
361
339
  notEmpty.autoRemove = function (val) {
@@ -363,12 +341,12 @@ notEmpty.autoRemove = function (val) {
363
341
  };
364
342
 
365
343
  var defaultFilterFNs = {
366
- bestMatch: bestMatch,
367
- bestMatchFirst: bestMatchFirst,
344
+ between: between,
368
345
  contains: contains,
369
346
  empty: empty,
370
347
  endsWith: endsWith,
371
348
  equals: equals,
349
+ fuzzy: fuzzy,
372
350
  greaterThan: greaterThan,
373
351
  lessThan: lessThan,
374
352
  notEmpty: notEmpty,
@@ -401,62 +379,62 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
401
379
 
402
380
  var filterOptions = useMemo(function () {
403
381
  return [{
404
- type: MRT_FILTER_OPTION.BEST_MATCH_FIRST,
405
- label: localization.filterBestMatchFirst,
382
+ option: MRT_FILTER_OPTION.FUZZY,
383
+ label: localization.filterFuzzy,
406
384
  divider: false,
407
- fn: bestMatchFirst
408
- }, {
409
- type: MRT_FILTER_OPTION.BEST_MATCH,
410
- label: localization.filterBestMatch,
411
- divider: !!header,
412
- fn: bestMatch
385
+ fn: fuzzy
413
386
  }, {
414
- type: MRT_FILTER_OPTION.CONTAINS,
387
+ option: MRT_FILTER_OPTION.CONTAINS,
415
388
  label: localization.filterContains,
416
389
  divider: false,
417
390
  fn: contains
418
391
  }, {
419
- type: MRT_FILTER_OPTION.STARTS_WITH,
392
+ option: MRT_FILTER_OPTION.STARTS_WITH,
420
393
  label: localization.filterStartsWith,
421
394
  divider: false,
422
395
  fn: startsWith
423
396
  }, {
424
- type: MRT_FILTER_OPTION.ENDS_WITH,
397
+ option: MRT_FILTER_OPTION.ENDS_WITH,
425
398
  label: localization.filterEndsWith,
426
399
  divider: true,
427
400
  fn: endsWith
428
401
  }, {
429
- type: MRT_FILTER_OPTION.EQUALS,
402
+ option: MRT_FILTER_OPTION.EQUALS,
430
403
  label: localization.filterEquals,
431
404
  divider: false,
432
405
  fn: equals
433
406
  }, {
434
- type: MRT_FILTER_OPTION.NOT_EQUALS,
407
+ option: MRT_FILTER_OPTION.NOT_EQUALS,
435
408
  label: localization.filterNotEquals,
436
409
  divider: true,
437
410
  fn: notEquals
438
411
  }, {
439
- type: MRT_FILTER_OPTION.GREATER_THAN,
412
+ option: MRT_FILTER_OPTION.BETWEEN,
413
+ label: localization.filterBetween,
414
+ divider: false,
415
+ fn: between
416
+ }, {
417
+ option: MRT_FILTER_OPTION.GREATER_THAN,
440
418
  label: localization.filterGreaterThan,
441
419
  divider: false,
442
420
  fn: greaterThan
443
421
  }, {
444
- type: MRT_FILTER_OPTION.LESS_THAN,
422
+ option: MRT_FILTER_OPTION.LESS_THAN,
445
423
  label: localization.filterLessThan,
446
424
  divider: true,
447
425
  fn: lessThan
448
426
  }, {
449
- type: MRT_FILTER_OPTION.EMPTY,
427
+ option: MRT_FILTER_OPTION.EMPTY,
450
428
  label: localization.filterEmpty,
451
429
  divider: false,
452
430
  fn: empty
453
431
  }, {
454
- type: MRT_FILTER_OPTION.NOT_EMPTY,
432
+ option: MRT_FILTER_OPTION.NOT_EMPTY,
455
433
  label: localization.filterNotEmpty,
456
434
  divider: false,
457
435
  fn: notEmpty
458
436
  }].filter(function (filterType) {
459
- 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);
437
+ 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);
460
438
  });
461
439
  }, []);
462
440
 
@@ -469,7 +447,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
469
447
  });
470
448
 
471
449
  if ([MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)) {
472
- header.column.setColumnFilterValue(' ');
450
+ header.column.setFilterValue(' ');
451
+ } else if (value === MRT_FILTER_OPTION.BETWEEN) {
452
+ header.column.setFilterValue(['', '']);
453
+ } else {
454
+ header.column.setFilterValue('');
473
455
  }
474
456
  } else {
475
457
  setCurrentGlobalFilterFn(value);
@@ -479,7 +461,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
479
461
  onSelect == null ? void 0 : onSelect();
480
462
  };
481
463
 
482
- var filterType = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
464
+ var filterOption = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
483
465
  return React.createElement(Menu, {
484
466
  anchorEl: anchorEl,
485
467
  anchorOrigin: {
@@ -494,7 +476,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
494
476
  dense: isDensePadding
495
477
  }
496
478
  }, filterOptions.map(function (_ref2, index) {
497
- var type = _ref2.type,
479
+ var option = _ref2.option,
498
480
  label = _ref2.label,
499
481
  divider = _ref2.divider,
500
482
  fn = _ref2.fn;
@@ -502,11 +484,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
502
484
  divider: divider,
503
485
  key: index,
504
486
  onClick: function onClick() {
505
- return handleSelectFilterType(type);
487
+ return handleSelectFilterType(option);
506
488
  },
507
- selected: type === filterType || fn === filterType,
489
+ selected: option === filterOption || fn === filterOption,
508
490
  sx: commonMenuItemStyles,
509
- value: type
491
+ value: option
510
492
  }, label);
511
493
  }));
512
494
  };
@@ -514,52 +496,51 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
514
496
  var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
515
497
  var column = _ref.column,
516
498
  tableInstance = _ref.tableInstance;
517
- var getState = tableInstance.getState,
518
- _tableInstance$option = tableInstance.options,
499
+ var _tableInstance$option = tableInstance.options,
519
500
  PushPinIcon = _tableInstance$option.icons.PushPinIcon,
520
501
  localization = _tableInstance$option.localization;
521
502
 
522
- var _getState = getState(),
523
- columnOrder = _getState.columnOrder;
524
-
525
503
  var handlePinColumn = function handlePinColumn(pinDirection) {
526
504
  column.pin(pinDirection);
527
-
528
- if (column.columnDefType === 'display') {
529
- tableInstance.setColumnOrder([column.id].concat(columnOrder));
530
- }
531
505
  };
532
506
 
533
- var pinned = column.getIsPinned();
534
507
  return React.createElement(Box, {
535
508
  sx: {
536
509
  mr: '8px'
537
510
  }
538
- }, React.createElement(Tooltip, {
511
+ }, column.getIsPinned() ? React.createElement(Tooltip, {
539
512
  arrow: true,
540
- title: pinned === 'left' ? localization.unpin : localization.pinToLeft
513
+ title: localization.unpin
541
514
  }, React.createElement(IconButton, {
542
515
  onClick: function onClick() {
543
- return handlePinColumn(pinned === 'left' ? false : 'left');
516
+ return handlePinColumn(false);
517
+ },
518
+ size: "small"
519
+ }, React.createElement(PushPinIcon, null))) : React.createElement(React.Fragment, null, React.createElement(Tooltip, {
520
+ arrow: true,
521
+ title: localization.pinToLeft
522
+ }, React.createElement(IconButton, {
523
+ onClick: function onClick() {
524
+ return handlePinColumn('left');
544
525
  },
545
526
  size: "small"
546
527
  }, React.createElement(PushPinIcon, {
547
528
  style: {
548
- transform: pinned === 'left' ? 'rotate(0)' : 'rotate(90deg)'
529
+ transform: 'rotate(90deg)'
549
530
  }
550
531
  }))), React.createElement(Tooltip, {
551
532
  arrow: true,
552
- title: pinned === 'right' ? localization.unpin : localization.pinToRight
533
+ title: localization.pinToRight
553
534
  }, React.createElement(IconButton, {
554
535
  onClick: function onClick() {
555
- return handlePinColumn(pinned === 'right' ? false : 'right');
536
+ return handlePinColumn('right');
556
537
  },
557
538
  size: "small"
558
539
  }, React.createElement(PushPinIcon, {
559
540
  style: {
560
- transform: pinned === 'right' ? 'rotate(0)' : 'rotate(-90deg)'
541
+ transform: 'rotate(-90deg)'
561
542
  }
562
- }))));
543
+ })))));
563
544
  };
564
545
 
565
546
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
@@ -569,9 +550,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
569
550
  isSubMenu = _ref.isSubMenu,
570
551
  tableInstance = _ref.tableInstance;
571
552
  var getState = tableInstance.getState,
572
- _tableInstance$option = tableInstance.options,
573
- onToggleColumnVisibility = _tableInstance$option.onToggleColumnVisibility,
574
- enablePinning = _tableInstance$option.enablePinning;
553
+ onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
575
554
 
576
555
  var _getState = getState(),
577
556
  columnVisibility = _getState.columnVisibility;
@@ -606,7 +585,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
606
585
  pl: (column.depth + 0.5) * 2 + "rem",
607
586
  py: '6px'
608
587
  }
609
- }, !isSubMenu && enablePinning && React.createElement(MRT_ColumnPinningButtons, {
588
+ }, !isSubMenu && column.getCanPin() && React.createElement(MRT_ColumnPinningButtons, {
610
589
  column: column,
611
590
  tableInstance: tableInstance
612
591
  }), React.createElement(FormControlLabel, {
@@ -619,7 +598,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
619
598
  },
620
599
  checked: switchChecked,
621
600
  control: React.createElement(Switch, null),
622
- disabled: isSubMenu && switchChecked || column.enableHiding === false,
601
+ disabled: isSubMenu && switchChecked || !column.getCanHide(),
623
602
  label: column.header,
624
603
  onChange: function onChange() {
625
604
  return handleToggleColumnHidden(column);
@@ -700,7 +679,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
700
679
  }, localization.hideAll), !isSubMenu && enablePinning && React.createElement(Button, {
701
680
  disabled: !getIsSomeColumnsPinned(),
702
681
  onClick: function onClick() {
703
- return tableInstance.setColumnPinning({});
682
+ return tableInstance.resetColumnPinning(true);
704
683
  }
705
684
  }, localization.unpinAll), React.createElement(Button, {
706
685
  disabled: getIsAllColumnsVisible(),
@@ -783,7 +762,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
783
762
  setShowHideColumnsMenuAnchorEl = _useState2[1];
784
763
 
785
764
  var handleClearSort = function handleClearSort() {
786
- column.resetSorting();
765
+ column.clearSorting();
787
766
  setAnchorEl(null);
788
767
  };
789
768
 
@@ -809,6 +788,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
809
788
 
810
789
  var handlePinColumn = function handlePinColumn(pinDirection) {
811
790
  column.pin(pinDirection);
791
+ setAnchorEl(null);
812
792
  };
813
793
 
814
794
  var handleGroupByColumn = function handleGroupByColumn() {
@@ -820,7 +800,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
820
800
  };
821
801
 
822
802
  var handleClearFilter = function handleClearFilter() {
823
- column.setColumnFilterValue('');
803
+ column.setFilterValue('');
824
804
  setAnchorEl(null);
825
805
  };
826
806
 
@@ -885,8 +865,8 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
885
865
  style: {
886
866
  transform: 'rotate(180deg) scaleX(-1)'
887
867
  }
888
- })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanColumnFilter() && [React.createElement(MenuItem, {
889
- disabled: !column.getColumnFilterValue(),
868
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.header))))], enableColumnFilters && column.getCanFilter() && [React.createElement(MenuItem, {
869
+ disabled: !column.getFilterValue(),
890
870
  key: 0,
891
871
  onClick: handleClearFilter,
892
872
  sx: commonMenuItemStyles$1
@@ -935,7 +915,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
935
915
  }
936
916
  })), localization.pinToLeft)), React.createElement(MenuItem, {
937
917
  disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
938
- key: 0,
918
+ key: 1,
939
919
  onClick: function onClick() {
940
920
  return handlePinColumn('right');
941
921
  },
@@ -949,7 +929,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
949
929
  })), localization.pinToRight)), React.createElement(MenuItem, {
950
930
  disabled: !column.getIsPinned(),
951
931
  divider: enableHiding,
952
- key: 0,
932
+ key: 2,
953
933
  onClick: function onClick() {
954
934
  return handlePinColumn(false);
955
935
  },
@@ -1052,7 +1032,7 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1052
1032
  var handleCancel = function handleCancel() {
1053
1033
  var _row$original;
1054
1034
 
1055
- row.values = (_row$original = row.original) != null ? _row$original : {};
1035
+ row._valuesCache = (_row$original = row.original) != null ? _row$original : {};
1056
1036
  setCurrentEditingRow(null);
1057
1037
  };
1058
1038
 
@@ -1166,31 +1146,26 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1166
1146
  var getRowModel = tableInstance.getRowModel,
1167
1147
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1168
1148
  getState = tableInstance.getState,
1169
- getToggleAllRowsSelectedProps = tableInstance.getToggleAllRowsSelectedProps,
1170
1149
  _tableInstance$option = tableInstance.options,
1171
- isLoading = _tableInstance$option.isLoading,
1172
1150
  localization = _tableInstance$option.localization,
1173
1151
  muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1174
1152
  onSelectChange = _tableInstance$option.onSelectChange,
1175
1153
  onSelectAllChange = _tableInstance$option.onSelectAllChange;
1176
1154
 
1177
1155
  var _getState = getState(),
1178
- isDensePadding = _getState.isDensePadding;
1156
+ isDensePadding = _getState.isDensePadding,
1157
+ isLoading = _getState.isLoading;
1179
1158
 
1180
1159
  var handleSelectChange = function handleSelectChange(event) {
1181
1160
  if (selectAll) {
1182
- var _getToggleAllRowsSele;
1183
-
1184
- getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1161
+ tableInstance.getToggleAllRowsSelectedHandler()(event);
1185
1162
  onSelectAllChange == null ? void 0 : onSelectAllChange({
1186
1163
  event: event,
1187
1164
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
1188
1165
  tableInstance: tableInstance
1189
1166
  });
1190
1167
  } else if (row) {
1191
- var _row$getToggleSelecte;
1192
-
1193
- row == null ? void 0 : (_row$getToggleSelecte = row.getToggleSelectedProps()) == null ? void 0 : _row$getToggleSelecte.onChange == null ? void 0 : _row$getToggleSelecte.onChange(event);
1168
+ row == null ? void 0 : row.getToggleSelectedHandler()(event);
1194
1169
  onSelectChange == null ? void 0 : onSelectChange({
1195
1170
  event: event,
1196
1171
  row: row,
@@ -1202,33 +1177,30 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1202
1177
  }
1203
1178
  };
1204
1179
 
1205
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1180
+ var checkboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1206
1181
  isSelectAll: !!selectAll,
1207
1182
  row: row,
1208
1183
  tableInstance: tableInstance
1209
1184
  }) : muiSelectCheckboxProps;
1210
- var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1211
-
1212
- var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
1213
-
1214
1185
  return React.createElement(Tooltip, {
1215
1186
  arrow: true,
1216
1187
  enterDelay: 1000,
1217
1188
  enterNextDelay: 1000,
1218
1189
  title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1219
1190
  }, React.createElement(Checkbox, Object.assign({
1191
+ checked: selectAll ? tableInstance.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1220
1192
  disabled: isLoading,
1193
+ indeterminate: selectAll ? tableInstance.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1221
1194
  inputProps: {
1222
1195
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1223
1196
  },
1197
+ onChange: handleSelectChange,
1224
1198
  size: isDensePadding ? 'small' : 'medium'
1225
1199
  }, checkboxProps, {
1226
- sx: {
1200
+ sx: _extends({
1227
1201
  height: isDensePadding ? '1.75rem' : '2.25rem',
1228
1202
  width: isDensePadding ? '1.75rem' : '2.25rem'
1229
- },
1230
- onChange: handleSelectChange,
1231
- title: undefined
1203
+ }, checkboxProps == null ? void 0 : checkboxProps.sx)
1232
1204
  })));
1233
1205
  };
1234
1206
 
@@ -1609,7 +1581,6 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1609
1581
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1610
1582
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1611
1583
  getState = tableInstance.getState,
1612
- toggleColumnGrouping = tableInstance.toggleColumnGrouping,
1613
1584
  _tableInstance$option = tableInstance.options,
1614
1585
  localization = _tableInstance$option.localization,
1615
1586
  muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
@@ -1636,7 +1607,7 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1636
1607
  return column.id === columnId;
1637
1608
  })) == null ? void 0 : _tableInstance$getAll.header,
1638
1609
  onDelete: function onDelete() {
1639
- return toggleColumnGrouping(columnId);
1610
+ return tableInstance.getColumn(columnId).toggleGrouping();
1640
1611
  }
1641
1612
  }));
1642
1613
  })) : null;
@@ -1668,15 +1639,19 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1668
1639
 
1669
1640
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1670
1641
  var tableInstance = _ref.tableInstance;
1671
- var _tableInstance$option = tableInstance.options,
1672
- muiLinearProgressProps = _tableInstance$option.muiLinearProgressProps,
1673
- isReloading = _tableInstance$option.isReloading,
1674
- isLoading = _tableInstance$option.isLoading;
1642
+ var muiLinearProgressProps = tableInstance.options.muiLinearProgressProps,
1643
+ getState = tableInstance.getState;
1644
+
1645
+ var _getState = getState(),
1646
+ isLoading = _getState.isLoading,
1647
+ showProgressBars = _getState.showProgressBars;
1648
+
1675
1649
  var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1676
1650
  tableInstance: tableInstance
1677
1651
  }) : muiLinearProgressProps;
1678
1652
  return React.createElement(Collapse, {
1679
- "in": isReloading || isLoading,
1653
+ "in": isLoading || showProgressBars,
1654
+ mountOnEnter: true,
1680
1655
  unmountOnExit: true
1681
1656
  }, React.createElement(LinearProgress, Object.assign({
1682
1657
  "aria-label": "Loading",
@@ -1687,10 +1662,11 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1687
1662
  var commonToolbarStyles = function commonToolbarStyles(_ref) {
1688
1663
  var theme = _ref.theme;
1689
1664
  return {
1690
- backgroundColor: theme.palette.background["default"],
1691
- backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
1665
+ backgroundColor: lighten(theme.palette.background["default"], 0.04),
1666
+ backgroundImage: 'none',
1692
1667
  display: 'grid',
1693
1668
  p: '0 !important',
1669
+ transition: 'all 0.2s ease-in-out',
1694
1670
  width: '100%',
1695
1671
  zIndex: 1
1696
1672
  };
@@ -1806,9 +1782,10 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1806
1782
  };
1807
1783
 
1808
1784
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1809
- var _column$getColumnFilt, _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1785
+ var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1810
1786
 
1811
1787
  var header = _ref.header,
1788
+ inputIndex = _ref.inputIndex,
1812
1789
  tableInstance = _ref.tableInstance;
1813
1790
  var getState = tableInstance.getState,
1814
1791
  _tableInstance$option = tableInstance.options,
@@ -1839,14 +1816,22 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1839
1816
 
1840
1817
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
1841
1818
 
1842
- var _useState2 = useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
1819
+ var _useState2 = useState(function () {
1820
+ var _column$getFilterValu, _column$getFilterValu2, _column$getFilterValu3;
1821
+
1822
+ 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 : '';
1823
+ }),
1843
1824
  filterValue = _useState2[0],
1844
1825
  setFilterValue = _useState2[1];
1845
1826
 
1846
- var handleChange = useCallback(debounce(function (event) {
1827
+ var handleChangeDebounced = useCallback(debounce(function (event) {
1847
1828
  var _event$target$value;
1848
1829
 
1849
- return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1830
+ return inputIndex !== undefined ? column.setFilterValue(function (old) {
1831
+ var newFilterValues = old != null ? old : ['', ''];
1832
+ newFilterValues[inputIndex] = event.target.value;
1833
+ return newFilterValues;
1834
+ }) : column.setFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1850
1835
  }, 150), []);
1851
1836
 
1852
1837
  var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
@@ -1855,16 +1840,25 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1855
1840
 
1856
1841
  var handleClear = function handleClear() {
1857
1842
  setFilterValue('');
1858
- column.setColumnFilterValue(undefined);
1843
+
1844
+ if (inputIndex !== undefined) {
1845
+ column.setFilterValue(function (old) {
1846
+ var newFilterValues = old != null ? old : ['', ''];
1847
+ newFilterValues[inputIndex] = undefined;
1848
+ return newFilterValues;
1849
+ });
1850
+ } else {
1851
+ column.setFilterValue(undefined);
1852
+ }
1859
1853
  };
1860
1854
 
1861
1855
  var handleClearFilterChip = function handleClearFilterChip() {
1862
1856
  setFilterValue('');
1863
- column.setColumnFilterValue(undefined);
1857
+ column.setFilterValue(undefined);
1864
1858
  setCurrentFilterFns(function (prev) {
1865
1859
  var _extends2;
1866
1860
 
1867
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.BEST_MATCH, _extends2));
1861
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.FUZZY, _extends2));
1868
1862
  });
1869
1863
  };
1870
1864
 
@@ -1875,12 +1869,12 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1875
1869
  }));
1876
1870
  }
1877
1871
 
1878
- var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field";
1872
+ var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field" + (inputIndex != null ? inputIndex : '');
1879
1873
  var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
1880
1874
  var isSelectFilter = !!column.filterSelectOptions;
1881
1875
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1882
1876
  localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
1883
- var filterPlaceholder = (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header));
1877
+ 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 : '';
1884
1878
  return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
1885
1879
  fullWidth: true,
1886
1880
  id: filterId,
@@ -1892,23 +1886,24 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1892
1886
  },
1893
1887
  title: filterPlaceholder
1894
1888
  },
1895
- helperText: React.createElement("label", {
1889
+ helperText: !inputIndex ? React.createElement("label", {
1896
1890
  htmlFor: filterId
1897
1891
  }, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
1898
1892
  (_localization$ = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization$ : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
1899
- localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])),
1893
+ localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
1900
1894
  FormHelperTextProps: {
1901
1895
  sx: {
1902
1896
  fontSize: '0.6rem',
1903
- lineHeight: '0.8rem'
1897
+ lineHeight: '0.8rem',
1898
+ whiteSpace: 'nowrap'
1904
1899
  }
1905
1900
  },
1906
1901
  label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
1907
1902
  margin: "none",
1908
- placeholder: filterPlaceholder,
1903
+ placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
1909
1904
  onChange: function onChange(event) {
1910
1905
  setFilterValue(event.target.value);
1911
- handleChange(event);
1906
+ handleChangeDebounced(event);
1912
1907
  },
1913
1908
  onClick: function onClick(e) {
1914
1909
  return e.stopPropagation();
@@ -1917,7 +1912,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1917
1912
  value: filterValue != null ? filterValue : '',
1918
1913
  variant: "standard",
1919
1914
  InputProps: {
1920
- startAdornment: !isSelectFilter && React.createElement(InputAdornment, {
1915
+ startAdornment: !isSelectFilter && !inputIndex && React.createElement(InputAdornment, {
1921
1916
  position: "start"
1922
1917
  }, React.createElement(Tooltip, {
1923
1918
  arrow: true,
@@ -1956,7 +1951,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1956
1951
  sx: _extends({
1957
1952
  m: '-0.25rem',
1958
1953
  p: 0,
1959
- minWidth: !filterChipLabel ? '5rem' : 'auto',
1954
+ minWidth: !filterChipLabel ? '6rem' : 'auto',
1960
1955
  width: 'calc(100% + 0.5rem)',
1961
1956
  mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
1962
1957
  '& .MuiSelect-icon': {
@@ -2051,6 +2046,32 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2051
2046
  }));
2052
2047
  };
2053
2048
 
2049
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2050
+ var header = _ref.header,
2051
+ tableInstance = _ref.tableInstance;
2052
+ var localization = tableInstance.options.localization;
2053
+ return React.createElement(Box, {
2054
+ sx: {
2055
+ display: 'grid',
2056
+ gridTemplateColumns: '6fr auto 5fr'
2057
+ }
2058
+ }, React.createElement(MRT_FilterTextField, {
2059
+ header: header,
2060
+ inputIndex: 0,
2061
+ tableInstance: tableInstance
2062
+ }), React.createElement(Box, {
2063
+ sx: {
2064
+ width: '100%',
2065
+ minWidth: '5ch',
2066
+ textAlign: 'center'
2067
+ }
2068
+ }, localization.to), React.createElement(MRT_FilterTextField, {
2069
+ header: header,
2070
+ inputIndex: 1,
2071
+ tableInstance: tableInstance
2072
+ }));
2073
+ };
2074
+
2054
2075
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2055
2076
  var _getState2, _getState2$currentFil, _column$Header;
2056
2077
 
@@ -2069,6 +2090,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2069
2090
  setShowFilters = tableInstance.setShowFilters;
2070
2091
 
2071
2092
  var _getState = getState(),
2093
+ currentFilterFns = _getState.currentFilterFns,
2072
2094
  isDensePadding = _getState.isDensePadding,
2073
2095
  showFilters = _getState.showFilters;
2074
2096
 
@@ -2082,36 +2104,53 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2082
2104
  tableInstance: tableInstance
2083
2105
  }) : column.muiTableHeadCellProps;
2084
2106
 
2085
- var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2107
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2086
2108
 
2087
2109
  var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
2088
2110
  var filterFn = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterFns) == null ? void 0 : _getState2$currentFil[header.id];
2089
- var filterTooltip = !!column.getColumnFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2090
- localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))]).replace('{filterValue}', column.getColumnFilterValue()).replace('" "', '') : localization.showHideFilters;
2111
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2112
+ 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;
2091
2113
  var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2092
2114
  header: header,
2093
2115
  tableInstance: tableInstance
2094
2116
  })) != null ? _column$Header : column.header;
2117
+
2118
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2119
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2120
+ };
2121
+
2122
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2123
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2124
+ };
2125
+
2126
+ var getTotalRight = function getTotalRight() {
2127
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2128
+ };
2129
+
2095
2130
  return React.createElement(TableCell, Object.assign({
2096
- align: column.columnDefType === 'group' ? 'center' : 'left'
2131
+ align: column.columnDefType === 'group' ? 'center' : 'left',
2132
+ colSpan: header.colSpan
2097
2133
  }, tableCellProps, {
2098
- //@ts-ignore
2099
2134
  sx: function sx(theme) {
2100
2135
  return _extends({
2101
- backgroundColor: theme.palette.background["default"],
2102
- backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2136
+ backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2137
+ backgroundImage: 'inherit',
2138
+ boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
2103
2139
  fontWeight: 'bold',
2104
2140
  height: '100%',
2105
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2106
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2141
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2142
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2143
+ minWidth: "max(" + column.getSize() + "px, " + column.minSize + "px)",
2144
+ overflow: 'visible',
2107
2145
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2108
- pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2109
2146
  pb: column.columnDefType === 'display' ? 0 : undefined,
2110
- overflow: 'visible',
2147
+ position: column.getIsPinned() && column.columnDefType !== 'group' ? 'sticky' : undefined,
2148
+ pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2149
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2111
2150
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2112
2151
  verticalAlign: 'text-top',
2113
- width: header.getWidth(),
2114
- zIndex: column.getIsResizing() ? 2 : 1
2152
+ width: header.getSize(),
2153
+ zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2115
2154
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2116
2155
  }
2117
2156
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React.createElement(Box, {
@@ -2140,7 +2179,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2140
2179
  "aria-label": sortTooltip,
2141
2180
  active: !!column.getIsSorted(),
2142
2181
  direction: column.getIsSorted() ? column.getIsSorted() : undefined
2143
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanColumnFilter() && React.createElement(Tooltip, {
2182
+ })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React.createElement(Tooltip, {
2144
2183
  arrow: true,
2145
2184
  placement: "top",
2146
2185
  title: filterTooltip
@@ -2153,7 +2192,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2153
2192
  size: "small",
2154
2193
  sx: {
2155
2194
  m: 0,
2156
- opacity: !!column.getColumnFilterValue() ? 0.8 : 0,
2195
+ opacity: !!column.getFilterValue() ? 0.8 : 0,
2157
2196
  p: '2px',
2158
2197
  transition: 'all 0.2s ease-in-out',
2159
2198
  '&:hover': {
@@ -2161,14 +2200,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2161
2200
  opacity: 0.8
2162
2201
  }
2163
2202
  }
2164
- }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
2203
+ }, showFilters && !column.getFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), (enableColumnActions || column.enableColumnActions) && column.enableColumnActions !== false && column.columnDefType !== 'group' && React.createElement(MRT_ToggleColumnActionMenuButton, {
2165
2204
  header: header,
2166
2205
  tableInstance: tableInstance
2167
2206
  }), column.getCanResize() && React.createElement(Divider, Object.assign({
2168
2207
  flexItem: true,
2169
2208
  orientation: "vertical",
2170
2209
  onDoubleClick: function onDoubleClick() {
2171
- return header.resetSize();
2210
+ return column.resetSize();
2172
2211
  },
2173
2212
  sx: function sx(theme) {
2174
2213
  return {
@@ -2189,15 +2228,21 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2189
2228
  }
2190
2229
  };
2191
2230
  }
2192
- }, header.getResizerProps(function (props) {
2193
- return _extends({}, props, {
2194
- style: {
2195
- transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : ''
2196
- }
2197
- });
2198
- })))), column.columnDefType === 'data' && column.getCanColumnFilter() && React.createElement(Collapse, {
2199
- "in": showFilters
2200
- }, React.createElement(MRT_FilterTextField, {
2231
+ }, {
2232
+ onMouseDown: header.getResizeHandler,
2233
+ onTouchStart: header.getResizeHandler
2234
+ }, {
2235
+ style: {
2236
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2237
+ }
2238
+ }))), column.columnDefType === 'data' && column.getCanFilter() && React.createElement(Collapse, {
2239
+ "in": showFilters,
2240
+ mountOnEnter: true,
2241
+ unmountOnExit: true
2242
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React.createElement(MRT_FilterRangeFields, {
2243
+ header: header,
2244
+ tableInstance: tableInstance
2245
+ }) : React.createElement(MRT_FilterTextField, {
2201
2246
  header: header,
2202
2247
  tableInstance: tableInstance
2203
2248
  })));
@@ -2207,17 +2252,15 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2207
2252
  var headerGroup = _ref.headerGroup,
2208
2253
  tableInstance = _ref.tableInstance;
2209
2254
  var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2210
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2255
+ var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2211
2256
  headerGroup: headerGroup,
2212
2257
  tableInstance: tableInstance
2213
2258
  }) : muiTableHeadRowProps;
2214
-
2215
- var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2216
-
2217
2259
  return React.createElement(TableRow, Object.assign({}, tableRowProps, {
2218
2260
  sx: function sx(theme) {
2219
2261
  return _extends({
2220
- boxShadow: "4px 0 8px " + alpha(theme.palette.common.black, 0.1)
2262
+ boxShadow: "4px 0 8px " + alpha(theme.palette.common.black, 0.1),
2263
+ backgroundColor: lighten(theme.palette.background["default"], 0.04)
2221
2264
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2222
2265
  }
2223
2266
  }), headerGroup.headers.map(function (header, index) {
@@ -2230,26 +2273,16 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2230
2273
  };
2231
2274
 
2232
2275
  var MRT_TableHead = function MRT_TableHead(_ref) {
2233
- var pinned = _ref.pinned,
2234
- tableInstance = _ref.tableInstance;
2235
- var getCenterHeaderGroups = tableInstance.getCenterHeaderGroups,
2236
- getHeaderGroups = tableInstance.getHeaderGroups,
2237
- getLeftHeaderGroups = tableInstance.getLeftHeaderGroups,
2238
- getRightHeaderGroups = tableInstance.getRightHeaderGroups,
2276
+ var tableInstance = _ref.tableInstance;
2277
+ var getHeaderGroups = tableInstance.getHeaderGroups,
2239
2278
  muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2240
2279
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2241
2280
  tableInstance: tableInstance
2242
2281
  }) : muiTableHeadProps;
2243
- var getHeaderGroupsMap = {
2244
- center: getCenterHeaderGroups,
2245
- left: getLeftHeaderGroups,
2246
- none: getHeaderGroups,
2247
- right: getRightHeaderGroups
2248
- };
2249
- return React.createElement(TableHead, Object.assign({}, tableHeadProps), getHeaderGroupsMap[pinned]().map(function (headerGroup) {
2282
+ return React.createElement(TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2250
2283
  return React.createElement(MRT_TableHeadRow, {
2251
2284
  headerGroup: headerGroup,
2252
- key: headerGroup.getHeaderGroupProps().key,
2285
+ key: headerGroup.id,
2253
2286
  tableInstance: tableInstance
2254
2287
  });
2255
2288
  }));
@@ -2268,7 +2301,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2268
2301
  setCurrentEditingCell = tableInstance.setCurrentEditingCell,
2269
2302
  setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2270
2303
 
2271
- var _useState = useState(cell.value),
2304
+ var _useState = useState(cell.getValue()),
2272
2305
  value = _useState[0],
2273
2306
  setValue = _useState[1];
2274
2307
 
@@ -2291,7 +2324,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2291
2324
 
2292
2325
  var handleBlur = function handleBlur(event) {
2293
2326
  if (getState().currentEditingRow) {
2294
- row.values[column.id] = value;
2327
+ row._valuesCache[column.id] = value;
2295
2328
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2296
2329
  }
2297
2330
 
@@ -2380,7 +2413,7 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2380
2413
  }, React.createElement(Button, Object.assign({
2381
2414
  "aria-label": localization.clickToCopy,
2382
2415
  onClick: function onClick() {
2383
- return handleCopy(cell.value);
2416
+ return handleCopy(cell.getValue());
2384
2417
  },
2385
2418
  size: "small"
2386
2419
  }, buttonProps, {
@@ -2405,16 +2438,14 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2405
2438
  var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2406
2439
 
2407
2440
  var cell = _ref.cell,
2441
+ enableHover = _ref.enableHover,
2408
2442
  tableInstance = _ref.tableInstance;
2409
- var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2410
- getState = tableInstance.getState,
2443
+ var getState = tableInstance.getState,
2411
2444
  _tableInstance$option = tableInstance.options,
2412
2445
  editingMode = _tableInstance$option.editingMode,
2413
2446
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2414
2447
  enableEditing = _tableInstance$option.enableEditing,
2415
- enablePinning = _tableInstance$option.enablePinning,
2416
2448
  idPrefix = _tableInstance$option.idPrefix,
2417
- isLoading = _tableInstance$option.isLoading,
2418
2449
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
2419
2450
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
2420
2451
  onCellClick = _tableInstance$option.onCellClick,
@@ -2423,7 +2454,9 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2423
2454
  var _getState = getState(),
2424
2455
  currentEditingCell = _getState.currentEditingCell,
2425
2456
  currentEditingRow = _getState.currentEditingRow,
2426
- isDensePadding = _getState.isDensePadding;
2457
+ isDensePadding = _getState.isDensePadding,
2458
+ isLoading = _getState.isLoading,
2459
+ showSkeletons = _getState.showSkeletons;
2427
2460
 
2428
2461
  var column = cell.column,
2429
2462
  row = cell.row;
@@ -2436,11 +2469,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2436
2469
  tableInstance: tableInstance
2437
2470
  }) : column.muiTableBodyCellProps;
2438
2471
 
2439
- var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2472
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
2440
2473
 
2441
2474
  var skeletonWidth = useMemo(function () {
2442
- return column.columnDefType === 'display' ? column.getWidth() / 2 : Math.random() * (column.getWidth() - column.getWidth() / 3) + column.getWidth() / 3;
2443
- }, [column.columnDefType, column.getWidth()]);
2475
+ return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
2476
+ }, [column.columnDefType, column.getSize()]);
2444
2477
  var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
2445
2478
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2446
2479
 
@@ -2458,6 +2491,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2458
2491
  }
2459
2492
  };
2460
2493
 
2494
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2495
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2496
+ };
2497
+
2498
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2499
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2500
+ };
2501
+
2502
+ var getTotalRight = function getTotalRight() {
2503
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2504
+ };
2505
+
2461
2506
  return React.createElement(TableCell, Object.assign({
2462
2507
  onClick: function onClick(event) {
2463
2508
  return onCellClick == null ? void 0 : onCellClick({
@@ -2468,17 +2513,28 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2468
2513
  },
2469
2514
  onDoubleClick: handleDoubleClick
2470
2515
  }, tableCellProps, {
2471
- sx: _extends({
2472
- cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2473
- maxWidth: "min(" + column.getWidth() + "px, fit-content)",
2474
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2475
- p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2476
- pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2477
- transition: 'all 0.2s ease-in-out',
2478
- whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal',
2479
- width: column.getWidth()
2480
- }, tableCellProps == null ? void 0 : tableCellProps.sx)
2481
- }), isLoading ? React.createElement(Skeleton, Object.assign({
2516
+ sx: function sx(theme) {
2517
+ return _extends({
2518
+ backgroundColor: column.getIsPinned() ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
2519
+ boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
2520
+ cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2521
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2522
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2523
+ minWidth: "max" + column.getSize() + "px, " + column.minSize + "px",
2524
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2525
+ pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2526
+ position: column.getIsPinned() ? 'sticky' : 'relative',
2527
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2528
+ transition: 'all 0.2s ease-in-out',
2529
+ whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2530
+ width: column.getSize(),
2531
+ zIndex: column.getIsPinned() ? 1 : undefined,
2532
+ '&:hover': {
2533
+ backgroundColor: enableHover ? theme.palette.mode === 'dark' ? lighten(theme.palette.background["default"], 0.13) + " !important" : darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2534
+ }
2535
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
2536
+ }
2537
+ }), React.createElement(React.Fragment, null, isLoading || showSkeletons ? React.createElement(Skeleton, Object.assign({
2482
2538
  animation: "wave",
2483
2539
  height: 20,
2484
2540
  width: skeletonWidth
@@ -2491,13 +2547,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2491
2547
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React.createElement(React.Fragment, null, React.createElement(MRT_CopyButton, {
2492
2548
  cell: cell,
2493
2549
  tableInstance: tableInstance
2494
- }, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2550
+ }, React.createElement(React.Fragment, null, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2495
2551
  cell: cell,
2496
2552
  tableInstance: tableInstance
2497
- })) != null ? _cell$column$Cell : cell.renderCell()), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, (_cell$column$Cell2 = (_cell$column2 = cell.column) == null ? void 0 : _cell$column2.Cell == null ? void 0 : _cell$column2.Cell({
2553
+ })) != null ? _cell$column$Cell : cell.renderCell())), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length, ")")) : React.createElement(React.Fragment, null, (_cell$column$Cell2 = (_cell$column2 = cell.column) == null ? void 0 : _cell$column2.Cell == null ? void 0 : _cell$column2.Cell({
2498
2554
  cell: cell,
2499
2555
  tableInstance: tableInstance
2500
- })) != null ? _cell$column$Cell2 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")")));
2556
+ })) != null ? _cell$column$Cell2 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length, ")"))));
2501
2557
  };
2502
2558
 
2503
2559
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2542,33 +2598,16 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
2542
2598
  };
2543
2599
 
2544
2600
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2545
- var pinned = _ref.pinned,
2546
- row = _ref.row,
2601
+ var row = _ref.row,
2547
2602
  tableInstance = _ref.tableInstance;
2548
2603
  var _tableInstance$option = tableInstance.options,
2549
2604
  muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
2550
2605
  onRowClick = _tableInstance$option.onRowClick,
2551
2606
  renderDetailPanel = _tableInstance$option.renderDetailPanel;
2552
- var getCenterVisibleCells = row.getCenterVisibleCells,
2553
- getIsGrouped = row.getIsGrouped,
2554
- getIsSelected = row.getIsSelected,
2555
- getLeftVisibleCells = row.getLeftVisibleCells,
2556
- getRightVisibleCells = row.getRightVisibleCells,
2557
- getRowProps = row.getRowProps,
2558
- getVisibleCells = row.getVisibleCells;
2559
- var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2607
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2560
2608
  row: row,
2561
2609
  tableInstance: tableInstance
2562
2610
  }) : muiTableBodyRowProps;
2563
-
2564
- var tableRowProps = _extends({}, getRowProps(), mTableBodyRowProps);
2565
-
2566
- var getVisibleCellsMap = {
2567
- center: getCenterVisibleCells,
2568
- left: getLeftVisibleCells,
2569
- none: getVisibleCells,
2570
- right: getRightVisibleCells
2571
- };
2572
2611
  return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
2573
2612
  hover: true,
2574
2613
  onClick: function onClick(event) {
@@ -2578,39 +2617,44 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2578
2617
  tableInstance: tableInstance
2579
2618
  });
2580
2619
  },
2581
- selected: getIsSelected()
2582
- }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
2620
+ selected: row.getIsSelected()
2621
+ }, tableRowProps, {
2622
+ sx: function sx(theme) {
2623
+ return _extends({
2624
+ backgroundColor: lighten(theme.palette.background["default"], 0.06),
2625
+ transition: 'all 0.2s ease-in-out',
2626
+ '&:hover td': {
2627
+ backgroundColor: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false ? theme.palette.mode === 'dark' ? "" + lighten(theme.palette.background["default"], 0.12) : "" + darken(theme.palette.background["default"], 0.05) : undefined
2628
+ }
2629
+ }, tableRowProps == null ? void 0 : tableRowProps.sx);
2630
+ }
2631
+ }), row.getVisibleCells().map(function (cell) {
2583
2632
  return React.createElement(MRT_TableBodyCell, {
2584
2633
  cell: cell,
2585
- key: cell.getCellProps().key,
2634
+ key: cell.id,
2635
+ enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2586
2636
  tableInstance: tableInstance
2587
2637
  });
2588
- })), renderDetailPanel && !getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
2638
+ })), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
2589
2639
  row: row,
2590
2640
  tableInstance: tableInstance
2591
2641
  }));
2592
2642
  };
2593
2643
 
2594
2644
  var MRT_TableBody = function MRT_TableBody(_ref) {
2595
- var pinned = _ref.pinned,
2596
- tableInstance = _ref.tableInstance;
2645
+ var tableInstance = _ref.tableInstance;
2597
2646
  var getPaginationRowModel = tableInstance.getPaginationRowModel,
2598
2647
  getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2599
- getTableBodyProps = tableInstance.getTableBodyProps,
2600
2648
  _tableInstance$option = tableInstance.options,
2601
2649
  enablePagination = _tableInstance$option.enablePagination,
2602
2650
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
2603
2651
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
2604
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2652
+ var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2605
2653
  tableInstance: tableInstance
2606
2654
  }) : muiTableBodyProps;
2607
-
2608
- var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2609
-
2610
2655
  return React.createElement(TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
2611
2656
  return React.createElement(MRT_TableBodyRow, {
2612
- key: row.getRowProps().key,
2613
- pinned: pinned,
2657
+ key: row.id,
2614
2658
  row: row,
2615
2659
  tableInstance: tableInstance
2616
2660
  });
@@ -2640,23 +2684,23 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2640
2684
  tableInstance: tableInstance
2641
2685
  }) : column.muiTableFooterCellProps;
2642
2686
 
2643
- var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
2687
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
2644
2688
 
2645
2689
  return React.createElement(TableCell, Object.assign({
2646
2690
  align: column.columnDefType === 'group' ? 'center' : 'left',
2691
+ colSpan: footer.colSpan,
2647
2692
  variant: "head"
2648
2693
  }, tableCellProps, {
2649
- //@ts-ignore
2650
2694
  sx: function sx(theme) {
2651
2695
  return _extends({
2652
2696
  backgroundColor: theme.palette.background["default"],
2653
2697
  backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2654
2698
  fontWeight: 'bold',
2655
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2656
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2699
+ maxWidth: column.getSize() + "px",
2700
+ minWidth: column.getSize() + "px",
2657
2701
  p: isDensePadding ? '0.5rem' : '1rem',
2658
2702
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
2659
- width: column.getWidth(),
2703
+ width: column.getSize(),
2660
2704
  verticalAlign: 'text-top'
2661
2705
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2662
2706
  }
@@ -2674,99 +2718,63 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2674
2718
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2675
2719
 
2676
2720
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2677
- return h.column.columnDef.footer || h.column.Footer;
2721
+ return typeof h.column.footer === 'string' && !!h.column.footer || h.column.Footer;
2678
2722
  }))) return null;
2679
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2723
+ var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2680
2724
  footerGroup: footerGroup,
2681
2725
  tableInstance: tableInstance
2682
2726
  }) : muiTableFooterRowProps;
2683
-
2684
- var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
2685
-
2686
2727
  return React.createElement(TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
2687
2728
  return React.createElement(MRT_TableFooterCell, {
2688
2729
  footer: footer,
2689
- key: footer.getFooterProps().key,
2730
+ key: footer.id,
2690
2731
  tableInstance: tableInstance
2691
2732
  });
2692
2733
  }));
2693
2734
  };
2694
2735
 
2695
2736
  var MRT_TableFooter = function MRT_TableFooter(_ref) {
2696
- var pinned = _ref.pinned,
2697
- tableInstance = _ref.tableInstance;
2698
- var getCenterFooterGroups = tableInstance.getCenterFooterGroups,
2699
- getFooterGroups = tableInstance.getFooterGroups,
2700
- getLeftFooterGroups = tableInstance.getLeftFooterGroups,
2701
- getRightFooterGroups = tableInstance.getRightFooterGroups,
2737
+ var tableInstance = _ref.tableInstance;
2738
+ var getFooterGroups = tableInstance.getFooterGroups,
2702
2739
  muiTableFooterProps = tableInstance.options.muiTableFooterProps;
2703
2740
  var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
2704
2741
  tableInstance: tableInstance
2705
2742
  }) : muiTableFooterProps;
2706
- var getFooterGroupsMap = {
2707
- center: getCenterFooterGroups,
2708
- left: getLeftFooterGroups,
2709
- none: getFooterGroups,
2710
- right: getRightFooterGroups
2711
- };
2712
- return React.createElement(TableFooter, Object.assign({}, tableFooterProps), getFooterGroupsMap[pinned]().map(function (footerGroup) {
2743
+ return React.createElement(TableFooter, Object.assign({}, tableFooterProps), getFooterGroups().map(function (footerGroup) {
2713
2744
  return React.createElement(MRT_TableFooterRow, {
2714
2745
  footerGroup: footerGroup,
2715
- key: footerGroup.getFooterGroupProps().key,
2746
+ key: footerGroup.id,
2716
2747
  tableInstance: tableInstance
2717
2748
  });
2718
2749
  }));
2719
2750
  };
2720
2751
 
2721
2752
  var MRT_Table = function MRT_Table(_ref) {
2722
- var pinned = _ref.pinned,
2723
- tableInstance = _ref.tableInstance;
2724
- var getTableProps = tableInstance.getTableProps,
2725
- _tableInstance$option = tableInstance.options,
2753
+ var tableInstance = _ref.tableInstance;
2754
+ var _tableInstance$option = tableInstance.options,
2726
2755
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2727
2756
  enableTableFooter = _tableInstance$option.enableTableFooter,
2728
2757
  enableTableHead = _tableInstance$option.enableTableHead,
2729
2758
  muiTableProps = _tableInstance$option.muiTableProps;
2730
- var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2759
+ var tableProps = muiTableProps instanceof Function ? muiTableProps({
2731
2760
  tableInstance: tableInstance
2732
2761
  }) : muiTableProps;
2733
-
2734
- var tableProps = _extends({}, getTableProps(), mTableProps);
2735
-
2736
2762
  return React.createElement(Table, Object.assign({
2737
2763
  stickyHeader: enableStickyHeader
2738
2764
  }, tableProps), enableTableHead && React.createElement(MRT_TableHead, {
2739
- pinned: pinned,
2740
2765
  tableInstance: tableInstance
2741
2766
  }), React.createElement(MRT_TableBody, {
2742
- pinned: pinned,
2743
2767
  tableInstance: tableInstance
2744
2768
  }), enableTableFooter && React.createElement(MRT_TableFooter, {
2745
- pinned: pinned,
2746
2769
  tableInstance: tableInstance
2747
2770
  }));
2748
2771
  };
2749
2772
 
2750
- var commonBoxStyles = function commonBoxStyles(_ref) {
2751
- var pinned = _ref.pinned,
2752
- theme = _ref.theme,
2753
- visible = _ref.visible;
2754
- return {
2755
- display: 'grid',
2756
- minWidth: visible ? '200px' : 0,
2757
- overflowX: pinned ? 'scroll' : 'auto',
2758
- boxShadow: pinned === 'left' ? "0 1px 12px " + alpha(theme.palette.common.black, 0.5) : pinned === 'right' ? "0 -1px 12px " + alpha(theme.palette.common.black, 0.5) : 'none'
2759
- };
2760
- };
2761
-
2762
- var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2763
- var tableInstance = _ref2.tableInstance;
2764
- var getCenterTableWidth = tableInstance.getCenterTableWidth,
2765
- getLeftTableWidth = tableInstance.getLeftTableWidth,
2766
- getRightTableWidth = tableInstance.getRightTableWidth,
2767
- getState = tableInstance.getState,
2773
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
2774
+ var MRT_TableContainer = function MRT_TableContainer(_ref) {
2775
+ var tableInstance = _ref.tableInstance;
2776
+ var getState = tableInstance.getState,
2768
2777
  _tableInstance$option = tableInstance.options,
2769
- enablePinning = _tableInstance$option.enablePinning,
2770
2778
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2771
2779
  idPrefix = _tableInstance$option.idPrefix,
2772
2780
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
@@ -2781,15 +2789,13 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2781
2789
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2782
2790
  tableInstance: tableInstance
2783
2791
  }) : muiTableContainerProps;
2784
- useEffect(function () {
2792
+ useIsomorphicLayoutEffect(function () {
2785
2793
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
2786
2794
 
2787
2795
  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;
2788
2796
  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;
2789
2797
  setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
2790
2798
  });
2791
- var isSomeColumnsPinnedLeft = !!tableInstance.getLeftFlatHeaders().length;
2792
- var isSomeColumnsPinnedRight = !!tableInstance.getRightFlatHeaders().length;
2793
2799
  return React.createElement(TableContainer, Object.assign({}, tableContainerProps, {
2794
2800
  sx: _extends({
2795
2801
  maxWidth: '100%',
@@ -2799,45 +2805,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2799
2805
  style: {
2800
2806
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
2801
2807
  }
2802
- }), enablePinning && isSomeColumnsPinnedLeft || isSomeColumnsPinnedRight ? React.createElement(Box, {
2803
- sx: {
2804
- display: 'grid',
2805
- gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
2806
- }
2807
- }, React.createElement(Box, {
2808
- sx: function sx(theme) {
2809
- return commonBoxStyles({
2810
- pinned: 'left',
2811
- theme: theme,
2812
- visible: isSomeColumnsPinnedLeft
2813
- });
2814
- }
2815
- }, React.createElement(MRT_Table, {
2816
- pinned: "left",
2817
- tableInstance: tableInstance
2818
- })), React.createElement(Box, {
2819
- sx: function sx(theme) {
2820
- return commonBoxStyles({
2821
- theme: theme,
2822
- visible: !!tableInstance.getCenterFlatHeaders().length
2823
- });
2824
- }
2825
- }, React.createElement(MRT_Table, {
2826
- pinned: "center",
2827
- tableInstance: tableInstance
2828
- })), React.createElement(Box, {
2829
- sx: function sx(theme) {
2830
- return commonBoxStyles({
2831
- pinned: 'right',
2832
- theme: theme,
2833
- visible: isSomeColumnsPinnedRight
2834
- });
2835
- }
2836
- }, React.createElement(MRT_Table, {
2837
- pinned: "right",
2838
- tableInstance: tableInstance
2839
- }))) : React.createElement(MRT_Table, {
2840
- pinned: "none",
2808
+ }), React.createElement(MRT_Table, {
2841
2809
  tableInstance: tableInstance
2842
2810
  }));
2843
2811
  };
@@ -2939,7 +2907,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
2939
2907
  };
2940
2908
 
2941
2909
  var MRT_TableRoot = function MRT_TableRoot(props) {
2942
- 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;
2910
+ 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;
2943
2911
 
2944
2912
  var _useState = useState(props.idPrefix),
2945
2913
  idPrefix = _useState[0],
@@ -3003,7 +2971,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3003
2971
  var _useState8 = useState({
3004
2972
  pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
3005
2973
  pageSize: (_initialState$paginat3 = initialState == null ? void 0 : (_initialState$paginat4 = initialState.pagination) == null ? void 0 : _initialState$paginat4.pageSize) != null ? _initialState$paginat3 : 10,
3006
- pageCount: (_initialState$paginat5 = initialState == null ? void 0 : (_initialState$paginat6 = initialState.pagination) == null ? void 0 : _initialState$paginat6.pageCount) != null ? _initialState$paginat5 : -1
2974
+ pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
3007
2975
  }),
3008
2976
  pagination = _useState8[0],
3009
2977
  setPagination = _useState8[1];
@@ -3012,13 +2980,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3012
2980
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3013
2981
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
3014
2982
 
3015
- 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;
2983
+ 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;
3016
2984
  })));
3017
2985
  }),
3018
2986
  currentFilterFns = _useState9[0],
3019
2987
  setCurrentFilterFns = _useState9[1];
3020
2988
 
3021
- var _useState10 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.BEST_MATCH_FIRST),
2989
+ var _useState10 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
3022
2990
  currentGlobalFilterFn = _useState10[0],
3023
2991
  setCurrentGlobalFilterFn = _useState10[1];
3024
2992
 
@@ -3038,9 +3006,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3038
3006
  },
3039
3007
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3040
3008
  id: 'mrt-row-actions',
3041
- maxWidth: 60,
3042
- width: 60
3043
- }), (props.enableExpanded || props.enableGrouping) && createDisplayColumn(table, {
3009
+ size: 60
3010
+ }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
3044
3011
  Cell: function Cell(_ref4) {
3045
3012
  var cell = _ref4.cell;
3046
3013
  return React.createElement(MRT_ExpandButton, {
@@ -3055,8 +3022,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3055
3022
  },
3056
3023
  header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3057
3024
  id: 'mrt-expand',
3058
- maxWidth: 40,
3059
- width: 40
3025
+ size: 50
3060
3026
  }), props.enableRowSelection && createDisplayColumn(table, {
3061
3027
  Cell: function Cell(_ref5) {
3062
3028
  var cell = _ref5.cell;
@@ -3073,8 +3039,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3073
3039
  },
3074
3040
  header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3075
3041
  id: 'mrt-select',
3076
- maxWidth: 40,
3077
- width: 40
3042
+ size: 50
3078
3043
  }), props.enableRowNumbers && createDisplayColumn(table, {
3079
3044
  Cell: function Cell(_ref6) {
3080
3045
  var cell = _ref6.cell;
@@ -3087,39 +3052,47 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3087
3052
  },
3088
3053
  header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3089
3054
  id: 'mrt-row-numbers',
3090
- maxWidth: 40,
3091
- width: 40,
3092
- minWidth: 40
3055
+ size: 50
3093
3056
  })].filter(Boolean);
3094
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3057
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3095
3058
  var columns = useMemo(function () {
3096
- return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3059
+ return [].concat(displayColumns, props.columns.map(function (column) {
3097
3060
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3098
- })));
3061
+ }));
3099
3062
  }, [table, props.columns, currentFilterFns]);
3100
3063
  var data = useMemo(function () {
3101
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3064
+ var _props$state, _props$state2;
3065
+
3066
+ 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 () {
3102
3067
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3103
3068
  var _ref7;
3104
3069
 
3105
3070
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3106
3071
  })));
3107
3072
  }) : props.data;
3108
- }, [props.data, props.isLoading]); //@ts-ignore
3073
+ }, [props.data, (_props$state3 = props.state) == null ? void 0 : _props$state3.isLoading, (_props$state4 = props.state) == null ? void 0 : _props$state4.showSkeletons]); //@ts-ignore
3109
3074
 
3110
3075
  var tableInstance = _extends({}, useTableInstance(table, _extends({
3111
- //@ts-ignore
3112
3076
  filterFns: defaultFilterFNs,
3113
- getColumnFilteredRowModel: getColumnFilteredRowModelSync(),
3114
- getCoreRowModel: getCoreRowModelSync(),
3077
+ //@ts-ignore
3078
+ getCoreRowModel: getCoreRowModel(),
3079
+ //@ts-ignore
3115
3080
  getExpandedRowModel: getExpandedRowModel(),
3116
- getGlobalFilteredRowModel: getGlobalFilteredRowModelSync(),
3117
- getGroupedRowModel: getGroupedRowModelSync(),
3081
+ //@ts-ignore
3082
+ getFacetedRowModel: getFacetedRowModel(),
3083
+ //@ts-ignore
3084
+ getFilteredRowModel: getFilteredRowModel(),
3085
+ //@ts-ignore
3086
+ getGroupedRowModel: getGroupedRowModel(),
3087
+ //@ts-ignore
3118
3088
  getPaginationRowModel: getPaginationRowModel(),
3119
- getSortedRowModel: getSortedRowModelSync(),
3120
- getSubRows: function getSubRows(originalRow) {
3121
- return originalRow.subRows;
3089
+ //@ts-ignore
3090
+ getSortedRowModel: getSortedRowModel(),
3091
+ //@ts-ignore
3092
+ getSubRows: function getSubRows(row) {
3093
+ return row == null ? void 0 : row.subRows;
3122
3094
  },
3095
+ //@ts-ignore
3123
3096
  globalFilterFn: currentGlobalFilterFn,
3124
3097
  onPaginationChange: function onPaginationChange(updater) {
3125
3098
  return setPagination(function (old) {
@@ -3127,10 +3100,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3127
3100
  });
3128
3101
  }
3129
3102
  }, props, {
3103
+ //@ts-ignore
3130
3104
  columns: columns,
3131
3105
  data: data,
3132
3106
  idPrefix: idPrefix,
3133
- //@ts-ignore
3134
3107
  initialState: initialState,
3135
3108
  state: _extends({
3136
3109
  currentEditingCell: currentEditingCell,
@@ -3145,12 +3118,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3145
3118
  showGlobalFilter: showGlobalFilter
3146
3119
  }, props.state)
3147
3120
  })), {
3148
- //@ts-ignore
3149
3121
  setCurrentEditingCell: setCurrentEditingCell,
3150
- //@ts-ignore
3151
3122
  setCurrentEditingRow: setCurrentEditingRow,
3152
3123
  setCurrentFilterFns: setCurrentFilterFns,
3153
- //@ts-ignore
3154
3124
  setCurrentGlobalFilterFn: setCurrentGlobalFilterFn,
3155
3125
  setIsDensePadding: setIsDensePadding,
3156
3126
  setIsFullScreen: setIsFullScreen,
@@ -3198,12 +3168,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3198
3168
  }));
3199
3169
  };
3200
3170
 
3201
- 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"];
3171
+ 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"];
3202
3172
  var MaterialReactTable = (function (_ref) {
3203
3173
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3204
3174
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3205
- _ref$autoResetSorting = _ref.autoResetSorting,
3206
- autoResetSorting = _ref$autoResetSorting === void 0 ? false : _ref$autoResetSorting,
3207
3175
  _ref$columnResizeMode = _ref.columnResizeMode,
3208
3176
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3209
3177
  _ref$editingMode = _ref.editingMode,
@@ -3230,6 +3198,8 @@ var MaterialReactTable = (function (_ref) {
3230
3198
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3231
3199
  _ref$enablePagination = _ref.enablePagination,
3232
3200
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3201
+ _ref$enablePinning = _ref.enablePinning,
3202
+ enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3233
3203
  _ref$enableSelectAll = _ref.enableSelectAll,
3234
3204
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3235
3205
  _ref$enableSorting = _ref.enableSorting,
@@ -3262,12 +3232,11 @@ var MaterialReactTable = (function (_ref) {
3262
3232
 
3263
3233
  return React.createElement(MRT_TableRoot, Object.assign({
3264
3234
  autoResetExpanded: autoResetExpanded,
3265
- autoResetSorting: autoResetSorting,
3266
3235
  columnResizeMode: columnResizeMode,
3267
3236
  editingMode: editingMode,
3268
3237
  enableColumnActions: enableColumnActions,
3269
- enableColumnResizing: enableColumnResizing,
3270
3238
  enableColumnFilters: enableColumnFilters,
3239
+ enableColumnResizing: enableColumnResizing,
3271
3240
  enableDensePaddingToggle: enableDensePaddingToggle,
3272
3241
  enableExpandAll: enableExpandAll,
3273
3242
  enableFilters: enableFilters,
@@ -3276,6 +3245,7 @@ var MaterialReactTable = (function (_ref) {
3276
3245
  enableHiding: enableHiding,
3277
3246
  enableMultiRowSelection: enableMultiRowSelection,
3278
3247
  enablePagination: enablePagination,
3248
+ enablePinning: enablePinning,
3279
3249
  enableSelectAll: enableSelectAll,
3280
3250
  enableSorting: enableSorting,
3281
3251
  enableStickyHeader: enableStickyHeader,