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.
- package/dist/MaterialReactTable.d.ts +1 -1
- package/dist/localization.d.ts +3 -0
- package/dist/material-react-table.cjs.development.js +33 -48
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +34 -49
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/MaterialReactTable.tsx +1 -6
- package/src/buttons/MRT_FullScreenToggleButton.tsx +0 -1
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +0 -1
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +0 -1
- package/src/buttons/MRT_ToggleFiltersButton.tsx +0 -1
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +1 -1
- package/src/head/MRT_TableHeadCell.tsx +6 -7
- package/src/inputs/MRT_FilterTextField.tsx +1 -1
- package/src/inputs/MRT_SearchTextField.tsx +4 -4
- package/src/localization.ts +6 -0
- package/src/table/MRT_TableRoot.tsx +25 -22
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +0 -2
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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
|
|
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({},
|
|
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,
|