material-react-table 0.30.2 → 0.31.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/dist/MaterialReactTable.d.ts +21 -8
- package/dist/localization.d.ts +1 -0
- package/dist/material-react-table.cjs.development.js +69 -6
- 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 +70 -7
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/toolbar/MRT_ToolbarDropZone.d.ts +7 -0
- package/package.json +3 -3
- package/src/MaterialReactTable.tsx +14 -7
- package/src/body/MRT_TableBodyCell.tsx +4 -0
- package/src/head/MRT_TableHeadCell.tsx +3 -0
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +6 -2
- package/src/localization.ts +2 -0
- package/src/table/MRT_TableRoot.tsx +8 -7
- package/src/toolbar/MRT_ToolbarBottom.tsx +5 -0
- package/src/toolbar/MRT_ToolbarDropZone.tsx +54 -0
- package/src/toolbar/MRT_ToolbarTop.tsx +5 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useMemo, useState, useCallback, Fragment, useRef, useLayoutEffect, useEffect } from 'react';
|
|
2
2
|
import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityLarge, DensityMedium, DensitySmall, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, KeyboardDoubleArrowDown, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
|
|
3
3
|
import { filterFns, sortingFns, useReactTable, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel } from '@tanstack/react-table';
|
|
4
|
-
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Typography, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, LinearProgress, TablePagination, Chip, Alert, AlertTitle, useMediaQuery, Toolbar, lighten,
|
|
4
|
+
import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Typography, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, LinearProgress, TablePagination, Chip, Alert, AlertTitle, Fade, alpha, useMediaQuery, Toolbar, lighten, ListItemText, Grow, TableSortLabel, useTheme, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
|
|
5
5
|
import { rankItem, rankings, compareItems } from '@tanstack/match-sorter-utils';
|
|
6
6
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
7
7
|
|
|
@@ -49,6 +49,7 @@ var MRT_DefaultLocalization_EN = {
|
|
|
49
49
|
clickToCopy: 'Click to copy',
|
|
50
50
|
columnActions: 'Column Actions',
|
|
51
51
|
copiedToClipboard: 'Copied to clipboard',
|
|
52
|
+
dropToGroupBy: 'Drop to group by {column}',
|
|
52
53
|
edit: 'Edit',
|
|
53
54
|
expand: 'Expand',
|
|
54
55
|
expandAll: 'Expand all',
|
|
@@ -1928,6 +1929,48 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
1928
1929
|
})));
|
|
1929
1930
|
};
|
|
1930
1931
|
|
|
1932
|
+
var MRT_ToolbarDropZone = function MRT_ToolbarDropZone(_ref) {
|
|
1933
|
+
var _currentDraggingColum, _currentDraggingColum2;
|
|
1934
|
+
|
|
1935
|
+
var table = _ref.table;
|
|
1936
|
+
var getState = table.getState,
|
|
1937
|
+
_table$options = table.options,
|
|
1938
|
+
enableGrouping = _table$options.enableGrouping,
|
|
1939
|
+
localization = _table$options.localization,
|
|
1940
|
+
setCurrentHoveredColumn = table.setCurrentHoveredColumn;
|
|
1941
|
+
|
|
1942
|
+
var _getState = getState(),
|
|
1943
|
+
currentDraggingColumn = _getState.currentDraggingColumn,
|
|
1944
|
+
currentHoveredColumn = _getState.currentHoveredColumn;
|
|
1945
|
+
|
|
1946
|
+
var handleDragEnter = function handleDragEnter(_event) {
|
|
1947
|
+
setCurrentHoveredColumn({
|
|
1948
|
+
id: 'drop-zone'
|
|
1949
|
+
});
|
|
1950
|
+
};
|
|
1951
|
+
|
|
1952
|
+
return React.createElement(Fade, {
|
|
1953
|
+
unmountOnExit: true,
|
|
1954
|
+
mountOnEnter: true,
|
|
1955
|
+
"in": !!enableGrouping && !!currentDraggingColumn
|
|
1956
|
+
}, React.createElement(Box, {
|
|
1957
|
+
sx: function sx(theme) {
|
|
1958
|
+
return {
|
|
1959
|
+
alignItems: 'center',
|
|
1960
|
+
backgroundColor: alpha(theme.palette.info.main, (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1),
|
|
1961
|
+
border: "dashed " + theme.palette.info.main + " 2px",
|
|
1962
|
+
display: 'flex',
|
|
1963
|
+
justifyContent: 'center',
|
|
1964
|
+
height: 'calc(100% - 4px)',
|
|
1965
|
+
position: 'absolute',
|
|
1966
|
+
width: 'calc(100% - 4px)',
|
|
1967
|
+
zIndex: 2
|
|
1968
|
+
};
|
|
1969
|
+
},
|
|
1970
|
+
onDragEnter: handleDragEnter
|
|
1971
|
+
}, React.createElement(Typography, null, localization.dropToGroupBy.replace('{column}', (_currentDraggingColum = currentDraggingColumn == null ? void 0 : (_currentDraggingColum2 = currentDraggingColumn.columnDef) == null ? void 0 : _currentDraggingColum2.header) != null ? _currentDraggingColum : ''))));
|
|
1972
|
+
};
|
|
1973
|
+
|
|
1931
1974
|
var commonToolbarStyles = function commonToolbarStyles(_ref) {
|
|
1932
1975
|
var theme = _ref.theme;
|
|
1933
1976
|
return {
|
|
@@ -1955,6 +1998,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
|
|
|
1955
1998
|
positionGlobalFilter = _table$options.positionGlobalFilter,
|
|
1956
1999
|
positionPagination = _table$options.positionPagination,
|
|
1957
2000
|
positionToolbarAlertBanner = _table$options.positionToolbarAlertBanner,
|
|
2001
|
+
positionToolbarDropZone = _table$options.positionToolbarDropZone,
|
|
1958
2002
|
renderToolbarTopCustomActions = _table$options.renderToolbarTopCustomActions,
|
|
1959
2003
|
tableId = _table$options.tableId;
|
|
1960
2004
|
|
|
@@ -1982,6 +2026,8 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
|
|
|
1982
2026
|
}), positionToolbarAlertBanner === 'top' && React.createElement(MRT_ToolbarAlertBanner, {
|
|
1983
2027
|
stackAlertBanner: stackAlertBanner,
|
|
1984
2028
|
table: table
|
|
2029
|
+
}), ['both', 'top'].includes(positionToolbarDropZone != null ? positionToolbarDropZone : '') && React.createElement(MRT_ToolbarDropZone, {
|
|
2030
|
+
table: table
|
|
1985
2031
|
}), React.createElement(Box, {
|
|
1986
2032
|
sx: {
|
|
1987
2033
|
alignItems: 'flex-start',
|
|
@@ -2019,6 +2065,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
2019
2065
|
muiTableToolbarBottomProps = _table$options.muiTableToolbarBottomProps,
|
|
2020
2066
|
positionPagination = _table$options.positionPagination,
|
|
2021
2067
|
positionToolbarAlertBanner = _table$options.positionToolbarAlertBanner,
|
|
2068
|
+
positionToolbarDropZone = _table$options.positionToolbarDropZone,
|
|
2022
2069
|
renderToolbarBottomCustomActions = _table$options.renderToolbarBottomCustomActions,
|
|
2023
2070
|
tableId = _table$options.tableId;
|
|
2024
2071
|
|
|
@@ -2050,6 +2097,8 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
2050
2097
|
table: table
|
|
2051
2098
|
}), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
|
|
2052
2099
|
table: table
|
|
2100
|
+
}), ['both', 'bottom'].includes(positionToolbarDropZone != null ? positionToolbarDropZone : '') && React.createElement(MRT_ToolbarDropZone, {
|
|
2101
|
+
table: table
|
|
2053
2102
|
}), React.createElement(Box, {
|
|
2054
2103
|
sx: {
|
|
2055
2104
|
display: 'flex',
|
|
@@ -2526,7 +2575,9 @@ var MRT_TableHeadCellGrabHandle = function MRT_TableHeadCellGrabHandle(_ref) {
|
|
|
2526
2575
|
targetColumn: currentHoveredColumn
|
|
2527
2576
|
});
|
|
2528
2577
|
|
|
2529
|
-
if (
|
|
2578
|
+
if ((currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
|
|
2579
|
+
column.toggleGrouping();
|
|
2580
|
+
} else if (enableColumnOrdering && currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
|
|
2530
2581
|
setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
|
|
2531
2582
|
}
|
|
2532
2583
|
|
|
@@ -2663,6 +2714,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2663
2714
|
};
|
|
2664
2715
|
|
|
2665
2716
|
var handleDragEnter = function handleDragEnter(_e) {
|
|
2717
|
+
if (enableGrouping && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
|
|
2718
|
+
setCurrentHoveredColumn(null);
|
|
2719
|
+
}
|
|
2720
|
+
|
|
2666
2721
|
if (enableColumnOrdering && currentDraggingColumn) {
|
|
2667
2722
|
setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
|
|
2668
2723
|
}
|
|
@@ -2997,6 +3052,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2997
3052
|
enableClickToCopy = _table$options.enableClickToCopy,
|
|
2998
3053
|
enableColumnOrdering = _table$options.enableColumnOrdering,
|
|
2999
3054
|
enableEditing = _table$options.enableEditing,
|
|
3055
|
+
enableGrouping = _table$options.enableGrouping,
|
|
3000
3056
|
enablePagination = _table$options.enablePagination,
|
|
3001
3057
|
enableRowNumbers = _table$options.enableRowNumbers,
|
|
3002
3058
|
muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
|
|
@@ -3063,6 +3119,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
3063
3119
|
};
|
|
3064
3120
|
|
|
3065
3121
|
var handleDragEnter = function handleDragEnter(_e) {
|
|
3122
|
+
if (enableGrouping && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
|
|
3123
|
+
setCurrentHoveredColumn(null);
|
|
3124
|
+
}
|
|
3125
|
+
|
|
3066
3126
|
if (enableColumnOrdering && currentDraggingColumn) {
|
|
3067
3127
|
setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
|
|
3068
3128
|
}
|
|
@@ -3723,14 +3783,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3723
3783
|
getGroupedRowModel: getGroupedRowModel(),
|
|
3724
3784
|
getPaginationRowModel: getPaginationRowModel(),
|
|
3725
3785
|
getSortedRowModel: getSortedRowModel(),
|
|
3726
|
-
onColumnOrderChange: setColumnOrder
|
|
3786
|
+
onColumnOrderChange: setColumnOrder,
|
|
3787
|
+
getSubRows: function getSubRows(row) {
|
|
3788
|
+
return row == null ? void 0 : row.subRows;
|
|
3789
|
+
}
|
|
3727
3790
|
}, props, {
|
|
3728
3791
|
//@ts-ignore
|
|
3729
3792
|
columns: columnDefs,
|
|
3730
3793
|
data: data,
|
|
3731
|
-
getSubRows: function getSubRows(row) {
|
|
3732
|
-
return row == null ? void 0 : row.subRows;
|
|
3733
|
-
},
|
|
3734
3794
|
globalFilterFn: //@ts-ignore
|
|
3735
3795
|
(_MRT_FilterFns$curren = MRT_FilterFns[currentGlobalFilterFn]) != null ? _MRT_FilterFns$curren : MRT_FilterFns.fuzzy,
|
|
3736
3796
|
initialState: initialState,
|
|
@@ -3788,7 +3848,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3788
3848
|
}));
|
|
3789
3849
|
};
|
|
3790
3850
|
|
|
3791
|
-
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
|
|
3851
|
+
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode"];
|
|
3792
3852
|
var MaterialReactTable = (function (_ref) {
|
|
3793
3853
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3794
3854
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3868,6 +3928,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3868
3928
|
positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
|
|
3869
3929
|
_ref$positionToolbarA = _ref.positionToolbarAlertBanner,
|
|
3870
3930
|
positionToolbarAlertBanner = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
|
|
3931
|
+
_ref$positionToolbarD = _ref.positionToolbarDropZone,
|
|
3932
|
+
positionToolbarDropZone = _ref$positionToolbarD === void 0 ? 'top' : _ref$positionToolbarD,
|
|
3871
3933
|
_ref$rowNumberMode = _ref.rowNumberMode,
|
|
3872
3934
|
rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
|
|
3873
3935
|
_ref$selectAllMode = _ref.selectAllMode,
|
|
@@ -3913,6 +3975,7 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3913
3975
|
positionGlobalFilter: positionGlobalFilter,
|
|
3914
3976
|
positionPagination: positionPagination,
|
|
3915
3977
|
positionToolbarAlertBanner: positionToolbarAlertBanner,
|
|
3978
|
+
positionToolbarDropZone: positionToolbarDropZone,
|
|
3916
3979
|
rowNumberMode: rowNumberMode,
|
|
3917
3980
|
selectAllMode: selectAllMode
|
|
3918
3981
|
}, rest));
|