react-simple-formkit 2.4.1 → 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.
- package/README.md +13 -0
- package/dist/react-simple-formkit.js +4 -4
- package/dist/react-simple-formkit.mjs +449 -440
- package/dist/react-simple-formkit.umd.js +4 -4
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
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
|
|
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
|
|
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} />`,_,A,e,A),Q[A+_]=!0)}if(A=null,p!==void 0&&(o(p),A=""+p),a(g)&&(o(g.key),A=""+g.key),"key"in g){p={};for(var n in g)n!=="key"&&(p[n]=g[n])}else p=g;return A&&b(p,typeof t=="function"?t.displayName||t.name||"Unknown":t),m(t,A,D,Y,u(),p,G,K)}function R(t){typeof t=="object"&&t!==null&&t.$$typeof===O&&t._store&&(t._store.validated=1)}var C=s,O=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),I=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),ue=Symbol.for("react.suspense"),$=Symbol.for("react.suspense_list"),J=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),ee=Symbol.for("react.activity"),le=Symbol.for("react.client.reference"),Z=C.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te=Object.prototype.hasOwnProperty,re=Array.isArray,B=console.createTask?console.createTask:function(){return null};C={"react-stack-bottom-frame":function(t){return t()}};var se,x={},ne=C["react-stack-bottom-frame"].bind(C,f)(),oe=B(i(f)),Q={};X.Fragment=v,X.jsx=function(t,g,p,_,Y){var D=1e4>Z.recentlyCreatedOwnerStacks++;return l(t,g,p,!1,_,Y,D?Error("react-stack-top-frame"):ne,D?B(i(t)):oe)},X.jsxs=function(t,g,p,_,Y){var D=1e4>Z.recentlyCreatedOwnerStacks++;return l(t,g,p,!0,_,Y,D?Error("react-stack-top-frame"):ne,D?B(i(t)):oe)}}()),X}var be;function Fe(){return be||(be=1,process.env.NODE_ENV==="production"?q.exports=ke():q.exports=ye()),q.exports}var Ee=Fe();const k=()=>{},ge=s.createContext({ref:null,watch:k,actions:{reset:k,resetField:k,setValue:k,getValues:k,getErrors:k,getFieldStates:k,getFormStates:k,setError:k,clearError:k,clearErrors:k,checkValidity:k,getNumberFields:k,getFieldValidity:k,getDefaultValues:k,setFieldState:k,resetFieldState:k,getControlledFields:k},registerController:k,registerHookWatcher:k,lastReloadedAt:k,loadFormValues:k,getWatchValue:k,channels:{}}),ce=()=>s.useContext(ge),Te=({id:c,control:r,method:o,action:i,children:u,onChange:f,onBlur:a,onSubmit:b=()=>{},onInput:d=()=>{},onReset:m=()=>{},numberFields:l=[],className:R,...C})=>{const O=s.useCallback(S=>{r.ref&&(r.ref.current=S,r.ref.current&&r.initForm())},[r]);return s.useEffect(()=>{let S=()=>{},v=()=>{};return f&&(S=r.channels.subscribe("onChange",f)),a&&(v=r.channels.subscribe("onBlur",a)),()=>{S(),v()}},[r.lastReloadedAt]),Ee.jsx(ge.Provider,{value:r,children:Ee.jsx("form",{id:c,ref:O,action:i,method:o,className:R,onInput:d,onSubmit:S=>{o||S.preventDefault();const v=r.loadFormValues();b(v)},onChange:S=>{const v=S.target.name;!v||r.actions.getControlledFields().has(v)||r.actions.setValue(v,S.target.value)},onBlur:S=>{const v=S.target.name;if(!v||r.actions.getControlledFields().has(v))return;const F=S.target.value;r.channels.publish("onBlur",v,F,r.actions.getValues())},onReset:S=>{r.actions.reset(),m(S)},...C,children:u},r.lastReloadedAt)})},ae={isDirty:!1,isTouched:!1,error:null},he={lastReset:null,isDirty:!1,isError:!1,errorFields:[],dirtyFields:[],touchedFields:[]},_e={},Ae=["badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","tooShort","typeMismatch","valueMissing"],j=(c={},r="")=>r.split(".").reduce((o,i)=>o&&o[i]!==void 0?o[i]:void 0,c),W=(c={},r="",o)=>{const i={...c};let u=i;const f=r.split(".");return f.forEach((a,b)=>{b<f.length-1?(u[a]||(u[a]={}),Array.isArray(u[a])?u[a]=[...u[a]]:u[a]={...u[a]},u=u[a]):u[a]=o}),i},me=c=>{let r={...c};return Object.keys(r).forEach(o=>{if(o.includes(".")){const i=j(r,o);r=W(r,o,i||""),delete r[o]}}),r},Oe=["errors","fieldStates","formState"],L=c=>Oe.some(r=>c.startsWith(r))?c:"values."+c,Re=c=>{typeof c.setCustomValidity=="function"&&c.setCustomValidity("");let r=c.validity,o=Ae.find(i=>r[i]);if(o)return{type:o,message:c.validationMessage}},ve=(c=new Set,r={},o="")=>Object.keys(r).reduce((i,u)=>{const f=r[u];return c.has(o+u)?[...i,...ve(c,f,o+u+".")]:f.isDirty?[...i,o+u]:i},[]),Se=(c=new Set,r={},o="")=>Object.keys(r).reduce((i,u)=>{const f=r[u];return c.has(o+u)?[...i,...Se(c,f,o+u+".")]:f.isTouched?[...i,o+u]:i},[]),Ce=(c=new Set,r={},o="")=>Object.keys(r).reduce((i,u)=>{const f=r[u];return c.has(o+u)?[...i,...Ce(c,f,o+u+".")]:f?[...i,o+u]:i},[]),je=({control:c,name:r,compute:o})=>{const{getWatchValue:i,registerHookWatcher:u}=c||ce(),f=i({name:r,compute:o}),[a,b]=s.useState(f);return s.useEffect(()=>u({name:r,compute:o,value:a,setValue:b}),[]),a},pe=({control:c,name:r,defaultValue:o})=>{const{actions:i,registerController:u,channels:f,getWatchValue:a}=c||ce(),b=s.useRef(),d=s.useRef(),m=j(i.getDefaultValues(),r)||o||"",[l,R]=s.useState(m),[C,O]=s.useState({}),S=s.useCallback((F,{shouldDirty:w=!0,shouldOnChange:N=!0}={})=>{var z;let I=F;((z=F==null?void 0:F.target)==null?void 0:z.value)!==void 0&&(I=F.target.value),R(I),i.setValue(r,I,{shouldDirty:w,shouldOnChange:N})},[i.setValue]),v=s.useCallback(F=>{const w=i.getValues(),N=F??j(w,r);f.publish("onBlur",r,N,w)},[]);return s.useEffect(()=>{const F=u(r,R);return()=>{F(),d.current&&d.current()}},[]),new Proxy({ref:b,name:r,defaultValue:m,value:l,onChange:S,onBlur:v,fieldState:C},{get(F,w,N){return typeof w=="string"&&w==="fieldState"&&(d.current&&d.current(),d.current=i.subscribe(`fieldStates.${r}`,()=>{O(a({name:`fieldStates.${r}`}))})),Reflect.get(F,w,N)}})},we=({name:c,control:r,defaultValue:o,render:i=({ref:u,name:f,defaultValue:a,value:b,onChange:d,onBlur:m,fieldState:l})=>null})=>{const u=pe({name:c,defaultValue:o,control:r});return i(u)},Pe=()=>{const[c,r]=s.useState(),o=s.useCallback(()=>r(new Date().toString()),[]);return[c,o]},Ne=()=>{const[,c]=s.useState({});return s.useCallback(()=>c({}),[])},De=({channels:c,getWatchValue:r})=>{const o=Ne(),i=s.useCallback(a=>{if(!a)return c.subscribeWatch("values",()=>o()),r();if(typeof a=="string"){const b=L(a);c.subscribeWatch(b,(d,m)=>{d!==m&&o()})}return Array.isArray(a)&&a.forEach(b=>{const d=L(b);c.subscribeWatch(d,(m,l)=>{m!==l&&o()})}),r({name:a})},[]),u=s.useCallback(({name:a,compute:b,setValue:d})=>{if(typeof b=="function")return c.subscribe("values",()=>{const l=r({compute:b});d(l)});if(!a)return c.subscribe("values",()=>{d(r())});if(typeof a=="string"){const m=L(a);return c.subscribe(m,()=>{const R=r({name:a});d(R)})}if(Array.isArray(a)){const m=[];return a.forEach(l=>{const R=L(l),C=c.subscribe(R,()=>{const O=r({name:a});d(O)});m.push(C)}),()=>m.forEach(l=>l())}throw new Error("Parameters of name must be string or array of string or compute must be a function")},[]),f=s.useCallback((a,b)=>{if(!a)return c.subscribe("values",()=>b(r()));if(["onChange","onBlur"].includes(a))return c.subscribe(a,b);if(typeof a=="string"){const d=L(a);return c.subscribe(d,()=>b(r({name:a})))}if(Array.isArray(a)){const d=[];return a.forEach(m=>{const l=L(m),R=c.subscribe(l,()=>{b(r({name:a}))});d.push(R)}),()=>d.forEach(m=>m())}throw new Error("Parameters of name must be string or array of string")},[]);return{watch:i,registerHookWatcher:u,getWatchValue:r,subscribe:f}},xe=({getWatchValue:c})=>{const r=s.useRef(new Map),o=s.useRef(new Map),i=s.useCallback(()=>o.current,[]),u=s.useCallback(()=>r.current,[]),f=s.useCallback(()=>{r.current.clear(),o.current.clear()},[]),a=s.useCallback((l,...R)=>{const C=r.current.get(l),O=o.current.get(l);C&&C.forEach(S=>S(...R)),O&&O.forEach(S=>S(...R)),r.current.forEach((S,v)=>{if(v!==l&&l.startsWith(v)){const F=c({name:v.replace("values.","").replace("values","")});S.forEach(w=>w(W(F,l.replace(`${v}.`,""),R[0])))}}),o.current.forEach((S,v)=>{if(v!==l&&l.startsWith(v)){const F=c({name:v.replace("values.","").replace("values","")});S.forEach(w=>w(W(F,l.replace(`${v}.`,""),R[0])))}})},[]),b=s.useCallback(l=>{r.current.forEach((R,C)=>{C.startsWith(l)&&R.forEach(O=>O(c({name:C.replace("values.","").replace("values","")})))}),o.current.forEach((R,C)=>{C.startsWith(l)&&R.forEach(O=>O(c({name:C.replace("values.","").replace("values","")})))})},[]),d=s.useCallback((l,R)=>(r.current.has(l)||r.current.set(l,new Set),r.current.get(l).add(R),()=>{var C;return(C=r.current.get(l))==null?void 0:C.delete(R)}),[]),m=s.useCallback((l,R)=>{o.current.has(l)||(o.current.set(l,new Set),o.current.get(l).add(R))},[]);return{reset:f,publish:a,subscribe:d,subscribeWatch:m,getEvents:u,getWatchEvents:i,trigger:b}},Me=({defaultValues:c=_e,shouldUnRegister:r=!1}={})=>{const[o,i]=Pe(),u=s.useRef(),f=s.useRef(new Map),a=s.useRef({}),b=s.useRef({}),d=s.useRef({...he}),m=s.useRef({...c}),l=s.useRef({...c}),R=s.useRef(new Set),C=s.useCallback((e,n=l.current)=>Object.keys(n).reduce((E,h)=>{if(typeof n[h]=="object")return{...E,[h]:C(e,n[h])};const P={...e?{}:b.current[h]||{},...ae};return{...E,[h]:P}},{}),[]),O=s.useCallback((e={},{clearCustomFormStates:n=!1,clearCustomFieldStates:E=!1}={})=>{l.current={...l.current,...e},m.current={...l.current},f.current.forEach((h,P)=>{h(j(l.current,P)??"")}),a.current={},f.current=new Map,d.current={...n?{}:d.current,...he},b.current=C(E),y.reset(),i()},[]),S=s.useCallback(()=>{let e=Object.fromEntries(new FormData(u.current));f.current.forEach((E,h)=>{e=W(e,h,j(m.current,h))});let n={...m.current,...e};return me(n)},[]),v=s.useCallback(e=>Re(e.target),[]),F=s.useCallback(()=>l.current,[]),w=s.useCallback(()=>f.current,[]),N=s.useCallback((e,n)=>n?Array.isArray(n)?n.reduce((E,h)=>({...E,[h]:j(e,h)}),{}):j(e,n):{...e},[]),I=s.useCallback(e=>N(m.current,e),[N]),z=s.useCallback(e=>N(a.current,e),[N]),ue=s.useCallback(e=>N(b.current,e),[N]),$=s.useCallback(e=>N({...d.current,lastReset:o},e),[o]),J=s.useCallback(({name:e,compute:n}={})=>!e&&!n||e==="values"?I():typeof n=="function"?n(I()):Array.isArray(e)?e.reduce((E,h)=>({...E,[h]:J({name:h})}),{}):j({...m.current,errors:a.current,fieldStates:b.current,formState:$()},e),[]),y=xe({getWatchValue:J}),{watch:ee,registerHookWatcher:le,subscribe:Z}=De({getWatchValue:J,channels:y}),te=s.useCallback((e,n)=>{const E=d.current,h=j(E,e);h!==n&&(d.current=W(d.current,e,n),y.publish(`formState.${e}`,n,h))},[]),re=s.useCallback((e,n)=>{x(e,"error",n)},[]),B=s.useCallback(e=>{x(e,"error",null)},[]),se=s.useCallback(()=>{d.current.isError&&Object.keys(a.current).forEach(e=>B(e))},[]),x=s.useCallback((e,n,E)=>{try{if(typeof E=="function"&&(E=E(J({name:e}))),R.current.has(e))if(typeof E=="object"&&E!==null){Object.keys(E).forEach(T=>{x(`${e}.${T}`,n,E[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 h=j(b.current,e)||{...ae},P=j(h,n);if(P!==E){if(b.current=W(b.current,`${e}.${n}`,E),y.publish(`fieldStates.${e}.${n}`,E,P),n==="error"){const T=j(a.current,e),V=E||null;T!==V&&(a.current=W(a.current,e,V),y.publish(`errors.${e}`,V,T));const U=Ce(R.current,a.current);d.current.errorFields=U,y.publish("formState.errorFields",U);const ie=U.length>0;if(d.current.isError!==ie){const We=d.current.isError;d.current.isError=ie,y.publish("formState.isError",ie,We)}}if(n==="isDirty"){const T=ve(R.current,b.current);d.current.dirtyFields=T,y.publish("formState.dirtyFields",T);const V=T.length>0;if(d.current.isDirty!==V){const U=d.current.isDirty;d.current.isDirty=V,y.publish("formState.isDirty",V,U)}}if(n==="isTouched"){const T=Se(R.current,b.current);d.current.touchedFields=T,y.publish("formState.touchedFields",T)}}}catch(h){console.log(h)}},[]),ne=s.useCallback(e=>{x(e,"isDirty",!1),x(e,"isTouched",!1),x(e,"error",!1)},[]),oe=s.useCallback(e=>{const n=Re(e.target);n?re(e.target.name,n):B(e.target.name)},[]),Q=s.useCallback((e,n,{shouldDirty:E=!0,shouldOnChange:h=!0}={})=>{if(typeof n=="function"&&(n=n(I(e))),R.current.has(e)){typeof n=="object"&&n!==null?Object.keys(n).forEach(U=>{Q(`${e}.${U}`,n[U],{shouldDirty:E,shouldOnChange:h})}):console.error(`Cannot set primitive value for nested parent field "${e}". Please set value for its children or provide an object.`);return}const P=j(m.current,e);if(n===P)return;m.current=W(m.current,e,n),y.publish(`values.${e}`,n,P);const T=f.current.get(e);T&&T(n),n&&x(e,"isTouched",!0);const V=n!==(j(l.current,e)||"");E&&x(e,"isDirty",V),h&&y.publish("onChange",e,n,P)},[]),t=s.useCallback(e=>{const n=e.split(".");let E="";n.forEach((h,P)=>{P<n.length-1&&(E=E?`${E}.${h}`:h,R.current.add(E))})},[]),g=s.useCallback((e="",n)=>(f.current.set(e,n),b.current=W(b.current,e,{...ae}),e.includes(".")&&t(e),()=>{r&&f.current.delete(e)}),[]),p=s.useCallback((e,{keepError:n,keepDirty:E,keepTouched:h,defaultValue:P})=>{const T=f.current.get(e);if(!T)throw new Error(`Cannot reset "${e}" because it's uncontrolled field`);l.current=W(l.current,e,P),m.current=W(m.current,e,P),T&&T(P),n||B(e),E||x(e,"isDirty",!1),h||x(e,"isTouched",!1)},[]),_=s.useCallback(e=>{if(!e)return y.trigger("values");if(!Array.isArray(e)){const n=L(e);y.trigger(n);return}e.forEach(n=>{const E=L(n);y.trigger(E)})},[]),Y=s.useCallback((e,n=D.getValues(e))=>{y.publish("onBlur",e,n,D.getValues())},[]),D=s.useMemo(()=>({subscribe:Z,reset:O,trigger:_,reload:i,resetField:p,setValue:Q,getValues:I,getErrors:z,getFieldStates:ue,getFormState:$,setError:re,clearError:B,clearErrors:se,checkValidity:oe,getFieldValidity:v,getDefaultValues:F,setFieldState:x,triggerFieldBlur:Y,resetFieldState:ne,getControlledFields:w,setFormState:te,getEvents:y.getEvents,getWatchEvents:y.getWatchEvents}),[o]),G=s.useCallback(()=>{[...u.current.querySelectorAll("[name]")].forEach(E=>{const h=E.name||"";h.includes(".")&&t(h),!E.defaultValue&&!f.current.has(h)&&j(l.current,h)&&(E.defaultValue=j(l.current,h))});const n=S();m.current={...n},l.current={...n}},[]),K=s.useMemo(()=>({ref:u,watch:ee,actions:D,initForm:G,registerController:g,registerHookWatcher:le,lastReloadedAt:o,loadFormValues:S,getWatchValue:J,channels:y}),[o]),A=s.useMemo(()=>({control:K,actions:D,watch:ee}),[o]);return s.useLayoutEffect(()=>{u.current&&G()},[o]),s.useLayoutEffect(()=>{b.current=C(!1)},[]),A};M.Controller=we,M.Form=Te,M.restoreFromDotNotation=me,M.useController=pe,M.useForm=Me,M.useFormContext=ce,M.useWatch=je,Object.defineProperty(M,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"})});
|