material-react-table 0.7.6 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +1 -1
  2. package/dist/MaterialReactTable.d.ts +18 -16
  3. package/dist/body/MRT_TableBody.d.ts +0 -1
  4. package/dist/body/MRT_TableBodyCell.d.ts +1 -0
  5. package/dist/body/MRT_TableBodyRow.d.ts +0 -1
  6. package/dist/buttons/MRT_CopyButton.d.ts +2 -1
  7. package/dist/enums.d.ts +2 -2
  8. package/dist/filtersFNs.d.ts +31 -30
  9. package/dist/footer/MRT_TableFooter.d.ts +0 -1
  10. package/dist/head/MRT_TableHead.d.ts +0 -1
  11. package/dist/inputs/MRT_FilterRangeFields.d.ts +8 -0
  12. package/dist/inputs/MRT_FilterTextField.d.ts +1 -0
  13. package/dist/localization.d.ts +6 -2
  14. package/dist/material-react-table.cjs.development.js +550 -575
  15. package/dist/material-react-table.cjs.development.js.map +1 -1
  16. package/dist/material-react-table.cjs.production.min.js +1 -1
  17. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  18. package/dist/material-react-table.esm.js +553 -578
  19. package/dist/material-react-table.esm.js.map +1 -1
  20. package/dist/table/MRT_Table.d.ts +0 -1
  21. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -0
  22. package/dist/toolbar/MRT_ToolbarTop.d.ts +3 -0
  23. package/dist/utils.d.ts +1 -1
  24. package/package.json +24 -27
  25. package/src/MaterialReactTable.tsx +24 -24
  26. package/src/body/MRT_TableBody.tsx +3 -11
  27. package/src/body/MRT_TableBodyCell.tsx +105 -51
  28. package/src/body/MRT_TableBodyRow.tsx +21 -30
  29. package/src/buttons/MRT_ColumnPinningButtons.tsx +28 -40
  30. package/src/buttons/MRT_CopyButton.tsx +5 -3
  31. package/src/buttons/MRT_EditActionButtons.tsx +1 -2
  32. package/src/buttons/MRT_ExpandAllButton.tsx +25 -18
  33. package/src/buttons/MRT_ExpandButton.tsx +27 -21
  34. package/src/enums.ts +2 -2
  35. package/src/filtersFNs.ts +71 -81
  36. package/src/footer/MRT_TableFooter.tsx +6 -16
  37. package/src/footer/MRT_TableFooterCell.tsx +16 -15
  38. package/src/footer/MRT_TableFooterRow.tsx +6 -8
  39. package/src/head/MRT_TableHead.tsx +5 -16
  40. package/src/head/MRT_TableHeadCell.tsx +120 -50
  41. package/src/head/MRT_TableHeadRow.tsx +8 -15
  42. package/src/inputs/MRT_EditCellTextField.tsx +3 -3
  43. package/src/inputs/MRT_FilterRangeFields.tsx +41 -0
  44. package/src/inputs/MRT_FilterTextField.tsx +76 -41
  45. package/src/inputs/MRT_SelectCheckbox.tsx +15 -17
  46. package/src/localization.ts +13 -5
  47. package/src/menus/MRT_ColumnActionMenu.tsx +13 -12
  48. package/src/menus/MRT_FilterOptionMenu.tsx +36 -33
  49. package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
  50. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -6
  51. package/src/table/MRT_Table.tsx +5 -16
  52. package/src/table/MRT_TableContainer.tsx +7 -78
  53. package/src/table/MRT_TableRoot.tsx +43 -51
  54. package/src/toolbar/MRT_LinearProgressBar.tsx +5 -2
  55. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +13 -28
  56. package/src/toolbar/MRT_ToolbarBottom.tsx +23 -5
  57. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +30 -29
  58. package/src/toolbar/MRT_ToolbarTop.tsx +24 -25
@@ -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 { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, 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',
@@ -161,20 +164,25 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
161
164
  var tableInstance = _ref.tableInstance;
162
165
  var getIsAllRowsExpanded = tableInstance.getIsAllRowsExpanded,
163
166
  getIsSomeRowsExpanded = tableInstance.getIsSomeRowsExpanded,
167
+ getCanSomeRowsExpand = tableInstance.getCanSomeRowsExpand,
164
168
  getState = tableInstance.getState,
165
169
  _tableInstance$option = tableInstance.options,
166
170
  DoubleArrowDownIcon = _tableInstance$option.icons.DoubleArrowDownIcon,
167
- isLoading = _tableInstance$option.isLoading,
168
171
  localization = _tableInstance$option.localization,
172
+ renderDetailPanel = _tableInstance$option.renderDetailPanel,
169
173
  toggleAllRowsExpanded = tableInstance.toggleAllRowsExpanded;
170
174
 
171
175
  var _getState = getState(),
172
176
  isDensePadding = _getState.isDensePadding;
173
177
 
174
- return React.createElement(IconButton, {
178
+ return React.createElement(Tooltip, {
179
+ arrow: true,
180
+ enterDelay: 1000,
181
+ enterNextDelay: 1000,
182
+ title: localization.expandAll
183
+ }, React.createElement(IconButton, {
175
184
  "aria-label": localization.expandAll,
176
- disabled: isLoading,
177
- title: localization.expandAll,
185
+ disabled: !getCanSomeRowsExpand() && !renderDetailPanel,
178
186
  onClick: function onClick() {
179
187
  return toggleAllRowsExpanded(!getIsAllRowsExpanded());
180
188
  },
@@ -187,7 +195,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton(_ref) {
187
195
  transform: "rotate(" + (getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0) + "deg)",
188
196
  transition: 'transform 0.2s'
189
197
  }
190
- }));
198
+ })));
191
199
  };
192
200
 
193
201
  var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
@@ -212,10 +220,14 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
212
220
  });
213
221
  };
214
222
 
215
- return React.createElement(IconButton, {
223
+ return React.createElement(Tooltip, {
224
+ arrow: true,
225
+ enterDelay: 1000,
226
+ enterNextDelay: 1000,
227
+ title: localization.expand
228
+ }, React.createElement(IconButton, {
216
229
  "aria-label": localization.expand,
217
230
  disabled: !row.getCanExpand() && !renderDetailPanel,
218
- title: localization.expand,
219
231
  onClick: handleToggleExpand,
220
232
  sx: {
221
233
  height: isDensePadding ? '1.75rem' : '2.25rem',
@@ -226,18 +238,18 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
226
238
  transform: "rotate(" + (!row.getCanExpand() && !renderDetailPanel ? -90 : row.getIsExpanded() ? -180 : 0) + "deg)",
227
239
  transition: 'transform 0.2s'
228
240
  }
229
- }));
241
+ })));
230
242
  };
231
243
 
232
244
  var MRT_FILTER_OPTION;
233
245
 
234
246
  (function (MRT_FILTER_OPTION) {
235
- MRT_FILTER_OPTION["BEST_MATCH"] = "bestMatch";
236
- MRT_FILTER_OPTION["BEST_MATCH_FIRST"] = "bestMatchFirst";
247
+ MRT_FILTER_OPTION["BETWEEN"] = "between";
237
248
  MRT_FILTER_OPTION["CONTAINS"] = "contains";
238
249
  MRT_FILTER_OPTION["EMPTY"] = "empty";
239
250
  MRT_FILTER_OPTION["ENDS_WITH"] = "endsWith";
240
251
  MRT_FILTER_OPTION["EQUALS"] = "equals";
252
+ MRT_FILTER_OPTION["FUZZY"] = "fuzzy";
241
253
  MRT_FILTER_OPTION["GREATER_THAN"] = "greaterThan";
242
254
  MRT_FILTER_OPTION["LESS_THAN"] = "lessThan";
243
255
  MRT_FILTER_OPTION["NOT_EMPTY"] = "notEmpty";
@@ -245,117 +257,92 @@ var MRT_FILTER_OPTION;
245
257
  MRT_FILTER_OPTION["STARTS_WITH"] = "startsWith";
246
258
  })(MRT_FILTER_OPTION || (MRT_FILTER_OPTION = {}));
247
259
 
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]
260
+ var fuzzy = function fuzzy(row, columnId, value, addMeta) {
261
+ var itemRank = rankItem(row.getValue(columnId), value, {
262
+ threshold: rankings.MATCHES
253
263
  });
264
+ addMeta(itemRank);
265
+ return itemRank.passed;
254
266
  };
255
267
 
256
- bestMatchFirst.autoRemove = function (val) {
268
+ fuzzy.autoRemove = function (val) {
257
269
  return !val;
258
270
  };
259
271
 
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
- }
268
- });
269
- };
270
-
271
- bestMatch.autoRemove = function (val) {
272
- return !val;
273
- };
274
-
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
- });
272
+ var contains = function contains(row, id, filterValue) {
273
+ return row.getValue(id).toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
279
274
  };
280
275
 
281
276
  contains.autoRemove = function (val) {
282
277
  return !val;
283
278
  };
284
279
 
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
- });
280
+ var startsWith = function startsWith(row, id, filterValue) {
281
+ return row.getValue(id).toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
289
282
  };
290
283
 
291
284
  startsWith.autoRemove = function (val) {
292
285
  return !val;
293
286
  };
294
287
 
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
- });
288
+ var endsWith = function endsWith(row, id, filterValue) {
289
+ return row.getValue(id).toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
299
290
  };
300
291
 
301
292
  endsWith.autoRemove = function (val) {
302
293
  return !val;
303
294
  };
304
295
 
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
- });
296
+ var equals = function equals(row, id, filterValue) {
297
+ return row.getValue(id).toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
309
298
  };
310
299
 
311
300
  equals.autoRemove = function (val) {
312
301
  return !val;
313
302
  };
314
303
 
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
- });
304
+ var notEquals = function notEquals(row, id, filterValue) {
305
+ return row.getValue(id).toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
319
306
  };
320
307
 
321
308
  notEquals.autoRemove = function (val) {
322
309
  return !val;
323
310
  };
324
311
 
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
- });
312
+ var greaterThan = function greaterThan(row, id, filterValue) {
313
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) >= +filterValue : row.getValue(id).toString().toLowerCase().trim() > filterValue.toString().toLowerCase().trim();
329
314
  };
330
315
 
331
316
  greaterThan.autoRemove = function (val) {
332
317
  return !val;
333
318
  };
334
319
 
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
- });
320
+ var lessThan = function lessThan(row, id, filterValue) {
321
+ return !isNaN(+filterValue) && !isNaN(+row.getValue(id)) ? +row.getValue(id) <= +filterValue : row.getValue(id).toString().toLowerCase().trim() < filterValue.toString().toLowerCase().trim();
339
322
  };
340
323
 
341
324
  lessThan.autoRemove = function (val) {
342
325
  return !val;
343
326
  };
344
327
 
345
- var empty = function empty(rows, id, _filterValue) {
346
- return rows.filter(function (row) {
347
- return !row.values[id].toString().toLowerCase().trim();
348
- });
328
+ var between = function between(row, id, filterValues) {
329
+ 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]));
330
+ };
331
+
332
+ between.autoRemove = function (val) {
333
+ return !val;
334
+ };
335
+
336
+ var empty = function empty(row, id, _filterValue) {
337
+ return !row.getValue(id).toString().trim();
349
338
  };
350
339
 
351
340
  empty.autoRemove = function (val) {
352
341
  return !val;
353
342
  };
354
343
 
