3 lines
30 KiB
JavaScript
3 lines
30 KiB
JavaScript
|
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactHookForm={},e.React)}(this,function(e,t){"use strict";var r=e=>"checkbox"===e.type,s=e=>e instanceof Date,a=e=>null==e;const i=e=>"object"==typeof e;var n=e=>!a(e)&&!Array.isArray(e)&&i(e)&&!s(e),o=e=>n(e)&&e.target?r(e.target)?e.target.checked:e.target.value:e,l=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),u="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function d(e){let t;const r=Array.isArray(e),s="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else{if(u&&(e instanceof Blob||s)||!r&&!n(e))return e;if(t=r?[]:Object.create(Object.getPrototypeOf(e)),r||(e=>{const t=e.constructor&&e.constructor.prototype;return n(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=d(e[r]));else t=e}return t}var c=e=>/^\w*$/.test(e),f=e=>void 0===e,m=e=>Array.isArray(e)?e.filter(Boolean):[],y=e=>m(e.replace(/["|']|\]/g,"").split(/\.|\[/)),g=(e,t,r)=>{if(!t||!n(e))return r;const s=(c(t)?[t]:y(t)).reduce((e,t)=>a(e)?e:e[t],e);return f(s)||s===e?f(e[t])?r:e[t]:s},_=e=>"boolean"==typeof e,b=(e,t,r)=>{let s=-1;const a=c(t)?[t]:y(t),i=a.length,o=i-1;for(;++s<i;){const t=a[s];let i=r;if(s!==o){const r=e[t];i=n(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=i,e=e[t]}};const p="blur",h="focusout",v="change",V="onBlur",F="onChange",A="onSubmit",x="onTouched",S="all",w="max",k="min",D="maxLength",C="minLength",E="pattern",O="required",j="validate",M=t.createContext(null);M.displayName="HookFormContext";const T=()=>t.useContext(M);var R=(e,t,r,s=!0)=>{const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:()=>{const a=i;return t._proxyFormState[a]!==S&&(t._proxyFormState[a]=!s||S),r&&(r[a]=!0),e[a]}});return a};const U="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;function N(e){const r=T(),{control:s=r.control,disabled:a,name:i,exact:n}=e||{},[o,l]=t.useState(s._formState),u=t.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return U(()=>s._subscribe({name:i,formState:u.current,exact:n,callback:e=>{!a&&l({...s._formState,...e})}}),[i,a,n]),t.useEffect(()=>{u.current.isValid&&s._setValid(!0)},[s]),t.useMemo(()=>R(o,s,u.current,!1),[o,s])}var B=e=>"string"==typeof e,L=(e,t,r,s,a)=>B(e)?(s&&t.watch.add(e),g(r,e,a)):Array.isArray(e)?e.map(e=>(s&&t.watch.add(e),g(r,e))):(s&&(t.watchAll=!0),r),P=e=>a(e)||!i(e);function I(e,t,r=new WeakSet){if(P(e)||P(t))return e===t;if(s(e)&&s(t))return e.getTime()===t.getTime();const a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const o of a){const a=e[o];if(!i.includes(o))return!1;if("ref"!==o){const e=t[o];if(s(a)&&s(e)||n(a)&&n(e)||Array.isArray(a)&&Array.isArray(e)?!I(a,e,r):a!==e)return!1}}return!0}function W(e){const r=T(),{control:s=r.control,name:a,defaultValue:i,disabled:n,exact:o,compute:l}=e||{},u=t.useRef(i),d=t.useRef(l),c=t.useRef(void 0);d.current=l;const f=t.useMemo(()=>s._getWatch(a,u.current),[s,a]),[m,y]=t.useState(d.current?d.current(f):f);return U(()=>s._subscribe({name:a,formState:{values:!0},exact:o,callback:e=>{if(!n){const t=L(a,s._names,e.values||s._formValues,!1,u.current);if(d.current){const e=d.current(t);I(e,c.current)||(y(e),c.current=e)}else y(t)}}}),[s,n,a,o]),t.useEffect(()=>s._removeUnmounted()),m}function q(e){const r=T(),{name:s,disabled:a,control:i=r.control,shouldUnregister:n,defaultValue:u}=e,c=l(i._names.array,s),m=t.useMemo(()=>g(i._formValues,s,g(i._defaultValues,s,u)),[i,s,u]),y=W({control:i,name:s,defaultValue:m,exact:!0}),h=N({control:i,name:s,exact:!0}),V=t.useRef(e),F=t.useRef(void 0),A=t.useRef(i.register(s,{...e.rules,value:y,..._(e.disabled)?{disabled:e.disabled}:{}}));
|
||
|
|
//# sourceMappingURL=index.umd.js.map
|