material-react-table 0.4.6 → 0.4.9
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/README.md +3 -2
- package/dist/MaterialReactTable.d.ts +68 -23
- package/dist/body/MRT_TableBodyCell.d.ts +2 -2
- package/dist/body/MRT_TableBodyRow.d.ts +2 -2
- package/dist/body/MRT_TableDetailPanel.d.ts +2 -2
- package/dist/buttons/MRT_EditActionButtons.d.ts +2 -2
- package/dist/buttons/MRT_ExpandButton.d.ts +2 -2
- package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +2 -2
- package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
- package/dist/footer/MRT_TableFooterCell.d.ts +2 -2
- package/dist/footer/MRT_TableFooterRow.d.ts +2 -2
- package/dist/head/MRT_TableHeadCell.d.ts +2 -2
- package/dist/head/MRT_TableHeadRow.d.ts +2 -2
- package/dist/inputs/MRT_EditCellTextField.d.ts +2 -2
- package/dist/inputs/MRT_FilterTextField.d.ts +2 -2
- package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -2
- package/dist/material-react-table.cjs.development.js +42 -26
- 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 +43 -27
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +2 -2
- package/dist/menus/MRT_RowActionMenu.d.ts +2 -2
- package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
- package/dist/useMRT.d.ts +4 -4
- package/package.json +1 -1
- package/src/@types/react-table-config.d.ts +18 -121
- package/src/MaterialReactTable.tsx +183 -23
- package/src/body/MRT_TableBody.tsx +2 -1
- package/src/body/MRT_TableBodyCell.tsx +2 -2
- package/src/body/MRT_TableBodyRow.tsx +6 -4
- package/src/body/MRT_TableDetailPanel.tsx +9 -16
- package/src/buttons/MRT_EditActionButtons.tsx +2 -2
- package/src/buttons/MRT_ExpandButton.tsx +2 -2
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +2 -1
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -2
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +3 -3
- package/src/footer/MRT_TableFooter.tsx +2 -1
- package/src/footer/MRT_TableFooterCell.tsx +2 -2
- package/src/footer/MRT_TableFooterRow.tsx +3 -3
- package/src/head/MRT_TableHead.tsx +2 -1
- package/src/head/MRT_TableHeadCell.tsx +2 -2
- package/src/head/MRT_TableHeadRow.tsx +3 -3
- package/src/index.tsx +2 -0
- package/src/inputs/MRT_EditCellTextField.tsx +2 -2
- package/src/inputs/MRT_FilterTextField.tsx +3 -2
- package/src/inputs/MRT_SelectCheckbox.tsx +3 -3
- package/src/menus/MRT_ColumnActionMenu.tsx +2 -2
- package/src/menus/MRT_RowActionMenu.tsx +2 -2
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +3 -2
- package/src/table/MRT_TableContainer.tsx +19 -1
- package/src/useMRT.tsx +18 -15
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useMemo, useState, useContext, createContext, Fragment } from 'react';
|
|
1
|
+
import React, { useMemo, useState, 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 { TextField as TextField$1, Tooltip, InputAdornment, IconButton as IconButton$2, Menu, Divider as Divider$1, styled, MenuItem as MenuItem$2, TableCell as TableCell$3, TableSortLabel, Collapse, Checkbox, TableRow as TableRow$1, TableHead, alpha, TableBody as TableBody$1, TableFooter, Table, FormControlLabel, Switch, Button, TablePagination, useMediaQuery, Chip, Alert as Alert$1, Toolbar as Toolbar$2, Paper, LinearProgress, CircularProgress, TableContainer as TableContainer$1 } from '@mui/material';
|
|
4
4
|
import CancelIcon from '@mui/icons-material/Cancel';
|
|
@@ -98,17 +98,19 @@ var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
|
98
98
|
}();
|
|
99
99
|
|
|
100
100
|
var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
101
|
-
var _props$
|
|
101
|
+
var _props$initialState$d, _props$initialState, _props$initialState$f, _props$initialState2, _props$initialState$s, _props$initialState3, _props$initialState$s2, _props$initialState4;
|
|
102
102
|
|
|
103
103
|
var hooks = [useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect];
|
|
104
104
|
if (props.enableColumnResizing) hooks.unshift(useResizeColumns, useFlexLayout);
|
|
105
105
|
var tableInstance = useTable.apply(void 0, [props].concat(hooks));
|
|
106
|
-
var anyRowsCanExpand = useMemo(
|
|
106
|
+
var anyRowsCanExpand = useMemo( // @ts-ignore
|
|
107
|
+
function () {
|
|
107
108
|
return tableInstance.rows.some(function (row) {
|
|
108
109
|
return row.canExpand;
|
|
109
110
|
});
|
|
110
111
|
}, [tableInstance.rows]);
|
|
111
|
-
var anyRowsExpanded = useMemo(
|
|
112
|
+
var anyRowsExpanded = useMemo( // @ts-ignore
|
|
113
|
+
function () {
|
|
112
114
|
return tableInstance.rows.some(function (row) {
|
|
113
115
|
return row.isExpanded;
|
|
114
116
|
});
|
|
@@ -118,19 +120,19 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
118
120
|
currentEditingRow = _useState[0],
|
|
119
121
|
setCurrentEditingRow = _useState[1];
|
|
120
122
|
|
|
121
|
-
var _useState2 = useState((_props$
|
|
123
|
+
var _useState2 = useState((_props$initialState$d = (_props$initialState = props.initialState) == null ? void 0 : _props$initialState.densePadding) != null ? _props$initialState$d : false),
|
|
122
124
|
densePadding = _useState2[0],
|
|
123
125
|
setDensePadding = _useState2[1];
|
|
124
126
|
|
|
125
|
-
var _useState3 = useState((_props$
|
|
127
|
+
var _useState3 = useState((_props$initialState$f = (_props$initialState2 = props.initialState) == null ? void 0 : _props$initialState2.fullScreen) != null ? _props$initialState$f : false),
|
|
126
128
|
fullScreen = _useState3[0],
|
|
127
129
|
setFullScreen = _useState3[1];
|
|
128
130
|
|
|
129
|
-
var _useState4 = useState((_props$
|
|
131
|
+
var _useState4 = useState((_props$initialState$s = (_props$initialState3 = props.initialState) == null ? void 0 : _props$initialState3.showFilters) != null ? _props$initialState$s : false),
|
|
130
132
|
showFilters = _useState4[0],
|
|
131
133
|
setShowFilters = _useState4[1];
|
|
132
134
|
|
|
133
|
-
var _useState5 = useState((_props$
|
|
135
|
+
var _useState5 = useState((_props$initialState$s2 = (_props$initialState4 = props.initialState) == null ? void 0 : _props$initialState4.showSearchTextField) != null ? _props$initialState$s2 : false),
|
|
134
136
|
showSearch = _useState5[0],
|
|
135
137
|
setShowSearch = _useState5[1];
|
|
136
138
|
|
|
@@ -154,7 +156,7 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
154
156
|
}, props.children);
|
|
155
157
|
};
|
|
156
158
|
var useMRT = function useMRT() {
|
|
157
|
-
return (
|
|
159
|
+
return (// @ts-ignore
|
|
158
160
|
useContext(MaterialReactTableContext)
|
|
159
161
|
);
|
|
160
162
|
};
|
|
@@ -495,8 +497,10 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
|
495
497
|
|
|
496
498
|
var onSelectChange = function onSelectChange(event) {
|
|
497
499
|
if (selectAll) {
|
|
500
|
+
var _tableInstance$getTog;
|
|
501
|
+
|
|
502
|
+
tableInstance == null ? void 0 : tableInstance.getToggleAllRowsSelectedProps == null ? void 0 : (_tableInstance$getTog = tableInstance.getToggleAllRowsSelectedProps()) == null ? void 0 : _tableInstance$getTog.onChange == null ? void 0 : _tableInstance$getTog.onChange(event);
|
|
498
503
|
onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.selectedFlatRows);
|
|
499
|
-
tableInstance.toggleAllRowsSelected(event.target.checked);
|
|
500
504
|
} else if (row) {
|
|
501
505
|
var _row$getToggleRowSele;
|
|
502
506
|
|
|
@@ -733,32 +737,25 @@ var TableCell = /*#__PURE__*/styled(TableCell$3, {
|
|
|
733
737
|
};
|
|
734
738
|
});
|
|
735
739
|
var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref2) {
|
|
736
|
-
var _mTableBodyRowProps$s
|
|
740
|
+
var _mTableBodyRowProps$s;
|
|
737
741
|
|
|
738
742
|
var row = _ref2.row;
|
|
739
743
|
|
|
740
744
|
var _useMRT = useMRT(),
|
|
741
|
-
tableInstance = _useMRT.tableInstance,
|
|
742
|
-
renderDetailPanel = _useMRT.renderDetailPanel,
|
|
743
|
-
muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
|
|
744
745
|
muiTableBodyRowProps = _useMRT.muiTableBodyRowProps,
|
|
745
|
-
|
|
746
|
+
muiTableDetailPanelProps = _useMRT.muiTableDetailPanelProps,
|
|
747
|
+
onDetailPanelClick = _useMRT.onDetailPanelClick,
|
|
748
|
+
renderDetailPanel = _useMRT.renderDetailPanel,
|
|
749
|
+
tableInstance = _useMRT.tableInstance;
|
|
746
750
|
|
|
747
751
|
var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
|
|
748
752
|
|
|
749
|
-
var tableRowProps = _extends({}, mTableBodyRowProps, row.
|
|
750
|
-
style: _extends({}, row.
|
|
751
|
-
});
|
|
752
|
-
|
|
753
|
-
var mTableDetailPanelProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
|
|
754
|
-
|
|
755
|
-
var tableCellProps = _extends({}, mTableDetailPanelProps, {
|
|
756
|
-
style: _extends({}, (_mTableDetailPanelPro = mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) != null ? _mTableDetailPanelPro : {})
|
|
753
|
+
var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
|
|
754
|
+
style: _extends({}, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
|
|
757
755
|
});
|
|
758
756
|
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
}, tableRowProps), React.createElement(TableCell, Object.assign({
|
|
757
|
+
var tableCellProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
|
|
758
|
+
return React.createElement(TableRow$1, Object.assign({}, tableRowProps), React.createElement(TableCell, Object.assign({
|
|
762
759
|
colSpan: tableInstance.visibleColumns.length + 10,
|
|
763
760
|
isExpanded: row.isExpanded,
|
|
764
761
|
onClick: function onClick(event) {
|
|
@@ -1775,7 +1772,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
|
|
|
1775
1772
|
});
|
|
1776
1773
|
}), (enableRowActions || enableRowEditing) && positionActionsColumn === 'last' && React.createElement(MRT_ToggleRowActionMenuButton, {
|
|
1777
1774
|
row: row
|
|
1778
|
-
})), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
|
|
1775
|
+
})), renderDetailPanel && !row.isGrouped && React.createElement(MRT_TableDetailPanel, {
|
|
1779
1776
|
row: row
|
|
1780
1777
|
}));
|
|
1781
1778
|
};
|
|
@@ -2424,6 +2421,25 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2424
2421
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2425
2422
|
tableInstance = _useMRT.tableInstance;
|
|
2426
2423
|
|
|
2424
|
+
var originalBodyOverflowStyle = useRef();
|
|
2425
|
+
useEffect(function () {
|
|
2426
|
+
if (typeof window !== 'undefined') {
|
|
2427
|
+
var _document, _document$body, _document$body$style;
|
|
2428
|
+
|
|
2429
|
+
originalBodyOverflowStyle.current = (_document = document) == null ? void 0 : (_document$body = _document.body) == null ? void 0 : (_document$body$style = _document$body.style) == null ? void 0 : _document$body$style.overflow;
|
|
2430
|
+
}
|
|
2431
|
+
}, []);
|
|
2432
|
+
useEffect(function () {
|
|
2433
|
+
if (typeof window !== 'undefined') {
|
|
2434
|
+
if (fullScreen) {
|
|
2435
|
+
document.body.style.overflow = 'hidden';
|
|
2436
|
+
} else {
|
|
2437
|
+
var _originalBodyOverflow;
|
|
2438
|
+
|
|
2439
|
+
document.body.style.overflow = (_originalBodyOverflow = originalBodyOverflowStyle.current) != null ? _originalBodyOverflow : 'auto';
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
}, [fullScreen]);
|
|
2427
2443
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2428
2444
|
return React.createElement(TableContainer, Object.assign({
|
|
2429
2445
|
component: Paper,
|