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