autoforma 2.1.0 → 2.2.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/types.d.ts +3 -1
- package/dist/index.cjs.js +2 -2
- package/dist/index.es.js +290 -274
- package/package.json +1 -1
package/dist/autoform/types.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resolver, UseFormRegisterReturn } from 'react-hook-form';
|
|
2
2
|
export type FormValues = Record<string, any>;
|
|
3
|
-
export
|
|
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];
|
|
5
|
+
export type FieldType<TCustom extends string = never> = BuiltInFieldType | TCustom;
|
|
4
6
|
export interface BaseFieldSchema<TCustom extends string = never> {
|
|
5
7
|
type: FieldType<TCustom>;
|
|
6
8
|
name: string;
|
package/dist/index.cjs.js
CHANGED
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var vr;function Xr(){return vr||(vr=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
|
|
17
|
+
*/var vr;function Xr(){return vr||(vr=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 W:return"Fragment";case w:return"Profiler";case B:return"StrictMode";case V:return"Suspense";case C:return"SuspenseList";case K: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 $:return"Portal";case _:return c.displayName||"Context";case D:return(c._context.displayName||"Context")+".Consumer";case m:var E=c.render;return c=c.displayName,c||(c=E.displayName||E.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case Q:return E=c.displayName||null,E!==null?E:e(c.type)||"Memo";case se:E=c._payload,c=c._init;try{return e(c(E))}catch{}}return null}function t(c){return""+c}function r(c){try{t(c);var E=!1}catch{E=!0}if(E){E=console;var M=E.error,Y=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return M.call(E,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",Y),t(c)}}function s(c){if(c===W)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===se)return"<...>";try{var E=e(c);return E?"<"+E+">":"<...>"}catch{return"<...>"}}function o(){var c=k.A;return c===null?null:c.getOwner()}function a(){return Error("react-stack-top-frame")}function l(c){if(S.call(c,"key")){var E=Object.getOwnPropertyDescriptor(c,"key").get;if(E&&E.isReactWarning)return!1}return c.key!==void 0}function d(c,E){function M(){ee||(ee=!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)",E))}M.isReactWarning=!0,Object.defineProperty(c,"key",{get:M,configurable:!0})}function F(){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,E,M,Y,xe,pe){var z=M.ref;return c={$$typeof:U,type:c,key:E,props:M,_owner:Y},(z!==void 0?z:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:F}):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:xe}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:pe}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function I(c,E,M,Y,xe,pe){var z=E.children;if(z!==void 0)if(Y)if(q(z)){for(Y=0;Y<z.length;Y++)p(z[Y]);Object.freeze&&Object.freeze(z)}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 p(z);if(S.call(E,"key")){z=e(c);var le=Object.keys(E).filter(function(ke){return ke!=="key"});Y=0<le.length?"{key: someKey, "+le.join(": ..., ")+": ...}":"{key: someKey}",me[z+Y]||(le=0<le.length?"{"+le.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"),W=Symbol.for("react.portal"),$=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"),C=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=$,Se.jsx=function(c,E,M){var Y=1e4>k.recentlyCreatedOwnerStacks++;return I(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 I(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 O=Zr(),Te=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?Te(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),N=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 N(s)||s===e?N(e[t])?r:e[t]:s},ce=e=>typeof e=="boolean",oe=e=>typeof e=="function",P=(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),I=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(_):_}),W=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]),$=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,I.current)||(U(V),I.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,$()),r._subscribe({name:s,formState:{values:!0},exact:l,callback:_=>{$(_.values)}})),[r,l,s,$]),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||_?W():null},[a,B,s,w,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 Or(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=Or(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)},Tr=e=>e.type==="select-multiple",or=e=>e.type==="radio",at=e=>or(e)||Te(e),We=e=>je(e)&&e.isConnected;function it(e,t){const r=t.slice(0,-1).length;let s=0;for(;s<r;)e=N(e)?s++:e[t[s++]];return e}function ot(e){for(const t in e)if(e.hasOwnProperty(t)&&!N(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])):N(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))N(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&&!N(e[0].attributes.value)?N(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})=>N(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:Tr(t)?[...t.selectedOptions].map(({value:r})=>r):Te(t)?Cr(e.refs).value:jr(N(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&&P(o,a,l._f)}return{criteriaMode:r,names:[...e],fields:o,shouldUseNativeValidation:s}},Pe=e=>e instanceof RegExp,Oe=e=>N(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 P(s,"root",t[r]),P(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:I,min:p,max:R,pattern:b,validate:U,name:W,valueAsNumber:$,mount:B}=e._f,w=g(r,W);if(!B||t.has(W))return{};const D=d?d[0]:l,_=k=>{o&&D.reportValidity&&(D.setCustomValidity(ce(k)?"":k||""),D.reportValidity())},m={},V=or(l),C=Te(l),Q=V||C,se=($||ir(l))&&N(l.value)&&N(w)||je(l)&&l.value===""||w===""||Array.isArray(w)&&!w.length,K=nt.bind(null,W,s,m),be=(k,S,q,J=de.maxLength,ee=de.minLength)=>{const X=k?S:q;m[W]={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||C&&!Cr(d).isValid||V&&!Pr(d).isValid)){const{value:k,message:S}=ne(F)?{value:!!F,message:F}:Fe(F);if(k&&(m[W]={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[W].message),m}if((A||I)&&!se&&(ne(w)||a&&Array.isArray(w))){const k=Fe(A),S=Fe(I),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[W].message),m}if(b&&!se&&ne(w)){const{value:k,message:S}=Fe(b);if(Pe(k)&&!w.match(k)&&(m[W]={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[W]={...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[W]=k))}if(!Z(k)&&(m[W]={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 I={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},p={...I};let R={...p};const b={array:br(),state:br()},U=t.criteriaMode===ie.all,W=n=>i=>{clearTimeout(A),A=setTimeout(n,i)},$=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?P(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&&P(s,n,x)}if(f&&Array.isArray(g(r.errors,n))){const x=u(g(r.errors,n),v.argA,v.argB);y&&P(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&&P(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 P(a,n,i)},D=(n,i)=>{P(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,N(u)?g(o,n):u);N(f)||v&&v.defaultChecked||i?P(a,n,i?f:Fr(y._f)):J(n,f),l.mount&&!l.action&&$()}},V=(n,i,u,v,y)=>{let f=!1,x=!1;const T={name:n};if(!t.disabled){if(!u||v){(p.isDirty||R.isDirty)&&(x=r.isDirty,r.isDirty=T.isDirty=k(),f=x!==T.isDirty);const j=ue(g(o,n),i);x=!!g(r.dirtyFields,n),j?H(r.dirtyFields,n):P(r.dirtyFields,n,!0),T.dirtyFields=r.dirtyFields,f=f||(p.dirtyFields||R.dirtyFields)&&x!==!j}if(u){const j=g(r.touchedFields,n);j||(P(r.touchedFields,n,u),T.touchedFields=r.touchedFields,f=f||(p.touchedFields||R.touchedFields)&&j!==u)}f&&y&&b.state.next(T)}return f?T:{}},C=(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=W(()=>D(n,u)),F(t.delayError)):(clearTimeout(A),F=null,u?P(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?P(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 T=d.array.has(f.name),j=y._f&&ct(y._f);j&&p.validatingFields&&B([f.name],!0);const ae=await rr(y,d.disabled,a,U,t.shouldUseNativeValidation&&!i,T);if(j&&p.validatingFields&&B([f.name]),ae[f.name]&&(u.valid=!1,i))break;!i&&(g(ae,f.name)?T?Nr(r.errors,ae,f.name):P(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=>!We(u)):!We(i._f.ref))&&le(n)}d.unMount=new Set},k=(n,i)=>!t.disabled&&(n&&i&&P(a,n,i),!ue(c(),o)),S=(n,i,u)=>Ze(n,d,{...l.mount?a:N(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&&P(a,n,jr(i,f)),y=je(f.ref)&&re(i)?"":i,Tr(f.ref)?[...f.ref.options].forEach(x=>x.selected=y.includes(x.value)):f.refs?Te(f.ref)?f.refs.forEach(x=>{(!x.defaultChecked||!x.disabled)&&(Array.isArray(y)?x.checked=!!y.find(T=>T===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);P(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=j=>{v=Number.isNaN(j)||he(j)&&isNaN(j.getTime())||ue(j,g(a,u,j))},x=Ee(t.mode),T=Ee(t.reValidateMode);if(y){let j,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,T,x),Ue=er(u,d,_e);P(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&&$():_e||$()),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);j=mr.error,u=mr.name,ae=Z(yr)}}else B([u],!0),j=(await rr(y,d.disabled,a,U,t.shouldUseNativeValidation))[u],B([u]),f(De),v&&(j?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),C(u,ae,j,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(N(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)&&$()):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=Or(i.dirtyFields?r.dirtyFields:r.touchedFields,u)),N(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:T,...j}=y;P(r.errors,n,{...j,...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:{...I,...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&&$()},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 P(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:Oe(i.min),max:Oe(i.max),minLength:Oe(i.minLength),maxLength:Oe(i.maxLength),pattern:Oe(i.pattern)}:{},name:n,onChange:fe,onBlur:fe,ref:y=>{if(y){ke(n,i),u=g(s,n);const f=N(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,x=at(f),T=u._f.refs||[];if(x?T.find(j=>j===f):f===u._f.ref)return;P(s,n,{_f:{...u._f,...x?{refs:[...T.filter(We),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),Wr=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},$r=(n,i={})=>{g(s,n)&&(N(i.defaultValue)?X(n,L(g(o,n))):(X(n,i.defaultValue),P(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&&$()),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 T of Array.from(x))g(r.dirtyFields,T)?P(f,T,g(a,T)):X(T,g(f,T))}else{if(tr&&N(n))for(const x of d.mount){const T=g(s,x);if(T&&T._f){const j=Array.isArray(T._f.refs)?T._f.refs[0]:T._f.ref;if(je(j)){const ae=j.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:$,_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:Wr,_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:$r,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)})},$e=(e,t,r={})=>r.shouldFocus||N(r.shouldFocus)?r.focusName||`${e}.${N(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)?(N(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)=>N(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)),I=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(_=>{I.current=!0,r._setFieldArray(s,_)},[r,s]),R=(_,m)=>{const V=te(L(_)),C=Ye(r._getFieldArray(s),V);r._names.focus=$e(s,C.length-1,m),A.current=Ye(A.current,V.map(ve)),p(C),F(C),r._setFieldArray(s,C,Ye,{argA:qe(_)})},b=(_,m)=>{const V=te(L(_)),C=Je(r._getFieldArray(s),V);r._names.focus=$e(s,0,m),A.current=Je(A.current,V.map(ve)),p(C),F(C),r._setFieldArray(s,C,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))&&P(r._fields,s,void 0),r._setFieldArray(s,m,Ge,{argA:_})},W=(_,m,V)=>{const C=te(L(m)),Q=ze(r._getFieldArray(s),_,C);r._names.focus=$e(s,_,V),A.current=ze(A.current,_,C.map(ve)),p(Q),F(Q),r._setFieldArray(s,Q,ze,{argA:_,argB:qe(m)})},$=(_,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),C=kr(r._getFieldArray(s),_,V);A.current=[...C].map((Q,se)=>!Q||se===_?ve():A.current[se]),p(C),F([...C]),r._setFieldArray(s,C,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}),I.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?P(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(),I.current=!1},[d,s,r]),h.useEffect(()=>(!g(r._formValues,s)&&r._setFieldArray(s),()=>{const _=(m,V)=>{const C=g(r._fields,m);C&&C._f&&(C._f.mount=V)};r._options.shouldUnregister||a?r.unregister(s):_(s,!1)}),[s,r,o,a]),{swap:h.useCallback($,[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(W,[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,I=!isNaN(Number(d));A?l[d]=t[o]:(d in l||(l[d]=I?[]:{}),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 O.jsxs("div",{children:[o.map((d,F)=>{const A=r.map(I=>({...I,name:`${t.name}.${F}.${I.name}`}));return O.jsxs(h.Fragment,{children:[O.jsxs("div",{children:["row ",F]}),ur(A)]},d.id)}),t.readonly!==!0&&O.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 O.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 O.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[O.jsx("label",{children:t.label}),O.jsx("input",{type:t.type,...s,readOnly:t.readonly})]})},kt=e=>{const{fieldSchema:t}=e,{register:r}=ge(),s=r(t.name),o=t.options;return O.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[O.jsx("label",{children:t.label}),O.jsx("select",{...s,disabled:t.readonly,children:o.map(a=>O.jsx("option",{value:a.value,children:a.label},a.value))})]})},Ur=({fieldSchema:e})=>{var F,A;const r=Lr().uiConfig,{register:s}=ge(),o=Ir(e.name),a=s(e.name);if(e.visible===!1)return;const l=(F=r==null?void 0:r.renderersByName)==null?void 0:F[o];if(l)return O.jsx(l,{fieldSchema:e,register:a});const d=(A=r==null?void 0:r.renderersByType)==null?void 0:A[e.type];return d?O.jsx(d,{fieldSchema:e,register:a}):e.type==="select"?O.jsx(kt,{fieldSchema:e}):O.jsx(wt,{fieldSchema:e})},Rt=({fieldSchema:e})=>O.jsx(Ur,{fieldSchema:e}),St=({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 I=Ir(e.name),p=pt(o,a??[]),R=(U=r==null?void 0:r.updateFieldSchema)==null?void 0:U[I];if(!R)return;const b=await R(e.name,e,p);!F&&b&&d({...e,...b})})(),()=>{F=!0}},[a]),O.jsx(Ur,{fieldSchema:l})},Ot=e=>{var r;const{fieldSchema:t}=e;return(r=t.dependsOn)!=null&&r.length?O.jsx(St,{fieldSchema:t}):O.jsx(Rt,{fieldSchema:t})},Tt=e=>{const{fieldSchema:t}=e;return O.jsx(Ot,{fieldSchema:t})},Dt=e=>{const{fieldSchema:t}=e;let r=h.useMemo(()=>t.fields.map(s=>({...s,name:`${t.name}.${s.name}`})),[t.fields]);return O.jsx(O.Fragment,{children:ur(r)})};function ur(e){return e.map(t=>{switch(t.type){case"array":return O.jsx(Vt,{fieldSchema:t},t.name);case"object":return O.jsx(Dt,{fieldSchema:t},t.name);default:return O.jsx(Tt,{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 Ct=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},jt=({onValuesChange:e,onDirtyChange:t})=>(Ct({onDirtyChange:t,onValuesChange:e}),null),Pt=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:I=()=>{},resolver:p,readonly:R}=e,b=xt({reValidateMode:"onSubmit",criteriaMode:"all",resolver:p}),U=h.useRef(!1),W=b.handleSubmit(s),$=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=F||R;return O.jsxs(tt,{...b,children:[O.jsx(jt,{onDirtyChange:A,onValuesChange:I}),O.jsxs(Et,{layout:l,uiConfig:o,updateFieldSchema:a,children:[["vertical","horizontal"].includes(l)&&O.jsx("div",{style:{display:"flex",flexDirection:l==="vertical"?"column":"row"},children:B}),l==="custom"&&B,!w&&O.jsx("button",{style:{marginTop:"1rem"},onClick:W,children:"Submit"})]})]})});exports.AutoForm=Pt;
|
|
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"),C=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 I(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 I(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),N=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 N(s)||s===e?N(e[t])?r:e[t]:s},ce=e=>typeof e=="boolean",oe=e=>typeof e=="function",P=(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),I=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,I.current)||(U(V),I.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=N(e)?s++:e[t[s++]];return e}function ot(e){for(const t in e)if(e.hasOwnProperty(t)&&!N(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])):N(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))N(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&&!N(e[0].attributes.value)?N(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})=>N(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(N(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&&P(o,a,l._f)}return{criteriaMode:r,names:[...e],fields:o,shouldUseNativeValidation:s}},Pe=e=>e instanceof RegExp,Te=e=>N(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 P(s,"root",t[r]),P(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:I,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),C=Oe(l),Q=V||C,se=(W||ir(l))&&N(l.value)&&N(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||C&&!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||I)&&!se&&(ne(w)||a&&Array.isArray(w))){const k=Fe(A),S=Fe(I),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 I={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},p={...I};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?P(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&&P(s,n,x)}if(f&&Array.isArray(g(r.errors,n))){const x=u(g(r.errors,n),v.argA,v.argB);y&&P(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&&P(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 P(a,n,i)},D=(n,i)=>{P(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,N(u)?g(o,n):u);N(f)||v&&v.defaultChecked||i?P(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 j=ue(g(o,n),i);x=!!g(r.dirtyFields,n),j?H(r.dirtyFields,n):P(r.dirtyFields,n,!0),O.dirtyFields=r.dirtyFields,f=f||(p.dirtyFields||R.dirtyFields)&&x!==!j}if(u){const j=g(r.touchedFields,n);j||(P(r.touchedFields,n,u),O.touchedFields=r.touchedFields,f=f||(p.touchedFields||R.touchedFields)&&j!==u)}f&&y&&b.state.next(O)}return f?O:{}},C=(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?P(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?P(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),j=y._f&&ct(y._f);j&&p.validatingFields&&B([f.name],!0);const ae=await rr(y,d.disabled,a,U,t.shouldUseNativeValidation&&!i,O);if(j&&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):P(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&&P(a,n,i),!ue(c(),o)),S=(n,i,u)=>Ze(n,d,{...l.mount?a:N(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&&P(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);P(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=j=>{v=Number.isNaN(j)||he(j)&&isNaN(j.getTime())||ue(j,g(a,u,j))},x=Ee(t.mode),O=Ee(t.reValidateMode);if(y){let j,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);P(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);j=mr.error,u=mr.name,ae=Z(yr)}}else B([u],!0),j=(await rr(y,d.disabled,a,U,t.shouldUseNativeValidation))[u],B([u]),f(De),v&&(j?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),C(u,ae,j,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(N(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)),N(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,...j}=y;P(r.errors,n,{...j,...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:{...I,...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 P(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=N(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,x=at(f),O=u._f.refs||[];if(x?O.find(j=>j===f):f===u._f.ref)return;P(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)&&(N(i.defaultValue)?X(n,L(g(o,n))):(X(n,i.defaultValue),P(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)?P(f,O,g(a,O)):X(O,g(f,O))}else{if(tr&&N(n))for(const x of d.mount){const O=g(s,x);if(O&&O._f){const j=Array.isArray(O._f.refs)?O._f.refs[0]:O._f.ref;if(je(j)){const ae=j.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||N(r.shouldFocus)?r.focusName||`${e}.${N(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)?(N(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)=>N(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)),I=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(_=>{I.current=!0,r._setFieldArray(s,_)},[r,s]),R=(_,m)=>{const V=te(L(_)),C=Ye(r._getFieldArray(s),V);r._names.focus=We(s,C.length-1,m),A.current=Ye(A.current,V.map(ve)),p(C),F(C),r._setFieldArray(s,C,Ye,{argA:qe(_)})},b=(_,m)=>{const V=te(L(_)),C=Je(r._getFieldArray(s),V);r._names.focus=We(s,0,m),A.current=Je(A.current,V.map(ve)),p(C),F(C),r._setFieldArray(s,C,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))&&P(r._fields,s,void 0),r._setFieldArray(s,m,Ge,{argA:_})},$=(_,m,V)=>{const C=te(L(m)),Q=ze(r._getFieldArray(s),_,C);r._names.focus=We(s,_,V),A.current=ze(A.current,_,C.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),C=kr(r._getFieldArray(s),_,V);A.current=[...C].map((Q,se)=>!Q||se===_?ve():A.current[se]),p(C),F([...C]),r._setFieldArray(s,C,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}),I.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?P(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(),I.current=!1},[d,s,r]),h.useEffect(()=>(!g(r._formValues,s)&&r._setFieldArray(s),()=>{const _=(m,V)=>{const C=g(r._fields,m);C&&C._f&&(C._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,I=!isNaN(Number(d));A?l[d]=t[o]:(d in l||(l[d]=I?[]:{}),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(I=>({...I,name:`${t.name}.${F}.${I.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 F,A;const r=Lr().uiConfig,{register:s}=ge(),o=Ir(e.name),a=s(e.name);if(e.visible===!1)return;const l=(F=r==null?void 0:r.renderersByName)==null?void 0:F[o];if(l)return T.jsx(l,{fieldSchema:e,register:a});const d=(A=r==null?void 0:r.renderersByType)==null?void 0:A[e.type];if(d)return T.jsx(d,{fieldSchema:e,register:a});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 I=Ir(e.name),p=pt(o,a??[]),R=(U=r==null?void 0:r.updateFieldSchema)==null?void 0:U[I];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:I=()=>{},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:I}),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;
|