@kdcloudjs/kdesign 1.7.34 → 1.7.37

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 (109) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/kdesign-complete.less +244 -77
  3. package/dist/kdesign.css +263 -42
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +614 -168
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +5 -5
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/city-picker/city-picker.js +1 -1
  11. package/es/clipboard/clipboard.d.ts +21 -0
  12. package/es/clipboard/clipboard.js +106 -0
  13. package/es/clipboard/index.d.ts +4 -0
  14. package/es/clipboard/index.js +3 -0
  15. package/es/clipboard/style/css.js +2 -0
  16. package/es/clipboard/style/index.css +190 -0
  17. package/es/clipboard/style/index.d.ts +2 -0
  18. package/es/clipboard/style/index.js +2 -0
  19. package/es/clipboard/style/index.less +32 -0
  20. package/es/clipboard/style/mixin.less +39 -0
  21. package/es/clipboard/style/token.less +52 -0
  22. package/es/clipboard/util.d.ts +13 -0
  23. package/es/clipboard/util.js +197 -0
  24. package/es/color-picker/color-picker-panel.js +15 -6
  25. package/es/color-picker/color-picker.js +17 -3
  26. package/es/color-picker/interface.d.ts +5 -0
  27. package/es/color-picker/style/index.css +30 -13
  28. package/es/color-picker/style/index.less +49 -43
  29. package/es/config-provider/compDefaultProps.d.ts +5 -0
  30. package/es/config-provider/compDefaultProps.js +5 -0
  31. package/es/index.d.ts +1 -0
  32. package/es/index.js +2 -1
  33. package/es/locale/locale.d.ts +2 -0
  34. package/es/locale/zh-CN.d.ts +2 -0
  35. package/es/locale/zh-CN.js +3 -1
  36. package/es/message/content.js +1 -4
  37. package/es/select/interface.d.ts +1 -0
  38. package/es/select/select.js +15 -12
  39. package/es/select/style/index.css +12 -9
  40. package/es/select/style/index.less +22 -12
  41. package/es/select/style/token.less +1 -0
  42. package/es/tree/style/index.css +22 -15
  43. package/es/tree/style/index.less +33 -18
  44. package/es/tree/tree.d.ts +1 -0
  45. package/es/tree/tree.js +29 -13
  46. package/es/tree/treeHooks.d.ts +2 -2
  47. package/es/tree/treeHooks.js +11 -6
  48. package/es/tree/treeNode.d.ts +2 -3
  49. package/es/tree/treeNode.js +6 -5
  50. package/es/tree/utils/treeUtils.d.ts +2 -2
  51. package/es/tree/utils/treeUtils.js +5 -6
  52. package/es/tree-select/interface.d.ts +1 -0
  53. package/es/tree-select/style/index.css +7 -4
  54. package/es/tree-select/style/index.less +12 -4
  55. package/es/tree-select/style/token.less +1 -0
  56. package/es/tree-select/tree-select.js +6 -2
  57. package/lib/city-picker/city-picker.js +1 -1
  58. package/lib/clipboard/clipboard.d.ts +21 -0
  59. package/lib/clipboard/clipboard.js +121 -0
  60. package/lib/clipboard/index.d.ts +4 -0
  61. package/lib/clipboard/index.js +11 -0
  62. package/lib/clipboard/style/css.js +4 -0
  63. package/lib/clipboard/style/index.css +190 -0
  64. package/lib/clipboard/style/index.d.ts +2 -0
  65. package/lib/clipboard/style/index.js +4 -0
  66. package/lib/clipboard/style/index.less +32 -0
  67. package/lib/clipboard/style/mixin.less +39 -0
  68. package/lib/clipboard/style/token.less +52 -0
  69. package/lib/clipboard/util.d.ts +13 -0
  70. package/lib/clipboard/util.js +204 -0
  71. package/lib/color-picker/color-picker-panel.js +16 -7
  72. package/lib/color-picker/color-picker.js +17 -3
  73. package/lib/color-picker/interface.d.ts +5 -0
  74. package/lib/color-picker/style/index.css +30 -13
  75. package/lib/color-picker/style/index.less +49 -43
  76. package/lib/config-provider/compDefaultProps.d.ts +5 -0
  77. package/lib/config-provider/compDefaultProps.js +5 -0
  78. package/lib/index.d.ts +1 -0
  79. package/lib/index.js +7 -0
  80. package/lib/locale/locale.d.ts +2 -0
  81. package/lib/locale/zh-CN.d.ts +2 -0
  82. package/lib/locale/zh-CN.js +3 -1
  83. package/lib/message/content.js +1 -4
  84. package/lib/select/interface.d.ts +1 -0
  85. package/lib/select/select.js +15 -12
  86. package/lib/select/style/index.css +12 -9
  87. package/lib/select/style/index.less +22 -12
  88. package/lib/select/style/token.less +1 -0
  89. package/lib/style/components.less +1 -0
  90. package/lib/tree/style/index.css +22 -15
  91. package/lib/tree/style/index.less +33 -18
  92. package/lib/tree/tree.d.ts +1 -0
  93. package/lib/tree/tree.js +28 -12
  94. package/lib/tree/treeHooks.d.ts +2 -2
  95. package/lib/tree/treeHooks.js +10 -5
  96. package/lib/tree/treeNode.d.ts +2 -3
  97. package/lib/tree/treeNode.js +6 -5
  98. package/lib/tree/utils/treeUtils.d.ts +2 -2
  99. package/lib/tree/utils/treeUtils.js +5 -6
  100. package/lib/tree-select/interface.d.ts +1 -0
  101. package/lib/tree-select/style/index.css +7 -4
  102. package/lib/tree-select/style/index.less +12 -4
  103. package/lib/tree-select/style/token.less +1 -0
  104. package/lib/tree-select/tree-select.js +6 -2
  105. package/package.json +1 -1
  106. package/es/color-picker/utils/hooks/useOnClickOutside.d.ts +0 -2
  107. package/es/color-picker/utils/hooks/useOnClickOutside.js +0 -16
  108. package/lib/color-picker/utils/hooks/useOnClickOutside.d.ts +0 -2
  109. package/lib/color-picker/utils/hooks/useOnClickOutside.js +0 -23
