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