material-react-table 0.7.0-alpha.10 → 0.7.0-alpha.13

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 (32) hide show
  1. package/README.md +1 -3
  2. package/dist/MaterialReactTable.d.ts +42 -23
  3. package/dist/buttons/{MRT_ToggleSearchButton.d.ts → MRT_ToggleGlobalFilterButton.d.ts} +1 -1
  4. package/dist/localization.d.ts +3 -0
  5. package/dist/material-react-table.cjs.development.js +131 -105
  6. package/dist/material-react-table.cjs.development.js.map +1 -1
  7. package/dist/material-react-table.cjs.production.min.js +1 -1
  8. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  9. package/dist/material-react-table.esm.js +133 -107
  10. package/dist/material-react-table.esm.js.map +1 -1
  11. package/dist/utils.d.ts +1 -1
  12. package/package.json +5 -5
  13. package/src/MaterialReactTable.tsx +69 -33
  14. package/src/body/MRT_TableBodyCell.tsx +2 -2
  15. package/src/buttons/MRT_EditActionButtons.tsx +1 -1
  16. package/src/buttons/MRT_FullScreenToggleButton.tsx +13 -4
  17. package/src/buttons/MRT_ShowHideColumnsButton.tsx +0 -1
  18. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +13 -4
  19. package/src/buttons/MRT_ToggleFiltersButton.tsx +13 -4
  20. package/src/buttons/{MRT_ToggleSearchButton.tsx → MRT_ToggleGlobalFilterButton.tsx} +14 -8
  21. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  22. package/src/head/MRT_TableHeadCell.tsx +7 -8
  23. package/src/inputs/MRT_EditCellTextField.tsx +2 -5
  24. package/src/inputs/MRT_FilterTextField.tsx +2 -2
  25. package/src/inputs/MRT_SearchTextField.tsx +6 -6
  26. package/src/localization.ts +6 -0
  27. package/src/menus/MRT_ColumnActionMenu.tsx +4 -4
  28. package/src/menus/MRT_FilterTypeMenu.tsx +3 -6
  29. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +2 -2
  30. package/src/table/MRT_TableContainer.tsx +4 -4
  31. package/src/table/MRT_TableRoot.tsx +60 -56
  32. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -9
