index.da5fdd20.js 17 KB

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