@scbt-ecom/ui 0.104.1 → 0.104.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/lib/exports/ui.js +1 -1
- package/dist/lib/shared/style.css +1 -1
- package/dist/lib/shared/ui/button/model/helpers.js +1 -1
- package/dist/lib/shared/ui/button/model/helpers.js.map +1 -1
- package/dist/lib/shared/ui/customLink/model/helpers.js +1 -1
- package/dist/lib/shared/ui/customLink/model/helpers.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/hooks/model/scrollTo.js +1 -1
- package/dist/lib/shared/ui/dropdownList/hooks/model/scrollTo.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/index.js +1 -1
- package/dist/lib/shared/ui/dropdownList/ui/Empty.js +2 -0
- package/dist/lib/shared/ui/dropdownList/ui/Empty.js.map +1 -0
- package/dist/lib/shared/ui/dropdownList/ui/index.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/index.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useKeyboardNavigation.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useKeyboardNavigation.js.map +1 -0
- package/dist/lib/shared/ui/index.js +1 -1
- package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/stepper/ui/SingleStep.js +1 -1
- package/dist/lib/widgets/stepper/ui/SingleStep.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/RenderEntity.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/RenderEntity.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/Tabs.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/Tabs.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.js.map +1 -1
- package/dist/node_modules/@date-fns/tz/date/index.js +1 -1
- package/dist/node_modules/@date-fns/tz/date/index.js.map +1 -1
- package/dist/node_modules/@date-fns/tz/tzName/index.js +2 -0
- package/dist/node_modules/@date-fns/tz/tzName/index.js.map +1 -0
- package/dist/node_modules/@date-fns/tz/tzOffset/index.js +1 -1
- package/dist/node_modules/@date-fns/tz/tzOffset/index.js.map +1 -1
- package/dist/node_modules/react-hook-form/dist/index.esm.js +1 -1
- package/dist/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/button/model/helpers.d.ts +1 -1
- package/dist/types/lib/shared/ui/dropdownList/DropdownList.d.ts +8 -1
- package/dist/types/lib/shared/ui/dropdownList/hooks/model/scrollTo.d.ts +2 -2
- package/dist/types/lib/shared/ui/dropdownList/ui/Empty.d.ts +4 -0
- package/dist/types/lib/shared/ui/dropdownList/ui/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.d.ts +7 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/combobox.d.ts +1 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/hooks/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useKeyboardNavigation.d.ts +6 -0
- package/dist/types/lib/shared/ui/loader/model/helpers.d.ts +1 -1
- package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.d.ts +1 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import V from"react";var ye=e=>e.type==="checkbox",ie=e=>e instanceof Date,I=e=>e==null;const at=e=>typeof e=="object";var T=e=>!I(e)&&!Array.isArray(e)&&at(e)&&!ie(e),lt=e=>T(e)&&e.target?ye(e.target)?e.target.checked:e.target.value:e,kt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ut=(e,s)=>e.has(kt(s)),Et=e=>{const s=e.constructor&&e.constructor.prototype;return T(s)&&s.hasOwnProperty("isPrototypeOf")},Re=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function O(e){let s;const t=Array.isArray(e),a=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(!(Re&&(e instanceof Blob||a))&&(t||T(e)))if(s=t?[]:{},!t&&!Et(e))s=e;else for(const l in e)e.hasOwnProperty(l)&&(s[l]=O(e[l]));else return e;return s}var Fe=e=>/^\w*$/.test(e),L=e=>e===void 0,Le=e=>Array.isArray(e)?e.filter(Boolean):[],Te=e=>Le(e.replace(/["|']|\]/g,"").split(/\.|\[/)),y=(e,s,t)=>{if(!s||!T(e))return t;const a=(Fe(s)?[s]:Te(s)).reduce((l,n)=>I(l)?l:l[n],e);return L(a)||a===e?L(e[s])?t:e[s]:a},p=e=>typeof e=="boolean",D=(e,s,t)=>{let a=-1;const l=Fe(s)?[s]:Te(s),n=l.length,c=n-1;for(;++a<n;){const d=l[a];let E=t;if(a!==c){const S=e[d];E=T(S)||Array.isArray(S)?S:isNaN(+l[a+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=E,e=e[d]}};const _e={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},G={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Z={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Me=V.createContext(null);Me.displayName="HookFormContext";const Oe=()=>V.useContext(Me),zt=e=>{const{children:s,...t}=e;return V.createElement(Me.Provider,{value:t},s)};var nt=(e,s,t,a=!0)=>{const l={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(l,n,{get:()=>{const c=n;return s._proxyFormState[c]!==G.all&&(s._proxyFormState[c]=!a||G.all),t&&(t[c]=!0),e[c]}});return l};const Ue=typeof window<"u"?V.useLayoutEffect:V.useEffect;function St(e){const s=Oe(),{control:t=s.control,disabled:a,name:l,exact:n}=e||{},[c,d]=V.useState(t._formState),E=V.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ue(()=>t._subscribe({name:l,formState:E.current,exact:n,callback:S=>{!a&&d({...t._formState,...S})}}),[l,a,n]),V.useEffect(()=>{E.current.isValid&&t._setValid(!0)},[t]),V.useMemo(()=>nt(c,t,E.current,!1),[c,t])}var X=e=>typeof e=="string",ot=(e,s,t,a,l)=>X(e)?(a&&s.watch.add(e),y(t,e,l)):Array.isArray(e)?e.map(n=>(a&&s.watch.add(n),y(t,n))):(a&&(s.watchAll=!0),t),Ce=e=>I(e)||!at(e);function j(e,s,t=new WeakSet){if(Ce(e)||Ce(s))return e===s;if(ie(e)&&ie(s))return e.getTime()===s.getTime();const a=Object.keys(e),l=Object.keys(s);if(a.length!==l.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const n of a){const c=e[n];if(!l.includes(n))return!1;if(n!=="ref"){const d=s[n];if(ie(c)&&ie(d)||T(c)&&T(d)||Array.isArray(c)&&Array.isArray(d)?!j(c,d,t):c!==d)return!1}}return!0}function Ct(e){const s=Oe(),{control:t=s.control,name:a,defaultValue:l,disabled:n,exact:c,compute:d}=e||{},E=V.useRef(l),S=V.useRef(d),b=V.useRef(void 0);S.current=d;const A=V.useMemo(()=>t._getWatch(a,E.current),[t,a]),[_,K]=V.useState(S.current?S.current(A):A);return Ue(()=>t._subscribe({name:a,formState:{values:!0},exact:c,callback:H=>{if(!n){const k=ot(a,t._names,H.values||t._formValues,!1,E.current);if(S.current){const N=S.current(k);j(N,b.current)||(K(N),b.current=N)}else K(k)}}}),[t,n,a,c]),V.useEffect(()=>t._removeUnmounted()),_}function Gt(e){const s=Oe(),{name:t,disabled:a,control:l=s.control,shouldUnregister:n,defaultValue:c}=e,d=ut(l._names.array,t),E=V.useMemo(()=>y(l._formValues,t,y(l._defaultValues,t,c)),[l,t,c]),S=Ct({control:l,name:t,defaultValue:E,exact:!0}),b=St({control:l,name:t,exact:!0}),A=V.useRef(e),_=V.useRef(l.register(t,{...e.rules,value:S,...p(e.disabled)?{disabled:e.disabled}:{}}));A.current=e;const K=V.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!y(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!y(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!y(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!y(b.validatingFields,t)},error:{enumerable:!0,get:()=>y(b.errors,t)}}),[b,t]),H=V.useCallback(v=>_.current.onChange({target:{value:lt(v),name:t},type:_e.CHANGE}),[t]),k=V.useCallback(()=>_.current.onBlur({target:{value:y(l._formValues,t),name:t},type:_e.BLUR}),[t,l._formValues]),N=V.useCallback(v=>{const B=y(l._fields,t);B&&v&&(B._f.ref={focus:()=>v.focus&&v.focus(),select:()=>v.select&&v.select(),setCustomValidity:U=>v.setCustomValidity(U),reportValidity:()=>v.reportValidity()})},[l._fields,t]),ae=V.useMemo(()=>({name:t,value:S,...p(a)||b.disabled?{disabled:b.disabled||a}:{},onChange:H,onBlur:k,ref:N}),[t,a,b.disabled,H,k,N,S]);return V.useEffect(()=>{const v=l._options.shouldUnregister||n;l.register(t,{...A.current.rules,...p(A.current.disabled)?{disabled:A.current.disabled}:{}});const B=(U,C)=>{const ee=y(l._fields,U);ee&&ee._f&&(ee._f.mount=C)};if(B(t,!0),v){const U=O(y(l._options.defaultValues,t));D(l._defaultValues,t,U),L(y(l._formValues,t))&&D(l._formValues,t,U)}return!d&&l.register(t),()=>{(d?v&&!l._state.action:v)?l.unregister(t):B(t,!1)}},[t,l,d,n]),V.useEffect(()=>{l._setDisabledField({disabled:a,name:t})},[a,t,l]),V.useMemo(()=>({field:ae,formState:b,fieldState:K}),[ae,b,K])}var Rt=(e,s,t,a,l)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[a]:l||!0}}:{},de=e=>Array.isArray(e)?e:[e],Ye=()=>{let e=[];return{get observers(){return e},next:l=>{for(const n of e)n.next&&n.next(l)},subscribe:l=>(e.push(l),{unsubscribe:()=>{e=e.filter(n=>n!==l)}}),unsubscribe:()=>{e=[]}}},q=e=>T(e)&&!Object.keys(e).length,Ne=e=>e.type==="file",Y=e=>typeof e=="function",be=e=>{if(!Re)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},ft=e=>e.type==="select-multiple",Be=e=>e.type==="radio",Lt=e=>Be(e)||ye(e),Se=e=>be(e)&&e.isConnected;function Tt(e,s){const t=s.slice(0,-1).length;let a=0;for(;a<t;)e=L(e)?a++:e[s[a++]];return e}function Mt(e){for(const s in e)if(e.hasOwnProperty(s)&&!L(e[s]))return!1;return!0}function M(e,s){const t=Array.isArray(s)?s:Fe(s)?[s]:Te(s),a=t.length===1?e:Tt(e,t),l=t.length-1,n=t[l];return a&&delete a[n],l!==0&&(T(a)&&q(a)||Array.isArray(a)&&Mt(a))&&M(e,t.slice(0,-1)),e}var dt=e=>{for(const s in e)if(Y(e[s]))return!0;return!1};function Ve(e,s={}){const t=Array.isArray(e);if(T(e)||t)for(const a in e)Array.isArray(e[a])||T(e[a])&&!dt(e[a])?(s[a]=Array.isArray(e[a])?[]:{},Ve(e[a],s[a])):I(e[a])||(s[a]=!0);return s}function ct(e,s,t){const a=Array.isArray(e);if(T(e)||a)for(const l in e)Array.isArray(e[l])||T(e[l])&&!dt(e[l])?L(s)||Ce(t[l])?t[l]=Array.isArray(e[l])?Ve(e[l],[]):{...Ve(e[l])}:ct(e[l],I(s)?{}:s[l],t[l]):t[l]=!j(e[l],s[l]);return t}var oe=(e,s)=>ct(e,s,Ve(s));const Je={value:!1,isValid:!1},Qe={value:!0,isValid:!0};var yt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!L(e[0].attributes.value)?L(e[0].value)||e[0].value===""?Qe:{value:e[0].value,isValid:!0}:Qe:Je}return Je},gt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:a})=>L(e)?e:s?e===""?NaN:e&&+e:t&&X(e)?new Date(e):a?a(e):e;const Xe={isValid:!1,value:null};var ht=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Xe):Xe;function Ze(e){const s=e.ref;return Ne(s)?s.files:Be(s)?ht(e.refs).value:ft(s)?[...s.selectedOptions].map(({value:t})=>t):ye(s)?yt(e.refs).value:gt(L(s.value)?e.ref.value:s.value,e)}var Ot=(e,s,t,a)=>{const l={};for(const n of e){const c=y(s,n);c&&D(l,n,c._f)}return{criteriaMode:t,names:[...e],fields:l,shouldUseNativeValidation:a}},me=e=>e instanceof RegExp,fe=e=>L(e)?e:me(e)?e.source:T(e)?me(e.value)?e.value.source:e.value:e,je=e=>({isOnSubmit:!e||e===G.onSubmit,isOnBlur:e===G.onBlur,isOnChange:e===G.onChange,isOnAll:e===G.all,isOnTouch:e===G.onTouched});const et="AsyncFunction";var Ut=e=>!!e&&!!e.validate&&!!(Y(e.validate)&&e.validate.constructor.name===et||T(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===et)),Nt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),tt=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const ce=(e,s,t,a)=>{for(const l of t||Object.keys(e)){const n=y(e,l);if(n){const{_f:c,...d}=n;if(c){if(c.refs&&c.refs[0]&&s(c.refs[0],l)&&!a)return!0;if(c.ref&&s(c.ref,c.name)&&!a)return!0;if(ce(d,s))break}else if(T(d)&&ce(d,s))break}}};function rt(e,s,t){const a=y(e,t);if(a||Fe(t))return{error:a,name:t};const l=t.split(".");for(;l.length;){const n=l.join("."),c=y(s,n),d=y(e,n);if(c&&!Array.isArray(c)&&t!==n)return{name:t};if(d&&d.type)return{name:n,error:d};if(d&&d.root&&d.root.type)return{name:`${n}.root`,error:d.root};l.pop()}return{name:t}}var Bt=(e,s,t,a)=>{t(e);const{name:l,...n}=e;return q(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(c=>s[c]===(!a||G.all))},Pt=(e,s,t)=>!e||!s||e===s||de(e).some(a=>a&&(t?a===s:a.startsWith(s)||s.startsWith(a))),It=(e,s,t,a,l)=>l.isOnAll?!1:!t&&l.isOnTouch?!(s||e):(t?a.isOnBlur:l.isOnBlur)?!e:(t?a.isOnChange:l.isOnChange)?e:!0,Wt=(e,s)=>!Le(y(e,s)).length&&M(e,s),qt=(e,s,t)=>{const a=de(y(e,t));return D(a,"root",s[t]),D(e,t,a),e},ve=e=>X(e);function st(e,s,t="validate"){if(ve(e)||Array.isArray(e)&&e.every(ve)||p(e)&&!e)return{type:t,message:ve(e)?e:"",ref:s}}var ue=e=>T(e)&&!me(e)?e:{value:e,message:""},it=async(e,s,t,a,l,n)=>{const{ref:c,refs:d,required:E,maxLength:S,minLength:b,min:A,max:_,pattern:K,validate:H,name:k,valueAsNumber:N,mount:ae}=e._f,v=y(t,k);if(!ae||s.has(k))return{};const B=d?d[0]:c,U=m=>{l&&B.reportValidity&&(B.setCustomValidity(p(m)?"":m||""),B.reportValidity())},C={},ee=Be(c),te=ye(c),Ae=ee||te,z=(N||Ne(c))&&L(c.value)&&L(v)||be(c)&&c.value===""||v===""||Array.isArray(v)&&!v.length,se=Rt.bind(null,k,a,C),J=(m,x,R,P=Z.maxLength,W=Z.minLength)=>{const Q=m?x:R;C[k]={type:m?P:W,message:Q,ref:c,...se(m?P:W,Q)}};if(n?!Array.isArray(v)||!v.length:E&&(!Ae&&(z||I(v))||p(v)&&!v||te&&!yt(d).isValid||ee&&!ht(d).isValid)){const{value:m,message:x}=ve(E)?{value:!!E,message:E}:ue(E);if(m&&(C[k]={type:Z.required,message:x,ref:B,...se(Z.required,x)},!a))return U(x),C}if(!z&&(!I(A)||!I(_))){let m,x;const R=ue(_),P=ue(A);if(!I(v)&&!isNaN(v)){const W=c.valueAsNumber||v&&+v;I(R.value)||(m=W>R.value),I(P.value)||(x=W<P.value)}else{const W=c.valueAsDate||new Date(v),Q=ge=>new Date(new Date().toDateString()+" "+ge),ne=c.type=="time",le=c.type=="week";X(R.value)&&v&&(m=ne?Q(v)>Q(R.value):le?v>R.value:W>new Date(R.value)),X(P.value)&&v&&(x=ne?Q(v)<Q(P.value):le?v<P.value:W<new Date(P.value))}if((m||x)&&(J(!!m,R.message,P.message,Z.max,Z.min),!a))return U(C[k].message),C}if((S||b)&&!z&&(X(v)||n&&Array.isArray(v))){const m=ue(S),x=ue(b),R=!I(m.value)&&v.length>+m.value,P=!I(x.value)&&v.length<+x.value;if((R||P)&&(J(R,m.message,x.message),!a))return U(C[k].message),C}if(K&&!z&&X(v)){const{value:m,message:x}=ue(K);if(me(m)&&!v.match(m)&&(C[k]={type:Z.pattern,message:x,ref:c,...se(Z.pattern,x)},!a))return U(x),C}if(H){if(Y(H)){const m=await H(v,t),x=st(m,B);if(x&&(C[k]={...x,...se(Z.validate,x.message)},!a))return U(x.message),C}else if(T(H)){let m={};for(const x in H){if(!q(m)&&!a)break;const R=st(await H[x](v,t),B,x);R&&(m={...R,...se(x,R.message)},U(R.message),a&&(C[k]=m))}if(!q(m)&&(C[k]={ref:B,...m},!a))return C}}return U(!0),C};const Ht={mode:G.onSubmit,reValidateMode:G.onChange,shouldFocusError:!0};function pt(e={}){let s={...Ht,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Y(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},a={},l=T(s.defaultValues)||T(s.values)?O(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:O(l),c={action:!1,mount:!1,watch:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},E,S=0;const b={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let A={...b};const _={array:Ye(),state:Ye()},K=s.criteriaMode===G.all,H=r=>i=>{clearTimeout(S),S=setTimeout(r,i)},k=async r=>{if(!s.disabled&&(b.isValid||A.isValid||r)){const i=s.resolver?q((await te()).errors):await z(a,!0);i!==t.isValid&&_.state.next({isValid:i})}},N=(r,i)=>{!s.disabled&&(b.isValidating||b.validatingFields||A.isValidating||A.validatingFields)&&((r||Array.from(d.mount)).forEach(u=>{u&&(i?D(t.validatingFields,u,i):M(t.validatingFields,u))}),_.state.next({validatingFields:t.validatingFields,isValidating:!q(t.validatingFields)}))},ae=(r,i=[],u,g,f=!0,o=!0)=>{if(g&&u&&!s.disabled){if(c.action=!0,o&&Array.isArray(y(a,r))){const h=u(y(a,r),g.argA,g.argB);f&&D(a,r,h)}if(o&&Array.isArray(y(t.errors,r))){const h=u(y(t.errors,r),g.argA,g.argB);f&&D(t.errors,r,h),Wt(t.errors,r)}if((b.touchedFields||A.touchedFields)&&o&&Array.isArray(y(t.touchedFields,r))){const h=u(y(t.touchedFields,r),g.argA,g.argB);f&&D(t.touchedFields,r,h)}(b.dirtyFields||A.dirtyFields)&&(t.dirtyFields=oe(l,n)),_.state.next({name:r,isDirty:J(r,i),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else D(n,r,i)},v=(r,i)=>{D(t.errors,r,i),_.state.next({errors:t.errors})},B=r=>{t.errors=r,_.state.next({errors:t.errors,isValid:!1})},U=(r,i,u,g)=>{const f=y(a,r);if(f){const o=y(n,r,L(u)?y(l,r):u);L(o)||g&&g.defaultChecked||i?D(n,r,i?o:Ze(f._f)):R(r,o),c.mount&&k()}},C=(r,i,u,g,f)=>{let o=!1,h=!1;const F={name:r};if(!s.disabled){if(!u||g){(b.isDirty||A.isDirty)&&(h=t.isDirty,t.isDirty=F.isDirty=J(),o=h!==F.isDirty);const w=j(y(l,r),i);h=!!y(t.dirtyFields,r),w?M(t.dirtyFields,r):D(t.dirtyFields,r,!0),F.dirtyFields=t.dirtyFields,o=o||(b.dirtyFields||A.dirtyFields)&&h!==!w}if(u){const w=y(t.touchedFields,r);w||(D(t.touchedFields,r,u),F.touchedFields=t.touchedFields,o=o||(b.touchedFields||A.touchedFields)&&w!==u)}o&&f&&_.state.next(F)}return o?F:{}},ee=(r,i,u,g)=>{const f=y(t.errors,r),o=(b.isValid||A.isValid)&&p(i)&&t.isValid!==i;if(s.delayError&&u?(E=H(()=>v(r,u)),E(s.delayError)):(clearTimeout(S),E=null,u?D(t.errors,r,u):M(t.errors,r)),(u?!j(f,u):f)||!q(g)||o){const h={...g,...o&&p(i)?{isValid:i}:{},errors:t.errors,name:r};t={...t,...h},_.state.next(h)}},te=async r=>{N(r,!0);const i=await s.resolver(n,s.context,Ot(r||d.mount,a,s.criteriaMode,s.shouldUseNativeValidation));return N(r),i},Ae=async r=>{const{errors:i}=await te(r);if(r)for(const u of r){const g=y(i,u);g?D(t.errors,u,g):M(t.errors,u)}else t.errors=i;return i},z=async(r,i,u={valid:!0})=>{for(const g in r){const f=r[g];if(f){const{_f:o,...h}=f;if(o){const F=d.array.has(o.name),w=f._f&&Ut(f._f);w&&b.validatingFields&&N([g],!0);const $=await it(f,d.disabled,n,K,s.shouldUseNativeValidation&&!i,F);if(w&&b.validatingFields&&N([g]),$[o.name]&&(u.valid=!1,i))break;!i&&(y($,o.name)?F?qt(t.errors,$,o.name):D(t.errors,o.name,$[o.name]):M(t.errors,o.name))}!q(h)&&await z(h,i,u)}}return u.valid},se=()=>{for(const r of d.unMount){const i=y(a,r);i&&(i._f.refs?i._f.refs.every(u=>!Se(u)):!Se(i._f.ref))&&xe(r)}d.unMount=new Set},J=(r,i)=>!s.disabled&&(r&&i&&D(n,r,i),!j(ge(),l)),m=(r,i,u)=>ot(r,d,{...c.mount?n:L(i)?l:X(r)?{[r]:i}:i},u,i),x=r=>Le(y(c.mount?n:l,r,s.shouldUnregister?y(l,r,[]):[])),R=(r,i,u={})=>{const g=y(a,r);let f=i;if(g){const o=g._f;o&&(!o.disabled&&D(n,r,gt(i,o)),f=be(o.ref)&&I(i)?"":i,ft(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?ye(o.ref)?o.refs.forEach(h=>{(!h.defaultChecked||!h.disabled)&&(Array.isArray(f)?h.checked=!!f.find(F=>F===h.value):h.checked=f===h.value||!!f)}):o.refs.forEach(h=>h.checked=h.value===f):Ne(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||_.state.next({name:r,values:O(n)})))}(u.shouldDirty||u.shouldTouch)&&C(r,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&le(r)},P=(r,i,u)=>{for(const g in i){if(!i.hasOwnProperty(g))return;const f=i[g],o=r+"."+g,h=y(a,o);(d.array.has(r)||T(f)||h&&!h._f)&&!ie(f)?P(o,f,u):R(o,f,u)}},W=(r,i,u={})=>{const g=y(a,r),f=d.array.has(r),o=O(i);D(n,r,o),f?(_.array.next({name:r,values:O(n)}),(b.isDirty||b.dirtyFields||A.isDirty||A.dirtyFields)&&u.shouldDirty&&_.state.next({name:r,dirtyFields:oe(l,n),isDirty:J(r,o)})):g&&!g._f&&!I(o)?P(r,o,u):R(r,o,u),tt(r,d)&&_.state.next({...t,name:r}),_.state.next({name:c.mount?r:void 0,values:O(n)})},Q=async r=>{c.mount=!0;const i=r.target;let u=i.name,g=!0;const f=y(a,u),o=w=>{g=Number.isNaN(w)||ie(w)&&isNaN(w.getTime())||j(w,y(n,u,w))},h=je(s.mode),F=je(s.reValidateMode);if(f){let w,$;const he=i.type?Ze(f._f):lt(r),re=r.type===_e.BLUR||r.type===_e.FOCUS_OUT,xt=!Nt(f._f)&&!s.resolver&&!y(t.errors,u)&&!f._f.deps||It(re,y(t.touchedFields,u),t.isSubmitted,F,h),ke=tt(u,d,re);D(n,u,he),re?(f._f.onBlur&&f._f.onBlur(r),E&&E(0)):f._f.onChange&&f._f.onChange(r);const Ee=C(u,he,re),wt=!q(Ee)||ke;if(!re&&_.state.next({name:u,type:r.type,values:O(n)}),xt)return(b.isValid||A.isValid)&&(s.mode==="onBlur"?re&&k():re||k()),wt&&_.state.next({name:u,...ke?{}:Ee});if(!re&&ke&&_.state.next({...t}),s.resolver){const{errors:ze}=await te([u]);if(o(he),g){const Dt=rt(t.errors,a,u),Ge=rt(ze,a,Dt.name||u);w=Ge.error,u=Ge.name,$=q(ze)}}else N([u],!0),w=(await it(f,d.disabled,n,K,s.shouldUseNativeValidation))[u],N([u]),o(he),g&&(w?$=!1:(b.isValid||A.isValid)&&($=await z(a,!0)));g&&(f._f.deps&&le(f._f.deps),ee(u,$,w,Ee))}},ne=(r,i)=>{if(y(t.errors,i)&&r.focus)return r.focus(),1},le=async(r,i={})=>{let u,g;const f=de(r);if(s.resolver){const o=await Ae(L(r)?r:f);u=q(o),g=r?!f.some(h=>y(o,h)):u}else r?(g=(await Promise.all(f.map(async o=>{const h=y(a,o);return await z(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!g&&!t.isValid)&&k()):g=u=await z(a);return _.state.next({...!X(r)||(b.isValid||A.isValid)&&u!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:u}:{},errors:t.errors}),i.shouldFocus&&!g&&ce(a,ne,r?f:d.mount),g},ge=r=>{const i={...c.mount?n:l};return L(r)?i:X(r)?y(i,r):r.map(u=>y(i,u))},Pe=(r,i)=>({invalid:!!y((i||t).errors,r),isDirty:!!y((i||t).dirtyFields,r),error:y((i||t).errors,r),isValidating:!!y(t.validatingFields,r),isTouched:!!y((i||t).touchedFields,r)}),vt=r=>{r&&de(r).forEach(i=>M(t.errors,i)),_.state.next({errors:r?t.errors:{}})},Ie=(r,i,u)=>{const g=(y(a,r,{_f:{}})._f||{}).ref,f=y(t.errors,r)||{},{ref:o,message:h,type:F,...w}=f;D(t.errors,r,{...w,...i,ref:g}),_.state.next({name:r,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&g&&g.focus&&g.focus()},_t=(r,i)=>Y(r)?_.state.subscribe({next:u=>"values"in u&&r(m(void 0,i),u)}):m(r,i,!0),We=r=>_.state.subscribe({next:i=>{Pt(r.name,i.name,r.exact)&&Bt(i,r.formState||b,At,r.reRenderRoot)&&r.callback({values:{...n},...t,...i,defaultValues:l})}}).unsubscribe,bt=r=>(c.mount=!0,A={...A,...r.formState},We({...r,formState:A})),xe=(r,i={})=>{for(const u of r?de(r):d.mount)d.mount.delete(u),d.array.delete(u),i.keepValue||(M(a,u),M(n,u)),!i.keepError&&M(t.errors,u),!i.keepDirty&&M(t.dirtyFields,u),!i.keepTouched&&M(t.touchedFields,u),!i.keepIsValidating&&M(t.validatingFields,u),!s.shouldUnregister&&!i.keepDefaultValue&&M(l,u);_.state.next({values:O(n)}),_.state.next({...t,...i.keepDirty?{isDirty:J()}:{}}),!i.keepIsValid&&k()},qe=({disabled:r,name:i})=>{(p(r)&&c.mount||r||d.disabled.has(i))&&(r?d.disabled.add(i):d.disabled.delete(i))},we=(r,i={})=>{let u=y(a,r);const g=p(i.disabled)||p(s.disabled);return D(a,r,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:r}},name:r,mount:!0,...i}}),d.mount.add(r),u?qe({disabled:p(i.disabled)?i.disabled:s.disabled,name:r}):U(r,!0,i.value),{...g?{disabled:i.disabled||s.disabled}:{},...s.progressive?{required:!!i.required,min:fe(i.min),max:fe(i.max),minLength:fe(i.minLength),maxLength:fe(i.maxLength),pattern:fe(i.pattern)}:{},name:r,onChange:Q,onBlur:Q,ref:f=>{if(f){we(r,i),u=y(a,r);const o=L(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Lt(o),F=u._f.refs||[];if(h?F.find(w=>w===o):o===u._f.ref)return;D(a,r,{_f:{...u._f,...h?{refs:[...F.filter(Se),o,...Array.isArray(y(l,r))?[{}]:[]],ref:{type:o.type,name:r}}:{ref:o}}}),U(r,!1,void 0,o)}else u=y(a,r,{}),u._f&&(u._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(ut(d.array,r)&&c.action)&&d.unMount.add(r)}}},De=()=>s.shouldFocusError&&ce(a,ne,d.mount),Vt=r=>{p(r)&&(_.state.next({disabled:r}),ce(a,(i,u)=>{const g=y(a,u);g&&(i.disabled=g._f.disabled||r,Array.isArray(g._f.refs)&&g._f.refs.forEach(f=>{f.disabled=g._f.disabled||r}))},0,!1))},He=(r,i)=>async u=>{let g;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let f=O(n);if(_.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:h}=await te();t.errors=o,f=O(h)}else await z(a);if(d.disabled.size)for(const o of d.disabled)M(f,o);if(M(t.errors,"root"),q(t.errors)){_.state.next({errors:{}});try{await r(f,u)}catch(o){g=o}}else i&&await i({...t.errors},u),De(),setTimeout(De);if(_.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:q(t.errors)&&!g,submitCount:t.submitCount+1,errors:t.errors}),g)throw g},mt=(r,i={})=>{y(a,r)&&(L(i.defaultValue)?W(r,O(y(l,r))):(W(r,i.defaultValue),D(l,r,O(i.defaultValue))),i.keepTouched||M(t.touchedFields,r),i.keepDirty||(M(t.dirtyFields,r),t.isDirty=i.defaultValue?J(r,O(y(l,r))):J()),i.keepError||(M(t.errors,r),b.isValid&&k()),_.state.next({...t}))},pe=(r,i={})=>{const u=r?O(r):l,g=O(u),f=q(r),o=f?l:g;if(i.keepDefaultValues||(l=u),!i.keepValues){if(i.keepDirtyValues){const h=new Set([...d.mount,...Object.keys(oe(l,n))]);for(const F of Array.from(h))y(t.dirtyFields,F)?D(o,F,y(n,F)):W(F,y(o,F))}else{if(Re&&L(r))for(const h of d.mount){const F=y(a,h);if(F&&F._f){const w=Array.isArray(F._f.refs)?F._f.refs[0]:F._f.ref;if(be(w)){const $=w.closest("form");if($){$.reset();break}}}}if(i.keepFieldsRef)for(const h of d.mount)W(h,y(o,h));else a={}}n=s.shouldUnregister?i.keepDefaultValues?O(l):{}:O(o),_.array.next({values:{...o}}),_.state.next({values:{...o}})}d={mount:i.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!b.isValid||!!i.keepIsValid||!!i.keepDirtyValues,c.watch=!!s.shouldUnregister,_.state.next({submitCount:i.keepSubmitCount?t.submitCount:0,isDirty:f?!1:i.keepDirty?t.isDirty:!!(i.keepDefaultValues&&!j(r,l)),isSubmitted:i.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:i.keepDirtyValues?i.keepDefaultValues&&n?oe(l,n):t.dirtyFields:i.keepDefaultValues&&r?oe(l,r):i.keepDirty?t.dirtyFields:{},touchedFields:i.keepTouched?t.touchedFields:{},errors:i.keepErrors?t.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},$e=(r,i)=>pe(Y(r)?r(n):r,i),Ft=(r,i={})=>{const u=y(a,r),g=u&&u._f;if(g){const f=g.refs?g.refs[0]:g.ref;f.focus&&(f.focus(),i.shouldSelect&&Y(f.select)&&f.select())}},At=r=>{t={...t,...r}},Ke={control:{register:we,unregister:xe,getFieldState:Pe,handleSubmit:He,setError:Ie,_subscribe:We,_runSchema:te,_focusError:De,_getWatch:m,_getDirty:J,_setValid:k,_setFieldArray:ae,_setDisabledField:qe,_setErrors:B,_getFieldArray:x,_reset:pe,_resetDefaultValues:()=>Y(s.defaultValues)&&s.defaultValues().then(r=>{$e(r,s.resetOptions),_.state.next({isLoading:!1})}),_removeUnmounted:se,_disableForm:Vt,_subjects:_,_proxyFormState:b,get _fields(){return a},get _formValues(){return n},get _state(){return c},set _state(r){c=r},get _defaultValues(){return l},get _names(){return d},set _names(r){d=r},get _formState(){return t},get _options(){return s},set _options(r){s={...s,...r}}},subscribe:bt,trigger:le,register:we,handleSubmit:He,watch:_t,setValue:W,getValues:ge,reset:$e,resetField:mt,clearErrors:vt,unregister:xe,setError:Ie,setFocus:Ft,getFieldState:Pe};return{...Ke,formControl:Ke}}function Yt(e={}){const s=V.useRef(void 0),t=V.useRef(void 0),[a,l]=V.useState({isDirty:!1,isValidating:!1,isLoading:Y(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:a},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...d}=pt(e);s.current={...d,formState:a}}const n=s.current.control;return n._options=e,Ue(()=>{const c=n._subscribe({formState:n._proxyFormState,callback:()=>l({...n._formState}),reRenderRoot:!0});return l(d=>({...d,isReady:!0})),n._formState.isReady=!0,c},[n]),V.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),V.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),V.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),V.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),V.useEffect(()=>{if(n._proxyFormState.isDirty){const c=n._getDirty();c!==a.isDirty&&n._subjects.state.next({isDirty:c})}},[n,a.isDirty]),V.useEffect(()=>{e.values&&!j(e.values,t.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),t.current=e.values,l(c=>({...c}))):n._resetDefaultValues()},[n,e.values]),V.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=nt(a,n),s.current}export{zt as FormProvider,Rt as appendErrors,pt as createFormControl,y as get,D as set,Gt as useController,Yt as useForm,Oe as useFormContext,St as useFormState,Ct as useWatch};
|
|
1
|
+
import V from"react";var ye=e=>e.type==="checkbox",ie=e=>e instanceof Date,I=e=>e==null;const at=e=>typeof e=="object";var L=e=>!I(e)&&!Array.isArray(e)&&at(e)&&!ie(e),lt=e=>L(e)&&e.target?ye(e.target)?e.target.checked:e.target.value:e,kt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ut=(e,s)=>e.has(kt(s)),Et=e=>{const s=e.constructor&&e.constructor.prototype;return L(s)&&s.hasOwnProperty("isPrototypeOf")},Oe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function M(e){let s;const t=Array.isArray(e),a=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(!(Oe&&(e instanceof Blob||a))&&(t||L(e)))if(s=t?[]:Object.create(Object.getPrototypeOf(e)),!t&&!Et(e))s=e;else for(const l in e)e.hasOwnProperty(l)&&(s[l]=M(e[l]));else return e;return s}var Fe=e=>/^\w*$/.test(e),R=e=>e===void 0,Re=e=>Array.isArray(e)?e.filter(Boolean):[],Le=e=>Re(e.replace(/["|']|\]/g,"").split(/\.|\[/)),y=(e,s,t)=>{if(!s||!L(e))return t;const a=(Fe(s)?[s]:Le(s)).reduce((l,n)=>I(l)?l:l[n],e);return R(a)||a===e?R(e[s])?t:e[s]:a},p=e=>typeof e=="boolean",D=(e,s,t)=>{let a=-1;const l=Fe(s)?[s]:Le(s),n=l.length,c=n-1;for(;++a<n;){const d=l[a];let E=t;if(a!==c){const S=e[d];E=L(S)||Array.isArray(S)?S:isNaN(+l[a+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=E,e=e[d]}};const _e={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},G={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Z={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Te=V.createContext(null);Te.displayName="HookFormContext";const Me=()=>V.useContext(Te),zt=e=>{const{children:s,...t}=e;return V.createElement(Te.Provider,{value:t},s)};var nt=(e,s,t,a=!0)=>{const l={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(l,n,{get:()=>{const c=n;return s._proxyFormState[c]!==G.all&&(s._proxyFormState[c]=!a||G.all),t&&(t[c]=!0),e[c]}});return l};const Ue=typeof window<"u"?V.useLayoutEffect:V.useEffect;function St(e){const s=Me(),{control:t=s.control,disabled:a,name:l,exact:n}=e||{},[c,d]=V.useState(t._formState),E=V.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ue(()=>t._subscribe({name:l,formState:E.current,exact:n,callback:S=>{!a&&d({...t._formState,...S})}}),[l,a,n]),V.useEffect(()=>{E.current.isValid&&t._setValid(!0)},[t]),V.useMemo(()=>nt(c,t,E.current,!1),[c,t])}var X=e=>typeof e=="string",ot=(e,s,t,a,l)=>X(e)?(a&&s.watch.add(e),y(t,e,l)):Array.isArray(e)?e.map(n=>(a&&s.watch.add(n),y(t,n))):(a&&(s.watchAll=!0),t),Ce=e=>I(e)||!at(e);function j(e,s,t=new WeakSet){if(Ce(e)||Ce(s))return e===s;if(ie(e)&&ie(s))return e.getTime()===s.getTime();const a=Object.keys(e),l=Object.keys(s);if(a.length!==l.length)return!1;if(t.has(e)||t.has(s))return!0;t.add(e),t.add(s);for(const n of a){const c=e[n];if(!l.includes(n))return!1;if(n!=="ref"){const d=s[n];if(ie(c)&&ie(d)||L(c)&&L(d)||Array.isArray(c)&&Array.isArray(d)?!j(c,d,t):c!==d)return!1}}return!0}function Ct(e){const s=Me(),{control:t=s.control,name:a,defaultValue:l,disabled:n,exact:c,compute:d}=e||{},E=V.useRef(l),S=V.useRef(d),b=V.useRef(void 0);S.current=d;const A=V.useMemo(()=>t._getWatch(a,E.current),[t,a]),[_,K]=V.useState(S.current?S.current(A):A);return Ue(()=>t._subscribe({name:a,formState:{values:!0},exact:c,callback:H=>{if(!n){const k=ot(a,t._names,H.values||t._formValues,!1,E.current);if(S.current){const N=S.current(k);j(N,b.current)||(K(N),b.current=N)}else K(k)}}}),[t,n,a,c]),V.useEffect(()=>t._removeUnmounted()),_}function Gt(e){const s=Me(),{name:t,disabled:a,control:l=s.control,shouldUnregister:n,defaultValue:c}=e,d=ut(l._names.array,t),E=V.useMemo(()=>y(l._formValues,t,y(l._defaultValues,t,c)),[l,t,c]),S=Ct({control:l,name:t,defaultValue:E,exact:!0}),b=St({control:l,name:t,exact:!0}),A=V.useRef(e),_=V.useRef(l.register(t,{...e.rules,value:S,...p(e.disabled)?{disabled:e.disabled}:{}}));A.current=e;const K=V.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!y(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!y(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!y(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!y(b.validatingFields,t)},error:{enumerable:!0,get:()=>y(b.errors,t)}}),[b,t]),H=V.useCallback(v=>_.current.onChange({target:{value:lt(v),name:t},type:_e.CHANGE}),[t]),k=V.useCallback(()=>_.current.onBlur({target:{value:y(l._formValues,t),name:t},type:_e.BLUR}),[t,l._formValues]),N=V.useCallback(v=>{const P=y(l._fields,t);P&&v&&(P._f.ref={focus:()=>v.focus&&v.focus(),select:()=>v.select&&v.select(),setCustomValidity:U=>v.setCustomValidity(U),reportValidity:()=>v.reportValidity()})},[l._fields,t]),ae=V.useMemo(()=>({name:t,value:S,...p(a)||b.disabled?{disabled:b.disabled||a}:{},onChange:H,onBlur:k,ref:N}),[t,a,b.disabled,H,k,N,S]);return V.useEffect(()=>{const v=l._options.shouldUnregister||n;l.register(t,{...A.current.rules,...p(A.current.disabled)?{disabled:A.current.disabled}:{}});const P=(U,C)=>{const ee=y(l._fields,U);ee&&ee._f&&(ee._f.mount=C)};if(P(t,!0),v){const U=M(y(l._options.defaultValues,t));D(l._defaultValues,t,U),R(y(l._formValues,t))&&D(l._formValues,t,U)}return!d&&l.register(t),()=>{(d?v&&!l._state.action:v)?l.unregister(t):P(t,!1)}},[t,l,d,n]),V.useEffect(()=>{l._setDisabledField({disabled:a,name:t})},[a,t,l]),V.useMemo(()=>({field:ae,formState:b,fieldState:K}),[ae,b,K])}var Ot=(e,s,t,a,l)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[a]:l||!0}}:{},de=e=>Array.isArray(e)?e:[e],Ye=()=>{let e=[];return{get observers(){return e},next:l=>{for(const n of e)n.next&&n.next(l)},subscribe:l=>(e.push(l),{unsubscribe:()=>{e=e.filter(n=>n!==l)}}),unsubscribe:()=>{e=[]}}},q=e=>L(e)&&!Object.keys(e).length,Ne=e=>e.type==="file",Y=e=>typeof e=="function",be=e=>{if(!Oe)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},ft=e=>e.type==="select-multiple",Pe=e=>e.type==="radio",Rt=e=>Pe(e)||ye(e),Se=e=>be(e)&&e.isConnected;function Lt(e,s){const t=s.slice(0,-1).length;let a=0;for(;a<t;)e=R(e)?a++:e[s[a++]];return e}function Tt(e){for(const s in e)if(e.hasOwnProperty(s)&&!R(e[s]))return!1;return!0}function T(e,s){const t=Array.isArray(s)?s:Fe(s)?[s]:Le(s),a=t.length===1?e:Lt(e,t),l=t.length-1,n=t[l];return a&&delete a[n],l!==0&&(L(a)&&q(a)||Array.isArray(a)&&Tt(a))&&T(e,t.slice(0,-1)),e}var dt=e=>{for(const s in e)if(Y(e[s]))return!0;return!1};function Ve(e,s={}){const t=Array.isArray(e);if(L(e)||t)for(const a in e)Array.isArray(e[a])||L(e[a])&&!dt(e[a])?(s[a]=Array.isArray(e[a])?[]:{},Ve(e[a],s[a])):I(e[a])||(s[a]=!0);return s}function ct(e,s,t){const a=Array.isArray(e);if(L(e)||a)for(const l in e)Array.isArray(e[l])||L(e[l])&&!dt(e[l])?R(s)||Ce(t[l])?t[l]=Array.isArray(e[l])?Ve(e[l],[]):{...Ve(e[l])}:ct(e[l],I(s)?{}:s[l],t[l]):t[l]=!j(e[l],s[l]);return t}var oe=(e,s)=>ct(e,s,Ve(s));const Je={value:!1,isValid:!1},Qe={value:!0,isValid:!0};var yt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!R(e[0].attributes.value)?R(e[0].value)||e[0].value===""?Qe:{value:e[0].value,isValid:!0}:Qe:Je}return Je},gt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:a})=>R(e)?e:s?e===""?NaN:e&&+e:t&&X(e)?new Date(e):a?a(e):e;const Xe={isValid:!1,value:null};var ht=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Xe):Xe;function Ze(e){const s=e.ref;return Ne(s)?s.files:Pe(s)?ht(e.refs).value:ft(s)?[...s.selectedOptions].map(({value:t})=>t):ye(s)?yt(e.refs).value:gt(R(s.value)?e.ref.value:s.value,e)}var Mt=(e,s,t,a)=>{const l={};for(const n of e){const c=y(s,n);c&&D(l,n,c._f)}return{criteriaMode:t,names:[...e],fields:l,shouldUseNativeValidation:a}},me=e=>e instanceof RegExp,fe=e=>R(e)?e:me(e)?e.source:L(e)?me(e.value)?e.value.source:e.value:e,je=e=>({isOnSubmit:!e||e===G.onSubmit,isOnBlur:e===G.onBlur,isOnChange:e===G.onChange,isOnAll:e===G.all,isOnTouch:e===G.onTouched});const et="AsyncFunction";var Ut=e=>!!e&&!!e.validate&&!!(Y(e.validate)&&e.validate.constructor.name===et||L(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===et)),Nt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),tt=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const ce=(e,s,t,a)=>{for(const l of t||Object.keys(e)){const n=y(e,l);if(n){const{_f:c,...d}=n;if(c){if(c.refs&&c.refs[0]&&s(c.refs[0],l)&&!a)return!0;if(c.ref&&s(c.ref,c.name)&&!a)return!0;if(ce(d,s))break}else if(L(d)&&ce(d,s))break}}};function rt(e,s,t){const a=y(e,t);if(a||Fe(t))return{error:a,name:t};const l=t.split(".");for(;l.length;){const n=l.join("."),c=y(s,n),d=y(e,n);if(c&&!Array.isArray(c)&&t!==n)return{name:t};if(d&&d.type)return{name:n,error:d};if(d&&d.root&&d.root.type)return{name:`${n}.root`,error:d.root};l.pop()}return{name:t}}var Pt=(e,s,t,a)=>{t(e);const{name:l,...n}=e;return q(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(c=>s[c]===(!a||G.all))},Bt=(e,s,t)=>!e||!s||e===s||de(e).some(a=>a&&(t?a===s:a.startsWith(s)||s.startsWith(a))),It=(e,s,t,a,l)=>l.isOnAll?!1:!t&&l.isOnTouch?!(s||e):(t?a.isOnBlur:l.isOnBlur)?!e:(t?a.isOnChange:l.isOnChange)?e:!0,Wt=(e,s)=>!Re(y(e,s)).length&&T(e,s),qt=(e,s,t)=>{const a=de(y(e,t));return D(a,"root",s[t]),D(e,t,a),e},ve=e=>X(e);function st(e,s,t="validate"){if(ve(e)||Array.isArray(e)&&e.every(ve)||p(e)&&!e)return{type:t,message:ve(e)?e:"",ref:s}}var ue=e=>L(e)&&!me(e)?e:{value:e,message:""},it=async(e,s,t,a,l,n)=>{const{ref:c,refs:d,required:E,maxLength:S,minLength:b,min:A,max:_,pattern:K,validate:H,name:k,valueAsNumber:N,mount:ae}=e._f,v=y(t,k);if(!ae||s.has(k))return{};const P=d?d[0]:c,U=m=>{l&&P.reportValidity&&(P.setCustomValidity(p(m)?"":m||""),P.reportValidity())},C={},ee=Pe(c),te=ye(c),Ae=ee||te,z=(N||Ne(c))&&R(c.value)&&R(v)||be(c)&&c.value===""||v===""||Array.isArray(v)&&!v.length,se=Ot.bind(null,k,a,C),J=(m,x,O,B=Z.maxLength,W=Z.minLength)=>{const Q=m?x:O;C[k]={type:m?B:W,message:Q,ref:c,...se(m?B:W,Q)}};if(n?!Array.isArray(v)||!v.length:E&&(!Ae&&(z||I(v))||p(v)&&!v||te&&!yt(d).isValid||ee&&!ht(d).isValid)){const{value:m,message:x}=ve(E)?{value:!!E,message:E}:ue(E);if(m&&(C[k]={type:Z.required,message:x,ref:P,...se(Z.required,x)},!a))return U(x),C}if(!z&&(!I(A)||!I(_))){let m,x;const O=ue(_),B=ue(A);if(!I(v)&&!isNaN(v)){const W=c.valueAsNumber||v&&+v;I(O.value)||(m=W>O.value),I(B.value)||(x=W<B.value)}else{const W=c.valueAsDate||new Date(v),Q=ge=>new Date(new Date().toDateString()+" "+ge),ne=c.type=="time",le=c.type=="week";X(O.value)&&v&&(m=ne?Q(v)>Q(O.value):le?v>O.value:W>new Date(O.value)),X(B.value)&&v&&(x=ne?Q(v)<Q(B.value):le?v<B.value:W<new Date(B.value))}if((m||x)&&(J(!!m,O.message,B.message,Z.max,Z.min),!a))return U(C[k].message),C}if((S||b)&&!z&&(X(v)||n&&Array.isArray(v))){const m=ue(S),x=ue(b),O=!I(m.value)&&v.length>+m.value,B=!I(x.value)&&v.length<+x.value;if((O||B)&&(J(O,m.message,x.message),!a))return U(C[k].message),C}if(K&&!z&&X(v)){const{value:m,message:x}=ue(K);if(me(m)&&!v.match(m)&&(C[k]={type:Z.pattern,message:x,ref:c,...se(Z.pattern,x)},!a))return U(x),C}if(H){if(Y(H)){const m=await H(v,t),x=st(m,P);if(x&&(C[k]={...x,...se(Z.validate,x.message)},!a))return U(x.message),C}else if(L(H)){let m={};for(const x in H){if(!q(m)&&!a)break;const O=st(await H[x](v,t),P,x);O&&(m={...O,...se(x,O.message)},U(O.message),a&&(C[k]=m))}if(!q(m)&&(C[k]={ref:P,...m},!a))return C}}return U(!0),C};const Ht={mode:G.onSubmit,reValidateMode:G.onChange,shouldFocusError:!0};function pt(e={}){let s={...Ht,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:Y(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},a={},l=L(s.defaultValues)||L(s.values)?M(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:M(l),c={action:!1,mount:!1,watch:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},E,S=0;const b={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let A={...b};const _={array:Ye(),state:Ye()},K=s.criteriaMode===G.all,H=r=>i=>{clearTimeout(S),S=setTimeout(r,i)},k=async r=>{if(!s.disabled&&(b.isValid||A.isValid||r)){const i=s.resolver?q((await te()).errors):await z(a,!0);i!==t.isValid&&_.state.next({isValid:i})}},N=(r,i)=>{!s.disabled&&(b.isValidating||b.validatingFields||A.isValidating||A.validatingFields)&&((r||Array.from(d.mount)).forEach(u=>{u&&(i?D(t.validatingFields,u,i):T(t.validatingFields,u))}),_.state.next({validatingFields:t.validatingFields,isValidating:!q(t.validatingFields)}))},ae=(r,i=[],u,g,f=!0,o=!0)=>{if(g&&u&&!s.disabled){if(c.action=!0,o&&Array.isArray(y(a,r))){const h=u(y(a,r),g.argA,g.argB);f&&D(a,r,h)}if(o&&Array.isArray(y(t.errors,r))){const h=u(y(t.errors,r),g.argA,g.argB);f&&D(t.errors,r,h),Wt(t.errors,r)}if((b.touchedFields||A.touchedFields)&&o&&Array.isArray(y(t.touchedFields,r))){const h=u(y(t.touchedFields,r),g.argA,g.argB);f&&D(t.touchedFields,r,h)}(b.dirtyFields||A.dirtyFields)&&(t.dirtyFields=oe(l,n)),_.state.next({name:r,isDirty:J(r,i),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else D(n,r,i)},v=(r,i)=>{D(t.errors,r,i),_.state.next({errors:t.errors})},P=r=>{t.errors=r,_.state.next({errors:t.errors,isValid:!1})},U=(r,i,u,g)=>{const f=y(a,r);if(f){const o=y(n,r,R(u)?y(l,r):u);R(o)||g&&g.defaultChecked||i?D(n,r,i?o:Ze(f._f)):O(r,o),c.mount&&k()}},C=(r,i,u,g,f)=>{let o=!1,h=!1;const F={name:r};if(!s.disabled){if(!u||g){(b.isDirty||A.isDirty)&&(h=t.isDirty,t.isDirty=F.isDirty=J(),o=h!==F.isDirty);const w=j(y(l,r),i);h=!!y(t.dirtyFields,r),w?T(t.dirtyFields,r):D(t.dirtyFields,r,!0),F.dirtyFields=t.dirtyFields,o=o||(b.dirtyFields||A.dirtyFields)&&h!==!w}if(u){const w=y(t.touchedFields,r);w||(D(t.touchedFields,r,u),F.touchedFields=t.touchedFields,o=o||(b.touchedFields||A.touchedFields)&&w!==u)}o&&f&&_.state.next(F)}return o?F:{}},ee=(r,i,u,g)=>{const f=y(t.errors,r),o=(b.isValid||A.isValid)&&p(i)&&t.isValid!==i;if(s.delayError&&u?(E=H(()=>v(r,u)),E(s.delayError)):(clearTimeout(S),E=null,u?D(t.errors,r,u):T(t.errors,r)),(u?!j(f,u):f)||!q(g)||o){const h={...g,...o&&p(i)?{isValid:i}:{},errors:t.errors,name:r};t={...t,...h},_.state.next(h)}},te=async r=>{N(r,!0);const i=await s.resolver(n,s.context,Mt(r||d.mount,a,s.criteriaMode,s.shouldUseNativeValidation));return N(r),i},Ae=async r=>{const{errors:i}=await te(r);if(r)for(const u of r){const g=y(i,u);g?D(t.errors,u,g):T(t.errors,u)}else t.errors=i;return i},z=async(r,i,u={valid:!0})=>{for(const g in r){const f=r[g];if(f){const{_f:o,...h}=f;if(o){const F=d.array.has(o.name),w=f._f&&Ut(f._f);w&&b.validatingFields&&N([g],!0);const $=await it(f,d.disabled,n,K,s.shouldUseNativeValidation&&!i,F);if(w&&b.validatingFields&&N([g]),$[o.name]&&(u.valid=!1,i))break;!i&&(y($,o.name)?F?qt(t.errors,$,o.name):D(t.errors,o.name,$[o.name]):T(t.errors,o.name))}!q(h)&&await z(h,i,u)}}return u.valid},se=()=>{for(const r of d.unMount){const i=y(a,r);i&&(i._f.refs?i._f.refs.every(u=>!Se(u)):!Se(i._f.ref))&&xe(r)}d.unMount=new Set},J=(r,i)=>!s.disabled&&(r&&i&&D(n,r,i),!j(ge(),l)),m=(r,i,u)=>ot(r,d,{...c.mount?n:R(i)?l:X(r)?{[r]:i}:i},u,i),x=r=>Re(y(c.mount?n:l,r,s.shouldUnregister?y(l,r,[]):[])),O=(r,i,u={})=>{const g=y(a,r);let f=i;if(g){const o=g._f;o&&(!o.disabled&&D(n,r,gt(i,o)),f=be(o.ref)&&I(i)?"":i,ft(o.ref)?[...o.ref.options].forEach(h=>h.selected=f.includes(h.value)):o.refs?ye(o.ref)?o.refs.forEach(h=>{(!h.defaultChecked||!h.disabled)&&(Array.isArray(f)?h.checked=!!f.find(F=>F===h.value):h.checked=f===h.value||!!f)}):o.refs.forEach(h=>h.checked=h.value===f):Ne(o.ref)?o.ref.value="":(o.ref.value=f,o.ref.type||_.state.next({name:r,values:M(n)})))}(u.shouldDirty||u.shouldTouch)&&C(r,f,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&le(r)},B=(r,i,u)=>{for(const g in i){if(!i.hasOwnProperty(g))return;const f=i[g],o=r+"."+g,h=y(a,o);(d.array.has(r)||L(f)||h&&!h._f)&&!ie(f)?B(o,f,u):O(o,f,u)}},W=(r,i,u={})=>{const g=y(a,r),f=d.array.has(r),o=M(i);D(n,r,o),f?(_.array.next({name:r,values:M(n)}),(b.isDirty||b.dirtyFields||A.isDirty||A.dirtyFields)&&u.shouldDirty&&_.state.next({name:r,dirtyFields:oe(l,n),isDirty:J(r,o)})):g&&!g._f&&!I(o)?B(r,o,u):O(r,o,u),tt(r,d)&&_.state.next({...t,name:r}),_.state.next({name:c.mount?r:void 0,values:M(n)})},Q=async r=>{c.mount=!0;const i=r.target;let u=i.name,g=!0;const f=y(a,u),o=w=>{g=Number.isNaN(w)||ie(w)&&isNaN(w.getTime())||j(w,y(n,u,w))},h=je(s.mode),F=je(s.reValidateMode);if(f){let w,$;const he=i.type?Ze(f._f):lt(r),re=r.type===_e.BLUR||r.type===_e.FOCUS_OUT,xt=!Nt(f._f)&&!s.resolver&&!y(t.errors,u)&&!f._f.deps||It(re,y(t.touchedFields,u),t.isSubmitted,F,h),ke=tt(u,d,re);D(n,u,he),re?(!i||!i.readOnly)&&(f._f.onBlur&&f._f.onBlur(r),E&&E(0)):f._f.onChange&&f._f.onChange(r);const Ee=C(u,he,re),wt=!q(Ee)||ke;if(!re&&_.state.next({name:u,type:r.type,values:M(n)}),xt)return(b.isValid||A.isValid)&&(s.mode==="onBlur"?re&&k():re||k()),wt&&_.state.next({name:u,...ke?{}:Ee});if(!re&&ke&&_.state.next({...t}),s.resolver){const{errors:ze}=await te([u]);if(o(he),g){const Dt=rt(t.errors,a,u),Ge=rt(ze,a,Dt.name||u);w=Ge.error,u=Ge.name,$=q(ze)}}else N([u],!0),w=(await it(f,d.disabled,n,K,s.shouldUseNativeValidation))[u],N([u]),o(he),g&&(w?$=!1:(b.isValid||A.isValid)&&($=await z(a,!0)));g&&(f._f.deps&&le(f._f.deps),ee(u,$,w,Ee))}},ne=(r,i)=>{if(y(t.errors,i)&&r.focus)return r.focus(),1},le=async(r,i={})=>{let u,g;const f=de(r);if(s.resolver){const o=await Ae(R(r)?r:f);u=q(o),g=r?!f.some(h=>y(o,h)):u}else r?(g=(await Promise.all(f.map(async o=>{const h=y(a,o);return await z(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!g&&!t.isValid)&&k()):g=u=await z(a);return _.state.next({...!X(r)||(b.isValid||A.isValid)&&u!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:u}:{},errors:t.errors}),i.shouldFocus&&!g&&ce(a,ne,r?f:d.mount),g},ge=r=>{const i={...c.mount?n:l};return R(r)?i:X(r)?y(i,r):r.map(u=>y(i,u))},Be=(r,i)=>({invalid:!!y((i||t).errors,r),isDirty:!!y((i||t).dirtyFields,r),error:y((i||t).errors,r),isValidating:!!y(t.validatingFields,r),isTouched:!!y((i||t).touchedFields,r)}),vt=r=>{r&&de(r).forEach(i=>T(t.errors,i)),_.state.next({errors:r?t.errors:{}})},Ie=(r,i,u)=>{const g=(y(a,r,{_f:{}})._f||{}).ref,f=y(t.errors,r)||{},{ref:o,message:h,type:F,...w}=f;D(t.errors,r,{...w,...i,ref:g}),_.state.next({name:r,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&g&&g.focus&&g.focus()},_t=(r,i)=>Y(r)?_.state.subscribe({next:u=>"values"in u&&r(m(void 0,i),u)}):m(r,i,!0),We=r=>_.state.subscribe({next:i=>{Bt(r.name,i.name,r.exact)&&Pt(i,r.formState||b,At,r.reRenderRoot)&&r.callback({values:{...n},...t,...i,defaultValues:l})}}).unsubscribe,bt=r=>(c.mount=!0,A={...A,...r.formState},We({...r,formState:A})),xe=(r,i={})=>{for(const u of r?de(r):d.mount)d.mount.delete(u),d.array.delete(u),i.keepValue||(T(a,u),T(n,u)),!i.keepError&&T(t.errors,u),!i.keepDirty&&T(t.dirtyFields,u),!i.keepTouched&&T(t.touchedFields,u),!i.keepIsValidating&&T(t.validatingFields,u),!s.shouldUnregister&&!i.keepDefaultValue&&T(l,u);_.state.next({values:M(n)}),_.state.next({...t,...i.keepDirty?{isDirty:J()}:{}}),!i.keepIsValid&&k()},qe=({disabled:r,name:i})=>{(p(r)&&c.mount||r||d.disabled.has(i))&&(r?d.disabled.add(i):d.disabled.delete(i))},we=(r,i={})=>{let u=y(a,r);const g=p(i.disabled)||p(s.disabled);return D(a,r,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:r}},name:r,mount:!0,...i}}),d.mount.add(r),u?qe({disabled:p(i.disabled)?i.disabled:s.disabled,name:r}):U(r,!0,i.value),{...g?{disabled:i.disabled||s.disabled}:{},...s.progressive?{required:!!i.required,min:fe(i.min),max:fe(i.max),minLength:fe(i.minLength),maxLength:fe(i.maxLength),pattern:fe(i.pattern)}:{},name:r,onChange:Q,onBlur:Q,ref:f=>{if(f){we(r,i),u=y(a,r);const o=R(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,h=Rt(o),F=u._f.refs||[];if(h?F.find(w=>w===o):o===u._f.ref)return;D(a,r,{_f:{...u._f,...h?{refs:[...F.filter(Se),o,...Array.isArray(y(l,r))?[{}]:[]],ref:{type:o.type,name:r}}:{ref:o}}}),U(r,!1,void 0,o)}else u=y(a,r,{}),u._f&&(u._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(ut(d.array,r)&&c.action)&&d.unMount.add(r)}}},De=()=>s.shouldFocusError&&ce(a,ne,d.mount),Vt=r=>{p(r)&&(_.state.next({disabled:r}),ce(a,(i,u)=>{const g=y(a,u);g&&(i.disabled=g._f.disabled||r,Array.isArray(g._f.refs)&&g._f.refs.forEach(f=>{f.disabled=g._f.disabled||r}))},0,!1))},He=(r,i)=>async u=>{let g;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let f=M(n);if(_.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:h}=await te();t.errors=o,f=M(h)}else await z(a);if(d.disabled.size)for(const o of d.disabled)T(f,o);if(T(t.errors,"root"),q(t.errors)){_.state.next({errors:{}});try{await r(f,u)}catch(o){g=o}}else i&&await i({...t.errors},u),De(),setTimeout(De);if(_.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:q(t.errors)&&!g,submitCount:t.submitCount+1,errors:t.errors}),g)throw g},mt=(r,i={})=>{y(a,r)&&(R(i.defaultValue)?W(r,M(y(l,r))):(W(r,i.defaultValue),D(l,r,M(i.defaultValue))),i.keepTouched||T(t.touchedFields,r),i.keepDirty||(T(t.dirtyFields,r),t.isDirty=i.defaultValue?J(r,M(y(l,r))):J()),i.keepError||(T(t.errors,r),b.isValid&&k()),_.state.next({...t}))},pe=(r,i={})=>{const u=r?M(r):l,g=M(u),f=q(r),o=f?l:g;if(i.keepDefaultValues||(l=u),!i.keepValues){if(i.keepDirtyValues){const h=new Set([...d.mount,...Object.keys(oe(l,n))]);for(const F of Array.from(h))y(t.dirtyFields,F)?D(o,F,y(n,F)):W(F,y(o,F))}else{if(Oe&&R(r))for(const h of d.mount){const F=y(a,h);if(F&&F._f){const w=Array.isArray(F._f.refs)?F._f.refs[0]:F._f.ref;if(be(w)){const $=w.closest("form");if($){$.reset();break}}}}if(i.keepFieldsRef)for(const h of d.mount)W(h,y(o,h));else a={}}n=s.shouldUnregister?i.keepDefaultValues?M(l):{}:M(o),_.array.next({values:{...o}}),_.state.next({values:{...o}})}d={mount:i.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!b.isValid||!!i.keepIsValid||!!i.keepDirtyValues,c.watch=!!s.shouldUnregister,_.state.next({submitCount:i.keepSubmitCount?t.submitCount:0,isDirty:f?!1:i.keepDirty?t.isDirty:!!(i.keepDefaultValues&&!j(r,l)),isSubmitted:i.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:i.keepDirtyValues?i.keepDefaultValues&&n?oe(l,n):t.dirtyFields:i.keepDefaultValues&&r?oe(l,r):i.keepDirty?t.dirtyFields:{},touchedFields:i.keepTouched?t.touchedFields:{},errors:i.keepErrors?t.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:l})},$e=(r,i)=>pe(Y(r)?r(n):r,i),Ft=(r,i={})=>{const u=y(a,r),g=u&&u._f;if(g){const f=g.refs?g.refs[0]:g.ref;f.focus&&(f.focus(),i.shouldSelect&&Y(f.select)&&f.select())}},At=r=>{t={...t,...r}},Ke={control:{register:we,unregister:xe,getFieldState:Be,handleSubmit:He,setError:Ie,_subscribe:We,_runSchema:te,_focusError:De,_getWatch:m,_getDirty:J,_setValid:k,_setFieldArray:ae,_setDisabledField:qe,_setErrors:P,_getFieldArray:x,_reset:pe,_resetDefaultValues:()=>Y(s.defaultValues)&&s.defaultValues().then(r=>{$e(r,s.resetOptions),_.state.next({isLoading:!1})}),_removeUnmounted:se,_disableForm:Vt,_subjects:_,_proxyFormState:b,get _fields(){return a},get _formValues(){return n},get _state(){return c},set _state(r){c=r},get _defaultValues(){return l},get _names(){return d},set _names(r){d=r},get _formState(){return t},get _options(){return s},set _options(r){s={...s,...r}}},subscribe:bt,trigger:le,register:we,handleSubmit:He,watch:_t,setValue:W,getValues:ge,reset:$e,resetField:mt,clearErrors:vt,unregister:xe,setError:Ie,setFocus:Ft,getFieldState:Be};return{...Ke,formControl:Ke}}function Yt(e={}){const s=V.useRef(void 0),t=V.useRef(void 0),[a,l]=V.useState({isDirty:!1,isValidating:!1,isLoading:Y(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Y(e.defaultValues)?void 0:e.defaultValues});if(!s.current)if(e.formControl)s.current={...e.formControl,formState:a},e.defaultValues&&!Y(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...d}=pt(e);s.current={...d,formState:a}}const n=s.current.control;return n._options=e,Ue(()=>{const c=n._subscribe({formState:n._proxyFormState,callback:()=>l({...n._formState}),reRenderRoot:!0});return l(d=>({...d,isReady:!0})),n._formState.isReady=!0,c},[n]),V.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),V.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),V.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),V.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),V.useEffect(()=>{if(n._proxyFormState.isDirty){const c=n._getDirty();c!==a.isDirty&&n._subjects.state.next({isDirty:c})}},[n,a.isDirty]),V.useEffect(()=>{e.values&&!j(e.values,t.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),t.current=e.values,l(c=>({...c}))):n._resetDefaultValues()},[n,e.values]),V.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),s.current.formState=nt(a,n),s.current}export{zt as FormProvider,Ot as appendErrors,pt as createFormControl,y as get,D as set,Gt as useController,Yt as useForm,Me as useFormContext,St as useFormState,Ct as useWatch};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|