var K=Object.defineProperty,N=Object.defineProperties;var D=Object.getOwnPropertyDescriptors;var C=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable;var x=(s,r,a)=>r in s?K(s,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[r]=a,V=(s,r)=>{for(var a in r||(r={}))B.call(r,a)&&x(s,a,r[a]);if(C)for(var a of C(r))M.call(r,a)&&x(s,a,r[a]);return s},R=(s,r)=>N(s,D(r));var S=(s,r)=>{var a={};for(var t in s)B.call(s,t)&&r.indexOf(t)<0&&(a[t]=s[t]);if(s!=null&&C)for(var t of C(s))r.indexOf(t)<0&&M.call(s,t)&&(a[t]=s[t]);return a};var j=(s,r,a)=>new Promise((t,m)=>{var T=c=>{try{g(a.next(c))}catch(h){m(h)}},u=c=>{try{g(a.throw(c))}catch(h){m(h)}},g=c=>c.done?t(c.value):Promise.resolve(c.value).then(T,u);g((a=a.apply(s,r)).next())});import{d as F,bz as G,bA as H,aK as J,ah as W,t as Y,w as L,f as z,o as $,g as Q,k as U,J as X,bB as Z,n as ee,a4 as se,ak as ae,an as w,aV as oe,bb as te,b3 as re,bw as ne,j as le,q as pe}from"./index-C2C--_0G.js";const ie={name:"wd-form",options:{addGlobalClass:!0,virtualHost:!0,styleIsolation:"shared"}},ce=F(R(V({},ie),{props:G,setup(s,{expose:r}){const{show:a}=H("wd-form-toast"),t=s,{children:m,linkChildren:T}=J(W);let u=Y({});T({props:t,errorMessages:u}),L(()=>t.model,()=>{t.resetOnChange&&y()},{immediate:!0,deep:!0});function g(o){return j(this,null,function*(){const n=[];let e=!0;const l=[],_=c(),b=ae(o)?o:w(o)?[o]:[],P=b.length>0?b.reduce((p,d)=>(_[d]&&(p[d]=_[d]),p),{}):_;for(const p in P){const d=P[p],v=oe(t.model,p);if(d&&d.length>0)for(const i of d){if(i.required&&(!w(v)||v==="")){n.push({prop:p,message:i.message}),e=!1;break}if(i.pattern&&!i.pattern.test(v)){n.push({prop:p,message:i.message}),e=!1;break}const E=i,{validator:O}=E,A=S(E,["validator"]);if(O){const k=O(v,A);te(k)?l.push(k.then(f=>{typeof f=="string"?(n.push({prop:p,message:f}),e=!1):typeof f=="boolean"&&!f&&(n.push({prop:p,message:i.message}),e=!1)}).catch(f=>{const I=w(f)?re(f)?f:f.message||i.message:i.message;n.push({prop:p,message:I}),e=!1})):k||(n.push({prop:p,message:i.message}),e=!1)}}}return yield Promise.all(l),h(n),e&&(b.length?b.forEach(y):y()),{valid:e,errors:n}})}function c(){const o=ne(t.rules),n=m.map(e=>e.prop);return Object.keys(o).forEach(e=>{n.includes(e)||delete o[e]}),m.forEach(e=>{w(e.prop)&&w(e.rules)&&e.rules.length&&(o[e.prop]?o[e.prop]=[...o[e.prop],...e.rules]:o[e.prop]=e.rules)}),o}function h(o){const n=m.map(l=>l.prop).filter(Boolean),e=o.filter(l=>l.message&&n.includes(l.prop));e.length&&(e.sort((l,_)=>n.indexOf(l.prop)-n.indexOf(_.prop)),t.errorType==="toast"?a(e[0].message):t.errorType==="message"&&e.forEach(l=>{u[l.prop]=l.message}))}function y(o){o?u[o]="":Object.keys(u).forEach(n=>{u[n]=""})}function q(){y()}return r({validate:g,reset:q}),(o,n)=>{const e=le;return $(),z(e,{class:se(`wd-form ${o.customClass}`),style:ee(o.customStyle)},{default:Q(()=>[U(o.$slots,"default",{},void 0,!0),t.errorType==="toast"?($(),z(Z,{key:0,selector:"wd-form-toast"})):X("",!0)]),_:3},8,["class","style"])}}})),de=pe(ce,[["__scopeId","data-v-e513a788"]]);export{de as _};