react-hook-form 6.15.5-beta.0 → 6.15.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.
- package/dist/index.cjs.development.js +3 -5
- package/dist/index.cjs.development.js.map +1 -1
- package/dist/index.cjs.production.min.js +1 -1
- package/dist/index.cjs.production.min.js.map +1 -1
- package/dist/index.esm.js +3 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/index.ie11.development.js +3 -5
- package/dist/index.ie11.development.js.map +1 -1
- package/dist/index.ie11.production.min.js +1 -1
- package/dist/index.ie11.production.min.js.map +1 -1
- package/dist/index.umd.development.js +3 -5
- package/dist/index.umd.development.js.map +1 -1
- package/dist/index.umd.production.min.js +1 -1
- package/dist/index.umd.production.min.js.map +1 -1
- package/package.json +1 -1
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=e=>e instanceof HTMLElement;const t="blur",n="change",s="input",c="onBlur",u="onChange",i="onSubmit",a="onTouched",o="all",l="max",f="min",d="maxLength",y="minLength",g="pattern",b="required",m="validate";var h=e=>null==e;const v=e=>"object"==typeof e;var p=e=>!h(e)&&!Array.isArray(e)&&v(e)&&!(e instanceof Date),O=e=>/^\w*$/.test(e),A=e=>e.filter(Boolean),R=e=>A(e.replace(/["|']/g,"").replace(/\[/g,".").replace(/\]/g,"").split("."));function V(e,r,t){let n=-1;const s=O(r)?[r]:R(r),c=s.length,u=c-1;for(;++n<c;){const r=s[n];let c=t;if(n!==u){const t=e[r];c=p(t)||Array.isArray(t)?t:isNaN(+s[n+1])?{}:[]}e[r]=c,e=e[r]}return e}var j=(e,r={})=>{for(const t in e)O(t)?r[t]=e[t]:V(r,t,e[t]);return r},F=e=>void 0===e,C=(e={},r,t)=>{const n=A(r.split(/[,[\].]+?/)).reduce((e,r)=>h(e)?e:e[r],e);return F(n)||n===e?F(e[r])?t:e[r]:n},x=(e,c)=>{r(e)&&e.removeEventListener&&(e.removeEventListener(s,c),e.removeEventListener(n,c),e.removeEventListener(t,c))};const k={isValid:!1,value:null};var S=e=>Array.isArray(e)?e.reduce((e,r)=>r&&r.ref.checked?{isValid:!0,value:r.ref.value}:e,k):k,w=e=>"radio"===e.type,D=e=>"file"===e.type,E=e=>"checkbox"===e.type,B=e=>"select-multiple"===e.type;const N={value:!1,isValid:!1},L={value:!0,isValid:!0};var M=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(e=>e&&e.ref.checked).map(({ref:{value:e}})=>e);return{value:r,isValid:!!r.length}}const{checked:r,value:t,attributes:n}=e[0].ref;return r?n&&!F(n.value)?F(t)||""===t?L:{value:t,isValid:!0}:L:N}return N};function T(e,r,t,n,s){const c=e.current[r];if(c){const{ref:{value:e,disabled:r},ref:t,valueAsNumber:i,valueAsDate:a,setValueAs:o}=c;if(r&&n)return;return D(t)?t.files:w(t)?S(c.options).value:B(t)?(u=t.options,[...u].filter(({selected:e})=>e).map(({value:e})=>e)):E(t)?M(c.options).value:s?e:i?""===e?NaN:+e:a?t.valueAsDate:o?o(e):e}var u;if(t)return C(t.current,r)}function W(e){return!e||e instanceof HTMLElement&&e.nodeType!==Node.DOCUMENT_NODE&&W(e.parentNode)}var P=e=>p(e)&&!Object.keys(e).length,$=e=>"boolean"==typeof e;function H(e,r){const t=O(r)?[r]:R(r),n=1==t.length?e:function(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=F(e)?n++:e[r[n++]];return e}(e,t),s=t[t.length-1];let c;n&&delete n[s];for(let r=0;r<t.slice(0,-1).length;r++){let n,s=-1;const u=t.slice(0,-(r+1)),i=u.length-1;for(r>0&&(c=e);++s<u.length;){const r=u[s];n=n?n[r]:e[r],i===s&&(p(n)&&P(n)||Array.isArray(n)&&!n.filter(e=>p(e)&&!P(e)||$(e)).length)&&(c?delete c[r]:delete e[r]),c=n}}return e}const U=(e,r)=>e&&e.ref===r;var q=e=>h(e)||!v(e);function I(e,r){if(q(e)||q(r))return r;for(const t in r){const n=e[t],s=r[t];try{e[t]=p(n)&&p(s)||Array.isArray(n)&&Array.isArray(s)?I(n,s):s}catch(e){}}return e}function _(r,t,n){if(q(r)||q(t)||r instanceof Date||t instanceof Date)return r===t;if(!e.isValidElement(r)){const e=Object.keys(r),s=Object.keys(t);if(e.length!==s.length)return!1;for(const s of e){const e=r[s];if(!n||"ref"!==s){const r=t[s];if((p(e)||Array.isArray(e))&&(p(r)||Array.isArray(r))?!_(e,r,n):e!==r)return!1}}}return!0}function z(e,r,t,n,s){let c=-1;for(;++c<e.length;){for(const n in e[c])Array.isArray(e[c][n])?(!t[c]&&(t[c]={}),t[c][n]=[],z(e[c][n],C(r[c]||{},n,[]),t[c][n],t[c],n)):_(C(r[c]||{},n),e[c][n])?V(t[c]||{},n):t[c]=Object.assign(Object.assign({},t[c]),{[n]:!0});n&&!t.length&&delete n[s]}return t}var G=(e,r,t)=>I(z(e,r,t.slice(0,e.length)),z(r,e,t.slice(0,e.length))),J=e=>"string"==typeof e,K=(e,r,t,n,s)=>{const c={};for(const r in e.current)(F(s)||(J(s)?r.startsWith(s):Array.isArray(s)&&s.find(e=>r.startsWith(e))))&&(c[r]=T(e,r,void 0,n));return t?j(c):I(r,j(c))},Q=e=>e instanceof RegExp,X=e=>p(e)&&!Q(e)?e:{value:e,message:""},Y=e=>"function"==typeof e,Z=r=>J(r)||e.isValidElement(r);function ee(e,r,t="validate"){if(Z(e)||$(e)&&!e)return{type:t,message:Z(e)?e:"",ref:r}}var re=(e,r,t,n,s)=>r?Object.assign(Object.assign({},t[e]),{types:Object.assign(Object.assign({},t[e]&&t[e].types?t[e].types:{}),{[n]:s||!0})}):{},te=async(e,r,{ref:t,ref:{value:n},options:s,required:c,maxLength:u,minLength:i,min:a,max:o,pattern:v,validate:O},A)=>{const R=t.name,V={},j=w(t),F=E(t),C=j||F,x=""===n,k=re.bind(null,R,r,V),D=(e,r,n,s=d,c=y)=>{const u=e?r:n;V[R]=Object.assign({type:e?s:c,message:u,ref:t},k(e?s:c,u))};if(c&&(!j&&!F&&(x||h(n))||$(n)&&!n||F&&!M(s).isValid||j&&!S(s).isValid)){const{value:n,message:s}=Z(c)?{value:!!c,message:c}:X(c);if(n&&(V[R]=Object.assign({type:b,message:s,ref:C?((e.current[R].options||[])[0]||{}).ref:t},k(b,s)),!r))return V}if(!(h(a)&&h(o)||""===n)){let e,s;const c=X(o),u=X(a);if(isNaN(n)){const r=t.valueAsDate||new Date(n);J(c.value)&&(e=r>new Date(c.value)),J(u.value)&&(s=r<new Date(u.value))}else{const r=t.valueAsNumber||parseFloat(n);h(c.value)||(e=r>c.value),h(u.value)||(s=r<u.value)}if((e||s)&&(D(!!e,c.message,u.message,l,f),!r))return V}if(J(n)&&!x&&(u||i)){const e=X(u),t=X(i),s=!h(e.value)&&n.length>e.value,c=!h(t.value)&&n.length<t.value;if((s||c)&&(D(s,e.message,t.message),!r))return V}if(J(n)&&v&&!x){const{value:e,message:s}=X(v);if(Q(e)&&!e.test(n)&&(V[R]=Object.assign({type:g,message:s,ref:t},k(g,s)),!r))return V}if(O){const n=T(e,R,A,!1,!0),c=C&&s?s[0].ref:t;if(Y(O)){const e=ee(await O(n),c);if(e&&(V[R]=Object.assign(Object.assign({},e),k(m,e.message)),!r))return V}else if(p(O)){let e={};for(const[t,s]of Object.entries(O)){if(!P(e)&&!r)break;const u=ee(await s(n),c,t);u&&(e=Object.assign(Object.assign({},u),k(t,u.message)),r&&(V[R]=e))}if(!P(e)&&(V[R]=Object.assign({ref:c},e),!r))return V}}return V};const ne=(e,r,t=[])=>{for(const n in r){const s=e+(p(r)?"."+n:`[${n}]`);q(r[n])?t.push(s):ne(s,r[n],t)}return t};var se=(e,r,t,n,s)=>{let c=void 0;return t.add(r),P(e)||(c=C(e,r),(p(c)||Array.isArray(c))&&ne(r,c).forEach(e=>t.add(e))),F(c)?s?n:C(n,r):c},ce=({isOnBlur:e,isOnChange:r,isOnTouch:t,isTouched:n,isReValidateOnBlur:s,isReValidateOnChange:c,isBlurEvent:u,isSubmitted:i,isOnAll:a})=>!a&&(!i&&t?!(n||u):(i?s:e)?!u:!(i?c:r)||u),ue=e=>e.substring(0,e.indexOf("["));const ie=(e,r)=>RegExp(`^${r}([|.)\\d+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(e);var ae=(e,r)=>[...e].some(e=>ie(r,e));var oe="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function le(e){var t;let n;if(q(e)||oe&&(e instanceof File||r(e)))return e;if(!["Set","Map","Object","Date","Array"].includes(null===(t=e.constructor)||void 0===t?void 0:t.name))return e;if(e instanceof Date)return n=new Date(e.getTime()),n;if(e instanceof Set){n=new Set;for(const r of e)n.add(r);return n}if(e instanceof Map){n=new Map;for(const r of e.keys())n.set(r,le(e.get(r)));return n}n=Array.isArray(e)?[]:{};for(const r in e)n[r]=le(e[r]);return n}var fe=e=>({isOnSubmit:!e||e===i,isOnBlur:e===c,isOnChange:e===u,isOnAll:e===o,isOnTouch:e===a}),de=e=>w(e)||E(e);const ye="undefined"==typeof window,ge=oe?"Proxy"in window:"undefined"!=typeof Proxy;function be(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);s<n.length;s++)r.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(t[n[s]]=e[n[s]])}return t}const me=e.createContext(null);me.displayName="RHFContext";const he=()=>e.useContext(me);var ve=()=>{const e="undefined"==typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const t=(16*Math.random()+e)%16|0;return("x"==r?t:3&t|8).toString(16)})};var pe=(e,r)=>F(r)?[]:function(e,r){let t=0;const n=[...e];for(const e of r)n.splice(e-t,1),t++;return A(n).length?n:[]}(e,(Array.isArray(r)?r:[r]).sort((e,r)=>e-r)),Oe=(e,r,t)=>Array.isArray(e)?(F(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],Ae=(e,r,t)=>{const n=[e[t],e[r]];e[r]=n[0],e[t]=n[1]};function Re(e,r){return[...Array.isArray(r)?r:[r||void 0],...e]}function Ve(e,r,t){return[...e.slice(0,r),...Array.isArray(t)?t:[t||void 0],...e.slice(r)]}var je=e=>Array.isArray(e)?Array(e.length).fill(void 0):void 0,Fe=e=>(Array.isArray(e)?e:[e]).map(e=>{if(p(e)){const r={};for(const t in e)r[t]=!0;return r}return!0});const Ce=(e=[],r,t)=>e.map(e=>Object.assign({[r]:e[r]||ve()},e));function xe({name:r,rules:t,defaultValue:n,control:s,onFocus:c}){const u=he(),{defaultValuesRef:i,setValue:a,register:o,unregister:l,trigger:f,mode:d,reValidateMode:{isReValidateOnBlur:y,isReValidateOnChange:g},formState:b,formStateRef:{current:{isSubmitted:m,touched:h,errors:v}},updateFormState:O,readFormStateRef:A,fieldsRef:R,fieldArrayNamesRef:j,shallowFieldsStateRef:x}=s||u.control,k=!ae(j.current,r),S=()=>!F(C(x.current,r))&&k?C(x.current,r):F(n)?C(i.current,r):n,[w,D]=e.useState(S()),E=e.useRef(w),B=e.useRef({focus:()=>null}),N=e.useRef(c||(()=>{Y(B.current.focus)&&B.current.focus()})),L=e.useCallback(e=>!ce(Object.assign({isBlurEvent:e,isReValidateOnBlur:y,isReValidateOnChange:g,isSubmitted:m,isTouched:!!C(h,r)},d)),[y,g,m,h,r,d]),M=e.useCallback(([e])=>{const r=(e=>q(e)||!p(e.target)||p(e.target)&&!e.type?e:F(e.target.value)?e.target.checked:e.target.value)(e);return D(r),E.current=r,r},[]),T=e.useCallback(e=>{R.current[r]?R.current[r]=Object.assign({ref:R.current[r].ref},t):(o(Object.defineProperties({name:r,focus:N.current},{value:{set(e){D(e),E.current=e},get:()=>E.current}}),t),e=F(C(i.current,r))),e&&k&&D(S())},[t,r,o]);e.useEffect(()=>()=>l(r),[r]),e.useEffect(()=>{T()},[T]),e.useEffect(()=>{!R.current[r]&&T(!0)});const W=e.useCallback(()=>{A.current.touched&&!C(h,r)&&(V(h,r,!0),O({touched:h})),L(!0)&&f(r)},[r,O,L,f,A]);return{field:{onChange:e.useCallback((...e)=>a(r,M(e),{shouldValidate:L(),shouldDirty:!0}),[a,r,L]),onBlur:W,name:r,value:w,ref:B},meta:Object.defineProperties({invalid:!!C(v,r)},{isDirty:{get:()=>!!C(b.dirtyFields,r)},isTouched:{get:()=>!!C(b.touched,r)}})}}exports.Controller=r=>{const{rules:t,as:n,render:s,defaultValue:c,control:u,onFocus:i}=r,a=be(r,["rules","as","render","defaultValue","control","onFocus"]),{field:o,meta:l}=xe(r),f=Object.assign(Object.assign({},a),o);return n?e.isValidElement(n)?e.cloneElement(n,f):e.createElement(n,f):s?s(o,l):null},exports.FormProvider=r=>{var{children:t}=r,n=be(r,["children"]);return e.createElement(me.Provider,{value:Object.assign({},n)},t)},exports.appendErrors=re,exports.get=C,exports.transformToNestObject=j,exports.useController=xe,exports.useFieldArray=({control:r,name:t,keyName:n="id"})=>{const s=he(),c=e.useRef(-1),u=e.useRef(!1),{isFormDirty:i,updateWatchedValue:a,resetFieldArrayFunctionRef:o,fieldArrayNamesRef:l,fieldsRef:f,defaultValuesRef:d,removeFieldEventListener:y,formStateRef:g,shallowFieldsStateRef:b,updateFormState:m,readFormStateRef:h,validFieldsRef:v,fieldsWithValidationRef:p,fieldArrayDefaultValuesRef:O,validateResolver:R,getValues:j,shouldUnregister:F,fieldArrayValuesRef:x}=r||s.control,k=e=>C(F?e:b.current,t,[]),S=ue(t),w=e.useRef([...C(O.current,S)?k(O.current):k(d.current)]),[D,E]=e.useState(Ce(w.current,n));V(x.current,t,D);const B=e=>e.map((e={})=>{var r=n;e[r];return be(e,["symbol"==typeof r?r:r+""])});l.current.add(t);const N=e.useCallback(()=>C(x.current,t,[]),[t]),L=()=>Ce(C(j(),t,N()).map((e,r)=>Object.assign(Object.assign({},N()[r]),e)),n);l.current.add(t),S&&!C(O.current,S)&&V(O.current,S,le(C(d.current,S)));const M=e=>{if(E(e),V(x.current,t,e),h.current.isValid&&R){const r=j();V(r,t,e),R(r)}},T=()=>{for(const e in f.current)ie(e,t)&&(y(f.current[e],!0),delete f.current[e])},W=e=>!A(C(e,t,[])).length&&H(e,t),P=e=>{e&&V(g.current.dirtyFields,t,G(B(e),C(d.current,t,[]),C(g.current.dirtyFields,t,[])))},$=(e,r,n,s=[],c=!0,a=!1)=>{if(C(b.current,t)){const n=e(C(b.current,t),r.argA,r.argB);c&&V(b.current,t,n)}if(C(O.current,t)){const n=e(C(O.current,t),r.argA,r.argB);c&&V(O.current,t,n)}if(Array.isArray(C(g.current.errors,t))){const n=e(C(g.current.errors,t),r.argA,r.argB);c&&V(g.current.errors,t,n),W(g.current.errors)}if(h.current.touched&&C(g.current.touched,t)){const n=e(C(g.current.touched,t),r.argA,r.argB);c&&V(g.current.touched,t,n),W(g.current.touched)}(h.current.dirtyFields||h.current.isDirty)&&(V(g.current.dirtyFields,t,G(B(s),C(d.current,t,[]),C(g.current.dirtyFields,t,[]))),P(n),W(g.current.dirtyFields)),a&&h.current.isValid&&!R&&(V(v.current,t,e(C(v.current,t,[]),r.argA)),W(v.current),V(p.current,t,e(C(p.current,t,[]),r.argA)),W(p.current)),!u.current&&h.current.isDirty&&m({isDirty:i(t,B(s))})},U=e=>{const r=L(),t=pe(r,e);M(t),T(),$(pe,{argA:e,argC:e},t,pe(r,e),!0,!0)};return e.useEffect(()=>{const e=C(O.current,t);if(e&&D.length<e.length&&V(O.current,t,e.slice(1)),a(t),c.current>-1)for(const e in f.current){const r=f.current[e];if(e.startsWith(`${t}[${c.current}]`)&&r.ref.focus){r.ref.focus();break}}c.current=-1},[D,t]),e.useEffect(()=>{const e=o.current,r=l.current;return ue(t)||(e[t]=e=>{T(),!e&&H(O.current,t),H(b.current,t),w.current=C(e||d.current,t),u.current||E(Ce(w.current,n))}),()=>{u.current=!0,F&&U(),T(),delete e[t],H(x.current,t),r.delete(t)}},[]),{swap:e.useCallback((e,r)=>{const t=L();Ae(t,e,r),T(),M([...t]),$(Ae,{argA:e,argB:r,argC:e,argD:r},void 0,t,!1)},[t]),move:e.useCallback((e,r)=>{const t=L();Oe(t,e,r),T(),M([...t]),$(Oe,{argA:e,argB:r,argC:e,argD:r},void 0,t,!1)},[t]),prepend:e.useCallback((e,r=!0)=>{const t=je(e),s=Re(L(),Ce(Array.isArray(e)?e:[e],n));M(s),T(),$(Re,{argA:t,argC:Fe(e)},s),c.current=r?0:-1},[t]),append:e.useCallback((e,r=!0)=>{const s=Array.isArray(e)?e:[e],u=[...L(),...Ce(s,n)];M(u),(h.current.dirtyFields||h.current.isDirty)&&(P(u),m({isDirty:!0,dirtyFields:g.current.dirtyFields})),!F&&V(b.current,t,[...C(b.current,t)||[],...le(s)]),c.current=r?C(x.current,t).length-1:-1},[t]),remove:e.useCallback(U,[t]),insert:e.useCallback((e,r,t=!0)=>{const s=je(r),u=L(),i=Ve(u,e,Ce(Array.isArray(r)?r:[r],n));M(i),T(),$(Ve,{argA:e,argB:s,argC:e,argD:Fe(r)},i,Ve(u,e)),c.current=t?e:-1},[t]),fields:D}},exports.useForm=function({mode:c=i,reValidateMode:a=u,resolver:l,context:f,defaultValues:d={},shouldFocusError:y=!0,shouldUnregister:g=!0,criteriaMode:b}={}){const m=e.useRef({}),v=e.useRef({}),R=e.useRef({}),k=e.useRef(new Set),S=e.useRef({}),N=e.useRef({}),L=e.useRef({}),M=e.useRef({}),$=e.useRef(d),I=e.useRef(!1),z=e.useRef(!1),Q=e.useRef(),X=e.useRef({}),Z=e.useRef({}),ee=e.useRef(f),re=e.useRef(l),ie=e.useRef(new Set),be=e.useRef(fe(c)),{isOnSubmit:me,isOnTouch:he}=be.current,ve=b===o,[pe,Oe]=e.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touched:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!me,errors:{}}),Ae=e.useRef({isDirty:!ge,dirtyFields:!ge,touched:!ge||he,isValidating:!ge,isSubmitting:!ge,isValid:!ge}),Re=e.useRef(pe),Ve=e.useRef(),{isOnBlur:je,isOnChange:Fe}=e.useRef(fe(a)).current;ee.current=f,re.current=l,Re.current=pe,X.current=g?{}:P(X.current)?le(d):X.current;const Ce=e.useCallback((e={})=>{I.current||(Re.current=Object.assign(Object.assign({},Re.current),e),Oe(Re.current))},[]),xe=()=>Ae.current.isValidating&&Ce({isValidating:!0}),ke=e.useCallback((e,r,t=!1,n={},s)=>{let c=t||(({errors:e,name:r,error:t,validFields:n,fieldsWithValidation:s})=>{const c=F(t),u=C(e,r);return c&&!!u||!c&&!_(u,t,!0)||c&&C(s,r)&&!C(n,r)})({errors:Re.current.errors,error:r,name:e,validFields:M.current,fieldsWithValidation:L.current});const u=C(Re.current.errors,e);r?(H(M.current,e),c=c||!u||!_(u,r,!0),V(Re.current.errors,e,r)):((C(L.current,e)||re.current)&&(V(M.current,e,!0),c=c||u),H(Re.current.errors,e)),(c&&!h(t)||!P(n)||Ae.current.isValidating)&&Ce(Object.assign(Object.assign(Object.assign({},n),re.current?{isValid:!!s}:{}),{isValidating:!1}))},[]),Se=e.useCallback((e,t)=>{const{ref:n,options:s}=m.current[e],c=oe&&r(n)&&h(t)?"":t;w(n)?(s||[]).forEach(({ref:e})=>e.checked=e.value===c):D(n)&&!J(c)?n.files=c:B(n)?[...n.options].forEach(e=>e.selected=c.includes(e.value)):E(n)&&s?s.length>1?s.forEach(({ref:e})=>e.checked=Array.isArray(c)?!!c.find(r=>r===e.value):c===e.value):s[0].ref.checked=!!c:n.value=c},[]),we=e.useCallback((e,r)=>{if(Ae.current.isDirty){const t=$e();return e&&r&&V(t,e,r),!_(t,$.current)}return!1},[]),De=e.useCallback((e,r=!0)=>{if(Ae.current.isDirty||Ae.current.dirtyFields){const t=!_(C($.current,e),T(m,e,X)),n=C(Re.current.dirtyFields,e),s=Re.current.isDirty;t?V(Re.current.dirtyFields,e,!0):H(Re.current.dirtyFields,e);const c={isDirty:we(),dirtyFields:Re.current.dirtyFields},u=Ae.current.isDirty&&s!==c.isDirty||Ae.current.dirtyFields&&n!==C(Re.current.dirtyFields,e);return u&&r&&Ce(c),u?c:{}}return{}},[]),Ee=e.useCallback(async(e,r)=>{const t=(await te(m,ve,m.current[e],X))[e];return ke(e,t,r),F(t)},[ke,ve]),Be=e.useCallback(async e=>{const{errors:r}=await re.current($e(),ee.current,ve),t=Re.current.isValid;if(Array.isArray(e)){const t=e.map(e=>{const t=C(r,e);return t?V(Re.current.errors,e,t):H(Re.current.errors,e),!t}).every(Boolean);return Ce({isValid:P(r),isValidating:!1}),t}{const n=C(r,e);return ke(e,n,t!==P(r),{},P(r)),!n}},[ke,ve]),Ne=e.useCallback(async e=>{const r=e||Object.keys(m.current);if(xe(),re.current)return Be(r);if(Array.isArray(r)){!e&&(Re.current.errors={});const t=await Promise.all(r.map(async e=>await Ee(e,null)));return Ce({isValidating:!1}),t.every(Boolean)}return await Ee(r)},[Be,Ee]),Le=e.useCallback((e,r,{shouldDirty:t,shouldValidate:n})=>{const s={};V(s,e,r);for(const c of ne(e,r))m.current[c]&&(Se(c,C(s,c)),t&&De(c),n&&Ne(c))},[Ne,Se,De]),Me=e.useCallback((e,r,t)=>{if(!g&&!q(r)&&V(X.current,e,Array.isArray(r)?[...r]:Object.assign({},r)),m.current[e])Se(e,r),t.shouldDirty&&De(e),t.shouldValidate&&Ne(e);else if(!q(r)&&(Le(e,r,t),ie.current.has(e))){const n=ue(e)||e;V(v.current,e,r),Z.current[n]({[n]:C(v.current,n)}),(Ae.current.isDirty||Ae.current.dirtyFields)&&t.shouldDirty&&(V(Re.current.dirtyFields,e,G(r,C($.current,e,[]),C(Re.current.dirtyFields,e,[]))),Ce({isDirty:!_(Object.assign(Object.assign({},$e()),{[e]:r}),$.current)}))}!g&&V(X.current,e,r)},[De,Se,Le]),Te=e=>z.current||k.current.has(e)||k.current.has((e.match(/\w+/)||[])[0]),We=e=>{let r=!0;if(!P(S.current))for(const t in S.current)e&&S.current[t].size&&!S.current[t].has(e)&&!S.current[t].has(ue(e))||(N.current[t](),r=!1);return r};function Pe(e){if(!g){let r=le(e);for(const e of ie.current)O(e)&&!r[e]&&(r=Object.assign(Object.assign({},r),{[e]:[]}));return r}return e}function $e(e){if(J(e))return T(m,e,X);if(Array.isArray(e)){const r={};for(const t of e)V(r,t,T(m,t,X));return r}return Pe(K(m,le(X.current),g))}Q.current=Q.current?Q.current:async({type:e,target:r})=>{let n=r.name;const s=m.current[n];let c,u;if(s){const i=e===t,a=ce(Object.assign({isBlurEvent:i,isReValidateOnChange:Fe,isReValidateOnBlur:je,isTouched:!!C(Re.current.touched,n),isSubmitted:Re.current.isSubmitted},be.current));let o=De(n,!1),l=!P(o)||!i&&Te(n);if(i&&!C(Re.current.touched,n)&&Ae.current.touched&&(V(Re.current.touched,n,!0),o=Object.assign(Object.assign({},o),{touched:Re.current.touched})),!g&&E(r)&&V(X.current,n,T(m,n)),a)return!i&&We(n),(!P(o)||l&&P(o))&&Ce(o);if(xe(),re.current){const{errors:e}=await re.current($e(),ee.current,ve),t=Re.current.isValid;if(c=C(e,n),E(r)&&!c&&re.current){const r=ue(n),t=C(e,r,{});t.type&&t.message&&(c=t),r&&(t||C(Re.current.errors,r))&&(n=r)}u=P(e),t!==u&&(l=!0)}else c=(await te(m,ve,s,X))[n];!i&&We(n),ke(n,c,l,o,u)}};const He=e.useCallback(async(e={})=>{const r=P(m.current)?$.current:{},{errors:t}=await re.current(Object.assign(Object.assign(Object.assign({},r),$e()),e),ee.current,ve)||{},n=P(t);Re.current.isValid!==n&&Ce({isValid:n})},[ve]),Ue=e.useCallback((e,r)=>{!function(e,r,t,n,s,c){const{ref:u,ref:{name:i}}=t,a=e.current[i];if(!s){const r=T(e,i,n);!F(r)&&V(n.current,i,r)}u.type&&a?w(u)||E(u)?Array.isArray(a.options)&&a.options.length?(A(a.options).forEach((e={},t)=>{(W(e.ref)&&U(e,e.ref)||c)&&(x(e.ref,r),H(a.options,`[${t}]`))}),a.options&&!A(a.options).length&&delete e.current[i]):delete e.current[i]:(W(u)&&U(a,u)||c)&&(x(u,r),delete e.current[i]):delete e.current[i]}(m,Q.current,e,X,g,r),g&&(H(M.current,e.ref.name),H(L.current,e.ref.name))},[g]),qe=e.useCallback(e=>{if(z.current)Ce();else{for(const r of k.current)if(r.startsWith(e)){Ce();break}We(e)}},[]),Ie=e.useCallback((e,r)=>{e&&(Ue(e,r),g&&!A(e.options||[]).length&&(H(Re.current.errors,e.ref.name),V(Re.current.dirtyFields,e.ref.name,!0),Ce({isDirty:we()}),Ae.current.isValid&&re.current&&He(),qe(e.ref.name)))},[He,Ue]),_e=e.useCallback((e,r,t)=>{const n=t?S.current[t]:k.current;let s=K(m,le(X.current),g,!1,e);if(J(e)){const t=ue(e)||e;return ie.current.has(t)&&(s=Object.assign(Object.assign({},R.current),s)),se(s,e,n,F(C($.current,e))?r:C($.current,e),!0)}const c=F(r)?$.current:r;return Array.isArray(e)?e.reduce((e,r)=>Object.assign(Object.assign({},e),{[r]:se(s,r,n,c)}),{}):(z.current=F(t),j(!P(s)&&s||c))},[]);function ze(e,c={}){const{name:u,type:i,value:a}=e,o=Object.assign({ref:e},c),l=m.current,f=de(e),d=ae(ie.current,u),y=t=>oe&&(!r(e)||t===e);let b,h=l[u],v=!0;if(h&&(f?Array.isArray(h.options)&&A(h.options).find(e=>a===e.ref.value&&y(e.ref)):y(h.ref)))return void(l[u]=Object.assign(Object.assign({},h),c));h=i?f?Object.assign({options:[...A(h&&h.options||[]),{ref:e}],ref:{type:i,name:u}},c):Object.assign({},o):o,l[u]=h;const p=F(C(X.current,u));P($.current)&&p||(b=C(p?$.current:X.current,u),v=F(b),v||d||Se(u,b)),P(c)||(V(L.current,u,!0),!me&&Ae.current.isValid&&te(m,ve,h,X).then(e=>{const r=Re.current.isValid;P(e)?V(M.current,u,!0):H(M.current,u),r!==P(e)&&Ce()})),!g||d&&v||!d&&H(Re.current.dirtyFields,u),i&&function({ref:e},c,u){r(e)&&u&&(e.addEventListener(c?n:s,u),e.addEventListener(t,u))}(f&&h.options?h.options[h.options.length-1]:h,f||"select-one"===e.type,Q.current)}const Ge=e.useCallback((e,r)=>async t=>{t&&t.preventDefault&&(t.preventDefault(),t.persist());let n={},s=Pe(K(m,le(X.current),g,!0));Ae.current.isSubmitting&&Ce({isSubmitting:!0});try{if(re.current){const{errors:e,values:r}=await re.current(s,ee.current,ve);Re.current.errors=n=e,s=r}else for(const e of Object.values(m.current))if(e){const{name:r}=e.ref,t=await te(m,ve,e,X);t[r]?(V(n,r,t[r]),H(M.current,r)):C(L.current,r)&&(H(Re.current.errors,r),V(M.current,r,!0))}P(n)&&Object.keys(Re.current.errors).every(e=>e in m.current)?(Ce({errors:{},isSubmitting:!0}),await e(s,t)):(Re.current.errors=Object.assign(Object.assign({},Re.current.errors),n),r&&await r(Re.current.errors,t),y&&((e,r)=>{for(const t in e)if(C(r,t)){const r=e[t];if(r){if(r.ref.focus&&F(r.ref.focus()))break;if(r.options){r.options[0].ref.focus();break}}}})(m.current,Re.current.errors))}finally{Re.current.isSubmitting=!1,Ce({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:P(Re.current.errors),submitCount:Re.current.submitCount+1})}},[y,ve]);e.useEffect(()=>{l&&Ae.current.isValid&&He(),Ve.current=Ve.current||!oe?Ve.current:function(e,r){const t=new MutationObserver(()=>{for(const t of Object.values(e.current))if(t&&t.options)for(const e of t.options)e&&e.ref&&W(e.ref)&&r(t);else t&&W(t.ref)&&r(t)});return t.observe(window.document,{childList:!0,subtree:!0}),t}(m,Ie)},[Ie,$.current]),e.useEffect(()=>()=>{Ve.current&&Ve.current.disconnect(),I.current=!0,Object.values(m.current).forEach(e=>Ie(e,!0))},[]),!l&&Ae.current.isValid&&(pe.isValid=_(M.current,L.current)&&P(Re.current.errors));const Je={trigger:Ne,setValue:e.useCallback((function(e,r,t){Me(e,r,t||{}),Te(e)&&Ce(),We(e)}),[Me,Ne]),getValues:e.useCallback($e,[]),register:e.useCallback((function(e,r){if(!ye)if(J(e))ze({name:e},r);else{if(!p(e)||!("name"in e))return r=>r&&ze(r,e);ze(e,r)}}),[$.current]),unregister:e.useCallback((function(e){for(const r of Array.isArray(e)?e:[e])Ie(m.current[r],!0)}),[]),formState:ge?new Proxy(pe,{get:(e,r)=>{if(r in e)return Ae.current[r]=!0,e[r]}}):pe},Ke=e.useMemo(()=>Object.assign({isFormDirty:we,updateWatchedValue:qe,shouldUnregister:g,updateFormState:Ce,removeFieldEventListener:Ue,watchInternal:_e,mode:be.current,reValidateMode:{isReValidateOnBlur:je,isReValidateOnChange:Fe},validateResolver:l?He:void 0,fieldsRef:m,resetFieldArrayFunctionRef:Z,useWatchFieldsRef:S,useWatchRenderFunctionsRef:N,fieldArrayDefaultValuesRef:v,validFieldsRef:M,fieldsWithValidationRef:L,fieldArrayNamesRef:ie,readFormStateRef:Ae,formStateRef:Re,defaultValuesRef:$,shallowFieldsStateRef:X,fieldArrayValuesRef:R},Je),[$.current,qe,g,Ue,_e]);return Object.assign({watch:function(e,r){return _e(e,r)},control:Ke,handleSubmit:Ge,reset:e.useCallback((e,t={})=>{if(oe)for(const e of Object.values(m.current))if(e){const{ref:t,options:n}=e,s=de(t)&&Array.isArray(n)?n[0].ref:t;if(r(s))try{s.closest("form").reset();break}catch(e){}}m.current={},$.current=Object.assign({},e||$.current),e&&We(""),Object.values(Z.current).forEach(e=>Y(e)&&e()),X.current=g?{}:le(e||$.current),(({errors:e,isDirty:r,isSubmitted:t,touched:n,isValid:s,submitCount:c,dirtyFields:u})=>{s||(M.current={},L.current={}),v.current={},k.current=new Set,z.current=!1,Ce({submitCount:c?Re.current.submitCount:0,isDirty:!!r&&Re.current.isDirty,isSubmitted:!!t&&Re.current.isSubmitted,isValid:!!s&&Re.current.isValid,dirtyFields:u?Re.current.dirtyFields:{},touched:n?Re.current.touched:{},errors:e?Re.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})})(t)},[]),clearErrors:e.useCallback((function(e){e&&(Array.isArray(e)?e:[e]).forEach(e=>m.current[e]&&O(e)?delete Re.current.errors[e]:H(Re.current.errors,e)),Ce({errors:e?Re.current.errors:{}})}),[]),setError:e.useCallback((function(e,r){const t=(m.current[e]||{}).ref;V(Re.current.errors,e,Object.assign(Object.assign({},r),{ref:t})),Ce({isValid:!1}),r.shouldFocus&&t&&t.focus&&t.focus()}),[]),errors:pe.errors},Je)},exports.useFormContext=he,exports.useWatch=function({control:r,name:t,defaultValue:n}){const s=he(),{useWatchFieldsRef:c,useWatchRenderFunctionsRef:u,watchInternal:i,defaultValuesRef:a}=r||s.control,o=e.useState()[1],l=e.useRef(),f=e.useRef(n);return e.useEffect(()=>{const e=l.current=ve(),r=u.current,n=c.current;return n[e]=new Set,r[e]=()=>o({}),i(t,f.current,e),()=>{delete n[e],delete r[e]}},[t,u,c,i,f]),l.current?i(t,f.current,l.current):F(n)?J(t)?C(a.current,t):Array.isArray(t)?t.reduce((e,r)=>Object.assign(Object.assign({},e),{[r]:C(a.current,r)}),{}):a.current:n};
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=e=>e instanceof HTMLElement;const t="blur",n="change",s="input",c="onBlur",u="onChange",i="onSubmit",a="onTouched",o="all",l="max",f="min",d="maxLength",y="minLength",g="pattern",b="required",m="validate";var h=e=>null==e;const v=e=>"object"==typeof e;var p=e=>!h(e)&&!Array.isArray(e)&&v(e)&&!(e instanceof Date),O=e=>/^\w*$/.test(e),A=e=>e.filter(Boolean),R=e=>A(e.replace(/["|']/g,"").replace(/\[/g,".").replace(/\]/g,"").split("."));function V(e,r,t){let n=-1;const s=O(r)?[r]:R(r),c=s.length,u=c-1;for(;++n<c;){const r=s[n];let c=t;if(n!==u){const t=e[r];c=p(t)||Array.isArray(t)?t:isNaN(+s[n+1])?{}:[]}e[r]=c,e=e[r]}return e}var j=(e,r={})=>{for(const t in e)O(t)?r[t]=e[t]:V(r,t,e[t]);return r},F=e=>void 0===e,C=(e={},r,t)=>{const n=A(r.split(/[,[\].]+?/)).reduce((e,r)=>h(e)?e:e[r],e);return F(n)||n===e?F(e[r])?t:e[r]:n},x=(e,c)=>{r(e)&&e.removeEventListener&&(e.removeEventListener(s,c),e.removeEventListener(n,c),e.removeEventListener(t,c))};const k={isValid:!1,value:null};var S=e=>Array.isArray(e)?e.reduce((e,r)=>r&&r.ref.checked?{isValid:!0,value:r.ref.value}:e,k):k,w=e=>"radio"===e.type,D=e=>"file"===e.type,E=e=>"checkbox"===e.type,B=e=>"select-multiple"===e.type;const N={value:!1,isValid:!1},L={value:!0,isValid:!0};var W=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(e=>e&&e.ref.checked).map(({ref:{value:e}})=>e);return{value:r,isValid:!!r.length}}const{checked:r,value:t,attributes:n}=e[0].ref;return r?n&&!F(n.value)?F(t)||""===t?L:{value:t,isValid:!0}:L:N}return N};function M(e,r,t,n,s){const c=e.current[r];if(c){const{ref:{value:e,disabled:r},ref:t,valueAsNumber:i,valueAsDate:a,setValueAs:o}=c;if(r&&n)return;return D(t)?t.files:w(t)?S(c.options).value:B(t)?(u=t.options,[...u].filter(({selected:e})=>e).map(({value:e})=>e)):E(t)?W(c.options).value:s?e:i?""===e?NaN:+e:a?t.valueAsDate:o?o(e):e}var u;if(t)return C(t.current,r)}function T(e){return!e||e instanceof HTMLElement&&e.nodeType!==Node.DOCUMENT_NODE&&T(e.parentNode)}var P=e=>p(e)&&!Object.keys(e).length,$=e=>"boolean"==typeof e;function U(e,r){const t=O(r)?[r]:R(r),n=1==t.length?e:function(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=F(e)?n++:e[r[n++]];return e}(e,t),s=t[t.length-1];let c;n&&delete n[s];for(let r=0;r<t.slice(0,-1).length;r++){let n,s=-1;const u=t.slice(0,-(r+1)),i=u.length-1;for(r>0&&(c=e);++s<u.length;){const r=u[s];n=n?n[r]:e[r],i===s&&(p(n)&&P(n)||Array.isArray(n)&&!n.filter(e=>p(e)&&!P(e)||$(e)).length)&&(c?delete c[r]:delete e[r]),c=n}}return e}const q=(e,r)=>e&&e.ref===r;var H=e=>h(e)||!v(e);function I(e,r){if(H(e)||H(r))return r;for(const t in r){const n=e[t],s=r[t];try{e[t]=p(n)&&p(s)||Array.isArray(n)&&Array.isArray(s)?I(n,s):s}catch(e){}}return e}function _(r,t,n){if(H(r)||H(t)||r instanceof Date||t instanceof Date)return r===t;if(!e.isValidElement(r)){const e=Object.keys(r),s=Object.keys(t);if(e.length!==s.length)return!1;for(const s of e){const e=r[s];if(!n||"ref"!==s){const r=t[s];if((p(e)||Array.isArray(e))&&(p(r)||Array.isArray(r))?!_(e,r,n):e!==r)return!1}}}return!0}function z(e,r,t,n,s){let c=-1;for(;++c<e.length;){for(const n in e[c])Array.isArray(e[c][n])?(!t[c]&&(t[c]={}),t[c][n]=[],z(e[c][n],C(r[c]||{},n,[]),t[c][n],t[c],n)):_(C(r[c]||{},n),e[c][n])?V(t[c]||{},n):t[c]=Object.assign(Object.assign({},t[c]),{[n]:!0});n&&!t.length&&delete n[s]}return t}var G=(e,r,t)=>I(z(e,r,t.slice(0,e.length)),z(r,e,t.slice(0,e.length))),J=e=>"string"==typeof e,K=(e,r,t,n,s)=>{const c={};for(const r in e.current)(F(s)||(J(s)?r.startsWith(s):Array.isArray(s)&&s.find(e=>r.startsWith(e))))&&(c[r]=M(e,r,void 0,n));return t?j(c):I(r,j(c))},Q=e=>e instanceof RegExp,X=e=>p(e)&&!Q(e)?e:{value:e,message:""},Y=e=>"function"==typeof e,Z=r=>J(r)||e.isValidElement(r);function ee(e,r,t="validate"){if(Z(e)||$(e)&&!e)return{type:t,message:Z(e)?e:"",ref:r}}var re=(e,r,t,n,s)=>r?Object.assign(Object.assign({},t[e]),{types:Object.assign(Object.assign({},t[e]&&t[e].types?t[e].types:{}),{[n]:s||!0})}):{},te=async(e,r,{ref:t,ref:{value:n},options:s,required:c,maxLength:u,minLength:i,min:a,max:o,pattern:v,validate:O},A)=>{const R=t.name,V={},j=w(t),F=E(t),C=j||F,x=""===n,k=re.bind(null,R,r,V),D=(e,r,n,s=d,c=y)=>{const u=e?r:n;V[R]=Object.assign({type:e?s:c,message:u,ref:t},k(e?s:c,u))};if(c&&(!j&&!F&&(x||h(n))||$(n)&&!n||F&&!W(s).isValid||j&&!S(s).isValid)){const{value:n,message:s}=Z(c)?{value:!!c,message:c}:X(c);if(n&&(V[R]=Object.assign({type:b,message:s,ref:C?((e.current[R].options||[])[0]||{}).ref:t},k(b,s)),!r))return V}if(!(h(a)&&h(o)||""===n)){let e,s;const c=X(o),u=X(a);if(isNaN(n)){const r=t.valueAsDate||new Date(n);J(c.value)&&(e=r>new Date(c.value)),J(u.value)&&(s=r<new Date(u.value))}else{const r=t.valueAsNumber||parseFloat(n);h(c.value)||(e=r>c.value),h(u.value)||(s=r<u.value)}if((e||s)&&(D(!!e,c.message,u.message,l,f),!r))return V}if(J(n)&&!x&&(u||i)){const e=X(u),t=X(i),s=!h(e.value)&&n.length>e.value,c=!h(t.value)&&n.length<t.value;if((s||c)&&(D(s,e.message,t.message),!r))return V}if(J(n)&&v&&!x){const{value:e,message:s}=X(v);if(Q(e)&&!e.test(n)&&(V[R]=Object.assign({type:g,message:s,ref:t},k(g,s)),!r))return V}if(O){const n=M(e,R,A,!1,!0),c=C&&s?s[0].ref:t;if(Y(O)){const e=ee(await O(n),c);if(e&&(V[R]=Object.assign(Object.assign({},e),k(m,e.message)),!r))return V}else if(p(O)){let e={};for(const[t,s]of Object.entries(O)){if(!P(e)&&!r)break;const u=ee(await s(n),c,t);u&&(e=Object.assign(Object.assign({},u),k(t,u.message)),r&&(V[R]=e))}if(!P(e)&&(V[R]=Object.assign({ref:c},e),!r))return V}}return V};const ne=(e,r,t=[])=>{for(const n in r){const s=e+(p(r)?"."+n:`[${n}]`);H(r[n])?t.push(s):ne(s,r[n],t)}return t};var se=(e,r,t,n,s)=>{let c=void 0;return t.add(r),P(e)||(c=C(e,r),(p(c)||Array.isArray(c))&&ne(r,c).forEach(e=>t.add(e))),F(c)?s?n:C(n,r):c},ce=({isOnBlur:e,isOnChange:r,isOnTouch:t,isTouched:n,isReValidateOnBlur:s,isReValidateOnChange:c,isBlurEvent:u,isSubmitted:i,isOnAll:a})=>!a&&(!i&&t?!(n||u):(i?s:e)?!u:!(i?c:r)||u),ue=e=>e.substring(0,e.indexOf("["));const ie=(e,r)=>RegExp(`^${r}([|.)\\d+`.replace(/\[/g,"\\[").replace(/\]/g,"\\]")).test(e);var ae=(e,r)=>[...e].some(e=>ie(r,e));var oe="undefined"!=typeof window&&"undefined"!=typeof document;function le(e){var t;let n;if(H(e)||oe&&(e instanceof File||r(e)))return e;if(!["Set","Map","Object","Date","Array"].includes(null===(t=e.constructor)||void 0===t?void 0:t.name))return e;if(e instanceof Date)return n=new Date(e.getTime()),n;if(e instanceof Set){n=new Set;for(const r of e)n.add(r);return n}if(e instanceof Map){n=new Map;for(const r of e.keys())n.set(r,le(e.get(r)));return n}n=Array.isArray(e)?[]:{};for(const r in e)n[r]=le(e[r]);return n}var fe=e=>({isOnSubmit:!e||e===i,isOnBlur:e===c,isOnChange:e===u,isOnAll:e===o,isOnTouch:e===a}),de=e=>w(e)||E(e);const ye="undefined"==typeof window,ge=oe?"Proxy"in window:"undefined"!=typeof Proxy;function be(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);s<n.length;s++)r.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(t[n[s]]=e[n[s]])}return t}const me=e.createContext(null);me.displayName="RHFContext";const he=()=>e.useContext(me);var ve=()=>{const e="undefined"==typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const t=(16*Math.random()+e)%16|0;return("x"==r?t:3&t|8).toString(16)})};var pe=(e,r)=>F(r)?[]:function(e,r){let t=0;const n=[...e];for(const e of r)n.splice(e-t,1),t++;return A(n).length?n:[]}(e,(Array.isArray(r)?r:[r]).sort((e,r)=>e-r)),Oe=(e,r,t)=>Array.isArray(e)?(F(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],Ae=(e,r,t)=>{const n=[e[t],e[r]];e[r]=n[0],e[t]=n[1]};function Re(e,r){return[...Array.isArray(r)?r:[r||void 0],...e]}function Ve(e,r,t){return[...e.slice(0,r),...Array.isArray(t)?t:[t||void 0],...e.slice(r)]}var je=e=>Array.isArray(e)?Array(e.length).fill(void 0):void 0,Fe=e=>(Array.isArray(e)?e:[e]).map(e=>{if(p(e)){const r={};for(const t in e)r[t]=!0;return r}return!0});const Ce=(e=[],r,t)=>e.map(e=>Object.assign({[r]:e[r]||ve()},e));function xe({name:r,rules:t,defaultValue:n,control:s,onFocus:c}){const u=he(),{defaultValuesRef:i,setValue:a,register:o,unregister:l,trigger:f,mode:d,reValidateMode:{isReValidateOnBlur:y,isReValidateOnChange:g},formState:b,formStateRef:{current:{isSubmitted:m,touched:h,errors:v}},updateFormState:O,readFormStateRef:A,fieldsRef:R,fieldArrayNamesRef:j,shallowFieldsStateRef:x}=s||u.control,k=!ae(j.current,r),S=()=>!F(C(x.current,r))&&k?C(x.current,r):F(n)?C(i.current,r):n,[w,D]=e.useState(S()),E=e.useRef(w),B=e.useRef({focus:()=>null}),N=e.useRef(c||(()=>{Y(B.current.focus)&&B.current.focus()})),L=e.useCallback(e=>!ce(Object.assign({isBlurEvent:e,isReValidateOnBlur:y,isReValidateOnChange:g,isSubmitted:m,isTouched:!!C(h,r)},d)),[y,g,m,h,r,d]),W=e.useCallback(([e])=>{const r=(e=>H(e)||!p(e.target)||p(e.target)&&!e.type?e:F(e.target.value)?e.target.checked:e.target.value)(e);return D(r),E.current=r,r},[]),M=e.useCallback(e=>{R.current[r]?R.current[r]=Object.assign({ref:R.current[r].ref},t):(o(Object.defineProperties({name:r,focus:N.current},{value:{set(e){D(e),E.current=e},get:()=>E.current}}),t),e=F(C(i.current,r))),e&&k&&D(S())},[t,r,o]);e.useEffect(()=>()=>l(r),[r]),e.useEffect(()=>{M()},[M]),e.useEffect(()=>{!R.current[r]&&M(!0)});const T=e.useCallback(()=>{A.current.touched&&!C(h,r)&&(V(h,r,!0),O({touched:h})),L(!0)&&f(r)},[r,O,L,f,A]);return{field:{onChange:e.useCallback((...e)=>a(r,W(e),{shouldValidate:L(),shouldDirty:!0}),[a,r,L]),onBlur:T,name:r,value:w,ref:B},meta:Object.defineProperties({invalid:!!C(v,r)},{isDirty:{get:()=>!!C(b.dirtyFields,r)},isTouched:{get:()=>!!C(b.touched,r)}})}}exports.Controller=r=>{const{rules:t,as:n,render:s,defaultValue:c,control:u,onFocus:i}=r,a=be(r,["rules","as","render","defaultValue","control","onFocus"]),{field:o,meta:l}=xe(r),f=Object.assign(Object.assign({},a),o);return n?e.isValidElement(n)?e.cloneElement(n,f):e.createElement(n,f):s?s(o,l):null},exports.FormProvider=r=>{var{children:t}=r,n=be(r,["children"]);return e.createElement(me.Provider,{value:Object.assign({},n)},t)},exports.appendErrors=re,exports.get=C,exports.transformToNestObject=j,exports.useController=xe,exports.useFieldArray=({control:r,name:t,keyName:n="id"})=>{const s=he(),c=e.useRef(-1),u=e.useRef(!1),{isFormDirty:i,updateWatchedValue:a,resetFieldArrayFunctionRef:o,fieldArrayNamesRef:l,fieldsRef:f,defaultValuesRef:d,removeFieldEventListener:y,formStateRef:g,shallowFieldsStateRef:b,updateFormState:m,readFormStateRef:h,validFieldsRef:v,fieldsWithValidationRef:p,fieldArrayDefaultValuesRef:O,validateResolver:R,getValues:j,shouldUnregister:F,fieldArrayValuesRef:x}=r||s.control,k=e=>C(F?e:b.current,t,[]),S=ue(t),w=e.useRef([...C(O.current,S)?k(O.current):k(d.current)]),[D,E]=e.useState(Ce(w.current,n));V(x.current,t,A(D));const B=e=>e.map((e={})=>{var r=n;e[r];return be(e,["symbol"==typeof r?r:r+""])});l.current.add(t);const N=e.useCallback(()=>C(x.current,t,[]),[t]),L=()=>Ce(C(j(),t,N()).map((e,r)=>Object.assign(Object.assign({},N()[r]),e)),n);l.current.add(t),S&&!C(O.current,S)&&V(O.current,S,le(C(d.current,S)));const W=e=>{if(E(e),V(x.current,t,e),h.current.isValid&&R){const r=j();V(r,t,e),R(r)}},M=()=>{for(const e in f.current)ie(e,t)&&(y(f.current[e],!0),delete f.current[e])},T=e=>!A(C(e,t,[])).length&&U(e,t),P=e=>{e&&V(g.current.dirtyFields,t,G(B(e),C(d.current,t,[]),C(g.current.dirtyFields,t,[])))},$=(e,r,n,s=[],c=!0,a=!1)=>{if(C(b.current,t)){const n=e(C(b.current,t),r.argA,r.argB);c&&V(b.current,t,n)}if(C(O.current,t)){const n=e(C(O.current,t),r.argA,r.argB);c&&V(O.current,t,n)}if(Array.isArray(C(g.current.errors,t))){const n=e(C(g.current.errors,t),r.argA,r.argB);c&&V(g.current.errors,t,n),T(g.current.errors)}if(h.current.touched&&C(g.current.touched,t)){const n=e(C(g.current.touched,t),r.argA,r.argB);c&&V(g.current.touched,t,n),T(g.current.touched)}(h.current.dirtyFields||h.current.isDirty)&&(V(g.current.dirtyFields,t,G(B(s),C(d.current,t,[]),C(g.current.dirtyFields,t,[]))),P(n),T(g.current.dirtyFields)),a&&h.current.isValid&&!R&&(V(v.current,t,e(C(v.current,t,[]),r.argA)),T(v.current),V(p.current,t,e(C(p.current,t,[]),r.argA)),T(p.current)),!u.current&&h.current.isDirty&&m({isDirty:i(t,B(s))})},q=e=>{const r=L(),t=pe(r,e);W(t),M(),$(pe,{argA:e,argC:e},t,pe(r,e),!0,!0)};return e.useEffect(()=>{const e=C(O.current,t);if(e&&D.length<e.length&&V(O.current,t,e.slice(1)),a(t),c.current>-1)for(const e in f.current){const r=f.current[e];if(e.startsWith(`${t}[${c.current}]`)&&r.ref.focus){r.ref.focus();break}}c.current=-1},[D,t]),e.useEffect(()=>{const e=o.current,r=l.current;return ue(t)||(e[t]=e=>{M(),!e&&U(O.current,t),U(b.current,t),w.current=C(e||d.current,t),u.current||E(Ce(w.current,n))}),()=>{u.current=!0,F&&q(),M(),delete e[t],U(x.current,t),r.delete(t)}},[]),{swap:e.useCallback((e,r)=>{const t=L();Ae(t,e,r),M(),W([...t]),$(Ae,{argA:e,argB:r,argC:e,argD:r},void 0,t,!1)},[t]),move:e.useCallback((e,r)=>{const t=L();Oe(t,e,r),M(),W([...t]),$(Oe,{argA:e,argB:r,argC:e,argD:r},void 0,t,!1)},[t]),prepend:e.useCallback((e,r=!0)=>{const t=je(e),s=Re(L(),Ce(Array.isArray(e)?e:[e],n));W(s),M(),$(Re,{argA:t,argC:Fe(e)},s),c.current=r?0:-1},[t]),append:e.useCallback((e,r=!0)=>{const s=Array.isArray(e)?e:[e],u=[...L(),...Ce(s,n)];W(u),(h.current.dirtyFields||h.current.isDirty)&&(P(u),m({isDirty:!0,dirtyFields:g.current.dirtyFields})),!F&&V(b.current,t,[...C(b.current,t)||[],...le(s)]),c.current=r?C(x.current,t).length-1:-1},[t]),remove:e.useCallback(q,[t]),insert:e.useCallback((e,r,t=!0)=>{const s=je(r),u=L(),i=Ve(u,e,Ce(Array.isArray(r)?r:[r],n));W(i),M(),$(Ve,{argA:e,argB:s,argC:e,argD:Fe(r)},i,Ve(u,e)),c.current=t?e:-1},[t]),fields:A(D)}},exports.useForm=function({mode:c=i,reValidateMode:a=u,resolver:l,context:f,defaultValues:d={},shouldFocusError:y=!0,shouldUnregister:g=!0,criteriaMode:b}={}){const m=e.useRef({}),v=e.useRef({}),R=e.useRef({}),k=e.useRef(new Set),S=e.useRef({}),N=e.useRef({}),L=e.useRef({}),W=e.useRef({}),$=e.useRef(d),I=e.useRef(!1),z=e.useRef(!1),Q=e.useRef(),X=e.useRef({}),Z=e.useRef({}),ee=e.useRef(f),re=e.useRef(l),ie=e.useRef(new Set),be=e.useRef(fe(c)),{isOnSubmit:me,isOnTouch:he}=be.current,ve=b===o,[pe,Oe]=e.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touched:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!me,errors:{}}),Ae=e.useRef({isDirty:!ge,dirtyFields:!ge,touched:!ge||he,isValidating:!ge,isSubmitting:!ge,isValid:!ge}),Re=e.useRef(pe),Ve=e.useRef(),{isOnBlur:je,isOnChange:Fe}=e.useRef(fe(a)).current;ee.current=f,re.current=l,Re.current=pe,X.current=g?{}:P(X.current)?le(d):X.current;const Ce=e.useCallback((e={})=>{I.current||(Re.current=Object.assign(Object.assign({},Re.current),e),Oe(Re.current))},[]),xe=()=>Ae.current.isValidating&&Ce({isValidating:!0}),ke=e.useCallback((e,r,t=!1,n={},s)=>{let c=t||(({errors:e,name:r,error:t,validFields:n,fieldsWithValidation:s})=>{const c=F(t),u=C(e,r);return c&&!!u||!c&&!_(u,t,!0)||c&&C(s,r)&&!C(n,r)})({errors:Re.current.errors,error:r,name:e,validFields:W.current,fieldsWithValidation:L.current});const u=C(Re.current.errors,e);r?(U(W.current,e),c=c||!u||!_(u,r,!0),V(Re.current.errors,e,r)):((C(L.current,e)||re.current)&&(V(W.current,e,!0),c=c||u),U(Re.current.errors,e)),(c&&!h(t)||!P(n)||Ae.current.isValidating)&&Ce(Object.assign(Object.assign(Object.assign({},n),re.current?{isValid:!!s}:{}),{isValidating:!1}))},[]),Se=e.useCallback((e,t)=>{const{ref:n,options:s}=m.current[e],c=oe&&r(n)&&h(t)?"":t;w(n)?(s||[]).forEach(({ref:e})=>e.checked=e.value===c):D(n)&&!J(c)?n.files=c:B(n)?[...n.options].forEach(e=>e.selected=c.includes(e.value)):E(n)&&s?s.length>1?s.forEach(({ref:e})=>e.checked=Array.isArray(c)?!!c.find(r=>r===e.value):c===e.value):s[0].ref.checked=!!c:n.value=c},[]),we=e.useCallback((e,r)=>{if(Ae.current.isDirty){const t=$e();return e&&r&&V(t,e,r),!_(t,$.current)}return!1},[]),De=e.useCallback((e,r=!0)=>{if(Ae.current.isDirty||Ae.current.dirtyFields){const t=!_(C($.current,e),M(m,e,X)),n=C(Re.current.dirtyFields,e),s=Re.current.isDirty;t?V(Re.current.dirtyFields,e,!0):U(Re.current.dirtyFields,e);const c={isDirty:we(),dirtyFields:Re.current.dirtyFields},u=Ae.current.isDirty&&s!==c.isDirty||Ae.current.dirtyFields&&n!==C(Re.current.dirtyFields,e);return u&&r&&Ce(c),u?c:{}}return{}},[]),Ee=e.useCallback(async(e,r)=>{const t=(await te(m,ve,m.current[e],X))[e];return ke(e,t,r),F(t)},[ke,ve]),Be=e.useCallback(async e=>{const{errors:r}=await re.current($e(),ee.current,ve),t=Re.current.isValid;if(Array.isArray(e)){const t=e.map(e=>{const t=C(r,e);return t?V(Re.current.errors,e,t):U(Re.current.errors,e),!t}).every(Boolean);return Ce({isValid:P(r),isValidating:!1}),t}{const n=C(r,e);return ke(e,n,t!==P(r),{},P(r)),!n}},[ke,ve]),Ne=e.useCallback(async e=>{const r=e||Object.keys(m.current);if(xe(),re.current)return Be(r);if(Array.isArray(r)){!e&&(Re.current.errors={});const t=await Promise.all(r.map(async e=>await Ee(e,null)));return Ce({isValidating:!1}),t.every(Boolean)}return await Ee(r)},[Be,Ee]),Le=e.useCallback((e,r,{shouldDirty:t,shouldValidate:n})=>{const s={};V(s,e,r);for(const c of ne(e,r))m.current[c]&&(Se(c,C(s,c)),t&&De(c),n&&Ne(c))},[Ne,Se,De]),We=e.useCallback((e,r,t)=>{if(!g&&!H(r)&&V(X.current,e,Array.isArray(r)?[...r]:Object.assign({},r)),m.current[e])Se(e,r),t.shouldDirty&&De(e),t.shouldValidate&&Ne(e);else if(!H(r)&&(Le(e,r,t),ie.current.has(e))){const n=ue(e)||e;V(v.current,e,r),Z.current[n]({[n]:C(v.current,n)}),(Ae.current.isDirty||Ae.current.dirtyFields)&&t.shouldDirty&&(V(Re.current.dirtyFields,e,G(r,C($.current,e,[]),C(Re.current.dirtyFields,e,[]))),Ce({isDirty:!_(Object.assign(Object.assign({},$e()),{[e]:r}),$.current)}))}!g&&V(X.current,e,r)},[De,Se,Le]),Me=e=>z.current||k.current.has(e)||k.current.has((e.match(/\w+/)||[])[0]),Te=e=>{let r=!0;if(!P(S.current))for(const t in S.current)e&&S.current[t].size&&!S.current[t].has(e)&&!S.current[t].has(ue(e))||(N.current[t](),r=!1);return r};function Pe(e){if(!g){let r=le(e);for(const e of ie.current)O(e)&&!r[e]&&(r=Object.assign(Object.assign({},r),{[e]:[]}));return r}return e}function $e(e){if(J(e))return M(m,e,X);if(Array.isArray(e)){const r={};for(const t of e)V(r,t,M(m,t,X));return r}return Pe(K(m,le(X.current),g))}Q.current=Q.current?Q.current:async({type:e,target:r})=>{let n=r.name;const s=m.current[n];let c,u;if(s){const i=e===t,a=ce(Object.assign({isBlurEvent:i,isReValidateOnChange:Fe,isReValidateOnBlur:je,isTouched:!!C(Re.current.touched,n),isSubmitted:Re.current.isSubmitted},be.current));let o=De(n,!1),l=!P(o)||!i&&Me(n);if(i&&!C(Re.current.touched,n)&&Ae.current.touched&&(V(Re.current.touched,n,!0),o=Object.assign(Object.assign({},o),{touched:Re.current.touched})),!g&&E(r)&&V(X.current,n,M(m,n)),a)return!i&&Te(n),(!P(o)||l&&P(o))&&Ce(o);if(xe(),re.current){const{errors:e}=await re.current($e(),ee.current,ve),t=Re.current.isValid;if(c=C(e,n),E(r)&&!c&&re.current){const r=ue(n),t=C(e,r,{});t.type&&t.message&&(c=t),r&&(t||C(Re.current.errors,r))&&(n=r)}u=P(e),t!==u&&(l=!0)}else c=(await te(m,ve,s,X))[n];!i&&Te(n),ke(n,c,l,o,u)}};const Ue=e.useCallback(async(e={})=>{const r=P(m.current)?$.current:{},{errors:t}=await re.current(Object.assign(Object.assign(Object.assign({},r),$e()),e),ee.current,ve)||{},n=P(t);Re.current.isValid!==n&&Ce({isValid:n})},[ve]),qe=e.useCallback((e,r)=>{!function(e,r,t,n,s,c){const{ref:u,ref:{name:i}}=t,a=e.current[i];if(!s){const r=M(e,i,n);!F(r)&&V(n.current,i,r)}u.type&&a?w(u)||E(u)?Array.isArray(a.options)&&a.options.length?(A(a.options).forEach((e={},t)=>{(T(e.ref)&&q(e,e.ref)||c)&&(x(e.ref,r),U(a.options,`[${t}]`))}),a.options&&!A(a.options).length&&delete e.current[i]):delete e.current[i]:(T(u)&&q(a,u)||c)&&(x(u,r),delete e.current[i]):delete e.current[i]}(m,Q.current,e,X,g,r),g&&(U(W.current,e.ref.name),U(L.current,e.ref.name))},[g]),He=e.useCallback(e=>{if(z.current)Ce();else{for(const r of k.current)if(r.startsWith(e)){Ce();break}Te(e)}},[]),Ie=e.useCallback((e,r)=>{e&&(qe(e,r),g&&!A(e.options||[]).length&&(U(Re.current.errors,e.ref.name),V(Re.current.dirtyFields,e.ref.name,!0),Ce({isDirty:we()}),Ae.current.isValid&&re.current&&Ue(),He(e.ref.name)))},[Ue,qe]),_e=e.useCallback((e,r,t)=>{const n=t?S.current[t]:k.current;let s=K(m,le(X.current),g,!1,e);if(J(e)){const t=ue(e)||e;return ie.current.has(t)&&(s=Object.assign(Object.assign({},R.current),s)),se(s,e,n,F(C($.current,e))?r:C($.current,e),!0)}const c=F(r)?$.current:r;return Array.isArray(e)?e.reduce((e,r)=>Object.assign(Object.assign({},e),{[r]:se(s,r,n,c)}),{}):(z.current=F(t),j(!P(s)&&s||c))},[]);function ze(e,c={}){const{name:u,type:i,value:a}=e,o=Object.assign({ref:e},c),l=m.current,f=de(e),d=ae(ie.current,u),y=t=>oe&&(!r(e)||t===e);let b,h=l[u],v=!0;if(h&&(f?Array.isArray(h.options)&&A(h.options).find(e=>a===e.ref.value&&y(e.ref)):y(h.ref)))return void(l[u]=Object.assign(Object.assign({},h),c));h=i?f?Object.assign({options:[...A(h&&h.options||[]),{ref:e}],ref:{type:i,name:u}},c):Object.assign({},o):o,l[u]=h;const p=F(C(X.current,u));P($.current)&&p||(b=C(p?$.current:X.current,u),v=F(b),v||d||Se(u,b)),P(c)||(V(L.current,u,!0),!me&&Ae.current.isValid&&te(m,ve,h,X).then(e=>{const r=Re.current.isValid;P(e)?V(W.current,u,!0):U(W.current,u),r!==P(e)&&Ce()})),!g||d&&v||!d&&U(Re.current.dirtyFields,u),i&&function({ref:e},c,u){r(e)&&u&&(e.addEventListener(c?n:s,u),e.addEventListener(t,u))}(f&&h.options?h.options[h.options.length-1]:h,f||"select-one"===e.type,Q.current)}const Ge=e.useCallback((e,r)=>async t=>{t&&t.preventDefault&&(t.preventDefault(),t.persist());let n={},s=Pe(K(m,le(X.current),g,!0));Ae.current.isSubmitting&&Ce({isSubmitting:!0});try{if(re.current){const{errors:e,values:r}=await re.current(s,ee.current,ve);Re.current.errors=n=e,s=r}else for(const e of Object.values(m.current))if(e){const{name:r}=e.ref,t=await te(m,ve,e,X);t[r]?(V(n,r,t[r]),U(W.current,r)):C(L.current,r)&&(U(Re.current.errors,r),V(W.current,r,!0))}P(n)&&Object.keys(Re.current.errors).every(e=>e in m.current)?(Ce({errors:{},isSubmitting:!0}),await e(s,t)):(Re.current.errors=Object.assign(Object.assign({},Re.current.errors),n),r&&await r(Re.current.errors,t),y&&((e,r)=>{for(const t in e)if(C(r,t)){const r=e[t];if(r){if(r.ref.focus&&F(r.ref.focus()))break;if(r.options){r.options[0].ref.focus();break}}}})(m.current,Re.current.errors))}finally{Re.current.isSubmitting=!1,Ce({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:P(Re.current.errors),submitCount:Re.current.submitCount+1})}},[y,ve]);e.useEffect(()=>{l&&Ae.current.isValid&&Ue(),Ve.current=Ve.current||!oe?Ve.current:function(e,r){const t=new MutationObserver(()=>{for(const t of Object.values(e.current))if(t&&t.options)for(const e of t.options)e&&e.ref&&T(e.ref)&&r(t);else t&&T(t.ref)&&r(t)});return t.observe(window.document,{childList:!0,subtree:!0}),t}(m,Ie)},[Ie,$.current]),e.useEffect(()=>()=>{Ve.current&&Ve.current.disconnect(),I.current=!0,Object.values(m.current).forEach(e=>Ie(e,!0))},[]),!l&&Ae.current.isValid&&(pe.isValid=_(W.current,L.current)&&P(Re.current.errors));const Je={trigger:Ne,setValue:e.useCallback((function(e,r,t){We(e,r,t||{}),Me(e)&&Ce(),Te(e)}),[We,Ne]),getValues:e.useCallback($e,[]),register:e.useCallback((function(e,r){if(!ye)if(J(e))ze({name:e},r);else{if(!p(e)||!("name"in e))return r=>r&&ze(r,e);ze(e,r)}}),[$.current]),unregister:e.useCallback((function(e){for(const r of Array.isArray(e)?e:[e])Ie(m.current[r],!0)}),[]),formState:ge?new Proxy(pe,{get:(e,r)=>{if(r in e)return Ae.current[r]=!0,e[r]}}):pe},Ke=e.useMemo(()=>Object.assign({isFormDirty:we,updateWatchedValue:He,shouldUnregister:g,updateFormState:Ce,removeFieldEventListener:qe,watchInternal:_e,mode:be.current,reValidateMode:{isReValidateOnBlur:je,isReValidateOnChange:Fe},validateResolver:l?Ue:void 0,fieldsRef:m,resetFieldArrayFunctionRef:Z,useWatchFieldsRef:S,useWatchRenderFunctionsRef:N,fieldArrayDefaultValuesRef:v,validFieldsRef:W,fieldsWithValidationRef:L,fieldArrayNamesRef:ie,readFormStateRef:Ae,formStateRef:Re,defaultValuesRef:$,shallowFieldsStateRef:X,fieldArrayValuesRef:R},Je),[$.current,He,g,qe,_e]);return Object.assign({watch:function(e,r){return _e(e,r)},control:Ke,handleSubmit:Ge,reset:e.useCallback((e,t={})=>{if(oe)for(const e of Object.values(m.current))if(e){const{ref:t,options:n}=e,s=de(t)&&Array.isArray(n)?n[0].ref:t;if(r(s))try{s.closest("form").reset();break}catch(e){}}m.current={},$.current=Object.assign({},e||$.current),e&&Te(""),Object.values(Z.current).forEach(e=>Y(e)&&e()),X.current=g?{}:le(e||$.current),(({errors:e,isDirty:r,isSubmitted:t,touched:n,isValid:s,submitCount:c,dirtyFields:u})=>{s||(W.current={},L.current={}),v.current={},k.current=new Set,z.current=!1,Ce({submitCount:c?Re.current.submitCount:0,isDirty:!!r&&Re.current.isDirty,isSubmitted:!!t&&Re.current.isSubmitted,isValid:!!s&&Re.current.isValid,dirtyFields:u?Re.current.dirtyFields:{},touched:n?Re.current.touched:{},errors:e?Re.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})})(t)},[]),clearErrors:e.useCallback((function(e){e&&(Array.isArray(e)?e:[e]).forEach(e=>m.current[e]&&O(e)?delete Re.current.errors[e]:U(Re.current.errors,e)),Ce({errors:e?Re.current.errors:{}})}),[]),setError:e.useCallback((function(e,r){const t=(m.current[e]||{}).ref;V(Re.current.errors,e,Object.assign(Object.assign({},r),{ref:t})),Ce({isValid:!1}),r.shouldFocus&&t&&t.focus&&t.focus()}),[]),errors:pe.errors},Je)},exports.useFormContext=he,exports.useWatch=function({control:r,name:t,defaultValue:n}){const s=he(),{useWatchFieldsRef:c,useWatchRenderFunctionsRef:u,watchInternal:i,defaultValuesRef:a}=r||s.control,o=e.useState()[1],l=e.useRef(),f=e.useRef(n);return e.useEffect(()=>{const e=l.current=ve(),r=u.current,n=c.current;return n[e]=new Set,r[e]=()=>o({}),i(t,f.current,e),()=>{delete n[e],delete r[e]}},[t,u,c,i,f]),l.current?i(t,f.current,l.current):F(n)?J(t)?C(a.current,t):Array.isArray(t)?t.reduce((e,r)=>Object.assign(Object.assign({},e),{[r]:C(a.current,r)}),{}):a.current:n};
|
2
2
|
//# sourceMappingURL=index.cjs.production.min.js.map
|