react-hook-form 7.20.1 → 7.20.5
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 +13 -0
- package/README.md +9 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +73 -68
- 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/logic/generateWatchOutput.d.ts +2 -1
- package/dist/logic/getDirtyFields.d.ts +2 -0
- package/dist/logic/{getControllerValue.d.ts → getEventValue.d.ts} +0 -0
- package/dist/utils/objectHasFunction.d.ts +2 -0
- package/package.json +3 -4
- package/dist/logic/setFieldArrayDirtyFields.d.ts +0 -2
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [7.20.3] - 2021-11-26
|
4
|
+
|
5
|
+
## Changed
|
6
|
+
|
7
|
+
- register `onChange` will share same logic with `useController` for non standard event payload
|
8
|
+
|
9
|
+
```tsx
|
10
|
+
const { onChange } = register('test');
|
11
|
+
onChange('stringIsValid'); // this is only valid use case for JS
|
12
|
+
```
|
13
|
+
|
14
|
+
- empty node in `formState` will no longer gets unset
|
15
|
+
|
3
16
|
## [7.20.0] - 2021-11-19
|
4
17
|
|
5
18
|
## Added
|
package/README.md
CHANGED
@@ -398,6 +398,15 @@ Thank you for helping and answering questions from the community.
|
|
398
398
|
<a href="https://github.com/ritikbanger">
|
399
399
|
<img src="https://avatars.githubusercontent.com/u/47841501?v=4" width="25" />
|
400
400
|
</a>
|
401
|
+
<a href="https://github.com/fahadsohail482">
|
402
|
+
<img src="https://avatars.githubusercontent.com/u/46647496?v=4" width="25" />
|
403
|
+
</a>
|
404
|
+
<a href="https://github.com/getTobiasNielsen">
|
405
|
+
<img src="https://avatars.githubusercontent.com/u/54803528?v=4" width="25" />
|
406
|
+
</a>
|
407
|
+
<a href="https://github.com/jfreedman0212">
|
408
|
+
<img src="https://avatars.githubusercontent.com/u/31392256?v=4" width="25" />
|
409
|
+
</a>
|
401
410
|
|
402
411
|
## Organizations
|
403
412
|
|
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=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e,u=(e,t)=>[...e].some(e=>(e=>e.substring(0,e.search(/.\d/))||e)(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",m="onBlur",y="onChange",b="onSubmit",h="onTouched",_="all",p="max",v="min",x="maxLength",j="minLength",O="pattern",V="required",F="validate";var A=(e,t)=>{const r=Object.assign({},e);return delete r[t],r};const w=t.createContext(null),S=()=>t.useContext(w);var k=(e,t,r,s=!0)=>{function a(a){return()=>{if(a in e)return t[a]!==_&&(t[a]=!s||_),r&&(r[a]=!0),e[a]}}const n={};for(const t in e)Object.defineProperty(n,t,{get:a(t)});return n},D=e=>i(e)&&!Object.keys(e).length,C=(e,t,r)=>{const s=A(e,"name");return D(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(e=>t[e]===(!r||_))},E=e=>Array.isArray(e)?e:[e],U=(e,t,r)=>r&&t?e===t:!e||!t||e===t||E(e).some(e=>e&&(e.startsWith(t)||t.startsWith(e)));function B(e){const r=t.useRef(e);r.current=e,t.useEffect(()=>{const t=!e.disabled&&r.current.subject.subscribe({next:r.current.callback});return()=>(e=>{e&&e.unsubscribe()})(t)},[e.disabled])}function T(e){const r=S(),{control:s=r.control,disabled:a,name:n,exact:i}=e||{},[o,u]=t.useState(s._formState),l=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.useRef(n);return c.current=n,B({disabled:a,callback:e=>U(c.current,e.name,i)&&C(e,l.current)&&u(Object.assign(Object.assign({},s._formState),e)),subject:s._subjects.state}),k(o,s._proxyFormState,l.current,!1)}var M=e=>"string"==typeof e;function N(e,t,r,s){const a=Array.isArray(e);return M(e)?(s&&t.watch.add(e),d(r,e)):a?e.map(e=>(s&&t.watch.add(e),d(r,e))):(s&&(t.watchAll=!0),r)}function R(e){const r=S(),{control:s=r.control,name:a,defaultValue:n,disabled:i,exact:o}=e||{},u=t.useRef(a);u.current=a,B({disabled:i,subject:s._subjects.watch,callback:e=>{if(U(u.current,e.name,o)){const t=N(u.current,s._names,e.values||s._formValues);d(c(u.current)?Object.assign({},t):Array.isArray(t)?[...t]:t)}}});const[l,d]=t.useState(c(n)?s._getWatch(a):n);return t.useEffect(()=>{s._removeUnmounted()}),l}function L(e){const r=S(),{name:s,control:a=r.control,shouldUnregister:n}=e,i=u(a._names.array,s),l=R({control:a,name:s,defaultValue:d(a._formValues,s,d(a._defaultValues,s,e.defaultValue)),exact:!i}),c=T({control:a,name:s});t.useRef(s).current=s;const m=a.register(s,Object.assign(Object.assign({},e.rules),{value:l}));return t.useEffect(()=>{const e=(e,t)=>{const r=d(a._fields,e);r&&(r._f.mount=t)};return e(s,!0),()=>{const t=a._options.shouldUnregister||n;(i?t&&!a._stateFlags.action:t)?a.unregister(s,{keepDefaultValue:!0}):e(s,!1)}},[s,a,i,n]),{field:{onChange:e=>{m.onChange({target:{value:o(e),name:s},type:g})},onBlur:()=>{m.onBlur({target:{value:d(a._formValues,s),name:s},type:f})},name:s,value:l,ref:e=>{const t=d(a._fields,s);e&&t&&e.focus&&(t._f.ref={focus:()=>e.focus(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:c,fieldState:{invalid:!!d(c.errors,s),isDirty:!!d(c.dirtyFields,s),isTouched:!!d(c.touchedFields,s),error:d(c.errors,s)}}}var P=(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})}):{},W=e=>/^\w*$/.test(e),q=e=>l(e.replace(/["|']|\]/g,"").split(/\.|\[/));function I(e,t,r){let s=-1;const a=W(t)?[t]:q(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 $=(e,t,r)=>{for(const s of r||Object.keys(e)){const r=d(e,s);if(r){const e=r._f,s=A(r,"_f");if(e&&t(e.name)){if(e.ref.focus&&c(e.ref.focus()))break;if(e.refs){e.refs[0].focus();break}}else i(s)&&$(s,t)}}};var H=(e,t,r={})=>r.shouldFocus||c(r.shouldFocus)?r.focusName||`${e}.${c(r.focusIndex)?t:r.focusIndex}.`:"",z=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),G=(e,t,r)=>e.map((e,s)=>{const a=t.current[s];return Object.assign(Object.assign({},e),a?{[r]:a[r]}:{})}),J=()=>{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)})},K=(e=[],t)=>e.map(e=>Object.assign(Object.assign({},e[t]?{}:{[t]:J()}),e));function Q(e,t){return[...E(e),...E(t)]}var X=e=>Array.isArray(e)?e.map(()=>{}):void 0;function Y(e,t,r){return[...e.slice(0,t),...E(r),...e.slice(t)]}var Z=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function ee(e,t){return[...E(t),...E(e)]}var te=(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)),re=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},se=(e,t,r)=>(e[t]=r,e);var ae=e=>"function"==typeof e;function ne(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(ae(e[r])){t=e;break}t[r]=ne(e[r])}}return t}function ie(){let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}}var oe=e=>a(e)||!n(e);function ue(e,t){if(oe(e)||oe(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)?!ue(r,e):r!==e)return!1}}return!0}var le=e=>({isOnSubmit:!e||e===b,isOnBlur:e===m,isOnChange:e===y,isOnAll:e===_,isOnTouch:e===h}),ce=e=>"boolean"==typeof e,de=e=>"file"===e.type,fe=e=>e instanceof HTMLElement,ge=e=>"select-multiple"===e.type,me=e=>"radio"===e.type,ye="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,be=e=>fe(e)&&document.contains(e);function he(e,t){const r=W(t)?[t]:q(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)||ce(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}const _e={value:!1,isValid:!1},pe={value:!0,isValid:!0};var ve=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?pe:{value:e[0].value,isValid:!0}:pe:_e}return _e},xe=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const je={isValid:!1,value:null};var Oe=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,je):je;function Ve(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return de(t)?t.files:me(t)?Oe(e.refs).value:ge(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?ve(e.refs).value:xe(c(t.value)?e.ref.value:t.value,e)}function Fe(e,t,r){const s=d(e,r);if(s||W(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const s=a.join("."),n=d(t,s),i=d(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 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)&&ue(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 we=(e,t,r)=>function e(t,r){if(oe(t)||oe(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))),Se=(e,t)=>!l(d(e,t,[])).length&&he(e,t),ke=e=>M(e)||t.isValidElement(e),De=e=>e instanceof RegExp;function Ce(e,t,r="validate"){if(ke(e)||Array.isArray(e)&&e.every(ke)||ce(e)&&!e)return{type:r,message:ke(e)?e:"",ref:t}}var Ee=e=>i(e)&&!De(e)?e:{value:e,message:""},Ue=async(e,t,s,n)=>{const{ref:o,refs:u,required:l,maxLength:c,minLength:d,min:f,max:g,pattern:m,validate:y,name:b,valueAsNumber:h,mount:_,disabled:A}=e._f;if(!_||A)return{};const w=u?u[0]:o,S=e=>{n&&w.reportValidity&&(w.setCustomValidity(ce(e)?"":e||" "),w.reportValidity())},k={},C=me(o),E=r(o),U=C||E,B=(h||de(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,T=P.bind(null,b,s,k),N=(e,t,r,s=x,a=j)=>{const n=e?t:r;k[b]=Object.assign({type:e?s:a,message:n,ref:o},T(e?s:a,n))};if(l&&(!U&&(B||a(t))||ce(t)&&!t||E&&!ve(u).isValid||C&&!Oe(u).isValid)){const{value:e,message:t}=ke(l)?{value:!!l,message:l}:Ee(l);if(e&&(k[b]=Object.assign({type:V,message:t,ref:w},T(V,t)),!s))return S(t),k}if(!(B||a(f)&&a(g))){let e,r;const n=Ee(g),i=Ee(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);M(n.value)&&(e=s>new Date(n.value)),M(i.value)&&(r=s<new Date(i.value))}else{const s=o.valueAsNumber||parseFloat(t);a(n.value)||(e=s>n.value),a(i.value)||(r=s<i.value)}if((e||r)&&(N(!!e,n.message,i.message,p,v),!s))return S(k[b].message),k}if((c||d)&&!B&&M(t)){const e=Ee(c),r=Ee(d),n=!a(e.value)&&t.length>e.value,i=!a(r.value)&&t.length<r.value;if((n||i)&&(N(n,e.message,r.message),!s))return S(k[b].message),k}if(m&&!B&&M(t)){const{value:e,message:r}=Ee(m);if(De(e)&&!t.match(e)&&(k[b]=Object.assign({type:O,message:r,ref:o},T(O,r)),!s))return S(r),k}if(y)if(ae(y)){const e=Ce(await y(t),w);if(e&&(k[b]=Object.assign(Object.assign({},e),T(F,e.message)),!s))return S(e.message),k}else if(i(y)){let e={};for(const r in y){if(!D(e)&&!s)break;const a=Ce(await y[r](t),w,r);a&&(e=Object.assign(Object.assign({},a),T(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 Be={mode:b,reValidateMode:y,shouldFocusError:!0},Te="undefined"==typeof window;function Me(e={}){let t,n=Object.assign(Object.assign({},Be),e),i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},o={},g=n.defaultValues||{},m=n.shouldUnregister?{}:ne(g),y={action:!1,mount:!1,watch:!1},b={mount:new Set,unMount:new Set,array:new Set,watch:new Set},h=0,p={};const v={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={watch:ie(),array:ie(),state:ie()},j=le(n.mode),O=le(n.reValidateMode),V=n.criteriaMode===_,F=async e=>{let t=!1;return v.isValid&&(t=n.resolver?D((await B()).errors):await T(o,!0),e||t===i.isValid||(i.isValid=t,x.state.next({isValid:t}))),t},w=(e,t)=>(I(i.errors,e,t),x.state.next({errors:i.errors})),S=(e,t,r)=>{const s=d(o,e);if(s){const a=d(m,e,d(g,e));c(a)||r&&r.defaultChecked||t?I(m,e,t?a:Ve(s._f)):P(e,a)}y.mount&&F()},k=(e,t,r,s=!0)=>{let a=!1;const n={name:e},o=d(i.touchedFields,e);if(v.isDirty){const e=i.isDirty;i.isDirty=n.isDirty=R(),a=e!==n.isDirty}if(v.dirtyFields&&!r){const r=d(i.dirtyFields,e);ue(d(g,e),t)?he(i.dirtyFields,e):I(i.dirtyFields,e,!0),n.dirtyFields=i.dirtyFields,a=a||r!==d(i.dirtyFields,e)}return r&&!o&&(I(i.touchedFields,e,r),n.touchedFields=i.touchedFields,a=a||v.touchedFields&&o!==r),a&&s&&x.state.next(n),a?n:{}},C=(e,t)=>(I(i.dirtyFields,e,we(t,d(g,e,[]),d(i.dirtyFields,e,[]))),Se(i.dirtyFields,e)),U=async(r,s,a,n,o)=>{const u=d(i.errors,s),l=v.isValid&&i.isValid!==a;var c,f;if(e.delayError&&n?(t=t||(c=w,f=e.delayError,(...e)=>{clearTimeout(h),h=window.setTimeout(()=>c(...e),f)}),t(s,n)):(clearTimeout(h),n?I(i.errors,s,n):he(i.errors,s)),((n?!ue(u,n):u)||!D(o)||l)&&!r){const e=Object.assign(Object.assign(Object.assign({},o),l?{isValid:a}:{}),{errors:i.errors,name:s});i=Object.assign(Object.assign({},i),e),x.state.next(e)}p[s]--,v.isValidating&&!p[s]&&(x.state.next({isValidating:!1}),p={})},B=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||b.mount,o,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=A(a,"_f");if(e){const s=await Ue(a,d(m,e.name),V,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?I(i.errors,e.name,s[e.name]):he(i.errors,e.name))}s&&await T(s,t,r)}}return r.valid},R=(e,t)=>(e&&t&&I(m,e,t),!ue(J(),g)),L=(e,t,r)=>{const s=Object.assign({},y.mount?m:c(t)?g:M(e)?{[e]:t}:t);return N(e,b,s,r)},P=(e,t,s={})=>{const n=d(o,e);let i=t;if(n){const s=n._f;s&&(I(m,e,xe(t,s)),i=ye&&fe(s.ref)&&a(t)?"":t,de(s.ref)&&!M(i)?s.ref.files=i:ge(s.ref)?[...s.ref.options].forEach(e=>e.selected=i.includes(e.value)):s.refs?r(s.ref)?s.refs.length>1?s.refs.forEach(e=>e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value):s.refs[0].checked=!!i:s.refs.forEach(e=>e.checked=e.value===i):s.ref.value=i)}(s.shouldDirty||s.shouldTouch)&&k(e,i,s.shouldTouch),s.shouldValidate&&G(e)},W=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,u=d(o,i);!b.array.has(e)&&oe(n)&&(!u||u._f)||s(n)?P(i,n,r):W(i,n,r)}},q=(e,t,r={})=>{const s=d(o,e),n=b.array.has(e);I(m,e,t),n?(x.array.next({name:e,values:m}),(v.isDirty||v.dirtyFields)&&r.shouldDirty&&(C(e,t),x.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:R(e,t)}))):!s||s._f||a(t)?P(e,t,r):W(e,t,r),z(e,b)&&x.state.next({}),x.watch.next({name:e})},H=async e=>{const t=e.target;let r=t.name;const s=d(o,r);if(s){let u,l;const c=t.type?Ve(s._f):t.value,g=e.type===f,y=!((a=s._f).mount&&(a.required||a.min||a.max||a.maxLength||a.minLength||a.pattern||a.validate)||n.resolver||d(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,d(i.touchedFields,r),i.isSubmitted,O,j),h=z(r,b,g);g?s._f.onBlur&&s._f.onBlur(e):s._f.onChange&&s._f.onChange(e),I(m,r,c);const _=k(r,c,g,!1),A=!D(_)||h;if(!g&&x.watch.next({name:r,type:e.type}),y)return A&&x.state.next(Object.assign({name:r},h?{}:_));if(!g&&h&&x.state.next({}),p[r]=(p[r],1),v.isValidating&&x.state.next({isValidating:!0}),n.resolver){const{errors:e}=await B([r]),t=Fe(i.errors,o,r),s=Fe(e,o,t.name||r);u=s.error,r=s.name,l=D(e)}else u=(await Ue(s,d(m,r),V,n.shouldUseNativeValidation))[r],l=await F(!0);s._f.deps&&G(s._f.deps),U(!1,r,l,u,_)}var a},G=async(e,t={})=>{let r,s;const a=E(e);if(x.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await B();if(e)for(const r of e){const e=d(t,r);e?I(i.errors,r,e):he(i.errors,r)}else i.errors=t;return t})(c(e)?e:a);r=D(t),s=e?!a.some(e=>d(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=d(o,e);return await T(t&&t._f?{[e]:t}:t)}))).every(Boolean),(s||i.isValid)&&F()):s=r=await T(o);return x.state.next(Object.assign(Object.assign(Object.assign({},!M(e)||v.isValid&&r!==i.isValid?{}:{name:e}),n.resolver?{isValid:r}:{}),{errors:i.errors,isValidating:!1})),t.shouldFocus&&!s&&$(o,e=>d(i.errors,e),e?a:b.mount),s},J=e=>{const t=Object.assign(Object.assign({},g),y.mount?m:{});return c(e)?t:M(e)?d(t,e):e.map(e=>d(t,e))},K=(e,t={})=>{for(const r of e?E(e):b.mount)b.mount.delete(r),b.array.delete(r),d(o,r)&&(t.keepValue||(he(o,r),he(m,r)),!t.keepError&&he(i.errors,r),!t.keepDirty&&he(i.dirtyFields,r),!t.keepTouched&&he(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&he(g,r));x.watch.next({}),x.state.next(Object.assign(Object.assign({},i),t.keepDirty?{isDirty:R()}:{})),!t.keepIsValid&&F()},Q=(e,t={})=>{const s=d(o,e);return I(o,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)&&!t.disabled&&I(m,e,d(m,e,t.value)),s?ce(t.disabled)&&I(m,e,t.disabled?void 0:d(m,e,Ve(s._f))):S(e,!0),Te?{name:e}:Object.assign(Object.assign({name:e},ce(t.disabled)?{disabled:t.disabled}:{}),{onChange:H,onBlur:H,ref:s=>{if(s){Q(e,t);let a=d(o,e);const n=c(s.value)&&s.querySelectorAll&&s.querySelectorAll("input,select,textarea")[0]||s,i=(e=>me(e)||r(e))(n);if(n===a._f.ref||i&&l(a._f.refs||[]).find(e=>e===n))return;a={_f:i?Object.assign(Object.assign({},a._f),{refs:[...l(a._f.refs||[]).filter(be),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},I(o,e,a),(!t||!t.disabled)&&S(e,!1,n)}else{const r=d(o,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!u(b.array,e)||!y.action)&&b.unMount.add(e)}}})};return{control:{register:Q,unregister:K,_executeSchema:B,_getWatch:L,_getDirty:R,_updateValid:F,_removeUnmounted:()=>{for(const e of b.unMount){const t=d(o,e);t&&(t._f.refs?t._f.refs.every(e=>!be(e)):!be(t._f.ref))&&K(e)}b.unMount=new Set},_updateFieldArray:(e,t,r,s=[],a=!0,n=!0)=>{if(y.action=!0,n&&d(o,e)){const s=t(d(o,e),r.argA,r.argB);a&&I(o,e,s)}if(Array.isArray(d(i.errors,e))){const s=t(d(i.errors,e),r.argA,r.argB);a&&I(i.errors,e,s),Se(i.errors,e)}if(v.touchedFields&&d(i.touchedFields,e)){const s=t(d(i.touchedFields,e),r.argA,r.argB);a&&I(i.touchedFields,e,s),Se(i.touchedFields,e)}(v.dirtyFields||v.isDirty)&&C(e,s),x.state.next({isDirty:R(e,s),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})},_getFieldArray:t=>d(y.mount?m:g,t,e.shouldUnregister?d(g,t,[]):[]),_subjects:x,_proxyFormState:v,get _fields(){return o},set _fields(e){o=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:G,register:Q,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=n.shouldUnregister?ne(m):Object.assign({},m);x.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await B();i.errors=e,a=t}else await T(o);D(i.errors)&&Object.keys(i.errors).every(e=>d(a,e))?(x.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(i.errors,r),n.shouldFocusError&&$(o,e=>d(i.errors,e),b.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>ae(e)?x.watch.subscribe({next:r=>e(L(void 0,t),r)}):L(e,t,!0),setValue:q,getValues:J,reset:(t,r={})=>{const s=t||g,a=ne(s),n=D(t)?g:a;if(r.keepDefaultValues||(g=s),!r.keepValues){if(ye)for(const e of b.mount){const t=d(o,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{fe(e)&&e.closest("form").reset();break}catch(e){}}}m=e.shouldUnregister?r.keepDefaultValues?ne(g):{}:a,o={},x.watch.next({values:n}),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&&!ue(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!==d(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},resetField:(e,t={})=>{c(t.defaultValue)?q(e,d(g,e)):(q(e,t.defaultValue),I(g,e,t.defaultValue)),t.keepTouched||he(i.touchedFields,e),t.keepDirty||(he(i.dirtyFields,e),i.isDirty=t.defaultValue?R(e,d(g,e)):R()),t.keepError||(he(i.errors,e),v.isValid&&F()),x.state.next(Object.assign({},i))},clearErrors:e=>{e?E(e).forEach(e=>he(i.errors,e)):i.errors={},x.state.next({errors:i.errors,isValid:!0})},unregister:K,setError:(e,t,r)=>{const s=(d(o,e,{_f:{}})._f||{}).ref;I(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=d(o,e)._f;(t.ref.focus?t.ref:t.refs[0]).focus()}}}exports.Controller=e=>e.render(L(e)),exports.FormProvider=e=>t.createElement(w.Provider,{value:A(e,"children")},e.children),exports.appendErrors=P,exports.get=d,exports.set=I,exports.useController=L,exports.useFieldArray=e=>{const r=S(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,u]=t.useState(K(s._getFieldArray(a),n)),l=t.useRef(o),c=t.useRef(a),f=t.useRef(!1);c.current=a,l.current=o,s._names.array.add(a),B({callback:({values:e,name:t})=>{t!==c.current&&t||u(K(d(e,c.current),n))},subject:s._subjects.array});const g=t.useCallback(e=>{const t=((e,t)=>e.map((e={})=>A(e,t)))(e,n);return f.current=!0,I(s._formValues,a,t),t},[s,a,n]);return t.useEffect(()=>{s._stateFlags.action=!1,z(a,s._names)&&s._subjects.state.next({}),f.current&&s._executeSchema([a]).then(e=>{const t=d(e.errors,a);t&&t.type&&!d(s._formState.errors,a)&&(I(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&&$(s._fields,e=>e.startsWith(s._names.focus)),s._names.focus="",s._proxyFormState.isValid&&s._updateValid()},[o,a,s,n]),t.useEffect(()=>(!d(s._formValues,a)&&I(s._formValues,a,[]),()=>{(s._options.shouldUnregister||i)&&s.unregister(a)}),[a,s,n,i]),{swap:t.useCallback((e,t)=>{const r=G(s._getFieldArray(a),l,n);re(r,e,t),u(r),s._updateFieldArray(a,re,{argA:e,argB:t},g(r),!1)},[g,a,s,n]),move:t.useCallback((e,t)=>{const r=G(s._getFieldArray(a),l,n);Z(r,e,t),s._updateFieldArray(a,Z,{argA:e,argB:t},g(r),!1),u(r)},[g,a,s,n]),prepend:t.useCallback((e,t)=>{const r=ee(G(s._getFieldArray(a),l,n),K(E(e),n));u(r),s._updateFieldArray(a,ee,{argA:X(e)},g(r)),s._names.focus=H(a,0,t)},[g,a,s,n]),append:t.useCallback((e,t)=>{const r=E(e),i=Q(G(s._getFieldArray(a),l,n),K(r,n));u(i),s._updateFieldArray(a,Q,{argA:X(e)},g(i)),s._names.focus=H(a,i.length-r.length,t)},[g,a,s,n]),remove:t.useCallback(e=>{const t=te(G(s._getFieldArray(a),l,n),e);u(t),s._updateFieldArray(a,te,{argA:e},g(t))},[g,a,s,n]),insert:t.useCallback((e,t,r)=>{const i=Y(G(s._getFieldArray(a),l,n),e,K(E(t),n));u(i),s._updateFieldArray(a,Y,{argA:e,argB:X(t)},g(i)),s._names.focus=H(a,e,r)},[g,a,s,n]),update:t.useCallback((e,t)=>{const r=G(s._getFieldArray(a),l,n),i=se(r,e,t);l.current=K(i,n),u(l.current),s._updateFieldArray(a,se,{argA:e,argB:t},g(l.current),!0,!1)},[g,a,s,n]),replace:t.useCallback(e=>{const t=K(E(e),n);u(t),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({},Me(e)),{formState:s});const n=r.current.control;return B({subject:n._subjects.state,callback:e=>{C(e,n._proxyFormState,!0)&&(n._formState=Object.assign(Object.assign({},n._formState),e),a(Object.assign({},n._formState)))}}),t.useEffect(()=>{n._stateFlags.mount||(n._proxyFormState.isValid&&n._updateValid(),n._stateFlags.mount=!0),n._stateFlags.watch&&(n._stateFlags.watch=!1,n._subjects.state.next({})),n._removeUnmounted()}),r.current.formState=k(s,n._proxyFormState),r.current},exports.useFormContext=S,exports.useFormState=T,exports.useWatch=R;
|
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=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e,u=(e,t)=>[...e].some(e=>(e=>e.substring(0,e.search(/.\d/))||e)(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",m="onBlur",y="onChange",b="onSubmit",h="onTouched",_="all",p="max",v="min",x="maxLength",j="minLength",A="pattern",V="required",O="validate";var F=(e,t)=>{const r=Object.assign({},e);return delete r[t],r};const w=t.createContext(null),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],U=(e,t,r)=>r&&t?e===t:!e||!t||e===t||E(e).some(e=>e&&(e.startsWith(t)||t.startsWith(e)));function B(e){const r=t.useRef(e);r.current=e,t.useEffect(()=>{const t=!e.disabled&&r.current.subject.subscribe({next:r.current.callback});return()=>(e=>{e&&e.unsubscribe()})(t)},[e.disabled])}function T(e){const r=S(),{control:s=r.control,disabled:a,name:n,exact:i}=e||{},[o,u]=t.useState(s._formState),l=t.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.useRef(n);return c.current=n,B({disabled:a,callback:e=>U(c.current,e.name,i)&&C(e,l.current)&&u(Object.assign(Object.assign({},s._formState),e)),subject:s._subjects.state}),k(o,s._proxyFormState,l.current,!1)}var M=e=>"string"==typeof e,N=(e,t,r,s)=>{const a=Array.isArray(e);return M(e)?(s&&t.watch.add(e),d(r,e)):a?e.map(e=>(s&&t.watch.add(e),d(r,e))):(s&&(t.watchAll=!0),r)},R=e=>"function"==typeof e,L=e=>{for(const t in e)if(R(e[t]))return!0;return!1};function P(e){const r=S(),{control:s=r.control,name:a,defaultValue:n,disabled:o,exact:u}=e||{},l=t.useRef(a);l.current=a,B({disabled:o,subject:s._subjects.watch,callback:e=>{if(U(l.current,e.name,u)){const t=N(l.current,s._names,e.values||s._formValues);f(c(l.current)||i(t)&&!L(t)?Object.assign({},t):Array.isArray(t)?[...t]:t)}}});const[d,f]=t.useState(c(n)?s._getWatch(a):n);return t.useEffect(()=>{s._removeUnmounted()}),d}function W(e){const r=S(),{name:s,control:a=r.control,shouldUnregister:n}=e,i=u(a._names.array,s),l=P({control:a,name:s,defaultValue:d(a._formValues,s,d(a._defaultValues,s,e.defaultValue)),exact:!i}),c=T({control:a,name:s});t.useRef(s).current=s;const m=a.register(s,Object.assign(Object.assign({},e.rules),{value:l}));return t.useEffect(()=>{const e=(e,t)=>{const r=d(a._fields,e);r&&(r._f.mount=t)};return e(s,!0),()=>{const t=a._options.shouldUnregister||n;(i?t&&!a._stateFlags.action:t)?a.unregister(s,{keepDefaultValue:!0}):e(s,!1)}},[s,a,i,n]),{field:{onChange:e=>{m.onChange({target:{value:o(e),name:s},type:g})},onBlur:()=>{m.onBlur({target:{value:d(a._formValues,s),name:s},type:f})},name:s,value:l,ref:e=>{const t=d(a._fields,s);e&&t&&e.focus&&(t._f.ref={focus:()=>e.focus(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:c,fieldState:{invalid:!!d(c.errors,s),isDirty:!!d(c.dirtyFields,s),isTouched:!!d(c.touchedFields,s),error:d(c.errors,s)}}}var q=(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})}):{},I=e=>/^\w*$/.test(e),$=e=>l(e.replace(/["|']|\]/g,"").split(/\.|\[/));function H(e,t,r){let s=-1;const a=I(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 z=(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)&&z(s,t)}}};var G=(e,t,r={})=>r.shouldFocus||c(r.shouldFocus)?r.focusName||`${e}.${c(r.focusIndex)?t:r.focusIndex}.`:"",J=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),K=(e,t,r)=>e.map((e,s)=>{const a=t.current[s];return Object.assign(Object.assign({},e),a?{[r]:a[r]}:{})}),Q=()=>{const e="undefined"==typeof performance?Date.now():1e3*performance.now();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(16*Math.random()+e)%16|0;return("x"==t?r:3&r|8).toString(16)})},X=(e=[],t)=>e.map(e=>Object.assign(Object.assign({},e[t]?{}:{[t]:Q()}),e));function Y(e,t){return[...E(e),...E(t)]}var Z=e=>Array.isArray(e)?e.map(()=>{}):void 0;function ee(e,t,r){return[...e.slice(0,t),...E(r),...e.slice(t)]}var te=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function re(e,t){return[...E(t),...E(e)]}var se=(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)),ae=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},ne=(e,t,r)=>(e[t]=r,e);function ie(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(R(e[r])){t=e;break}t[r]=ie(e[r])}}return t}function oe(){let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}}var ue=e=>a(e)||!n(e);function le(e,t){if(ue(e)||ue(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)?!le(r,e):r!==e)return!1}}return!0}var ce=e=>({isOnSubmit:!e||e===b,isOnBlur:e===m,isOnChange:e===y,isOnAll:e===_,isOnTouch:e===h}),de=e=>"boolean"==typeof e,fe=e=>"file"===e.type,ge=e=>e instanceof HTMLElement,me=e=>"select-multiple"===e.type,ye=e=>"radio"===e.type,be="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,he=e=>ge(e)&&document.contains(e);function _e(e,t){const r=I(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)||de(e)).length)&&(n?delete n[t]:delete e[t]),n=s}}return e}function pe(e,t={}){const r=Array.isArray(e);if(i(e)||r)for(const r in e)Array.isArray(e[r])||i(e[r])&&!L(e[r])?(t[r]=Array.isArray(e[r])?[]:{},pe(e[r],t[r])):a(e[r])||(t[r]=!0);return t}var ve=(e,t)=>function e(t,r,s){const n=Array.isArray(t);if(i(t)||n)for(const n in t)Array.isArray(t[n])||i(t[n])&&!L(t[n])?c(r)||ue(s[n])?s[n]=Array.isArray(t[n])?pe(t[n],[]):Object.assign({},pe(t[n])):e(t[n],a(r)?{}:r[n],s[n]):s[n]=!le(t[n],r[n]);return s}(e,t,pe(t));const xe={value:!1,isValid:!1},je={value:!0,isValid:!0};var Ae=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?je:{value:e[0].value,isValid:!0}:je:xe}return xe},Ve=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r?new Date(e):s?s(e):e;const Oe={isValid:!1,value:null};var Fe=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Oe):Oe;function we(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return fe(t)?t.files:ye(t)?Fe(e.refs).value:me(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?Ae(e.refs).value:Ve(c(t.value)?e.ref.value:t.value,e)}function Se(e,t,r){const s=d(e,r);if(s||I(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const s=a.join("."),n=d(t,s),i=d(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}}var ke=(e,t)=>!l(d(e,t,[])).length&&_e(e,t),De=e=>M(e)||t.isValidElement(e),Ce=e=>e instanceof RegExp;function Ee(e,t,r="validate"){if(De(e)||Array.isArray(e)&&e.every(De)||de(e)&&!e)return{type:r,message:De(e)?e:"",ref:t}}var Ue=e=>i(e)&&!Ce(e)?e:{value:e,message:""},Be=async(e,t,s,n)=>{const{ref:o,refs:u,required:l,maxLength:c,minLength:d,min:f,max:g,pattern:m,validate:y,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(de(e)?"":e||" "),w.reportValidity())},k={},C=ye(o),E=r(o),U=C||E,B=(h||fe(o))&&!o.value||""===t||Array.isArray(t)&&!t.length,T=q.bind(null,b,s,k),N=(e,t,r,s=x,a=j)=>{const n=e?t:r;k[b]=Object.assign({type:e?s:a,message:n,ref:o},T(e?s:a,n))};if(l&&(!U&&(B||a(t))||de(t)&&!t||E&&!Ae(u).isValid||C&&!Fe(u).isValid)){const{value:e,message:t}=De(l)?{value:!!l,message:l}:Ue(l);if(e&&(k[b]=Object.assign({type:V,message:t,ref:w},T(V,t)),!s))return S(t),k}if(!(B||a(f)&&a(g))){let e,r;const n=Ue(g),i=Ue(f);if(isNaN(t)){const s=o.valueAsDate||new Date(t);M(n.value)&&(e=s>new Date(n.value)),M(i.value)&&(r=s<new Date(i.value))}else{const s=o.valueAsNumber||parseFloat(t);a(n.value)||(e=s>n.value),a(i.value)||(r=s<i.value)}if((e||r)&&(N(!!e,n.message,i.message,p,v),!s))return S(k[b].message),k}if((c||d)&&!B&&M(t)){const e=Ue(c),r=Ue(d),n=!a(e.value)&&t.length>e.value,i=!a(r.value)&&t.length<r.value;if((n||i)&&(N(n,e.message,r.message),!s))return S(k[b].message),k}if(m&&!B&&M(t)){const{value:e,message:r}=Ue(m);if(Ce(e)&&!t.match(e)&&(k[b]=Object.assign({type:A,message:r,ref:o},T(A,r)),!s))return S(r),k}if(y)if(R(y)){const e=Ee(await y(t),w);if(e&&(k[b]=Object.assign(Object.assign({},e),T(O,e.message)),!s))return S(e.message),k}else if(i(y)){let e={};for(const r in y){if(!D(e)&&!s)break;const a=Ee(await y[r](t),w,r);a&&(e=Object.assign(Object.assign({},a),T(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 Te={mode:b,reValidateMode:y,shouldFocusError:!0},Me="undefined"==typeof window;function Ne(e={}){let t,n=Object.assign(Object.assign({},Te),e),i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},g={},m=n.defaultValues||{},y=n.shouldUnregister?{}:ie(m),b={action:!1,mount:!1,watch:!1},h={mount:new Set,unMount:new Set,array:new Set,watch:new Set},p=0,v={};const x={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},j={watch:oe(),array:oe(),state:oe()},A=ce(n.mode),V=ce(n.reValidateMode),O=n.criteriaMode===_,w=async e=>{let t=!1;return x.isValid&&(t=n.resolver?D((await B()).errors):await T(g,!0),e||t===i.isValid||(i.isValid=t,j.state.next({isValid:t}))),t},S=(e,t)=>(H(i.errors,e,t),j.state.next({errors:i.errors})),k=(e,t,r)=>{const s=d(g,e);if(s){const a=d(y,e,d(m,e));c(a)||r&&r.defaultChecked||t?H(y,e,t?a:we(s._f)):W(e,a)}b.mount&&w()},C=(e,t,r,s=!0)=>{let a=!1;const n={name:e},o=d(i.touchedFields,e);if(x.isDirty){const e=i.isDirty;i.isDirty=n.isDirty=L(),a=e!==n.isDirty}if(x.dirtyFields&&!r){const r=d(i.dirtyFields,e);le(d(m,e),t)?_e(i.dirtyFields,e):H(i.dirtyFields,e,!0),n.dirtyFields=i.dirtyFields,a=a||r!==d(i.dirtyFields,e)}return r&&!o&&(H(i.touchedFields,e,r),n.touchedFields=i.touchedFields,a=a||x.touchedFields&&o!==r),a&&s&&j.state.next(n),a?n:{}},U=async(r,s,a,n,o)=>{const u=d(i.errors,s),l=x.isValid&&i.isValid!==a;var c,f;if(e.delayError&&n?(t=t||(c=S,f=e.delayError,(...e)=>{clearTimeout(p),p=window.setTimeout(()=>c(...e),f)}),t(s,n)):(clearTimeout(p),n?H(i.errors,s,n):_e(i.errors,s)),((n?!le(u,n):u)||!D(o)||l)&&!r){const e=Object.assign(Object.assign(Object.assign({},o),l?{isValid:a}:{}),{errors:i.errors,name:s});i=Object.assign(Object.assign({},i),e),j.state.next(e)}v[s]--,x.isValidating&&!v[s]&&(j.state.next({isValidating:!1}),v={})},B=async e=>n.resolver?await n.resolver(Object.assign({},y),n.context,((e,t,r,s)=>{const a={};for(const r of e){const e=d(t,r);e&&H(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}})(e||h.mount,g,n.criteriaMode,n.shouldUseNativeValidation)):{},T=async(e,t,r={valid:!0})=>{for(const s in e){const a=e[s];if(a){const e=a._f,s=F(a,"_f");if(e){const s=await Be(a,d(y,e.name),O,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?H(i.errors,e.name,s[e.name]):_e(i.errors,e.name))}s&&await T(s,t,r)}}return r.valid},L=(e,t)=>(e&&t&&H(y,e,t),!le(K(),m)),P=(e,t,r)=>{const s=Object.assign({},b.mount?y:c(t)?m:M(e)?{[e]:t}:t);return N(e,h,s,r)},W=(e,t,s={})=>{const n=d(g,e);let i=t;if(n){const s=n._f;s&&(H(y,e,Ve(t,s)),i=be&&ge(s.ref)&&a(t)?"":t,me(s.ref)?[...s.ref.options].forEach(e=>e.selected=i.includes(e.value)):s.refs?r(s.ref)?s.refs.length>1?s.refs.forEach(e=>e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value):s.refs[0].checked=!!i:s.refs.forEach(e=>e.checked=e.value===i):fe(s.ref)||(s.ref.value=i))}(s.shouldDirty||s.shouldTouch)&&C(e,i,s.shouldTouch),s.shouldValidate&&G(e)},q=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,o=d(g,i);!h.array.has(e)&&ue(n)&&(!o||o._f)||s(n)?W(i,n,r):q(i,n,r)}},I=(e,t,r={})=>{const s=d(g,e),n=h.array.has(e);H(y,e,t),n?(j.array.next({name:e,values:y}),(x.isDirty||x.dirtyFields)&&r.shouldDirty&&(i.dirtyFields=ve(m,y),j.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:L(e,t)}))):!s||s._f||a(t)?W(e,t,r):q(e,t,r),J(e,h)&&j.state.next({}),j.watch.next({name:e})},$=async e=>{const t=e.target;let r=t.name;const s=d(g,r);if(s){let u,l;const c=t.type?we(s._f):o(e),m=e.type===f,b=!((a=s._f).mount&&(a.required||a.min||a.max||a.maxLength||a.minLength||a.pattern||a.validate)||n.resolver||d(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))(m,d(i.touchedFields,r),i.isSubmitted,V,A),_=J(r,h,m);m?s._f.onBlur&&s._f.onBlur(e):s._f.onChange&&s._f.onChange(e),H(y,r,c);const p=C(r,c,m,!1),F=!D(p)||_;if(!m&&j.watch.next({name:r,type:e.type}),b)return F&&j.state.next(Object.assign({name:r},_?{}:p));if(!m&&_&&j.state.next({}),v[r]=(v[r],1),x.isValidating&&j.state.next({isValidating:!0}),n.resolver){const{errors:e}=await B([r]),t=Se(i.errors,g,r),s=Se(e,g,t.name||r);u=s.error,r=s.name,l=D(e)}else u=(await Be(s,d(y,r),O,n.shouldUseNativeValidation))[r],l=await w(!0);s._f.deps&&G(s._f.deps),U(!1,r,l,u,p)}var a},G=async(e,t={})=>{let r,s;const a=E(e);if(j.state.next({isValidating:!0}),n.resolver){const t=await(async e=>{const{errors:t}=await B();if(e)for(const r of e){const e=d(t,r);e?H(i.errors,r,e):_e(i.errors,r)}else i.errors=t;return t})(c(e)?e:a);r=D(t),s=e?!a.some(e=>d(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=d(g,e);return await T(t&&t._f?{[e]:t}:t)}))).every(Boolean),(s||i.isValid)&&w()):s=r=await T(g);return j.state.next(Object.assign(Object.assign(Object.assign({},!M(e)||x.isValid&&r!==i.isValid?{}:{name:e}),n.resolver?{isValid:r}:{}),{errors:i.errors,isValidating:!1})),t.shouldFocus&&!s&&z(g,e=>d(i.errors,e),e?a:h.mount),s},K=e=>{const t=Object.assign(Object.assign({},m),b.mount?y:{});return c(e)?t:M(e)?d(t,e):e.map(e=>d(t,e))},Q=(e,t={})=>{for(const r of e?E(e):h.mount)h.mount.delete(r),h.array.delete(r),d(g,r)&&(t.keepValue||(_e(g,r),_e(y,r)),!t.keepError&&_e(i.errors,r),!t.keepDirty&&_e(i.dirtyFields,r),!t.keepTouched&&_e(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&_e(m,r));j.watch.next({}),j.state.next(Object.assign(Object.assign({},i),t.keepDirty?{isDirty:L()}:{})),!t.keepIsValid&&w()},X=(e,t={})=>{const s=d(g,e);return H(g,e,{_f:Object.assign(Object.assign(Object.assign({},s&&s._f?s._f:{ref:{name:e}}),{name:e,mount:!0}),t)}),h.mount.add(e),!c(t.value)&&!t.disabled&&H(y,e,d(y,e,t.value)),s?de(t.disabled)&&H(y,e,t.disabled?void 0:d(y,e,we(s._f))):k(e,!0),Me?{name:e}:Object.assign(Object.assign({name:e},de(t.disabled)?{disabled:t.disabled}:{}),{onChange:$,onBlur:$,ref:s=>{if(s){X(e,t);let a=d(g,e);const n=c(s.value)&&s.querySelectorAll&&s.querySelectorAll("input,select,textarea")[0]||s,i=(e=>ye(e)||r(e))(n);if(n===a._f.ref||i&&l(a._f.refs||[]).find(e=>e===n))return;a={_f:i?Object.assign(Object.assign({},a._f),{refs:[...l(a._f.refs||[]).filter(he),n],ref:{type:n.type,name:e}}):Object.assign(Object.assign({},a._f),{ref:n})},H(g,e,a),(!t||!t.disabled)&&k(e,!1,n)}else{const r=d(g,e,{}),s=n.shouldUnregister||t.shouldUnregister;r._f&&(r._f.mount=!1),s&&(!u(h.array,e)||!b.action)&&h.unMount.add(e)}}})};return{control:{register:X,unregister:Q,_executeSchema:B,_getWatch:P,_getDirty:L,_updateValid:w,_removeUnmounted:()=>{for(const e of h.unMount){const t=d(g,e);t&&(t._f.refs?t._f.refs.every(e=>!he(e)):!he(t._f.ref))&&Q(e)}h.unMount=new Set},_updateFieldArray:(e,t,r,s=[],a=!0,n=!0)=>{if(b.action=!0,n&&d(g,e)){const s=t(d(g,e),r.argA,r.argB);a&&H(g,e,s)}if(Array.isArray(d(i.errors,e))){const s=t(d(i.errors,e),r.argA,r.argB);a&&H(i.errors,e,s),ke(i.errors,e)}if(x.touchedFields&&d(i.touchedFields,e)){const s=t(d(i.touchedFields,e),r.argA,r.argB);a&&H(i.touchedFields,e,s),ke(i.touchedFields,e)}(x.dirtyFields||x.isDirty)&&(i.dirtyFields=ve(m,y)),j.state.next({isDirty:L(e,s),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})},_getFieldArray:t=>d(b.mount?y:m,t,e.shouldUnregister?d(m,t,[]):[]),_subjects:j,_proxyFormState:x,get _fields(){return g},set _fields(e){g=e},get _formValues(){return y},set _formValues(e){y=e},get _stateFlags(){return b},set _stateFlags(e){b=e},get _defaultValues(){return m},set _defaultValues(e){m=e},get _names(){return h},set _names(e){h=e},get _formState(){return i},set _formState(e){i=e},get _options(){return n},set _options(e){n=Object.assign(Object.assign({},n),e)}},trigger:G,register:X,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=n.shouldUnregister?ie(y):Object.assign({},y);j.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await B();i.errors=e,a=t}else await T(g);D(i.errors)&&Object.keys(i.errors).every(e=>d(a,e))?(j.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t(i.errors,r),n.shouldFocusError&&z(g,e=>d(i.errors,e),h.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,j.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:D(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>R(e)?j.watch.subscribe({next:r=>e(P(void 0,t),r)}):P(e,t,!0),setValue:I,getValues:K,reset:(t,r={})=>{const s=t||m,a=ie(s),n=D(t)?m:a;if(r.keepDefaultValues||(m=s),!r.keepValues){if(be)for(const e of h.mount){const t=d(g,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;try{ge(e)&&e.closest("form").reset();break}catch(e){}}}y=e.shouldUnregister?r.keepDefaultValues?ie(m):{}:a,g={},j.watch.next({values:n}),j.array.next({values:n})}h={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},j.state.next({submitCount:r.keepSubmitCount?i.submitCount:0,isDirty:r.keepDirty?i.isDirty:!!r.keepDefaultValues&&!le(t,m),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!==d(m,t)}),{}):{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1}),b.mount=!x.isValid||!!r.keepIsValid,b.watch=!!e.shouldUnregister},resetField:(e,t={})=>{c(t.defaultValue)?I(e,d(m,e)):(I(e,t.defaultValue),H(m,e,t.defaultValue)),t.keepTouched||_e(i.touchedFields,e),t.keepDirty||(_e(i.dirtyFields,e),i.isDirty=t.defaultValue?L(e,d(m,e)):L()),t.keepError||(_e(i.errors,e),x.isValid&&w()),j.state.next(Object.assign({},i))},clearErrors:e=>{e?E(e).forEach(e=>_e(i.errors,e)):i.errors={},j.state.next({errors:i.errors,isValid:!0})},unregister:Q,setError:(e,t,r)=>{const s=(d(g,e,{_f:{}})._f||{}).ref;H(i.errors,e,Object.assign(Object.assign({},t),{ref:s})),j.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:e=>{const t=d(g,e)._f;(t.ref.focus?t.ref:t.refs[0]).focus()}}}exports.Controller=e=>e.render(W(e)),exports.FormProvider=e=>t.createElement(w.Provider,{value:F(e,"children")},e.children),exports.appendErrors=q,exports.get=d,exports.set=H,exports.useController=W,exports.useFieldArray=e=>{const r=S(),{control:s=r.control,name:a,keyName:n="id",shouldUnregister:i}=e,[o,u]=t.useState(X(s._getFieldArray(a),n)),l=t.useRef(o),c=t.useRef(a),f=t.useRef(!1);c.current=a,l.current=o,s._names.array.add(a),B({callback:({values:e,name:t})=>{t!==c.current&&t||u(X(d(e,c.current),n))},subject:s._subjects.array});const g=t.useCallback(e=>{const t=((e,t)=>e.map((e={})=>F(e,t)))(e,n);return f.current=!0,H(s._formValues,a,t),t},[s,a,n]);return t.useEffect(()=>{s._stateFlags.action=!1,J(a,s._names)&&s._subjects.state.next({}),f.current&&s._executeSchema([a]).then(e=>{const t=d(e.errors,a);t&&t.type&&!d(s._formState.errors,a)&&(H(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&&z(s._fields,e=>e.startsWith(s._names.focus)),s._names.focus="",s._proxyFormState.isValid&&s._updateValid()},[o,a,s,n]),t.useEffect(()=>(!d(s._formValues,a)&&H(s._formValues,a,[]),()=>{(s._options.shouldUnregister||i)&&s.unregister(a)}),[a,s,n,i]),{swap:t.useCallback((e,t)=>{const r=K(s._getFieldArray(a),l,n);ae(r,e,t),u(r),s._updateFieldArray(a,ae,{argA:e,argB:t},g(r),!1)},[g,a,s,n]),move:t.useCallback((e,t)=>{const r=K(s._getFieldArray(a),l,n);te(r,e,t),s._updateFieldArray(a,te,{argA:e,argB:t},g(r),!1),u(r)},[g,a,s,n]),prepend:t.useCallback((e,t)=>{const r=re(K(s._getFieldArray(a),l,n),X(E(e),n));u(r),s._updateFieldArray(a,re,{argA:Z(e)},g(r)),s._names.focus=G(a,0,t)},[g,a,s,n]),append:t.useCallback((e,t)=>{const r=E(e),i=Y(K(s._getFieldArray(a),l,n),X(r,n));u(i),s._updateFieldArray(a,Y,{argA:Z(e)},g(i)),s._names.focus=G(a,i.length-r.length,t)},[g,a,s,n]),remove:t.useCallback(e=>{const t=se(K(s._getFieldArray(a),l,n),e);u(t),s._updateFieldArray(a,se,{argA:e},g(t))},[g,a,s,n]),insert:t.useCallback((e,t,r)=>{const i=ee(K(s._getFieldArray(a),l,n),e,X(E(t),n));u(i),s._updateFieldArray(a,ee,{argA:e,argB:Z(t)},g(i)),s._names.focus=G(a,e,r)},[g,a,s,n]),update:t.useCallback((e,t)=>{const r=K(s._getFieldArray(a),l,n),i=ne(r,e,t);l.current=X(i,n),u(l.current),s._updateFieldArray(a,ne,{argA:e,argB:t},g(l.current),!0,!1)},[g,a,s,n]),replace:t.useCallback(e=>{const t=X(E(e),n);u(t),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({},Ne(e)),{formState:s});const n=r.current.control;return B({subject:n._subjects.state,callback:e=>{C(e,n._proxyFormState,!0)&&(n._formState=Object.assign(Object.assign({},n._formState),e),a(Object.assign({},n._formState)))}}),t.useEffect(()=>{n._stateFlags.mount||(n._proxyFormState.isValid&&n._updateValid(),n._stateFlags.mount=!0),n._stateFlags.watch&&(n._stateFlags.watch=!1,n._subjects.state.next({})),n._removeUnmounted()}),r.current.formState=k(s,n._proxyFormState),r.current},exports.useFormContext=S,exports.useFormState=T,exports.useWatch=P;
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|