@@ -53,6 +53,7 @@ export interface ISelectProps<T extends SelectValue> extends AbstractSelectProps
53
53
  defaultValue?: T;
54
54
  mode?: Mode;
55
55
  autoFocus?: boolean;
56
+ status?: 'error';
56
57
  onChange?: (value?: T, option?: React.ReactElement<any> | React.ReactElement<any>[]) => void;
57
58
  onSelect?: (value?: T extends (infer I)[] ? I : T, option?: React.ReactElement<any>) => void;
58
59
  onDeselect?: (value?: T extends (infer I)[] ? I : T, option?: React.ReactElement<any>) => void;
@@ -38,8 +38,12 @@ var InternalSelect = function InternalSelect(props, ref) {
38
38
  var _useContext = (0, _react.useContext)(_ConfigContext.default),
39
39
  getPrefixCls = _useContext.getPrefixCls,
40
40
  prefixCls = _useContext.prefixCls,
41
- userDefaultProps = _useContext.compDefaultProps;
41
+ userDefaultProps = _useContext.compDefaultProps,
42
+ locale = _useContext.locale;
42
43
  var selectProps = (0, _utils.getCompProps)('Select', userDefaultProps, props);
44
+ var selectLangMsg = locale.getCompLangMsg({
45
+ componentName: 'Select'
46
+ });
43
47
  var size = selectProps.size,
44
48
  value = selectProps.value,
45
49
  autoFocus = selectProps.autoFocus,
@@ -75,7 +79,8 @@ var InternalSelect = function InternalSelect(props, ref) {
75
79
  _selectProps$popperSt = selectProps.popperStyle,
76
80
  popperStyle = _selectProps$popperSt === void 0 ? {} : _selectProps$popperSt,
77
81
  tagRender = selectProps.tagRender,
78
- virtualListProps = selectProps.virtualListProps;
82
+ virtualListProps = selectProps.virtualListProps,
83
+ status = selectProps.status;
79
84
  var isMultiple = mode === 'multiple'; // 是否多选
80
85
  var _useMergedState = (0, _hooks.useMergedState)(undefined, {
81
86
  value: value,
@@ -135,7 +140,7 @@ var InternalSelect = function InternalSelect(props, ref) {
135
140
  // 多选底部样式
136
141
  var multipleFooterCls = (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(selectPrefixCls, "-multiple-footer"), true));
137
142
  // 多选,单选公共样式
138
- var commCls = (0, _classnames.default)((_classNames6 = {}, (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames6, (0, _concat.default)(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), _classNames6));
143
+ var commCls = (0, _classnames.default)((_classNames6 = {}, (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-bordered"), borderType === 'bordered'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-underline"), borderType === 'underline'), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-borderless"), borderType === 'none'), (0, _defineProperty2.default)(_classNames6, (0, _concat.default)(_context = "".concat(selectPrefixCls, "-size-")).call(_context, size), size), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-wrapper"), true), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-show-search"), isShowSearch && focusd), (0, _defineProperty2.default)(_classNames6, "".concat(selectPrefixCls, "-error"), status === 'error'), _classNames6));
139
144
  (0, _react.useEffect)(function () {
140
145
  if (typeof props.visible !== 'undefined') {
141
146
  setOptionShow(props.visible);
@@ -580,16 +585,20 @@ var InternalSelect = function InternalSelect(props, ref) {
580
585
  className: dropDownCls,
581
586
  style: dropdownStyle,
582
587
  ref: dropDownRef
583
- }, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender ? dropdownRender(dropRender(childrenToRender, heightStyle)) : null), isMultiple && realChildren.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
588
+ }, !dropdownRender && childrenToRender.length > 0 ? dropRender(eleOptionList, heightStyle) : null, renderNotContent(), /*#__PURE__*/_react.default.createElement("div", null, dropdownRender ? dropdownRender(dropRender(eleOptionList, heightStyle)) : null), isMultiple && realChildren.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
584
589
  className: multipleFooterCls
585
590
  }, /*#__PURE__*/_react.default.createElement(_index.Checkbox, {
586
591
  style: checkboxStyle,
587
592
  checked: checked,
588
593
  indeterminate: indeterminate,
589
594
  onChange: handleSelectAll
590
- }, "\u5168\u9009"), /*#__PURE__*/_react.default.createElement("span", {
595
+ }, selectLangMsg === null || selectLangMsg === void 0 ? void 0 : selectLangMsg.selectAll), /*#__PURE__*/_react.default.createElement("span", {
591
596
  className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected")
592
- }, "\u5DF2\u9009", /*#__PURE__*/_react.default.createElement("span", null, selectedVal.length), "\u9879")) : null));
597
+ }, locale.getLangMsg('Select', 'seleted', {
598
+ size: /*#__PURE__*/_react.default.createElement("span", {
599
+ className: "".concat(selectPrefixCls, "-multiple-footer-hadSelected-number")
600
+ }, selectedVal.length)
601
+ }))) : null));
593
602
  };
