react-simple-formkit 1.0.6 → 1.0.8

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 a=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"),n=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=n,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 n(e){return""+e}function b(e){try{n(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),n(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 v=r.children;if(v!==void 0)if(k)if(p(v)){for(k=0;k<v.length;k++)l(v[k]);Object.freeze&&Object.freeze(v)}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(v);if(t.call(r,"key")){v=o(e);var w=Object.keys(r).filter(function(ue){return ue!=="key"});k=0<w.length?"{key: someKey, "+w.join(": ..., ")+": ...}":"{key: someKey}",V[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,v,w,v),V[v+k]=!0)}if(v=null,i!==void 0&&(b(i),v=""+i),m(r)&&(b(r.key),v=""+r.key),"key"in r){i={};for(var H in r)H!=="key"&&(i[H]=r[H])}else i=r;return v&&u(i,typeof e=="function"?e.displayName||e.name||"Unknown":e),E(e,v,S,C,c(),i,X,B)}function l(e){typeof e=="object"&&e!==null&&e.$$typeof===j&&e._store&&(e._store.validated=1)}var _=a,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=_.__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};_={"react-stack-bottom-frame":function(e){return e()}};var g,O={},y=_["react-stack-bottom-frame"].bind(_,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=a.createContext({}),de=()=>a.useContext(ae),be=(o,n)=>{let b=!1;return Object.keys(n).forEach(f=>{if(!(f in o)||b)return;const c=n[f],s=o[f];(typeof c=="object"||c!==s)&&(b=!0)}),b},ne=o=>{var n;return!o||typeof o.checkValidity!="function"||o.checkValidity()||(n=o.validity)!=null&&n.customError?null:o.validationMessage},oe=({id:o,form:n,method:b,action:f,children:c,onSubmit:s=()=>{},onInput:m=()=>{},onChange:u=()=>{},numberFields:R=[],className:E,...T})=>(a.useEffect(()=>n.actions.registerOnchange(u),[u]),te.jsx(ae.Provider,{value:n,children:te.jsx("form",{ref:n==null?void 0:n.ref,action:f,className:E,onSubmit:l=>{b||l.preventDefault();const _=n.actions.loadFormValues();s(_)},onInput:l=>{if(l.target.tagName==="FORM"){const _=n.actions.loadFormValues();n.actions.setFormState(_)}else m(l)},onChange:()=>{const l=n.actions.loadFormValues();n.actions.setFormState(l)},...T,children:c})})),se=({name:o,defaultValue:n,render:b=({ref:f,name:c,defaultValue:s,value:m,setValue:u})=>null})=>{const[f,c]=a.useState(n),s=de(),m=a.useRef(),u=a.useCallback((R,{shouldDirty:E=!1}={})=>{s.actions.setFormState(T=>({...T,[o]:R}),{shouldDirty:E}),c(R)},[c,s.actions.setFormState]);return a.useEffect(()=>(s.actions.setFormState(E=>({...E,[o]:n}),{shouldDirty:!1}),s.subscribe(o,(E,{shouldDirty:T=!0,shouldOnChange:l=!0}={})=>{c(E),s.actions.setFormState(_=>({..._,[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:n,value:f,setValue:u})},Q=()=>{const[o,n]=a.useState({}),b=a.useMemo(()=>Object.values(o).filter(Boolean).length>0,[o]),f=a.useCallback((u,R)=>{n(E=>E[u]===R?E:{...E,[u]:R})},[]),c=a.useCallback(u=>{n(R=>({...R,...u}))},[]),s=a.useCallback(u=>{n(R=>R[u]?{...R,[u]:""}:R)},[]),m=a.useCallback(()=>{n({})},[]);return{isError:b,errors:o,changeError:f,changeErrors:c,clearError:s,clearErrors:m}},Z={defaultValues:{},numberFields:[]},ce=(o=Z)=>{const{defaultValues:n=Z.defaultValues,numberFields:b=Z.numberFields}=o,{changeError:f,errors:c,changeErrors:s,clearError:m,clearErrors:u,isError:R}=Q(),[E,T]=a.useState(!1),l=a.useRef({}),_=a.useRef(n),j=a.useRef({}),x=a.useRef(()=>{}),h=a.useRef(),I=a.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,_.current),O!==E&&T(O)),d&&x.current(l.current)},[E]),$=a.useCallback(()=>{T(!1),u();const t=j.current;Object.values(t).forEach(d=>d("")),h.current.reset(),l.current=_.current},[u]),G=a.useCallback((t,p)=>{const d=j.current;return d[t]=p,()=>d[t]=null},[]),M=a.useCallback(t=>(x.current=t,()=>x.current=()=>{})),L=a.useCallback(t=>ne(t.target),[]),W=a.useCallback(t=>t?l.current[t]:l.current,[]),U=a.useCallback(()=>_.current,[]),F=a.useCallback(()=>{setTimeout(()=>h.current.dispatchEvent(new Event("input",{bubbles:!0})))},[]),P=a.useCallback(t=>{const p=ne(t.target);p?f(t.target.name,p):f(t.target.name,null)},[f]),q=a.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=a.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=a.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 a.useEffect(()=>{if(h.current){const t=A();_.current={...t,...n},l.current={...t,...n}}},[]),{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 v, 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,88 +209,91 @@ 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 _ = 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 = _.__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
- v = {
241
+ _ = {
242
242
  "react-stack-bottom-frame": function(e) {
243
243
  return e();
244
244
  }
245
245
  };
246
- var O, S = {}, J = v["react-stack-bottom-frame"].bind(
247
- v,
246
+ var g, O = {}, y = _["react-stack-bottom-frame"].bind(
247
+ _,
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
- }, ae = (o) => !o || typeof o.checkValidity != "function" || o.checkValidity() ? null : o.validationMessage, _e = ({
289
+ }, ae = (o) => {
290
+ var n;
291
+ return !o || typeof o.checkValidity != "function" || o.checkValidity() || (n = o.validity) != null && n.customError ? null : o.validationMessage;
292
+ }, ve = ({
290
293
  id: o,
291
294
  form: n,
292
295
  method: d,
293
- action: l,
296
+ action: i,
294
297
  children: s,
295
298
  onSubmit: a = () => {
296
299
  },
@@ -300,153 +303,160 @@ const ce = fe({}), Re = () => de(ce), pe = (o, n) => {
300
303
  },
301
304
  numberFields: b = [],
302
305
  className: E,
303
- ...g
304
- }) => (Q(() => n.actions.registerOnchange(c), [c]), /* @__PURE__ */ oe.jsx(ce.Provider, { value: n, children: /* @__PURE__ */ oe.jsx(
306
+ ...k
307
+ }) => (K(() => n.actions.registerOnchange(c), [c]), /* @__PURE__ */ oe.jsx(ce.Provider, { value: n, children: /* @__PURE__ */ oe.jsx(
305
308
  "form",
306
309
  {
307
310
  ref: n == null ? void 0 : n.ref,
308
- action: l,
311
+ action: i,
309
312
  className: E,
310
- onSubmit: (i) => {
311
- d || i.preventDefault();
312
- const v = n.actions.loadFormValues();
313
- a(v);
313
+ onSubmit: (u) => {
314
+ d || u.preventDefault();
315
+ const _ = n.actions.loadFormValues();
316
+ a(_);
314
317
  },
315
- onInput: (i) => {
316
- if (i.target.tagName === "FORM") {
317
- const v = n.actions.loadFormValues();
318
- n.actions.setFormState(v);
318
+ onInput: (u) => {
319
+ if (u.target.tagName === "FORM") {
320
+ const _ = n.actions.loadFormValues();
321
+ n.actions.setFormState(_);
319
322
  } else
320
- m(i);
323
+ m(u);
321
324
  },
322
325
  onChange: () => {
323
- const i = n.actions.loadFormValues();
324
- n.actions.setFormState(i);
326
+ const u = n.actions.loadFormValues();
327
+ n.actions.setFormState(u);
325
328
  },
326
- ...g,
329
+ ...k,
327
330
  children: s
328
331
  }
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 = _(
332
+ ) })), _e = ({ name: o, defaultValue: n, render: d = ({ ref: i, name: s, defaultValue: a, value: m, setValue: c }) => null }) => {
333
+ const [i, s] = ee(n), a = Re(), m = F(), c = v(
331
334
  (b, { shouldDirty: E = !1 } = {}) => {
332
- a.actions.setFormState((g) => ({ ...g, [o]: b }), { shouldDirty: E }), s(b);
335
+ a.actions.setFormState((k) => ({ ...k, [o]: b }), { shouldDirty: E }), s(b);
333
336
  },
334
337
  [s, a.actions.setFormState]
335
338
  );
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 });
339
+ return K(() => (a.actions.setFormState((E) => ({ ...E, [o]: n }), { shouldDirty: !1 }), a.subscribe(o, (E, { shouldDirty: k = !0, shouldOnChange: u = !0 } = {}) => {
340
+ s(E), a.actions.setFormState((_) => ({ ..._, [o]: E }), { shouldDirty: k, shouldOnChange: u }), m.current && typeof m.current.dispatchEvent == "function" && u && m.current.dispatchEvent(new Event("change"));
341
+ })), []), d({ ref: m, name: o, defaultValue: n, value: i, setValue: c });
339
342
  }, ue = () => {
340
- const [o, n] = K({}), d = se(() => Object.values(o).filter(Boolean).length > 0, [o]), l = _((c, b) => {
343
+ const [o, n] = ee({}), d = se(() => Object.values(o).filter(Boolean).length > 0, [o]), i = v((c, b) => {
341
344
  n((E) => E[c] === b ? E : { ...E, [c]: b });
342
- }, []), s = _((c) => {
345
+ }, []), s = v((c) => {
343
346
  n((b) => ({ ...b, ...c }));
344
- }, []), a = _((c) => {
347
+ }, []), a = v((c) => {
345
348
  n((b) => b[c] ? { ...b, [c]: "" } : b);
346
- }, []), m = _(() => {
349
+ }, []), m = v(() => {
347
350
  n({});
348
351
  }, []);
349
- return { isError: d, errors: o, changeError: l, changeErrors: s, clearError: a, clearErrors: m };
350
- }, Z = {
352
+ return { isError: d, errors: o, changeError: i, changeErrors: s, clearError: a, clearErrors: m };
353
+ }, Q = {
351
354
  defaultValues: {},
352
355
  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;
356
+ }, Te = (o = Q) => {
357
+ 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({}), _ = F(n), w = F({}), P = F(() => {
358
+ }), h = F(), $ = v(
359
+ (t, { shouldDirty: T = !0, shouldOnChange: f = !0 } = {}) => {
360
+ let g = t;
361
+ typeof t == "function" && (g = t(u.current)), u.current = g;
359
362
  let O = E;
360
- T && (O = pe(i.current, v.current), O !== E && g(O)), F.current(i.current);
363
+ T && (O = pe(u.current, _.current), O !== E && k(O)), f && P.current(u.current);
361
364
  },
362
365
  [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;
366
+ ), M = v(() => {
367
+ k(!1), c();
368
+ const t = w.current;
369
+ Object.values(t).forEach((f) => f("")), h.current.reset(), u.current = _.current;
370
+ }, [c]), X = v((t, T) => {
371
+ const f = w.current;
369
372
  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 = _(
373
+ }, []), L = v((t) => (P.current = t, () => P.current = () => {
374
+ })), W = v((t) => ae(t.target), []), U = v((t) => t ? u.current[t] : u.current, []), q = v(() => _.current, []), x = v(() => {
375
+ setTimeout(() => h.current.dispatchEvent(new Event("input", { bubbles: !0 })));
376
+ }, []), N = v(
374
377
  (t) => {
375
378
  const T = ae(t.target);
376
- T ? l(t.target.name, T) : l(t.target.name, null);
379
+ T ? i(t.target.name, T) : i(t.target.name, null);
377
380
  },
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();
381
+ [i]
382
+ ), J = v(
383
+ (t, T, { shouldDirty: f = !0, shouldOnChange: g = !0 } = {}) => {
384
+ const O = w.current;
385
+ switch (typeof t) {
386
+ case "string":
387
+ {
388
+ const y = O[t];
389
+ if (!y)
390
+ throw new Error(`${t} is uncontrolled, please use Controller for it!`);
391
+ y(T, { shouldDirty: f, shouldOnChange: g }), g && x();
392
+ }
393
+ break;
394
+ case "object":
395
+ Object.entries(t).forEach(([y, z]) => {
396
+ const D = O[y];
397
+ if (!D)
398
+ throw new Error(`${y} is uncontrolled, please use Controller for it!`);
399
+ D(z, { shouldDirty: f, shouldOnChange: g });
400
+ }), g && x();
401
+ default:
402
+ return;
387
403
  }
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
404
  },
395
405
  [x]
396
- ), C = _(() => {
397
- const t = Object.fromEntries(new FormData(k.current)), T = j.current;
406
+ ), C = v(() => {
407
+ const t = Object.fromEntries(new FormData(h.current)), T = w.current;
398
408
  return Object.keys(T).map((f) => {
399
- t[f] = i.current[f];
409
+ t[f] = u.current[f];
400
410
  }), d.forEach((f) => t.hasOwnProperty(f) && (t[f] = +t[f])), t;
401
- }, []), N = se(
411
+ }, []), V = se(
402
412
  () => ({
403
- setValue: q,
413
+ setValue: J,
404
414
  instantChange: x,
405
- getDefaultValues: U,
406
- getFormState: W,
407
- setFormState: I,
408
- changeError: l,
415
+ getDefaultValues: q,
416
+ getFormState: U,
417
+ setFormState: $,
418
+ changeError: i,
409
419
  changeErrors: a,
410
420
  clearError: m,
411
421
  clearErrors: c,
412
422
  loadFormValues: C,
413
- checkValidity: P,
414
- getFieldValidity: L,
415
- registerOnchange: M,
416
- reset: $
423
+ checkValidity: N,
424
+ getFieldValidity: W,
425
+ registerOnchange: L,
426
+ reset: M
417
427
  }),
418
428
  [
419
- q,
429
+ J,
420
430
  x,
431
+ q,
421
432
  U,
422
- W,
423
- I,
424
- l,
433
+ $,
434
+ i,
425
435
  a,
426
436
  m,
427
437
  C,
438
+ W,
439
+ N,
428
440
  L,
429
- P,
430
- M,
431
- $
441
+ M
432
442
  ]
433
443
  );
434
- return Q(() => {
435
- if (k.current) {
444
+ return K(() => {
445
+ if (h.current) {
436
446
  const t = C();
437
- v.current = { ...t, ...n }, i.current = { ...t, ...n };
447
+ _.current = { ...t, ...n }, u.current = { ...t, ...n };
438
448
  }
439
- }, []), { ref: k, isDirty: E, isError: b, errors: s, numberFields: d, subscribe: G, actions: N };
440
- }, he = {
441
- Form: _e,
442
- Controller: ve,
449
+ }, []), { ref: h, isDirty: E, isError: b, errors: s, numberFields: d, subscribe: X, actions: V };
450
+ }, ge = {
451
+ Form: ve,
452
+ Controller: _e,
443
453
  useForm: Te,
444
454
  useValidateForm: ue
445
455
  };
446
456
  export {
447
- ve as Controller,
448
- _e as Form,
449
- he as default,
457
+ _e as Controller,
458
+ ve as Form,
459
+ ge as default,
450
460
  Te as useForm,
451
461
  ue as useValidateForm
452
462
  };
@@ -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 y: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===y)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 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 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 v=t.children;if(v!==void 0)if(k)if(p(v)){for(k=0;k<v.length;k++)l(v[k]);Object.freeze&&Object.freeze(v)}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(v);if(n.call(t,"key")){v=o(e);var P=Object.keys(t).filter(function(Ee){return Ee!=="key"});k=0<P.length?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}",I[v+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,v,P,v),I[v+k]=!0)}if(v=null,i!==void 0&&(b(i),v=""+i),E(t)&&(b(t.key),v=""+t.key),"key"in t){i={};for(var $ in t)$!=="key"&&(i[$]=t[$])}else i=t;return v&&u(i,typeof e=="function"?e.displayName||e.name||"Unknown":e),m(e,v,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"),y=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,p=Array.isArray,d=console.createTask?console.createTask:function(){return null};_={"react-stack-bottom-frame":function(e){return e()}};var S,O={},j=_["react-stack-bottom-frame"].bind(_,s)(),B=d(f(s)),I={};x.Fragment=y,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=>{var a;return!o||typeof o.checkValidity!="function"||o.checkValidity()||(a=o.validity)!=null&&a.customError?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(()=>{}),y=r.useRef(),L=r.useCallback((n,{shouldDirty:p=!0,shouldOnChange:d=!0}={})=>{let S=n;typeof n=="function"&&(S=n(l.current)),l.current=S;let O=m;p&&(O=be(l.current,_.current),O!==m&&g(O)),d&&N.current(l.current)},[m]),W=r.useCallback(()=>{g(!1),u();const n=F.current;Object.values(n).forEach(d=>d("")),y.current.reset(),l.current=_.current},[u]),Q=r.useCallback((n,p)=>{const d=F.current;return d[n]=p,()=>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(()=>y.current.dispatchEvent(new Event("input",{bubbles:!0})))},[]),V=r.useCallback(n=>{const p=oe(n.target);p?f(n.target.name,p):f(n.target.name,null)},[f]),X=r.useCallback((n,p,{shouldDirty:d=!0,shouldOnChange:S=!0}={})=>{const O=F.current;switch(typeof n){case"string":{const j=O[n];if(!j)throw new Error(`${n} is uncontrolled, please use Controller for it!`);j(p,{shouldDirty:d,shouldOnChange:S}),S&&w()}break;case"object":Object.entries(n).forEach(([j,B])=>{const I=O[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(y.current)),p=F.current;return Object.keys(p).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(y.current){const n=D();_.current={...n,...a},l.current={...n,...a}}},[]),{ref:y,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.8",
4
4
  "keywords": [
5
5
  "react formkit",
6
6
  "react ez formkit",