remix-validated-form 4.6.3 → 4.6.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,15 +3,15 @@
3
3
  transforming...
4
4
  ✓ 289 modules transformed.
5
5
  rendering chunks...
6
- dist/remix-validated-form.cjs.js  32.64 KiB / gzip: 11.34 KiB
7
- dist/remix-validated-form.cjs.js.map 167.90 KiB
8
- dist/remix-validated-form.es.js  66.80 KiB / gzip: 15.63 KiB
9
- dist/remix-validated-form.es.js.map 165.47 KiB
10
- dist/remix-validated-form.umd.js  32.83 KiB / gzip: 11.41 KiB
11
- dist/remix-validated-form.umd.js.map 167.85 KiB
6
+ dist/remix-validated-form.cjs.js  32.65 KiB / gzip: 11.34 KiB
7
+ dist/remix-validated-form.cjs.js.map 168.30 KiB
8
+ dist/remix-validated-form.es.js  66.83 KiB / gzip: 15.64 KiB
9
+ dist/remix-validated-form.es.js.map 165.89 KiB
10
+ dist/remix-validated-form.umd.js  32.84 KiB / gzip: 11.42 KiB
11
+ dist/remix-validated-form.umd.js.map 168.25 KiB
12
12
  
13
13
  [vite:dts] Start generate declaration files...
14
- [vite:dts] Declaration files built in 2740ms.
14
+ [vite:dts] Declaration files built in 2581ms.
15
15
  
16
16
  No name was provided for external module 'react' in output.globals – guessing 'React'
17
17
  No name was provided for external module '@remix-run/react' in output.globals – guessing 'react'
@@ -1,4 +1,4 @@
1
- import { setPath } from "setGet";
1
+ import { setPath } from "set-get";
2
2
  import { MultiValueMap } from "./MultiValueMap";
3
3
  export const objectFromPathEntries = (entries) => {
4
4
  const map = new MultiValueMap();
@@ -1,6 +1,6 @@
1
1
  import { useActionData, useMatches, useTransition } from "@remix-run/react";
2
2
  import { useCallback, useContext } from "react";
3
- import { getPath } from "setGet";
3
+ import { getPath } from "set-get";
4
4
  import invariant from "tiny-invariant";
5
5
  import { formDefaultValuesKey } from "./constants";
6
6
  import { InternalFormContext } from "./formContext";
@@ -1,4 +1,4 @@
1
- import { getPath, setPath } from "setGet";
1
+ import { getPath, setPath } from "set-get";
2
2
  import invariant from "tiny-invariant";
3
3
  ////
4
4
  // All of these array helpers are written in a way that mutates the original array.
@@ -80,7 +80,9 @@ export const mutateAsArray = (field, obj, mutate) => {
80
80
  const newKeys = getDeepArrayPaths(arr);
81
81
  for (const key of newKeys) {
82
82
  const val = getPath(arr, key);
83
- obj[`${field}${key}`] = val;
83
+ if (val !== undefined) {
84
+ obj[`${field}${key}`] = val;
85
+ }
84
86
  }
85
87
  };
86
88
  const getDeepArrayPaths = (obj, basePath = "") => {
@@ -294,6 +296,18 @@ if (import.meta.vitest) {
294
296
  "otherField[0]": "something else",
295
297
  });
296
298
  });
