@sheinx/base 3.4.7-beta.3 → 3.5.0-beta.10

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 (133) hide show
  1. package/cjs/absolute-list/absolute-context.d.ts +5 -1
  2. package/cjs/absolute-list/absolute-context.d.ts.map +1 -1
  3. package/cjs/absolute-list/absolute-context.js +3 -1
  4. package/cjs/absolute-list/absolute-list.d.ts.map +1 -1
  5. package/cjs/absolute-list/absolute-list.js +18 -3
  6. package/cjs/avatar/avatar.d.ts +5 -0
  7. package/cjs/avatar/avatar.d.ts.map +1 -0
  8. package/cjs/avatar/avatar.js +140 -0
  9. package/cjs/avatar/avatar.type.d.ts +101 -0
  10. package/cjs/avatar/avatar.type.d.ts.map +1 -0
  11. package/cjs/avatar/avatar.type.js +5 -0
  12. package/cjs/avatar/context.d.ts +5 -0
  13. package/cjs/avatar/context.d.ts.map +1 -0
  14. package/cjs/avatar/context.js +8 -0
  15. package/cjs/avatar/group.d.ts +5 -0
  16. package/cjs/avatar/group.d.ts.map +1 -0
  17. package/cjs/avatar/group.js +82 -0
  18. package/cjs/avatar/index.d.ts +5 -0
  19. package/cjs/avatar/index.d.ts.map +1 -0
  20. package/cjs/avatar/index.js +27 -0
  21. package/cjs/cascader/cascader.d.ts.map +1 -1
  22. package/cjs/cascader/cascader.js +11 -8
  23. package/cjs/cascader/cascader.type.d.ts +24 -0
  24. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  25. package/cjs/cascader/index.d.ts +1 -1
  26. package/cjs/cascader/index.d.ts.map +1 -1
  27. package/cjs/cascader/list.d.ts.map +1 -1
  28. package/cjs/cascader/list.js +60 -24
  29. package/cjs/cascader/list.type.d.ts +1 -1
  30. package/cjs/cascader/list.type.d.ts.map +1 -1
  31. package/cjs/common/use-with-form-config.d.ts.map +1 -1
  32. package/cjs/common/use-with-form-config.js +4 -1
  33. package/cjs/form/form.d.ts.map +1 -1
  34. package/cjs/form/form.js +7 -1
  35. package/cjs/form/form.type.d.ts +5 -0
  36. package/cjs/form/form.type.d.ts.map +1 -1
  37. package/cjs/index.d.ts +1 -0
  38. package/cjs/index.d.ts.map +1 -1
  39. package/cjs/index.js +12 -0
  40. package/cjs/modal/modal-content.d.ts.map +1 -1
  41. package/cjs/modal/modal-content.js +2 -2
  42. package/cjs/select/result-more.d.ts.map +1 -1
  43. package/cjs/select/result-more.js +17 -6
  44. package/cjs/select/result-more.type.d.ts +4 -1
  45. package/cjs/select/result-more.type.d.ts.map +1 -1
  46. package/cjs/select/result.d.ts.map +1 -1
  47. package/cjs/select/result.js +19 -7
  48. package/cjs/select/result.type.d.ts +1 -1
  49. package/cjs/select/result.type.d.ts.map +1 -1
  50. package/cjs/select/select.type.d.ts +20 -0
  51. package/cjs/select/select.type.d.ts.map +1 -1
  52. package/cjs/table/table.d.ts.map +1 -1
  53. package/cjs/table/table.js +15 -8
  54. package/cjs/table/table.type.d.ts +2 -0
  55. package/cjs/table/table.type.d.ts.map +1 -1
  56. package/cjs/table/tbody.d.ts.map +1 -1
  57. package/cjs/table/tbody.js +3 -1
  58. package/cjs/table/tbody.type.d.ts +1 -1
  59. package/cjs/table/tbody.type.d.ts.map +1 -1
  60. package/cjs/table/thead.d.ts.map +1 -1
  61. package/cjs/table/thead.js +30 -6
  62. package/cjs/table/thead.type.d.ts +1 -1
  63. package/cjs/table/thead.type.d.ts.map +1 -1
  64. package/cjs/table/tr.d.ts +1 -1
  65. package/cjs/table/tr.d.ts.map +1 -1
  66. package/cjs/table/tr.js +78 -10
  67. package/esm/absolute-list/absolute-context.d.ts +5 -1
  68. package/esm/absolute-list/absolute-context.d.ts.map +1 -1
  69. package/esm/absolute-list/absolute-context.js +3 -1
  70. package/esm/absolute-list/absolute-list.d.ts.map +1 -1
  71. package/esm/absolute-list/absolute-list.js +20 -5
  72. package/esm/avatar/avatar.d.ts +5 -0
  73. package/esm/avatar/avatar.d.ts.map +1 -0
  74. package/esm/avatar/avatar.js +131 -0
  75. package/esm/avatar/avatar.type.d.ts +101 -0
  76. package/esm/avatar/avatar.type.d.ts.map +1 -0
  77. package/esm/avatar/avatar.type.js +1 -0
  78. package/esm/avatar/context.d.ts +5 -0
  79. package/esm/avatar/context.d.ts.map +1 -0
  80. package/esm/avatar/context.js +2 -0
  81. package/esm/avatar/group.d.ts +5 -0
  82. package/esm/avatar/group.d.ts.map +1 -0
  83. package/esm/avatar/group.js +74 -0
  84. package/esm/avatar/index.d.ts +5 -0
  85. package/esm/avatar/index.d.ts.map +1 -0
  86. package/esm/avatar/index.js +3 -0
  87. package/esm/cascader/cascader.d.ts.map +1 -1
  88. package/esm/cascader/cascader.js +11 -8
  89. package/esm/cascader/cascader.type.d.ts +24 -0
  90. package/esm/cascader/cascader.type.d.ts.map +1 -1
  91. package/esm/cascader/index.d.ts +1 -1
  92. package/esm/cascader/index.d.ts.map +1 -1
  93. package/esm/cascader/list.d.ts.map +1 -1
  94. package/esm/cascader/list.js +60 -24
  95. package/esm/cascader/list.type.d.ts +1 -1
  96. package/esm/cascader/list.type.d.ts.map +1 -1
  97. package/esm/common/use-with-form-config.d.ts.map +1 -1
  98. package/esm/common/use-with-form-config.js +4 -1
  99. package/esm/form/form.d.ts.map +1 -1
  100. package/esm/form/form.js +8 -2
  101. package/esm/form/form.type.d.ts +5 -0
  102. package/esm/form/form.type.d.ts.map +1 -1
  103. package/esm/index.d.ts +1 -0
  104. package/esm/index.d.ts.map +1 -1
  105. package/esm/index.js +1 -0
  106. package/esm/modal/modal-content.d.ts.map +1 -1
  107. package/esm/modal/modal-content.js +2 -2
  108. package/esm/select/result-more.d.ts.map +1 -1
  109. package/esm/select/result-more.js +17 -6
  110. package/esm/select/result-more.type.d.ts +4 -1
  111. package/esm/select/result-more.type.d.ts.map +1 -1
  112. package/esm/select/result.d.ts.map +1 -1
  113. package/esm/select/result.js +20 -8
  114. package/esm/select/result.type.d.ts +1 -1
  115. package/esm/select/result.type.d.ts.map +1 -1
  116. package/esm/select/select.type.d.ts +20 -0
  117. package/esm/select/select.type.d.ts.map +1 -1
  118. package/esm/table/table.d.ts.map +1 -1
  119. package/esm/table/table.js +15 -8
  120. package/esm/table/table.type.d.ts +2 -0
  121. package/esm/table/table.type.d.ts.map +1 -1
  122. package/esm/table/tbody.d.ts.map +1 -1
  123. package/esm/table/tbody.js +3 -1
  124. package/esm/table/tbody.type.d.ts +1 -1
  125. package/esm/table/tbody.type.d.ts.map +1 -1
  126. package/esm/table/thead.d.ts.map +1 -1
  127. package/esm/table/thead.js +31 -7
  128. package/esm/table/thead.type.d.ts +1 -1
  129. package/esm/table/thead.type.d.ts.map +1 -1
  130. package/esm/table/tr.d.ts +1 -1
  131. package/esm/table/tr.d.ts.map +1 -1
  132. package/esm/table/tr.js +79 -11
  133. package/package.json +2 -2
