ablok-components 0.3.93 → 0.3.95

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.
@@ -2,6 +2,19 @@ declare function __VLS_template(): {
2
2
  attrs: Partial<{}>;
3
3
  slots: {
4
4
  'bulk-remove'?(_: {}): any;
5
+ 'upload-progress'?(_: {
6
+ bind: {
7
+ item: {
8
+ type?: string;
9
+ src?: string;
10
+ name?: string;
11
+ size?: number;
12
+ lastModified?: number;
13
+ uploadProgress?: number;
14
+ };
15
+ index: number;
16
+ };
17
+ }): any;
5
18
  button?(_: {}): any;
6
19
  };
7
20
  refs: {
@@ -12,6 +25,10 @@ declare function __VLS_template(): {
12
25
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
26
  declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js').DefineComponent<import('../../../../vue/dist/vue.esm-bundler.js').ExtractPropTypes<{
14
27
  storeId: StringConstructor;
28
+ id: {
29
+ type: StringConstructor;
30
+ default: () => string;
31
+ };
15
32
  modelValue: {
16
33
  type: {
17
34
  (arrayLength: number): {
@@ -21,6 +38,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
21
38
  name?: string;
22
39
  size?: number;
23
40
  lastModified?: number;
41
+ uploadProgress?: number;
24
42
  }[];
25
43
  (...items: {
26
44
  type?: string;
@@ -29,6 +47,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
29
47
  name?: string;
30
48
  size?: number;
31
49
  lastModified?: number;
50
+ uploadProgress?: number;
32
51
  }[]): {
33
52
  type?: string;
34
53
  caption?: string;
@@ -36,6 +55,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
36
55
  name?: string;
37
56
  size?: number;
38
57
  lastModified?: number;
58
+ uploadProgress?: number;
39
59
  }[];
40
60
  new (arrayLength: number): {
41
61
  type?: string;
@@ -44,6 +64,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
44
64
  name?: string;
45
65
  size?: number;
46
66
  lastModified?: number;
67
+ uploadProgress?: number;
47
68
  }[];
48
69
  new (...items: {
49
70
  type?: string;
@@ -52,6 +73,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
52
73
  name?: string;
53
74
  size?: number;
54
75
  lastModified?: number;
76
+ uploadProgress?: number;
55
77
  }[]): {
56
78
  type?: string;
57
79
  caption?: string;
@@ -59,6 +81,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
59
81
  name?: string;
60
82
  size?: number;
61
83
  lastModified?: number;
84
+ uploadProgress?: number;
62
85
  }[];
63
86
  isArray(arg: any): arg is any[];
64
87
  readonly prototype: any[];
@@ -108,10 +131,18 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
108
131
  type: BooleanConstructor;
109
132
  default: boolean;
110
133
  };
134
+ maxFiles: {
135
+ type: NumberConstructor;
136
+ default: number;
137
+ };
111
138
  }>, {}, {}, {}, {}, import('../../../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, import('../../../../vue/dist/vue.esm-bundler.js').ComponentOptionsMixin, {
112
139
  "update:modelValue": (...args: any[]) => void;
113
140
  }, string, import('../../../../vue/dist/vue.esm-bundler.js').PublicProps, Readonly<import('../../../../vue/dist/vue.esm-bundler.js').ExtractPropTypes<{
114
141
  storeId: StringConstructor;
142
+ id: {
143
+ type: StringConstructor;
144
+ default: () => string;
145
+ };
115
146
  modelValue: {
116
147
  type: {
117
148
  (arrayLength: number): {
@@ -121,6 +152,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
121
152
  name?: string;
122
153
  size?: number;
123
154
  lastModified?: number;
155
+ uploadProgress?: number;
124
156
  }[];
125
157
  (...items: {
126
158
  type?: string;
@@ -129,6 +161,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
129
161
  name?: string;
130
162
  size?: number;
131
163
  lastModified?: number;
164
+ uploadProgress?: number;
132
165
  }[]): {
133
166
  type?: string;
134
167
  caption?: string;
@@ -136,6 +169,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
136
169
  name?: string;
137
170
  size?: number;
138
171
  lastModified?: number;
172
+ uploadProgress?: number;
139
173
  }[];
140
174
  new (arrayLength: number): {
141
175
  type?: string;
@@ -144,6 +178,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
144
178
  name?: string;
145
179
  size?: number;
146
180
  lastModified?: number;
181
+ uploadProgress?: number;
147
182
  }[];
148
183
  new (...items: {
149
184
  type?: string;
@@ -152,6 +187,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
152
187
  name?: string;
153
188
  size?: number;
154
189
  lastModified?: number;
190
+ uploadProgress?: number;
155
191
  }[]): {
156
192
  type?: string;
157
193
  caption?: string;
@@ -159,6 +195,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
159
195
  name?: string;
160
196
  size?: number;
161
197
  lastModified?: number;
198
+ uploadProgress?: number;
162
199
  }[];
163
200
  isArray(arg: any): arg is any[];
164
201
  readonly prototype: any[];
@@ -208,11 +245,16 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
208
245
  type: BooleanConstructor;
209
246
  default: boolean;
210
247
  };
248
+ maxFiles: {
249
+ type: NumberConstructor;
250
+ default: number;
251
+ };
211
252
  }>> & Readonly<{
212
253
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
213
254
  }>, {
214
255
  size: number;
215
256
  title: string;
257
+ id: string;
216
258
  modelValue: {
217
259
  type?: string;
218
260
  caption?: string;
@@ -220,6 +262,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
220
262
  name?: string;
221
263
  size?: number;
222
264
  lastModified?: number;
265
+ uploadProgress?: number;
223
266
  }[];
224
267
  disabled: boolean;
225
268
  hasHeader: boolean;
@@ -227,6 +270,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
227
270
  hasCaptions: boolean;
228
271
  editCaptions: boolean;
229
272
  allowDuplicateFiles: boolean;
273
+ maxFiles: number;
230
274
  }, {}, {}, {}, string, import('../../../../vue/dist/vue.esm-bundler.js').ComponentProvideOptions, true, {
231
275
  root: HTMLDivElement;
232
276
  }, HTMLDivElement>;
@@ -1,17 +1,24 @@
1
- import { defineComponent as D, computed as L, ref as _, resolveComponent as C, openBlock as i, createElementBlock as r, createElementVNode as o, unref as S, renderSlot as B, withModifiers as g, createVNode as p, createCommentVNode as c, toDisplayString as y, withCtx as w, Fragment as I, withDirectives as U, vModelText as N, nextTick as A } from "vue";
2
- import E from "../file-upload/file-upload.vue.js";
1
+ import { defineComponent as N, computed as V, ref as k, resolveComponent as x, openBlock as n, createElementBlock as i, createElementVNode as l, unref as U, renderSlot as $, withModifiers as M, createVNode as f, createCommentVNode as u, toDisplayString as g, withCtx as F, normalizeClass as P, Fragment as A, withDirectives as E, vModelText as R, nextTick as K } from "vue";
2
+ import j from "../file-upload/file-upload.vue.js";
3
3
  /* empty css */
4
- import { sanitizeHtml as R } from "../../../composables/useSanitize.js";
5
- const K = { class: "container" }, j = { class: "row" }, q = {
4
+ import { sanitizeHtml as q } from "../../../composables/useSanitize.js";
5
+ const G = { class: "container" }, J = { class: "row" }, O = {
6
6
  key: 0,
7
7
  class: "col-12"
8
- }, G = { class: "py-4 px-3 d-flex align-items-center border border-bottom-0" }, J = ["innerHTML"], O = { class: "col-12" }, P = {
8
+ }, Q = { class: "py-4 px-3 d-flex align-items-center border border-bottom-0" }, W = ["innerHTML"], X = { class: "col-12" }, Y = {
9
9
  key: 0,
10
10
  class: "grid place-items-center text-center text-muted py-5 border border-bottom-0"
11
- }, Q = { class: "m-0" }, W = { class: "preview-item border-bottom p-3" }, X = { class: "d-flex gap-3" }, Y = { class: "col-2" }, Z = { class: "col d-flex flex-column" }, ee = { class: "file-meta text-muted small mb-2" }, te = { class: "fw-semibold" }, oe = { key: 0 }, le = { key: 1 }, se = ["onUpdate:modelValue", "id"], ne = ["innerHTML"], ae = { class: "col-auto d-flex flex-column gap-2" }, ie = ["onClick"], re = ["onClick"], de = { class: "d-flex align-items-end p-3" }, ue = { class: "btn btn-primary btn-sm ms-auto d-flex align-items-center gap-2" }, ce = ["innerHTML"], be = /* @__PURE__ */ D({
11
+ }, Z = { class: "m-0" }, ee = { class: "preview-item border-bottom p-3" }, te = { class: "d-flex gap-3" }, le = { class: "col-2" }, oe = { class: "col d-flex flex-column" }, se = { class: "file-meta text-muted small mb-2" }, ae = { class: "fw-semibold" }, ne = { key: 0 }, ie = { key: 1 }, de = ["onUpdate:modelValue", "id"], re = ["innerHTML"], ue = {
12
+ key: 2,
13
+ class: "upload-progress mt-3 mb-0"
14
+ }, ce = ["value"], pe = { class: "col-auto d-flex flex-column gap-2" }, me = ["onClick"], fe = ["onClick"], ve = { class: "file-upload__label" }, be = { class: "d-flex align-items-end p-3" }, he = ["for"], ge = ["innerHTML"], Me = /* @__PURE__ */ N({
12
15
  __name: "bulk-upload",
13
16
  props: {
14
17
  storeId: String,
18
+ id: {
19
+ type: String,
20
+ default: () => `bulk-upload-${Math.random().toString(36).substring(2, 9)}`
21
+ },
15
22
  modelValue: {
16
23
  type: Array,
17
24
  default: []
@@ -50,89 +57,95 @@ const K = { class: "container" }, j = { class: "row" }, q = {
50
57
  allowDuplicateFiles: {
51
58
  type: Boolean,
52
59
  default: !1
60
+ },
61
+ maxFiles: {
62
+ type: Number,
63
+ default: 0
53
64
  }
54
65
  },
55
66
  emits: ["update:modelValue"],
56
- setup(u, { emit: V }) {
57
- const b = u, k = V, M = (e) => `${e.name ?? ""}|${e.size ?? 0}|${e.lastModified ?? 0}|${e.type ?? ""}`, m = L({
67
+ setup(d, { emit: z }) {
68
+ const r = d, C = z, w = (e) => `${e.name ?? ""}|${e.size ?? 0}|${e.lastModified ?? 0}|${e.type ?? ""}`, c = V({
58
69
  get: () => {
59
- const e = b.modelValue || [];
60
- return v.value = e.map((t) => t.caption || ""), e.map((t) => ({
70
+ const e = r.modelValue || [];
71
+ return b.value = e.map((t) => t.caption || ""), e.map((t) => ({
61
72
  type: t.type,
62
73
  src: t.src,
63
74
  ...t.name ? { name: t.name } : {},
64
75
  ...t.size ? { size: t.size } : {},
65
- ...t.lastModified ? { lastModified: t.lastModified } : {}
76
+ ...t.lastModified ? { lastModified: t.lastModified } : {},
77
+ ...t.uploadProgress ? { uploadProgress: t.uploadProgress } : {}
66
78
  }));
67
79
  },
68
80
  set: (e) => {
69
- const t = m.value || [], l = Array.isArray(e) ? e : [], a = b.allowDuplicateFiles ? l : l.filter((s) => {
70
- const d = M(s);
71
- return !t.some((x) => M(x) === d);
72
- });
73
- if (!b.allowDuplicateFiles && l.length > 0 && a.length === 0)
81
+ const t = c.value || [], a = Array.isArray(e) ? e : [], p = r.allowDuplicateFiles ? a : a.filter((y) => {
82
+ const _ = w(y);
83
+ return !t.some((I) => w(I) === _);
84
+ }), o = r.maxFiles > 0 ? Math.max(0, r.maxFiles - t.length) : void 0, s = typeof o == "number" ? p.slice(0, o) : p;
85
+ if (!r.allowDuplicateFiles && a.length > 0 && s.length === 0)
74
86
  return;
75
- const n = a.length <= t.length && a.every((s) => t.some((d) => d.src === s.src));
76
- h(n ? a : [...t, ...a]);
87
+ const m = s.length <= t.length && s.every((y) => t.some((_) => _.src === y.src));
88
+ h(m ? s : [...t, ...s]);
77
89
  }
78
- }), $ = _(null), f = _({}), v = _({});
79
- function H(e) {
80
- const t = [...b.modelValue || []];
81
- t.splice(e, 1), k("update:modelValue", t);
90
+ }), B = k(null), v = k({}), b = k({}), H = V(() => r.disabled || r.maxFiles > 0 && c.value.length >= r.maxFiles);
91
+ function S(e) {
92
+ const t = [...r.modelValue || []];
93
+ t.splice(e, 1), C("update:modelValue", t);
82
94
  }
83
- async function z(e) {
84
- f.value[e] = !f.value[e], f.value[e] || h(), await A(), $.value?.querySelector(`#caption-${e}`)?.focus();
95
+ async function D(e) {
96
+ v.value[e] = !v.value[e], v.value[e] || h(), await K(), B.value?.querySelector(`#caption-${e}`)?.focus();
85
97
  }
86
- function F(e) {
98
+ function T(e) {
87
99
  if (e == null) return "";
88
100
  const t = ["B", "KB", "MB", "GB", "TB"];
89
- let l = e, a = t.shift();
90
- for (; l >= 1024 && t.length; )
91
- l /= 1024, a = t.shift();
92
- return `${l.toFixed(1)} ${a}`;
101
+ let a = e, p = t.shift();
102
+ for (; a >= 1024 && t.length; )
103
+ a /= 1024, p = t.shift();
104
+ return `${a.toFixed(1)} ${p}`;
93
105
  }
94
- function T(e) {
106
+ function L(e) {
95
107
  return e ? new Date(e).toLocaleDateString() : "";
96
108
  }
97
109
  function h(e) {
98
- k("update:modelValue", (e || m.value).map((t, l) => ({
110
+ C("update:modelValue", (e || c.value).map((t, a) => ({
99
111
  ...t,
100
- caption: v.value[l] || ""
112
+ caption: b.value[a] || ""
101
113
  })));
102
114
  }
103
115
  return (e, t) => {
104
- const l = C("svg-icon"), a = C("base-image");
105
- return i(), r("div", {
116
+ const a = x("svg-icon"), p = x("base-image");
117
+ return n(), i("div", {
106
118
  class: "bulk-upload",
107
119
  ref_key: "root",
108
- ref: $
120
+ ref: B
109
121
  }, [
110
- o("div", K, [
111
- o("div", j, [
112
- u.hasHeader ? (i(), r("div", q, [
113
- o("div", G, [
114
- o("p", {
122
+ l("div", G, [
123
+ l("div", J, [
124
+ d.hasHeader ? (n(), i("div", O, [
125
+ l("div", Q, [
126
+ l("p", {
115
127
  class: "fw-bold m-0",
116
- innerHTML: S(R)(u.title || e.$t("fileInput.bulkUploadHeadline"))
117
- }, null, 8, J),
118
- B(e.$slots, "bulk-remove", {}, () => [
119
- u.hasBulkRemove ? (i(), r("button", {
128
+ innerHTML: U(q)(d.title || e.$t("fileInput.bulkUploadHeadline"))
129
+ }, null, 8, W),
130
+ $(e.$slots, "bulk-remove", {}, () => [
131
+ d.hasBulkRemove ? (n(), i("button", {
120
132
  key: 0,
121
- onClick: t[0] || (t[0] = g((n) => m.value = [], ["prevent"])),
133
+ onClick: t[0] || (t[0] = M((o) => c.value = [], ["prevent"])),
122
134
  class: "btn btn--close ms-auto p-0"
123
135
  }, [
124
- p(l, { symbol: "x" })
125
- ])) : c("", !0)
136
+ f(a, { symbol: "x" })
137
+ ])) : u("", !0)
126
138
  ])
127
139
  ])
128
- ])) : c("", !0),
129
- o("div", O, [
130
- m.value.length ? c("", !0) : (i(), r("div", P, [
131
- o("p", Q, y(e.$t("fileInput.noFilesSelected")), 1)
140
+ ])) : u("", !0),
141
+ l("div", X, [
142
+ c.value.length ? u("", !0) : (n(), i("div", Y, [
143
+ l("p", Z, g(e.$t("fileInput.noFilesSelected")), 1)
132
144
  ])),
133
- p(E, {
134
- modelValue: m.value,
135
- "onUpdate:modelValue": t[2] || (t[2] = (n) => m.value = n),
145
+ f(j, {
146
+ id: `${d.id}-file-upload`,
147
+ modelValue: c.value,
148
+ "onUpdate:modelValue": t[2] || (t[2] = (o) => c.value = o),
136
149
  multiple: !0,
137
150
  accept: "image/*",
138
151
  "drop-files": !0,
@@ -140,77 +153,93 @@ const K = { class: "container" }, j = { class: "row" }, q = {
140
153
  "local-url-format": "objectUrl",
141
154
  class: "d-flex flex-column border"
142
155
  }, {
143
- "preview-item": w(({ bind: { item: n, index: s } }) => [
144
- o("div", W, [
145
- o("div", X, [
146
- o("div", Y, [
147
- p(a, {
148
- src: n.src,
156
+ "preview-item": F(({ bind: { item: o, index: s } }) => [
157
+ l("div", ee, [
158
+ l("div", te, [
159
+ l("div", le, [
160
+ f(p, {
161
+ src: o.src,
149
162
  alt: "",
150
163
  class: "img-thumbnail"
151
164
  }, null, 8, ["src"])
152
165
  ]),
153
- o("div", Z, [
154
- o("div", ee, [
155
- o("div", te, y(n.name || e.$t("fileInput.unknownFile")), 1),
156
- o("div", null, [
157
- n.size ? (i(), r("span", oe, y(F(n.size)), 1)) : c("", !0),
158
- n.lastModified ? (i(), r("span", le, " · " + y(T(n.lastModified)), 1)) : c("", !0)
166
+ l("div", oe, [
167
+ l("div", se, [
168
+ l("div", ae, g(o.name || e.$t("fileInput.unknownFile")), 1),
169
+ l("div", null, [
170
+ o.size ? (n(), i("span", ne, g(T(o.size)), 1)) : u("", !0),
171
+ o.lastModified ? (n(), i("span", ie, " · " + g(L(o.lastModified)), 1)) : u("", !0)
159
172
  ])
160
173
  ]),
161
- u.hasCaptions ? (i(), r(I, { key: 0 }, [
162
- f.value[s] && u.editCaptions ? U((i(), r("textarea", {
174
+ d.hasCaptions ? (n(), i(A, { key: 0 }, [
175
+ v.value[s] && d.editCaptions ? E((n(), i("textarea", {
163
176
  key: 0,
164
- "onUpdate:modelValue": (d) => v.value[s] = d,
177
+ "onUpdate:modelValue": (m) => b.value[s] = m,
165
178
  id: `caption-${s}`,
166
179
  class: "form-control rounded-0 h-100",
167
- onChangeCapture: t[1] || (t[1] = (d) => h())
168
- }, null, 40, se)), [
169
- [N, v.value[s]]
170
- ]) : (i(), r("p", {
180
+ onChangeCapture: t[1] || (t[1] = (m) => h())
181
+ }, null, 40, de)), [
182
+ [R, b.value[s]]
183
+ ]) : (n(), i("p", {
171
184
  key: 1,
172
185
  class: "m-0",
173
- innerHTML: v.value[s] || `<small>${e.$t("fileInput.noCaption")}</small>`
174
- }, null, 8, ne))
175
- ], 64)) : c("", !0)
186
+ innerHTML: b.value[s] || `<small>${e.$t("fileInput.noCaption")}</small>`
187
+ }, null, 8, re)),
188
+ o.uploadProgress ? (n(), i("div", ue, [
189
+ $(e.$slots, "upload-progress", {
190
+ bind: { item: o, index: s }
191
+ }, () => [
192
+ l("progress", {
193
+ value: o.uploadProgress,
194
+ max: "100",
195
+ class: "w-100"
196
+ }, null, 8, ce)
197
+ ])
198
+ ])) : u("", !0)
199
+ ], 64)) : u("", !0)
176
200
  ]),
177
- o("div", ae, [
178
- o("button", {
179
- onClick: g((d) => H(s), ["prevent"]),
201
+ l("div", pe, [
202
+ l("button", {
203
+ onClick: M((m) => S(s), ["prevent"]),
180
204
  class: "btn btn--close"
181
205
  }, [
182
- p(l, { symbol: "x" })
183
- ], 8, ie),
184
- u.editCaptions ? (i(), r("button", {
206
+ f(a, { symbol: "x" })
207
+ ], 8, me),
208
+ d.editCaptions ? (n(), i("button", {
185
209
  key: 0,
186
- onClick: g((d) => z(s), ["prevent"]),
210
+ onClick: M((m) => D(s), ["prevent"]),
187
211
  class: "btn btn--close"
188
212
  }, [
189
- p(l, {
190
- symbol: f.value[s] ? "check" : "edit-3"
213
+ f(a, {
214
+ symbol: v.value[s] ? "check" : "edit-3"
191
215
  }, null, 8, ["symbol"])
192
- ], 8, re)) : c("", !0)
216
+ ], 8, fe)) : u("", !0)
193
217
  ])
194
218
  ])
195
219
  ])
196
220
  ]),
197
- button: w(() => [
198
- B(e.$slots, "button", {}, () => [
199
- o("span", de, [
200
- o("span", ue, [
201
- p(l, {
202
- symbol: "upload",
203
- size: "small"
204
- }),
205
- o("span", {
206
- innerHTML: e.$t("common.selectFile")
207
- }, null, 8, ce)
221
+ label: F(() => [
222
+ $(e.$slots, "button", {}, () => [
223
+ l("span", ve, [
224
+ l("span", be, [
225
+ l("label", {
226
+ for: `${d.id}-file-upload`,
227
+ class: P(["btn btn-primary btn-sm ms-auto d-flex align-items-center gap-2", { disabled: H.value }])
228
+ }, [
229
+ f(a, {
230
+ symbol: "upload",
231
+ size: "small"
232
+ }),
233
+ l("span", {
234
+ innerHTML: e.$t("common.selectFile")
235
+ }, null, 8, ge)
236
+ ], 10, he)
208
237
  ])
209
238
  ])
210
239
  ])
211
240
  ]),
212
241
  _: 3
213
- }, 8, ["modelValue"])
242
+ }, 8, ["id", "modelValue"])
214
243
  ])
215
244
  ])
216
245
  ])
@@ -219,5 +248,5 @@ const K = { class: "container" }, j = { class: "row" }, q = {
219
248
  }
220
249
  });
221
250
  export {
222
- be as default
251
+ Me as default
223
252
  };
@@ -12,6 +12,7 @@ declare function __VLS_template(): {
12
12
  name?: string;
13
13
  size?: number;
14
14
  lastModified?: number;
15
+ uploadProgress?: number;
15
16
  };
16
17
  index: number;
17
18
  };
@@ -19,6 +20,7 @@ declare function __VLS_template(): {
19
20
  removeFile: typeof removeFile;
20
21
  };
21
22
  }): any;
23
+ label?(_: {}): any;
22
24
  button?(_: {}): any;
23
25
  };
24
26
  refs: {
@@ -36,6 +38,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
36
38
  name?: string;
37
39
  size?: number;
38
40
  lastModified?: number;
41
+ uploadProgress?: number;
39
42
  }[];
40
43
  (...items: {
41
44
  type?: string;
@@ -43,12 +46,14 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
43
46
  name?: string;
44
47
  size?: number;
45
48
  lastModified?: number;
49
+ uploadProgress?: number;
46
50
  }[]): {
47
51
  type?: string;
48
52
  src?: string;
49
53
  name?: string;
50
54
  size?: number;
51
55
  lastModified?: number;
56
+ uploadProgress?: number;
52
57
  }[];
53
58
  new (arrayLength: number): {
54
59
  type?: string;
@@ -56,6 +61,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
56
61
  name?: string;
57
62
  size?: number;
58
63
  lastModified?: number;
64
+ uploadProgress?: number;
59
65
  }[];
60
66
  new (...items: {
61
67
  type?: string;
@@ -63,12 +69,14 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
63
69
  name?: string;
64
70
  size?: number;
65
71
  lastModified?: number;
72
+ uploadProgress?: number;
66
73
  }[]): {
67
74
  type?: string;
68
75
  src?: string;
69
76
  name?: string;
70
77
  size?: number;
71
78
  lastModified?: number;
79
+ uploadProgress?: number;
72
80
  }[];
73
81
  isArray(arg: any): arg is any[];
74
82
  readonly prototype: any[];
@@ -178,6 +186,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
178
186
  name?: string;
179
187
  size?: number;
180
188
  lastModified?: number;
189
+ uploadProgress?: number;
181
190
  }[];
182
191
  (...items: {
183
192
  type?: string;
@@ -185,12 +194,14 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
185
194
  name?: string;
186
195
  size?: number;
187
196
  lastModified?: number;
197
+ uploadProgress?: number;
188
198
  }[]): {
189
199
  type?: string;
190
200
  src?: string;
191
201
  name?: string;
192
202
  size?: number;
193
203
  lastModified?: number;
204
+ uploadProgress?: number;
194
205
  }[];
195
206
  new (arrayLength: number): {
196
207
  type?: string;
@@ -198,6 +209,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
198
209
  name?: string;
199
210
  size?: number;
200
211
  lastModified?: number;
212
+ uploadProgress?: number;
201
213
  }[];
202
214
  new (...items: {
203
215
  type?: string;
@@ -205,12 +217,14 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
205
217
  name?: string;
206
218
  size?: number;
207
219
  lastModified?: number;
220
+ uploadProgress?: number;
208
221
  }[]): {
209
222
  type?: string;
210
223
  src?: string;
211
224
  name?: string;
212
225
  size?: number;
213
226
  lastModified?: number;
227
+ uploadProgress?: number;
214
228
  }[];
215
229
  isArray(arg: any): arg is any[];
216
230
  readonly prototype: any[];
@@ -323,6 +337,7 @@ declare const __VLS_component: import('../../../../vue/dist/vue.esm-bundler.js')
323
337
  name?: string;
324
338
  size?: number;
325
339
  lastModified?: number;
340
+ uploadProgress?: number;
326
341
  }[];
327
342
  name: string;
328
343
  placeholder: string;