@arco-design/mobile-react 2.30.10 → 2.31.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 (142) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/form/form-item.d.ts +3 -0
  5. package/cjs/form/form-item.js +38 -10
  6. package/cjs/form/style/css/index.css +13 -0
  7. package/cjs/form/style/index.less +18 -0
  8. package/cjs/icon/IconCheck/index.js +1 -2
  9. package/cjs/icon/IconDownload/index.d.ts +7 -0
  10. package/cjs/icon/IconDownload/index.js +41 -0
  11. package/cjs/icon/IconFile/index.d.ts +7 -0
  12. package/cjs/icon/IconFile/index.js +41 -0
  13. package/cjs/icon/IconKeyboard/index.js +1 -0
  14. package/cjs/icon/IconQuestionCircle/index.js +1 -2
  15. package/cjs/icon/IconUpload/index.js +6 -4
  16. package/cjs/icon/IconUserFill/index.js +1 -2
  17. package/cjs/icon/index.d.ts +3 -1
  18. package/cjs/icon/index.js +17 -7
  19. package/cjs/icon/type.d.ts +3 -1
  20. package/cjs/image-picker/index.js +15 -161
  21. package/cjs/image-picker/type.d.ts +4 -73
  22. package/cjs/index.d.ts +1 -0
  23. package/cjs/index.js +6 -2
  24. package/cjs/input/hooks.js +2 -2
  25. package/cjs/input/props.d.ts +2 -2
  26. package/cjs/picker/index.js +59 -19
  27. package/cjs/picker/type.d.ts +6 -1
  28. package/cjs/style.d.ts +1 -0
  29. package/cjs/style.js +3 -1
  30. package/cjs/tabs/tab-cell.js +1 -1
  31. package/cjs/uploader/index.d.ts +16 -0
  32. package/cjs/uploader/index.js +180 -0
  33. package/cjs/uploader/style/css/index.css +650 -0
  34. package/cjs/uploader/style/css/index.d.ts +4 -0
  35. package/cjs/uploader/style/css/index.js +9 -0
  36. package/cjs/uploader/style/index.d.ts +4 -0
  37. package/cjs/uploader/style/index.js +9 -0
  38. package/cjs/uploader/style/index.less +161 -0
  39. package/cjs/uploader/type.d.ts +108 -0
  40. package/cjs/uploader/type.js +3 -0
  41. package/cjs/uploader/upload/index.d.ts +2 -0
  42. package/cjs/uploader/upload/index.js +19 -0
  43. package/cjs/uploader/upload/type.d.ts +107 -0
  44. package/cjs/uploader/upload/type.js +3 -0
  45. package/cjs/uploader/upload/upload.d.ts +20 -0
  46. package/cjs/uploader/upload/upload.js +189 -0
  47. package/dist/index.js +580 -265
  48. package/dist/index.min.js +4 -4
  49. package/dist/style.css +593 -0
  50. package/dist/style.min.css +1 -1
  51. package/esm/form/form-item.d.ts +3 -0
  52. package/esm/form/form-item.js +36 -10
  53. package/esm/form/style/css/index.css +13 -0
  54. package/esm/form/style/index.less +18 -0
  55. package/esm/icon/IconCheck/index.js +1 -2
  56. package/esm/icon/IconDownload/index.d.ts +7 -0
  57. package/esm/icon/IconDownload/index.js +30 -0
  58. package/esm/icon/IconFile/index.d.ts +7 -0
  59. package/esm/icon/IconFile/index.js +30 -0
  60. package/esm/icon/IconKeyboard/index.js +1 -0
  61. package/esm/icon/IconQuestionCircle/index.js +1 -2
  62. package/esm/icon/IconUpload/index.js +6 -4
  63. package/esm/icon/IconUserFill/index.js +1 -2
  64. package/esm/icon/index.d.ts +3 -1
  65. package/esm/icon/index.js +3 -1
  66. package/esm/icon/type.d.ts +3 -1
  67. package/esm/image-picker/index.js +14 -160
  68. package/esm/image-picker/type.d.ts +4 -73
  69. package/esm/index.d.ts +1 -0
  70. package/esm/index.js +2 -1
  71. package/esm/input/hooks.js +2 -2
  72. package/esm/input/props.d.ts +2 -2
  73. package/esm/picker/index.js +60 -20
  74. package/esm/picker/type.d.ts +6 -1
  75. package/esm/style.d.ts +1 -0
  76. package/esm/style.js +2 -1
  77. package/esm/tabs/tab-cell.js +2 -2
  78. package/esm/uploader/index.d.ts +16 -0
  79. package/esm/uploader/index.js +150 -0
  80. package/esm/uploader/style/css/index.css +650 -0
  81. package/esm/uploader/style/css/index.d.ts +4 -0
  82. package/esm/uploader/style/css/index.js +4 -0
  83. package/esm/uploader/style/index.d.ts +4 -0
  84. package/esm/uploader/style/index.js +4 -0
  85. package/esm/uploader/style/index.less +161 -0
  86. package/esm/uploader/type.d.ts +108 -0
  87. package/esm/uploader/type.js +1 -0
  88. package/esm/uploader/upload/index.d.ts +2 -0
  89. package/esm/uploader/upload/index.js +2 -0
  90. package/esm/uploader/upload/type.d.ts +107 -0
  91. package/esm/uploader/upload/type.js +1 -0
  92. package/esm/uploader/upload/upload.d.ts +20 -0
  93. package/esm/uploader/upload/upload.js +175 -0
  94. package/package.json +3 -3
  95. package/tokens/app/arcodesign/default/css-variables.less +27 -0
  96. package/tokens/app/arcodesign/default/index.d.ts +27 -0
  97. package/tokens/app/arcodesign/default/index.js +28 -1
  98. package/tokens/app/arcodesign/default/index.json +292 -0
  99. package/tokens/app/arcodesign/default/index.less +27 -0
  100. package/umd/form/form-item.d.ts +3 -0
  101. package/umd/form/form-item.js +38 -10
  102. package/umd/form/style/css/index.css +13 -0
  103. package/umd/form/style/index.less +18 -0
  104. package/umd/icon/IconCheck/index.js +1 -2
  105. package/umd/icon/IconDownload/index.d.ts +7 -0
  106. package/umd/icon/IconDownload/index.js +49 -0
  107. package/umd/icon/IconFile/index.d.ts +7 -0
  108. package/umd/icon/IconFile/index.js +49 -0
  109. package/umd/icon/IconKeyboard/index.js +1 -0
  110. package/umd/icon/IconQuestionCircle/index.js +1 -2
  111. package/umd/icon/IconUpload/index.js +6 -4
  112. package/umd/icon/IconUserFill/index.js +1 -2
  113. package/umd/icon/index.d.ts +3 -1
  114. package/umd/icon/index.js +15 -9
  115. package/umd/icon/type.d.ts +3 -1
  116. package/umd/image-picker/index.js +17 -163
  117. package/umd/image-picker/type.d.ts +4 -73
  118. package/umd/index.d.ts +1 -0
  119. package/umd/index.js +7 -5
  120. package/umd/input/hooks.js +2 -2
  121. package/umd/input/props.d.ts +2 -2
  122. package/umd/picker/index.js +59 -19
  123. package/umd/picker/type.d.ts +6 -1
  124. package/umd/style.d.ts +1 -0
  125. package/umd/style.js +4 -4
  126. package/umd/tabs/tab-cell.js +1 -1
  127. package/umd/uploader/index.d.ts +16 -0
  128. package/umd/uploader/index.js +178 -0
  129. package/umd/uploader/style/css/index.css +650 -0
  130. package/umd/uploader/style/css/index.d.ts +4 -0
  131. package/umd/uploader/style/css/index.js +15 -0
  132. package/umd/uploader/style/index.d.ts +4 -0
  133. package/umd/uploader/style/index.js +15 -0
  134. package/umd/uploader/style/index.less +161 -0
  135. package/umd/uploader/type.d.ts +108 -0
  136. package/umd/uploader/type.js +17 -0
  137. package/umd/uploader/upload/index.d.ts +2 -0
  138. package/umd/uploader/upload/index.js +27 -0
  139. package/umd/uploader/upload/type.d.ts +107 -0
  140. package/umd/uploader/upload/type.js +17 -0
  141. package/umd/uploader/upload/upload.d.ts +20 -0
  142. package/umd/uploader/upload/upload.js +200 -0
package/dist/index.js CHANGED
@@ -1715,10 +1715,15 @@
1715
1715
  },
1716
1716
  boolean: {
1717
1717
  equal: '%s 不等于 `%s`'
1718
- }
1718
+ },
1719
+ pickerDefaultHint: '请选择'
1719
1720
  },