355
- var notEmpty = function notEmpty(rows, id, _filterValue) {
356
- return rows.filter(function (row) {
357
- return !!row.values[id].toString().toLowerCase().trim();
358
- });
344
+ var notEmpty = function notEmpty(row, id, _filterValue) {
345
+ return !!row.getValue(id).toString().trim();
359
346
  };
360
347
 
361
348
  notEmpty.autoRemove = function (val) {
@@ -363,12 +350,12 @@ notEmpty.autoRemove = function (val) {
363
350
  };
364
351
 
365
352
  var defaultFilterFNs = {
366
- bestMatch: bestMatch,
367
- bestMatchFirst: bestMatchFirst,
353
+ between: between,
368
354
  contains: contains,
369
355
  empty: empty,
370
356
  endsWith: endsWith,
371
357
  equals: equals,
358
+ fuzzy: fuzzy,
372
359
  greaterThan: greaterThan,
373
360
  lessThan: lessThan,
374
361
  notEmpty: notEmpty,
@@ -401,62 +388,62 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
401
388
 
402
389
  var filterOptions = useMemo(function () {
403
390
  return [{
404
- type: MRT_FILTER_OPTION.BEST_MATCH_FIRST,
405
- label: localization.filterBestMatchFirst,
391
+ option: MRT_FILTER_OPTION.FUZZY,
392
+ label: localization.filterFuzzy,
406
393
  divider: false,
407
- fn: bestMatchFirst
408
- }, {
409
- type: MRT_FILTER_OPTION.BEST_MATCH,
410
- label: localization.filterBestMatch,
411
- divider: !!header,
412
- fn: bestMatch
394
+ fn: fuzzy
413
395
  }, {
414
- type: MRT_FILTER_OPTION.CONTAINS,
396
+ option: MRT_FILTER_OPTION.CONTAINS,
415
397
  label: localization.filterContains,
416
398
  divider: false,
417
399
  fn: contains
418
400
  }, {
419
- type: MRT_FILTER_OPTION.STARTS_WITH,
401
+ option: MRT_FILTER_OPTION.STARTS_WITH,
420
402
  label: localization.filterStartsWith,
421
403
  divider: false,
422
404
  fn: startsWith
423
405
  }, {
424
- type: MRT_FILTER_OPTION.ENDS_WITH,
406
+ option: MRT_FILTER_OPTION.ENDS_WITH,
425
407
  label: localization.filterEndsWith,
426
408
  divider: true,
427
409
  fn: endsWith
428
410
  }, {
429
- type: MRT_FILTER_OPTION.EQUALS,
411
+ option: MRT_FILTER_OPTION.EQUALS,
430
412
  label: localization.filterEquals,
431
413
  divider: false,
432
414
  fn: equals
433
415
  }, {
434
- type: MRT_FILTER_OPTION.NOT_EQUALS,
416
+ option: MRT_FILTER_OPTION.NOT_EQUALS,
435
417
  label: localization.filterNotEquals,
436
418
  divider: true,
437
419
  fn: notEquals
438
420
  }, {
439
- type: MRT_FILTER_OPTION.GREATER_THAN,
421
+ option: MRT_FILTER_OPTION.BETWEEN,
422
+ label: localization.filterBetween,
423
+ divider: false,
424
+ fn: between
425
+ }, {
426
+ option: MRT_FILTER_OPTION.GREATER_THAN,
440
427
  label: localization.filterGreaterThan,
441
428
  divider: false,
442
429
  fn: greaterThan
443
430
  }, {
444
- type: MRT_FILTER_OPTION.LESS_THAN,
431
+ option: MRT_FILTER_OPTION.LESS_THAN,
445
432
  label: localization.filterLessThan,
446
433
  divider: true,
447
434
  fn: lessThan
448
435
  }, {
449
- type: MRT_FILTER_OPTION.EMPTY,
436
+ option: MRT_FILTER_OPTION.EMPTY,
450
437
  label: localization.filterEmpty,
451
438
  divider: false,
452
439
  fn: empty
453
440
  }, {
454
- type: MRT_FILTER_OPTION.NOT_EMPTY,
441
+ option: MRT_FILTER_OPTION.NOT_EMPTY,
455
442
  label: localization.filterNotEmpty,
456
443
  divider: false,
457
444
  fn: notEmpty
458
445
  }].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);
446
+ 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
447
  });
461
448
  }, []);
462
449
 
@@ -469,7 +456,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
469
456
  });
470
457
 
471
458
  if ([MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)) {
472
- header.column.setColumnFilterValue(' ');
459
+ header.column.setFilterValue(' ');
460
+ } else if (value === MRT_FILTER_OPTION.BETWEEN) {
461
+ header.column.setFilterValue(['', '']);
462
+ } else {
463
+ header.column.setFilterValue('');
473
464
  }
474
465
  } else {
475
466
  setCurrentGlobalFilterFn(value);
@@ -479,7 +470,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
479
470
  onSelect == null ? void 0 : onSelect();
480
471
  };
481
472
 
482
- var filterType = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
473
+ var filterOption = !!header ? currentFilterFns[header.id] : currentGlobalFilterFn;
483
474
  return React.createElement(Menu, {
484
475
  anchorEl: anchorEl,
485
476
  anchorOrigin: {
@@ -494,7 +485,7 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
494
485
  dense: isDensePadding
495
486
  }
496
487
  }, filterOptions.map(function (_ref2, index) {
497
- var type = _ref2.type,
488
+ var option = _ref2.option,
498
489
  label = _ref2.label,
499
490
  divider = _ref2.divider,
500
491
  fn = _ref2.fn;
@@ -502,11 +493,11 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
502
493
  divider: divider,
503
494
  key: index,
504
495
  onClick: function onClick() {
505
- return handleSelectFilterType(type);
496
+ return handleSelectFilterType(option);
506
497
  },
507
- selected: type === filterType || fn === filterType,
498
+ selected: option === filterOption || fn === filterOption,
508
499
  sx: commonMenuItemStyles,
509
- value: type
500
+ value: option
510
501
  }, label);
511
502
  }));
512
503
  };
@@ -514,52 +505,51 @@ var MRT_FilterOptionMenu = function MRT_FilterOptionMenu(_ref) {
514
505
  var MRT_ColumnPinningButtons = function MRT_ColumnPinningButtons(_ref) {
515
506
  var column = _ref.column,
516
507
  tableInstance = _ref.tableInstance;
517
- var getState = tableInstance.getState,
518
- _tableInstance$option = tableInstance.options,
508
+ var _tableInstance$option = tableInstance.options,
519
509
  PushPinIcon = _tableInstance$option.icons.PushPinIcon,
520
510
  localization = _tableInstance$option.localization;
521
511
 
522
- var _getState = getState(),
523
- columnOrder = _getState.columnOrder;
524
-
525
512
  var handlePinColumn = function handlePinColumn(pinDirection) {
526
513
  column.pin(pinDirection);
527
-
528
- if (column.columnDefType === 'display') {
529
- tableInstance.setColumnOrder([column.id].concat(columnOrder));
530
- }
531
514
  };
532
515
 
533
- var pinned = column.getIsPinned();
534
516
  return React.createElement(Box, {
535
517
  sx: {
536
518
  mr: '8px'
537
519
  }
538
- }, React.createElement(Tooltip, {
520
+ }, column.getIsPinned() ? React.createElement(Tooltip, {
521
+ arrow: true,
522
+ title: localization.unpin
523
+ }, React.createElement(IconButton, {
524
+ onClick: function onClick() {
525
+ return handlePinColumn(false);
526
+ },
527
+ size: "small"
528
+ }, React.createElement(PushPinIcon, null))) : React.createElement(React.Fragment, null, React.createElement(Tooltip, {
539
529
  arrow: true,
540
- title: pinned === 'left' ? localization.unpin : localization.pinToLeft
530
+ title: localization.pinToLeft
541
531
  }, React.createElement(IconButton, {
542
532
  onClick: function onClick() {
543
- return handlePinColumn(pinned === 'left' ? false : 'left');
533
+ return handlePinColumn('left');
544
534
  },
545
535
  size: "small"
546
536
  }, React.createElement(PushPinIcon, {
547
537
  style: {
548
- transform: pinned === 'left' ? 'rotate(0)' : 'rotate(90deg)'
538
+ transform: 'rotate(90deg)'
549
539
  }
550
540
  }))), React.createElement(Tooltip, {
551
541
  arrow: true,
552
- title: pinned === 'right' ? localization.unpin : localization.pinToRight
542
+ title: localization.pinToRight
553
543
  }, React.createElement(IconButton, {
554
544
  onClick: function onClick() {
555
- return handlePinColumn(pinned === 'right' ? false : 'right');
545
+ return handlePinColumn('right');
556
546
  },
557
547
  size: "small"
558
548
  }, React.createElement(PushPinIcon, {
559
549
  style: {
560
- transform: pinned === 'right' ? 'rotate(0)' : 'rotate(-90deg)'
550
+ transform: 'rotate(-90deg)'
561
551
  }
562
- }))));
552
+ })))));
563
553
  };
564
554
 
565
555
  var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
@@ -569,9 +559,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
569
559
  isSubMenu = _ref.isSubMenu,
570
560
  tableInstance = _ref.tableInstance;
571
561
  var getState = tableInstance.getState,
572
- _tableInstance$option = tableInstance.options,
573
- onToggleColumnVisibility = _tableInstance$option.onToggleColumnVisibility,
574
- enablePinning = _tableInstance$option.enablePinning;
562
+ onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
575
563
 
576
564
  var _getState = getState(),
577
565
  columnVisibility = _getState.columnVisibility;
@@ -606,7 +594,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
606
594
  pl: (column.depth + 0.5) * 2 + "rem",
607
595
  py: '6px'
608
596
  }
