material-react-table 0.5.5 → 0.5.6
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 +3 -1
- package/dist/material-react-table.cjs.development.js +34 -22
- 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 +35 -23
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +4 -4
- package/src/MaterialReactTable.tsx +8 -0
- package/src/body/MRT_TableBodyCell.tsx +12 -3
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +33 -32
- package/src/inputs/MRT_FilterTextField.tsx +1 -1
- package/src/menus/MRT_ColumnActionMenu.tsx +109 -112
- package/src/menus/MRT_FilterTypeMenu.tsx +16 -14
- package/src/menus/MRT_RowActionMenu.tsx +16 -20
- package/src/table/MRT_TableContainer.tsx +7 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useMemo, useContext, createContext, Fragment, useRef, useEffect } from 'react';
|
|
2
2
|
import { useTable, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useResizeColumns, useFlexLayout, useAsyncDebounce } from 'react-table';
|
|
3
3
|
import { matchSorter } from 'match-sorter';
|
|
4
|
-
import { Menu,
|
|
4
|
+
import { Menu, MenuItem, TextField, InputAdornment, Tooltip, IconButton, Chip, ListItemIcon, ListItemText, TableCell, Box, TableSortLabel, Divider, Collapse, Skeleton, Checkbox, TableRow, TableHead, alpha, TableBody, TableFooter, Table, FormControlLabel, Switch, Button, TablePagination, useMediaQuery, Alert, Toolbar, TableContainer, Paper, LinearProgress } from '@mui/material';
|
|
5
5
|
import ArrowRightIcon from '@mui/icons-material/ArrowRight';
|
|
6
6
|
import CancelIcon from '@mui/icons-material/Cancel';
|
|
7
7
|
import ClearAllIcon from '@mui/icons-material/ClearAll';
|
|
@@ -370,10 +370,11 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
370
370
|
onClose: function onClose() {
|
|
371
371
|
return setAnchorEl(null);
|
|
372
372
|
},
|
|
373
|
-
open: !!anchorEl
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
373
|
+
open: !!anchorEl,
|
|
374
|
+
MenuListProps: {
|
|
375
|
+
dense: tableInstance.state.densePadding,
|
|
376
|
+
disablePadding: true
|
|
377
|
+
}
|
|
377
378
|
}, filterTypes.map(function (_ref2) {
|
|
378
379
|
var type = _ref2.type,
|
|
379
380
|
label = _ref2.label,
|
|
@@ -387,7 +388,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
387
388
|
selected: type === filterType,
|
|
388
389
|
value: type
|
|
389
390
|
}, label);
|
|
390
|
-
}))
|
|
391
|
+
}));
|
|
391
392
|
};
|
|
392
393
|
|
|
393
394
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
@@ -459,7 +460,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
459
460
|
disabled: !!filterChipLabel,
|
|
460
461
|
sx: {
|
|
461
462
|
textOverflow: 'ellipsis',
|
|
462
|
-
width: filterChipLabel ? 0 :
|
|
463
|
+
width: filterChipLabel ? 0 : undefined
|
|
463
464
|
},
|
|
464
465
|
title: filterPlaceholder
|
|
465
466
|
},
|
|
@@ -601,10 +602,11 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
601
602
|
open: !!anchorEl,
|
|
602
603
|
onClose: function onClose() {
|
|
603
604
|
return setAnchorEl(null);
|
|
605
|
+
},
|
|
606
|
+
MenuListProps: {
|
|
607
|
+
dense: tableInstance.state.densePadding,
|
|
608
|
+
disablePadding: true
|
|
604
609
|
}
|
|
605
|
-
}, React.createElement(MenuList, {
|
|
606
|
-
dense: tableInstance.state.densePadding,
|
|
607
|
-
disablePadding: true
|
|
608
610
|
}, !disableSortBy && column.canSort && [React.createElement(MenuItem, {
|
|
609
611
|
key: 1,
|
|
610
612
|
disabled: !column.isSorted,
|
|
@@ -652,7 +654,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
652
654
|
key: 1,
|
|
653
655
|
onClick: handleHideColumn,
|
|
654
656
|
sx: commonMenuItemStyles
|
|
655
|
-
}, React.createElement(ListItemIcon, null, React.createElement(VisibilityOffIcon, null)), React.createElement(ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))])
|
|
657
|
+
}, React.createElement(ListItemIcon, null, React.createElement(VisibilityOffIcon, null)), React.createElement(ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
|
|
656
658
|
};
|
|
657
659
|
|
|
658
660
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
@@ -875,8 +877,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
875
877
|
var cell = _ref.cell;
|
|
876
878
|
|
|
877
879
|
var _useMRT = useMRT(),
|
|
878
|
-
|
|
880
|
+
isLoading = _useMRT.isLoading,
|
|
879
881
|
muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
|
|
882
|
+
muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
|
|
883
|
+
onCellClick = _useMRT.onCellClick,
|
|
880
884
|
_useMRT$tableInstance = _useMRT.tableInstance.state,
|
|
881
885
|
currentEditingRow = _useMRT$tableInstance.currentEditingRow,
|
|
882
886
|
densePadding = _useMRT$tableInstance.densePadding;
|
|
@@ -894,7 +898,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
894
898
|
}
|
|
895
899
|
}, tableCellProps, {
|
|
896
900
|
sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
897
|
-
}),
|
|
901
|
+
}), isLoading ? React.createElement(Skeleton, Object.assign({
|
|
902
|
+
animation: "wave",
|
|
903
|
+
height: 20,
|
|
904
|
+
width: Math.random() * (120 - 60) + 60
|
|
905
|
+
}, muiTableBodyCellSkeletonProps)) : (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React.createElement(MRT_EditCellTextField, {
|
|
898
906
|
cell: cell
|
|
899
907
|
}) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
|
|
900
908
|
};
|
|
@@ -1131,15 +1139,16 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
1131
1139
|
open: !!anchorEl,
|
|
1132
1140
|
onClose: function onClose() {
|
|
1133
1141
|
return setAnchorEl(null);
|
|
1142
|
+
},
|
|
1143
|
+
MenuListProps: {
|
|
1144
|
+
dense: tableInstance.state.densePadding,
|
|
1145
|
+
disablePadding: true
|
|
1134
1146
|
}
|
|
1135
|
-
}, React.createElement(MenuList, {
|
|
1136
|
-
dense: tableInstance.state.densePadding,
|
|
1137
|
-
disablePadding: true
|
|
1138
1147
|
}, enableRowEditing && React.createElement(MenuItem, {
|
|
1139
1148
|
onClick: handleEdit
|
|
1140
1149
|
}, React.createElement(ListItemIcon, null, React.createElement(EditIcon, null)), React.createElement(ListItemText, null, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
1141
1150
|
return setAnchorEl(null);
|
|
1142
|
-
})) != null ? _renderRowActionMenuI : null)
|
|
1151
|
+
})) != null ? _renderRowActionMenuI : null);
|
|
1143
1152
|
};
|
|
1144
1153
|
|
|
1145
1154
|
function createCommonjsModule(fn, module) {
|
|
@@ -2367,15 +2376,16 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2367
2376
|
open: !!anchorEl,
|
|
2368
2377
|
onClose: function onClose() {
|
|
2369
2378
|
return setAnchorEl(null);
|
|
2379
|
+
},
|
|
2380
|
+
MenuListProps: {
|
|
2381
|
+
dense: tableInstance.state.densePadding,
|
|
2382
|
+
disablePadding: true
|
|
2370
2383
|
}
|
|
2371
|
-
}, React.createElement(MenuList, {
|
|
2372
|
-
dense: tableInstance.state.densePadding,
|
|
2373
|
-
disablePadding: true
|
|
2374
2384
|
}, React.createElement(Box, {
|
|
2375
2385
|
sx: {
|
|
2376
2386
|
display: 'flex',
|
|
2377
2387
|
justifyContent: 'space-between',
|
|
2378
|
-
p: '0
|
|
2388
|
+
p: '0.5rem'
|
|
2379
2389
|
}
|
|
2380
2390
|
}, React.createElement(Button, {
|
|
2381
2391
|
disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
|
|
@@ -2392,7 +2402,7 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2392
2402
|
key: index + "-" + column.id,
|
|
2393
2403
|
column: column
|
|
2394
2404
|
});
|
|
2395
|
-
})))
|
|
2405
|
+
})));
|
|
2396
2406
|
};
|
|
2397
2407
|
|
|
2398
2408
|
var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
|
|
@@ -2677,6 +2687,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2677
2687
|
hideToolbarTop = _useMRT.hideToolbarTop,
|
|
2678
2688
|
isFetching = _useMRT.isFetching,
|
|
2679
2689
|
isLoading = _useMRT.isLoading,
|
|
2690
|
+
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2680
2691
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2681
2692
|
tableInstance = _useMRT.tableInstance;
|
|
2682
2693
|
|
|
@@ -2701,6 +2712,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2701
2712
|
}
|
|
2702
2713
|
}, [fullScreen]);
|
|
2703
2714
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2715
|
+
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2704
2716
|
return React.createElement(TableContainer, Object.assign({
|
|
2705
2717
|
component: Paper
|
|
2706
2718
|
}, tableContainerProps, {
|
|
@@ -2719,7 +2731,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2719
2731
|
}), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), React.createElement(Collapse, {
|
|
2720
2732
|
"in": isFetching || isLoading,
|
|
2721
2733
|
unmountOnExit: true
|
|
2722
|
-
}, React.createElement(LinearProgress,
|
|
2734
|
+
}, React.createElement(LinearProgress, Object.assign({}, linearProgressProps))), React.createElement(Box, {
|
|
2723
2735
|
sx: {
|
|
2724
2736
|
maxWidth: '100%',
|
|
2725
2737
|
overflowX: 'auto'
|