@rescui/menu 0.13.8-RUI-297-Add-react-compiler-to-the-packages-build-dbbefd7b8.14 → 0.13.8-RUI-297-Add-react-compiler-to-the-packages-build-8aaaed4be.43

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.
@@ -1,12 +1,14 @@
1
+ import React from 'react';
1
2
  interface UseMenuKeyboardNavigationParams {
2
- enableKeyboardNavigation: boolean;
3
3
  activateFirstItem: boolean;
4
- returnFocusOnUnmount: boolean;
5
4
  }
6
- export declare function useMenuKeyboardNavigation({ enableKeyboardNavigation, activateFirstItem, returnFocusOnUnmount }: UseMenuKeyboardNavigationParams): {
7
- activeItemRef: import("react").RefObject<any>;
5
+ export declare function useMenuKeyboardNavigation({ activateFirstItem }: UseMenuKeyboardNavigationParams): {
6
+ currentActiveItemEl: HTMLElement;
7
+ setCurrentActiveItemEl: React.Dispatch<React.SetStateAction<HTMLElement>>;
8
8
  registerItem: (ref: HTMLElement) => void;
9
9
  unregisterItem: (ref: HTMLElement) => void;
10
- isKeyboardNavigating: boolean;
10
+ handleItemFocus: (ref: HTMLElement) => void;
11
+ handleItemKeyDown: (e: React.KeyboardEvent<HTMLElement>, ref?: HTMLElement) => void;
12
+ handleItemMouseEnter: (ref: HTMLElement) => void;
11
13
  };
12
14
  export {};
@@ -1,133 +1,247 @@
1
1
  "use client";
2
- import { useRef, useState, useCallback, useEffect } from 'react';
3
- import { getLastItem, getFirstItem, getPrevItem, getNextItem, htmlElementsComparator } from './navigation-utils.js';
4
-
5
- function debounce(callback, timeout) {
6
- let id;
7
- return function () {
8
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9
- args[_key] = arguments[_key];
10
- }
11
-
12
- clearTimeout(id);
13
- id = setTimeout(() => callback(...args), timeout);
14
- return id;
15
- };
16
- }
2
+ import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
3
+ import { c } from 'react-compiler-runtime';
4
+ import { useState, useRef, useEffect } from 'react';
5
+ import { getFirstItem, getLastItem, getPrevItem, getNextItem, htmlElementsComparator } from './navigation-utils.js';
17
6
 
18
7
  function getSortedItems(itemsSet) {
19
8
  return Array.from(itemsSet.values()).sort(htmlElementsComparator);
20
9
  }
21
10
 
