material-react-table 1.5.1 → 1.5.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/dist/cjs/index.js +21 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +3 -0
- package/dist/cjs/types/table/MRT_TableRoot.d.ts +1 -0
- package/dist/esm/material-react-table.esm.js +21 -13
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +3 -0
- package/dist/esm/types/table/MRT_TableRoot.d.ts +1 -0
- package/dist/index.d.ts +3 -0
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +3 -0
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +7 -5
- package/src/table/MRT_TableRoot.tsx +5 -0
- package/src/toolbar/MRT_ToolbarDropZone.tsx +16 -11
@@ -176,6 +176,7 @@ export type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<Tab
|
|
176
176
|
setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
|
177
177
|
setShowFilters: Dispatch<SetStateAction<boolean>>;
|
178
178
|
setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
|
179
|
+
setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
|
179
180
|
};
|
180
181
|
export type MRT_TableState<TData extends Record<string, any> = {}> = TableState & {
|
181
182
|
columnFilterFns: Record<string, MRT_FilterOption>;
|
@@ -198,6 +199,7 @@ export type MRT_TableState<TData extends Record<string, any> = {}> = TableState
|
|
198
199
|
showGlobalFilter: boolean;
|
199
200
|
showProgressBars: boolean;
|
200
201
|
showSkeletons: boolean;
|
202
|
+
showToolbarDropZone: boolean;
|
201
203
|
};
|
202
204
|
export type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'aggregatedCell' | 'aggregationFn' | 'cell' | 'columns' | 'filterFn' | 'footer' | 'header' | 'id' | 'sortingFn'> & {
|
203
205
|
AggregatedCell?: ({ cell, column, row, table, }: {
|
@@ -636,6 +638,7 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> = Om
|
|
636
638
|
onShowAlertBannerChange?: OnChangeFn<boolean>;
|
637
639
|
onShowFiltersChange?: OnChangeFn<boolean>;
|
638
640
|
onShowGlobalFilterChange?: OnChangeFn<boolean>;
|
641
|
+
onShowToolbarDropZoneChange?: OnChangeFn<boolean>;
|
639
642
|
positionActionsColumn?: 'first' | 'last';
|
640
643
|
positionExpandColumn?: 'first' | 'last';
|
641
644
|
positionGlobalFilter?: 'left' | 'right' | 'none';
|
@@ -199,6 +199,7 @@ export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(pro
|
|
199
199
|
onShowAlertBannerChange?: import("@tanstack/react-table").OnChangeFn<boolean> | undefined;
|
200
200
|
onShowFiltersChange?: import("@tanstack/react-table").OnChangeFn<boolean> | undefined;
|
201
201
|
onShowGlobalFilterChange?: import("@tanstack/react-table").OnChangeFn<boolean> | undefined;
|
202
|
+
onShowToolbarDropZoneChange?: import("@tanstack/react-table").OnChangeFn<boolean> | undefined;
|
202
203
|
positionActionsColumn?: "first" | "last" | undefined;
|
203
204
|
positionExpandColumn?: "first" | "last" | undefined;
|
204
205
|
positionGlobalFilter?: "left" | "right" | "none" | undefined;
|
@@ -1242,7 +1242,7 @@ const MRT_ShowHideColumnsButton = (_a) => {
|
|
1242
1242
|
React.createElement(Tooltip, { arrow: true, title: (_b = rest === null || rest === void 0 ? void 0 : rest.title) !== null && _b !== void 0 ? _b : localization.showHideColumns },
|
1243
1243
|
React.createElement(IconButton, Object.assign({ "aria-label": localization.showHideColumns, onClick: handleClick }, rest, { title: undefined }),
|
1244
1244
|
React.createElement(ViewColumnIcon, null))),
|
1245
|
-
React.createElement(MRT_ShowHideColumnsMenu, { anchorEl: anchorEl, setAnchorEl: setAnchorEl, table: table })));
|
1245
|
+
anchorEl && (React.createElement(MRT_ShowHideColumnsMenu, { anchorEl: anchorEl, setAnchorEl: setAnchorEl, table: table }))));
|
1246
1246
|
};
|
1247
1247
|
|
1248
1248
|
const MRT_ToggleDensePaddingButton = (_a) => {
|
@@ -1308,15 +1308,21 @@ const MRT_ToolbarInternalButtons = ({ table, }) => {
|
|
1308
1308
|
|
1309
1309
|
const MRT_ToolbarDropZone = ({ table, }) => {
|
1310
1310
|
var _a, _b;
|
1311
|
-
const { getState, options: { enableGrouping, localization }, setHoveredColumn, } = table;
|
1312
|
-
const { draggingColumn, hoveredColumn, grouping } = getState();
|
1311
|
+
const { getState, options: { enableGrouping, localization }, setHoveredColumn, setShowToolbarDropZone, } = table;
|
1312
|
+
const { draggingColumn, hoveredColumn, grouping, showToolbarDropZone } = getState();
|
1313
1313
|
const handleDragEnter = (_event) => {
|
1314
1314
|
setHoveredColumn({ id: 'drop-zone' });
|
1315
1315
|
};
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1316
|
+
useEffect(() => {
|
1317
|
+
var _a;
|
1318
|
+
if (((_a = table.options.state) === null || _a === void 0 ? void 0 : _a.showToolbarDropZone) !== undefined) {
|
1319
|
+
setShowToolbarDropZone(!!enableGrouping &&
|
1320
|
+
!!draggingColumn &&
|
1321
|
+
!grouping.includes(draggingColumn.id));
|
1322
|
+
}
|
1323
|
+
}, [enableGrouping, draggingColumn, grouping]);
|
1324
|
+
return (React.createElement(Fade, { in: showToolbarDropZone },
|
1325
|
+
React.createElement(Box, { className: "Mui-ToolbarDropZone", sx: (theme) => ({
|
1320
1326
|
alignItems: 'center',
|
1321
1327
|
backgroundColor: alpha(theme.palette.info.main, (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1),
|
1322
1328
|
border: `dashed ${theme.palette.info.main} 2px`,
|
@@ -2678,7 +2684,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
|
|
2678
2684
|
};
|
2679
2685
|
|
2680
2686
|
const MRT_TableRoot = (props) => {
|
2681
|
-
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;
|
2687
|
+
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;
|
2682
2688
|
const bottomToolbarRef = useRef(null);
|
2683
2689
|
const editInputRefs = useRef({});
|
2684
2690
|
const filterInputRefs = useRef({});
|
@@ -2717,6 +2723,7 @@ const MRT_TableRoot = (props) => {
|
|
2717
2723
|
const [showAlertBanner, setShowAlertBanner] = useState((_o = (_m = props.initialState) === null || _m === void 0 ? void 0 : _m.showAlertBanner) !== null && _o !== void 0 ? _o : false);
|
2718
2724
|
const [showColumnFilters, setShowFilters] = useState((_p = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _p !== void 0 ? _p : false);
|
2719
2725
|
const [showGlobalFilter, setShowGlobalFilter] = useState((_q = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _q !== void 0 ? _q : false);
|
2726
|
+
const [showToolbarDropZone, setShowToolbarDropZone] = useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _r !== void 0 ? _r : false);
|
2720
2727
|
const displayColumns = useMemo(() => {
|
2721
2728
|
var _a, _b, _c, _d, _e;
|
2722
2729
|
return [
|
@@ -2767,7 +2774,7 @@ const MRT_TableRoot = (props) => {
|
|
2767
2774
|
columnFilterFns,
|
2768
2775
|
displayColumns,
|
2769
2776
|
props.columns,
|
2770
|
-
(
|
2777
|
+
(_s = props.state) === null || _s === void 0 ? void 0 : _s.columnFilterFns,
|
2771
2778
|
]);
|
2772
2779
|
const data = useMemo(() => {
|
2773
2780
|
var _a, _b, _c, _d, _e;
|
@@ -2781,11 +2788,11 @@ const MRT_TableRoot = (props) => {
|
|
2781
2788
|
[getColumnId(col)]: null,
|
2782
2789
|
}))))
|
2783
2790
|
: props.data;
|
2784
|
-
}, [props.data, (
|
2791
|
+
}, [props.data, (_t = props.state) === null || _t === void 0 ? void 0 : _t.isLoading, (_u = props.state) === null || _u === void 0 ? void 0 : _u.showSkeletons]);
|
2785
2792
|
//@ts-ignore
|
2786
2793
|
const table = Object.assign(Object.assign({}, useReactTable(Object.assign(Object.assign({ getCoreRowModel: getCoreRowModel(), getExpandedRowModel: getExpandedRowModel(), getFacetedRowModel: getFacetedRowModel(), getFilteredRowModel: getFilteredRowModel(), getGroupedRowModel: getGroupedRowModel(), getPaginationRowModel: getPaginationRowModel(), getSortedRowModel: getSortedRowModel(), onColumnOrderChange: setColumnOrder, onGroupingChange: setGrouping, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows }, props), {
|
2787
2794
|
//@ts-ignore
|
2788
|
-
columns: columnDefs, data, globalFilterFn: (
|
2795
|
+
columns: columnDefs, data, globalFilterFn: (_w = (_v = props.filterFns) === null || _v === void 0 ? void 0 : _v[globalFilterFn]) !== null && _w !== void 0 ? _w : (_x = props.filterFns) === null || _x === void 0 ? void 0 : _x.fuzzy, initialState, state: Object.assign({ columnFilterFns,
|
2789
2796
|
columnOrder,
|
2790
2797
|
density,
|
2791
2798
|
draggingColumn,
|
@@ -2799,7 +2806,8 @@ const MRT_TableRoot = (props) => {
|
|
2799
2806
|
isFullScreen,
|
2800
2807
|
showAlertBanner,
|
2801
2808
|
showColumnFilters,
|
2802
|
-
showGlobalFilter
|
2809
|
+
showGlobalFilter,
|
2810
|
+
showToolbarDropZone }, props.state) }))), { refs: {
|
2803
2811
|
bottomToolbarRef,
|
2804
2812
|
editInputRefs,
|
2805
2813
|
filterInputRefs,
|
@@ -2808,7 +2816,7 @@ const MRT_TableRoot = (props) => {
|
|
2808
2816
|
tableHeadCellRefs,
|
2809
2817
|
tablePaperRef,
|
2810
2818
|
topToolbarRef,
|
2811
|
-
}, setColumnFilterFns: (
|
2819
|
+
}, setColumnFilterFns: (_y = props.onColumnFilterFnsChange) !== null && _y !== void 0 ? _y : setColumnFilterFns, setDensity: (_z = props.onDensityChange) !== null && _z !== void 0 ? _z : setDensity, setDraggingColumn: (_0 = props.onDraggingColumnChange) !== null && _0 !== void 0 ? _0 : setDraggingColumn, setDraggingRow: (_1 = props.onDraggingRowChange) !== null && _1 !== void 0 ? _1 : setDraggingRow, setEditingCell: (_2 = props.onEditingCellChange) !== null && _2 !== void 0 ? _2 : setEditingCell, setEditingRow: (_3 = props.onEditingRowChange) !== null && _3 !== void 0 ? _3 : setEditingRow, setGlobalFilterFn: (_4 = props.onGlobalFilterFnChange) !== null && _4 !== void 0 ? _4 : setGlobalFilterFn, setHoveredColumn: (_5 = props.onHoveredColumnChange) !== null && _5 !== void 0 ? _5 : setHoveredColumn, setHoveredRow: (_6 = props.onHoveredRowChange) !== null && _6 !== void 0 ? _6 : setHoveredRow, setIsFullScreen: (_7 = props.onIsFullScreenChange) !== null && _7 !== void 0 ? _7 : setIsFullScreen, setShowAlertBanner: (_8 = props.onShowAlertBannerChange) !== null && _8 !== void 0 ? _8 : setShowAlertBanner, setShowFilters: (_9 = props.onShowFiltersChange) !== null && _9 !== void 0 ? _9 : setShowFilters, setShowGlobalFilter: (_10 = props.onShowGlobalFilterChange) !== null && _10 !== void 0 ? _10 : setShowGlobalFilter, setShowToolbarDropZone: (_11 = props.onShowToolbarDropZoneChange) !== null && _11 !== void 0 ? _11 : setShowToolbarDropZone });
|
2812
2820
|
if (props.tableInstanceRef) {
|
2813
2821
|
props.tableInstanceRef.current = table;
|
2814
2822
|
}
|