react-simple-formkit 2.2.3 → 2.2.4
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/README.md +2 -1
- package/dist/react-simple-formkit.js +4 -4
- package/dist/react-simple-formkit.mjs +426 -417
- package/dist/react-simple-formkit.umd.js +4 -4
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(O,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],r):(O=typeof globalThis<"u"?globalThis:O||self,r(O.Name={},O.React))})(this,function(O,r){"use strict";var re={exports:{}},G={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var fe;function
|
|
9
|
+
*/var fe;function Se(){if(fe)return G;fe=1;var s=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function i(f,h,E){var m=null;if(E!==void 0&&(m=""+E),h.key!==void 0&&(m=""+h.key),"key"in h){E={};for(var g in h)g!=="key"&&(E[g]=h[g])}else E=h;return h=E.ref,{$$typeof:s,type:f,key:m,ref:h!==void 0?h:null,props:E}}return G.Fragment=a,G.jsx=i,G.jsxs=i,G}var H={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var de;function
|
|
17
|
+
*/var de;function Ce(){return de||(de=1,process.env.NODE_ENV!=="production"&&function(){function s(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Y?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case C:return"Fragment";case V:return"Profiler";case P:return"StrictMode";case ne:return"Suspense";case ae:return"SuspenseList";case K:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case o:return"Portal";case Q:return(e.displayName||"Context")+".Provider";case Z:return(e._context.displayName||"Context")+".Consumer";case se:var l=e.render;return e=e.displayName,e||(e=l.displayName||l.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case oe:return l=e.displayName||null,l!==null?l:s(e.type)||"Memo";case j:l=e._payload,e=e._init;try{return s(e(l))}catch{}}return null}function a(e){return""+e}function i(e){try{a(e);var l=!1}catch{l=!0}if(l){l=console;var k=l.error,F=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return k.call(l,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",F),a(e)}}function f(e){if(e===C)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===j)return"<...>";try{var l=s(e);return l?"<"+l+">":"<...>"}catch{return"<...>"}}function h(){var e=D.A;return e===null?null:e.getOwner()}function E(){return Error("react-stack-top-frame")}function m(e){if(B.call(e,"key")){var l=Object.getOwnPropertyDescriptor(e,"key").get;if(l&&l.isReactWarning)return!1}return e.key!==void 0}function g(e,l){function k(){q||(q=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",l))}k.isReactWarning=!0,Object.defineProperty(e,"key",{get:k,configurable:!0})}function R(){var e=s(this.type);return $[e]||($[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function S(e,l,k,F,N,_,U,J){return k=_.ref,e={$$typeof:u,type:e,key:l,props:_,_owner:N},(k!==void 0?k:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:R}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:U}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:J}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function d(e,l,k,F,N,_,U,J){var T=l.children;if(T!==void 0)if(F)if(I(T)){for(F=0;F<T.length;F++)b(T[F]);Object.freeze&&Object.freeze(T)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else b(T);if(B.call(l,"key")){T=s(e);var W=Object.keys(l).filter(function(ce){return ce!=="key"});F=0<W.length?"{key: someKey, "+W.join(": ..., ")+": ...}":"{key: someKey}",te[T+F]||(W=0<W.length?"{"+W.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
18
|
let props = %s;
|
|
19
19
|
<%s {...props} />
|
|
20
20
|
React keys must be passed directly to JSX without using spread:
|
|
21
21
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,p,y,x,y),ee[y+p]=!0)}if(y=null,R!==void 0&&(l(R),y=""+R),g(c)&&(l(c.key),y=""+c.key),"key"in c){R={};for(var N in c)N!=="key"&&(R[N]=c[N])}else R=c;return y&&k(R,typeof e=="function"?e.displayName||e.name||"Unknown":e),F(e,y,_,P,E(),R,U,J)}function m(e){typeof e=="object"&&e!==null&&e.$$typeof===u&&e._store&&(e._store.validated=1)}var o=r,u=Symbol.for("react.transitional.element"),b=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),O=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),Y=Symbol.for("react.consumer"),ie=Symbol.for("react.context"),X=Symbol.for("react.forward_ref"),se=Symbol.for("react.suspense"),ne=Symbol.for("react.suspense_list"),ae=Symbol.for("react.memo"),Z=Symbol.for("react.lazy"),j=Symbol.for("react.activity"),Q=Symbol.for("react.client.reference"),W=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=Object.prototype.hasOwnProperty,D=Array.isArray,M=console.createTask?console.createTask:function(){return null};o={"react-stack-bottom-frame":function(e){return e()}};var K,q={},$=o["react-stack-bottom-frame"].bind(o,h)(),S=M(i(h)),ee={};H.Fragment=d,H.jsx=function(e,c,R,p,P){var _=1e4>W.recentlyCreatedOwnerStacks++;return f(e,c,R,!1,p,P,_?Error("react-stack-top-frame"):$,_?M(i(e)):S)},H.jsxs=function(e,c,R,p,P){var _=1e4>W.recentlyCreatedOwnerStacks++;return f(e,c,R,!0,p,P,_?Error("react-stack-top-frame"):$,_?M(i(e)):S)}}()),H}var be;function Ce(){return be||(be=1,process.env.NODE_ENV==="production"?te.exports=ke():te.exports=ve()),te.exports}var he=Ce();const C=()=>{},Ee=r.createContext({ref:null,watch:C,actions:{reset:C,resetField:C,setValue:C,getValues:C,getErrors:C,getFieldStates:C,getFormStates:C,setError:C,clearError:C,clearErrors:C,checkValidity:C,getNumberFields:C,getFieldValidity:C,getDefaultValues:C,setFieldState:C,resetFieldState:C,getControlledFields:C},registerController:C,registerHookWatcher:C,lastReloadedAt:C,loadFormValues:C,getWatchValue:C,channels:{}}),ue=()=>r.useContext(Ee),Se=({id:s,control:a,method:l,action:i,children:E,onSubmit:h=()=>{},onInput:g=()=>{},onChange:k=()=>{},onBlur:v=()=>{},onReset:F=()=>{},numberFields:f=[],className:m,...o})=>(r.useEffect(()=>{const u=a.channels.subscribe("onChange",k),b=a.channels.subscribe("onBlur",v);return()=>{u(),b()}},[a.lastReloadedAt]),he.jsx(Ee.Provider,{value:a,children:he.jsx("form",{id:s,ref:a.ref,action:i,method:l,className:m,onInput:g,onSubmit:u=>{l||u.preventDefault();const b=a.loadFormValues();h(b)},onChange:u=>{const b=u.target.name;!b||a.actions.getControlledFields().has(b)||a.actions.setValue(b,u.target.value)},onBlur:u=>{const b=u.target.name;if(!b||a.actions.getControlledFields().has(b))return;const d=u.target.value;a.channels.publish("onBlur",b,d,a.actions.getValues())},onReset:u=>{a.actions.reset(),F(u)},...o,children:E},a.lastReloadedAt)})),ge=({control:s,name:a,compute:l})=>{const{getWatchValue:i,registerHookWatcher:E}=s||ue(),h=i({name:a,compute:l}),[g,k]=r.useState(h);return r.useEffect(()=>{const v=E({name:a,compute:l,value:g,setValue:k});return()=>v.forEach(F=>F())},[]),g},me=({name:s,defaultValue:a})=>{const{actions:l,registerController:i,channels:E}=ue(),h=r.useRef(),g=l.getDefaultValues()[s]||a||"",[k,v]=r.useState(g),F=ge({name:`fieldStates.${s}`}),f=r.useCallback((o,{shouldDirty:u=!0,shouldOnChange:b=!0}={})=>{var O,V;let d=o;(O=o==null?void 0:o.target)!=null&&O.value&&(d=o.target.value),(V=o==null?void 0:o.target)!=null&&V.checked&&(d=o.target.checked+""),v(d),l.setValue(s,d,{shouldDirty:u,shouldOnChange:b})},[l.setValue]),m=r.useCallback(o=>{const u=l.getValues(),b=o??u[s];E.publish("onBlur",s,b,u)},[]);return r.useEffect(()=>i(s,v),[]),{ref:h,name:s,defaultValue:g,value:k,onChange:f,onBlur:m,fieldState:F}},pe=({name:s,defaultValue:a,render:l=({ref:i,name:E,defaultValue:h,value:g,onChange:k,onBlur:v,fieldState:F})=>null})=>{const i=me({name:s,defaultValue:a});return l(i)},ye=["errors","fieldStates","formState"],re=(s={},a="")=>a.split(".").reduce((l,i)=>l&&l[i]!==void 0?l[i]:void 0,s),we=(s={},a="",l)=>{let i=s;const E=a.split(".");return E.forEach((h,g)=>{g<E.length-1&&(i[h]||(i[h]={}),g===E.length-2&&(i[h]={...i[h]}),i=i[h]),i[h]=l}),s},L=s=>ye.some(a=>s.startsWith(a))?s:"values."+s,Fe=["badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing"],Re=s=>{typeof s.setCustomValidity=="function"&&s.setCustomValidity("");let a=s.validity,l=Fe.find(i=>a[i]);if(l)return{type:l,message:s.validationMessage}};class Te{constructor(){this.events=new Map,this.watchEvents=new Map}getWatchEvents(){return this.watchEvents}getEvents(){return this.events}subscribe(a,l){return this.events.has(a)||this.events.set(a,new Set),this.events.get(a).add(l),()=>{var i;return(i=this.events.get(a))==null?void 0:i.delete(l)}}subscribeWatch(a,l){this.watchEvents.has(a)||(this.watchEvents.set(a,new Set),this.watchEvents.get(a).add(l))}publish(a,...l){this.events.forEach((i,E)=>{a.includes(E)&&i.forEach(h=>h(...l))}),this.watchEvents.forEach((i,E)=>{a.includes(E)&&i.forEach(h=>h(...l))})}reset(){this.events.clear(),this.watchEvents.clear()}}const _e=()=>{const s=r.useRef(new Te),a=r.useCallback((k,...v)=>{s.current.publish(k,...v)},[]),l=r.useCallback((k,v)=>s.current.subscribe(k,v),[]),i=r.useCallback((k,v)=>{s.current.subscribeWatch(k,v)},[]),E=r.useCallback(()=>s.current.getEvents(),[]),h=r.useCallback(()=>s.current.getWatchEvents(),[]),g=r.useCallback(()=>{s.current.reset()},[]);return{publish:a,subscribe:l,reset:g,getEvents:E,subscribeWatch:i,getWatchEvents:h}},Ae=()=>{const[s,a]=r.useState(),l=r.useCallback(()=>a(new Date().toString()),[]);return[s,l]},Oe=()=>{const[,s]=r.useState({});return r.useCallback(()=>s({}),[])},Pe=({channels:s,getValues:a,getErrors:l,getFieldStates:i,getFormState:E})=>{const h=Oe(),g=r.useCallback(({name:f,compute:m})=>{if(typeof m=="function")return m(a());if(Array.isArray(f)){const o={};return f.forEach(u=>{o[u]=g({name:u})}),o}return re({...a(),errors:{...l()},formState:{...E()},fieldStates:{...i()}},f)},[]),k=r.useCallback(f=>{if(!f)return s.subscribeWatch("values",()=>h()),a();if(typeof f=="string"){const m=L(f);return s.subscribeWatch(m,()=>h()),g({name:f})}if(Array.isArray(f)){const m={};return f.forEach(o=>{const u=L(o);s.subscribeWatch(u,()=>h()),m[o]=g({name:o})}),{...m}}throw new Error("Parameters of watch must be string or array of string")},[]),v=r.useCallback(({name:f,compute:m,setValue:o})=>{if(typeof m=="function")return[s.subscribe("values",()=>{const b=g({compute:m});o(b)})];if(!f)return[s.subscribe("values",()=>{o(a())})];if(typeof f=="string"){const u=L(f);return[s.subscribe(u,()=>{const d=g({name:f});o(d)})]}if(Array.isArray(f)){const u=g({name:f}),b=[];return f.forEach(d=>{const O=L(d),V=s.subscribe(O,()=>{const Y=g({name:d});u[d]=Y,o({...u})});b.push(V)}),b}throw new Error("Parameters of name must be string or array of string or compute must be a function")},[]),F=r.useCallback((f,m)=>{if(!f)return s.subscribe("values",m);if(typeof f=="string"){const o=L(f);return s.subscribe(o,m)}if(Array.isArray(f)){const o={},u=[];return f.forEach(b=>{const d=L(b),O=s.subscribe(d,()=>{o[b]=g({name:b}),m({...o})});u.push(O)}),u}throw new Error("Parameters of name must be string or array of string")},[s]);return{watch:k,registerHookWatcher:v,getWatchValue:g,subscribe:F}},le={isDirty:!1,isTouched:!1,error:null},je=[],Ne={},Ve=({numberFields:s=je,defaultValues:a=Ne,shouldUnRegister:l=!1,shouldConvertNumber:i=!1}={})=>{const[E,h]=Ae(),g=r.useRef(),k=r.useRef(!1),v=r.useRef(!1),F=r.useRef(s),f=r.useRef(new Map),m=r.useRef({}),o=r.useRef({}),u=r.useRef({...a}),b=r.useRef({...a}),d=_e(),O=r.useCallback(()=>{o.current=Object.keys(b.current).reduce((t,n)=>({...t,[n]:{...le}}),{})},[]),V=r.useCallback((t={})=>{b.current={...b.current,...t},u.current={...b.current},f.current.forEach((n,w)=>{n(b.current[w])}),k.current=!1,m.current={},F.current=s,f.current=new Map,d.reset(),O(),s.length>0&&(i=!0),h()},[]),Y=r.useCallback(()=>{const t=Object.fromEntries(new FormData(g.current));return f.current.forEach((w,T)=>{t[T]=u.current[T]}),i&&F.current.forEach(w=>t.hasOwnProperty(w)&&(t[w]=Number(t[w])||0)),{...u.current,...t}},[]),ie=r.useCallback(()=>!!Object.values(B()).find(t=>t.isDirty),[]),X=r.useCallback(()=>!!Object.values(W()).find(t=>!!t),[]),se=r.useCallback(t=>Re(t.target),[]),ne=r.useCallback(()=>b.current,[]),ae=r.useCallback(()=>F.current,[]),Z=r.useCallback(()=>f.current,[]),j=r.useCallback((t,n)=>n?Array.isArray(n)?n.reduce((w,T)=>({...w,[T]:re(t,T)}),{}):re(t,n):{...t},[]),Q=r.useCallback(t=>j(u.current,t),[j]),W=r.useCallback(t=>j(m.current,t),[j]),B=r.useCallback(t=>j(o.current,t),[j]),D=r.useCallback(t=>j({isDirty:k.current,isError:v.current,errorFields:Object.keys(m.current).filter(n=>!!m.current[n]),dirtyFields:Object.keys(o.current).filter(n=>o.current[n].isDirty),touchedFields:Object.keys(o.current).filter(n=>o.current[n].isTouched)},t),[j]),{watch:M,registerHookWatcher:K,getWatchValue:q,subscribe:$}=Pe({channels:d,getValues:Q,getErrors:W,getFieldStates:B,getFormState:D}),S=r.useCallback((t,n,w)=>{const T=o.current[t]||{...le};re(T,n)!==w&&(we(o.current,`${t}.${n}`,w),d.publish(`fieldStates.${t}.${n}`,w),n==="error"&&d.publish("formState.errorFields",D("errorFields")),n==="isDirty"&&d.publish("formState.dirtyFields",D("dirtyFields")),n==="isTouched"&&d.publish("formState.touchedFields",D("touchedFields")))},[]),ee=r.useCallback(t=>{S(t,"isDirty",!1),S(t,"isTouched",!1),S(t,"error",null)},[S]),e=r.useCallback((t,n)=>{if(m.current[t]===n)return;m.current[t]=n,S(t,"error",n),d.publish(`errors.${t}`,n);const T=X();v.current!==T&&(v.current=T,d.publish("formState.isError",T))},[S]),c=r.useCallback(t=>{if(!m.current[t])return;m.current[t]=null,S(t,"error",null),d.publish(`errors.${t}`,null);const n=X();v.current!==n&&(v.current=n,d.publish("formState.isError",n))},[S]),R=r.useCallback(()=>{if(Object.keys(m.current)===0)return;Object.keys(m.current).forEach(n=>c(n)),m.current={};const t=X();v.current!==t&&(v.current=t,d.publish("formState.isError",t))},[]),p=r.useCallback(t=>{const n=Re(t.target);n?e(t.target.name,n):c(t.target.name)},[e,c]),P=r.useCallback((t,n,{shouldDirty:w=!0,shouldOnChange:T=!0}={})=>{if(n===u.current[t])return;i&&F.current.includes(t)&&(n=Number(n)||void 0),S(t,"isTouched",!0);const ce=n!==b.current[t];w&&o.current[t].isDirty!==ce&&S(t,"isDirty",ce);const I=ie();k.current!==I&&(k.current=I,d.publish("formState.isDirty",I)),u.current[t]=n;const z=f.current.get(t);z&&z(n),d.publish(`values.${t}`,n,{shouldDirty:w,shouldOnChange:T}),T&&d.publish("onChange",t,n,u.current)},[S]),_=r.useCallback((t,n)=>(f.current.set(t,n),o.current[t]={...le},()=>{l&&f.current.delete(t)}),[]),U=r.useCallback((t,{keepError:n,keepDirty:w,keepTouched:T,keepCustomState:ce,defaultValue:I})=>{const z=f.current.get(t);if(!z)throw new Error(`Cannot reset "${t}" because it's uncontrolled field`);b.current[t]=I,u.current[t]=I,z&&z(I),n||c(t),w||S(t,"isDirty",!1),T||S(t,"isTouched",!1)},[c,S]),J=r.useCallback((t,n=N.getValues(t))=>{d.publish("onBlur",t,n,N.getValues())},[]),y=r.useCallback(t=>d.subscribe("onChange",t),[]),x=r.useCallback(t=>d.subscribe("onBlur",t),[]),N=r.useMemo(()=>({subscribe:$,reset:V,resetField:U,setValue:P,getValues:Q,getErrors:W,getFieldStates:B,getFormState:D,setError:e,clearError:c,clearErrors:R,checkValidity:p,getNumberFields:ae,getFieldValidity:se,getDefaultValues:ne,setFieldState:S,triggerFieldBlur:J,resetFieldState:ee,getControlledFields:Z,subscribeChange:y,subscribeBlur:x,getEvents:d.getEvents,getWatchEvents:d.getWatchEvents}),[$,V,U,P,Q,W,B,D,e,c,R,p,ae,se,ne,S,ee,J,Z,y,x]),oe=r.useMemo(()=>({ref:g,watch:M,actions:N,registerController:_,registerHookWatcher:K,lastReloadedAt:E,loadFormValues:Y,getWatchValue:q,channels:d}),[g,M,N,_,K,E,Y,q,d]),xe=r.useMemo(()=>({control:oe,actions:N,watch:M}),[E,oe,N,M]);return r.useLayoutEffect(()=>{if([...g.current.querySelectorAll("[name]")].forEach(n=>{!n.defaultValue&&!f.current.has(n.name)&&b.current[n.name]&&(n.defaultValue=b.current[n.name]),n.type==="number"&&!F.current.includes(n.name)&&F.current.push(n.name)}),g.current){const n=Y();u.current={...n},b.current={...n}}},[E]),r.useLayoutEffect(()=>{O()},[]),xe};A.Controller=pe,A.Form=Se,A.useController=me,A.useForm=Ve,A.useFormContext=ue,A.useWatch=ge,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
|
|
22
|
+
<%s key={someKey} {...props} />`,F,T,W,T),te[T+F]=!0)}if(T=null,k!==void 0&&(i(k),T=""+k),m(l)&&(i(l.key),T=""+l.key),"key"in l){k={};for(var x in l)x!=="key"&&(k[x]=l[x])}else k=l;return T&&g(k,typeof e=="function"?e.displayName||e.name||"Unknown":e),S(e,T,_,N,h(),k,U,J)}function b(e){typeof e=="object"&&e!==null&&e.$$typeof===u&&e._store&&(e._store.validated=1)}var c=r,u=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),Z=Symbol.for("react.consumer"),Q=Symbol.for("react.context"),se=Symbol.for("react.forward_ref"),ne=Symbol.for("react.suspense"),ae=Symbol.for("react.suspense_list"),oe=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),Y=Symbol.for("react.client.reference"),D=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=Object.prototype.hasOwnProperty,I=Array.isArray,L=console.createTask?console.createTask:function(){return null};c={"react-stack-bottom-frame":function(e){return e()}};var q,$={},ee=c["react-stack-bottom-frame"].bind(c,E)(),p=L(f(E)),te={};H.Fragment=C,H.jsx=function(e,l,k,F,N){var _=1e4>D.recentlyCreatedOwnerStacks++;return d(e,l,k,!1,F,N,_?Error("react-stack-top-frame"):ee,_?L(f(e)):p)},H.jsxs=function(e,l,k,F,N){var _=1e4>D.recentlyCreatedOwnerStacks++;return d(e,l,k,!0,F,N,_?Error("react-stack-top-frame"):ee,_?L(f(e)):p)}}()),H}var be;function ye(){return be||(be=1,process.env.NODE_ENV==="production"?re.exports=Se():re.exports=Ce()),re.exports}var he=ye();const v=()=>{},Ee=r.createContext({ref:null,watch:v,actions:{reset:v,resetField:v,setValue:v,getValues:v,getErrors:v,getFieldStates:v,getFormStates:v,setError:v,clearError:v,clearErrors:v,checkValidity:v,getNumberFields:v,getFieldValidity:v,getDefaultValues:v,setFieldState:v,resetFieldState:v,getControlledFields:v},registerController:v,registerHookWatcher:v,lastReloadedAt:v,loadFormValues:v,getWatchValue:v,channels:{}}),le=()=>r.useContext(Ee),pe=({id:s,control:a,method:i,action:f,children:h,onSubmit:E=()=>{},onInput:m=()=>{},onChange:g=()=>{},onBlur:R=()=>{},onReset:S=()=>{},numberFields:d=[],className:b,...c})=>(r.useEffect(()=>{const u=a.channels.subscribe("onChange",g),o=a.channels.subscribe("onBlur",R);return()=>{u(),o()}},[a.lastReloadedAt]),he.jsx(Ee.Provider,{value:a,children:he.jsx("form",{id:s,ref:a.ref,action:f,method:i,className:b,onInput:m,onSubmit:u=>{i||u.preventDefault();const o=a.loadFormValues();E(o)},onChange:u=>{const o=u.target.name;!o||a.actions.getControlledFields().has(o)||a.actions.setValue(o,u.target.value)},onBlur:u=>{const o=u.target.name;if(!o||a.actions.getControlledFields().has(o))return;const C=u.target.value;a.channels.publish("onBlur",o,C,a.actions.getValues())},onReset:u=>{a.actions.reset(),S(u)},...c,children:h},a.lastReloadedAt)})),me=({control:s,name:a,compute:i})=>{const{getWatchValue:f,registerHookWatcher:h}=s||le(),E=f({name:a,compute:i}),[m,g]=r.useState(E);return r.useEffect(()=>{const R=h({name:a,compute:i,value:m,setValue:g});return()=>R.forEach(S=>S())},[]),m},ge=({name:s,defaultValue:a})=>{const{actions:i,registerController:f,channels:h}=le(),E=r.useRef(),m=i.getDefaultValues()[s]||a||"",[g,R]=r.useState(m),S=me({name:`fieldStates.${s}`}),d=r.useCallback((c,{shouldDirty:u=!0,shouldOnChange:o=!0}={})=>{var P,V;let C=c;(P=c==null?void 0:c.target)!=null&&P.value&&(C=c.target.value),(V=c==null?void 0:c.target)!=null&&V.checked&&(C=c.target.checked+""),R(C),i.setValue(s,C,{shouldDirty:u,shouldOnChange:o})},[i.setValue]),b=r.useCallback(c=>{const u=i.getValues(),o=c??u[s];h.publish("onBlur",s,o,u)},[]);return r.useEffect(()=>f(s,R),[]),{ref:E,name:s,defaultValue:m,value:g,onChange:d,onBlur:b,fieldState:S}},Fe=({name:s,defaultValue:a,render:i=({ref:f,name:h,defaultValue:E,value:m,onChange:g,onBlur:R,fieldState:S})=>null})=>{const f=ge({name:s,defaultValue:a});return i(f)},Te=["errors","fieldStates","formState"],X=(s={},a="")=>a.split(".").reduce((i,f)=>i&&i[f]!==void 0?i[f]:void 0,s),Re=(s={},a="",i)=>{let f=s;const h=a.split(".");return h.forEach((E,m)=>{m<h.length-1&&(f[E]||(f[E]={}),m===h.length-2&&(f[E]={...f[E]}),f=f[E]),f[E]=i}),s},M=s=>Te.some(a=>s.startsWith(a))?s:"values."+s,we=["badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing"],ke=s=>{typeof s.setCustomValidity=="function"&&s.setCustomValidity("");let a=s.validity,i=we.find(f=>a[f]);if(i)return{type:i,message:s.validationMessage}};class _e{constructor(){this.events=new Map,this.watchEvents=new Map}getWatchEvents(){return this.watchEvents}getEvents(){return this.events}subscribe(a,i){return this.events.has(a)||this.events.set(a,new Set),this.events.get(a).add(i),()=>{var f;return(f=this.events.get(a))==null?void 0:f.delete(i)}}subscribeWatch(a,i){this.watchEvents.has(a)||(this.watchEvents.set(a,new Set),this.watchEvents.get(a).add(i))}publish(a,...i){this.events.forEach((f,h)=>{a.includes(h)&&f.forEach(E=>E(...i))}),this.watchEvents.forEach((f,h)=>{a.includes(h)&&f.forEach(E=>E(...i))})}reset(){this.events.clear(),this.watchEvents.clear()}}const Ae=()=>{const s=r.useRef(new _e),a=r.useCallback((g,...R)=>{s.current.publish(g,...R)},[]),i=r.useCallback((g,R)=>s.current.subscribe(g,R),[]),f=r.useCallback((g,R)=>{s.current.subscribeWatch(g,R)},[]),h=r.useCallback(()=>s.current.getEvents(),[]),E=r.useCallback(()=>s.current.getWatchEvents(),[]),m=r.useCallback(()=>{s.current.reset()},[]);return{publish:a,subscribe:i,reset:m,getEvents:h,subscribeWatch:f,getWatchEvents:E}},Oe=()=>{const[s,a]=r.useState(),i=r.useCallback(()=>a(new Date().toString()),[]);return[s,i]},Pe=()=>{const[,s]=r.useState({});return r.useCallback(()=>s({}),[])},je=({channels:s,getValues:a,getErrors:i,getFieldStates:f,getFormState:h})=>{const E=Pe(),m=r.useCallback(({name:d,compute:b})=>{if(typeof b=="function")return b(a());if(Array.isArray(d)){const c={};return d.forEach(u=>{c[u]=m({name:u})}),c}return X({...a(),errors:{...i()},formState:{...h()},fieldStates:{...f()}},d)},[]),g=r.useCallback(d=>{if(!d)return s.subscribeWatch("values",()=>E()),a();if(typeof d=="string"){const b=M(d);return s.subscribeWatch(b,()=>E()),m({name:d})}if(Array.isArray(d)){const b={};return d.forEach(c=>{const u=M(c);s.subscribeWatch(u,()=>E()),b[c]=m({name:c})}),{...b}}throw new Error("Parameters of watch must be string or array of string")},[]),R=r.useCallback(({name:d,compute:b,setValue:c})=>{if(typeof b=="function")return[s.subscribe("values",()=>{const o=m({compute:b});c(o)})];if(!d)return[s.subscribe("values",()=>{c(a())})];if(typeof d=="string"){const u=M(d);return[s.subscribe(u,()=>{const C=m({name:d});c(C)})]}if(Array.isArray(d)){const u=m({name:d}),o=[];return d.forEach(C=>{const P=M(C),V=s.subscribe(P,()=>{const Z=m({name:C});u[C]=Z,c({...u})});o.push(V)}),o}throw new Error("Parameters of name must be string or array of string or compute must be a function")},[]),S=r.useCallback((d,b)=>{if(!d)return s.subscribe("values",b);if(typeof d=="string"){const c=M(d);return s.subscribe(c,b)}if(Array.isArray(d)){const c={},u=[];return d.forEach(o=>{const C=M(o),P=s.subscribe(C,()=>{c[o]=m({name:o}),b({...c})});u.push(P)}),u}throw new Error("Parameters of name must be string or array of string")},[s]);return{watch:g,registerHookWatcher:R,getWatchValue:m,subscribe:S}},ve={lastReset:null,isDirty:!1,isError:!1,errorFields:[],dirtyFields:[],touchedFields:[]},ie={isDirty:!1,isTouched:!1,error:null},Ne=[],Ve={},xe=({numberFields:s=Ne,defaultValues:a=Ve,shouldUnRegister:i=!1,shouldConvertNumber:f=!1}={})=>{const[h,E]=Oe(),m=r.useRef(),g=r.useRef(s),R=r.useRef(new Map),S=r.useRef({}),d=r.useRef({}),b=r.useRef({...ve}),c=r.useRef({...a}),u=r.useRef({...a}),o=Ae(),C=r.useCallback(()=>{d.current=Object.keys(u.current).reduce((t,n)=>({...t,[n]:{...ie}}),{})},[]),P=r.useCallback((t={})=>{u.current={...u.current,...t},c.current={...u.current},R.current.forEach((n,y)=>{n(u.current[y])}),S.current={},b.current={...ve},g.current=s,R.current=new Map,o.reset(),C(),s.length>0&&(f=!0),E()},[]),V=r.useCallback(()=>{const t=Object.fromEntries(new FormData(m.current));return R.current.forEach((y,w)=>{t[w]=c.current[w]}),f&&g.current.forEach(y=>t.hasOwnProperty(y)&&(t[y]=Number(t[y])||0)),{...c.current,...t}},[]),Z=r.useCallback(()=>!!Object.values(D()).find(t=>t.isDirty),[]),Q=r.useCallback(()=>!!Object.values(Y()).find(t=>!!t),[]),se=r.useCallback(t=>ke(t.target),[]),ne=r.useCallback(()=>u.current,[]),ae=r.useCallback(()=>g.current,[]),oe=r.useCallback(()=>R.current,[]),j=r.useCallback((t,n)=>n?Array.isArray(n)?n.reduce((y,w)=>({...y,[w]:X(t,w)}),{}):X(t,n):{...t},[]),K=r.useCallback(t=>j(c.current,t),[j]),Y=r.useCallback(t=>j(S.current,t),[j]),D=r.useCallback(t=>j(d.current,t),[j]),B=r.useCallback(t=>j({...b.current,lastReset:h},t),[j,h]),{watch:I,registerHookWatcher:L,getWatchValue:q,subscribe:$}=je({channels:o,getValues:K,getErrors:Y,getFieldStates:D,getFormState:B}),ee=r.useCallback((t,n)=>{const y=b.current;X(y,t)!==n&&(Re(b.current,t,n),o.publish(`formState.${t}`,n))},[]),p=r.useCallback((t,n,y)=>{const w=d.current[t]||{...ie};X(w,n)!==y&&(Re(d.current,`${t}.${n}`,y),o.publish(`fieldStates.${t}.${n}`,y),n==="error"&&(b.current.errorFields=Object.keys(S.current).filter(A=>!!S.current[A]),o.publish("formState.errorFields",b.current.errorFields)),n==="isDirty"&&(b.current.dirtyFields=Object.keys(d.current).filter(A=>d.current[A].isDirty),o.publish("formState.dirtyFields",b.current.dirtyFields)),n==="isTouched"&&(b.current.touchedFields=Object.keys(d.current).filter(A=>d.current[A].isTouched),o.publish("formState.touchedFields",b.current.touchedFields)))},[]),te=r.useCallback(t=>{p(t,"isDirty",!1),p(t,"isTouched",!1),p(t,"error",null)},[p]),e=r.useCallback((t,n)=>{if(S.current[t]===n)return;S.current[t]=n,p(t,"error",n),o.publish(`errors.${t}`,n);const w=Q();b.current.isError!==w&&(b.current.isError=w,o.publish("formState.isError",w))},[p]),l=r.useCallback(t=>{if(!S.current[t])return;S.current[t]=null,p(t,"error",null),o.publish(`errors.${t}`,null);const n=Q();b.current.isError!==n&&(b.current.isError=n,o.publish("formState.isError",n))},[p]),k=r.useCallback(()=>{if(Object.keys(S.current)===0)return;Object.keys(S.current).forEach(n=>l(n)),S.current={};const t=Q();b.current.isError!==t&&(b.current.isError=t,o.publish("formState.isError",t))},[]),F=r.useCallback(t=>{const n=ke(t.target);n?e(t.target.name,n):l(t.target.name)},[e,l]),N=r.useCallback((t,n,{shouldDirty:y=!0,shouldOnChange:w=!0}={})=>{if(n===c.current[t])return;f&&g.current.includes(t)&&(n=Number(n)||void 0),p(t,"isTouched",!0);const ue=n!==u.current[t];y&&d.current[t].isDirty!==ue&&p(t,"isDirty",ue);const A=Z();b.current.isDirty!==A&&(b.current.isDirty=A,o.publish("formState.isDirty",A)),c.current[t]=n;const z=R.current.get(t);z&&z(n),o.publish(`values.${t}`,n,{shouldDirty:y,shouldOnChange:w}),w&&o.publish("onChange",t,n,c.current)},[p]),_=r.useCallback((t,n)=>(R.current.set(t,n),d.current[t]={...ie},()=>{i&&R.current.delete(t)}),[]),U=r.useCallback((t,{keepError:n,keepDirty:y,keepTouched:w,keepCustomState:ue,defaultValue:A})=>{const z=R.current.get(t);if(!z)throw new Error(`Cannot reset "${t}" because it's uncontrolled field`);u.current[t]=A,c.current[t]=A,z&&z(A),n||l(t),y||p(t,"isDirty",!1),w||p(t,"isTouched",!1)},[l,p]),J=r.useCallback((t,n=x.getValues(t))=>{o.publish("onBlur",t,n,x.getValues())},[]),T=r.useCallback(t=>o.subscribe("onChange",t),[]),W=r.useCallback(t=>o.subscribe("onBlur",t),[]),x=r.useMemo(()=>({subscribe:$,reset:P,resetField:U,setValue:N,getValues:K,getErrors:Y,getFieldStates:D,getFormState:B,setError:e,clearError:l,clearErrors:k,checkValidity:F,getNumberFields:ae,getFieldValidity:se,getDefaultValues:ne,setFieldState:p,triggerFieldBlur:J,resetFieldState:te,getControlledFields:oe,subscribeChange:T,subscribeBlur:W,setFormState:ee,getEvents:o.getEvents,getWatchEvents:o.getWatchEvents}),[$,P,U,N,K,Y,D,B,e,l,k,F,ae,se,ne,p,te,J,oe,T,W,ee]),ce=r.useMemo(()=>({ref:m,watch:I,actions:x,registerController:_,registerHookWatcher:L,lastReloadedAt:h,loadFormValues:V,getWatchValue:q,channels:o}),[m,I,x,_,L,h,V,q,o]),We=r.useMemo(()=>({control:ce,actions:x,watch:I}),[h,ce,x,I]);return r.useLayoutEffect(()=>{if([...m.current.querySelectorAll("[name]")].forEach(n=>{!n.defaultValue&&!R.current.has(n.name)&&u.current[n.name]&&(n.defaultValue=u.current[n.name]),n.type==="number"&&!g.current.includes(n.name)&&g.current.push(n.name)}),m.current){const n=V();c.current={...n},u.current={...n}}},[h]),r.useLayoutEffect(()=>{C()},[]),We};O.Controller=Fe,O.Form=pe,O.useController=ge,O.useForm=xe,O.useFormContext=le,O.useWatch=me,Object.defineProperty(O,Symbol.toStringTag,{value:"Module"})});
|