autoforma 2.9.1 → 2.9.3

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/dist/index.cjs.js CHANGED
@@ -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 it;function $t(){return it||(it=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===fe?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case z:return"Fragment";case V:return"Profiler";case $:return"StrictMode";case ee:return"Suspense";case ce:return"SuspenseList";case J:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case O:return"Portal";case C:return c.displayName||"Context";case G:return(c._context.displayName||"Context")+".Consumer";case k:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case se:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case N:_=c._payload,c=c._init;try{return e(c(_))}catch{}}return null}function r(c){return""+c}function t(c){try{r(c);var _=!1}catch{_=!0}if(_){_=console;var j=_.error,I=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return j.call(_,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",I),r(c)}}function n(c){if(c===z)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===N)return"<...>";try{var _=e(c);return _?"<"+_+">":"<...>"}catch{return"<...>"}}function o(){var c=x.A;return c===null?null:c.getOwner()}function i(){return Error("react-stack-top-frame")}function l(c){if(R.call(c,"key")){var _=Object.getOwnPropertyDescriptor(c,"key").get;if(_&&_.isReactWarning)return!1}return c.key!==void 0}function f(c,_){function j(){Q||(Q=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",_))}j.isReactWarning=!0,Object.defineProperty(c,"key",{get:j,configurable:!0})}function w(){var c=e(this.type);return X[c]||(X[c]=!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.")),c=this.props.ref,c!==void 0?c:null}function A(c,_,j,I,ge,_e){var M=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:I},(M!==void 0?M:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:w}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:_e}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function T(c,_,j,I,ge,_e){var M=_.children;if(M!==void 0)if(I)if(L(M)){for(I=0;I<M.length;I++)E(M[I]);Object.freeze&&Object.freeze(M)}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 E(M);if(R.call(_,"key")){M=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});I=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[M+I]||(oe=0<oe.length?"{"+oe.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var it;function $t(){return it||(it=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===fe?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case $:return"Fragment";case V:return"Profiler";case W:return"StrictMode";case ee:return"Suspense";case ce:return"SuspenseList";case J:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case O:return"Portal";case C:return c.displayName||"Context";case G:return(c._context.displayName||"Context")+".Consumer";case k:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case se:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case N:_=c._payload,c=c._init;try{return e(c(_))}catch{}}return null}function r(c){return""+c}function t(c){try{r(c);var _=!1}catch{_=!0}if(_){_=console;var j=_.error,I=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return j.call(_,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",I),r(c)}}function n(c){if(c===$)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===N)return"<...>";try{var _=e(c);return _?"<"+_+">":"<...>"}catch{return"<...>"}}function o(){var c=x.A;return c===null?null:c.getOwner()}function i(){return Error("react-stack-top-frame")}function l(c){if(R.call(c,"key")){var _=Object.getOwnPropertyDescriptor(c,"key").get;if(_&&_.isReactWarning)return!1}return c.key!==void 0}function f(c,_){function j(){Q||(Q=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",_))}j.isReactWarning=!0,Object.defineProperty(c,"key",{get:j,configurable:!0})}function w(){var c=e(this.type);return X[c]||(X[c]=!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.")),c=this.props.ref,c!==void 0?c:null}function A(c,_,j,I,ge,_e){var M=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:I},(M!==void 0?M:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:w}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:_e}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function T(c,_,j,I,ge,_e){var M=_.children;if(M!==void 0)if(I)if(L(M)){for(I=0;I<M.length;I++)E(M[I]);Object.freeze&&Object.freeze(M)}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 E(M);if(R.call(_,"key")){M=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});I=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[M+I]||(oe=0<oe.length?"{"+oe.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} />`,I,M,oe,M),me[M+I]=!0)}if(M=null,j!==void 0&&(t(j),M=""+j),l(_)&&(t(_.key),M=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return M&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),A(c,M,j,o(),ge,_e)}function E(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===N&&(c._payload.status==="fulfilled"?p(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function p(c){return typeof c=="object"&&c!==null&&c.$$typeof===B}var b=g,B=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),C=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),fe=Symbol.for("react.client.reference"),x=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=Object.prototype.hasOwnProperty,L=Array.isArray,W=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(c){return c()}};var Q,X={},de=b.react_stack_bottom_frame.bind(b,i)(),ye=W(n(i)),me={};Ae.Fragment=z,Ae.jsx=function(c,_,j){var I=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!1,I?Error("react-stack-top-frame"):de,I?W(n(c)):ye)},Ae.jsxs=function(c,_,j){var I=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!0,I?Error("react-stack-top-frame"):de,I?W(n(c)):ye)}})()),Ae}var at;function Wt(){return at||(at=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=$t()),Ce.exports}var F=Wt(),Oe=e=>e.type==="checkbox",ve=e=>e instanceof Date,K=e=>e==null;const _t=e=>typeof e=="object";var q=e=>!K(e)&&!Array.isArray(e)&&_t(e)&&!ve(e),Yt=e=>q(e)&&e.target?Oe(e.target)?e.target.checked:e.target.value:e,qt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,zt=(e,r)=>e.has(qt(r)),Ht=e=>{const r=e.constructor&&e.constructor.prototype;return q(r)&&r.hasOwnProperty("isPrototypeOf")},qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(qe&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(q(e)&&Ht(e)))return e;const n=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=H(e[o]));return n}var Ne=e=>/^\w*$/.test(e),U=e=>e===void 0,ze=e=>Array.isArray(e)?e.filter(Boolean):[],He=e=>ze(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!q(e))return t;const n=(Ne(r)?[r]:He(r)).reduce((o,i)=>K(o)?o:o[i],e);return U(n)||n===e?U(e[r])?t:e[r]:n},ue=e=>typeof e=="boolean",ne=e=>typeof e=="function",P=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:He(r),i=o.length,l=i-1;for(;++n<i;){const f=o[n];let w=t;if(n!==l){const A=e[f];w=q(A)||Array.isArray(A)?A:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=w,e=e[f]}};const ot={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},le={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Je=g.createContext(null);Je.displayName="HookFormContext";const be=()=>g.useContext(Je),Jt=e=>{const{children:r,...t}=e;return g.createElement(Je.Provider,{value:t},r)};var Gt=(e,r,t,n=!0)=>{const o={defaultValues:r._defaultValues};for(const i in e)Object.defineProperty(o,i,{get:()=>{const l=i;return r._proxyFormState[l]!==ie.all&&(r._proxyFormState[l]=!n||ie.all),e[l]}});return o};const xt=typeof window<"u"?g.useLayoutEffect:g.useEffect;var te=e=>typeof e=="string",$e=(e,r,t,n,o)=>te(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),We=e=>K(e)||!_t(e);function ae(e,r,t=new WeakSet){if(We(e)||We(r))return Object.is(e,r);if(ve(e)&&ve(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const l=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(ve(l)&&ve(f)||q(l)&&q(f)||Array.isArray(l)&&Array.isArray(f)?!ae(l,f,t):!Object.is(l,f))return!1}}return!0}function Et(e){const r=be(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:l,compute:f}=e||{},w=g.useRef(o),A=g.useRef(f),T=g.useRef(void 0),E=g.useRef(t),p=g.useRef(n);A.current=f;const[b,B]=g.useState(()=>{const C=t._getWatch(n,w.current);return A.current?A.current(C):C}),O=g.useCallback(C=>{const k=$e(n,t._names,C||t._formValues,!1,w.current);return A.current?A.current(k):k},[t._formValues,t._names,n]),z=g.useCallback(C=>{if(!i){const k=$e(n,t._names,C||t._formValues,!1,w.current);if(A.current){const ee=A.current(k);ae(ee,T.current)||(B(ee),T.current=ee)}else B(k)}},[t._formValues,t._names,i,n]);xt(()=>((E.current!==t||!ae(p.current,n))&&(E.current=t,p.current=n,z()),t._subscribe({name:n,formState:{values:!0},exact:l,callback:C=>{z(C.values)}})),[t,l,n,z]),g.useEffect(()=>t._removeUnmounted());const $=E.current!==t,V=p.current,G=g.useMemo(()=>{if(i)return null;const C=!$&&!ae(V,n);return $||C?O():null},[i,$,n,V,O]);return G!==null?G:b}var Xt=(e,r,t,n,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[n]:o||!0}}:{},Re=e=>Array.isArray(e)?e:[e],ut=()=>{let e=[];return{get observers(){return e},next:o=>{for(const i of e)i.next&&i.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(i=>i!==o)}}),unsubscribe:()=>{e=[]}}};function Vt(e,r){const t={};for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],i=r[n];if(o&&q(o)&&i){const l=Vt(o,i);q(l)&&(t[n]=l)}else e[n]&&(t[n]=i)}return t}var Z=e=>q(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!qe)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Ft=e=>e.type==="select-multiple",Xe=e=>e.type==="radio",Zt=e=>Xe(e)||Oe(e),Be=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=U(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function Y(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:He(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(q(n)&&Z(n)||Array.isArray(n)&&Kt(n))&&Y(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(ne(e[r]))return!0;return!1};function wt(e){return Array.isArray(e)||q(e)&&!er(e)}function Ye(e,r={}){for(const t in e){const n=e[t];wt(n)?(r[t]=Array.isArray(n)?[]:{},Ye(n,r[t])):U(n)||(r[t]=!0)}return r}function Ve(e,r,t){t||(t=Ye(r));for(const n in e){const o=e[n];if(wt(o))U(r)||We(t[n])?t[n]=Ye(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ae(o,i)}}return t}const lt={value:!1,isValid:!1},ct={value:!0,isValid:!0};var At=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?ct:{value:e[0].value,isValid:!0}:ct:lt}return lt},pt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>U(e)?e:r?e===""?NaN:e&&+e:t&&te(e)?new Date(e):n?n(e):e;const ft={isValid:!1,value:null};var Rt=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,ft):ft;function dt(e){const r=e.ref;return Ge(r)?r.files:Xe(r)?Rt(e.refs).value:Ft(r)?[...r.selectedOptions].map(({value:t})=>t):Oe(r)?At(e.refs).value:pt(U(r.value)?e.ref.value:r.value,e)}var tr=(e,r,t,n)=>{const o={};for(const i of e){const l=h(r,i);l&&P(o,i,l._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:n}},Pe=e=>e instanceof RegExp,pe=e=>U(e)?e:Pe(e)?e.source:q(e)?Pe(e.value)?e.value.source:e.value:e,yt=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const mt="AsyncFunction";var rr=e=>!!e&&!!e.validate&&!!(ne(e.validate)&&e.validate.constructor.name===mt||q(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===mt)),sr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),ht=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const ke=(e,r,t,n)=>{for(const o of t||Object.keys(e)){const i=h(e,o);if(i){const{_f:l,...f}=i;if(l){if(l.refs&&l.refs[0]&&r(l.refs[0],o)&&!n)return!0;if(l.ref&&r(l.ref,l.name)&&!n)return!0;if(ke(f,r))break}else if(q(f)&&ke(f,r))break}}};function vt(e,r,t){const n=h(e,t);if(n||Ne(t))return{error:n,name:t};const o=t.split(".");for(;o.length;){const i=o.join("."),l=h(r,i),f=h(e,i);if(l&&!Array.isArray(l)&&t!==i)return{name:t};if(f&&f.type)return{name:i,error:f};if(f&&f.root&&f.root.type)return{name:`${i}.root`,error:f.root};o.pop()}return{name:t}}var nr=(e,r,t,n)=>{t(e);const{name:o,...i}=e;return Z(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(l=>r[l]===(!n||ie.all))},ir=(e,r,t)=>!e||!r||e===r||Re(e).some(n=>n&&(t?n===r:n.startsWith(r)||r.startsWith(n))),ar=(e,r,t,n,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(r||e):(t?n.isOnBlur:o.isOnBlur)?!e:(t?n.isOnChange:o.isOnChange)?e:!0,or=(e,r)=>!ze(h(e,r)).length&&Y(e,r),ur=(e,r,t)=>{const n=Re(h(e,t));return P(n,"root",r[t]),P(e,t,n),e};function bt(e,r,t="validate"){if(te(e)||Array.isArray(e)&&e.every(te)||ue(e)&&!e)return{type:t,message:te(e)?e:"",ref:r}}var Ee=e=>q(e)&&!Pe(e)?e:{value:e,message:""},gt=async(e,r,t,n,o,i)=>{const{ref:l,refs:f,required:w,maxLength:A,minLength:T,min:E,max:p,pattern:b,validate:B,name:O,valueAsNumber:z,mount:$}=e._f,V=h(t,O);if(!$||r.has(O))return{};const G=f?f[0]:l,C=x=>{o&&G.reportValidity&&(G.setCustomValidity(ue(x)?"":x||""),G.reportValidity())},k={},ee=Xe(l),ce=Oe(l),se=ee||ce,N=(z||Ge(l))&&U(l.value)&&U(V)||je(l)&&l.value===""||V===""||Array.isArray(V)&&!V.length,J=Xt.bind(null,O,n,k),fe=(x,R,L,W=le.maxLength,Q=le.minLength)=>{const X=x?R:L;k[O]={type:x?W:Q,message:X,ref:l,...J(x?W:Q,X)}};if(i?!Array.isArray(V)||!V.length:w&&(!se&&(N||K(V))||ue(V)&&!V||ce&&!At(f).isValid||ee&&!Rt(f).isValid)){const{value:x,message:R}=te(w)?{value:!!w,message:w}:Ee(w);if(x&&(k[O]={type:le.required,message:R,ref:G,...J(le.required,R)},!n))return C(R),k}if(!N&&(!K(E)||!K(p))){let x,R;const L=Ee(p),W=Ee(E);if(!K(V)&&!isNaN(V)){const Q=l.valueAsNumber||V&&+V;K(L.value)||(x=Q>L.value),K(W.value)||(R=Q<W.value)}else{const Q=l.valueAsDate||new Date(V),X=me=>new Date(new Date().toDateString()+" "+me),de=l.type=="time",ye=l.type=="week";te(L.value)&&V&&(x=de?X(V)>X(L.value):ye?V>L.value:Q>new Date(L.value)),te(W.value)&&V&&(R=de?X(V)<X(W.value):ye?V<W.value:Q<new Date(W.value))}if((x||R)&&(fe(!!x,L.message,W.message,le.max,le.min),!n))return C(k[O].message),k}if((A||T)&&!N&&(te(V)||i&&Array.isArray(V))){const x=Ee(A),R=Ee(T),L=!K(x.value)&&V.length>+x.value,W=!K(R.value)&&V.length<+R.value;if((L||W)&&(fe(L,x.message,R.message),!n))return C(k[O].message),k}if(b&&!N&&te(V)){const{value:x,message:R}=Ee(b);if(Pe(x)&&!V.match(x)&&(k[O]={type:le.pattern,message:R,ref:l,...J(le.pattern,R)},!n))return C(R),k}if(B){if(ne(B)){const x=await B(V,t),R=bt(x,G);if(R&&(k[O]={...R,...J(le.validate,R.message)},!n))return C(R.message),k}else if(q(B)){let x={};for(const R in B){if(!Z(x)&&!n)break;const L=bt(await B[R](V,t),G,R);L&&(x={...L,...J(R,L.message)},C(L.message),n&&(k[O]=x))}if(!Z(x)&&(k[O]={ref:G,...x},!n))return k}}return C(!0),k};const lr={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function cr(e={}){let r={...lr,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:ne(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},n={},o=q(r.defaultValues)||q(r.values)?H(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:H(o),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},f={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},w,A=0;const T={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},E={...T};let p={...E};const b={array:ut(),state:ut()},B=r.criteriaMode===ie.all,O=s=>a=>{clearTimeout(A),A=setTimeout(s,a)},z=async s=>{if(!l.keepIsValid&&!r.disabled&&(E.isValid||p.isValid||s)){let a;r.resolver?(a=Z((await se()).errors),$()):a=await J(n,!0),a!==t.isValid&&b.state.next({isValid:a})}},$=(s,a)=>{!r.disabled&&(E.isValidating||E.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(u=>{u&&(a?P(t.validatingFields,u,a):Y(t.validatingFields,u))}),b.state.next({validatingFields:t.validatingFields,isValidating:!Z(t.validatingFields)}))},V=(s,a=[],u,m,y=!0,d=!0)=>{if(m&&u&&!r.disabled){if(l.action=!0,d&&Array.isArray(h(n,s))){const v=u(h(n,s),m.argA,m.argB);y&&P(n,s,v)}if(d&&Array.isArray(h(t.errors,s))){const v=u(h(t.errors,s),m.argA,m.argB);y&&P(t.errors,s,v),or(t.errors,s)}if((E.touchedFields||p.touchedFields)&&d&&Array.isArray(h(t.touchedFields,s))){const v=u(h(t.touchedFields,s),m.argA,m.argB);y&&P(t.touchedFields,s,v)}(E.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ve(o,i)),b.state.next({name:s,isDirty:x(s,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else P(i,s,a)},G=(s,a)=>{P(t.errors,s,a),b.state.next({errors:t.errors})},C=s=>{t.errors=s,b.state.next({errors:t.errors,isValid:!1})},k=(s,a,u,m)=>{const y=h(n,s);if(y){const d=h(i,s,U(u)?h(o,s):u);U(d)||m&&m.defaultChecked||a?P(i,s,a?d:dt(y._f)):W(s,d),l.mount&&!l.action&&z()}},ee=(s,a,u,m,y)=>{let d=!1,v=!1;const S={name:s};if(!r.disabled){if(!u||m){(E.isDirty||p.isDirty)&&(v=t.isDirty,t.isDirty=S.isDirty=x(),d=v!==S.isDirty);const D=ae(h(o,s),a);v=!!h(t.dirtyFields,s),D?Y(t.dirtyFields,s):P(t.dirtyFields,s,!0),S.dirtyFields=t.dirtyFields,d=d||(E.dirtyFields||p.dirtyFields)&&v!==!D}if(u){const D=h(t.touchedFields,s);D||(P(t.touchedFields,s,u),S.touchedFields=t.touchedFields,d=d||(E.touchedFields||p.touchedFields)&&D!==u)}d&&y&&b.state.next(S)}return d?S:{}},ce=(s,a,u,m)=>{const y=h(t.errors,s),d=(E.isValid||p.isValid)&&ue(a)&&t.isValid!==a;if(r.delayError&&u?(w=O(()=>G(s,u)),w(r.delayError)):(clearTimeout(A),w=null,u?P(t.errors,s,u):Y(t.errors,s)),(u?!ae(y,u):y)||!Z(m)||d){const v={...m,...d&&ue(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...v},b.state.next(v)}},se=async s=>($(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),N=async s=>{const{errors:a}=await se(s);if($(s),s)for(const u of s){const m=h(a,u);m?P(t.errors,u,m):Y(t.errors,u)}else t.errors=a;return a},J=async(s,a,u={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...v}=y;if(d){const S=f.array.has(d.name),D=y._f&&rr(y._f);D&&E.validatingFields&&$([d.name],!0);const re=await gt(y,f.disabled,i,B,r.shouldUseNativeValidation&&!a,S);if(D&&E.validatingFields&&$([d.name]),re[d.name]&&(u.valid=!1,a))break;!a&&(h(re,d.name)?S?ur(t.errors,re,d.name):P(t.errors,d.name,re[d.name]):Y(t.errors,d.name))}!Z(v)&&await J(v,a,u)}}return u.valid},fe=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(u=>!Be(u)):!Be(a._f.ref))&&oe(s)}f.unMount=new Set},x=(s,a)=>!r.disabled&&(s&&a&&P(i,s,a),!ae(c(),o)),R=(s,a,u)=>$e(s,f,{...l.mount?i:U(a)?o:te(s)?{[s]:a}:a},u,a),L=s=>ze(h(l.mount?i:o,s,r.shouldUnregister?h(o,s,[]):[])),W=(s,a,u={})=>{const m=h(n,s);let y=a;if(m){const d=m._f;d&&(!d.disabled&&P(i,s,pt(a,d)),y=je(d.ref)&&K(a)?"":a,Ft(d.ref)?[...d.ref.options].forEach(v=>v.selected=y.includes(v.value)):d.refs?Oe(d.ref)?d.refs.forEach(v=>{(!v.defaultChecked||!v.disabled)&&(Array.isArray(y)?v.checked=!!y.find(S=>S===v.value):v.checked=y===v.value||!!y)}):d.refs.forEach(v=>v.checked=v.value===y):Ge(d.ref)?d.ref.value="":(d.ref.value=y,d.ref.type||b.state.next({name:s,values:H(i)})))}(u.shouldDirty||u.shouldTouch)&&ee(s,y,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&me(s)},Q=(s,a,u)=>{for(const m in a){if(!a.hasOwnProperty(m))return;const y=a[m],d=s+"."+m,v=h(n,d);(f.array.has(s)||q(y)||v&&!v._f)&&!ve(y)?Q(d,y,u):W(d,y,u)}},X=(s,a,u={})=>{const m=h(n,s),y=f.array.has(s),d=H(a);P(i,s,d),y?(b.array.next({name:s,values:H(i)}),(E.isDirty||E.dirtyFields||p.isDirty||p.dirtyFields)&&u.shouldDirty&&b.state.next({name:s,dirtyFields:Ve(o,i),isDirty:x(s,d)})):m&&!m._f&&!K(d)?Q(s,d,u):W(s,d,u),ht(s,f)&&b.state.next({...t,name:s}),b.state.next({name:l.mount?s:void 0,values:H(i)})},de=async s=>{l.mount=!0;const a=s.target;let u=a.name,m=!0;const y=h(n,u),d=D=>{m=Number.isNaN(D)||ve(D)&&isNaN(D.getTime())||ae(D,h(i,u,D))},v=yt(r.mode),S=yt(r.reValidateMode);if(y){let D,re;const De=a.type?dt(y._f):Yt(s),he=s.type===ot.BLUR||s.type===ot.FOCUS_OUT,Lt=!sr(y._f)&&!r.resolver&&!h(t.errors,u)&&!y._f.deps||ar(he,h(t.touchedFields,u),t.isSubmitted,S,v),Me=ht(u,f,he);P(i,u,De),he?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),w&&w(0)):y._f.onChange&&y._f.onChange(s);const Ue=ee(u,De,he),Mt=!Z(Ue)||Me;if(!he&&b.state.next({name:u,type:s.type,values:H(i)}),Lt)return(E.isValid||p.isValid)&&(r.mode==="onBlur"?he&&z():he||z()),Mt&&b.state.next({name:u,...Me?{}:Ue});if(!he&&Me&&b.state.next({...t}),r.resolver){const{errors:rt}=await se([u]);if($([u]),d(De),m){const Ut=vt(t.errors,n,u),st=vt(rt,n,Ut.name||u);D=st.error,u=st.name,re=Z(rt)}}else $([u],!0),D=(await gt(y,f.disabled,i,B,r.shouldUseNativeValidation))[u],$([u]),d(De),m&&(D?re=!1:(E.isValid||p.isValid)&&(re=await J(n,!0)));m&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&me(y._f.deps),ce(u,re,D,Ue))}},ye=(s,a)=>{if(h(t.errors,a)&&s.focus)return s.focus(),1},me=async(s,a={})=>{let u,m;const y=Re(s);if(r.resolver){const d=await N(U(s)?s:y);u=Z(d),m=s?!y.some(v=>h(d,v)):u}else s?(m=(await Promise.all(y.map(async d=>{const v=h(n,d);return await J(v&&v._f?{[d]:v}:v)}))).every(Boolean),!(!m&&!t.isValid)&&z()):m=u=await J(n);return b.state.next({...!te(s)||(E.isValid||p.isValid)&&u!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:u}:{},errors:t.errors}),a.shouldFocus&&!m&&ke(n,ye,s?y:f.mount),m},c=(s,a)=>{let u={...l.mount?i:o};return a&&(u=Vt(a.dirtyFields?t.dirtyFields:t.touchedFields,u)),U(s)?u:te(s)?h(u,s):s.map(m=>h(u,m))},_=(s,a)=>({invalid:!!h((a||t).errors,s),isDirty:!!h((a||t).dirtyFields,s),error:h((a||t).errors,s),isValidating:!!h(t.validatingFields,s),isTouched:!!h((a||t).touchedFields,s)}),j=s=>{s&&Re(s).forEach(a=>Y(t.errors,a)),b.state.next({errors:s?t.errors:{}})},I=(s,a,u)=>{const m=(h(n,s,{_f:{}})._f||{}).ref,y=h(t.errors,s)||{},{ref:d,message:v,type:S,...D}=y;P(t.errors,s,{...D,...a,ref:m}),b.state.next({name:s,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,a)=>ne(s)?b.state.subscribe({next:u=>"values"in u&&s(R(void 0,a),u)}):R(s,a,!0),_e=s=>b.state.subscribe({next:a=>{ir(s.name,a.name,s.exact)&&nr(a,s.formState||E,It,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,M=s=>(l.mount=!0,p={...p,...s.formState},_e({...s,formState:{...T,...s.formState}})),oe=(s,a={})=>{for(const u of s?Re(s):f.mount)f.mount.delete(u),f.array.delete(u),a.keepValue||(Y(n,u),Y(i,u)),!a.keepError&&Y(t.errors,u),!a.keepDirty&&Y(t.dirtyFields,u),!a.keepTouched&&Y(t.touchedFields,u),!a.keepIsValidating&&Y(t.validatingFields,u),!r.shouldUnregister&&!a.keepDefaultValue&&Y(o,u);b.state.next({values:H(i)}),b.state.next({...t,...a.keepDirty?{isDirty:x()}:{}}),!a.keepIsValid&&z()},xe=({disabled:s,name:a})=>{(ue(s)&&l.mount||s||f.disabled.has(a))&&(s?f.disabled.add(a):f.disabled.delete(a))},Fe=(s,a={})=>{let u=h(n,s);const m=ue(a.disabled)||ue(r.disabled);return P(n,s,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:s}},name:s,mount:!0,...a}}),f.mount.add(s),u?xe({disabled:ue(a.disabled)?a.disabled:r.disabled,name:s}):k(s,!0,a.value),{...m?{disabled:a.disabled||r.disabled}:{},...r.progressive?{required:!!a.required,min:pe(a.min),max:pe(a.max),minLength:pe(a.minLength),maxLength:pe(a.maxLength),pattern:pe(a.pattern)}:{},name:s,onChange:de,onBlur:de,ref:y=>{if(y){Fe(s,a),u=h(n,s);const d=U(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,v=Zt(d),S=u._f.refs||[];if(v?S.find(D=>D===d):d===u._f.ref)return;P(n,s,{_f:{...u._f,...v?{refs:[...S.filter(Be),d,...Array.isArray(h(o,s))?[{}]:[]],ref:{type:d.type,name:s}}:{ref:d}}}),k(s,!1,void 0,d)}else u=h(n,s,{}),u._f&&(u._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(zt(f.array,s)&&l.action)&&f.unMount.add(s)}}},Le=()=>r.shouldFocusError&&ke(n,ye,f.mount),jt=s=>{ue(s)&&(b.state.next({disabled:s}),ke(n,(a,u)=>{const m=h(n,u);m&&(a.disabled=m._f.disabled||s,Array.isArray(m._f.refs)&&m._f.refs.forEach(y=>{y.disabled=m._f.disabled||s}))},0,!1))},Qe=(s,a)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=H(i);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:v}=await se();$(),t.errors=d,y=H(v)}else await J(n);if(f.disabled.size)for(const d of f.disabled)Y(y,d);if(Y(t.errors,"root"),Z(t.errors)){b.state.next({errors:{}});try{await s(y,u)}catch(d){m=d}}else a&&await a({...t.errors},u),Le(),setTimeout(Le);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(U(a.defaultValue)?X(s,H(h(o,s))):(X(s,a.defaultValue),P(o,s,H(a.defaultValue))),a.keepTouched||Y(t.touchedFields,s),a.keepDirty||(Y(t.dirtyFields,s),t.isDirty=a.defaultValue?x(s,H(h(o,s))):x()),a.keepError||(Y(t.errors,s),E.isValid&&z()),b.state.next({...t}))},Ke=(s,a={})=>{const u=s?H(s):o,m=H(u),y=Z(s),d=y?o:m;if(a.keepDefaultValues||(o=u),!a.keepValues){if(a.keepDirtyValues){const v=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(v))h(t.dirtyFields,S)?P(d,S,h(i,S)):X(S,h(d,S))}else{if(qe&&U(s))for(const v of f.mount){const S=h(n,v);if(S&&S._f){const D=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(je(D)){const re=D.closest("form");if(re){re.reset();break}}}}if(a.keepFieldsRef)for(const v of f.mount)X(v,h(d,v));else n={}}i=r.shouldUnregister?a.keepDefaultValues?H(o):{}:H(d),b.array.next({values:{...d}}),b.state.next({values:{...d}})}f={mount:a.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!E.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!Z(d),l.watch=!!r.shouldUnregister,l.keepIsValid=!!a.keepIsValid,l.action=!1,a.keepErrors||(t.errors={}),b.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ae(s,o)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:a.keepDirtyValues?a.keepDefaultValues&&i?Ve(o,i):t.dirtyFields:a.keepDefaultValues&&s?Ve(o,s):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},et=(s,a)=>Ke(ne(s)?s(i):s,{...r.resetOptions,...a}),Nt=(s,a={})=>{const u=h(n,s),m=u&&u._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&ne(y.select)&&y.select()})}},It=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:I,_subscribe:_e,_runSchema:se,_updateIsValidating:$,_focusError:Le,_getWatch:R,_getDirty:x,_setValid:z,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:L,_reset:Ke,_resetDefaultValues:()=>ne(r.defaultValues)&&r.defaultValues().then(s=>{et(s,r.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:fe,_disableForm:jt,_subjects:b,_proxyFormState:E,get _fields(){return n},get _formValues(){return i},get _state(){return l},set _state(s){l=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:M,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError:I,setFocus:Nt,getFieldState:_};return{...tt,formControl:tt}}function fr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[n,o]=g.useState({isDirty:!1,isValidating:!1,isLoading:ne(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:ne(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:n},e.defaultValues&&!ne(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:l,...f}=cr(e);r.current={...f,formState:n}}const i=r.current.control;return i._options=e,xt(()=>{const l=i._subscribe({formState:i._proxyFormState,callback:()=>o({...i._formState}),reRenderRoot:!0});return o(f=>({...f,isReady:!0})),i._formState.isReady=!0,l},[i]),g.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),g.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),g.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),g.useEffect(()=>{if(i._proxyFormState.isDirty){const l=i._getDirty();l!==n.isDirty&&i._subjects.state.next({isDirty:l})}},[i,n.isDirty]),g.useEffect(()=>{var l;e.values&&!ae(e.values,t.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((l=i._options.resetOptions)===null||l===void 0)&&l.keepIsValid||i._setValid(),t.current=e.values,o(f=>({...f}))):i._resetDefaultValues()},[i,e.values]),g.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),r.current.formState=Gt(n,i),r.current}const kt=g.createContext(null),dr=({children:e,layout:r="vertical",uiConfig:t,updateFieldSchema:n})=>{const o=g.useMemo(()=>({layout:r,uiConfig:t,updateFieldSchema:n}),[r,t,n]);return F.jsx(kt.Provider,{value:o,children:e})},St=()=>{const e=g.useContext(kt);if(!e)throw new Error("useAutoFormRenderContext must be used within AutoFormRenderContextProvider");return e},yr=e=>{const{fieldSchema:r}=e,{register:t}=be(),n=t(r.name);return F.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[F.jsx("label",{children:r.label}),F.jsx("input",{type:r.type,...n,readOnly:r.readonly})]})},mr=e=>{const{fieldSchema:r}=e,{register:t}=be(),n=t(r.name),o=r.options;return F.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[F.jsx("label",{children:r.label}),F.jsx("select",{...n,disabled:r.readonly,children:o.map(i=>F.jsx("option",{value:i.value,children:i.label},i.value))})]})};function Tt(e,r){const t={};return e.forEach((n,o)=>{const i=n.split(".");let l=t;i.forEach((f,w)=>{const A=w===i.length-1,T=!isNaN(Number(f));A?l[f]=r[o]:(f in l||(l[f]=T?[]:{}),l=l[f])})}),t}function Ot(e){switch(e){case"text":return"";case"number":return 0;case"array":return[];case"checkbox":return!1;case"object":return{};case"select":return null;case"date":return new Date().toISOString().slice(0,10);case"datetime-local":return new Date().toISOString().slice(0,16);case"time":return new Date().toISOString().slice(11,16);default:return null}}function Ie(e){return e.replace(/\.\d+\./g,".")}function Dt(e,r){const t=e.split("."),n=[];return t.forEach((o,i)=>{isNaN(Number(o))||n.push({pos:i,value:o})}),r.map(o=>{const l=[...o.split(".")];return n.forEach(({pos:f,value:w})=>{f<=l.length&&l.splice(f,0,w)}),l.join(".")})}function Se(e,r={}){const t={};for(const n of e)if(n.type==="object"){const o=n.fields;t[n.name]=Se(o,r==null?void 0:r[n.name])}else t[n.name]=(r==null?void 0:r[n.name])??n.initialValue??Ot(n.type);return t}function Ze(e){return e.map(r=>{if(["object","array"].includes(r.type)){const t=r.fields;return{...r,readonly:!0,fields:Ze(t)}}return{...r,readonly:!0}})}const hr=g.memo(e=>{const{baseName:r,index:t,fields:n}=e,o=g.useMemo(()=>n.map(i=>({...i,name:`${r}.${t}.${i.name}`})),[r,t,n]);return F.jsxs("div",{children:[F.jsxs("div",{children:["row ",t]}),F.jsx(Te,{schema:o})]})}),vr=e=>{const{fieldSchema:r}=e,{control:t,getValues:n,setValue:o}=be(),l=Et({control:t,name:r.name})??[],f=()=>{const A=n(r.name)||[];o(r.name,[...A,Se(r.fields)])},w=A=>{const E=(n(r.name)||[]).filter((p,b)=>b!==A);o(r.name,E)};return F.jsxs("div",{children:[l.map((A,T)=>F.jsxs("div",{children:[F.jsx(hr,{baseName:r.name,index:T,fields:r.fields}),!r.readonly&&F.jsx("button",{type:"button",onClick:()=>w(T),children:"Remove"})]},T)),!r.readonly&&F.jsx("button",{type:"button",onClick:f,children:"Add Row"})]})},br=g.memo(vr),gr=e=>{const{fieldSchema:r}=e;let t=g.useMemo(()=>r.fields.map(n=>({...n,name:`${r.name}.${n.name}`})),[r.fields]);return F.jsx(Te,{schema:t})},_r=["text","number","checkbox","select","date","datetime-local","time","array","object"],Ct=({fieldSchema:e})=>{var A,T;const t=St().uiConfig,{register:n,control:o}=be(),i=Ie(e.name),l=n(e.name),f=(A=t==null?void 0:t.renderersByName)==null?void 0:A[i];if(e.visible===!1)return null;if(f)return F.jsx(f,{fieldSchema:e,control:o,register:l});const w=(T=t==null?void 0:t.renderersByType)==null?void 0:T[e.type];if(w)return F.jsx(w,{fieldSchema:e,control:o,register:l});if(_r.includes(e.type))return e.type==="select"?F.jsx(mr,{fieldSchema:e}):e.type==="array"?F.jsx(br,{fieldSchema:e}):e.type==="object"?F.jsx(gr,{fieldSchema:e}):F.jsx(yr,{fieldSchema:e});throw new Error(`AutoForm: No renderer found for field "${e.name}" with type "${e.type}". If this is a custom field type, make sure to register a renderer via uiConfig.renderersByType.`)},xr=({fieldSchema:e})=>F.jsx(Ct,{fieldSchema:e}),Er=({fieldSchema:e})=>{const{control:r}=be(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),i=Et({control:r,name:o}),[l,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let w=!1;return(async()=>{var B;const T=Ie(e.name),E=Tt(o,i??[]),p=(B=t==null?void 0:t.updateFieldSchema)==null?void 0:B[T];if(!p)return;const b=await p(e.name,e,E);!w&&b&&f({...e,...b})})(),()=>{w=!0}},[i]),F.jsx(Ct,{fieldSchema:l})},Vr=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?F.jsx(Er,{fieldSchema:r}):F.jsx(xr,{fieldSchema:r})},Fr=e=>{const{fieldSchema:r}=e;return F.jsx(Vr,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>F.jsx(Fr,{fieldSchema:t},t.name))});function wr(e,r){const t=i=>/^\d+$/.test(i),n=e.split(".");let o=r;for(const i of n){if(o==null)return;const l=t(i)?Number(i):i;o=o[l]}return o}const Ar=e=>{const{onDirtyChange:r,onValuesChange:t,onFieldChange:n}=e,{formState:o,watch:i}=be(),l=g.useRef(!0);return g.useEffect(()=>{const f=i((w,{name:A=""})=>{var p;t(w);const T=Ie(A),E=wr(A,w);(p=n==null?void 0:n[T])==null||p.call(n,A,E,w)});return()=>f.unsubscribe()},[i,t]),g.useEffect(()=>{if(l.current){l.current=!1;return}r(o.isDirty)},[o.isDirty,r]),null},pr=({onValuesChange:e,onDirtyChange:r,onFieldChange:t})=>(Ar({onDirtyChange:r,onValuesChange:e,onFieldChange:t}),null),Rr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:l="vertical",values:f=()=>({}),hideSubmit:w=!1,onDirtyChange:A=()=>{},onValuesChange:T=()=>{},resolver:E,readonly:p,onFieldChange:b={},loadingComponent:B}=e,O=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:E}),z=g.useRef(!1),[$,V]=g.useState(!1),G=O.handleSubmit(n),C=g.useMemo(()=>{let N=t;return p&&(N=Ze(N)),N},[p,t]);g.useEffect(()=>{let N=!1;return(async()=>{V(!1);const fe=await f();N||(O.reset(Se(t,fe)),z.current=!0,V(!0))})(),()=>{N=!0}},[f,t]),g.useImperativeHandle(r,()=>({submit:async()=>{await O.handleSubmit(n)()},reset:N=>{O.reset(N?Se(t,N):void 0)},getValues:()=>O.getValues(),setValue:(N,J)=>{O.setValue(N,J)}}));const k=w||p,ee=g.useMemo(()=>o,[o]),ce=g.useMemo(()=>i,[i]),se=g.useMemo(()=>({layout:l,uiConfig:o,updateFieldSchema:i}),[l,o,i]);return $?F.jsxs(Jt,{...O,children:[F.jsx(pr,{onDirtyChange:A,onValuesChange:T,onFieldChange:b}),F.jsxs(dr,{layout:se.layout,uiConfig:ee,updateFieldSchema:ce,children:[["vertical","horizontal"].includes(l)&&F.jsx("div",{style:{display:"flex",flexDirection:l==="vertical"?"column":"row"},children:F.jsx(Te,{schema:C})}),l==="custom"&&F.jsx(Te,{schema:C}),!k&&F.jsx("button",{style:{marginTop:"1rem"},onClick:G,children:"Submit"})]})]}):F.jsx(F.Fragment,{children:B??F.jsx("div",{style:{padding:"2rem",textAlign:"center",color:"#666",fontSize:"0.9rem"},children:"Loading form..."})})});exports.AutoForm=Rr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Ze;exports.normalizeFieldPath=Ie;exports.resolveDependsOnNew=Dt;
22
+ <%s key={someKey} {...props} />`,I,M,oe,M),me[M+I]=!0)}if(M=null,j!==void 0&&(t(j),M=""+j),l(_)&&(t(_.key),M=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return M&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),A(c,M,j,o(),ge,_e)}function E(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===N&&(c._payload.status==="fulfilled"?p(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function p(c){return typeof c=="object"&&c!==null&&c.$$typeof===B}var b=g,B=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),$=Symbol.for("react.fragment"),W=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),C=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),fe=Symbol.for("react.client.reference"),x=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=Object.prototype.hasOwnProperty,L=Array.isArray,Y=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(c){return c()}};var Q,X={},de=b.react_stack_bottom_frame.bind(b,i)(),ye=Y(n(i)),me={};Ae.Fragment=$,Ae.jsx=function(c,_,j){var I=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!1,I?Error("react-stack-top-frame"):de,I?Y(n(c)):ye)},Ae.jsxs=function(c,_,j){var I=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!0,I?Error("react-stack-top-frame"):de,I?Y(n(c)):ye)}})()),Ae}var at;function Wt(){return at||(at=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=$t()),Ce.exports}var F=Wt(),Oe=e=>e.type==="checkbox",ve=e=>e instanceof Date,K=e=>e==null;const _t=e=>typeof e=="object";var z=e=>!K(e)&&!Array.isArray(e)&&_t(e)&&!ve(e),Yt=e=>z(e)&&e.target?Oe(e.target)?e.target.checked:e.target.value:e,qt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,zt=(e,r)=>e.has(qt(r)),Ht=e=>{const r=e.constructor&&e.constructor.prototype;return z(r)&&r.hasOwnProperty("isPrototypeOf")},qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(qe&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(z(e)&&Ht(e)))return e;const n=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=H(e[o]));return n}var Ne=e=>/^\w*$/.test(e),U=e=>e===void 0,ze=e=>Array.isArray(e)?e.filter(Boolean):[],He=e=>ze(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!z(e))return t;const n=(Ne(r)?[r]:He(r)).reduce((o,i)=>K(o)?o:o[i],e);return U(n)||n===e?U(e[r])?t:e[r]:n},ue=e=>typeof e=="boolean",ne=e=>typeof e=="function",P=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:He(r),i=o.length,l=i-1;for(;++n<i;){const f=o[n];let w=t;if(n!==l){const A=e[f];w=z(A)||Array.isArray(A)?A:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=w,e=e[f]}};const ot={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},le={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Je=g.createContext(null);Je.displayName="HookFormContext";const be=()=>g.useContext(Je),Jt=e=>{const{children:r,...t}=e;return g.createElement(Je.Provider,{value:t},r)};var Gt=(e,r,t,n=!0)=>{const o={defaultValues:r._defaultValues};for(const i in e)Object.defineProperty(o,i,{get:()=>{const l=i;return r._proxyFormState[l]!==ie.all&&(r._proxyFormState[l]=!n||ie.all),e[l]}});return o};const xt=typeof window<"u"?g.useLayoutEffect:g.useEffect;var te=e=>typeof e=="string",$e=(e,r,t,n,o)=>te(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),We=e=>K(e)||!_t(e);function ae(e,r,t=new WeakSet){if(We(e)||We(r))return Object.is(e,r);if(ve(e)&&ve(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const l=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(ve(l)&&ve(f)||z(l)&&z(f)||Array.isArray(l)&&Array.isArray(f)?!ae(l,f,t):!Object.is(l,f))return!1}}return!0}function Et(e){const r=be(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:l,compute:f}=e||{},w=g.useRef(o),A=g.useRef(f),T=g.useRef(void 0),E=g.useRef(t),p=g.useRef(n);A.current=f;const[b,B]=g.useState(()=>{const C=t._getWatch(n,w.current);return A.current?A.current(C):C}),O=g.useCallback(C=>{const k=$e(n,t._names,C||t._formValues,!1,w.current);return A.current?A.current(k):k},[t._formValues,t._names,n]),$=g.useCallback(C=>{if(!i){const k=$e(n,t._names,C||t._formValues,!1,w.current);if(A.current){const ee=A.current(k);ae(ee,T.current)||(B(ee),T.current=ee)}else B(k)}},[t._formValues,t._names,i,n]);xt(()=>((E.current!==t||!ae(p.current,n))&&(E.current=t,p.current=n,$()),t._subscribe({name:n,formState:{values:!0},exact:l,callback:C=>{$(C.values)}})),[t,l,n,$]),g.useEffect(()=>t._removeUnmounted());const W=E.current!==t,V=p.current,G=g.useMemo(()=>{if(i)return null;const C=!W&&!ae(V,n);return W||C?O():null},[i,W,n,V,O]);return G!==null?G:b}var Xt=(e,r,t,n,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[n]:o||!0}}:{},Re=e=>Array.isArray(e)?e:[e],ut=()=>{let e=[];return{get observers(){return e},next:o=>{for(const i of e)i.next&&i.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(i=>i!==o)}}),unsubscribe:()=>{e=[]}}};function Vt(e,r){const t={};for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],i=r[n];if(o&&z(o)&&i){const l=Vt(o,i);z(l)&&(t[n]=l)}else e[n]&&(t[n]=i)}return t}var Z=e=>z(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!qe)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Ft=e=>e.type==="select-multiple",Xe=e=>e.type==="radio",Zt=e=>Xe(e)||Oe(e),Be=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=U(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function q(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:He(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(z(n)&&Z(n)||Array.isArray(n)&&Kt(n))&&q(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(ne(e[r]))return!0;return!1};function wt(e){return Array.isArray(e)||z(e)&&!er(e)}function Ye(e,r={}){for(const t in e){const n=e[t];wt(n)?(r[t]=Array.isArray(n)?[]:{},Ye(n,r[t])):U(n)||(r[t]=!0)}return r}function Ve(e,r,t){t||(t=Ye(r));for(const n in e){const o=e[n];if(wt(o))U(r)||We(t[n])?t[n]=Ye(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ae(o,i)}}return t}const lt={value:!1,isValid:!1},ct={value:!0,isValid:!0};var At=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?ct:{value:e[0].value,isValid:!0}:ct:lt}return lt},pt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>U(e)?e:r?e===""?NaN:e&&+e:t&&te(e)?new Date(e):n?n(e):e;const ft={isValid:!1,value:null};var Rt=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,ft):ft;function dt(e){const r=e.ref;return Ge(r)?r.files:Xe(r)?Rt(e.refs).value:Ft(r)?[...r.selectedOptions].map(({value:t})=>t):Oe(r)?At(e.refs).value:pt(U(r.value)?e.ref.value:r.value,e)}var tr=(e,r,t,n)=>{const o={};for(const i of e){const l=h(r,i);l&&P(o,i,l._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:n}},Pe=e=>e instanceof RegExp,pe=e=>U(e)?e:Pe(e)?e.source:z(e)?Pe(e.value)?e.value.source:e.value:e,yt=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const mt="AsyncFunction";var rr=e=>!!e&&!!e.validate&&!!(ne(e.validate)&&e.validate.constructor.name===mt||z(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===mt)),sr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),ht=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const ke=(e,r,t,n)=>{for(const o of t||Object.keys(e)){const i=h(e,o);if(i){const{_f:l,...f}=i;if(l){if(l.refs&&l.refs[0]&&r(l.refs[0],o)&&!n)return!0;if(l.ref&&r(l.ref,l.name)&&!n)return!0;if(ke(f,r))break}else if(z(f)&&ke(f,r))break}}};function vt(e,r,t){const n=h(e,t);if(n||Ne(t))return{error:n,name:t};const o=t.split(".");for(;o.length;){const i=o.join("."),l=h(r,i),f=h(e,i);if(l&&!Array.isArray(l)&&t!==i)return{name:t};if(f&&f.type)return{name:i,error:f};if(f&&f.root&&f.root.type)return{name:`${i}.root`,error:f.root};o.pop()}return{name:t}}var nr=(e,r,t,n)=>{t(e);const{name:o,...i}=e;return Z(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(l=>r[l]===(!n||ie.all))},ir=(e,r,t)=>!e||!r||e===r||Re(e).some(n=>n&&(t?n===r:n.startsWith(r)||r.startsWith(n))),ar=(e,r,t,n,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(r||e):(t?n.isOnBlur:o.isOnBlur)?!e:(t?n.isOnChange:o.isOnChange)?e:!0,or=(e,r)=>!ze(h(e,r)).length&&q(e,r),ur=(e,r,t)=>{const n=Re(h(e,t));return P(n,"root",r[t]),P(e,t,n),e};function bt(e,r,t="validate"){if(te(e)||Array.isArray(e)&&e.every(te)||ue(e)&&!e)return{type:t,message:te(e)?e:"",ref:r}}var Ee=e=>z(e)&&!Pe(e)?e:{value:e,message:""},gt=async(e,r,t,n,o,i)=>{const{ref:l,refs:f,required:w,maxLength:A,minLength:T,min:E,max:p,pattern:b,validate:B,name:O,valueAsNumber:$,mount:W}=e._f,V=h(t,O);if(!W||r.has(O))return{};const G=f?f[0]:l,C=x=>{o&&G.reportValidity&&(G.setCustomValidity(ue(x)?"":x||""),G.reportValidity())},k={},ee=Xe(l),ce=Oe(l),se=ee||ce,N=($||Ge(l))&&U(l.value)&&U(V)||je(l)&&l.value===""||V===""||Array.isArray(V)&&!V.length,J=Xt.bind(null,O,n,k),fe=(x,R,L,Y=le.maxLength,Q=le.minLength)=>{const X=x?R:L;k[O]={type:x?Y:Q,message:X,ref:l,...J(x?Y:Q,X)}};if(i?!Array.isArray(V)||!V.length:w&&(!se&&(N||K(V))||ue(V)&&!V||ce&&!At(f).isValid||ee&&!Rt(f).isValid)){const{value:x,message:R}=te(w)?{value:!!w,message:w}:Ee(w);if(x&&(k[O]={type:le.required,message:R,ref:G,...J(le.required,R)},!n))return C(R),k}if(!N&&(!K(E)||!K(p))){let x,R;const L=Ee(p),Y=Ee(E);if(!K(V)&&!isNaN(V)){const Q=l.valueAsNumber||V&&+V;K(L.value)||(x=Q>L.value),K(Y.value)||(R=Q<Y.value)}else{const Q=l.valueAsDate||new Date(V),X=me=>new Date(new Date().toDateString()+" "+me),de=l.type=="time",ye=l.type=="week";te(L.value)&&V&&(x=de?X(V)>X(L.value):ye?V>L.value:Q>new Date(L.value)),te(Y.value)&&V&&(R=de?X(V)<X(Y.value):ye?V<Y.value:Q<new Date(Y.value))}if((x||R)&&(fe(!!x,L.message,Y.message,le.max,le.min),!n))return C(k[O].message),k}if((A||T)&&!N&&(te(V)||i&&Array.isArray(V))){const x=Ee(A),R=Ee(T),L=!K(x.value)&&V.length>+x.value,Y=!K(R.value)&&V.length<+R.value;if((L||Y)&&(fe(L,x.message,R.message),!n))return C(k[O].message),k}if(b&&!N&&te(V)){const{value:x,message:R}=Ee(b);if(Pe(x)&&!V.match(x)&&(k[O]={type:le.pattern,message:R,ref:l,...J(le.pattern,R)},!n))return C(R),k}if(B){if(ne(B)){const x=await B(V,t),R=bt(x,G);if(R&&(k[O]={...R,...J(le.validate,R.message)},!n))return C(R.message),k}else if(z(B)){let x={};for(const R in B){if(!Z(x)&&!n)break;const L=bt(await B[R](V,t),G,R);L&&(x={...L,...J(R,L.message)},C(L.message),n&&(k[O]=x))}if(!Z(x)&&(k[O]={ref:G,...x},!n))return k}}return C(!0),k};const lr={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function cr(e={}){let r={...lr,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:ne(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},n={},o=z(r.defaultValues)||z(r.values)?H(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:H(o),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},f={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},w,A=0;const T={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},E={...T};let p={...E};const b={array:ut(),state:ut()},B=r.criteriaMode===ie.all,O=s=>a=>{clearTimeout(A),A=setTimeout(s,a)},$=async s=>{if(!l.keepIsValid&&!r.disabled&&(E.isValid||p.isValid||s)){let a;r.resolver?(a=Z((await se()).errors),W()):a=await J(n,!0),a!==t.isValid&&b.state.next({isValid:a})}},W=(s,a)=>{!r.disabled&&(E.isValidating||E.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(u=>{u&&(a?P(t.validatingFields,u,a):q(t.validatingFields,u))}),b.state.next({validatingFields:t.validatingFields,isValidating:!Z(t.validatingFields)}))},V=(s,a=[],u,m,y=!0,d=!0)=>{if(m&&u&&!r.disabled){if(l.action=!0,d&&Array.isArray(h(n,s))){const v=u(h(n,s),m.argA,m.argB);y&&P(n,s,v)}if(d&&Array.isArray(h(t.errors,s))){const v=u(h(t.errors,s),m.argA,m.argB);y&&P(t.errors,s,v),or(t.errors,s)}if((E.touchedFields||p.touchedFields)&&d&&Array.isArray(h(t.touchedFields,s))){const v=u(h(t.touchedFields,s),m.argA,m.argB);y&&P(t.touchedFields,s,v)}(E.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ve(o,i)),b.state.next({name:s,isDirty:x(s,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else P(i,s,a)},G=(s,a)=>{P(t.errors,s,a),b.state.next({errors:t.errors})},C=s=>{t.errors=s,b.state.next({errors:t.errors,isValid:!1})},k=(s,a,u,m)=>{const y=h(n,s);if(y){const d=h(i,s,U(u)?h(o,s):u);U(d)||m&&m.defaultChecked||a?P(i,s,a?d:dt(y._f)):Y(s,d),l.mount&&!l.action&&$()}},ee=(s,a,u,m,y)=>{let d=!1,v=!1;const S={name:s};if(!r.disabled){if(!u||m){(E.isDirty||p.isDirty)&&(v=t.isDirty,t.isDirty=S.isDirty=x(),d=v!==S.isDirty);const D=ae(h(o,s),a);v=!!h(t.dirtyFields,s),D?q(t.dirtyFields,s):P(t.dirtyFields,s,!0),S.dirtyFields=t.dirtyFields,d=d||(E.dirtyFields||p.dirtyFields)&&v!==!D}if(u){const D=h(t.touchedFields,s);D||(P(t.touchedFields,s,u),S.touchedFields=t.touchedFields,d=d||(E.touchedFields||p.touchedFields)&&D!==u)}d&&y&&b.state.next(S)}return d?S:{}},ce=(s,a,u,m)=>{const y=h(t.errors,s),d=(E.isValid||p.isValid)&&ue(a)&&t.isValid!==a;if(r.delayError&&u?(w=O(()=>G(s,u)),w(r.delayError)):(clearTimeout(A),w=null,u?P(t.errors,s,u):q(t.errors,s)),(u?!ae(y,u):y)||!Z(m)||d){const v={...m,...d&&ue(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...v},b.state.next(v)}},se=async s=>(W(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),N=async s=>{const{errors:a}=await se(s);if(W(s),s)for(const u of s){const m=h(a,u);m?P(t.errors,u,m):q(t.errors,u)}else t.errors=a;return a},J=async(s,a,u={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...v}=y;if(d){const S=f.array.has(d.name),D=y._f&&rr(y._f);D&&E.validatingFields&&W([d.name],!0);const re=await gt(y,f.disabled,i,B,r.shouldUseNativeValidation&&!a,S);if(D&&E.validatingFields&&W([d.name]),re[d.name]&&(u.valid=!1,a))break;!a&&(h(re,d.name)?S?ur(t.errors,re,d.name):P(t.errors,d.name,re[d.name]):q(t.errors,d.name))}!Z(v)&&await J(v,a,u)}}return u.valid},fe=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(u=>!Be(u)):!Be(a._f.ref))&&oe(s)}f.unMount=new Set},x=(s,a)=>!r.disabled&&(s&&a&&P(i,s,a),!ae(c(),o)),R=(s,a,u)=>$e(s,f,{...l.mount?i:U(a)?o:te(s)?{[s]:a}:a},u,a),L=s=>ze(h(l.mount?i:o,s,r.shouldUnregister?h(o,s,[]):[])),Y=(s,a,u={})=>{const m=h(n,s);let y=a;if(m){const d=m._f;d&&(!d.disabled&&P(i,s,pt(a,d)),y=je(d.ref)&&K(a)?"":a,Ft(d.ref)?[...d.ref.options].forEach(v=>v.selected=y.includes(v.value)):d.refs?Oe(d.ref)?d.refs.forEach(v=>{(!v.defaultChecked||!v.disabled)&&(Array.isArray(y)?v.checked=!!y.find(S=>S===v.value):v.checked=y===v.value||!!y)}):d.refs.forEach(v=>v.checked=v.value===y):Ge(d.ref)?d.ref.value="":(d.ref.value=y,d.ref.type||b.state.next({name:s,values:H(i)})))}(u.shouldDirty||u.shouldTouch)&&ee(s,y,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&me(s)},Q=(s,a,u)=>{for(const m in a){if(!a.hasOwnProperty(m))return;const y=a[m],d=s+"."+m,v=h(n,d);(f.array.has(s)||z(y)||v&&!v._f)&&!ve(y)?Q(d,y,u):Y(d,y,u)}},X=(s,a,u={})=>{const m=h(n,s),y=f.array.has(s),d=H(a);P(i,s,d),y?(b.array.next({name:s,values:H(i)}),(E.isDirty||E.dirtyFields||p.isDirty||p.dirtyFields)&&u.shouldDirty&&b.state.next({name:s,dirtyFields:Ve(o,i),isDirty:x(s,d)})):m&&!m._f&&!K(d)?Q(s,d,u):Y(s,d,u),ht(s,f)&&b.state.next({...t,name:s}),b.state.next({name:l.mount?s:void 0,values:H(i)})},de=async s=>{l.mount=!0;const a=s.target;let u=a.name,m=!0;const y=h(n,u),d=D=>{m=Number.isNaN(D)||ve(D)&&isNaN(D.getTime())||ae(D,h(i,u,D))},v=yt(r.mode),S=yt(r.reValidateMode);if(y){let D,re;const De=a.type?dt(y._f):Yt(s),he=s.type===ot.BLUR||s.type===ot.FOCUS_OUT,Lt=!sr(y._f)&&!r.resolver&&!h(t.errors,u)&&!y._f.deps||ar(he,h(t.touchedFields,u),t.isSubmitted,S,v),Me=ht(u,f,he);P(i,u,De),he?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),w&&w(0)):y._f.onChange&&y._f.onChange(s);const Ue=ee(u,De,he),Mt=!Z(Ue)||Me;if(!he&&b.state.next({name:u,type:s.type,values:H(i)}),Lt)return(E.isValid||p.isValid)&&(r.mode==="onBlur"?he&&$():he||$()),Mt&&b.state.next({name:u,...Me?{}:Ue});if(!he&&Me&&b.state.next({...t}),r.resolver){const{errors:rt}=await se([u]);if(W([u]),d(De),m){const Ut=vt(t.errors,n,u),st=vt(rt,n,Ut.name||u);D=st.error,u=st.name,re=Z(rt)}}else W([u],!0),D=(await gt(y,f.disabled,i,B,r.shouldUseNativeValidation))[u],W([u]),d(De),m&&(D?re=!1:(E.isValid||p.isValid)&&(re=await J(n,!0)));m&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&me(y._f.deps),ce(u,re,D,Ue))}},ye=(s,a)=>{if(h(t.errors,a)&&s.focus)return s.focus(),1},me=async(s,a={})=>{let u,m;const y=Re(s);if(r.resolver){const d=await N(U(s)?s:y);u=Z(d),m=s?!y.some(v=>h(d,v)):u}else s?(m=(await Promise.all(y.map(async d=>{const v=h(n,d);return await J(v&&v._f?{[d]:v}:v)}))).every(Boolean),!(!m&&!t.isValid)&&$()):m=u=await J(n);return b.state.next({...!te(s)||(E.isValid||p.isValid)&&u!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:u}:{},errors:t.errors}),a.shouldFocus&&!m&&ke(n,ye,s?y:f.mount),m},c=(s,a)=>{let u={...l.mount?i:o};return a&&(u=Vt(a.dirtyFields?t.dirtyFields:t.touchedFields,u)),U(s)?u:te(s)?h(u,s):s.map(m=>h(u,m))},_=(s,a)=>({invalid:!!h((a||t).errors,s),isDirty:!!h((a||t).dirtyFields,s),error:h((a||t).errors,s),isValidating:!!h(t.validatingFields,s),isTouched:!!h((a||t).touchedFields,s)}),j=s=>{s&&Re(s).forEach(a=>q(t.errors,a)),b.state.next({errors:s?t.errors:{}})},I=(s,a,u)=>{const m=(h(n,s,{_f:{}})._f||{}).ref,y=h(t.errors,s)||{},{ref:d,message:v,type:S,...D}=y;P(t.errors,s,{...D,...a,ref:m}),b.state.next({name:s,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,a)=>ne(s)?b.state.subscribe({next:u=>"values"in u&&s(R(void 0,a),u)}):R(s,a,!0),_e=s=>b.state.subscribe({next:a=>{ir(s.name,a.name,s.exact)&&nr(a,s.formState||E,It,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,M=s=>(l.mount=!0,p={...p,...s.formState},_e({...s,formState:{...T,...s.formState}})),oe=(s,a={})=>{for(const u of s?Re(s):f.mount)f.mount.delete(u),f.array.delete(u),a.keepValue||(q(n,u),q(i,u)),!a.keepError&&q(t.errors,u),!a.keepDirty&&q(t.dirtyFields,u),!a.keepTouched&&q(t.touchedFields,u),!a.keepIsValidating&&q(t.validatingFields,u),!r.shouldUnregister&&!a.keepDefaultValue&&q(o,u);b.state.next({values:H(i)}),b.state.next({...t,...a.keepDirty?{isDirty:x()}:{}}),!a.keepIsValid&&$()},xe=({disabled:s,name:a})=>{(ue(s)&&l.mount||s||f.disabled.has(a))&&(s?f.disabled.add(a):f.disabled.delete(a))},Fe=(s,a={})=>{let u=h(n,s);const m=ue(a.disabled)||ue(r.disabled);return P(n,s,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:s}},name:s,mount:!0,...a}}),f.mount.add(s),u?xe({disabled:ue(a.disabled)?a.disabled:r.disabled,name:s}):k(s,!0,a.value),{...m?{disabled:a.disabled||r.disabled}:{},...r.progressive?{required:!!a.required,min:pe(a.min),max:pe(a.max),minLength:pe(a.minLength),maxLength:pe(a.maxLength),pattern:pe(a.pattern)}:{},name:s,onChange:de,onBlur:de,ref:y=>{if(y){Fe(s,a),u=h(n,s);const d=U(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,v=Zt(d),S=u._f.refs||[];if(v?S.find(D=>D===d):d===u._f.ref)return;P(n,s,{_f:{...u._f,...v?{refs:[...S.filter(Be),d,...Array.isArray(h(o,s))?[{}]:[]],ref:{type:d.type,name:s}}:{ref:d}}}),k(s,!1,void 0,d)}else u=h(n,s,{}),u._f&&(u._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(zt(f.array,s)&&l.action)&&f.unMount.add(s)}}},Le=()=>r.shouldFocusError&&ke(n,ye,f.mount),jt=s=>{ue(s)&&(b.state.next({disabled:s}),ke(n,(a,u)=>{const m=h(n,u);m&&(a.disabled=m._f.disabled||s,Array.isArray(m._f.refs)&&m._f.refs.forEach(y=>{y.disabled=m._f.disabled||s}))},0,!1))},Qe=(s,a)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=H(i);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:v}=await se();W(),t.errors=d,y=H(v)}else await J(n);if(f.disabled.size)for(const d of f.disabled)q(y,d);if(q(t.errors,"root"),Z(t.errors)){b.state.next({errors:{}});try{await s(y,u)}catch(d){m=d}}else a&&await a({...t.errors},u),Le(),setTimeout(Le);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(U(a.defaultValue)?X(s,H(h(o,s))):(X(s,a.defaultValue),P(o,s,H(a.defaultValue))),a.keepTouched||q(t.touchedFields,s),a.keepDirty||(q(t.dirtyFields,s),t.isDirty=a.defaultValue?x(s,H(h(o,s))):x()),a.keepError||(q(t.errors,s),E.isValid&&$()),b.state.next({...t}))},Ke=(s,a={})=>{const u=s?H(s):o,m=H(u),y=Z(s),d=y?o:m;if(a.keepDefaultValues||(o=u),!a.keepValues){if(a.keepDirtyValues){const v=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(v))h(t.dirtyFields,S)?P(d,S,h(i,S)):X(S,h(d,S))}else{if(qe&&U(s))for(const v of f.mount){const S=h(n,v);if(S&&S._f){const D=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(je(D)){const re=D.closest("form");if(re){re.reset();break}}}}if(a.keepFieldsRef)for(const v of f.mount)X(v,h(d,v));else n={}}i=r.shouldUnregister?a.keepDefaultValues?H(o):{}:H(d),b.array.next({values:{...d}}),b.state.next({values:{...d}})}f={mount:a.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!E.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!Z(d),l.watch=!!r.shouldUnregister,l.keepIsValid=!!a.keepIsValid,l.action=!1,a.keepErrors||(t.errors={}),b.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ae(s,o)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:a.keepDirtyValues?a.keepDefaultValues&&i?Ve(o,i):t.dirtyFields:a.keepDefaultValues&&s?Ve(o,s):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},et=(s,a)=>Ke(ne(s)?s(i):s,{...r.resetOptions,...a}),Nt=(s,a={})=>{const u=h(n,s),m=u&&u._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&ne(y.select)&&y.select()})}},It=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:I,_subscribe:_e,_runSchema:se,_updateIsValidating:W,_focusError:Le,_getWatch:R,_getDirty:x,_setValid:$,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:L,_reset:Ke,_resetDefaultValues:()=>ne(r.defaultValues)&&r.defaultValues().then(s=>{et(s,r.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:fe,_disableForm:jt,_subjects:b,_proxyFormState:E,get _fields(){return n},get _formValues(){return i},get _state(){return l},set _state(s){l=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:M,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError:I,setFocus:Nt,getFieldState:_};return{...tt,formControl:tt}}function fr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[n,o]=g.useState({isDirty:!1,isValidating:!1,isLoading:ne(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:ne(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:n},e.defaultValues&&!ne(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:l,...f}=cr(e);r.current={...f,formState:n}}const i=r.current.control;return i._options=e,xt(()=>{const l=i._subscribe({formState:i._proxyFormState,callback:()=>o({...i._formState}),reRenderRoot:!0});return o(f=>({...f,isReady:!0})),i._formState.isReady=!0,l},[i]),g.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),g.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),g.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),g.useEffect(()=>{if(i._proxyFormState.isDirty){const l=i._getDirty();l!==n.isDirty&&i._subjects.state.next({isDirty:l})}},[i,n.isDirty]),g.useEffect(()=>{var l;e.values&&!ae(e.values,t.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((l=i._options.resetOptions)===null||l===void 0)&&l.keepIsValid||i._setValid(),t.current=e.values,o(f=>({...f}))):i._resetDefaultValues()},[i,e.values]),g.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),r.current.formState=Gt(n,i),r.current}const kt=g.createContext(null),dr=({children:e,layout:r="vertical",uiConfig:t,updateFieldSchema:n})=>{const o=g.useMemo(()=>({layout:r,uiConfig:t,updateFieldSchema:n}),[r,t,n]);return F.jsx(kt.Provider,{value:o,children:e})},St=()=>{const e=g.useContext(kt);if(!e)throw new Error("useAutoFormRenderContext must be used within AutoFormRenderContextProvider");return e},yr=e=>{const{fieldSchema:r}=e,{register:t}=be(),n=t(r.name);return F.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[F.jsx("label",{children:r.label}),F.jsx("input",{type:r.type,...n,readOnly:r.readonly})]})},mr=e=>{const{fieldSchema:r}=e,{register:t}=be(),n=t(r.name),o=r.options;return F.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[F.jsx("label",{children:r.label}),F.jsx("select",{...n,disabled:r.readonly,children:o.map(i=>F.jsx("option",{value:i.value,children:i.label},i.value))})]})};function Tt(e,r){const t={};return e.forEach((n,o)=>{const i=n.split(".");let l=t;i.forEach((f,w)=>{const A=w===i.length-1,T=!isNaN(Number(f));A?l[f]=r[o]:(f in l||(l[f]=T?[]:{}),l=l[f])})}),t}function Ot(e){switch(e){case"text":return"";case"number":return 0;case"array":return[];case"checkbox":return!1;case"object":return{};case"select":return null;case"date":return new Date().toISOString().slice(0,10);case"datetime-local":return new Date().toISOString().slice(0,16);case"time":return new Date().toISOString().slice(11,16);default:return null}}function Ie(e){return e.replace(/\.\d+\./g,".")}function Dt(e,r){const t=e.split("."),n=[];return t.forEach((o,i)=>{isNaN(Number(o))||n.push({pos:i,value:o})}),r.map(o=>{const l=[...o.split(".")];return n.forEach(({pos:f,value:w})=>{f<=l.length&&l.splice(f,0,w)}),l.join(".")})}function Se(e,r={}){const t={};for(const n of e)if(n.type==="object"){const o=n.fields;t[n.name]=Se(o,r==null?void 0:r[n.name])}else t[n.name]=(r==null?void 0:r[n.name])??n.initialValue??Ot(n.type);return t}function Ze(e){return e.map(r=>{if(["object","array"].includes(r.type)){const t=r.fields;return{...r,readonly:!0,fields:Ze(t)}}return{...r,readonly:!0}})}const hr=g.memo(e=>{const{baseName:r,index:t,fields:n}=e,o=g.useMemo(()=>n.map(i=>({...i,name:`${r}.${t}.${i.name}`})),[r,t,n]);return F.jsxs("div",{children:[F.jsxs("div",{children:["row ",t]}),F.jsx(Te,{schema:o})]})}),vr=e=>{const{fieldSchema:r}=e,{control:t,getValues:n,setValue:o}=be(),l=Et({control:t,name:r.name})??[],f=()=>{const A=n(r.name)||[];o(r.name,[...A,Se(r.fields)])},w=A=>{const E=(n(r.name)||[]).filter((p,b)=>b!==A);o(r.name,E)};return F.jsxs("div",{children:[l.map((A,T)=>F.jsxs("div",{children:[F.jsx(hr,{baseName:r.name,index:T,fields:r.fields}),!r.readonly&&F.jsx("button",{type:"button",onClick:()=>w(T),children:"Remove"})]},T)),!r.readonly&&F.jsx("button",{type:"button",onClick:f,children:"Add Row"})]})},br=g.memo(vr),gr=e=>{const{fieldSchema:r}=e;let t=g.useMemo(()=>r.fields.map(n=>({...n,name:`${r.name}.${n.name}`})),[r.fields]);return F.jsx(Te,{schema:t})},_r=["text","number","checkbox","select","date","datetime-local","time","array","object"],Ct=({fieldSchema:e})=>{var A,T;const t=St().uiConfig,{register:n,control:o}=be(),i=Ie(e.name),l=n(e.name),f=(A=t==null?void 0:t.renderersByName)==null?void 0:A[i];if(e.visible===!1)return null;if(f)return F.jsx(f,{fieldSchema:e,control:o,register:l});const w=(T=t==null?void 0:t.renderersByType)==null?void 0:T[e.type];if(w)return F.jsx(w,{fieldSchema:e,control:o,register:l});if(_r.includes(e.type))return e.type==="select"?F.jsx(mr,{fieldSchema:e}):e.type==="array"?F.jsx(br,{fieldSchema:e}):e.type==="object"?F.jsx(gr,{fieldSchema:e}):F.jsx(yr,{fieldSchema:e});throw new Error(`AutoForm: No renderer found for field "${e.name}" with type "${e.type}". If this is a custom field type, make sure to register a renderer via uiConfig.renderersByType.`)},xr=({fieldSchema:e})=>F.jsx(Ct,{fieldSchema:e}),Er=({fieldSchema:e})=>{const{control:r}=be(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),i=Et({control:r,name:o}),[l,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let w=!1;return(async()=>{var B;const T=Ie(e.name),E=Tt(o,i??[]),p=(B=t==null?void 0:t.updateFieldSchema)==null?void 0:B[T];if(!p)return;const b=await p(e.name,e,E);!w&&b&&f({...e,...b})})(),()=>{w=!0}},[i]),F.jsx(Ct,{fieldSchema:l})},Vr=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?F.jsx(Er,{fieldSchema:r}):F.jsx(xr,{fieldSchema:r})},Fr=e=>{const{fieldSchema:r}=e;return F.jsx(Vr,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>F.jsx(Fr,{fieldSchema:t},t.name))});function wr(e,r){const t=i=>/^\d+$/.test(i),n=e.split(".");let o=r;for(const i of n){if(o==null)return;const l=t(i)?Number(i):i;o=o[l]}return o}const Ar=e=>{const{onDirtyChange:r,onValuesChange:t,onFieldChange:n}=e,{formState:o,watch:i}=be(),l=g.useRef(!0);return g.useEffect(()=>{const f=i((w,{name:A=""})=>{var p;t(w);const T=Ie(A),E=wr(A,w);(p=n==null?void 0:n[T])==null||p.call(n,A,E,w)});return()=>f.unsubscribe()},[i,t]),g.useEffect(()=>{if(l.current){l.current=!1;return}r(o.isDirty)},[o.isDirty,r]),null},pr=({onValuesChange:e,onDirtyChange:r,onFieldChange:t})=>(Ar({onDirtyChange:r,onValuesChange:e,onFieldChange:t}),null),Rr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:l="vertical",values:f=()=>({}),hideSubmit:w=!1,onDirtyChange:A=()=>{},onValuesChange:T=()=>{},resolver:E,readonly:p,onFieldChange:b={},loadingComponent:B}=e,O=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:E}),$=g.useRef(!1),[W,V]=g.useState(!1),G=O.handleSubmit(n),C=g.useMemo(()=>{let N=t;return p&&(N=Ze(N)),N},[p,t]);g.useEffect(()=>{if(!f)return;let N=!1;return(async()=>{if($.current)return;V(!1);const fe=await f();N||(O.reset(Se(t,fe)),$.current=!0,V(!0))})(),()=>{N=!0}},[t,f]),g.useImperativeHandle(r,()=>({submit:async()=>{await O.handleSubmit(n)()},reset:N=>{O.reset(N?Se(t,N):void 0)},getValues:()=>O.getValues(),setValue:(N,J)=>{O.setValue(N,J)}}));const k=w||p,ee=g.useMemo(()=>o,[o]),ce=g.useMemo(()=>i,[i]),se=g.useMemo(()=>({layout:l,uiConfig:o,updateFieldSchema:i}),[l,o,i]);return W?F.jsxs(Jt,{...O,children:[F.jsx(pr,{onDirtyChange:A,onValuesChange:T,onFieldChange:b}),F.jsxs(dr,{layout:se.layout,uiConfig:ee,updateFieldSchema:ce,children:[["vertical","horizontal"].includes(l)&&F.jsx("div",{style:{display:"flex",flexDirection:l==="vertical"?"column":"row"},children:F.jsx(Te,{schema:C})}),l==="custom"&&F.jsx(Te,{schema:C}),!k&&F.jsx("button",{style:{marginTop:"1rem"},onClick:G,children:"Submit"})]})]}):F.jsx(F.Fragment,{children:B??F.jsx("div",{style:{padding:"2rem",textAlign:"center",color:"#666",fontSize:"0.9rem"},children:"Loading form..."})})});exports.AutoForm=Rr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Ze;exports.normalizeFieldPath=Ie;exports.resolveDependsOnNew=Dt;
package/dist/index.es.js CHANGED
@@ -50,11 +50,11 @@ function zt() {
50
50
  return c.$$typeof === fe ? null : c.displayName || c.name || null;
51
51
  if (typeof c == "string") return c;
52
52
  switch (c) {
53
- case z:
53
+ case $:
54
54
  return "Fragment";
55
55
  case E:
56
56
  return "Profiler";
57
- case $:
57
+ case W:
58
58
  return "StrictMode";
59
59
  case ee:
60
60
  return "Suspense";
@@ -108,7 +108,7 @@ function zt() {
108
108
  }
109
109
  }
110
110
  function n(c) {
111
- if (c === z) return "<>";
111
+ if (c === $) return "<>";
112
112
  if (typeof c == "object" && c !== null && c.$$typeof === N)
113
113
  return "<...>";
114
114
  try {
@@ -237,7 +237,7 @@ React keys must be passed directly to JSX without using spread:
237
237
  function p(c) {
238
238
  return typeof c == "object" && c !== null && c.$$typeof === B;
239
239
  }
240
- var b = R, B = Symbol.for("react.transitional.element"), O = Symbol.for("react.portal"), z = Symbol.for("react.fragment"), $ = Symbol.for("react.strict_mode"), E = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), C = Symbol.for("react.context"), k = Symbol.for("react.forward_ref"), ee = Symbol.for("react.suspense"), ce = Symbol.for("react.suspense_list"), se = Symbol.for("react.memo"), N = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), _ = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, A = Object.prototype.hasOwnProperty, L = Array.isArray, W = console.createTask ? console.createTask : function() {
240
+ var b = R, B = Symbol.for("react.transitional.element"), O = Symbol.for("react.portal"), $ = Symbol.for("react.fragment"), W = Symbol.for("react.strict_mode"), E = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), C = Symbol.for("react.context"), k = Symbol.for("react.forward_ref"), ee = Symbol.for("react.suspense"), ce = Symbol.for("react.suspense_list"), se = Symbol.for("react.memo"), N = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), _ = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, A = Object.prototype.hasOwnProperty, L = Array.isArray, Y = console.createTask ? console.createTask : function() {
241
241
  return null;
242
242
  };
