autoforma 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/autoform/core/AutoForm.d.ts +1 -1
- package/dist/autoform/layouts/ArrayLayout.d.ts +4 -3
- package/dist/autoform/layouts/FieldLayout.d.ts +1 -1
- package/dist/autoform/render/FieldRenderer.d.ts +1 -1
- package/dist/autoform/render/SchemaRenderer.d.ts +7 -0
- package/dist/autoform/types.d.ts +5 -5
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +1074 -1221
- package/package.json +14 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { FormProps, FormRef } from '../types';
|
|
3
3
|
type AutoFormComponent = <TCustom extends string = never>(props: FormProps<TCustom> & React.RefAttributes<FormRef>) => React.ReactElement;
|
|
4
4
|
declare const AutoForm: AutoFormComponent;
|
|
5
5
|
export default AutoForm;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
1
2
|
import { ArrayFieldSchema } from '../types';
|
|
2
|
-
declare const
|
|
3
|
+
declare const _default: React.MemoExoticComponent<(props: {
|
|
3
4
|
fieldSchema: ArrayFieldSchema;
|
|
4
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
5
|
-
export default
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export default _default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FieldProps } from '../types';
|
|
2
|
-
declare const FieldLayout: <TCustom extends string = never>(props: FieldProps<TCustom>) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const FieldLayout: <TCustom extends string = never>(props: FieldProps<TCustom>) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
3
3
|
export default FieldLayout;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FieldProps } from '../types';
|
|
2
|
-
declare const FieldRenderer: <TCustom extends string = never>({ fieldSchema }: FieldProps<TCustom>) => import("react/jsx-runtime").JSX.Element
|
|
2
|
+
declare const FieldRenderer: <TCustom extends string = never>({ fieldSchema }: FieldProps<TCustom>) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default FieldRenderer;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Schema } from '../types';
|
|
3
|
+
interface SchemaRendererProps<TCustom extends string = never> {
|
|
4
|
+
schema: Schema<TCustom>;
|
|
5
|
+
}
|
|
6
|
+
declare const SchemaRenderer: React.MemoExoticComponent<(<TCustom extends string = never>(props: SchemaRendererProps<TCustom>) => import("react/jsx-runtime").JSX.Element[])>;
|
|
7
|
+
export default SchemaRenderer;
|
package/dist/autoform/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Control, Resolver, UseFormRegisterReturn } from 'react-hook-form';
|
|
2
2
|
export type FormValues = Record<string, any>;
|
|
3
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 = (typeof BUILT_IN_FIELD_TYPES)[number];
|
|
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>;
|
|
@@ -17,13 +17,13 @@ export interface HasFields<TCustom extends string = never> extends BaseFieldSche
|
|
|
17
17
|
fields: FieldSchema<TCustom>[];
|
|
18
18
|
}
|
|
19
19
|
export interface ArrayFieldSchema<TCustom extends string = never> extends HasFields<TCustom> {
|
|
20
|
-
type:
|
|
20
|
+
type: 'array';
|
|
21
21
|
}
|
|
22
22
|
export interface ObjectFieldSchema<TCustom extends string = never> extends HasFields<TCustom> {
|
|
23
|
-
type:
|
|
23
|
+
type: 'object';
|
|
24
24
|
}
|
|
25
25
|
export interface SelectFieldSchema<TCustom extends string = never> extends BaseFieldSchema<TCustom> {
|
|
26
|
-
type:
|
|
26
|
+
type: 'select';
|
|
27
27
|
options: {
|
|
28
28
|
label: string;
|
|
29
29
|
value: string;
|
|
@@ -44,7 +44,7 @@ export type UiConfig<TCustom extends string = never> = {
|
|
|
44
44
|
renderersByName?: CustomRender<TCustom>;
|
|
45
45
|
renderersByType?: CustomRender<TCustom>;
|
|
46
46
|
};
|
|
47
|
-
export type Layout =
|
|
47
|
+
export type Layout = 'vertical' | 'horizontal' | 'custom';
|
|
48
48
|
export interface FormProps<TCustom extends string = never> {
|
|
49
49
|
schema: Schema<TCustom>;
|
|
50
50
|
onSubmit: (values: FormValues) => void;
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react");var Oe={exports:{}},we={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var
|
|
9
|
+
*/var st;function Lt(){if(st)return we;st=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 we.Fragment=r,we.jsx=t,we.jsxs=t,we}var Ae={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var
|
|
17
|
+
*/var nt;function Mt(){return nt||(nt=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===be?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case B:return"Fragment";case V:return"Profiler";case $:return"StrictMode";case X:return"Suspense";case ce:return"SuspenseList";case Z: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 U:return"Portal";case D:return c.displayName||"Context";case H:return(c._context.displayName||"Context")+".Consumer";case x:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case le:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case ie:_=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 C=_.error,P=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return C.call(_,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",P),r(c)}}function n(c){if(c===B)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===ie)return"<...>";try{var _=e(c);return _?"<"+_+">":"<...>"}catch{return"<...>"}}function o(){var c=E.A;return c===null?null:c.getOwner()}function i(){return Error("react-stack-top-frame")}function u(c){if(k.call(c,"key")){var _=Object.getOwnPropertyDescriptor(c,"key").get;if(_&&_.isReactWarning)return!1}return c.key!==void 0}function f(c,_){function C(){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)",_))}C.isReactWarning=!0,Object.defineProperty(c,"key",{get:C,configurable:!0})}function A(){var c=e(this.type);return J[c]||(J[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 R(c,_,C,P,ge,_e){var L=C.ref;return c={$$typeof:N,type:c,key:_,props:C,_owner:P},(L!==void 0?L:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:A}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:_e}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function O(c,_,C,P,ge,_e){var L=_.children;if(L!==void 0)if(P)if(I(L)){for(P=0;P<L.length;P++)F(L[P]);Object.freeze&&Object.freeze(L)}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 F(L);if(k.call(_,"key")){L=e(c);var ae=Object.keys(_).filter(function(Fe){return Fe!=="key"});P=0<ae.length?"{key: someKey, "+ae.join(": ..., ")+": ...}":"{key: someKey}",ye[L+P]||(ae=0<ae.length?"{"+ae.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} />`,Y,z,le,z),me[z+Y]=!0)}if(z=null,M!==void 0&&(r(M),z=""+M),l(E)&&(r(E.key),z=""+E.key),"key"in E){M={};for(var Ae in E)Ae!=="key"&&(M[Ae]=E[Ae])}else M=E;return z&&d(M,typeof c=="function"?c.displayName||c.name||"Unknown":c),A(c,z,M,o(),xe,pe)}function p(c){R(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===se&&(c._payload.status==="fulfilled"?R(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function R(c){return typeof c=="object"&&c!==null&&c.$$typeof===U}var b=h,U=Symbol.for("react.transitional.element"),$=Symbol.for("react.portal"),W=Symbol.for("react.fragment"),B=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),D=Symbol.for("react.consumer"),_=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),V=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),se=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),be=Symbol.for("react.client.reference"),k=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,S=Object.prototype.hasOwnProperty,q=Array.isArray,J=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(c){return c()}};var ee,X={},fe=b.react_stack_bottom_frame.bind(b,a)(),ye=J(s(a)),me={};Se.Fragment=W,Se.jsx=function(c,E,M){var Y=1e4>k.recentlyCreatedOwnerStacks++;return C(c,E,M,!1,Y?Error("react-stack-top-frame"):fe,Y?J(s(c)):ye)},Se.jsxs=function(c,E,M){var Y=1e4>k.recentlyCreatedOwnerStacks++;return C(c,E,M,!0,Y?Error("react-stack-top-frame"):fe,Y?J(s(c)):ye)}})()),Se}var gr;function Zr(){return gr||(gr=1,process.env.NODE_ENV==="production"?Ce.exports=Gr():Ce.exports=Xr()),Ce.exports}var T=Zr(),Oe=e=>e.type==="checkbox",he=e=>e instanceof Date,re=e=>e==null;const Rr=e=>typeof e=="object";var G=e=>!re(e)&&!Array.isArray(e)&&Rr(e)&&!he(e),Qr=e=>G(e)&&e.target?Oe(e.target)?e.target.checked:e.target.value:e,Kr=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,et=(e,t)=>e.has(Kr(t)),rt=e=>{const t=e.constructor&&e.constructor.prototype;return G(t)&&t.hasOwnProperty("isPrototypeOf")},tr=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function L(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(tr&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(G(e)&&rt(e)))return e;const s=r?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(s[o]=L(e[o]));return s}var Ie=e=>/^\w*$/.test(e),I=e=>e===void 0,Me=e=>Array.isArray(e)?e.filter(Boolean):[],sr=e=>Me(e.replace(/["|']|\]/g,"").split(/\.|\[/)),g=(e,t,r)=>{if(!t||!G(e))return r;const s=(Ie(t)?[t]:sr(t)).reduce((o,a)=>re(o)?o:o[a],e);return I(s)||s===e?I(e[t])?r:e[t]:s},ce=e=>typeof e=="boolean",oe=e=>typeof e=="function",N=(e,t,r)=>{let s=-1;const o=Ie(t)?[t]:sr(t),a=o.length,l=a-1;for(;++s<a;){const d=o[s];let F=r;if(s!==l){const A=e[d];F=G(A)||Array.isArray(A)?A:isNaN(+o[s+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;e[d]=F,e=e[d]}};const hr={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},de={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},nr=h.createContext(null);nr.displayName="HookFormContext";const ge=()=>h.useContext(nr),tt=e=>{const{children:t,...r}=e;return h.createElement(nr.Provider,{value:r},t)};var st=(e,t,r,s=!0)=>{const o={defaultValues:t._defaultValues};for(const a in e)Object.defineProperty(o,a,{get:()=>{const l=a;return t._proxyFormState[l]!==ie.all&&(t._proxyFormState[l]=!s||ie.all),e[l]}});return o};const ar=typeof window<"u"?h.useLayoutEffect:h.useEffect;var ne=e=>typeof e=="string",Ze=(e,t,r,s,o)=>ne(e)?(s&&t.watch.add(e),g(r,e,o)):Array.isArray(e)?e.map(a=>(s&&t.watch.add(a),g(r,a))):(s&&(t.watchAll=!0),r),Qe=e=>re(e)||!Rr(e);function ue(e,t,r=new WeakSet){if(Qe(e)||Qe(t))return Object.is(e,t);if(he(e)&&he(t))return e.getTime()===t.getTime();const s=Object.keys(e),o=Object.keys(t);if(s.length!==o.length)return!1;if(r.has(e)||r.has(t))return!0;r.add(e),r.add(t);for(const a of s){const l=e[a];if(!o.includes(a))return!1;if(a!=="ref"){const d=t[a];if(he(l)&&he(d)||G(l)&&G(d)||Array.isArray(l)&&Array.isArray(d)?!ue(l,d,r):!Object.is(l,d))return!1}}return!0}function Sr(e){const t=ge(),{control:r=t.control,name:s,defaultValue:o,disabled:a,exact:l,compute:d}=e||{},F=h.useRef(o),A=h.useRef(d),C=h.useRef(void 0),p=h.useRef(r),R=h.useRef(s);A.current=d;const[b,U]=h.useState(()=>{const _=r._getWatch(s,F.current);return A.current?A.current(_):_}),$=h.useCallback(_=>{const m=Ze(s,r._names,_||r._formValues,!1,F.current);return A.current?A.current(m):m},[r._formValues,r._names,s]),W=h.useCallback(_=>{if(!a){const m=Ze(s,r._names,_||r._formValues,!1,F.current);if(A.current){const V=A.current(m);ue(V,C.current)||(U(V),C.current=V)}else U(m)}},[r._formValues,r._names,a,s]);ar(()=>((p.current!==r||!ue(R.current,s))&&(p.current=r,R.current=s,W()),r._subscribe({name:s,formState:{values:!0},exact:l,callback:_=>{W(_.values)}})),[r,l,s,W]),h.useEffect(()=>r._removeUnmounted());const B=p.current!==r,w=R.current,D=h.useMemo(()=>{if(a)return null;const _=!B&&!ue(w,s);return B||_?$():null},[a,B,s,w,$]);return D!==null?D:b}var nt=(e,t,r,s,o)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:o||!0}}:{},te=e=>Array.isArray(e)?e:[e],br=()=>{let e=[];return{get observers(){return e},next:o=>{for(const a of e)a.next&&a.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(a=>a!==o)}}),unsubscribe:()=>{e=[]}}};function Tr(e,t){const r={};for(const s in e)if(e.hasOwnProperty(s)){const o=e[s],a=t[s];if(o&&G(o)&&a){const l=Tr(o,a);G(l)&&(r[s]=l)}else e[s]&&(r[s]=a)}return r}var Z=e=>G(e)&&!Object.keys(e).length,ir=e=>e.type==="file",je=e=>{if(!tr)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Or=e=>e.type==="select-multiple",or=e=>e.type==="radio",at=e=>or(e)||Oe(e),$e=e=>je(e)&&e.isConnected;function it(e,t){const r=t.slice(0,-1).length;let s=0;for(;s<r;)e=I(e)?s++:e[t[s++]];return e}function ot(e){for(const t in e)if(e.hasOwnProperty(t)&&!I(e[t]))return!1;return!0}function H(e,t){const r=Array.isArray(t)?t:Ie(t)?[t]:sr(t),s=r.length===1?e:it(e,r),o=r.length-1,a=r[o];return s&&delete s[a],o!==0&&(G(s)&&Z(s)||Array.isArray(s)&&ot(s))&&H(e,r.slice(0,-1)),e}var ut=e=>{for(const t in e)if(oe(e[t]))return!0;return!1};function Dr(e){return Array.isArray(e)||G(e)&&!ut(e)}function Ke(e,t={}){for(const r in e){const s=e[r];Dr(s)?(t[r]=Array.isArray(s)?[]:{},Ke(s,t[r])):I(s)||(t[r]=!0)}return t}function Ve(e,t,r){r||(r=Ke(t));for(const s in e){const o=e[s];if(Dr(o))I(t)||Qe(r[s])?r[s]=Ke(o,Array.isArray(o)?[]:{}):Ve(o,re(t)?{}:t[s],r[s]);else{const a=t[s];r[s]=!ue(o,a)}}return r}const xr={value:!1,isValid:!1},pr={value:!0,isValid:!0};var Cr=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!I(e[0].attributes.value)?I(e[0].value)||e[0].value===""?pr:{value:e[0].value,isValid:!0}:pr:xr}return xr},jr=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>I(e)?e:t?e===""?NaN:e&&+e:r&&ne(e)?new Date(e):s?s(e):e;const Ar={isValid:!1,value:null};var Pr=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,Ar):Ar;function Fr(e){const t=e.ref;return ir(t)?t.files:or(t)?Pr(e.refs).value:Or(t)?[...t.selectedOptions].map(({value:r})=>r):Oe(t)?Cr(e.refs).value:jr(I(t.value)?e.ref.value:t.value,e)}var lt=(e,t,r,s)=>{const o={};for(const a of e){const l=g(t,a);l&&N(o,a,l._f)}return{criteriaMode:r,names:[...e],fields:o,shouldUseNativeValidation:s}},Pe=e=>e instanceof RegExp,Te=e=>I(e)?e:Pe(e)?e.source:G(e)?Pe(e.value)?e.value.source:e.value:e,Ee=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const Vr="AsyncFunction";var ct=e=>!!e&&!!e.validate&&!!(oe(e.validate)&&e.validate.constructor.name===Vr||G(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Vr)),dt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),er=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length))));const we=(e,t,r,s)=>{for(const o of r||Object.keys(e)){const a=g(e,o);if(a){const{_f:l,...d}=a;if(l){if(l.refs&&l.refs[0]&&t(l.refs[0],o)&&!s)return!0;if(l.ref&&t(l.ref,l.name)&&!s)return!0;if(we(d,t))break}else if(G(d)&&we(d,t))break}}};function Er(e,t,r){const s=g(e,r);if(s||Ie(r))return{error:s,name:r};const o=r.split(".");for(;o.length;){const a=o.join("."),l=g(t,a),d=g(e,a);if(l&&!Array.isArray(l)&&r!==a)return{name:r};if(d&&d.type)return{name:a,error:d};if(d&&d.root&&d.root.type)return{name:`${a}.root`,error:d.root};o.pop()}return{name:r}}var ft=(e,t,r,s)=>{r(e);const{name:o,...a}=e;return Z(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(l=>t[l]===(!s||ie.all))},yt=(e,t,r)=>!e||!t||e===t||te(e).some(s=>s&&(r?s===t:s.startsWith(t)||t.startsWith(s))),mt=(e,t,r,s,o)=>o.isOnAll?!1:!r&&o.isOnTouch?!(t||e):(r?s.isOnBlur:o.isOnBlur)?!e:(r?s.isOnChange:o.isOnChange)?e:!0,_t=(e,t)=>!Me(g(e,t)).length&&H(e,t),Nr=(e,t,r)=>{const s=te(g(e,r));return N(s,"root",t[r]),N(e,r,s),e};function wr(e,t,r="validate"){if(ne(e)||Array.isArray(e)&&e.every(ne)||ce(e)&&!e)return{type:r,message:ne(e)?e:"",ref:t}}var Fe=e=>G(e)&&!Pe(e)?e:{value:e,message:""},rr=async(e,t,r,s,o,a)=>{const{ref:l,refs:d,required:F,maxLength:A,minLength:C,min:p,max:R,pattern:b,validate:U,name:$,valueAsNumber:W,mount:B}=e._f,w=g(r,$);if(!B||t.has($))return{};const D=d?d[0]:l,_=k=>{o&&D.reportValidity&&(D.setCustomValidity(ce(k)?"":k||""),D.reportValidity())},m={},V=or(l),j=Oe(l),Q=V||j,se=(W||ir(l))&&I(l.value)&&I(w)||je(l)&&l.value===""||w===""||Array.isArray(w)&&!w.length,K=nt.bind(null,$,s,m),be=(k,S,q,J=de.maxLength,ee=de.minLength)=>{const X=k?S:q;m[$]={type:k?J:ee,message:X,ref:l,...K(k?J:ee,X)}};if(a?!Array.isArray(w)||!w.length:F&&(!Q&&(se||re(w))||ce(w)&&!w||j&&!Cr(d).isValid||V&&!Pr(d).isValid)){const{value:k,message:S}=ne(F)?{value:!!F,message:F}:Fe(F);if(k&&(m[$]={type:de.required,message:S,ref:D,...K(de.required,S)},!s))return _(S),m}if(!se&&(!re(p)||!re(R))){let k,S;const q=Fe(R),J=Fe(p);if(!re(w)&&!isNaN(w)){const ee=l.valueAsNumber||w&&+w;re(q.value)||(k=ee>q.value),re(J.value)||(S=ee<J.value)}else{const ee=l.valueAsDate||new Date(w),X=me=>new Date(new Date().toDateString()+" "+me),fe=l.type=="time",ye=l.type=="week";ne(q.value)&&w&&(k=fe?X(w)>X(q.value):ye?w>q.value:ee>new Date(q.value)),ne(J.value)&&w&&(S=fe?X(w)<X(J.value):ye?w<J.value:ee<new Date(J.value))}if((k||S)&&(be(!!k,q.message,J.message,de.max,de.min),!s))return _(m[$].message),m}if((A||C)&&!se&&(ne(w)||a&&Array.isArray(w))){const k=Fe(A),S=Fe(C),q=!re(k.value)&&w.length>+k.value,J=!re(S.value)&&w.length<+S.value;if((q||J)&&(be(q,k.message,S.message),!s))return _(m[$].message),m}if(b&&!se&&ne(w)){const{value:k,message:S}=Fe(b);if(Pe(k)&&!w.match(k)&&(m[$]={type:de.pattern,message:S,ref:l,...K(de.pattern,S)},!s))return _(S),m}if(U){if(oe(U)){const k=await U(w,r),S=wr(k,D);if(S&&(m[$]={...S,...K(de.validate,S.message)},!s))return _(S.message),m}else if(G(U)){let k={};for(const S in U){if(!Z(k)&&!s)break;const q=wr(await U[S](w,r),D,S);q&&(k={...q,...K(S,q.message)},_(q.message),s&&(m[$]=k))}if(!Z(k)&&(m[$]={ref:D,...k},!s))return m}}return _(!0),m};const vt={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function gt(e={}){let t={...vt,...e},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:oe(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},s={},o=G(t.defaultValues)||G(t.values)?L(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:L(o),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},F,A=0;const C={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},p={...C};let R={...p};const b={array:br(),state:br()},U=t.criteriaMode===ie.all,$=n=>i=>{clearTimeout(A),A=setTimeout(n,i)},W=async n=>{if(!l.keepIsValid&&!t.disabled&&(p.isValid||R.isValid||n)){let i;t.resolver?(i=Z((await Q()).errors),B()):i=await K(s,!0),i!==r.isValid&&b.state.next({isValid:i})}},B=(n,i)=>{!t.disabled&&(p.isValidating||p.validatingFields||R.isValidating||R.validatingFields)&&((n||Array.from(d.mount)).forEach(u=>{u&&(i?N(r.validatingFields,u,i):H(r.validatingFields,u))}),b.state.next({validatingFields:r.validatingFields,isValidating:!Z(r.validatingFields)}))},w=(n,i=[],u,v,y=!0,f=!0)=>{if(v&&u&&!t.disabled){if(l.action=!0,f&&Array.isArray(g(s,n))){const x=u(g(s,n),v.argA,v.argB);y&&N(s,n,x)}if(f&&Array.isArray(g(r.errors,n))){const x=u(g(r.errors,n),v.argA,v.argB);y&&N(r.errors,n,x),_t(r.errors,n)}if((p.touchedFields||R.touchedFields)&&f&&Array.isArray(g(r.touchedFields,n))){const x=u(g(r.touchedFields,n),v.argA,v.argB);y&&N(r.touchedFields,n,x)}(p.dirtyFields||R.dirtyFields)&&(r.dirtyFields=Ve(o,a)),b.state.next({name:n,isDirty:k(n,i),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else N(a,n,i)},D=(n,i)=>{N(r.errors,n,i),b.state.next({errors:r.errors})},_=n=>{r.errors=n,b.state.next({errors:r.errors,isValid:!1})},m=(n,i,u,v)=>{const y=g(s,n);if(y){const f=g(a,n,I(u)?g(o,n):u);I(f)||v&&v.defaultChecked||i?N(a,n,i?f:Fr(y._f)):J(n,f),l.mount&&!l.action&&W()}},V=(n,i,u,v,y)=>{let f=!1,x=!1;const O={name:n};if(!t.disabled){if(!u||v){(p.isDirty||R.isDirty)&&(x=r.isDirty,r.isDirty=O.isDirty=k(),f=x!==O.isDirty);const P=ue(g(o,n),i);x=!!g(r.dirtyFields,n),P?H(r.dirtyFields,n):N(r.dirtyFields,n,!0),O.dirtyFields=r.dirtyFields,f=f||(p.dirtyFields||R.dirtyFields)&&x!==!P}if(u){const P=g(r.touchedFields,n);P||(N(r.touchedFields,n,u),O.touchedFields=r.touchedFields,f=f||(p.touchedFields||R.touchedFields)&&P!==u)}f&&y&&b.state.next(O)}return f?O:{}},j=(n,i,u,v)=>{const y=g(r.errors,n),f=(p.isValid||R.isValid)&&ce(i)&&r.isValid!==i;if(t.delayError&&u?(F=$(()=>D(n,u)),F(t.delayError)):(clearTimeout(A),F=null,u?N(r.errors,n,u):H(r.errors,n)),(u?!ue(y,u):y)||!Z(v)||f){const x={...v,...f&&ce(i)?{isValid:i}:{},errors:r.errors,name:n};r={...r,...x},b.state.next(x)}},Q=async n=>(B(n,!0),await t.resolver(a,t.context,lt(n||d.mount,s,t.criteriaMode,t.shouldUseNativeValidation))),se=async n=>{const{errors:i}=await Q(n);if(B(n),n)for(const u of n){const v=g(i,u);v?N(r.errors,u,v):H(r.errors,u)}else r.errors=i;return i},K=async(n,i,u={valid:!0})=>{for(const v in n){const y=n[v];if(y){const{_f:f,...x}=y;if(f){const O=d.array.has(f.name),P=y._f&&ct(y._f);P&&p.validatingFields&&B([f.name],!0);const ae=await rr(y,d.disabled,a,U,t.shouldUseNativeValidation&&!i,O);if(P&&p.validatingFields&&B([f.name]),ae[f.name]&&(u.valid=!1,i))break;!i&&(g(ae,f.name)?O?Nr(r.errors,ae,f.name):N(r.errors,f.name,ae[f.name]):H(r.errors,f.name))}!Z(x)&&await K(x,i,u)}}return u.valid},be=()=>{for(const n of d.unMount){const i=g(s,n);i&&(i._f.refs?i._f.refs.every(u=>!$e(u)):!$e(i._f.ref))&&le(n)}d.unMount=new Set},k=(n,i)=>!t.disabled&&(n&&i&&N(a,n,i),!ue(c(),o)),S=(n,i,u)=>Ze(n,d,{...l.mount?a:I(i)?o:ne(n)?{[n]:i}:i},u,i),q=n=>Me(g(l.mount?a:o,n,t.shouldUnregister?g(o,n,[]):[])),J=(n,i,u={})=>{const v=g(s,n);let y=i;if(v){const f=v._f;f&&(!f.disabled&&N(a,n,jr(i,f)),y=je(f.ref)&&re(i)?"":i,Or(f.ref)?[...f.ref.options].forEach(x=>x.selected=y.includes(x.value)):f.refs?Oe(f.ref)?f.refs.forEach(x=>{(!x.defaultChecked||!x.disabled)&&(Array.isArray(y)?x.checked=!!y.find(O=>O===x.value):x.checked=y===x.value||!!y)}):f.refs.forEach(x=>x.checked=x.value===y):ir(f.ref)?f.ref.value="":(f.ref.value=y,f.ref.type||b.state.next({name:n,values:L(a)})))}(u.shouldDirty||u.shouldTouch)&&V(n,y,u.shouldTouch,u.shouldDirty,!0),u.shouldValidate&&me(n)},ee=(n,i,u)=>{for(const v in i){if(!i.hasOwnProperty(v))return;const y=i[v],f=n+"."+v,x=g(s,f);(d.array.has(n)||G(y)||x&&!x._f)&&!he(y)?ee(f,y,u):J(f,y,u)}},X=(n,i,u={})=>{const v=g(s,n),y=d.array.has(n),f=L(i);N(a,n,f),y?(b.array.next({name:n,values:L(a)}),(p.isDirty||p.dirtyFields||R.isDirty||R.dirtyFields)&&u.shouldDirty&&b.state.next({name:n,dirtyFields:Ve(o,a),isDirty:k(n,f)})):v&&!v._f&&!re(f)?ee(n,f,u):J(n,f,u),er(n,d)&&b.state.next({...r,name:n}),b.state.next({name:l.mount?n:void 0,values:L(a)})},fe=async n=>{l.mount=!0;const i=n.target;let u=i.name,v=!0;const y=g(s,u),f=P=>{v=Number.isNaN(P)||he(P)&&isNaN(P.getTime())||ue(P,g(a,u,P))},x=Ee(t.mode),O=Ee(t.reValidateMode);if(y){let P,ae;const De=i.type?Fr(y._f):Qr(n),_e=n.type===hr.BLUR||n.type===hr.FOCUS_OUT,zr=!dt(y._f)&&!t.resolver&&!g(r.errors,u)&&!y._f.deps||mt(_e,g(r.touchedFields,u),r.isSubmitted,O,x),Ue=er(u,d,_e);N(a,u,De),_e?(!i||!i.readOnly)&&(y._f.onBlur&&y._f.onBlur(n),F&&F(0)):y._f.onChange&&y._f.onChange(n);const Be=V(u,De,_e),Hr=!Z(Be)||Ue;if(!_e&&b.state.next({name:u,type:n.type,values:L(a)}),zr)return(p.isValid||R.isValid)&&(t.mode==="onBlur"?_e&&W():_e||W()),Hr&&b.state.next({name:u,...Ue?{}:Be});if(!_e&&Ue&&b.state.next({...r}),t.resolver){const{errors:yr}=await Q([u]);if(B([u]),f(De),v){const Jr=Er(r.errors,s,u),mr=Er(yr,s,Jr.name||u);P=mr.error,u=mr.name,ae=Z(yr)}}else B([u],!0),P=(await rr(y,d.disabled,a,U,t.shouldUseNativeValidation))[u],B([u]),f(De),v&&(P?ae=!1:(p.isValid||R.isValid)&&(ae=await K(s,!0)));v&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&me(y._f.deps),j(u,ae,P,Be))}},ye=(n,i)=>{if(g(r.errors,i)&&n.focus)return n.focus(),1},me=async(n,i={})=>{let u,v;const y=te(n);if(t.resolver){const f=await se(I(n)?n:y);u=Z(f),v=n?!y.some(x=>g(f,x)):u}else n?(v=(await Promise.all(y.map(async f=>{const x=g(s,f);return await K(x&&x._f?{[f]:x}:x)}))).every(Boolean),!(!v&&!r.isValid)&&W()):v=u=await K(s);return b.state.next({...!ne(n)||(p.isValid||R.isValid)&&u!==r.isValid?{}:{name:n},...t.resolver||!n?{isValid:u}:{},errors:r.errors}),i.shouldFocus&&!v&&we(s,ye,n?y:d.mount),v},c=(n,i)=>{let u={...l.mount?a:o};return i&&(u=Tr(i.dirtyFields?r.dirtyFields:r.touchedFields,u)),I(n)?u:ne(n)?g(u,n):n.map(v=>g(u,v))},E=(n,i)=>({invalid:!!g((i||r).errors,n),isDirty:!!g((i||r).dirtyFields,n),error:g((i||r).errors,n),isValidating:!!g(r.validatingFields,n),isTouched:!!g((i||r).touchedFields,n)}),M=n=>{n&&te(n).forEach(i=>H(r.errors,i)),b.state.next({errors:n?r.errors:{}})},Y=(n,i,u)=>{const v=(g(s,n,{_f:{}})._f||{}).ref,y=g(r.errors,n)||{},{ref:f,message:x,type:O,...P}=y;N(r.errors,n,{...P,...i,ref:v}),b.state.next({name:n,errors:r.errors,isValid:!1}),u&&u.shouldFocus&&v&&v.focus&&v.focus()},xe=(n,i)=>oe(n)?b.state.subscribe({next:u=>"values"in u&&n(S(void 0,i),u)}):S(n,i,!0),pe=n=>b.state.subscribe({next:i=>{yt(n.name,i.name,n.exact)&&ft(i,n.formState||p,qr,n.reRenderRoot)&&n.callback({values:{...a},...r,...i,defaultValues:o})}}).unsubscribe,z=n=>(l.mount=!0,R={...R,...n.formState},pe({...n,formState:{...C,...n.formState}})),le=(n,i={})=>{for(const u of n?te(n):d.mount)d.mount.delete(u),d.array.delete(u),i.keepValue||(H(s,u),H(a,u)),!i.keepError&&H(r.errors,u),!i.keepDirty&&H(r.dirtyFields,u),!i.keepTouched&&H(r.touchedFields,u),!i.keepIsValidating&&H(r.validatingFields,u),!t.shouldUnregister&&!i.keepDefaultValue&&H(o,u);b.state.next({values:L(a)}),b.state.next({...r,...i.keepDirty?{isDirty:k()}:{}}),!i.keepIsValid&&W()},Ae=({disabled:n,name:i})=>{(ce(n)&&l.mount||n||d.disabled.has(i))&&(n?d.disabled.add(i):d.disabled.delete(i))},ke=(n,i={})=>{let u=g(s,n);const v=ce(i.disabled)||ce(t.disabled);return N(s,n,{...u||{},_f:{...u&&u._f?u._f:{ref:{name:n}},name:n,mount:!0,...i}}),d.mount.add(n),u?Ae({disabled:ce(i.disabled)?i.disabled:t.disabled,name:n}):m(n,!0,i.value),{...v?{disabled:i.disabled||t.disabled}:{},...t.progressive?{required:!!i.required,min:Te(i.min),max:Te(i.max),minLength:Te(i.minLength),maxLength:Te(i.maxLength),pattern:Te(i.pattern)}:{},name:n,onChange:fe,onBlur:fe,ref:y=>{if(y){ke(n,i),u=g(s,n);const f=I(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,x=at(f),O=u._f.refs||[];if(x?O.find(P=>P===f):f===u._f.ref)return;N(s,n,{_f:{...u._f,...x?{refs:[...O.filter($e),f,...Array.isArray(g(o,n))?[{}]:[]],ref:{type:f.type,name:n}}:{ref:f}}}),m(n,!1,void 0,f)}else u=g(s,n,{}),u._f&&(u._f.mount=!1),(t.shouldUnregister||i.shouldUnregister)&&!(et(d.array,n)&&l.action)&&d.unMount.add(n)}}},Le=()=>t.shouldFocusError&&we(s,ye,d.mount),$r=n=>{ce(n)&&(b.state.next({disabled:n}),we(s,(i,u)=>{const v=g(s,u);v&&(i.disabled=v._f.disabled||n,Array.isArray(v._f.refs)&&v._f.refs.forEach(y=>{y.disabled=v._f.disabled||n}))},0,!1))},lr=(n,i)=>async u=>{let v;u&&(u.preventDefault&&u.preventDefault(),u.persist&&u.persist());let y=L(a);if(b.state.next({isSubmitting:!0}),t.resolver){const{errors:f,values:x}=await Q();B(),r.errors=f,y=L(x)}else await K(s);if(d.disabled.size)for(const f of d.disabled)H(y,f);if(H(r.errors,"root"),Z(r.errors)){b.state.next({errors:{}});try{await n(y,u)}catch(f){v=f}}else i&&await i({...r.errors},u),Le(),setTimeout(Le);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Z(r.errors)&&!v,submitCount:r.submitCount+1,errors:r.errors}),v)throw v},Wr=(n,i={})=>{g(s,n)&&(I(i.defaultValue)?X(n,L(g(o,n))):(X(n,i.defaultValue),N(o,n,L(i.defaultValue))),i.keepTouched||H(r.touchedFields,n),i.keepDirty||(H(r.dirtyFields,n),r.isDirty=i.defaultValue?k(n,L(g(o,n))):k()),i.keepError||(H(r.errors,n),p.isValid&&W()),b.state.next({...r}))},cr=(n,i={})=>{const u=n?L(n):o,v=L(u),y=Z(n),f=y?o:v;if(i.keepDefaultValues||(o=u),!i.keepValues){if(i.keepDirtyValues){const x=new Set([...d.mount,...Object.keys(Ve(o,a))]);for(const O of Array.from(x))g(r.dirtyFields,O)?N(f,O,g(a,O)):X(O,g(f,O))}else{if(tr&&I(n))for(const x of d.mount){const O=g(s,x);if(O&&O._f){const P=Array.isArray(O._f.refs)?O._f.refs[0]:O._f.ref;if(je(P)){const ae=P.closest("form");if(ae){ae.reset();break}}}}if(i.keepFieldsRef)for(const x of d.mount)X(x,g(f,x));else s={}}a=t.shouldUnregister?i.keepDefaultValues?L(o):{}:L(f),b.array.next({values:{...f}}),b.state.next({values:{...f}})}d={mount:i.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!p.isValid||!!i.keepIsValid||!!i.keepDirtyValues||!t.shouldUnregister&&!Z(f),l.watch=!!t.shouldUnregister,l.keepIsValid=!!i.keepIsValid,l.action=!1,i.keepErrors||(r.errors={}),b.state.next({submitCount:i.keepSubmitCount?r.submitCount:0,isDirty:y?!1:i.keepDirty?r.isDirty:!!(i.keepDefaultValues&&!ue(n,o)),isSubmitted:i.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:y?{}:i.keepDirtyValues?i.keepDefaultValues&&a?Ve(o,a):r.dirtyFields:i.keepDefaultValues&&n?Ve(o,n):i.keepDirty?r.dirtyFields:{},touchedFields:i.keepTouched?r.touchedFields:{},errors:i.keepErrors?r.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},dr=(n,i)=>cr(oe(n)?n(a):n,{...t.resetOptions,...i}),Yr=(n,i={})=>{const u=g(s,n),v=u&&u._f;if(v){const y=v.refs?v.refs[0]:v.ref;y.focus&&setTimeout(()=>{y.focus(),i.shouldSelect&&oe(y.select)&&y.select()})}},qr=n=>{r={...r,...n}},fr={control:{register:ke,unregister:le,getFieldState:E,handleSubmit:lr,setError:Y,_subscribe:pe,_runSchema:Q,_updateIsValidating:B,_focusError:Le,_getWatch:S,_getDirty:k,_setValid:W,_setFieldArray:w,_setDisabledField:Ae,_setErrors:_,_getFieldArray:q,_reset:cr,_resetDefaultValues:()=>oe(t.defaultValues)&&t.defaultValues().then(n=>{dr(n,t.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:be,_disableForm:$r,_subjects:b,_proxyFormState:p,get _fields(){return s},get _formValues(){return a},get _state(){return l},set _state(n){l=n},get _defaultValues(){return o},get _names(){return d},set _names(n){d=n},get _formState(){return r},get _options(){return t},set _options(n){t={...t,...n}}},subscribe:z,trigger:me,register:ke,handleSubmit:lr,watch:xe,setValue:X,getValues:c,reset:dr,resetField:Wr,clearErrors:M,unregister:le,setError:Y,setFocus:Yr,getFieldState:E};return{...fr,formControl:fr}}var ve=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const r=(Math.random()*16+e)%16|0;return(t=="x"?r:r&3|8).toString(16)})},We=(e,t,r={})=>r.shouldFocus||I(r.shouldFocus)?r.focusName||`${e}.${I(r.focusIndex)?t:r.focusIndex}.`:"",Ye=(e,t)=>[...e,...te(t)],qe=e=>Array.isArray(e)?e.map(()=>{}):void 0;function ze(e,t,r){return[...e.slice(0,t),...te(r),...e.slice(t)]}var He=(e,t,r)=>Array.isArray(e)?(I(e[r])&&(e[r]=void 0),e.splice(r,0,e.splice(t,1)[0]),e):[],Je=(e,t)=>[...te(t),...te(e)];function ht(e,t){let r=0;const s=[...e];for(const o of t)s.splice(o-r,1),r++;return Me(s).length?s:[]}var Ge=(e,t)=>I(t)?[]:ht(e,te(t).sort((r,s)=>r-s)),Xe=(e,t,r)=>{[e[t],e[r]]=[e[r],e[t]]},kr=(e,t,r)=>(e[t]=r,e);function bt(e){const t=ge(),{control:r=t.control,name:s,keyName:o="id",shouldUnregister:a,rules:l}=e,[d,F]=h.useState(r._getFieldArray(s)),A=h.useRef(r._getFieldArray(s).map(ve)),C=h.useRef(!1);r._names.array.add(s),h.useMemo(()=>l&&d.length>=0&&r.register(s,l),[r,s,d.length,l]),ar(()=>r._subjects.array.subscribe({next:({values:_,name:m})=>{if(m===s||!m){const V=g(_,s);Array.isArray(V)&&(F(V),A.current=V.map(ve))}}}).unsubscribe,[r,s]);const p=h.useCallback(_=>{C.current=!0,r._setFieldArray(s,_)},[r,s]),R=(_,m)=>{const V=te(L(_)),j=Ye(r._getFieldArray(s),V);r._names.focus=We(s,j.length-1,m),A.current=Ye(A.current,V.map(ve)),p(j),F(j),r._setFieldArray(s,j,Ye,{argA:qe(_)})},b=(_,m)=>{const V=te(L(_)),j=Je(r._getFieldArray(s),V);r._names.focus=We(s,0,m),A.current=Je(A.current,V.map(ve)),p(j),F(j),r._setFieldArray(s,j,Je,{argA:qe(_)})},U=_=>{const m=Ge(r._getFieldArray(s),_);A.current=Ge(A.current,_),p(m),F(m),!Array.isArray(g(r._fields,s))&&N(r._fields,s,void 0),r._setFieldArray(s,m,Ge,{argA:_})},$=(_,m,V)=>{const j=te(L(m)),Q=ze(r._getFieldArray(s),_,j);r._names.focus=We(s,_,V),A.current=ze(A.current,_,j.map(ve)),p(Q),F(Q),r._setFieldArray(s,Q,ze,{argA:_,argB:qe(m)})},W=(_,m)=>{const V=r._getFieldArray(s);Xe(V,_,m),Xe(A.current,_,m),p(V),F(V),r._setFieldArray(s,V,Xe,{argA:_,argB:m},!1)},B=(_,m)=>{const V=r._getFieldArray(s);He(V,_,m),He(A.current,_,m),p(V),F(V),r._setFieldArray(s,V,He,{argA:_,argB:m},!1)},w=(_,m)=>{const V=L(m),j=kr(r._getFieldArray(s),_,V);A.current=[...j].map((Q,se)=>!Q||se===_?ve():A.current[se]),p(j),F([...j]),r._setFieldArray(s,j,kr,{argA:_,argB:V},!0,!1)},D=_=>{const m=te(L(_));A.current=m.map(ve),p([...m]),F([...m]),r._setFieldArray(s,[...m],V=>V,{},!0,!1)};return h.useEffect(()=>{if(r._state.action=!1,er(s,r._names)&&r._subjects.state.next({...r._formState}),C.current&&(!Ee(r._options.mode).isOnSubmit||r._formState.isSubmitted)&&!Ee(r._options.reValidateMode).isOnSubmit)if(r._options.resolver)r._runSchema([s]).then(_=>{r._updateIsValidating([s]);const m=g(_.errors,s),V=g(r._formState.errors,s);(V?!m&&V.type||m&&(V.type!==m.type||V.message!==m.message):m&&m.type)&&(m?N(r._formState.errors,s,m):H(r._formState.errors,s),r._subjects.state.next({errors:r._formState.errors}))});else{const _=g(r._fields,s);_&&_._f&&!(Ee(r._options.reValidateMode).isOnSubmit&&Ee(r._options.mode).isOnSubmit)&&rr(_,r._names.disabled,r._formValues,r._options.criteriaMode===ie.all,r._options.shouldUseNativeValidation,!0).then(m=>!Z(m)&&r._subjects.state.next({errors:Nr(r._formState.errors,m,s)}))}r._subjects.state.next({name:s,values:L(r._formValues)}),r._names.focus&&we(r._fields,(_,m)=>{if(r._names.focus&&m.startsWith(r._names.focus)&&_.focus)return _.focus(),1}),r._names.focus="",r._setValid(),C.current=!1},[d,s,r]),h.useEffect(()=>(!g(r._formValues,s)&&r._setFieldArray(s),()=>{const _=(m,V)=>{const j=g(r._fields,m);j&&j._f&&(j._f.mount=V)};r._options.shouldUnregister||a?r.unregister(s):_(s,!1)}),[s,r,o,a]),{swap:h.useCallback(W,[p,s,r]),move:h.useCallback(B,[p,s,r]),prepend:h.useCallback(b,[p,s,r]),append:h.useCallback(R,[p,s,r]),remove:h.useCallback(U,[p,s,r]),insert:h.useCallback($,[p,s,r]),update:h.useCallback(w,[p,s,r]),replace:h.useCallback(D,[p,s,r]),fields:h.useMemo(()=>d.map((_,m)=>({..._,[o]:A.current[m]||ve()})),[d,o])}}function xt(e={}){const t=h.useRef(void 0),r=h.useRef(void 0),[s,o]=h.useState({isDirty:!1,isValidating:!1,isLoading:oe(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:oe(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:s},e.defaultValues&&!oe(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:l,...d}=gt(e);t.current={...d,formState:s}}const a=t.current.control;return a._options=e,ar(()=>{const l=a._subscribe({formState:a._proxyFormState,callback:()=>o({...a._formState}),reRenderRoot:!0});return o(d=>({...d,isReady:!0})),a._formState.isReady=!0,l},[a]),h.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),h.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),h.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),h.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),h.useEffect(()=>{if(a._proxyFormState.isDirty){const l=a._getDirty();l!==s.isDirty&&a._subjects.state.next({isDirty:l})}},[a,s.isDirty]),h.useEffect(()=>{var l;e.values&&!ue(e.values,r.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((l=a._options.resetOptions)===null||l===void 0)&&l.keepIsValid||a._setValid(),r.current=e.values,o(d=>({...d}))):a._resetDefaultValues()},[a,e.values]),h.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=st(s,a),t.current}function pt(e,t){const r={};return e.forEach((s,o)=>{const a=s.split(".");let l=r;a.forEach((d,F)=>{const A=F===a.length-1,C=!isNaN(Number(d));A?l[d]=t[o]:(d in l||(l[d]=C?[]:{}),l=l[d])})}),r}function At(e){switch(e){case"text":return"";case"number":return 0;case"array":return[];case"checkbox":return!1;case"object":return{};case"select":return null;case"date":return new Date().toISOString().slice(0,10);case"datetime-local":return new Date().toISOString().slice(0,16);case"time":return new Date().toISOString().slice(11,16);default:return""}}function Ir(e){return e.replace(/\.\d+\./g,".")}function Ft(e,t){const r=e.split("."),s=[];return r.forEach((o,a)=>{isNaN(Number(o))||s.push({pos:a,value:o})}),t.map(o=>{const l=[...o.split(".")];return s.forEach(({pos:d,value:F})=>{d<=l.length&&l.splice(d,0,F)}),l.join(".")})}function Ne(e,t={}){const r={};for(const s of e)if(s.type==="object"){const o=s.fields;r[s.name]=Ne(o,t==null?void 0:t[s.name])}else r[s.name]=(t==null?void 0:t[s.name])??s.initialValue??At(s.type);return r}const Vt=e=>{const{fieldSchema:t}=e,r=t.fields,{control:s}=ge(),{fields:o,append:a}=bt({name:t.name,control:s}),l=()=>{a(Ne(r))};return T.jsxs("div",{children:[o.map((d,F)=>{const A=r.map(C=>({...C,name:`${t.name}.${F}.${C.name}`}));return T.jsxs(h.Fragment,{children:[T.jsxs("div",{children:["row ",F]}),ur(A)]},d.id)}),t.readonly!==!0&&T.jsx("button",{onClick:l,children:"Add Row"})]})},Mr=h.createContext(null),Et=({children:e,layout:t="vertical",uiConfig:r,updateFieldSchema:s})=>{const o=h.useMemo(()=>({layout:t,uiConfig:r,updateFieldSchema:s}),[t,r,s]);return T.jsx(Mr.Provider,{value:o,children:e})},Lr=()=>{const e=h.useContext(Mr);if(!e)throw new Error("useAutoFormRenderContext must be used within AutoFormRenderContextProvider");return e},wt=e=>{const{fieldSchema:t}=e,{register:r}=ge(),s=r(t.name);return T.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[T.jsx("label",{children:t.label}),T.jsx("input",{type:t.type,...s,readOnly:t.readonly})]})},kt=["text","number","checkbox","select","date","datetime-local","time","array","object"],Rt=e=>{const{fieldSchema:t}=e,{register:r}=ge(),s=r(t.name),o=t.options;return T.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[T.jsx("label",{children:t.label}),T.jsx("select",{...s,disabled:t.readonly,children:o.map(a=>T.jsx("option",{value:a.value,children:a.label},a.value))})]})},Ur=({fieldSchema:e})=>{var A,C;const r=Lr().uiConfig,{register:s,control:o}=ge(),a=Ir(e.name),l=s(e.name);if(e.visible===!1)return;const d=(A=r==null?void 0:r.renderersByName)==null?void 0:A[a];if(d)return T.jsx(d,{fieldSchema:e,control:o,register:l});const F=(C=r==null?void 0:r.renderersByType)==null?void 0:C[e.type];if(F)return T.jsx(F,{fieldSchema:e,control:o,register:l});if(kt.includes(e.type))return e.type==="select"?T.jsx(Rt,{fieldSchema:e}):T.jsx(wt,{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.`)},St=({fieldSchema:e})=>T.jsx(Ur,{fieldSchema:e}),Tt=({fieldSchema:e})=>{const{control:t}=ge(),r=Lr(),s=e.dependsOn??[],o=h.useMemo(()=>Ft(e.name,s),[e.name,s]),a=Sr({control:t,name:o}),[l,d]=h.useState(e);return h.useEffect(()=>{if(!s.length)return;let F=!1;return(async()=>{var U;const C=Ir(e.name),p=pt(o,a??[]),R=(U=r==null?void 0:r.updateFieldSchema)==null?void 0:U[C];if(!R)return;const b=await R(e.name,e,p);!F&&b&&d({...e,...b})})(),()=>{F=!0}},[a]),T.jsx(Ur,{fieldSchema:l})},Ot=e=>{var r;const{fieldSchema:t}=e;return(r=t.dependsOn)!=null&&r.length?T.jsx(Tt,{fieldSchema:t}):T.jsx(St,{fieldSchema:t})},Dt=e=>{const{fieldSchema:t}=e;return T.jsx(Ot,{fieldSchema:t})},Ct=e=>{const{fieldSchema:t}=e;let r=h.useMemo(()=>t.fields.map(s=>({...s,name:`${t.name}.${s.name}`})),[t.fields]);return T.jsx(T.Fragment,{children:ur(r)})};function ur(e){return e.map(t=>{switch(t.type){case"array":return T.jsx(Vt,{fieldSchema:t},t.name);case"object":return T.jsx(Ct,{fieldSchema:t},t.name);default:return T.jsx(Dt,{fieldSchema:t},t.name)}})}function Br(e){return e.map(t=>{if(["object","array"].includes(t.type)){const r=t.fields;return{...t,readonly:!0,fields:Br(r)}}return{...t,readonly:!0}})}const jt=e=>{const{onDirtyChange:t,onValuesChange:r}=e,{formState:s,control:o}=ge(),a=Sr({control:o});return h.useEffect(()=>{r(a)},[a]),h.useEffect(()=>{t(s.isDirty)},[s.isDirty]),null},Pt=({onValuesChange:e,onDirtyChange:t})=>(jt({onDirtyChange:t,onValuesChange:e}),null),Nt=h.forwardRef((e,t)=>{const{schema:r,onSubmit:s,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:a={},layout:l="vertical",values:d=()=>({}),hideSubmit:F=!1,onDirtyChange:A=()=>{},onValuesChange:C=()=>{},resolver:p,readonly:R}=e,b=xt({reValidateMode:"onSubmit",criteriaMode:"all",resolver:p}),U=h.useRef(!1),$=b.handleSubmit(s),W=h.useMemo(()=>{let D=r;return R&&(D=Br(D)),D},[R,r]);h.useEffect(()=>{if(U.current)return;let D=!1;return(async()=>{const m=await d();D||(b.reset(Ne(r,m)),U.current=!0)})(),()=>{D=!0}},[d,r]),h.useImperativeHandle(t,()=>({submit:async()=>{await b.handleSubmit(s)()},reset:D=>{b.reset(D?Ne(r,D):void 0)},getValues:()=>b.getValues(),setValue:(D,_)=>{b.setValue(D,_)}}));const B=h.useMemo(()=>ur(W),[W]),w=F||R;return T.jsxs(tt,{...b,children:[T.jsx(Pt,{onDirtyChange:A,onValuesChange:C}),T.jsxs(Et,{layout:l,uiConfig:o,updateFieldSchema:a,children:[["vertical","horizontal"].includes(l)&&T.jsx("div",{style:{display:"flex",flexDirection:l==="vertical"?"column":"row"},children:B}),l==="custom"&&B,!w&&T.jsx("button",{style:{marginTop:"1rem"},onClick:$,children:"Submit"})]})]})});exports.AutoForm=Nt;
|
|
22
|
+
<%s key={someKey} {...props} />`,P,L,ae,L),ye[L+P]=!0)}if(L=null,C!==void 0&&(t(C),L=""+C),u(_)&&(t(_.key),L=""+_.key),"key"in _){C={};for(var xe in _)xe!=="key"&&(C[xe]=_[xe])}else C=_;return L&&f(C,typeof c=="function"?c.displayName||c.name||"Unknown":c),R(c,L,C,o(),ge,_e)}function F(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===ie&&(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===N}var v=g,N=Symbol.for("react.transitional.element"),U=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),D=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),le=Symbol.for("react.memo"),ie=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),be=Symbol.for("react.client.reference"),E=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,k=Object.prototype.hasOwnProperty,I=Array.isArray,W=console.createTask?console.createTask:function(){return null};v={react_stack_bottom_frame:function(c){return c()}};var Q,J={},fe=v.react_stack_bottom_frame.bind(v,i)(),de=W(n(i)),ye={};Ae.Fragment=B,Ae.jsx=function(c,_,C){var P=1e4>E.recentlyCreatedOwnerStacks++;return O(c,_,C,!1,P?Error("react-stack-top-frame"):fe,P?W(n(c)):de)},Ae.jsxs=function(c,_,C){var P=1e4>E.recentlyCreatedOwnerStacks++;return O(c,_,C,!0,P?Error("react-stack-top-frame"):fe,P?W(n(c)):de)}})()),Ae}var it;function Ut(){return it||(it=1,process.env.NODE_ENV==="production"?Oe.exports=Lt():Oe.exports=Mt()),Oe.exports}var w=Ut(),Se=e=>e.type==="checkbox",he=e=>e instanceof Date,K=e=>e==null;const gt=e=>typeof e=="object";var q=e=>!K(e)&&!Array.isArray(e)&>(e)&&!he(e),Bt=e=>q(e)&&e.target?Se(e.target)?e.target.checked:e.target.value:e,$t=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Wt=(e,r)=>e.has($t(r)),Yt=e=>{const r=e.constructor&&e.constructor.prototype;return q(r)&&r.hasOwnProperty("isPrototypeOf")},Ye=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function z(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(Ye&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(q(e)&&Yt(e)))return e;const n=t?[]:Object.create(Object.getPrototypeOf(e));for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=z(e[o]));return n}var Ne=e=>/^\w*$/.test(e),M=e=>e===void 0,qe=e=>Array.isArray(e)?e.filter(Boolean):[],ze=e=>qe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!q(e))return t;const n=(Ne(r)?[r]:ze(r)).reduce((o,i)=>K(o)?o:o[i],e);return M(n)||n===e?M(e[r])?t:e[r]:n},oe=e=>typeof e=="boolean",re=e=>typeof e=="function",j=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:ze(r),i=o.length,u=i-1;for(;++n<i;){const f=o[n];let A=t;if(n!==u){const R=e[f];A=q(R)||Array.isArray(R)?R:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=A,e=e[f]}};const at={BLUR:"blur",FOCUS_OUT:"focusout"},se={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"},He=g.createContext(null);He.displayName="HookFormContext";const ve=()=>g.useContext(He),qt=e=>{const{children:r,...t}=e;return g.createElement(He.Provider,{value:t},r)};var zt=(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]!==se.all&&(r._proxyFormState[u]=!n||se.all),e[u]}});return o};const _t=typeof window<"u"?g.useLayoutEffect:g.useEffect;var ee=e=>typeof e=="string",Be=(e,r,t,n,o)=>ee(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)||!gt(e);function ne(e,r,t=new WeakSet){if($e(e)||$e(r))return Object.is(e,r);if(he(e)&&he(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(he(u)&&he(f)||q(u)&&q(f)||Array.isArray(u)&&Array.isArray(f)?!ne(u,f,t):!Object.is(u,f))return!1}}return!0}function Je(e){const r=ve(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:u,compute:f}=e||{},A=g.useRef(o),R=g.useRef(f),O=g.useRef(void 0),F=g.useRef(t),p=g.useRef(n);R.current=f;const[v,N]=g.useState(()=>{const D=t._getWatch(n,A.current);return R.current?R.current(D):D}),U=g.useCallback(D=>{const x=Be(n,t._names,D||t._formValues,!1,A.current);return R.current?R.current(x):x},[t._formValues,t._names,n]),B=g.useCallback(D=>{if(!i){const x=Be(n,t._names,D||t._formValues,!1,A.current);if(R.current){const X=R.current(x);ne(X,O.current)||(N(X),O.current=X)}else N(x)}},[t._formValues,t._names,i,n]);_t(()=>((F.current!==t||!ne(p.current,n))&&(F.current=t,p.current=n,B()),t._subscribe({name:n,formState:{values:!0},exact:u,callback:D=>{B(D.values)}})),[t,u,n,B]),g.useEffect(()=>t._removeUnmounted());const $=F.current!==t,V=p.current,H=g.useMemo(()=>{if(i)return null;const D=!$&&!ne(V,n);return $||D?U():null},[i,$,n,V,U]);return H!==null?H:v}var Ht=(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],ot=()=>{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 xt(e,r){const t={};for(const n in e)if(e.hasOwnProperty(n)){const o=e[n],i=r[n];if(o&&q(o)&&i){const u=xt(o,i);q(u)&&(t[n]=u)}else e[n]&&(t[n]=i)}return t}var G=e=>q(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",De=e=>{if(!Ye)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},Et=e=>e.type==="select-multiple",Xe=e=>e.type==="radio",Jt=e=>Xe(e)||Se(e),Ue=e=>De(e)&&e.isConnected;function Gt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=M(e)?n++:e[r[n++]];return e}function Xt(e){for(const r in e)if(e.hasOwnProperty(r)&&!M(e[r]))return!1;return!0}function Y(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:ze(r),n=t.length===1?e:Gt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(q(n)&&G(n)||Array.isArray(n)&&Xt(n))&&Y(e,t.slice(0,-1)),e}var Zt=e=>{for(const r in e)if(re(e[r]))return!0;return!1};function Vt(e){return Array.isArray(e)||q(e)&&!Zt(e)}function We(e,r={}){for(const t in e){const n=e[t];Vt(n)?(r[t]=Array.isArray(n)?[]:{},We(n,r[t])):M(n)||(r[t]=!0)}return r}function Ve(e,r,t){t||(t=We(r));for(const n in e){const o=e[n];if(Vt(o))M(r)||$e(t[n])?t[n]=We(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ne(o,i)}}return t}const lt={value:!1,isValid:!1},ut={value:!0,isValid:!0};var Ft=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&&!M(e[0].attributes.value)?M(e[0].value)||e[0].value===""?ut:{value:e[0].value,isValid:!0}:ut:lt}return lt},wt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>M(e)?e:r?e===""?NaN:e&&+e:t&&ee(e)?new Date(e):n?n(e):e;const ct={isValid:!1,value:null};var At=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,ct):ct;function ft(e){const r=e.ref;return Ge(r)?r.files:Xe(r)?At(e.refs).value:Et(r)?[...r.selectedOptions].map(({value:t})=>t):Se(r)?Ft(e.refs).value:wt(M(r.value)?e.ref.value:r.value,e)}var Qt=(e,r,t,n)=>{const o={};for(const i of e){const u=h(r,i);u&&j(o,i,u._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:n}},Ce=e=>e instanceof RegExp,pe=e=>M(e)?e:Ce(e)?e.source:q(e)?Ce(e.value)?e.value.source:e.value:e,dt=e=>({isOnSubmit:!e||e===se.onSubmit,isOnBlur:e===se.onBlur,isOnChange:e===se.onChange,isOnAll:e===se.all,isOnTouch:e===se.onTouched});const yt="AsyncFunction";var Kt=e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===yt||q(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===yt)),er=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),mt=(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(q(f)&&ke(f,r))break}}};function ht(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 tr=(e,r,t,n)=>{t(e);const{name:o,...i}=e;return G(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(u=>r[u]===(!n||se.all))},rr=(e,r,t)=>!e||!r||e===r||Re(e).some(n=>n&&(t?n===r:n.startsWith(r)||r.startsWith(n))),sr=(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,nr=(e,r)=>!qe(h(e,r)).length&&Y(e,r),ir=(e,r,t)=>{const n=Re(h(e,t));return j(n,"root",r[t]),j(e,t,n),e};function vt(e,r,t="validate"){if(ee(e)||Array.isArray(e)&&e.every(ee)||oe(e)&&!e)return{type:t,message:ee(e)?e:"",ref:r}}var Ee=e=>q(e)&&!Ce(e)?e:{value:e,message:""},bt=async(e,r,t,n,o,i)=>{const{ref:u,refs:f,required:A,maxLength:R,minLength:O,min:F,max:p,pattern:v,validate:N,name:U,valueAsNumber:B,mount:$}=e._f,V=h(t,U);if(!$||r.has(U))return{};const H=f?f[0]:u,D=E=>{o&&H.reportValidity&&(H.setCustomValidity(oe(E)?"":E||""),H.reportValidity())},x={},X=Xe(u),ce=Se(u),le=X||ce,ie=(B||Ge(u))&&M(u.value)&&M(V)||De(u)&&u.value===""||V===""||Array.isArray(V)&&!V.length,Z=Ht.bind(null,U,n,x),be=(E,k,I,W=ue.maxLength,Q=ue.minLength)=>{const J=E?k:I;x[U]={type:E?W:Q,message:J,ref:u,...Z(E?W:Q,J)}};if(i?!Array.isArray(V)||!V.length:A&&(!le&&(ie||K(V))||oe(V)&&!V||ce&&!Ft(f).isValid||X&&!At(f).isValid)){const{value:E,message:k}=ee(A)?{value:!!A,message:A}:Ee(A);if(E&&(x[U]={type:ue.required,message:k,ref:H,...Z(ue.required,k)},!n))return D(k),x}if(!ie&&(!K(F)||!K(p))){let E,k;const I=Ee(p),W=Ee(F);if(!K(V)&&!isNaN(V)){const Q=u.valueAsNumber||V&&+V;K(I.value)||(E=Q>I.value),K(W.value)||(k=Q<W.value)}else{const Q=u.valueAsDate||new Date(V),J=ye=>new Date(new Date().toDateString()+" "+ye),fe=u.type=="time",de=u.type=="week";ee(I.value)&&V&&(E=fe?J(V)>J(I.value):de?V>I.value:Q>new Date(I.value)),ee(W.value)&&V&&(k=fe?J(V)<J(W.value):de?V<W.value:Q<new Date(W.value))}if((E||k)&&(be(!!E,I.message,W.message,ue.max,ue.min),!n))return D(x[U].message),x}if((R||O)&&!ie&&(ee(V)||i&&Array.isArray(V))){const E=Ee(R),k=Ee(O),I=!K(E.value)&&V.length>+E.value,W=!K(k.value)&&V.length<+k.value;if((I||W)&&(be(I,E.message,k.message),!n))return D(x[U].message),x}if(v&&!ie&&ee(V)){const{value:E,message:k}=Ee(v);if(Ce(E)&&!V.match(E)&&(x[U]={type:ue.pattern,message:k,ref:u,...Z(ue.pattern,k)},!n))return D(k),x}if(N){if(re(N)){const E=await N(V,t),k=vt(E,H);if(k&&(x[U]={...k,...Z(ue.validate,k.message)},!n))return D(k.message),x}else if(q(N)){let E={};for(const k in N){if(!G(E)&&!n)break;const I=vt(await N[k](V,t),H,k);I&&(E={...I,...Z(k,I.message)},D(I.message),n&&(x[U]=E))}if(!G(E)&&(x[U]={ref:H,...E},!n))return x}}return D(!0),x};const ar={mode:se.onSubmit,reValidateMode:se.onChange,shouldFocusError:!0};function or(e={}){let r={...ar,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},n={},o=q(r.defaultValues)||q(r.values)?z(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:z(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,R=0;const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={...O};let p={...F};const v={array:ot(),state:ot()},N=r.criteriaMode===se.all,U=s=>a=>{clearTimeout(R),R=setTimeout(s,a)},B=async s=>{if(!u.keepIsValid&&!r.disabled&&(F.isValid||p.isValid||s)){let a;r.resolver?(a=G((await le()).errors),$()):a=await Z(n,!0),a!==t.isValid&&v.state.next({isValid:a})}},$=(s,a)=>{!r.disabled&&(F.isValidating||F.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(l=>{l&&(a?j(t.validatingFields,l,a):Y(t.validatingFields,l))}),v.state.next({validatingFields:t.validatingFields,isValidating:!G(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 b=l(h(n,s),m.argA,m.argB);y&&j(n,s,b)}if(d&&Array.isArray(h(t.errors,s))){const b=l(h(t.errors,s),m.argA,m.argB);y&&j(t.errors,s,b),nr(t.errors,s)}if((F.touchedFields||p.touchedFields)&&d&&Array.isArray(h(t.touchedFields,s))){const b=l(h(t.touchedFields,s),m.argA,m.argB);y&&j(t.touchedFields,s,b)}(F.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ve(o,i)),v.state.next({name:s,isDirty:E(s,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else j(i,s,a)},H=(s,a)=>{j(t.errors,s,a),v.state.next({errors:t.errors})},D=s=>{t.errors=s,v.state.next({errors:t.errors,isValid:!1})},x=(s,a,l,m)=>{const y=h(n,s);if(y){const d=h(i,s,M(l)?h(o,s):l);M(d)||m&&m.defaultChecked||a?j(i,s,a?d:ft(y._f)):W(s,d),u.mount&&!u.action&&B()}},X=(s,a,l,m,y)=>{let d=!1,b=!1;const S={name:s};if(!r.disabled){if(!l||m){(F.isDirty||p.isDirty)&&(b=t.isDirty,t.isDirty=S.isDirty=E(),d=b!==S.isDirty);const T=ne(h(o,s),a);b=!!h(t.dirtyFields,s),T?Y(t.dirtyFields,s):j(t.dirtyFields,s,!0),S.dirtyFields=t.dirtyFields,d=d||(F.dirtyFields||p.dirtyFields)&&b!==!T}if(l){const T=h(t.touchedFields,s);T||(j(t.touchedFields,s,l),S.touchedFields=t.touchedFields,d=d||(F.touchedFields||p.touchedFields)&&T!==l)}d&&y&&v.state.next(S)}return d?S:{}},ce=(s,a,l,m)=>{const y=h(t.errors,s),d=(F.isValid||p.isValid)&&oe(a)&&t.isValid!==a;if(r.delayError&&l?(A=U(()=>H(s,l)),A(r.delayError)):(clearTimeout(R),A=null,l?j(t.errors,s,l):Y(t.errors,s)),(l?!ne(y,l):y)||!G(m)||d){const b={...m,...d&&oe(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...b},v.state.next(b)}},le=async s=>($(s,!0),await r.resolver(i,r.context,Qt(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),ie=async s=>{const{errors:a}=await le(s);if($(s),s)for(const l of s){const m=h(a,l);m?j(t.errors,l,m):Y(t.errors,l)}else t.errors=a;return a},Z=async(s,a,l={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...b}=y;if(d){const S=f.array.has(d.name),T=y._f&&Kt(y._f);T&&F.validatingFields&&$([d.name],!0);const te=await bt(y,f.disabled,i,N,r.shouldUseNativeValidation&&!a,S);if(T&&F.validatingFields&&$([d.name]),te[d.name]&&(l.valid=!1,a))break;!a&&(h(te,d.name)?S?ir(t.errors,te,d.name):j(t.errors,d.name,te[d.name]):Y(t.errors,d.name))}!G(b)&&await Z(b,a,l)}}return l.valid},be=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(l=>!Ue(l)):!Ue(a._f.ref))&&ae(s)}f.unMount=new Set},E=(s,a)=>!r.disabled&&(s&&a&&j(i,s,a),!ne(c(),o)),k=(s,a,l)=>Be(s,f,{...u.mount?i:M(a)?o:ee(s)?{[s]:a}:a},l,a),I=s=>qe(h(u.mount?i:o,s,r.shouldUnregister?h(o,s,[]):[])),W=(s,a,l={})=>{const m=h(n,s);let y=a;if(m){const d=m._f;d&&(!d.disabled&&j(i,s,wt(a,d)),y=De(d.ref)&&K(a)?"":a,Et(d.ref)?[...d.ref.options].forEach(b=>b.selected=y.includes(b.value)):d.refs?Se(d.ref)?d.refs.forEach(b=>{(!b.defaultChecked||!b.disabled)&&(Array.isArray(y)?b.checked=!!y.find(S=>S===b.value):b.checked=y===b.value||!!y)}):d.refs.forEach(b=>b.checked=b.value===y):Ge(d.ref)?d.ref.value="":(d.ref.value=y,d.ref.type||v.state.next({name:s,values:z(i)})))}(l.shouldDirty||l.shouldTouch)&&X(s,y,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ye(s)},Q=(s,a,l)=>{for(const m in a){if(!a.hasOwnProperty(m))return;const y=a[m],d=s+"."+m,b=h(n,d);(f.array.has(s)||q(y)||b&&!b._f)&&!he(y)?Q(d,y,l):W(d,y,l)}},J=(s,a,l={})=>{const m=h(n,s),y=f.array.has(s),d=z(a);j(i,s,d),y?(v.array.next({name:s,values:z(i)}),(F.isDirty||F.dirtyFields||p.isDirty||p.dirtyFields)&&l.shouldDirty&&v.state.next({name:s,dirtyFields:Ve(o,i),isDirty:E(s,d)})):m&&!m._f&&!K(d)?Q(s,d,l):W(s,d,l),mt(s,f)&&v.state.next({...t,name:s}),v.state.next({name:u.mount?s:void 0,values:z(i)})},fe=async s=>{u.mount=!0;const a=s.target;let l=a.name,m=!0;const y=h(n,l),d=T=>{m=Number.isNaN(T)||he(T)&&isNaN(T.getTime())||ne(T,h(i,l,T))},b=dt(r.mode),S=dt(r.reValidateMode);if(y){let T,te;const Te=a.type?ft(y._f):Bt(s),me=s.type===at.BLUR||s.type===at.FOCUS_OUT,Pt=!er(y._f)&&!r.resolver&&!h(t.errors,l)&&!y._f.deps||sr(me,h(t.touchedFields,l),t.isSubmitted,S,b),Le=mt(l,f,me);j(i,l,Te),me?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),A&&A(0)):y._f.onChange&&y._f.onChange(s);const Me=X(l,Te,me),Nt=!G(Me)||Le;if(!me&&v.state.next({name:l,type:s.type,values:z(i)}),Pt)return(F.isValid||p.isValid)&&(r.mode==="onBlur"?me&&B():me||B()),Nt&&v.state.next({name:l,...Le?{}:Me});if(!me&&Le&&v.state.next({...t}),r.resolver){const{errors:tt}=await le([l]);if($([l]),d(Te),m){const It=ht(t.errors,n,l),rt=ht(tt,n,It.name||l);T=rt.error,l=rt.name,te=G(tt)}}else $([l],!0),T=(await bt(y,f.disabled,i,N,r.shouldUseNativeValidation))[l],$([l]),d(Te),m&&(T?te=!1:(F.isValid||p.isValid)&&(te=await Z(n,!0)));m&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&ye(y._f.deps),ce(l,te,T,Me))}},de=(s,a)=>{if(h(t.errors,a)&&s.focus)return s.focus(),1},ye=async(s,a={})=>{let l,m;const y=Re(s);if(r.resolver){const d=await ie(M(s)?s:y);l=G(d),m=s?!y.some(b=>h(d,b)):l}else s?(m=(await Promise.all(y.map(async d=>{const b=h(n,d);return await Z(b&&b._f?{[d]:b}:b)}))).every(Boolean),!(!m&&!t.isValid)&&B()):m=l=await Z(n);return v.state.next({...!ee(s)||(F.isValid||p.isValid)&&l!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:l}:{},errors:t.errors}),a.shouldFocus&&!m&&ke(n,de,s?y:f.mount),m},c=(s,a)=>{let l={...u.mount?i:o};return a&&(l=xt(a.dirtyFields?t.dirtyFields:t.touchedFields,l)),M(s)?l:ee(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)}),C=s=>{s&&Re(s).forEach(a=>Y(t.errors,a)),v.state.next({errors:s?t.errors:{}})},P=(s,a,l)=>{const m=(h(n,s,{_f:{}})._f||{}).ref,y=h(t.errors,s)||{},{ref:d,message:b,type:S,...T}=y;j(t.errors,s,{...T,...a,ref:m}),v.state.next({name:s,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,a)=>re(s)?v.state.subscribe({next:l=>"values"in l&&s(k(void 0,a),l)}):k(s,a,!0),_e=s=>v.state.subscribe({next:a=>{rr(s.name,a.name,s.exact)&&tr(a,s.formState||F,jt,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,L=s=>(u.mount=!0,p={...p,...s.formState},_e({...s,formState:{...O,...s.formState}})),ae=(s,a={})=>{for(const l of s?Re(s):f.mount)f.mount.delete(l),f.array.delete(l),a.keepValue||(Y(n,l),Y(i,l)),!a.keepError&&Y(t.errors,l),!a.keepDirty&&Y(t.dirtyFields,l),!a.keepTouched&&Y(t.touchedFields,l),!a.keepIsValidating&&Y(t.validatingFields,l),!r.shouldUnregister&&!a.keepDefaultValue&&Y(o,l);v.state.next({values:z(i)}),v.state.next({...t,...a.keepDirty?{isDirty:E()}:{}}),!a.keepIsValid&&B()},xe=({disabled:s,name:a})=>{(oe(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=oe(a.disabled)||oe(r.disabled);return j(n,s,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:s}},name:s,mount:!0,...a}}),f.mount.add(s),l?xe({disabled:oe(a.disabled)?a.disabled:r.disabled,name:s}):x(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:fe,onBlur:fe,ref:y=>{if(y){Fe(s,a),l=h(n,s);const d=M(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,b=Jt(d),S=l._f.refs||[];if(b?S.find(T=>T===d):d===l._f.ref)return;j(n,s,{_f:{...l._f,...b?{refs:[...S.filter(Ue),d,...Array.isArray(h(o,s))?[{}]:[]],ref:{type:d.type,name:s}}:{ref:d}}}),x(s,!1,void 0,d)}else l=h(n,s,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(Wt(f.array,s)&&u.action)&&f.unMount.add(s)}}},Ie=()=>r.shouldFocusError&&ke(n,de,f.mount),Ot=s=>{oe(s)&&(v.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))},Ze=(s,a)=>async l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let y=z(i);if(v.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:b}=await le();$(),t.errors=d,y=z(b)}else await Z(n);if(f.disabled.size)for(const d of f.disabled)Y(y,d);if(Y(t.errors,"root"),G(t.errors)){v.state.next({errors:{}});try{await s(y,l)}catch(d){m=d}}else a&&await a({...t.errors},l),Ie(),setTimeout(Ie);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Dt=(s,a={})=>{h(n,s)&&(M(a.defaultValue)?J(s,z(h(o,s))):(J(s,a.defaultValue),j(o,s,z(a.defaultValue))),a.keepTouched||Y(t.touchedFields,s),a.keepDirty||(Y(t.dirtyFields,s),t.isDirty=a.defaultValue?E(s,z(h(o,s))):E()),a.keepError||(Y(t.errors,s),F.isValid&&B()),v.state.next({...t}))},Qe=(s,a={})=>{const l=s?z(s):o,m=z(l),y=G(s),d=y?o:m;if(a.keepDefaultValues||(o=l),!a.keepValues){if(a.keepDirtyValues){const b=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(b))h(t.dirtyFields,S)?j(d,S,h(i,S)):J(S,h(d,S))}else{if(Ye&&M(s))for(const b of f.mount){const S=h(n,b);if(S&&S._f){const T=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(De(T)){const te=T.closest("form");if(te){te.reset();break}}}}if(a.keepFieldsRef)for(const b of f.mount)J(b,h(d,b));else n={}}i=r.shouldUnregister?a.keepDefaultValues?z(o):{}:z(d),v.array.next({values:{...d}}),v.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=!F.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!G(d),u.watch=!!r.shouldUnregister,u.keepIsValid=!!a.keepIsValid,u.action=!1,a.keepErrors||(t.errors={}),v.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ne(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})},Ke=(s,a)=>Qe(re(s)?s(i):s,{...r.resetOptions,...a}),Ct=(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&&re(y.select)&&y.select()})}},jt=s=>{t={...t,...s}},et={control:{register:Fe,unregister:ae,getFieldState:_,handleSubmit:Ze,setError:P,_subscribe:_e,_runSchema:le,_updateIsValidating:$,_focusError:Ie,_getWatch:k,_getDirty:E,_setValid:B,_setFieldArray:V,_setDisabledField:xe,_setErrors:D,_getFieldArray:I,_reset:Qe,_resetDefaultValues:()=>re(r.defaultValues)&&r.defaultValues().then(s=>{Ke(s,r.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:be,_disableForm:Ot,_subjects:v,_proxyFormState:F,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:L,trigger:ye,register:Fe,handleSubmit:Ze,watch:ge,setValue:J,getValues:c,reset:Ke,resetField:Dt,clearErrors:C,unregister:ae,setError:P,setFocus:Ct,getFieldState:_};return{...et,formControl:et}}function lr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[n,o]=g.useState({isDirty:!1,isValidating:!1,isLoading:re(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:re(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:n},e.defaultValues&&!re(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...f}=or(e);r.current={...f,formState:n}}const i=r.current.control;return i._options=e,_t(()=>{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&&!ne(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=zt(n,i),r.current}const pt=g.createContext(null),ur=({children:e,layout:r="vertical",uiConfig:t,updateFieldSchema:n})=>{const o=g.useMemo(()=>({layout:r,uiConfig:t,updateFieldSchema:n}),[r,t,n]);return w.jsx(pt.Provider,{value:o,children:e})},Rt=()=>{const e=g.useContext(pt);if(!e)throw new Error("useAutoFormRenderContext must be used within AutoFormRenderContextProvider");return e},cr=e=>{const{fieldSchema:r}=e,{register:t}=ve(),n=t(r.name);return w.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[w.jsx("label",{children:r.label}),w.jsx("input",{type:r.type,...n,readOnly:r.readonly})]})},fr=e=>{const{fieldSchema:r}=e,{register:t}=ve(),n=t(r.name),o=r.options;return console.log("select"),w.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[w.jsx("label",{children:r.label}),w.jsx("select",{...n,disabled:r.readonly,children:o.map(i=>w.jsx("option",{value:i.value,children:i.label},i.value))})]})};function dr(e,r){const t={};return e.forEach((n,o)=>{const i=n.split(".");let u=t;i.forEach((f,A)=>{const R=A===i.length-1,O=!isNaN(Number(f));R?u[f]=r[o]:(f in u||(u[f]=O?[]:{}),u=u[f])})}),t}function yr(e){switch(e){case"text":return"";case"number":return 0;case"array":return[];case"checkbox":return!1;case"object":return{};case"select":return null;case"date":return new Date().toISOString().slice(0,10);case"datetime-local":return new Date().toISOString().slice(0,16);case"time":return new Date().toISOString().slice(11,16);default:return""}}function kt(e){return e.replace(/\.\d+\./g,".")}function mr(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 je(e,r={}){const t={};for(const n of e)if(n.type==="object"){const o=n.fields;t[n.name]=je(o,r==null?void 0:r[n.name])}else t[n.name]=(r==null?void 0:r[n.name])??n.initialValue??yr(n.type);return t}const hr=e=>{const{fieldSchema:r}=e;let t=g.useMemo(()=>r.fields.map(n=>({...n,name:`${r.name}.${n.name}`})),[r.fields]);return w.jsx(Pe,{schema:t})};function St(e){return e.map(r=>{if(["object","array"].includes(r.type)){const t=r.fields;return{...r,readonly:!0,fields:St(t)}}return{...r,readonly:!0}})}const vr=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 w.jsxs("div",{children:[w.jsxs("div",{children:["row ",t]}),w.jsx(Pe,{schema:o})]})}),br=e=>{const{fieldSchema:r}=e,{control:t,getValues:n,setValue:o}=ve(),u=Je({control:t,name:r.name})??[],f=()=>{const R=n(r.name)||[];o(r.name,[...R,je(r.fields)])},A=R=>{const F=(n(r.name)||[]).filter((p,v)=>v!==R);o(r.name,F)};return w.jsxs("div",{children:[u.map((R,O)=>w.jsxs("div",{children:[w.jsx(vr,{baseName:r.name,index:O,fields:r.fields}),!r.readonly&&w.jsx("button",{type:"button",onClick:()=>A(O),children:"Remove"})]},O)),!r.readonly&&w.jsx("button",{type:"button",onClick:f,children:"Add Row"})]})},gr=g.memo(br),_r=["text","number","checkbox","select","date","datetime-local","time","array","object"],Tt=({fieldSchema:e})=>{var R,O;const t=Rt().uiConfig,{register:n,control:o}=ve(),i=kt(e.name),u=n(e.name),f=(R=t==null?void 0:t.renderersByName)==null?void 0:R[i];if(f)return w.jsx(f,{fieldSchema:e,control:o,register:u});const A=(O=t==null?void 0:t.renderersByType)==null?void 0:O[e.type];if(A)return w.jsx(A,{fieldSchema:e,control:o,register:u});if(_r.includes(e.type))return e.type==="select"?w.jsx(fr,{fieldSchema:e}):e.type==="array"?w.jsx(gr,{fieldSchema:e}):e.type==="object"?w.jsx(hr,{fieldSchema:e}):w.jsx(cr,{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})=>w.jsx(Tt,{fieldSchema:e}),Er=({fieldSchema:e})=>{const{control:r}=ve(),t=Rt(),n=e.dependsOn??[],o=g.useMemo(()=>mr(e.name,n),[e.name,n]),i=Je({control:r,name:o}),[u,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let A=!1;return(async()=>{var N;const O=kt(e.name),F=dr(o,i??[]),p=(N=t==null?void 0:t.updateFieldSchema)==null?void 0:N[O];if(!p)return;const v=await p(e.name,e,F);!A&&v&&f({...e,...v})})(),()=>{A=!0}},[i]),w.jsx(Tt,{fieldSchema:u})},Vr=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?w.jsx(Er,{fieldSchema:r}):w.jsx(xr,{fieldSchema:r})},Fr=e=>{const{fieldSchema:r}=e;if(r.visible!==!1)return w.jsx(Vr,{fieldSchema:r})},Pe=g.memo(e=>{const{schema:r}=e;return r.map(t=>w.jsx(Fr,{fieldSchema:t},t.name))}),wr=e=>{const{onDirtyChange:r,onValuesChange:t}=e,{formState:n,control:o}=ve(),i=Je({control:o});return g.useEffect(()=>{t(i)},[i]),g.useEffect(()=>{r(n.isDirty)},[n.isDirty]),null},Ar=({onValuesChange:e,onDirtyChange:r})=>(wr({onDirtyChange:r,onValuesChange:e}),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:R=()=>{},onValuesChange:O=()=>{},resolver:F,readonly:p}=e,v=lr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:F}),N=g.useRef(!1),U=v.handleSubmit(n);console.log("?");const B=g.useMemo(()=>{let x=t;return p&&(x=St(x)),x},[p,t]);g.useEffect(()=>{if(N.current)return;let x=!1;return(async()=>{const ce=await f();x||(v.reset(je(t,ce)),N.current=!0)})(),()=>{x=!0}},[f,t]),g.useImperativeHandle(r,()=>({submit:async()=>{await v.handleSubmit(n)()},reset:x=>{v.reset(x?je(t,x):void 0)},getValues:()=>v.getValues(),setValue:(x,X)=>{v.setValue(x,X)}}));const $=A||p,V=g.useMemo(()=>o,[o]),H=g.useMemo(()=>i,[i]),D=g.useMemo(()=>({layout:u,uiConfig:o,updateFieldSchema:i}),[u,o,i]);return w.jsxs(qt,{...v,children:[w.jsx(Ar,{onDirtyChange:R,onValuesChange:O}),w.jsxs(ur,{layout:D.layout,uiConfig:V,updateFieldSchema:H,children:[["vertical","horizontal"].includes(u)&&w.jsx("div",{style:{display:"flex",flexDirection:u==="vertical"?"column":"row"},children:w.jsx(Pe,{schema:B})}),u==="custom"&&w.jsx(Pe,{schema:B}),!$&&w.jsx("button",{style:{marginTop:"1rem"},onClick:U,children:"Submit"})]})]})});exports.AutoForm=pr;
|