@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.
Files changed (119) hide show
  1. package/dist/Avatar/Avatar.d.ts +4 -0
  2. package/dist/Avatar/Avatar.js +86 -0
  3. package/dist/Avatar/index.d.ts +2 -0
  4. package/dist/{VirtualList → Avatar}/index.js +7 -7
  5. package/dist/Avatar/typings.d.ts +21 -0
  6. package/dist/{VirtualList/interface.js → Avatar/typings.js} +3 -3
  7. package/dist/Cascader/Cascader.js +147 -182
  8. package/dist/Cascader/CascaderContext.d.ts +4 -10
  9. package/dist/Cascader/CascaderContext.js +2 -6
  10. package/dist/Cascader/CascaderDropdown.js +1 -1
  11. package/dist/Cascader/CascaderMenu.d.ts +0 -7
  12. package/dist/Cascader/CascaderMenu.js +4 -77
  13. package/dist/Cascader/Utils.d.ts +0 -2
  14. package/dist/Cascader/Utils.js +0 -44
  15. package/dist/Cascader/index.d.ts +1 -1
  16. package/dist/Cascader/typings.d.ts +2 -18
  17. package/dist/Cascader/useCascader.d.ts +1 -15
  18. package/dist/Cascader/useCascader.js +14 -41
  19. package/dist/DatePicker/DatePicker.js +5 -5
  20. package/dist/Empty/ImgEmpty.js +1 -1
  21. package/dist/Loading/Loading.js +14 -4
  22. package/dist/Tree/DirectoryTree.d.ts +6 -13
  23. package/dist/Tree/DirectoryTree.js +32 -81
  24. package/dist/Tree/DropIndicator.d.ts +4 -2
  25. package/dist/Tree/DropIndicator.js +7 -2
  26. package/dist/Tree/Indent.d.ts +2 -2
  27. package/dist/Tree/Indent.js +4 -4
  28. package/dist/Tree/MotionTreeNode.d.ts +4 -5
  29. package/dist/Tree/MotionTreeNode.js +69 -52
  30. package/dist/Tree/NodeList.d.ts +15 -11
  31. package/dist/Tree/NodeList.js +38 -29
  32. package/dist/Tree/RCTree.d.ts +77 -75
  33. package/dist/Tree/RCTree.js +199 -188
  34. package/dist/Tree/Tree.d.ts +3 -3
  35. package/dist/Tree/Tree.js +27 -27
  36. package/dist/Tree/TreeNode.d.ts +5 -90
  37. package/dist/Tree/TreeNode.js +320 -422
  38. package/dist/Tree/contextTypes.d.ts +36 -30
  39. package/dist/Tree/contextTypes.js +17 -4
  40. package/dist/Tree/index.d.ts +2 -2
  41. package/dist/Tree/typings.d.ts +60 -19
  42. package/dist/Tree/typings.js +1 -13
  43. package/dist/Tree/typings.tsx--bak +245 -0
  44. package/dist/Tree/useUnmount.d.ts +5 -0
  45. package/dist/{VirtualList/hooks/useChildren.js → Tree/useUnmount.js} +24 -16
  46. package/dist/Tree/util.d.ts +17 -21
  47. package/dist/Tree/util.js +21 -52
  48. package/dist/Tree/utils/conductUtil.d.ts +2 -2
  49. package/dist/Tree/utils/conductUtil.js +14 -3
  50. package/dist/Tree/utils/dictUtil.d.ts +7 -3
  51. package/dist/Tree/utils/dictUtil.js +49 -32
  52. package/dist/Tree/utils/diffUtil.d.ts +4 -3
  53. package/dist/Tree/utils/keyUtil.d.ts +2 -0
  54. package/dist/{VirtualList/utils/isFirefox.js → Tree/utils/keyUtil.js} +8 -7
  55. package/dist/Tree/utils/motion.js +6 -5
  56. package/dist/Tree/utils/treeUtil.d.ts +16 -18
  57. package/dist/Tree/utils/treeUtil.js +35 -14
  58. package/dist/TreeSelect/Utils.d.ts +1 -1
  59. package/dist/Util/base.d.ts +1 -1
  60. package/dist/Util/base.js +14 -2
  61. package/dist/hooks/useClassNames.d.ts +1 -0
  62. package/dist/hooks/useClassNames.js +11 -1
  63. package/dist/index.css +58 -6
  64. package/dist/index.d.ts +5 -5
  65. package/dist/index.js +3 -5
  66. package/dist/theme-chalk/avatar/index.scss +50 -0
  67. package/dist/theme-chalk/calendar/month-table.scss +1 -1
  68. package/dist/theme-chalk/index.scss +1 -0
  69. package/dist/theme-chalk/input/input.scss +5 -3
  70. package/dist/theme-chalk/loading/index.scss +5 -7
  71. package/package.json +2 -1
  72. package/dist/Tree/utils/KeyCode.d.ts +0 -436
  73. package/dist/Tree/utils/KeyCode.js +0 -550
  74. package/dist/VirtualList/Filler.d.ts +0 -16
  75. package/dist/VirtualList/Filler.js +0 -78
  76. package/dist/VirtualList/Item.d.ts +0 -7
  77. package/dist/VirtualList/Item.js +0 -37
  78. package/dist/VirtualList/ScrollBar.d.ts +0 -43
  79. package/dist/VirtualList/ScrollBar.js +0 -216
  80. package/dist/VirtualList/VirtualList.d.ts +0 -36
  81. package/dist/VirtualList/VirtualList.js +0 -280
  82. package/dist/VirtualList/hooks/useChildren.d.ts +0 -3
  83. package/dist/VirtualList/hooks/useDiffItem.d.ts +0 -2
  84. package/dist/VirtualList/hooks/useDiffItem.js +0 -39
  85. package/dist/VirtualList/hooks/useFrameWheel.d.ts +0 -6
  86. package/dist/VirtualList/hooks/useFrameWheel.js +0 -72
  87. package/dist/VirtualList/hooks/useHeights.d.ts +0 -3
  88. package/dist/VirtualList/hooks/useHeights.js +0 -83
  89. package/dist/VirtualList/hooks/useLayoutEffect.d.ts +0 -6
  90. package/dist/VirtualList/hooks/useLayoutEffect.js +0 -30
  91. package/dist/VirtualList/hooks/useMobileTouchMove.d.ts +0 -2
  92. package/dist/VirtualList/hooks/useMobileTouchMove.js +0 -92
  93. package/dist/VirtualList/hooks/useOriginScroll.d.ts +0 -2
  94. package/dist/VirtualList/hooks/useOriginScroll.js +0 -56
  95. package/dist/VirtualList/hooks/useScrollTo.d.ts +0 -5
  96. package/dist/VirtualList/hooks/useScrollTo.js +0 -111
  97. package/dist/VirtualList/index.d.ts +0 -2
  98. package/dist/VirtualList/interface.d.ts +0 -8
  99. package/dist/VirtualList/mock.d.ts +0 -6
  100. package/dist/VirtualList/mock.js +0 -29
  101. package/dist/VirtualList/utils/CacheMap.d.ts +0 -7
  102. package/dist/VirtualList/utils/CacheMap.js +0 -36
  103. package/dist/VirtualList/utils/algorithmUtil.d.ts +0 -23
  104. package/dist/VirtualList/utils/algorithmUtil.js +0 -81
  105. package/dist/VirtualList/utils/findDOMNode.d.ts +0 -5
  106. package/dist/VirtualList/utils/findDOMNode.js +0 -30
  107. package/dist/VirtualList/utils/isFirefox.d.ts +0 -2
  108. package/dist/VirtualList/utils/raf.d.ts +0 -5
  109. package/dist/VirtualList/utils/raf.js +0 -57
  110. package/dist/theme-chalk/bak/common/popup.scss +0 -47
  111. package/dist/theme-chalk/bak/common/transition.scss +0 -118
  112. package/dist/theme-chalk/bak/common/var.scss +0 -1476
  113. package/dist/theme-chalk/bak/mixins/_button.scss +0 -224
  114. package/dist/theme-chalk/bak/mixins/_col.scss +0 -38
  115. package/dist/theme-chalk/bak/mixins/_var.scss +0 -55
  116. package/dist/theme-chalk/bak/mixins/config.scss +0 -5
  117. package/dist/theme-chalk/bak/mixins/function.scss +0 -85
  118. package/dist/theme-chalk/bak/mixins/mixins.scss +0 -215
  119. package/dist/theme-chalk/bak/mixins/utils.scss +0 -39
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { AvatarProps } from './typings';
3
+ declare const Avatar: FC<AvatarProps>;
4
+ export default Avatar;
@@ -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;
@@ -0,0 +1,2 @@
1
+ export { default as Avatar } from './Avatar';
2
+ export type { AvatarProps } from './typings';
@@ -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/VirtualList/index.ts
30
- var VirtualList_exports = {};
31
- __export(VirtualList_exports, {
32
- VirtualList: () => import_VirtualList.default
29
+ // src/Avatar/index.ts
30
+ var Avatar_exports = {};
31
+ __export(Avatar_exports, {
32
+ Avatar: () => import_Avatar.default
33
33
  });
34
- module.exports = __toCommonJS(VirtualList_exports);
35
- var import_VirtualList = __toESM(require("./VirtualList"));
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
- VirtualList
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/VirtualList/interface.ts
16
- var interface_exports = {};
17
- module.exports = __toCommonJS(interface_exports);
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
- separator: "/",
63
- showAllLevels: true,
64
- props: {
65
- expandTrigger: "click",
66
- emitPath: true,
67
- valueKey: "value",
68
- labelKey: "label",
69
- childrenKey: "children",
70
- disabledKey: "disabled",
71
- leafKey: "leaf"
72
- },
73
- treeMenuProps: {
74
- valueKey: "key",
75
- labelKey: "title",
76
- childrenKey: "children",
77
- disabledKey: "disabled",
78
- leafKey: "leaf"
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
- shouldSelect: () => true,
81
- placeholder: "请选择",
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, isTree }) => {
281
- storeOptionData(nodes, _level + 1, node, { isTree });
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, { isTree: false });
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, isTree }) => {
391
- const newNodes = storeOptionData(nodes, l, parent, { isTree, isCover });
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, isTree }) => {
470
- storeOptionData(nodes, 0, null, { isTree, isCover: true });
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
- import_CascaderContext.CascaderContext.Provider,
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
- value: { menuProps, treeMenuProps, treeProps, onSelect, onCheckedChange, loading, getDataType, getTreeData, getExpandedKeys, setExpandedKeys, searchText }
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: (0, import_classnames.default)(b(), is({ disabled }), m({ [size]: size }), props.className),
497
- style: props.style,
498
- ref: containerRef,
499
- onClick: (event) => event.stopPropagation()
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: e`trigger` }, multiple && /* @__PURE__ */ import_react.default.createElement(
502
- "div",
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
- className: e`tags`,
505
- onClick,
506
- onMouseEnter: () => {
507
- var _a2;
508
- return (_a2 = inputRef.current) == null ? void 0 : _a2.showClear(multiple ? multiValue.join(",") : label);
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("div", { className: (0, import_classnames.default)(b`tags-wrapper`, "has-prefix"), ref: wrapperRef }, (collapseTags ? checkedNodes().slice(0, maxCollapseTags) : checkedNodes()).map((item, i) => {
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
- /* @__PURE__ */ import_react.default.createElement(
571
- import_Popper.Popper,
496
+ ), /* @__PURE__ */ import_react.default.createElement(
497
+ import_Input.Input,
572
498
  {
573
- referenceElement: () => {
574
- var _a2;
575
- return (_a2 = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a2.ref;
576
- },
577
- visible,
578
- popperInstRef,
579
- popperClass: e`dropdown`,
580
- onDestroy: () => setVisible(false),
581
- onEnter: () => {
582
- var _a2;
583
- (_a2 = popperInstRef.current) == null ? void 0 : _a2.update();
584
- onEnter == null ? void 0 : onEnter();
585
- },
586
- afterEnter: () => {
587
- for (const key in menuRefs.current) {
588
- if (Object.prototype.hasOwnProperty.call(menuRefs.current, key)) {
589
- const item = menuRefs.current[key];
590
- item == null ? void 0 : item.scrollToSelected();
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
- afterEnter == null ? void 0 : afterEnter();
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
- /* @__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(
603
- import_Input.Input,
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
- ref: searchInstance,
606
- placeholder: "请输入关键词",
607
- clearable: true,
608
- plain: true,
609
- debounceInput: true,
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
- ), /* @__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) => {
615
- return /* @__PURE__ */ import_react.default.createElement(
616
- import_CascaderMenu.default,
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 { DataNode, DirectoryTreeProps, Key } from '../Tree';
3
- import { CascaderMenuProps, TreeMenuProps } from './typings';
4
- interface CascaderContextProps<T = DataNode> {
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<DataNode<any>>>;
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
- menuProps: {},
43
- treeMenuProps: {},
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;