import{dasce,laswe,Casxe,oasi,aasd,past,wass,masl,tasz,FasE,basQ,fasV,easv,kasU,gasre,AasX,UasUe,rasm,nasY,xasP,_as_e,uas$e,vasCe,iasIe,yasle,qasF,cas$,Basze,EasVe,jasSe}from"./index-BAVzA63z.js";import{Iask}from"./Icon-fSTUMLnE.js";import{_asue}from"./ImageUploadInput.vue_vue_type_script_setup_true_lang-BoT7ZqmO.js";constLe={class:"gallery-upload"},Re={class:"gallery-upload__zone"},qe={class:"gallery-upload__title"},Oe={key:0,class:"gallery-upload__grid"},Ee=["src"],je={key:0,class:"tile__progress"},Me={key:1,class:"tile__overlay"},Ne=["onClick"],Pe=["onClick"],Ae={key:1,class:"gallery-upload__meta"},Be={key:0,class:"gallery-upload__pending"},De=["src"],Fe=3,Ge=ce({__name:"GalleryUploadInput",props:{modelValue:{default:()=>[]},purpose:{default:void0},placeholder:{default:"افزودن تصاویر گالری"}},emits:["update:modelValue"],setup(Z,{emit:ee}){constj=Z,A=ee,f=U([]),S=U(!1),R=U(""),G=()=>f.value.filter(o=>o.status==="done"&&o.url).map(o=>o.url),B=re(()=>f.value.filter(o=>o.status==="done").length),T=re(()=>f.value.filter(o=>o.status==="uploading").length);functionJ(){A("update:modelValue",G())}we(()=>j.modelValue,o=>{if(JSON.stringify(G())===JSON.stringify(o??[]))return;constp=f.value.filter(r=>r.status==="uploading");f.value=[...(o??[]).map(r=>({uid:r,status:"done",url:r,percent:100})),...p]},{immediate:!0});functionH(o){returno.type.startsWith("image/")?!0:(X.error(`«${o.name}» تصویر نیست`),Ue.LIST_IGNORE)}letn=0;constq=[];functionD(o){returnnewPromise((p,r)=>{constg=()=>{n++,o().then(p,r).finally(()=>{varC;n--,(C=q.shift())==null||C()})};n<Fe?g():q.push(g)})}constO=o=>f.value.find(p=>p.uid===o);functionW({file:o}){constp=o.uid??`${Date.now()}-${Math.random().toString(36).slice(2,8)}`;f.value.push({uid:p,status:"uploading",preview:URL.createObjectURL(o),percent:0}),D(async()=>{if(!O(p))returnnull;constr=newFormData;r.append("file",o),j.purpose&&r.append("purpose",j.purpose);const{data:g}=awaitP.post("file/create",r,{onUploadProgress:C=>{constb=O(p);b&&C.total&&(b.percent=Math.round(C.loaded/C.total*100))}});returng}).then(r=>{constg=O(p);!g||!(r!=null&&r.url)||(g.preview&&URL.revokeObjectURL(g.preview),Object.assign(g,{status:"done",url:r.url,preview:void0,percent:100}),J())}).catch(r=>{varC,b;constg=((b=(C=r==null?void0:r.response)==null?void0:C.data)==null?void0:b.message)??`بارگذاری «${o.name}» ناموفق بود`;X.error(g),L(p)})}functionL(o){constp=f.value.findIndex(g=>g.uid===o);if(p===-1)return;const[r]=f.value.splice(p,1);r.preview&&URL.revokeObjectURL(r.preview)}functionM(o){L(o),J()}functionN(o){R.value=o.url??o.preview??"",S.value=!0}returnxe(()=>{f.value.forEach(o=>o.preview&&URL.revokeObjectURL(o.preview))}),(o,p)=>{constr=m("a-upload-dragger"),g=m("a-progress"),C=m("a-modal");returni(),d("div",Le,[t(r,{accept:"image/*",multiple:"","show-upload-list":!1,"custom-request":W,"before-upload":H},{default:s(()=>[l("div",Re,[t(k,{icon:"vuesax-linear:document-upload",size:"16",class:"gallery-upload__icon"}),l("p",qe,z(Z.placeholder),1),p[1]||(p[1]=l("p",{class:"gallery-upload__hint"}," تصاویر را اینجا بکشید و رها کنید یا کلیک کنید — انتخاب چند تصویر بهصورت همزمان امکانپذیر است ",-1))])]),_:1}),f.value.length?(i(),d("div",Oe,[(i(!0),d(E,null,Q(f.value,b=>(i(),d("div",{key:b.uid,class:Y(["tile",{"is-uploading":b.status==="uploading"}])},[l("img",{src:b.url??b.preview,alt:""},null,8,Ee),b.status==="uploading"?(i(),d("div",je,[t(g,{type:"circle",percent:b.percent,size:40,"stroke-width":8,"stroke-color":"#fff","trail-color":"rgba(255,255,255,.3)","show-info":!1},null,8,["percent"])])):(i(),d("div",Me,[l("button",{type:"button",class:"tile__btn",title:"نمایش",onClick:te=>N(b)},[t(k,{icon:"vuesax-linear:eye",size:"16"})],8,Ne),l("button",{type:"button",class:"tile__btn tile__btn--danger",title:"حذف",onClick:te=>M(b.uid)},[t(k,{icon:"vuesax-linear:trash",size:"16"})],8,Pe)]))],2))),128))])):V("",!