vft 0.0.334 → 0.0.335

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.
@@ -14,7 +14,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
14
14
  type: import("vue").PropType<(evt: import("./types").UploadProgressEvent, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
15
15
  };
16
16
  onChange: {
17
- type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
17
+ type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles, uploadInstance?: any) => void>;
18
18
  };
19
19
  onError: {
20
20
  type: import("vue").PropType<(error: Error, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
@@ -42,6 +42,10 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
42
42
  type: import("vue").PropType<string>;
43
43
  default: string;
44
44
  };
45
+ fileList: {
46
+ type: import("vue").PropType<import("./types").UploadUserFile[]>;
47
+ default: never[];
48
+ };
45
49
  withCredentials: {
46
50
  type: import("vue").PropType<boolean>;
47
51
  };
@@ -53,10 +57,6 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
53
57
  type: import("vue").PropType<string>;
54
58
  default: string;
55
59
  };
56
- fileList: {
57
- type: import("vue").PropType<import("./types").UploadUserFile[]>;
58
- default: never[];
59
- };
60
60
  autoUpload: {
61
61
  type: import("vue").PropType<boolean>;
62
62
  default: boolean;
@@ -72,6 +72,18 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
72
72
  limit: {
73
73
  type: import("vue").PropType<number>;
74
74
  };
75
+ replaceOnLimit: {
76
+ type: import("vue").PropType<boolean>;
77
+ default: boolean;
78
+ };
79
+ maxSize: {
80
+ type: import("vue").PropType<number>;
81
+ default: undefined;
82
+ };
83
+ sizeExceedMessage: {
84
+ type: import("vue").PropType<string>;
85
+ default: string;
86
+ };
75
87
  beforeUpload: {
76
88
  type: import("vue").PropType<(rawFile: import("./types").UploadRawFile) => import("../types").Awaitable<void | undefined | null | boolean | File | Blob>>;
77
89
  };
@@ -85,6 +97,9 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
85
97
  type: import("vue").PropType<(files: File[], uploadFiles: import("./types").UploadUserFile[]) => void>;
86
98
  default: () => void;
87
99
  };
100
+ onSizeExceed: {
101
+ type: import("vue").PropType<(file: File, maxSize: number) => void>;
102
+ };
88
103
  beforeRemove: {
89
104
  type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => import("../types").Awaitable<boolean>>;
90
105
  };
@@ -147,12 +162,15 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
147
162
  method: string;
148
163
  multiple: boolean;
149
164
  action: string;
165
+ fileList: import("./types").UploadUserFile[];
150
166
  showFileList: boolean;
151
167
  accept: string;
152
- fileList: import("./types").UploadUserFile[];
153
168
  autoUpload: boolean;
154
169
  listType: import("./types").ListType;
155
170
  httpRequest: import("./types").UploadRequestHandler;
171
+ replaceOnLimit: boolean;
172
+ maxSize: number;
173
+ sizeExceedMessage: string;
156
174
  onExceed: import("./types").UploadHooks["onExceed"];
157
175
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
158
176
  P: {};
@@ -176,7 +194,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
176
194
  type: import("vue").PropType<(evt: import("./types").UploadProgressEvent, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
177
195
  };
178
196
  onChange: {
179
- type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
197
+ type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles, uploadInstance?: any) => void>;
180
198
  };
181
199
  onError: {
182
200
  type: import("vue").PropType<(error: Error, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
@@ -204,6 +222,10 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
204
222
  type: import("vue").PropType<string>;
205
223
  default: string;
206
224
  };
225
+ fileList: {
226
+ type: import("vue").PropType<import("./types").UploadUserFile[]>;
227
+ default: never[];
228
+ };
207
229
  withCredentials: {
208
230
  type: import("vue").PropType<boolean>;
209
231
  };
@@ -215,10 +237,6 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
215
237
  type: import("vue").PropType<string>;
216
238
  default: string;
217
239
  };
218
- fileList: {
219
- type: import("vue").PropType<import("./types").UploadUserFile[]>;
220
- default: never[];
221
- };
222
240
  autoUpload: {
223
241
  type: import("vue").PropType<boolean>;
224
242
  default: boolean;
@@ -234,6 +252,18 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
234
252
  limit: {
235
253
  type: import("vue").PropType<number>;
236
254
  };
255
+ replaceOnLimit: {
256
+ type: import("vue").PropType<boolean>;
257
+ default: boolean;
258
+ };
259
+ maxSize: {
260
+ type: import("vue").PropType<number>;
261
+ default: undefined;
262
+ };
263
+ sizeExceedMessage: {
264
+ type: import("vue").PropType<string>;
265
+ default: string;
266
+ };
237
267
  beforeUpload: {
238
268
  type: import("vue").PropType<(rawFile: import("./types").UploadRawFile) => import("../types").Awaitable<void | undefined | null | boolean | File | Blob>>;
239
269
  };
@@ -247,6 +277,9 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
247
277
  type: import("vue").PropType<(files: File[], uploadFiles: import("./types").UploadUserFile[]) => void>;
248
278
  default: () => void;
249
279
  };
280
+ onSizeExceed: {
281
+ type: import("vue").PropType<(file: File, maxSize: number) => void>;
282
+ };
250
283
  beforeRemove: {
251
284
  type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => import("../types").Awaitable<boolean>>;
252
285
  };
