vft 0.0.383 → 0.0.385
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.
- package/es/components/button/index.d.ts +9 -9
- package/es/components/carousel/use-carousel.js +1 -1
- package/es/components/config-provider/config-provider.vue.d.ts +1 -1
- package/es/components/form/form-item.vue.d.ts +1 -1
- package/es/components/form/index.d.ts +30 -30
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/input-tag/composables/use-input-tag.js +1 -1
- package/es/components/message/method.js +61 -58
- package/es/components/message/types.d.ts +22 -0
- package/es/components/popconfirm/index.d.ts +15 -15
- package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/es/components/super-form/super-form-item.vue2.js +1 -1
- package/es/components/super-form/use/helper.js +1 -1
- package/es/components/upload/index.d.ts +6 -0
- package/es/components/upload/upload-content.vue.d.ts +3 -0
- package/es/components/upload/upload-content.vue2.js +1 -1
- package/es/components/upload/upload.vue.d.ts +3 -0
- package/es/components/upload/upload.vue2.js +18 -18
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/button/index.d.ts +9 -9
- package/lib/components/config-provider/config-provider.vue.d.ts +1 -1
- package/lib/components/form/form-item.vue.d.ts +1 -1
- package/lib/components/form/index.d.ts +30 -30
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/message/method.cjs +1 -1
- package/lib/components/message/types.d.ts +22 -0
- package/lib/components/popconfirm/index.d.ts +15 -15
- package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/lib/components/upload/index.d.ts +6 -0
- package/lib/components/upload/upload-content.vue.d.ts +3 -0
- package/lib/components/upload/upload-content.vue2.cjs +1 -1
- package/lib/components/upload/upload.vue.d.ts +3 -0
- package/lib/components/upload/upload.vue2.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +4 -4
- package/web-types.json +1 -1
- package/theme-style/vft-p-image.css +0 -1
|
@@ -56,6 +56,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
56
56
|
};
|
|
57
57
|
fileList: {
|
|
58
58
|
type: import("vue").PropType<import("./types").UploadUserFile[]>;
|
|
59
|
+
default: never[];
|
|
59
60
|
};
|
|
60
61
|
withCredentials: {
|
|
61
62
|
type: import("vue").PropType<boolean>;
|
|
@@ -175,6 +176,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
175
176
|
sizeHeight: number;
|
|
176
177
|
action: string;
|
|
177
178
|
accept: string;
|
|
179
|
+
fileList: import("./types").UploadUserFile[];
|
|
178
180
|
showFileList: boolean;
|
|
179
181
|
autoUpload: boolean;
|
|
180
182
|
listType: import("./types").ListType;
|
|
@@ -247,6 +249,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
247
249
|
};
|
|
248
250
|
fileList: {
|
|
249
251
|
type: import("vue").PropType<import("./types").UploadUserFile[]>;
|
|
252
|
+
default: never[];
|
|
250
253
|
};
|
|
251
254
|
withCredentials: {
|
|
252
255
|
type: import("vue").PropType<boolean>;
|
|
@@ -366,6 +369,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
366
369
|
sizeHeight: number;
|
|
367
370
|
action: string;
|
|
368
371
|
accept: string;
|
|
372
|
+
fileList: import("./types").UploadUserFile[];
|
|
369
373
|
showFileList: boolean;
|
|
370
374
|
autoUpload: boolean;
|
|
371
375
|
listType: import("./types").ListType;
|
|
@@ -435,6 +439,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
435
439
|
};
|
|
436
440
|
fileList: {
|
|
437
441
|
type: import("vue").PropType<import("./types").UploadUserFile[]>;
|
|
442
|
+
default: never[];
|
|
438
443
|
};
|
|
439
444
|
withCredentials: {
|
|
440
445
|
type: import("vue").PropType<boolean>;
|
|
@@ -554,6 +559,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
554
559
|
sizeHeight: number;
|
|
555
560
|
action: string;
|
|
556
561
|
accept: string;
|
|
562
|
+
fileList: import("./types").UploadUserFile[];
|
|
557
563
|
showFileList: boolean;
|
|
558
564
|
autoUpload: boolean;
|
|
559
565
|
listType: import("./types").ListType;
|
|
@@ -14,6 +14,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
14
14
|
autoUpload: boolean;
|
|
15
15
|
listType: string;
|
|
16
16
|
httpRequest: import("./types").UploadRequestHandler;
|
|
17
|
+
fileList: never[];
|
|
17
18
|
replaceOnLimit: boolean;
|
|
18
19
|
maxSize: undefined;
|
|
19
20
|
sizeExceedMessage: string;
|
|
@@ -34,6 +35,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
34
35
|
autoUpload: boolean;
|
|
35
36
|
listType: string;
|
|
36
37
|
httpRequest: import("./types").UploadRequestHandler;
|
|
38
|
+
fileList: never[];
|
|
37
39
|
replaceOnLimit: boolean;
|
|
38
40
|
maxSize: undefined;
|
|
39
41
|
sizeExceedMessage: string;
|
|
@@ -49,6 +51,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
49
51
|
sizeHeight: number;
|
|
50
52
|
action: string;
|
|
51
53
|
accept: string;
|
|
54
|
+
fileList: import("./types").UploadUserFile[];
|
|
52
55
|
showFileList: boolean;
|
|
53
56
|
autoUpload: boolean;
|
|
54
57
|
listType: import("./types").ListType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("../form/index.cjs");require("@vueuse/core");const S=require("@vft/utils"),D=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const z=require("lodash-es"),L=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const M=require("./ajax.cjs"),F=require("./constants.cjs"),K=require("./upload-dragger.vue2.cjs"),R=require("./utils.cjs"),T=require("../form/hooks/use-form-common-props.cjs"),V=require("../form/hooks/use-form-item.cjs"),H=["onKeydown"],W=["name","multiple","accept"],$=t.defineComponent({name:"VftUploadContent",inheritAttrs:!1}),A=t.defineComponent({...$,props:{fileList:{},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:M.ajaxUpload},disabled:{type:Boolean},limit:{},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},sizeWidth:{default:void 0},sizeHeight:{default:void 0},onSizeInvalid:{},beforeUpload:{},onRemove:{},onStart:{},onSuccess:{},onProgress:{},onError:{},onExceed:{},onSizeExceed:{}},setup(U,{expose:w}){const r=U,g=L.useNamespace("upload"),E=T.useFormDisabled(),{formItem:x}=V.useFormItem(),c=t.shallowRef({}),y=t.shallowRef(),C=async e=>{if(e.length===0)return;const{autoUpload:o,limit:a,fileList:s,multiple:f,onStart:p,onExceed:q,replaceOnLimit:b,maxSize:u,onSizeExceed:v,sizeWidth:m,sizeHeight:h,onSizeInvalid:d}=r;if(u){const i=e.filter(n=>n.size>u);if(i.length>0&&(i.forEach(n=>{v&&v(n,u)}),e=e.filter(n=>n.size<=u),e.length===0))return}if(m&&h){const i=[];for(const n of e)if(R.isImageOrVideo(n))try{const{isValid:l,width:P,height:j}=await R.validateFileSize(n,m,h);l?i.push(n):d&&d(n,P,j,m,h)}catch(l){console.error("尺寸校验失败:",l)}else i.push(n);if(e=i,e.length===0)return}if(a&&s&&s.length+e.length>a&&!(a===1&&b)){q?.(e,s);return}f||(e=e.slice(0,1));for(const i of e){const n=i;n.uid=F.genFileId(),p?.(n),o&&k(n)}},k=async e=>{if(y.value.value="",!r.beforeUpload)return _(e);let o,a={};try{const f=r.data,p=r.beforeUpload(e);a=S.isObject(r.data)?z.cloneDeep(r.data):r.data,o=await p,S.isObject(r.data)&&z.isEqual(f,a)&&(a=z.cloneDeep(r.data))}catch{o=!1}if(o===!1){r.onRemove?.(e);return}let s=e;o instanceof Blob&&(o instanceof File?s=o:s=new File([o],e.name,{type:e.type})),_(Object.assign(s,{uid:e.uid}),a)},_=(e,o)=>{const{headers:a,data:s,method:f,withCredentials:p,name:q,action:b,onProgress:u,onSuccess:v,onError:m,httpRequest:h}=r,{uid:d}=e,i={headers:a||{},withCredentials:p,file:e,data:o??(s||{}),method:f,filename:q,action:b,onProgress:l=>{u?.(l,e)},onSuccess:l=>{v?.(l,e),delete c.value[d]},onError:l=>{m?.(l,e),delete c.value[d]}},n=h(i);c.value[d]=n,n instanceof Promise&&n.then(i.onSuccess,i.onError)},O=async e=>{const o=e.target.files;o&&(await C(Array.from(o)),t.nextTick(()=>{x?.validate("change").catch(a=>D.debugWarn(a))}))},B=()=>{E.value||(y.value.value="",y.value.click())},I=()=>{B()};return w({abort:e=>{S.entriesOf(c.value).filter(e?([a])=>String(e.uid)===a:()=>!0).forEach(([a,s])=>{s instanceof XMLHttpRequest&&s.abort(),delete c.value[a]})},upload:k}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(g).b(),t.unref(g).m(e.listType),t.unref(g).is("drag",e.drag)]),tabindex:"0",onClick:B,onKeydown:t.withKeys(t.withModifiers(I,["self"]),["enter","space"])},[e.drag?(t.openBlock(),t.createBlock(K.default,{key:0,disabled:t.unref(E),onFile:o[0]||(o[0]=a=>C(a.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:y,class:t.normalizeClass(t.unref(g).e("input")),name:e.name,multiple:e.multiple,accept:e.accept,type:"file",onChange:O,onClick:o[1]||(o[1]=t.withModifiers(()=>{},["stop"]))},null,42,W)],42,H))}});exports.default=A;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("../form/index.cjs");require("@vueuse/core");const S=require("@vft/utils"),D=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const z=require("lodash-es"),L=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const M=require("./ajax.cjs"),F=require("./constants.cjs"),K=require("./upload-dragger.vue2.cjs"),R=require("./utils.cjs"),T=require("../form/hooks/use-form-common-props.cjs"),V=require("../form/hooks/use-form-item.cjs"),H=["onKeydown"],W=["name","multiple","accept"],$=t.defineComponent({name:"VftUploadContent",inheritAttrs:!1}),A=t.defineComponent({...$,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:M.ajaxUpload},disabled:{type:Boolean},limit:{},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},sizeWidth:{default:void 0},sizeHeight:{default:void 0},onSizeInvalid:{},beforeUpload:{},onRemove:{},onStart:{},onSuccess:{},onProgress:{},onError:{},onExceed:{},onSizeExceed:{}},setup(U,{expose:w}){const r=U,g=L.useNamespace("upload"),E=T.useFormDisabled(),{formItem:x}=V.useFormItem(),c=t.shallowRef({}),y=t.shallowRef(),C=async e=>{if(e.length===0)return;const{autoUpload:o,limit:a,fileList:s,multiple:f,onStart:p,onExceed:q,replaceOnLimit:b,maxSize:u,onSizeExceed:v,sizeWidth:m,sizeHeight:h,onSizeInvalid:d}=r;if(u){const i=e.filter(n=>n.size>u);if(i.length>0&&(i.forEach(n=>{v&&v(n,u)}),e=e.filter(n=>n.size<=u),e.length===0))return}if(m&&h){const i=[];for(const n of e)if(R.isImageOrVideo(n))try{const{isValid:l,width:P,height:j}=await R.validateFileSize(n,m,h);l?i.push(n):d&&d(n,P,j,m,h)}catch(l){console.error("尺寸校验失败:",l)}else i.push(n);if(e=i,e.length===0)return}if(a&&s&&s.length+e.length>a&&!(a===1&&b)){q?.(e,s);return}f||(e=e.slice(0,1));for(const i of e){const n=i;n.uid=F.genFileId(),p?.(n),o&&k(n)}},k=async e=>{if(y.value.value="",!r.beforeUpload)return _(e);let o,a={};try{const f=r.data,p=r.beforeUpload(e);a=S.isObject(r.data)?z.cloneDeep(r.data):r.data,o=await p,S.isObject(r.data)&&z.isEqual(f,a)&&(a=z.cloneDeep(r.data))}catch{o=!1}if(o===!1){r.onRemove?.(e);return}let s=e;o instanceof Blob&&(o instanceof File?s=o:s=new File([o],e.name,{type:e.type})),_(Object.assign(s,{uid:e.uid}),a)},_=(e,o)=>{const{headers:a,data:s,method:f,withCredentials:p,name:q,action:b,onProgress:u,onSuccess:v,onError:m,httpRequest:h}=r,{uid:d}=e,i={headers:a||{},withCredentials:p,file:e,data:o??(s||{}),method:f,filename:q,action:b,onProgress:l=>{u?.(l,e)},onSuccess:l=>{v?.(l,e),delete c.value[d]},onError:l=>{m?.(l,e),delete c.value[d]}},n=h(i);c.value[d]=n,n instanceof Promise&&n.then(i.onSuccess,i.onError)},O=async e=>{const o=e.target.files;o&&(await C(Array.from(o)),t.nextTick(()=>{x?.validate("change").catch(a=>D.debugWarn(a))}))},B=()=>{E.value||(y.value.value="",y.value.click())},I=()=>{B()};return w({abort:e=>{S.entriesOf(c.value).filter(e?([a])=>String(e.uid)===a:()=>!0).forEach(([a,s])=>{s instanceof XMLHttpRequest&&s.abort(),delete c.value[a]})},upload:k}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(g).b(),t.unref(g).m(e.listType),t.unref(g).is("drag",e.drag)]),tabindex:"0",onClick:B,onKeydown:t.withKeys(t.withModifiers(I,["self"]),["enter","space"])},[e.drag?(t.openBlock(),t.createBlock(K.default,{key:0,disabled:t.unref(E),onFile:o[0]||(o[0]=a=>C(a.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:y,class:t.normalizeClass(t.unref(g).e("input")),name:e.name,multiple:e.multiple,accept:e.accept,type:"file",onChange:O,onClick:o[1]||(o[1]=t.withModifiers(()=>{},["stop"]))},null,42,W)],42,H))}});exports.default=A;
|
|
@@ -19,6 +19,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
19
19
|
autoUpload: boolean;
|
|
20
20
|
listType: string;
|
|
21
21
|
httpRequest: import("./types").UploadRequestHandler;
|
|
22
|
+
fileList: never[];
|
|
22
23
|
replaceOnLimit: boolean;
|
|
23
24
|
maxSize: undefined;
|
|
24
25
|
sizeExceedMessage: string;
|
|
@@ -86,6 +87,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
86
87
|
autoUpload: boolean;
|
|
87
88
|
listType: string;
|
|
88
89
|
httpRequest: import("./types").UploadRequestHandler;
|
|
90
|
+
fileList: never[];
|
|
89
91
|
replaceOnLimit: boolean;
|
|
90
92
|
maxSize: undefined;
|
|
91
93
|
sizeExceedMessage: string;
|
|
@@ -102,6 +104,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
102
104
|
sizeHeight: number;
|
|
103
105
|
action: string;
|
|
104
106
|
accept: string;
|
|
107
|
+
fileList: import("./types").UploadUserFile[];
|
|
105
108
|
showFileList: boolean;
|
|
106
109
|
autoUpload: boolean;
|
|
107
110
|
listType: import("./types").ListType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const h=require("../message/index.cjs"),P=require("./ajax.cjs"),_=require("./constants.cjs"),C=require("./upload-content.vue2.cjs"),w=require("./upload-list.vue2.cjs"),E=require("./use-handlers.cjs"),F=require("../form/hooks/use-form-common-props.cjs"),L=e.defineComponent({name:"vft-upload"}),V=e.defineComponent({...L,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:{},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:P.ajaxUpload},disabled:{type:Boolean},limit:{},replaceOnLimit:{type:Boolean,default:!1},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},sizeWidth:{default:void 0},sizeHeight:{default:void 0},onSizeInvalid:{},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{type:Function,default:()=>{}},onSizeExceed:{}},setup(k,{expose:B}){const o=k,r=e.useSlots(),f=F.useFormDisabled(),i=e.shallowRef(),{abort:p,submit:c,clearFiles:m,uploadFiles:n,handleStart:v,handleError:b,handleRemove:d,handleSuccess:R,handleProgress:$}=E.useHandlers(o,i),u=e.computed(()=>o.listType==="picture-card"),z={abort:p,submit:c,clearFiles:m,uploadFiles:n,uploadRef:i},y=e.computed(()=>({...o,fileList:n.value,onStart:v,onProgress:$,onSuccess:R,onError:b,onRemove:d,onChange:(t,l)=>{o.onChange?.(t,l,z)},onSizeExceed:(t,l)=>{if(o.onSizeExceed)o.onSizeExceed?.(t,l);else{const s=`文件大小不能超过 ${(l/1048576).toFixed(2)}MB`;console.warn("默认文件大小超出提示:",s),h.VftMessage.warning(s)}},onSizeInvalid:(t,l,a,s,g)=>{if(o.onSizeInvalid)o.onSizeInvalid(t,l,a,s,g);else{const S=`文件尺寸不符合要求,当前尺寸:${l}x${a},期望尺寸:${s}x${g}`;console.warn("默认尺寸校验提示:",S),h.VftMessage.warning(S)}}}));return e.onBeforeUnmount(()=>{n.value.forEach(({url:t})=>{t?.startsWith("blob:")&&URL.revokeObjectURL(t)})}),e.provide(_.uploadContextKey,{accept:toRef(o,"accept")}),B({abort:p,submit:c,clearFiles:m,handleStart:v,handleRemove:d,fileList:n}),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vft-upload-wrapper",{disabled:e.unref(f)}])},[u.value&&t.showFileList?(e.openBlock(),e.createBlock(w.default,{key:0,disabled:e.unref(f),"list-type":t.listType,files:e.unref(n),"handle-preview":t.onPreview,onRemove:e.unref(d)},e.createSlots({append:e.withCtx(()=>[e.createVNode(C.default,e.mergeProps({ref_key:"uploadRef",ref:i},y.value),{default:e.withCtx(()=>[e.unref(r).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(r).trigger&&e.unref(r).default?e.renderSlot(t.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)]),_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:a})=>[e.renderSlot(t.$slots,"file",{file:a})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0),!u.value||u.value&&!t.showFileList?(e.openBlock(),e.createBlock(C.default,e.mergeProps({key:1,ref_key:"uploadRef",ref:i},y.value),{default:e.withCtx(()=>[e.unref(r).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(r).trigger&&e.unref(r).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"),!u.value&&t.showFileList?(e.openBlock(),e.createBlock(w.default,{key:3,disabled:e.unref(f),"list-type":t.listType,files:e.unref(n),"handle-preview":t.onPreview,onRemove:e.unref(d)},e.createSlots({_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:a})=>[e.renderSlot(t.$slots,"file",{file:a})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)],2))}});exports.default=V;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const h=require("../message/index.cjs"),P=require("./ajax.cjs"),_=require("./constants.cjs"),C=require("./upload-content.vue2.cjs"),w=require("./upload-list.vue2.cjs"),E=require("./use-handlers.cjs"),F=require("../form/hooks/use-form-common-props.cjs"),L=e.defineComponent({name:"vft-upload"}),V=e.defineComponent({...L,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:P.ajaxUpload},disabled:{type:Boolean},limit:{},replaceOnLimit:{type:Boolean,default:!1},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},sizeWidth:{default:void 0},sizeHeight:{default:void 0},onSizeInvalid:{},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{type:Function,default:()=>{}},onSizeExceed:{}},setup(k,{expose:B}){const o=k,r=e.useSlots(),f=F.useFormDisabled(),i=e.shallowRef(),{abort:p,submit:c,clearFiles:m,uploadFiles:n,handleStart:v,handleError:b,handleRemove:d,handleSuccess:R,handleProgress:$}=E.useHandlers(o,i),u=e.computed(()=>o.listType==="picture-card"),z={abort:p,submit:c,clearFiles:m,uploadFiles:n,uploadRef:i},y=e.computed(()=>({...o,fileList:n.value,onStart:v,onProgress:$,onSuccess:R,onError:b,onRemove:d,onChange:(t,l)=>{o.onChange?.(t,l,z)},onSizeExceed:(t,l)=>{if(o.onSizeExceed)o.onSizeExceed?.(t,l);else{const s=`文件大小不能超过 ${(l/1048576).toFixed(2)}MB`;console.warn("默认文件大小超出提示:",s),h.VftMessage.warning(s)}},onSizeInvalid:(t,l,a,s,g)=>{if(o.onSizeInvalid)o.onSizeInvalid(t,l,a,s,g);else{const S=`文件尺寸不符合要求,当前尺寸:${l}x${a},期望尺寸:${s}x${g}`;console.warn("默认尺寸校验提示:",S),h.VftMessage.warning(S)}}}));return e.onBeforeUnmount(()=>{n.value.forEach(({url:t})=>{t?.startsWith("blob:")&&URL.revokeObjectURL(t)})}),e.provide(_.uploadContextKey,{accept:e.toRef(o,"accept")}),B({abort:p,submit:c,clearFiles:m,handleStart:v,handleRemove:d,fileList:n}),(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vft-upload-wrapper",{disabled:e.unref(f)}])},[u.value&&t.showFileList?(e.openBlock(),e.createBlock(w.default,{key:0,disabled:e.unref(f),"list-type":t.listType,files:e.unref(n),"handle-preview":t.onPreview,onRemove:e.unref(d)},e.createSlots({append:e.withCtx(()=>[e.createVNode(C.default,e.mergeProps({ref_key:"uploadRef",ref:i},y.value),{default:e.withCtx(()=>[e.unref(r).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(r).trigger&&e.unref(r).default?e.renderSlot(t.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)]),_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:a})=>[e.renderSlot(t.$slots,"file",{file:a})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0),!u.value||u.value&&!t.showFileList?(e.openBlock(),e.createBlock(C.default,e.mergeProps({key:1,ref_key:"uploadRef",ref:i},y.value),{default:e.withCtx(()=>[e.unref(r).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(r).trigger&&e.unref(r).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"),!u.value&&t.showFileList?(e.openBlock(),e.createBlock(w.default,{key:3,disabled:e.unref(f),"list-type":t.listType,files:e.unref(n),"handle-preview":t.onPreview,onRemove:e.unref(d)},e.createSlots({_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:a})=>[e.renderSlot(t.$slots,"file",{file:a})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)],2))}});exports.default=V;
|
package/lib/package.json.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.385";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.385",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
"sortablejs": "1.15.0",
|
|
57
57
|
"photoswipe": "5.4.4",
|
|
58
58
|
"@vft/constants": "0.0.72",
|
|
59
|
+
"@vft/utils": "0.0.136",
|
|
59
60
|
"@vft/router": "0.0.67",
|
|
60
|
-
"@vft/use": "0.0.77",
|
|
61
|
-
"@vft/directives": "0.0.34",
|
|
62
61
|
"@vft/store": "0.0.54",
|
|
63
|
-
"@vft/
|
|
62
|
+
"@vft/directives": "0.0.34",
|
|
63
|
+
"@vft/use": "0.0.79"
|
|
64
64
|
},
|
|
65
65
|
"vetur": {
|
|
66
66
|
"tags": "tags.json",
|
package/web-types.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.
|
|
1
|
+
{"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.385","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.vft-p-image{position:relative;display:inline-block}.vft-p-image__img{display:block;width:100%;height:100%}
|