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
package/README.md
CHANGED
@@ -57,7 +57,7 @@ _All features can easily be enabled/disabled_
|
|
57
57
|
|
58
58
|
_**Fully Fleshed out [Docs](https://www.material-react-table.com/docs/guides#guides) are available for all features**_
|
59
59
|
|
60
|
-
- [x] <
|
60
|
+
- [x] < 41kb gzipped - [Bundlephobia](https://bundlephobia.com/package/material-react-table)
|
61
61
|
- [x] Advanced TypeScript Generics Support (TypeScript Optional)
|
62
62
|
- [x] Aggregation and Grouping (Sum, Average, Count, etc.)
|
63
63
|
- [x] Click To Copy Cell Values
|
package/dist/cjs/index.js
CHANGED
@@ -1321,7 +1321,7 @@ const MRT_ShowHideColumnsButton = (_a) => {
|
|
1321
1321
|
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: (_b = rest === null || rest === void 0 ? void 0 : rest.title) !== null && _b !== void 0 ? _b : localization.showHideColumns },
|
1322
1322
|
React__default["default"].createElement(IconButton__default["default"], Object.assign({ "aria-label": localization.showHideColumns, onClick: handleClick }, rest, { title: undefined }),
|
1323
1323
|
React__default["default"].createElement(ViewColumnIcon, null))),
|
1324
|
-
React__default["default"].createElement(MRT_ShowHideColumnsMenu, { anchorEl: anchorEl, setAnchorEl: setAnchorEl, table: table })));
|
1324
|
+
anchorEl && (React__default["default"].createElement(MRT_ShowHideColumnsMenu, { anchorEl: anchorEl, setAnchorEl: setAnchorEl, table: table }))));
|
1325
1325
|
};
|
1326
1326
|
|
1327
1327
|
const MRT_ToggleDensePaddingButton = (_a) => {
|
@@ -1387,15 +1387,21 @@ const MRT_ToolbarInternalButtons = ({ table, }) => {
|
|
1387
1387
|
|
1388
1388
|
const MRT_ToolbarDropZone = ({ table, }) => {
|
1389
1389
|
var _a, _b;
|
1390
|
-
const { getState, options: { enableGrouping, localization }, setHoveredColumn, } = table;
|
1391
|
-
const { draggingColumn, hoveredColumn, grouping } = getState();
|
1390
|
+
const { getState, options: { enableGrouping, localization }, setHoveredColumn, setShowToolbarDropZone, } = table;
|
1391
|
+
const { draggingColumn, hoveredColumn, grouping, showToolbarDropZone } = getState();
|
1392
1392
|
const handleDragEnter = (_event) => {
|
1393
1393
|
setHoveredColumn({ id: 'drop-zone' });
|
1394
1394
|
};
|
1395
|
-
|
1396
|
-
|
1397
|
-
|
1398
|
-
|
1395
|
+
React.useEffect(() => {
|
1396
|
+
var _a;
|
1397
|
+
if (((_a = table.options.state) === null || _a === void 0 ? void 0 : _a.showToolbarDropZone) !== undefined) {
|
1398
|
+
setShowToolbarDropZone(!!enableGrouping &&
|
1399
|
+
!!draggingColumn &&
|
1400
|
+
!grouping.includes(draggingColumn.id));
|
1401
|
+
}
|
1402
|
+
}, [enableGrouping, draggingColumn, grouping]);
|
1403
|
+
return (React__default["default"].createElement(Fade__default["default"], { in: showToolbarDropZone },
|
1404
|
+
React__default["default"].createElement(Box__default["default"], { className: "Mui-ToolbarDropZone", sx: (theme) => ({
|
1399
1405
|
alignItems: 'center',
|
1400
1406
|
backgroundColor: styles.alpha(theme.palette.info.main, (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone' ? 0.2 : 0.1),
|
1401
1407
|
border: `dashed ${theme.palette.info.main} 2px`,
|
@@ -2464,9 +2470,7 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
|
|
2464
2470
|
}
|
2465
2471
|
return rankedRows;
|
2466
2472
|
}
|
2467
|
-
return
|
2468
|
-
? getRowModel().rows
|
2469
|
-
: getPrePaginationRowModel().rows;
|
2473
|
+
return getRowModel().rows;
|
2470
2474
|
}, [
|
2471
2475
|
enableGlobalFilterRankedResults,
|
2472
2476
|
(enableGlobalFilterRankedResults && globalFilter) || !enablePagination
|
@@ -2598,7 +2602,7 @@ const MRT_TableFooter = ({ table, virtualColumns, virtualPaddingLeft, virtualPad
|
|
2598
2602
|
? theme.palette.mode === 'light'
|
2599
2603
|
? `1px solid ${theme.palette.grey[300]}`
|
2600
2604
|
: `1px solid ${theme.palette.grey[700]}`
|
2601
|
-
: undefined, position: stickFooter ? 'sticky' : undefined }, ((tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx) instanceof Function
|
2605
|
+
: undefined, position: stickFooter ? 'sticky' : undefined, zIndex: stickFooter ? 1 : undefined }, ((tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx) instanceof Function
|
2602
2606
|
? tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx(theme)
|
2603
2607
|
: tableFooterProps === null || tableFooterProps === void 0 ? void 0 : tableFooterProps.sx))) }), getFooterGroups().map((footerGroup) => (React__default["default"].createElement(MRT_TableFooterRow, { footerGroup: footerGroup, key: footerGroup.id, table: table, virtualColumns: virtualColumns, virtualPaddingLeft: virtualPaddingLeft, virtualPaddingRight: virtualPaddingRight })))));
|
2604
2608
|
};
|
@@ -2759,7 +2763,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
|
|
2759
2763
|
};
|
2760
2764
|
|
2761
2765
|
const MRT_TableRoot = (props) => {
|
2762
|
-
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;
|
2766
|
+
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;
|
2763
2767
|
const bottomToolbarRef = React.useRef(null);
|
2764
2768
|
const editInputRefs = React.useRef({});
|
2765
2769
|
const filterInputRefs = React.useRef({});
|
@@ -2798,6 +2802,7 @@ const MRT_TableRoot = (props) => {
|
|
2798
2802
|
const [showAlertBanner, setShowAlertBanner] = React.useState((_o = (_m = props.initialState) === null || _m === void 0 ? void 0 : _m.showAlertBanner) !== null && _o !== void 0 ? _o : false);
|
2799
2803
|
const [showColumnFilters, setShowFilters] = React.useState((_p = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _p !== void 0 ? _p : false);
|
2800
2804
|
const [showGlobalFilter, setShowGlobalFilter] = React.useState((_q = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _q !== void 0 ? _q : false);
|
2805
|
+
const [showToolbarDropZone, setShowToolbarDropZone] = React.useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _r !== void 0 ? _r : false);
|
2801
2806
|
const displayColumns = React.useMemo(() => {
|
2802
2807
|
var _a, _b, _c, _d, _e;
|
2803
2808
|
return [
|
@@ -2848,7 +2853,7 @@ const MRT_TableRoot = (props) => {
|
|
2848
2853
|
columnFilterFns,
|
2849
2854
|
displayColumns,
|
2850
2855
|
props.columns,
|
2851
|
-
(
|
2856
|
+
(_s = props.state) === null || _s === void 0 ? void 0 : _s.columnFilterFns,
|
2852
2857
|
]);
|
2853
2858
|
const data = React.useMemo(() => {
|
2854
2859
|
var _a, _b, _c, _d, _e;
|
@@ -2862,11 +2867,11 @@ const MRT_TableRoot = (props) => {
|
|
2862
2867
|
[getColumnId(col)]: null,
|
2863
2868
|
}))))
|
2864
2869
|
: props.data;
|
2865
|
-
}, [props.data, (
|
2870
|
+
}, [props.data, (_t = props.state) === null || _t === void 0 ? void 0 : _t.isLoading, (_u = props.state) === null || _u === void 0 ? void 0 : _u.showSkeletons]);
|
2866
2871
|
//@ts-ignore
|
2867
2872
|
const table = Object.assign(Object.assign({}, reactTable.useReactTable(Object.assign(Object.assign({ getCoreRowModel: reactTable.getCoreRowModel(), getExpandedRowModel: reactTable.getExpandedRowModel(), getFacetedRowModel: reactTable.getFacetedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel(), getGroupedRowModel: reactTable.getGroupedRowModel(), getPaginationRowModel: reactTable.getPaginationRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), onColumnOrderChange: setColumnOrder, onGroupingChange: setGrouping, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows }, props), {
|
2868
2873
|
//@ts-ignore
|
2869
|
-
columns: columnDefs, data, globalFilterFn: (
|
2874
|
+
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,
|
2870
2875
|
columnOrder,
|
2871
2876
|
density,
|
2872
2877
|
draggingColumn,
|
@@ -2880,7 +2885,8 @@ const MRT_TableRoot = (props) => {
|
|
2880
2885
|
isFullScreen,
|
2881
2886
|
showAlertBanner,
|
2882
2887
|
showColumnFilters,
|
2883
|
-
showGlobalFilter
|
2888
|
+
showGlobalFilter,
|
2889
|
+
showToolbarDropZone }, props.state) }))), { refs: {
|
2884
2890
|
bottomToolbarRef,
|
2885
2891
|
editInputRefs,
|
2886
2892
|
filterInputRefs,
|
@@ -2889,7 +2895,7 @@ const MRT_TableRoot = (props) => {
|
|
2889
2895
|
tableHeadCellRefs,
|
2890
2896
|
tablePaperRef,
|
2891
2897
|
topToolbarRef,
|
2892
|
-
}, setColumnFilterFns: (
|
2898
|
+
}, 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 });
|
2893
2899
|
if (props.tableInstanceRef) {
|
2894
2900
|
props.tableInstanceRef.current = table;
|
2895
2901
|
}
|
@@ -3020,8 +3026,13 @@ const MaterialReactTable = (_a) => {
|
|
3020
3026
|
const _defaultDisplayColumn = React.useMemo(() => (Object.assign(Object.assign({}, MRT_DefaultDisplayColumn), defaultDisplayColumn)), [defaultDisplayColumn]);
|
3021
3027
|
if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
|
3022
3028
|
layoutMode = 'grid';
|
3029
|
+
}
|
3030
|
+
if (rest.enableRowVirtualization) {
|
3023
3031
|
enableStickyHeader = true;
|
3024
3032
|
}
|
3033
|
+
if (enablePagination === false && manualPagination === undefined) {
|
3034
|
+
manualPagination = true;
|
3035
|
+
}
|
3025
3036
|
if (!((_b = rest.data) === null || _b === void 0 ? void 0 : _b.length)) {
|
3026
3037
|
manualFiltering = true;
|
3027
3038
|
manualGrouping = true;
|
@@ -3040,6 +3051,7 @@ exports.MRT_TablePagination = MRT_TablePagination;
|
|
3040
3051
|
exports.MRT_ToggleDensePaddingButton = MRT_ToggleDensePaddingButton;
|
3041
3052
|
exports.MRT_ToggleFiltersButton = MRT_ToggleFiltersButton;
|
3042
3053
|
exports.MRT_ToggleGlobalFilterButton = MRT_ToggleGlobalFilterButton;
|
3054
|
+
exports.MRT_ToggleRowActionMenuButton = MRT_ToggleRowActionMenuButton;
|
3043
3055
|
exports.MRT_ToolbarAlertBanner = MRT_ToolbarAlertBanner;
|
3044
3056
|
exports.MRT_ToolbarDropZone = MRT_ToolbarDropZone;
|
3045
3057
|
exports.MRT_ToolbarInternalButtons = MRT_ToolbarInternalButtons;
|