@nutui/nutui 3.1.12-beta.1 → 3.1.12

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 (114) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/nutui.d.ts +1 -1
  3. package/dist/nutui.es.js +3219 -2562
  4. package/dist/nutui.umd.js +3292 -2565
  5. package/dist/packages/_es/ActionSheet.js +12 -13
  6. package/dist/packages/_es/Address.js +49 -63
  7. package/dist/packages/_es/Avatar.js +5 -4
  8. package/dist/packages/_es/BackTop.js +109 -72
  9. package/dist/packages/_es/Badge.js +5 -4
  10. package/dist/packages/_es/Barrage.js +57 -63
  11. package/dist/packages/_es/Button.js +6 -5
  12. package/dist/packages/_es/Calendar.js +18 -27
  13. package/dist/packages/_es/Card.js +8 -7
  14. package/dist/packages/_es/Cell.js +13 -5
  15. package/dist/packages/_es/CellGroup.js +14 -7
  16. package/dist/packages/_es/Checkbox.js +3 -3
  17. package/dist/packages/_es/CheckboxGroup.js +4 -9
  18. package/dist/packages/_es/CircleProgress.js +46 -142
  19. package/dist/packages/_es/Col.js +5 -4
  20. package/dist/packages/_es/Collapse.js +10 -35
  21. package/dist/packages/_es/CollapseItem.js +35 -80
  22. package/dist/packages/_es/CountDown.js +5 -7
  23. package/dist/packages/_es/CountUp.js +31 -34
  24. package/dist/packages/_es/DatePicker.js +219 -451
  25. package/dist/packages/_es/Dialog.js +98 -46
  26. package/dist/packages/_es/Divider.js +6 -5
  27. package/dist/packages/_es/Drag.js +50 -76
  28. package/dist/packages/_es/Elevator.js +52 -81
  29. package/dist/packages/_es/FixedNav.js +9 -8
  30. package/dist/packages/_es/Form.js +6 -5
  31. package/dist/packages/_es/FormItem.js +5 -4
  32. package/dist/packages/_es/Icon.js +40 -6
  33. package/dist/packages/_es/ImagePreview.js +158 -44
  34. package/dist/packages/_es/InfiniteLoading.js +109 -95
  35. package/dist/packages/_es/Input.js +21 -22
  36. package/dist/packages/_es/InputNumber.js +18 -24
  37. package/dist/packages/_es/Layout.js +2 -2
  38. package/dist/packages/_es/Menu.js +14 -16
  39. package/dist/packages/_es/MenuItem.js +11 -9
  40. package/dist/packages/_es/Navbar.js +7 -7
  41. package/dist/packages/_es/NoticeBar.js +26 -39
  42. package/dist/packages/_es/Notify.js +166 -30
  43. package/dist/packages/_es/NumberKeyboard.js +7 -9
  44. package/dist/packages/_es/OverLay.js +29 -22
  45. package/dist/packages/_es/Pagination.js +9 -8
  46. package/dist/packages/_es/Picker.js +447 -61
  47. package/dist/packages/_es/Popover.js +34 -161
  48. package/dist/packages/_es/Popup.js +77 -17
  49. package/dist/packages/_es/Price.js +7 -18
  50. package/dist/packages/_es/Progress.js +12 -23
  51. package/dist/packages/_es/Radio.js +3 -3
  52. package/dist/packages/_es/RadioGroup.js +2 -2
  53. package/dist/packages/_es/Range.js +31 -38
  54. package/dist/packages/_es/Rate.js +35 -17
  55. package/dist/packages/_es/Row.js +5 -4
  56. package/dist/packages/_es/SearchBar.js +5 -7
  57. package/dist/packages/_es/ShortPassword.js +59 -89
  58. package/dist/packages/_es/Signature.js +71 -70
  59. package/dist/packages/_es/Sku.js +43 -53
  60. package/dist/packages/_es/Step.js +8 -10
  61. package/dist/packages/_es/Steps.js +2 -2
  62. package/dist/packages/_es/Swipe.js +28 -43
  63. package/dist/packages/_es/Swiper.js +418 -17
  64. package/dist/packages/_es/SwiperItem.js +39 -14
  65. package/dist/packages/_es/Switch.js +32 -11
  66. package/dist/packages/_es/TabPane.js +5 -4
  67. package/dist/packages/_es/Tabbar.js +5 -4
  68. package/dist/packages/_es/TabbarItem.js +9 -8
  69. package/dist/packages/_es/Tabs.js +16 -22
  70. package/dist/packages/_es/Tag.js +6 -5
  71. package/dist/packages/_es/TextArea.js +12 -16
  72. package/dist/packages/_es/TimeDetail.js +5 -7
  73. package/dist/packages/_es/TimePannel.js +5 -7
  74. package/dist/packages/_es/TimeSelect.js +7 -12
  75. package/dist/packages/_es/Toast.js +178 -46
  76. package/dist/packages/_es/Uploader.js +149 -109
  77. package/dist/packages/_es/Video.js +405 -0
  78. package/dist/packages/_es/component.js +1 -1
  79. package/dist/packages/_es/index.js +7 -58
  80. package/dist/packages/_es/index2.js +58 -43
  81. package/dist/packages/_es/index3.js +28 -411
  82. package/dist/packages/_es/plugin-vue_export-helper.js +13 -0
  83. package/dist/packages/_es/pxCheck.js +1 -1
  84. package/dist/packages/_es/raf.js +1 -1
  85. package/dist/packages/_es/util.js +1 -1
  86. package/dist/packages/cellgroup/index.scss +9 -0
  87. package/dist/packages/dialog/index.scss +17 -0
  88. package/dist/packages/drag/index.scss +4 -0
  89. package/dist/packages/fixednav/index.scss +6 -1
  90. package/dist/packages/formitem/index.scss +3 -0
  91. package/dist/packages/icon/index.scss +2 -1
  92. package/dist/packages/numberkeyboard/index.scss +1 -1
  93. package/dist/packages/popover/index.scss +2 -2
  94. package/dist/packages/rate/index.scss +1 -0
  95. package/dist/packages/textarea/index.scss +1 -0
  96. package/dist/packages/timedetail/index.scss +1 -2
  97. package/dist/packages/timeselect/index.scss +3 -0
  98. package/dist/packages/toast/index.scss +6 -0
  99. package/dist/style.css +1 -1
  100. package/dist/style.es.js +2 -1
  101. package/dist/styles/font/config.json +2 -1
  102. package/dist/styles/font/demo_index.html +26 -3
  103. package/dist/styles/font/iconfont.css +7 -3
  104. package/dist/styles/font/iconfont.js +31 -32
  105. package/dist/styles/font/iconfont.json +7 -0
  106. package/dist/styles/font/iconfont.ttf +0 -0
  107. package/dist/styles/font/iconfont.woff +0 -0
  108. package/dist/styles/font/iconfont.woff2 +0 -0
  109. package/dist/styles/themes/default.scss +38 -38
  110. package/dist/styles/variables.scss +5 -1
  111. package/package.json +1 -1
  112. package/dist/packages/_es/commonProps.js +0 -30
  113. package/dist/packages/_es/index.taro.vue_vue&type=script&lang.js +0 -44
  114. package/dist/packages/_es/use-lock-scroll.js +0 -23
