material-react-table 0.41.0 → 1.0.0-beta.2
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 +2 -0
- package/dist/cjs/body/MRT_EditRowModal.d.ts +0 -1
- package/dist/cjs/body/MRT_TableBody.d.ts +1 -2
- package/dist/cjs/buttons/MRT_ColumnPinningButtons.d.ts +0 -1
- package/dist/cjs/buttons/MRT_EditActionButtons.d.ts +0 -1
- package/dist/cjs/buttons/MRT_FullScreenToggleButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ShowHideColumnsButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ToggleFiltersButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -1
- package/dist/cjs/index.js +26 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/inputs/MRT_EditCellTextField.d.ts +0 -1
- package/dist/cjs/inputs/MRT_GlobalFilterTextField.d.ts +0 -1
- package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +0 -1
- package/dist/cjs/menus/MRT_ShowHideColumnsMenu.d.ts +0 -1
- package/dist/cjs/table/MRT_Table.d.ts +1 -2
- package/dist/cjs/table/MRT_TableRoot.d.ts +0 -1
- package/dist/esm/body/MRT_EditRowModal.d.ts +0 -1
- package/dist/esm/body/MRT_TableBody.d.ts +1 -2
- package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +0 -1
- package/dist/esm/buttons/MRT_EditActionButtons.d.ts +0 -1
- package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -1
- package/dist/esm/inputs/MRT_EditCellTextField.d.ts +0 -1
- package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +0 -1
- package/dist/esm/material-react-table.esm.js +26 -16
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +0 -1
- package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +0 -1
- package/dist/esm/table/MRT_Table.d.ts +1 -2
- package/dist/esm/table/MRT_TableRoot.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/package.json +6 -6
- package/src/body/MRT_TableBody.tsx +3 -3
- package/src/head/MRT_TableHeadCell.tsx +1 -1
- package/src/inputs/MRT_FilterTextField.tsx +8 -3
- package/src/inputs/MRT_GlobalFilterTextField.tsx +6 -1
- package/src/table/MRT_Table.tsx +3 -4
- package/src/table/MRT_TableContainer.tsx +2 -11
- package/src/table/MRT_TableRoot.tsx +3 -3
- package/src/toolbar/MRT_BottomToolbar.tsx +3 -0
- package/src/toolbar/MRT_TablePagination.tsx +0 -1
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +6 -8
- package/src/toolbar/MRT_TopToolbar.tsx +6 -2
package/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { FC
|
|
1
|
+
import { FC } from 'react';
|
|
2
2
|
import type { MRT_TableInstance } from '..';
|
|
3
3
|
interface Props {
|
|
4
4
|
table: MRT_TableInstance;
|
|
5
|
-
tableContainerRef: RefObject<HTMLDivElement>;
|
|
6
5
|
}
|
|
7
6
|
export declare const MRT_TableBody: FC<Props>;
|
|
8
7
|
export {};
|
package/dist/cjs/index.js
CHANGED
|
@@ -1030,7 +1030,7 @@ const MRT_GlobalFilterTextField = ({ table, }) => {
|
|
|
1030
1030
|
const textFieldProps = muiSearchTextFieldProps instanceof Function
|
|
1031
1031
|
? muiSearchTextFieldProps({ table })
|
|
1032
1032
|
: muiSearchTextFieldProps;
|
|
1033
|
-
return (React__default["default"].createElement(material.Collapse, { in: showGlobalFilter, orientation: "horizontal" },
|
|
1033
|
+
return (React__default["default"].createElement(material.Collapse, { in: showGlobalFilter, orientation: "horizontal", unmountOnExit: true, mountOnEnter: true },
|
|
1034
1034
|
React__default["default"].createElement(material.TextField, Object.assign({ placeholder: localization.search, onChange: handleChange, value: searchValue !== null && searchValue !== void 0 ? searchValue : '', variant: "standard", InputProps: {
|
|
1035
1035
|
startAdornment: enableGlobalFilterModes ? (React__default["default"].createElement(material.InputAdornment, { position: "start" },
|
|
1036
1036
|
React__default["default"].createElement(material.Tooltip, { arrow: true, title: localization.changeSearchMode },
|
|
@@ -1079,7 +1079,7 @@ const MRT_TablePagination = ({ table, position }) => {
|
|
|
1079
1079
|
return (React__default["default"].createElement(material.TablePagination, Object.assign({ SelectProps: {
|
|
1080
1080
|
sx: { m: '0 1rem 0 1ch' },
|
|
1081
1081
|
MenuProps: { MenuListProps: { disablePadding: true } },
|
|
1082
|
-
}, component: "div", count: totalRowCount, onPageChange: (_, newPage) => setPageIndex(newPage), onRowsPerPageChange: handleChangeRowsPerPage, page: pageIndex, rowsPerPage: pageSize, rowsPerPageOptions: [5, 10, 15, 20, 25, 30, 50, 100], showFirstButton: showFirstLastPageButtons, showLastButton: showFirstLastPageButtons }, tablePaginationProps, { sx: (theme) => (Object.assign({
|
|
1082
|
+
}, component: "div", count: totalRowCount, onPageChange: (_, newPage) => setPageIndex(newPage), onRowsPerPageChange: handleChangeRowsPerPage, page: pageIndex, rowsPerPage: pageSize, rowsPerPageOptions: [5, 10, 15, 20, 25, 30, 50, 100], showFirstButton: showFirstLastPageButtons, showLastButton: showFirstLastPageButtons }, tablePaginationProps, { sx: (theme) => (Object.assign({ mt: position === 'top' &&
|
|
1083
1083
|
enableToolbarInternalActions &&
|
|
1084
1084
|
!showGlobalFilter
|
|
1085
1085
|
? '3.5rem'
|
|
@@ -1191,7 +1191,7 @@ const MRT_ToggleGlobalFilterButton = (_a) => {
|
|
|
1191
1191
|
|
|
1192
1192
|
const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
1193
1193
|
var _a;
|
|
1194
|
-
const { options: { enableColumnFilters, enableColumnOrdering, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePinning,
|
|
1194
|
+
const { options: { enableColumnFilters, enableColumnOrdering, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePinning, initialState, renderToolbarInternalActions, }, } = table;
|
|
1195
1195
|
return (React__default["default"].createElement(material.Box, { sx: {
|
|
1196
1196
|
alignItems: 'center',
|
|
1197
1197
|
display: 'flex',
|
|
@@ -1199,8 +1199,9 @@ const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
|
1199
1199
|
} }, (_a = renderToolbarInternalActions === null || renderToolbarInternalActions === void 0 ? void 0 : renderToolbarInternalActions({
|
|
1200
1200
|
table,
|
|
1201
1201
|
})) !== null && _a !== void 0 ? _a : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
1202
|
-
|
|
1203
|
-
|
|
1202
|
+
enableFilters &&
|
|
1203
|
+
enableGlobalFilter &&
|
|
1204
|
+
!(initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) && (React__default["default"].createElement(MRT_ToggleGlobalFilterButton, { table: table })),
|
|
1204
1205
|
enableFilters && enableColumnFilters && (React__default["default"].createElement(MRT_ToggleFiltersButton, { table: table })),
|
|
1205
1206
|
(enableHiding || enableColumnOrdering || enablePinning) && (React__default["default"].createElement(MRT_ShowHideColumnsButton, { table: table })),
|
|
1206
1207
|
enableDensityToggle && (React__default["default"].createElement(MRT_ToggleDensePaddingButton, { table: table })),
|
|
@@ -1274,7 +1275,9 @@ const MRT_TopToolbar = ({ table }) => {
|
|
|
1274
1275
|
width: '100%',
|
|
1275
1276
|
} },
|
|
1276
1277
|
enableGlobalFilter && positionGlobalFilter === 'left' && (React__default["default"].createElement(MRT_GlobalFilterTextField, { table: table })), (_a = renderTopToolbarCustomActions === null || renderTopToolbarCustomActions === void 0 ? void 0 : renderTopToolbarCustomActions({ table })) !== null && _a !== void 0 ? _a : React__default["default"].createElement("span", null),
|
|
1277
|
-
enableToolbarInternalActions ? (React__default["default"].createElement(
|
|
1278
|
+
enableToolbarInternalActions ? (React__default["default"].createElement(material.Box, { sx: { display: 'flex', flexWrap: 'wrap' } },
|
|
1279
|
+
enableGlobalFilter && positionGlobalFilter === 'right' && (React__default["default"].createElement(MRT_GlobalFilterTextField, { table: table })),
|
|
1280
|
+
React__default["default"].createElement(MRT_ToolbarInternalButtons, { table: table }))) : (enableGlobalFilter &&
|
|
1278
1281
|
positionGlobalFilter === 'right' && (React__default["default"].createElement(MRT_GlobalFilterTextField, { table: table })))),
|
|
1279
1282
|
enablePagination &&
|
|
1280
1283
|
['top', 'both'].includes(positionPagination !== null && positionPagination !== void 0 ? positionPagination : '') && (React__default["default"].createElement(MRT_TablePagination, { table: table, position: "top" })),
|
|
@@ -1302,8 +1305,11 @@ const MRT_BottomToolbar = ({ table }) => {
|
|
|
1302
1305
|
positionToolbarAlertBanner === 'bottom' && (React__default["default"].createElement(MRT_ToolbarAlertBanner, { table: table })),
|
|
1303
1306
|
['both', 'bottom'].includes(positionToolbarDropZone !== null && positionToolbarDropZone !== void 0 ? positionToolbarDropZone : '') && (React__default["default"].createElement(MRT_ToolbarDropZone, { table: table })),
|
|
1304
1307
|
React__default["default"].createElement(material.Box, { sx: {
|
|
1308
|
+
alignItems: 'flex-start',
|
|
1309
|
+
boxSizing: 'border-box',
|
|
1305
1310
|
display: 'flex',
|
|
1306
1311
|
justifyContent: 'space-between',
|
|
1312
|
+
p: '0.5rem',
|
|
1307
1313
|
width: '100%',
|
|
1308
1314
|
} },
|
|
1309
1315
|
renderBottomToolbarCustomActions ? (renderBottomToolbarCustomActions({ table })) : (React__default["default"].createElement("span", null)),
|
|
@@ -1448,7 +1454,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1448
1454
|
setAnchorEl(event.currentTarget);
|
|
1449
1455
|
};
|
|
1450
1456
|
React.useEffect(() => {
|
|
1451
|
-
|
|
1457
|
+
handleClear();
|
|
1452
1458
|
}, [columnDef._filterFn]);
|
|
1453
1459
|
if (columnDef.Filter) {
|
|
1454
1460
|
return React__default["default"].createElement(React__default["default"].Fragment, null, (_e = columnDef.Filter) === null || _e === void 0 ? void 0 : _e.call(columnDef, { column, header, table }));
|
|
@@ -1507,7 +1513,11 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1507
1513
|
if (textFieldProps.inputRef) {
|
|
1508
1514
|
textFieldProps.inputRef = inputRef;
|
|
1509
1515
|
}
|
|
1510
|
-
}, sx: (theme) => (Object.assign({ p: 0, minWidth:
|
|
1516
|
+
}, sx: (theme) => (Object.assign({ p: 0, minWidth: columnDef.filterVariant === 'range'
|
|
1517
|
+
? '90px'
|
|
1518
|
+
: !filterChipLabel
|
|
1519
|
+
? '120px'
|
|
1520
|
+
: 'auto', width: '100%', '& .MuiSelect-icon': {
|
|
1511
1521
|
mr: '1.5rem',
|
|
1512
1522
|
} }, ((textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.sx) instanceof Function
|
|
1513
1523
|
? textFieldProps.sx(theme)
|
|
@@ -1698,7 +1708,7 @@ const MRT_TableHeadCell = ({ header, table }) => {
|
|
|
1698
1708
|
return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
|
|
1699
1709
|
};
|
|
1700
1710
|
const getTotalRight = () => {
|
|
1701
|
-
return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) *
|
|
1711
|
+
return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 180);
|
|
1702
1712
|
};
|
|
1703
1713
|
const handleDragEnter = (_e) => {
|
|
1704
1714
|
if (enableGrouping && (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone') {
|
|
@@ -2163,8 +2173,8 @@ const MRT_TableBodyRow = ({ row, rowIndex, table, virtualRow, }) => {
|
|
|
2163
2173
|
renderDetailPanel && !row.getIsGrouped() && (React__default["default"].createElement(MRT_TableDetailPanel, { row: row, table: table }))));
|
|
2164
2174
|
};
|
|
2165
2175
|
|
|
2166
|
-
const MRT_TableBody = ({ table
|
|
2167
|
-
const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, manualFiltering, manualSorting, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, } = table;
|
|
2176
|
+
const MRT_TableBody = ({ table }) => {
|
|
2177
|
+
const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, manualFiltering, manualSorting, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef }, } = table;
|
|
2168
2178
|
const { globalFilter, pagination, sorting } = getState();
|
|
2169
2179
|
const tableBodyProps = muiTableBodyProps instanceof Function
|
|
2170
2180
|
? muiTableBodyProps({ table })
|
|
@@ -2305,7 +2315,7 @@ const MRT_TableFooter = ({ table }) => {
|
|
|
2305
2315
|
: tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx))) }), getFooterGroups().map((footerGroup) => (React__default["default"].createElement(MRT_TableFooterRow, { footerGroup: footerGroup, key: footerGroup.id, table: table })))));
|
|
2306
2316
|
};
|
|
2307
2317
|
|
|
2308
|
-
const MRT_Table = ({
|
|
2318
|
+
const MRT_Table = ({ table }) => {
|
|
2309
2319
|
const { getState, options: { enableColumnResizing, enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, muiTableProps, }, } = table;
|
|
2310
2320
|
const { isFullScreen } = getState();
|
|
2311
2321
|
const tableProps = muiTableProps instanceof Function
|
|
@@ -2315,7 +2325,7 @@ const MRT_Table = ({ tableContainerRef, table }) => {
|
|
|
2315
2325
|
? tableProps.sx(theme)
|
|
2316
2326
|
: tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
|
|
2317
2327
|
enableTableHead && React__default["default"].createElement(MRT_TableHead, { table: table }),
|
|
2318
|
-
React__default["default"].createElement(MRT_TableBody, {
|
|
2328
|
+
React__default["default"].createElement(MRT_TableBody, { table: table }),
|
|
2319
2329
|
enableTableFooter && React__default["default"].createElement(MRT_TableFooter, { table: table })));
|
|
2320
2330
|
};
|
|
2321
2331
|
|
|
@@ -2350,7 +2360,7 @@ const MRT_TableContainer = ({ table }) => {
|
|
|
2350
2360
|
: tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx))), style: Object.assign({ maxHeight: isFullScreen
|
|
2351
2361
|
? `calc(100vh - ${totalToolbarHeight}px)`
|
|
2352
2362
|
: undefined }, tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.style) }),
|
|
2353
|
-
React__default["default"].createElement(MRT_Table, {
|
|
2363
|
+
React__default["default"].createElement(MRT_Table, { table: table })));
|
|
2354
2364
|
};
|
|
2355
2365
|
|
|
2356
2366
|
const MRT_TablePaper = ({ table }) => {
|
|
@@ -2528,9 +2538,9 @@ const MRT_TableRoot = (props) => {
|
|
|
2528
2538
|
props.tableInstanceRef.current = table;
|
|
2529
2539
|
}
|
|
2530
2540
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2531
|
-
React__default["default"].createElement(material.Dialog, { PaperComponent: material.Box, TransitionComponent: material.Grow, disablePortal: true, fullScreen: true, keepMounted: false, onClose: () => setIsFullScreen(false), open: isFullScreen, transitionDuration: 400 },
|
|
2541
|
+
React__default["default"].createElement(material.Dialog, { PaperComponent: material.Box, TransitionComponent: material.Grow, disablePortal: true, fullScreen: true, keepMounted: false, onClose: () => table.setIsFullScreen(false), open: table.getState().isFullScreen, transitionDuration: 400 },
|
|
2532
2542
|
React__default["default"].createElement(MRT_TablePaper, { table: table })),
|
|
2533
|
-
!isFullScreen && React__default["default"].createElement(MRT_TablePaper, { table: table }),
|
|
2543
|
+
!table.getState().isFullScreen && React__default["default"].createElement(MRT_TablePaper, { table: table }),
|
|
2534
2544
|
editingRow && props.editingMode === 'modal' && (React__default["default"].createElement(MRT_EditRowModal, { row: editingRow, table: table, open: true }))));
|
|
2535
2545
|
};
|
|
2536
2546
|
|