1720
1721
  NavBar: {
1721
1722
  backBtnAriaLabel: '返回'
1723
+ },
1724
+ Uploader: {
1725
+ uploadBtn: '点击上传',
1726
+ retryUpload: '点击重试'
1722
1727
  }
1723
1728
  };
1724
1729
 
@@ -5189,7 +5194,7 @@
5189
5194
  React.useEffect(function () {
5190
5195
  updateScrollPosition();
5191
5196
  }, [activeIndex, wrapSize]);
5192
- React.useEffect(function () {
5197
+ useUpdateEffect(function () {
5193
5198
  var _a;
5194
5199
 
5195
5200
  setCellOverflow();
@@ -7148,6 +7153,30 @@
7148
7153
  });
7149
7154
  }
7150
7155
 
7156
+ function IconDelete(props) {
7157
+ var _a = props.className,
7158
+ className = _a === void 0 ? '' : _a,
7159
+ _b = props.useCurrentColor,
7160
+ useCurrentColor = _b === void 0 ? true : _b,
7161
+ style = props.style,
7162
+ other = __rest$1(props, ["className", "useCurrentColor", "style"]);
7163
+
7164
+ return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
7165
+ var prefixCls = _a.prefixCls;
7166
+ return /*#__PURE__*/React__default["default"].createElement("svg", __assign$3({
7167
+ className: prefixCls + "-icon " + prefixCls + "-icon-delete " + className,
7168
+ width: "1em",
7169
+ height: "1em",
7170
+ style: style,
7171
+ viewBox: "0 0 1024 1024",
7172
+ xmlns: "http://www.w3.org/2000/svg"
7173
+ }, other), /*#__PURE__*/React__default["default"].createElement("path", {
7174
+ fill: useCurrentColor ? 'currentColor' : '#000',
7175
+ d: "M640 85.333A42.667 42.667 0 01682.667 128l-.022 42.645 228.694.022c9.493 0 12.928.981 16.426 2.858a19.41 19.41 0 018.043 8.064c1.877 3.478 2.859 6.912 2.859 16.427v30.635c0 9.514-.982 12.949-2.859 16.426a19.392 19.392 0 01-8.064 8.064c-3.477 1.878-6.912 2.859-16.427 2.859l-57.984-.021V896a42.667 42.667 0 01-42.666 42.667H213.333A42.667 42.667 0 01170.667 896l-.022-640.021-57.962.021c-9.515 0-12.95-.981-16.427-2.859a19.392 19.392 0 01-8.064-8.064c-1.877-3.477-2.859-6.912-2.859-16.426v-30.635c0-9.515.982-12.95 2.859-16.427a19.392 19.392 0 018.064-8.064c3.477-1.877 6.912-2.858 16.427-2.858l228.629-.022.021-42.645A42.667 42.667 0 01384 85.333h256zM768 256H256v597.333h512V256zM448 384a21.333 21.333 0 0121.333 21.333V704A21.333 21.333 0 01448 725.333h-42.667A21.333 21.333 0 01384 704V405.333A21.333 21.333 0 01405.333 384H448zm170.667 0A21.333 21.333 0 01640 405.333V704a21.333 21.333 0 01-21.333 21.333H576A21.333 21.333 0 01554.667 704V405.333A21.333 21.333 0 01576 384h42.667z"
7176
+ }));
7177
+ });
7178
+ }
7179
+
7151
7180
  function IconStarFill(props) {
7152
7181
  var _a = props.className,
7153
7182
  className = _a === void 0 ? '' : _a,
@@ -7217,8 +7246,7 @@
7217
7246
  }, other), /*#__PURE__*/React__default["default"].createElement("path", {
7218
7247
  fillRule: "evenodd",
7219
7248
  clipRule: "evenodd",
7220
- d: "M16.702 4.47a.5.5 0 00-.705.06L8.33 13.596 3.82 9.724a.5.5 0 00-.705.054l-.652.758a.5.5 0 00.054.706L7.361 15.4a.5.5 0 00.054.053l.526.445.22.188a.5.5 0 00.722-.047l8.641-10.218a.5.5 0 00-.059-.705l-.763-.645z",
7221
- fill: useCurrentColor ? 'currentColor' : '#000'
7249
+ d: "M16.702 4.47a.5.5 0 00-.705.06L8.33 13.596 3.82 9.724a.5.5 0 00-.705.054l-.652.758a.5.5 0 00.054.706L7.361 15.4a.5.5 0 00.054.053l.526.445.22.188a.5.5 0 00.722-.047l8.641-10.218a.5.5 0 00-.059-.705l-.763-.645z"
7222
7250
  }));
7223
7251
  });
7224
7252
  }
@@ -7338,8 +7366,7 @@
7338
7366
  fill: useCurrentColor ? 'currentColor' : '#000',
7339
7367
  xmlns: "http://www.w3.org/2000/svg"
7340
7368
  }, other), /*#__PURE__*/React__default["default"].createElement("path", {
7341
- d: "M12.5 10.833c2.301 0 5 1.786 5 5v2.5c0 .46-.373.834-.833.834H3.333a.833.833 0 01-.833-.834v-2.5c0-3.211 2.699-5 5-5h5zM10 1.25a4.167 4.167 0 110 8.333 4.167 4.167 0 010-8.333z",
7342
- fill: useCurrentColor ? 'currentColor' : '#000'
7369
+ d: "M12.5 10.833c2.301 0 5 1.786 5 5v2.5c0 .46-.373.834-.833.834H3.333a.833.833 0 01-.833-.834v-2.5c0-3.211 2.699-5 5-5h5zM10 1.25a4.167 4.167 0 110 8.333 4.167 4.167 0 010-8.333z"
7343
7370
  }));
7344
7371
  });
7345
7372
  }
@@ -7542,6 +7569,7 @@
7542
7569
  height: "1em",
7543
7570
  style: style,
7544
7571
  version: "1.1",
7572
+ id: "svg_388a56dbb6__\u56FE\u5C42_1",
7545
7573
  xmlns: "http://www.w3.org/2000/svg",
7546
7574
  x: "0",
7547
7575
  y: "0",
@@ -7588,6 +7616,58 @@
7588
7616
  });
7589
7617
  }
7590
7618
 
