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
|
@@ -43,8 +43,12 @@ export declare type MRT_TableInstance<TData extends Record<string, any> = {}> =
|
|
|
43
43
|
[key: string]: MRT_FilterOption;
|
|
44
44
|
}>>;
|
|
45
45
|
setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterOption>>;
|
|
46
|
-
setCurrentHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> |
|
|
47
|
-
|
|
46
|
+
setCurrentHoveredColumn: Dispatch<SetStateAction<MRT_Column<TData> | {
|
|
47
|
+
id: string;
|
|
48
|
+
} | null>>;
|
|
49
|
+
setCurrentHoveredRow: Dispatch<SetStateAction<MRT_Row<TData> | {
|
|
50
|
+
id: string;
|
|
51
|
+
} | null>>;
|
|
48
52
|
setDensity: Dispatch<SetStateAction<'comfortable' | 'compact' | 'spacious'>>;
|
|
49
53
|
setIsFullScreen: Dispatch<SetStateAction<boolean>>;
|
|
50
54
|
setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
|
|
@@ -58,8 +62,12 @@ export declare type MRT_TableState<TData extends Record<string, any> = {}> = Tab
|
|
|
58
62
|
currentEditingRow: MRT_Row<TData> | null;
|
|
59
63
|
currentFilterFns: Record<string, MRT_FilterOption>;
|
|
60
64
|
currentGlobalFilterFn: Record<string, MRT_FilterOption>;
|
|
61
|
-
currentHoveredColumn: MRT_Column<TData> |
|
|
62
|
-
|
|
65
|
+
currentHoveredColumn: MRT_Column<TData> | {
|
|
66
|
+
id: string;
|
|
67
|
+
} | null;
|
|
68
|
+
currentHoveredRow: MRT_Row<TData> | {
|
|
69
|
+
id: string;
|
|
70
|
+
} | null;
|
|
63
71
|
density: 'comfortable' | 'compact' | 'spacious';
|
|
64
72
|
isFullScreen: boolean;
|
|
65
73
|
isLoading: boolean;
|
|
@@ -393,7 +401,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
393
401
|
onColumnDrop?: ({ event, draggedColumn, targetColumn, }: {
|
|
394
402
|
event: DragEvent<HTMLButtonElement>;
|
|
395
403
|
draggedColumn: MRT_Column<TData>;
|
|
396
|
-
targetColumn: MRT_Column<TData> |
|
|
404
|
+
targetColumn: MRT_Column<TData> | {
|
|
405
|
+
id: string;
|
|
406
|
+
} | null;
|
|
397
407
|
}) => void;
|
|
398
408
|
onCurrentDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
|
|
399
409
|
onCurrentDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
|
|
@@ -414,7 +424,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
414
424
|
onRowDrop?: ({ event, draggedRow, targetRow, }: {
|
|
415
425
|
event: DragEvent<HTMLButtonElement>;
|
|
416
426
|
draggedRow: MRT_Row<TData>;
|
|
417
|
-
targetRow: MRT_Row<TData> |
|
|
427
|
+
targetRow: MRT_Row<TData> | {
|
|
428
|
+
id: string;
|
|
429
|
+
} | null;
|
|
418
430
|
}) => void;
|
|
419
431
|
onShowAlertBannerChange?: OnChangeFn<boolean>;
|
|
420
432
|
onShowFiltersChange?: OnChangeFn<boolean>;
|
|
@@ -424,7 +436,8 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
424
436
|
positionExpandColumn?: 'first' | 'last';
|
|
425
437
|
positionGlobalFilter?: 'left' | 'right';
|
|
426
438
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
427
|
-
positionToolbarAlertBanner?: 'bottom' | 'top';
|
|
439
|
+
positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
|
|
440
|
+
positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
|
|
428
441
|
renderDetailPanel?: ({ row, table, }: {
|
|
429
442
|
row: MRT_Row<TData>;
|
|
430
443
|
table: MRT_TableInstance<TData>;
|
|
@@ -469,5 +482,5 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
469
482
|
tableId?: string;
|
|
470
483
|
virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
|
|
471
484
|
};
|
|
472
|
-
declare const _default: <TData extends Record<string, any> = {}>({ 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, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
|
|
485
|
+
declare const _default: <TData extends Record<string, any> = {}>({ 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, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
|
|
473
486
|
export default _default;
|
package/dist/localization.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ var MRT_DefaultLocalization_EN = {
|
|
|
56
56
|
clickToCopy: 'Click to copy',
|
|
57
57
|
columnActions: 'Column Actions',
|
|
58
58
|
copiedToClipboard: 'Copied to clipboard',
|
|
59
|
+
dropToGroupBy: 'Drop to group by {column}',
|
|
59
60
|
edit: 'Edit',
|
|
60
61
|
expand: 'Expand',
|
|
61
62
|
expandAll: 'Expand all',
|
|
@@ -1935,6 +1936,48 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
1935
1936
|
})));
|
|
1936
1937
|
};
|
|
1937
1938
|
|
|
1939
|
+
var MRT_ToolbarDropZone = function MRT_ToolbarDropZone(_ref) {
|
|
1940
|
+
var _currentDraggingColum, _currentDraggingColum2;
|
|
1941
|
+
|
|
1942
|
+
var table = _ref.table;
|
|
1943
|
+
var getState = table.getState,
|
|
1944
|
+
_table$options = table.options,
|
|
1945
|
+
enableGrouping = _table$options.enableGrouping,
|
|
1946
|
+
localization = _table$options.localization,
|
|
1947
|
+
setCurrentHoveredColumn = table.setCurrentHoveredColumn;
|
|
1948
|
+
|
|
1949
|
+
var _getState = getState(),
|
|
1950
|
+
currentDraggingColumn = _getState.currentDraggingColumn,
|
|
1951
|
+
currentHoveredColumn = _getState.currentHoveredColumn;
|
|
1952
|
+
|
|
1953
|
+
var handleDragEnter = function handleDragEnter(_event) {
|
|
1954
|
+
setCurrentHoveredColumn({
|
|
1955
|
+
id: 'drop-zone'
|
|
1956
|
+
});
|
|
1957
|
+
};
|
|
1958
|
+
|
|
1959
|
+
return React__default.createElement(material.Fade, {
|
|
1960
|
+
unmountOnExit: true,
|
|
1961
|
+
mountOnEnter: true,
|
|
1962
|
+
"in": !!enableGrouping && !!currentDraggingColumn
|
|
1963
|
+
}, React__default.createElement(material.Box, {
|
|
1964
|
+
sx: function sx(theme) {
|
|
1965
|
+
return {
|
|
1966
|
+
alignItems: 'center',
|
|
1967
|
+
backgroundColor: material.alpha(theme.palette.info.main, (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1),
|
|
1968
|
+
border: "dashed " + theme.palette.info.main + " 2px",
|
|
1969
|
+
display: 'flex',
|
|
1970
|
+
justifyContent: 'center',
|
|
1971
|
+
height: 'calc(100% - 4px)',
|
|
1972
|
+
position: 'absolute',
|
|
1973
|
+
width: 'calc(100% - 4px)',
|
|
1974
|
+
zIndex: 2
|
|
1975
|
+
};
|
|
1976
|
+
},
|
|
1977
|
+
onDragEnter: handleDragEnter
|
|
1978
|
+
}, React__default.createElement(material.Typography, null, localization.dropToGroupBy.replace('{column}', (_currentDraggingColum = currentDraggingColumn == null ? void 0 : (_currentDraggingColum2 = currentDraggingColumn.columnDef) == null ? void 0 : _currentDraggingColum2.header) != null ? _currentDraggingColum : ''))));
|
|
1979
|
+
};
|
|
1980
|
+
|
|
1938
1981
|
var commonToolbarStyles = function commonToolbarStyles(_ref) {
|
|
1939
1982
|
var theme = _ref.theme;
|
|
1940
1983
|
return {
|
|
@@ -1962,6 +2005,7 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
|
|
|
1962
2005
|
positionGlobalFilter = _table$options.positionGlobalFilter,
|
|
1963
2006
|
positionPagination = _table$options.positionPagination,
|
|
1964
2007
|
positionToolbarAlertBanner = _table$options.positionToolbarAlertBanner,
|
|
2008
|
+
positionToolbarDropZone = _table$options.positionToolbarDropZone,
|
|
1965
2009
|
renderToolbarTopCustomActions = _table$options.renderToolbarTopCustomActions,
|
|
1966
2010
|
tableId = _table$options.tableId;
|
|
1967
2011
|
|
|
@@ -1989,6 +2033,8 @@ var MRT_ToolbarTop = function MRT_ToolbarTop(_ref2) {
|
|
|
1989
2033
|
}), positionToolbarAlertBanner === 'top' && React__default.createElement(MRT_ToolbarAlertBanner, {
|
|
1990
2034
|
stackAlertBanner: stackAlertBanner,
|
|
1991
2035
|
table: table
|
|
2036
|
+
}), ['both', 'top'].includes(positionToolbarDropZone != null ? positionToolbarDropZone : '') && React__default.createElement(MRT_ToolbarDropZone, {
|
|
2037
|
+
table: table
|
|
1992
2038
|
}), React__default.createElement(material.Box, {
|
|
1993
2039
|
sx: {
|
|
1994
2040
|
alignItems: 'flex-start',
|
|
@@ -2026,6 +2072,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
2026
2072
|
muiTableToolbarBottomProps = _table$options.muiTableToolbarBottomProps,
|
|
2027
2073
|
positionPagination = _table$options.positionPagination,
|
|
2028
2074
|
positionToolbarAlertBanner = _table$options.positionToolbarAlertBanner,
|
|
2075
|
+
positionToolbarDropZone = _table$options.positionToolbarDropZone,
|
|
2029
2076
|
renderToolbarBottomCustomActions = _table$options.renderToolbarBottomCustomActions,
|
|
2030
2077
|
tableId = _table$options.tableId;
|
|
2031
2078
|
|
|
@@ -2057,6 +2104,8 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
2057
2104
|
table: table
|
|
2058
2105
|
}), positionToolbarAlertBanner === 'bottom' && React__default.createElement(MRT_ToolbarAlertBanner, {
|
|
2059
2106
|
table: table
|
|
2107
|
+
}), ['both', 'bottom'].includes(positionToolbarDropZone != null ? positionToolbarDropZone : '') && React__default.createElement(MRT_ToolbarDropZone, {
|
|
2108
|
+
table: table
|
|
2060
2109
|
}), React__default.createElement(material.Box, {
|
|
2061
2110
|
sx: {
|
|
2062
2111
|
display: 'flex',
|
|
@@ -2533,7 +2582,9 @@ var MRT_TableHeadCellGrabHandle = function MRT_TableHeadCellGrabHandle(_ref) {
|
|
|
2533
2582
|
targetColumn: currentHoveredColumn
|
|
2534
2583
|
});
|
|
2535
2584
|
|
|
2536
|
-
if (
|
|
2585
|
+
if ((currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
|
|
2586
|
+
column.toggleGrouping();
|
|
2587
|
+
} else if (enableColumnOrdering && currentHoveredColumn && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) !== (currentDraggingColumn == null ? void 0 : currentDraggingColumn.id)) {
|
|
2537
2588
|
setColumnOrder(reorderColumn(column, currentHoveredColumn, columnOrder));
|
|
2538
2589
|
}
|
|
2539
2590
|
|
|
@@ -2670,6 +2721,10 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
2670
2721
|
};
|
|
2671
2722
|
|
|
2672
2723
|
var handleDragEnter = function handleDragEnter(_e) {
|
|
2724
|
+
if (enableGrouping && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
|
|
2725
|
+
setCurrentHoveredColumn(null);
|
|
2726
|
+
}
|
|
2727
|
+
|
|
2673
2728
|
if (enableColumnOrdering && currentDraggingColumn) {
|
|
2674
2729
|
setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
|
|
2675
2730
|
}
|
|
@@ -3004,6 +3059,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
3004
3059
|
enableClickToCopy = _table$options.enableClickToCopy,
|
|
3005
3060
|
enableColumnOrdering = _table$options.enableColumnOrdering,
|
|
3006
3061
|
enableEditing = _table$options.enableEditing,
|
|
3062
|
+
enableGrouping = _table$options.enableGrouping,
|
|
3007
3063
|
enablePagination = _table$options.enablePagination,
|
|
3008
3064
|
enableRowNumbers = _table$options.enableRowNumbers,
|
|
3009
3065
|
muiTableBodyCellProps = _table$options.muiTableBodyCellProps,
|
|
@@ -3070,6 +3126,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
3070
3126
|
};
|
|
3071
3127
|
|
|
3072
3128
|
var handleDragEnter = function handleDragEnter(_e) {
|
|
3129
|
+
if (enableGrouping && (currentHoveredColumn == null ? void 0 : currentHoveredColumn.id) === 'drop-zone') {
|
|
3130
|
+
setCurrentHoveredColumn(null);
|
|
3131
|
+
}
|
|
3132
|
+
|
|
3073
3133
|
if (enableColumnOrdering && currentDraggingColumn) {
|
|
3074
3134
|
setCurrentHoveredColumn(columnDef.enableColumnOrdering !== false ? column : null);
|
|
3075
3135
|
}
|
|
@@ -3730,14 +3790,14 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3730
3790
|
getGroupedRowModel: reactTable.getGroupedRowModel(),
|
|
3731
3791
|
getPaginationRowModel: reactTable.getPaginationRowModel(),
|
|
3732
3792
|
getSortedRowModel: reactTable.getSortedRowModel(),
|
|
3733
|
-
onColumnOrderChange: setColumnOrder
|
|
3793
|
+
onColumnOrderChange: setColumnOrder,
|
|
3794
|
+
getSubRows: function getSubRows(row) {
|
|
3795
|
+
return row == null ? void 0 : row.subRows;
|
|
3796
|
+
}
|
|
3734
3797
|
}, props, {
|
|
3735
3798
|
//@ts-ignore
|
|
3736
3799
|
columns: columnDefs,
|
|
3737
3800
|
data: data,
|
|
3738
|
-
getSubRows: function getSubRows(row) {
|
|
3739
|
-
return row == null ? void 0 : row.subRows;
|
|
3740
|
-
},
|
|
3741
3801
|
globalFilterFn: //@ts-ignore
|
|
3742
3802
|
(_MRT_FilterFns$curren = MRT_FilterFns[currentGlobalFilterFn]) != null ? _MRT_FilterFns$curren : MRT_FilterFns.fuzzy,
|
|
3743
3803
|
initialState: initialState,
|
|
@@ -3795,7 +3855,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3795
3855
|
}));
|
|
3796
3856
|
};
|
|
3797
3857
|
|
|
3798
|
-
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"];
|
|
3858
|
+
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"];
|
|
3799
3859
|
var MaterialReactTable = (function (_ref) {
|
|
3800
3860
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3801
3861
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3875,6 +3935,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3875
3935
|
positionPagination = _ref$positionPaginati === void 0 ? 'bottom' : _ref$positionPaginati,
|
|
3876
3936
|
_ref$positionToolbarA = _ref.positionToolbarAlertBanner,
|
|
3877
3937
|
positionToolbarAlertBanner = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
|
|
3938
|
+
_ref$positionToolbarD = _ref.positionToolbarDropZone,
|
|
3939
|
+
positionToolbarDropZone = _ref$positionToolbarD === void 0 ? 'top' : _ref$positionToolbarD,
|
|
3878
3940
|
_ref$rowNumberMode = _ref.rowNumberMode,
|
|
3879
3941
|
rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
|
|
3880
3942
|
_ref$selectAllMode = _ref.selectAllMode,
|
|
@@ -3920,6 +3982,7 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3920
3982
|
positionGlobalFilter: positionGlobalFilter,
|
|
3921
3983
|
positionPagination: positionPagination,
|
|
3922
3984
|
positionToolbarAlertBanner: positionToolbarAlertBanner,
|
|
3985
|
+
positionToolbarDropZone: positionToolbarDropZone,
|
|
3923
3986
|
rowNumberMode: rowNumberMode,
|
|
3924
3987
|
selectAllMode: selectAllMode
|
|
3925
3988
|
}, rest));
|