@qsxy/element-plus-react 1.0.0-next.21 → 1.0.0-next.22

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.
Files changed (48) hide show
  1. package/dist/Breadcrumb/BreadcrumbItem.js +7 -4
  2. package/dist/DateTimePicker/DateTimePicker.d.ts +1 -1
  3. package/dist/Menu/Menu.d.ts +4 -0
  4. package/dist/Menu/Menu.js +231 -0
  5. package/dist/Menu/MenuCollapseTransition.d.ts +6 -0
  6. package/dist/Menu/MenuCollapseTransition.js +40 -0
  7. package/dist/Menu/MenuContext.d.ts +16 -0
  8. package/dist/Menu/MenuContext.js +18 -0
  9. package/dist/Menu/MenuItem.d.ts +4 -0
  10. package/dist/Menu/MenuItem.js +76 -0
  11. package/dist/Menu/MenuItemGroup.d.ts +4 -0
  12. package/dist/Menu/MenuItemGroup.js +44 -0
  13. package/dist/Menu/SubMenu.d.ts +4 -0
  14. package/dist/Menu/SubMenu.js +242 -0
  15. package/dist/Menu/SubMenuCollapseTransition.d.ts +6 -0
  16. package/dist/Menu/SubMenuCollapseTransition.js +52 -0
  17. package/dist/Menu/index.d.ts +5 -0
  18. package/dist/Menu/index.js +4 -0
  19. package/dist/Menu/typings.d.ts +121 -0
  20. package/dist/Menu/typings.js +1 -0
  21. package/dist/Menu/useEllipsis.d.ts +6 -0
  22. package/dist/Menu/useEllipsis.js +82 -0
  23. package/dist/Popper/Popper.js +9 -4
  24. package/dist/Popper/popperOptions.d.ts +2 -2
  25. package/dist/Popper/popperOptions.js +41 -2
  26. package/dist/Radio/Radio.js +4 -3
  27. package/dist/Radio/RadioButton.d.ts +1 -1
  28. package/dist/Radio/RadioButton.js +3 -2
  29. package/dist/Radio/typings.d.ts +1 -1
  30. package/dist/Tooltip/Tooltip.js +3 -1
  31. package/dist/Transition/CssTransiton.d.ts +15 -0
  32. package/dist/Transition/CssTransiton.js +29 -0
  33. package/dist/Transition/Transition.d.ts +2 -0
  34. package/dist/Transition/Transition.js +7 -2
  35. package/dist/hooks/useCssTransiton.d.ts +27 -0
  36. package/dist/hooks/useCssTransiton.js +87 -0
  37. package/dist/hooks/useResizeObserver.d.ts +42 -0
  38. package/dist/hooks/useResizeObserver.js +42 -0
  39. package/dist/index.css +1 -1
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.js +1 -0
  42. package/dist/types/common.d.ts +2 -2
  43. package/package.json +4 -3
  44. package/theme-chalk/common/transition.scss +142 -0
  45. package/theme-chalk/index.scss +3 -0
  46. package/theme-chalk/menu-item-group.scss +0 -0
  47. package/theme-chalk/menu-item.scss +0 -0
  48. package/theme-chalk/menu.scss +352 -0
package/dist/index.d.ts CHANGED
@@ -78,6 +78,8 @@ export { Breadcrumb as ElBreadcrumb, BreadcrumbItem as ElBreadcrumbItem } from '
78
78
  export type { BreadcrumbItemProps, BreadcrumbProps } from './Breadcrumb';
79
79
  export { Dropdown as ElDropdown, DropdownItem as ElDropdownItem, DropdownMenu as ElDropdownMenu } from './Dropdown';
80
80
  export type { DropdownItemProps, DropdownMenuProps, DropdownProps } from './Dropdown';
81
+ export { Menu as ElMenu, MenuItem as ElMenuItem, MenuItemGroup as ElMenuItemGroup, SubMenu as ElSubMenu } from './Menu';
82
+ export type { MenuCloseEvent, MenuItemClicked, MenuItemGroupProps, MenuItemProps, MenuItemRegistered, MenuOpenEvent, MenuProps, MenuRef, SubMenuProps } from './Menu';
81
83
  export { TabPane as ElTabPane, Tabs as ElTabs } from './Tabs';
