remix-validated-form 4.5.5 → 4.5.6
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/.turbo/turbo-build.log +13 -13
- package/browser/ValidatedForm.js +1 -1
- package/browser/internal/logic/requestSubmit.d.ts +0 -0
- package/browser/internal/logic/requestSubmit.js +27 -2
- package/dist/remix-validated-form.cjs.js +1 -1
- package/dist/remix-validated-form.cjs.js.map +1 -1
- package/dist/remix-validated-form.es.js +1 -1
- package/dist/remix-validated-form.es.js.map +1 -1
- package/dist/remix-validated-form.umd.js +1 -1
- package/dist/remix-validated-form.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/ValidatedForm.tsx +1 -1
@@ -23,5 +23,5 @@
|
|
23
23
|
* LICENSE.md file in the root directory of this source tree.
|
24
24
|
*
|
25
25
|
* @license MIT
|
26
|
-
*/const Nv=(e,t={})=>{let r=typeof t=="number"?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),{...r,headers:n})};function Kv(e,t,r){return Nv({fieldErrors:e.fieldErrors,subaction:e.subaction,repopulateFields:t,formId:e.formId},{status:422,...r})}const Rv=(e,t)=>({[Fr(e)]:t});function Uv(e,t,r,n){for(var a=e.length,o=r+(n?1:-1);n?o--:++o<a;)if(t(e[o],o,e))return o;return-1}var Bv=Uv;function qv(e){return e!==e}var zv=qv;function Wv(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}var kv=Wv,Xv=Bv,Jv=zv,Yv=kv;function Zv(e,t,r){return t===t?Yv(e,t,r):Xv(e,Jv,r)}var Qv=Zv,eh=Qv;function th(e,t){var r=e==null?0:e.length;return!!r&&eh(e,t,0)>-1}var rh=th;function nh(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}var ah=nh;function oh(){}var sh=oh,ht=Zt,ih=sh,uh=Ae,ch=1/0,fh=ht&&1/uh(new ht([,-0]))[1]==ch?function(e){return new ht(e)}:ih,lh=fh,dh=Ot,vh=rh,hh=ah,yh=wt,ph=lh,mh=Ae,gh=200;function bh(e,t,r){var n=-1,a=vh,o=e.length,s=!0,i=[],u=i;if(r)s=!1,a=hh;else if(o>=gh){var c=t?null:ph(e);if(c)return mh(c);s=!1,a=yh,u=new dh}else u=t?[]:i;e:for(;++n<o;){var f=e[n],d=t?t(f):f;if(f=r||f!==0?f:0,s&&d===d){for(var l=u.length;l--;)if(u[l]===d)continue e;t&&u.push(d),i.push(f)}else a(u,d,r)||(u!==i&&u.push(d),i.push(f))}return i}var _h=bh,$h=_h;function Sh(e){return e&&e.length?$h(e):[]}var Eh=Sh;class on{constructor(){this.dict=new Map,this.add=(t,r)=>{this.dict.has(t)?this.dict.get(t).push(r):this.dict.set(t,[r])},this.delete=t=>{this.dict.delete(t)},this.remove=(t,r)=>{if(!this.dict.has(t))return;const n=this.dict.get(t),a=n.indexOf(r);a!==-1&&n.splice(a,1),n.length===0&&this.dict.delete(t)},this.getAll=t=>{var r;return(r=this.dict.get(t))!=null?r:[]},this.entries=()=>this.dict.entries(),this.values=()=>this.dict.values(),this.has=t=>this.dict.has(t)}}const Ph=()=>{const e=p.useRef(null);return p.useCallback(()=>(e.current||(e.current=new on),e.current),[])};function sn(e,t){const r=p.useRef(!1);p.useEffect(()=>{e&&(r.current=!0),!e&&r.current&&(r.current=!1,t())})}var Fh=Ge;function Ih(e,t){return Fh(e,t)}var Th=Ih;const Ah=e=>t=>{e.filter(Boolean).forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})},yt=typeof window!="undefined"?p.useLayoutEffect:p.useEffect,Oh=e=>{const t=p.useRef(e),r=t.current===e||Th(t.current,e);return p.useEffect(()=>{r||(t.current=e)}),r?t.current:e},wh=e=>new FormData(e);function Ch(e){return e!==null}const Dh=(e,t,r)=>{var o;const n=[...r.elements].map(s=>{const i=s instanceof RadioNodeList?s[0]:s;return i instanceof HTMLElement&&"name"in i?i.name:null}).filter(Ch).filter(s=>s in e),a=Eh(n);for(const s of a){if(t.has(s)){t.getAll(s).forEach(u=>{u()});break}const i=r.elements.namedItem(s);if(!!i){if(i instanceof RadioNodeList){const u=(o=[...i].filter(c=>c instanceof HTMLInputElement).find(c=>c.value===i.value))!=null?o:i[0];if(u&&u instanceof HTMLInputElement){u.focus();break}}if(i instanceof HTMLElement){if(i instanceof HTMLInputElement&&i.type==="hidden")continue;i.focus();break}}}},xh=e=>{const[t]=p.useState(()=>Symbol("remix-validated-form-id"));return e!=null?e:t},Mh=({resetAfterSubmit:e,formRef:t})=>{const r=nn(),n=an();return sn(r,()=>{var a;n&&e&&((a=t.current)==null||a.reset())}),null};function jh(e){let t=!1;return new Proxy(e,{get:(r,n)=>n==="preventDefault"?()=>{t=!0}:n==="defaultPrevented"?t:r[n]})}function Lh({validator:e,onSubmit:t,children:r,fetcher:n,action:a,defaultValues:o,formRef:s,onReset:i,subaction:u,resetAfterSubmit:c=!1,disableFocusOnError:f,method:d,replace:l,id:v,...g}){var yn;const h=xh(v),$=Oh(o),E=p.useMemo(()=>({formId:h,action:a,subaction:u,defaultValuesProp:$,fetcher:n}),[a,n,h,$,u]),S=vt(E),C=zr(E),L=_v(E),I=p.useRef(null),Bh=(yn=n==null?void 0:n.Form)!=null?yn:J.Form,qh=J.useSubmit(),pt=rn(h),zh=m(h,y=>y.setFieldError),Wh=m(h,y=>y.reset),kh=w(y=>y.reset),Xh=m(h,y=>y.startSubmit),mt=m(h,y=>y.endSubmit),fn=m(h,y=>y.syncFormProps),ln=m(h,y=>y.setFormElement),dn=dt(y=>y.cleanupForm),vn=dt(y=>y.registerForm),$e=Ph(),hn=p.useCallback((y,Se)=>($e().add(y,Se),()=>{$e().remove(y,Se)}),[$e]);yt(()=>(vn(h),()=>dn(h)),[dn,h,vn]),yt(()=>{var y;fn({action:a,defaultValues:(y=$!=null?$:C)!=null?y:{},subaction:u,registerReceiveFocus:hn,validator:e})},[a,$,hn,u,fn,C,e]),yt(()=>{ln(I.current)},[ln]),p.useEffect(()=>{var y;pt((y=S==null?void 0:S.fieldErrors)!=null?y:{})},[S==null?void 0:S.fieldErrors,pt,zh]),sn(L,()=>{mt()});const Jh=async(y,Se,Yh)=>{Xh();const Ee=await e.validate(wh(y.currentTarget));if(Ee.error)
|
26
|
+
*/const Nv=(e,t={})=>{let r=typeof t=="number"?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),{...r,headers:n})};function Kv(e,t,r){return Nv({fieldErrors:e.fieldErrors,subaction:e.subaction,repopulateFields:t,formId:e.formId},{status:422,...r})}const Rv=(e,t)=>({[Fr(e)]:t});function Uv(e,t,r,n){for(var a=e.length,o=r+(n?1:-1);n?o--:++o<a;)if(t(e[o],o,e))return o;return-1}var Bv=Uv;function qv(e){return e!==e}var zv=qv;function Wv(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}var kv=Wv,Xv=Bv,Jv=zv,Yv=kv;function Zv(e,t,r){return t===t?Yv(e,t,r):Xv(e,Jv,r)}var Qv=Zv,eh=Qv;function th(e,t){var r=e==null?0:e.length;return!!r&&eh(e,t,0)>-1}var rh=th;function nh(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}var ah=nh;function oh(){}var sh=oh,ht=Zt,ih=sh,uh=Ae,ch=1/0,fh=ht&&1/uh(new ht([,-0]))[1]==ch?function(e){return new ht(e)}:ih,lh=fh,dh=Ot,vh=rh,hh=ah,yh=wt,ph=lh,mh=Ae,gh=200;function bh(e,t,r){var n=-1,a=vh,o=e.length,s=!0,i=[],u=i;if(r)s=!1,a=hh;else if(o>=gh){var c=t?null:ph(e);if(c)return mh(c);s=!1,a=yh,u=new dh}else u=t?[]:i;e:for(;++n<o;){var f=e[n],d=t?t(f):f;if(f=r||f!==0?f:0,s&&d===d){for(var l=u.length;l--;)if(u[l]===d)continue e;t&&u.push(d),i.push(f)}else a(u,d,r)||(u!==i&&u.push(d),i.push(f))}return i}var _h=bh,$h=_h;function Sh(e){return e&&e.length?$h(e):[]}var Eh=Sh;class on{constructor(){this.dict=new Map,this.add=(t,r)=>{this.dict.has(t)?this.dict.get(t).push(r):this.dict.set(t,[r])},this.delete=t=>{this.dict.delete(t)},this.remove=(t,r)=>{if(!this.dict.has(t))return;const n=this.dict.get(t),a=n.indexOf(r);a!==-1&&n.splice(a,1),n.length===0&&this.dict.delete(t)},this.getAll=t=>{var r;return(r=this.dict.get(t))!=null?r:[]},this.entries=()=>this.dict.entries(),this.values=()=>this.dict.values(),this.has=t=>this.dict.has(t)}}const Ph=()=>{const e=p.useRef(null);return p.useCallback(()=>(e.current||(e.current=new on),e.current),[])};function sn(e,t){const r=p.useRef(!1);p.useEffect(()=>{e&&(r.current=!0),!e&&r.current&&(r.current=!1,t())})}var Fh=Ge;function Ih(e,t){return Fh(e,t)}var Th=Ih;const Ah=e=>t=>{e.filter(Boolean).forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})},yt=typeof window!="undefined"?p.useLayoutEffect:p.useEffect,Oh=e=>{const t=p.useRef(e),r=t.current===e||Th(t.current,e);return p.useEffect(()=>{r||(t.current=e)}),r?t.current:e},wh=e=>new FormData(e);function Ch(e){return e!==null}const Dh=(e,t,r)=>{var o;const n=[...r.elements].map(s=>{const i=s instanceof RadioNodeList?s[0]:s;return i instanceof HTMLElement&&"name"in i?i.name:null}).filter(Ch).filter(s=>s in e),a=Eh(n);for(const s of a){if(t.has(s)){t.getAll(s).forEach(u=>{u()});break}const i=r.elements.namedItem(s);if(!!i){if(i instanceof RadioNodeList){const u=(o=[...i].filter(c=>c instanceof HTMLInputElement).find(c=>c.value===i.value))!=null?o:i[0];if(u&&u instanceof HTMLInputElement){u.focus();break}}if(i instanceof HTMLElement){if(i instanceof HTMLInputElement&&i.type==="hidden")continue;i.focus();break}}}},xh=e=>{const[t]=p.useState(()=>Symbol("remix-validated-form-id"));return e!=null?e:t},Mh=({resetAfterSubmit:e,formRef:t})=>{const r=nn(),n=an();return sn(r,()=>{var a;n&&e&&((a=t.current)==null||a.reset())}),null};function jh(e){let t=!1;return new Proxy(e,{get:(r,n)=>n==="preventDefault"?()=>{t=!0}:n==="defaultPrevented"?t:r[n]})}function Lh({validator:e,onSubmit:t,children:r,fetcher:n,action:a,defaultValues:o,formRef:s,onReset:i,subaction:u,resetAfterSubmit:c=!1,disableFocusOnError:f,method:d,replace:l,id:v,...g}){var yn;const h=xh(v),$=Oh(o),E=p.useMemo(()=>({formId:h,action:a,subaction:u,defaultValuesProp:$,fetcher:n}),[a,n,h,$,u]),S=vt(E),C=zr(E),L=_v(E),I=p.useRef(null),Bh=(yn=n==null?void 0:n.Form)!=null?yn:J.Form,qh=J.useSubmit(),pt=rn(h),zh=m(h,y=>y.setFieldError),Wh=m(h,y=>y.reset),kh=w(y=>y.reset),Xh=m(h,y=>y.startSubmit),mt=m(h,y=>y.endSubmit),fn=m(h,y=>y.syncFormProps),ln=m(h,y=>y.setFormElement),dn=dt(y=>y.cleanupForm),vn=dt(y=>y.registerForm),$e=Ph(),hn=p.useCallback((y,Se)=>($e().add(y,Se),()=>{$e().remove(y,Se)}),[$e]);yt(()=>(vn(h),()=>dn(h)),[dn,h,vn]),yt(()=>{var y;fn({action:a,defaultValues:(y=$!=null?$:C)!=null?y:{},subaction:u,registerReceiveFocus:hn,validator:e})},[a,$,hn,u,fn,C,e]),yt(()=>{ln(I.current)},[ln]),p.useEffect(()=>{var y;pt((y=S==null?void 0:S.fieldErrors)!=null?y:{})},[S==null?void 0:S.fieldErrors,pt,zh]),sn(L,()=>{mt()});const Jh=async(y,Se,Yh)=>{Xh();const Ee=await e.validate(wh(y.currentTarget));if(Ee.error)pt(Ee.error.fieldErrors),mt(),f||Dh(Ee.error.fieldErrors,$e(),I.current);else{const pn=jh(y);if(await(t==null?void 0:t(Ee.data,pn)),pn.defaultPrevented){mt();return}const mn=Yh.submitter;n?n.submit(mn||y.currentTarget):qh(mn||Se,{replace:l})}};return D.default.createElement(Bh,{ref:Ah([I,s]),...g,id:v,action:a,method:d,replace:l,onSubmit:y=>{y.preventDefault(),Jh(y,y.currentTarget,y.nativeEvent)},onReset:y=>{i==null||i(y),!y.defaultPrevented&&(Wh(),kh(h))}},D.default.createElement(Ir.Provider,{value:E},D.default.createElement(D.default.Fragment,null,D.default.createElement(Mh,{formRef:I,resetAfterSubmit:c}),u&&D.default.createElement("input",{type:"hidden",value:u,name:"subaction"}),v&&D.default.createElement("input",{type:"hidden",value:v,name:pe}),r)))}var Hh=Pr;function Vh(e,t,r){return e==null?e:Hh(e,t,r)}var Gh=Vh;const un=e=>{const t=new on;return e.forEach(([r,n])=>t.add(r,n)),[...t.entries()].reduce((r,[n,a])=>Gh(r,n,a.length===1?a[0]:a),{})},cn=e=>"entries"in e&&typeof e.entries=="function"?un([...e.entries()]):un(Object.entries(e));function Nh(e){return{validate:async t=>{const r=cn(t),n=await e.validate(r);return n.error?{data:void 0,error:{fieldErrors:n.error,subaction:r.subaction,formId:r[pe]},submittedData:r,formId:r[pe]}:{data:n.data,error:void 0,submittedData:r,formId:r[pe]}},validateField:(t,r)=>e.validateField(cn(t),r)}}const Kh=e=>{const t=j(e,"useFormState"),r=Jr(t.formId),n=Zr(t.formId),a=Tv(t.formId),o=Yr(t.formId),s=Cv(t.formId),i=Dv(t.formId),u=tn(t.formId),f=Wr(t).hydrateTo(u),d=Av(t.formId),v=qr(t).hydrateTo(d);return p.useMemo(()=>({action:s,subaction:i,defaultValues:f,fieldErrors:v!=null?v:{},hasBeenSubmitted:n,isSubmitting:r,touchedFields:a,isValid:o}),[s,n,f,v,r,o,i,a])},Rh=e=>{const t=j(e,"useFormHelpers"),r=Iv(t),n=Qr(t.formId),a=Ev(t.formId),o=kr(t),s=rn(t.formId),i=Ov(t.formId),u=wv(t.formId),c=xv(t.formId);return p.useMemo(()=>({setTouched:r,validateField:n,clearError:o,validate:a,clearAllErrors:()=>s({}),reset:i,submit:u,getValues:c}),[o,i,s,r,u,a,n,c])},Uh=e=>{const t=j(e,"useFormContext"),r=Kh(e),{clearError:n,setTouched:a,validateField:o,clearAllErrors:s,validate:i,reset:u,submit:c,getValues:f}=Rh(e),d=en(t.formId),l=p.useCallback((...v)=>{v.forEach(g=>{n(g)})},[n]);return p.useMemo(()=>({...r,setFieldTouched:a,validateField:o,clearError:l,registerReceiveFocus:d,clearAllErrors:s,validate:i,reset:u,submit:c,getValues:f}),[s,l,d,u,a,r,c,i,o,f])};_.ValidatedForm=Lh,_.createValidator=Nh,_.setFormDefaults=Rv,_.useControlField=Vv,_.useField=Hv,_.useFormContext=Uh,_.useIsSubmitting=nn,_.useIsValid=an,_.useUpdateControlledField=Gv,_.validationError=Kv,Object.defineProperties(_,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
27
27
|
//# sourceMappingURL=remix-validated-form.umd.js.map
|