react-hook-form 8.0.0-alpha.2 → 8.0.0-alpha.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/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.mjs +297 -251
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/logic/createFormControl.d.ts.map +1 -1
- package/dist/logic/updateFieldArrayRootError.d.ts +4 -0
- package/dist/logic/updateFieldArrayRootError.d.ts.map +1 -0
- package/dist/logic/validateField.d.ts +1 -1
- package/dist/logic/validateField.d.ts.map +1 -1
- package/dist/types/errors.d.ts +1 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/fieldArray.d.ts +4 -3
- package/dist/types/fieldArray.d.ts.map +1 -1
- package/dist/useFieldArray.d.ts.map +1 -1
- package/dist/utils/compact.d.ts.map +1 -1
- package/dist/utils/unset.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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),u=e=>i(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e,o=(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(!t||!i(e))return r;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",m="focusout",y="change",g="onBlur",h="onChange",p="onSubmit",_="onTouched",v="all",b="max",x="min",A="maxLength",F="minLength",V="pattern",S="required",w="validate",k=t.default.createContext(null),D=()=>t.default.useContext(k);var C=(e,t,r,s=!0)=>{const a={};for(const n in e)Object.defineProperty(a,n,{get:()=>{const a=n;return t[a]!==v&&(t[a]=!s||v),r&&(r[a]=!0),e[a]}});return a},j=e=>i(e)&&!Object.keys(e).length,E=(e,t,r)=>{const{name:s,...a}=e;return j(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(e=>t[e]===(!r||v))},O=e=>Array.isArray(e)?e:[e],U=(e,t,r)=>r&&t?e===t:!e||!t||e===t||O(e).some(e=>e&&(e.startsWith(t)||t.startsWith(e)));function B(e){const r=t.default.useRef(e);r.current=e,t.default.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=D(),{control:s=r.control,disabled:a,name:n,exact:i}=e||{},[u,o]=t.default.useState(s._formState),l=t.default.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.default.useRef(n),d=t.default.useRef(!0);c.current=n;return B({disabled:a,callback:t.default.useCallback(e=>d.current&&U(c.current,e.name,i)&&E(e,l.current)&&o({...s._formState,...e}),[s,i]),subject:s._subjects.state}),t.default.useEffect(()=>(d.current=!0,()=>{d.current=!1}),[]),C(u,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)},L=e=>"function"==typeof e,R=e=>{for(const t in e)if(L(e[t]))return!0;return!1};function q(e){const r=D(),{control:s=r.control,name:a,defaultValue:n,disabled:u,exact:o}=e||{},l=t.default.useRef(a);l.current=a;const d=t.default.useCallback(e=>{if(U(l.current,e.name,o)){const t=N(l.current,s._names,e.values||s._formValues);m(c(l.current)||i(t)&&!R(t)?{...t}:Array.isArray(t)?[...t]:c(t)?n:t)}},[s,o,n]);B({disabled:u,subject:s._subjects.watch,callback:d});const[f,m]=t.default.useState(c(n)?s._getWatch(a):n);return t.default.useEffect(()=>{s._removeUnmounted()}),f}function W(e){const r=D(),{name:s,control:a=r.control,shouldUnregister:n}=e,i=o(a._names.array,s),l=q({control:a,name:s,defaultValue:d(a._formValues,s,d(a._defaultValues,s,e.defaultValue)),exact:!0}),c=T({control:a,name:s}),m=t.default.useRef(a.register(s,{...e.rules,value:l}));return t.default.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):e(s,!1)}},[s,a,i,n]),{field:{name:s,value:l,onChange:t.default.useCallback(e=>{m.current.onChange({target:{value:u(e),name:s},type:y})},[s]),onBlur:t.default.useCallback(()=>{m.current.onBlur({target:{value:d(a._formValues,s),name:s},type:f})},[s,a]),ref:t.default.useCallback(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()})},[s,a._fields])},formState:c,fieldState:a.getFieldState(s,c)}}var $=(e,t,r,s,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:a||!0}}:{};var P=e=>/^\w*$/.test(e),I=e=>l(e.replace(/["|']|\]/g,"").split(/\.|\[/));function H(e,t,r){let s=-1;const a=P(t)?[t]:I(t),n=a.length,u=n-1;for(;++s<n;){const t=a[s];let n=r;if(s!==u){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{_f:e,...s}=r;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=()=>{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)})},J=(e,t,r={})=>r.shouldFocus||c(r.shouldFocus)?r.focusName||`${e}.${c(r.focusIndex)?t:r.focusIndex}.`:"",K=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length))));function Q(e,t){return[...e,...O(t)]}function X(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(L(e[r])){t=e;break}t[r]=X(e[r])}}return t}var Y=e=>Array.isArray(e)?e.map(()=>{}):void 0;function Z(e,t,r){return[...e.slice(0,t),...O(r),...e.slice(t)]}var ee=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function te(e,t){return[...O(t),...O(e)]}var re=(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,O(t).sort((e,t)=>e-t)),se=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},ae=(e,t,r)=>(e[t]=r,e);function ne(){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 ie=e=>a(e)||!n(e);function ue(e,t){if(ie(e)||ie(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 oe=e=>({isOnSubmit:!e||e===p,isOnBlur:e===g,isOnChange:e===h,isOnAll:e===v,isOnTouch:e===_}),le=e=>"boolean"==typeof e,ce=e=>"file"===e.type,de=e=>e instanceof HTMLElement,fe=e=>"select-multiple"===e.type,me=e=>"radio"===e.type,ye="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,ge=e=>de(e)&&e.isConnected;function he(e,t){const r=P(t)?[t]:I(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 u=r.slice(0,-(t+1)),o=u.length-1;for(t>0&&(n=e);++a<u.length;){const t=u[a];s=s?s[t]:e[t],o===a&&(i(s)&&j(s)||Array.isArray(s)&&!s.filter(e=>!c(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])&&!R(e[r])?(t[r]=Array.isArray(e[r])?[]:{},pe(e[r],t[r])):a(e[r])||(t[r]=!0);return t}var _e=(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])&&!R(t[n])?c(r)||ie(s[n])?s[n]=Array.isArray(t[n])?pe(t[n],[]):{...pe(t[n])}:e(t[n],a(r)?{}:r[n],s[n]):s[n]=!ue(t[n],r[n]);return s}(e,t,pe(t));const ve={value:!1,isValid:!1},be={value:!0,isValid:!0};var xe=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:ve}return ve},Ae=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r&&M(e)?new Date(e):s?s(e):e;const Fe={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,Fe):Fe;function Se(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return ce(t)?t.files:me(t)?Ve(e.refs).value:fe(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?xe(e.refs).value:Ae(c(t.value)?e.ref.value:t.value,e)}var we=e=>e instanceof RegExp,ke=e=>c(e)?void 0:we(e)?e.source:i(e)?we(e.value)?e.value.source:e.value:e;function De(e,t,r){const s=d(e,r);if(s||P(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 Ce=e=>M(e)||t.default.isValidElement(e);function je(e,t,r="validate"){if(Ce(e)||Array.isArray(e)&&e.every(Ce)||le(e)&&!e)return{type:r,message:Ce(e)?e:"",ref:t}}var Ee=e=>i(e)&&!we(e)?e:{value:e,message:""},Oe=async(e,t,s,n)=>{const{ref:u,refs:o,required:l,maxLength:c,minLength:d,min:f,max:m,pattern:y,validate:g,name:h,valueAsNumber:p,mount:_,disabled:v}=e._f;if(!_||v)return{};const k=o?o[0]:u,D=e=>{n&&k.reportValidity&&(k.setCustomValidity(le(e)?"":e||" "),k.reportValidity())},C={},E=me(u),O=r(u),U=E||O,B=(p||ce(u))&&!u.value||""===t||Array.isArray(t)&&!t.length,T=$.bind(null,h,s,C),N=(e,t,r,s=A,a=F)=>{const n=e?t:r;C[h]={type:e?s:a,message:n,ref:u,...T(e?s:a,n)}};if(l&&(!U&&(B||a(t))||le(t)&&!t||O&&!xe(o).isValid||E&&!Ve(o).isValid)){const{value:e,message:t}=Ce(l)?{value:!!l,message:l}:Ee(l);if(e&&(C[h]={type:S,message:t,ref:k,...T(S,t)},!s))return D(t),C}if(!(B||a(f)&&a(m))){let e,r;const n=Ee(m),i=Ee(f);if(isNaN(t)){const s=u.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=u.valueAsNumber||+t;a(n.value)||(e=s>n.value),a(i.value)||(r=s<i.value)}if((e||r)&&(N(!!e,n.message,i.message,b,x),!s))return D(C[h].message),C}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 D(C[h].message),C}if(y&&!B&&M(t)){const{value:e,message:r}=Ee(y);if(we(e)&&!t.match(e)&&(C[h]={type:V,message:r,ref:u,...T(V,r)},!s))return D(r),C}if(g)if(L(g)){const e=je(await g(t),k);if(e&&(C[h]={...e,...T(w,e.message)},!s))return D(e.message),C}else if(i(g)){let e={};for(const r in g){if(!j(e)&&!s)break;const a=je(await g[r](t),k,r);a&&(e={...a,...T(r,a.message)},D(a.message),s&&(C[h]=e))}if(!j(e)&&(C[h]={ref:k,...e},!s))return C}return D(!0),C};const Ue={mode:p,reValidateMode:h,shouldFocusError:!0};function Be(e={}){let t,n={...Ue,...e},i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},y={},g=X(n.defaultValues)||{},h=n.shouldUnregister?{}:X(g),p={action:!1,mount:!1,watch:!1},_={mount:new Set,unMount:new Set,array:new Set,watch:new Set},b=0,x={};const A={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={watch:ne(),array:ne(),state:ne()},V=oe(n.mode),S=oe(n.reValidateMode),w=n.criteriaMode===v,k=async e=>{let t=!1;return A.isValid&&(t=n.resolver?j((await B()).errors):await T(y,!0),e||t===i.isValid||(i.isValid=t,F.state.next({isValid:t}))),t},D=(e,t)=>(H(i.errors,e,t),F.state.next({errors:i.errors})),C=(e,t,r,s)=>{const a=d(y,e);if(a){const n=d(h,e,c(r)?d(g,e):r);c(n)||s&&s.defaultChecked||t?H(h,e,t?n:Se(a._f)):W(e,n),p.mount&&k()}},E=(e,t,r,s,a)=>{let n=!1;const u={name:e},o=d(i.touchedFields,e);if(A.isDirty){const e=i.isDirty;i.isDirty=u.isDirty=R(),n=e!==u.isDirty}if(A.dirtyFields&&(!r||s)){const r=d(i.dirtyFields,e);ue(d(g,e),t)?he(i.dirtyFields,e):H(i.dirtyFields,e,!0),u.dirtyFields=i.dirtyFields,n=n||r!==d(i.dirtyFields,e)}return r&&!o&&(H(i.touchedFields,e,r),u.touchedFields=i.touchedFields,n=n||A.touchedFields&&o!==r),n&&a&&F.state.next(u),n?u:{}},U=async(r,s,a,n,u)=>{const o=d(i.errors,s),l=A.isValid&&i.isValid!==a;var c,f;if(e.delayError&&n?(t=t||(c=D,f=e.delayError,(...e)=>{clearTimeout(b),b=window.setTimeout(()=>c(...e),f)}),t(s,n)):(clearTimeout(b),n?H(i.errors,s,n):he(i.errors,s)),((n?!ue(o,n):o)||!j(u)||l)&&!r){const e={...u,...l?{isValid:a}:{},errors:i.errors,name:s};i={...i,...e},F.state.next(e)}x[s]--,A.isValidating&&!Object.values(x).some(e=>e)&&(F.state.next({isValidating:!1}),x={})},B=async e=>n.resolver?await n.resolver({...h},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||_.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{_f:e,...s}=a;if(e){const s=await Oe(a,d(h,e.name),w,n.shouldUseNativeValidation);if(s[e.name]&&(r.valid=!1,t))break;t||(s[e.name]?H(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&&H(h,e,t),!ue(J(),g)),q=(e,t,r)=>{const s={...p.mount?h:c(t)?g:M(e)?{[e]:t}:t};return N(e,_,s,r)},W=(e,t,s={})=>{const n=d(y,e);let i=t;if(n){const s=n._f;s&&(!s.disabled&&H(h,e,Ae(t,s)),i=ye&&de(s.ref)&&a(t)?"":t,fe(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.disabled&&(e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value)):s.refs[0]&&(s.refs[0].checked=!!i):s.refs.forEach(e=>e.checked=e.value===i):ce(s.ref)?s.ref.value="":(s.ref.value=i,s.ref.type||F.watch.next({name:e})))}(s.shouldDirty||s.shouldTouch)&&E(e,i,s.shouldTouch,s.shouldDirty,!0),s.shouldValidate&&G(e)},$=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,u=d(y,i);!_.array.has(e)&&ie(n)&&(!u||u._f)||s(n)?W(i,n,r):$(i,n,r)}},P=(e,t,r={})=>{const s=d(y,e),n=_.array.has(e),u=X(t);H(h,e,u),n?(F.array.next({name:e,values:h}),(A.isDirty||A.dirtyFields)&&r.shouldDirty&&(i.dirtyFields=_e(g,h),F.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:R(e,u)}))):!s||s._f||a(u)?W(e,u,r):$(e,u,r),K(e,_)&&F.state.next({}),F.watch.next({name:e})},I=async e=>{const t=e.target;let r=t.name;const s=d(y,r);if(s){let o,l;const c=t.type?Se(s._f):u(e),g=e.type===f||e.type===m,p=!((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,S,V),v=K(r,_,g);H(h,r,c),g?s._f.onBlur&&s._f.onBlur(e):s._f.onChange&&s._f.onChange(e);const b=E(r,c,g,!1),A=!j(b)||v;if(!g&&F.watch.next({name:r,type:e.type}),p)return A&&F.state.next({name:r,...v?{}:b});if(!g&&v&&F.state.next({}),x[r]=(x[r],1),F.state.next({isValidating:!0}),n.resolver){const{errors:e}=await B([r]),t=De(i.errors,y,r),s=De(e,y,t.name||r);o=s.error,r=s.name,l=j(e)}else o=(await Oe(s,d(h,r),w,n.shouldUseNativeValidation))[r],l=await k(!0);s._f.deps&&G(s._f.deps),U(!1,r,l,o,b)}var a},G=async(e,t={})=>{let r,s;const a=O(e);if(F.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):he(i.errors,r)}else i.errors=t;return t})(c(e)?e:a);r=j(t),s=e?!a.some(e=>d(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=d(y,e);return await T(t&&t._f?{[e]:t}:t)}))).every(Boolean),(s||i.isValid)&&k()):s=r=await T(y);return F.state.next({...!M(e)||A.isValid&&r!==i.isValid?{}:{name:e},...n.resolver?{isValid:r}:{},errors:i.errors,isValidating:!1}),t.shouldFocus&&!s&&z(y,e=>d(i.errors,e),e?a:_.mount),s},J=e=>{const t={...g,...p.mount?h:{}};return c(e)?t:M(e)?d(t,e):e.map(e=>d(t,e))},Q=(e,t)=>({invalid:!!d((t||i).errors,e),isDirty:!!d((t||i).dirtyFields,e),isTouched:!!d((t||i).touchedFields,e),error:d((t||i).errors,e)}),Y=(e,t={})=>{for(const r of e?O(e):_.mount)_.mount.delete(r),_.array.delete(r),d(y,r)&&(t.keepValue||(he(y,r),he(h,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));F.watch.next({}),F.state.next({...i,...t.keepDirty?{isDirty:R()}:{}}),A.isValid&&k()},Z=(e,t={})=>{let s=d(y,e);const a=le(t.disabled);return H(y,e,{_f:{...s&&s._f?s._f:{ref:{name:e}},name:e,mount:!0,...t}}),_.mount.add(e),s?a&&H(h,e,t.disabled?void 0:d(h,e,Se(s._f))):C(e,!0,t.value),{...a?{disabled:t.disabled}:{},...n.shouldUseNativeValidation?{required:!!t.required,min:ke(t.min),max:ke(t.max),minLength:ke(t.minLength),maxLength:ke(t.maxLength),pattern:ke(t.pattern)}:{},name:e,onChange:I,onBlur:I,ref:a=>{if(a){Z(e,t),s=d(y,e);const n=c(a.value)&&a.querySelectorAll&&a.querySelectorAll("input,select,textarea")[0]||a,i=(e=>me(e)||r(e))(n),u=s._f.refs||[];if(i?u.find(e=>e===n):n===s._f.ref)return;H(y,e,{_f:{...s._f,...i?{refs:[...u.filter(ge),n],ref:{type:n.type,name:e}}:{ref:n}}}),C(e,!1,void 0,n)}else s=d(y,e,{}),s._f&&(s._f.mount=!1),(n.shouldUnregister||t.shouldUnregister)&&(!o(_.array,e)||!p.action)&&_.unMount.add(e)}}};return{control:{register:Z,unregister:Y,getFieldState:Q,_executeSchema:B,_getWatch:q,_getDirty:R,_updateValid:k,_removeUnmounted:()=>{for(const e of _.unMount){const t=d(y,e);t&&(t._f.refs?t._f.refs.every(e=>!ge(e)):!ge(t._f.ref))&&Y(e)}_.unMount=new Set},_updateFieldArray:(e,t=[],r,s,a=!0,n=!0)=>{if(s&&r){if(p.action=!0,n&&Array.isArray(d(y,e))){const t=r(d(y,e),s.argA,s.argB);a&&H(y,e,t)}if(A.errors&&n&&Array.isArray(d(i.errors,e))){const t=r(d(i.errors,e),s.argA,s.argB);a&&H(i.errors,e,t),((e,t)=>{!l(d(e,t)).length&&he(e,t)})(i.errors,e)}if(A.touchedFields&&n&&Array.isArray(d(i.touchedFields,e))){const t=r(d(i.touchedFields,e),s.argA,s.argB);a&&H(i.touchedFields,e,t)}A.dirtyFields&&(i.dirtyFields=_e(g,h)),F.state.next({isDirty:R(e,t),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})}else H(h,e,t)},_getFieldArray:t=>l(d(p.mount?h:g,t,e.shouldUnregister?d(g,t,[]):[])),_subjects:F,_proxyFormState:A,get _fields(){return y},get _formValues(){return h},get _stateFlags(){return p},set _stateFlags(e){p=e},get _defaultValues(){return g},get _names(){return _},set _names(e){_=e},get _formState(){return i},set _formState(e){i=e},get _options(){return n},set _options(e){n={...n,...e}}},trigger:G,register:Z,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=X(h);F.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await B();i.errors=e,a=t}else await T(y);j(i.errors)&&Object.keys(i.errors).every(e=>d(a,e))?(F.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t({...i.errors},r),n.shouldFocusError&&z(y,e=>d(i.errors,e),_.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,F.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:j(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>L(e)?F.watch.subscribe({next:r=>e(q(void 0,t),r)}):q(e,t,!0),setValue:P,getValues:J,reset:(t,r={})=>{const s=t||g,a=X(s),n=t&&!j(t)?a:g;r.keepDefaultValues||(g=s),r.keepValues||(h=e.shouldUnregister?r.keepDefaultValues?X(g):{}:a,y={},F.array.next({values:n}),F.watch.next({values:n})),_={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},p.mount=!A.isValid,p.watch=!!e.shouldUnregister,F.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])=>({...e,[t]:r!==d(g,t)}),{}):{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},resetField:(e,t={})=>{d(y,e)&&(c(t.defaultValue)?P(e,d(g,e)):(P(e,t.defaultValue),H(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),A.isValid&&k()),F.state.next({...i}))},clearErrors:e=>{e?O(e).forEach(e=>he(i.errors,e)):i.errors={},F.state.next({errors:i.errors})},unregister:Y,setError:(e,t,r)=>{const s=(d(y,e,{_f:{}})._f||{}).ref;H(i.errors,e,{...t,ref:s}),F.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:(e,t={})=>{const r=d(y,e)._f,s=r.refs?r.refs[0]:r.ref;t.shouldSelect?s.select():s.focus()},getFieldState:Q}}exports.Controller=e=>e.render(W(e)),exports.FormProvider=e=>{const{children:r,...s}=e;return t.default.createElement(k.Provider,{value:s},e.children)},exports.appendErrors=$,exports.get=d,exports.join=function(e,t){return`${e}.${t}`},exports.of=function(e){return e},exports.set=H,exports.useController=W,exports.useFieldArray=function(e){const r=D(),{control:s=r.control,name:a,shouldUnregister:n}=e,[i,u]=t.default.useState(s._getFieldArray(a)),o=t.default.useRef(s._getFieldArray(a).map(G)),l=t.default.useRef(i),c=t.default.useRef(a),f=t.default.useRef(!1);c.current=a,l.current=i,s._names.array.add(a),B({callback:t.default.useCallback(({values:e,name:t})=>{if(t===c.current||!t){const t=d(e,c.current,[]);u(t),o.current=t.map(G)}},[]),subject:s._subjects.array});const m=t.default.useCallback(e=>{f.current=!0,s._updateFieldArray(a,e)},[s,a]);return t.default.useEffect(()=>{s._stateFlags.action=!1,K(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()},[i,a,s]),t.default.useEffect(()=>(!d(s._formValues,a)&&s._updateFieldArray(a),()=>{(s._options.shouldUnregister||n)&&s.unregister(a)}),[a,s,n]),{swap:t.default.useCallback((e,t)=>{const r=s._getFieldArray(a);se(r,e,t),se(o.current,e,t),m(r),u(r),s._updateFieldArray(a,r,se,{argA:e,argB:t},!1)},[m,a,s]),move:t.default.useCallback((e,t)=>{const r=s._getFieldArray(a);ee(r,e,t),ee(o.current,e,t),m(r),u(r),s._updateFieldArray(a,r,ee,{argA:e,argB:t},!1)},[m,a,s]),prepend:t.default.useCallback((e,t)=>{const r=O(X(e)),n=te(s._getFieldArray(a),r);s._names.focus=J(a,0,t),o.current=te(o.current,r.map(G)),m(n),u(n),s._updateFieldArray(a,n,te,{argA:Y(e)})},[m,a,s]),append:t.default.useCallback((e,t)=>{const r=O(X(e)),n=Q(s._getFieldArray(a),r);s._names.focus=J(a,n.length-1,t),o.current=Q(o.current,r.map(G)),m(n),u(n),s._updateFieldArray(a,n,Q,{argA:Y(e)})},[m,a,s]),remove:t.default.useCallback(e=>{const t=re(s._getFieldArray(a),e);o.current=re(o.current,e),m(t),u(t),s._updateFieldArray(a,t,re,{argA:e})},[m,a,s]),insert:t.default.useCallback((e,t,r)=>{const n=O(X(t)),i=Z(s._getFieldArray(a),e,n);s._names.focus=J(a,e,r),o.current=Z(o.current,e,n.map(G)),m(i),u(i),s._updateFieldArray(a,i,Z,{argA:e,argB:Y(t)})},[m,a,s]),update:t.default.useCallback((e,t)=>{const r=X(t),n=ae(s._getFieldArray(a),e,t);o.current=[...n].map((t,r)=>t&&r!==e?o.current[r]:G()),m(n),u([...n]),s._updateFieldArray(a,n,ae,{argA:e,argB:r},!0,!1)},[m,a,s]),replace:t.default.useCallback(e=>{const t=O(X(e));o.current=t.map(G),m([...t]),u([...t]),s._updateFieldArray(a,[...t],e=>e,{},!0,!1)},[m,a,s]),fields:t.default.useMemo(()=>i.map((e,t)=>({...e,id:o.current[t]||G()})),[i])}},exports.useForm=function(e={}){const r=t.default.useRef(),[s,a]=t.default.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={...Be(e),formState:s};const n=r.current.control,i=t.default.useCallback(e=>{E(e,n._proxyFormState,!0)&&(n._formState={...n._formState,...e},a({...n._formState}))},[n]);return B({subject:n._subjects.state,callback:i}),t.default.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=C(s,n._proxyFormState),r.current},exports.useFormContext=D,exports.useFormState=T,exports.useWatch=q;
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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=>Array.isArray(e)?e.filter(Boolean):[],c=e=>void 0===e,d=(e,t,r)=>{if(!t||!i(e))return r;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",m="focusout",y="change",g="onBlur",h="onChange",p="onSubmit",_="onTouched",v="all",b="max",x="min",A="maxLength",F="minLength",V="pattern",S="required",w="validate",k=t.default.createContext(null),D=()=>t.default.useContext(k);var C=(e,t,r,s=!0)=>{const a={};for(const n in e)Object.defineProperty(a,n,{get:()=>{const a=n;return t[a]!==v&&(t[a]=!s||v),r&&(r[a]=!0),e[a]}});return a},j=e=>i(e)&&!Object.keys(e).length,E=(e,t,r)=>{const{name:s,...a}=e;return j(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(e=>t[e]===(!r||v))},O=e=>Array.isArray(e)?e:[e],U=(e,t,r)=>r&&t?e===t:!e||!t||e===t||O(e).some(e=>e&&(e.startsWith(t)||t.startsWith(e)));function B(e){const r=t.default.useRef(e);r.current=e,t.default.useEffect(()=>{const t=!e.disabled&&r.current.subject.subscribe({next:r.current.callback});return()=>(e=>{e&&e.unsubscribe()})(t)},[e.disabled])}function M(e){const r=D(),{control:s=r.control,disabled:a,name:n,exact:i}=e||{},[o,u]=t.default.useState(s._formState),l=t.default.useRef({isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=t.default.useRef(n),d=t.default.useRef(!0);c.current=n;return B({disabled:a,callback:t.default.useCallback(e=>d.current&&U(c.current,e.name,i)&&E(e,l.current)&&u({...s._formState,...e}),[s,i]),subject:s._subjects.state}),t.default.useEffect(()=>(d.current=!0,()=>{d.current=!1}),[]),C(o,s._proxyFormState,l.current,!1)}var N=e=>"string"==typeof e,T=(e,t,r,s)=>{const a=Array.isArray(e);return N(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)},L=e=>"function"==typeof e,R=e=>{for(const t in e)if(L(e[t]))return!0;return!1};function q(e){const r=D(),{control:s=r.control,name:a,defaultValue:n,disabled:o,exact:u}=e||{},l=t.default.useRef(a);l.current=a;const d=t.default.useCallback(e=>{if(U(l.current,e.name,u)){const t=T(l.current,s._names,e.values||s._formValues);m(c(l.current)||i(t)&&!R(t)?{...t}:Array.isArray(t)?[...t]:c(t)?n:t)}},[s,u,n]);B({disabled:o,subject:s._subjects.watch,callback:d});const[f,m]=t.default.useState(c(n)?s._getWatch(a):n);return t.default.useEffect(()=>{s._removeUnmounted()}),f}function W(e){const r=D(),{name:s,control:a=r.control,shouldUnregister:n}=e,i=u(a._names.array,s),l=q({control:a,name:s,defaultValue:d(a._formValues,s,d(a._defaultValues,s,e.defaultValue)),exact:!0}),c=M({control:a,name:s}),m=t.default.useRef(a.register(s,{...e.rules,value:l}));return t.default.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):e(s,!1)}},[s,a,i,n]),{field:{name:s,value:l,onChange:t.default.useCallback(e=>{m.current.onChange({target:{value:o(e),name:s},type:y})},[s]),onBlur:t.default.useCallback(()=>{m.current.onBlur({target:{value:d(a._formValues,s),name:s},type:f})},[s,a]),ref:t.default.useCallback(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()})},[s,a._fields])},formState:c,fieldState:a.getFieldState(s,c)}}var $=(e,t,r,s,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:a||!0}}:{};var P=e=>/^\w*$/.test(e),I=e=>l(e.replace(/["|']|\]/g,"").split(/\.|\[/));function H(e,t,r){let s=-1;const a=P(t)?[t]:I(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{_f:e,...s}=r;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=()=>{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)})},J=(e,t,r={})=>r.shouldFocus||c(r.shouldFocus)?r.focusName||`${e}.${c(r.focusIndex)?t:r.focusIndex}.`:"",K=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),Q=(e,t,r)=>{const s=l(d(e,r));return H(s,"root",t[r]),H(e,r,s),e},X=e=>"boolean"==typeof e,Y=e=>"file"===e.type,Z=e=>N(e)||t.default.isValidElement(e),ee=e=>"radio"===e.type,te=e=>e instanceof RegExp;const re={value:!1,isValid:!1},se={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?se:{value:e[0].value,isValid:!0}:se:re}return re};const ne={isValid:!1,value:null};var ie=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,ne):ne;function oe(e,t,r="validate"){if(Z(e)||Array.isArray(e)&&e.every(Z)||X(e)&&!e)return{type:r,message:Z(e)?e:"",ref:t}}var ue=e=>i(e)&&!te(e)?e:{value:e,message:""},le=async(e,t,s,n,o)=>{const{ref:u,refs:l,required:c,maxLength:d,minLength:f,min:m,max:y,pattern:g,validate:h,name:p,valueAsNumber:_,mount:v,disabled:k}=e._f;if(!v||k)return{};const D=l?l[0]:u,C=e=>{n&&D.reportValidity&&(D.setCustomValidity(X(e)?"":e||" "),D.reportValidity())},E={},O=ee(u),U=r(u),B=O||U,M=(_||Y(u))&&!u.value||""===t||Array.isArray(t)&&!t.length,T=$.bind(null,p,s,E),R=(e,t,r,s=A,a=F)=>{const n=e?t:r;E[p]={type:e?s:a,message:n,ref:u,...T(e?s:a,n)}};if(c&&(!B&&(M||a(t))||X(t)&&!t||U&&!ae(l).isValid||O&&!ie(l).isValid)){const{value:e,message:t}=Z(c)?{value:!!c,message:c}:ue(c);if(e&&(E[p]={type:S,message:t,ref:D,...T(S,t)},!s))return C(t),E}if(!(M||a(m)&&a(y))){let e,r;const n=ue(y),i=ue(m);if(isNaN(t)){const s=u.valueAsDate||new Date(t);N(n.value)&&(e=s>new Date(n.value)),N(i.value)&&(r=s<new Date(i.value))}else{const s=u.valueAsNumber||+t;a(n.value)||(e=s>n.value),a(i.value)||(r=s<i.value)}if((e||r)&&(R(!!e,n.message,i.message,b,x),!s))return C(E[p].message),E}if((d||f)&&(!M&&N(t)||o&&Array.isArray(t))){const e=ue(d),r=ue(f),n=!a(e.value)&&t.length>e.value,i=!a(r.value)&&t.length<r.value;if((n||i)&&(R(n,e.message,r.message),!s))return C(E[p].message),E}if(g&&!M&&N(t)){const{value:e,message:r}=ue(g);if(te(e)&&!t.match(e)&&(E[p]={type:V,message:r,ref:u,...T(V,r)},!s))return C(r),E}if(h)if(L(h)){const e=oe(await h(t),D);if(e&&(E[p]={...e,...T(w,e.message)},!s))return C(e.message),E}else if(i(h)){let e={};for(const r in h){if(!j(e)&&!s)break;const a=oe(await h[r](t),D,r);a&&(e={...a,...T(r,a.message)},C(a.message),s&&(E[p]=e))}if(!j(e)&&(E[p]={ref:D,...e},!s))return E}return C(!0),E};function ce(e,t){return[...e,...O(t)]}function de(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(L(e[r])){t=e;break}t[r]=de(e[r])}}return t}var fe=e=>Array.isArray(e)?e.map(()=>{}):void 0,me=e=>({isOnSubmit:!e||e===p,isOnBlur:e===g,isOnChange:e===h,isOnAll:e===v,isOnTouch:e===_});function ye(e,t,r){return[...e.slice(0,t),...O(r),...e.slice(t)]}var ge=(e,t,r)=>Array.isArray(e)?(c(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[];function he(e,t){return[...O(t),...O(e)]}var pe=(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,O(t).sort((e,t)=>e-t)),_e=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]},ve=(e,t,r)=>(e[t]=r,e);function be(){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 xe=e=>a(e)||!n(e);function Ae(e,t){if(xe(e)||xe(t))return e===t;if(s(e)&&s(t))return e.getTime()===t.getTime();const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(const n of r){const r=e[n];if(!a.includes(n))return!1;if("ref"!==n){const e=t[n];if(s(r)&&s(e)||i(r)&&i(e)||Array.isArray(r)&&Array.isArray(e)?!Ae(r,e):r!==e)return!1}}return!0}var Fe=e=>e instanceof HTMLElement,Ve=e=>"select-multiple"===e.type,Se="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document,we=e=>Fe(e)&&e.isConnected;function ke(e){for(const t in e)if(!c(e[t]))return!1;return!0}function De(e,t){const r=P(t)?[t]:I(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)&&j(s)||Array.isArray(s)&&ke(s))&&(n?delete n[t]:delete e[t]),n=s}}return e}function Ce(e,t={}){const r=Array.isArray(e);if(i(e)||r)for(const r in e)Array.isArray(e[r])||i(e[r])&&!R(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Ce(e[r],t[r])):a(e[r])||(t[r]=!0);return t}var je=(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])&&!R(t[n])?c(r)||xe(s[n])?s[n]=Array.isArray(t[n])?Ce(t[n],[]):{...Ce(t[n])}:e(t[n],a(r)?{}:r[n],s[n]):s[n]=!Ae(t[n],r[n]);return s}(e,t,Ce(t)),Ee=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>c(e)?e:t?""===e?NaN:+e:r&&N(e)?new Date(e):s?s(e):e;function Oe(e){const t=e.ref;if(!(e.refs?e.refs.every(e=>e.disabled):t.disabled))return Y(t)?t.files:ee(t)?ie(e.refs).value:Ve(t)?[...t.selectedOptions].map(({value:e})=>e):r(t)?ae(e.refs).value:Ee(c(t.value)?e.ref.value:t.value,e)}var Ue=e=>c(e)?void 0:te(e)?e.source:i(e)?te(e.value)?e.value.source:e.value:e;function Be(e,t,r){const s=d(e,r);if(s||P(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}}const Me={mode:p,reValidateMode:h,shouldFocusError:!0};function Ne(e={}){let t,n={...Me,...e},i={isDirty:!1,isValidating:!1,dirtyFields:{},isSubmitted:!1,submitCount:0,touchedFields:{},isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,errors:{}},y={},g=de(n.defaultValues)||{},h=n.shouldUnregister?{}:de(g),p={action:!1,mount:!1,watch:!1},_={mount:new Set,unMount:new Set,array:new Set,watch:new Set},b=0,x={};const A={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={watch:be(),array:be(),state:be()},V=me(n.mode),S=me(n.reValidateMode),w=n.criteriaMode===v,k=async e=>{let t=!1;return A.isValid&&(t=n.resolver?j((await B()).errors):await M(y,!0),e||t===i.isValid||(i.isValid=t,F.state.next({isValid:t}))),t},D=(e,t)=>(H(i.errors,e,t),F.state.next({errors:i.errors})),C=(e,t,r,s)=>{const a=d(y,e);if(a){const n=d(h,e,c(r)?d(g,e):r);c(n)||s&&s.defaultChecked||t?H(h,e,t?n:Oe(a._f)):W(e,n),p.mount&&k()}},E=(e,t,r,s,a)=>{let n=!1;const o={name:e},u=d(i.touchedFields,e);if(A.isDirty){const e=i.isDirty;i.isDirty=o.isDirty=R(),n=e!==o.isDirty}if(A.dirtyFields&&(!r||s)){const r=d(i.dirtyFields,e);Ae(d(g,e),t)?De(i.dirtyFields,e):H(i.dirtyFields,e,!0),o.dirtyFields=i.dirtyFields,n=n||r!==d(i.dirtyFields,e)}return r&&!u&&(H(i.touchedFields,e,r),o.touchedFields=i.touchedFields,n=n||A.touchedFields&&u!==r),n&&a&&F.state.next(o),n?o:{}},U=async(r,s,a,n,o)=>{const u=d(i.errors,s),l=A.isValid&&i.isValid!==a;var c,f;if(e.delayError&&n?(t=t||(c=D,f=e.delayError,(...e)=>{clearTimeout(b),b=window.setTimeout(()=>c(...e),f)}),t(s,n)):(clearTimeout(b),n?H(i.errors,s,n):De(i.errors,s)),((n?!Ae(u,n):u)||!j(o)||l)&&!r){const e={...o,...l?{isValid:a}:{},errors:i.errors,name:s};i={...i,...e},F.state.next(e)}x[s]--,A.isValidating&&!Object.values(x).some(e=>e)&&(F.state.next({isValidating:!1}),x={})},B=async e=>n.resolver?await n.resolver({...h},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||_.mount,y,n.criteriaMode,n.shouldUseNativeValidation)):{},M=async(e,t,r={valid:!0})=>{for(const s in e){const a=e[s];if(a){const{_f:e,...s}=a;if(e){const s=_.array.has(e.name),o=await le(a,d(h,e.name),w,n.shouldUseNativeValidation,s);if(o[e.name]&&(r.valid=!1,t))break;t||(d(o,e.name)?s?Q(i.errors,o,e.name):H(i.errors,e.name,o[e.name]):De(i.errors,e.name))}s&&await M(s,t,r)}}return r.valid},R=(e,t)=>(e&&t&&H(h,e,t),!Ae(J(),g)),q=(e,t,r)=>{const s={...p.mount?h:c(t)?g:N(e)?{[e]:t}:t};return T(e,_,s,r)},W=(e,t,s={})=>{const n=d(y,e);let i=t;if(n){const s=n._f;s&&(!s.disabled&&H(h,e,Ee(t,s)),i=Se&&Fe(s.ref)&&a(t)?"":t,Ve(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.disabled&&(e.checked=Array.isArray(i)?!!i.find(t=>t===e.value):i===e.value)):s.refs[0]&&(s.refs[0].checked=!!i):s.refs.forEach(e=>e.checked=e.value===i):Y(s.ref)?s.ref.value="":(s.ref.value=i,s.ref.type||F.watch.next({name:e})))}(s.shouldDirty||s.shouldTouch)&&E(e,i,s.shouldTouch,s.shouldDirty,!0),s.shouldValidate&&G(e)},$=(e,t,r)=>{for(const a in t){const n=t[a],i=`${e}.${a}`,o=d(y,i);!_.array.has(e)&&xe(n)&&(!o||o._f)||s(n)?W(i,n,r):$(i,n,r)}},P=(e,t,r={})=>{const s=d(y,e),n=_.array.has(e),o=de(t);H(h,e,o),n?(F.array.next({name:e,values:h}),(A.isDirty||A.dirtyFields)&&r.shouldDirty&&(i.dirtyFields=je(g,h),F.state.next({name:e,dirtyFields:i.dirtyFields,isDirty:R(e,o)}))):!s||s._f||a(o)?W(e,o,r):$(e,o,r),K(e,_)&&F.state.next({}),F.watch.next({name:e})},I=async e=>{const t=e.target;let r=t.name;const s=d(y,r);if(s){let u,l;const c=t.type?Oe(s._f):o(e),g=e.type===f||e.type===m,p=!((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,S,V),v=K(r,_,g);H(h,r,c),g?s._f.onBlur&&s._f.onBlur(e):s._f.onChange&&s._f.onChange(e);const b=E(r,c,g,!1),A=!j(b)||v;if(!g&&F.watch.next({name:r,type:e.type}),p)return A&&F.state.next({name:r,...v?{}:b});if(!g&&v&&F.state.next({}),x[r]=(x[r],1),F.state.next({isValidating:!0}),n.resolver){const{errors:e}=await B([r]),t=Be(i.errors,y,r),s=Be(e,y,t.name||r);u=s.error,r=s.name,l=j(e)}else u=(await le(s,d(h,r),w,n.shouldUseNativeValidation))[r],l=await k(!0);s._f.deps&&G(s._f.deps),U(!1,r,l,u,b)}var a},G=async(e,t={})=>{let r,s;const a=O(e);if(F.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):De(i.errors,r)}else i.errors=t;return t})(c(e)?e:a);r=j(t),s=e?!a.some(e=>d(t,e)):r}else e?(s=(await Promise.all(a.map(async e=>{const t=d(y,e);return await M(t&&t._f?{[e]:t}:t)}))).every(Boolean),(s||i.isValid)&&k()):s=r=await M(y);return F.state.next({...!N(e)||A.isValid&&r!==i.isValid?{}:{name:e},...n.resolver?{isValid:r}:{},errors:i.errors,isValidating:!1}),t.shouldFocus&&!s&&z(y,e=>d(i.errors,e),e?a:_.mount),s},J=e=>{const t={...g,...p.mount?h:{}};return c(e)?t:N(e)?d(t,e):e.map(e=>d(t,e))},Z=(e,t)=>({invalid:!!d((t||i).errors,e),isDirty:!!d((t||i).dirtyFields,e),isTouched:!!d((t||i).touchedFields,e),error:d((t||i).errors,e)}),te=(e,t={})=>{for(const r of e?O(e):_.mount)_.mount.delete(r),_.array.delete(r),d(y,r)&&(t.keepValue||(De(y,r),De(h,r)),!t.keepError&&De(i.errors,r),!t.keepDirty&&De(i.dirtyFields,r),!t.keepTouched&&De(i.touchedFields,r),!n.shouldUnregister&&!t.keepDefaultValue&&De(g,r));F.watch.next({}),F.state.next({...i,...t.keepDirty?{isDirty:R()}:{}}),A.isValid&&k()},re=(e,t={})=>{let s=d(y,e);const a=X(t.disabled);return H(y,e,{_f:{...s&&s._f?s._f:{ref:{name:e}},name:e,mount:!0,...t}}),_.mount.add(e),s?a&&H(h,e,t.disabled?void 0:d(h,e,Oe(s._f))):C(e,!0,t.value),{...a?{disabled:t.disabled}:{},...n.shouldUseNativeValidation?{required:!!t.required,min:Ue(t.min),max:Ue(t.max),minLength:Ue(t.minLength),maxLength:Ue(t.maxLength),pattern:Ue(t.pattern)}:{},name:e,onChange:I,onBlur:I,ref:a=>{if(a){re(e,t),s=d(y,e);const n=c(a.value)&&a.querySelectorAll&&a.querySelectorAll("input,select,textarea")[0]||a,i=(e=>ee(e)||r(e))(n),o=s._f.refs||[];if(i?o.find(e=>e===n):n===s._f.ref)return;H(y,e,{_f:{...s._f,...i?{refs:[...o.filter(we),n],ref:{type:n.type,name:e}}:{ref:n}}}),C(e,!1,void 0,n)}else s=d(y,e,{}),s._f&&(s._f.mount=!1),(n.shouldUnregister||t.shouldUnregister)&&(!u(_.array,e)||!p.action)&&_.unMount.add(e)}}};return{control:{register:re,unregister:te,getFieldState:Z,_executeSchema:B,_getWatch:q,_getDirty:R,_updateValid:k,_removeUnmounted:()=>{for(const e of _.unMount){const t=d(y,e);t&&(t._f.refs?t._f.refs.every(e=>!we(e)):!we(t._f.ref))&&te(e)}_.unMount=new Set},_updateFieldArray:(e,t=[],r,s,a=!0,n=!0)=>{if(s&&r){if(p.action=!0,n&&Array.isArray(d(y,e))){const t=r(d(y,e),s.argA,s.argB);a&&H(y,e,t)}if(A.errors&&n&&Array.isArray(d(i.errors,e))){const t=r(d(i.errors,e),s.argA,s.argB);a&&H(i.errors,e,t),((e,t)=>{!l(d(e,t)).length&&De(e,t)})(i.errors,e)}if(A.touchedFields&&n&&Array.isArray(d(i.touchedFields,e))){const t=r(d(i.touchedFields,e),s.argA,s.argB);a&&H(i.touchedFields,e,t)}A.dirtyFields&&(i.dirtyFields=je(g,h)),F.state.next({isDirty:R(e,t),dirtyFields:i.dirtyFields,errors:i.errors,isValid:i.isValid})}else H(h,e,t)},_getFieldArray:t=>l(d(p.mount?h:g,t,e.shouldUnregister?d(g,t,[]):[])),_subjects:F,_proxyFormState:A,get _fields(){return y},get _formValues(){return h},get _stateFlags(){return p},set _stateFlags(e){p=e},get _defaultValues(){return g},get _names(){return _},set _names(e){_=e},get _formState(){return i},set _formState(e){i=e},get _options(){return n},set _options(e){n={...n,...e}}},trigger:G,register:re,handleSubmit:(e,t)=>async r=>{r&&(r.preventDefault&&r.preventDefault(),r.persist&&r.persist());let s=!0,a=de(h);F.state.next({isSubmitting:!0});try{if(n.resolver){const{errors:e,values:t}=await B();i.errors=e,a=t}else await M(y);j(i.errors)&&Object.keys(i.errors).every(e=>d(a,e))?(F.state.next({errors:{},isSubmitting:!0}),await e(a,r)):(t&&await t({...i.errors},r),n.shouldFocusError&&z(y,e=>d(i.errors,e),_.mount))}catch(e){throw s=!1,e}finally{i.isSubmitted=!0,F.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:j(i.errors)&&s,submitCount:i.submitCount+1,errors:i.errors})}},watch:(e,t)=>L(e)?F.watch.subscribe({next:r=>e(q(void 0,t),r)}):q(e,t,!0),setValue:P,getValues:J,reset:(t,r={})=>{const s=t||g,a=de(s),n=t&&!j(t)?a:g;r.keepDefaultValues||(g=s),r.keepValues||(h=e.shouldUnregister?r.keepDefaultValues?de(g):{}:a,y={},F.array.next({values:n}),F.watch.next({values:n})),_={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},p.mount=!A.isValid,p.watch=!!e.shouldUnregister,F.state.next({submitCount:r.keepSubmitCount?i.submitCount:0,isDirty:r.keepDirty?i.isDirty:!!r.keepDefaultValues&&!Ae(t,g),isSubmitted:!!r.keepIsSubmitted&&i.isSubmitted,dirtyFields:r.keepDirty?i.dirtyFields:r.keepDefaultValues&&t?Object.entries(t).reduce((e,[t,r])=>({...e,[t]:r!==d(g,t)}),{}):{},touchedFields:r.keepTouched?i.touchedFields:{},errors:r.keepErrors?i.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},resetField:(e,t={})=>{d(y,e)&&(c(t.defaultValue)?P(e,d(g,e)):(P(e,t.defaultValue),H(g,e,t.defaultValue)),t.keepTouched||De(i.touchedFields,e),t.keepDirty||(De(i.dirtyFields,e),i.isDirty=t.defaultValue?R(e,d(g,e)):R()),t.keepError||(De(i.errors,e),A.isValid&&k()),F.state.next({...i}))},clearErrors:e=>{e?O(e).forEach(e=>De(i.errors,e)):i.errors={},F.state.next({errors:i.errors})},unregister:te,setError:(e,t,r)=>{const s=(d(y,e,{_f:{}})._f||{}).ref;H(i.errors,e,{...t,ref:s}),F.state.next({name:e,errors:i.errors,isValid:!1}),r&&r.shouldFocus&&s&&s.focus&&s.focus()},setFocus:(e,t={})=>{const r=d(y,e)._f,s=r.refs?r.refs[0]:r.ref;t.shouldSelect?s.select():s.focus()},getFieldState:Z}}exports.Controller=e=>e.render(W(e)),exports.FormProvider=e=>{const{children:r,...s}=e;return t.default.createElement(k.Provider,{value:s},e.children)},exports.appendErrors=$,exports.get=d,exports.join=function(e,t){return`${e}.${t}`},exports.of=function(e){return e},exports.set=H,exports.useController=W,exports.useFieldArray=function(e){const r=D(),{control:s=r.control,name:a,shouldUnregister:n}=e,[i,o]=t.default.useState(s._getFieldArray(a)),u=t.default.useRef(s._getFieldArray(a).map(G)),l=t.default.useRef(i),c=t.default.useRef(a),f=t.default.useRef(!1);c.current=a,l.current=i,s._names.array.add(a),e.rules&&s.register(a,e.rules),B({callback:t.default.useCallback(({values:e,name:t})=>{if(t===c.current||!t){const t=d(e,c.current,[]);o(t),u.current=t.map(G)}},[]),subject:s._subjects.array});const m=t.default.useCallback(e=>{f.current=!0,s._updateFieldArray(a,e)},[s,a]);return t.default.useEffect(()=>{if(s._stateFlags.action=!1,K(a,s._names)&&s._subjects.state.next({}),f.current)if(s._options.resolver)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}))});else{const e=d(s._fields,a);(!me(s._options.mode).isOnSubmit||s._formState.isSubmitted)&&e&&e._f&&le(e,d(s._formValues,a),s._options.criteriaMode===v,s._options.shouldUseNativeValidation,!0).then(e=>{j(e)||s._subjects.state.next({errors:Q(s._formState.errors,e,a)})})}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()},[i,a,s]),t.default.useEffect(()=>(!d(s._formValues,a)&&s._updateFieldArray(a),()=>{(s._options.shouldUnregister||n)&&s.unregister(a)}),[a,s,n]),{swap:t.default.useCallback((e,t)=>{const r=s._getFieldArray(a);_e(r,e,t),_e(u.current,e,t),m(r),o(r),s._updateFieldArray(a,r,_e,{argA:e,argB:t},!1)},[m,a,s]),move:t.default.useCallback((e,t)=>{const r=s._getFieldArray(a);ge(r,e,t),ge(u.current,e,t),m(r),o(r),s._updateFieldArray(a,r,ge,{argA:e,argB:t},!1)},[m,a,s]),prepend:t.default.useCallback((e,t)=>{const r=O(de(e)),n=he(s._getFieldArray(a),r);s._names.focus=J(a,0,t),u.current=he(u.current,r.map(G)),m(n),o(n),s._updateFieldArray(a,n,he,{argA:fe(e)})},[m,a,s]),append:t.default.useCallback((e,t)=>{const r=O(de(e)),n=ce(s._getFieldArray(a),r);s._names.focus=J(a,n.length-1,t),u.current=ce(u.current,r.map(G)),m(n),o(n),s._updateFieldArray(a,n,ce,{argA:fe(e)})},[m,a,s]),remove:t.default.useCallback(e=>{const t=pe(s._getFieldArray(a),e);u.current=pe(u.current,e),m(t),o(t),s._updateFieldArray(a,t,pe,{argA:e})},[m,a,s]),insert:t.default.useCallback((e,t,r)=>{const n=O(de(t)),i=ye(s._getFieldArray(a),e,n);s._names.focus=J(a,e,r),u.current=ye(u.current,e,n.map(G)),m(i),o(i),s._updateFieldArray(a,i,ye,{argA:e,argB:fe(t)})},[m,a,s]),update:t.default.useCallback((e,t)=>{const r=de(t),n=ve(s._getFieldArray(a),e,t);u.current=[...n].map((t,r)=>t&&r!==e?u.current[r]:G()),m(n),o([...n]),s._updateFieldArray(a,n,ve,{argA:e,argB:r},!0,!1)},[m,a,s]),replace:t.default.useCallback(e=>{const t=O(de(e));u.current=t.map(G),m([...t]),o([...t]),s._updateFieldArray(a,[...t],e=>e,{},!0,!1)},[m,a,s]),fields:t.default.useMemo(()=>i.map((e,t)=>({...e,id:u.current[t]||G()})),[i])}},exports.useForm=function(e={}){const r=t.default.useRef(),[s,a]=t.default.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={...Ne(e),formState:s};const n=r.current.control,i=t.default.useCallback(e=>{E(e,n._proxyFormState,!0)&&(n._formState={...n._formState,...e},a({...n._formState}))},[n]);return B({subject:n._subjects.state,callback:i}),t.default.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=C(s,n._proxyFormState),r.current},exports.useFormContext=D,exports.useFormState=M,exports.useWatch=q;
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|