autoforma 2.9.5 → 2.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
+ import { default as React } from 'react';
1
2
  import { Control, Resolver, UseFormRegisterReturn } from 'react-hook-form';
2
3
  export type FormValues = Record<string, any>;
3
- export declare const BUILT_IN_FIELD_TYPES: readonly ["text", "number", "checkbox", "select", "date", "datetime-local", "time", "array", "object"];
4
- export type BuiltInFieldType = (typeof BUILT_IN_FIELD_TYPES)[number];
4
+ export type BuiltInFieldType = 'text' | 'number' | 'checkbox' | 'select' | 'date' | 'datetime-local' | 'time' | 'array' | 'object';
5
5
  export type FieldType<TCustom extends string = never> = BuiltInFieldType | TCustom;
6
6
  export interface BaseFieldSchema<TCustom extends string = never> {
7
7
  type: FieldType<TCustom>;
@@ -29,7 +29,14 @@ export interface SelectFieldSchema<TCustom extends string = never> extends BaseF
29
29
  value: string;
30
30
  }[];
31
31
  }
32
- export type FieldSchema<TCustom extends string = never> = BaseFieldSchema<TCustom> | SelectFieldSchema<TCustom> | HasFields<TCustom>;
32
+ export interface FieldSchemaRegistry<TCustom extends string = never> {
33
+ base: BaseFieldSchema<TCustom>;
34
+ select: SelectFieldSchema<TCustom>;
35
+ hasFields: HasFields<TCustom>;
36
+ array: ArrayFieldSchema<TCustom>;
37
+ object: ObjectFieldSchema<TCustom>;
38
+ }
39
+ export type FieldSchema<TCustom extends string = never> = FieldSchemaRegistry<TCustom>[keyof FieldSchemaRegistry<TCustom>];
33
40
  export type Schema<TCustom extends string = never> = FieldSchema<TCustom>[];
