@kdcloudjs/kdesign 1.3.9 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/kdesign-complete.less +89 -44
  3. package/dist/kdesign.css +98 -55
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +418 -262
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/carousel/carousel.js +4 -4
  11. package/es/config-provider/compDefaultProps.d.ts +0 -1
  12. package/es/config-provider/compDefaultProps.js +0 -1
  13. package/es/date-picker/range-picker.d.ts +1 -0
  14. package/es/date-picker/range-picker.js +2 -0
  15. package/es/date-picker/style/index.css +6 -3
  16. package/es/date-picker/style/index.less +7 -3
  17. package/es/dropdown/style/index.css +3 -0
  18. package/es/dropdown/style/index.less +4 -0
  19. package/es/dropdown/style/token.less +1 -0
  20. package/es/input/style/index.css +8 -0
  21. package/es/input/style/index.less +4 -0
  22. package/es/input/style/mixin.less +6 -1
  23. package/es/menu/menu.d.ts +1 -0
  24. package/es/menu/menu.js +13 -14
  25. package/es/menu/menuItem.js +13 -3
  26. package/es/menu/style/index.css +50 -50
  27. package/es/menu/style/index.less +15 -15
  28. package/es/menu/style/mixin.less +24 -24
  29. package/es/menu/subMenu.js +19 -13
  30. package/es/radio/radio.js +6 -1
  31. package/es/tree/style/index.css +30 -1
  32. package/es/tree/style/index.less +25 -1
  33. package/es/tree/style/token.less +3 -0
  34. package/es/tree/tree.d.ts +2 -0
  35. package/es/tree/tree.js +77 -12
  36. package/es/tree/treeHooks.d.ts +1 -1
  37. package/es/tree/treeHooks.js +3 -3
  38. package/es/tree/treeNode.d.ts +1 -0
  39. package/es/tree/treeNode.js +11 -8
  40. package/es/tree/utils/treeUtils.d.ts +4 -2
  41. package/es/tree/utils/treeUtils.js +64 -10
  42. package/lib/carousel/carousel.js +4 -4
  43. package/lib/config-provider/compDefaultProps.d.ts +0 -1
  44. package/lib/config-provider/compDefaultProps.js +0 -1
  45. package/lib/date-picker/range-picker.d.ts +1 -0
  46. package/lib/date-picker/range-picker.js +2 -0
  47. package/lib/date-picker/style/index.css +6 -3
  48. package/lib/date-picker/style/index.less +7 -3
  49. package/lib/dropdown/style/index.css +3 -0
  50. package/lib/dropdown/style/index.less +4 -0
  51. package/lib/dropdown/style/token.less +1 -0
  52. package/lib/input/style/index.css +8 -0
  53. package/lib/input/style/index.less +4 -0
  54. package/lib/input/style/mixin.less +6 -1
  55. package/lib/menu/menu.d.ts +1 -0
  56. package/lib/menu/menu.js +13 -14
  57. package/lib/menu/menuItem.js +15 -3
  58. package/lib/menu/style/index.css +50 -50
  59. package/lib/menu/style/index.less +15 -15
  60. package/lib/menu/style/mixin.less +24 -24
  61. package/lib/menu/subMenu.js +21 -14
  62. package/lib/radio/radio.js +7 -1
  63. package/lib/tree/style/index.css +30 -1
  64. package/lib/tree/style/index.less +25 -1
  65. package/lib/tree/style/token.less +3 -0
  66. package/lib/tree/tree.d.ts +2 -0
  67. package/lib/tree/tree.js +79 -11
  68. package/lib/tree/treeHooks.d.ts +1 -1
  69. package/lib/tree/treeHooks.js +3 -3
  70. package/lib/tree/treeNode.d.ts +1 -0
  71. package/lib/tree/treeNode.js +11 -8
  72. package/lib/tree/utils/treeUtils.d.ts +4 -2
  73. package/lib/tree/utils/treeUtils.js +71 -13
  74. package/package.json +1 -1
@@ -91,7 +91,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
91
91
  setCurrentIndex(index);
92
92
  setNeedAnimation(needAnimation);
93
93
  }
