2023-11-15 15:57:04 +08:00

2 lines
4.3 KiB
JavaScript

import{b as j,a as U,m as q,E as b,a5 as F,a0 as R}from"./index-cf9a2dd7.js";import{C as A}from"./event-f85d77b0.js";import{d as C,b as H,r as w,w as P,J as X,e as o,f as m,h as E,n,u as e,_ as L,I as Y,o as Z,K as ee,c as l,O as se,H as _,g,j as D,v as k,x as B,S as te,y as x,B as I,A as T,L as ae,l as ne,Q as ie}from"./plugin-vue_export-helper-85a4d40b.js";const re=j({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),le={[A]:(f,S)=>[f,S].every(U)},oe=C({name:"ElSteps"}),ce=C({...oe,props:re,emits:le,setup(f,{emit:S}){const t=f,r=H("steps"),p=w([]);return P(p,()=>{p.value.forEach((i,a)=>{i.setIndex(a)})}),X("ElSteps",{props:t,steps:p}),P(()=>t.active,(i,a)=>{S(A,i,a)}),(i,a)=>(o(),m("div",{class:n([e(r).b(),e(r).m(i.simple?"simple":i.direction)])},[E(i.$slots,"default")],2))}});var ue=L(ce,[["__file","/home/runner/work/element-plus/element-plus/packages/components/steps/src/steps.vue"]]);const pe=j({title:{type:String,default:""},icon:{type:q},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),ve=C({name:"ElStep"}),de=C({...ve,props:pe,setup(f){const S=f,t=H("step"),r=w(-1),p=w({}),i=w(""),a=Y("ElSteps"),v=ae();Z(()=>{P([()=>a.props.active,()=>a.props.processStatus,()=>a.props.finishStatus],([s])=>{O(s)},{immediate:!0})}),ee(()=>{a.steps.value=a.steps.value.filter(s=>s.uid!==(v==null?void 0:v.uid))});const d=l(()=>S.status||i.value),G=l(()=>{const s=a.steps.value[r.value-1];return s?s.currentStatus:"wait"}),$=l(()=>a.props.alignCenter),V=l(()=>a.props.direction==="vertical"),u=l(()=>a.props.simple),N=l(()=>a.steps.value.length),z=l(()=>{var s;return((s=a.steps.value[N.value-1])==null?void 0:s.uid)===(v==null?void 0:v.uid)}),y=l(()=>u.value?"":a.props.space),J=l(()=>{const s={flexBasis:typeof y.value=="number"?`${y.value}px`:y.value?y.value:`${100/(N.value-($.value?0:1))}%`};return V.value||z.value&&(s.maxWidth=`${100/N.value}%`),s}),K=s=>{r.value=s},M=s=>{let c=100;const h={};h.transitionDelay=`${150*r.value}ms`,s===a.props.processStatus?c=0:s==="wait"&&(c=0,h.transitionDelay=`${-150*r.value}ms`),h.borderWidth=c&&!u.value?"1px":0,h[a.props.direction==="vertical"?"height":"width"]=`${c}%`,p.value=h},O=s=>{s>r.value?i.value=a.props.finishStatus:s===r.value&&G.value!=="error"?i.value=a.props.processStatus:i.value="wait";const c=a.steps.value[r.value-1];c&&c.calcProgress(i.value)},Q=se({uid:l(()=>v==null?void 0:v.uid),currentStatus:d,setIndex:K,calcProgress:M});return a.steps.value=[...a.steps.value,Q],(s,c)=>(o(),m("div",{style:D(e(J)),class:n([e(t).b(),e(t).is(e(u)?"simple":e(a).props.direction),e(t).is("flex",e(z)&&!e(y)&&!e($)),e(t).is("center",e($)&&!e(V)&&!e(u))])},[_(" icon & line "),g("div",{class:n([e(t).e("head"),e(t).is(e(d))])},[e(u)?_("v-if",!0):(o(),m("div",{key:0,class:n(e(t).e("line"))},[g("i",{class:n(e(t).e("line-inner")),style:D(p.value)},null,6)],2)),g("div",{class:n([e(t).e("icon"),e(t).is(s.icon||s.$slots.icon?"icon":"text")])},[E(s.$slots,"icon",{},()=>[s.icon?(o(),k(e(b),{key:0,class:n(e(t).e("icon-inner"))},{default:B(()=>[(o(),k(te(s.icon)))]),_:1},8,["class"])):e(d)==="success"?(o(),k(e(b),{key:1,class:n([e(t).e("icon-inner"),e(t).is("status")])},{default:B(()=>[x(e(F))]),_:1},8,["class"])):e(d)==="error"?(o(),k(e(b),{key:2,class:n([e(t).e("icon-inner"),e(t).is("status")])},{default:B(()=>[x(e(R))]),_:1},8,["class"])):e(u)?_("v-if",!0):(o(),m("div",{key:3,class:n(e(t).e("icon-inner"))},I(r.value+1),3))])],2)],2),_(" title & description "),g("div",{class:n(e(t).e("main"))},[g("div",{class:n([e(t).e("title"),e(t).is(e(d))])},[E(s.$slots,"title",{},()=>[T(I(s.title),1)])],2),e(u)?(o(),m("div",{key:0,class:n(e(t).e("arrow"))},null,2)):(o(),m("div",{key:1,class:n([e(t).e("description"),e(t).is(e(d))])},[E(s.$slots,"description",{},()=>[T(I(s.description),1)])],2))],2)],6))}});var W=L(de,[["__file","/home/runner/work/element-plus/element-plus/packages/components/steps/src/item.vue"]]);const ye=ne(ue,{Step:W}),he=ie(W);export{ye as E,he as a};