material-react-table 1.7.4 → 1.8.0
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 +5 -13
- package/dist/cjs/index.js +79 -37
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +16 -8
- package/dist/cjs/types/body/MRT_TableBody.d.ts +3 -4
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +2 -3
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +4 -5
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +2 -3
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +2 -3
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +2 -3
- package/dist/cjs/types/head/MRT_TableHead.d.ts +2 -3
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +2 -3
- package/dist/cjs/types/table/MRT_TableRoot.d.ts +1 -272
- package/dist/esm/material-react-table.esm.js +77 -38
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +16 -8
- package/dist/esm/types/body/MRT_TableBody.d.ts +3 -4
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +2 -3
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +4 -5
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +2 -3
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +2 -3
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +2 -3
- package/dist/esm/types/head/MRT_TableHead.d.ts +2 -3
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +2 -3
- package/dist/esm/types/table/MRT_TableRoot.d.ts +1 -272
- package/dist/index.d.ts +16 -7
- package/package.json +2 -2
- package/src/MaterialReactTable.tsx +44 -7
- package/src/body/MRT_TableBody.tsx +11 -10
- package/src/body/MRT_TableBodyCell.tsx +8 -12
- package/src/body/MRT_TableBodyCellValue.tsx +1 -0
- package/src/body/MRT_TableBodyRow.tsx +14 -7
- package/src/body/MRT_TableDetailPanel.tsx +2 -3
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +4 -1
- package/src/column.utils.ts +6 -1
- package/src/footer/MRT_TableFooter.tsx +2 -3
- package/src/footer/MRT_TableFooterRow.tsx +7 -3
- package/src/head/MRT_TableHead.tsx +2 -3
- package/src/head/MRT_TableHeadRow.tsx +7 -3
- package/src/inputs/MRT_EditCellTextField.tsx +38 -2
- package/src/menus/MRT_FilterOptionMenu.tsx +14 -5
- package/src/menus/MRT_RowActionMenu.tsx +12 -10
- package/src/table/MRT_Table.tsx +2 -3
- package/src/table/MRT_TableRoot.tsx +33 -19
package/README.md
CHANGED
@@ -27,17 +27,9 @@ View [Documentation](https://www.material-react-table.com/)
|
|
27
27
|
|
28
28
|
### __Built with [Material UI <sup>V5</sup>](https://mui.com) and [TanStack Table <sup>V8</sup>](https://tanstack.com/table/v8)__
|
29
29
|
|
30
|
-
<
|
31
|
-
|
32
|
-
|
33
|
-
=
|
34
|
-
<img src="https://mui.com/static/logo.png" height="24">
|
35
|
-
🤝
|
36
|
-
<img src="https://react-table-v7.tanstack.com/_next/static/images/logo-light-66d4dd9109004332c863391e6d1cb309.svg" height="24">
|
37
|
-
</div>
|
38
|
-
<br />
|
39
|
-
|
40
|
-
MRT is built with Material-UI components on top of [TanStack Table's](https://tanstack.com/table/v8) comprehensive and powerful react hooks api.
|
30
|
+
<img src="https://material-react-table.com/banner.png" alt="MRT" height="50"/>
|
31
|
+
|
32
|
+
> Want to use Mantine instead of Material UI? Check out [Mantine React Table](https://www.mantine-react-table.com)
|
41
33
|
|
42
34
|
## Learn More
|
43
35
|
|
@@ -148,7 +140,7 @@ export default function App() {
|
|
148
140
|
accessorKey: 'name', //simple recommended way to define a column
|
149
141
|
header: 'Name',
|
150
142
|
muiTableHeadCellProps: { sx: { color: 'green' } }, //optional custom props
|
151
|
-
Cell: ({ cell}) => <span>{cell.getValue()}</span>, //optional custom cell render
|
143
|
+
Cell: ({ cell }) => <span>{cell.getValue()}</span>, //optional custom cell render
|
152
144
|
},
|
153
145
|
{
|
154
146
|
accessorFn: (row) => row.age, //alternate way
|
@@ -202,4 +194,4 @@ PRs are Welcome, but please discuss in [GitHub Discussions](https://github.com/K
|
|
202
194
|
|
203
195
|
Read the [Contributing Guide](https://github.com/KevinVandy/material-react-table/blob/main/CONTRIBUTING.md) to learn how to run this project locally.
|
204
196
|
|
205
|
-
<!-- Use the FORCE, Luke! -->
|
197
|
+
<!-- Use the FORCE, Luke! -->
|
package/dist/cjs/index.js
CHANGED
@@ -365,7 +365,12 @@ const MRT_DefaultDisplayColumn = {
|
|
365
365
|
enableResizing: false,
|
366
366
|
enableSorting: false,
|
367
367
|
};
|
368
|
-
const parseCSSVarId = (id) => id
|
368
|
+
const parseCSSVarId = (id) => id
|
369
|
+
.replaceAll('.', '_')
|
370
|
+
.replaceAll(' ', '_')
|
371
|
+
.replaceAll('+', '_')
|
372
|
+
.replaceAll('(', '_')
|
373
|
+
.replaceAll(')', '_');
|
369
374
|
|
370
375
|
const fuzzy$1 = (row, columnId, filterValue, addMeta) => {
|
371
376
|
const itemRank = matchSorterUtils.rankItem(row.getValue(columnId), filterValue, {
|
@@ -635,6 +640,7 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
635
640
|
const { globalFilterFn, density } = getState();
|
636
641
|
const { column } = header !== null && header !== void 0 ? header : {};
|
637
642
|
const { columnDef } = column !== null && column !== void 0 ? column : {};
|
643
|
+
const currentFilterValue = column === null || column === void 0 ? void 0 : column.getFilterValue();
|
638
644
|
const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
|
639
645
|
const internalFilterOptions = React.useMemo(() => mrtFilterOptions(localization).filter((filterOption) => columnDef
|
640
646
|
? allowedColumnFilterOptions === undefined ||
|
@@ -646,12 +652,16 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
646
652
|
if (header && column) {
|
647
653
|
setColumnFilterFns((prev) => (Object.assign(Object.assign({}, prev), { [header.id]: option })));
|
648
654
|
if (['empty', 'notEmpty'].includes(option)) {
|
649
|
-
|
655
|
+
if (currentFilterValue !== ' ') {
|
656
|
+
column.setFilterValue(' ');
|
657
|
+
}
|
650
658
|
}
|
651
659
|
else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'multi-select' ||
|
652
660
|
['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'].includes(option)) {
|
653
|
-
|
654
|
-
|
661
|
+
if (currentFilterValue === null || currentFilterValue === void 0 ? void 0 : currentFilterValue.length) {
|
662
|
+
column.setFilterValue([]);
|
663
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue([]);
|
664
|
+
}
|
655
665
|
}
|
656
666
|
else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'range' ||
|
657
667
|
['between', 'betweenInclusive', 'inNumberRange'].includes(option)) {
|
@@ -659,8 +669,10 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
659
669
|
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
|
660
670
|
}
|
661
671
|
else {
|
662
|
-
|
663
|
-
|
672
|
+
if (!['', undefined].includes(currentFilterValue)) {
|
673
|
+
column.setFilterValue('');
|
674
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
|
675
|
+
}
|
664
676
|
}
|
665
677
|
}
|
666
678
|
else {
|
@@ -1039,11 +1051,13 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
|
|
1039
1051
|
return (React__default["default"].createElement(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
|
1040
1052
|
dense: density === 'compact',
|
1041
1053
|
} },
|
1042
|
-
enableEditing
|
1043
|
-
|
1044
|
-
|
1045
|
-
|
1046
|
-
|
1054
|
+
enableEditing instanceof Function
|
1055
|
+
? enableEditing(row)
|
1056
|
+
: enableEditing && (React__default["default"].createElement(MenuItem__default["default"], { onClick: handleEdit, sx: commonMenuItemStyles },
|
1057
|
+
React__default["default"].createElement(Box__default["default"], { sx: commonListItemStyles },
|
1058
|
+
React__default["default"].createElement(ListItemIcon__default["default"], null,
|
1059
|
+
React__default["default"].createElement(EditIcon, null)),
|
1060
|
+
localization.edit))), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 :
|
1047
1061
|
renderRowActionMenuItems({
|
1048
1062
|
row,
|
1049
1063
|
table,
|
@@ -1110,7 +1124,10 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
|
|
1110
1124
|
setEditingRow(Object.assign({}, row));
|
1111
1125
|
setAnchorEl(null);
|
1112
1126
|
};
|
1113
|
-
return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
|
1127
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
|
1128
|
+
(enableEditing instanceof Function
|
1129
|
+
? enableEditing(row)
|
1130
|
+
: enableEditing) ? (React__default["default"].createElement(Tooltip__default["default"], { placement: "right", arrow: true, title: localization.edit },
|
1114
1131
|
React__default["default"].createElement(IconButton__default["default"], { "aria-label": localization.edit, sx: commonIconButtonStyles, onClick: handleStartEditMode },
|
1115
1132
|
React__default["default"].createElement(EditIcon, null)))) : renderRowActionMenuItems ? (React__default["default"].createElement(React__default["default"].Fragment, null,
|
1116
1133
|
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.rowActions },
|
@@ -2105,7 +2122,7 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
|
|
2105
2122
|
};
|
2106
2123
|
|
2107
2124
|
const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
|
2108
|
-
var _a;
|
2125
|
+
var _a, _b;
|
2109
2126
|
const { getState, options: { muiTableBodyCellEditTextFieldProps }, refs: { editInputRefs }, setEditingCell, setEditingRow, } = table;
|
2110
2127
|
const { column, row } = cell;
|
2111
2128
|
const { columnDef } = column;
|
@@ -2123,6 +2140,7 @@ const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
|
|
2123
2140
|
})
|
2124
2141
|
: columnDef.muiTableBodyCellEditTextFieldProps;
|
2125
2142
|
const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
|
2143
|
+
const isSelectEdit = columnDef.editVariant === 'select';
|
2126
2144
|
const saveRow = (newValue) => {
|
2127
2145
|
if (editingRow) {
|
2128
2146
|
setEditingRow(Object.assign(Object.assign({}, editingRow), { _valuesCache: Object.assign(Object.assign({}, editingRow._valuesCache), { [column.id]: newValue }) }));
|
@@ -2152,18 +2170,37 @@ const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
|
|
2152
2170
|
if (columnDef.Edit) {
|
2153
2171
|
return React__default["default"].createElement(React__default["default"].Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table }));
|
2154
2172
|
}
|
2155
|
-
return (React__default["default"].createElement(TextField__default["default"], Object.assign({ disabled: columnDef.enableEditing
|
2173
|
+
return (React__default["default"].createElement(TextField__default["default"], Object.assign({ disabled: (columnDef.enableEditing instanceof Function
|
2174
|
+
? columnDef.enableEditing(row)
|
2175
|
+
: columnDef.enableEditing) === false, fullWidth: true, inputRef: (inputRef) => {
|
2156
2176
|
if (inputRef) {
|
2157
2177
|
editInputRefs.current[column.id] = inputRef;
|
2158
2178
|
if (textFieldProps.inputRef) {
|
2159
2179
|
textFieldProps.inputRef = inputRef;
|
2160
2180
|
}
|
2161
2181
|
}
|
2162
|
-
}, label: showLabel ? column.columnDef.header : undefined, margin: "none", name: column.id, placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps, { onClick: (e) => {
|
2182
|
+
}, label: showLabel ? column.columnDef.header : undefined, margin: "none", name: column.id, placeholder: columnDef.header, select: isSelectEdit, value: value, variant: "standard" }, textFieldProps, { onClick: (e) => {
|
2163
2183
|
var _a;
|
2164
2184
|
e.stopPropagation();
|
2165
2185
|
(_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.onClick) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, e);
|
2166
|
-
}, onBlur: handleBlur, onChange: handleChange, onKeyDown: handleEnterKeyDown })))
|
2186
|
+
}, onBlur: handleBlur, onChange: handleChange, onKeyDown: handleEnterKeyDown }), (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.editSelectOptions) === null || _b === void 0 ? void 0 : _b.map((option) => {
|
2187
|
+
let value;
|
2188
|
+
let text;
|
2189
|
+
if (typeof option !== 'object') {
|
2190
|
+
value = option;
|
2191
|
+
text = option;
|
2192
|
+
}
|
2193
|
+
else {
|
2194
|
+
value = option.value;
|
2195
|
+
text = option.text;
|
2196
|
+
}
|
2197
|
+
return (React__default["default"].createElement(MenuItem__default["default"], { key: value, sx: {
|
2198
|
+
display: 'flex',
|
2199
|
+
m: 0,
|
2200
|
+
alignItems: 'center',
|
2201
|
+
gap: '0.5rem',
|
2202
|
+
}, value: value }, text));
|
2203
|
+
})));
|
2167
2204
|
};
|
2168
2205
|
|
2169
2206
|
const MRT_CopyButton = ({ cell, children, table, }) => {
|
@@ -2247,6 +2284,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
|
|
2247
2284
|
renderedCellValue = cell.renderValue();
|
2248
2285
|
}
|
2249
2286
|
if (enableFilterMatchHighlighting &&
|
2287
|
+
columnDef.enableFilterMatchHighlighting !== false &&
|
2250
2288
|
renderedCellValue &&
|
2251
2289
|
allowedTypes.includes(typeof renderedCellValue) &&
|
2252
2290
|
((filterValue &&
|
@@ -2339,8 +2377,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2339
2377
|
}
|
2340
2378
|
: undefined;
|
2341
2379
|
}, [draggingColumn, draggingRow, hoveredColumn, hoveredRow, rowIndex]);
|
2342
|
-
const isEditable = (enableEditing
|
2343
|
-
columnDef.enableEditing
|
2380
|
+
const isEditable = (enableEditing instanceof Function ? enableEditing(row) : enableEditing) &&
|
2381
|
+
(columnDef.enableEditing instanceof Function
|
2382
|
+
? columnDef.enableEditing(row)
|
2383
|
+
: columnDef.enableEditing) !== false;
|
2344
2384
|
const isEditing = isEditable &&
|
2345
2385
|
editingMode !== 'modal' &&
|
2346
2386
|
(editingMode === 'table' ||
|
@@ -2350,9 +2390,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2350
2390
|
const handleDoubleClick = (event) => {
|
2351
2391
|
var _a;
|
2352
2392
|
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onDoubleClick) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2353
|
-
if (
|
2354
|
-
columnDef.enableEditing !== false &&
|
2355
|
-
editingMode === 'cell') {
|
2393
|
+
if (isEditable && editingMode === 'cell') {
|
2356
2394
|
setEditingCell(cell);
|
2357
2395
|
queueMicrotask(() => {
|
2358
2396
|
var _a;
|
@@ -2397,8 +2435,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2397
2435
|
: 1.25)}rem`
|
2398
2436
|
: undefined, textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined, whiteSpace: density === 'compact' ? 'nowrap' : 'normal', zIndex: (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id ? 2 : column.getIsPinned() ? 1 : 0, '&:hover': {
|
2399
2437
|
backgroundColor: enableHover &&
|
2400
|
-
|
2401
|
-
columnDef.enableEditing !== false &&
|
2438
|
+
isEditable &&
|
2402
2439
|
['table', 'cell'].includes(editingMode !== null && editingMode !== void 0 ? editingMode : '')
|
2403
2440
|
? theme.palette.mode === 'dark'
|
2404
2441
|
? `${styles.lighten(theme.palette.background.default, 0.2)} !important`
|
@@ -2857,7 +2894,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
|
|
2857
2894
|
};
|
2858
2895
|
|
2859
2896
|
const MRT_TableRoot = (props) => {
|
2860
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
|
2897
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
|
2861
2898
|
const bottomToolbarRef = React.useRef(null);
|
2862
2899
|
const editInputRefs = React.useRef({});
|
2863
2900
|
const filterInputRefs = React.useRef({});
|
@@ -2898,18 +2935,18 @@ const MRT_TableRoot = (props) => {
|
|
2898
2935
|
const [showGlobalFilter, setShowGlobalFilter] = React.useState((_q = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _q !== void 0 ? _q : false);
|
2899
2936
|
const [showToolbarDropZone, setShowToolbarDropZone] = React.useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _r !== void 0 ? _r : false);
|
2900
2937
|
const displayColumns = React.useMemo(() => {
|
2901
|
-
var _a, _b, _c, _d, _e;
|
2938
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
2902
2939
|
return [
|
2903
|
-
columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: props.localization.move, size: 60 }, props.defaultDisplayColumn), (
|
2904
|
-
columnOrder.includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React__default["default"].createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: props.localization.actions, size: 70 }, props.defaultDisplayColumn), (
|
2905
|
-
columnOrder.includes('mrt-row-expand') &&
|
2906
|
-
showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: props.enableExpandAll
|
2940
|
+
((_b = (_a = props.state) === null || _a === void 0 ? void 0 : _a.columnOrder) !== null && _b !== void 0 ? _b : columnOrder).includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: props.localization.move, size: 60 }, props.defaultDisplayColumn), (_c = props.displayColumnDefOptions) === null || _c === void 0 ? void 0 : _c['mrt-row-drag']), { id: 'mrt-row-drag' }),
|
2941
|
+
((_e = (_d = props.state) === null || _d === void 0 ? void 0 : _d.columnOrder) !== null && _e !== void 0 ? _e : columnOrder).includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React__default["default"].createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: props.localization.actions, size: 70 }, props.defaultDisplayColumn), (_f = props.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-actions']), { id: 'mrt-row-actions' }),
|
2942
|
+
((_h = (_g = props.state) === null || _g === void 0 ? void 0 : _g.columnOrder) !== null && _h !== void 0 ? _h : columnOrder).includes('mrt-row-expand') &&
|
2943
|
+
showExpandColumn(props, (_k = (_j = props.state) === null || _j === void 0 ? void 0 : _j.grouping) !== null && _k !== void 0 ? _k : grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: props.enableExpandAll
|
2907
2944
|
? () => React__default["default"].createElement(MRT_ExpandAllButton, { table: table })
|
2908
|
-
: null, header: props.localization.expand, size: 60 }, props.defaultDisplayColumn), (
|
2909
|
-
columnOrder.includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: props.enableSelectAll && props.enableMultiRowSelection
|
2945
|
+
: null, header: props.localization.expand, size: 60 }, props.defaultDisplayColumn), (_l = props.displayColumnDefOptions) === null || _l === void 0 ? void 0 : _l['mrt-row-expand']), { id: 'mrt-row-expand' }),
|
2946
|
+
((_o = (_m = props.state) === null || _m === void 0 ? void 0 : _m.columnOrder) !== null && _o !== void 0 ? _o : columnOrder).includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: props.enableSelectAll && props.enableMultiRowSelection
|
2910
2947
|
? () => React__default["default"].createElement(MRT_SelectCheckbox, { selectAll: true, table: table })
|
2911
|
-
: null, header: props.localization.select, size: 60 }, props.defaultDisplayColumn), (
|
2912
|
-
columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => props.localization.rowNumber, header: props.localization.rowNumbers, size: 60 }, props.defaultDisplayColumn), (
|
2948
|
+
: null, header: props.localization.select, size: 60 }, props.defaultDisplayColumn), (_p = props.displayColumnDefOptions) === null || _p === void 0 ? void 0 : _p['mrt-row-select']), { id: 'mrt-row-select' }),
|
2949
|
+
((_r = (_q = props.state) === null || _q === void 0 ? void 0 : _q.columnOrder) !== null && _r !== void 0 ? _r : columnOrder).includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => props.localization.rowNumber, header: props.localization.rowNumbers, size: 60 }, props.defaultDisplayColumn), (_s = props.displayColumnDefOptions) === null || _s === void 0 ? void 0 : _s['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
|
2913
2950
|
].filter(Boolean);
|
2914
2951
|
}, [
|
2915
2952
|
columnOrder,
|
@@ -2932,6 +2969,8 @@ const MRT_TableRoot = (props) => {
|
|
2932
2969
|
props.localization,
|
2933
2970
|
props.positionActionsColumn,
|
2934
2971
|
props.renderDetailPanel,
|
2972
|
+
(_s = props.state) === null || _s === void 0 ? void 0 : _s.columnOrder,
|
2973
|
+
(_t = props.state) === null || _t === void 0 ? void 0 : _t.grouping,
|
2935
2974
|
]);
|
2936
2975
|
const columnDefs = React.useMemo(() => {
|
2937
2976
|
var _a, _b, _c;
|
@@ -2947,7 +2986,7 @@ const MRT_TableRoot = (props) => {
|
|
2947
2986
|
columnFilterFns,
|
2948
2987
|
displayColumns,
|
2949
2988
|
props.columns,
|
2950
|
-
(
|
2989
|
+
(_u = props.state) === null || _u === void 0 ? void 0 : _u.columnFilterFns,
|
2951
2990
|
]);
|
2952
2991
|
const data = React.useMemo(() => {
|
2953
2992
|
var _a, _b, _c, _d, _e;
|
@@ -2961,11 +3000,11 @@ const MRT_TableRoot = (props) => {
|
|
2961
3000
|
[getColumnId(col)]: null,
|
2962
3001
|
}))))
|
2963
3002
|
: props.data;
|
2964
|
-
}, [props.data, (
|
3003
|
+
}, [props.data, (_v = props.state) === null || _v === void 0 ? void 0 : _v.isLoading, (_w = props.state) === null || _w === void 0 ? void 0 : _w.showSkeletons]);
|
2965
3004
|
//@ts-ignore
|
2966
3005
|
const table = Object.assign(Object.assign({}, reactTable.useReactTable(Object.assign(Object.assign({ getCoreRowModel: reactTable.getCoreRowModel(), getExpandedRowModel: reactTable.getExpandedRowModel(), getFacetedRowModel: reactTable.getFacetedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel(), getGroupedRowModel: reactTable.getGroupedRowModel(), getPaginationRowModel: reactTable.getPaginationRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), onColumnOrderChange: setColumnOrder, onGroupingChange: setGrouping, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows }, props), {
|
2967
3006
|
//@ts-ignore
|
2968
|
-
columns: columnDefs, data, globalFilterFn: (
|
3007
|
+
columns: columnDefs, data, globalFilterFn: (_y = (_x = props.filterFns) === null || _x === void 0 ? void 0 : _x[globalFilterFn]) !== null && _y !== void 0 ? _y : (_z = props.filterFns) === null || _z === void 0 ? void 0 : _z.fuzzy, initialState, state: Object.assign({ columnFilterFns,
|
2969
3008
|
columnOrder,
|
2970
3009
|
density,
|
2971
3010
|
draggingColumn,
|
@@ -2989,7 +3028,7 @@ const MRT_TableRoot = (props) => {
|
|
2989
3028
|
tableHeadCellRefs,
|
2990
3029
|
tablePaperRef,
|
2991
3030
|
topToolbarRef,
|
2992
|
-
}, setColumnFilterFns: (
|
3031
|
+
}, setColumnFilterFns: (_0 = props.onColumnFilterFnsChange) !== null && _0 !== void 0 ? _0 : setColumnFilterFns, setDensity: (_1 = props.onDensityChange) !== null && _1 !== void 0 ? _1 : setDensity, setDraggingColumn: (_2 = props.onDraggingColumnChange) !== null && _2 !== void 0 ? _2 : setDraggingColumn, setDraggingRow: (_3 = props.onDraggingRowChange) !== null && _3 !== void 0 ? _3 : setDraggingRow, setEditingCell: (_4 = props.onEditingCellChange) !== null && _4 !== void 0 ? _4 : setEditingCell, setEditingRow: (_5 = props.onEditingRowChange) !== null && _5 !== void 0 ? _5 : setEditingRow, setGlobalFilterFn: (_6 = props.onGlobalFilterFnChange) !== null && _6 !== void 0 ? _6 : setGlobalFilterFn, setHoveredColumn: (_7 = props.onHoveredColumnChange) !== null && _7 !== void 0 ? _7 : setHoveredColumn, setHoveredRow: (_8 = props.onHoveredRowChange) !== null && _8 !== void 0 ? _8 : setHoveredRow, setIsFullScreen: (_9 = props.onIsFullScreenChange) !== null && _9 !== void 0 ? _9 : setIsFullScreen, setShowAlertBanner: (_10 = props.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner, setShowFilters: (_11 = props.onShowFiltersChange) !== null && _11 !== void 0 ? _11 : setShowFilters, setShowGlobalFilter: (_12 = props.onShowGlobalFilterChange) !== null && _12 !== void 0 ? _12 : setShowGlobalFilter, setShowToolbarDropZone: (_13 = props.onShowToolbarDropZoneChange) !== null && _13 !== void 0 ? _13 : setShowToolbarDropZone });
|
2993
3032
|
if (props.tableInstanceRef) {
|
2994
3033
|
props.tableInstanceRef.current = table;
|
2995
3034
|
}
|
@@ -3136,13 +3175,16 @@ const MaterialReactTable = (_a) => {
|
|
3136
3175
|
return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilterMatchHighlighting: enableFilterMatchHighlighting, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, manualFiltering: manualFiltering, manualGrouping: manualGrouping, manualPagination: manualPagination, manualSorting: manualSorting, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
|
3137
3176
|
};
|
3138
3177
|
|
3178
|
+
exports.MRT_AggregationFns = MRT_AggregationFns;
|
3139
3179
|
exports.MRT_BottomToolbar = MRT_BottomToolbar;
|
3140
3180
|
exports.MRT_CopyButton = MRT_CopyButton;
|
3141
3181
|
exports.MRT_EditActionButtons = MRT_EditActionButtons;
|
3182
|
+
exports.MRT_FilterFns = MRT_FilterFns;
|
3142
3183
|
exports.MRT_FilterOptionMenu = MRT_FilterOptionMenu;
|
3143
3184
|
exports.MRT_FullScreenToggleButton = MRT_FullScreenToggleButton;
|
3144
3185
|
exports.MRT_GlobalFilterTextField = MRT_GlobalFilterTextField;
|
3145
3186
|
exports.MRT_ShowHideColumnsButton = MRT_ShowHideColumnsButton;
|
3187
|
+
exports.MRT_SortingFns = MRT_SortingFns;
|
3146
3188
|
exports.MRT_TablePagination = MRT_TablePagination;
|
3147
3189
|
exports.MRT_ToggleDensePaddingButton = MRT_ToggleDensePaddingButton;
|
3148
3190
|
exports.MRT_ToggleFiltersButton = MRT_ToggleFiltersButton;
|