94
- }, [isFadeEffect, beforeChange, currentIndex, children.length]);
94
+ }, [isFadeEffect, beforeChange, currentIndex, children === null || children === void 0 ? void 0 : children.length]);
95
95
  var next = React.useCallback(function () {
96
96
  jumpTo(currentIndex + 1, true);
97
97
  }, [currentIndex, jumpTo]);
@@ -181,7 +181,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
181
181
  setNeedAnimation(true);
182
182
  }, [beforeChange, currentIndex]);
183
183
  var handleTransitionEnd = React.useCallback(function () {
184
- if (!autoplay) return;
184
+ if (!autoplay || !(children === null || children === void 0 ? void 0 : children.length)) return;
185
185
  var childrenL = children.length;
186
186
  var newCurrentIndex = currentIndex;
187
187
 
@@ -198,7 +198,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
198
198
  afterChange && afterChange(currentIndex);
199
199
  setCurrentIndex(newCurrentIndex);
200
200
  isScrollxEffect && setNeedAnimation(false);
201
- }, [currentIndex, children.length, afterChange, isScrollxEffect, autoplay]);
201
+ }, [currentIndex, children === null || children === void 0 ? void 0 : children.length, afterChange, isScrollxEffect, autoplay]);
202
202
  var handleMouseEnter = React.useCallback(function () {
203
203
  autoplayRef.current && clearTimeout(autoplayRef.current);
204
204
  }, []);
@@ -246,7 +246,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
246
246
  style: style,
247
247
  onMouseEnter: handleMouseEnter,
248
248
  onMouseLeave: handleMouseLeave
