material-react-table 0.7.0-alpha.12 → 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.
@@ -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 = {
@@ -1152,7 +1155,7 @@ 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,
@@ -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
  });
@@ -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({
@@ -1271,8 +1270,7 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
1271
1270
  title: localization.toggleFullScreen
1272
1271
  }, React.createElement(IconButton, Object.assign({
1273
1272
  "aria-label": localization.showHideFilters,
1274
- onClick: handleToggleFullScreen,
1275
- size: "small"
1273
+ onClick: handleToggleFullScreen
1276
1274
  }, rest), isFullScreen ? React.createElement(FullscreenExitIcon, null) : React.createElement(FullscreenIcon, null)));
1277
1275
  };
1278
1276
 
@@ -1298,8 +1296,7 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
1298
1296
  title: localization.showHideColumns
1299
1297
  }, React.createElement(IconButton, Object.assign({
1300
1298
  "aria-label": localization.showHideColumns,
1301
- onClick: handleClick,
1302
- size: "small"
1299
+ onClick: handleClick
1303
1300
  }, rest), React.createElement(ViewColumnIcon, null))), React.createElement(MRT_ShowHideColumnsMenu, {
1304
1301
  anchorEl: anchorEl,
1305
1302
  setAnchorEl: setAnchorEl,
@@ -1338,8 +1335,7 @@ var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
1338
1335
  title: localization.toggleDensePadding
1339
1336
  }, React.createElement(IconButton, Object.assign({
1340
1337
  "aria-label": localization.toggleDensePadding,
1341
- onClick: handleToggleDensePadding,
1342
- size: "small"
1338
+ onClick: handleToggleDensePadding
1343
1339
  }, rest), isDensePadding ? React.createElement(DensitySmallIcon, null) : React.createElement(DensityMediumIcon, null)));
1344
1340
  };
1345
1341
 
@@ -1374,8 +1370,7 @@ var MRT_ToggleFiltersButton = function MRT_ToggleFiltersButton(_ref) {
1374
1370
  title: localization.showHideFilters
1375
1371
  }, React.createElement(IconButton, Object.assign({
1376
1372
  "aria-label": localization.showHideFilters,
1377
- onClick: handleToggleShowFilters,
1378
- size: "small"
1373
+ onClick: handleToggleShowFilters
1379
1374
  }, rest), showFilters ? React.createElement(FilterListOffIcon, null) : React.createElement(FilterListIcon, null)));
1380
1375
  };
1381
1376
 
@@ -1420,7 +1415,6 @@ var MRT_ToggleGlobalFilterButton = function MRT_ToggleGlobalFilterButton(_ref) {
1420
1415
  arrow: true,
1421
1416
  title: localization.showHideSearch
1422
1417
  }, React.createElement(IconButton, Object.assign({
1423
- size: "small",
1424
1418
  onClick: handleToggleSearch
1425
1419
  }, rest), showGlobalFilter ? React.createElement(SearchOffIcon, null) : React.createElement(SearchIcon, null)));
1426
1420
  };
@@ -1450,9 +1444,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1450
1444
  return React.createElement(Box, {
1451
1445
  sx: {
1452
1446
  display: 'flex',
1453
- gap: '0.5rem',
1454
- alignItems: 'center',
1455
- p: '0 0.5rem'
1447
+ alignItems: 'center'
1456
1448
  }
1457
1449
  }, enableFilters && enableGlobalFilter && React.createElement(MRT_ToggleGlobalFilterButton, {
1458
1450
  tableInstance: tableInstance
@@ -1870,9 +1862,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
1870
1862
  height: '1.75rem',
1871
1863
  width: '1.75rem'
1872
1864
  }
1873
- }, React.createElement(CloseIcon, {
1874
- fontSize: "small"
1875
- })))))
1865
+ }, React.createElement(CloseIcon, null)))))
1876
1866
  }
