suprform 1.2.1 → 1.3.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/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 +351 -364
- package/dist/suprform.es.js.map +1 -1
- package/dist/type.d.ts +2 -4
- package/dist/type.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuprForm.d.ts","sourceRoot":"","sources":["../../src/components/SuprForm.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI3D,QAAA,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"SuprForm.d.ts","sourceRoot":"","sources":["../../src/components/SuprForm.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI3D,QAAA,MAAM,QAAQ,EAAE,iBAqDf,CAAC;AAKF,eAAe,QAAQ,CAAC"}
|
package/dist/suprform.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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 h=t[l];F=W(h)||Array.isArray(h)?h: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:h=>{!s&&l({...e._formState,...h})}}),[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),h=g.useRef(l),k=g.useRef(void 0),v=g.useRef(e),S=g.useRef(s);h.current=l;const[p,I]=g.useState(()=>{const f=e._getWatch(s,F.current);return h.current?h.current(f):f}),R=g.useCallback(f=>{const d=je(s,e._names,f||e._formValues,!1,F.current);return h.current?h.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(h.current){const A=h.current(d);ae(A,k.current)||(I(A),k.current=A)}else I(d)}},[e._formValues,e._names,i,s]);Ee(()=>((v.current!==e||!ae(S.current,s))&&(v.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=v.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),h=g.useMemo(()=>m(u._formValues,e,m(u._defaultValues,e,c)),[u,e,c]),k=Ke({control:u,name:e,defaultValue:h,exact:l}),v=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(v.errors,e)},isDirty:{enumerable:!0,get:()=>!!m(v.dirtyFields,e)},isTouched:{enumerable:!0,get:()=>!!m(v.touchedFields,e)},isValidating:{enumerable:!0,get:()=>!!m(v.validatingFields,e)},error:{enumerable:!0,get:()=>m(v.errors,e)}}),[v,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)||v.disabled?{disabled:v.disabled||s}:{},onChange:T,onBlur:N,ref:x}),[e,s,v.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:v,fieldState:R}),[B,v,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:h,minLength:k,min:v,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(v)||!z(S))){let E,C;const H=le(S),$=le(v);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((h||k)&&!Y&&(Z(x)||i&&Array.isArray(x))){const E=le(h),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,h=0;const k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},v={...k};let S={...v};const p={array:dt(),state:dt()},I=r.criteriaMode===re.all,R=a=>n=>{clearTimeout(h),h=setTimeout(a,n)},T=async a=>{if(!c.keepIsValid&&!r.disabled&&(v.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&&(v.isValidating||v.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((v.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)}(v.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){(v.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||(v.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||(v.touchedFields||S.touchedFields)&&M!==o)}y&&_&&p.state.next(D)}return y?D:{}},w=(a,n,o,V)=>{const _=m(e.errors,a),y=(v.isValid||S.isValid)&&X(n)&&e.isValid!==n;if(r.delayError&&o?(F=R(()=>B(a,o)),F(r.delayError)):(clearTimeout(h),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&&v.validatingFields&&N([y.name],!0);const te=await qe(_,l.disabled,i,I,r.shouldUseNativeValidation&&!n,D);if(M&&v.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)}),(v.isDirty||v.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(v.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:(v.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)||(v.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||v,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),v.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=!v.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:v,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)),h=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),h.current=A.map(ue))}}}).unsubscribe,[e,s]);const v=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),h.current=Me(h.current,A.map(ue)),v(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),h.current=Ie(h.current,A.map(ue)),v(w),F(w),e._setFieldArray(s,w,Ie,{argA:Le(f)})},I=f=>{const d=Be(e._getFieldArray(s),f);h.current=Be(h.current,f),v(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),h.current=Ne(h.current,f,w.map(ue)),v(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(h.current,f,d),v(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(h.current,f,d),v(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);h.current=[...w].map((j,Y)=>!j||Y===f?ue():h.current[Y]),v(w),F([...w]),e._setFieldArray(s,w,Vt,{argA:f,argB:A},!0,!1)},B=f=>{const d=K(U(f));h.current=d.map(ue),v([...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,[v,s,e]),move:g.useCallback(N,[v,s,e]),prepend:g.useCallback(p,[v,s,e]),append:g.useCallback(S,[v,s,e]),remove:g.useCallback(I,[v,s,e]),insert:g.useCallback(R,[v,s,e]),update:g.useCallback(x,[v,s,e]),replace:g.useCallback(B,[v,s,e]),fields:g.useMemo(()=>l.map((f,d)=>({...f,[u]:h.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,h)=>(l[F]=r[h],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:h})=>{const{control:k}=ve(),v=t.props.value??"",{showAsterisk:S}=yr(),p=t.props.onChange,I=t.props.onBlur,R=g.useMemo(()=>i||crypto.randomUUID(),[]),T=g.useMemo(()=>{if(h)return typeof h=="string"?{position:"LABEL_BOTTOM",text:h}:h},[h]);return G.jsx(mr,{visibility:F,children:G.jsx(_r,{disabled:c,children:G.jsx(zt,{control:k,name:r,rules:e,defaultValue:v,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,h)=>g.Children.map(F,k=>{var I,R;if(!g.isValidElement(k))return k;const v=k.props,S=k.type;if(((S==null?void 0:S.displayName)==="SuprFormControl"||S===Xe||v.name!==void 0&&typeof S!="string")&&v.name!==void 0){const T=u?u[v.name]:void 0,N=T?{...T,conditions:((I=T.conditions)==null?void 0:I.map(d=>({...d,name:`${h}${d.name}`})))||[]}:void 0,x=i?i[v.name]:void 0,B=x?{...x,conditions:((R=x.conditions)==null?void 0:R.map(d=>({...d,name:`${h}${d.name}`})))||[]}:void 0,f={...v,name:`${h}${v.name}`,visibility:N,disabled:B};return v.id!==void 0&&(f.id=`${h}${v.id}`),g.cloneElement(k,f)}return v.children?g.cloneElement(k,{...v,children:l(v.children,h)}):k});return G.jsx(G.Fragment,{children:c.fields.map((F,h)=>{const k=`${t}.${h}.`;return G.jsx("div",{"data-index":h,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 h=dr({mode:"onSubmit",reValidateMode:"onChange",shouldFocusError:!0,...i});return g.useImperativeHandle(l,()=>({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,formState:h.formState}),[h]),g.useEffect(()=>{const k=h.watch(v=>{F==null||F(v)});return()=>k.unsubscribe()},[h.watch]),G.jsx(fr,{showAsterisk:c,children:G.jsx(qt,{...h,children:G.jsx("form",{noValidate:!0,onSubmit:h.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),N=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 N(s)||s===t?N(t[r])?e:t[r]:s},X=t=>typeof t=="boolean",Q=t=>typeof t=="function",T=(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 V=e;if(s!==c){const F=t[l];V=W(F)||Array.isArray(F)?F:isNaN(+u[s+1])?{}:[]}if(l==="__proto__"||l==="constructor"||l==="prototype")return;t[l]=V,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),V=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:V.current,exact:i,callback:F=>{!s&&l({...e._formState,...F})}}),[u,s,i]),g.useEffect(()=>{V.current.isValid&&e._setValid(!0)},[e]),g.useMemo(()=>pt(c,e,V.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 Je(t){const r=ve(),{control:e=r.control,name:s,defaultValue:u,disabled:i,exact:c,compute:l}=t||{},V=g.useRef(u),F=g.useRef(l),C=g.useRef(void 0),h=g.useRef(e),S=g.useRef(s);F.current=l;const[p,I]=g.useState(()=>{const f=e._getWatch(s,V.current);return F.current?F.current(f):f}),R=g.useCallback(f=>{const d=je(s,e._names,f||e._formValues,!1,V.current);return F.current?F.current(d):d},[e._formValues,e._names,s]),O=g.useCallback(f=>{if(!i){const d=je(s,e._names,f||e._formValues,!1,V.current);if(F.current){const A=F.current(d);ae(A,C.current)||(I(A),C.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,O()),e._subscribe({name:s,formState:{values:!0},exact:c,callback:f=>{O(f.values)}})),[e,c,s,O]),g.useEffect(()=>e._removeUnmounted());const L=h.current!==e,x=S.current,B=g.useMemo(()=>{if(i)return null;const f=!L&&!ae(x,s);return L||f?R():null},[i,L,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,V=At(u._names.array,e),F=g.useMemo(()=>m(u._formValues,e,m(u._defaultValues,e,c)),[u,e,c]),C=Je({control:u,name:e,defaultValue:F,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:C,...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]),O=g.useCallback(f=>I.current.onChange({target:{value:bt(f),name:e},type:be.CHANGE}),[e]),L=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:C,...X(s)||h.disabled?{disabled:h.disabled||s}:{},onChange:O,onBlur:L,ref:x}),[e,s,h.disabled,O,L,x,C]);return g.useEffect(()=>{const f=u._options.shouldUnregister||i,d=p.current;d&&d!==e&&!V&&u.unregister(d),u.register(e,{...S.current.rules,...X(S.current.disabled)?{disabled:S.current.disabled}:{}});const A=(w,j)=>{const K=m(u._fields,w);K&&K._f&&(K._f.mount=j)};if(A(e,!0),f){const w=U(m(u._options.defaultValues,e,S.current.defaultValue));T(u._defaultValues,e,w),N(m(u._formValues,e))&&T(u._formValues,e,w)}return!V&&u.register(e),p.current=e,()=>{(V?f&&!u._state.action:f)?u.unregister(e):A(e,!1)}},[e,u,V,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 Jt=(t,r,e,s,u)=>r?{...e[t],types:{...e[t]&&e[t].types?e[t].types:{},[s]:u||!0}}:{},J=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,Ke=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",Ye=t=>t.type==="radio",Kt=t=>Ye(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=N(t)?s++:t[r[s++]];return t}function Xt(t){for(const r in t)if(t.hasOwnProperty(r)&&!N(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:Yt(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])):N(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))N(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&&!N(t[0].attributes.value)?N(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})=>N(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 Ke(r)?r.files:Ye(r)?Ct(t.refs).value:St(r)?[...r.selectedOptions].map(({value:e})=>e):he(r)?wt(t.refs).value:kt(N(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&&T(u,i,c._f)}return{criteriaMode:e,names:[...t],fields:u,shouldUseNativeValidation:s}},pe=t=>t instanceof RegExp,ge=t=>N(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||J(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=J(m(t,e));return T(s,"root",r[e]),T(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:V,maxLength:F,minLength:C,min:h,max:S,pattern:p,validate:I,name:R,valueAsNumber:O,mount:L}=t._f,x=m(e,R);if(!L||r.has(R))return{};const B=l?l[0]:c,f=E=>{u&&B.reportValidity&&(B.setCustomValidity(X(E)?"":E||""),B.reportValidity())},d={},A=Ye(c),w=he(c),j=A||w,K=(O||Ke(c))&&N(c.value)&&N(x)||Ae(c)&&c.value===""||x===""||Array.isArray(x)&&!x.length,ee=Jt.bind(null,R,s,d),Ve=(E,k,H,$=ne.maxLength,se=ne.minLength)=>{const Y=E?k:H;d[R]={type:E?$:se,message:Y,ref:c,...ee(E?$:se,Y)}};if(i?!Array.isArray(x)||!x.length:V&&(!j&&(K||z(x))||X(x)&&!x||w&&!wt(l).isValid||A&&!Ct(l).isValid)){const{value:E,message:k}=Z(V)?{value:!!V,message:V}:le(V);if(E&&(d[R]={type:ne.required,message:k,ref:B,...ee(ne.required,k)},!s))return f(k),d}if(!K&&(!z(h)||!z(S))){let E,k;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)||(k=se<$.value)}else{const se=c.valueAsDate||new Date(x),Y=_e=>new Date(new Date().toDateString()+" "+_e),ye=c.type=="time",me=c.type=="week";Z(H.value)&&x&&(E=ye?Y(x)>Y(H.value):me?x>H.value:se>new Date(H.value)),Z($.value)&&x&&(k=ye?Y(x)<Y($.value):me?x<$.value:se<new Date($.value))}if((E||k)&&(Ve(!!E,H.message,$.message,ne.max,ne.min),!s))return f(d[R].message),d}if((F||C)&&!K&&(Z(x)||i&&Array.isArray(x))){const E=le(F),k=le(C),H=!z(E.value)&&x.length>+E.value,$=!z(k.value)&&x.length<+k.value;if((H||$)&&(Ve(H,E.message,k.message),!s))return f(d[R].message),d}if(p&&!K&&Z(x)){const{value:E,message:k}=le(p);if(pe(E)&&!x.match(E)&&(d[R]={type:ne.pattern,message:k,ref:c,...ee(ne.pattern,k)},!s))return f(k),d}if(I){if(Q(I)){const E=await I(x,e),k=vt(E,B);if(k&&(d[R]={...k,...ee(ne.validate,k.message)},!s))return f(k.message),d}else if(W(I)){let E={};for(const k in I){if(!q(E)&&!s)break;const H=vt(await I[k](x,e),B,k);H&&(E={...H,...ee(k,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},V,F=0;const C={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={...C};let S={...h};const p={array:dt(),state:dt()},I=r.criteriaMode===re.all,R=a=>n=>{clearTimeout(F),F=setTimeout(a,n)},O=async a=>{if(!c.keepIsValid&&!r.disabled&&(h.isValid||S.isValid||a)){let n;r.resolver?(n=q((await j()).errors),L()):n=await ee(s,!0),n!==e.isValid&&p.state.next({isValid:n})}},L=(a,n)=>{!r.disabled&&(h.isValidating||h.validatingFields||S.isValidating||S.validatingFields)&&((a||Array.from(l.mount)).forEach(o=>{o&&(n?T(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);_&&T(s,a,b)}if(y&&Array.isArray(m(e.errors,a))){const b=o(m(e.errors,a),v.argA,v.argB);_&&T(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);_&&T(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 T(i,a,n)},B=(a,n)=>{T(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,N(o)?m(u,a):o);N(y)||v&&v.defaultChecked||n?T(i,a,n?y:_t(_._f)):$(a,y),c.mount&&!c.action&&O()}},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):T(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||(T(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?(V=R(()=>B(a,o)),V(r.delayError)):(clearTimeout(F),V=null,o?T(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=>(L(a,!0),await r.resolver(i,r.context,er(a||l.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),K=async a=>{const{errors:n}=await j(a);if(L(a),a)for(const o of a){const v=m(n,o);v?T(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&&L([y.name],!0);const te=await qe(_,l.disabled,i,I,r.shouldUseNativeValidation&&!n,D);if(M&&h.validatingFields&&L([y.name]),te[y.name]&&(o.valid=!1,n))break;!n&&(m(te,y.name)?D?Dt(e.errors,te,y.name):T(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=>!Te(o)):!Te(n._f.ref))&&we(a)}l.unMount=new Set},E=(a,n)=>!r.disabled&&(a&&n&&T(i,a,n),!ae(et(),u)),k=(a,n,o)=>je(a,l,{...c.mount?i:N(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&&T(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===_):Ke(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)}},Y=(a,n,o={})=>{const v=m(s,a),_=l.array.has(a),y=U(n);T(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);T(i,o,Fe),ie?(!n||!n.readOnly)&&(_._f.onBlur&&_._f.onBlur(a),V&&V(0)):_._f.onChange&&_._f.onChange(a);const Oe=A(o,Fe,ie),jt=!q(Oe)||De;if(!ie&&p.state.next({name:o,type:a.type,values:U(i)}),Pt)return(h.isValid||S.isValid)&&(r.mode==="onBlur"?ie&&O():ie||O()),jt&&p.state.next({name:o,...De?{}:Oe});if(!ie&&De&&p.state.next({...e}),r.resolver){const{errors:lt}=await j([o]);if(L([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 L([o],!0),M=(await qe(_,l.disabled,i,I,r.shouldUseNativeValidation))[o],L([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,Oe))}},me=(a,n)=>{if(m(e.errors,n)&&a.focus)return a.focus(),1},_e=async(a,n={})=>{let o,v;const _=J(a);if(r.resolver){const y=await K(N(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)&&O()):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)),N(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&&J(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}=_;T(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(k(void 0,n),o)}):k(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,Nt=a=>(c.mount=!0,S={...S,...a.formState},st({...a,formState:{...C,...a.formState}})),we=(a,n={})=>{for(const o of a?J(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&&O()},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 T(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=N(_.value)&&_.querySelectorAll&&_.querySelectorAll("input,select,textarea")[0]||_,b=Kt(y),D=o._f.refs||[];if(b?D.find(M=>M===y):y===o._f.ref)return;T(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),Lt=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();L(),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)&&(N(n.defaultValue)?Y(a,U(m(u,a))):(Y(a,n.defaultValue),T(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&&O()),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)?T(y,D,m(i,D)):Y(D,m(y,D))}else{if(Ge&&N(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)Y(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:L,_focusError:Ce,_getWatch:k,_getDirty:E,_setValid:O,_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:Lt,_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:Nt,trigger:_e,register:ke,handleSubmit:nt,watch:Mt,setValue:Y,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||N(e.shouldFocus)?e.focusName||`${t}.${N(e.focusIndex)?r:e.focusIndex}.`:"",Me=(t,r)=>[...t,...J(r)],Ne=t=>Array.isArray(t)?t.map(()=>{}):void 0;function Le(t,r,e){return[...t.slice(0,r),...J(e),...t.slice(r)]}var Ue=(t,r,e)=>Array.isArray(t)?(N(t[e])&&(t[e]=void 0),t.splice(e,0,t.splice(r,1)[0]),t):[],Ie=(t,r)=>[...J(r),...J(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)=>N(r)?[]:lr(t,J(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,V]=g.useState(e._getFieldArray(s)),F=g.useRef(e._getFieldArray(s).map(ue)),C=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)&&(V(A),F.current=A.map(ue))}}}).unsubscribe,[e,s]);const h=g.useCallback(f=>{C.current=!0,e._setFieldArray(s,f)},[e,s]),S=(f,d)=>{const A=J(U(f)),w=Me(e._getFieldArray(s),A);e._names.focus=Re(s,w.length-1,d),F.current=Me(F.current,A.map(ue)),h(w),V(w),e._setFieldArray(s,w,Me,{argA:Ne(f)})},p=(f,d)=>{const A=J(U(f)),w=Ie(e._getFieldArray(s),A);e._names.focus=Re(s,0,d),F.current=Ie(F.current,A.map(ue)),h(w),V(w),e._setFieldArray(s,w,Ie,{argA:Ne(f)})},I=f=>{const d=Be(e._getFieldArray(s),f);F.current=Be(F.current,f),h(d),V(d),!Array.isArray(m(e._fields,s))&&T(e._fields,s,void 0),e._setFieldArray(s,d,Be,{argA:f})},R=(f,d,A)=>{const w=J(U(d)),j=Le(e._getFieldArray(s),f,w);e._names.focus=Re(s,f,A),F.current=Le(F.current,f,w.map(ue)),h(j),V(j),e._setFieldArray(s,j,Le,{argA:f,argB:Ne(d)})},O=(f,d)=>{const A=e._getFieldArray(s);Pe(A,f,d),Pe(F.current,f,d),h(A),V(A),e._setFieldArray(s,A,Pe,{argA:f,argB:d},!1)},L=(f,d)=>{const A=e._getFieldArray(s);Ue(A,f,d),Ue(F.current,f,d),h(A),V(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);F.current=[...w].map((j,K)=>!j||K===f?ue():F.current[K]),h(w),V([...w]),e._setFieldArray(s,w,Vt,{argA:f,argB:A},!0,!1)},B=f=>{const d=J(U(f));F.current=d.map(ue),h([...d]),V([...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}),C.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?T(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(),C.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(O,[h,s,e]),move:g.useCallback(L,[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]:F.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 Ot=g.createContext(void 0),fr=({showAsterisk:t,children:r})=>G.jsx(Ot.Provider,{value:{showAsterisk:t},children:r}),yr=()=>{const t=g.useContext(Ot);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,V,F)=>(l[V]=r[F],l),{}),c=s.map(l=>{const V=i[l.name];switch(l.operator){case"EQUALS":return V===l.value;case"NOT_EQUALS":return V!==l.value;case"GREATER_THAN":return V>l.value;case"LESS_THAN":return V<l.value;case"GREATER_THAN_OR_EQUAL":return V>=l.value;case"LESS_THAN_OR_EQUAL":return V<=l.value;case"STARTS_WITH":return V.startsWith(l.value);case"ENDS_WITH":return V.endsWith(l.value);case"INCLUDES":return V.includes(l.value);case"NOT_INCLUDES":return!V.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=Je({name:e});return g.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=g.useMemo(()=>typeof r=="boolean"?[]:(r==null?void 0:r.conditions.map(i=>i.name))||[],[r]),s=Je({name:e}),u=g.useMemo(()=>typeof r=="boolean"?r:!r||(r==null?void 0:r.conditions.length)===0?!1:Tt(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:V,description:F})=>{const{control:C}=ve(),h=t.props.value??"",{showAsterisk:S}=yr(),p=t.props.onChange,I=t.props.onBlur,R=g.useMemo(()=>i||crypto.randomUUID(),[]),O=g.useMemo(()=>{if(F)return typeof F=="string"?{position:"LABEL_BOTTOM",text:F}:F},[F]);return G.jsx(mr,{visibility:V,children:G.jsx(_r,{disabled:c,children:G.jsx(zt,{control:C,name:r,rules:e,defaultValue:h,shouldUnregister:l,render:({field:{name:L,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",...O&&{gap:"2px",alignItems:"center",flexDirection:O.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:" *"})]}),O&&O.position!=="CONTROL_BOTTOM"&&G.jsx("span",{style:{color:"#a1a1a1",fontSize:12},children:O.text})]}),g.cloneElement(t,{...t.props,id:R,name:L,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,[JSON.stringify(c)]);const l=(V,F)=>g.Children.map(V,C=>{var I,R;if(!g.isValidElement(C))return C;const h=C.props,S=C.type;if(((S==null?void 0:S.displayName)==="SuprFormControl"||S===Xe||h.name!==void 0&&typeof S!="string")&&h.name!==void 0){const O=u?u[h.name]:void 0,L=O?{...O,conditions:((I=O.conditions)==null?void 0:I.map(d=>({...d,name:`${F}${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:`${F}${d.name}`})))||[]}:void 0,f={...h,name:`${F}${h.name}`,visibility:L,disabled:B};return h.id!==void 0&&(f.id=`${F}${h.id}`),g.cloneElement(C,f)}return h.children?g.cloneElement(C,{...h,children:l(h.children,F)}):C});return G.jsx(G.Fragment,{children:c.fields.map((V,F)=>{const C=`${t}.${F}.`;return G.jsx("div",{"data-index":F,style:{display:"contents"},id:"field-array-item",children:l(s,C)},C)})})},Ze=({children:t,style:r={},className:e="",formOptions:s,showAsterisk:u,ref:i,onChange:c})=>{const l=dr({mode:"onSubmit",reValidateMode:"onChange",shouldFocusError:!0,...s});return g.useImperativeHandle(i,()=>({setValue:l.setValue,setError:l.setError,clearErrors:l.clearErrors,getValues:l.getValues,reset:l.reset,setFocus:l.setFocus,resetField:l.resetField,trigger:l.trigger,unregister:l.unregister,watch:l.watch,handleSubmit:l.handleSubmit,formState:l.formState}),[JSON.stringify(l)]),g.useEffect(()=>{const V=l.watch(F=>{c==null||c(F)});return()=>V.unsubscribe()},[l.watch]),G.jsx(fr,{showAsterisk:u,children:G.jsx(qt,{...l,children:G.jsx("div",{style:r,className:e,children:t})})})};Ze.Control=Xe;Ze.ControlArray=gr;exports.SuprForm=Ze;
|
|
2
2
|
//# sourceMappingURL=suprform.cjs.js.map
|