@arco-design/mobile-react 2.19.2-ee92494.5 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.en-US.md +4 -4
  3. package/README.md +4 -4
  4. package/cjs/avatar/group.js +1 -1
  5. package/cjs/avatar/index.js +10 -13
  6. package/cjs/avatar/style/css/index.css +96 -126
  7. package/cjs/avatar/style/index.less +54 -72
  8. package/cjs/badge/index.js +6 -8
  9. package/cjs/badge/style/css/index.css +5 -5
  10. package/cjs/badge/style/index.less +5 -5
  11. package/cjs/button/demo/style/mobile.less +0 -4
  12. package/cjs/button/hooks.d.ts +1 -2
  13. package/cjs/button/hooks.js +5 -3
  14. package/cjs/button/index.d.ts +1 -1
  15. package/cjs/button/index.js +28 -33
  16. package/cjs/button/style/css/index.css +75 -310
  17. package/cjs/button/style/index.less +32 -38
  18. package/cjs/dropdown/dropdown.d.ts +3 -0
  19. package/cjs/dropdown/dropdown.js +306 -0
  20. package/cjs/dropdown/index.d.ts +3 -4
  21. package/cjs/dropdown/index.js +3 -303
  22. package/cjs/dropdown/options.js +2 -1
  23. package/cjs/dropdown/type.d.ts +20 -9
  24. package/cjs/dropdown-menu/dropdown-menu.d.ts +4 -0
  25. package/cjs/dropdown-menu/dropdown-menu.js +273 -0
  26. package/cjs/dropdown-menu/helper.d.ts +1 -1
  27. package/cjs/dropdown-menu/index.d.ts +2 -3
  28. package/cjs/dropdown-menu/index.js +2 -245
  29. package/cjs/dropdown-menu/type.d.ts +21 -20
  30. package/cjs/image/index.js +4 -1
  31. package/cjs/image/style/css/index.css +2 -1
  32. package/cjs/image/style/index.less +2 -1
  33. package/cjs/image-picker/index.d.ts +6 -6
  34. package/cjs/image-picker/index.js +4 -3
  35. package/cjs/nav-bar/index.js +7 -2
  36. package/cjs/show-monitor/index.js +31 -3
  37. package/dist/index.js +644 -604
  38. package/dist/index.min.js +3 -3
  39. package/dist/style.css +174 -438
  40. package/dist/style.min.css +1 -1
  41. package/esm/avatar/group.js +1 -1
  42. package/esm/avatar/index.js +10 -13
  43. package/esm/avatar/style/css/index.css +96 -126
  44. package/esm/avatar/style/index.less +54 -72
  45. package/esm/badge/index.js +6 -8
  46. package/esm/badge/style/css/index.css +5 -5
  47. package/esm/badge/style/index.less +5 -5
  48. package/esm/button/demo/style/mobile.less +0 -4
  49. package/esm/button/hooks.d.ts +1 -2
  50. package/esm/button/hooks.js +5 -3
  51. package/esm/button/index.d.ts +1 -1
  52. package/esm/button/index.js +30 -35
  53. package/esm/button/style/css/index.css +75 -310
  54. package/esm/button/style/index.less +32 -38
  55. package/esm/dropdown/dropdown.d.ts +3 -0
  56. package/esm/dropdown/dropdown.js +288 -0
  57. package/esm/dropdown/index.d.ts +3 -4
  58. package/esm/dropdown/index.js +3 -293
  59. package/esm/dropdown/options.js +2 -1
  60. package/esm/dropdown/type.d.ts +20 -9
  61. package/esm/dropdown-menu/dropdown-menu.d.ts +4 -0
  62. package/esm/dropdown-menu/dropdown-menu.js +256 -0
  63. package/esm/dropdown-menu/helper.d.ts +1 -1
  64. package/esm/dropdown-menu/index.d.ts +2 -3
  65. package/esm/dropdown-menu/index.js +2 -237
  66. package/esm/dropdown-menu/type.d.ts +21 -20
  67. package/esm/image/index.js +4 -1
  68. package/esm/image/style/css/index.css +2 -1
  69. package/esm/image/style/index.less +2 -1
  70. package/esm/image-picker/index.d.ts +6 -6
  71. package/esm/image-picker/index.js +4 -3
  72. package/esm/nav-bar/index.js +6 -2
  73. package/esm/show-monitor/index.js +31 -3
  74. package/package.json +3 -3
  75. package/tokens/app/arcodesign/default/css-variables.less +2 -1
  76. package/tokens/app/arcodesign/default/index.d.ts +2 -1
  77. package/tokens/app/arcodesign/default/index.js +2 -1
  78. package/tokens/app/arcodesign/default/index.json +27 -15
  79. package/tokens/app/arcodesign/default/index.less +2 -1
  80. package/umd/avatar/group.js +1 -1
  81. package/umd/avatar/index.js +10 -13
  82. package/umd/avatar/style/css/index.css +96 -126
  83. package/umd/avatar/style/index.less +54 -72
  84. package/umd/badge/index.js +6 -8
  85. package/umd/badge/style/css/index.css +5 -5
  86. package/umd/badge/style/index.less +5 -5
  87. package/umd/button/demo/style/mobile.less +0 -4
  88. package/umd/button/hooks.d.ts +1 -2
  89. package/umd/button/hooks.js +5 -3
  90. package/umd/button/index.d.ts +1 -1
  91. package/umd/button/index.js +28 -33
  92. package/umd/button/style/css/index.css +75 -310
  93. package/umd/button/style/index.less +32 -38
  94. package/umd/dropdown/dropdown.d.ts +3 -0
  95. package/umd/dropdown/dropdown.js +309 -0
  96. package/umd/dropdown/index.d.ts +3 -4
  97. package/umd/dropdown/index.js +5 -298
  98. package/umd/dropdown/options.js +2 -1
  99. package/umd/dropdown/type.d.ts +20 -9
  100. package/umd/dropdown-menu/dropdown-menu.d.ts +4 -0
  101. package/umd/dropdown-menu/dropdown-menu.js +278 -0
  102. package/umd/dropdown-menu/helper.d.ts +1 -1
  103. package/umd/dropdown-menu/index.d.ts +2 -3
  104. package/umd/dropdown-menu/index.js +5 -241
  105. package/umd/dropdown-menu/type.d.ts +21 -20
  106. package/umd/image/index.js +4 -1
  107. package/umd/image/style/css/index.css +2 -1
  108. package/umd/image/style/index.less +2 -1
  109. package/umd/image-picker/index.d.ts +6 -6
  110. package/umd/image-picker/index.js +4 -3
  111. package/umd/nav-bar/index.js +9 -6
  112. package/umd/show-monitor/index.js +31 -3
package/dist/index.js CHANGED
@@ -2949,7 +2949,7 @@
2949
2949
  var GroupContext = /*#__PURE__*/React__default["default"].createContext({
2950
2950
  isFromGroup: false
2951
2951
  });
2952
- function componentGenerator$8(Comp) {
2952
+ function componentGenerator$a(Comp) {
2953
2953
  return /*#__PURE__*/React.forwardRef(function (props, ref) {
2954
2954
  var _a = props.className,
2955
2955
  className = _a === void 0 ? '' : _a,
@@ -3072,7 +3072,7 @@
3072
3072
  });
3073
3073
  });
3074
3074
 
3075
- var Group$4 = componentGenerator$8(Cell);
3075
+ var Group$4 = componentGenerator$a(Cell);
3076
3076
  /**
3077
3077
  * 单元格组件,含单元格及单元格组合,常用于设置项、表单等。
3078
3078
  * @en Cell, including cells and cell group, are often used to set items, forms, etc.
@@ -3377,27 +3377,25 @@
3377
3377
  };
3378
3378
  });
3379
3379
 
3380
- function renderInnerBadge() {
3380
+ function renderInnerBadge(prefix) {
3381
3381
  return dot ? null : /*#__PURE__*/React__default["default"].createElement("span", {
3382
- className: "badge-text"
3382
+ className: prefix + "-text badge-text"
3383
3383
  }, Number(text) && Number(text) > maxCount ? maxCount + "+" : text);
3384
3384
  }
3385
3385
 
3386
3386
  return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
3387
+ var _b;
3388
+
3387
3389
  var prefixCls = _a.prefixCls;
3388
3390
  return /*#__PURE__*/React__default["default"].createElement(Transition, {
3389
3391
  in: visible,
3390
3392
  timeout: timeout,
3391
3393
  type: "scale"
3392
3394
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3393
- className: cls(prefixCls + "-badge", className, {
3394
- dot: dot,
3395
- bordered: bordered,
3396
- absolute: absolute
3397
- }),
3395
+ className: cls(prefixCls + "-badge", className, (_b = {}, _b[prefixCls + "-badge-dot dot"] = dot, _b[prefixCls + "-badge-bordered bordered"] = bordered, _b[prefixCls + "-badge-absolute absolute"] = absolute, _b)),
3398
3396
  style: style,
3399
3397
  ref: domRef
3400
- }, children || renderInnerBadge()));
3398
+ }, children || renderInnerBadge(prefixCls + "-badge")));
3401
3399
  });
3402
3400
  });
3403
3401
 
@@ -3434,6 +3432,7 @@
3434
3432
  var wrapRef = React.useRef(null);
3435
3433
  var retryCountRef = React.useRef(0);
3436
3434
  var loadingImageRef = React.useRef(null);
3435
+ var hasLoadedRef = React.useRef(false);
3437
3436
  var style = props.style,
3438
3437
  className = props.className,
3439
3438
  status = props.status,