249
- }, renderDisplayList(), showDot() && /*#__PURE__*/React.createElement(Slidebar, {
249
+ }, (children === null || children === void 0 ? void 0 : children.length) && renderDisplayList(), (children === null || children === void 0 ? void 0 : children.length) && showDot() && /*#__PURE__*/React.createElement(Slidebar, {
250
250
  number: children.length,
251
251
  currentIndex: currentIndex,
252
252
  dotsClassName: dots,
@@ -210,7 +210,6 @@ declare const compDefaultProps: {
210
210
  strokeWidth: number;
211
211
  };
212
212
  Radio: {
213
- checked: boolean;
214
213
  defaultChecked: boolean;
215
214
  disabled: boolean;
216
215
  };
@@ -217,7 +217,6 @@ var compDefaultProps = {
217
217
  strokeWidth: 4
218
218
  },
219
219
  Radio: {
220
- checked: false,
221
220
  defaultChecked: false,
222
221
  disabled: false
223
222
  },
@@ -17,6 +17,7 @@ export interface RangePickerSharedProps {
17
17
  ranges?: Record<string, DateType[] | (() => DateType[])>;
18
18
  separator?: React.ReactNode;
19
19
  allowEmpty?: [boolean, boolean];
20
+ suffixIcon?: React.ReactNode;
20
21
  mode?: [PanelMode, PanelMode];
21
22
  onChange?: (values: RangeValue, formatString: [string | null, string | null]) => void;
22
23
  onCalendarChange?: (values: RangeValue, formatString: [string | null, string | null], info: RangeInfo) => void;
@@ -104,6 +104,7 @@ function DatePicker(props) {
104
104
  minuteStep = _datePickerProps$minu === void 0 ? 1 : _datePickerProps$minu,
105
105
  _datePickerProps$seco = datePickerProps.secondStep,
106
106
  secondStep = _datePickerProps$seco === void 0 ? 1 : _datePickerProps$seco,
107
+ suffixIcon = datePickerProps.suffixIcon,
107
108
  renderExtraFooter = datePickerProps.renderExtraFooter,
108
109
  disabledHours = datePickerProps.disabledHours,
109
110
  disabledMinutes = datePickerProps.disabledMinutes,
@@ -675,6 +676,7 @@ function DatePicker(props) {
675
676
  startOpen: startOpen,
676
677
  endOpen: endOpen,
677
678
  needConfirmButton: needConfirmButton,
679
+ suffixIcon: suffixIcon,
678
680
  format: _format,
679
681
  open: mergedOpen,
680
682
  readOnly: inputReadOnly,
@@ -128,7 +128,7 @@
128
128
  right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 1px);
129
129
  }
130
130
  .kd-date-picker-small.kd-date-picker-range .kd-date-picker-clear {
131
- right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 9px);
131
+ right: calc(var(--kd-c-date-picker-small-font-size, var(--kd-g-font-size-small, 12px)) + 12px);
132
132
  }
133
133
  .kd-date-picker-large {
134
134
  height: var(--kd-c-date-picker-large-sizing-height, 36px);
@@ -158,7 +158,7 @@
158
158
  right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 1px);
159
159
  }
160
160
  .kd-date-picker-middle.kd-date-picker-range .kd-date-picker-clear {
161
- right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 9px);
161
+ right: calc(var(--kd-c-date-picker-middle-font-size, var(--kd-g-font-size-middle, 14px)) + 11px);
162
162
  }
163
163
  .kd-date-picker-borderless {
164
164
  border: 0;
@@ -276,7 +276,7 @@
276
276
  -ms-flex-item-align: center;
277
277
  align-self: center;
278
278
  margin-left: var(--kd-c-date-picker-suffix-spacing-margin-left, 10px);
279
- color: var(--kd-c-date-picker-icon-color, var(--kd-g-color-disabled, #b2b2b2));
279
+ color: var(--kd-c-date-picker-input-color, var(--kd-g-color-text-secondary, #666));
280
280
  line-height: 1;
281
281
  pointer-events: none;
282
282
  }
@@ -286,6 +286,9 @@
286
286
  .kd-date-picker:hover .kd-date-picker-clear {
287
287
  opacity: 1;
288
288
  }
289
+ .kd-date-picker:hover .kd-date-picker-suffix {
290
+ color: var(--kd-c-date-picker-color-background-checked, var(--kd-g-color-theme, #5582f3));
291
+ }
289
292
  .kd-date-picker-clear {
290
293
  position: absolute;
291
294
  top: 50%;
@@ -27,7 +27,7 @@
27
27
  }
28
28
 
29
29
  &.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
30
- right: calc(@date-small-font-size + 9px);
30
+ right: calc(@date-small-font-size + 12px);
31
31
  }
32
32
  }
33
33
 
@@ -59,7 +59,7 @@
59
59
  }
60
60
 
61
61
  &.@{datePicker-prefix-cls}-range .@{datePicker-prefix-cls}-clear {
62
- right: calc(@date-middle-font-size + 9px);
62
+ right: calc(@date-middle-font-size + 11px);
63
63
  }
64
64
  }
65
65
 
@@ -131,7 +131,7 @@
131
131
  &-suffix {
132
132
  align-self: center;
133
133
  margin-left: @date-suffix-spacing-margin-left;
134
- color: @date-icon-color;
134
+ color: @date-input-color;
135
135
  line-height: 1;
136
136
  pointer-events: none;
137
137
 
@@ -144,6 +144,10 @@
144
144
  .@{datePicker-prefix-cls}-clear {
145
145
  opacity: 1;
146
146
  }
147
+
148
+ .@{datePicker-prefix-cls}-suffix {
149
+ color: @date-color-background-checked;
150
+ }
147
151
  }
148
152
 
149
153
  &-clear {
@@ -229,6 +229,9 @@
229
229
  .kd-dropdown-menu-item:not(.disabled):hover {
230
230
  background-color: var(--kd-c-dropdown-item-color-background-hover, var(--kd-g-color-hover, #f5f5f5));
231
231
  }
232
+ .kd-dropdown-menu-item:not(.disabled):hover > a {
233
+ color: var(--kd-c-dropdown-item-color-text-hover, var(--kd-g-color-text-primary, #212121));
234
+ }
232
235
  .kd-dropdown-menu-item:not(.disabled):active,
233
236
  .kd-dropdown-menu-item:not(.disabled).selected {
234
237
  color: var(--kd-g-color-theme, #5582f3);
@@ -72,6 +72,10 @@
72
72
  transition: background-color @duration-promptly;
73
73
  &:not(.disabled):hover {
74
74
  background-color: @dropdown-item-hover-bg-color;
75
+
76
+ > a {
77
+ color: @dropdown-item-hover-color-text;
78
+ }
75
79
  }
76
80
 
77
81
  &:not(.disabled):active,
@@ -8,6 +8,7 @@
8
8
  @dropdown-item-color-disabled: var(~'@{dropdown-custom-prefix}-item-color-text-disabled', @color-disabled);
9
9
  @dropdown-item-color-text-danger: var(~'@{dropdown-custom-prefix}-item-color-text-danger', @color-error);
10
10
  @dropdown-item-color-background-danger-hover: var(~'@{dropdown-custom-prefix}-item-color-background-danger-hover', @color-error);
11
+ @dropdown-item-hover-color-text: var(~'@{dropdown-custom-prefix}-item-color-text-hover', @color-text-primary);
11
12
  @dropdown-divided-color-bg: var(~'@{dropdown-custom-prefix}-divided-color-background', @color-border-weak);
12
13
  @dropdown-color: var(~'@{dropdown-custom-prefix}-menu-item-color-text', @color-text-primary);
13
14
 
@@ -356,6 +356,10 @@ textarea {
356
356
  .kd-input-wrapper-focused {
357
357
  border-color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
358
358
  }
359
+ .kd-input-wrapper-focused .kd-input-clear-icon,
360
+ .kd-input-wrapper-focused .kd-input-textarea-clear-icon {
361
+ color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
362
+ }
359
363
  .kd-input-wrapper-textarea {
360
364
  width: 100%;
361
365
  min-width: 0;
@@ -404,6 +408,10 @@ textarea {
404
408
  .kd-input-clear-icon,
405
409
  .kd-input-textarea-clear-icon {
406
410
  cursor: pointer;
411
+ color: var(--kd-c-input-color-border, #999);
412
+ }
413
+ .kd-input-clear-icon:hover,
414
+ .kd-input-textarea-clear-icon:hover {
407
415
  color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
408
416
  }
409
417
  .kd-input-clear-icon i,
@@ -121,6 +121,10 @@ textarea {
121
121
 
122
122
  &-focused {
123
123
  border-color: @input-border-color-focused;
124
+
125
+ .@{input-prefix-cls}-clear-icon, .@{input-prefix-cls}-textarea-clear-icon {
126
+ color: @input-border-color-focused;
127
+ }
124
128
  }
125
129
  }
126
130
  &-wrapper-textarea {
@@ -47,7 +47,12 @@
47
47
 
48
48
  .input-clear-icon() {
49
49
  cursor: pointer;
50
- color: @input-border-color-focused;
50
+ color: @input-color-border;
51
+
52
+ &:hover {
53
+ color: @input-border-color-focused;
54
+ }
55
+
51
56
  i {
52
57
  vertical-align: middle;
53
58
  font-size: 12px !important;
package/es/menu/menu.d.ts CHANGED
@@ -15,6 +15,7 @@ export interface MenuProps extends React.HTMLAttributes<HTMLElement> {
15
15
  additionalTools?: React.ReactNode;
16
16
  onOpenChange?: SubMenuChangeEventHandler;
17
17
  theme?: MenuTheme;
18
+ accordion?: boolean;
18
19
  }
19
20
  interface MenuType extends React.FC<MenuProps> {
20
21
  Item: typeof MenuItem;
package/es/menu/menu.js CHANGED
@@ -60,10 +60,12 @@ var Menu = function Menu(props) {
60
60
  className = _b.className,
61
61
  theme = _b.theme,
62
62
  collapsed = _b.collapsed,
63
- restProps = __rest(_b, ["prefixCls", "mode", "inlineIndent", "forceSubMenuRender", "additionalTools", "onClick", "onOpenChange", "children", "className", "theme", "collapsed"]);
63
+ accordion = _b.accordion,
64
+ restProps = __rest(_b, ["prefixCls", "mode", "inlineIndent", "forceSubMenuRender", "additionalTools", "onClick", "onOpenChange", "children", "className", "theme", "collapsed", "accordion"]);
64
65
 
65
66
  var prefixCls = getPrefixCls(pkgPrefixCls, 'menu', customPrefixcls);
66
- devWarning(['inline', 'vertical', undefined].indexOf(mode) === -1, 'menu', "cannot found menu mode '".concat(mode, "'")); // const [collapsed, setCollapsed] = React.useState<boolean | undefined>(restProps.collapsed)
67
+ devWarning(['inline', 'vertical', undefined].indexOf(mode) === -1, 'menu', "cannot found menu mode '".concat(mode, "'"));
68
+ devWarning(mode !== 'inline' && accordion !== undefined, 'menu', "'accordion' is valid only in mode='inline'");
67
69
 
68
70
  var _React$useState = React.useState(''),
69
71
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -98,26 +100,18 @@ var Menu = function Menu(props) {
98
100
  useEffect(function () {
99
101
  if (userOpenKeys !== undefined && Array.isArray(userOpenKeys)) {
100
102
  setOpenKeys(userOpenKeys);
101
- }
102
- }, [userOpenKeys]);
103
- useEffect(function () {
104
- if (userSelectedKey !== undefined && userOpenKeys !== undefined && Array.isArray(userOpenKeys)) {
105
- setSelectedKeyPath(userOpenKeys);
106
- setTimeout(function () {
107
- userOpenKeys.forEach(function (d) {
108
- openSubMenuSet.add(d);
109
- });
103
+ openSubMenuSet.clear();
104
+ userOpenKeys.forEach(function (d) {
105
+ openSubMenuSet.add(d);
110
106
  });
111
107
  }
112
- }, []);
108
+ }, [userOpenKeys]);
113
109
 
114
110
  var handleOnClick = function handleOnClick(info) {
115
111
  if (userSelectedKey === undefined) {
116
112
  setSelectedKey(info.key);
117
113
  }
118
114
 
119
- setSelectedKeyPath(info.keyPath);
120
-
121
115
  if (mode !== 'inline' && openKeys.length > 0) {
122
116
  setOpenKeys([]);
123
117
  openSubMenuSet.clear();
@@ -145,6 +139,10 @@ var Menu = function Menu(props) {
145
139
  if (clean) {
146
140
  openSubMenuSet.clear();
147
141
  } else {
142
+ if (mode === 'inline' && accordion) {
143
+ openSubMenuSet.clear();
144
+ }
145
+
148
146
  if (isAdd) {
149
147
  openSubMenuSet.add(openKey);
150
148
  } else {
@@ -173,6 +171,7 @@ var Menu = function Menu(props) {
173
171
  openKeys: openKeys,
174
172
  selectedKey: selectedKey,
175
173
  selectedKeyPath: selectedKeyPath,
174
+ setSelectedKeyPath: setSelectedKeyPath,
176
175
  theme: theme,
177
176
  triggerSubMenuAction: restProps.triggerSubMenuAction,
178
177
  forceSubMenuRender: forceSubMenuRender,
@@ -1,6 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
2
  import _extends from "@babel/runtime-corejs3/helpers/extends";
3
+ import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
3
4
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
5
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
6
 
5
7
  var __rest = this && this.__rest || function (s, e) {
6
8
  var t = {};
@@ -24,7 +26,7 @@ import devWarning from '../_utils/devwarning';
24
26
  export var MENU_ITEM_CONTAINER_NAME = 'menu-item-content-container';
25
27
 
26
28
  var InternalMenuItem = function InternalMenuItem(props, ref) {
27
- var _classNames;
29
+ var _context, _classNames;
28
30
 
29
31
  var _React$useContext = React.useContext(ConfigContext),
30
32
  getPrefixCls = _React$useContext.getPrefixCls,
@@ -43,6 +45,7 @@ var InternalMenuItem = function InternalMenuItem(props, ref) {
43
45
  collapsed = _a.collapsed,
44
46
  keyValue = _a.keyValue,
45
47
  selectedKey = _a.selectedKey,
48
+ setSelectedKeyPath = _a.setSelectedKeyPath,
46
49
  subMenuMode = _a.subMenuMode,
47
50
  inlineIndent = _a.inlineIndent,
48
51
  className = _a.className,
@@ -50,11 +53,13 @@ var InternalMenuItem = function InternalMenuItem(props, ref) {
50
53
  _a$paddingLeft = _a.paddingLeft,
51
54
  paddingLeft = _a$paddingLeft === void 0 ? 0 : _a$paddingLeft,
52
55
  style = _a.style,
53
- restProps = __rest(_a, ["prefixCls", "icon", "mode", "level", "disabled", "children", "collapsed", "keyValue", "selectedKey", "subMenuMode", "inlineIndent", "className", "handleOnClick", "paddingLeft", "style"]);
56
+ parentPath = _a.parentPath,
57
+ restProps = __rest(_a, ["prefixCls", "icon", "mode", "level", "disabled", "children", "collapsed", "keyValue", "selectedKey", "setSelectedKeyPath", "subMenuMode", "inlineIndent", "className", "handleOnClick", "paddingLeft", "style", "parentPath"]);
54
58
 
55
59
  devWarning(!keyValue && keyValue !== 0, 'menuitem', 'cannot found children in Menu.Item');
56
60
  var prefixCls = getPrefixCls(pkgPrefixCls, 'menu-item', customPrefixcls);
57
61
  var menuItemRef = ref || /*#__PURE__*/React.createRef();
62
+ var menuItemParentPath = Array.isArray(parentPath) ? _concatInstanceProperty(_context = []).call(_context, _toConsumableArray(parentPath), [keyValue]) : [keyValue];
58
63
 
59
64
  var renderItemChildren = function renderItemChildren(children) {
60
65
  if (typeof children === 'string') {
@@ -87,7 +92,7 @@ var InternalMenuItem = function InternalMenuItem(props, ref) {
87
92
  e.stopPropagation();
88
93
  var info = {
89
94
  key: keyValue,
90
- keyPath: [keyValue],
95
+ keyPath: menuItemParentPath,
91
96
  domEvent: e.nativeEvent
92
97
  };
93
98
  handleOnClick(info);
@@ -131,6 +136,11 @@ var InternalMenuItem = function InternalMenuItem(props, ref) {
131
136
  return renderItemChildren(children);
132
137
  };
133
138
 
139
+ React.useEffect(function () {
140
+ if (selectedKey && selectedKey === keyValue) {
141
+ setSelectedKeyPath(menuItemParentPath);
142
+ }
143
+ }, [selectedKey]);
134
144
  return /*#__PURE__*/React.createElement("li", _extends({
135
145
  ref: menuItemRef,
136
146
  className: classNames(className, (_classNames = {}, _defineProperty(_classNames, prefixCls, subMenuMode !== 'horizontal'), _defineProperty(_classNames, "".concat(prefixCls, "-collapsed"), collapsed && level === 1), _defineProperty(_classNames, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames, "".concat(prefixCls, "-active"), selectedKey === keyValue), _classNames)),
@@ -104,65 +104,65 @@
104
104
  /* 多行显示省略号 */
105
105
  /* 单行显示省略号 */
106
106
  /** 浮层箭头样式 **/
107
- .hover {
107
+ .menu-dark-hover {
108
108
  background-color: var(--kd-c-menu-sub-color-background, #121319);
109
109
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
110
110
  }
111
- .active {
111
+ .menu-dark-active {
112
112
  background-color: var(--kd-c-menu-sub-color-background, #121319);
113
113
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
114
114
  }
115
- .active-inline-title {
116
- color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff)) !important;
117
- background: var(--kd-c-menu-color-background, #343848) !important;
115
+ .menu-dark-active-inline-title {
116
+ color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
117
+ background: var(--kd-c-menu-color-background, #343848);
118
118
  border: none;
119
119
  }
120
- .light {
120
+ .menu-light-base {
121
121
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
122
122
  background: #ffffff;
123
123
  }
124
- .light .kd-menu-item-disabled,
125
- .light .kd-menu-submenu-disabled {
126
- background-color: #fff !important;
124
+ .menu-light-base .kd-menu-item-disabled,
125
+ .menu-light-base .kd-menu-submenu-disabled {
126
+ background-color: #fff;
127
127
  }
128
- .light .kd-menu-submenu-sub {
128
+ .menu-light-base .kd-menu-submenu-sub {
129
129
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
130
- background: #FAFAFA;
130
+ background: #fafafa;
131
131
  }
132
- .light .kd-menu-item:hover {
132
+ .menu-light-base .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover {
133
133
  background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
134
134
  color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
135
135
  border: none;
136
136
  }
137
- .light .kd-menu-item-hover,
138
- .light .kd-menu-submenu-hover {
137
+ .menu-light-base .kd-menu-item-hover,
138
+ .menu-light-base .kd-menu-submenu-hover {
139
139
  background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
140
140
  color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
141
141
  border: none;
142
142
  }
143
- .light .kd-menu-item-active,
144
- .light .kd-menu-submenu-active {
145
- background-color: var(--kd-c-menu-light-color-background-active, #e3ebff) !important;
146
- color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3)) !important;
143
+ .menu-light-base .kd-menu-item-active,
144
+ .menu-light-base .kd-menu-submenu-active {
145
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
146
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
147
147
  border: none;
148
148
  }
149
- .light-default {
149
+ .menu-light-default {
150
150
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
151
151
  background: #ffffff;
152
152
  }
153
- .light-hover {
153
+ .menu-light-hover {
154
154
  background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
155
155
  color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
156
156
  border: none;
157
157
  }
158
- .light-active {
159
- background-color: var(--kd-c-menu-light-color-background-active, #e3ebff) !important;
160
- color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3)) !important;
158
+ .menu-light-active {
159
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
160
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
161
161
  border: none;
162
162
  }
163
- .light-active-inline-title {
164
- color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3)) !important;
165
- background: #ffffff !important;
163
+ .menu-light-active-inline-title {
164
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
165
+ background: #ffffff;
166
166
  border: none;
167
167
  }
168
168
  .kd-menu {
@@ -236,8 +236,8 @@
236
236
  }
237
237
  .kd-menu-item-disabled {
238
238
  cursor: not-allowed;
239
- color: var(--kd-c-menu-color-disabled, var(--kd-g-color-disabled, #b2b2b2)) !important;
240
- background-color: var(--kd-c-menu-color-background, #343848) !important;
239
+ color: var(--kd-c-menu-color-disabled, var(--kd-g-color-disabled, #b2b2b2));
240
+ background-color: var(--kd-c-menu-color-background, #343848);
241
241
  }
242
242
  .kd-menu-item-arrow {
243
243
  margin-left: auto;
@@ -310,8 +310,8 @@
310
310
  }
311
311
  .kd-menu-submenu-disabled {
312
312
  cursor: not-allowed;
313
- color: var(--kd-c-menu-color-disabled, var(--kd-g-color-disabled, #b2b2b2)) !important;
314
- background-color: var(--kd-c-menu-color-background, #343848) !important;
313
+ color: var(--kd-c-menu-color-disabled, var(--kd-g-color-disabled, #b2b2b2));
314
+ background-color: var(--kd-c-menu-color-background, #343848);
315
315
  }
316
316
  .kd-menu-submenu-arrow {
317
317
  margin-left: auto;
@@ -436,7 +436,7 @@
436
436
  .kd-menu-dark .kd-menu-submenu-sub-third {
437
437
  background: var(--kd-c-menu-sub-color-background, #121319);
438
438
  }
439
- .kd-menu-dark .kd-menu-item:hover {
439
+ .kd-menu-dark .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover {
440
440
  background-color: var(--kd-c-menu-sub-color-background, #121319);
441
441
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
442
442
  }
@@ -456,13 +456,13 @@
456
456
  }
457
457
  .kd-menu-inline.kd-menu-dark .kd-menu-item-active .kd-menu-submenu-title,
458
458
  .kd-menu-inline.kd-menu-dark .kd-menu-submenu-active .kd-menu-submenu-title {
459
- color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff)) !important;
460
- background: var(--kd-c-menu-color-background, #343848) !important;
459
+ color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
460
+ background: var(--kd-c-menu-color-background, #343848);
461
461
  border: none;
462
462
  }
463
- .kd-menu-inline.kd-menu-dark .kd-menu-submenu:not(.kd-menu-submenu-disabled) > .kd-menu-submenu-title:hover {
464
- color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff)) !important;
465
- background: var(--kd-c-menu-color-background, #343848) !important;
463
+ .kd-menu-inline.kd-menu-dark .kd-menu-submenu:not(.kd-menu-submenu-disabled):not(.kd-menu-submenu-active) > .kd-menu-submenu-title:hover {
464
+ color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
465
+ background: var(--kd-c-menu-color-background, #343848);
466
466
  border: none;
467
467
  }
468
468
  .kd-menu-light {
@@ -471,13 +471,13 @@
471
471
  }
472
472
  .kd-menu-light .kd-menu-item-disabled,
473
473
  .kd-menu-light .kd-menu-submenu-disabled {
474
- background-color: #fff !important;
474
+ background-color: #fff;
475
475
  }
476
476
  .kd-menu-light .kd-menu-submenu-sub {
477
477
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
478
- background: #FAFAFA;
478
+ background: #fafafa;
479
479
  }
480
- .kd-menu-light .kd-menu-item:hover {
480
+ .kd-menu-light .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover {
481
481
  background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
482
482
  color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
483
483
  border: none;
@@ -490,17 +490,17 @@
490
490
  }
491
491
  .kd-menu-light .kd-menu-item-active,
492
492
  .kd-menu-light .kd-menu-submenu-active {
493
- background-color: var(--kd-c-menu-light-color-background-active, #e3ebff) !important;
494
- color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3)) !important;
493
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
494
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
495
495
  border: none;
496
496
  }
497
497
  .kd-menu-inline.kd-menu-light .kd-menu-item-active .kd-menu-submenu-title,
498
498
  .kd-menu-inline.kd-menu-light .kd-menu-submenu-active .kd-menu-submenu-title {
499
- color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3)) !important;
500
- background: #ffffff !important;
499
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
500
+ background: #ffffff;
501
501
  border: none;
502
502
  }
503
- .kd-menu-popper .kd-menu-submenu:hover,
503
+ .kd-menu-popper .kd-menu-submenu:not(.kd-menu-submenu-disabled):not(.kd-menu-submenu-active):hover,
504
504
  .kd-menu-popper .kd-menu-submenu-hover {
505
505
  background-color: var(--kd-c-menu-sub-color-background, #121319);
506
506
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
@@ -527,7 +527,7 @@
527
527
  -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);
528
528
  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);
529
529
  }
530
- .kd-menu-popper .kd-menu-submenu-sub .kd-menu-item:hover,
530
+ .kd-menu-popper .kd-menu-submenu-sub .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover,
531
531
  .kd-menu-popper .kd-menu-submenu-sub .kd-menu-item-active {
532
532
  background-color: var(--kd-c-menu-sub-color-background, #121319);
533
533
  color: var(--kd-c-menu-sub-color-text-hover, var(--kd-g-color-white, #fff));
@@ -563,13 +563,13 @@
563
563
  }
564
564
  .kd-menu-popper.light .kd-menu-item-disabled,
565
565
  .kd-menu-popper.light .kd-menu-submenu-disabled {
566
- background-color: #fff !important;
566
+ background-color: #fff;
567
567
  }
568
568
  .kd-menu-popper.light .kd-menu-submenu-sub {
569
569
  color: var(--kd-c-menu-light-color-text, var(--kd-g-color-text-primary, #212121));
570
- background: #FAFAFA;
570
+ background: #fafafa;
571
571
  }
572
- .kd-menu-popper.light .kd-menu-item:hover {
572
+ .kd-menu-popper.light .kd-menu-item:not(.kd-menu-item-disabled):not(.kd-menu-item-active):hover {
573
573
  background-color: var(--kd-c-menu-light-color-background-hover, #f5f5f5);
574
574
  color: var(--kd-c-menu-light-color-text-hover, var(--kd-g-color-text-primary, #212121));
575
575
  border: none;
@@ -582,7 +582,7 @@
582
582
  }
583
583
  .kd-menu-popper.light .kd-menu-item-active,
584
584
  .kd-menu-popper.light .kd-menu-submenu-active {
585
- background-color: var(--kd-c-menu-light-color-background-active, #e3ebff) !important;
586
- color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3)) !important;
585
+ background-color: var(--kd-c-menu-light-color-background-active, #e3ebff);
586
+ color: var(--kd-c-menu-light-color-text-active, var(--kd-g-color-theme, #5582f3));
587
587
  border: none;
588
588
  }