@@ -1,4 +1,4 @@
1
- import React, { useMemo, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
1
+ import React, { useMemo, useState, useCallback, Fragment, 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';
@@ -26,7 +26,7 @@ import SearchOffIcon from '@mui/icons-material/SearchOff';
26
26
  import SortIcon from '@mui/icons-material/Sort';
27
27
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
28
28
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
29
- import { createTable, useTable, columnFilterRowsFn, expandRowsFn, globalFilterRowsFn, groupRowsFn, functionalUpdate, paginateRowsFn, sortRowsFn } from '@tanstack/react-table';
29
+ import { createTable, useTableInstance, getColumnFilteredRowModelSync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, functionalUpdate } from '@tanstack/react-table';
30
30
  import { IconButton, Menu, MenuItem, FormControlLabel, Switch, Box, Button, Divider, ListItemIcon, Tooltip, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, useMediaQuery, Chip, Alert, LinearProgress, Toolbar, alpha, TableCell, TableSortLabel, TableRow, TableHead, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper } from '@mui/material';
31
31
  import { matchSorter } from 'match-sorter';
32
32
 
@@ -111,13 +111,16 @@ var MRT_DefaultLocalization_EN = {
111
111
  showHideSearch: 'Show/Hide search',
112
112
  sortByColumnAsc: 'Sort by {column} ascending',
113
113
  sortByColumnDesc: 'Sort by {column} descending',
114
+ sortedByColumnAsc: 'Sorted by {column} ascending',
115
+ sortedByColumnDesc: 'Sorted by {column} descending',
114
116
  thenBy: ', then by ',
115
117
  toggleDensePadding: 'Toggle dense padding',
116
118
  toggleFullScreen: 'Toggle full screen',
117
119
  toggleSelectAll: 'Toggle select all',
118
120
  toggleSelectRow: 'Toggle select row',
119
121
  ungroupByColumn: 'Ungroup by {column}',
120
- unpin: 'Unpin'
122
+ unpin: 'Unpin',
123
+ unsorted: 'Unsorted'
121
124
  };
122
125
 
123
126
  var MRT_Default_Icons = {
@@ -384,8 +387,8 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
384
387
  _tableInstance$option = tableInstance.options,
385
388
  enabledGlobalFilterTypes = _tableInstance$option.enabledGlobalFilterTypes,
386
389
  localization = _tableInstance$option.localization,
387
- setCurrentFilterTypes = _tableInstance$option.setCurrentFilterTypes,
388
- setCurrentGlobalFilterType = _tableInstance$option.setCurrentGlobalFilterType;
390
+ setCurrentFilterTypes = tableInstance.setCurrentFilterTypes,
391
+ setCurrentGlobalFilterType = tableInstance.setCurrentGlobalFilterType;
389
392
 
390
393
  var _getState = getState(),
391
394
  isDensePadding = _getState.isDensePadding,
@@ -511,7 +514,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
511
514
  isSubMenu = _ref.isSubMenu,
512
515
  tableInstance = _ref.tableInstance;
513
516
  var getState = tableInstance.getState,
514
- onColumnHide = tableInstance.options.onColumnHide;
517
+ onToggleColumnVisibility = tableInstance.options.onToggleColumnVisibility;
515
518
 
516
519
  var _getState = getState(),
517
520
  columnVisibility = _getState.columnVisibility;
@@ -531,7 +534,7 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
531
534
  column.toggleVisibility();
532
535
  }
533
536
 
534
- onColumnHide == null ? void 0 : onColumnHide({
537
+ onToggleColumnVisibility == null ? void 0 : onToggleColumnVisibility({
535
538
  column: column,
536
539
  columnVisibility: columnVisibility,
537
540
  tableInstance: tableInstance
@@ -672,7 +675,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
672
675
  setColumnOrder = tableInstance.setColumnOrder,
673
676
  _tableInstance$option = tableInstance.options,
674
677
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
675
- enableColumnPinning = _tableInstance$option.enableColumnPinning,
678
+ enablePinning = _tableInstance$option.enablePinning,
676
679
  enableGrouping = _tableInstance$option.enableGrouping,
677
680
  enableHiding = _tableInstance$option.enableHiding,
678
681
  enableSorting = _tableInstance$option.enableSorting,
@@ -688,7 +691,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
688
691
  VisibilityOffIcon = _tableInstance$option2.VisibilityOffIcon,
689
692
  idPrefix = _tableInstance$option.idPrefix,
690
693
  localization = _tableInstance$option.localization,
691
- setShowFilters = _tableInstance$option.setShowFilters;
694
+ setShowFilters = tableInstance.setShowFilters;
692
695
  var column = header.column;
693
696
 
694
697
  var _getState = getState(),
@@ -830,13 +833,13 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
830
833
  setAnchorEl: setFilterMenuAnchorEl,
831
834
  tableInstance: tableInstance
832
835
  })], enableGrouping && column.getCanGroup() && [React.createElement(MenuItem, {
833
- divider: enableColumnPinning,
836
+ divider: enablePinning,
834
837
  key: 0,
835
838
  onClick: handleGroupByColumn,
836
839
  sx: commonMenuItemStyles$1
837
840
  }, React.createElement(Box, {
838
841
  sx: commonListItemStyles
839
- }, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), (_localization = localization[column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn']) == null ? void 0 : _localization.replace('{column}', String(column.header))))], enableColumnPinning && column.getCanPin() && [React.createElement(MenuItem, {
842
+ }, 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, {
840
843
  disabled: column.getIsPinned() === 'left',
841
844
  key: 0,
842
845
  onClick: function onClick() {
@@ -953,7 +956,7 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
953
956
  SaveIcon = _tableInstance$option2.SaveIcon,
954
957
  localization = _tableInstance$option.localization,
955
958
  onEditSubmit = _tableInstance$option.onEditSubmit,
956
- setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
959
+ setCurrentEditingRow = tableInstance.setCurrentEditingRow;
957
960
 
958
961
  var _getState = getState(),
959
962
  currentEditingRow = _getState.currentEditingRow;
@@ -1016,7 +1019,7 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1016
1019
  localization = _tableInstance$option.localization,
1017
1020
  renderRowActionMenuItems = _tableInstance$option.renderRowActionMenuItems,
1018
1021
  renderRowActions = _tableInstance$option.renderRowActions,
1019
- setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
1022
+ setCurrentEditingRow = tableInstance.setCurrentEditingRow;
1020
1023
 
1021
1024
  var _getState = getState(),
1022
1025
  currentEditingRow = _getState.currentEditingRow;
@@ -1152,11 +1155,11 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1152
1155
  idPrefix = _tableInstance$option.idPrefix,
1153
1156
  localization = _tableInstance$option.localization,
1154
1157
  muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1155
- onGlobalFilterChange = _tableInstance$option.onGlobalFilterChange;
1158
+ onGlobalSearchFilterChange = _tableInstance$option.onGlobalSearchFilterChange;
1156
1159
 
1157
1160
  var _getState = getState(),
1158
1161
  globalFilter = _getState.globalFilter,
1159
- showSearch = _getState.showSearch;
1162
+ showGlobalFilter = _getState.showGlobalFilter;
1160
1163
 
1161
1164
  var _useState = useState(null),
1162
1165
  anchorEl = _useState[0],
@@ -1170,7 +1173,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1170
1173
  var _event$target$value;
1171
1174
 
1172
1175
  setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
1173
- onGlobalFilterChange == null ? void 0 : onGlobalFilterChange({
1176
+ onGlobalSearchFilterChange == null ? void 0 : onGlobalSearchFilterChange({
1174
1177
  event: event,
1175
1178
  tableInstance: tableInstance
1176
1179
  });
@@ -1189,7 +1192,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1189
1192
  tableInstance: tableInstance
1190
1193
  }) : muiSearchTextFieldProps;
1191
1194
  return React.createElement(Collapse, {
1192
- "in": showSearch,
1195
+ "in": showGlobalFilter,
1193
1196
  orientation: "horizontal"
1194
1197
  }, React.createElement(TextField, Object.assign({
1195
1198
  id: "mrt-" + idPrefix + "-search-text-field",
@@ -1214,9 +1217,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1214
1217
  height: '1.75rem',
1215
1218
  width: '1.75rem'
1216
1219
  }
1217
- }, React.createElement(SearchIcon, {
1218
- fontSize: "small"
1219
- }))))),
1220
+ }, React.createElement(SearchIcon, null))))),
1220
1221
  endAdornment: React.createElement(InputAdornment, {
1221
1222
  position: "end"
1222
1223
  }, React.createElement(IconButton, {
@@ -1225,9 +1226,7 @@ var MRT_SearchTextField = function MRT_SearchTextField(_ref) {
1225
1226
  onClick: handleClear,
1226
1227
  size: "small",
1227
1228
  title: localization.clearSearch
1228
- }, React.createElement(CloseIcon, {
1229
- fontSize: "small"
1230
- })))
1229
+ }, React.createElement(CloseIcon, null)))
1231
1230
  }
