material-react-table 3.0.1 → 3.0.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/dist/index.d.ts +1 -1
- package/dist/index.esm.js +18 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +18 -10
- package/dist/index.js.map +1 -1
- package/locales/sv/index.esm.js +6 -6
- package/locales/sv/index.js +6 -6
- package/package.json +33 -33
- package/src/components/body/MRT_TableBodyCell.tsx +1 -1
- package/src/components/footer/MRT_TableFooterCell.tsx +1 -1
- package/src/components/head/MRT_TableHeadCell.tsx +1 -2
- package/src/components/inputs/MRT_EditCellTextField.tsx +1 -1
- package/src/components/inputs/MRT_FilterTextField.tsx +13 -6
- package/src/components/inputs/MRT_GlobalFilterTextField.tsx +1 -1
- package/src/components/menus/MRT_RowActionMenu.tsx +1 -0
- package/src/locales/sv.ts +6 -6
- package/src/types.ts +1 -1
- package/src/utils/cell.utils.ts +1 -0
- package/src/utils/utils.ts +1 -1
package/dist/index.js
CHANGED
@@ -526,6 +526,8 @@ const cellKeyboardShortcuts = ({ cell, cellElements, cellValue, containerElement
|
|
526
526
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
527
527
|
if (!table.options.enableKeyboardShortcuts)
|
528
528
|
return;
|
529
|
+
if (event.isPropagationStopped())
|
530
|
+
return;
|
529
531
|
const currentCell = event.currentTarget;
|
530
532
|
if (cellValue && isWinCtrlMacMeta(event) && event.key === 'c') {
|
531
533
|
navigator.clipboard.writeText(cellValue);
|
@@ -1014,7 +1016,7 @@ const MRT_RowActionMenu = (_a) => {
|
|
1014
1016
|
const menuItems = react.useMemo(() => {
|
1015
1017
|
const items = [];
|
1016
1018
|
const editItem = parseFromValuesOrFunc(enableEditing, row) &&
|
1017
|
-
['modal', 'row'].includes(editDisplayMode) && (jsxRuntime.jsx(MRT_ActionMenuItem, { icon: jsxRuntime.jsx(EditIcon, {}), label: localization.edit, onClick: handleEdit, table: table }));
|
1019
|
+
['modal', 'row'].includes(editDisplayMode) && (jsxRuntime.jsx(MRT_ActionMenuItem, { icon: jsxRuntime.jsx(EditIcon, {}), label: localization.edit, onClick: handleEdit, table: table }, 'edit'));
|
1018
1020
|
if (editItem)
|
1019
1021
|
items.push(editItem);
|
1020
1022
|
const rowActionMenuItems = renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 : renderRowActionMenuItems({
|
@@ -2191,7 +2193,7 @@ const MRT_EditCellTextField = (_a) => {
|
|
2191
2193
|
: {})), textFieldProps.InputProps), { sx: (theme) => {
|
2192
2194
|
var _a;
|
2193
2195
|
return (Object.assign({ mb: 0 }, parseFromValuesOrFunc((_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx, theme)));
|
2194
|
-
} }), SelectProps: Object.assign({ MenuProps: { disableScrollLock: true } }, textFieldProps.SelectProps), inputProps: Object.assign({ autoComplete: '
|
2196
|
+
} }), SelectProps: Object.assign({ MenuProps: { disableScrollLock: true } }, textFieldProps.SelectProps), inputProps: Object.assign({ autoComplete: 'off' }, textFieldProps.inputProps), onBlur: handleBlur, onChange: handleChange, onClick: (e) => {
|
2195
2197
|
var _a;
|
2196
2198
|
e.stopPropagation();
|
2197
2199
|
(_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.onClick) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, e);
|
@@ -2334,13 +2336,13 @@ const MRT_TableBodyCell = (_a) => {
|
|
2334
2336
|
};
|
2335
2337
|
const handleKeyDown = (event) => {
|
2336
2338
|
var _a;
|
2339
|
+
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2337
2340
|
cellKeyboardShortcuts({
|
2338
2341
|
cell,
|
2339
2342
|
cellValue: cell.getValue(),
|
2340
2343
|
event,
|
2341
2344
|
table,
|
2342
2345
|
});
|
2343
|
-
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2344
2346
|
};
|
2345
2347
|
return (jsxRuntime.jsx(TableCell__default["default"], Object.assign({ align: theme.direction === 'rtl' ? 'right' : 'left', "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined, tabIndex: enableKeyboardShortcuts ? 0 : undefined }, tableCellProps, { onKeyDown: handleKeyDown, onContextMenu: handleContextMenu, onDoubleClick: handleDoubleClick, onDragEnter: handleDragEnter, onDragOver: handleDragOver, sx: (theme) => (Object.assign(Object.assign({ '&:hover': {
|
2346
2348
|
outline: (actionCell === null || actionCell === void 0 ? void 0 : actionCell.id) === cell.id ||
|
@@ -2615,12 +2617,12 @@ const MRT_TableFooterCell = (_a) => {
|
|
2615
2617
|
const tableCellProps = Object.assign(Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableFooterCellProps, args)), parseFromValuesOrFunc(columnDef.muiTableFooterCellProps, args)), rest);
|
2616
2618
|
const handleKeyDown = (event) => {
|
2617
2619
|
var _a;
|
2620
|
+
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2618
2621
|
cellKeyboardShortcuts({
|
2619
2622
|
event,
|
2620
2623
|
cellValue: footer.column.columnDef.footer,
|
2621
2624
|
table,
|
2622
2625
|
});
|
2623
|
-
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2624
2626
|
};
|
2625
2627
|
return (jsxRuntime.jsx(TableCell__default["default"], Object.assign({ align: columnDefType === 'group'
|
2626
2628
|
? 'center'
|
@@ -3227,7 +3229,7 @@ const MRT_FilterTextField = (_a) => {
|
|
3227
3229
|
localization[`filter${((_k = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt(0)) === null || _k === void 0 ? void 0 : _k.toUpperCase()) +
|
3228
3230
|
(currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.slice(1))}`]) })) : null, inputProps: {
|
3229
3231
|
'aria-label': filterPlaceholder,
|
3230
|
-
autoComplete: '
|
3232
|
+
autoComplete: 'off',
|
3231
3233
|
disabled: !!filterChipLabel,
|
3232
3234
|
sx: {
|
3233
3235
|
textOverflow: 'ellipsis',
|
@@ -3270,15 +3272,21 @@ const MRT_FilterTextField = (_a) => {
|
|
3270
3272
|
} }))) : (filterVariant === null || filterVariant === void 0 ? void 0 : filterVariant.startsWith('date')) ? (jsxRuntime.jsx(DatePicker.DatePicker, Object.assign({}, commonDatePickerProps, datePickerProps, { slotProps: {
|
3271
3273
|
field: Object.assign({ clearable: true, onClear: () => handleClear() }, (_q = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _q === void 0 ? void 0 : _q.field),
|
3272
3274
|
textField: Object.assign(Object.assign({}, commonTextFieldProps), (_r = datePickerProps === null || datePickerProps === void 0 ? void 0 : datePickerProps.slotProps) === null || _r === void 0 ? void 0 : _r.textField),
|
3273
|
-
} }))) : isAutocompleteFilter ? (jsxRuntime.jsx(Autocomplete__default["default"], Object.assign({ freeSolo: true, getOptionLabel: (option) => getValueAndLabel(option).label,
|
3275
|
+
} }))) : isAutocompleteFilter ? (jsxRuntime.jsx(Autocomplete__default["default"], Object.assign({ freeSolo: true, getOptionLabel: (option) => getValueAndLabel(option).label,
|
3276
|
+
// @ts-ignore
|
3277
|
+
onChange: (_e, newValue) => handleAutocompleteChange(newValue), options: (_s = dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.map((option) => getValueAndLabel(option))) !== null && _s !== void 0 ? _s : [] }, autocompleteProps, { renderInput: (builtinTextFieldProps) => {
|
3274
3278
|
var _a;
|
3275
3279
|
return (jsxRuntime.jsx(TextField__default["default"], Object.assign({}, builtinTextFieldProps, commonTextFieldProps, { InputProps: Object.assign(Object.assign({}, builtinTextFieldProps.InputProps), { startAdornment: (_a = commonTextFieldProps === null || commonTextFieldProps === void 0 ? void 0 : commonTextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.startAdornment }), inputProps: Object.assign(Object.assign({}, builtinTextFieldProps.inputProps), commonTextFieldProps === null || commonTextFieldProps === void 0 ? void 0 : commonTextFieldProps.inputProps), onChange: handleTextFieldChange, onClick: (e) => e.stopPropagation() })));
|
3276
3280
|
}, value: autocompleteValue }))) : (jsxRuntime.jsx(TextField__default["default"], Object.assign({ select: isSelectFilter || isMultiSelectFilter }, commonTextFieldProps, { SelectProps: Object.assign({ MenuProps: { disableScrollLock: true }, displayEmpty: true, multiple: isMultiSelectFilter, renderValue: isMultiSelectFilter
|
3277
|
-
? (selected) => !(selected
|
3281
|
+
? (selected) => !Array.isArray(selected) || selected.length === 0 ? (jsxRuntime.jsx(Box__default["default"], { sx: { opacity: 0.5 }, children: filterPlaceholder })) : (jsxRuntime.jsx(Box__default["default"], { sx: { display: 'flex', flexWrap: 'wrap', gap: '2px' }, children: selected.map((value) => {
|
3278
3282
|
const selectedValue = dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.find((option) => getValueAndLabel(option).value === value);
|
3279
3283
|
return (jsxRuntime.jsx(Chip__default["default"], { label: getValueAndLabel(selectedValue).label }, value));
|
3280
3284
|
}) }))
|
3281
|
-
: undefined }, commonTextFieldProps.SelectProps), onChange: handleTextFieldChange, onClick: (e) => e.stopPropagation(), value:
|
3285
|
+
: undefined }, commonTextFieldProps.SelectProps), onChange: handleTextFieldChange, onClick: (e) => e.stopPropagation(), value: isMultiSelectFilter
|
3286
|
+
? Array.isArray(filterValue)
|
3287
|
+
? filterValue
|
3288
|
+
: []
|
3289
|
+
: '', children: (isSelectFilter || isMultiSelectFilter) && [
|
3282
3290
|
jsxRuntime.jsx(MenuItem__default["default"], { disabled: true, divider: true, hidden: true, value: "", children: jsxRuntime.jsx(Box__default["default"], { sx: { opacity: 0.5 }, children: filterPlaceholder }) }, "p"),
|
3283
3291
|
...[
|
3284
3292
|
(_t = textFieldProps.children) !== null && _t !== void 0 ? _t : dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.map((option, index) => {
|
@@ -3627,13 +3635,13 @@ const MRT_TableHeadCell = (_a) => {
|
|
3627
3635
|
};
|
3628
3636
|
const handleKeyDown = (event) => {
|
3629
3637
|
var _a;
|
3638
|
+
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
3630
3639
|
cellKeyboardShortcuts({
|
3631
3640
|
event,
|
3632
3641
|
cellValue: header.column.columnDef.header,
|
3633
3642
|
table,
|
3634
3643
|
header,
|
3635
3644
|
});
|
3636
|
-
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
3637
3645
|
};
|
3638
3646
|
const HeaderElement = (_b = parseFromValuesOrFunc(columnDef.Header, {
|
3639
3647
|
column,
|
@@ -4339,7 +4347,7 @@ const MRT_GlobalFilterTextField = (_a) => {
|
|
4339
4347
|
}
|
4340
4348
|
isMounted.current = true;
|
4341
4349
|
}, [globalFilter]);
|
4342
|
-
return (jsxRuntime.jsxs(Collapse__default["default"], { in: showGlobalFilter, mountOnEnter: true, orientation: "horizontal", unmountOnExit: true, children: [jsxRuntime.jsx(TextField__default["default"], Object.assign({ inputProps: Object.assign({ autoComplete: '
|
4350
|
+
return (jsxRuntime.jsxs(Collapse__default["default"], { in: showGlobalFilter, mountOnEnter: true, orientation: "horizontal", unmountOnExit: true, children: [jsxRuntime.jsx(TextField__default["default"], Object.assign({ inputProps: Object.assign({ autoComplete: 'off' }, textFieldProps.inputProps), onChange: handleChange, placeholder: localization.search, size: "small", value: searchValue !== null && searchValue !== void 0 ? searchValue : '', variant: "outlined" }, textFieldProps, { InputProps: Object.assign(Object.assign({ endAdornment: (jsxRuntime.jsx(InputAdornment__default["default"], { position: "end", children: jsxRuntime.jsx(Tooltip__default["default"], { title: (_b = localization.clearSearch) !== null && _b !== void 0 ? _b : '', children: jsxRuntime.jsx("span", { children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.clearSearch, disabled: !(searchValue === null || searchValue === void 0 ? void 0 : searchValue.length), onClick: handleClear, size: "small", children: jsxRuntime.jsx(CloseIcon, {}) }) }) }) })), startAdornment: enableGlobalFilterModes ? (jsxRuntime.jsx(InputAdornment__default["default"], { position: "start", children: jsxRuntime.jsx(Tooltip__default["default"], { title: localization.changeSearchMode, children: jsxRuntime.jsx(IconButton__default["default"], { "aria-label": localization.changeSearchMode, onClick: handleGlobalFilterMenuOpen, size: "small", sx: { height: '1.75rem', width: '1.75rem' }, children: jsxRuntime.jsx(SearchIcon, {}) }) }) })) : (jsxRuntime.jsx(SearchIcon, { style: { marginRight: '4px' } })) }, textFieldProps.InputProps), { sx: (theme) => {
|
4343
4351
|
var _a;
|
4344
4352
|
return (Object.assign({ mb: 0 }, parseFromValuesOrFunc((_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx, theme)));
|
4345
4353
|
} }), inputRef: (inputRef) => {
|