@@ -309,12 +342,15 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
309
342
  method: string;
310
343
  multiple: boolean;
311
344
  action: string;
345
+ fileList: import("./types").UploadUserFile[];
312
346
  showFileList: boolean;
313
347
  accept: string;
314
- fileList: import("./types").UploadUserFile[];
315
348
  autoUpload: boolean;
316
349
  listType: import("./types").ListType;
317
350
  httpRequest: import("./types").UploadRequestHandler;
351
+ replaceOnLimit: boolean;
352
+ maxSize: number;
353
+ sizeExceedMessage: string;
318
354
  onExceed: import("./types").UploadHooks["onExceed"];
319
355
  }>;
320
356
  __isFragment?: never;
@@ -335,7 +371,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
335
371
  type: import("vue").PropType<(evt: import("./types").UploadProgressEvent, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
336
372
  };
337
373
  onChange: {
338
- type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
374
+ type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles, uploadInstance?: any) => void>;
339
375
  };
340
376
  onError: {
341
377
  type: import("vue").PropType<(error: Error, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
@@ -363,6 +399,10 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
363
399
  type: import("vue").PropType<string>;
364
400
  default: string;
365
401
  };
402
+ fileList: {
403
+ type: import("vue").PropType<import("./types").UploadUserFile[]>;
404
+ default: never[];
405
+ };
366
406
  withCredentials: {
367
407
  type: import("vue").PropType<boolean>;
368
408
  };
@@ -374,10 +414,6 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
374
414
  type: import("vue").PropType<string>;
375
415
  default: string;
376
416
  };
377
- fileList: {
378
- type: import("vue").PropType<import("./types").UploadUserFile[]>;
379
- default: never[];
380
- };
381
417
  autoUpload: {
382
418
  type: import("vue").PropType<boolean>;
383
419
  default: boolean;
@@ -393,6 +429,18 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
393
429
  limit: {
394
430
  type: import("vue").PropType<number>;
395
431
  };
432
+ replaceOnLimit: {
433
+ type: import("vue").PropType<boolean>;
434
+ default: boolean;
435
+ };
436
+ maxSize: {
437
+ type: import("vue").PropType<number>;
438
+ default: undefined;
439
+ };
440
+ sizeExceedMessage: {
441
+ type: import("vue").PropType<string>;
442
+ default: string;
443
+ };
396
444
  beforeUpload: {
397
445
  type: import("vue").PropType<(rawFile: import("./types").UploadRawFile) => import("../types").Awaitable<void | undefined | null | boolean | File | Blob>>;
398
446
  };
@@ -406,6 +454,9 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
406
454
  type: import("vue").PropType<(files: File[], uploadFiles: import("./types").UploadUserFile[]) => void>;
407
455
  default: () => void;
408
456
  };
457
+ onSizeExceed: {
458
+ type: import("vue").PropType<(file: File, maxSize: number) => void>;
459
+ };
409
460
  beforeRemove: {
410
461
  type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => import("../types").Awaitable<boolean>>;
411
462
  };
@@ -468,12 +519,15 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
468
519
  method: string;
469
520
  multiple: boolean;
470
521
  action: string;
522
+ fileList: import("./types").UploadUserFile[];
471
523
  showFileList: boolean;
472
524
  accept: string;
473
- fileList: import("./types").UploadUserFile[];
474
525
  autoUpload: boolean;
475
526
  listType: import("./types").ListType;
476
527
  httpRequest: import("./types").UploadRequestHandler;
528
+ replaceOnLimit: boolean;
529
+ maxSize: number;
530
+ sizeExceedMessage: string;
477
531
  onExceed: import("./types").UploadHooks["onExceed"];
