react-simple-formkit 1.0.6 → 1.0.7

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 CHANGED
@@ -152,12 +152,21 @@ return (
152
152
  ```
153
153
  const handleChange = (data) => {
154
154
  console.log(data);
155
+
156
+ // setValue will trigger onChange by default and recall handle change making an infinite loop
157
+ // That why we put shouldOnChange = false here
158
+ actions.setValue("email2", data.email + "2", { shouldOnChange: false });
155
159
  };
156
160
 
157
161
  return (
158
162
  <Form form={form} onChange={handleChange}>
159
163
  <input required name="email" />
160
- <input required name="password" type="password" />
164
+ <Controller
165
+ name="email2"
166
+ render={({ ref, name, value, setValue }) => (
167
+ <input required ref={ref} name={name} value={value} onChange={(e) => setValue(e.target.value)} />
168
+ )}
169
+ />
161
170
  <button type="submit" disabled={!isDirty}>
162
171
  Submit
163
172
  </button>
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react");var J={exports:{}},V={};/**
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react");var z={exports:{}},D={};/**
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 K;function le(){if(K)return V;K=1;var o=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function b(i,c,s){var m=null;if(s!==void 0&&(m=""+s),c.key!==void 0&&(m=""+c.key),"key"in c){s={};for(var u in c)u!=="key"&&(s[u]=c[u])}else s=c;return c=s.ref,{$$typeof:o,type:i,key:m,ref:c!==void 0?c:null,props:s}}return V.Fragment=a,V.jsx=b,V.jsxs=b,V}var D={};/**
9
+ */var K;function le(){if(K)return D;K=1;var o=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function b(f,c,s){var m=null;if(s!==void 0&&(m=""+s),c.key!==void 0&&(m=""+c.key),"key"in c){s={};for(var u in c)u!=="key"&&(s[u]=c[u])}else s=c;return c=s.ref,{$$typeof:o,type:f,key:m,ref:c!==void 0?c:null,props:s}}return D.Fragment=a,D.jsx=b,D.jsxs=b,D}var Y={};/**
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 ee;function ie(){return ee||(ee=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===P?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case h:return"Fragment";case I:return"Profiler";case Y:return"StrictMode";case L:return"Suspense";case W:return"SuspenseList";case U: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 w:return"Portal";case $:return(e.displayName||"Context")+".Provider";case z:return(e._context.displayName||"Context")+".Consumer";case M:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case j:return r=e.displayName||null,r!==null?r:o(e.type)||"Memo";case x:r=e._payload,e=e._init;try{return o(e(r))}catch{}}return null}function a(e){return""+e}function b(e){try{a(e);var r=!1}catch{r=!0}if(r){r=console;var l=r.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return l.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),a(e)}}function i(e){if(e===h)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===x)return"<...>";try{var r=o(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function c(){var e=A.A;return e===null?null:e.getOwner()}function s(){return Error("react-stack-top-frame")}function m(e){if(t.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function u(e,r){function l(){S||(S=!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)",r))}l.isReactWarning=!0,Object.defineProperty(e,"key",{get:l,configurable:!0})}function R(){var e=o(this.type);return O[e]||(O[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 E(e,r,l,k,C,g,G,X){return l=g.ref,e={$$typeof:y,type:e,key:r,props:g,_owner:C},(l!==void 0?l: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:G}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:X}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function T(e,r,l,k,C,g,G,X){var _=r.children;if(_!==void 0)if(k)if(v(_)){for(k=0;k<_.length;k++)f(_[k]);Object.freeze&&Object.freeze(_)}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 f(_);if(t.call(r,"key")){_=o(e);var F=Object.keys(r).filter(function(ue){return ue!=="key"});k=0<F.length?"{key: someKey, "+F.join(": ..., ")+": ...}":"{key: someKey}",Q[_+k]||(F=0<F.length?"{"+F.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var ee;function ie(){return ee||(ee=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===A?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case h:return"Fragment";case $:return"Profiler";case I:return"StrictMode";case W:return"Suspense";case U:return"SuspenseList";case q: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 x:return"Portal";case M:return(e.displayName||"Context")+".Provider";case G:return(e._context.displayName||"Context")+".Consumer";case L:var r=e.render;return e=e.displayName,e||(e=r.displayName||r.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case F:return r=e.displayName||null,r!==null?r:o(e.type)||"Memo";case P:r=e._payload,e=e._init;try{return o(e(r))}catch{}}return null}function a(e){return""+e}function b(e){try{a(e);var r=!1}catch{r=!0}if(r){r=console;var i=r.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return i.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),a(e)}}function f(e){if(e===h)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===P)return"<...>";try{var r=o(e);return r?"<"+r+">":"<...>"}catch{return"<...>"}}function c(){var e=N.A;return e===null?null:e.getOwner()}function s(){return Error("react-stack-top-frame")}function m(e){if(t.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function u(e,r){function i(){g||(g=!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)",r))}i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}function R(){var e=o(this.type);return O[e]||(O[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 E(e,r,i,k,C,S,X,B){return i=S.ref,e={$$typeof:j,type:e,key:r,props:S,_owner:C},(i!==void 0?i: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:X}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:B}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function T(e,r,i,k,C,S,X,B){var _=r.children;if(_!==void 0)if(k)if(p(_)){for(k=0;k<_.length;k++)l(_[k]);Object.freeze&&Object.freeze(_)}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 l(_);if(t.call(r,"key")){_=o(e);var w=Object.keys(r).filter(function(ue){return ue!=="key"});k=0<w.length?"{key: someKey, "+w.join(": ..., ")+": ...}":"{key: someKey}",V[_+k]||(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} />`,k,_,F,_),Q[_+k]=!0)}if(_=null,l!==void 0&&(b(l),_=""+l),m(r)&&(b(r.key),_=""+r.key),"key"in r){l={};for(var B in r)B!=="key"&&(l[B]=r[B])}else l=r;return _&&u(l,typeof e=="function"?e.displayName||e.name||"Unknown":e),E(e,_,g,C,c(),l,G,X)}function f(e){typeof e=="object"&&e!==null&&e.$$typeof===y&&e._store&&(e._store.validated=1)}var p=n,y=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),Y=Symbol.for("react.strict_mode"),I=Symbol.for("react.profiler"),z=Symbol.for("react.consumer"),$=Symbol.for("react.context"),M=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),U=Symbol.for("react.activity"),P=Symbol.for("react.client.reference"),A=p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,t=Object.prototype.hasOwnProperty,v=Array.isArray,d=console.createTask?console.createTask:function(){return null};p={"react-stack-bottom-frame":function(e){return e()}};var S,O={},q=p["react-stack-bottom-frame"].bind(p,s)(),N=d(i(s)),Q={};D.Fragment=h,D.jsx=function(e,r,l,k,C){var g=1e4>A.recentlyCreatedOwnerStacks++;return T(e,r,l,!1,k,C,g?Error("react-stack-top-frame"):q,g?d(i(e)):N)},D.jsxs=function(e,r,l,k,C){var g=1e4>A.recentlyCreatedOwnerStacks++;return T(e,r,l,!0,k,C,g?Error("react-stack-top-frame"):q,g?d(i(e)):N)}}()),D}var re;function fe(){return re||(re=1,process.env.NODE_ENV==="production"?J.exports=le():J.exports=ie()),J.exports}var te=fe();const ae=n.createContext({}),de=()=>n.useContext(ae),be=(o,a)=>{let b=!1;return Object.keys(a).forEach(i=>{if(!(i in o)||b)return;const c=a[i],s=o[i];(typeof c=="object"||c!==s)&&(b=!0)}),b},ne=o=>!o||typeof o.checkValidity!="function"||o.checkValidity()?null:o.validationMessage,oe=({id:o,form:a,method:b,action:i,children:c,onSubmit:s=()=>{},onInput:m=()=>{},onChange:u=()=>{},numberFields:R=[],className:E,...T})=>(n.useEffect(()=>a.actions.registerOnchange(u),[u]),te.jsx(ae.Provider,{value:a,children:te.jsx("form",{ref:a==null?void 0:a.ref,action:i,className:E,onSubmit:f=>{b||f.preventDefault();const p=a.actions.loadFormValues();s(p)},onInput:f=>{if(f.target.tagName==="FORM"){const p=a.actions.loadFormValues();a.actions.setFormState(p)}else m(f)},onChange:()=>{const f=a.actions.loadFormValues();a.actions.setFormState(f)},...T,children:c})})),se=({name:o,defaultValue:a,render:b=({ref:i,name:c,defaultValue:s,value:m,setValue:u})=>null})=>{const[i,c]=n.useState(a),s=de(),m=n.useRef(),u=n.useCallback((R,{shouldDirty:E=!1}={})=>{s.actions.setFormState(T=>({...T,[o]:R}),{shouldDirty:E}),c(R)},[c,s.actions.setFormState]);return n.useEffect(()=>(s.actions.setFormState(E=>({...E,[o]:a}),{shouldDirty:!1}),s.subscribe(o,(E,{shouldDirty:T=!0})=>{c(E),s.actions.setFormState(f=>({...f,[o]:E}),{shouldDirty:T}),m.current&&typeof m.current.dispatchEvent=="function"&&m.current.dispatchEvent(new Event("change"))})),[]),b({ref:m,name:o,defaultValue:a,value:i,setValue:u})},Z=()=>{const[o,a]=n.useState({}),b=n.useMemo(()=>Object.values(o).filter(Boolean).length>0,[o]),i=n.useCallback((u,R)=>{a(E=>E[u]===R?E:{...E,[u]:R})},[]),c=n.useCallback(u=>{a(R=>({...R,...u}))},[]),s=n.useCallback(u=>{a(R=>R[u]?{...R,[u]:""}:R)},[]),m=n.useCallback(()=>{a({})},[]);return{isError:b,errors:o,changeError:i,changeErrors:c,clearError:s,clearErrors:m}},H={defaultValues:{},numberFields:[]},ce=(o=H)=>{const{defaultValues:a=H.defaultValues,numberFields:b=H.numberFields}=o,{changeError:i,errors:c,changeErrors:s,clearError:m,clearErrors:u,isError:R}=Z(),[E,T]=n.useState(!1),f=n.useRef({}),p=n.useRef(a),y=n.useRef({}),w=n.useRef(()=>{}),h=n.useRef(),Y=n.useCallback((t,{shouldDirty:v=!0}={})=>{let d=t;typeof t=="function"&&(d=t(f.current)),f.current=d;let S=E;v&&(S=be(f.current,p.current),S!==E&&T(S)),w.current(f.current)},[E]),I=n.useCallback(()=>{T(!1),u();const t=y.current;Object.values(t).forEach(d=>d("")),h.current.reset(),f.current=p.current},[u]),z=n.useCallback((t,v)=>{const d=y.current;return d[t]=v,()=>d[t]=null},[]),$=n.useCallback(t=>(w.current=t,()=>w.current=()=>{})),M=n.useCallback(t=>ne(t.target),[]),L=n.useCallback(t=>t?f.current[t]:f.current,[]),W=n.useCallback(()=>p.current,[]),j=n.useCallback(()=>{setTimeout(()=>h.current.dispatchEvent(new Event("input",{bubbles:!0})))},[]),x=n.useCallback(t=>{const v=ne(t.target);v?i(t.target.name,v):i(t.target.name,null)},[i]),U=n.useCallback((t,v,{shouldDirty:d=!0}={})=>{const S=y.current;if(typeof t=="string"){const O=S[t];if(!O)throw new Error(`${t} is uncontrolled, please use Controller for it!`);O(v,{shouldDirty:d}),j()}typeof t=="object"&&(Object.entries(t).forEach(([O,q])=>{const N=S[O];if(!N)throw new Error(`${O} is uncontrolled, please use Controller for it!`);N(q,{shouldDirty:d})}),j())},[j]),P=n.useCallback(()=>{const t=Object.fromEntries(new FormData(h.current)),v=y.current;return Object.keys(v).map(d=>{t[d]=f.current[d]}),b.forEach(d=>t.hasOwnProperty(d)&&(t[d]=+t[d])),t},[]),A=n.useMemo(()=>({setValue:U,instantChange:j,getDefaultValues:W,getFormState:L,setFormState:Y,changeError:i,changeErrors:s,clearError:m,clearErrors:u,loadFormValues:P,checkValidity:x,getFieldValidity:M,registerOnchange:$,reset:I}),[U,j,W,L,Y,i,s,m,P,M,x,$,I]);return n.useEffect(()=>{if(h.current){const t=P();p.current={...t,...a},f.current={...t,...a}}},[]),{ref:h,isDirty:E,isError:R,errors:c,numberFields:b,subscribe:z,actions:A}},Ee={Form:oe,Controller:se,useForm:ce,useValidateForm:Z};exports.Controller=se;exports.Form=oe;exports.default=Ee;exports.useForm=ce;exports.useValidateForm=Z;
22
+ <%s key={someKey} {...props} />`,k,_,w,_),V[_+k]=!0)}if(_=null,i!==void 0&&(b(i),_=""+i),m(r)&&(b(r.key),_=""+r.key),"key"in r){i={};for(var H in r)H!=="key"&&(i[H]=r[H])}else i=r;return _&&u(i,typeof e=="function"?e.displayName||e.name||"Unknown":e),E(e,_,S,C,c(),i,X,B)}function l(e){typeof e=="object"&&e!==null&&e.$$typeof===j&&e._store&&(e._store.validated=1)}var v=n,j=Symbol.for("react.transitional.element"),x=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),I=Symbol.for("react.strict_mode"),$=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),M=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),U=Symbol.for("react.suspense_list"),F=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),q=Symbol.for("react.activity"),A=Symbol.for("react.client.reference"),N=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,t=Object.prototype.hasOwnProperty,p=Array.isArray,d=console.createTask?console.createTask:function(){return null};v={"react-stack-bottom-frame":function(e){return e()}};var g,O={},y=v["react-stack-bottom-frame"].bind(v,s)(),J=d(f(s)),V={};Y.Fragment=h,Y.jsx=function(e,r,i,k,C){var S=1e4>N.recentlyCreatedOwnerStacks++;return T(e,r,i,!1,k,C,S?Error("react-stack-top-frame"):y,S?d(f(e)):J)},Y.jsxs=function(e,r,i,k,C){var S=1e4>N.recentlyCreatedOwnerStacks++;return T(e,r,i,!0,k,C,S?Error("react-stack-top-frame"):y,S?d(f(e)):J)}}()),Y}var re;function fe(){return re||(re=1,process.env.NODE_ENV==="production"?z.exports=le():z.exports=ie()),z.exports}var te=fe();const ae=n.createContext({}),de=()=>n.useContext(ae),be=(o,a)=>{let b=!1;return Object.keys(a).forEach(f=>{if(!(f in o)||b)return;const c=a[f],s=o[f];(typeof c=="object"||c!==s)&&(b=!0)}),b},ne=o=>!o||typeof o.checkValidity!="function"||o.checkValidity()?null:o.validationMessage,oe=({id:o,form:a,method:b,action:f,children:c,onSubmit:s=()=>{},onInput:m=()=>{},onChange:u=()=>{},numberFields:R=[],className:E,...T})=>(n.useEffect(()=>a.actions.registerOnchange(u),[u]),te.jsx(ae.Provider,{value:a,children:te.jsx("form",{ref:a==null?void 0:a.ref,action:f,className:E,onSubmit:l=>{b||l.preventDefault();const v=a.actions.loadFormValues();s(v)},onInput:l=>{if(l.target.tagName==="FORM"){const v=a.actions.loadFormValues();a.actions.setFormState(v)}else m(l)},onChange:()=>{const l=a.actions.loadFormValues();a.actions.setFormState(l)},...T,children:c})})),se=({name:o,defaultValue:a,render:b=({ref:f,name:c,defaultValue:s,value:m,setValue:u})=>null})=>{const[f,c]=n.useState(a),s=de(),m=n.useRef(),u=n.useCallback((R,{shouldDirty:E=!1}={})=>{s.actions.setFormState(T=>({...T,[o]:R}),{shouldDirty:E}),c(R)},[c,s.actions.setFormState]);return n.useEffect(()=>(s.actions.setFormState(E=>({...E,[o]:a}),{shouldDirty:!1}),s.subscribe(o,(E,{shouldDirty:T=!0,shouldOnChange:l=!0}={})=>{c(E),s.actions.setFormState(v=>({...v,[o]:E}),{shouldDirty:T,shouldOnChange:l}),m.current&&typeof m.current.dispatchEvent=="function"&&l&&m.current.dispatchEvent(new Event("change"))})),[]),b({ref:m,name:o,defaultValue:a,value:f,setValue:u})},Q=()=>{const[o,a]=n.useState({}),b=n.useMemo(()=>Object.values(o).filter(Boolean).length>0,[o]),f=n.useCallback((u,R)=>{a(E=>E[u]===R?E:{...E,[u]:R})},[]),c=n.useCallback(u=>{a(R=>({...R,...u}))},[]),s=n.useCallback(u=>{a(R=>R[u]?{...R,[u]:""}:R)},[]),m=n.useCallback(()=>{a({})},[]);return{isError:b,errors:o,changeError:f,changeErrors:c,clearError:s,clearErrors:m}},Z={defaultValues:{},numberFields:[]},ce=(o=Z)=>{const{defaultValues:a=Z.defaultValues,numberFields:b=Z.numberFields}=o,{changeError:f,errors:c,changeErrors:s,clearError:m,clearErrors:u,isError:R}=Q(),[E,T]=n.useState(!1),l=n.useRef({}),v=n.useRef(a),j=n.useRef({}),x=n.useRef(()=>{}),h=n.useRef(),I=n.useCallback((t,{shouldDirty:p=!0,shouldOnChange:d=!0}={})=>{let g=t;typeof t=="function"&&(g=t(l.current)),l.current=g;let O=E;p&&(O=be(l.current,v.current),O!==E&&T(O)),d&&x.current(l.current)},[E]),$=n.useCallback(()=>{T(!1),u();const t=j.current;Object.values(t).forEach(d=>d("")),h.current.reset(),l.current=v.current},[u]),G=n.useCallback((t,p)=>{const d=j.current;return d[t]=p,()=>d[t]=null},[]),M=n.useCallback(t=>(x.current=t,()=>x.current=()=>{})),L=n.useCallback(t=>ne(t.target),[]),W=n.useCallback(t=>t?l.current[t]:l.current,[]),U=n.useCallback(()=>v.current,[]),F=n.useCallback(()=>{setTimeout(()=>h.current.dispatchEvent(new Event("input",{bubbles:!0})))},[]),P=n.useCallback(t=>{const p=ne(t.target);p?f(t.target.name,p):f(t.target.name,null)},[f]),q=n.useCallback((t,p,{shouldDirty:d=!0,shouldOnChange:g=!0}={})=>{const O=j.current;switch(typeof t){case"string":{const y=O[t];if(!y)throw new Error(`${t} is uncontrolled, please use Controller for it!`);y(p,{shouldDirty:d,shouldOnChange:g}),g&&F()}break;case"object":Object.entries(t).forEach(([y,J])=>{const V=O[y];if(!V)throw new Error(`${y} is uncontrolled, please use Controller for it!`);V(J,{shouldDirty:d,shouldOnChange:g})}),g&&F();default:return}},[F]),A=n.useCallback(()=>{const t=Object.fromEntries(new FormData(h.current)),p=j.current;return Object.keys(p).map(d=>{t[d]=l.current[d]}),b.forEach(d=>t.hasOwnProperty(d)&&(t[d]=+t[d])),t},[]),N=n.useMemo(()=>({setValue:q,instantChange:F,getDefaultValues:U,getFormState:W,setFormState:I,changeError:f,changeErrors:s,clearError:m,clearErrors:u,loadFormValues:A,checkValidity:P,getFieldValidity:L,registerOnchange:M,reset:$}),[q,F,U,W,I,f,s,m,A,L,P,M,$]);return n.useEffect(()=>{if(h.current){const t=A();v.current={...t,...a},l.current={...t,...a}}},[]),{ref:h,isDirty:E,isError:R,errors:c,numberFields:b,subscribe:G,actions:N}},Ee={Form:oe,Controller:se,useForm:ce,useValidateForm:Q};exports.Controller=se;exports.Form=oe;exports.default=Ee;exports.useForm=ce;exports.useValidateForm=Q;
@@ -1,5 +1,5 @@
1
- import ie, { createContext as fe, useContext as de, useEffect as Q, useState as K, useRef as A, useCallback as _, useMemo as se } from "react";
2
- var z = { exports: {} }, D = {};
1
+ import ie, { createContext as fe, useContext as de, useEffect as K, useState as ee, useRef as F, useCallback as _, useMemo as se } from "react";
2
+ var G = { exports: {} }, Y = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.js
@@ -11,10 +11,10 @@ var z = { exports: {} }, D = {};
11
11
  */
12
12
  var re;
13
13
  function Ee() {
14
- if (re) return D;
14
+ if (re) return Y;
15
15
  re = 1;
16
16
  var o = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
17
- function d(l, s, a) {
17
+ function d(i, s, a) {
18
18
  var m = null;
19
19
  if (a !== void 0 && (m = "" + a), s.key !== void 0 && (m = "" + s.key), "key" in s) {
20
20
  a = {};
@@ -23,15 +23,15 @@ function Ee() {
23
23
  } else a = s;
24
24
  return s = a.ref, {
25
25
  $$typeof: o,
26
- type: l,
26
+ type: i,
27
27
  key: m,
28
28
  ref: s !== void 0 ? s : null,
29
29
  props: a
30
30
  };
31
31
  }
32
- return D.Fragment = n, D.jsx = d, D.jsxs = d, D;
32
+ return Y.Fragment = n, Y.jsx = d, Y.jsxs = d, Y;
33
33
  }
34
- var Y = {};
34
+ var I = {};
35
35
  /**
36
36
  * @license React
37
37
  * react-jsx-runtime.development.js
@@ -50,35 +50,35 @@ function me() {
50
50
  return e.$$typeof === C ? null : e.displayName || e.name || null;
51
51
  if (typeof e == "string") return e;
52
52
  switch (e) {
53
- case k:
53
+ case h:
54
54
  return "Fragment";
55
- case $:
55
+ case M:
56
56
  return "Profiler";
57
- case I:
57
+ case $:
58
58
  return "StrictMode";
59
- case W:
60
- return "Suspense";
61
59
  case U:
62
- return "SuspenseList";
60
+ return "Suspense";
63
61
  case q:
62
+ return "SuspenseList";
63
+ case J:
64
64
  return "Activity";
65
65
  }
66
66
  if (typeof e == "object")
67
67
  switch (typeof e.tag == "number" && console.error(
68
68
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
69
69
  ), e.$$typeof) {
70
- case F:
70
+ case P:
71
71
  return "Portal";
72
- case M:
72
+ case L:
73
73
  return (e.displayName || "Context") + ".Provider";
74
- case G:
74
+ case X:
75
75
  return (e._context.displayName || "Context") + ".Consumer";
76
- case L:
76
+ case W:
77
77
  var r = e.render;
78
78
  return e = e.displayName, e || (e = r.displayName || r.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
79
79
  case x:
80
80
  return r = e.displayName || null, r !== null ? r : o(e.type) || "Memo";
81
- case P:
81
+ case N:
82
82
  r = e._payload, e = e._init;
83
83
  try {
84
84
  return o(e(r));
@@ -99,17 +99,17 @@ function me() {
99
99
  }
100
100
  if (r) {
101
101
  r = console;
102
- var u = r.error, R = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
103
- return u.call(
102
+ var l = r.error, R = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
103
+ return l.call(
104
104
  r,
105
105
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
106
  R
107
107
  ), n(e);
108
108
  }
109
109
  }
110
- function l(e) {
111
- if (e === k) return "<>";
112
- if (typeof e == "object" && e !== null && e.$$typeof === P)
110
+ function i(e) {
111
+ if (e === h) return "<>";
112
+ if (typeof e == "object" && e !== null && e.$$typeof === N)
113
113
  return "<...>";
114
114
  try {
115
115
  var r = o(e);
@@ -119,7 +119,7 @@ function me() {
119
119
  }
120
120
  }
121
121
  function s() {
122
- var e = N.A;
122
+ var e = V.A;
123
123
  return e === null ? null : e.getOwner();
124
124
  }
125
125
  function a() {
@@ -133,31 +133,31 @@ function me() {
133
133
  return e.key !== void 0;
134
134
  }
135
135
  function c(e, r) {
136
- function u() {
137
- O || (O = !0, console.error(
136
+ function l() {
137
+ g || (g = !0, console.error(
138
138
  "%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)",
139
139
  r
140
140
  ));
141
141
  }
142
- u.isReactWarning = !0, Object.defineProperty(e, "key", {
143
- get: u,
142
+ l.isReactWarning = !0, Object.defineProperty(e, "key", {
143
+ get: l,
144
144
  configurable: !0
145
145
  });
146
146
  }
147
147
  function b() {
148
148
  var e = o(this.type);
149
- return S[e] || (S[e] = !0, console.error(
149
+ return O[e] || (O[e] = !0, console.error(
150
150
  "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."
151
151
  )), e = this.props.ref, e !== void 0 ? e : null;
152
152
  }
153
- function E(e, r, u, R, y, h, X, B) {
154
- return u = h.ref, e = {
155
- $$typeof: j,
153
+ function E(e, r, l, R, j, S, B, H) {
154
+ return l = S.ref, e = {
155
+ $$typeof: w,
156
156
  type: e,
157
157
  key: r,
158
- props: h,
159
- _owner: y
160
- }, (u !== void 0 ? u : null) !== null ? Object.defineProperty(e, "ref", {
158
+ props: S,
159
+ _owner: j
160
+ }, (l !== void 0 ? l : null) !== null ? Object.defineProperty(e, "ref", {
161
161
  enumerable: !1,
162
162
  get: b
163
163
  }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
@@ -174,33 +174,33 @@ function me() {
174
174
  configurable: !1,
175
175
  enumerable: !1,
176
176
  writable: !0,
177
- value: X
177
+ value: B
178
178
  }), Object.defineProperty(e, "_debugTask", {
179
179
  configurable: !1,
180
180
  enumerable: !1,
181
181
  writable: !0,
182
- value: B
182
+ value: H
183
183
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
184
184
  }
185
- function g(e, r, u, R, y, h, X, B) {
185
+ function k(e, r, l, R, j, S, B, H) {
186
186
  var p = r.children;
187
187
  if (p !== void 0)
188
188
  if (R)
189
189
  if (T(p)) {
190
190
  for (R = 0; R < p.length; R++)
191
- i(p[R]);
191
+ u(p[R]);
192
192
  Object.freeze && Object.freeze(p);
193
193
  } else
194
194
  console.error(
195
195
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
196
196
  );
197
- else i(p);
197
+ else u(p);
198
198
  if (t.call(r, "key")) {
199
199
  p = o(e);
200
- var w = Object.keys(r).filter(function(le) {
200
+ var A = Object.keys(r).filter(function(le) {
201
201
  return le !== "key";
202
202
  });
203
- R = 0 < w.length ? "{key: someKey, " + w.join(": ..., ") + ": ...}" : "{key: someKey}", ee[p + R] || (w = 0 < w.length ? "{" + w.join(": ..., ") + ": ...}" : "{}", console.error(
203
+ R = 0 < A.length ? "{key: someKey, " + A.join(": ..., ") + ": ...}" : "{key: someKey}", D[p + R] || (A = 0 < A.length ? "{" + A.join(": ..., ") + ": ...}" : "{}", console.error(
204
204
  `A props object containing a "key" prop is being spread into JSX:
205
205
  let props = %s;
206
206
  <%s {...props} />
@@ -209,33 +209,33 @@ React keys must be passed directly to JSX without using spread:
209
209
  <%s key={someKey} {...props} />`,
210
210
  R,
211
211
  p,
212
- w,
212
+ A,
213
213
  p
214
- ), ee[p + R] = !0);
214
+ ), D[p + R] = !0);
215
215
  }
216
- if (p = null, u !== void 0 && (d(u), p = "" + u), m(r) && (d(r.key), p = "" + r.key), "key" in r) {
217
- u = {};
218
- for (var H in r)
219
- H !== "key" && (u[H] = r[H]);
220
- } else u = r;
216
+ if (p = null, l !== void 0 && (d(l), p = "" + l), m(r) && (d(r.key), p = "" + r.key), "key" in r) {
217
+ l = {};
218
+ for (var Z in r)
219
+ Z !== "key" && (l[Z] = r[Z]);
220
+ } else l = r;
221
221
  return p && c(
222
- u,
222
+ l,
223
223
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
224
224
  ), E(
225
225
  e,
226
226
  p,
227
- h,
228
- y,
227
+ S,
228
+ j,
229
229
  s(),
230
- u,
231
- X,
232
- B
230
+ l,
231
+ B,
232
+ H
233
233
  );
234
234
  }
235
- function i(e) {
236
- typeof e == "object" && e !== null && e.$$typeof === j && e._store && (e._store.validated = 1);
235
+ function u(e) {
236
+ typeof e == "object" && e !== null && e.$$typeof === w && e._store && (e._store.validated = 1);
237
237
  }
238
- var v = ie, j = Symbol.for("react.transitional.element"), F = Symbol.for("react.portal"), k = Symbol.for("react.fragment"), I = Symbol.for("react.strict_mode"), $ = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), M = Symbol.for("react.context"), L = Symbol.for("react.forward_ref"), W = Symbol.for("react.suspense"), U = Symbol.for("react.suspense_list"), x = Symbol.for("react.memo"), P = Symbol.for("react.lazy"), q = Symbol.for("react.activity"), C = Symbol.for("react.client.reference"), N = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, t = Object.prototype.hasOwnProperty, T = Array.isArray, f = console.createTask ? console.createTask : function() {
238
+ var v = ie, w = Symbol.for("react.transitional.element"), P = Symbol.for("react.portal"), h = Symbol.for("react.fragment"), $ = Symbol.for("react.strict_mode"), M = Symbol.for("react.profiler"), X = Symbol.for("react.consumer"), L = Symbol.for("react.context"), W = Symbol.for("react.forward_ref"), U = Symbol.for("react.suspense"), q = Symbol.for("react.suspense_list"), x = Symbol.for("react.memo"), N = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), C = Symbol.for("react.client.reference"), V = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, t = Object.prototype.hasOwnProperty, T = Array.isArray, f = console.createTask ? console.createTask : function() {
239
239
  return null;
240
240
  };
241
241
  v = {
@@ -243,54 +243,54 @@ React keys must be passed directly to JSX without using spread:
243
243
  return e();
244
244
  }
245
245
  };
246
- var O, S = {}, J = v["react-stack-bottom-frame"].bind(
246
+ var g, O = {}, y = v["react-stack-bottom-frame"].bind(
247
247
  v,
248
248
  a
249
- )(), V = f(l(a)), ee = {};
250
- Y.Fragment = k, Y.jsx = function(e, r, u, R, y) {
251
- var h = 1e4 > N.recentlyCreatedOwnerStacks++;
252
- return g(
249
+ )(), z = f(i(a)), D = {};
250
+ I.Fragment = h, I.jsx = function(e, r, l, R, j) {
251
+ var S = 1e4 > V.recentlyCreatedOwnerStacks++;
252
+ return k(
253
253
  e,
254
254
  r,
255
- u,
255
+ l,
256
256
  !1,
257
257
  R,
258
- y,
259
- h ? Error("react-stack-top-frame") : J,
260
- h ? f(l(e)) : V
258
+ j,
259
+ S ? Error("react-stack-top-frame") : y,
260
+ S ? f(i(e)) : z
261
261
  );
262
- }, Y.jsxs = function(e, r, u, R, y) {
263
- var h = 1e4 > N.recentlyCreatedOwnerStacks++;
264
- return g(
262
+ }, I.jsxs = function(e, r, l, R, j) {
263
+ var S = 1e4 > V.recentlyCreatedOwnerStacks++;
264
+ return k(
265
265
  e,
266
266
  r,
267
- u,
267
+ l,
268
268
  !0,
269
269
  R,
270
- y,
271
- h ? Error("react-stack-top-frame") : J,
272
- h ? f(l(e)) : V
270
+ j,
271
+ S ? Error("react-stack-top-frame") : y,
272
+ S ? f(i(e)) : z
273
273
  );
274
274
  };
275
- }()), Y;
275
+ }()), I;
276
276
  }
277
277
  var ne;
278
278
  function be() {
279
- return ne || (ne = 1, process.env.NODE_ENV === "production" ? z.exports = Ee() : z.exports = me()), z.exports;
279
+ return ne || (ne = 1, process.env.NODE_ENV === "production" ? G.exports = Ee() : G.exports = me()), G.exports;
280
280
  }
281
281
  var oe = be();
282
282
  const ce = fe({}), Re = () => de(ce), pe = (o, n) => {
283
283
  let d = !1;
284
- return Object.keys(n).forEach((l) => {
285
- if (!(l in o) || d) return;
286
- const s = n[l], a = o[l];
284
+ return Object.keys(n).forEach((i) => {
285
+ if (!(i in o) || d) return;
286
+ const s = n[i], a = o[i];
287
287
  (typeof s == "object" || s !== a) && (d = !0);
288
288
  }), d;
289
289
  }, ae = (o) => !o || typeof o.checkValidity != "function" || o.checkValidity() ? null : o.validationMessage, _e = ({
290
290
  id: o,
291
291
  form: n,
292
292
  method: d,
293
- action: l,
293
+ action: i,
294
294
  children: s,
295
295
  onSubmit: a = () => {
296
296
  },
@@ -300,44 +300,44 @@ const ce = fe({}), Re = () => de(ce), pe = (o, n) => {
300
300
  },
301
301
  numberFields: b = [],
302
302
  className: E,
303
- ...g
304
- }) => (Q(() => n.actions.registerOnchange(c), [c]), /* @__PURE__ */ oe.jsx(ce.Provider, { value: n, children: /* @__PURE__ */ oe.jsx(
303
+ ...k
304
+ }) => (K(() => n.actions.registerOnchange(c), [c]), /* @__PURE__ */ oe.jsx(ce.Provider, { value: n, children: /* @__PURE__ */ oe.jsx(
305
305
  "form",
306
306
  {
307
307
  ref: n == null ? void 0 : n.ref,
308
- action: l,
308
+ action: i,
309
309
  className: E,
310
- onSubmit: (i) => {
311
- d || i.preventDefault();
310
+ onSubmit: (u) => {
311
+ d || u.preventDefault();
312
312
  const v = n.actions.loadFormValues();
313
313
  a(v);
314
314
  },
315
- onInput: (i) => {
316
- if (i.target.tagName === "FORM") {
315
+ onInput: (u) => {
316
+ if (u.target.tagName === "FORM") {
317
317
  const v = n.actions.loadFormValues();
318
318
  n.actions.setFormState(v);
319
319
  } else
320
- m(i);
320
+ m(u);
321
321
  },
322
322
  onChange: () => {
323
- const i = n.actions.loadFormValues();
324
- n.actions.setFormState(i);
323
+ const u = n.actions.loadFormValues();
324
+ n.actions.setFormState(u);
325
325
  },
326
- ...g,
326
+ ...k,
327
327
  children: s
328
328
  }
329
- ) })), ve = ({ name: o, defaultValue: n, render: d = ({ ref: l, name: s, defaultValue: a, value: m, setValue: c }) => null }) => {
330
- const [l, s] = K(n), a = Re(), m = A(), c = _(
329
+ ) })), ve = ({ name: o, defaultValue: n, render: d = ({ ref: i, name: s, defaultValue: a, value: m, setValue: c }) => null }) => {
330
+ const [i, s] = ee(n), a = Re(), m = F(), c = _(
331
331
  (b, { shouldDirty: E = !1 } = {}) => {
332
- a.actions.setFormState((g) => ({ ...g, [o]: b }), { shouldDirty: E }), s(b);
332
+ a.actions.setFormState((k) => ({ ...k, [o]: b }), { shouldDirty: E }), s(b);
333
333
  },
334
334
  [s, a.actions.setFormState]
335
335
  );
336
- return Q(() => (a.actions.setFormState((E) => ({ ...E, [o]: n }), { shouldDirty: !1 }), a.subscribe(o, (E, { shouldDirty: g = !0 }) => {
337
- s(E), a.actions.setFormState((i) => ({ ...i, [o]: E }), { shouldDirty: g }), m.current && typeof m.current.dispatchEvent == "function" && m.current.dispatchEvent(new Event("change"));
338
- })), []), d({ ref: m, name: o, defaultValue: n, value: l, setValue: c });
336
+ return K(() => (a.actions.setFormState((E) => ({ ...E, [o]: n }), { shouldDirty: !1 }), a.subscribe(o, (E, { shouldDirty: k = !0, shouldOnChange: u = !0 } = {}) => {
337
+ s(E), a.actions.setFormState((v) => ({ ...v, [o]: E }), { shouldDirty: k, shouldOnChange: u }), m.current && typeof m.current.dispatchEvent == "function" && u && m.current.dispatchEvent(new Event("change"));
338
+ })), []), d({ ref: m, name: o, defaultValue: n, value: i, setValue: c });
339
339
  }, ue = () => {
340
- const [o, n] = K({}), d = se(() => Object.values(o).filter(Boolean).length > 0, [o]), l = _((c, b) => {
340
+ const [o, n] = ee({}), d = se(() => Object.values(o).filter(Boolean).length > 0, [o]), i = _((c, b) => {
341
341
  n((E) => E[c] === b ? E : { ...E, [c]: b });
342
342
  }, []), s = _((c) => {
343
343
  n((b) => ({ ...b, ...c }));
@@ -346,98 +346,105 @@ const ce = fe({}), Re = () => de(ce), pe = (o, n) => {
346
346
  }, []), m = _(() => {
347
347
  n({});
348
348
  }, []);
349
- return { isError: d, errors: o, changeError: l, changeErrors: s, clearError: a, clearErrors: m };
350
- }, Z = {
349
+ return { isError: d, errors: o, changeError: i, changeErrors: s, clearError: a, clearErrors: m };
350
+ }, Q = {
351
351
  defaultValues: {},
352
352
  numberFields: []
353
- }, Te = (o = Z) => {
354
- const { defaultValues: n = Z.defaultValues, numberFields: d = Z.numberFields } = o, { changeError: l, errors: s, changeErrors: a, clearError: m, clearErrors: c, isError: b } = ue(), [E, g] = K(!1), i = A({}), v = A(n), j = A({}), F = A(() => {
355
- }), k = A(), I = _(
356
- (t, { shouldDirty: T = !0 } = {}) => {
357
- let f = t;
358
- typeof t == "function" && (f = t(i.current)), i.current = f;
353
+ }, Te = (o = Q) => {
354
+ const { defaultValues: n = Q.defaultValues, numberFields: d = Q.numberFields } = o, { changeError: i, errors: s, changeErrors: a, clearError: m, clearErrors: c, isError: b } = ue(), [E, k] = ee(!1), u = F({}), v = F(n), w = F({}), P = F(() => {
355
+ }), h = F(), $ = _(
356
+ (t, { shouldDirty: T = !0, shouldOnChange: f = !0 } = {}) => {
357
+ let g = t;
358
+ typeof t == "function" && (g = t(u.current)), u.current = g;
359
359
  let O = E;
360
- T && (O = pe(i.current, v.current), O !== E && g(O)), F.current(i.current);
360
+ T && (O = pe(u.current, v.current), O !== E && k(O)), f && P.current(u.current);
361
361
  },
362
362
  [E]
363
- ), $ = _(() => {
364
- g(!1), c();
365
- const t = j.current;
366
- Object.values(t).forEach((f) => f("")), k.current.reset(), i.current = v.current;
367
- }, [c]), G = _((t, T) => {
368
- const f = j.current;
363
+ ), M = _(() => {
364
+ k(!1), c();
365
+ const t = w.current;
366
+ Object.values(t).forEach((f) => f("")), h.current.reset(), u.current = v.current;
367
+ }, [c]), X = _((t, T) => {
368
+ const f = w.current;
369
369
  return f[t] = T, () => f[t] = null;
370
- }, []), M = _((t) => (F.current = t, () => F.current = () => {
371
- })), L = _((t) => ae(t.target), []), W = _((t) => t ? i.current[t] : i.current, []), U = _(() => v.current, []), x = _(() => {
372
- setTimeout(() => k.current.dispatchEvent(new Event("input", { bubbles: !0 })));
373
- }, []), P = _(
370
+ }, []), L = _((t) => (P.current = t, () => P.current = () => {
371
+ })), W = _((t) => ae(t.target), []), U = _((t) => t ? u.current[t] : u.current, []), q = _(() => v.current, []), x = _(() => {
372
+ setTimeout(() => h.current.dispatchEvent(new Event("input", { bubbles: !0 })));
373
+ }, []), N = _(
374
374
  (t) => {
375
375
  const T = ae(t.target);
376
- T ? l(t.target.name, T) : l(t.target.name, null);
376
+ T ? i(t.target.name, T) : i(t.target.name, null);
377
377
  },
378
- [l]
379
- ), q = _(
380
- (t, T, { shouldDirty: f = !0 } = {}) => {
381
- const O = j.current;
382
- if (typeof t == "string") {
383
- const S = O[t];
384
- if (!S)
385
- throw new Error(`${t} is uncontrolled, please use Controller for it!`);
386
- S(T, { shouldDirty: f }), x();
378
+ [i]
379
+ ), J = _(
380
+ (t, T, { shouldDirty: f = !0, shouldOnChange: g = !0 } = {}) => {
381
+ const O = w.current;
382
+ switch (typeof t) {
383
+ case "string":
384
+ {
385
+ const y = O[t];
386
+ if (!y)
387
+ throw new Error(`${t} is uncontrolled, please use Controller for it!`);
388
+ y(T, { shouldDirty: f, shouldOnChange: g }), g && x();
389
+ }
390
+ break;
391
+ case "object":
392
+ Object.entries(t).forEach(([y, z]) => {
393
+ const D = O[y];
394
+ if (!D)
395
+ throw new Error(`${y} is uncontrolled, please use Controller for it!`);
396
+ D(z, { shouldDirty: f, shouldOnChange: g });
397
+ }), g && x();
398
+ default:
399
+ return;
387
400
  }
388
- typeof t == "object" && (Object.entries(t).forEach(([S, J]) => {
389
- const V = O[S];
390
- if (!V)
391
- throw new Error(`${S} is uncontrolled, please use Controller for it!`);
392
- V(J, { shouldDirty: f });
393
- }), x());
394
401
  },
395
402
  [x]
396
403
  ), C = _(() => {
397
- const t = Object.fromEntries(new FormData(k.current)), T = j.current;
404
+ const t = Object.fromEntries(new FormData(h.current)), T = w.current;
398
405
  return Object.keys(T).map((f) => {
399
- t[f] = i.current[f];
406
+ t[f] = u.current[f];
400
407
  }), d.forEach((f) => t.hasOwnProperty(f) && (t[f] = +t[f])), t;
401
- }, []), N = se(
408
+ }, []), V = se(
402
409
  () => ({
403
- setValue: q,
410
+ setValue: J,
404
411
  instantChange: x,
405
- getDefaultValues: U,
406
- getFormState: W,
407
- setFormState: I,
408
- changeError: l,
412
+ getDefaultValues: q,
413
+ getFormState: U,
414
+ setFormState: $,
415
+ changeError: i,
409
416
  changeErrors: a,
410
417
  clearError: m,
411
418
  clearErrors: c,
412
419
  loadFormValues: C,
413
- checkValidity: P,
414
- getFieldValidity: L,
415
- registerOnchange: M,
416
- reset: $
420
+ checkValidity: N,
421
+ getFieldValidity: W,
422
+ registerOnchange: L,
423
+ reset: M
417
424
  }),
418
425
  [
419
- q,
426
+ J,
420
427
  x,
428
+ q,
421
429
  U,
422
- W,
423
- I,
424
- l,
430
+ $,
431
+ i,
425
432
  a,
426
433
  m,
427
434
  C,
435
+ W,
436
+ N,
428
437
  L,
429
- P,
430
- M,
431
- $
438
+ M
432
439
  ]
433
440
  );
434
- return Q(() => {
435
- if (k.current) {
441
+ return K(() => {
442
+ if (h.current) {
436
443
  const t = C();
437
- v.current = { ...t, ...n }, i.current = { ...t, ...n };
444
+ v.current = { ...t, ...n }, u.current = { ...t, ...n };
438
445
  }
439
- }, []), { ref: k, isDirty: E, isError: b, errors: s, numberFields: d, subscribe: G, actions: N };
440
- }, he = {
446
+ }, []), { ref: h, isDirty: E, isError: b, errors: s, numberFields: d, subscribe: X, actions: V };
447
+ }, ge = {
441
448
  Form: _e,
442
449
  Controller: ve,
443
450
  useForm: Te,
@@ -446,7 +453,7 @@ const ce = fe({}), Re = () => de(ce), pe = (o, n) => {
446
453
  export {
447
454
  ve as Controller,
448
455
  _e as Form,
449
- he as default,
456
+ ge as default,
450
457
  Te as useForm,
451
458
  ue as useValidateForm
452
459
  };
@@ -1,4 +1,4 @@
1
- (function(T,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],r):(T=typeof globalThis<"u"?globalThis:T||self,r(T.Name={},T.React))})(this,function(T,r){"use strict";var I={exports:{}},P={};/**
1
+ (function(T,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],r):(T=typeof globalThis<"u"?globalThis:T||self,r(T.Name={},T.React))})(this,function(T,r){"use strict";var M={exports:{}},A={};/**
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 $;function le(){if($)return P;$=1;var o=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function b(i,c,s){var E=null;if(s!==void 0&&(E=""+s),c.key!==void 0&&(E=""+c.key),"key"in c){s={};for(var u in c)u!=="key"&&(s[u]=c[u])}else s=c;return c=s.ref,{$$typeof:o,type:i,key:E,ref:c!==void 0?c:null,props:s}}return P.Fragment=a,P.jsx=b,P.jsxs=b,P}var A={};/**
9
+ */var ee;function le(){if(ee)return A;ee=1;var o=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function b(f,c,s){var E=null;if(s!==void 0&&(E=""+s),c.key!==void 0&&(E=""+c.key),"key"in c){s={};for(var u in c)u!=="key"&&(s[u]=c[u])}else s=c;return c=s.ref,{$$typeof:o,type:f,key:E,ref:c!==void 0?c:null,props:s}}return A.Fragment=a,A.jsx=b,A.jsxs=b,A}var x={};/**
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 ee;function ie(){return ee||(ee=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===V?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case S:return"Fragment";case L:return"Profiler";case M:return"StrictMode";case J:return"Suspense";case z:return"SuspenseList";case G: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 x:return"Portal";case W:return(e.displayName||"Context")+".Provider";case Z:return(e._context.displayName||"Context")+".Consumer";case U:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case F:return t=e.displayName||null,t!==null?t:o(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return o(e(t))}catch{}}return null}function a(e){return""+e}function b(e){try{a(e);var t=!1}catch{t=!0}if(t){t=console;var l=t.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return l.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),a(e)}}function i(e){if(e===S)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===N)return"<...>";try{var t=o(e);return t?"<"+t+">":"<...>"}catch{return"<...>"}}function c(){var e=D.A;return e===null?null:e.getOwner()}function s(){return Error("react-stack-top-frame")}function E(e){if(n.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function u(e,t){function l(){O||(O=!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)",t))}l.isReactWarning=!0,Object.defineProperty(e,"key",{get:l,configurable:!0})}function R(){var e=o(this.type);return C[e]||(C[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 m(e,t,l,k,y,g,Q,K){return l=g.ref,e={$$typeof:j,type:e,key:t,props:g,_owner:y},(l!==void 0?l: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:Q}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:K}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function h(e,t,l,k,y,g,Q,K){var p=t.children;if(p!==void 0)if(k)if(v(p)){for(k=0;k<p.length;k++)f(p[k]);Object.freeze&&Object.freeze(p)}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 f(p);if(n.call(t,"key")){p=o(e);var w=Object.keys(t).filter(function(Ee){return Ee!=="key"});k=0<w.length?"{key: someKey, "+w.join(": ..., ")+": ...}":"{key: someKey}",ue[p+k]||(w=0<w.length?"{"+w.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var te;function ie(){return te||(te=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===D?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case O:return"Fragment";case W:return"Profiler";case L:return"StrictMode";case z:return"Suspense";case G:return"SuspenseList";case X: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 N:return"Portal";case U:return(e.displayName||"Context")+".Provider";case Q:return(e._context.displayName||"Context")+".Consumer";case J:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case w:return t=e.displayName||null,t!==null?t:o(e.type)||"Memo";case V:t=e._payload,e=e._init;try{return o(e(t))}catch{}}return null}function a(e){return""+e}function b(e){try{a(e);var t=!1}catch{t=!0}if(t){t=console;var i=t.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return i.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),a(e)}}function f(e){if(e===O)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===V)return"<...>";try{var t=o(e);return t?"<"+t+">":"<...>"}catch{return"<...>"}}function c(){var e=Y.A;return e===null?null:e.getOwner()}function s(){return Error("react-stack-top-frame")}function E(e){if(n.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function u(e,t){function i(){S||(S=!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)",t))}i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}function R(){var e=o(this.type);return y[e]||(y[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 m(e,t,i,k,C,h,K,q){return i=h.ref,e={$$typeof:F,type:e,key:t,props:h,_owner:C},(i!==void 0?i: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:K}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function g(e,t,i,k,C,h,K,q){var p=t.children;if(p!==void 0)if(k)if(v(p)){for(k=0;k<p.length;k++)l(p[k]);Object.freeze&&Object.freeze(p)}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 l(p);if(n.call(t,"key")){p=o(e);var P=Object.keys(t).filter(function(Ee){return Ee!=="key"});k=0<P.length?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}",I[p+k]||(P=0<P.length?"{"+P.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} />`,k,p,w,p),ue[p+k]=!0)}if(p=null,l!==void 0&&(b(l),p=""+l),E(t)&&(b(t.key),p=""+t.key),"key"in t){l={};for(var q in t)q!=="key"&&(l[q]=t[q])}else l=t;return p&&u(l,typeof e=="function"?e.displayName||e.name||"Unknown":e),m(e,p,g,y,c(),l,Q,K)}function f(e){typeof e=="object"&&e!==null&&e.$$typeof===j&&e._store&&(e._store.validated=1)}var _=r,j=Symbol.for("react.transitional.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),Z=Symbol.for("react.consumer"),W=Symbol.for("react.context"),U=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),F=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),G=Symbol.for("react.activity"),V=Symbol.for("react.client.reference"),D=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Object.prototype.hasOwnProperty,v=Array.isArray,d=console.createTask?console.createTask:function(){return null};_={"react-stack-bottom-frame":function(e){return e()}};var O,C={},X=_["react-stack-bottom-frame"].bind(_,s)(),Y=d(i(s)),ue={};A.Fragment=S,A.jsx=function(e,t,l,k,y){var g=1e4>D.recentlyCreatedOwnerStacks++;return h(e,t,l,!1,k,y,g?Error("react-stack-top-frame"):X,g?d(i(e)):Y)},A.jsxs=function(e,t,l,k,y){var g=1e4>D.recentlyCreatedOwnerStacks++;return h(e,t,l,!0,k,y,g?Error("react-stack-top-frame"):X,g?d(i(e)):Y)}}()),A}var te;function fe(){return te||(te=1,process.env.NODE_ENV==="production"?I.exports=le():I.exports=ie()),I.exports}var re=fe();const ne=r.createContext({}),de=()=>r.useContext(ne),be=(o,a)=>{let b=!1;return Object.keys(a).forEach(i=>{if(!(i in o)||b)return;const c=a[i],s=o[i];(typeof c=="object"||c!==s)&&(b=!0)}),b},ae=o=>!o||typeof o.checkValidity!="function"||o.checkValidity()?null:o.validationMessage,oe=({id:o,form:a,method:b,action:i,children:c,onSubmit:s=()=>{},onInput:E=()=>{},onChange:u=()=>{},numberFields:R=[],className:m,...h})=>(r.useEffect(()=>a.actions.registerOnchange(u),[u]),re.jsx(ne.Provider,{value:a,children:re.jsx("form",{ref:a==null?void 0:a.ref,action:i,className:m,onSubmit:f=>{b||f.preventDefault();const _=a.actions.loadFormValues();s(_)},onInput:f=>{if(f.target.tagName==="FORM"){const _=a.actions.loadFormValues();a.actions.setFormState(_)}else E(f)},onChange:()=>{const f=a.actions.loadFormValues();a.actions.setFormState(f)},...h,children:c})})),se=({name:o,defaultValue:a,render:b=({ref:i,name:c,defaultValue:s,value:E,setValue:u})=>null})=>{const[i,c]=r.useState(a),s=de(),E=r.useRef(),u=r.useCallback((R,{shouldDirty:m=!1}={})=>{s.actions.setFormState(h=>({...h,[o]:R}),{shouldDirty:m}),c(R)},[c,s.actions.setFormState]);return r.useEffect(()=>(s.actions.setFormState(m=>({...m,[o]:a}),{shouldDirty:!1}),s.subscribe(o,(m,{shouldDirty:h=!0})=>{c(m),s.actions.setFormState(f=>({...f,[o]:m}),{shouldDirty:h}),E.current&&typeof E.current.dispatchEvent=="function"&&E.current.dispatchEvent(new Event("change"))})),[]),b({ref:E,name:o,defaultValue:a,value:i,setValue:u})},B=()=>{const[o,a]=r.useState({}),b=r.useMemo(()=>Object.values(o).filter(Boolean).length>0,[o]),i=r.useCallback((u,R)=>{a(m=>m[u]===R?m:{...m,[u]:R})},[]),c=r.useCallback(u=>{a(R=>({...R,...u}))},[]),s=r.useCallback(u=>{a(R=>R[u]?{...R,[u]:""}:R)},[]),E=r.useCallback(()=>{a({})},[]);return{isError:b,errors:o,changeError:i,changeErrors:c,clearError:s,clearErrors:E}},H={defaultValues:{},numberFields:[]},ce=(o=H)=>{const{defaultValues:a=H.defaultValues,numberFields:b=H.numberFields}=o,{changeError:i,errors:c,changeErrors:s,clearError:E,clearErrors:u,isError:R}=B(),[m,h]=r.useState(!1),f=r.useRef({}),_=r.useRef(a),j=r.useRef({}),x=r.useRef(()=>{}),S=r.useRef(),M=r.useCallback((n,{shouldDirty:v=!0}={})=>{let d=n;typeof n=="function"&&(d=n(f.current)),f.current=d;let O=m;v&&(O=be(f.current,_.current),O!==m&&h(O)),x.current(f.current)},[m]),L=r.useCallback(()=>{h(!1),u();const n=j.current;Object.values(n).forEach(d=>d("")),S.current.reset(),f.current=_.current},[u]),Z=r.useCallback((n,v)=>{const d=j.current;return d[n]=v,()=>d[n]=null},[]),W=r.useCallback(n=>(x.current=n,()=>x.current=()=>{})),U=r.useCallback(n=>ae(n.target),[]),J=r.useCallback(n=>n?f.current[n]:f.current,[]),z=r.useCallback(()=>_.current,[]),F=r.useCallback(()=>{setTimeout(()=>S.current.dispatchEvent(new Event("input",{bubbles:!0})))},[]),N=r.useCallback(n=>{const v=ae(n.target);v?i(n.target.name,v):i(n.target.name,null)},[i]),G=r.useCallback((n,v,{shouldDirty:d=!0}={})=>{const O=j.current;if(typeof n=="string"){const C=O[n];if(!C)throw new Error(`${n} is uncontrolled, please use Controller for it!`);C(v,{shouldDirty:d}),F()}typeof n=="object"&&(Object.entries(n).forEach(([C,X])=>{const Y=O[C];if(!Y)throw new Error(`${C} is uncontrolled, please use Controller for it!`);Y(X,{shouldDirty:d})}),F())},[F]),V=r.useCallback(()=>{const n=Object.fromEntries(new FormData(S.current)),v=j.current;return Object.keys(v).map(d=>{n[d]=f.current[d]}),b.forEach(d=>n.hasOwnProperty(d)&&(n[d]=+n[d])),n},[]),D=r.useMemo(()=>({setValue:G,instantChange:F,getDefaultValues:z,getFormState:J,setFormState:M,changeError:i,changeErrors:s,clearError:E,clearErrors:u,loadFormValues:V,checkValidity:N,getFieldValidity:U,registerOnchange:W,reset:L}),[G,F,z,J,M,i,s,E,V,U,N,W,L]);return r.useEffect(()=>{if(S.current){const n=V();_.current={...n,...a},f.current={...n,...a}}},[]),{ref:S,isDirty:m,isError:R,errors:c,numberFields:b,subscribe:Z,actions:D}},me={Form:oe,Controller:se,useForm:ce,useValidateForm:B};T.Controller=se,T.Form=oe,T.default=me,T.useForm=ce,T.useValidateForm=B,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
22
+ <%s key={someKey} {...props} />`,k,p,P,p),I[p+k]=!0)}if(p=null,i!==void 0&&(b(i),p=""+i),E(t)&&(b(t.key),p=""+t.key),"key"in t){i={};for(var $ in t)$!=="key"&&(i[$]=t[$])}else i=t;return p&&u(i,typeof e=="function"?e.displayName||e.name||"Unknown":e),m(e,p,h,C,c(),i,K,q)}function l(e){typeof e=="object"&&e!==null&&e.$$typeof===F&&e._store&&(e._store.validated=1)}var _=r,F=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),O=Symbol.for("react.fragment"),L=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),Q=Symbol.for("react.consumer"),U=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),D=Symbol.for("react.client.reference"),Y=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,n=Object.prototype.hasOwnProperty,v=Array.isArray,d=console.createTask?console.createTask:function(){return null};_={"react-stack-bottom-frame":function(e){return e()}};var S,y={},j=_["react-stack-bottom-frame"].bind(_,s)(),B=d(f(s)),I={};x.Fragment=O,x.jsx=function(e,t,i,k,C){var h=1e4>Y.recentlyCreatedOwnerStacks++;return g(e,t,i,!1,k,C,h?Error("react-stack-top-frame"):j,h?d(f(e)):B)},x.jsxs=function(e,t,i,k,C){var h=1e4>Y.recentlyCreatedOwnerStacks++;return g(e,t,i,!0,k,C,h?Error("react-stack-top-frame"):j,h?d(f(e)):B)}}()),x}var re;function fe(){return re||(re=1,process.env.NODE_ENV==="production"?M.exports=le():M.exports=ie()),M.exports}var ne=fe();const ae=r.createContext({}),de=()=>r.useContext(ae),be=(o,a)=>{let b=!1;return Object.keys(a).forEach(f=>{if(!(f in o)||b)return;const c=a[f],s=o[f];(typeof c=="object"||c!==s)&&(b=!0)}),b},oe=o=>!o||typeof o.checkValidity!="function"||o.checkValidity()?null:o.validationMessage,se=({id:o,form:a,method:b,action:f,children:c,onSubmit:s=()=>{},onInput:E=()=>{},onChange:u=()=>{},numberFields:R=[],className:m,...g})=>(r.useEffect(()=>a.actions.registerOnchange(u),[u]),ne.jsx(ae.Provider,{value:a,children:ne.jsx("form",{ref:a==null?void 0:a.ref,action:f,className:m,onSubmit:l=>{b||l.preventDefault();const _=a.actions.loadFormValues();s(_)},onInput:l=>{if(l.target.tagName==="FORM"){const _=a.actions.loadFormValues();a.actions.setFormState(_)}else E(l)},onChange:()=>{const l=a.actions.loadFormValues();a.actions.setFormState(l)},...g,children:c})})),ce=({name:o,defaultValue:a,render:b=({ref:f,name:c,defaultValue:s,value:E,setValue:u})=>null})=>{const[f,c]=r.useState(a),s=de(),E=r.useRef(),u=r.useCallback((R,{shouldDirty:m=!1}={})=>{s.actions.setFormState(g=>({...g,[o]:R}),{shouldDirty:m}),c(R)},[c,s.actions.setFormState]);return r.useEffect(()=>(s.actions.setFormState(m=>({...m,[o]:a}),{shouldDirty:!1}),s.subscribe(o,(m,{shouldDirty:g=!0,shouldOnChange:l=!0}={})=>{c(m),s.actions.setFormState(_=>({..._,[o]:m}),{shouldDirty:g,shouldOnChange:l}),E.current&&typeof E.current.dispatchEvent=="function"&&l&&E.current.dispatchEvent(new Event("change"))})),[]),b({ref:E,name:o,defaultValue:a,value:f,setValue:u})},H=()=>{const[o,a]=r.useState({}),b=r.useMemo(()=>Object.values(o).filter(Boolean).length>0,[o]),f=r.useCallback((u,R)=>{a(m=>m[u]===R?m:{...m,[u]:R})},[]),c=r.useCallback(u=>{a(R=>({...R,...u}))},[]),s=r.useCallback(u=>{a(R=>R[u]?{...R,[u]:""}:R)},[]),E=r.useCallback(()=>{a({})},[]);return{isError:b,errors:o,changeError:f,changeErrors:c,clearError:s,clearErrors:E}},Z={defaultValues:{},numberFields:[]},ue=(o=Z)=>{const{defaultValues:a=Z.defaultValues,numberFields:b=Z.numberFields}=o,{changeError:f,errors:c,changeErrors:s,clearError:E,clearErrors:u,isError:R}=H(),[m,g]=r.useState(!1),l=r.useRef({}),_=r.useRef(a),F=r.useRef({}),N=r.useRef(()=>{}),O=r.useRef(),L=r.useCallback((n,{shouldDirty:v=!0,shouldOnChange:d=!0}={})=>{let S=n;typeof n=="function"&&(S=n(l.current)),l.current=S;let y=m;v&&(y=be(l.current,_.current),y!==m&&g(y)),d&&N.current(l.current)},[m]),W=r.useCallback(()=>{g(!1),u();const n=F.current;Object.values(n).forEach(d=>d("")),O.current.reset(),l.current=_.current},[u]),Q=r.useCallback((n,v)=>{const d=F.current;return d[n]=v,()=>d[n]=null},[]),U=r.useCallback(n=>(N.current=n,()=>N.current=()=>{})),J=r.useCallback(n=>oe(n.target),[]),z=r.useCallback(n=>n?l.current[n]:l.current,[]),G=r.useCallback(()=>_.current,[]),w=r.useCallback(()=>{setTimeout(()=>O.current.dispatchEvent(new Event("input",{bubbles:!0})))},[]),V=r.useCallback(n=>{const v=oe(n.target);v?f(n.target.name,v):f(n.target.name,null)},[f]),X=r.useCallback((n,v,{shouldDirty:d=!0,shouldOnChange:S=!0}={})=>{const y=F.current;switch(typeof n){case"string":{const j=y[n];if(!j)throw new Error(`${n} is uncontrolled, please use Controller for it!`);j(v,{shouldDirty:d,shouldOnChange:S}),S&&w()}break;case"object":Object.entries(n).forEach(([j,B])=>{const I=y[j];if(!I)throw new Error(`${j} is uncontrolled, please use Controller for it!`);I(B,{shouldDirty:d,shouldOnChange:S})}),S&&w();default:return}},[w]),D=r.useCallback(()=>{const n=Object.fromEntries(new FormData(O.current)),v=F.current;return Object.keys(v).map(d=>{n[d]=l.current[d]}),b.forEach(d=>n.hasOwnProperty(d)&&(n[d]=+n[d])),n},[]),Y=r.useMemo(()=>({setValue:X,instantChange:w,getDefaultValues:G,getFormState:z,setFormState:L,changeError:f,changeErrors:s,clearError:E,clearErrors:u,loadFormValues:D,checkValidity:V,getFieldValidity:J,registerOnchange:U,reset:W}),[X,w,G,z,L,f,s,E,D,J,V,U,W]);return r.useEffect(()=>{if(O.current){const n=D();_.current={...n,...a},l.current={...n,...a}}},[]),{ref:O,isDirty:m,isError:R,errors:c,numberFields:b,subscribe:Q,actions:Y}},me={Form:se,Controller:ce,useForm:ue,useValidateForm:H};T.Controller=ce,T.Form=se,T.default=me,T.useForm=ue,T.useValidateForm=H,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-formkit",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "keywords": [
5
5
  "react formkit",
6
6
  "react ez formkit",