243
243
  b = {
@@ -248,8 +248,8 @@ React keys must be passed directly to JSX without using spread:
248
248
  var Q, X = {}, de = b.react_stack_bottom_frame.bind(
249
249
  b,
250
250
  i
251
- )(), ye = W(n(i)), me = {};
252
- Ae.Fragment = z, Ae.jsx = function(c, g, j) {
251
+ )(), ye = Y(n(i)), me = {};
252
+ Ae.Fragment = $, Ae.jsx = function(c, g, j) {
253
253
  var I = 1e4 > _.recentlyCreatedOwnerStacks++;
254
254
  return T(
255
255
  c,
@@ -257,7 +257,7 @@ React keys must be passed directly to JSX without using spread:
257
257
  j,
258
258
  !1,
259
259
  I ? Error("react-stack-top-frame") : de,
260
- I ? W(n(c)) : ye
260
+ I ? Y(n(c)) : ye
261
261
  );
262
262
  }, Ae.jsxs = function(c, g, j) {
263
263
  var I = 1e4 > _.recentlyCreatedOwnerStacks++;
@@ -267,7 +267,7 @@ React keys must be passed directly to JSX without using spread:
267
267
  j,
268
268
  !0,
269
269
  I ? Error("react-stack-top-frame") : de,
270
- I ? W(n(c)) : ye
270
+ I ? Y(n(c)) : ye
271
271
  );
272
272
  };
