@kdcloudjs/kdesign 1.4.1 → 1.5.2

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 (82) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/kdesign-complete.less +60 -8
  3. package/dist/kdesign.css +58 -10
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +595 -306
  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/anchor/anchor-link.js +0 -6
  11. package/es/anchor/anchor.js +102 -2
  12. package/es/avatar/avatar.js +3 -1
  13. package/es/carousel/carousel.js +4 -4
  14. package/es/config-provider/compDefaultProps.d.ts +0 -1
  15. package/es/config-provider/compDefaultProps.js +0 -1
  16. package/es/date-picker/range-picker.d.ts +1 -0
  17. package/es/date-picker/range-picker.js +2 -0
  18. package/es/date-picker/style/index.css +6 -3
  19. package/es/date-picker/style/index.less +7 -3
  20. package/es/dropdown/style/index.css +3 -0
  21. package/es/dropdown/style/index.less +4 -0
  22. package/es/dropdown/style/token.less +1 -0
  23. package/es/input/ClearableLabeledInput.js +3 -4
  24. package/es/input/style/index.css +13 -0
  25. package/es/input/style/index.less +10 -0
  26. package/es/input/style/mixin.less +6 -1
  27. package/es/menu/menu.d.ts +1 -0
  28. package/es/menu/menu.js +7 -1
  29. package/es/radio/radio.js +6 -1
  30. package/es/select/select.js +1 -1
  31. package/es/select/style/index.css +5 -5
  32. package/es/select/style/index.less +1 -1
  33. package/es/select/style/token.less +3 -2
  34. package/es/table/table.js +8 -2
  35. package/es/tree/style/index.css +30 -1
  36. package/es/tree/style/index.less +25 -1
  37. package/es/tree/style/token.less +3 -0
  38. package/es/tree/tree.d.ts +2 -0
  39. package/es/tree/tree.js +77 -12
  40. package/es/tree/treeHooks.d.ts +1 -1
  41. package/es/tree/treeHooks.js +3 -3
  42. package/es/tree/treeNode.d.ts +1 -0
  43. package/es/tree/treeNode.js +11 -8
  44. package/es/tree/utils/treeUtils.d.ts +4 -2
  45. package/es/tree/utils/treeUtils.js +64 -10
  46. package/lib/anchor/anchor-link.js +0 -6
  47. package/lib/anchor/anchor.js +102 -2
  48. package/lib/avatar/avatar.js +3 -1
  49. package/lib/carousel/carousel.js +4 -4
  50. package/lib/config-provider/compDefaultProps.d.ts +0 -1
  51. package/lib/config-provider/compDefaultProps.js +0 -1
  52. package/lib/date-picker/range-picker.d.ts +1 -0
  53. package/lib/date-picker/range-picker.js +2 -0
  54. package/lib/date-picker/style/index.css +6 -3
  55. package/lib/date-picker/style/index.less +7 -3
  56. package/lib/dropdown/style/index.css +3 -0
  57. package/lib/dropdown/style/index.less +4 -0
  58. package/lib/dropdown/style/token.less +1 -0
  59. package/lib/input/ClearableLabeledInput.js +3 -4
  60. package/lib/input/style/index.css +13 -0
  61. package/lib/input/style/index.less +10 -0
  62. package/lib/input/style/mixin.less +6 -1
  63. package/lib/menu/menu.d.ts +1 -0
  64. package/lib/menu/menu.js +7 -1
  65. package/lib/radio/radio.js +7 -1
  66. package/lib/select/select.js +1 -1
  67. package/lib/select/style/index.css +5 -5
  68. package/lib/select/style/index.less +1 -1
  69. package/lib/select/style/token.less +3 -2
  70. package/lib/table/table.js +8 -2
  71. package/lib/tree/style/index.css +30 -1
  72. package/lib/tree/style/index.less +25 -1
  73. package/lib/tree/style/token.less +3 -0
  74. package/lib/tree/tree.d.ts +2 -0
  75. package/lib/tree/tree.js +79 -11
  76. package/lib/tree/treeHooks.d.ts +1 -1
  77. package/lib/tree/treeHooks.js +3 -3
  78. package/lib/tree/treeNode.d.ts +1 -0
  79. package/lib/tree/treeNode.js +11 -8
  80. package/lib/tree/utils/treeUtils.d.ts +4 -2
  81. package/lib/tree/utils/treeUtils.js +71 -13
  82. package/package.json +2 -2
