@nutui/nutui-react-taro 1.3.3 → 1.3.4

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 (168) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +3 -2
  3. package/dist/esm/ActionSheet.js +3 -3
  4. package/dist/esm/Address.js +3 -3
  5. package/dist/esm/Audio.js +6 -7
  6. package/dist/esm/Avatar.js +2 -2
  7. package/dist/esm/BackTop.js +2 -2
  8. package/dist/esm/Badge.js +2 -2
  9. package/dist/esm/Barrage.js +2 -2
  10. package/dist/esm/Button.js +2 -2
  11. package/dist/esm/Calendar.js +3 -3
  12. package/dist/esm/Card.js +3 -3
  13. package/dist/esm/Cascader.js +4 -4
  14. package/dist/esm/Cell.js +2 -2
  15. package/dist/esm/Checkbox.js +2 -2
  16. package/dist/esm/CircleProgress.js +2 -2
  17. package/dist/esm/CollapseItem.js +2 -2
  18. package/dist/esm/DatePicker.js +4 -4
  19. package/dist/esm/Dialog.js +3 -3
  20. package/dist/esm/FixedNav.js +2 -2
  21. package/dist/esm/GridItem.js +2 -2
  22. package/dist/esm/ImagePreview.js +5 -5
  23. package/dist/esm/Infiniteloading.js +4 -2
  24. package/dist/esm/Input.js +2 -2
  25. package/dist/esm/InputNumber.js +2 -2
  26. package/dist/esm/Menu.js +2 -2
  27. package/dist/esm/MenuItem.js +2 -2
  28. package/dist/esm/NavBar.js +2 -2
  29. package/dist/esm/NoticeBar.js +2 -2
  30. package/dist/esm/Notify.js +2 -3
  31. package/dist/esm/NumberKeyboard.js +3 -3
  32. package/dist/esm/Picker.js +3 -3
  33. package/dist/esm/Popover.js +2 -2
  34. package/dist/esm/Popup.js +2 -2
  35. package/dist/esm/Progress.js +2 -2
  36. package/dist/esm/PullToRefresh.js +2 -2
  37. package/dist/esm/Radio.js +2 -2
  38. package/dist/esm/Range.js +3 -5
  39. package/dist/esm/Rate.js +2 -2
  40. package/dist/esm/SearchBar.js +2 -2
  41. package/dist/esm/ShortPassword.js +3 -3
  42. package/dist/esm/SideNavBar.js +3 -3
  43. package/dist/esm/Signature.js +3 -3
  44. package/dist/esm/Skeleton.js +3 -3
  45. package/dist/esm/Step.js +2 -2
  46. package/dist/esm/Sticky/style/index.js +2 -0
  47. package/dist/esm/Sticky.js +5 -0
  48. package/dist/esm/Swiper.js +3 -3
  49. package/dist/esm/TabbarItem.js +2 -2
  50. package/dist/esm/Table.js +2 -2
  51. package/dist/esm/Tabs.js +2 -2
  52. package/dist/esm/Tag.js +2 -2
  53. package/dist/esm/TimeSelect.js +3 -3
  54. package/dist/esm/Toast.js +2 -4
  55. package/dist/esm/Uploader.js +8 -4
  56. package/dist/esm/{actionsheet.taro-08b7eab2.js → actionsheet.taro-360d8d34.js} +1 -1
  57. package/dist/esm/{address.taro-5f8dbfc3.js → address.taro-7540c626.js} +8 -6
  58. package/dist/esm/{audio.taro-327472dc.js → audio.taro-ab2528b2.js} +105 -148
  59. package/dist/esm/{avatar.taro-766690a4.js → avatar.taro-ec620cdd.js} +5 -3
  60. package/dist/esm/{backtop.taro-c414da6c.js → backtop.taro-aa8b2bc5.js} +5 -3
  61. package/dist/esm/{badge.taro-351d0088.js → badge.taro-38684262.js} +5 -3
  62. package/dist/esm/{barrage.taro-efac8422.js → barrage.taro-d86c367a.js} +3 -10
  63. package/dist/esm/{button.taro-7074924f.js → button.taro-a9ebb937.js} +7 -5
  64. package/dist/esm/{calendar.taro-156a74c0.js → calendar.taro-438940bd.js} +1 -1
  65. package/dist/esm/{card.taro-f81f1b5c.js → card.taro-1bc35ebe.js} +1 -1
  66. package/dist/esm/{cascader.taro-39402f43.js → cascader.taro-35387092.js} +2 -2
  67. package/dist/esm/{cell.taro-075998e0.js → cell.taro-a4c3bb7b.js} +7 -5
  68. package/dist/esm/{checkbox.taro-62677b5e.js → checkbox.taro-104557c1.js} +2 -2
  69. package/dist/esm/{circleprogress.taro-1a38e1c6.js → circleprogress.taro-3c89a157.js} +85 -51
  70. package/dist/esm/{collapseitem-246e1699.js → collapseitem-75843a5e.js} +13 -9
  71. package/dist/esm/{datepicker.taro-e0e58f39.js → datepicker.taro-1acec61f.js} +1 -1
  72. package/dist/esm/{dialog.taro-7e9249e7.js → dialog.taro-54c67e08.js} +8 -6
  73. package/dist/esm/{fixednav.taro-9ee2dbea.js → fixednav.taro-582322a1.js} +5 -3
  74. package/dist/esm/{griditem.taro-a2ad1edd.js → griditem.taro-866cd288.js} +5 -3
  75. package/dist/esm/{imagepreview.taro-99659d6a.js → imagepreview.taro-3f1c7638.js} +2 -2
  76. package/dist/esm/{infiniteloading.taro-aa47eb1e.js → infiniteloading.taro-9701755f.js} +84 -113
  77. package/dist/esm/{input.taro-32fac7f7.js → input.taro-2453d7c4.js} +9 -7
  78. package/dist/esm/{inputnumber.taro-83d108b3.js → inputnumber.taro-0cf7c1b7.js} +7 -5
  79. package/dist/esm/{menu.taro-8330048e.js → menu.taro-9345dcfd.js} +5 -3
  80. package/dist/esm/{menuitem.taro-818c9e83.js → menuitem.taro-fc0961b7.js} +31 -14
  81. package/dist/esm/{navbar.taro-05d293bb.js → navbar.taro-c931c078.js} +7 -5
  82. package/dist/esm/{noticebar.taro-6845f9ab.js → noticebar.taro-1fa04a96.js} +9 -7
  83. package/dist/esm/{notify.taro-22b8f4cd.js → notify.taro-0d9cfb07.js} +38 -5
  84. package/dist/esm/{numberkeyboard.taro-6ff18124.js → numberkeyboard.taro-53c350b8.js} +1 -1
  85. package/dist/esm/nutui-react.es.js +54 -53
  86. package/dist/esm/{picker.taro-a3f311a0.js → picker.taro-6a4dad23.js} +1 -1
  87. package/dist/esm/{popover.taro-604c3116.js → popover.taro-eddd0bd2.js} +5 -3
  88. package/dist/esm/{popup.taro-d74c3422.js → popup.taro-33d0bbc8.js} +5 -3
  89. package/dist/esm/{progress.taro-57e1a455.js → progress.taro-623bc807.js} +5 -3
  90. package/dist/esm/{pulltorefresh.taro-8846f019.js → pulltorefresh.taro-e66c78ad.js} +0 -0
  91. package/dist/esm/{radio.taro-64546f70.js → radio.taro-95d43860.js} +5 -3
  92. package/dist/esm/{range.taro-ef3b30f0.js → range.taro-141a0163.js} +35 -12
  93. package/dist/esm/{rate.taro-0119c0e9.js → rate.taro-5077b962.js} +7 -5
  94. package/dist/esm/{searchbar.taro-2fff1f66.js → searchbar.taro-f134fb96.js} +5 -3
  95. package/dist/esm/{shortpassword.taro-d39e038d.js → shortpassword.taro-2e96ca22.js} +6 -4
  96. package/dist/esm/{sidenavbar.taro-48b136b4.js → sidenavbar.taro-87f056cd.js} +1 -1
  97. package/dist/esm/{signature.taro-3dbc7030.js → signature.taro-a9286cd1.js} +1 -1
  98. package/dist/esm/{skeleton.taro-112de52a.js → skeleton.taro-b9ff84b9.js} +1 -1
  99. package/dist/esm/{step.taro-8c2ba0bb.js → step.taro-f1057500.js} +5 -3
  100. package/dist/esm/sticky.taro-30d4e453.js +23 -0
  101. package/dist/esm/{swiper.taro-448cd0ad.js → swiper.taro-58ed323b.js} +4 -4
  102. package/dist/esm/{tabbaritem.taro-8c0a0a3b.js → tabbaritem.taro-94cd62c2.js} +5 -3
  103. package/dist/esm/{table.taro-04f9ec51.js → table.taro-7ac89a6c.js} +5 -3
  104. package/dist/esm/{tabs.taro-7bb22cb5.js → tabs.taro-86186dff.js} +12 -13
  105. package/dist/esm/{tag.taro-81dcc92d.js → tag.taro-95d7f5c2.js} +5 -3
  106. package/dist/esm/{timeselect.taro-5b6ed203.js → timeselect.taro-73796bfc.js} +1 -1
  107. package/dist/esm/toast.taro-cd22a0d7.js +167 -0
  108. package/dist/esm/types/src/packages/audio/audio.taro.d.ts +13 -14
  109. package/dist/esm/types/src/packages/button/demo.d.ts +1 -0
  110. package/dist/esm/types/src/packages/collapseitem/collapseitem.d.ts +1 -0
  111. package/dist/esm/types/src/packages/drag/drag.d.ts +1 -1
  112. package/dist/esm/types/src/packages/drag/drag.taro.d.ts +1 -1
  113. package/dist/esm/types/src/packages/fixednav/fixednav.d.ts +1 -1
  114. package/dist/esm/types/src/packages/fixednav/fixednav.taro.d.ts +1 -1
  115. package/dist/esm/types/src/packages/griditem/griditem.d.ts +1 -1
  116. package/dist/esm/types/src/packages/griditem/griditem.taro.d.ts +1 -1
  117. package/dist/esm/types/src/packages/infiniteloading/infiniteloading.d.ts +3 -3
  118. package/dist/esm/types/src/packages/infiniteloading/infiniteloading.taro.d.ts +4 -6
  119. package/dist/esm/types/src/packages/input/input.d.ts +1 -1
  120. package/dist/esm/types/src/packages/input/input.taro.d.ts +1 -1
  121. package/dist/esm/types/src/packages/menuitem/menuitem.d.ts +1 -1
  122. package/dist/esm/types/src/packages/menuitem/menuitem.taro.d.ts +1 -1
  123. package/dist/esm/types/src/packages/nutui.react.build.d.ts +2 -1
  124. package/dist/esm/types/src/packages/nutui.react.d.ts +3 -1
  125. package/dist/esm/types/src/packages/nutui.react.scss.d.ts +1 -0
  126. package/dist/esm/types/src/packages/nutui.react.taro.d.ts +3 -1
  127. package/dist/esm/types/src/packages/nutui.taro.react.build.d.ts +2 -1
  128. package/dist/esm/types/src/packages/popover/popover.d.ts +1 -1
  129. package/dist/esm/types/src/packages/popover/popover.taro.d.ts +1 -1
  130. package/dist/esm/types/src/packages/progress/progress.d.ts +1 -1
  131. package/dist/esm/types/src/packages/progress/progress.taro.d.ts +1 -1
  132. package/dist/esm/types/src/packages/radio/radio.d.ts +1 -1
  133. package/dist/esm/types/src/packages/radio/radio.taro.d.ts +1 -1
  134. package/dist/esm/types/src/packages/sticky/__test__/sticky.spec.d.ts +1 -0
  135. package/dist/esm/types/src/packages/sticky/demo.d.ts +3 -0
  136. package/dist/esm/types/src/packages/sticky/index.d.ts +2 -0
  137. package/dist/esm/types/src/packages/sticky/index.taro.d.ts +2 -0
  138. package/dist/esm/types/src/packages/sticky/sticky.d.ts +13 -0
  139. package/dist/esm/types/src/packages/sticky/sticky.taro.d.ts +4 -0
  140. package/dist/esm/types/src/packages/tabs/tabs.d.ts +1 -1
  141. package/dist/esm/types/src/packages/tabs/tabs.taro.d.ts +1 -1
  142. package/dist/esm/types/src/packages/toast/index.taro.d.ts +1 -1
  143. package/dist/esm/types/src/packages/toast/toast.taro.d.ts +11 -17
  144. package/dist/esm/types/src/packages/uploader/demo.d.ts +1 -0
  145. package/dist/esm/types/src/packages/uploader/upload.d.ts +4 -0
  146. package/dist/esm/types/src/packages/uploader/uploader.d.ts +16 -12
  147. package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +39 -19
  148. package/dist/esm/types/src/utils/date.d.ts +1 -1
  149. package/dist/esm/types/src/utils/useWatch.d.ts +6 -0
  150. package/dist/esm/{uploader.taro-4fd5dd3c.js → uploader.taro-6184abe7.js} +181 -131
  151. package/dist/locales/base.js +1 -1
  152. package/dist/locales/en-US.js +1 -1
  153. package/dist/locales/id-ID.js +1 -1
  154. package/dist/locales/zh-CN.js +1 -1
  155. package/dist/locales/zh-TW.js +1 -1
  156. package/dist/nutui.react.es.js +1357 -1235
  157. package/dist/nutui.react.umd.js +1356 -1233
  158. package/dist/packages/barrage/barrage.scss +7 -2
  159. package/dist/packages/circleprogress/circleprogress.scss +3 -0
  160. package/dist/packages/sticky/sticky.scss +0 -0
  161. package/dist/style.css +1 -1
  162. package/dist/style.es.js +1 -1
  163. package/dist/styles/themes/default.scss +1 -0
  164. package/dist/types/index.d.ts +75 -64
  165. package/dist/types/nutui.taro.react.build.ts +3 -1
  166. package/package.json +10 -5
  167. package/dist/esm/render-4a3856cb.js +0 -32
  168. package/dist/esm/toast.taro-d4ecd6af.js +0 -300