609
- }, !isSubMenu && enablePinning && React.createElement(MRT_ColumnPinningButtons, {
597
+ }, !isSubMenu && column.getCanPin() && React.createElement(MRT_ColumnPinningButtons, {
610
598
  column: column,
611
599
  tableInstance: tableInstance
612
600
  }), React.createElement(FormControlLabel, {
@@ -619,8 +607,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
619
607
  },
620
608
  checked: switchChecked,
621
609
  control: React.createElement(Switch, null),
622
- disabled: isSubMenu && switchChecked || column.enableHiding === false,
623
- label: column.header,
610
+ disabled: isSubMenu && switchChecked || !column.getCanHide(),
611
+ label: column.columnDef.header,
624
612
  onChange: function onChange() {
625
613
  return handleToggleColumnHidden(column);
626
614
  }
@@ -700,7 +688,7 @@ var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
700
688
  }, localization.hideAll), !isSubMenu && enablePinning && React.createElement(Button, {
701
689
  disabled: !getIsSomeColumnsPinned(),
702
690
  onClick: function onClick() {
703
- return tableInstance.setColumnPinning({});
691
+ return tableInstance.resetColumnPinning(true);
704
692
  }
705
693
  }, localization.unpinAll), React.createElement(Button, {
706
694
  disabled: getIsAllColumnsVisible(),
@@ -783,7 +771,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
783
771
  setShowHideColumnsMenuAnchorEl = _useState2[1];
784
772
 
785
773
  var handleClearSort = function handleClearSort() {
786
- column.resetSorting();
774
+ column.clearSorting();
787
775
  setAnchorEl(null);
788
776
  };
789
777
 
@@ -809,6 +797,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
809
797
 
810
798
  var handlePinColumn = function handlePinColumn(pinDirection) {
811
799
  column.pin(pinDirection);
800
+ setAnchorEl(null);
812
801
  };
813
802
 
814
803
  var handleGroupByColumn = function handleGroupByColumn() {
@@ -820,7 +809,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
820
809
  };
821
810
 
822
811
  var handleClearFilter = function handleClearFilter() {
823
- column.setColumnFilterValue('');
812
+ column.setFilterValue('');
824
813
  setAnchorEl(null);
825
814
  };
826
815
 
@@ -873,7 +862,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
873
862
  sx: commonMenuItemStyles$1
874
863
  }, React.createElement(Box, {
875
864
  sx: commonListItemStyles
876
- }, React.createElement(ListItemIcon, null, React.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.header)))), React.createElement(MenuItem, {
865
+ }, React.createElement(ListItemIcon, null, React.createElement(SortIcon, null)), (_localization$sortByC = localization.sortByColumnAsc) == null ? void 0 : _localization$sortByC.replace('{column}', String(column.columnDef.header)))), React.createElement(MenuItem, {
877
866
  divider: enableColumnFilters || enableGrouping || enableHiding,
878
867
  key: 2,
879
868
  disabled: column.getIsSorted() === 'desc',
@@ -885,8 +874,8 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
885
874
  style: {
886
875
  transform: 'rotate(180deg) scaleX(-1)'
887
876
  }
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(),
877
+ })), (_localization$sortByC2 = localization.sortByColumnDesc) == null ? void 0 : _localization$sortByC2.replace('{column}', String(column.columnDef.header))))], enableColumnFilters && column.getCanFilter() && [React.createElement(MenuItem, {
878
+ disabled: !column.getFilterValue(),
890
879
  key: 0,
891
880
  onClick: handleClearFilter,
892
881
  sx: commonMenuItemStyles$1
@@ -899,7 +888,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
899
888
  sx: commonMenuItemStyles$1
900
889
  }, React.createElement(Box, {
901
890
  sx: commonListItemStyles
902
- }, React.createElement(ListItemIcon, null, React.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.header))), !column.filterSelectOptions && React.createElement(IconButton, {
891
+ }, React.createElement(ListItemIcon, null, React.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header))), !column.filterSelectOptions && React.createElement(IconButton, {
903
892
  onClick: handleOpenFilterModeMenu,
904
893
  onMouseEnter: handleOpenFilterModeMenu,
905
894
  size: "small",
@@ -920,7 +909,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
920
909
  sx: commonMenuItemStyles$1
921
910
  }, React.createElement(Box, {
922
911
  sx: commonListItemStyles
923
- }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enablePinning && column.getCanPin() && [React.createElement(MenuItem, {
912
+ }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.columnDef.header))))], enablePinning && column.getCanPin() && [React.createElement(MenuItem, {
924
913
  disabled: column.getIsPinned() === 'left' || !column.getCanPin(),
925
914
  key: 0,
926
915
  onClick: function onClick() {
@@ -935,7 +924,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
935
924
  }
936
925
  })), localization.pinToLeft)), React.createElement(MenuItem, {
937
926
  disabled: column.getIsPinned() === 'right' || !column.getCanPin(),
938
- key: 0,
927
+ key: 1,
939
928
  onClick: function onClick() {
940
929
  return handlePinColumn('right');
941
930
  },
@@ -949,7 +938,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
949
938
  })), localization.pinToRight)), React.createElement(MenuItem, {
950
939
  disabled: !column.getIsPinned(),
951
940
  divider: enableHiding,
952
- key: 0,
941
+ key: 2,
953
942
  onClick: function onClick() {
954
943
  return handlePinColumn(false);
955
944
  },
@@ -970,7 +959,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
970
959
  sx: commonMenuItemStyles$1
971
960
  }, React.createElement(Box, {
972
961
  sx: commonListItemStyles
973
- }, React.createElement(ListItemIcon, null, React.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.header)))), React.createElement(MenuItem, {
962
+ }, React.createElement(ListItemIcon, null, React.createElement(VisibilityOffIcon, null)), (_localization$hideCol = localization.hideColumn) == null ? void 0 : _localization$hideCol.replace('{column}', String(column.columnDef.header)))), React.createElement(MenuItem, {
974
963
  disabled: !Object.values(columnVisibility).filter(function (visible) {
975
964
  return !visible;
976
965
  }).length,
@@ -979,7 +968,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
979
968
  sx: commonMenuItemStyles$1
980
969
  }, React.createElement(Box, {
981
970
  sx: commonListItemStyles
982
- }, React.createElement(ListItemIcon, null, React.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.header))), React.createElement(IconButton, {
971
+ }, React.createElement(ListItemIcon, null, React.createElement(ViewColumnIcon, null)), (_localization$showAll = localization.showAllColumns) == null ? void 0 : _localization$showAll.replace('{column}', String(column.columnDef.header))), React.createElement(IconButton, {
983
972
  onClick: handleOpenShowHideColumnsMenu,
984
973
  onMouseEnter: handleOpenShowHideColumnsMenu,
985
974
  size: "small",
@@ -1052,7 +1041,7 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1052
1041
  var handleCancel = function handleCancel() {
1053
1042
  var _row$original;
1054
1043
 
1055
- row.values = (_row$original = row.original) != null ? _row$original : {};
1044
+ row._valuesCache = (_row$original = row.original) != null ? _row$original : {};
1056
1045
  setCurrentEditingRow(null);
1057
1046
  };
1058
1047
 
@@ -1166,9 +1155,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1166
1155
  var getRowModel = tableInstance.getRowModel,
1167
1156
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1168
1157
  getState = tableInstance.getState,
1169
- getToggleAllRowsSelectedProps = tableInstance.getToggleAllRowsSelectedProps,
1170
1158
  _tableInstance$option = tableInstance.options,
1171
- isLoading = _tableInstance$option.isLoading,
1172
1159
  localization = _tableInstance$option.localization,
1173
1160
  muiSelectCheckboxProps = _tableInstance$option.muiSelectCheckboxProps,
1174
1161
  onSelectChange = _tableInstance$option.onSelectChange,
@@ -1179,18 +1166,14 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1179
1166
 
1180
1167
  var handleSelectChange = function handleSelectChange(event) {
1181
1168
  if (selectAll) {
1182
- var _getToggleAllRowsSele;
1183
-
1184
- getToggleAllRowsSelectedProps == null ? void 0 : (_getToggleAllRowsSele = getToggleAllRowsSelectedProps()) == null ? void 0 : _getToggleAllRowsSele.onChange == null ? void 0 : _getToggleAllRowsSele.onChange(event);
1169
+ tableInstance.getToggleAllRowsSelectedHandler()(event);
1185
1170
  onSelectAllChange == null ? void 0 : onSelectAllChange({
1186
1171
  event: event,
1187
1172
  selectedRows: event.target.checked ? getRowModel().flatRows : [],
1188
1173
  tableInstance: tableInstance
1189
1174
  });
1190
1175
  } 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);
1176
+ row == null ? void 0 : row.getToggleSelectedHandler()(event);
1194
1177
  onSelectChange == null ? void 0 : onSelectChange({
1195
1178
  event: event,
1196
1179
  row: row,
@@ -1202,131 +1185,32 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
1202
1185
  }
1203
1186
  };
1204
1187
 
1205
- var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1188
+ var checkboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps({
1206
1189
  isSelectAll: !!selectAll,
1207
1190
  row: row,
1208
1191
  tableInstance: tableInstance
1209
1192
  }) : muiSelectCheckboxProps;
1210
- var rtSelectCheckboxProps = selectAll ? getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleSelectedProps();
1211
-
1212
- var checkboxProps = _extends({}, rtSelectCheckboxProps, mTableBodyRowSelectCheckboxProps);
1213
-
1214
1193
  return React.createElement(Tooltip, {
1215
1194
  arrow: true,
1216
1195
  enterDelay: 1000,
1217
1196
  enterNextDelay: 1000,
1218
1197
  title: selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1219
1198
  }, React.createElement(Checkbox, Object.assign({
1220
- disabled: isLoading,
1199
+ checked: selectAll ? tableInstance.getIsAllRowsSelected() : row == null ? void 0 : row.getIsSelected(),
1200
+ indeterminate: selectAll ? tableInstance.getIsSomeRowsSelected() : row == null ? void 0 : row.getIsSomeSelected(),
1221
1201
  inputProps: {
1222
1202
  'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
1223
1203
  },
1204
+ onChange: handleSelectChange,
1224
1205
  size: isDensePadding ? 'small' : 'medium'
1225
1206
  }, checkboxProps, {
1226
- sx: {
1207
+ sx: _extends({
1227
1208
  height: isDensePadding ? '1.75rem' : '2.25rem',
1228
1209
  width: isDensePadding ? '1.75rem' : '2.25rem'
1229
- },
1230
- onChange: handleSelectChange,
1231
- title: undefined
1210
+ }, checkboxProps == null ? void 0 : checkboxProps.sx)
1232
1211
  })));
1233
1212
  };
1234
1213
 
1235
- var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1236
- var tableInstance = _ref.tableInstance;
1237
- var getState = tableInstance.getState,
1238
- setGlobalFilter = tableInstance.setGlobalFilter,
1239
- _tableInstance$option = tableInstance.options,
1240
- _tableInstance$option2 = _tableInstance$option.icons,
1241
- SearchIcon = _tableInstance$option2.SearchIcon,
1242
- CloseIcon = _tableInstance$option2.CloseIcon,
1243
- idPrefix = _tableInstance$option.idPrefix,
1244
- localization = _tableInstance$option.localization,
1245
- muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1246
- onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1247
-
1248
- var _getState = getState(),
1249
- globalFilter = _getState.globalFilter,
1250
- showGlobalFilter = _getState.showGlobalFilter;
1251
-
1252
- var _useState = useState(null),
1253
- anchorEl = _useState[0],
1254
- setAnchorEl = _useState[1];
1255
-
1256
- var _useState2 = useState(globalFilter != null ? globalFilter : ''),
1257
- searchValue = _useState2[0],
1258
- setSearchValue = _useState2[1];
1259
-
1260
- var handleChange = useCallback(debounce(function (event) {
1261
- var _event$target$value;
1262
-
1263
- setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1264
- onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1265
- event: event,
1266
- tableInstance: tableInstance
1267
- });
1268
- }, 200), []);
1269
-
1270
- var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1271
- setAnchorEl(event.currentTarget);
1272
- };
1273
-
1274
- var handleClear = function handleClear() {
1275
- setSearchValue('');
1276
- setGlobalFilter(undefined);
1277
- };
1278
-
1279
- var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1280
- tableInstance: tableInstance
1281
- }) : muiSearchTextFieldProps;
1282
- return React.createElement(Collapse, {
1283
- "in": showGlobalFilter,
1284
- orientation: "horizontal"
1285
- }, React.createElement(TextField, Object.assign({
1286
- id: "mrt-" + idPrefix + "-search-text-field",
1287
- placeholder: localization.search,
1288
- onChange: function onChange(event) {
1289
- setSearchValue(event.target.value);
1290
- handleChange(event);
1291
- },
1292
- value: searchValue != null ? searchValue : '',
1293
- variant: "standard",
1294
- InputProps: {
1295
- startAdornment: React.createElement(InputAdornment, {
1296
- position: "start"
1297
- }, React.createElement(Tooltip, {
1298
- arrow: true,
1299
- title: localization.changeSearchMode
1300
- }, React.createElement("span", null, React.createElement(IconButton, {
1301
- "aria-label": localization.changeSearchMode,
1302
- onClick: handleGlobalFilterMenuOpen,
1303
- size: "small",
1304
- sx: {
1305
- height: '1.75rem',
1306
- width: '1.75rem'
1307
- }
1308
- }, React.createElement(SearchIcon, null))))),
1309
- endAdornment: React.createElement(InputAdornment, {
1310
- position: "end"
1311
- }, React.createElement(IconButton, {
1312
- "aria-label": localization.clearSearch,
1313
- disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1314
- onClick: handleClear,
1315
- size: "small",
1316
- title: localization.clearSearch
1317
- }, React.createElement(CloseIcon, null)))
1318
- }
1319
- }, textFieldProps, {
1320
- sx: _extends({
1321
- justifySelf: 'end'
1322
- }, textFieldProps == null ? void 0 : textFieldProps.sx)
1323
- })), React.createElement(MRT_FilterOptionMenu, {
1324
- anchorEl: anchorEl,
1325
- setAnchorEl: setAnchorEl,
1326
- tableInstance: tableInstance
1327
- }));
1328
- };
1329
-
1330
1214
  var _excluded = ["tableInstance"];
1331
1215
  var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1332
1216
  var tableInstance = _ref.tableInstance,
@@ -1507,7 +1391,104 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1507
1391
  }, rest), showGlobalFilter ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
1508
1392
  };
1509
1393
 
