autoforma 2.9.6 → 2.9.9

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 {
33
+ base: BaseFieldSchema<never>;
34
+ select: SelectFieldSchema<never>;
35
+ hasFields: HasFields<never>;
36
+ array: ArrayFieldSchema<never>;
37
+ object: ObjectFieldSchema<never>;
38
+ }
39
+ export type FieldSchema<TCustom extends string = never> = FieldSchemaRegistry[keyof FieldSchemaRegistry];
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 u=null;if(i!==void 0&&(u=""+i),o.key!==void 0&&(u=""+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:u,ref:o!==void 0?o:null,props:i}}return Ae.Fragment=r,Ae.jsx=t,Ae.jsxs=t,Ae}var we={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,9 +14,9 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var it;function $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 Wt(){return it||(it=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===fe?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case W:return"Fragment";case V:return"Profiler";case $:return"StrictMode";case ee:return"Suspense";case ce:return"SuspenseList";case J:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case O:return"Portal";case C:return c.displayName||"Context";case G:return(c._context.displayName||"Context")+".Consumer";case k:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case se:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case N:_=c._payload,c=c._init;try{return e(c(_))}catch{}}return null}function r(c){return""+c}function t(c){try{r(c);var _=!1}catch{_=!0}if(_){_=console;var j=_.error,L=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return j.call(_,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",L),r(c)}}function n(c){if(c===W)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===N)return"<...>";try{var _=e(c);return _?"<"+_+">":"<...>"}catch{return"<...>"}}function o(){var c=x.A;return c===null?null:c.getOwner()}function i(){return Error("react-stack-top-frame")}function u(c){if(R.call(c,"key")){var _=Object.getOwnPropertyDescriptor(c,"key").get;if(_&&_.isReactWarning)return!1}return c.key!==void 0}function f(c,_){function j(){Q||(Q=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",_))}j.isReactWarning=!0,Object.defineProperty(c,"key",{get:j,configurable:!0})}function A(){var c=e(this.type);return X[c]||(X[c]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),c=this.props.ref,c!==void 0?c:null}function w(c,_,j,L,ge,_e){var I=j.ref;return c={$$typeof:B,type:c,key:_,props:j,_owner:L},(I!==void 0?I:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:A}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:_e}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function T(c,_,j,L,ge,_e){var I=_.children;if(I!==void 0)if(L)if(M(I)){for(L=0;L<I.length;L++)E(I[L]);Object.freeze&&Object.freeze(I)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else E(I);if(R.call(_,"key")){I=e(c);var oe=Object.keys(_).filter(function(Fe){return Fe!=="key"});L=0<oe.length?"{key: someKey, "+oe.join(": ..., ")+": ...}":"{key: someKey}",me[I+L]||(oe=0<oe.length?"{"+oe.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
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,I,oe,I),me[I+L]=!0)}if(I=null,j!==void 0&&(t(j),I=""+j),u(_)&&(t(_.key),I=""+_.key),"key"in _){j={};for(var xe in _)xe!=="key"&&(j[xe]=_[xe])}else j=_;return I&&f(j,typeof c=="function"?c.displayName||c.name||"Unknown":c),w(c,I,j,o(),ge,_e)}function E(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===N&&(c._payload.status==="fulfilled"?p(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function p(c){return typeof c=="object"&&c!==null&&c.$$typeof===B}var b=g,B=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),W=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),C=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),fe=Symbol.for("react.client.reference"),x=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=Object.prototype.hasOwnProperty,M=Array.isArray,Y=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(c){return c()}};var Q,X={},de=b.react_stack_bottom_frame.bind(b,i)(),ye=Y(n(i)),me={};we.Fragment=W,we.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)},we.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)}})()),we}var at;function $t(){return at||(at=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=Wt()),Ce.exports}var F=$t(),Oe=e=>e.type==="checkbox",ve=e=>e instanceof Date,K=e=>e==null;const _t=e=>typeof e=="object";var z=e=>!K(e)&&!Array.isArray(e)&&_t(e)&&!ve(e),Yt=e=>z(e)&&e.target?Oe(e.target)?e.target.checked:e.target.value:e,qt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,zt=(e,r)=>e.has(qt(r)),Ht=e=>{const r=e.constructor&&e.constructor.prototype;return z(r)&&r.hasOwnProperty("isPrototypeOf")},qe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(qe&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(z(e)&&Ht(e)))return e;const n=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=H(e[o]));return n}var Ne=e=>/^\w*$/.test(e),U=e=>e===void 0,ze=e=>Array.isArray(e)?e.filter(Boolean):[],He=e=>ze(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!z(e))return t;const n=(Ne(r)?[r]:He(r)).reduce((o,i)=>K(o)?o:o[i],e);return U(n)||n===e?U(e[r])?t:e[r]:n},le=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,u=i-1;for(;++n<i;){const f=o[n];let A=t;if(n!==u){const w=e[f];A=z(w)||Array.isArray(w)?w:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=A,e=e[f]}};const ot={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ue={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 u=i;return r._proxyFormState[u]!==ie.all&&(r._proxyFormState[u]=!n||ie.all),e[u]}});return o};const xt=typeof window<"u"?g.useLayoutEffect:g.useEffect;var te=e=>typeof e=="string",We=(e,r,t,n,o)=>te(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),$e=e=>K(e)||!_t(e);function ae(e,r,t=new WeakSet){if($e(e)||$e(r))return Object.is(e,r);if(ve(e)&&ve(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const u=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(ve(u)&&ve(f)||z(u)&&z(f)||Array.isArray(u)&&Array.isArray(f)?!ae(u,f,t):!Object.is(u,f))return!1}}return!0}function Et(e){const r=be(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:u,compute:f}=e||{},A=g.useRef(o),w=g.useRef(f),T=g.useRef(void 0),E=g.useRef(t),p=g.useRef(n);w.current=f;const[b,B]=g.useState(()=>{const C=t._getWatch(n,A.current);return w.current?w.current(C):C}),O=g.useCallback(C=>{const k=We(n,t._names,C||t._formValues,!1,A.current);return w.current?w.current(k):k},[t._formValues,t._names,n]),W=g.useCallback(C=>{if(!i){const k=We(n,t._names,C||t._formValues,!1,A.current);if(w.current){const ee=w.current(k);ae(ee,T.current)||(B(ee),T.current=ee)}else B(k)}},[t._formValues,t._names,i,n]);xt(()=>((E.current!==t||!ae(p.current,n))&&(E.current=t,p.current=n,W()),t._subscribe({name:n,formState:{values:!0},exact:u,callback:C=>{W(C.values)}})),[t,u,n,W]),g.useEffect(()=>t._removeUnmounted());const $=E.current!==t,V=p.current,G=g.useMemo(()=>{if(i)return null;const C=!$&&!ae(V,n);return $||C?O():null},[i,$,n,V,O]);return G!==null?G:b}var Xt=(e,r,t,n,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[n]:o||!0}}:{},Re=e=>Array.isArray(e)?e:[e],lt=()=>{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 u=Vt(o,i);z(u)&&(t[n]=u)}else e[n]&&(t[n]=i)}return t}var Z=e=>z(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!qe)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Ft=e=>e.type==="select-multiple",Xe=e=>e.type==="radio",Zt=e=>Xe(e)||Oe(e),Be=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=U(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function q(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:He(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(z(n)&&Z(n)||Array.isArray(n)&&Kt(n))&&q(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(ne(e[r]))return!0;return!1};function At(e){return Array.isArray(e)||z(e)&&!er(e)}function Ye(e,r={}){for(const t in e){const n=e[t];At(n)?(r[t]=Array.isArray(n)?[]:{},Ye(n,r[t])):U(n)||(r[t]=!0)}return r}function Ve(e,r,t){t||(t=Ye(r));for(const n in e){const o=e[n];if(At(o))U(r)||$e(t[n])?t[n]=Ye(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ae(o,i)}}return t}const ut={value:!1,isValid:!1},ct={value:!0,isValid:!0};var wt=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?ct:{value:e[0].value,isValid:!0}:ct:ut}return ut},pt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>U(e)?e:r?e===""?NaN:e&&+e:t&&te(e)?new Date(e):n?n(e):e;const ft={isValid:!1,value:null};var Rt=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,ft):ft;function dt(e){const r=e.ref;return Ge(r)?r.files:Xe(r)?Rt(e.refs).value:Ft(r)?[...r.selectedOptions].map(({value:t})=>t):Oe(r)?wt(e.refs).value:pt(U(r.value)?e.ref.value:r.value,e)}var tr=(e,r,t,n)=>{const o={};for(const i of e){const u=h(r,i);u&&P(o,i,u._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:n}},Pe=e=>e instanceof RegExp,pe=e=>U(e)?e:Pe(e)?e.source:z(e)?Pe(e.value)?e.value.source:e.value:e,yt=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const mt="AsyncFunction";var rr=e=>!!e&&!!e.validate&&!!(ne(e.validate)&&e.validate.constructor.name===mt||z(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===mt)),sr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),ht=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const ke=(e,r,t,n)=>{for(const o of t||Object.keys(e)){const i=h(e,o);if(i){const{_f:u,...f}=i;if(u){if(u.refs&&u.refs[0]&&r(u.refs[0],o)&&!n)return!0;if(u.ref&&r(u.ref,u.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("."),u=h(r,i),f=h(e,i);if(u&&!Array.isArray(u)&&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(u=>r[u]===(!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),lr=(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)||le(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:u,refs:f,required:A,maxLength:w,minLength:T,min:E,max:p,pattern:b,validate:B,name:O,valueAsNumber:W,mount:$}=e._f,V=h(t,O);if(!$||r.has(O))return{};const G=f?f[0]:u,C=x=>{o&&G.reportValidity&&(G.setCustomValidity(le(x)?"":x||""),G.reportValidity())},k={},ee=Xe(u),ce=Oe(u),se=ee||ce,N=(W||Ge(u))&&U(u.value)&&U(V)||je(u)&&u.value===""||V===""||Array.isArray(V)&&!V.length,J=Xt.bind(null,O,n,k),fe=(x,R,M,Y=ue.maxLength,Q=ue.minLength)=>{const X=x?R:M;k[O]={type:x?Y:Q,message:X,ref:u,...J(x?Y:Q,X)}};if(i?!Array.isArray(V)||!V.length:A&&(!se&&(N||K(V))||le(V)&&!V||ce&&!wt(f).isValid||ee&&!Rt(f).isValid)){const{value:x,message:R}=te(A)?{value:!!A,message:A}:Ee(A);if(x&&(k[O]={type:ue.required,message:R,ref:G,...J(ue.required,R)},!n))return C(R),k}if(!N&&(!K(E)||!K(p))){let x,R;const M=Ee(p),Y=Ee(E);if(!K(V)&&!isNaN(V)){const Q=u.valueAsNumber||V&&+V;K(M.value)||(x=Q>M.value),K(Y.value)||(R=Q<Y.value)}else{const Q=u.valueAsDate||new Date(V),X=me=>new Date(new Date().toDateString()+" "+me),de=u.type=="time",ye=u.type=="week";te(M.value)&&V&&(x=de?X(V)>X(M.value):ye?V>M.value:Q>new Date(M.value)),te(Y.value)&&V&&(R=de?X(V)<X(Y.value):ye?V<Y.value:Q<new Date(Y.value))}if((x||R)&&(fe(!!x,M.message,Y.message,ue.max,ue.min),!n))return C(k[O].message),k}if((w||T)&&!N&&(te(V)||i&&Array.isArray(V))){const x=Ee(w),R=Ee(T),M=!K(x.value)&&V.length>+x.value,Y=!K(R.value)&&V.length<+R.value;if((M||Y)&&(fe(M,x.message,R.message),!n))return C(k[O].message),k}if(b&&!N&&te(V)){const{value:x,message:R}=Ee(b);if(Pe(x)&&!V.match(x)&&(k[O]={type:ue.pattern,message:R,ref:u,...J(ue.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(ue.validate,R.message)},!n))return C(R.message),k}else if(z(B)){let x={};for(const R in B){if(!Z(x)&&!n)break;const M=bt(await B[R](V,t),G,R);M&&(x={...M,...J(R,M.message)},C(M.message),n&&(k[O]=x))}if(!Z(x)&&(k[O]={ref:G,...x},!n))return k}}return C(!0),k};const ur={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function cr(e={}){let r={...ur,...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),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},f={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},A,w=0;const T={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},E={...T};let p={...E};const b={array:lt(),state:lt()},B=r.criteriaMode===ie.all,O=s=>a=>{clearTimeout(w),w=setTimeout(s,a)},W=async s=>{if(!u.keepIsValid&&!r.disabled&&(E.isValid||p.isValid||s)){let a;r.resolver?(a=Z((await se()).errors),$()):a=await J(n,!0),a!==t.isValid&&b.state.next({isValid:a})}},$=(s,a)=>{!r.disabled&&(E.isValidating||E.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(l=>{l&&(a?P(t.validatingFields,l,a):q(t.validatingFields,l))}),b.state.next({validatingFields:t.validatingFields,isValidating:!Z(t.validatingFields)}))},V=(s,a=[],l,m,y=!0,d=!0)=>{if(m&&l&&!r.disabled){if(u.action=!0,d&&Array.isArray(h(n,s))){const v=l(h(n,s),m.argA,m.argB);y&&P(n,s,v)}if(d&&Array.isArray(h(t.errors,s))){const v=l(h(t.errors,s),m.argA,m.argB);y&&P(t.errors,s,v),or(t.errors,s)}if((E.touchedFields||p.touchedFields)&&d&&Array.isArray(h(t.touchedFields,s))){const v=l(h(t.touchedFields,s),m.argA,m.argB);y&&P(t.touchedFields,s,v)}(E.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ve(o,i)),b.state.next({name:s,isDirty:x(s,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else P(i,s,a)},G=(s,a)=>{P(t.errors,s,a),b.state.next({errors:t.errors})},C=s=>{t.errors=s,b.state.next({errors:t.errors,isValid:!1})},k=(s,a,l,m)=>{const y=h(n,s);if(y){const d=h(i,s,U(l)?h(o,s):l);U(d)||m&&m.defaultChecked||a?P(i,s,a?d:dt(y._f)):Y(s,d),u.mount&&!u.action&&W()}},ee=(s,a,l,m,y)=>{let d=!1,v=!1;const S={name:s};if(!r.disabled){if(!l||m){(E.isDirty||p.isDirty)&&(v=t.isDirty,t.isDirty=S.isDirty=x(),d=v!==S.isDirty);const D=ae(h(o,s),a);v=!!h(t.dirtyFields,s),D?q(t.dirtyFields,s):P(t.dirtyFields,s,!0),S.dirtyFields=t.dirtyFields,d=d||(E.dirtyFields||p.dirtyFields)&&v!==!D}if(l){const D=h(t.touchedFields,s);D||(P(t.touchedFields,s,l),S.touchedFields=t.touchedFields,d=d||(E.touchedFields||p.touchedFields)&&D!==l)}d&&y&&b.state.next(S)}return d?S:{}},ce=(s,a,l,m)=>{const y=h(t.errors,s),d=(E.isValid||p.isValid)&&le(a)&&t.isValid!==a;if(r.delayError&&l?(A=O(()=>G(s,l)),A(r.delayError)):(clearTimeout(w),A=null,l?P(t.errors,s,l):q(t.errors,s)),(l?!ae(y,l):y)||!Z(m)||d){const v={...m,...d&&le(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...v},b.state.next(v)}},se=async s=>($(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),N=async s=>{const{errors:a}=await se(s);if($(s),s)for(const l of s){const m=h(a,l);m?P(t.errors,l,m):q(t.errors,l)}else t.errors=a;return a},J=async(s,a,l={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...v}=y;if(d){const S=f.array.has(d.name),D=y._f&&rr(y._f);D&&E.validatingFields&&$([d.name],!0);const re=await gt(y,f.disabled,i,B,r.shouldUseNativeValidation&&!a,S);if(D&&E.validatingFields&&$([d.name]),re[d.name]&&(l.valid=!1,a))break;!a&&(h(re,d.name)?S?lr(t.errors,re,d.name):P(t.errors,d.name,re[d.name]):q(t.errors,d.name))}!Z(v)&&await J(v,a,l)}}return l.valid},fe=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(l=>!Be(l)):!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,l)=>We(s,f,{...u.mount?i:U(a)?o:te(s)?{[s]:a}:a},l,a),M=s=>ze(h(u.mount?i:o,s,r.shouldUnregister?h(o,s,[]):[])),Y=(s,a,l={})=>{const m=h(n,s);let y=a;if(m){const d=m._f;d&&(!d.disabled&&P(i,s,pt(a,d)),y=je(d.ref)&&K(a)?"":a,Ft(d.ref)?[...d.ref.options].forEach(v=>v.selected=y.includes(v.value)):d.refs?Oe(d.ref)?d.refs.forEach(v=>{(!v.defaultChecked||!v.disabled)&&(Array.isArray(y)?v.checked=!!y.find(S=>S===v.value):v.checked=y===v.value||!!y)}):d.refs.forEach(v=>v.checked=v.value===y):Ge(d.ref)?d.ref.value="":(d.ref.value=y,d.ref.type||b.state.next({name:s,values:H(i)})))}(l.shouldDirty||l.shouldTouch)&&ee(s,y,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&me(s)},Q=(s,a,l)=>{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,l):Y(d,y,l)}},X=(s,a,l={})=>{const m=h(n,s),y=f.array.has(s),d=H(a);P(i,s,d),y?(b.array.next({name:s,values:H(i)}),(E.isDirty||E.dirtyFields||p.isDirty||p.dirtyFields)&&l.shouldDirty&&b.state.next({name:s,dirtyFields:Ve(o,i),isDirty:x(s,d)})):m&&!m._f&&!K(d)?Q(s,d,l):Y(s,d,l),ht(s,f)&&b.state.next({...t,name:s}),b.state.next({name:u.mount?s:void 0,values:H(i)})},de=async s=>{u.mount=!0;const a=s.target;let l=a.name,m=!0;const y=h(n,l),d=D=>{m=Number.isNaN(D)||ve(D)&&isNaN(D.getTime())||ae(D,h(i,l,D))},v=yt(r.mode),S=yt(r.reValidateMode);if(y){let D,re;const De=a.type?dt(y._f):Yt(s),he=s.type===ot.BLUR||s.type===ot.FOCUS_OUT,Mt=!sr(y._f)&&!r.resolver&&!h(t.errors,l)&&!y._f.deps||ar(he,h(t.touchedFields,l),t.isSubmitted,S,v),Ie=ht(l,f,he);P(i,l,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(l,De,he),It=!Z(Ue)||Ie;if(!he&&b.state.next({name:l,type:s.type,values:H(i)}),Mt)return(E.isValid||p.isValid)&&(r.mode==="onBlur"?he&&W():he||W()),It&&b.state.next({name:l,...Ie?{}:Ue});if(!he&&Ie&&b.state.next({...t}),r.resolver){const{errors:rt}=await se([l]);if($([l]),d(De),m){const Ut=vt(t.errors,n,l),st=vt(rt,n,Ut.name||l);D=st.error,l=st.name,re=Z(rt)}}else $([l],!0),D=(await gt(y,f.disabled,i,B,r.shouldUseNativeValidation))[l],$([l]),d(De),m&&(D?re=!1:(E.isValid||p.isValid)&&(re=await J(n,!0)));m&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&me(y._f.deps),ce(l,re,D,Ue))}},ye=(s,a)=>{if(h(t.errors,a)&&s.focus)return s.focus(),1},me=async(s,a={})=>{let l,m;const y=Re(s);if(r.resolver){const d=await N(U(s)?s:y);l=Z(d),m=s?!y.some(v=>h(d,v)):l}else s?(m=(await Promise.all(y.map(async d=>{const v=h(n,d);return await J(v&&v._f?{[d]:v}:v)}))).every(Boolean),!(!m&&!t.isValid)&&W()):m=l=await J(n);return b.state.next({...!te(s)||(E.isValid||p.isValid)&&l!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:l}:{},errors:t.errors}),a.shouldFocus&&!m&&ke(n,ye,s?y:f.mount),m},c=(s,a)=>{let l={...u.mount?i:o};return a&&(l=Vt(a.dirtyFields?t.dirtyFields:t.touchedFields,l)),U(s)?l:te(s)?h(l,s):s.map(m=>h(l,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,l)=>{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}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,a)=>ne(s)?b.state.subscribe({next:l=>"values"in l&&s(R(void 0,a),l)}):R(s,a,!0),_e=s=>b.state.subscribe({next:a=>{ir(s.name,a.name,s.exact)&&nr(a,s.formState||E,Lt,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,I=s=>(u.mount=!0,p={...p,...s.formState},_e({...s,formState:{...T,...s.formState}})),oe=(s,a={})=>{for(const l of s?Re(s):f.mount)f.mount.delete(l),f.array.delete(l),a.keepValue||(q(n,l),q(i,l)),!a.keepError&&q(t.errors,l),!a.keepDirty&&q(t.dirtyFields,l),!a.keepTouched&&q(t.touchedFields,l),!a.keepIsValidating&&q(t.validatingFields,l),!r.shouldUnregister&&!a.keepDefaultValue&&q(o,l);b.state.next({values:H(i)}),b.state.next({...t,...a.keepDirty?{isDirty:x()}:{}}),!a.keepIsValid&&W()},xe=({disabled:s,name:a})=>{(le(s)&&u.mount||s||f.disabled.has(a))&&(s?f.disabled.add(a):f.disabled.delete(a))},Fe=(s,a={})=>{let l=h(n,s);const m=le(a.disabled)||le(r.disabled);return P(n,s,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:s}},name:s,mount:!0,...a}}),f.mount.add(s),l?xe({disabled:le(a.disabled)?a.disabled:r.disabled,name:s}):k(s,!0,a.value),{...m?{disabled:a.disabled||r.disabled}:{},...r.progressive?{required:!!a.required,min:pe(a.min),max:pe(a.max),minLength:pe(a.minLength),maxLength:pe(a.maxLength),pattern:pe(a.pattern)}:{},name:s,onChange:de,onBlur:de,ref:y=>{if(y){Fe(s,a),l=h(n,s);const d=U(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,v=Zt(d),S=l._f.refs||[];if(v?S.find(D=>D===d):d===l._f.ref)return;P(n,s,{_f:{...l._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 l=h(n,s,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(zt(f.array,s)&&u.action)&&f.unMount.add(s)}}},Me=()=>r.shouldFocusError&&ke(n,ye,f.mount),jt=s=>{le(s)&&(b.state.next({disabled:s}),ke(n,(a,l)=>{const m=h(n,l);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 l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let y=H(i);if(b.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:v}=await se();$(),t.errors=d,y=H(v)}else await J(n);if(f.disabled.size)for(const d of f.disabled)q(y,d);if(q(t.errors,"root"),Z(t.errors)){b.state.next({errors:{}});try{await s(y,l)}catch(d){m=d}}else a&&await a({...t.errors},l),Me(),setTimeout(Me);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Z(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(U(a.defaultValue)?X(s,H(h(o,s))):(X(s,a.defaultValue),P(o,s,H(a.defaultValue))),a.keepTouched||q(t.touchedFields,s),a.keepDirty||(q(t.dirtyFields,s),t.isDirty=a.defaultValue?x(s,H(h(o,s))):x()),a.keepError||(q(t.errors,s),E.isValid&&W()),b.state.next({...t}))},Ke=(s,a={})=>{const l=s?H(s):o,m=H(l),y=Z(s),d=y?o:m;if(a.keepDefaultValues||(o=l),!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:""},u.mount=!E.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!Z(d),u.watch=!!r.shouldUnregister,u.keepIsValid=!!a.keepIsValid,u.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 l=h(n,s),m=l&&l._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&ne(y.select)&&y.select()})}},Lt=s=>{t={...t,...s}},tt={control:{register:Fe,unregister:oe,getFieldState:_,handleSubmit:Qe,setError:L,_subscribe:_e,_runSchema:se,_updateIsValidating:$,_focusError:Me,_getWatch:R,_getDirty:x,_setValid:W,_setFieldArray:V,_setDisabledField:xe,_setErrors:C,_getFieldArray:M,_reset:Ke,_resetDefaultValues:()=>ne(r.defaultValues)&&r.defaultValues().then(s=>{et(s,r.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:fe,_disableForm:jt,_subjects:b,_proxyFormState:E,get _fields(){return n},get _formValues(){return i},get _state(){return u},set _state(s){u=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:I,trigger:me,register:Fe,handleSubmit:Qe,watch:ge,setValue:X,getValues:c,reset:et,resetField:Pt,clearErrors:j,unregister:oe,setError:L,setFocus:Nt,getFieldState:_};return{...tt,formControl:tt}}function fr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[n,o]=g.useState({isDirty:!1,isValidating:!1,isLoading:ne(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:ne(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:n},e.defaultValues&&!ne(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...f}=cr(e);r.current={...f,formState:n}}const i=r.current.control;return i._options=e,xt(()=>{const u=i._subscribe({formState:i._proxyFormState,callback:()=>o({...i._formState}),reRenderRoot:!0});return o(f=>({...f,isReady:!0})),i._formState.isReady=!0,u},[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 u=i._getDirty();u!==n.isDirty&&i._subjects.state.next({isDirty:u})}},[i,n.isDirty]),g.useEffect(()=>{var u;e.values&&!ae(e.values,t.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((u=i._options.resetOptions)===null||u===void 0)&&u.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 u=t;i.forEach((f,A)=>{const w=A===i.length-1,T=!isNaN(Number(f));w?u[f]=r[o]:(f in u||(u[f]=T?[]:{}),u=u[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 u=[...o.split(".")];return n.forEach(({pos:f,value:A})=>{f<=u.length&&u.splice(f,0,A)}),u.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(),u=Et({control:t,name:r.name})??[],f=()=>{const w=n(r.name)||[];o(r.name,[...w,Se(r.fields)])},A=w=>{const E=(n(r.name)||[]).filter((p,b)=>b!==w);o(r.name,E)};return F.jsxs("div",{children:[u.map((w,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 w,T;const t=St().uiConfig,{register:n,control:o}=be(),i=Le(e.name),u=n(e.name),f=(w=t==null?void 0:t.renderersByName)==null?void 0:w[i];if(e.visible===!1)return null;if(f)return F.jsx(f,{fieldSchema:e,control:o,register:u});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:u});switch(e.type){case"select":return F.jsx(mr,{fieldSchema:e});case"array":return F.jsx(br,{fieldSchema:e});case"object":return F.jsx(gr,{fieldSchema:e});case"text":case"number":case"checkbox":case"date":case"datetime-local":case"time":return F.jsx(yr,{fieldSchema:e})}},_r=({fieldSchema:e})=>F.jsx(Ct,{fieldSchema:e}),xr=({fieldSchema:e})=>{const{control:r}=be(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),i=Et({control:r,name:o}),[u,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??[]),p=(B=t==null?void 0:t.updateFieldSchema)==null?void 0:B[T];if(!p)return;const b=await p(e.name,e,E);!A&&b&&f({...e,...b})})(),()=>{A=!0}},[i]),F.jsx(Ct,{fieldSchema:u})},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 u=t(i)?Number(i):i;o=o[u]}return o}const Ar=e=>{const{onDirtyChange:r,onValuesChange:t,onFieldChange:n}=e,{formState:o,watch:i}=be(),u=g.useRef(!0);return g.useEffect(()=>{const f=i((A,{name:w=""})=>{var p;t(A);const T=Le(w),E=Fr(w,A);(p=n==null?void 0:n[T])==null||p.call(n,w,E,A)});return()=>f.unsubscribe()},[i,t]),g.useEffect(()=>{if(u.current){u.current=!1;return}r(o.isDirty)},[o.isDirty,r]),null},wr=({onValuesChange:e,onDirtyChange:r,onFieldChange:t})=>(Ar({onDirtyChange:r,onValuesChange:e,onFieldChange:t}),null),pr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:u="vertical",values:f=()=>({}),hideSubmit:A=!1,onDirtyChange:w=()=>{},onValuesChange:T=()=>{},resolver:E,readonly:p,onFieldChange:b={},loadingComponent:B}=e,O=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:E}),W=g.useRef(!1),[$,V]=g.useState(!1),G=O.handleSubmit(n),C=g.useMemo(()=>{let N=t;return p&&(N=Ze(N)),N},[p,t]);g.useEffect(()=>{if(!f)return;let N=!1;return(async()=>{if(W.current)return;V(!1);const fe=await f();N||(O.reset(Se(t,fe),{keepErrors:!0,keepDirty:!1,keepTouched:!1}),W.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||p,ee=g.useMemo(()=>o,[o]),ce=g.useMemo(()=>i,[i]),se=g.useMemo(()=>({layout:u,uiConfig:o,updateFieldSchema:i}),[u,o,i]);return $?F.jsxs(Jt,{...O,children:[F.jsx(wr,{onDirtyChange:w,onValuesChange:T,onFieldChange:b}),F.jsxs(dr,{layout:se.layout,uiConfig:ee,updateFieldSchema:ce,children:[["vertical","horizontal"].includes(u)&&F.jsx("div",{style:{display:"flex",flexDirection:u==="vertical"?"column":"row"},children:F.jsx(Te,{schema:C})}),u==="custom"&&F.jsx(Te,{schema:C}),!k&&F.jsx("button",{style:{marginTop:"1rem"},onClick:G,children:"Submit"})]})]}):F.jsx(F.Fragment,{children:B??F.jsx("div",{style:{padding:"2rem",textAlign:"center",color:"#666",fontSize:"0.9rem"},children:"Loading form..."})})});exports.AutoForm=pr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Ze;exports.normalizeFieldPath=Le;exports.resolveDependsOnNew=Dt;