1232
1231
  }, textFieldProps, {
1233
1232
  sx: _extends({
@@ -1251,20 +1250,27 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1251
1250
  FullscreenExitIcon = _tableInstance$option2.FullscreenExitIcon,
1252
1251
  FullscreenIcon = _tableInstance$option2.FullscreenIcon,
1253
1252
  localization = _tableInstance$option.localization,
1254
- setIsFullScreen = _tableInstance$option.setIsFullScreen;
1253
+ onToggleFullScreen = _tableInstance$option.onToggleFullScreen,
1254
+ setIsFullScreen = tableInstance.setIsFullScreen;
1255
1255
 
1256
1256
  var _getState = getState(),
1257
1257
  isFullScreen = _getState.isFullScreen;
1258
1258
 
1259
+ var handleToggleFullScreen = function handleToggleFullScreen(event) {
1260
+ onToggleFullScreen == null ? void 0 : onToggleFullScreen({
1261
+ event: event,
1262
+ isFullScreen: !isFullScreen,
1263
+ tableInstance: tableInstance
1264
+ });
1265
+ setIsFullScreen(!isFullScreen);
1266
+ };
1267
+
1259
1268
  return React.createElement(Tooltip, {
1260
1269
  arrow: true,
1261
1270
  title: localization.toggleFullScreen
1262
1271
  }, React.createElement(IconButton, Object.assign({
1263
1272
  "aria-label": localization.showHideFilters,
1264
- onClick: function onClick() {
1265
- return setIsFullScreen(!isFullScreen);
1266
- },
1267
- size: "small"
1273
+ onClick: handleToggleFullScreen
1268
1274
  }, rest), isFullScreen ? React.createElement(FullscreenExitIcon, null) : React.createElement(FullscreenIcon, null)));
1269
1275
  };
1270
1276
 
@@ -1290,8 +1296,7 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
1290
1296
  title: localization.showHideColumns
1291
1297
  }, React.createElement(IconButton, Object.assign({
1292
1298
  "aria-label": localization.showHideColumns,
1293
- onClick: handleClick,
1294
- size: "small"
1299
+ onClick: handleClick
1295
1300
  }, rest), React.createElement(ViewColumnIcon, null))), React.createElement(MRT_ShowHideColumnsMenu, {
1296
1301
  anchorEl: anchorEl,
1297
1302
  setAnchorEl: setAnchorEl,
@@ -1310,20 +1315,27 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
1310
1315
  DensityMediumIcon = _tableInstance$option2.DensityMediumIcon,
1311
1316
  DensitySmallIcon = _tableInstance$option2.DensitySmallIcon,
1312
1317
  localization = _tableInstance$option.localization,
1313
- setIsDensePadding = _tableInstance$option.setIsDensePadding;
1318
+ onToggleDensePadding = _tableInstance$option.onToggleDensePadding,
1319
+ setIsDensePadding = tableInstance.setIsDensePadding;
1314
1320
 
1315
1321
  var _getState = getState(),
1316
1322
  isDensePadding = _getState.isDensePadding;
1317
1323
 
1324
+ var handleToggleDensePadding = function handleToggleDensePadding(event) {
1325
+ onToggleDensePadding == null ? void 0 : onToggleDensePadding({
1326
+ event: event,
1327
+ isDensePadding: !isDensePadding,
1328
+ tableInstance: tableInstance
1329
+ });
1330
+ setIsDensePadding(!isDensePadding);
1331
+ };
1332
+
1318
1333
  return React.createElement(Tooltip, {
1319
1334
  arrow: true,
1320
1335
  title: localization.toggleDensePadding
1321
1336
  }, React.createElement(IconButton, Object.assign({
1322
1337
  "aria-label": localization.toggleDensePadding,
1323
- onClick: function onClick() {
1324
- return setIsDensePadding(!isDensePadding);
1325
- },
1326
- size: "small"
1338
+ onClick: handleToggleDensePadding
1327
1339
  }, rest), isDensePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
1328
1340
  };
1329
1341
 
@@ -1338,25 +1350,32 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1338
1350
  FilterListIcon = _tableInstance$option2.FilterListIcon,
1339
1351
  FilterListOffIcon = _tableInstance$option2.FilterListOffIcon,
1340
1352
  localization = _tableInstance$option.localization,
1341
- setShowFilters = _tableInstance$option.setShowFilters;
1353
+ onToggleShowFilters = _tableInstance$option.onToggleShowFilters,
1354
+ setShowFilters = tableInstance.setShowFilters;
1342
1355
 
1343
1356
  var _getState = getState(),
1344
1357
  showFilters = _getState.showFilters;
1345
1358
 
1359
+ var handleToggleShowFilters = function handleToggleShowFilters(event) {
1360
+ onToggleShowFilters == null ? void 0 : onToggleShowFilters({
1361
+ event: event,
1362
+ showFilters: !showFilters,
1363
+ tableInstance: tableInstance
1364
+ });
1365
+ setShowFilters(!showFilters);
1366
+ };
1367
+
1346
1368
  return React.createElement(Tooltip, {
1347
1369
  arrow: true,
1348
1370
  title: localization.showHideFilters
1349
1371
  }, React.createElement(IconButton, Object.assign({
1350
1372
  "aria-label": localization.showHideFilters,
1351
- onClick: function onClick() {
1352
- return setShowFilters(!showFilters);
1353
- },
1354
- size: "small"
1373
+ onClick: handleToggleShowFilters
1355
1374
  }, rest), showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterListIcon, null)));
1356
1375
  };
1357
1376
 
1358
1377
  var _excluded$4 = ["tableInstance"];
1359
- var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
1378
+ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1360
1379
  var tableInstance = _ref.tableInstance,
1361
1380
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
1362
1381
 
@@ -1368,17 +1387,23 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
1368
1387
  idPrefix = _tableInstance$option.idPrefix,
1369
1388
  localization = _tableInstance$option.localization,
1370
1389
  muiSearchTextFieldProps = _tableInstance$option.muiSearchTextFieldProps,
1371
- setShowSearch = _tableInstance$option.setShowSearch;
1390
+ onToggleShowGlobalFilter = _tableInstance$option.onToggleShowGlobalFilter,
1391
+ setShowGlobalFilter = tableInstance.setShowGlobalFilter;
1372
1392
 
1373
1393
  var _getState = getState(),
1374
- showSearch = _getState.showSearch;
1394
+ showGlobalFilter = _getState.showGlobalFilter;
1375
1395
 
1376
1396
  var textFieldProps = muiSearchTextFieldProps instanceof Function ? muiSearchTextFieldProps({
1377
1397
  tableInstance: tableInstance
1378
1398
  }) : muiSearchTextFieldProps;
1379
1399
 
1380
- var handleToggleSearch = function handleToggleSearch() {
1381
- setShowSearch(!showSearch);
1400
+ var handleToggleSearch = function handleToggleSearch(event) {
1401
+ onToggleShowGlobalFilter == null ? void 0 : onToggleShowGlobalFilter({
1402
+ event: event,
1403
+ showGlobalFilter: !showGlobalFilter,
1404
+ tableInstance: tableInstance
1405
+ });
1406
+ setShowGlobalFilter(!showGlobalFilter);
1382
1407
  setTimeout(function () {
1383
1408
  var _document$getElementB, _textFieldProps$id;
1384
1409
 
@@ -1390,19 +1415,19 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
1390
1415
  arrow: true,
1391
1416
  title: localization.showHideSearch
1392
1417
  }, React.createElement(IconButton, Object.assign({
1393
- size: "small",
1394
1418
  onClick: handleToggleSearch
1395
- }, rest), showSearch ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
1419
+ }, rest), showGlobalFilter ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
1396
1420
  };
1397
1421
 
1398
1422
  var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1399
1423
  var tableInstance = _ref.tableInstance;
1400
1424
  var _tableInstance$option = tableInstance.options,
1401
1425
  enableColumnFilters = _tableInstance$option.enableColumnFilters,
1402
- enableHiding = _tableInstance$option.enableHiding,
1403
1426
  enableDensePaddingToggle = _tableInstance$option.enableDensePaddingToggle,
1404
- enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1427
+ enableFilters = _tableInstance$option.enableFilters,
1405
1428
  enableFullScreenToggle = _tableInstance$option.enableFullScreenToggle,
1429
+ enableGlobalFilter = _tableInstance$option.enableGlobalFilter,
1430
+ enableHiding = _tableInstance$option.enableHiding,
1406
1431
  renderToolbarInternalActions = _tableInstance$option.renderToolbarInternalActions;
1407
1432
 
1408
1433
  if (renderToolbarInternalActions) {
@@ -1411,7 +1436,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1411
1436
  MRT_ShowHideColumnsButton: MRT_ShowHideColumnsButton,
1412
1437
  MRT_ToggleDensePaddingButton: MRT_ToggleDensePaddingButton,
1413
1438
  MRT_ToggleFiltersButton: MRT_ToggleFiltersButton,
1414
- MRT_ToggleSearchButton: MRT_ToggleSearchButton,
1439
+ MRT_ToggleGlobalFilterButton: MRT_ToggleGlobalFilterButton,
1415
1440
  tableInstance: tableInstance
1416
1441
  }));