@@ -3557,6 +3556,7 @@
3557
3556
  image.onload = function (evt) {
3558
3557
  loadingImageRef.current = null;
3559
3558
  imageDomRef.current = image;
3559
+ hasLoadedRef.current = true;
3560
3560
  changeStatus('loaded');
3561
3561
  var _a = image.width,
3562
3562
  imageWidth = _a === void 0 ? 0 : _a,
@@ -3671,7 +3671,8 @@
3671
3671
  })) : null, /*#__PURE__*/React__default["default"].createElement("div", {
3672
3672
  className: cls('image-container', validStatus, {
3673
3673
  animate: Boolean(animateDuration),
3674
- 'static-label': staticLabel
3674
+ 'static-label': staticLabel,
3675
+ 'has-loaded': hasLoadedRef.current
3675
3676
  }),
3676
3677
  style: getStyleWithVendor({
3677
3678
  transitionDuration: animateDuration + "ms"
@@ -3775,7 +3776,7 @@
3775
3776
  return /*#__PURE__*/React__default["default"].createElement("div", {
3776
3777
  ref: domRef,
3777
3778
  style: style,
3778
- className: cls(className, prefixCls + "-avatar-group", "group-" + size)
3779
+ className: cls(className, prefixCls + "-avatar-group", prefixCls + "-avatar-group-size-" + size, "group-" + size)
3779
3780
  }, /*#__PURE__*/React__default["default"].createElement(AvatarGroupContext.Provider, {
3780
3781
  value: {
3781
3782
  isGroup: true,
@@ -3795,50 +3796,47 @@
3795
3796
  })));
3796
3797
  });
3797
3798
 
3798
- function componentGenerator$7(Comp) {
3799
+ function componentGenerator$9(Comp) {
3799
3800
  return /*#__PURE__*/React.forwardRef(function (props, ref) {
3800
- var _a;
3801
+ var _a, _b;
3801
3802
 
3802
3803
  var prefixCls = React.useContext(GlobalContext).prefixCls;
3803
3804
 
3804
- var _b = React.useContext(AvatarGroupContext),
3805
- groupShape = _b.shape,
3806
- groupSize = _b.size,
3807
- isGroup = _b.isGroup;
3805
+ var _c = React.useContext(AvatarGroupContext),
3806
+ groupShape = _c.shape,
3807
+ groupSize = _c.size,
3808
+ isGroup = _c.isGroup;
3808
3809
 
3809
- var _c = props.shape,
3810
- shape = _c === void 0 ? props.shape || (isGroup ? groupShape : 'circle') : _c,
3811
- _d = props.size,
3812
- size = _d === void 0 ? props.size || (isGroup ? groupSize : 'small') : _d,
3810
+ var _d = props.shape,
3811
+ shape = _d === void 0 ? props.shape || (isGroup ? groupShape : 'circle') : _d,
3812
+ _e = props.size,
3813
+ size = _e === void 0 ? props.size || (isGroup ? groupSize : 'small') : _e,
3813
3814
  src = props.src,
3814
- _e = props.decoration,
3815
- decoration = _e === void 0 ? null : _e,
3816
- _f = props.textAvatar,
3817
- textAvatar = _f === void 0 ? '' : _f,
3818
- _g = props.avatarStyle,
3819
- avatarStyle = _g === void 0 ? {} : _g,
3820
- _h = props.autoFixFontSize,
3821
- autoFixFontSize = _h === void 0 ? true : _h,
3822
- _j = props.autoFixFontOffset,
3823
- autoFixFontOffset = _j === void 0 ? 2 : _j,
3824
- _k = props.avatarName,
3825
- avatarName = _k === void 0 ? '' : _k,
3826
- _l = props.avatarDesc,
3827
- avatarDesc = _l === void 0 ? '' : _l,
3828
- _m = props.children,
3829
- children = _m === void 0 ? null : _m,
3830
- _o = props.renderInfo,
3831
- renderInfo = _o === void 0 ? null : _o,
3832
- _p = props.className,
3833
- className = _p === void 0 ? '' : _p,
3834
- _q = props.style,
3835
- style = _q === void 0 ? {} : _q,
3836
- _r = props.imageProps,
3837
- imageProps = _r === void 0 ? {} : _r,
3838
- _s = props.defaultOverLap,
3839
- defaultOverLap = _s === void 0 ? /*#__PURE__*/React__default["default"].createElement(IconUserFill, {
3840
- className: prefixCls + "-avatar-default"
3841
- }) : _s,
3815
+ _f = props.decoration,
3816
+ decoration = _f === void 0 ? null : _f,
3817
+ _g = props.textAvatar,
3818
+ textAvatar = _g === void 0 ? '' : _g,
3819
+ _h = props.avatarStyle,
3820
+ avatarStyle = _h === void 0 ? {} : _h,
3821
+ _j = props.autoFixFontSize,
3822
+ autoFixFontSize = _j === void 0 ? true : _j,
3823
+ _k = props.autoFixFontOffset,
3824
+ autoFixFontOffset = _k === void 0 ? 2 : _k,
3825
+ _l = props.avatarName,
3826
+ avatarName = _l === void 0 ? '' : _l,
3827
+ _m = props.avatarDesc,
3828
+ avatarDesc = _m === void 0 ? '' : _m,
3829
+ _o = props.children,
3830
+ children = _o === void 0 ? null : _o,
3831
+ _p = props.renderInfo,
3832
+ renderInfo = _p === void 0 ? null : _p,
3833
+ _q = props.className,
3834
+ className = _q === void 0 ? '' : _q,
3835
+ _r = props.style,
3836
+ style = _r === void 0 ? {} : _r,
3837
+ _s = props.imageProps,
3838
+ imageProps = _s === void 0 ? {} : _s,
3839
+ defaultOverLap = props.defaultOverLap,
3842
3840
  onClickDecoration = props.onClickDecoration,
3843
3841
  onClick = props.onClick;
3844
3842
  var domRef = React.useRef(null);
@@ -3893,19 +3891,19 @@
3893
3891
  return /*#__PURE__*/React__default["default"].createElement("div", {
3894
3892
  ref: domRef,
3895
3893
  style: style,
3896
- className: cls(prefixCls + "-avatar-wrapper", className, size, shape, {
3897
- 'with-info': Boolean(avatarName)
3898
- }),
3894
+ className: cls(prefixCls + "-avatar-wrapper", className, size, shape, prefixCls + "-avatar-wrapper-shape-" + shape, (_a = {}, _a[prefixCls + "-avatar-wrapper-with-info " + prefixCls + "-avatar-wrapper-with-info-size-" + size + " with-info"] = Boolean(avatarName), _a)),
3899
3895
  onClick: onClick
3900
3896
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3901
- className: cls(prefixCls + "-avatar", size, shape, (_a = {}, _a[prefixCls + "-text-avatar"] = isTextAvatar, _a[prefixCls + "-image-avatar"] = isImageAvatar, _a['default-overlap'] = useDefaultAvatar, _a)),
3897
+ className: cls(prefixCls + "-avatar", prefixCls + "-avatar-size-" + size, size, prefixCls + "-avatar-shape-" + shape, shape, (_b = {}, _b[prefixCls + "-text-avatar " + prefixCls + "-avatar-mode-text"] = isTextAvatar, _b[prefixCls + "-image-avatar " + prefixCls + "-avatar-mode-image"] = isImageAvatar, _b[prefixCls + "-avatar-default-overlap default-overlap"] = useDefaultAvatar, _b)),
3902
3898
  style: avatarStyle,
3903
3899
  ref: avatarRef
3904
- }, children, useDefaultAvatar && defaultOverLap, isImageAvatar && src && /*#__PURE__*/React__default["default"].createElement(Comp, __assign({}, {
3900
+ }, children, useDefaultAvatar && (defaultOverLap === void 0 ? /*#__PURE__*/React__default["default"].createElement(IconUserFill, {
3901
+ className: prefixCls + "-avatar-default " + prefixCls + "-avatar-default-icon-size-" + size
3902
+ }) : defaultOverLap), isImageAvatar && src && /*#__PURE__*/React__default["default"].createElement(Comp, __assign({}, {
3905
3903
  className: prefixCls + "-avatar-img",
3906
3904
  src: src
3907
3905
  }, imageProps)), isTextAvatar && /*#__PURE__*/React__default["default"].createElement("span", {
3908
- className: prefixCls + "-avatar-text",
3906
+ className: prefixCls + "-avatar-text " + prefixCls + "-avatar-text-size-" + size,
3909
3907
  ref: avatarTextRef,
3910
3908
  style: {
3911
3909
  transform: "scale(" + textScale + ")"
@@ -3916,13 +3914,13 @@
3916
3914
  }, decoration)), renderInfo, !renderInfo && avatarName && /*#__PURE__*/React__default["default"].createElement("div", {
3917
3915
  className: cls(prefixCls + "-avatar-info")
3918
3916
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3919
- className: cls(prefixCls + "-avatar-name")
3917
+ className: prefixCls + "-avatar-name " + prefixCls + "-avatar-name-size-" + size
3920
3918
  }, avatarName), avatarDesc && /*#__PURE__*/React__default["default"].createElement("div", {
3921
- className: cls(prefixCls + "-avatar-desc")
3919
+ className: prefixCls + "-avatar-desc " + prefixCls + "-avatar-desc-size-" + size
3922
3920
  }, avatarDesc)));
3923
3921
  });
3924
3922
  }
3925
- var Avatar = componentGenerator$7(BaseImage);
3923
+ var Avatar = componentGenerator$9(BaseImage);
3926
3924
  /**
3927
3925
  * 头像展示组件,支持圆形和方形两种形状,支持图片文字头像,支持五种尺寸。
3928
3926
  * @en Avatar component supports two shapes of circle and square, supports pictures or text avatars, with five sizes.
@@ -3958,7 +3956,8 @@
3958
3956
  bgColor = _a.bgColor,
3959
3957
  borderColor = _a.borderColor,
3960
3958
  active = _a.isActive,
3961
- disabled = _a.disabled;
3959
+ disabled = _a.disabled,
3960
+ halfBorder = _a.halfBorder;
3962
3961
  var state = {
3963
3962
  active: active,
3964
3963
  disabled: disabled
@@ -3995,8 +3994,9 @@
3995
3994
  return res;
3996
3995
  }, [styleConfig, active, disabled]);
3997
3996
  var customColorClass = React.useMemo(function () {
3998
- return styleConfig.borderColor ? ['has-custom-border'] : [];
3999
- }, [diffColor(borderColor)]);
3997
+ var borderCls = halfBorder ? 'half-border' : '';
3998
+ return styleConfig.borderColor ? ['has-custom-border'] : [borderCls];
3999
+ }, [styleConfig.borderColor, halfBorder]);
4000
4000
  return {
4001
4001
  customColorStyle: customColorStyle,
4002
4002
  customColorClass: customColorClass
@@ -4013,62 +4013,67 @@
4013
4013
  */
4014
4014
 
4015
4015
  var Button = /*#__PURE__*/React.forwardRef(function (props, ref) {
4016
- var _a = React.useState(false),
4017
- isActive = _a[0],
4018
- setActive = _a[1];
4016
+ var _a, _b;
4017
+
4018
+ var _c = React.useState(false),
4019
+ isActive = _c[0],
4020
+ setActive = _c[1];
4019
4021
 
4020
4022
  var system = useSystem();
4021
- var _b = props.type,
4022
- type = _b === void 0 ? 'primary' : _b,
4023
- _c = props.size,
4024
- size = _c === void 0 ? 'large' : _c,
4025
- _d = props.inline,
4026
- inline = _d === void 0 ? false : _d,
4027
- _e = props.loading,
4028
- loading = _e === void 0 ? false : _e,
4029
- _f = props.disabled,
4030
- disabled = _f === void 0 ? false : _f,
4031
- _g = props.disableWhenLoading,
4032
- disableWhenLoading = _g === void 0 ? true : _g,
4033
- _h = props.shape,
4034
- shape = _h === void 0 ? 'semi' : _h,
4035
- _j = props.halfBorder,
4036
- halfBorder = _j === void 0 ? false : _j,
4023
+ var _d = props.type,
4024
+ type = _d === void 0 ? 'primary' : _d,
4025
+ _e = props.size,
4026
+ size = _e === void 0 ? 'large' : _e,
4027
+ _f = props.inline,
4028
+ inline = _f === void 0 ? false : _f,
4029
+ _g = props.loading,
4030
+ loading = _g === void 0 ? false : _g,
4031
+ _h = props.disabled,
4032
+ disabled = _h === void 0 ? false : _h,
4033
+ _j = props.disableWhenLoading,
4034
+ disableWhenLoading = _j === void 0 ? true : _j,
4035
+ _k = props.shape,
4036
+ shape = _k === void 0 ? 'semi' : _k,
4037
+ _l = props.halfBorder,
4038
+ halfBorder = _l === void 0 ? false : _l,
4037
4039
  icon = props.icon,
4038
- _k = props.showTextWhenLoading,
4039
- showTextWhenLoading = _k === void 0 ? true : _k,
4040
- _l = props.needActive,
4041
- needActive = _l === void 0 ? true : _l,
4042
- _m = props.style,
4043
- style = _m === void 0 ? {} : _m,
4040
+ _m = props.showTextWhenLoading,
4041
+ showTextWhenLoading = _m === void 0 ? true : _m,
4042
+ _o = props.needActive,
4043
+ needActive = _o === void 0 ? true : _o,
4044
+ _p = props.style,
4045
+ style = _p === void 0 ? {} : _p,
4044
4046
  color = props.color,
4045
4047
  bgColor = props.bgColor,
4046
4048
  borderColor = props.borderColor,
4047
- _o = props.className,
4048
- className = _o === void 0 ? '' : _o,
4049
- _p = props.children,
4050
- children = _p === void 0 ? null : _p,
4049
+ _q = props.className,
4050
+ className = _q === void 0 ? '' : _q,
4051
+ _r = props.children,
4052
+ children = _r === void 0 ? null : _r,
4051
4053
  loadingIcon = props.loadingIcon,
4052
4054
  onClick = props.onClick,
4053
4055
  onClickDisabled = props.onClickDisabled,
4054
- _q = props.coverIconWhenLoading,
4055
- coverIconWhenLoading = _q === void 0 ? false : _q;
4056
+ _s = props.coverIconWhenLoading,
4057
+ coverIconWhenLoading = _s === void 0 ? true : _s;
4056
4058
  var domRef = React.useRef(null);
4059
+ var prefixCls = React.useContext(GlobalContext).prefixCls;
4060
+ var prefix = prefixCls + "-button";
4057
4061
  React.useImperativeHandle(ref, function () {
4058
4062
  return {
4059
4063
  dom: domRef.current
4060
4064
  };
4061
4065
  });
4062
4066
 
4063
- var _r = useCustomColor({
4067
+ var _t = useCustomColor({
4064
4068
  color: color,
4065
4069
  bgColor: bgColor,
4066
4070
  borderColor: borderColor,
4067
4071
  isActive: isActive,
4068
- disabled: disabled
4072
+ disabled: disabled,
4073
+ halfBorder: halfBorder
4069
4074
  }),
4070
- customColorClass = _r.customColorClass,
4071
- customColorStyle = _r.customColorStyle;
4075
+ customColorClass = _t.customColorClass,
4076
+ customColorStyle = _t.customColorStyle;
4072
4077
 
4073
4078
  var handleTouchStart = function handleTouchStart() {
4074
4079
  if (needActive && !disabled && !loading) {
@@ -4088,37 +4093,24 @@
4088
4093
  return icon;
4089
4094
  };
4090
4095
 
4091
- return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
4092
- var prefixCls = _a.prefixCls;
4093
- return /*#__PURE__*/React__default["default"].createElement("button", {
4094
- type: "button",
4095
- ref: domRef,
4096
- style: __assign(__assign({}, customColorStyle), style),
4097
- className: cls.apply(void 0, __spreadArrays([prefixCls + "-button", className, "type-" + type, "size-" + size, "is-" + shape, system, {
4098
- inline: inline,
4099
- disabled: disabled,
4100
- loading: loading,
4101
- active: isActive,
4102
- 'half-border': halfBorder
4103
- }], customColorClass)),
4104
- onTouchStart: handleTouchStart,
4105
- onTouchEnd: handleTouchEnd,
4106
- onTouchCancel: handleTouchEnd,
4107
- onMouseDown: handleTouchStart,
4108
- onMouseUp: handleTouchEnd,
4109
- onClick: disabled || loading && disableWhenLoading ? onClickDisabled : onClick
4110
- }, /*#__PURE__*/React__default["default"].createElement("div", {
4111
- className: "btn-icon"
4112
- }, renderIcon(), loading && (loadingIcon === void 0 ? /*#__PURE__*/React__default["default"].createElement(Loading, {
4113
- className: "loading-icon",
4114
- radius: 6,
4115
- type: "circle"
4116
- }) : loadingIcon)), (!loading || loading && showTextWhenLoading) && children ? /*#__PURE__*/React__default["default"].createElement("div", {
4117
- className: cls('btn-text', {
4118
- 'has-icon': loading || icon
4119
- })
4120
- }, children) : null);
4121
- });
4096
+ return /*#__PURE__*/React__default["default"].createElement("button", {
4097
+ type: "button",
4098
+ ref: domRef,
4099
+ style: __assign(__assign({}, customColorStyle), style),
4100
+ className: cls.apply(void 0, __spreadArrays([prefix, prefix + "-type-" + type + " type-" + type, prefix + "-size-" + size + " " + prefix + "-size-" + size + "-is-" + shape + " size-" + size, className, "is-" + shape, system, (_a = {}, _a[prefix + "-inline inline"] = inline, _a[prefix + "-type-" + type + "-disabled disabled"] = disabled, _a.loading = loading, _a[prefix + "-type-" + type + "-active active"] = isActive, _a)], customColorClass)),
4101
+ onTouchStart: handleTouchStart,
4102
+ onTouchEnd: handleTouchEnd,
4103
+ onTouchCancel: handleTouchEnd,
4104
+ onClick: disabled || loading && disableWhenLoading ? onClickDisabled : onClick
4105
+ }, icon || loading ? /*#__PURE__*/React__default["default"].createElement("div", {
4106
+ className: prefix + "-icon btn-icon"
4107
+ }, renderIcon(), loading && (loadingIcon === void 0 ? /*#__PURE__*/React__default["default"].createElement(Loading, {
4108
+ className: prefix + "-loading-icon loading-icon",
4109
+ radius: 6,
4110
+ type: "circle"
4111
+ }) : loadingIcon)) : null, (!loading || loading && showTextWhenLoading) && children ? /*#__PURE__*/React__default["default"].createElement("div", {
4112
+ className: cls(prefix + "-text", prefix + "-text-" + system, 'btn-text', (_b = {}, _b[prefix + "-text-has-icon has-icon"] = loading || icon, _b))
4113
+ }, children) : null);
4122
4114
  });
4123
4115
 
4124
4116
  /**
@@ -5576,7 +5568,7 @@
5576
5568
  value: [],
5577
5569
  onChange: function onChange() {}
5578
5570
  });
5579
- function componentGenerator$6(Comp) {
5571
+ function componentGenerator$8(Comp) {
5580
5572
  return /*#__PURE__*/React.forwardRef(function (props, ref) {
5581
5573
  var _a = props.style,
5582
5574
  style = _a === void 0 ? {} : _a,
@@ -6004,7 +5996,7 @@
6004
5996
  * @en Checkbox group
6005
5997
  * */
6006
5998
 
6007
- var Group$2 = componentGenerator$6(Checkbox$1);
5999
+ var Group$2 = componentGenerator$8(Checkbox$1);
6008
6000
  /**
6009
6001
  * 复选框,可用状态下点击切换选择,支持禁用,支持复选项组。
6010
6002
  * @en Checkbox, click to switch selection when available, support disabled status, support checkbox group.
@@ -6400,7 +6392,7 @@
6400
6392
  });
6401
6393
  });
6402
6394
 
6403
- function componentGenerator$5(Comp) {
6395
+ function componentGenerator$7(Comp) {
6404
6396
  return /*#__PURE__*/React.forwardRef(function (props, ref) {
6405
6397
  var _a = props.items,
6406
6398
  items = _a === void 0 ? [] : _a,
@@ -6518,7 +6510,7 @@
6518
6510
  })))));
6519
6511
  });
6520
6512
  }