1394
+ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1395
+ var tableInstance = _ref.tableInstance;
1396
+ var getState = tableInstance.getState,
1397
+ setGlobalFilter = tableInstance.setGlobalFilter,
1398
+ _tableInstance$option = tableInstance.options,
1399
+ _tableInstance$option2 = _tableInstance$option.icons,
1400
+ SearchIcon = _tableInstance$option2.SearchIcon,
1401
+ CloseIcon = _tableInstance$option2.CloseIcon,
1402
+ idPrefix = _tableInstance$option.idPrefix,
1403
+ localization = _tableInstance$option.localization,
1404
+ muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1405
+ onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1406
+
1407
+ var _getState = getState(),
1408
+ globalFilter = _getState.globalFilter,
1409
+ showGlobalFilter = _getState.showGlobalFilter;
1410
+
1411
+ var _useState = useState(null),
1412
+ anchorEl = _useState[0],
1413
+ setAnchorEl = _useState[1];
1414
+
1415
+ var _useState2 = useState(globalFilter != null ? globalFilter : ''),
1416
+ searchValue = _useState2[0],
1417
+ setSearchValue = _useState2[1];
1418
+
1419
+ var handleChange = useCallback(debounce(function (event) {
1420
+ var _event$target$value;
1421
+
1422
+ setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1423
+ onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1424
+ event: event,
1425
+ tableInstance: tableInstance
1426
+ });
1427
+ }, 200), []);
1428
+
1429
+ var handleGlobalFilterMenuOpen = function handleGlobalFilterMenuOpen(event) {
1430
+ setAnchorEl(event.currentTarget);
1431
+ };
1432
+
1433
+ var handleClear = function handleClear() {
1434
+ setSearchValue('');
1435
+ setGlobalFilter(undefined);
1436
+ };
1437
+
1438
+ var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1439
+ tableInstance: tableInstance
1440
+ }) : muiSearchTextFieldProps;
1441
+ return React.createElement(Collapse, {
1442
+ "in": showGlobalFilter,
1443
+ orientation: "horizontal"
1444
+ }, React.createElement(TextField, Object.assign({
1445
+ id: "mrt-" + idPrefix + "-search-text-field",
1446
+ placeholder: localization.search,
1447
+ onChange: function onChange(event) {
1448
+ setSearchValue(event.target.value);
1449
+ handleChange(event);
1450
+ },
1451
+ value: searchValue != null ? searchValue : '',
1452
+ variant: "standard",
1453
+ InputProps: {
1454
+ startAdornment: React.createElement(InputAdornment, {
1455
+ position: "start"
1456
+ }, React.createElement(Tooltip, {
1457
+ arrow: true,
1458
+ title: localization.changeSearchMode
1459
+ }, React.createElement("span", null, React.createElement(IconButton, {
1460
+ "aria-label": localization.changeSearchMode,
1461
+ onClick: handleGlobalFilterMenuOpen,
1462
+ size: "small",
1463
+ sx: {
1464
+ height: '1.75rem',
1465
+ width: '1.75rem'
1466
+ }
1467
+ }, React.createElement(SearchIcon, null))))),
1468
+ endAdornment: React.createElement(InputAdornment, {
1469
+ position: "end"
1470
+ }, React.createElement(IconButton, {
1471
+ "aria-label": localization.clearSearch,
1472
+ disabled: (searchValue == null ? void 0 : searchValue.length) === 0,
1473
+ onClick: handleClear,
1474
+ size: "small",
1475
+ title: localization.clearSearch
1476
+ }, React.createElement(CloseIcon, null)))
1477
+ }
1478
+ }, textFieldProps, {
1479
+ sx: _extends({
1480
+ justifySelf: 'end'
1481
+ }, textFieldProps == null ? void 0 : textFieldProps.sx)
1482
+ })), React.createElement(MRT_FilterOptionMenu, {
1483
+ anchorEl: anchorEl,
1484
+ setAnchorEl: setAnchorEl,
1485
+ tableInstance: tableInstance
1486
+ }));
1487
+ };
1488
+
1510
1489
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1490
+ var _renderToolbarInterna;
1491
+
1511
1492
  var tableInstance = _ref.tableInstance;
1512
1493
  var _tableInstance$option = tableInstance.options,
1513
1494
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
@@ -1517,24 +1498,22 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1517
1498
  enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1518
1499
  enableHiding = _tableInstance$option.enableHiding,
1519
1500
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
1520
-
1521
- if (renderToolbarInternalActions) {
1522
- return React.createElement(React.Fragment, null, renderToolbarInternalActions({
1523
- MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1524
- MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1525
- MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1526
- MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1527
- MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1528
- tableInstance: tableInstance
1529
- }));
1530
- }
1531
-
1532
1501
  return React.createElement(Box, {
1533
1502
  sx: {
1534
1503
  display: 'flex',
1535
- alignItems: 'center'
1504
+ alignItems: 'center',
1505
+ zIndex: 3
1536
1506
  }
1537
- }, enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
1507
+ }, (_renderToolbarInterna = renderToolbarInternalActions == null ? void 0 : renderToolbarInternalActions({
1508
+ MRT_FullScreenToggleButton: MRT_FullScreenToggleButton,
1509
+ MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1510
+ MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1511
+ MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1512
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1513
+ tableInstance: tableInstance
1514
+ })) != null ? _renderToolbarInterna : React.createElement(React.Fragment, null, enableGlobalFilter && React.createElement(MRT_SearchTextField, {
1515
+ tableInstance: tableInstance
1516
+ }), enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
1538
1517
  tableInstance: tableInstance
1539
1518
  }), enableFilters && enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
1540
1519
  tableInstance: tableInstance
@@ -1544,7 +1523,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1544
1523
  tableInstance: tableInstance
1545
1524
  }), enableFullScreenToggle && React.createElement(MRT_FullScreenToggleButton, {
1546
1525
  tableInstance: tableInstance
1547
- }));
1526
+ })));
1548
1527
  };
1549
1528
 
1550
1529
  var MRT_TablePagination = function MRT_TablePagination(_ref) {
@@ -1605,45 +1584,36 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
1605
1584
  var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1606
1585
  var _localization$selecte, _localization$selecte2;
1607
1586
 
1608
- var tableInstance = _ref.tableInstance;
1587
+ var stackAlertBanner = _ref.stackAlertBanner,
1588
+ tableInstance = _ref.tableInstance;
1609
1589
  var getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
1610
1590
  getSelectedRowModel = tableInstance.getSelectedRowModel,
1611
1591
  getState = tableInstance.getState,
1612
- toggleColumnGrouping = tableInstance.toggleColumnGrouping,
1613
1592
  _tableInstance$option = tableInstance.options,
1614
1593
  localization = _tableInstance$option.localization,
1615
- muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps,
1616
- positionToolbarActions = _tableInstance$option.positionToolbarActions,
1617
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1618
- renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1594
+ muiTableToolbarAlertBannerProps = _tableInstance$option.muiTableToolbarAlertBannerProps;
1619
1595
 
1620
1596
  var _getState = getState(),
1621
1597
  grouping = _getState.grouping;
1622
1598
 
1623
- var isMobile = useMediaQuery('(max-width:720px)');
1624
1599
  var alertProps = muiTableToolbarAlertBannerProps instanceof Function ? muiTableToolbarAlertBannerProps({
1625
1600
  tableInstance: tableInstance
1626
1601
  }) : muiTableToolbarAlertBannerProps;
1627
1602
  var selectMessage = getSelectedRowModel().rows.length > 0 ? (_localization$selecte = localization.selectedCountOfRowCountRowsSelected) == null ? void 0 : (_localization$selecte2 = _localization$selecte.replace('{selectedCount}', getSelectedRowModel().rows.length.toString())) == null ? void 0 : _localization$selecte2.replace('{rowCount}', getPrePaginationRowModel().rows.length.toString()) : null;
1628
1603
  var groupedByMessage = grouping.length > 0 ? React.createElement("span", null, localization.groupedBy, ' ', grouping.map(function (columnId, index) {
1629
- var _tableInstance$getAll;
1630
-
1631
1604
  return React.createElement(Fragment, {
1632
1605
  key: index + "-" + columnId
1633
1606
  }, index > 0 ? localization.thenBy : '', React.createElement(Chip, {
1634
1607
  color: "secondary",
1635
- label: (_tableInstance$getAll = tableInstance.getAllColumns().find(function (column) {
1636
- return column.id === columnId;
1637
- })) == null ? void 0 : _tableInstance$getAll.header,
1608
+ label: tableInstance.getColumn(columnId).columnDef.header,
1638
1609
  onDelete: function onDelete() {
1639
- return toggleColumnGrouping(columnId);
1610
+ return tableInstance.getColumn(columnId).toggleGrouping();
1640
1611
  }
1641
1612
  }));
1642
1613
  })) : null;
1643
- var displayAbsolute = !(isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions);
1644
1614
  return React.createElement(Collapse, {
1645
1615
  "in": !!selectMessage || !!groupedByMessage,
1646
- timeout: displayAbsolute ? 0 : 200
1616
+ timeout: stackAlertBanner ? 200 : 0
1647
1617
  }, React.createElement(Alert, Object.assign({
1648
1618
  color: "info",
1649
1619
  icon: false,
@@ -1652,9 +1622,8 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1652
1622
  fontSize: '1rem',
1653
1623
  left: 0,
1654
1624
  p: 0,
1655
- position: displayAbsolute ? 'absolute' : 'relative',
1625
+ position: 'relative',
1656
1626
  right: 0,
1657
- minHeight: '3.5rem',
1658
1627
  top: 0,
1659
1628
  width: '100%',
1660
1629
  zIndex: 2
@@ -1663,20 +1632,24 @@ var MRT_ToolbarAlertBanner = function MRT_ToolbarAlertBanner(_ref) {
1663
1632
  sx: {
1664
1633
  p: '0.5rem 1rem'
1665
1634
  }
1666
- }, selectMessage, React.createElement("br", null), groupedByMessage)));
1635
+ }, selectMessage, selectMessage && groupedByMessage && React.createElement("br", null), groupedByMessage)));
1667
1636
  };
1668
1637
 
1669
1638
  var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1670
1639
  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;
1640
+ var muiLinearProgressProps = tableInstance.options.muiLinearProgressProps,
1641
+ getState = tableInstance.getState;
1642
+
1643
+ var _getState = getState(),
1644
+ isLoading = _getState.isLoading,
1645
+ showProgressBars = _getState.showProgressBars;
1646
+
1675
1647
  var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps({
1676
1648
  tableInstance: tableInstance
1677
1649
  }) : muiLinearProgressProps;
1678
1650
  return React.createElement(Collapse, {
1679
- "in": isReloading || isLoading,
1651
+ "in": isLoading || showProgressBars,
1652
+ mountOnEnter: true,
1680
1653
  unmountOnExit: true
1681
1654
  }, React.createElement(LinearProgress, Object.assign({
1682
1655
  "aria-label": "Loading",
@@ -1687,10 +1660,13 @@ var MRT_LinearProgressBar = function MRT_LinearProgressBar(_ref) {
1687
1660
  var commonToolbarStyles = function commonToolbarStyles(_ref) {
1688
1661
  var theme = _ref.theme;
1689
1662
  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) + ")",
1663
+ backgroundColor: lighten(theme.palette.background["default"], 0.04),
1664
+ backgroundImage: 'none',
1692
1665
  display: 'grid',
1666
+ minHeight: '3.5rem',
1667
+ overflow: 'hidden',
1693
1668
  p: '0 !important',
1669
+ transition: 'all 0.2s ease-in-out',
1694
1670
  width: '100%',
1695
1671
  zIndex: 1
1696
1672
  };
@@ -1701,7 +1677,6 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1701
1677
  var tableInstance = _ref2.tableInstance;
1702
1678
  var getState = tableInstance.getState,
1703
1679
  _tableInstance$option = tableInstance.options,
1704
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1705
1680
  enablePagination = _tableInstance$option.enablePagination,
1706
1681
  enableToolbarInternalActions = _tableInstance$option.enableToolbarInternalActions,
1707
1682
  idPrefix = _tableInstance$option.idPrefix,
@@ -1714,9 +1689,11 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1714
1689
  var _getState = getState(),
1715
1690
  isFullScreen = _getState.isFullScreen;
1716
1691
 
1692
+ var isMobile = useMediaQuery('(max-width:720px)');
1717
1693
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps({
1718
1694
  tableInstance: tableInstance
1719
1695
  }) : muiTableToolbarTopProps;
1696
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'top' && !!renderToolbarCustomActions;
1720
1697
  return React.createElement(Toolbar, Object.assign({
1721
1698
  id: "mrt-" + idPrefix + "-toolbar-top",
1722
1699
  variant: "dense"
@@ -1730,27 +1707,23 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
1730
1707
  }), toolbarProps == null ? void 0 : toolbarProps.sx);
1731
1708
  }
1732
1709
  }), positionToolbarAlertBanner === 'top' && React.createElement(MRT_ToolbarAlertBanner, {
1710
+ stackAlertBanner: stackAlertBanner,
1733
1711
  tableInstance: tableInstance
1734
1712
  }), React.createElement(Box, {
1735
1713
  sx: {
1736
- p: '0.5rem',
1737
1714
  display: 'flex',
1738
- justifyContent: 'space-between'
1715
+ justifyContent: 'space-between',
1716
+ p: '0.5rem',
1717
+ position: stackAlertBanner ? 'relative' : 'absolute',
1718
+ right: 0,
1719
+ top: 0,
1720
+ width: 'calc(100% - 1rem)'
1739
1721
  }
1740
1722
  }, (_renderToolbarCustomA = renderToolbarCustomActions == null ? void 0 : renderToolbarCustomActions({
1741
1723
  tableInstance: tableInstance
1742
- })) != null ? _renderToolbarCustomA : React.createElement("span", null), React.createElement(Box, {
1743
- sx: {
1744
- display: 'flex',
1745
- gap: '0.5rem',
1746
- position: 'relative',
1747
- zIndex: 3
1748
- }
1749
- }, enableGlobalFilter && React.createElement(MRT_SearchTextField, {
1724
+ })) != null ? _renderToolbarCustomA : React.createElement("span", null), enableToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1750
1725
  tableInstance: tableInstance
1751
- }), enableToolbarInternalActions && positionToolbarActions === 'top' && React.createElement(MRT_ToolbarInternalButtons, {
1752
- tableInstance: tableInstance
1753
- }))), React.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1726
+ })), React.createElement("div", null, enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1754
1727
  tableInstance: tableInstance
1755
1728
  })), React.createElement(MRT_LinearProgressBar, {
1756
1729
  tableInstance: tableInstance
@@ -1767,14 +1740,17 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1767
1740
  muiTableToolbarBottomProps = _tableInstance$option.muiTableToolbarBottomProps,
1768
1741
  positionPagination = _tableInstance$option.positionPagination,
1769
1742
  positionToolbarActions = _tableInstance$option.positionToolbarActions,
1770
- positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner;
1743
+ positionToolbarAlertBanner = _tableInstance$option.positionToolbarAlertBanner,
1744
+ renderToolbarCustomActions = _tableInstance$option.renderToolbarCustomActions;
1771
1745
 
1772
1746
  var _getState = getState(),
1773
1747
  isFullScreen = _getState.isFullScreen;
1774
1748
 
1749
+ var isMobile = useMediaQuery('(max-width:720px)');
1775
1750
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps({
1776
1751
  tableInstance: tableInstance
1777
1752
  }) : muiTableToolbarBottomProps;
1753
+ var stackAlertBanner = isMobile || positionToolbarAlertBanner === 'bottom' && positionToolbarActions === 'bottom' || positionToolbarAlertBanner === 'bottom' && !!renderToolbarCustomActions && positionToolbarActions === 'bottom';
1778
1754
  return React.createElement(Toolbar, Object.assign({
1779
1755
  id: "mrt-" + idPrefix + "-toolbar-bottom",
1780
1756
  variant: "dense"
@@ -1790,25 +1766,29 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
1790
1766
  }
1791
1767
  }), React.createElement(MRT_LinearProgressBar, {
1792
1768
  tableInstance: tableInstance
1769
+ }), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
1770
+ tableInstance: tableInstance
1793
1771
  }), React.createElement(Box, {
1794
1772
  sx: {
1795
1773
  display: 'flex',
1796
1774
  justifyContent: 'space-between',
1797
- width: '100%'
1775
+ width: '100%',
1776
+ position: stackAlertBanner ? 'relative' : 'absolute',
1777
+ right: 0,
1778
+ top: 0
1798
1779
  }
1799
1780
  }, enableToolbarInternalActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarInternalButtons, {
1800
1781
  tableInstance: tableInstance
1801
- }) : React.createElement("span", null), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
1802
- tableInstance: tableInstance
1803
- }), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1782
+ }) : React.createElement("span", null), enablePagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, {
1804
1783
  tableInstance: tableInstance
1805
1784
  })));
