suprform 1.0.6 → 1.0.8

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