6521
- var Group$1 = componentGenerator$5(Collapse);
6513
+ var Group$1 = componentGenerator$7(Collapse);
6522
6514
 
6523
6515
  /**
6524
6516
  * 折叠面板组件,支持手风琴模式。
@@ -10184,6 +10176,7 @@
10184
10176
  var Options = /*#__PURE__*/React.forwardRef(function (props, ref) {
10185
10177
  var options = props.options,
10186
10178
  useColumn = props.useColumn,
10179
+ icon = props.icon,
10187
10180
  selectedValue = props.selectedValue,
10188
10181
  defaultSelectedValue = props.defaultSelectedValue,
10189
10182
  multiple = props.multiple;
@@ -10264,7 +10257,7 @@
10264
10257
  return handleOptionChange(e, op);
10265
10258
  },
10266
10259
  style: minWidthStyle
10267
- }, op.label, /*#__PURE__*/React__default["default"].createElement(IconCheck, {
10260
+ }, op.label, icon !== void 0 ? icon : /*#__PURE__*/React__default["default"].createElement(IconCheck, {
10268
10261
  className: prefixCls + "-dropdown-options-item-icon"
10269
10262
  }));
10270
10263
  }), fakeOpts.map(function (_, i) {
@@ -10276,300 +10269,295 @@
10276
10269
  }));
10277
10270
  });
10278
10271
 