478
532
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
479
533
  $slots: {
@@ -38,12 +38,14 @@ export interface UploadHooks {
38
38
  beforeUpload: (rawFile: UploadRawFile) => Awaitable<void | undefined | null | boolean | File | Blob>;
39
39
  beforeRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => Awaitable<boolean>;
40
40
  onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
41
- onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
41
+ onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles, uploadInstance?: any) => void;
42
42
  onPreview: (uploadFile: UploadFile) => void;
43
43
  onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
44
44
  onProgress: (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
45
45
  onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
46
46
  onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void;
47
+ /** 文件大小超出限制时的回调 */
48
+ onSizeExceed?: (file: File, maxSize: number) => void;
47
49
  }
48
50
  export interface UploadBasicProps {
49
51
  action?: string;
@@ -63,6 +65,12 @@ export interface UploadBasicProps {
63
65
  httpRequest?: UploadRequestHandler;
64
66
  disabled?: boolean;
65
67
  limit?: number;
68
+ /** 当 limit 为 1 时,是否覆盖之前的文件 */
69
+ replaceOnLimit?: boolean;
70
+ /** 文件大小限制(字节) */
71
+ maxSize?: number;
72
+ /** 超出文件大小时的提示信息 */
73
+ sizeExceedMessage?: string;
66
74
  }
67
75
  export interface UploadEventProps {
68
76
  beforeUpload?: UploadHooks['beforeUpload'];
@@ -74,6 +82,7 @@ export interface UploadEventProps {
74
82
  onProgress?: UploadHooks['onProgress'];
75
83
  onError?: UploadHooks['onError'];
76
84
  onExceed?: UploadHooks['onExceed'];
85
+ onSizeExceed?: UploadHooks['onSizeExceed'];
77
86
  }
78
87
  export interface UploadContentEventProps {
79
88
  beforeUpload?: UploadHooks['beforeUpload'];
@@ -83,9 +92,15 @@ export interface UploadContentEventProps {
83
92
  onProgress?: (evt: UploadProgressEvent, rawFile: UploadRawFile) => void;
84
93
  onError?: (err: UploadAjaxError, rawFile: UploadRawFile) => void;
85
94
  onExceed?: UploadHooks['onExceed'];
95
+ onSizeExceed?: UploadHooks['onSizeExceed'];
96
+ }
97
+ export interface UploadContentBasicProps extends Omit<UploadBasicProps, 'fileList'> {
98
+ fileList?: UploadUserFile[];
99
+ /** 当 limit 为 1 时,是否覆盖之前的文件 */
100
+ replaceOnLimit?: boolean;
86
101
  }
87
102
  export type UploadProps = UploadBasicProps & UploadEventProps;
88
- export type UploadContentProps = UploadBasicProps & UploadContentEventProps;
103
+ export type UploadContentProps = UploadContentBasicProps & UploadContentEventProps;
89
104
  export type UploadContentInstance = InstanceType<typeof UploadContent>;
90
105
  export interface UploadDraggerProps {
91
106
  disabled?: boolean;
@@ -15,6 +15,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
15
15
  listType: string;
16
16
  httpRequest: import("./types").UploadRequestHandler;
17
17
  fileList: never[];
18
+ replaceOnLimit: boolean;
19
+ maxSize: undefined;
20
+ sizeExceedMessage: string;
18
21
  }>>, {
19
22
  abort: (file?: UploadFile) => void;
20
23
  upload: (rawFile: UploadRawFile) => Promise<void>;
@@ -31,6 +34,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
31
34
  listType: string;
32
35
  httpRequest: import("./types").UploadRequestHandler;
33
36
  fileList: never[];
37
+ replaceOnLimit: boolean;
38
+ maxSize: undefined;
39
+ sizeExceedMessage: string;
34
40
  }>>> & Readonly<{}>, {
35
41
  drag: boolean;
36
42
  name: string;
@@ -38,12 +44,15 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
38
44
  method: string;
39
45
  multiple: boolean;
40
46
  action: string;
47
+ fileList: import("./types").UploadUserFile[];
41
48
  showFileList: boolean;
42
49
  accept: string;
43
- fileList: import("./types").UploadUserFile[];
44
50
  autoUpload: boolean;
45
51
  listType: import("./types").ListType;
46
52
  httpRequest: import("./types").UploadRequestHandler;
53
+ replaceOnLimit: boolean;
54
+ maxSize: number;
55
+ sizeExceedMessage: string;
47
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
48
57
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
49
58
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("@vueuse/core");const q=require("@vft/utils"),M=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const b=require("lodash-es");require("../form/index.cjs");const O=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const I=require("./ajax.cjs"),K=require("./constants.cjs"),L=require("./upload-dragger.vue2.cjs"),T=require("../form/hooks/use-form-common-props.cjs"),x=require("../form/hooks/use-form-item.cjs"),z=["onKeydown"],A=["name","multiple","accept"],F=t.defineComponent({name:"VftUploadContent",inheritAttrs:!1}),N=t.defineComponent({...F,props:{action:{default:"#"},headers:{},method:{default:"post"},data:{},multiple:{type:Boolean,default:!1},name:{default:"file"},drag:{type:Boolean,default:!1},withCredentials:{type:Boolean},showFileList:{type:Boolean,default:!0},accept:{default:""},type:{default:"select"},fileList:{default:[]},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:I.ajaxUpload},disabled:{type:Boolean},limit:{},beforeUpload:{},onRemove:{},onStart:{},onSuccess:{},onProgress:{},onError:{},onExceed:{}},setup(E,{expose:S}){const a=E,c=O.useNamespace("upload"),v=T.useFormDisabled(),{formItem:R}=x.useFormItem(),r=t.shallowRef({}),f=t.shallowRef(),_=e=>{if(e.length===0)return;const{autoUpload:o,limit:n,fileList:s,multiple:l,onStart:i,onExceed:p}=a;if(n&&s.length+e.length>n){p(e,s);return}l||(e=e.slice(0,1));for(const m of e){const u=m;u.uid=K.genFileId(),i(u),o&&C(u)}},C=async e=>{if(f.value.value="",!a.beforeUpload)return k(e);let o,n={};try{const l=a.data,i=a.beforeUpload(e);n=q.isObject(a.data)?b.cloneDeep(a.data):a.data,o=await i,q.isObject(a.data)&&b.isEqual(l,n)&&(n=b.cloneDeep(a.data))}catch{o=!1}if(o===!1){a.onRemove(e);return}let s=e;o instanceof Blob&&(o instanceof File?s=o:s=new File([o],e.name,{type:e.type})),k(Object.assign(s,{uid:e.uid}),n)},k=(e,o)=>{const{headers:n,data:s,method:l,withCredentials:i,name:p,action:m,onProgress:u,onSuccess:j,onError:D,httpRequest:w}=a,{uid:h}=e,y={headers:n||{},withCredentials:i,file:e,data:o??s,method:l,filename:p,action:m,onProgress:d=>{u(d,e)},onSuccess:d=>{j(d,e),delete r.value[h]},onError:d=>{D(d,e),delete r.value[h]}},g=w(y);r.value[h]=g,g instanceof Promise&&g.then(y.onSuccess,y.onError)},U=e=>{const o=e.target.files;o&&(_(Array.from(o)),t.nextTick(()=>{R?.validate("change").catch(n=>M.debugWarn(n))}))},B=()=>{v.value||(f.value.value="",f.value.click())},P=()=>{B()};return S({abort:e=>{q.entriesOf(r.value).filter(e?([n])=>String(e.uid)===n:()=>!0).forEach(([n,s])=>{s instanceof XMLHttpRequest&&s.abort(),delete r.value[n]})},upload:C}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(c).b(),t.unref(c).m(e.listType),t.unref(c).is("drag",e.drag)]),tabindex:"0",onClick:B,onKeydown:t.withKeys(t.withModifiers(P,["self"]),["enter","space"])},[e.drag?(t.openBlock(),t.createBlock(L.default,{key:0,disabled:t.unref(v),onFile:_},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["disabled"])):t.renderSlot(e.$slots,"default",{key:1}),t.createElementVNode("input",{ref_key:"inputRef",ref:f,class:t.normalizeClass(t.unref(c).e("input")),name:e.name,multiple:e.multiple,accept:e.accept,type:"file",onChange:U,onClick:o[0]||(o[0]=t.withModifiers(()=>{},["stop"]))},null,42,A)],42,z))}});exports.default=N;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("../form/index.cjs");require("../message/index.cjs");require("@vueuse/core");const v=require("@vft/utils"),P=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const E=require("lodash-es"),j=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const D=require("./ajax.cjs"),L=require("./constants.cjs"),w=require("./upload-dragger.vue2.cjs"),I=require("../form/hooks/use-form-common-props.cjs"),K=require("../form/hooks/use-form-item.cjs"),T=["onKeydown"],F=["name","multiple","accept"],A=t.defineComponent({name:"VftUploadContent",inheritAttrs:!1}),N=t.defineComponent({...A,props:{fileList:{default:[]},replaceOnLimit:{type:Boolean,default:!1},action:{default:"#"},headers:{},method:{default:"post"},data:{},multiple:{type:Boolean,default:!1},name:{default:"file"},drag:{type:Boolean,default:!1},withCredentials:{type:Boolean},showFileList:{type:Boolean,default:!0},accept:{default:""},type:{default:"select"},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:D.ajaxUpload},disabled:{type:Boolean},limit:{},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},beforeUpload:{},onRemove:{},onStart:{},onSuccess:{},onProgress:{},onError:{},onExceed:{},onSizeExceed:{}},setup(R,{expose:x}){const s=R,p=j.useNamespace("upload"),S=I.useFormDisabled(),{formItem:U}=K.useFormItem(),u=t.shallowRef({}),m=t.shallowRef(),C=e=>{if(e.length===0)return;const{autoUpload:o,limit:n,fileList:r,multiple:d,onStart:c,onExceed:g,replaceOnLimit:y,maxSize:l,sizeExceedMessage:z,onSizeExceed:h}=s;if(l){const i=e.filter(a=>a.size>l);if(i.length>0&&(i.forEach(a=>{h&&h(a,l)}),e=e.filter(a=>a.size<=l),e.length===0))return}if(n&&r.length+e.length>n&&!(n===1&&y)){g(e,r);return}d||(e=e.slice(0,1));for(const i of e){const a=i;a.uid=L.genFileId(),c(a),o&&k(a)}},k=async e=>{if(m.value.value="",!s.beforeUpload)return _(e);let o,n={};try{const d=s.data,c=s.beforeUpload(e);n=v.isObject(s.data)?E.cloneDeep(s.data):s.data,o=await c,v.isObject(s.data)&&E.isEqual(d,n)&&(n=E.cloneDeep(s.data))}catch{o=!1}if(o===!1){s.onRemove(e);return}let r=e;o instanceof Blob&&(o instanceof File?r=o:r=new File([o],e.name,{type:e.type})),_(Object.assign(r,{uid:e.uid}),n)},_=(e,o)=>{const{headers:n,data:r,method:d,withCredentials:c,name:g,action:y,onProgress:l,onSuccess:z,onError:h,httpRequest:i}=s,{uid:a}=e,q={headers:n||{},withCredentials:c,file:e,data:o??r,method:d,filename:g,action:y,onProgress:f=>{l(f,e)},onSuccess:f=>{z(f,e),delete u.value[a]},onError:f=>{h(f,e),delete u.value[a]}},b=i(q);u.value[a]=b,b instanceof Promise&&b.then(q.onSuccess,q.onError)},M=e=>{const o=e.target.files;o&&(C(Array.from(o)),t.nextTick(()=>{U?.validate("change").catch(n=>P.debugWarn(n))}))},B=()=>{S.value||(m.value.value="",m.value.click())},O=()=>{B()};return x({abort:e=>{v.entriesOf(u.value).filter(e?([n])=>String(e.uid)===n:()=>!0).forEach(([n,r])=>{r instanceof XMLHttpRequest&&r.abort(),delete u.value[n]})},upload:k}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(p).b(),t.unref(p).m(e.listType),t.unref(p).is("drag",e.drag)]),tabindex:"0",onClick:B,onKeydown:t.withKeys(t.withModifiers(O,["self"]),["enter","space"])},[e.drag?(t.openBlock(),t.createBlock(w.default,{key:0,disabled:t.unref(S),onFile:o[0]||(o[0]=n=>C(n.file))},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["disabled"])):t.renderSlot(e.$slots,"default",{key:1}),t.createElementVNode("input",{ref_key:"inputRef",ref:m,class:t.normalizeClass(t.unref(p).e("input")),name:e.name,multiple:e.multiple,accept:e.accept,type:"file",onChange:M,onClick:o[1]||(o[1]=t.withModifiers(()=>{},["stop"]))},null,42,F)],42,T))}});exports.default=N;
@@ -1,7 +1,7 @@
1
1
  import type { UploadProps } from './types';
