react-simple-formkit 2.4.0 → 2.4.2

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.
@@ -1,4 +1,4 @@
1
- (function(N,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],s):(N=typeof globalThis<"u"?globalThis:N||self,s(N.Name={},N.React))})(this,function(N,s){"use strict";var Q={exports:{}},J={};/**
1
+ (function(D,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],s):(D=typeof globalThis<"u"?globalThis:D||self,s(D.Name={},D.React))})(this,function(D,s){"use strict";var re={exports:{}},Q={};/**
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 ie;function ke(){if(ie)return J;ie=1;var o=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function c(l,u,b){var a=null;if(b!==void 0&&(a=""+b),u.key!==void 0&&(a=""+u.key),"key"in u){b={};for(var h in u)h!=="key"&&(b[h]=u[h])}else b=u;return u=b.ref,{$$typeof:o,type:l,key:a,ref:u!==void 0?u:null,props:b}}return J.Fragment=t,J.jsx=c,J.jsxs=c,J}var z={};/**
9
+ */var be;function Te(){if(be)return Q;be=1;var n=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function a(l,u,f){var c=null;if(f!==void 0&&(c=""+f),u.key!==void 0&&(c=""+u.key),"key"in u){f={};for(var m in u)m!=="key"&&(f[m]=u[m])}else f=u;return u=f.ref,{$$typeof:n,type:l,key:c,ref:u!==void 0?u:null,props:f}}return Q.Fragment=t,Q.jsx=a,Q.jsxs=a,Q}var K={};/**
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 fe;function ve(){return fe||(fe=1,process.env.NODE_ENV!=="production"&&function(){function o(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case S:return"Fragment";case p:return"Profiler";case T:return"StrictMode";case q:return"Suspense";case L:return"SuspenseList";case oe: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 C:return"Portal";case I:return(e.displayName||"Context")+".Provider";case V:return(e._context.displayName||"Context")+".Consumer";case B:var m=e.render;return e=e.displayName,e||(e=m.displayName||m.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case v:return m=e.displayName||null,m!==null?m:o(e.type)||"Memo";case H:m=e._payload,e=e._init;try{return o(e(m))}catch{}}return null}function t(e){return""+e}function c(e){try{t(e);var m=!1}catch{m=!0}if(m){m=console;var y=m.error,_=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return y.call(m,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",_),t(e)}}function l(e){if(e===S)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===H)return"<...>";try{var m=o(e);return m?"<"+m+">":"<...>"}catch{return"<...>"}}function u(){var e=X.A;return e===null?null:e.getOwner()}function b(){return Error("react-stack-top-frame")}function a(e){if(P.call(e,"key")){var m=Object.getOwnPropertyDescriptor(e,"key").get;if(m&&m.isReactWarning)return!1}return e.key!==void 0}function h(e,m){function y(){Y||(Y=!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)",m))}y.isReactWarning=!0,Object.defineProperty(e,"key",{get:y,configurable:!0})}function i(){var e=o(this.type);return $[e]||($[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function E(e,m,y,_,x,D,Z,r){return y=D.ref,e={$$typeof:A,type:e,key:m,props:D,_owner:x},(y!==void 0?y:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:i}):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:Z}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:r}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function f(e,m,y,_,x,D,Z,r){var n=m.children;if(n!==void 0)if(_)if(ae(n)){for(_=0;_<n.length;_++)R(n[_]);Object.freeze&&Object.freeze(n)}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 R(n);if(P.call(m,"key")){n=o(e);var d=Object.keys(m).filter(function(O){return O!=="key"});_=0<d.length?"{key: someKey, "+d.join(": ..., ")+": ...}":"{key: someKey}",te[n+_]||(d=0<d.length?"{"+d.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var Ee;function Ae(){return Ee||(Ee=1,process.env.NODE_ENV!=="production"&&function(){function n(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===se?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case C:return"Fragment";case j:return"Profiler";case k:return"StrictMode";case ie:return"Suspense";case fe:return"SuspenseList";case F:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case S:return"Portal";case x:return(r.displayName||"Context")+".Provider";case V:return(r._context.displayName||"Context")+".Consumer";case L:var d=r.render;return r=r.displayName,r||(r=d.displayName||d.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case te:return d=r.displayName||null,d!==null?d:n(r.type)||"Memo";case G:d=r._payload,r=r._init;try{return n(r(d))}catch{}}return null}function t(r){return""+r}function a(r){try{t(r);var d=!1}catch{d=!0}if(d){d=console;var p=d.error,O=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return p.call(d,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",O),t(r)}}function l(r){if(r===C)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===G)return"<...>";try{var d=n(r);return d?"<"+d+">":"<...>"}catch{return"<...>"}}function u(){var r=q.A;return r===null?null:r.getOwner()}function f(){return Error("react-stack-top-frame")}function c(r){if(ne.call(r,"key")){var d=Object.getOwnPropertyDescriptor(r,"key").get;if(d&&d.isReactWarning)return!1}return r.key!==void 0}function m(r,d){function p(){H||(H=!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)",d))}p.isReactWarning=!0,Object.defineProperty(r,"key",{get:p,configurable:!0})}function E(){var r=n(this.type);return oe[r]||(oe[r]=!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.")),r=this.props.ref,r!==void 0?r:null}function b(r,d,p,O,Y,M,$,J){return p=M.ref,r={$$typeof:A,type:r,key:d,props:M,_owner:Y},(p!==void 0?p:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:E}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:$}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:J}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function i(r,d,p,O,Y,M,$,J){var _=d.children;if(_!==void 0)if(O)if(de(_)){for(O=0;O<_.length;O++)g(_[O]);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 g(_);if(ne.call(d,"key")){_=n(r);var z=Object.keys(d).filter(function(e){return e!=="key"});O=0<z.length?"{key: someKey, "+z.join(": ..., ")+": ...}":"{key: someKey}",ae[_+O]||(z=0<z.length?"{"+z.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} />`,_,n,d,n),te[n+_]=!0)}if(n=null,y!==void 0&&(c(y),n=""+y),a(m)&&(c(m.key),n=""+m.key),"key"in m){y={};for(var g in m)g!=="key"&&(y[g]=m[g])}else y=m;return n&&h(y,typeof e=="function"?e.displayName||e.name||"Unknown":e),E(e,n,D,x,u(),y,Z,r)}function R(e){typeof e=="object"&&e!==null&&e.$$typeof===A&&e._store&&(e._store.validated=1)}var k=s,A=Symbol.for("react.transitional.element"),C=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),p=Symbol.for("react.profiler"),V=Symbol.for("react.consumer"),I=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),q=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),H=Symbol.for("react.lazy"),oe=Symbol.for("react.activity"),ce=Symbol.for("react.client.reference"),X=k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=Object.prototype.hasOwnProperty,ae=Array.isArray,U=console.createTask?console.createTask:function(){return null};k={"react-stack-bottom-frame":function(e){return e()}};var Y,$={},ee=k["react-stack-bottom-frame"].bind(k,b)(),re=U(l(b)),te={};z.Fragment=S,z.jsx=function(e,m,y,_,x){var D=1e4>X.recentlyCreatedOwnerStacks++;return f(e,m,y,!1,_,x,D?Error("react-stack-top-frame"):ee,D?U(l(e)):re)},z.jsxs=function(e,m,y,_,x){var D=1e4>X.recentlyCreatedOwnerStacks++;return f(e,m,y,!0,_,x,D?Error("react-stack-top-frame"):ee,D?U(l(e)):re)}}()),z}var de;function Fe(){return de||(de=1,process.env.NODE_ENV==="production"?Q.exports=ke():Q.exports=ve()),Q.exports}var be=Fe();const F=()=>{},Ee=s.createContext({ref:null,watch:F,actions:{reset:F,resetField:F,setValue:F,getValues:F,getErrors:F,getFieldStates:F,getFormStates:F,setError:F,clearError:F,clearErrors:F,checkValidity:F,getNumberFields:F,getFieldValidity:F,getDefaultValues:F,setFieldState:F,resetFieldState:F,getControlledFields:F},registerController:F,registerHookWatcher:F,lastReloadedAt:F,loadFormValues:F,getWatchValue:F,channels:{}}),ne=()=>s.useContext(Ee),pe=({id:o,control:t,method:c,action:l,children:u,onChange:b,onBlur:a,onSubmit:h=()=>{},onInput:i=()=>{},onReset:E=()=>{},numberFields:f=[],className:R,...k})=>{const A=s.useCallback(C=>{t.ref&&(t.ref.current=C,t.ref.current&&t.initForm())},[t]);return s.useEffect(()=>{let C=()=>{},S=()=>{};return b&&(C=t.channels.subscribe("onChange",b)),a&&(S=t.channels.subscribe("onBlur",a)),()=>{C(),S()}},[t.lastReloadedAt]),be.jsx(Ee.Provider,{value:t,children:be.jsx("form",{id:o,ref:A,action:l,method:c,className:R,onInput:i,onSubmit:C=>{c||C.preventDefault();const S=t.loadFormValues();h(S)},onChange:C=>{const S=C.target.name;!S||t.actions.getControlledFields().has(S)||t.actions.setValue(S,C.target.value)},onBlur:C=>{const S=C.target.name;if(!S||t.actions.getControlledFields().has(S))return;const T=C.target.value;t.channels.publish("onBlur",S,T,t.actions.getValues())},onReset:C=>{t.actions.reset(),E(C)},...k,children:u},t.lastReloadedAt)})},se={isDirty:!1,isTouched:!1,error:null},ge={lastReset:null,isDirty:!1,isError:!1,errorFields:[],dirtyFields:[],touchedFields:[]},Te={},w=(o={},t="")=>t.split(".").reduce((c,l)=>c&&c[l]!==void 0?c[l]:void 0,o),M=(o={},t="",c)=>{const l={...o};let u=l;const b=t.split(".");return b.forEach((a,h)=>{h<b.length-1?(u[a]=u[a]?{...u[a]}:{},u=u[a]):u[a]=c}),l},G=(o,t)=>{const c=w(o,t);return typeof c=="object"&&!Array.isArray(c)},_e=["errors","fieldStates","formState"],W=o=>_e.some(t=>o.startsWith(t))?o:"values."+o,we=["badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing"],he=o=>{typeof o.setCustomValidity=="function"&&o.setCustomValidity("");let t=o.validity,c=we.find(l=>t[l]);if(c)return{type:c,message:o.validationMessage}},Ae=({control:o,name:t,compute:c})=>{const{getWatchValue:l,registerHookWatcher:u}=o||ne(),b=l({name:t,compute:c}),[a,h]=s.useState(b);return s.useEffect(()=>u({name:t,compute:c,value:a,setValue:h}),[]),a},me=({control:o,name:t,defaultValue:c})=>{const{actions:l,registerController:u,channels:b,getWatchValue:a}=o||ne(),h=s.useRef(),i=s.useRef(),E=w(l.getDefaultValues(),t)||c||"",[f,R]=s.useState(E),[k,A]=s.useState({}),C=s.useCallback((T,{shouldDirty:p=!0,shouldOnChange:V=!0}={})=>{var B;let I=T;((B=T==null?void 0:T.target)==null?void 0:B.value)!==void 0&&(I=T.target.value),R(I),l.setValue(t,I,{shouldDirty:p,shouldOnChange:V})},[l.setValue]),S=s.useCallback(T=>{const p=l.getValues(),V=T??w(p,t);b.publish("onBlur",t,V,p)},[]);return s.useEffect(()=>{const T=u(t,R);return()=>{T(),i.current&&i.current()}},[]),new Proxy({ref:h,name:t,defaultValue:E,value:f,onChange:C,onBlur:S,fieldState:k},{get(T,p,V){return typeof p=="string"&&p==="fieldState"&&(i.current&&i.current(),i.current=l.subscribe(`fieldStates.${t}`,()=>{A(a({name:`fieldStates.${t}`}))})),Reflect.get(T,p,V)}})},Oe=({name:o,control:t,defaultValue:c,render:l=({ref:u,name:b,defaultValue:a,value:h,onChange:i,onBlur:E,fieldState:f})=>null})=>{const u=me({name:o,defaultValue:c,control:t});return l(u)},je=()=>{const[o,t]=s.useState(),c=s.useCallback(()=>t(new Date().toString()),[]);return[o,c]},Pe=()=>{const[,o]=s.useState({});return s.useCallback(()=>o({}),[])},Ne=({channels:o,getWatchValue:t})=>{const c=Pe(),l=s.useCallback(a=>{if(!a)return o.subscribeWatch("values",()=>c()),t();if(typeof a=="string"){const h=W(a);o.subscribeWatch(h,(i,E)=>{i!==E&&c()})}return Array.isArray(a)&&a.forEach(h=>{const i=W(h);o.subscribeWatch(i,(E,f)=>{E!==f&&c()})}),t({name:a})},[]),u=s.useCallback(({name:a,compute:h,setValue:i})=>{if(typeof h=="function")return o.subscribe("values",()=>{const f=t({compute:h});i(f)});if(!a)return o.subscribe("values",()=>{i(t())});if(typeof a=="string"){const E=W(a);return o.subscribe(E,()=>{const R=t({name:a});i(R)})}if(Array.isArray(a)){const E=[];return a.forEach(f=>{const R=W(f),k=o.subscribe(R,()=>{const A=t({name:a});i(A)});E.push(k)}),()=>E.forEach(f=>f())}throw new Error("Parameters of name must be string or array of string or compute must be a function")},[]),b=s.useCallback((a,h)=>{if(!a)return o.subscribe("values",()=>h(t()));if(["onChange","onBlur"].includes(a))return o.subscribe(a,h);if(typeof a=="string"){const i=W(a);return o.subscribe(i,()=>h(t({name:a})))}if(Array.isArray(a)){const i=[];return a.forEach(E=>{const f=W(E),R=o.subscribe(f,()=>{h(t({name:a}))});i.push(R)}),()=>i.forEach(E=>E())}throw new Error("Parameters of name must be string or array of string")},[]);return{watch:l,registerHookWatcher:u,getWatchValue:t,subscribe:b}},De=({getWatchValue:o})=>{const t=s.useRef(new Map),c=s.useRef(new Map),l=s.useCallback(()=>c.current,[]),u=s.useCallback(()=>t.current,[]),b=s.useCallback(()=>{t.current.clear(),c.current.clear()},[]),a=s.useCallback((f,...R)=>{const k=t.current.get(f),A=c.current.get(f);k&&k.forEach(C=>C(...R)),A&&A.forEach(C=>C(...R)),t.current.forEach((C,S)=>{if(S!==f&&f.startsWith(S)){const T=o({name:S.replace("values.","").replace("values","")});C.forEach(p=>p(M(T,f.replace(`${S}.`,""),R[0])))}}),c.current.forEach((C,S)=>{if(S!==f&&f.startsWith(S)){const T=o({name:S.replace("values.","").replace("values","")});C.forEach(p=>p(M(T,f.replace(`${S}.`,""),R[0])))}})},[]),h=s.useCallback(f=>{t.current.forEach((R,k)=>{k.startsWith(f)&&R.forEach(A=>A(o({name:k.replace("values.","").replace("values","")})))}),c.current.forEach((R,k)=>{k.startsWith(f)&&R.forEach(A=>A(o({name:k.replace("values.","").replace("values","")})))})},[]),i=s.useCallback((f,R)=>(t.current.has(f)||t.current.set(f,new Set),t.current.get(f).add(R),()=>{var k;return(k=t.current.get(f))==null?void 0:k.delete(R)}),[]),E=s.useCallback((f,R)=>{c.current.has(f)||(c.current.set(f,new Set),c.current.get(f).add(R))},[]);return{reset:b,publish:a,subscribe:i,subscribeWatch:E,getEvents:u,getWatchEvents:l,trigger:h}},Re=(o,t={},c="")=>!!Object.keys(t).find(l=>{const u=t[l];return G(o,c+l)?Re(o,u,c+l+"."):!!u.isDirty}),K=(o,t={},c="")=>!!Object.keys(t).find(l=>{const u=t[l];return G(o,c+l)?K(o,u,c+l+"."):!!u}),Se=(o,t={},c="")=>Object.keys(t).reduce((l,u)=>{const b=t[u];return G(o,c+u)?[...l,...Se(o,b,c+u+".")]:b.isDirty?[...l,c+u]:l},[]),Ce=(o,t={},c="")=>Object.keys(t).reduce((l,u)=>{const b=t[u];return G(o,c+u)?[...l,...Ce(o,b,c+u+".")]:b.isTouched?[...l,c+u]:l},[]),ye=(o,t={},c="")=>Object.keys(t).reduce((l,u)=>{const b=t[u];return G(o,c+u)?[...l,...ye(o,b,c+u+".")]:b?[...l,c+u]:l},[]),Ve=({defaultValues:o=Te,shouldUnRegister:t=!1}={})=>{const[c,l]=je(),u=s.useRef(),b=s.useRef(new Map),a=s.useRef({}),h=s.useRef({}),i=s.useRef({...ge}),E=s.useRef({...o}),f=s.useRef({...o}),R=s.useCallback((r,n=f.current)=>Object.keys(n).reduce((d,g)=>{if(typeof n[g]=="object")return{...d,[g]:R(r,n[g])};const O={...r?{}:h.current[g]||{},...se};return{...d,[g]:O}},{}),[]),k=s.useCallback((r={},{clearCustomFormStates:n=!1,clearCustomFieldStates:d=!1}={})=>{f.current={...f.current,...r},E.current={...f.current},b.current.forEach((g,O)=>{g(w(f.current,O)??"")}),a.current={},i.current={...n?{}:i.current,...ge},b.current=new Map,v.reset(),h.current=R(d),l()},[]),A=s.useCallback(()=>{let r=Object.fromEntries(new FormData(u.current));b.current.forEach((d,g)=>{r=M(r,g,w(E.current,g))});let n={...E.current,...r};return Object.keys(n).forEach(d=>{if(d.includes(".")){const g=w(n,d);n=M(n,d,g||""),delete n[d]}}),n},[]),C=s.useCallback(r=>he(r.target),[]),S=s.useCallback(()=>f.current,[]),T=s.useCallback(()=>b.current,[]),p=s.useCallback((r,n)=>n?Array.isArray(n)?n.reduce((d,g)=>({...d,[g]:w(r,g)}),{}):w(r,n):{...r},[]),V=s.useCallback(r=>p(E.current,r),[p]),I=s.useCallback(r=>p(a.current,r),[p]),B=s.useCallback(r=>p(h.current,r),[p]),q=s.useCallback(r=>p({...i.current,lastReset:c},r),[c]),L=s.useCallback(({name:r,compute:n}={})=>{if(!r&&!n||r==="values")return V();if(typeof n=="function")return n(V());if(Array.isArray(r)){const d={};return r.forEach(g=>{d[g]=L({name:g})}),d}return w({...E.current,errors:a.current,fieldStates:h.current,formState:q()},r)},[]),v=De({getWatchValue:L}),{watch:H,registerHookWatcher:oe,subscribe:ce}=Ne({getWatchValue:L,channels:v}),X=s.useCallback((r,n)=>{const d=i.current,g=w(d,r);g!==n&&(i.current=M(i.current,r,n),v.publish(`formState.${r}`,n,g))},[]),P=s.useCallback((r,n,d)=>{try{const g=w(h.current,r)||{...se},O=w(g,n);if(O!==d){if(h.current=M(h.current,`${r}.${n}`,d),v.publish(`fieldStates.${r}.${n}`,d,O),n==="error"){const j=ye(E.current,a.current);i.current.errorFields=j,v.publish("formState.errorFields",j)}if(n==="isDirty"){const j=Se(E.current,h.current);i.current.dirtyFields=j,v.publish("formState.dirtyFields",j)}if(n==="isTouched"){const j=Ce(E.current,h.current);i.current.touchedFields=j,v.publish("formState.touchedFields",j)}}}catch(g){console.log(g)}},[]),ae=s.useCallback(r=>{P(r,"isDirty",!1),P(r,"isTouched",!1),P(r,"error",null)},[]),U=s.useCallback((r,n)=>{try{const d=w(a.current,r);if(d===n)return;a.current=M(a.current,r,n),v.publish(`errors.${r}`,n,d),P(r,"error",n);const g=K(E.current,a.current);if(i.current.isError!==g){const O=i.current.isError;i.current.isError=g,v.publish("formState.isError",g,O)}}catch(d){console.error(d)}},[]),Y=s.useCallback(r=>{try{const n=w(a.current,r);if(!n)return;a.current=M(a.current,r,null),v.publish(`errors.${r}`,null,n),P(r,"error",null);const d=K(E.current,a.current);if(i.current.isError!==d){const g=i.current.isError;i.current.isError=d,v.publish("formState.isError",d,g)}}catch(n){console.error(n)}},[]),$=s.useCallback(()=>{if(!i.current.isError)return;Object.keys(a.current).forEach(n=>Y(n)),a.current={};const r=K(E.current,a.current);if(i.current.isError!==r){const n=i.current.isError;i.current.isError=r,v.publish("formState.isError",r,n)}},[]),ee=s.useCallback(r=>{const n=he(r.target);n?U(r.target.name,n):Y(r.target.name)},[]),re=s.useCallback((r,n,{shouldDirty:d=!0,shouldOnChange:g=!0}={})=>{const O=w(E.current,r);if(n===O)return;if(P(r,"isTouched",!0),d){const le=n!==(w(f.current,r)||"");P(r,"isDirty",le)}E.current=M(E.current,r,n),v.publish(`values.${r}`,n,O);const j=b.current.get(r);j&&j(n),g&&v.publish("onChange",r,n,E.current);const ue=Re(E.current,h.current);if(i.current.isDirty!==ue){const le=i.current.isDirty;i.current.isDirty=ue,v.publish("formState.isDirty",ue,le)}},[]),te=s.useCallback((r,n)=>(b.current.set(r,n),h.current=M(h.current,r,{...se}),()=>{t&&b.current.delete(r)}),[]),e=s.useCallback((r,{keepError:n,keepDirty:d,keepTouched:g,defaultValue:O})=>{const j=b.current.get(r);if(!j)throw new Error(`Cannot reset "${r}" because it's uncontrolled field`);f.current[r]=O,E.current[r]=O,j&&j(O),n||Y(r),d||P(r,"isDirty",!1),g||P(r,"isTouched",!1)},[]),m=s.useCallback(r=>{if(!r)return v.trigger("values");if(!Array.isArray(r)){const n=W(r);v.trigger(n);return}r.forEach(n=>{const d=W(n);v.trigger(d)})},[]),y=s.useCallback((r,n=_.getValues(r))=>{v.publish("onBlur",r,n,_.getValues())},[]),_=s.useMemo(()=>({subscribe:ce,reset:k,trigger:m,reload:l,resetField:e,setValue:re,getValues:V,getErrors:I,getFieldStates:B,getFormState:q,setError:U,clearError:Y,clearErrors:$,checkValidity:ee,getFieldValidity:C,getDefaultValues:S,setFieldState:P,triggerFieldBlur:y,resetFieldState:ae,getControlledFields:T,setFormState:X,getEvents:v.getEvents,getWatchEvents:v.getWatchEvents}),[c]),x=s.useCallback(()=>{[...u.current.querySelectorAll("[name]")].forEach(d=>{const g=d.name;!d.defaultValue&&!b.current.has(g)&&w(f.current,g)&&(d.defaultValue=w(f.current,g))});const n=A();E.current={...n},f.current={...n}},[]),D=s.useMemo(()=>({ref:u,watch:H,actions:_,initForm:x,registerController:te,registerHookWatcher:oe,lastReloadedAt:c,loadFormValues:A,getWatchValue:L,channels:v}),[c]),Z=s.useMemo(()=>({control:D,actions:_,watch:H}),[c]);return s.useLayoutEffect(()=>{u.current&&x()},[c]),s.useLayoutEffect(()=>{h.current=R(!1)},[]),Z};N.Controller=Oe,N.Form=pe,N.useController=me,N.useForm=Ve,N.useFormContext=ne,N.useWatch=Ae,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})});
22
+ <%s key={someKey} {...props} />`,O,_,z,_),ae[_+O]=!0)}if(_=null,p!==void 0&&(a(p),_=""+p),c(d)&&(a(d.key),_=""+d.key),"key"in d){p={};for(var ee in d)ee!=="key"&&(p[ee]=d[ee])}else p=d;return _&&m(p,typeof r=="function"?r.displayName||r.name||"Unknown":r),b(r,_,M,Y,u(),p,$,J)}function g(r){typeof r=="object"&&r!==null&&r.$$typeof===A&&r._store&&(r._store.validated=1)}var v=s,A=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),V=Symbol.for("react.consumer"),x=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),ie=Symbol.for("react.suspense"),fe=Symbol.for("react.suspense_list"),te=Symbol.for("react.memo"),G=Symbol.for("react.lazy"),F=Symbol.for("react.activity"),se=Symbol.for("react.client.reference"),q=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne=Object.prototype.hasOwnProperty,de=Array.isArray,X=console.createTask?console.createTask:function(){return null};v={"react-stack-bottom-frame":function(r){return r()}};var H,oe={},N=v["react-stack-bottom-frame"].bind(v,f)(),ce=X(l(f)),ae={};K.Fragment=C,K.jsx=function(r,d,p,O,Y){var M=1e4>q.recentlyCreatedOwnerStacks++;return i(r,d,p,!1,O,Y,M?Error("react-stack-top-frame"):N,M?X(l(r)):ce)},K.jsxs=function(r,d,p,O,Y){var M=1e4>q.recentlyCreatedOwnerStacks++;return i(r,d,p,!0,O,Y,M?Error("react-stack-top-frame"):N,M?X(l(r)):ce)}}()),K}var ge;function _e(){return ge||(ge=1,process.env.NODE_ENV==="production"?re.exports=Te():re.exports=Ae()),re.exports}var he=_e();const y=()=>{},me=s.createContext({ref:null,watch:y,actions:{reset:y,resetField:y,setValue:y,getValues:y,getErrors:y,getFieldStates:y,getFormStates:y,setError:y,clearError:y,clearErrors:y,checkValidity:y,getNumberFields:y,getFieldValidity:y,getDefaultValues:y,setFieldState:y,resetFieldState:y,getControlledFields:y},registerController:y,registerHookWatcher:y,lastReloadedAt:y,loadFormValues:y,getWatchValue:y,channels:{}}),ue=()=>s.useContext(me),Oe=({id:n,control:t,method:a,action:l,children:u,onChange:f,onBlur:c,onSubmit:m=()=>{},onInput:E=()=>{},onReset:b=()=>{},numberFields:i=[],className:g,...v})=>{const A=s.useCallback(S=>{t.ref&&(t.ref.current=S,t.ref.current&&t.initForm())},[t]);return s.useEffect(()=>{let S=()=>{},C=()=>{};return f&&(S=t.channels.subscribe("onChange",f)),c&&(C=t.channels.subscribe("onBlur",c)),()=>{S(),C()}},[t.lastReloadedAt]),he.jsx(me.Provider,{value:t,children:he.jsx("form",{id:n,ref:A,action:l,method:a,className:g,onInput:E,onSubmit:S=>{a||S.preventDefault();const C=t.loadFormValues();m(C)},onChange:S=>{const C=S.target.name;!C||t.actions.getControlledFields().has(C)||t.actions.setValue(C,S.target.value)},onBlur:S=>{const C=S.target.name;if(!C||t.actions.getControlledFields().has(C))return;const k=S.target.value;t.channels.publish("onBlur",C,k,t.actions.getValues())},onReset:S=>{t.actions.reset(),b(S)},...v,children:u},t.lastReloadedAt)})},le={isDirty:!1,isTouched:!1,error:null},Re={lastReset:null,isDirty:!1,isError:!1,errorFields:[],dirtyFields:[],touchedFields:[]},we={},je=["badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing"],w=(n={},t="")=>t.split(".").reduce((a,l)=>a&&a[l]!==void 0?a[l]:void 0,n),I=(n={},t="",a)=>{const l=Array.isArray(n)?[...n]:{...n};let u=l;const f=t.split(".");return f.forEach((c,m)=>{m<f.length-1?(u[c]||(u[c]=/^\d+$/.test(f[m+1])?[]:{}),Array.isArray(u[c])?u[c]=[...u[c]]:u[c]={...u[c]},u=u[c]):u[c]=a}),l},ve=n=>{let t=Array.isArray(n)?[...n]:{...n};return Object.keys(t).forEach(a=>{if(a.includes(".")){const l=w(t,a);t=I(t,a,l||""),delete t[a]}}),t},Pe=["errors","fieldStates","formState"],U=n=>Pe.some(t=>n.startsWith(t))?n:"values."+n,Ce=n=>{typeof n.setCustomValidity=="function"&&n.setCustomValidity("");let t=n.validity,a=je.find(l=>t[l]);if(a)return{type:a,message:n.validationMessage}},Se=(n=new Set,t={},a="")=>Object.keys(t||{}).reduce((l,u)=>{const f=(t||{})[u];return n.has(a+u)?[...l,...Se(n,f,a+u+".")]:f!=null&&f.isDirty?[...l,a+u]:l},[]),pe=(n=new Set,t={},a="")=>Object.keys(t||{}).reduce((l,u)=>{const f=(t||{})[u];return n.has(a+u)?[...l,...pe(n,f,a+u+".")]:f!=null&&f.isTouched?[...l,a+u]:l},[]),ye=(n=new Set,t={},a="")=>Object.keys(t||{}).reduce((l,u)=>{const f=(t||{})[u];return n.has(a+u)?[...l,...ye(n,f,a+u+".")]:f?[...l,a+u]:l},[]),Ne=({control:n,name:t,compute:a})=>{const{getWatchValue:l,registerHookWatcher:u}=n||ue(),f=l({name:t,compute:a}),[c,m]=s.useState(f);return s.useEffect(()=>u({name:t,compute:a,value:c,setValue:m}),[]),c},ke=({control:n,name:t,defaultValue:a})=>{const{actions:l,registerController:u,channels:f,getWatchValue:c}=n||ue(),m=s.useRef(),E=s.useRef(),b=w(l.getDefaultValues(),t)||a||"",[i,g]=s.useState(b),[v,A]=s.useState({}),S=s.useCallback((k,{shouldDirty:j=!0,shouldOnChange:V=!0}={})=>{var L;let x=k;((L=k==null?void 0:k.target)==null?void 0:L.value)!==void 0&&(x=k.target.value),g(x),l.setValue(t,x,{shouldDirty:j,shouldOnChange:V})},[l.setValue]),C=s.useCallback(k=>{const j=l.getValues(),V=k??w(j,t);f.publish("onBlur",t,V,j)},[]);return s.useEffect(()=>{const k=u(t,g);return()=>{k(),E.current&&E.current()}},[]),new Proxy({ref:m,name:t,defaultValue:b,value:i,onChange:S,onBlur:C,fieldState:v},{get(k,j,V){return typeof j=="string"&&j==="fieldState"&&(E.current&&E.current(),E.current=l.subscribe(`fieldStates.${t}`,()=>{A(c({name:`fieldStates.${t}`}))})),Reflect.get(k,j,V)}})},De=({name:n,control:t,defaultValue:a,render:l=({ref:u,name:f,defaultValue:c,value:m,onChange:E,onBlur:b,fieldState:i})=>null})=>{const u=ke({name:n,defaultValue:a,control:t});return l(u)},xe=()=>{const[n,t]=s.useState(),a=s.useCallback(()=>t(new Date().toString()),[]);return[n,a]},Me=()=>{const[,n]=s.useState({});return s.useCallback(()=>n({}),[])},We=({channels:n,getWatchValue:t})=>{const a=Me(),l=s.useCallback(c=>{if(!c)return n.subscribeWatch("values",()=>a()),t();if(typeof c=="string"){const m=U(c);n.subscribeWatch(m,(E,b)=>{E!==b&&a()})}return Array.isArray(c)&&c.forEach(m=>{const E=U(m);n.subscribeWatch(E,(b,i)=>{b!==i&&a()})}),t({name:c})},[]),u=s.useCallback(({name:c,compute:m,setValue:E})=>{if(typeof m=="function")return n.subscribe("values",()=>{const i=t({compute:m});E(i)});if(!c)return n.subscribe("values",()=>{E(t())});if(typeof c=="string"){const b=U(c);return n.subscribe(b,()=>{const g=t({name:c});E(g)})}if(Array.isArray(c)){const b=[];return c.forEach(i=>{const g=U(i),v=n.subscribe(g,()=>{const A=t({name:c});E(A)});b.push(v)}),()=>b.forEach(i=>i())}throw new Error("Parameters of name must be string or array of string or compute must be a function")},[]),f=s.useCallback((c,m)=>{if(!c)return n.subscribe("values",()=>m(t()));if(["onChange","onBlur"].includes(c))return n.subscribe(c,m);if(typeof c=="string"){const E=U(c);return n.subscribe(E,()=>m(t({name:c})))}if(Array.isArray(c)){const E=[];return c.forEach(b=>{const i=U(b),g=n.subscribe(i,()=>{m(t({name:c}))});E.push(g)}),()=>E.forEach(b=>b())}throw new Error("Parameters of name must be string or array of string")},[]);return{watch:l,registerHookWatcher:u,getWatchValue:t,subscribe:f}},Ie=({getWatchValue:n})=>{const t=s.useRef(new Map),a=s.useRef(new Map),l=s.useCallback(()=>a.current,[]),u=s.useCallback(()=>t.current,[]),f=s.useCallback(()=>{t.current.clear(),a.current.clear()},[]),c=s.useCallback((i,...g)=>{const v=t.current.get(i),A=a.current.get(i);v&&v.forEach(S=>S(...g)),A&&A.forEach(S=>S(...g)),t.current.forEach((S,C)=>{if(C!==i&&i.startsWith(C)){const k=n({name:C.replace("values.","").replace("values","")});S.forEach(j=>j(I(k,i.replace(`${C}.`,""),g[0])))}}),a.current.forEach((S,C)=>{if(C!==i&&i.startsWith(C)){const k=n({name:C.replace("values.","").replace("values","")});S.forEach(j=>j(I(k,i.replace(`${C}.`,""),g[0])))}})},[]),m=s.useCallback(i=>{t.current.forEach((g,v)=>{v.startsWith(i)&&g.forEach(A=>A(n({name:v.replace("values.","").replace("values","")})))}),a.current.forEach((g,v)=>{v.startsWith(i)&&g.forEach(A=>A(n({name:v.replace("values.","").replace("values","")})))})},[]),E=s.useCallback((i,g)=>(t.current.has(i)||t.current.set(i,new Set),t.current.get(i).add(g),()=>{var v;return(v=t.current.get(i))==null?void 0:v.delete(g)}),[]),b=s.useCallback((i,g)=>{a.current.has(i)||(a.current.set(i,new Set),a.current.get(i).add(g))},[]);return{reset:f,publish:c,subscribe:E,subscribeWatch:b,getEvents:u,getWatchEvents:l,trigger:m}},Ye=({defaultValues:n=we,shouldUnRegister:t=!1,groups:a=[]}={})=>{const[l,u]=xe(),f=s.useRef(),c=s.useRef(new Map),m=s.useRef({}),E=s.useRef({}),b=s.useRef({...Re}),i=s.useRef({...n}),g=s.useRef({...n}),v=s.useRef(new Set(a)),A=s.useCallback((e,o=g.current)=>Object.keys(o).reduce((h,R)=>{if(typeof o[R]=="object")return{...h,[R]:A(e,o[R])};const P={...e?{}:E.current[R]||{},...le};return{...h,[R]:P}},{}),[]),S=s.useCallback((e={},{clearCustomFormStates:o=!1,clearCustomFieldStates:h=!1,groups:R=v.current}={})=>{g.current={...g.current,...e},i.current={...g.current},c.current.forEach((P,T)=>{P(w(g.current,T)??"")}),m.current={},v.current=new Set(R),c.current=new Map,b.current={...o?{}:b.current,...Re},E.current=A(h),F.reset(),u()},[]),C=s.useCallback(()=>{let e=Object.fromEntries(new FormData(f.current));c.current.forEach((h,R)=>{e=I(e,R,w(i.current,R))});let o={...i.current,...e};return ve(o)},[]),k=s.useCallback(e=>Ce(e.target),[]),j=s.useCallback(()=>g.current,[]),V=s.useCallback(()=>c.current,[]),x=s.useCallback((e,o)=>o?Array.isArray(o)?o.reduce((h,R)=>({...h,[R]:w(e,R)}),{}):w(e,o):{...e},[]),L=s.useCallback(e=>x(i.current,e),[x]),ie=s.useCallback(e=>x(m.current,e),[x]),fe=s.useCallback(e=>x(E.current,e),[x]),te=s.useCallback(e=>x({...b.current,lastReset:l},e),[l]),G=s.useCallback(({name:e,compute:o}={})=>!e&&!o||e==="values"?L():typeof o=="function"?o(L()):Array.isArray(e)?e.reduce((h,R)=>({...h,[R]:G({name:R})}),{}):w({...i.current,errors:m.current,fieldStates:E.current,formState:te()},e),[]),F=Ie({getWatchValue:G}),{watch:se,registerHookWatcher:q,subscribe:ne}=We({getWatchValue:G,channels:F}),de=s.useCallback((e,o)=>{const h=b.current,R=w(h,e);R!==o&&(b.current=I(b.current,e,o),F.publish(`formState.${e}`,o,R))},[]),X=s.useCallback((e,o)=>{N(e,"error",o)},[]),H=s.useCallback(e=>{N(e,"error",null)},[]),oe=s.useCallback(()=>{b.current.isError&&Object.keys(m.current).forEach(e=>H(e))},[]),N=s.useCallback((e,o,h)=>{try{if(typeof h=="function"&&(h=h(G({name:e}))),v.current.has(e))if(typeof h=="object"&&h!==null){Object.keys(h).forEach(T=>{N(`${e}.${T}`,o,h[T])});return}else return console.error(`Cannot set primitive value for nested parent field "${e}". Please set value for its children or provide an object.`);const R=w(E.current,e)||{...le},P=w(R,o);if(P!==h){if(E.current=I(E.current,`${e}.${o}`,h),F.publish(`fieldStates.${e}.${o}`,h,P),o==="error"){const T=w(m.current,e),B=h||null;T!==B&&(m.current=I(m.current,e,B),F.publish(`errors.${e}`,B,T));const W=ye(v.current,m.current);b.current.errorFields=W,F.publish("formState.errorFields",W);const Z=W.length>0;if(b.current.isError!==Z){const Fe=b.current.isError;b.current.isError=Z,F.publish("formState.isError",Z,Fe)}}if(o==="isDirty"){const T=Se(v.current,E.current);b.current.dirtyFields=T,F.publish("formState.dirtyFields",T);const B=T.length>0;if(b.current.isDirty!==B){const W=b.current.isDirty;b.current.isDirty=B,F.publish("formState.isDirty",B,W)}}if(o==="isTouched"){const T=pe(v.current,E.current);b.current.touchedFields=T,F.publish("formState.touchedFields",T)}}}catch(R){console.log(R)}},[]),ce=s.useCallback(e=>{N(e,"isDirty",!1),N(e,"isTouched",!1),N(e,"error",!1)},[]),ae=s.useCallback(e=>{const o=Ce(e.target);o?X(e.target.name,o):H(e.target.name)},[]),r=s.useCallback((e,o,{shouldDirty:h=!0,shouldOnChange:R=!0}={})=>{if(typeof o=="function"&&(o=o(L(e))),v.current.has(e)){typeof o=="object"&&o!==null?Object.keys(o).forEach(W=>{r(`${e}.${W}`,o[W],{shouldDirty:h,shouldOnChange:R})}):console.error(`Cannot set primitive value for nested parent field "${e}". Please set value for its children or provide an object.`);return}const P=w(i.current,e);if(o===P)return;i.current=I(i.current,e,o),F.publish(`values.${e}`,o,P);const T=c.current.get(e);if(T&&T(o),e.includes(".")){const W=e.split("."),Z=W.findIndex((Fe,Ve)=>!v.current.has(W.slice(0,Ve+1).join(".")));Z!==-1&&(e=W.slice(0,Z+1).join("."))}o&&N(e,"isTouched",!0);const B=o!==(w(g.current,e)||"");h&&N(e,"isDirty",B),R&&F.publish("onChange",e,o,P)},[]),d=s.useCallback(e=>{const o=e.split(".");let h="";o.forEach((R,P)=>{P<o.length-1&&(h=h?`${h}.${R}`:R,v.current.add(h))})},[]),p=s.useCallback(e=>{Array.isArray(e)?e.forEach(o=>d(o+".")):d(e+".")},[]),O=s.useCallback((e="",o)=>(c.current.set(e,o),E.current=I(E.current,e,{...le}),e.includes(".")&&d(e),()=>{t&&c.current.delete(e)}),[]),Y=s.useCallback((e,{keepError:o,keepDirty:h,keepTouched:R,defaultValue:P})=>{const T=c.current.get(e);if(!T)throw new Error(`Cannot reset "${e}" because it's uncontrolled field`);g.current=I(g.current,e,P),i.current=I(i.current,e,P),T&&T(P),o||H(e),h||N(e,"isDirty",!1),R||N(e,"isTouched",!1)},[]),M=s.useCallback(e=>{if(!e)return F.trigger("values");if(!Array.isArray(e)){const o=U(e);F.trigger(o);return}e.forEach(o=>{const h=U(o);F.trigger(h)})},[]),$=s.useCallback((e,o=J.getValues(e))=>{F.publish("onBlur",e,o,J.getValues())},[]),J=s.useMemo(()=>({subscribe:ne,reset:S,trigger:M,reload:u,resetField:Y,setValue:r,getValues:L,getErrors:ie,getFieldStates:fe,getFormState:te,setError:X,clearError:H,clearErrors:oe,checkValidity:ae,getFieldValidity:k,getDefaultValues:j,setFieldState:N,triggerFieldBlur:$,resetFieldState:ce,getControlledFields:V,setFormState:de,getEvents:F.getEvents,getWatchEvents:F.getWatchEvents,addGroups:p}),[l]),_=s.useCallback(()=>{[...f.current.querySelectorAll("[name]")].forEach(h=>{const R=h.name||"";R.includes(".")&&d(R),!h.defaultValue&&!c.current.has(R)&&w(g.current,R)&&(h.defaultValue=w(g.current,R))});const o=C();i.current={...o},g.current={...o}},[]),z=s.useMemo(()=>({ref:f,watch:se,actions:J,initForm:_,registerController:O,registerHookWatcher:q,lastReloadedAt:l,loadFormValues:C,getWatchValue:G,channels:F}),[l]),ee=s.useMemo(()=>({control:z,actions:J,watch:se}),[l]);return s.useLayoutEffect(()=>{f.current&&_()},[l]),s.useLayoutEffect(()=>{E.current=A(!1)},[]),ee};D.Controller=De,D.Form=Oe,D.restoreFromDotNotation=ve,D.useController=ke,D.useForm=Ye,D.useFormContext=ue,D.useWatch=Ne,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-simple-formkit",
3
- "version": "2.4.0",
3
+ "version": "2.4.2",
4
4
  "keywords": [
5
5
  "react formkit",
6
6
  "react ez formkit",