10279
- var Dropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
10280
- var optionsWrapper = React.useRef(null);
10281
- var domRef = React.useRef(null);
10282
- var _a = props.className,
10283
- className = _a === void 0 ? '' : _a,
10284
- _b = props.style,
10285
- style = _b === void 0 ? {} : _b,
10286
- _c = props.options,
10287
- options = _c === void 0 ? [] : _c,
10288
- _d = props.showDropdown,
10289
- showDropdown = _d === void 0 ? false : _d,
10290
- _e = props.showMask,
10291
- showMask = _e === void 0 ? true : _e,
10292
- _f = props.direction,
10293
- direction = _f === void 0 ? 'down' : _f,
10294
- height = props.height,
10295
- _g = props.maxHeight,
10296
- maxHeight = _g === void 0 ? 500 : _g,
10297
- _h = props.touchToClose,
10298
- touchToClose = _h === void 0 ? true : _h,
10299
- useColumn = props.useColumn,
10300
- multiple = props.multiple,
10301
- defaultSelectedValue = props.defaultSelectedValue,
10302
- onCancel = props.onCancel,
10303
- getAnchorElement = props.getAnchorElement,
10304
- isStopTouchEl = props.isStopTouchEl,
10305
- getStopTouchElements = props.getStopTouchElements,
10306
- _j = props.getScrollContainer,
10307
- getScrollContainer = _j === void 0 ? function () {
10308
- return optionsWrapper.current;
10309
- } : _j,
10310
- getPortalContainer = props.getPortalContainer,
10311
- _k = props.clickOtherToClose,
10312
- clickOtherToClose = _k === void 0 ? true : _k,
10313
- _l = props.dropdownAnimationTimeout,
10314
- dropdownAnimationTimeout = _l === void 0 ? 300 : _l,
10315
- _m = props.dropdownAnimationFunction,
10316
- dropdownAnimationFunction = _m === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _m,
10317
- // 坑:ios touchstart会停留300ms 导致点击关闭蒙层后出现点击穿透 触发底部可点区域事件 这里设置更长的timeout规避
10318
- // @en In iOS, touchstart will stay for 300ms, resulting in click penetration after clicking to close the mask, triggering the bottom clickable area event, and setting a longer timeout to avoid it
10319
- _o = props.maskAnimationTimeout,
10320
- // 坑:ios touchstart会停留300ms 导致点击关闭蒙层后出现点击穿透 触发底部可点区域事件 这里设置更长的timeout规避
10321
- // @en In iOS, touchstart will stay for 300ms, resulting in click penetration after clicking to close the mask, triggering the bottom clickable area event, and setting a longer timeout to avoid it
10322
- maskAnimationTimeout = _o === void 0 ? 500 : _o,
10323
- _p = props.maskAnimationFunction,
10324
- maskAnimationFunction = _p === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _p,
10325
- _q = props.mountOnEnter,
10326
- mountOnEnter = _q === void 0 ? true : _q,
10327
- _r = props.unmountOnExit,
10328
- unmountOnExit = _r === void 0 ? true : _r,
10329
- _s = props.preventBodyScroll,
10330
- preventBodyScroll = _s === void 0 ? true : _s,
10331
- initialBodyOverflow = props.initialBodyOverflow;
10332
- var system = useSystem();
10333
-
10334
- var _t = useWindowSize(),
10335
- windowHeight = _t.windowHeight,
10336
- windowWidth = _t.windowWidth;
10272
+ function componentGenerator$6(Comp) {
10273
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
10274
+ var optionsWrapper = React.useRef(null);
10275
+ var domRef = React.useRef(null);
10276
+ var _a = props.className,
10277
+ className = _a === void 0 ? '' : _a,
10278
+ _b = props.style,
10279
+ style = _b === void 0 ? {} : _b,
10280
+ _c = props.options,
10281
+ options = _c === void 0 ? [] : _c,
10282
+ _d = props.showDropdown,
10283
+ showDropdown = _d === void 0 ? false : _d,
10284
+ _e = props.showMask,
10285
+ showMask = _e === void 0 ? true : _e,
10286
+ _f = props.direction,
10287
+ direction = _f === void 0 ? 'down' : _f,
10288
+ height = props.height,
10289
+ _g = props.maxHeight,
10290
+ maxHeight = _g === void 0 ? 500 : _g,
10291
+ _h = props.touchToClose,
10292
+ touchToClose = _h === void 0 ? true : _h,
10293
+ useColumn = props.useColumn,
10294
+ optionIcon = props.optionIcon,
10295
+ multiple = props.multiple,
10296
+ defaultSelectedValue = props.defaultSelectedValue,
10297
+ onCancel = props.onCancel,
10298
+ getAnchorElement = props.getAnchorElement,
10299
+ isStopTouchEl = props.isStopTouchEl,
10300
+ getStopTouchElements = props.getStopTouchElements,
10301
+ _j = props.getScrollContainer,
10302
+ getScrollContainer = _j === void 0 ? function () {
10303
+ return optionsWrapper.current;
10304
+ } : _j,
10305
+ getPortalContainer = props.getPortalContainer,
10306
+ _k = props.clickOtherToClose,
10307
+ clickOtherToClose = _k === void 0 ? true : _k,
10308
+ _l = props.dropdownAnimationTimeout,
10309
+ dropdownAnimationTimeout = _l === void 0 ? 300 : _l,
10310
+ _m = props.dropdownAnimationFunction,
10311
+ dropdownAnimationFunction = _m === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _m,
10312
+ // 坑:ios touchstart会停留300ms 导致点击关闭蒙层后出现点击穿透 触发底部可点区域事件 这里设置更长的timeout规避
10313
+ // @en In iOS, touchstart will stay for 300ms, resulting in click penetration after clicking to close the mask, triggering the bottom clickable area event, and setting a longer timeout to avoid it
10314
+ _o = props.maskAnimationTimeout,
10315
+ // 坑:ios touchstart会停留300ms 导致点击关闭蒙层后出现点击穿透 触发底部可点区域事件 这里设置更长的timeout规避
10316
+ // @en In iOS, touchstart will stay for 300ms, resulting in click penetration after clicking to close the mask, triggering the bottom clickable area event, and setting a longer timeout to avoid it
10317
+ maskAnimationTimeout = _o === void 0 ? 500 : _o,
10318
+ _p = props.maskAnimationFunction,
10319
+ maskAnimationFunction = _p === void 0 ? 'cubic-bezier(0.32, 0.96, 0.6, 1)' : _p,
10320
+ _q = props.mountOnEnter,
10321
+ mountOnEnter = _q === void 0 ? true : _q,
10322
+ _r = props.unmountOnExit,
10323
+ unmountOnExit = _r === void 0 ? true : _r,
10324
+ _s = props.preventBodyScroll,
10325
+ preventBodyScroll = _s === void 0 ? true : _s,
10326
+ initialBodyOverflow = props.initialBodyOverflow;
10327
+ var system = useSystem();
10328
+
10329
+ var _t = useWindowSize(),
10330
+ windowHeight = _t.windowHeight,
10331
+ windowWidth = _t.windowWidth;
10332
+
10333
+ var _u = React.useState({
10334
+ top: '',
10335
+ bottom: ''
10336
+ }),
10337
+ positionStyle = _u[0],
10338
+ setPositionStyle = _u[1];
10337
10339
 
10338
- var _u = React.useState({
10339
- top: '',
10340
- bottom: ''
10341
- }),
10342
- positionStyle = _u[0],
10343
- setPositionStyle = _u[1];
10340
+ var _v = React.useState(function () {
10341
+ var defaultValue = multiple ? [] : 0;
10342
+ return defaultSelectedValue !== void 0 ? defaultSelectedValue : defaultValue;
10343
+ }),
10344
+ innerValue = _v[0],
10345
+ setInnerValue = _v[1]; // down=0为向上展开,1为向下展开
10346
+ // @en down=0 is to expand upwards, 1 is to expand downwards
10344
10347
 
10345
- var _v = React.useState(function () {
10346
- var defaultValue = multiple ? [] : 0;
10347
- return defaultSelectedValue !== void 0 ? defaultSelectedValue : defaultValue;
10348
- }),
10349
- innerValue = _v[0],
10350
- setInnerValue = _v[1]; // down=0为向上展开,1为向下展开
10351
- // @en down=0 is to expand upwards, 1 is to expand downwards
10352
10348
 
10349
+ var _w = React.useState(direction === 'down'),
10350
+ down = _w[0],
10351
+ setDown = _w[1];
10353
10352
 
10354
- var _w = React.useState(direction === 'down'),
10355
- down = _w[0],
10356
- setDown = _w[1];
10353
+ var maskHeight = React.useRef(0);
10354
+ var optionsContainer = React.useRef(null);
10355
+ var dropdownContainer = React.useRef(null);
10357
10356
 
10358
- var maskHeight = React.useRef(0);
10359
- var optionsContainer = React.useRef(null);
10360
- var dropdownContainer = React.useRef(null);
10357
+ var _x = React.useState(0),
10358
+ optionsWrapperHeight = _x[0],
10359
+ setOptionsWrapperHeight = _x[1];
10360
+ /**
10361
+ * 判断是否阻止touch事件
10362
+ * @en Determine whether to block touch events
10363
+ * */
10361
10364
 
10362
- var _x = React.useState(0),
10363
- optionsWrapperHeight = _x[0],
10364
- setOptionsWrapperHeight = _x[1];
10365
- /**
10366
- * 判断是否阻止touch事件
10367
- * @en Determine whether to block touch events
10368
- * */
10369
10365
 
10366
+ var ifStopTouch = function ifStopTouch(el) {
10367
+ var _a;
10370
10368
 
10371
- var ifStopTouch = function ifStopTouch(el) {
10372
- var _a;
10369
+ if (isStopTouchEl) return isStopTouchEl(el);
10370
+ var tempEl = el;
10371
+ var elements = getStopTouchElements ? getStopTouchElements() : [(_a = dropdownContainer.current) === null || _a === void 0 ? void 0 : _a.parentElement];
10373
10372
 
10374
- if (isStopTouchEl) return isStopTouchEl(el);
10375
- var tempEl = el;
10376
- var elements = getStopTouchElements ? getStopTouchElements() : [(_a = dropdownContainer.current) === null || _a === void 0 ? void 0 : _a.parentElement];
10373
+ for (var i = 0; i < elements.length; i++) {
10374
+ while (tempEl && elements[i]) {
10375
+ if (tempEl === elements[i]) {
10376
+ return true;
10377
+ }
10377
10378
 
10378
- for (var i = 0; i < elements.length; i++) {
10379
- while (tempEl && elements[i]) {
10380
- if (tempEl === elements[i]) {
10381
- return true;
10379
+ tempEl = tempEl.parentElement;
10382
10380
  }
10383
-
10384
- tempEl = tempEl.parentElement;
10385
10381
  }
10386
- }
10387
10382
 
10388
- return false;
10389
- };
10383
+ return false;
10384
+ };
10390
10385
 
10391
- usePopupScroll(showDropdown, domRef.current, getScrollContainer);
10392
- usePreventBodyScroll(showDropdown, preventBodyScroll, initialBodyOverflow);
10393
- React.useEffect(function () {
10394
- var _a; // 为0的时候不改变
10395
- // @en Does not change when it is 0
10386
+ usePopupScroll(showDropdown, domRef.current, getScrollContainer);
10387
+ usePreventBodyScroll(showDropdown, preventBodyScroll, initialBodyOverflow);
10388
+ React.useEffect(function () {
10389
+ var _a; // 为0的时候不改变
10390
+ // @en Does not change when it is 0
10396
10391
 
10397
10392
 
10398
- if (optionsWrapperHeight === 0) return;
10399
- var tempEl = getAnchorElement ? getAnchorElement() : (_a = dropdownContainer.current) === null || _a === void 0 ? void 0 : _a.parentElement;
10393
+ if (optionsWrapperHeight === 0) return;
10394
+ var tempEl = getAnchorElement ? getAnchorElement() : (_a = dropdownContainer.current) === null || _a === void 0 ? void 0 : _a.parentElement;
10400
10395
 
10401
- var _b = (tempEl === null || tempEl === void 0 ? void 0 : tempEl.getBoundingClientRect()) || {
10402
- bottom: 0,
10403
- top: 0
10404
- },
10405
- bottom = _b.bottom,
10406
- top = _b.top;
10396
+ var _b = (tempEl === null || tempEl === void 0 ? void 0 : tempEl.getBoundingClientRect()) || {
10397
+ bottom: 0,
10398
+ top: 0
10399
+ },
10400
+ bottom = _b.bottom,
10401
+ top = _b.top;
10407
10402
 
10408
- var tempTop = props.top || bottom;
10409
- var tempBottom = props.bottom || windowHeight - top;
10410
- var tempMaskHeight = windowHeight - tempTop; // 没有指定方向,且空间足够时,或向上展开的空间不够,向下展开
10411
- // @en If there is no specified direction and there is enough space, or there is not enough space to expand upward, expand downward
10403
+ var tempTop = props.top || bottom;
10404
+ var tempBottom = props.bottom || windowHeight - top;
10405
+ var tempMaskHeight = windowHeight - tempTop; // 没有指定方向,且空间足够时,或向上展开的空间不够,向下展开
10406
+ // @en If there is no specified direction and there is enough space, or there is not enough space to expand upward, expand downward
10412
10407
 
10413
- var tempDown = direction !== 'up' && optionsWrapperHeight < tempMaskHeight || optionsWrapperHeight > tempTop;
10408
+ var tempDown = direction !== 'up' && optionsWrapperHeight < tempMaskHeight || optionsWrapperHeight > tempTop;
10414
10409
 
10415
- if (tempDown) {
10416
- maskHeight.current = tempMaskHeight;
10417
- setPositionStyle({
10418
- top: tempTop + "px",
10419
- bottom: ''
10420
- });
10421
- } else {
10422
- maskHeight.current = windowHeight - tempBottom;
10423
- setPositionStyle({
10424
- top: '',
10425
- bottom: tempBottom + "px"
10426
- });
10427
- }
10428
-
10429
- setDown(tempDown);
10430
- }, [dropdownContainer, optionsWrapperHeight, props.top, props.bottom, Boolean(getAnchorElement), direction, windowHeight]);
10431
- /**
10432
- * 取消选择
10433
- * @en Cancel selection
10434
- * */
10410
+ if (tempDown) {
10411
+ maskHeight.current = tempMaskHeight;
10412
+ setPositionStyle({
10413
+ top: tempTop + "px",
10414
+ bottom: ''
10415
+ });
10416
+ } else {
10417
+ maskHeight.current = windowHeight - tempBottom;
10418
+ setPositionStyle({
10419
+ top: '',
10420
+ bottom: tempBottom + "px"
10421
+ });
10422
+ }
10435
10423
 
10436
- var handleCancel = React.useCallback(function (e) {
10437
- var optionsWrapperDom = optionsWrapper.current;
10424
+ setDown(tempDown);
10425
+ }, [dropdownContainer, optionsWrapperHeight, props.top, props.bottom, Boolean(getAnchorElement), direction, windowHeight]);
10426
+ /**
10427
+ * 取消选择
10428
+ * @en Cancel selection
10429
+ * */
10438
10430
 
10439
- if (!e || !optionsWrapperDom) {
10440
- return;
10441
- }
10431
+ var handleCancel = React.useCallback(function (e) {
10432
+ var optionsWrapperDom = optionsWrapper.current;
10442
10433
 
10443
- var target = e.target;
10434
+ if (!e || !optionsWrapperDom) {
10435
+ return;
10436
+ }
10444
10437
 
10445
- if (!optionsWrapperDom.contains(target) && !ifStopTouch(target)) {
10446
- onCancel();
10447
- }
10438
+ var target = e.target;
10448
10439
 
10449
- e.stopPropagation();
10450
- }, [ifStopTouch, onCancel]);
10451
- /**
10452
- * 当面板放下时,给body添加事件监听,面板收起时,移除
10453
- * @en When the panel is down, add an event listener to the body, and when the panel is retracted, remove it
10454
- * */
10440
+ if (!optionsWrapperDom.contains(target) && !ifStopTouch(target)) {
10441
+ onCancel();
10442
+ }
10455
10443
 
10456
- React.useEffect(function () {
10457
- var needBind = showDropdown && clickOtherToClose;
10458
- var event = touchToClose ? 'touchstart' : 'click';
10444
+ e.stopPropagation();
10445
+ }, [ifStopTouch, onCancel]);
10446
+ /**
10447
+ * 当面板放下时,给body添加事件监听,面板收起时,移除
10448
+ * @en When the panel is down, add an event listener to the body, and when the panel is retracted, remove it
10449
+ * */
10459
10450
 
10460
- if (needBind) {
10461
- document.addEventListener(event, handleCancel);
10462
- }
10451
+ React.useEffect(function () {
10452
+ var needBind = showDropdown && clickOtherToClose;
10453
+ var event = touchToClose ? 'touchstart' : 'click';
10463
10454
 
10464
- return function () {
10465
10455
  if (needBind) {
10466
- document.removeEventListener(event, handleCancel);
10467
- }
10468
- };
10469
- }, [showDropdown, clickOtherToClose, handleCancel]);
10470
- React.useEffect(function () {
10471
- nextTick(function () {
10472
- if (height !== void 0) {
10473
- // 受控模式下,完全交由外层控制
10474
- // @en In controlled mode, it is completely controlled by the outer layer
10475
- setOptionsWrapperHeight(height);
10476
- } else {
10477
- if (!optionsContainer.current) return;
10478
- if (!showDropdown) setOptionsWrapperHeight(0);else {
10479
- setOptionsWrapperHeight(optionsContainer.current.getBoundingClientRect().height);
10480
- }
10456
+ document.addEventListener(event, handleCancel);
10481
10457
  }
10482
- });
10483
- }, [showDropdown, options.length, height]);
10484
- React.useImperativeHandle(ref, function () {
10485
- return {
10486
- dom: domRef.current
10487
- };
10488
- });
10489
10458
 
10490
- function getOptionsStyle() {
10491
- var trans = down ? 'translateY(-100%)' : 'translateY(100%)';
10492
- return getStyleWithVendor({
10493
- // height: `${optionsWrapperHeight}px`,
10494
- transform: optionsWrapperHeight ? '' : trans,
10495
- transition: "transform " + dropdownAnimationTimeout + "ms " + dropdownAnimationFunction,
10496
- overflow: optionsWrapperHeight > maxHeight || height ? 'auto' : 'hidden',
10497
- maxHeight: maxHeight + "px"
10459
+ return function () {
10460
+ if (needBind) {
10461
+ document.removeEventListener(event, handleCancel);
10462
+ }
10463
+ };
10464
+ }, [showDropdown, clickOtherToClose, handleCancel]);
10465
+ React.useEffect(function () {
10466
+ nextTick(function () {
10467
+ if (height !== void 0) {
10468
+ // 受控模式下,完全交由外层控制
10469
+ // @en In controlled mode, it is completely controlled by the outer layer
10470
+ setOptionsWrapperHeight(height);
10471
+ } else {
10472
+ if (!optionsContainer.current) return;
10473
+ if (!showDropdown) setOptionsWrapperHeight(0);else {
10474
+ setOptionsWrapperHeight(optionsContainer.current.getBoundingClientRect().height);
10475
+ }
10476
+ }
10477
+ });
10478
+ }, [showDropdown, options.length, height]);
10479
+ React.useImperativeHandle(ref, function () {
10480
+ return {
10481
+ dom: domRef.current
10482
+ };
10498
10483
  });
10499
- }
10500
10484
 
10501
- function renderInnerOptions() {
10502
- var optionProps = {
10503
- options: options,
10504
- useColumn: useColumn
10505
- };
10506
- var value = props.selectedValue !== void 0 ? props.selectedValue : innerValue;
10507
- return props.multiple === true ? /*#__PURE__*/React__default["default"].createElement(Options, __assign({}, optionProps, {
10508
- multiple: true,
10509
- selectedValue: value,
10510
- onOptionClick: props.onOptionClick,
10511
- onOptionChange: function onOptionChange(vals, op) {
10512
- var _a;
10485
+ function getOptionsStyle() {
10486
+ var trans = down ? 'translateY(-100%)' : 'translateY(100%)';
10487
+ return getStyleWithVendor({
10488
+ // height: `${optionsWrapperHeight}px`,
10489
+ transform: optionsWrapperHeight ? '' : trans,
10490
+ transition: "transform " + dropdownAnimationTimeout + "ms " + dropdownAnimationFunction,
10491
+ overflow: optionsWrapperHeight > maxHeight || height ? 'auto' : 'hidden',
10492
+ maxHeight: maxHeight + "px"
10493
+ });
10494
+ }
10513
10495
 
10514
- setInnerValue(vals);
10515
- (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, vals, op);
10516
- }
10517
- })) : /*#__PURE__*/React__default["default"].createElement(Options, __assign({}, optionProps, {
10518
- multiple: props.multiple,
10519
- selectedValue: value,
10520
- onOptionClick: props.onOptionClick,
10521
- onOptionChange: function onOptionChange(vals, op) {
10522
- var _a;
10496
+ function renderInnerOptions() {
10497
+ var value = props.selectedValue !== void 0 ? props.selectedValue : innerValue;
10498
+ var optionProps = {
10499
+ options: options,
10500
+ useColumn: useColumn,
10501
+ icon: optionIcon,
10502
+ selectedValue: value,
10503
+ multiple: props.multiple,
10504
+ onOptionClick: props.onOptionClick,
10505
+ onOptionChange: function onOptionChange(vals, op) {
10506
+ var _a;
10523
10507
 
10524
- setInnerValue(vals);
10525
- (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, vals, op);
10526
- }
10527
- }));
10528
- }
10508
+ setInnerValue(vals);
10509
+ (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, vals, op);
10510
+ }
10511
+ };
10512
+ return /*#__PURE__*/React__default["default"].createElement(Comp, __assign({}, optionProps));
10513
+ }
10529
10514
 
10530
- return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
10531
- var prefixCls = _a.prefixCls;
10532
- return /*#__PURE__*/React__default["default"].createElement("div", {
10533
- ref: dropdownContainer
10534
- }, /*#__PURE__*/React__default["default"].createElement(Portal, {
10535
- getContainer: getPortalContainer
10536
- }, /*#__PURE__*/React__default["default"].createElement(reactTransitionGroup.CSSTransition, {
10537
- in: showDropdown,
10538
- timeout: Math.max(dropdownAnimationTimeout, maskAnimationTimeout),
10539
- onEnter: function onEnter(el) {
10540
- el.style.visibility = 'visible';
10541
- },
10542
- onExited: function onExited(el) {
10543
- el.style.visibility = 'hidden';
10544
- },
10545
- mountOnEnter: mountOnEnter,
10546
- unmountOnExit: unmountOnExit
10547
- }, /*#__PURE__*/React__default["default"].createElement("div", {
10548
- className: cls(prefixCls + "-dropdown all-border-box", system, className, {
10549
- 'drop-up': !down
10550
- }),
10551
- ref: domRef,
10552
- style: __assign(__assign({
10553
- height: maskHeight.current + "px",
10554
- maxWidth: windowWidth + "px"
10555
- }, style), positionStyle)
10556
- }, /*#__PURE__*/React__default["default"].createElement("div", {
10557
- className: cls(prefixCls + "-dropdown-options"),
10558
- ref: optionsWrapper,
10559
- style: getOptionsStyle()
10560
- }, /*#__PURE__*/React__default["default"].createElement("div", {
10561
- className: cls(prefixCls + "-dropdown-options-container"),
10562
- ref: optionsContainer
10563
- }, props.children || renderInnerOptions(), props.extraNode)), showMask && /*#__PURE__*/React__default["default"].createElement("div", {
10564
- className: cls(prefixCls + "-dropdown-mask", {
10565
- 'is-show': optionsWrapperHeight
10566
- }),
10567
- style: {
10568
- transition: "opacity " + maskAnimationTimeout + "ms " + maskAnimationFunction
10569
- }
10570
- })))));
10515
+ return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
10516
+ var prefixCls = _a.prefixCls;
10517
+ return /*#__PURE__*/React__default["default"].createElement("div", {
10518
+ ref: dropdownContainer
10519
+ }, /*#__PURE__*/React__default["default"].createElement(Portal, {
10520
+ getContainer: getPortalContainer
10521
+ }, /*#__PURE__*/React__default["default"].createElement(reactTransitionGroup.CSSTransition, {
10522
+ in: showDropdown,
10523
+ timeout: Math.max(dropdownAnimationTimeout, maskAnimationTimeout),
10524
+ onEnter: function onEnter(el) {
10525
+ el.style.visibility = 'visible';
10526
+ },
10527
+ onExited: function onExited(el) {
10528
+ el.style.visibility = 'hidden';
10529
+ },
10530
+ mountOnEnter: mountOnEnter,
10531
+ unmountOnExit: unmountOnExit
10532
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
10533
+ className: cls(prefixCls + "-dropdown all-border-box", system, className, {
10534
+ 'drop-up': !down
10535
+ }),
10536
+ ref: domRef,
10537
+ style: __assign(__assign({
10538
+ height: maskHeight.current + "px",
10539
+ maxWidth: windowWidth + "px"
10540
+ }, style), positionStyle)
10541
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
10542
+ className: cls(prefixCls + "-dropdown-options"),
10543
+ ref: optionsWrapper,
10544
+ style: getOptionsStyle()
10545
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
10546
+ className: cls(prefixCls + "-dropdown-options-container"),
10547
+ ref: optionsContainer
10548
+ }, props.children || renderInnerOptions(), props.extraNode)), showMask && /*#__PURE__*/React__default["default"].createElement("div", {
10549
+ className: cls(prefixCls + "-dropdown-mask", {
10550
+ 'is-show': optionsWrapperHeight
10551
+ }),
10552
+ style: {
10553
+ transition: "opacity " + maskAnimationTimeout + "ms " + maskAnimationFunction
10554
+ }
10555
+ })))));
10556
+ });
10571
10557
  });
