material-react-table 1.6.6 → 1.7.1
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 +28 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/column.utils.d.ts +2 -3
- package/dist/esm/material-react-table.esm.js +28 -16
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/column.utils.d.ts +2 -3
- package/locales/zh-Hant.esm.js +3 -3
- package/locales/zh-Hant.esm.js.map +1 -1
- package/locales/zh-Hant.js +3 -3
- package/locales/zh-Hant.js.map +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +1 -1
- package/src/_locales/zh-Hant.ts +3 -3
- package/src/column.utils.ts +10 -10
- package/src/head/MRT_TableHeadCell.tsx +0 -1
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +8 -1
- package/src/menus/MRT_ColumnActionMenu.tsx +2 -0
- package/src/table/MRT_Table.tsx +21 -2
package/dist/cjs/index.js
CHANGED
@@ -312,15 +312,17 @@ const getIsFirstRightPinnedColumn = (column) => {
|
|
312
312
|
const getTotalRight = (table, column) => {
|
313
313
|
return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 200);
|
314
314
|
};
|
315
|
-
const getCommonCellStyles = ({ column,
|
316
|
-
var _a, _b, _c, _d, _e, _f, _g
|
315
|
+
const getCommonCellStyles = ({ column, table, tableCellProps, theme, }) => {
|
316
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
317
317
|
return (Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
318
318
|
? styles.alpha(styles.lighten(theme.palette.background.default, 0.04), 0.97)
|
319
319
|
: 'inherit', backgroundImage: 'inherit', boxShadow: getIsLastLeftPinnedColumn(table, column)
|
320
320
|
? `-4px 0 8px -6px ${styles.alpha(theme.palette.common.black, 0.2)} inset`
|
321
321
|
: getIsFirstRightPinnedColumn(column)
|
322
322
|
? `4px 0 8px -6px ${styles.alpha(theme.palette.common.black, 0.2)} inset`
|
323
|
-
: undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell',
|
323
|
+
: undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell', flex: table.options.layoutMode === 'grid'
|
324
|
+
? `var(--col-${column.id.replaceAll('.', '_')}-size) 0 auto`
|
325
|
+
: undefined, left: column.getIsPinned() === 'left'
|
324
326
|
? `${column.getStart('left')}px`
|
325
327
|
: undefined, ml: table.options.enableColumnVirtualization &&
|
326
328
|
column.getIsPinned() === 'left' &&
|
@@ -341,11 +343,9 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
|
|
341
343
|
? `${getTotalRight(table, column)}px`
|
342
344
|
: undefined, transition: table.options.enableColumnVirtualization || column.getIsResizing()
|
343
345
|
? 'none'
|
344
|
-
: `
|
346
|
+
: `padding 150ms ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
|
345
347
|
? tableCellProps.sx(theme)
|
346
|
-
: tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), {
|
347
|
-
? `${column.getSize()} 0 auto`
|
348
|
-
: undefined, minWidth: `max(${column.getSize()}px, ${(_g = column.columnDef.minSize) !== null && _g !== void 0 ? _g : 30}px)`, width: (_h = header === null || header === void 0 ? void 0 : header.getSize()) !== null && _h !== void 0 ? _h : column.getSize() }));
|
348
|
+
: tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { minWidth: `max(calc(var(--col-${column.id.replaceAll('.', '_')}-size) * 1px), ${(_g = column.columnDef.minSize) !== null && _g !== void 0 ? _g : 30}px)`, width: `calc(var(--col-${column.id.replaceAll('.', '_')}-size) * 1px)` }));
|
349
349
|
};
|
350
350
|
const MRT_DefaultColumn = {
|
351
351
|
filterVariant: 'text',
|
@@ -876,7 +876,7 @@ const commonListItemStyles = {
|
|
876
876
|
};
|
877
877
|
const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
|
878
878
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
879
|
-
const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setShowFilters, } = table;
|
879
|
+
const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnSizingInfo, setShowFilters, } = table;
|
880
880
|
const { column } = header;
|
881
881
|
const { columnDef } = column;
|
882
882
|
const { columnSizing, columnVisibility, density } = getState();
|
@@ -895,6 +895,7 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
|
|
895
895
|
setAnchorEl(null);
|
896
896
|
};
|
897
897
|
const handleResetColumnSize = () => {
|
898
|
+
setColumnSizingInfo((old) => (Object.assign(Object.assign({}, old), { isResizingColumn: false })));
|
898
899
|
column.resetSize();
|
899
900
|
setAnchorEl(null);
|
900
901
|
};
|
@@ -1890,12 +1891,15 @@ const MRT_TableHeadCellGrabHandle = ({ column, table, tableHeadCellRef, }) => {
|
|
1890
1891
|
|
1891
1892
|
const MRT_TableHeadCellResizeHandle = ({ header, table }) => {
|
1892
1893
|
var _a;
|
1893
|
-
const { getState, options: { columnResizeMode }, } = table;
|
1894
|
+
const { getState, options: { columnResizeMode }, setColumnSizingInfo, } = table;
|
1894
1895
|
const { density, showColumnFilters } = getState();
|
1895
1896
|
const { column } = header;
|
1896
1897
|
const { columnDef } = column;
|
1897
1898
|
const { columnDefType } = columnDef;
|
1898
|
-
return (React__default["default"].createElement(Box__default["default"], { onDoubleClick: () =>
|
1899
|
+
return (React__default["default"].createElement(Box__default["default"], { onDoubleClick: () => {
|
1900
|
+
setColumnSizingInfo((old) => (Object.assign(Object.assign({}, old), { isResizingColumn: false })));
|
1901
|
+
column.resetSize();
|
1902
|
+
}, onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), sx: (theme) => ({
|
1899
1903
|
cursor: 'col-resize',
|
1900
1904
|
mr: density === 'compact' ? '-0.5rem' : '-1rem',
|
1901
1905
|
position: 'absolute',
|
@@ -2031,7 +2035,6 @@ const MRT_TableHeadCell = ({ header, table }) => {
|
|
2031
2035
|
? 2
|
2032
2036
|
: 1 }, getCommonCellStyles({
|
2033
2037
|
column,
|
2034
|
-
header,
|
2035
2038
|
table,
|
2036
2039
|
tableCellProps,
|
2037
2040
|
theme,
|
@@ -2694,14 +2697,23 @@ const MRT_TableFooter = ({ table, virtualColumns, virtualPaddingLeft, virtualPad
|
|
2694
2697
|
|
2695
2698
|
const MRT_Table = ({ table }) => {
|
2696
2699
|
var _a, _b, _c, _d;
|
2697
|
-
const { getState, options: { columnVirtualizerInstanceRef, columnVirtualizerProps, enableColumnResizing, enableColumnVirtualization, enablePinning, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, refs: { tableContainerRef }, } = table;
|
2698
|
-
const {
|
2700
|
+
const { getFlatHeaders, getState, options: { columns, columnVirtualizerInstanceRef, columnVirtualizerProps, enableColumnResizing, enableColumnVirtualization, enablePinning, enableStickyHeader, enableTableFooter, enableTableHead, layoutMode, memoMode, muiTableProps, }, refs: { tableContainerRef }, } = table;
|
2701
|
+
const { columnPinning, columnSizing, columnSizingInfo, columnVisibility, isFullScreen, } = getState();
|
2699
2702
|
const tableProps = muiTableProps instanceof Function
|
2700
2703
|
? muiTableProps({ table })
|
2701
2704
|
: muiTableProps;
|
2702
2705
|
const vProps = columnVirtualizerProps instanceof Function
|
2703
2706
|
? columnVirtualizerProps({ table })
|
2704
2707
|
: columnVirtualizerProps;
|
2708
|
+
const columnSizeVars = React.useMemo(() => {
|
2709
|
+
const headers = getFlatHeaders();
|
2710
|
+
const colSizes = {};
|
2711
|
+
for (let i = 0; i < headers.length; i++) {
|
2712
|
+
const h = headers[i];
|
2713
|
+
colSizes[`--col-${h.column.id}-size`.replaceAll('.', '_')] = h.getSize();
|
2714
|
+
}
|
2715
|
+
return colSizes;
|
2716
|
+
}, [columns, columnSizing, columnSizingInfo]);
|
2705
2717
|
//get first 16 column widths and average them
|
2706
2718
|
const averageColumnWidth = React.useMemo(() => {
|
2707
2719
|
var _a, _b, _c, _d;
|
@@ -2751,9 +2763,9 @@ const MRT_Table = ({ table }) => {
|
|
2751
2763
|
};
|
2752
2764
|
return (React__default["default"].createElement(Table__default["default"], Object.assign({ stickyHeader: enableStickyHeader || isFullScreen }, tableProps, { sx: (theme) => (Object.assign({ borderCollapse: 'separate', display: layoutMode === 'grid' ? 'grid' : 'table', tableLayout: layoutMode !== 'grid' && enableColumnResizing ? 'fixed' : undefined }, ((tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) instanceof Function
|
2753
2765
|
? tableProps.sx(theme)
|
2754
|
-
: tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))) }),
|
2766
|
+
: tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx))), style: Object.assign(Object.assign({}, columnSizeVars), tableProps === null || tableProps === void 0 ? void 0 : tableProps.style) }),
|
2755
2767
|
enableTableHead && React__default["default"].createElement(MRT_TableHead, Object.assign({}, props)),
|
2756
|
-
memoMode === 'table-body' ? (React__default["default"].createElement(Memo_MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))) : (React__default["default"].createElement(MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))),
|
2768
|
+
memoMode === 'table-body' || columnSizingInfo.isResizingColumn ? (React__default["default"].createElement(Memo_MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))) : (React__default["default"].createElement(MRT_TableBody, Object.assign({ columnVirtualizer: columnVirtualizer }, props))),
|
2757
2769
|
enableTableFooter && React__default["default"].createElement(MRT_TableFooter, Object.assign({}, props))));
|
2758
2770
|
};
|
2759
2771
|
|
@@ -3101,7 +3113,7 @@ const MRT_Localization_EN = {
|
|
3101
3113
|
|
3102
3114
|
const MaterialReactTable = (_a) => {
|
3103
3115
|
var _b;
|
3104
|
-
var { aggregationFns, autoResetExpanded = false, columnResizeMode = '
|
3116
|
+
var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onChange', defaultColumn, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilterMatchHighlighting = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, layoutMode = 'semantic', localization, manualFiltering, manualGrouping, manualPagination, manualSorting, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'page', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "defaultDisplayColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilterMatchHighlighting", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "layoutMode", "localization", "manualFiltering", "manualGrouping", "manualPagination", "manualSorting", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
|
3105
3117
|
const _icons = React.useMemo(() => (Object.assign(Object.assign({}, MRT_Default_Icons), icons)), [icons]);
|
3106
3118
|
const _localization = React.useMemo(() => (Object.assign(Object.assign({}, MRT_Localization_EN), localization)), [localization]);
|
3107
3119
|
const _aggregationFns = React.useMemo(() => (Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns)), []);
|