22
- function useMenuKeyboardNavigation(_ref) {
23
- let {
24
- enableKeyboardNavigation,
25
- activateFirstItem,
26
- returnFocusOnUnmount
27
- } = _ref;
28
- const activeItemRef = useRef(null);
29
- const [, setDummyState] = useState(false);
30
- const setActiveItemRef = useCallback(ref => {
31
- activeItemRef.current = ref;
32
-
33
- if (ref) {
34
- ref.focus();
35
- }
36
-
37
- setDummyState(t => !t);
38
- }, [setDummyState]);
39
- const menuItemsSet = useRef(new Set());
40
- useEffect(() => {
41
- if (!enableKeyboardNavigation || !activateFirstItem || !returnFocusOnUnmount) {
42
- return;
43
- }
44
-
45
- const lastFocusedEl = document.activeElement; // eslint-disable-next-line consistent-return
46
-
47
- return () => {
48
- if (lastFocusedEl) {
49
- lastFocusedEl.focus({
50
- preventScroll: true
11
+ function useMenuKeyboardNavigation(t0) {
12
+ const $ = c(14);
13
+ const {
14
+ activateFirstItem
15
+ } = t0;
16
+ const [currentActiveItemEl, setCurrentActiveItemEl] = useState(null);
17
+ let t1;
18
+
19
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
20
+ t1 = (el, t2) => {
21
+ const {
22
+ scroll: t3
23
+ } = t2 === undefined ? {} : t2;
24
+ const scroll = t3 === undefined ? false : t3;
25
+ setCurrentActiveItemEl(el ?? null);
26
+
27
+ if (el) {
28
+ el.focus({
29
+ preventScroll: !scroll
51
30
  });
52
31
  }
53
32
  };
54
- }, []);
55
- const debouncedActivateFirstItem = debounce(() => {
56
- const items = getSortedItems(menuItemsSet.current);
57
- setActiveItemRef(getFirstItem(items));
58
- }, 50);
59
- const registerItem = useCallback(ref => {
60
- if (ref && !menuItemsSet.current.has(ref)) {
33
+
34
+ $[0] = t1;
35
+ } else {
36
+ t1 = $[0];
37
+ }
38
+
39
+ const setCurrentActiveItemAndFocus = t1;
40
+ let t2;
41
+
42
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
43
+ t2 = new Set();
44
+ $[1] = t2;
45
+ } else {
46
+ t2 = $[1];
47
+ }
48
+
49
+ const menuItemsSet = useRef(t2);
50
+ const activateFirstItemTimeoutIdRef = useRef(null);
51
+ let t3;
52
+
53
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
54
+ t3 = () => {
55
+ if (activateFirstItemTimeoutIdRef.current) {
56
+ clearTimeout(activateFirstItemTimeoutIdRef.current);
57
+ }
58
+
59
+ activateFirstItemTimeoutIdRef.current = setTimeout(() => {
60
+ setCurrentActiveItemAndFocus(getFirstItem(getSortedItems(menuItemsSet.current)));
61
+ }, 50);
62
+ };
63
+
64
+ $[2] = t3;
65
+ } else {
66
+ t3 = $[2];
67
+ }
68
+
69
+ const scheduleActivateFirstItem = t3;
70
+ let t4;
71
+
72
+ if ($[3] !== activateFirstItem) {
73
+ t4 = ref => {
74
+ if (!ref || menuItemsSet.current.has(ref)) {
75
+ return;
76
+ }
77
+
61
78
  menuItemsSet.current.add(ref);
62
79
 
63
80
  if (activateFirstItem) {
64
- debouncedActivateFirstItem();
81
+ scheduleActivateFirstItem();
82
+ }
83
+ };
84
+
85
+ $[3] = activateFirstItem;
86
+ $[4] = t4;
87
+ } else {
88
+ t4 = $[4];
89
+ }
90
+
91
+ const registerItem = t4;
92
+ let t5;
93
+
94
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
95
+ t5 = ref_0 => {
96
+ menuItemsSet.current.delete(ref_0);
97
+ };
98
+
99
+ $[5] = t5;
100
+ } else {
101
+ t5 = $[5];
102
+ }
103
+
104
+ const unregisterItem = t5;
105
+ let t6;
106
+ let t7;
107
+
108
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
109
+ t6 = () => () => {
110
+ if (activateFirstItemTimeoutIdRef.current) {
111
+ clearTimeout(activateFirstItemTimeoutIdRef.current);
112
+ }
113
+
114
+ menuItemsSet.current.clear();
115
+ };
116
+
117
+ t7 = [];
118
+ $[6] = t6;
119
+ $[7] = t7;
120
+ } else {
121
+ t6 = $[6];
122
+ t7 = $[7];
123
+ }
124
+
125
+ useEffect(t6, t7);
126
+ let t8;
127
+
128
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
129
+ t8 = ref_1 => {
130
+ if (!ref_1) {
131
+ return;
132
+ }
133
+
134
+ setCurrentActiveItemEl(ref_1);
135
+ };
136
+
137
+ $[8] = t8;
138
+ } else {
139
+ t8 = $[8];
140
+ }
141
+
142
+ const handleItemFocus = t8;
143
+ let t9;
144
+
145
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
146
+ t9 = (e, ref_2) => {
147
+ var _context;
148
+
149
+ if (!_includesInstanceProperty(_context = ["ArrowDown", "ArrowUp", "Home", "End", " ", "Enter"]).call(_context, e.key)) {
150
+ return;
65
151
  }
66
- }
67
- }, []);
68
- const unregisterItem = useCallback(ref => {
69
- menuItemsSet.current.delete(ref);
70
- }, []);
71
- const [isKeyboardNavigating, setIsKeyboardNavigating] = useState(true);
72
- const handleMouseMove = useCallback(() => {
73
- if (menuItemsSet.current.has(document.activeElement) && document.activeElement.blur) {
74
- document.activeElement.blur();
75
- }
76
-
77
- setActiveItemRef(null);
78
- setIsKeyboardNavigating(false);
79
- }, []); // eslint-disable-next-line consistent-return
80
-
81
- useEffect(() => {
82
- if (isKeyboardNavigating) {
83
- document.addEventListener('mousemove', handleMouseMove);
84
- return () => document.removeEventListener('mousemove', handleMouseMove);
85
- }
86
- }, [handleMouseMove, isKeyboardNavigating]);
87
- useEffect(() => {
88
- if (!enableKeyboardNavigation) {
89
- return;
90
- }
91
-
92
- const handler = e => {
93
- setIsKeyboardNavigating(true);
152
+
94
153
  const items = getSortedItems(menuItemsSet.current);
95
154
 
96
- switch (e.key) {
97
- case 'ArrowDown':
98
- e.preventDefault();
99
- setActiveItemRef(getNextItem(items, activeItemRef.current));
100
- break;
101
-
102
- case 'ArrowUp':
103
- e.preventDefault();
104
- setActiveItemRef(getPrevItem(items, activeItemRef.current));
105
- break;
106
-
107
- case 'Home':
108
- e.preventDefault();
109
- setActiveItemRef(getFirstItem(items));
110
- break;
111
-
112
- case 'End':
113
- e.preventDefault();
114
- setActiveItemRef(getLastItem(items));
115
- break;
155
+ bb44: switch (e.key) {
156
+ case "ArrowDown":
157
+ {
158
+ e.preventDefault();
159
+ setCurrentActiveItemAndFocus(getNextItem(items, ref_2), {
160
+ scroll: true
161
+ });
162
+ break bb44;
163
+ }
164
+
165
+ case "ArrowUp":
166
+ {
167
+ e.preventDefault();
168
+ setCurrentActiveItemAndFocus(getPrevItem(items, ref_2), {
169
+ scroll: true
170
+ });
171
+ break bb44;
172
+ }
173
+
174
+ case "Home":
175
+ {
176
+ e.preventDefault();
177
+ setCurrentActiveItemAndFocus(getFirstItem(items), {
178
+ scroll: true
179
+ });
180
+ break bb44;
181
+ }
182
+
183
+ case "End":
184
+ {
185
+ e.preventDefault();
186
+ setCurrentActiveItemAndFocus(getLastItem(items), {
187
+ scroll: true
188
+ });
189
+ break bb44;
190
+ }
191
+
192
+ case " ":
193
+ case "Enter":
194
+ {
195
+ e.preventDefault();
196
+ ref_2?.click?.();
197
+ break bb44;
198
+ }
116
199
  }
117
200
  };
118
201
 
119
- document.addEventListener('keydown', handler, true); // eslint-disable-next-line consistent-return
202
+ $[9] = t9;
203
+ } else {
204
+ t9 = $[9];
205
+ }
206
+
207
+ const handleItemKeyDown = t9;
208
+ let t10;
209
+
210
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
211
+ t10 = ref_3 => {
212
+ if (!ref_3) {
213
+ return;
214
+ }
215
+
216
+ setCurrentActiveItemAndFocus(ref_3);
217
+ };
120
218
 
121
- return () => {
122
- document.removeEventListener('keydown', handler, true);
219
+ $[10] = t10;
220
+ } else {
221
+ t10 = $[10];
222
+ }
223
+
224
+ const handleItemMouseEnter = t10;
225
+ let t11;
226
+
227
+ if ($[11] !== currentActiveItemEl || $[12] !== registerItem) {
228
+ t11 = {
229
+ currentActiveItemEl,
230
+ setCurrentActiveItemEl,
231
+ registerItem,
232
+ unregisterItem,
233
+ handleItemFocus,
234
+ handleItemKeyDown,
235
+ handleItemMouseEnter
123
236
  };
124
- }, [enableKeyboardNavigation]);
125
- return {
126
- activeItemRef,
127
- registerItem,
128
- unregisterItem,
129
- isKeyboardNavigating
130
- };
237
+ $[11] = currentActiveItemEl;
238
+ $[12] = registerItem;
239
+ $[13] = t11;
240
+ } else {
241
+ t11 = $[13];
242
+ }
243
+
244
+ return t11;
131
245
  }