7619
+ function IconFile(props) {
7620
+ var _a = props.className,
7621
+ className = _a === void 0 ? '' : _a,
7622
+ _b = props.useCurrentColor,
7623
+ useCurrentColor = _b === void 0 ? true : _b,
7624
+ style = props.style,
7625
+ other = __rest$1(props, ["className", "useCurrentColor", "style"]);
7626
+
7627
+ return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
7628
+ var prefixCls = _a.prefixCls;
7629
+ return /*#__PURE__*/React__default["default"].createElement("svg", __assign$3({
7630
+ className: prefixCls + "-icon " + prefixCls + "-icon-file " + className,
7631
+ width: "1em",
7632
+ height: "1em",
7633
+ style: style,
7634
+ fill: useCurrentColor ? 'currentColor' : '#000',
7635
+ xmlns: "http://www.w3.org/2000/svg",
7636
+ viewBox: "0 0 16 16"
7637
+ }, other), /*#__PURE__*/React__default["default"].createElement("path", {
7638
+ d: "M2.3,2.7c0-0.7,0.6-1.3,1.3-1.3h7.3l2.7,2.7v9.3c0,0.7-0.6,1.3-1.3,1.3H3.7c-0.7,0-1.3-0.6-1.3-1.3\tV2.7z M10.4,2.7H3.7v10.7h8.7V4.6L10.4,2.7z M10.7,7.7H5.3V6.3h5.3V7.7z M8.7,10.3H5.3V9h3.3V10.3z",
7639
+ fillRule: "evenodd",
7640
+ clipRule: "evenodd"
7641
+ }));
7642
+ });
7643
+ }
7644
+
7645
+ function IconUpload(props) {
7646
+ var _a = props.className,
7647
+ className = _a === void 0 ? '' : _a,
7648
+ _b = props.useCurrentColor,
7649
+ useCurrentColor = _b === void 0 ? true : _b,
7650
+ style = props.style,
7651
+ other = __rest$1(props, ["className", "useCurrentColor", "style"]);
7652
+
7653
+ return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
7654
+ var prefixCls = _a.prefixCls;
7655
+ return /*#__PURE__*/React__default["default"].createElement("svg", __assign$3({
7656
+ className: prefixCls + "-icon " + prefixCls + "-icon-upload " + className,
7657
+ width: "1em",
7658
+ height: "1em",
7659
+ style: style,
7660
+ fill: useCurrentColor ? 'currentColor' : '#000',
7661
+ xmlns: "http://www.w3.org/2000/svg",
7662
+ viewBox: "0 0 14 14"
7663
+ }, other), /*#__PURE__*/React__default["default"].createElement("path", {
7664
+ d: "M7,1.5l3.1,3.1L9.2,5.4L7.6,3.7v5.9H6.4V3.7L4.8,5.4L3.9,4.6L7,1.5z M2.9,11.4v-1.2H1.8v2.3h10.5\tv-2.3h-1.2v1.2H2.9z",
7665
+ fillRule: "evenodd",
7666
+ clipRule: "evenodd"
7667
+ }));
7668
+ });
7669
+ }
7670
+
7591
7671
  var Step = /*#__PURE__*/React.forwardRef(function (props, ref) {
7592
7672
  var title = props.title,
7593
7673
  description = props.description,
@@ -7753,7 +7833,7 @@
7753
7833
  * @type_en Data Display
7754
7834
  */
7755
7835
 
7756
- var index$p = componentWrapper(Steps, {
7836
+ var index$q = componentWrapper(Steps, {
7757
7837
  Step: Step
7758
7838
  });
7759
7839
 
@@ -9082,7 +9162,7 @@
9082
9162
  * @name_en ActionSheet
9083
9163
  */
9084
9164
 
9085
- var index$o = componentWrapper(ActionSheet, methodsGenerator$5(ActionSheetWithGlobalContext));
9165
+ var index$p = componentWrapper(ActionSheet, methodsGenerator$5(ActionSheetWithGlobalContext));
9086
9166
 
9087
9167
  /**
9088
9168
  * 加载中组件,分为四种类型,`circle`为环形,`arc`为弧线,`spin`为旋转,`dot`为圆点。所有类型均可定制颜色,环形和弧线类型可定制线圈半径及粗细,旋转和圆点类型可定制内部元素透明度。
@@ -9867,7 +9947,7 @@
9867
9947
  * @name_en Avatar
9868
9948
  */
9869
9949
 
9870
- var index$n = componentWrapper(Avatar, {
9950
+ var index$o = componentWrapper(Avatar, {
9871
9951
  Group: Group$4
9872
9952
  });
9873
9953
 
@@ -11285,7 +11365,7 @@
11285
11365
  * @name_en Cell
11286
11366
  */
11287
11367
 
11288
- var index$m = componentWrapper(Cell, {
11368
+ var index$n = componentWrapper(Cell, {
11289
11369
  Group: Group$3
11290
11370
  });
11291
11371
 
@@ -12094,7 +12174,7 @@
12094
12174
  * @name_en Collapse
12095
12175
  */
12096
12176
 
12097
- var index$l = componentWrapper(Collapse, {
12177
+ var index$m = componentWrapper(Collapse, {
12098
12178
  Group: Group$1
12099
12179
  });
12100
12180
 
@@ -13321,26 +13401,40 @@
13321
13401
  hideEmptyCols = _f === void 0 ? false : _f,
13322
13402
  _g = props.title,
13323
13403
  title = _g === void 0 ? '' : _g,
13324
- _h = props.visible,
13325
- visible = _h === void 0 ? false : _h,
13404
+ userSetVisible = props.visible,
13326
13405
  value = props.value,
13327
- _j = props.needBottomOffset,
13328
- needBottomOffset = _j === void 0 ? false : _j,
13406
+ _h = props.needBottomOffset,
13407
+ needBottomOffset = _h === void 0 ? false : _h,
13329
13408
  onDismiss = props.onDismiss,
13330
13409
  onOk = props.onOk,
13331
13410
  onChange = props.onChange,
13332
- _k = props.maskClosable,
13333
- maskClosable = _k === void 0 ? false : _k,
13411
+ _j = props.maskClosable,
13412
+ maskClosable = _j === void 0 ? false : _j,
13334
13413
  onHide = props.onHide,
13335
13414
  onPickerChange = props.onPickerChange,
13336
13415
  touchToStop = props.touchToStop,
13337
- _l = props.gestureOutOfControl,
13338
- gestureOutOfControl = _l === void 0 ? true : _l,
13339
- otherProps = __rest$1(props, ["className", "itemStyle", "cascade", "cols", "rows", "data", "okText", "dismissText", "disabled", "clickable", "hideEmptyCols", "title", "visible", "value", "needBottomOffset", "onDismiss", "onOk", "onChange", "maskClosable", "onHide", "onPickerChange", "touchToStop", "gestureOutOfControl"]);
13416
+ _k = props.gestureOutOfControl,
13417
+ gestureOutOfControl = _k === void 0 ? true : _k,
13418
+ renderLinkedContainer = props.renderLinkedContainer,
13419
+ otherProps = __rest$1(props, ["className", "itemStyle", "cascade", "cols", "rows", "data", "okText", "dismissText", "disabled", "clickable", "hideEmptyCols", "title", "visible", "value", "needBottomOffset", "onDismiss", "onOk", "onChange", "maskClosable", "onHide", "onPickerChange", "touchToStop", "gestureOutOfControl", "renderLinkedContainer"]);
13340
13420
 
13341
13421
  var scrollValueRef = useLatestRef(value);
13342
13422
  var domRef = React.useRef(null);
13343
13423
  var pickerViewRef = React.useRef(null);
13424
+
13425
+ var _l = React.useState(false),
13426
+ linkVisible = _l[0],
13427
+ setLinkVisible = _l[1];
13428
+
13429
+ var _m = React.useState(function () {
13430
+ return getCurrentValueData();
13431
+ }),
13432
+ linkArgs = _m[0],
13433
+ setLinkArgs = _m[1]; // 来自linkedContainer的visible变化,优先级高于受控值
13434
+ // @en Visible changes from linkedContainer which have priority over controlled values
13435
+
13436
+
13437
+ var visible = linkVisible || userSetVisible || false;
13344
13438
  React.useImperativeHandle(ref, function () {
13345
13439
  return {
13346
13440
  dom: domRef.current,
@@ -13371,26 +13465,49 @@
13371
13465
  }
13372
13466
  };
13373
13467
  });
13468
+ React.useEffect(function () {
13469
+ nextTick(function () {
13470
+ setLinkArgs(getCurrentValueData());
13471
+ });
13472
+ }, []);
13473
+
13474
+ function hidePicker(scene) {
13475
+ setLinkVisible(false);
13476
+ onHide === null || onHide === void 0 ? void 0 : onHide(scene);
13477
+ }
13374
13478
 
13375
13479
  function handleDismiss() {
13376
13480
  if (onDismiss) {
13377
13481
  onDismiss();
13378
13482
  }
13379
13483
 
13380
- if (onHide) {
13381
- onHide('dismiss');
13382
- }
13484
+ hidePicker('dismiss');
13383
13485
  }
13384
13486
 
13385
- var handleConfirm = function handleConfirm() {
13487
+ function getCurrentValueData() {
13488
+ var _a, _b;
13489
+
13490
+ var val = ((_a = pickerViewRef.current) === null || _a === void 0 ? void 0 : _a.getAllColumnValues()) || scrollValueRef.current || [];
13491
+ var selectedData = ((_b = pickerViewRef.current) === null || _b === void 0 ? void 0 : _b.getAllColumnData()) || [];
13492
+ return {
13493
+ value: val,
13494
+ data: selectedData
13495
+ };
13496
+ }
13497
+
13498
+ function handleConfirm() {
13386
13499
  var _a;
13387
13500
 
13388
13501
  (_a = pickerViewRef.current) === null || _a === void 0 ? void 0 : _a.scrollToCurrentIndex();
13389
13502
  nextTick(function () {
13390
- var _a, _b;
13503
+ var _a = getCurrentValueData(),
13504
+ val = _a.value,
13505
+ selectedData = _a.data;
13391
13506
 
13392
- var val = ((_a = pickerViewRef.current) === null || _a === void 0 ? void 0 : _a.getAllColumnValues()) || scrollValueRef.current || [];
13393
- var selectedData = ((_b = pickerViewRef.current) === null || _b === void 0 ? void 0 : _b.getAllColumnData()) || [];
13507
+ setLinkArgs({
13508
+ value: val,
13509
+ data: selectedData
13510
+ });
13394
13511
 
13395
13512
  if (onOk) {
13396
13513
  onOk(val, selectedData);
@@ -13400,11 +13517,9 @@
13400
13517
  onChange(val);
13401
13518
  }
13402
13519
 
13403
- if (onHide) {
13404
- onHide('confirm');
13405
- }
13520
+ hidePicker('confirm');
13406
13521
  });
13407
- };
13522
+ }
13408
13523
 
13409
13524
  useListenResize(updateLayoutByVisible, [visible]); // 每次visible从false变为true时需要重新设置scrollValue的值为当前value的值(初始值)
13410
13525
 
@@ -13420,11 +13535,16 @@
13420
13535
  return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
13421
13536
  var prefixCls = _a.prefixCls,
13422
13537
  locale = _a.locale;
13423
- return /*#__PURE__*/React__default["default"].createElement(Popup$1, __assign$3({
13538
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, renderLinkedContainer ? /*#__PURE__*/React__default["default"].createElement("div", {
13539
+ className: prefixCls + "-picker-linked-container",
13540
+ onClick: function onClick() {
13541
+ return setLinkVisible(true);
13542
+ }
13543
+ }, renderLinkedContainer(linkArgs.value, linkArgs.data)) : null, /*#__PURE__*/React__default["default"].createElement(Popup$1, __assign$3({
13424
13544
  visible: visible,
13425
13545
  className: cls(className, prefixCls + "-picker all-border-box"),
13426
13546
  close: function close() {
13427
- return onHide === null || onHide === void 0 ? void 0 : onHide('mask');
13547
+ return hidePicker('mask');
13428
13548
  },
13429
13549
  direction: "bottom",
13430
13550
  maskClosable: maskClosable,
@@ -13456,7 +13576,7 @@
13456
13576
  clickable: clickable,
13457
13577
  hideEmptyCols: hideEmptyCols,
13458
13578
  touchToStop: touchToStop
13459
- })));
13579
+ }))));
13460
13580
  });
13461
13581
  });
13462
13582
  /**
@@ -13842,7 +13962,7 @@
13842
13962
  * @displayName DatePicker
13843
13963
  */
13844
13964
 
13845
- var index$k = componentWrapper(DatePicker, 'DatePicker');
13965
+ var index$l = componentWrapper(DatePicker, 'DatePicker');
13846
13966
 
13847
13967
  function normalizeAlert(config) {
13848
13968
  var _a = config || {},
@@ -14040,7 +14160,7 @@
14040
14160
  * @name_en Dialog
14041
14161
  */
14042
14162
 
14043
- var index$j = componentWrapper(Dialog, methodsGenerator$4(DialogWithGlobalContext));
14163
+ var index$k = componentWrapper(Dialog, methodsGenerator$4(DialogWithGlobalContext));
14044
14164
 
14045
14165
  /**
14046
14166
  * 划分内容的装饰线
@@ -15801,7 +15921,7 @@
15801
15921
  };
15802
15922
  });
15803
15923
 
15804
- var index$i = (function () {
15924
+ var index$j = (function () {
15805
15925
  // Export existing implementation if available.
15806
15926
  if (typeof global$1.ResizeObserver !== 'undefined') {
15807
15927
  return global$1.ResizeObserver;
@@ -16038,7 +16158,7 @@
16038
16158
  React.useEffect(function () {
16039
16159
  if (domRef.current && reflowOnResize) {
16040
16160
  if (!observerRef.current && ellipsis) {
16041
- observerRef.current = new index$i(reflow);
16161
+ observerRef.current = new index$j(reflow);
16042
16162
  observerRef.current.observe(domRef.current);
16043
16163
  }
16044
16164
  }
@@ -16543,6 +16663,21 @@
16543
16663
  };
16544
16664
  };
16545
16665
 
16666
+ function DefaultPickerLinkedContainer(_a) {
16667
+ var value = _a.value;
16668
+
16669
+ var _b = React.useContext(GlobalContext),
16670
+ prefixCls = _b.prefixCls,
16671
+ locale = _b.locale;
16672
+
16673
+ var className = prefixCls + "-form-picker-link-container";
16674
+ return /*#__PURE__*/React__default["default"].createElement("div", {
16675
+ className: className
16676
+ }, value && value.length ? value.join('-') : /*#__PURE__*/React__default["default"].createElement("span", {
16677
+ className: className + "-placeholder"
16678
+ }, locale === null || locale === void 0 ? void 0 : locale.Form.pickerDefaultHint));
16679
+ }
16680
+
16546
16681
  var FormItemInner =
16547
16682
  /** @class */
16548
16683
  function (_super) {
@@ -16723,16 +16858,16 @@
16723
16858
 
16724
16859
  var _this = this;
16725
16860
 
16726
- var _b;
16861
+ var _b, _c, _d;
16727
16862
 
16728
- var _c = this.props,
16729
- children = _c.children,
16730
- field = _c.field,
16731
- _d = _c.trigger,
16732
- trigger = _d === void 0 ? 'onChange' : _d,
16733
- _e = _c.triggerPropsField,
16734
- triggerPropsField = _e === void 0 ? 'value' : _e,
16735
- displayType = _c.displayType;
16863
+ var _e = this.props,
16864
+ children = _e.children,
16865
+ field = _e.field,
16866
+ _f = _e.trigger,
16867
+ trigger = _f === void 0 ? 'onChange' : _f,
16868
+ _g = _e.triggerPropsField,
16869
+ triggerPropsField = _g === void 0 ? 'value' : _g,
16870
+ displayType = _e.displayType;
16736
16871
  var getFieldValue = this.context.form.getFieldValue;
16737
16872
  var props = (_a = {}, _a[triggerPropsField] = getFieldValue(field), _a.disabled = this.props.disabled, _a);
16738
16873
  var childrenType = displayType || ((_b = children.type) === null || _b === void 0 ? void 0 : _b.displayName);
@@ -16763,16 +16898,26 @@
16763
16898
  case FormInternalComponentType.DatePicker:
16764
16899
  props = {
16765
16900
  currentTs: getFieldValue(field),
16766
- onChange: this.innerTriggerFunction,
16767
- disabled: this.props.disabled
16901
+ onChange: this.innerTriggerFunctionWithValueFirst,
16902
+ disabled: this.props.disabled,
16903
+ renderLinkedContainer: ((_c = children.props) === null || _c === void 0 ? void 0 : _c.renderLinkedContainer) || function (val) {
16904
+ return /*#__PURE__*/React__default["default"].createElement(DefaultPickerLinkedContainer, {
16905
+ value: val
16906
+ });
16907
+ }
16768
16908
  };
16769
16909
  break;
16770
16910
 
16771
16911
  case FormInternalComponentType.Picker:
16772
16912
  props = {
16773
- data: getFieldValue(field),
16774
- onPickerChange: this.innerTriggerFunction,
16775
- disabled: this.props.disabled
16913
+ value: getFieldValue(field),
16914
+ onChange: this.innerTriggerFunctionWithValueFirst,
16915
+ disabled: this.props.disabled,
16916
+ renderLinkedContainer: ((_d = children.props) === null || _d === void 0 ? void 0 : _d.renderLinkedContainer) || function (val) {
16917
+ return /*#__PURE__*/React__default["default"].createElement(DefaultPickerLinkedContainer, {
16918
+ value: val
16919
+ });
16920
+ }
16776
16921
  };
16777
16922
  break;
16778
16923
 
@@ -16980,7 +17125,7 @@
16980
17125
  * @name_en Form
16981
17126
  */
16982
17127
 
16983
- var index$h = componentWrapper(Form, {
17128
+ var index$i = componentWrapper(Form, {
16984
17129
  Item: Item$1
16985
17130
  });
16986
17131
 
@@ -17114,6 +17259,20 @@
17114
17259
  return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, renderEl);
17115
17260
  });
17116
17261
 
17262
+ function AddIcon() {
17263
+ return /*#__PURE__*/React__default["default"].createElement("svg", {
17264
+ width: "30",
17265
+ height: "30",
17266
+ viewBox: "0 0 30 30",
17267
+ fill: "none"
17268
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
17269
+ fillRule: "evenodd",
17270
+ clipRule: "evenodd",
17271
+ d: "M14.5 0C14.2239 0 14 0.223857 14 0.5V14H0.5C0.223858 14 0 14.2239 0 14.5V15.5C0 15.7761 0.223857 16 0.5 16H14V29.5C14 29.7761 14.2239 30 14.5 30H15.5C15.7761 30 16 29.7761 16 29.5V16H29.5C29.7761 16 30 15.7761 30 15.5V14.5C30 14.2239 29.7761 14 29.5 14H16V0.5C16 0.223858 15.7761 0 15.5 0H14.5Z",
17272
+ fill: "#C9CDD4"
17273
+ }));
17274
+ }
17275
+
17117
17276
  var es6Promise = createCommonjsModule(function (module, exports) {
17118
17277
  /*!
17119
17278
  * @overview es6-promise - a tiny implementation of Promises/A+.
@@ -18286,19 +18445,178 @@
18286
18445
 
18287
18446
  });
18288
18447
 
18289
- function AddIcon() {
18290
- return /*#__PURE__*/React__default["default"].createElement("svg", {
18291
- width: "30",
18292
- height: "30",
18293
- viewBox: "0 0 30 30",
18294
- fill: "none"
18295
- }, /*#__PURE__*/React__default["default"].createElement("path", {
18296
- fillRule: "evenodd",
18297
- clipRule: "evenodd",
18298
- d: "M14.5 0C14.2239 0 14 0.223857 14 0.5V14H0.5C0.223858 14 0 14.2239 0 14.5V15.5C0 15.7761 0.223857 16 0.5 16H14V29.5C14 29.7761 14.2239 30 14.5 30H15.5C15.7761 30 16 29.7761 16 29.5V16H29.5C29.7761 16 30 15.7761 30 15.5V14.5C30 14.2239 29.7761 14 29.5 14H16V0.5C16 0.223858 15.7761 0 15.5 0H14.5Z",
18299
- fill: "#C9CDD4"
18300
- }));
18301
- }
18448
+ var Upload =
18449
+ /** @class */
18450
+ function () {
18451
+ function Upload(props, fileRef, cacheRef) {
18452
+ var _this = this; // 解析文件生成预览
18453
+
18454
+
18455
+ this.handleFile = function (newFiles) {
18456
+ es6Promise.Promise.all(newFiles.map(function (file) {
18457
+ return parseFile(file);
18458
+ })).then(function (parseFiles) {
18459
+ var res = parseFiles.map(function (url, index) {
18460
+ return {
18461
+ url: url,
18462
+ status: typeof _this.props.upload === 'function' ? 'loading' : 'loaded',
18463
+ file: newFiles[index]
18464
+ };
18465
+ });
18466
+ _this.cacheRef.current = __spreadArrays$1(_this.cacheRef.current, res);
18467
+
18468
+ _this.props.onChange(__spreadArrays$1(_this.cacheRef.current)); // 执行upload
18469
+
18470
+
18471
+ if (typeof _this.props.upload === 'function') {
18472
+ newFiles.forEach(function (_file) {
18473
+ _this.props.upload(_this.cacheRef.current.find(function (_a) {
18474
+ var file = _a.file;
18475
+ return file === _file;
18476
+ })).then(function (data) {
18477
+ var index = _this.cacheRef.current.findIndex(function (_a) {
18478
+ var file = _a.file;
18479
+ return file === _file;
18480
+ });
18481
+
18482
+ if (index !== -1) {
18483
+ _this.cacheRef.current[index] = __assign$3(__assign$3(__assign$3({}, _this.cacheRef.current[index]), data), {
18484
+ status: 'loaded'
18485
+ });
18486
+ }
18487
+ }).catch(function () {
18488
+ var index = _this.cacheRef.current.findIndex(function (_a) {
18489
+ var file = _a.file;
18490
+ return file === _file;
18491
+ });
18492
+
18493
+ if (index !== -1) {
18494
+ _this.cacheRef.current[index].status = 'error';
18495
+ }
18496
+ }).finally(function () {
18497
+ _this.props.onChange(__spreadArrays$1(_this.cacheRef.current));
18498
+ });
18499
+ });
18500
+ }
18501
+ });
18502
+ };
18503
+
18504
+ this.handleChange = function (event, fromAdapter) {
18505
+ var newFiles = Array.prototype.filter.call(event.target.files || [], function (file) {
18506
+ // 过滤maxSize
18507
+ if (_this.props.maxSize && file.size > _this.props.maxSize * 1024) {
18508
+ _this.props.onMaxSizeExceed && _this.props.onMaxSizeExceed(file);
18509
+ return false;
18510
+ }
18511
+
18512
+ return true;
18513
+ }) || [];
18514
+
18515
+ if (!fromAdapter) {
18516
+ event.target.value = '';
18517
+ } // 截断limit
18518
+
18519
+
18520
+ if (_this.props.limit !== 0 && newFiles.length + _this.props.files.length > _this.props.limit) {
18521
+ _this.props.onLimitExceed && _this.props.onLimitExceed(newFiles);
18522
+ newFiles.length = _this.props.limit - _this.props.files.length;
18523
+ }
18524
+
18525
+ _this.handleFile(newFiles);
18526
+ };
18527
+
18528
+ this.deleteFile = function (index) {
18529
+ _this.props.onDeleteClick && _this.props.onDeleteClick(index);
18530
+
18531
+ _this.props.onChange(_this.props.files.filter(function (_i, j) {
18532
+ return j !== index;
18533
+ }));
18534
+ }; // 重新上传
18535
+
18536
+
18537
+ this.retryUpload = function (index) {
18538
+ _this.deleteFile(index);
18539
+
18540
+ _this.handleFile([_this.props.files[index].file]);
18541
+ };
18542
+
18543
+ this.handleSelect = function (e) {
18544
+ var _a;
18545
+
18546
+ if (e.target !== _this.fileRef.current) {
18547
+ _this.props.onUploadClick && _this.props.onUploadClick();
18548
+ _this.props.selectAdapter ? _this.props.selectAdapter().then(function (value) {
18549
+ return _this.handleChange({
18550
+ target: {
18551
+ files: value.files
18552
+ }
18553
+ }, true);
18554
+ }) : (_a = _this.fileRef.current) === null || _a === void 0 ? void 0 : _a.click();
18555
+ }
18556
+ };
18557
+
18558
+ this.handleClick = function (e, file, index) {
18559
+ var _a, _b;
18560
+
18561
+ clearTimeout(_this.timeOutEvent);
18562
+
18563
+ if (_this.timeOutEvent !== 0) {
18564
+ (_b = (_a = _this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e, file, index);
18565
+ }
18566
+ };
18567
+
18568
+ this.handleTouchStart = function (e, image, index) {
18569
+ _this.timeOutEvent = setTimeout(function () {
18570
+ var _a, _b;
18571
+
18572
+ _this.timeOutEvent = 0;
18573
+ (_b = (_a = _this.props).onLongPress) === null || _b === void 0 ? void 0 : _b.call(_a, e, image, index);
18574
+ }, 750);
18575
+ };
18576
+
18577
+ this.props = __assign$3({}, props);
18578
+ this.fileRef = fileRef;
18579
+ this.cacheRef = cacheRef;
18580
+ this.init();
18581
+ }
18582
+
18583
+ Upload.prototype.init = function () {
18584
+ !this.props.files && (this.props.files = []);
18585
+ !this.props.limit && (this.props.limit = 0);
18586
+ !this.props.onChange && (this.props.onChange = function () {
18587
+ return null;
18588
+ });
18589
+ };
18590
+
18591
+ return Upload;
18592
+ }();
18593
+ var parseFile = function parseFile(file) {
18594
+ return new es6Promise.Promise(function (resolve, reject) {
18595
+ if (file.url) {
18596
+ resolve(file.url);
18597
+ } else {
18598
+ var reader = new FileReader();
18599
+
18600
+ reader.onload = function (e) {
18601
+ var _a;
18602
+
18603
+ var dataURL = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;
18604
+
18605
+ if (!dataURL) {
18606
+ reject(new Error('file parse error'));
18607
+ }
18608
+
18609
+ resolve(dataURL);
18610
+ };
18611
+
18612
+ reader.onerror = function () {
18613
+ reject(new Error('file parse error'));
18614
+ };
18615
+
18616
+ reader.readAsDataURL(file);
18617
+ }
18618
+ });
18619
+ };
18302
18620
 
18303
18621
  var ImagePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
18304
18622
  var _a = props.className,
@@ -18317,7 +18635,6 @@
18317
18635
  limit = _f === void 0 ? 0 : _f,
18318
18636
  _g = props.images,
18319
18637
  images = _g === void 0 ? [] : _g,
18320
- maxSize = props.maxSize,
18321
18638
  disabled = props.disabled,
18322
18639
  deleteIcon = props.deleteIcon,
18323
18640
  selectIcon = props.selectIcon,
@@ -18330,18 +18647,7 @@
18330
18647
  imageProps = props.imageProps,
18331
18648
  renderLoading = props.renderLoading,
18332
18649
  renderError = props.renderError,
18333
- onLongPress = props.onLongPress,
18334
- onClick = props.onClick,
18335
- _l = props.onChange,
18336
- onChange = _l === void 0 ? function () {
18337
- return null;
18338
- } : _l,
18339
- onMaxSizeExceed = props.onMaxSizeExceed,
18340
- onLimitExceed = props.onLimitExceed,
18341
- upload = props.upload,
18342
- selectAdapter = props.selectAdapter,
18343
- onSelectClick = props.onSelectClick,
18344
- onDeleteClick = props.onDeleteClick;
18650
+ selectAdapter = props.selectAdapter;
18345
18651
  var domRef = React.useRef(null);
18346
18652
  var fileRef = React.useRef(null);
18347
18653
  var cacheRef = useLatestRef(images);
@@ -18350,143 +18656,9 @@
18350
18656
  dom: domRef.current
18351
18657
  };
18352
18658
  });
