@qsxy/element-plus-react 1.0.0-next.5 → 1.0.0-next.8
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/Avatar/Avatar.d.ts +4 -0
- package/dist/Avatar/Avatar.js +86 -0
- package/dist/Avatar/index.d.ts +2 -0
- package/dist/{VirtualList → Avatar}/index.js +7 -7
- package/dist/Avatar/typings.d.ts +21 -0
- package/dist/{VirtualList/interface.js → Avatar/typings.js} +3 -3
- package/dist/Cascader/Cascader.js +147 -182
- package/dist/Cascader/CascaderContext.d.ts +4 -10
- package/dist/Cascader/CascaderContext.js +2 -6
- package/dist/Cascader/CascaderDropdown.js +1 -1
- package/dist/Cascader/CascaderMenu.d.ts +0 -7
- package/dist/Cascader/CascaderMenu.js +4 -77
- package/dist/Cascader/Utils.d.ts +0 -2
- package/dist/Cascader/Utils.js +0 -44
- package/dist/Cascader/index.d.ts +1 -1
- package/dist/Cascader/typings.d.ts +2 -18
- package/dist/Cascader/useCascader.d.ts +1 -15
- package/dist/Cascader/useCascader.js +14 -41
- package/dist/DatePicker/DatePicker.js +5 -5
- package/dist/Empty/ImgEmpty.js +1 -1
- package/dist/Loading/Loading.js +14 -4
- package/dist/Tree/DirectoryTree.d.ts +6 -13
- package/dist/Tree/DirectoryTree.js +32 -81
- package/dist/Tree/DropIndicator.d.ts +4 -2
- package/dist/Tree/DropIndicator.js +7 -2
- package/dist/Tree/Indent.d.ts +2 -2
- package/dist/Tree/Indent.js +4 -4
- package/dist/Tree/MotionTreeNode.d.ts +4 -5
- package/dist/Tree/MotionTreeNode.js +69 -52
- package/dist/Tree/NodeList.d.ts +15 -11
- package/dist/Tree/NodeList.js +38 -29
- package/dist/Tree/RCTree.d.ts +77 -75
- package/dist/Tree/RCTree.js +199 -188
- package/dist/Tree/Tree.d.ts +3 -3
- package/dist/Tree/Tree.js +27 -27
- package/dist/Tree/TreeNode.d.ts +5 -90
- package/dist/Tree/TreeNode.js +320 -422
- package/dist/Tree/contextTypes.d.ts +36 -30
- package/dist/Tree/contextTypes.js +17 -4
- package/dist/Tree/index.d.ts +2 -2
- package/dist/Tree/typings.d.ts +60 -19
- package/dist/Tree/typings.js +1 -13
- package/dist/Tree/typings.tsx--bak +245 -0
- package/dist/Tree/useUnmount.d.ts +5 -0
- package/dist/{VirtualList/hooks/useChildren.js → Tree/useUnmount.js} +24 -16
- package/dist/Tree/util.d.ts +17 -21
- package/dist/Tree/util.js +21 -52
- package/dist/Tree/utils/conductUtil.d.ts +2 -2
- package/dist/Tree/utils/conductUtil.js +14 -3
- package/dist/Tree/utils/dictUtil.d.ts +7 -3
- package/dist/Tree/utils/dictUtil.js +49 -32
- package/dist/Tree/utils/diffUtil.d.ts +4 -3
- package/dist/Tree/utils/keyUtil.d.ts +2 -0
- package/dist/{VirtualList/utils/isFirefox.js → Tree/utils/keyUtil.js} +8 -7
- package/dist/Tree/utils/motion.js +6 -5
- package/dist/Tree/utils/treeUtil.d.ts +16 -18
- package/dist/Tree/utils/treeUtil.js +35 -14
- package/dist/TreeSelect/Utils.d.ts +1 -1
- package/dist/Util/base.d.ts +1 -1
- package/dist/Util/base.js +14 -2
- package/dist/hooks/useClassNames.d.ts +1 -0
- package/dist/hooks/useClassNames.js +11 -1
- package/dist/index.css +58 -6
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -5
- package/dist/theme-chalk/avatar/index.scss +50 -0
- package/dist/theme-chalk/calendar/month-table.scss +1 -1
- package/dist/theme-chalk/index.scss +1 -0
- package/dist/theme-chalk/input/input.scss +5 -3
- package/dist/theme-chalk/loading/index.scss +5 -7
- package/package.json +2 -1
- package/dist/Tree/utils/KeyCode.d.ts +0 -436
- package/dist/Tree/utils/KeyCode.js +0 -550
- package/dist/VirtualList/Filler.d.ts +0 -16
- package/dist/VirtualList/Filler.js +0 -78
- package/dist/VirtualList/Item.d.ts +0 -7
- package/dist/VirtualList/Item.js +0 -37
- package/dist/VirtualList/ScrollBar.d.ts +0 -43
- package/dist/VirtualList/ScrollBar.js +0 -216
- package/dist/VirtualList/VirtualList.d.ts +0 -36
- package/dist/VirtualList/VirtualList.js +0 -280
- package/dist/VirtualList/hooks/useChildren.d.ts +0 -3
- package/dist/VirtualList/hooks/useDiffItem.d.ts +0 -2
- package/dist/VirtualList/hooks/useDiffItem.js +0 -39
- package/dist/VirtualList/hooks/useFrameWheel.d.ts +0 -6
- package/dist/VirtualList/hooks/useFrameWheel.js +0 -72
- package/dist/VirtualList/hooks/useHeights.d.ts +0 -3
- package/dist/VirtualList/hooks/useHeights.js +0 -83
- package/dist/VirtualList/hooks/useLayoutEffect.d.ts +0 -6
- package/dist/VirtualList/hooks/useLayoutEffect.js +0 -30
- package/dist/VirtualList/hooks/useMobileTouchMove.d.ts +0 -2
- package/dist/VirtualList/hooks/useMobileTouchMove.js +0 -92
- package/dist/VirtualList/hooks/useOriginScroll.d.ts +0 -2
- package/dist/VirtualList/hooks/useOriginScroll.js +0 -56
- package/dist/VirtualList/hooks/useScrollTo.d.ts +0 -5
- package/dist/VirtualList/hooks/useScrollTo.js +0 -111
- package/dist/VirtualList/index.d.ts +0 -2
- package/dist/VirtualList/interface.d.ts +0 -8
- package/dist/VirtualList/mock.d.ts +0 -6
- package/dist/VirtualList/mock.js +0 -29
- package/dist/VirtualList/utils/CacheMap.d.ts +0 -7
- package/dist/VirtualList/utils/CacheMap.js +0 -36
- package/dist/VirtualList/utils/algorithmUtil.d.ts +0 -23
- package/dist/VirtualList/utils/algorithmUtil.js +0 -81
- package/dist/VirtualList/utils/findDOMNode.d.ts +0 -5
- package/dist/VirtualList/utils/findDOMNode.js +0 -30
- package/dist/VirtualList/utils/isFirefox.d.ts +0 -2
- package/dist/VirtualList/utils/raf.d.ts +0 -5
- package/dist/VirtualList/utils/raf.js +0 -57
- package/dist/theme-chalk/bak/common/popup.scss +0 -47
- package/dist/theme-chalk/bak/common/transition.scss +0 -118
- package/dist/theme-chalk/bak/common/var.scss +0 -1476
- package/dist/theme-chalk/bak/mixins/_button.scss +0 -224
- package/dist/theme-chalk/bak/mixins/_col.scss +0 -38
- package/dist/theme-chalk/bak/mixins/_var.scss +0 -55
- package/dist/theme-chalk/bak/mixins/config.scss +0 -5
- package/dist/theme-chalk/bak/mixins/function.scss +0 -85
- package/dist/theme-chalk/bak/mixins/mixins.scss +0 -215
- package/dist/theme-chalk/bak/mixins/utils.scss +0 -39
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/Avatar/Avatar.tsx
|
|
30
|
+
var Avatar_exports = {};
|
|
31
|
+
__export(Avatar_exports, {
|
|
32
|
+
default: () => Avatar_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(Avatar_exports);
|
|
35
|
+
var import_classnames = __toESM(require("classnames"));
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_Icon = __toESM(require("../Icon/Icon"));
|
|
38
|
+
var import_base = require("../Util/base");
|
|
39
|
+
var import_hooks = require("../hooks");
|
|
40
|
+
var Avatar = (0, import_react.memo)((props) => {
|
|
41
|
+
const { icon, size = "default", shape = "circle", src, srcSet, alt, fit = "cover", classPrefix = "avatar", onError } = props;
|
|
42
|
+
const { b, m, cssVarBlock } = (0, import_hooks.useClassNames)(classPrefix);
|
|
43
|
+
const [hasLoadError, setHasLoadError] = (0, import_react.useState)(false);
|
|
44
|
+
const handleError = (e) => {
|
|
45
|
+
setHasLoadError(true);
|
|
46
|
+
onError(e);
|
|
47
|
+
};
|
|
48
|
+
(0, import_react.useEffect)(() => {
|
|
49
|
+
if ((0, import_base.isNotEmpty)(src)) {
|
|
50
|
+
setHasLoadError(false);
|
|
51
|
+
}
|
|
52
|
+
}, [src]);
|
|
53
|
+
const avatarClass = (0, import_react.useMemo)(() => {
|
|
54
|
+
const classList = [b()];
|
|
55
|
+
if ((0, import_base.isString)(size)) {
|
|
56
|
+
classList.push(m(size));
|
|
57
|
+
}
|
|
58
|
+
if (icon) {
|
|
59
|
+
classList.push(m("icon"));
|
|
60
|
+
}
|
|
61
|
+
if (shape) {
|
|
62
|
+
classList.push(m(shape));
|
|
63
|
+
}
|
|
64
|
+
return (0, import_classnames.default)(classList);
|
|
65
|
+
}, [b, icon, m, shape, size]);
|
|
66
|
+
const sizeStyle = (0, import_react.useMemo)(() => {
|
|
67
|
+
return (0, import_base.isNumber)(size) ? cssVarBlock({
|
|
68
|
+
size: (0, import_base.addUnit)(size) || ""
|
|
69
|
+
}) : void 0;
|
|
70
|
+
}, [cssVarBlock, size]);
|
|
71
|
+
const children = (0, import_react.useMemo)(() => icon ? /* @__PURE__ */ import_react.default.createElement(import_Icon.default, { name: icon }) : props.children, [icon, props.children]);
|
|
72
|
+
return /* @__PURE__ */ import_react.default.createElement("span", { className: avatarClass, style: sizeStyle }, (src || srcSet) && !hasLoadError ? /* @__PURE__ */ import_react.default.createElement(
|
|
73
|
+
"img",
|
|
74
|
+
{
|
|
75
|
+
src,
|
|
76
|
+
alt,
|
|
77
|
+
srcSet,
|
|
78
|
+
style: {
|
|
79
|
+
objectFit: fit
|
|
80
|
+
},
|
|
81
|
+
onError: handleError
|
|
82
|
+
}
|
|
83
|
+
) : children);
|
|
84
|
+
});
|
|
85
|
+
Avatar.displayName = "ElAvatar";
|
|
86
|
+
var Avatar_default = Avatar;
|
|
@@ -26,14 +26,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
28
|
|
|
29
|
-
// src/
|
|
30
|
-
var
|
|
31
|
-
__export(
|
|
32
|
-
|
|
29
|
+
// src/Avatar/index.ts
|
|
30
|
+
var Avatar_exports = {};
|
|
31
|
+
__export(Avatar_exports, {
|
|
32
|
+
Avatar: () => import_Avatar.default
|
|
33
33
|
});
|
|
34
|
-
module.exports = __toCommonJS(
|
|
35
|
-
var
|
|
34
|
+
module.exports = __toCommonJS(Avatar_exports);
|
|
35
|
+
var import_Avatar = __toESM(require("./Avatar"));
|
|
36
36
|
// Annotate the CommonJS export names for ESM import in node:
|
|
37
37
|
0 && (module.exports = {
|
|
38
|
-
|
|
38
|
+
Avatar
|
|
39
39
|
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IconName } from '../Icon';
|
|
3
|
+
import { BaseProps, NativeProps } from '../types/common';
|
|
4
|
+
export interface AvatarProps extends BaseProps, NativeProps<'--el-avatar-text-color' | '--el-avatar-bg-color' | '--el-avatar-text-size' | '--el-avatar-icon-size' | '--el-avatar-border-radius' | '--el-avatar-size-large' | '--el-avatar-size-small' | '--el-avatar-size'> {
|
|
5
|
+
/** 设置 Avatar 的图标类型,具体参考 Icon 组件 */
|
|
6
|
+
icon?: IconName;
|
|
7
|
+
/** Avatar 大小 */
|
|
8
|
+
size?: number | 'large' | 'default' | 'small' | '';
|
|
9
|
+
/** Avatar 形状 */
|
|
10
|
+
shape?: 'circle' | 'square';
|
|
11
|
+
/** Avatar 图片的源地址 */
|
|
12
|
+
src?: string;
|
|
13
|
+
/** 图片 Avatar 的原生 srcset 属性 */
|
|
14
|
+
srcSet?: string;
|
|
15
|
+
/** 图片 Avatar 的原生 alt 属性 */
|
|
16
|
+
alt?: string;
|
|
17
|
+
/** 当展示类型为图片的时候,设置图片如何适应容器 */
|
|
18
|
+
fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
|
|
19
|
+
/** 图片加载失败时触发 */
|
|
20
|
+
onError?: (e: React.SyntheticEvent<HTMLImageElement, Event>) => void;
|
|
21
|
+
}
|
|
@@ -12,6 +12,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
12
12
|
};
|
|
13
13
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
14
|
|
|
15
|
-
// src/
|
|
16
|
-
var
|
|
17
|
-
module.exports = __toCommonJS(
|
|
15
|
+
// src/Avatar/typings.ts
|
|
16
|
+
var typings_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(typings_exports);
|
|
@@ -34,12 +34,10 @@ __export(Cascader_exports, {
|
|
|
34
34
|
module.exports = __toCommonJS(Cascader_exports);
|
|
35
35
|
var import_classnames = __toESM(require("classnames"));
|
|
36
36
|
var import_find = __toESM(require("lodash/find"));
|
|
37
|
-
var import_get = __toESM(require("lodash/get"));
|
|
38
37
|
var import_isEqual = __toESM(require("lodash/isEqual"));
|
|
39
38
|
var import_last = __toESM(require("lodash/last"));
|
|
40
39
|
var import_max = __toESM(require("lodash/max"));
|
|
41
40
|
var import_omit = __toESM(require("lodash/omit"));
|
|
42
|
-
var import_reverse = __toESM(require("lodash/reverse"));
|
|
43
41
|
var import_trim = __toESM(require("lodash/trim"));
|
|
44
42
|
var import_react = __toESM(require("react"));
|
|
45
43
|
var import_Divider = require("../Divider");
|
|
@@ -58,32 +56,27 @@ var import_useCascader = require("./useCascader");
|
|
|
58
56
|
var Cascader = (0, import_react.memo)(
|
|
59
57
|
(0, import_react.forwardRef)((props, ref) => {
|
|
60
58
|
var _a;
|
|
61
|
-
props =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
59
|
+
props = (0, import_Util.mergeDefaultProps)(
|
|
60
|
+
{
|
|
61
|
+
separator: "/",
|
|
62
|
+
showAllLevels: true,
|
|
63
|
+
props: {
|
|
64
|
+
expandTrigger: "click",
|
|
65
|
+
emitPath: true,
|
|
66
|
+
valueKey: "value",
|
|
67
|
+
labelKey: "label",
|
|
68
|
+
childrenKey: "children",
|
|
69
|
+
disabledKey: "disabled",
|
|
70
|
+
leafKey: "leaf"
|
|
71
|
+
},
|
|
72
|
+
shouldSelect: () => true,
|
|
73
|
+
placeholder: "请选择",
|
|
74
|
+
collapseTags: true,
|
|
75
|
+
collapseTagsTooltip: true,
|
|
76
|
+
maxCollapseTags: 1
|
|
79
77
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
collapseTags: true,
|
|
83
|
-
collapseTagsTooltip: true,
|
|
84
|
-
maxCollapseTags: 1,
|
|
85
|
-
...props
|
|
86
|
-
};
|
|
78
|
+
props
|
|
79
|
+
);
|
|
87
80
|
const {
|
|
88
81
|
classPrefix = "cascader",
|
|
89
82
|
options,
|
|
@@ -102,7 +95,6 @@ var Cascader = (0, import_react.memo)(
|
|
|
102
95
|
afterEnter,
|
|
103
96
|
afterLeave,
|
|
104
97
|
props: menuProps,
|
|
105
|
-
treeMenuProps,
|
|
106
98
|
shouldSelect,
|
|
107
99
|
labelFormatter,
|
|
108
100
|
error,
|
|
@@ -110,7 +102,6 @@ var Cascader = (0, import_react.memo)(
|
|
|
110
102
|
...rest
|
|
111
103
|
} = props;
|
|
112
104
|
const { multiple, valueKey = "value", labelKey = "label", childrenKey = "children", lazy, lazyLoad } = menuProps;
|
|
113
|
-
const { valueKey: treeValueKey = "key" } = treeMenuProps;
|
|
114
105
|
const { e, b, m, is } = (0, import_hooks.useClassNames)(classPrefix);
|
|
115
106
|
const disabled = (0, import_hooks.useDisabled)(props.disabled);
|
|
116
107
|
const size = (0, import_hooks.useSize)(props.size);
|
|
@@ -154,7 +145,6 @@ var Cascader = (0, import_react.memo)(
|
|
|
154
145
|
clearSelected,
|
|
155
146
|
setNodeLeaf,
|
|
156
147
|
getDataType,
|
|
157
|
-
getTreeData,
|
|
158
148
|
getExpandedKeys,
|
|
159
149
|
setExpandedKeys,
|
|
160
150
|
setSelectedValue,
|
|
@@ -256,20 +246,6 @@ var Cascader = (0, import_react.memo)(
|
|
|
256
246
|
},
|
|
257
247
|
[searchText]
|
|
258
248
|
);
|
|
259
|
-
const loopGetExpandedKeys = (0, import_react.useCallback)(
|
|
260
|
-
(nodeList, node, expandedKeys = []) => {
|
|
261
|
-
if (Object.prototype.hasOwnProperty.call(node, "parent")) {
|
|
262
|
-
const key = (0, import_get.default)(node, `parent.${treeValueKey}`);
|
|
263
|
-
const parent = (0, import_find.default)(nodeList, { [valueKey]: key });
|
|
264
|
-
if (parent) {
|
|
265
|
-
expandedKeys.push(key);
|
|
266
|
-
loopGetExpandedKeys(nodeList, parent, expandedKeys);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
return expandedKeys;
|
|
270
|
-
},
|
|
271
|
-
[treeValueKey, valueKey]
|
|
272
|
-
);
|
|
273
249
|
const onSelect = (0, import_react.useCallback)(
|
|
274
250
|
(_level, node) => {
|
|
275
251
|
if (lazy && lazyLoad && node.__leaf !== true && !node[childrenKey]) {
|
|
@@ -277,8 +253,8 @@ var Cascader = (0, import_react.memo)(
|
|
|
277
253
|
new Promise((resolve, reject) => {
|
|
278
254
|
setLoading(node.__id);
|
|
279
255
|
lazyLoad({ ...node, level: _level + 1 }, resolve, reject);
|
|
280
|
-
}).then(({ nodes
|
|
281
|
-
storeOptionData(nodes, _level + 1, node, {
|
|
256
|
+
}).then(({ nodes }) => {
|
|
257
|
+
storeOptionData(nodes, _level + 1, node, {});
|
|
282
258
|
setLoading(null);
|
|
283
259
|
if (shouldSelect(node, _level)) {
|
|
284
260
|
setLevel(_level + 1);
|
|
@@ -287,7 +263,7 @@ var Cascader = (0, import_react.memo)(
|
|
|
287
263
|
setNodeLeaf(node, true);
|
|
288
264
|
setLoading(null);
|
|
289
265
|
if (shouldSelect(node, _level)) {
|
|
290
|
-
storeOptionData([], _level + 1, node, {
|
|
266
|
+
storeOptionData([], _level + 1, node, {});
|
|
291
267
|
const _label = getSelectedLabel(labelFormatter == null ? void 0 : labelFormatter.bind(void 0, _level));
|
|
292
268
|
lastValueRef.current = getSelectedValue();
|
|
293
269
|
setValue(lastValueRef.current);
|
|
@@ -370,8 +346,6 @@ var Cascader = (0, import_react.memo)(
|
|
|
370
346
|
}
|
|
371
347
|
const curNode = (0, import_find.default)(nodes, { [valueKey]: _value[_l] });
|
|
372
348
|
if (curNode) {
|
|
373
|
-
const expandedKeys = loopGetExpandedKeys(nodes, curNode);
|
|
374
|
-
setExpandedKeys(_l, (0, import_reverse.default)(expandedKeys));
|
|
375
349
|
setSelectedNode(_l, curNode);
|
|
376
350
|
setLabel(getSelectedLabel(labelFormatter == null ? void 0 : labelFormatter.bind(void 0, showAllLevels ? _value.length : allLevel)));
|
|
377
351
|
loopLazyLoad(_l + 1, curNode, _value, { isCover });
|
|
@@ -387,8 +361,8 @@ var Cascader = (0, import_react.memo)(
|
|
|
387
361
|
} else {
|
|
388
362
|
new Promise((resolve, reject) => {
|
|
389
363
|
lazyLoad({ ...parent, level: l }, resolve, reject);
|
|
390
|
-
}).then(({ nodes
|
|
391
|
-
const newNodes = storeOptionData(nodes, l, parent, {
|
|
364
|
+
}).then(({ nodes }) => {
|
|
365
|
+
const newNodes = storeOptionData(nodes, l, parent, { isCover });
|
|
392
366
|
loopCore(newNodes, l);
|
|
393
367
|
});
|
|
394
368
|
}
|
|
@@ -406,8 +380,6 @@ var Cascader = (0, import_react.memo)(
|
|
|
406
380
|
[
|
|
407
381
|
stopLazy,
|
|
408
382
|
valueKey,
|
|
409
|
-
loopGetExpandedKeys,
|
|
410
|
-
setExpandedKeys,
|
|
411
383
|
setSelectedNode,
|
|
412
384
|
setLabel,
|
|
413
385
|
getSelectedLabel,
|
|
@@ -466,8 +438,8 @@ var Cascader = (0, import_react.memo)(
|
|
|
466
438
|
if (lazy && lazyLoad && (0, import_Util.isEmpty)(value)) {
|
|
467
439
|
new Promise((resolve, reject) => {
|
|
468
440
|
lazyLoad({ level: 0 }, resolve, reject);
|
|
469
|
-
}).then(({ nodes
|
|
470
|
-
storeOptionData(nodes, 0, null, {
|
|
441
|
+
}).then(({ nodes }) => {
|
|
442
|
+
storeOptionData(nodes, 0, null, { isCover: true });
|
|
471
443
|
});
|
|
472
444
|
}
|
|
473
445
|
if ((0, import_Util.isEmpty)(props.lable)) {
|
|
@@ -485,146 +457,139 @@ var Cascader = (0, import_react.memo)(
|
|
|
485
457
|
},
|
|
486
458
|
setVisible
|
|
487
459
|
}));
|
|
488
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
489
|
-
|
|
460
|
+
return /* @__PURE__ */ import_react.default.createElement(import_CascaderContext.CascaderContext.Provider, { value: { props: menuProps, onSelect, onCheckedChange, loading, getDataType, searchText } }, /* @__PURE__ */ import_react.default.createElement(
|
|
461
|
+
"div",
|
|
490
462
|
{
|
|
491
|
-
|
|
463
|
+
className: (0, import_classnames.default)(b(), is({ disabled }), m({ [size]: size }), props.className),
|
|
464
|
+
style: props.style,
|
|
465
|
+
ref: containerRef,
|
|
466
|
+
onClick: (event) => event.stopPropagation()
|
|
492
467
|
},
|
|
493
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
468
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: e`trigger` }, multiple && /* @__PURE__ */ import_react.default.createElement(
|
|
494
469
|
"div",
|
|
495
470
|
{
|
|
496
|
-
className:
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
471
|
+
className: e`tags`,
|
|
472
|
+
onClick,
|
|
473
|
+
onMouseEnter: () => {
|
|
474
|
+
var _a2;
|
|
475
|
+
return (_a2 = inputRef.current) == null ? void 0 : _a2.showClear(multiple ? multiValue.join(",") : label);
|
|
476
|
+
},
|
|
477
|
+
onMouseLeave: () => {
|
|
478
|
+
var _a2;
|
|
479
|
+
return (_a2 = inputRef.current) == null ? void 0 : _a2.hideClear();
|
|
480
|
+
}
|
|
500
481
|
},
|
|
501
|
-
/* @__PURE__ */ import_react.default.createElement("div", { className:
|
|
502
|
-
"
|
|
482
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)(b`tags-wrapper`, "has-prefix"), ref: wrapperRef }, (collapseTags ? checkedNodes().slice(0, maxCollapseTags) : checkedNodes()).map((item, i) => {
|
|
483
|
+
return /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { key: i, type: "info", closable: !disabled, onClick, onClose: () => onCloseTag(item), disableTransitions: true }, item.map((node) => node[labelKey]).join(separator));
|
|
484
|
+
}), collapseTags && ((_a = multiLabel()) == null ? void 0 : _a.length) > maxCollapseTags && /* @__PURE__ */ import_react.default.createElement(
|
|
485
|
+
import_Tooltip.Tooltip,
|
|
503
486
|
{
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
onMouseLeave: () => {
|
|
511
|
-
var _a2;
|
|
512
|
-
return (_a2 = inputRef.current) == null ? void 0 : _a2.hideClear();
|
|
513
|
-
}
|
|
487
|
+
popperClass: e`tooltip`,
|
|
488
|
+
placement: "top",
|
|
489
|
+
disabled: !collapseTagsTooltip,
|
|
490
|
+
content: /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, checkedNodes().slice(maxCollapseTags, checkedNodes().length).map((item, i) => /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { key: i, type: "info", disableTransitions: true }, item.map((node) => node[labelKey]).join(separator)))),
|
|
491
|
+
effect: "light",
|
|
492
|
+
enterable: true
|
|
514
493
|
},
|
|
515
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
516
|
-
return /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { key: i, type: "info", closable: !disabled, onClick, onClose: () => onCloseTag(item), disableTransitions: true }, item.map((node) => node[labelKey]).join(separator));
|
|
517
|
-
}), collapseTags && ((_a = multiLabel()) == null ? void 0 : _a.length) > maxCollapseTags && /* @__PURE__ */ import_react.default.createElement(
|
|
518
|
-
import_Tooltip.Tooltip,
|
|
519
|
-
{
|
|
520
|
-
popperClass: e`tooltip`,
|
|
521
|
-
placement: "top",
|
|
522
|
-
disabled: !collapseTagsTooltip,
|
|
523
|
-
content: /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, checkedNodes().slice(maxCollapseTags, checkedNodes().length).map((item, i) => /* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { key: i, type: "info", disableTransitions: true }, item.map((node) => node[labelKey]).join(separator)))),
|
|
524
|
-
effect: "light",
|
|
525
|
-
enterable: true
|
|
526
|
-
},
|
|
527
|
-
/* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { type: "info", onClick, disableTransitions: true }, collapseTips ? collapseTips(multiLabel().length - maxCollapseTags, multiLabel().length) : `+ ${multiLabel().length - maxCollapseTags}`)
|
|
528
|
-
))
|
|
529
|
-
), /* @__PURE__ */ import_react.default.createElement(
|
|
530
|
-
import_Input.Input,
|
|
531
|
-
{
|
|
532
|
-
ref: inputRef,
|
|
533
|
-
value: multiple ? multiValue.join(separator) : label,
|
|
534
|
-
placeholder,
|
|
535
|
-
readOnly: true,
|
|
536
|
-
hiddenValue: multiple,
|
|
537
|
-
clearable: clearable && !disabled,
|
|
538
|
-
disabled,
|
|
539
|
-
size,
|
|
540
|
-
onClick,
|
|
541
|
-
onClear,
|
|
542
|
-
plain: props.plain,
|
|
543
|
-
className: is({ active: visible }),
|
|
544
|
-
error,
|
|
545
|
-
warning,
|
|
546
|
-
innerStyle: multiple ? { height: inputHeight } : {},
|
|
547
|
-
suffix: /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { prefix: "fal", name: "angle-down", className: visible ? "fa-rotate-180" : "", onClick }),
|
|
548
|
-
prefix: props.prefix,
|
|
549
|
-
append: props.append,
|
|
550
|
-
prepend: props.prepend,
|
|
551
|
-
...(0, import_omit.default)(htmlInputProps, [
|
|
552
|
-
"value",
|
|
553
|
-
"defaultValue",
|
|
554
|
-
"onInput",
|
|
555
|
-
"size",
|
|
556
|
-
"prefix",
|
|
557
|
-
"onChange",
|
|
558
|
-
"style",
|
|
559
|
-
"readOnly",
|
|
560
|
-
"disabled",
|
|
561
|
-
"className",
|
|
562
|
-
"type",
|
|
563
|
-
"maxLength",
|
|
564
|
-
"minLength",
|
|
565
|
-
"name"
|
|
566
|
-
])
|
|
567
|
-
}
|
|
494
|
+
/* @__PURE__ */ import_react.default.createElement(import_Tag.Tag, { type: "info", onClick, disableTransitions: true }, collapseTips ? collapseTips(multiLabel().length - maxCollapseTags, multiLabel().length) : `+ ${multiLabel().length - maxCollapseTags}`)
|
|
568
495
|
))
|
|
569
|
-
),
|
|
570
|
-
|
|
571
|
-
import_Popper.Popper,
|
|
496
|
+
), /* @__PURE__ */ import_react.default.createElement(
|
|
497
|
+
import_Input.Input,
|
|
572
498
|
{
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
499
|
+
ref: inputRef,
|
|
500
|
+
value: multiple ? multiValue.join(separator) : label,
|
|
501
|
+
placeholder,
|
|
502
|
+
readOnly: true,
|
|
503
|
+
hiddenValue: multiple,
|
|
504
|
+
clearable: clearable && !disabled,
|
|
505
|
+
disabled,
|
|
506
|
+
size,
|
|
507
|
+
onClick,
|
|
508
|
+
onClear,
|
|
509
|
+
plain: props.plain,
|
|
510
|
+
className: is({ active: visible }),
|
|
511
|
+
error,
|
|
512
|
+
warning,
|
|
513
|
+
innerStyle: multiple ? { height: inputHeight } : {},
|
|
514
|
+
suffix: /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { prefix: "fal", name: "angle-down", className: visible ? "fa-rotate-180" : "", onClick }),
|
|
515
|
+
prefix: props.prefix,
|
|
516
|
+
append: props.append,
|
|
517
|
+
prepend: props.prepend,
|
|
518
|
+
...(0, import_omit.default)(htmlInputProps, [
|
|
519
|
+
"value",
|
|
520
|
+
"defaultValue",
|
|
521
|
+
"onInput",
|
|
522
|
+
"size",
|
|
523
|
+
"prefix",
|
|
524
|
+
"onChange",
|
|
525
|
+
"style",
|
|
526
|
+
"readOnly",
|
|
527
|
+
"disabled",
|
|
528
|
+
"className",
|
|
529
|
+
"type",
|
|
530
|
+
"maxLength",
|
|
531
|
+
"minLength",
|
|
532
|
+
"name"
|
|
533
|
+
])
|
|
534
|
+
}
|
|
535
|
+
))
|
|
536
|
+
), /* @__PURE__ */ import_react.default.createElement(
|
|
537
|
+
import_Popper.Popper,
|
|
538
|
+
{
|
|
539
|
+
referenceElement: () => {
|
|
540
|
+
var _a2;
|
|
541
|
+
return (_a2 = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a2.ref;
|
|
542
|
+
},
|
|
543
|
+
visible,
|
|
544
|
+
popperInstRef,
|
|
545
|
+
popperClass: e`dropdown`,
|
|
546
|
+
onDestroy: () => setVisible(false),
|
|
547
|
+
onEnter: () => {
|
|
548
|
+
var _a2;
|
|
549
|
+
(_a2 = popperInstRef.current) == null ? void 0 : _a2.update();
|
|
550
|
+
onEnter == null ? void 0 : onEnter();
|
|
551
|
+
},
|
|
552
|
+
afterEnter: () => {
|
|
553
|
+
for (const key in menuRefs.current) {
|
|
554
|
+
if (Object.prototype.hasOwnProperty.call(menuRefs.current, key)) {
|
|
555
|
+
const item = menuRefs.current[key];
|
|
556
|
+
item == null ? void 0 : item.scrollToSelected();
|
|
592
557
|
}
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
afterLeave: handleAfterLeave,
|
|
596
|
-
placement: "bottom-start",
|
|
597
|
-
transitionAppear: true,
|
|
598
|
-
unmountOnExit: true,
|
|
599
|
-
...transitionProps,
|
|
600
|
-
...popperProps
|
|
558
|
+
}
|
|
559
|
+
afterEnter == null ? void 0 : afterEnter();
|
|
601
560
|
},
|
|
602
|
-
|
|
603
|
-
|
|
561
|
+
afterLeave: handleAfterLeave,
|
|
562
|
+
placement: "bottom-start",
|
|
563
|
+
transitionAppear: true,
|
|
564
|
+
unmountOnExit: true,
|
|
565
|
+
...transitionProps,
|
|
566
|
+
...popperProps
|
|
567
|
+
},
|
|
568
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: b`panel` }, filterable && /* @__PURE__ */ import_react.default.createElement("div", { className: e`search`, onClick: (event) => event.stopPropagation() }, /* @__PURE__ */ import_react.default.createElement(
|
|
569
|
+
import_Input.Input,
|
|
570
|
+
{
|
|
571
|
+
ref: searchInstance,
|
|
572
|
+
placeholder: "请输入关键词",
|
|
573
|
+
clearable: true,
|
|
574
|
+
plain: true,
|
|
575
|
+
debounceInput: true,
|
|
576
|
+
onClear: onClearSearch,
|
|
577
|
+
onChange: onSearch,
|
|
578
|
+
prefix: /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { prefix: "fal", name: "search" })
|
|
579
|
+
}
|
|
580
|
+
), /* @__PURE__ */ import_react.default.createElement(import_Divider.Divider, { style: { margin: 0 } })), (0, import_Util.isNotEmpty)(searchText) ? /* @__PURE__ */ import_react.default.createElement(import_CascaderDropdown.default, { options: filterList, separator, value, checkedNodes }) : /* @__PURE__ */ import_react.default.createElement("div", { className: e`panels` }, new Array(level + 1).fill(0).map((_, l) => {
|
|
581
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
582
|
+
import_CascaderMenu.default,
|
|
604
583
|
{
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
onClear: onClearSearch,
|
|
611
|
-
onChange: onSearch,
|
|
612
|
-
prefix: /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { prefix: "fal", name: "search" })
|
|
584
|
+
key: getValueOfLevel(l) + "_" + l,
|
|
585
|
+
ref: (_ref) => menuRefs.current[l] = _ref,
|
|
586
|
+
data: getOptions(l),
|
|
587
|
+
level: l,
|
|
588
|
+
value: getValueOfLevel(l)
|
|
613
589
|
}
|
|
614
|
-
)
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
{
|
|
618
|
-
key: getValueOfLevel(l) + "_" + l,
|
|
619
|
-
ref: (_ref) => menuRefs.current[l] = _ref,
|
|
620
|
-
data: getOptions(l),
|
|
621
|
-
level: l,
|
|
622
|
-
value: getValueOfLevel(l)
|
|
623
|
-
}
|
|
624
|
-
);
|
|
625
|
-
})))
|
|
626
|
-
)
|
|
627
|
-
);
|
|
590
|
+
);
|
|
591
|
+
})))
|
|
592
|
+
));
|
|
628
593
|
})
|
|
629
594
|
);
|
|
630
595
|
Cascader.displayName = "Cascader";
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
menuProps: CascaderMenuProps;
|
|
6
|
-
treeMenuProps?: TreeMenuProps;
|
|
7
|
-
treeProps?: DirectoryTreeProps<T>;
|
|
2
|
+
import { CascaderMenuProps } from './typings';
|
|
3
|
+
interface CascaderContextProps {
|
|
4
|
+
props: CascaderMenuProps;
|
|
8
5
|
loading?: string;
|
|
9
6
|
searchText?: string;
|
|
10
|
-
getExpandedKeys?: (level: number) => Key[];
|
|
11
|
-
setExpandedKeys?: (level: number, keys: Key[]) => void;
|
|
12
7
|
onSelect: (level: number, node: object) => void;
|
|
13
8
|
onCheckedChange: (_level: number, node: object, checked: boolean) => void;
|
|
14
9
|
getDataType: (level: number) => boolean;
|
|
15
|
-
getTreeData: (level: number) => DataNode[];
|
|
16
10
|
}
|
|
17
|
-
export declare const CascaderContext: import("react").Context<CascaderContextProps
|
|
11
|
+
export declare const CascaderContext: import("react").Context<CascaderContextProps>;
|
|
18
12
|
export {};
|
|
@@ -39,12 +39,8 @@ var CascaderContext = (0, import_react.createContext)({
|
|
|
39
39
|
onCheckedChange: import_noop.default,
|
|
40
40
|
loading: null,
|
|
41
41
|
searchText: null,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
getExpandedKeys: () => [],
|
|
45
|
-
setExpandedKeys: import_noop.default,
|
|
46
|
-
getDataType: () => false,
|
|
47
|
-
getTreeData: () => []
|
|
42
|
+
props: {},
|
|
43
|
+
getDataType: () => false
|
|
48
44
|
});
|
|
49
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
50
46
|
0 && (module.exports = {
|
|
@@ -40,7 +40,7 @@ var import_Scrollbar = require("../Scrollbar");
|
|
|
40
40
|
var import_hooks = require("../hooks");
|
|
41
41
|
var import_CascaderContext = require("./CascaderContext");
|
|
42
42
|
var CascaderDropdown = (0, import_react.memo)((props) => {
|
|
43
|
-
const { menuProps, onSelect, onCheckedChange } = (0, import_react.useContext)(import_CascaderContext.CascaderContext);
|
|
43
|
+
const { props: menuProps, onSelect, onCheckedChange } = (0, import_react.useContext)(import_CascaderContext.CascaderContext);
|
|
44
44
|
const { options, separator, value, checkedNodes } = props;
|
|
45
45
|
const { valueKey = "value", labelKey = "label", multiple } = menuProps;
|
|
46
46
|
const { e, is } = (0, import_hooks.useClassNames)("cascader");
|
|
@@ -8,12 +8,5 @@ interface Props {
|
|
|
8
8
|
export interface CascaderMenuRef {
|
|
9
9
|
scrollToSelected: () => void;
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* @author Parker
|
|
13
|
-
* @CreateTime 2022/4/17 14:14:01
|
|
14
|
-
* @LastEditor Parker
|
|
15
|
-
* @ModifyTime 2025/2/22 16:22:21
|
|
16
|
-
* @Description
|
|
17
|
-
*/
|
|
18
11
|
declare const CascaderMenu: React.MemoExoticComponent<React.ForwardRefExoticComponent<Props & React.RefAttributes<CascaderMenuRef>>>;
|
|
19
12
|
export default CascaderMenu;
|