UNPKG

dgz-ui-shared

Version:

Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library

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