1806
1785
  };
1807
1786
 
1808
1787
  var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1809
- var _column$getColumnFilt, _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1788
+ var _localization$filterB, _localization$filterM, _localization$, _localization$clearFi, _column$filterSelectO;
1810
1789
 
1811
1790
  var header = _ref.header,
1791
+ inputIndex = _ref.inputIndex,
1812
1792
  tableInstance = _ref.tableInstance;
1813
1793
  var getState = tableInstance.getState,
1814
1794
  _tableInstance$option = tableInstance.options,
@@ -1839,14 +1819,22 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1839
1819
 
1840
1820
  var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps);
1841
1821
 
1842
- var _useState2 = useState((_column$getColumnFilt = column.getColumnFilterValue()) != null ? _column$getColumnFilt : ''),
1822
+ var _useState2 = useState(function () {
1823
+ var _column$getFilterValu, _column$getFilterValu2, _column$getFilterValu3;
1824
+
1825
+ 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 : '';
1826
+ }),
1843
1827
  filterValue = _useState2[0],
1844
1828
  setFilterValue = _useState2[1];
1845
1829
 
1846
- var handleChange = useCallback(debounce(function (event) {
1830
+ var handleChangeDebounced = useCallback(debounce(function (event) {
1847
1831
  var _event$target$value;
1848
1832
 
1849
- return column.setColumnFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1833
+ return inputIndex !== undefined ? column.setFilterValue(function (old) {
1834
+ var newFilterValues = old != null ? old : ['', ''];
1835
+ newFilterValues[inputIndex] = event.target.value;
1836
+ return newFilterValues;
1837
+ }) : column.setFilterValue((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1850
1838
  }, 150), []);
1851
1839
 
1852
1840
  var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
@@ -1855,16 +1843,25 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1855
1843
 
1856
1844
  var handleClear = function handleClear() {
1857
1845
  setFilterValue('');
1858
- column.setColumnFilterValue(undefined);
1846
+
1847
+ if (inputIndex !== undefined) {
1848
+ column.setFilterValue(function (old) {
1849
+ var newFilterValues = old != null ? old : ['', ''];
1850
+ newFilterValues[inputIndex] = undefined;
1851
+ return newFilterValues;
1852
+ });
1853
+ } else {
1854
+ column.setFilterValue(undefined);
1855
+ }
1859
1856
  };
1860
1857
 
1861
1858
  var handleClearFilterChip = function handleClearFilterChip() {
1862
1859
  setFilterValue('');
1863
- column.setColumnFilterValue(undefined);
1860
+ column.setFilterValue(undefined);
1864
1861
  setCurrentFilterFns(function (prev) {
1865
1862
  var _extends2;
1866
1863
 
1867
- return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.BEST_MATCH, _extends2));
1864
+ return _extends({}, prev, (_extends2 = {}, _extends2[header.id] = MRT_FILTER_OPTION.FUZZY, _extends2));
1868
1865
  });
1869
1866
  };
1870
1867
 
@@ -1875,12 +1872,12 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1875
1872
  }));
1876
1873
  }
1877
1874
 
1878
- var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field";
1875
+ var filterId = "mrt-" + idPrefix + "-" + header.id + "-filter-text-field" + (inputIndex != null ? inputIndex : '');
1879
1876
  var filterFn = currentFilterFns == null ? void 0 : currentFilterFns[header.id];
1880
1877
  var isSelectFilter = !!column.filterSelectOptions;
1881
1878
  var filterChipLabel = !(filterFn instanceof Function) && [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(filterFn) ? //@ts-ignore
1882
1879
  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));
1880
+ var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(column.columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
1884
1881
  return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
1885
1882
  fullWidth: true,
1886
1883
  id: filterId,
@@ -1892,23 +1889,24 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1892
1889
  },
1893
1890
  title: filterPlaceholder
1894
1891
  },
1895
- helperText: React.createElement("label", {
1892
+ helperText: !inputIndex ? React.createElement("label", {
1896
1893
  htmlFor: filterId
1897
1894
  }, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
1898
1895
  (_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))])),
1896
+ localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
1900
1897
  FormHelperTextProps: {
1901
1898
  sx: {
1902
1899
  fontSize: '0.6rem',
1903
- lineHeight: '0.8rem'
1900
+ lineHeight: '0.8rem',
1901
+ whiteSpace: 'nowrap'
1904
1902
  }
1905
1903
  },
1906
1904
  label: isSelectFilter && !filterValue ? filterPlaceholder : undefined,
1907
1905
  margin: "none",
1908
- placeholder: filterPlaceholder,
1906
+ placeholder: filterChipLabel || isSelectFilter ? undefined : filterPlaceholder,
1909
1907
  onChange: function onChange(event) {
1910
1908
  setFilterValue(event.target.value);
1911
- handleChange(event);
1909
+ handleChangeDebounced(event);
1912
1910
  },