@@ -0,0 +1,131 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["jssStyle", "className", "children", "style", "src", "alt", "icon", "gap", "shape", "srcSet", "draggable", "size", "crossOrigin", "onError"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
+ import React, { useState, useRef, isValidElement, useEffect, useContext } from 'react';
17
+ import classNames from 'classnames';
18
+ import { AvatarContext } from "./context";
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ var Avatar = function Avatar(props) {
21
+ var _jssStyle$avatar;
22
+ var jssStyle = props.jssStyle,
23
+ className = props.className,
24
+ children = props.children,
25
+ style = props.style,
26
+ src = props.src,
27
+ alt = props.alt,
28
+ icon = props.icon,
29
+ _props$gap = props.gap,
30
+ gap = _props$gap === void 0 ? 4 : _props$gap,
31
+ shapeProp = props.shape,
32
+ srcSet = props.srcSet,
33
+ draggable = props.draggable,
34
+ sizeProp = props.size,
35
+ crossOrigin = props.crossOrigin,
36
+ onError = props.onError,
37
+ rest = _objectWithoutProperties(props, _excluded);
38
+ var _useState = useState(1),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ scale = _useState2[0],
41
+ setScale = _useState2[1];
42
+ var _useState3 = useState(false),
43
+ _useState4 = _slicedToArray(_useState3, 2),
44
+ mounted = _useState4[0],
45
+ setMounted = _useState4[1];
46
+ var _useState5 = useState(true),
47
+ _useState6 = _slicedToArray(_useState5, 2),
48
+ isImgExist = _useState6[0],
49
+ setIsImgExist = _useState6[1];
50
+ var avatarRef = useRef(null);
51
+ var childrenRef = useRef(null);
52
+ var avatarContext = useContext(AvatarContext);
53
+ var shape = shapeProp || avatarContext.shape || 'circle';
54
+ var size = sizeProp || avatarContext.size;
55
+ var hasImageElement = /*#__PURE__*/isValidElement(src);
56
+ var avatarClasses = (jssStyle === null || jssStyle === void 0 || (_jssStyle$avatar = jssStyle.avatar) === null || _jssStyle$avatar === void 0 ? void 0 : _jssStyle$avatar.call(jssStyle)) || {};
57
+ var rootClass = classNames(className, avatarClasses.wrapper, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, avatarClasses.circle, shape === 'circle'), avatarClasses.square, shape === 'square'), avatarClasses.image, hasImageElement || src), avatarClasses.small, size === 'small'), avatarClasses.large, size === 'large'), avatarClasses.icon, !!icon));
58
+ var setScaleByChildren = function setScaleByChildren() {
59
+ if (!childrenRef.current || !avatarRef.current) return;
60
+ var avatarWidth = avatarRef.current.offsetWidth;
61
+ var childrenWidth = childrenRef.current.offsetWidth;
62
+ if (childrenWidth !== 0 && avatarWidth !== 0) {
63
+ if (gap * 2 < avatarWidth) {
64
+ setScale(avatarWidth - gap * 2 < childrenWidth ? (avatarWidth - gap * 2) / childrenWidth : 1);
65
+ }
66
+ }
67
+ };
68
+ var handleImageLoadError = function handleImageLoadError() {
69
+ var errorFlag = (onError === null || onError === void 0 ? void 0 : onError()) || false;
70
+ if (errorFlag !== false) {
71
+ setIsImgExist(false);
72
+ }
73
+ };
74
+ var renderChildren = function renderChildren() {
75
+ if (typeof src === 'string' && isImgExist) {
76
+ return /*#__PURE__*/_jsx("img", {
77
+ src: src,
78
+ alt: alt,
79
+ draggable: draggable,
80
+ srcSet: srcSet,
81
+ crossOrigin: crossOrigin,
82
+ onError: handleImageLoadError
83
+ });
84
+ }
85
+ if (hasImageElement) {
86
+ return src;
87
+ }
88
+ if (icon) {
89
+ return icon;
90
+ }
91
+ var className = classNames(icon ? avatarClasses.icon : avatarClasses.string);
92
+ if (mounted || scale !== 1) {
93
+ var transform = "scale(".concat(scale, ")");
94
+ var childrenStyle = {
95
+ transform: transform,
96
+ msTransform: transform,
97
+ WebkitTransform: transform
98
+ };
99
+ return /*#__PURE__*/_jsx("span", {
100
+ style: childrenStyle,
101
+ className: className,
102
+ ref: childrenRef,
103
+ children: children
104
+ });
105
+ }
106
+ return /*#__PURE__*/_jsx("span", {
107
+ style: {
108
+ opacity: 0
109
+ },
110
+ className: className,
111
+ ref: childrenRef,
112
+ children: children
113
+ });
114
+ };
115
+ useEffect(function () {
116
+ setMounted(true);
117
+ }, []);
118
+ useEffect(function () {
119
+ setIsImgExist(true);
120
+ setScale(1);
121
+ }, [props.src]);
122
+ useEffect(setScaleByChildren, [gap]);
123
+ return /*#__PURE__*/_jsx("span", _objectSpread(_objectSpread({
124
+ ref: avatarRef,
125
+ className: rootClass,
126
+ style: style
127
+ }, rest), {}, {
128
+ children: renderChildren()
129
+ }));
130
+ };
131
+ export default Avatar;
@@ -0,0 +1,101 @@
1
+ import React from 'react';
2
+ import { CommonType } from '../common/type';
3
+ import { PopoverClasses, PopoverProps } from '../popover/popover.type';
4
+ export interface AvatarClasses {
5
+ wrapper: string;
6
+ small: string;
7
+ large: string;
8
+ image: string;
9
+ string: string;
10
+ circle: string;
11
+ square: string;
12
+ icon: string;
13
+ text: string;
14
+ group: string;
15
+ max: string;
16
+ popover: string;
17
+ }
18
+ export interface AvatarProps extends Pick<CommonType, 'className' | 'style' | 'size'> {
19
+ jssStyle?: {
20
+ avatar: () => AvatarClasses;
21
+ };
22
+ /**
23
+ * @en The alternative text for the image
24
+ * @cn 图像无法显示时的替代文本
25
+ */
26
+ alt?: string;
27
+ /**
28
+ * @en The address of the image or the image element of the image class avatar
29
+ * @cn 图片类头像的资源地址或者图片元素
30
+ */
31
+ src?: string | React.ReactNode;
32
+ /**
33
+ * @en Set the custom icon of the avatar
34
+ * @cn 设置头像的自定义图标
35
+ */
36
+ icon?: React.ReactNode;
37
+ /**
38
+ * @en Specifies the shape of the avatar
39
+ * @cn 指定头像的形状
40
+ * @default 'circle'
41
+ */
42
+ children?: React.ReactNode;
43
+ /**
44
+ * @en The text content of the avatar, the scaling ratio will be calculated according to the content size
45
+ * @cn 头像文本内容,会根据内容尺寸自适应计算缩放比例
46
+ */
47
+ shape?: 'circle' | 'square';
48
+ /**
49
+ * @en Set the responsive resource address of the image class avatar
50
+ * @cn 设置图片类头像响应式资源地址
51
+ */
52
+ srcSet?: string;
53
+ /**
54
+ * @en The distance between the left and right edges of the character type in pixels
55
+ * @cn 字符类型距离左右两侧边界单位像素
56
+ */
57
+ gap?: number;
58
+ /**
59
+ * @en Whether the image is allowed to be dragged
60
+ * @cn 图片是否允许拖动
61
+ * @default true
62
+ */
63
+ draggable?: boolean;
64
+ /**
65
+ * @en CORS attribute setting
66
+ * @cn CORS 属性设置
67
+ */
68
+ crossOrigin?: 'anonymous' | 'use-credentials';
69
+ /**
70
+ * @en The event that the image fails to load, returning false will close the component's default fallback behavior
71
+ * @cn 图片加载失败的事件,返回 false 会关闭组件默认的 fallback 行为
72
+ */
73
+ onError?: () => boolean;
74
+ }
75
+ export interface AvatarGroupProps extends Pick<CommonType, 'className' | 'style' | 'size'>, Pick<AvatarProps, 'shape'> {
76
+ jssStyle?: {
77
+ avatar: () => AvatarClasses;
78
+ popover: () => PopoverClasses;
79
+ };
80
+ /**
81
+ * @en Set the maximum number of avatars displayed in the avatar group
82
+ * @cn 设置头像组展示头像的最大数量
83
+ */
84
+ max?: number;
85
+ /**
86
+ * @en Custom rendering of hidden avatar nodes, hideAvatarNodes is an array of hidden node dom, max is the number of hidden nodes
87
+ * @cn 自定义渲染隐藏的头像节点,hideAvatarNodes 为隐藏的节点 dom 数组,max 为隐藏的节点数量
88
+ */
89
+ renderMax?: (hideAvatarNodes: React.ReactNode[], max: number) => React.ReactNode;
90
+ /**
91
+ * @en Avatar node
92
+ * @cn 头像节点
93
+ */
94
+ children: React.ReactNode;
95
+ /**
96
+ * @en The event that the image fails to load, returning false will close the component's default fallback behavior
97
+ * @cn 用于展示隐藏头像的 Popover 相关配置,配置属性为 Popover 部分属性: position、zIndex、getPopupContainer、adjust
98
+ */
99
+ popover?: Pick<PopoverProps, 'position' | 'zIndex' | 'getPopupContainer' | 'adjust'>;
100
+ }
101
+ //# sourceMappingURL=avatar.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.type.d.ts","sourceRoot":"","sources":["avatar.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACnF,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CACzB;AACD,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC,EACtD,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,aAAa,CAAC;QAC5B,OAAO,EAAE,MAAM,cAAc,CAAC;KAC/B,CAAC;IACF;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,QAAQ,GAAG,mBAAmB,GAAG,QAAQ,CAAC,CAAC;CACtF"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { AvatarGroupProps } from './avatar.type';
3
+ export type AvatarContextProps = Pick<AvatarGroupProps, 'shape' | 'size'>;
4
+ export declare const AvatarContext: import("react").Context<AvatarContextProps>;
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["context.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,aAAa,6CAAwC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { createContext } from 'react';
2
+ export var AvatarContext = /*#__PURE__*/createContext({});
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { AvatarGroupProps } from './avatar.type';
3
+ declare const AvatarGroup: (props: AvatarGroupProps) => JSX.Element;
4
+ export default AvatarGroup;
5
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["group.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,eAAe,CAAC;AAahE,QAAA,MAAM,WAAW,UAAW,gBAAgB,gBA2C3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,74 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import React, { Children, cloneElement } from 'react';
8
+ import { AvatarContext } from "./context";
9
+ import Avatar from "./avatar";
10
+ import { Popover } from "../popover";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ var AvatarProvider = function AvatarProvider(props) {
14
+ return /*#__PURE__*/_jsx(AvatarContext.Provider, {
15
+ value: props,
16
+ children: props.children
17
+ });
18
+ };
19
+ var AvatarGroup = function AvatarGroup(props) {
20
+ var _jssStyle$avatar;
21
+ var jssStyle = props.jssStyle,
22
+ childrenProp = props.children,
23
+ size = props.size,
24
+ shape = props.shape,
25
+ max = props.max,
26
+ popover = props.popover,
27
+ renderMax = props.renderMax;
28
+ var avatarGroupClasses = (jssStyle === null || jssStyle === void 0 || (_jssStyle$avatar = jssStyle.avatar) === null || _jssStyle$avatar === void 0 ? void 0 : _jssStyle$avatar.call(jssStyle)) || {};
29
+ var children = Children.toArray(childrenProp).map(function (child, index) {
30
+ return /*#__PURE__*/cloneElement(child, {
31
+ key: "avatar-key-".concat(index)
32
+ });
33
+ });
34
+ var childrenNumber = children.length;
35
+ if (max && max < childrenNumber) {
36
+ var childrenShow = children.slice(0, max);
37
+ var childrenHidden = children.slice(max, childrenNumber);
38
+ if (renderMax) {
39
+ childrenShow.push( /*#__PURE__*/_jsx(React.Fragment, {
40
+ children: renderMax(childrenHidden, childrenHidden.length)
41
+ }, 'avatar-provider-key'));
42
+ } else {
43
+ childrenShow.push( /*#__PURE__*/_jsxs(Avatar, {
44
+ jssStyle: jssStyle,
45
+ className: avatarGroupClasses.max,
46
+ children: ["+", childrenHidden.length, /*#__PURE__*/_jsx(Popover, _objectSpread(_objectSpread({
47
+ jssStyle: jssStyle
48
+ }, popover), {}, {
49
+ children: /*#__PURE__*/_jsx("div", {
50
+ className: avatarGroupClasses.popover,
51
+ children: childrenHidden
52
+ })
53
+ }))]
54
+ }, 'avatar-provider-key'));
55
+ }
56
+ return /*#__PURE__*/_jsx(AvatarProvider, {
57
+ shape: shape,
58
+ size: size,
59
+ children: /*#__PURE__*/_jsx("div", {
60
+ className: avatarGroupClasses.group,
61
+ children: childrenShow
62
+ })
63
+ });
64
+ }
65
+ return /*#__PURE__*/_jsx(AvatarProvider, {
66
+ shape: shape,
67
+ size: size,
68
+ children: /*#__PURE__*/_jsx("div", {
69
+ className: avatarGroupClasses.group,
70
+ children: children
71
+ })
72
+ });
73
+ };
74
+ export default AvatarGroup;
@@ -0,0 +1,5 @@
1
+ export { default, default as Avatar } from './avatar';
2
+ export type { AvatarProps } from './avatar.type';
3
+ export { default as AvatarGroup } from './group';
4
+ export type { AvatarGroupProps } from './avatar.type';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ export { default, default as Avatar } from "./avatar";
3
+ export { default as AvatarGroup } from "./group";
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.d.ts","sourceRoot":"","sources":["cascader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAML,YAAY,EAIb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAShD,QAAA,MAAM,QAAQ,iGAysBb,CAAC;AACF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"cascader.d.ts","sourceRoot":"","sources":["cascader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAML,YAAY,EAIb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAUhD,QAAA,MAAM,QAAQ,iGA6sBb,CAAC;AACF,eAAe,QAAQ,CAAC"}
@@ -34,7 +34,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
34
34
  var Cascader = function Cascader(props0) {
35
35
  var _jssStyle$cascader;
36
36
  var props = useWithFormConfig(props0);
37
- var defaultHeight = 232;
37
+ var defaultHeight = 250;
38
38
  var jssStyle = props.jssStyle,
39
39
  style = props.style,
40
40
  _props$adjust = props.adjust,
@@ -79,6 +79,7 @@ var Cascader = function Cascader(props0) {
79
79
  placeholder = props.placeholder,
80
80
  _props$focusSelected = props.focusSelected,
81
81
  focusSelected = _props$focusSelected === void 0 ? true : _props$focusSelected,
82
+ renderCompressed = props.renderCompressed,
82
83
  compressedClassName = props.compressedClassName,
83
84
  resultClassName = props.resultClassName,
84
85
  renderUnmatched = props.renderUnmatched,
@@ -98,6 +99,7 @@ var Cascader = function Cascader(props0) {
98
99
  onFilterProp = props.onFilter,
99
100
  onCollapseProp = props.onCollapse,
100
101
  size = props.size,
102
+ virtual = props.virtual,
101
103
  filterSameChange = props.filterSameChange;
102
104
  var showInput = util.isFunc(onFilterProp);
103
105
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle);
@@ -336,13 +338,8 @@ var Cascader = function Cascader(props0) {
336
338
  onChange(datum.getValue(), item);
337
339
  };
338
340
  var getDataByValues = function getDataByValues(values) {
339
- var nextValues = values === null || values === void 0 ? void 0 : values.filter(function (v) {
340
- return !util.isEmpty(v);
341
- }).reduce(function (acc, val) {
342
- return acc.concat(val);
343
- }, []);
344
- if (!nextValues) return [];
345
- return datum.getDataByValues(nextValues);
341
+ if (!values) return [];
342
+ return datum.getDataByValues(values);
346
343
  };
347
344
  var checkUnMatched = function checkUnMatched(item) {
348
345
  return util.isUnMatchedData(item);
@@ -412,6 +409,7 @@ var Cascader = function Cascader(props0) {
412
409
  keygen: keygen,
413
410
  disabled: disabled,
414
411
  compressed: compressed,
412
+ renderCompressed: renderCompressed,
415
413
  compressedBound: compressedBound,
416
414
  compressedClassName: compressedClassName,
417
415
  multiple: true,
@@ -461,9 +459,11 @@ var Cascader = function Cascader(props0) {
461
459
  expandTrigger: expandTrigger,
462
460
  childrenKey: childrenKey,
463
461
  shouldFinal: shouldFinal,
462
+ height: height,
464
463
  data: tempData,
465
464
  id: path[0],
466
465
  parentId: "",
466
+ virtual: virtual,
467
467
  path: [],
468
468
  mode: mode
469
469
  }, 'root')];
@@ -476,6 +476,8 @@ var Cascader = function Cascader(props0) {
476
476
  tempData = tempData[childrenKey];
477
477
  return /*#__PURE__*/_jsx(CascaderList, {
478
478
  datum: datum,
479
+ size: size,
480
+ height: height,
479
481
  jssStyle: jssStyle,
480
482
  renderItem: renderItem,
481
483
  keygen: keygen,
@@ -488,6 +490,7 @@ var Cascader = function Cascader(props0) {
488
490
  shouldFinal: shouldFinal,
489
491
  data: tempData,
490
492
  id: path[i + 1],
493
+ virtual: virtual,
491
494
  parentId: path[i],
492
495
  path: path.slice(0, i + 1)
493
496
  }, p);
@@ -98,6 +98,18 @@ export interface CascaderRef {
98
98
  */
99
99
  close: (e?: MouseEvent) => void;
100
100
  }
101
+ export interface RenderCompressedOption<DataItem> {
102
+ /**
103
+ * @en The current selected data
104
+ * @cn 当前选中的数据
105
+ */
106
+ data: DataItem[];
107
+ /**
108
+ * @en Method to remove the option
109
+ * @cn 删除选项的方法
110
+ */
111
+ onRemove: (item: DataItem) => void;
112
+ }
101
113
  export interface CascaderProps<DataItem, Value extends KeygenResult[]> extends Pick<CommonType, 'className' | 'style' | 'size' | 'status' | 'innerTitle' | 'filterSameChange'>, Pick<AbsoluteListProps, 'absolute' | 'zIndex'>, BaseTipProps {
102
114
  jssStyle?: JssStyleType;
103
115
  /**
@@ -225,6 +237,11 @@ export interface CascaderProps<DataItem, Value extends KeygenResult[]> extends P
225
237
  * @default false
226
238
  */
227
239
  compressed?: boolean | 'no-repeat';
240
+ /**
241
+ * @en Custom render compressed content
242
+ * @cn 自定义渲染折叠内容,其中 data 为选中的数据,onRemove 为删除事件
243
+ */
244
+ renderCompressed?: (options: RenderCompressedOption<DataItem>) => React.ReactNode;
228
245
  /**
229
246
  * @en options collapse callback
230
247
  * @cn 下拉列表展开/收起回调
@@ -347,5 +364,12 @@ export interface CascaderProps<DataItem, Value extends KeygenResult[]> extends P
347
364
  * @default true
348
365
  */
349
366
  adjust?: boolean;
367
+ /**
368
+ * @en Whether to use virtual list
369
+ * @cn 是否使用虚拟列表
370
+ * @default false
371
+ * @version 3.5.0
372
+ */
373
+ virtual?: boolean;
350
374
  }
351
375
  //# sourceMappingURL=cascader.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.type.d.ts","sourceRoot":"","sources":["cascader.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cascader.type.d.ts","sourceRoot":"","sources":["cascader.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yBAAyB,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,cAAc,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB,CAAC,QAAQ;IAC9C;;;OAGG;IACH,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY,EAAE,CACnE,SAAQ,IAAI,CACR,UAAU,EACV,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,kBAAkB,CAC9E,EACD,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,QAAQ,CAAC,EAC9C,YAAY;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IAChG;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;IACjD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAClF;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;IACnD;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9E;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3F;;;;OAIG;IACH,UAAU,EACN,SAAS,CAAC,QAAQ,CAAC,GACnB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAE/E;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5F;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,MAAM,CAAC;IACzD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,WAAW,GAAG,SAAS,CAAA;KAAE,CAAC;IACvF;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -1,3 +1,3 @@
1
1
  export { default, default as Cascader } from './cascader';
2
- export type { CascaderProps, CascaderClasses, CascaderRef } from './cascader.type';
2
+ export type { CascaderProps, CascaderClasses, CascaderRef, RenderCompressedOption, } from './cascader.type';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["list.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,QAAA,MAAM,YAAY,oGAuEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["list.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,QAAA,MAAM,YAAY,oGAkHjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { useRef } from 'react';
1
2
  import classNames from 'classnames';
3
+ import { VirtualScrollList } from "../virtual-scroll";
2
4
  import Node from "./node";
3
5
  import { jsx as _jsx } from "react/jsx-runtime";
4
6
  var CascaderList = function CascaderList(props) {
@@ -8,7 +10,6 @@ var CascaderList = function CascaderList(props) {
8
10
  keygen = props.keygen,
9
11
  parentId = props.parentId,
10
12
  datum = props.datum,
11
- renderItem = props.renderItem,
12
13
  loader = props.loader,
13
14
  onChange = props.onChange,
14
15
  onPathChange = props.onPathChange,
@@ -17,8 +18,28 @@ var CascaderList = function CascaderList(props) {
17
18
  childrenKey = props.childrenKey,
18
19
  shouldFinal = props.shouldFinal,
19
20
  path = props.path,
20
- mode = props.mode;
21
+ mode = props.mode,
22
+ size = props.size,
23
+ virtual = props.virtual;
21
24
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle);
25
+ var virtualRef = useRef({
26
+ scrollByStep: undefined,
27
+ getCurrentIndex: undefined,
28
+ getHoverIndex: undefined
29
+ });
30
+ var getLineHeight = function getLineHeight() {
31
+ // if (lineHeightProp && lineHeightProp !== 'auto') return lineHeightProp;
32
+ if (size === 'small') return 26;
33
+ if (size === 'default') return 34;
34
+ if (size === 'large') return 42;
35
+ return 34;
36
+ };
37
+ var lineHeight = getLineHeight();
38
+ var getHeight = function getHeight() {
39
+ if (props.height) return props.height;
40
+ return lineHeight * 7;
41
+ };
42
+ var height = getHeight();
22
43
 
23
44
  // 和 datum 中的 geyKey 不一样,根据 parentId 生成唯一的 key
24
45
  var getKey = function getKey(item, index) {
@@ -37,31 +58,46 @@ var CascaderList = function CascaderList(props) {
37
58
  children: "noData"
38
59
  });
39
60
  };
61
+ var renderItem = function renderItem(item, index) {
62
+ var id = getKey(item, index);
63
+ return /*#__PURE__*/_jsx(Node, {
64
+ jssStyle: jssStyle,
65
+ active: props.id === id,
66
+ id: id,
67
+ data: item,
68
+ datum: datum,
69
+ renderItem: props.renderItem,
70
+ keygen: keygen,
71
+ loader: loader,
72
+ onPathChange: onPathChange,
73
+ onChange: onChange,
74
+ multiple: multiple,
75
+ mode: mode,
76
+ expandTrigger: expandTrigger,
77
+ childrenKey: childrenKey,
78
+ shouldFinal: shouldFinal,
79
+ parentId: parentId,
80
+ path: path
81
+ }, id);
82
+ };
83
+ var renderSimpleList = function renderSimpleList() {
84
+ return data.map(renderItem);
85
+ };
86
+ var renderVritualList = function renderVritualList() {
87
+ return /*#__PURE__*/_jsx(VirtualScrollList, {
88
+ virtualRef: virtualRef,
89
+ data: data,
90
+ keygen: keygen,
91
+ renderItem: renderItem,
92
+ rowsInView: 20,
93
+ height: height,
94
+ lineHeight: lineHeight
95
+ });
96
+ };
40
97
  if (!data || data.length === 0) return renderEmpety();
41
98
  return /*#__PURE__*/_jsx("div", {
42
99
  className: classNames(styles.list),
43
- children: data.map(function (item, index) {
44
- var id = getKey(item, index);
45
- return /*#__PURE__*/_jsx(Node, {
46
- jssStyle: jssStyle,
47
- active: props.id === id,
48
- id: id,
49
- data: item,
50
- datum: datum,
51
- renderItem: renderItem,
52
- keygen: keygen,
53
- loader: loader,
54
- onPathChange: onPathChange,
55
- onChange: onChange,
56
- multiple: multiple,
57
- mode: mode,
58
- expandTrigger: expandTrigger,
59
- childrenKey: childrenKey,
60
- shouldFinal: shouldFinal,
61
- parentId: parentId,
62
- path: path
63
- }, id);
64
- })
100
+ children: virtual ? renderVritualList() : renderSimpleList()
65
101
  });
66
102
  };
67
103
  export default CascaderList;
@@ -1,7 +1,7 @@
1
1
  import { KeygenResult, ObjectKey } from '@sheinx/hooks';
2
2
  import { DatumType } from '../tree/tree.type';
3
3
  import { JssStyleType, CascaderProps } from './cascader.type';
4
- export interface CascaderListProps<DataItem, Value extends KeygenResult[]> extends Pick<CascaderProps<DataItem, Value>, 'loader' | 'multiple' | 'expandTrigger' | 'renderItem' | 'keygen' | 'mode'> {
4
+ export interface CascaderListProps<DataItem, Value extends KeygenResult[]> extends Pick<CascaderProps<DataItem, Value>, 'loader' | 'multiple' | 'expandTrigger' | 'renderItem' | 'keygen' | 'mode' | 'size' | 'height' | 'virtual'> {
5
5
  jssStyle?: JssStyleType;
6
6
  id: KeygenResult;
7
7
  parentId: KeygenResult;