material-react-table 0.15.0 → 0.16.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/MaterialReactTable.d.ts +1 -1
- package/dist/localization.d.ts +1 -1
- package/dist/material-react-table.cjs.development.js +51 -29
- 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 +52 -30
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/table/MRT_TableRoot.d.ts +1 -0
- package/dist/utils.d.ts +3 -3
- package/package.json +7 -7
- package/src/MaterialReactTable.tsx +1 -1
- package/src/body/MRT_TableBody.tsx +13 -5
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +0 -1
- package/src/inputs/MRT_FilterRangeFields.tsx +1 -14
- package/src/localization.ts +2 -2
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +60 -26
- package/src/table/MRT_TablePaper.tsx +3 -0
- package/src/table/MRT_TableRoot.tsx +3 -3
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +5 -1
|
@@ -94,9 +94,9 @@ export declare type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<Col
|
|
|
94
94
|
columns?: MRT_ColumnDef<D>[];
|
|
95
95
|
enableClickToCopy?: boolean;
|
|
96
96
|
enableColumnActions?: boolean;
|
|
97
|
+
enableColumnFilterChangeMode?: boolean;
|
|
97
98
|
enableColumnOrdering?: boolean;
|
|
98
99
|
enableEditing?: boolean;
|
|
99
|
-
enableColumnFilterChangeMode?: boolean;
|
|
100
100
|
enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
|
|
101
101
|
filterFn?: MRT_FilterFn;
|
|
102
102
|
filterSelectOptions?: (string | {
|
package/dist/localization.d.ts
CHANGED
|
@@ -55,11 +55,11 @@ export interface MRT_Localization {
|
|
|
55
55
|
sortedByColumnAsc: string;
|
|
56
56
|
sortedByColumnDesc: string;
|
|
57
57
|
thenBy: string;
|
|
58
|
-
to: string;
|
|
59
58
|
toggleDensity: string;
|
|
60
59
|
toggleFullScreen: string;
|
|
61
60
|
toggleSelectAll: string;
|
|
62
61
|
toggleSelectRow: string;
|
|
62
|
+
toggleVisibility: string;
|
|
63
63
|
ungroupByColumn: string;
|
|
64
64
|
unpin: string;
|
|
65
65
|
unpinAll: string;
|
|
@@ -105,11 +105,11 @@ var MRT_DefaultLocalization_EN = {
|
|
|
105
105
|
sortedByColumnAsc: 'Sorted by {column} ascending',
|
|
106
106
|
sortedByColumnDesc: 'Sorted by {column} descending',
|
|
107
107
|
thenBy: ', then by ',
|
|
108
|
-
to: 'to',
|
|
109
108
|
toggleDensity: 'Toggle density',
|
|
110
109
|
toggleFullScreen: 'Toggle full screen',
|
|
111
110
|
toggleSelectAll: 'Toggle select all',
|
|
112
111
|
toggleSelectRow: 'Toggle select row',
|
|
112
|
+
toggleVisibility: 'Toggle visibility',
|
|
113
113
|
ungroupByColumn: 'Ungroup by {column}',
|
|
114
114
|
unpin: 'Unpin',
|
|
115
115
|
unpinAll: 'Unpin all',
|
|
@@ -3434,6 +3434,9 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3434
3434
|
var getState = instance.getState,
|
|
3435
3435
|
_instance$options = instance.options,
|
|
3436
3436
|
enableColumnOrdering = _instance$options.enableColumnOrdering,
|
|
3437
|
+
enableHiding = _instance$options.enableHiding,
|
|
3438
|
+
enablePinning = _instance$options.enablePinning,
|
|
3439
|
+
localization = _instance$options.localization,
|
|
3437
3440
|
onColumnVisibilityChanged = _instance$options.onColumnVisibilityChanged,
|
|
3438
3441
|
setColumnOrder = instance.setColumnOrder;
|
|
3439
3442
|
|
|
@@ -3504,15 +3507,23 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3504
3507
|
flexWrap: 'nowrap',
|
|
3505
3508
|
gap: '8px'
|
|
3506
3509
|
}
|
|
3507
|
-
}, columnDefType !== 'group' && enableColumnOrdering &&
|
|
3510
|
+
}, columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
|
|
3508
3511
|
return col.columnDefType === 'group';
|
|
3509
|
-
}) && React__default.createElement(MRT_GrabHandleButton, {
|
|
3512
|
+
}) && (columnDef.enableColumnOrdering !== false ? React__default.createElement(MRT_GrabHandleButton, {
|
|
3510
3513
|
ref: dragRef,
|
|
3511
3514
|
instance: instance
|
|
3512
|
-
})
|
|
3515
|
+
}) : React__default.createElement(material.Box, {
|
|
3516
|
+
sx: {
|
|
3517
|
+
width: '28px'
|
|
3518
|
+
}
|
|
3519
|
+
})), enablePinning && !isSubMenu && (column.getCanPin() ? React__default.createElement(MRT_ColumnPinningButtons, {
|
|
3513
3520
|
column: column,
|
|
3514
3521
|
instance: instance
|
|
3515
|
-
})
|
|
3522
|
+
}) : React__default.createElement(material.Box, {
|
|
3523
|
+
sx: {
|
|
3524
|
+
width: '70px'
|
|
3525
|
+
}
|
|
3526
|
+
})), enableHiding ? React__default.createElement(material.FormControlLabel, {
|
|
3516
3527
|
componentsProps: {
|
|
3517
3528
|
typography: {
|
|
3518
3529
|
sx: {
|
|
@@ -3522,13 +3533,22 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3522
3533
|
}
|
|
3523
3534
|
},
|
|
3524
3535
|
checked: switchChecked,
|
|
3525
|
-
control: React__default.createElement(material.
|
|
3536
|
+
control: React__default.createElement(material.Tooltip, {
|
|
3537
|
+
arrow: true,
|
|
3538
|
+
enterDelay: 1000,
|
|
3539
|
+
enterNextDelay: 1000,
|
|
3540
|
+
title: localization.toggleVisibility
|
|
3541
|
+
}, React__default.createElement(material.Switch, null)),
|
|
3526
3542
|
disabled: isSubMenu && switchChecked || !column.getCanHide() || column.getIsGrouped(),
|
|
3527
3543
|
label: columnDef.header,
|
|
3528
3544
|
onChange: function onChange() {
|
|
3529
3545
|
return handleToggleColumnHidden(column);
|
|
3530
3546
|
}
|
|
3531
|
-
})
|
|
3547
|
+
}) : React__default.createElement(material.Typography, {
|
|
3548
|
+
sx: {
|
|
3549
|
+
alignSelf: 'center'
|
|
3550
|
+
}
|
|
3551
|
+
}, columnDef.header))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
|
|
3532
3552
|
return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
3533
3553
|
allColumns: allColumns,
|
|
3534
3554
|
key: i + "-" + c.id,
|
|
@@ -5400,11 +5420,13 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
5400
5420
|
var instance = _ref.instance;
|
|
5401
5421
|
var _instance$options = instance.options,
|
|
5402
5422
|
enableColumnFilters = _instance$options.enableColumnFilters,
|
|
5423
|
+
enableColumnOrdering = _instance$options.enableColumnOrdering,
|
|
5403
5424
|
enableDensityToggle = _instance$options.enableDensityToggle,
|
|
5404
5425
|
enableFilters = _instance$options.enableFilters,
|
|
5405
5426
|
enableFullScreenToggle = _instance$options.enableFullScreenToggle,
|
|
5406
5427
|
enableGlobalFilter = _instance$options.enableGlobalFilter,
|
|
5407
5428
|
enableHiding = _instance$options.enableHiding,
|
|
5429
|
+
enablePinning = _instance$options.enablePinning,
|
|
5408
5430
|
positionGlobalFilter = _instance$options.positionGlobalFilter,
|
|
5409
5431
|
renderToolbarInternalActions = _instance$options.renderToolbarInternalActions;
|
|
5410
5432
|
return React__default.createElement(material.Box, {
|
|
@@ -5426,7 +5448,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
5426
5448
|
instance: instance
|
|
5427
5449
|
}), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
|
|
5428
5450
|
instance: instance
|
|
5429
|
-
}), enableHiding && React__default.createElement(MRT_ShowHideColumnsButton, {
|
|
5451
|
+
}), (enableHiding || enableColumnOrdering || enablePinning) && React__default.createElement(MRT_ShowHideColumnsButton, {
|
|
5430
5452
|
instance: instance
|
|
5431
5453
|
}), enableDensityToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
|
|
5432
5454
|
instance: instance
|
|
@@ -5729,7 +5751,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
5729
5751
|
};
|
|
5730
5752
|
|
|
5731
5753
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
5732
|
-
var _localization$filterB, _columnDef$enabledCol, _allowedColumnFilterO, _localization$filterM, _localization
|
|
5754
|
+
var _localization$filterB, _columnDef$enabledCol, _allowedColumnFilterO, _localization$filterM, _localization, _localization$clearFi, _columnDef$filterSele;
|
|
5733
5755
|
|
|
5734
5756
|
var header = _ref.header,
|
|
5735
5757
|
inputIndex = _ref.inputIndex,
|
|
@@ -5877,7 +5899,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5877
5899
|
helperText: allowColumnChangeMode && !inputIndex && (allowedColumnFilterOptions === undefined || ((_allowedColumnFilterO = allowedColumnFilterOptions == null ? void 0 : allowedColumnFilterOptions.length) != null ? _allowedColumnFilterO : 0) > 0) ? React__default.createElement("label", {
|
|
5878
5900
|
htmlFor: filterId
|
|
5879
5901
|
}, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
5880
|
-
(_localization
|
|
5902
|
+
(_localization = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
5881
5903
|
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))])) : null,
|
|
5882
5904
|
FormHelperTextProps: {
|
|
5883
5905
|
sx: {
|
|
@@ -5972,23 +5994,17 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5972
5994
|
var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
|
|
5973
5995
|
var header = _ref.header,
|
|
5974
5996
|
instance = _ref.instance;
|
|
5975
|
-
var localization = instance.options.localization;
|
|
5976
5997
|
return React__default.createElement(material.Box, {
|
|
5977
5998
|
sx: {
|
|
5978
5999
|
display: 'grid',
|
|
5979
|
-
gridTemplateColumns: '6fr
|
|
6000
|
+
gridTemplateColumns: '6fr 6fr',
|
|
6001
|
+
gap: '1rem'
|
|
5980
6002
|
}
|
|
5981
6003
|
}, React__default.createElement(MRT_FilterTextField, {
|
|
5982
6004
|
header: header,
|
|
5983
6005
|
inputIndex: 0,
|
|
5984
6006
|
instance: instance
|
|
5985
|
-
}), React__default.createElement(
|
|
5986
|
-
sx: {
|
|
5987
|
-
width: '100%',
|
|
5988
|
-
minWidth: '5ch',
|
|
5989
|
-
textAlign: 'center'
|
|
5990
|
-
}
|
|
5991
|
-
}, localization.to), React__default.createElement(MRT_FilterTextField, {
|
|
6007
|
+
}), React__default.createElement(MRT_FilterTextField, {
|
|
5992
6008
|
header: header,
|
|
5993
6009
|
inputIndex: 1,
|
|
5994
6010
|
instance: instance
|
|
@@ -6089,7 +6105,6 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
|
|
|
6089
6105
|
touchAction: 'none',
|
|
6090
6106
|
transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
|
|
6091
6107
|
userSelect: 'none',
|
|
6092
|
-
zIndex: 2000,
|
|
6093
6108
|
'&:active': {
|
|
6094
6109
|
backgroundColor: theme.palette.info.main,
|
|
6095
6110
|
opacity: 1
|
|
@@ -7314,7 +7329,7 @@ var rankGlobalFuzzy = function rankGlobalFuzzy(rowA, rowB) {
|
|
|
7314
7329
|
var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
7315
7330
|
var instance = _ref.instance,
|
|
7316
7331
|
tableContainerRef = _ref.tableContainerRef;
|
|
7317
|
-
var
|
|
7332
|
+
var getRowModel = instance.getRowModel,
|
|
7318
7333
|
getPrePaginationRowModel = instance.getPrePaginationRowModel,
|
|
7319
7334
|
getState = instance.getState,
|
|
7320
7335
|
_instance$options = instance.options,
|
|
@@ -7327,13 +7342,19 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
|
7327
7342
|
var _getState = getState(),
|
|
7328
7343
|
density = _getState.density,
|
|
7329
7344
|
globalFilter = _getState.globalFilter,
|
|
7330
|
-
pagination = _getState.pagination
|
|
7345
|
+
pagination = _getState.pagination,
|
|
7346
|
+
sorting = _getState.sorting;
|
|
7331
7347
|
|
|
7332
7348
|
var tableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps({
|
|
7333
7349
|
instance: instance
|
|
7334
7350
|
}) : muiTableBodyProps;
|
|
7351
|
+
|
|
7352
|
+
var getIsSomeColumnsSorted = function getIsSomeColumnsSorted() {
|
|
7353
|
+
return Object.values(sorting).some(Boolean);
|
|
7354
|
+
};
|
|
7355
|
+
|
|
7335
7356
|
var rows = React.useMemo(function () {
|
|
7336
|
-
if (enableGlobalFilterRankedResults && globalFilter) {
|
|
7357
|
+
if (enableGlobalFilterRankedResults && globalFilter && !getIsSomeColumnsSorted()) {
|
|
7337
7358
|
var rankedRows = getPrePaginationRowModel().rows.sort(function (a, b) {
|
|
7338
7359
|
return rankGlobalFuzzy(a, b);
|
|
7339
7360
|
});
|
|
@@ -7345,8 +7366,8 @@ var MRT_TableBody = function MRT_TableBody(_ref) {
|
|
|
7345
7366
|
return rankedRows;
|
|
7346
7367
|
}
|
|
7347
7368
|
|
|
7348
|
-
return enablePagination ?
|
|
7349
|
-
}, [enableGlobalFilterRankedResults, enableGlobalFilterRankedResults && globalFilter || !enablePagination ? getPrePaginationRowModel().rows :
|
|
7369
|
+
return enablePagination ? getRowModel().rows : getPrePaginationRowModel().rows;
|
|
7370
|
+
}, [enableGlobalFilterRankedResults, enableGlobalFilterRankedResults && globalFilter || !enablePagination ? getPrePaginationRowModel().rows : getRowModel().rows, globalFilter]);
|
|
7350
7371
|
var rowVirtualizer = enableRowVirtualization ? useVirtual(_extends({
|
|
7351
7372
|
overscan: density === 'compact' ? 20 : 10,
|
|
7352
7373
|
size: rows.length,
|
|
@@ -7572,7 +7593,8 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
7572
7593
|
}, tablePaperProps, {
|
|
7573
7594
|
sx: _extends({
|
|
7574
7595
|
transition: 'all 0.2s ease-in-out'
|
|
7575
|
-
}, tablePaperProps == null ? void 0 : tablePaperProps.sx,
|
|
7596
|
+
}, tablePaperProps == null ? void 0 : tablePaperProps.sx),
|
|
7597
|
+
style: _extends({}, tablePaperProps == null ? void 0 : tablePaperProps.style, {
|
|
7576
7598
|
height: isFullScreen ? '100vh' : undefined,
|
|
7577
7599
|
margin: isFullScreen ? '0' : undefined,
|
|
7578
7600
|
maxHeight: isFullScreen ? '100vh' : undefined,
|
|
@@ -7722,7 +7744,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7722
7744
|
id: 'mrt-expand',
|
|
7723
7745
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7724
7746
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7725
|
-
size:
|
|
7747
|
+
size: 60
|
|
7726
7748
|
}), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
|
|
7727
7749
|
Cell: function Cell(_ref5) {
|
|
7728
7750
|
var cell = _ref5.cell;
|
|
@@ -7741,7 +7763,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7741
7763
|
id: 'mrt-select',
|
|
7742
7764
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7743
7765
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7744
|
-
size:
|
|
7766
|
+
size: 60
|
|
7745
7767
|
}), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
|
|
7746
7768
|
Cell: function Cell(_ref6) {
|
|
7747
7769
|
var cell = _ref6.cell;
|
|
@@ -7756,7 +7778,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7756
7778
|
id: 'mrt-row-numbers',
|
|
7757
7779
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7758
7780
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7759
|
-
size:
|
|
7781
|
+
size: 60
|
|
7760
7782
|
})].filter(Boolean);
|
|
7761
7783
|
}, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]);
|
|
7762
7784
|
var columns = React.useMemo(function () {
|