1417
1442
  }
@@ -1419,13 +1444,11 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1419
1444
  return React.createElement(Box, {
1420
1445
  sx: {
1421
1446
  display: 'flex',
1422
- gap: '0.5rem',
1423
- alignItems: 'center',
1424
- p: '0 0.5rem'
1447
+ alignItems: 'center'
1425
1448
  }
1426
- }, enableGlobalFilter && React.createElement(MRT_ToggleSearchButton, {
1449
+ }, enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
1427
1450
  tableInstance: tableInstance
1428
- }), enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
1451
+ }), enableFilters && enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
1429
1452
  tableInstance: tableInstance
1430
1453
  }), enableHiding && React.createElement(MRT_ShowHideColumnsButton, {
1431
1454
  tableInstance: tableInstance
@@ -1707,7 +1730,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1707
1730
  idPrefix = _tableInstance$option.idPrefix,
1708
1731
  localization = _tableInstance$option.localization,
1709
1732
  muiTableHeadCellFilterTextFieldProps = _tableInstance$option.muiTableHeadCellFilterTextFieldProps,
1710
- setCurrentFilterTypes = _tableInstance$option.setCurrentFilterTypes;
1733
+ setCurrentFilterTypes = tableInstance.setCurrentFilterTypes;
1711
1734
  var column = header.column;
1712
1735
 
1713
1736
  var _getState = getState(),
@@ -1839,9 +1862,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1839
1862
  height: '1.75rem',
1840
1863
  width: '1.75rem'
1841
1864
  }
1842
- }, React.createElement(CloseIcon, {
1843
- fontSize: "small"
1844
- })))))
1865
+ }, React.createElement(CloseIcon, null)))))
1845
1866
  }
