@kdcloudjs/kdesign 1.3.1 → 1.3.4

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 (64) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/kdesign-complete.less +171 -103
  3. package/dist/kdesign.css +163 -74
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +420 -299
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +4 -4
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/button/group.js +2 -1
  11. package/es/button/style/index.css +20 -19
  12. package/es/button/style/index.less +29 -27
  13. package/es/button/style/token.less +4 -4
  14. package/es/cascader/cascader.d.ts +7 -3
  15. package/es/cascader/cascader.js +8 -6
  16. package/es/checkbox/checkbox.js +20 -12
  17. package/es/config-provider/compDefaultProps.d.ts +0 -1
  18. package/es/config-provider/compDefaultProps.js +1 -2
  19. package/es/form/Field.js +53 -9
  20. package/es/grid/row.d.ts +1 -1
  21. package/es/icon/interface.js +1 -1
  22. package/es/menu/menu.d.ts +1 -1
  23. package/es/menu/menu.js +51 -19
  24. package/es/menu/menuItem.d.ts +1 -0
  25. package/es/menu/menuItem.js +14 -10
  26. package/es/menu/style/index.css +139 -53
  27. package/es/menu/style/index.less +101 -69
  28. package/es/menu/style/mixin.less +33 -1
  29. package/es/menu/style/token.less +4 -2
  30. package/es/menu/subMenu.d.ts +1 -1
  31. package/es/menu/subMenu.js +118 -112
  32. package/es/radio/radio.d.ts +1 -1
  33. package/es/radio/radio.js +18 -11
  34. package/es/select/select.js +9 -2
  35. package/es/style/icon/kdicon.css +3 -1
  36. package/es/style/icon/kdicon.woff +0 -0
  37. package/lib/button/group.js +2 -1
  38. package/lib/button/style/index.css +20 -19
  39. package/lib/button/style/index.less +29 -27
  40. package/lib/button/style/token.less +4 -4
  41. package/lib/cascader/cascader.d.ts +7 -3
  42. package/lib/cascader/cascader.js +10 -8
  43. package/lib/checkbox/checkbox.js +19 -11
  44. package/lib/config-provider/compDefaultProps.d.ts +0 -1
  45. package/lib/config-provider/compDefaultProps.js +1 -2
  46. package/lib/form/Field.js +54 -9
  47. package/lib/grid/row.d.ts +1 -1
  48. package/lib/icon/interface.js +1 -1
  49. package/lib/menu/menu.d.ts +1 -1
  50. package/lib/menu/menu.js +57 -23
  51. package/lib/menu/menuItem.d.ts +1 -0
  52. package/lib/menu/menuItem.js +16 -10
  53. package/lib/menu/style/index.css +139 -53
  54. package/lib/menu/style/index.less +101 -69
  55. package/lib/menu/style/mixin.less +33 -1
  56. package/lib/menu/style/token.less +4 -2
  57. package/lib/menu/subMenu.d.ts +1 -1
  58. package/lib/menu/subMenu.js +137 -135
  59. package/lib/radio/radio.d.ts +1 -1
  60. package/lib/radio/radio.js +30 -20
  61. package/lib/select/select.js +9 -2
  62. package/lib/style/icon/kdicon.css +3 -1
  63. package/lib/style/icon/kdicon.woff +0 -0
  64. package/package.json +2 -2
@@ -109,13 +109,37 @@
109
109
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
110
110
  }
