autoforma 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -19,4 +19,4 @@
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} />`,P,L,ae,L),ye[L+P]=!0)}if(L=null,C!==void 0&&(t(C),L=""+C),u(_)&&(t(_.key),L=""+_.key),"key"in _){C={};for(var xe in _)xe!=="key"&&(C[xe]=_[xe])}else C=_;return L&&f(C,typeof c=="function"?c.displayName||c.name||"Unknown":c),R(c,L,C,o(),ge,_e)}function F(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===ie&&(c._payload.status==="fulfilled"?p(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function p(c){return typeof c=="object"&&c!==null&&c.$$typeof===N}var v=g,N=Symbol.for("react.transitional.element"),U=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),D=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),le=Symbol.for("react.memo"),ie=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),be=Symbol.for("react.client.reference"),E=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,k=Object.prototype.hasOwnProperty,I=Array.isArray,W=console.createTask?console.createTask:function(){return null};v={react_stack_bottom_frame:function(c){return c()}};var Q,J={},fe=v.react_stack_bottom_frame.bind(v,i)(),de=W(n(i)),ye={};Ae.Fragment=B,Ae.jsx=function(c,_,C){var P=1e4>E.recentlyCreatedOwnerStacks++;return O(c,_,C,!1,P?Error("react-stack-top-frame"):fe,P?W(n(c)):de)},Ae.jsxs=function(c,_,C){var P=1e4>E.recentlyCreatedOwnerStacks++;return O(c,_,C,!0,P?Error("react-stack-top-frame"):fe,P?W(n(c)):de)}})()),Ae}var ot;function Wt(){return ot||(ot=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=$t()),Ce.exports}var w=Wt(),Oe=e=>e.type==="checkbox",he=e=>e instanceof Date,K=e=>e==null;const xt=e=>typeof e=="object";var q=e=>!K(e)&&!Array.isArray(e)&&xt(e)&&!he(e),Yt=e=>q(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 q(r)&&r.hasOwnProperty("isPrototypeOf")},Ye=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function z(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(Ye&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(q(e)&&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]=z(e[o]));return n}var Ne=e=>/^\w*$/.test(e),M=e=>e===void 0,qe=e=>Array.isArray(e)?e.filter(Boolean):[],ze=e=>qe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!q(e))return t;const n=(Ne(r)?[r]:ze(r)).reduce((o,i)=>K(o)?o:o[i],e);return M(n)||n===e?M(e[r])?t:e[r]:n},oe=e=>typeof e=="boolean",re=e=>typeof e=="function",j=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:ze(r),i=o.length,u=i-1;for(;++n<i;){const f=o[n];let A=t;if(n!==u){const R=e[f];A=q(R)||Array.isArray(R)?R:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=A,e=e[f]}};const lt={BLUR:"blur",FOCUS_OUT:"focusout"},se={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ue={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},He=g.createContext(null);He.displayName="HookFormContext";const ve=()=>g.useContext(He),Jt=e=>{const{children:r,...t}=e;return g.createElement(He.Provider,{value:t},r)};var Gt=(e,r,t,n=!0)=>{const o={defaultValues:r._defaultValues};for(const i in e)Object.defineProperty(o,i,{get:()=>{const u=i;return r._proxyFormState[u]!==se.all&&(r._proxyFormState[u]=!n||se.all),e[u]}});return o};const Et=typeof window<"u"?g.useLayoutEffect:g.useEffect;var ee=e=>typeof e=="string",Be=(e,r,t,n,o)=>ee(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),$e=e=>K(e)||!xt(e);function ne(e,r,t=new WeakSet){if($e(e)||$e(r))return Object.is(e,r);if(he(e)&&he(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const u=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(he(u)&&he(f)||q(u)&&q(f)||Array.isArray(u)&&Array.isArray(f)?!ne(u,f,t):!Object.is(u,f))return!1}}return!0}function Je(e){const r=ve(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:u,compute:f}=e||{},A=g.useRef(o),R=g.useRef(f),O=g.useRef(void 0),F=g.useRef(t),p=g.useRef(n);R.current=f;const[v,N]=g.useState(()=>{const D=t._getWatch(n,A.current);return R.current?R.current(D):D}),U=g.useCallback(D=>{const x=Be(n,t._names,D||t._formValues,!1,A.current);return R.current?R.current(x):x},[t._formValues,t._names,n]),B=g.useCallback(D=>{if(!i){const x=Be(n,t._names,D||t._formValues,!1,A.current);if(R.current){const X=R.current(x);ne(X,O.current)||(N(X),O.current=X)}else N(x)}},[t._formValues,t._names,i,n]);Et(()=>((F.current!==t||!ne(p.current,n))&&(F.current=t,p.current=n,B()),t._subscribe({name:n,formState:{values:!0},exact:u,callback:D=>{B(D.values)}})),[t,u,n,B]),g.useEffect(()=>t._removeUnmounted());const $=F.current!==t,V=p.current,H=g.useMemo(()=>{if(i)return null;const D=!$&&!ne(V,n);return $||D?U():null},[i,$,n,V,U]);return H!==null?H:v}var 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&&q(o)&&i){const u=Vt(o,i);q(u)&&(t[n]=u)}else e[n]&&(t[n]=i)}return t}var G=e=>q(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!Ye)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),Ue=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=M(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!M(e[r]))return!1;return!0}function Y(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:ze(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(q(n)&&G(n)||Array.isArray(n)&&Kt(n))&&Y(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(re(e[r]))return!0;return!1};function wt(e){return Array.isArray(e)||q(e)&&!er(e)}function We(e,r={}){for(const t in e){const n=e[t];wt(n)?(r[t]=Array.isArray(n)?[]:{},We(n,r[t])):M(n)||(r[t]=!0)}return r}function Ve(e,r,t){t||(t=We(r));for(const n in e){const o=e[n];if(wt(o))M(r)||$e(t[n])?t[n]=We(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ne(o,i)}}return t}const ct={value:!1,isValid:!1},ft={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&&!M(e[0].attributes.value)?M(e[0].value)||e[0].value===""?ft:{value:e[0].value,isValid:!0}:ft:ct}return ct},pt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>M(e)?e:r?e===""?NaN:e&&+e:t&&ee(e)?new Date(e):n?n(e):e;const dt={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,dt):dt;function yt(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:pt(M(r.value)?e.ref.value:r.value,e)}var tr=(e,r,t,n)=>{const o={};for(const i of e){const u=h(r,i);u&&j(o,i,u._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:n}},Pe=e=>e instanceof RegExp,pe=e=>M(e)?e:Pe(e)?e.source:q(e)?Pe(e.value)?e.value.source:e.value:e,mt=e=>({isOnSubmit:!e||e===se.onSubmit,isOnBlur:e===se.onBlur,isOnChange:e===se.onChange,isOnAll:e===se.all,isOnTouch:e===se.onTouched});const ht="AsyncFunction";var rr=e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===ht||q(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===ht)),sr=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))));const ke=(e,r,t,n)=>{for(const o of t||Object.keys(e)){const i=h(e,o);if(i){const{_f:u,...f}=i;if(u){if(u.refs&&u.refs[0]&&r(u.refs[0],o)&&!n)return!0;if(u.ref&&r(u.ref,u.name)&&!n)return!0;if(ke(f,r))break}else if(q(f)&&ke(f,r))break}}};function bt(e,r,t){const n=h(e,t);if(n||Ne(t))return{error:n,name:t};const o=t.split(".");for(;o.length;){const i=o.join("."),u=h(r,i),f=h(e,i);if(u&&!Array.isArray(u)&&t!==i)return{name:t};if(f&&f.type)return{name:i,error:f};if(f&&f.root&&f.root.type)return{name:`${i}.root`,error:f.root};o.pop()}return{name:t}}var nr=(e,r,t,n)=>{t(e);const{name:o,...i}=e;return G(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(u=>r[u]===(!n||se.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)=>!qe(h(e,r)).length&&Y(e,r),lr=(e,r,t)=>{const n=Re(h(e,t));return j(n,"root",r[t]),j(e,t,n),e};function gt(e,r,t="validate"){if(ee(e)||Array.isArray(e)&&e.every(ee)||oe(e)&&!e)return{type:t,message:ee(e)?e:"",ref:r}}var Ee=e=>q(e)&&!Pe(e)?e:{value:e,message:""},_t=async(e,r,t,n,o,i)=>{const{ref:u,refs:f,required:A,maxLength:R,minLength:O,min:F,max:p,pattern:v,validate:N,name:U,valueAsNumber:B,mount:$}=e._f,V=h(t,U);if(!$||r.has(U))return{};const H=f?f[0]:u,D=E=>{o&&H.reportValidity&&(H.setCustomValidity(oe(E)?"":E||""),H.reportValidity())},x={},X=Xe(u),ce=Oe(u),le=X||ce,ie=(B||Ge(u))&&M(u.value)&&M(V)||je(u)&&u.value===""||V===""||Array.isArray(V)&&!V.length,Z=Xt.bind(null,U,n,x),be=(E,k,I,W=ue.maxLength,Q=ue.minLength)=>{const J=E?k:I;x[U]={type:E?W:Q,message:J,ref:u,...Z(E?W:Q,J)}};if(i?!Array.isArray(V)||!V.length:A&&(!le&&(ie||K(V))||oe(V)&&!V||ce&&!At(f).isValid||X&&!Rt(f).isValid)){const{value:E,message:k}=ee(A)?{value:!!A,message:A}:Ee(A);if(E&&(x[U]={type:ue.required,message:k,ref:H,...Z(ue.required,k)},!n))return D(k),x}if(!ie&&(!K(F)||!K(p))){let E,k;const I=Ee(p),W=Ee(F);if(!K(V)&&!isNaN(V)){const Q=u.valueAsNumber||V&&+V;K(I.value)||(E=Q>I.value),K(W.value)||(k=Q<W.value)}else{const Q=u.valueAsDate||new Date(V),J=ye=>new Date(new Date().toDateString()+" "+ye),fe=u.type=="time",de=u.type=="week";ee(I.value)&&V&&(E=fe?J(V)>J(I.value):de?V>I.value:Q>new Date(I.value)),ee(W.value)&&V&&(k=fe?J(V)<J(W.value):de?V<W.value:Q<new Date(W.value))}if((E||k)&&(be(!!E,I.message,W.message,ue.max,ue.min),!n))return D(x[U].message),x}if((R||O)&&!ie&&(ee(V)||i&&Array.isArray(V))){const E=Ee(R),k=Ee(O),I=!K(E.value)&&V.length>+E.value,W=!K(k.value)&&V.length<+k.value;if((I||W)&&(be(I,E.message,k.message),!n))return D(x[U].message),x}if(v&&!ie&&ee(V)){const{value:E,message:k}=Ee(v);if(Pe(E)&&!V.match(E)&&(x[U]={type:ue.pattern,message:k,ref:u,...Z(ue.pattern,k)},!n))return D(k),x}if(N){if(re(N)){const E=await N(V,t),k=gt(E,H);if(k&&(x[U]={...k,...Z(ue.validate,k.message)},!n))return D(k.message),x}else if(q(N)){let E={};for(const k in N){if(!G(E)&&!n)break;const I=gt(await N[k](V,t),H,k);I&&(E={...I,...Z(k,I.message)},D(I.message),n&&(x[U]=E))}if(!G(E)&&(x[U]={ref:H,...E},!n))return x}}return D(!0),x};const ur={mode:se.onSubmit,reValidateMode:se.onChange,shouldFocusError:!0};function cr(e={}){let r={...ur,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},n={},o=q(r.defaultValues)||q(r.values)?z(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:z(o),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},f={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},A,R=0;const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={...O};let p={...F};const v={array:ut(),state:ut()},N=r.criteriaMode===se.all,U=s=>a=>{clearTimeout(R),R=setTimeout(s,a)},B=async s=>{if(!u.keepIsValid&&!r.disabled&&(F.isValid||p.isValid||s)){let a;r.resolver?(a=G((await le()).errors),$()):a=await Z(n,!0),a!==t.isValid&&v.state.next({isValid:a})}},$=(s,a)=>{!r.disabled&&(F.isValidating||F.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(l=>{l&&(a?j(t.validatingFields,l,a):Y(t.validatingFields,l))}),v.state.next({validatingFields:t.validatingFields,isValidating:!G(t.validatingFields)}))},V=(s,a=[],l,m,y=!0,d=!0)=>{if(m&&l&&!r.disabled){if(u.action=!0,d&&Array.isArray(h(n,s))){const b=l(h(n,s),m.argA,m.argB);y&&j(n,s,b)}if(d&&Array.isArray(h(t.errors,s))){const b=l(h(t.errors,s),m.argA,m.argB);y&&j(t.errors,s,b),or(t.errors,s)}if((F.touchedFields||p.touchedFields)&&d&&Array.isArray(h(t.touchedFields,s))){const b=l(h(t.touchedFields,s),m.argA,m.argB);y&&j(t.touchedFields,s,b)}(F.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ve(o,i)),v.state.next({name:s,isDirty:E(s,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else j(i,s,a)},H=(s,a)=>{j(t.errors,s,a),v.state.next({errors:t.errors})},D=s=>{t.errors=s,v.state.next({errors:t.errors,isValid:!1})},x=(s,a,l,m)=>{const y=h(n,s);if(y){const d=h(i,s,M(l)?h(o,s):l);M(d)||m&&m.defaultChecked||a?j(i,s,a?d:yt(y._f)):W(s,d),u.mount&&!u.action&&B()}},X=(s,a,l,m,y)=>{let d=!1,b=!1;const S={name:s};if(!r.disabled){if(!l||m){(F.isDirty||p.isDirty)&&(b=t.isDirty,t.isDirty=S.isDirty=E(),d=b!==S.isDirty);const T=ne(h(o,s),a);b=!!h(t.dirtyFields,s),T?Y(t.dirtyFields,s):j(t.dirtyFields,s,!0),S.dirtyFields=t.dirtyFields,d=d||(F.dirtyFields||p.dirtyFields)&&b!==!T}if(l){const T=h(t.touchedFields,s);T||(j(t.touchedFields,s,l),S.touchedFields=t.touchedFields,d=d||(F.touchedFields||p.touchedFields)&&T!==l)}d&&y&&v.state.next(S)}return d?S:{}},ce=(s,a,l,m)=>{const y=h(t.errors,s),d=(F.isValid||p.isValid)&&oe(a)&&t.isValid!==a;if(r.delayError&&l?(A=U(()=>H(s,l)),A(r.delayError)):(clearTimeout(R),A=null,l?j(t.errors,s,l):Y(t.errors,s)),(l?!ne(y,l):y)||!G(m)||d){const b={...m,...d&&oe(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...b},v.state.next(b)}},le=async s=>($(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),ie=async s=>{const{errors:a}=await le(s);if($(s),s)for(const l of s){const m=h(a,l);m?j(t.errors,l,m):Y(t.errors,l)}else t.errors=a;return a},Z=async(s,a,l={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...b}=y;if(d){const S=f.array.has(d.name),T=y._f&&rr(y._f);T&&F.validatingFields&&$([d.name],!0);const te=await _t(y,f.disabled,i,N,r.shouldUseNativeValidation&&!a,S);if(T&&F.validatingFields&&$([d.name]),te[d.name]&&(l.valid=!1,a))break;!a&&(h(te,d.name)?S?lr(t.errors,te,d.name):j(t.errors,d.name,te[d.name]):Y(t.errors,d.name))}!G(b)&&await Z(b,a,l)}}return l.valid},be=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(l=>!Ue(l)):!Ue(a._f.ref))&&ae(s)}f.unMount=new Set},E=(s,a)=>!r.disabled&&(s&&a&&j(i,s,a),!ne(c(),o)),k=(s,a,l)=>Be(s,f,{...u.mount?i:M(a)?o:ee(s)?{[s]:a}:a},l,a),I=s=>qe(h(u.mount?i:o,s,r.shouldUnregister?h(o,s,[]):[])),W=(s,a,l={})=>{const m=h(n,s);let y=a;if(m){const d=m._f;d&&(!d.disabled&&j(i,s,pt(a,d)),y=je(d.ref)&&K(a)?"":a,Ft(d.ref)?[...d.ref.options].forEach(b=>b.selected=y.includes(b.value)):d.refs?Oe(d.ref)?d.refs.forEach(b=>{(!b.defaultChecked||!b.disabled)&&(Array.isArray(y)?b.checked=!!y.find(S=>S===b.value):b.checked=y===b.value||!!y)}):d.refs.forEach(b=>b.checked=b.value===y):Ge(d.ref)?d.ref.value="":(d.ref.value=y,d.ref.type||v.state.next({name:s,values:z(i)})))}(l.shouldDirty||l.shouldTouch)&&X(s,y,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ye(s)},Q=(s,a,l)=>{for(const m in a){if(!a.hasOwnProperty(m))return;const y=a[m],d=s+"."+m,b=h(n,d);(f.array.has(s)||q(y)||b&&!b._f)&&!he(y)?Q(d,y,l):W(d,y,l)}},J=(s,a,l={})=>{const m=h(n,s),y=f.array.has(s),d=z(a);j(i,s,d),y?(v.array.next({name:s,values:z(i)}),(F.isDirty||F.dirtyFields||p.isDirty||p.dirtyFields)&&l.shouldDirty&&v.state.next({name:s,dirtyFields:Ve(o,i),isDirty:E(s,d)})):m&&!m._f&&!K(d)?Q(s,d,l):W(s,d,l),vt(s,f)&&v.state.next({...t,name:s}),v.state.next({name:u.mount?s:void 0,values:z(i)})},fe=async s=>{u.mount=!0;const a=s.target;let l=a.name,m=!0;const y=h(n,l),d=T=>{m=Number.isNaN(T)||he(T)&&isNaN(T.getTime())||ne(T,h(i,l,T))},b=mt(r.mode),S=mt(r.reValidateMode);if(y){let T,te;const De=a.type?yt(y._f):Yt(s),me=s.type===lt.BLUR||s.type===lt.FOCUS_OUT,Lt=!sr(y._f)&&!r.resolver&&!h(t.errors,l)&&!y._f.deps||ar(me,h(t.touchedFields,l),t.isSubmitted,S,b),Le=vt(l,f,me);j(i,l,De),me?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),A&&A(0)):y._f.onChange&&y._f.onChange(s);const Me=X(l,De,me),Mt=!G(Me)||Le;if(!me&&v.state.next({name:l,type:s.type,values:z(i)}),Lt)return(F.isValid||p.isValid)&&(r.mode==="onBlur"?me&&B():me||B()),Mt&&v.state.next({name:l,...Le?{}:Me});if(!me&&Le&&v.state.next({...t}),r.resolver){const{errors:st}=await le([l]);if($([l]),d(De),m){const Ut=bt(t.errors,n,l),nt=bt(st,n,Ut.name||l);T=nt.error,l=nt.name,te=G(st)}}else $([l],!0),T=(await _t(y,f.disabled,i,N,r.shouldUseNativeValidation))[l],$([l]),d(De),m&&(T?te=!1:(F.isValid||p.isValid)&&(te=await Z(n,!0)));m&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&ye(y._f.deps),ce(l,te,T,Me))}},de=(s,a)=>{if(h(t.errors,a)&&s.focus)return s.focus(),1},ye=async(s,a={})=>{let l,m;const y=Re(s);if(r.resolver){const d=await ie(M(s)?s:y);l=G(d),m=s?!y.some(b=>h(d,b)):l}else s?(m=(await Promise.all(y.map(async d=>{const b=h(n,d);return await Z(b&&b._f?{[d]:b}:b)}))).every(Boolean),!(!m&&!t.isValid)&&B()):m=l=await Z(n);return v.state.next({...!ee(s)||(F.isValid||p.isValid)&&l!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:l}:{},errors:t.errors}),a.shouldFocus&&!m&&ke(n,de,s?y:f.mount),m},c=(s,a)=>{let l={...u.mount?i:o};return a&&(l=Vt(a.dirtyFields?t.dirtyFields:t.touchedFields,l)),M(s)?l:ee(s)?h(l,s):s.map(m=>h(l,m))},_=(s,a)=>({invalid:!!h((a||t).errors,s),isDirty:!!h((a||t).dirtyFields,s),error:h((a||t).errors,s),isValidating:!!h(t.validatingFields,s),isTouched:!!h((a||t).touchedFields,s)}),C=s=>{s&&Re(s).forEach(a=>Y(t.errors,a)),v.state.next({errors:s?t.errors:{}})},P=(s,a,l)=>{const m=(h(n,s,{_f:{}})._f||{}).ref,y=h(t.errors,s)||{},{ref:d,message:b,type:S,...T}=y;j(t.errors,s,{...T,...a,ref:m}),v.state.next({name:s,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,a)=>re(s)?v.state.subscribe({next:l=>"values"in l&&s(k(void 0,a),l)}):k(s,a,!0),_e=s=>v.state.subscribe({next:a=>{ir(s.name,a.name,s.exact)&&nr(a,s.formState||F,It,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,L=s=>(u.mount=!0,p={...p,...s.formState},_e({...s,formState:{...O,...s.formState}})),ae=(s,a={})=>{for(const l of s?Re(s):f.mount)f.mount.delete(l),f.array.delete(l),a.keepValue||(Y(n,l),Y(i,l)),!a.keepError&&Y(t.errors,l),!a.keepDirty&&Y(t.dirtyFields,l),!a.keepTouched&&Y(t.touchedFields,l),!a.keepIsValidating&&Y(t.validatingFields,l),!r.shouldUnregister&&!a.keepDefaultValue&&Y(o,l);v.state.next({values:z(i)}),v.state.next({...t,...a.keepDirty?{isDirty:E()}:{}}),!a.keepIsValid&&B()},xe=({disabled:s,name:a})=>{(oe(s)&&u.mount||s||f.disabled.has(a))&&(s?f.disabled.add(a):f.disabled.delete(a))},Fe=(s,a={})=>{let l=h(n,s);const m=oe(a.disabled)||oe(r.disabled);return j(n,s,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:s}},name:s,mount:!0,...a}}),f.mount.add(s),l?xe({disabled:oe(a.disabled)?a.disabled:r.disabled,name:s}):x(s,!0,a.value),{...m?{disabled:a.disabled||r.disabled}:{},...r.progressive?{required:!!a.required,min:pe(a.min),max:pe(a.max),minLength:pe(a.minLength),maxLength:pe(a.maxLength),pattern:pe(a.pattern)}:{},name:s,onChange:fe,onBlur:fe,ref:y=>{if(y){Fe(s,a),l=h(n,s);const d=M(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,b=Zt(d),S=l._f.refs||[];if(b?S.find(T=>T===d):d===l._f.ref)return;j(n,s,{_f:{...l._f,...b?{refs:[...S.filter(Ue),d,...Array.isArray(h(o,s))?[{}]:[]],ref:{type:d.type,name:s}}:{ref:d}}}),x(s,!1,void 0,d)}else l=h(n,s,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(zt(f.array,s)&&u.action)&&f.unMount.add(s)}}},Ie=()=>r.shouldFocusError&&ke(n,de,f.mount),jt=s=>{oe(s)&&(v.state.next({disabled:s}),ke(n,(a,l)=>{const m=h(n,l);m&&(a.disabled=m._f.disabled||s,Array.isArray(m._f.refs)&&m._f.refs.forEach(y=>{y.disabled=m._f.disabled||s}))},0,!1))},Ke=(s,a)=>async l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let y=z(i);if(v.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:b}=await le();$(),t.errors=d,y=z(b)}else await Z(n);if(f.disabled.size)for(const d of f.disabled)Y(y,d);if(Y(t.errors,"root"),G(t.errors)){v.state.next({errors:{}});try{await s(y,l)}catch(d){m=d}}else a&&await a({...t.errors},l),Ie(),setTimeout(Ie);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(M(a.defaultValue)?J(s,z(h(o,s))):(J(s,a.defaultValue),j(o,s,z(a.defaultValue))),a.keepTouched||Y(t.touchedFields,s),a.keepDirty||(Y(t.dirtyFields,s),t.isDirty=a.defaultValue?E(s,z(h(o,s))):E()),a.keepError||(Y(t.errors,s),F.isValid&&B()),v.state.next({...t}))},et=(s,a={})=>{const l=s?z(s):o,m=z(l),y=G(s),d=y?o:m;if(a.keepDefaultValues||(o=l),!a.keepValues){if(a.keepDirtyValues){const b=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(b))h(t.dirtyFields,S)?j(d,S,h(i,S)):J(S,h(d,S))}else{if(Ye&&M(s))for(const b of f.mount){const S=h(n,b);if(S&&S._f){const T=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(je(T)){const te=T.closest("form");if(te){te.reset();break}}}}if(a.keepFieldsRef)for(const b of f.mount)J(b,h(d,b));else n={}}i=r.shouldUnregister?a.keepDefaultValues?z(o):{}:z(d),v.array.next({values:{...d}}),v.state.next({values:{...d}})}f={mount:a.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!F.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!G(d),u.watch=!!r.shouldUnregister,u.keepIsValid=!!a.keepIsValid,u.action=!1,a.keepErrors||(t.errors={}),v.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ne(s,o)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:a.keepDirtyValues?a.keepDefaultValues&&i?Ve(o,i):t.dirtyFields:a.keepDefaultValues&&s?Ve(o,s):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},tt=(s,a)=>et(re(s)?s(i):s,{...r.resetOptions,...a}),Nt=(s,a={})=>{const l=h(n,s),m=l&&l._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&re(y.select)&&y.select()})}},It=s=>{t={...t,...s}},rt={control:{register:Fe,unregister:ae,getFieldState:_,handleSubmit:Ke,setError:P,_subscribe:_e,_runSchema:le,_updateIsValidating:$,_focusError:Ie,_getWatch:k,_getDirty:E,_setValid:B,_setFieldArray:V,_setDisabledField:xe,_setErrors:D,_getFieldArray:I,_reset:et,_resetDefaultValues:()=>re(r.defaultValues)&&r.defaultValues().then(s=>{tt(s,r.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:be,_disableForm:jt,_subjects:v,_proxyFormState:F,get _fields(){return n},get _formValues(){return i},get _state(){return u},set _state(s){u=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:L,trigger:ye,register:Fe,handleSubmit:Ke,watch:ge,setValue:J,getValues:c,reset:tt,resetField:Pt,clearErrors:C,unregister:ae,setError:P,setFocus:Nt,getFieldState:_};return{...rt,formControl:rt}}function fr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[n,o]=g.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:n},e.defaultValues&&!re(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...f}=cr(e);r.current={...f,formState:n}}const i=r.current.control;return i._options=e,Et(()=>{const u=i._subscribe({formState:i._proxyFormState,callback:()=>o({...i._formState}),reRenderRoot:!0});return o(f=>({...f,isReady:!0})),i._formState.isReady=!0,u},[i]),g.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),g.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),g.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),g.useEffect(()=>{if(i._proxyFormState.isDirty){const u=i._getDirty();u!==n.isDirty&&i._subjects.state.next({isDirty:u})}},[i,n.isDirty]),g.useEffect(()=>{var u;e.values&&!ne(e.values,t.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((u=i._options.resetOptions)===null||u===void 0)&&u.keepIsValid||i._setValid(),t.current=e.values,o(f=>({...f}))):i._resetDefaultValues()},[i,e.values]),g.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),r.current.formState=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 w.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}=ve(),n=t(r.name);return w.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[w.jsx("label",{children:r.label}),w.jsx("input",{type:r.type,...n,readOnly:r.readonly})]})},mr=e=>{const{fieldSchema:r}=e,{register:t}=ve(),n=t(r.name),o=r.options;return console.log("select"),w.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[w.jsx("label",{children:r.label}),w.jsx("select",{...n,disabled:r.readonly,children:o.map(i=>w.jsx("option",{value:i.value,children:i.label},i.value))})]})};function Tt(e,r){const t={};return e.forEach((n,o)=>{const i=n.split(".");let u=t;i.forEach((f,A)=>{const R=A===i.length-1,O=!isNaN(Number(f));R?u[f]=r[o]:(f in u||(u[f]=O?[]:{}),u=u[f])})}),t}function Ot(e){switch(e){case"text":return"";case"number":return 0;case"array":return[];case"checkbox":return!1;case"object":return{};case"select":return null;case"date":return new Date().toISOString().slice(0,10);case"datetime-local":return new Date().toISOString().slice(0,16);case"time":return new Date().toISOString().slice(11,16);default:return""}}function Ze(e){return e.replace(/\.\d+\./g,".")}function Dt(e,r){const t=e.split("."),n=[];return t.forEach((o,i)=>{isNaN(Number(o))||n.push({pos:i,value:o})}),r.map(o=>{const u=[...o.split(".")];return n.forEach(({pos:f,value:A})=>{f<=u.length&&u.splice(f,0,A)}),u.join(".")})}function Se(e,r={}){const t={};for(const n of e)if(n.type==="object"){const o=n.fields;t[n.name]=Se(o,r==null?void 0:r[n.name])}else t[n.name]=(r==null?void 0:r[n.name])??n.initialValue??Ot(n.type);return t}function Qe(e){return e.map(r=>{if(["object","array"].includes(r.type)){const t=r.fields;return{...r,readonly:!0,fields:Qe(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 w.jsxs("div",{children:[w.jsxs("div",{children:["row ",t]}),w.jsx(Te,{schema:o})]})}),vr=e=>{const{fieldSchema:r}=e,{control:t,getValues:n,setValue:o}=ve(),u=Je({control:t,name:r.name})??[],f=()=>{const R=n(r.name)||[];o(r.name,[...R,Se(r.fields)])},A=R=>{const F=(n(r.name)||[]).filter((p,v)=>v!==R);o(r.name,F)};return w.jsxs("div",{children:[u.map((R,O)=>w.jsxs("div",{children:[w.jsx(hr,{baseName:r.name,index:O,fields:r.fields}),!r.readonly&&w.jsx("button",{type:"button",onClick:()=>A(O),children:"Remove"})]},O)),!r.readonly&&w.jsx("button",{type:"button",onClick:f,children:"Add Row"})]})},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 w.jsx(Te,{schema:t})},_r=["text","number","checkbox","select","date","datetime-local","time","array","object"],Ct=({fieldSchema:e})=>{var R,O;const t=St().uiConfig,{register:n,control:o}=ve(),i=Ze(e.name),u=n(e.name),f=(R=t==null?void 0:t.renderersByName)==null?void 0:R[i];if(f)return w.jsx(f,{fieldSchema:e,control:o,register:u});const A=(O=t==null?void 0:t.renderersByType)==null?void 0:O[e.type];if(A)return w.jsx(A,{fieldSchema:e,control:o,register:u});if(_r.includes(e.type))return e.type==="select"?w.jsx(mr,{fieldSchema:e}):e.type==="array"?w.jsx(br,{fieldSchema:e}):e.type==="object"?w.jsx(gr,{fieldSchema:e}):w.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})=>w.jsx(Ct,{fieldSchema:e}),Er=({fieldSchema:e})=>{const{control:r}=ve(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),i=Je({control:r,name:o}),[u,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let A=!1;return(async()=>{var N;const O=Ze(e.name),F=Tt(o,i??[]),p=(N=t==null?void 0:t.updateFieldSchema)==null?void 0:N[O];if(!p)return;const v=await p(e.name,e,F);!A&&v&&f({...e,...v})})(),()=>{A=!0}},[i]),w.jsx(Ct,{fieldSchema:u})},Vr=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?w.jsx(Er,{fieldSchema:r}):w.jsx(xr,{fieldSchema:r})},Fr=e=>{const{fieldSchema:r}=e;if(r.visible!==!1)return w.jsx(Vr,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>w.jsx(Fr,{fieldSchema:t},t.name))}),wr=e=>{const{onDirtyChange:r,onValuesChange:t}=e,{formState:n,control:o}=ve(),i=Je({control:o});return g.useEffect(()=>{t(i)},[i]),g.useEffect(()=>{r(n.isDirty)},[n.isDirty]),null},Ar=({onValuesChange:e,onDirtyChange:r})=>(wr({onDirtyChange:r,onValuesChange:e}),null),pr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:u="vertical",values:f=()=>({}),hideSubmit:A=!1,onDirtyChange:R=()=>{},onValuesChange:O=()=>{},resolver:F,readonly:p}=e,v=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:F}),N=g.useRef(!1),U=v.handleSubmit(n);console.log("?");const B=g.useMemo(()=>{let x=t;return p&&(x=Qe(x)),x},[p,t]);g.useEffect(()=>{if(N.current)return;let x=!1;return(async()=>{const ce=await f();x||(v.reset(Se(t,ce)),N.current=!0)})(),()=>{x=!0}},[f,t]),g.useImperativeHandle(r,()=>({submit:async()=>{await v.handleSubmit(n)()},reset:x=>{v.reset(x?Se(t,x):void 0)},getValues:()=>v.getValues(),setValue:(x,X)=>{v.setValue(x,X)}}));const $=A||p,V=g.useMemo(()=>o,[o]),H=g.useMemo(()=>i,[i]),D=g.useMemo(()=>({layout:u,uiConfig:o,updateFieldSchema:i}),[u,o,i]);return w.jsxs(Jt,{...v,children:[w.jsx(Ar,{onDirtyChange:R,onValuesChange:O}),w.jsxs(dr,{layout:D.layout,uiConfig:V,updateFieldSchema:H,children:[["vertical","horizontal"].includes(u)&&w.jsx("div",{style:{display:"flex",flexDirection:u==="vertical"?"column":"row"},children:w.jsx(Te,{schema:B})}),u==="custom"&&w.jsx(Te,{schema:B}),!$&&w.jsx("button",{style:{marginTop:"1rem"},onClick:U,children:"Submit"})]})]})});exports.AutoForm=pr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Qe;exports.normalizeFieldPath=Ze;exports.resolveDependsOnNew=Dt;
22
+ <%s key={someKey} {...props} />`,P,L,ae,L),ye[L+P]=!0)}if(L=null,C!==void 0&&(t(C),L=""+C),u(_)&&(t(_.key),L=""+_.key),"key"in _){C={};for(var xe in _)xe!=="key"&&(C[xe]=_[xe])}else C=_;return L&&f(C,typeof c=="function"?c.displayName||c.name||"Unknown":c),R(c,L,C,o(),ge,_e)}function F(c){p(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===ie&&(c._payload.status==="fulfilled"?p(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function p(c){return typeof c=="object"&&c!==null&&c.$$typeof===N}var v=g,N=Symbol.for("react.transitional.element"),U=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),D=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),le=Symbol.for("react.memo"),ie=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),be=Symbol.for("react.client.reference"),E=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,k=Object.prototype.hasOwnProperty,I=Array.isArray,W=console.createTask?console.createTask:function(){return null};v={react_stack_bottom_frame:function(c){return c()}};var Q,J={},fe=v.react_stack_bottom_frame.bind(v,i)(),de=W(n(i)),ye={};Ae.Fragment=B,Ae.jsx=function(c,_,C){var P=1e4>E.recentlyCreatedOwnerStacks++;return O(c,_,C,!1,P?Error("react-stack-top-frame"):fe,P?W(n(c)):de)},Ae.jsxs=function(c,_,C){var P=1e4>E.recentlyCreatedOwnerStacks++;return O(c,_,C,!0,P?Error("react-stack-top-frame"):fe,P?W(n(c)):de)}})()),Ae}var ot;function Wt(){return ot||(ot=1,process.env.NODE_ENV==="production"?Ce.exports=Bt():Ce.exports=$t()),Ce.exports}var w=Wt(),Oe=e=>e.type==="checkbox",he=e=>e instanceof Date,K=e=>e==null;const xt=e=>typeof e=="object";var q=e=>!K(e)&&!Array.isArray(e)&&xt(e)&&!he(e),Yt=e=>q(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 q(r)&&r.hasOwnProperty("isPrototypeOf")},Ye=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function z(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(Ye&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(q(e)&&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]=z(e[o]));return n}var Ne=e=>/^\w*$/.test(e),M=e=>e===void 0,qe=e=>Array.isArray(e)?e.filter(Boolean):[],ze=e=>qe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),h=(e,r,t)=>{if(!r||!q(e))return t;const n=(Ne(r)?[r]:ze(r)).reduce((o,i)=>K(o)?o:o[i],e);return M(n)||n===e?M(e[r])?t:e[r]:n},oe=e=>typeof e=="boolean",re=e=>typeof e=="function",j=(e,r,t)=>{let n=-1;const o=Ne(r)?[r]:ze(r),i=o.length,u=i-1;for(;++n<i;){const f=o[n];let A=t;if(n!==u){const R=e[f];A=q(R)||Array.isArray(R)?R:isNaN(+o[n+1])?{}:[]}if(f==="__proto__"||f==="constructor"||f==="prototype")return;e[f]=A,e=e[f]}};const lt={BLUR:"blur",FOCUS_OUT:"focusout"},se={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ue={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},He=g.createContext(null);He.displayName="HookFormContext";const ve=()=>g.useContext(He),Jt=e=>{const{children:r,...t}=e;return g.createElement(He.Provider,{value:t},r)};var Gt=(e,r,t,n=!0)=>{const o={defaultValues:r._defaultValues};for(const i in e)Object.defineProperty(o,i,{get:()=>{const u=i;return r._proxyFormState[u]!==se.all&&(r._proxyFormState[u]=!n||se.all),e[u]}});return o};const Et=typeof window<"u"?g.useLayoutEffect:g.useEffect;var ee=e=>typeof e=="string",Be=(e,r,t,n,o)=>ee(e)?(n&&r.watch.add(e),h(t,e,o)):Array.isArray(e)?e.map(i=>(n&&r.watch.add(i),h(t,i))):(n&&(r.watchAll=!0),t),$e=e=>K(e)||!xt(e);function ne(e,r,t=new WeakSet){if($e(e)||$e(r))return Object.is(e,r);if(he(e)&&he(r))return e.getTime()===r.getTime();const n=Object.keys(e),o=Object.keys(r);if(n.length!==o.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const i of n){const u=e[i];if(!o.includes(i))return!1;if(i!=="ref"){const f=r[i];if(he(u)&&he(f)||q(u)&&q(f)||Array.isArray(u)&&Array.isArray(f)?!ne(u,f,t):!Object.is(u,f))return!1}}return!0}function Je(e){const r=ve(),{control:t=r.control,name:n,defaultValue:o,disabled:i,exact:u,compute:f}=e||{},A=g.useRef(o),R=g.useRef(f),O=g.useRef(void 0),F=g.useRef(t),p=g.useRef(n);R.current=f;const[v,N]=g.useState(()=>{const D=t._getWatch(n,A.current);return R.current?R.current(D):D}),U=g.useCallback(D=>{const x=Be(n,t._names,D||t._formValues,!1,A.current);return R.current?R.current(x):x},[t._formValues,t._names,n]),B=g.useCallback(D=>{if(!i){const x=Be(n,t._names,D||t._formValues,!1,A.current);if(R.current){const X=R.current(x);ne(X,O.current)||(N(X),O.current=X)}else N(x)}},[t._formValues,t._names,i,n]);Et(()=>((F.current!==t||!ne(p.current,n))&&(F.current=t,p.current=n,B()),t._subscribe({name:n,formState:{values:!0},exact:u,callback:D=>{B(D.values)}})),[t,u,n,B]),g.useEffect(()=>t._removeUnmounted());const $=F.current!==t,V=p.current,H=g.useMemo(()=>{if(i)return null;const D=!$&&!ne(V,n);return $||D?U():null},[i,$,n,V,U]);return H!==null?H:v}var 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&&q(o)&&i){const u=Vt(o,i);q(u)&&(t[n]=u)}else e[n]&&(t[n]=i)}return t}var G=e=>q(e)&&!Object.keys(e).length,Ge=e=>e.type==="file",je=e=>{if(!Ye)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),Ue=e=>je(e)&&e.isConnected;function Qt(e,r){const t=r.slice(0,-1).length;let n=0;for(;n<t;)e=M(e)?n++:e[r[n++]];return e}function Kt(e){for(const r in e)if(e.hasOwnProperty(r)&&!M(e[r]))return!1;return!0}function Y(e,r){const t=Array.isArray(r)?r:Ne(r)?[r]:ze(r),n=t.length===1?e:Qt(e,t),o=t.length-1,i=t[o];return n&&delete n[i],o!==0&&(q(n)&&G(n)||Array.isArray(n)&&Kt(n))&&Y(e,t.slice(0,-1)),e}var er=e=>{for(const r in e)if(re(e[r]))return!0;return!1};function wt(e){return Array.isArray(e)||q(e)&&!er(e)}function We(e,r={}){for(const t in e){const n=e[t];wt(n)?(r[t]=Array.isArray(n)?[]:{},We(n,r[t])):M(n)||(r[t]=!0)}return r}function Ve(e,r,t){t||(t=We(r));for(const n in e){const o=e[n];if(wt(o))M(r)||$e(t[n])?t[n]=We(o,Array.isArray(o)?[]:{}):Ve(o,K(r)?{}:r[n],t[n]);else{const i=r[n];t[n]=!ne(o,i)}}return t}const ct={value:!1,isValid:!1},ft={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&&!M(e[0].attributes.value)?M(e[0].value)||e[0].value===""?ft:{value:e[0].value,isValid:!0}:ft:ct}return ct},pt=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:n})=>M(e)?e:r?e===""?NaN:e&&+e:t&&ee(e)?new Date(e):n?n(e):e;const dt={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,dt):dt;function yt(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:pt(M(r.value)?e.ref.value:r.value,e)}var tr=(e,r,t,n)=>{const o={};for(const i of e){const u=h(r,i);u&&j(o,i,u._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:n}},Pe=e=>e instanceof RegExp,pe=e=>M(e)?e:Pe(e)?e.source:q(e)?Pe(e.value)?e.value.source:e.value:e,mt=e=>({isOnSubmit:!e||e===se.onSubmit,isOnBlur:e===se.onBlur,isOnChange:e===se.onChange,isOnAll:e===se.all,isOnTouch:e===se.onTouched});const ht="AsyncFunction";var rr=e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===ht||q(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===ht)),sr=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))));const ke=(e,r,t,n)=>{for(const o of t||Object.keys(e)){const i=h(e,o);if(i){const{_f:u,...f}=i;if(u){if(u.refs&&u.refs[0]&&r(u.refs[0],o)&&!n)return!0;if(u.ref&&r(u.ref,u.name)&&!n)return!0;if(ke(f,r))break}else if(q(f)&&ke(f,r))break}}};function bt(e,r,t){const n=h(e,t);if(n||Ne(t))return{error:n,name:t};const o=t.split(".");for(;o.length;){const i=o.join("."),u=h(r,i),f=h(e,i);if(u&&!Array.isArray(u)&&t!==i)return{name:t};if(f&&f.type)return{name:i,error:f};if(f&&f.root&&f.root.type)return{name:`${i}.root`,error:f.root};o.pop()}return{name:t}}var nr=(e,r,t,n)=>{t(e);const{name:o,...i}=e;return G(i)||Object.keys(i).length>=Object.keys(r).length||Object.keys(i).find(u=>r[u]===(!n||se.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)=>!qe(h(e,r)).length&&Y(e,r),lr=(e,r,t)=>{const n=Re(h(e,t));return j(n,"root",r[t]),j(e,t,n),e};function gt(e,r,t="validate"){if(ee(e)||Array.isArray(e)&&e.every(ee)||oe(e)&&!e)return{type:t,message:ee(e)?e:"",ref:r}}var Ee=e=>q(e)&&!Pe(e)?e:{value:e,message:""},_t=async(e,r,t,n,o,i)=>{const{ref:u,refs:f,required:A,maxLength:R,minLength:O,min:F,max:p,pattern:v,validate:N,name:U,valueAsNumber:B,mount:$}=e._f,V=h(t,U);if(!$||r.has(U))return{};const H=f?f[0]:u,D=E=>{o&&H.reportValidity&&(H.setCustomValidity(oe(E)?"":E||""),H.reportValidity())},x={},X=Xe(u),ce=Oe(u),le=X||ce,ie=(B||Ge(u))&&M(u.value)&&M(V)||je(u)&&u.value===""||V===""||Array.isArray(V)&&!V.length,Z=Xt.bind(null,U,n,x),be=(E,k,I,W=ue.maxLength,Q=ue.minLength)=>{const J=E?k:I;x[U]={type:E?W:Q,message:J,ref:u,...Z(E?W:Q,J)}};if(i?!Array.isArray(V)||!V.length:A&&(!le&&(ie||K(V))||oe(V)&&!V||ce&&!At(f).isValid||X&&!Rt(f).isValid)){const{value:E,message:k}=ee(A)?{value:!!A,message:A}:Ee(A);if(E&&(x[U]={type:ue.required,message:k,ref:H,...Z(ue.required,k)},!n))return D(k),x}if(!ie&&(!K(F)||!K(p))){let E,k;const I=Ee(p),W=Ee(F);if(!K(V)&&!isNaN(V)){const Q=u.valueAsNumber||V&&+V;K(I.value)||(E=Q>I.value),K(W.value)||(k=Q<W.value)}else{const Q=u.valueAsDate||new Date(V),J=ye=>new Date(new Date().toDateString()+" "+ye),fe=u.type=="time",de=u.type=="week";ee(I.value)&&V&&(E=fe?J(V)>J(I.value):de?V>I.value:Q>new Date(I.value)),ee(W.value)&&V&&(k=fe?J(V)<J(W.value):de?V<W.value:Q<new Date(W.value))}if((E||k)&&(be(!!E,I.message,W.message,ue.max,ue.min),!n))return D(x[U].message),x}if((R||O)&&!ie&&(ee(V)||i&&Array.isArray(V))){const E=Ee(R),k=Ee(O),I=!K(E.value)&&V.length>+E.value,W=!K(k.value)&&V.length<+k.value;if((I||W)&&(be(I,E.message,k.message),!n))return D(x[U].message),x}if(v&&!ie&&ee(V)){const{value:E,message:k}=Ee(v);if(Pe(E)&&!V.match(E)&&(x[U]={type:ue.pattern,message:k,ref:u,...Z(ue.pattern,k)},!n))return D(k),x}if(N){if(re(N)){const E=await N(V,t),k=gt(E,H);if(k&&(x[U]={...k,...Z(ue.validate,k.message)},!n))return D(k.message),x}else if(q(N)){let E={};for(const k in N){if(!G(E)&&!n)break;const I=gt(await N[k](V,t),H,k);I&&(E={...I,...Z(k,I.message)},D(I.message),n&&(x[U]=E))}if(!G(E)&&(x[U]={ref:H,...E},!n))return x}}return D(!0),x};const ur={mode:se.onSubmit,reValidateMode:se.onChange,shouldFocusError:!0};function cr(e={}){let r={...ur,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},n={},o=q(r.defaultValues)||q(r.values)?z(r.defaultValues||r.values)||{}:{},i=r.shouldUnregister?{}:z(o),u={action:!1,mount:!1,watch:!1,keepIsValid:!1},f={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},A,R=0;const O={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},F={...O};let p={...F};const v={array:ut(),state:ut()},N=r.criteriaMode===se.all,U=s=>a=>{clearTimeout(R),R=setTimeout(s,a)},B=async s=>{if(!u.keepIsValid&&!r.disabled&&(F.isValid||p.isValid||s)){let a;r.resolver?(a=G((await le()).errors),$()):a=await Z(n,!0),a!==t.isValid&&v.state.next({isValid:a})}},$=(s,a)=>{!r.disabled&&(F.isValidating||F.validatingFields||p.isValidating||p.validatingFields)&&((s||Array.from(f.mount)).forEach(l=>{l&&(a?j(t.validatingFields,l,a):Y(t.validatingFields,l))}),v.state.next({validatingFields:t.validatingFields,isValidating:!G(t.validatingFields)}))},V=(s,a=[],l,m,y=!0,d=!0)=>{if(m&&l&&!r.disabled){if(u.action=!0,d&&Array.isArray(h(n,s))){const b=l(h(n,s),m.argA,m.argB);y&&j(n,s,b)}if(d&&Array.isArray(h(t.errors,s))){const b=l(h(t.errors,s),m.argA,m.argB);y&&j(t.errors,s,b),or(t.errors,s)}if((F.touchedFields||p.touchedFields)&&d&&Array.isArray(h(t.touchedFields,s))){const b=l(h(t.touchedFields,s),m.argA,m.argB);y&&j(t.touchedFields,s,b)}(F.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ve(o,i)),v.state.next({name:s,isDirty:E(s,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else j(i,s,a)},H=(s,a)=>{j(t.errors,s,a),v.state.next({errors:t.errors})},D=s=>{t.errors=s,v.state.next({errors:t.errors,isValid:!1})},x=(s,a,l,m)=>{const y=h(n,s);if(y){const d=h(i,s,M(l)?h(o,s):l);M(d)||m&&m.defaultChecked||a?j(i,s,a?d:yt(y._f)):W(s,d),u.mount&&!u.action&&B()}},X=(s,a,l,m,y)=>{let d=!1,b=!1;const S={name:s};if(!r.disabled){if(!l||m){(F.isDirty||p.isDirty)&&(b=t.isDirty,t.isDirty=S.isDirty=E(),d=b!==S.isDirty);const T=ne(h(o,s),a);b=!!h(t.dirtyFields,s),T?Y(t.dirtyFields,s):j(t.dirtyFields,s,!0),S.dirtyFields=t.dirtyFields,d=d||(F.dirtyFields||p.dirtyFields)&&b!==!T}if(l){const T=h(t.touchedFields,s);T||(j(t.touchedFields,s,l),S.touchedFields=t.touchedFields,d=d||(F.touchedFields||p.touchedFields)&&T!==l)}d&&y&&v.state.next(S)}return d?S:{}},ce=(s,a,l,m)=>{const y=h(t.errors,s),d=(F.isValid||p.isValid)&&oe(a)&&t.isValid!==a;if(r.delayError&&l?(A=U(()=>H(s,l)),A(r.delayError)):(clearTimeout(R),A=null,l?j(t.errors,s,l):Y(t.errors,s)),(l?!ne(y,l):y)||!G(m)||d){const b={...m,...d&&oe(a)?{isValid:a}:{},errors:t.errors,name:s};t={...t,...b},v.state.next(b)}},le=async s=>($(s,!0),await r.resolver(i,r.context,tr(s||f.mount,n,r.criteriaMode,r.shouldUseNativeValidation))),ie=async s=>{const{errors:a}=await le(s);if($(s),s)for(const l of s){const m=h(a,l);m?j(t.errors,l,m):Y(t.errors,l)}else t.errors=a;return a},Z=async(s,a,l={valid:!0})=>{for(const m in s){const y=s[m];if(y){const{_f:d,...b}=y;if(d){const S=f.array.has(d.name),T=y._f&&rr(y._f);T&&F.validatingFields&&$([d.name],!0);const te=await _t(y,f.disabled,i,N,r.shouldUseNativeValidation&&!a,S);if(T&&F.validatingFields&&$([d.name]),te[d.name]&&(l.valid=!1,a))break;!a&&(h(te,d.name)?S?lr(t.errors,te,d.name):j(t.errors,d.name,te[d.name]):Y(t.errors,d.name))}!G(b)&&await Z(b,a,l)}}return l.valid},be=()=>{for(const s of f.unMount){const a=h(n,s);a&&(a._f.refs?a._f.refs.every(l=>!Ue(l)):!Ue(a._f.ref))&&ae(s)}f.unMount=new Set},E=(s,a)=>!r.disabled&&(s&&a&&j(i,s,a),!ne(c(),o)),k=(s,a,l)=>Be(s,f,{...u.mount?i:M(a)?o:ee(s)?{[s]:a}:a},l,a),I=s=>qe(h(u.mount?i:o,s,r.shouldUnregister?h(o,s,[]):[])),W=(s,a,l={})=>{const m=h(n,s);let y=a;if(m){const d=m._f;d&&(!d.disabled&&j(i,s,pt(a,d)),y=je(d.ref)&&K(a)?"":a,Ft(d.ref)?[...d.ref.options].forEach(b=>b.selected=y.includes(b.value)):d.refs?Oe(d.ref)?d.refs.forEach(b=>{(!b.defaultChecked||!b.disabled)&&(Array.isArray(y)?b.checked=!!y.find(S=>S===b.value):b.checked=y===b.value||!!y)}):d.refs.forEach(b=>b.checked=b.value===y):Ge(d.ref)?d.ref.value="":(d.ref.value=y,d.ref.type||v.state.next({name:s,values:z(i)})))}(l.shouldDirty||l.shouldTouch)&&X(s,y,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ye(s)},Q=(s,a,l)=>{for(const m in a){if(!a.hasOwnProperty(m))return;const y=a[m],d=s+"."+m,b=h(n,d);(f.array.has(s)||q(y)||b&&!b._f)&&!he(y)?Q(d,y,l):W(d,y,l)}},J=(s,a,l={})=>{const m=h(n,s),y=f.array.has(s),d=z(a);j(i,s,d),y?(v.array.next({name:s,values:z(i)}),(F.isDirty||F.dirtyFields||p.isDirty||p.dirtyFields)&&l.shouldDirty&&v.state.next({name:s,dirtyFields:Ve(o,i),isDirty:E(s,d)})):m&&!m._f&&!K(d)?Q(s,d,l):W(s,d,l),vt(s,f)&&v.state.next({...t,name:s}),v.state.next({name:u.mount?s:void 0,values:z(i)})},fe=async s=>{u.mount=!0;const a=s.target;let l=a.name,m=!0;const y=h(n,l),d=T=>{m=Number.isNaN(T)||he(T)&&isNaN(T.getTime())||ne(T,h(i,l,T))},b=mt(r.mode),S=mt(r.reValidateMode);if(y){let T,te;const De=a.type?yt(y._f):Yt(s),me=s.type===lt.BLUR||s.type===lt.FOCUS_OUT,Lt=!sr(y._f)&&!r.resolver&&!h(t.errors,l)&&!y._f.deps||ar(me,h(t.touchedFields,l),t.isSubmitted,S,b),Le=vt(l,f,me);j(i,l,De),me?(!a||!a.readOnly)&&(y._f.onBlur&&y._f.onBlur(s),A&&A(0)):y._f.onChange&&y._f.onChange(s);const Me=X(l,De,me),Mt=!G(Me)||Le;if(!me&&v.state.next({name:l,type:s.type,values:z(i)}),Lt)return(F.isValid||p.isValid)&&(r.mode==="onBlur"?me&&B():me||B()),Mt&&v.state.next({name:l,...Le?{}:Me});if(!me&&Le&&v.state.next({...t}),r.resolver){const{errors:st}=await le([l]);if($([l]),d(De),m){const Ut=bt(t.errors,n,l),nt=bt(st,n,Ut.name||l);T=nt.error,l=nt.name,te=G(st)}}else $([l],!0),T=(await _t(y,f.disabled,i,N,r.shouldUseNativeValidation))[l],$([l]),d(De),m&&(T?te=!1:(F.isValid||p.isValid)&&(te=await Z(n,!0)));m&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&ye(y._f.deps),ce(l,te,T,Me))}},de=(s,a)=>{if(h(t.errors,a)&&s.focus)return s.focus(),1},ye=async(s,a={})=>{let l,m;const y=Re(s);if(r.resolver){const d=await ie(M(s)?s:y);l=G(d),m=s?!y.some(b=>h(d,b)):l}else s?(m=(await Promise.all(y.map(async d=>{const b=h(n,d);return await Z(b&&b._f?{[d]:b}:b)}))).every(Boolean),!(!m&&!t.isValid)&&B()):m=l=await Z(n);return v.state.next({...!ee(s)||(F.isValid||p.isValid)&&l!==t.isValid?{}:{name:s},...r.resolver||!s?{isValid:l}:{},errors:t.errors}),a.shouldFocus&&!m&&ke(n,de,s?y:f.mount),m},c=(s,a)=>{let l={...u.mount?i:o};return a&&(l=Vt(a.dirtyFields?t.dirtyFields:t.touchedFields,l)),M(s)?l:ee(s)?h(l,s):s.map(m=>h(l,m))},_=(s,a)=>({invalid:!!h((a||t).errors,s),isDirty:!!h((a||t).dirtyFields,s),error:h((a||t).errors,s),isValidating:!!h(t.validatingFields,s),isTouched:!!h((a||t).touchedFields,s)}),C=s=>{s&&Re(s).forEach(a=>Y(t.errors,a)),v.state.next({errors:s?t.errors:{}})},P=(s,a,l)=>{const m=(h(n,s,{_f:{}})._f||{}).ref,y=h(t.errors,s)||{},{ref:d,message:b,type:S,...T}=y;j(t.errors,s,{...T,...a,ref:m}),v.state.next({name:s,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},ge=(s,a)=>re(s)?v.state.subscribe({next:l=>"values"in l&&s(k(void 0,a),l)}):k(s,a,!0),_e=s=>v.state.subscribe({next:a=>{ir(s.name,a.name,s.exact)&&nr(a,s.formState||F,It,s.reRenderRoot)&&s.callback({values:{...i},...t,...a,defaultValues:o})}}).unsubscribe,L=s=>(u.mount=!0,p={...p,...s.formState},_e({...s,formState:{...O,...s.formState}})),ae=(s,a={})=>{for(const l of s?Re(s):f.mount)f.mount.delete(l),f.array.delete(l),a.keepValue||(Y(n,l),Y(i,l)),!a.keepError&&Y(t.errors,l),!a.keepDirty&&Y(t.dirtyFields,l),!a.keepTouched&&Y(t.touchedFields,l),!a.keepIsValidating&&Y(t.validatingFields,l),!r.shouldUnregister&&!a.keepDefaultValue&&Y(o,l);v.state.next({values:z(i)}),v.state.next({...t,...a.keepDirty?{isDirty:E()}:{}}),!a.keepIsValid&&B()},xe=({disabled:s,name:a})=>{(oe(s)&&u.mount||s||f.disabled.has(a))&&(s?f.disabled.add(a):f.disabled.delete(a))},Fe=(s,a={})=>{let l=h(n,s);const m=oe(a.disabled)||oe(r.disabled);return j(n,s,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:s}},name:s,mount:!0,...a}}),f.mount.add(s),l?xe({disabled:oe(a.disabled)?a.disabled:r.disabled,name:s}):x(s,!0,a.value),{...m?{disabled:a.disabled||r.disabled}:{},...r.progressive?{required:!!a.required,min:pe(a.min),max:pe(a.max),minLength:pe(a.minLength),maxLength:pe(a.maxLength),pattern:pe(a.pattern)}:{},name:s,onChange:fe,onBlur:fe,ref:y=>{if(y){Fe(s,a),l=h(n,s);const d=M(y.value)&&y.querySelectorAll&&y.querySelectorAll("input,select,textarea")[0]||y,b=Zt(d),S=l._f.refs||[];if(b?S.find(T=>T===d):d===l._f.ref)return;j(n,s,{_f:{...l._f,...b?{refs:[...S.filter(Ue),d,...Array.isArray(h(o,s))?[{}]:[]],ref:{type:d.type,name:s}}:{ref:d}}}),x(s,!1,void 0,d)}else l=h(n,s,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||a.shouldUnregister)&&!(zt(f.array,s)&&u.action)&&f.unMount.add(s)}}},Ie=()=>r.shouldFocusError&&ke(n,de,f.mount),jt=s=>{oe(s)&&(v.state.next({disabled:s}),ke(n,(a,l)=>{const m=h(n,l);m&&(a.disabled=m._f.disabled||s,Array.isArray(m._f.refs)&&m._f.refs.forEach(y=>{y.disabled=m._f.disabled||s}))},0,!1))},Ke=(s,a)=>async l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let y=z(i);if(v.state.next({isSubmitting:!0}),r.resolver){const{errors:d,values:b}=await le();$(),t.errors=d,y=z(b)}else await Z(n);if(f.disabled.size)for(const d of f.disabled)Y(y,d);if(Y(t.errors,"root"),G(t.errors)){v.state.next({errors:{}});try{await s(y,l)}catch(d){m=d}}else a&&await a({...t.errors},l),Ie(),setTimeout(Ie);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:G(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Pt=(s,a={})=>{h(n,s)&&(M(a.defaultValue)?J(s,z(h(o,s))):(J(s,a.defaultValue),j(o,s,z(a.defaultValue))),a.keepTouched||Y(t.touchedFields,s),a.keepDirty||(Y(t.dirtyFields,s),t.isDirty=a.defaultValue?E(s,z(h(o,s))):E()),a.keepError||(Y(t.errors,s),F.isValid&&B()),v.state.next({...t}))},et=(s,a={})=>{const l=s?z(s):o,m=z(l),y=G(s),d=y?o:m;if(a.keepDefaultValues||(o=l),!a.keepValues){if(a.keepDirtyValues){const b=new Set([...f.mount,...Object.keys(Ve(o,i))]);for(const S of Array.from(b))h(t.dirtyFields,S)?j(d,S,h(i,S)):J(S,h(d,S))}else{if(Ye&&M(s))for(const b of f.mount){const S=h(n,b);if(S&&S._f){const T=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(je(T)){const te=T.closest("form");if(te){te.reset();break}}}}if(a.keepFieldsRef)for(const b of f.mount)J(b,h(d,b));else n={}}i=r.shouldUnregister?a.keepDefaultValues?z(o):{}:z(d),v.array.next({values:{...d}}),v.state.next({values:{...d}})}f={mount:a.keepDirtyValues?f.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},u.mount=!F.isValid||!!a.keepIsValid||!!a.keepDirtyValues||!r.shouldUnregister&&!G(d),u.watch=!!r.shouldUnregister,u.keepIsValid=!!a.keepIsValid,u.action=!1,a.keepErrors||(t.errors={}),v.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:y?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!ne(s,o)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:y?{}:a.keepDirtyValues?a.keepDefaultValues&&i?Ve(o,i):t.dirtyFields:a.keepDefaultValues&&s?Ve(o,s):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:o})},tt=(s,a)=>et(re(s)?s(i):s,{...r.resetOptions,...a}),Nt=(s,a={})=>{const l=h(n,s),m=l&&l._f;if(m){const y=m.refs?m.refs[0]:m.ref;y.focus&&setTimeout(()=>{y.focus(),a.shouldSelect&&re(y.select)&&y.select()})}},It=s=>{t={...t,...s}},rt={control:{register:Fe,unregister:ae,getFieldState:_,handleSubmit:Ke,setError:P,_subscribe:_e,_runSchema:le,_updateIsValidating:$,_focusError:Ie,_getWatch:k,_getDirty:E,_setValid:B,_setFieldArray:V,_setDisabledField:xe,_setErrors:D,_getFieldArray:I,_reset:et,_resetDefaultValues:()=>re(r.defaultValues)&&r.defaultValues().then(s=>{tt(s,r.resetOptions),v.state.next({isLoading:!1})}),_removeUnmounted:be,_disableForm:jt,_subjects:v,_proxyFormState:F,get _fields(){return n},get _formValues(){return i},get _state(){return u},set _state(s){u=s},get _defaultValues(){return o},get _names(){return f},set _names(s){f=s},get _formState(){return t},get _options(){return r},set _options(s){r={...r,...s}}},subscribe:L,trigger:ye,register:Fe,handleSubmit:Ke,watch:ge,setValue:J,getValues:c,reset:tt,resetField:Pt,clearErrors:C,unregister:ae,setError:P,setFocus:Nt,getFieldState:_};return{...rt,formControl:rt}}function fr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[n,o]=g.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:n},e.defaultValues&&!re(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:u,...f}=cr(e);r.current={...f,formState:n}}const i=r.current.control;return i._options=e,Et(()=>{const u=i._subscribe({formState:i._proxyFormState,callback:()=>o({...i._formState}),reRenderRoot:!0});return o(f=>({...f,isReady:!0})),i._formState.isReady=!0,u},[i]),g.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),g.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),g.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),g.useEffect(()=>{if(i._proxyFormState.isDirty){const u=i._getDirty();u!==n.isDirty&&i._subjects.state.next({isDirty:u})}},[i,n.isDirty]),g.useEffect(()=>{var u;e.values&&!ne(e.values,t.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((u=i._options.resetOptions)===null||u===void 0)&&u.keepIsValid||i._setValid(),t.current=e.values,o(f=>({...f}))):i._resetDefaultValues()},[i,e.values]),g.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),r.current.formState=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 w.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}=ve(),n=t(r.name);return w.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[w.jsx("label",{children:r.label}),w.jsx("input",{type:r.type,...n,readOnly:r.readonly})]})},mr=e=>{const{fieldSchema:r}=e,{register:t}=ve(),n=t(r.name),o=r.options;return w.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[w.jsx("label",{children:r.label}),w.jsx("select",{...n,disabled:r.readonly,children:o.map(i=>w.jsx("option",{value:i.value,children:i.label},i.value))})]})};function Tt(e,r){const t={};return e.forEach((n,o)=>{const i=n.split(".");let u=t;i.forEach((f,A)=>{const R=A===i.length-1,O=!isNaN(Number(f));R?u[f]=r[o]:(f in u||(u[f]=O?[]:{}),u=u[f])})}),t}function Ot(e){switch(e){case"text":return"";case"number":return 0;case"array":return[];case"checkbox":return!1;case"object":return{};case"select":return null;case"date":return new Date().toISOString().slice(0,10);case"datetime-local":return new Date().toISOString().slice(0,16);case"time":return new Date().toISOString().slice(11,16);default:return null}}function Ze(e){return e.replace(/\.\d+\./g,".")}function Dt(e,r){const t=e.split("."),n=[];return t.forEach((o,i)=>{isNaN(Number(o))||n.push({pos:i,value:o})}),r.map(o=>{const u=[...o.split(".")];return n.forEach(({pos:f,value:A})=>{f<=u.length&&u.splice(f,0,A)}),u.join(".")})}function Se(e,r={}){const t={};for(const n of e)if(n.type==="object"){const o=n.fields;t[n.name]=Se(o,r==null?void 0:r[n.name])}else t[n.name]=(r==null?void 0:r[n.name])??n.initialValue??Ot(n.type);return t}function Qe(e){return e.map(r=>{if(["object","array"].includes(r.type)){const t=r.fields;return{...r,readonly:!0,fields:Qe(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 w.jsxs("div",{children:[w.jsxs("div",{children:["row ",t]}),w.jsx(Te,{schema:o})]})}),vr=e=>{const{fieldSchema:r}=e,{control:t,getValues:n,setValue:o}=ve(),u=Je({control:t,name:r.name})??[],f=()=>{const R=n(r.name)||[];o(r.name,[...R,Se(r.fields)])},A=R=>{const F=(n(r.name)||[]).filter((p,v)=>v!==R);o(r.name,F)};return w.jsxs("div",{children:[u.map((R,O)=>w.jsxs("div",{children:[w.jsx(hr,{baseName:r.name,index:O,fields:r.fields}),!r.readonly&&w.jsx("button",{type:"button",onClick:()=>A(O),children:"Remove"})]},O)),!r.readonly&&w.jsx("button",{type:"button",onClick:f,children:"Add Row"})]})},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 w.jsx(Te,{schema:t})},_r=["text","number","checkbox","select","date","datetime-local","time","array","object"],Ct=({fieldSchema:e})=>{var R,O;const t=St().uiConfig,{register:n,control:o}=ve(),i=Ze(e.name),u=n(e.name),f=(R=t==null?void 0:t.renderersByName)==null?void 0:R[i];if(f)return w.jsx(f,{fieldSchema:e,control:o,register:u});const A=(O=t==null?void 0:t.renderersByType)==null?void 0:O[e.type];if(A)return w.jsx(A,{fieldSchema:e,control:o,register:u});if(_r.includes(e.type))return e.type==="select"?w.jsx(mr,{fieldSchema:e}):e.type==="array"?w.jsx(br,{fieldSchema:e}):e.type==="object"?w.jsx(gr,{fieldSchema:e}):w.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})=>w.jsx(Ct,{fieldSchema:e}),Er=({fieldSchema:e})=>{const{control:r}=ve(),t=St(),n=e.dependsOn??[],o=g.useMemo(()=>Dt(e.name,n),[e.name,n]),i=Je({control:r,name:o}),[u,f]=g.useState(e);return g.useEffect(()=>{if(!n.length)return;let A=!1;return(async()=>{var N;const O=Ze(e.name),F=Tt(o,i??[]),p=(N=t==null?void 0:t.updateFieldSchema)==null?void 0:N[O];if(!p)return;const v=await p(e.name,e,F);!A&&v&&f({...e,...v})})(),()=>{A=!0}},[i]),w.jsx(Ct,{fieldSchema:u})},Vr=e=>{var t;const{fieldSchema:r}=e;return(t=r.dependsOn)!=null&&t.length?w.jsx(Er,{fieldSchema:r}):w.jsx(xr,{fieldSchema:r})},Fr=e=>{const{fieldSchema:r}=e;if(r.visible!==!1)return w.jsx(Vr,{fieldSchema:r})},Te=g.memo(e=>{const{schema:r}=e;return r.map(t=>w.jsx(Fr,{fieldSchema:t},t.name))}),wr=e=>{const{onDirtyChange:r,onValuesChange:t}=e,{formState:n,control:o}=ve(),i=Je({control:o});return g.useEffect(()=>{t(i)},[i]),g.useEffect(()=>{r(n.isDirty)},[n.isDirty]),null},Ar=({onValuesChange:e,onDirtyChange:r})=>(wr({onDirtyChange:r,onValuesChange:e}),null),pr=g.forwardRef((e,r)=>{const{schema:t,onSubmit:n,uiConfig:o={renderersByName:{},renderersByType:{}},updateFieldSchema:i={},layout:u="vertical",values:f=()=>({}),hideSubmit:A=!1,onDirtyChange:R=()=>{},onValuesChange:O=()=>{},resolver:F,readonly:p}=e,v=fr({reValidateMode:"onSubmit",criteriaMode:"all",resolver:F}),N=g.useRef(!1),U=v.handleSubmit(n),B=g.useMemo(()=>{let x=t;return p&&(x=Qe(x)),x},[p,t]);g.useEffect(()=>{if(N.current)return;let x=!1;return(async()=>{const ce=await f();x||(v.reset(Se(t,ce)),N.current=!0)})(),()=>{x=!0}},[f,t]),g.useImperativeHandle(r,()=>({submit:async()=>{await v.handleSubmit(n)()},reset:x=>{v.reset(x?Se(t,x):void 0)},getValues:()=>v.getValues(),setValue:(x,X)=>{v.setValue(x,X)}}));const $=A||p,V=g.useMemo(()=>o,[o]),H=g.useMemo(()=>i,[i]),D=g.useMemo(()=>({layout:u,uiConfig:o,updateFieldSchema:i}),[u,o,i]);return w.jsxs(Jt,{...v,children:[w.jsx(Ar,{onDirtyChange:R,onValuesChange:O}),w.jsxs(dr,{layout:D.layout,uiConfig:V,updateFieldSchema:H,children:[["vertical","horizontal"].includes(u)&&w.jsx("div",{style:{display:"flex",flexDirection:u==="vertical"?"column":"row"},children:w.jsx(Te,{schema:B})}),u==="custom"&&w.jsx(Te,{schema:B}),!$&&w.jsx("button",{style:{marginTop:"1rem"},onClick:U,children:"Submit"})]})]})});exports.AutoForm=pr;exports.SchemaRenderer=Te;exports.buildNestedPartialValues=Tt;exports.generateInitialValues=Se;exports.getDefaultValueForField=Ot;exports.makeSchemaReadOnly=Qe;exports.normalizeFieldPath=Ze;exports.resolveDependsOnNew=Dt;
package/dist/index.es.js CHANGED
@@ -1349,7 +1349,7 @@ const kt = Mt(null), vr = ({
1349
1349
  ] });
1350
1350
  }, gr = (e) => {
1351
1351
  const { fieldSchema: r } = e, { register: t } = be(), n = t(r.name), o = r.options;
1352
- return console.log("select"), /* @__PURE__ */ F.jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [
1352
+ return /* @__PURE__ */ F.jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [
1353
1353
  /* @__PURE__ */ F.jsx("label", { children: r.label }),
1354
1354
  /* @__PURE__ */ F.jsx("select", { ...n, disabled: r.readonly, children: o.map((i) => /* @__PURE__ */ F.jsx("option", { value: i.value, children: i.label }, i.value)) })
1355
1355
  ] });
@@ -1386,7 +1386,7 @@ function xr(e) {
1386
1386
  case "time":
1387
1387
  return (/* @__PURE__ */ new Date()).toISOString().slice(11, 16);
1388
1388
  default:
1389
- return "";
1389
+ return null;
1390
1390
  }
1391
1391
  }
1392
1392
  function Tt(e) {
@@ -1570,9 +1570,7 @@ const Vr = k.memo((e) => {
1570
1570
  reValidateMode: "onSubmit",
1571
1571
  criteriaMode: "all",
1572
1572
  resolver: V
1573
- }), N = Wt(!1), M = v.handleSubmit(n);
1574
- console.log("?");
1575
- const B = he(() => {
1573
+ }), N = Wt(!1), M = v.handleSubmit(n), B = he(() => {
1576
1574
  let _ = t;
1577
1575
  return A && (_ = Ot(_)), _;
1578
1576
  }, [A, t]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autoforma",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "AutoForma is a headless dynamic form builder based on React Hook Form",
5
5
  "type": "module",
6
6
  "sideEffects": false,