34
41
  export type UpdateFieldSchema<TCustom extends string = never> = {
35
42
  [key: string]: (path: string, fieldSchema: FieldSchema<TCustom>, values: FormValues) => FieldSchema<TCustom> | Promise<FieldSchema<TCustom>>;
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react");var Ce={exports:{}},pe={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react");var Ce={exports:{}},Ae={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var nt;function Bt(){if(nt)return pe;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 pe.Fragment=r,pe.jsx=t,pe.jsxs=t,pe}var Ae={};/**
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={};/**
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 $t(){return it||(it=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===fe?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case $:return"Fragment";case V:return"Profiler";case W:return"StrictMode";case ee:return"Suspense";case ce:return"SuspenseList";case J:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case O:return"Portal";case C:return c.displayName||"Context";case G:return(c._context.displayName||"Context")+".Consumer";case k:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case se:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case N:_=c._payload,c=c._init;try{return e(c(_))}catch{}}return null}function r(c){return""+c}function t(c){try{r(c);var _=!1}catch{_=!0}if(_){_=console;var j=_.error,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===$)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 p(){var c=e(this.type);return X[c]||(X[c]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),c=this.props.ref,c!==void 0?c:null}function A(c,_,j,L,ge,_e){var M=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:L},(M!==void 0?M:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:p}):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 M=_.children;if(M!==void 0)if(L)if(I(M)){for(L=0;L<M.length;L++)E(M[L]);Object.freeze&&Object.freeze(M)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else E(M);if(R.call(_,"key")){M=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});L=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[M+L]||(oe=0<oe.length?"{"+oe.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var it;function $t(){return it||(it=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===fe?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case $:return"Fragment";case V:return"Profiler";case W:return"StrictMode";case ee:return"Suspense";case ce:return"SuspenseList";case J:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case O:return"Portal";case C:return c.displayName||"Context";case G:return(c._context.displayName||"Context")+".Consumer";case k:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case se:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case N:_=c._payload,c=c._init;try{return e(c(_))}catch{}}return null}function r(c){return""+c}function t(c){try{r(c);var _=!1}catch{_=!0}if(_){_=console;var j=_.error,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===$)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 M=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:L},(M!==void 0?M: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 M=_.children;if(M!==void 0)if(L)if(I(M)){for(L=0;L<M.length;L++)E(M[L]);Object.freeze&&Object.freeze(M)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else E(M);if(R.call(_,"key")){M=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});L=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[M+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,M,oe,M),me[M+L]=!0)}if(M=null,j!==void 0&&(t(j),M=""+j),l(_)&&(t(_.key),M=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return M&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),A(c,M,j,o(),ge,_e)}function E(c){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"),$=Symbol.for("react.fragment"),W=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),C=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),fe=Symbol.for("react.client.reference"),x=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=Object.prototype.hasOwnProperty,I=Array.isArray,Y=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(c){return c()}};var Q,X={},de=b.react_stack_bottom_frame.bind(b,i)(),ye=Y(n(i)),me={};Ae.Fragment=$,Ae.jsx=function(c,_,j){var L=1e4>x.recentlyCreatedOwnerStacks++;return T(c,_,j,!1,L?Error("react-stack-top-frame"):de,L?Y(n(c)):ye)},Ae.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)}})()),Ae}var at;function Wt(){return at||(at=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=$t()),Ce.exports}var F=Wt(),Oe=e=>e.type==="checkbox",ve=e=>e instanceof Date,K=e=>e==null;const _t=e=>typeof e=="object";var z=e=>!K(e)&&!Array.isArray(e)&&_t(e)&&!ve(e),Yt=e=>z(e)&&e.target?Oe(e.target)?e.target.checked:e.target.value:e,qt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,zt=(e,r)=>e.has(qt(r)),Ht=e=>{const r=e.constructor&&e.constructor.prototype;return z(r)&&r.hasOwnProperty("isPrototypeOf")},qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(qe&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(z(e)&&Ht(e)))return e;const n=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=H(e[o]));return n}var Ne=e=>/^\w*$/.test(e),U=e=>e===void 0,ze=e=>Array.isArray(e)?e.filter(Boolean):[],He=e=>ze(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!z(e))return t;const n=(Ne(r)?[r]:He(r)).reduce((o,i)=>K(o)?o:o[i],e);return U(n)||n===e?U(e[r])?t:e[r]:n},ue=e=>typeof e=="boolean",ne=e=>typeof e=="function",P=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:He(r),i=o.length,l=i-1;for(;++n<i;){const f=o[n];let p=t;if(n!==l){const A=e[f];p=z(A)||Array.isArray(A)?A:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=p,e=e[f]}};const ot={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},le={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Je=g.createContext(null);Je.displayName="HookFormContext";const be=()=>g.useContext(Je),Jt=e=>{const{children:r,...t}=e;return g.createElement(Je.Provider,{value:t},r)};var Gt=(e,r,t,n=!0)=>{const o={defaultValues:r._defaultValues};for(const i in e)Object.defineProperty(o,i,{get:()=>{const l=i;return r._proxyFormState[l]!==ie.all&&(r._proxyFormState[l]=!n||ie.all),e[l]}});return o};const xt=typeof window<"u"?g.useLayoutEffect:g.useEffect;var te=e=>typeof e=="string",$e=(e,r,t,n,o)=>te(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),We=e=>K(e)||!_t(e);function ae(e,r,t=new WeakSet){if(We(e)||We(r))return Object.is(e,r);if(ve(e)&&ve(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const l=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(ve(l)&&ve(f)||z(l)&&z(f)||Array.isArray(l)&&Array.isArray(f)?!ae(l,f,t):!Object.is(l,f))return!1}}return!0}function Et(e){const r=be(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:l,compute:f}=e||{},p=g.useRef(o),A=g.useRef(f),T=g.useRef(void 0),E=g.useRef(t),w=g.useRef(n);A.current=f;const[b,B]=g.useState(()=>{const C=t._getWatch(n,p.current);return A.current?A.current(C):C}),O=g.useCallback(C=>{const k=$e(n,t._names,C||t._formValues,!1,p.current);return A.current?A.current(k):k},[t._formValues,t._names,n]),$=g.useCallback(C=>{if(!i){const k=$e(n,t._names,C||t._formValues,!1,p.current);if(A.current){const ee=A.current(k);ae(ee,T.current)||(B(ee),T.current=ee)}else B(k)}},[t._formValues,t._names,i,n]);xt(()=>((E.current!==t||!ae(w.current,n))&&(E.current=t,w.current=n,$()),t._subscribe({name:n,formState:{values:!0},exact:l,callback:C=>{$(C.values)}})),[t,l,n,$]),g.useEffect(()=>t._removeUnmounted());const W=E.current!==t,V=w.current,G=g.useMemo(()=>{if(i)return null;const C=!W&&!ae(V,n);return W||C?O():null},[i,W,n,V,O]);return G!==null?G:b}var Xt=(e,r,t,n,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[n]:o||!0}}:{},Re=e=>Array.isArray(e)?e:[e],ut=()=>{let e=[];return{get observers(){return e},next:o=>{for(const i of e)i.next&&i.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(i=>i!==o)}}),unsubscribe:()=>{e=[]}}};function Vt(e,r){const t={};for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],i=r[n];if(o&&z(o)&&i){const l=Vt(o,i);z(l)&&(t[n]=l)}else e[n]&&(t[n]=i)}return t}var Z=e=>z(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!qe)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Ft=e=>e.type==="select-multiple",Xe=e=>e.type==="radio",Zt=e=>Xe(e)||Oe(e),Be=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=U(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function q(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:He(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(z(n)&&Z(n)||Array.isArray(n)&&Kt(n))&&q(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(ne(e[r]))return!0;return!1};function pt(e){return Array.isArray(e)||z(e)&&!er(e)}function Ye(e,r={}){for(const t in e){const n=e[t];pt(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(pt(o))U(r)||We(t[n])?t[n]=Ye(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ae(o,i)}}return t}const lt={value:!1,isValid:!1},ct={value:!0,isValid:!0};var At=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?ct:{value:e[0].value,isValid:!0}:ct:lt}return lt},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)?At(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:p,maxLength:A,minLength:T,min:E,max:w,pattern:b,validate:B,name:O,valueAsNumber:$,mount:W}=e._f,V=h(t,O);if(!W||r.has(O))return{};const G=f?f[0]:l,C=x=>{o&&G.reportValidity&&(G.setCustomValidity(ue(x)?"":x||""),G.reportValidity())},k={},ee=Xe(l),ce=Oe(l),se=ee||ce,N=($||Ge(l))&&U(l.value)&&U(V)||je(l)&&l.value===""||V===""||Array.isArray(V)&&!V.length,J=Xt.bind(null,O,n,k),fe=(x,R,I,Y=le.maxLength,Q=le.minLength)=>{const X=x?R:I;k[O]={type:x?Y:Q,message:X,ref:l,...J(x?Y:Q,X)}};if(i?!Array.isArray(V)||!V.length:p&&(!se&&(N||K(V))||ue(V)&&!V||ce&&!At(f).isValid||ee&&!Rt(f).isValid)){const{value:x,message:R}=te(p)?{value:!!p,message:p}:Ee(p);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 I=Ee(w),Y=Ee(E);if(!K(V)&&!isNaN(V)){const Q=l.valueAsNumber||V&&+V;K(I.value)||(x=Q>I.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(I.value)&&V&&(x=de?X(V)>X(I.value):ye?V>I.value:Q>new Date(I.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,I.message,Y.message,le.max,le.min),!n))return C(k[O].message),k}if((A||T)&&!N&&(te(V)||i&&Array.isArray(V))){const x=Ee(A),R=Ee(T),I=!K(x.value)&&V.length>+x.value,Y=!K(R.value)&&V.length<+R.value;if((I||Y)&&(fe(I,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 I=bt(await B[R](V,t),G,R);I&&(x={...I,...J(R,I.message)},C(I.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},p,A=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(A),A=setTimeout(s,a)},$=async s=>{if(!l.keepIsValid&&!r.disabled&&(E.isValid||w.isValid||s)){let a;r.resolver?(a=Z((await se()).errors),W()):a=await J(n,!0),a!==t.isValid&&b.state.next({isValid:a})}},W=(s,a)=>{!r.disabled&&(E.isValidating||E.validatingFields||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&&$()}},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?(p=O(()=>G(s,u)),p(r.delayError)):(clearTimeout(A),p=null,u?P(t.errors,s,u):q(t.errors,s)),(u?!ae(y,u):y)||!Z(m)||d){const v={...m,...d&&ue(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...v},b.state.next(v)}},se=async s=>(W(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),N=async s=>{const{errors:a}=await se(s);if(W(s),s)for(const u of s){const m=h(a,u);m?P(t.errors,u,m):q(t.errors,u)}else t.errors=a;return a},J=async(s,a,u={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...v}=y;if(d){const S=f.array.has(d.name),D=y._f&&rr(y._f);D&&E.validatingFields&&W([d.name],!0);const re=await gt(y,f.disabled,i,B,r.shouldUseNativeValidation&&!a,S);if(D&&E.validatingFields&&W([d.name]),re[d.name]&&(u.valid=!1,a))break;!a&&(h(re,d.name)?S?ur(t.errors,re,d.name):P(t.errors,d.name,re[d.name]):q(t.errors,d.name))}!Z(v)&&await J(v,a,u)}}return u.valid},fe=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(u=>!Be(u)):!Be(a._f.ref))&&oe(s)}f.unMount=new Set},x=(s,a)=>!r.disabled&&(s&&a&&P(i,s,a),!ae(c(),o)),R=(s,a,u)=>$e(s,f,{...l.mount?i:U(a)?o:te(s)?{[s]:a}:a},u,a),I=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,It=!sr(y._f)&&!r.resolver&&!h(t.errors,u)&&!y._f.deps||ar(he,h(t.touchedFields,u),t.isSubmitted,S,v),Me=ht(u,f,he);P(i,u,De),he?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),p&&p(0)):y._f.onChange&&y._f.onChange(s);const Ue=ee(u,De,he),Mt=!Z(Ue)||Me;if(!he&&b.state.next({name:u,type:s.type,values:H(i)}),It)return(E.isValid||w.isValid)&&(r.mode==="onBlur"?he&&$():he||$()),Mt&&b.state.next({name:u,...Me?{}:Ue});if(!he&&Me&&b.state.next({...t}),r.resolver){const{errors:rt}=await se([u]);if(W([u]),d(De),m){const Ut=vt(t.errors,n,u),st=vt(rt,n,Ut.name||u);D=st.error,u=st.name,re=Z(rt)}}else W([u],!0),D=(await gt(y,f.disabled,i,B,r.shouldUseNativeValidation))[u],W([u]),d(De),m&&(D?re=!1:(E.isValid||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)&&$()):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,M=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&&$()},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)}}},Ie=()=>r.shouldFocusError&&ke(n,ye,f.mount),jt=s=>{ue(s)&&(b.state.next({disabled:s}),ke(n,(a,u)=>{const m=h(n,u);m&&(a.disabled=m._f.disabled||s,Array.isArray(m._f.refs)&&m._f.refs.forEach(y=>{y.disabled=m._f.disabled||s}))},0,!1))},Qe=(s,a)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=H(i);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:v}=await se();W(),t.errors=d,y=H(v)}else await J(n);if(f.disabled.size)for(const d of f.disabled)q(y,d);if(q(t.errors,"root"),Z(t.errors)){b.state.next({errors:{}});try{await s(y,u)}catch(d){m=d}}else a&&await a({...t.errors},u),Ie(),setTimeout(Ie);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(U(a.defaultValue)?X(s,H(h(o,s))):(X(s,a.defaultValue),P(o,s,H(a.defaultValue))),a.keepTouched||q(t.touchedFields,s),a.keepDirty||(q(t.dirtyFields,s),t.isDirty=a.defaultValue?x(s,H(h(o,s))):x()),a.keepError||(q(t.errors,s),E.isValid&&$()),b.state.next({...t}))},Ke=(s,a={})=>{const u=s?H(s):o,m=H(u),y=Z(s),d=y?o:m;if(a.keepDefaultValues||(o=u),!a.keepValues){if(a.keepDirtyValues){const v=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(v))h(t.dirtyFields,S)?P(d,S,h(i,S)):X(S,h(d,S))}else{if(qe&&U(s))for(const v of f.mount){const S=h(n,v);if(S&&S._f){const D=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(je(D)){const re=D.closest("form");if(re){re.reset();break}}}}if(a.keepFieldsRef)for(const v of f.mount)X(v,h(d,v));else n={}}i=r.shouldUnregister?a.keepDefaultValues?H(o):{}:H(d),b.array.next({values:{...d}}),b.state.next({values:{...d}})}f={mount:a.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!E.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!Z(d),l.watch=!!r.shouldUnregister,l.keepIsValid=!!a.keepIsValid,l.action=!1,a.keepErrors||(t.errors={}),b.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ae(s,o)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:a.keepDirtyValues?a.keepDefaultValues&&i?Ve(o,i):t.dirtyFields:a.keepDefaultValues&&s?Ve(o,s):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},et=(s,a)=>Ke(ne(s)?s(i):s,{...r.resetOptions,...a}),Nt=(s,a={})=>{const u=h(n,s),m=u&&u._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&ne(y.select)&&y.select()})}},Lt=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:L,_subscribe:_e,_runSchema:se,_updateIsValidating:W,_focusError:Ie,_getWatch:R,_getDirty:x,_setValid:$,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:I,_reset:Ke,_resetDefaultValues:()=>ne(r.defaultValues)&&r.defaultValues().then(s=>{et(s,r.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:fe,_disableForm:jt,_subjects:b,_proxyFormState:E,get _fields(){return n},get _formValues(){return i},get _state(){return l},set _state(s){l=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:M,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError: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,p)=>{const A=p===i.length-1,T=!isNaN(Number(f));A?l[f]=r[o]:(f in l||(l[f]=T?[]:{}),l=l[f])})}),t}function Ot(e){switch(e){case"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:p})=>{f<=l.length&&l.splice(f,0,p)}),l.join(".")})}function Se(e,r={}){const t={};for(const n of e)if(n.type==="object"){const o=n.fields;t[n.name]=Se(o,r==null?void 0:r[n.name])}else t[n.name]=(r==null?void 0:r[n.name])??n.initialValue??Ot(n.type);return t}function Ze(e){return e.map(r=>{if(["object","array"].includes(r.type)){const t=r.fields;return{...r,readonly:!0,fields:Ze(t)}}return{...r,readonly:!0}})}const hr=g.memo(e=>{const{baseName:r,index:t,fields:n}=e,o=g.useMemo(()=>n.map(i=>({...i,name:`${r}.${t}.${i.name}`})),[r,t,n]);return F.jsxs("div",{children:[F.jsxs("div",{children:["row ",t]}),F.jsx(Te,{schema:o})]})}),vr=e=>{const{fieldSchema:r}=e,{control:t,getValues:n,setValue:o}=be(),l=Et({control:t,name:r.name})??[],f=()=>{const A=n(r.name)||[];o(r.name,[...A,Se(r.fields)])},p=A=>{const E=(n(r.name)||[]).filter((w,b)=>b!==A);o(r.name,E)};return F.jsxs("div",{children:[l.map((A,T)=>F.jsxs("div",{children:[F.jsx(hr,{baseName:r.name,index:T,fields:r.fields}),!r.readonly&&F.jsx("button",{type:"button",onClick:()=>p(T),children:"Remove"})]},T)),!r.readonly&&F.jsx("button",{type:"button",onClick:f,children:"Add Row"})]})},br=g.memo(vr),gr=e=>{const{fieldSchema:r}=e;let t=g.useMemo(()=>r.fields.map(n=>({...n,name:`${r.name}.${n.name}`})),[r.fields]);return F.jsx(Te,{schema:t})},_r=["text","number","checkbox","select","date","datetime-local","time","array","object"],Ct=({fieldSchema:e})=>{var A,T;const t=St().uiConfig,{register:n,control:o}=be(),i=Le(e.name),l=n(e.name),f=(A=t==null?void 0:t.renderersByName)==null?void 0:A[i];if(e.visible===!1)return null;if(f)return F.jsx(f,{fieldSchema:e,control:o,register:l});const p=(T=t==null?void 0:t.renderersByType)==null?void 0:T[e.type];if(p)return F.jsx(p,{fieldSchema:e,control:o,register:l});if(_r.includes(e.type))return e.type==="select"?F.jsx(mr,{fieldSchema:e}):e.type==="array"?F.jsx(br,{fieldSchema:e}):e.type==="object"?F.jsx(gr,{fieldSchema:e}):F.jsx(yr,{fieldSchema:e});throw new Error(`AutoForm: No renderer found for field "${e.name}" with type "${e.type}". If this is a custom field type, make sure to register a renderer via uiConfig.renderersByType.`)},xr=({fieldSchema:e})=>F.jsx(Ct,{fieldSchema:e}),Er=({fieldSchema:e})=>{const{control:r}=be(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),i=Et({control:r,name:o}),[l,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let p=!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);!p&&b&&f({...e,...b})})(),()=>{p=!0}},[i]),F.jsx(Ct,{fieldSchema:l})},Vr=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?F.jsx(Er,{fieldSchema:r}):F.jsx(xr,{fieldSchema:r})},Fr=e=>{const{fieldSchema:r}=e;return F.jsx(Vr,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>F.jsx(Fr,{fieldSchema:t},t.name))});function pr(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((p,{name:A=""})=>{var w;t(p);const T=Le(A),E=pr(A,p);(w=n==null?void 0:n[T])==null||w.call(n,A,E,p)});return()=>f.unsubscribe()},[i,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),Rr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:l="vertical",values:f=()=>({}),hideSubmit:p=!1,onDirtyChange:A=()=>{},onValuesChange:T=()=>{},resolver:E,readonly:w,onFieldChange:b={},loadingComponent:B}=e,O=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:E}),$=g.useRef(!1),[W,V]=g.useState(!1),G=O.handleSubmit(n),C=g.useMemo(()=>{let N=t;return w&&(N=Ze(N)),N},[w,t]);g.useEffect(()=>{if(!f)return;let N=!1;return(async()=>{if($.current)return;V(!1);const fe=await f();N||(O.reset(Se(t,fe),{keepErrors:!0,keepDirty:!1,keepTouched:!1}),$.current=!0,V(!0))})(),()=>{N=!0}},[t,f]),g.useImperativeHandle(r,()=>({submit:async()=>{await O.handleSubmit(n)()},reset:N=>{O.reset(N?Se(t,N):void 0)},getValues:()=>O.getValues(),setValue:(N,J)=>{O.setValue(N,J)}}));const k=p||w,ee=g.useMemo(()=>o,[o]),ce=g.useMemo(()=>i,[i]),se=g.useMemo(()=>({layout:l,uiConfig:o,updateFieldSchema:i}),[l,o,i]);return W?F.jsxs(Jt,{...O,children:[F.jsx(wr,{onDirtyChange:A,onValuesChange:T,onFieldChange:b}),F.jsxs(dr,{layout:se.layout,uiConfig:ee,updateFieldSchema:ce,children:[["vertical","horizontal"].includes(l)&&F.jsx("div",{style:{display:"flex",flexDirection:l==="vertical"?"column":"row"},children:F.jsx(Te,{schema:C})}),l==="custom"&&F.jsx(Te,{schema:C}),!k&&F.jsx("button",{style:{marginTop:"1rem"},onClick:G,children:"Submit"})]})]}):F.jsx(F.Fragment,{children:B??F.jsx("div",{style:{padding:"2rem",textAlign:"center",color:"#666",fontSize:"0.9rem"},children:"Loading form..."})})});exports.AutoForm=Rr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Ze;exports.normalizeFieldPath=Le;exports.resolveDependsOnNew=Dt;
22
+ <%s key={someKey} {...props} />`,L,M,oe,M),me[M+L]=!0)}if(M=null,j!==void 0&&(t(j),M=""+j),l(_)&&(t(_.key),M=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return M&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),p(c,M,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"),$=Symbol.for("react.fragment"),W=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),C=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),fe=Symbol.for("react.client.reference"),x=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=Object.prototype.hasOwnProperty,I=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=$,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 Wt(){return at||(at=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=$t()),Ce.exports}var F=Wt(),Oe=e=>e.type==="checkbox",ve=e=>e instanceof Date,K=e=>e==null;const _t=e=>typeof e=="object";var z=e=>!K(e)&&!Array.isArray(e)&&_t(e)&&!ve(e),Yt=e=>z(e)&&e.target?Oe(e.target)?e.target.checked:e.target.value:e,qt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,zt=(e,r)=>e.has(qt(r)),Ht=e=>{const r=e.constructor&&e.constructor.prototype;return z(r)&&r.hasOwnProperty("isPrototypeOf")},qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(qe&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(z(e)&&Ht(e)))return e;const n=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=H(e[o]));return n}var Ne=e=>/^\w*$/.test(e),U=e=>e===void 0,ze=e=>Array.isArray(e)?e.filter(Boolean):[],He=e=>ze(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!z(e))return t;const n=(Ne(r)?[r]:He(r)).reduce((o,i)=>K(o)?o:o[i],e);return U(n)||n===e?U(e[r])?t:e[r]:n},ue=e=>typeof e=="boolean",ne=e=>typeof e=="function",P=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:He(r),i=o.length,l=i-1;for(;++n<i;){const f=o[n];let 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",$e=(e,r,t,n,o)=>te(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),We=e=>K(e)||!_t(e);function ae(e,r,t=new WeakSet){if(We(e)||We(r))return Object.is(e,r);if(ve(e)&&ve(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const l=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(ve(l)&&ve(f)||z(l)&&z(f)||Array.isArray(l)&&Array.isArray(f)?!ae(l,f,t):!Object.is(l,f))return!1}}return!0}function Et(e){const r=be(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:l,compute:f}=e||{},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=$e(n,t._names,C||t._formValues,!1,A.current);return p.current?p.current(k):k},[t._formValues,t._names,n]),$=g.useCallback(C=>{if(!i){const k=$e(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,$()),t._subscribe({name:n,formState:{values:!0},exact:l,callback:C=>{$(C.values)}})),[t,l,n,$]),g.useEffect(()=>t._removeUnmounted());const W=E.current!==t,V=w.current,G=g.useMemo(()=>{if(i)return null;const C=!W&&!ae(V,n);return W||C?O():null},[i,W,n,V,O]);return G!==null?G:b}var Xt=(e,r,t,n,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[n]:o||!0}}:{},Re=e=>Array.isArray(e)?e:[e],ut=()=>{let e=[];return{get observers(){return e},next:o=>{for(const i of e)i.next&&i.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(i=>i!==o)}}),unsubscribe:()=>{e=[]}}};function Vt(e,r){const t={};for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],i=r[n];if(o&&z(o)&&i){const l=Vt(o,i);z(l)&&(t[n]=l)}else e[n]&&(t[n]=i)}return t}var Z=e=>z(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!qe)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Ft=e=>e.type==="select-multiple",Xe=e=>e.type==="radio",Zt=e=>Xe(e)||Oe(e),Be=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=U(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function q(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:He(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(z(n)&&Z(n)||Array.isArray(n)&&Kt(n))&&q(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(ne(e[r]))return!0;return!1};function 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)||We(t[n])?t[n]=Ye(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ae(o,i)}}return t}const lt={value:!1,isValid:!1},ct={value:!0,isValid:!0};var 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:$,mount:W}=e._f,V=h(t,O);if(!W||r.has(O))return{};const G=f?f[0]:l,C=x=>{o&&G.reportValidity&&(G.setCustomValidity(ue(x)?"":x||""),G.reportValidity())},k={},ee=Xe(l),ce=Oe(l),se=ee||ce,N=($||Ge(l))&&U(l.value)&&U(V)||je(l)&&l.value===""||V===""||Array.isArray(V)&&!V.length,J=Xt.bind(null,O,n,k),fe=(x,R,I,Y=le.maxLength,Q=le.minLength)=>{const X=x?R:I;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 I=Ee(w),Y=Ee(E);if(!K(V)&&!isNaN(V)){const Q=l.valueAsNumber||V&&+V;K(I.value)||(x=Q>I.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(I.value)&&V&&(x=de?X(V)>X(I.value):ye?V>I.value:Q>new Date(I.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,I.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),I=!K(x.value)&&V.length>+x.value,Y=!K(R.value)&&V.length<+R.value;if((I||Y)&&(fe(I,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 I=bt(await B[R](V,t),G,R);I&&(x={...I,...J(R,I.message)},C(I.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)},$=async s=>{if(!l.keepIsValid&&!r.disabled&&(E.isValid||w.isValid||s)){let a;r.resolver?(a=Z((await se()).errors),W()):a=await J(n,!0),a!==t.isValid&&b.state.next({isValid:a})}},W=(s,a)=>{!r.disabled&&(E.isValidating||E.validatingFields||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&&$()}},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=>(W(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),N=async s=>{const{errors:a}=await se(s);if(W(s),s)for(const u of s){const m=h(a,u);m?P(t.errors,u,m):q(t.errors,u)}else t.errors=a;return a},J=async(s,a,u={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...v}=y;if(d){const S=f.array.has(d.name),D=y._f&&rr(y._f);D&&E.validatingFields&&W([d.name],!0);const re=await gt(y,f.disabled,i,B,r.shouldUseNativeValidation&&!a,S);if(D&&E.validatingFields&&W([d.name]),re[d.name]&&(u.valid=!1,a))break;!a&&(h(re,d.name)?S?ur(t.errors,re,d.name):P(t.errors,d.name,re[d.name]):q(t.errors,d.name))}!Z(v)&&await J(v,a,u)}}return u.valid},fe=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(u=>!Be(u)):!Be(a._f.ref))&&oe(s)}f.unMount=new Set},x=(s,a)=>!r.disabled&&(s&&a&&P(i,s,a),!ae(c(),o)),R=(s,a,u)=>$e(s,f,{...l.mount?i:U(a)?o:te(s)?{[s]:a}:a},u,a),I=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,It=!sr(y._f)&&!r.resolver&&!h(t.errors,u)&&!y._f.deps||ar(he,h(t.touchedFields,u),t.isSubmitted,S,v),Me=ht(u,f,he);P(i,u,De),he?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),A&&A(0)):y._f.onChange&&y._f.onChange(s);const Ue=ee(u,De,he),Mt=!Z(Ue)||Me;if(!he&&b.state.next({name:u,type:s.type,values:H(i)}),It)return(E.isValid||w.isValid)&&(r.mode==="onBlur"?he&&$():he||$()),Mt&&b.state.next({name:u,...Me?{}:Ue});if(!he&&Me&&b.state.next({...t}),r.resolver){const{errors:rt}=await se([u]);if(W([u]),d(De),m){const Ut=vt(t.errors,n,u),st=vt(rt,n,Ut.name||u);D=st.error,u=st.name,re=Z(rt)}}else W([u],!0),D=(await gt(y,f.disabled,i,B,r.shouldUseNativeValidation))[u],W([u]),d(De),m&&(D?re=!1:(E.isValid||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)&&$()):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,M=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&&$()},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)}}},Ie=()=>r.shouldFocusError&&ke(n,ye,f.mount),jt=s=>{ue(s)&&(b.state.next({disabled:s}),ke(n,(a,u)=>{const m=h(n,u);m&&(a.disabled=m._f.disabled||s,Array.isArray(m._f.refs)&&m._f.refs.forEach(y=>{y.disabled=m._f.disabled||s}))},0,!1))},Qe=(s,a)=>async u=>{let m;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=H(i);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:v}=await se();W(),t.errors=d,y=H(v)}else await J(n);if(f.disabled.size)for(const d of f.disabled)q(y,d);if(q(t.errors,"root"),Z(t.errors)){b.state.next({errors:{}});try{await s(y,u)}catch(d){m=d}}else a&&await a({...t.errors},u),Ie(),setTimeout(Ie);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(U(a.defaultValue)?X(s,H(h(o,s))):(X(s,a.defaultValue),P(o,s,H(a.defaultValue))),a.keepTouched||q(t.touchedFields,s),a.keepDirty||(q(t.dirtyFields,s),t.isDirty=a.defaultValue?x(s,H(h(o,s))):x()),a.keepError||(q(t.errors,s),E.isValid&&$()),b.state.next({...t}))},Ke=(s,a={})=>{const u=s?H(s):o,m=H(u),y=Z(s),d=y?o:m;if(a.keepDefaultValues||(o=u),!a.keepValues){if(a.keepDirtyValues){const v=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(v))h(t.dirtyFields,S)?P(d,S,h(i,S)):X(S,h(d,S))}else{if(qe&&U(s))for(const v of f.mount){const S=h(n,v);if(S&&S._f){const D=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(je(D)){const re=D.closest("form");if(re){re.reset();break}}}}if(a.keepFieldsRef)for(const v of f.mount)X(v,h(d,v));else n={}}i=r.shouldUnregister?a.keepDefaultValues?H(o):{}:H(d),b.array.next({values:{...d}}),b.state.next({values:{...d}})}f={mount:a.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!E.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!Z(d),l.watch=!!r.shouldUnregister,l.keepIsValid=!!a.keepIsValid,l.action=!1,a.keepErrors||(t.errors={}),b.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ae(s,o)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:a.keepDirtyValues?a.keepDefaultValues&&i?Ve(o,i):t.dirtyFields:a.keepDefaultValues&&s?Ve(o,s):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},et=(s,a)=>Ke(ne(s)?s(i):s,{...r.resetOptions,...a}),Nt=(s,a={})=>{const u=h(n,s),m=u&&u._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&ne(y.select)&&y.select()})}},Lt=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:L,_subscribe:_e,_runSchema:se,_updateIsValidating:W,_focusError:Ie,_getWatch:R,_getDirty:x,_setValid:$,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:I,_reset:Ke,_resetDefaultValues:()=>ne(r.defaultValues)&&r.defaultValues().then(s=>{et(s,r.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:fe,_disableForm:jt,_subjects:b,_proxyFormState:E,get _fields(){return n},get _formValues(){return i},get _state(){return l},set _state(s){l=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:M,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError: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});default:return null}throw new Error(`AutoForm: No renderer found for field "${e.name}" with type "${e.type}". If this is a custom field type, make sure to register a renderer via uiConfig.renderersByType.`)},_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}),$=g.useRef(!1),[W,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($.current)return;V(!1);const fe=await f();N||(O.reset(Se(t,fe),{keepErrors:!0,keepDirty:!1,keepTouched:!1}),$.current=!0,V(!0))})(),()=>{N=!0}},[t,f]),g.useImperativeHandle(r,()=>({submit:async()=>{await O.handleSubmit(n)()},reset:N=>{O.reset(N?Se(t,N):void 0)},getValues:()=>O.getValues(),setValue:(N,J)=>{O.setValue(N,J)}}));const k=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 W?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;
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import R, { useMemo as ve, createContext as $t, useContext as Wt, useState as xt, useEffect as Ce, useRef as Et, useImperativeHandle as Yt } from "react";
2
- var Oe = { exports: {} }, Ae = {};
2
+ var De = { exports: {} }, Ae = {};
3
3
  /**
4
4
  * @license React
5
5
  * react-jsx-runtime.production.js
@@ -67,7 +67,7 @@ function zt() {
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 D:
70
+ case O:
71
71
  return "Portal";
72
72
  case C:
73
73
  return c.displayName || "Context";
@@ -144,13 +144,13 @@ function zt() {
144
144
  configurable: !0
145
145
  });
146
146
  }
147
- function p() {
147
+ function F() {
148
148
  var c = e(this.type);
149
149
  return X[c] || (X[c] = !0, console.error(
150
150
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
151
151
  )), c = this.props.ref, c !== void 0 ? c : null;
152
152
  }
153
- function F(c, g, j, L, _e, xe) {
153
+ function p(c, g, j, L, _e, xe) {
154
154
  var U = j.ref;
155
155
  return c = {
156
156
  $$typeof: B,
@@ -160,7 +160,7 @@ function zt() {
160
160
  _owner: L
161
161
  }, (U !== void 0 ? U : null) !== null ? Object.defineProperty(c, "ref", {
162
162
  enumerable: !1,
163
- get: p
163
+ get: F
164
164
  }) : Object.defineProperty(c, "ref", { enumerable: !1, value: null }), c._store = {}, Object.defineProperty(c._store, "validated", {
165
165
  configurable: !1,
166
166
  enumerable: !1,
@@ -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 S(c, g, j, L, _e, xe) {
186
+ function T(c, g, j, L, _e, xe) {
187
187
  var U = g.children;
188
188
  if (U !== void 0)
189
189
  if (L)
@@ -198,8 +198,8 @@ function zt() {
198
198
  else x(U);
199
199
  if (w.call(g, "key")) {
200
200
  U = e(c);
201
- var oe = Object.keys(g).filter(function(Fe) {
202
- return Fe !== "key";
201
+ var oe = Object.keys(g).filter(function(pe) {
202
+ return pe !== "key";
203
203
  });
204
204
  L = 0 < oe.length ? "{key: someKey, " + oe.join(": ..., ") + ": ...}" : "{key: someKey}", me[U + L] || (oe = 0 < oe.length ? "{" + oe.join(": ..., ") + ": ...}" : "{}", console.error(
205
205
  `A props object containing a "key" prop is being spread into JSX:
@@ -222,7 +222,7 @@ React keys must be passed directly to JSX without using spread:
222
222
  return U && f(
223
223
  j,
224
224
  typeof c == "function" ? c.displayName || c.name || "Unknown" : c
225
- ), F(
225
+ ), p(
226
226
  c,
227
227
  U,
228
228
  j,
@@ -237,7 +237,7 @@ React keys must be passed directly to JSX without using spread:
237
237
  function A(c) {
238
238
  return typeof c == "object" && c !== null && c.$$typeof === B;
239
239
  }
240
- var b = R, B = Symbol.for("react.transitional.element"), D = Symbol.for("react.portal"), $ = Symbol.for("react.fragment"), W = Symbol.for("react.strict_mode"), E = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), C = Symbol.for("react.context"), k = Symbol.for("react.forward_ref"), ee = Symbol.for("react.suspense"), ce = Symbol.for("react.suspense_list"), se = Symbol.for("react.memo"), N = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), _ = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, w = Object.prototype.hasOwnProperty, I = Array.isArray, Y = console.createTask ? console.createTask : function() {
240
+ var b = R, B = Symbol.for("react.transitional.element"), O = Symbol.for("react.portal"), $ = Symbol.for("react.fragment"), W = Symbol.for("react.strict_mode"), E = Symbol.for("react.profiler"), G = Symbol.for("react.consumer"), C = Symbol.for("react.context"), k = Symbol.for("react.forward_ref"), ee = Symbol.for("react.suspense"), ce = Symbol.for("react.suspense_list"), se = Symbol.for("react.memo"), N = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), _ = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, w = Object.prototype.hasOwnProperty, I = Array.isArray, Y = console.createTask ? console.createTask : function() {
241
241
  return null;
242
242
  };
243
243
  b = {
@@ -251,7 +251,7 @@ React keys must be passed directly to JSX without using spread:
251
251
  )(), ye = Y(n(i)), me = {};
252
252
  we.Fragment = $, we.jsx = function(c, g, j) {
253
253
  var L = 1e4 > _.recentlyCreatedOwnerStacks++;
254
- return S(
254
+ return T(
255
255
  c,
256
256
  g,
257
257
  j,
@@ -261,7 +261,7 @@ React keys must be passed directly to JSX without using spread:
261
261
  );
262
262
  }, we.jsxs = function(c, g, j) {
263
263
  var L = 1e4 > _.recentlyCreatedOwnerStacks++;
264
- return S(
264
+ return T(
265
265
  c,
266
266
  g,
267
267
  j,
@@ -274,11 +274,11 @@ React keys must be passed directly to JSX without using spread:
274
274
  }
275
275
  var ot;
276
276
  function Ht() {
277
- return ot || (ot = 1, process.env.NODE_ENV === "production" ? Oe.exports = qt() : Oe.exports = zt()), Oe.exports;
277
+ return ot || (ot = 1, process.env.NODE_ENV === "production" ? De.exports = qt() : De.exports = zt()), De.exports;
278
278
  }
279
- var V = Ht(), Se = (e) => e.type === "checkbox", be = (e) => e instanceof Date, K = (e) => e == null;
279
+ var V = Ht(), Te = (e) => e.type === "checkbox", be = (e) => e instanceof Date, K = (e) => e == null;
280
280
  const Vt = (e) => typeof e == "object";
281
- var z = (e) => !K(e) && !Array.isArray(e) && Vt(e) && !be(e), Jt = (e) => z(e) && e.target ? Se(e.target) ? e.target.checked : e.target.value : e, Gt = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Xt = (e, r) => e.has(Gt(r)), Zt = (e) => {
281
+ var z = (e) => !K(e) && !Array.isArray(e) && Vt(e) && !be(e), Jt = (e) => z(e) && e.target ? Te(e.target) ? e.target.checked : e.target.value : e, Gt = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Xt = (e, r) => e.has(Gt(r)), Zt = (e) => {
282
282
  const r = e.constructor && e.constructor.prototype;
283
283
  return z(r) && r.hasOwnProperty("isPrototypeOf");
284
284
  }, ze = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
@@ -306,14 +306,14 @@ var Ie = (e) => /^\w*$/.test(e), M = (e) => e === void 0, He = (e) => Array.isAr
306
306
  const o = Ie(r) ? [r] : Je(r), i = o.length, u = i - 1;
307
307
  for (; ++n < i; ) {
308
308
  const f = o[n];
309
- let p = t;
309
+ let F = t;
310
310
  if (n !== u) {
311
- const F = e[f];
312
- p = z(F) || Array.isArray(F) ? F : isNaN(+o[n + 1]) ? {} : [];
311
+ const p = e[f];
312
+ F = z(p) || Array.isArray(p) ? p : isNaN(+o[n + 1]) ? {} : [];
313
313
  }
314
314
  if (f === "__proto__" || f === "constructor" || f === "prototype")
315
315
  return;
316
- e[f] = p, e = e[f];
316
+ e[f] = F, e = e[f];
317
317
  }
318
318
  };
319
319
  const lt = {
@@ -352,7 +352,7 @@ var Kt = (e, r, t, n = !0) => {
352
352
  });
353
353
  return o;
354
354
  };
355
- const pt = typeof window < "u" ? R.useLayoutEffect : R.useEffect;
355
+ const Ft = typeof window < "u" ? R.useLayoutEffect : R.useEffect;
356
356
  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), Ye = (e) => K(e) || !Vt(e);
357
357
  function ae(e, r, t = /* @__PURE__ */ new WeakSet()) {
358
358
  if (Ye(e) || Ye(r))
@@ -377,26 +377,26 @@ function ae(e, r, t = /* @__PURE__ */ new WeakSet()) {
377
377
  }
378
378
  return !0;
379
379
  }