82
84
  export type { TabPaneProps, TabsPaneContext, TabsProps } from './Tabs';
83
85
  export { Empty as ElEmpty } from './Empty';
package/dist/index.js CHANGED
@@ -47,6 +47,7 @@ export { TreeSelect as ElTreeSelect } from "./TreeSelect";
47
47
  /* Navigation 导航 */
48
48
  export { Breadcrumb as ElBreadcrumb, BreadcrumbItem as ElBreadcrumbItem } from "./Breadcrumb";
49
49
  export { Dropdown as ElDropdown, DropdownItem as ElDropdownItem, DropdownMenu as ElDropdownMenu } from "./Dropdown";
50
+ export { Menu as ElMenu, MenuItem as ElMenuItem, MenuItemGroup as ElMenuItemGroup, SubMenu as ElSubMenu } from "./Menu";
50
51
  export { TabPane as ElTabPane, Tabs as ElTabs } from "./Tabs";
51
52
  export { Empty as ElEmpty } from "./Empty";
52
53
  export { Skeleton as ElSkeleton, SkeletonItem as ElSkeletonItem } from "./Skeleton";
@@ -10,14 +10,14 @@ export declare namespace TypeAttributes {
10
10
  type CheckTrigger = 'change' | 'blur' | 'none';
11
11
  }
12
12
  export type ComponentChildren = React.ReactNode | React.ReactNode[];
