dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
2 lines (1 loc) • 23.1 kB
JavaScript
;const B=require("react");var de=e=>e.type==="checkbox",re=e=>e instanceof Date,I=e=>e==null;const tt=e=>typeof e=="object";var S=e=>!I(e)&&!Array.isArray(e)&&tt(e)&&!re(e),Vt=e=>S(e)&&e.target?de(e.target)?e.target.checked:e.target.value:e,Ft=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,At=(e,s)=>e.has(Ft(s)),xt=e=>{const s=e.constructor&&e.constructor.prototype;return S(s)&&s.hasOwnProperty("isPrototypeOf")},Se=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function C(e){let s;const r=Array.isArray(e),a=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(!(Se&&(e instanceof Blob||a))&&(r||S(e)))if(s=r?[]:Object.create(Object.getPrototypeOf(e)),!r&&!xt(e))s=e;else for(const u in e)e.hasOwnProperty(u)&&(s[u]=C(e[u]));else return e;return s}var be=e=>/^\w*$/.test(e),D=e=>e===void 0,Oe=e=>Array.isArray(e)?e.filter(Boolean):[],Te=e=>Oe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,s,r)=>{if(!s||!S(e))return r;const a=(be(s)?[s]:Te(s)).reduce((u,n)=>I(u)?u:u[n],e);return D(a)||a===e?D(e[s])?r:e[s]:a},Y=e=>typeof e=="boolean",x=(e,s,r)=>{let a=-1;const u=be(s)?[s]:Te(s),n=u.length,d=n-1;for(;++a<n;){const y=u[a];let U=r;if(a!==d){const p=e[y];U=S(p)||Array.isArray(p)?p:isNaN(+u[a+1])?{}:[]}if(y==="__proto__"||y==="constructor"||y==="prototype")return;e[y]=U,e=e[y]}};const pe={BLUR:"blur",FOCUS_OUT:"focusout"},W={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},J={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},mt=B.createContext(null);mt.displayName="HookFormContext";var wt=(e,s,r,a=!0)=>{const u={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(u,n,{get:()=>{const d=n;return s._proxyFormState[d]!==W.all&&(s._proxyFormState[d]=!a||W.all),e[d]}});return u};const Dt=typeof window<"u"?B.useLayoutEffect:B.useEffect;var N=e=>typeof e=="string",kt=(e,s,r,a,u)=>N(e)?(a&&s.watch.add(e),h(r,e,u)):Array.isArray(e)?e.map(n=>(a&&s.watch.add(n),h(r,n))):(a&&(s.watchAll=!0),r),ke=e=>I(e)||!tt(e);function ee(e,s,r=new WeakSet){if(ke(e)||ke(s))return Object.is(e,s);if(re(e)&&re(s))return e.getTime()===s.getTime();const a=Object.keys(e),u=Object.keys(s);if(a.length!==u.length)return!1;if(r.has(e)||r.has(s))return!0;r.add(e),r.add(s);for(const n of a){const d=e[n];if(!u.includes(n))return!1;if(n!=="ref"){const y=s[n];if(re(d)&&re(y)||S(d)&&S(y)||Array.isArray(d)&&Array.isArray(y)?!ee(d,y,r):!Object.is(d,y))return!1}}return!0}var rt=(e,s,r,a,u)=>s?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[a]:u||!0}}:{},oe=e=>Array.isArray(e)?e:[e],$e=()=>{let e=[];return{get observers(){return e},next:u=>{for(const n of e)n.next&&n.next(u)},subscribe:u=>(e.push(u),{unsubscribe:()=>{e=e.filter(n=>n!==u)}}),unsubscribe:()=>{e=[]}}};function st(e,s){const r={};for(const a in e)if(e.hasOwnProperty(a)){const u=e[a],n=s[a];if(u&&S(u)&&n){const d=st(u,n);S(d)&&(r[a]=d)}else e[a]&&(r[a]=n)}return r}var R=e=>S(e)&&!Object.keys(e).length,Ce=e=>e.type==="file",H=e=>typeof e=="function",ge=e=>{if(!Se)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},it=e=>e.type==="select-multiple",Le=e=>e.type==="radio",Et=e=>Le(e)||de(e),De=e=>ge(e)&&e.isConnected;function St(e,s){const r=s.slice(0,-1).length;let a=0;for(;a<r;)e=D(e)?a++:e[s[a++]];return e}function Ot(e){for(const s in e)if(e.hasOwnProperty(s)&&!D(e[s]))return!1;return!0}function E(e,s){const r=Array.isArray(s)?s:be(s)?[s]:Te(s),a=r.length===1?e:St(e,r),u=r.length-1,n=r[u];return a&&delete a[n],u!==0&&(S(a)&&R(a)||Array.isArray(a)&&Ot(a))&&E(e,r.slice(0,-1)),e}var Tt=e=>{for(const s in e)if(H(e[s]))return!0;return!1};function at(e){return Array.isArray(e)||S(e)&&!Tt(e)}function Ee(e,s={}){for(const r in e){const a=e[r];at(a)?(s[r]=Array.isArray(a)?[]:{},Ee(a,s[r])):D(a)||(s[r]=!0)}return s}function ae(e,s,r){r||(r=Ee(s));for(const a in e){const u=e[a];if(at(u))D(s)||ke(r[a])?r[a]=Ee(u,Array.isArray(u)?[]:{}):ae(u,I(s)?{}:s[a],r[a]);else{const n=s[a];r[a]=!ee(u,n)}}return r}const Ke={value:!1,isValid:!1},ze={value:!0,isValid:!0};var lt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!D(e[0].attributes.value)?D(e[0].value)||e[0].value===""?ze:{value:e[0].value,isValid:!0}:ze:Ke}return Ke},nt=(e,{valueAsNumber:s,valueAsDate:r,setValueAs:a})=>D(e)?e:s?e===""?NaN:e&&+e:r&&N(e)?new Date(e):a?a(e):e;const Ye={isValid:!1,value:null};var ut=e=>Array.isArray(e)?e.reduce((s,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:s,Ye):Ye;function je(e){const s=e.ref;return Ce(s)?s.files:Le(s)?ut(e.refs).value:it(s)?[...s.selectedOptions].map(({value:r})=>r):de(s)?lt(e.refs).value:nt(D(s.value)?e.ref.value:s.value,e)}var Ct=(e,s,r,a)=>{const u={};for(const n of e){const d=h(s,n);d&&x(u,n,d._f)}return{criteriaMode:r,names:[...e],fields:u,shouldUseNativeValidation:a}},ve=e=>e instanceof RegExp,ue=e=>D(e)?e:ve(e)?e.source:S(e)?ve(e.value)?e.value.source:e.value:e,Je=e=>({isOnSubmit:!e||e===W.onSubmit,isOnBlur:e===W.onBlur,isOnChange:e===W.onChange,isOnAll:e===W.all,isOnTouch:e===W.onTouched});const Qe="AsyncFunction";var Lt=e=>!!e&&!!e.validate&&!!(H(e.validate)&&e.validate.constructor.name===Qe||S(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===Qe)),Rt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Xe=(e,s,r)=>!r&&(s.watchAll||s.watch.has(e)||[...s.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const fe=(e,s,r,a)=>{for(const u of r||Object.keys(e)){const n=h(e,u);if(n){const{_f:d,...y}=n;if(d){if(d.refs&&d.refs[0]&&s(d.refs[0],u)&&!a)return!0;if(d.ref&&s(d.ref,d.name)&&!a)return!0;if(fe(y,s))break}else if(S(y)&&fe(y,s))break}}};function Ze(e,s,r){const a=h(e,r);if(a||be(r))return{error:a,name:r};const u=r.split(".");for(;u.length;){const n=u.join("."),d=h(s,n),y=h(e,n);if(d&&!Array.isArray(d)&&r!==n)return{name:r};if(y&&y.type)return{name:n,error:y};if(y&&y.root&&y.root.type)return{name:`${n}.root`,error:y.root};u.pop()}return{name:r}}var Ut=(e,s,r,a)=>{r(e);const{name:u,...n}=e;return R(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(d=>s[d]===(!a||W.all))},Mt=(e,s,r)=>!e||!s||e===s||oe(e).some(a=>a&&(r?a===s:a.startsWith(s)||s.startsWith(a))),It=(e,s,r,a,u)=>u.isOnAll?!1:!r&&u.isOnTouch?!(s||e):(r?a.isOnBlur:u.isOnBlur)?!e:(r?a.isOnChange:u.isOnChange)?e:!0,Bt=(e,s)=>!Oe(h(e,s)).length&&E(e,s),Nt=(e,s,r)=>{const a=oe(h(e,r));return x(a,"root",s[r]),x(e,r,a),e};function Ge(e,s,r="validate"){if(N(e)||Array.isArray(e)&&e.every(N)||Y(e)&&!e)return{type:r,message:N(e)?e:"",ref:s}}var ie=e=>S(e)&&!ve(e)?e:{value:e,message:""},et=async(e,s,r,a,u,n)=>{const{ref:d,refs:y,required:U,maxLength:p,minLength:m,min:k,max:v,pattern:le,validate:Q,name:O,valueAsNumber:X,mount:_e}=e._f,_=h(r,O);if(!_e||s.has(O))return{};const j=y?y[0]:d,$=b=>{u&&j.reportValidity&&(j.setCustomValidity(Y(b)?"":b||""),j.reportValidity())},T={},ce=Le(d),Z=de(d),Ve=ce||Z,q=(X||Ce(d))&&D(d.value)&&D(_)||ge(d)&&d.value===""||_===""||Array.isArray(_)&&!_.length,te=rt.bind(null,O,a,T),K=(b,F,w,L=J.maxLength,M=J.minLength)=>{const z=b?F:w;T[O]={type:b?L:M,message:z,ref:d,...te(b?L:M,z)}};if(n?!Array.isArray(_)||!_.length:U&&(!Ve&&(q||I(_))||Y(_)&&!_||Z&&!lt(y).isValid||ce&&!ut(y).isValid)){const{value:b,message:F}=N(U)?{value:!!U,message:U}:ie(U);if(b&&(T[O]={type:J.required,message:F,ref:j,...te(J.required,F)},!a))return $(F),T}if(!q&&(!I(k)||!I(v))){let b,F;const w=ie(v),L=ie(k);if(!I(_)&&!isNaN(_)){const M=d.valueAsNumber||_&&+_;I(w.value)||(b=M>w.value),I(L.value)||(F=M<L.value)}else{const M=d.valueAsDate||new Date(_),z=ye=>new Date(new Date().toDateString()+" "+ye),ne=d.type=="time",se=d.type=="week";N(w.value)&&_&&(b=ne?z(_)>z(w.value):se?_>w.value:M>new Date(w.value)),N(L.value)&&_&&(F=ne?z(_)<z(L.value):se?_<L.value:M<new Date(L.value))}if((b||F)&&(K(!!b,w.message,L.message,J.max,J.min),!a))return $(T[O].message),T}if((p||m)&&!q&&(N(_)||n&&Array.isArray(_))){const b=ie(p),F=ie(m),w=!I(b.value)&&_.length>+b.value,L=!I(F.value)&&_.length<+F.value;if((w||L)&&(K(w,b.message,F.message),!a))return $(T[O].message),T}if(le&&!q&&N(_)){const{value:b,message:F}=ie(le);if(ve(b)&&!_.match(b)&&(T[O]={type:J.pattern,message:F,ref:d,...te(J.pattern,F)},!a))return $(F),T}if(Q){if(H(Q)){const b=await Q(_,r),F=Ge(b,j);if(F&&(T[O]={...F,...te(J.validate,F.message)},!a))return $(F.message),T}else if(S(Q)){let b={};for(const F in Q){if(!R(b)&&!a)break;const w=Ge(await Q[F](_,r),j,F);w&&(b={...w,...te(F,w.message)},$(w.message),a&&(T[O]=b))}if(!R(b)&&(T[O]={ref:j,...b},!a))return T}}return $(!0),T};const Pt={mode:W.onSubmit,reValidateMode:W.onChange,shouldFocusError:!0};function qt(e={}){let s={...Pt,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:H(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},a={},u=S(s.defaultValues)||S(s.values)?C(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:C(u),d={action:!1,mount:!1,watch:!1},y={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},U,p=0;const m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let k={...m};const v={array:$e(),state:$e()},le=s.criteriaMode===W.all,Q=t=>i=>{clearTimeout(p),p=setTimeout(t,i)},O=async t=>{if(!s.disabled&&(m.isValid||k.isValid||t)){const i=s.resolver?R((await Z()).errors):await q(a,!0);i!==r.isValid&&v.state.next({isValid:i})}},X=(t,i)=>{!s.disabled&&(m.isValidating||m.validatingFields||k.isValidating||k.validatingFields)&&((t||Array.from(y.mount)).forEach(l=>{l&&(i?x(r.validatingFields,l,i):E(r.validatingFields,l))}),v.state.next({validatingFields:r.validatingFields,isValidating:!R(r.validatingFields)}))},_e=(t,i=[],l,c,f=!0,o=!0)=>{if(c&&l&&!s.disabled){if(d.action=!0,o&&Array.isArray(h(a,t))){const g=l(h(a,t),c.argA,c.argB);f&&x(a,t,g)}if(o&&Array.isArray(h(r.errors,t))){const g=l(h(r.errors,t),c.argA,c.argB);f&&x(r.errors,t,g),Bt(r.errors,t)}if((m.touchedFields||k.touchedFields)&&o&&Array.isArray(h(r.touchedFields,t))){const g=l(h(r.touchedFields,t),c.argA,c.argB);f&&x(r.touchedFields,t,g)}(m.dirtyFields||k.dirtyFields)&&(r.dirtyFields=ae(u,n)),v.state.next({name:t,isDirty:K(t,i),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else x(n,t,i)},_=(t,i)=>{x(r.errors,t,i),v.state.next({errors:r.errors})},j=t=>{r.errors=t,v.state.next({errors:r.errors,isValid:!1})},$=(t,i,l,c)=>{const f=h(a,t);if(f){const o=h(n,t,D(l)?h(u,t):l);D(o)||c&&c.defaultChecked||i?x(n,t,i?o:je(f._f)):w(t,o),d.mount&&!d.action&&O()}},T=(t,i,l,c,f)=>{let o=!1,g=!1;const V={name:t};if(!s.disabled){if(!l||c){(m.isDirty||k.isDirty)&&(g=r.isDirty,r.isDirty=V.isDirty=K(),o=g!==V.isDirty);const A=ee(h(u,t),i);g=!!h(r.dirtyFields,t),A?E(r.dirtyFields,t):x(r.dirtyFields,t,!0),V.dirtyFields=r.dirtyFields,o=o||(m.dirtyFields||k.dirtyFields)&&g!==!A}if(l){const A=h(r.touchedFields,t);A||(x(r.touchedFields,t,l),V.touchedFields=r.touchedFields,o=o||(m.touchedFields||k.touchedFields)&&A!==l)}o&&f&&v.state.next(V)}return o?V:{}},ce=(t,i,l,c)=>{const f=h(r.errors,t),o=(m.isValid||k.isValid)&&Y(i)&&r.isValid!==i;if(s.delayError&&l?(U=Q(()=>_(t,l)),U(s.delayError)):(clearTimeout(p),U=null,l?x(r.errors,t,l):E(r.errors,t)),(l?!ee(f,l):f)||!R(c)||o){const g={...c,...o&&Y(i)?{isValid:i}:{},errors:r.errors,name:t};r={...r,...g},v.state.next(g)}},Z=async t=>{X(t,!0);const i=await s.resolver(n,s.context,Ct(t||y.mount,a,s.criteriaMode,s.shouldUseNativeValidation));return X(t),i},Ve=async t=>{const{errors:i}=await Z(t);if(t)for(const l of t){const c=h(i,l);c?x(r.errors,l,c):E(r.errors,l)}else r.errors=i;return i},q=async(t,i,l={valid:!0})=>{for(const c in t){const f=t[c];if(f){const{_f:o,...g}=f;if(o){const V=y.array.has(o.name),A=f._f&&Lt(f._f);A&&m.validatingFields&&X([o.name],!0);const P=await et(f,y.disabled,n,le,s.shouldUseNativeValidation&&!i,V);if(A&&m.validatingFields&&X([o.name]),P[o.name]&&(l.valid=!1,i))break;!i&&(h(P,o.name)?V?Nt(r.errors,P,o.name):x(r.errors,o.name,P[o.name]):E(r.errors,o.name))}!R(g)&&await q(g,i,l)}}return l.valid},te=()=>{for(const t of y.unMount){const i=h(a,t);i&&(i._f.refs?i._f.refs.every(l=>!De(l)):!De(i._f.ref))&&Fe(t)}y.unMount=new Set},K=(t,i)=>!s.disabled&&(t&&i&&x(n,t,i),!ee(ye(),u)),b=(t,i,l)=>kt(t,y,{...d.mount?n:D(i)?u:N(t)?{[t]:i}:i},l,i),F=t=>Oe(h(d.mount?n:u,t,s.shouldUnregister?h(u,t,[]):[])),w=(t,i,l={})=>{const c=h(a,t);let f=i;if(c){const o=c._f;o&&(!o.disabled&&x(n,t,nt(i,o)),f=ge(o.ref)&&I(i)?"":i,it(o.ref)?[...o.ref.options].forEach(g=>g.selected=f.includes(g.value)):o.refs?de(o.ref)?o.refs.forEach(g=>{(!g.defaultChecked||!g.disabled)&&(Array.isArray(f)?g.checked=!!f.find(V=>V===g.value):g.checked=f===g.value||!!f)}):o.refs.forEach(g=>g.checked=g.value===f):Ce(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||v.state.next({name:t,values:C(n)})))}(l.shouldDirty||l.shouldTouch)&&T(t,f,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&se(t)},L=(t,i,l)=>{for(const c in i){if(!i.hasOwnProperty(c))return;const f=i[c],o=t+"."+c,g=h(a,o);(y.array.has(t)||S(f)||g&&!g._f)&&!re(f)?L(o,f,l):w(o,f,l)}},M=(t,i,l={})=>{const c=h(a,t),f=y.array.has(t),o=C(i);x(n,t,o),f?(v.array.next({name:t,values:C(n)}),(m.isDirty||m.dirtyFields||k.isDirty||k.dirtyFields)&&l.shouldDirty&&v.state.next({name:t,dirtyFields:ae(u,n),isDirty:K(t,o)})):c&&!c._f&&!I(o)?L(t,o,l):w(t,o,l),Xe(t,y)&&v.state.next({...r,name:t}),v.state.next({name:d.mount?t:void 0,values:C(n)})},z=async t=>{d.mount=!0;const i=t.target;let l=i.name,c=!0;const f=h(a,l),o=A=>{c=Number.isNaN(A)||re(A)&&isNaN(A.getTime())||ee(A,h(n,l,A))},g=Je(s.mode),V=Je(s.reValidateMode);if(f){let A,P;const he=i.type?je(f._f):Vt(t),G=t.type===pe.BLUR||t.type===pe.FOCUS_OUT,vt=!Rt(f._f)&&!s.resolver&&!h(r.errors,l)&&!f._f.deps||It(G,h(r.touchedFields,l),r.isSubmitted,V,g),me=Xe(l,y,G);x(n,l,he),G?(!i||!i.readOnly)&&(f._f.onBlur&&f._f.onBlur(t),U&&U(0)):f._f.onChange&&f._f.onChange(t);const we=T(l,he,G),bt=!R(we)||me;if(!G&&v.state.next({name:l,type:t.type,values:C(n)}),vt)return(m.isValid||k.isValid)&&(s.mode==="onBlur"?G&&O():G||O()),bt&&v.state.next({name:l,...me?{}:we});if(!G&&me&&v.state.next({...r}),s.resolver){const{errors:We}=await Z([l]);if(o(he),c){const _t=Ze(r.errors,a,l),He=Ze(We,a,_t.name||l);A=He.error,l=He.name,P=R(We)}}else X([l],!0),A=(await et(f,y.disabled,n,le,s.shouldUseNativeValidation))[l],X([l]),o(he),c&&(A?P=!1:(m.isValid||k.isValid)&&(P=await q(a,!0)));c&&(f._f.deps&&(!Array.isArray(f._f.deps)||f._f.deps.length>0)&&se(f._f.deps),ce(l,P,A,we))}},ne=(t,i)=>{if(h(r.errors,i)&&t.focus)return t.focus(),1},se=async(t,i={})=>{let l,c;const f=oe(t);if(s.resolver){const o=await Ve(D(t)?t:f);l=R(o),c=t?!f.some(g=>h(o,g)):l}else t?(c=(await Promise.all(f.map(async o=>{const g=h(a,o);return await q(g&&g._f?{[o]:g}:g)}))).every(Boolean),!(!c&&!r.isValid)&&O()):c=l=await q(a);return v.state.next({...!N(t)||(m.isValid||k.isValid)&&l!==r.isValid?{}:{name:t},...s.resolver||!t?{isValid:l}:{},errors:r.errors}),i.shouldFocus&&!c&&fe(a,ne,t?f:y.mount),c},ye=(t,i)=>{let l={...d.mount?n:u};return i&&(l=st(i.dirtyFields?r.dirtyFields:r.touchedFields,l)),D(t)?l:N(t)?h(l,t):t.map(c=>h(l,c))},Re=(t,i)=>({invalid:!!h((i||r).errors,t),isDirty:!!h((i||r).dirtyFields,t),error:h((i||r).errors,t),isValidating:!!h(r.validatingFields,t),isTouched:!!h((i||r).touchedFields,t)}),ot=t=>{t&&oe(t).forEach(i=>E(r.errors,i)),v.state.next({errors:t?r.errors:{}})},Ue=(t,i,l)=>{const c=(h(a,t,{_f:{}})._f||{}).ref,f=h(r.errors,t)||{},{ref:o,message:g,type:V,...A}=f;x(r.errors,t,{...A,...i,ref:c}),v.state.next({name:t,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&c&&c.focus&&c.focus()},ft=(t,i)=>H(t)?v.state.subscribe({next:l=>"values"in l&&t(b(void 0,i),l)}):b(t,i,!0),Me=t=>v.state.subscribe({next:i=>{Mt(t.name,i.name,t.exact)&&Ut(i,t.formState||m,gt,t.reRenderRoot)&&t.callback({values:{...n},...r,...i,defaultValues:u})}}).unsubscribe,dt=t=>(d.mount=!0,k={...k,...t.formState},Me({...t,formState:k})),Fe=(t,i={})=>{for(const l of t?oe(t):y.mount)y.mount.delete(l),y.array.delete(l),i.keepValue||(E(a,l),E(n,l)),!i.keepError&&E(r.errors,l),!i.keepDirty&&E(r.dirtyFields,l),!i.keepTouched&&E(r.touchedFields,l),!i.keepIsValidating&&E(r.validatingFields,l),!s.shouldUnregister&&!i.keepDefaultValue&&E(u,l);v.state.next({values:C(n)}),v.state.next({...r,...i.keepDirty?{isDirty:K()}:{}}),!i.keepIsValid&&O()},Ie=({disabled:t,name:i})=>{(Y(t)&&d.mount||t||y.disabled.has(i))&&(t?y.disabled.add(i):y.disabled.delete(i))},Ae=(t,i={})=>{let l=h(a,t);const c=Y(i.disabled)||Y(s.disabled);return x(a,t,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:t}},name:t,mount:!0,...i}}),y.mount.add(t),l?Ie({disabled:Y(i.disabled)?i.disabled:s.disabled,name:t}):$(t,!0,i.value),{...c?{disabled:i.disabled||s.disabled}:{},...s.progressive?{required:!!i.required,min:ue(i.min),max:ue(i.max),minLength:ue(i.minLength),maxLength:ue(i.maxLength),pattern:ue(i.pattern)}:{},name:t,onChange:z,onBlur:z,ref:f=>{if(f){Ae(t,i),l=h(a,t);const o=D(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,g=Et(o),V=l._f.refs||[];if(g?V.find(A=>A===o):o===l._f.ref)return;x(a,t,{_f:{...l._f,...g?{refs:[...V.filter(De),o,...Array.isArray(h(u,t))?[{}]:[]],ref:{type:o.type,name:t}}:{ref:o}}}),$(t,!1,void 0,o)}else l=h(a,t,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(At(y.array,t)&&d.action)&&y.unMount.add(t)}}},xe=()=>s.shouldFocusError&&fe(a,ne,y.mount),ct=t=>{Y(t)&&(v.state.next({disabled:t}),fe(a,(i,l)=>{const c=h(a,l);c&&(i.disabled=c._f.disabled||t,Array.isArray(c._f.refs)&&c._f.refs.forEach(f=>{f.disabled=c._f.disabled||t}))},0,!1))},Be=(t,i)=>async l=>{let c;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=C(n);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:g}=await Z();r.errors=o,f=C(g)}else await q(a);if(y.disabled.size)for(const o of y.disabled)E(f,o);if(E(r.errors,"root"),R(r.errors)){v.state.next({errors:{}});try{await t(f,l)}catch(o){c=o}}else i&&await i({...r.errors},l),xe(),setTimeout(xe);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:R(r.errors)&&!c,submitCount:r.submitCount+1,errors:r.errors}),c)throw c},yt=(t,i={})=>{h(a,t)&&(D(i.defaultValue)?M(t,C(h(u,t))):(M(t,i.defaultValue),x(u,t,C(i.defaultValue))),i.keepTouched||E(r.touchedFields,t),i.keepDirty||(E(r.dirtyFields,t),r.isDirty=i.defaultValue?K(t,C(h(u,t))):K()),i.keepError||(E(r.errors,t),m.isValid&&O()),v.state.next({...r}))},Ne=(t,i={})=>{const l=t?C(t):u,c=C(l),f=R(t),o=f?u:c;if(i.keepDefaultValues||(u=l),!i.keepValues){if(i.keepDirtyValues){const g=new Set([...y.mount,...Object.keys(ae(u,n))]);for(const V of Array.from(g))h(r.dirtyFields,V)?x(o,V,h(n,V)):M(V,h(o,V))}else{if(Se&&D(t))for(const g of y.mount){const V=h(a,g);if(V&&V._f){const A=Array.isArray(V._f.refs)?V._f.refs[0]:V._f.ref;if(ge(A)){const P=A.closest("form");if(P){P.reset();break}}}}if(i.keepFieldsRef)for(const g of y.mount)M(g,h(o,g));else a={}}n=s.shouldUnregister?i.keepDefaultValues?C(u):{}:C(o),v.array.next({values:{...o}}),v.state.next({values:{...o}})}y={mount:i.keepDirtyValues?y.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},d.mount=!m.isValid||!!i.keepIsValid||!!i.keepDirtyValues||!s.shouldUnregister&&!R(o),d.watch=!!s.shouldUnregister,d.action=!1,i.keepErrors||(r.errors={}),v.state.next({submitCount:i.keepSubmitCount?r.submitCount:0,isDirty:f?!1:i.keepDirty?r.isDirty:!!(i.keepDefaultValues&&!ee(t,u)),isSubmitted:i.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:f?{}:i.keepDirtyValues?i.keepDefaultValues&&n?ae(u,n):r.dirtyFields:i.keepDefaultValues&&t?ae(u,t):i.keepDirty?r.dirtyFields:{},touchedFields:i.keepTouched?r.touchedFields:{},errors:i.keepErrors?r.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:u})},Pe=(t,i)=>Ne(H(t)?t(n):t,i),ht=(t,i={})=>{const l=h(a,t),c=l&&l._f;if(c){const f=c.refs?c.refs[0]:c.ref;f.focus&&(f.focus(),i.shouldSelect&&H(f.select)&&f.select())}},gt=t=>{r={...r,...t}},qe={control:{register:Ae,unregister:Fe,getFieldState:Re,handleSubmit:Be,setError:Ue,_subscribe:Me,_runSchema:Z,_focusError:xe,_getWatch:b,_getDirty:K,_setValid:O,_setFieldArray:_e,_setDisabledField:Ie,_setErrors:j,_getFieldArray:F,_reset:Ne,_resetDefaultValues:()=>H(s.defaultValues)&&s.defaultValues().then(t=>{Pe(t,s.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:te,_disableForm:ct,_subjects:v,_proxyFormState:m,get _fields(){return a},get _formValues(){return n},get _state(){return d},set _state(t){d=t},get _defaultValues(){return u},get _names(){return y},set _names(t){y=t},get _formState(){return r},get _options(){return s},set _options(t){s={...s,...t}}},subscribe:dt,trigger:se,register:Ae,handleSubmit:Be,watch:ft,setValue:M,getValues:ye,reset:Pe,resetField:yt,clearErrors:ot,unregister:Fe,setError:Ue,setFocus:ht,getFieldState:Re};return{...qe,formControl:qe}}function Wt(e={}){const s=B.useRef(void 0),r=B.useRef(void 0),[a,u]=B.useState({isDirty:!1,isValidating:!1,isLoading:H(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:H(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:a},e.defaultValues&&!H(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:d,...y}=qt(e);s.current={...y,formState:a}}const n=s.current.control;return n._options=e,Dt(()=>{const d=n._subscribe({formState:n._proxyFormState,callback:()=>u({...n._formState}),reRenderRoot:!0});return u(y=>({...y,isReady:!0})),n._formState.isReady=!0,d},[n]),B.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),B.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),B.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),B.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),B.useEffect(()=>{if(n._proxyFormState.isDirty){const d=n._getDirty();d!==a.isDirty&&n._subjects.state.next({isDirty:d})}},[n,a.isDirty]),B.useEffect(()=>{var d;e.values&&!ee(e.values,r.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),!((d=n._options.resetOptions)===null||d===void 0)&&d.keepIsValid||n._setValid(),r.current=e.values,u(y=>({...y}))):n._resetDefaultValues()},[n,e.values]),B.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=wt(a,n),s.current}exports.appendErrors=rt;exports.get=h;exports.set=x;exports.useForm=Wt;