react-hook-form 7.12.1-next.0 → 7.12.1

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.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),s=e=>"checkbox"===e.type,r=e=>e instanceof Date,a=e=>null==e;const n=e=>"object"==typeof e;var i=e=>!a(e)&&!Array.isArray(e)&&n(e)&&!r(e),o=e=>e.substring(0,e.search(/.\d/))||e,l=(e,t)=>[...e].some(e=>o(t)===e),u=e=>e.filter(Boolean),c=e=>void 0===e,d=(e,t,s)=>{if(i(e)&&t){const r=u(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return c(r)||r===e?c(e[t])?s:e[t]:r}};const f="blur",g="change",y="onBlur",m="onChange",b="onSubmit",h="onTouched",_="all",v="max",p="min",x="maxLength",V="minLength",O="pattern",j="required",F="validate";var A=(e,t)=>{const s=Object.assign({},e);return delete s[t],s};const w=t.createContext(null);w.displayName="RHFContext";const S=()=>t.useContext(w);var k=(e,t,s,r=!0)=>{function a(a){return()=>{if(a in e)return t[a]!==_&&(t[a]=!r||_),s&&(s[a]=!0),e[a]}}const n={};for(const t in e)Object.defineProperty(n,t,{get:a(t)});return n},D=e=>i(e)&&!Object.keys(e).length,C=(e,t,s)=>{const r=A(e,"name");return D(r)||Object.keys(r).length>=Object.keys(t).length||Object.keys(r).find(e=>t[e]===(!s||_))},E=e=>Array.isArray(e)?e:[e];function U(e){const s=S(),{control:r=s.control,disabled:a,name:n}=e||{},i=t.useRef(n),[o,l]=t.useState(r._formState.val),u=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1});return i.current=n,t.useEffect(()=>{const e=r._subjects.state.subscribe({next:e=>(!i.current||!e.name||E(i.current).includes(e.name))&&C(e,u.current)&&l(Object.assign(Object.assign({},r._formState.val),e))});return a&&e.unsubscribe(),()=>e.unsubscribe()},[a,r]),k(o,r._proxyFormState,u.current,!1)}function B(e){const r=S(),{name:a,control:n=r.control,shouldUnregister:o}=e,[u,c]=t.useState(d(n._formValues,a,d(n._defaultValues,a,e.defaultValue))),y=U({control:n||r.control,name:a}),m=n.register(a,Object.assign(Object.assign({},e.rules),{value:u}));return t.useEffect(()=>{const e=n._subjects.control.subscribe({next:e=>(!e.name||a===e.name)&&c(d(e.values,a))}),t=d(n._fields,a);return t&&(t._f.mount=!0),()=>{e.unsubscribe();const t=n._shouldUnregister||o;if(l(n._names.array,a)?t&&!n._isInAction.val:t)n.unregister(a);else{const e=d(n._fields,a);e&&(e._f.mount=!1)}}},[a,n,o]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?s(e.target)?e.target.checked:e.target.value:e)(e);c(t),m.onChange({target:{value:t,name:a},type:g})},onBlur:()=>{m.onBlur({target:{name:a},type:f})},name:a,value:u,ref:e=>e&&m.ref({focus:()=>e.focus&&e.focus(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})},formState:y,fieldState:{invalid:!!d(y.errors,a),isDirty:!!d(y.dirtyFields,a),isTouched:!!d(y.touchedFields,a),error:d(y.errors,a)}}}var M=(e,t,s,r,a)=>t?Object.assign(Object.assign({},s[e]),{types:Object.assign(Object.assign({},s[e]&&s[e].types?s[e].types:{}),{[r]:a||!0})}):{},N=e=>/^\w*$/.test(e),R=e=>u(e.replace(/["|']|\]/g,"").split(/\.|\[/));function T(e,t,s){let r=-1;const a=N(t)?[t]:R(t),n=a.length,o=n-1;for(;++r<n;){const t=a[r];let n=s;if(r!==o){const s=e[t];n=i(s)||Array.isArray(s)?s:isNaN(+a[r+1])?{}:[]}e[t]=n,e=e[t]}return e}const P=(e,t,s)=>{for(const r of s||Object.keys(e)){const s=d(e,r);if(s){const e=s._f,r=A(s,"_f");if(e&&t(e.name)){if(e.ref.focus&&c(e.ref.focus()))break;if(e.refs){e.refs[0].focus();break}}else i(r)&&P(r,t)}}};var I=(e,t,s)=>s&&!s.shouldFocus?s.focusName||`${e}.${s.focusIndex}.`:`${e}.${t}.`,L=()=>{const e="undefined"==typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const s=(16*Math.random()+e)%16|0;return("x"==t?s:3&s|8).toString(16)})},W=(e=[],t)=>e.map(e=>Object.assign({[t]:e&&e[t]||L()},e));function $(e,t){return[...E(e),...E(t)]}var q=e=>Array.isArray(e)?Array(e.length).fill(void 0):void 0;function H(e,t,s){return[...e.slice(0,t),...E(s),...e.slice(t)]}var z=(e,t,s)=>Array.isArray(e)?(c(e[s])&&(e[s]=void 0),e.splice(s,0,e.splice(t,1)[0]),e):[],G=(e,t)=>e.map((e={})=>A(e,t));function J(e,t){return[...E(t),...E(e)]}var K=(e,t)=>c(t)?[]:function(e,t){let s=0;const r=[...e];for(const e of t)r.splice(e-s,1),s++;return u(r).length?r:[]}(e,E(t).sort((e,t)=>e-t)),Q=(e,t,s)=>{e[t]=[e[s],e[s]=e[t]][0]},X=e=>"boolean"==typeof e;function Y(e,t){const s=N(t)?[t]:R(t),r=1==s.length?e:function(e,t){const s=t.slice(0,-1).length;let r=0;for(;r<s;)e=c(e)?r++:e[t[r++]];return e}(e,s),a=s[s.length-1];let n;r&&delete r[a];for(let t=0;t<s.slice(0,-1).length;t++){let r,a=-1;const o=s.slice(0,-(t+1)),l=o.length-1;for(t>0&&(n=e);++a<o.length;){const t=o[a];r=r?r[t]:e[t],l===a&&(i(r)&&D(r)||Array.isArray(r)&&!r.filter(e=>i(e)&&!D(e)||X(e)).length)&&(n?delete n[t]:delete e[t]),n=r}}return e}var Z=e=>a(e)||!n(e);function ee(e,s,a){if(Z(e)||Z(s)||r(e)||r(s))return e===s;if(!t.isValidElement(e)){const t=Object.keys(e),r=Object.keys(s);if(t.length!==r.length)return!1;for(const r of t){const t=e[r];if(!a||"ref"!==r){const e=s[r];if((i(t)||Array.isArray(t))&&(i(e)||Array.isArray(e))?!ee(t,e,a):t!==e)return!1}}}return!0}var te=e=>({isOnSubmit:!e||e===b,isOnBlur:e===y,isOnChange:e===m,isOnAll:e===_,isOnTouch:e===h}),se=e=>"file"===e.type,re=e=>"function"==typeof e,ae=e=>e instanceof HTMLElement,ne=e=>"select-multiple"===e.type,ie=e=>"radio"===e.type,oe=e=>"string"==typeof e,le="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;class ue{constructor(){this.tearDowns=[]}add(e){this.tearDowns.push(e)}unsubscribe(){for(const e of this.tearDowns)e();this.tearDowns=[]}}class ce{constructor(e,t){this.observer=e,this.closed=!1,t.add(()=>this.closed=!0)}next(e){this.closed||this.observer.next(e)}}class de{constructor(){this.observers=[]}next(e){for(const t of this.observers)t.next(e)}subscribe(e){const t=new ue,s=new ce(e,t);return this.observers.push(s),t}unsubscribe(){this.observers=[]}}const fe={value:!1,isValid:!1},ge={value:!0,isValid:!0};var ye=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!c(e[0].attributes.value)?c(e[0].value)||""===e[0].value?ge:{value:e[0].value,isValid:!0}:ge:fe}return fe},me=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:r})=>c(e)?e:t?""===e?NaN:+e:s?new Date(e):r?r(e):e;const be={isValid:!1,value:null};var he=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,be):be;function _e(e){if(e&&e._f){const r=e._f.ref;if(e._f.refs?e._f.refs.every(e=>e.disabled):r.disabled)return;return se(r)?r.files:ie(r)?he(e._f.refs).value:ne(r)?(t=r.options,[...t].filter(({selected:e})=>e).map(({value:e})=>e)):s(r)?ye(e._f.refs).value:me(c(r.value)?e._f.ref.value:r.value,e._f)}var t}function ve(e,t,s,r,n){let i=-1;for(;++i<e.length;){for(const r in e[i])Array.isArray(e[i][r])?(!s[i]&&(s[i]={}),s[i][r]=[],ve(e[i][r],d(t[i]||{},r,[]),s[i][r],s[i],r)):!a(t)&&ee(d(t[i]||{},r),e[i][r])?T(s[i]||{},r):s[i]=Object.assign(Object.assign({},s[i]),{[r]:!0});r&&!s.length&&delete r[n]}return s}var pe=(e,t,s)=>function e(t,s){if(Z(t)||Z(s))return s;for(const r in s){const a=t[r],n=s[r];try{t[r]=i(a)&&i(n)||Array.isArray(a)&&Array.isArray(n)?e(a,n):n}catch(e){}}return t}(ve(e,t,s.slice(0,e.length)),ve(t,e,s.slice(0,e.length))),xe=(e,t)=>!u(d(e,t,[])).length&&Y(e,t),Ve=e=>oe(e)||t.isValidElement(e),Oe=e=>e instanceof RegExp;function je(e,t,s="validate"){if(Ve(e)||Array.isArray(e)&&e.every(Ve)||X(e)&&!e)return{type:s,message:Ve(e)?e:"",ref:t}}var Fe=e=>i(e)&&!Oe(e)?e:{value:e,message:""},Ae=async(e,t,r,n)=>{const{ref:o,refs:l,required:u,maxLength:c,minLength:d,min:f,max:g,pattern:y,validate:m,name:b,valueAsNumber:h,mount:_}=e._f;if(!_)return{};const A=l?l[0]:o,w=e=>{n&&A.reportValidity&&(A.setCustomValidity(X(e)?"":e||" "),A.reportValidity())},S={},k=ie(o),C=s(o),E=k||C,U=(h||se(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,B=M.bind(null,b,r,S),N=(e,t,s,r=x,a=V)=>{const n=e?t:s;S[b]=Object.assign({type:e?r:a,message:n,ref:o},B(e?r:a,n))};if(u&&(!E&&(U||a(t))||X(t)&&!t||C&&!ye(l).isValid||k&&!he(l).isValid)){const{value:e,message:t}=Ve(u)?{value:!!u,message:u}:Fe(u);if(e&&(S[b]=Object.assign({type:j,message:t,ref:A},B(j,t)),!r))return w(t),S}if(!(U||a(f)&&a(g))){let e,s;const n=Fe(g),i=Fe(f);if(isNaN(t)){const r=o.valueAsDate||new Date(t);oe(n.value)&&(e=r>new Date(n.value)),oe(i.value)&&(s=r<new Date(i.value))}else{const r=o.valueAsNumber||parseFloat(t);a(n.value)||(e=r>n.value),a(i.value)||(s=r<i.value)}if((e||s)&&(N(!!e,n.message,i.message,v,p),!r))return w(S[b].message),S}if((c||d)&&!U&&oe(t)){const e=Fe(c),s=Fe(d),n=!a(e.value)&&t.length>e.value,i=!a(s.value)&&t.length<s.value;if((n||i)&&(N(n,e.message,s.message),!r))return w(S[b].message),S}if(y&&!U&&oe(t)){const{value:e,message:s}=Fe(y);if(Oe(e)&&!t.match(e)&&(S[b]=Object.assign({type:O,message:s,ref:o},B(O,s)),!r))return w(s),S}if(m)if(re(m)){const e=je(await m(t),A);if(e&&(S[b]=Object.assign(Object.assign({},e),B(F,e.message)),!r))return w(e.message),S}else if(i(m)){let e={};for(const s in m){if(!D(e)&&!r)break;const a=je(await m[s](t),A,s);a&&(e=Object.assign(Object.assign({},a),B(s,a.message)),w(a.message),r&&(S[b]=e))}if(!D(e)&&(S[b]=Object.assign({ref:A},e),!r))return S}return w(!0),S};const we={mode:b,reValidateMode:m,shouldFocusError:!0},Se="undefined"==typeof window;function ke(e={}){let t,n=Object.assign(Object.assign({},we),e),g={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}};const y={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let m={},b={},h=n.defaultValues||{},v=!1,p=!1;const x={watch:new de,control:new de,array:new de,state:new de};let V={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1};const O=te(n.mode),j=n.criteriaMode===_,F=e=>V.watchAll||V.watch.has(e)||V.watch.has((e.match(/\w+/)||[])[0]),w=async(e,t,s,r,a,i)=>{const o=d(g.errors,t),l=!!y.isValid&&(n.resolver?a:await U(m,!0));if(s?T(g.errors,t,s):Y(g.errors,t),(i||(s?!ee(o,s,!0):o)||!D(r)||g.isValid!==l)&&!e){const e=Object.assign(Object.assign({},r),{isValid:!!l,errors:g.errors,name:t});g=Object.assign(Object.assign({},g),e),x.state.next(i?{name:t}:e)}x.state.next({isValidating:!1})},S=(e,t,r={},n,i)=>{i&&K(e);const o=d(m,e);if(o){const i=o._f;if(i){T(b,e,me(t,i));const o=le&&ae(i.ref)&&a(t)?"":t;se(i.ref)&&!oe(o)?i.ref.files=o:ne(i.ref)?[...i.ref.options].forEach(e=>e.selected=o.includes(e.value)):i.refs?s(i.ref)?i.refs.length>1?i.refs.forEach(e=>e.checked=Array.isArray(o)?!!o.find(t=>t===e.value):o===e.value):i.refs[0].checked=!!o:i.refs.forEach(e=>e.checked=e.value===o):i.ref.value=o,n&&x.control.next({values:H(),name:e}),(r.shouldDirty||r.shouldTouch)&&k(e,o,r.shouldTouch),r.shouldValidate&&q(e)}}},k=(e,t,s,r=!0)=>{const a={name:e};let n=!1;if(y.isDirty){const e=g.isDirty;g.isDirty=R(),a.isDirty=g.isDirty,n=e!==a.isDirty}if(y.dirtyFields&&!s){const s=d(g.dirtyFields,e);!ee(d(h,e),t)?T(g.dirtyFields,e,!0):Y(g.dirtyFields,e),a.dirtyFields=g.dirtyFields,n=n||s!==d(g.dirtyFields,e)}const i=d(g.touchedFields,e);return s&&!i&&(T(g.touchedFields,e,s),a.touchedFields=g.touchedFields,n=n||y.touchedFields&&i!==s),n&&r&&x.state.next(a),n?a:{}},C=async e=>n.resolver?await n.resolver(Object.assign({},b),n.context,((e,t,s,r)=>{const a={};for(const s of e){const e=d(t,s);e&&T(a,s,e._f)}return{criteriaMode:s,names:[...e],fields:a,shouldUseNativeValidation:r}})(e||V.mount,m,n.criteriaMode,n.shouldUseNativeValidation)):{},U=async(e,t,s={valid:!0})=>{for(const r in e){const a=e[r];if(a){const e=a._f,r=A(a,"_f");if(e){const r=await Ae(a,d(b,e.name),j,n.shouldUseNativeValidation);if(t){if(r[e.name]){s.valid=!1;break}}else r[e.name]?T(g.errors,e.name,r[e.name]):Y(g.errors,e.name)}r&&await U(r,t,s)}}return s.valid},B=async(e,t,r,a)=>{let i,l,u=e.name;const c=d(m,u);if(n.resolver){const{errors:t}=await C([u]);if(i=d(t,u),s(e)&&!i){const e=o(u),s=d(t,e,{});s.type&&s.message&&(i=s),(s||d(g.errors,e))&&(u=e)}l=D(t)}else i=(await Ae(c,d(b,u),j,n.shouldUseNativeValidation))[u];!a&&x.watch.next({name:u,type:e.type}),w(!1,u,i,t,l,r)},M=async({type:e,target:s,target:{value:r,name:a,type:i}})=>{const o=d(m,a);if(o){let u=i?_e(o):void 0;u=c(u)?r:u;const y=e===f,{isOnBlur:m,isOnChange:h}=te(n.reValidateMode),_=(l=o._f,!(o._f.mount&&l&&(l.required||l.min||l.max||l.maxLength||l.minLength||l.pattern||l.validate)||n.resolver||d(g.errors,a))||(({isOnBlur:e,isOnChange:t,isOnTouch:s,isTouched:r,isReValidateOnBlur:a,isReValidateOnChange:n,isBlurEvent:i,isSubmitted:o,isOnAll:l})=>!l&&(!o&&s?!(r||i):(o?a:e)?!i:!(o?n:t)||i))(Object.assign({isBlurEvent:y,isTouched:!!d(g.touchedFields,a),isSubmitted:g.isSubmitted,isReValidateOnBlur:m,isReValidateOnChange:h},O))),v=!y&&F(a);c(u)||T(b,a,u);const p=k(a,u,y,!1),V=!D(p)||v;if(_)return!y&&x.watch.next({name:a,type:e}),V&&x.state.next(v?{name:a}:Object.assign(Object.assign({},p),{name:a}));x.state.next({isValidating:!0}),d(g.errors,a)||!n.delayError?B(s,p,v,y):(t=t||((e,t)=>{let s=0;return(...r)=>{clearTimeout(s),s=setTimeout(()=>e(...r),t)}})(B,n.delayError),t(s,p,v,y),v&&x.state.next({name:a}))}var l},N=(e,t)=>{const s=d(m,e);if(s){const r=d(b,e),a=c(r)?d(h,e):r;c(a)||t&&t.defaultChecked?T(b,e,_e(s)):S(e,a)}p&&y.isValid&&I()},R=(e,t)=>(e&&t&&T(b,e,t),!ee(Object.assign({},H()),h)),I=async()=>{const e=n.resolver?D((await C()).errors):await U(m,!0);e!==g.isValid&&(g.isValid=e,x.state.next({isValid:e}))},L=(e,t,s)=>Object.entries(t).forEach(([t,a])=>{const n=`${e}.${t}`,i=d(m,n);!V.array.has(e)&&Z(a)&&(!i||i._f)||r(a)?S(n,a,s,!0,!i):L(n,a,s)}),W=(e,t,s)=>{const r=Object.assign({},p?Object.assign({},Object.assign(Object.assign({},h),b)):c(t)?h:t);if(!e)return s&&(V.watchAll=!0),r;const a=[];for(const t of E(e))s&&V.watch.add(t),a.push(d(r,t));return Array.isArray(e)?a:i(a[0])?Object.assign({},a[0]):Array.isArray(a[0])?[...a[0]]:a[0]},$=(e,t="")=>{for(const s in e){const r=e[s],a=t+(t?".":"")+s,n=d(m,a);n&&n._f||(i(r)||Array.isArray(r)?$(r,a):n||T(b,a,r))}},q=async(e,t={})=>{const s=E(e);let r;if(x.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await C();if(e)for(const s of e){const e=d(t,s);e?T(g.errors,s,e):Y(g.errors,s)}else g.errors=t;return t})(c(e)?e:s);r=e?s.every(e=>!d(t,e)):D(t)}else e?r=(await Promise.all(s.filter(e=>d(m,e,{})._f).map(async e=>await(async(e,t)=>{const s=(await Ae(d(m,e),H(e),j,n.shouldUseNativeValidation))[e];return await w(t,e,s),c(s)})(e,!0)))).every(Boolean):(await U(m),r=D(g.errors));return x.state.next(Object.assign(Object.assign({},oe(e)?{name:e}:{}),{errors:g.errors,isValidating:!1})),t.shouldFocus&&!r&&P(m,e=>d(g.errors,e),e?s:V.mount),y.isValid&&I(),r},H=e=>{const t=Object.assign(Object.assign({},h),b);return c(e)?t:oe(e)?d(t,e):e.map(e=>d(t,e))},z=(e,t={})=>{for(const s of e?E(e):V.mount)V.mount.delete(s),V.array.delete(s),d(m,s)&&(t.keepValue||(Y(m,s),Y(b,s)),!t.keepError&&Y(g.errors,s),!t.keepDirty&&Y(g.dirtyFields,s),!t.keepTouched&&Y(g.touchedFields,s),!n.shouldUnregister&&!t.keepDefaultValue&&Y(h,s));x.watch.next({}),x.state.next(Object.assign(Object.assign({},g),t.keepDirty?{isDirty:R()}:{})),!t.keepIsValid&&I()},J=(e,t,r)=>{K(e,r);let a=d(m,e);const n=(e=>ie(e)||s(e))(t);t===a._f.ref||n&&u(a._f.refs||[]).find(e=>e===t)||(a={_f:n?Object.assign(Object.assign({},a._f),{refs:[...u(a._f.refs||[]).filter(e=>ae(e)&&document.contains(e)),t],ref:{type:t.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:t})},T(m,e,a),N(e,t))},K=(e,t={})=>{const s=d(m,e);return T(m,e,{_f:Object.assign(Object.assign(Object.assign({},s&&s._f?s._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),t.value&&T(b,e,t.value),!c(t.disabled)&&s&&s._f&&s._f.ref.disabled!==t.disabled&&T(b,e,t.disabled?void 0:s._f.ref.value),V.mount.add(e),!s&&N(e),Se?{name:e}:Object.assign(Object.assign({name:e},c(t.disabled)?{}:{disabled:t.disabled}),{onChange:M,onBlur:M,ref:s=>{if(s)J(e,s,t);else{const s=d(m,e,{}),r=n.shouldUnregister||t.shouldUnregister;s._f&&(s._f.mount=!1),r&&(!l(V.array,e)||!v)&&V.unMount.add(e)}}})};return{control:{register:K,unregister:z,_setValues:L,_getIsDirty:R,_getWatch:W,_updateValid:I,_updateFormValues:$,_bathFieldArrayUpdate:(e,t,s,r,a=[],n=!0)=>{if(v=!0,d(m,t)){const e=s(d(m,t),r.argA,r.argB);n&&T(m,t,e)}if(T(b,t,a),Array.isArray(d(g.errors,t))){const e=s(d(g.errors,t),r.argA,r.argB);n&&T(g.errors,t,e),xe(g.errors,t)}if(y.touchedFields&&d(g.touchedFields,t)){const e=s(d(g.touchedFields,t),r.argA,r.argB);n&&T(g.touchedFields,t,e),xe(g.touchedFields,t)}(y.dirtyFields||y.isDirty)&&(T(g.dirtyFields,t,pe(G(a,e),d(h,t,[]),d(g.dirtyFields,t,[]))),a&&T(g.dirtyFields,t,pe(G(a,e),d(h,t,[]),d(g.dirtyFields,t,[]))),xe(g.dirtyFields,t)),x.state.next({isDirty:R(t,G(a,e)),dirtyFields:g.dirtyFields,errors:g.errors,isValid:g.isValid})},_getFieldArrayValue:e=>d(p?b:h,e,[]),_subjects:x,_shouldUnregister:n.shouldUnregister,_fields:m,_proxyFormState:y,get _formValues(){return b},set _formValues(e){b=e},get _isMounted(){return p},set _isMounted(e){p=e},get _defaultValues(){return h},set _defaultValues(e){h=e},get _names(){return V},set _names(e){V=e},_isInAction:{get val(){return v},set val(e){v=e}},_formState:{get val(){return g},set val(e){g=e}},_updateProps:e=>{n=Object.assign(Object.assign({},we),e)}},trigger:q,register:K,handleSubmit:(e,t)=>async s=>{s&&(s.preventDefault&&s.preventDefault(),s.persist&&s.persist());let r=!0,a=Object.assign({},b);x.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await C();g.errors=e,a=t}else await U(m);D(g.errors)&&Object.keys(g.errors).every(e=>d(a,e))?(x.state.next({errors:{},isSubmitting:!0}),await e(a,s)):(t&&await t(g.errors,s),n.shouldFocusError&&P(m,e=>d(g.errors,e),V.mount))}catch(e){throw r=!1,e}finally{g.isSubmitted=!0,x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(g.errors)&&r,submitCount:g.submitCount+1,errors:g.errors})}},watch:(e,t)=>re(e)?x.watch.subscribe({next:s=>e(W(void 0,t),s)}):W(e,t,!0),setValue:(e,t,s={})=>{const r=d(m,e),n=V.array.has(e);n&&(x.array.next({values:t,name:e,isReset:!0}),(y.isDirty||y.dirtyFields)&&s.shouldDirty&&(T(g.dirtyFields,e,pe(t,d(h,e,[]),d(g.dirtyFields,e,[]))),x.state.next({name:e,dirtyFields:g.dirtyFields,isDirty:R(e,t)})),!t.length&&T(b,e,[])),T(b,e,t),(r&&!r._f||n)&&!a(t)?L(e,t,n?{}:s):S(e,t,s,!0,!r),F(e)&&x.state.next({}),x.watch.next({name:e})},getValues:H,reset:(e,t={})=>{const s=e||h;if(le&&!t.keepValues)for(const e of V.mount){const t=d(m,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ae(e)&&e.closest("form").reset();break}catch(e){}}}t.keepDefaultValues||(h=Object.assign({},s),b=Object.assign({},s)),t.keepValues||(m={},b={},x.control.next({values:t.keepDefaultValues?h:Object.assign({},s)}),x.watch.next({}),x.array.next({values:Object.assign({},s),isReset:!0})),V={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1},x.state.next({submitCount:t.keepSubmitCount?g.submitCount:0,isDirty:t.keepDirty?g.isDirty:!!t.keepDefaultValues&&ee(e,h),isSubmitted:!!t.keepIsSubmitted&&g.isSubmitted,dirtyFields:t.keepDirty?g.dirtyFields:{},touchedFields:t.keepTouched?g.touchedFields:{},errors:t.keepErrors?g.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),p=!!t.keepIsValid},clearErrors:e=>{e?E(e).forEach(e=>Y(g.errors,e)):g.errors={},x.state.next({errors:g.errors})},unregister:z,setError:(e,t,s)=>{const r=((d(m,e)||{_f:{}})._f||{}).ref;T(g.errors,e,Object.assign(Object.assign({},t),{ref:r})),x.state.next({name:e,errors:g.errors,isValid:!1}),s&&s.shouldFocus&&r&&r.focus&&r.focus()},setFocus:e=>d(m,e)._f.ref.focus()}}var De=e=>!ae(e)||!document.contains(e);exports.Controller=e=>e.render(B(e)),exports.FormProvider=e=>t.createElement(w.Provider,{value:A(e,"children")},e.children),exports.appendErrors=M,exports.get=d,exports.set=T,exports.useController=B,exports.useFieldArray=e=>{const s=S(),{control:r=s.control,name:a,keyName:n="id",shouldUnregister:i}=e,o=t.useRef(""),[l,u]=t.useState(W(r._getFieldArrayValue(a),n));r._names.array.add(a);return t.useEffect(()=>{if(r._isInAction.val=!1,r._names.watchAll)r._subjects.state.next({});else for(const e of r._names.watch)if(a.startsWith(e)){r._subjects.state.next({});break}r._subjects.watch.next({name:a,values:r._formValues}),o.current&&P(r._fields,e=>e.startsWith(o.current)),o.current="",r._subjects.array.next({name:a,values:G([...l],n)}),r._proxyFormState.isValid&&r._updateValid()},[l,a,r,n]),t.useEffect(()=>{const e=r._subjects.array.subscribe({next(e){e.isReset&&(Y(r._fields,e.name||a),Y(r._formValues,e.name||a),e.name?T(r._formValues,e.name,e.values):e.values&&(r._formValues=e.values),u(W(d(r._formValues,a),n)))}});return!d(r._formValues,a)&&T(r._formValues,a,[]),()=>{if(e.unsubscribe(),r._shouldUnregister||i)r.unregister(a),Y(r._formValues,a);else{const e=d(r._formValues,a);e&&T(r._formValues,a,e)}}},[a,r,n,i]),{swap:t.useCallback((e,t)=>{const s=r._getFieldArrayValue(a);Q(s,e,t),r._bathFieldArrayUpdate(n,a,Q,{argA:e,argB:t},s,!1),u(W(s,n))},[a,r,n]),move:t.useCallback((e,t)=>{const s=r._getFieldArrayValue(a);z(s,e,t),u(W(s,n)),r._bathFieldArrayUpdate(n,a,z,{argA:e,argB:t},s,!1)},[a,r,n]),prepend:t.useCallback((e,t)=>{const s=J(r._getFieldArrayValue(a),E(e));u(W(s,n)),r._bathFieldArrayUpdate(n,a,J,{argA:q(e)},s),o.current=I(a,0,t)},[a,r,n]),append:t.useCallback((e,t)=>{const s=E(e),i=$(r._getFieldArrayValue(a),s);u(W(i,n)),r._bathFieldArrayUpdate(n,a,$,{argA:q(e)},i,!1),o.current=I(a,i.length-s.length,t)},[a,r,n]),remove:t.useCallback(e=>{const t=K(r._getFieldArrayValue(a),e);u(W(t,n)),r._bathFieldArrayUpdate(n,a,K,{argA:e},t)},[a,r,n]),insert:t.useCallback((e,t,s)=>{const i=H(r._getFieldArrayValue(a),e,E(t));u(W(i,n)),r._bathFieldArrayUpdate(n,a,H,{argA:e,argB:q(t)},i),o.current=I(a,e,s)},[a,r,n]),update:t.useCallback((e,t)=>{r._setValues(a+"."+e,t,{shouldValidate:!!r._proxyFormState.isValid,shouldDirty:!(!r._proxyFormState.dirtyFields&&!r._proxyFormState.isDirty)});const s=r._getFieldArrayValue(a);s[e]=t,u(W(s,n))},[a,r,n]),fields:l}},exports.useForm=function(e={}){const s=t.useRef(),[r,a]=t.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}});s.current?s.current.control._updateProps(e):s.current=ke(e);const n=s.current.control;return t.useEffect(()=>{const e=n._subjects.state.subscribe({next(e){C(e,n._proxyFormState,!0)&&(n._formState.val=Object.assign(Object.assign({},n._formState.val),e),a(Object.assign({},n._formState.val)))}}),t=n._subjects.array.subscribe({next(e){e.values&&e.name&&n._proxyFormState.isValid&&(T(n._formValues,e.name,e.values),n._updateValid())}});return()=>{e.unsubscribe(),t.unsubscribe()}},[n]),t.useEffect(()=>{const t=[];n._isMounted||(n._isMounted=!0,n._proxyFormState.isValid&&n._updateValid(),!e.shouldUnregister&&n._updateFormValues(n._defaultValues));for(const e of n._names.unMount){const s=d(n._fields,e);s&&(s._f.refs?s._f.refs.every(De):De(s._f.ref))&&t.push(e)}t.length&&s.current.unregister(t),n._names.unMount=new Set}),Object.assign(Object.assign({},s.current),{formState:k(r,n._proxyFormState)})},exports.useFormContext=S,exports.useFormState=U,exports.useWatch=function(e){const s=S(),{control:r=s.control,name:a,defaultValue:n,disabled:i}=e||{},o=t.useRef(a);o.current=a;const[l,u]=t.useState(c(n)?r._getWatch(a):n);return t.useEffect(()=>{const e=r._subjects.watch.subscribe({next:({name:e})=>(!o.current||!e||E(o.current).some(t=>e&&t&&(t.startsWith(e)||e.startsWith(t))))&&u(r._getWatch(o.current,n))});return i&&e.unsubscribe(),()=>e.unsubscribe()},[i,r,n]),l};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("react")),t=e=>"checkbox"===e.type,n=e=>e instanceof Date,s=e=>null==e;const u=e=>"object"==typeof e;var c=e=>!s(e)&&!Array.isArray(e)&&u(e)&&!n(e),a=e=>e.substring(0,e.search(/.\d/))||e,i=(e,r)=>[...e].some(e=>a(r)===e),o=e=>e.filter(Boolean),l=e=>void 0===e,f=(e,r,t)=>{if(c(e)&&r){const n=o(r.split(/[,[\].]+?/)).reduce((e,r)=>s(e)?e:e[r],e);return l(n)||n===e?l(e[r])?t:e[r]:n}};const d="blur",y="change",b="onBlur",g="onChange",m="onSubmit",h="onTouched",v="all",p="max",x="min",O="maxLength",w="minLength",j="pattern",A="required",V="validate";var k=(e,r)=>{const t=Object.assign({},e);return delete t[r],t};const F=r.createContext(null);F.displayName="RHFContext";const _=()=>r.useContext(F);var C=(e,r,t,n,s=!0)=>e?new Proxy(r,{get:(e,r)=>{if(r in e)return t.current[r]!==v&&(t.current[r]=!s||v),n&&(n.current[r]=!0),e[r]}}):r,R=e=>c(e)&&!Object.keys(e).length,S=(e,r,t)=>{const n=k(e,"name");return R(n)||Object.keys(n).length>=Object.keys(r).length||Object.keys(n).find(e=>r[e]===(!t||v))},D=e=>Array.isArray(e)?e:[e],E="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;const B=E?"Proxy"in window:"undefined"!=typeof Proxy;function M(e){const{control:t,name:n}=e||{},s=_(),{formStateRef:u,subjectsRef:c,readFormStateRef:a}=t||s.control,i=r.useRef(n);i.current=n;const[o,l]=r.useState(u.current),f=r.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1});return r.useEffect(()=>{const e=c.current.state.subscribe({next:e=>(!i.current||!e.name||D(i.current).includes(e.name))&&S(e,f.current)&&l(Object.assign(Object.assign({},u.current),e))});return()=>e.unsubscribe()},[]),C(B,o,a,f,!1)}function N({name:e,rules:n,defaultValue:s,control:u,shouldUnregister:a}){const o=_(),{defaultValuesRef:b,register:g,fieldsRef:m,unregister:h,namesRef:v,subjectsRef:p,shouldUnmount:x,inFieldArrayActionRef:O}=u||o.control,w=f(m.current,e),[j,A]=r.useState(w&&w._f&&!l(w._f.value)?w._f.value:l(f(b.current,e))?s:f(b.current,e)),{onChange:V,onBlur:k,ref:F}=g(e,Object.assign(Object.assign({},n),{value:j})),C=M({control:u||o.control,name:e});function R(e,r){const t=f(m.current,e);t&&t._f&&(t._f.mount=r)}return r.useEffect(()=>{const r=p.current.control.subscribe({next:r=>(!r.name||e===r.name)&&A(f(r.values,e))});return R(e,!0),()=>{r.unsubscribe();const t=x||a;(i(v.current.array,e)?t&&!O.current:t)?h(e):R(e,!1)}},[e]),{field:{onChange:r=>{const n=(e=>c(e)&&e.target?t(e.target)?e.target.checked:e.target.value:e)(r);A(n),V({target:{value:n,name:e},type:y})},onBlur:()=>{k({target:{name:e},type:d})},name:e,value:j,ref:e=>e&&F({focus:()=>e.focus&&e.focus(),setCustomValidity:r=>e.setCustomValidity(r),reportValidity:()=>e.reportValidity()})},formState:C,fieldState:{invalid:!!f(C.errors,e),isDirty:!!f(C.dirtyFields,e),isTouched:!!f(C.touchedFields,e),error:f(C.errors,e)}}}var T=(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})}):{},I=e=>/^\w*$/.test(e),P=e=>o(e.replace(/["|']|\]/g,"").split(/\.|\[/));function U(e,r,t){let n=-1;const s=I(r)?[r]:P(r),u=s.length,a=u-1;for(;++n<u;){const r=s[n];let u=t;if(n!==a){const t=e[r];u=c(t)||Array.isArray(t)?t:isNaN(+s[n+1])?{}:[]}e[r]=u,e=e[r]}return e}const $=(e,r,t)=>{for(const n of t||Object.keys(e)){const t=f(e,n);if(t){const e=t._f,n=k(t,"_f");if(e&&r(e.name)){if(e.ref.focus&&l(e.ref.focus()))break;if(e.refs){e.refs[0].focus();break}}else c(n)&&$(n,r)}}},L=(e,r={})=>{for(const t in e.current){const n=e.current[t];if(n&&!s(r)){const e=n._f,s=k(n,"_f");U(r,t,e&&e.ref?e.ref.disabled||e.refs&&e.refs.every(e=>e.disabled)?void 0:e.value:Array.isArray(n)?[]:{}),s&&L({current:s},r[t])}}return r};var W=()=>{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)})},q=(e=[],r)=>e.map(e=>Object.assign({[r]:e&&e[r]||W()},e)),H=e=>s(e)||!u(e);function z(e,t,s){if(H(e)||H(t)||n(e)||n(t))return e===t;if(!r.isValidElement(e)){const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(const n of r){const r=e[n];if(!s||"ref"!==n){const e=t[n];if((c(r)||Array.isArray(r))&&(c(e)||Array.isArray(e))?!z(r,e,s):r!==e)return!1}}}return!0}function G(e,r,t,n,u){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]=[],G(e[c][n],f(r[c]||{},n,[]),t[c][n],t[c],n)):!s(r)&&z(f(r[c]||{},n),e[c][n])?U(t[c]||{},n):t[c]=Object.assign(Object.assign({},t[c]),{[n]:!0});n&&!t.length&&delete n[u]}return t}var J=(e,r,t)=>function e(r,t){if(H(r)||H(t))return t;for(const n in t){const s=r[n],u=t[n];try{r[n]=c(s)&&c(u)||Array.isArray(s)&&Array.isArray(u)?e(s,u):u}catch(e){}}return r}(G(e,r,t.slice(0,e.length)),G(r,e,t.slice(0,e.length)));function K(e,r){return[...D(e),...D(r)]}var Q=e=>Array.isArray(e)?Array(e.length).fill(void 0):void 0;function X(e,r,t){return[...e.slice(0,r),...D(t),...e.slice(r)]}var Y=(e,r,t)=>Array.isArray(e)?(l(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[];function Z(e,r){return[...D(r),...D(e)]}var ee=(e,r)=>l(r)?[]:function(e,r){let t=0;const n=[...e];for(const e of r)n.splice(e-t,1),t++;return o(n).length?n:[]}(e,D(r).sort((e,r)=>e-r)),re=(e,r,t)=>{e[r]=[e[t],e[t]=e[r]][0]},te=e=>"boolean"==typeof e;function ne(e,r){const t=I(r)?[r]:P(r),n=1==t.length?e:function(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=l(e)?n++:e[r[n++]];return e}(e,t),s=t[t.length-1];let u;n&&delete n[s];for(let r=0;r<t.slice(0,-1).length;r++){let n,s=-1;const a=t.slice(0,-(r+1)),i=a.length-1;for(r>0&&(u=e);++s<a.length;){const r=a[s];n=n?n[r]:e[r],i===s&&(c(n)&&R(n)||Array.isArray(n)&&!n.filter(e=>c(e)&&!R(e)||te(e)).length)&&(u?delete u[r]:delete e[r]),u=n}}return e}var se=e=>"file"===e.type,ue=e=>"select-multiple"===e.type,ce=e=>"radio"===e.type;const ae={value:!1,isValid:!1},ie={value:!0,isValid:!0};var oe=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!l(e[0].attributes.value)?l(e[0].value)||""===e[0].value?ie:{value:e[0].value,isValid:!0}:ie:ae}return ae},le=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>l(e)?e:r?""===e?NaN:+e:t?new Date(e):n?n(e):e;const fe={isValid:!1,value:null};var de=e=>Array.isArray(e)?e.reduce((e,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:e,fe):fe;function ye(e){if(e&&e._f){const n=e._f.ref;if(n.disabled)return;return se(n)?n.files:ce(n)?de(e._f.refs).value:ue(n)?(r=n.options,[...r].filter(({selected:e})=>e).map(({value:e})=>e)):t(n)?oe(e._f.refs).value:le(l(n.value)?e._f.ref.value:n.value,e._f)}var r}var be=(e,r,t,n)=>{const s={};for(const t of e){const e=f(r,t);e&&U(s,t,e._f)}return{criteriaMode:t,names:[...e],fields:s,shouldUseNativeValidation:n}},ge=e=>"function"==typeof e,me=e=>"string"==typeof e,he=e=>me(e)||r.isValidElement(e),ve=e=>e instanceof RegExp;function pe(e,r,t="validate"){if(he(e)||Array.isArray(e)&&e.every(he)||te(e)&&!e)return{type:t,message:he(e)?e:"",ref:r}}var xe=e=>c(e)&&!ve(e)?e:{value:e,message:""},Oe=async({_f:{ref:e,refs:r,required:n,maxLength:u,minLength:a,min:i,max:o,pattern:l,validate:f,name:d,value:y,valueAsNumber:b,mount:g}},m,h)=>{if(!g)return{};const v=r?r[0]:e,k=e=>{h&&v.reportValidity&&(v.setCustomValidity(te(e)?"":e||" "),v.reportValidity())},F={},_=ce(e),C=t(e),S=_||C,D=(b||se(e))&&!e.value||""===y||Array.isArray(y)&&!y.length,E=T.bind(null,d,m,F),B=(r,t,n,s=O,u=w)=>{const c=r?t:n;F[d]=Object.assign({type:r?s:u,message:c,ref:e},E(r?s:u,c))};if(n&&(!S&&(D||s(y))||te(y)&&!y||C&&!oe(r).isValid||_&&!de(r).isValid)){const{value:e,message:r}=he(n)?{value:!!n,message:n}:xe(n);if(e&&(F[d]=Object.assign({type:A,message:r,ref:v},E(A,r)),!m))return k(r),F}if(!(D||s(i)&&s(o))){let r,t;const n=xe(o),u=xe(i);if(isNaN(y)){const s=e.valueAsDate||new Date(y);me(n.value)&&(r=s>new Date(n.value)),me(u.value)&&(t=s<new Date(u.value))}else{const c=e.valueAsNumber||parseFloat(y);s(n.value)||(r=c>n.value),s(u.value)||(t=c<u.value)}if((r||t)&&(B(!!r,n.message,u.message,p,x),!m))return k(F[d].message),F}if((u||a)&&!D&&me(y)){const e=xe(u),r=xe(a),t=!s(e.value)&&y.length>e.value,n=!s(r.value)&&y.length<r.value;if((t||n)&&(B(t,e.message,r.message),!m))return k(F[d].message),F}if(l&&!D&&me(y)){const{value:r,message:t}=xe(l);if(ve(r)&&!y.match(r)&&(F[d]=Object.assign({type:j,message:t,ref:e},E(j,t)),!m))return k(t),F}if(f)if(ge(f)){const e=pe(await f(y),v);if(e&&(F[d]=Object.assign(Object.assign({},e),E(V,e.message)),!m))return k(e.message),F}else if(c(f)){let e={};for(const r in f){if(!R(e)&&!m)break;const t=pe(await f[r](y),v,r);t&&(e=Object.assign(Object.assign({},t),E(r,t.message)),k(t.message),m&&(F[d]=e))}if(!R(e)&&(F[d]=Object.assign({ref:v},e),!m))return F}return k(!0),F},we=e=>({isOnSubmit:!e||e===m,isOnBlur:e===b,isOnChange:e===g,isOnAll:e===v,isOnTouch:e===h}),je=e=>e instanceof HTMLElement;class Ae{constructor(){this.tearDowns=[]}add(e){this.tearDowns.push(e)}unsubscribe(){for(const e of this.tearDowns)e();this.tearDowns=[]}}class Ve{constructor(e,r){this.observer=e,this.closed=!1,r.add(()=>this.closed=!0)}next(e){this.closed||this.observer.next(e)}}class ke{constructor(){this.observers=[]}next(e){for(const r of this.observers)r.next(e)}subscribe(e){const r=new Ae,t=new Ve(e,r);return this.observers.push(t),r}unsubscribe(){this.observers=[]}}const Fe="undefined"==typeof window;exports.Controller=e=>e.render(N(e)),exports.FormProvider=e=>r.createElement(F.Provider,{value:k(e,"children")},e.children),exports.appendErrors=T,exports.get=f,exports.set=U,exports.useController=N,exports.useFieldArray=({control:e,name:t,keyName:n="id",shouldUnregister:s})=>{const u=_(),c=r.useRef(""),i=r.useRef(!1),{getIsDirty:l,namesRef:d,fieldsRef:y,defaultValuesRef:b,formStateRef:g,subjectsRef:m,readFormStateRef:h,updateIsValid:v,fieldArrayDefaultValuesRef:p,unregister:x,shouldUnmount:O,inFieldArrayActionRef:w,setValues:j,register:A}=e||u.control,[V,F]=r.useState(q((f(y.current,t)&&i.current?f(L(y),t):f(p.current,a(t))?f(p.current,t):f(b.current,t))||[],n));U(p.current,t,[...V]),d.current.array.add(t);const C=e=>e.map((e={})=>k(e,n)),R=()=>{const e=f(L(y),t,[]);return q(f(p.current,t,[]).map((r,t)=>Object.assign(Object.assign({},r),e[t])),n)},S=(e,r)=>r&&!r.shouldFocus?r.focusName||`${t}.${r.focusIndex}.`:`${t}.${e}.`,E=(e=[])=>F(q(e,n)),B=e=>!o(f(e,t,[])).length&&ne(e,t),M=(e,r,n=[],s=!0)=>{if(w.current=!0,f(y.current,t)){const n=e(f(y.current,t),r.argA,r.argB);s&&U(y.current,t,n)}if(Array.isArray(f(g.current.errors,t))){const n=e(f(g.current.errors,t),r.argA,r.argB);s&&U(g.current.errors,t,n),B(g.current.errors)}if(h.current.touchedFields&&f(g.current.touchedFields,t)){const n=e(f(g.current.touchedFields,t),r.argA,r.argB);s&&U(g.current.touchedFields,t,n),B(g.current.touchedFields)}(h.current.dirtyFields||h.current.isDirty)&&(U(g.current.dirtyFields,t,J(C(n),f(b.current,t,[]),f(g.current.dirtyFields,t,[]))),n&&U(g.current.dirtyFields,t,J(C(n),f(b.current,t,[]),f(g.current.dirtyFields,t,[]))),B(g.current.dirtyFields)),m.current.state.next({dirtyFields:g.current.dirtyFields,isDirty:l(t,C(n)),errors:g.current.errors,isValid:g.current.isValid})},N=(e,r=0,n="")=>e.forEach((e,s)=>{const u=`${n||t}.${n?s:r+s}`;H(e)?A(u,{value:e}):Object.entries(e).forEach(([e,r])=>{const t=u+"."+e;Array.isArray(r)?N(r,s,t):A(t,{value:r})})});return r.useEffect(()=>{if(w.current=!1,d.current.watchAll)m.current.state.next({});else for(const e of d.current.watch)if(t.startsWith(e)){m.current.state.next({});break}m.current.watch.next({name:t,values:L(y)}),c.current&&$(y.current,e=>e.startsWith(c.current)),c.current="",m.current.array.next({name:t,values:C([...V])}),h.current.isValid&&v()},[V,t]),r.useEffect(()=>{const e=m.current.array.subscribe({next({name:e,values:r,isReset:n}){n&&(ne(y.current,e||t),e?U(p.current,e,r):p.current=r,E(f(p.current,t)))}});return!f(y.current,t)&&U(y.current,t,[]),i.current=!0,()=>{if(e.unsubscribe(),O||s)x(t),ne(p.current,t);else{const e=f(L(y),t);e&&U(p.current,t,e)}}},[]),{swap:r.useCallback((e,r)=>{const t=R();re(t,e,r),M(re,{argA:e,argB:r},t,!1),E(t)},[t]),move:r.useCallback((e,r)=>{const t=R();Y(t,e,r),E(t),M(Y,{argA:e,argB:r},t,!1)},[t]),prepend:r.useCallback((e,r)=>{const t=D(e),n=Z(R(),t);E(n),M(Z,{argA:Q(e)},n),N(t),c.current=S(0,r)},[t]),append:r.useCallback((e,r)=>{const t=D(e),n=K(R(),t),s=n.length-t.length;E(n),M(K,{argA:Q(e)},n,!1),N(t,s),c.current=S(s,r)},[t]),remove:r.useCallback(e=>{const r=ee(R(),e);E(r),M(ee,{argA:e},r)},[t]),insert:r.useCallback((e,r,t)=>{const n=D(r),s=X(R(),e,n);E(s),M(X,{argA:e,argB:Q(r)},s),N(n,e),c.current=S(e,t)},[t]),update:r.useCallback((e,r)=>{j(t+"."+e,r,{shouldValidate:!!h.current.isValid,shouldDirty:!(!h.current.dirtyFields&&!h.current.isDirty)});const n=R();n[e]=r,E(n)},[t]),fields:V}},exports.useForm=function({mode:e=m,reValidateMode:u=g,resolver:y,context:b,defaultValues:h={},shouldFocusError:p=!0,delayError:x,shouldUseNativeValidation:O,shouldUnregister:w,criteriaMode:j}={}){const[A,V]=r.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}}),F=r.useRef({isDirty:!B,dirtyFields:!B,touchedFields:!B,isValidating:!B,isValid:!B,errors:!B}),_=r.useRef(y),M=r.useRef(A),N=r.useRef({}),T=r.useRef(h),I=r.useRef({}),P=r.useRef(b),W=r.useRef(!1),q=r.useRef(!1),G=r.useRef(),K=r.useRef({watch:new ke,control:new ke,array:new ke,state:new ke}),Q=r.useRef({mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1}),X=we(e),Y=j===v;_.current=y,P.current=b;const Z=e=>Q.current.watchAll||Q.current.watch.has(e)||Q.current.watch.has((e.match(/\w+/)||[])[0]),ee=(e,r)=>{U(M.current.errors,e,r),K.current.state.next({errors:M.current.errors})},re=r.useCallback(async(e,r,t,n,s,u)=>{const c=f(M.current.errors,r),a=!!F.current.isValid&&(y?s:await de(N.current,!0));if(x&&t?(G.current=G.current||((e,r)=>{let t=0;return(...n)=>{clearTimeout(t),t=setTimeout(()=>e(...n),r)}})(ee,x),G.current(r,t)):t?U(M.current.errors,r,t):ne(M.current.errors,r),(u||(t?!z(c,t,!0):c)||!R(n)||M.current.isValid!==a)&&!e){const e=Object.assign(Object.assign({},n),{isValid:!!a,errors:M.current.errors,name:r});M.current=Object.assign(Object.assign({},M.current),e),K.current.state.next(u?{name:r}:e)}K.current.state.next({isValidating:!1})},[]),te=r.useCallback((e,r,n={},u,c)=>{c&&Se(e);const a=f(N.current,e);if(a){const c=a._f;if(c){const a=E&&je(c.ref)&&s(r)?"":r;if(c.value=le(r,c),ce(c.ref)?(c.refs||[]).forEach(e=>e.checked=e.value===a):se(c.ref)&&!me(a)?c.ref.files=a:ue(c.ref)?[...c.ref.options].forEach(e=>e.selected=a.includes(e.value)):t(c.ref)&&c.refs?c.refs.length>1?c.refs.forEach(e=>e.checked=Array.isArray(a)?!!a.find(r=>r===e.value):a===e.value):c.refs[0].checked=!!a:c.ref.value=a,u){const t=L(N);U(t,e,r),K.current.control.next({values:Object.assign(Object.assign({},T.current),t),name:e})}(n.shouldDirty||n.shouldTouch)&&ie(e,a,n.shouldTouch),n.shouldValidate&&he(e)}else a._f={ref:{name:e,value:r},value:r}}},[]),ae=r.useCallback((e,r)=>{const t=L(N);return e&&r&&U(t,e,r),!z(t,T.current)},[]),ie=r.useCallback((e,r,t,n=!0)=>{const s={name:e};let u=!1;if(F.current.isDirty){const e=M.current.isDirty;M.current.isDirty=ae(),s.isDirty=M.current.isDirty,u=e!==s.isDirty}if(F.current.dirtyFields&&!t){const t=f(M.current.dirtyFields,e);!z(f(T.current,e),r)?U(M.current.dirtyFields,e,!0):ne(M.current.dirtyFields,e),s.dirtyFields=M.current.dirtyFields,u=u||t!==f(M.current.dirtyFields,e)}const c=f(M.current.touchedFields,e);return t&&!c&&(U(M.current.touchedFields,e,t),s.touchedFields=M.current.touchedFields,u=u||F.current.touchedFields&&c!==t),u&&n&&K.current.state.next(s),u?s:{}},[]),oe=r.useCallback(async(e,r)=>{const t=(await Oe(f(N.current,e),Y,O))[e];return await re(r,e,t),l(t)},[Y]),fe=r.useCallback(async e=>{const{errors:r}=await _.current(L(N),P.current,be(Q.current.mount,N.current,j,O));if(e)for(const t of e){const e=f(r,t);e?U(M.current.errors,t,e):ne(M.current.errors,t)}else M.current.errors=r;return r},[j,O]),de=async(e,r,t={valid:!0})=>{for(const n in e){const s=e[n];if(s){const e=s._f,n=k(s,"_f");if(e){const n=await Oe(s,Y,O);if(r){if(n[e.name]){t.valid=!1;break}}else n[e.name]?U(M.current.errors,e.name,n[e.name]):ne(M.current.errors,e.name)}n&&await de(n,r,t)}}return t.valid},he=r.useCallback(async(e,r={})=>{const t=D(e);let n;if(K.current.state.next({isValidating:!0}),y){const r=await fe(l(e)?e:t);n=e?t.every(e=>!f(r,e)):R(r)}else e?n=(await Promise.all(t.filter(e=>f(N.current,e,{})._f).map(async e=>await oe(e,!0)))).every(Boolean):(await de(N.current),n=R(M.current.errors));return K.current.state.next(Object.assign(Object.assign({},me(e)?{name:e}:{}),{errors:M.current.errors,isValidating:!1})),r.shouldFocus&&!n&&$(N.current,e=>f(M.current.errors,e),e?t:Q.current.mount),F.current.isValid&&pe(),n},[fe,oe]),ve=(e,r,t)=>{const n=f(N.current,e);if(n){const s=l(n._f.value),u=s?l(f(I.current,e))?f(T.current,e):f(I.current,e):n._f.value;l(u)?s&&(n._f.value=ye(n)):r&&r.defaultChecked?n._f.value=ye(n):t?n._f.value=u:te(e,u)}q.current&&F.current.isValid&&pe()},pe=r.useCallback(async(e={})=>{const r=y?R((await _.current(Object.assign(Object.assign({},L(N)),e),P.current,be(Q.current.mount,N.current,j,O))).errors):await de(N.current,!0);r!==M.current.isValid&&(M.current.isValid=r,K.current.state.next({isValid:r}))},[j,O]),xe=r.useCallback((e,r,t)=>Object.entries(r).forEach(([r,s])=>{const u=`${e}.${r}`,c=f(N.current,u);!Q.current.array.has(e)&&H(s)&&(!c||c._f)||n(s)?te(u,s,t,!0,!c):xe(u,s,t)}),[he]),Ae=r.useCallback(async({type:e,target:r,target:{value:n,name:s,type:c}})=>{const i=f(N.current,s);if(i){let b=c?ye(i):void 0;b=l(b)?n:b;const g=e===d,{isOnBlur:m,isOnChange:h}=we(u),v=(o=i._f,!(i._f.mount&&o&&(o.required||o.min||o.max||o.maxLength||o.minLength||o.pattern||o.validate)||y||f(M.current.errors,s))||(({isOnBlur:e,isOnChange:r,isOnTouch:t,isTouched:n,isReValidateOnBlur:s,isReValidateOnChange:u,isBlurEvent:c,isSubmitted:a,isOnAll:i})=>!i&&(!a&&t?!(n||c):(a?s:e)?!c:!(a?u:r)||c))(Object.assign({isBlurEvent:g,isTouched:!!f(M.current.touchedFields,s),isSubmitted:M.current.isSubmitted,isReValidateOnBlur:m,isReValidateOnChange:h},X))),p=!g&&Z(s);l(b)||(i._f.value=b);const x=ie(s,i._f.value,g,!1),w=!R(x)||p;if(v)return!g&&K.current.watch.next({name:s,type:e,values:Ve()}),w&&K.current.state.next(p?{name:s}:Object.assign(Object.assign({},x),{name:s}));K.current.state.next({isValidating:!0}),(async(e,r,n,s)=>{let u,c,i=e.name;const o=f(N.current,i);if(y){const{errors:r}=await _.current(L(N),P.current,be([i],N.current,j,O));if(u=f(r,i),t(e)&&!u){const e=a(i),t=f(r,e,{});t.type&&t.message&&(u=t),(t||f(M.current.errors,e))&&(i=e)}c=R(r)}else u=(await Oe(o,Y,O))[i];!s&&K.current.watch.next({name:i,type:e.type,values:Ve()}),re(!1,i,u,r,c,n)})(r,x,p,g)}var o},[]),Ve=e=>{const r=Object.assign(Object.assign({},T.current),L(N));return l(e)?r:me(e)?f(r,e):e.map(e=>f(r,e))},_e=r.useCallback((e,r,t,n)=>{const s=Array.isArray(e),u=n||q.current?Object.assign(Object.assign({},T.current),n||L(N)):l(r)?T.current:s?r:{[e]:r};if(l(e))return t&&(Q.current.watchAll=!0),u;const c=[];for(const r of D(e))t&&Q.current.watch.add(r),c.push(f(u,r));return s?c:c[0]},[]),Ce=(e,r={})=>{for(const t of e?D(e):Q.current.mount)Q.current.mount.delete(t),Q.current.array.delete(t),f(N.current,t)&&(!r.keepError&&ne(M.current.errors,t),!r.keepValue&&ne(N.current,t),!r.keepDirty&&ne(M.current.dirtyFields,t),!r.keepTouched&&ne(M.current.touchedFields,t),!w&&!r.keepDefaultValue&&ne(T.current,t));K.current.watch.next({values:Ve()}),K.current.state.next(Object.assign(Object.assign({},M.current),r.keepDirty?{isDirty:ae()}:{})),!r.keepIsValid&&pe()},Re=(e,r,n)=>{Se(e,n);let s=f(N.current,e);const u=(e=>ce(e)||t(e))(r);r===s._f.ref||u&&o(s._f.refs||[]).find(e=>e===r)||(s={_f:u?Object.assign(Object.assign({},s._f),{refs:[...o(s._f.refs||[]).filter(e=>je(e)&&document.contains(e)),r],ref:{type:r.type,name:e}}):Object.assign(Object.assign({},s._f),{ref:r})},U(N.current,e,s),ve(e,r))},Se=r.useCallback((e,r={})=>{const t=f(N.current,e);return U(N.current,e,{_f:Object.assign(Object.assign(Object.assign({},t&&t._f?t._f:{ref:{name:e}}),{name:e,mount:!0}),r)}),Q.current.mount.add(e),!t&&ve(e,void 0,!0),Fe?{name:e}:{name:e,onChange:Ae,onBlur:Ae,ref:t=>{if(t)Re(e,t,r);else{const t=f(N.current,e,{}),n=w||r.shouldUnregister;t._f&&(t._f.mount=!1,l(t._f.value)&&(t._f.value=t._f.ref.value)),n&&(!i(Q.current.array,e)||!W.current)&&Q.current.unMount.add(e)}}}},[]),De=r.useCallback((e,r)=>async t=>{t&&(t.preventDefault&&t.preventDefault(),t.persist&&t.persist());let n=!0,s=L(N);K.current.state.next({isSubmitting:!0});try{if(y){const{errors:e,values:r}=await _.current(s,P.current,be(Q.current.mount,N.current,j,O));M.current.errors=e,s=r}else await de(N.current);R(M.current.errors)&&Object.keys(M.current.errors).every(e=>f(s,e))?(K.current.state.next({errors:{},isSubmitting:!0}),await e(s,t)):(r&&await r(M.current.errors,t),p&&$(N.current,e=>f(M.current.errors,e),Q.current.mount))}catch(e){throw n=!1,e}finally{M.current.isSubmitted=!0,K.current.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:R(M.current.errors)&&n,submitCount:M.current.submitCount+1,errors:M.current.errors})}},[p,Y,j,O]),Ee=(e,r="")=>{for(const t in e){const n=e[t],s=r+(r?".":"")+t,u=f(N.current,s);u&&u._f||(c(n)||Array.isArray(n)?Ee(n,s):u||Se(s,{value:n}))}};return r.useEffect(()=>{const e=K.current.state.subscribe({next(e){S(e,F.current,!0)&&(M.current=Object.assign(Object.assign({},M.current),e),V(M.current))}}),r=K.current.array.subscribe({next(e){if(e.values&&e.name&&F.current.isValid){const r=L(N);U(r,e.name,e.values),pe(r)}}});return()=>{e.unsubscribe(),r.unsubscribe()}},[]),r.useEffect(()=>{const e=[],r=e=>!je(e)||!document.contains(e);q.current||(q.current=!0,F.current.isValid&&pe(),!w&&Ee(T.current));for(const t of Q.current.unMount){const n=f(N.current,t);n&&(n._f.refs?n._f.refs.every(r):r(n._f.ref))&&e.push(t)}e.length&&Ce(e),Q.current.unMount=new Set}),{control:r.useMemo(()=>({register:Se,inFieldArrayActionRef:W,getIsDirty:ae,subjectsRef:K,watchInternal:_e,fieldsRef:N,updateIsValid:pe,namesRef:Q,readFormStateRef:F,formStateRef:M,defaultValuesRef:T,fieldArrayDefaultValuesRef:I,setValues:xe,unregister:Ce,shouldUnmount:w}),[]),formState:C(B,A,F),trigger:he,register:Se,handleSubmit:De,watch:r.useCallback((e,r)=>ge(e)?K.current.watch.subscribe({next:t=>e(_e(void 0,r),t)}):_e(e,r,!0),[]),setValue:r.useCallback((e,r,t={})=>{const n=f(N.current,e),u=Q.current.array.has(e);u&&(K.current.array.next({values:r,name:e,isReset:!0}),(F.current.isDirty||F.current.dirtyFields)&&t.shouldDirty&&(U(M.current.dirtyFields,e,J(r,f(T.current,e,[]),f(M.current.dirtyFields,e,[]))),K.current.state.next({name:e,dirtyFields:M.current.dirtyFields,isDirty:ae(e,r)})),!r.length&&U(N.current,e,[])&&U(I.current,e,[])),(n&&!n._f||u)&&!s(r)?xe(e,r,u?{}:t):te(e,r,t,!0,!n),Z(e)&&K.current.state.next({}),K.current.watch.next({name:e,values:Ve()})},[xe]),getValues:r.useCallback(Ve,[]),reset:r.useCallback((e,r={})=>{const t=e||T.current;if(E&&!r.keepValues)for(const e of Q.current.mount){const r=f(N.current,e);if(r&&r._f){const e=Array.isArray(r._f.refs)?r._f.refs[0]:r._f.ref;try{je(e)&&e.closest("form").reset();break}catch(e){}}}r.keepDefaultValues||(T.current=Object.assign({},t),I.current=Object.assign({},t)),r.keepValues||(N.current={},K.current.control.next({values:r.keepDefaultValues?T.current:Object.assign({},t)}),K.current.watch.next({values:Object.assign({},t)}),K.current.array.next({values:Object.assign({},t),isReset:!0})),Q.current={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1},K.current.state.next({submitCount:r.keepSubmitCount?M.current.submitCount:0,isDirty:r.keepDirty?M.current.isDirty:!!r.keepDefaultValues&&z(e,T.current),isSubmitted:!!r.keepIsSubmitted&&M.current.isSubmitted,dirtyFields:r.keepDirty?M.current.dirtyFields:{},touchedFields:r.keepTouched?M.current.touchedFields:{},errors:r.keepErrors?M.current.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),q.current=!!r.keepIsValid},[]),clearErrors:r.useCallback(e=>{e?D(e).forEach(e=>ne(M.current.errors,e)):M.current.errors={},K.current.state.next({errors:M.current.errors})},[]),unregister:r.useCallback(Ce,[]),setError:r.useCallback((e,r,t)=>{const n=((f(N.current,e)||{_f:{}})._f||{}).ref;U(M.current.errors,e,Object.assign(Object.assign({},r),{ref:n})),K.current.state.next({name:e,errors:M.current.errors,isValid:!1}),t&&t.shouldFocus&&n&&n.focus&&n.focus()},[]),setFocus:r.useCallback(e=>f(N.current,e)._f.ref.focus(),[])}},exports.useFormContext=_,exports.useFormState=M,exports.useWatch=function(e){const{control:t,name:n,defaultValue:s}=e||{},u=_(),c=r.useRef(n);c.current=n;const{watchInternal:a,subjectsRef:i}=t||u.control,[o,f]=r.useState(l(s)?a(n):s);return r.useEffect(()=>{a(n);const e=i.current.watch.subscribe({next:({name:e,values:r})=>(!c.current||!e||D(c.current).some(r=>e&&r&&(r.startsWith(e)||e.startsWith(r))))&&f(a(c.current,s,!1,r))});return()=>e.unsubscribe()},[]),o};
2
2
  //# sourceMappingURL=index.cjs.js.map