2
2
  declare function __VLS_template(): {
3
3
  file?(_: {
4
- file: import("./types").UploadFile;
4
+ file: import("vft/es/components").UploadFile;
5
5
  }): any;
6
6
  trigger?(_: {}): any;
7
7
  default?(_: {}): any;
@@ -18,19 +18,22 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
18
18
  type: string;
19
19
  autoUpload: boolean;
20
20
  listType: string;
21
- httpRequest: import("./types").UploadRequestHandler;
21
+ httpRequest: import("vft/es/components").UploadRequestHandler;
22
22
  fileList: never[];
23
+ replaceOnLimit: boolean;
24
+ maxSize: undefined;
25
+ sizeExceedMessage: string;
23
26
  onExceed: () => void;
24
27
  }>>, {
25
- abort: (file: import("./types").UploadFile) => void;
28
+ abort: (file: import("vft/es/components").UploadFile) => void;
26
29
  submit: () => void;
27
- clearFiles: (states?: import("./types").UploadStatus[]) => void;
28
- handleStart: (rawFile: import("./types").UploadRawFile) => void;
29
- handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
30
+ clearFiles: (states?: import("vft/es/components").UploadStatus[]) => void;
31
+ handleStart: (rawFile: import("vft/es/components").UploadRawFile) => void;
32
+ handleRemove: (file: import("vft/es/components").UploadFile | import("vft/es/components").UploadRawFile, rawFile?: import("vft/es/components").UploadRawFile) => void;
30
33
  fileList: import("vue").Ref<{
31
34
  name: string;
32
35
  percentage?: number | undefined;
33
- status: import("./types").UploadStatus;
36
+ status: import("vft/es/components").UploadStatus;
34
37
  size?: number | undefined;
35
38
  response?: unknown;
36
39
  uid: number;
@@ -51,7 +54,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
51
54
  }[], {
52
55
  name: string;
53
56
  percentage?: number | undefined;
54
- status: import("./types").UploadStatus;
57
+ status: import("vft/es/components").UploadStatus;
55
58
  size?: number | undefined;
56
59
  response?: unknown;
57
60
  uid: number;
@@ -81,8 +84,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
81
84
  type: string;
82
85
  autoUpload: boolean;
83
86
  listType: string;
84
- httpRequest: import("./types").UploadRequestHandler;
87
+ httpRequest: import("vft/es/components").UploadRequestHandler;
85
88
  fileList: never[];
89
+ replaceOnLimit: boolean;
90
+ maxSize: undefined;
91
+ sizeExceedMessage: string;
86
92
  onExceed: () => void;
87
93
  }>>> & Readonly<{}>, {
88
94
  drag: boolean;
@@ -91,13 +97,16 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
91
97
  method: string;
92
98
  multiple: boolean;
93
99
  action: string;
100
+ fileList: import("vft/es/components").UploadUserFile[];
94
101
  showFileList: boolean;
95
102
  accept: string;
96
- fileList: import("./types").UploadUserFile[];
97
103
  autoUpload: boolean;
98
- listType: import("./types").ListType;
99
- httpRequest: import("./types").UploadRequestHandler;
100
- onExceed: import("./types").UploadHooks["onExceed"];
104
+ listType: import("vft/es/components").ListType;
105
+ httpRequest: import("vft/es/components").UploadRequestHandler;
106
+ replaceOnLimit: boolean;
107
+ maxSize: number;
108
+ sizeExceedMessage: string;
109
+ onExceed: import("vft/es/components").UploadHooks["onExceed"];
101
110
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
102
111
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
103
112
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const S=require("./ajax.cjs"),b=require("./constants.cjs"),p=require("./upload-content.vue2.cjs"),c=require("./upload-list.vue2.cjs"),R=require("./use-handlers.cjs"),B=require("../form/hooks/use-form-common-props.cjs"),P=e.defineComponent({name:"vft-upload"}),_=e.defineComponent({...P,props:{action:{default:"#"},headers:{},method:{default:"post"},data:{},multiple:{type:Boolean,default:!1},name:{default:"file"},drag:{type:Boolean,default:!1},withCredentials:{type:Boolean},showFileList:{type:Boolean,default:!0},accept:{default:""},type:{default:"select"},fileList:{default:[]},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:S.ajaxUpload},disabled:{type:Boolean},limit:{},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{type:Function,default:()=>{}}},setup(m,{expose:v}){const l=m,o=e.useSlots(),n=B.useFormDisabled(),u=e.shallowRef(),{abort:y,submit:h,clearFiles:g,uploadFiles:r,handleStart:i,handleError:C,handleRemove:a,handleSuccess:k,handleProgress:w}=R.useHandlers(l,u),s=e.computed(()=>l.listType==="picture-card"),f=e.computed(()=>({...l,fileList:r.value,onStart:i,onProgress:w,onSuccess:k,onError:C,onRemove:a}));return e.onBeforeUnmount(()=>{r.value.forEach(({url:t})=>{t?.startsWith("blob:")&&URL.revokeObjectURL(t)})}),e.provide(b.uploadContextKey,{accept:e.toRef(l,"accept")}),v({abort:y,submit:h,clearFiles:g,handleStart:i,handleRemove:a,fileList:r}),(t,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vft-upload-wrapper",{disabled:e.unref(n)}])},[s.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:0,disabled:e.unref(n),"list-type":t.listType,files:e.unref(r),"handle-preview":t.onPreview,onRemove:e.unref(a)},e.createSlots({append:e.withCtx(()=>[e.createVNode(p.default,e.mergeProps({ref_key:"uploadRef",ref:u},f.value),{default:e.withCtx(()=>[e.unref(o).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(o).trigger&&e.unref(o).default?e.renderSlot(t.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)]),_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:d})=>[e.renderSlot(t.$slots,"file",{file:d})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0),!s.value||s.value&&!t.showFileList?(e.openBlock(),e.createBlock(p.default,e.mergeProps({key:1,ref_key:"uploadRef",ref:u},f.value),{default:e.withCtx(()=>[e.unref(o).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(o).trigger&&e.unref(o).default?e.renderSlot(t.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)):e.createCommentVNode("",!0),t.$slots.trigger?e.renderSlot(t.$slots,"default",{key:2}):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"tip"),!s.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:3,disabled:e.unref(n),"list-type":t.listType,files:e.unref(r),"handle-preview":t.onPreview,onRemove:e.unref(a)},e.createSlots({_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:d})=>[e.renderSlot(t.$slots,"file",{file:d})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)],2))}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../alert/index.cjs");require("../avatar/index.cjs");require("../avatar-stack/index.cjs");require("../backtop/index.cjs");require("../button/index.cjs");require("../card/index.cjs");require("../cascader/index.cjs");require("../cascader-panel/index.cjs");require("../check-tag/index.cjs");require("../checkbox/index.cjs");require("../clamp/index.cjs");require("../clamp-toggle/index.cjs");require("../clamp-tooltip/index.cjs");require("../col/index.cjs");require("../collapse-transition/index.cjs");require("../color-picker/index.cjs");require("../config-provider/index.cjs");require("../container/index.cjs");require("@vft/utils");require("../context-menu/context-menu.vue2.cjs");require("../icon/index.cjs");require("../date-picker/index.cjs");require("../date-time-select/index.cjs");require("../descriptions/index.cjs");require("../dialog/index.cjs");require("../divider/index.cjs");require("../drawer/index.cjs");require("../dropdown/index.cjs");require("../empty/index.cjs");require("../footer-layout/index.cjs");require("../form/index.cjs");require("../full-screen/index.cjs");require("../header-layout/index.cjs");require("../horizontal-menu/index.cjs");require("../icon-text/index.cjs");require("../iframe-layout/index.cjs");require("../image/index.cjs");require("../image-viewer/index.cjs");require("../input/index.cjs");require("../input-number/index.cjs");require("../link/index.cjs");require("../list-cell/index.cjs");require("../logo/index.cjs");require("../menu/index.cjs");require("../multiple-tabs/index.cjs");require("../notification/index.cjs");require("../overlay/index.cjs");require("../page-wrapper/index.cjs");require("../pagination/index.cjs");require("../popconfirm/index.cjs");require("../popover/index.cjs");require("../popper/index.cjs");require("../qrcode/index.cjs");require("../radio/index.cjs");require("../result/index.cjs");require("../router-view-content/index.cjs");require("../row/index.cjs");require("../scrollbar/index.cjs");require("../search/index.cjs");require("../select/index.cjs");require("../side-menu/index.cjs");require("../skeleton/index.cjs");require("../slider/index.cjs");require("../space/index.cjs");require("../steps/index.cjs");require("../switch/index.cjs");require("../table/index.cjs");require("../tabs/index.cjs");require("../tag/index.cjs");require("../time-picker/index.cjs");require("../tooltip/index.cjs");require("../tree/index.cjs");require("../verify-code/index.cjs");require("../virtual-list/components/fixed-size-list.cjs");require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("../autocomplete/index.cjs");require("../breadcrumb/index.cjs");require("../carousel/index.cjs");require("../collapse/index.cjs");require("../countdown/index.cjs");require("../input-tag/index.cjs");require("../modal/index.cjs");require("../progress/index.cjs");require("../segmented/index.cjs");require("../statistic/index.cjs");require("../super-form/index.cjs");require("../timeline/index.cjs");require("../transfer/index.cjs");require("./index.cjs");require("../watermark/index.cjs");require("../md-code-demo/index.cjs");require("../md-code-tabs/index.cjs");require("../md-comment/index.cjs");require("../md-container/index.cjs");require("../md-tabs/index.cjs");require("../md-vue-playground/index.cjs");require("../infinite-scroll/index.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const b=require("../message/index.cjs");require("../progress-i/index.cjs");const R=require("./ajax.cjs"),P=require("./constants.cjs"),y=require("./upload-content.vue2.cjs"),g=require("./upload-list.vue2.cjs"),_=require("./use-handlers.cjs"),$=require("../form/hooks/use-form-common-props.cjs"),E=e.defineComponent({name:"vft-upload"}),F=e.defineComponent({...E,props:{action:{default:"#"},headers:{},method:{default:"post"},data:{},multiple:{type:Boolean,default:!1},name:{default:"file"},drag:{type:Boolean,default:!1},withCredentials:{type:Boolean},showFileList:{type:Boolean,default:!0},accept:{default:""},type:{default:"select"},fileList:{default:[]},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:R.ajaxUpload},disabled:{type:Boolean},limit:{},replaceOnLimit:{type:Boolean,default:!1},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{type:Function,default:()=>{}},onSizeExceed:{}},setup(h,{expose:C}){const u=h,i=e.useSlots(),d=$.useFormDisabled(),l=e.shallowRef(),{abort:q,submit:f,clearFiles:p,uploadFiles:t,handleStart:c,handleError:S,handleRemove:a,handleSuccess:k,handleProgress:w}=_.useHandlers(u,l),s=e.computed(()=>u.listType==="picture-card"),B={abort:q,submit:f,clearFiles:p,uploadFiles:t,uploadRef:l},m=e.computed(()=>({...u,fileList:t.value,onStart:c,onProgress:w,onSuccess:k,onError:S,onRemove:a,onChange:(r,o)=>{u.onChange?.(r,o,B)},onSizeExceed:(r,o)=>{if(u.onSizeExceed)u.onSizeExceed?.(r,o);else{const v=`文件大小不能超过 ${(o/1048576).toFixed(2)}MB`;console.warn("默认文件大小超出提示:",v),b.VftMessage.warning(v)}}}));return e.onBeforeUnmount(()=>{t.value.forEach(({url:r})=>{r?.startsWith("blob:")&&URL.revokeObjectURL(r)})}),e.provide(P.uploadContextKey,{accept:e.toRef(u,"accept")}),C({abort:q,submit:f,clearFiles:p,handleStart:c,handleRemove:a,fileList:t}),(r,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vft-upload-wrapper",{disabled:e.unref(d)}])},[s.value&&r.showFileList?(e.openBlock(),e.createBlock(g.default,{key:0,disabled:e.unref(d),"list-type":r.listType,files:e.unref(t),"handle-preview":r.onPreview,onRemove:e.unref(a)},e.createSlots({append:e.withCtx(()=>[e.createVNode(y.default,e.mergeProps({ref_key:"uploadRef",ref:l},m.value),{default:e.withCtx(()=>[e.unref(i).trigger?e.renderSlot(r.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(i).trigger&&e.unref(i).default?e.renderSlot(r.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)]),_:2},[r.$slots.file?{name:"default",fn:e.withCtx(({file:n})=>[e.renderSlot(r.$slots,"file",{file:n})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0),!s.value||s.value&&!r.showFileList?(e.openBlock(),e.createBlock(y.default,e.mergeProps({key:1,ref_key:"uploadRef",ref:l},m.value),{default:e.withCtx(()=>[e.unref(i).trigger?e.renderSlot(r.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(i).trigger&&e.unref(i).default?e.renderSlot(r.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)):e.createCommentVNode("",!0),r.$slots.trigger?e.renderSlot(r.$slots,"default",{key:2}):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"tip"),!s.value&&r.showFileList?(e.openBlock(),e.createBlock(g.default,{key:3,disabled:e.unref(d),"list-type":r.listType,files:e.unref(t),"handle-preview":r.onPreview,onRemove:e.unref(a)},e.createSlots({_:2},[r.$slots.file?{name:"default",fn:e.withCtx(({file:n})=>[e.renderSlot(r.$slots,"file",{file:n})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)],2))}});exports.default=F;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@vueuse/core");require("@vft/utils");const l=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const d=require("vue"),F=require("lodash-es"),v=require("./constants.cjs"),f="VftUpload",O=a=>{a.url?.startsWith("blob:")&&URL.revokeObjectURL(a.url)},U=(a,c)=>{const u=E.useVModel(a,"fileList",void 0,{passive:!0}),o=e=>u.value.find(t=>t.uid===e.uid);function i(e){c.value?.abort(e)}function b(e=["ready","uploading","success","fail"]){u.value=u.value.filter(t=>!e.includes(t.status))}const h=(e,t)=>{const r=o(t);r&&(console.error(e),r.status="fail",u.value.splice(u.value.indexOf(r),1),a.onError?.(e,r,u.value),a.onChange?.(r,u.value))},g=(e,t)=>{const r=o(t);r&&(a.onProgress?.(e,r,u.value),r.status="uploading",r.percentage=Math.round(e.percent))},m=(e,t)=>{const r=o(t);r&&(r.status="success",r.response=e,a.onSuccess?.(e,r,u.value),a.onChange?.(r,u.value))},y=e=>{F.isNil(e.uid)&&(e.uid=v.genFileId());const t={name:e.name,percentage:0,status:"ready",size:e.size,raw:e,uid:e.uid};if(a.listType==="picture-card"||a.listType==="picture")try{t.url=URL.createObjectURL(e)}catch(r){l.debugWarn(f,r.message),a.onError?.(r,t,u.value)}u.value=[...u.value,t],a.onChange?.(t,u.value)},R=async e=>{const t=e instanceof File?o(e):e;t||l.throwError(f,"file to be removed not found");const r=n=>{i(n);const s=u.value;s.splice(s.indexOf(n),1),a.onRemove?.(n,s),O(n)};a.beforeRemove?await a.beforeRemove(t,u.value)!==!1&&r(t):r(t)};function L(){u.value.filter(({status:e})=>e==="ready").forEach(({raw:e})=>e&&c.value?.upload(e))}return d.watch(()=>a.listType,e=>{e!=="picture-card"&&e!=="picture"||(u.value=u.value.map(t=>{const{raw:r,url:n}=t;if(!n&&r)try{t.url=URL.createObjectURL(r)}catch(s){a.onError?.(s,t,u.value)}return t}))}),d.watch(u,e=>{if(e)for(const t of e)t.uid||=v.genFileId(),t.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:u,abort:i,clearFiles:b,handleError:h,handleProgress:g,handleStart:y,handleSuccess:m,handleRemove:R,submit:L}};exports.useHandlers=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("@vueuse/core");require("@vft/utils");const f=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const h=require("vue"),U=require("lodash-es"),b=require("./constants.cjs"),g="VftUpload",m=u=>{u.url?.startsWith("blob:")&&URL.revokeObjectURL(u.url)},q=(u,o)=>{const a=F.useVModel(u,"fileList",void 0,{passive:!0}),s=e=>a.value.find(t=>t.uid===e.uid),i={abort:l,submit:v,clearFiles:d,uploadFiles:a,uploadRef:o};function l(e){o.value?.abort(e)}function d(e=["ready","uploading","success","fail"]){a.value=a.value.filter(t=>!e.includes(t.status))}const y=(e,t)=>{const r=s(t);r&&(console.error(e),r.status="fail",a.value.splice(a.value.indexOf(r),1),u.onError?.(e,r,a.value),u.onChange?.(r,a.value,i))},L=(e,t)=>{const r=s(t);r&&(u.onProgress?.(e,r,a.value),r.status="uploading",r.percentage=Math.round(e.percent))},R=(e,t)=>{const r=s(t);r&&(r.status="success",r.response=e,u.onSuccess?.(e,r,a.value),u.onChange?.(r,a.value,i))},E=e=>{U.isNil(e.uid)&&(e.uid=b.genFileId());const t={name:e.name,percentage:0,status:"ready",size:e.size,raw:e,uid:e.uid};if(u.listType==="picture-card"||u.listType==="picture")try{t.url=URL.createObjectURL(e)}catch(r){f.debugWarn(g,r.message),u.onError?.(r,t,a.value)}u.limit===1&&u.replaceOnLimit&&a.value.length>0&&(a.value.forEach(r=>{m(r)}),a.value=[]),a.value=[...a.value,t],u.onChange?.(t,a.value,i)},O=async e=>{const t=e instanceof File?s(e):e;t||f.throwError(g,"file to be removed not found");const r=n=>{l(n);const c=a.value;c.splice(c.indexOf(n),1),u.onRemove?.(n,c),m(n)};u.beforeRemove?await u.beforeRemove(t,a.value)!==!1&&r(t):r(t)};function v(){a.value.filter(({status:e})=>e==="ready").forEach(({raw:e})=>e&&o.value?.upload(e))}return h.watch(()=>u.listType,e=>{e!=="picture-card"&&e!=="picture"||(a.value=a.value.map(t=>{const{raw:r,url:n}=t;if(!n&&r)try{t.url=URL.createObjectURL(r)}catch(c){u.onError?.(c,t,a.value)}return t}))}),h.watch(a,e=>{if(e)for(const t of e)t.uid||=b.genFileId(),t.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:a,abort:l,clearFiles:d,handleError:y,handleProgress:L,handleStart:E,handleSuccess:R,handleRemove:O,submit:v}};exports.useHandlers=q;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.334";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.335";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.334",
3
+ "version": "0.0.335",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vft",
3
- "version": "0.0.334",
3
+ "version": "0.0.335",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -55,11 +55,11 @@
55
55
  "resize-detector": "0.3.0",
56
56
  "sortablejs": "1.15.0",
57
57
  "photoswipe": "5.4.4",
58
- "@vft/constants": "0.0.72",
59
- "@vft/store": "0.0.54",
60
58
  "@vft/use": "0.0.76",
61
59
  "@vft/directives": "0.0.33",
62
60
  "@vft/utils": "0.0.128",
61
+ "@vft/constants": "0.0.72",
62
+ "@vft/store": "0.0.54",
63
63
  "@vft/router": "0.0.65"
64
64
  },
65
65
  "vetur": {
package/web-types.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.334","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}
1
+ {"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.335","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}