@@ -4,7 +4,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _createClass from "@babel/runtime/helpers/createClass";
5
5
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
6
6
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
- var _excluded = ["children", "uploadIcon", "uploadIconSize", "name", "accept", "defaultFileList", "listType", "disabled", "multiple", "url", "defaultImg", "headers", "timeout", "method", "xhrState", "withCredentials", "data", "isPreview", "isDeletable", "maximum", "capture", "maximize", "className", "autoUpload", "clearInput", "start", "removeImage", "change", "fileItemClick", "progress", "success", "update", "failure", "oversize", "beforeUpload", "beforeDelete"];
7
+ var _excluded = ["children", "uploadIcon", "uploadIconSize", "name", "defaultFileList", "listType", "disabled", "url", "defaultImg", "headers", "timeout", "method", "xhrState", "data", "isPreview", "isDeletable", "maximum", "maximize", "className", "autoUpload", "sizeType", "sourceType", "onStart", "onRemove", "onChange", "onFileItemClick", "onProgress", "onSuccess", "onUpdate", "onFailure", "onOversize", "onBeforeUpload", "onBeforeXhrUpload", "onBeforeDelete"];
8
8
 
9
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
10
 
@@ -12,7 +12,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
12
12
 
13
13
  import React__default, { useState, useEffect, useImperativeHandle } from 'react';
