react-hook-form 7.15.0 → 7.15.3
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 +104 -3
- package/README.md +7 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +45 -43
- 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 +5 -5
- package/dist/types/errors.d.ts +2 -2
- package/dist/types/form.d.ts +3 -3
- package/dist/types/utils.d.ts +20 -0
- package/package.json +16 -16
- package/dist/global.d.ts +0 -11
package/CHANGELOG.md
CHANGED
@@ -1,8 +1,109 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [7.15.0] - 2021-09-05
|
4
|
+
|
5
|
+
## Added
|
6
|
+
|
7
|
+
- `useFieldArray` new method `replace()`
|
8
|
+
|
9
|
+
```tsx
|
10
|
+
const { control } = useForm({
|
11
|
+
defaultValues: {
|
12
|
+
test: [{ value: 'lorem' }, { value: 'ipsum' }],
|
13
|
+
},
|
14
|
+
});
|
15
|
+
const { fields, replace } = useFieldArray({
|
16
|
+
control,
|
17
|
+
name: 'test',
|
18
|
+
});
|
19
|
+
|
20
|
+
const handleFullyReplacement = (): void => {
|
21
|
+
// remove old and set fully new values
|
22
|
+
replace([{ value: 'dolor' }, { value: 'sit' }, { value: 'amet' }]);
|
23
|
+
};
|
24
|
+
```
|
25
|
+
|
26
|
+
## [7.14.0] - 2021-08-27
|
27
|
+
|
28
|
+
## Added
|
29
|
+
|
30
|
+
- `register` add dependent validation
|
31
|
+
|
32
|
+
```tsx
|
33
|
+
const App = () => {
|
34
|
+
const { register, getValues } = useForm();
|
35
|
+
|
36
|
+
return (
|
37
|
+
<form>
|
38
|
+
<input
|
39
|
+
{...register('firstName', {
|
40
|
+
validate: (value) => {
|
41
|
+
return getValues('lastName') === value;
|
42
|
+
},
|
43
|
+
})}
|
44
|
+
/>
|
45
|
+
<input {...register('lastName', { deps: ['firstName'] })} /> // dependant validation
|
46
|
+
</form>
|
47
|
+
);
|
48
|
+
};
|
49
|
+
```
|
50
|
+
|
51
|
+
## [7.13.0] - 2021-08-22
|
52
|
+
|
53
|
+
## Added
|
54
|
+
|
55
|
+
`Trigger`
|
56
|
+
|
57
|
+
- Trigger will enable object name trigger and field array name trigger
|
58
|
+
|
59
|
+
```tsx
|
60
|
+
useFieldArray({ name: 'test' });
|
61
|
+
|
62
|
+
trigger('name'); // will trigger the whole field array to validate
|
63
|
+
```
|
64
|
+
|
65
|
+
`register`
|
66
|
+
|
67
|
+
- added a `disabled` prop as an option to toggle input disable attribute
|
68
|
+
- register will be able to seek input DOM reference through the `ref` callback
|
69
|
+
|
70
|
+
```tsx
|
71
|
+
register('test', { disabled: true }) // will set value to undeinfed and pass disabled down to the input attribute
|
72
|
+
|
73
|
+
<div {...register('test')}>
|
74
|
+
<input name="test" /> // this input will be registered
|
75
|
+
</div>
|
76
|
+
```
|
77
|
+
|
78
|
+
`useWatch`
|
79
|
+
|
80
|
+
- added `disabled` prop to toggle the state subscription.
|
81
|
+
|
82
|
+
```tsx
|
83
|
+
useWatch({ disabled: true }); // you toggle the subscription
|
84
|
+
```
|
85
|
+
|
86
|
+
`useFormState`
|
87
|
+
|
88
|
+
- added `disabled` prop to toggle the state subscription.
|
89
|
+
|
90
|
+
```tsx
|
91
|
+
useFormState({ disabled: true }); // you toggle the subscription
|
92
|
+
```
|
93
|
+
|
94
|
+
`setValue`
|
95
|
+
|
96
|
+
- allow set value for non-registered inputs include nested object and array field.
|
97
|
+
|
98
|
+
```tsx
|
99
|
+
<input {...register('test.0.firstName')} />
|
100
|
+
|
101
|
+
setValue('test', [{ firstName: 'bill' }, {firstName: 'kotaro}, {firstName: 'joris'}]) // this will works
|
102
|
+
```
|
103
|
+
|
3
104
|
## [7.12.0] - 2021-07-24
|
4
105
|
|
5
|
-
##
|
106
|
+
## Added
|
6
107
|
|
7
108
|
- new `useForm` config `delayError`
|
8
109
|
|
@@ -14,7 +115,7 @@ useForm({
|
|
14
115
|
|
15
116
|
## [7.11.0] - 2021-07-13
|
16
117
|
|
17
|
-
##
|
118
|
+
## Added
|
18
119
|
|
19
120
|
- `update` method to update an field array inputs
|
20
121
|
|
@@ -32,7 +133,7 @@ update(0, data); // update an individual field array node
|
|
32
133
|
|
33
134
|
## [7.9.0] - 2021-06-19
|
34
135
|
|
35
|
-
##
|
136
|
+
## Added
|
36
137
|
|
37
138
|
- new config at `useForm` to enabled native browser validation
|
38
139
|
|
package/README.md
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
|
22
22
|
Version 7 | [Version 6](/docs/README.V6.md)
|
23
23
|
|
24
|
-
English | <a href="./docs/README.V7.ja-JP.md">日本語</a>
|
24
|
+
English | <a href="./docs/README.V7.ja-JP.md">日本語</a>
|
25
25
|
|
26
26
|
## Features
|
27
27
|
|
@@ -313,6 +313,12 @@ Thanks go to these kind and lovely sponsors (companies and individuals)!
|
|
313
313
|
width="45"
|
314
314
|
height="45"
|
315
315
|
/></a>
|
316
|
+
<a href="https://github.com/pashtet422"
|
317
|
+
><img
|
318
|
+
src="https://avatars.githubusercontent.com/u/45594821?v=4"
|
319
|
+
width="45"
|
320
|
+
height="45"
|
321
|
+
/></a>
|
316
322
|
</p>
|
317
323
|
|
318
324
|
## 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,u=(e,t)=>[...e].some(e=>o(t)===e),l=e=>e.filter(Boolean),c=e=>void 0===e,d=(e,t,r)=>{if(i(e)&&t){const s=l(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return c(s)||s===e?c(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",A="minLength",O="pattern",V="required",j="validate";var F=(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=F(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 M(e){const r=S(),{control:s=r.control,disabled:a,name:n}=e||{},i=t.useRef(n),[o,u]=t.useState(s._formState),l=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1});return i.current=n,t.useEffect(()=>{const e=s._subjects.state.subscribe({next:e=>(!i.current||!e.name||E(i.current).includes(e.name))&&C(e,l.current)&&u(Object.assign(Object.assign({},s._formState),e))});return a&&e.unsubscribe(),()=>e.unsubscribe()},[a,s]),k(o,s._proxyFormState,l.current,!1)}var B=e=>/^\w*$/.test(e),N=e=>l(e.replace(/["|']|\]/g,"").split(/\.|\[/));function T(e,t,r){let s=-1;const a=B(t)?[t]:N(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}function U(e){const s=S(),{name:a,control:n=s.control,shouldUnregister:o}=e,[l,c]=t.useState(d(n._formValues,a,d(n._defaultValues,a,e.defaultValue)));T(n._formValues,a,l);const y=M({control:n||s.control,name:a}),m=n.register(a,Object.assign(Object.assign({},e.rules),{value:l})),b=t.useCallback((e,t)=>{const r=d(n._fields,e);r&&(r._f.mount=t)},[n]);return t.useEffect(()=>{const e=n._subjects.control.subscribe({next:e=>(!e.name||a===e.name)&&c(d(e.values,a))});return b(a,!0),()=>{e.unsubscribe();const t=n._shouldUnregister||o;(u(n._names.array,a)?t&&!n._isInAction:t)?n.unregister(a):b(a,!1)}},[a,n,o,b]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e)(e);c(t),m.onChange({target:{value:t,name:a},type:g})},onBlur:()=>{m.onBlur({target:{name:a},type:f})},name:a,value:l,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 I=(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})}):{};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=F(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 L=(e,t,r)=>r&&!r.shouldFocus?r.focusName||`${e}.${r.focusIndex}.`:`${e}.${t}.`,W=(e,t,r)=>e.map((e,s)=>{const a=t.current[s];return Object.assign(Object.assign({},e),a?{[r]:a[r]}:{})}),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)})},$=(e=[],t)=>e.map(e=>Object.assign(Object.assign({},e[t]?{}:{[t]:R()}),e));function q(e,t){return[...E(e),...E(t)]}var H=e=>Array.isArray(e)?e.map(()=>{}):void 0;function z(e,t,r){return[...e.slice(0,t),...E(r),...e.slice(t)]}var G=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function J(e,t){return[...E(t),...E(e)]}var K=(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 l(s).length?s:[]}(e,E(t).sort((e,t)=>e-t)),Q=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},X=(e,t,r)=>(e[t]=r,e);var Y=e=>a(e)||!n(e);function Z(e,t){if(Y(e)||Y(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))?!Z(r,e):r!==e)return!1}}return!0}var ee=e=>({isOnSubmit:!e||e===b,isOnBlur:e===y,isOnChange:e===m,isOnAll:e===_,isOnTouch:e===h}),te=e=>"boolean"==typeof e,re=e=>"file"===e.type,se=e=>"function"==typeof e,ae=e=>e instanceof HTMLElement,ne=e=>"select-multiple"===e.type,ie=e=>"radio"===e.type,oe=e=>"string"==typeof e,ue="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,le=e=>!ae(e)||!document.contains(e),ce=(e,t)=>e.map((e={})=>F(e,t));class de{constructor(){this.tearDowns=[]}add(e){this.tearDowns.push(e)}unsubscribe(){for(const e of this.tearDowns)e();this.tearDowns=[]}}class fe{constructor(e,t){this.observer=e,this.closed=!1,t.add(()=>this.closed=!0)}next(e){this.closed||this.observer.next(e)}}class ge{constructor(){this.observers=[]}next(e){for(const t of this.observers)t.next(e)}subscribe(e){const t=new de,r=new fe(e,t);return this.observers.push(r),t}unsubscribe(){this.observers=[]}}function ye(e,t){const r=B(t)?[t]:N(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)&&D(s)||Array.isArray(s)&&!s.filter(e=>i(e)&&!D(e)||te(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}const me={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:me}return me},_e=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const pe={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,pe):pe;function xe(e){const t=e.ref;var s;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return re(t)?t.files:ie(t)?ve(e.refs).value:ne(t)?(s=t.options,[...s].filter(({selected:e})=>e).map(({value:e})=>e)):r(t)?he(e.refs).value:_e(c(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)&&Z(d(t[i]||{},s),e[i][s])?T(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(Y(t)||Y(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))),Ve=(e,t)=>!l(d(e,t,[])).length&&ye(e,t),je=e=>oe(e)||t.isValidElement(e),Fe=e=>e instanceof RegExp;function we(e,t,r="validate"){if(je(e)||Array.isArray(e)&&e.every(je)||te(e)&&!e)return{type:r,message:je(e)?e:"",ref:t}}var Se=e=>i(e)&&!Fe(e)?e:{value:e,message:""},ke=async(e,t,s,n)=>{const{ref:o,refs:u,required:l,maxLength:c,minLength:d,min:f,max:g,pattern:y,validate:m,name:b,valueAsNumber:h,mount:_,disabled:F}=e._f;if(!_||F)return{};const w=u?u[0]:o,S=e=>{n&&w.reportValidity&&(w.setCustomValidity(te(e)?"":e||" "),w.reportValidity())},k={},C=ie(o),E=r(o),M=C||E,B=(h||re(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,N=I.bind(null,b,s,k),T=(e,t,r,s=x,a=A)=>{const n=e?t:r;k[b]=Object.assign({type:e?s:a,message:n,ref:o},N(e?s:a,n))};if(l&&(!M&&(B||a(t))||te(t)&&!t||E&&!he(u).isValid||C&&!ve(u).isValid)){const{value:e,message:t}=je(l)?{value:!!l,message:l}:Se(l);if(e&&(k[b]=Object.assign({type:V,message:t,ref:w},N(V,t)),!s))return S(t),k}if(!(B||a(f)&&a(g))){let e,r;const n=Se(g),i=Se(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);oe(n.value)&&(e=s>new Date(n.value)),oe(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((c||d)&&!B&&oe(t)){const e=Se(c),r=Se(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&&!B&&oe(t)){const{value:e,message:r}=Se(y);if(Fe(e)&&!t.match(e)&&(k[b]=Object.assign({type:O,message:r,ref:o},N(O,r)),!s))return S(r),k}if(m)if(se(m)){const e=we(await m(t),w);if(e&&(k[b]=Object.assign(Object.assign({},e),N(j,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=we(await m[r](t),w,r);a&&(e=Object.assign(Object.assign({},a),N(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 De={mode:b,reValidateMode:m,shouldFocusError:!0},Ce="undefined"==typeof window;function Ee(e={}){let t,n=Object.assign(Object.assign({},De),e),g={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},y={},m={},b=n.defaultValues||{},h=!1,p=!1,v=0,x={mount:new Set,unMount:new Set,array:new Set,watch:new Set},A={};const O={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},V={watch:new ge,control:new ge,array:new ge,state:new ge},j=ee(n.mode),w=ee(n.reValidateMode),S=n.criteriaMode===_,k=e=>x.watchAll||x.watch.has(e)||x.watch.has((e.match(/\w+/)||[])[0]),C=(e,t)=>{T(g.errors,e,t),V.state.next({errors:g.errors})},M=async(r,s,a,n,i)=>{const o=d(g.errors,s),u=O.isValid&&g.isValid!==a;var l,c;if(e.delayError&&n?(t=t||(l=C,c=e.delayError,(...e)=>{clearTimeout(v),v=window.setTimeout(()=>l(...e),c)}),t(s,n)):(clearTimeout(v),n?T(g.errors,s,n):ye(g.errors,s)),((n?!Z(o,n):o)||!D(i)||u)&&!r){const e=Object.assign(Object.assign(Object.assign({},i),u?{isValid:a}:{}),{errors:g.errors,name:s});g=Object.assign(Object.assign({},g),e),V.state.next(e)}A[s]--,O.isValidating&&!A[s]&&(V.state.next({isValidating:!1}),A={})},B=(e,t,s={},n)=>{const i=d(y,e);if(i){const o=i._f;if(o){T(m,e,_e(t,o));const i=ue&&ae(o.ref)&&a(t)?"":t;re(o.ref)&&!oe(i)?o.ref.files=i:ne(o.ref)?[...o.ref.options].forEach(e=>e.selected=i.includes(e.value)):o.refs?r(o.ref)?o.refs.length>1?o.refs.forEach(e=>e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value):o.refs[0].checked=!!i:o.refs.forEach(e=>e.checked=e.value===i):o.ref.value=i,n&&V.control.next({values:J(),name:e}),(s.shouldDirty||s.shouldTouch)&&N(e,i,s.shouldTouch),s.shouldValidate&&G(e)}}},N=(e,t,r,s=!0)=>{const a={name:e};let n=!1;if(O.isDirty){const e=g.isDirty;g.isDirty=R(),a.isDirty=g.isDirty,n=e!==a.isDirty}if(O.dirtyFields&&!r){const r=d(g.dirtyFields,e);!Z(d(b,e),t)?T(g.dirtyFields,e,!0):ye(g.dirtyFields,e),a.dirtyFields=g.dirtyFields,n=n||r!==d(g.dirtyFields,e)}const i=d(g.touchedFields,e);return r&&!i&&(T(g.touchedFields,e,r),a.touchedFields=g.touchedFields,n=n||O.touchedFields&&i!==r),n&&s&&V.state.next(a),n?a:{}},U=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&&T(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||x.mount,y,n.criteriaMode,n.shouldUseNativeValidation)):{},I=async(e,t,r={valid:!0})=>{for(const s in e){const a=e[s];if(a){const e=a._f,s=F(a,"_f");if(e){const s=await ke(a,d(m,e.name),S,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?T(g.errors,e.name,s[e.name]):ye(g.errors,e.name))}s&&await I(s,t,r)}}return r.valid},L=async({type:e,target:t,target:{value:s,name:a,type:i}})=>{const u=d(y,a);if(u){let y,b;const h=i?xe(u._f):s,_=e===f,p=!((l=u._f).mount&&(l.required||l.min||l.max||l.maxLength||l.minLength||l.pattern||l.validate)||n.resolver||d(g.errors,a)||u._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))(_,d(g.touchedFields,a),g.isSubmitted,w,j),v=!_&&k(a);c(h)||T(m,a,h);const x=N(a,h,_,!1),F=!D(x)||v;if(!_&&V.watch.next({name:a,type:e}),p)return F&&V.state.next(Object.assign({name:a},v?{}:x));if(!_&&v&&V.state.next({}),A[a]=(A[a],1),O.isValidating&&V.state.next({isValidating:!0}),n.resolver){const{errors:e}=await U([a]);if(y=d(e,a),r(t)&&!y){const t=o(a),r=d(e,t,{});r.type&&r.message&&(y=r),(r||d(g.errors,t))&&(a=t)}b=D(e)}else y=(await ke(u,d(m,a),S,n.shouldUseNativeValidation))[a],b=await $(!0);u._f.deps&&G(u._f.deps),M(!1,a,b,y,x)}var l},W=(e,t,r)=>{const s=d(y,e);if(s){const a=d(m,e),n=c(a)?d(b,e):a;c(n)||t&&t.defaultChecked||r?T(m,e,r?n:xe(s._f)):B(e,n)}p&&$()},R=(e,t)=>(e&&t&&T(m,e,t),!Z(Object.assign({},J()),b)),$=async e=>{let t=!1;return O.isValid&&(t=n.resolver?D((await U()).errors):await I(y,!0),e||t===g.isValid||(g.isValid=t,V.state.next({isValid:t}))),t},q=(e,t,r)=>Object.entries(t).forEach(([t,a])=>{const n=`${e}.${t}`,i=d(y,n);!x.array.has(e)&&Y(a)&&(!i||i._f)||s(a)?B(n,a,r,!0):q(n,a,r)}),H=(e,t,r)=>{const s=Object.assign({},p?m:c(t)?b:oe(e)?{[e]:t}:t);if(!e)return r&&(x.watchAll=!0),s;const a=[];for(const t of E(e))r&&x.watch.add(t),a.push(d(s,t));return Array.isArray(e)?a:a[0]},z=(e,t="")=>{for(const r in e){const s=e[r],a=t+(t?".":"")+r,n=d(y,a);n&&n._f||(i(s)&&Object.keys(s).length||Array.isArray(s)&&s.length?z(s,a):n||T(m,a,s))}},G=async(e,t={})=>{const r=E(e);let s;if(V.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await U();if(e)for(const r of e){const e=d(t,r);e?T(g.errors,r,e):ye(g.errors,r)}else g.errors=t;return t})(c(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(y,e);return await I(t._f?{[e]:t}:t)}))).every(Boolean),$()):s=await I(y);return V.state.next(Object.assign(Object.assign({},oe(e)?{name:e}:{}),{errors:g.errors,isValid:s,isValidating:!1})),t.shouldFocus&&!s&&P(y,e=>d(g.errors,e),e?r:x.mount),s},J=e=>{const t=Object.assign(Object.assign({},b),m);return c(e)?t:oe(e)?d(t,e):e.map(e=>d(t,e))},K=(e,t={})=>{for(const r of e?E(e):x.mount)x.mount.delete(r),x.array.delete(r),d(y,r)&&(t.keepValue||(ye(y,r),ye(m,r)),!t.keepError&&ye(g.errors,r),!t.keepDirty&&ye(g.dirtyFields,r),!t.keepTouched&&ye(g.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&ye(b,r));V.watch.next({}),V.state.next(Object.assign(Object.assign({},g),t.keepDirty?{isDirty:R()}:{})),!t.keepIsValid&&$()},Q=(e,t,s)=>{X(e,s);let a=d(y,e);const n=c(t.value)&&t.querySelectorAll&&t.querySelectorAll("input,select,textarea")[0]||t,i=(e=>ie(e)||r(e))(n);n===a._f.ref||i&&l(a._f.refs||[]).find(e=>e===n)||(a={_f:i?Object.assign(Object.assign({},a._f),{refs:[...l(a._f.refs||[]).filter(e=>ae(e)&&document.contains(e)),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},T(y,e,a),W(e,n))},X=(e,t={})=>{const r=d(y,e);return T(y,e,{_f:Object.assign(Object.assign(Object.assign({},r&&r._f?r._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),t.value&&T(m,e,t.value),te(t.disabled)&&r&&T(m,e,t.disabled?void 0:d(m,e,xe(r._f))),x.mount.add(e),!r&&W(e,void 0,!0),Ce?{name:e}:Object.assign(Object.assign({name:e},c(t.disabled)?{}:{disabled:t.disabled}),{onChange:L,onBlur:L,ref:r=>{if(r)Q(e,r,t);else{const r=d(y,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!u(x.array,e)||!h)&&x.unMount.add(e)}}})};return{control:{register:X,unregister:K,_getWatch:H,_getIsDirty:R,_updateValid:$,_updateValues:z,_removeFields:()=>{for(const e of x.unMount){const t=d(y,e);t&&(t._f.refs?t._f.refs.every(le):le(t._f.ref))&&K(e)}x.unMount=new Set},_updateFieldArray:(e,t,r,s,a=[],n=!0,i=!0)=>{let o;const u=ce(a,e);if(h=!0,i&&d(y,t)&&(o=r(d(y,t),s.argA,s.argB),n&&T(y,t,o)),o=r(d(m,t),s.argA,s.argB),n&&T(m,t,o),Array.isArray(d(g.errors,t))){const e=r(d(g.errors,t),s.argA,s.argB);n&&T(g.errors,t,e),Ve(g.errors,t)}if(O.touchedFields&&d(g.touchedFields,t)){const e=r(d(g.touchedFields,t),s.argA,s.argB);n&&T(g.touchedFields,t,e),Ve(g.touchedFields,t)}(O.dirtyFields||O.isDirty)&&(T(g.dirtyFields,t,Oe(ce(u,e),d(b,t,[]),d(g.dirtyFields,t,[]))),u&&T(g.dirtyFields,t,Oe(ce(u,e),d(b,t,[]),d(g.dirtyFields,t,[]))),Ve(g.dirtyFields,t)),V.state.next({isDirty:R(t,ce(u,e)),dirtyFields:g.dirtyFields,errors:g.errors,isValid:g.isValid})},_getFieldArrayValue:e=>d(p?m:b,e,[]),_subjects:V,_shouldUnregister:n.shouldUnregister,_proxyFormState:O,get _fields(){return y},set _fields(e){y=e},get _formValues(){return m},set _formValues(e){m=e},get _isMounted(){return p},set _isMounted(e){p=e},get _defaultValues(){return b},set _defaultValues(e){b=e},get _names(){return x},set _names(e){x=e},get _isInAction(){return h},set _isInAction(e){h=e},get _formState(){return g},set _formState(e){g=e},_updateProps:e=>{n=Object.assign(Object.assign({},De),e)}},trigger:G,register:X,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=Object.assign({},m);V.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await U();g.errors=e,a=t}else await I(y);D(g.errors)&&Object.keys(g.errors).every(e=>d(a,e))?(V.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(g.errors,r),n.shouldFocusError&&P(y,e=>d(g.errors,e),x.mount))}catch(e){throw s=!1,e}finally{g.isSubmitted=!0,V.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(g.errors)&&s,submitCount:g.submitCount+1,errors:g.errors})}},watch:(e,t)=>se(e)?V.watch.subscribe({next:r=>e(H(void 0,t),r)}):H(e,t,!0),setValue:(e,t,r={})=>{const s=d(y,e),n=x.array.has(e);T(m,e,t),n?(V.array.next({name:e,values:m}),(O.isDirty||O.dirtyFields)&&r.shouldDirty&&(T(g.dirtyFields,e,Oe(t,d(b,e,[]),d(g.dirtyFields,e,[]))),V.state.next({name:e,dirtyFields:g.dirtyFields,isDirty:R(e,t)}))):!s||s._f||a(t)?B(e,t,r,!0):q(e,t,r),k(e)&&V.state.next({}),V.watch.next({name:e})},getValues:J,reset:(e,t={})=>{const r=e||b,s=function e(t){let r;const s=Array.isArray(t);if(t instanceof Date)r=new Date(t.getTime());else{if(!s&&!i(t))return t;r=s?[]:{};for(const s in t)r[s]=e(t[s])}return r}(r);if(m=s,ue&&!t.keepValues)for(const e of x.mount){const t=d(y,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ae(e)&&e.closest("form").reset();break}catch(e){}}}t.keepDefaultValues||(b=Object.assign({},r)),t.keepValues||(y={},V.control.next({values:t.keepDefaultValues?b:Object.assign({},r)}),V.watch.next({}),V.array.next({values:s})),x={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},V.state.next({submitCount:t.keepSubmitCount?g.submitCount:0,isDirty:t.keepDirty?g.isDirty:!!t.keepDefaultValues&&Z(e,b),isSubmitted:!!t.keepIsSubmitted&&g.isSubmitted,dirtyFields:t.keepDirty?g.dirtyFields:{},touchedFields:t.keepTouched?g.touchedFields:{},errors:t.keepErrors?g.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),p=!!t.keepIsValid},clearErrors:e=>{e?E(e).forEach(e=>ye(g.errors,e)):g.errors={},V.state.next({errors:g.errors})},unregister:K,setError:(e,t,r)=>{const s=(d(y,e,{_f:{}})._f||{}).ref;T(g.errors,e,Object.assign(Object.assign({},t),{ref:s})),V.state.next({name:e,errors:g.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>d(y,e)._f.ref.focus()}}exports.Controller=e=>e.render(U(e)),exports.FormProvider=e=>t.createElement(w.Provider,{value:F(e,"children")},e.children),exports.appendErrors=I,exports.get=d,exports.set=T,exports.useController=U,exports.useFieldArray=e=>{const r=S(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,u]=t.useState($(s._getFieldArrayValue(a),n)),l=t.useRef(o);l.current=o,s._names.array.add(a);return t.useEffect(()=>{if(s._isInAction=!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(()=>{const e=s._subjects.array.subscribe({next({values:e,name:t}){t!==a&&t||u($(d(e,a),n))}});return!d(s._formValues,a)&&T(s._formValues,a,[]),()=>{e.unsubscribe(),(s._shouldUnregister||i)&&s.unregister(a)}},[a,s,n,i]),{swap:t.useCallback((e,t)=>{const r=W(s._getFieldArrayValue(a),l,n);Q(r,e,t),u(r),s._updateFieldArray(n,a,Q,{argA:e,argB:t},r,!1)},[a,s,n]),move:t.useCallback((e,t)=>{const r=W(s._getFieldArrayValue(a),l,n);G(r,e,t),u(r),s._updateFieldArray(n,a,G,{argA:e,argB:t},r,!1)},[a,s,n]),prepend:t.useCallback((e,t)=>{const r=J(W(s._getFieldArrayValue(a),l,n),$(E(e),n));u(r),s._updateFieldArray(n,a,J,{argA:H(e)},r),s._names.focus=L(a,0,t)},[a,s,n]),append:t.useCallback((e,t)=>{const r=E(e),i=q(W(s._getFieldArrayValue(a),l,n),$(E(e),n));u(i),s._updateFieldArray(n,a,q,{argA:H(e)},i),s._names.focus=L(a,i.length-r.length,t)},[a,s,n]),remove:t.useCallback(e=>{const t=K(W(s._getFieldArrayValue(a),l,n),e);u(t),s._updateFieldArray(n,a,K,{argA:e},t)},[a,s,n]),insert:t.useCallback((e,t,r)=>{const i=z(W(s._getFieldArrayValue(a),l,n),e,$(E(t),n));u(i),s._updateFieldArray(n,a,z,{argA:e,argB:H(t)},i),s._names.focus=L(a,e,r)},[a,s,n]),update:t.useCallback((e,t)=>{const r=W(s._getFieldArrayValue(a),l,n),i=X(r,e,t);l.current=$(i,n),u(l.current),s._updateFieldArray(n,a,X,{argA:e,argB:t},r,!0,!1)},[a,s,n]),replace:t.useCallback(e=>{const t=$(E(e),n);u(t),s._updateFieldArray(n,a,()=>t,{},t,!0,!1)},[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({},Ee(e)),{formState:s});const n=r.current.control;return t.useEffect(()=>{const e=n._subjects.state.subscribe({next(e){C(e,n._proxyFormState,!0)&&(n._formState=Object.assign(Object.assign({},n._formState),e),a(Object.assign({},n._formState)))}});return()=>{e.unsubscribe()}},[n]),t.useEffect(()=>{n._isMounted||(n._isMounted=!0,n._proxyFormState.isValid&&n._updateValid(),!e.shouldUnregister&&n._updateValues(n._defaultValues)),n._removeFields()}),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||{},u=t.useRef(a);u.current=a;const[l,d]=t.useState(c(n)?s._getWatch(a):n);return t.useEffect(()=>{const e=s._subjects.watch.subscribe({next:({name:e})=>{if(!u.current||!e||E(u.current).some(t=>e&&t&&(t.startsWith(e)||e.startsWith(t)))){const e=s._getWatch(u.current,n);d(i(e)?Object.assign({},e):Array.isArray(e)?[...e]:e)}}});return o&&e.unsubscribe(),()=>e.unsubscribe()},[o,s,n]),t.useEffect(()=>{s._removeFields()}),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=>e.substring(0,e.search(/.\d/))||e,u=(e,t)=>[...e].some(e=>o(t)===e),l=e=>e.filter(Boolean),c=e=>void 0===e,d=(e,t,r)=>{if(i(e)&&t){const s=l(t.split(/[,[\].]+?/)).reduce((e,t)=>a(e)?e:e[t],e);return c(s)||s===e?c(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",A="minLength",O="pattern",V="required",j="validate";var F=(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=F(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 M(e){const r=S(),{control:s=r.control,disabled:a,name:n}=e||{},i=t.useRef(n),[o,u]=t.useState(s._formState),l=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1});return i.current=n,t.useEffect(()=>{const e=s._subjects.state.subscribe({next:e=>(!i.current||!e.name||E(i.current).includes(e.name))&&C(e,l.current)&&u(Object.assign(Object.assign({},s._formState),e))});return a&&e.unsubscribe(),()=>e.unsubscribe()},[a,s]),k(o,s._proxyFormState,l.current,!1)}function B(e){const s=S(),{name:a,control:n=s.control,shouldUnregister:o}=e,[l,c]=t.useState(d(n._formValues,a,d(n._defaultValues,a,e.defaultValue))),y=M({control:n||s.control,name:a}),m=n.register(a,Object.assign(Object.assign({},e.rules),{value:l})),b=t.useCallback((e,t)=>{const r=d(n._fields,e);r&&(r._f.mount=t)},[n]);return t.useEffect(()=>{const e=n._subjects.control.subscribe({next:e=>(!e.name||a===e.name)&&c(d(e.values,a))});return b(a,!0),()=>{e.unsubscribe();const t=n._shouldUnregister||o;(u(n._names.array,a)?t&&!n._isInAction:t)?n.unregister(a):b(a,!1)}},[a,n,o,b]),{field:{onChange:e=>{const t=(e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e)(e);c(t),m.onChange({target:{value:t,name:a},type:g})},onBlur:()=>{m.onBlur({target:{value:l,name:a},type:f})},name:a,value:l,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 N=(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})}):{},U=e=>/^\w*$/.test(e),T=e=>l(e.replace(/["|']|\]/g,"").split(/\.|\[/));function I(e,t,r){let s=-1;const a=U(t)?[t]:T(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=F(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 L=(e,t,r)=>r&&!r.shouldFocus?r.focusName||`${e}.${r.focusIndex}.`:`${e}.${t}.`,W=(e,t,r)=>e.map((e,s)=>{const a=t.current[s];return Object.assign(Object.assign({},e),a?{[r]:a[r]}:{})}),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)})},$=(e=[],t)=>e.map(e=>Object.assign(Object.assign({},e[t]?{}:{[t]:R()}),e));function q(e,t){return[...E(e),...E(t)]}var H=e=>Array.isArray(e)?e.map(()=>{}):void 0;function z(e,t,r){return[...e.slice(0,t),...E(r),...e.slice(t)]}var G=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function J(e,t){return[...E(t),...E(e)]}var K=(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 l(s).length?s:[]}(e,E(t).sort((e,t)=>e-t)),Q=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},X=(e,t,r)=>(e[t]=r,e);var Y=e=>a(e)||!n(e);function Z(e,t){if(Y(e)||Y(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))?!Z(r,e):r!==e)return!1}}return!0}var ee=e=>({isOnSubmit:!e||e===b,isOnBlur:e===y,isOnChange:e===m,isOnAll:e===_,isOnTouch:e===h}),te=e=>"boolean"==typeof e,re=e=>"file"===e.type,se=e=>"function"==typeof e,ae=e=>e instanceof HTMLElement,ne=e=>"select-multiple"===e.type,ie=e=>"radio"===e.type,oe=e=>"string"==typeof e,ue="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,le=e=>!ae(e)||!document.contains(e),ce=(e,t)=>e.map((e={})=>F(e,t));class de{constructor(){this.tearDowns=[]}add(e){this.tearDowns.push(e)}unsubscribe(){for(const e of this.tearDowns)e();this.tearDowns=[]}}class fe{constructor(e,t){this.observer=e,this.closed=!1,t.add(()=>this.closed=!0)}next(e){this.closed||this.observer.next(e)}}class ge{constructor(){this.observers=[]}next(e){for(const t of this.observers)t.next(e)}subscribe(e){const t=new de,r=new fe(e,t);return this.observers.push(r),t}unsubscribe(){this.observers=[]}}function ye(e,t){const r=U(t)?[t]:T(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)&&D(s)||Array.isArray(s)&&!s.filter(e=>i(e)&&!D(e)||te(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}const me={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:me}return me},_e=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const pe={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,pe):pe;function xe(e){const t=e.ref;var s;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return re(t)?t.files:ie(t)?ve(e.refs).value:ne(t)?(s=t.options,[...s].filter(({selected:e})=>e).map(({value:e})=>e)):r(t)?he(e.refs).value:_e(c(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)&&Z(d(t[i]||{},s),e[i][s])?I(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(Y(t)||Y(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))),Ve=(e,t)=>!l(d(e,t,[])).length&&ye(e,t),je=e=>oe(e)||t.isValidElement(e),Fe=e=>e instanceof RegExp;function we(e,t,r="validate"){if(je(e)||Array.isArray(e)&&e.every(je)||te(e)&&!e)return{type:r,message:je(e)?e:"",ref:t}}var Se=e=>i(e)&&!Fe(e)?e:{value:e,message:""},ke=async(e,t,s,n)=>{const{ref:o,refs:u,required:l,maxLength:c,minLength:d,min:f,max:g,pattern:y,validate:m,name:b,valueAsNumber:h,mount:_,disabled:F}=e._f;if(!_||F)return{};const w=u?u[0]:o,S=e=>{n&&w.reportValidity&&(w.setCustomValidity(te(e)?"":e||" "),w.reportValidity())},k={},C=ie(o),E=r(o),M=C||E,B=(h||re(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,U=N.bind(null,b,s,k),T=(e,t,r,s=x,a=A)=>{const n=e?t:r;k[b]=Object.assign({type:e?s:a,message:n,ref:o},U(e?s:a,n))};if(l&&(!M&&(B||a(t))||te(t)&&!t||E&&!he(u).isValid||C&&!ve(u).isValid)){const{value:e,message:t}=je(l)?{value:!!l,message:l}:Se(l);if(e&&(k[b]=Object.assign({type:V,message:t,ref:w},U(V,t)),!s))return S(t),k}if(!(B||a(f)&&a(g))){let e,r;const n=Se(g),i=Se(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);oe(n.value)&&(e=s>new Date(n.value)),oe(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((c||d)&&!B&&oe(t)){const e=Se(c),r=Se(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&&!B&&oe(t)){const{value:e,message:r}=Se(y);if(Fe(e)&&!t.match(e)&&(k[b]=Object.assign({type:O,message:r,ref:o},U(O,r)),!s))return S(r),k}if(m)if(se(m)){const e=we(await m(t),w);if(e&&(k[b]=Object.assign(Object.assign({},e),U(j,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=we(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 De={mode:b,reValidateMode:m,shouldFocusError:!0},Ce="undefined"==typeof window;function Ee(e={}){let t,n=Object.assign(Object.assign({},De),e),g={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},y={},m={},b=n.defaultValues||{},h=!1,p=!1,v=0,x={mount:new Set,unMount:new Set,array:new Set,watch:new Set},A={};const O={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},V={watch:new ge,control:new ge,array:new ge,state:new ge},j=ee(n.mode),w=ee(n.reValidateMode),S=n.criteriaMode===_,k=e=>x.watchAll||x.watch.has(e)||x.watch.has((e.match(/\w+/)||[])[0]),C=(e,t)=>{I(g.errors,e,t),V.state.next({errors:g.errors})},M=async(r,s,a,n,i)=>{const o=d(g.errors,s),u=O.isValid&&g.isValid!==a;var l,c;if(e.delayError&&n?(t=t||(l=C,c=e.delayError,(...e)=>{clearTimeout(v),v=window.setTimeout(()=>l(...e),c)}),t(s,n)):(clearTimeout(v),n?I(g.errors,s,n):ye(g.errors,s)),((n?!Z(o,n):o)||!D(i)||u)&&!r){const e=Object.assign(Object.assign(Object.assign({},i),u?{isValid:a}:{}),{errors:g.errors,name:s});g=Object.assign(Object.assign({},g),e),V.state.next(e)}A[s]--,O.isValidating&&!A[s]&&(V.state.next({isValidating:!1}),A={})},B=(e,t,s={},n)=>{const i=d(y,e);if(i){const o=i._f;if(o){I(m,e,_e(t,o));const i=ue&&ae(o.ref)&&a(t)?"":t;re(o.ref)&&!oe(i)?o.ref.files=i:ne(o.ref)?[...o.ref.options].forEach(e=>e.selected=i.includes(e.value)):o.refs?r(o.ref)?o.refs.length>1?o.refs.forEach(e=>e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value):o.refs[0].checked=!!i:o.refs.forEach(e=>e.checked=e.value===i):o.ref.value=i,n&&V.control.next({values:J(),name:e}),(s.shouldDirty||s.shouldTouch)&&N(e,i,s.shouldTouch),s.shouldValidate&&G(e)}}},N=(e,t,r,s=!0)=>{const a={name:e};let n=!1;if(O.isDirty){const e=g.isDirty;g.isDirty=R(),a.isDirty=g.isDirty,n=e!==a.isDirty}if(O.dirtyFields&&!r){const r=d(g.dirtyFields,e);!Z(d(b,e),t)?I(g.dirtyFields,e,!0):ye(g.dirtyFields,e),a.dirtyFields=g.dirtyFields,n=n||r!==d(g.dirtyFields,e)}const i=d(g.touchedFields,e);return r&&!i&&(I(g.touchedFields,e,r),a.touchedFields=g.touchedFields,n=n||O.touchedFields&&i!==r),n&&s&&V.state.next(a),n?a:{}},U=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&&I(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||x.mount,y,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=F(a,"_f");if(e){const s=await ke(a,d(m,e.name),S,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?I(g.errors,e.name,s[e.name]):ye(g.errors,e.name))}s&&await T(s,t,r)}}return r.valid},L=async({type:e,target:t,target:{value:s,name:a,type:i}})=>{const u=d(y,a);if(u){let c,b;const h=i?xe(u._f):s,_=e===f,p=!((l=u._f).mount&&(l.required||l.min||l.max||l.maxLength||l.minLength||l.pattern||l.validate)||n.resolver||d(g.errors,a)||u._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))(_,d(g.touchedFields,a),g.isSubmitted,w,j),v=!_&&k(a);I(m,a,h);const x=N(a,h,_,!1),F=!D(x)||v;if(!_&&V.watch.next({name:a,type:e}),p)return F&&V.state.next(Object.assign({name:a},v?{}:x));if(!_&&v&&V.state.next({}),A[a]=(A[a],1),O.isValidating&&V.state.next({isValidating:!0}),n.resolver){const{errors:e}=await U([a]);if(c=d(e,a),r(t)&&!c){const t=o(a),s=d(y,t);if(Array.isArray(s)&&s.every(e=>e._f&&r(e._f.ref))){const r=d(e,t,{});r.type&&(c=r),a=t}}b=D(e)}else c=(await ke(u,d(m,a),S,n.shouldUseNativeValidation))[a],b=await $(!0);u._f.deps&&G(u._f.deps),M(!1,a,b,c,x)}var l},W=(e,t,r)=>{const s=d(y,e);if(s){const a=d(m,e),n=c(a)?d(b,e):a;c(n)||t&&t.defaultChecked||r?I(m,e,r?n:xe(s._f)):B(e,n)}p&&$()},R=(e,t)=>(e&&t&&I(m,e,t),!Z(Object.assign({},J()),b)),$=async e=>{let t=!1;return O.isValid&&(t=n.resolver?D((await U()).errors):await T(y,!0),e||t===g.isValid||(g.isValid=t,V.state.next({isValid:t}))),t},q=(e,t,r)=>Object.entries(t).forEach(([t,a])=>{const n=`${e}.${t}`,i=d(y,n);!x.array.has(e)&&Y(a)&&(!i||i._f)||s(a)?B(n,a,r,!0):q(n,a,r)}),H=(e,t,r,s)=>{const a=Object.assign({},r||p?m:c(t)?b:oe(e)?{[e]:t}:t);if(!e)return s&&(x.watchAll=!0),a;const n=[];for(const t of E(e))s&&x.watch.add(t),n.push(d(a,t));return Array.isArray(e)?n:n[0]},z=(e,t="")=>{for(const r in e){const s=e[r],a=t+(t?".":"")+r,n=d(y,a);n&&n._f||(i(s)&&Object.keys(s).length||Array.isArray(s)&&s.length?z(s,a):n||I(m,a,s))}},G=async(e,t={})=>{const r=E(e);let s;if(V.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await U();if(e)for(const r of e){const e=d(t,r);e?I(g.errors,r,e):ye(g.errors,r)}else g.errors=t;return t})(c(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(y,e);return await T(t._f?{[e]:t}:t)}))).every(Boolean),$()):s=await T(y);return V.state.next(Object.assign(Object.assign({},oe(e)?{name:e}:{}),{errors:g.errors,isValid:s,isValidating:!1})),t.shouldFocus&&!s&&P(y,e=>d(g.errors,e),e?r:x.mount),s},J=e=>{const t=Object.assign(Object.assign({},b),p?m:{});return c(e)?t:oe(e)?d(t,e):e.map(e=>d(t,e))},K=(e,t={})=>{for(const r of e?E(e):x.mount)x.mount.delete(r),x.array.delete(r),d(y,r)&&(t.keepValue||(ye(y,r),ye(m,r)),!t.keepError&&ye(g.errors,r),!t.keepDirty&&ye(g.dirtyFields,r),!t.keepTouched&&ye(g.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&ye(b,r));V.watch.next({}),V.state.next(Object.assign(Object.assign({},g),t.keepDirty?{isDirty:R()}:{})),!t.keepIsValid&&$()},Q=(e,t,s)=>{X(e,s);let a=d(y,e);const n=c(t.value)&&t.querySelectorAll&&t.querySelectorAll("input,select,textarea")[0]||t,i=(e=>ie(e)||r(e))(n);n===a._f.ref||i&&l(a._f.refs||[]).find(e=>e===n)||(a={_f:i?Object.assign(Object.assign({},a._f),{refs:[...l(a._f.refs||[]).filter(e=>ae(e)&&document.contains(e)),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},I(y,e,a),(!s||!s.disabled)&&W(e,n))},X=(e,t={})=>{const r=d(y,e);return I(y,e,{_f:Object.assign(Object.assign(Object.assign({},r&&r._f?r._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),c(t.value)||I(m,e,t.value),te(t.disabled)&&r&&I(m,e,t.disabled?void 0:d(m,e,xe(r._f))),x.mount.add(e),!r&&W(e,void 0,!0),Ce?{name:e}:Object.assign(Object.assign({name:e},c(t.disabled)?{}:{disabled:t.disabled}),{onChange:L,onBlur:L,ref:r=>{if(r)Q(e,r,t);else{const r=d(y,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!u(x.array,e)||!h)&&x.unMount.add(e)}}})};return{control:{register:X,unregister:K,_getWatch:H,_getIsDirty:R,_updateValid:$,_updateValues:z,_removeFields:()=>{for(const e of x.unMount){const t=d(y,e);t&&(t._f.refs?t._f.refs.every(le):le(t._f.ref))&&K(e)}x.unMount=new Set},_updateFieldArray:(e,t,r,s,a=[],n=!0,i=!0)=>{let o;const u=ce(a,e);if(h=!0,i&&d(y,t)&&(o=r(d(y,t),s.argA,s.argB),n&&I(y,t,o)),o=r(d(m,t),s.argA,s.argB),n&&I(m,t,o),Array.isArray(d(g.errors,t))){const e=r(d(g.errors,t),s.argA,s.argB);n&&I(g.errors,t,e),Ve(g.errors,t)}if(O.touchedFields&&d(g.touchedFields,t)){const e=r(d(g.touchedFields,t),s.argA,s.argB);n&&I(g.touchedFields,t,e),Ve(g.touchedFields,t)}(O.dirtyFields||O.isDirty)&&(I(g.dirtyFields,t,Oe(ce(u,e),d(b,t,[]),d(g.dirtyFields,t,[]))),u&&I(g.dirtyFields,t,Oe(ce(u,e),d(b,t,[]),d(g.dirtyFields,t,[]))),Ve(g.dirtyFields,t)),V.state.next({isDirty:R(t,ce(u,e)),dirtyFields:g.dirtyFields,errors:g.errors,isValid:g.isValid})},_getFieldArrayValue:e=>d(p?m:b,e,[]),_subjects:V,_shouldUnregister:n.shouldUnregister,_proxyFormState:O,get _fields(){return y},set _fields(e){y=e},get _formValues(){return m},set _formValues(e){m=e},get _isMounted(){return p},set _isMounted(e){p=e},get _defaultValues(){return b},set _defaultValues(e){b=e},get _names(){return x},set _names(e){x=e},get _isInAction(){return h},set _isInAction(e){h=e},get _formState(){return g},set _formState(e){g=e},_updateProps:e=>{n=Object.assign(Object.assign({},De),e)}},trigger:G,register:X,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=Object.assign({},m);V.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await U();g.errors=e,a=t}else await T(y);D(g.errors)&&Object.keys(g.errors).every(e=>d(a,e))?(V.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(g.errors,r),n.shouldFocusError&&P(y,e=>d(g.errors,e),x.mount))}catch(e){throw s=!1,e}finally{g.isSubmitted=!0,V.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(g.errors)&&s,submitCount:g.submitCount+1,errors:g.errors})}},watch:(e,t)=>se(e)?V.watch.subscribe({next:r=>e(H(void 0,t),r)}):H(e,t,!1,!0),setValue:(e,t,r={})=>{const s=d(y,e),n=x.array.has(e);I(m,e,t),n?(V.array.next({name:e,values:m}),(O.isDirty||O.dirtyFields)&&r.shouldDirty&&(I(g.dirtyFields,e,Oe(t,d(b,e,[]),d(g.dirtyFields,e,[]))),V.state.next({name:e,dirtyFields:g.dirtyFields,isDirty:R(e,t)}))):!s||s._f||a(t)?B(e,t,r,!0):q(e,t,r),k(e)&&V.state.next({}),V.watch.next({name:e})},getValues:J,reset:(t,r={})=>{const s=t||b,a=function e(t){let r;const s=Array.isArray(t);if(t instanceof Date)r=new Date(t.getTime());else{if(!s&&!i(t))return t;r=s?[]:{};for(const s in t)r[s]=e(t[s])}return r}(s);if(r.keepValues||(m=e.shouldUnregister?{}:a),ue&&!r.keepValues)for(const e of x.mount){const t=d(y,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ae(e)&&e.closest("form").reset();break}catch(e){}}}r.keepDefaultValues||(b=Object.assign({},s)),r.keepValues||(y={},V.control.next({values:r.keepDefaultValues?b:Object.assign({},s)}),V.watch.next({}),V.array.next({values:a})),x={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},V.state.next({submitCount:r.keepSubmitCount?g.submitCount:0,isDirty:r.keepDirty?g.isDirty:!!r.keepDefaultValues&&Z(t,b),isSubmitted:!!r.keepIsSubmitted&&g.isSubmitted,dirtyFields:r.keepDirty?g.dirtyFields:{},touchedFields:r.keepTouched?g.touchedFields:{},errors:r.keepErrors?g.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),p=!O.isValid||!!r.keepIsValid},clearErrors:e=>{e?E(e).forEach(e=>ye(g.errors,e)):g.errors={},V.state.next({errors:g.errors})},unregister:K,setError:(e,t,r)=>{const s=(d(y,e,{_f:{}})._f||{}).ref;I(g.errors,e,Object.assign(Object.assign({},t),{ref:s})),V.state.next({name:e,errors:g.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>d(y,e)._f.ref.focus()}}exports.Controller=e=>e.render(B(e)),exports.FormProvider=e=>t.createElement(w.Provider,{value:F(e,"children")},e.children),exports.appendErrors=N,exports.get=d,exports.set=I,exports.useController=B,exports.useFieldArray=e=>{const r=S(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,u]=t.useState($(s._getFieldArrayValue(a),n)),l=t.useRef(o);l.current=o,s._names.array.add(a);return t.useEffect(()=>{if(s._isInAction=!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(()=>{const e=s._subjects.array.subscribe({next({values:e,name:t}){t!==a&&t||u($(d(e,a),n))}});return!d(s._formValues,a)&&I(s._formValues,a,[]),()=>{e.unsubscribe(),(s._shouldUnregister||i)&&s.unregister(a)}},[a,s,n,i]),{swap:t.useCallback((e,t)=>{const r=W(s._getFieldArrayValue(a),l,n);Q(r,e,t),u(r),s._updateFieldArray(n,a,Q,{argA:e,argB:t},r,!1)},[a,s,n]),move:t.useCallback((e,t)=>{const r=W(s._getFieldArrayValue(a),l,n);G(r,e,t),u(r),s._updateFieldArray(n,a,G,{argA:e,argB:t},r,!1)},[a,s,n]),prepend:t.useCallback((e,t)=>{const r=J(W(s._getFieldArrayValue(a),l,n),$(E(e),n));u(r),s._updateFieldArray(n,a,J,{argA:H(e)},r),s._names.focus=L(a,0,t)},[a,s,n]),append:t.useCallback((e,t)=>{const r=E(e),i=q(W(s._getFieldArrayValue(a),l,n),$(E(e),n));u(i),s._updateFieldArray(n,a,q,{argA:H(e)},i),s._names.focus=L(a,i.length-r.length,t)},[a,s,n]),remove:t.useCallback(e=>{const t=K(W(s._getFieldArrayValue(a),l,n),e);u(t),s._updateFieldArray(n,a,K,{argA:e},t)},[a,s,n]),insert:t.useCallback((e,t,r)=>{const i=z(W(s._getFieldArrayValue(a),l,n),e,$(E(t),n));u(i),s._updateFieldArray(n,a,z,{argA:e,argB:H(t)},i),s._names.focus=L(a,e,r)},[a,s,n]),update:t.useCallback((e,t)=>{const r=W(s._getFieldArrayValue(a),l,n),i=X(r,e,t);l.current=$(i,n),u(l.current),s._updateFieldArray(n,a,X,{argA:e,argB:t},r,!0,!1)},[a,s,n]),replace:t.useCallback(e=>{const t=$(E(e),n);u(t),s._updateFieldArray(n,a,()=>t,{},t,!0,!1)},[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({},Ee(e)),{formState:s});const n=r.current.control;return t.useEffect(()=>{const e=n._subjects.state.subscribe({next(e){C(e,n._proxyFormState,!0)&&(n._formState=Object.assign(Object.assign({},n._formState),e),a(Object.assign({},n._formState)))}});return()=>{e.unsubscribe()}},[n]),t.useEffect(()=>{n._isMounted||(n._isMounted=!0,n._proxyFormState.isValid&&n._updateValid(),!e.shouldUnregister&&n._updateValues(n._defaultValues)),n._removeFields()}),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||{},u=t.useRef(a);u.current=a;const[l,d]=t.useState(c(n)?s._getWatch(a):n);return t.useEffect(()=>{const e=s._subjects.watch.subscribe({next:({name:e})=>{if(!u.current||!e||E(u.current).some(t=>e&&t&&(t.startsWith(e)||e.startsWith(t)))){const e=s._getWatch(u.current,n,!0);d(i(e)?Object.assign({},e):Array.isArray(e)?[...e]:e)}}});return o&&e.unsubscribe(),()=>e.unsubscribe()},[o,s,n]),t.useEffect(()=>{s._removeFields()}),l};
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|