@rescui/menu 0.14.2-RUI-308-Fix-select-issues-405b9fa40.12 → 0.15.0
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/lib/_virtual/check-outline.js +294 -63
- package/lib/_virtual/index.css.js +12 -12
- package/lib/index.css +68 -68
- package/lib/menu.js +374 -119
- package/lib/menu.p.module.css.js +34 -34
- package/lib/parts/divider.js +53 -11
- package/lib/parts/group-header.js +43 -11
- package/lib/parts/menu-context.js +72 -15
- package/lib/parts/menu-item.js +305 -92
- package/lib/parts/use-menu-keyboard-navigation.js +225 -110
- package/package.json +9 -9
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { c } from 'react-compiler-runtime';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import cn from 'classnames';
|
|
4
5
|
import PropTypes from 'prop-types';
|
|
@@ -15,21 +16,52 @@ const THEME_CLASS = {
|
|
|
15
16
|
dark: styles.groupHeaderThemeDark
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
function GroupHeader(
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
function GroupHeader(t0) {
|
|
20
|
+
const $ = c(9);
|
|
21
|
+
const {
|
|
22
|
+
className: t1,
|
|
21
23
|
text,
|
|
22
|
-
size:
|
|
24
|
+
size: t2,
|
|
23
25
|
theme: propsTheme
|
|
24
|
-
} =
|
|
26
|
+
} = t0;
|
|
27
|
+
const className = t1 === undefined ? null : t1;
|
|
28
|
+
const propsSize = t2 === undefined ? "m" : t2;
|
|
25
29
|
const menuContext = useMenuContext();
|
|
26
|
-
const Tag = menuContext.wrapWithLi ?
|
|
30
|
+
const Tag = menuContext.wrapWithLi ? "li" : "span";
|
|
27
31
|
const actualTheme = useThemeWithUndefined(menuContext.theme ?? propsTheme);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
const t3 = SIZE_CLASS[menuContext.size ?? propsSize];
|
|
33
|
+
const t4 = THEME_CLASS[actualTheme];
|
|
34
|
+
let t5;
|
|
35
|
+
|
|
36
|
+
if ($[0] !== className || $[1] !== t3 || $[2] !== t4) {
|
|
37
|
+
t5 = cn(styles.groupHeader, t3, t4, className);
|
|
38
|
+
$[0] = className;
|
|
39
|
+
$[1] = t3;
|
|
40
|
+
$[2] = t4;
|
|
41
|
+
$[3] = t5;
|
|
42
|
+
} else {
|
|
43
|
+
t5 = $[3];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const t6 = menuContext.keyboardNavigationEnabled ? "presentation" : undefined;
|
|
47
|
+
let t7;
|
|
48
|
+
|
|
49
|
+
if ($[4] !== Tag || $[5] !== t5 || $[6] !== t6 || $[7] !== text) {
|
|
50
|
+
t7 = /*#__PURE__*/React.createElement(Tag, {
|
|
51
|
+
className: t5,
|
|
52
|
+
"data-rs-internal": "menu__group-header",
|
|
53
|
+
role: t6
|
|
54
|
+
}, text);
|
|
55
|
+
$[4] = Tag;
|
|
56
|
+
$[5] = t5;
|
|
57
|
+
$[6] = t6;
|
|
58
|
+
$[7] = text;
|
|
59
|
+
$[8] = t7;
|
|
60
|
+
} else {
|
|
61
|
+
t7 = $[8];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return t7;
|
|
33
65
|
}
|
|
34
66
|
|
|
35
67
|
GroupHeader.propTypes = {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { c } from 'react-compiler-runtime';
|
|
2
3
|
import React, { useContext } from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
const DEFAULT_MENU_CONTEXT = {
|
|
@@ -14,26 +15,82 @@ const DEFAULT_MENU_CONTEXT = {
|
|
|
14
15
|
};
|
|
15
16
|
const MenuContext = /*#__PURE__*/React.createContext(DEFAULT_MENU_CONTEXT);
|
|
16
17
|
|
|
17
|
-
const useMenuContext = () =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
const useMenuContext = () => {
|
|
19
|
+
return useContext(MenuContext);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const MenuProvider = t0 => {
|
|
23
|
+
const $ = c(16);
|
|
24
|
+
let children;
|
|
25
|
+
let restProps;
|
|
26
|
+
let t1;
|
|
27
|
+
let t2;
|
|
28
|
+
let t3;
|
|
29
|
+
let t4;
|
|
30
|
+
|
|
31
|
+
if ($[0] !== t0) {
|
|
32
|
+
({
|
|
33
|
+
children,
|
|
34
|
+
disabled: t1,
|
|
35
|
+
wrapWithLi: t2,
|
|
36
|
+
registerItem: t3,
|
|
37
|
+
unregisterItem: t4,
|
|
38
|
+
...restProps
|
|
39
|
+
} = t0);
|
|
40
|
+
$[0] = t0;
|
|
41
|
+
$[1] = children;
|
|
42
|
+
$[2] = restProps;
|
|
43
|
+
$[3] = t1;
|
|
44
|
+
$[4] = t2;
|
|
45
|
+
$[5] = t3;
|
|
46
|
+
$[6] = t4;
|
|
47
|
+
} else {
|
|
48
|
+
children = $[1];
|
|
49
|
+
restProps = $[2];
|
|
50
|
+
t1 = $[3];
|
|
51
|
+
t2 = $[4];
|
|
52
|
+
t3 = $[5];
|
|
53
|
+
t4 = $[6];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const disabled = t1 === undefined ? DEFAULT_MENU_CONTEXT.disabled : t1;
|
|
57
|
+
const wrapWithLi = t2 === undefined ? DEFAULT_MENU_CONTEXT.wrapWithLi : t2;
|
|
58
|
+
const registerItem = t3 === undefined ? DEFAULT_MENU_CONTEXT.registerItem : t3;
|
|
59
|
+
const unregisterItem = t4 === undefined ? DEFAULT_MENU_CONTEXT.unregisterItem : t4;
|
|
60
|
+
let t5;
|
|
61
|
+
|
|
62
|
+
if ($[7] !== disabled || $[8] !== registerItem || $[9] !== restProps || $[10] !== unregisterItem || $[11] !== wrapWithLi) {
|
|
63
|
+
t5 = {
|
|
30
64
|
disabled,
|
|
31
65
|
wrapWithLi,
|
|
32
66
|
registerItem,
|
|
33
67
|
unregisterItem,
|
|
34
68
|
...restProps
|
|
35
|
-
}
|
|
36
|
-
|
|
69
|
+
};
|
|
70
|
+
$[7] = disabled;
|
|
71
|
+
$[8] = registerItem;
|
|
72
|
+
$[9] = restProps;
|
|
73
|
+
$[10] = unregisterItem;
|
|
74
|
+
$[11] = wrapWithLi;
|
|
75
|
+
$[12] = t5;
|
|
76
|
+
} else {
|
|
77
|
+
t5 = $[12];
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
let t6;
|
|
81
|
+
|
|
82
|
+
if ($[13] !== children || $[14] !== t5) {
|
|
83
|
+
t6 = /*#__PURE__*/React.createElement(MenuContext.Provider, {
|
|
84
|
+
value: t5
|
|
85
|
+
}, children);
|
|
86
|
+
$[13] = children;
|
|
87
|
+
$[14] = t5;
|
|
88
|
+
$[15] = t6;
|
|
89
|
+
} else {
|
|
90
|
+
t6 = $[15];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return t6;
|
|
37
94
|
};
|
|
38
95
|
|
|
39
96
|
MenuProvider.propTypes = {
|
package/lib/parts/menu-item.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import _extends from '@babel/runtime-corejs3/helpers/esm/extends';
|
|
3
|
+
import { c } from 'react-compiler-runtime';
|
|
2
4
|
import React, { useState, cloneElement, useEffect } from 'react';
|
|
3
5
|
import cn from 'classnames';
|
|
4
6
|
import PropTypes from 'prop-types';
|
|
@@ -30,26 +32,87 @@ const HOVER_ICON_WILL_REPLACE_STYLES = {
|
|
|
30
32
|
none: ''
|
|
31
33
|
}; // eslint-disable-next-line complexity
|
|
32
34
|
|
|
33
|
-
const MenuItemInner = (
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
const MenuItemInner = (t0, ref) => {
|
|
36
|
+
const $ = c(67);
|
|
37
|
+
let children;
|
|
38
|
+
let className;
|
|
39
|
+
let disabled;
|
|
40
|
+
let hoverIcon;
|
|
41
|
+
let icon;
|
|
42
|
+
let onFocus;
|
|
43
|
+
let onKeyDown;
|
|
44
|
+
let onMouseEnter;
|
|
45
|
+
let restProps;
|
|
46
|
+
let role;
|
|
47
|
+
let selected;
|
|
48
|
+
let t1;
|
|
49
|
+
let t2;
|
|
50
|
+
let t3;
|
|
51
|
+
let tabIndex;
|
|
52
|
+
let tag;
|
|
53
|
+
let theme;
|
|
54
|
+
|
|
55
|
+
if ($[0] !== t0) {
|
|
56
|
+
({
|
|
57
|
+
className,
|
|
58
|
+
tag,
|
|
59
|
+
children,
|
|
60
|
+
icon,
|
|
61
|
+
size: t1,
|
|
62
|
+
mode: t2,
|
|
63
|
+
theme,
|
|
64
|
+
disabled,
|
|
65
|
+
selected,
|
|
66
|
+
iconPlacement: t3,
|
|
67
|
+
onFocus,
|
|
68
|
+
onKeyDown,
|
|
69
|
+
onMouseEnter,
|
|
70
|
+
role,
|
|
71
|
+
tabIndex,
|
|
72
|
+
hoverIcon,
|
|
73
|
+
...restProps
|
|
74
|
+
} = t0);
|
|
75
|
+
$[0] = t0;
|
|
76
|
+
$[1] = children;
|
|
77
|
+
$[2] = className;
|
|
78
|
+
$[3] = disabled;
|
|
79
|
+
$[4] = hoverIcon;
|
|
80
|
+
$[5] = icon;
|
|
81
|
+
$[6] = onFocus;
|
|
82
|
+
$[7] = onKeyDown;
|
|
83
|
+
$[8] = onMouseEnter;
|
|
84
|
+
$[9] = restProps;
|
|
85
|
+
$[10] = role;
|
|
86
|
+
$[11] = selected;
|
|
87
|
+
$[12] = t1;
|
|
88
|
+
$[13] = t2;
|
|
89
|
+
$[14] = t3;
|
|
90
|
+
$[15] = tabIndex;
|
|
91
|
+
$[16] = tag;
|
|
92
|
+
$[17] = theme;
|
|
93
|
+
} else {
|
|
94
|
+
children = $[1];
|
|
95
|
+
className = $[2];
|
|
96
|
+
disabled = $[3];
|
|
97
|
+
hoverIcon = $[4];
|
|
98
|
+
icon = $[5];
|
|
99
|
+
onFocus = $[6];
|
|
100
|
+
onKeyDown = $[7];
|
|
101
|
+
onMouseEnter = $[8];
|
|
102
|
+
restProps = $[9];
|
|
103
|
+
role = $[10];
|
|
104
|
+
selected = $[11];
|
|
105
|
+
t1 = $[12];
|
|
106
|
+
t2 = $[13];
|
|
107
|
+
t3 = $[14];
|
|
108
|
+
tabIndex = $[15];
|
|
109
|
+
tag = $[16];
|
|
110
|
+
theme = $[17];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const size = t1 === undefined ? "m" : t1;
|
|
114
|
+
const mode = t2 === undefined ? "classic" : t2;
|
|
115
|
+
const iconPlacement = t3 === undefined ? "left" : t3;
|
|
53
116
|
const {
|
|
54
117
|
unregisterItem,
|
|
55
118
|
registerItem,
|
|
@@ -63,25 +126,37 @@ const MenuItemInner = (_ref, ref) => {
|
|
|
63
126
|
} = useMenuContext();
|
|
64
127
|
const actualTheme = useThemeWithUndefined(menuContext.theme ?? theme);
|
|
65
128
|
const [thisRef, setThisRef] = useState(null);
|
|
66
|
-
let autoTag =
|
|
129
|
+
let autoTag = "span";
|
|
67
130
|
|
|
68
131
|
if (restProps.href) {
|
|
69
|
-
autoTag =
|
|
70
|
-
} else
|
|
71
|
-
|
|
132
|
+
autoTag = "a";
|
|
133
|
+
} else {
|
|
134
|
+
if (restProps.onClick) {
|
|
135
|
+
autoTag = "button";
|
|
136
|
+
}
|
|
72
137
|
}
|
|
73
138
|
|
|
74
139
|
const Tag = menuContext.itemTag ?? tag ?? autoTag;
|
|
75
|
-
const actualIconPlacement = menuContext.iconPlacement ?? iconPlacement ??
|
|
140
|
+
const actualIconPlacement = menuContext.iconPlacement ?? iconPlacement ?? "left";
|
|
76
141
|
const actualMode = menuContext.mode ?? mode;
|
|
77
142
|
const actualSize = menuContext.size ?? size;
|
|
78
143
|
const resizeIcons = menuContext.resizeIcons ?? false;
|
|
79
144
|
const actualDisabled = menuContext.disabled || disabled;
|
|
80
|
-
const iconElement = /*#__PURE__*/React.isValidElement(icon) ? /*#__PURE__*/cloneElement(icon, {
|
|
145
|
+
const iconElement = /*#__PURE__*/ /*#__PURE__*/React.isValidElement(icon) ? /*#__PURE__*/cloneElement(icon, {
|
|
81
146
|
className: cn(icon.props.className, styles.icon, styles.customIcon, resizeIcons && styles.resizedIcon),
|
|
82
|
-
|
|
147
|
+
"data-render-all-sizes": true
|
|
83
148
|
}) : null;
|
|
84
|
-
|
|
149
|
+
let t4;
|
|
150
|
+
|
|
151
|
+
if ($[18] !== hoverIcon) {
|
|
152
|
+
t4 = /*#__PURE__*/React.isValidElement(hoverIcon);
|
|
153
|
+
$[18] = hoverIcon;
|
|
154
|
+
$[19] = t4;
|
|
155
|
+
} else {
|
|
156
|
+
t4 = $[19];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const hasHoverIcon = t4;
|
|
85
160
|
const rovingTabIndex = currentActiveItemEl === thisRef ? 0 : -1;
|
|
86
161
|
let resolvedTabIndex = tabIndex ?? 0;
|
|
87
162
|
|
|
@@ -95,91 +170,229 @@ const MenuItemInner = (_ref, ref) => {
|
|
|
95
170
|
|
|
96
171
|
useEffect(() => {
|
|
97
172
|
if (!thisRef || actualDisabled || !registerItem) {
|
|
98
|
-
return
|
|
173
|
+
return;
|
|
99
174
|
}
|
|
100
175
|
|
|
101
176
|
registerItem(thisRef);
|
|
102
177
|
return () => unregisterItem?.(thisRef);
|
|
103
178
|
}, [actualDisabled, registerItem, thisRef, unregisterItem]);
|
|
179
|
+
let t5;
|
|
104
180
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
181
|
+
if ($[20] !== ref) {
|
|
182
|
+
t5 = r => {
|
|
183
|
+
if (r) {
|
|
184
|
+
setThisRef(r);
|
|
185
|
+
}
|
|
109
186
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
187
|
+
if (typeof ref === "function") {
|
|
188
|
+
ref(r);
|
|
189
|
+
} else {
|
|
190
|
+
if (ref != null && typeof ref === "object") {
|
|
191
|
+
ref.current = r;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
};
|
|
116
195
|
|
|
117
|
-
|
|
118
|
-
|
|
196
|
+
$[20] = ref;
|
|
197
|
+
$[21] = t5;
|
|
198
|
+
} else {
|
|
199
|
+
t5 = $[21];
|
|
200
|
+
}
|
|
119
201
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
202
|
+
const handleRef = t5;
|
|
203
|
+
let t6;
|
|
123
204
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
};
|
|
205
|
+
if ($[22] !== onItemKeyDown || $[23] !== onKeyDown || $[24] !== thisRef) {
|
|
206
|
+
t6 = e => {
|
|
207
|
+
onKeyDown?.(e);
|
|
128
208
|
|
|
129
|
-
|
|
130
|
-
|
|
209
|
+
if (e.defaultPrevented || !onItemKeyDown) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
131
212
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
213
|
+
if (thisRef) {
|
|
214
|
+
onItemKeyDown(e, thisRef);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
$[22] = onItemKeyDown;
|
|
219
|
+
$[23] = onKeyDown;
|
|
220
|
+
$[24] = thisRef;
|
|
221
|
+
$[25] = t6;
|
|
222
|
+
} else {
|
|
223
|
+
t6 = $[25];
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const handleKeyDown = t6;
|
|
227
|
+
let t7;
|
|
228
|
+
|
|
229
|
+
if ($[26] !== onFocus || $[27] !== onItemFocus || $[28] !== thisRef) {
|
|
230
|
+
t7 = e_0 => {
|
|
231
|
+
onFocus?.(e_0);
|
|
232
|
+
|
|
233
|
+
if (onItemFocus && thisRef) {
|
|
234
|
+
onItemFocus(thisRef);
|
|
235
|
+
}
|
|
236
|
+
};
|
|
136
237
|
|
|
137
|
-
|
|
138
|
-
|
|
238
|
+
$[26] = onFocus;
|
|
239
|
+
$[27] = onItemFocus;
|
|
240
|
+
$[28] = thisRef;
|
|
241
|
+
$[29] = t7;
|
|
242
|
+
} else {
|
|
243
|
+
t7 = $[29];
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
const handleFocus = t7;
|
|
247
|
+
let t8;
|
|
248
|
+
|
|
249
|
+
if ($[30] !== onItemMouseEnter || $[31] !== onMouseEnter || $[32] !== thisRef) {
|
|
250
|
+
t8 = e_1 => {
|
|
251
|
+
onMouseEnter?.(e_1);
|
|
252
|
+
|
|
253
|
+
if (onItemMouseEnter && thisRef) {
|
|
254
|
+
onItemMouseEnter(thisRef);
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
$[30] = onItemMouseEnter;
|
|
259
|
+
$[31] = onMouseEnter;
|
|
260
|
+
$[32] = thisRef;
|
|
261
|
+
$[33] = t8;
|
|
262
|
+
} else {
|
|
263
|
+
t8 = $[33];
|
|
264
|
+
}
|
|
139
265
|
|
|
140
|
-
|
|
141
|
-
|
|
266
|
+
const handleMouseEnter = t8;
|
|
267
|
+
let hoverIconWillReplace = "none";
|
|
268
|
+
|
|
269
|
+
if (hasHoverIcon && iconElement && actualIconPlacement === "right") {
|
|
270
|
+
hoverIconWillReplace = "custom";
|
|
271
|
+
} else {
|
|
272
|
+
if (hasHoverIcon && selected) {
|
|
273
|
+
hoverIconWillReplace = "selected";
|
|
142
274
|
}
|
|
143
|
-
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
const Wrapper = wrapWithLi ? "li" : "div";
|
|
278
|
+
const t9 = ICON_PLACEMENT_STYLES[actualIconPlacement];
|
|
279
|
+
const t10 = MODE_STYLES[actualMode];
|
|
280
|
+
const t11 = SIZE_STYLES[actualSize];
|
|
281
|
+
const t12 = THEME_STYLES[actualTheme];
|
|
282
|
+
let t13;
|
|
283
|
+
|
|
284
|
+
if ($[34] !== className || $[35] !== t10 || $[36] !== t11 || $[37] !== t12 || $[38] !== t9) {
|
|
285
|
+
t13 = cn(styles.wrapper, className, t9, t10, t11, t12);
|
|
286
|
+
$[34] = className;
|
|
287
|
+
$[35] = t10;
|
|
288
|
+
$[36] = t11;
|
|
289
|
+
$[37] = t12;
|
|
290
|
+
$[38] = t9;
|
|
291
|
+
$[39] = t13;
|
|
292
|
+
} else {
|
|
293
|
+
t13 = $[39];
|
|
294
|
+
}
|
|
144
295
|
|
|
145
|
-
|
|
296
|
+
const t14 = "menu-item__wrapper";
|
|
297
|
+
const t15 = "menu__menu-item";
|
|
298
|
+
const t16 = keyboardNavigationEnabled ? "presentation" : undefined;
|
|
299
|
+
const t17 = cn(styles.menuItem, actualDisabled && styles.disabled, selected && styles.selected, HOVER_ICON_WILL_REPLACE_STYLES[hoverIconWillReplace]);
|
|
300
|
+
const t18 = restProps["data-test"] ?? "menu-item";
|
|
301
|
+
const t19 = "menu__menu-item__inner";
|
|
302
|
+
const t20 = role ?? (keyboardNavigationEnabled ? "option" : undefined);
|
|
303
|
+
const t21 = keyboardNavigationEnabled && selected !== undefined ? selected : restProps["aria-selected"];
|
|
304
|
+
const t22 = keyboardNavigationEnabled && actualDisabled ? true : restProps["aria-disabled"];
|
|
305
|
+
const t23 = styles;
|
|
306
|
+
let t24;
|
|
146
307
|
|
|
147
|
-
if (
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
308
|
+
if ($[40] !== children) {
|
|
309
|
+
t24 = /*#__PURE__*/React.createElement("span", {
|
|
310
|
+
className: styles.content
|
|
311
|
+
}, children);
|
|
312
|
+
$[40] = children;
|
|
313
|
+
$[41] = t24;
|
|
314
|
+
} else {
|
|
315
|
+
t24 = $[41];
|
|
151
316
|
}
|
|
152
317
|
|
|
153
|
-
const
|
|
154
|
-
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
155
|
-
className: cn(styles.wrapper, className, ICON_PLACEMENT_STYLES[actualIconPlacement], MODE_STYLES[actualMode], SIZE_STYLES[actualSize], THEME_STYLES[actualTheme]),
|
|
156
|
-
"data-test": 'menu-item__wrapper',
|
|
157
|
-
"data-rs-internal": 'menu__menu-item',
|
|
158
|
-
role: keyboardNavigationEnabled ? 'presentation' : undefined
|
|
159
|
-
}, /*#__PURE__*/React.createElement(Tag, { ...restProps,
|
|
160
|
-
onFocus: handleFocus,
|
|
161
|
-
onKeyDown: handleKeyDown,
|
|
162
|
-
onMouseEnter: handleMouseEnter,
|
|
163
|
-
ref: handleRef,
|
|
164
|
-
className: cn(styles.menuItem, actualDisabled && styles.disabled, selected && styles.selected, HOVER_ICON_WILL_REPLACE_STYLES[hoverIconWillReplace]),
|
|
165
|
-
"data-test": restProps['data-test'] ?? 'menu-item',
|
|
166
|
-
"data-rs-internal": 'menu__menu-item__inner',
|
|
167
|
-
role: role ?? (keyboardNavigationEnabled ? 'option' : undefined),
|
|
168
|
-
"aria-selected": keyboardNavigationEnabled && selected !== undefined ? selected : restProps['aria-selected'],
|
|
169
|
-
"aria-disabled": keyboardNavigationEnabled && actualDisabled ? true : restProps['aria-disabled'],
|
|
170
|
-
tabIndex: resolvedTabIndex
|
|
171
|
-
}, iconElement, /*#__PURE__*/React.createElement("span", {
|
|
172
|
-
className: styles.contentWrapper
|
|
173
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
174
|
-
className: styles.content
|
|
175
|
-
}, children), selected && /*#__PURE__*/React.createElement(CheckOutlineIcon, {
|
|
318
|
+
const t25 = selected && /*#__PURE__*/React.createElement(CheckOutlineIcon, {
|
|
176
319
|
className: cn(styles.icon, styles.selectedIcon, resizeIcons && styles.resizedIcon),
|
|
177
|
-
"data-test":
|
|
320
|
+
"data-test": "menu-item__selected-icon",
|
|
178
321
|
"data-render-all-sizes": true
|
|
179
|
-
})
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
322
|
+
});
|
|
323
|
+
const t26 = hasHoverIcon && /*#__PURE__*/React.cloneElement(hoverIcon, {
|
|
324
|
+
className: cn(hoverIcon.props.className, styles.icon, styles.hoverIcon, resizeIcons && styles.resizedIcon, hoverIconWillReplace !== "none" && styles.hoverIconNoReserve),
|
|
325
|
+
"data-render-all-sizes": true
|
|
326
|
+
});
|
|
327
|
+
let t27;
|
|
328
|
+
|
|
329
|
+
if ($[42] !== t23.contentWrapper || $[43] !== t24 || $[44] !== t25 || $[45] !== t26) {
|
|
330
|
+
t27 = /*#__PURE__*/React.createElement("span", {
|
|
331
|
+
className: t23.contentWrapper
|
|
332
|
+
}, t24, t25, t26);
|
|
333
|
+
$[42] = t23.contentWrapper;
|
|
334
|
+
$[43] = t24;
|
|
335
|
+
$[44] = t25;
|
|
336
|
+
$[45] = t26;
|
|
337
|
+
$[46] = t27;
|
|
338
|
+
} else {
|
|
339
|
+
t27 = $[46];
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
let t28;
|
|
343
|
+
|
|
344
|
+
if ($[47] !== Tag || $[48] !== handleFocus || $[49] !== handleKeyDown || $[50] !== handleMouseEnter || $[51] !== handleRef || $[52] !== iconElement || $[53] !== resolvedTabIndex || $[54] !== restProps || $[55] !== t17 || $[56] !== t18 || $[57] !== t20 || $[58] !== t21 || $[59] !== t22 || $[60] !== t27) {
|
|
345
|
+
t28 = /*#__PURE__*/React.createElement(Tag, _extends({}, restProps, {
|
|
346
|
+
onFocus: handleFocus,
|
|
347
|
+
onKeyDown: handleKeyDown,
|
|
348
|
+
onMouseEnter: handleMouseEnter,
|
|
349
|
+
ref: handleRef,
|
|
350
|
+
className: t17,
|
|
351
|
+
"data-test": t18,
|
|
352
|
+
"data-rs-internal": t19,
|
|
353
|
+
role: t20,
|
|
354
|
+
"aria-selected": t21,
|
|
355
|
+
"aria-disabled": t22,
|
|
356
|
+
tabIndex: resolvedTabIndex
|
|
357
|
+
}), iconElement, t27);
|
|
358
|
+
$[47] = Tag;
|
|
359
|
+
$[48] = handleFocus;
|
|
360
|
+
$[49] = handleKeyDown;
|
|
361
|
+
$[50] = handleMouseEnter;
|
|
362
|
+
$[51] = handleRef;
|
|
363
|
+
$[52] = iconElement;
|
|
364
|
+
$[53] = resolvedTabIndex;
|
|
365
|
+
$[54] = restProps;
|
|
366
|
+
$[55] = t17;
|
|
367
|
+
$[56] = t18;
|
|
368
|
+
$[57] = t20;
|
|
369
|
+
$[58] = t21;
|
|
370
|
+
$[59] = t22;
|
|
371
|
+
$[60] = t27;
|
|
372
|
+
$[61] = t28;
|
|
373
|
+
} else {
|
|
374
|
+
t28 = $[61];
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
let t29;
|
|
378
|
+
|
|
379
|
+
if ($[62] !== Wrapper || $[63] !== t13 || $[64] !== t16 || $[65] !== t28) {
|
|
380
|
+
t29 = /*#__PURE__*/React.createElement(Wrapper, {
|
|
381
|
+
className: t13,
|
|
382
|
+
"data-test": t14,
|
|
383
|
+
"data-rs-internal": t15,
|
|
384
|
+
role: t16
|
|
385
|
+
}, t28);
|
|
386
|
+
$[62] = Wrapper;
|
|
387
|
+
$[63] = t13;
|
|
388
|
+
$[64] = t16;
|
|
389
|
+
$[65] = t28;
|
|
390
|
+
$[66] = t29;
|
|
391
|
+
} else {
|
|
392
|
+
t29 = $[66];
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
return t29;
|
|
183
396
|
};
|
|
184
397
|
|
|
185
398
|
const MenuItem = /*#__PURE__*/React.forwardRef(MenuItemInner);
|