14
14
  import classNames from 'classnames';
15
- import { I as Icon } from './icon-8dc4de10.js';
15
+ import { I as Icon } from './icon.taro-1d0d4fb7.js';
16
+ import { B as Button } from './button.taro-a9ebb937.js';
17
+ import { P as Progress } from './progress.taro-623bc807.js';
18
+ import Taro from '@tarojs/taro';
16
19
  import { c as cn } from './bem-893ad28d.js';
17
20
  import { u as useConfig } from './configprovider.taro-6c7b3056.js';
18
21
  import { C as ComponentDefaults } from './typings-1c5f2628.js';
@@ -24,8 +27,12 @@ var UploadOptions = /*#__PURE__*/_createClass(function UploadOptions() {
24
27
 
25
28
  _defineProperty(this, "name", 'file');
26
29
 
30
+ _defineProperty(this, "fileType", 'image');
31
+
27
32
  _defineProperty(this, "formData", void 0);
28
33
 
34
+ _defineProperty(this, "sourceFile", void 0);
35
+
29
36
  _defineProperty(this, "method", 'post');
30
37
 
31
38
  _defineProperty(this, "xhrState", 200);
@@ -45,6 +52,8 @@ var UploadOptions = /*#__PURE__*/_createClass(function UploadOptions() {
45
52
  _defineProperty(this, "onSuccess", void 0);
46
53
 
47
54
  _defineProperty(this, "onFailure", void 0);
55
+
56
+ _defineProperty(this, "beforeXhrUpload", void 0);
48
57
  });
49
58
 
50
59
  var Upload = /*#__PURE__*/function () {
@@ -98,11 +107,64 @@ var Upload = /*#__PURE__*/function () {
98
107
  }
99
108
 
100
109
  (_options$onStart = options.onStart) === null || _options$onStart === void 0 ? void 0 : _options$onStart.call(options, options);
101
- xhr.send(options.formData);
110
+
111
+ if (options.beforeXhrUpload) {
112
+ options.beforeXhrUpload(xhr, options);
113
+ } else {
114
+ xhr.send(options.formData);
115
+ }
102
116
  } else {
103
117
  console.warn('浏览器不支持 XMLHttpRequest');
104
118
  }
105
119
  }
120
+ }, {
121
+ key: "uploadTaro",
122
+ value: function uploadTaro(uploadFile, env) {
123
+ var options = this.options;
124
+
125
+ if (env === 'WEB') {
126
+ this.upload();
127
+ } else if (options.beforeXhrUpload) {
128
+ options.beforeXhrUpload(uploadFile, options);
129
+ } else {
130
+ var _options$onStart2;
131
+
132
+ var uploadTask = uploadFile({
133
+ url: options.url,
134
+ filePath: options.taroFilePath,
135
+ fileType: options.fileType,
136
+ header: _objectSpread({
137
+ 'Content-Type': 'multipart/form-data'
138
+ }, options.headers),
139
+ formData: options.formData,
140
+ name: options.name,
141
+ success: function success(response) {
142
+ if (options.xhrState == response.statusCode) {
143
+ var _options$onSuccess2;
144
+
145
+ (_options$onSuccess2 = options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call(options, response, options);
146
+ } else {
147
+ var _options$onFailure2;
148
+
149
+ (_options$onFailure2 = options.onFailure) === null || _options$onFailure2 === void 0 ? void 0 : _options$onFailure2.call(options, response, options);
150
+ }
151
+ },
152
+ fail: function fail(e) {
153
+ var _options$onFailure3;
154
+
155
+ (_options$onFailure3 = options.onFailure) === null || _options$onFailure3 === void 0 ? void 0 : _options$onFailure3.call(options, e, options);
156
+ }
157
+ });
158
+ (_options$onStart2 = options.onStart) === null || _options$onStart2 === void 0 ? void 0 : _options$onStart2.call(options, options);
159
+ uploadTask.progress(function (res) {
160
+ var _options$onProgress2;
161
+
162
+ (_options$onProgress2 = options.onProgress) === null || _options$onProgress2 === void 0 ? void 0 : _options$onProgress2.call(options, res, options); // console.log('上传进度', res.progress);
163
+ // console.log('已经上传的数据长度', res.totalBytesSent);
164
+ // console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend);
165
+ }); // uploadTask.abort(); // 取消上传任务
166
+ }
167
+ }
106
168
  }]);