132
246
 
133
247
  export { useMenuKeyboardNavigation };
@@ -1,3 +1,8 @@
1
+ @property --_rs-theme-dark-coefficient{
2
+ syntax:'<number>';
3
+ inherits:true;
4
+ initial-value:0;
5
+ }
1
6
  @define-mixin rs-menu-size-s{
2
7
  & [data-rs-internal="menu__menu-item"]{
3
8
  --_rs-menu-mi-icon-offset:8px;
@@ -244,15 +249,18 @@
244
249
  --_rs-menu-mi-horizontal-padding-with-mode:var(
245
250
  --_rs-menu-mi-horizontal-padding
246
251
  );
252
+ }
253
+ & [data-rs-internal="menu__menu-item"] [data-rs-internal="menu__menu-item__inner"]{
254
+ --_rs-menu-mi-color:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.7);
247
255
  --_rs-menu-mi-active-background:var(--_rs-color-primary-t-fog);
248
- --_rs-menu-mi-selected-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
249
- --_rs-menu-mi-selected-background:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
250
- --_rs-menu-mi-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
251
- --_rs-menu-mi-hover-background:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.1);
252
- --_rs-menu-mi-selected-hover-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
253
- --_rs-menu-mi-selected-hover-background:rgb(
254
- calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(51 + var(--_rs-theme-dark-coefficient, 0)*181)
255
- );
256
+ --_rs-menu-mi-selected-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
257
+ --_rs-menu-mi-selected-background:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.1);
258
+ --_rs-menu-mi-hover-color:rgb(
259
+ calc(255 - var(--rs-menu-contrast-primary, 0)*230),
260
+ calc(255 - var(--rs-menu-contrast-primary, 0)*230),
261
+ calc(255 - var(--rs-menu-contrast-primary, 0)*227)
262
+ );
263
+ --_rs-menu-mi-hover-background:var(--_rs-color-primary);
256
264
  }