1877
1867
  }, textFieldProps, {
1878
1868
  sx: _extends({
@@ -2006,7 +1996,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2006
1996
 
2007
1997
  var tableCellProps = _extends({}, header.getHeaderProps(), mTableHeadCellProps, mcTableHeadCellProps);
2008
1998
 
2009
- 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;
2010
2000
  var filterType = (_getState2 = getState()) == null ? void 0 : (_getState2$currentFil = _getState2.currentFilterTypes) == null ? void 0 : _getState2$currentFil[header.id];
2011
2001
  var filterTooltip = !!column.getColumnFilterValue() ? localization.filteringByColumn.replace('{column}', String(column.header)).replace('{filterType}', filterType instanceof Function ? '' : // @ts-ignore
2012
2002
  localization["filter" + (filterType.charAt(0).toUpperCase() + filterType.slice(1))]).replace('{filterValue}', column.getColumnFilterValue()).replace('" "', '') : localization.showHideFilters;
@@ -2041,16 +2031,18 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2041
2031
  justifyContent: column.columnDefType === 'group' ? 'center' : 'space-between',
2042
2032
  width: '100%'
2043
2033
  }
2044
- }, React.createElement(Box, Object.assign({}, column.getToggleSortingProps(), {
2034
+ }, React.createElement(Box, {
2035
+ onClick: function onClick() {
2036
+ return column.toggleSorting();
2037
+ },
2045
2038
  sx: {
2046
2039
  alignItems: 'center',
2047
2040
  cursor: column.getCanSort() && column.columnDefType !== 'group' ? 'pointer' : undefined,
2048
2041
  display: 'flex',
2049
2042
  flexWrap: 'nowrap',
2050
2043
  whiteSpace: column.header.length < 15 ? 'nowrap' : 'normal'
2051
- },
2052
- title: undefined
2053
- }), headerElement, column.columnDefType !== 'group' && column.getCanSort() && React.createElement(Tooltip, {
2044
+ }
2045
+ }, headerElement, column.columnDefType !== 'group' && column.getCanSort() && React.createElement(Tooltip, {
2054
2046
  arrow: true,
2055
2047
  placement: "top",
2056
2048
  title: sortTooltip
@@ -2079,11 +2071,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
2079
2071
  opacity: 0.8
2080
2072
  }
2081
2073
  }
2082
- }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, {
2083
- fontSize: "small"
2084
- }) : React.createElement(FilterAltIcon, {
2085
- fontSize: "small"
2086
- })))), React.createElement(Box, {
2074
+ }, showFilters && !column.getColumnFilterValue() ? React.createElement(FilterAltOff, null) : React.createElement(FilterAltIcon, null)))), React.createElement(Box, {
2087
2075
  sx: {
2088
2076
  alignItems: 'center',
2089
2077
  display: 'flex',
@@ -2857,7 +2845,9 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2857
2845
  return Object.assign.apply(Object, [{}].concat(getAllLeafColumnDefs(props.columns).map(function (c) {
2858
2846
  var _ref, _c$filter, _props$initialState8, _props$initialState8$, _c$filterSelectOption, _ref2;
2859
2847
 
2860
- 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;
2861
2851
  })));
2862
2852
  }),
2863
2853
  currentFilterTypes = _useState7[0],
@@ -2952,19 +2942,22 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2952
2942
  }) : props.data;
2953
2943
  }, [props.data, props.isLoading]); //@ts-ignore
2954
2944
 
2955
- var tableInstance = _extends({}, useTable(table, _extends({}, props, {
2956
- columnFilterRowsFn: columnFilterRowsFn,
2945
+ var tableInstance = _extends({}, useTableInstance(table, _extends({}, props, {
2957
2946
  columns: columns,
2958
2947
  data: data,
2959
- expandRowsFn: expandRowsFn,
2960
2948
  //@ts-ignore
2961
2949
  filterTypes: defaultFilterFNs,
2950
+ getColumnFilteredRowModel: getColumnFilteredRowModelSync(),
2951
+ getCoreRowModel: getCoreRowModelSync(),
2952
+ getExpandedRowModel: getExpandedRowModel(),
2953
+ getGlobalFilteredRowModel: getGlobalFilteredRowModelSync(),
2954
+ getGroupedRowModel: getGroupedRowModelSync(),
2955
+ getPaginationRowModel: getPaginationRowModel(),
2956
+ getSortedRowModel: getSortedRowModelSync(),
2962
2957
  getSubRows: (_props$getSubRows = props.getSubRows) != null ? _props$getSubRows : function (originalRow) {
2963
2958
  return originalRow.subRows;
2964
2959
  },
2965
- globalFilterRowsFn: globalFilterRowsFn,
2966
2960
  globalFilterType: currentGlobalFilterType,
2967
- groupRowsFn: groupRowsFn,
2968
2961
  idPrefix: idPrefix,
2969
2962
  //@ts-ignore
2970
2963
  initialState: props.initialState,
@@ -2973,8 +2966,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
2973
2966
  return functionalUpdate(updater, old);
2974
2967
  });
2975
2968
  },
2976
- paginateRowsFn: paginateRowsFn,
2977
- sortRowsFn: sortRowsFn,
2978
2969
  state: _extends({
2979
2970
  currentEditingRow: currentEditingRow,
2980
2971
  currentFilterTypes: currentFilterTypes,
@@ -3002,12 +2993,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3002
2993
  };
3003
2994
 
3004
2995
  var _excluded$5 = ["autoResetExpanded", "enableColumnActions", "enableColumnFilters", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableHiding", "enableMultiRowSelection", "enablePagination", "enableSelectAll", "enableSorting", "enableStickyHeader", "icons", "localization", "positionActionsColumn", "positionPagination", "positionToolbarActions", "positionToolbarAlertBanner"];
3005
-
3006
- global.performance = global.performance || {
3007
- now: function now() {
3008
- return new Date().getTime();
3009
- }
3010
- };
3011
2996
  var MaterialReactTable = (function (_ref) {
3012
2997
  var _ref$autoResetExpande = _ref.autoResetExpanded,
3013
2998
  autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,