@kdcloudjs/kdesign 1.6.40 → 1.7.0
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 +16 -0
- package/dist/kdesign-complete.less +478 -0
- package/dist/kdesign.css +504 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +701 -24
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +2 -2
- package/dist/kdesign.min.js +6 -6
- package/dist/kdesign.min.js.map +1 -1
- package/es/cascader/cascader.js +14 -3
- package/es/cascader/util.js +13 -4
- package/es/config-provider/compDefaultProps.d.ts +13 -0
- package/es/config-provider/compDefaultProps.js +17 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +2 -1
- package/es/input/ClearableLabeledInput.js +8 -2
- package/es/input/input.js +1 -5
- package/es/tree/tree.d.ts +2 -1
- package/es/tree/tree.js +4 -3
- package/es/tree-select/index.d.ts +3 -0
- package/es/tree-select/index.js +3 -0
- package/es/tree-select/interface.d.ts +68 -0
- package/es/tree-select/interface.js +4 -0
- package/es/tree-select/style/css.js +2 -0
- package/es/tree-select/style/index.css +502 -0
- package/es/tree-select/style/index.d.ts +2 -0
- package/es/tree-select/style/index.js +2 -0
- package/es/tree-select/style/index.less +392 -0
- package/es/tree-select/style/mixin.less +29 -0
- package/es/tree-select/style/token.less +54 -0
- package/es/tree-select/tree-select.d.ts +4 -0
- package/es/tree-select/tree-select.js +506 -0
- package/lib/cascader/cascader.js +14 -3
- package/lib/cascader/util.js +13 -4
- package/lib/config-provider/compDefaultProps.d.ts +13 -0
- package/lib/config-provider/compDefaultProps.js +17 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +7 -0
- package/lib/input/ClearableLabeledInput.js +8 -2
- package/lib/input/input.js +1 -5
- package/lib/style/components.less +1 -0
- package/lib/tree/tree.d.ts +2 -1
- package/lib/tree/tree.js +4 -3
- package/lib/tree-select/index.d.ts +3 -0
- package/lib/tree-select/index.js +27 -0
- package/lib/tree-select/interface.d.ts +68 -0
- package/lib/tree-select/interface.js +13 -0
- package/lib/tree-select/style/css.js +4 -0
- package/lib/tree-select/style/index.css +502 -0
- package/lib/tree-select/style/index.d.ts +2 -0
- package/lib/tree-select/style/index.js +4 -0
- package/lib/tree-select/style/index.less +392 -0
- package/lib/tree-select/style/mixin.less +29 -0
- package/lib/tree-select/style/token.less +54 -0
- package/lib/tree-select/tree-select.d.ts +4 -0
- package/lib/tree-select/tree-select.js +519 -0
- package/package.json +1 -1
package/es/cascader/cascader.js
CHANGED
|
@@ -169,6 +169,17 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
169
169
|
});
|
|
170
170
|
});
|
|
171
171
|
}, [currentOptions, fieldNames.label, isMultiple]);
|
|
172
|
+
var values = useMemo(function () {
|
|
173
|
+
return !isMultiple ? _mapInstanceProperty(currentOptions).call(currentOptions, function (_ref3) {
|
|
174
|
+
var value = _ref3.value;
|
|
175
|
+
return value;
|
|
176
|
+
}) : _mapInstanceProperty(currentOptions).call(currentOptions, function (option) {
|
|
177
|
+
return _mapInstanceProperty(option).call(option, function (_ref4) {
|
|
178
|
+
var value = _ref4.value;
|
|
179
|
+
return value;
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
}, [currentOptions, isMultiple]);
|
|
172
183
|
var allowClear = allProps.allowClear && value.length > 0;
|
|
173
184
|
var locatorProps = {
|
|
174
185
|
style: style,
|
|
@@ -256,7 +267,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
256
267
|
ref: wrapperRef
|
|
257
268
|
}, Array.isArray(currentOptions) && /*#__PURE__*/React.createElement(React.Fragment, null, _mapInstanceProperty(currentOptions).call(currentOptions, function (option, index) {
|
|
258
269
|
return /*#__PURE__*/React.createElement("span", {
|
|
259
|
-
key: _JSON$stringify(
|
|
270
|
+
key: _JSON$stringify(values[index]),
|
|
260
271
|
className: classNames("".concat(prefixCls, "-selection-tag"))
|
|
261
272
|
}, (!maxTagCount || index <= maxTagCount - 1) && /*#__PURE__*/React.createElement(Tag, {
|
|
262
273
|
type: "edit",
|
|
@@ -331,8 +342,8 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
331
342
|
(_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, newValue, newMultipleOptions);
|
|
332
343
|
};
|
|
333
344
|
var onChange = function onChange(selectedOptions) {
|
|
334
|
-
var selectedValue = _mapInstanceProperty(selectedOptions).call(selectedOptions, function (
|
|
335
|
-
var value =
|
|
345
|
+
var selectedValue = _mapInstanceProperty(selectedOptions).call(selectedOptions, function (_ref5) {
|
|
346
|
+
var value = _ref5[fieldNames.value];
|
|
336
347
|
return value;
|
|
337
348
|
});
|
|
338
349
|
setCurrentOptions(selectedOptions);
|
package/es/cascader/util.js
CHANGED
|
@@ -7,9 +7,9 @@ import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
|
7
7
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
8
8
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
9
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
10
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
12
11
|
import _spliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/splice";
|
|
12
|
+
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
13
13
|
var __rest = this && this.__rest || function (s, e) {
|
|
14
14
|
var t = {};
|
|
15
15
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -193,9 +193,18 @@ export var getChecked = function getChecked(checkedKeys, key) {
|
|
|
193
193
|
return checkedKeys === null || checkedKeys === void 0 ? void 0 : _includesInstanceProperty(checkedKeys).call(checkedKeys, key);
|
|
194
194
|
};
|
|
195
195
|
var getCheckedNodes = function getCheckedNodes(flatNodes, checkedKeys) {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
var result = [];
|
|
197
|
+
for (var i = 0; i < checkedKeys.length; i++) {
|
|
198
|
+
var key = checkedKeys[i];
|
|
199
|
+
for (var j = 0; j < flatNodes.length; j++) {
|
|
200
|
+
var obj = flatNodes[j];
|
|
201
|
+
if (obj.value === key) {
|
|
202
|
+
result.push(obj);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
199
208
|
};
|
|
200
209
|
export var addKeys = function addKeys() {
|
|
201
210
|
var _context6;
|
|
@@ -415,5 +415,18 @@ declare const compDefaultProps: {
|
|
|
415
415
|
size: string;
|
|
416
416
|
underscore: boolean;
|
|
417
417
|
};
|
|
418
|
+
TreeSelect: {
|
|
419
|
+
size: string;
|
|
420
|
+
borderType: string;
|
|
421
|
+
mode: string;
|
|
422
|
+
defaultOpen: boolean;
|
|
423
|
+
showArrow: boolean;
|
|
424
|
+
placeholder: string;
|
|
425
|
+
optionLabelProp: string;
|
|
426
|
+
treeNodeFilterProp: string;
|
|
427
|
+
showSearch: boolean;
|
|
428
|
+
switcherIcon: () => JSX.Element;
|
|
429
|
+
expandOnClickNode: boolean;
|
|
430
|
+
};
|
|
418
431
|
};
|
|
419
432
|
export default compDefaultProps;
|
|
@@ -428,6 +428,23 @@ var compDefaultProps = {
|
|
|
428
428
|
Link: {
|
|
429
429
|
size: 'middle',
|
|
430
430
|
underscore: false
|
|
431
|
+
},
|
|
432
|
+
TreeSelect: {
|
|
433
|
+
size: 'middle',
|
|
434
|
+
borderType: 'underline',
|
|
435
|
+
mode: 'single',
|
|
436
|
+
defaultOpen: false,
|
|
437
|
+
showArrow: true,
|
|
438
|
+
placeholder: '请输入需要搜索的内容',
|
|
439
|
+
optionLabelProp: 'title',
|
|
440
|
+
treeNodeFilterProp: 'title',
|
|
441
|
+
showSearch: true,
|
|
442
|
+
switcherIcon: function switcherIcon() {
|
|
443
|
+
return /*#__PURE__*/React.createElement(Icon, {
|
|
444
|
+
type: "arrow-right-solid"
|
|
445
|
+
});
|
|
446
|
+
},
|
|
447
|
+
expandOnClickNode: false
|
|
431
448
|
}
|
|
432
449
|
};
|
|
433
450
|
export default compDefaultProps;
|
package/es/index.d.ts
CHANGED
package/es/index.js
CHANGED
|
@@ -52,4 +52,5 @@ export { default as Slider } from './slider';
|
|
|
52
52
|
export { default as Table } from './table';
|
|
53
53
|
export { default as Stepper } from './stepper';
|
|
54
54
|
export { default as BaseData } from './base-data';
|
|
55
|
-
export { default as Link } from './link';
|
|
55
|
+
export { default as Link } from './link';
|
|
56
|
+
export { default as TreeSelect } from './tree-select';
|
|
@@ -39,6 +39,10 @@ var ClearableInput = function ClearableInput(props) {
|
|
|
39
39
|
var mouseLeaveHandle = function mouseLeaveHandle() {
|
|
40
40
|
setIsMouseEnter(false);
|
|
41
41
|
};
|
|
42
|
+
var mouseDownHandle = function mouseDownHandle(e) {
|
|
43
|
+
e.stopPropagation();
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
};
|
|
42
46
|
var renderClearIcon = function renderClearIcon() {
|
|
43
47
|
var _classNames;
|
|
44
48
|
if (!allowClear) {
|
|
@@ -56,7 +60,8 @@ var ClearableInput = function ClearableInput(props) {
|
|
|
56
60
|
var renderSuffix = function renderSuffix() {
|
|
57
61
|
if (suffix || !disabled && !!allowClear || inputCount) {
|
|
58
62
|
return /*#__PURE__*/React.createElement("span", {
|
|
59
|
-
className: "".concat(prefixCls, "-suffix")
|
|
63
|
+
className: "".concat(prefixCls, "-suffix"),
|
|
64
|
+
onMouseDown: mouseDownHandle
|
|
60
65
|
}, renderClearIcon(), inputCount && /*#__PURE__*/React.createElement("span", {
|
|
61
66
|
style: {
|
|
62
67
|
marginRight: suffix ? 9 : 0
|
|
@@ -72,7 +77,8 @@ var ClearableInput = function ClearableInput(props) {
|
|
|
72
77
|
}
|
|
73
78
|
var suffixNode = renderSuffix();
|
|
74
79
|
var prefixNode = prefix ? /*#__PURE__*/React.createElement("span", {
|
|
75
|
-
className: "".concat(prefixCls, "-prefix")
|
|
80
|
+
className: "".concat(prefixCls, "-prefix"),
|
|
81
|
+
onMouseDown: mouseDownHandle
|
|
76
82
|
}, prefix) : null;
|
|
77
83
|
var inputWrapperClasses = classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-wrapper"), true), _defineProperty(_classNames2, "".concat(prefixCls, "-wrapper-focused"), focused && !disabled), _defineProperty(_classNames2, "".concat(prefixCls, "-wrapper-disabled"), disabled), _defineProperty(_classNames2, _concatInstanceProperty(_context = "".concat(prefixCls, "-wrapper-size-")).call(_context, size), size), _defineProperty(_classNames2, "".concat(prefixCls, "-wrapper-borderless"), borderType === 'none'), _defineProperty(_classNames2, "".concat(prefixCls, "-wrapper-underline"), borderType === 'underline'), _classNames2), _defineProperty({}, className, className && !addonBefore && !addonAfter));
|
|
78
84
|
return /*#__PURE__*/React.createElement("span", {
|
package/es/input/input.js
CHANGED
|
@@ -119,11 +119,7 @@ var InternalInput = function InternalInput(props, ref) {
|
|
|
119
119
|
}
|
|
120
120
|
if (count && showNumberMark && !disabled) {
|
|
121
121
|
return /*#__PURE__*/React.createElement("div", {
|
|
122
|
-
className: classNames("".concat(inputPrefixCls, "-input-mark-inner"))
|
|
123
|
-
onMouseDown: function onMouseDown(e) {
|
|
124
|
-
e.stopPropagation();
|
|
125
|
-
e.preventDefault();
|
|
126
|
-
}
|
|
122
|
+
className: classNames("".concat(inputPrefixCls, "-input-mark-inner"))
|
|
127
123
|
}, enteredLength, maxLength !== undefined ? "/".concat(maxLength) : null);
|
|
128
124
|
}
|
|
129
125
|
return null;
|
package/es/tree/tree.d.ts
CHANGED
|
@@ -24,10 +24,11 @@ export interface TreeProps {
|
|
|
24
24
|
virtual?: boolean;
|
|
25
25
|
scrollToKey?: string;
|
|
26
26
|
selectedKeys?: string[];
|
|
27
|
+
notFoundContent?: ReactNode;
|
|
27
28
|
loadData?: () => void;
|
|
28
29
|
onCheck?: (checkedKeys: string[], { checked, node, event, halfCheckedKeys }: any) => void;
|
|
29
30
|
onExpand?: (expandedKeys: string[], { expanded, node }: any) => void;
|
|
30
|
-
onSelect?: ({ checked, node, event }: any) => void;
|
|
31
|
+
onSelect?: (keys: string[], { checked, node, event }: any) => void;
|
|
31
32
|
onDragStart?: ({ event, node }: any) => void;
|
|
32
33
|
onDragOver?: ({ event, node }: any) => void;
|
|
33
34
|
onDragLeave?: ({ event, node }: any) => void;
|
package/es/tree/tree.js
CHANGED
|
@@ -64,7 +64,8 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
64
64
|
filterTreeNode = TreeProps.filterTreeNode,
|
|
65
65
|
filterValue = TreeProps.filterValue,
|
|
66
66
|
expandOnClickNode = TreeProps.expandOnClickNode,
|
|
67
|
-
loadData = TreeProps.loadData
|
|
67
|
+
loadData = TreeProps.loadData,
|
|
68
|
+
notFoundContent = TreeProps.notFoundContent;
|
|
68
69
|
var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
|
|
69
70
|
var treeNodePrefixCls = getPrefixCls(prefixCls, 'tree-node', customPrefixcls); // 树节点样式前缀
|
|
70
71
|
var treeNodeClassName = classNames(_defineProperty({}, "".concat(treePrefixCls), true));
|
|
@@ -120,7 +121,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
120
121
|
searchExpandedKeys = _React$useState16[0],
|
|
121
122
|
setSearchExpandedKeys = _React$useState16[1];
|
|
122
123
|
var isSearching = React.useMemo(function () {
|
|
123
|
-
return typeof filterTreeNode === 'function' && filterValue;
|
|
124
|
+
return typeof filterTreeNode === 'function' && !!filterValue;
|
|
124
125
|
}, [filterValue]);
|
|
125
126
|
useEffect(function () {
|
|
126
127
|
setSearchExpandedKeys([]);
|
|
@@ -371,7 +372,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
371
372
|
}), /*#__PURE__*/React.createElement("div", {
|
|
372
373
|
className: treeRootClassName,
|
|
373
374
|
ref: listRef
|
|
374
|
-
}, visibleData && _mapInstanceProperty(visibleData).call(visibleData, function (item) {
|
|
375
|
+
}, !(visibleData === null || visibleData === void 0 ? void 0 : visibleData.length) && notFoundContent, visibleData && _mapInstanceProperty(visibleData).call(visibleData, function (item) {
|
|
375
376
|
var checked = getChecked(checkedKeys, item.key);
|
|
376
377
|
var indeterminate = getHalfChecked(halfCheckedKeys, item.key);
|
|
377
378
|
item.nodeKey = item.key;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { PopperProps } from '../_utils/usePopper';
|
|
3
|
+
import { TreeNodeData } from '../tree';
|
|
4
|
+
export declare const SelectSizes: ["large", "middle", "small"];
|
|
5
|
+
export declare type SelectSize = typeof SelectSizes[number];
|
|
6
|
+
export declare const BorderTypes: ["none", "underline", "bordered"];
|
|
7
|
+
export declare type BorderType = typeof BorderTypes[number];
|
|
8
|
+
export declare const Modes: ["multiple", "single"];
|
|
9
|
+
export declare type Mode = typeof Modes[number];
|
|
10
|
+
export interface AbstractSelectProps extends PopperProps {
|
|
11
|
+
prefixCls?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
size?: SelectSize;
|
|
14
|
+
borderType?: BorderType;
|
|
15
|
+
notFoundContent?: React.ReactNode | null;
|
|
16
|
+
showSearch?: boolean;
|
|
17
|
+
showArrow?: boolean;
|
|
18
|
+
defaultOpen?: boolean;
|
|
19
|
+
allowClear?: boolean;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
placeholder?: string | React.ReactNode;
|
|
23
|
+
dropdownClassName?: string;
|
|
24
|
+
dropdownStyle?: React.CSSProperties;
|
|
25
|
+
getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
|
|
26
|
+
dropdownRender?: (menu: React.ReactElement) => React.ReactElement;
|
|
27
|
+
id?: string;
|
|
28
|
+
clearIcon?: React.ReactNode;
|
|
29
|
+
searchIcon?: React.ReactNode;
|
|
30
|
+
suffixIcon?: React.ReactNode;
|
|
31
|
+
maxTagCount?: number;
|
|
32
|
+
labelInValue?: boolean;
|
|
33
|
+
maxTagPlaceholder?: React.ReactNode | ((omittedValues: TreeNodeData[]) => React.ReactNode);
|
|
34
|
+
}
|
|
35
|
+
export declare type ITreeProps = {
|
|
36
|
+
treeData?: TreeNodeData;
|
|
37
|
+
treeDefaultExpandAll?: boolean;
|
|
38
|
+
treeDefaultExpandedKeys?: string[];
|
|
39
|
+
treeExpandedKeys?: string[];
|
|
40
|
+
treeIcon?: ReactNode | ((props: any) => ReactNode);
|
|
41
|
+
virtual?: boolean;
|
|
42
|
+
checkStrictly?: boolean;
|
|
43
|
+
filterTreeNode?: (treeNode: TreeNodeData, searchValue: string) => boolean;
|
|
44
|
+
treeNodeFilterProp?: string;
|
|
45
|
+
treeNodeLabelProp?: string;
|
|
46
|
+
expandOnClickNode?: boolean;
|
|
47
|
+
};
|
|
48
|
+
export declare type TreeSelectValue = string | string[] | number | number[] | undefined;
|
|
49
|
+
export interface ITreeSelectProps<T extends TreeSelectValue> extends AbstractSelectProps, ITreeProps {
|
|
50
|
+
value?: T;
|
|
51
|
+
defaultValue?: T;
|
|
52
|
+
mode?: Mode;
|
|
53
|
+
autoFocus?: boolean;
|
|
54
|
+
onChange?: (value: T, treeNode: TreeNodeData) => void;
|
|
55
|
+
onSelect?: (value: T extends (infer I)[] ? I : T, { checked, node, event }: any) => void;
|
|
56
|
+
onBlur?: (value?: T) => void;
|
|
57
|
+
onFocus?: () => void;
|
|
58
|
+
onSearch?: (value?: string) => void;
|
|
59
|
+
onClear?: () => void;
|
|
60
|
+
tagRender?: (props: TagProps) => void;
|
|
61
|
+
}
|
|
62
|
+
export interface TagProps {
|
|
63
|
+
value?: string;
|
|
64
|
+
label?: React.ReactNode;
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
size: SelectSize;
|
|
67
|
+
onClose: () => void;
|
|
68
|
+
}
|