18353
-
18354
- var parseFile = function parseFile(file) {
18355
- return new es6Promise.Promise(function (resolve, reject) {
18356
- if (file.url) {
18357
- resolve(file.url);
18358
- } else {
18359
- var reader = new FileReader();
18360
-
18361
- reader.onload = function (e) {
18362
- var _a;
18363
-
18364
- var dataURL = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;
18365
-
18366
- if (!dataURL) {
18367
- reject(new Error('file parse error'));
18368
- }
18369
-
18370
- resolve(dataURL);
18371
- };
18372
-
18373
- reader.onerror = function () {
18374
- reject(new Error('file parse error'));
18375
- };
18376
-
18377
- reader.readAsDataURL(file);
18378
- }
18379
- });
18380
- };
18381
-
18382
- var handleChange = function handleChange(event, fromAdapter) {
18383
- var files = Array.prototype.filter.call(event.target.files || [], function (file) {
18384
- // 过滤maxSize
18385
- if (maxSize && file.size > maxSize * 1024) {
18386
- onMaxSizeExceed && onMaxSizeExceed(file);
18387
- return false;
18388
- }
18389
-
18390
- return true;
18391
- }) || [];
18392
-
18393
- if (!fromAdapter) {
18394
- event.target.value = '';
18395
- } // 截断limit
18396
-
18397
-
18398
- if (limit !== 0 && files.length + images.length > limit) {
18399
- onLimitExceed && onLimitExceed(files);
18400
- files.length = limit - images.length;
18401
- } // 解析文件生成预览
18402
-
18403
-
18404
- es6Promise.Promise.all(files.map(function (file) {
18405
- return parseFile(file);
18406
- })).then(function (parseFiles) {
18407
- var res = parseFiles.map(function (url, index) {
18408
- return {
18409
- url: url,
18410
- status: typeof upload === 'function' ? 'loading' : 'loaded',
18411
- file: files[index]
18412
- };
18413
- });
18414
- cacheRef.current = __spreadArrays$1(cacheRef.current, res);
18415
- onChange(__spreadArrays$1(cacheRef.current)); // 执行upload
18416
-
18417
- if (typeof upload === 'function') {
18418
- files.forEach(function (_file) {
18419
- upload(cacheRef.current.find(function (_a) {
18420
- var file = _a.file;
18421
- return file === _file;
18422
- })).then(function (data) {
18423
- var index = cacheRef.current.findIndex(function (_a) {
18424
- var file = _a.file;
18425
- return file === _file;
18426
- });
18427
-
18428
- if (index !== -1) {
18429
- cacheRef.current[index] = __assign$3(__assign$3(__assign$3({}, cacheRef.current[index]), data), {
18430
- status: undefined
18431
- });
18432
- }
18433
- }).catch(function () {
18434
- var index = cacheRef.current.findIndex(function (_a) {
18435
- var file = _a.file;
18436
- return file === _file;
18437
- });
18438
-
18439
- if (index !== -1) {
18440
- cacheRef.current[index].status = 'error';
18441
- }
18442
- }).finally(function () {
18443
- onChange(__spreadArrays$1(cacheRef.current));
18444
- });
18445
- });
18446
- }
18447
- });
18448
- };
18449
-
18450
- var handleDelete = function handleDelete(index) {
18451
- onDeleteClick && onDeleteClick(index);
18452
- onChange(images.filter(function (_i, j) {
18453
- return j !== index;
18454
- }));
18455
- }; // click && longPress
18456
-
18457
-
18458
- var timeOutEvent;
18459
-
18460
- var handleTouchStart = function handleTouchStart(e, image, index) {
18461
- timeOutEvent = setTimeout(function () {
18462
- timeOutEvent = 0;
18463
- onLongPress === null || onLongPress === void 0 ? void 0 : onLongPress(e, image, index);
18464
- }, 750);
18465
- };
18466
-
18467
- var handleClick = function handleClick(e, image, index) {
18468
- clearTimeout(timeOutEvent);
18469
-
18470
- if (timeOutEvent !== 0) {
18471
- onClick === null || onClick === void 0 ? void 0 : onClick(e, image, index);
18472
- }
18473
- };
18474
-
18475
- var handleSelect = function handleSelect(e) {
18476
- var _a;
18477
-
18478
- if (e.target !== fileRef.current) {
18479
- onSelectClick && onSelectClick();
18480
- selectAdapter ? selectAdapter().then(function (_a) {
18481
- var files = _a.files;
18482
- return handleChange({
18483
- target: {
18484
- files: files
18485
- }
18486
- }, true);
18487
- }) : (_a = fileRef.current) === null || _a === void 0 ? void 0 : _a.click();
18488
- }
18489
- };
18659
+ var uploadFunc = new Upload(__assign$3(__assign$3({}, props), {
18660
+ files: images
18661
+ }), fileRef, cacheRef);
18490
18662
 