1846
1867
  }, textFieldProps, {
1847
1868
  sx: _extends({
@@ -1957,7 +1978,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
1957
1978
  FilterAltOff = _tableInstance$option2.FilterAltOff,
1958
1979
  localization = _tableInstance$option.localization,
1959
1980
  muiTableHeadCellProps = _tableInstance$option.muiTableHeadCellProps,
1960
- setShowFilters = _tableInstance$option.setShowFilters;
1981
+ setShowFilters = tableInstance.setShowFilters;
1961
1982
 
1962
1983
  var _getState = getState(),
1963
1984
  isDensePadding = _getState.isDensePadding,
@@ -1975,7 +1996,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
1975
1996
 
1976
1997
  var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
1977
1998
 
1978
- var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.clearSort : localization.sortByColumnDesc.replace('{column}', column.header) : localization.sortByColumnAsc.replace('{column}', column.header);
1999
+ var sortTooltip = !!column.getIsSorted() ? column.getIsSorted() === 'desc' ? localization.sortedByColumnDesc.replace('{column}', column.header) : localization.sortedByColumnAsc.replace('{column}', column.header) : localization.unsorted;
1979
2000
  var filterType = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterTypes) == null ? void 0 : _getState2$currentFil[header.id];
1980
2001
  var filterTooltip = !!column.getColumnFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterType instanceof Function ? '' : // @ts-ignore
1981
2002
  localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))]).replace('{filterValue}', column.getColumnFilterValue()).replace('" "', '') : localization.showHideFilters;
@@ -2010,16 +2031,18 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2010
2031
  justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
2011
2032
  width: '100%'
2012
2033
  }