13
- export interface FormControlBaseProps<ValueType = React.AllHTMLAttributes<HTMLInputElement>['value']> {
13
+ export interface FormControlBaseProps<ValueType = string | number | boolean> {
14
14
  name?: string;
15
15
  /** 初始值 */
16
16
  defaultValue?: ValueType;
17
17
  /** 值(可控) */
18
18
  value?: ValueType;
19
19
  /** 选中值发生变化时触发 */
20
- onChange?: (value: ValueType | boolean, event?: React.ChangeEvent<any>) => void;
20
+ onChange?: (value: ValueType, event?: React.ChangeEvent<any>) => void;
21
21
  /** 禁用 */
22
22
  disabled?: boolean;
23
23
  /** 尺寸 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qsxy/element-plus-react",
3
- "version": "1.0.0-next.21",
3
+ "version": "1.0.0-next.22",
4
4
  "description": "element-plus-react",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,8 +17,9 @@
17
17
  "theme-chalk"
18
18
  ],
19
19
  "peerDependencies": {
20
- "react": ">=16.9.0",
21
- "react-dom": ">=16.9.0"
20
+ "react": ">=18.0.0",
21
+ "react-router-dom": ">=6.22.1",
22
+ "react-dom": ">=18.0.0"
22
23
  },
23
24
  "dependencies": {
24
25
  "@ctrl/tinycolor": "^4.1.0",
@@ -0,0 +1,142 @@
1
+ @use '../mixins/config' as *;
2
+ @use '../mixins/mixins' as *;
3
+
4
+ .fade-in-linear-enter-active,
5
+ .fade-in-linear-leave-active {
6
+ transition: getCssVar('transition-fade', 'linear');
7
+ }
8
+
9
+ .fade-in-linear-enter-from,
10
+ .fade-in-linear-leave-to {
11
+ opacity: 0;
12
+ }
13
+
14
+ .#{$namespace}-fade-in-linear-enter-active,
15
+ .#{$namespace}-fade-in-linear-leave-active {
16
+ transition: getCssVar('transition-fade', 'linear');
17
+ }
18
+ .#{$namespace}-fade-in-linear-enter-from,
19
+ .#{$namespace}-fade-in-linear-leave-to {
20
+ opacity: 0;
21
+ }
22
+
23
+ .#{$namespace}-fade-in-enter-active,
24
+ .#{$namespace}-fade-in-leave-active {
25
+ transition: all getCssVar('transition-duration') cubic-bezier(0.55, 0, 0.1, 1);
26
+ }
27
+ .#{$namespace}-fade-in-enter-from,
28
+ .#{$namespace}-fade-in-leave-active {
29
+ opacity: 0;
30
+ }
31
+
32
+ .#{$namespace}-zoom-in-center-enter-active,
33
+ .#{$namespace}-zoom-in-center-leave-active {
34
+ transition: all getCssVar('transition-duration') cubic-bezier(0.55, 0, 0.1, 1);
35
+ }
36
+ .#{$namespace}-zoom-in-center-enter-from,
37
+ .#{$namespace}-zoom-in-center-leave-active {
38
+ opacity: 0;
39
+ transform: scaleX(0);
40
+ }
41
+
42
+ .#{$namespace}-zoom-in-top-enter-active,
43
+ .#{$namespace}-zoom-in-top-leave-active {
44
+ opacity: 1;
45
+ transform: scaleY(1);
46
+ transition: getCssVar('transition-md-fade');
47
+ transform-origin: center top;
48
+
49
+ &[data-popper-placement^='top'] {
50
+ transform-origin: center bottom;
51
+ }
52
+ }
53
+ .#{$namespace}-zoom-in-top-enter-from,
54
+ .#{$namespace}-zoom-in-top-leave-active {
55
+ opacity: 0;
56
+ transform: scaleY(0);
57
+ }
58
+
59
+ .#{$namespace}-zoom-in-bottom-enter-active,
60
+ .#{$namespace}-zoom-in-bottom-leave-active {
61
+ opacity: 1;
62
+ transform: scaleY(1);
63
+ transition: getCssVar('transition-md-fade');
64
+ transform-origin: center bottom;
65
+ }
66
+ .#{$namespace}-zoom-in-bottom-enter-from,
67
+ .#{$namespace}-zoom-in-bottom-leave-active {
68
+ opacity: 0;
69
+ transform: scaleY(0);
70
+ }
71
+
72
+ .#{$namespace}-zoom-in-left-enter-active,
73
+ .#{$namespace}-zoom-in-left-leave-active {
74
+ opacity: 1;
75
+ transform: scale(1, 1);
76
+ transition: getCssVar('transition-md-fade');
77
+ transform-origin: top left;
78
+ }
79
+ .#{$namespace}-zoom-in-left-enter-from,
80
+ .#{$namespace}-zoom-in-left-leave-active {
81
+ opacity: 0;
82
+ transform: scale(0.45, 0.45);
83
+ }
84
+
85
+ .collapse-transition {
86
+ transition: getCssVar('transition-duration') height ease-in-out, getCssVar('transition-duration') padding-top ease-in-out,
87
+ getCssVar('transition-duration') padding-bottom ease-in-out;
88
+ }
89
+
90
+ .#{$namespace}-collapse-transition-leave-active,
91
+ .#{$namespace}-collapse-transition-enter-active {
92
+ transition: getCssVar('transition-duration') max-height ease-in-out, getCssVar('transition-duration') padding-top ease-in-out,
93
+ getCssVar('transition-duration') padding-bottom ease-in-out;
94
+ }
95
+
96
+ .#{$namespace}-menu-collapse-enter-active,
97
+ .#{$namespace}-menu-collapse-leave-active {
98
+ animation-duration: 0.3s;
99
+ animation-fill-mode: both;
100
+ animation-play-state: paused;
101
+ }
102
+
103
+ .#{$namespace}-menu-collapse-enter-from {
104
+ // opacity: 0;
105
+ animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
106
+ animation-name: rSlideUpIn;
107
+ animation-play-state: running;
108
+ }
109
+
110
+ .#{$namespace}-menu-collapse-leave-active {
111
+ animation-name: treeNodeLeave;
112
+ animation-play-state: running;
113
+ pointer-events: none;
114
+ }
115
+
116
+ .#{$namespace}-menu-collapse-leave-to {
117
+ animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
118
+ }
119
+
120
+ .horizontal-collapse-transition {
121
+ transition: getCssVar('transition-duration') width ease-in-out, getCssVar('transition-duration') padding-left ease-in-out,
122
+ getCssVar('transition-duration') padding-right ease-in-out;
123
+ }
124
+
125
+ .#{$namespace}-list-enter-active,
126
+ .#{$namespace}-list-leave-active {
127
+ transition: all 1s;
128
+ }
129
+
130
+ .#{$namespace}-list-enter-from,
131
+ .#{$namespace}-list-leave-to {
132
+ opacity: 0;
133
+ transform: translateY(-30px);
134
+ }
135
+
136
+ .#{$namespace}-list-leave-active {
137
+ position: absolute !important;
138
+ }
139
+
140
+ .#{$namespace}-opacity-transition {
141
+ transition: opacity getCssVar('transition-duration') cubic-bezier(0.55, 0, 0.1, 1);
142
+ }
@@ -54,6 +54,9 @@
54
54
  // /* Navigation 导航 */
55
55
  @use './breadcrumb';
56
56
  @use './dropdown';
57
+ @use './menu';
58
+ @use './menu-item';
59
+ @use './menu-item-group';
57
60
  @use './tabs';
58
61
  @use './empty';
59
62
  @use './skeleton';
File without changes
File without changes
@@ -0,0 +1,352 @@
1
+ @use 'mixins/mixins' as *;
2
+ @use 'mixins/var' as *;
3
+ @use 'mixins/utils' as *;
4
+ @use 'common/var' as *;
5
+ @use 'common/transition';
6
+
7
+ @mixin menu-item {
8
+ display: flex;
9
+ align-items: center;
10
+ height: getCssVar('menu-item-height');
11
+ line-height: getCssVar('menu-item-height');
12
+ font-size: getCssVar('menu-item-font-size');
13
+ color: getCssVar('menu-text-color');
14
+ padding: 0 getCssVar('menu-base-level-padding');
15
+ list-style: none;
16
+ cursor: pointer;
17
+ position: relative;
18
+ transition: border-color getCssVar('transition-duration'), background-color getCssVar('transition-duration'), color getCssVar('transition-duration');
19
+ box-sizing: border-box;
20
+ white-space: nowrap;
21
+
22
+ * {
23
+ vertical-align: bottom;
24
+ }
25
+
26
+ i {
27
+ color: inherit;
28
+ }
29
+
30
+ &:hover,
31
+ &:focus {
32
+ outline: none;
33
+ }
34
+
35
+ &:hover {
36
+ background-color: getCssVar('menu-hover-bg-color');
37
+ }
38
+
39
+ @include when(disabled) {
40
+ opacity: 0.25;
41
+ cursor: not-allowed;
42
+ background: none !important;
43
+ }
44
+ }
45
+
46
+ :root {
47
+ // They are defined on :root so they can be inherited by sub-menu instead of overwritten
48
+ @include set-component-css-var('menu', $menu);
49
+ }
50
+
51
+ @include b(menu) {
52
+ border-right: solid 1px getCssVar('menu-border-color');
53
+ list-style: none;
54
+ position: relative;
55
+ margin: 0;
56
+ padding-left: 0;
57
+ background-color: getCssVar('menu-bg-color');
58
+ box-sizing: border-box;
59
+
60
+ @include m(vertical) {
61
+ &:not(.#{$namespace}-menu--collapse):not(.#{$namespace}-menu--popup-container) {
62
+ & .#{$namespace}-menu-item,
63
+ & .#{$namespace}-sub-menu__title,
64
+ & .#{$namespace}-menu-item-group__title {
65
+ white-space: nowrap;
66
+ padding-left: calc(#{getCssVar('menu-base-level-padding')} + #{getCssVar('menu-level')} * #{getCssVar('menu-level-padding')});
67
+ }
68
+ }
69
+ }
70
+
71
+ &:not(.#{$namespace}-menu--collapse) .#{$namespace}-sub-menu__title {
72
+ padding-right: calc(#{getCssVar('menu-base-level-padding')} + #{getCssVar('menu-icon-width')});
73
+ }
74
+
75
+ @include m(horizontal) {
76
+ display: flex;
77
+ flex-wrap: nowrap;
78
+ border-right: none;
79
+
80
+ height: getCssVar('menu-horizontal-height');
81
+
82
+ // reset menu-item popup height
83
+ &.#{$namespace}-menu--popup-container {
84
+ height: unset;
85
+ }
86
+
87
+ &.#{$namespace}-menu {
88
+ border-bottom: solid 1px getCssVar('menu-border-color');
89
+ }
90
+
91
+ & > .#{$namespace}-menu-item {
92
+ display: inline-flex;
93
+ justify-content: center;
94
+ align-items: center;
95
+
96
+ height: 100%;
97
+ margin: 0;
98
+ border-bottom: 2px solid transparent;
99
+ color: getCssVar('menu-text-color');
100
+
101
+ a,
102
+ a:hover {
103
+ color: inherit;
104
+ }
105
+ }
106
+
107
+ & > .#{$namespace}-sub-menu {
108
+ &:focus,
109
+ &:hover {
110
+ outline: none;
111
+ }
112
+
113
+ &:hover {
114
+ .#{$namespace}-sub-menu__title {
115
+ color: getCssVar('menu-hover-text-color');
116
+ }
117
+ }
118
+
119
+ &.is-active {
120
+ .#{$namespace}-sub-menu__title {
121
+ border-bottom: 2px solid getCssVar('menu-active-color');
122
+ color: getCssVar('menu-active-color');
123
+ }
124
+ }
125
+
126
+ & .#{$namespace}-sub-menu__title {
127
+ height: 100%;
128
+ border-bottom: 2px solid transparent;
129
+ color: getCssVar('menu-text-color');
130
+
131
+ &:hover {
132
+ background-color: getCssVar('menu-bg-color');
133
+ }
134
+ }
135
+ }
136
+
137
+ & .#{$namespace}-menu {
138
+ & .#{$namespace}-menu-item,
139
+ & .#{$namespace}-sub-menu__title {
140
+ background-color: getCssVar('menu-bg-color');
141
+ display: flex;
142
+ align-items: center;
143
+ height: getCssVar('menu-horizontal-sub-item-height');
144
+ line-height: getCssVar('menu-horizontal-sub-item-height');
145
+ padding: 0 10px;
146
+ color: getCssVar('menu-text-color');
147
+ }
148
+
149
+ & .#{$namespace}-sub-menu__title {
150
+ padding-right: 40px;
151
+ }
152
+
153
+ & .#{$namespace}-menu-item.is-active,
154
+ & .#{$namespace}-menu-item.is-active:hover,
155
+ & .#{$namespace}-sub-menu.is-active > .#{$namespace}-sub-menu__title,
156
+ & .#{$namespace}-sub-menu.is-active > .#{$namespace}-sub-menu__title:hover {
157
+ color: getCssVar('menu-active-color');
158
+ }
159
+ }
160
+
161
+ & .#{$namespace}-menu-item:not(.is-disabled):hover,
162
+ & .#{$namespace}-menu-item:not(.is-disabled):focus {
163
+ outline: none;
164
+ color: getCssVarWithDefault('menu-active-color', getCssVar('menu-hover-text-color'));
165
+ background-color: getCssVar('menu-hover-bg-color');
166
+ }
167
+
168
+ & > .#{$namespace}-menu-item.is-active {
169
+ border-bottom: 2px solid getCssVar('menu-active-color');
170
+ color: getCssVar('menu-active-color') !important;
171
+ }
172
+ }
173
+
174
+ @include m(collapse) {
175
+ width: calc(#{getCssVar('menu-icon-width')} + #{getCssVar('menu-base-level-padding')} * 2);
176
+
177
+ > .#{$namespace}-menu-item,
178
+ > .#{$namespace}-sub-menu > .#{$namespace}-sub-menu__title,
179
+ > .#{$namespace}-menu-item-group > ul > .#{$namespace}-sub-menu > .#{$namespace}-sub-menu__title {
180
+ [class^='#{$namespace}-icon'] {
181
+ margin: 0;
182
+ vertical-align: middle;
183
+ width: getCssVar('menu-icon-width');
184
+ text-align: center;
185
+ }
186
+
187
+ .#{$namespace}-sub-menu__icon-arrow {
188
+ display: none;
189
+ }
190
+
191
+ > span {
192
+ height: 0;
193
+ width: 0;
194
+ overflow: hidden;
195
+ visibility: hidden;
196
+ display: inline-block;
197
+ }
198
+ }
199
+
200
+ > .#{$namespace}-menu-item.is-active i {
201
+ color: inherit;
202
+ }
203
+
204
+ .#{$namespace}-menu .#{$namespace}-sub-menu {
205
+ min-width: 200px;
206
+ }
207
+
208
+ .#{$namespace}-sub-menu {
209
+ &.is-active .#{$namespace}-sub-menu__title {
210
+ color: getCssVar('menu-active-color');
211
+ }
212
+ }
213
+ }
214
+
215
+ @include m(popup) {
216
+ z-index: 100;
217
+ min-width: 200px;
218
+ border: none;
219
+ padding: 5px 0;
220
+ border-radius: getCssVar('border-radius-small');
221
+ box-shadow: getCssVar('box-shadow-light');
222
+ }
223
+
224
+ @include m(inline) {
225
+ display: none;
226
+ }
227
+
228
+ .#{$namespace}-icon {
229
+ flex-shrink: 0;
230
+ }
231
+ }
232
+
233
+ @include b(menu-item) {
234
+ @include menu-item;
235
+
236
+ & [class^='#{$namespace}-icon'] {
237
+ margin-right: 5px;
238
+ width: getCssVar('menu-icon-width');
239
+ text-align: center;
240
+ font-size: 18px;
241
+ vertical-align: middle;
242
+ }
243
+
244
+ @include when(active) {
245
+ color: getCssVar('menu-active-color');
246
+
247
+ i {
248
+ color: inherit;
249
+ }
250
+ }
251
+
252
+ .#{$namespace}-menu-tooltip__trigger {
253
+ position: absolute;
254
+ left: 0;
255
+ top: 0;
256
+ height: 100%;
257
+ width: 100%;
258
+ display: inline-flex;
259
+ align-items: center;
260
+ box-sizing: border-box;
261
+ padding: 0 getCssVar('menu-base-level-padding');
262
+ }
263
+ }
264
+
265
+ @include b(sub-menu) {
266
+ list-style: none;
267
+ margin: 0;
268
+ padding-left: 0;
269
+
270
+ @include e(title) {
271
+ @include menu-item;
272
+
273
+ &:hover {
274
+ background-color: getCssVar('menu-hover-bg-color');
275
+ }
276
+ }
277
+
278
+ &.#{$namespace}-sub-menu__hide-arrow .el-sub-menu__title {
279
+ padding-right: var(--el-menu-base-level-padding);
280
+ }
281
+
282
+ & .#{$namespace}-menu {
283
+ border: none;
284
+ }
285
+
286
+ & .#{$namespace}-menu-item {
287
+ height: getCssVar('menu-sub-item-height');
288
+ line-height: getCssVar('menu-sub-item-height');
289
+ }
290
+
291
+ @include e(hide-arrow) {
292
+ .#{$namespace}-sub-menu__icon-arrow {
293
+ display: none !important;
294
+ }
295
+ }
296
+
297
+ @include when(active) {
298
+ .#{$namespace}-sub-menu__title {
299
+ border-bottom-color: getCssVar('menu-active-color');
300
+ }
301
+ }
302
+
303
+ @include when(disabled) {
304
+ .#{$namespace}-sub-menu__title,
305
+ .#{$namespace}-menu-item {
306
+ opacity: 0.25;
307
+ cursor: not-allowed;
308
+ background: none !important;
309
+ }
310
+ }
311
+
312
+ .#{$namespace}-icon {
313
+ vertical-align: middle;
314
+ margin-right: 5px;
315
+ width: getCssVar('menu-icon-width');
316
+ text-align: center;
317
+ font-size: 18px;
318
+
319
+ &.#{$namespace}-sub-menu__icon-more {
320
+ margin-right: 0 !important;
321
+ }
322
+ }
323
+
324
+ .#{$namespace}-sub-menu__icon-arrow {
325
+ position: absolute;
326
+ top: 50%;
327
+ right: getCssVar('menu-base-level-padding');
328
+ margin-top: -6px;
329
+ transition: transform getCssVar('transition-duration');
330
+ font-size: 12px;
331
+ margin-right: 0;
332
+ width: inherit;
333
+ }
334
+ }
335
+
336
+ @include b(menu-item-group) {
337
+ > ul {
338
+ padding: 0;
339
+ }
340
+
341
+ @include e(title) {
342
+ padding: 7px 0 7px getCssVar('menu-base-level-padding');
343
+ line-height: normal;
344
+ font-size: 12px;
345
+ color: getCssVar('text-color', 'secondary');
346
+ }
347
+ }
348
+
349
+ .horizontal-collapse-transition .#{$namespace}-sub-menu__title .#{$namespace}-sub-menu__icon-arrow {
350
+ transition: getCssVar('transition-duration-fast');
351
+ opacity: 0;
352
+ }