| 123456 |
- import{aq as W,ar as b,f as j,N as M,y as C,bR as Re,bS as ce,aV as Fe,aC as pe,bC as fe,a6 as ve,a7 as ee,o as g,c as E,a2 as y,k as e,a as N,a4 as q,R as _,t as z,n as k,m as D,w as L,a1 as _e,B as I,_ as H,as as ye,a$ as x,b1 as me,bo as ge,bq as Y,aG as P,ac as Le,bf as V,r as he,H as Te,I as Ue,aX as be,a3 as K,b as B,bT as De,bE as Oe,bU as Be,bV as Ne,O as je,s as Z,bW as te,bX as qe,bY as Ie,W as se,aS as Ae,be as Me,S as Ke,bZ as We,b_ as ae,bK as oe}from"./entry.97b97815.js";import{c as ne}from"./cloneDeep.6baf8ee3.js";import{i as He}from"./index.f67f0c88.js";const ze=W({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:o=>o>=0&&o<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:b(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:b([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:b(Function),default:o=>`${o}%`}}),Ve=["aria-valuenow"],Xe={viewBox:"0 0 100 100"},Ge=["d","stroke","stroke-linecap","stroke-width"],Je=["d","stroke","opacity","stroke-linecap","stroke-width"],Ye={key:0},Ze=j({name:"ElProgress"}),Qe=j({...Ze,props:ze,setup(o){const t=o,s={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},u=M("progress"),f=C(()=>({width:`${t.percentage}%`,animationDuration:`${t.duration}s`,backgroundColor:R(t.percentage)})),c=C(()=>(t.strokeWidth/t.width*100).toFixed(1)),m=C(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(c.value)/2}`,10):0),S=C(()=>{const r=m.value,F=t.type==="dashboard";return`
- M 50 50
- m 0 ${F?"":"-"}${r}
- a ${r} ${r} 0 1 1 0 ${F?"-":""}${r*2}
- a ${r} ${r} 0 1 1 0 ${F?"":"-"}${r*2}
- `}),h=C(()=>2*Math.PI*m.value),$=C(()=>t.type==="dashboard"?.75:1),w=C(()=>`${-1*h.value*(1-$.value)/2}px`),v=C(()=>({strokeDasharray:`${h.value*$.value}px, ${h.value}px`,strokeDashoffset:w.value})),l=C(()=>({strokeDasharray:`${h.value*$.value*(t.percentage/100)}px, ${h.value}px`,strokeDashoffset:w.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),a=C(()=>{let r;return t.color?r=R(t.percentage):r=s[t.status]||s.default,r}),d=C(()=>t.status==="warning"?Re:t.type==="line"?t.status==="success"?ce:Fe:t.status==="success"?pe:fe),n=C(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),p=C(()=>t.format(t.percentage));function i(r){const F=100/r.length;return r.map((T,U)=>ee(T)?{color:T,percentage:(U+1)*F}:T).sort((T,U)=>T.percentage-U.percentage)}const R=r=>{var F;const{color:O}=t;if(ve(O))return O(r);if(ee(O))return O;{const T=i(O);for(const U of T)if(U.percentage>r)return U.color;return(F=T[T.length-1])==null?void 0:F.color}};return(r,F)=>(g(),E("div",{class:y([e(u).b(),e(u).m(r.type),e(u).is(r.status),{[e(u).m("without-text")]:!r.showText,[e(u).m("text-inside")]:r.textInside}]),role:"progressbar","aria-valuenow":r.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[r.type==="line"?(g(),E("div",{key:0,class:y(e(u).b("bar"))},[N("div",{class:y(e(u).be("bar","outer")),style:q({height:`${r.strokeWidth}px`})},[N("div",{class:y([e(u).be("bar","inner"),{[e(u).bem("bar","inner","indeterminate")]:r.indeterminate},{[e(u).bem("bar","inner","striped")]:r.striped},{[e(u).bem("bar","inner","striped-flow")]:r.stripedFlow}]),style:q(e(f))},[(r.showText||r.$slots.default)&&r.textInside?(g(),E("div",{key:0,class:y(e(u).be("bar","innerText"))},[_(r.$slots,"default",{percentage:r.percentage},()=>[N("span",null,z(e(p)),1)])],2)):k("v-if",!0)],6)],6)],2)):(g(),E("div",{key:1,class:y(e(u).b("circle")),style:q({height:`${r.width}px`,width:`${r.width}px`})},[(g(),E("svg",Xe,[N("path",{class:y(e(u).be("circle","track")),d:e(S),stroke:`var(${e(u).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":r.strokeLinecap,"stroke-width":e(c),fill:"none",style:q(e(v))},null,14,Ge),N("path",{class:y(e(u).be("circle","path")),d:e(S),stroke:e(a),fill:"none",opacity:r.percentage?1:0,"stroke-linecap":r.strokeLinecap,"stroke-width":e(c),style:q(e(l))},null,14,Je)]))],6)),(r.showText||r.$slots.default)&&!r.textInside?(g(),E("div",{key:2,class:y(e(u).e("text")),style:q({fontSize:`${e(n)}px`})},[_(r.$slots,"default",{percentage:r.percentage},()=>[r.status?(g(),D(e(I),{key:1},{default:L(()=>[(g(),D(_e(e(d))))]),_:1})):(g(),E("span",Ye,z(e(p)),1))])],6)):k("v-if",!0)],10,Ve))}});var xe=H(Qe,[["__file","progress.vue"]]);const et=ye(xe),ke=Symbol("uploadContextKey"),tt="ElUpload";class st extends Error{constructor(t,s,u,f){super(t),this.name="UploadAjaxError",this.status=s,this.method=u,this.url=f}}function re(o,t,s){let u;return s.response?u=`${s.response.error||s.response}`:s.responseText?u=`${s.responseText}`:u=`fail to ${t.method} ${o} ${s.status}`,new st(u,s.status,t.method,o)}function at(o){const t=o.responseText||o.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const ot=o=>{typeof XMLHttpRequest>"u"&&x(tt,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,s=o.action;t.upload&&t.upload.addEventListener("progress",c=>{const m=c;m.percent=c.total>0?c.loaded/c.total*100:0,o.onProgress(m)});const u=new FormData;if(o.data)for(const[c,m]of Object.entries(o.data))me(m)&&m.length?u.append(c,...m):u.append(c,m);u.append(o.filename,o.file,o.file.name),t.addEventListener("error",()=>{o.onError(re(s,o,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return o.onError(re(s,o,t));o.onSuccess(at(t))}),t.open(o.method,s,!0),o.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const f=o.headers||{};if(f instanceof Headers)f.forEach((c,m)=>t.setRequestHeader(m,c));else for(const[c,m]of Object.entries(f))ge(m)||t.setRequestHeader(c,String(m));return t.send(u),t},$e=["text","picture","picture-card"];let nt=1;const Q=()=>Date.now()+nt++,we=W({action:{type:String,default:"#"},headers:{type:b(Object)},method:{type:String,default:"post"},data:{type:b([Object,Function,Promise]),default:()=>Y({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:b(Array),default:()=>Y([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:$e,default:"text"},httpRequest:{type:b(Function),default:ot},disabled:Boolean,limit:Number}),rt=W({...we,beforeUpload:{type:b(Function),default:P},beforeRemove:{type:b(Function)},onRemove:{type:b(Function),default:P},onChange:{type:b(Function),default:P},onPreview:{type:b(Function),default:P},onSuccess:{type:b(Function),default:P},onProgress:{type:b(Function),default:P},onError:{type:b(Function),default:P},onExceed:{type:b(Function),default:P}}),lt=W({files:{type:b(Array),default:()=>Y([])},disabled:{type:Boolean,default:!1},handlePreview:{type:b(Function),default:P},listType:{type:String,values:$e,default:"text"}}),it={remove:o=>!!o},ut=["onKeydown"],dt=["src"],ct=["onClick"],pt=["title"],ft=["onClick"],vt=["onClick"],yt=j({name:"ElUploadList"}),mt=j({...yt,props:lt,emits:it,setup(o,{emit:t}){const s=o,{t:u}=Le(),f=M("upload"),c=M("icon"),m=M("list"),S=V(),h=he(!1),$=C(()=>[f.b("list"),f.bm("list",s.listType),f.is("disabled",s.disabled)]),w=v=>{t("remove",v)};return(v,l)=>(g(),D(Ne,{tag:"ul",class:y(e($)),name:e(m).b()},{default:L(()=>[(g(!0),E(Te,null,Ue(v.files,a=>(g(),E("li",{key:a.uid||a.name,class:y([e(f).be("list","item"),e(f).is(a.status),{focusing:h.value}]),tabindex:"0",onKeydown:be(d=>!e(S)&&w(a),["delete"]),onFocus:l[0]||(l[0]=d=>h.value=!0),onBlur:l[1]||(l[1]=d=>h.value=!1),onClick:l[2]||(l[2]=d=>h.value=!1)},[_(v.$slots,"default",{file:a},()=>[v.listType==="picture"||a.status!=="uploading"&&v.listType==="picture-card"?(g(),E("img",{key:0,class:y(e(f).be("list","item-thumbnail")),src:a.url,alt:""},null,10,dt)):k("v-if",!0),a.status==="uploading"||v.listType!=="picture-card"?(g(),E("div",{key:1,class:y(e(f).be("list","item-info"))},[N("a",{class:y(e(f).be("list","item-name")),onClick:K(d=>v.handlePreview(a),["prevent"])},[B(e(I),{class:y(e(c).m("document"))},{default:L(()=>[B(e(De))]),_:1},8,["class"]),N("span",{class:y(e(f).be("list","item-file-name")),title:a.name},z(a.name),11,pt)],10,ct),a.status==="uploading"?(g(),D(e(et),{key:0,type:v.listType==="picture-card"?"circle":"line","stroke-width":v.listType==="picture-card"?6:2,percentage:Number(a.percentage),style:q(v.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):k("v-if",!0)],2)):k("v-if",!0),N("label",{class:y(e(f).be("list","item-status-label"))},[v.listType==="text"?(g(),D(e(I),{key:0,class:y([e(c).m("upload-success"),e(c).m("circle-check")])},{default:L(()=>[B(e(ce))]),_:1},8,["class"])):["picture-card","picture"].includes(v.listType)?(g(),D(e(I),{key:1,class:y([e(c).m("upload-success"),e(c).m("check")])},{default:L(()=>[B(e(pe))]),_:1},8,["class"])):k("v-if",!0)],2),e(S)?k("v-if",!0):(g(),D(e(I),{key:2,class:y(e(c).m("close")),onClick:d=>w(a)},{default:L(()=>[B(e(fe))]),_:2},1032,["class","onClick"])),k(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),k(" This is a bug which needs to be fixed "),k(" TODO: Fix the incorrect navigation interaction "),e(S)?k("v-if",!0):(g(),E("i",{key:3,class:y(e(c).m("close-tip"))},z(e(u)("el.upload.deleteTip")),3)),v.listType==="picture-card"?(g(),E("span",{key:4,class:y(e(f).be("list","item-actions"))},[N("span",{class:y(e(f).be("list","item-preview")),onClick:d=>v.handlePreview(a)},[B(e(I),{class:y(e(c).m("zoom-in"))},{default:L(()=>[B(e(Oe))]),_:1},8,["class"])],10,ft),e(S)?k("v-if",!0):(g(),E("span",{key:0,class:y(e(f).be("list","item-delete")),onClick:d=>w(a)},[B(e(I),{class:y(e(c).m("delete"))},{default:L(()=>[B(e(Be))]),_:1},8,["class"])],10,vt))],2)):k("v-if",!0)])],42,ut))),128)),_(v.$slots,"append")]),_:3},8,["class","name"]))}});var le=H(mt,[["__file","upload-list.vue"]]);const gt=W({disabled:{type:Boolean,default:!1}}),ht={file:o=>me(o)},bt=["onDrop","onDragover"],Ee="ElUploadDrag",kt=j({name:Ee}),$t=j({...kt,props:gt,emits:ht,setup(o,{emit:t}){const s=je(ke);s||x(Ee,"usage: <el-upload><el-upload-dragger /></el-upload>");const u=M("upload"),f=he(!1),c=V(),m=h=>{if(c.value)return;f.value=!1,h.stopPropagation();const $=Array.from(h.dataTransfer.files),w=s.accept.value;if(!w){t("file",$);return}const v=$.filter(l=>{const{type:a,name:d}=l,n=d.includes(".")?`.${d.split(".").pop()}`:"",p=a.replace(/\/.*$/,"");return w.split(",").map(i=>i.trim()).filter(i=>i).some(i=>i.startsWith(".")?n===i:/\/\*$/.test(i)?p===i.replace(/\/\*$/,""):/^[^/]+\/[^/]+$/.test(i)?a===i:!1)});t("file",v)},S=()=>{c.value||(f.value=!0)};return(h,$)=>(g(),E("div",{class:y([e(u).b("dragger"),e(u).is("dragover",f.value)]),onDrop:K(m,["prevent"]),onDragover:K(S,["prevent"]),onDragleave:$[0]||($[0]=K(w=>f.value=!1,["prevent"]))},[_(h.$slots,"default")],42,bt))}});var wt=H($t,[["__file","upload-dragger.vue"]]);const Et=W({...we,beforeUpload:{type:b(Function),default:P},onRemove:{type:b(Function),default:P},onStart:{type:b(Function),default:P},onSuccess:{type:b(Function),default:P},onProgress:{type:b(Function),default:P},onError:{type:b(Function),default:P},onExceed:{type:b(Function),default:P}}),St=["onKeydown"],Ct=["name","multiple","accept"],Pt=j({name:"ElUploadContent",inheritAttrs:!1}),Rt=j({...Pt,props:Et,setup(o,{expose:t}){const s=o,u=M("upload"),f=V(),c=Z({}),m=Z(),S=n=>{if(n.length===0)return;const{autoUpload:p,limit:i,fileList:R,multiple:r,onStart:F,onExceed:O}=s;if(i&&R.length+n.length>i){O(n,R);return}r||(n=n.slice(0,1));for(const T of n){const U=T;U.uid=Q(),F(U),p&&h(U)}},h=async n=>{if(m.value.value="",!s.beforeUpload)return w(n);let p,i={};try{const r=s.data,F=s.beforeUpload(n);i=te(s.data)?ne(s.data):s.data,p=await F,te(s.data)&&He(r,i)&&(i=ne(s.data))}catch{p=!1}if(p===!1){s.onRemove(n);return}let R=n;p instanceof Blob&&(p instanceof File?R=p:R=new File([p],n.name,{type:n.type})),w(Object.assign(R,{uid:n.uid}),i)},$=async(n,p)=>ve(n)?n(p):n,w=async(n,p)=>{const{headers:i,data:R,method:r,withCredentials:F,name:O,action:T,onProgress:U,onSuccess:Se,onError:Ce,httpRequest:Pe}=s;try{p=await $(p??R,n)}catch{s.onRemove(n);return}const{uid:X}=n,G={headers:i||{},withCredentials:F,file:n,data:p,method:r,filename:O,action:T,onProgress:A=>{U(A,n)},onSuccess:A=>{Se(A,n),delete c.value[X]},onError:A=>{Ce(A,n),delete c.value[X]}},J=Pe(G);c.value[X]=J,J instanceof Promise&&J.then(G.onSuccess,G.onError)},v=n=>{const p=n.target.files;p&&S(Array.from(p))},l=()=>{f.value||(m.value.value="",m.value.click())},a=()=>{l()};return t({abort:n=>{qe(c.value).filter(n?([i])=>String(n.uid)===i:()=>!0).forEach(([i,R])=>{R instanceof XMLHttpRequest&&R.abort(),delete c.value[i]})},upload:h}),(n,p)=>(g(),E("div",{class:y([e(u).b(),e(u).m(n.listType),e(u).is("drag",n.drag)]),tabindex:"0",onClick:l,onKeydown:be(K(a,["self"]),["enter","space"])},[n.drag?(g(),D(wt,{key:0,disabled:e(f),onFile:S},{default:L(()=>[_(n.$slots,"default")]),_:3},8,["disabled"])):_(n.$slots,"default",{key:1}),N("input",{ref_key:"inputRef",ref:m,class:y(e(u).e("input")),name:n.name,multiple:n.multiple,accept:n.accept,type:"file",onChange:v,onClick:p[0]||(p[0]=K(()=>{},["stop"]))},null,42,Ct)],42,St))}});var ie=H(Rt,[["__file","upload-content.vue"]]);const ue="ElUpload",de=o=>{var t;(t=o.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(o.url)},Ft=(o,t)=>{const s=Ie(o,"fileList",void 0,{passive:!0}),u=l=>s.value.find(a=>a.uid===l.uid);function f(l){var a;(a=t.value)==null||a.abort(l)}function c(l=["ready","uploading","success","fail"]){s.value=s.value.filter(a=>!l.includes(a.status))}const m=(l,a)=>{const d=u(a);d&&(console.error(l),d.status="fail",s.value.splice(s.value.indexOf(d),1),o.onError(l,d,s.value),o.onChange(d,s.value))},S=(l,a)=>{const d=u(a);d&&(o.onProgress(l,d,s.value),d.status="uploading",d.percentage=Math.round(l.percent))},h=(l,a)=>{const d=u(a);d&&(d.status="success",d.response=l,o.onSuccess(l,d,s.value),o.onChange(d,s.value))},$=l=>{ge(l.uid)&&(l.uid=Q());const a={name:l.name,percentage:0,status:"ready",size:l.size,raw:l,uid:l.uid};if(o.listType==="picture-card"||o.listType==="picture")try{a.url=URL.createObjectURL(l)}catch(d){Ae(ue,d.message),o.onError(d,a,s.value)}s.value=[...s.value,a],o.onChange(a,s.value)},w=async l=>{const a=l instanceof File?u(l):l;a||x(ue,"file to be removed not found");const d=n=>{f(n);const p=s.value;p.splice(p.indexOf(n),1),o.onRemove(n,p),de(n)};o.beforeRemove?await o.beforeRemove(a,s.value)!==!1&&d(a):d(a)};function v(){s.value.filter(({status:l})=>l==="ready").forEach(({raw:l})=>{var a;return l&&((a=t.value)==null?void 0:a.upload(l))})}return se(()=>o.listType,l=>{l!=="picture-card"&&l!=="picture"||(s.value=s.value.map(a=>{const{raw:d,url:n}=a;if(!n&&d)try{a.url=URL.createObjectURL(d)}catch(p){o.onError(p,a,s.value)}return a}))}),se(s,l=>{for(const a of l)a.uid||(a.uid=Q()),a.status||(a.status="success")},{immediate:!0,deep:!0}),{uploadFiles:s,abort:f,clearFiles:c,handleError:m,handleProgress:S,handleStart:$,handleSuccess:h,handleRemove:w,submit:v,revokeFileObjectURL:de}},_t=j({name:"ElUpload"}),Lt=j({..._t,props:rt,setup(o,{expose:t}){const s=o,u=V(),f=Z(),{abort:c,submit:m,clearFiles:S,uploadFiles:h,handleStart:$,handleError:w,handleRemove:v,handleSuccess:l,handleProgress:a,revokeFileObjectURL:d}=Ft(s,f),n=C(()=>s.listType==="picture-card"),p=C(()=>({...s,fileList:h.value,onStart:$,onProgress:a,onSuccess:l,onError:w,onRemove:v}));return Me(()=>{h.value.forEach(d)}),Ke(ke,{accept:We(s,"accept")}),t({abort:c,submit:m,clearFiles:S,handleStart:$,handleRemove:v}),(i,R)=>(g(),E("div",null,[e(n)&&i.showFileList?(g(),D(le,{key:0,disabled:e(u),"list-type":i.listType,files:e(h),"handle-preview":i.onPreview,onRemove:e(v)},ae({append:L(()=>[B(ie,oe({ref_key:"uploadRef",ref:f},e(p)),{default:L(()=>[i.$slots.trigger?_(i.$slots,"trigger",{key:0}):k("v-if",!0),!i.$slots.trigger&&i.$slots.default?_(i.$slots,"default",{key:1}):k("v-if",!0)]),_:3},16)]),_:2},[i.$slots.file?{name:"default",fn:L(({file:r})=>[_(i.$slots,"file",{file:r})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):k("v-if",!0),!e(n)||e(n)&&!i.showFileList?(g(),D(ie,oe({key:1,ref_key:"uploadRef",ref:f},e(p)),{default:L(()=>[i.$slots.trigger?_(i.$slots,"trigger",{key:0}):k("v-if",!0),!i.$slots.trigger&&i.$slots.default?_(i.$slots,"default",{key:1}):k("v-if",!0)]),_:3},16)):k("v-if",!0),i.$slots.trigger?_(i.$slots,"default",{key:2}):k("v-if",!0),_(i.$slots,"tip"),!e(n)&&i.showFileList?(g(),D(le,{key:3,disabled:e(u),"list-type":i.listType,files:e(h),"handle-preview":i.onPreview,onRemove:e(v)},ae({_:2},[i.$slots.file?{name:"default",fn:L(({file:r})=>[_(i.$slots,"file",{file:r})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):k("v-if",!0)]))}});var Tt=H(Lt,[["__file","upload.vue"]]);const Bt=ye(Tt);export{Bt as E};
|