2013
- }, React.createElement(Box, Object.assign({}, column.getToggleSortingProps(), {
2034
+ }, React.createElement(Box, {
2035
+ onClick: function onClick() {
2036
+ return column.toggleSorting();
2037
+ },
2014
2038
  sx: {
2015
2039
  alignItems: 'center',
2016
2040
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2017
2041
  display: 'flex',
2018
2042
  flexWrap: 'nowrap',
2019
2043
  whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal'
2020
- },
2021
- title: undefined
2022
- }), headerElement, column.columnDefType !== 'group' && column.getCanSort() && React.createElement(Tooltip, {
2044
+ }
2045
+ }, headerElement, column.columnDefType !== 'group' && column.getCanSort() && React.createElement(Tooltip, {
2023
2046
  arrow: true,
2024
2047
  placement: "top",
2025
2048
  title: sortTooltip
@@ -2048,11 +2071,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2048
2071
  opacity: 0.8
2049
2072
  }
2050
2073
  }
2051
- }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, {
2052
- fontSize: "small"
2053
- }) : React.createElement(FilterAltIcon, {
2054
- fontSize: "small"
2055
- })))), React.createElement(Box, {
2074
+ }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), React.createElement(Box, {
2056
2075
  sx: {
2057
2076
  alignItems: 'center',
2058
2077
  display: 'flex',
@@ -2148,7 +2167,7 @@ var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
2148
2167
  _tableInstance$option = tableInstance.options,
2149
2168
  enableEditing = _tableInstance$option.enableEditing,
2150
2169
  muiTableBodyCellEditTextFieldProps = _tableInstance$option.muiTableBodyCellEditTextFieldProps,
2151
- setCurrentEditingRow = _tableInstance$option.setCurrentEditingRow;
2170
+ setCurrentEditingRow = tableInstance.setCurrentEditingRow;
2152
2171
 
2153
2172
  var _useState = useState(cell.value),
2154
2173
  value = _useState[0],
@@ -2279,7 +2298,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2279
2298
  getState = tableInstance.getState,
2280
2299
  _tableInstance$option = tableInstance.options,
2281
2300
  enableClickToCopy = _tableInstance$option.enableClickToCopy,
2282
- enableColumnPinning = _tableInstance$option.enableColumnPinning,
2301
+ enablePinning = _tableInstance$option.enablePinning,
2283
2302
  enableEditing = _tableInstance$option.enableEditing,
2284
2303
  isLoading = _tableInstance$option.isLoading,
2285
2304
  muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
@@ -2319,7 +2338,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
2319
2338
  p: isDensePadding ? column.columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : column.columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
2320
2339
  pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
2321
2340
  transition: 'all 0.2s ease-in-out',
2322
- whiteSpace: isDensePadding || enableColumnPinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal'
2341
+ whiteSpace: isDensePadding || enablePinning && getIsSomeColumnsPinned() ? 'nowrap' : 'normal'
2323
2342
  }, tableCellProps == null ? void 0 : tableCellProps.sx)
2324
2343
  }), isLoading ? React.createElement(Skeleton, Object.assign({
2325
2344
  animation: "wave",
@@ -2607,7 +2626,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2607
2626
  getRightTableWidth = tableInstance.getRightTableWidth,
2608
2627
  getState = tableInstance.getState,
2609
2628
  _tableInstance$option = tableInstance.options,
2610
- enableColumnPinning = _tableInstance$option.enableColumnPinning,
2629
+ enablePinning = _tableInstance$option.enablePinning,
2611
2630
  enableStickyHeader = _tableInstance$option.enableStickyHeader,
2612
2631
  idPrefix = _tableInstance$option.idPrefix,
2613
2632
  muiTableContainerProps = _tableInstance$option.muiTableContainerProps;
@@ -2623,7 +2642,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2623
2642
  var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps({
2624
2643
  tableInstance: tableInstance
2625
2644
  }) : muiTableContainerProps;
2626
- useLayoutEffect(function () {
2645
+ useEffect(function () {
2627
2646
  var _document$getElementB, _document, _document$getElementB2, _document$getElementB3, _document2, _document2$getElement;
2628
2647
 
2629
2648
  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;
@@ -2639,7 +2658,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref2) {
2639
2658
  style: {
2640
2659
  maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
2641
2660
  }
2642
- }), enableColumnPinning && getIsSomeColumnsPinned() ? React.createElement(Box, {
2661
+ }), enablePinning && getIsSomeColumnsPinned() ? React.createElement(Box, {
2643
2662
  sx: {
2644
2663
  display: 'grid',
2645
2664
  gridTemplateColumns: getLeftTableWidth() + "fr " + getCenterTableWidth() + "fr " + getRightTableWidth() + "fr"
@@ -2810,9 +2829,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2810
2829
  showFilters = _useState4[0],
2811
2830
  setShowFilters = _useState4[1];
2812
2831
 
2813
- var _useState5 = useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearch) != null ? _props$initialState$s2 : false),
2814
- showSearch = _useState5[0],
2815
- setShowSearch = _useState5[1];
2832
+ var _useState5 = useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showGlobalFilter) != null ? _props$initialState$s2 : false),
2833
+ showGlobalFilter = _useState5[0],
2834
+ setShowGlobalFilter = _useState5[1];
2816
2835
 
2817
2836
  var _useState6 = useState({
2818
2837
  pageIndex: (_props$initialState$p = (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.pagination) == null ? void 0 : _props$initialState5$.pageIndex) != null ? _props$initialState$p : 0,
@@ -2826,7 +2845,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2826
2845
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
2827
2846
  var _ref, _c$filter, _props$initialState8, _props$initialState8$, _c$filterSelectOption, _ref2;
2828
2847
 
2829
- return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState8 = props.initialState) == null ? void 0 : (_props$initialState8$ = _props$initialState8.columnFilters) == null ? void 0 : _props$initialState8$[c.id]) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_TYPE.EQUALS : MRT_FILTER_TYPE.BEST_MATCH, _ref2;
2848
+ return _ref2 = {}, _ref2[c.id] = (_ref = (_c$filter = c.filter) != null ? _c$filter : props == null ? void 0 : (_props$initialState8 = props.initialState) == null ? void 0 : (_props$initialState8$ = _props$initialState8.columnFilters) == null ? void 0 : _props$initialState8$.find(function (cf) {
2849
+ return cf.id === c.id;
2850
+ })) != null ? _ref : !!((_c$filterSelectOption = c.filterSelectOptions) != null && _c$filterSelectOption.length) ? MRT_FILTER_TYPE.EQUALS : MRT_FILTER_TYPE.BEST_MATCH, _ref2;
2830
2851
  })));