257
265
  }
258
266
  @define-mixin rs-menu-mode-rock{
@@ -260,42 +268,27 @@
260
268
  --_rs-menu-mi-horizontal-padding-with-mode:var(
261
269
  --_rs-menu-mi-horizontal-padding
262
270
  );
263
- --_rs-menu-mi-active-background:none;
264
- --_rs-menu-mi-selected-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
265
- --_rs-menu-mi-selected-background:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
266
- --_rs-menu-mi-hover-color:#FFFFFF;
267
- --_rs-menu-mi-hover-background:var(--_rs-color-primary);
268
- --_rs-menu-mi-selected-hover-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
269
- --_rs-menu-mi-selected-hover-background:rgb(
270
- calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(51 + var(--_rs-theme-dark-coefficient, 0)*181)
271
- );
271
+ }
272
+ & [data-rs-internal="menu__menu-item"] [data-rs-internal="menu__menu-item__inner"]{
273
+ --_rs-menu-mi-color:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.7);
274
+ --_rs-menu-mi-active-background:transparent;
275
+ --_rs-menu-mi-selected-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
276
+ --_rs-menu-mi-selected-background:rgb(calc(232 - var(--_rs-theme-dark-coefficient, 0)*184), calc(232 - var(--_rs-theme-dark-coefficient, 0)*184), calc(232 - var(--_rs-theme-dark-coefficient, 0)*181));
277
+ --_rs-menu-mi-hover-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
278
+ --_rs-menu-mi-hover-background:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
272
279
  }
273
280
  }
274
281
  @define-mixin rs-menu-mode-clear{
275
282
  & [data-rs-internal="menu__menu-item"]{
276
283
  --_rs-menu-mi-horizontal-padding-with-mode:0;
277
- --_rs-menu-mi-active-background:none;
278
- --_rs-menu-mi-selected-color:var(--_rs-color-primary);
279
- --_rs-menu-mi-selected-background:none;
280
- --_rs-menu-mi-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
281
- --_rs-menu-mi-hover-background:none;
282
- --_rs-menu-mi-selected-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
283
- --_rs-menu-mi-selected-hover-background:rgba(
284
- calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227),
285
- 0.1
286
- );
287
- }
288
- }
289
- @define-mixin rs-menu-icon-placement-left{
290
- & [data-rs-internal="menu__menu-item"]{
291
- --_rs-menu-mi-flex-direction:row;
292
- --_rs-menu-mi-justify-content:initial;
293
284
  }
294
- }
295
- @define-mixin rs-menu-icon-placement-right{
296
- & [data-rs-internal="menu__menu-item"]{
297
- --_rs-menu-mi-flex-direction:row-reverse;
298
- --_rs-menu-mi-justify-content:space-between;
285
+ & [data-rs-internal="menu__menu-item"] [data-rs-internal="menu__menu-item__inner"]{
286
+ --_rs-menu-mi-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
287
+ --_rs-menu-mi-active-background:transparent;
288
+ --_rs-menu-mi-selected-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
289
+ --_rs-menu-mi-selected-background:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.1);
290
+ --_rs-menu-mi-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
291
+ --_rs-menu-mi-hover-background:transparent;
299
292
  }
300
293
  }
301
294
  @define-mixin rs-menu-item-size-s{
@@ -442,58 +435,46 @@
442
435
  --_rs-menu-mi-horizontal-padding-with-mode:var(
443
436
  --_rs-menu-mi-horizontal-padding
444
437
  );
438
+ }
439
+ &[class] [data-rs-internal="menu__menu-item__inner"]{
440
+ --_rs-menu-mi-color:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.7);
445
441
  --_rs-menu-mi-active-background:var(--_rs-color-primary-t-fog);
