@kdcloudjs/kdesign 1.6.29 → 1.6.31

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 (60) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/kdesign-complete.less +19 -3
  3. package/dist/kdesign.css +17 -4
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +186 -110
  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/_utils/testBrowserType.d.ts +1 -0
  11. package/es/_utils/testBrowserType.js +11 -0
  12. package/es/_utils/usePopper.js +16 -7
  13. package/es/cascader/style/index.css +1 -1
  14. package/es/cascader/style/index.less +1 -1
  15. package/es/date-picker/hooks/use-picker-input.js +0 -4
  16. package/es/date-picker/style/index.css +3 -2
  17. package/es/date-picker/style/index.less +2 -2
  18. package/es/form/style/index.css +4 -0
  19. package/es/form/style/index.less +6 -0
  20. package/es/grid/col.js +7 -2
  21. package/es/grid/row.js +6 -1
  22. package/es/grid/style/index.css +6 -0
  23. package/es/grid/style/index.less +8 -0
  24. package/es/input/ClearableLabeledInput.d.ts +1 -0
  25. package/es/input/ClearableLabeledInput.js +4 -3
  26. package/es/input/input.js +6 -1
  27. package/es/input-number/inputNumber.js +24 -11
  28. package/es/select/select.js +30 -19
  29. package/es/select/style/index.css +2 -0
  30. package/es/select/style/index.less +2 -0
  31. package/es/tree/tree.js +6 -3
  32. package/es/tree/treeHooks.js +5 -9
  33. package/es/tree/utils/treeUtils.d.ts +1 -1
  34. package/es/tree/utils/treeUtils.js +17 -14
  35. package/lib/_utils/testBrowserType.d.ts +1 -0
  36. package/lib/_utils/testBrowserType.js +18 -0
  37. package/lib/_utils/usePopper.js +16 -7
  38. package/lib/cascader/style/index.css +1 -1
  39. package/lib/cascader/style/index.less +1 -1
  40. package/lib/date-picker/hooks/use-picker-input.js +0 -4
  41. package/lib/date-picker/style/index.css +3 -2
  42. package/lib/date-picker/style/index.less +2 -2
  43. package/lib/form/style/index.css +4 -0
  44. package/lib/form/style/index.less +6 -0
  45. package/lib/grid/col.js +8 -2
  46. package/lib/grid/row.js +7 -1
  47. package/lib/grid/style/index.css +6 -0
  48. package/lib/grid/style/index.less +8 -0
  49. package/lib/input/ClearableLabeledInput.d.ts +1 -0
  50. package/lib/input/ClearableLabeledInput.js +4 -3
  51. package/lib/input/input.js +6 -1
  52. package/lib/input-number/inputNumber.js +24 -11
  53. package/lib/select/select.js +29 -19
  54. package/lib/select/style/index.css +2 -0
  55. package/lib/select/style/index.less +2 -0
  56. package/lib/tree/tree.js +6 -3
  57. package/lib/tree/treeHooks.js +4 -9
  58. package/lib/tree/utils/treeUtils.d.ts +1 -1
  59. package/lib/tree/utils/treeUtils.js +17 -14
  60. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ export declare function testBrowserType(reg: RegExp, type: number): boolean;
