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
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { MRT_Header, MRT_InternalFilterOption, MRT_TableInstance } from '..';
|
|
3
2
|
import { MRT_Localization } from '../localization';
|
|
4
3
|
export declare const mrtFilterOptions: (localization: MRT_Localization) => MRT_InternalFilterOption[];
|
|
@@ -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 {};
|
|
@@ -1022,7 +1022,7 @@ const MRT_GlobalFilterTextField = ({ table, }) => {
|
|
|
1022
1022
|
const textFieldProps = muiSearchTextFieldProps instanceof Function
|
|
1023
1023
|
? muiSearchTextFieldProps({ table })
|
|
1024
1024
|
: muiSearchTextFieldProps;
|
|
1025
|
-
return (React.createElement(Collapse, { in: showGlobalFilter, orientation: "horizontal" },
|
|
1025
|
+
return (React.createElement(Collapse, { in: showGlobalFilter, orientation: "horizontal", unmountOnExit: true, mountOnEnter: true },
|
|
1026
1026
|
React.createElement(TextField, Object.assign({ placeholder: localization.search, onChange: handleChange, value: searchValue !== null && searchValue !== void 0 ? searchValue : '', variant: "standard", InputProps: {
|
|
1027
1027
|
startAdornment: enableGlobalFilterModes ? (React.createElement(InputAdornment, { position: "start" },
|
|
1028
1028
|
React.createElement(Tooltip, { arrow: true, title: localization.changeSearchMode },
|
|
@@ -1071,7 +1071,7 @@ const MRT_TablePagination = ({ table, position }) => {
|
|
|
1071
1071
|
return (React.createElement(TablePagination, Object.assign({ SelectProps: {
|
|
1072
1072
|
sx: { m: '0 1rem 0 1ch' },
|
|
1073
1073
|
MenuProps: { MenuListProps: { disablePadding: true } },
|
|
1074
|
-
}, 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({
|
|
1074
|
+
}, 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' &&
|
|
1075
1075
|
enableToolbarInternalActions &&
|
|
1076
1076
|
!showGlobalFilter
|
|
1077
1077
|
? '3.5rem'
|
|
@@ -1183,7 +1183,7 @@ const MRT_ToggleGlobalFilterButton = (_a) => {
|
|
|
1183
1183
|
|
|
1184
1184
|
const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
1185
1185
|
var _a;
|
|
1186
|
-
const { options: { enableColumnFilters, enableColumnOrdering, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePinning,
|
|
1186
|
+
const { options: { enableColumnFilters, enableColumnOrdering, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePinning, initialState, renderToolbarInternalActions, }, } = table;
|
|
1187
1187
|
return (React.createElement(Box, { sx: {
|
|
1188
1188
|
alignItems: 'center',
|
|
1189
1189
|
display: 'flex',
|
|
@@ -1191,8 +1191,9 @@ const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
|
1191
1191
|
} }, (_a = renderToolbarInternalActions === null || renderToolbarInternalActions === void 0 ? void 0 : renderToolbarInternalActions({
|
|
1192
1192
|
table,
|
|
1193
1193
|
})) !== null && _a !== void 0 ? _a : (React.createElement(React.Fragment, null,
|
|
1194
|
-
|
|
1195
|
-
|
|
1194
|
+
enableFilters &&
|
|
1195
|
+
enableGlobalFilter &&
|
|
1196
|
+
!(initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) && (React.createElement(MRT_ToggleGlobalFilterButton, { table: table })),
|
|
1196
1197
|
enableFilters && enableColumnFilters && (React.createElement(MRT_ToggleFiltersButton, { table: table })),
|
|
1197
1198
|
(enableHiding || enableColumnOrdering || enablePinning) && (React.createElement(MRT_ShowHideColumnsButton, { table: table })),
|
|
1198
1199
|
enableDensityToggle && (React.createElement(MRT_ToggleDensePaddingButton, { table: table })),
|
|
@@ -1266,7 +1267,9 @@ const MRT_TopToolbar = ({ table }) => {
|
|
|
1266
1267
|
width: '100%',
|
|
1267
1268
|
} },
|
|
1268
1269
|
enableGlobalFilter && positionGlobalFilter === 'left' && (React.createElement(MRT_GlobalFilterTextField, { table: table })), (_a = renderTopToolbarCustomActions === null || renderTopToolbarCustomActions === void 0 ? void 0 : renderTopToolbarCustomActions({ table })) !== null && _a !== void 0 ? _a : React.createElement("span", null),
|
|
1269
|
-
enableToolbarInternalActions ? (React.createElement(
|
|
1270
|
+
enableToolbarInternalActions ? (React.createElement(Box, { sx: { display: 'flex', flexWrap: 'wrap' } },
|
|
1271
|
+
enableGlobalFilter && positionGlobalFilter === 'right' && (React.createElement(MRT_GlobalFilterTextField, { table: table })),
|
|
1272
|
+
React.createElement(MRT_ToolbarInternalButtons, { table: table }))) : (enableGlobalFilter &&
|
|
1270
1273
|
positionGlobalFilter === 'right' && (React.createElement(MRT_GlobalFilterTextField, { table: table })))),
|
|
1271
1274
|
enablePagination &&
|
|
1272
1275
|
['top', 'both'].includes(positionPagination !== null && positionPagination !== void 0 ? positionPagination : '') && (React.createElement(MRT_TablePagination, { table: table, position: "top" })),
|
|
@@ -1294,8 +1297,11 @@ const MRT_BottomToolbar = ({ table }) => {
|
|
|
1294
1297
|
positionToolbarAlertBanner === 'bottom' && (React.createElement(MRT_ToolbarAlertBanner, { table: table })),
|
|
1295
1298
|
['both', 'bottom'].includes(positionToolbarDropZone !== null && positionToolbarDropZone !== void 0 ? positionToolbarDropZone : '') && (React.createElement(MRT_ToolbarDropZone, { table: table })),
|
|
1296
1299
|
React.createElement(Box, { sx: {
|
|
1300
|
+
alignItems: 'flex-start',
|
|
1301
|
+
boxSizing: 'border-box',
|
|
1297
1302
|
display: 'flex',
|
|
1298
1303
|
justifyContent: 'space-between',
|
|
1304
|
+
p: '0.5rem',
|
|
1299
1305
|
width: '100%',
|
|
1300
1306
|
} },
|
|
1301
1307
|
renderBottomToolbarCustomActions ? (renderBottomToolbarCustomActions({ table })) : (React.createElement("span", null)),
|
|
@@ -1440,7 +1446,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1440
1446
|
setAnchorEl(event.currentTarget);
|
|
1441
1447
|
};
|
|
1442
1448
|
useEffect(() => {
|
|
1443
|
-
|
|
1449
|
+
handleClear();
|
|
1444
1450
|
}, [columnDef._filterFn]);
|
|
1445
1451
|
if (columnDef.Filter) {
|
|
1446
1452
|
return React.createElement(React.Fragment, null, (_e = columnDef.Filter) === null || _e === void 0 ? void 0 : _e.call(columnDef, { column, header, table }));
|
|
@@ -1499,7 +1505,11 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1499
1505
|
if (textFieldProps.inputRef) {
|
|
1500
1506
|
textFieldProps.inputRef = inputRef;
|
|
1501
1507
|
}
|
|
1502
|
-
}, sx: (theme) => (Object.assign({ p: 0, minWidth:
|
|
1508
|
+
}, sx: (theme) => (Object.assign({ p: 0, minWidth: columnDef.filterVariant === 'range'
|
|
1509
|
+
? '90px'
|
|
1510
|
+
: !filterChipLabel
|
|
1511
|
+
? '120px'
|
|
1512
|
+
: 'auto', width: '100%', '& .MuiSelect-icon': {
|
|
1503
1513
|
mr: '1.5rem',
|
|
1504
1514
|
} }, ((textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.sx) instanceof Function
|
|
1505
1515
|
? textFieldProps.sx(theme)
|
|
@@ -1690,7 +1700,7 @@ const MRT_TableHeadCell = ({ header, table }) => {
|
|
|
1690
1700
|
return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
|
|
1691
1701
|
};
|
|
1692
1702
|
const getTotalRight = () => {
|
|
1693
|
-
return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) *
|
|
1703
|
+
return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 180);
|
|
1694
1704
|
};
|
|
1695
1705
|
const handleDragEnter = (_e) => {
|
|
1696
1706
|
if (enableGrouping && (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone') {
|
|
@@ -2155,8 +2165,8 @@ const MRT_TableBodyRow = ({ row, rowIndex, table, virtualRow, }) => {
|
|
|
2155
2165
|
renderDetailPanel && !row.getIsGrouped() && (React.createElement(MRT_TableDetailPanel, { row: row, table: table }))));
|
|
2156
2166
|
};
|
|
2157
2167
|
|
|
2158
|
-
const MRT_TableBody = ({ table
|
|
2159
|
-
const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, manualFiltering, manualSorting, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, } = table;
|
|
2168
|
+
const MRT_TableBody = ({ table }) => {
|
|
2169
|
+
const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, manualFiltering, manualSorting, muiTableBodyProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef }, } = table;
|
|
2160
2170
|
const { globalFilter, pagination, sorting } = getState();
|
|
2161
2171
|
const tableBodyProps = muiTableBodyProps instanceof Function
|
|
2162
2172
|
? muiTableBodyProps({ table })
|
|
@@ -2297,7 +2307,7 @@ const MRT_TableFooter = ({ table }) => {
|
|
|
2297
2307
|
: tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx))) }), getFooterGroups().map((footerGroup) => (React.createElement(MRT_TableFooterRow, { footerGroup: footerGroup, key: footerGroup.id, table: table })))));
|
|
2298
2308
|
};
|
|
2299
2309
|
|
|
2300
|
-
const MRT_Table = ({
|
|
2310
|
+
const MRT_Table = ({ table }) => {
|
|
2301
2311
|
const { getState, options: { enableColumnResizing, enableRowVirtualization, enableStickyHeader, enableTableFooter, enableTableHead, muiTableProps, }, } = table;
|
|
2302
2312
|
const { isFullScreen } = getState();
|
|
2303
2313
|
const tableProps = muiTableProps instanceof Function
|
|
@@ -2307,7 +2317,7 @@ const MRT_Table = ({ tableContainerRef, table }) => {
|
|
|
2307
2317
|
? tableProps.sx(theme)
|
|
2308
2318
|
: tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
|
|
2309
2319
|
enableTableHead && React.createElement(MRT_TableHead, { table: table }),
|
|
2310
|
-
React.createElement(MRT_TableBody, {
|
|
2320
|
+
React.createElement(MRT_TableBody, { table: table }),
|
|
2311
2321
|
enableTableFooter && React.createElement(MRT_TableFooter, { table: table })));
|
|
2312
2322
|
};
|
|
2313
2323
|
|
|
@@ -2342,7 +2352,7 @@ const MRT_TableContainer = ({ table }) => {
|
|
|
2342
2352
|
: tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.sx))), style: Object.assign({ maxHeight: isFullScreen
|
|
2343
2353
|
? `calc(100vh - ${totalToolbarHeight}px)`
|
|
2344
2354
|
: undefined }, tableContainerProps === null || tableContainerProps === void 0 ? void 0 : tableContainerProps.style) }),
|
|
2345
|
-
React.createElement(MRT_Table, {
|
|
2355
|
+
React.createElement(MRT_Table, { table: table })));
|
|
2346
2356
|
};
|
|
2347
2357
|
|
|
2348
2358
|
const MRT_TablePaper = ({ table }) => {
|
|
@@ -2520,9 +2530,9 @@ const MRT_TableRoot = (props) => {
|
|
|
2520
2530
|
props.tableInstanceRef.current = table;
|
|
2521
2531
|
}
|
|
2522
2532
|
return (React.createElement(React.Fragment, null,
|
|
2523
|
-
React.createElement(Dialog, { PaperComponent: Box, TransitionComponent: Grow, disablePortal: true, fullScreen: true, keepMounted: false, onClose: () => setIsFullScreen(false), open: isFullScreen, transitionDuration: 400 },
|
|
2533
|
+
React.createElement(Dialog, { PaperComponent: Box, TransitionComponent: Grow, disablePortal: true, fullScreen: true, keepMounted: false, onClose: () => table.setIsFullScreen(false), open: table.getState().isFullScreen, transitionDuration: 400 },
|
|
2524
2534
|
React.createElement(MRT_TablePaper, { table: table })),
|
|
2525
|
-
!isFullScreen && React.createElement(MRT_TablePaper, { table: table }),
|
|
2535
|
+
!table.getState().isFullScreen && React.createElement(MRT_TablePaper, { table: table }),
|
|
2526
2536
|
editingRow && props.editingMode === 'modal' && (React.createElement(MRT_EditRowModal, { row: editingRow, table: table, open: true }))));
|
|
2527
2537
|
};
|
|
2528
2538
|
|