446
- --_rs-menu-mi-selected-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
447
- --_rs-menu-mi-selected-background:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
448
- --_rs-menu-mi-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
449
- --_rs-menu-mi-hover-background:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.1);
450
- --_rs-menu-mi-selected-hover-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
451
- --_rs-menu-mi-selected-hover-background:rgb(
452
- calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(51 + var(--_rs-theme-dark-coefficient, 0)*181)
453
- );
442
+ --_rs-menu-mi-selected-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
443
+ --_rs-menu-mi-selected-background:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.1);
444
+ --_rs-menu-mi-hover-color:rgb(
445
+ calc(255 - var(--rs-menu-contrast-primary, 0)*230),
446
+ calc(255 - var(--rs-menu-contrast-primary, 0)*230),
447
+ calc(255 - var(--rs-menu-contrast-primary, 0)*227)
448
+ );
449
+ --_rs-menu-mi-hover-background:var(--_rs-color-primary);
454
450
  }
455
451
  }
456
452
  @define-mixin rs-menu-item-mode-rock{
457
453
  &[class]{
458
454
  --_rs-menu-mi-horizontal-padding-with-mode:var(
459
455
  --_rs-menu-mi-horizontal-padding
460
- );
461
- --_rs-menu-mi-active-background:none;
462
- --_rs-menu-mi-selected-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
463
- --_rs-menu-mi-selected-background:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
464
- --_rs-menu-mi-hover-color:#FFFFFF;
465
- --_rs-menu-mi-hover-background:var(--_rs-color-primary);
466
- --_rs-menu-mi-selected-hover-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
467
- --_rs-menu-mi-selected-hover-background:rgb(
468
- calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(48 + var(--_rs-theme-dark-coefficient, 0)*184), calc(51 + var(--_rs-theme-dark-coefficient, 0)*181)
469
456
  );
470
457
  }
458
+ &[class] [data-rs-internal="menu__menu-item__inner"]{
459
+ --_rs-menu-mi-color:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.7);
460
+ --_rs-menu-mi-active-background:transparent;
461
+ --_rs-menu-mi-selected-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
462
+ --_rs-menu-mi-selected-background:rgb(calc(232 - var(--_rs-theme-dark-coefficient, 0)*184), calc(232 - var(--_rs-theme-dark-coefficient, 0)*184), calc(232 - var(--_rs-theme-dark-coefficient, 0)*181));
463
+ --_rs-menu-mi-hover-color:rgb(calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*230), calc(255 - var(--_rs-theme-dark-coefficient, 0)*227));
464
+ --_rs-menu-mi-hover-background:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
465
+ }
471
466
  }
472
467
  @define-mixin rs-menu-item-mode-clear{
473
468
  &[class]{
474
469
  --_rs-menu-mi-horizontal-padding-with-mode:0;
475
- --_rs-menu-mi-active-background:none;
476
- --_rs-menu-mi-selected-color:var(--_rs-color-primary);
477
- --_rs-menu-mi-selected-background:none;
478
- --_rs-menu-mi-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
479
- --_rs-menu-mi-hover-background:none;
480
- --_rs-menu-mi-selected-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
481
- --_rs-menu-mi-selected-hover-background:rgba(
482
- calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227),
483
- 0.1
484
- );
485
- }
486
- }
487
- @define-mixin rs-menu-item-icon-placement-left{
488
- &[class]{
489
- --_rs-menu-mi-flex-direction:row;
490
- --_rs-menu-mi-justify-content:initial;
491
470
  }
492
- }
493
- @define-mixin rs-menu-item-icon-placement-right{
494
- &[class]{
495
- --_rs-menu-mi-flex-direction:row-reverse;
496
- --_rs-menu-mi-justify-content:space-between;
471
+ &[class] [data-rs-internal="menu__menu-item__inner"]{
472
+ --_rs-menu-mi-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
473
+ --_rs-menu-mi-active-background:transparent;
474
+ --_rs-menu-mi-selected-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
475
+ --_rs-menu-mi-selected-background:rgba(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227), 0.1);
476
+ --_rs-menu-mi-hover-color:rgb(calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(25 + var(--_rs-theme-dark-coefficient, 0)*230), calc(28 + var(--_rs-theme-dark-coefficient, 0)*227));
477
+ --_rs-menu-mi-hover-background:transparent;
497
478
  }
498
479
  }
499
480
  @define-mixin rs-group-header-size-s{