10572
- });
10558
+ }
10559
+
10560
+ var Dropdown = componentGenerator$6(Options);
10573
10561
  /**
10574
10562
  * 下拉面板,展示供选择的选择项
10575
10563
  * @en Dropdown panel, showing options to choose from
@@ -10717,251 +10705,271 @@
10717
10705
  });
10718
10706
  }
10719
10707
 
10720
- /**
10721
- * 下拉选择组件,点击选择器(select)展开下拉框(dropdown),展示选择项(options),兼容多个选择器的情况。
10722
- * @en Dropdown component, click the selector (select) to expand the dropdown box (dropdown), display the options (options), compatible with multiple selectors.
10723
- * @type 导航
10724
- * @type_en Navigation
10725
- * @name 下拉选择菜单
10726
- * @name_en DropdownMenu
10727
- */
10728
-
10729
- var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
10730
- var _a = props.className,
10731
- className = _a === void 0 ? '' : _a,
10732
- _b = props.style,
10733
- style = _b === void 0 ? {} : _b,
10734
- _c = props.options,
10735
- options = _c === void 0 ? [] : _c,
10736
- _d = props.disabled,
10737
- disabled = _d === void 0 ? [] : _d,
10738
- _e = props.selectTips,
10739
- selectTips = _e === void 0 ? [] : _e,
10740
- values = props.values,
10741
- _f = props.defaultValues,
10742
- defaultValues = _f === void 0 ? [] : _f,
10743
- icon = props.icon,
10744
- _g = props.chooseAndClose,
10745
- chooseAndClose = _g === void 0 ? true : _g,
10746
- selectIndex = props.selectIndex,
10747
- _h = props.defaultSelectIndex,
10748
- defaultSelectIndex = _h === void 0 ? 0 : _h,
10749
- showDropdown = props.showDropdown,
10750
- _j = props.defaultShowDropdown,
10751
- defaultShowDropdown = _j === void 0 ? false : _j,
10752
- renderSelectLabel = props.renderSelectLabel,
10753
- onValuesChange = props.onValuesChange,
10754
- onSelectChange = props.onSelectChange,
10755
- onDropdownChange = props.onDropdownChange,
10756
- _k = props.getFormattedOptions,
10757
- getFormattedOptions$1 = _k === void 0 ? getFormattedOptions : _k,
10758
- children = props.children,
10759
- extraForDropdown = props.extraForDropdown;
10760
-
10761
- var _l = React.useContext(GlobalContext),
10762
- prefixCls = _l.prefixCls,
10763
- locale = _l.locale;
10708
+ function componentGenerator$5(Comp) {
10709
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
10710
+ var _a = props.className,
10711
+ className = _a === void 0 ? '' : _a,
10712
+ _b = props.style,
10713
+ style = _b === void 0 ? {} : _b,
10714
+ _c = props.options,
10715
+ options = _c === void 0 ? [] : _c,
10716
+ _d = props.disabled,
10717
+ disabled = _d === void 0 ? [] : _d,
10718
+ _e = props.selectTips,
10719
+ selectTips = _e === void 0 ? [] : _e,
10720
+ values = props.values,
10721
+ _f = props.defaultValues,
10722
+ defaultValues = _f === void 0 ? [] : _f,
10723
+ icon = props.icon,
10724
+ _g = props.chooseAndClose,
10725
+ chooseAndClose = _g === void 0 ? true : _g,
10726
+ selectIndex = props.selectIndex,
10727
+ _h = props.defaultSelectIndex,
10728
+ defaultSelectIndex = _h === void 0 ? 0 : _h,
10729
+ showDropdown = props.showDropdown,
10730
+ _j = props.defaultShowDropdown,
10731
+ defaultShowDropdown = _j === void 0 ? false : _j,
10732
+ onValuesChange = props.onValuesChange,
10733
+ onSelectChange = props.onSelectChange,
10734
+ onDropdownChange = props.onDropdownChange,
10735
+ _k = props.getFormattedOptions,
10736
+ getFormattedOptions$1 = _k === void 0 ? getFormattedOptions : _k,
10737
+ getContainer = props.getContainer,
10738
+ children = props.children,
10739
+ extraForDropdown = props.extraForDropdown;
10764
10740
 
10765
- var _m = React.useState(defaultValues),
10766
- innerValues = _m[0],
10767
- setInnerValues = _m[1];
10741
+ var _l = React.useContext(GlobalContext),
10742
+ prefixCls = _l.prefixCls,
10743
+ locale = _l.locale;
10768
10744
 
10769
- var _o = React.useState(0),
10770
- defaultTop = _o[0],
10771
- setDefaultTop = _o[1];
10745
+ var _m = React.useState(defaultValues),
10746
+ innerValues = _m[0],
10747
+ setInnerValues = _m[1];
10772
10748
 
10773
- var currentValues = values !== void 0 ? values : innerValues;
10749
+ var _o = React.useState(0),
10750
+ defaultTop = _o[0],
10751
+ setDefaultTop = _o[1];
10774
10752
 
10775
- var _p = React.useState(defaultShowDropdown),
10776
- innerShowDropdown = _p[0],
10777
- setInnerShowDropdown = _p[1];
10753
+ var currentValues = values !== void 0 ? values : innerValues;
10778
10754
 
10779
- var dropdownShown = showDropdown !== void 0 ? showDropdown : innerShowDropdown;
10755
+ var _p = React.useState(defaultShowDropdown),
10756
+ innerShowDropdown = _p[0],
10757
+ setInnerShowDropdown = _p[1];
10780
10758
 
10781
- var _q = React.useState(defaultSelectIndex),
10782
- innerSelectedIndex = _q[0],
10783
- setInnerSelectedIndex = _q[1];
10759
+ var dropdownShown = showDropdown !== void 0 ? showDropdown : innerShowDropdown;
10784
10760
 
10785
- var selectedIndex = selectIndex !== void 0 ? selectIndex : innerSelectedIndex;
10786
- var selectWrapper = React.useRef(null);
10787
- var domRef = React.useRef(null);
10788
- var defaultOpItem = {
10789
- label: locale === null || locale === void 0 ? void 0 : locale.DropdownMenu.select,
10790
- value: -1
10791
- };
10792
- /**
10793
- * 下拉框的容器
10794
- * @en Dropdown container
10795
- */
10761
+ var _q = React.useState(defaultSelectIndex),
10762
+ innerSelectedIndex = _q[0],
10763
+ setInnerSelectedIndex = _q[1];
10796
10764
 
10797
- var getContainer = React.useCallback(function () {
10798
- if (props.getContainer) {
10799
- return props.getContainer() || selectWrapper.current;
10800
- }
10765
+ var selectedIndex = selectIndex !== void 0 ? selectIndex : innerSelectedIndex;
10766
+ var selectWrapper = React.useRef(null);
10767
+ var domRef = React.useRef(null);
10768
+ var defaultOpItem = {
10769
+ label: locale === null || locale === void 0 ? void 0 : locale.DropdownMenu.select,
10770
+ value: -1
10771
+ };
10772
+ /**
10773
+ * 更新选项数组和选择情况
10774
+ * @en Update options list and selection
10775
+ */
10801
10776
 
10802
- return selectWrapper.current;
10803
- }, [selectWrapper.current]);
10804
- /**
10805
- * 更新选项数组和选择情况
10806
- * @en Update options list and selection
10807
- */
10777
+ var formattedOptions = React.useMemo(function () {
10778
+ return getFormattedOptions$1(options, currentValues);
10779
+ }, [options, currentValues]).formattedOptions;
10780
+ var selectedOptions = React.useMemo(function () {
10781
+ return formattedOptions.map(function (ops, index) {
10782
+ if (props.multiple) {
10783
+ var value_1 = currentValues[index] || [];
10784
+ var opItems = ops.reduce(function (acc, op) {
10785
+ return __spreadArrays(acc, value_1.includes(op.value) ? [op] : []);
10786
+ }, []);
10787
+ return opItems.length ? opItems : [defaultOpItem];
10788
+ }
10808
10789
 
10809
- var formattedOptions = React.useMemo(function () {
10810
- return getFormattedOptions$1(options, currentValues);
10811
- }, [options, currentValues]).formattedOptions;
10812
- var selectedOptions = React.useMemo(function () {
10813
- return formattedOptions.map(function (ops, index) {
10814
- return ops.find(function (op) {
10815
10790
  var value = currentValues[index];
10816
- return Array.isArray(value) ? value.includes(op.value) : op.value === value;
10817
- }) || (props.multiple ? defaultOpItem : ops[0]);
10818
- });
10819
- }, [formattedOptions, currentValues]);
10820
- /**
10821
- * 当下拉框的状态变化
10822
- * @en When the state of the dropdown box changes
10823
- */
10791
+ return ops.find(function (op) {
10792
+ return op.value === value;
10793
+ }) || ops[0];
10794
+ });
10795
+ }, [formattedOptions, currentValues, props.multiple]);
10796
+ /**
10797
+ * 当下拉框的状态变化
10798
+ * @en When the state of the dropdown box changes
10799
+ */
10824
10800
 
10825
- var handleShowDropdownChange = function handleShowDropdownChange(show, index) {
10826
- onDropdownChange && onDropdownChange(show, index);
10827
- setInnerShowDropdown(show);
10828
- };
10801
+ var handleShowDropdownChange = function handleShowDropdownChange(show, index) {
10802
+ onDropdownChange && onDropdownChange(show, index);
10803
+ setInnerShowDropdown(show);
10804
+ };
10829
10805
 
10830
- var handleSelectedIndexChange = function handleSelectedIndexChange(idx) {
10831
- setInnerSelectedIndex(idx);
10832
- onSelectChange === null || onSelectChange === void 0 ? void 0 : onSelectChange(idx);
10833
- };
10806
+ var handleSelectedIndexChange = function handleSelectedIndexChange(idx) {
10807
+ setInnerSelectedIndex(idx);
10808
+ onSelectChange === null || onSelectChange === void 0 ? void 0 : onSelectChange(idx);
10809
+ };
10834
10810
 
10835
- var handleValuesChange = function handleValuesChange(val) {
10836
- var newValue = __spreadArrays(currentValues); // 级联情况下 selectedIndex 之后的选项值重置
10837
- // @en Option values are reset after selectedIndex in case of cascade
10811
+ var handleValuesChange = function handleValuesChange(val) {
10812
+ var newValue = __spreadArrays(currentValues); // 级联情况下 selectedIndex 之后的选项值重置
10813
+ // @en Option values are reset after selectedIndex in case of cascade
10838
10814
 
10839
10815
 
10840
- if (isCascadeArray(options)) {
10841
- newValue = newValue.slice(0, selectedIndex);
10842
- }
10816
+ if (isCascadeArray(options)) {
10817
+ newValue = newValue.slice(0, selectedIndex);
10818
+ }
10843
10819
 
10844
- newValue[selectedIndex] = val;
10845
- newValue = getFormattedOptions$1(options, newValue).formattedValue;
10846
- setInnerValues(newValue);
10847
- onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(newValue);
10848
- };
10849
- /**
10850
- * 处理选择框的点击事件
10851
- * @en Handle click event of dropdown box
10852
- */
10820
+ newValue[selectedIndex] = val;
10821
+ newValue = getFormattedOptions$1(options, newValue).formattedValue;
10822
+ setInnerValues(newValue);
10823
+ onValuesChange === null || onValuesChange === void 0 ? void 0 : onValuesChange(newValue);
10824
+ };
10825
+ /**
10826
+ * 处理选择框的点击事件
10827
+ * @en Handle click event of dropdown box
10828
+ */
10853
10829
 
10854
10830
 
10855
- var handleSelectClick = function handleSelectClick(idx) {
10856
- if (disabled[idx]) return;
10831
+ var handleSelectClick = function handleSelectClick(idx) {
10832
+ if (disabled[idx]) return;
10857
10833
 
10858
- if (Number(idx) === selectedIndex) {
10859
- handleShowDropdownChange(!dropdownShown, idx);
10860
- } else {
10861
- handleSelectedIndexChange(idx);
10862
- if (!dropdownShown) handleShowDropdownChange(true, idx);
10863
- }
10864
- };
10865
- /**
10866
- * 判断是否为当前实例下的选择框
10867
- * @en Determine whether it is the dropdown box under the current instance
10868
- */
10834
+ if (Number(idx) === selectedIndex) {
10835
+ handleShowDropdownChange(!dropdownShown, idx);
10836
+ } else {
10837
+ handleSelectedIndexChange(idx);
10838
+ if (!dropdownShown) handleShowDropdownChange(true, idx);
10839
+ }
10840
+ };
10841
+ /**
10842
+ * 判断是否为当前实例下的选择框
10843
+ * @en Determine whether it is the dropdown box under the current instance
10844
+ */
10869
10845
 
10870
10846
 
10871
- var isCurrentSelectEl = function isCurrentSelectEl(target) {
10872
- var isStopTouchEl = (extraForDropdown || {}).isStopTouchEl;
10873
- return isRefDom(target, selectWrapper) && isClassNameDom(target, 'select-item') || (isStopTouchEl === null || isStopTouchEl === void 0 ? void 0 : isStopTouchEl(target)) || false;
10874
- };
10847
+ var isCurrentSelectEl = function isCurrentSelectEl(target) {
10848
+ var isStopTouchEl = (extraForDropdown || {}).isStopTouchEl;
10849
+ return isRefDom(target, selectWrapper) && isClassNameDom(target, 'select-item') || (isStopTouchEl === null || isStopTouchEl === void 0 ? void 0 : isStopTouchEl(target)) || false;
10850
+ };
10875
10851
 
10876
- React.useImperativeHandle(ref, function () {
10877
- return {
10878
- dom: domRef.current
10852
+ React.useImperativeHandle(ref, function () {
10853
+ return {
10854
+ dom: domRef.current
10855
+ };
10856
+ });
10857
+ React.useEffect(function () {
10858
+ var defaultContainer = selectWrapper.current;
10859
+ var container = getContainer ? getContainer() || defaultContainer : defaultContainer;
10860
+ setDefaultTop((container === null || container === void 0 ? void 0 : container.getBoundingClientRect().bottom) || 0);
10861
+ }, [getContainer, dropdownShown]);
10862
+
10863
+ var onCancel = props.onCancel || function () {
10864
+ return handleShowDropdownChange(false);
10879
10865
  };
10880
- });
10881
- React.useEffect(function () {
10882
- var _a;
10883
10866
 
10884
- setDefaultTop(((_a = getContainer()) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().bottom) || 0);
10885
- }, [getContainer, dropdownShown]);
10867
+ var dropdownCommonProps = __assign(__assign({
10868
+ showDropdown: dropdownShown,
10869
+ top: (extraForDropdown === null || extraForDropdown === void 0 ? void 0 : extraForDropdown.top) || defaultTop,
10870
+ onCancel: onCancel
10871
+ }, extraForDropdown || {}), {
10872
+ isStopTouchEl: isCurrentSelectEl
10873
+ });
10886
10874
 
10887
- var onCancel = props.onCancel || function () {
10888
- return handleShowDropdownChange(false);
10889
- };
10875
+ var renderSelectedLabel = function renderSelectedLabel(op, index) {
10876
+ if (props.multiple === true) {
10877
+ var multipleOp = op || [];
10878
+ return props.renderSelectLabel ? props.renderSelectLabel(multipleOp, index) : /*#__PURE__*/React__default["default"].createElement("div", {
10879
+ className: cls(prefixCls + "-select-item-label-text")
10880
+ }, multipleOp.map(function (item) {
10881
+ return item.label;
10882
+ }).join(','));
10883
+ }
10890
10884
 
10891
- var dropdownCommonProps = __assign(__assign({
10892
- showDropdown: dropdownShown,
10893
- top: (extraForDropdown === null || extraForDropdown === void 0 ? void 0 : extraForDropdown.top) || defaultTop,
10894
- onCancel: onCancel
10895
- }, extraForDropdown || {}), {
10896
- isStopTouchEl: isCurrentSelectEl
10897
- });
10885
+ var singleOp = op || [];
10886
+ return props.renderSelectLabel ? props.renderSelectLabel(singleOp, index) : /*#__PURE__*/React__default["default"].createElement("div", {
10887
+ className: cls(prefixCls + "-select-item-label-text")
10888
+ }, singleOp.label);
10889
+ };
10898
10890
 
10899
- return /*#__PURE__*/React__default["default"].createElement("div", {
10900
- ref: domRef,
10901
- className: cls(prefixCls + "-dropdown-menu all-border-box " + (dropdownShown ? 'show' : ''), className),
10902
- style: style
10903
- }, /*#__PURE__*/React__default["default"].createElement("div", {
10904
- className: cls(prefixCls + "-select"),
10905
- ref: selectWrapper
10906
- }, selectedOptions.map(function (op, index) {
10907
- var tip = selectTips[index] || '';
10908
10891
  return /*#__PURE__*/React__default["default"].createElement("div", {
10909
- className: cls(prefixCls + "-select-item", {
10910
- 'is-disabled': disabled[index],
10911
- 'is-selected': dropdownShown && selectedIndex === index
10892
+ ref: domRef,
10893
+ className: cls(prefixCls + "-dropdown-menu all-border-box", className, {
10894
+ show: dropdownShown
10912
10895
  }),
10913
- key: index,
10914
- "data-idx": index,
10915
- onClick: function onClick() {
10916
- return handleSelectClick(index);
10917
- }
10918
- }, tip.length > 0 && /*#__PURE__*/React__default["default"].createElement("span", {
10919
- className: cls(prefixCls + "-select-item-tip")
10920
- }, tip), /*#__PURE__*/React__default["default"].createElement("div", {
10921
- className: cls(prefixCls + "-select-item-label")
10922
- }, renderSelectLabel ? renderSelectLabel(op, index) : /*#__PURE__*/React__default["default"].createElement("div", {
10923
- className: cls(prefixCls + "-select-item-label-text")
10924
- }, op.label), icon === void 0 ? /*#__PURE__*/React__default["default"].createElement(IconTriDown, {
10925
- className: cls(prefixCls + "-select-item-icon", {
10926
- 'is-show': dropdownShown && selectedIndex === index
10927
- })
10928
- }) : icon));
10929
- }), props.multiple === true ? /*#__PURE__*/React__default["default"].createElement(Dropdown$1, __assign({
10930
- multiple: true,
10931
- options: formattedOptions[selectedIndex] || [],
10932
- selectedValue: currentValues[selectedIndex] || [],
10933
- onOptionClick: function onOptionClick(selected, val, op) {
10934
- var _a;
10896
+ style: style
10897
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
10898
+ className: cls(prefixCls + "-select"),
10899
+ ref: selectWrapper
10900
+ }, selectedOptions.map(function (op, index) {
10901
+ var tip = selectTips[index] || '';
10902
+ return /*#__PURE__*/React__default["default"].createElement("div", {
10903
+ className: cls(prefixCls + "-select-item", {
10904
+ 'is-disabled': disabled[index],
10905
+ 'is-selected': dropdownShown && selectedIndex === index
10906
+ }),
10907
+ key: index,
10908
+ "data-idx": index,
10909
+ onClick: function onClick() {
10910
+ return handleSelectClick(index);
10911
+ }
10912
+ }, tip.length > 0 && /*#__PURE__*/React__default["default"].createElement("span", {
10913
+ className: cls(prefixCls + "-select-item-tip")
10914
+ }, tip), /*#__PURE__*/React__default["default"].createElement("div", {
10915
+ className: cls(prefixCls + "-select-item-label")
10916
+ }, renderSelectedLabel(op, index), icon === void 0 ? /*#__PURE__*/React__default["default"].createElement(IconTriDown, {
10917
+ className: cls(prefixCls + "-select-item-icon", {
10918
+ 'is-show': dropdownShown && selectedIndex === index
10919
+ })
10920
+ }) : icon));
10921
+ }), props.multiple === true ? /*#__PURE__*/React__default["default"].createElement(Comp, __assign({}, __assign(__assign({
10922
+ multiple: true,
10923
+ options: formattedOptions[selectedIndex] || [],
10924
+ selectedValue: currentValues[selectedIndex] || [],
10925
+ onOptionClick: function onOptionClick(selected, val, op) {
10926
+ var _a;
10935
10927
 
10936
- (_a = props.onOptionClick) === null || _a === void 0 ? void 0 : _a.call(props, selected, val, op, selectedIndex);
10937
- },
10938
- onOptionChange: function onOptionChange(val, op) {
10939
- var _a;
10928
+ (_a = props.onOptionClick) === null || _a === void 0 ? void 0 : _a.call(props, selected, val, op, selectedIndex);
10929
+ },
10930
+ onOptionChange: function onOptionChange(val, op) {
10931
+ var _a;
10940
10932
 
10941
- (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, val, op, selectedIndex);
10942
- handleValuesChange(val);
10943
- }
10944
- }, dropdownCommonProps), children) : /*#__PURE__*/React__default["default"].createElement(Dropdown$1, __assign({
10945
- multiple: props.multiple,
10946
- options: formattedOptions[selectedIndex] || [],
10947
- selectedValue: currentValues[selectedIndex] || 0,
10948
- onOptionClick: function onOptionClick(val, op) {
10949
- var _a;
10933
+ (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, val, op, selectedIndex);
10934
+ handleValuesChange(val);
10935
+ }
10936
+ }, dropdownCommonProps), {
10937
+ children: children
10938
+ }))) : /*#__PURE__*/React__default["default"].createElement(Comp, __assign({}, __assign(__assign({
10939
+ multiple: props.multiple,
10940
+ options: formattedOptions[selectedIndex] || [],
10941
+ selectedValue: currentValues[selectedIndex] || 0,
10942
+ onOptionClick: function onOptionClick(val, op) {
10943
+ var _a;
10950
10944
 
10951
- (_a = props.onOptionClick) === null || _a === void 0 ? void 0 : _a.call(props, val, op, selectedIndex);
10945
+ (_a = props.onOptionClick) === null || _a === void 0 ? void 0 : _a.call(props, val, op, selectedIndex);
10952
10946
 
10953
- if (chooseAndClose) {
10954
- handleShowDropdownChange(false, selectedIndex);
10947
+ if (chooseAndClose) {
10948
+ handleShowDropdownChange(false, selectedIndex);
10949
+ }
10950
+ },
10951
+ onOptionChange: function onOptionChange(val, op) {
10952
+ var _a;
10953
+
10954
+ (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, val, op, selectedIndex);
10955
+ handleValuesChange(val);
10955
10956
  }
10956
- },
10957
- onOptionChange: function onOptionChange(val, op) {
10958
- var _a;
10957
+ }, dropdownCommonProps), {
10958
+ children: children
10959
+ })))));
10960
+ });
10961
+ }
10959
10962
 
10960
- (_a = props.onOptionChange) === null || _a === void 0 ? void 0 : _a.call(props, val, op, selectedIndex);
10961
- handleValuesChange(val);
10962
- }
10963
- }, dropdownCommonProps), children)));
10964
- });
10963
+ /**
10964
+ * 下拉选择组件,点击选择器(select)展开下拉框(dropdown),展示选择项(options),兼容多个选择器的情况。
10965
+ * @en Dropdown component, click the selector (select) to expand the dropdown box (dropdown), display the options (options), compatible with multiple selectors.
10966
+ * @type 导航
10967
+ * @type_en Navigation
10968
+ * @name 下拉选择菜单
10969
+ * @name_en DropdownMenu
10970
+ */
10971
+
10972
+ var DropdownMenu = componentGenerator$5(Dropdown$1);
10965
10973
 
