suprform 1.1.5 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { FieldValues, FieldPath } from 'react-hook-form';
2
2
  import { FormControlProps } from '../type';
3
3
  export declare const FormControl: {
4
- <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ children, name, rules, className, label, id, disabled, shouldUnregister, visibility, }: FormControlProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
4
+ <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ children, name, rules, className, label, id, disabled, shouldUnregister, visibility, description, }: FormControlProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
5
5
  displayName: string;
6
6
  };
7
7
  //# sourceMappingURL=FormControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.d.ts","sourceRoot":"","sources":["../../src/components/FormControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C,eAAO,MAAM,WAAW;KACtB,YAAY,SAAS,WAAW,gBAChC,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,sHAWpC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC;;CA8DvC,CAAC"}
1
+ {"version":3,"file":"FormControl.d.ts","sourceRoot":"","sources":["../../src/components/FormControl.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI3C,eAAO,MAAM,WAAW;KACtB,YAAY,SAAS,WAAW,gBAChC,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,mIAYpC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC;;CAwFvC,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react/jsx-runtime"),h=require("react");var he=t=>t.type==="checkbox",oe=t=>t instanceof Date,G=t=>t==null;const Ft=t=>typeof t=="object";var j=t=>!G(t)&&!Array.isArray(t)&&Ft(t)&&!oe(t),bt=t=>j(t)&&t.target?he(t.target)?t.target.checked:t.target.value:t,Ht=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,At=(t,r)=>t.has(Ht(r)),$t=t=>{const r=t.constructor&&t.constructor.prototype;return j(r)&&r.hasOwnProperty("isPrototypeOf")},Qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function N(t){if(t instanceof Date)return new Date(t);const r=typeof FileList<"u"&&t instanceof FileList;if(Qe&&(t instanceof Blob||r))return t;const e=Array.isArray(t);if(!e&&!(j(t)&&$t(t)))return t;const s=e?[]:Object.create(Object.getPrototypeOf(t));for(const u in t)Object.prototype.hasOwnProperty.call(t,u)&&(s[u]=N(t[u]));return s}var xe=t=>/^\w*$/.test(t),U=t=>t===void 0,Se=t=>Array.isArray(t)?t.filter(Boolean):[],Ge=t=>Se(t.replace(/["|']|\]/g,"").split(/\.|\[/)),m=(t,r,e)=>{if(!r||!j(t))return e;const s=(xe(r)?[r]:Ge(r)).reduce((u,i)=>G(u)?u:u[i],t);return U(s)||s===t?U(t[r])?e:t[r]:s},X=t=>typeof t=="boolean",Q=t=>typeof t=="function",R=(t,r,e)=>{let s=-1;const u=xe(r)?[r]:Ge(r),i=u.length,c=i-1;for(;++s<i;){const l=u[s];let F=e;if(s!==c){const V=t[l];F=j(V)||Array.isArray(V)?V:isNaN(+u[s+1])?{}:[]}if(l==="__proto__"||l==="constructor"||l==="prototype")return;t[l]=F,t=t[l]}};const be={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},re={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ne={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ze=h.createContext(null);ze.displayName="HookFormContext";const ve=()=>h.useContext(ze),qt=t=>{const{children:r,...e}=t;return h.createElement(ze.Provider,{value:e},r)};var pt=(t,r,e,s=!0)=>{const u={defaultValues:r._defaultValues};for(const i in t)Object.defineProperty(u,i,{get:()=>{const c=i;return r._proxyFormState[c]!==re.all&&(r._proxyFormState[c]=!s||re.all),e&&(e[c]=!0),t[c]}});return u};const Ee=typeof window<"u"?h.useLayoutEffect:h.useEffect;function Qt(t){const r=ve(),{control:e=r.control,disabled:s,name:u,exact:i}=t||{},[c,l]=h.useState(e._formState),F=h.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ee(()=>e._subscribe({name:u,formState:F.current,exact:i,callback:V=>{!s&&l({...e._formState,...V})}}),[u,s,i]),h.useEffect(()=>{F.current.isValid&&e._setValid(!0)},[e]),h.useMemo(()=>pt(c,e,F.current,!1),[c,e])}var Z=t=>typeof t=="string",je=(t,r,e,s,u)=>Z(t)?(s&&r.watch.add(t),m(e,t,u)):Array.isArray(t)?t.map(i=>(s&&r.watch.add(i),m(e,i))):(s&&(r.watchAll=!0),e),We=t=>G(t)||!Ft(t);function ae(t,r,e=new WeakSet){if(We(t)||We(r))return Object.is(t,r);if(oe(t)&&oe(r))return t.getTime()===r.getTime();const s=Object.keys(t),u=Object.keys(r);if(s.length!==u.length)return!1;if(e.has(t)||e.has(r))return!0;e.add(t),e.add(r);for(const i of s){const c=t[i];if(!u.includes(i))return!1;if(i!=="ref"){const l=r[i];if(oe(c)&&oe(l)||j(c)&&j(l)||Array.isArray(c)&&Array.isArray(l)?!ae(c,l,e):!Object.is(c,l))return!1}}return!0}function Ke(t){const r=ve(),{control:e=r.control,name:s,defaultValue:u,disabled:i,exact:c,compute:l}=t||{},F=h.useRef(u),V=h.useRef(l),w=h.useRef(void 0),g=h.useRef(e),S=h.useRef(s);V.current=l;const[p,I]=h.useState(()=>{const f=e._getWatch(s,F.current);return V.current?V.current(f):f}),T=h.useCallback(f=>{const d=je(s,e._names,f||e._formValues,!1,F.current);return V.current?V.current(d):d},[e._formValues,e._names,s]),L=h.useCallback(f=>{if(!i){const d=je(s,e._names,f||e._formValues,!1,F.current);if(V.current){const A=V.current(d);ae(A,w.current)||(I(A),w.current=A)}else I(d)}},[e._formValues,e._names,i,s]);Ee(()=>((g.current!==e||!ae(S.current,s))&&(g.current=e,S.current=s,L()),e._subscribe({name:s,formState:{values:!0},exact:c,callback:f=>{L(f.values)}})),[e,c,s,L]),h.useEffect(()=>e._removeUnmounted());const M=g.current!==e,x=S.current,P=h.useMemo(()=>{if(i)return null;const f=!M&&!ae(x,s);return M||f?T():null},[i,M,s,x,T]);return P!==null?P:p}function Gt(t){const r=ve(),{name:e,disabled:s,control:u=r.control,shouldUnregister:i,defaultValue:c,exact:l=!0}=t,F=At(u._names.array,e),V=h.useMemo(()=>m(u._formValues,e,m(u._defaultValues,e,c)),[u,e,c]),w=Ke({control:u,name:e,defaultValue:V,exact:l}),g=Qt({control:u,name:e,exact:l}),S=h.useRef(t),p=h.useRef(void 0),I=h.useRef(u.register(e,{...t.rules,value:w,...X(t.disabled)?{disabled:t.disabled}:{}}));S.current=t;const T=h.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!m(g.errors,e)},isDirty:{enumerable:!0,get:()=>!!m(g.dirtyFields,e)},isTouched:{enumerable:!0,get:()=>!!m(g.touchedFields,e)},isValidating:{enumerable:!0,get:()=>!!m(g.validatingFields,e)},error:{enumerable:!0,get:()=>m(g.errors,e)}}),[g,e]),L=h.useCallback(f=>I.current.onChange({target:{value:bt(f),name:e},type:be.CHANGE}),[e]),M=h.useCallback(()=>I.current.onBlur({target:{value:m(u._formValues,e),name:e},type:be.BLUR}),[e,u._formValues]),x=h.useCallback(f=>{const d=m(u._fields,e);d&&d._f&&f&&(d._f.ref={focus:()=>Q(f.focus)&&f.focus(),select:()=>Q(f.select)&&f.select(),setCustomValidity:A=>Q(f.setCustomValidity)&&f.setCustomValidity(A),reportValidity:()=>Q(f.reportValidity)&&f.reportValidity()})},[u._fields,e]),P=h.useMemo(()=>({name:e,value:w,...X(s)||g.disabled?{disabled:g.disabled||s}:{},onChange:L,onBlur:M,ref:x}),[e,s,g.disabled,L,M,x,w]);return h.useEffect(()=>{const f=u._options.shouldUnregister||i,d=p.current;d&&d!==e&&!F&&u.unregister(d),u.register(e,{...S.current.rules,...X(S.current.disabled)?{disabled:S.current.disabled}:{}});const A=(k,q)=>{const Y=m(u._fields,k);Y&&Y._f&&(Y._f.mount=q)};if(A(e,!0),f){const k=N(m(u._options.defaultValues,e,S.current.defaultValue));R(u._defaultValues,e,k),U(m(u._formValues,e))&&R(u._formValues,e,k)}return!F&&u.register(e),p.current=e,()=>{(F?f&&!u._state.action:f)?u.unregister(e):A(e,!1)}},[e,u,F,i]),h.useEffect(()=>{u._setDisabledField({disabled:s,name:e})},[s,e,u]),h.useMemo(()=>({field:P,formState:g,fieldState:T}),[P,g,T])}const zt=t=>t.render(Gt(t));var Kt=(t,r,e,s,u)=>r?{...e[t],types:{...e[t]&&e[t].types?e[t].types:{},[s]:u||!0}}:{},K=t=>Array.isArray(t)?t:[t],dt=()=>{let t=[];return{get observers(){return t},next:u=>{for(const i of t)i.next&&i.next(u)},subscribe:u=>(t.push(u),{unsubscribe:()=>{t=t.filter(i=>i!==u)}}),unsubscribe:()=>{t=[]}}};function xt(t,r){const e={};for(const s in t)if(t.hasOwnProperty(s)){const u=t[s],i=r[s];if(u&&j(u)&&i){const c=xt(u,i);j(c)&&(e[s]=c)}else t[s]&&(e[s]=i)}return e}var $=t=>j(t)&&!Object.keys(t).length,Ye=t=>t.type==="file",Ae=t=>{if(!Qe)return!1;const r=t?t.ownerDocument:0;return t instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},St=t=>t.type==="select-multiple",Je=t=>t.type==="radio",Yt=t=>Je(t)||he(t),Te=t=>Ae(t)&&t.isConnected;function Jt(t,r){const e=r.slice(0,-1).length;let s=0;for(;s<e;)t=U(t)?s++:t[r[s++]];return t}function Xt(t){for(const r in t)if(t.hasOwnProperty(r)&&!U(t[r]))return!1;return!0}function B(t,r){const e=Array.isArray(r)?r:xe(r)?[r]:Ge(r),s=e.length===1?t:Jt(t,e),u=e.length-1,i=e[u];return s&&delete s[i],u!==0&&(j(s)&&$(s)||Array.isArray(s)&&Xt(s))&&B(t,e.slice(0,-1)),t}var Zt=t=>{for(const r in t)if(Q(t[r]))return!0;return!1};function Et(t){return Array.isArray(t)||j(t)&&!Zt(t)}function He(t,r={}){for(const e in t){const s=t[e];Et(s)?(r[e]=Array.isArray(s)?[]:{},He(s,r[e])):U(s)||(r[e]=!0)}return r}function ce(t,r,e){e||(e=He(r));for(const s in t){const u=t[s];if(Et(u))U(r)||We(e[s])?e[s]=He(u,Array.isArray(u)?[]:{}):ce(u,G(r)?{}:r[s],e[s]);else{const i=r[s];e[s]=!ae(u,i)}}return e}const ft={value:!1,isValid:!1},yt={value:!0,isValid:!0};var wt=t=>{if(Array.isArray(t)){if(t.length>1){const r=t.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:r,isValid:!!r.length}}return t[0].checked&&!t[0].disabled?t[0].attributes&&!U(t[0].attributes.value)?U(t[0].value)||t[0].value===""?yt:{value:t[0].value,isValid:!0}:yt:ft}return ft},kt=(t,{valueAsNumber:r,valueAsDate:e,setValueAs:s})=>U(t)?t:r?t===""?NaN:t&&+t:e&&Z(t)?new Date(t):s?s(t):t;const mt={isValid:!1,value:null};var Ct=t=>Array.isArray(t)?t.reduce((r,e)=>e&&e.checked&&!e.disabled?{isValid:!0,value:e.value}:r,mt):mt;function _t(t){const r=t.ref;return Ye(r)?r.files:Je(r)?Ct(t.refs).value:St(r)?[...r.selectedOptions].map(({value:e})=>e):he(r)?wt(t.refs).value:kt(U(r.value)?t.ref.value:r.value,t)}var er=(t,r,e,s)=>{const u={};for(const i of t){const c=m(r,i);c&&R(u,i,c._f)}return{criteriaMode:e,names:[...t],fields:u,shouldUseNativeValidation:s}},pe=t=>t instanceof RegExp,ge=t=>U(t)?t:pe(t)?t.source:j(t)?pe(t.value)?t.value.source:t.value:t,de=t=>({isOnSubmit:!t||t===re.onSubmit,isOnBlur:t===re.onBlur,isOnChange:t===re.onChange,isOnAll:t===re.all,isOnTouch:t===re.onTouched});const gt="AsyncFunction";var tr=t=>!!t&&!!t.validate&&!!(Q(t.validate)&&t.validate.constructor.name===gt||j(t.validate)&&Object.values(t.validate).find(r=>r.constructor.name===gt)),rr=t=>t.mount&&(t.required||t.min||t.max||t.maxLength||t.minLength||t.pattern||t.validate),$e=(t,r,e)=>!e&&(r.watchAll||r.watch.has(t)||[...r.watch].some(s=>t.startsWith(s)&&/^\.\w+/.test(t.slice(s.length))));const fe=(t,r,e,s)=>{for(const u of e||Object.keys(t)){const i=m(t,u);if(i){const{_f:c,...l}=i;if(c){if(c.refs&&c.refs[0]&&r(c.refs[0],u)&&!s)return!0;if(c.ref&&r(c.ref,c.name)&&!s)return!0;if(fe(l,r))break}else if(j(l)&&fe(l,r))break}}};function ht(t,r,e){const s=m(t,e);if(s||xe(e))return{error:s,name:e};const u=e.split(".");for(;u.length;){const i=u.join("."),c=m(r,i),l=m(t,i);if(c&&!Array.isArray(c)&&e!==i)return{name:e};if(l&&l.type)return{name:i,error:l};if(l&&l.root&&l.root.type)return{name:`${i}.root`,error:l.root};u.pop()}return{name:e}}var sr=(t,r,e,s)=>{e(t);const{name:u,...i}=t;return $(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(c=>r[c]===(!s||re.all))},ar=(t,r,e)=>!t||!r||t===r||K(t).some(s=>s&&(e?s===r:s.startsWith(r)||r.startsWith(s))),nr=(t,r,e,s,u)=>u.isOnAll?!1:!e&&u.isOnTouch?!(r||t):(e?s.isOnBlur:u.isOnBlur)?!t:(e?s.isOnChange:u.isOnChange)?t:!0,ir=(t,r)=>!Se(m(t,r)).length&&B(t,r),Dt=(t,r,e)=>{const s=K(m(t,e));return R(s,"root",r[e]),R(t,e,s),t};function vt(t,r,e="validate"){if(Z(t)||Array.isArray(t)&&t.every(Z)||X(t)&&!t)return{type:e,message:Z(t)?t:"",ref:r}}var le=t=>j(t)&&!pe(t)?t:{value:t,message:""},qe=async(t,r,e,s,u,i)=>{const{ref:c,refs:l,required:F,maxLength:V,minLength:w,min:g,max:S,pattern:p,validate:I,name:T,valueAsNumber:L,mount:M}=t._f,x=m(e,T);if(!M||r.has(T))return{};const P=l?l[0]:c,f=E=>{u&&P.reportValidity&&(P.setCustomValidity(X(E)?"":E||""),P.reportValidity())},d={},A=Je(c),k=he(c),q=A||k,Y=(L||Ye(c))&&U(c.value)&&U(x)||Ae(c)&&c.value===""||x===""||Array.isArray(x)&&!x.length,ee=Kt.bind(null,T,s,d),Ve=(E,C,W,H=ne.maxLength,se=ne.minLength)=>{const J=E?C:W;d[T]={type:E?H:se,message:J,ref:c,...ee(E?H:se,J)}};if(i?!Array.isArray(x)||!x.length:F&&(!q&&(Y||G(x))||X(x)&&!x||k&&!wt(l).isValid||A&&!Ct(l).isValid)){const{value:E,message:C}=Z(F)?{value:!!F,message:F}:le(F);if(E&&(d[T]={type:ne.required,message:C,ref:P,...ee(ne.required,C)},!s))return f(C),d}if(!Y&&(!G(g)||!G(S))){let E,C;const W=le(S),H=le(g);if(!G(x)&&!isNaN(x)){const se=c.valueAsNumber||x&&+x;G(W.value)||(E=se>W.value),G(H.value)||(C=se<H.value)}else{const se=c.valueAsDate||new Date(x),J=_e=>new Date(new Date().toDateString()+" "+_e),ye=c.type=="time",me=c.type=="week";Z(W.value)&&x&&(E=ye?J(x)>J(W.value):me?x>W.value:se>new Date(W.value)),Z(H.value)&&x&&(C=ye?J(x)<J(H.value):me?x<H.value:se<new Date(H.value))}if((E||C)&&(Ve(!!E,W.message,H.message,ne.max,ne.min),!s))return f(d[T].message),d}if((V||w)&&!Y&&(Z(x)||i&&Array.isArray(x))){const E=le(V),C=le(w),W=!G(E.value)&&x.length>+E.value,H=!G(C.value)&&x.length<+C.value;if((W||H)&&(Ve(W,E.message,C.message),!s))return f(d[T].message),d}if(p&&!Y&&Z(x)){const{value:E,message:C}=le(p);if(pe(E)&&!x.match(E)&&(d[T]={type:ne.pattern,message:C,ref:c,...ee(ne.pattern,C)},!s))return f(C),d}if(I){if(Q(I)){const E=await I(x,e),C=vt(E,P);if(C&&(d[T]={...C,...ee(ne.validate,C.message)},!s))return f(C.message),d}else if(j(I)){let E={};for(const C in I){if(!$(E)&&!s)break;const W=vt(await I[C](x,e),P,C);W&&(E={...W,...ee(C,W.message)},f(W.message),s&&(d[T]=E))}if(!$(E)&&(d[T]={ref:P,...E},!s))return d}}return f(!0),d};const ur={mode:re.onSubmit,reValidateMode:re.onChange,shouldFocusError:!0};function or(t={}){let r={...ur,...t},e={submitCount:0,isDirty:!1,isReady:!1,isLoading:Q(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},u=j(r.defaultValues)||j(r.values)?N(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:N(u),c={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},F,V=0;const w={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},g={...w};let S={...g};const p={array:dt(),state:dt()},I=r.criteriaMode===re.all,T=a=>n=>{clearTimeout(V),V=setTimeout(a,n)},L=async a=>{if(!c.keepIsValid&&!r.disabled&&(g.isValid||S.isValid||a)){let n;r.resolver?(n=$((await q()).errors),M()):n=await ee(s,!0),n!==e.isValid&&p.state.next({isValid:n})}},M=(a,n)=>{!r.disabled&&(g.isValidating||g.validatingFields||S.isValidating||S.validatingFields)&&((a||Array.from(l.mount)).forEach(o=>{o&&(n?R(e.validatingFields,o,n):B(e.validatingFields,o))}),p.state.next({validatingFields:e.validatingFields,isValidating:!$(e.validatingFields)}))},x=(a,n=[],o,v,_=!0,y=!0)=>{if(v&&o&&!r.disabled){if(c.action=!0,y&&Array.isArray(m(s,a))){const b=o(m(s,a),v.argA,v.argB);_&&R(s,a,b)}if(y&&Array.isArray(m(e.errors,a))){const b=o(m(e.errors,a),v.argA,v.argB);_&&R(e.errors,a,b),ir(e.errors,a)}if((g.touchedFields||S.touchedFields)&&y&&Array.isArray(m(e.touchedFields,a))){const b=o(m(e.touchedFields,a),v.argA,v.argB);_&&R(e.touchedFields,a,b)}(g.dirtyFields||S.dirtyFields)&&(e.dirtyFields=ce(u,i)),p.state.next({name:a,isDirty:E(a,n),dirtyFields:e.dirtyFields,errors:e.errors,isValid:e.isValid})}else R(i,a,n)},P=(a,n)=>{R(e.errors,a,n),p.state.next({errors:e.errors})},f=a=>{e.errors=a,p.state.next({errors:e.errors,isValid:!1})},d=(a,n,o,v)=>{const _=m(s,a);if(_){const y=m(i,a,U(o)?m(u,a):o);U(y)||v&&v.defaultChecked||n?R(i,a,n?y:_t(_._f)):H(a,y),c.mount&&!c.action&&L()}},A=(a,n,o,v,_)=>{let y=!1,b=!1;const D={name:a};if(!r.disabled){if(!o||v){(g.isDirty||S.isDirty)&&(b=e.isDirty,e.isDirty=D.isDirty=E(),y=b!==D.isDirty);const O=ae(m(u,a),n);b=!!m(e.dirtyFields,a),O?B(e.dirtyFields,a):R(e.dirtyFields,a,!0),D.dirtyFields=e.dirtyFields,y=y||(g.dirtyFields||S.dirtyFields)&&b!==!O}if(o){const O=m(e.touchedFields,a);O||(R(e.touchedFields,a,o),D.touchedFields=e.touchedFields,y=y||(g.touchedFields||S.touchedFields)&&O!==o)}y&&_&&p.state.next(D)}return y?D:{}},k=(a,n,o,v)=>{const _=m(e.errors,a),y=(g.isValid||S.isValid)&&X(n)&&e.isValid!==n;if(r.delayError&&o?(F=T(()=>P(a,o)),F(r.delayError)):(clearTimeout(V),F=null,o?R(e.errors,a,o):B(e.errors,a)),(o?!ae(_,o):_)||!$(v)||y){const b={...v,...y&&X(n)?{isValid:n}:{},errors:e.errors,name:a};e={...e,...b},p.state.next(b)}},q=async a=>(M(a,!0),await r.resolver(i,r.context,er(a||l.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),Y=async a=>{const{errors:n}=await q(a);if(M(a),a)for(const o of a){const v=m(n,o);v?R(e.errors,o,v):B(e.errors,o)}else e.errors=n;return n},ee=async(a,n,o={valid:!0})=>{for(const v in a){const _=a[v];if(_){const{_f:y,...b}=_;if(y){const D=l.array.has(y.name),O=_._f&&tr(_._f);O&&g.validatingFields&&M([y.name],!0);const te=await qe(_,l.disabled,i,I,r.shouldUseNativeValidation&&!n,D);if(O&&g.validatingFields&&M([y.name]),te[y.name]&&(o.valid=!1,n))break;!n&&(m(te,y.name)?D?Dt(e.errors,te,y.name):R(e.errors,y.name,te[y.name]):B(e.errors,y.name))}!$(b)&&await ee(b,n,o)}}return o.valid},Ve=()=>{for(const a of l.unMount){const n=m(s,a);n&&(n._f.refs?n._f.refs.every(o=>!Te(o)):!Te(n._f.ref))&&we(a)}l.unMount=new Set},E=(a,n)=>!r.disabled&&(a&&n&&R(i,a,n),!ae(et(),u)),C=(a,n,o)=>je(a,l,{...c.mount?i:U(n)?u:Z(a)?{[a]:n}:n},o,n),W=a=>Se(m(c.mount?i:u,a,r.shouldUnregister?m(u,a,[]):[])),H=(a,n,o={})=>{const v=m(s,a);let _=n;if(v){const y=v._f;y&&(!y.disabled&&R(i,a,kt(n,y)),_=Ae(y.ref)&&G(n)?"":n,St(y.ref)?[...y.ref.options].forEach(b=>b.selected=_.includes(b.value)):y.refs?he(y.ref)?y.refs.forEach(b=>{(!b.defaultChecked||!b.disabled)&&(Array.isArray(_)?b.checked=!!_.find(D=>D===b.value):b.checked=_===b.value||!!_)}):y.refs.forEach(b=>b.checked=b.value===_):Ye(y.ref)?y.ref.value="":(y.ref.value=_,y.ref.type||p.state.next({name:a,values:N(i)})))}(o.shouldDirty||o.shouldTouch)&&A(a,_,o.shouldTouch,o.shouldDirty,!0),o.shouldValidate&&_e(a)},se=(a,n,o)=>{for(const v in n){if(!n.hasOwnProperty(v))return;const _=n[v],y=a+"."+v,b=m(s,y);(l.array.has(a)||j(_)||b&&!b._f)&&!oe(_)?se(y,_,o):H(y,_,o)}},J=(a,n,o={})=>{const v=m(s,a),_=l.array.has(a),y=N(n);R(i,a,y),_?(p.array.next({name:a,values:N(i)}),(g.isDirty||g.dirtyFields||S.isDirty||S.dirtyFields)&&o.shouldDirty&&p.state.next({name:a,dirtyFields:ce(u,i),isDirty:E(a,y)})):v&&!v._f&&!G(y)?se(a,y,o):H(a,y,o),$e(a,l)&&p.state.next({...e,name:a}),p.state.next({name:c.mount?a:void 0,values:N(i)})},ye=async a=>{c.mount=!0;const n=a.target;let o=n.name,v=!0;const _=m(s,o),y=O=>{v=Number.isNaN(O)||oe(O)&&isNaN(O.getTime())||ae(O,m(i,o,O))},b=de(r.mode),D=de(r.reValidateMode);if(_){let O,te;const Fe=n.type?_t(_._f):bt(a),ie=a.type===be.BLUR||a.type===be.FOCUS_OUT,Bt=!rr(_._f)&&!r.resolver&&!m(e.errors,o)&&!_._f.deps||nr(ie,m(e.touchedFields,o),e.isSubmitted,D,b),De=$e(o,l,ie);R(i,o,Fe),ie?(!n||!n.readOnly)&&(_._f.onBlur&&_._f.onBlur(a),F&&F(0)):_._f.onChange&&_._f.onChange(a);const Re=A(o,Fe,ie),jt=!$(Re)||De;if(!ie&&p.state.next({name:o,type:a.type,values:N(i)}),Bt)return(g.isValid||S.isValid)&&(r.mode==="onBlur"?ie&&L():ie||L()),jt&&p.state.next({name:o,...De?{}:Re});if(!ie&&De&&p.state.next({...e}),r.resolver){const{errors:lt}=await q([o]);if(M([o]),y(Fe),v){const Wt=ht(e.errors,s,o),ct=ht(lt,s,Wt.name||o);O=ct.error,o=ct.name,te=$(lt)}}else M([o],!0),O=(await qe(_,l.disabled,i,I,r.shouldUseNativeValidation))[o],M([o]),y(Fe),v&&(O?te=!1:(g.isValid||S.isValid)&&(te=await ee(s,!0)));v&&(_._f.deps&&(!Array.isArray(_._f.deps)||_._f.deps.length>0)&&_e(_._f.deps),k(o,te,O,Re))}},me=(a,n)=>{if(m(e.errors,n)&&a.focus)return a.focus(),1},_e=async(a,n={})=>{let o,v;const _=K(a);if(r.resolver){const y=await Y(U(a)?a:_);o=$(y),v=a?!_.some(b=>m(y,b)):o}else a?(v=(await Promise.all(_.map(async y=>{const b=m(s,y);return await ee(b&&b._f?{[y]:b}:b)}))).every(Boolean),!(!v&&!e.isValid)&&L()):v=o=await ee(s);return p.state.next({...!Z(a)||(g.isValid||S.isValid)&&o!==e.isValid?{}:{name:a},...r.resolver||!a?{isValid:o}:{},errors:e.errors}),n.shouldFocus&&!v&&fe(s,me,a?_:l.mount),v},et=(a,n)=>{let o={...c.mount?i:u};return n&&(o=xt(n.dirtyFields?e.dirtyFields:e.touchedFields,o)),U(a)?o:Z(a)?m(o,a):a.map(v=>m(o,v))},tt=(a,n)=>({invalid:!!m((n||e).errors,a),isDirty:!!m((n||e).dirtyFields,a),error:m((n||e).errors,a),isValidating:!!m(e.validatingFields,a),isTouched:!!m((n||e).touchedFields,a)}),Ot=a=>{a&&K(a).forEach(n=>B(e.errors,n)),p.state.next({errors:a?e.errors:{}})},rt=(a,n,o)=>{const v=(m(s,a,{_f:{}})._f||{}).ref,_=m(e.errors,a)||{},{ref:y,message:b,type:D,...O}=_;R(e.errors,a,{...O,...n,ref:v}),p.state.next({name:a,errors:e.errors,isValid:!1}),o&&o.shouldFocus&&v&&v.focus&&v.focus()},Ut=(a,n)=>Q(a)?p.state.subscribe({next:o=>"values"in o&&a(C(void 0,n),o)}):C(a,n,!0),st=a=>p.state.subscribe({next:n=>{ar(a.name,n.name,a.exact)&&sr(n,a.formState||g,Pt,a.reRenderRoot)&&a.callback({values:{...i},...e,...n,defaultValues:u})}}).unsubscribe,Mt=a=>(c.mount=!0,S={...S,...a.formState},st({...a,formState:{...w,...a.formState}})),we=(a,n={})=>{for(const o of a?K(a):l.mount)l.mount.delete(o),l.array.delete(o),n.keepValue||(B(s,o),B(i,o)),!n.keepError&&B(e.errors,o),!n.keepDirty&&B(e.dirtyFields,o),!n.keepTouched&&B(e.touchedFields,o),!n.keepIsValidating&&B(e.validatingFields,o),!r.shouldUnregister&&!n.keepDefaultValue&&B(u,o);p.state.next({values:N(i)}),p.state.next({...e,...n.keepDirty?{isDirty:E()}:{}}),!n.keepIsValid&&L()},at=({disabled:a,name:n})=>{(X(a)&&c.mount||a||l.disabled.has(n))&&(a?l.disabled.add(n):l.disabled.delete(n))},ke=(a,n={})=>{let o=m(s,a);const v=X(n.disabled)||X(r.disabled);return R(s,a,{...o||{},_f:{...o&&o._f?o._f:{ref:{name:a}},name:a,mount:!0,...n}}),l.mount.add(a),o?at({disabled:X(n.disabled)?n.disabled:r.disabled,name:a}):d(a,!0,n.value),{...v?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:ge(n.min),max:ge(n.max),minLength:ge(n.minLength),maxLength:ge(n.maxLength),pattern:ge(n.pattern)}:{},name:a,onChange:ye,onBlur:ye,ref:_=>{if(_){ke(a,n),o=m(s,a);const y=U(_.value)&&_.querySelectorAll&&_.querySelectorAll("input,select,textarea")[0]||_,b=Yt(y),D=o._f.refs||[];if(b?D.find(O=>O===y):y===o._f.ref)return;R(s,a,{_f:{...o._f,...b?{refs:[...D.filter(Te),y,...Array.isArray(m(u,a))?[{}]:[]],ref:{type:y.type,name:a}}:{ref:y}}}),d(a,!1,void 0,y)}else o=m(s,a,{}),o._f&&(o._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(At(l.array,a)&&c.action)&&l.unMount.add(a)}}},Ce=()=>r.shouldFocusError&&fe(s,me,l.mount),Nt=a=>{X(a)&&(p.state.next({disabled:a}),fe(s,(n,o)=>{const v=m(s,o);v&&(n.disabled=v._f.disabled||a,Array.isArray(v._f.refs)&&v._f.refs.forEach(_=>{_.disabled=v._f.disabled||a}))},0,!1))},nt=(a,n)=>async o=>{let v;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let _=N(i);if(p.state.next({isSubmitting:!0}),r.resolver){const{errors:y,values:b}=await q();M(),e.errors=y,_=N(b)}else await ee(s);if(l.disabled.size)for(const y of l.disabled)B(_,y);if(B(e.errors,"root"),$(e.errors)){p.state.next({errors:{}});try{await a(_,o)}catch(y){v=y}}else n&&await n({...e.errors},o),Ce(),setTimeout(Ce);if(p.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:$(e.errors)&&!v,submitCount:e.submitCount+1,errors:e.errors}),v)throw v},Lt=(a,n={})=>{m(s,a)&&(U(n.defaultValue)?J(a,N(m(u,a))):(J(a,n.defaultValue),R(u,a,N(n.defaultValue))),n.keepTouched||B(e.touchedFields,a),n.keepDirty||(B(e.dirtyFields,a),e.isDirty=n.defaultValue?E(a,N(m(u,a))):E()),n.keepError||(B(e.errors,a),g.isValid&&L()),p.state.next({...e}))},it=(a,n={})=>{const o=a?N(a):u,v=N(o),_=$(a),y=_?u:v;if(n.keepDefaultValues||(u=o),!n.keepValues){if(n.keepDirtyValues){const b=new Set([...l.mount,...Object.keys(ce(u,i))]);for(const D of Array.from(b))m(e.dirtyFields,D)?R(y,D,m(i,D)):J(D,m(y,D))}else{if(Qe&&U(a))for(const b of l.mount){const D=m(s,b);if(D&&D._f){const O=Array.isArray(D._f.refs)?D._f.refs[0]:D._f.ref;if(Ae(O)){const te=O.closest("form");if(te){te.reset();break}}}}if(n.keepFieldsRef)for(const b of l.mount)J(b,m(y,b));else s={}}i=r.shouldUnregister?n.keepDefaultValues?N(u):{}:N(y),p.array.next({values:{...y}}),p.state.next({values:{...y}})}l={mount:n.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!g.isValid||!!n.keepIsValid||!!n.keepDirtyValues||!r.shouldUnregister&&!$(y),c.watch=!!r.shouldUnregister,c.keepIsValid=!!n.keepIsValid,c.action=!1,n.keepErrors||(e.errors={}),p.state.next({submitCount:n.keepSubmitCount?e.submitCount:0,isDirty:_?!1:n.keepDirty?e.isDirty:!!(n.keepDefaultValues&&!ae(a,u)),isSubmitted:n.keepIsSubmitted?e.isSubmitted:!1,dirtyFields:_?{}:n.keepDirtyValues?n.keepDefaultValues&&i?ce(u,i):e.dirtyFields:n.keepDefaultValues&&a?ce(u,a):n.keepDirty?e.dirtyFields:{},touchedFields:n.keepTouched?e.touchedFields:{},errors:n.keepErrors?e.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?e.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:u})},ut=(a,n)=>it(Q(a)?a(i):a,{...r.resetOptions,...n}),It=(a,n={})=>{const o=m(s,a),v=o&&o._f;if(v){const _=v.refs?v.refs[0]:v.ref;_.focus&&setTimeout(()=>{_.focus(),n.shouldSelect&&Q(_.select)&&_.select()})}},Pt=a=>{e={...e,...a}},ot={control:{register:ke,unregister:we,getFieldState:tt,handleSubmit:nt,setError:rt,_subscribe:st,_runSchema:q,_updateIsValidating:M,_focusError:Ce,_getWatch:C,_getDirty:E,_setValid:L,_setFieldArray:x,_setDisabledField:at,_setErrors:f,_getFieldArray:W,_reset:it,_resetDefaultValues:()=>Q(r.defaultValues)&&r.defaultValues().then(a=>{ut(a,r.resetOptions),p.state.next({isLoading:!1})}),_removeUnmounted:Ve,_disableForm:Nt,_subjects:p,_proxyFormState:g,get _fields(){return s},get _formValues(){return i},get _state(){return c},set _state(a){c=a},get _defaultValues(){return u},get _names(){return l},set _names(a){l=a},get _formState(){return e},get _options(){return r},set _options(a){r={...r,...a}}},subscribe:Mt,trigger:_e,register:ke,handleSubmit:nt,watch:Ut,setValue:J,getValues:et,reset:ut,resetField:Lt,clearErrors:Ot,unregister:we,setError:rt,setFocus:It,getFieldState:tt};return{...ot,formControl:ot}}var ue=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const t=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=(Math.random()*16+t)%16|0;return(r=="x"?e:e&3|8).toString(16)})},Oe=(t,r,e={})=>e.shouldFocus||U(e.shouldFocus)?e.focusName||`${t}.${U(e.focusIndex)?r:e.focusIndex}.`:"",Ue=(t,r)=>[...t,...K(r)],Me=t=>Array.isArray(t)?t.map(()=>{}):void 0;function Ne(t,r,e){return[...t.slice(0,r),...K(e),...t.slice(r)]}var Le=(t,r,e)=>Array.isArray(t)?(U(t[e])&&(t[e]=void 0),t.splice(e,0,t.splice(r,1)[0]),t):[],Ie=(t,r)=>[...K(r),...K(t)];function lr(t,r){let e=0;const s=[...t];for(const u of r)s.splice(u-e,1),e++;return Se(s).length?s:[]}var Pe=(t,r)=>U(r)?[]:lr(t,K(r).sort((e,s)=>e-s)),Be=(t,r,e)=>{[t[r],t[e]]=[t[e],t[r]]},Vt=(t,r,e)=>(t[r]=e,t);function cr(t){const r=ve(),{control:e=r.control,name:s,keyName:u="id",shouldUnregister:i,rules:c}=t,[l,F]=h.useState(e._getFieldArray(s)),V=h.useRef(e._getFieldArray(s).map(ue)),w=h.useRef(!1);e._names.array.add(s),h.useMemo(()=>c&&l.length>=0&&e.register(s,c),[e,s,l.length,c]),Ee(()=>e._subjects.array.subscribe({next:({values:f,name:d})=>{if(d===s||!d){const A=m(f,s);Array.isArray(A)&&(F(A),V.current=A.map(ue))}}}).unsubscribe,[e,s]);const g=h.useCallback(f=>{w.current=!0,e._setFieldArray(s,f)},[e,s]),S=(f,d)=>{const A=K(N(f)),k=Ue(e._getFieldArray(s),A);e._names.focus=Oe(s,k.length-1,d),V.current=Ue(V.current,A.map(ue)),g(k),F(k),e._setFieldArray(s,k,Ue,{argA:Me(f)})},p=(f,d)=>{const A=K(N(f)),k=Ie(e._getFieldArray(s),A);e._names.focus=Oe(s,0,d),V.current=Ie(V.current,A.map(ue)),g(k),F(k),e._setFieldArray(s,k,Ie,{argA:Me(f)})},I=f=>{const d=Pe(e._getFieldArray(s),f);V.current=Pe(V.current,f),g(d),F(d),!Array.isArray(m(e._fields,s))&&R(e._fields,s,void 0),e._setFieldArray(s,d,Pe,{argA:f})},T=(f,d,A)=>{const k=K(N(d)),q=Ne(e._getFieldArray(s),f,k);e._names.focus=Oe(s,f,A),V.current=Ne(V.current,f,k.map(ue)),g(q),F(q),e._setFieldArray(s,q,Ne,{argA:f,argB:Me(d)})},L=(f,d)=>{const A=e._getFieldArray(s);Be(A,f,d),Be(V.current,f,d),g(A),F(A),e._setFieldArray(s,A,Be,{argA:f,argB:d},!1)},M=(f,d)=>{const A=e._getFieldArray(s);Le(A,f,d),Le(V.current,f,d),g(A),F(A),e._setFieldArray(s,A,Le,{argA:f,argB:d},!1)},x=(f,d)=>{const A=N(d),k=Vt(e._getFieldArray(s),f,A);V.current=[...k].map((q,Y)=>!q||Y===f?ue():V.current[Y]),g(k),F([...k]),e._setFieldArray(s,k,Vt,{argA:f,argB:A},!0,!1)},P=f=>{const d=K(N(f));V.current=d.map(ue),g([...d]),F([...d]),e._setFieldArray(s,[...d],A=>A,{},!0,!1)};return h.useEffect(()=>{if(e._state.action=!1,$e(s,e._names)&&e._subjects.state.next({...e._formState}),w.current&&(!de(e._options.mode).isOnSubmit||e._formState.isSubmitted)&&!de(e._options.reValidateMode).isOnSubmit)if(e._options.resolver)e._runSchema([s]).then(f=>{e._updateIsValidating([s]);const d=m(f.errors,s),A=m(e._formState.errors,s);(A?!d&&A.type||d&&(A.type!==d.type||A.message!==d.message):d&&d.type)&&(d?R(e._formState.errors,s,d):B(e._formState.errors,s),e._subjects.state.next({errors:e._formState.errors}))});else{const f=m(e._fields,s);f&&f._f&&!(de(e._options.reValidateMode).isOnSubmit&&de(e._options.mode).isOnSubmit)&&qe(f,e._names.disabled,e._formValues,e._options.criteriaMode===re.all,e._options.shouldUseNativeValidation,!0).then(d=>!$(d)&&e._subjects.state.next({errors:Dt(e._formState.errors,d,s)}))}e._subjects.state.next({name:s,values:N(e._formValues)}),e._names.focus&&fe(e._fields,(f,d)=>{if(e._names.focus&&d.startsWith(e._names.focus)&&f.focus)return f.focus(),1}),e._names.focus="",e._setValid(),w.current=!1},[l,s,e]),h.useEffect(()=>(!m(e._formValues,s)&&e._setFieldArray(s),()=>{const f=(d,A)=>{const k=m(e._fields,d);k&&k._f&&(k._f.mount=A)};e._options.shouldUnregister||i?e.unregister(s):f(s,!1)}),[s,e,u,i]),{swap:h.useCallback(L,[g,s,e]),move:h.useCallback(M,[g,s,e]),prepend:h.useCallback(p,[g,s,e]),append:h.useCallback(S,[g,s,e]),remove:h.useCallback(I,[g,s,e]),insert:h.useCallback(T,[g,s,e]),update:h.useCallback(x,[g,s,e]),replace:h.useCallback(P,[g,s,e]),fields:h.useMemo(()=>l.map((f,d)=>({...f,[u]:V.current[d]||ue()})),[l,u])}}function dr(t={}){const r=h.useRef(void 0),e=h.useRef(void 0),[s,u]=h.useState({isDirty:!1,isValidating:!1,isLoading:Q(t.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1,isReady:!1,defaultValues:Q(t.defaultValues)?void 0:t.defaultValues});if(!r.current)if(t.formControl)r.current={...t.formControl,formState:s},t.defaultValues&&!Q(t.defaultValues)&&t.formControl.reset(t.defaultValues,t.resetOptions);else{const{formControl:c,...l}=or(t);r.current={...l,formState:s}}const i=r.current.control;return i._options=t,Ee(()=>{const c=i._subscribe({formState:i._proxyFormState,callback:()=>u({...i._formState}),reRenderRoot:!0});return u(l=>({...l,isReady:!0})),i._formState.isReady=!0,c},[i]),h.useEffect(()=>i._disableForm(t.disabled),[i,t.disabled]),h.useEffect(()=>{t.mode&&(i._options.mode=t.mode),t.reValidateMode&&(i._options.reValidateMode=t.reValidateMode)},[i,t.mode,t.reValidateMode]),h.useEffect(()=>{t.errors&&(i._setErrors(t.errors),i._focusError())},[i,t.errors]),h.useEffect(()=>{t.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,t.shouldUnregister]),h.useEffect(()=>{if(i._proxyFormState.isDirty){const c=i._getDirty();c!==s.isDirty&&i._subjects.state.next({isDirty:c})}},[i,s.isDirty]),h.useEffect(()=>{var c;t.values&&!ae(t.values,e.current)?(i._reset(t.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((c=i._options.resetOptions)===null||c===void 0)&&c.keepIsValid||i._setValid(),e.current=t.values,u(l=>({...l}))):i._resetDefaultValues()},[i,t.values]),h.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),r.current.formState=pt(s,i),r.current}const Rt=h.createContext(void 0),fr=({showAsterisk:t,children:r})=>z.jsx(Rt.Provider,{value:{showAsterisk:t},children:r}),yr=()=>{const t=h.useContext(Rt);if(!t)throw new Error("useSuprFormContext must be used within a SuprFormProvider");return t};function Tt(t,r,e){const{conditions:s,operator:u}=e,i=t.reduce((l,F,V)=>(l[F]=r[V],l),{}),c=s.map(l=>{const F=i[l.name];switch(l.operator){case"EQUALS":return F===l.value;case"NOT_EQUALS":return F!==l.value;case"GREATER_THAN":return F>l.value;case"LESS_THAN":return F<l.value;case"GREATER_THAN_OR_EQUAL":return F>=l.value;case"LESS_THAN_OR_EQUAL":return F<=l.value;case"STARTS_WITH":return F.startsWith(l.value);case"ENDS_WITH":return F.endsWith(l.value);case"INCLUDES":return F.includes(l.value);case"NOT_INCLUDES":return!F.includes(l.value);default:return!1}});return u==="AND"?c.every(Boolean):c.some(Boolean)}const mr=({children:t,visibility:r})=>{const e=h.useMemo(()=>typeof r=="boolean"?[]:(r==null?void 0:r.conditions.map(i=>i.name))||[],[r]),s=Ke({name:e});return h.useMemo(()=>typeof r=="boolean"?r:!r||(r==null?void 0:r.conditions.length)===0?!0:Tt(e,s,r),[r,e,s])?t:null},_r=({children:t,disabled:r})=>{const e=h.useMemo(()=>typeof r=="boolean"?[]:(r==null?void 0:r.conditions.map(i=>i.name))||[],[r]),s=Ke({name:e}),u=h.useMemo(()=>typeof r=="boolean"?r:!r||(r==null?void 0:r.conditions.length)===0?!1:Tt(e,s,r),[r,e,s]);return h.cloneElement(t,{...t.props,disabled:u})},Xe=({children:t,name:r,rules:e,className:s="",label:u,id:i,disabled:c,shouldUnregister:l,visibility:F})=>{const{control:V}=ve(),w=t.props.value??"",{showAsterisk:g}=yr(),S=t.props.onChange,p=t.props.onBlur,I=h.useMemo(()=>i||crypto.randomUUID(),[]);return z.jsx(mr,{visibility:F,children:z.jsx(_r,{disabled:c,children:z.jsx(zt,{control:V,name:r,rules:e,defaultValue:w,shouldUnregister:l,render:({field:{name:T,onBlur:L,value:M,onChange:x,ref:P,disabled:f},fieldState:{error:d}})=>z.jsxs("div",{className:`controlled-field ${s}`,style:{display:"flex",flexDirection:"column",gap:"5px"},children:[u&&z.jsxs("label",{htmlFor:I,className:"controlled-field-label",children:[u,g&&!!e&&z.jsx("span",{style:{color:"red"},children:" *"})]}),h.cloneElement(t,{...t.props,id:I,name:T,disabled:f,onChange:(...A)=>{x(...A),S==null||S(...A)},value:M,onBlur:(...A)=>{L(),p==null||p(...A)},ref:P}),d&&z.jsx("div",{style:{color:"red",fontSize:13},className:"controlled-field-error",children:d.message})]})})})})};Xe.displayName="SuprFormControl";const gr=({name:t,rules:r,ref:e,children:s,visibility:u,disabled:i})=>{const c=cr({name:t,rules:r});h.useImperativeHandle(e,()=>c,[c]);const l=(F,V)=>h.Children.map(F,w=>{var I,T;if(!h.isValidElement(w))return w;const g=w.props,S=w.type;if(((S==null?void 0:S.displayName)==="SuprFormControl"||S===Xe||g.name!==void 0&&typeof S!="string")&&g.name!==void 0){const L=u?u[g.name]:void 0,M=L?{...L,conditions:((I=L.conditions)==null?void 0:I.map(d=>({...d,name:`${V}${d.name}`})))||[]}:void 0,x=i?i[g.name]:void 0,P=x?{...x,conditions:((T=x.conditions)==null?void 0:T.map(d=>({...d,name:`${V}${d.name}`})))||[]}:void 0,f={...g,name:`${V}${g.name}`,visibility:M,disabled:P};return g.id!==void 0&&(f.id=`${V}${g.id}`),h.cloneElement(w,f)}return g.children?h.cloneElement(w,{...g,children:l(g.children,V)}):w});return z.jsx(z.Fragment,{children:c.fields.map((F,V)=>{const w=`${t}.${V}.`;return z.jsx("div",{"data-index":V,style:{display:"contents"},id:"field-array-item",children:l(s,w)},w)})})},Ze=({children:t,onSubmit:r=()=>{},onError:e=()=>{},style:s={},className:u="",formOptions:i,showAsterisk:c,ref:l,onChange:F})=>{const V=dr({mode:"onSubmit",reValidateMode:"onChange",shouldFocusError:!0,...i});return h.useImperativeHandle(l,()=>({setValue:V.setValue,setError:V.setError,clearErrors:V.clearErrors,getValues:V.getValues,reset:V.reset,setFocus:V.setFocus,resetField:V.resetField,trigger:V.trigger,unregister:V.unregister,watch:V.watch,handleSubmit:V.handleSubmit}),[V]),h.useEffect(()=>{const w=V.watch(g=>{F==null||F(g)});return()=>w.unsubscribe()},[V.watch]),z.jsx(fr,{showAsterisk:c,children:z.jsx(qt,{...V,children:z.jsx("form",{noValidate:!0,onSubmit:V.handleSubmit(r,e),style:s,className:u,children:t})})})};Ze.Control=Xe;Ze.ControlArray=gr;exports.SuprForm=Ze;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react/jsx-runtime"),g=require("react");var he=t=>t.type==="checkbox",oe=t=>t instanceof Date,z=t=>t==null;const Ft=t=>typeof t=="object";var W=t=>!z(t)&&!Array.isArray(t)&&Ft(t)&&!oe(t),bt=t=>W(t)&&t.target?he(t.target)?t.target.checked:t.target.value:t,Ht=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,At=(t,r)=>t.has(Ht(r)),$t=t=>{const r=t.constructor&&t.constructor.prototype;return W(r)&&r.hasOwnProperty("isPrototypeOf")},Ge=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function U(t){if(t instanceof Date)return new Date(t);const r=typeof FileList<"u"&&t instanceof FileList;if(Ge&&(t instanceof Blob||r))return t;const e=Array.isArray(t);if(!e&&!(W(t)&&$t(t)))return t;const s=e?[]:Object.create(Object.getPrototypeOf(t));for(const u in t)Object.prototype.hasOwnProperty.call(t,u)&&(s[u]=U(t[u]));return s}var xe=t=>/^\w*$/.test(t),L=t=>t===void 0,Se=t=>Array.isArray(t)?t.filter(Boolean):[],Qe=t=>Se(t.replace(/["|']|\]/g,"").split(/\.|\[/)),m=(t,r,e)=>{if(!r||!W(t))return e;const s=(xe(r)?[r]:Qe(r)).reduce((u,i)=>z(u)?u:u[i],t);return L(s)||s===t?L(t[r])?e:t[r]:s},X=t=>typeof t=="boolean",Q=t=>typeof t=="function",O=(t,r,e)=>{let s=-1;const u=xe(r)?[r]:Qe(r),i=u.length,c=i-1;for(;++s<i;){const l=u[s];let F=e;if(s!==c){const v=t[l];F=W(v)||Array.isArray(v)?v:isNaN(+u[s+1])?{}:[]}if(l==="__proto__"||l==="constructor"||l==="prototype")return;t[l]=F,t=t[l]}};const be={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},re={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ne={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ze=g.createContext(null);ze.displayName="HookFormContext";const ve=()=>g.useContext(ze),qt=t=>{const{children:r,...e}=t;return g.createElement(ze.Provider,{value:e},r)};var pt=(t,r,e,s=!0)=>{const u={defaultValues:r._defaultValues};for(const i in t)Object.defineProperty(u,i,{get:()=>{const c=i;return r._proxyFormState[c]!==re.all&&(r._proxyFormState[c]=!s||re.all),e&&(e[c]=!0),t[c]}});return u};const Ee=typeof window<"u"?g.useLayoutEffect:g.useEffect;function Gt(t){const r=ve(),{control:e=r.control,disabled:s,name:u,exact:i}=t||{},[c,l]=g.useState(e._formState),F=g.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ee(()=>e._subscribe({name:u,formState:F.current,exact:i,callback:v=>{!s&&l({...e._formState,...v})}}),[u,s,i]),g.useEffect(()=>{F.current.isValid&&e._setValid(!0)},[e]),g.useMemo(()=>pt(c,e,F.current,!1),[c,e])}var Z=t=>typeof t=="string",je=(t,r,e,s,u)=>Z(t)?(s&&r.watch.add(t),m(e,t,u)):Array.isArray(t)?t.map(i=>(s&&r.watch.add(i),m(e,i))):(s&&(r.watchAll=!0),e),We=t=>z(t)||!Ft(t);function ae(t,r,e=new WeakSet){if(We(t)||We(r))return Object.is(t,r);if(oe(t)&&oe(r))return t.getTime()===r.getTime();const s=Object.keys(t),u=Object.keys(r);if(s.length!==u.length)return!1;if(e.has(t)||e.has(r))return!0;e.add(t),e.add(r);for(const i of s){const c=t[i];if(!u.includes(i))return!1;if(i!=="ref"){const l=r[i];if(oe(c)&&oe(l)||W(c)&&W(l)||Array.isArray(c)&&Array.isArray(l)?!ae(c,l,e):!Object.is(c,l))return!1}}return!0}function Ke(t){const r=ve(),{control:e=r.control,name:s,defaultValue:u,disabled:i,exact:c,compute:l}=t||{},F=g.useRef(u),v=g.useRef(l),k=g.useRef(void 0),h=g.useRef(e),S=g.useRef(s);v.current=l;const[p,I]=g.useState(()=>{const f=e._getWatch(s,F.current);return v.current?v.current(f):f}),R=g.useCallback(f=>{const d=je(s,e._names,f||e._formValues,!1,F.current);return v.current?v.current(d):d},[e._formValues,e._names,s]),T=g.useCallback(f=>{if(!i){const d=je(s,e._names,f||e._formValues,!1,F.current);if(v.current){const A=v.current(d);ae(A,k.current)||(I(A),k.current=A)}else I(d)}},[e._formValues,e._names,i,s]);Ee(()=>((h.current!==e||!ae(S.current,s))&&(h.current=e,S.current=s,T()),e._subscribe({name:s,formState:{values:!0},exact:c,callback:f=>{T(f.values)}})),[e,c,s,T]),g.useEffect(()=>e._removeUnmounted());const N=h.current!==e,x=S.current,B=g.useMemo(()=>{if(i)return null;const f=!N&&!ae(x,s);return N||f?R():null},[i,N,s,x,R]);return B!==null?B:p}function Qt(t){const r=ve(),{name:e,disabled:s,control:u=r.control,shouldUnregister:i,defaultValue:c,exact:l=!0}=t,F=At(u._names.array,e),v=g.useMemo(()=>m(u._formValues,e,m(u._defaultValues,e,c)),[u,e,c]),k=Ke({control:u,name:e,defaultValue:v,exact:l}),h=Gt({control:u,name:e,exact:l}),S=g.useRef(t),p=g.useRef(void 0),I=g.useRef(u.register(e,{...t.rules,value:k,...X(t.disabled)?{disabled:t.disabled}:{}}));S.current=t;const R=g.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!m(h.errors,e)},isDirty:{enumerable:!0,get:()=>!!m(h.dirtyFields,e)},isTouched:{enumerable:!0,get:()=>!!m(h.touchedFields,e)},isValidating:{enumerable:!0,get:()=>!!m(h.validatingFields,e)},error:{enumerable:!0,get:()=>m(h.errors,e)}}),[h,e]),T=g.useCallback(f=>I.current.onChange({target:{value:bt(f),name:e},type:be.CHANGE}),[e]),N=g.useCallback(()=>I.current.onBlur({target:{value:m(u._formValues,e),name:e},type:be.BLUR}),[e,u._formValues]),x=g.useCallback(f=>{const d=m(u._fields,e);d&&d._f&&f&&(d._f.ref={focus:()=>Q(f.focus)&&f.focus(),select:()=>Q(f.select)&&f.select(),setCustomValidity:A=>Q(f.setCustomValidity)&&f.setCustomValidity(A),reportValidity:()=>Q(f.reportValidity)&&f.reportValidity()})},[u._fields,e]),B=g.useMemo(()=>({name:e,value:k,...X(s)||h.disabled?{disabled:h.disabled||s}:{},onChange:T,onBlur:N,ref:x}),[e,s,h.disabled,T,N,x,k]);return g.useEffect(()=>{const f=u._options.shouldUnregister||i,d=p.current;d&&d!==e&&!F&&u.unregister(d),u.register(e,{...S.current.rules,...X(S.current.disabled)?{disabled:S.current.disabled}:{}});const A=(w,j)=>{const Y=m(u._fields,w);Y&&Y._f&&(Y._f.mount=j)};if(A(e,!0),f){const w=U(m(u._options.defaultValues,e,S.current.defaultValue));O(u._defaultValues,e,w),L(m(u._formValues,e))&&O(u._formValues,e,w)}return!F&&u.register(e),p.current=e,()=>{(F?f&&!u._state.action:f)?u.unregister(e):A(e,!1)}},[e,u,F,i]),g.useEffect(()=>{u._setDisabledField({disabled:s,name:e})},[s,e,u]),g.useMemo(()=>({field:B,formState:h,fieldState:R}),[B,h,R])}const zt=t=>t.render(Qt(t));var Kt=(t,r,e,s,u)=>r?{...e[t],types:{...e[t]&&e[t].types?e[t].types:{},[s]:u||!0}}:{},K=t=>Array.isArray(t)?t:[t],dt=()=>{let t=[];return{get observers(){return t},next:u=>{for(const i of t)i.next&&i.next(u)},subscribe:u=>(t.push(u),{unsubscribe:()=>{t=t.filter(i=>i!==u)}}),unsubscribe:()=>{t=[]}}};function xt(t,r){const e={};for(const s in t)if(t.hasOwnProperty(s)){const u=t[s],i=r[s];if(u&&W(u)&&i){const c=xt(u,i);W(c)&&(e[s]=c)}else t[s]&&(e[s]=i)}return e}var q=t=>W(t)&&!Object.keys(t).length,Ye=t=>t.type==="file",Ae=t=>{if(!Ge)return!1;const r=t?t.ownerDocument:0;return t instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},St=t=>t.type==="select-multiple",Je=t=>t.type==="radio",Yt=t=>Je(t)||he(t),Oe=t=>Ae(t)&&t.isConnected;function Jt(t,r){const e=r.slice(0,-1).length;let s=0;for(;s<e;)t=L(t)?s++:t[r[s++]];return t}function Xt(t){for(const r in t)if(t.hasOwnProperty(r)&&!L(t[r]))return!1;return!0}function P(t,r){const e=Array.isArray(r)?r:xe(r)?[r]:Qe(r),s=e.length===1?t:Jt(t,e),u=e.length-1,i=e[u];return s&&delete s[i],u!==0&&(W(s)&&q(s)||Array.isArray(s)&&Xt(s))&&P(t,e.slice(0,-1)),t}var Zt=t=>{for(const r in t)if(Q(t[r]))return!0;return!1};function Et(t){return Array.isArray(t)||W(t)&&!Zt(t)}function He(t,r={}){for(const e in t){const s=t[e];Et(s)?(r[e]=Array.isArray(s)?[]:{},He(s,r[e])):L(s)||(r[e]=!0)}return r}function ce(t,r,e){e||(e=He(r));for(const s in t){const u=t[s];if(Et(u))L(r)||We(e[s])?e[s]=He(u,Array.isArray(u)?[]:{}):ce(u,z(r)?{}:r[s],e[s]);else{const i=r[s];e[s]=!ae(u,i)}}return e}const ft={value:!1,isValid:!1},yt={value:!0,isValid:!0};var wt=t=>{if(Array.isArray(t)){if(t.length>1){const r=t.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:r,isValid:!!r.length}}return t[0].checked&&!t[0].disabled?t[0].attributes&&!L(t[0].attributes.value)?L(t[0].value)||t[0].value===""?yt:{value:t[0].value,isValid:!0}:yt:ft}return ft},kt=(t,{valueAsNumber:r,valueAsDate:e,setValueAs:s})=>L(t)?t:r?t===""?NaN:t&&+t:e&&Z(t)?new Date(t):s?s(t):t;const mt={isValid:!1,value:null};var Ct=t=>Array.isArray(t)?t.reduce((r,e)=>e&&e.checked&&!e.disabled?{isValid:!0,value:e.value}:r,mt):mt;function _t(t){const r=t.ref;return Ye(r)?r.files:Je(r)?Ct(t.refs).value:St(r)?[...r.selectedOptions].map(({value:e})=>e):he(r)?wt(t.refs).value:kt(L(r.value)?t.ref.value:r.value,t)}var er=(t,r,e,s)=>{const u={};for(const i of t){const c=m(r,i);c&&O(u,i,c._f)}return{criteriaMode:e,names:[...t],fields:u,shouldUseNativeValidation:s}},pe=t=>t instanceof RegExp,ge=t=>L(t)?t:pe(t)?t.source:W(t)?pe(t.value)?t.value.source:t.value:t,de=t=>({isOnSubmit:!t||t===re.onSubmit,isOnBlur:t===re.onBlur,isOnChange:t===re.onChange,isOnAll:t===re.all,isOnTouch:t===re.onTouched});const gt="AsyncFunction";var tr=t=>!!t&&!!t.validate&&!!(Q(t.validate)&&t.validate.constructor.name===gt||W(t.validate)&&Object.values(t.validate).find(r=>r.constructor.name===gt)),rr=t=>t.mount&&(t.required||t.min||t.max||t.maxLength||t.minLength||t.pattern||t.validate),$e=(t,r,e)=>!e&&(r.watchAll||r.watch.has(t)||[...r.watch].some(s=>t.startsWith(s)&&/^\.\w+/.test(t.slice(s.length))));const fe=(t,r,e,s)=>{for(const u of e||Object.keys(t)){const i=m(t,u);if(i){const{_f:c,...l}=i;if(c){if(c.refs&&c.refs[0]&&r(c.refs[0],u)&&!s)return!0;if(c.ref&&r(c.ref,c.name)&&!s)return!0;if(fe(l,r))break}else if(W(l)&&fe(l,r))break}}};function ht(t,r,e){const s=m(t,e);if(s||xe(e))return{error:s,name:e};const u=e.split(".");for(;u.length;){const i=u.join("."),c=m(r,i),l=m(t,i);if(c&&!Array.isArray(c)&&e!==i)return{name:e};if(l&&l.type)return{name:i,error:l};if(l&&l.root&&l.root.type)return{name:`${i}.root`,error:l.root};u.pop()}return{name:e}}var sr=(t,r,e,s)=>{e(t);const{name:u,...i}=t;return q(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(c=>r[c]===(!s||re.all))},ar=(t,r,e)=>!t||!r||t===r||K(t).some(s=>s&&(e?s===r:s.startsWith(r)||r.startsWith(s))),nr=(t,r,e,s,u)=>u.isOnAll?!1:!e&&u.isOnTouch?!(r||t):(e?s.isOnBlur:u.isOnBlur)?!t:(e?s.isOnChange:u.isOnChange)?t:!0,ir=(t,r)=>!Se(m(t,r)).length&&P(t,r),Dt=(t,r,e)=>{const s=K(m(t,e));return O(s,"root",r[e]),O(t,e,s),t};function vt(t,r,e="validate"){if(Z(t)||Array.isArray(t)&&t.every(Z)||X(t)&&!t)return{type:e,message:Z(t)?t:"",ref:r}}var le=t=>W(t)&&!pe(t)?t:{value:t,message:""},qe=async(t,r,e,s,u,i)=>{const{ref:c,refs:l,required:F,maxLength:v,minLength:k,min:h,max:S,pattern:p,validate:I,name:R,valueAsNumber:T,mount:N}=t._f,x=m(e,R);if(!N||r.has(R))return{};const B=l?l[0]:c,f=E=>{u&&B.reportValidity&&(B.setCustomValidity(X(E)?"":E||""),B.reportValidity())},d={},A=Je(c),w=he(c),j=A||w,Y=(T||Ye(c))&&L(c.value)&&L(x)||Ae(c)&&c.value===""||x===""||Array.isArray(x)&&!x.length,ee=Kt.bind(null,R,s,d),Ve=(E,C,H,$=ne.maxLength,se=ne.minLength)=>{const J=E?C:H;d[R]={type:E?$:se,message:J,ref:c,...ee(E?$:se,J)}};if(i?!Array.isArray(x)||!x.length:F&&(!j&&(Y||z(x))||X(x)&&!x||w&&!wt(l).isValid||A&&!Ct(l).isValid)){const{value:E,message:C}=Z(F)?{value:!!F,message:F}:le(F);if(E&&(d[R]={type:ne.required,message:C,ref:B,...ee(ne.required,C)},!s))return f(C),d}if(!Y&&(!z(h)||!z(S))){let E,C;const H=le(S),$=le(h);if(!z(x)&&!isNaN(x)){const se=c.valueAsNumber||x&&+x;z(H.value)||(E=se>H.value),z($.value)||(C=se<$.value)}else{const se=c.valueAsDate||new Date(x),J=_e=>new Date(new Date().toDateString()+" "+_e),ye=c.type=="time",me=c.type=="week";Z(H.value)&&x&&(E=ye?J(x)>J(H.value):me?x>H.value:se>new Date(H.value)),Z($.value)&&x&&(C=ye?J(x)<J($.value):me?x<$.value:se<new Date($.value))}if((E||C)&&(Ve(!!E,H.message,$.message,ne.max,ne.min),!s))return f(d[R].message),d}if((v||k)&&!Y&&(Z(x)||i&&Array.isArray(x))){const E=le(v),C=le(k),H=!z(E.value)&&x.length>+E.value,$=!z(C.value)&&x.length<+C.value;if((H||$)&&(Ve(H,E.message,C.message),!s))return f(d[R].message),d}if(p&&!Y&&Z(x)){const{value:E,message:C}=le(p);if(pe(E)&&!x.match(E)&&(d[R]={type:ne.pattern,message:C,ref:c,...ee(ne.pattern,C)},!s))return f(C),d}if(I){if(Q(I)){const E=await I(x,e),C=vt(E,B);if(C&&(d[R]={...C,...ee(ne.validate,C.message)},!s))return f(C.message),d}else if(W(I)){let E={};for(const C in I){if(!q(E)&&!s)break;const H=vt(await I[C](x,e),B,C);H&&(E={...H,...ee(C,H.message)},f(H.message),s&&(d[R]=E))}if(!q(E)&&(d[R]={ref:B,...E},!s))return d}}return f(!0),d};const ur={mode:re.onSubmit,reValidateMode:re.onChange,shouldFocusError:!0};function or(t={}){let r={...ur,...t},e={submitCount:0,isDirty:!1,isReady:!1,isLoading:Q(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},u=W(r.defaultValues)||W(r.values)?U(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:U(u),c={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},F,v=0;const k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={...k};let S={...h};const p={array:dt(),state:dt()},I=r.criteriaMode===re.all,R=a=>n=>{clearTimeout(v),v=setTimeout(a,n)},T=async a=>{if(!c.keepIsValid&&!r.disabled&&(h.isValid||S.isValid||a)){let n;r.resolver?(n=q((await j()).errors),N()):n=await ee(s,!0),n!==e.isValid&&p.state.next({isValid:n})}},N=(a,n)=>{!r.disabled&&(h.isValidating||h.validatingFields||S.isValidating||S.validatingFields)&&((a||Array.from(l.mount)).forEach(o=>{o&&(n?O(e.validatingFields,o,n):P(e.validatingFields,o))}),p.state.next({validatingFields:e.validatingFields,isValidating:!q(e.validatingFields)}))},x=(a,n=[],o,V,_=!0,y=!0)=>{if(V&&o&&!r.disabled){if(c.action=!0,y&&Array.isArray(m(s,a))){const b=o(m(s,a),V.argA,V.argB);_&&O(s,a,b)}if(y&&Array.isArray(m(e.errors,a))){const b=o(m(e.errors,a),V.argA,V.argB);_&&O(e.errors,a,b),ir(e.errors,a)}if((h.touchedFields||S.touchedFields)&&y&&Array.isArray(m(e.touchedFields,a))){const b=o(m(e.touchedFields,a),V.argA,V.argB);_&&O(e.touchedFields,a,b)}(h.dirtyFields||S.dirtyFields)&&(e.dirtyFields=ce(u,i)),p.state.next({name:a,isDirty:E(a,n),dirtyFields:e.dirtyFields,errors:e.errors,isValid:e.isValid})}else O(i,a,n)},B=(a,n)=>{O(e.errors,a,n),p.state.next({errors:e.errors})},f=a=>{e.errors=a,p.state.next({errors:e.errors,isValid:!1})},d=(a,n,o,V)=>{const _=m(s,a);if(_){const y=m(i,a,L(o)?m(u,a):o);L(y)||V&&V.defaultChecked||n?O(i,a,n?y:_t(_._f)):$(a,y),c.mount&&!c.action&&T()}},A=(a,n,o,V,_)=>{let y=!1,b=!1;const D={name:a};if(!r.disabled){if(!o||V){(h.isDirty||S.isDirty)&&(b=e.isDirty,e.isDirty=D.isDirty=E(),y=b!==D.isDirty);const M=ae(m(u,a),n);b=!!m(e.dirtyFields,a),M?P(e.dirtyFields,a):O(e.dirtyFields,a,!0),D.dirtyFields=e.dirtyFields,y=y||(h.dirtyFields||S.dirtyFields)&&b!==!M}if(o){const M=m(e.touchedFields,a);M||(O(e.touchedFields,a,o),D.touchedFields=e.touchedFields,y=y||(h.touchedFields||S.touchedFields)&&M!==o)}y&&_&&p.state.next(D)}return y?D:{}},w=(a,n,o,V)=>{const _=m(e.errors,a),y=(h.isValid||S.isValid)&&X(n)&&e.isValid!==n;if(r.delayError&&o?(F=R(()=>B(a,o)),F(r.delayError)):(clearTimeout(v),F=null,o?O(e.errors,a,o):P(e.errors,a)),(o?!ae(_,o):_)||!q(V)||y){const b={...V,...y&&X(n)?{isValid:n}:{},errors:e.errors,name:a};e={...e,...b},p.state.next(b)}},j=async a=>(N(a,!0),await r.resolver(i,r.context,er(a||l.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),Y=async a=>{const{errors:n}=await j(a);if(N(a),a)for(const o of a){const V=m(n,o);V?O(e.errors,o,V):P(e.errors,o)}else e.errors=n;return n},ee=async(a,n,o={valid:!0})=>{for(const V in a){const _=a[V];if(_){const{_f:y,...b}=_;if(y){const D=l.array.has(y.name),M=_._f&&tr(_._f);M&&h.validatingFields&&N([y.name],!0);const te=await qe(_,l.disabled,i,I,r.shouldUseNativeValidation&&!n,D);if(M&&h.validatingFields&&N([y.name]),te[y.name]&&(o.valid=!1,n))break;!n&&(m(te,y.name)?D?Dt(e.errors,te,y.name):O(e.errors,y.name,te[y.name]):P(e.errors,y.name))}!q(b)&&await ee(b,n,o)}}return o.valid},Ve=()=>{for(const a of l.unMount){const n=m(s,a);n&&(n._f.refs?n._f.refs.every(o=>!Oe(o)):!Oe(n._f.ref))&&we(a)}l.unMount=new Set},E=(a,n)=>!r.disabled&&(a&&n&&O(i,a,n),!ae(et(),u)),C=(a,n,o)=>je(a,l,{...c.mount?i:L(n)?u:Z(a)?{[a]:n}:n},o,n),H=a=>Se(m(c.mount?i:u,a,r.shouldUnregister?m(u,a,[]):[])),$=(a,n,o={})=>{const V=m(s,a);let _=n;if(V){const y=V._f;y&&(!y.disabled&&O(i,a,kt(n,y)),_=Ae(y.ref)&&z(n)?"":n,St(y.ref)?[...y.ref.options].forEach(b=>b.selected=_.includes(b.value)):y.refs?he(y.ref)?y.refs.forEach(b=>{(!b.defaultChecked||!b.disabled)&&(Array.isArray(_)?b.checked=!!_.find(D=>D===b.value):b.checked=_===b.value||!!_)}):y.refs.forEach(b=>b.checked=b.value===_):Ye(y.ref)?y.ref.value="":(y.ref.value=_,y.ref.type||p.state.next({name:a,values:U(i)})))}(o.shouldDirty||o.shouldTouch)&&A(a,_,o.shouldTouch,o.shouldDirty,!0),o.shouldValidate&&_e(a)},se=(a,n,o)=>{for(const V in n){if(!n.hasOwnProperty(V))return;const _=n[V],y=a+"."+V,b=m(s,y);(l.array.has(a)||W(_)||b&&!b._f)&&!oe(_)?se(y,_,o):$(y,_,o)}},J=(a,n,o={})=>{const V=m(s,a),_=l.array.has(a),y=U(n);O(i,a,y),_?(p.array.next({name:a,values:U(i)}),(h.isDirty||h.dirtyFields||S.isDirty||S.dirtyFields)&&o.shouldDirty&&p.state.next({name:a,dirtyFields:ce(u,i),isDirty:E(a,y)})):V&&!V._f&&!z(y)?se(a,y,o):$(a,y,o),$e(a,l)&&p.state.next({...e,name:a}),p.state.next({name:c.mount?a:void 0,values:U(i)})},ye=async a=>{c.mount=!0;const n=a.target;let o=n.name,V=!0;const _=m(s,o),y=M=>{V=Number.isNaN(M)||oe(M)&&isNaN(M.getTime())||ae(M,m(i,o,M))},b=de(r.mode),D=de(r.reValidateMode);if(_){let M,te;const Fe=n.type?_t(_._f):bt(a),ie=a.type===be.BLUR||a.type===be.FOCUS_OUT,Pt=!rr(_._f)&&!r.resolver&&!m(e.errors,o)&&!_._f.deps||nr(ie,m(e.touchedFields,o),e.isSubmitted,D,b),De=$e(o,l,ie);O(i,o,Fe),ie?(!n||!n.readOnly)&&(_._f.onBlur&&_._f.onBlur(a),F&&F(0)):_._f.onChange&&_._f.onChange(a);const Te=A(o,Fe,ie),jt=!q(Te)||De;if(!ie&&p.state.next({name:o,type:a.type,values:U(i)}),Pt)return(h.isValid||S.isValid)&&(r.mode==="onBlur"?ie&&T():ie||T()),jt&&p.state.next({name:o,...De?{}:Te});if(!ie&&De&&p.state.next({...e}),r.resolver){const{errors:lt}=await j([o]);if(N([o]),y(Fe),V){const Wt=ht(e.errors,s,o),ct=ht(lt,s,Wt.name||o);M=ct.error,o=ct.name,te=q(lt)}}else N([o],!0),M=(await qe(_,l.disabled,i,I,r.shouldUseNativeValidation))[o],N([o]),y(Fe),V&&(M?te=!1:(h.isValid||S.isValid)&&(te=await ee(s,!0)));V&&(_._f.deps&&(!Array.isArray(_._f.deps)||_._f.deps.length>0)&&_e(_._f.deps),w(o,te,M,Te))}},me=(a,n)=>{if(m(e.errors,n)&&a.focus)return a.focus(),1},_e=async(a,n={})=>{let o,V;const _=K(a);if(r.resolver){const y=await Y(L(a)?a:_);o=q(y),V=a?!_.some(b=>m(y,b)):o}else a?(V=(await Promise.all(_.map(async y=>{const b=m(s,y);return await ee(b&&b._f?{[y]:b}:b)}))).every(Boolean),!(!V&&!e.isValid)&&T()):V=o=await ee(s);return p.state.next({...!Z(a)||(h.isValid||S.isValid)&&o!==e.isValid?{}:{name:a},...r.resolver||!a?{isValid:o}:{},errors:e.errors}),n.shouldFocus&&!V&&fe(s,me,a?_:l.mount),V},et=(a,n)=>{let o={...c.mount?i:u};return n&&(o=xt(n.dirtyFields?e.dirtyFields:e.touchedFields,o)),L(a)?o:Z(a)?m(o,a):a.map(V=>m(o,V))},tt=(a,n)=>({invalid:!!m((n||e).errors,a),isDirty:!!m((n||e).dirtyFields,a),error:m((n||e).errors,a),isValidating:!!m(e.validatingFields,a),isTouched:!!m((n||e).touchedFields,a)}),Rt=a=>{a&&K(a).forEach(n=>P(e.errors,n)),p.state.next({errors:a?e.errors:{}})},rt=(a,n,o)=>{const V=(m(s,a,{_f:{}})._f||{}).ref,_=m(e.errors,a)||{},{ref:y,message:b,type:D,...M}=_;O(e.errors,a,{...M,...n,ref:V}),p.state.next({name:a,errors:e.errors,isValid:!1}),o&&o.shouldFocus&&V&&V.focus&&V.focus()},Mt=(a,n)=>Q(a)?p.state.subscribe({next:o=>"values"in o&&a(C(void 0,n),o)}):C(a,n,!0),st=a=>p.state.subscribe({next:n=>{ar(a.name,n.name,a.exact)&&sr(n,a.formState||h,Bt,a.reRenderRoot)&&a.callback({values:{...i},...e,...n,defaultValues:u})}}).unsubscribe,Lt=a=>(c.mount=!0,S={...S,...a.formState},st({...a,formState:{...k,...a.formState}})),we=(a,n={})=>{for(const o of a?K(a):l.mount)l.mount.delete(o),l.array.delete(o),n.keepValue||(P(s,o),P(i,o)),!n.keepError&&P(e.errors,o),!n.keepDirty&&P(e.dirtyFields,o),!n.keepTouched&&P(e.touchedFields,o),!n.keepIsValidating&&P(e.validatingFields,o),!r.shouldUnregister&&!n.keepDefaultValue&&P(u,o);p.state.next({values:U(i)}),p.state.next({...e,...n.keepDirty?{isDirty:E()}:{}}),!n.keepIsValid&&T()},at=({disabled:a,name:n})=>{(X(a)&&c.mount||a||l.disabled.has(n))&&(a?l.disabled.add(n):l.disabled.delete(n))},ke=(a,n={})=>{let o=m(s,a);const V=X(n.disabled)||X(r.disabled);return O(s,a,{...o||{},_f:{...o&&o._f?o._f:{ref:{name:a}},name:a,mount:!0,...n}}),l.mount.add(a),o?at({disabled:X(n.disabled)?n.disabled:r.disabled,name:a}):d(a,!0,n.value),{...V?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:ge(n.min),max:ge(n.max),minLength:ge(n.minLength),maxLength:ge(n.maxLength),pattern:ge(n.pattern)}:{},name:a,onChange:ye,onBlur:ye,ref:_=>{if(_){ke(a,n),o=m(s,a);const y=L(_.value)&&_.querySelectorAll&&_.querySelectorAll("input,select,textarea")[0]||_,b=Yt(y),D=o._f.refs||[];if(b?D.find(M=>M===y):y===o._f.ref)return;O(s,a,{_f:{...o._f,...b?{refs:[...D.filter(Oe),y,...Array.isArray(m(u,a))?[{}]:[]],ref:{type:y.type,name:a}}:{ref:y}}}),d(a,!1,void 0,y)}else o=m(s,a,{}),o._f&&(o._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(At(l.array,a)&&c.action)&&l.unMount.add(a)}}},Ce=()=>r.shouldFocusError&&fe(s,me,l.mount),Nt=a=>{X(a)&&(p.state.next({disabled:a}),fe(s,(n,o)=>{const V=m(s,o);V&&(n.disabled=V._f.disabled||a,Array.isArray(V._f.refs)&&V._f.refs.forEach(_=>{_.disabled=V._f.disabled||a}))},0,!1))},nt=(a,n)=>async o=>{let V;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let _=U(i);if(p.state.next({isSubmitting:!0}),r.resolver){const{errors:y,values:b}=await j();N(),e.errors=y,_=U(b)}else await ee(s);if(l.disabled.size)for(const y of l.disabled)P(_,y);if(P(e.errors,"root"),q(e.errors)){p.state.next({errors:{}});try{await a(_,o)}catch(y){V=y}}else n&&await n({...e.errors},o),Ce(),setTimeout(Ce);if(p.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:q(e.errors)&&!V,submitCount:e.submitCount+1,errors:e.errors}),V)throw V},Ut=(a,n={})=>{m(s,a)&&(L(n.defaultValue)?J(a,U(m(u,a))):(J(a,n.defaultValue),O(u,a,U(n.defaultValue))),n.keepTouched||P(e.touchedFields,a),n.keepDirty||(P(e.dirtyFields,a),e.isDirty=n.defaultValue?E(a,U(m(u,a))):E()),n.keepError||(P(e.errors,a),h.isValid&&T()),p.state.next({...e}))},it=(a,n={})=>{const o=a?U(a):u,V=U(o),_=q(a),y=_?u:V;if(n.keepDefaultValues||(u=o),!n.keepValues){if(n.keepDirtyValues){const b=new Set([...l.mount,...Object.keys(ce(u,i))]);for(const D of Array.from(b))m(e.dirtyFields,D)?O(y,D,m(i,D)):J(D,m(y,D))}else{if(Ge&&L(a))for(const b of l.mount){const D=m(s,b);if(D&&D._f){const M=Array.isArray(D._f.refs)?D._f.refs[0]:D._f.ref;if(Ae(M)){const te=M.closest("form");if(te){te.reset();break}}}}if(n.keepFieldsRef)for(const b of l.mount)J(b,m(y,b));else s={}}i=r.shouldUnregister?n.keepDefaultValues?U(u):{}:U(y),p.array.next({values:{...y}}),p.state.next({values:{...y}})}l={mount:n.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!h.isValid||!!n.keepIsValid||!!n.keepDirtyValues||!r.shouldUnregister&&!q(y),c.watch=!!r.shouldUnregister,c.keepIsValid=!!n.keepIsValid,c.action=!1,n.keepErrors||(e.errors={}),p.state.next({submitCount:n.keepSubmitCount?e.submitCount:0,isDirty:_?!1:n.keepDirty?e.isDirty:!!(n.keepDefaultValues&&!ae(a,u)),isSubmitted:n.keepIsSubmitted?e.isSubmitted:!1,dirtyFields:_?{}:n.keepDirtyValues?n.keepDefaultValues&&i?ce(u,i):e.dirtyFields:n.keepDefaultValues&&a?ce(u,a):n.keepDirty?e.dirtyFields:{},touchedFields:n.keepTouched?e.touchedFields:{},errors:n.keepErrors?e.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?e.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:u})},ut=(a,n)=>it(Q(a)?a(i):a,{...r.resetOptions,...n}),It=(a,n={})=>{const o=m(s,a),V=o&&o._f;if(V){const _=V.refs?V.refs[0]:V.ref;_.focus&&setTimeout(()=>{_.focus(),n.shouldSelect&&Q(_.select)&&_.select()})}},Bt=a=>{e={...e,...a}},ot={control:{register:ke,unregister:we,getFieldState:tt,handleSubmit:nt,setError:rt,_subscribe:st,_runSchema:j,_updateIsValidating:N,_focusError:Ce,_getWatch:C,_getDirty:E,_setValid:T,_setFieldArray:x,_setDisabledField:at,_setErrors:f,_getFieldArray:H,_reset:it,_resetDefaultValues:()=>Q(r.defaultValues)&&r.defaultValues().then(a=>{ut(a,r.resetOptions),p.state.next({isLoading:!1})}),_removeUnmounted:Ve,_disableForm:Nt,_subjects:p,_proxyFormState:h,get _fields(){return s},get _formValues(){return i},get _state(){return c},set _state(a){c=a},get _defaultValues(){return u},get _names(){return l},set _names(a){l=a},get _formState(){return e},get _options(){return r},set _options(a){r={...r,...a}}},subscribe:Lt,trigger:_e,register:ke,handleSubmit:nt,watch:Mt,setValue:J,getValues:et,reset:ut,resetField:Ut,clearErrors:Rt,unregister:we,setError:rt,setFocus:It,getFieldState:tt};return{...ot,formControl:ot}}var ue=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const t=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=(Math.random()*16+t)%16|0;return(r=="x"?e:e&3|8).toString(16)})},Re=(t,r,e={})=>e.shouldFocus||L(e.shouldFocus)?e.focusName||`${t}.${L(e.focusIndex)?r:e.focusIndex}.`:"",Me=(t,r)=>[...t,...K(r)],Le=t=>Array.isArray(t)?t.map(()=>{}):void 0;function Ne(t,r,e){return[...t.slice(0,r),...K(e),...t.slice(r)]}var Ue=(t,r,e)=>Array.isArray(t)?(L(t[e])&&(t[e]=void 0),t.splice(e,0,t.splice(r,1)[0]),t):[],Ie=(t,r)=>[...K(r),...K(t)];function lr(t,r){let e=0;const s=[...t];for(const u of r)s.splice(u-e,1),e++;return Se(s).length?s:[]}var Be=(t,r)=>L(r)?[]:lr(t,K(r).sort((e,s)=>e-s)),Pe=(t,r,e)=>{[t[r],t[e]]=[t[e],t[r]]},Vt=(t,r,e)=>(t[r]=e,t);function cr(t){const r=ve(),{control:e=r.control,name:s,keyName:u="id",shouldUnregister:i,rules:c}=t,[l,F]=g.useState(e._getFieldArray(s)),v=g.useRef(e._getFieldArray(s).map(ue)),k=g.useRef(!1);e._names.array.add(s),g.useMemo(()=>c&&l.length>=0&&e.register(s,c),[e,s,l.length,c]),Ee(()=>e._subjects.array.subscribe({next:({values:f,name:d})=>{if(d===s||!d){const A=m(f,s);Array.isArray(A)&&(F(A),v.current=A.map(ue))}}}).unsubscribe,[e,s]);const h=g.useCallback(f=>{k.current=!0,e._setFieldArray(s,f)},[e,s]),S=(f,d)=>{const A=K(U(f)),w=Me(e._getFieldArray(s),A);e._names.focus=Re(s,w.length-1,d),v.current=Me(v.current,A.map(ue)),h(w),F(w),e._setFieldArray(s,w,Me,{argA:Le(f)})},p=(f,d)=>{const A=K(U(f)),w=Ie(e._getFieldArray(s),A);e._names.focus=Re(s,0,d),v.current=Ie(v.current,A.map(ue)),h(w),F(w),e._setFieldArray(s,w,Ie,{argA:Le(f)})},I=f=>{const d=Be(e._getFieldArray(s),f);v.current=Be(v.current,f),h(d),F(d),!Array.isArray(m(e._fields,s))&&O(e._fields,s,void 0),e._setFieldArray(s,d,Be,{argA:f})},R=(f,d,A)=>{const w=K(U(d)),j=Ne(e._getFieldArray(s),f,w);e._names.focus=Re(s,f,A),v.current=Ne(v.current,f,w.map(ue)),h(j),F(j),e._setFieldArray(s,j,Ne,{argA:f,argB:Le(d)})},T=(f,d)=>{const A=e._getFieldArray(s);Pe(A,f,d),Pe(v.current,f,d),h(A),F(A),e._setFieldArray(s,A,Pe,{argA:f,argB:d},!1)},N=(f,d)=>{const A=e._getFieldArray(s);Ue(A,f,d),Ue(v.current,f,d),h(A),F(A),e._setFieldArray(s,A,Ue,{argA:f,argB:d},!1)},x=(f,d)=>{const A=U(d),w=Vt(e._getFieldArray(s),f,A);v.current=[...w].map((j,Y)=>!j||Y===f?ue():v.current[Y]),h(w),F([...w]),e._setFieldArray(s,w,Vt,{argA:f,argB:A},!0,!1)},B=f=>{const d=K(U(f));v.current=d.map(ue),h([...d]),F([...d]),e._setFieldArray(s,[...d],A=>A,{},!0,!1)};return g.useEffect(()=>{if(e._state.action=!1,$e(s,e._names)&&e._subjects.state.next({...e._formState}),k.current&&(!de(e._options.mode).isOnSubmit||e._formState.isSubmitted)&&!de(e._options.reValidateMode).isOnSubmit)if(e._options.resolver)e._runSchema([s]).then(f=>{e._updateIsValidating([s]);const d=m(f.errors,s),A=m(e._formState.errors,s);(A?!d&&A.type||d&&(A.type!==d.type||A.message!==d.message):d&&d.type)&&(d?O(e._formState.errors,s,d):P(e._formState.errors,s),e._subjects.state.next({errors:e._formState.errors}))});else{const f=m(e._fields,s);f&&f._f&&!(de(e._options.reValidateMode).isOnSubmit&&de(e._options.mode).isOnSubmit)&&qe(f,e._names.disabled,e._formValues,e._options.criteriaMode===re.all,e._options.shouldUseNativeValidation,!0).then(d=>!q(d)&&e._subjects.state.next({errors:Dt(e._formState.errors,d,s)}))}e._subjects.state.next({name:s,values:U(e._formValues)}),e._names.focus&&fe(e._fields,(f,d)=>{if(e._names.focus&&d.startsWith(e._names.focus)&&f.focus)return f.focus(),1}),e._names.focus="",e._setValid(),k.current=!1},[l,s,e]),g.useEffect(()=>(!m(e._formValues,s)&&e._setFieldArray(s),()=>{const f=(d,A)=>{const w=m(e._fields,d);w&&w._f&&(w._f.mount=A)};e._options.shouldUnregister||i?e.unregister(s):f(s,!1)}),[s,e,u,i]),{swap:g.useCallback(T,[h,s,e]),move:g.useCallback(N,[h,s,e]),prepend:g.useCallback(p,[h,s,e]),append:g.useCallback(S,[h,s,e]),remove:g.useCallback(I,[h,s,e]),insert:g.useCallback(R,[h,s,e]),update:g.useCallback(x,[h,s,e]),replace:g.useCallback(B,[h,s,e]),fields:g.useMemo(()=>l.map((f,d)=>({...f,[u]:v.current[d]||ue()})),[l,u])}}function dr(t={}){const r=g.useRef(void 0),e=g.useRef(void 0),[s,u]=g.useState({isDirty:!1,isValidating:!1,isLoading:Q(t.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1,isReady:!1,defaultValues:Q(t.defaultValues)?void 0:t.defaultValues});if(!r.current)if(t.formControl)r.current={...t.formControl,formState:s},t.defaultValues&&!Q(t.defaultValues)&&t.formControl.reset(t.defaultValues,t.resetOptions);else{const{formControl:c,...l}=or(t);r.current={...l,formState:s}}const i=r.current.control;return i._options=t,Ee(()=>{const c=i._subscribe({formState:i._proxyFormState,callback:()=>u({...i._formState}),reRenderRoot:!0});return u(l=>({...l,isReady:!0})),i._formState.isReady=!0,c},[i]),g.useEffect(()=>i._disableForm(t.disabled),[i,t.disabled]),g.useEffect(()=>{t.mode&&(i._options.mode=t.mode),t.reValidateMode&&(i._options.reValidateMode=t.reValidateMode)},[i,t.mode,t.reValidateMode]),g.useEffect(()=>{t.errors&&(i._setErrors(t.errors),i._focusError())},[i,t.errors]),g.useEffect(()=>{t.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,t.shouldUnregister]),g.useEffect(()=>{if(i._proxyFormState.isDirty){const c=i._getDirty();c!==s.isDirty&&i._subjects.state.next({isDirty:c})}},[i,s.isDirty]),g.useEffect(()=>{var c;t.values&&!ae(t.values,e.current)?(i._reset(t.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((c=i._options.resetOptions)===null||c===void 0)&&c.keepIsValid||i._setValid(),e.current=t.values,u(l=>({...l}))):i._resetDefaultValues()},[i,t.values]),g.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),r.current.formState=pt(s,i),r.current}const Tt=g.createContext(void 0),fr=({showAsterisk:t,children:r})=>G.jsx(Tt.Provider,{value:{showAsterisk:t},children:r}),yr=()=>{const t=g.useContext(Tt);if(!t)throw new Error("useSuprFormContext must be used within a SuprFormProvider");return t};function Ot(t,r,e){const{conditions:s,operator:u}=e,i=t.reduce((l,F,v)=>(l[F]=r[v],l),{}),c=s.map(l=>{const F=i[l.name];switch(l.operator){case"EQUALS":return F===l.value;case"NOT_EQUALS":return F!==l.value;case"GREATER_THAN":return F>l.value;case"LESS_THAN":return F<l.value;case"GREATER_THAN_OR_EQUAL":return F>=l.value;case"LESS_THAN_OR_EQUAL":return F<=l.value;case"STARTS_WITH":return F.startsWith(l.value);case"ENDS_WITH":return F.endsWith(l.value);case"INCLUDES":return F.includes(l.value);case"NOT_INCLUDES":return!F.includes(l.value);default:return!1}});return u==="AND"?c.every(Boolean):c.some(Boolean)}const mr=({children:t,visibility:r})=>{const e=g.useMemo(()=>typeof r=="boolean"?[]:(r==null?void 0:r.conditions.map(i=>i.name))||[],[r]),s=Ke({name:e});return g.useMemo(()=>typeof r=="boolean"?r:!r||(r==null?void 0:r.conditions.length)===0?!0:Ot(e,s,r),[r,e,s])?t:null},_r=({children:t,disabled:r})=>{const e=g.useMemo(()=>typeof r=="boolean"?[]:(r==null?void 0:r.conditions.map(i=>i.name))||[],[r]),s=Ke({name:e}),u=g.useMemo(()=>typeof r=="boolean"?r:!r||(r==null?void 0:r.conditions.length)===0?!1:Ot(e,s,r),[r,e,s]);return g.cloneElement(t,{...t.props,disabled:u})},Xe=({children:t,name:r,rules:e,className:s="",label:u,id:i,disabled:c,shouldUnregister:l,visibility:F,description:v})=>{const{control:k}=ve(),h=t.props.value??"",{showAsterisk:S}=yr(),p=t.props.onChange,I=t.props.onBlur,R=g.useMemo(()=>i||crypto.randomUUID(),[]),T=g.useMemo(()=>{if(v)return typeof v=="string"?{position:"LABEL_BOTTOM",text:v}:v},[v]);return G.jsx(mr,{visibility:F,children:G.jsx(_r,{disabled:c,children:G.jsx(zt,{control:k,name:r,rules:e,defaultValue:h,shouldUnregister:l,render:({field:{name:N,onBlur:x,value:B,onChange:f,ref:d,disabled:A},fieldState:{error:w}})=>G.jsxs("div",{className:`controlled-field ${s}`,style:{display:"flex",flexDirection:"column",gap:"5px"},children:[G.jsxs("div",{className:"controlled-field-description",style:{display:"inline-flex",...T&&{gap:"2px",alignItems:"center",flexDirection:T.position==="LABEL_RIGHT"?"row":"column"}},children:[u&&G.jsxs("label",{htmlFor:R,className:"controlled-field-label",children:[u,S&&!!e&&G.jsx("span",{style:{color:"red"},children:" *"})]}),T&&T.position!=="CONTROL_BOTTOM"&&G.jsx("span",{style:{color:"#a1a1a1",fontSize:12},children:T.text})]}),g.cloneElement(t,{...t.props,id:R,name:N,disabled:A,onChange:(...j)=>{f(...j),p==null||p(...j)},value:B,onBlur:(...j)=>{x(),I==null||I(...j)},ref:d}),w&&G.jsx("div",{style:{color:"red",fontSize:13},className:"controlled-field-error",children:w.message})]})})})})};Xe.displayName="SuprFormControl";const gr=({name:t,rules:r,ref:e,children:s,visibility:u,disabled:i})=>{const c=cr({name:t,rules:r});g.useImperativeHandle(e,()=>c,[c]);const l=(F,v)=>g.Children.map(F,k=>{var I,R;if(!g.isValidElement(k))return k;const h=k.props,S=k.type;if(((S==null?void 0:S.displayName)==="SuprFormControl"||S===Xe||h.name!==void 0&&typeof S!="string")&&h.name!==void 0){const T=u?u[h.name]:void 0,N=T?{...T,conditions:((I=T.conditions)==null?void 0:I.map(d=>({...d,name:`${v}${d.name}`})))||[]}:void 0,x=i?i[h.name]:void 0,B=x?{...x,conditions:((R=x.conditions)==null?void 0:R.map(d=>({...d,name:`${v}${d.name}`})))||[]}:void 0,f={...h,name:`${v}${h.name}`,visibility:N,disabled:B};return h.id!==void 0&&(f.id=`${v}${h.id}`),g.cloneElement(k,f)}return h.children?g.cloneElement(k,{...h,children:l(h.children,v)}):k});return G.jsx(G.Fragment,{children:c.fields.map((F,v)=>{const k=`${t}.${v}.`;return G.jsx("div",{"data-index":v,style:{display:"contents"},id:"field-array-item",children:l(s,k)},k)})})},Ze=({children:t,onSubmit:r=()=>{},onError:e=()=>{},style:s={},className:u="",formOptions:i,showAsterisk:c,ref:l,onChange:F})=>{const v=dr({mode:"onSubmit",reValidateMode:"onChange",shouldFocusError:!0,...i});return g.useImperativeHandle(l,()=>({setValue:v.setValue,setError:v.setError,clearErrors:v.clearErrors,getValues:v.getValues,reset:v.reset,setFocus:v.setFocus,resetField:v.resetField,trigger:v.trigger,unregister:v.unregister,watch:v.watch,handleSubmit:v.handleSubmit}),[v]),g.useEffect(()=>{const k=v.watch(h=>{F==null||F(h)});return()=>k.unsubscribe()},[v.watch]),G.jsx(fr,{showAsterisk:c,children:G.jsx(qt,{...v,children:G.jsx("form",{noValidate:!0,onSubmit:v.handleSubmit(r,e),style:s,className:u,children:t})})})};Ze.Control=Xe;Ze.ControlArray=gr;exports.SuprForm=Ze;
2
2
  //# sourceMappingURL=suprform.cjs.js.map