@@ -0,0 +1,11 @@
1
+ export function testBrowserType(reg, type) {
2
+ var external = window.external || {};
3
+
4
+ for (var i in external) {
5
+ if (reg.test(type ? external[i] : i)) {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ return false;
11
+ }
@@ -524,18 +524,18 @@ function usePopper(locatorElement, popperElement, props) {
524
524
  useEffect(function () {
525
525
  if (exist && visible) {
526
526
  var mouseleaveTimer;
527
+ var triggerNode = getTriggerElement(locatorRef.current);
527
528
 
528
529
  var handleHidePopper = function handleHidePopper(e) {
529
- var triggerNode = getTriggerElement(locatorRef.current);
530
530
  var triggerRect = triggerNode.getBoundingClientRect();
531
531
  var popperRect = popperRef.current.getBoundingClientRect();
532
- var left = /left/.test(nextPlacement) ? popperRect.right : triggerRect.left;
533
- var right = /right/.test(nextPlacement) ? popperRect.left : triggerRect.right;
534
- var top = /top/.test(nextPlacement) ? popperRect.bottom : triggerRect.top;
535
- var bottom = /bottom/.test(nextPlacement) ? popperRect.top : triggerRect.bottom;
532
+ var left = triggerRect.left;
533
+ var right = triggerRect.right;
534
+ var top = triggerRect.top;
535
+ var bottom = triggerRect.bottom;
536
536
  var X = e.clientX,
537
537
  Y = e.clientY;
538
- var inTriggerRect = X > left - 2 && X < right + 2 && Y > top - 2 && Y < bottom + 2;
538
+ var inTriggerRect = X > left + 2 && X < right - 2 && Y > top + 2 && Y < bottom - 2;
539
539
  var inPopperRect = X > popperRect.left && X < popperRect.right && Y > popperRect.top && Y < popperRect.bottom;
540
540
  var ableArea = matchTrigger('contextMenu') ? inPopperRect : inTriggerRect || inPopperRect;
541
541
 
@@ -543,7 +543,12 @@ function usePopper(locatorElement, popperElement, props) {
543
543
  mouseleaveTimer && clearTimeout(mouseleaveTimer);
544
544
  matchTrigger('focus') && triggerNode.focus();
545
545
  } else {
546
- matchTrigger('hover') ? mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000) : hidePopper();
546
+ if (matchTrigger('hover')) {
547
+ mouseleaveTimer && clearTimeout(mouseleaveTimer);
548
+ mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 3000);
549
+ } else {
550
+ hidePopper();
551
+ }
547
552
  }
548
553
  };
549
554
 
@@ -558,6 +563,9 @@ function usePopper(locatorElement, popperElement, props) {
558
563
  };
559
564
 
560
565
  if (matchTrigger('hover')) {
566
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.removeEventListener('mouseleave', debounceHidePopper);
567
+ popperNode === null || popperNode === void 0 ? void 0 : popperNode.removeEventListener('mouseleave', debounceHidePopper);
568
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.addEventListener('mouseleave', debounceHidePopper);
561
569
  popperNode === null || popperNode === void 0 ? void 0 : popperNode.addEventListener('mouseleave', debounceHidePopper);
562
570
  }
563
571
 
@@ -565,6 +573,7 @@ function usePopper(locatorElement, popperElement, props) {
565
573
  return document.addEventListener(mapEvent[action], debounceHidePopper);
566
574
  }) : document.addEventListener(mapEvent[trigger], debounceHidePopper);
567
575
  return function () {
576
+ triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.removeEventListener('mouseleave', debounceHidePopper);
568
577
  popperNode === null || popperNode === void 0 ? void 0 : popperNode.removeEventListener('mouseleave', debounceHidePopper);
569
578
  Array.isArray(trigger) ? trigger.forEach(function (action) {
570
579
  return document.removeEventListener(mapEvent[action], debounceHidePopper);
@@ -224,7 +224,7 @@
224
224
  visibility: hidden;
225
225
  }
226
226
  .kd-cascader-menus .kd-cascader-menu {
227
- display: inline-table;
227
+ display: inline-block;
228
228
  height: var(--kd-c-cascader-sizing-height, 192px);
229
229
  min-width: var(--kd-c-cascader-menu-sizing-min-width, 116px);
230
230
  margin: 0;
@@ -128,7 +128,7 @@
128
128
  }
129
129
 
130
130
  .@{cascader-menu-prefix-cls} {
131
- display: inline-table;
131
+ display: inline-block;
132
132
  height: @cascader-height;
133
133
  min-width: @cascader-menu-min-width;
134
134
  margin: 0;
@@ -93,10 +93,6 @@ export default function usePickerInput(_ref) {
93
93
  }, 0);
94
94
  } else if (open) {
95
95
  triggerOpen(false);
96
-
97
- if (valueChangedRef.current) {
98
- onSubmit();
99
- }
100
96
  }
101
97
 
102
98
  setFocused(false);
@@ -557,6 +557,8 @@
557
557
  padding: 3px 0;
558
558
  cursor: pointer;
559
559
  overflow: hidden;
560
+ -webkit-box-sizing: border-box;
561
+ box-sizing: border-box;
560
562
  }
561
563
  .kd-date-picker-panel .kd-date-picker-warpper .kd-date-picker-calendar .kd-date-picker-calendar-line .kd-date-picker-calendar-item:not(.kd-date-picker-calendar-item-disabled):hover .kd-date-picker-calendar-text {
562
564
  background: #f5f5f5;
@@ -794,8 +796,7 @@
794
796
  flex: 1 0 auto;
795
797
  width: 56px;
796
798
  margin: 0;
797
- padding: 0 0 206px 0;
798
- padding-top: 10px;
799
+ padding: 10px 0 214px 0;
799
800
  text-align: left;
800
801
  -webkit-transition: background 0.3s;
801
802
  transition: background 0.3s;
@@ -408,6 +408,7 @@
408
408
  padding: 3px 0;
409
409
  cursor: pointer;
410
410
  overflow: hidden;
411
+ box-sizing: border-box;
411
412
  }
412
413
 
413
414
  & .@{datePicker-prefix-cls}-calendar-item:not(.@{datePicker-prefix-cls}-calendar-item-disabled):hover {
@@ -676,8 +677,7 @@
676
677
  flex: 1 0 auto;
677
678
  width: 56px;
678
679
  margin: 0;
679
- padding: 0 0 206px 0;
680
- padding-top: 10px;
680
+ padding: 10px 0 214px 0;
681
681
  text-align: left;
682
682
  transition: background 0.3s;
683
683
  overflow: hidden;
@@ -120,6 +120,10 @@
120
120
  display: -ms-flexbox;
121
121
  display: flex;
122
122
  }
123
+ .kd-form-horizontal .kd-form-field-label {
124
+ -ms-flex-negative: 0;
125
+ flex-shrink: 0;
126
+ }
123
127
  .kd-form-inline .kd-form-field {
124
128
  display: -webkit-inline-box;
125
129
  display: -ms-inline-flexbox;
@@ -17,6 +17,12 @@
17
17
  }
18
18
  }
19
19
 
20
+ &-horizontal {
21
+ .@{field-label-cls} {
22
+ flex-shrink: 0;
23
+ }
24
+ }
25
+
20
26
  &-inline {
21
27
  .@{field-prefix-cls} {
22
28
  display: inline-flex;
package/es/grid/col.js CHANGED
@@ -4,6 +4,7 @@ import * as React from 'react';
4
4
  import classNames from 'classnames';
5
5
  import { getCompProps } from '../_utils';
6
6
  import { ConfigContext } from '../config-provider';
7
+ import { testBrowserType } from '../_utils/testBrowserType';
7
8
 
8
9
  var Col = function Col(props) {
9
10
  var _React$useContext = React.useContext(ConfigContext),
@@ -28,9 +29,11 @@ var Col = function Col(props) {
28
29
  winWidth = _getCompProps.winWidth,
29
30
  children = _getCompProps.children,
30
31
  className = _getCompProps.className,
31
- customPrefixcls = _getCompProps.prefixCls; // className前缀
32
+ customPrefixcls = _getCompProps.prefixCls; // 浏览器名称
32
33
 
33
34
 
35
+ var isSogou = testBrowserType(/^sogou/i, 0); // className前缀
36
+
34
37
  var prefixCls = getPrefixCls(pkgPrefixCls, 'col', customPrefixcls);
35
38
  var columns = 24;
36
39
  var base = {
@@ -97,7 +100,9 @@ var Col = function Col(props) {
97
100
  }, style);
98
101
 
99
102
  return /*#__PURE__*/React.createElement("div", {
100
- className: classNames(prefixCls, className),
103
+ className: classNames(prefixCls, className, {
104
+ 'sogou-col': isSogou
105
+ }),
101
106
  style: styleString
102
107
  }, children);
103
108
  };
package/es/grid/row.js CHANGED
@@ -6,6 +6,7 @@ import classNames from 'classnames';
6
6
  import { getCompProps } from '../_utils';
7
7
  import { ConfigContext } from '../config-provider';
8
8
  import throttle from 'lodash/throttle';
9
+ import { testBrowserType } from '../_utils/testBrowserType';
9
10
 
10
11
  function getGap(gutter, width) {
11
12
  var xs = gutter.xs,
@@ -39,9 +40,11 @@ var Row = function Row(props) {
39
40
  gutter = _getCompProps.gutter,
40
41
  align = _getCompProps.align,
41
42
  justify = _getCompProps.justify,
42
- customPrefixcls = _getCompProps.prefixCls; // className前缀
43
+ customPrefixcls = _getCompProps.prefixCls; // 浏览器名称
43
44
 
44
45
 
46
+ var isSogou = testBrowserType(/^sogou/i, 0); // className前缀
47
+
45
48
  var prefixCls = getPrefixCls(pkgPrefixCls, 'row', customPrefixcls);
46
49
 
47
50
  var _React$useState = React.useState(window.innerWidth),
@@ -99,6 +102,8 @@ var Row = function Row(props) {
99
102
  return /*#__PURE__*/React.createElement("div", {
100
103
  className: classNames(prefixCls, className, {
101
104
  nowrap: !wrap
105
+ }, {
106
+ 'sogou-row': isSogou
102
107
  }),
103
108
  style: styleString
104
109
  }, _mapInstanceProperty(_context = React.Children).call(_context, children, function (child) {
@@ -119,9 +119,15 @@
119
119
  -ms-flex-wrap: nowrap;
120
120
  flex-wrap: nowrap;
121
121
  }
122
+ .kd-row.sogou-row {
123
+ margin-bottom: calc(-1 * var(--rgap));
124
+ }
122
125
  .kd-col {
123
126
  position: relative;
124
127
  -webkit-box-sizing: border-box;
125
128
  box-sizing: border-box;
126
129
  padding: 0 calc(var(--cgap) / 2);
127
130
  }
131
+ .kd-col.sogou-col {
132
+ margin-bottom: var(--rgap);
133
+ }
@@ -13,10 +13,18 @@
13
13
  &.nowrap {
14
14
  flex-wrap: nowrap;
15
15
  }
16
+
17
+ &.sogou-row {
18
+ margin-bottom: calc(-1 * var(--rgap));
19
+ }
16
20
  }
17
21
 
18
22
  .@{col-prefix-cls} {
19
23
  position: relative;
20
24
  box-sizing: border-box;
21
25
  padding: 0 calc(var(--cgap) / 2);
26
+
27
+ &.sogou-col {
28
+ margin-bottom: var(--rgap);
29
+ }
22
30
  }
@@ -13,6 +13,7 @@ interface ClearableInputProps {
13
13
  style?: CSSProperties;
14
14
  disabled?: boolean;
15
15
  focused?: boolean;
16
+ count?: boolean;
16
17
  borderType?: BorderType;
17
18
  size?: InputSiteType;
18
19
  suffix?: React.ReactNode;
@@ -28,7 +28,8 @@ var ClearableInput = function ClearableInput(props) {
28
28
  addonAfter = props.addonAfter,
29
29
  focused = props.focused,
30
30
  numberMark = props.numberMark,
31
- inputCount = props.inputCount;
31
+ inputCount = props.inputCount,
32
+ count = props.count;
32
33
 
33
34
  var _useState = useState(false),
34
35
  _useState2 = _slicedToArray(_useState, 2),
@@ -77,7 +78,7 @@ var ClearableInput = function ClearableInput(props) {
77
78
  var renderInputWithFixNode = function renderInputWithFixNode(originElement) {
78
79
  var _context, _classNames2;
79
80
 
80
- if (!hasPrefixSuffix(props)) {
81
+ if (!hasPrefixSuffix(props) && !count) {
81
82
  return originElement;
82
83
  }
83
84
 
@@ -99,7 +100,7 @@ var ClearableInput = function ClearableInput(props) {
99
100
  var renderInputWithLabel = function renderInputWithLabel(originElement) {
100
101
  var _classNames4, _context2, _classNames5;
101
102
 
102
- if (!addonBefore && !addonAfter) {
103
+ if (!addonBefore && !addonAfter && !count) {
103
104
  return originElement;
104
105
  }
105
106
 
package/es/input/input.js CHANGED
@@ -149,7 +149,11 @@ var InternalInput = function InternalInput(props, ref) {
149
149
 
150
150
  if (count && showNumberMark && !disabled) {
151
151
  return /*#__PURE__*/React.createElement("div", {
152
- className: classNames("".concat(inputPrefixCls, "-input-mark-inner"))
152
+ className: classNames("".concat(inputPrefixCls, "-input-mark-inner")),
153
+ onMouseDown: function onMouseDown(e) {
154
+ e.stopPropagation();
155
+ e.preventDefault();
156
+ }
153
157
  }, enteredLength, maxLength !== undefined ? "/".concat(maxLength) : null);
154
158
  }
155
159
 
@@ -188,6 +192,7 @@ var InternalInput = function InternalInput(props, ref) {
188
192
  prefixCls: inputPrefixCls,
189
193
  element: renderInput(),
190
194
  focused: focused,
195
+ count: count,
191
196
  inputCount: renderCount()
192
197
  }));
193
198
  };
@@ -161,29 +161,42 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
161
161
  _numerical$split2$ = _numerical$split2[1],
162
162
  decimalValue = _numerical$split2$ === void 0 ? '' : _numerical$split2$;
163
163
 
164
+ var sign = '';
165
+
166
+ if (_includesInstanceProperty(integerValue).call(integerValue, '-')) {
167
+ integerValue = integerValue.replace('-', '');
168
+ sign = '-';
169
+ }
170
+
164
171
  var integerValueLength = integerValue.length;
165
172
  var decimalValueLength = decimalValue.length;
166
173
 
167
174
  if (typeof decimalLength === 'number' && typeof digitLength === 'number') {
168
- if (integerValueLength > digitLength - decimalLength) {
169
- resultNumerical = integerValue.substr(0, digitLength - decimalLength);
170
- } else if (decimalValueLength > decimalLength) {
175
+ if (decimalValueLength <= decimalLength && integerValueLength <= digitLength - decimalLength) {
176
+ resultNumerical = numerical;
177
+ } else if (integerValueLength > digitLength - decimalLength) {
171
178
  var _context;
172
179
 
173
- resultNumerical = _concatInstanceProperty(_context = "".concat(integerValue, ".")).call(_context, decimalValue.substr(0, decimalLength));
180
+ resultNumerical = _concatInstanceProperty(_context = "".concat(sign)).call(_context, integerValue.substr(0, digitLength - decimalLength));
181
+ } else if (decimalValueLength > decimalLength) {
182
+ var _context2, _context3;
183
+
184
+ resultNumerical = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = "".concat(sign)).call(_context3, integerValue, ".")).call(_context2, decimalValue.substr(0, decimalLength));
174
185
  }
175
186
  } else if (typeof decimalLength !== 'number' && typeof digitLength === 'number') {
176
187
  if (integerValueLength >= digitLength) {
177
- resultNumerical = integerValue.substr(0, digitLength);
188
+ var _context4;
189
+
190
+ resultNumerical = _concatInstanceProperty(_context4 = "".concat(sign)).call(_context4, integerValue.substr(0, digitLength));
178
191
  } else {
179
- var _context2;
192
+ var _context5, _context6, _context7;
180
193
 
181
- resultNumerical = decimalValueLength ? _concatInstanceProperty(_context2 = "".concat(integerValue, ".")).call(_context2, decimalValue.substr(0, digitLength - integerValueLength)) : integerValue;
194
+ resultNumerical = decimalValueLength ? _concatInstanceProperty(_context5 = _concatInstanceProperty(_context6 = "".concat(sign)).call(_context6, integerValue, ".")).call(_context5, decimalValue.substr(0, digitLength - integerValueLength)) : _concatInstanceProperty(_context7 = "".concat(sign)).call(_context7, integerValue);
182
195
  }
183
196
  } else if (typeof decimalLength === 'number' && typeof digitLength !== 'number') {
184
- var _context3;
197
+ var _context8, _context9, _context10;
185
198
 
186
- resultNumerical = decimalValueLength ? _concatInstanceProperty(_context3 = "".concat(integerValue, ".")).call(_context3, decimalValue.substr(0, decimalLength)) : integerValue;
199
+ resultNumerical = decimalValueLength ? _concatInstanceProperty(_context8 = _concatInstanceProperty(_context9 = "".concat(sign)).call(_context9, integerValue, ".")).call(_context8, decimalValue.substr(0, decimalLength)) : _concatInstanceProperty(_context10 = "".concat(sign)).call(_context10, integerValue);
187
200
  } else {
188
201
  resultNumerical = numerical;
189
202
  }
@@ -220,7 +233,7 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
220
233
  };
221
234
 
222
235
  var handleKeyDown = function handleKeyDown(event) {
223
- var _context4;
236
+ var _context11;
224
237
 
225
238
  if (!stepOption || props.disabled || props.readOnly) {
226
239
  return;
@@ -228,7 +241,7 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
228
241
 
229
242
  var keyCode = event.keyCode;
230
243
 
231
- if (_includesInstanceProperty(_context4 = [38, 40]).call(_context4, keyCode)) {
244
+ if (_includesInstanceProperty(_context11 = [38, 40]).call(_context11, keyCode)) {
232
245
  event.preventDefault();
233
246
  handleStepChang(keyCode === 38 ? 'plus' : 'minus');
234
247
  }
@@ -411,31 +411,42 @@ var InternalSelect = function InternalSelect(props, ref) {
411
411
  selectedVal = _multipleRef$current3.selectedVal,
412
412
  selectMulOpts = _multipleRef$current3.selectMulOpts;
413
413
 
414
- if (!('value' in selectProps)) {
415
- if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== selectedVal.length) {
416
- _mapInstanceProperty(filledOptions).call(filledOptions, function (child) {
417
- var _ref = child.props || child,
418
- value = _ref.value;
419
-
420
- if (!_includesInstanceProperty(selectedVal).call(selectedVal, value)) {
421
- selectedVal.push(value);
422
- selectMulOpts.push({
423
- value: value,
424
- label: getOptionLabel(child)
425
- });
426
- }
427
- });
414
+ var newSelectedVal = _toConsumableArray(selectedVal);
415
+
416
+ var newSelectMulOpts = _toConsumableArray(selectMulOpts);
417
+
418
+ if ((filledOptions === null || filledOptions === void 0 ? void 0 : filledOptions.length) !== newSelectedVal.length) {
419
+ _mapInstanceProperty(filledOptions).call(filledOptions, function (child) {
420
+ var _ref = child.props || child,
421
+ value = _ref.value;
422
+
423
+ if (!_includesInstanceProperty(newSelectedVal).call(newSelectedVal, value)) {
424
+ newSelectedVal.push(value);
425
+ newSelectMulOpts.push({
426
+ value: value,
427
+ label: getOptionLabel(child)
428
+ });
429
+ }
430
+ });
428
431
 
429
- setMulOptions(_toConsumableArray(selectMulOpts));
432
+ if (typeof value === 'undefined') {
433
+ multipleRef.current.selectedVal = newSelectedVal;
434
+ multipleRef.current.selectMulOpts = newSelectMulOpts;
435
+ setMulOptions(_toConsumableArray(newSelectMulOpts));
430
436
  setSearchValue('');
431
- } else {
432
- multipleRef.current.selectedVal = selectedVal = [];
433
- multipleRef.current.selectMulOpts = selectMulOpts = [];
437
+ }
438
+ } else {
439
+ newSelectedVal = [];
440
+ newSelectMulOpts = [];
441
+
442
+ if (typeof value === 'undefined') {
443
+ multipleRef.current.selectedVal = [];
444
+ multipleRef.current.selectMulOpts = [];
434
445
  setMulOptions([]);
435
446
  }
436
447
  }
437
448
 
438
- onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
449
+ onChange && onChange(labelInValue ? newSelectMulOpts : newSelectedVal, newSelectMulOpts);
439
450
  }; // 输入框变化搜索内容
440
451
 
441
452
 
@@ -298,6 +298,8 @@
298
298
  overflow: hidden;
299
299
  white-space: nowrap;
300
300
  text-overflow: ellipsis;
301
+ right: 28px;
302
+ left: 0;
301
303
  }
302
304
  .kd-select-borderless {
303
305
  border: none;
@@ -67,6 +67,8 @@
67
67
  overflow: hidden;
68
68
  white-space: nowrap;
69
69
  text-overflow: ellipsis;
70
+ right: 28px;
71
+ left: 0;
70
72
  }
71
73
 
72
74
  &-borderless {
package/es/tree/tree.js CHANGED
@@ -233,6 +233,11 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
233
233
  }, [loadData, setExpandedKeys]);
234
234
  var handleExpand = React.useCallback(function (key, expanded, node) {
235
235
  var newExpandedKeys = expanded ? addKeys(expandedKeys, [key]) : delKey(expandedKeys, [key]);
236
+
237
+ if (expandedKeysProps === undefined) {
238
+ setExpandedKeys(newExpandedKeys);
239
+ }
240
+
236
241
  onExpand && onExpand(newExpandedKeys, {
237
242
  node: node,
238
243
  expanded: expanded
@@ -407,8 +412,6 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
407
412
  if (scrollToKey) {
408
413
  setSelectedKeys([scrollToKey]);
409
414
  setScrollKey(scrollToKey);
410
- } else {
411
- setSelectedKeys([]);
412
415
  }
413
416
  }, [scrollToKey]);
414
417
  useEffect(function () {
@@ -442,7 +445,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
442
445
  item.onDrop = handleDrop;
443
446
  item.onSelect = handleSelect;
444
447
  item.checked = checked;
445
- item.selected = getSelected(selectedKeys, item.key);
448
+ item.selected = getSelected(Array.isArray(selectedKeys) && selectedKeys[0] ? [selectedKeys[0]] : selectedKeys, item.key);
446
449
  item.indeterminate = indeterminate;
447
450
  item.disabled = getDisabled(disabled, item.disabled);
448
451
  item.showIcon = showIcon || false;
@@ -2,7 +2,7 @@ import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
2
2
  import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
3
3
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
4
4
  import React, { useEffect, useState } from 'react';
5
- import { getInitCheckededKeys, getDataCheckededStateStrictly, getInitExpandedKeys, getPos, getAllParentKeys, getExpandedKeys } from './utils/treeUtils';
5
+ import { getInitCheckededKeys, getDataCheckededStateStrictly, getInitExpandedKeys, getPos, getAllParentKeys } from './utils/treeUtils';
6
6
  export var useViewportHeight = function useViewportHeight(height, listRef) {
7
7
  var _React$useState = React.useState(0),
8
8
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -73,11 +73,8 @@ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, def
73
73
  }
74
74
 
75
75
  var initialExpandedKeys = React.useMemo(function () {
76
- return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, searchExpandedKeys);
77
- }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, searchExpandedKeys]);
78
- var newExpandedKeys = React.useMemo(function () {
79
- return getExpandedKeys(expandedKeysProps, expandScrollkeys);
80
- }, [expandedKeysProps]);
76
+ return getInitExpandedKeys(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, searchExpandedKeys, isInit);
77
+ }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, searchExpandedKeys, isInit]);
81
78
 
82
79
  var _React$useState7 = React.useState(initialExpandedKeys),
83
80
  _React$useState8 = _slicedToArray(_React$useState7, 2),
@@ -85,9 +82,8 @@ export var useExpand = function useExpand(flattenAllData, expandedKeysProps, def
85
82
  setExpandedKeys = _React$useState8[1];
86
83
 
87
84
  React.useEffect(function () {
88
- var keys = isInit || isSearching ? initialExpandedKeys : newExpandedKeys;
89
- setExpandedKeys(keys);
90
- }, [newExpandedKeys, initialExpandedKeys, isSearching, isInit]);
85
+ setExpandedKeys(initialExpandedKeys);
86
+ }, [flattenAllData, expandedKeysProps, searchExpandedKeys, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent]);
91
87
  return [expandedKeys, setExpandedKeys];
92
88
  };
93
89
  export var useScrollToKey = function useScrollToKey(scrollKey, index, estimatedItemSize, scrollRef, viewportHeight, treeNodePrefixCls) {
@@ -60,6 +60,6 @@ export declare const getDataCheckededStateStrictly: (checkedKeys: string[]) => {
60
60
  };
61
61
  export declare const delKey: (prevKeys: string[], delKeys: string[]) => never[] & string[];
62
62
  export declare const getAllNodeKeys: (data: any[]) => string[];
63
- export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchExpandedKeys: string[]) => string[];
63
+ export declare const getInitExpandedKeys: (data: any[], expandedKeys: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, expandScrollkeys: string[] | undefined, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchExpandedKeys: string[], isInit: boolean) => string[];
64
64
  export declare const getExpandedKeys: (expandedKeys: string[], expandScrollkeys?: string[]) => string[];
65
65
  export declare const calcDropPosition: (event: React.MouseEvent, dropNode: HTMLElement) => 0 | 1 | -1;
@@ -704,25 +704,28 @@ export var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys
704
704
  var isSearching = arguments.length > 8 ? arguments[8] : undefined;
705
705
  var keysData = arguments.length > 9 ? arguments[9] : undefined;
706
706
  var searchExpandedKeys = arguments.length > 10 ? arguments[10] : undefined;
707
+ var isInit = arguments.length > 11 ? arguments[11] : undefined;
707
708
  var keys = (expandedKeys === null || expandedKeys === void 0 ? void 0 : _concatInstanceProperty(expandedKeys).call(expandedKeys, expandScrollkeys)) || (defaultExpandedKeys === null || defaultExpandedKeys === void 0 ? void 0 : _concatInstanceProperty(defaultExpandedKeys).call(defaultExpandedKeys, expandScrollkeys)) || [];
708
709
 
709
- if (defaultExpandAll) {
710
- keys = getAllNodeKeys(data);
711
- } else {
712
- if (defaultExpandRoot) {
713
- var rootKey = getRootKeys(data);
710
+ if (isInit) {
711
+ if (defaultExpandAll) {
712
+ keys = getAllNodeKeys(data);
713
+ } else {
714
+ if (defaultExpandRoot) {
715
+ var rootKey = getRootKeys(data);
714
716
 
715
- if (rootKey) {
716
- keys = _concatInstanceProperty(keys).call(keys, rootKey);
717
+ if (rootKey) {
718
+ keys = _concatInstanceProperty(keys).call(keys, rootKey);
719
+ }
717
720
  }
718
- }
719
721
 
720
- if (defaultExpandParent) {
721
- var parentKeys = [];
722
- keys.forEach(function (key) {
723
- parentKeys.push.apply(parentKeys, _toConsumableArray(getAllParentKeys(data, key)));
724
- });
725
- keys = _concatInstanceProperty(keys).call(keys, parentKeys);
722
+ if (defaultExpandParent) {
723
+ var parentKeys = [];
724
+ keys.forEach(function (key) {
725
+ parentKeys.push.apply(parentKeys, _toConsumableArray(getAllParentKeys(data, key)));
726
+ });
727
+ keys = _concatInstanceProperty(keys).call(keys, parentKeys);
728
+ }
726
729
  }
727
730
  }
728
731
 
@@ -0,0 +1 @@
1
+ export declare function testBrowserType(reg: RegExp, type: number): boolean;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.testBrowserType = testBrowserType;
7
+
8
+ function testBrowserType(reg, type) {
9
+ var external = window.external || {};
10
+
11
+ for (var i in external) {
12
+ if (reg.test(type ? external[i] : i)) {
13
+ return true;
14
+ }
15
+ }
16
+
17
+ return false;
18
+ }