import{J as P,d as B,a0 as O,Q as C,g as u,a6 as M,a1 as f,U as $,aL as q,q as S,F as x,ah as G,aM as I,a9 as N}from"./index-b3d5c748.js";const[R,k]=P("form"),D={colon:Boolean,disabled:Boolean,readonly:Boolean,required:[Boolean,String],showError:Boolean,labelWidth:M,labelAlign:String,inputAlign:String,scrollToError:Boolean,scrollToErrorPosition:String,validateFirst:Boolean,submitOnEnter:f,showErrorMessage:f,errorMessageAlign:String,validateTrigger:{type:[String,Array],default:"onBlur"}};var j=B({name:R,props:D,emits:["submit","failed"],setup(a,{emit:o,slots:c}){const{children:l,linkChildren:d}=O(q),s=e=>e?l.filter(t=>e.includes(t.name)):l,E=e=>new Promise((t,n)=>{const r=[];s(e).reduce((y,A)=>y.then(()=>{if(!r.length)return A.validate().then(b=>{b&&r.push(b)})}),Promise.resolve()).then(()=>{r.length?n(r):t()})}),F=e=>new Promise((t,n)=>{const r=s(e);Promise.all(r.map(i=>i.validate())).then(i=>{i=i.filter(Boolean),i.length?n(i):t()})}),T=e=>{const t=l.find(n=>n.name===e);return t?new Promise((n,r)=>{t.validate().then(i=>{i?r(i):n()})}):Promise.reject()},m=e=>typeof e=="string"?T(e):a.validateFirst?E(e):F(e),V=e=>{typeof e=="string"&&(e=[e]),s(e).forEach(n=>{n.resetValidation()})},w=()=>l.reduce((e,t)=>(e[t.name]=t.getValidationStatus(),e),{}),g=(e,t)=>{l.some(n=>n.name===e?(n.$el.scrollIntoView(t),!0):!1)},v=()=>l.reduce((e,t)=>(t.name!==void 0&&(e[t.name]=t.formValue.value),e),{}),h=()=>{const e=v();m().then(()=>o("submit",e)).catch(t=>{o("failed",{values:e,errors:t});const{scrollToError:n,scrollToErrorPosition:r}=a;n&&t[0].name&&g(t[0].name,r?{block:r}:void 0)})},_=e=>{$(e),h()};return d({props:a}),C({submit:h,validate:m,getValues:v,scrollToField:g,resetValidation:V,getValidationStatus:w}),()=>{var e;return u("form",{class:k(),onSubmit:_},[(e=c.default)==null?void 0:e.call(c)])}}});const U=S(j),[J,p]=P("cell-group"),K={title:String,inset:Boolean,border:f};var L=B({name:J,inheritAttrs:!1,props:K,setup(a,{slots:o,attrs:c}){const l=()=>{var s;return u("div",G({class:[p({inset:a.inset}),{[N]:a.border&&!a.inset}]},c,I()),[(s=o.default)==null?void 0:s.call(o)])},d=()=>u("div",{class:p("title",{inset:a.inset})},[o.title?o.title():a.title]);return()=>a.title||o.title?u(x,null,[d(),l()]):l()}});const W=S(L);export{W as C,U as F};