material-react-table 1.5.0 → 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/README.md +1 -1
- package/dist/cjs/index.js +29 -17
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +3 -0
- package/dist/cjs/types/_locales/zh-Hans.d.ts +2 -0
- package/dist/cjs/types/_locales/zh-Hant.d.ts +2 -0
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +6 -6
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/types/table/MRT_TableRoot.d.ts +1 -0
- package/dist/esm/material-react-table.esm.js +29 -18
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +3 -0
- package/dist/esm/types/_locales/zh-Hans.d.ts +2 -0
- package/dist/esm/types/_locales/zh-Hant.d.ts +2 -0
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +6 -6
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/types/table/MRT_TableRoot.d.ts +1 -0
- package/dist/index.d.ts +31 -21
- package/locales/zh-Hans.d.ts +2 -0
- package/locales/zh-Hans.esm.d.ts +2 -0
- package/locales/zh-Hans.esm.js +94 -0
- package/locales/zh-Hans.esm.js.map +1 -0
- package/locales/zh-Hans.js +98 -0
- package/locales/zh-Hans.js.map +1 -0
- package/locales/zh-Hant.d.ts +2 -0
- package/locales/zh-Hant.esm.d.ts +2 -0
- package/locales/zh-Hant.esm.js +94 -0
- package/locales/zh-Hant.esm.js.map +1 -0
- package/locales/zh-Hant.js +98 -0
- package/locales/zh-Hant.js.map +1 -0
- package/package.json +11 -11
- package/src/MaterialReactTable.tsx +10 -0
- package/src/_locales/zh-Hans.ts +94 -0
- package/src/_locales/zh-Hant.ts +94 -0
- package/src/body/MRT_TableBody.tsx +1 -4
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +7 -5
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +11 -9
- package/src/footer/MRT_TableFooter.tsx +1 -0
- package/src/index.tsx +2 -0
- 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';
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
/// <reference types="react" />
|
2
2
|
import type { MRT_Cell, MRT_Row, MRT_TableInstance } from '..';
|
3
|
-
interface Props {
|
4
|
-
cell: MRT_Cell
|
5
|
-
row: MRT_Row
|
6
|
-
table: MRT_TableInstance
|
3
|
+
interface Props<TData extends Record<string, any> = {}> {
|
4
|
+
cell: MRT_Cell<TData>;
|
5
|
+
row: MRT_Row<TData>;
|
6
|
+
table: MRT_TableInstance<TData>;
|
7
7
|
}
|
8
|
-
export declare const MRT_ToggleRowActionMenuButton:
|
8
|
+
export declare const MRT_ToggleRowActionMenuButton: <TData extends Record<string, any> = {}>({ cell, row, table, }: Props<TData>) => JSX.Element;
|
9
9
|
export {};
|
@@ -15,4 +15,5 @@ import { MRT_ToggleGlobalFilterButton } from './buttons/MRT_ToggleGlobalFilterBu
|
|
15
15
|
import { MRT_ToolbarAlertBanner } from './toolbar/MRT_ToolbarAlertBanner';
|
16
16
|
import { MRT_ToolbarDropZone } from './toolbar/MRT_ToolbarDropZone';
|
17
17
|
import { MRT_ToolbarInternalButtons } from './toolbar/MRT_ToolbarInternalButtons';
|
18
|
-
|
18
|
+
import { MRT_ToggleRowActionMenuButton } from './buttons/MRT_ToggleRowActionMenuButton';
|
19
|
+
export { MRT_CopyButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_ToggleRowActionMenuButton, };
|
@@ -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`,
|
@@ -2385,9 +2391,7 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
|
|
2385
2391
|
}
|
2386
2392
|
return rankedRows;
|
2387
2393
|
}
|
2388
|
-
return
|
2389
|
-
? getRowModel().rows
|
2390
|
-
: getPrePaginationRowModel().rows;
|
2394
|
+
return getRowModel().rows;
|
2391
2395
|
}, [
|
2392
2396
|
enableGlobalFilterRankedResults,
|
2393
2397
|
(enableGlobalFilterRankedResults && globalFilter) || !enablePagination
|
@@ -2519,7 +2523,7 @@ const MRT_TableFooter = ({ table, virtualColumns, virtualPaddingLeft, virtualPad
|
|
2519
2523
|
? theme.palette.mode === 'light'
|
2520
2524
|
? `1px solid ${theme.palette.grey[300]}`
|
2521
2525
|
: `1px solid ${theme.palette.grey[700]}`
|
2522
|
-
: undefined, position: stickFooter ? 'sticky' : undefined }, ((tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx) instanceof Function
|
2526
|
+
: undefined, position: stickFooter ? 'sticky' : undefined, zIndex: stickFooter ? 1 : undefined }, ((tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx) instanceof Function
|
2523
2527
|
? tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx(theme)
|
2524
2528
|
: tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx))) }), getFooterGroups().map((footerGroup) => (React.createElement(MRT_TableFooterRow, { footerGroup: footerGroup, key: footerGroup.id, table: table, virtualColumns: virtualColumns, virtualPaddingLeft: virtualPaddingLeft, virtualPaddingRight: virtualPaddingRight })))));
|
2525
2529
|
};
|
@@ -2680,7 +2684,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
|
|
2680
2684
|
};
|
2681
2685
|
|
2682
2686
|
const MRT_TableRoot = (props) => {
|
2683
|
-
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;
|
2684
2688
|
const bottomToolbarRef = useRef(null);
|
2685
2689
|
const editInputRefs = useRef({});
|
2686
2690
|
const filterInputRefs = useRef({});
|
@@ -2719,6 +2723,7 @@ const MRT_TableRoot = (props) => {
|
|
2719
2723
|
const [showAlertBanner, setShowAlertBanner] = useState((_o = (_m = props.initialState) === null || _m === void 0 ? void 0 : _m.showAlertBanner) !== null && _o !== void 0 ? _o : false);
|
2720
2724
|
const [showColumnFilters, setShowFilters] = useState((_p = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _p !== void 0 ? _p : false);
|
2721
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);
|
2722
2727
|
const displayColumns = useMemo(() => {
|
2723
2728
|
var _a, _b, _c, _d, _e;
|
2724
2729
|
return [
|
@@ -2769,7 +2774,7 @@ const MRT_TableRoot = (props) => {
|
|
2769
2774
|
columnFilterFns,
|
2770
2775
|
displayColumns,
|
2771
2776
|
props.columns,
|
2772
|
-
(
|
2777
|
+
(_s = props.state) === null || _s === void 0 ? void 0 : _s.columnFilterFns,
|
2773
2778
|
]);
|
2774
2779
|
const data = useMemo(() => {
|
2775
2780
|
var _a, _b, _c, _d, _e;
|
@@ -2783,11 +2788,11 @@ const MRT_TableRoot = (props) => {
|
|
2783
2788
|
[getColumnId(col)]: null,
|
2784
2789
|
}))))
|
2785
2790
|
: props.data;
|
2786
|
-
}, [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]);
|
2787
2792
|
//@ts-ignore
|
2788
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), {
|
2789
2794
|
//@ts-ignore
|
2790
|
-
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,
|
2791
2796
|
columnOrder,
|
2792
2797
|
density,
|
2793
2798
|
draggingColumn,
|
@@ -2801,7 +2806,8 @@ const MRT_TableRoot = (props) => {
|
|
2801
2806
|
isFullScreen,
|
2802
2807
|
showAlertBanner,
|
2803
2808
|
showColumnFilters,
|
2804
|
-
showGlobalFilter
|
2809
|
+
showGlobalFilter,
|
2810
|
+
showToolbarDropZone }, props.state) }))), { refs: {
|
2805
2811
|
bottomToolbarRef,
|
2806
2812
|
editInputRefs,
|
2807
2813
|
filterInputRefs,
|
@@ -2810,7 +2816,7 @@ const MRT_TableRoot = (props) => {
|
|
2810
2816
|
tableHeadCellRefs,
|
2811
2817
|
tablePaperRef,
|
2812
2818
|
topToolbarRef,
|
2813
|
-
}, 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 });
|
2814
2820
|
if (props.tableInstanceRef) {
|
2815
2821
|
props.tableInstanceRef.current = table;
|
2816
2822
|
}
|
@@ -2941,8 +2947,13 @@ const MaterialReactTable = (_a) => {
|
|
2941
2947
|
const _defaultDisplayColumn = useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), [defaultDisplayColumn]);
|
2942
2948
|
if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
|
2943
2949
|
layoutMode = 'grid';
|
2950
|
+
}
|
2951
|
+
if (rest.enableRowVirtualization) {
|
2944
2952
|
enableStickyHeader = true;
|
2945
2953
|
}
|
2954
|
+
if (enablePagination === false && manualPagination === undefined) {
|
2955
|
+
manualPagination = true;
|
2956
|
+
}
|
2946
2957
|
if (!((_b = rest.data) === null || _b === void 0 ? void 0 : _b.length)) {
|
2947
2958
|
manualFiltering = true;
|
2948
2959
|
manualGrouping = true;
|
@@ -2952,5 +2963,5 @@ const MaterialReactTable = (_a) => {
|
|
2952
2963
|
return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, manualFiltering: manualFiltering, manualGrouping: manualGrouping, manualPagination: manualPagination, manualSorting: manualSorting, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
|
2953
2964
|
};
|
2954
2965
|
|
2955
|
-
export { MRT_CopyButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MaterialReactTable as default };
|
2966
|
+
export { MRT_CopyButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MaterialReactTable as default };
|
2956
2967
|
//# sourceMappingURL=material-react-table.esm.js.map
|