299
+ it("should not create keys for `undefined`", () => {
300
+ const values = {
301
+ "myField[0]": "foo",
302
+ };
303
+ mutateAsArray("myField", values, (arr) => {
304
+ arr.unshift(undefined);
305
+ });
306
+ expect(Object.keys(values)).toHaveLength(1);
307
+ expect(values).toEqual({
308
+ "myField[1]": "foo",
309
+ });
310
+ });
297
311
  it("should handle remove", () => {
298
312
  const values = {
299
313
  myField: "something",
@@ -1,4 +1,4 @@
1
- import { getPath, setPath } from "setGet";
1
+ import { getPath, setPath } from "set-get";
2
2
  import invariant from "tiny-invariant";
3
3
  import create from "zustand";
4
4
  import { immer } from "zustand/middleware/immer";
@@ -14,7 +14,7 @@
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 ae=P.default,pr=vt.exports;function yr(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Fr=typeof Object.is=="function"?Object.is:yr,br=pr.useSyncExternalStore,Er=ae.useRef,gr=ae.useEffect,Sr=ae.useMemo,Vr=ae.useDebugValue;mt.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var u=Er(null);if(u.current===null){var s={hasValue:!1,value:null};u.current=s}else s=u.current;u=Sr(function(){function a(f){if(!l){if(l=!0,c=f,f=n(f),o!==void 0&&s.hasValue){var F=s.value;if(o(F,f))return v=F}return v=f}if(F=v,Fr(c,f))return F;var y=n(f);return o!==void 0&&o(F,y)?F:(c=f,v=y)}var l=!1,c,v,h=r===void 0?null:r;return[function(){return a(t())},h===null?void 0:function(){return a(h())}]},[t,r,n,o]);var i=br(e,u[0],u[1]);return gr(function(){s.hasValue=!0,s.value=i},[i]),Vr(i),i};dt.exports=mt;function Pr(e,t=e.getState,r){const n=dt.exports.useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,t,r);return p.useDebugValue(n),n}const Ne=e=>{const t=typeof e=="function"?sr(e):e,r=(n,o)=>Pr(t,n,o);return Object.assign(r,t),r},wr=e=>e?Ne(e):Ne;var Ir=wr;function w(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(o){return"'"+o+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function H(e){return!!e&&!!e[S]}function U(e){return!!e&&(function(t){if(!t||typeof t!="object")return!1;var r=Object.getPrototypeOf(t);if(r===null)return!0;var n=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===Rr}(e)||Array.isArray(e)||!!e[it]||!!e.constructor[it]||Te(e)||je(e))}function G(e,t,r){r===void 0&&(r=!1),L(e)===0?(r?Object.keys:Ue)(e).forEach(function(n){r&&typeof n=="symbol"||t(n,e[n],e)}):e.forEach(function(n,o){return t(o,n,e)})}function L(e){var t=e[S];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Te(e)?2:je(e)?3:0}function ge(e,t){return L(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Dr(e,t){return L(e)===2?e.get(t):e[t]}function pt(e,t,r){var n=L(e);n===2?e.set(t,r):n===3?(e.delete(t),e.add(r)):e[t]=r}function Or(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Te(e){return jr&&e instanceof Map}function je(e){return kr&&e instanceof Set}function M(e){return e.o||e.t}function ke(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Mr(e);delete t[S];for(var r=Ue(t),n=0;n<r.length;n++){var o=r[n],u=t[o];u.writable===!1&&(u.writable=!0,u.configurable=!0),(u.get||u.set)&&(t[o]={configurable:!0,writable:!0,enumerable:u.enumerable,value:e[o]})}return Object.create(Object.getPrototypeOf(e),t)}function Re(e,t){return t===void 0&&(t=!1),Me(e)||H(e)||!U(e)||(L(e)>1&&(e.set=e.add=e.clear=e.delete=Cr),Object.freeze(e),t&&G(e,function(r,n){return Re(n,!0)},!0)),e}function Cr(){w(2)}function Me(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function D(e){var t=_r[e];return t||w(18,e),t}function et(){return J}function ve(e,t){t&&(D("Patches"),e.u=[],e.s=[],e.v=t)}function se(e){Se(e),e.p.forEach(Ar),e.p=null}function Se(e){e===J&&(J=e.l)}function tt(e){return J={p:[],l:J,h:e,m:!0,_:0}}function Ar(e){var t=e[S];t.i===0||t.i===1?t.j():t.O=!0}function he(e,t){t._=t.p.length;var r=t.p[0],n=e!==void 0&&e!==r;return t.h.g||D("ES5").S(t,e,n),n?(r[S].P&&(se(t),w(4)),U(e)&&(e=ie(t,e),t.l||le(t,e)),t.u&&D("Patches").M(r[S].t,e,t.u,t.s)):e=ie(t,r,[]),se(t),t.u&&t.v(t.u,t.s),e!==yt?e:void 0}function ie(e,t,r){if(Me(t))return t;var n=t[S];if(!n)return G(t,function(u,s){return rt(e,n,t,u,s,r)},!0),t;if(n.A!==e)return t;if(!n.P)return le(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var o=n.i===4||n.i===5?n.o=ke(n.k):n.o;G(n.i===3?new Set(o):o,function(u,s){return rt(e,n,o,u,s,r)}),le(e,o,!1),r&&e.u&&D("Patches").R(n,r,e.u,e.s)}return n.o}function rt(e,t,r,n,o,u){if(H(o)){var s=ie(e,o,u&&t&&t.i!==3&&!ge(t.D,n)?u.concat(n):void 0);if(pt(r,n,s),!H(s))return;e.m=!1}if(U(o)&&!Me(o)){if(!e.h.F&&e._<1)return;ie(e,o),t&&t.A.l||le(e,o)}}function le(e,t,r){r===void 0&&(r=!1),e.h.F&&e.m&&Re(t,r)}function pe(e,t){var r=e[S];return(r?M(r):e)[t]}function nt(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Ve(e){e.P||(e.P=!0,e.l&&Ve(e.l))}function ye(e){e.o||(e.o=ke(e.t))}function Pe(e,t,r){var n=Te(t)?D("MapSet").N(t,r):je(t)?D("MapSet").T(t,r):e.g?function(o,u){var s=Array.isArray(o),i={i:s?1:0,A:u?u.A:et(),P:!1,I:!1,D:{},l:u,t:o,k:null,o:null,j:null,C:!1},a=i,l=we;s&&(a=[i],l=B);var c=Proxy.revocable(a,l),v=c.revoke,h=c.proxy;return i.k=h,i.j=v,h}(t,r):D("ES5").J(t,r);return(r?r.A:et()).p.push(n),n}function Tr(e){return H(e)||w(22,e),function t(r){if(!U(r))return r;var n,o=r[S],u=L(r);if(o){if(!o.P&&(o.i<4||!D("ES5").K(o)))return o.t;o.I=!0,n=ot(r,u),o.I=!1}else n=ot(r,u);return G(n,function(s,i){o&&Dr(o.t,s)===i||pt(n,s,t(i))}),u===3?new Set(n):n}(e)}function ot(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ke(e)}var ut,J,_e=typeof Symbol!="undefined"&&typeof Symbol("x")=="symbol",jr=typeof Map!="undefined",kr=typeof Set!="undefined",st=typeof Proxy!="undefined"&&Proxy.revocable!==void 0&&typeof Reflect!="undefined",yt=_e?Symbol.for("immer-nothing"):((ut={})["immer-nothing"]=!0,ut),it=_e?Symbol.for("immer-draftable"):"__$immer_draftable",S=_e?Symbol.for("immer-state"):"__$immer_state",Rr=""+Object.prototype.constructor,Ue=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Mr=Object.getOwnPropertyDescriptors||function(e){var t={};return Ue(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r)}),t},_r={},we={get:function(e,t){if(t===S)return e;var r=M(e);if(!ge(r,t))return function(o,u,s){var i,a=nt(u,s);return a?"value"in a?a.value:(i=a.get)===null||i===void 0?void 0:i.call(o.k):void 0}(e,r,t);var n=r[t];return e.I||!U(n)?n:n===pe(e.t,t)?(ye(e),e.o[t]=Pe(e.A.h,n,e)):n},has:function(e,t){return t in M(e)},ownKeys:function(e){return Reflect.ownKeys(M(e))},set:function(e,t,r){var n=nt(M(e),t);if(n!=null&&n.set)return n.set.call(e.k,r),!0;if(!e.P){var o=pe(M(e),t),u=o==null?void 0:o[S];if(u&&u.t===r)return e.o[t]=r,e.D[t]=!1,!0;if(Or(r,o)&&(r!==void 0||ge(e.t,t)))return!0;ye(e),Ve(e)}return e.o[t]===r&&typeof r!="number"&&(r!==void 0||t in e.o)||(e.o[t]=r,e.D[t]=!0,!0)},deleteProperty:function(e,t){return pe(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,ye(e),Ve(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=M(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty:function(){w(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){w(12)}},B={};G(we,function(e,t){B[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),B.deleteProperty=function(e,t){return B.set.call(this,e,t,void 0)},B.set=function(e,t,r){return we.set.call(this,e[0],t,r,e[0])};var Ur=function(){function e(r){var n=this;this.g=st,this.F=!0,this.produce=function(o,u,s){if(typeof o=="function"&&typeof u!="function"){var i=u;u=o;var a=n;return function(y){var A=this;y===void 0&&(y=i);for(var T=arguments.length,C=Array(T>1?T-1:0),k=1;k<T;k++)C[k-1]=arguments[k];return a.produce(y,function(ce){var R;return(R=u).call.apply(R,[A,ce].concat(C))})}}var l;if(typeof u!="function"&&w(6),s!==void 0&&typeof s!="function"&&w(7),U(o)){var c=tt(n),v=Pe(n,o,void 0),h=!0;try{l=u(v),h=!1}finally{h?se(c):Se(c)}return typeof Promise!="undefined"&&l instanceof Promise?l.then(function(y){return ve(c,s),he(y,c)},function(y){throw se(c),y}):(ve(c,s),he(l,c))}if(!o||typeof o!="object"){if((l=u(o))===void 0&&(l=o),l===yt&&(l=void 0),n.F&&Re(l,!0),s){var f=[],F=[];D("Patches").M(o,l,f,F),s(f,F)}return l}w(21,o)},this.produceWithPatches=function(o,u){if(typeof o=="function")return function(l){for(var c=arguments.length,v=Array(c>1?c-1:0),h=1;h<c;h++)v[h-1]=arguments[h];return n.produceWithPatches(l,function(f){return o.apply(void 0,[f].concat(v))})};var s,i,a=n.produce(o,u,function(l,c){s=l,i=c});return typeof Promise!="undefined"&&a instanceof Promise?a.then(function(l){return[l,s,i]}):[a,s,i]},typeof(r==null?void 0:r.useProxies)=="boolean"&&this.setUseProxies(r.useProxies),typeof(r==null?void 0:r.autoFreeze)=="boolean"&&this.setAutoFreeze(r.autoFreeze)}var t=e.prototype;return t.createDraft=function(r){U(r)||w(8),H(r)&&(r=Tr(r));var n=tt(this),o=Pe(this,r,void 0);return o[S].C=!0,Se(n),o},t.finishDraft=function(r,n){var o=r&&r[S],u=o.A;return ve(u,n),he(void 0,u)},t.setAutoFreeze=function(r){this.F=r},t.setUseProxies=function(r){r&&!st&&w(20),this.g=r},t.applyPatches=function(r,n){var o;for(o=n.length-1;o>=0;o--){var u=n[o];if(u.path.length===0&&u.op==="replace"){r=u.value;break}}o>-1&&(n=n.slice(o+1));var s=D("Patches").$;return H(r)?s(r,n):this.produce(r,function(i){return s(i,n)})},e}(),V=new Ur,$r=V.produce;V.produceWithPatches.bind(V);V.setAutoFreeze.bind(V);V.setUseProxies.bind(V);V.applyPatches.bind(V);V.createDraft.bind(V);V.finishDraft.bind(V);const xr=e=>(t,r,n)=>(n.setState=(o,u,...s)=>{const i=typeof o=="function"?$r(o):o;return t(i,u,...s)},e(n.setState,r,n)),Hr=xr,Lr=(e,t)=>{if(typeof Object.getPrototypeOf(e).requestSubmit=="function"){e.requestSubmit(t);return}if(t){zr(e,t),t.click();return}const r=document.createElement("input");r.type="submit",r.hidden=!0,e.appendChild(r),r.click(),e.removeChild(r)};function zr(e,t){t instanceof HTMLElement||Fe(TypeError,"parameter 1 is not of type 'HTMLElement'"),"type"in t&&t.type==="submit"||Fe(TypeError,"The specified element is not a submit button"),"form"in t&&t.form===e||Fe(DOMException,"The specified element is not owned by this form element","NotFoundError")}function Fe(e,t,r){throw new e("Failed to execute 'requestSubmit' on 'HTMLFormElement': "+t+".",r)}const E=(e,t)=>{const r=_(e,t);if(r==null){const n=[];return $(e,t,n),n}return j(Array.isArray(r),`FieldArray: defaultValue value for ${t} must be an array, null, or undefined`),r},te=(e,t,r)=>{const n=e[t],o=e[r],u=t in e,s=r in e;u?e[r]=n:delete e[r],s?e[t]=o:delete e[t]};function X(e,t,r,n){return e.length<t&&n&&(e.length=t),arguments.length===4?e.splice(t,r,n):e.splice(t,r)}const re=(e,t,r)=>{const[n]=X(e,t,1);X(e,r,0,n)},ne=(e,t,r)=>{X(e,t,0,r)},oe=(e,t)=>{X(e,t,1)},ue=(e,t,r)=>{X(e,t,1,r)},g=(e,t,r)=>{const n=new Set,o=[];for(const[s,i]of Object.entries(t))s.startsWith(e)&&s!==e&&(n.add(s),$(o,s.substring(e.length),i));r(o);for(const s of n)delete t[s];const u=Ie(o);for(const s of u){const i=_(o,s);t[`${e}${s}`]=i}},Ie=(e,t="")=>Array.isArray(e)?e.flatMap((r,n)=>Ie(r,`${t}[${n}]`)):typeof e=="object"?Object.keys(e).flatMap(r=>Ie(e[r],`${t}.${r}`)):[t],b=()=>{},Br={isHydrated:!1,isSubmitting:!1,hasBeenSubmitted:!1,touchedFields:{},fieldErrors:{},formElement:null,isValid:()=>!0,startSubmit:b,endSubmit:b,setTouched:b,setFieldError:b,setFieldErrors:b,clearFieldError:b,currentDefaultValues:{},reset:()=>b,syncFormProps:b,setFormElement:b,validateField:async()=>null,validate:async()=>{throw new Error("Validate called before form was initialized.")},submit:async()=>{throw new Error("Submit called before form was initialized.")},resetFormElement:b,getValues:()=>new FormData,controlledFields:{values:{},refCounts:{},valueUpdatePromises:{},valueUpdateResolvers:{},register:b,unregister:b,setValue:b,getValue:b,kickoffValueUpdate:b,awaitValueUpdate:async()=>{throw new Error("AwaitValueUpdate called before form was initialized.")},array:{push:b,swap:b,move:b,insert:b,unshift:b,remove:b,pop:b,replace:b}}},qr=(e,t)=>({isHydrated:!1,isSubmitting:!1,hasBeenSubmitted:!1,touchedFields:{},fieldErrors:{},formElement:null,currentDefaultValues:{},isValid:()=>Object.keys(t().fieldErrors).length===0,startSubmit:()=>e(r=>{r.isSubmitting=!0,r.hasBeenSubmitted=!0}),endSubmit:()=>e(r=>{r.isSubmitting=!1}),setTouched:(r,n)=>e(o=>{o.touchedFields[r]=n}),setFieldError:(r,n)=>e(o=>{o.fieldErrors[r]=n}),setFieldErrors:r=>e(n=>{n.fieldErrors=r}),clearFieldError:r=>e(n=>{delete n.fieldErrors[r]}),reset:()=>e(r=>{var o,u;r.fieldErrors={},r.touchedFields={},r.hasBeenSubmitted=!1;const n=(u=(o=r.formProps)==null?void 0:o.defaultValues)!=null?u:{};r.controlledFields.values=n,r.currentDefaultValues=n}),syncFormProps:r=>e(n=>{n.isHydrated||(n.controlledFields.values=r.defaultValues,n.currentDefaultValues=r.defaultValues),n.formProps=r,n.isHydrated=!0}),setFormElement:r=>{t().formElement!==r&&e(n=>{n.formElement=r})},validateField:async r=>{var s,i,a;const n=t().formElement;j(n,"Cannot find reference to form. This is probably a bug in remix-validated-form.");const o=(s=t().formProps)==null?void 0:s.validator;j(o,"Cannot validator. This is probably a bug in remix-validated-form."),await((a=(i=t().controlledFields).awaitValueUpdate)==null?void 0:a.call(i,r));const{error:u}=await o.validateField(new FormData(n),r);return u?(t().setFieldError(r,u),u):(t().clearFieldError(r),null)},validate:async()=>{var u;const r=t().formElement;j(r,"Cannot find reference to form. This is probably a bug in remix-validated-form.");const n=(u=t().formProps)==null?void 0:u.validator;j(n,"Cannot validator. This is probably a bug in remix-validated-form.");const o=await n.validate(new FormData(r));return o.error&&t().setFieldErrors(o.error.fieldErrors),o},submit:()=>{const r=t().formElement;j(r,"Cannot find reference to form. This is probably a bug in remix-validated-form."),Lr(r)},getValues:()=>{var r;return new FormData((r=t().formElement)!=null?r:void 0)},resetFormElement:()=>{var r;return(r=t().formElement)==null?void 0:r.reset()},controlledFields:{values:{},refCounts:{},valueUpdatePromises:{},valueUpdateResolvers:{},register:r=>{e(n=>{var u;const o=(u=n.controlledFields.refCounts[r])!=null?u:0;n.controlledFields.refCounts[r]=o+1})},unregister:r=>{t()===null||t()===void 0||e(n=>{var s,i,a;const o=(s=n.controlledFields.refCounts[r])!=null?s:0;if(o>1){n.controlledFields.refCounts[r]=o-1;return}Object.keys(n.controlledFields.refCounts).some(l=>r.startsWith(l)&&l!==r)||($(n.controlledFields.values,r,_((i=n.formProps)==null?void 0:i.defaultValues,r)),$(n.currentDefaultValues,r,_((a=n.formProps)==null?void 0:a.defaultValues,r))),delete n.controlledFields.refCounts[r]})},getValue:r=>_(t().controlledFields.values,r),setValue:(r,n)=>{e(o=>{$(o.controlledFields.values,r,n)}),t().controlledFields.kickoffValueUpdate(r)},kickoffValueUpdate:r=>{const n=()=>e(o=>{delete o.controlledFields.valueUpdateResolvers[r],delete o.controlledFields.valueUpdatePromises[r]});e(o=>{const u=new Promise(s=>{o.controlledFields.valueUpdateResolvers[r]=s}).then(n);o.controlledFields.valueUpdatePromises[r]=u})},awaitValueUpdate:async r=>{await t().controlledFields.valueUpdatePromises[r]},array:{push:(r,n)=>{e(o=>{E(o.controlledFields.values,r).push(n),E(o.currentDefaultValues,r).push(n)}),t().controlledFields.kickoffValueUpdate(r)},swap:(r,n,o)=>{e(u=>{te(E(u.controlledFields.values,r),n,o),te(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>te(s,n,o)),g(r,u.fieldErrors,s=>te(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)},move:(r,n,o)=>{e(u=>{re(E(u.controlledFields.values,r),n,o),re(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>re(s,n,o)),g(r,u.fieldErrors,s=>re(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)},insert:(r,n,o)=>{e(u=>{ne(E(u.controlledFields.values,r),n,o),ne(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>ne(s,n,!1)),g(r,u.fieldErrors,s=>ne(s,n,void 0))}),t().controlledFields.kickoffValueUpdate(r)},remove:(r,n)=>{e(o=>{oe(E(o.controlledFields.values,r),n),oe(E(o.currentDefaultValues,r),n),g(r,o.touchedFields,u=>oe(u,n)),g(r,o.fieldErrors,u=>oe(u,n))}),t().controlledFields.kickoffValueUpdate(r)},pop:r=>{e(n=>{E(n.controlledFields.values,r).pop(),E(n.currentDefaultValues,r).pop(),g(r,n.touchedFields,o=>o.pop()),g(r,n.fieldErrors,o=>o.pop())}),t().controlledFields.kickoffValueUpdate(r)},unshift:(r,n)=>{e(o=>{E(o.controlledFields.values,r).unshift(n),E(o.currentDefaultValues,r).unshift(n),g(r,o.touchedFields,u=>u.unshift(!1)),g(r,o.fieldErrors,u=>u.unshift(void 0))})},replace:(r,n,o)=>{e(u=>{ue(E(u.controlledFields.values,r),n,o),ue(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>ue(s,n,o)),g(r,u.fieldErrors,s=>ue(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)}}}}),De=Ir()(Hr((e,t)=>({forms:{},form:r=>{var n;return(n=t().forms[r])!=null?n:Br},cleanupForm:r=>{e(n=>{delete n.forms[r]})},registerForm:r=>{t().forms[r]||e(n=>{n.forms[r]=qr(o=>e(u=>o(u.forms[r])),()=>t().forms[r])})}}))),d=(e,t)=>De(r=>t(r.form(e))),O=(e,t)=>{const r=p.useContext(ft);if(e)return{formId:e};if(r)return r;throw new Error(`Unable to determine form for ${t}. Please use it inside a ValidatedForm or pass a 'formId'.`)};function $e({fetcher:e,subaction:t,formId:r}){var o;const n=K.useActionData();return e?(o=e.data)!=null&&o.fieldErrors?e.data:null:n!=null&&n.fieldErrors?typeof r=="string"&&n.formId?n.formId===r?n:null:!t&&!n.subaction||n.subaction===t?n:null:null}const Ft=e=>{const t=$e(e),r=d(e.formId,n=>n.isHydrated);return z.from(t==null?void 0:t.fieldErrors,r)},bt=({formId:e})=>{const t=K.useMatches();if(typeof e=="string"){const r=ct(e),n=t.reverse().find(o=>o.data&&r in o.data);return n==null?void 0:n.data[r]}return null},Et=e=>{const{formId:t,defaultValuesProp:r}=e,n=d(t,s=>s.isHydrated),o=$e(e),u=bt(e);return n?z.hydratedData():o!=null&&o.repopulateFields?(j(typeof o.repopulateFields=="object","repopulateFields returned something other than an object"),z.serverData(o.repopulateFields)):r?z.serverData(r):z.serverData(u)},Kr=({fetcher:e})=>{const t=K.useTransition();return e?e.state==="submitting":!!t.submission},Wr=(e,{formId:t})=>{const r=d(t,u=>u.touchedFields[e]),n=d(t,u=>u.setTouched),o=p.useCallback(u=>n(e,u),[e,n]);return[r,o]},gt=(e,t)=>{const r=Ft(t),n=d(t.formId,o=>o.fieldErrors[e]);return r.map(o=>o==null?void 0:o[e]).hydrateTo(n)},St=e=>{const{formId:t}=e;return d(t,r=>r.clearFieldError)},Gr=(e,t)=>d(e,r=>_(r.currentDefaultValues,t)),xe=(e,t)=>{const r=Et(t),n=Gr(t.formId,e);return r.map(o=>_(o,e)).hydrateTo(n)},Vt=e=>d(e,t=>t.isSubmitting),Pt=e=>d(e,t=>t.isValid()),He=e=>d(e,t=>t.hasBeenSubmitted),Le=e=>d(e,t=>t.validateField),Jr=e=>d(e,t=>t.validate),Xr=()=>()=>{},wt=e=>d(e,t=>{var r,n;return(n=(r=t.formProps)==null?void 0:r.registerReceiveFocus)!=null?n:Xr}),Qr={},Zr=e=>d(e,t=>{var r,n;return(n=(r=t.formProps)==null?void 0:r.defaultValues)!=null?n:Qr}),Yr=({formId:e})=>d(e,t=>t.setTouched),Nr=e=>d(e,t=>t.touchedFields),en=e=>d(e,t=>t.fieldErrors),It=e=>d(e,t=>t.setFieldErrors),tn=e=>d(e,t=>t.resetFormElement),rn=e=>d(e,t=>t.submit),nn=e=>d(e,t=>{var r;return(r=t.formProps)==null?void 0:r.action}),on=e=>d(e,t=>{var r;return(r=t.formProps)==null?void 0:r.subaction}),un=e=>d(e,t=>t.getValues),sn=(e,t)=>{const r=d(e.formId,u=>u.controlledFields.getValue(t)),n=d(e.formId,u=>u.isHydrated),o=xe(t,e);return n?r:o},Dt=(e,t)=>{const r=d(e.formId,u=>u.controlledFields.valueUpdateResolvers[t]);p.useEffect(()=>{r==null||r()},[r]);const n=d(e.formId,u=>u.controlledFields.register),o=d(e.formId,u=>u.controlledFields.unregister);p.useEffect(()=>(n(t),()=>o(t)),[e.formId,t,n,o])},ln=(e,t)=>{Dt(e,t);const r=d(e.formId,u=>u.controlledFields.setValue),n=p.useCallback(u=>r(t,u),[t,r]);return[sn(e,t),n]},an=e=>{const t=d(e,r=>r.controlledFields.setValue);return p.useCallback((r,n)=>t(r,n),[t])},Ot=e=>{const t=O(e,"useIsSubmitting");return Vt(t.formId)},Ct=e=>{const t=O(e,"useIsValid");return Pt(t.formId)},cn=(e,t)=>{const{formId:r,handleReceiveFocus:n}=t!=null?t:{},o=O(r,"useField"),u=xe(e,o),[s,i]=Wr(e,o),a=gt(e,o),l=St(o),c=He(o.formId),v=Le(o.formId),h=wt(o.formId);return p.useEffect(()=>{if(n)return h(e,n)},[n,e,h]),p.useMemo(()=>{const F={error:a,clearError:()=>l(e),validate:()=>{v(e)},defaultValue:u,touched:s,setTouched:i},y=tr({...F,name:e,hasBeenSubmitted:c,validationBehavior:t==null?void 0:t.validationBehavior});return{...F,getInputProps:y}},[a,l,u,s,i,e,c,t==null?void 0:t.validationBehavior,v])},fn=(e,t)=>{const r=O(t,"useControlField"),[n,o]=ln(r,e);return[n,o]},dn=e=>{const t=O(e,"useControlField");return an(t.formId)};/**
17
+ */var ae=P.default,pr=vt.exports;function yr(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Fr=typeof Object.is=="function"?Object.is:yr,br=pr.useSyncExternalStore,Er=ae.useRef,gr=ae.useEffect,Sr=ae.useMemo,Vr=ae.useDebugValue;mt.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var u=Er(null);if(u.current===null){var s={hasValue:!1,value:null};u.current=s}else s=u.current;u=Sr(function(){function a(f){if(!l){if(l=!0,c=f,f=n(f),o!==void 0&&s.hasValue){var F=s.value;if(o(F,f))return v=F}return v=f}if(F=v,Fr(c,f))return F;var y=n(f);return o!==void 0&&o(F,y)?F:(c=f,v=y)}var l=!1,c,v,h=r===void 0?null:r;return[function(){return a(t())},h===null?void 0:function(){return a(h())}]},[t,r,n,o]);var i=br(e,u[0],u[1]);return gr(function(){s.hasValue=!0,s.value=i},[i]),Vr(i),i};dt.exports=mt;function Pr(e,t=e.getState,r){const n=dt.exports.useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,t,r);return p.useDebugValue(n),n}const Ne=e=>{const t=typeof e=="function"?sr(e):e,r=(n,o)=>Pr(t,n,o);return Object.assign(r,t),r},wr=e=>e?Ne(e):Ne;var Ir=wr;function w(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(o){return"'"+o+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function H(e){return!!e&&!!e[S]}function U(e){return!!e&&(function(t){if(!t||typeof t!="object")return!1;var r=Object.getPrototypeOf(t);if(r===null)return!0;var n=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===Rr}(e)||Array.isArray(e)||!!e[it]||!!e.constructor[it]||Te(e)||je(e))}function G(e,t,r){r===void 0&&(r=!1),L(e)===0?(r?Object.keys:Ue)(e).forEach(function(n){r&&typeof n=="symbol"||t(n,e[n],e)}):e.forEach(function(n,o){return t(o,n,e)})}function L(e){var t=e[S];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Te(e)?2:je(e)?3:0}function ge(e,t){return L(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Dr(e,t){return L(e)===2?e.get(t):e[t]}function pt(e,t,r){var n=L(e);n===2?e.set(t,r):n===3?(e.delete(t),e.add(r)):e[t]=r}function Or(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Te(e){return jr&&e instanceof Map}function je(e){return kr&&e instanceof Set}function M(e){return e.o||e.t}function ke(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Mr(e);delete t[S];for(var r=Ue(t),n=0;n<r.length;n++){var o=r[n],u=t[o];u.writable===!1&&(u.writable=!0,u.configurable=!0),(u.get||u.set)&&(t[o]={configurable:!0,writable:!0,enumerable:u.enumerable,value:e[o]})}return Object.create(Object.getPrototypeOf(e),t)}function Re(e,t){return t===void 0&&(t=!1),Me(e)||H(e)||!U(e)||(L(e)>1&&(e.set=e.add=e.clear=e.delete=Cr),Object.freeze(e),t&&G(e,function(r,n){return Re(n,!0)},!0)),e}function Cr(){w(2)}function Me(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function D(e){var t=_r[e];return t||w(18,e),t}function et(){return J}function ve(e,t){t&&(D("Patches"),e.u=[],e.s=[],e.v=t)}function se(e){Se(e),e.p.forEach(Ar),e.p=null}function Se(e){e===J&&(J=e.l)}function tt(e){return J={p:[],l:J,h:e,m:!0,_:0}}function Ar(e){var t=e[S];t.i===0||t.i===1?t.j():t.O=!0}function he(e,t){t._=t.p.length;var r=t.p[0],n=e!==void 0&&e!==r;return t.h.g||D("ES5").S(t,e,n),n?(r[S].P&&(se(t),w(4)),U(e)&&(e=ie(t,e),t.l||le(t,e)),t.u&&D("Patches").M(r[S].t,e,t.u,t.s)):e=ie(t,r,[]),se(t),t.u&&t.v(t.u,t.s),e!==yt?e:void 0}function ie(e,t,r){if(Me(t))return t;var n=t[S];if(!n)return G(t,function(u,s){return rt(e,n,t,u,s,r)},!0),t;if(n.A!==e)return t;if(!n.P)return le(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var o=n.i===4||n.i===5?n.o=ke(n.k):n.o;G(n.i===3?new Set(o):o,function(u,s){return rt(e,n,o,u,s,r)}),le(e,o,!1),r&&e.u&&D("Patches").R(n,r,e.u,e.s)}return n.o}function rt(e,t,r,n,o,u){if(H(o)){var s=ie(e,o,u&&t&&t.i!==3&&!ge(t.D,n)?u.concat(n):void 0);if(pt(r,n,s),!H(s))return;e.m=!1}if(U(o)&&!Me(o)){if(!e.h.F&&e._<1)return;ie(e,o),t&&t.A.l||le(e,o)}}function le(e,t,r){r===void 0&&(r=!1),e.h.F&&e.m&&Re(t,r)}function pe(e,t){var r=e[S];return(r?M(r):e)[t]}function nt(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Ve(e){e.P||(e.P=!0,e.l&&Ve(e.l))}function ye(e){e.o||(e.o=ke(e.t))}function Pe(e,t,r){var n=Te(t)?D("MapSet").N(t,r):je(t)?D("MapSet").T(t,r):e.g?function(o,u){var s=Array.isArray(o),i={i:s?1:0,A:u?u.A:et(),P:!1,I:!1,D:{},l:u,t:o,k:null,o:null,j:null,C:!1},a=i,l=we;s&&(a=[i],l=B);var c=Proxy.revocable(a,l),v=c.revoke,h=c.proxy;return i.k=h,i.j=v,h}(t,r):D("ES5").J(t,r);return(r?r.A:et()).p.push(n),n}function Tr(e){return H(e)||w(22,e),function t(r){if(!U(r))return r;var n,o=r[S],u=L(r);if(o){if(!o.P&&(o.i<4||!D("ES5").K(o)))return o.t;o.I=!0,n=ot(r,u),o.I=!1}else n=ot(r,u);return G(n,function(s,i){o&&Dr(o.t,s)===i||pt(n,s,t(i))}),u===3?new Set(n):n}(e)}function ot(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ke(e)}var ut,J,_e=typeof Symbol!="undefined"&&typeof Symbol("x")=="symbol",jr=typeof Map!="undefined",kr=typeof Set!="undefined",st=typeof Proxy!="undefined"&&Proxy.revocable!==void 0&&typeof Reflect!="undefined",yt=_e?Symbol.for("immer-nothing"):((ut={})["immer-nothing"]=!0,ut),it=_e?Symbol.for("immer-draftable"):"__$immer_draftable",S=_e?Symbol.for("immer-state"):"__$immer_state",Rr=""+Object.prototype.constructor,Ue=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Mr=Object.getOwnPropertyDescriptors||function(e){var t={};return Ue(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r)}),t},_r={},we={get:function(e,t){if(t===S)return e;var r=M(e);if(!ge(r,t))return function(o,u,s){var i,a=nt(u,s);return a?"value"in a?a.value:(i=a.get)===null||i===void 0?void 0:i.call(o.k):void 0}(e,r,t);var n=r[t];return e.I||!U(n)?n:n===pe(e.t,t)?(ye(e),e.o[t]=Pe(e.A.h,n,e)):n},has:function(e,t){return t in M(e)},ownKeys:function(e){return Reflect.ownKeys(M(e))},set:function(e,t,r){var n=nt(M(e),t);if(n!=null&&n.set)return n.set.call(e.k,r),!0;if(!e.P){var o=pe(M(e),t),u=o==null?void 0:o[S];if(u&&u.t===r)return e.o[t]=r,e.D[t]=!1,!0;if(Or(r,o)&&(r!==void 0||ge(e.t,t)))return!0;ye(e),Ve(e)}return e.o[t]===r&&typeof r!="number"&&(r!==void 0||t in e.o)||(e.o[t]=r,e.D[t]=!0,!0)},deleteProperty:function(e,t){return pe(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,ye(e),Ve(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=M(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:n.enumerable,value:r[t]}},defineProperty:function(){w(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){w(12)}},B={};G(we,function(e,t){B[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}}),B.deleteProperty=function(e,t){return B.set.call(this,e,t,void 0)},B.set=function(e,t,r){return we.set.call(this,e[0],t,r,e[0])};var Ur=function(){function e(r){var n=this;this.g=st,this.F=!0,this.produce=function(o,u,s){if(typeof o=="function"&&typeof u!="function"){var i=u;u=o;var a=n;return function(y){var A=this;y===void 0&&(y=i);for(var T=arguments.length,C=Array(T>1?T-1:0),k=1;k<T;k++)C[k-1]=arguments[k];return a.produce(y,function(ce){var R;return(R=u).call.apply(R,[A,ce].concat(C))})}}var l;if(typeof u!="function"&&w(6),s!==void 0&&typeof s!="function"&&w(7),U(o)){var c=tt(n),v=Pe(n,o,void 0),h=!0;try{l=u(v),h=!1}finally{h?se(c):Se(c)}return typeof Promise!="undefined"&&l instanceof Promise?l.then(function(y){return ve(c,s),he(y,c)},function(y){throw se(c),y}):(ve(c,s),he(l,c))}if(!o||typeof o!="object"){if((l=u(o))===void 0&&(l=o),l===yt&&(l=void 0),n.F&&Re(l,!0),s){var f=[],F=[];D("Patches").M(o,l,f,F),s(f,F)}return l}w(21,o)},this.produceWithPatches=function(o,u){if(typeof o=="function")return function(l){for(var c=arguments.length,v=Array(c>1?c-1:0),h=1;h<c;h++)v[h-1]=arguments[h];return n.produceWithPatches(l,function(f){return o.apply(void 0,[f].concat(v))})};var s,i,a=n.produce(o,u,function(l,c){s=l,i=c});return typeof Promise!="undefined"&&a instanceof Promise?a.then(function(l){return[l,s,i]}):[a,s,i]},typeof(r==null?void 0:r.useProxies)=="boolean"&&this.setUseProxies(r.useProxies),typeof(r==null?void 0:r.autoFreeze)=="boolean"&&this.setAutoFreeze(r.autoFreeze)}var t=e.prototype;return t.createDraft=function(r){U(r)||w(8),H(r)&&(r=Tr(r));var n=tt(this),o=Pe(this,r,void 0);return o[S].C=!0,Se(n),o},t.finishDraft=function(r,n){var o=r&&r[S],u=o.A;return ve(u,n),he(void 0,u)},t.setAutoFreeze=function(r){this.F=r},t.setUseProxies=function(r){r&&!st&&w(20),this.g=r},t.applyPatches=function(r,n){var o;for(o=n.length-1;o>=0;o--){var u=n[o];if(u.path.length===0&&u.op==="replace"){r=u.value;break}}o>-1&&(n=n.slice(o+1));var s=D("Patches").$;return H(r)?s(r,n):this.produce(r,function(i){return s(i,n)})},e}(),V=new Ur,$r=V.produce;V.produceWithPatches.bind(V);V.setAutoFreeze.bind(V);V.setUseProxies.bind(V);V.applyPatches.bind(V);V.createDraft.bind(V);V.finishDraft.bind(V);const xr=e=>(t,r,n)=>(n.setState=(o,u,...s)=>{const i=typeof o=="function"?$r(o):o;return t(i,u,...s)},e(n.setState,r,n)),Hr=xr,Lr=(e,t)=>{if(typeof Object.getPrototypeOf(e).requestSubmit=="function"){e.requestSubmit(t);return}if(t){zr(e,t),t.click();return}const r=document.createElement("input");r.type="submit",r.hidden=!0,e.appendChild(r),r.click(),e.removeChild(r)};function zr(e,t){t instanceof HTMLElement||Fe(TypeError,"parameter 1 is not of type 'HTMLElement'"),"type"in t&&t.type==="submit"||Fe(TypeError,"The specified element is not a submit button"),"form"in t&&t.form===e||Fe(DOMException,"The specified element is not owned by this form element","NotFoundError")}function Fe(e,t,r){throw new e("Failed to execute 'requestSubmit' on 'HTMLFormElement': "+t+".",r)}const E=(e,t)=>{const r=_(e,t);if(r==null){const n=[];return $(e,t,n),n}return j(Array.isArray(r),`FieldArray: defaultValue value for ${t} must be an array, null, or undefined`),r},te=(e,t,r)=>{const n=e[t],o=e[r],u=t in e,s=r in e;u?e[r]=n:delete e[r],s?e[t]=o:delete e[t]};function X(e,t,r,n){return e.length<t&&n&&(e.length=t),arguments.length===4?e.splice(t,r,n):e.splice(t,r)}const re=(e,t,r)=>{const[n]=X(e,t,1);X(e,r,0,n)},ne=(e,t,r)=>{X(e,t,0,r)},oe=(e,t)=>{X(e,t,1)},ue=(e,t,r)=>{X(e,t,1,r)},g=(e,t,r)=>{const n=new Set,o=[];for(const[s,i]of Object.entries(t))s.startsWith(e)&&s!==e&&(n.add(s),$(o,s.substring(e.length),i));r(o);for(const s of n)delete t[s];const u=Ie(o);for(const s of u){const i=_(o,s);i!==void 0&&(t[`${e}${s}`]=i)}},Ie=(e,t="")=>Array.isArray(e)?e.flatMap((r,n)=>Ie(r,`${t}[${n}]`)):typeof e=="object"?Object.keys(e).flatMap(r=>Ie(e[r],`${t}.${r}`)):[t],b=()=>{},Br={isHydrated:!1,isSubmitting:!1,hasBeenSubmitted:!1,touchedFields:{},fieldErrors:{},formElement:null,isValid:()=>!0,startSubmit:b,endSubmit:b,setTouched:b,setFieldError:b,setFieldErrors:b,clearFieldError:b,currentDefaultValues:{},reset:()=>b,syncFormProps:b,setFormElement:b,validateField:async()=>null,validate:async()=>{throw new Error("Validate called before form was initialized.")},submit:async()=>{throw new Error("Submit called before form was initialized.")},resetFormElement:b,getValues:()=>new FormData,controlledFields:{values:{},refCounts:{},valueUpdatePromises:{},valueUpdateResolvers:{},register:b,unregister:b,setValue:b,getValue:b,kickoffValueUpdate:b,awaitValueUpdate:async()=>{throw new Error("AwaitValueUpdate called before form was initialized.")},array:{push:b,swap:b,move:b,insert:b,unshift:b,remove:b,pop:b,replace:b}}},qr=(e,t)=>({isHydrated:!1,isSubmitting:!1,hasBeenSubmitted:!1,touchedFields:{},fieldErrors:{},formElement:null,currentDefaultValues:{},isValid:()=>Object.keys(t().fieldErrors).length===0,startSubmit:()=>e(r=>{r.isSubmitting=!0,r.hasBeenSubmitted=!0}),endSubmit:()=>e(r=>{r.isSubmitting=!1}),setTouched:(r,n)=>e(o=>{o.touchedFields[r]=n}),setFieldError:(r,n)=>e(o=>{o.fieldErrors[r]=n}),setFieldErrors:r=>e(n=>{n.fieldErrors=r}),clearFieldError:r=>e(n=>{delete n.fieldErrors[r]}),reset:()=>e(r=>{var o,u;r.fieldErrors={},r.touchedFields={},r.hasBeenSubmitted=!1;const n=(u=(o=r.formProps)==null?void 0:o.defaultValues)!=null?u:{};r.controlledFields.values=n,r.currentDefaultValues=n}),syncFormProps:r=>e(n=>{n.isHydrated||(n.controlledFields.values=r.defaultValues,n.currentDefaultValues=r.defaultValues),n.formProps=r,n.isHydrated=!0}),setFormElement:r=>{t().formElement!==r&&e(n=>{n.formElement=r})},validateField:async r=>{var s,i,a;const n=t().formElement;j(n,"Cannot find reference to form. This is probably a bug in remix-validated-form.");const o=(s=t().formProps)==null?void 0:s.validator;j(o,"Cannot validator. This is probably a bug in remix-validated-form."),await((a=(i=t().controlledFields).awaitValueUpdate)==null?void 0:a.call(i,r));const{error:u}=await o.validateField(new FormData(n),r);return u?(t().setFieldError(r,u),u):(t().clearFieldError(r),null)},validate:async()=>{var u;const r=t().formElement;j(r,"Cannot find reference to form. This is probably a bug in remix-validated-form.");const n=(u=t().formProps)==null?void 0:u.validator;j(n,"Cannot validator. This is probably a bug in remix-validated-form.");const o=await n.validate(new FormData(r));return o.error&&t().setFieldErrors(o.error.fieldErrors),o},submit:()=>{const r=t().formElement;j(r,"Cannot find reference to form. This is probably a bug in remix-validated-form."),Lr(r)},getValues:()=>{var r;return new FormData((r=t().formElement)!=null?r:void 0)},resetFormElement:()=>{var r;return(r=t().formElement)==null?void 0:r.reset()},controlledFields:{values:{},refCounts:{},valueUpdatePromises:{},valueUpdateResolvers:{},register:r=>{e(n=>{var u;const o=(u=n.controlledFields.refCounts[r])!=null?u:0;n.controlledFields.refCounts[r]=o+1})},unregister:r=>{t()===null||t()===void 0||e(n=>{var s,i,a;const o=(s=n.controlledFields.refCounts[r])!=null?s:0;if(o>1){n.controlledFields.refCounts[r]=o-1;return}Object.keys(n.controlledFields.refCounts).some(l=>r.startsWith(l)&&l!==r)||($(n.controlledFields.values,r,_((i=n.formProps)==null?void 0:i.defaultValues,r)),$(n.currentDefaultValues,r,_((a=n.formProps)==null?void 0:a.defaultValues,r))),delete n.controlledFields.refCounts[r]})},getValue:r=>_(t().controlledFields.values,r),setValue:(r,n)=>{e(o=>{$(o.controlledFields.values,r,n)}),t().controlledFields.kickoffValueUpdate(r)},kickoffValueUpdate:r=>{const n=()=>e(o=>{delete o.controlledFields.valueUpdateResolvers[r],delete o.controlledFields.valueUpdatePromises[r]});e(o=>{const u=new Promise(s=>{o.controlledFields.valueUpdateResolvers[r]=s}).then(n);o.controlledFields.valueUpdatePromises[r]=u})},awaitValueUpdate:async r=>{await t().controlledFields.valueUpdatePromises[r]},array:{push:(r,n)=>{e(o=>{E(o.controlledFields.values,r).push(n),E(o.currentDefaultValues,r).push(n)}),t().controlledFields.kickoffValueUpdate(r)},swap:(r,n,o)=>{e(u=>{te(E(u.controlledFields.values,r),n,o),te(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>te(s,n,o)),g(r,u.fieldErrors,s=>te(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)},move:(r,n,o)=>{e(u=>{re(E(u.controlledFields.values,r),n,o),re(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>re(s,n,o)),g(r,u.fieldErrors,s=>re(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)},insert:(r,n,o)=>{e(u=>{ne(E(u.controlledFields.values,r),n,o),ne(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>ne(s,n,!1)),g(r,u.fieldErrors,s=>ne(s,n,void 0))}),t().controlledFields.kickoffValueUpdate(r)},remove:(r,n)=>{e(o=>{oe(E(o.controlledFields.values,r),n),oe(E(o.currentDefaultValues,r),n),g(r,o.touchedFields,u=>oe(u,n)),g(r,o.fieldErrors,u=>oe(u,n))}),t().controlledFields.kickoffValueUpdate(r)},pop:r=>{e(n=>{E(n.controlledFields.values,r).pop(),E(n.currentDefaultValues,r).pop(),g(r,n.touchedFields,o=>o.pop()),g(r,n.fieldErrors,o=>o.pop())}),t().controlledFields.kickoffValueUpdate(r)},unshift:(r,n)=>{e(o=>{E(o.controlledFields.values,r).unshift(n),E(o.currentDefaultValues,r).unshift(n),g(r,o.touchedFields,u=>u.unshift(!1)),g(r,o.fieldErrors,u=>u.unshift(void 0))})},replace:(r,n,o)=>{e(u=>{ue(E(u.controlledFields.values,r),n,o),ue(E(u.currentDefaultValues,r),n,o),g(r,u.touchedFields,s=>ue(s,n,o)),g(r,u.fieldErrors,s=>ue(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)}}}}),De=Ir()(Hr((e,t)=>({forms:{},form:r=>{var n;return(n=t().forms[r])!=null?n:Br},cleanupForm:r=>{e(n=>{delete n.forms[r]})},registerForm:r=>{t().forms[r]||e(n=>{n.forms[r]=qr(o=>e(u=>o(u.forms[r])),()=>t().forms[r])})}}))),d=(e,t)=>De(r=>t(r.form(e))),O=(e,t)=>{const r=p.useContext(ft);if(e)return{formId:e};if(r)return r;throw new Error(`Unable to determine form for ${t}. Please use it inside a ValidatedForm or pass a 'formId'.`)};function $e({fetcher:e,subaction:t,formId:r}){var o;const n=K.useActionData();return e?(o=e.data)!=null&&o.fieldErrors?e.data:null:n!=null&&n.fieldErrors?typeof r=="string"&&n.formId?n.formId===r?n:null:!t&&!n.subaction||n.subaction===t?n:null:null}const Ft=e=>{const t=$e(e),r=d(e.formId,n=>n.isHydrated);return z.from(t==null?void 0:t.fieldErrors,r)},bt=({formId:e})=>{const t=K.useMatches();if(typeof e=="string"){const r=ct(e),n=t.reverse().find(o=>o.data&&r in o.data);return n==null?void 0:n.data[r]}return null},Et=e=>{const{formId:t,defaultValuesProp:r}=e,n=d(t,s=>s.isHydrated),o=$e(e),u=bt(e);return n?z.hydratedData():o!=null&&o.repopulateFields?(j(typeof o.repopulateFields=="object","repopulateFields returned something other than an object"),z.serverData(o.repopulateFields)):r?z.serverData(r):z.serverData(u)},Kr=({fetcher:e})=>{const t=K.useTransition();return e?e.state==="submitting":!!t.submission},Wr=(e,{formId:t})=>{const r=d(t,u=>u.touchedFields[e]),n=d(t,u=>u.setTouched),o=p.useCallback(u=>n(e,u),[e,n]);return[r,o]},gt=(e,t)=>{const r=Ft(t),n=d(t.formId,o=>o.fieldErrors[e]);return r.map(o=>o==null?void 0:o[e]).hydrateTo(n)},St=e=>{const{formId:t}=e;return d(t,r=>r.clearFieldError)},Gr=(e,t)=>d(e,r=>_(r.currentDefaultValues,t)),xe=(e,t)=>{const r=Et(t),n=Gr(t.formId,e);return r.map(o=>_(o,e)).hydrateTo(n)},Vt=e=>d(e,t=>t.isSubmitting),Pt=e=>d(e,t=>t.isValid()),He=e=>d(e,t=>t.hasBeenSubmitted),Le=e=>d(e,t=>t.validateField),Jr=e=>d(e,t=>t.validate),Xr=()=>()=>{},wt=e=>d(e,t=>{var r,n;return(n=(r=t.formProps)==null?void 0:r.registerReceiveFocus)!=null?n:Xr}),Qr={},Zr=e=>d(e,t=>{var r,n;return(n=(r=t.formProps)==null?void 0:r.defaultValues)!=null?n:Qr}),Yr=({formId:e})=>d(e,t=>t.setTouched),Nr=e=>d(e,t=>t.touchedFields),en=e=>d(e,t=>t.fieldErrors),It=e=>d(e,t=>t.setFieldErrors),tn=e=>d(e,t=>t.resetFormElement),rn=e=>d(e,t=>t.submit),nn=e=>d(e,t=>{var r;return(r=t.formProps)==null?void 0:r.action}),on=e=>d(e,t=>{var r;return(r=t.formProps)==null?void 0:r.subaction}),un=e=>d(e,t=>t.getValues),sn=(e,t)=>{const r=d(e.formId,u=>u.controlledFields.getValue(t)),n=d(e.formId,u=>u.isHydrated),o=xe(t,e);return n?r:o},Dt=(e,t)=>{const r=d(e.formId,u=>u.controlledFields.valueUpdateResolvers[t]);p.useEffect(()=>{r==null||r()},[r]);const n=d(e.formId,u=>u.controlledFields.register),o=d(e.formId,u=>u.controlledFields.unregister);p.useEffect(()=>(n(t),()=>o(t)),[e.formId,t,n,o])},ln=(e,t)=>{Dt(e,t);const r=d(e.formId,u=>u.controlledFields.setValue),n=p.useCallback(u=>r(t,u),[t,r]);return[sn(e,t),n]},an=e=>{const t=d(e,r=>r.controlledFields.setValue);return p.useCallback((r,n)=>t(r,n),[t])},Ot=e=>{const t=O(e,"useIsSubmitting");return Vt(t.formId)},Ct=e=>{const t=O(e,"useIsValid");return Pt(t.formId)},cn=(e,t)=>{const{formId:r,handleReceiveFocus:n}=t!=null?t:{},o=O(r,"useField"),u=xe(e,o),[s,i]=Wr(e,o),a=gt(e,o),l=St(o),c=He(o.formId),v=Le(o.formId),h=wt(o.formId);return p.useEffect(()=>{if(n)return h(e,n)},[n,e,h]),p.useMemo(()=>{const F={error:a,clearError:()=>l(e),validate:()=>{v(e)},defaultValue:u,touched:s,setTouched:i},y=tr({...F,name:e,hasBeenSubmitted:c,validationBehavior:t==null?void 0:t.validationBehavior});return{...F,getInputProps:y}},[a,l,u,s,i,e,c,t==null?void 0:t.validationBehavior,v])},fn=(e,t)=>{const r=O(t,"useControlField"),[n,o]=ln(r,e);return[n,o]},dn=e=>{const t=O(e,"useControlField");return an(t.formId)};/**
18
18
  * @remix-run/server-runtime v1.6.5
19
19
  *
20
20
  * Copyright (c) Remix Software Inc.