10966
10974
  var isBrowser$1 = function isBrowser() {
10967
10975
  return typeof window !== 'undefined' && typeof document !== 'undefined';
@@ -12487,6 +12495,34 @@
12487
12495
  offset: offset,
12488
12496
  threshold: threshold
12489
12497
  }, true);
12498
+ },
12499
+
12500
+ /**
12501
+ * 重置元素初始可见态为false,并重新对元素可见度发起检测,优先级低于disabled(通常用在对ShowMonitor内部元素变化时发起的重新监听)
12502
+ * @en Reset the initial visible state of the element to false, and re-detect the visibility of the element, the priority is lower than 'disabled'(Usually used to re-listen when elements inside ShowMonitor change)
12503
+ */
12504
+ flushVisibleStatus: function flushVisibleStatus() {
12505
+ isVisible.current = false;
12506
+
12507
+ if (isSupportNativeApi && io.current && domRef.current) {
12508
+ disabled ? io.current.unobserve(domRef.current) : io.current.observe(domRef.current);
12509
+ } else if (listener.current) {
12510
+ var key = wrapperKey.current;
12511
+
12512
+ if (once && (onOnceEmittedListeners === null || onOnceEmittedListeners === void 0 ? void 0 : onOnceEmittedListeners[key])) {
12513
+ onOnceEmittedListeners[key] = onOnceEmittedListeners[key].filter(function (emitListener) {
12514
+ return emitListener !== listener.current;
12515
+ });
12516
+ }
12517
+
12518
+ if (!disabled && !listeners[key].find(function (_listener) {
12519
+ return _listener === listener.current;
12520
+ })) {
12521
+ listeners[key].push(listener.current);
12522
+ }
12523
+
12524
+ !disabled && _checkVisible(listener.current);
12525
+ }
12490
12526
  }