2831
2852
  }),
2832
2853
  currentFilterTypes = _useState7[0],
@@ -2905,14 +2926,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2905
2926
  width: 40,
2906
2927
  minWidth: 40
2907
2928
  })].filter(Boolean);
2908
- }, [table, props.enableExpandAll, props.enableExpanded, props.enableRowActions, props.enableGrouping, props.enableEditing, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization]);
2929
+ }, [props.enableEditing, props.enableExpandAll, props.enableExpanded, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, table]);
2909
2930
  var columns = useMemo(function () {
2910
2931
  return table.createColumns([].concat(displayColumns, props.columns.map(function (column) {
2911
2932
  return column.columns ? createGroup(table, column, currentFilterTypes) : createDataColumn(table, column, currentFilterTypes);
2912
2933
  })));
2913
2934
  }, [table, props.columns, currentFilterTypes]);
2914
2935
  var data = useMemo(function () {
2915
- return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function (_) {
2936
+ return props.isLoading && !props.data.length ? [].concat(Array(10).fill(null)).map(function () {
2916
2937
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
2917
2938
  var _ref7;
2918
2939
 
@@ -2921,20 +2942,22 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2921
2942
  }) : props.data;
2922
2943
  }, [props.data, props.isLoading]); //@ts-ignore
2923
2944
 
2924
- var tableInstance = useTable(table, _extends({}, props, {
2925
- columnFilterRowsFn: columnFilterRowsFn,
2945
+ var tableInstance = _extends({}, useTableInstance(table, _extends({}, props, {
2926
2946
  columns: columns,
2927
2947
  data: data,
2928
- debugAll: false,
2929
- expandRowsFn: expandRowsFn,
2930
2948
  //@ts-ignore
2931
2949
  filterTypes: defaultFilterFNs,
2950
+ getColumnFilteredRowModel: getColumnFilteredRowModelSync(),
2951
+ getCoreRowModel: getCoreRowModelSync(),
2952
+ getExpandedRowModel: getExpandedRowModel(),
2953
+ getGlobalFilteredRowModel: getGlobalFilteredRowModelSync(),
2954
+ getGroupedRowModel: getGroupedRowModelSync(),
2955
+ getPaginationRowModel: getPaginationRowModel(),
2956
+ getSortedRowModel: getSortedRowModelSync(),
2932
2957
  getSubRows: (_props$getSubRows = props.getSubRows) != null ? _props$getSubRows : function (originalRow) {
2933
2958
  return originalRow.subRows;
2934
2959
  },
2935
- globalFilterRowsFn: globalFilterRowsFn,
2936
2960
  globalFilterType: currentGlobalFilterType,
2937
- groupRowsFn: groupRowsFn,
2938
2961
  idPrefix: idPrefix,
2939
2962
  //@ts-ignore
2940
2963
  initialState: props.initialState,
@@ -2943,15 +2966,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2943
2966
  return functionalUpdate(updater, old);
2944
2967
  });
2945
2968
  },
2946
- paginateRowsFn: paginateRowsFn,
2947
- setCurrentEditingRow: setCurrentEditingRow,
2948
- setCurrentFilterTypes: setCurrentFilterTypes,
2949
- setCurrentGlobalFilterType: setCurrentGlobalFilterType,
2950
- setIsDensePadding: setIsDensePadding,
2951
- setIsFullScreen: setIsFullScreen,
2952
- setShowFilters: setShowFilters,
2953
- setShowSearch: setShowSearch,
2954
- sortRowsFn: sortRowsFn,
2955
2969
  state: _extends({
2956
2970
  currentEditingRow: currentEditingRow,
2957
2971
  currentFilterTypes: currentFilterTypes,
@@ -2961,23 +2975,28 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2961
2975
  //@ts-ignore
2962
2976
  pagination: pagination,
2963
2977
  showFilters: showFilters,
2964
- showSearch: showSearch
2978
+ showGlobalFilter: showGlobalFilter
2965
2979
  }, props.state)
2966
- }));
2980
+ })), {
2981
+ setCurrentEditingRow: setCurrentEditingRow,
2982
+ setCurrentFilterTypes: setCurrentFilterTypes,
2983
+ setCurrentGlobalFilterType: setCurrentGlobalFilterType,
2984
+ setIsDensePadding: setIsDensePadding,
2985
+ setIsFullScreen: setIsFullScreen,
2986
+ setShowFilters: setShowFilters,
2987
+ setShowGlobalFilter: setShowGlobalFilter
2988
+ });
2989
+
2967
2990
  return React.createElement(MRT_TablePaper, {
2968
2991
  tableInstance: tableInstance
2969
2992
  });