594
603
  // 处理多选tag
595
604
  var handleMaxTagHolder = (0, _react.useCallback)(function () {
@@ -790,12 +799,6 @@ var InternalSelect = function InternalSelect(props, ref) {
790
799
  (0, _splice.default)(selectMulOpts).call(selectMulOpts, -1, 1);
791
800
  setMulOptions((0, _toConsumableArray2.default)(selectMulOpts));
792
801
  onChange && onChange(labelInValue ? selectMulOpts : selectedVal, selectMulOpts);
793
- // !isMultiple
794
- } else if (which === _KeyCode.default.BACKSPACE && allowClear && !isMultiple) {
795
- setInitValue('');
796
- onClear && onClear('');
797
- setSearchValue('');
798
- onChange && onChange(undefined);
799
802
  }
800
803
  // optionsList: up、down、enter
801
804
  if (optionShow) {
@@ -296,7 +296,7 @@
296
296
  .kd-select-icon-clear:hover {
297
297
  color: var(--kd-c-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
298
298
  }
299
- .kd-select-focused {
299
+ .kd-select-focused:not(.kd-select-error) {
300
300
  border-color: var(--kd-c-select-color-border-foucs, var(--kd-g-color-theme, #5582f3)) !important;
301
301
  }
302
302
  .kd-select-placeholder {
@@ -323,7 +323,7 @@
323
323
  .kd-select-underline {
324
324
  border-bottom: 1px solid var(--kd-c-select-color-border, var(--kd-g-color-input, #999));
325
325
  }
326
- .kd-select-underline:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled) {
326
+ .kd-select-underline:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled):not( .kd-select-error) {
327
327
  border-bottom: 1px solid var(--kd-c-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
328
328
  }
329
329
  .kd-select-bordered {
@@ -331,7 +331,7 @@
331
331
  padding-left: var(--kd-c-select-bordered-spacing-padding-left, 8px) !important;
332
332
  border-radius: var(--kd-c-select-bordered-radius-border, 2px);
333
333
  }
334
- .kd-select-bordered:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled) {
334
+ .kd-select-bordered:hover:not(.kd-select-multiple-disabled):not(.kd-select-single-disabled):not( .kd-select-error) {
335
335
  border: 1px solid var(--kd-c-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
336
336
  }
337
337
  .kd-select-bordered .kd-select-suffix {
@@ -522,7 +522,7 @@
522
522
  white-space: nowrap;
523
523
  text-overflow: ellipsis;
524
524
  }
525
- .kd-select .kd-select-single-focused {
525
+ .kd-select .kd-select-single-focused:not(.kd-select-error) {
526
526
  border-color: var(--kd-c-select-color-border-foucs, var(--kd-g-color-theme, #5582f3)) !important;
527
527
  }
528
528
  .kd-select .kd-select-single-disabled {
@@ -698,14 +698,17 @@
698
698
  color: #999999;
699
699
  padding-left: 12px;
700
700
  }
701
- .kd-select-multiple-footer-hadSelected > span {
701
+ .kd-select-multiple-footer-hadSelected-number {
702
702
  color: var(--kd-c-select-footer-color-text-selected, #0e5fd8);
703
703
  padding: 0 2px;
704
704
  }
705
- .kd-select.topLeft.hidden,
706
- .kd-select.bottomLeft.hidden,
707
- .kd-select.topRight.hidden,
708
- .kd-select.bottomRight.hidden {
705
+ .kd-select-error:not(.kd-select-single-disabled):not(.kd-select-multiple-disabled) {
706
+ border-color: var(--kd-c-select-color-error, var(--kd-g-color-error, #fb2323));
707
+ }
708
+ .kd-select-dropdown-panel.topLeft.hidden,
709
+ .kd-select-dropdown-panel.bottomLeft.hidden,
710
+ .kd-select-dropdown-panel.topRight.hidden,
711
+ .kd-select-dropdown-panel.bottomRight.hidden {
709
712
  opacity: 0;
710
713
  visibility: hidden;
711
714
  -webkit-transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
@@ -59,7 +59,7 @@
59
59
  }
60
60
  }
61
61
 
62
- &-focused {
62
+ &-focused:not(.@{select-prefix-cls}-error) {
63
63
  .focusColor();
64
64
  }
65
65
  &-placeholder {
@@ -83,7 +83,9 @@
83
83
 
84
84
  &-underline {
85
85
  border-bottom: 1px solid @select-g-color-border;
86
- &:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled) {
86
+ &:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled):not(
87
+ .@{select-prefix-cls}-error
88
+ ) {
87
89
  border-bottom: 1px solid @select-g-color-border-hover;
88
90
  }
89
91
  }
@@ -92,7 +94,9 @@
92
94
  border: 1px solid @select-border-g-color-border;
93
95
  padding-left: @select-bordered !important;
94
96
  border-radius: @select-border-radius-border;
95
- &:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled) {
97
+ &:hover:not(.@{select-prefix-cls}-multiple-disabled):not(.@{select-prefix-cls}-single-disabled):not(
98
+ .@{select-prefix-cls}-error
99
+ ) {
96
100
  border: 1px solid @select-g-color-border-hover;
97
101
  }
98
102
 
@@ -265,7 +269,7 @@
265
269
  .over();
266
270
  }
267
271
  }
268
- &-focused {
272
+ &-focused:not(.@{select-prefix-cls}-error) {
269
273
  .focusColor();
270
274
  }
271
275
  &-disabled {
@@ -431,7 +435,7 @@
431
435
  &-hadSelected {
432
436
  color: #999999;
433
437
  padding-left: 12px;
434
- > span {
438
+ &-number {
435
439
  color: @select-footer-g-text-color-selected;
436
440
  padding: 0 2px;
437
441
  }
@@ -439,12 +443,18 @@
439
443
  }
440
444
  }
441
445
 
442
- &.topLeft.hidden,
443
- &.bottomLeft.hidden,
444
- &.topRight.hidden,
445
- &.bottomRight.hidden {
446
- opacity: 0;
447
- visibility: hidden;
448
- transition: all calc(@transition-duration - 0.1s) @ease;
446
+ &-error:not(.@{select-prefix-cls}-single-disabled):not(.@{select-prefix-cls}-multiple-disabled) {
447
+ border-color: @select-error-color;
448
+ }
449
+
450
+ &-dropdown-panel {
451
+ &.topLeft.hidden,
452
+ &.bottomLeft.hidden,
453
+ &.topRight.hidden,
454
+ &.bottomRight.hidden {
455
+ opacity: 0;
456
+ visibility: hidden;
457
+ transition: all calc(@transition-duration - 0.1s) @ease;
458
+ }
449
459
  }
450
460
  }
@@ -22,6 +22,7 @@
22
22
  @select-single-color-text: var(~'@{select-custom-prefix}-single-color-text', @color-text-primary);
23
23
  @select-clear-color: var(~'@{select-custom-prefix}-icon-clear-color-text', #d9d9d9);
24
24
  @select-clear-color-hover: var(~'@{select-custom-prefix}-icon-clear-color-text-hover', #999);
25
+ @select-error-color: var(~'@{select-custom-prefix}-color-error', @color-error);
25
26
 
26
27
  // font
27
28
  @select-list-font-size: var(~'@{select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
@@ -9,6 +9,7 @@
9
9
  @import "../cascader/style/index.less";
10
10
  @import "../checkbox/style/index.less";
11
11
  @import "../city-picker/style/index.less";
12
+ @import "../clipboard/style/index.less";
12
13
  @import "../collapse/style/index.less";
13
14
  @import "../color-picker/style/index.less";
14
15
  @import "../date-picker/style/index.less";
@@ -143,10 +143,24 @@
143
143
  -ms-flex-negative: 0;
144
144
  flex-shrink: 0;
145
145
  }
146
- .kd-tree-plantom {
146
+ .kd-tree-show-line .kd-tree-node-indent {
147
+ position: relative;
148
+ }
149
+ .kd-tree-show-line .kd-tree-node-indent::before {
147
150
  position: absolute;
148
- min-width: 100%;
149
- z-index: -1;
151
+ left: 50%;
152
+ -webkit-transform: translateX(-50%);
153
+ transform: translateX(-50%);
154
+ width: 1px;
155
+ border-left: 1px solid #d9d9d9;
156
+ content: '';
157
+ -webkit-box-sizing: border-box;
158
+ box-sizing: border-box;
159
+ top: 0;
160
+ bottom: 0;
161
+ }
162
+ .kd-tree-show-line .kd-tree-node-indent-active::before {
163
+ border-color: var(--kd-c-tree-color-theme, var(--kd-g-color-theme, #5582f3));
150
164
  }
151
165
  .kd-tree-node-root {
152
166
  position: relative;
@@ -192,20 +206,10 @@
192
206
  display: -webkit-box;
193
207
  display: -ms-flexbox;
194
208
  display: flex;
195
- width: 1px;
196
- border-top: 0;
197
- border-left: 11px;
198
- border-bottom: 0;
199
- border-right: 10px;
200
- border-color: white;
201
- border-style: solid;
209
+ width: var(--kd-c-tree-expand-icon-sizing-width, 16px);
210
+ margin-right: 6px;
202
211
  height: 100%;
203
212
  cursor: default;
204
- opacity: 0;
205
- }
206
- .kd-tree-node-indent-line {
207
- background-color: black;
208
- opacity: 1;
209
213
  }
210
214
  .kd-tree-node-icon {
211
215
  cursor: pointer;
@@ -316,6 +320,9 @@
316
320
  width: 100%;
317
321
  height: 100%;
318
322
  }
323
+ .kd-tree-node-draggabled.kd-tree-node-dragging .kd-tree-node-indent::before {
324
+ border-color: transparent;
325
+ }
319
326
  .kd-tree-node-drag-over {
320
327
  background-color: var(--kd-c-tree-node-drag-over-color-background, #E3EBFF);
321
328
  -webkit-box-shadow: inset 0 0 0 2px var(--kd-c-tree-node-drag-over-color-border, #5582f3);
@@ -19,10 +19,26 @@
19
19
  min-width: 100%;
20
20
  flex-shrink: 0;
21
21
  }
22
- &-plantom {
23
- position: absolute;
24
- min-width: 100%;
25
- z-index: -1;
22
+
23
+ &-show-line {
24
+ .@{tree-node-prefix-cls}-indent {
25
+ position: relative;
26
+ &::before {
27
+ position: absolute;
28
+ left: 50%;
29
+ transform: translateX(-50%);
30
+ width: 1px;
31
+ border-left: 1px solid #d9d9d9;
32
+ content: '';
33
+ box-sizing: border-box;
34
+ top: 0;
35
+ bottom: 0;
36
+ }
37
+
38
+ &-active::before {
39
+ border-color: @tree-color-theme;
40
+ }
41
+ }
26
42
  }
27
43
  }
28
44
 
@@ -56,21 +72,13 @@
56
72
 
57
73
  &-indent {
58
74
  display: flex;
59
- width: 1px;
60
- border-top: 0;
61
- border-left: 11px;
62
- border-bottom: 0;
63
- border-right: 10px;
64
- border-color: white;
65
- border-style: solid;
75
+ width: @tree-expand-icon-width;
76
+ margin-right: 6px;
77
+
66
78
  height: 100%;
67
79
  cursor: default;
68
- opacity: 0;
69
- }
70
- &-indent-line {
71
- background-color: black;
72
- opacity: 1;
73
80
  }
81
+
74
82
  &-icon {
75
83
  cursor: pointer;
76
84
  height: @tree-expand-icon-height;
@@ -135,6 +143,12 @@
135
143
  align-items: center;
136
144
  width: 100%;
137
145
  height: 100%;
146
+
147
+ &.@{tree-node-prefix-cls}-dragging {
148
+ .@{tree-node-prefix-cls}-indent::before {
149
+ border-color: transparent;
150
+ }
151
+ }
138
152
  }
139
153
 
140
154
  &-drag-over {
@@ -143,13 +157,14 @@
143
157
  }
144
158
 
145
159
  &-drag-line {
146
- &-top, &-bottom {
160
+ &-top,
161
+ &-bottom {
147
162
  position: absolute;
148
163
  left: 0;
149
164
  top: 0;
150
165
  width: 100%;
151
166
  border-top: 2px solid @tree-node-drag-line-border-color;
152
-
167
+
153
168
  &::before {
154
169
  content: '';
155
170
  width: 4px;
@@ -70,5 +70,6 @@ export declare type KeysDataType = {
70
70
  export declare type PosDataType = {
71
71
  [key: string]: TreeNodeData;
72
72
  };
73
+ export declare type SearchStatus = 'NONE' | 'SEARCH_START' | 'SEARCH_DONE';
73
74
  declare const Tree: React.ForwardRefExoticComponent<TreeProps & React.RefAttributes<unknown>>;
74
75
  export default Tree;
package/lib/tree/tree.js CHANGED
@@ -16,6 +16,7 @@ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-core
16
16
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
17
17
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
18
18
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
19
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
19
20
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
20
21
  var _react = _interopRequireWildcard(require("react"));
21
22
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -38,6 +39,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
38
39
  return t;
39
40
  };
40
41
  var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
42
+ var _classNames;
41
43
  var _useContext = (0, _react.useContext)(_ConfigContext.default),
42
44
  getPrefixCls = _useContext.getPrefixCls,
43
45
  prefixCls = _useContext.prefixCls,
@@ -91,9 +93,10 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
91
93
  onlyExpandOnClickIcon = _TreeProps$onlyExpand === void 0 ? false : _TreeProps$onlyExpand,
92
94
  loadData = TreeProps.loadData,
93
95
  notFoundContent = TreeProps.notFoundContent,
94
- others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent"]);
96
+ showLine = TreeProps.showLine,
97
+ others = __rest(TreeProps, ["prefixCls", "treeData", "virtual", "showIcon", "switcherIcon", "icon", "checkable", "checkStrictly", "disabled", "draggable", "scrollToKey", "expandedKeys", "checkedKeys", "defaultExpandRoot", "defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys", "defaultCheckedKeys", "defaultSelectedKeys", "height", "onCheck", "onExpand", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect", "selectedKeys", "setTreeNodeStyle", "setTreeNodeClassName", "estimatedItemSize", "style", "className", "filterTreeNode", "filterValue", "expandOnClickNode", "onlyExpandOnClickIcon", "loadData", "notFoundContent", "showLine"]);
95
98
  var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
96
- var treeNodeClassName = (0, _classnames.default)(className, (0, _defineProperty2.default)({}, "".concat(treePrefixCls), true));
99
+ var treeNodeClassName = (0, _classnames.default)(className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls), true), (0, _defineProperty2.default)(_classNames, "".concat(treePrefixCls, "-show-line"), showLine), _classNames));
97
100
  var treeRootClassName = "".concat(treePrefixCls, "-root");
98
101
  var estimatedItemSize = innerEstimatedItemSize; // 节点高度
99
102
  var _React$useMemo = _react.default.useMemo(function () {
@@ -137,17 +140,21 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
137
140
  _React$useState12 = (0, _slicedToArray2.default)(_React$useState11, 2),
138
141
  loadingKeys = _React$useState12[0],
139
142
  setLoadingKeys = _React$useState12[1];
140
- var _React$useState13 = _react.default.useState([]),
143
+ var _React$useState13 = _react.default.useState('NONE'),
141
144
  _React$useState14 = (0, _slicedToArray2.default)(_React$useState13, 2),
142
- searchExpandedKeys = _React$useState14[0],
143
- setSearchExpandedKeys = _React$useState14[1];
145
+ searchStatus = _React$useState14[0],
146
+ setSearchStatus = _React$useState14[1];
144
147
  var isSearching = _react.default.useMemo(function () {
145
148
  return typeof filterTreeNode === 'function' && !!filterValue;
146
149
  }, [filterValue]);
147
150
  (0, _react.useEffect)(function () {
148
- setSearchExpandedKeys([]);
151
+ if (isSearching) {
152
+ setSearchStatus('SEARCH_START');
153
+ } else {
154
+ setSearchStatus('NONE');
155
+ }
149
156
  }, [filterValue]);
150
- var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchExpandedKeys),
157
+ var _useExpand = (0, _treeHooks.useExpand)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus),
151
158
  _useExpand2 = (0, _slicedToArray2.default)(_useExpand, 2),
152
159
  expandedKeys = _useExpand2[0],
153
160
  setExpandedKeys = _useExpand2[1];
@@ -232,12 +239,9 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
232
239
  node: node,
233
240
  expanded: expanded
234
241
  });
235
- if (isSearching) {
236
- var newSearchExpandedKeys = expanded ? (0, _treeUtils.addKeys)(searchExpandedKeys, [key]) : (0, _treeUtils.delKey)(searchExpandedKeys, [key]);
237
- setSearchExpandedKeys(newSearchExpandedKeys);
238
- }
239
242
  setScrollKey(undefined);
240
243
  setIsInit(false);
244
+ setSearchStatus('SEARCH_DONE');
241
245
  if (expanded && loadData) {
242
246
  handleNodeLoad(loadedKeys, loadingKeys, node);
243
247
  }
@@ -382,6 +386,16 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
382
386
  (0, _react.useEffect)(function () {
383
387
  setCheckedKeys(checkedKeys);
384
388
  }, [checkedKeys, setCheckedKeys]);
389
+ var isSelectedNodeChildrenKey = function isSelectedNodeChildrenKey() {
390
+ var parentKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
391
+ var key = Array.isArray(selectedKeys) ? selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys[0] : selectedKeys;
392
+ return (0, _includes.default)(parentKeys).call(parentKeys, key);
393
+ };
394
+ var seletedKeyLevel = (0, _react.useMemo)(function () {
395
+ var _a;
396
+ var key = Array.isArray(selectedKeys) ? selectedKeys === null || selectedKeys === void 0 ? void 0 : selectedKeys[0] : selectedKeys;
397
+ return (_a = keysData === null || keysData === void 0 ? void 0 : keysData[key]) === null || _a === void 0 ? void 0 : _a.level;
398
+ }, [keysData, selectedKeys]);
385
399
  var renderTreeNode = function renderTreeNode(item) {
386
400
  var checked = (0, _treeUtils.getChecked)(checkedKeys, item.key);
387
401
  var indeterminate = (0, _treeUtils.getHalfChecked)(halfCheckedKeys, item.key);
@@ -416,9 +430,11 @@ var InternalTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
416
430
  item.onlyExpandOnClickIcon = onlyExpandOnClickIcon;
417
431
  item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
418
432
  item.loadData = loadData;
433
+ item.isActiveLine = showLine && isSelectedNodeChildrenKey(item.pathParentKeys);
419
434
  return /*#__PURE__*/_react.default.createElement(_treeNode.default, (0, _extends2.default)({}, item, {
420
435
  key: item.key,
421
- ref: treeNodeRef
436
+ ref: treeNodeRef,
437
+ activeLevel: seletedKeyLevel
422
438
  }));
423
439
  };
424
440
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
@@ -1,9 +1,9 @@
1
- import { TreeNodeData, KeysDataType } from './tree';
1
+ import { TreeNodeData, KeysDataType, SearchStatus } from './tree';
2
2
  import React from 'react';
3
3
  export declare const useViewportHeight: (height: number, listRef: React.RefObject<HTMLElement>) => number[];
4
4
  export declare const useVisibleDataMemo: (virtual: boolean, filterData: TreeNodeData[], viewportHeight: number, estimatedItemSize: number, start: number) => TreeNodeData[][];
5
5
  export declare const usePlantomHeightEffect: (plantomRef: React.RefObject<HTMLElement>, filterData: TreeNodeData[], estimatedItemSize: number) => void;
6
6
  export declare const useChecked: (checkStrictly: boolean, checkedKeysProps: string[], defaultCheckedKeys: string[], _flattenAllData: any[], _maxLevel: number, checkable: boolean, keysData: KeysDataType) => readonly [string[], string[], React.Dispatch<React.SetStateAction<string[]>>, React.Dispatch<React.SetStateAction<string[]>>];
7
- export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchExpandedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
7
+ export declare const useExpand: (flattenAllData: any[], expandedKeysProps: string[], defaultExpandedKeys: string[], defaultExpandAll: boolean, defaultExpandRoot: boolean, defaultExpandParent: boolean, scrollKey: string, isInit: boolean, filterTreeNode: FunctionConstructor, isSearching: boolean, keysData: KeysDataType, searchStatus: SearchStatus) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
8
8
  export declare const useScrollToKey: (scrollKey: string, index: number, estimatedItemSize: number, scrollRef: any, viewportHeight: number, treeNodePrefixCls: string) => void;
9
9
  export declare const useSelect: (selectedKeysProps: string[], defaultSelectedKeys: string[]) => readonly [string[], React.Dispatch<React.SetStateAction<string[]>>];
@@ -75,22 +75,22 @@ var useChecked = function useChecked(checkStrictly, checkedKeysProps, defaultChe
75
75
  return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
76
76
  };
77
77
  exports.useChecked = useChecked;
78
- var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchExpandedKeys) {
78
+ var useExpand = function useExpand(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, isInit, filterTreeNode, isSearching, keysData, searchStatus) {
79
79
  var expandScrollkeys = [];
80
80
  if (scrollKey) {
81
81
  var pos = (0, _treeUtils.getPos)(flattenAllData, scrollKey);
82
82
  expandScrollkeys = (0, _treeUtils.getAllParentKeys)(flattenAllData, pos);
83
83
  }
84
84
  var initialExpandedKeys = _react.default.useMemo(function () {
85
- return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, searchExpandedKeys, isInit);
86
- }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, searchExpandedKeys, isInit]);
85
+ return (0, _treeUtils.getInitExpandedKeys)(flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, expandScrollkeys, filterTreeNode, isSearching, keysData, isInit, searchStatus);
86
+ }, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData, isInit, searchStatus]);
87
87
  var _React$useState7 = _react.default.useState(initialExpandedKeys),
88
88
  _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
89
89
  expandedKeys = _React$useState8[0],
90
90
  setExpandedKeys = _React$useState8[1];
91
91
  _react.default.useEffect(function () {
92
92
  setExpandedKeys(initialExpandedKeys);
93
- }, [flattenAllData, expandedKeysProps, searchExpandedKeys, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent, scrollKey]);
93
+ }, [flattenAllData, expandedKeysProps, defaultExpandAll, defaultExpandedKeys, defaultExpandRoot, defaultExpandParent, scrollKey, searchStatus]);
94
94
  return [expandedKeys, setExpandedKeys];
95
95
  };
96
96
  exports.useExpand = useExpand;
@@ -133,8 +133,13 @@ var useSelect = function useSelect(selectedKeysProps, defaultSelectedKeys) {
133
133
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
134
134
  selectedKeys = _useState2[0],
135
135
  setSelectedKeys = _useState2[1];
136
+ var mounting = (0, _react.useRef)(true);
136
137
  (0, _react.useEffect)(function () {
137
- selectedKeysProps && setSelectedKeys(selectedKeysProps);
138
+ if (mounting.current) {
139
+ mounting.current = false;
140
+ return;
141
+ }
142
+ setSelectedKeys(selectedKeysProps);
138
143
  }, [selectedKeysProps]);
139
144
  return [selectedKeys, setSelectedKeys];
140
145
  };
@@ -10,9 +10,8 @@ export interface TreeNodeProps {
10
10
  draggable?: boolean;
11
11
  disableCheckbox?: boolean;
12
12
  icon?: React.ReactNode | ((props: any) => React.ReactNode);
13
- showLine?: boolean | {
14
- showLeafIcon: boolean;
15
- };
13
+ isActiveLine?: boolean;
14
+ activeLevel?: number;
16
15
  showIcon?: boolean;
17
16
  selected?: boolean;
18
17
  style?: Map<string, string>;
@@ -53,7 +53,8 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
53
53
  hasChildNode = TreeNodeProps.hasChildNode,
54
54
  expand = TreeNodeProps.expand,
55
55
  title = TreeNodeProps.title,
56
- showLine = TreeNodeProps.showLine,
56
+ isActiveLine = TreeNodeProps.isActiveLine,
57
+ activeLevel = TreeNodeProps.activeLevel,
57
58
  showIcon = TreeNodeProps.showIcon,
58
59
  selected = TreeNodeProps.selected,
59
60
  setDragNode = TreeNodeProps.setDragNode,
@@ -74,7 +75,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
74
75
  onDragEnd = TreeNodeProps.onDragEnd,
75
76
  onDrop = TreeNodeProps.onDrop,
76
77
  onSelect = TreeNodeProps.onSelect,
77
- others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "showLine", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "onlyExpandOnClickIcon", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
78
+ others = __rest(TreeNodeProps, ["nodeKey", "prefixCls", "selectable", "checkable", "className", "icon", "switcherIcon", "disabled", "draggable", "pos", "checked", "level", "getDragNode", "hasChildNode", "expand", "title", "isActiveLine", "activeLevel", "showIcon", "selected", "setDragNode", "style", "indeterminate", "estimatedItemSize", "dragOver", "dropPosition", "expandOnClickNode", "onlyExpandOnClickIcon", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
78
79
  var nodeData = _react.default.useMemo(function () {
79
80
  return (0, _extends2.default)({
80
81
  selectable: selectable,
@@ -145,12 +146,11 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
145
146
  return icon;
146
147
  };
147
148
  var indent = function indent() {
148
- var _classNames;
149
149
  var indentArr = [];
150
- var className = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent"), true), (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent-line"), !!showLine), _classNames));
151
150
  for (var i = 0; i < level; i++) {
151
+ var _classNames;
152
152
  indentArr.push( /*#__PURE__*/_react.default.createElement("span", {
153
- className: className,
153
+ className: (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent"), true), (0, _defineProperty2.default)(_classNames, "".concat(treeNodePrefixCls, "-indent-active"), !!isActiveLine && i === activeLevel), _classNames)),
154
154
  key: i,
155
155
  style: {
156
156
  height: "".concat(estimatedItemSize)
@@ -256,6 +256,7 @@ var TreeNode = /*#__PURE__*/_react.default.forwardRef(function (props) {
256
256
  }, [expandOnClickNode, handleExpandIconClick, handleSelect, onlyExpandOnClickIcon]);
257
257
  var handleDragStart = _react.default.useCallback(function (e) {
258
258
  if (!draggable) return;
259
+ e.target.classList.add("".concat(treeNodePrefixCls, "-dragging"));
259
260
  setDragNode(nodeData);
260
261
  onDragStart && onDragStart(e, props);
261
262
  }, [draggable, setDragNode, nodeData, onDragStart, props]);
@@ -1,4 +1,4 @@
1
- import { TreeNodeData, KeysDataType } from '../tree';
1
+ import { TreeNodeData, KeysDataType, SearchStatus } from '../tree';
2
2
  /**
3
3
  * 打平所有数组,并添加pos位置信息,
4
4
  * 方便根据expandKeys等计算节点的expand,checkedKeys计算节点checked状态
@@ -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[], isInit: boolean) => 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, isInit: boolean, searchStatus: SearchStatus) => 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;
@@ -617,8 +617,8 @@ var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys, defau
617
617
  var filterTreeNode = arguments.length > 7 ? arguments[7] : undefined;
618
618
  var isSearching = arguments.length > 8 ? arguments[8] : undefined;
619
619
  var keysData = arguments.length > 9 ? arguments[9] : undefined;
620
- var searchExpandedKeys = arguments.length > 10 ? arguments[10] : undefined;
621
- var isInit = arguments.length > 11 ? arguments[11] : undefined;
620
+ var isInit = arguments.length > 10 ? arguments[10] : undefined;
621
+ var searchStatus = arguments.length > 11 ? arguments[11] : undefined;
622
622
  var keys = (expandedKeys === null || expandedKeys === void 0 ? void 0 : (0, _concat.default)(expandedKeys).call(expandedKeys, expandScrollkeys)) || (defaultExpandedKeys === null || defaultExpandedKeys === void 0 ? void 0 : (0, _concat.default)(defaultExpandedKeys).call(defaultExpandedKeys, expandScrollkeys)) || [];
623
623
  if (isInit) {
624
624
  if (defaultExpandAll) {
@@ -639,11 +639,10 @@ var getInitExpandedKeys = function getInitExpandedKeys(data, expandedKeys, defau
639
639
  }
640
640
  }
641
641
  }
642
- if (isSearching) {
643
- var _context6;
644
- keys = (0, _concat.default)(_context6 = []).call(_context6, (0, _toConsumableArray2.default)(searchExpandedKeys), (0, _toConsumableArray2.default)(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys));
642
+ if (isSearching && searchStatus === 'SEARCH_START') {
643
+ keys = (0, _toConsumableArray2.default)(getAllFilterKeys(data, filterTreeNode, keysData).filterExpandKeys);
645
644
  }
646
- return (0, _from.default)(new _set.default((0, _toConsumableArray2.default)(keys)));
645
+ return keys;
647
646
  };
648
647
  exports.getInitExpandedKeys = getInitExpandedKeys;
649
648
  var getExpandedKeys = function getExpandedKeys(expandedKeys) {