1913
1911
  onClick: function onClick(e) {
1914
1912
  return e.stopPropagation();
@@ -1917,7 +1915,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1917
1915
  value: filterValue != null ? filterValue : '',
1918
1916
  variant: "standard",
1919
1917
  InputProps: {
1920
- startAdornment: !isSelectFilter && React.createElement(InputAdornment, {
1918
+ startAdornment: !isSelectFilter && !inputIndex && React.createElement(InputAdornment, {
1921
1919
  position: "start"
1922
1920
  }, React.createElement(Tooltip, {
1923
1921
  arrow: true,
@@ -1956,7 +1954,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1956
1954
  sx: _extends({
1957
1955
  m: '-0.25rem',
1958
1956
  p: 0,
1959
- minWidth: !filterChipLabel ? '5rem' : 'auto',
1957
+ minWidth: !filterChipLabel ? '6rem' : 'auto',
1960
1958
  width: 'calc(100% + 0.5rem)',
1961
1959
  mt: isSelectFilter && !filterValue ? '-1rem' : undefined,
1962
1960
  '& .MuiSelect-icon': {
@@ -2051,8 +2049,34 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
2051
2049
  }));
2052
2050
  };
2053
2051
 
2052
+ var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2053
+ var header = _ref.header,
2054
+ tableInstance = _ref.tableInstance;
2055
+ var localization = tableInstance.options.localization;
2056
+ return React.createElement(Box, {
2057
+ sx: {
2058
+ display: 'grid',
2059
+ gridTemplateColumns: '6fr auto 5fr'
2060
+ }
2061
+ }, React.createElement(MRT_FilterTextField, {
2062
+ header: header,
2063
+ inputIndex: 0,
2064
+ tableInstance: tableInstance
2065
+ }), React.createElement(Box, {
2066
+ sx: {
2067
+ width: '100%',
2068
+ minWidth: '5ch',
2069
+ textAlign: 'center'
2070
+ }
2071
+ }, localization.to), React.createElement(MRT_FilterTextField, {
2072
+ header: header,
2073
+ inputIndex: 1,
2074
+ tableInstance: tableInstance
2075
+ }));
2076
+ };
2077
+
2054
2078
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2055
- var _getState2, _getState2$currentFil, _column$Header;
2079
+ var _getState2, _getState2$currentFil, _column$columnDef$Hea, _column$columnDef, _column$minSize, _column$columnDef$hea, _column$columnDef$hea2;
2056
2080
 
2057
2081
  var header = _ref.header,
2058
2082
  tableInstance = _ref.tableInstance;
@@ -2069,6 +2093,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2069
2093
  setShowFilters = tableInstance.setShowFilters;
2070
2094
 
2071
2095
  var _getState = getState(),
2096
+ currentFilterFns = _getState.currentFilterFns,
2072
2097
  isDensePadding = _getState.isDensePadding,
2073
2098
  showFilters = _getState.showFilters;
2074
2099
 
@@ -2082,37 +2107,56 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2082
2107
  tableInstance: tableInstance
2083
2108
  }) : column.muiTableHeadCellProps;
2084
2109
 
2085
- var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2110
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps);
2086
2111
 
2087
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
2112
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.columnDef.header) : localization.sortedByColumnAsc.replace('{column}', column.columnDef.header) : localization.unsorted;
2088
2113
  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;
2091
- var headerElement = (_column$Header = column == null ? void 0 : column.Header == null ? void 0 : column.Header({
2114
+ var filterTooltip = !!column.getFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.columnDef.header)).replace('{filterType}', filterFn instanceof Function ? '' : // @ts-ignore
2115
+ 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;
2116
+ var headerElement = (_column$columnDef$Hea = (_column$columnDef = column.columnDef) == null ? void 0 : _column$columnDef.Header == null ? void 0 : _column$columnDef.Header({
2092
2117
  header: header,
2093
2118
  tableInstance: tableInstance
2094
- })) != null ? _column$Header : column.header;
2119
+ })) != null ? _column$columnDef$Hea : header.renderHeader();
2120
+
2121
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2122
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2123
+ };
2124
+
2125
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2126
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2127
+ };
2128
+
2129
+ var getTotalRight = function getTotalRight() {
2130
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2131
+ };
2132
+
2095
2133
  return React.createElement(TableCell, Object.assign({
2096
- align: column.columnDefType === 'group' ? 'center' : 'left'
2134
+ align: column.columnDefType === 'group' ? 'center' : 'left',
2135
+ colSpan: header.colSpan
2097
2136
  }, tableCellProps, {
2098
- //@ts-ignore
2099
2137
  sx: function sx(theme) {
2100
2138
  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) + ")",
2139
+ backgroundColor: column.getIsPinned() && column.columnDefType !== 'group' ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : 'inherit',
2140
+ backgroundImage: 'inherit',
2141
+ 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
2142
  fontWeight: 'bold',
2104
2143
  height: '100%',
2105
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2106
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2144
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2145
+ overflow: 'visible',
2107
2146
  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
2147
  pb: column.columnDefType === 'display' ? 0 : undefined,
2110
- overflow: 'visible',
2148
+ position: column.getIsPinned() && column.columnDefType !== 'group' ? 'sticky' : undefined,
2149
+ pt: column.columnDefType === 'display' ? 0 : isDensePadding ? '0.75rem' : '1.25rem',
2150
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2111
2151
  transition: "all " + (enableColumnResizing ? 0 : '0.2s') + " ease-in-out",
2112
2152
  verticalAlign: 'text-top',
2113
- width: header.getWidth(),
2114
- zIndex: column.getIsResizing() ? 2 : 1
2153
+ zIndex: column.getIsResizing() ? 3 : column.getIsPinned() && column.columnDefType !== 'group' ? 2 : 1
2115
2154
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2155
+ },
2156
+ style: {
2157
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2158
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2159
+ width: header.getSize()
2116
2160
  }
2117
2161
  }), header.isPlaceholder ? null : column.columnDefType === 'display' ? headerElement : React.createElement(Box, {
2118
2162
  sx: {
@@ -2130,7 +2174,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2130
2174
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2131
2175
  display: 'flex',
2132
2176
  flexWrap: 'nowrap',
2133
- whiteSpace: column.header.length < 24 ? 'nowrap' : 'normal'
2177
+ whiteSpace: ((_column$columnDef$hea = (_column$columnDef$hea2 = column.columnDef.header) == null ? void 0 : _column$columnDef$hea2.length) != null ? _column$columnDef$hea : 0) < 24 ? 'nowrap' : 'normal'
2134
2178
  }
2135
2179
  }, headerElement, column.columnDefType === 'data' && column.getCanSort() && React.createElement(Tooltip, {
2136
2180
  arrow: true,
@@ -2140,7 +2184,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2140
2184
  "aria-label": sortTooltip,
2141
2185
  active: !!column.getIsSorted(),
2142
2186
  direction: column.getIsSorted() ? column.getIsSorted() : undefined
2143
- })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanColumnFilter() && React.createElement(Tooltip, {
2187
+ })), column.columnDefType === 'data' && enableColumnFilters && !!column.getCanFilter() && React.createElement(Tooltip, {
2144
2188
  arrow: true,
2145
2189
  placement: "top",
2146
2190
  title: filterTooltip
@@ -2153,7 +2197,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2153
2197
  size: "small",
2154
2198
  sx: {
2155
2199
  m: 0,
2156
- opacity: !!column.getColumnFilterValue() ? 0.8 : 0,
2200
+ opacity: !!column.getFilterValue() ? 0.8 : 0,
2157
2201
  p: '2px',
2158
2202
  transition: 'all 0.2s ease-in-out',
2159
2203
  '&:hover': {
@@ -2161,14 +2205,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2161
2205
  opacity: 0.8
2162
2206
  }
2163
2207
  }
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, {
2208
+ }, 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
2209
  header: header,
2166
2210
  tableInstance: tableInstance
2167
- }), column.getCanResize() && React.createElement(Divider, Object.assign({
2211
+ }), column.getCanResize() && React.createElement(Divider, {
2168
2212
  flexItem: true,
2169
2213
  orientation: "vertical",
2170
2214
  onDoubleClick: function onDoubleClick() {
2171
- return header.resetSize();
2215
+ return column.resetSize();
2172
2216
  },
2173
2217
  sx: function sx(theme) {
2174
2218
  return {
@@ -2180,7 +2224,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2180
2224
  position: 'absolute',
2181
2225
  right: '1px',
2182
2226
  touchAction: 'none',
2183
- transition: 'all 0.2s ease-in-out',
2227
+ transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2184
2228
  userSelect: 'none',
2185
2229
  zIndex: 2000,
2186
2230
  '&:active': {
@@ -2188,16 +2232,20 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2188
2232
  opacity: 1
2189
2233
  }
2190
2234
  };
2235
+ },
2236
+ onMouseDown: header.getResizeHandler(),
2237
+ onTouchStart: header.getResizeHandler(),
2238
+ style: {
2239
+ transform: column.getIsResizing() ? "translateX(" + getState().columnSizingInfo.deltaOffset + "px)" : 'none'
2191
2240
  }
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, {
2241
+ })), column.columnDefType === 'data' && column.getCanFilter() && React.createElement(Collapse, {
2242
+ "in": showFilters,
2243
+ mountOnEnter: true,
2244
+ unmountOnExit: true
2245
+ }, currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? React.createElement(MRT_FilterRangeFields, {
2246
+ header: header,
2247
+ tableInstance: tableInstance
2248
+ }) : React.createElement(MRT_FilterTextField, {
2201
2249
  header: header,
2202
2250
  tableInstance: tableInstance
2203
2251
  })));
@@ -2207,17 +2255,15 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2207
2255
  var headerGroup = _ref.headerGroup,
2208
2256
  tableInstance = _ref.tableInstance;
2209
2257
  var muiTableHeadRowProps = tableInstance.options.muiTableHeadRowProps;
2210
- var mTableHeadRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2258
+ var tableRowProps = muiTableHeadRowProps instanceof Function ? muiTableHeadRowProps({
2211
2259
  headerGroup: headerGroup,
2212
2260
  tableInstance: tableInstance
2213
2261
  }) : muiTableHeadRowProps;
2214
-
2215
- var tableRowProps = _extends({}, headerGroup == null ? void 0 : headerGroup.getHeaderGroupProps(), mTableHeadRowProps);
2216
-
2217
2262
  return React.createElement(TableRow, Object.assign({}, tableRowProps, {
2218
2263
  sx: function sx(theme) {
2219
2264
  return _extends({
2220
- boxShadow: "4px 0 8px " + alpha(theme.palette.common.black, 0.1)
2265
+ boxShadow: "4px 0 8px " + alpha(theme.palette.common.black, 0.1),
2266
+ backgroundColor: lighten(theme.palette.background["default"], 0.04)
2221
2267
  }, tableRowProps == null ? void 0 : tableRowProps.sx);
2222
2268
  }
2223
2269
  }), headerGroup.headers.map(function (header, index) {
@@ -2230,26 +2276,16 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
2230
2276
  };
2231
2277
 
2232
2278
  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,
2279
+ var tableInstance = _ref.tableInstance;
2280
+ var getHeaderGroups = tableInstance.getHeaderGroups,
2239
2281
  muiTableHeadProps = tableInstance.options.muiTableHeadProps;
2240
2282
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps({
2241
2283
  tableInstance: tableInstance
2242
2284
  }) : 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) {
2285
+ return React.createElement(TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map(function (headerGroup) {
2250
2286
  return React.createElement(MRT_TableHeadRow, {
2251
2287
  headerGroup: headerGroup,
2252
- key: headerGroup.getHeaderGroupProps().key,
2288
+ key: headerGroup.id,
2253
2289
  tableInstance: tableInstance
2254
2290
  });
2255
2291
  }));
@@ -2268,7 +2304,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2268
2304
  setCurrentEditingCell = tableInstance.setCurrentEditingCell,
2269
2305
  setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2270
2306
 
2271
- var _useState = useState(cell.value),
2307
+ var _useState = useState(cell.getValue()),
2272
2308
  value = _useState[0],
2273
2309
  setValue = _useState[1];
2274
2310
 
@@ -2291,7 +2327,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2291
2327
 
2292
2328
  var handleBlur = function handleBlur(event) {
2293
2329
  if (getState().currentEditingRow) {
2294
- row.values[column.id] = value;
2330
+ row._valuesCache[column.id] = value;
2295
2331
  setCurrentEditingRow(_extends({}, getState().currentEditingRow));
2296
2332
  }
2297
2333
 
@@ -2334,7 +2370,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2334
2370
  onClick: function onClick(e) {
2335
2371
  return e.stopPropagation();
2336
2372
  },
2337
- placeholder: column.header,
2373
+ placeholder: column.columnDef.header,
2338
2374
  value: value,
2339
2375
  variant: "standard"
2340
2376
  }, textFieldProps));
@@ -2380,9 +2416,11 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2380
2416
  }, React.createElement(Button, Object.assign({
2381
2417
  "aria-label": localization.clickToCopy,
2382
2418
  onClick: function onClick() {
2383
- return handleCopy(cell.value);
2419
+ return handleCopy(cell.getValue());
2384
2420
  },
2385
- size: "small"
2421
+ size: "small",
2422
+ type: "button",
2423
+ variant: "text"
2386
2424
  }, buttonProps, {
2387
2425
  sx: _extends({
2388
2426
  backgroundColor: 'transparent',
@@ -2396,25 +2434,22 @@ var MRT_CopyButton = function MRT_CopyButton(_ref) {
2396
2434
  minWidth: 'unset',
2397
2435
  textAlign: 'inherit',
2398
2436
  textTransform: 'inherit'
2399
- }, buttonProps == null ? void 0 : buttonProps.sx),
2400
- variant: "text"
2437
+ }, buttonProps == null ? void 0 : buttonProps.sx)
2401
2438
  }), children));
2402
2439
  };
2403
2440
 
2404
2441
  var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2405
- var _cell$column$Cell, _cell$column, _row$subRows, _cell$column$Cell2, _cell$column2, _row$subRows2;
2442
+ var _column$minSize, _cell$column$columnDe, _cell$column$columnDe2, _row$subRows, _cell$column$columnDe3, _cell$column$columnDe4, _row$subRows$length, _row$subRows2;
2406
2443
 
2407
2444
  var cell = _ref.cell,
2445
+ enableHover = _ref.enableHover,
2408
2446
  tableInstance = _ref.tableInstance;
2409
- var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
2410
- getState = tableInstance.getState,
2447
+ var getState = tableInstance.getState,
2411
2448
  _tableInstance$option = tableInstance.options,
2412
2449
  editingMode = _tableInstance$option.editingMode,
2413
2450
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2414
2451
  enableEditing = _tableInstance$option.enableEditing,
2415
- enablePinning = _tableInstance$option.enablePinning,
2416
2452
  idPrefix = _tableInstance$option.idPrefix,
2417
- isLoading = _tableInstance$option.isLoading,
2418
2453
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
2419
2454
  muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
2420
2455
  onCellClick = _tableInstance$option.onCellClick,
@@ -2423,7 +2458,9 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2423
2458
  var _getState = getState(),
2424
2459
  currentEditingCell = _getState.currentEditingCell,
2425
2460
  currentEditingRow = _getState.currentEditingRow,
2426
- isDensePadding = _getState.isDensePadding;
2461
+ isDensePadding = _getState.isDensePadding,
2462
+ isLoading = _getState.isLoading,
2463
+ showSkeletons = _getState.showSkeletons;
2427
2464
 
2428
2465
  var column = cell.column,
2429
2466
  row = cell.row;
@@ -2436,11 +2473,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2436
2473
  tableInstance: tableInstance
2437
2474
  }) : column.muiTableBodyCellProps;
2438
2475
 
2439
- var tableCellProps = _extends({}, cell.getCellProps(), mTableCellBodyProps, mcTableCellBodyProps);
2476
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps);
2440
2477
 
2441
2478
  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()]);
2479
+ return column.columnDefType === 'display' ? column.getSize() / 2 : Math.random() * (column.getSize() - column.getSize() / 3) + column.getSize() / 3;
2480
+ }, [column.columnDefType, column.getSize()]);
2444
2481
  var isEditable = (enableEditing || column.enableEditing) && column.enableEditing !== false;
2445
2482
  var isEditing = isEditable && (editingMode === 'table' || (currentEditingRow == null ? void 0 : currentEditingRow.id) === row.id || (currentEditingCell == null ? void 0 : currentEditingCell.id) === cell.id);
2446
2483
 
@@ -2458,6 +2495,18 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2458
2495
  }
2459
2496
  };
2460
2497
 