@@ -64,7 +64,8 @@ var InternalAvatar = function InternalAvatar(props, ref) {
64
64
  alt = avatarProps.alt,
65
65
  children = avatarProps.children,
66
66
  gap = avatarProps.gap,
67
- disabled = avatarProps.disabled;
67
+ disabled = avatarProps.disabled,
68
+ srcSet = avatarProps.srcSet;
68
69
  (0, _devwarning.default)(AvatarSizes.indexOf(size) === -1 && typeof size !== 'number', 'avatar', "cannot found avatar type '".concat(size, "'"));
69
70
  (0, _devwarning.default)(AvatarShapes.indexOf(shape) === -1, 'avatar', "cannot found avatar shape '".concat(shape, "'"));
70
71
 
@@ -145,6 +146,7 @@ var InternalAvatar = function InternalAvatar(props, ref) {
145
146
  if (typeof src === 'string' && isImgExist) {
146
147
  childrenToRender = /*#__PURE__*/_react.default.createElement("img", {
147
148
  src: src,
149
+ srcSet: srcSet,
148
150
  draggable: draggable,
149
151
  onError: handleImgLoadError,
150
152
  alt: alt
@@ -136,7 +136,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
136
136
  setCurrentIndex(index);
137
137
  setNeedAnimation(needAnimation);
138
138
  }
139
- }, [isFadeEffect, beforeChange, currentIndex, children.length]);
139
+ }, [isFadeEffect, beforeChange, currentIndex, children === null || children === void 0 ? void 0 : children.length]);
140
140
 
141
141
  var next = _react.default.useCallback(function () {
142
142
  jumpTo(currentIndex + 1, true);
@@ -234,7 +234,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
234
234
  }, [beforeChange, currentIndex]);
235
235
 
236
236
  var handleTransitionEnd = _react.default.useCallback(function () {
237
- if (!autoplay) return;
237
+ if (!autoplay || !(children === null || children === void 0 ? void 0 : children.length)) return;
238
238
  var childrenL = children.length;
239
239
  var newCurrentIndex = currentIndex;
240
240
 
@@ -251,7 +251,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
251
251
  afterChange && afterChange(currentIndex);
252
252
  setCurrentIndex(newCurrentIndex);
253
253
  isScrollxEffect && setNeedAnimation(false);
254
- }, [currentIndex, children.length, afterChange, isScrollxEffect, autoplay]);
254
+ }, [currentIndex, children === null || children === void 0 ? void 0 : children.length, afterChange, isScrollxEffect, autoplay]);
255
255
 
