@kdcloudjs/kdesign 1.6.22 → 1.6.24
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/CHANGELOG.md +10 -0
- package/dist/kdesign-complete.less +141 -9
- package/dist/kdesign.css +156 -11
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +652 -66
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +8 -8
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.js +5 -1
- package/es/cascader/cascader.d.ts +7 -3
- package/es/cascader/cascader.js +243 -37
- package/es/cascader/style/index.css +144 -6
- package/es/cascader/style/index.less +122 -5
- package/es/cascader/style/token.less +3 -0
- package/es/cascader/util.d.ts +26 -0
- package/es/cascader/util.js +301 -0
- package/es/config-provider/compDefaultProps.d.ts +1 -0
- package/es/config-provider/compDefaultProps.js +1 -0
- package/es/select/option.js +3 -2
- package/es/select/style/index.css +1 -1
- package/es/select/style/index.less +1 -1
- package/es/stepper/style/index.css +10 -3
- package/es/stepper/style/index.less +12 -3
- package/es/stepper/style/token.less +3 -0
- package/es/tooltip/tooltip.js +1 -1
- package/es/tree/utils/treeUtils.js +2 -2
- package/lib/_utils/usePopper.js +5 -1
- package/lib/cascader/cascader.d.ts +7 -3
- package/lib/cascader/cascader.js +280 -56
- package/lib/cascader/style/index.css +144 -6
- package/lib/cascader/style/index.less +122 -5
- package/lib/cascader/style/token.less +3 -0
- package/lib/cascader/util.d.ts +26 -0
- package/lib/cascader/util.js +353 -0
- package/lib/config-provider/compDefaultProps.d.ts +1 -0
- package/lib/config-provider/compDefaultProps.js +1 -0
- package/lib/select/option.js +3 -2
- package/lib/select/style/index.css +1 -1
- package/lib/select/style/index.less +1 -1
- package/lib/stepper/style/index.css +10 -3
- package/lib/stepper/style/index.less +12 -3
- package/lib/stepper/style/token.less +3 -0
- package/lib/tooltip/tooltip.js +1 -1
- package/lib/tree/utils/treeUtils.js +2 -2
- package/package.json +1 -1
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
border-color: @cascader-active-color;
|
|
17
17
|
|
|
18
18
|
.@{kd-prefix}-input-suffix,
|
|
19
|
-
i[class*=
|
|
19
|
+
i[class*='kdicon'] {
|
|
20
20
|
color: @cascader-active-color;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
&:hover > &-input {
|
|
25
25
|
.@{kd-prefix}-input-suffix,
|
|
26
|
-
i[class*=
|
|
26
|
+
i[class*='kdicon'] {
|
|
27
27
|
color: @cascader-active-color;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
border-color: @color-border-strong;
|
|
35
35
|
|
|
36
36
|
.@{kd-prefix}-input-suffix,
|
|
37
|
-
i[class*=
|
|
37
|
+
i[class*='kdicon'] {
|
|
38
38
|
color: @cascader-disabled-color;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -65,14 +65,14 @@
|
|
|
65
65
|
&.expand {
|
|
66
66
|
border-color: @cascader-active-color;
|
|
67
67
|
|
|
68
|
-
i[class*=
|
|
68
|
+
i[class*='kdicon'] {
|
|
69
69
|
color: @cascader-active-color;
|
|
70
70
|
transform: rotate(180deg);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
.@{kd-prefix}-input-suffix,
|
|
75
|
-
i[class*=
|
|
75
|
+
i[class*='kdicon'] {
|
|
76
76
|
transition: all 0.2s;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -142,6 +142,7 @@
|
|
|
142
142
|
&-item {
|
|
143
143
|
display: flex;
|
|
144
144
|
justify-content: space-between;
|
|
145
|
+
align-items: center;
|
|
145
146
|
padding: 0 @cascader-menu-item-padding-horizontal;
|
|
146
147
|
line-height: @cascader-menu-item-height;
|
|
147
148
|
cursor: pointer;
|
|
@@ -169,6 +170,10 @@
|
|
|
169
170
|
&.last .@{cascader-menu-prefix-cls}-item-label {
|
|
170
171
|
width: 92px;
|
|
171
172
|
}
|
|
173
|
+
|
|
174
|
+
.@{kd-prefix}-cascader-checkbox {
|
|
175
|
+
margin-right: 5px;
|
|
176
|
+
}
|
|
172
177
|
}
|
|
173
178
|
}
|
|
174
179
|
|
|
@@ -176,3 +181,115 @@
|
|
|
176
181
|
padding: 10px 0 20px;
|
|
177
182
|
}
|
|
178
183
|
}
|
|
184
|
+
|
|
185
|
+
.@{kd-prefix}-cascader {
|
|
186
|
+
&-bordered {
|
|
187
|
+
border: 1px solid #d9d9d9;
|
|
188
|
+
padding-left: 8px !important;
|
|
189
|
+
border-radius: 2px;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
&-multiple {
|
|
193
|
+
padding: 1px 28px 1px 0;
|
|
194
|
+
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
195
|
+
width: 100%;
|
|
196
|
+
min-height: 30px;
|
|
197
|
+
max-height: 100px;
|
|
198
|
+
color: #212121;
|
|
199
|
+
display: flex;
|
|
200
|
+
cursor: pointer;
|
|
201
|
+
box-sizing: border-box;
|
|
202
|
+
overflow-y: auto;
|
|
203
|
+
overflow-x: hidden;
|
|
204
|
+
position: relative;
|
|
205
|
+
border-bottom: 1px solid #d9d9d9;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
&-multiple-wrapper {
|
|
209
|
+
display: flex;
|
|
210
|
+
align-items: center;
|
|
211
|
+
flex-wrap: wrap;
|
|
212
|
+
width: 100%;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
&-placeholder {
|
|
216
|
+
position: absolute;
|
|
217
|
+
color: @select-placeholder-color;
|
|
218
|
+
overflow: hidden;
|
|
219
|
+
white-space: nowrap;
|
|
220
|
+
text-overflow: ellipsis;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
&-suffix {
|
|
224
|
+
right: 0;
|
|
225
|
+
position: absolute;
|
|
226
|
+
display: flex;
|
|
227
|
+
flex: 0;
|
|
228
|
+
flex-wrap: wrap;
|
|
229
|
+
align-items: center;
|
|
230
|
+
justify-content: center;
|
|
231
|
+
margin-left: 8px;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
&-selection-tag {
|
|
235
|
+
max-width: 100%;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
&-multiple:hover &-icon-clear {
|
|
239
|
+
opacity: 1;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
&-icon {
|
|
243
|
+
&-arrow {
|
|
244
|
+
display: inline-flex;
|
|
245
|
+
align-items: center;
|
|
246
|
+
vertical-align: middle;
|
|
247
|
+
&-up {
|
|
248
|
+
transform: rotate(180deg);
|
|
249
|
+
transition: transform calc(@transition-duration - 0.1s) @ease;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
&-down {
|
|
253
|
+
transform: rotate(0deg);
|
|
254
|
+
transition: transform calc(@transition-duration - 0.1s) @ease;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
&-focus {
|
|
258
|
+
color: @cascader-g-color-border-foucs;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
&-clear {
|
|
263
|
+
opacity: 0;
|
|
264
|
+
z-index: 1;
|
|
265
|
+
position: absolute;
|
|
266
|
+
background: #fff;
|
|
267
|
+
transition: opacity 0.15s ease;
|
|
268
|
+
color: @cascader-clear-color;
|
|
269
|
+
&:hover {
|
|
270
|
+
color: @cascader-clear-color-hover;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
&-tag {
|
|
275
|
+
&-describe {
|
|
276
|
+
font-size: 12px;
|
|
277
|
+
height: 20px;
|
|
278
|
+
line-height: 18px;
|
|
279
|
+
margin: 2px 8px 2px 0;
|
|
280
|
+
user-select: none;
|
|
281
|
+
|
|
282
|
+
&-content {
|
|
283
|
+
display: inline-flex;
|
|
284
|
+
align-items: center;
|
|
285
|
+
vertical-align: middle;
|
|
286
|
+
padding: 0 7px;
|
|
287
|
+
overflow: hidden;
|
|
288
|
+
white-space: nowrap;
|
|
289
|
+
text-overflow: ellipsis;
|
|
290
|
+
border: 1px solid #ccc;
|
|
291
|
+
color: #212121;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
@cascader-selected-bg-color: var(~'@{cascader-prefix}-color-background-selected', @color-background-ongoing);
|
|
21
21
|
@cascader-disabled-color: var(~'@{cascader-prefix}-color-text-disabled', @color-disabled);
|
|
22
22
|
@cascader-clear-color: var(~'@{cascader-prefix}-clear-color-text', #d9d9d9);
|
|
23
|
+
@cascader-g-color-border-foucs: var(~'@{cascader-prefix}-color-border-foucs', @color-theme);
|
|
24
|
+
@cascader-clear-color: var(~'@{cascader-prefix}-icon-clear-color-text', #d9d9d9);
|
|
25
|
+
@cascader-clear-color-hover: var(~'@{cascader-prefix}-icon-clear-color-text-hover', #999);
|
|
23
26
|
|
|
24
27
|
// font
|
|
25
28
|
@cascader-font-size: var(~'@{cascader-prefix}-font-size', @font-size-small);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CascaderValueType, CascaderOptionType, KeysDataType } from './cascader';
|
|
3
|
+
export declare const useChecked: (value: CascaderValueType, flattenData: CascaderOptionType[], keysData: KeysDataType, isMultiple: boolean) => never[] | readonly [unknown[], unknown[], import("react").Dispatch<import("react").SetStateAction<unknown[]>>, import("react").Dispatch<import("react").SetStateAction<unknown[]>>];
|
|
4
|
+
export declare const flattenAll: (data: CascaderOptionType[], newTreeData?: CascaderOptionType[]) => {
|
|
5
|
+
formatData: CascaderOptionType[];
|
|
6
|
+
keysData: CascaderOptionType;
|
|
7
|
+
flattenData: CascaderOptionType[];
|
|
8
|
+
};
|
|
9
|
+
export declare const isHalfChecked: (data: any[]) => boolean;
|
|
10
|
+
export declare const ValueSeparator = "__kdm_cascader__";
|
|
11
|
+
export declare const transformValuesToSet: (values: CascaderValueType) => Set<unknown>;
|
|
12
|
+
export declare const valueInSet: (set: Set<any>, value: string[]) => boolean;
|
|
13
|
+
export declare function getChildNodeKeys(node: CascaderOptionType, keysNodeProps: KeysDataType): Set<string>;
|
|
14
|
+
export declare const setNodeCheckedByValue: (initValues: CascaderValueType, flatNodes: CascaderOptionType[], keysNodeProps: KeysDataType) => {
|
|
15
|
+
checkedKeys: unknown[];
|
|
16
|
+
halfCheckedKeys: unknown[];
|
|
17
|
+
};
|
|
18
|
+
export declare const getHalfChecked: (halfCheckedKeys: any[], key: string) => boolean;
|
|
19
|
+
export declare const getChecked: (checkedKeys: any[], key: string) => boolean;
|
|
20
|
+
export declare const addKeys: (prevKeys?: any[], newKeys?: any[]) => any[];
|
|
21
|
+
export declare const delKey: (prevKeys: any[], delKeys: any[]) => never[] & any[];
|
|
22
|
+
export declare const getMultipleCheckValue: (_propsValue: CascaderValueType, _option: CascaderOptionType, _checked: boolean, flatNodes: CascaderOptionType[], checkedKeys: []) => any[];
|
|
23
|
+
export declare function getAllCheckedKeys(key: any, checked: boolean, checkedKeys: any[], keysNodeProps: KeysDataType, halfCheckedKeys: any[]): {
|
|
24
|
+
checkedKeys: any[];
|
|
25
|
+
halfCheckedKeys: any[];
|
|
26
|
+
};
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
|
|
2
|
+
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
3
|
+
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
4
|
+
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
|
5
|
+
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
6
|
+
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
7
|
+
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
8
|
+
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
9
|
+
import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
|
|
10
|
+
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
11
|
+
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
12
|
+
import _spliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/splice";
|
|
13
|
+
|
|
14
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
15
|
+
var t = {};
|
|
16
|
+
|
|
17
|
+
for (var p in s) {
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
import { useEffect, useState, useMemo } from 'react';
|
|
28
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
29
|
+
export var useChecked = function useChecked(value, flattenData, keysData, isMultiple) {
|
|
30
|
+
var initialCheckedState = useMemo(function () {
|
|
31
|
+
return setNodeCheckedByValue(value, flattenData, keysData);
|
|
32
|
+
}, [value, flattenData, keysData]);
|
|
33
|
+
|
|
34
|
+
var _useState = useState(initialCheckedState.checkedKeys),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
checkedKeys = _useState2[0],
|
|
37
|
+
setCheckedKeys = _useState2[1];
|
|
38
|
+
|
|
39
|
+
var _useState3 = useState(initialCheckedState.halfCheckedKeys),
|
|
40
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
41
|
+
halfCheckedKeys = _useState4[0],
|
|
42
|
+
setHalfCheckedKeys = _useState4[1];
|
|
43
|
+
|
|
44
|
+
useEffect(function () {
|
|
45
|
+
setCheckedKeys(initialCheckedState.checkedKeys);
|
|
46
|
+
}, [initialCheckedState.checkedKeys]);
|
|
47
|
+
useEffect(function () {
|
|
48
|
+
setHalfCheckedKeys(initialCheckedState.halfCheckedKeys);
|
|
49
|
+
}, [initialCheckedState.halfCheckedKeys]);
|
|
50
|
+
if (!isMultiple) return [];
|
|
51
|
+
return [checkedKeys, halfCheckedKeys, setCheckedKeys, setHalfCheckedKeys];
|
|
52
|
+
};
|
|
53
|
+
export var flattenAll = function flattenAll(data) {
|
|
54
|
+
var newTreeData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
55
|
+
var keysData = {};
|
|
56
|
+
var formatData = cloneDeep(data);
|
|
57
|
+
|
|
58
|
+
var fn = function fn(data) {
|
|
59
|
+
var newTreeData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
60
|
+
var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
61
|
+
var newParent = cloneDeep(parent);
|
|
62
|
+
|
|
63
|
+
if (newParent) {
|
|
64
|
+
newParent.children = null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
data && data.forEach(function (item) {
|
|
68
|
+
var _context, _context2;
|
|
69
|
+
|
|
70
|
+
var children = item.children,
|
|
71
|
+
label = item.label,
|
|
72
|
+
value = item.value,
|
|
73
|
+
others = __rest(item, ["children", "label", "value"]);
|
|
74
|
+
|
|
75
|
+
var flattenNode = _extends({
|
|
76
|
+
label: label,
|
|
77
|
+
value: value,
|
|
78
|
+
children: children,
|
|
79
|
+
parent: newParent,
|
|
80
|
+
parentKey: (parent === null || parent === void 0 ? void 0 : parent.value) || null,
|
|
81
|
+
pathKeys: _concatInstanceProperty(_context = []).call(_context, _toConsumableArray((parent === null || parent === void 0 ? void 0 : parent.pathKeys) || []), [value]),
|
|
82
|
+
_level: parent ? parent._level + 1 : 0
|
|
83
|
+
}, others);
|
|
84
|
+
|
|
85
|
+
item.parent = newParent;
|
|
86
|
+
item.parentKey = (parent === null || parent === void 0 ? void 0 : parent.value) || null;
|
|
87
|
+
item.pathKeys = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray((parent === null || parent === void 0 ? void 0 : parent.pathKeys) || []), [value]);
|
|
88
|
+
item._level = parent ? parent._level + 1 : 0;
|
|
89
|
+
value && (keysData[value] = flattenNode);
|
|
90
|
+
newTreeData.push(flattenNode);
|
|
91
|
+
children && fn(children, newTreeData, flattenNode);
|
|
92
|
+
});
|
|
93
|
+
return newTreeData;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
var flattenData = fn(formatData, newTreeData);
|
|
97
|
+
return {
|
|
98
|
+
formatData: formatData,
|
|
99
|
+
keysData: keysData,
|
|
100
|
+
flattenData: flattenData
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
export var isHalfChecked = function isHalfChecked(data) {
|
|
104
|
+
var checkedLen = data.reduce(function (total, prev) {
|
|
105
|
+
var num = prev._halfChecked ? 0.5 : prev._checked ? 1 : 0;
|
|
106
|
+
return total + num;
|
|
107
|
+
}, 0);
|
|
108
|
+
return checkedLen !== data.length && checkedLen > 0;
|
|
109
|
+
};
|
|
110
|
+
export var ValueSeparator = '__kdm_cascader__';
|
|
111
|
+
export var transformValuesToSet = function transformValuesToSet(values) {
|
|
112
|
+
var _values = values || [];
|
|
113
|
+
|
|
114
|
+
var valuesSet = _values.reduce(function (set, next) {
|
|
115
|
+
var _context3;
|
|
116
|
+
|
|
117
|
+
set.add(_concatInstanceProperty(_context3 = []).call(_context3, next).join(ValueSeparator));
|
|
118
|
+
return set;
|
|
119
|
+
}, new _Set());
|
|
120
|
+
|
|
121
|
+
return valuesSet;
|
|
122
|
+
};
|
|
123
|
+
export var valueInSet = function valueInSet(set, value) {
|
|
124
|
+
var _value = value || [];
|
|
125
|
+
|
|
126
|
+
return set.has(_value.join(ValueSeparator));
|
|
127
|
+
};
|
|
128
|
+
export function getChildNodeKeys(node, keysNodeProps) {
|
|
129
|
+
var nodes = new _Set();
|
|
130
|
+
|
|
131
|
+
var loop = function loop(children) {
|
|
132
|
+
_mapInstanceProperty(children).call(children, function (child) {
|
|
133
|
+
var key = child.value;
|
|
134
|
+
if (!key) return;
|
|
135
|
+
var item = keysNodeProps[key];
|
|
136
|
+
|
|
137
|
+
if (!item || item.disabled) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
key && nodes.add(key);
|
|
142
|
+
loop(item.children || []);
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
if (node) {
|
|
147
|
+
loop(node.children || []);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return nodes;
|
|
151
|
+
}
|
|
152
|
+
export var setNodeCheckedByValue = function setNodeCheckedByValue(initValues, flatNodes, keysNodeProps) {
|
|
153
|
+
var _context4, _context5;
|
|
154
|
+
|
|
155
|
+
var valuesSet = transformValuesToSet(initValues);
|
|
156
|
+
var checkedSet = new _Set();
|
|
157
|
+
var halfCheckedSet = new _Set();
|
|
158
|
+
var childCheckedKeysSet = new _Set();
|
|
159
|
+
flatNodes.forEach(function (node) {
|
|
160
|
+
if (node.pathKeys.some(function (_item, index, arr) {
|
|
161
|
+
return valueInSet(valuesSet, _sliceInstanceProperty(arr).call(arr, 0, index + 1));
|
|
162
|
+
})) {
|
|
163
|
+
checkedSet.add(node.value);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
_mapInstanceProperty(_context4 = _toConsumableArray(checkedSet)).call(_context4, function (value) {
|
|
168
|
+
if (!childCheckedKeysSet.has(value)) {
|
|
169
|
+
var childKeys = getChildNodeKeys(keysNodeProps[value], keysNodeProps);
|
|
170
|
+
childKeys.forEach(function (v) {
|
|
171
|
+
childCheckedKeysSet.add(v);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
updateParent(value, keysNodeProps, checkedSet, halfCheckedSet);
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
return {
|
|
179
|
+
checkedKeys: _toConsumableArray(new _Set(_concatInstanceProperty(_context5 = []).call(_context5, _toConsumableArray(checkedSet), _toConsumableArray(childCheckedKeysSet)))),
|
|
180
|
+
halfCheckedKeys: _toConsumableArray(halfCheckedSet)
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
var updateParent = function updateParent(key, keysNodeProps, allKeys, halfCheckedKeysSet) {
|
|
185
|
+
var pathKeys = _toConsumableArray(keysNodeProps[key].pathKeys);
|
|
186
|
+
|
|
187
|
+
pathKeys.pop();
|
|
188
|
+
pathKeys.reverse().forEach(function (itemKey) {
|
|
189
|
+
var parent = keysNodeProps[itemKey];
|
|
190
|
+
|
|
191
|
+
if (parent && !parent.disabled) {
|
|
192
|
+
var total = 0;
|
|
193
|
+
var number = 0;
|
|
194
|
+
parent.children.some(function (_ref) {
|
|
195
|
+
var value = _ref.value;
|
|
196
|
+
var item = keysNodeProps[value];
|
|
197
|
+
|
|
198
|
+
if (!item || item.disabled) {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
total++;
|
|
203
|
+
|
|
204
|
+
if (allKeys.has(value)) {
|
|
205
|
+
number++;
|
|
206
|
+
} else if (halfCheckedKeysSet.has(value)) {
|
|
207
|
+
number += 0.5;
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
if (!number || number === total) {
|
|
213
|
+
halfCheckedKeysSet.delete(itemKey);
|
|
214
|
+
} else {
|
|
215
|
+
halfCheckedKeysSet.add(itemKey);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (number && number === total) {
|
|
219
|
+
allKeys.add(itemKey);
|
|
220
|
+
} else {
|
|
221
|
+
allKeys.delete(itemKey);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export var getHalfChecked = function getHalfChecked(halfCheckedKeys, key) {
|
|
228
|
+
return halfCheckedKeys === null || halfCheckedKeys === void 0 ? void 0 : _includesInstanceProperty(halfCheckedKeys).call(halfCheckedKeys, key);
|
|
229
|
+
};
|
|
230
|
+
export var getChecked = function getChecked(checkedKeys, key) {
|
|
231
|
+
return checkedKeys === null || checkedKeys === void 0 ? void 0 : _includesInstanceProperty(checkedKeys).call(checkedKeys, key);
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
var getCheckedNodes = function getCheckedNodes(flatNodes, checkedKeys) {
|
|
235
|
+
return _filterInstanceProperty(flatNodes).call(flatNodes, function (node) {
|
|
236
|
+
return checkedKeys === null || checkedKeys === void 0 ? void 0 : _includesInstanceProperty(checkedKeys).call(checkedKeys, node.value);
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
export var addKeys = function addKeys() {
|
|
241
|
+
var _context6;
|
|
242
|
+
|
|
243
|
+
var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
244
|
+
var newKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
245
|
+
return _Array$from(new _Set(_concatInstanceProperty(_context6 = []).call(_context6, _toConsumableArray(prevKeys), _toConsumableArray(newKeys))));
|
|
246
|
+
};
|
|
247
|
+
export var delKey = function delKey(prevKeys, delKeys) {
|
|
248
|
+
var keys = _extends([], prevKeys);
|
|
249
|
+
|
|
250
|
+
delKeys.forEach(function (item) {
|
|
251
|
+
var index = keys.indexOf(item);
|
|
252
|
+
index > -1 && _spliceInstanceProperty(keys).call(keys, index, 1);
|
|
253
|
+
});
|
|
254
|
+
return keys;
|
|
255
|
+
};
|
|
256
|
+
export var getMultipleCheckValue = function getMultipleCheckValue(_propsValue, _option, _checked, flatNodes, checkedKeys) {
|
|
257
|
+
var _context7;
|
|
258
|
+
|
|
259
|
+
var checkedNodes = getCheckedNodes(flatNodes, checkedKeys);
|
|
260
|
+
|
|
261
|
+
var currentValue = _filterInstanceProperty(_context7 = _mapInstanceProperty(checkedNodes).call(checkedNodes, function (node) {
|
|
262
|
+
return !node.children && node.pathKeys;
|
|
263
|
+
})).call(_context7, function (node) {
|
|
264
|
+
return node;
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
return currentValue;
|
|
268
|
+
};
|
|
269
|
+
export function getAllCheckedKeys(key, checked, checkedKeys, keysNodeProps, halfCheckedKeys) {
|
|
270
|
+
if (!keysNodeProps[key]) {
|
|
271
|
+
return {
|
|
272
|
+
checkedKeys: checkedKeys,
|
|
273
|
+
halfCheckedKeys: halfCheckedKeys
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
var checkedKeysSet = new _Set(checkedKeys);
|
|
278
|
+
var halfCheckedKeysSet = new _Set(halfCheckedKeys);
|
|
279
|
+
var childKeys = getChildNodeKeys(keysNodeProps[key], keysNodeProps);
|
|
280
|
+
var allKeys = checkedKeysSet;
|
|
281
|
+
|
|
282
|
+
if (checked) {
|
|
283
|
+
allKeys.add(key);
|
|
284
|
+
halfCheckedKeysSet.delete(key);
|
|
285
|
+
childKeys.forEach(function (v) {
|
|
286
|
+
allKeys.add(v);
|
|
287
|
+
});
|
|
288
|
+
} else {
|
|
289
|
+
halfCheckedKeysSet.delete(key);
|
|
290
|
+
allKeys.delete(key);
|
|
291
|
+
childKeys.forEach(function (v) {
|
|
292
|
+
allKeys.delete(v);
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
updateParent(key, keysNodeProps, checkedKeysSet, halfCheckedKeysSet);
|
|
297
|
+
return {
|
|
298
|
+
checkedKeys: _toConsumableArray(allKeys),
|
|
299
|
+
halfCheckedKeys: _toConsumableArray(halfCheckedKeysSet)
|
|
300
|
+
};
|
|
301
|
+
}
|
package/es/select/option.js
CHANGED
|
@@ -25,7 +25,8 @@ var InternalOption = function InternalOption(props, ref) {
|
|
|
25
25
|
disabled = props.disabled,
|
|
26
26
|
values = _valuesInstanceProperty(props),
|
|
27
27
|
isMultiple = props.isMultiple,
|
|
28
|
-
onChangeSelect = props.onChangeSelect
|
|
28
|
+
onChangeSelect = props.onChangeSelect,
|
|
29
|
+
title = props.title;
|
|
29
30
|
|
|
30
31
|
var optionProps = _extends({}, props);
|
|
31
32
|
|
|
@@ -55,7 +56,7 @@ var InternalOption = function InternalOption(props, ref) {
|
|
|
55
56
|
onChangeSelect && onChangeSelect(value, children, isSelected);
|
|
56
57
|
};
|
|
57
58
|
|
|
58
|
-
var titleText = _typeof(children) !== 'object' ? children : null;
|
|
59
|
+
var titleText = title || (_typeof(children) !== 'object' ? children : null);
|
|
59
60
|
var checkStyle = {
|
|
60
61
|
minHeight: '22px',
|
|
61
62
|
background: 'none'
|
|
@@ -320,7 +320,7 @@
|
|
|
320
320
|
padding-right: 8px;
|
|
321
321
|
}
|
|
322
322
|
.kd-select-bordered.kd-select-single .kd-select-selection-search {
|
|
323
|
-
left: var(--kd-c-select-bordered-spacing-padding-left, 8px);
|
|
323
|
+
padding-left: var(--kd-c-select-bordered-spacing-padding-left, 8px);
|
|
324
324
|
}
|
|
325
325
|
.kd-select-wrapper {
|
|
326
326
|
-webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
@@ -103,9 +103,16 @@
|
|
|
103
103
|
/* ----------- zIndex ——————---- end */
|
|
104
104
|
.kd-inputNumber-stepper {
|
|
105
105
|
width: 100px;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
--kd-c-
|
|
106
|
+
}
|
|
107
|
+
.kd-inputNumber-stepper.kd-input-wrapper {
|
|
108
|
+
padding-left: var(--kd-c-stepper-padding-left, 9px) !important;
|
|
109
|
+
}
|
|
110
|
+
.kd-inputNumber-stepper.kd-input-wrapper .kd-input {
|
|
111
|
+
padding-left: var(--kd-c-stepper-input-padding-left, 0px);
|
|
112
|
+
}
|
|
113
|
+
.kd-inputNumber-stepper.kd-input-wrapper-size-middle {
|
|
114
|
+
height: var(--kd-c-stepper-sizing-height, 28px);
|
|
115
|
+
line-height: var(--kd-c-stepper-sizing-height, 28px);
|
|
109
116
|
}
|
|
110
117
|
.kd-inputNumber-stepper input {
|
|
111
118
|
text-align: center;
|
|
@@ -6,9 +6,18 @@
|
|
|
6
6
|
.@{inputNumber-prefix-cls} {
|
|
7
7
|
width: 100px;
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
&.@{kd-prefix}-input-wrapper {
|
|
10
|
+
padding-left: @stepper-input-wrapper-padding-left !important;
|
|
11
|
+
|
|
12
|
+
.@{kd-prefix}-input {
|
|
13
|
+
padding-left: @stepper-input-padding-left;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&-size-middle {
|
|
17
|
+
height: @stepper-middle-height;
|
|
18
|
+
line-height: @stepper-middle-height;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
12
21
|
input {
|
|
13
22
|
text-align: center;
|
|
14
23
|
color: @stepper-input-color;
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
@stepper-input-small-sizing-height: var(~'@{stepper-prefix}-input-small-sizing-height', 20px);
|
|
20
20
|
@stepper-input-middle-sizing-height: var(~'@{stepper-prefix}-input-middle-sizing-height', 28px);
|
|
21
21
|
@stepper-input-large-sizing-height: var(~'@{stepper-prefix}-input-large-sizing-height', 36px);
|
|
22
|
+
@stepper-input-wrapper-padding-left: var(~'@{stepper-prefix}-padding-left', 9px);
|
|
23
|
+
@stepper-input-padding-left: var(~'@{stepper-prefix}-input-padding-left', 0px);
|
|
24
|
+
@stepper-middle-height: var(~'@{stepper-prefix}-sizing-height', 28px);
|
|
22
25
|
|
|
23
26
|
// spacing
|
|
24
27
|
@stepper-input-spacing-padding-horizontal: var(~'@{stepper-prefix}-input-spacing-padding-horizontal', 9px);
|
package/es/tooltip/tooltip.js
CHANGED
|
@@ -22,7 +22,7 @@ var Tooltip = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
var onVisibleChange = function onVisibleChange(v) {
|
|
25
|
-
if (status.current === v) return;
|
|
25
|
+
if (status.current === v && allProps.visible === undefined) return;
|
|
26
26
|
status.current = v;
|
|
27
27
|
props.onVisibleChange && props.onVisibleChange(v);
|
|
28
28
|
};
|
|
@@ -477,14 +477,14 @@ var updateParent = function updateParent(key, keysNodeProps, allKeys, halfChecke
|
|
|
477
477
|
pathParentKeys.reverse().forEach(function (itemKey) {
|
|
478
478
|
var parent = keysNodeProps[itemKey];
|
|
479
479
|
|
|
480
|
-
if (parent &&
|
|
480
|
+
if (parent && parent.checkable !== false) {
|
|
481
481
|
var total = 0;
|
|
482
482
|
var number = 0;
|
|
483
483
|
parent.children.some(function (_ref) {
|
|
484
484
|
var key = _ref.key;
|
|
485
485
|
var item = keysNodeProps[key]; // 不符合可选条件
|
|
486
486
|
|
|
487
|
-
if (!item || item.
|
|
487
|
+
if (!item || item.checkable === false) {
|
|
488
488
|
return false;
|
|
489
489
|
}
|
|
490
490
|
|
package/lib/_utils/usePopper.js
CHANGED
|
@@ -590,7 +590,11 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
590
590
|
focus: 'mousedown',
|
|
591
591
|
contextMenu: 'mousedown'
|
|
592
592
|
};
|
|
593
|
-
|
|
593
|
+
|
|
594
|
+
if (matchTrigger('hover')) {
|
|
595
|
+
popperNode === null || popperNode === void 0 ? void 0 : popperNode.addEventListener('mouseleave', debounceHidePopper);
|
|
596
|
+
}
|
|
597
|
+
|
|
594
598
|
Array.isArray(trigger) ? trigger.forEach(function (action) {
|
|
595
599
|
return document.addEventListener(mapEvent[action], debounceHidePopper);
|
|
596
600
|
}) : document.addEventListener(mapEvent[trigger], debounceHidePopper);
|