2498
+ var getIsLastLeftPinnedColumn = function getIsLastLeftPinnedColumn() {
2499
+ return column.getIsPinned() === 'left' && tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex();
2500
+ };
2501
+
2502
+ var getIsFirstRightPinnedColumn = function getIsFirstRightPinnedColumn() {
2503
+ return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
2504
+ };
2505
+
2506
+ var getTotalRight = function getTotalRight() {
2507
+ return (tableInstance.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150;
2508
+ };
2509
+
2461
2510
  return React.createElement(TableCell, Object.assign({
2462
2511
  onClick: function onClick(event) {
2463
2512
  return onCellClick == null ? void 0 : onCellClick({
@@ -2468,21 +2517,34 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2468
2517
  },
2469
2518
  onDoubleClick: handleDoubleClick
2470
2519
  }, 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({
2520
+ sx: function sx(theme) {
2521
+ return _extends({
2522
+ backgroundColor: column.getIsPinned() ? alpha(lighten(theme.palette.background["default"], 0.04), 0.95) : undefined,
2523
+ 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,
2524
+ cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
2525
+ left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
2526
+ p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2527
+ pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2528
+ position: column.getIsPinned() ? 'sticky' : 'relative',
2529
+ right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
2530
+ transition: 'all 0.2s ease-in-out',
2531
+ whiteSpace: isDensePadding ? 'nowrap' : 'normal',
2532
+ zIndex: column.getIsPinned() ? 1 : undefined,
2533
+ '&:hover': {
2534
+ backgroundColor: enableHover ? theme.palette.mode === 'dark' ? lighten(theme.palette.background["default"], 0.13) + " !important" : darken(theme.palette.background["default"], 0.07) + " !important" : undefined
2535
+ }
2536
+ }, tableCellProps == null ? void 0 : tableCellProps.sx);
2537
+ },
2538
+ style: {
2539
+ maxWidth: "min(" + column.getSize() + "px, fit-content)",
2540
+ minWidth: "max(" + column.getSize() + "px, " + ((_column$minSize = column.minSize) != null ? _column$minSize : 30) + "px)",
2541
+ width: column.getSize()
2542
+ }
2543
+ }), React.createElement(React.Fragment, null, isLoading || showSkeletons ? React.createElement(Skeleton, Object.assign({
2482
2544
  animation: "wave",
2483
2545
  height: 20,
2484
2546
  width: skeletonWidth
2485
- }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.Cell == null ? void 0 : column.Cell({
2547
+ }, muiTableBodyCellSkeletonProps)) : column.columnDefType === 'display' ? column.columnDef.Cell == null ? void 0 : column.columnDef.Cell({
2486
2548
  cell: cell,
2487
2549
  tableInstance: tableInstance
2488
2550
  }) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React.createElement(MRT_EditCellTextField, {
@@ -2491,13 +2553,13 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2491
2553
  }) : (enableClickToCopy || column.enableClickToCopy) && column.enableClickToCopy !== false ? React.createElement(React.Fragment, null, React.createElement(MRT_CopyButton, {
2492
2554
  cell: cell,
2493
2555
  tableInstance: tableInstance
2494
- }, (_cell$column$Cell = (_cell$column = cell.column) == null ? void 0 : _cell$column.Cell == null ? void 0 : _cell$column.Cell({
2556
+ }, React.createElement(React.Fragment, null, (_cell$column$columnDe = (_cell$column$columnDe2 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe2.Cell == null ? void 0 : _cell$column$columnDe2.Cell({
2495
2557
  cell: cell,
2496
2558
  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({
2559
+ })) != null ? _cell$column$columnDe : 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$columnDe3 = (_cell$column$columnDe4 = cell.column.columnDef) == null ? void 0 : _cell$column$columnDe4.Cell == null ? void 0 : _cell$column$columnDe4.Cell({
2498
2560
  cell: cell,
2499
2561
  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, ")")));
2562
+ })) != null ? _cell$column$columnDe3 : cell.renderCell(), row.getIsGrouped() && React.createElement(React.Fragment, null, " (", (_row$subRows$length = (_row$subRows2 = row.subRows) == null ? void 0 : _row$subRows2.length) != null ? _row$subRows$length : '', ")"))));
2501
2563
  };
2502
2564
 
2503
2565
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -2542,33 +2604,16 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
2542
2604
  };
2543
2605
 
2544
2606
  var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2545
- var pinned = _ref.pinned,
2546
- row = _ref.row,
2607
+ var row = _ref.row,
2547
2608
  tableInstance = _ref.tableInstance;
2548
2609
  var _tableInstance$option = tableInstance.options,
2549
2610
  muiTableBodyRowProps = _tableInstance$option.muiTableBodyRowProps,
2550
2611
  onRowClick = _tableInstance$option.onRowClick,
2551
2612
  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({
2613
+ var tableRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps({
2560
2614
  row: row,
2561
2615
  tableInstance: tableInstance
2562
2616
  }) : 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
2617
  return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
2573
2618
  hover: true,
2574
2619
  onClick: function onClick(event) {
@@ -2578,39 +2623,44 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
2578
2623
  tableInstance: tableInstance
2579
2624
  });
2580
2625
  },
2581
- selected: getIsSelected()
2582
- }, tableRowProps), getVisibleCellsMap[pinned]().map(function (cell) {
2626
+ selected: row.getIsSelected()
2627
+ }, tableRowProps, {
2628
+ sx: function sx(theme) {
2629
+ return _extends({
2630
+ backgroundColor: lighten(theme.palette.background["default"], 0.06),
2631
+ transition: 'all 0.2s ease-in-out',
2632
+ '&:hover td': {
2633
+ 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
2634
+ }
2635
+ }, tableRowProps == null ? void 0 : tableRowProps.sx);
2636
+ }
2637
+ }), row.getVisibleCells().map(function (cell) {
2583
2638
  return React.createElement(MRT_TableBodyCell, {
2584
2639
  cell: cell,
2585
- key: cell.getCellProps().key,
2640
+ key: cell.id,
2641
+ enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
2586
2642
  tableInstance: tableInstance
2587
2643
  });
2588
- })), renderDetailPanel && !getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
2644
+ })), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
2589
2645
  row: row,
2590
2646
  tableInstance: tableInstance
2591
2647
  }));
2592
2648
  };
2593
2649
 
2594
2650
  var MRT_TableBody = function MRT_TableBody(_ref) {
2595
- var pinned = _ref.pinned,
2596
- tableInstance = _ref.tableInstance;
2651
+ var tableInstance = _ref.tableInstance;
2597
2652
  var getPaginationRowModel = tableInstance.getPaginationRowModel,
2598
2653
  getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
2599
- getTableBodyProps = tableInstance.getTableBodyProps,
2600
2654
  _tableInstance$option = tableInstance.options,
2601
2655
  enablePagination = _tableInstance$option.enablePagination,
2602
2656
  muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
2603
2657
  var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
2604
- var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2658
+ var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
2605
2659
  tableInstance: tableInstance
2606
2660
  }) : muiTableBodyProps;
2607
-
2608
- var tableBodyProps = _extends({}, getTableBodyProps(), mTableBodyProps);
2609
-
2610
2661
  return React.createElement(TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
2611
2662
  return React.createElement(MRT_TableBodyRow, {
2612
- key: row.getRowProps().key,
2613
- pinned: pinned,
2663
+ key: row.id,
2614
2664
  row: row,
2615
2665
  tableInstance: tableInstance
2616
2666
  });
@@ -2618,7 +2668,7 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
2618
2668
  };
2619
2669
 
2620
2670
  var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2621
- var _ref2, _column$Footer;
2671
+ var _ref2, _ref3, _column$columnDef$Foo;
2622
2672
 
2623
2673
  var footer = _ref.footer,
2624
2674
  tableInstance = _ref.tableInstance;
@@ -2640,30 +2690,30 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
2640
2690
  tableInstance: tableInstance
2641
2691
  }) : column.muiTableFooterCellProps;
2642
2692
 
2643
- var tableCellProps = _extends({}, footer.getFooterProps(), mTableFooterCellProps, mcTableFooterCellProps);
2693
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps);
2644
2694
 
2645
2695
  return React.createElement(TableCell, Object.assign({
2646
2696
  align: column.columnDefType === 'group' ? 'center' : 'left',
2697
+ colSpan: footer.colSpan,
2647
2698
  variant: "head"
2648
2699
  }, tableCellProps, {
2649
- //@ts-ignore
2650
2700
  sx: function sx(theme) {
2651
2701
  return _extends({
2652
2702
  backgroundColor: theme.palette.background["default"],
2653
2703
  backgroundImage: "linear-gradient(" + alpha(theme.palette.common.white, 0.05) + "," + alpha(theme.palette.common.white, 0.05) + ")",
2654
2704
  fontWeight: 'bold',
2655
- maxWidth: "min(" + column.getWidth() + "px, " + column.maxWidth + "px)",
2656
- minWidth: "max(" + column.getWidth() + "px, " + column.minWidth + "px)",
2705
+ maxWidth: column.getSize() + "px",
2706
+ minWidth: column.getSize() + "px",
2657
2707
  p: isDensePadding ? '0.5rem' : '1rem',
2658
2708
  transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out",
2659
- width: column.getWidth(),
2709
+ width: column.getSize(),
2660
2710
  verticalAlign: 'text-top'
2661
2711
  }, tableCellProps == null ? void 0 : tableCellProps.sx);
2662
2712
  }
2663
- }), footer.isPlaceholder ? null : (_ref2 = (_column$Footer = column.Footer == null ? void 0 : column.Footer({
2713
+ }), React.createElement(React.Fragment, null, footer.isPlaceholder ? null : (_ref2 = (_ref3 = (_column$columnDef$Foo = column.columnDef.Footer == null ? void 0 : column.columnDef.Footer({
2664
2714
  footer: footer,
2665
2715
  tableInstance: tableInstance
2666
- })) != null ? _column$Footer : column.footer) != null ? _ref2 : null);
2716
+ })) != null ? _column$columnDef$Foo : column.columnDef.footer) != null ? _ref3 : footer.renderFooter()) != null ? _ref2 : null));
2667
2717
  };
2668
2718
 
2669
2719
  var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
@@ -2674,99 +2724,63 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
2674
2724
  var muiTableFooterRowProps = tableInstance.options.muiTableFooterRowProps; // if no content in row, skip row
2675
2725
 
2676
2726
  if (!((_footerGroup$headers = footerGroup.headers) != null && _footerGroup$headers.some(function (h) {
2677
- return h.column.columnDef.footer || h.column.Footer;
2727
+ return typeof h.column.columnDef.footer === 'string' && !!h.column.columnDef.footer || h.column.columnDef.Footer;
2678
2728
  }))) return null;
2679
- var mTableFooterRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2729
+ var tableRowProps = muiTableFooterRowProps instanceof Function ? muiTableFooterRowProps({
2680
2730
  footerGroup: footerGroup,
2681
2731
  tableInstance: tableInstance
2682
2732
  }) : muiTableFooterRowProps;
2683
-
2684
- var tableRowProps = _extends({}, footerGroup.getFooterGroupProps(), mTableFooterRowProps);
2685
-
2686
2733
  return React.createElement(TableRow, Object.assign({}, tableRowProps), footerGroup.headers.map(function (footer) {
2687
2734
  return React.createElement(MRT_TableFooterCell, {
2688
2735
  footer: footer,
2689
- key: footer.getFooterProps().key,
2736
+ key: footer.id,
2690
2737
  tableInstance: tableInstance
2691
2738
  });
2692
2739
  }));
2693
2740
  };
2694
2741
 
2695
2742
  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,
2743
+ var tableInstance = _ref.tableInstance;
2744
+ var getFooterGroups = tableInstance.getFooterGroups,
2702
2745
  muiTableFooterProps = tableInstance.options.muiTableFooterProps;
2703
2746
  var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps({
2704
2747
  tableInstance: tableInstance
2705
2748
  }) : 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) {
2749
+ return React.createElement(TableFooter, Object.assign({}, tableFooterProps), getFooterGroups().map(function (footerGroup) {
2713
2750
  return React.createElement(MRT_TableFooterRow, {
2714
2751
  footerGroup: footerGroup,
2715
- key: footerGroup.getFooterGroupProps().key,
2752
+ key: footerGroup.id,
2716
2753
  tableInstance: tableInstance
2717
2754
  });
2718
2755
  }));
2719
2756
  };
2720
2757
 
2721
2758
  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,
2759
+ var tableInstance = _ref.tableInstance;
2760
+ var _tableInstance$option = tableInstance.options,
2726
2761
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2727
2762
  enableTableFooter = _tableInstance$option.enableTableFooter,
2728
2763
  enableTableHead = _tableInstance$option.enableTableHead,
2729
2764
  muiTableProps = _tableInstance$option.muiTableProps;
