@qsxy/element-plus-react 1.0.1 → 1.0.3

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 (256) hide show
  1. package/dist/Alert/Alert.d.ts +7 -0
  2. package/dist/Alert/Alert.js +98 -0
  3. package/dist/Alert/index.d.ts +2 -0
  4. package/dist/Alert/index.js +1 -0
  5. package/dist/Alert/typings.d.ts +45 -0
  6. package/dist/Alert/typings.js +1 -0
  7. package/dist/Calendar/Calendar.js +12 -3
  8. package/dist/Calendar/Footer.js +4 -2
  9. package/dist/Calendar/QuarterPanel.d.ts +4 -0
  10. package/dist/Calendar/QuarterPanel.js +109 -0
  11. package/dist/Calendar/WeekPanel.js +1 -1
  12. package/dist/Calendar/typings.d.ts +1 -1
  13. package/dist/Card/Card.js +13 -6
  14. package/dist/Card/typings.d.ts +1 -1
  15. package/dist/Cascader/Cascader.js +1 -1
  16. package/dist/Cascader/useCascader.d.ts +0 -14
  17. package/dist/Cascader/useCascader.js +33 -32
  18. package/dist/Checkbox/Checkbox.js +3 -2
  19. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  20. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  21. package/dist/ConfigProvider/typings.d.ts +1 -1
  22. package/dist/Container/Main.d.ts +1 -1
  23. package/dist/Container/typings.d.ts +1 -1
  24. package/dist/DatePicker/DatePicker.js +38 -12
  25. package/dist/DatePicker/DateRangePicker.js +27 -9
  26. package/dist/DatePicker/main.js +1 -1
  27. package/dist/DatePicker/typings.d.ts +1 -1
  28. package/dist/DateTimePicker/DateTimePicker.js +2 -2
  29. package/dist/Dialog/Dialog.js +5 -12
  30. package/dist/Input/Input.js +190 -149
  31. package/dist/Input/InputRange.js +1 -1
  32. package/dist/Input/TextArea.js +87 -12
  33. package/dist/Input/typings.d.ts +56 -5
  34. package/dist/Input/useComposition.d.ts +23 -0
  35. package/dist/Input/useComposition.js +63 -0
  36. package/dist/Input/utils.d.ts +7 -0
  37. package/dist/Input/utils.js +95 -0
  38. package/dist/InputNumber/InputNumber.js +351 -141
  39. package/dist/InputNumber/typings.d.ts +16 -2
  40. package/dist/Loading/Loading.js +5 -2
  41. package/dist/Menu/Menu.js +25 -1
  42. package/dist/Menu/MenuItem.js +4 -2
  43. package/dist/Menu/SubMenu.js +2 -2
  44. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  45. package/dist/Menu/typings.d.ts +2 -1
  46. package/dist/Message/Message.js +51 -23
  47. package/dist/Message/index.js +8 -10
  48. package/dist/Message/typings.d.ts +8 -5
  49. package/dist/MessageBox/MessageBox.js +52 -30
  50. package/dist/MessageBox/index.d.ts +2 -1
  51. package/dist/MessageBox/index.js +4 -2
  52. package/dist/MessageBox/typings.d.ts +3 -0
  53. package/dist/Notification/Notification.js +26 -19
  54. package/dist/Select/Option.js +30 -14
  55. package/dist/Select/SelectContext.d.ts +5 -5
  56. package/dist/Select/SelectContext.js +2 -1
  57. package/dist/Select/SelectCore.d.ts +2 -2
  58. package/dist/Select/SelectCore.js +172 -449
  59. package/dist/Select/SelectDropdown.js +85 -155
  60. package/dist/Select/index.d.ts +1 -1
  61. package/dist/Select/typings.d.ts +52 -22
  62. package/dist/Select/useSelect.d.ts +128 -0
  63. package/dist/Select/useSelect.js +524 -0
  64. package/dist/Space/Space.d.ts +4 -0
  65. package/dist/Space/Space.js +128 -0
  66. package/dist/Space/SpaceItem.d.ts +7 -0
  67. package/dist/Space/SpaceItem.js +14 -0
  68. package/dist/Space/index.d.ts +3 -0
  69. package/dist/Space/index.js +2 -0
  70. package/dist/Space/typings.d.ts +26 -0
  71. package/dist/Space/typings.js +1 -0
  72. package/dist/Space/useSpace.d.ts +7 -0
  73. package/dist/Space/useSpace.js +104 -0
  74. package/dist/Statistic/Statistic.d.ts +4 -0
  75. package/dist/Statistic/Statistic.js +92 -0
  76. package/dist/Statistic/index.d.ts +2 -0
  77. package/dist/Statistic/index.js +1 -0
  78. package/dist/Statistic/typings.d.ts +28 -0
  79. package/dist/Statistic/typings.js +1 -0
  80. package/dist/Switch/Switch.js +2 -2
  81. package/dist/Table/Table.js +3 -0
  82. package/dist/Table/typings.d.ts +2 -0
  83. package/dist/Table/util.js +6 -5
  84. package/dist/Tag/Tag.js +22 -17
  85. package/dist/Tag/typings.d.ts +1 -1
  86. package/dist/Text/Text.d.ts +4 -0
  87. package/dist/Text/Text.js +84 -0
  88. package/dist/Text/index.d.ts +2 -0
  89. package/dist/Text/index.js +1 -0
  90. package/dist/Text/typings.d.ts +15 -0
  91. package/dist/Text/typings.js +1 -0
  92. package/dist/TimePicker/TimePicker.js +2 -2
  93. package/dist/Tree/CollapseTransition.d.ts +7 -0
  94. package/dist/Tree/CollapseTransition.js +60 -0
  95. package/dist/Tree/Tree.d.ts +3 -140
  96. package/dist/Tree/Tree.js +350 -77
  97. package/dist/Tree/TreeContext.d.ts +9 -0
  98. package/dist/Tree/TreeContext.js +14 -0
  99. package/dist/Tree/TreeNode.d.ts +5 -3
  100. package/dist/Tree/TreeNode.js +321 -331
  101. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  102. package/dist/Tree/TreeNodeContent.js +22 -0
  103. package/dist/Tree/index.d.ts +3 -8
  104. package/dist/Tree/index.js +1 -4
  105. package/dist/Tree/model/node.d.ts +62 -0
  106. package/dist/Tree/model/node.js +601 -0
  107. package/dist/Tree/model/tree-store.d.ts +52 -0
  108. package/dist/Tree/model/tree-store.js +510 -0
  109. package/dist/Tree/model/useDragNode.d.ts +30 -0
  110. package/dist/Tree/model/useDragNode.js +293 -0
  111. package/dist/Tree/model/useKeydown.d.ts +0 -0
  112. package/dist/Tree/model/useKeydown.js +104 -0
  113. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  114. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  115. package/dist/Tree/model/util.d.ts +7 -0
  116. package/dist/Tree/model/util.js +24 -0
  117. package/dist/Tree/typings.d.ts +225 -114
  118. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  119. package/dist/TreeSelect/TreeSelect.js +90 -566
  120. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  121. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  122. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  123. package/dist/TreeSelect/cacheOptions.js +22 -0
  124. package/dist/TreeSelect/index.d.ts +0 -1
  125. package/dist/TreeSelect/typings.d.ts +11 -63
  126. package/dist/TreeSelect/useSelect.d.ts +125 -0
  127. package/dist/TreeSelect/useSelect.js +104 -0
  128. package/dist/TreeSelect/useTree.d.ts +130 -0
  129. package/dist/TreeSelect/useTree.js +285 -0
  130. package/dist/TreeSelect/utils.d.ts +10 -0
  131. package/dist/TreeSelect/utils.js +38 -0
  132. package/dist/Upload/UploadContent.js +2 -0
  133. package/dist/Upload/ajax.js +3 -0
  134. package/dist/Upload/typings.d.ts +4 -0
  135. package/dist/Util/aria.d.ts +25 -0
  136. package/dist/Util/aria.js +118 -0
  137. package/dist/Util/base.d.ts +5 -0
  138. package/dist/Util/base.js +140 -1
  139. package/dist/config/Constants.d.ts +3 -0
  140. package/dist/config/Constants.js +8 -0
  141. package/dist/hooks/index.d.ts +1 -0
  142. package/dist/hooks/index.js +1 -0
  143. package/dist/hooks/popperPropsUtils.js +1 -1
  144. package/dist/hooks/treePropsUtils.d.ts +3 -3
  145. package/dist/hooks/treePropsUtils.js +2 -2
  146. package/dist/hooks/useCalcInputWidth.d.ts +8 -0
  147. package/dist/{Tree/useUnmount.js → hooks/useCalcInputWidth.js} +23 -27
  148. package/dist/hooks/useComposition.d.ts +16 -0
  149. package/dist/hooks/useComposition.js +39 -0
  150. package/dist/hooks/useConfigProvider.d.ts +27 -0
  151. package/dist/hooks/useConfigProvider.js +78 -0
  152. package/dist/hooks/useCursor.d.ts +2 -0
  153. package/dist/hooks/useCursor.js +52 -0
  154. package/dist/hooks/useFocusController.d.ts +27 -0
  155. package/dist/hooks/useFocusController.js +72 -0
  156. package/dist/hooks/useResizeObserver.js +6 -6
  157. package/dist/index.css +1 -1
  158. package/dist/index.d.ts +18 -11
  159. package/dist/index.js +11 -5
  160. package/dist/locale/en.d.ts +15 -0
  161. package/dist/locale/en.js +15 -0
  162. package/dist/locale/zhCn.d.ts +15 -0
  163. package/dist/locale/zhCn.js +15 -0
  164. package/package.json +1 -1
  165. package/theme-chalk/alert.scss +115 -0
  166. package/theme-chalk/aside.scss +8 -8
  167. package/theme-chalk/button-group.scss +80 -80
  168. package/theme-chalk/button.scss +304 -304
  169. package/theme-chalk/calendar/date-table.scss +164 -164
  170. package/theme-chalk/calendar/index.scss +1 -0
  171. package/theme-chalk/calendar/quarter-table.scss +78 -0
  172. package/theme-chalk/checkbox.scss +34 -0
  173. package/theme-chalk/color/index.scss +20 -20
  174. package/theme-chalk/common/transition.scss +142 -142
  175. package/theme-chalk/common/var.scss +1 -1
  176. package/theme-chalk/container.scss +14 -14
  177. package/theme-chalk/dark/css-vars.scss +39 -39
  178. package/theme-chalk/dark/var.scss +225 -225
  179. package/theme-chalk/date-picker.scss +12 -12
  180. package/theme-chalk/drawer.scss +1 -0
  181. package/theme-chalk/footer.scss +12 -12
  182. package/theme-chalk/header.scss +12 -12
  183. package/theme-chalk/index.scss +4 -0
  184. package/theme-chalk/input/input-range.scss +2 -1
  185. package/theme-chalk/input/input.scss +298 -437
  186. package/theme-chalk/input/input.scss--bak +578 -0
  187. package/theme-chalk/input-number.bak +172 -0
  188. package/theme-chalk/input-number.scss +192 -172
  189. package/theme-chalk/link.scss +87 -87
  190. package/theme-chalk/main.scss +14 -14
  191. package/theme-chalk/menu.scss +353 -353
  192. package/theme-chalk/message.scss +104 -178
  193. package/theme-chalk/mixins/_button.scss +224 -224
  194. package/theme-chalk/mixins/_col.scss +33 -33
  195. package/theme-chalk/mixins/_var.scss +67 -67
  196. package/theme-chalk/mixins/config.scss +5 -5
  197. package/theme-chalk/mixins/function.scss +99 -99
  198. package/theme-chalk/mixins/mixins.scss +240 -240
  199. package/theme-chalk/mixins/utils.scss +39 -39
  200. package/theme-chalk/notification.bak +156 -0
  201. package/theme-chalk/notification.scss +109 -156
  202. package/theme-chalk/popper.scss +104 -104
  203. package/theme-chalk/radio-button.scss +169 -169
  204. package/theme-chalk/select/index.scss +222 -191
  205. package/theme-chalk/select/index.scss--bak +247 -0
  206. package/theme-chalk/select/option-group.scss +2 -2
  207. package/theme-chalk/select/option.scss +2 -2
  208. package/theme-chalk/select/select-dropdown.scss +2 -2
  209. package/theme-chalk/space.scss +20 -0
  210. package/theme-chalk/statistic.scss +35 -0
  211. package/theme-chalk/switch.scss +300 -300
  212. package/theme-chalk/tag.scss +150 -172
  213. package/theme-chalk/tag.scss--bak +203 -0
  214. package/theme-chalk/text.scss +48 -0
  215. package/theme-chalk/transition.scss +34 -4
  216. package/theme-chalk/tree-select.scss +41 -25
  217. package/theme-chalk/tree.scss +136 -0
  218. package/theme-chalk/var.scss +83 -83
  219. package/dist/Tree/DirectoryTree.d.ts +0 -15
  220. package/dist/Tree/DirectoryTree.js +0 -183
  221. package/dist/Tree/DropIndicator.d.ts +0 -8
  222. package/dist/Tree/DropIndicator.js +0 -34
  223. package/dist/Tree/Indent.d.ts +0 -9
  224. package/dist/Tree/Indent.js +0 -25
  225. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  226. package/dist/Tree/MotionTreeNode.js +0 -125
  227. package/dist/Tree/NodeList.d.ts +0 -50
  228. package/dist/Tree/NodeList.js +0 -301
  229. package/dist/Tree/RCTree.d.ts +0 -248
  230. package/dist/Tree/RCTree.js +0 -1216
  231. package/dist/Tree/contextTypes.d.ts +0 -69
  232. package/dist/Tree/contextTypes.js +0 -9
  233. package/dist/Tree/typings.tsx--bak +0 -245
  234. package/dist/Tree/useUnmount.d.ts +0 -5
  235. package/dist/Tree/util.d.ts +0 -51
  236. package/dist/Tree/util.js +0 -303
  237. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  238. package/dist/Tree/utils/conductUtil.js +0 -209
  239. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  240. package/dist/Tree/utils/dictUtil.js +0 -75
  241. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  242. package/dist/Tree/utils/diffUtil.js +0 -48
  243. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  244. package/dist/Tree/utils/dropIndicator.js +0 -36
  245. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  246. package/dist/Tree/utils/iconUtil.js +0 -62
  247. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  248. package/dist/Tree/utils/keyUtil.js +0 -3
  249. package/dist/Tree/utils/motion.d.ts +0 -10
  250. package/dist/Tree/utils/motion.js +0 -54
  251. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  252. package/dist/Tree/utils/pickAttrs.js +0 -51
  253. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  254. package/dist/Tree/utils/treeUtil.js +0 -364
  255. package/dist/TreeSelect/Utils.d.ts +0 -3
  256. package/dist/TreeSelect/Utils.js +0 -20
