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