import{af as he,g as le,h as q,ao as ge,e as be,z as ye,w as re,$ as Re,aO as oe,aP as Y,ak as ze,A as Ae,y as ne,au as J,C as qe,D as je}from"./index-xdc4dCJw.js";import{h as j,f as ue,r as C,e as f,v as N,a0 as Z,w as T,q as Se,ab as _e,x as Fe,y as ee,z as A,I as O,u as d,p as we,i as k,d as Ie,Q as We,an as Te,V as D,H as ke,n as Pe,F as De,B as de,K as X,J as Ge,G as ce,L as Ke,P as fe,$ as Ue,O as ve,az as Qe}from"./vendor-vue-CrWqv-BE.js";import{m as te,d as He,Q as Je,R as me,S as Xe}from"./vendor-misc-vmXLPW1j.js";const Ye=le({size:{type:String,values:ge},disabled:Boolean}),Ze=le({...Ye,model:Object,rules:{type:q(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:q([Object,Boolean]),default:!0}}),et={validate:(c,p,e)=>(j(c)||ue(c))&&he(p)&&ue(e)};function tt(){const c=C([]),p=f(()=>{if(!c.value.length)return"0";const r=Math.max(...c.value);return r?`${r}px`:""});function e(r){const v=c.value.indexOf(r);return v===-1&&p.value,v}function s(r,v){if(r&&v){const i=e(v);c.value.splice(i,1,r)}else r&&c.value.push(r)}function l(r){const v=e(r);v>-1&&c.value.splice(v,1)}return{autoLabelWidth:p,registerLabelWidth:s,deregisterLabelWidth:l}}const z=(c,p)=>{const e=te(p).map(s=>j(s)?s.join("."):s);return e.length>0?c.filter(s=>s.propString&&e.includes(s.propString)):c},lt="ElForm",rt=N({name:lt}),ot=N({...rt,props:Ze,emits:et,setup(c,{expose:p,emit:e}){const s=c,l=C(),r=Z([]),v=ye(),i=re("form"),x=f(()=>{const{labelPosition:o,inline:u}=s;return[i.b(),i.m(v.value||"default"),{[i.m(`label-${o}`)]:o,[i.m("inline")]:u}]}),b=o=>z(r,[o])[0],n=o=>{r.push(o)},y=o=>{o.prop&&r.splice(r.indexOf(o),1)},S=(o=[])=>{s.model&&z(r,o).forEach(u=>u.resetField())},I=(o=[])=>{z(r,o).forEach(u=>u.clearValidate())},V=f(()=>!!s.model),W=o=>{if(r.length===0)return[];const u=z(r,o);return u.length?u:[]},_=async o=>E(void 0,o),$=async(o=[])=>{if(!V.value)return!1;const u=W(o);if(u.length===0)return!0;let g={};for(const F of u)try{await F.validate(""),F.validateState==="error"&&!F.error&&F.resetField()}catch(P){g={...g,...P}}return Object.keys(g).length===0?!0:Promise.reject(g)},E=async(o=[],u)=>{let g=!1;const F=!we(u);try{return g=await $(o),g===!0&&await u?.(g),g}catch(P){if(P instanceof Error)throw P;const L=P;if(s.scrollToError&&l.value){const R=l.value.querySelector(`.${i.b()}-item.is-error`);R?.scrollIntoView(s.scrollIntoViewOptions)}return!g&&await u?.(!1,L),F&&Promise.reject(L)}},G=o=>{var u;const g=b(o);g&&((u=g.$el)==null||u.scrollIntoView(s.scrollIntoViewOptions))};return T(()=>s.rules,()=>{s.validateOnRuleChange&&_().catch(o=>Re())},{deep:!0,flush:"post"}),Se(oe,Z({..._e(s),emit:e,resetFields:S,clearValidate:I,validateField:E,getField:b,addField:n,removeField:y,...tt()})),p({validate:_,validateField:E,resetFields:S,clearValidate:I,scrollToField:G,getField:b,fields:r}),(o,u)=>(ee(),Fe("form",{ref_key:"formRef",ref:l,class:O(d(x))},[A(o.$slots,"default")],2))}});var at=be(ot,[["__file","form.vue"]]);const st=["","error","validating","success"],it=le({label:String,labelWidth:{type:[String,Number],default:""},labelPosition:{type:String,values:["left","right","top",""],default:""},prop:{type:q([String,Array])},required:{type:Boolean,default:void 0},rules:{type:q([Object,Array])},error:String,validateStatus:{type:String,values:st},for:String,inlineMessage:{type:Boolean,default:void 0},showMessage:{type:Boolean,default:!0},size:{type:String,values:ge}}),pe="ElLabelWrap";var nt=N({name:pe,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(c,{slots:p}){const e=k(oe,void 0),s=k(Y);s||ze(pe,"usage: ");const l=re("form"),r=C(),v=C(0),i=()=>{var n;if((n=r.value)!=null&&n.firstElementChild){const y=window.getComputedStyle(r.value.firstElementChild).width;return Math.ceil(Number.parseFloat(y))}else return 0},x=(n="update")=>{Pe(()=>{p.default&&c.isAutoWidth&&(n==="update"?v.value=i():n==="remove"&&e?.deregisterLabelWidth(v.value))})},b=()=>x("update");return Ie(()=>{b()}),We(()=>{x("remove")}),Te(()=>b()),T(v,(n,y)=>{c.updateAll&&e?.registerLabelWidth(n,y)}),He(f(()=>{var n,y;return(y=(n=r.value)==null?void 0:n.firstElementChild)!=null?y:null}),b),()=>{var n,y;if(!p)return null;const{isAutoWidth:S}=c;if(S){const I=e?.autoLabelWidth,V=s?.hasLabel,W={};if(V&&I&&I!=="auto"){const _=Math.max(0,Number.parseInt(I,10)-v.value),E=(s.labelPosition||e.labelPosition)==="left"?"marginRight":"marginLeft";_&&(W[E]=`${_}px`)}return D("div",{ref:r,class:[l.be("item","label-wrap")],style:W},[(n=p.default)==null?void 0:n.call(p)])}else return D(ke,{ref:r},[(y=p.default)==null?void 0:y.call(p)])}}});const ut=N({name:"ElFormItem"}),dt=N({...ut,props:it,setup(c,{expose:p}){const e=c,s=De(),l=k(oe,void 0),r=k(Y,void 0),v=ye(void 0,{formItem:!1}),i=re("form-item"),x=Ae().value,b=C([]),n=C(""),y=Je(n,100),S=C(""),I=C();let V,W=!1;const _=f(()=>e.labelPosition||l?.labelPosition),$=f(()=>{if(_.value==="top")return{};const t=ne(e.labelWidth||l?.labelWidth||"");return t?{width:t}:{}}),E=f(()=>{if(_.value==="top"||l?.inline)return{};if(!e.label&&!e.labelWidth&&R)return{};const t=ne(e.labelWidth||l?.labelWidth||"");return!e.label&&!s.label?{marginLeft:t}:{}}),G=f(()=>[i.b(),i.m(v.value),i.is("error",n.value==="error"),i.is("validating",n.value==="validating"),i.is("success",n.value==="success"),i.is("required",Ve.value||e.required),i.is("no-asterisk",l?.hideRequiredAsterisk),l?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[i.m("feedback")]:l?.statusIcon,[i.m(`label-${_.value}`)]:_.value}]),o=f(()=>he(e.inlineMessage)?e.inlineMessage:l?.inlineMessage||!1),u=f(()=>[i.e("error"),{[i.em("error","inline")]:o.value}]),g=f(()=>e.prop?j(e.prop)?e.prop.join("."):e.prop:""),F=f(()=>!!(e.label||s.label)),P=f(()=>{var t;return(t=e.for)!=null?t:b.value.length===1?b.value[0]:void 0}),L=f(()=>!P.value&&F.value),R=!!r,K=f(()=>{const t=l?.model;if(!(!t||!e.prop))return J(t,e.prop).value}),U=f(()=>{const{required:t}=e,a=[];e.rules&&a.push(...te(e.rules));const h=l?.rules;if(h&&e.prop){const m=J(h,e.prop).value;m&&a.push(...te(m))}if(t!==void 0){const m=a.map((w,B)=>[w,B]).filter(([w])=>"required"in w);if(m.length>0)for(const[w,B]of m)w.required!==t&&(a[B]={...w,required:t});else a.push({required:t})}return a}),Ce=f(()=>U.value.length>0),Ee=t=>U.value.filter(h=>!h.trigger||!t?!0:j(h.trigger)?h.trigger.includes(t):h.trigger===t).map(({trigger:h,...m})=>m),Ve=f(()=>U.value.some(t=>t.required)),Le=f(()=>{var t;return y.value==="error"&&e.showMessage&&((t=l?.showMessage)!=null?t:!0)}),ae=f(()=>`${e.label||""}${l?.labelSuffix||""}`),M=t=>{n.value=t},Me=t=>{var a,h;const{errors:m,fields:w}=t;(!m||!w)&&console.error(t),M("error"),S.value=m?(h=(a=m?.[0])==null?void 0:a.message)!=null?h:`${e.prop} is required`:"",l?.emit("validate",e.prop,!1,S.value)},Be=()=>{M("success"),l?.emit("validate",e.prop,!0,"")},$e=async t=>{const a=g.value;return new Xe({[a]:t}).validate({[a]:K.value},{firstFields:!0}).then(()=>(Be(),!0)).catch(m=>(Me(m),Promise.reject(m)))},se=async(t,a)=>{if(W||!e.prop)return!1;const h=we(a);if(!Ce.value)return a?.(!1),!1;const m=Ee(t);return m.length===0?(a?.(!0),!0):(M("validating"),$e(m).then(()=>(a?.(!0),!0)).catch(w=>{const{fields:B}=w;return a?.(!1,B),h?!1:Promise.reject(B)}))},Q=()=>{M(""),S.value="",W=!1},ie=async()=>{const t=l?.model;if(!t||!e.prop)return;const a=J(t,e.prop);W=!0,a.value=me(V),await Pe(),Q(),W=!1},Oe=t=>{b.value.includes(t)||b.value.push(t)},Ne=t=>{b.value=b.value.filter(a=>a!==t)};T(()=>e.error,t=>{S.value=t||"",M(t?"error":"")},{immediate:!0}),T(()=>e.validateStatus,t=>M(t||""));const H=Z({..._e(e),$el:I,size:v,validateMessage:S,validateState:n,labelId:x,inputIds:b,isGroup:L,hasLabel:F,fieldValue:K,addInputId:Oe,removeInputId:Ne,resetField:ie,clearValidate:Q,validate:se,propString:g});return Se(Y,H),Ie(()=>{e.prop&&(l?.addField(H),V=me(K.value))}),We(()=>{l?.removeField(H)}),p({size:v,validateMessage:S,validateState:n,validate:se,clearValidate:Q,resetField:ie}),(t,a)=>{var h;return ee(),Fe("div",{ref_key:"formItemRef",ref:I,class:O(d(G)),role:d(L)?"group":void 0,"aria-labelledby":d(L)?d(x):void 0},[D(d(nt),{"is-auto-width":d($).width==="auto","update-all":((h=d(l))==null?void 0:h.labelWidth)==="auto"},{default:X(()=>[d(F)?(ee(),Ge(Ke(d(P)?"label":"div"),{key:0,id:d(x),for:d(P),class:O(d(i).e("label")),style:fe(d($))},{default:X(()=>[A(t.$slots,"label",{label:d(ae)},()=>[Ue(ve(d(ae)),1)])]),_:3},8,["id","for","class","style"])):ce("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),de("div",{class:O(d(i).e("content")),style:fe(d(E))},[A(t.$slots,"default"),D(Qe,{name:`${d(i).namespace.value}-zoom-in-top`},{default:X(()=>[d(Le)?A(t.$slots,"error",{key:0,error:S.value},()=>[de("div",{class:O(d(u))},ve(S.value),3)]):ce("v-if",!0)]),_:3},8,["name"])],6)],10,["role","aria-labelledby"])}}});var xe=be(dt,[["__file","form-item.vue"]]);const mt=qe(at,{FormItem:xe}),pt=je(xe);export{mt as E,pt as a};