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.
@@ -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
- return (React.createElement(Fade, { unmountOnExit: true, mountOnEnter: true, in: !!enableGrouping &&
1317
- !!draggingColumn &&
1318
- !grouping.includes(draggingColumn.id) },
1319
- React.createElement(Box, { sx: (theme) => ({
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
- (_r = props.state) === null || _r === void 0 ? void 0 : _r.columnFilterFns,
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, (_s = props.state) === null || _s === void 0 ? void 0 : _s.isLoading, (_t = props.state) === null || _t === void 0 ? void 0 : _t.showSkeletons]);
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: (_v = (_u = props.filterFns) === null || _u === void 0 ? void 0 : _u[globalFilterFn]) !== null && _v !== void 0 ? _v : (_w = props.filterFns) === null || _w === void 0 ? void 0 : _w.fuzzy, initialState, state: Object.assign({ columnFilterFns,
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 }, props.state) }))), { refs: {
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: (_x = props.onColumnFilterFnsChange) !== null && _x !== void 0 ? _x : setColumnFilterFns, setDensity: (_y = props.onDensityChange) !== null && _y !== void 0 ? _y : setDensity, setDraggingColumn: (_z = props.onDraggingColumnChange) !== null && _z !== void 0 ? _z : setDraggingColumn, setDraggingRow: (_0 = props.onDraggingRowChange) !== null && _0 !== void 0 ? _0 : setDraggingRow, setEditingCell: (_1 = props.onEditingCellChange) !== null && _1 !== void 0 ? _1 : setEditingCell, setEditingRow: (_2 = props.onEditingRowChange) !== null && _2 !== void 0 ? _2 : setEditingRow, setGlobalFilterFn: (_3 = props.onGlobalFilterFnChange) !== null && _3 !== void 0 ? _3 : setGlobalFilterFn, setHoveredColumn: (_4 = props.onHoveredColumnChange) !== null && _4 !== void 0 ? _4 : setHoveredColumn, setHoveredRow: (_5 = props.onHoveredRowChange) !== null && _5 !== void 0 ? _5 : setHoveredRow, setIsFullScreen: (_6 = props.onIsFullScreenChange) !== null && _6 !== void 0 ? _6 : setIsFullScreen, setShowAlertBanner: (_7 = props.onShowAlertBannerChange) !== null && _7 !== void 0 ? _7 : setShowAlertBanner, setShowFilters: (_8 = props.onShowFiltersChange) !== null && _8 !== void 0 ? _8 : setShowFilters, setShowGlobalFilter: (_9 = props.onShowGlobalFilterChange) !== null && _9 !== void 0 ? _9 : setShowGlobalFilter });
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
  }