var Ne=Object.defineProperty,$e=Object.defineProperties;var Ee=Object.getOwnPropertyDescriptors;var ve=Object.getOwnPropertySymbols;var Ae=Object.prototype.hasOwnProperty,De=Object.prototype.propertyIsEnumerable;var _e=(f,v,p)=>v in f?Ne(f,v,{enumerable:!0,configurable:!0,writable:!0,value:p}):f[v]=p,V=(f,v)=>{for(var p in v||(v={}))Ae.call(v,p)&&_e(f,p,v[p]);if(ve)for(var p of ve(v))De.call(v,p)&&_e(f,p,v[p]);return f},q=(f,v)=>$e(f,Ee(v));var he=(f,v,p)=>new Promise((o,h)=>{var T=n=>{try{t(p.next(n))}catch(u){h(u)}},l=n=>{try{t(p.throw(n))}catch(u){h(u)}},t=n=>n.done?o(n.value):Promise.resolve(n.value).then(T,l);t((p=p.apply(f,v)).next())});import{aY as we,aZ as Me,a_ as xe,ab as K,as as Ve,a$ as Ke,a6 as Fe,d as Pe,r as ne,V as Oe,b0 as Ge,c as k,af as N,j as _,w,k as b,l as Ce,ak as Re,b1 as Ie,_ as O,aa as Le,s as J,az as qe,x as Se,a5 as B,aJ as I,aI as te,aS as Be,aT as He,T as je,W as A,p as Z,F as Q,q as Je,aq as be,b2 as We,m as ee,t as j,b3 as Xe,n as Ye,u as Ze,at as Qe,ax as le,b4 as ye,b5 as ge,b6 as es,b7 as ss,am as as,b8 as os,b9 as ke,aO as ts}from"./index-B-O76M86.js";const se={PENDING:"pending",LOADING:"loading",SUCCESS:"success",FAIL:"fail"};function ls(){let f=null;const v=t=>{t?t.abort():f&&(f.abort(),f=null)},p=(t,n,u)=>{u.abortPrevious&&v();const y=Ke({url:u.action,header:u.header,name:u.name,fileName:u.name,fileType:u.fileType,formData:n,filePath:t.url,success(g){g.statusCode===u.statusCode?u.onSuccess(g,t,n):u.onError(q(V({},g),{errMsg:g.errMsg||""}),t,n)},fail(g){u.onError(g,t,n)}});return f=y,y.onProgressUpdate(g=>{u.onProgress(g,t)}),y},o=(t,n)=>{const{uploadMethod:u,formData:y={},action:g,name:G="file",header:D={},fileType:R="image",statusCode:$=200,statusKey:L="status",abortPrevious:z=!1}=n;t[L]=se.LOADING;const F={action:g,header:D,name:G,fileName:G,fileType:R,statusCode:$,abortPrevious:z,onSuccess:(S,P,C)=>{var E;P[L]=se.SUCCESS,f=null,(E=n.onSuccess)==null||E.call(n,S,P,C)},onError:(S,P,C)=>{var E;P[L]=se.FAIL,P.error=S.errMsg,f=null,(E=n.onError)==null||E.call(n,S,P,C)},onProgress:(S,P)=>{var C;P.percent=S.progress,(C=n.onProgress)==null||C.call(n,S,P)}};return K(u)?u(t,y,F):p(t,y,F)};function h(t){return Ve(t.tempFiles)?t.tempFiles.map(n=>({path:n.path||"",name:n.name||"",size:n.size,type:"image",thumb:n.path||""})):[{path:t.tempFiles.path||"",name:t.tempFiles.name||"",size:t.tempFiles.size,type:"image",thumb:t.tempFiles.path||""}]}function T(t){return[{path:t.tempFilePath||t.filePath||"",name:t.name||"",size:t.size,type:"video",thumb:t.thumbTempFilePath||"",duration:t.duration}]}function l({multiple:t,sizeType:n,sourceType:u,maxCount:y,accept:g,compressed:G,maxDuration:D,camera:R,extension:$}){return new Promise((L,z)=>{switch(g){case"image":we({count:t?Math.min(y||9,9):1,sizeType:n,sourceType:u,extension:$,success:F=>L(h(F)),fail:z});break;case"video":xe({sourceType:u,compressed:G,maxDuration:D,camera:R,extension:$,success:F=>L(T(F)),fail:z});break;case"all":Me({count:t?Math.min(y||100,100):1,type:g,extension:$,success:F=>L(F.tempFiles),fail:z});break;default:we({count:t?Math.min(y||9,9):1,sizeType:n,sourceType:u,extension:$,success:F=>L(h(F)),fail:z});break}})}return{startUpload:o,abort:v,UPLOAD_STATUS:se,chooseFile:l}}const ns=V({},Fe),rs={name:"wd-video-preview",options:{addGlobalClass:!0,virtualHost:!0,styleIsolation:"shared"}},is=Pe(q(V({},rs),{props:ns,setup(f,{expose:v}){const p=ne(!1),o=Oe({url:"",poster:"",title:""});function h(t){p.value=!0,o.url=t.url,o.poster=t.poster,o.title=t.title}function T(){p.value=!1,qe(()=>{l()})}function l(){o.url="",o.poster="",o.title=""}return Ge(()=>p.value),v({open:h,close:T}),(t,n)=>{const u=Ie,y=Ce;return p.value?(_(),k(y,{key:0,class:J(`wd-video-preview ${t.customClass}`),style:Le(t.customStyle),onClick:T},{default:w(()=>[b(y,{class:"wd-video-preview__video",onClick:n[0]||(n[0]=Re(()=>{},["stop"]))},{default:w(()=>[o.url?(_(),k(u,{key:0,class:"wd-video-preview__video",controls:!0,poster:o.poster,title:o.title,"play-btn-position":"center",enableNative:!0,src:o.url,"enable-progress-gesture":!1},null,8,["poster","title","src"])):N("",!0)]),_:1}),b(O,{name:"close","custom-class":"wd-video-preview__close",onClick:T})]),_:1},8,["class","style"])):N("",!0)}}})),us=Se(is,[["__scopeId","data-v-633c6945"]]),cs=q(V({},Fe),{fileList:Be(),action:I(""),header:{type:Object,default:()=>({})},multiple:B(!1),disabled:B(!1),limit:Number,showLimitNum:B(!0),maxSize:te(Number.MAX_VALUE),sourceType:{type:Array,default:()=>["album","camera"]},sizeType:{type:Array,default:()=>["original","compressed"]},name:I("file"),formData:{type:Object,default:()=>({})},onPreviewFail:Function,beforeUpload:Function,beforeChoose:Function,beforeRemove:Function,beforePreview:Function,buildFormData:Function,loadingType:I("ring"),loadingColor:I("#ffffff"),accept:I("image"),statusKey:I("status"),loadingSize:I("24px"),compressed:B(!0),maxDuration:te(60),camera:I("back"),imageMode:I("aspectFit"),successStatus:te(200),customEvokeClass:I(""),customPreviewClass:I(""),autoUpload:B(!0),reupload:B(!1),uploadMethod:Function,extension:Array}),ds={name:"wd-upload",options:{addGlobalClass:!0,virtualHost:!0,styleIsolation:"shared"}},ms=Pe(q(V({},ds),{props:cs,emits:["fail","change","success","progress","oversize","chooseerror","remove","update:fileList"],setup(f,{expose:v,emit:p}){const o=f,h=p;v({submit:()=>R(),abort:()=>y()});const{translate:T}=He("upload"),l=ne([]),t=je(()=>!o.limit||l.value.lengtho.fileList,e=>{const{statusKey:a}=o;if(ts(e,l.value))return;const r=e.map(s=>(s[a]=s[a]||"success",s.response=s.response||"",q(V({},s),{uid:ke.id++})));l.value=r},{deep:!0,immediate:!0}),A(()=>o.limit,e=>{e&&eo.beforePreview,e=>{e&&!K(e)&&console.error("The type of beforePreview must be Function")},{deep:!0,immediate:!0}),A(()=>o.onPreviewFail,e=>{e&&!K(e)&&console.error("The type of onPreviewFail must be Function")},{deep:!0,immediate:!0}),A(()=>o.beforeRemove,e=>{e&&!K(e)&&console.error("The type of beforeRemove must be Function")},{deep:!0,immediate:!0}),A(()=>o.beforeUpload,e=>{e&&!K(e)&&console.error("The type of beforeUpload must be Function")},{deep:!0,immediate:!0}),A(()=>o.beforeChoose,e=>{e&&!K(e)&&console.error("The type of beforeChoose must be Function")},{deep:!0,immediate:!0}),A(()=>o.buildFormData,e=>{e&&!K(e)&&console.error("The type of buildFormData must be Function")},{deep:!0,immediate:!0});function D(){h("update:fileList",l.value)}function R(){const{buildFormData:e,formData:a={},statusKey:r}=o,{action:s,name:d,header:m={},accept:i,successStatus:c,uploadMethod:U}=o,W=Qe(c)?c:200;for(const M of l.value)M[r]===G.PENDING&&(e?e({file:M,formData:a,resolve:X=>{X&&u(M,{action:s,header:m,name:d,formData:X,fileType:i,statusCode:W,statusKey:r,uploadMethod:U,onSuccess:F,onError:z,onProgress:S})}}):u(M,{action:s,header:m,name:d,formData:a,fileType:i,statusCode:W,statusKey:r,uploadMethod:U,onSuccess:F,onError:z,onProgress:S}))}function $(e){return new Promise((a,r)=>{os({src:e,success:s=>{a(s)},fail:s=>{r(s)}})})}function L(e,a){const{statusKey:r}=o,s={uid:ke.id++,name:e.name||"",thumb:e.thumb||"",[r]:"pending",size:e.size||0,url:e.path,percent:0};typeof a=="number"?l.value.splice(a,1,s):l.value.push(s),o.autoUpload&&R()}function z(e,a,r){const{statusKey:s}=o,d=l.value.findIndex(m=>m.uid===a.uid);d>-1&&(l.value[d][s]="fail",l.value[d].error=e.message,l.value[d].response=e,h("fail",{error:e,file:a,formData:r}),D())}function F(e,a,r){const{statusKey:s}=o,d=l.value.findIndex(m=>m.uid===a.uid);d>-1&&(l.value[d][s]="success",l.value[d].response=e.data,h("change",{fileList:l.value}),h("success",{file:a,fileList:l.value,formData:r}),D())}function S(e,a){const r=l.value.findIndex(s=>s.uid===a.uid);r>-1&&(l.value[r].percent=e.progress,h("progress",{response:e,file:a}))}function P(e){const{multiple:a,maxSize:r,accept:s,sizeType:d,limit:m,sourceType:i,compressed:c,maxDuration:U,camera:W,beforeUpload:M,extension:X}=o;g({multiple:a,sizeType:d,sourceType:i,maxCount:m?m-l.value.length:9,accept:s,compressed:c,maxDuration:U,camera:W,extension:X}).then(ae=>{let H=ae;a||(H=H.slice(0,1));const pe=Y=>he(this,null,function*(){for(let oe=0;oe{Y&&pe(H)}}):pe(H)}).catch(ae=>{h("chooseerror",{error:ae})})}function C(e){if(o.disabled)return;const{beforeChoose:a}=o;a?a({fileList:l.value,resolve:r=>{r&&P(e)}}):P(e)}function E(e){l.value.splice(l.value.findIndex(a=>a.uid===e.uid),1),h("change",{fileList:l.value}),h("remove",{file:e}),D()}function Te(e){const{beforeRemove:a}=o,r=e,s=l.value[r];a?a({file:s,index:r,fileList:l.value,resolve:d=>{d&&E(s)}}):E(s)}function re(e){es({filePath:e.url,showMenu:!0})}function ie(e,a){const{onPreviewFail:r}=o;ss({urls:a,current:a[e],fail(){r?r({index:e,imgList:a}):as({title:"预览图片失败",icon:"none"})}})}function ue(e,a){var s;const{onPreviewFail:r}=o;(s=n.value)==null||s.open({url:a[e].url,poster:a[e].thumb,title:a[e].name})}function ze(e){const{beforePreview:a,reupload:r}=o,s=le(l.value),d=s.findIndex(c=>c.url===e.url),m=s.filter(c=>me(c)).map(c=>c.url),i=m.findIndex(c=>c===e.url);r?C(d):a?a({file:e,index:d,fileList:s,imgList:m,resolve:c=>{c&&ie(i,m)}}):ie(i,m)}function ce(e){const{beforePreview:a,reupload:r}=o,s=le(l.value),d=s.findIndex(c=>c.url===e.url),m=s.filter(c=>de(c)),i=m.findIndex(c=>c.url===e.url);r?C(d):a?a({file:e,index:d,imgList:[],fileList:s,resolve:c=>{c&&ue(i,m)}}):ue(i,m)}function Ue(e){const{beforePreview:a,reupload:r}=o,s=le(l.value),d=s.findIndex(m=>m.url===e.url);r?C(d):a?a({file:e,index:d,imgList:[],fileList:s,resolve:m=>{m&&re(e)}}):re(e)}function de(e){return e.name&&ye(e.name)||ye(e.url)}function me(e){return e.name&&ge(e.name)||ge(e.url)}return(e,a)=>{const r=We,s=Ce,d=Ie,m=Ye;return _(),Z(Q,null,[b(s,{class:J(["wd-upload",e.customClass]),style:Le(e.customStyle)},{default:w(()=>[(_(!0),Z(Q,null,Je(l.value,(i,c)=>(_(),k(s,{class:J(["wd-upload__preview",e.customPreviewClass]),key:c},{default:w(()=>[b(s,{class:"wd-upload__status-content"},{default:w(()=>[me(i)?(_(),k(r,{key:0,src:i.url,mode:e.imageMode,class:"wd-upload__picture",onClick:U=>ze(i)},null,8,["src","mode","onClick"])):de(i)?(_(),Z(Q,{key:1},[i.thumb?(_(),k(s,{key:0,class:"wd-upload__video",onClick:U=>ce(i)},{default:w(()=>[b(r,{src:i.thumb,mode:e.imageMode,class:"wd-upload__picture"},null,8,["src","mode"]),b(O,{name:"play-circle-filled","custom-class":"wd-upload__video-paly"})]),_:2},1032,["onClick"])):(_(),k(s,{key:1,class:"wd-upload__video",onClick:U=>ce(i)},{default:w(()=>[b(d,{src:i.url,title:i.name||"视频"+c,"object-fit":"contain",controls:!1,poster:i.thumb,autoplay:!1,"show-center-play-btn":!1,"show-fullscreen-btn":!1,"show-play-btn":!1,"show-loading":!1,"show-progress":!1,"show-mute-btn":!1,"enable-progress-gesture":!1,enableNative:!0,class:"wd-upload__video"},null,8,["src","title","poster"]),b(O,{name:"play-circle-filled","custom-class":"wd-upload__video-paly"})]),_:2},1032,["onClick"]))],64)):(_(),k(s,{key:2,class:"wd-upload__file",onClick:U=>Ue(i)},{default:w(()=>[b(O,{name:"file","custom-class":"wd-upload__file-icon"}),b(s,{class:"wd-upload__file-name"},{default:w(()=>[ee(j(i.name||i.url),1)]),_:2},1024)]),_:2},1032,["onClick"]))]),_:2},1024),i[o.statusKey]!=="success"?(_(),k(s,{key:0,class:"wd-upload__mask wd-upload__status-content"},{default:w(()=>[i[o.statusKey]==="loading"?(_(),k(s,{key:0,class:"wd-upload__status-content"},{default:w(()=>[b(Xe,{type:e.loadingType,size:e.loadingSize,color:e.loadingColor},null,8,["type","size","color"]),b(m,{class:"wd-upload__progress-txt"},{default:w(()=>[ee(j(i.percent)+"%",1)]),_:2},1024)]),_:2},1024)):N("",!0),i[o.statusKey]==="fail"?(_(),k(s,{key:1,class:"wd-upload__status-content"},{default:w(()=>[b(O,{name:"close-outline","custom-class":"wd-upload__icon"}),b(m,{class:"wd-upload__progress-txt"},{default:w(()=>[ee(j(i.error||Ze(T)("error")),1)]),_:2},1024)]),_:2},1024)):N("",!0)]),_:2},1024)):N("",!0),i[o.statusKey]!=="loading"&&!e.disabled?(_(),k(O,{key:1,name:"error-fill","custom-class":"wd-upload__close",onClick:U=>Te(c)},null,8,["onClick"])):N("",!0),e.$slots["preview-cover"]?be(e.$slots,"preview-cover",{key:2,file:i,index:c},void 0,!0):N("",!0)]),_:2},1032,["class"]))),128)),t.value?(_(),Z(Q,{key:0},[e.$slots.default?(_(),k(s,{key:0,class:J(["wd-upload__evoke-slot",e.customEvokeClass]),onClick:C},{default:w(()=>[be(e.$slots,"default",{},void 0,!0)]),_:3},8,["class"])):(_(),k(s,{key:1,onClick:C,class:J(["wd-upload__evoke",e.disabled?"is-disabled":"",e.customEvokeClass])},{default:w(()=>[b(O,{class:"wd-upload__evoke-icon",name:"fill-camera"}),e.limit&&e.showLimitNum?(_(),k(s,{key:0,class:"wd-upload__evoke-num"},{default:w(()=>[ee("("+j(l.value.length)+"/"+j(e.limit)+")",1)]),_:1})):N("",!0)]),_:1},8,["class"]))],64)):N("",!0)]),_:3},8,["class","style"]),b(us,{ref_key:"videoPreview",ref:n},null,512)],64)}}})),vs=Se(ms,[["__scopeId","data-v-3fe51693"]]);export{vs as _};