111
111
  .light-hover {
112
- background-color: var(--kd-c-menu-light-color-background, var(--kd-g-color-background-ongoing, #f2f9ff));
113
- color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-ongoing, #276ff5));
112
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
113
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
114
+ }
115
+ .light-active {
116
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
117
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
114
118
  }
115
119
  .light-default {
116
120
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
117
121
  background: #ffffff;
118
122
  }
123
+ .light {
124
+ color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
125
+ background: #ffffff;
126
+ }
127
+ .light .kd-menu-submenu-hover,
128
+ .light .kd-menu-submenu-sub {
129
+ color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
130
+ background: #ffffff;
131
+ }
132
+ .light .kd-menu-submenu-title:hover {
133
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
134
+ }
135
+ .light .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover {
136
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
137
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
138
+ }
139
+ .light .kd-menu-item:not(.kd-menu-item-disabled):hover {
140
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
141
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
142
+ }
119
143
  .kd-menu {
120
144
  position: relative;
121
145
  width: 100%;
@@ -138,50 +162,15 @@
138
162
  .kd-menu-inline .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover {
139
163
  color: var(--kd-c-menu-inline-color-active, var(--kd-g-color-white, #fff));
140
164
  }
165
+ .kd-menu-collapsed {
166
+ width: 50px;
167
+ min-width: auto;
168
+ }
141
169
  .kd-menu-vertical .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover,
142
170
  .kd-menu-vertical .kd-menu-submenu-hover {
143
171
  background-color: var(--kd-c-menu-sub-color-background, #121319);
144
172
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
145
173
  }
146
- .kd-menu-vertical .kd-menu-submenu {
147
- padding-right: 0;
148
- }
149
- .kd-menu-vertical .kd-menu-submenu-sub {
150
- background: var(--kd-c-menu-sub-color-background, #121319);
151
- }
152
- .kd-menu-vertical .kd-menu-submenu-sub .kd-menu-item:hover,
153
- .kd-menu-vertical .kd-menu-submenu-sub .kd-menu-item-active {
154
- color: var(--kd-c-menu-sub-color-text-active, var(--kd-g-color-white, #fff));
155
- }
156
- .kd-menu-vertical .kd-menu-submenu-sub-second,
157
- .kd-menu-vertical .kd-menu-submenu-sub-third {
158
- -webkit-animation: kdZoomTopLeftIn calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
159
- animation: kdZoomTopLeftIn calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
160
- opacity: 1;
161
- visibility: visible;
162
- -webkit-transition: opacity, visibility;
163
- transition: opacity, visibility;
164
- -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
165
- transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
166
- -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
167
- transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
168
- }
169
- .kd-menu-vertical .kd-menu-submenu-sub-hide {
170
- opacity: 0;
171
- visibility: hidden;
172
- -webkit-animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
173
- animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
174
- -webkit-transition: opacity, visibility;
175
- transition: opacity, visibility;
176
- -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
177
- transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
178
- -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
179
- transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
180
- }
181
- .kd-menu-collapsed {
182
- width: 50px;
183
- min-width: auto;
184
- }
185
174
  .kd-menu-light {
186
175
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
187
176
  background: #ffffff;
@@ -192,32 +181,28 @@
192
181
  background: #ffffff;
193
182
  }
194
183
  .kd-menu-light .kd-menu-submenu-title:hover {
195
- color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-ongoing, #276ff5));
184
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
196
185
  }
197
186
  .kd-menu-light .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover {
198
- color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
199
- background: #ffffff;
200
- }
201
- .kd-menu-light .kd-menu-item-active {
202
- background-color: var(--kd-c-menu-light-color-background, var(--kd-g-color-background-ongoing, #f2f9ff));
203
- color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-ongoing, #276ff5));
187
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
188
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
204
189
  }
205
190
  .kd-menu-light .kd-menu-item:not(.kd-menu-item-disabled):hover {
206
- background-color: var(--kd-c-menu-light-color-background, var(--kd-g-color-background-ongoing, #f2f9ff));
207
- color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-ongoing, #276ff5));
191
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
192
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
208
193
  }
209
194
  .kd-menu-light.kd-menu-vertical .kd-menu-submenu-sub {
210
195
  -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
211
196
  box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
212
197
  }
213
198
  .kd-menu-light.kd-menu-vertical .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover {
214
- color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-ongoing, #276ff5));
215
- background: #fff;
199
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
200
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
216
201
  border: none;
217
202
  }
218
203
  .kd-menu-light.kd-menu-vertical .kd-menu-item-active {
219
204
  color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
220
- background-color: var(--kd-c-menu-light-color-background, var(--kd-g-color-background-ongoing, #f2f9ff));
205
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
221
206
  border: none !important;
222
207
  }
223
208
  .kd-menu-item {
@@ -383,6 +368,7 @@
383
368
  transition: transform calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0.4, 0, 0.6, 1), -webkit-transform calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
384
369
  }
385
370
  .kd-menu-submenu-hover {
371
+ background-color: var(--kd-c-menu-sub-color-background, #121319);
386
372
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
387
373
  }
388
374
  .kd-menu-submenu-sub {
@@ -488,3 +474,103 @@
488
474
  .kd-menu-dark .kd-menu-submenu-sub-third {
489
475
  background: var(--kd-c-menu-sub-color-background, #121319);
490
476
  }
477
+ .kd-menu-light .kd-menu-submenu-active,
478
+ .kd-menu-light .kd-menu-item-active {
479
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
480
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
481
+ }
482
+ .kd-menu-popper .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover,
483
+ .kd-menu-popper .kd-menu-submenu-hover {
484
+ background-color: var(--kd-c-menu-sub-color-background, #121319);
485
+ color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
486
+ }
487
+ .kd-menu-popper.hidden {
488
+ opacity: 0;
489
+ visibility: hidden;
490
+ display: none;
491
+ -webkit-animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
492
+ animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
493
+ -webkit-transition: opacity, visibility;
494
+ transition: opacity, visibility;
495
+ -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
496
+ transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
497
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
498
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
499
+ }
500
+ .kd-menu-popper .kd-menu-submenu {
501
+ padding-right: 0;
502
+ }
503
+ .kd-menu-popper .kd-menu-submenu-sub {
504
+ background: var(--kd-c-menu-sub-inline-color-background, #1f212b);
505
+ }
506
+ .kd-menu-popper .kd-menu-submenu-sub .kd-menu-item:hover,
507
+ .kd-menu-popper .kd-menu-submenu-sub .kd-menu-item-active {
508
+ color: var(--kd-c-menu-sub-color-text-active, var(--kd-g-color-white, #fff));
509
+ }
510
+ .kd-menu-popper .kd-menu-submenu-sub-second,
511
+ .kd-menu-popper .kd-menu-submenu-sub-third {
512
+ -webkit-animation: kdZoomTopLeftIn calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
513
+ animation: kdZoomTopLeftIn calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
514
+ opacity: 1;
515
+ visibility: visible;
516
+ -webkit-transition: opacity, visibility;
517
+ transition: opacity, visibility;
518
+ -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
519
+ transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
520
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
521
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
522
+ }
523
+ .kd-menu-popper .kd-menu-submenu-sub-hide {
524
+ opacity: 0;
525
+ visibility: hidden;
526
+ -webkit-animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
527
+ animation: kdZoomTopLeftOut calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s) cubic-bezier(0, 0.4, 0.4, 1) forwards;
528
+ -webkit-transition: opacity, visibility;
529
+ transition: opacity, visibility;
530
+ -webkit-transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
531
+ transition-duration: calc(var(--kd-c-menu-motion-duration, var(--kd-g-duration, 0.3s)) - 0.1s);
532
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
533
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
534
+ }
535
+ .kd-menu-popper.light {
536
+ color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
537
+ background: #ffffff;
538
+ }
539
+ .kd-menu-popper.light .kd-menu-submenu-hover,
540
+ .kd-menu-popper.light .kd-menu-submenu-sub {
541
+ color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
542
+ background: #ffffff;
543
+ }
544
+ .kd-menu-popper.light .kd-menu-submenu-title:hover {
545
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
546
+ }
547
+ .kd-menu-popper.light .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover {
548
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
549
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
550
+ }
551
+ .kd-menu-popper.light .kd-menu-item:not(.kd-menu-item-disabled):hover {
552
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
553
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
554
+ }
555
+ .kd-menu-popper.light .kd-menu-submenu-sub {
556
+ -webkit-box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
557
+ box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
558
+ }
559
+ .kd-menu-popper.light .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover,
560
+ .kd-menu-popper.light .kd-menu-submenu:not(.kd-menu-submenu-disabled):hover {
561
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
562
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
563
+ border: none;
564
+ }
565
+ .kd-menu-popper.light .kd-menu-item-hover,
566
+ .kd-menu-popper.light .kd-menu-submenu-hover {
567
+ background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
568
+ color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
569
+ border: none;
570
+ }
571
+ .kd-menu-popper.light .kd-menu-item-active,
572
+ .kd-menu-popper.light .kd-menu-submenu-active {
573
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
574
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
575
+ border: none;
576
+ }
@@ -4,6 +4,9 @@
4
4
 
5
5
  @menu-prefix-cls: ~'@{kd-prefix}-menu';
6
6
  @menuitem-prefix-cls: ~'@{menu-prefix-cls}-item';
7
+ @menu-dark-prefix-cls: ~'@{menu-prefix-cls}-dark';
8
+ @menu-light-prefix-cls: ~'@{menu-prefix-cls}-light';
9
+ @menu-popper-prefix-cls: ~'@{menu-prefix-cls}-popper';
7
10
  @submenu-prefix-cls: ~'@{menu-prefix-cls}-submenu';
8
11
 
9
12
  .@{menu-prefix-cls} {
@@ -27,77 +30,20 @@
27
30
  }
28
31
  }
29
32
 
33
+ &-collapsed {
34
+ width: 50px;
35
+ min-width: auto;
36
+ }
37
+
30
38
  &-vertical {
31
39
  .@{submenu-prefix-cls}:not(.@{submenu-prefix-cls}-disabled):hover,
32
40
  .@{submenu-prefix-cls}-hover {
33
41
  .hover();
34
42
  }
35
-
36
- .@{submenu-prefix-cls} {
37
- padding-right: 0;
38
-
39
- &-sub {
40
- background: @menu-sub-color-background;
41
-
42
- .@{menuitem-prefix-cls} {
43
- &:hover,
44
- &-active {
45
- color: @menu-sub-color-active;
46
- }
47
- }
48
-
49
- &-second,
50
- &-third {
51
- animation: kdZoomTopLeftIn calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
52
- opacity: 1;
53
- visibility: visible;
54
- transition: opacity, visibility;
55
- transition-duration: calc(@menu-motion-duration - 0.1s);
56
- transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
57
- }
58
-
59
- &-hide {
60
- opacity: 0;
61
- visibility: hidden;
62
- animation: kdZoomTopLeftOut calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
63
- transition: opacity, visibility;
64
- transition-duration: calc(@menu-motion-duration - 0.1s);
65
- transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
66
- }
67
- }
68
- }
69
- }
70
-
71
- &-collapsed {
72
- width: 50px;
73
- min-width: auto;
74
43
  }
75
44
 
76
45
  &-light {
77
- .light-default;
78
-
79
- .@{submenu-prefix-cls}-hover,
80
- .@{submenu-prefix-cls}-sub {
81
- .light-default;
82
- }
83
-
84
- .@{submenu-prefix-cls}-title:hover {
85
- color: @menu-light-color-hover;
86
- }
87
-
88
- .@{submenu-prefix-cls}:not(.@{submenu-prefix-cls}-disabled):hover {
89
- .light-default;
90
- }
91
-
92
- .@{menuitem-prefix-cls} {
93
- &-active {
94
- .light-hover();
95
- }
96
- }
97
-
98
- .@{menuitem-prefix-cls}:not(.@{menuitem-prefix-cls}-disabled):hover {
99
- .light-hover();
100
- }
46
+ .light()
101
47
  }
102
48
 
103
49
  &-light&-vertical {
@@ -108,14 +54,13 @@
108
54
 
109
55
  .@{menuitem-prefix-cls} {
110
56
  &:not(.@{menuitem-prefix-cls}-disabled):not(.@{menuitem-prefix-cls}-active):hover {
111
- color: @menu-light-color-hover;
112
- background: #fff;
57
+ .light-hover();
113
58
  border: none;
114
59
  }
115
60
 
116
61
  &-active {
117
62
  color: @menu-light-color-active;
118
- background-color: @menu-light-color-background;
63
+ background-color: @menu-light-color-background-active;
119
64
  border: none !important;
120
65
  }
121
66
  }
@@ -142,7 +87,7 @@
142
87
  transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
143
88
 
144
89
  &-hover {
145
- color: @menu-sub-color-hover;
90
+ .hover();
146
91
  }
147
92
 
148
93
  &-sub {
@@ -223,15 +168,102 @@
223
168
  }
224
169
  }
225
170
 
226
- .@{menu-prefix-cls}-dark {
171
+ .@{menu-dark-prefix-cls} {
227
172
  .@{submenu-prefix-cls}-sub {
228
173
  background: @menu-sub-inline-color-background;
229
174
  }
230
175
 
231
- .@{submenu-prefix-cls}-sub-second,.@{submenu-prefix-cls}-sub-third {
176
+ .@{submenu-prefix-cls}-sub-second, .@{submenu-prefix-cls}-sub-third {
232
177
  background: @menu-sub-color-background;
233
178
  }
234
179
  }
235
180
 
181
+ .@{menu-light-prefix-cls} {
182
+ .@{submenu-prefix-cls}-active,.@{menuitem-prefix-cls}-active {
183
+ .light-active()
184
+ }
185
+ }
186
+
187
+ .@{menu-popper-prefix-cls} {
188
+ .@{submenu-prefix-cls}:not(.@{submenu-prefix-cls}-disabled):hover,
189
+ .@{submenu-prefix-cls}-hover {
190
+ .hover();
191
+ }
192
+
193
+ &.hidden {
194
+ opacity: 0;
195
+ visibility: hidden;
196
+ display: none;
197
+ animation: kdZoomTopLeftOut calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
198
+ transition: opacity, visibility;
199
+ transition-duration: calc(@menu-motion-duration - 0.1s);
200
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
201
+ }
202
+
203
+ .@{submenu-prefix-cls} {
204
+ padding-right: 0;
205
+
206
+ &-sub {
207
+ background: @menu-sub-inline-color-background;
208
+
209
+ .@{menuitem-prefix-cls} {
210
+ &:hover,
211
+ &-active {
212
+ color: @menu-sub-color-active;
213
+ }
214
+ }
215
+
216
+ &-second,
217
+ &-third {
218
+ animation: kdZoomTopLeftIn calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
219
+ opacity: 1;
220
+ visibility: visible;
221
+ transition: opacity, visibility;
222
+ transition-duration: calc(@menu-motion-duration - 0.1s);
223
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
224
+ }
225
+
226
+ &-hide {
227
+ opacity: 0;
228
+ visibility: hidden;
229
+ animation: kdZoomTopLeftOut calc(@menu-motion-duration - 0.1s) cubic-bezier(0, .4, .4, 1) forwards;
230
+ transition: opacity, visibility;
231
+ transition-duration: calc(@menu-motion-duration - 0.1s);
232
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
233
+ }
234
+ }
235
+ }
236
+
237
+ &.light {
238
+ .light();
239
+
240
+ .@{submenu-prefix-cls}-sub {
241
+ box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),
242
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05);
243
+ }
244
+
245
+ .@{menuitem-prefix-cls}:not(.@{menuitem-prefix-cls}-disabled):not(.@{menuitem-prefix-cls}-active):hover,
246
+ .@{submenu-prefix-cls}:not(.@{submenu-prefix-cls}-disabled):hover {
247
+ .light-hover();
248
+ border: none;
249
+ }
250
+
251
+ .@{menuitem-prefix-cls}-hover,.@{submenu-prefix-cls}-hover {
252
+ .light-hover();
253
+ border: none;
254
+ }
255
+
256
+ .@{menuitem-prefix-cls}-active,.@{submenu-prefix-cls}-active {
257
+ .light-active();
258
+ border: none;
259
+ }
260
+ }
261
+ }
262
+
263
+
264
+
265
+
266
+
267
+
236
268
 
237
269
 
@@ -1,5 +1,10 @@
1
1
  @import './token.less';
2
2
 
3
+ @menu-prefix-cls: ~'@{kd-prefix}-menu';
4
+ @menuitem-prefix-cls: ~'@{menu-prefix-cls}-item';
5
+ @menu-vertical-prefix-cls: ~'@{menu-prefix-cls}-vertical';
6
+ @submenu-prefix-cls: ~'@{menu-prefix-cls}-submenu';
7
+
3
8
  // 菜单默认样式
4
9
  .menu() {
5
10
  position: relative;
@@ -77,10 +82,15 @@
77
82
  }
78
83
 
79
84
  .light-hover {
80
- background-color: @menu-light-color-background;
85
+ background-color: @menu-light-color-background-hover;
81
86
  color: @menu-light-color-hover;
82
87
  }
83
88
 
89
+ .light-active {
90
+ background-color: @menu-light-color-background-active;
91
+ color: @menu-light-color-active;
92
+ }
93
+
84
94
  .light-default {
85
95
  color: @menu-light-color;
86
96
  background: #ffffff;
@@ -95,3 +105,25 @@
95
105
  .ellipsis();
96
106
  }
97
107
  }
108
+
109
+
110
+ .light {
111
+ .light-default();
112
+
113
+ .@{submenu-prefix-cls}-hover,
114
+ .@{submenu-prefix-cls}-sub {
115
+ .light-default();
116
+ }
117
+
118
+ .@{submenu-prefix-cls}-title:hover {
119
+ color: @menu-light-color-hover;
120
+ }
121
+
122
+ .@{submenu-prefix-cls}:not(.@{submenu-prefix-cls}-disabled):hover {
123
+ .light-hover();
124
+ }
125
+
126
+ .@{menuitem-prefix-cls}:not(.@{menuitem-prefix-cls}-disabled):hover {
127
+ .light-hover();
128
+ }
129
+ }
@@ -11,10 +11,12 @@
11
11
  @menu-sub-inline-color-background: var(~'@{menu-prefix}-sub-inline-color-background', #1f212b);
12
12
  @menu-inline-color-active: var(~'@{menu-prefix}-inline-color-active', @color-white);
13
13
  @menu-color-background: var(~'@{menu-prefix}-color-background', #343848);
14
+
14
15
  @menu-light-color: var(~'@{menu-prefix}-light-color-text', @color-text-primary);
15
- @menu-light-color-hover: var(~'@{menu-prefix}-light-color-text-hover', @color-ongoing);
16
+ @menu-light-color-hover: var(~'@{menu-prefix}-light-color-text-hover', @color-text-primary);
16
17
  @menu-light-color-active: var(~'@{menu-prefix}-light-color-text-active', @color-theme);
17
- @menu-light-color-background: var(~'@{menu-prefix}-light-color-background', @color-background-ongoing);
18
+ @menu-light-color-background-hover: var(~'@{menu-prefix}-light-color-background-hover', #f5f5f5);
19
+ @menu-light-color-background-active: var(~'@{menu-prefix}-light-color-background-active', #e3ebff);
18
20
 
19
21
  // font
20
22
  @menu-icon-font-size: var(~'@{menu-prefix}-icon-font-size', @font-size-xx-large);
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  export interface MenuSubMenuProps extends React.HTMLAttributes<HTMLElement> {
3
3
  disabled?: boolean;
4
4
  icon?: React.ReactNode;