@kdcloudjs/kdesign 1.5.4 → 1.5.5
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 +41 -0
- package/dist/default-theme.js +4 -4
- package/dist/kdesign-complete.less +159 -85
- package/dist/kdesign.css +153 -83
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +220 -151
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +3 -3
- package/dist/kdesign.min.js +6 -6
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.js +17 -8
- package/es/alert/alert.js +2 -2
- package/es/alert/style/index.css +27 -11
- package/es/alert/style/index.less +24 -10
- package/es/alert/style/mixin.less +8 -2
- package/es/alert/style/token.less +16 -8
- package/es/config-provider/compDefaultProps.d.ts +1 -0
- package/es/config-provider/compDefaultProps.js +2 -1
- package/es/dropdown/style/index.css +13 -14
- package/es/dropdown/style/index.less +4 -5
- package/es/dropdown/style/token.less +6 -5
- package/es/radio/style/index.css +6 -0
- package/es/radio/style/index.less +8 -0
- package/es/search/style/index.css +3 -3
- package/es/spin/style/index.css +25 -26
- package/es/spin/style/index.less +18 -19
- package/es/spin/style/token.less +9 -3
- package/es/style/themes/default.less +3 -4
- package/es/timeline/style/index.css +22 -21
- package/es/timeline/style/index.less +2 -2
- package/es/timeline/style/token.less +4 -7
- package/es/tree/style/index.css +56 -7
- package/es/tree/style/index.less +26 -18
- package/es/tree/style/mixin.less +25 -1
- package/es/tree/style/token.less +6 -4
- package/es/tree/tree.d.ts +2 -0
- package/es/tree/tree.js +65 -11
- package/es/tree/treeHooks.js +0 -1
- package/es/tree/treeNode.d.ts +1 -0
- package/es/tree/treeNode.js +45 -49
- package/es/tree/utils/treeUtils.js +2 -2
- package/lib/_utils/usePopper.js +17 -8
- package/lib/alert/alert.js +2 -2
- package/lib/alert/style/index.css +27 -11
- package/lib/alert/style/index.less +24 -10
- package/lib/alert/style/mixin.less +8 -2
- package/lib/alert/style/token.less +16 -8
- package/lib/config-provider/compDefaultProps.d.ts +1 -0
- package/lib/config-provider/compDefaultProps.js +2 -1
- package/lib/dropdown/style/index.css +13 -14
- package/lib/dropdown/style/index.less +4 -5
- package/lib/dropdown/style/token.less +6 -5
- package/lib/radio/style/index.css +6 -0
- package/lib/radio/style/index.less +8 -0
- package/lib/search/style/index.css +3 -3
- package/lib/spin/style/index.css +25 -26
- package/lib/spin/style/index.less +18 -19
- package/lib/spin/style/token.less +9 -3
- package/lib/style/themes/default.less +3 -4
- package/lib/timeline/style/index.css +22 -21
- package/lib/timeline/style/index.less +2 -2
- package/lib/timeline/style/token.less +4 -7
- package/lib/tree/style/index.css +56 -7
- package/lib/tree/style/index.less +26 -18
- package/lib/tree/style/mixin.less +25 -1
- package/lib/tree/style/token.less +6 -4
- package/lib/tree/tree.d.ts +2 -0
- package/lib/tree/tree.js +67 -11
- package/lib/tree/treeHooks.js +0 -1
- package/lib/tree/treeNode.d.ts +1 -0
- package/lib/tree/treeNode.js +46 -48
- package/lib/tree/utils/treeUtils.js +2 -2
- package/package.json +1 -1
package/es/tree/tree.js
CHANGED
|
@@ -2,11 +2,13 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
|
2
2
|
import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
|
|
3
3
|
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
4
4
|
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
5
|
-
import
|
|
5
|
+
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
6
6
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
7
|
+
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
|
7
8
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
8
9
|
import React, { useContext, useCallback, useEffect } from 'react';
|
|
9
10
|
import classNames from 'classnames';
|
|
11
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
10
12
|
import ConfigContext from '../config-provider/ConfigContext';
|
|
11
13
|
import { getCompProps } from '../_utils';
|
|
12
14
|
import TreeNode from './treeNode';
|
|
@@ -62,7 +64,9 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
62
64
|
innerEstimatedItemSize = TreeProps.estimatedItemSize,
|
|
63
65
|
style = TreeProps.style,
|
|
64
66
|
filterTreeNode = TreeProps.filterTreeNode,
|
|
65
|
-
filterValue = TreeProps.filterValue
|
|
67
|
+
filterValue = TreeProps.filterValue,
|
|
68
|
+
expandOnClickNode = TreeProps.expandOnClickNode,
|
|
69
|
+
loadData = TreeProps.loadData;
|
|
66
70
|
var treePrefixCls = getPrefixCls(prefixCls, 'tree', customPrefixcls); // 树样式前缀
|
|
67
71
|
|
|
68
72
|
var treeNodePrefixCls = getPrefixCls(prefixCls, 'tree-node', customPrefixcls); // 树节点样式前缀
|
|
@@ -122,6 +126,16 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
122
126
|
dragOverNodeKey = _React$useState10[0],
|
|
123
127
|
setDragOverNodeKey = _React$useState10[1];
|
|
124
128
|
|
|
129
|
+
var _React$useState11 = React.useState(new _Set()),
|
|
130
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
131
|
+
loadedKeys = _React$useState12[0],
|
|
132
|
+
setLoadedKeys = _React$useState12[1];
|
|
133
|
+
|
|
134
|
+
var _React$useState13 = React.useState(new _Set()),
|
|
135
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
136
|
+
loadingKeys = _React$useState14[0],
|
|
137
|
+
setLoadingKeys = _React$useState14[1];
|
|
138
|
+
|
|
125
139
|
var isSearching = React.useMemo(function () {
|
|
126
140
|
return typeof filterTreeNode === 'function' && filterValue;
|
|
127
141
|
}, [filterValue]);
|
|
@@ -170,15 +184,54 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
170
184
|
listRef.current.style.transform = "translate3d(0,".concat(tempStartOffset, "px,0)");
|
|
171
185
|
}
|
|
172
186
|
}, [listRef, scrollRef, virtual, estimatedItemSize]);
|
|
173
|
-
var
|
|
174
|
-
var
|
|
187
|
+
var handleNodeLoad = useCallback(function (loadedKeys, loadingKeys, data) {
|
|
188
|
+
var key = data.key;
|
|
189
|
+
|
|
190
|
+
if (!loadData || loadedKeys.has(key) || loadingKeys.has(key)) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
setLoadingKeys(function (prevLoadingKeys) {
|
|
195
|
+
var _context;
|
|
196
|
+
|
|
197
|
+
return new _Set(_concatInstanceProperty(_context = []).call(_context, _toConsumableArray(prevLoadingKeys), [key]));
|
|
198
|
+
});
|
|
199
|
+
loadData(data).then(function () {
|
|
200
|
+
setLoadedKeys(function (prevState) {
|
|
201
|
+
var _context2;
|
|
202
|
+
|
|
203
|
+
return new _Set(_concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(prevState), [key]));
|
|
204
|
+
});
|
|
205
|
+
setLoadingKeys(function (prevState) {
|
|
206
|
+
var prevLoadingKeys = cloneDeep(prevState);
|
|
207
|
+
prevLoadingKeys.delete(key);
|
|
208
|
+
return prevLoadingKeys;
|
|
209
|
+
});
|
|
210
|
+
}).catch(function (e) {
|
|
211
|
+
setLoadingKeys(function (prevState) {
|
|
212
|
+
var prevLoadingKeys = cloneDeep(prevState);
|
|
213
|
+
prevLoadingKeys.delete(key);
|
|
214
|
+
return prevLoadingKeys;
|
|
215
|
+
});
|
|
216
|
+
setExpandedKeys(function (preExpandedKeys) {
|
|
217
|
+
return delKey(_toConsumableArray(preExpandedKeys), [key]);
|
|
218
|
+
});
|
|
219
|
+
throw e;
|
|
220
|
+
});
|
|
221
|
+
}, [loadData, setExpandedKeys]);
|
|
222
|
+
var handleExpand = React.useCallback(function (key, expanded, node) {
|
|
223
|
+
var newExpandedKeys = expanded ? addKeys(expandedKeys, [key]) : delKey(expandedKeys, [key]);
|
|
175
224
|
onExpand && onExpand(newExpandedKeys, {
|
|
176
225
|
node: node,
|
|
177
|
-
expanded:
|
|
226
|
+
expanded: expanded
|
|
178
227
|
});
|
|
179
228
|
setScrollKey('');
|
|
180
229
|
setIsInit(false);
|
|
181
|
-
|
|
230
|
+
|
|
231
|
+
if (expanded && loadData) {
|
|
232
|
+
handleNodeLoad(loadedKeys, loadingKeys, node);
|
|
233
|
+
}
|
|
234
|
+
}, [expandedKeys, onExpand, loadData, handleNodeLoad, loadedKeys, loadingKeys]);
|
|
182
235
|
var handleCheck = React.useCallback(function (key, value, node, event, pos) {
|
|
183
236
|
var newCheckedKeys = value ? addKeys(checkedKeys, [key]) : delKey(checkedKeys, [key]);
|
|
184
237
|
var checkState = checkStrictly ? getDataCheckededStateStrictly(newCheckedKeys) : getDataCheckededState(spreadAttrData, newCheckedKeys, halfCheckedKeys, maxLevel, false, pos, value);
|
|
@@ -267,11 +320,11 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
267
320
|
});
|
|
268
321
|
}, [onDragEnd]);
|
|
269
322
|
var handleDrop = React.useCallback(function (event, node, dragNode, dragNodesKeys) {
|
|
270
|
-
var
|
|
323
|
+
var _context3;
|
|
271
324
|
|
|
272
325
|
var pos = getPos(flattenAllData, dragNodesKeys);
|
|
273
326
|
|
|
274
|
-
var keys = _concatInstanceProperty(
|
|
327
|
+
var keys = _concatInstanceProperty(_context3 = getAllChildKeys(flattenAllData, pos)).call(_context3, dragNodesKeys);
|
|
275
328
|
|
|
276
329
|
onDrop && onDrop({
|
|
277
330
|
event: event,
|
|
@@ -337,7 +390,6 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
337
390
|
className: treeRootClassName,
|
|
338
391
|
ref: listRef
|
|
339
392
|
}, visibleData && _mapInstanceProperty(visibleData).call(visibleData, function (item) {
|
|
340
|
-
// const props: any = {}
|
|
341
393
|
var checked = getChecked(checkedKeys, item.key);
|
|
342
394
|
var indeterminate = getHalfChecked(halfCheckedKeys, item.key);
|
|
343
395
|
item.nodeKey = item.key;
|
|
@@ -352,8 +404,7 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
352
404
|
item.onSelect = handleSelect;
|
|
353
405
|
item.checked = checked;
|
|
354
406
|
item.selected = getSelected(selectedKeys, item.key);
|
|
355
|
-
item.indeterminate = indeterminate;
|
|
356
|
-
|
|
407
|
+
item.indeterminate = indeterminate;
|
|
357
408
|
item.disabled = getDisabled(disabled, item.disabled);
|
|
358
409
|
item.showIcon = showIcon || false;
|
|
359
410
|
item.checkable = getCheckable(checkable, item.checkable); // 哪个优先
|
|
@@ -368,6 +419,9 @@ var InternalTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
368
419
|
item.getDragNode = getDragNode;
|
|
369
420
|
item.setDragNode = setDragNode;
|
|
370
421
|
item.dragOver = dragOverNodeKey === item.key && dropPosition === 0;
|
|
422
|
+
item.expandOnClickNode = expandOnClickNode;
|
|
423
|
+
item.loading = loadingKeys.has(item.key) && !loadedKeys.has(item.key);
|
|
424
|
+
item.loadData = loadData;
|
|
371
425
|
return /*#__PURE__*/React.createElement(TreeNode, _extends({}, item, {
|
|
372
426
|
key: item.key,
|
|
373
427
|
ref: treeNodeRef
|
package/es/tree/treeHooks.js
CHANGED
|
@@ -112,7 +112,6 @@ export var useScrollToKey = function useScrollToKey(scrollKey, index, estimatedI
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
if (treeRoot && treeNode) {
|
|
115
|
-
// const treeRootScrollTop = treeRoot.scrollTop
|
|
116
115
|
var treeRootRect = treeRoot.getBoundingClientRect();
|
|
117
116
|
var treeNodeRect = treeNode.getBoundingClientRect();
|
|
118
117
|
|
package/es/tree/treeNode.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface TreeNodeProps {
|
|
|
25
25
|
pos?: string;
|
|
26
26
|
estimatedItemSize?: number;
|
|
27
27
|
dragOver?: boolean;
|
|
28
|
+
isLeaf?: boolean;
|
|
28
29
|
onCheck?: (key: string, value: boolean, node: React.ReactNode, event: React.MouseEvent<MouseEvent>, pos: string) => void;
|
|
29
30
|
onSelect?: (event: React.MouseEvent<MouseEvent>, node: React.ReactNode, key: string) => void;
|
|
30
31
|
onExpand?: (value: boolean, node: React.ReactNode) => void;
|
package/es/tree/treeNode.js
CHANGED
|
@@ -17,12 +17,13 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
17
17
|
return t;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
import React, { useContext, useEffect } from 'react';
|
|
20
|
+
import React, { useCallback, useContext, useEffect } from 'react';
|
|
21
21
|
import classNames from 'classnames';
|
|
22
22
|
import ConfigContext from '../config-provider/ConfigContext';
|
|
23
23
|
import { getCompProps } from '../_utils';
|
|
24
24
|
import Checkbox from './../checkbox';
|
|
25
25
|
import Icon from '../icon';
|
|
26
|
+
import Spin from '../spin';
|
|
26
27
|
var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
27
28
|
var _context;
|
|
28
29
|
|
|
@@ -57,6 +58,8 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
57
58
|
indeterminate = TreeNodeProps.indeterminate,
|
|
58
59
|
estimatedItemSize = TreeNodeProps.estimatedItemSize,
|
|
59
60
|
dragOver = TreeNodeProps.dragOver,
|
|
61
|
+
expandOnClickNode = TreeNodeProps.expandOnClickNode,
|
|
62
|
+
loading = TreeNodeProps.loading,
|
|
60
63
|
onExpand = TreeNodeProps.onExpand,
|
|
61
64
|
onCheck = TreeNodeProps.onCheck,
|
|
62
65
|
onDragStart = TreeNodeProps.onDragStart,
|
|
@@ -66,7 +69,7 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
66
69
|
onDragEnd = TreeNodeProps.onDragEnd,
|
|
67
70
|
onDrop = TreeNodeProps.onDrop,
|
|
68
71
|
onSelect = TreeNodeProps.onSelect,
|
|
69
|
-
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", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
|
|
72
|
+
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", "expandOnClickNode", "loading", "onExpand", "onCheck", "onDragStart", "onDragOver", "onDragLeave", "onDragEnter", "onDragEnd", "onDrop", "onSelect"]);
|
|
70
73
|
|
|
71
74
|
var nodeData = React.useMemo(function () {
|
|
72
75
|
return _extends({
|
|
@@ -84,7 +87,6 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
84
87
|
indeterminate: indeterminate,
|
|
85
88
|
icon: icon,
|
|
86
89
|
switcherIcon: switcherIcon,
|
|
87
|
-
// showLine,
|
|
88
90
|
showIcon: showIcon,
|
|
89
91
|
selected: selected
|
|
90
92
|
}, others);
|
|
@@ -166,57 +168,46 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
166
168
|
}
|
|
167
169
|
|
|
168
170
|
return indentArr;
|
|
169
|
-
};
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
var isLeaf = useCallback(function () {
|
|
174
|
+
var isLeaf = TreeNodeProps.isLeaf,
|
|
175
|
+
loadData = TreeNodeProps.loadData,
|
|
176
|
+
hasChildNode = TreeNodeProps.hasChildNode;
|
|
177
|
+
|
|
178
|
+
if (isLeaf === false) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
170
181
|
|
|
182
|
+
return isLeaf || !loadData && !hasChildNode;
|
|
183
|
+
}, [TreeNodeProps]); // line的两种模式, 图标被替换和图标不被替换
|
|
171
184
|
|
|
172
185
|
var renderExpandIcon = function renderExpandIcon() {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
// className={classNames(`${treeNodePrefixCls}-icon`)}
|
|
185
|
-
// >
|
|
186
|
-
// {expand ? <Icon type='search' /> : <Icon type='add' />}
|
|
187
|
-
// </span>
|
|
188
|
-
// )
|
|
189
|
-
// }
|
|
186
|
+
if (loading) {
|
|
187
|
+
return /*#__PURE__*/React.createElement(Spin, {
|
|
188
|
+
type: "component"
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
var showExpandIcon = !isLeaf();
|
|
193
|
+
|
|
194
|
+
if (showExpandIcon) {
|
|
195
|
+
var _classNames3;
|
|
196
|
+
|
|
190
197
|
if (Array.isArray(switcherIcon) && switcherIcon.length === 2) {
|
|
191
198
|
return /*#__PURE__*/React.createElement("span", {
|
|
192
|
-
className: classNames("".concat(treeNodePrefixCls, "-icon"))
|
|
199
|
+
className: classNames("".concat(treeNodePrefixCls, "-icon"), _defineProperty({}, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode)),
|
|
200
|
+
onClick: expandOnClickNode ? undefined : handleExpandIconClick
|
|
193
201
|
}, expandState ? renderIcon(switcherIcon[1]) : renderIcon(switcherIcon[0]));
|
|
194
202
|
}
|
|
195
203
|
|
|
196
204
|
return /*#__PURE__*/React.createElement("span", {
|
|
197
|
-
className: classNames("".concat(treeNodePrefixCls, "-icon"), (
|
|
205
|
+
className: classNames("".concat(treeNodePrefixCls, "-icon"), (_classNames3 = {}, _defineProperty(_classNames3, "".concat(treeNodePrefixCls, "-animation-expand"), expandState), _defineProperty(_classNames3, "".concat(treeNodePrefixCls, "-animation-collapse"), !expandState), _defineProperty(_classNames3, "".concat(treeNodePrefixCls, "-icon-hover"), !expandOnClickNode), _classNames3)),
|
|
206
|
+
onClick: expandOnClickNode ? undefined : handleExpandIconClick
|
|
198
207
|
}, renderIcon(switcherIcon || /*#__PURE__*/React.createElement(Icon, {
|
|
199
208
|
type: "arrow-right-solid"
|
|
200
209
|
})));
|
|
201
210
|
} else {
|
|
202
|
-
// if(typeof showLine === 'object' && !showLine.showLeafIcon){
|
|
203
|
-
// return (
|
|
204
|
-
// <span
|
|
205
|
-
// className={classNames(`${treeNodePrefixCls}-icon-hidden`)}
|
|
206
|
-
// >
|
|
207
|
-
// {/* todo renderLeafLine() */}
|
|
208
|
-
// {renderIcon(leafIcon)}
|
|
209
|
-
// </span>
|
|
210
|
-
// )
|
|
211
|
-
// }else if(typeof showLine === 'object' && showLine.showLeafIcon || showLine === true){
|
|
212
|
-
// return (
|
|
213
|
-
// <span
|
|
214
|
-
// className={classNames(`${treeNodePrefixCls}-leaf-icon`)}
|
|
215
|
-
// >
|
|
216
|
-
// {renderIcon(leafIcon)}
|
|
217
|
-
// </span>
|
|
218
|
-
// )
|
|
219
|
-
// }
|
|
220
211
|
// 叶子结点 隐藏展开按钮
|
|
221
212
|
return /*#__PURE__*/React.createElement("span", {
|
|
222
213
|
className: "".concat(treeNodePrefixCls, "-icon-hidden")
|
|
@@ -231,11 +222,11 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
231
222
|
};
|
|
232
223
|
|
|
233
224
|
var renderNode = function renderNode() {
|
|
234
|
-
var
|
|
225
|
+
var _classNames4, _classNames5;
|
|
235
226
|
|
|
236
227
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
237
228
|
draggable: draggable && !disabled,
|
|
238
|
-
className: classNames((
|
|
229
|
+
className: classNames((_classNames4 = {}, _defineProperty(_classNames4, "".concat(treeNodePrefixCls, "-draggabled"), true), _defineProperty(_classNames4, "".concat(treeNodePrefixCls, "-root"), true), _defineProperty(_classNames4, "".concat(treeNodePrefixCls, "-fb-children-pointerEvents"), forbiddenChildrenPointerEvents), _defineProperty(_classNames4, "".concat(treeNodePrefixCls, "-drag-over"), dragOver), _classNames4)),
|
|
239
230
|
onDragStart: handleDragStart,
|
|
240
231
|
onDragEnd: handleDragEnd,
|
|
241
232
|
onDragOver: handleDragOver,
|
|
@@ -244,7 +235,8 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
244
235
|
onDrop: handleDrop,
|
|
245
236
|
ref: dragRef
|
|
246
237
|
}, indent(), renderExpandIcon(), showIcon && renderNodeIcon(), /*#__PURE__*/React.createElement("div", {
|
|
247
|
-
className: "".concat(treeNodePrefixCls, "-title-wrap")
|
|
238
|
+
className: classNames((_classNames5 = {}, _defineProperty(_classNames5, "".concat(treeNodePrefixCls, "-title-wrap"), true), _defineProperty(_classNames5, "".concat(treeNodePrefixCls, "-title-wrap-hover"), !expandOnClickNode && !disabled), _defineProperty(_classNames5, "".concat(treeNodePrefixCls, "-title-wrap-selected"), selected && selectable && !disabled && !expandOnClickNode), _classNames5)),
|
|
239
|
+
onClick: expandOnClickNode ? undefined : handleClick
|
|
248
240
|
}, checkable ? /*#__PURE__*/React.createElement(Checkbox, {
|
|
249
241
|
onChange: handleOnchange,
|
|
250
242
|
checked: checked,
|
|
@@ -271,12 +263,16 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
271
263
|
selectNode: handleSelect
|
|
272
264
|
};
|
|
273
265
|
});
|
|
274
|
-
var
|
|
275
|
-
e.stopPropagation();
|
|
266
|
+
var handleExpandIconClick = useCallback(function (e) {
|
|
267
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
276
268
|
setExpandState(!expandState);
|
|
277
269
|
onExpand && onExpand(nodeKey, !expandState, nodeData);
|
|
270
|
+
}, [expandState, nodeData, nodeKey, onExpand, setExpandState]);
|
|
271
|
+
var handleClick = React.useCallback(function (e) {
|
|
272
|
+
e.stopPropagation();
|
|
273
|
+
expandOnClickNode && handleExpandIconClick();
|
|
278
274
|
handleSelect(e);
|
|
279
|
-
}, [
|
|
275
|
+
}, [expandOnClickNode, handleExpandIconClick, handleSelect]);
|
|
280
276
|
var handleDragStart = React.useCallback(function (e) {
|
|
281
277
|
if (!draggable) return;
|
|
282
278
|
setDragNode(nodeData);
|
|
@@ -325,11 +321,11 @@ var TreeNode = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
325
321
|
}
|
|
326
322
|
}, [onDrop, nodeData, nodeKey]);
|
|
327
323
|
return /*#__PURE__*/React.createElement("div", {
|
|
328
|
-
className: classNames("".concat(treeNodePrefixCls, "-item"), _defineProperty({}, "".concat(treeNodePrefixCls, "-item-hover"), !disabled && selectable), _defineProperty({}, "".concat(treeNodePrefixCls, "-selected"), selected && selectable && !disabled), _defineProperty({}, "".concat(treeNodePrefixCls, "-disabled"), disabled), _defineProperty({}, "".concat(treeNodePrefixCls, "-opened"), expandState), _concatInstanceProperty(_context = "".concat(treeNodePrefixCls, "-item-")).call(_context, nodeKey), className),
|
|
324
|
+
className: classNames("".concat(treeNodePrefixCls, "-item"), _defineProperty({}, "".concat(treeNodePrefixCls, "-item-hover"), !disabled && selectable && expandOnClickNode), _defineProperty({}, "".concat(treeNodePrefixCls, "-selected"), selected && selectable && !disabled && expandOnClickNode), _defineProperty({}, "".concat(treeNodePrefixCls, "-disabled"), disabled), _defineProperty({}, "".concat(treeNodePrefixCls, "-opened"), expandState), _concatInstanceProperty(_context = "".concat(treeNodePrefixCls, "-item-")).call(_context, nodeKey), className),
|
|
329
325
|
style: _extends({
|
|
330
326
|
height: "".concat(estimatedItemSize, "px")
|
|
331
327
|
}, style),
|
|
332
|
-
onClick: handleClick
|
|
328
|
+
onClick: expandOnClickNode ? handleClick : undefined
|
|
333
329
|
}, renderNode());
|
|
334
330
|
});
|
|
335
331
|
TreeNode.displayName = 'TreeNode';
|
|
@@ -56,7 +56,7 @@ export var flattenAll = function flattenAll(treeData) {
|
|
|
56
56
|
|
|
57
57
|
var _pos = pos ? _concatInstanceProperty(_context = "".concat(pos, "-")).call(_context, index) : "".concat(index);
|
|
58
58
|
|
|
59
|
-
var hasChildNode = children && children instanceof Array && children.length > 0;
|
|
59
|
+
var hasChildNode = item.isLeaf ? false : children && children instanceof Array && children.length > 0;
|
|
60
60
|
|
|
61
61
|
var flattenNode = _extends({
|
|
62
62
|
title: title,
|
|
@@ -75,7 +75,7 @@ export var flattenAll = function flattenAll(treeData) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
_level++;
|
|
78
|
-
fn(children, newTreeData, _level, _pos, flattenNode);
|
|
78
|
+
hasChildNode && fn(children, newTreeData, _level, _pos, flattenNode);
|
|
79
79
|
});
|
|
80
80
|
return newTreeData;
|
|
81
81
|
};
|
package/lib/_utils/usePopper.js
CHANGED
|
@@ -520,6 +520,11 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
520
520
|
props.visible === undefined && setVisible(false);
|
|
521
521
|
onVisibleChange && onVisibleChange(false);
|
|
522
522
|
}, [onVisibleChange, props.visible]);
|
|
523
|
+
|
|
524
|
+
var matchTrigger = function matchTrigger(words) {
|
|
525
|
+
return Array.isArray(trigger) ? (0, _includes.default)(trigger).call(trigger, words) : trigger === words;
|
|
526
|
+
};
|
|
527
|
+
|
|
523
528
|
(0, _react.useEffect)(function () {
|
|
524
529
|
if (exist && visible) {
|
|
525
530
|
var mouseleaveTimer;
|
|
@@ -536,13 +541,13 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
536
541
|
Y = e.clientY;
|
|
537
542
|
var inTriggerRect = X > left - 2 && X < right + 2 && Y > top - 2 && Y < bottom + 2;
|
|
538
543
|
var inPopperRect = X > popperRect.left && X < popperRect.right && Y > popperRect.top && Y < popperRect.bottom;
|
|
539
|
-
var ableArea =
|
|
544
|
+
var ableArea = matchTrigger('contextMenu') ? inPopperRect : inTriggerRect || inPopperRect;
|
|
540
545
|
|
|
541
546
|
if (ableArea) {
|
|
542
547
|
mouseleaveTimer && clearTimeout(mouseleaveTimer);
|
|
543
|
-
|
|
548
|
+
matchTrigger('focus') && triggerNode.focus();
|
|
544
549
|
} else {
|
|
545
|
-
|
|
550
|
+
matchTrigger('hover') ? mouseleaveTimer = window.setTimeout(hidePopper, mouseLeaveDelay * 1000) : hidePopper();
|
|
546
551
|
}
|
|
547
552
|
};
|
|
548
553
|
|
|
@@ -550,14 +555,18 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
550
555
|
leading: true
|
|
551
556
|
});
|
|
552
557
|
var mapEvent = {
|
|
553
|
-
|
|
554
|
-
|
|
558
|
+
hover: 'mousemove',
|
|
559
|
+
click: 'mousedown',
|
|
555
560
|
focus: 'mousedown',
|
|
556
|
-
|
|
561
|
+
contextMenu: 'mousedown'
|
|
557
562
|
};
|
|
558
|
-
|
|
563
|
+
Array.isArray(trigger) ? trigger.forEach(function (action) {
|
|
564
|
+
return document.addEventListener(mapEvent[action], debounceHidePopper);
|
|
565
|
+
}) : document.addEventListener(mapEvent[trigger], debounceHidePopper);
|
|
559
566
|
return function () {
|
|
560
|
-
|
|
567
|
+
Array.isArray(trigger) ? trigger.forEach(function (action) {
|
|
568
|
+
return document.removeEventListener(mapEvent[action], debounceHidePopper);
|
|
569
|
+
}) : document.removeEventListener(mapEvent[trigger], debounceHidePopper);
|
|
561
570
|
};
|
|
562
571
|
}
|
|
563
572
|
}, [currentPlacement, evType, exist, getTriggerElement, hidePopper, locatorRef, mouseLeaveDelay, popperRef, visible]);
|
package/lib/alert/alert.js
CHANGED
|
@@ -217,13 +217,13 @@ var Alert = function Alert(props) {
|
|
|
217
217
|
};
|
|
218
218
|
|
|
219
219
|
var iconNode = /*#__PURE__*/_react.default.createElement("div", {
|
|
220
|
-
className: "".concat(alertPrefixCls, "-icon")
|
|
220
|
+
className: (0, _classnames.default)("".concat(alertPrefixCls, "-icon"), getAlertColorType('icon'))
|
|
221
221
|
}, icon || /*#__PURE__*/_react.default.createElement(_index.Icon, {
|
|
222
222
|
type: alertIconType
|
|
223
223
|
}));
|
|
224
224
|
|
|
225
225
|
var AlertComp = /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
226
|
-
className: (0, _classnames.default)(alertClasses, getAlertColorType('bg'), getAlertColorType('
|
|
226
|
+
className: (0, _classnames.default)(alertClasses, getAlertColorType('bg'), getAlertColorType('border'))
|
|
227
227
|
}, events, {
|
|
228
228
|
ref: alertRef
|
|
229
229
|
}), showIcon && iconNode, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -109,12 +109,14 @@
|
|
|
109
109
|
z-index: var(--kd-g-z-index-apex, 9999);
|
|
110
110
|
display: none;
|
|
111
111
|
width: 100%;
|
|
112
|
-
padding: var(--kd-c-alert-sizing-padding-
|
|
112
|
+
padding: var(--kd-c-alert-sizing-padding-vertical, 12px) var(--kd-c-alert-sizing-padding-horizontal, 20px);
|
|
113
113
|
-webkit-box-align: center;
|
|
114
114
|
-ms-flex-align: center;
|
|
115
115
|
align-items: center;
|
|
116
116
|
-webkit-transition: display 3s;
|
|
117
117
|
transition: display 3s;
|
|
118
|
+
border-radius: var(--kd-c-alert-radius-border, 4px);
|
|
119
|
+
border: 1px solid;
|
|
118
120
|
}
|
|
119
121
|
.kd-alert-banner-container {
|
|
120
122
|
display: -webkit-box;
|
|
@@ -140,23 +142,24 @@
|
|
|
140
142
|
.kd-alert.alert-info-bg-color {
|
|
141
143
|
background-color: var(--kd-c-alert-color-background-info, var(--kd-g-color-background-ongoing, #f2f9ff));
|
|
142
144
|
}
|
|
143
|
-
.kd-alert.alert-success-
|
|
144
|
-
color: var(--kd-c-alert-color-
|
|
145
|
+
.kd-alert.alert-success-border-color {
|
|
146
|
+
border-color: var(--kd-c-alert-color-border-success, #DCFAE4);
|
|
145
147
|
}
|
|
146
|
-
.kd-alert.alert-warning-
|
|
147
|
-
color: var(--kd-c-alert-color-
|
|
148
|
+
.kd-alert.alert-warning-border-color {
|
|
149
|
+
border-color: var(--kd-c-alert-color-border-warning, #FFF1D4);
|
|
148
150
|
}
|
|
149
|
-
.kd-alert.alert-error-
|
|
150
|
-
color: var(--kd-c-alert-color-
|
|
151
|
+
.kd-alert.alert-error-border-color {
|
|
152
|
+
border-color: var(--kd-c-alert-color-border-error, #FFDBE0);
|
|
151
153
|
}
|
|
152
|
-
.kd-alert.alert-info-
|
|
153
|
-
color: var(--kd-c-alert-color-
|
|
154
|
+
.kd-alert.alert-info-border-color {
|
|
155
|
+
border-color: var(--kd-c-alert-color-border-info, #E0EFFF);
|
|
154
156
|
}
|
|
155
157
|
.kd-alert-icon {
|
|
156
158
|
display: -webkit-box;
|
|
157
159
|
display: -ms-flexbox;
|
|
158
160
|
display: flex;
|
|
159
161
|
cursor: default;
|
|
162
|
+
height: var(--kd-c-alert-message-icon-font-size, var(--kd-g-font-size-middle, 14px));
|
|
160
163
|
margin-right: var(--kd-c-alert-message-icon-sizing-margin-right, 8px);
|
|
161
164
|
font-size: var(--kd-c-alert-message-icon-font-size, var(--kd-g-font-size-middle, 14px));
|
|
162
165
|
}
|
|
@@ -164,9 +167,22 @@
|
|
|
164
167
|
-ms-flex-item-align: center;
|
|
165
168
|
align-self: center;
|
|
166
169
|
}
|
|
170
|
+
.kd-alert-icon.alert-success-icon-color {
|
|
171
|
+
color: var(--kd-c-alert-color-icon-success, var(--kd-g-color-success, #1ba854));
|
|
172
|
+
}
|
|
173
|
+
.kd-alert-icon.alert-warning-icon-color {
|
|
174
|
+
color: var(--kd-c-alert-color-icon-warning, var(--kd-g-color-warning, #ff991c));
|
|
175
|
+
}
|
|
176
|
+
.kd-alert-icon.alert-error-icon-color {
|
|
177
|
+
color: var(--kd-c-alert-color-icon-error, var(--kd-g-color-error, #fb2323));
|
|
178
|
+
}
|
|
179
|
+
.kd-alert-icon.alert-info-icon-color {
|
|
180
|
+
color: var(--kd-c-alert-color-icon-info, var(--kd-g-color-ongoing, #276ff5));
|
|
181
|
+
}
|
|
167
182
|
.kd-alert-message {
|
|
183
|
+
color: var(--kd-c-alert-color-text, var(--kd-g-color-text-primary, #212121));
|
|
168
184
|
font-size: var(--kd-c-alert-message-font-size, var(--kd-g-font-size-small, 12px));
|
|
169
|
-
line-height:
|
|
185
|
+
line-height: 16px;
|
|
170
186
|
display: -webkit-box;
|
|
171
187
|
display: -ms-flexbox;
|
|
172
188
|
display: flex;
|
|
@@ -196,10 +212,10 @@
|
|
|
196
212
|
display: -webkit-box;
|
|
197
213
|
display: -ms-flexbox;
|
|
198
214
|
display: flex;
|
|
215
|
+
height: var(--kd-c-alert-message-icon-font-size, var(--kd-g-font-size-middle, 14px));
|
|
199
216
|
margin-left: var(--kd-c-alert-close-icon-sizing-margin-left, 8px);
|
|
200
217
|
color: var(--kd-c-alert-close-icon-color-text, var(--kd-g-color-text-secondary, #666));
|
|
201
218
|
font-size: var(--kd-c-alert-close-icon-font-size, var(--kd-g-font-size-middle, 14px));
|
|
202
|
-
justify-self: flex-end;
|
|
203
219
|
cursor: pointer;
|
|
204
220
|
}
|
|
205
221
|
.kd-alert-close-icon:hover {
|
|
@@ -16,11 +16,18 @@
|
|
|
16
16
|
@info: @alert-info-bg-color;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
.alert-
|
|
20
|
-
@success: @alert-success-
|
|
21
|
-
@warning: @alert-warning-
|
|
22
|
-
@error: @alert-error-
|
|
23
|
-
@info: @alert-info-
|
|
19
|
+
.alert-icon-type-set() {
|
|
20
|
+
@success: @alert-success-icon-color;
|
|
21
|
+
@warning: @alert-warning-icon-color;
|
|
22
|
+
@error: @alert-error-icon-color;
|
|
23
|
+
@info: @alert-info-icon-color;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.alert-border-type-set() {
|
|
27
|
+
@success: @alert-success-border-color;
|
|
28
|
+
@warning: @alert-warning-border-color;
|
|
29
|
+
@error: @alert-error-border-color;
|
|
30
|
+
@info: @alert-info-border-color;
|
|
24
31
|
}
|
|
25
32
|
|
|
26
33
|
@alert-transition-fn: cubic-bezier(0.32, 0.94, 0.6, 1);
|
|
@@ -36,9 +43,11 @@
|
|
|
36
43
|
z-index: @z-index-apex;
|
|
37
44
|
display: none;
|
|
38
45
|
width: 100%;
|
|
39
|
-
padding: @alert-padding-
|
|
46
|
+
padding: @alert-padding-vertical @alert-padding-horizontal;
|
|
40
47
|
align-items: center;
|
|
41
48
|
transition: display 3s;
|
|
49
|
+
border-radius: @alert-radius-border;
|
|
50
|
+
border: 1px solid;
|
|
42
51
|
}
|
|
43
52
|
&-banner-container {
|
|
44
53
|
display: flex;
|
|
@@ -50,19 +59,24 @@
|
|
|
50
59
|
each(.alert-bg-type-set(), {
|
|
51
60
|
.alert-bg-type(@key, @value);
|
|
52
61
|
});
|
|
53
|
-
each(.alert-
|
|
54
|
-
.alert-
|
|
62
|
+
each(.alert-border-type-set(), {
|
|
63
|
+
.alert-border-type(@key, @value);
|
|
55
64
|
});
|
|
56
65
|
&-icon {
|
|
57
66
|
display: flex;
|
|
58
67
|
cursor: default;
|
|
59
68
|
.icon-center();
|
|
69
|
+
height: @alert-message-icon-font-size;
|
|
60
70
|
margin-right: @alert-message-icon-margin-right;
|
|
61
71
|
font-size: @alert-message-icon-font-size;
|
|
72
|
+
each(.alert-icon-type-set(), {
|
|
73
|
+
.alert-icon-type(@key, @value);
|
|
74
|
+
});
|
|
62
75
|
}
|
|
63
76
|
&-message {
|
|
77
|
+
color: @alert-message-color-text;
|
|
64
78
|
font-size: @alert-message-font-size;
|
|
65
|
-
line-height:
|
|
79
|
+
line-height: 16px;
|
|
66
80
|
display: flex;
|
|
67
81
|
flex-grow: 1;
|
|
68
82
|
cursor: default;
|
|
@@ -86,10 +100,10 @@
|
|
|
86
100
|
}
|
|
87
101
|
&-close-icon {
|
|
88
102
|
display: flex;
|
|
103
|
+
height: @alert-message-icon-font-size;
|
|
89
104
|
margin-left: @alert-close-icon-margin-left;
|
|
90
105
|
color: @alert-close-icon-color;
|
|
91
106
|
font-size: @alert-close-icon-font-size;
|
|
92
|
-
justify-self: flex-end;
|
|
93
107
|
cursor: pointer;
|
|
94
108
|
&:hover {
|
|
95
109
|
color: @alert-close-icon-color-hover;
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
}
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
.alert-
|
|
8
|
-
&.alert-@{type}-
|
|
7
|
+
.alert-icon-type(@type, @color) {
|
|
8
|
+
&.alert-@{type}-icon-color {
|
|
9
9
|
color: @color
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
.alert-border-type(@type, @color) {
|
|
14
|
+
&.alert-@{type}-border-color {
|
|
15
|
+
border-color: @color
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
13
19
|
.square(@side-length) {
|
|
14
20
|
width: @side-length;
|
|
15
21
|
height: @side-length;
|
|
@@ -8,10 +8,16 @@
|
|
|
8
8
|
@alert-error-bg-color: var(~'@{alert-custom-prefix}-color-background-error', @color-background-error); // 反馈浮层错误提示的背景色
|
|
9
9
|
@alert-info-bg-color: var(~'@{alert-custom-prefix}-color-background-info', @color-background-ongoing); // 反馈浮层一般提示的背景色
|
|
10
10
|
|
|
11
|
-
@alert-
|
|
12
|
-
@alert-
|
|
13
|
-
@alert-
|
|
14
|
-
@alert-
|
|
11
|
+
@alert-message-color-text: var(~'@{alert-custom-prefix}-color-text', @color-text-primary); // 反馈浮层提示的文字色
|
|
12
|
+
@alert-success-icon-color: var(~'@{alert-custom-prefix}-color-icon-success', @color-success); // 反馈浮层成功提示的图标颜色
|
|
13
|
+
@alert-warning-icon-color: var(~'@{alert-custom-prefix}-color-icon-warning', @color-warning); // 反馈浮层警告提示的图标颜色
|
|
14
|
+
@alert-error-icon-color: var(~'@{alert-custom-prefix}-color-icon-error', @color-error); // 反馈浮层错误提示的图标颜色
|
|
15
|
+
@alert-info-icon-color: var(~'@{alert-custom-prefix}-color-icon-info', @color-ongoing); // 反馈浮层一般提示的图标颜色
|
|
16
|
+
|
|
17
|
+
@alert-success-border-color: var(~'@{alert-custom-prefix}-color-border-success', #DCFAE4); // 反馈浮层成功提示的边框色
|
|
18
|
+
@alert-warning-border-color: var(~'@{alert-custom-prefix}-color-border-warning', #FFF1D4); // 反馈浮层警告提示的边框色
|
|
19
|
+
@alert-error-border-color: var(~'@{alert-custom-prefix}-color-border-error', #FFDBE0); // 反馈浮层错误提示的边框色
|
|
20
|
+
@alert-info-border-color: var(~'@{alert-custom-prefix}-color-border-info', #E0EFFF); // 反馈浮层一般提示的边框色
|
|
15
21
|
|
|
16
22
|
@alert-close-icon-color: var(~'@{alert-custom-prefix}-close-icon-color-text', @color-text-secondary);
|
|
17
23
|
@alert-close-icon-color-hover: var(~'@{alert-custom-prefix}-close-icon-color-text-hover', @color-theme-hover);
|
|
@@ -22,8 +28,10 @@
|
|
|
22
28
|
@alert-close-icon-font-size: var(~'@{alert-custom-prefix}-close-icon-font-size', @font-size-middle);
|
|
23
29
|
|
|
24
30
|
// spacing
|
|
25
|
-
@alert-padding-
|
|
26
|
-
@alert-padding-
|
|
27
|
-
@alert-padding-horizontal: var(~'@{alert-custom-prefix}-sizing-padding-horizontal', 12px);
|
|
31
|
+
@alert-padding-vertical: var(~'@{alert-custom-prefix}-sizing-padding-vertical', 12px);
|
|
32
|
+
@alert-padding-horizontal: var(~'@{alert-custom-prefix}-sizing-padding-horizontal', 20px);
|
|
28
33
|
@alert-message-icon-margin-right: var(~'@{alert-custom-prefix}-message-icon-sizing-margin-right', 8px);
|
|
29
|
-
@alert-close-icon-margin-left: var(~'@{alert-custom-prefix}-close-icon-sizing-margin-left', 8px);
|
|
34
|
+
@alert-close-icon-margin-left: var(~'@{alert-custom-prefix}-close-icon-sizing-margin-left', 8px);
|
|
35
|
+
|
|
36
|
+
// radius
|
|
37
|
+
@alert-radius-border: var(~'@{alert-custom-prefix}-radius-border', 4px);
|