12491
12527
  };
12492
12528
  });
@@ -13090,7 +13126,7 @@
13090
13126
  var res = parseFiles.map(function (url, index) {
13091
13127
  return {
13092
13128
  url: url,
13093
- status: upload ? 'loading' : 'loaded',
13129
+ status: typeof upload === 'function' ? 'loading' : 'loaded',
13094
13130
  file: files[index]
13095
13131
  };
13096
13132
  });
@@ -13103,11 +13139,12 @@
13103
13139
  var propsImageLength_1 = images.length;
13104
13140
  files.forEach(function (_file, index) {
13105
13141
  upload(cacheRes[propsImageLength_1 + index]).then(function (data) {
13106
- cacheRes[propsImageLength_1 + index] = __assign(__assign({}, cacheRes[propsImageLength_1 + index]), data);
13142
+ cacheRes[propsImageLength_1 + index] = __assign(__assign(__assign({}, cacheRes[propsImageLength_1 + index]), data), {
13143
+ status: undefined
13144
+ });
13107
13145
  }).catch(function () {
13108
13146
  cacheRes[propsImageLength_1 + index].status = 'error';
13109
13147
  }).finally(function () {
13110
- cacheRes[propsImageLength_1 + index].status = 'loaded';
13111
13148
  onChange(__spreadArrays(cacheRes));
13112
13149
  });
13113
13150
  });
