react-hook-form 7.18.0 → 7.18.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/CHANGELOG.md +28 -0
- package/README.md +23 -6
- package/dist/controller.d.ts +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +13 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/controller.d.ts +10 -10
- package/dist/types/utils.d.ts +0 -3
- package/dist/useController.d.ts +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [7.18.1] - 2021-11-02
|
4
|
+
|
5
|
+
- revert `FieldPathWithValue`
|
6
|
+
|
7
|
+
## [7.18.0] - 2021-10-28
|
8
|
+
|
9
|
+
## Added
|
10
|
+
|
11
|
+
- bring back `FieldPathWithValue`
|
12
|
+
- schema errors parent object look up
|
13
|
+
|
14
|
+
```tsx
|
15
|
+
const validationSchema = object().shape({
|
16
|
+
questions: array().min(1, 'Array cannot be empty'),
|
17
|
+
});
|
18
|
+
|
19
|
+
// the above schema will be picked up by field array action
|
20
|
+
// the logic applies to group error object eg checkboxes
|
21
|
+
<button
|
22
|
+
type="button"
|
23
|
+
onClick={() => {
|
24
|
+
remove(questionIndex);
|
25
|
+
}}
|
26
|
+
>
|
27
|
+
Remove
|
28
|
+
</button>;
|
29
|
+
```
|
30
|
+
|
3
31
|
## [7.17.0] - 2021-10-02
|
4
32
|
|
5
33
|
## Added
|
package/README.md
CHANGED
@@ -359,18 +359,35 @@ Thanks go to all our backers! [[Become a backer](https://opencollective.com/reac
|
|
359
359
|
<img src="https://opencollective.com/react-hook-form/backers.svg?width=950" />
|
360
360
|
</a>
|
361
361
|
|
362
|
-
##
|
362
|
+
## Contributors
|
363
363
|
|
364
|
-
Thanks go to these wonderful
|
364
|
+
Thanks go to these wonderful people! [[Become a contributor](CONTRIBUTING.md)].
|
365
365
|
|
366
366
|
<a href="https://github.com/react-hook-form/react-hook-form/graphs/contributors">
|
367
|
-
|
367
|
+
<img src="https://opencollective.com/react-hook-form/contributors.svg?width=890&button=false" />
|
368
368
|
</a>
|
369
369
|
|
370
|
-
##
|
370
|
+
## Helpers
|
371
371
|
|
372
|
-
|
372
|
+
Thank you for helping and answering questions from the community.
|
373
|
+
|
374
|
+
<a href="https://github.com/leapful">
|
375
|
+
<img src="https://avatars.githubusercontent.com/u/18494222?v=4" width="25" />
|
376
|
+
</a>
|
377
|
+
<a href="https://github.com/thanh-nguyen-95">
|
378
|
+
<img src="https://avatars.githubusercontent.com/u/44762180?v=4" width="25" />
|
379
|
+
</a>
|
380
|
+
<a href="https://github.com/slugmandrew">
|
381
|
+
<img src="https://avatars.githubusercontent.com/u/153625?v=4" width="25" />
|
382
|
+
</a>
|
383
|
+
<a href="https://github.com/lundn">
|
384
|
+
<img src="https://avatars.githubusercontent.com/u/4386964?v=4" width="25" />
|
385
|
+
</a>
|
386
|
+
|
387
|
+
## Organizations
|
388
|
+
|
389
|
+
Thanks go to these wonderful organizations! [[Contribute](https://opencollective.com/react-hook-form/contribute)].
|
373
390
|
|
374
391
|
<a href="https://github.com/react-hook-form/react-hook-form/graphs/contributors">
|
375
|
-
|
392
|
+
<img src="https://opencollective.com/react-hook-form/organizations.svg?width=890" />
|
376
393
|
</a>
|
package/dist/controller.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { ControllerProps,
|
3
|
-
declare const Controller: <TFieldValues extends FieldValues = FieldValues,
|
2
|
+
import { ControllerProps, FieldValues } from './types';
|
3
|
+
declare const Controller: <TFieldValues extends FieldValues = FieldValues, TName extends import("./types").Path<TFieldValues> = import("./types").Path<TFieldValues>>(props: ControllerProps<TFieldValues, TName>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
4
4
|
export { Controller };
|
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,t)=>[...e].some(e=>(e=>e.substring(0,e.search(/.\d/))||e)(t)===e),u=e=>e.filter(Boolean),c=e=>void 0===e,l=(e,t,r)=>{if(i(e)&&t){const s=u(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return c(s)||s===e?c(e[t])?r:e[t]:s}};const d="blur",f="change",g="onBlur",m="onChange",y="onSubmit",b="onTouched",h="all",p="max",_="min",v="maxLength",x="minLength",j="pattern",O="required",F="validate";var A=(e,t)=>{const r=Object.assign({},e);return delete r[t],r};const V=t.createContext(null),w=()=>t.useContext(V);var S=(e,t,r,s=!0)=>{function a(a){return()=>{if(a in e)return t[a]!==h&&(t[a]=!s||h),r&&(r[a]=!0),e[a]}}const n={};for(const t in e)Object.defineProperty(n,t,{get:a(t)});return n},k=e=>i(e)&&!Object.keys(e).length,D=(e,t,r)=>{const s=A(e,"name");return k(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!r||h))},C=e=>Array.isArray(e)?e:[e],E=(e,t)=>!e||!t||C(e).some(e=>e&&(e.startsWith(t)||t.startsWith(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=w(),{control:s=r.control,disabled:a,name:n}=e||{},[i,o]=t.useState(s._formState),u=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.useRef(n);return c.current=n,U({disabled:a,callback:e=>E(c.current,e.name)&&D(e,u.current)&&o(Object.assign(Object.assign({},s._formState),e)),subject:s._subjects.state,skipEarlySubscription:!0}),S(i,s._proxyFormState,u.current,!1)}function N(e){const s=w(),{name:a,control:n=s.control,shouldUnregister:u}=e,[c,g]=t.useState(l(n._formValues,a,l(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)&&g(l(e.values,y.current)),skipEarlySubscription:!0});const b=n.register(a,Object.assign(Object.assign({},e.rules),{value:c})),h=t.useCallback((e,t)=>{const r=l(n._fields,e);r&&(r._f.mount=t)},[n]);return t.useEffect(()=>(h(a,!0),()=>{const e=n._options.shouldUnregister||u;(o(n._names.array,a)?e&&!n._stateFlags.action:e)?n.unregister(a):h(a,!1)}),[a,n,u,h]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e)(e);g(t),b.onChange({target:{value:t,name:a},type:f})},onBlur:()=>{b.onBlur({target:{value:c,name:a},type:d})},name:a,value:c,ref:e=>{const t=l(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:!!l(m.errors,a),isDirty:!!l(m.dirtyFields,a),isTouched:!!l(m.touchedFields,a),error:l(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=l(e,s);if(r){const e=r._f,s=A(r,"_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(s)&&P(s,t)}}};var q=(e,t,r={})=>r.shouldFocus||c(r.shouldFocus)?r.focusName||`${e}.${c(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[...C(e),...C(t)]}var G=e=>Array.isArray(e)?e.map(()=>{}):void 0;function J(e,t,r){return[...e.slice(0,t),...C(r),...e.slice(t)]}var K=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function Q(e,t){return[...C(t),...C(e)]}var X=(e,t)=>c(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,C(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}function re(){let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next(t)},subscribe:t=>{const r=function(){let e=[];return{add:t=>{e.push(t)},unsubscribe:()=>{for(const t of e)t();e=[]}}}(),s=function(e,t){let r=!1;return t.add(()=>r=!0),{next:t=>{r||e.next(t)}}}(t,r);return e.push(s),r},unsubscribe:()=>{e=[]}}}var se=e=>a(e)||!n(e);function ae(e,t){if(se(e)||se(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)?!ae(r,e):r!==e)return!1}}return!0}var ne=e=>({isOnSubmit:!e||e===y,isOnBlur:e===g,isOnChange:e===m,isOnAll:e===h,isOnTouch:e===b}),ie=e=>"boolean"==typeof e,oe=e=>"file"===e.type,ue=e=>e instanceof HTMLElement,ce=e=>"select-multiple"===e.type,le=e=>"radio"===e.type,de=e=>"string"==typeof e,fe="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,ge=e=>ue(e)&&document.contains(e);function me(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=c(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)),u=o.length-1;for(t>0&&(n=e);++a<o.length;){const t=o[a];s=s?s[t]:e[t],u===a&&(i(s)&&k(s)||Array.isArray(s)&&!s.filter(e=>i(e)&&!k(e)||ie(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}const ye={value:!1,isValid:!1},be={value:!0,isValid:!0};var he=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?be:{value:e[0].value,isValid:!0}:be:ye}return ye},pe=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const _e={isValid:!1,value:null};var ve=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,_e):_e;function xe(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return oe(t)?t.files:le(t)?ve(e.refs).value:ce(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?he(e.refs).value:pe(c(t.value)?e.ref.value:t.value,e)}function je(e,t,r){const s=l(e,r);if(s||R(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const s=a.join("."),n=l(t,s),i=l(e,s);if(n&&!Array.isArray(n)&&r!==s)return{name:r};if(i&&i.type)return{name:s,error:i};a.pop()}return{name:r}}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],l(t[i]||{},s,[]),r[i][s],r[i],s)):!a(t)&&ae(l(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 Fe=(e,t,r)=>function e(t,r){if(se(t)||se(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)=>!u(l(e,t,[])).length&&me(e,t),Ve=e=>de(e)||t.isValidElement(e),we=e=>e instanceof RegExp;function Se(e,t,r="validate"){if(Ve(e)||Array.isArray(e)&&e.every(Ve)||ie(e)&&!e)return{type:r,message:Ve(e)?e:"",ref:t}}var ke=e=>i(e)&&!we(e)?e:{value:e,message:""},De=async(e,t,s,n)=>{const{ref:o,refs:u,required:c,maxLength:l,minLength:d,min:f,max:g,pattern:m,validate:y,name:b,valueAsNumber:h,mount:A,disabled:V}=e._f;if(!A||V)return{};const w=u?u[0]:o,S=e=>{n&&w.reportValidity&&(w.setCustomValidity(ie(e)?"":e||" "),w.reportValidity())},D={},C=le(o),E=r(o),B=C||E,U=(h||oe(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,M=T.bind(null,b,s,D),N=(e,t,r,s=v,a=x)=>{const n=e?t:r;D[b]=Object.assign({type:e?s:a,message:n,ref:o},M(e?s:a,n))};if(c&&(!B&&(U||a(t))||ie(t)&&!t||E&&!he(u).isValid||C&&!ve(u).isValid)){const{value:e,message:t}=Ve(c)?{value:!!c,message:c}:ke(c);if(e&&(D[b]=Object.assign({type:O,message:t,ref:w},M(O,t)),!s))return S(t),D}if(!(U||a(f)&&a(g))){let e,r;const n=ke(g),i=ke(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);de(n.value)&&(e=s>new Date(n.value)),de(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,_),!s))return S(D[b].message),D}if((l||d)&&!U&&de(t)){const e=ke(l),r=ke(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(D[b].message),D}if(m&&!U&&de(t)){const{value:e,message:r}=ke(m);if(we(e)&&!t.match(e)&&(D[b]=Object.assign({type:j,message:r,ref:o},M(j,r)),!s))return S(r),D}if(y)if(ee(y)){const e=Se(await y(t),w);if(e&&(D[b]=Object.assign(Object.assign({},e),M(F,e.message)),!s))return S(e.message),D}else if(i(y)){let e={};for(const r in y){if(!k(e)&&!s)break;const a=Se(await y[r](t),w,r);a&&(e=Object.assign(Object.assign({},a),M(r,a.message)),S(a.message),s&&(D[b]=e))}if(!k(e)&&(D[b]=Object.assign({ref:w},e),!s))return D}return S(!0),D};const Ce={mode:y,reValidateMode:m,shouldFocusError:!0},Ee="undefined"==typeof window;function Be(e={}){let t,n=Object.assign(Object.assign({},Ce),e),i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},f={},g=n.defaultValues||{},m=n.shouldUnregister?{}:te(g),y={action:!1,mount:!1,watch:!1},b={mount:new Set,unMount:new Set,array:new Set,watch:new Set},p=0,_={};const v={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={watch:re(),control:re(),array:re(),state:re()},j=ne(n.mode),O=ne(n.reValidateMode),F=n.criteriaMode===h,V=(e,t)=>!t&&(b.watchAll||b.watch.has(e)||b.watch.has((e.match(/\w+/)||[])[0])),w=async e=>{let t=!1;return v.isValid&&(t=n.resolver?k((await M()).errors):await N(f,!0),e||t===i.isValid||(i.isValid=t,x.state.next({isValid:t}))),t},S=(e,t)=>(W(i.errors,e,t),x.state.next({errors:i.errors})),D=(e,t,r)=>{const s=l(f,e);if(s){const a=l(m,e,l(g,e));c(a)||r&&r.defaultChecked||t?W(m,e,t?a:xe(s._f)):L(e,a)}y.mount&&w()},E=(e,t,r,s=!0)=>{let a=!1;const n={name:e},o=l(i.touchedFields,e);if(v.isDirty){const e=i.isDirty;i.isDirty=n.isDirty=T(),a=e!==n.isDirty}if(v.dirtyFields&&!r){const r=l(i.dirtyFields,e);ae(l(g,e),t)?me(i.dirtyFields,e):W(i.dirtyFields,e,!0),n.dirtyFields=i.dirtyFields,a=a||r!==l(i.dirtyFields,e)}return r&&!o&&(W(i.touchedFields,e,r),n.touchedFields=i.touchedFields,a=a||v.touchedFields&&o!==r),a&&s&&x.state.next(n),a?n:{}},B=(e,t)=>(W(i.dirtyFields,e,Fe(t,l(g,e,[]),l(i.dirtyFields,e,[]))),Ae(i.dirtyFields,e)),U=async(r,s,a,n,o)=>{const u=l(i.errors,s),c=v.isValid&&i.isValid!==a;var d,f;if(e.delayError&&n?(t=t||(d=S,f=e.delayError,(...e)=>{clearTimeout(p),p=window.setTimeout(()=>d(...e),f)}),t(s,n)):(clearTimeout(p),n?W(i.errors,s,n):me(i.errors,s)),((n?!ae(u,n):u)||!k(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),x.state.next(e)}_[s]--,v.isValidating&&!_[s]&&(x.state.next({isValidating:!1}),_={})},M=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=l(t,r);e&&W(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||b.mount,f,n.criteriaMode,n.shouldUseNativeValidation)):{},N=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 De(a,l(m,e.name),F,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?W(i.errors,e.name,s[e.name]):me(i.errors,e.name))}s&&await N(s,t,r)}}return r.valid},T=(e,t)=>(e&&t&&W(m,e,t),!ae(H(),g)),R=(e,t,r)=>{const s=Object.assign({},y.mount?m:c(t)?g:de(e)?{[e]:t}:t);if(e){const t=C(e).map(e=>(r&&b.watch.add(e),l(s,e)));return Array.isArray(e)?t:t[0]}return r&&(b.watchAll=!0),s},L=(e,t,s={},n)=>{const i=l(f,e);let o=t;if(i){const s=i._f;s&&(W(m,e,pe(t,s)),o=fe&&ue(s.ref)&&a(t)?"":t,oe(s.ref)&&!de(o)?s.ref.files=o:ce(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&&x.control.next({values:m,name:e}))}(s.shouldDirty||s.shouldTouch)&&E(e,o,s.shouldTouch),s.shouldValidate&&$(e)},q=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,o=l(f,i);!b.array.has(e)&&se(n)&&(!o||o._f)||s(n)?L(i,n,r,!0):q(i,n,r)}},I=async e=>{const t=e.target;let r=t.name;const s=l(f,r);if(s){let o,u;const c=t.type?xe(s._f):t.value,g=e.type===d,y=!((a=s._f).mount&&(a.required||a.min||a.max||a.maxLength||a.minLength||a.pattern||a.validate)||n.resolver||l(i.errors,r)||s._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))(g,l(i.touchedFields,r),i.isSubmitted,O,j),b=V(r,g);g?s._f.onBlur&&s._f.onBlur(e):s._f.onChange&&s._f.onChange(e),W(m,r,c);const h=E(r,c,g,!1),p=!k(h)||b;if(!g&&x.watch.next({name:r,type:e.type}),y)return p&&x.state.next(Object.assign({name:r},b?{}:h));if(!g&&b&&x.state.next({}),_[r]=(_[r],1),v.isValidating&&x.state.next({isValidating:!0}),n.resolver){const{errors:e}=await M([r]),t=je(i.errors,f,r),s=je(e,f,t.name||r);o=s.error,r=s.name,u=k(e)}else o=(await De(s,l(m,r),F,n.shouldUseNativeValidation))[r],u=await w(!0);s._f.deps&&$(s._f.deps),U(!1,r,u,o,h)}var a},$=async(e,t={})=>{let r,s;const a=C(e);if(x.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await M();if(e)for(const r of e){const e=l(t,r);e?W(i.errors,r,e):me(i.errors,r)}else i.errors=t;return t})(c(e)?e:a);r=k(t),s=e?!a.some(e=>l(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=l(f,e);return await N(t&&t._f?{[e]:t}:t)}))).every(Boolean),w()):s=r=await N(f);return x.state.next(Object.assign(Object.assign(Object.assign({},!de(e)||v.isValid&&r!==i.isValid?{}:{name:e}),n.resolver?{isValid:r}:{}),{errors:i.errors,isValidating:!1})),t.shouldFocus&&!s&&P(f,e=>l(i.errors,e),e?a:b.mount),s},H=e=>{const t=Object.assign(Object.assign({},g),y.mount?m:{});return c(e)?t:de(e)?l(t,e):e.map(e=>l(t,e))},z=(e,t={})=>{for(const r of e?C(e):b.mount)b.mount.delete(r),b.array.delete(r),l(f,r)&&(t.keepValue||(me(f,r),me(m,r)),!t.keepError&&me(i.errors,r),!t.keepDirty&&me(i.dirtyFields,r),!t.keepTouched&&me(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&me(g,r));x.watch.next({}),x.state.next(Object.assign(Object.assign({},i),t.keepDirty?{isDirty:T()}:{})),!t.keepIsValid&&w()},G=(e,t={})=>{const s=l(f,e);return W(f,e,{_f:Object.assign(Object.assign(Object.assign({},s&&s._f?s._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),b.mount.add(e),!c(t.value)&&W(m,e,t.value),s?ie(t.disabled)&&W(m,e,t.disabled?void 0:l(m,e,xe(s._f))):D(e,!0),Ee?{name:e}:Object.assign(Object.assign({name:e},ie(t.disabled)?{disabled:t.disabled}:{}),{onChange:I,onBlur:I,ref:s=>{if(s){G(e,t);let a=l(f,e);const n=c(s.value)&&s.querySelectorAll&&s.querySelectorAll("input,select,textarea")[0]||s,i=(e=>le(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(ge),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},W(f,e,a),(!t||!t.disabled)&&D(e,!1,n)}else{const r=l(f,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!o(b.array,e)||!y.action)&&b.unMount.add(e)}}})};return{control:{register:G,unregister:z,_executeSchema:M,_getWatch:R,_getDirty:T,_updateValid:w,_removeUnmounted:()=>{for(const e of b.unMount){const t=l(f,e);t&&(t._f.refs?t._f.refs.every(e=>!ge(e)):!ge(t._f.ref))&&z(e)}b.unMount=new Set},_updateFieldArray:(e,t,r,s=[],a=!0,n=!0)=>{if(y.action=!0,n&&l(f,e)){const s=t(l(f,e),r.argA,r.argB);a&&W(f,e,s)}if(Array.isArray(l(i.errors,e))){const s=t(l(i.errors,e),r.argA,r.argB);a&&W(i.errors,e,s),Ae(i.errors,e)}if(v.touchedFields&&l(i.touchedFields,e)){const s=t(l(i.touchedFields,e),r.argA,r.argB);a&&W(i.touchedFields,e,s),Ae(i.touchedFields,e)}(v.dirtyFields||v.isDirty)&&B(e,s),x.state.next({isDirty:T(e,s),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})},_getFieldArray:t=>l(y.mount?m:g,t,e.shouldUnregister?l(g,t,[]):[]),_subjects:x,_proxyFormState:v,get _fields(){return f},set _fields(e){f=e},get _formValues(){return m},set _formValues(e){m=e},get _stateFlags(){return y},set _stateFlags(e){y=e},get _defaultValues(){return g},set _defaultValues(e){g=e},get _names(){return b},set _names(e){b=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:$,register:G,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=Object.assign({},m);x.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await M();i.errors=e,a=t}else await N(f);k(i.errors)&&Object.keys(i.errors).every(e=>l(a,e))?(x.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(i.errors,r),n.shouldFocusError&&P(f,e=>l(i.errors,e),b.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:k(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>ee(e)?x.watch.subscribe({next:r=>e(R(void 0,t),r)}):R(e,t,!0),setValue:(e,t,r={})=>{const s=l(f,e),n=b.array.has(e);W(m,e,t),n?(x.array.next({name:e,values:m}),(v.isDirty||v.dirtyFields)&&r.shouldDirty&&(B(e,t),x.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:T(e,t)}))):!s||s._f||a(t)?L(e,t,r,!0):q(e,t,r),V(e)&&x.state.next({}),x.watch.next({name:e})},getValues:H,reset:(t,r={})=>{const s=!k(t),a=t||g,n=te(a);if(r.keepDefaultValues||(g=a),!r.keepValues){if(fe)for(const e of b.mount){const t=l(f,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ue(e)&&e.closest("form").reset();break}catch(e){}}}m=e.shouldUnregister?r.keepDefaultValues?te(g):{}:n,f={},x.control.next({values:s?n:g}),x.watch.next({}),x.array.next({values:n})}b={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},x.state.next({submitCount:r.keepSubmitCount?i.submitCount:0,isDirty:r.keepDirty?i.isDirty:!!r.keepDefaultValues&&!ae(t,g),isSubmitted:!!r.keepIsSubmitted&&i.isSubmitted,dirtyFields:r.keepDirty?i.dirtyFields:r.keepDefaultValues&&t?Object.entries(t).reduce((e,[t,r])=>Object.assign(Object.assign({},e),{[t]:r!==l(g,t)}),{}):{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),y.mount=!v.isValid||!!r.keepIsValid,y.watch=!!e.shouldUnregister},clearErrors:e=>{e?C(e).forEach(e=>me(i.errors,e)):i.errors={},x.state.next({errors:i.errors,isValid:!0})},unregister:z,setError:(e,t,r)=>{const s=(l(f,e,{_f:{}})._f||{}).ref;W(i.errors,e,Object.assign(Object.assign({},t),{ref:s})),x.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>{const t=l(f,e)._f;(t.ref.focus?t.ref:t.refs[0]).focus()}}}exports.Controller=e=>e.render(N(e)),exports.FormProvider=e=>t.createElement(V.Provider,{value:A(e,"children")},e.children),exports.appendErrors=T,exports.get=l,exports.set=W,exports.useController=N,exports.useFieldArray=e=>{const r=w(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,u]=t.useState(H(s._getFieldArray(a),n)),c=t.useRef(o),d=t.useRef(a);d.current=a,c.current=o,s._names.array.add(a),U({callback:({values:e,name:t})=>{t!==d.current&&t||u(H(l(e,d.current),n))},subject:s._subjects.array,skipEarlySubscription:!0});const f=t.useCallback(e=>{const t=((e,t)=>e.map((e={})=>A(e,t)))(e,n);return W(s._formValues,a,t),u(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._executeSchema([a]).then(e=>{const t=l(e.errors,a);t&&t.type&&!l(s._formState.errors,a)&&(W(s._formState.errors,a,t),s._subjects.state.next({errors:s._formState.errors}))}),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(()=>(!l(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),c,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),c,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),c,n),H(C(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=C(e),i=z(I(s._getFieldArray(a),c,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),c,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),c,n),e,H(C(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),c,n),i=Z(r,e,t);c.current=H(i,n),s._updateFieldArray(a,Z,{argA:e,argB:t},f(c.current),!0,!1)},[f,a,s,n]),replace:t.useCallback(e=>{const t=H(C(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({},Be(e)),{formState:s});const n=r.current.control;return U({subject:n._subjects.state,callback:e=>{D(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()}),t.useEffect(()=>()=>Object.values(n._subjects).forEach(e=>e.unsubscribe()),[n]),r.current.formState=S(s,n._proxyFormState),r.current},exports.useFormContext=w,exports.useFormState=M,exports.useWatch=function(e){const r=w(),{control:s=r.control,name:a,defaultValue:n,disabled:o}=e||{},u=t.useRef(a);u.current=a,U({disabled:o,subject:s._subjects.watch,callback:e=>{if(E(u.current,e.name)){s._stateFlags.mount=!0;const e=s._getWatch(u.current,n);d(i(e)?Object.assign({},e):Array.isArray(e)?[...e]:e)}}});const[l,d]=t.useState(c(n)?s._getWatch(a):n);return t.useEffect(()=>{s._removeUnmounted()}),l};
|
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,t)=>[...e].some(e=>(e=>e.substring(0,e.search(/.\d/))||e)(t)===e),u=e=>e.filter(Boolean),c=e=>void 0===e,l=(e,t,r)=>{if(i(e)&&t){const s=u(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return c(s)||s===e?c(e[t])?r:e[t]:s}};const d="blur",f="change",g="onBlur",m="onChange",y="onSubmit",b="onTouched",h="all",p="max",_="min",v="maxLength",x="minLength",j="pattern",O="required",F="validate";var A=(e,t)=>{const r=Object.assign({},e);return delete r[t],r};const V=t.createContext(null),w=()=>t.useContext(V);var S=(e,t,r,s=!0)=>{function a(a){return()=>{if(a in e)return t[a]!==h&&(t[a]=!s||h),r&&(r[a]=!0),e[a]}}const n={};for(const t in e)Object.defineProperty(n,t,{get:a(t)});return n},k=e=>i(e)&&!Object.keys(e).length,D=(e,t,r)=>{const s=A(e,"name");return k(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!r||h))},C=e=>Array.isArray(e)?e:[e],E=(e,t)=>!e||!t||C(e).some(e=>e&&(e.startsWith(t)||t.startsWith(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=w(),{control:s=r.control,disabled:a,name:n}=e||{},[i,o]=t.useState(s._formState),u=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.useRef(n);return c.current=n,U({disabled:a,callback:e=>E(c.current,e.name)&&D(e,u.current)&&o(Object.assign(Object.assign({},s._formState),e)),subject:s._subjects.state,skipEarlySubscription:!0}),S(i,s._proxyFormState,u.current,!1)}function N(e){const s=w(),{name:a,control:n=s.control,shouldUnregister:u}=e,[c,g]=t.useState(l(n._formValues,a,l(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)&&g(l(e.values,y.current)),skipEarlySubscription:!0});const b=n.register(a,Object.assign(Object.assign({},e.rules),{value:c})),h=t.useCallback((e,t)=>{const r=l(n._fields,e);r&&(r._f.mount=t)},[n]);return t.useEffect(()=>(h(a,!0),()=>{const e=n._options.shouldUnregister||u;(o(n._names.array,a)?e&&!n._stateFlags.action:e)?n.unregister(a):h(a,!1)}),[a,n,u,h]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e)(e);g(t),b.onChange({target:{value:t,name:a},type:f})},onBlur:()=>{b.onBlur({target:{value:c,name:a},type:d})},name:a,value:c,ref:e=>{const t=l(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:!!l(m.errors,a),isDirty:!!l(m.dirtyFields,a),isTouched:!!l(m.touchedFields,a),error:l(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=l(e,s);if(r){const e=r._f,s=A(r,"_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(s)&&P(s,t)}}};var q=(e,t,r={})=>r.shouldFocus||c(r.shouldFocus)?r.focusName||`${e}.${c(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[...C(e),...C(t)]}var G=e=>Array.isArray(e)?e.map(()=>{}):void 0;function J(e,t,r){return[...e.slice(0,t),...C(r),...e.slice(t)]}var K=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function Q(e,t){return[...C(t),...C(e)]}var X=(e,t)=>c(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,C(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}function re(){let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next(t)},subscribe:t=>{const r=function(){let e=[];return{add:t=>{e.push(t)},unsubscribe:()=>{for(const t of e)t();e=[]}}}(),s=function(e,t){let r=!1;return t.add(()=>r=!0),{next:t=>{r||e.next(t)}}}(t,r);return e.push(s),r},unsubscribe:()=>{e=[]}}}var se=e=>a(e)||!n(e);function ae(e,t){if(se(e)||se(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)?!ae(r,e):r!==e)return!1}}return!0}var ne=e=>({isOnSubmit:!e||e===y,isOnBlur:e===g,isOnChange:e===m,isOnAll:e===h,isOnTouch:e===b}),ie=e=>"boolean"==typeof e,oe=e=>"file"===e.type,ue=e=>e instanceof HTMLElement,ce=e=>"select-multiple"===e.type,le=e=>"radio"===e.type,de=e=>"string"==typeof e,fe="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,ge=e=>ue(e)&&document.contains(e);function me(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=c(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)),u=o.length-1;for(t>0&&(n=e);++a<o.length;){const t=o[a];s=s?s[t]:e[t],u===a&&(i(s)&&k(s)||Array.isArray(s)&&!s.filter(e=>i(e)&&!k(e)||ie(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}const ye={value:!1,isValid:!1},be={value:!0,isValid:!0};var he=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?be:{value:e[0].value,isValid:!0}:be:ye}return ye},pe=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const _e={isValid:!1,value:null};var ve=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,_e):_e;function xe(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return oe(t)?t.files:le(t)?ve(e.refs).value:ce(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?he(e.refs).value:pe(c(t.value)?e.ref.value:t.value,e)}function je(e,t,r){const s=l(e,r);if(s||R(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const s=a.join("."),n=l(t,s),i=l(e,s);if(n&&!Array.isArray(n)&&r!==s)return{name:r};if(i&&i.type)return{name:s,error:i};a.pop()}return{name:r}}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],l(t[i]||{},s,[]),r[i][s],r[i],s)):!a(t)&&ae(l(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 Fe=(e,t,r)=>function e(t,r){if(se(t)||se(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)=>!u(l(e,t,[])).length&&me(e,t),Ve=e=>de(e)||t.isValidElement(e),we=e=>e instanceof RegExp;function Se(e,t,r="validate"){if(Ve(e)||Array.isArray(e)&&e.every(Ve)||ie(e)&&!e)return{type:r,message:Ve(e)?e:"",ref:t}}var ke=e=>i(e)&&!we(e)?e:{value:e,message:""},De=async(e,t,s,n)=>{const{ref:o,refs:u,required:c,maxLength:l,minLength:d,min:f,max:g,pattern:m,validate:y,name:b,valueAsNumber:h,mount:A,disabled:V}=e._f;if(!A||V)return{};const w=u?u[0]:o,S=e=>{n&&w.reportValidity&&(w.setCustomValidity(ie(e)?"":e||" "),w.reportValidity())},D={},C=le(o),E=r(o),B=C||E,U=(h||oe(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,M=T.bind(null,b,s,D),N=(e,t,r,s=v,a=x)=>{const n=e?t:r;D[b]=Object.assign({type:e?s:a,message:n,ref:o},M(e?s:a,n))};if(c&&(!B&&(U||a(t))||ie(t)&&!t||E&&!he(u).isValid||C&&!ve(u).isValid)){const{value:e,message:t}=Ve(c)?{value:!!c,message:c}:ke(c);if(e&&(D[b]=Object.assign({type:O,message:t,ref:w},M(O,t)),!s))return S(t),D}if(!(U||a(f)&&a(g))){let e,r;const n=ke(g),i=ke(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);de(n.value)&&(e=s>new Date(n.value)),de(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,_),!s))return S(D[b].message),D}if((l||d)&&!U&&de(t)){const e=ke(l),r=ke(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(D[b].message),D}if(m&&!U&&de(t)){const{value:e,message:r}=ke(m);if(we(e)&&!t.match(e)&&(D[b]=Object.assign({type:j,message:r,ref:o},M(j,r)),!s))return S(r),D}if(y)if(ee(y)){const e=Se(await y(t),w);if(e&&(D[b]=Object.assign(Object.assign({},e),M(F,e.message)),!s))return S(e.message),D}else if(i(y)){let e={};for(const r in y){if(!k(e)&&!s)break;const a=Se(await y[r](t),w,r);a&&(e=Object.assign(Object.assign({},a),M(r,a.message)),S(a.message),s&&(D[b]=e))}if(!k(e)&&(D[b]=Object.assign({ref:w},e),!s))return D}return S(!0),D};const Ce={mode:y,reValidateMode:m,shouldFocusError:!0},Ee="undefined"==typeof window;function Be(e={}){let t,n=Object.assign(Object.assign({},Ce),e),i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},f={},g=n.defaultValues||{},m=n.shouldUnregister?{}:te(g),y={action:!1,mount:!1,watch:!1},b={mount:new Set,unMount:new Set,array:new Set,watch:new Set},p=0,_={};const v={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={watch:re(),control:re(),array:re(),state:re()},j=ne(n.mode),O=ne(n.reValidateMode),F=n.criteriaMode===h,V=(e,t)=>!t&&(b.watchAll||b.watch.has(e)||b.watch.has((e.match(/\w+/)||[])[0])),w=async e=>{let t=!1;return v.isValid&&(t=n.resolver?k((await M()).errors):await N(f,!0),e||t===i.isValid||(i.isValid=t,x.state.next({isValid:t}))),t},S=(e,t)=>(W(i.errors,e,t),x.state.next({errors:i.errors})),D=(e,t,r)=>{const s=l(f,e);if(s){const a=l(m,e,l(g,e));c(a)||r&&r.defaultChecked||t?W(m,e,t?a:xe(s._f)):L(e,a)}y.mount&&w()},E=(e,t,r,s=!0)=>{let a=!1;const n={name:e},o=l(i.touchedFields,e);if(v.isDirty){const e=i.isDirty;i.isDirty=n.isDirty=T(),a=e!==n.isDirty}if(v.dirtyFields&&!r){const r=l(i.dirtyFields,e);ae(l(g,e),t)?me(i.dirtyFields,e):W(i.dirtyFields,e,!0),n.dirtyFields=i.dirtyFields,a=a||r!==l(i.dirtyFields,e)}return r&&!o&&(W(i.touchedFields,e,r),n.touchedFields=i.touchedFields,a=a||v.touchedFields&&o!==r),a&&s&&x.state.next(n),a?n:{}},B=(e,t)=>(W(i.dirtyFields,e,Fe(t,l(g,e,[]),l(i.dirtyFields,e,[]))),Ae(i.dirtyFields,e)),U=async(r,s,a,n,o)=>{const u=l(i.errors,s),c=v.isValid&&i.isValid!==a;var d,f;if(e.delayError&&n?(t=t||(d=S,f=e.delayError,(...e)=>{clearTimeout(p),p=window.setTimeout(()=>d(...e),f)}),t(s,n)):(clearTimeout(p),n?W(i.errors,s,n):me(i.errors,s)),((n?!ae(u,n):u)||!k(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),x.state.next(e)}_[s]--,v.isValidating&&!_[s]&&(x.state.next({isValidating:!1}),_={})},M=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=l(t,r);e&&W(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||b.mount,f,n.criteriaMode,n.shouldUseNativeValidation)):{},N=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 De(a,l(m,e.name),F,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?W(i.errors,e.name,s[e.name]):me(i.errors,e.name))}s&&await N(s,t,r)}}return r.valid},T=(e,t)=>(e&&t&&W(m,e,t),!ae(H(),g)),R=(e,t,r)=>{const s=Object.assign({},y.mount?m:c(t)?g:de(e)?{[e]:t}:t);if(e){const t=C(e).map(e=>(r&&b.watch.add(e),l(s,e)));return Array.isArray(e)?t:t[0]}return r&&(b.watchAll=!0),s},L=(e,t,s={},n)=>{const i=l(f,e);let o=t;if(i){const s=i._f;s&&(W(m,e,pe(t,s)),o=fe&&ue(s.ref)&&a(t)?"":t,oe(s.ref)&&!de(o)?s.ref.files=o:ce(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&&x.control.next({values:m,name:e}))}(s.shouldDirty||s.shouldTouch)&&E(e,o,s.shouldTouch),s.shouldValidate&&$(e)},q=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,o=l(f,i);!b.array.has(e)&&se(n)&&(!o||o._f)||s(n)?L(i,n,r,!0):q(i,n,r)}},I=async e=>{const t=e.target;let r=t.name;const s=l(f,r);if(s){let o,u;const c=t.type?xe(s._f):t.value,g=e.type===d,y=!((a=s._f).mount&&(a.required||a.min||a.max||a.maxLength||a.minLength||a.pattern||a.validate)||n.resolver||l(i.errors,r)||s._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))(g,l(i.touchedFields,r),i.isSubmitted,O,j),b=V(r,g);g?s._f.onBlur&&s._f.onBlur(e):s._f.onChange&&s._f.onChange(e),W(m,r,c);const h=E(r,c,g,!1),p=!k(h)||b;if(!g&&x.watch.next({name:r,type:e.type}),y)return p&&x.state.next(Object.assign({name:r},b?{}:h));if(!g&&b&&x.state.next({}),_[r]=(_[r],1),v.isValidating&&x.state.next({isValidating:!0}),n.resolver){const{errors:e}=await M([r]),t=je(i.errors,f,r),s=je(e,f,t.name||r);o=s.error,r=s.name,u=k(e)}else o=(await De(s,l(m,r),F,n.shouldUseNativeValidation))[r],u=await w(!0);s._f.deps&&$(s._f.deps),U(!1,r,u,o,h)}var a},$=async(e,t={})=>{let r,s;const a=C(e);if(x.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await M();if(e)for(const r of e){const e=l(t,r);e?W(i.errors,r,e):me(i.errors,r)}else i.errors=t;return t})(c(e)?e:a);r=k(t),s=e?!a.some(e=>l(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=l(f,e);return await N(t&&t._f?{[e]:t}:t)}))).every(Boolean),w()):s=r=await N(f);return x.state.next(Object.assign(Object.assign(Object.assign({},!de(e)||v.isValid&&r!==i.isValid?{}:{name:e}),n.resolver?{isValid:r}:{}),{errors:i.errors,isValidating:!1})),t.shouldFocus&&!s&&P(f,e=>l(i.errors,e),e?a:b.mount),s},H=e=>{const t=Object.assign(Object.assign({},g),y.mount?m:{});return c(e)?t:de(e)?l(t,e):e.map(e=>l(t,e))},z=(e,t={})=>{for(const r of e?C(e):b.mount)b.mount.delete(r),b.array.delete(r),l(f,r)&&(t.keepValue||(me(f,r),me(m,r)),!t.keepError&&me(i.errors,r),!t.keepDirty&&me(i.dirtyFields,r),!t.keepTouched&&me(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&me(g,r));x.watch.next({}),x.state.next(Object.assign(Object.assign({},i),t.keepDirty?{isDirty:T()}:{})),!t.keepIsValid&&w()},G=(e,t={})=>{const s=l(f,e);return W(f,e,{_f:Object.assign(Object.assign(Object.assign({},s&&s._f?s._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),b.mount.add(e),!c(t.value)&&W(m,e,t.value),s?ie(t.disabled)&&W(m,e,t.disabled?void 0:l(m,e,xe(s._f))):D(e,!0),Ee?{name:e}:Object.assign(Object.assign({name:e},ie(t.disabled)?{disabled:t.disabled}:{}),{onChange:I,onBlur:I,ref:s=>{if(s){G(e,t);let a=l(f,e);const n=c(s.value)&&s.querySelectorAll&&s.querySelectorAll("input,select,textarea")[0]||s,i=(e=>le(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(ge),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},W(f,e,a),(!t||!t.disabled)&&D(e,!1,n)}else{const r=l(f,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!o(b.array,e)||!y.action)&&b.unMount.add(e)}}})};return{control:{register:G,unregister:z,_executeSchema:M,_getWatch:R,_getDirty:T,_updateValid:w,_removeUnmounted:()=>{for(const e of b.unMount){const t=l(f,e);t&&(t._f.refs?t._f.refs.every(e=>!ge(e)):!ge(t._f.ref))&&z(e)}b.unMount=new Set},_updateFieldArray:(e,t,r,s=[],a=!0,n=!0)=>{if(y.action=!0,n&&l(f,e)){const s=t(l(f,e),r.argA,r.argB);a&&W(f,e,s)}if(Array.isArray(l(i.errors,e))){const s=t(l(i.errors,e),r.argA,r.argB);a&&W(i.errors,e,s),Ae(i.errors,e)}if(v.touchedFields&&l(i.touchedFields,e)){const s=t(l(i.touchedFields,e),r.argA,r.argB);a&&W(i.touchedFields,e,s),Ae(i.touchedFields,e)}(v.dirtyFields||v.isDirty)&&B(e,s),x.state.next({isDirty:T(e,s),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})},_getFieldArray:t=>l(y.mount?m:g,t,e.shouldUnregister?l(g,t,[]):[]),_subjects:x,_proxyFormState:v,get _fields(){return f},set _fields(e){f=e},get _formValues(){return m},set _formValues(e){m=e},get _stateFlags(){return y},set _stateFlags(e){y=e},get _defaultValues(){return g},set _defaultValues(e){g=e},get _names(){return b},set _names(e){b=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:$,register:G,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=Object.assign({},m);x.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await M();i.errors=e,a=t}else await N(f);k(i.errors)&&Object.keys(i.errors).every(e=>l(a,e))?(x.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(i.errors,r),n.shouldFocusError&&P(f,e=>l(i.errors,e),b.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:k(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>ee(e)?x.watch.subscribe({next:r=>e(R(void 0,t),r)}):R(e,t,!0),setValue:(e,t,r={})=>{const s=l(f,e),n=b.array.has(e);W(m,e,t),n?(x.array.next({name:e,values:m}),(v.isDirty||v.dirtyFields)&&r.shouldDirty&&(B(e,t),x.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:T(e,t)}))):!s||s._f||a(t)?L(e,t,r,!0):q(e,t,r),V(e)&&x.state.next({}),x.watch.next({name:e})},getValues:H,reset:(t,r={})=>{const s=!k(t),a=t||g,n=te(a);if(r.keepDefaultValues||(g=a),!r.keepValues){if(fe)for(const e of b.mount){const t=l(f,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ue(e)&&e.closest("form").reset();break}catch(e){}}}m=e.shouldUnregister?r.keepDefaultValues?te(g):{}:n,f={},x.control.next({values:s?n:g}),x.watch.next({}),x.array.next({values:n})}b={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},x.state.next({submitCount:r.keepSubmitCount?i.submitCount:0,isDirty:r.keepDirty?i.isDirty:!!r.keepDefaultValues&&!ae(t,g),isSubmitted:!!r.keepIsSubmitted&&i.isSubmitted,dirtyFields:r.keepDirty?i.dirtyFields:r.keepDefaultValues&&t?Object.entries(t).reduce((e,[t,r])=>Object.assign(Object.assign({},e),{[t]:r!==l(g,t)}),{}):{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),y.mount=!v.isValid||!!r.keepIsValid,y.watch=!!e.shouldUnregister},clearErrors:e=>{e?C(e).forEach(e=>me(i.errors,e)):i.errors={},x.state.next({errors:i.errors,isValid:!0})},unregister:z,setError:(e,t,r)=>{const s=(l(f,e,{_f:{}})._f||{}).ref;W(i.errors,e,Object.assign(Object.assign({},t),{ref:s})),x.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>{const t=l(f,e)._f;(t.ref.focus?t.ref:t.refs[0]).focus()}}}exports.Controller=e=>e.render(N(e)),exports.FormProvider=e=>t.createElement(V.Provider,{value:A(e,"children")},e.children),exports.appendErrors=T,exports.get=l,exports.set=W,exports.useController=N,exports.useFieldArray=e=>{const r=w(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,u]=t.useState(H(s._getFieldArray(a),n)),c=t.useRef(o),d=t.useRef(a),f=t.useRef(!1);d.current=a,c.current=o,s._names.array.add(a),U({callback:({values:e,name:t})=>{t!==d.current&&t||u(H(l(e,d.current),n))},subject:s._subjects.array,skipEarlySubscription:!0});const g=t.useCallback(e=>{const t=((e,t)=>e.map((e={})=>A(e,t)))(e,n);return f.current=!0,W(s._formValues,a,t),u(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}f.current&&s._executeSchema([a]).then(e=>{const t=l(e.errors,a);t&&t.type&&!l(s._formState.errors,a)&&(W(s._formState.errors,a,t),s._subjects.state.next({errors:s._formState.errors}))}),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(()=>(!l(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),c,n);Y(r,e,t),s._updateFieldArray(a,Y,{argA:e,argB:t},g(r),!1)},[g,a,s,n]),move:t.useCallback((e,t)=>{const r=I(s._getFieldArray(a),c,n);K(r,e,t),s._updateFieldArray(a,K,{argA:e,argB:t},g(r),!1)},[g,a,s,n]),prepend:t.useCallback((e,t)=>{const r=Q(I(s._getFieldArray(a),c,n),H(C(e),n));s._updateFieldArray(a,Q,{argA:G(e)},g(r)),s._names.focus=q(a,0,t)},[g,a,s,n]),append:t.useCallback((e,t)=>{const r=C(e),i=z(I(s._getFieldArray(a),c,n),H(r,n));s._updateFieldArray(a,z,{argA:G(e)},g(i)),s._names.focus=q(a,i.length-r.length,t)},[g,a,s,n]),remove:t.useCallback(e=>{const t=X(I(s._getFieldArray(a),c,n),e);s._updateFieldArray(a,X,{argA:e},g(t))},[g,a,s,n]),insert:t.useCallback((e,t,r)=>{const i=J(I(s._getFieldArray(a),c,n),e,H(C(t),n));s._updateFieldArray(a,J,{argA:e,argB:G(t)},g(i)),s._names.focus=q(a,e,r)},[g,a,s,n]),update:t.useCallback((e,t)=>{const r=I(s._getFieldArray(a),c,n),i=Z(r,e,t);c.current=H(i,n),s._updateFieldArray(a,Z,{argA:e,argB:t},g(c.current),!0,!1)},[g,a,s,n]),replace:t.useCallback(e=>{const t=H(C(e),n);s._updateFieldArray(a,()=>t,{},g(t),!0,!1)},[g,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({},Be(e)),{formState:s});const n=r.current.control;return U({subject:n._subjects.state,callback:e=>{D(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()}),t.useEffect(()=>()=>Object.values(n._subjects).forEach(e=>e.unsubscribe()),[n]),r.current.formState=S(s,n._proxyFormState),r.current},exports.useFormContext=w,exports.useFormState=M,exports.useWatch=function(e){const r=w(),{control:s=r.control,name:a,defaultValue:n,disabled:o}=e||{},u=t.useRef(a);u.current=a,U({disabled:o,subject:s._subjects.watch,callback:e=>{if(E(u.current,e.name)){s._stateFlags.mount=!0;const e=s._getWatch(u.current,n);d(i(e)?Object.assign({},e):Array.isArray(e)?[...e]:e)}}});const[l,d]=t.useState(c(n)?s._getWatch(a):n);return t.useEffect(()=>{s._removeUnmounted()}),l};
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|