@kdcloudjs/kdesign 1.7.35 → 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.
- package/dist/kdesign-complete.less +185 -26
- package/dist/kdesign.css +228 -24
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +565 -119
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +5 -5
- package/dist/kdesign.min.js.map +1 -1
- package/es/city-picker/city-picker.js +1 -1
- package/es/clipboard/clipboard.d.ts +21 -0
- package/es/clipboard/clipboard.js +106 -0
- package/es/clipboard/index.d.ts +4 -0
- package/es/clipboard/index.js +3 -0
- package/es/clipboard/style/css.js +2 -0
- package/es/clipboard/style/index.css +190 -0
- package/es/clipboard/style/index.d.ts +2 -0
- package/es/clipboard/style/index.js +2 -0
- package/es/clipboard/style/index.less +32 -0
- package/es/clipboard/style/mixin.less +39 -0
- package/es/clipboard/style/token.less +52 -0
- package/es/clipboard/util.d.ts +13 -0
- package/es/clipboard/util.js +197 -0
- package/es/config-provider/compDefaultProps.d.ts +5 -0
- package/es/config-provider/compDefaultProps.js +5 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +2 -1
- package/es/message/content.js +1 -4
- package/es/select/interface.d.ts +1 -0
- package/es/select/select.js +3 -8
- package/es/select/style/index.css +7 -4
- package/es/select/style/index.less +12 -4
- package/es/select/style/token.less +1 -0
- package/es/tree/style/index.css +22 -15
- package/es/tree/style/index.less +33 -18
- package/es/tree/tree.d.ts +1 -0
- package/es/tree/tree.js +29 -13
- package/es/tree/treeHooks.d.ts +2 -2
- package/es/tree/treeHooks.js +11 -6
- package/es/tree/treeNode.d.ts +2 -3
- package/es/tree/treeNode.js +6 -5
- package/es/tree/utils/treeUtils.d.ts +2 -2
- package/es/tree/utils/treeUtils.js +5 -6
- package/es/tree-select/interface.d.ts +1 -0
- package/es/tree-select/style/index.css +7 -4
- package/es/tree-select/style/index.less +12 -4
- package/es/tree-select/style/token.less +1 -0
- package/es/tree-select/tree-select.js +6 -2
- package/lib/city-picker/city-picker.js +1 -1
- package/lib/clipboard/clipboard.d.ts +21 -0
- package/lib/clipboard/clipboard.js +121 -0
- package/lib/clipboard/index.d.ts +4 -0
- package/lib/clipboard/index.js +11 -0
- package/lib/clipboard/style/css.js +4 -0
- package/lib/clipboard/style/index.css +190 -0
- package/lib/clipboard/style/index.d.ts +2 -0
- package/lib/clipboard/style/index.js +4 -0
- package/lib/clipboard/style/index.less +32 -0
- package/lib/clipboard/style/mixin.less +39 -0
- package/lib/clipboard/style/token.less +52 -0
- package/lib/clipboard/util.d.ts +13 -0
- package/lib/clipboard/util.js +204 -0
- package/lib/config-provider/compDefaultProps.d.ts +5 -0
- package/lib/config-provider/compDefaultProps.js +5 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +7 -0
- package/lib/message/content.js +1 -4
- package/lib/select/interface.d.ts +1 -0
- package/lib/select/select.js +3 -8
- package/lib/select/style/index.css +7 -4
- package/lib/select/style/index.less +12 -4
- package/lib/select/style/token.less +1 -0
- package/lib/style/components.less +1 -0
- package/lib/tree/style/index.css +22 -15
- package/lib/tree/style/index.less +33 -18
- package/lib/tree/tree.d.ts +1 -0
- package/lib/tree/tree.js +28 -12
- package/lib/tree/treeHooks.d.ts +2 -2
- package/lib/tree/treeHooks.js +10 -5
- package/lib/tree/treeNode.d.ts +2 -3
- package/lib/tree/treeNode.js +6 -5
- package/lib/tree/utils/treeUtils.d.ts +2 -2
- package/lib/tree/utils/treeUtils.js +5 -6
- package/lib/tree-select/interface.d.ts +1 -0
- package/lib/tree-select/style/index.css +7 -4
- package/lib/tree-select/style/index.less +12 -4
- package/lib/tree-select/style/token.less +1 -0
- package/lib/tree-select/tree-select.js +6 -2
- package/package.json +1 -1
|
@@ -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 {
|
|
@@ -702,6 +702,9 @@
|
|
|
702
702
|
color: var(--kd-c-select-footer-color-text-selected, #0e5fd8);
|
|
703
703
|
padding: 0 2px;
|
|
704
704
|
}
|
|
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
|
+
}
|
|
705
708
|
.kd-select-dropdown-panel.topLeft.hidden,
|
|
706
709
|
.kd-select-dropdown-panel.bottomLeft.hidden,
|
|
707
710
|
.kd-select-dropdown-panel.topRight.hidden,
|
|
@@ -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 {
|
|
@@ -439,6 +443,10 @@
|
|
|
439
443
|
}
|
|
440
444
|
}
|
|
441
445
|
|
|
446
|
+
&-error:not(.@{select-prefix-cls}-single-disabled):not(.@{select-prefix-cls}-multiple-disabled) {
|
|
447
|
+
border-color: @select-error-color;
|
|
448
|
+
}
|
|
449
|
+
|
|
442
450
|
&-dropdown-panel {
|
|
443
451
|
&.topLeft.hidden,
|
|
444
452
|
&.bottomLeft.hidden,
|
|
@@ -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";
|
package/lib/tree/style/index.css
CHANGED
|
@@ -143,10 +143,24 @@
|
|
|
143
143
|
-ms-flex-negative: 0;
|
|
144
144
|
flex-shrink: 0;
|
|
145
145
|
}
|
|
146
|
-
.kd-tree-
|
|
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
|
-
|
|
149
|
-
|
|
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:
|
|
196
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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:
|
|
60
|
-
|
|
61
|
-
|
|
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,
|
|
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;
|
package/lib/tree/tree.d.ts
CHANGED
|
@@ -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
|
-
|
|
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)(
|
|
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
|
-
|
|
143
|
-
|
|
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
|
-
|
|
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,
|
|
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)({
|
package/lib/tree/treeHooks.d.ts
CHANGED
|
@@ -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,
|
|
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[]>>];
|
package/lib/tree/treeHooks.js
CHANGED
|
@@ -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,
|
|
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,
|
|
86
|
-
}, [flattenAllData, expandedKeysProps, defaultExpandedKeys, defaultExpandAll, defaultExpandRoot, defaultExpandParent, scrollKey, filterTreeNode, isSearching, keysData,
|
|
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,
|
|
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
|
-
|
|
138
|
+
if (mounting.current) {
|
|
139
|
+
mounting.current = false;
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
setSelectedKeys(selectedKeysProps);
|
|
138
143
|
}, [selectedKeysProps]);
|
|
139
144
|
return [selectedKeys, setSelectedKeys];
|
|
140
145
|
};
|
package/lib/tree/treeNode.d.ts
CHANGED
|
@@ -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
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
13
|
+
isActiveLine?: boolean;
|
|
14
|
+
activeLevel?: number;
|
|
16
15
|
showIcon?: boolean;
|
|
17
16
|
selected?: boolean;
|
|
18
17
|
style?: Map<string, string>;
|
package/lib/tree/treeNode.js
CHANGED
|
@@ -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
|
-
|
|
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", "
|
|
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:
|
|
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,
|
|
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
|
|
621
|
-
var
|
|
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
|
-
|
|
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
|
|
645
|
+
return keys;
|
|
647
646
|
};
|
|
648
647
|
exports.getInitExpandedKeys = getInitExpandedKeys;
|
|
649
648
|
var getExpandedKeys = function getExpandedKeys(expandedKeys) {
|
|
@@ -56,6 +56,7 @@ export interface ITreeSelectProps<T extends TreeSelectValue> extends AbstractSel
|
|
|
56
56
|
defaultValue?: T;
|
|
57
57
|
mode?: Mode;
|
|
58
58
|
autoFocus?: boolean;
|
|
59
|
+
status?: 'error';
|
|
59
60
|
onlyExpandOnClickIcon?: boolean;
|
|
60
61
|
onChange?: (value: T, treeNode: TreeNodeData) => void;
|
|
61
62
|
onSelect?: (value: T extends (infer I)[] ? I : T, { checked, node, event }: any) => void;
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
.kd-tree-select-icon-clear:hover {
|
|
164
164
|
color: var(--kd-c-tree-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
165
165
|
}
|
|
166
|
-
.kd-tree-select-focused {
|
|
166
|
+
.kd-tree-select-focused:not(.kd-tree-select-error) {
|
|
167
167
|
border-color: var(--kd-c-tree-select-color-border-foucs, var(--kd-g-color-theme, #5582f3)) !important;
|
|
168
168
|
}
|
|
169
169
|
.kd-tree-select-placeholder {
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
.kd-tree-select-underline {
|
|
182
182
|
border-bottom: 1px solid var(--kd-c-tree-select-color-border, var(--kd-g-color-input, #999));
|
|
183
183
|
}
|
|
184
|
-
.kd-tree-select-underline:hover:not(.kd-tree-select-multiple-disabled):not(.kd-tree-select-single-disabled) {
|
|
184
|
+
.kd-tree-select-underline:hover:not(.kd-tree-select-multiple-disabled):not(.kd-tree-select-single-disabled):not( .kd-tree-select-error) {
|
|
185
185
|
border-bottom: 1px solid var(--kd-c-tree-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
186
186
|
}
|
|
187
187
|
.kd-tree-select-bordered {
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
padding-left: var(--kd-c-tree-select-bordered-spacing-padding-left, 8px) !important;
|
|
190
190
|
border-radius: var(--kd-c-tree-select-bordered-radius-border, 2px);
|
|
191
191
|
}
|
|
192
|
-
.kd-tree-select-bordered:hover:not(.kd-tree-select-multiple-disabled):not(.kd-tree-select-single-disabled) {
|
|
192
|
+
.kd-tree-select-bordered:hover:not(.kd-tree-select-multiple-disabled):not(.kd-tree-select-single-disabled):not( .kd-tree-select-error) {
|
|
193
193
|
border: 1px solid var(--kd-c-tree-select-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
194
194
|
}
|
|
195
195
|
.kd-tree-select-bordered .kd-tree-select-suffix {
|
|
@@ -312,7 +312,7 @@
|
|
|
312
312
|
white-space: nowrap;
|
|
313
313
|
text-overflow: ellipsis;
|
|
314
314
|
}
|
|
315
|
-
.kd-tree-select .kd-tree-select-single-focused {
|
|
315
|
+
.kd-tree-select .kd-tree-select-single-focused:not(.kd-tree-select-error) {
|
|
316
316
|
border-color: var(--kd-c-tree-select-color-border-foucs, var(--kd-g-color-theme, #5582f3)) !important;
|
|
317
317
|
}
|
|
318
318
|
.kd-tree-select .kd-tree-select-single-disabled {
|
|
@@ -495,6 +495,9 @@
|
|
|
495
495
|
color: var(--kd-c-tree-select-footer-color-text-selected, #0e5fd8);
|
|
496
496
|
padding: 0 2px;
|
|
497
497
|
}
|
|
498
|
+
.kd-tree-select-error:not(.kd-tree-select-single-disabled):not(.kd-tree-select-multiple-disabled) {
|
|
499
|
+
border-color: var(--kd-c-tree-select-color-error, var(--kd-g-color-error, #fb2323));
|
|
500
|
+
}
|
|
498
501
|
.kd-tree-select.topLeft.hidden,
|
|
499
502
|
.kd-tree-select.bottomLeft.hidden,
|
|
500
503
|
.kd-tree-select.topRight.hidden,
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
&-focused {
|
|
62
|
+
&-focused:not(.@{tree-select-prefix-cls}-error) {
|
|
63
63
|
.focusColor();
|
|
64
64
|
}
|
|
65
65
|
&-placeholder {
|
|
@@ -78,7 +78,9 @@
|
|
|
78
78
|
|
|
79
79
|
&-underline {
|
|
80
80
|
border-bottom: 1px solid @tree-select-g-color-border;
|
|
81
|
-
&:hover:not(.@{tree-select-prefix-cls}-multiple-disabled):not(.@{tree-select-prefix-cls}-single-disabled)
|
|
81
|
+
&:hover:not(.@{tree-select-prefix-cls}-multiple-disabled):not(.@{tree-select-prefix-cls}-single-disabled):not(
|
|
82
|
+
.@{tree-select-prefix-cls}-error
|
|
83
|
+
) {
|
|
82
84
|
border-bottom: 1px solid @tree-select-g-color-border-hover;
|
|
83
85
|
}
|
|
84
86
|
}
|
|
@@ -87,7 +89,9 @@
|
|
|
87
89
|
border: 1px solid @tree-select-border-g-color-border;
|
|
88
90
|
padding-left: @tree-select-bordered !important;
|
|
89
91
|
border-radius: @tree-select-border-radius-border;
|
|
90
|
-
&:hover:not(.@{tree-select-prefix-cls}-multiple-disabled):not(.@{tree-select-prefix-cls}-single-disabled)
|
|
92
|
+
&:hover:not(.@{tree-select-prefix-cls}-multiple-disabled):not(.@{tree-select-prefix-cls}-single-disabled):not(
|
|
93
|
+
.@{tree-select-prefix-cls}-error
|
|
94
|
+
) {
|
|
91
95
|
border: 1px solid @tree-select-g-color-border-hover;
|
|
92
96
|
}
|
|
93
97
|
|
|
@@ -206,7 +210,7 @@
|
|
|
206
210
|
.over();
|
|
207
211
|
}
|
|
208
212
|
}
|
|
209
|
-
&-focused {
|
|
213
|
+
&-focused:not(.@{tree-select-prefix-cls}-error) {
|
|
210
214
|
.focusColor();
|
|
211
215
|
}
|
|
212
216
|
&-disabled {
|
|
@@ -383,6 +387,10 @@
|
|
|
383
387
|
}
|
|
384
388
|
}
|
|
385
389
|
|
|
390
|
+
&-error:not(.@{tree-select-prefix-cls}-single-disabled):not(.@{tree-select-prefix-cls}-multiple-disabled) {
|
|
391
|
+
border-color: @tree-select-error-color;
|
|
392
|
+
}
|
|
393
|
+
|
|
386
394
|
&.topLeft.hidden,
|
|
387
395
|
&.bottomLeft.hidden,
|
|
388
396
|
&.topRight.hidden,
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
@tree-select-single-color-text: var(~'@{tree-select-custom-prefix}-single-color-text', @color-text-primary);
|
|
23
23
|
@tree-select-clear-color: var(~'@{tree-select-custom-prefix}-icon-clear-color-text', #d9d9d9);
|
|
24
24
|
@tree-select-clear-color-hover: var(~'@{tree-select-custom-prefix}-icon-clear-color-text-hover', #999);
|
|
25
|
+
@tree-select-error-color: var(~'@{tree-select-custom-prefix}-color-error', @color-error);
|
|
25
26
|
|
|
26
27
|
// font
|
|
27
28
|
@tree-select-list-font-size: var(~'@{tree-select-custom-prefix}-dropdown-font-size', 12px); // 下拉列表文字大小
|