380
- function Ft(e) {
381
- const r = ge(), { control: t = r.control, name: n, defaultValue: o, disabled: i, exact: u, compute: f } = e || {}, p = R.useRef(o), F = R.useRef(f), S = R.useRef(void 0), x = R.useRef(t), A = R.useRef(n);
382
- F.current = f;
380
+ function pt(e) {
381
+ const r = ge(), { control: t = r.control, name: n, defaultValue: o, disabled: i, exact: u, compute: f } = e || {}, F = R.useRef(o), p = R.useRef(f), T = R.useRef(void 0), x = R.useRef(t), A = R.useRef(n);
382
+ p.current = f;
383
383
  const [b, B] = R.useState(() => {
384
- const C = t._getWatch(n, p.current);
385
- return F.current ? F.current(C) : C;
386
- }), D = R.useCallback((C) => {
387
- const k = We(n, t._names, C || t._formValues, !1, p.current);
388
- return F.current ? F.current(k) : k;
384
+ const C = t._getWatch(n, F.current);
385
+ return p.current ? p.current(C) : C;
386
+ }), O = R.useCallback((C) => {
387
+ const k = We(n, t._names, C || t._formValues, !1, F.current);
388
+ return p.current ? p.current(k) : k;
389
389
  }, [t._formValues, t._names, n]), $ = R.useCallback((C) => {
390
390
  if (!i) {
391
- const k = We(n, t._names, C || t._formValues, !1, p.current);
392
- if (F.current) {
393
- const ee = F.current(k);
394
- ae(ee, S.current) || (B(ee), S.current = ee);
391
+ const k = We(n, t._names, C || t._formValues, !1, F.current);
392
+ if (p.current) {
393
+ const ee = p.current(k);
394
+ ae(ee, T.current) || (B(ee), T.current = ee);
395
395
  } else
396
396
  B(k);
397
397
  }
398
398
  }, [t._formValues, t._names, i, n]);
399
- pt(() => ((x.current !== t || !ae(A.current, n)) && (x.current = t, A.current = n, $()), t._subscribe({
399
+ Ft(() => ((x.current !== t || !ae(A.current, n)) && (x.current = t, A.current = n, $()), t._subscribe({
400
400
  name: n,
401
401
  formState: {
402
402
  values: !0
@@ -410,8 +410,8 @@ function Ft(e) {
410
410
  if (i)
411
411
  return null;
412
412
  const C = !W && !ae(E, n);
413
- return W || C ? D() : null;
414
- }, [i, W, n, E, D]);
413
+ return W || C ? O() : null;
414
+ }, [i, W, n, E, O]);
415
415
  return G !== null ? G : b;
416
416
  }
417
417
  var er = (e, r, t, n, o) => r ? {
@@ -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) || Se(e), $e = (e) => je(e) && e.isConnected;
460
+ }, wt = (e) => e.type === "select-multiple", Ze = (e) => e.type === "radio", tr = (e) => Ze(e) || Te(e), $e = (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;
@@ -491,12 +491,12 @@ function qe(e, r = {}) {
491
491
  }
492
492
  return r;
493
493
  }
494
- function pe(e, r, t) {
494
+ function Fe(e, r, t) {
495
495
  t || (t = qe(r));
496
496
  for (const n in e) {
497
497
  const o = e[n];
498
498
  if (Rt(o))
499
- M(r) || Ye(t[n]) ? t[n] = qe(o, Array.isArray(o) ? [] : {}) : pe(o, K(r) ? {} : r[n], t[n]);
499
+ M(r) || Ye(t[n]) ? t[n] = qe(o, Array.isArray(o) ? [] : {}) : Fe(o, K(r) ? {} : r[n], t[n]);
500
500
  else {
501
501
  const i = r[n];
502
502
  t[n] = !ae(o, i);
@@ -520,18 +520,18 @@ var kt = (e) => {
520
520
  ) : ct;
521
521
  }
522
522
  return ct;
523
- }, Tt = (e, { valueAsNumber: r, valueAsDate: t, setValueAs: n }) => M(e) ? e : r ? e === "" ? NaN : e && +e : t && te(e) ? new Date(e) : n ? n(e) : e;
523
+ }, St = (e, { valueAsNumber: r, valueAsDate: t, setValueAs: n }) => M(e) ? e : r ? e === "" ? NaN : e && +e : t && te(e) ? new Date(e) : n ? n(e) : e;
524
524
  const dt = {
525
525
  isValid: !1,
526
526
  value: null
527
527
  };
528
- var St = (e) => Array.isArray(e) ? e.reduce((r, t) => t && t.checked && !t.disabled ? {
528
+ var Tt = (e) => Array.isArray(e) ? e.reduce((r, t) => t && t.checked && !t.disabled ? {
529
529
  isValid: !0,
530
530
  value: t.value
531
531
  } : r, dt) : dt;
532
532
  function yt(e) {
533
533
  const r = e.ref;
534
- return Xe(r) ? r.files : Ze(r) ? St(e.refs).value : wt(r) ? [...r.selectedOptions].map(({ value: t }) => t) : Se(r) ? kt(e.refs).value : Tt(M(r.value) ? e.ref.value : r.value, e);
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);
535
535
  }
536
536
  var ir = (e, r, t, n) => {
537
537
  const o = {};
@@ -554,7 +554,7 @@ var ir = (e, r, t, n) => {
554
554
  });
555
555
  const ht = "AsyncFunction";
556
556
  var ar = (e) => !!e && !!e.validate && !!(ne(e.validate) && e.validate.constructor.name === ht || z(e.validate) && Object.values(e.validate).find((r) => r.constructor.name === ht)), or = (e) => e.mount && (e.required || e.min || e.max || e.maxLength || e.minLength || e.pattern || e.validate), vt = (e, r, t) => !t && (r.watchAll || r.watch.has(e) || [...r.watch].some((n) => e.startsWith(n) && /^\.\w+/.test(e.slice(n.length))));
557
- const Te = (e, r, t, n) => {
557
+ const Se = (e, r, t, n) => {
558
558
  for (const o of t || Object.keys(e)) {
559
559
  const i = h(e, o);
560
560
  if (i) {
@@ -564,9 +564,9 @@ const Te = (e, r, t, n) => {
564
564
  return !0;
565
565
  if (u.ref && r(u.ref, u.name) && !n)
566
566
  return !0;
567
- if (Te(f, r))
567
+ if (Se(f, r))
568
568
  break;
569
- } else if (z(f) && Te(f, r))
569
+ } else if (z(f) && Se(f, r))
570
570
  break;
571
571
  }
572
572
  }
@@ -619,23 +619,23 @@ 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: p, maxLength: F, minLength: S, min: x, max: A, pattern: b, validate: B, name: D, valueAsNumber: $, mount: W } = e._f, E = h(t, D);
623
- if (!W || r.has(D))
622
+ const { ref: u, refs: f, required: F, maxLength: p, minLength: T, min: x, max: A, pattern: b, validate: B, name: O, valueAsNumber: $, mount: W } = e._f, E = h(t, O);
623
+ if (!W || r.has(O))
624
624
  return {};
625
625
  const G = f ? f[0] : u, C = (_) => {
626
626
  o && G.reportValidity && (G.setCustomValidity(le(_) ? "" : _ || ""), G.reportValidity());
627
- }, k = {}, ee = Ze(u), ce = Se(u), se = ee || ce, N = ($ || Xe(u)) && M(u.value) && M(E) || je(u) && u.value === "" || E === "" || Array.isArray(E) && !E.length, J = er.bind(null, D, n, k), fe = (_, w, I, Y = ue.maxLength, Q = ue.minLength) => {
627
+ }, k = {}, ee = Ze(u), ce = Te(u), se = ee || ce, N = ($ || Xe(u)) && M(u.value) && M(E) || je(u) && u.value === "" || E === "" || Array.isArray(E) && !E.length, J = er.bind(null, O, n, k), fe = (_, w, I, Y = ue.maxLength, Q = ue.minLength) => {
628
628
  const X = _ ? w : I;
629
- k[D] = {
629
+ k[O] = {
630
630
  type: _ ? Y : Q,
631
631
  message: X,
632
632
  ref: u,
633
633
  ...J(_ ? Y : Q, X)
634
634
  };
635
635
  };
636
- if (i ? !Array.isArray(E) || !E.length : p && (!se && (N || K(E)) || le(E) && !E || ce && !kt(f).isValid || ee && !St(f).isValid)) {
637
- const { value: _, message: w } = te(p) ? { value: !!p, message: p } : Ve(p);
638
- if (_ && (k[D] = {
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] = {
639
639
  type: ue.required,
640
640
  message: w,
641
641
  ref: G,
@@ -654,16 +654,16 @@ var Ve = (e) => z(e) && !Pe(e) ? e : {
654
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));
655
655
  }
656
656
  if ((_ || w) && (fe(!!_, I.message, Y.message, ue.max, ue.min), !n))
657
- return C(k[D].message), k;
657
+ return C(k[O].message), k;
658
658
  }
659
- if ((F || S) && !N && (te(E) || i && Array.isArray(E))) {
660
- const _ = Ve(F), w = Ve(S), I = !K(_.value) && E.length > +_.value, Y = !K(w.value) && E.length < +w.value;
659
+ if ((p || T) && !N && (te(E) || i && Array.isArray(E))) {
660
+ const _ = Ve(p), w = Ve(T), I = !K(_.value) && E.length > +_.value, Y = !K(w.value) && E.length < +w.value;
661
661
  if ((I || Y) && (fe(I, _.message, w.message), !n))
662
- return C(k[D].message), k;
662
+ return C(k[O].message), k;
663
663
  }
664
664
  if (b && !N && te(E)) {
665
665
  const { value: _, message: w } = Ve(b);
666
- if (Pe(_) && !E.match(_) && (k[D] = {
666
+ if (Pe(_) && !E.match(_) && (k[O] = {
667
667
  type: ue.pattern,
668
668
  message: w,
669
669
  ref: u,
@@ -674,7 +674,7 @@ var Ve = (e) => z(e) && !Pe(e) ? e : {
674
674
  if (B) {
675
675
  if (ne(B)) {
676
676
  const _ = await B(E, t), w = gt(_, G);
677
- if (w && (k[D] = {
677
+ if (w && (k[O] = {
678
678
  ...w,
679
679
  ...J(ue.validate, w.message)
680
680
  }, !n))
@@ -688,9 +688,9 @@ var Ve = (e) => z(e) && !Pe(e) ? e : {
688
688
  I && (_ = {
689
689
  ...I,
690
690
  ...J(w, I.message)
691
- }, C(I.message), n && (k[D] = _));
691
+ }, C(I.message), n && (k[O] = _));
692
692
  }
693
- if (!Z(_) && (k[D] = {
693
+ if (!Z(_) && (k[O] = {
694
694
  ref: G,
695
695
  ..._
696
696
  }, !n))
@@ -734,8 +734,8 @@ function mr(e = {}) {
734
734
  unMount: /* @__PURE__ */ new Set(),
735
735
  array: /* @__PURE__ */ new Set(),
736
736
  watch: /* @__PURE__ */ new Set()
737
- }, p, F = 0;
738
- const S = {
737
+ }, F, p = 0;
738
+ const T = {
739
739
  isDirty: !1,
740
740
  dirtyFields: !1,
741
741
  validatingFields: !1,
@@ -744,7 +744,7 @@ function mr(e = {}) {
744
744
  isValid: !1,
745
745
  errors: !1
746
746
  }, x = {
747
- ...S
747
+ ...T
748
748
  };
749
749
  let A = {
750
750
  ...x
@@ -752,8 +752,8 @@ function mr(e = {}) {
752
752
  const b = {
753
753
  array: ut(),
754
754
  state: ut()
755
- }, B = r.criteriaMode === ie.all, D = (s) => (a) => {
756
- clearTimeout(F), F = setTimeout(s, a);
755
+ }, B = r.criteriaMode === ie.all, O = (s) => (a) => {
756
+ clearTimeout(p), p = setTimeout(s, a);
757
757
  }, $ = async (s) => {
758
758
  if (!u.keepIsValid && !r.disabled && (x.isValid || A.isValid || s)) {
759
759
  let a;
@@ -782,7 +782,7 @@ function mr(e = {}) {
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 || A.dirtyFields) && (t.dirtyFields = pe(o, i)), b.state.next({
785
+ (x.dirtyFields || A.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 T = {
811
+ const S = {
812
812
  name: s
813
813
  };
814
814
  if (!r.disabled) {
815
815
  if (!l || m) {
816
- (x.isDirty || A.isDirty) && (v = t.isDirty, t.isDirty = T.isDirty = _(), d = v !== T.isDirty);
817
- const O = ae(h(o, s), a);
818
- v = !!h(t.dirtyFields, s), O ? q(t.dirtyFields, s) : P(t.dirtyFields, s, !0), T.dirtyFields = t.dirtyFields, d = d || (x.dirtyFields || A.dirtyFields) && v !== !O;
816
+ (x.isDirty || A.isDirty) && (v = t.isDirty, t.isDirty = S.isDirty = _(), d = v !== S.isDirty);
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 || A.dirtyFields) && v !== !D;
819
819
  }
820
820
  if (l) {
821
- const O = h(t.touchedFields, s);
822
- O || (P(t.touchedFields, s, l), T.touchedFields = t.touchedFields, d = d || (x.touchedFields || A.touchedFields) && O !== l);
821
+ const D = h(t.touchedFields, s);
822
+ D || (P(t.touchedFields, s, l), S.touchedFields = t.touchedFields, d = d || (x.touchedFields || A.touchedFields) && D !== l);
823
823
  }
824
- d && y && b.state.next(T);
824
+ d && y && b.state.next(S);
825
825
  }
826
- return d ? T : {};
826
+ return d ? S : {};
827
827
  }, ce = (s, a, l, m) => {
828
828
  const y = h(t.errors, s), d = (x.isValid || A.isValid) && le(a) && t.isValid !== a;
829
- if (r.delayError && l ? (p = D(() => G(s, l)), p(r.delayError)) : (clearTimeout(F), p = null, l ? P(t.errors, s, l) : q(t.errors, s)), (l ? !ae(y, l) : y) || !Z(m) || d) {
829
+ if (r.delayError && l ? (F = O(() => G(s, l)), F(r.delayError)) : (clearTimeout(p), 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 } : {},
@@ -856,12 +856,12 @@ function mr(e = {}) {
856
856
  if (y) {
857
857
  const { _f: d, ...v } = y;
858
858
  if (d) {
859
- const T = f.array.has(d.name), O = y._f && ar(y._f);
860
- O && x.validatingFields && W([d.name], !0);
861
- const re = await _t(y, f.disabled, i, B, r.shouldUseNativeValidation && !a, T);
862
- if (O && x.validatingFields && W([d.name]), re[d.name] && (l.valid = !1, a))
859
+ const S = f.array.has(d.name), D = y._f && ar(y._f);
860
+ D && x.validatingFields && W([d.name], !0);
861
+ const re = await _t(y, f.disabled, i, B, r.shouldUseNativeValidation && !a, S);
862
+ if (D && x.validatingFields && W([d.name]), re[d.name] && (l.valid = !1, a))
863
863
  break;
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));
864
+ !a && (h(re, d.name) ? S ? dr(t.errors, re, d.name) : P(t.errors, d.name, re[d.name]) : q(t.errors, d.name));
865
865
  }
866
866
  !Z(v) && await J(v, a, l);
867
867
  }
@@ -880,8 +880,8 @@ function mr(e = {}) {
880
880
  let y = a;
881
881
  if (m) {
882
882
  const d = m._f;
883
- d && (!d.disabled && P(i, s, Tt(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 ? Se(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);
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);
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
887
  values: H(i)
@@ -902,7 +902,7 @@ function mr(e = {}) {
902
902
  values: H(i)
903
903
  }), (x.isDirty || x.dirtyFields || A.isDirty || A.dirtyFields) && l.shouldDirty && b.state.next({
904
904
  name: s,
905
- dirtyFields: pe(o, i),
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,
@@ -912,14 +912,14 @@ function mr(e = {}) {
912
912
  u.mount = !0;
913
913
  const a = s.target;
914
914
  let l = a.name, m = !0;
915
- const y = h(n, l), d = (O) => {
916
- m = Number.isNaN(O) || be(O) && isNaN(O.getTime()) || ae(O, h(i, l, O));
917
- }, v = mt(r.mode), T = mt(r.reValidateMode);
915
+ const y = h(n, l), d = (D) => {
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);
918
918
  if (y) {
919
- let O, re;
920
- const De = 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
- P(i, l, De), he ? (!a || !a.readOnly) && (y._f.onBlur && y._f.onBlur(s), p && p(0)) : y._f.onChange && y._f.onChange(s);
922
- const Be = ee(l, De, he), Mt = !Z(Be) || Me;
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);
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
+ 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,
@@ -928,13 +928,13 @@ function mr(e = {}) {
928
928
  return (x.isValid || A.isValid) && (r.mode === "onBlur" ? he && $() : he || $()), Mt && b.state.next({ name: l, ...Me ? {} : Be });
929
929
  if (!he && Me && b.state.next({ ...t }), r.resolver) {
930
930
  const { errors: st } = await se([l]);
931
- if (W([l]), d(De), m) {
931
+ if (W([l]), d(Oe), m) {
932
932
  const Bt = bt(t.errors, n, l), nt = bt(st, n, Bt.name || l);
933
- O = nt.error, l = nt.name, re = Z(st);
933
+ D = nt.error, l = nt.name, re = Z(st);
934
934
  }
935
935
  } else
936
- W([l], !0), O = (await _t(y, f.disabled, i, B, r.shouldUseNativeValidation))[l], W([l]), d(De), m && (O ? re = !1 : (x.isValid || A.isValid) && (re = await J(n, !0)));
937
- m && (y._f.deps && (!Array.isArray(y._f.deps) || y._f.deps.length > 0) && me(y._f.deps), ce(l, re, O, Be));
936
+ W([l], !0), D = (await _t(y, f.disabled, i, B, r.shouldUseNativeValidation))[l], W([l]), d(Oe), m && (D ? re = !1 : (x.isValid || A.isValid) && (re = await J(n, !0)));
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) => {
940
940
  if (h(t.errors, a) && s.focus)
@@ -953,7 +953,7 @@ function mr(e = {}) {
953
953
  ...!te(s) || (x.isValid || A.isValid) && l !== t.isValid ? {} : { name: s },
954
954
  ...r.resolver || !s ? { isValid: l } : {},
955
955
  errors: t.errors
956
- }), a.shouldFocus && !m && Te(n, ye, s ? y : f.mount), m;
956
+ }), a.shouldFocus && !m && Se(n, ye, s ? y : f.mount), m;
957
957
  }, c = (s, a) => {
958
958
  let l = {
959
959
  ...u.mount ? i : o
@@ -970,9 +970,9 @@ 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: T, ...O } = y;
973
+ const m = (h(n, s, { _f: {} })._f || {}).ref, y = h(t.errors, s) || {}, { ref: d, message: v, type: S, ...D } = y;
974
974
  P(t.errors, s, {
975
- ...O,
975
+ ...D,
976
976
  ...a,
977
977
  ref: m
978
978
  }), b.state.next({
@@ -997,7 +997,7 @@ function mr(e = {}) {
997
997
  }, xe({
998
998
  ...s,
999
999
  formState: {
1000
- ...S,
1000
+ ...T,
1001
1001
  ...s.formState
1002
1002
  }
1003
1003
  })), oe = (s, a = {}) => {
@@ -1011,7 +1011,7 @@ function mr(e = {}) {
1011
1011
  }), !a.keepIsValid && $();
1012
1012
  }, Ee = ({ disabled: s, name: a }) => {
1013
1013
  (le(s) && u.mount || s || f.disabled.has(a)) && (s ? f.disabled.add(a) : f.disabled.delete(a));
1014
- }, Fe = (s, a = {}) => {
1014
+ }, pe = (s, a = {}) => {
1015
1015
  let l = h(n, s);
1016
1016
  const m = le(a.disabled) || le(r.disabled);
1017
1017
  return P(n, s, {
@@ -1040,16 +1040,16 @@ function mr(e = {}) {
1040
1040
  onBlur: de,
1041
1041
  ref: (y) => {
1042
1042
  if (y) {
1043
- Fe(s, a), l = h(n, s);
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((O) => O === d) : d === l._f.ref)
1043
+ pe(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)
1046
1046
  return;
1047
1047
  P(n, s, {
1048
1048
  _f: {
1049
1049
  ...l._f,
1050
1050
  ...v ? {
1051
1051
  refs: [
1052
- ...T.filter($e),
1052
+ ...S.filter($e),
1053
1053
  d,
1054
1054
  ...Array.isArray(h(o, s)) ? [{}] : []
1055
1055
  ],
@@ -1061,8 +1061,8 @@ function mr(e = {}) {
1061
1061
  l = h(n, s, {}), l._f && (l._f.mount = !1), (r.shouldUnregister || a.shouldUnregister) && !(Xt(f.array, s) && u.action) && f.unMount.add(s);
1062
1062
  }
1063
1063
  };
1064
- }, Ue = () => r.shouldFocusError && Te(n, ye, f.mount), Pt = (s) => {
1065
- le(s) && (b.state.next({ disabled: s }), Te(n, (a, l) => {
1064
+ }, Ue = () => r.shouldFocusError && Se(n, ye, f.mount), Pt = (s) => {
1065
+ le(s) && (b.state.next({ disabled: s }), Se(n, (a, l) => {
1066
1066
  const m = h(n, l);
1067
1067
  m && (a.disabled = m._f.disabled || s, Array.isArray(m._f.refs) && m._f.refs.forEach((y) => {
1068
1068
  y.disabled = m._f.disabled || s;
@@ -1109,18 +1109,18 @@ function mr(e = {}) {
1109
1109
  if (a.keepDirtyValues) {
1110
1110
  const v = /* @__PURE__ */ new Set([
1111
1111
  ...f.mount,
1112
- ...Object.keys(pe(o, i))
1112
+ ...Object.keys(Fe(o, i))
1113
1113
  ]);
1114
- for (const T of Array.from(v))
1115
- h(t.dirtyFields, T) ? P(d, T, h(i, T)) : X(T, h(d, T));
1114
+ for (const S of Array.from(v))
1115
+ h(t.dirtyFields, S) ? P(d, S, h(i, S)) : X(S, h(d, S));
1116
1116
  } else {
1117
1117
  if (ze && M(s))
1118
1118
  for (const v of f.mount) {
1119
- const T = h(n, v);
1120
- if (T && T._f) {
1121
- const O = Array.isArray(T._f.refs) ? T._f.refs[0] : T._f.ref;
1122
- if (je(O)) {
1123
- const re = O.closest("form");
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;
1122
+ if (je(D)) {
1123
+ const re = D.closest("form");
1124
1124
  if (re) {
1125
1125
  re.reset();
1126
1126
  break;
@@ -1152,7 +1152,7 @@ function mr(e = {}) {
1152
1152
  submitCount: a.keepSubmitCount ? t.submitCount : 0,
1153
1153
  isDirty: y ? !1 : a.keepDirty ? t.isDirty : !!(a.keepDefaultValues && !ae(s, o)),
1154
1154
  isSubmitted: a.keepIsSubmitted ? t.isSubmitted : !1,
1155
- dirtyFields: y ? {} : a.keepDirtyValues ? a.keepDefaultValues && i ? pe(o, i) : t.dirtyFields : a.keepDefaultValues && s ? pe(o, s) : a.keepDirty ? t.dirtyFields : {},
1155
+ dirtyFields: y ? {} : a.keepDirtyValues ? a.keepDefaultValues && i ? Fe(o, i) : t.dirtyFields : a.keepDefaultValues && s ? Fe(o, s) : a.keepDirty ? t.dirtyFields : {},
1156
1156
  touchedFields: a.keepTouched ? t.touchedFields : {},
1157
1157
  errors: a.keepErrors ? t.errors : {},
1158
1158
  isSubmitSuccessful: a.keepIsSubmitSuccessful ? t.isSubmitSuccessful : !1,
@@ -1174,7 +1174,7 @@ function mr(e = {}) {
1174
1174
  };
1175
1175
  }, rt = {
1176
1176
  control: {
1177
- register: Fe,
1177
+ register: pe,
1178
1178
  unregister: oe,
1179
1179
  getFieldState: g,
1180
1180
  handleSubmit: Ke,
@@ -1236,7 +1236,7 @@ function mr(e = {}) {
1236
1236
  },
1237
1237
  subscribe: U,
1238
1238
  trigger: me,
1239
- register: Fe,
1239
+ register: pe,
1240
1240
  handleSubmit: Ke,
1241
1241
  watch: _e,
1242
1242
  setValue: X,
@@ -1286,7 +1286,7 @@ function hr(e = {}) {
1286
1286
  };
1287
1287
  }
1288
1288
  const i = r.current.control;
1289
- return i._options = e, pt(() => {
1289
+ return i._options = e, Ft(() => {
1290
1290
  const u = i._subscribe({
1291
1291
  formState: i._proxyFormState,
1292
1292
  callback: () => o({ ...i._formState }),
@@ -1321,7 +1321,7 @@ function hr(e = {}) {
1321
1321
  i._state.mount || (i._setValid(), i._state.mount = !0), i._state.watch && (i._state.watch = !1, i._subjects.state.next({ ...i._formState })), i._removeUnmounted();
1322
1322
  }), r.current.formState = Kt(n, i), r.current;
1323
1323
  }
1324
- const Dt = $t(null), vr = ({
1324
+ const Ot = $t(null), vr = ({
1325
1325
  children: e,
1326
1326
  layout: r = "vertical",
1327
1327
  uiConfig: t,
@@ -1335,9 +1335,9 @@ const Dt = $t(null), vr = ({
1335
1335
  }),
1336
1336
  [r, t, n]
1337
1337
  );
1338
- return /* @__PURE__ */ V.jsx(Dt.Provider, { value: o, children: e });
1339
- }, Ot = () => {
1340
- const e = Wt(Dt);
1338
+ return /* @__PURE__ */ V.jsx(Ot.Provider, { value: o, children: e });
1339
+ }, Dt = () => {
1340
+ const e = Wt(Ot);
1341
1341
  if (!e)
1342
1342
  throw new Error("useAutoFormRenderContext must be used within AutoFormRenderContextProvider");
1343
1343
  return e;
@@ -1359,9 +1359,9 @@ function _r(e, r) {
1359
1359
  return e.forEach((n, o) => {
1360
1360
  const i = n.split(".");
1361
1361
  let u = t;
1362
- i.forEach((f, p) => {
1363
- const F = p === i.length - 1, S = !isNaN(Number(f));
1364
- F ? u[f] = r[o] : (f in u || (u[f] = S ? [] : {}), u = u[f]);
1362
+ i.forEach((f, F) => {
1363
+ const p = F === i.length - 1, T = !isNaN(Number(f));
1364
+ p ? u[f] = r[o] : (f in u || (u[f] = T ? [] : {}), u = u[f]);
1365
1365
  });
1366
1366
  }), t;
1367
1367
  }
@@ -1383,8 +1383,8 @@ function Er(e, r) {
1383
1383
  isNaN(Number(o)) || n.push({ pos: i, value: o });
1384
1384
  }), r.map((o) => {
1385
1385
  const u = [...o.split(".")];
1386
- return n.forEach(({ pos: f, value: p }) => {
1387
- f <= u.length && u.splice(f, 0, p);
1386
+ return n.forEach(({ pos: f, value: F }) => {
1387
+ f <= u.length && u.splice(f, 0, F);
1388
1388
  }), u.join(".");
1389
1389
  });
1390
1390
  }
@@ -1429,25 +1429,25 @@ const Vr = R.memo((e) => {
1429
1429
  ] }),
1430
1430
  /* @__PURE__ */ V.jsx(Le, { schema: o })
1431
1431
  ] });
1432
- }), pr = (e) => {
1433
- const { fieldSchema: r } = e, { control: t, getValues: n, setValue: o } = ge(), u = Ft({
1432
+ }), Fr = (e) => {
1433
+ const { fieldSchema: r } = e, { control: t, getValues: n, setValue: o } = ge(), u = pt({
1434
1434
  control: t,
1435
1435
  name: r.name
1436
1436
  }) ?? [], f = () => {
1437
- const F = n(r.name) || [];
1438
- o(r.name, [...F, Ne(r.fields)]);
1439
- }, p = (F) => {
1440
- const x = (n(r.name) || []).filter((A, b) => b !== F);
1437
+ const p = n(r.name) || [];
1438
+ o(r.name, [...p, Ne(r.fields)]);
1439
+ }, F = (p) => {
1440
+ const x = (n(r.name) || []).filter((A, b) => b !== p);
1441
1441
  o(r.name, x);
1442
1442
  };
1443
1443
  return /* @__PURE__ */ V.jsxs("div", { children: [
1444
- u.map((F, S) => /* @__PURE__ */ V.jsxs("div", { children: [
1445
- /* @__PURE__ */ V.jsx(Vr, { baseName: r.name, index: S, fields: r.fields }),
1446
- !r.readonly && /* @__PURE__ */ V.jsx("button", { type: "button", onClick: () => p(S), children: "Remove" })
1447
- ] }, S)),
1444
+ u.map((p, 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)),
1448
1448
  !r.readonly && /* @__PURE__ */ V.jsx("button", { type: "button", onClick: f, children: "Add Row" })
1449
1449
  ] });
1450
- }, Fr = R.memo(pr), Ar = (e) => {
1450
+ }, pr = R.memo(Fr), Ar = (e) => {
1451
1451
  const { fieldSchema: r } = e;
1452
1452
  let t = ve(
1453
1453
  () => r.fields.map((n) => ({
@@ -1457,69 +1457,74 @@ const Vr = R.memo((e) => {
1457
1457
  [r.fields]
1458
1458
  );
1459
1459
  return /* @__PURE__ */ V.jsx(Le, { schema: t });
1460
- }, wr = [
1461
- "text",
1462
- "number",
1463
- "checkbox",
1464
- "select",
1465
- "date",
1466
- "datetime-local",
1467
- "time",
1468
- "array",
1469
- "object"
1470
- ], jt = ({ fieldSchema: e }) => {
1471
- var F, S;
1472
- const t = Ot().uiConfig, { register: n, control: o } = ge(), i = Qe(e.name), u = n(e.name), f = (F = t == null ? void 0 : t.renderersByName) == null ? void 0 : F[i];
1460
+ }, jt = ({ fieldSchema: e }) => {
1461
+ var p, T;
1462
+ const t = Dt().uiConfig, { register: n, control: o } = ge(), i = Qe(e.name), u = n(e.name), f = (p = t == null ? void 0 : t.renderersByName) == null ? void 0 : p[i];
1473
1463
  if (e.visible === !1)
1474
1464
  return null;
1475
1465
  if (f)
1476
1466
  return /* @__PURE__ */ V.jsx(f, { fieldSchema: e, control: o, register: u });
1477
- const p = (S = t == null ? void 0 : t.renderersByType) == null ? void 0 : S[e.type];
1478
- if (p)
1479
- return /* @__PURE__ */ V.jsx(p, { fieldSchema: e, control: o, register: u });
1480
- if (wr.includes(e.type))
1481
- return e.type === "select" ? /* @__PURE__ */ V.jsx(gr, { fieldSchema: e }) : e.type === "array" ? /* @__PURE__ */ V.jsx(Fr, { fieldSchema: e }) : e.type === "object" ? /* @__PURE__ */ V.jsx(Ar, { fieldSchema: e }) : /* @__PURE__ */ V.jsx(br, { fieldSchema: e });
1467
+ const F = (T = t == null ? void 0 : t.renderersByType) == null ? void 0 : T[e.type];
1468
+ if (F)
1469
+ return /* @__PURE__ */ V.jsx(F, { fieldSchema: e, control: o, register: u });
1470
+ switch (e.type) {
1471
+ case "select":
1472
+ return /* @__PURE__ */ V.jsx(gr, { fieldSchema: e });
1473
+ case "array":
1474
+ return /* @__PURE__ */ V.jsx(pr, { fieldSchema: e });
1475
+ case "object":
1476
+ return /* @__PURE__ */ V.jsx(Ar, { fieldSchema: e });
1477
+ case "text":
1478
+ case "number":
1479
+ case "checkbox":
1480
+ case "date":
1481
+ case "datetime-local":
1482
+ case "time":
1483
+ return /* @__PURE__ */ V.jsx(br, { fieldSchema: e });
1484
+ default:
1485
+ return null;
1486
+ }
1482
1487
  throw new Error(
1483
1488
  `AutoForm: No renderer found for field "${e.name}" with type "${e.type}". If this is a custom field type, make sure to register a renderer via uiConfig.renderersByType.`
1484
1489
  );
1485
- }, Rr = ({ fieldSchema: e }) => /* @__PURE__ */ V.jsx(jt, { fieldSchema: e }), kr = ({ fieldSchema: e }) => {
1486
- const { control: r } = ge(), t = Ot(), n = e.dependsOn ?? [], o = ve(
1490
+ }, wr = ({ fieldSchema: e }) => /* @__PURE__ */ V.jsx(jt, { fieldSchema: e }), Rr = ({ fieldSchema: e }) => {
1491
+ const { control: r } = ge(), t = Dt(), n = e.dependsOn ?? [], o = ve(
1487
1492
  () => Er(e.name, n),
1488
1493
  [e.name, n]
1489
- ), i = Ft({
1494
+ ), i = pt({
1490
1495
  control: r,
1491
1496
  name: o
1492
1497
  }), [u, f] = xt(e);
1493
1498
  return Ce(() => {
1494
1499
  if (!n.length) return;
1495
- let p = !1;
1500
+ let F = !1;
1496
1501
  return (async () => {
1497
1502
  var B;
1498
- const S = Qe(e.name), x = _r(o, i ?? []), A = (B = t == null ? void 0 : t.updateFieldSchema) == null ? void 0 : B[S];
1503
+ const T = Qe(e.name), x = _r(o, i ?? []), A = (B = t == null ? void 0 : t.updateFieldSchema) == null ? void 0 : B[T];
1499
1504
  if (!A) return;
1500
1505
  const b = await A(e.name, e, x);
1501
- !p && b && f({
1506
+ !F && b && f({
1502
1507
  ...e,
1503
1508
  ...b
1504
1509
  });
1505
1510
  })(), () => {
1506
- p = !0;
1511
+ F = !0;
1507
1512
  };
1508
1513
  }, [i]), /* @__PURE__ */ V.jsx(jt, { fieldSchema: u });
1509
- }, Tr = (e) => {
1514
+ }, kr = (e) => {
1510
1515
  var t;
1511
1516
  const { fieldSchema: r } = e;
1512
- return (t = r.dependsOn) != null && t.length ? /* @__PURE__ */ V.jsx(kr, { fieldSchema: r }) : /* @__PURE__ */ V.jsx(Rr, { fieldSchema: r });
1517
+ return (t = r.dependsOn) != null && t.length ? /* @__PURE__ */ V.jsx(Rr, { fieldSchema: r }) : /* @__PURE__ */ V.jsx(wr, { fieldSchema: r });
1513
1518
  }, Sr = (e) => {
1514
1519
  const { fieldSchema: r } = e;
1515
- return /* @__PURE__ */ V.jsx(Tr, { fieldSchema: r });
1520
+ return /* @__PURE__ */ V.jsx(kr, { fieldSchema: r });
1516
1521
  }, Le = R.memo(
1517
1522
  (e) => {
1518
1523
  const { schema: r } = e;
1519
1524
  return r.map((t) => /* @__PURE__ */ V.jsx(Sr, { fieldSchema: t }, t.name));
1520
1525
  }
1521
1526
  );
1522
- function Dr(e, r) {
1527
+ function Tr(e, r) {
1523
1528
  const t = (i) => /^\d+$/.test(i), n = e.split(".");
1524
1529
  let o = r;
1525
1530
  for (const i of n) {
@@ -1532,11 +1537,11 @@ function Dr(e, r) {
1532
1537
  const Or = (e) => {
1533
1538
  const { onDirtyChange: r, onValuesChange: t, onFieldChange: n } = e, { formState: o, watch: i } = ge(), u = Et(!0);
1534
1539
  return Ce(() => {
1535
- const f = i((p, { name: F = "" }) => {
1540
+ const f = i((F, { name: p = "" }) => {
1536
1541
  var A;
1537
- t(p);
1538
- const S = Qe(F), x = Dr(F, p);
1539
- (A = n == null ? void 0 : n[S]) == null || A.call(n, F, x, p);
1542
+ t(F);
1543
+ const T = Qe(p), x = Tr(p, F);
1544
+ (A = n == null ? void 0 : n[T]) == null || A.call(n, p, x, F);
1540
1545
  });
1541
1546
  return () => f.unsubscribe();
1542
1547
  }, [i, t]), Ce(() => {
@@ -1546,7 +1551,7 @@ const Or = (e) => {
1546
1551
  }
1547
1552
  r(o.isDirty);
1548
1553
  }, [o.isDirty, r]), null;
1549
- }, Cr = ({
1554
+ }, Dr = ({
1550
1555
  onValuesChange: e,
1551
1556
  onDirtyChange: r,
1552
1557
  onFieldChange: t
@@ -1554,7 +1559,7 @@ const Or = (e) => {
1554
1559
  onDirtyChange: r,
1555
1560
  onValuesChange: e,
1556
1561
  onFieldChange: t
1557
- }), null), Nr = R.forwardRef(
1562
+ }), null), Pr = R.forwardRef(
1558
1563
  (e, r) => {
1559
1564
  const {
1560
1565
  schema: t,
@@ -1566,20 +1571,20 @@ const Or = (e) => {
1566
1571
  updateFieldSchema: i = {},
1567
1572
  layout: u = "vertical",
1568
1573
  values: f = () => ({}),
1569
- hideSubmit: p = !1,
1570
- onDirtyChange: F = () => {
1574
+ hideSubmit: F = !1,
1575
+ onDirtyChange: p = () => {
1571
1576
  },
1572
- onValuesChange: S = () => {
1577
+ onValuesChange: T = () => {
1573
1578
  },
1574
1579
  resolver: x,
1575
1580
  readonly: A,
1576
1581
  onFieldChange: b = {},
1577
1582
  loadingComponent: B
1578
- } = e, D = hr({
1583
+ } = e, O = hr({
1579
1584
  reValidateMode: "onSubmit",
1580
1585
  criteriaMode: "all",
1581
1586
  resolver: x
1582
- }), $ = Et(!1), [W, E] = xt(!1), G = D.handleSubmit(n), C = ve(() => {
1587
+ }), $ = Et(!1), [W, E] = xt(!1), G = O.handleSubmit(n), C = ve(() => {
1583
1588
  let N = t;
1584
1589
  return A && (N = Ct(N)), N;
1585
1590
  }, [A, t]);
@@ -1590,7 +1595,7 @@ const Or = (e) => {
1590
1595
  if ($.current) return;
1591
1596
  E(!1);
1592
1597
  const fe = await f();
1593
- N || (D.reset(Ne(t, fe), {
1598
+ N || (O.reset(Ne(t, fe), {
1594
1599
  keepErrors: !0,
1595
1600
  keepDirty: !1,
1596
1601
  keepTouched: !1
@@ -1600,17 +1605,17 @@ const Or = (e) => {
1600
1605
  };
1601
1606
  }, [t, f]), Yt(r, () => ({
1602
1607
  submit: async () => {
1603
- await D.handleSubmit(n)();
1608
+ await O.handleSubmit(n)();
1604
1609
  },
1605
1610
  reset: (N) => {
1606
- D.reset(N ? Ne(t, N) : void 0);
1611
+ O.reset(N ? Ne(t, N) : void 0);
1607
1612
  },
1608
- getValues: () => D.getValues(),
1613
+ getValues: () => O.getValues(),
1609
1614
  setValue: (N, J) => {
1610
- D.setValue(N, J);
1615
+ O.setValue(N, J);
1611
1616
  }
1612
1617
  }));
1613
- const k = p || A, ee = ve(() => o, [o]), ce = ve(() => i, [i]), se = ve(
1618
+ const k = F || A, ee = ve(() => o, [o]), ce = ve(() => i, [i]), se = ve(
1614
1619
  () => ({
1615
1620
  layout: u,
1616
1621
  uiConfig: o,
@@ -1618,12 +1623,12 @@ const Or = (e) => {
1618
1623
  }),
1619
1624
  [u, o, i]
1620
1625
  );
1621
- return W ? /* @__PURE__ */ V.jsxs(Qt, { ...D, children: [
1626
+ return W ? /* @__PURE__ */ V.jsxs(Qt, { ...O, children: [
1622
1627
  /* @__PURE__ */ V.jsx(
1623
- Cr,
1628
+ Dr,
1624
1629
  {
1625
- onDirtyChange: F,
1626
- onValuesChange: S,
1630
+ onDirtyChange: p,
1631
+ onValuesChange: T,
1627
1632
  onFieldChange: b
1628
1633
  }
1629
1634
  ),
@@ -1664,7 +1669,7 @@ const Or = (e) => {
1664
1669
  }
1665
1670
  );
1666
1671
  export {
1667
- Nr as AutoForm,
1672
+ Pr as AutoForm,
1668
1673
  Le as SchemaRenderer,
1669
1674
  _r as buildNestedPartialValues,
1670
1675
  Ne as generateInitialValues,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoforma",
3
- "version": "2.9.5",
3
+ "version": "2.9.7",
4
4
  "description": "AutoForma is a headless dynamic form builder based on React Hook Form",
5
5
  "type": "module",
6
6
  "sideEffects": false,