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,5 +1,5 @@
|
|
|
1
1
|
import { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';
|
|
2
|
-
import { AlertProps, IconButtonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
2
|
+
import { AlertProps, IconButtonProps, LinearProgressProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
3
|
import { Cell, Column, ColumnInstance, HeaderGroup, Row, TableInstance, TableOptions, TableState, UseColumnOrderInstanceProps, UseColumnOrderState, UseExpandedInstanceProps, UseExpandedOptions, UseExpandedRowProps, UseExpandedState, UseFiltersColumnOptions, UseFiltersColumnProps, UseFiltersInstanceProps, UseFiltersOptions, UseFiltersState, UseGlobalFiltersColumnOptions, UseGlobalFiltersInstanceProps, UseGlobalFiltersOptions, UseGlobalFiltersState, UseGroupByCellProps, UseGroupByColumnOptions, UseGroupByColumnProps, UseGroupByInstanceProps, UseGroupByOptions, UseGroupByRowProps, UseGroupByState, UsePaginationInstanceProps, UsePaginationOptions, UsePaginationState, UseResizeColumnsColumnOptions, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectOptions, UseRowSelectRowProps, UseRowSelectState, UseRowStateCellProps, UseRowStateInstanceProps, UseRowStateOptions, UseRowStateRowProps, UseRowStateState, UseSortByColumnOptions, UseSortByColumnProps, UseSortByInstanceProps, UseSortByOptions, UseSortByState, UseTableHeaderGroupProps, UseTableInstanceProps, UseTableOptions } from 'react-table';
|
|
4
4
|
import { MRT_Localization } from './localization';
|
|
5
5
|
import { MRT_Icons } from './icons';
|
|
@@ -83,9 +83,11 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
|
|
|
83
83
|
isFetching?: boolean;
|
|
84
84
|
isLoading?: boolean;
|
|
85
85
|
localization?: Partial<MRT_Localization>;
|
|
86
|
+
muiLinearProgressProps?: LinearProgressProps | ((tableInstance: MRT_TableInstance) => LinearProgressProps);
|
|
86
87
|
muiSearchTextFieldProps?: TextFieldProps;
|
|
87
88
|
muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell?: MRT_Cell<D>) => TextFieldProps);
|
|
88
89
|
muiTableBodyCellProps?: TableCellProps | ((cell?: MRT_Cell<D>) => TableCellProps);
|
|
90
|
+
muiTableBodyCellSkeletonProps?: SkeletonProps | ((cell?: MRT_Cell<D>) => SkeletonProps);
|
|
89
91
|
muiTableBodyProps?: TableBodyProps | ((tableInstance: MRT_TableInstance<D>) => TableBodyProps);
|
|
90
92
|
muiTableBodyRowProps?: TableRowProps | ((row: Row<D>) => TableRowProps);
|
|
91
93
|
muiTableContainerProps?: TableContainerProps | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);
|
|
@@ -377,10 +377,11 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
377
377
|
onClose: function onClose() {
|
|
378
378
|
return setAnchorEl(null);
|
|
379
379
|
},
|
|
380
|
-
open: !!anchorEl
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
380
|
+
open: !!anchorEl,
|
|
381
|
+
MenuListProps: {
|
|
382
|
+
dense: tableInstance.state.densePadding,
|
|
383
|
+
disablePadding: true
|
|
384
|
+
}
|
|
384
385
|
}, filterTypes.map(function (_ref2) {
|
|
385
386
|
var type = _ref2.type,
|
|
386
387
|
label = _ref2.label,
|
|
@@ -394,7 +395,7 @@ var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
|
394
395
|
selected: type === filterType,
|
|
395
396
|
value: type
|
|
396
397
|
}, label);
|
|
397
|
-
}))
|
|
398
|
+
}));
|
|
398
399
|
};
|
|
399
400
|
|
|
400
401
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
@@ -466,7 +467,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
466
467
|
disabled: !!filterChipLabel,
|
|
467
468
|
sx: {
|
|
468
469
|
textOverflow: 'ellipsis',
|
|
469
|
-
width: filterChipLabel ? 0 :
|
|
470
|
+
width: filterChipLabel ? 0 : undefined
|
|
470
471
|
},
|
|
471
472
|
title: filterPlaceholder
|
|
472
473
|
},
|
|
@@ -608,10 +609,11 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
608
609
|
open: !!anchorEl,
|
|
609
610
|
onClose: function onClose() {
|
|
610
611
|
return setAnchorEl(null);
|
|
612
|
+
},
|
|
613
|
+
MenuListProps: {
|
|
614
|
+
dense: tableInstance.state.densePadding,
|
|
615
|
+
disablePadding: true
|
|
611
616
|
}
|
|
612
|
-
}, React__default.createElement(material.MenuList, {
|
|
613
|
-
dense: tableInstance.state.densePadding,
|
|
614
|
-
disablePadding: true
|
|
615
617
|
}, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
|
|
616
618
|
key: 1,
|
|
617
619
|
disabled: !column.isSorted,
|
|
@@ -659,7 +661,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
659
661
|
key: 1,
|
|
660
662
|
onClick: handleHideColumn,
|
|
661
663
|
sx: commonMenuItemStyles
|
|
662
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))])
|
|
664
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
|
|
663
665
|
};
|
|
664
666
|
|
|
665
667
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
@@ -882,8 +884,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
882
884
|
var cell = _ref.cell;
|
|
883
885
|
|
|
884
886
|
var _useMRT = useMRT(),
|
|
885
|
-
|
|
887
|
+
isLoading = _useMRT.isLoading,
|
|
886
888
|
muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
|
|
889
|
+
muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
|
|
890
|
+
onCellClick = _useMRT.onCellClick,
|
|
887
891
|
_useMRT$tableInstance = _useMRT.tableInstance.state,
|
|
888
892
|
currentEditingRow = _useMRT$tableInstance.currentEditingRow,
|
|
889
893
|
densePadding = _useMRT$tableInstance.densePadding;
|
|
@@ -901,7 +905,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
901
905
|
}
|
|
902
906
|
}, tableCellProps, {
|
|
903
907
|
sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
904
|
-
}),
|
|
908
|
+
}), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
|
|
909
|
+
animation: "wave",
|
|
910
|
+
height: 20,
|
|
911
|
+
width: Math.random() * (120 - 60) + 60
|
|
912
|
+
}, muiTableBodyCellSkeletonProps)) : (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React__default.createElement(MRT_EditCellTextField, {
|
|
905
913
|
cell: cell
|
|
906
914
|
}) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React__default.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
|
|
907
915
|
};
|
|
@@ -1138,15 +1146,16 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
1138
1146
|
open: !!anchorEl,
|
|
1139
1147
|
onClose: function onClose() {
|
|
1140
1148
|
return setAnchorEl(null);
|
|
1149
|
+
},
|
|
1150
|
+
MenuListProps: {
|
|
1151
|
+
dense: tableInstance.state.densePadding,
|
|
1152
|
+
disablePadding: true
|
|
1141
1153
|
}
|
|
1142
|
-
}, React__default.createElement(material.MenuList, {
|
|
1143
|
-
dense: tableInstance.state.densePadding,
|
|
1144
|
-
disablePadding: true
|
|
1145
1154
|
}, enableRowEditing && React__default.createElement(material.MenuItem, {
|
|
1146
1155
|
onClick: handleEdit
|
|
1147
1156
|
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), React__default.createElement(material.ListItemText, null, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
1148
1157
|
return setAnchorEl(null);
|
|
1149
|
-
})) != null ? _renderRowActionMenuI : null)
|
|
1158
|
+
})) != null ? _renderRowActionMenuI : null);
|
|
1150
1159
|
};
|
|
1151
1160
|
|
|
1152
1161
|
function createCommonjsModule(fn, module) {
|
|
@@ -2374,15 +2383,16 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2374
2383
|
open: !!anchorEl,
|
|
2375
2384
|
onClose: function onClose() {
|
|
2376
2385
|
return setAnchorEl(null);
|
|
2386
|
+
},
|
|
2387
|
+
MenuListProps: {
|
|
2388
|
+
dense: tableInstance.state.densePadding,
|
|
2389
|
+
disablePadding: true
|
|
2377
2390
|
}
|
|
2378
|
-
}, React__default.createElement(material.MenuList, {
|
|
2379
|
-
dense: tableInstance.state.densePadding,
|
|
2380
|
-
disablePadding: true
|
|
2381
2391
|
}, React__default.createElement(material.Box, {
|
|
2382
2392
|
sx: {
|
|
2383
2393
|
display: 'flex',
|
|
2384
2394
|
justifyContent: 'space-between',
|
|
2385
|
-
p: '0
|
|
2395
|
+
p: '0.5rem'
|
|
2386
2396
|
}
|
|
2387
2397
|
}, React__default.createElement(material.Button, {
|
|
2388
2398
|
disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
|
|
@@ -2399,7 +2409,7 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2399
2409
|
key: index + "-" + column.id,
|
|
2400
2410
|
column: column
|
|
2401
2411
|
});
|
|
2402
|
-
})))
|
|
2412
|
+
})));
|
|
2403
2413
|
};
|
|
2404
2414
|
|
|
2405
2415
|
var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
|
|
@@ -2684,6 +2694,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2684
2694
|
hideToolbarTop = _useMRT.hideToolbarTop,
|
|
2685
2695
|
isFetching = _useMRT.isFetching,
|
|
2686
2696
|
isLoading = _useMRT.isLoading,
|
|
2697
|
+
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2687
2698
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2688
2699
|
tableInstance = _useMRT.tableInstance;
|
|
2689
2700
|
|
|
@@ -2708,6 +2719,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2708
2719
|
}
|
|
2709
2720
|
}, [fullScreen]);
|
|
2710
2721
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2722
|
+
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2711
2723
|
return React__default.createElement(material.TableContainer, Object.assign({
|
|
2712
2724
|
component: material.Paper
|
|
2713
2725
|
}, tableContainerProps, {
|
|
@@ -2726,7 +2738,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2726
2738
|
}), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Collapse, {
|
|
2727
2739
|
"in": isFetching || isLoading,
|
|
2728
2740
|
unmountOnExit: true
|
|
2729
|
-
}, React__default.createElement(material.LinearProgress,
|
|
2741
|
+
}, React__default.createElement(material.LinearProgress, Object.assign({}, linearProgressProps))), React__default.createElement(material.Box, {
|
|
2730
2742
|
sx: {
|
|
2731
2743
|
maxWidth: '100%',
|
|
2732
2744
|
overflowX: 'auto'
|