107
169
 
108
170
  return Upload;
@@ -110,15 +172,15 @@ var Upload = /*#__PURE__*/function () {
110
172
 
111
173
  var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
112
174
  url: '',
113
- maximum: 1,
175
+ maximum: 9,
176
+ sizeType: ['original', 'compressed'],
177
+ sourceType: ['album', 'camera'],
114
178
  uploadIcon: 'photograph',
115
179
  uploadIconSize: '',
116
180
  listType: 'picture',
117
181
  name: 'file',
118
- accept: '*',
119
182
  disabled: false,
120
183
  autoUpload: true,
121
- multiple: false,
122
184
  maximize: Number.MAX_VALUE,
123
185
  data: {},
124
186
  headers: {},
@@ -126,12 +188,9 @@ var defaultProps = _objectSpread(_objectSpread({}, ComponentDefaults), {}, {
126
188
  defaultImg: '',
127
189
  xhrState: 200,
128
190
  timeout: 1000 * 30,
129
- withCredentials: false,
130
- clearInput: false,
131
191
  isPreview: true,
132
192
  isDeletable: true,
133
- capture: false,
134
- beforeDelete: function beforeDelete(file, files) {
193
+ onBeforeDelete: function onBeforeDelete(file, files) {
135
194
  return true;
136
195
  }
137
196
  });
@@ -151,7 +210,11 @@ var FileItem = /*#__PURE__*/_createClass(function FileItem() {
151
210
 
152
211
  _defineProperty(this, "type", void 0);
153
212
 
154
- _defineProperty(this, "formData", new FormData());
213
+ _defineProperty(this, "path", void 0);
214
+
215
+ _defineProperty(this, "percentage", 0);
216
+
217
+ _defineProperty(this, "formData", {});
155
218
  });
156
219
 
157
220
  var InternalUploader = function InternalUploader(props, ref) {
@@ -163,38 +226,36 @@ var InternalUploader = function InternalUploader(props, ref) {
163
226
  uploadIcon = _defaultProps$props.uploadIcon,
164
227
  uploadIconSize = _defaultProps$props.uploadIconSize,
165
228
  name = _defaultProps$props.name,
166
- accept = _defaultProps$props.accept,
167
229
  defaultFileList = _defaultProps$props.defaultFileList,
168
230
  listType = _defaultProps$props.listType,
169
231
  disabled = _defaultProps$props.disabled,
170
- multiple = _defaultProps$props.multiple,
171
232
  url = _defaultProps$props.url,
172
233
  defaultImg = _defaultProps$props.defaultImg,
173
234
  headers = _defaultProps$props.headers,
174
235
  timeout = _defaultProps$props.timeout,
175
236
  method = _defaultProps$props.method,
176
237
  xhrState = _defaultProps$props.xhrState,
177
- withCredentials = _defaultProps$props.withCredentials,
178
238
  data = _defaultProps$props.data,
179
239
  isPreview = _defaultProps$props.isPreview,
180
240
  isDeletable = _defaultProps$props.isDeletable,
181
241
  maximum = _defaultProps$props.maximum,
182
- capture = _defaultProps$props.capture,
183
242
  maximize = _defaultProps$props.maximize,
184
243
  className = _defaultProps$props.className,
185
244
  autoUpload = _defaultProps$props.autoUpload,
186
- clearInput = _defaultProps$props.clearInput,
187
- start = _defaultProps$props.start,
188
- removeImage = _defaultProps$props.removeImage,
189
- change = _defaultProps$props.change,
190
- fileItemClick = _defaultProps$props.fileItemClick,
191
- progress = _defaultProps$props.progress,
192
- success = _defaultProps$props.success,
193
- update = _defaultProps$props.update,
194
- failure = _defaultProps$props.failure,
195
- oversize = _defaultProps$props.oversize,
196
- beforeUpload = _defaultProps$props.beforeUpload,
197
- beforeDelete = _defaultProps$props.beforeDelete,
245
+ sizeType = _defaultProps$props.sizeType,
246
+ sourceType = _defaultProps$props.sourceType,
247
+ onStart = _defaultProps$props.onStart,
248
+ onRemove = _defaultProps$props.onRemove,
249
+ onChange = _defaultProps$props.onChange,
250
+ onFileItemClick = _defaultProps$props.onFileItemClick,
251
+ onProgress = _defaultProps$props.onProgress,
252
+ onSuccess = _defaultProps$props.onSuccess,
253
+ onUpdate = _defaultProps$props.onUpdate,
254
+ onFailure = _defaultProps$props.onFailure,
255
+ onOversize = _defaultProps$props.onOversize,
256
+ onBeforeUpload = _defaultProps$props.onBeforeUpload,
257
+ onBeforeXhrUpload = _defaultProps$props.onBeforeXhrUpload,
258
+ onBeforeDelete = _defaultProps$props.onBeforeDelete,
198
259
  restProps = _objectWithoutProperties(_defaultProps$props, _excluded);
199
260
 
200
261
  var _useState = useState([]),
@@ -208,8 +269,6 @@ var InternalUploader = function InternalUploader(props, ref) {
208
269
  setUploadQueue = _useState4[1];
209
270
 
210
271
  useEffect(function () {
211
- console.log('defaultFileList', defaultFileList);
212
-
213
272
  if (defaultFileList) {
214
273
  setFileList(defaultFileList);
215
274
  }
@@ -221,7 +280,7 @@ var InternalUploader = function InternalUploader(props, ref) {
221
280
  submit: function submit() {
222
281
  Promise.all(uploadQueue).then(function (res) {
223
282
  res.forEach(function (i) {
224
- return i.upload();
283
+ return i.uploadTaro(Taro.uploadFile, Taro.getEnv());
225
284
  });
226
285
  });
227
286
  }
@@ -239,28 +298,33 @@ var InternalUploader = function InternalUploader(props, ref) {
239
298
  }
240
299
  };
241
300
 
242
- var clearInputValue = function clearInputValue(el) {
243
- el.value = '';
301
+ var chooseImage = function chooseImage() {
302
+ if (disabled) {
303
+ return;
304
+ }
305
+
306
+ Taro.chooseImage({
307
+ // 选择数量
308
+ count: maximum * 1 - fileList.length,
309
+ // 可以指定是原图还是压缩图,默认二者都有
310
+ sizeType: sizeType,
311
+ sourceType: sourceType,
312
+ success: onChangeFn
313
+ });
244
314
  };
245
315
 
246
316
  var executeUpload = function executeUpload(fileItem, index) {
247
317
  var uploadOption = new UploadOptions();
318
+ uploadOption.name = name;
248
319
  uploadOption.url = url;
249
-
250
- for (var _i2 = 0, _Object$entries2 = Object.entries(data); _i2 < _Object$entries2.length; _i2++) {
251
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
252
- key = _Object$entries2$_i[0],
253
- value = _Object$entries2$_i[1];
254
-
255
- fileItem.formData.append(key, value);
256
- }
257
-
320
+ uploadOption.fileType = fileItem.type;
258
321
  uploadOption.formData = fileItem.formData;
259
322
  uploadOption.timeout = timeout * 1;
260
323
  uploadOption.method = method;
261
324
  uploadOption.xhrState = xhrState;
262
325
  uploadOption.headers = headers;
263
- uploadOption.withCredentials = withCredentials;
326
+ uploadOption.taroFilePath = fileItem.path;
327
+ uploadOption.beforeXhrUpload = onBeforeXhrUpload;
264
328
 
265
329
  uploadOption.onStart = function (option) {
266
330
  clearUploadQueue(index);
@@ -273,7 +337,7 @@ var InternalUploader = function InternalUploader(props, ref) {
273
337
  });
274
338
  return _toConsumableArray(fileList);
275
339
  });
276
- start && start(option);
340
+ onStart && onStart(option);
277
341
  };
278
342
 
279
343
  uploadOption.onProgress = function (e, option) {
@@ -282,19 +346,21 @@ var InternalUploader = function InternalUploader(props, ref) {
282
346
  if (item.uid === fileItem.uid) {
283
347
  item.status = 'uploading';
284
348
  item.message = locale.uploader.uploading;
349
+ item.percentage = e.progress;
350
+ onProgress && onProgress({
351
+ e: e,
352
+ option: option,
353
+ percentage: item.percentage
354
+ });
285
355
  }
286
356
  });
287
357
  return _toConsumableArray(fileList);
288
358
  });
289
- progress && progress({
290
- e: e,
291
- option: option
292
- });
293
359
  };
294
360
 
295
361
  uploadOption.onSuccess = function (responseText, option) {
296
362
  setFileList(function (fileList) {
297
- update && update(fileList);
363
+ onUpdate && onUpdate(fileList);
298
364
  fileList.map(function (item) {
299
365
  if (item.uid === fileItem.uid) {
300
366
  item.status = 'success';
@@ -303,7 +369,7 @@ var InternalUploader = function InternalUploader(props, ref) {
303
369
  });
304
370
  return _toConsumableArray(fileList);
305
371
  });
306
- success && success({
372
+ onSuccess && onSuccess({
307
373
  responseText: responseText,
308
374
  option: option
309
375
  });
@@ -319,7 +385,7 @@ var InternalUploader = function InternalUploader(props, ref) {
319
385
  });
320
386
  return _toConsumableArray(fileList);
321
387
  });
322
- failure && failure({
388
+ onFailure && onFailure({
323
389
  responseText: responseText,
324
390
  option: option
325
391
  });
@@ -328,7 +394,7 @@ var InternalUploader = function InternalUploader(props, ref) {
328
394
  var task = new Upload(uploadOption);
329
395
 
330
396
  if (props.autoUpload) {
331
- task.upload();
397
+ task.uploadTaro(Taro.uploadFile, Taro.getEnv());
332
398
  } else {
333
399
  uploadQueue.push(new Promise(function (resolve, reject) {
334
400
  resolve(task);
@@ -338,37 +404,56 @@ var InternalUploader = function InternalUploader(props, ref) {
338
404
  };
339
405
 
340
406
  var readFile = function readFile(files) {
407
+ var imgReg = /\.(png|jpeg|jpg|webp|gif)$/i;
341
408
  files.forEach(function (file, index) {
342
- var formData = new FormData();
343
- formData.append(name, file);
409
+ console.log('file', file);
410
+ var fileType = file.type;
344
411
  var fileItem = new FileItem();
345
- fileItem.name = file.name;
412
+
413
+ if (!fileType && imgReg.test(file.path)) {
414
+ fileType = 'image';
415
+ }
416
+
417
+ fileItem.path = file.path;
418
+ fileItem.name = file.path;
346
419
  fileItem.status = 'ready';
347
- fileItem.type = file.type;
348
- fileItem.formData = formData;
349
- fileItem.uid = file.lastModified + fileItem.uid;
350
420
  fileItem.message = locale.uploader.readyUpload;
351
- executeUpload(fileItem, index);
421
+ fileItem.type = fileType;
352
422
 
353
- if (isPreview && file.type.includes('image')) {
354
- var reader = new FileReader();
423
+ if (Taro.getEnv() == 'WEB') {
424
+ var _file$originalFileObj, _file$originalFileObj2;
355
425
 
356
- reader.onload = function (event) {
357
- fileItem.url = event.target.result;
358
- fileList.push(fileItem);
359
- setFileList(_toConsumableArray(fileList));
360
- };
426
+ var formData = new FormData();
427
+
428
+ for (var _i2 = 0, _Object$entries2 = Object.entries(data); _i2 < _Object$entries2.length; _i2++) {
429
+ var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
430
+ key = _Object$entries2$_i[0],
431
+ value = _Object$entries2$_i[1];
432
+
433
+ formData.append(key, value);
434
+ }
361
435
 
362
- reader.readAsDataURL(file);
436
+ formData.append(name, file.originalFileObj);
437
+ fileItem.name = (_file$originalFileObj = file.originalFileObj) === null || _file$originalFileObj === void 0 ? void 0 : _file$originalFileObj.name;
438
+ fileItem.type = (_file$originalFileObj2 = file.originalFileObj) === null || _file$originalFileObj2 === void 0 ? void 0 : _file$originalFileObj2.type;
439
+ fileItem.formData = formData;
363
440
  } else {
364
- fileList.push(fileItem);
365
- setFileList(_toConsumableArray(fileList));
441
+ fileItem.formData = data;
366
442
  }
443
+
444
+ if (isPreview) {
445
+ fileItem.url = file.path;
446
+ }
447
+
448
+ fileList.push(fileItem);
449
+ setFileList(_toConsumableArray(fileList));
450
+ executeUpload(fileItem, index);
367
451
  });
368
452
  };
369
453
 
370
454
  var filterFiles = function filterFiles(files) {
371
455
  var maximum = props.maximum * 1;
456
+ var maximize = props.maximize * 1;
372
457
  var oversizes = new Array();
373
458
  var filterFile = files.filter(function (file) {
374
459
  if (file.size > maximize) {
@@ -380,16 +465,13 @@ var InternalUploader = function InternalUploader(props, ref) {
380
465
  });
381
466
 
382
467
  if (oversizes.length) {
383
- oversize && oversize(files);
468
+ onOversize && onOversize(files);
384
469
  }
385
470
 
386
- if (filterFile.length > maximum) {
387
- filterFile.splice(maximum, filterFile.length - maximum);
388
- }
471
+ var currentFileLength = filterFile.length + fileList.length;
389
472
 
390
- if (fileList.length !== 0) {
391
- var index = maximum - fileList.length;
392
- filterFile.splice(index, filterFile.length - index);
473
+ if (currentFileLength > maximum) {
474
+ filterFile.splice(filterFile.length - (currentFileLength - maximum));
393
475
  }
394
476
 
395
477
  return filterFile;
@@ -398,71 +480,48 @@ var InternalUploader = function InternalUploader(props, ref) {
398
480
  var onDelete = function onDelete(file, index) {
399
481
  clearUploadQueue(index);
400
482
 
401
- if (beforeDelete && beforeDelete(file, fileList)) {
483
+ if (onBeforeDelete && onBeforeDelete(file, fileList)) {
402
484
  fileList.splice(index, 1);
403
- removeImage && removeImage(file, fileList);
485
+ onRemove && onRemove(file, fileList);
404
486
  setFileList(_toConsumableArray(fileList));
405
487
  } else {
406
488
  console.log(locale.uploader.deleteWord);
407
489
  }
408
490
  };
409
491
 
410
- var fileChange = function fileChange(event) {
411
- if (disabled) {
412
- return;
413
- }
414
-
415
- var $el = event.target;
416
- var files = $el.files;
492
+ var onChangeFn = function onChangeFn(res) {
493
+ // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
494
+ var tempFiles = res.tempFiles;
417
495
 
418
- if (beforeUpload) {
419
- beforeUpload(new Array().slice.call(files)).then(function (f) {
420
- var _files = filterFiles(new Array().slice.call(f));
496
+ if (onBeforeUpload) {
497
+ onBeforeUpload(tempFiles).then(function (f) {
498
+ var _files = filterFiles(f);
421
499
 
422
500
  readFile(_files);
423
501
  });
424
502
  } else {
425
- var _files = filterFiles(new Array().slice.call(files));
503
+ var _files = filterFiles(tempFiles);
426
504
 
427
505
  readFile(_files);
428
506
  }
429
507
 
430
- props.change && props.change({
431
- fileList: fileList,
432
- event: event
508
+ onChange && onChange({
509
+ fileList: fileList
433
510
  });
434
-
435
- if (clearInput) {
436
- clearInputValue($el);
437
- }
438
511
  };
439
512
 
440
513
  var handleItemClick = function handleItemClick(file) {
441
- fileItemClick && fileItemClick(file);
514
+ onFileItemClick && onFileItemClick(file);
442
515
  };
443
516
 
444
517
  return React__default.createElement("div", _objectSpread({
445
518
  className: classes
446
519
  }, restProps), children && React__default.createElement("div", {
447
520
  className: "nut-uploader__slot"
448
- }, React__default.createElement(React__default.Fragment, null, children, maximum > fileList.length && React__default.createElement(React__default.Fragment, null, capture ? React__default.createElement("input", {
449
- className: "nut-uploader__input",
450
- type: "file",
451
- capture: "user",
452
- name: name,
453
- accept: accept,
454
- disabled: disabled,
455
- multiple: multiple,
456
- onChange: fileChange
457
- }) : React__default.createElement("input", {
521
+ }, React__default.createElement(React__default.Fragment, null, children, maximum > fileList.length && React__default.createElement(Button, {
458
522
  className: "nut-uploader__input",
459
- type: "file",
460
- name: name,
461
- accept: accept,
462
- disabled: disabled,
463
- multiple: multiple,
464
- onChange: fileChange
465
- })))), fileList.length !== 0 && fileList.map(function (item, index) {
523
+ onClick: chooseImage
524
+ }))), fileList.length !== 0 && fileList.map(function (item, index) {
466
525
  return React__default.createElement("div", {
467
526
  className: "nut-uploader__preview ".concat(listType),
468
527
  key: item.uid
@@ -487,7 +546,7 @@ var InternalUploader = function InternalUploader(props, ref) {
487
546
  color: "rgba(0,0,0,0.6)",
488
547
  className: "close",
489
548
  name: "failure",
490
- click: function click() {
549
+ onClick: function onClick() {
491
550
  return onDelete(item, index);
492
551
  }
493
552
  }), item.type.includes('image') ? React__default.createElement(React__default.Fragment, null, item.url && React__default.createElement("img", {
@@ -533,9 +592,14 @@ var InternalUploader = function InternalUploader(props, ref) {
533
592
  color: "#808080",
534
593
  className: "nut-uploader__preview-img__file__del",
535
594
  name: "del",
536
- click: function click() {
595
+ onClick: function onClick() {
537
596
  return onDelete(item, index);
538
597
  }
598
+ }), item.status === 'uploading' && React__default.createElement(Progress, {
599
+ size: "small",
600
+ percentage: item.percentage,
601
+ strokeColor: "linear-gradient(270deg, rgba(18,126,255,1) 0%,rgba(32,147,255,1) 32.815625%,rgba(13,242,204,1) 100%)",
602
+ showText: false
539
603
  })));
540
604
  }), maximum > fileList.length && listType === 'picture' && !children && React__default.createElement("div", {
541
605
  className: "nut-uploader__upload ".concat(listType)
@@ -545,23 +609,9 @@ var InternalUploader = function InternalUploader(props, ref) {
545
609
  size: uploadIconSize,
546
610
  color: "#808080",
547
611
  name: uploadIcon
548
- }), capture ? React__default.createElement("input", {
549
- className: "nut-uploader__input",
550
- type: "file",
551
- capture: "user",
552
- name: name,
553
- accept: accept,
554
- disabled: disabled,
555
- multiple: multiple,
556
- onChange: fileChange
557
- }) : React__default.createElement("input", {
612
+ }), React__default.createElement(Button, {
558
613
  className: "nut-uploader__input",
559
- type: "file",
560
- name: name,
561
- accept: accept,
562
- disabled: disabled,
563
- multiple: multiple,
564
- onChange: fileChange
614
+ onClick: chooseImage
565
615
  })));
566
616
  };
567
617
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.3.3-beta.2 Wed Sep 14 2022 14:26:47 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.3.4-beta.0 Wed Sep 21 2022 14:34:39 GMT+0800 (China Standard Time)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.3.3-beta.2 Wed Sep 14 2022 14:26:47 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.3.4-beta.0 Wed Sep 21 2022 14:34:39 GMT+0800 (China Standard Time)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.3.3-beta.2 Wed Sep 14 2022 14:26:47 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.3.4-beta.0 Wed Sep 21 2022 14:34:39 GMT+0800 (China Standard Time)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.3.3-beta.2 Wed Sep 14 2022 14:26:47 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.3.4-beta.0 Wed Sep 21 2022 14:34:39 GMT+0800 (China Standard Time)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.3.3-beta.2 Wed Sep 14 2022 14:26:47 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.3.4-beta.0 Wed Sep 21 2022 14:34:39 GMT+0800 (China Standard Time)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */