material-react-table 0.9.1 → 0.9.4
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 +3 -3
- package/dist/MaterialReactTable.d.ts +3 -1
- package/dist/body/MRT_TableBody.d.ts +3 -2
- package/dist/body/MRT_TableBodyCell.d.ts +1 -0
- package/dist/body/MRT_TableBodyRow.d.ts +1 -0
- package/dist/material-react-table.cjs.development.js +558 -17
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +65 -15
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/table/MRT_Table.d.ts +2 -1
- package/package.json +3 -2
- package/src/MaterialReactTable.tsx +5 -1
- package/src/body/MRT_TableBody.tsx +58 -14
- package/src/body/MRT_TableBodyCell.tsx +22 -1
- package/src/body/MRT_TableBodyRow.tsx +3 -1
- package/src/table/MRT_Table.tsx +18 -4
- package/src/table/MRT_TableContainer.tsx +8 -2
- package/src/toolbar/MRT_ToolbarBottom.tsx +1 -1
|
@@ -5,6 +5,7 @@ import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, But
|
|
|
5
5
|
import { rankItem, rankings } from '@tanstack/match-sorter-utils';
|
|
6
6
|
import { useDrop, useDrag, DndProvider } from 'react-dnd';
|
|
7
7
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
8
|
+
import { useVirtual } from 'react-virtual';
|
|
8
9
|
|
|
9
10
|
function _extends() {
|
|
10
11
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -1911,7 +1912,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
1911
1912
|
}, toolbarProps == null ? void 0 : toolbarProps.sx);
|
|
1912
1913
|
}
|
|
1913
1914
|
}), React.createElement(MRT_LinearProgressBar, {
|
|
1914
|
-
alignTo:
|
|
1915
|
+
alignTo: "top",
|
|
1915
1916
|
tableInstance: tableInstance
|
|
1916
1917
|
}), positionToolbarAlertBanner === 'bottom' && React.createElement(MRT_ToolbarAlertBanner, {
|
|
1917
1918
|
tableInstance: tableInstance
|
|
@@ -2730,17 +2731,22 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2730
2731
|
|
|
2731
2732
|
var cell = _ref.cell,
|
|
2732
2733
|
enableHover = _ref.enableHover,
|
|
2734
|
+
rowIndex = _ref.rowIndex,
|
|
2733
2735
|
tableInstance = _ref.tableInstance;
|
|
2734
2736
|
var getState = tableInstance.getState,
|
|
2735
2737
|
_tableInstance$option = tableInstance.options,
|
|
2736
2738
|
editingMode = _tableInstance$option.editingMode,
|
|
2737
2739
|
enableClickToCopy = _tableInstance$option.enableClickToCopy,
|
|
2738
2740
|
enableColumnOrdering = _tableInstance$option.enableColumnOrdering,
|
|
2741
|
+
enableColumnResizing = _tableInstance$option.enableColumnResizing,
|
|
2739
2742
|
enableEditing = _tableInstance$option.enableEditing,
|
|
2740
|
-
|
|
2743
|
+
enableRowNumbers = _tableInstance$option.enableRowNumbers,
|
|
2744
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
2741
2745
|
muiTableBodyCellProps = _tableInstance$option.muiTableBodyCellProps,
|
|
2742
2746
|
muiTableBodyCellSkeletonProps = _tableInstance$option.muiTableBodyCellSkeletonProps,
|
|
2743
2747
|
onMrtCellClick = _tableInstance$option.onMrtCellClick,
|
|
2748
|
+
rowNumberMode = _tableInstance$option.rowNumberMode,
|
|
2749
|
+
tableId = _tableInstance$option.tableId,
|
|
2744
2750
|
setColumnOrder = tableInstance.setColumnOrder,
|
|
2745
2751
|
setCurrentEditingCell = tableInstance.setCurrentEditingCell;
|
|
2746
2752
|
|
|
@@ -2816,7 +2822,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2816
2822
|
tableInstance: tableInstance
|
|
2817
2823
|
});
|
|
2818
2824
|
},
|
|
2819
|
-
onDoubleClick: handleDoubleClick
|
|
2825
|
+
onDoubleClick: handleDoubleClick,
|
|
2826
|
+
title: (enableRowVirtualization || enableColumnResizing) && !(columnDef != null && columnDef.Cell) && !cell.getIsGrouped() && !columnDef.enableClickToCopy && typeof cell.getValue() === 'string' ? cell.getValue() : ''
|
|
2820
2827
|
}, tableCellProps, {
|
|
2821
2828
|
ref: columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined,
|
|
2822
2829
|
sx: function sx(theme) {
|
|
@@ -2825,10 +2832,12 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2825
2832
|
boxShadow: getIsLastLeftPinnedColumn() ? "4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : getIsFirstRightPinnedColumn() ? "-4px 0 4px -2px " + alpha(theme.palette.common.black, 0.1) : undefined,
|
|
2826
2833
|
cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
|
|
2827
2834
|
left: column.getIsPinned() === 'left' ? column.getStart('left') + "px" : undefined,
|
|
2835
|
+
overflow: 'hidden',
|
|
2828
2836
|
p: isDensePadding ? columnDefType === 'display' ? '0 0.5rem' : '0.5rem' : columnDefType === 'display' ? '0.5rem 0.75rem' : '1rem',
|
|
2829
2837
|
pl: column.id === 'mrt-expand' ? row.depth + (isDensePadding ? 0.5 : 0.75) + "rem" : undefined,
|
|
2830
2838
|
position: column.getIsPinned() ? 'sticky' : 'relative',
|
|
2831
2839
|
right: column.getIsPinned() === 'right' ? getTotalRight() + "px" : undefined,
|
|
2840
|
+
textOverflow: 'ellipsis',
|
|
2832
2841
|
transition: 'all 0.2s ease-in-out',
|
|
2833
2842
|
whiteSpace: isDensePadding ? 'nowrap' : 'normal',
|
|
2834
2843
|
zIndex: column.getIsPinned() ? 1 : undefined,
|
|
@@ -2846,7 +2855,7 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
2846
2855
|
animation: "wave",
|
|
2847
2856
|
height: 20,
|
|
2848
2857
|
width: skeletonWidth
|
|
2849
|
-
}, muiTableBodyCellSkeletonProps)) : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
|
|
2858
|
+
}, muiTableBodyCellSkeletonProps)) : enableRowNumbers && rowNumberMode === 'static' && column.id === 'mrt-row-numbers' ? rowIndex + 1 : columnDefType === 'display' ? columnDef.Cell == null ? void 0 : columnDef.Cell({
|
|
2850
2859
|
cell: cell,
|
|
2851
2860
|
tableInstance: tableInstance
|
|
2852
2861
|
}) : cell.getIsPlaceholder() || row.getIsGrouped() && column.id !== row.groupingColumnId ? null : cell.getIsAggregated() ? cell.renderAggregatedCell() : isEditing ? React.createElement(MRT_EditCellTextField, {
|
|
@@ -2907,6 +2916,7 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
|
|
|
2907
2916
|
|
|
2908
2917
|
var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
2909
2918
|
var row = _ref.row,
|
|
2919
|
+
rowIndex = _ref.rowIndex,
|
|
2910
2920
|
tableInstance = _ref.tableInstance;
|
|
2911
2921
|
var getIsSomeColumnsPinned = tableInstance.getIsSomeColumnsPinned,
|
|
2912
2922
|
_tableInstance$option = tableInstance.options,
|
|
@@ -2942,6 +2952,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2942
2952
|
cell: cell,
|
|
2943
2953
|
key: cell.id,
|
|
2944
2954
|
enableHover: (tableRowProps == null ? void 0 : tableRowProps.hover) !== false,
|
|
2955
|
+
rowIndex: rowIndex,
|
|
2945
2956
|
tableInstance: tableInstance
|
|
2946
2957
|
});
|
|
2947
2958
|
})), renderDetailPanel && !row.getIsGrouped() && React.createElement(MRT_TableDetailPanel, {
|
|
@@ -2951,23 +2962,48 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2951
2962
|
};
|
|
2952
2963
|
|
|
2953
2964
|
var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
2954
|
-
var tableInstance = _ref.tableInstance
|
|
2965
|
+
var tableInstance = _ref.tableInstance,
|
|
2966
|
+
tableContainerRef = _ref.tableContainerRef;
|
|
2955
2967
|
var getPaginationRowModel = tableInstance.getPaginationRowModel,
|
|
2956
2968
|
getPrePaginationRowModel = tableInstance.getPrePaginationRowModel,
|
|
2969
|
+
getState = tableInstance.getState,
|
|
2957
2970
|
_tableInstance$option = tableInstance.options,
|
|
2958
2971
|
enablePagination = _tableInstance$option.enablePagination,
|
|
2972
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
2959
2973
|
muiTableBodyProps = _tableInstance$option.muiTableBodyProps;
|
|
2960
|
-
|
|
2974
|
+
|
|
2975
|
+
var _getState = getState(),
|
|
2976
|
+
isDensePadding = _getState.isDensePadding;
|
|
2977
|
+
|
|
2961
2978
|
var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
|
|
2962
2979
|
tableInstance: tableInstance
|
|
2963
2980
|
}) : muiTableBodyProps;
|
|
2964
|
-
|
|
2981
|
+
var rows = enablePagination ? getPaginationRowModel().rows : getPrePaginationRowModel().rows;
|
|
2982
|
+
var rowVirtualizer = enableRowVirtualization ? useVirtual({
|
|
2983
|
+
overscan: isDensePadding ? 15 : 5,
|
|
2984
|
+
size: rows.length,
|
|
2985
|
+
parentRef: tableContainerRef
|
|
2986
|
+
}) : {};
|
|
2987
|
+
var virtualRows = rowVirtualizer.virtualItems;
|
|
2988
|
+
var paddingTop = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? virtualRows[0].start : 0;
|
|
2989
|
+
var paddingBottom = (virtualRows == null ? void 0 : virtualRows.length) > 0 ? rowVirtualizer.totalSize - virtualRows[virtualRows.length - 1].end : 0;
|
|
2990
|
+
return React.createElement(TableBody, Object.assign({}, tableBodyProps), enableRowVirtualization && paddingTop > 0 && React.createElement("tr", null, React.createElement("td", {
|
|
2991
|
+
style: {
|
|
2992
|
+
height: paddingTop + "px"
|
|
2993
|
+
}
|
|
2994
|
+
})), (enableRowVirtualization ? virtualRows : rows).map(function (rowOrVirtualRow, rowIndex) {
|
|
2995
|
+
var row = enableRowVirtualization ? rows[rowOrVirtualRow.index] : rowOrVirtualRow;
|
|
2965
2996
|
return React.createElement(MRT_TableBodyRow, {
|
|
2966
2997
|
key: row.id,
|
|
2967
2998
|
row: row,
|
|
2999
|
+
rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex,
|
|
2968
3000
|
tableInstance: tableInstance
|
|
2969
3001
|
});
|
|
2970
|
-
})
|
|
3002
|
+
}), enableRowVirtualization && paddingBottom > 0 && React.createElement("tr", null, React.createElement("td", {
|
|
3003
|
+
style: {
|
|
3004
|
+
height: paddingBottom + "px"
|
|
3005
|
+
}
|
|
3006
|
+
})));
|
|
2971
3007
|
};
|
|
2972
3008
|
|
|
2973
3009
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
@@ -3061,8 +3097,11 @@ var MRT_TableFooter = function MRT_TableFooter(_ref) {
|
|
|
3061
3097
|
};
|
|
3062
3098
|
|
|
3063
3099
|
var MRT_Table = function MRT_Table(_ref) {
|
|
3064
|
-
var
|
|
3100
|
+
var tableContainerRef = _ref.tableContainerRef,
|
|
3101
|
+
tableInstance = _ref.tableInstance;
|
|
3065
3102
|
var _tableInstance$option = tableInstance.options,
|
|
3103
|
+
enableColumnResizing = _tableInstance$option.enableColumnResizing,
|
|
3104
|
+
enableRowVirtualization = _tableInstance$option.enableRowVirtualization,
|
|
3066
3105
|
enableStickyHeader = _tableInstance$option.enableStickyHeader,
|
|
3067
3106
|
enableTableFooter = _tableInstance$option.enableTableFooter,
|
|
3068
3107
|
enableTableHead = _tableInstance$option.enableTableHead,
|
|
@@ -3072,9 +3111,14 @@ var MRT_Table = function MRT_Table(_ref) {
|
|
|
3072
3111
|
}) : muiTableProps;
|
|
3073
3112
|
return React.createElement(Table, Object.assign({
|
|
3074
3113
|
stickyHeader: enableStickyHeader
|
|
3075
|
-
}, tableProps
|
|
3114
|
+
}, tableProps, {
|
|
3115
|
+
sx: _extends({
|
|
3116
|
+
tableLayout: enableColumnResizing || enableRowVirtualization ? 'fixed' : undefined
|
|
3117
|
+
}, tableProps == null ? void 0 : tableProps.sx)
|
|
3118
|
+
}), enableTableHead && React.createElement(MRT_TableHead, {
|
|
3076
3119
|
tableInstance: tableInstance
|
|
3077
3120
|
}), React.createElement(MRT_TableBody, {
|
|
3121
|
+
tableContainerRef: tableContainerRef,
|
|
3078
3122
|
tableInstance: tableInstance
|
|
3079
3123
|
}), enableTableFooter && React.createElement(MRT_TableFooter, {
|
|
3080
3124
|
tableInstance: tableInstance
|
|
@@ -3087,8 +3131,8 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
3087
3131
|
var getState = tableInstance.getState,
|
|
3088
3132
|
_tableInstance$option = tableInstance.options,
|
|
3089
3133
|
enableStickyHeader = _tableInstance$option.enableStickyHeader,
|
|
3090
|
-
|
|
3091
|
-
|
|
3134
|
+
muiTableContainerProps = _tableInstance$option.muiTableContainerProps,
|
|
3135
|
+
tableId = _tableInstance$option.tableId;
|
|
3092
3136
|
|
|
3093
3137
|
var _getState = getState(),
|
|
3094
3138
|
isFullScreen = _getState.isFullScreen;
|
|
@@ -3107,7 +3151,9 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
3107
3151
|
var bottomToolbarHeight = typeof document !== 'undefined' ? (_document$getElementB3 = (_document2 = document) == null ? void 0 : (_document2$getElement = _document2.getElementById("mrt-" + tableId + "-toolbar-bottom")) == null ? void 0 : _document2$getElement.offsetHeight) != null ? _document$getElementB3 : 0 : 0;
|
|
3108
3152
|
setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);
|
|
3109
3153
|
});
|
|
3154
|
+
var tableContainerRef = React.useRef(null);
|
|
3110
3155
|
return React.createElement(TableContainer, Object.assign({}, tableContainerProps, {
|
|
3156
|
+
ref: tableContainerRef,
|
|
3111
3157
|
sx: _extends({
|
|
3112
3158
|
maxWidth: '100%',
|
|
3113
3159
|
maxHeight: enableStickyHeader ? "clamp(350px, calc(100vh - " + totalToolbarHeight + "px), 2000px)" : undefined,
|
|
@@ -3117,6 +3163,7 @@ var MRT_TableContainer = function MRT_TableContainer(_ref) {
|
|
|
3117
3163
|
maxHeight: isFullScreen ? "calc(100vh - " + totalToolbarHeight + "px)" : undefined
|
|
3118
3164
|
}
|
|
3119
3165
|
}), React.createElement(MRT_Table, {
|
|
3166
|
+
tableContainerRef: tableContainerRef,
|
|
3120
3167
|
tableInstance: tableInstance
|
|
3121
3168
|
}));
|
|
3122
3169
|
};
|
|
@@ -3430,7 +3477,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3430
3477
|
}));
|
|
3431
3478
|
};
|
|
3432
3479
|
|
|
3433
|
-
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "selectAllMode"];
|
|
3480
|
+
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensePaddingToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enablePagination", "enablePinning", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "persistentStateMode", "positionActionsColumn", "positionPagination", "positionGlobalFilter", "positionToolbarActions", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
|
|
3434
3481
|
var MaterialReactTable = (function (_ref) {
|
|
3435
3482
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3436
3483
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3438,9 +3485,9 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3438
3485
|
columnResizeMode = _ref$columnResizeMode === void 0 ? 'onEnd' : _ref$columnResizeMode,
|
|
3439
3486
|
_ref$defaultColumn = _ref.defaultColumn,
|
|
3440
3487
|
defaultColumn = _ref$defaultColumn === void 0 ? {
|
|
3441
|
-
minSize:
|
|
3488
|
+
minSize: 30,
|
|
3442
3489
|
maxSize: 1000,
|
|
3443
|
-
size:
|
|
3490
|
+
size: 180
|
|
3444
3491
|
} : _ref$defaultColumn,
|
|
3445
3492
|
_ref$editingMode = _ref.editingMode,
|
|
3446
3493
|
editingMode = _ref$editingMode === void 0 ? 'row' : _ref$editingMode,
|
|
@@ -3502,6 +3549,8 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3502
3549
|
positionToolbarActions = _ref$positionToolbarA === void 0 ? 'top' : _ref$positionToolbarA,
|
|
3503
3550
|
_ref$positionToolbarA2 = _ref.positionToolbarAlertBanner,
|
|
3504
3551
|
positionToolbarAlertBanner = _ref$positionToolbarA2 === void 0 ? 'top' : _ref$positionToolbarA2,
|
|
3552
|
+
_ref$rowNumberMode = _ref.rowNumberMode,
|
|
3553
|
+
rowNumberMode = _ref$rowNumberMode === void 0 ? 'original' : _ref$rowNumberMode,
|
|
3505
3554
|
_ref$selectAllMode = _ref.selectAllMode,
|
|
3506
3555
|
selectAllMode = _ref$selectAllMode === void 0 ? 'all' : _ref$selectAllMode,
|
|
3507
3556
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
@@ -3541,6 +3590,7 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3541
3590
|
positionPagination: positionPagination,
|
|
3542
3591
|
positionToolbarActions: positionToolbarActions,
|
|
3543
3592
|
positionToolbarAlertBanner: positionToolbarAlertBanner,
|
|
3593
|
+
rowNumberMode: rowNumberMode,
|
|
3544
3594
|
selectAllMode: selectAllMode
|
|
3545
3595
|
}, rest));
|
|
3546
3596
|
});
|