256
256
  var handleMouseEnter = _react.default.useCallback(function () {
257
257
  autoplayRef.current && clearTimeout(autoplayRef.current);
@@ -302,7 +302,7 @@ var InternalCarousel = function InternalCarousel(props, ref) {
302
302
  style: style,
303
303
  onMouseEnter: handleMouseEnter,
304
304
  onMouseLeave: handleMouseLeave
305
- }, renderDisplayList(), showDot() && /*#__PURE__*/_react.default.createElement(_slidebar.Slidebar, {
305
+ }, (children === null || children === void 0 ? void 0 : children.length) && renderDisplayList(), (children === null || children === void 0 ? void 0 : children.length) && showDot() && /*#__PURE__*/_react.default.createElement(_slidebar.Slidebar, {
306
306
  number: children.length,
307
307
  currentIndex: currentIndex,
308
308
  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
  };
@@ -235,7 +235,6 @@ var compDefaultProps = {
235
235
  strokeWidth: 4
236
236
  },
237
237
  Radio: {
238
- checked: false,
239
238
  defaultChecked: false,
240
239
  disabled: false
241
240
  },
@@ -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;
@@ -150,6 +150,7 @@ function DatePicker(props) {
150
150
  minuteStep = _datePickerProps$minu === void 0 ? 1 : _datePickerProps$minu,
151
151
  _datePickerProps$seco = datePickerProps.secondStep,
152
152
  secondStep = _datePickerProps$seco === void 0 ? 1 : _datePickerProps$seco,
153
+ suffixIcon = datePickerProps.suffixIcon,
153
154
  renderExtraFooter = datePickerProps.renderExtraFooter,
154
155
  disabledHours = datePickerProps.disabledHours,
155
156
  disabledMinutes = datePickerProps.disabledMinutes,
@@ -732,6 +733,7 @@ function DatePicker(props) {
732
733
  startOpen: startOpen,
733
734
  endOpen: endOpen,
734
735
  needConfirmButton: needConfirmButton,
736
+ suffixIcon: suffixIcon,
735
737
  format: _format,
736
738
  open: mergedOpen,
737
739
  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
 
@@ -69,7 +69,7 @@ var ClearableInput = function ClearableInput(props) {
69
69
 
70
70
  return /*#__PURE__*/_react.default.createElement("span", {
71
71
  className: "".concat(prefixCls, "-suffix")
72
- }, renderClearIcon(), suffix);
72
+ }, !disabled && renderClearIcon(), suffix);
73
73
  };
74
74
 
75
75
  var renderInputWithFixNode = function renderInputWithFixNode(originElement) {
@@ -93,7 +93,7 @@ var ClearableInput = function ClearableInput(props) {
93
93
  };
94
94
 
95
95
  var renderInputWithLabel = function renderInputWithLabel(originElement) {
96
- var _classNames4, _context2, _classNames5, _context3;
96
+ var _classNames4, _context2, _classNames5;
97
97
 
98
98
  if (!addonBefore && !addonAfter) {
99
99
  return originElement;
@@ -113,8 +113,7 @@ var ClearableInput = function ClearableInput(props) {
113
113
  className: inputGroupClasses,
114
114
  style: style
115
115
  }, addonBeforeNode, /*#__PURE__*/_react.default.cloneElement(originElement, {
116
- style: null,
117
- className: (0, _concat.default)(_context3 = "".concat(originElement.props.className || '', " ")).call(_context3, prefixCls, "-wrapper")
116
+ style: null
118
117
  }), addonAfterNode));
119
118
  };
120
119
 
@@ -356,6 +356,15 @@ 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
+ }
363
+ .kd-input-wrapper-disabled {
364
+ background-color: var(--kd-c-input-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
365
+ border-color: var(--kd-c-input-color-border-disabled, var(--kd-g-color-border-strong, #d9d9d9));
366
+ cursor: not-allowed;
367
+ }
359
368
  .kd-input-wrapper-textarea {
360
369
  width: 100%;
361
370
  min-width: 0;
@@ -404,6 +413,10 @@ textarea {
404
413
  .kd-input-clear-icon,
405
414
  .kd-input-textarea-clear-icon {
406
415
  cursor: pointer;
416
+ color: var(--kd-c-input-color-border, #999);
417
+ }
418
+ .kd-input-clear-icon:hover,
419
+ .kd-input-textarea-clear-icon:hover {
407
420
  color: var(--kd-c-input-color-border-focused, var(--kd-g-color-theme, #5582f3));
408
421
  }
409
422
  .kd-input-clear-icon i,
@@ -121,7 +121,17 @@ 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
  }
129
+
130
+ &-disabled {
131
+ background-color: @input-background-color-disabled-inner;
132
+ border-color: @input-border-color-disabled-inner;
133
+ cursor: not-allowed;
134
+ }
125
135
  }
126
136
  &-wrapper-textarea {
127
137
  .input(@input-prefix-cls);
@@ -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;
@@ -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/lib/menu/menu.js CHANGED
@@ -93,10 +93,12 @@ var Menu = function Menu(props) {
93
93
  className = _b.className,
94
94
  theme = _b.theme,
95
95
  collapsed = _b.collapsed,
96
- restProps = __rest(_b, ["prefixCls", "mode", "inlineIndent", "forceSubMenuRender", "additionalTools", "onClick", "onOpenChange", "children", "className", "theme", "collapsed"]);
96
+ accordion = _b.accordion,
97
+ restProps = __rest(_b, ["prefixCls", "mode", "inlineIndent", "forceSubMenuRender", "additionalTools", "onClick", "onOpenChange", "children", "className", "theme", "collapsed", "accordion"]);
97
98
 
98
99
  var prefixCls = getPrefixCls(pkgPrefixCls, 'menu', customPrefixcls);
99
100
  (0, _devwarning.default)(['inline', 'vertical', undefined].indexOf(mode) === -1, 'menu', "cannot found menu mode '".concat(mode, "'"));
101
+ (0, _devwarning.default)(mode !== 'inline' && accordion !== undefined, 'menu', "'accordion' is valid only in mode='inline'");
100
102
 
101
103
  var _React$useState = _react.default.useState(''),
102
104
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
@@ -170,6 +172,10 @@ var Menu = function Menu(props) {
170
172
  if (clean) {
171
173
  openSubMenuSet.clear();
172
174
  } else {
175
+ if (mode === 'inline' && accordion) {
176
+ openSubMenuSet.clear();
177
+ }
178
+
173
179
  if (isAdd) {
174
180
  openSubMenuSet.add(openKey);
175
181
  } else {
@@ -25,6 +25,8 @@ var _react = _interopRequireWildcard(require("react"));
25
25
 
26
26
  var _classnames = _interopRequireDefault(require("classnames"));
27
27
 
28
+ var _isBoolean = _interopRequireDefault(require("lodash/isBoolean"));
29
+
28
30
  var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
29
31
 
30
32
  var _utils = require("../_utils");
@@ -73,13 +75,17 @@ var InternalRadio = function InternalRadio(props, ref) {
73
75
  restProps = __rest(_a, ["style", "checked", "children", "className", "radioType", "defaultChecked", "prefixCls"]); // 属性需要合并一遍用户定义的默认属性
74
76
 
75
77
 
78
+ var getChecked = function getChecked() {
79
+ return (0, _isBoolean.default)(checked) ? checked : defaultChecked;
80
+ };
81
+
76
82
  var getPrefix = function getPrefix(radioType) {
77
83
  return "radio".concat(radioType === 'square' ? "-".concat(radioType) : '');
78
84
  };
79
85
 
80
86
  var radioPrefixCls = getPrefixCls === null || getPrefixCls === void 0 ? void 0 : getPrefixCls(prefixCls, getPrefix(radioType), customPrefixcls); // 样式前缀
81
87
 
82
- var _React$useState = _react.default.useState(checked || defaultChecked),
88
+ var _React$useState = _react.default.useState(getChecked()),
83
89
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
84
90
  isChecked = _React$useState2[0],
85
91
  setIsChecked = _React$useState2[1];
@@ -476,7 +476,7 @@ var InternalSelect = function InternalSelect(props, ref) {
476
476
  var selectedVal = multipleRef.current.selectedVal; // 选择器下拉icon样式
477
477
 
478
478
  var arrowIconCls = (0, _classnames.default)((_classNames8 = {}, (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-icon-arrow"), true), (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-icon-arrow-up"), optionShow), (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-icon-arrow-down"), !optionShow), (0, _defineProperty2.default)(_classNames8, "".concat(selectPrefixCls, "-icon-arrow-focus"), optionShow), _classNames8));
479
- var iconShow = allowClear && (isMultiple ? mulOptions.length > 0 : selectedVal);
479
+ var iconShow = allowClear && !disabled && (isMultiple ? mulOptions.length > 0 : selectedVal);
480
480
  var clearIconCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-icon-clear"), true));
481
481
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, iconShow && /*#__PURE__*/_react.default.createElement("span", {
482
482
  onClick: handleReset,
@@ -428,7 +428,7 @@
428
428
  .kd-select-item-option-disabled {
429
429
  color: var(--kd-c-select-item-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
430
430
  cursor: not-allowed;
431
- background-color: var(--kd-c-select-item-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5));
431
+ background-color: var(--kd-c-select-item-color-background-disabled, #fff);
432
432
  }
433
433
  .kd-select-size-small {
434
434
  min-height: var(--kd-c-select-sizing-height-small, 24px);
@@ -472,7 +472,7 @@
472
472
  }
473
473
  .kd-select-single-disabled {
474
474
  background-color: var(--kd-c-select-color-background-disabled, #f5f5f5);
475
- color: var(--kd-c-select-color-text-disabled, #212121);
475
+ color: var(--kd-c-select-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
476
476
  }
477
477
  .kd-select-single-disabled:hover {
478
478
  cursor: not-allowed;
@@ -484,13 +484,13 @@
484
484
  opacity: 1;
485
485
  }
486
486
  .kd-select-single-text {
487
- color: #666;
487
+ color: var(--kd-c-select-single-color-text, var(--kd-g-color-text-primary, #212121));
488
488
  overflow: hidden;
489
489
  white-space: nowrap;
490
490
  text-overflow: ellipsis;
491
491
  }
492
492
  .kd-select-single-disabled-text {
493
- color: var(--kd-c-select-color-text-disabled, #212121);
493
+ color: var(--kd-c-select-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
494
494
  }
495
495
  .kd-select .kd-select-selection-item {
496
496
  display: -webkit-inline-box;
@@ -564,7 +564,7 @@
564
564
  .kd-select-multiple-disabled {
565
565
  cursor: not-allowed;
566
566
  background-color: var(--kd-c-select-color-background-disabled, #f5f5f5);
567
- color: var(--kd-c-select-color-text-disabled, #212121);
567
+ color: var(--kd-c-select-color-text-disabled, var(--kd-g-color-disabled, #b2b2b2));
568
568
  }
569
569
  .kd-select-multiple-disabled .kd-select-suffix {
570
570
  color: var(--kd-c-select-arrow-icon-color-text-disabled, #b2b2b2);
@@ -234,7 +234,7 @@
234
234
  opacity: 1;
235
235
  }
236
236
  &-text {
237
- color: #666;
237
+ color: @select-single-color-text;
238
238
  .over();
239
239
  }
240
240
  &-disabled-text {
@@ -5,7 +5,7 @@
5
5
 
6
6
  // color
7
7
  @select-dropdown-bg: var(~'@{select-custom-prefix}-dropdown-color-background', @color-background);
8
- @select-disabled-option-bg: var(~'@{select-custom-prefix}-item-color-background-disabled', @color-background-contain-disabled);
8
+ @select-disabled-option-bg: var(~'@{select-custom-prefix}-item-color-background-disabled', #fff);
9
9
  @select-item-active-bg: var(~'@{select-custom-prefix}-color-background', #f5f5f5);
10
10
  @select-item-selected-bg: var(~'@{select-custom-prefix}-color-background-selected', @color-theme-3);
11
11
  @select-g-color-border: var(~'@{select-custom-prefix}-color-border', @color-input);
@@ -18,8 +18,9 @@
18
18
  @select-footer-g-text-color-selected: var(~'@{select-custom-prefix}-footer-color-text-selected', #0e5fd8);
19
19
  @select-g-item-text-color-disabled: var(~'@{select-custom-prefix}-item-color-text-disabled', @color-disabled);
20
20
  @select-color-background-disabled: var(~'@{select-custom-prefix}-color-background-disabled', #f5f5f5);
21
- @select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled', #212121);
21
+ @select-color-text-disabled: var(~'@{select-custom-prefix}-color-text-disabled', @color-disabled);
22
22
  @select-arrow-icon-color-text-disabled: var(~'@{select-custom-prefix}-arrow-icon-color-text-disabled', #b2b2b2);
23
+ @select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
23
24
 
24
25
  // font
25
26
  @select-list-font-size: var(~'@{select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
@@ -87,7 +87,10 @@ function Table(props) {
87
87
  getTableProps = props.getTableProps,
88
88
  contextMenu = props.contextMenu,
89
89
  rangeSelection = props.rangeSelection,
90
- cssVariables = props.cssVariables;
90
+ cssVariables = props.cssVariables,
91
+ stickyScrollHeight = props.stickyScrollHeight,
92
+ scrollbarWidth = props.scrollbarWidth,
93
+ scrollLoad = props.scrollLoad;
91
94
 
92
95
  var _useContext = (0, _react.useContext)(_ConfigContext.default),
93
96
  getPrefixCls = _useContext.getPrefixCls,
@@ -166,7 +169,10 @@ function Table(props) {
166
169
  hasHeader: hasHeader,
167
170
  useOuterBorder: useOuterBorder,
168
171
  defaultColumnWidth: defaultColumnWidth,
169
- cssVariables: cssVariables
172
+ cssVariables: cssVariables,
173
+ stickyScrollHeight: stickyScrollHeight,
174
+ scrollbarWidth: scrollbarWidth,
175
+ scrollLoad: scrollLoad
170
176
  }));
171
177
  }
172
178
 
@@ -221,6 +221,19 @@
221
221
  .kd-tree-node-title-disabled {
222
222
  color: var(--kd-c-tree-node-color-disabled, var(--kd-g-color-disabled, #b2b2b2));
223
223
  }
224
+ .kd-tree-node-title-wrap {
225
+ -webkit-box-flex: 1;
226
+ -ms-flex: 1;
227
+ flex: 1;
228
+ position: relative;
229
+ display: -webkit-box;
230
+ display: -ms-flexbox;
231
+ display: flex;
232
+ -webkit-box-align: center;
233
+ -ms-flex-align: center;
234
+ align-items: center;
235
+ height: 100%;
236
+ }
224
237
  .kd-tree-node-title {
225
238
  white-space: nowrap;
226
239
  margin-left: 6px;
@@ -248,12 +261,28 @@
248
261
  width: 100%;
249
262
  height: 100%;
250
263
  }
264
+ .kd-tree-node-drag-over {
265
+ background-color: var(--kd-c-tree-node-drag-over-color-background, #E3EBFF);
266
+ border: 2px solid var(--kd-c-tree-node-drag-over-color-border, #5582f3);
267
+ }
251
268
  .kd-tree-node-drag-line {
252
269
  position: absolute;
253
270
  left: 0;
254
271
  top: 100%;
255
272
  width: 100%;
256
- border-top: 1px solid #fc8555;
273
+ border-top: 2px solid var(--kd-c-tree-node-drag-line-color-background, #276FF5);
274
+ }
275
+ .kd-tree-node-drag-line::before {
276
+ content: '';
277
+ width: 4px;
278
+ height: 4px;
279
+ background-color: #fff;
280
+ border-radius: 50%;
281
+ border: 2px solid var(--kd-c-tree-node-drag-line-color-background, #276FF5);
282
+ position: absolute;
283
+ top: -1px;
284
+ -webkit-transform: translateY(-50%);
285
+ transform: translateY(-50%);
257
286
  }
258
287
  .kd-tree-node-leaf-icon {
259
288
  height: var(--kd-c-tree-node-icon-sizing-height, 20px);
@@ -93,6 +93,13 @@
93
93
  &-title-disabled {
94
94
  color: @tree-node-disabled-color;
95
95
  }
96
+ &-title-wrap {
97
+ flex: 1;
98
+ position: relative;
99
+ display: flex;
100
+ align-items: center;
101
+ height: 100%;
102
+ }
96
103
  &-title {
97
104
  white-space: nowrap;
98
105
  margin-left: 6px;
@@ -118,12 +125,29 @@
118
125
  height: 100%;
119
126
  }
120
127
 
128
+ &-drag-over {
129
+ background-color: @tree-node-drag-over-color-background;
130
+ border: 2px solid @tree-node-drag-over-border-color;
131
+ }
132
+
121
133
  &-drag-line {
122
134
  position: absolute;
123
135
  left: 0;
124
136
  top: 100%;
125
137
  width: 100%;
126
- border-top: 1px solid #fc8555;
138
+ border-top: 2px solid @tree-node-drag-line-border-color;
139
+
140
+ &::before {
141
+ content: '';
142
+ width: 4px;
143
+ height: 4px;
144
+ background-color: #fff;
145
+ border-radius: 50%;
146
+ border: 2px solid @tree-node-drag-line-border-color;
147
+ position: absolute;
148
+ top: -1px;
149
+ transform: translateY(-50%);
150
+ }
127
151
  }
128
152
  &-leaf-icon {
129
153
  height: @tree-node-icon-height;
@@ -11,6 +11,9 @@
11
11
  @tree-node-checked-text-color: var(~'@{tree-prefix}-node-color-text-checked', @color-theme);
12
12
  @tree-node-hover-bg-color: var(~'@{tree-prefix}-node-color-backgroung-hover', @color-hover);
13
13
  @tree-node-icon-color-text: var(~'@{tree-prefix}-node-icon-color-text', #666666);
14
+ @tree-node-drag-over-border-color: var(~'@{tree-prefix}-node-drag-over-color-border', #5582f3);
15
+ @tree-node-drag-over-color-background: var(~'@{tree-prefix}-node-drag-over-color-background', #E3EBFF);
16
+ @tree-node-drag-line-border-color: var(~'@{tree-prefix}-node-drag-line-color-background', #276FF5);
14
17
 
15
18
  // sizing
16
19
  @tree-expand-icon-height: var(~'@{tree-prefix}-expand-icon-sizing-height', 22px);
@@ -12,6 +12,8 @@ export interface TreeProps {
12
12
  disabled?: boolean;
13
13
  draggable?: boolean;
14
14
  expandedKeys?: string[];
15
+ filterValue?: string;
16
+ filterTreeNode?: () => boolean;
15
17
  height?: number;
16
18
  icon?: ReactNode | ((props: any) => ReactNode);
17
19
  switcherIcon?: ReactNode | ((props: any) => ReactNode) | [ReactNode | ((props: any) => ReactNode)];