@@ -1,353 +1,353 @@
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
- color: getCssVar('menu-hover-text-color');
38
- }
39
-
40
- @include when(disabled) {
41
- opacity: 0.25;
42
- cursor: not-allowed;
43
- background: none !important;
44
- }
45
- }
46
-
47
- :root {
48
- // They are defined on :root so they can be inherited by sub-menu instead of overwritten
49
- @include set-component-css-var('menu', $menu);
50
- }
51
-
52
- @include b(menu) {
53
- border-right: solid 1px getCssVar('menu-border-color');
54
- list-style: none;
55
- position: relative;
56
- margin: 0;
57
- padding-left: 0;
58
- background-color: getCssVar('menu-bg-color');
59
- box-sizing: border-box;
60
-
61
- @include m(vertical) {
62
- &:not(.#{$namespace}-menu--collapse):not(.#{$namespace}-menu--popup-container) {
63
- & .#{$namespace}-menu-item,
64
- & .#{$namespace}-sub-menu__title,
65
- & .#{$namespace}-menu-item-group__title {
66
- white-space: nowrap;
67
- padding-left: calc(#{getCssVar('menu-base-level-padding')} + #{getCssVar('menu-level')} * #{getCssVar('menu-level-padding')});
68
- }
69
- }
70
- }
71
-
72
- &:not(.#{$namespace}-menu--collapse) .#{$namespace}-sub-menu__title {
73
- padding-right: calc(#{getCssVar('menu-base-level-padding')} + #{getCssVar('menu-icon-width')});
74
- }
75
-
76
- @include m(horizontal) {
77
- display: flex;
78
- flex-wrap: nowrap;
79
- border-right: none;
80
-
81
- height: getCssVar('menu-horizontal-height');
82
-
83
- // reset menu-item popup height
84
- &.#{$namespace}-menu--popup-container {
85
- height: unset;
86
- }
87
-
88
- &.#{$namespace}-menu {
89
- border-bottom: solid 1px getCssVar('menu-border-color');
90
- }
91
-
92
- & > .#{$namespace}-menu-item {
93
- display: inline-flex;
94
- justify-content: center;
95
- align-items: center;
96
-
97
- height: 100%;
98
- margin: 0;
99
- border-bottom: 2px solid transparent;
100
- color: getCssVar('menu-text-color');
101
-
102
- a,
103
- a:hover {
104
- color: inherit;
105
- }
106
- }
107
-
108
- & > .#{$namespace}-sub-menu {
109
- &:focus,
110
- &:hover {
111
- outline: none;
112
- }
113
-
114
- &:hover {
115
- .#{$namespace}-sub-menu__title {
116
- color: getCssVar('menu-hover-text-color');
117
- }
118
- }
119
-
120
- &.is-active {
121
- .#{$namespace}-sub-menu__title {
122
- border-bottom: 2px solid getCssVar('menu-active-color');
123
- color: getCssVar('menu-active-color');
124
- }
125
- }
126
-
127
- & .#{$namespace}-sub-menu__title {
128
- height: 100%;
129
- border-bottom: 2px solid transparent;
130
- color: getCssVar('menu-text-color');
131
-
132
- &:hover {
133
- background-color: getCssVar('menu-bg-color');
134
- }
135
- }
136
- }
137
-
138
- & .#{$namespace}-menu {
139
- & .#{$namespace}-menu-item,
140
- & .#{$namespace}-sub-menu__title {
141
- background-color: getCssVar('menu-bg-color');
142
- display: flex;
143
- align-items: center;
144
- height: getCssVar('menu-horizontal-sub-item-height');
145
- line-height: getCssVar('menu-horizontal-sub-item-height');
146
- padding: 0 10px;
147
- color: getCssVar('menu-text-color');
148
- }
149
-
150
- & .#{$namespace}-sub-menu__title {
151
- padding-right: 40px;
152
- }
153
-
154
- & .#{$namespace}-menu-item.is-active,
155
- & .#{$namespace}-menu-item.is-active:hover,
156
- & .#{$namespace}-sub-menu.is-active > .#{$namespace}-sub-menu__title,
157
- & .#{$namespace}-sub-menu.is-active > .#{$namespace}-sub-menu__title:hover {
158
- color: getCssVar('menu-active-color');
159
- }
160
- }
161
-
162
- & .#{$namespace}-menu-item:not(.is-disabled):hover,
163
- & .#{$namespace}-menu-item:not(.is-disabled):focus {
164
- outline: none;
165
- color: getCssVarWithDefault('menu-active-color', getCssVar('menu-hover-text-color'));
166
- background-color: getCssVar('menu-hover-bg-color');
167
- }
168
-
169
- & > .#{$namespace}-menu-item.is-active {
170
- border-bottom: 2px solid getCssVar('menu-active-color');
171
- color: getCssVar('menu-active-color') !important;
172
- }
173
- }
174
-
175
- @include m(collapse) {
176
- width: calc(#{getCssVar('menu-icon-width')} + #{getCssVar('menu-base-level-padding')} * 2);
177
-
178
- > .#{$namespace}-menu-item,
179
- > .#{$namespace}-sub-menu > .#{$namespace}-sub-menu__title,
180
- > .#{$namespace}-menu-item-group > ul > .#{$namespace}-sub-menu > .#{$namespace}-sub-menu__title {
181
- [class^='#{$namespace}-icon'] {
182
- margin: 0;
183
- vertical-align: middle;
184
- width: getCssVar('menu-icon-width');
185
- text-align: center;
186
- }
187
-
188
- .#{$namespace}-sub-menu__icon-arrow {
189
- display: none;
190
- }
191
-
192
- > span {
193
- height: 0;
194
- width: 0;
195
- overflow: hidden;
196
- visibility: hidden;
197
- display: inline-block;
198
- }
199
- }
200
-
201
- > .#{$namespace}-menu-item.is-active i {
202
- color: inherit;
203
- }
204
-
205
- .#{$namespace}-menu .#{$namespace}-sub-menu {
206
- min-width: 200px;
207
- }
208
-
209
- .#{$namespace}-sub-menu {
210
- &.is-active .#{$namespace}-sub-menu__title {
211
- color: getCssVar('menu-active-color');
212
- }
213
- }
214
- }
215
-
216
- @include m(popup) {
217
- z-index: 100;
218
- min-width: 200px;
219
- border: none;
220
- padding: 5px 0;
221
- border-radius: getCssVar('border-radius-small');
222
- box-shadow: getCssVar('box-shadow-light');
223
- }
224
-
225
- @include m(inline) {
226
- display: none;
227
- }
228
-
229
- .#{$namespace}-icon {
230
- flex-shrink: 0;
231
- }
232
- }
233
-
234
- @include b(menu-item) {
235
- @include menu-item;
236
-
237
- & [class^='#{$namespace}-icon'] {
238
- margin-right: 5px;
239
- width: getCssVar('menu-icon-width');
240
- text-align: center;
241
- font-size: 18px;
242
- vertical-align: middle;
243
- }
244
-
245
- @include when(active) {
246
- color: getCssVar('menu-active-color');
247
-
248
- i {
249
- color: inherit;
250
- }
251
- }
252
-
253
- .#{$namespace}-menu-tooltip__trigger {
254
- position: absolute;
255
- left: 0;
256
- top: 0;
257
- height: 100%;
258
- width: 100%;
259
- display: inline-flex;
260
- align-items: center;
261
- box-sizing: border-box;
262
- padding: 0 getCssVar('menu-base-level-padding');
263
- }
264
- }
265
-
266
- @include b(sub-menu) {
267
- list-style: none;
268
- margin: 0;
269
- padding-left: 0;
270
-
271
- @include e(title) {
272
- @include menu-item;
273
-
274
- &:hover {
275
- background-color: getCssVar('menu-hover-bg-color');
276
- }
277
- }
278
-
279
- &.#{$namespace}-sub-menu__hide-arrow .el-sub-menu__title {
280
- padding-right: var(--el-menu-base-level-padding);
281
- }
282
-
283
- & .#{$namespace}-menu {
284
- border: none;
285
- }
286
-
287
- & .#{$namespace}-menu-item {
288
- height: getCssVar('menu-sub-item-height');
289
- line-height: getCssVar('menu-sub-item-height');
290
- }
291
-
292
- @include e(hide-arrow) {
293
- .#{$namespace}-sub-menu__icon-arrow {
294
- display: none !important;
295
- }
296
- }
297
-
298
- @include when(active) {
299
- .#{$namespace}-sub-menu__title {
300
- border-bottom-color: getCssVar('menu-active-color');
301
- }
302
- }
303
-
304
- @include when(disabled) {
305
- .#{$namespace}-sub-menu__title,
306
- .#{$namespace}-menu-item {
307
- opacity: 0.25;
308
- cursor: not-allowed;
309
- background: none !important;
310
- }
311
- }
312
-
313
- .#{$namespace}-icon {
314
- vertical-align: middle;
315
- margin-right: 5px;
316
- width: getCssVar('menu-icon-width');
317
- text-align: center;
318
- font-size: 18px;
319
-
320
- &.#{$namespace}-sub-menu__icon-more {
321
- margin-right: 0 !important;
322
- }
323
- }
324
-
325
- .#{$namespace}-sub-menu__icon-arrow {
326
- position: absolute;
327
- top: 50%;
328
- right: getCssVar('menu-base-level-padding');
329
- margin-top: -6px;
330
- transition: transform getCssVar('transition-duration');
331
- font-size: 12px;
332
- margin-right: 0;
333
- width: inherit;
334
- }
335
- }
336
-
337
- @include b(menu-item-group) {
338
- > ul {
339
- padding: 0;
340
- }
341
-
342
- @include e(title) {
343
- padding: 7px 0 7px getCssVar('menu-base-level-padding');
344
- line-height: normal;
345
- font-size: 12px;
346
- color: getCssVar('text-color', 'secondary');
347
- }
348
- }
349
-
350
- .horizontal-collapse-transition .#{$namespace}-sub-menu__title .#{$namespace}-sub-menu__icon-arrow {
351
- transition: getCssVar('transition-duration-fast');
352
- opacity: 0;
353
- }
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
+ color: getCssVar('menu-hover-text-color');
38
+ }
39
+
40
+ @include when(disabled) {
41
+ opacity: 0.25;
42
+ cursor: not-allowed;
43
+ background: none !important;
44
+ }
45
+ }
46
+
47
+ :root {
48
+ // They are defined on :root so they can be inherited by sub-menu instead of overwritten
49
+ @include set-component-css-var('menu', $menu);
50
+ }
51
+
52
+ @include b(menu) {
53
+ border-right: solid 1px getCssVar('menu-border-color');
54
+ list-style: none;
55
+ position: relative;
56
+ margin: 0;
57
+ padding-left: 0;
58
+ background-color: getCssVar('menu-bg-color');
59
+ box-sizing: border-box;
60
+
61
+ @include m(vertical) {
62
+ &:not(.#{$namespace}-menu--collapse):not(.#{$namespace}-menu--popup-container) {
63
+ & .#{$namespace}-menu-item,
64
+ & .#{$namespace}-sub-menu__title,
65
+ & .#{$namespace}-menu-item-group__title {
66
+ white-space: nowrap;
67
+ padding-left: calc(#{getCssVar('menu-base-level-padding')} + #{getCssVar('menu-level')} * #{getCssVar('menu-level-padding')});
68
+ }
69
+ }
70
+ }
71
+
72
+ &:not(.#{$namespace}-menu--collapse) .#{$namespace}-sub-menu__title {
73
+ padding-right: calc(#{getCssVar('menu-base-level-padding')} + #{getCssVar('menu-icon-width')});
74
+ }
75
+
76
+ @include m(horizontal) {
77
+ display: flex;
78
+ flex-wrap: nowrap;
79
+ border-right: none;
80
+
81
+ height: getCssVar('menu-horizontal-height');
82
+
83
+ // reset menu-item popup height
84
+ &.#{$namespace}-menu--popup-container {
85
+ height: unset;
86
+ }
87
+
88
+ &.#{$namespace}-menu {
89
+ border-bottom: solid 1px getCssVar('menu-border-color');
90
+ }
91
+
92
+ & > .#{$namespace}-menu-item {
93
+ display: inline-flex;
94
+ justify-content: center;
95
+ align-items: center;
96
+
97
+ height: 100%;
98
+ margin: 0;
99
+ border-bottom: 2px solid transparent;
100
+ color: getCssVar('menu-text-color');
101
+
102
+ a,
103
+ a:hover {
104
+ color: inherit;
105
+ }
106
+ }
107
+
108
+ & > .#{$namespace}-sub-menu {
109
+ &:focus,
110
+ &:hover {
111
+ outline: none;
112
+ }
113
+
114
+ &:hover {
115
+ .#{$namespace}-sub-menu__title {
116
+ color: getCssVar('menu-hover-text-color');
117
+ }
118
+ }
119
+
120
+ &.is-active {
121
+ .#{$namespace}-sub-menu__title {
122
+ border-bottom: 2px solid getCssVar('menu-active-color');
123
+ color: getCssVar('menu-active-color');
124
+ }
125
+ }
126
+
127
+ & .#{$namespace}-sub-menu__title {
128
+ height: 100%;
129
+ border-bottom: 2px solid transparent;
130
+ color: getCssVar('menu-text-color');
131
+
132
+ &:hover {
133
+ background-color: getCssVar('menu-bg-color');
134
+ }
135
+ }
136
+ }
137
+
138
+ & .#{$namespace}-menu {
139
+ & .#{$namespace}-menu-item,
140
+ & .#{$namespace}-sub-menu__title {
141
+ background-color: getCssVar('menu-bg-color');
142
+ display: flex;
143
+ align-items: center;
144
+ height: getCssVar('menu-horizontal-sub-item-height');
145
+ line-height: getCssVar('menu-horizontal-sub-item-height');
146
+ padding: 0 10px;
147
+ color: getCssVar('menu-text-color');
148
+ }
149
+
150
+ & .#{$namespace}-sub-menu__title {
151
+ padding-right: 40px;
152
+ }
153
+
154
+ & .#{$namespace}-menu-item.is-active,
155
+ & .#{$namespace}-menu-item.is-active:hover,
156
+ & .#{$namespace}-sub-menu.is-active > .#{$namespace}-sub-menu__title,
157
+ & .#{$namespace}-sub-menu.is-active > .#{$namespace}-sub-menu__title:hover {
158
+ color: getCssVar('menu-active-color');
159
+ }
160
+ }
161
+
162
+ & .#{$namespace}-menu-item:not(.is-disabled):hover,
163
+ & .#{$namespace}-menu-item:not(.is-disabled):focus {
164
+ outline: none;
165
+ color: getCssVarWithDefault('menu-active-color', getCssVar('menu-hover-text-color'));
166
+ background-color: getCssVar('menu-hover-bg-color');
167
+ }
168
+
169
+ & > .#{$namespace}-menu-item.is-active {
170
+ border-bottom: 2px solid getCssVar('menu-active-color');
171
+ color: getCssVar('menu-active-color') !important;
172
+ }
173
+ }
174
+
175
+ @include m(collapse) {
176
+ width: calc(#{getCssVar('menu-icon-width')} + #{getCssVar('menu-base-level-padding')} * 2);
177
+
178
+ > .#{$namespace}-menu-item,
179
+ > .#{$namespace}-sub-menu > .#{$namespace}-sub-menu__title,
180
+ > .#{$namespace}-menu-item-group > ul > .#{$namespace}-sub-menu > .#{$namespace}-sub-menu__title {
181
+ [class^='#{$namespace}-icon'] {
182
+ margin: 0;
183
+ vertical-align: middle;
184
+ width: getCssVar('menu-icon-width');
185
+ text-align: center;
186
+ }
187
+
188
+ .#{$namespace}-sub-menu__icon-arrow {
189
+ display: none;
190
+ }
191
+
192
+ > span {
193
+ height: 0;
194
+ width: 0;
195
+ overflow: hidden;
196
+ visibility: hidden;
197
+ display: inline-block;
198
+ }
199
+ }
200
+
201
+ > .#{$namespace}-menu-item.is-active i {
202
+ color: inherit;
203
+ }
204
+
205
+ .#{$namespace}-menu .#{$namespace}-sub-menu {
206
+ min-width: 200px;
207
+ }
208
+
209
+ .#{$namespace}-sub-menu {
210
+ &.is-active .#{$namespace}-sub-menu__title {
211
+ color: getCssVar('menu-active-color');
212
+ }
213
+ }
214
+ }
215
+
216
+ @include m(popup) {
217
+ z-index: 100;
218
+ min-width: 200px;
219
+ border: none;
220
+ padding: 5px 0;
221
+ border-radius: getCssVar('border-radius-small');
222
+ box-shadow: getCssVar('box-shadow-light');
223
+ }
224
+
225
+ @include m(inline) {
226
+ display: none;
227
+ }
228
+
229
+ .#{$namespace}-icon {
230
+ flex-shrink: 0;
231
+ }
232
+ }
233
+
234
+ @include b(menu-item) {
235
+ @include menu-item;
236
+
237
+ & [class^='#{$namespace}-icon'] {
238
+ margin-right: 5px;
239
+ width: getCssVar('menu-icon-width');
240
+ text-align: center;
241
+ font-size: 18px;
242
+ vertical-align: middle;
243
+ }
244
+
245
+ @include when(active) {
246
+ color: getCssVar('menu-active-color');
247
+
248
+ i {
249
+ color: inherit;
250
+ }
251
+ }
252
+
253
+ .#{$namespace}-menu-tooltip__trigger {
254
+ position: absolute;
255
+ left: 0;
256
+ top: 0;
257
+ height: 100%;
258
+ width: 100%;
259
+ display: inline-flex;
260
+ align-items: center;
261
+ box-sizing: border-box;
262
+ padding: 0 getCssVar('menu-base-level-padding');
263
+ }
264
+ }
265
+
266
+ @include b(sub-menu) {
267
+ list-style: none;
268
+ margin: 0;
269
+ padding-left: 0;
270
+
271
+ @include e(title) {
272
+ @include menu-item;
273
+
274
+ &:hover {
275
+ background-color: getCssVar('menu-hover-bg-color');
276
+ }
277
+ }
278
+
279
+ &.#{$namespace}-sub-menu__hide-arrow .el-sub-menu__title {
280
+ padding-right: var(--el-menu-base-level-padding);
281
+ }
282
+
283
+ & .#{$namespace}-menu {
284
+ border: none;
285
+ }
286
+
287
+ & .#{$namespace}-menu-item {
288
+ height: getCssVar('menu-sub-item-height');
289
+ line-height: getCssVar('menu-sub-item-height');
290
+ }
291
+
292
+ @include e(hide-arrow) {
293
+ .#{$namespace}-sub-menu__icon-arrow {
294
+ display: none !important;
295
+ }
296
+ }
297
+
298
+ @include when(active) {
299
+ .#{$namespace}-sub-menu__title {
300
+ border-bottom-color: getCssVar('menu-active-color');
301
+ }
302
+ }
303
+
304
+ @include when(disabled) {
305
+ .#{$namespace}-sub-menu__title,
306
+ .#{$namespace}-menu-item {
307
+ opacity: 0.25;
308
+ cursor: not-allowed;
309
+ background: none !important;
310
+ }
311
+ }
312
+
313
+ .#{$namespace}-icon {
314
+ vertical-align: middle;
315
+ margin-right: 5px;
316
+ width: getCssVar('menu-icon-width');
317
+ text-align: center;
318
+ font-size: 18px;
319
+
320
+ &.#{$namespace}-sub-menu__icon-more {
321
+ margin-right: 0 !important;
322
+ }
323
+ }
324
+
325
+ .#{$namespace}-sub-menu__icon-arrow {
326
+ position: absolute;
327
+ top: 50%;
328
+ right: getCssVar('menu-base-level-padding');
329
+ margin-top: -6px;
330
+ transition: transform getCssVar('transition-duration');
331
+ font-size: 12px;
332
+ margin-right: 0;
333
+ width: inherit;
334
+ }
335
+ }
336
+
337
+ @include b(menu-item-group) {
338
+ > ul {
339
+ padding: 0;
340
+ }
341
+
342
+ @include e(title) {
343
+ padding: 7px 0 7px getCssVar('menu-base-level-padding');
344
+ line-height: normal;
345
+ font-size: 12px;
346
+ color: getCssVar('text-color', 'secondary');
347
+ }
348
+ }
349
+
350
+ .horizontal-collapse-transition .#{$namespace}-sub-menu__title .#{$namespace}-sub-menu__icon-arrow {
351
+ transition: getCssVar('transition-duration-fast');
352
+ opacity: 0;
353
+ }