react-hook-toolkit 1.2.1 → 1.2.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/chunk1213/chunk158261.js +41 -0
- package/dist/chunk1213/chunk158862.js +121 -0
- package/dist/chunk1415/chunk143.js +58 -0
- package/dist/chunk1516/chunk0021.js +700 -0
- package/dist/chunk1516/chunk0022.js +381 -0
- package/dist/chunk1516/chunk613852.js +299 -0
- package/dist/chunk1516/chunk726433.js +621 -0
- package/dist/chunk1516/chunk940514.js +817 -0
- package/dist/chunk1617/chunk613555.js +115 -0
- package/dist/chunk1617/chunk613557.js +7 -0
- package/dist/index.d.ts +13 -565
- package/dist/index.js +15 -204
- package/dist/type.js +7 -0
- package/dist/utils.js +104 -0
- package/package.json +52 -60
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -204
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
+
import { forwardRef, useState } from 'react';
|
|
14
|
+
import { useEffect, useCallback, useRef, Suspense } from 'react';
|
|
15
|
+
import { Paper, MenuList, MenuItem, ListItemIcon, ListItemText, Divider, Typography, styled, Box, Alert, AlertTitle, IconButton, CardContent, Tooltip, Card, Grid, Skeleton, CircularProgress, } from '@mui/material';
|
|
16
|
+
import { Close, InsertDriveFile, Image, Description, Download, CheckCircleOutlined, ErrorOutlineOutlined, Upload, } from '@mui/icons-material';
|
|
17
|
+
import { useTheme } from '@mui/material/styles';
|
|
18
|
+
import NProgress from 'nprogress';
|
|
19
|
+
import { ErrorBoundary } from 'react-error-boundary';
|
|
20
|
+
import { promise } from '../utils';
|
|
21
|
+
import { getHook } from '../chunk1415/chunk143';
|
|
22
|
+
import { useWindowSize } from './chunk940514';
|
|
23
|
+
function Fallback(_a) {
|
|
24
|
+
var error = _a.error;
|
|
25
|
+
return (_jsxs(Box, { sx: { padding: 2 }, children: [process.env.NODE_ENV === 'production' && (_jsxs(Alert, { sx: { py: 0, borderLeft: '2px solid #00abff !important', border: '1px solid #d0cfcf' }, severity: "info", children: [_jsx(AlertTitle, { children: "Page Loading Error" }), "Please check your network connection..."] })), process.env.NODE_ENV !== 'production' && (_jsxs(Alert, { severity: "error", sx: { py: 0, borderTop: '2px solid #791212ad !important', border: '1px solid #d0cfcf' }, children: [_jsx(AlertTitle, { children: "Error" }), error.message] }))] }));
|
|
26
|
+
}
|
|
27
|
+
var Error = function (_a) {
|
|
28
|
+
var children = _a.children;
|
|
29
|
+
var firstRender = useRef(false);
|
|
30
|
+
var handleReload = useCallback(function () {
|
|
31
|
+
if (!firstRender.current) {
|
|
32
|
+
firstRender.current = true; // Ensure this runs only once
|
|
33
|
+
promise(1500).then(function () {
|
|
34
|
+
window.location.reload();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}, []);
|
|
38
|
+
return (_jsx(ErrorBoundary, { FallbackComponent: Fallback, onError: function () {
|
|
39
|
+
if (process.env.NODE_ENV === 'production') {
|
|
40
|
+
handleReload();
|
|
41
|
+
}
|
|
42
|
+
}, children: children }));
|
|
43
|
+
};
|
|
44
|
+
var LoadingScreen = function () {
|
|
45
|
+
useEffect(function () {
|
|
46
|
+
NProgress.start();
|
|
47
|
+
return function () {
|
|
48
|
+
NProgress.done();
|
|
49
|
+
};
|
|
50
|
+
}, []);
|
|
51
|
+
return (_jsx(Box, { sx: {
|
|
52
|
+
backgroundColor: 'background.paper',
|
|
53
|
+
minHeight: '100%',
|
|
54
|
+
} }));
|
|
55
|
+
};
|
|
56
|
+
// prettier-ignore
|
|
57
|
+
export var DynamicLoader = function (Component) { return function (props) { return (_jsx(Error, { children: _jsx(Suspense, { fallback: _jsx(LoadingScreen, {}), children: _jsx(Component, __assign({}, props)) }) })); }; };
|
|
58
|
+
export var AlertMessage = function (_a) {
|
|
59
|
+
var type = _a.type, msg = _a.msg, duration = _a.duration;
|
|
60
|
+
var _b = getHook('snackBar'), enqueueSnackbar = _b.enqueueSnackbar, closeSnackbar = _b.closeSnackbar;
|
|
61
|
+
if (msg !== undefined && msg !== '') {
|
|
62
|
+
enqueueSnackbar(msg !== null && msg !== void 0 ? msg : '', {
|
|
63
|
+
anchorOrigin: {
|
|
64
|
+
// @shivaji perpose dyanamic global alert.
|
|
65
|
+
horizontal: 'right',
|
|
66
|
+
vertical: 'top',
|
|
67
|
+
},
|
|
68
|
+
variant: type,
|
|
69
|
+
preventDuplicate: true,
|
|
70
|
+
// persist: true, whenever you want to close.
|
|
71
|
+
action: function (key) { return (_jsx(IconButton, { "aria-label": "close", size: "small", onClick: function () { return closeSnackbar(key); }, children: _jsx(Close, { fontSize: "small", sx: { color: '#fff' } }) })); },
|
|
72
|
+
autoHideDuration: duration !== null && duration !== void 0 ? duration : 6000,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
};
|
|
77
|
+
export var DetailsCard = function (_a) {
|
|
78
|
+
var _b = _a.isLoading, isLoading = _b === void 0 ? false : _b, title = _a.title, details = _a.details, _c = _a.spacing, spacing = _c === void 0 ? 2 : _c, _d = _a.boxShadow, boxShadow = _d === void 0 ? '0px 0px 2px 2px #d8d8d8' : _d, _e = _a.background, background = _e === void 0 ? '#eee' : _e, _f = _a.loaderType, loaderType = _f === void 0 ? 'skeleton' : _f, _g = _a.displayType, displayType = _g === void 0 ? 'flex' : _g;
|
|
79
|
+
var width = useWindowSize().width;
|
|
80
|
+
return (_jsx(Card, { sx: { boxShadow: boxShadow }, children: _jsxs(CardContent, { children: [_jsx(Typography, { variant: "h6", sx: { background: background, padding: '4px' }, children: title }), _jsx(Grid, { container: true, spacing: spacing, sx: { mt: 1 }, children: details.filter(Boolean).map(function (item, index) { return (_jsx(Grid, { item: true, xs: 12, sm: 6, md: 6, lg: width < 1367 ? 6 : 4, children: _jsxs(Box, { display: displayType, alignItems: "center", sx: { fontSize: '14px' }, children: [_jsxs(Typography, { fontWeight: "bold", component: "span", sx: { fontSize: '14px' }, children: [item === null || item === void 0 ? void 0 : item.label, ":\u00A0"] }), isLoading ? (loaderType === 'skeleton' ? (_jsx(Skeleton, { sx: { ml: 2 }, variant: "text", width: 100, height: 20 })) : (_jsx(CircularProgress, { sx: { ml: 2 }, color: "success", size: 18 }))) : (_jsx(Typography, { component: "span", sx: { fontSize: '14px' }, children: (item === null || item === void 0 ? void 0 : item.value) !== undefined && (item === null || item === void 0 ? void 0 : item.value) !== null && (item === null || item === void 0 ? void 0 : item.value) !== '' ? item.value : 'N/A' }))] }) }, index.toString())); }) })] }) }));
|
|
81
|
+
};
|
|
82
|
+
export var LabeledValue = function (_a) {
|
|
83
|
+
var label = _a.label, value = _a.value, _b = _a.style, style = _b === void 0 ? undefined : _b;
|
|
84
|
+
return (_jsx(_Fragment, { children: _jsx(Typography, { sx: style !== null && style !== void 0 ? style : { padding: '5px' }, children: _jsxs("span", { style: { fontSize: '13px' }, children: [_jsxs("b", { children: [label, " "] }), ": ", value !== null && value !== void 0 ? value : 'N/A'] }) }) }));
|
|
85
|
+
};
|
|
86
|
+
export var FilePreview = function (_a) {
|
|
87
|
+
var primaryKey = _a.primaryKey, filename = _a.filename, size = _a.size, _b = _a.onDownload, onDownload = _b === void 0 ? undefined : _b, _c = _a.width, width = _c === void 0 ? 350 : _c, _d = _a.borderColor, borderColor = _d === void 0 ? '#dfdfdf' : _d, _e = _a.fileColor, fileColor = _e === void 0 ? 'primary' : _e, _f = _a.isDownloading, isDownloading = _f === void 0 ? false : _f;
|
|
88
|
+
// Icon mapping configuration
|
|
89
|
+
var iconMap = {
|
|
90
|
+
pdf: _jsx(InsertDriveFile, { fontSize: "large", color: fileColor }),
|
|
91
|
+
image: _jsx(Image, { fontSize: "large", color: fileColor }),
|
|
92
|
+
doc: _jsx(Description, { fontSize: "large", color: fileColor }),
|
|
93
|
+
default: _jsx(Description, { fontSize: "large", color: fileColor }),
|
|
94
|
+
};
|
|
95
|
+
// Determine file type from filename extension
|
|
96
|
+
var getFileType = function (filenames) {
|
|
97
|
+
var extension = filenames.split('.').pop().toLowerCase();
|
|
98
|
+
if (['pdf'].includes(extension))
|
|
99
|
+
return 'pdf';
|
|
100
|
+
if (['jpg', 'jpeg', 'png', 'gif'].includes(extension))
|
|
101
|
+
return 'image';
|
|
102
|
+
if (['doc', 'docx', 'txt'].includes(extension))
|
|
103
|
+
return 'doc';
|
|
104
|
+
return 'default';
|
|
105
|
+
};
|
|
106
|
+
return (_jsx(Card, { variant: "outlined", sx: {
|
|
107
|
+
maxWidth: width,
|
|
108
|
+
minWidth: width,
|
|
109
|
+
border: "1px solid ".concat(borderColor),
|
|
110
|
+
borderRadius: 1,
|
|
111
|
+
'&:hover': { boxShadow: 2 },
|
|
112
|
+
marginLeft: 1,
|
|
113
|
+
}, children: _jsxs(CardContent, { sx: {
|
|
114
|
+
display: 'flex',
|
|
115
|
+
alignItems: 'center',
|
|
116
|
+
gap: 2,
|
|
117
|
+
padding: '8px !important',
|
|
118
|
+
}, children: [iconMap[getFileType(filename)], _jsxs(Box, { sx: { flexGrow: 1 }, children: [filename.length > 33 ? (_jsx(Tooltip, { title: filename, placement: "top", arrow: true, children: _jsx(Typography, { sx: {
|
|
119
|
+
fontSize: '14px',
|
|
120
|
+
whiteSpace: 'nowrap',
|
|
121
|
+
overflow: 'hidden',
|
|
122
|
+
textOverflow: 'ellipsis',
|
|
123
|
+
maxWidth: width - 120,
|
|
124
|
+
}, children: filename }) })) : (_jsx(Typography, { sx: {
|
|
125
|
+
fontSize: '14px',
|
|
126
|
+
whiteSpace: 'nowrap',
|
|
127
|
+
overflow: 'hidden',
|
|
128
|
+
textOverflow: 'ellipsis',
|
|
129
|
+
maxWidth: width - 120,
|
|
130
|
+
}, children: filename })), _jsx(Typography, { variant: "caption", color: "text.secondary", children: size })] }), _jsx(IconButton, { disabled: onDownload === undefined, "aria-label": "download", onClick: function () { return onDownload(primaryKey); }, sx: { color: '#dfdfdf', '&:hover': { color: 'primary.main' } }, children: isDownloading ? (_jsx(CircularProgress, { color: "success", size: 20 })) : (_jsx(Download, { fontSize: "small", color: onDownload ? 'primary' : 'inherit' })) })] }) }));
|
|
131
|
+
};
|
|
132
|
+
var VisuallyHiddenInput = forwardRef(function (props, ref) { return (_jsx("input", __assign({ ref: ref, type: "file", style: {
|
|
133
|
+
position: 'absolute',
|
|
134
|
+
width: 1,
|
|
135
|
+
height: 1,
|
|
136
|
+
padding: 0,
|
|
137
|
+
overflow: 'hidden',
|
|
138
|
+
clip: 'rect(0,0,0,0)',
|
|
139
|
+
whiteSpace: 'nowrap',
|
|
140
|
+
border: 0,
|
|
141
|
+
} }, props))); });
|
|
142
|
+
export var UploadFile = function (_a) {
|
|
143
|
+
var _b = _a.isUpload, isUpload = _b === void 0 ? true : _b, color = _a.color, _c = _a.state, state = _c === void 0 ? {} : _c, onFileSelect = _a.onFileSelect;
|
|
144
|
+
var onFileInputChange = function (e) {
|
|
145
|
+
var _a;
|
|
146
|
+
var file = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
147
|
+
if (file) {
|
|
148
|
+
onFileSelect(file);
|
|
149
|
+
e.target.value = '';
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
return (_jsx(Tooltip, { title: "Upload", children: _jsxs(Box, { sx: { position: 'relative', display: 'inline-block' }, children: [_jsxs(IconButton, { disabled: !isUpload, component: "label", children: [(state === null || state === void 0 ? void 0 : state.isUploaded) ? (_jsx(CheckCircleOutlined, { color: "success" })) : (state === null || state === void 0 ? void 0 : state.isUploadError) ? (_jsx(ErrorOutlineOutlined, { color: "error" })) : (_jsx(Upload, { color: color !== null && color !== void 0 ? color : 'primary' })), _jsx(VisuallyHiddenInput, { onChange: onFileInputChange })] }), (state === null || state === void 0 ? void 0 : state.isLoadingUpload) && (_jsx(CircularProgress, { size: "40px", sx: {
|
|
153
|
+
position: 'absolute',
|
|
154
|
+
top: 0,
|
|
155
|
+
left: 0,
|
|
156
|
+
zIndex: 1,
|
|
157
|
+
} }))] }) }));
|
|
158
|
+
};
|
|
159
|
+
export var DownloadFile = function (_a) {
|
|
160
|
+
var _b = _a.isDownload, isDownload = _b === void 0 ? true : _b, color = _a.color, _c = _a.state, state = _c === void 0 ? {} : _c, onDownload = _a.onDownload;
|
|
161
|
+
return (_jsx(Tooltip, { title: "Download", children: _jsxs(Box, { sx: { position: 'relative', display: 'inline-block' }, children: [_jsx(IconButton, { disabled: !isDownload || (state === null || state === void 0 ? void 0 : state.isLoadingDownload), onClick: onDownload, sx: {
|
|
162
|
+
bgcolor: function (theme) { return (color ? (theme.palette.mode === 'dark' ? '#303041' : color) : 'default'); },
|
|
163
|
+
}, children: (state === null || state === void 0 ? void 0 : state.isDownloaded) ? (_jsx(CheckCircleOutlined, { color: "success" })) : (state === null || state === void 0 ? void 0 : state.isDownloadError) ? (_jsx(ErrorOutlineOutlined, { color: "error" })) : (_jsx(Download, { color: color !== null && color !== void 0 ? color : 'primary' })) }), (state === null || state === void 0 ? void 0 : state.isLoadingDownload) && (_jsx(CircularProgress, { size: "40px", sx: {
|
|
164
|
+
position: 'absolute',
|
|
165
|
+
top: 0,
|
|
166
|
+
left: 0,
|
|
167
|
+
zIndex: 1,
|
|
168
|
+
} }))] }) }));
|
|
169
|
+
};
|
|
170
|
+
var StyledMenuPaper = styled(Paper)(function (_a) {
|
|
171
|
+
var theme = _a.theme;
|
|
172
|
+
return ({
|
|
173
|
+
minWidth: 200,
|
|
174
|
+
padding: theme.spacing(0, 0),
|
|
175
|
+
boxShadow: theme.shadows[3],
|
|
176
|
+
'&.context-menu-dark': {
|
|
177
|
+
backgroundColor: theme.palette.grey[800],
|
|
178
|
+
color: theme.palette.common.white,
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
var StyledMenuItem = styled(MenuItem)(function (_a) {
|
|
183
|
+
var theme = _a.theme;
|
|
184
|
+
return ({
|
|
185
|
+
padding: theme.spacing(0.5, 1),
|
|
186
|
+
fontSize: '14px',
|
|
187
|
+
'& .MuiListItemText-root': {
|
|
188
|
+
'& .MuiTypography-root': {
|
|
189
|
+
fontSize: '14px',
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
'&.context-menu-item-dark': {
|
|
193
|
+
color: theme.palette.common.white,
|
|
194
|
+
'&:hover': {
|
|
195
|
+
backgroundColor: theme.palette.grey[700],
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
'&.context-menu-item--disabled': {
|
|
199
|
+
opacity: 0.5,
|
|
200
|
+
pointerEvents: 'none',
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
var ShortcutText = styled(Typography)(function (_a) {
|
|
205
|
+
var theme = _a.theme;
|
|
206
|
+
return ({
|
|
207
|
+
marginLeft: theme.spacing(2),
|
|
208
|
+
fontSize: '0.75rem',
|
|
209
|
+
color: theme.palette.text.secondary,
|
|
210
|
+
'&.context-menu-shortcut-dark': {
|
|
211
|
+
color: theme.palette.grey[400],
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
export var ContextMenuWrapper = function (_a) {
|
|
216
|
+
var options = _a.options, children = _a.children, disabled = _a.disabled, className = _a.className, menuClassName = _a.menuClassName, _b = _a.position, position = _b === void 0 ? 'auto' : _b, onShow = _a.onShow, onHide = _a.onHide, currentInstance = _a.currentInstance, _c = _a.theme, theme = _c === void 0 ? 'light' : _c;
|
|
217
|
+
var muiTheme = useTheme();
|
|
218
|
+
var _d = useState(false), isVisible = _d[0], setIsVisible = _d[1];
|
|
219
|
+
var _e = useState({ x: 0, y: 0 }), menuPosition = _e[0], setMenuPosition = _e[1];
|
|
220
|
+
var menuRef = useRef(null);
|
|
221
|
+
var triggerRef = useRef(null);
|
|
222
|
+
var handleContextMenu = function (e) {
|
|
223
|
+
var _a, _b;
|
|
224
|
+
e.preventDefault();
|
|
225
|
+
if (disabled)
|
|
226
|
+
return;
|
|
227
|
+
var x = e.clientX;
|
|
228
|
+
var y = e.clientY;
|
|
229
|
+
if (position === 'auto') {
|
|
230
|
+
var viewportWidth = window.innerWidth;
|
|
231
|
+
var viewportHeight = window.innerHeight;
|
|
232
|
+
var menuWidth = ((_a = menuRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 200;
|
|
233
|
+
var menuHeight = ((_b = menuRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 200;
|
|
234
|
+
if (x + menuWidth > viewportWidth) {
|
|
235
|
+
x = viewportWidth - menuWidth - 5;
|
|
236
|
+
}
|
|
237
|
+
if (y + menuHeight > viewportHeight) {
|
|
238
|
+
y = viewportHeight - menuHeight - 5;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
setMenuPosition({ x: x, y: y });
|
|
242
|
+
setIsVisible(true);
|
|
243
|
+
onShow === null || onShow === void 0 ? void 0 : onShow();
|
|
244
|
+
};
|
|
245
|
+
var closeMenu = function () {
|
|
246
|
+
setIsVisible(false);
|
|
247
|
+
onHide === null || onHide === void 0 ? void 0 : onHide();
|
|
248
|
+
};
|
|
249
|
+
var handleClickOutside = function (e) {
|
|
250
|
+
if (menuRef.current &&
|
|
251
|
+
!menuRef.current.contains(e.target) &&
|
|
252
|
+
triggerRef.current &&
|
|
253
|
+
!triggerRef.current.contains(e.target)) {
|
|
254
|
+
closeMenu();
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
var handleKeyDown = function (e) {
|
|
258
|
+
if (e.key === 'Escape') {
|
|
259
|
+
closeMenu();
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
var handleItemClick = function (item) {
|
|
263
|
+
var _a;
|
|
264
|
+
if (item.disabled)
|
|
265
|
+
return;
|
|
266
|
+
(_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item, currentInstance !== null && currentInstance !== void 0 ? currentInstance : item);
|
|
267
|
+
closeMenu();
|
|
268
|
+
};
|
|
269
|
+
useEffect(function () {
|
|
270
|
+
if (isVisible) {
|
|
271
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
272
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
276
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
277
|
+
}
|
|
278
|
+
return function () {
|
|
279
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
280
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
281
|
+
};
|
|
282
|
+
}, [isVisible]);
|
|
283
|
+
return (_jsxs("div", { ref: triggerRef, className: "context-menu-trigger ".concat(className || ''), onContextMenu: handleContextMenu, children: [children, isVisible && (_jsx("div", { ref: menuRef, style: {
|
|
284
|
+
position: 'fixed',
|
|
285
|
+
left: "".concat(menuPosition.x, "px"),
|
|
286
|
+
top: "".concat(menuPosition.y, "px"),
|
|
287
|
+
zIndex: muiTheme.zIndex.modal,
|
|
288
|
+
}, children: _jsx(StyledMenuPaper, { className: "".concat(menuClassName || '', " context-menu-").concat(theme), children: _jsx(MenuList, { children: options.map(function (item, index) {
|
|
289
|
+
if (item === 'divider') {
|
|
290
|
+
return _jsx(Divider, { className: "context-menu-divider-".concat(theme) }, "divider-".concat(index.toString()));
|
|
291
|
+
}
|
|
292
|
+
return (_jsxs(StyledMenuItem, { sx: { fontSize: '10px' }, className: "".concat(item.className || '', " context-menu-item-").concat(theme, " ").concat(item.disabled ? 'context-menu-item--disabled' : ''), onClick: function () { return handleItemClick(item); }, onKeyDown: function (e) {
|
|
293
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
294
|
+
e.preventDefault();
|
|
295
|
+
handleItemClick(item);
|
|
296
|
+
}
|
|
297
|
+
}, tabIndex: item.disabled ? -1 : 0, disabled: item.disabled, children: [item.icon && (_jsx(ListItemIcon, { sx: { marginRight: -1 }, className: "context-menu-icon-".concat(theme), children: item.icon })), _jsx(ListItemText, { className: "context-menu-text-".concat(theme), children: item.label }), item.shortcut && (_jsx(ShortcutText, { className: "context-menu-shortcut-".concat(theme), children: item.shortcut }))] }, item.key || index));
|
|
298
|
+
}) }) }) }))] }));
|
|
299
|
+
};
|