@@ -16964,8 +17001,10 @@
16964
17001
  customStyle = _k[0],
16965
17002
  setCustomStyle = _k[1];
16966
17003
 
17004
+ var system = useSystem();
17005
+
16967
17006
  var onElementScroll = function onElementScroll(curOffset) {
16968
- setScrollToggleHide(curOffset <= showOffset);
17007
+ setScrollToggleHide(curOffset < showOffset);
16969
17008
 
16970
17009
  if (getComputedStyleByScroll) {
16971
17010
  var cstyle = getComputedStyleByScroll(curOffset);
@@ -16991,6 +17030,7 @@
16991
17030
  React.useEffect(function () {
16992
17031
  var needBind = showOffset || getComputedStyleByScroll;
16993
17032
  var container = getValidScrollContainer(getScrollContainer);
17033
+ handleEleScroll();
16994
17034
 
16995
17035
  if (needBind && container) {
16996
17036
  container.addEventListener('scroll', handleEleScroll, false);
@@ -17038,7 +17078,7 @@
17038
17078
  background: relBackground
17039
17079
  } : {})
17040
17080
  }, /*#__PURE__*/React__default["default"].createElement("div", {
17041
- className: cls(className, prefixCls + "-nav-bar-wrapper", (_c = {}, _c[prefixCls + "-nav-bar-wrapper-fixed"] = fixed, _c[prefixCls + "-nav-bar-wrapper-border"] = hasBottomLine, _c)),
17081
+ className: cls(className, system, prefixCls + "-nav-bar-wrapper", (_c = {}, _c[prefixCls + "-nav-bar-wrapper-fixed"] = fixed, _c[prefixCls + "-nav-bar-wrapper-border"] = hasBottomLine, _c)),
17042
17082
  style: __assign({
17043
17083
  paddingTop: statusBarHeight ? statusBarHeight + "px" : ''
17044
17084
  }, customStyle)