autoforma 2.9.99 → 2.10.0

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.
@@ -76,7 +76,7 @@ export type UiConfig = {
76
76
  export type Layout = 'vertical' | 'horizontal' | 'custom';
77
77
  export interface FormProps {
78
78
  schema: Schema;
79
- onSubmit: (values: FormValues) => void;
79
+ onSubmit: (values: FormValues) => void | Promise<void>;
80
80
  layout?: Layout;
81
81
  uiConfig?: UiConfig;
82
82
  updateFieldSchema?: UpdateFieldSchema;
@@ -90,7 +90,10 @@ export interface FormProps {
90
90
  loadingComponent?: React.ReactNode;
91
91
  }
92
92
  export interface FormRef {
93
- submit: () => Promise<void>;
93
+ submit: () => Promise<{
94
+ success: boolean;
95
+ errors?: Record<string, any>;
96
+ }>;
94
97
  setValue: (name: string, value: any) => void;
95
98
  getValues: () => FormValues;
96
99
  reset: (values: FormValues) => void;
package/dist/index.cjs.js CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var nt;function Bt(){if(nt)return Ae;nt=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(n,o,i){var l=null;if(i!==void 0&&(l=""+i),o.key!==void 0&&(l=""+o.key),"key"in o){i={};for(var f in o)f!=="key"&&(i[f]=o[f])}else i=o;return o=i.ref,{$$typeof:e,type:n,key:l,ref:o!==void 0?o:null,props:i}}return Ae.Fragment=r,Ae.jsx=t,Ae.jsxs=t,Ae}var pe={};/**
9
+ */var nt;function Bt(){if(nt)return Ae;nt=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(n,o,a){var l=null;if(a!==void 0&&(l=""+a),o.key!==void 0&&(l=""+o.key),"key"in o){a={};for(var f in o)f!=="key"&&(a[f]=o[f])}else a=o;return o=a.ref,{$$typeof:e,type:n,key:l,ref:o!==void 0?o:null,props:a}}return Ae.Fragment=r,Ae.jsx=t,Ae.jsxs=t,Ae}var we={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,9 +14,9 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var it;function Wt(){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 W: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,L=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.",L),r(c)}}function n(c){if(c===W)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 A(){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 p(c,_,j,L,ge,_e){var I=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:L},(I!==void 0?I:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:A}):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,L,ge,_e){var I=_.children;if(I!==void 0)if(L)if(M(I)){for(L=0;L<I.length;L++)E(I[L]);Object.freeze&&Object.freeze(I)}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(I);if(R.call(_,"key")){I=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});L=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[I+L]||(oe=0<oe.length?"{"+oe.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var at;function Wt(){return at||(at=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 W:return"Fragment";case V:return"Profiler";case $:return"StrictMode";case ee:return"Suspense";case ce:return"SuspenseList";case H: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 S: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,L=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.",L),r(c)}}function n(c){if(c===W)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 a(){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 A(){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 w(c,_,j,L,ge,_e){var I=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:L},(I!==void 0?I:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:A}):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 O(c,_,j,L,ge,_e){var I=_.children;if(I!==void 0)if(L)if(M(I)){for(L=0;L<I.length;L++)E(I[L]);Object.freeze&&Object.freeze(I)}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(I);if(R.call(_,"key")){I=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});L=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[I+L]||(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} />`,L,I,oe,I),me[I+L]=!0)}if(I=null,j!==void 0&&(t(j),I=""+j),l(_)&&(t(_.key),I=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return I&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),p(c,I,j,o(),ge,_e)}function E(c){w(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===N&&(c._payload.status==="fulfilled"?w(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function w(c){return typeof c=="object"&&c!==null&&c.$$typeof===B}var b=g,B=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),W=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,M=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={};pe.Fragment=W,pe.jsx=function(c,_,j){var L=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!1,L?Error("react-stack-top-frame"):de,L?Y(n(c)):ye)},pe.jsxs=function(c,_,j){var L=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!0,L?Error("react-stack-top-frame"):de,L?Y(n(c)):ye)}})()),pe}var at;function $t(){return at||(at=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=Wt()),Ce.exports}var F=$t(),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 A=t;if(n!==l){const p=e[f];A=z(p)||Array.isArray(p)?p:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=A,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",We=(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),$e=e=>K(e)||!_t(e);function ae(e,r,t=new WeakSet){if($e(e)||$e(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||{},A=g.useRef(o),p=g.useRef(f),T=g.useRef(void 0),E=g.useRef(t),w=g.useRef(n);p.current=f;const[b,B]=g.useState(()=>{const C=t._getWatch(n,A.current);return p.current?p.current(C):C}),O=g.useCallback(C=>{const k=We(n,t._names,C||t._formValues,!1,A.current);return p.current?p.current(k):k},[t._formValues,t._names,n]),W=g.useCallback(C=>{if(!i){const k=We(n,t._names,C||t._formValues,!1,A.current);if(p.current){const ee=p.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(w.current,n))&&(E.current=t,w.current=n,W()),t._subscribe({name:n,formState:{values:!0},exact:l,callback:C=>{W(C.values)}})),[t,l,n,W]),g.useEffect(()=>t._removeUnmounted());const $=E.current!==t,V=w.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&&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 At(e){return Array.isArray(e)||z(e)&&!er(e)}function Ye(e,r={}){for(const t in e){const n=e[t];At(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(At(o))U(r)||$e(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 pt=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},wt=(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)?pt(e.refs).value:wt(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,we=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:A,maxLength:p,minLength:T,min:E,max:w,pattern:b,validate:B,name:O,valueAsNumber:W,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=(W||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,M,Y=le.maxLength,Q=le.minLength)=>{const X=x?R:M;k[O]={type:x?Y:Q,message:X,ref:l,...J(x?Y:Q,X)}};if(i?!Array.isArray(V)||!V.length:A&&(!se&&(N||K(V))||ue(V)&&!V||ce&&!pt(f).isValid||ee&&!Rt(f).isValid)){const{value:x,message:R}=te(A)?{value:!!A,message:A}:Ee(A);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(w))){let x,R;const M=Ee(w),Y=Ee(E);if(!K(V)&&!isNaN(V)){const Q=l.valueAsNumber||V&&+V;K(M.value)||(x=Q>M.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(M.value)&&V&&(x=de?X(V)>X(M.value):ye?V>M.value:Q>new Date(M.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,M.message,Y.message,le.max,le.min),!n))return C(k[O].message),k}if((p||T)&&!N&&(te(V)||i&&Array.isArray(V))){const x=Ee(p),R=Ee(T),M=!K(x.value)&&V.length>+x.value,Y=!K(R.value)&&V.length<+R.value;if((M||Y)&&(fe(M,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 M=bt(await B[R](V,t),G,R);M&&(x={...M,...J(R,M.message)},C(M.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},A,p=0;const T={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},E={...T};let w={...E};const b={array:ut(),state:ut()},B=r.criteriaMode===ie.all,O=s=>a=>{clearTimeout(p),p=setTimeout(s,a)},W=async s=>{if(!l.keepIsValid&&!r.disabled&&(E.isValid||w.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||w.isValidating||w.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||w.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||w.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&&W()}},ee=(s,a,u,m,y)=>{let d=!1,v=!1;const S={name:s};if(!r.disabled){if(!u||m){(E.isDirty||w.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||w.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||w.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||w.isValid)&&ue(a)&&t.isValid!==a;if(r.delayError&&u?(A=O(()=>G(s,u)),A(r.delayError)):(clearTimeout(p),A=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=>($(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):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&&$([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]):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)=>We(s,f,{...l.mount?i:U(a)?o:te(s)?{[s]:a}:a},u,a),M=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,wt(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||w.isDirty||w.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,Mt=!sr(y._f)&&!r.resolver&&!h(t.errors,u)&&!y._f.deps||ar(he,h(t.touchedFields,u),t.isSubmitted,S,v),Ie=ht(u,f,he);P(i,u,De),he?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),A&&A(0)):y._f.onChange&&y._f.onChange(s);const Ue=ee(u,De,he),It=!Z(Ue)||Ie;if(!he&&b.state.next({name:u,type:s.type,values:H(i)}),Mt)return(E.isValid||w.isValid)&&(r.mode==="onBlur"?he&&W():he||W()),It&&b.state.next({name:u,...Ie?{}:Ue});if(!he&&Ie&&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||w.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)&&W()):m=u=await J(n);return b.state.next({...!te(s)||(E.isValid||w.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:{}})},L=(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,Lt,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,I=s=>(l.mount=!0,w={...w,...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&&W()},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:we(a.min),max:we(a.max),minLength:we(a.minLength),maxLength:we(a.maxLength),pattern:we(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)}}},Me=()=>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)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),Me(),setTimeout(Me);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&&W()),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()})}},Lt=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:L,_subscribe:_e,_runSchema:se,_updateIsValidating:$,_focusError:Me,_getWatch:R,_getDirty:x,_setValid:W,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:M,_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:I,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError:L,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,A)=>{const p=A===i.length-1,T=!isNaN(Number(f));p?l[f]=r[o]:(f in l||(l[f]=T?[]:{}),l=l[f])})}),t}function Ot(e){switch(e){case"array":return[];case"object":default:return null}}function Le(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:A})=>{f<=l.length&&l.splice(f,0,A)}),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 p=n(r.name)||[];o(r.name,[...p,Se(r.fields)])},A=p=>{const E=(n(r.name)||[]).filter((w,b)=>b!==p);o(r.name,E)};return F.jsxs("div",{children:[l.map((p,T)=>F.jsxs("div",{children:[F.jsx(hr,{baseName:r.name,index:T,fields:r.fields}),!r.readonly&&F.jsx("button",{type:"button",onClick:()=>A(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})},Ct=({fieldSchema:e})=>{var p,T;const t=St().uiConfig,{register:n,control:o}=be(),i=Le(e.name),l=n(e.name),f=(p=t==null?void 0:t.renderersByName)==null?void 0:p[i];if(e.visible===!1)return null;if(f)return F.jsx(f,{fieldSchema:e,control:o,register:l});const A=(T=t==null?void 0:t.renderersByType)==null?void 0:T[e.type];if(A)return F.jsx(A,{fieldSchema:e,control:o,register:l});switch(e.type){case"select":return F.jsx(mr,{fieldSchema:e});case"array":return F.jsx(br,{fieldSchema:e});case"object":return F.jsx(gr,{fieldSchema:e});case"text":case"number":case"checkbox":case"date":case"datetime-local":case"time":return F.jsx(yr,{fieldSchema:e})}},_r=({fieldSchema:e})=>F.jsx(Ct,{fieldSchema:e}),xr=({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 A=!1;return(async()=>{var B;const T=Le(e.name),E=Tt(o,i??[]),w=(B=t==null?void 0:t.updateFieldSchema)==null?void 0:B[T];if(!w)return;const b=await w(e.name,e,E);!A&&b&&f({...e,...b})})(),()=>{A=!0}},[i]),F.jsx(Ct,{fieldSchema:l})},Er=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?F.jsx(xr,{fieldSchema:r}):F.jsx(_r,{fieldSchema:r})},Vr=e=>{const{fieldSchema:r}=e;return F.jsx(Er,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>F.jsx(Vr,{fieldSchema:t},t.name))});function Fr(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((A,{name:p=""})=>{var w;t(A);const T=Le(p),E=Fr(p,A);(w=n==null?void 0:n[T])==null||w.call(n,p,E,A)});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),wr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:l="vertical",values:f=()=>({}),hideSubmit:A=!1,onDirtyChange:p=()=>{},onValuesChange:T=()=>{},resolver:E,readonly:w,onFieldChange:b={},loadingComponent:B}=e,O=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:E}),W=g.useRef(!1),[$,V]=g.useState(!1),G=O.handleSubmit(n),C=g.useMemo(()=>{let N=t;return w&&(N=Ze(N)),N},[w,t]);g.useEffect(()=>{if(!f)return;let N=!1;return(async()=>{if(W.current)return;V(!1);const fe=await f();N||(O.reset(Se(t,fe),{keepErrors:!0,keepDirty:!1,keepTouched:!1}),W.current=!0,V(!0))})(),()=>{N=!0}},[t,f]),g.useImperativeHandle(r,()=>({submit:()=>O.handleSubmit(n)(),reset:N=>{O.reset(N?Se(t,N):void 0)},getValues:()=>O.getValues(),setValue:(N,J)=>{O.setValue(N,J)},getErrors:()=>O.formState.errors}));const k=A||w,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:p,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=wr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Ze;exports.normalizeFieldPath=Le;exports.resolveDependsOnNew=Dt;
22
+ <%s key={someKey} {...props} />`,L,I,oe,I),me[I+L]=!0)}if(I=null,j!==void 0&&(t(j),I=""+j),l(_)&&(t(_.key),I=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return I&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),w(c,I,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"),S=Symbol.for("react.portal"),W=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"),H=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,M=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,a)(),ye=Y(n(a)),me={};we.Fragment=W,we.jsx=function(c,_,j){var L=1e4>x.recentlyCreatedOwnerStacks++;return O(c,_,j,!1,L?Error("react-stack-top-frame"):de,L?Y(n(c)):ye)},we.jsxs=function(c,_,j){var L=1e4>x.recentlyCreatedOwnerStacks++;return O(c,_,j,!0,L?Error("react-stack-top-frame"):de,L?Y(n(c)):ye)}})()),we}var it;function $t(){return it||(it=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=Wt()),Ce.exports}var F=$t(),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 J(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]=J(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,a)=>K(o)?o:o[a],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),a=o.length,l=a-1;for(;++n<a;){const f=o[n];let A=t;if(n!==l){const w=e[f];A=z(w)||Array.isArray(w)?w:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=A,e=e[f]}};const ot={BLUR:"blur",FOCUS_OUT:"focusout"},ae={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 a in e)Object.defineProperty(o,a,{get:()=>{const l=a;return r._proxyFormState[l]!==ae.all&&(r._proxyFormState[l]=!n||ae.all),e[l]}});return o};const xt=typeof window<"u"?g.useLayoutEffect:g.useEffect;var te=e=>typeof e=="string",We=(e,r,t,n,o)=>te(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(a=>(n&&r.watch.add(a),h(t,a))):(n&&(r.watchAll=!0),t),$e=e=>K(e)||!_t(e);function ie(e,r,t=new WeakSet){if($e(e)||$e(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 a of n){const l=e[a];if(!o.includes(a))return!1;if(a!=="ref"){const f=r[a];if(ve(l)&&ve(f)||z(l)&&z(f)||Array.isArray(l)&&Array.isArray(f)?!ie(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:a,exact:l,compute:f}=e||{},A=g.useRef(o),w=g.useRef(f),O=g.useRef(void 0),E=g.useRef(t),p=g.useRef(n);w.current=f;const[b,B]=g.useState(()=>{const C=t._getWatch(n,A.current);return w.current?w.current(C):C}),S=g.useCallback(C=>{const k=We(n,t._names,C||t._formValues,!1,A.current);return w.current?w.current(k):k},[t._formValues,t._names,n]),W=g.useCallback(C=>{if(!a){const k=We(n,t._names,C||t._formValues,!1,A.current);if(w.current){const ee=w.current(k);ie(ee,O.current)||(B(ee),O.current=ee)}else B(k)}},[t._formValues,t._names,a,n]);xt(()=>((E.current!==t||!ie(p.current,n))&&(E.current=t,p.current=n,W()),t._subscribe({name:n,formState:{values:!0},exact:l,callback:C=>{W(C.values)}})),[t,l,n,W]),g.useEffect(()=>t._removeUnmounted());const $=E.current!==t,V=p.current,G=g.useMemo(()=>{if(a)return null;const C=!$&&!ie(V,n);return $||C?S():null},[a,$,n,V,S]);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 a of e)a.next&&a.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(a=>a!==o)}}),unsubscribe:()=>{e=[]}}};function Vt(e,r){const t={};for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],a=r[n];if(o&&z(o)&&a){const l=Vt(o,a);z(l)&&(t[n]=l)}else e[n]&&(t[n]=a)}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,a=t[o];return n&&delete n[a],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 At(e){return Array.isArray(e)||z(e)&&!er(e)}function Ye(e,r={}){for(const t in e){const n=e[t];At(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(At(o))U(r)||$e(t[n])?t[n]=Ye(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const a=r[n];t[n]=!ie(o,a)}}return t}const lt={value:!1,isValid:!1},ct={value:!0,isValid:!0};var wt=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)?wt(e.refs).value:pt(U(r.value)?e.ref.value:r.value,e)}var tr=(e,r,t,n)=>{const o={};for(const a of e){const l=h(r,a);l&&P(o,a,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===ae.onSubmit,isOnBlur:e===ae.onBlur,isOnChange:e===ae.onChange,isOnAll:e===ae.all,isOnTouch:e===ae.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 a=h(e,o);if(a){const{_f:l,...f}=a;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 a=o.join("."),l=h(r,a),f=h(e,a);if(l&&!Array.isArray(l)&&t!==a)return{name:t};if(f&&f.type)return{name:a,error:f};if(f&&f.root&&f.root.type)return{name:`${a}.root`,error:f.root};o.pop()}return{name:t}}var nr=(e,r,t,n)=>{t(e);const{name:o,...a}=e;return Z(a)||Object.keys(a).length>=Object.keys(r).length||Object.keys(a).find(l=>r[l]===(!n||ae.all))},ar=(e,r,t)=>!e||!r||e===r||Re(e).some(n=>n&&(t?n===r:n.startsWith(r)||r.startsWith(n))),ir=(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,a)=>{const{ref:l,refs:f,required:A,maxLength:w,minLength:O,min:E,max:p,pattern:b,validate:B,name:S,valueAsNumber:W,mount:$}=e._f,V=h(t,S);if(!$||r.has(S))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=(W||Ge(l))&&U(l.value)&&U(V)||je(l)&&l.value===""||V===""||Array.isArray(V)&&!V.length,H=Xt.bind(null,S,n,k),fe=(x,R,M,Y=le.maxLength,Q=le.minLength)=>{const X=x?R:M;k[S]={type:x?Y:Q,message:X,ref:l,...H(x?Y:Q,X)}};if(a?!Array.isArray(V)||!V.length:A&&(!se&&(N||K(V))||ue(V)&&!V||ce&&!wt(f).isValid||ee&&!Rt(f).isValid)){const{value:x,message:R}=te(A)?{value:!!A,message:A}:Ee(A);if(x&&(k[S]={type:le.required,message:R,ref:G,...H(le.required,R)},!n))return C(R),k}if(!N&&(!K(E)||!K(p))){let x,R;const M=Ee(p),Y=Ee(E);if(!K(V)&&!isNaN(V)){const Q=l.valueAsNumber||V&&+V;K(M.value)||(x=Q>M.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(M.value)&&V&&(x=de?X(V)>X(M.value):ye?V>M.value:Q>new Date(M.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,M.message,Y.message,le.max,le.min),!n))return C(k[S].message),k}if((w||O)&&!N&&(te(V)||a&&Array.isArray(V))){const x=Ee(w),R=Ee(O),M=!K(x.value)&&V.length>+x.value,Y=!K(R.value)&&V.length<+R.value;if((M||Y)&&(fe(M,x.message,R.message),!n))return C(k[S].message),k}if(b&&!N&&te(V)){const{value:x,message:R}=Ee(b);if(Pe(x)&&!V.match(x)&&(k[S]={type:le.pattern,message:R,ref:l,...H(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[S]={...R,...H(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 M=bt(await B[R](V,t),G,R);M&&(x={...M,...H(R,M.message)},C(M.message),n&&(k[S]=x))}if(!Z(x)&&(k[S]={ref:G,...x},!n))return k}}return C(!0),k};const lr={mode:ae.onSubmit,reValidateMode:ae.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)?J(r.defaultValues||r.values)||{}:{},a=r.shouldUnregister?{}:J(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},A,w=0;const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},E={...O};let p={...E};const b={array:ut(),state:ut()},B=r.criteriaMode===ae.all,S=s=>i=>{clearTimeout(w),w=setTimeout(s,i)},W=async s=>{if(!l.keepIsValid&&!r.disabled&&(E.isValid||p.isValid||s)){let i;r.resolver?(i=Z((await se()).errors),$()):i=await H(n,!0),i!==t.isValid&&b.state.next({isValid:i})}},$=(s,i)=>{!r.disabled&&(E.isValidating||E.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(u=>{u&&(i?P(t.validatingFields,u,i):q(t.validatingFields,u))}),b.state.next({validatingFields:t.validatingFields,isValidating:!Z(t.validatingFields)}))},V=(s,i=[],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,a)),b.state.next({name:s,isDirty:x(s,i),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else P(a,s,i)},G=(s,i)=>{P(t.errors,s,i),b.state.next({errors:t.errors})},C=s=>{t.errors=s,b.state.next({errors:t.errors,isValid:!1})},k=(s,i,u,m)=>{const y=h(n,s);if(y){const d=h(a,s,U(u)?h(o,s):u);U(d)||m&&m.defaultChecked||i?P(a,s,i?d:dt(y._f)):Y(s,d),l.mount&&!l.action&&W()}},ee=(s,i,u,m,y)=>{let d=!1,v=!1;const T={name:s};if(!r.disabled){if(!u||m){(E.isDirty||p.isDirty)&&(v=t.isDirty,t.isDirty=T.isDirty=x(),d=v!==T.isDirty);const D=ie(h(o,s),i);v=!!h(t.dirtyFields,s),D?q(t.dirtyFields,s):P(t.dirtyFields,s,!0),T.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),T.touchedFields=t.touchedFields,d=d||(E.touchedFields||p.touchedFields)&&D!==u)}d&&y&&b.state.next(T)}return d?T:{}},ce=(s,i,u,m)=>{const y=h(t.errors,s),d=(E.isValid||p.isValid)&&ue(i)&&t.isValid!==i;if(r.delayError&&u?(A=S(()=>G(s,u)),A(r.delayError)):(clearTimeout(w),A=null,u?P(t.errors,s,u):q(t.errors,s)),(u?!ie(y,u):y)||!Z(m)||d){const v={...m,...d&&ue(i)?{isValid:i}:{},errors:t.errors,name:s};t={...t,...v},b.state.next(v)}},se=async s=>($(s,!0),await r.resolver(a,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),N=async s=>{const{errors:i}=await se(s);if($(s),s)for(const u of s){const m=h(i,u);m?P(t.errors,u,m):q(t.errors,u)}else t.errors=i;return i},H=async(s,i,u={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...v}=y;if(d){const T=f.array.has(d.name),D=y._f&&rr(y._f);D&&E.validatingFields&&$([d.name],!0);const re=await gt(y,f.disabled,a,B,r.shouldUseNativeValidation&&!i,T);if(D&&E.validatingFields&&$([d.name]),re[d.name]&&(u.valid=!1,i))break;!i&&(h(re,d.name)?T?ur(t.errors,re,d.name):P(t.errors,d.name,re[d.name]):q(t.errors,d.name))}!Z(v)&&await H(v,i,u)}}return u.valid},fe=()=>{for(const s of f.unMount){const i=h(n,s);i&&(i._f.refs?i._f.refs.every(u=>!Be(u)):!Be(i._f.ref))&&oe(s)}f.unMount=new Set},x=(s,i)=>!r.disabled&&(s&&i&&P(a,s,i),!ie(c(),o)),R=(s,i,u)=>We(s,f,{...l.mount?a:U(i)?o:te(s)?{[s]:i}:i},u,i),M=s=>ze(h(l.mount?a:o,s,r.shouldUnregister?h(o,s,[]):[])),Y=(s,i,u={})=>{const m=h(n,s);let y=i;if(m){const d=m._f;d&&(!d.disabled&&P(a,s,pt(i,d)),y=je(d.ref)&&K(i)?"":i,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(T=>T===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:J(a)})))}(u.shouldDirty||u.shouldTouch)&&ee(s,y,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&me(s)},Q=(s,i,u)=>{for(const m in i){if(!i.hasOwnProperty(m))return;const y=i[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,i,u={})=>{const m=h(n,s),y=f.array.has(s),d=J(i);P(a,s,d),y?(b.array.next({name:s,values:J(a)}),(E.isDirty||E.dirtyFields||p.isDirty||p.dirtyFields)&&u.shouldDirty&&b.state.next({name:s,dirtyFields:Ve(o,a),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:J(a)})},de=async s=>{l.mount=!0;const i=s.target;let u=i.name,m=!0;const y=h(n,u),d=D=>{m=Number.isNaN(D)||ve(D)&&isNaN(D.getTime())||ie(D,h(a,u,D))},v=yt(r.mode),T=yt(r.reValidateMode);if(y){let D,re;const De=i.type?dt(y._f):Yt(s),he=s.type===ot.BLUR||s.type===ot.FOCUS_OUT,Mt=!sr(y._f)&&!r.resolver&&!h(t.errors,u)&&!y._f.deps||ir(he,h(t.touchedFields,u),t.isSubmitted,T,v),Ie=ht(u,f,he);P(a,u,De),he?(!i||!i.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),A&&A(0)):y._f.onChange&&y._f.onChange(s);const Ue=ee(u,De,he),It=!Z(Ue)||Ie;if(!he&&b.state.next({name:u,type:s.type,values:J(a)}),Mt)return(E.isValid||p.isValid)&&(r.mode==="onBlur"?he&&W():he||W()),It&&b.state.next({name:u,...Ie?{}:Ue});if(!he&&Ie&&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,a,B,r.shouldUseNativeValidation))[u],$([u]),d(De),m&&(D?re=!1:(E.isValid||p.isValid)&&(re=await H(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,i)=>{if(h(t.errors,i)&&s.focus)return s.focus(),1},me=async(s,i={})=>{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 H(v&&v._f?{[d]:v}:v)}))).every(Boolean),!(!m&&!t.isValid)&&W()):m=u=await H(n);return b.state.next({...!te(s)||(E.isValid||p.isValid)&&u!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:u}:{},errors:t.errors}),i.shouldFocus&&!m&&ke(n,ye,s?y:f.mount),m},c=(s,i)=>{let u={...l.mount?a:o};return i&&(u=Vt(i.dirtyFields?t.dirtyFields:t.touchedFields,u)),U(s)?u:te(s)?h(u,s):s.map(m=>h(u,m))},_=(s,i)=>({invalid:!!h((i||t).errors,s),isDirty:!!h((i||t).dirtyFields,s),error:h((i||t).errors,s),isValidating:!!h(t.validatingFields,s),isTouched:!!h((i||t).touchedFields,s)}),j=s=>{s&&Re(s).forEach(i=>q(t.errors,i)),b.state.next({errors:s?t.errors:{}})},L=(s,i,u)=>{const m=(h(n,s,{_f:{}})._f||{}).ref,y=h(t.errors,s)||{},{ref:d,message:v,type:T,...D}=y;P(t.errors,s,{...D,...i,ref:m}),b.state.next({name:s,errors:t.errors,isValid:!1}),u&&u.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,i)=>ne(s)?b.state.subscribe({next:u=>"values"in u&&s(R(void 0,i),u)}):R(s,i,!0),_e=s=>b.state.subscribe({next:i=>{ar(s.name,i.name,s.exact)&&nr(i,s.formState||E,Lt,s.reRenderRoot)&&s.callback({values:{...a},...t,...i,defaultValues:o})}}).unsubscribe,I=s=>(l.mount=!0,p={...p,...s.formState},_e({...s,formState:{...O,...s.formState}})),oe=(s,i={})=>{for(const u of s?Re(s):f.mount)f.mount.delete(u),f.array.delete(u),i.keepValue||(q(n,u),q(a,u)),!i.keepError&&q(t.errors,u),!i.keepDirty&&q(t.dirtyFields,u),!i.keepTouched&&q(t.touchedFields,u),!i.keepIsValidating&&q(t.validatingFields,u),!r.shouldUnregister&&!i.keepDefaultValue&&q(o,u);b.state.next({values:J(a)}),b.state.next({...t,...i.keepDirty?{isDirty:x()}:{}}),!i.keepIsValid&&W()},xe=({disabled:s,name:i})=>{(ue(s)&&l.mount||s||f.disabled.has(i))&&(s?f.disabled.add(i):f.disabled.delete(i))},Fe=(s,i={})=>{let u=h(n,s);const m=ue(i.disabled)||ue(r.disabled);return P(n,s,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:s}},name:s,mount:!0,...i}}),f.mount.add(s),u?xe({disabled:ue(i.disabled)?i.disabled:r.disabled,name:s}):k(s,!0,i.value),{...m?{disabled:i.disabled||r.disabled}:{},...r.progressive?{required:!!i.required,min:pe(i.min),max:pe(i.max),minLength:pe(i.minLength),maxLength:pe(i.maxLength),pattern:pe(i.pattern)}:{},name:s,onChange:de,onBlur:de,ref:y=>{if(y){Fe(s,i),u=h(n,s);const d=U(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,v=Zt(d),T=u._f.refs||[];if(v?T.find(D=>D===d):d===u._f.ref)return;P(n,s,{_f:{...u._f,...v?{refs:[...T.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||i.shouldUnregister)&&!(zt(f.array,s)&&l.action)&&f.unMount.add(s)}}},Me=()=>r.shouldFocusError&&ke(n,ye,f.mount),jt=s=>{ue(s)&&(b.state.next({disabled:s}),ke(n,(i,u)=>{const m=h(n,u);m&&(i.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,i)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=J(a);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:v}=await se();$(),t.errors=d,y=J(v)}else await H(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 i&&await i({...t.errors},u),Me(),setTimeout(Me);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,i={})=>{h(n,s)&&(U(i.defaultValue)?X(s,J(h(o,s))):(X(s,i.defaultValue),P(o,s,J(i.defaultValue))),i.keepTouched||q(t.touchedFields,s),i.keepDirty||(q(t.dirtyFields,s),t.isDirty=i.defaultValue?x(s,J(h(o,s))):x()),i.keepError||(q(t.errors,s),E.isValid&&W()),b.state.next({...t}))},Ke=(s,i={})=>{const u=s?J(s):o,m=J(u),y=Z(s),d=y?o:m;if(i.keepDefaultValues||(o=u),!i.keepValues){if(i.keepDirtyValues){const v=new Set([...f.mount,...Object.keys(Ve(o,a))]);for(const T of Array.from(v))h(t.dirtyFields,T)?P(d,T,h(a,T)):X(T,h(d,T))}else{if(qe&&U(s))for(const v of f.mount){const T=h(n,v);if(T&&T._f){const D=Array.isArray(T._f.refs)?T._f.refs[0]:T._f.ref;if(je(D)){const re=D.closest("form");if(re){re.reset();break}}}}if(i.keepFieldsRef)for(const v of f.mount)X(v,h(d,v));else n={}}a=r.shouldUnregister?i.keepDefaultValues?J(o):{}:J(d),b.array.next({values:{...d}}),b.state.next({values:{...d}})}f={mount:i.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!E.isValid||!!i.keepIsValid||!!i.keepDirtyValues||!r.shouldUnregister&&!Z(d),l.watch=!!r.shouldUnregister,l.keepIsValid=!!i.keepIsValid,l.action=!1,i.keepErrors||(t.errors={}),b.state.next({submitCount:i.keepSubmitCount?t.submitCount:0,isDirty:y?!1:i.keepDirty?t.isDirty:!!(i.keepDefaultValues&&!ie(s,o)),isSubmitted:i.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:i.keepDirtyValues?i.keepDefaultValues&&a?Ve(o,a):t.dirtyFields:i.keepDefaultValues&&s?Ve(o,s):i.keepDirty?t.dirtyFields:{},touchedFields:i.keepTouched?t.touchedFields:{},errors:i.keepErrors?t.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},et=(s,i)=>Ke(ne(s)?s(a):s,{...r.resetOptions,...i}),Nt=(s,i={})=>{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(),i.shouldSelect&&ne(y.select)&&y.select()})}},Lt=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:L,_subscribe:_e,_runSchema:se,_updateIsValidating:$,_focusError:Me,_getWatch:R,_getDirty:x,_setValid:W,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:M,_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 a},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:I,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError:L,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 a=r.current.control;return a._options=e,xt(()=>{const l=a._subscribe({formState:a._proxyFormState,callback:()=>o({...a._formState}),reRenderRoot:!0});return o(f=>({...f,isReady:!0})),a._formState.isReady=!0,l},[a]),g.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),g.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),g.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),g.useEffect(()=>{if(a._proxyFormState.isDirty){const l=a._getDirty();l!==n.isDirty&&a._subjects.state.next({isDirty:l})}},[a,n.isDirty]),g.useEffect(()=>{var l;e.values&&!ie(e.values,t.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((l=a._options.resetOptions)===null||l===void 0)&&l.keepIsValid||a._setValid(),t.current=e.values,o(f=>({...f}))):a._resetDefaultValues()},[a,e.values]),g.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),r.current.formState=Gt(n,a),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(a=>F.jsx("option",{value:a.value,children:a.label},a.value))})]})};function Tt(e,r){const t={};return e.forEach((n,o)=>{const a=n.split(".");let l=t;a.forEach((f,A)=>{const w=A===a.length-1,O=!isNaN(Number(f));w?l[f]=r[o]:(f in l||(l[f]=O?[]:{}),l=l[f])})}),t}function Ot(e){switch(e){case"array":return[];case"object":default:return null}}function Le(e){return e.replace(/\.\d+\./g,".")}function Dt(e,r){const t=e.split("."),n=[];return t.forEach((o,a)=>{isNaN(Number(o))||n.push({pos:a,value:o})}),r.map(o=>{const l=[...o.split(".")];return n.forEach(({pos:f,value:A})=>{f<=l.length&&l.splice(f,0,A)}),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(a=>({...a,name:`${r}.${t}.${a.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 w=n(r.name)||[];o(r.name,[...w,Se(r.fields)])},A=w=>{const E=(n(r.name)||[]).filter((p,b)=>b!==w);o(r.name,E)};return F.jsxs("div",{children:[l.map((w,O)=>F.jsxs("div",{children:[F.jsx(hr,{baseName:r.name,index:O,fields:r.fields}),!r.readonly&&F.jsx("button",{type:"button",onClick:()=>A(O),children:"Remove"})]},O)),!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})},Ct=({fieldSchema:e})=>{var w,O;const t=St().uiConfig,{register:n,control:o}=be(),a=Le(e.name),l=n(e.name),f=(w=t==null?void 0:t.renderersByName)==null?void 0:w[a];if(e.visible===!1)return null;if(f)return F.jsx(f,{fieldSchema:e,control:o,register:l});const A=(O=t==null?void 0:t.renderersByType)==null?void 0:O[e.type];if(A)return F.jsx(A,{fieldSchema:e,control:o,register:l});switch(e.type){case"select":return F.jsx(mr,{fieldSchema:e});case"array":return F.jsx(br,{fieldSchema:e});case"object":return F.jsx(gr,{fieldSchema:e});case"text":case"number":case"checkbox":case"date":case"datetime-local":case"time":return F.jsx(yr,{fieldSchema:e})}},_r=({fieldSchema:e})=>F.jsx(Ct,{fieldSchema:e}),xr=({fieldSchema:e})=>{const{control:r}=be(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),a=Et({control:r,name:o}),[l,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let A=!1;return(async()=>{var B;const O=Le(e.name),E=Tt(o,a??[]),p=(B=t==null?void 0:t.updateFieldSchema)==null?void 0:B[O];if(!p)return;const b=await p(e.name,e,E);!A&&b&&f({...e,...b})})(),()=>{A=!0}},[a]),F.jsx(Ct,{fieldSchema:l})},Er=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?F.jsx(xr,{fieldSchema:r}):F.jsx(_r,{fieldSchema:r})},Vr=e=>{const{fieldSchema:r}=e;return F.jsx(Er,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>F.jsx(Vr,{fieldSchema:t},t.name))});function Fr(e,r){const t=a=>/^\d+$/.test(a),n=e.split(".");let o=r;for(const a of n){if(o==null)return;const l=t(a)?Number(a):a;o=o[l]}return o}const Ar=e=>{const{onDirtyChange:r,onValuesChange:t,onFieldChange:n}=e,{formState:o,watch:a}=be(),l=g.useRef(!0);return g.useEffect(()=>{const f=a((A,{name:w=""})=>{var p;t(A);const O=Le(w),E=Fr(w,A);(p=n==null?void 0:n[O])==null||p.call(n,w,E,A)});return()=>f.unsubscribe()},[a,t]),g.useEffect(()=>{if(l.current){l.current=!1;return}r(o.isDirty)},[o.isDirty,r]),null},wr=({onValuesChange:e,onDirtyChange:r,onFieldChange:t})=>(Ar({onDirtyChange:r,onValuesChange:e,onFieldChange:t}),null),pr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:a={},layout:l="vertical",values:f=()=>({}),hideSubmit:A=!1,onDirtyChange:w=()=>{},onValuesChange:O=()=>{},resolver:E,readonly:p,onFieldChange:b={},loadingComponent:B}=e,S=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:E}),W=g.useRef(!1),[$,V]=g.useState(!1),G=S.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(W.current)return;V(!1);const fe=await f();N||(S.reset(Se(t,fe),{keepErrors:!0,keepDirty:!1,keepTouched:!1}),W.current=!0,V(!0))})(),()=>{N=!0}},[t,f]),g.useImperativeHandle(r,()=>({submit:async()=>{if(!await S.trigger())return{success:!1,errors:S.formState.errors};const H=S.getValues();return await n(H),{success:!0}},reset:N=>{S.reset(N?Se(t,N):void 0)},getValues:()=>S.getValues(),setValue:(N,H)=>{S.setValue(N,H)},getErrors:()=>S.formState.errors}));const k=A||p,ee=g.useMemo(()=>o,[o]),ce=g.useMemo(()=>a,[a]),se=g.useMemo(()=>({layout:l,uiConfig:o,updateFieldSchema:a}),[l,o,a]);return $?F.jsxs(Jt,{...S,children:[F.jsx(wr,{onDirtyChange:w,onValuesChange:O,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=pr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Ze;exports.normalizeFieldPath=Le;exports.resolveDependsOnNew=Dt;
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import R, { useMemo as ve, createContext as Wt, useContext as $t, useState as xt, useEffect as Ce, useRef as Et, useImperativeHandle as Yt } from "react";
2
- var De = { exports: {} }, pe = {};
2
+ var De = { exports: {} }, we = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.js
@@ -11,7 +11,7 @@ var De = { exports: {} }, pe = {};
11
11
  */
12
12
  var it;
13
13
  function qt() {
14
- if (it) return pe;
14
+ if (it) return we;
15
15
  it = 1;
16
16
  var e = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
17
17
  function t(n, o, i) {
@@ -29,9 +29,9 @@ function qt() {
29
29
  props: i
30
30
  };
31
31
  }
32
- return pe.Fragment = r, pe.jsx = t, pe.jsxs = t, pe;
32
+ return we.Fragment = r, we.jsx = t, we.jsxs = t, we;
33
33
  }
34
- var we = {};
34
+ var pe = {};
35
35
  /**
36
36
  * @license React
37
37
  * react-jsx-runtime.development.js
@@ -60,14 +60,14 @@ function zt() {
60
60
  return "Suspense";
61
61
  case ce:
62
62
  return "SuspenseList";
63
- case J:
63
+ case H:
64
64
  return "Activity";
65
65
  }
66
66
  if (typeof c == "object")
67
67
  switch (typeof c.tag == "number" && console.error(
68
68
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
69
69
  ), c.$$typeof) {
70
- case O:
70
+ case S:
71
71
  return "Portal";
72
72
  case C:
73
73
  return c.displayName || "Context";
@@ -126,7 +126,7 @@ function zt() {
126
126
  return Error("react-stack-top-frame");
127
127
  }
128
128
  function u(c) {
129
- if (w.call(c, "key")) {
129
+ if (p.call(c, "key")) {
130
130
  var g = Object.getOwnPropertyDescriptor(c, "key").get;
131
131
  if (g && g.isReactWarning) return !1;
132
132
  }
@@ -183,7 +183,7 @@ function zt() {
183
183
  value: xe
184
184
  }), Object.freeze && (Object.freeze(c.props), Object.freeze(c)), c;
185
185
  }
186
- function T(c, g, j, L, _e, xe) {
186
+ function O(c, g, j, L, _e, xe) {
187
187
  var U = g.children;
188
188
  if (U !== void 0)
189
189
  if (L)
@@ -196,7 +196,7 @@ function zt() {
196
196
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
197
197
  );
198
198
  else x(U);
199
- if (w.call(g, "key")) {
199
+ if (p.call(g, "key")) {
200
200
  U = e(c);
201
201
  var oe = Object.keys(g).filter(function(Ae) {
202
202
  return Ae !== "key";
@@ -232,12 +232,12 @@ React keys must be passed directly to JSX without using spread:
232
232
  );
233
233
  }
234
234
  function x(c) {
235
- 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));
235
+ w(c) ? c._store && (c._store.validated = 1) : typeof c == "object" && c !== null && c.$$typeof === N && (c._payload.status === "fulfilled" ? w(c._payload.value) && c._payload.value._store && (c._payload.value._store.validated = 1) : c._store && (c._store.validated = 1));
236
236
  }
237
- function p(c) {
237
+ function w(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"), W = 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, w = Object.prototype.hasOwnProperty, I = Array.isArray, Y = console.createTask ? console.createTask : function() {
240
+ var b = R, B = Symbol.for("react.transitional.element"), S = Symbol.for("react.portal"), W = 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"), H = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), _ = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, p = Object.prototype.hasOwnProperty, I = Array.isArray, Y = console.createTask ? console.createTask : function() {
241
241
  return null;
242
242
  };
243
243
  b = {
@@ -249,9 +249,9 @@ React keys must be passed directly to JSX without using spread:
249
249
  b,
250
250
  i
251
251
  )(), ye = Y(n(i)), me = {};
252
- we.Fragment = W, we.jsx = function(c, g, j) {
252
+ pe.Fragment = W, pe.jsx = function(c, g, j) {
253
253
  var L = 1e4 > _.recentlyCreatedOwnerStacks++;
254
- return T(
254
+ return O(
255
255
  c,
256
256
  g,
257
257
  j,
@@ -259,9 +259,9 @@ React keys must be passed directly to JSX without using spread:
259
259
  L ? Error("react-stack-top-frame") : de,
260
260
  L ? Y(n(c)) : ye
261
261
  );
262
- }, we.jsxs = function(c, g, j) {
262
+ }, pe.jsxs = function(c, g, j) {
263
263
  var L = 1e4 > _.recentlyCreatedOwnerStacks++;
264
- return T(
264
+ return O(
265
265
  c,
266
266
  g,
267
267
  j,
@@ -270,7 +270,7 @@ React keys must be passed directly to JSX without using spread:
270
270
  L ? Y(n(c)) : ye
271
271
  );
272
272
  };
273
- })()), we;
273
+ })()), pe;
274
274
  }
275
275
  var ot;
276
276
  function Ht() {
@@ -282,7 +282,7 @@ var z = (e) => !K(e) && !Array.isArray(e) && Vt(e) && !be(e), Jt = (e) => z(e) &
282
282
  const r = e.constructor && e.constructor.prototype;
283
283
  return z(r) && r.hasOwnProperty("isPrototypeOf");
284
284
  }, ze = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
285
- function H(e) {
285
+ function J(e) {
286
286
  if (e instanceof Date)
287
287
  return new Date(e);
288
288
  const r = typeof FileList < "u" && e instanceof FileList;
@@ -293,7 +293,7 @@ function H(e) {
293
293
  return e;
294
294
  const n = t ? [] : Object.create(Object.getPrototypeOf(e));
295
295
  for (const o in e)
296
- Object.prototype.hasOwnProperty.call(e, o) && (n[o] = H(e[o]));
296
+ Object.prototype.hasOwnProperty.call(e, o) && (n[o] = J(e[o]));
297
297
  return n;
298
298
  }
299
299
  var Ie = (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) => {
@@ -378,12 +378,12 @@ function ae(e, r, t = /* @__PURE__ */ new WeakSet()) {
378
378
  return !0;
379
379
  }
380
380
  function At(e) {
381
- const r = ge(), { control: t = r.control, name: n, defaultValue: o, disabled: i, exact: u, compute: f } = e || {}, F = R.useRef(o), A = R.useRef(f), T = R.useRef(void 0), x = R.useRef(t), p = R.useRef(n);
381
+ const r = ge(), { control: t = r.control, name: n, defaultValue: o, disabled: i, exact: u, compute: f } = e || {}, F = R.useRef(o), A = R.useRef(f), O = R.useRef(void 0), x = R.useRef(t), w = R.useRef(n);
382
382
  A.current = f;
383
383
  const [b, B] = R.useState(() => {
384
384
  const C = t._getWatch(n, F.current);
385
385
  return A.current ? A.current(C) : C;
386
- }), O = R.useCallback((C) => {
386
+ }), S = R.useCallback((C) => {
387
387
  const k = $e(n, t._names, C || t._formValues, !1, F.current);
388
388
  return A.current ? A.current(k) : k;
389
389
  }, [t._formValues, t._names, n]), W = R.useCallback((C) => {
@@ -391,12 +391,12 @@ function At(e) {
391
391
  const k = $e(n, t._names, C || t._formValues, !1, F.current);
392
392
  if (A.current) {
393
393
  const ee = A.current(k);
394
- ae(ee, T.current) || (B(ee), T.current = ee);
394
+ ae(ee, O.current) || (B(ee), O.current = ee);
395
395
  } else
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, W()), t._subscribe({
399
+ Ft(() => ((x.current !== t || !ae(w.current, n)) && (x.current = t, w.current = n, W()), t._subscribe({
400
400
  name: n,
401
401
  formState: {
402
402
  values: !0
@@ -406,12 +406,12 @@ function At(e) {
406
406
  W(C.values);
407
407
  }
408
408
  })), [t, u, n, W]), R.useEffect(() => t._removeUnmounted());
409
- const $ = x.current !== t, E = p.current, G = R.useMemo(() => {
409
+ const $ = x.current !== t, E = w.current, G = R.useMemo(() => {
410
410
  if (i)
411
411
  return null;
412
412
  const C = !$ && !ae(E, n);
413
- return $ || C ? O() : null;
414
- }, [i, $, n, E, O]);
413
+ return $ || C ? S() : null;
414
+ }, [i, $, n, E, S]);
415
415
  return G !== null ? G : b;
416
416
  }
417
417
  var er = (e, r, t, n, o) => r ? {
@@ -440,13 +440,13 @@ var er = (e, r, t, n, o) => r ? {
440
440
  }
441
441
  };
442
442
  };
443
- function pt(e, r) {
443
+ function wt(e, r) {
444
444
  const t = {};
445
445
  for (const n in e)
446
446
  if (e.hasOwnProperty(n)) {
447
447
  const o = e[n], i = r[n];
448
448
  if (o && z(o) && i) {
449
- const u = pt(o, i);
449
+ const u = wt(o, i);
450
450
  z(u) && (t[n] = u);
451
451
  } else e[n] && (t[n] = i);
452
452
  }
@@ -457,7 +457,7 @@ var Z = (e) => z(e) && !Object.keys(e).length, Xe = (e) => e.type === "file", je
457
457
  return !1;
458
458
  const r = e ? e.ownerDocument : 0;
459
459
  return e instanceof (r && r.defaultView ? r.defaultView.HTMLElement : HTMLElement);
460
- }, wt = (e) => e.type === "select-multiple", Ze = (e) => e.type === "radio", tr = (e) => Ze(e) || Te(e), We = (e) => je(e) && e.isConnected;
460
+ }, pt = (e) => e.type === "select-multiple", Ze = (e) => e.type === "radio", tr = (e) => Ze(e) || Te(e), We = (e) => je(e) && e.isConnected;
461
461
  function rr(e, r) {
462
462
  const t = r.slice(0, -1).length;
463
463
  let n = 0;
@@ -531,7 +531,7 @@ var Tt = (e) => Array.isArray(e) ? e.reduce((r, t) => t && t.checked && !t.disab
531
531
  } : r, dt) : dt;
532
532
  function yt(e) {
533
533
  const r = e.ref;
534
- return Xe(r) ? r.files : Ze(r) ? Tt(e.refs).value : wt(r) ? [...r.selectedOptions].map(({ value: t }) => t) : Te(r) ? kt(e.refs).value : St(M(r.value) ? e.ref.value : r.value, e);
534
+ return Xe(r) ? r.files : Ze(r) ? Tt(e.refs).value : pt(r) ? [...r.selectedOptions].map(({ value: t }) => t) : Te(r) ? kt(e.refs).value : St(M(r.value) ? e.ref.value : r.value, e);
535
535
  }
536
536
  var ir = (e, r, t, n) => {
537
537
  const o = {};
@@ -619,78 +619,78 @@ 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: A, minLength: T, min: x, max: p, pattern: b, validate: B, name: O, valueAsNumber: W, mount: $ } = e._f, E = h(t, O);
623
- if (!$ || r.has(O))
622
+ const { ref: u, refs: f, required: F, maxLength: A, minLength: O, min: x, max: w, pattern: b, validate: B, name: S, valueAsNumber: W, mount: $ } = e._f, E = h(t, S);
623
+ if (!$ || r.has(S))
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 = (W || 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 = (_, w, I, Y = ue.maxLength, Q = ue.minLength) => {
628
- const X = _ ? w : I;
629
- k[O] = {
627
+ }, k = {}, ee = Ze(u), ce = Te(u), se = ee || ce, N = (W || Xe(u)) && M(u.value) && M(E) || je(u) && u.value === "" || E === "" || Array.isArray(E) && !E.length, H = er.bind(null, S, n, k), fe = (_, p, I, Y = ue.maxLength, Q = ue.minLength) => {
628
+ const X = _ ? p : I;
629
+ k[S] = {
630
630
  type: _ ? Y : Q,
631
631
  message: X,
632
632
  ref: u,
633
- ...J(_ ? Y : Q, X)
633
+ ...H(_ ? 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)) {
637
- const { value: _, message: w } = te(F) ? { value: !!F, message: F } : Ve(F);
638
- if (_ && (k[O] = {
637
+ const { value: _, message: p } = te(F) ? { value: !!F, message: F } : Ve(F);
638
+ if (_ && (k[S] = {
639
639
  type: ue.required,
640
- message: w,
640
+ message: p,
641
641
  ref: G,
642
- ...J(ue.required, w)
642
+ ...H(ue.required, p)
643
643
  }, !n))
644
- return C(w), k;
644
+ return C(p), k;
645
645
  }
646
- if (!N && (!K(x) || !K(p))) {
647
- let _, w;
648
- const I = Ve(p), Y = Ve(x);
646
+ if (!N && (!K(x) || !K(w))) {
647
+ let _, p;
648
+ const I = Ve(w), Y = Ve(x);
649
649
  if (!K(E) && !isNaN(E)) {
650
650
  const Q = u.valueAsNumber || E && +E;
651
- K(I.value) || (_ = Q > I.value), K(Y.value) || (w = Q < Y.value);
651
+ K(I.value) || (_ = Q > I.value), K(Y.value) || (p = 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(I.value) && E && (_ = de ? X(E) > X(I.value) : ye ? E > I.value : Q > new Date(I.value)), te(Y.value) && E && (w = de ? X(E) < X(Y.value) : ye ? E < Y.value : Q < new Date(Y.value));
654
+ te(I.value) && E && (_ = de ? X(E) > X(I.value) : ye ? E > I.value : Q > new Date(I.value)), te(Y.value) && E && (p = de ? X(E) < X(Y.value) : ye ? E < Y.value : Q < new Date(Y.value));
655
655
  }
656
- if ((_ || w) && (fe(!!_, I.message, Y.message, ue.max, ue.min), !n))
657
- return C(k[O].message), k;
656
+ if ((_ || p) && (fe(!!_, I.message, Y.message, ue.max, ue.min), !n))
657
+ return C(k[S].message), k;
658
658
  }
659
- if ((A || T) && !N && (te(E) || i && Array.isArray(E))) {
660
- const _ = Ve(A), w = Ve(T), I = !K(_.value) && E.length > +_.value, Y = !K(w.value) && E.length < +w.value;
661
- if ((I || Y) && (fe(I, _.message, w.message), !n))
662
- return C(k[O].message), k;
659
+ if ((A || O) && !N && (te(E) || i && Array.isArray(E))) {
660
+ const _ = Ve(A), p = Ve(O), I = !K(_.value) && E.length > +_.value, Y = !K(p.value) && E.length < +p.value;
661
+ if ((I || Y) && (fe(I, _.message, p.message), !n))
662
+ return C(k[S].message), k;
663
663
  }
664
664
  if (b && !N && te(E)) {
665
- const { value: _, message: w } = Ve(b);
666
- if (Pe(_) && !E.match(_) && (k[O] = {
665
+ const { value: _, message: p } = Ve(b);
666
+ if (Pe(_) && !E.match(_) && (k[S] = {
667
667
  type: ue.pattern,
668
- message: w,
668
+ message: p,
669
669
  ref: u,
670
- ...J(ue.pattern, w)
670
+ ...H(ue.pattern, p)
671
671
  }, !n))
672
- return C(w), k;
672
+ return C(p), k;
673
673
  }
674
674
  if (B) {
675
675
  if (ne(B)) {
676
- const _ = await B(E, t), w = gt(_, G);
677
- if (w && (k[O] = {
678
- ...w,
679
- ...J(ue.validate, w.message)
676
+ const _ = await B(E, t), p = gt(_, G);
677
+ if (p && (k[S] = {
678
+ ...p,
679
+ ...H(ue.validate, p.message)
680
680
  }, !n))
681
- return C(w.message), k;
681
+ return C(p.message), k;
682
682
  } else if (z(B)) {
683
683
  let _ = {};
684
- for (const w in B) {
684
+ for (const p in B) {
685
685
  if (!Z(_) && !n)
686
686
  break;
687
- const I = gt(await B[w](E, t), G, w);
687
+ const I = gt(await B[p](E, t), G, p);
688
688
  I && (_ = {
689
689
  ...I,
690
- ...J(w, I.message)
691
- }, C(I.message), n && (k[O] = _));
690
+ ...H(p, I.message)
691
+ }, C(I.message), n && (k[S] = _));
692
692
  }
693
- if (!Z(_) && (k[O] = {
693
+ if (!Z(_) && (k[S] = {
694
694
  ref: G,
695
695
  ..._
696
696
  }, !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 = z(r.defaultValues) || z(r.values) ? H(r.defaultValues || r.values) || {} : {}, i = r.shouldUnregister ? {} : H(o), u = {
726
+ }, n = {}, o = z(r.defaultValues) || z(r.values) ? J(r.defaultValues || r.values) || {} : {}, i = r.shouldUnregister ? {} : J(o), u = {
727
727
  action: !1,
728
728
  mount: !1,
729
729
  watch: !1,
@@ -735,7 +735,7 @@ function mr(e = {}) {
735
735
  array: /* @__PURE__ */ new Set(),
736
736
  watch: /* @__PURE__ */ new Set()
737
737
  }, F, A = 0;
738
- const T = {
738
+ const O = {
739
739
  isDirty: !1,
740
740
  dirtyFields: !1,
741
741
  validatingFields: !1,
@@ -744,25 +744,25 @@ function mr(e = {}) {
744
744
  isValid: !1,
745
745
  errors: !1
746
746
  }, x = {
747
- ...T
747
+ ...O
748
748
  };
749
- let p = {
749
+ let w = {
750
750
  ...x
751
751
  };
752
752
  const b = {
753
753
  array: ut(),
754
754
  state: ut()
755
- }, B = r.criteriaMode === ie.all, O = (s) => (a) => {
755
+ }, B = r.criteriaMode === ie.all, S = (s) => (a) => {
756
756
  clearTimeout(A), A = setTimeout(s, a);
757
757
  }, W = async (s) => {
758
- if (!u.keepIsValid && !r.disabled && (x.isValid || p.isValid || s)) {
758
+ if (!u.keepIsValid && !r.disabled && (x.isValid || w.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), $()) : a = await H(n, !0), a !== t.isValid && b.state.next({
761
761
  isValid: a
762
762
  });
763
763
  }
764
764
  }, $ = (s, a) => {
765
- !r.disabled && (x.isValidating || x.validatingFields || p.isValidating || p.validatingFields) && ((s || Array.from(f.mount)).forEach((l) => {
765
+ !r.disabled && (x.isValidating || x.validatingFields || w.isValidating || w.validatingFields) && ((s || Array.from(f.mount)).forEach((l) => {
766
766
  l && (a ? P(t.validatingFields, l, a) : q(t.validatingFields, l));
767
767
  }), b.state.next({
768
768
  validatingFields: t.validatingFields,
@@ -778,11 +778,11 @@ function mr(e = {}) {
778
778
  const v = l(h(t.errors, s), m.argA, m.argB);
779
779
  y && P(t.errors, s, v), fr(t.errors, s);
780
780
  }
781
- if ((x.touchedFields || p.touchedFields) && d && Array.isArray(h(t.touchedFields, s))) {
781
+ if ((x.touchedFields || w.touchedFields) && d && Array.isArray(h(t.touchedFields, s))) {
782
782
  const v = l(h(t.touchedFields, s), m.argA, m.argB);
783
783
  y && P(t.touchedFields, s, v);
784
784
  }
785
- (x.dirtyFields || p.dirtyFields) && (t.dirtyFields = Fe(o, i)), b.state.next({
785
+ (x.dirtyFields || w.dirtyFields) && (t.dirtyFields = Fe(o, i)), b.state.next({
786
786
  name: s,
787
787
  isDirty: _(s, a),
788
788
  dirtyFields: t.dirtyFields,
@@ -808,25 +808,25 @@ function mr(e = {}) {
808
808
  }
809
809
  }, ee = (s, a, l, m, y) => {
810
810
  let d = !1, v = !1;
811
- const S = {
811
+ const T = {
812
812
  name: s
813
813
  };
814
814
  if (!r.disabled) {
815
815
  if (!l || m) {
816
- (x.isDirty || p.isDirty) && (v = t.isDirty, t.isDirty = S.isDirty = _(), d = v !== S.isDirty);
816
+ (x.isDirty || w.isDirty) && (v = t.isDirty, t.isDirty = T.isDirty = _(), d = v !== T.isDirty);
817
817
  const D = ae(h(o, s), a);
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;
818
+ v = !!h(t.dirtyFields, s), D ? q(t.dirtyFields, s) : P(t.dirtyFields, s, !0), T.dirtyFields = t.dirtyFields, d = d || (x.dirtyFields || w.dirtyFields) && v !== !D;
819
819
  }
820
820
  if (l) {
821
821
  const D = h(t.touchedFields, s);
822
- D || (P(t.touchedFields, s, l), S.touchedFields = t.touchedFields, d = d || (x.touchedFields || p.touchedFields) && D !== l);
822
+ D || (P(t.touchedFields, s, l), T.touchedFields = t.touchedFields, d = d || (x.touchedFields || w.touchedFields) && D !== l);
823
823
  }
824
- d && y && b.state.next(S);
824
+ d && y && b.state.next(T);
825
825
  }
826
- return d ? S : {};
826
+ return d ? T : {};
827
827
  }, ce = (s, a, l, m) => {
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(A), F = null, l ? P(t.errors, s, l) : q(t.errors, s)), (l ? !ae(y, l) : y) || !Z(m) || d) {
828
+ const y = h(t.errors, s), d = (x.isValid || w.isValid) && le(a) && t.isValid !== a;
829
+ if (r.delayError && l ? (F = S(() => G(s, l)), F(r.delayError)) : (clearTimeout(A), 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 } : {},
@@ -848,7 +848,7 @@ function mr(e = {}) {
848
848
  else
849
849
  t.errors = a;
850
850
  return a;
851
- }, J = async (s, a, l = {
851
+ }, H = async (s, a, l = {
852
852
  valid: !0
853
853
  }) => {
854
854
  for (const m in s) {
@@ -856,14 +856,14 @@ function mr(e = {}) {
856
856
  if (y) {
857
857
  const { _f: d, ...v } = y;
858
858
  if (d) {
859
- const S = f.array.has(d.name), D = y._f && ar(y._f);
859
+ const T = f.array.has(d.name), D = y._f && ar(y._f);
860
860
  D && x.validatingFields && $([d.name], !0);
861
- const re = await _t(y, f.disabled, i, B, r.shouldUseNativeValidation && !a, S);
861
+ const re = await _t(y, f.disabled, i, B, r.shouldUseNativeValidation && !a, T);
862
862
  if (D && x.validatingFields && $([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]) : q(t.errors, d.name));
864
+ !a && (h(re, d.name) ? T ? dr(t.errors, re, d.name) : P(t.errors, d.name, re[d.name]) : q(t.errors, d.name));
865
865
  }
866
- !Z(v) && await J(v, a, l);
866
+ !Z(v) && await H(v, a, l);
867
867
  }
868
868
  }
869
869
  return l.valid;
@@ -873,18 +873,18 @@ function mr(e = {}) {
873
873
  a && (a._f.refs ? a._f.refs.every((l) => !We(l)) : !We(a._f.ref)) && oe(s);
874
874
  }
875
875
  f.unMount = /* @__PURE__ */ new Set();
876
- }, _ = (s, a) => !r.disabled && (s && a && P(i, s, a), !ae(c(), o)), w = (s, a, l) => $e(s, f, {
876
+ }, _ = (s, a) => !r.disabled && (s && a && P(i, s, a), !ae(c(), o)), p = (s, a, l) => $e(s, f, {
877
877
  ...u.mount ? i : M(a) ? o : te(s) ? { [s]: a } : a
878
878
  }, l, a), I = (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) {
882
882
  const d = m._f;
883
- d && (!d.disabled && P(i, s, St(a, d)), y = je(d.ref) && K(a) ? "" : a, wt(d.ref) ? [...d.ref.options].forEach((v) => v.selected = y.includes(v.value)) : d.refs ? Te(d.ref) ? d.refs.forEach((v) => {
884
- (!v.defaultChecked || !v.disabled) && (Array.isArray(y) ? v.checked = !!y.find((S) => S === v.value) : v.checked = y === v.value || !!y);
883
+ d && (!d.disabled && P(i, s, St(a, d)), y = je(d.ref) && K(a) ? "" : a, pt(d.ref) ? [...d.ref.options].forEach((v) => v.selected = y.includes(v.value)) : d.refs ? Te(d.ref) ? d.refs.forEach((v) => {
884
+ (!v.defaultChecked || !v.disabled) && (Array.isArray(y) ? v.checked = !!y.find((T) => T === v.value) : v.checked = y === v.value || !!y);
885
885
  }) : d.refs.forEach((v) => v.checked = v.value === y) : Xe(d.ref) ? d.ref.value = "" : (d.ref.value = y, d.ref.type || b.state.next({
886
886
  name: s,
887
- values: H(i)
887
+ values: J(i)
888
888
  })));
889
889
  }
890
890
  (l.shouldDirty || l.shouldTouch) && ee(s, y, l.shouldTouch, l.shouldDirty, !0), l.shouldValidate && me(s);
@@ -896,17 +896,17 @@ function mr(e = {}) {
896
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
- const m = h(n, s), y = f.array.has(s), d = H(a);
899
+ const m = h(n, s), y = f.array.has(s), d = J(a);
900
900
  P(i, s, d), y ? (b.array.next({
901
901
  name: s,
902
- values: H(i)
903
- }), (x.isDirty || x.dirtyFields || p.isDirty || p.dirtyFields) && l.shouldDirty && b.state.next({
902
+ values: J(i)
903
+ }), (x.isDirty || x.dirtyFields || w.isDirty || w.dirtyFields) && l.shouldDirty && b.state.next({
904
904
  name: s,
905
905
  dirtyFields: Fe(o, i),
906
906
  isDirty: _(s, d)
907
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
- values: H(i)
909
+ values: J(i)
910
910
  });
911
911
  }, de = async (s) => {
912
912
  u.mount = !0;
@@ -914,18 +914,18 @@ function mr(e = {}) {
914
914
  let l = a.name, m = !0;
915
915
  const y = h(n, l), d = (D) => {
916
916
  m = Number.isNaN(D) || be(D) && isNaN(D.getTime()) || ae(D, h(i, l, D));
917
- }, v = mt(r.mode), S = mt(r.reValidateMode);
917
+ }, v = mt(r.mode), T = mt(r.reValidateMode);
918
918
  if (y) {
919
919
  let D, re;
920
- const Oe = a.type ? yt(y._f) : Jt(s), he = s.type === lt.BLUR || s.type === lt.FOCUS_OUT, Ut = !or(y._f) && !r.resolver && !h(t.errors, l) && !y._f.deps || cr(he, h(t.touchedFields, l), t.isSubmitted, S, v), Me = vt(l, f, he);
920
+ const Oe = a.type ? yt(y._f) : Jt(s), he = s.type === lt.BLUR || s.type === lt.FOCUS_OUT, Ut = !or(y._f) && !r.resolver && !h(t.errors, l) && !y._f.deps || cr(he, h(t.touchedFields, l), t.isSubmitted, T, v), Me = vt(l, f, he);
921
921
  P(i, l, Oe), he ? (!a || !a.readOnly) && (y._f.onBlur && y._f.onBlur(s), F && F(0)) : y._f.onChange && y._f.onChange(s);
922
922
  const Be = ee(l, Oe, he), Mt = !Z(Be) || Me;
923
923
  if (!he && b.state.next({
924
924
  name: l,
925
925
  type: s.type,
926
- values: H(i)
926
+ values: J(i)
927
927
  }), Ut)
928
- return (x.isValid || p.isValid) && (r.mode === "onBlur" ? he && W() : he || W()), Mt && b.state.next({ name: l, ...Me ? {} : Be });
928
+ return (x.isValid || w.isValid) && (r.mode === "onBlur" ? he && W() : he || W()), 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
931
  if ($([l]), d(Oe), m) {
@@ -933,7 +933,7 @@ function mr(e = {}) {
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
+ $([l], !0), D = (await _t(y, f.disabled, i, B, r.shouldUseNativeValidation))[l], $([l]), d(Oe), m && (D ? re = !1 : (x.isValid || w.isValid) && (re = await H(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) => {
@@ -947,10 +947,10 @@ function mr(e = {}) {
947
947
  l = Z(d), m = s ? !y.some((v) => h(d, v)) : l;
948
948
  } else s ? (m = (await Promise.all(y.map(async (d) => {
949
949
  const v = h(n, d);
950
- return await J(v && v._f ? { [d]: v } : v);
951
- }))).every(Boolean), !(!m && !t.isValid) && W()) : m = l = await J(n);
950
+ return await H(v && v._f ? { [d]: v } : v);
951
+ }))).every(Boolean), !(!m && !t.isValid) && W()) : m = l = await H(n);
952
952
  return b.state.next({
953
- ...!te(s) || (x.isValid || p.isValid) && l !== t.isValid ? {} : { name: s },
953
+ ...!te(s) || (x.isValid || w.isValid) && l !== t.isValid ? {} : { name: s },
954
954
  ...r.resolver || !s ? { isValid: l } : {},
955
955
  errors: t.errors
956
956
  }), a.shouldFocus && !m && Se(n, ye, s ? y : f.mount), m;
@@ -958,7 +958,7 @@ function mr(e = {}) {
958
958
  let l = {
959
959
  ...u.mount ? i : o
960
960
  };
961
- return a && (l = pt(a.dirtyFields ? t.dirtyFields : t.touchedFields, l)), M(s) ? l : te(s) ? h(l, s) : s.map((m) => h(l, m));
961
+ return a && (l = wt(a.dirtyFields ? t.dirtyFields : t.touchedFields, l)), M(s) ? l : te(s) ? h(l, s) : s.map((m) => h(l, m));
962
962
  }, g = (s, a) => ({
963
963
  invalid: !!h((a || t).errors, s),
964
964
  isDirty: !!h((a || t).dirtyFields, s),
@@ -970,7 +970,7 @@ function mr(e = {}) {
970
970
  errors: s ? t.errors : {}
971
971
  });
972
972
  }, L = (s, a, l) => {
973
- const m = (h(n, s, { _f: {} })._f || {}).ref, y = h(t.errors, s) || {}, { ref: d, message: v, type: S, ...D } = y;
973
+ const m = (h(n, s, { _f: {} })._f || {}).ref, y = h(t.errors, s) || {}, { ref: d, message: v, type: T, ...D } = y;
974
974
  P(t.errors, s, {
975
975
  ...D,
976
976
  ...a,
@@ -981,8 +981,8 @@ function mr(e = {}) {
981
981
  isValid: !1
982
982
  }), l && l.shouldFocus && m && m.focus && m.focus();
983
983
  }, _e = (s, a) => ne(s) ? b.state.subscribe({
984
- next: (l) => "values" in l && s(w(void 0, a), l)
985
- }) : w(s, a, !0), xe = (s) => b.state.subscribe({
984
+ next: (l) => "values" in l && s(p(void 0, a), l)
985
+ }) : p(s, a, !0), xe = (s) => b.state.subscribe({
986
986
  next: (a) => {
987
987
  ur(s.name, a.name, s.exact) && lr(a, s.formState || x, It, s.reRenderRoot) && s.callback({
988
988
  values: { ...i },
@@ -991,20 +991,20 @@ function mr(e = {}) {
991
991
  defaultValues: o
992
992
  });
993
993
  }
994
- }).unsubscribe, U = (s) => (u.mount = !0, p = {
995
- ...p,
994
+ }).unsubscribe, U = (s) => (u.mount = !0, w = {
995
+ ...w,
996
996
  ...s.formState
997
997
  }, xe({
998
998
  ...s,
999
999
  formState: {
1000
- ...T,
1000
+ ...O,
1001
1001
  ...s.formState
1002
1002
  }
1003
1003
  })), oe = (s, a = {}) => {
1004
1004
  for (const l of s ? ke(s) : f.mount)
1005
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
- values: H(i)
1007
+ values: J(i)
1008
1008
  }), b.state.next({
1009
1009
  ...t,
1010
1010
  ...a.keepDirty ? { isDirty: _() } : {}
@@ -1041,15 +1041,15 @@ function mr(e = {}) {
1041
1041
  ref: (y) => {
1042
1042
  if (y) {
1043
1043
  Ae(s, a), l = h(n, s);
1044
- const d = M(y.value) && y.querySelectorAll && y.querySelectorAll("input,select,textarea")[0] || y, v = tr(d), S = l._f.refs || [];
1045
- if (v ? S.find((D) => D === d) : d === l._f.ref)
1044
+ const d = M(y.value) && y.querySelectorAll && y.querySelectorAll("input,select,textarea")[0] || y, v = tr(d), T = l._f.refs || [];
1045
+ if (v ? T.find((D) => D === d) : d === l._f.ref)
1046
1046
  return;
1047
1047
  P(n, s, {
1048
1048
  _f: {
1049
1049
  ...l._f,
1050
1050
  ...v ? {
1051
1051
  refs: [
1052
- ...S.filter(We),
1052
+ ...T.filter(We),
1053
1053
  d,
1054
1054
  ...Array.isArray(h(o, s)) ? [{}] : []
1055
1055
  ],
@@ -1071,14 +1071,14 @@ function mr(e = {}) {
1071
1071
  }, Ke = (s, a) => async (l) => {
1072
1072
  let m;
1073
1073
  l && (l.preventDefault && l.preventDefault(), l.persist && l.persist());
1074
- let y = H(i);
1074
+ let y = J(i);
1075
1075
  if (b.state.next({
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
+ $(), t.errors = d, y = J(v);
1080
1080
  } else
1081
- await J(n);
1081
+ await H(n);
1082
1082
  if (f.disabled.size)
1083
1083
  for (const d of f.disabled)
1084
1084
  q(y, d);
@@ -1102,23 +1102,23 @@ 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 || 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 && W()), b.state.next({ ...t }));
1105
+ h(n, s) && (M(a.defaultValue) ? X(s, J(h(o, s))) : (X(s, a.defaultValue), P(o, s, J(a.defaultValue))), a.keepTouched || q(t.touchedFields, s), a.keepDirty || (q(t.dirtyFields, s), t.isDirty = a.defaultValue ? _(s, J(h(o, s))) : _()), a.keepError || (q(t.errors, s), x.isValid && W()), b.state.next({ ...t }));
1106
1106
  }, et = (s, a = {}) => {
1107
- const l = s ? H(s) : o, m = H(l), y = Z(s), d = y ? o : m;
1107
+ const l = s ? J(s) : o, m = J(l), y = Z(s), d = y ? o : m;
1108
1108
  if (a.keepDefaultValues || (o = l), !a.keepValues) {
1109
1109
  if (a.keepDirtyValues) {
1110
1110
  const v = /* @__PURE__ */ new Set([
1111
1111
  ...f.mount,
1112
1112
  ...Object.keys(Fe(o, i))
1113
1113
  ]);
1114
- for (const S of Array.from(v))
1115
- h(t.dirtyFields, S) ? P(d, S, h(i, S)) : X(S, h(d, S));
1114
+ for (const T of Array.from(v))
1115
+ h(t.dirtyFields, T) ? P(d, T, h(i, T)) : X(T, h(d, T));
1116
1116
  } else {
1117
1117
  if (ze && M(s))
1118
1118
  for (const v of f.mount) {
1119
- const S = h(n, v);
1120
- if (S && S._f) {
1121
- const D = Array.isArray(S._f.refs) ? S._f.refs[0] : S._f.ref;
1119
+ const T = h(n, v);
1120
+ if (T && T._f) {
1121
+ const D = Array.isArray(T._f.refs) ? T._f.refs[0] : T._f.ref;
1122
1122
  if (je(D)) {
1123
1123
  const re = D.closest("form");
1124
1124
  if (re) {
@@ -1134,7 +1134,7 @@ function mr(e = {}) {
1134
1134
  else
1135
1135
  n = {};
1136
1136
  }
1137
- i = r.shouldUnregister ? a.keepDefaultValues ? H(o) : {} : H(d), b.array.next({
1137
+ i = r.shouldUnregister ? a.keepDefaultValues ? J(o) : {} : J(d), b.array.next({
1138
1138
  values: { ...d }
1139
1139
  }), b.state.next({
1140
1140
  values: { ...d }
@@ -1183,7 +1183,7 @@ function mr(e = {}) {
1183
1183
  _runSchema: se,
1184
1184
  _updateIsValidating: $,
1185
1185
  _focusError: Ue,
1186
- _getWatch: w,
1186
+ _getWatch: p,
1187
1187
  _getDirty: _,
1188
1188
  _setValid: W,
1189
1189
  _setFieldArray: E,
@@ -1360,8 +1360,8 @@ function _r(e, r) {
1360
1360
  const i = n.split(".");
1361
1361
  let u = t;
1362
1362
  i.forEach((f, F) => {
1363
- const A = F === i.length - 1, T = !isNaN(Number(f));
1364
- A ? u[f] = r[o] : (f in u || (u[f] = T ? [] : {}), u = u[f]);
1363
+ const A = F === i.length - 1, O = !isNaN(Number(f));
1364
+ A ? u[f] = r[o] : (f in u || (u[f] = O ? [] : {}), u = u[f]);
1365
1365
  });
1366
1366
  }), t;
1367
1367
  }
@@ -1437,17 +1437,17 @@ const Vr = R.memo((e) => {
1437
1437
  const A = n(r.name) || [];
1438
1438
  o(r.name, [...A, Ne(r.fields)]);
1439
1439
  }, F = (A) => {
1440
- const x = (n(r.name) || []).filter((p, b) => b !== A);
1440
+ const x = (n(r.name) || []).filter((w, b) => b !== A);
1441
1441
  o(r.name, x);
1442
1442
  };
1443
1443
  return /* @__PURE__ */ V.jsxs("div", { children: [
1444
- u.map((A, T) => /* @__PURE__ */ V.jsxs("div", { children: [
1445
- /* @__PURE__ */ V.jsx(Vr, { baseName: r.name, index: T, fields: r.fields }),
1446
- !r.readonly && /* @__PURE__ */ V.jsx("button", { type: "button", onClick: () => F(T), children: "Remove" })
1447
- ] }, T)),
1444
+ u.map((A, O) => /* @__PURE__ */ V.jsxs("div", { children: [
1445
+ /* @__PURE__ */ V.jsx(Vr, { baseName: r.name, index: O, fields: r.fields }),
1446
+ !r.readonly && /* @__PURE__ */ V.jsx("button", { type: "button", onClick: () => F(O), children: "Remove" })
1447
+ ] }, O)),
1448
1448
  !r.readonly && /* @__PURE__ */ V.jsx("button", { type: "button", onClick: f, children: "Add Row" })
1449
1449
  ] });
1450
- }, Ar = R.memo(Fr), pr = (e) => {
1450
+ }, Ar = R.memo(Fr), wr = (e) => {
1451
1451
  const { fieldSchema: r } = e;
1452
1452
  let t = ve(
1453
1453
  () => r.fields.map((n) => ({
@@ -1458,13 +1458,13 @@ const Vr = R.memo((e) => {
1458
1458
  );
1459
1459
  return /* @__PURE__ */ V.jsx(Le, { schema: t });
1460
1460
  }, jt = ({ fieldSchema: e }) => {
1461
- var A, T;
1461
+ var A, O;
1462
1462
  const t = Dt().uiConfig, { register: n, control: o } = ge(), i = Qe(e.name), u = n(e.name), f = (A = t == null ? void 0 : t.renderersByName) == null ? void 0 : A[i];
1463
1463
  if (e.visible === !1)
1464
1464
  return null;
1465
1465
  if (f)
1466
1466
  return /* @__PURE__ */ V.jsx(f, { fieldSchema: e, control: o, register: u });
1467
- const F = (T = t == null ? void 0 : t.renderersByType) == null ? void 0 : T[e.type];
1467
+ const F = (O = t == null ? void 0 : t.renderersByType) == null ? void 0 : O[e.type];
1468
1468
  if (F)
1469
1469
  return /* @__PURE__ */ V.jsx(F, { fieldSchema: e, control: o, register: u });
1470
1470
  switch (e.type) {
@@ -1473,7 +1473,7 @@ const Vr = R.memo((e) => {
1473
1473
  case "array":
1474
1474
  return /* @__PURE__ */ V.jsx(Ar, { fieldSchema: e });
1475
1475
  case "object":
1476
- return /* @__PURE__ */ V.jsx(pr, { fieldSchema: e });
1476
+ return /* @__PURE__ */ V.jsx(wr, { fieldSchema: e });
1477
1477
  case "text":
1478
1478
  case "number":
1479
1479
  case "checkbox":
@@ -1482,7 +1482,7 @@ const Vr = R.memo((e) => {
1482
1482
  case "time":
1483
1483
  return /* @__PURE__ */ V.jsx(br, { fieldSchema: e });
1484
1484
  }
1485
- }, wr = ({ fieldSchema: e }) => /* @__PURE__ */ V.jsx(jt, { fieldSchema: e }), Rr = ({ fieldSchema: e }) => {
1485
+ }, pr = ({ fieldSchema: e }) => /* @__PURE__ */ V.jsx(jt, { fieldSchema: e }), Rr = ({ fieldSchema: e }) => {
1486
1486
  const { control: r } = ge(), t = Dt(), n = e.dependsOn ?? [], o = ve(
1487
1487
  () => Er(e.name, n),
1488
1488
  [e.name, n]
@@ -1495,9 +1495,9 @@ const Vr = R.memo((e) => {
1495
1495
  let F = !1;
1496
1496
  return (async () => {
1497
1497
  var B;
1498
- const T = Qe(e.name), x = _r(o, i ?? []), p = (B = t == null ? void 0 : t.updateFieldSchema) == null ? void 0 : B[T];
1499
- if (!p) return;
1500
- const b = await p(e.name, e, x);
1498
+ const O = Qe(e.name), x = _r(o, i ?? []), w = (B = t == null ? void 0 : t.updateFieldSchema) == null ? void 0 : B[O];
1499
+ if (!w) return;
1500
+ const b = await w(e.name, e, x);
1501
1501
  !F && b && f({
1502
1502
  ...e,
1503
1503
  ...b
@@ -1509,7 +1509,7 @@ const Vr = R.memo((e) => {
1509
1509
  }, kr = (e) => {
1510
1510
  var t;
1511
1511
  const { fieldSchema: r } = e;
1512
- return (t = r.dependsOn) != null && t.length ? /* @__PURE__ */ V.jsx(Rr, { fieldSchema: r }) : /* @__PURE__ */ V.jsx(wr, { fieldSchema: r });
1512
+ return (t = r.dependsOn) != null && t.length ? /* @__PURE__ */ V.jsx(Rr, { fieldSchema: r }) : /* @__PURE__ */ V.jsx(pr, { fieldSchema: r });
1513
1513
  }, Sr = (e) => {
1514
1514
  const { fieldSchema: r } = e;
1515
1515
  return /* @__PURE__ */ V.jsx(kr, { fieldSchema: r });
@@ -1531,10 +1531,10 @@ const Or = (e) => {
1531
1531
  const { onDirtyChange: r, onValuesChange: t, onFieldChange: n } = e, { formState: o, watch: i } = ge(), u = Et(!0);
1532
1532
  return Ce(() => {
1533
1533
  const f = i((F, { name: A = "" }) => {
1534
- var p;
1534
+ var w;
1535
1535
  t(F);
1536
- const T = Qe(A), x = Tr(A, F);
1537
- (p = n == null ? void 0 : n[T]) == null || p.call(n, A, x, F);
1536
+ const O = Qe(A), x = Tr(A, F);
1537
+ (w = n == null ? void 0 : n[O]) == null || w.call(n, A, x, F);
1538
1538
  });
1539
1539
  return () => f.unsubscribe();
1540
1540
  }, [i, t]), Ce(() => {
@@ -1566,20 +1566,20 @@ const Or = (e) => {
1566
1566
  hideSubmit: F = !1,
1567
1567
  onDirtyChange: A = () => {
1568
1568
  },
1569
- onValuesChange: T = () => {
1569
+ onValuesChange: O = () => {
1570
1570
  },
1571
1571
  resolver: x,
1572
- readonly: p,
1572
+ readonly: w,
1573
1573
  onFieldChange: b = {},
1574
1574
  loadingComponent: B
1575
- } = e, O = hr({
1575
+ } = e, S = hr({
1576
1576
  reValidateMode: "onSubmit",
1577
1577
  criteriaMode: "all",
1578
1578
  resolver: x
1579
- }), W = Et(!1), [$, E] = xt(!1), G = O.handleSubmit(n), C = ve(() => {
1579
+ }), W = Et(!1), [$, E] = xt(!1), G = S.handleSubmit(n), C = ve(() => {
1580
1580
  let N = t;
1581
- return p && (N = Ct(N)), N;
1582
- }, [p, t]);
1581
+ return w && (N = Ct(N)), N;
1582
+ }, [w, t]);
1583
1583
  Ce(() => {
1584
1584
  if (!f) return;
1585
1585
  let N = !1;
@@ -1587,7 +1587,7 @@ const Or = (e) => {
1587
1587
  if (W.current) return;
1588
1588
  E(!1);
1589
1589
  const fe = await f();
1590
- N || (O.reset(Ne(t, fe), {
1590
+ N || (S.reset(Ne(t, fe), {
1591
1591
  keepErrors: !0,
1592
1592
  keepDirty: !1,
1593
1593
  keepTouched: !1
@@ -1596,17 +1596,22 @@ const Or = (e) => {
1596
1596
  N = !0;
1597
1597
  };
1598
1598
  }, [t, f]), Yt(r, () => ({
1599
- submit: () => O.handleSubmit(n)(),
1599
+ submit: async () => {
1600
+ if (!await S.trigger())
1601
+ return { success: !1, errors: S.formState.errors };
1602
+ const H = S.getValues();
1603
+ return await n(H), { success: !0 };
1604
+ },
1600
1605
  reset: (N) => {
1601
- O.reset(N ? Ne(t, N) : void 0);
1606
+ S.reset(N ? Ne(t, N) : void 0);
1602
1607
  },
1603
- getValues: () => O.getValues(),
1604
- setValue: (N, J) => {
1605
- O.setValue(N, J);
1608
+ getValues: () => S.getValues(),
1609
+ setValue: (N, H) => {
1610
+ S.setValue(N, H);
1606
1611
  },
1607
- getErrors: () => O.formState.errors
1612
+ getErrors: () => S.formState.errors
1608
1613
  }));
1609
- const k = F || p, ee = ve(() => o, [o]), ce = ve(() => i, [i]), se = ve(
1614
+ const k = F || w, ee = ve(() => o, [o]), ce = ve(() => i, [i]), se = ve(
1610
1615
  () => ({
1611
1616
  layout: u,
1612
1617
  uiConfig: o,
@@ -1614,12 +1619,12 @@ const Or = (e) => {
1614
1619
  }),
1615
1620
  [u, o, i]
1616
1621
  );
1617
- return $ ? /* @__PURE__ */ V.jsxs(Qt, { ...O, children: [
1622
+ return $ ? /* @__PURE__ */ V.jsxs(Qt, { ...S, children: [
1618
1623
  /* @__PURE__ */ V.jsx(
1619
1624
  Dr,
1620
1625
  {
1621
1626
  onDirtyChange: A,
1622
- onValuesChange: T,
1627
+ onValuesChange: O,
1623
1628
  onFieldChange: b
1624
1629
  }
1625
1630
  ),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoforma",
3
- "version": "2.9.99",
3
+ "version": "2.10.0",
4
4
  "description": "AutoForma is a headless dynamic form builder based on React Hook Form",
5
5
  "type": "module",
6
6
  "sideEffects": false,