273
273
  })()), Ae;
@@ -278,9 +278,9 @@ function Ht() {
278
278
  }
279
279
  var V = Ht(), Te = (e) => e.type === "checkbox", be = (e) => e instanceof Date, K = (e) => e == null;
280
280
  const Vt = (e) => typeof e == "object";
281
- var q = (e) => !K(e) && !Array.isArray(e) && Vt(e) && !be(e), Jt = (e) => q(e) && e.target ? Te(e.target) ? e.target.checked : e.target.value : e, Gt = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Xt = (e, r) => e.has(Gt(r)), Zt = (e) => {
281
+ var z = (e) => !K(e) && !Array.isArray(e) && Vt(e) && !be(e), Jt = (e) => z(e) && e.target ? Te(e.target) ? e.target.checked : e.target.value : e, Gt = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Xt = (e, r) => e.has(Gt(r)), Zt = (e) => {
282
282
  const r = e.constructor && e.constructor.prototype;
283
- return q(r) && r.hasOwnProperty("isPrototypeOf");
283
+ return z(r) && r.hasOwnProperty("isPrototypeOf");
284
284
  }, ze = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
285
285
  function H(e) {
286
286
  if (e instanceof Date)
@@ -289,7 +289,7 @@ function H(e) {
289
289
  if (ze && (e instanceof Blob || r))
290
290
  return e;
291
291
  const t = Array.isArray(e);
292
- if (!t && !(q(e) && Zt(e)))
292
+ if (!t && !(z(e) && Zt(e)))
293
293
  return e;
294
294
  const n = t ? [] : Object.create(Object.getPrototypeOf(e));
295
295
  for (const o in e)
@@ -297,7 +297,7 @@ function H(e) {
297
297
  return n;
298
298
  }
299
299
  var Le = (e) => /^\w*$/.test(e), M = (e) => e === void 0, He = (e) => Array.isArray(e) ? e.filter(Boolean) : [], Je = (e) => He(e.replace(/["|']|\]/g, "").split(/\.|\[/)), h = (e, r, t) => {
300
- if (!r || !q(e))
300
+ if (!r || !z(e))
301
301
  return t;
302
302
  const n = (Le(r) ? [r] : Je(r)).reduce((o, i) => K(o) ? o : o[i], e);
303
303
  return M(n) || n === e ? M(e[r]) ? t : e[r] : n;
@@ -309,7 +309,7 @@ var Le = (e) => /^\w*$/.test(e), M = (e) => e === void 0, He = (e) => Array.isAr
309
309
  let F = t;
310
310
  if (n !== u) {
311
311
  const w = e[f];
312
- F = q(w) || Array.isArray(w) ? w : isNaN(+o[n + 1]) ? {} : [];
312
+ F = z(w) || Array.isArray(w) ? w : isNaN(+o[n + 1]) ? {} : [];
313
313
  }
314
314
  if (f === "__proto__" || f === "constructor" || f === "prototype")
315
315
  return;
@@ -371,7 +371,7 @@ function ae(e, r, t = /* @__PURE__ */ new WeakSet()) {
371
371
  return !1;
372
372
  if (i !== "ref") {
373
373
  const f = r[i];
374
- if (be(u) && be(f) || q(u) && q(f) || Array.isArray(u) && Array.isArray(f) ? !ae(u, f, t) : !Object.is(u, f))
374
+ if (be(u) && be(f) || z(u) && z(f) || Array.isArray(u) && Array.isArray(f) ? !ae(u, f, t) : !Object.is(u, f))
375
375
  return !1;
376
376
  }
377
377
  }
@@ -386,7 +386,7 @@ function wt(e) {
386
386
  }), O = R.useCallback((C) => {
387
387
  const k = We(n, t._names, C || t._formValues, !1, F.current);
388
388
  return w.current ? w.current(k) : k;
389
- }, [t._formValues, t._names, n]), z = R.useCallback((C) => {
389
+ }, [t._formValues, t._names, n]), $ = R.useCallback((C) => {
390
390
  if (!i) {
391
391
  const k = We(n, t._names, C || t._formValues, !1, F.current);
392
392
  if (w.current) {
@@ -396,22 +396,22 @@ function wt(e) {
396
396
  B(k);
397
397
  }
398
398
  }, [t._formValues, t._names, i, n]);
399
- Ft(() => ((x.current !== t || !ae(p.current, n)) && (x.current = t, p.current = n, z()), t._subscribe({
399
+ Ft(() => ((x.current !== t || !ae(p.current, n)) && (x.current = t, p.current = n, $()), t._subscribe({
400
400
  name: n,
401
401
  formState: {
402
402
  values: !0
403
403
  },
404
404
  exact: u,
405
405
  callback: (C) => {
406
- z(C.values);
406
+ $(C.values);
407
407
  }
408
- })), [t, u, n, z]), R.useEffect(() => t._removeUnmounted());
409
- const $ = x.current !== t, E = p.current, G = R.useMemo(() => {
408
+ })), [t, u, n, $]), R.useEffect(() => t._removeUnmounted());
409
+ const W = x.current !== t, E = p.current, G = R.useMemo(() => {
410
410
  if (i)
411
411
  return null;
412
- const C = !$ && !ae(E, n);
413
- return $ || C ? O() : null;
414
- }, [i, $, n, E, O]);
412
+ const C = !W && !ae(E, n);
413
+ return W || C ? O() : null;
414
+ }, [i, W, n, E, O]);
415
415
  return G !== null ? G : b;
416
416
  }
417
417
  var er = (e, r, t, n, o) => r ? {
@@ -445,14 +445,14 @@ function pt(e, r) {
445
445
  for (const n in e)
446
446
  if (e.hasOwnProperty(n)) {
447
447
  const o = e[n], i = r[n];
448
- if (o && q(o) && i) {
448
+ if (o && z(o) && i) {
449
449
  const u = pt(o, i);
450
- q(u) && (t[n] = u);
450
+ z(u) && (t[n] = u);
451
451
  } else e[n] && (t[n] = i);
452
452
  }
453
453
  return t;
454
454
  }
455
- var Z = (e) => q(e) && !Object.keys(e).length, Xe = (e) => e.type === "file", je = (e) => {
455
+ var Z = (e) => z(e) && !Object.keys(e).length, Xe = (e) => e.type === "file", je = (e) => {
456
456
  if (!ze)
457
457
  return !1;
458
458
  const r = e ? e.ownerDocument : 0;
@@ -471,9 +471,9 @@ function sr(e) {
471
471
  return !1;
472
472
  return !0;
473
473
  }
474
- function Y(e, r) {
474
+ function q(e, r) {
475
475
  const t = Array.isArray(r) ? r : Le(r) ? [r] : Je(r), n = t.length === 1 ? e : rr(e, t), o = t.length - 1, i = t[o];
476
- return n && delete n[i], o !== 0 && (q(n) && Z(n) || Array.isArray(n) && sr(n)) && Y(e, t.slice(0, -1)), e;
476
+ return n && delete n[i], o !== 0 && (z(n) && Z(n) || Array.isArray(n) && sr(n)) && q(e, t.slice(0, -1)), e;
477
477
  }
478
478
  var nr = (e) => {
479
479
  for (const r in e)
@@ -482,7 +482,7 @@ var nr = (e) => {
482
482
  return !1;
483
483
  };
484
484
  function Rt(e) {
485
- return Array.isArray(e) || q(e) && !nr(e);
485
+ return Array.isArray(e) || z(e) && !nr(e);
486
486
  }
487
487
  function qe(e, r = {}) {
488
488
  for (const t in e) {
@@ -545,7 +545,7 @@ var ir = (e, r, t, n) => {
545
545
  fields: o,
546
546
  shouldUseNativeValidation: n
547
547
  };
548
- }, Pe = (e) => e instanceof RegExp, Re = (e) => M(e) ? e : Pe(e) ? e.source : q(e) ? Pe(e.value) ? e.value.source : e.value : e, mt = (e) => ({
548
+ }, Pe = (e) => e instanceof RegExp, Re = (e) => M(e) ? e : Pe(e) ? e.source : z(e) ? Pe(e.value) ? e.value.source : e.value : e, mt = (e) => ({
549
549
  isOnSubmit: !e || e === ie.onSubmit,
550
550
  isOnBlur: e === ie.onBlur,
551
551
  isOnChange: e === ie.onChange,
@@ -553,7 +553,7 @@ var ir = (e, r, t, n) => {
553
553
  isOnTouch: e === ie.onTouched
554
554
  });
555
555
  const ht = "AsyncFunction";
556
- var ar = (e) => !!e && !!e.validate && !!(ne(e.validate) && e.validate.constructor.name === ht || q(e.validate) && Object.values(e.validate).find((r) => r.constructor.name === ht)), or = (e) => e.mount && (e.required || e.min || e.max || e.maxLength || e.minLength || e.pattern || e.validate), vt = (e, r, t) => !t && (r.watchAll || r.watch.has(e) || [...r.watch].some((n) => e.startsWith(n) && /^\.\w+/.test(e.slice(n.length))));
556
+ var ar = (e) => !!e && !!e.validate && !!(ne(e.validate) && e.validate.constructor.name === ht || z(e.validate) && Object.values(e.validate).find((r) => r.constructor.name === ht)), or = (e) => e.mount && (e.required || e.min || e.max || e.maxLength || e.minLength || e.pattern || e.validate), vt = (e, r, t) => !t && (r.watchAll || r.watch.has(e) || [...r.watch].some((n) => e.startsWith(n) && /^\.\w+/.test(e.slice(n.length))));
557
557
  const Se = (e, r, t, n) => {
558
558
  for (const o of t || Object.keys(e)) {
559
559
  const i = h(e, o);
@@ -566,7 +566,7 @@ const Se = (e, r, t, n) => {
566
566
  return !0;
567
567
  if (Se(f, r))
568
568
  break;
569
- } else if (q(f) && Se(f, r))
569
+ } else if (z(f) && Se(f, r))
570
570
  break;
571
571
  }
572
572
  }
@@ -603,7 +603,7 @@ var lr = (e, r, t, n) => {
603
603
  t(e);
604
604
  const { name: o, ...i } = e;
605
605
  return Z(i) || Object.keys(i).length >= Object.keys(r).length || Object.keys(i).find((u) => r[u] === (!n || ie.all));
606
- }, ur = (e, r, t) => !e || !r || e === r || ke(e).some((n) => n && (t ? n === r : n.startsWith(r) || r.startsWith(n))), cr = (e, r, t, n, o) => o.isOnAll ? !1 : !t && o.isOnTouch ? !(r || e) : (t ? n.isOnBlur : o.isOnBlur) ? !e : (t ? n.isOnChange : o.isOnChange) ? e : !0, fr = (e, r) => !He(h(e, r)).length && Y(e, r), dr = (e, r, t) => {
606
+ }, ur = (e, r, t) => !e || !r || e === r || ke(e).some((n) => n && (t ? n === r : n.startsWith(r) || r.startsWith(n))), cr = (e, r, t, n, o) => o.isOnAll ? !1 : !t && o.isOnTouch ? !(r || e) : (t ? n.isOnBlur : o.isOnBlur) ? !e : (t ? n.isOnChange : o.isOnChange) ? e : !0, fr = (e, r) => !He(h(e, r)).length && q(e, r), dr = (e, r, t) => {
607
607
  const n = ke(h(e, t));
608
608
  return P(n, "root", r[t]), P(e, t, n), e;
609
609
  };
@@ -615,22 +615,22 @@ function gt(e, r, t = "validate") {
615
615
  ref: r
616
616
  };
617
617
  }
618
- var Ve = (e) => q(e) && !Pe(e) ? e : {
618
+ var Ve = (e) => z(e) && !Pe(e) ? e : {
619
619
  value: e,
620
620
  message: ""
621
621
  }, _t = async (e, r, t, n, o, i) => {
622
- const { ref: u, refs: f, required: F, maxLength: w, minLength: T, min: x, max: p, pattern: b, validate: B, name: O, valueAsNumber: z, mount: $ } = e._f, E = h(t, O);
623
- if (!$ || r.has(O))
622
+ const { ref: u, refs: f, required: F, maxLength: w, minLength: T, min: x, max: p, pattern: b, validate: B, name: O, valueAsNumber: $, mount: W } = e._f, E = h(t, O);
623
+ if (!W || r.has(O))
624
624
  return {};
625
625
  const G = f ? f[0] : u, C = (_) => {
626
626
  o && G.reportValidity && (G.setCustomValidity(le(_) ? "" : _ || ""), G.reportValidity());
627
- }, k = {}, ee = Ze(u), ce = Te(u), se = ee || ce, N = (z || Xe(u)) && M(u.value) && M(E) || je(u) && u.value === "" || E === "" || Array.isArray(E) && !E.length, J = er.bind(null, O, n, k), fe = (_, A, L, W = ue.maxLength, Q = ue.minLength) => {
627
+ }, k = {}, ee = Ze(u), ce = Te(u), se = ee || ce, N = ($ || Xe(u)) && M(u.value) && M(E) || je(u) && u.value === "" || E === "" || Array.isArray(E) && !E.length, J = er.bind(null, O, n, k), fe = (_, A, L, Y = ue.maxLength, Q = ue.minLength) => {
628
628
  const X = _ ? A : L;
629
629
  k[O] = {
630
- type: _ ? W : Q,
630
+ type: _ ? Y : Q,
631
631
  message: X,
632
632
  ref: u,
633
- ...J(_ ? W : Q, X)
633
+ ...J(_ ? Y : Q, X)
634
634
  };
635
635
  };
636
636
  if (i ? !Array.isArray(E) || !E.length : F && (!se && (N || K(E)) || le(E) && !E || ce && !kt(f).isValid || ee && !Tt(f).isValid)) {
@@ -645,20 +645,20 @@ var Ve = (e) => q(e) && !Pe(e) ? e : {
645
645
  }
646
646
  if (!N && (!K(x) || !K(p))) {
647
647
  let _, A;
648
- const L = Ve(p), W = Ve(x);
648
+ const L = Ve(p), Y = Ve(x);
649
649
  if (!K(E) && !isNaN(E)) {
650
650
  const Q = u.valueAsNumber || E && +E;
651
- K(L.value) || (_ = Q > L.value), K(W.value) || (A = Q < W.value);
651
+ K(L.value) || (_ = Q > L.value), K(Y.value) || (A = Q < Y.value);
652
652
  } else {
653
653
  const Q = u.valueAsDate || new Date(E), X = (me) => /* @__PURE__ */ new Date((/* @__PURE__ */ new Date()).toDateString() + " " + me), de = u.type == "time", ye = u.type == "week";
654
- te(L.value) && E && (_ = de ? X(E) > X(L.value) : ye ? E > L.value : Q > new Date(L.value)), te(W.value) && E && (A = de ? X(E) < X(W.value) : ye ? E < W.value : Q < new Date(W.value));
654
+ te(L.value) && E && (_ = de ? X(E) > X(L.value) : ye ? E > L.value : Q > new Date(L.value)), te(Y.value) && E && (A = de ? X(E) < X(Y.value) : ye ? E < Y.value : Q < new Date(Y.value));
655
655
  }
656
- if ((_ || A) && (fe(!!_, L.message, W.message, ue.max, ue.min), !n))
656
+ if ((_ || A) && (fe(!!_, L.message, Y.message, ue.max, ue.min), !n))
657
657
  return C(k[O].message), k;
658
658
  }
659
659
  if ((w || T) && !N && (te(E) || i && Array.isArray(E))) {
660
- const _ = Ve(w), A = Ve(T), L = !K(_.value) && E.length > +_.value, W = !K(A.value) && E.length < +A.value;
661
- if ((L || W) && (fe(L, _.message, A.message), !n))
660
+ const _ = Ve(w), A = Ve(T), L = !K(_.value) && E.length > +_.value, Y = !K(A.value) && E.length < +A.value;
661
+ if ((L || Y) && (fe(L, _.message, A.message), !n))
662
662
  return C(k[O].message), k;
663
663
  }
664
664
  if (b && !N && te(E)) {
@@ -679,7 +679,7 @@ var Ve = (e) => q(e) && !Pe(e) ? e : {
679
679
  ...J(ue.validate, A.message)
680
680
  }, !n))
681
681
  return C(A.message), k;
682
- } else if (q(B)) {
682
+ } else if (z(B)) {
683
683
  let _ = {};
684
684
  for (const A in B) {
685
685
  if (!Z(_) && !n)
@@ -723,7 +723,7 @@ function mr(e = {}) {
723
723
  validatingFields: {},
724
724
  errors: r.errors || {},
725
725
  disabled: r.disabled || !1
726
- }, n = {}, o = q(r.defaultValues) || q(r.values) ? H(r.defaultValues || r.values) || {} : {}, i = r.shouldUnregister ? {} : H(o), u = {
726
+ }, n = {}, o = z(r.defaultValues) || z(r.values) ? H(r.defaultValues || r.values) || {} : {}, i = r.shouldUnregister ? {} : H(o), u = {
727
727
  action: !1,
728
728
  mount: !1,
729
729
  watch: !1,
@@ -754,16 +754,16 @@ function mr(e = {}) {
754
754
  state: ut()
755
755
  }, B = r.criteriaMode === ie.all, O = (s) => (a) => {
756
756
  clearTimeout(w), w = setTimeout(s, a);
757
- }, z = async (s) => {
757
+ }, $ = async (s) => {
758
758
  if (!u.keepIsValid && !r.disabled && (x.isValid || p.isValid || s)) {
759
759
  let a;
760
- r.resolver ? (a = Z((await se()).errors), $()) : a = await J(n, !0), a !== t.isValid && b.state.next({
760
+ r.resolver ? (a = Z((await se()).errors), W()) : a = await J(n, !0), a !== t.isValid && b.state.next({
761
761
  isValid: a
762
762
  });
763
763
  }
764
- }, $ = (s, a) => {
764
+ }, W = (s, a) => {
765
765
  !r.disabled && (x.isValidating || x.validatingFields || p.isValidating || p.validatingFields) && ((s || Array.from(f.mount)).forEach((l) => {
766
- l && (a ? P(t.validatingFields, l, a) : Y(t.validatingFields, l));
766
+ l && (a ? P(t.validatingFields, l, a) : q(t.validatingFields, l));
767
767
  }), b.state.next({
768
768
  validatingFields: t.validatingFields,
769
769
  isValidating: !Z(t.validatingFields)
@@ -804,7 +804,7 @@ function mr(e = {}) {
804
804
  const y = h(n, s);
805
805
  if (y) {
806
806
  const d = h(i, s, M(l) ? h(o, s) : l);
807
- M(d) || m && m.defaultChecked || a ? P(i, s, a ? d : yt(y._f)) : W(s, d), u.mount && !u.action && z();
807
+ M(d) || m && m.defaultChecked || a ? P(i, s, a ? d : yt(y._f)) : Y(s, d), u.mount && !u.action && $();
808
808
  }
809
809
  }, ee = (s, a, l, m, y) => {
810
810
  let d = !1, v = !1;
@@ -815,7 +815,7 @@ function mr(e = {}) {
815
815
  if (!l || m) {
816
816
  (x.isDirty || p.isDirty) && (v = t.isDirty, t.isDirty = S.isDirty = _(), d = v !== S.isDirty);
817
817
  const D = ae(h(o, s), a);
818
- v = !!h(t.dirtyFields, s), D ? Y(t.dirtyFields, s) : P(t.dirtyFields, s, !0), S.dirtyFields = t.dirtyFields, d = d || (x.dirtyFields || p.dirtyFields) && v !== !D;
818
+ v = !!h(t.dirtyFields, s), D ? q(t.dirtyFields, s) : P(t.dirtyFields, s, !0), S.dirtyFields = t.dirtyFields, d = d || (x.dirtyFields || p.dirtyFields) && v !== !D;
819
819
  }
820
820
  if (l) {
821
821
  const D = h(t.touchedFields, s);
@@ -826,7 +826,7 @@ function mr(e = {}) {
826
826
  return d ? S : {};
827
827
  }, ce = (s, a, l, m) => {
828
828
  const y = h(t.errors, s), d = (x.isValid || p.isValid) && le(a) && t.isValid !== a;
829
- if (r.delayError && l ? (F = O(() => G(s, l)), F(r.delayError)) : (clearTimeout(w), F = null, l ? P(t.errors, s, l) : Y(t.errors, s)), (l ? !ae(y, l) : y) || !Z(m) || d) {
829
+ if (r.delayError && l ? (F = O(() => G(s, l)), F(r.delayError)) : (clearTimeout(w), F = null, l ? P(t.errors, s, l) : q(t.errors, s)), (l ? !ae(y, l) : y) || !Z(m) || d) {
830
830
  const v = {
831
831
  ...m,
832
832
  ...d && le(a) ? { isValid: a } : {},
@@ -838,12 +838,12 @@ function mr(e = {}) {
838
838
  ...v
839
839
  }, b.state.next(v);
840
840
  }
841
- }, se = async (s) => ($(s, !0), await r.resolver(i, r.context, ir(s || f.mount, n, r.criteriaMode, r.shouldUseNativeValidation))), N = async (s) => {
841
+ }, se = async (s) => (W(s, !0), await r.resolver(i, r.context, ir(s || f.mount, n, r.criteriaMode, r.shouldUseNativeValidation))), N = async (s) => {
842
842
  const { errors: a } = await se(s);
843
- if ($(s), s)
843
+ if (W(s), s)
844
844
  for (const l of s) {
845
845
  const m = h(a, l);
846
- m ? P(t.errors, l, m) : Y(t.errors, l);
846
+ m ? P(t.errors, l, m) : q(t.errors, l);
847
847
  }
848
848
  else
849
849
  t.errors = a;
@@ -857,11 +857,11 @@ function mr(e = {}) {
857
857
  const { _f: d, ...v } = y;
858
858
  if (d) {
859
859
  const S = f.array.has(d.name), D = y._f && ar(y._f);
860
- D && x.validatingFields && $([d.name], !0);
860
+ D && x.validatingFields && W([d.name], !0);
861
861
  const re = await _t(y, f.disabled, i, B, r.shouldUseNativeValidation && !a, S);
862
- if (D && x.validatingFields && $([d.name]), re[d.name] && (l.valid = !1, a))
862
+ if (D && x.validatingFields && W([d.name]), re[d.name] && (l.valid = !1, a))
863
863
  break;
864
- !a && (h(re, d.name) ? S ? dr(t.errors, re, d.name) : P(t.errors, d.name, re[d.name]) : Y(t.errors, d.name));
864
+ !a && (h(re, d.name) ? S ? dr(t.errors, re, d.name) : P(t.errors, d.name, re[d.name]) : q(t.errors, d.name));
865
865
  }
866
866
  !Z(v) && await J(v, a, l);
867
867
  }
@@ -875,7 +875,7 @@ function mr(e = {}) {
875
875
  f.unMount = /* @__PURE__ */ new Set();
876
876
  }, _ = (s, a) => !r.disabled && (s && a && P(i, s, a), !ae(c(), o)), A = (s, a, l) => We(s, f, {
877
877
  ...u.mount ? i : M(a) ? o : te(s) ? { [s]: a } : a
878
- }, l, a), L = (s) => He(h(u.mount ? i : o, s, r.shouldUnregister ? h(o, s, []) : [])), W = (s, a, l = {}) => {
878
+ }, l, a), L = (s) => He(h(u.mount ? i : o, s, r.shouldUnregister ? h(o, s, []) : [])), Y = (s, a, l = {}) => {
879
879
  const m = h(n, s);
880
880
  let y = a;
881
881
  if (m) {
@@ -893,7 +893,7 @@ function mr(e = {}) {
893
893
  if (!a.hasOwnProperty(m))
894
894
  return;
895
895
  const y = a[m], d = s + "." + m, v = h(n, d);
896
- (f.array.has(s) || q(y) || v && !v._f) && !be(y) ? Q(d, y, l) : W(d, y, l);
896
+ (f.array.has(s) || z(y) || v && !v._f) && !be(y) ? Q(d, y, l) : Y(d, y, l);
897
897
  }
898
898
  }, X = (s, a, l = {}) => {
899
899
  const m = h(n, s), y = f.array.has(s), d = H(a);
@@ -904,7 +904,7 @@ function mr(e = {}) {
904
904
  name: s,
905
905
  dirtyFields: Fe(o, i),
906
906
  isDirty: _(s, d)
907
- })) : m && !m._f && !K(d) ? Q(s, d, l) : W(s, d, l), vt(s, f) && b.state.next({ ...t, name: s }), b.state.next({
907
+ })) : m && !m._f && !K(d) ? Q(s, d, l) : Y(s, d, l), vt(s, f) && b.state.next({ ...t, name: s }), b.state.next({
908
908
  name: u.mount ? s : void 0,
909
909
  values: H(i)
910
910
  });
@@ -925,15 +925,15 @@ function mr(e = {}) {
925
925
  type: s.type,
926
926
  values: H(i)
927
927
  }), Ut)
928
- return (x.isValid || p.isValid) && (r.mode === "onBlur" ? he && z() : he || z()), Mt && b.state.next({ name: l, ...Me ? {} : Be });
928
+ return (x.isValid || p.isValid) && (r.mode === "onBlur" ? he && $() : he || $()), Mt && b.state.next({ name: l, ...Me ? {} : Be });
929
929
  if (!he && Me && b.state.next({ ...t }), r.resolver) {
930
930
  const { errors: st } = await se([l]);
931
- if ($([l]), d(Oe), m) {
931
+ if (W([l]), d(Oe), m) {
932
932
  const Bt = bt(t.errors, n, l), nt = bt(st, n, Bt.name || l);
933
933
  D = nt.error, l = nt.name, re = Z(st);
934
934
  }
935
935
  } else
936
- $([l], !0), D = (await _t(y, f.disabled, i, B, r.shouldUseNativeValidation))[l], $([l]), d(Oe), m && (D ? re = !1 : (x.isValid || p.isValid) && (re = await J(n, !0)));
936
+ W([l], !0), D = (await _t(y, f.disabled, i, B, r.shouldUseNativeValidation))[l], W([l]), d(Oe), m && (D ? re = !1 : (x.isValid || p.isValid) && (re = await J(n, !0)));
937
937
  m && (y._f.deps && (!Array.isArray(y._f.deps) || y._f.deps.length > 0) && me(y._f.deps), ce(l, re, D, Be));
938
938
  }
939
939
  }, ye = (s, a) => {
@@ -948,7 +948,7 @@ function mr(e = {}) {
948
948
  } else s ? (m = (await Promise.all(y.map(async (d) => {
949
949
  const v = h(n, d);
950
950
  return await J(v && v._f ? { [d]: v } : v);
951
- }))).every(Boolean), !(!m && !t.isValid) && z()) : m = l = await J(n);
951
+ }))).every(Boolean), !(!m && !t.isValid) && $()) : m = l = await J(n);
952
952
  return b.state.next({
953
953
  ...!te(s) || (x.isValid || p.isValid) && l !== t.isValid ? {} : { name: s },
954
954
  ...r.resolver || !s ? { isValid: l } : {},
@@ -966,7 +966,7 @@ function mr(e = {}) {
966
966
  isValidating: !!h(t.validatingFields, s),
967
967
  isTouched: !!h((a || t).touchedFields, s)
968
968
  }), j = (s) => {
969
- s && ke(s).forEach((a) => Y(t.errors, a)), b.state.next({
969
+ s && ke(s).forEach((a) => q(t.errors, a)), b.state.next({
970
970
  errors: s ? t.errors : {}
971
971
  });
972
972
  }, I = (s, a, l) => {
@@ -1002,13 +1002,13 @@ function mr(e = {}) {
1002
1002
  }
1003
1003
  })), oe = (s, a = {}) => {
1004
1004
  for (const l of s ? ke(s) : f.mount)
1005
- f.mount.delete(l), f.array.delete(l), a.keepValue || (Y(n, l), Y(i, l)), !a.keepError && Y(t.errors, l), !a.keepDirty && Y(t.dirtyFields, l), !a.keepTouched && Y(t.touchedFields, l), !a.keepIsValidating && Y(t.validatingFields, l), !r.shouldUnregister && !a.keepDefaultValue && Y(o, l);
1005
+ f.mount.delete(l), f.array.delete(l), a.keepValue || (q(n, l), q(i, l)), !a.keepError && q(t.errors, l), !a.keepDirty && q(t.dirtyFields, l), !a.keepTouched && q(t.touchedFields, l), !a.keepIsValidating && q(t.validatingFields, l), !r.shouldUnregister && !a.keepDefaultValue && q(o, l);
1006
1006
  b.state.next({
1007
1007
  values: H(i)
1008
1008
  }), b.state.next({
1009
1009
  ...t,
1010
1010
  ...a.keepDirty ? { isDirty: _() } : {}
1011
- }), !a.keepIsValid && z();
1011
+ }), !a.keepIsValid && $();
1012
1012
  }, Ee = ({ disabled: s, name: a }) => {
1013
1013
  (le(s) && u.mount || s || f.disabled.has(a)) && (s ? f.disabled.add(a) : f.disabled.delete(a));
1014
1014
  }, we = (s, a = {}) => {
@@ -1076,13 +1076,13 @@ function mr(e = {}) {
1076
1076
  isSubmitting: !0
1077
1077
  }), r.resolver) {
1078
1078
  const { errors: d, values: v } = await se();
1079
- $(), t.errors = d, y = H(v);
1079
+ W(), t.errors = d, y = H(v);
1080
1080
  } else
1081
1081
  await J(n);
1082
1082
  if (f.disabled.size)
1083
1083
  for (const d of f.disabled)
1084
- Y(y, d);
1085
- if (Y(t.errors, "root"), Z(t.errors)) {
1084
+ q(y, d);
1085
+ if (q(t.errors, "root"), Z(t.errors)) {
1086
1086
  b.state.next({
1087
1087
  errors: {}
1088
1088
  });
@@ -1102,7 +1102,7 @@ function mr(e = {}) {
1102
1102
  }), m)
1103
1103
  throw m;
1104
1104
  }, Nt = (s, a = {}) => {
1105
- h(n, s) && (M(a.defaultValue) ? X(s, H(h(o, s))) : (X(s, a.defaultValue), P(o, s, H(a.defaultValue))), a.keepTouched || Y(t.touchedFields, s), a.keepDirty || (Y(t.dirtyFields, s), t.isDirty = a.defaultValue ? _(s, H(h(o, s))) : _()), a.keepError || (Y(t.errors, s), x.isValid && z()), b.state.next({ ...t }));
1105
+ h(n, s) && (M(a.defaultValue) ? X(s, H(h(o, s))) : (X(s, a.defaultValue), P(o, s, H(a.defaultValue))), a.keepTouched || q(t.touchedFields, s), a.keepDirty || (q(t.dirtyFields, s), t.isDirty = a.defaultValue ? _(s, H(h(o, s))) : _()), a.keepError || (q(t.errors, s), x.isValid && $()), b.state.next({ ...t }));
1106
1106
  }, et = (s, a = {}) => {
1107
1107
  const l = s ? H(s) : o, m = H(l), y = Z(s), d = y ? o : m;
1108
1108
  if (a.keepDefaultValues || (o = l), !a.keepValues) {
@@ -1181,11 +1181,11 @@ function mr(e = {}) {
1181
1181
  setError: I,
1182
1182
  _subscribe: xe,
1183
1183
  _runSchema: se,
1184
- _updateIsValidating: $,
1184
+ _updateIsValidating: W,
1185
1185
  _focusError: Ue,
1186
1186
  _getWatch: A,
1187
1187
  _getDirty: _,
1188
- _setValid: z,
1188
+ _setValid: $,
1189
1189
  _setFieldArray: E,
1190
1190
  _setDisabledField: Ee,
1191
1191
  _setErrors: C,
@@ -1594,20 +1594,22 @@ const Dr = (e) => {
1594
1594
  reValidateMode: "onSubmit",
1595
1595
  criteriaMode: "all",
1596
1596
  resolver: x
1597
- }), z = Et(!1), [$, E] = xt(!1), G = O.handleSubmit(n), C = ve(() => {
1597
+ }), $ = Et(!1), [W, E] = xt(!1), G = O.handleSubmit(n), C = ve(() => {
1598
1598
  let N = t;
1599
1599
  return p && (N = Ct(N)), N;
1600
1600
  }, [p, t]);
1601
1601
  Ce(() => {
1602
+ if (!f) return;
1602
1603
  let N = !1;
1603
1604
  return (async () => {
1605
+ if ($.current) return;
1604
1606
  E(!1);
1605
1607
  const fe = await f();
1606
- N || (O.reset(Ne(t, fe)), z.current = !0, E(!0));
1608
+ N || (O.reset(Ne(t, fe)), $.current = !0, E(!0));
1607
1609
  })(), () => {
1608
1610
  N = !0;
1609
1611
  };
1610
- }, [f, t]), Yt(r, () => ({
1612
+ }, [t, f]), Yt(r, () => ({
1611
1613
  submit: async () => {
1612
1614
  await O.handleSubmit(n)();
1613
1615
  },
@@ -1619,10 +1621,7 @@ const Dr = (e) => {
1619
1621
  O.setValue(N, J);
1620
1622
  }
1621
1623
  }));
1622
- const k = F || p, ee = ve(() => o, [o]), ce = ve(
1623
- () => i,
1624
- [i]
1625
- ), se = ve(
1624
+ const k = F || p, ee = ve(() => o, [o]), ce = ve(() => i, [i]), se = ve(
1626
1625
  () => ({
1627
1626
  layout: u,
1628
1627
  uiConfig: o,
@@ -1630,7 +1629,7 @@ const Dr = (e) => {
1630
1629
  }),
1631
1630
  [u, o, i]
1632
1631
  );
1633
- return $ ? /* @__PURE__ */ V.jsxs(Qt, { ...O, children: [
1632
+ return W ? /* @__PURE__ */ V.jsxs(Qt, { ...O, children: [
1634
1633
  /* @__PURE__ */ V.jsx(
1635
1634
  Cr,
1636
1635
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoforma",
3
- "version": "2.9.1",
3
+ "version": "2.9.3",
4
4
  "description": "AutoForma is a headless dynamic form builder based on React Hook Form",
5
5
  "type": "module",
6
6
  "sideEffects": false,