18491
18663
  var getGridData = function getGridData(prefixCls, locale) {
18492
18664
  var _a;
@@ -18518,10 +18690,10 @@
18518
18690
  className: prefixCls + "-image-picker-image"
18519
18691
  }, /*#__PURE__*/React__default["default"].createElement("div", {
18520
18692
  onTouchStart: function onTouchStart(e) {
18521
- return handleTouchStart(e, image, index);
18693
+ return uploadFunc.handleTouchStart(e, image, index);
18522
18694
  },
18523
18695
  onClick: function onClick(e) {
18524
- return handleClick(e, image, index);
18696
+ return uploadFunc.handleClick(e, image, index);
18525
18697
  },
18526
18698
  className: prefixCls + "-image-picker-image-container"
18527
18699
  }, /*#__PURE__*/React__default["default"].createElement(BaseImage, __assign$3({
@@ -18537,7 +18709,7 @@
18537
18709
  })), !hideDelete && /*#__PURE__*/React__default["default"].createElement("div", {
18538
18710
  className: prefixCls + "-image-picker-close",
18539
18711
  onClick: function onClick() {
18540
- return handleDelete(index);
18712
+ return uploadFunc.deleteFile(index);
18541
18713
  }
18542
18714
  }, deleteIcon || /*#__PURE__*/React__default["default"].createElement("div", {
18543
18715
  className: prefixCls + "-image-picker-close-icon"
@@ -18552,7 +18724,7 @@
18552
18724
  data.push({
18553
18725
  img: /*#__PURE__*/React__default["default"].createElement("div", {
18554
18726
  className: cls(prefixCls + "-image-picker-add", (_a = {}, _a[prefixCls + "-image-picker-add-disabled"] = disableSelect, _a)),
18555
- onClick: handleSelect
18727
+ onClick: uploadFunc.handleSelect
18556
18728
  }, /*#__PURE__*/React__default["default"].createElement("div", {
18557
18729
  className: prefixCls + "-image-picker-add-container"
18558
18730
  }, selectIcon || /*#__PURE__*/React__default["default"].createElement("div", {
@@ -18563,7 +18735,7 @@
18563
18735
  multiple: multiple,
18564
18736
  type: "file",
18565
18737
  onChange: function onChange(e) {
18566
- return handleChange(e);
18738
+ return uploadFunc.handleChange(e);
18567
18739
  },
18568
18740
  ref: fileRef
18569
18741
  }) : null)),
@@ -18603,7 +18775,7 @@
18603
18775
  * @displayName ImagePicker
18604
18776
  */
18605
18777
 
18606
- var index$g = componentWrapper(ImagePicker, 'ImagePicker');
18778
+ var index$h = componentWrapper(ImagePicker, 'ImagePicker');
18607
18779
 
18608
18780
  /*!
18609
18781
  * @arco-design/transformable v1.0.1
@@ -21837,7 +22009,7 @@
21837
22009
  * @name_en ImagePreview
21838
22010
  */
21839
22011
 
21840
- var index$f = componentWrapper(ImagePreview, methodsGenerator$3(ImagePreviewWithGlobalContext));
22012
+ var index$g = componentWrapper(ImagePreview, methodsGenerator$3(ImagePreviewWithGlobalContext));
21841
22013
 
21842
22014
  var IndexBarContext = /*#__PURE__*/React.createContext({
21843
22015
  sticky: true,
@@ -22306,7 +22478,7 @@
22306
22478
  * @name_en SearchBar
22307
22479
  */
22308
22480
 
22309
- var index$e = componentWrapper(IndexBar, {
22481
+ var index$f = componentWrapper(IndexBar, {
22310
22482
  Group: IndexBarGroup
22311
22483
  });
22312
22484
 
@@ -22368,8 +22540,8 @@
22368
22540
  React.useEffect(function () {
22369
22541
  if (autoFocus) {
22370
22542
  setTimeout(function () {
22371
- inputRef.current && inputRef.current.focus();
22372
- }, 200);
22543
+ inputRef.current && inputRef.current.click();
22544
+ }, 100);
22373
22545
  }
22374
22546
  }, []);
22375
22547
  React.useEffect(function () {
@@ -22646,7 +22818,7 @@
22646
22818
  * @displayName Input
22647
22819
  */
22648
22820
 
22649
- var index$d = componentWrapper(Input, 'Input');
22821
+ var index$e = componentWrapper(Input, 'Input');
22650
22822
 
22651
22823
  // @en let keyboard random
22652
22824
 
@@ -23658,7 +23830,7 @@
23658
23830
  * @name_en Notify
23659
23831
  */
23660
23832
 
23661
- var index$c = componentWrapper(Notify, methodsGenerator$2(NotifyWithGlobalContext));
23833
+ var index$d = componentWrapper(Notify, methodsGenerator$2(NotifyWithGlobalContext));
23662
23834
 
23663
23835
  function Arrow() {
23664
23836
  return /*#__PURE__*/React__default["default"].createElement("svg", {
@@ -25073,7 +25245,7 @@
25073
25245
  * @type_en Data Display
25074
25246
  */
25075
25247
 
25076
- var index$b = componentWrapper(Popover$1, {
25248
+ var index$c = componentWrapper(Popover$1, {
25077
25249
  Menu: Menu
25078
25250
  });
25079
25251
 
@@ -25339,7 +25511,7 @@
25339
25511
  * @name_en PopupSwiper
25340
25512
  */
25341
25513
 
25342
- var index$a = componentWrapper(PopupSwiper, methodsGenerator$1(PopupSwiperWithGlobalContext));
25514
+ var index$b = componentWrapper(PopupSwiper, methodsGenerator$1(PopupSwiperWithGlobalContext));
25343
25515
 
25344
25516
  /**
25345
25517
  * 进度条组件,可根据外界传递进来的百分比进行进度展示
@@ -26180,7 +26352,7 @@
26180
26352
  * @displayName Radio
26181
26353
  */
26182
26354
 
26183
- var index$9 = componentWrapper(Radio, 'Radio', {
26355
+ var index$a = componentWrapper(Radio, 'Radio', {
26184
26356
  Group: Group
26185
26357
  });
26186
26358
 
@@ -26362,7 +26534,7 @@
26362
26534
  * @displayName Rate
26363
26535
  */
26364
26536
 
26365
- var index$8 = componentWrapper(Rate, 'Rate');
26537
+ var index$9 = componentWrapper(Rate, 'Rate');
26366
26538
 
26367
26539
  function createHighlightNode(config, index) {
26368
26540
  var keyword = config.keyword,
@@ -27594,7 +27766,7 @@
27594
27766
  * @name_en Skeleton
27595
27767
  */
27596
27768
 
27597
- var index$7 = componentWrapper(Skeleton, {
27769
+ var index$8 = componentWrapper(Skeleton, {
27598
27770
  Node: SkeletonNode,
27599
27771
  Title: SkeletonTitle,
27600
27772
  Paragraph: SkeletonParagraph,
@@ -28385,7 +28557,7 @@
28385
28557
  * @displayName Slider
28386
28558
  */
28387
28559
 
28388
- var index$6 = componentWrapper(SliderWrapper, 'Slider');
28560
+ var index$7 = componentWrapper(SliderWrapper, 'Slider');
28389
28561
 
28390
28562
  function correctCalculation(leftNumber, rightNumber, operator) {
28391
28563
  var magnification = 1e17;
@@ -28700,7 +28872,7 @@
28700
28872
  * @displayName Stepper
28701
28873
  */
28702
28874
 
28703
- var index$5 = componentWrapper(Stepper, 'Stepper');
28875
+ var index$6 = componentWrapper(Stepper, 'Stepper');
28704
28876
 
28705
28877
  function renderAction(_a) {
28706
28878
  var action = _a.action,
@@ -29509,7 +29681,7 @@
29509
29681
  * @displayName Switch
29510
29682
  */
29511
29683
 
29512
- var index$4 = componentWrapper(Switch, 'Switch');
29684
+ var index$5 = componentWrapper(Switch, 'Switch');
29513
29685
 
29514
29686
  var TabBarContext = /*#__PURE__*/React.createContext({
29515
29687
  changeIndex: function changeIndex() {},
@@ -29653,7 +29825,7 @@
29653
29825
  * @name_en TabBar
29654
29826
  */
29655
29827
 
29656
- var index$3 = componentWrapper(TabBar, {
29828
+ var index$4 = componentWrapper(TabBar, {
29657
29829
  Item: Item
29658
29830
  });
29659
29831
 
@@ -29819,7 +29991,7 @@
29819
29991
  * @name_en Tag
29820
29992
  */
29821
29993
 
29822
- var index$2 = componentWrapper(Tag, {
29994
+ var index$3 = componentWrapper(Tag, {
29823
29995
  List: List
29824
29996
  });
29825
29997
 
@@ -29968,7 +30140,7 @@
29968
30140
  * @displayName Textarea
29969
30141
  */
29970
30142
 
29971
- var index$1 = componentWrapper(Textarea, 'Textarea');
30143
+ var index$2 = componentWrapper(Textarea, 'Textarea');
29972
30144
 
29973
30145
  function toast(Component, type) {
29974
30146
  return function (originConfig, context) {
@@ -30229,66 +30401,209 @@
30229
30401
  * @name_en Toast
30230
30402
  */
30231
30403
 
30232
- var index = componentWrapper(Toast, methodsGenerator(ToastWithGlobalContext));
30404
+ var index$1 = componentWrapper(Toast, methodsGenerator(ToastWithGlobalContext));
30405
+
30406
+ var Uploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
30407
+ var _a = props.className,
30408
+ className = _a === void 0 ? '' : _a,
30409
+ style = props.style,
30410
+ _b = props.files,
30411
+ files = _b === void 0 ? [] : _b,
30412
+ _c = props.accept,
30413
+ accept = _c === void 0 ? undefined : _c,
30414
+ _d = props.multiple,
30415
+ multiple = _d === void 0 ? false : _d,
30416
+ capture = props.capture,
30417
+ _e = props.limit,
30418
+ limit = _e === void 0 ? 0 : _e,
30419
+ _f = props.hideStatus,
30420
+ hideStatus = _f === void 0 ? false : _f,
30421
+ _g = props.alwaysShowSelect,
30422
+ alwaysShowSelect = _g === void 0 ? false : _g,
30423
+ disabled = props.disabled,
30424
+ renderDeleteArea = props.renderDeleteArea,
30425
+ renderLoadedArea = props.renderLoadedArea,
30426
+ renderLoadingArea = props.renderLoadingArea,
30427
+ renderErrorArea = props.renderErrorArea,
30428
+ renderFileIndexArea = props.renderFileIndexArea,
30429
+ renderUploadArea = props.renderUploadArea,
30430
+ renderFileList = props.renderFileList;
30431
+ var domRef = React.useRef(null);
30432
+ var fileRef = React.useRef(null);
30433
+ var cacheRef = useLatestRef(files);
30434
+ var uploadFunc = new Upload(props, fileRef, cacheRef);
30435
+ React.useImperativeHandle(ref, function () {
30436
+ return {
30437
+ dom: domRef.current
30438
+ };
30439
+ });
30440
+
30441
+ var uploaderSelect = function uploaderSelect(prefixCls, locale) {
30442
+ var showSelect = files.length < (limit || Infinity);
30443
+ return (showSelect || alwaysShowSelect) && /*#__PURE__*/React__default["default"].createElement("div", {
30444
+ className: prefixCls + "-uploader-add",
30445
+ onClick: uploadFunc.handleSelect
30446
+ }, /*#__PURE__*/React__default["default"].createElement("input", {
30447
+ type: "file",
30448
+ accept: accept,
30449
+ capture: capture,
30450
+ onChange: function onChange(e) {
30451
+ return uploadFunc.handleChange(e);
30452
+ },
30453
+ multiple: multiple,
30454
+ ref: fileRef
30455
+ }), renderUploadArea && renderUploadArea() || /*#__PURE__*/React__default["default"].createElement(Button, {
30456
+ className: prefixCls + "-uploader-add-button",
30457
+ size: "medium",
30458
+ icon: /*#__PURE__*/React__default["default"].createElement(IconUpload, null),
30459
+ disabled: disabled
30460
+ }, locale.Uploader.uploadBtn));
30461
+ };
30462
+
30463
+ var getUploadList = function getUploadList(prefixCls, locale) {
30464
+ var generateItemArea = function generateItemArea(fileItem, index, render, part, defaultArea) {
30465
+ if (render) {
30466
+ var node = render(fileItem, index);
30467
+ return node ? /*#__PURE__*/React__default["default"].createElement("div", {
30468
+ className: prefixCls + "-uploader-list-item-" + part
30469
+ }, node) : node;
30470
+ }
30471
+
30472
+ return /*#__PURE__*/React__default["default"].createElement("div", {
30473
+ className: prefixCls + "-uploader-list-item-" + part
30474
+ }, defaultArea);
30475
+ };
30476
+
30477
+ return renderFileList && renderFileList({
30478
+ retryUpload: uploadFunc.retryUpload,
30479
+ deleteFile: uploadFunc.deleteFile
30480
+ }) || /*#__PURE__*/React__default["default"].createElement("div", {
30481
+ className: prefixCls + "-uploader-list"
30482
+ }, (limit && limit < files.length ? files.slice(0, limit) : files).map(function (fileItem, index) {
30483
+ var _a, _b;
30484
+
30485
+ var file = fileItem.file,
30486
+ status = fileItem.status;
30487
+ return /*#__PURE__*/React__default["default"].createElement("div", {
30488
+ className: prefixCls + "-uploader-list-item",
30489
+ key: index,
30490
+ onClick: function onClick(e) {
30491
+ return uploadFunc.handleClick(e, fileItem, index);
30492
+ }
30493
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
30494
+ className: prefixCls + "-uploader-list-item-container"
30495
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
30496
+ className: prefixCls + "-uploader-list-item-wrapper"
30497
+ }, generateItemArea(fileItem, index, renderFileIndexArea, 'file', /*#__PURE__*/React__default["default"].createElement(IconFile, {
30498
+ className: prefixCls + "-uploader-list-item-file-icon"
30499
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
30500
+ className: cls(prefixCls + "-uploader-list-item-text", (_a = {}, _a[prefixCls + "-uploader-list-item-text-error"] = status === 'error', _a))
30501
+ }, file.name)), !hideStatus && /*#__PURE__*/React__default["default"].createElement("div", {
30502
+ className: prefixCls + "-uploader-list-item-status"
30503
+ }, status === 'loaded' && generateItemArea(fileItem, index, renderLoadedArea, 'loaded', /*#__PURE__*/React__default["default"].createElement(IconCheck, null)), status === 'loading' && generateItemArea(fileItem, index, renderLoadingArea, 'loading', /*#__PURE__*/React__default["default"].createElement(Loading, {
30504
+ type: "circle",
30505
+ radius: 7
30506
+ })), status === 'error' && /*#__PURE__*/React__default["default"].createElement("div", {
30507
+ onClick: function onClick() {
30508
+ return uploadFunc.retryUpload(index);
30509
+ }
30510
+ }, generateItemArea(fileItem, index, renderErrorArea, 'error', /*#__PURE__*/React__default["default"].createElement("span", null, locale.Uploader.retryUpload))))), /*#__PURE__*/React__default["default"].createElement("div", {
30511
+ className: prefixCls + "-uploader-list-item-delete",
30512
+ onClick: function onClick() {
30513
+ return uploadFunc.deleteFile(index);
30514
+ }
30515
+ }, renderDeleteArea && renderDeleteArea(fileItem, index) || /*#__PURE__*/React__default["default"].createElement(IconDelete, {
30516
+ className: cls(prefixCls + "-uploader-list-item-delete-icon", (_b = {}, _b[prefixCls + "-uploader-list-item-delete-icon-disabled"] = disabled, _b))
30517
+ })));
30518
+ }));
30519
+ };
30520
+
30521
+ return /*#__PURE__*/React__default["default"].createElement(ContextLayout, null, function (_a) {
30522
+ var _b;
30523
+
30524
+ var prefixCls = _a.prefixCls,
30525
+ _c = _a.locale,
30526
+ locale = _c === void 0 ? defaultLocale : _c;
30527
+ return /*#__PURE__*/React__default["default"].createElement("div", {
30528
+ className: cls(prefixCls + "-uploader", className, (_b = {}, _b[prefixCls + "-uploader-disabled"] = disabled, _b)),
30529
+ style: style,
30530
+ ref: domRef
30531
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
30532
+ className: prefixCls + "-uploader-container"
30533
+ }, uploaderSelect(prefixCls, locale), getUploadList(prefixCls, locale)));
30534
+ });
30535
+ });
30536
+ /**
30537
+ * 文件上传组件
30538
+ * @en Uploader Component
30539
+ * @type 数据录入
30540
+ * @type_en Data Entry
30541
+ * @name 文件上传
30542
+ * @name_en Uploader
30543
+ * @displayName Uploader
30544
+ */
30545
+
30546
+ var index = componentWrapper(Uploader, 'Uploader');
30233
30547
 
30234
- exports.ActionSheet = index$o;
30235
- exports.Avatar = index$n;
30548
+ exports.ActionSheet = index$p;
30549
+ exports.Avatar = index$o;
30236
30550
  exports.Badge = Badge;
30237
30551
  exports.Button = Button;
30238
30552
  exports.Carousel = Carousel;
30239
- exports.Cell = index$m;
30553
+ exports.Cell = index$n;
30240
30554
  exports.Checkbox = Checkbox;
30241
30555
  exports.CircleProgress = CircleProgress;
30242
- exports.Collapse = index$l;
30556
+ exports.Collapse = index$m;
30243
30557
  exports.ContextProvider = ContextProvider;
30244
30558
  exports.CountDown = CountDown;
30245
- exports.DatePicker = index$k;
30246
- exports.Dialog = index$j;
30559
+ exports.DatePicker = index$l;
30560
+ exports.Dialog = index$k;
30247
30561
  exports.Divider = Divider;
30248
30562
  exports.Dropdown = Dropdown$1;
30249
30563
  exports.DropdownMenu = DropdownMenu;
30250
30564
  exports.Ellipsis = Ellipsis;
30251
- exports.Form = index$h;
30565
+ exports.Form = index$i;
30252
30566
  exports.Grid = Grid;
30253
30567
  exports.Image = BaseImage;
30254
- exports.ImagePicker = index$g;
30255
- exports.ImagePreview = index$f;
30256
- exports.IndexBar = index$e;
30257
- exports.Input = index$d;
30568
+ exports.ImagePicker = index$h;
30569
+ exports.ImagePreview = index$g;
30570
+ exports.IndexBar = index$f;
30571
+ exports.Input = index$e;
30258
30572
  exports.Keyboard = Keyboard;
30259
30573
  exports.LoadMore = LoadMore;
30260
30574
  exports.Loading = Loading;
30261
30575
  exports.Masking = Masking$1;
30262
30576
  exports.NavBar = NavBar;
30263
30577
  exports.NoticeBar = NoticeBar;
30264
- exports.Notify = index$c;
30578
+ exports.Notify = index$d;
30265
30579
  exports.Pagination = Pagination;
30266
30580
  exports.Picker = Picker$1;
30267
30581
  exports.PickerView = PickerView$1;
30268
- exports.Popover = index$b;
30582
+ exports.Popover = index$c;
30269
30583
  exports.Popup = Popup$1;
30270
- exports.PopupSwiper = index$a;
30584
+ exports.PopupSwiper = index$b;
30271
30585
  exports.Portal = Portal;
30272
30586
  exports.Progress = Progress;
30273
30587
  exports.PullRefresh = PullRefresh;
30274
- exports.Radio = index$9;
30275
- exports.Rate = index$8;
30588
+ exports.Radio = index$a;
30589
+ exports.Rate = index$9;
30276
30590
  exports.SearchBar = SearchBar;
30277
30591
  exports.ShowMonitor = ShowMonitor;
30278
- exports.Skeleton = index$7;
30279
- exports.Slider = index$6;
30280
- exports.Stepper = index$5;
30281
- exports.Steps = index$p;
30592
+ exports.Skeleton = index$8;
30593
+ exports.Slider = index$7;
30594
+ exports.Stepper = index$6;
30595
+ exports.Steps = index$q;
30282
30596
  exports.Sticky = Sticky;
30283
30597
  exports.SwipeAction = SwipeAction;
30284
30598
  exports.SwipeLoad = SwipeLoad;
30285
- exports.Switch = index$4;
30286
- exports.TabBar = index$3;
30599
+ exports.Switch = index$5;
30600
+ exports.TabBar = index$4;
30287
30601
  exports.Tabs = Tabs;
30288
- exports.Tag = index$2;
30289
- exports.Textarea = index$1;
30290
- exports.Toast = index;
30602
+ exports.Tag = index$3;
30603
+ exports.Textarea = index$2;
30604
+ exports.Toast = index$1;
30291
30605
  exports.Transition = Transition;
30606
+ exports.Uploader = index;
30292
30607
 
30293
30608
  Object.defineProperty(exports, '__esModule', { value: true });
30294
30609