2970
2993
  };
2971
2994
 
2972
- var _excluded$5 = ["enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2973
-
2974
- global.performance = global.performance || {
2975
- now: function now() {
2976
- return new Date().getTime();
2977
- }
2978
- };
2995
+ var _excluded$5 = ["autoResetExpanded", "enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
2979
2996
  var MaterialReactTable = (function (_ref) {
2980
- var _ref$enableColumnActi = _ref.enableColumnActions,
2997
+ var _ref$autoResetExpande = _ref.autoResetExpanded,
2998
+ autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
2999
+ _ref$enableColumnActi = _ref.enableColumnActions,
2981
3000
  enableColumnActions = _ref$enableColumnActi === void 0 ? true : _ref$enableColumnActi,
2982
3001
  _ref$enableColumnFilt = _ref.enableColumnFilters,
2983
3002
  enableColumnFilters = _ref$enableColumnFilt === void 0 ? true : _ref$enableColumnFilt,
@@ -2985,12 +3004,16 @@ var MaterialReactTable = (function (_ref) {
2985
3004
  enableDensePaddingToggle = _ref$enableDensePaddi === void 0 ? true : _ref$enableDensePaddi,
2986
3005
  _ref$enableExpandAll = _ref.enableExpandAll,
2987
3006
  enableExpandAll = _ref$enableExpandAll === void 0 ? true : _ref$enableExpandAll,
3007
+ _ref$enableFilters = _ref.enableFilters,
3008
+ enableFilters = _ref$enableFilters === void 0 ? true : _ref$enableFilters,
2988
3009
  _ref$enableFullScreen = _ref.enableFullScreenToggle,
2989
3010
  enableFullScreenToggle = _ref$enableFullScreen === void 0 ? true : _ref$enableFullScreen,
2990
3011
  _ref$enableGlobalFilt = _ref.enableGlobalFilter,
2991
3012
  enableGlobalFilter = _ref$enableGlobalFilt === void 0 ? true : _ref$enableGlobalFilt,
2992
3013
  _ref$enableHiding = _ref.enableHiding,
2993
3014
  enableHiding = _ref$enableHiding === void 0 ? true : _ref$enableHiding,
3015
+ _ref$enableMultiRowSe = _ref.enableMultiRowSelection,
3016
+ enableMultiRowSelection = _ref$enableMultiRowSe === void 0 ? true : _ref$enableMultiRowSe,
2994
3017
  _ref$enablePagination = _ref.enablePagination,
2995
3018
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
2996
3019
  _ref$enableSelectAll = _ref.enableSelectAll,
@@ -3012,13 +3035,16 @@ var MaterialReactTable = (function (_ref) {
3012
3035
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
3013
3036
 
3014
3037
  return React.createElement(MRT_TableRoot, Object.assign({
3038
+ autoResetExpanded: autoResetExpanded,
3015
3039
  enableColumnActions: enableColumnActions,
3016
3040
  enableColumnFilters: enableColumnFilters,
3017
3041
  enableDensePaddingToggle: enableDensePaddingToggle,
3018
3042
  enableExpandAll: enableExpandAll,
3043
+ enableFilters: enableFilters,
3019
3044
  enableFullScreenToggle: enableFullScreenToggle,
3020
3045
  enableGlobalFilter: enableGlobalFilter,
3021
3046
  enableHiding: enableHiding,
3047
+ enableMultiRowSelection: enableMultiRowSelection,
3022
3048
  enablePagination: enablePagination,
3023
3049
  enableSelectAll: enableSelectAll,
3024
3050
  enableSorting: enableSorting,