2730
- var mTableProps = muiTableProps instanceof Function ? muiTableProps({
2765
+ var tableProps = muiTableProps instanceof Function ? muiTableProps({
2731
2766
  tableInstance: tableInstance
2732
2767
  }) : muiTableProps;
2733
-
2734
- var tableProps = _extends({}, getTableProps(), mTableProps);
2735
-
2736
2768
  return React.createElement(Table, Object.assign({
2737
2769
  stickyHeader: enableStickyHeader
2738
2770
  }, tableProps), enableTableHead && React.createElement(MRT_TableHead, {
2739
- pinned: pinned,
2740
2771
  tableInstance: tableInstance
2741
2772
  }), React.createElement(MRT_TableBody, {
2742
- pinned: pinned,
2743
2773
  tableInstance: tableInstance
2744
2774
  }), enableTableFooter && React.createElement(MRT_TableFooter, {
2745
- pinned: pinned,
2746
2775
  tableInstance: tableInstance
2747
2776
  }));
2748
2777
  };
2749
2778
 
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,
2779
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
2780
+ var MRT_TableContainer = function MRT_TableContainer(_ref) {
2781
+ var tableInstance = _ref.tableInstance;
2782
+ var getState = tableInstance.getState,
2768
2783
  _tableInstance$option = tableInstance.options,
2769
- enablePinning = _tableInstance$option.enablePinning,
2770
2784
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2771
2785
  idPrefix = _tableInstance$option.idPrefix,
2772
2786
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
@@ -2781,15 +2795,13 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2781
2795
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2782
2796
  tableInstance: tableInstance
2783
2797
  }) : muiTableContainerProps;
2784
- useEffect(function () {
2798
+ useIsomorphicLayoutEffect(function () {
2785
2799
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
2786
2800
 
2787
2801
  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
2802
  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
2803
  setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
2790
2804
  });
2791
- var isSomeColumnsPinnedLeft = !!tableInstance.getLeftFlatHeaders().length;
2792
- var isSomeColumnsPinnedRight = !!tableInstance.getRightFlatHeaders().length;
2793
2805
  return React.createElement(TableContainer, Object.assign({}, tableContainerProps, {
2794
2806
  sx: _extends({
2795
2807
  maxWidth: '100%',
@@ -2799,45 +2811,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2799
2811
  style: {
2800
2812
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
2801
2813
  }
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",
2814
+ }), React.createElement(MRT_Table, {
2841
2815
  tableInstance: tableInstance
2842
2816
  }));
2843
2817
  };
@@ -2939,7 +2913,7 @@ var createDisplayColumn = function createDisplayColumn(table, column) {
2939
2913
  };
2940
2914
 
2941
2915
  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;
2916
+ 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
2917
 
2944
2918
  var _useState = useState(props.idPrefix),
2945
2919
  idPrefix = _useState[0],
@@ -3003,7 +2977,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3003
2977
  var _useState8 = useState({
3004
2978
  pageIndex: (_initialState$paginat = initialState == null ? void 0 : (_initialState$paginat2 = initialState.pagination) == null ? void 0 : _initialState$paginat2.pageIndex) != null ? _initialState$paginat : 0,
3005
2979
  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
2980
+ pageCount: initialState == null ? void 0 : (_initialState$paginat5 = initialState.pagination) == null ? void 0 : _initialState$paginat5.pageCount
3007
2981
  }),
3008
2982
  pagination = _useState8[0],
3009
2983
  setPagination = _useState8[1];
@@ -3012,13 +2986,13 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3012
2986
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3013
2987
  var _ref, _c$filterFn, _initialState$current3, _c$filterSelectOption, _ref2;
3014
2988
 
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;
2989
+ 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
2990
  })));
3017
2991
  }),
3018
2992
  currentFilterFns = _useState9[0],
3019
2993
  setCurrentFilterFns = _useState9[1];
3020
2994
 
3021
- var _useState10 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.BEST_MATCH_FIRST),
2995
+ var _useState10 = useState((_props$globalFilterFn = props.globalFilterFn) != null ? _props$globalFilterFn : MRT_FILTER_OPTION.FUZZY),
3022
2996
  currentGlobalFilterFn = _useState10[0],
3023
2997
  setCurrentGlobalFilterFn = _useState10[1];
3024
2998
 
@@ -3038,9 +3012,8 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3038
3012
  },
3039
3013
  header: (_props$localization = props.localization) == null ? void 0 : _props$localization.actions,
3040
3014
  id: 'mrt-row-actions',
3041
- maxWidth: 60,
3042
- width: 60
3043
- }), (props.enableExpanded || props.enableGrouping) && createDisplayColumn(table, {
3015
+ size: 60
3016
+ }), (props.enableExpanding || props.enableGrouping) && createDisplayColumn(table, {
3044
3017
  Cell: function Cell(_ref4) {
3045
3018
  var cell = _ref4.cell;
3046
3019
  return React.createElement(MRT_ExpandButton, {
@@ -3055,8 +3028,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3055
3028
  },
3056
3029
  header: (_props$localization2 = props.localization) == null ? void 0 : _props$localization2.expand,
3057
3030
  id: 'mrt-expand',
3058
- maxWidth: 40,
3059
- width: 40
3031
+ size: 50
3060
3032
  }), props.enableRowSelection && createDisplayColumn(table, {
3061
3033
  Cell: function Cell(_ref5) {
3062
3034
  var cell = _ref5.cell;
@@ -3073,8 +3045,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3073
3045
  },
3074
3046
  header: (_props$localization3 = props.localization) == null ? void 0 : _props$localization3.select,
3075
3047
  id: 'mrt-select',
3076
- maxWidth: 40,
3077
- width: 40
3048
+ size: 50
3078
3049
  }), props.enableRowNumbers && createDisplayColumn(table, {
3079
3050
  Cell: function Cell(_ref6) {
3080
3051
  var cell = _ref6.cell;
@@ -3087,39 +3058,39 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3087
3058
  },
3088
3059
  header: (_props$localization5 = props.localization) == null ? void 0 : _props$localization5.rowNumbers,
3089
3060
  id: 'mrt-row-numbers',
3090
- maxWidth: 40,
3091
- width: 40,
3092
- minWidth: 40
3061
+ size: 50
3093
3062
  })].filter(Boolean);
3094
- }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3063
+ }, [props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
3095
3064
  var columns = useMemo(function () {
3096
- return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
3065
+ return [].concat(displayColumns, props.columns.map(function (column) {
3097
3066
  return column.columns ? createGroup(table, column, currentFilterFns) : createDataColumn(table, column, currentFilterFns);
3098
- })));
3067
+ }));
3099
3068
  }, [table, props.columns, currentFilterFns]);
3100
3069
  var data = useMemo(function () {
3101
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
3070
+ var _props$state, _props$state2;
3071
+
3072
+ 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
3073
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
3103
3074
  var _ref7;
3104
3075
 
3105
3076
  return _ref7 = {}, _ref7[c.id] = null, _ref7;
3106
3077
  })));
3107
3078
  }) : props.data;
3108
- }, [props.data, props.isLoading]); //@ts-ignore
3079
+ }, [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
3080
 
3110
3081
  var tableInstance = _extends({}, useTableInstance(table, _extends({
3111
- //@ts-ignore
3112
3082
  filterFns: defaultFilterFNs,
3113
- getColumnFilteredRowModel: getColumnFilteredRowModelSync(),
3114
- getCoreRowModel: getCoreRowModelSync(),
3083
+ getCoreRowModel: getCoreRowModel(),
3115
3084
  getExpandedRowModel: getExpandedRowModel(),
3116
- getGlobalFilteredRowModel: getGlobalFilteredRowModelSync(),
3117
- getGroupedRowModel: getGroupedRowModelSync(),
3085
+ getFacetedRowModel: getFacetedRowModel(),
3086
+ getFilteredRowModel: getFilteredRowModel(),
3087
+ getGroupedRowModel: getGroupedRowModel(),
3118
3088
  getPaginationRowModel: getPaginationRowModel(),
3119
- getSortedRowModel: getSortedRowModelSync(),
3120
- getSubRows: function getSubRows(originalRow) {
3121
- return originalRow.subRows;
3089
+ getSortedRowModel: getSortedRowModel(),
3090
+ getSubRows: function getSubRows(row) {
3091
+ return row == null ? void 0 : row.subRows;
3122
3092
  },
3093
+ //@ts-ignore
3123
3094
  globalFilterFn: currentGlobalFilterFn,
3124
3095
  onPaginationChange: function onPaginationChange(updater) {
3125
3096
  return setPagination(function (old) {
@@ -3127,10 +3098,10 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3127
3098
  });
3128
3099
  }
3129
3100
  }, props, {
3101
+ //@ts-ignore
3130
3102
  columns: columns,
3131
3103
  data: data,
3132
3104
  idPrefix: idPrefix,
3133
- //@ts-ignore
3134
3105
  initialState: initialState,
3135
3106
  state: _extends({
3136
3107
  currentEditingCell: currentEditingCell,
@@ -3145,12 +3116,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3145
3116
  showGlobalFilter: showGlobalFilter
3146
3117
  }, props.state)
3147
3118
  })), {
3148
- //@ts-ignore
3149
3119
  setCurrentEditingCell: setCurrentEditingCell,
3150
- //@ts-ignore
3151
3120
  setCurrentEditingRow: setCurrentEditingRow,
3152
3121
  setCurrentFilterFns: setCurrentFilterFns,
3153
- //@ts-ignore
3154
3122
  setCurrentGlobalFilterFn: setCurrentGlobalFilterFn,
3155
3123
  setIsDensePadding: setIsDensePadding,
3156
3124
  setIsFullScreen: setIsFullScreen,
@@ -3198,14 +3166,18 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3198
3166
  }));
3199
3167
  };
3200
3168
 
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"];
3169
+ var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3202
3170
  var MaterialReactTable = (function (_ref) {
3203
3171
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3204
3172
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
3205
- _ref$autoResetSorting = _ref.autoResetSorting,
3206
- autoResetSorting = _ref$autoResetSorting === void 0 ? false : _ref$autoResetSorting,
3207
3173
  _ref$columnResizeMode = _ref.columnResizeMode,
3208
3174
  columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
3175
+ _ref$defaultColumn = _ref.defaultColumn,
3176
+ defaultColumn = _ref$defaultColumn === void 0 ? {
3177
+ minSize: 50,
3178
+ maxSize: 1000,
3179
+ size: 150
3180
+ } : _ref$defaultColumn,
3209
3181
  _ref$editingMode = _ref.editingMode,
3210
3182
  editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
3211
3183
  _ref$enableColumnActi = _ref.enableColumnActions,
@@ -3230,6 +3202,8 @@ var MaterialReactTable = (function (_ref) {
3230
3202
  enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
3231
3203
  _ref$enablePagination = _ref.enablePagination,
3232
3204
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
3205
+ _ref$enablePinning = _ref.enablePinning,
3206
+ enablePinning = _ref$enablePinning === void 0 ? false : _ref$enablePinning,
3233
3207
  _ref$enableSelectAll = _ref.enableSelectAll,
3234
3208
  enableSelectAll = _ref$enableSelectAll === void 0 ? true : _ref$enableSelectAll,
3235
3209
  _ref$enableSorting = _ref.enableSorting,
@@ -3262,12 +3236,12 @@ var MaterialReactTable = (function (_ref) {
3262
3236
 
3263
3237
  return React.createElement(MRT_TableRoot, Object.assign({
3264
3238
  autoResetExpanded: autoResetExpanded,
3265
- autoResetSorting: autoResetSorting,
3266
3239
  columnResizeMode: columnResizeMode,
3240
+ defaultColumn: defaultColumn,
3267
3241
  editingMode: editingMode,
3268
3242
  enableColumnActions: enableColumnActions,
3269
- enableColumnResizing: enableColumnResizing,
3270
3243
  enableColumnFilters: enableColumnFilters,
3244
+ enableColumnResizing: enableColumnResizing,
3271
3245
  enableDensePaddingToggle: enableDensePaddingToggle,
3272
3246
  enableExpandAll: enableExpandAll,
3273
3247
  enableFilters: enableFilters,
@@ -3276,6 +3250,7 @@ var MaterialReactTable = (function (_ref) {
3276
3250
  enableHiding: enableHiding,
3277
3251
  enableMultiRowSelection: enableMultiRowSelection,
3278
3252
  enablePagination: enablePagination,
3253
+ enablePinning: enablePinning,
3279
3254
  enableSelectAll: enableSelectAll,
3280
3255
  enableSorting: enableSorting,
3281
3256
  enableStickyHeader: enableStickyHeader,