@@ -14,21 +14,18 @@ var __spreadValues = (a, b) => {
14
14
  }
15
15
  return a;
16
16
  };
17
- var __require = typeof require !== "undefined" ? require : (x) => {
18
- throw new Error('Dynamic require of "' + x + '" is not supported');
19
- };
20
17
  var __publicField = (obj, key, value) => {
21
18
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
19
  return value;
23
20
  };
24
21
  /*!
25
- * @nutui/nutui v3.1.11 Wed Nov 24 2021 14:54:38 GMT+0800 (中国标准时间)
22
+ * @nutui/nutui v3.1.12 Sat Nov 27 2021 11:30:43 GMT+0800 (中国标准时间)
26
23
  * (c) 2021 @jdf2e.
27
24
  * Released under the MIT License.
28
25
  */
29
- import { reactive, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createBlock, createCommentVNode, Fragment, renderList, createElementVNode, toDisplayString, createVNode, createTextVNode } from "vue";
26
+ import { reactive, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, renderSlot, Fragment, createCommentVNode, renderList, createElementVNode, toDisplayString, createVNode, createBlock, createTextVNode } from "vue";
30
27
  import { c as createComponent } from "./component.js";
31
- import Taro from "@tarojs/taro";
28
+ import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
32
29
  class UploadOptions {
33
30
  constructor() {
34
31
  __publicField(this, "url", "");
@@ -119,26 +116,17 @@ class FileItem {
119
116
  __publicField(this, "status", "ready");
120
117
  __publicField(this, "message", "\u51C6\u5907\u5B8C\u6210");
121
118
  __publicField(this, "uid", new Date().getTime().toString());
122
- __publicField(this, "url");
123
- __publicField(this, "path");
124
119
  __publicField(this, "name");
120
+ __publicField(this, "url");
125
121
  __publicField(this, "type");
126
122
  __publicField(this, "percentage", 0);
127
- __publicField(this, "formData", {});
123
+ __publicField(this, "formData", new FormData());
128
124
  }
129
125
  }
130
- var _sfc_main = create({
126
+ const _sfc_main = create({
131
127
  props: {
132
128
  name: { type: String, default: "file" },
133
129
  url: { type: String, default: "" },
134
- sizeType: {
135
- type: Array,
136
- default: () => ["original", "compressed"]
137
- },
138
- sourceType: {
139
- type: Array,
140
- default: () => ["album", "camera"]
141
- },
142
130
  timeout: { type: [Number, String], default: 1e3 * 30 },
143
131
  fileList: { type: Array, default: () => [] },
144
132
  isPreview: { type: Boolean, default: true },
@@ -147,7 +135,7 @@ var _sfc_main = create({
147
135
  method: { type: String, default: "post" },
148
136
  capture: { type: Boolean, default: false },
149
137
  maximize: { type: [Number, String], default: Number.MAX_VALUE },
150
- maximum: { type: [Number, String], default: 9 },
138
+ maximum: { type: [Number, String], default: 1 },
151
139
  clearInput: { type: Boolean, default: true },
152
140
  accept: { type: String, default: "*" },
153
141
  headers: { type: Object, default: {} },
@@ -155,8 +143,14 @@ var _sfc_main = create({
155
143
  uploadIcon: { type: String, default: "photograph" },
156
144
  uploadIconSize: { type: [String, Number], default: "" },
157
145
  xhrState: { type: [Number, String], default: 200 },
146
+ withCredentials: { type: Boolean, default: false },
147
+ multiple: { type: Boolean, default: false },
158
148
  disabled: { type: Boolean, default: false },
159
149
  autoUpload: { type: Boolean, default: true },
150
+ beforeUpload: {
151
+ type: Function,
152
+ default: null
153
+ },
160
154
  beforeDelete: {
161
155
  type: Function,
162
156
  default: (file, files) => {
@@ -185,101 +179,97 @@ var _sfc_main = create({
185
179
  [prefixCls]: true
186
180
  };
187
181
  });
188
- const chooseImage = () => {
189
- if (props.disabled) {
190
- return;
191
- }
192
- Taro.chooseImage({
193
- count: props.maximum * 1 - props.fileList.length,
194
- sizeType: props.sizeType,
195
- sourceType: props.sourceType,
196
- success: onChange
197
- });
182
+ const clearInput = (el) => {
183
+ el.value = "";
198
184
  };
199
185
  const fileItemClick = (fileItem) => {
200
186
  emit("file-item-click", { fileItem });
201
187
  };
202
- const executeUpload = (fileItem, index) => {
188
+ const executeUpload = (fileItem, index2) => {
203
189
  const uploadOption = new UploadOptions();
204
- uploadOption.name = props.name;
205
190
  uploadOption.url = props.url;
206
- for (const [key, value] of Object.entries(props.data)) {
207
- fileItem.formData[key] = value;
208
- }
209
191
  uploadOption.formData = fileItem.formData;
192
+ uploadOption.timeout = props.timeout * 1;
210
193
  uploadOption.method = props.method;
194
+ uploadOption.xhrState = props.xhrState;
211
195
  uploadOption.headers = props.headers;
212
- uploadOption.taroFilePath = fileItem.path;
196
+ uploadOption.withCredentials = props.withCredentials;
213
197
  uploadOption.onStart = (option) => {
214
198
  fileItem.status = "ready";
215
199
  fileItem.message = "\u51C6\u5907\u4E0A\u4F20";
216
- clearUploadQueue(index);
200
+ clearUploadQueue(index2);
217
201
  emit("start", option);
218
202
  };
219
203
  uploadOption.onProgress = (event, option) => {
220
204
  fileItem.status = "uploading";
221
205
  fileItem.message = "\u4E0A\u4F20\u4E2D";
222
- fileItem.percentage = event.progress;
206
+ fileItem.percentage = (event.loaded / event.total * 100).toFixed(0);
223
207
  emit("progress", { event, option, percentage: fileItem.percentage });
224
208
  };
225
- uploadOption.onSuccess = (data, option) => {
209
+ uploadOption.onSuccess = (responseText, option) => {
226
210
  fileItem.status = "success";
227
211
  fileItem.message = "\u4E0A\u4F20\u6210\u529F";
228
212
  emit("success", {
229
- data,
213
+ responseText,
230
214
  option,
231
215
  fileItem
232
216
  });
233
217
  emit("update:fileList", fileList);
234
218
  };
235
- uploadOption.onFailure = (data, option) => {
219
+ uploadOption.onFailure = (responseText, option) => {
236
220
  fileItem.status = "error";
237
221
  fileItem.message = "\u4E0A\u4F20\u5931\u8D25";
238
222
  emit("failure", {
239
- data,
223
+ responseText,
240
224
  option,
241
225
  fileItem
242
226
  });
243
227
  };
244
228
  let task = new Uploader(uploadOption);
245
229
  if (props.autoUpload) {
246
- task.uploadTaro(Taro.uploadFile);
230
+ task.upload();
247
231
  } else {
248
232
  uploadQueue.push(new Promise((resolve, reject) => {
249
233
  resolve(task);
250
234
  }));
251
235
  }
252
236
  };
253
- const clearUploadQueue = (index = -1) => {
254
- if (index > -1) {
255
- uploadQueue.splice(index, 1);
237
+ const clearUploadQueue = (index2 = -1) => {
238
+ if (index2 > -1) {
239
+ uploadQueue.splice(index2, 1);
256
240
  } else {
257
241
  uploadQueue = [];
258
242
  }
259
243
  };
260
244
  const submit = () => {
261
245
  Promise.all(uploadQueue).then((res) => {
262
- res.forEach((i) => i.uploadTaro(Taro.uploadFile));
246
+ res.forEach((i) => i.upload());
263
247
  });
264
248
  };
265
249
  const readFile = (files) => {
266
- const imgReg = /\.(png|jpeg|jpg|webp|gif)$/gi;
267
- files.forEach((file, index) => {
268
- let fileType = file.type;
269
- const fileItem = reactive(new FileItem());
270
- if (!fileType && imgReg.test(file.path)) {
271
- fileType = "image";
250
+ files.forEach((file, index2) => {
251
+ const formData = new FormData();
252
+ for (const [key, value] of Object.entries(props.data)) {
253
+ formData.append(key, value);
272
254
  }
273
- fileItem.path = file.path;
274
- fileItem.name = file.path;
255
+ formData.append(props.name, file);
256
+ const fileItem = reactive(new FileItem());
257
+ fileItem.name = file.name;
275
258
  fileItem.status = "ready";
259
+ fileItem.type = file.type;
260
+ fileItem.formData = formData;
276
261
  fileItem.message = "\u7B49\u5F85\u4E0A\u4F20";
277
- fileItem.type = fileType;
278
- if (props.isPreview) {
279
- fileItem.url = file.path;
262
+ executeUpload(fileItem, index2);
263
+ if (props.isPreview && file.type.includes("image")) {
264
+ const reader = new FileReader();
265
+ reader.onload = (event) => {
266
+ fileItem.url = event.target.result;
267
+ fileList.push(fileItem);
268
+ };
269
+ reader.readAsDataURL(file);
270
+ } else {
271
+ fileList.push(fileItem);
280
272
  }
281
- fileList.push(fileItem);
282
- executeUpload(fileItem, index);
283
273
  });
284
274
  };
285
275
  const filterFiles = (files) => {
@@ -302,10 +292,10 @@ var _sfc_main = create({
302
292
  }
303
293
  return files;
304
294
  };
305
- const onDelete = (file, index) => {
306
- clearUploadQueue(index);
295
+ const onDelete = (file, index2) => {
296
+ clearUploadQueue(index2);
307
297
  if (props.beforeDelete(file, fileList)) {
308
- fileList.splice(index, 1);
298
+ fileList.splice(index2, 1);
309
299
  emit("delete", {
310
300
  file,
311
301
  fileList
@@ -314,19 +304,34 @@ var _sfc_main = create({
314
304
  console.log("\u7528\u6237\u963B\u6B62\u4E86\u5220\u9664\uFF01");
315
305
  }
316
306
  };
317
- const onChange = (res) => {
318
- const { tempFilePaths, tempFiles } = res;
319
- const _files = filterFiles(tempFiles);
320
- readFile(_files);
307
+ const onChange = (event) => {
308
+ if (props.disabled) {
309
+ return;
310
+ }
311
+ const $el = event.target;
312
+ let { files } = $el;
313
+ if (props.beforeUpload) {
314
+ props.beforeUpload(files).then((f) => {
315
+ const _files = filterFiles(new Array().slice.call(f));
316
+ readFile(_files);
317
+ });
318
+ } else {
319
+ const _files = filterFiles(new Array().slice.call(files));
320
+ readFile(_files);
321
+ }
321
322
  emit("change", {
322
- fileList
323
+ fileList,
324
+ event
323
325
  });
326
+ if (props.clearInput) {
327
+ clearInput($el);
328
+ }
324
329
  };
325
330
  return {
331
+ onChange,
326
332
  onDelete,
327
333
  fileList,
328
334
  classes,
329
- chooseImage,
330
335
  fileItemClick,
331
336
  clearUploadQueue,
332
337
  submit
@@ -337,34 +342,37 @@ const _hoisted_1 = {
337
342
  key: 0,
338
343
  class: "nut-uploader__slot"
339
344
  };
340
- const _hoisted_2 = {
345
+ const _hoisted_2 = ["accept", "multiple", "name", "disabled"];
346
+ const _hoisted_3 = ["accept", "multiple", "name", "disabled"];
347
+ const _hoisted_4 = {
341
348
  key: 0,
342
349
  class: "nut-uploader__preview-img"
343
350
  };
344
- const _hoisted_3 = {
351
+ const _hoisted_5 = {
345
352
  key: 0,
346
353
  class: "nut-uploader__preview__progress"
347
354
  };
348
- const _hoisted_4 = { class: "nut-uploader__preview__progress__msg" };
349
- const _hoisted_5 = {
355
+ const _hoisted_6 = { class: "nut-uploader__preview__progress__msg" };
356
+ const _hoisted_7 = {
350
357
  key: 1,
351
358
  class: "nut-uploader__preview__progress"
352
359
  };
353
- const _hoisted_6 = { class: "nut-uploader__preview__progress__msg" };
354
- const _hoisted_7 = ["onClick", "src"];
355
- const _hoisted_8 = {
360
+ const _hoisted_8 = { class: "nut-uploader__preview__progress__msg" };
361
+ const _hoisted_9 = ["onClick", "src"];
362
+ const _hoisted_10 = {
356
363
  key: 4,
357
364
  class: "nut-uploader__preview-img__file"
358
365
  };
359
- const _hoisted_9 = ["onClick"];
360
- const _hoisted_10 = { class: "tips" };
361
- const _hoisted_11 = {
366
+ const _hoisted_11 = ["onClick"];
367
+ const _hoisted_12 = { class: "tips" };
368
+ const _hoisted_13 = {
362
369
  key: 1,
363
370
  class: "nut-uploader__preview-list"
364
371
  };
365
- const _hoisted_12 = ["onClick"];
372
+ const _hoisted_14 = ["onClick"];
373
+ const _hoisted_15 = ["accept", "multiple", "name", "disabled"];
374
+ const _hoisted_16 = ["accept", "multiple", "name", "disabled"];
366
375
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
367
- const _component_nut_button = resolveComponent("nut-button");
368
376
  const _component_nut_icon = resolveComponent("nut-icon");
369
377
  const _component_nut_progress = resolveComponent("nut-progress");
370
378
  return openBlock(), createElementBlock("view", {
@@ -372,64 +380,80 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
372
380
  }, [
373
381
  _ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_1, [
374
382
  renderSlot(_ctx.$slots, "default"),
375
- _ctx.maximum - _ctx.fileList.length ? (openBlock(), createBlock(_component_nut_button, {
376
- key: 0,
377
- class: "nut-uploader__input",
378
- onClick: _ctx.chooseImage
379
- }, null, 8, ["onClick"])) : createCommentVNode("", true)
383
+ _ctx.maximum - _ctx.fileList.length ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
384
+ _ctx.capture ? (openBlock(), createElementBlock("input", {
385
+ key: 0,
386
+ class: "nut-uploader__input",
387
+ type: "file",
388
+ capture: "camera",
389
+ accept: _ctx.accept,
390
+ multiple: _ctx.multiple,
391
+ name: _ctx.name,
392
+ disabled: _ctx.disabled,
393
+ onChange: _cache[0] || (_cache[0] = (...args) => _ctx.onChange && _ctx.onChange(...args))
394
+ }, null, 40, _hoisted_2)) : (openBlock(), createElementBlock("input", {
395
+ key: 1,
396
+ class: "nut-uploader__input",
397
+ type: "file",
398
+ accept: _ctx.accept,
399
+ multiple: _ctx.multiple,
400
+ name: _ctx.name,
401
+ disabled: _ctx.disabled,
402
+ onChange: _cache[1] || (_cache[1] = (...args) => _ctx.onChange && _ctx.onChange(...args))
403
+ }, null, 40, _hoisted_3))
404
+ ], 64)) : createCommentVNode("", true)
380
405
  ])) : createCommentVNode("", true),
381
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.fileList, (item, index) => {
382
- var _a;
406
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.fileList, (item, index2) => {
383
407
  return openBlock(), createElementBlock("view", {
384
408
  class: normalizeClass(["nut-uploader__preview", [_ctx.listType]]),
385
409
  key: item.uid
386
410
  }, [
387
- _ctx.listType == "picture" && !_ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_2, [
388
- item.status == "ready" ? (openBlock(), createElementBlock("view", _hoisted_3, [
389
- createElementVNode("view", _hoisted_4, toDisplayString(item.message), 1)
390
- ])) : item.status != "success" ? (openBlock(), createElementBlock("view", _hoisted_5, [
411
+ _ctx.listType == "picture" && !_ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_4, [
412
+ item.status == "ready" ? (openBlock(), createElementBlock("view", _hoisted_5, [
413
+ createElementVNode("view", _hoisted_6, toDisplayString(item.message), 1)
414
+ ])) : item.status != "success" ? (openBlock(), createElementBlock("view", _hoisted_7, [
391
415
  createVNode(_component_nut_icon, {
392
416
  color: "#fff",
393
417
  name: item.status == "error" ? "failure" : "loading"
394
418
  }, null, 8, ["name"]),
395
- createElementVNode("view", _hoisted_6, toDisplayString(item.message), 1)
419
+ createElementVNode("view", _hoisted_8, toDisplayString(item.message), 1)
396
420
  ])) : createCommentVNode("", true),
397
421
  _ctx.isDeletable ? (openBlock(), createBlock(_component_nut_icon, {
398
422
  key: 2,
399
423
  color: "rgba(0,0,0,0.6)",
400
- onClick: ($event) => _ctx.onDelete(item, index),
424
+ onClick: ($event) => _ctx.onDelete(item, index2),
401
425
  class: "close",
402
426
  name: "failure"
403
427
  }, null, 8, ["onClick"])) : createCommentVNode("", true),
404
- ((_a = item.type) == null ? void 0 : _a.includes("image")) && item.url ? (openBlock(), createElementBlock("img", {
428
+ item.type.includes("image") && item.url ? (openBlock(), createElementBlock("img", {
405
429
  key: 3,
406
430
  class: "nut-uploader__preview-img__c",
407
431
  onClick: ($event) => _ctx.fileItemClick(item),
408
432
  src: item.url
409
- }, null, 8, _hoisted_7)) : (openBlock(), createElementBlock("view", _hoisted_8, [
433
+ }, null, 8, _hoisted_9)) : (openBlock(), createElementBlock("view", _hoisted_10, [
410
434
  createElementVNode("view", {
411
- class: "nut-uploader__preview-img__file__name",
412
- onClick: ($event) => _ctx.fileItemClick(item)
435
+ onClick: ($event) => _ctx.fileItemClick(item),
436
+ class: "nut-uploader__preview-img__file__name"
413
437
  }, [
414
438
  createVNode(_component_nut_icon, {
415
439
  color: "#808080",
416
440
  name: "link"
417
441
  }),
418
442
  createTextVNode("\xA0" + toDisplayString(item.name), 1)
419
- ], 8, _hoisted_9)
443
+ ], 8, _hoisted_11)
420
444
  ])),
421
- createElementVNode("view", _hoisted_10, toDisplayString(item.name), 1)
422
- ])) : _ctx.listType == "list" ? (openBlock(), createElementBlock("view", _hoisted_11, [
445
+ createElementVNode("view", _hoisted_12, toDisplayString(item.name), 1)
446
+ ])) : _ctx.listType == "list" ? (openBlock(), createElementBlock("view", _hoisted_13, [
423
447
  createElementVNode("view", {
424
- class: normalizeClass(["nut-uploader__preview-img__file__name", [item.status]]),
425
- onClick: ($event) => _ctx.fileItemClick(item)
448
+ onClick: ($event) => _ctx.fileItemClick(item),
449
+ class: normalizeClass(["nut-uploader__preview-img__file__name", [item.status]])
426
450
  }, [
427
451
  createVNode(_component_nut_icon, { name: "link" }),
428
452
  createTextVNode("\xA0" + toDisplayString(item.name), 1)
429
- ], 10, _hoisted_12),
453
+ ], 10, _hoisted_14),
430
454
  createVNode(_component_nut_icon, {
431
455
  class: "nut-uploader__preview-img__file__del",
432
- onClick: ($event) => _ctx.onDelete(item, index),
456
+ onClick: ($event) => _ctx.onDelete(item, index2),
433
457
  color: "#808080",
434
458
  name: "del"
435
459
  }, null, 8, ["onClick"]),
@@ -452,12 +476,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
452
476
  color: "#808080",
453
477
  name: _ctx.uploadIcon
454
478
  }, null, 8, ["size", "name"]),
455
- createVNode(_component_nut_button, {
479
+ _ctx.capture ? (openBlock(), createElementBlock("input", {
480
+ key: 0,
481
+ class: "nut-uploader__input",
482
+ type: "file",
483
+ capture: "camera",
484
+ accept: _ctx.accept,
485
+ multiple: _ctx.multiple,
486
+ name: _ctx.name,
487
+ disabled: _ctx.disabled,
488
+ onChange: _cache[2] || (_cache[2] = (...args) => _ctx.onChange && _ctx.onChange(...args))
489
+ }, null, 40, _hoisted_15)) : (openBlock(), createElementBlock("input", {
490
+ key: 1,
456
491
  class: "nut-uploader__input",
457
- onClick: _ctx.chooseImage
458
- }, null, 8, ["onClick"])
492
+ type: "file",
493
+ accept: _ctx.accept,
494
+ multiple: _ctx.multiple,
495
+ name: _ctx.name,
496
+ disabled: _ctx.disabled,
497
+ onChange: _cache[3] || (_cache[3] = (...args) => _ctx.onChange && _ctx.onChange(...args))
498
+ }, null, 40, _hoisted_16))
459
499
  ], 2)) : createCommentVNode("", true)
460
500
  ], 2);
461
501
  }
462
- _sfc_main.render = _sfc_render;
463
- export { FileItem, _sfc_main as default };
502
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
503
+ export { FileItem, index as default };