react-hook-form 7.16.1 → 7.17.2

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/README.md CHANGED
@@ -325,6 +325,24 @@ Thanks go to these kind and lovely sponsors (companies and individuals)!
325
325
  width="45"
326
326
  height="45"
327
327
  /></a>
328
+ <a href="https://github.com/monkey0722"
329
+ ><img
330
+ src="https://avatars.githubusercontent.com/u/12868063?v=4"
331
+ width="45"
332
+ height="45"
333
+ /></a>
334
+ <a href="https://github.com/KATT"
335
+ ><img
336
+ src="https://avatars.githubusercontent.com/u/459267?v=4"
337
+ width="45"
338
+ height="45"
339
+ /></a>
340
+ <a href="https://github.com/jeroenvisser101"
341
+ ><img
342
+ src="https://avatars.githubusercontent.com/u/1941348?v=4"
343
+ width="45"
344
+ height="45"
345
+ /></a>
328
346
  </p>
329
347
 
330
348
  ## Backers
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(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),r=e=>"checkbox"===e.type,s=e=>e instanceof Date,a=e=>null==e;const n=e=>"object"==typeof e;var i=e=>!a(e)&&!Array.isArray(e)&&n(e)&&!s(e),o=e=>e.substring(0,e.search(/.\d/))||e,l=(e,t)=>[...e].some(e=>o(t)===e),c=e=>e.filter(Boolean),u=e=>void 0===e,d=(e,t,r)=>{if(i(e)&&t){const s=c(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return u(s)||s===e?u(e[t])?r:e[t]:s}};const f="blur",g="change",y="onBlur",m="onChange",b="onSubmit",h="onTouched",_="all",p="max",v="min",x="maxLength",j="minLength",F="pattern",O="required",V="validate";var A=(e,t)=>{const r=Object.assign({},e);return delete r[t],r};const w=t.createContext(null);w.displayName="RHFContext";const S=()=>t.useContext(w);var k=(e,t,r,s=!0)=>{function a(a){return()=>{if(a in e)return t[a]!==_&&(t[a]=!s||_),r&&(r[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,r)=>{const s=A(e,"name");return D(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!r||_))},E=e=>Array.isArray(e)?e:[e];function B({disabled:e,subject:r,callback:s}){const a=t.useRef(r),n=t.useRef();e?a.current&&(n.current&&n.current.unsubscribe(),a.current=n.current=void 0):(a.current||(a.current=r),!n.current&&a.current&&(n.current=a.current.subscribe({next:s}))),t.useEffect(()=>()=>{n.current&&n.current.unsubscribe()},[])}function N(e){const r=S(),{control:s=r.control,disabled:a,name:n}=e||{},[i,o]=t.useState(s._formState),l=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.useRef(n);return c.current=n,B({disabled:a,callback:e=>(!c.current||!e.name||E(c.current).includes(e.name))&&C(e,l.current)&&o(Object.assign(Object.assign({},s._formState),e)),subject:s._subjects.state}),k(i,s._proxyFormState,l.current,!1)}function U(e){const s=S(),{name:a,control:n=s.control,shouldUnregister:o}=e,[c,u]=t.useState(d(n._formValues,a,d(n._defaultValues,a,e.defaultValue))),y=N({control:n||s.control,name:a}),m=t.useRef(a);m.current=a,B({subject:n._subjects.control,callback:e=>(!e.name||m.current===e.name)&&u(d(e.values,a))});const b=n.register(a,Object.assign(Object.assign({},e.rules),{value:c})),h=t.useCallback((e,t)=>{const r=d(n._fields,e);r&&(r._f.mount=t)},[n]);return t.useEffect(()=>(h(a,!0),()=>{const e=n._shouldUnregister||o;(l(n._names.array,a)?e&&!n._stateFlags.action:e)?n.unregister(a):h(a,!1)}),[a,n,o,h]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e)(e);u(t),b.onChange({target:{value:t,name:a},type:g})},onBlur:()=>{b.onBlur({target:{value:c,name:a},type:f})},name:a,value:c,ref:e=>{const t=d(n._fields,a);e&&t&&e.focus&&(t._f.ref={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,r,s,a)=>t?Object.assign(Object.assign({},r[e]),{types:Object.assign(Object.assign({},r[e]&&r[e].types?r[e].types:{}),{[s]:a||!0})}):{},T=e=>/^\w*$/.test(e),R=e=>c(e.replace(/["|']|\]/g,"").split(/\.|\[/));function P(e,t,r){let s=-1;const a=T(t)?[t]:R(t),n=a.length,o=n-1;for(;++s<n;){const t=a[s];let n=r;if(s!==o){const r=e[t];n=i(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}e[t]=n,e=e[t]}return e}const L=(e,t,r)=>{for(const s of r||Object.keys(e)){const r=d(e,s);if(r){const e=r._f,s=A(r,"_f");if(e&&t(e.name)){if(e.ref.focus&&u(e.ref.focus()))break;if(e.refs){e.refs[0].focus();break}}else i(s)&&L(s,t)}}};var W=(e,t,r)=>r&&!r.shouldFocus?r.focusName||`${e}.${r.focusIndex}.`:`${e}.${t}.`,$=(e,t,r)=>e.map((e,s)=>{const a=t.current[s];return Object.assign(Object.assign({},e),a?{[r]:a[r]}:{})}),q=()=>{const e="undefined"==typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(16*Math.random()+e)%16|0;return("x"==t?r:3&r|8).toString(16)})},I=(e=[],t)=>e.map(e=>Object.assign(Object.assign({},e[t]?{}:{[t]:q()}),e));function H(e,t){return[...E(e),...E(t)]}var z=e=>Array.isArray(e)?e.map(()=>{}):void 0;function G(e,t,r){return[...e.slice(0,t),...E(r),...e.slice(t)]}var J=(e,t,r)=>Array.isArray(e)?(u(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[],K=(e,t)=>e.map((e={})=>A(e,t));function Q(e,t){return[...E(t),...E(e)]}var X=(e,t)=>u(t)?[]:function(e,t){let r=0;const s=[...e];for(const e of t)s.splice(e-r,1),r++;return c(s).length?s:[]}(e,E(t).sort((e,t)=>e-t)),Y=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},Z=(e,t,r)=>(e[t]=r,e);function ee(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(!r&&!i(e))return e;t=r?[]:{};for(const r in e)t[r]=ee(e[r])}return t}var te=e=>a(e)||!n(e);function re(e,t){if(te(e)||te(t)||s(e)||s(t))return e===t;const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(const s of r){const r=e[s];if(!a.includes(s))return!1;if("ref"!==s){const e=t[s];if((i(r)||Array.isArray(r))&&(i(e)||Array.isArray(e))?!re(r,e):r!==e)return!1}}return!0}var se=e=>({isOnSubmit:!e||e===b,isOnBlur:e===y,isOnChange:e===m,isOnAll:e===_,isOnTouch:e===h}),ae=e=>"boolean"==typeof e,ne=e=>"file"===e.type,ie=e=>"function"==typeof e,oe=e=>e instanceof HTMLElement,le=e=>"select-multiple"===e.type,ce=e=>"radio"===e.type,ue=e=>"string"==typeof e,de="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,fe=e=>!oe(e)||!document.contains(e);class ge{constructor(){this.tearDowns=[]}add(e){this.tearDowns.push(e)}unsubscribe(){for(const e of this.tearDowns)e();this.tearDowns=[]}}class ye{constructor(e,t){this.observer=e,this.closed=!1,t.add(()=>this.closed=!0)}next(e){this.closed||this.observer.next(e)}}class me{constructor(){this.observers=[]}next(e){for(const t of this.observers)t.next(e)}subscribe(e){const t=new ge,r=new ye(e,t);return this.observers.push(r),t}unsubscribe(){this.observers=[]}}function be(e,t){const r=T(t)?[t]:R(t),s=1==r.length?e:function(e,t){const r=t.slice(0,-1).length;let s=0;for(;s<r;)e=u(e)?s++:e[t[s++]];return e}(e,r),a=r[r.length-1];let n;s&&delete s[a];for(let t=0;t<r.slice(0,-1).length;t++){let s,a=-1;const o=r.slice(0,-(t+1)),l=o.length-1;for(t>0&&(n=e);++a<o.length;){const t=o[a];s=s?s[t]:e[t],l===a&&(i(s)&&D(s)||Array.isArray(s)&&!s.filter(e=>i(e)&&!D(e)||ae(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}const he={value:!1,isValid:!1},_e={value:!0,isValid:!0};var pe=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&&!u(e[0].attributes.value)?u(e[0].value)||""===e[0].value?_e:{value:e[0].value,isValid:!0}:_e:he}return he},ve=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>u(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const xe={isValid:!1,value:null};var je=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,xe):xe;function Fe(e){const t=e.ref;var s;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return ne(t)?t.files:ce(t)?je(e.refs).value:le(t)?(s=t.options,[...s].filter(({selected:e})=>e).map(({value:e})=>e)):r(t)?pe(e.refs).value:ve(u(t.value)?e.ref.value:t.value,e)}function Oe(e,t,r,s,n){let i=-1;for(;++i<e.length;){for(const s in e[i])Array.isArray(e[i][s])?(!r[i]&&(r[i]={}),r[i][s]=[],Oe(e[i][s],d(t[i]||{},s,[]),r[i][s],r[i],s)):!a(t)&&re(d(t[i]||{},s),e[i][s])?P(r[i]||{},s):r[i]=Object.assign(Object.assign({},r[i]),{[s]:!0});s&&!r.length&&delete s[n]}return r}var Ve=(e,t,r)=>function e(t,r){if(te(t)||te(r))return r;for(const s in r){const a=t[s],n=r[s];try{t[s]=i(a)&&i(n)||Array.isArray(a)&&Array.isArray(n)?e(a,n):n}catch(e){}}return t}(Oe(e,t,r.slice(0,e.length)),Oe(t,e,r.slice(0,e.length))),Ae=(e,t)=>!c(d(e,t,[])).length&&be(e,t),we=e=>ue(e)||t.isValidElement(e),Se=e=>e instanceof RegExp;function ke(e,t,r="validate"){if(we(e)||Array.isArray(e)&&e.every(we)||ae(e)&&!e)return{type:r,message:we(e)?e:"",ref:t}}var De=e=>i(e)&&!Se(e)?e:{value:e,message:""},Ce=async(e,t,s,n)=>{const{ref:o,refs:l,required:c,maxLength:u,minLength:d,min:f,max:g,pattern:y,validate:m,name:b,valueAsNumber:h,mount:_,disabled:A}=e._f;if(!_||A)return{};const w=l?l[0]:o,S=e=>{n&&w.reportValidity&&(w.setCustomValidity(ae(e)?"":e||" "),w.reportValidity())},k={},C=ce(o),E=r(o),B=C||E,N=(h||ne(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,U=M.bind(null,b,s,k),T=(e,t,r,s=x,a=j)=>{const n=e?t:r;k[b]=Object.assign({type:e?s:a,message:n,ref:o},U(e?s:a,n))};if(c&&(!B&&(N||a(t))||ae(t)&&!t||E&&!pe(l).isValid||C&&!je(l).isValid)){const{value:e,message:t}=we(c)?{value:!!c,message:c}:De(c);if(e&&(k[b]=Object.assign({type:O,message:t,ref:w},U(O,t)),!s))return S(t),k}if(!(N||a(f)&&a(g))){let e,r;const n=De(g),i=De(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);ue(n.value)&&(e=s>new Date(n.value)),ue(i.value)&&(r=s<new Date(i.value))}else{const s=o.valueAsNumber||parseFloat(t);a(n.value)||(e=s>n.value),a(i.value)||(r=s<i.value)}if((e||r)&&(T(!!e,n.message,i.message,p,v),!s))return S(k[b].message),k}if((u||d)&&!N&&ue(t)){const e=De(u),r=De(d),n=!a(e.value)&&t.length>e.value,i=!a(r.value)&&t.length<r.value;if((n||i)&&(T(n,e.message,r.message),!s))return S(k[b].message),k}if(y&&!N&&ue(t)){const{value:e,message:r}=De(y);if(Se(e)&&!t.match(e)&&(k[b]=Object.assign({type:F,message:r,ref:o},U(F,r)),!s))return S(r),k}if(m)if(ie(m)){const e=ke(await m(t),w);if(e&&(k[b]=Object.assign(Object.assign({},e),U(V,e.message)),!s))return S(e.message),k}else if(i(m)){let e={};for(const r in m){if(!D(e)&&!s)break;const a=ke(await m[r](t),w,r);a&&(e=Object.assign(Object.assign({},a),U(r,a.message)),S(a.message),s&&(k[b]=e))}if(!D(e)&&(k[b]=Object.assign({ref:w},e),!s))return k}return S(!0),k};const Ee={mode:b,reValidateMode:m,shouldFocusError:!0},Be="undefined"==typeof window;function Ne(e={}){let t,n=Object.assign(Object.assign({},Ee),e),i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},g={},y=n.defaultValues||{},m=n.shouldUnregister?{}:ee(y),b={action:!1,mount:!1,watch:!1},h=0,p={mount:new Set,unMount:new Set,array:new Set,watch:new Set},v={};const x={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},j={watch:new me,control:new me,array:new me,state:new me},F=se(n.mode),O=se(n.reValidateMode),V=n.criteriaMode===_,w=e=>p.watchAll||p.watch.has(e)||p.watch.has((e.match(/\w+/)||[])[0]),S=(e,t)=>{P(i.errors,e,t),j.state.next({errors:i.errors})},k=async(r,s,a,n,o)=>{const l=d(i.errors,s),c=x.isValid&&i.isValid!==a;var u,f;if(e.delayError&&n?(t=t||(u=S,f=e.delayError,(...e)=>{clearTimeout(h),h=window.setTimeout(()=>u(...e),f)}),t(s,n)):(clearTimeout(h),n?P(i.errors,s,n):be(i.errors,s)),((n?!re(l,n):l)||!D(o)||c)&&!r){const e=Object.assign(Object.assign(Object.assign({},o),c?{isValid:a}:{}),{errors:i.errors,name:s});i=Object.assign(Object.assign({},i),e),j.state.next(e)}v[s]--,x.isValidating&&!v[s]&&(j.state.next({isValidating:!1}),v={})},C=(e,t,s={},n)=>{const i=d(g,e);let o=t;if(i){const s=i._f;s&&(P(m,e,ve(t,s)),o=de&&oe(s.ref)&&a(t)?"":t,ne(s.ref)&&!ue(o)?s.ref.files=o:le(s.ref)?[...s.ref.options].forEach(e=>e.selected=o.includes(e.value)):s.refs?r(s.ref)?s.refs.length>1?s.refs.forEach(e=>e.checked=Array.isArray(o)?!!o.find(t=>t===e.value):o===e.value):s.refs[0].checked=!!o:s.refs.forEach(e=>e.checked=e.value===o):s.ref.value=o,n&&j.control.next({values:m,name:e}))}(s.shouldDirty||s.shouldTouch)&&B(e,o,s.shouldTouch),s.shouldValidate&&I(e)},B=(e,t,r,s=!0)=>{const a={name:e};let n=!1;if(x.isDirty){const e=i.isDirty;i.isDirty=R(),a.isDirty=i.isDirty,n=e!==a.isDirty}if(x.dirtyFields&&!r){const r=d(i.dirtyFields,e);!re(d(y,e),t)?P(i.dirtyFields,e,!0):be(i.dirtyFields,e),a.dirtyFields=i.dirtyFields,n=n||r!==d(i.dirtyFields,e)}const o=d(i.touchedFields,e);return r&&!o&&(P(i.touchedFields,e,r),a.touchedFields=i.touchedFields,n=n||x.touchedFields&&o!==r),n&&s&&j.state.next(a),n?a:{}},N=async e=>n.resolver?await n.resolver(Object.assign({},m),n.context,((e,t,r,s)=>{const a={};for(const r of e){const e=d(t,r);e&&P(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||p.mount,g,n.criteriaMode,n.shouldUseNativeValidation)):{},U=async(e,t,r={valid:!0})=>{for(const s in e){const a=e[s];if(a){const e=a._f,s=A(a,"_f");if(e){const s=await Ce(a,d(m,e.name),V,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?P(i.errors,e.name,s[e.name]):be(i.errors,e.name))}s&&await U(s,t,r)}}return r.valid},M=async e=>{const t=e.target;let s=t.name;const a=d(g,s);if(a){let c,u;const y=t.type?Fe(a._f):t.value,b=e.type===f;b&&a._f.onBlur?a._f.onBlur(e):a._f.onChange&&a._f.onChange(e);const h=!((l=a._f).mount&&(l.required||l.min||l.max||l.maxLength||l.minLength||l.pattern||l.validate)||n.resolver||d(i.errors,s)||a._f.deps)||((e,t,r,s,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?s.isOnBlur:a.isOnBlur)?!e:!(r?s.isOnChange:a.isOnChange)||e))(b,d(i.touchedFields,s),i.isSubmitted,O,F),_=!b&&w(s);P(m,s,y);const p=B(s,y,b,!1),A=!D(p)||_;if(!b&&j.watch.next({name:s,type:e.type}),h)return A&&j.state.next(Object.assign({name:s},_?{}:p));if(!b&&_&&j.state.next({}),v[s]=(v[s],1),x.isValidating&&j.state.next({isValidating:!0}),n.resolver){const{errors:e}=await N([s]);if(c=d(e,s),r(t)&&!c){const t=o(s),a=d(g,t);if(Array.isArray(a)&&a.every(e=>e._f&&r(e._f.ref))){const r=d(e,t,{});r.type&&(c=r),s=t}}u=D(e)}else c=(await Ce(a,d(m,s),V,n.shouldUseNativeValidation))[s],u=await W(!0);a._f.deps&&I(a._f.deps),k(!1,s,u,c,p)}var l},T=(e,t,r)=>{const s=d(g,e);if(s){const a=d(m,e),n=u(a)?d(y,e):a;u(n)||r&&r.defaultChecked||t?P(m,e,t?n:Fe(s._f)):C(e,n)}b.mount&&W()},R=(e,t)=>(e&&t&&P(m,e,t),!re(Object.assign({},H()),y)),W=async e=>{let t=!1;return x.isValid&&(t=n.resolver?D((await N()).errors):await U(g,!0),e||t===i.isValid||(i.isValid=t,j.state.next({isValid:t}))),t},$=(e,t,r)=>Object.entries(t).forEach(([t,a])=>{const n=`${e}.${t}`,i=d(g,n);!p.array.has(e)&&te(a)&&(!i||i._f)||s(a)?C(n,a,r,!0):$(n,a,r)}),q=(e,t,r,s)=>{const a=Object.assign({},r||b.mount?m:u(t)?y:ue(e)?{[e]:t}:t);if(!e)return s&&(p.watchAll=!0),a;const n=[];for(const t of E(e))s&&p.watch.add(t),n.push(d(a,t));return Array.isArray(e)?n:n[0]},I=async(e,t={})=>{const r=E(e);let s;if(j.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await N();if(e)for(const r of e){const e=d(t,r);e?P(i.errors,r,e):be(i.errors,r)}else i.errors=t;return t})(u(e)?e:r);s=e?r.every(e=>!d(t,e)):D(t)}else e?(s=(await Promise.all(r.map(async e=>{const t=d(g,e);return await U(t&&t._f?{[e]:t}:t)}))).every(Boolean),W()):s=await U(g);return j.state.next(Object.assign(Object.assign({},ue(e)?{name:e}:{}),{errors:i.errors,isValid:s,isValidating:!1})),t.shouldFocus&&!s&&L(g,e=>d(i.errors,e),e?r:p.mount),s},H=e=>{const t=Object.assign(Object.assign({},y),b.mount?m:{});return u(e)?t:ue(e)?d(t,e):e.map(e=>d(t,e))},z=(e,t={})=>{for(const r of e?E(e):p.mount)p.mount.delete(r),p.array.delete(r),d(g,r)&&(t.keepValue||(be(g,r),be(m,r)),!t.keepError&&be(i.errors,r),!t.keepDirty&&be(i.dirtyFields,r),!t.keepTouched&&be(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&be(y,r));j.watch.next({}),j.state.next(Object.assign(Object.assign({},i),t.keepDirty?{isDirty:R()}:{})),!t.keepIsValid&&W()},G=(e,t,s)=>{J(e,s);let a=d(g,e);const n=u(t.value)&&t.querySelectorAll&&t.querySelectorAll("input,select,textarea")[0]||t,i=(e=>ce(e)||r(e))(n);n===a._f.ref||i&&c(a._f.refs||[]).find(e=>e===n)||(a={_f:i?Object.assign(Object.assign({},a._f),{refs:[...c(a._f.refs||[]).filter(e=>oe(e)&&document.contains(e)),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},P(g,e,a),(!s||!s.disabled)&&T(e,!1,n))},J=(e,t={})=>{const r=d(g,e);return P(g,e,{_f:Object.assign(Object.assign(Object.assign({},r&&r._f?r._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),p.mount.add(e),u(t.value)||P(m,e,t.value),r&&ae(t.disabled)&&P(m,e,t.disabled?void 0:d(m,e,Fe(r._f))),!r&&T(e,!0),Be?{name:e}:Object.assign(Object.assign({name:e},ae(t.disabled)?{disabled:t.disabled}:{}),{onChange:M,onBlur:M,ref:r=>{if(r)G(e,r,t);else{const r=d(g,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!l(p.array,e)||!b.action)&&p.unMount.add(e)}}})};return{control:{register:J,unregister:z,_getWatch:q,_getIsDirty:R,_updateValid:W,_removeFields:()=>{for(const e of p.unMount){const t=d(g,e);t&&(t._f.refs?t._f.refs.every(fe):fe(t._f.ref))&&z(e)}p.unMount=new Set},_updateFieldArray:(e,t,r,s,a=[],n=!0,o=!0)=>{let l;if(b.action=!0,o&&d(g,t)&&(l=r(d(g,t),s.argA,s.argB),n&&P(g,t,l)),Array.isArray(d(i.errors,t))){const e=r(d(i.errors,t),s.argA,s.argB);n&&P(i.errors,t,e),Ae(i.errors,t)}if(x.touchedFields&&d(i.touchedFields,t)){const e=r(d(i.touchedFields,t),s.argA,s.argB);n&&P(i.touchedFields,t,e),Ae(i.touchedFields,t)}(x.dirtyFields||x.isDirty)&&(P(i.dirtyFields,t,Ve(K(a,e),d(y,t,[]),d(i.dirtyFields,t,[]))),a&&P(i.dirtyFields,t,Ve(K(a,e),d(y,t,[]),d(i.dirtyFields,t,[]))),Ae(i.dirtyFields,t)),j.state.next({isDirty:R(t,K(a,e)),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})},_getFieldArrayValue:e=>d(b.mount?m:y,e,[]),_subjects:j,_shouldUnregister:n.shouldUnregister,_proxyFormState:x,get _fields(){return g},set _fields(e){g=e},get _formValues(){return m},set _formValues(e){m=e},get _stateFlags(){return b},set _stateFlags(e){b=e},get _defaultValues(){return y},set _defaultValues(e){y=e},get _names(){return p},set _names(e){p=e},get _formState(){return i},set _formState(e){i=e},_updateProps:e=>{n=Object.assign(Object.assign({},Ee),e)}},trigger:I,register:J,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=Object.assign({},m);j.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await N();i.errors=e,a=t}else await U(g);D(i.errors)&&Object.keys(i.errors).every(e=>d(a,e))?(j.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(i.errors,r),n.shouldFocusError&&L(g,e=>d(i.errors,e),p.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,j.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>ie(e)?j.watch.subscribe({next:r=>e(q(void 0,t),r)}):q(e,t,!1,!0),setValue:(e,t,r={})=>{const s=d(g,e),n=p.array.has(e);P(m,e,t),n?(j.array.next({name:e,values:m}),(x.isDirty||x.dirtyFields)&&r.shouldDirty&&(P(i.dirtyFields,e,Ve(t,d(y,e,[]),d(i.dirtyFields,e,[]))),j.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:R(e,t)}))):!s||s._f||a(t)?C(e,t,r,!0):$(e,t,r),w(e)&&j.state.next({}),j.watch.next({name:e})},getValues:H,reset:(t,r={})=>{const s=t||y,a=ee(s);if(r.keepValues||(m=e.shouldUnregister?{}:a),de&&!r.keepValues)for(const e of p.mount){const t=d(g,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{oe(e)&&e.closest("form").reset();break}catch(e){}}}r.keepDefaultValues||(y=Object.assign({},s)),r.keepValues||(g={},j.control.next({values:r.keepDefaultValues?y:Object.assign({},s)}),j.watch.next({}),j.array.next({values:a})),p={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},j.state.next({submitCount:r.keepSubmitCount?i.submitCount:0,isDirty:r.keepDirty?i.isDirty:!!r.keepDefaultValues&&re(t,y),isSubmitted:!!r.keepIsSubmitted&&i.isSubmitted,dirtyFields:r.keepDirty?i.dirtyFields:{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),b.mount=!x.isValid||!!r.keepIsValid,b.watch=!!e.shouldUnregister},clearErrors:e=>{e?E(e).forEach(e=>be(i.errors,e)):i.errors={},j.state.next({errors:i.errors})},unregister:z,setError:(e,t,r)=>{const s=(d(g,e,{_f:{}})._f||{}).ref;P(i.errors,e,Object.assign(Object.assign({},t),{ref:s})),j.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>d(g,e)._f.ref.focus()}}exports.Controller=e=>e.render(U(e)),exports.FormProvider=e=>t.createElement(w.Provider,{value:A(e,"children")},e.children),exports.appendErrors=M,exports.get=d,exports.set=P,exports.useController=U,exports.useFieldArray=e=>{const r=S(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,l]=t.useState(I(s._getFieldArrayValue(a),n)),c=t.useRef(o);B({callback:({values:e,name:t})=>{t!==a&&t||l(I(d(e,a),n))},subject:s._subjects.array}),c.current=o,s._names.array.add(a);const u=t.useCallback(e=>{const t=K(e,n);return P(s._formValues,a,t),l(e),t},[s,a,n]);return t.useEffect(()=>{if(s._stateFlags.action=!1,s._names.watchAll)s._subjects.state.next({});else for(const e of s._names.watch)if(a.startsWith(e)){s._subjects.state.next({});break}s._subjects.watch.next({name:a,values:s._formValues}),s._names.focus&&L(s._fields,e=>e.startsWith(s._names.focus)),s._names.focus="",s._proxyFormState.isValid&&s._updateValid()},[o,a,s,n]),t.useEffect(()=>(!d(s._formValues,a)&&P(s._formValues,a,[]),()=>{(s._shouldUnregister||i)&&s.unregister(a)}),[a,s,n,i]),{swap:t.useCallback((e,t)=>{const r=$(s._getFieldArrayValue(a),c,n);Y(r,e,t),s._updateFieldArray(n,a,Y,{argA:e,argB:t},u(r),!1)},[u,a,s,n]),move:t.useCallback((e,t)=>{const r=$(s._getFieldArrayValue(a),c,n);J(r,e,t),s._updateFieldArray(n,a,J,{argA:e,argB:t},u(r),!1)},[u,a,s,n]),prepend:t.useCallback((e,t)=>{const r=Q($(s._getFieldArrayValue(a),c,n),I(E(e),n));s._updateFieldArray(n,a,Q,{argA:z(e)},u(r)),s._names.focus=W(a,0,t)},[u,a,s,n]),append:t.useCallback((e,t)=>{const r=E(e),i=H($(s._getFieldArrayValue(a),c,n),I(r,n));s._updateFieldArray(n,a,H,{argA:z(e)},u(i)),s._names.focus=W(a,i.length-r.length,t)},[u,a,s,n]),remove:t.useCallback(e=>{const t=X($(s._getFieldArrayValue(a),c,n),e);s._updateFieldArray(n,a,X,{argA:e},u(t))},[u,a,s,n]),insert:t.useCallback((e,t,r)=>{const i=G($(s._getFieldArrayValue(a),c,n),e,I(E(t),n));s._updateFieldArray(n,a,G,{argA:e,argB:z(t)},u(i)),s._names.focus=W(a,e,r)},[u,a,s,n]),update:t.useCallback((e,t)=>{const r=$(s._getFieldArrayValue(a),c,n),i=Z(r,e,t);c.current=I(i,n),s._updateFieldArray(n,a,Z,{argA:e,argB:t},u(c.current),!0,!1)},[u,a,s,n]),replace:t.useCallback(e=>{const t=I(E(e),n);s._updateFieldArray(n,a,()=>t,{},u(t),!0,!1)},[u,a,s,n]),fields:o}},exports.useForm=function(e={}){const r=t.useRef(),[s,a]=t.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}});r.current?r.current.control._updateProps(e):r.current=Object.assign(Object.assign({},Ne(e)),{formState:s});const n=r.current.control;return B({subject:n._subjects.state,callback:e=>{C(e,n._proxyFormState,!0)&&(n._formState=Object.assign(Object.assign({},n._formState),e),a(Object.assign({},n._formState)))}}),t.useEffect(()=>{n._stateFlags.mount||(n._proxyFormState.isValid&&n._updateValid(),n._stateFlags.mount=!0),n._stateFlags.watch&&(n._stateFlags.watch=!1,n._subjects.state.next({})),n._removeFields()}),r.current.formState=k(s,n._proxyFormState),r.current},exports.useFormContext=S,exports.useFormState=N,exports.useWatch=function(e){const r=S(),{control:s=r.control,name:a,defaultValue:n,disabled:o}=e||{},l=t.useRef(a);l.current=a,B({disabled:o,subject:s._subjects.watch,callback:({name:e})=>{if(!l.current||!e||E(l.current).some(t=>e&&t&&(e.startsWith(t)||t.startsWith(e)))){const e=s._getWatch(l.current,n,!0);d(i(e)?Object.assign({},e):Array.isArray(e)?[...e]:e)}}});const[c,d]=t.useState(u(n)?s._getWatch(a):n);return t.useEffect(()=>{s._removeFields()}),c};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),r=e=>"checkbox"===e.type,s=e=>e instanceof Date,a=e=>null==e;const n=e=>"object"==typeof e;var i=e=>!a(e)&&!Array.isArray(e)&&n(e)&&!s(e),o=e=>e.substring(0,e.search(/.\d/))||e,c=(e,t)=>[...e].some(e=>o(t)===e),u=e=>e.filter(Boolean),l=e=>void 0===e,d=(e,t,r)=>{if(i(e)&&t){const s=u(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return l(s)||s===e?l(e[t])?r:e[t]:s}};const f="blur",g="change",m="onBlur",y="onChange",b="onSubmit",h="onTouched",_="all",p="max",v="min",x="maxLength",j="minLength",F="pattern",A="required",O="validate";var w=(e,t)=>{const r=Object.assign({},e);return delete r[t],r};const V=t.createContext(null),S=()=>t.useContext(V);var k=(e,t,r,s=!0)=>{function a(a){return()=>{if(a in e)return t[a]!==_&&(t[a]=!s||_),r&&(r[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,r)=>{const s=w(e,"name");return D(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!r||_))},E=e=>Array.isArray(e)?e:[e];const B=e=>{e.current&&(e.current.unsubscribe(),e.current=void 0)};function U(e){const r=t.useRef(),s=t.useRef(()=>{});s.current=(({_unsubscribe:e,props:t})=>()=>{t.disabled?B(e):e.current||(e.current=t.subject.subscribe({next:t.callback}))})({_unsubscribe:r,props:e}),!e.skipEarlySubscription&&s.current(),t.useEffect(()=>(s.current(),()=>B(r)),[])}function M(e){const r=S(),{control:s=r.control,disabled:a,name:n}=e||{},[i,o]=t.useState(s._formState),c=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),u=t.useRef(n);return u.current=n,U({disabled:a,callback:e=>(!u.current||!e.name||E(u.current).includes(e.name))&&C(e,c.current)&&o(Object.assign(Object.assign({},s._formState),e)),subject:s._subjects.state}),k(i,s._proxyFormState,c.current,!1)}function N(e){const s=S(),{name:a,control:n=s.control,shouldUnregister:o}=e,[u,l]=t.useState(d(n._formValues,a,d(n._defaultValues,a,e.defaultValue))),m=M({control:n||s.control,name:a}),y=t.useRef(a);y.current=a,U({subject:n._subjects.control,callback:e=>(!e.name||y.current===e.name)&&l(d(e.values,y.current))});const b=n.register(a,Object.assign(Object.assign({},e.rules),{value:u})),h=t.useCallback((e,t)=>{const r=d(n._fields,e);r&&(r._f.mount=t)},[n]);return t.useEffect(()=>(h(a,!0),()=>{const e=n._options.shouldUnregister||o;(c(n._names.array,a)?e&&!n._stateFlags.action:e)?n.unregister(a):h(a,!1)}),[a,n,o,h]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e)(e);l(t),b.onChange({target:{value:t,name:a},type:g})},onBlur:()=>{b.onBlur({target:{value:u,name:a},type:f})},name:a,value:u,ref:e=>{const t=d(n._fields,a);e&&t&&e.focus&&(t._f.ref={focus:()=>e.focus(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:m,fieldState:{invalid:!!d(m.errors,a),isDirty:!!d(m.dirtyFields,a),isTouched:!!d(m.touchedFields,a),error:d(m.errors,a)}}}var T=(e,t,r,s,a)=>t?Object.assign(Object.assign({},r[e]),{types:Object.assign(Object.assign({},r[e]&&r[e].types?r[e].types:{}),{[s]:a||!0})}):{},R=e=>/^\w*$/.test(e),L=e=>u(e.replace(/["|']|\]/g,"").split(/\.|\[/));function W(e,t,r){let s=-1;const a=R(t)?[t]:L(t),n=a.length,o=n-1;for(;++s<n;){const t=a[s];let n=r;if(s!==o){const r=e[t];n=i(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}e[t]=n,e=e[t]}return e}const P=(e,t,r)=>{for(const s of r||Object.keys(e)){const r=d(e,s);if(r){const e=r._f,s=w(r,"_f");if(e&&t(e.name)){if(e.ref.focus&&l(e.ref.focus()))break;if(e.refs){e.refs[0].focus();break}}else i(s)&&P(s,t)}}};var q=(e,t,r={})=>r.shouldFocus||l(r.shouldFocus)?r.focusName||`${e}.${l(r.focusIndex)?t:r.focusIndex}.`:"",I=(e,t,r)=>e.map((e,s)=>{const a=t.current[s];return Object.assign(Object.assign({},e),a?{[r]:a[r]}:{})}),$=()=>{const e="undefined"==typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(16*Math.random()+e)%16|0;return("x"==t?r:3&r|8).toString(16)})},H=(e=[],t)=>e.map(e=>Object.assign(Object.assign({},e[t]?{}:{[t]:$()}),e));function z(e,t){return[...E(e),...E(t)]}var G=e=>Array.isArray(e)?e.map(()=>{}):void 0;function J(e,t,r){return[...e.slice(0,t),...E(r),...e.slice(t)]}var K=(e,t,r)=>Array.isArray(e)?(l(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function Q(e,t){return[...E(t),...E(e)]}var X=(e,t)=>l(t)?[]:function(e,t){let r=0;const s=[...e];for(const e of t)s.splice(e-r,1),r++;return u(s).length?s:[]}(e,E(t).sort((e,t)=>e-t)),Y=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},Z=(e,t,r)=>(e[t]=r,e);var ee=e=>"function"==typeof e;function te(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(!r&&!i(e))return e;t=r?[]:{};for(const r in e){if(ee(e[r])){t=e;break}t[r]=te(e[r])}}return t}var re=e=>a(e)||!n(e);function se(e,t){if(re(e)||re(t))return e===t;if(s(e)&&s(t))return e.getTime()===t.getTime();const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(const n of r){const r=e[n];if(!a.includes(n))return!1;if("ref"!==n){const e=t[n];if(s(r)&&s(e)||i(r)&&i(e)||Array.isArray(r)&&Array.isArray(e)?!se(r,e):r!==e)return!1}}return!0}var ae=e=>({isOnSubmit:!e||e===b,isOnBlur:e===m,isOnChange:e===y,isOnAll:e===_,isOnTouch:e===h}),ne=e=>"boolean"==typeof e,ie=e=>e instanceof HTMLElement,oe=e=>"select-multiple"===e.type,ce=e=>"radio"===e.type,ue=e=>"string"==typeof e,le="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,de=e=>!ie(e)||!document.contains(e);class fe{constructor(){this.tearDowns=[]}add(e){this.tearDowns.push(e)}unsubscribe(){for(const e of this.tearDowns)e();this.tearDowns=[]}}class ge{constructor(e,t){this.observer=e,this.closed=!1,t.add(()=>this.closed=!0)}next(e){this.closed||this.observer.next(e)}}class me{constructor(){this.observers=[]}next(e){for(const t of this.observers)t.next(e)}subscribe(e){const t=new fe,r=new ge(e,t);return this.observers.push(r),t}unsubscribe(){this.observers=[]}}function ye(e,t){const r=R(t)?[t]:L(t),s=1==r.length?e:function(e,t){const r=t.slice(0,-1).length;let s=0;for(;s<r;)e=l(e)?s++:e[t[s++]];return e}(e,r),a=r[r.length-1];let n;s&&delete s[a];for(let t=0;t<r.slice(0,-1).length;t++){let s,a=-1;const o=r.slice(0,-(t+1)),c=o.length-1;for(t>0&&(n=e);++a<o.length;){const t=o[a];s=s?s[t]:e[t],c===a&&(i(s)&&D(s)||Array.isArray(s)&&!s.filter(e=>i(e)&&!D(e)||ne(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}var be=e=>"file"===e.type;const he={value:!1,isValid:!1},_e={value:!0,isValid:!0};var pe=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&&!l(e[0].attributes.value)?l(e[0].value)||""===e[0].value?_e:{value:e[0].value,isValid:!0}:_e:he}return he},ve=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>l(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const xe={isValid:!1,value:null};var je=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,xe):xe;function Fe(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return be(t)?t.files:ce(t)?je(e.refs).value:oe(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?pe(e.refs).value:ve(l(t.value)?e.ref.value:t.value,e)}function Ae(e,t,r,s,n){let i=-1;for(;++i<e.length;){for(const s in e[i])Array.isArray(e[i][s])?(!r[i]&&(r[i]={}),r[i][s]=[],Ae(e[i][s],d(t[i]||{},s,[]),r[i][s],r[i],s)):!a(t)&&se(d(t[i]||{},s),e[i][s])?W(r[i]||{},s):r[i]=Object.assign(Object.assign({},r[i]),{[s]:!0});s&&!r.length&&delete s[n]}return r}var Oe=(e,t,r)=>function e(t,r){if(re(t)||re(r))return r;for(const s in r){const a=t[s],n=r[s];try{t[s]=i(a)&&i(n)||Array.isArray(a)&&Array.isArray(n)?e(a,n):n}catch(e){}}return t}(Ae(e,t,r.slice(0,e.length)),Ae(t,e,r.slice(0,e.length))),we=(e,t)=>!u(d(e,t,[])).length&&ye(e,t),Ve=e=>ue(e)||t.isValidElement(e),Se=e=>e instanceof RegExp;function ke(e,t,r="validate"){if(Ve(e)||Array.isArray(e)&&e.every(Ve)||ne(e)&&!e)return{type:r,message:Ve(e)?e:"",ref:t}}var De=e=>i(e)&&!Se(e)?e:{value:e,message:""},Ce=async(e,t,s,n)=>{const{ref:o,refs:c,required:u,maxLength:l,minLength:d,min:f,max:g,pattern:m,validate:y,name:b,valueAsNumber:h,mount:_,disabled:w}=e._f;if(!_||w)return{};const V=c?c[0]:o,S=e=>{n&&V.reportValidity&&(V.setCustomValidity(ne(e)?"":e||" "),V.reportValidity())},k={},C=ce(o),E=r(o),B=C||E,U=(h||be(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,M=T.bind(null,b,s,k),N=(e,t,r,s=x,a=j)=>{const n=e?t:r;k[b]=Object.assign({type:e?s:a,message:n,ref:o},M(e?s:a,n))};if(u&&(!B&&(U||a(t))||ne(t)&&!t||E&&!pe(c).isValid||C&&!je(c).isValid)){const{value:e,message:t}=Ve(u)?{value:!!u,message:u}:De(u);if(e&&(k[b]=Object.assign({type:A,message:t,ref:V},M(A,t)),!s))return S(t),k}if(!(U||a(f)&&a(g))){let e,r;const n=De(g),i=De(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);ue(n.value)&&(e=s>new Date(n.value)),ue(i.value)&&(r=s<new Date(i.value))}else{const s=o.valueAsNumber||parseFloat(t);a(n.value)||(e=s>n.value),a(i.value)||(r=s<i.value)}if((e||r)&&(N(!!e,n.message,i.message,p,v),!s))return S(k[b].message),k}if((l||d)&&!U&&ue(t)){const e=De(l),r=De(d),n=!a(e.value)&&t.length>e.value,i=!a(r.value)&&t.length<r.value;if((n||i)&&(N(n,e.message,r.message),!s))return S(k[b].message),k}if(m&&!U&&ue(t)){const{value:e,message:r}=De(m);if(Se(e)&&!t.match(e)&&(k[b]=Object.assign({type:F,message:r,ref:o},M(F,r)),!s))return S(r),k}if(y)if(ee(y)){const e=ke(await y(t),V);if(e&&(k[b]=Object.assign(Object.assign({},e),M(O,e.message)),!s))return S(e.message),k}else if(i(y)){let e={};for(const r in y){if(!D(e)&&!s)break;const a=ke(await y[r](t),V,r);a&&(e=Object.assign(Object.assign({},a),M(r,a.message)),S(a.message),s&&(k[b]=e))}if(!D(e)&&(k[b]=Object.assign({ref:V},e),!s))return k}return S(!0),k};const Ee={mode:b,reValidateMode:y,shouldFocusError:!0},Be="undefined"==typeof window;function Ue(e={}){let t,n=Object.assign(Object.assign({},Ee),e),i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},g={},m=n.defaultValues||{},y=n.shouldUnregister?{}:te(m),b={action:!1,mount:!1,watch:!1},h={mount:new Set,unMount:new Set,array:new Set,watch:new Set},p=0,v={};const x={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},j={watch:new me,control:new me,array:new me,state:new me},F=ae(n.mode),A=ae(n.reValidateMode),O=n.criteriaMode===_,V=(e,t)=>!t&&(h.watchAll||h.watch.has(e)||h.watch.has((e.match(/\w+/)||[])[0])),S=async e=>{let t=!1;return x.isValid&&(t=n.resolver?D((await N()).errors):await T(g,!0),e||t===i.isValid||(i.isValid=t,j.state.next({isValid:t}))),t},k=(e,t)=>(W(i.errors,e,t),j.state.next({errors:i.errors})),C=(e,t,r)=>{const s=d(g,e);if(s){const a=d(y,e,d(m,e));l(a)||r&&r.defaultChecked||t?W(y,e,t?a:Fe(s._f)):q(e,a)}b.mount&&S()},B=(e,t,r,s=!0)=>{let a=!1;const n={name:e},o=d(i.touchedFields,e);if(x.isDirty){const e=i.isDirty;i.isDirty=n.isDirty=R(),a=e!==n.isDirty}if(x.dirtyFields&&!r){const r=d(i.dirtyFields,e);se(d(m,e),t)?ye(i.dirtyFields,e):W(i.dirtyFields,e,!0),n.dirtyFields=i.dirtyFields,a=a||r!==d(i.dirtyFields,e)}return r&&!o&&(W(i.touchedFields,e,r),n.touchedFields=i.touchedFields,a=a||x.touchedFields&&o!==r),a&&s&&j.state.next(n),a?n:{}},U=(e,t)=>(W(i.dirtyFields,e,Oe(t,d(m,e,[]),d(i.dirtyFields,e,[]))),we(i.dirtyFields,e)),M=async(r,s,a,n,o)=>{const c=d(i.errors,s),u=x.isValid&&i.isValid!==a;var l,f;if(e.delayError&&n?(t=t||(l=k,f=e.delayError,(...e)=>{clearTimeout(p),p=window.setTimeout(()=>l(...e),f)}),t(s,n)):(clearTimeout(p),n?W(i.errors,s,n):ye(i.errors,s)),((n?!se(c,n):c)||!D(o)||u)&&!r){const e=Object.assign(Object.assign(Object.assign({},o),u?{isValid:a}:{}),{errors:i.errors,name:s});i=Object.assign(Object.assign({},i),e),j.state.next(e)}v[s]--,x.isValidating&&!v[s]&&(j.state.next({isValidating:!1}),v={})},N=async e=>n.resolver?await n.resolver(Object.assign({},y),n.context,((e,t,r,s)=>{const a={};for(const r of e){const e=d(t,r);e&&W(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||h.mount,g,n.criteriaMode,n.shouldUseNativeValidation)):{},T=async(e,t,r={valid:!0})=>{for(const s in e){const a=e[s];if(a){const e=a._f,s=w(a,"_f");if(e){const s=await Ce(a,d(y,e.name),O,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?W(i.errors,e.name,s[e.name]):ye(i.errors,e.name))}s&&await T(s,t,r)}}return r.valid},R=(e,t)=>(e&&t&&W(y,e,t),!se(z(),m)),L=(e,t,r)=>{const s=Object.assign({},b.mount?y:l(t)?m:ue(e)?{[e]:t}:t);if(e){const t=E(e).map(e=>(r&&h.watch.add(e),d(s,e)));return Array.isArray(e)?t:t[0]}return r&&(h.watchAll=!0),s},q=(e,t,s={},n)=>{const i=d(g,e);let o=t;if(i){const s=i._f;s&&(W(y,e,ve(t,s)),o=le&&ie(s.ref)&&a(t)?"":t,oe(s.ref)?[...s.ref.options].forEach(e=>e.selected=o.includes(e.value)):s.refs?r(s.ref)?s.refs.length>1?s.refs.forEach(e=>e.checked=Array.isArray(o)?!!o.find(t=>t===e.value):o===e.value):s.refs[0].checked=!!o:s.refs.forEach(e=>e.checked=e.value===o):s.ref.value=o,n&&j.control.next({values:y,name:e}))}(s.shouldDirty||s.shouldTouch)&&B(e,o,s.shouldTouch),s.shouldValidate&&H(e)},I=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,o=d(g,i);!h.array.has(e)&&re(n)&&(!o||o._f)||s(n)?q(i,n,r,!0):I(i,n,r)}},$=async e=>{const t=e.target;let s=t.name;const a=d(g,s);if(a){let u,l;const m=t.type?Fe(a._f):t.value,b=e.type===f,h=!((c=a._f).mount&&(c.required||c.min||c.max||c.maxLength||c.minLength||c.pattern||c.validate)||n.resolver||d(i.errors,s)||a._f.deps)||((e,t,r,s,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?s.isOnBlur:a.isOnBlur)?!e:!(r?s.isOnChange:a.isOnChange)||e))(b,d(i.touchedFields,s),i.isSubmitted,A,F),_=V(s,b);b?a._f.onBlur&&a._f.onBlur(e):a._f.onChange&&a._f.onChange(e),W(y,s,m);const p=B(s,m,b,!1),w=!D(p)||_;if(!b&&j.watch.next({name:s,type:e.type}),h)return w&&j.state.next(Object.assign({name:s},_?{}:p));if(!b&&_&&j.state.next({}),v[s]=(v[s],1),x.isValidating&&j.state.next({isValidating:!0}),n.resolver){const{errors:e}=await N([s]);if(u=d(e,s),r(t)&&!u){const t=o(s),a=d(g,t);if(Array.isArray(a)&&a.every(e=>e._f&&r(e._f.ref))){const r=d(e,t,{});r.type&&(u=r),s=t}}l=D(e)}else u=(await Ce(a,d(y,s),O,n.shouldUseNativeValidation))[s],l=await S(!0);a._f.deps&&H(a._f.deps),M(!1,s,l,u,p)}var c},H=async(e,t={})=>{let r,s;const a=E(e);if(j.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await N();if(e)for(const r of e){const e=d(t,r);e?W(i.errors,r,e):ye(i.errors,r)}else i.errors=t;return t})(l(e)?e:a);r=D(t),s=e?!a.some(e=>d(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=d(g,e);return await T(t&&t._f?{[e]:t}:t)}))).every(Boolean),S()):s=r=await T(g);return j.state.next(Object.assign(Object.assign({},ue(e)&&r===i.isValid?{name:e}:{}),{errors:i.errors,isValid:r,isValidating:!1})),t.shouldFocus&&!s&&P(g,e=>d(i.errors,e),e?a:h.mount),s},z=e=>{const t=Object.assign(Object.assign({},m),b.mount?y:{});return l(e)?t:ue(e)?d(t,e):e.map(e=>d(t,e))},G=(e,t={})=>{for(const r of e?E(e):h.mount)h.mount.delete(r),h.array.delete(r),d(g,r)&&(t.keepValue||(ye(g,r),ye(y,r)),!t.keepError&&ye(i.errors,r),!t.keepDirty&&ye(i.dirtyFields,r),!t.keepTouched&&ye(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&ye(m,r));j.watch.next({}),j.state.next(Object.assign(Object.assign({},i),t.keepDirty?{isDirty:R()}:{})),!t.keepIsValid&&S()},J=(e,t={})=>{const s=d(g,e);return W(g,e,{_f:Object.assign(Object.assign(Object.assign({},s&&s._f?s._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),h.mount.add(e),!l(t.value)&&W(y,e,t.value),s?ne(t.disabled)&&W(y,e,t.disabled?void 0:d(y,e,Fe(s._f))):C(e,!0),Be?{name:e}:Object.assign(Object.assign({name:e},ne(t.disabled)?{disabled:t.disabled}:{}),{onChange:$,onBlur:$,ref:s=>{if(s){J(e,t);let a=d(g,e);const n=l(s.value)&&s.querySelectorAll&&s.querySelectorAll("input,select,textarea")[0]||s,i=(e=>ce(e)||r(e))(n);if(n===a._f.ref||i&&u(a._f.refs||[]).find(e=>e===n))return;a={_f:i?Object.assign(Object.assign({},a._f),{refs:[...u(a._f.refs||[]).filter(e=>ie(e)&&document.contains(e)),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},W(g,e,a),(!t||!t.disabled)&&C(e,!1,n)}else{const r=d(g,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!c(h.array,e)||!b.action)&&h.unMount.add(e)}}})};return{control:{register:J,unregister:G,_getWatch:L,_getDirty:R,_updateValid:S,_removeUnmounted:()=>{for(const e of h.unMount){const t=d(g,e);t&&(t._f.refs?t._f.refs.every(de):de(t._f.ref))&&G(e)}h.unMount=new Set},_updateFieldArray:(e,t,r,s=[],a=!0,n=!0)=>{if(b.action=!0,n&&d(g,e)){const s=t(d(g,e),r.argA,r.argB);a&&W(g,e,s)}if(Array.isArray(d(i.errors,e))){const s=t(d(i.errors,e),r.argA,r.argB);a&&W(i.errors,e,s),we(i.errors,e)}if(x.touchedFields&&d(i.touchedFields,e)){const s=t(d(i.touchedFields,e),r.argA,r.argB);a&&W(i.touchedFields,e,s),we(i.touchedFields,e)}(x.dirtyFields||x.isDirty)&&U(e,s),j.state.next({isDirty:R(e,s),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})},_getFieldArray:e=>d(b.mount?y:m,e,[]),_subjects:j,_proxyFormState:x,get _fields(){return g},set _fields(e){g=e},get _formValues(){return y},set _formValues(e){y=e},get _stateFlags(){return b},set _stateFlags(e){b=e},get _defaultValues(){return m},set _defaultValues(e){m=e},get _names(){return h},set _names(e){h=e},get _formState(){return i},set _formState(e){i=e},get _options(){return n},set _options(e){n=Object.assign(Object.assign({},n),e)}},trigger:H,register:J,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=Object.assign({},y);j.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await N();i.errors=e,a=t}else await T(g);D(i.errors)&&Object.keys(i.errors).every(e=>d(a,e))?(j.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(i.errors,r),n.shouldFocusError&&P(g,e=>d(i.errors,e),h.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,j.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>ee(e)?j.watch.subscribe({next:r=>e(L(void 0,t),r)}):L(e,t,!0),setValue:(e,t,r={})=>{const s=d(g,e),n=h.array.has(e);W(y,e,t),n?(j.array.next({name:e,values:y}),(x.isDirty||x.dirtyFields)&&r.shouldDirty&&(U(e,t),j.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:R(e,t)}))):!s||s._f||a(t)?q(e,t,r,!0):I(e,t,r),V(e)&&j.state.next({}),j.watch.next({name:e})},getValues:z,reset:(t,r={})=>{const s=!D(t),a=t||m,n=te(a);if(r.keepDefaultValues||(m=a),!r.keepValues){if(le)for(const e of h.mount){const t=d(g,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ie(e)&&e.closest("form").reset();break}catch(e){}}}y=e.shouldUnregister?{}:n,g={},j.control.next({values:s?n:m}),j.watch.next({}),j.array.next({values:n})}h={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},j.state.next({submitCount:r.keepSubmitCount?i.submitCount:0,isDirty:r.keepDirty?i.isDirty:!!r.keepDefaultValues&&se(t,m),isSubmitted:!!r.keepIsSubmitted&&i.isSubmitted,dirtyFields:r.keepDirty?i.dirtyFields:{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),b.mount=!x.isValid||!!r.keepIsValid,b.watch=!!e.shouldUnregister},clearErrors:e=>{e?E(e).forEach(e=>ye(i.errors,e)):i.errors={},j.state.next({errors:i.errors})},unregister:G,setError:(e,t,r)=>{const s=(d(g,e,{_f:{}})._f||{}).ref;W(i.errors,e,Object.assign(Object.assign({},t),{ref:s})),j.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>d(g,e)._f.ref.focus()}}exports.Controller=e=>e.render(N(e)),exports.FormProvider=e=>t.createElement(V.Provider,{value:w(e,"children")},e.children),exports.appendErrors=T,exports.get=d,exports.set=W,exports.useController=N,exports.useFieldArray=e=>{const r=S(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,c]=t.useState(H(s._getFieldArray(a),n)),u=t.useRef(o),l=t.useRef(a);l.current=a,u.current=o,s._names.array.add(a),U({callback:({values:e,name:t})=>{t!==l.current&&t||c(H(d(e,l.current),n))},subject:s._subjects.array,skipEarlySubscription:!0});const f=t.useCallback(e=>{const t=((e,t)=>e.map((e={})=>w(e,t)))(e,n);return W(s._formValues,a,t),c(e),t},[s,a,n]);return t.useEffect(()=>{if(s._stateFlags.action=!1,s._names.watchAll)s._subjects.state.next({});else for(const e of s._names.watch)if(a.startsWith(e)){s._subjects.state.next({});break}s._subjects.watch.next({name:a,values:s._formValues}),s._names.focus&&P(s._fields,e=>e.startsWith(s._names.focus)),s._names.focus="",s._proxyFormState.isValid&&s._updateValid()},[o,a,s,n]),t.useEffect(()=>(!d(s._formValues,a)&&W(s._formValues,a,[]),()=>{(s._options.shouldUnregister||i)&&s.unregister(a)}),[a,s,n,i]),{swap:t.useCallback((e,t)=>{const r=I(s._getFieldArray(a),u,n);Y(r,e,t),s._updateFieldArray(a,Y,{argA:e,argB:t},f(r),!1)},[f,a,s,n]),move:t.useCallback((e,t)=>{const r=I(s._getFieldArray(a),u,n);K(r,e,t),s._updateFieldArray(a,K,{argA:e,argB:t},f(r),!1)},[f,a,s,n]),prepend:t.useCallback((e,t)=>{const r=Q(I(s._getFieldArray(a),u,n),H(E(e),n));s._updateFieldArray(a,Q,{argA:G(e)},f(r)),s._names.focus=q(a,0,t)},[f,a,s,n]),append:t.useCallback((e,t)=>{const r=E(e),i=z(I(s._getFieldArray(a),u,n),H(r,n));s._updateFieldArray(a,z,{argA:G(e)},f(i)),s._names.focus=q(a,i.length-r.length,t)},[f,a,s,n]),remove:t.useCallback(e=>{const t=X(I(s._getFieldArray(a),u,n),e);s._updateFieldArray(a,X,{argA:e},f(t))},[f,a,s,n]),insert:t.useCallback((e,t,r)=>{const i=J(I(s._getFieldArray(a),u,n),e,H(E(t),n));s._updateFieldArray(a,J,{argA:e,argB:G(t)},f(i)),s._names.focus=q(a,e,r)},[f,a,s,n]),update:t.useCallback((e,t)=>{const r=I(s._getFieldArray(a),u,n),i=Z(r,e,t);u.current=H(i,n),s._updateFieldArray(a,Z,{argA:e,argB:t},f(u.current),!0,!1)},[f,a,s,n]),replace:t.useCallback(e=>{const t=H(E(e),n);s._updateFieldArray(a,()=>t,{},f(t),!0,!1)},[f,a,s,n]),fields:o}},exports.useForm=function(e={}){const r=t.useRef(),[s,a]=t.useState({isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}});r.current?r.current.control._options=e:r.current=Object.assign(Object.assign({},Ue(e)),{formState:s});const n=r.current.control;return U({subject:n._subjects.state,callback:e=>{C(e,n._proxyFormState,!0)&&(n._formState=Object.assign(Object.assign({},n._formState),e),a(Object.assign({},n._formState)))}}),t.useEffect(()=>{n._stateFlags.mount||(n._proxyFormState.isValid&&n._updateValid(),n._stateFlags.mount=!0),n._stateFlags.watch&&(n._stateFlags.watch=!1,n._subjects.state.next({})),n._removeUnmounted()}),r.current.formState=k(s,n._proxyFormState),r.current},exports.useFormContext=S,exports.useFormState=M,exports.useWatch=function(e){const r=S(),{control:s=r.control,name:a,defaultValue:n,disabled:o}=e||{},c=t.useRef(a);c.current=a,U({disabled:o,subject:s._subjects.watch,callback:({name:e})=>{if(!c.current||!e||E(c.current).some(t=>e&&t&&(e.startsWith(t)||t.startsWith(e)))){s._stateFlags.mount=!0;const e=s._getWatch(c.current,n);d(i(e)?Object.assign({},e):Array.isArray(e)?[...e]:e)}}});const[u,d]=t.useState(l(n)?s._getWatch(a):n);return t.useEffect(()=>{s._removeUnmounted()}),u};
2
2
  //# sourceMappingURL=index.cjs.js.map