remix-validated-form 4.6.0-beta.0 → 4.6.1-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/.turbo/turbo-build.log +10 -10
  2. package/browser/ValidatedForm.js +13 -5
  3. package/browser/internal/hooks.d.ts +1 -3
  4. package/browser/internal/logic/requestSubmit.d.ts +5 -0
  5. package/browser/internal/logic/requestSubmit.js +66 -0
  6. package/browser/internal/state/createFormStore.js +2 -1
  7. package/browser/internal/state/fieldArray.d.ts +1 -1
  8. package/browser/internal/state/fieldArray.js +2 -1
  9. package/browser/validation/createValidator.js +3 -1
  10. package/dist/remix-validated-form.cjs.js +4 -4
  11. package/dist/remix-validated-form.cjs.js.map +1 -1
  12. package/dist/remix-validated-form.es.js +796 -1734
  13. package/dist/remix-validated-form.es.js.map +1 -1
  14. package/dist/remix-validated-form.umd.js +4 -4
  15. package/dist/remix-validated-form.umd.js.map +1 -1
  16. package/dist/types/internal/flatten.d.ts +1 -1
  17. package/dist/types/internal/logic/requestSubmit.d.ts +5 -0
  18. package/dist/types/internal/state/fieldArray.d.ts +1 -1
  19. package/package.json +6 -4
  20. package/src/ValidatedForm.tsx +22 -8
  21. package/src/internal/flatten.ts +4 -3
  22. package/src/internal/getInputProps.ts +2 -2
  23. package/src/internal/hooks.ts +3 -3
  24. package/src/internal/logic/requestSubmit.test.tsx +24 -0
  25. package/src/internal/logic/requestSubmit.ts +103 -0
  26. package/src/internal/state/arrayUtil.ts +5 -6
  27. package/src/internal/state/createFormStore.ts +9 -10
  28. package/src/internal/state/fieldArray.tsx +1 -1
  29. package/src/internal/util.ts +2 -2
  30. package/src/validation/createValidator.ts +5 -1
  31. package/src/validation/validation.test.ts +26 -0
  32. package/stats.html +4044 -0
@@ -1,17 +1,17 @@
1
1
  $ vite build
2
2
  vite v2.9.5 building for production...
3
3
  transforming...
4
- ✓ 483 modules transformed.
4
+ ✓ 562 modules transformed.
5
5
  rendering chunks...
6
- dist/remix-validated-form.cjs.js  49.71 KiB / gzip: 18.12 KiB
7
- dist/remix-validated-form.cjs.js.map 281.88 KiB
8
- dist/remix-validated-form.es.js  109.95 KiB / gzip: 25.38 KiB
9
- dist/remix-validated-form.es.js.map 290.49 KiB
10
- dist/remix-validated-form.umd.js  49.91 KiB / gzip: 18.22 KiB
11
- dist/remix-validated-form.umd.js.map 281.85 KiB
6
+ dist/remix-validated-form.cjs.js  56.46 KiB / gzip: 20.96 KiB
7
+ dist/remix-validated-form.cjs.js.map 351.84 KiB
8
+ dist/remix-validated-form.es.js  129.94 KiB / gzip: 30.15 KiB
9
+ dist/remix-validated-form.es.js.map 345.86 KiB
10
+ No name was provided for external module 'react' in output.globals – guessing 'React'
11
+ No name was provided for external module '@remix-run/react' in output.globals – guessing 'react'
12
+ dist/remix-validated-form.umd.js  56.65 KiB / gzip: 21.04 KiB
13
+ dist/remix-validated-form.umd.js.map 351.78 KiB
12
14
  
13
15
  [vite:dts] Start generate declaration files...
14
- [vite:dts] Declaration files built in 2756ms.
16
+ [vite:dts] Declaration files built in 2937ms.
15
17
  
16
- No name was provided for external module 'react' in output.globals – guessing 'React'
17
- No name was provided for external module '@remix-run/react' in output.globals – guessing 'react'
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Form as RemixForm, useSubmit } from "@remix-run/react";
2
+ import { Form as RemixForm, useSubmit, } from "@remix-run/react";
3
3
  import uniq from "lodash/uniq";
4
4
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
5
5
  import { useIsSubmitting, useIsValid } from "./hooks";
@@ -163,22 +163,27 @@ export function ValidatedForm({ validator, onSubmit, children, fetcher, action,
163
163
  });
164
164
  const handleSubmit = async (e, target, nativeEvent) => {
165
165
  startSubmit();
166
- const result = await validator.validate(getDataFromForm(e.currentTarget));
166
+ const submitter = nativeEvent.submitter;
167
+ const formDataToValidate = getDataFromForm(e.currentTarget);
168
+ if (submitter === null || submitter === void 0 ? void 0 : submitter.name) {
169
+ formDataToValidate.append(submitter.name, submitter.value);
170
+ }
171
+ const result = await validator.validate(formDataToValidate);
167
172
  if (result.error) {
168
- endSubmit();
169
173
  setFieldErrors(result.error.fieldErrors);
174
+ endSubmit();
170
175
  if (!disableFocusOnError) {
171
176
  focusFirstInvalidInput(result.error.fieldErrors, customFocusHandlers(), formRef.current);
172
177
  }
173
178
  }
174
179
  else {
180
+ setFieldErrors({});
175
181
  const eventProxy = formEventProxy(e);
176
182
  await (onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(result.data, eventProxy));
177
183
  if (eventProxy.defaultPrevented) {
178
184
  endSubmit();
179
185
  return;
180
186
  }
181
- const submitter = nativeEvent.submitter;
182
187
  // We deviate from the remix code here a bit because of our async submit.
183
188
  // In remix's `FormImpl`, they use `event.currentTarget` to get the form,
184
189
  // but we already have the form in `formRef.current` so we can just use that.
@@ -187,7 +192,10 @@ export function ValidatedForm({ validator, onSubmit, children, fetcher, action,
187
192
  if (fetcher)
188
193
  fetcher.submit(submitter || e.currentTarget);
189
194
  else
190
- submit(submitter || target, { replace });
195
+ submit(submitter || target, {
196
+ replace,
197
+ method: (submitter === null || submitter === void 0 ? void 0 : submitter.formMethod) || method,
198
+ });
191
199
  }
192
200
  };
193
201
  return (_jsx(Form, { ref: mergeRefs([formRef, formRefProp]), ...rest, id: id, action: action, method: method, replace: replace, onSubmit: (e) => {
@@ -21,9 +21,7 @@ export declare const useInternalHasBeenSubmitted: (formId: InternalFormId) => bo
21
21
  export declare const useValidateField: (formId: InternalFormId) => (fieldName: string) => Promise<string | null>;
22
22
  export declare const useValidate: (formId: InternalFormId) => () => Promise<import("..").ValidationResult<unknown>>;
23
23
  export declare const useRegisterReceiveFocus: (formId: InternalFormId) => (fieldName: string, handler: () => void) => () => void;
24
- export declare const useSyncedDefaultValues: (formId: InternalFormId) => {
25
- [fieldName: string]: any;
26
- };
24
+ export declare const useSyncedDefaultValues: (formId: InternalFormId) => {};
27
25
  export declare const useSetTouched: ({ formId }: InternalFormContextValue) => (field: string, touched: boolean) => void;
28
26
  export declare const useTouchedFields: (formId: InternalFormId) => import("..").TouchedFields;
29
27
  export declare const useFieldErrors: (formId: InternalFormId) => FieldErrors;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Ponyfill of the HTMLFormElement.requestSubmit() method.
3
+ * Based on polyfill from: https://github.com/javan/form-request-submit-polyfill/blob/main/form-request-submit-polyfill.js
4
+ */
5
+ export declare const requestSubmit: (element: HTMLFormElement, submitter?: HTMLElement | undefined) => void;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Ponyfill of the HTMLFormElement.requestSubmit() method.
3
+ * Based on polyfill from: https://github.com/javan/form-request-submit-polyfill/blob/main/form-request-submit-polyfill.js
4
+ */
5
+ export const requestSubmit = (element, submitter) => {
6
+ // In vitest, let's test the polyfill.
7
+ // Cypress will test the native implementation by nature of using chrome.
8
+ if (typeof Object.getPrototypeOf(element).requestSubmit === "function" &&
9
+ !import.meta.vitest) {
10
+ element.requestSubmit(submitter);
11
+ return;
12
+ }
13
+ if (submitter) {
14
+ validateSubmitter(element, submitter);
15
+ submitter.click();
16
+ return;
17
+ }
18
+ const dummySubmitter = document.createElement("input");
19
+ dummySubmitter.type = "submit";
20
+ dummySubmitter.hidden = true;
21
+ element.appendChild(dummySubmitter);
22
+ dummySubmitter.click();
23
+ element.removeChild(dummySubmitter);
24
+ };
25
+ function validateSubmitter(element, submitter) {
26
+ // Should be redundant, but here for completeness
27
+ const isHtmlElement = submitter instanceof HTMLElement;
28
+ if (!isHtmlElement) {
29
+ raise(TypeError, "parameter 1 is not of type 'HTMLElement'");
30
+ }
31
+ const hasSubmitType = "type" in submitter && submitter.type === "submit";
32
+ if (!hasSubmitType)
33
+ raise(TypeError, "The specified element is not a submit button");
34
+ const isForCorrectForm = "form" in submitter && submitter.form === element;
35
+ if (!isForCorrectForm)
36
+ raise(DOMException, "The specified element is not owned by this form element", "NotFoundError");
37
+ }
38
+ function raise(errorConstructor, message, name) {
39
+ throw new errorConstructor("Failed to execute 'requestSubmit' on 'HTMLFormElement': " + message + ".", name);
40
+ }
41
+ if (import.meta.vitest) {
42
+ const { it, expect } = import.meta.vitest;
43
+ it("should validate the submitter", () => {
44
+ const form = document.createElement("form");
45
+ document.body.appendChild(form);
46
+ const submitter = document.createElement("input");
47
+ expect(() => validateSubmitter(null, null)).toThrow();
48
+ expect(() => validateSubmitter(form, null)).toThrow();
49
+ expect(() => validateSubmitter(form, submitter)).toThrow();
50
+ expect(() => validateSubmitter(form, document.createElement("div"))).toThrow();
51
+ submitter.type = "submit";
52
+ expect(() => validateSubmitter(form, submitter)).toThrow();
53
+ form.appendChild(submitter);
54
+ expect(() => validateSubmitter(form, submitter)).not.toThrow();
55
+ form.removeChild(submitter);
56
+ expect(() => validateSubmitter(form, submitter)).toThrow();
57
+ document.body.appendChild(submitter);
58
+ form.id = "test-form";
59
+ submitter.setAttribute("form", "test-form");
60
+ expect(() => validateSubmitter(form, submitter)).not.toThrow();
61
+ const button = document.createElement("button");
62
+ button.type = "submit";
63
+ form.appendChild(button);
64
+ expect(() => validateSubmitter(form, button)).not.toThrow();
65
+ });
66
+ }
@@ -3,6 +3,7 @@ import lodashSet from "lodash/set";
3
3
  import invariant from "tiny-invariant";
4
4
  import create from "zustand";
5
5
  import { immer } from "zustand/middleware/immer";
6
+ import { requestSubmit } from "../logic/requestSubmit";
6
7
  import * as arrayUtil from "./arrayUtil";
7
8
  const noOp = () => { };
8
9
  const defaultFormState = {
@@ -145,7 +146,7 @@ const createFormState = (set, get) => ({
145
146
  submit: () => {
146
147
  const formElement = get().formElement;
147
148
  invariant(formElement, "Cannot find reference to form. This is probably a bug in remix-validated-form.");
148
- formElement.requestSubmit();
149
+ requestSubmit(formElement);
149
150
  },
150
151
  getValues: () => { var _a; return new FormData((_a = get().formElement) !== null && _a !== void 0 ? _a : undefined); },
151
152
  resetFormElement: () => { var _a; return (_a = get().formElement) === null || _a === void 0 ? void 0 : _a.reset(); },
@@ -25,4 +25,4 @@ export declare type FieldArrayProps = {
25
25
  formId?: string;
26
26
  validationBehavior?: FieldArrayValidationBehaviorOptions;
27
27
  };
28
- export declare const FieldArray: ({ name, children, formId, validationBehavior, }: FieldArrayProps) => React.ReactNode;
28
+ export declare const FieldArray: ({ name, children, formId, validationBehavior, }: FieldArrayProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
1
2
  import { useMemo } from "react";
2
3
  import { useCallback } from "react";
3
4
  import invariant from "tiny-invariant";
@@ -69,5 +70,5 @@ export function useFieldArray(name, { formId, validationBehavior } = {}) {
69
70
  export const FieldArray = ({ name, children, formId, validationBehavior, }) => {
70
71
  const context = useInternalFormContext(formId, "FieldArray");
71
72
  const [value, helpers, error] = useInternalFieldArray(context, name, validationBehavior);
72
- return children(value, helpers, error);
73
+ return _jsx(_Fragment, { children: children(value, helpers, error) }, void 0);
73
74
  };
@@ -1,3 +1,4 @@
1
+ import omit from "lodash/omit";
1
2
  import { FORM_ID_FIELD } from "../internal/constants";
2
3
  import { objectFromPathEntries } from "../internal/flatten";
3
4
  const preprocessFormData = (data) => {
@@ -7,6 +8,7 @@ const preprocessFormData = (data) => {
7
8
  return objectFromPathEntries([...data.entries()]);
8
9
  return objectFromPathEntries(Object.entries(data));
9
10
  };
11
+ const omitInternalFields = (data) => omit(data, FORM_ID_FIELD);
10
12
  /**
11
13
  * Used to create a validator for a form.
12
14
  * It provides built-in handling for unflattening nested objects and
@@ -16,7 +18,7 @@ export function createValidator(validator) {
16
18
  return {
17
19
  validate: async (value) => {
18
20
  const data = preprocessFormData(value);
19
- const result = await validator.validate(data);
21
+ const result = await validator.validate(omitInternalFields(data));
20
22
  if (result.error) {
21
23
  return {
22
24
  data: undefined,
@@ -1,4 +1,4 @@
1
- "use strict";var Kn=Object.defineProperty,Hn=Object.defineProperties;var Bn=Object.getOwnPropertyDescriptors;var pe=Object.getOwnPropertySymbols;var Kr=Object.prototype.hasOwnProperty,Hr=Object.prototype.propertyIsEnumerable;var Gr=(e,r,t)=>r in e?Kn(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,T=(e,r)=>{for(var t in r||(r={}))Kr.call(r,t)&&Gr(e,t,r[t]);if(pe)for(var t of pe(r))Hr.call(r,t)&&Gr(e,t,r[t]);return e},G=(e,r)=>Hn(e,Bn(r));var Br=(e,r)=>{var t={};for(var n in e)Kr.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&pe)for(var n of pe(e))r.indexOf(n)<0&&Hr.call(e,n)&&(t[n]=e[n]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var g=require("react"),ne=require("@remix-run/react");function qn(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var x=qn(g),ye=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function zn(){this.__data__=[],this.size=0}var kn=zn;function Wn(e,r){return e===r||e!==e&&r!==r}var ur=Wn,Nn=ur;function Xn(e,r){for(var t=e.length;t--;)if(Nn(e[t][0],r))return t;return-1}var Oe=Xn,Jn=Oe,Yn=Array.prototype,Zn=Yn.splice;function Qn(e){var r=this.__data__,t=Jn(r,e);if(t<0)return!1;var n=r.length-1;return t==n?r.pop():Zn.call(r,t,1),--this.size,!0}var ea=Qn,ra=Oe;function ta(e){var r=this.__data__,t=ra(r,e);return t<0?void 0:r[t][1]}var na=ta,aa=Oe;function oa(e){return aa(this.__data__,e)>-1}var sa=oa,ia=Oe;function ua(e,r){var t=this.__data__,n=ia(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this}var la=ua,ca=kn,fa=ea,da=na,va=sa,ha=la;function N(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}N.prototype.clear=ca;N.prototype.delete=fa;N.prototype.get=da;N.prototype.has=va;N.prototype.set=ha;var Te=N,pa=Te;function ya(){this.__data__=new pa,this.size=0}var ga=ya;function ma(e){var r=this.__data__,t=r.delete(e);return this.size=r.size,t}var ba=ma;function $a(e){return this.__data__.get(e)}var _a=$a;function Fa(e){return this.__data__.has(e)}var Sa=Fa,Pa=typeof ye=="object"&&ye&&ye.Object===Object&&ye,Mt=Pa,Ea=Mt,Aa=typeof self=="object"&&self&&self.Object===Object&&self,Ia=Ea||Aa||Function("return this")(),R=Ia,wa=R,Oa=wa.Symbol,Ce=Oa,qr=Ce,Vt=Object.prototype,Ta=Vt.hasOwnProperty,Ca=Vt.toString,ee=qr?qr.toStringTag:void 0;function Da(e){var r=Ta.call(e,ee),t=e[ee];try{e[ee]=void 0;var n=!0}catch{}var a=Ca.call(e);return n&&(r?e[ee]=t:delete e[ee]),a}var Ma=Da,Va=Object.prototype,xa=Va.toString;function Ra(e){return xa.call(e)}var ja=Ra,zr=Ce,La=Ma,Ua=ja,Ga="[object Null]",Ka="[object Undefined]",kr=zr?zr.toStringTag:void 0;function Ha(e){return e==null?e===void 0?Ka:Ga:kr&&kr in Object(e)?La(e):Ua(e)}var ie=Ha;function Ba(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}var ue=Ba,qa=ie,za=ue,ka="[object AsyncFunction]",Wa="[object Function]",Na="[object GeneratorFunction]",Xa="[object Proxy]";function Ja(e){if(!za(e))return!1;var r=qa(e);return r==Wa||r==Na||r==ka||r==Xa}var xt=Ja,Ya=R,Za=Ya["__core-js_shared__"],Qa=Za,Le=Qa,Wr=function(){var e=/[^.]+$/.exec(Le&&Le.keys&&Le.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function eo(e){return!!Wr&&Wr in e}var ro=eo,to=Function.prototype,no=to.toString;function ao(e){if(e!=null){try{return no.call(e)}catch{}try{return e+""}catch{}}return""}var Rt=ao,oo=xt,so=ro,io=ue,uo=Rt,lo=/[\\^$.*+?()[\]{}|]/g,co=/^\[object .+?Constructor\]$/,fo=Function.prototype,vo=Object.prototype,ho=fo.toString,po=vo.hasOwnProperty,yo=RegExp("^"+ho.call(po).replace(lo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function go(e){if(!io(e)||so(e))return!1;var r=oo(e)?yo:co;return r.test(uo(e))}var mo=go;function bo(e,r){return e==null?void 0:e[r]}var $o=bo,_o=mo,Fo=$o;function So(e,r){var t=Fo(e,r);return _o(t)?t:void 0}var q=So,Po=q,Eo=R,Ao=Po(Eo,"Map"),lr=Ao,Io=q,wo=Io(Object,"create"),De=wo,Nr=De;function Oo(){this.__data__=Nr?Nr(null):{},this.size=0}var To=Oo;function Co(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}var Do=Co,Mo=De,Vo="__lodash_hash_undefined__",xo=Object.prototype,Ro=xo.hasOwnProperty;function jo(e){var r=this.__data__;if(Mo){var t=r[e];return t===Vo?void 0:t}return Ro.call(r,e)?r[e]:void 0}var Lo=jo,Uo=De,Go=Object.prototype,Ko=Go.hasOwnProperty;function Ho(e){var r=this.__data__;return Uo?r[e]!==void 0:Ko.call(r,e)}var Bo=Ho,qo=De,zo="__lodash_hash_undefined__";function ko(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=qo&&r===void 0?zo:r,this}var Wo=ko,No=To,Xo=Do,Jo=Lo,Yo=Bo,Zo=Wo;function X(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}X.prototype.clear=No;X.prototype.delete=Xo;X.prototype.get=Jo;X.prototype.has=Yo;X.prototype.set=Zo;var Qo=X,Xr=Qo,es=Te,rs=lr;function ts(){this.size=0,this.__data__={hash:new Xr,map:new(rs||es),string:new Xr}}var ns=ts;function as(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}var os=as,ss=os;function is(e,r){var t=e.__data__;return ss(r)?t[typeof r=="string"?"string":"hash"]:t.map}var Me=is,us=Me;function ls(e){var r=us(this,e).delete(e);return this.size-=r?1:0,r}var cs=ls,fs=Me;function ds(e){return fs(this,e).get(e)}var vs=ds,hs=Me;function ps(e){return hs(this,e).has(e)}var ys=ps,gs=Me;function ms(e,r){var t=gs(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this}var bs=ms,$s=ns,_s=cs,Fs=vs,Ss=ys,Ps=bs;function J(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}J.prototype.clear=$s;J.prototype.delete=_s;J.prototype.get=Fs;J.prototype.has=Ss;J.prototype.set=Ps;var cr=J,Es=Te,As=lr,Is=cr,ws=200;function Os(e,r){var t=this.__data__;if(t instanceof Es){var n=t.__data__;if(!As||n.length<ws-1)return n.push([e,r]),this.size=++t.size,this;t=this.__data__=new Is(n)}return t.set(e,r),this.size=t.size,this}var Ts=Os,Cs=Te,Ds=ga,Ms=ba,Vs=_a,xs=Sa,Rs=Ts;function Y(e){var r=this.__data__=new Cs(e);this.size=r.size}Y.prototype.clear=Ds;Y.prototype.delete=Ms;Y.prototype.get=Vs;Y.prototype.has=xs;Y.prototype.set=Rs;var jt=Y,js="__lodash_hash_undefined__";function Ls(e){return this.__data__.set(e,js),this}var Us=Ls;function Gs(e){return this.__data__.has(e)}var Ks=Gs,Hs=cr,Bs=Us,qs=Ks;function Pe(e){var r=-1,t=e==null?0:e.length;for(this.__data__=new Hs;++r<t;)this.add(e[r])}Pe.prototype.add=Pe.prototype.push=Bs;Pe.prototype.has=qs;var Lt=Pe;function zs(e,r){for(var t=-1,n=e==null?0:e.length;++t<n;)if(r(e[t],t,e))return!0;return!1}var ks=zs;function Ws(e,r){return e.has(r)}var Ut=Ws,Ns=Lt,Xs=ks,Js=Ut,Ys=1,Zs=2;function Qs(e,r,t,n,a,o){var s=t&Ys,i=e.length,l=r.length;if(i!=l&&!(s&&l>i))return!1;var u=o.get(e),c=o.get(r);if(u&&c)return u==r&&c==e;var v=-1,d=!0,f=t&Zs?new Ns:void 0;for(o.set(e,r),o.set(r,e);++v<i;){var h=e[v],m=r[v];if(n)var E=s?n(m,h,v,r,e,o):n(h,m,v,e,r,o);if(E!==void 0){if(E)continue;d=!1;break}if(f){if(!Xs(r,function($,F){if(!Js(f,F)&&(h===$||a(h,$,t,n,o)))return f.push(F)})){d=!1;break}}else if(!(h===m||a(h,m,t,n,o))){d=!1;break}}return o.delete(e),o.delete(r),d}var Gt=Qs,ei=R,ri=ei.Uint8Array,ti=ri;function ni(e){var r=-1,t=Array(e.size);return e.forEach(function(n,a){t[++r]=[a,n]}),t}var ai=ni;function oi(e){var r=-1,t=Array(e.size);return e.forEach(function(n){t[++r]=n}),t}var fr=oi,Jr=Ce,Yr=ti,si=ur,ii=Gt,ui=ai,li=fr,ci=1,fi=2,di="[object Boolean]",vi="[object Date]",hi="[object Error]",pi="[object Map]",yi="[object Number]",gi="[object RegExp]",mi="[object Set]",bi="[object String]",$i="[object Symbol]",_i="[object ArrayBuffer]",Fi="[object DataView]",Zr=Jr?Jr.prototype:void 0,Ue=Zr?Zr.valueOf:void 0;function Si(e,r,t,n,a,o,s){switch(t){case Fi:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case _i:return!(e.byteLength!=r.byteLength||!o(new Yr(e),new Yr(r)));case di:case vi:case yi:return si(+e,+r);case hi:return e.name==r.name&&e.message==r.message;case gi:case bi:return e==r+"";case pi:var i=ui;case mi:var l=n&ci;if(i||(i=li),e.size!=r.size&&!l)return!1;var u=s.get(e);if(u)return u==r;n|=fi,s.set(e,r);var c=ii(i(e),i(r),n,a,o,s);return s.delete(e),c;case $i:if(Ue)return Ue.call(e)==Ue.call(r)}return!1}var Pi=Si;function Ei(e,r){for(var t=-1,n=r.length,a=e.length;++t<n;)e[a+t]=r[t];return e}var Kt=Ei,Ai=Array.isArray,U=Ai,Ii=Kt,wi=U;function Oi(e,r,t){var n=r(e);return wi(e)?n:Ii(n,t(e))}var Ht=Oi;function Ti(e,r){for(var t=-1,n=e==null?0:e.length,a=0,o=[];++t<n;){var s=e[t];r(s,t,e)&&(o[a++]=s)}return o}var Ci=Ti;function Di(){return[]}var Bt=Di,Mi=Ci,Vi=Bt,xi=Object.prototype,Ri=xi.propertyIsEnumerable,Qr=Object.getOwnPropertySymbols,ji=Qr?function(e){return e==null?[]:(e=Object(e),Mi(Qr(e),function(r){return Ri.call(e,r)}))}:Vi,qt=ji;function Li(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n}var Ui=Li;function Gi(e){return e!=null&&typeof e=="object"}var le=Gi,Ki=ie,Hi=le,Bi="[object Arguments]";function qi(e){return Hi(e)&&Ki(e)==Bi}var zi=qi,et=zi,ki=le,zt=Object.prototype,Wi=zt.hasOwnProperty,Ni=zt.propertyIsEnumerable,Xi=et(function(){return arguments}())?et:function(e){return ki(e)&&Wi.call(e,"callee")&&!Ni.call(e,"callee")},kt=Xi,Ee={exports:{}};function Ji(){return!1}var Yi=Ji;(function(e,r){var t=R,n=Yi,a=r&&!r.nodeType&&r,o=a&&!0&&e&&!e.nodeType&&e,s=o&&o.exports===a,i=s?t.Buffer:void 0,l=i?i.isBuffer:void 0,u=l||n;e.exports=u})(Ee,Ee.exports);var Zi=9007199254740991,Qi=/^(?:0|[1-9]\d*)$/;function eu(e,r){var t=typeof e;return r=r==null?Zi:r,!!r&&(t=="number"||t!="symbol"&&Qi.test(e))&&e>-1&&e%1==0&&e<r}var dr=eu,ru=9007199254740991;function tu(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ru}var vr=tu,nu=ie,au=vr,ou=le,su="[object Arguments]",iu="[object Array]",uu="[object Boolean]",lu="[object Date]",cu="[object Error]",fu="[object Function]",du="[object Map]",vu="[object Number]",hu="[object Object]",pu="[object RegExp]",yu="[object Set]",gu="[object String]",mu="[object WeakMap]",bu="[object ArrayBuffer]",$u="[object DataView]",_u="[object Float32Array]",Fu="[object Float64Array]",Su="[object Int8Array]",Pu="[object Int16Array]",Eu="[object Int32Array]",Au="[object Uint8Array]",Iu="[object Uint8ClampedArray]",wu="[object Uint16Array]",Ou="[object Uint32Array]",b={};b[_u]=b[Fu]=b[Su]=b[Pu]=b[Eu]=b[Au]=b[Iu]=b[wu]=b[Ou]=!0;b[su]=b[iu]=b[bu]=b[uu]=b[$u]=b[lu]=b[cu]=b[fu]=b[du]=b[vu]=b[hu]=b[pu]=b[yu]=b[gu]=b[mu]=!1;function Tu(e){return ou(e)&&au(e.length)&&!!b[nu(e)]}var Cu=Tu;function Du(e){return function(r){return e(r)}}var Mu=Du,Xe={exports:{}};(function(e,r){var t=Mt,n=r&&!r.nodeType&&r,a=n&&!0&&e&&!e.nodeType&&e,o=a&&a.exports===n,s=o&&t.process,i=function(){try{var l=a&&a.require&&a.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();e.exports=i})(Xe,Xe.exports);var Vu=Cu,xu=Mu,rt=Xe.exports,tt=rt&&rt.isTypedArray,Ru=tt?xu(tt):Vu,Wt=Ru,ju=Ui,Lu=kt,Uu=U,Gu=Ee.exports,Ku=dr,Hu=Wt,Bu=Object.prototype,qu=Bu.hasOwnProperty;function zu(e,r){var t=Uu(e),n=!t&&Lu(e),a=!t&&!n&&Gu(e),o=!t&&!n&&!a&&Hu(e),s=t||n||a||o,i=s?ju(e.length,String):[],l=i.length;for(var u in e)(r||qu.call(e,u))&&!(s&&(u=="length"||a&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Ku(u,l)))&&i.push(u);return i}var Nt=zu,ku=Object.prototype;function Wu(e){var r=e&&e.constructor,t=typeof r=="function"&&r.prototype||ku;return e===t}var Xt=Wu;function Nu(e,r){return function(t){return e(r(t))}}var Jt=Nu,Xu=Jt,Ju=Xu(Object.keys,Object),Yu=Ju,Zu=Xt,Qu=Yu,el=Object.prototype,rl=el.hasOwnProperty;function tl(e){if(!Zu(e))return Qu(e);var r=[];for(var t in Object(e))rl.call(e,t)&&t!="constructor"&&r.push(t);return r}var nl=tl,al=xt,ol=vr;function sl(e){return e!=null&&ol(e.length)&&!al(e)}var Yt=sl,il=Nt,ul=nl,ll=Yt;function cl(e){return ll(e)?il(e):ul(e)}var Zt=cl,fl=Ht,dl=qt,vl=Zt;function hl(e){return fl(e,vl,dl)}var pl=hl,nt=pl,yl=1,gl=Object.prototype,ml=gl.hasOwnProperty;function bl(e,r,t,n,a,o){var s=t&yl,i=nt(e),l=i.length,u=nt(r),c=u.length;if(l!=c&&!s)return!1;for(var v=l;v--;){var d=i[v];if(!(s?d in r:ml.call(r,d)))return!1}var f=o.get(e),h=o.get(r);if(f&&h)return f==r&&h==e;var m=!0;o.set(e,r),o.set(r,e);for(var E=s;++v<l;){d=i[v];var $=e[d],F=r[d];if(n)var O=s?n(F,$,d,r,e,o):n($,F,d,e,r,o);if(!(O===void 0?$===F||a($,F,t,n,o):O)){m=!1;break}E||(E=d=="constructor")}if(m&&!E){var A=e.constructor,D=r.constructor;A!=D&&"constructor"in e&&"constructor"in r&&!(typeof A=="function"&&A instanceof A&&typeof D=="function"&&D instanceof D)&&(m=!1)}return o.delete(e),o.delete(r),m}var $l=bl,_l=q,Fl=R,Sl=_l(Fl,"DataView"),Pl=Sl,El=q,Al=R,Il=El(Al,"Promise"),wl=Il,Ol=q,Tl=R,Cl=Ol(Tl,"Set"),Qt=Cl,Dl=q,Ml=R,Vl=Dl(Ml,"WeakMap"),xl=Vl,Je=Pl,Ye=lr,Ze=wl,Qe=Qt,er=xl,en=ie,Z=Rt,at="[object Map]",Rl="[object Object]",ot="[object Promise]",st="[object Set]",it="[object WeakMap]",ut="[object DataView]",jl=Z(Je),Ll=Z(Ye),Ul=Z(Ze),Gl=Z(Qe),Kl=Z(er),K=en;(Je&&K(new Je(new ArrayBuffer(1)))!=ut||Ye&&K(new Ye)!=at||Ze&&K(Ze.resolve())!=ot||Qe&&K(new Qe)!=st||er&&K(new er)!=it)&&(K=function(e){var r=en(e),t=r==Rl?e.constructor:void 0,n=t?Z(t):"";if(n)switch(n){case jl:return ut;case Ll:return at;case Ul:return ot;case Gl:return st;case Kl:return it}return r});var Hl=K,Ge=jt,Bl=Gt,ql=Pi,zl=$l,lt=Hl,ct=U,ft=Ee.exports,kl=Wt,Wl=1,dt="[object Arguments]",vt="[object Array]",ge="[object Object]",Nl=Object.prototype,ht=Nl.hasOwnProperty;function Xl(e,r,t,n,a,o){var s=ct(e),i=ct(r),l=s?vt:lt(e),u=i?vt:lt(r);l=l==dt?ge:l,u=u==dt?ge:u;var c=l==ge,v=u==ge,d=l==u;if(d&&ft(e)){if(!ft(r))return!1;s=!0,c=!1}if(d&&!c)return o||(o=new Ge),s||kl(e)?Bl(e,r,t,n,a,o):ql(e,r,l,t,n,a,o);if(!(t&Wl)){var f=c&&ht.call(e,"__wrapped__"),h=v&&ht.call(r,"__wrapped__");if(f||h){var m=f?e.value():e,E=h?r.value():r;return o||(o=new Ge),a(m,E,t,n,o)}}return d?(o||(o=new Ge),zl(e,r,t,n,a,o)):!1}var Jl=Xl,Yl=Jl,pt=le;function rn(e,r,t,n,a){return e===r?!0:e==null||r==null||!pt(e)&&!pt(r)?e!==e&&r!==r:Yl(e,r,t,n,rn,a)}var hr=rn,Zl=jt,Ql=hr,ec=1,rc=2;function tc(e,r,t,n){var a=t.length,o=a,s=!n;if(e==null)return!o;for(e=Object(e);a--;){var i=t[a];if(s&&i[2]?i[1]!==e[i[0]]:!(i[0]in e))return!1}for(;++a<o;){i=t[a];var l=i[0],u=e[l],c=i[1];if(s&&i[2]){if(u===void 0&&!(l in e))return!1}else{var v=new Zl;if(n)var d=n(u,c,l,e,r,v);if(!(d===void 0?Ql(c,u,ec|rc,n,v):d))return!1}}return!0}var nc=tc,ac=ue;function oc(e){return e===e&&!ac(e)}var tn=oc,sc=tn,ic=Zt;function uc(e){for(var r=ic(e),t=r.length;t--;){var n=r[t],a=e[n];r[t]=[n,a,sc(a)]}return r}var lc=uc;function cc(e,r){return function(t){return t==null?!1:t[e]===r&&(r!==void 0||e in Object(t))}}var nn=cc,fc=nc,dc=lc,vc=nn;function hc(e){var r=dc(e);return r.length==1&&r[0][2]?vc(r[0][0],r[0][1]):function(t){return t===e||fc(t,e,r)}}var pc=hc,yc=ie,gc=le,mc="[object Symbol]";function bc(e){return typeof e=="symbol"||gc(e)&&yc(e)==mc}var pr=bc,$c=U,_c=pr,Fc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sc=/^\w*$/;function Pc(e,r){if($c(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||_c(e)?!0:Sc.test(e)||!Fc.test(e)||r!=null&&e in Object(r)}var yr=Pc,an=cr,Ec="Expected a function";function gr(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new TypeError(Ec);var t=function(){var n=arguments,a=r?r.apply(this,n):n[0],o=t.cache;if(o.has(a))return o.get(a);var s=e.apply(this,n);return t.cache=o.set(a,s)||o,s};return t.cache=new(gr.Cache||an),t}gr.Cache=an;var Ac=gr,Ic=Ac,wc=500;function Oc(e){var r=Ic(e,function(n){return t.size===wc&&t.clear(),n}),t=r.cache;return r}var Tc=Oc,Cc=Tc,Dc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mc=/\\(\\)?/g,Vc=Cc(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(Dc,function(t,n,a,o){r.push(a?o.replace(Mc,"$1"):n||t)}),r}),xc=Vc;function Rc(e,r){for(var t=-1,n=e==null?0:e.length,a=Array(n);++t<n;)a[t]=r(e[t],t,e);return a}var on=Rc,yt=Ce,jc=on,Lc=U,Uc=pr,Gc=1/0,gt=yt?yt.prototype:void 0,mt=gt?gt.toString:void 0;function sn(e){if(typeof e=="string")return e;if(Lc(e))return jc(e,sn)+"";if(Uc(e))return mt?mt.call(e):"";var r=e+"";return r=="0"&&1/e==-Gc?"-0":r}var Kc=sn,Hc=Kc;function Bc(e){return e==null?"":Hc(e)}var qc=Bc,zc=U,kc=yr,Wc=xc,Nc=qc;function Xc(e,r){return zc(e)?e:kc(e,r)?[e]:Wc(Nc(e))}var Ve=Xc,Jc=pr,Yc=1/0;function Zc(e){if(typeof e=="string"||Jc(e))return e;var r=e+"";return r=="0"&&1/e==-Yc?"-0":r}var ce=Zc,Qc=Ve,ef=ce;function rf(e,r){r=Qc(r,e);for(var t=0,n=r.length;e!=null&&t<n;)e=e[ef(r[t++])];return t&&t==n?e:void 0}var mr=rf,tf=mr;function nf(e,r,t){var n=e==null?void 0:tf(e,r);return n===void 0?t:n}var L=nf;function af(e,r){return e!=null&&r in Object(e)}var of=af,sf=Ve,uf=kt,lf=U,cf=dr,ff=vr,df=ce;function vf(e,r,t){r=sf(r,e);for(var n=-1,a=r.length,o=!1;++n<a;){var s=df(r[n]);if(!(o=e!=null&&t(e,s)))break;e=e[s]}return o||++n!=a?o:(a=e==null?0:e.length,!!a&&ff(a)&&cf(s,a)&&(lf(e)||uf(e)))}var hf=vf,pf=of,yf=hf;function gf(e,r){return e!=null&&yf(e,r,pf)}var mf=gf,bf=hr,$f=L,_f=mf,Ff=yr,Sf=tn,Pf=nn,Ef=ce,Af=1,If=2;function wf(e,r){return Ff(e)&&Sf(r)?Pf(Ef(e),r):function(t){var n=$f(t,e);return n===void 0&&n===r?_f(t,e):bf(r,n,Af|If)}}var Of=wf;function Tf(e){return e}var Cf=Tf;function Df(e){return function(r){return r==null?void 0:r[e]}}var Mf=Df,Vf=mr;function xf(e){return function(r){return Vf(r,e)}}var Rf=xf,jf=Mf,Lf=Rf,Uf=yr,Gf=ce;function Kf(e){return Uf(e)?jf(Gf(e)):Lf(e)}var Hf=Kf,Bf=pc,qf=Of,zf=Cf,kf=U,Wf=Hf;function Nf(e){return typeof e=="function"?e:e==null?zf:typeof e=="object"?kf(e)?qf(e[0],e[1]):Bf(e):Wf(e)}var un=Nf,Xf="Expected a function";function Jf(e){if(typeof e!="function")throw new TypeError(Xf);return function(){var r=arguments;switch(r.length){case 0:return!e.call(this);case 1:return!e.call(this,r[0]);case 2:return!e.call(this,r[0],r[1]);case 3:return!e.call(this,r[0],r[1],r[2])}return!e.apply(this,r)}}var Yf=Jf,Zf=q,Qf=function(){try{var e=Zf(Object,"defineProperty");return e({},"",{}),e}catch{}}(),ed=Qf,bt=ed;function rd(e,r,t){r=="__proto__"&&bt?bt(e,r,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[r]=t}var td=rd,nd=td,ad=ur,od=Object.prototype,sd=od.hasOwnProperty;function id(e,r,t){var n=e[r];(!(sd.call(e,r)&&ad(n,t))||t===void 0&&!(r in e))&&nd(e,r,t)}var ud=id,ld=ud,cd=Ve,fd=dr,$t=ue,dd=ce;function vd(e,r,t,n){if(!$t(e))return e;r=cd(r,e);for(var a=-1,o=r.length,s=o-1,i=e;i!=null&&++a<o;){var l=dd(r[a]),u=t;if(l==="__proto__"||l==="constructor"||l==="prototype")return e;if(a!=s){var c=i[l];u=n?n(c,l,i):void 0,u===void 0&&(u=$t(c)?c:fd(r[a+1])?[]:{})}ld(i,l,u),i=i[l]}return e}var ln=vd,hd=mr,pd=ln,yd=Ve;function gd(e,r,t){for(var n=-1,a=r.length,o={};++n<a;){var s=r[n],i=hd(e,s);t(i,s)&&pd(o,yd(s,e),i)}return o}var md=gd,bd=Jt,$d=bd(Object.getPrototypeOf,Object),_d=$d,Fd=Kt,Sd=_d,Pd=qt,Ed=Bt,Ad=Object.getOwnPropertySymbols,Id=Ad?function(e){for(var r=[];e;)Fd(r,Pd(e)),e=Sd(e);return r}:Ed,wd=Id;function Od(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}var Td=Od,Cd=ue,Dd=Xt,Md=Td,Vd=Object.prototype,xd=Vd.hasOwnProperty;function Rd(e){if(!Cd(e))return Md(e);var r=Dd(e),t=[];for(var n in e)n=="constructor"&&(r||!xd.call(e,n))||t.push(n);return t}var jd=Rd,Ld=Nt,Ud=jd,Gd=Yt;function Kd(e){return Gd(e)?Ld(e,!0):Ud(e)}var Hd=Kd,Bd=Ht,qd=wd,zd=Hd;function kd(e){return Bd(e,zd,qd)}var Wd=kd,Nd=on,Xd=un,Jd=md,Yd=Wd;function Zd(e,r){if(e==null)return{};var t=Nd(Yd(e),function(n){return[n]});return r=Xd(r),Jd(e,t,function(n,a){return r(n,a[0])})}var Qd=Zd,ev=un,rv=Yf,tv=Qd;function nv(e,r){return tv(e,rv(ev(r)))}var av=nv;const ov=(e="on",r)=>{if(Array.isArray(r))return r.some(t=>t===!0||t===e);if(typeof r=="boolean")return r;if(typeof r=="string")return r===e},sv=(e="on",r)=>{if(typeof r=="string")return r===e},iv={initial:"onBlur",whenTouched:"onChange",whenSubmitted:"onChange"},uv=({clearError:e,validate:r,defaultValue:t,touched:n,setTouched:a,hasBeenSubmitted:o,validationBehavior:s,name:i})=>{const l=T(T({},iv),s);return(u={})=>{const c=o?l.whenSubmitted:n?l.whenTouched:l.initial,v=G(T({},u),{onChange:(...d)=>{var f;return c==="onChange"?r():e(),(f=u==null?void 0:u.onChange)==null?void 0:f.call(u,...d)},onBlur:(...d)=>{var f;return c==="onBlur"&&r(),a(!0),(f=u==null?void 0:u.onBlur)==null?void 0:f.call(u,...d)},name:i});return u.type==="checkbox"?v.defaultChecked=ov(u.value,t):u.type==="radio"?v.defaultChecked=sv(u.value,t):u.value===void 0&&(v.defaultValue=t),av(v,d=>d===void 0)}};var lv=!0,Ke="Invariant failed";function j(e,r){if(!e){if(lv)throw new Error(Ke);var t=typeof r=="function"?r():r,n=t?Ke+": "+t:Ke;throw new Error(n)}}const Se="__rvfInternalFormId",cv="__rvfInternalFormDefaults",cn=e=>`${cv}_${e}`,fn=g.createContext(null),br=e=>({hydrateTo:()=>e,map:r=>br(r(e))}),$r=()=>({hydrateTo:e=>e,map:()=>$r()}),fv=(e,r)=>r?$r():br(e),re={serverData:br,hydratedData:$r,from:fv};var dv=ln;function vv(e,r,t){return e==null?e:dv(e,r,t)}var z=vv;const _t=e=>{let r;const t=new Set,n=(l,u)=>{const c=typeof l=="function"?l(r):l;if(c!==r){const v=r;r=u?c:Object.assign({},r,c),t.forEach(d=>d(r,v))}},a=()=>r,i={setState:n,getState:a,subscribe:l=>(t.add(l),()=>t.delete(l)),destroy:()=>t.clear()};return r=e(n,a,i),i},hv=e=>e?_t(e):_t;var dn={exports:{}},vn={},hn={exports:{}},pn={};/**
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var p=require("react"),W=require("@remix-run/react");function Lt(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var P=Lt(p),zt=globalThis&&globalThis.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,u;n<o;n++)(u||!(n in t))&&(u||(u=Array.prototype.slice.call(t,0,n)),u[n]=t[n]);return e.concat(u||Array.prototype.slice.call(t))};function H(e,t,r){var n=e.length-t.length,o=Array.from(t);if(n===0)return e.apply(void 0,o);if(n===1){var u=function(s){return e.apply(void 0,zt([s],o,!1))};return(r||e.lazy)&&(u.lazy=r||e.lazy,u.lazyArgs=t),u}throw new Error("Wrong number of arguments")}function Bt(e,t,r){return e.reduce(function(n,o,u){var s=r?t(o,u,e):t(o);return s.hasMany===!0?n.push.apply(n,s.next):s.hasNext===!0&&n.push(s.next),n},[])}var Ze=Array.isArray,Ye=Object.keys,qt=Object.prototype.hasOwnProperty;function Ee(){return H(Kt,arguments)}function Kt(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var r=Ze(e),n=Ze(t),o=void 0,u=void 0,s=void 0;if(r&&n){if(u=e.length,u!==t.length)return!1;for(o=u;o--!==0;)if(!Ee(e[o],t[o]))return!1;return!0}if(r!==n)return!1;var i=e instanceof Date,a=t instanceof Date;if(i!==a)return!1;if(i&&a)return e.getTime()===t.getTime();var l=e instanceof RegExp,c=t instanceof RegExp;if(l!==c)return!1;if(l&&c)return e.toString()===t.toString();var v=Ye(e);if(u=v.length,u!==Ye(t).length)return!1;for(o=u;o--!==0;)if(!qt.call(t,v[o]))return!1;for(o=u;o--!==0;)if(s=v[o],!Ee(e[s],t[s]))return!1;return!0}return e!==e&&t!==t}function Wt(){return H(Gt,arguments)}function Gt(e,t){var r=new Set(t);return Object.entries(e).reduce(function(n,o){var u=o[0],s=o[1];return r.has(u)||(n[u]=s),n},{})}function Jt(){return H(Xt,arguments)}function Xt(e,t){return Object.keys(e).reduce(function(r,n){return t(e[n],n)||(r[n]=e[n]),r},{})}function Qt(){return H(Zt,arguments)}function Zt(e,t,r){for(var n=e,o=0,u=t;o<u.length;o++){var s=u[o];if(n==null||n[s]==null)return r;n=n[s]}return n}var se=globalThis&&globalThis.__assign||function(){return se=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},se.apply(this,arguments)};function Yt(){return H(Nt,arguments)}function Nt(e,t,r){var n;return se(se({},e),(n={},n[t]=r,n))}function G(){return H(er,arguments,G.lazy)}function er(e){return Bt(e,G.lazy())}(function(e){function t(){var r=new Set;return function(n){return r.has(n)?{done:!1,hasNext:!1}:(r.add(n),{done:!1,hasNext:!0,next:n})}}e.lazy=t})(G||(G={}));const tr=(e="on",t)=>{if(Array.isArray(t))return t.some(r=>r===!0||r===e);if(typeof t=="boolean")return t;if(typeof t=="string")return t===e},rr=(e="on",t)=>{if(typeof t=="string")return t===e},nr={initial:"onBlur",whenTouched:"onChange",whenSubmitted:"onChange"},or=({clearError:e,validate:t,defaultValue:r,touched:n,setTouched:o,hasBeenSubmitted:u,validationBehavior:s,name:i})=>{const a={...nr,...s};return(l={})=>{const c=u?a.whenSubmitted:n?a.whenTouched:a.initial,v={...l,onChange:(...h)=>{var f;return c==="onChange"?t():e(),(f=l==null?void 0:l.onChange)==null?void 0:f.call(l,...h)},onBlur:(...h)=>{var f;return c==="onBlur"&&t(),o(!0),(f=l==null?void 0:l.onBlur)==null?void 0:f.call(l,...h)},name:i};return l.type==="checkbox"?v.defaultChecked=tr(l.value,r):l.type==="radio"?v.defaultChecked=rr(l.value,r):l.value===void 0&&(v.defaultValue=r),Jt(v,h=>h===void 0)}},Ce=e=>{if(e.length===0)return[];const t=e.match(/^\[(.+?)\](.*)$/)||e.match(/^\.?([^\.\[\]]+)(.*)$/);if(t){const[r,n,o]=t;return[/^\d+$/.test(n)?Number(n):n,...Ce(o)]}return[e]};function q(e,t,r){return ur(e,Ce(t),r)}function ur(e,t,r){var s;const n=t.slice(0,-1),o=t[t.length-1];let u=e;for(let i=0;i<n.length;i++){const a=n[i];if(u[a]===void 0){const l=(s=n[i+1])!=null?s:o;u[a]=typeof l=="number"?[]:{}}u=u[a]}return u[o]=r,e}const M=(e,t)=>Qt(e,Ce(t),void 0);var sr=!0,me="Invariant failed";function j(e,t){if(!e){if(sr)throw new Error(me);var r=typeof t=="function"?t():t,n=r?me+": "+r:me;throw new Error(n)}}const K="__rvfInternalFormId",ir="__rvfInternalFormDefaults",ft=e=>`${ir}_${e}`,dt=p.createContext(null),Ae=e=>({hydrateTo:()=>e,map:t=>Ae(t(e))}),Te=()=>({hydrateTo:e=>e,map:()=>Te()}),lr=(e,t)=>t?Te():Ae(e),z={serverData:Ae,hydratedData:Te,from:lr},Ne=e=>{let t;const r=new Set,n=(a,l)=>{const c=typeof a=="function"?a(t):a;if(c!==t){const v=t;t=l?c:Object.assign({},t,c),r.forEach(h=>h(t,v))}},o=()=>t,i={setState:n,getState:o,subscribe:a=>(r.add(a),()=>r.delete(a)),destroy:()=>r.clear()};return t=e(n,o,i),i},ar=e=>e?Ne(e):Ne;var mt={exports:{}},vt={},ht={exports:{}},pt={};/**
2
2
  * @license React
3
3
  * use-sync-external-store-shim.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var k=x.default;function pv(e,r){return e===r&&(e!==0||1/e===1/r)||e!==e&&r!==r}var yv=typeof Object.is=="function"?Object.is:pv,gv=k.useState,mv=k.useEffect,bv=k.useLayoutEffect,$v=k.useDebugValue;function _v(e,r){var t=r(),n=gv({inst:{value:t,getSnapshot:r}}),a=n[0].inst,o=n[1];return bv(function(){a.value=t,a.getSnapshot=r,He(a)&&o({inst:a})},[e,t,r]),mv(function(){return He(a)&&o({inst:a}),e(function(){He(a)&&o({inst:a})})},[e]),$v(t),t}function He(e){var r=e.getSnapshot;e=e.value;try{var t=r();return!yv(e,t)}catch{return!0}}function Fv(e,r){return r()}var Sv=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?Fv:_v;pn.useSyncExternalStore=k.useSyncExternalStore!==void 0?k.useSyncExternalStore:Sv;hn.exports=pn;/**
9
+ */var $=P.default;function cr(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var fr=typeof Object.is=="function"?Object.is:cr,dr=$.useState,mr=$.useEffect,vr=$.useLayoutEffect,hr=$.useDebugValue;function pr(e,t){var r=t(),n=dr({inst:{value:r,getSnapshot:t}}),o=n[0].inst,u=n[1];return vr(function(){o.value=r,o.getSnapshot=t,ve(o)&&u({inst:o})},[e,r,t]),mr(function(){return ve(o)&&u({inst:o}),e(function(){ve(o)&&u({inst:o})})},[e]),hr(r),r}function ve(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!fr(e,r)}catch{return!0}}function yr(e,t){return t()}var Fr=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?yr:pr;pt.useSyncExternalStore=$.useSyncExternalStore!==void 0?$.useSyncExternalStore:Fr;ht.exports=pt;/**
10
10
  * @license React
11
11
  * use-sync-external-store-shim/with-selector.production.min.js
12
12
  *
@@ -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 xe=x.default,Pv=hn.exports;function Ev(e,r){return e===r&&(e!==0||1/e===1/r)||e!==e&&r!==r}var Av=typeof Object.is=="function"?Object.is:Ev,Iv=Pv.useSyncExternalStore,wv=xe.useRef,Ov=xe.useEffect,Tv=xe.useMemo,Cv=xe.useDebugValue;vn.useSyncExternalStoreWithSelector=function(e,r,t,n,a){var o=wv(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Tv(function(){function l(f){if(!u){if(u=!0,c=f,f=n(f),a!==void 0&&s.hasValue){var h=s.value;if(a(h,f))return v=h}return v=f}if(h=v,Av(c,f))return h;var m=n(f);return a!==void 0&&a(h,m)?h:(c=f,v=m)}var u=!1,c,v,d=t===void 0?null:t;return[function(){return l(r())},d===null?void 0:function(){return l(d())}]},[r,t,n,a]);var i=Iv(e,o[0],o[1]);return Ov(function(){s.hasValue=!0,s.value=i},[i]),Cv(i),i};dn.exports=vn;function Dv(e,r=e.getState,t){const n=dn.exports.useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,r,t);return g.useDebugValue(n),n}const Ft=e=>{const r=typeof e=="function"?hv(e):e,t=(n,a)=>Dv(r,n,a);return Object.assign(t,r),t},Mv=e=>e?Ft(e):Ft;var Vv=Mv;function C(e){for(var r=arguments.length,t=Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+e+(t.length?" "+t.map(function(a){return"'"+a+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function W(e){return!!e&&!!e[I]}function B(e){return!!e&&(function(r){if(!r||typeof r!="object")return!1;var t=Object.getPrototypeOf(r);if(t===null)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===Hv}(e)||Array.isArray(e)||!!e[Tt]||!!e.constructor[Tt]||_r(e)||Fr(e))}function ae(e,r,t){t===void 0&&(t=!1),Q(e)===0?(t?Object.keys:Ir)(e).forEach(function(n){t&&typeof n=="symbol"||r(n,e[n],e)}):e.forEach(function(n,a){return r(a,n,e)})}function Q(e){var r=e[I];return r?r.i>3?r.i-4:r.i:Array.isArray(e)?1:_r(e)?2:Fr(e)?3:0}function rr(e,r){return Q(e)===2?e.has(r):Object.prototype.hasOwnProperty.call(e,r)}function xv(e,r){return Q(e)===2?e.get(r):e[r]}function yn(e,r,t){var n=Q(e);n===2?e.set(r,t):n===3?(e.delete(r),e.add(t)):e[r]=t}function Rv(e,r){return e===r?e!==0||1/e==1/r:e!=e&&r!=r}function _r(e){return Gv&&e instanceof Map}function Fr(e){return Kv&&e instanceof Set}function H(e){return e.o||e.t}function Sr(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var r=Bv(e);delete r[I];for(var t=Ir(r),n=0;n<t.length;n++){var a=t[n],o=r[a];o.writable===!1&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[a]={configurable:!0,writable:!0,enumerable:o.enumerable,value:e[a]})}return Object.create(Object.getPrototypeOf(e),r)}function Pr(e,r){return r===void 0&&(r=!1),Er(e)||W(e)||!B(e)||(Q(e)>1&&(e.set=e.add=e.clear=e.delete=jv),Object.freeze(e),r&&ae(e,function(t,n){return Pr(n,!0)},!0)),e}function jv(){C(2)}function Er(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function M(e){var r=qv[e];return r||C(18,e),r}function St(){return oe}function Be(e,r){r&&(M("Patches"),e.u=[],e.s=[],e.v=r)}function Ae(e){tr(e),e.p.forEach(Lv),e.p=null}function tr(e){e===oe&&(oe=e.l)}function Pt(e){return oe={p:[],l:oe,h:e,m:!0,_:0}}function Lv(e){var r=e[I];r.i===0||r.i===1?r.j():r.O=!0}function qe(e,r){r._=r.p.length;var t=r.p[0],n=e!==void 0&&e!==t;return r.h.g||M("ES5").S(r,e,n),n?(t[I].P&&(Ae(r),C(4)),B(e)&&(e=Ie(r,e),r.l||we(r,e)),r.u&&M("Patches").M(t[I].t,e,r.u,r.s)):e=Ie(r,t,[]),Ae(r),r.u&&r.v(r.u,r.s),e!==gn?e:void 0}function Ie(e,r,t){if(Er(r))return r;var n=r[I];if(!n)return ae(r,function(o,s){return Et(e,n,r,o,s,t)},!0),r;if(n.A!==e)return r;if(!n.P)return we(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var a=n.i===4||n.i===5?n.o=Sr(n.k):n.o;ae(n.i===3?new Set(a):a,function(o,s){return Et(e,n,a,o,s,t)}),we(e,a,!1),t&&e.u&&M("Patches").R(n,t,e.u,e.s)}return n.o}function Et(e,r,t,n,a,o){if(W(a)){var s=Ie(e,a,o&&r&&r.i!==3&&!rr(r.D,n)?o.concat(n):void 0);if(yn(t,n,s),!W(s))return;e.m=!1}if(B(a)&&!Er(a)){if(!e.h.F&&e._<1)return;Ie(e,a),r&&r.A.l||we(e,a)}}function we(e,r,t){t===void 0&&(t=!1),e.h.F&&e.m&&Pr(r,t)}function ze(e,r){var t=e[I];return(t?H(t):e)[r]}function At(e,r){if(r in e)for(var t=Object.getPrototypeOf(e);t;){var n=Object.getOwnPropertyDescriptor(t,r);if(n)return n;t=Object.getPrototypeOf(t)}}function nr(e){e.P||(e.P=!0,e.l&&nr(e.l))}function ke(e){e.o||(e.o=Sr(e.t))}function ar(e,r,t){var n=_r(r)?M("MapSet").N(r,t):Fr(r)?M("MapSet").T(r,t):e.g?function(a,o){var s=Array.isArray(a),i={i:s?1:0,A:o?o.A:St(),P:!1,I:!1,D:{},l:o,t:a,k:null,o:null,j:null,C:!1},l=i,u=or;s&&(l=[i],u=te);var c=Proxy.revocable(l,u),v=c.revoke,d=c.proxy;return i.k=d,i.j=v,d}(r,t):M("ES5").J(r,t);return(t?t.A:St()).p.push(n),n}function Uv(e){return W(e)||C(22,e),function r(t){if(!B(t))return t;var n,a=t[I],o=Q(t);if(a){if(!a.P&&(a.i<4||!M("ES5").K(a)))return a.t;a.I=!0,n=It(t,o),a.I=!1}else n=It(t,o);return ae(n,function(s,i){a&&xv(a.t,s)===i||yn(n,s,r(i))}),o===3?new Set(n):n}(e)}function It(e,r){switch(r){case 2:return new Map(e);case 3:return Array.from(e)}return Sr(e)}var wt,oe,Ar=typeof Symbol!="undefined"&&typeof Symbol("x")=="symbol",Gv=typeof Map!="undefined",Kv=typeof Set!="undefined",Ot=typeof Proxy!="undefined"&&Proxy.revocable!==void 0&&typeof Reflect!="undefined",gn=Ar?Symbol.for("immer-nothing"):((wt={})["immer-nothing"]=!0,wt),Tt=Ar?Symbol.for("immer-draftable"):"__$immer_draftable",I=Ar?Symbol.for("immer-state"):"__$immer_state",Hv=""+Object.prototype.constructor,Ir=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Bv=Object.getOwnPropertyDescriptors||function(e){var r={};return Ir(e).forEach(function(t){r[t]=Object.getOwnPropertyDescriptor(e,t)}),r},qv={},or={get:function(e,r){if(r===I)return e;var t=H(e);if(!rr(t,r))return function(a,o,s){var i,l=At(o,s);return l?"value"in l?l.value:(i=l.get)===null||i===void 0?void 0:i.call(a.k):void 0}(e,t,r);var n=t[r];return e.I||!B(n)?n:n===ze(e.t,r)?(ke(e),e.o[r]=ar(e.A.h,n,e)):n},has:function(e,r){return r in H(e)},ownKeys:function(e){return Reflect.ownKeys(H(e))},set:function(e,r,t){var n=At(H(e),r);if(n!=null&&n.set)return n.set.call(e.k,t),!0;if(!e.P){var a=ze(H(e),r),o=a==null?void 0:a[I];if(o&&o.t===t)return e.o[r]=t,e.D[r]=!1,!0;if(Rv(t,a)&&(t!==void 0||rr(e.t,r)))return!0;ke(e),nr(e)}return e.o[r]===t&&typeof t!="number"&&(t!==void 0||r in e.o)||(e.o[r]=t,e.D[r]=!0,!0)},deleteProperty:function(e,r){return ze(e.t,r)!==void 0||r in e.t?(e.D[r]=!1,ke(e),nr(e)):delete e.D[r],e.o&&delete e.o[r],!0},getOwnPropertyDescriptor:function(e,r){var t=H(e),n=Reflect.getOwnPropertyDescriptor(t,r);return n&&{writable:!0,configurable:e.i!==1||r!=="length",enumerable:n.enumerable,value:t[r]}},defineProperty:function(){C(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){C(12)}},te={};ae(or,function(e,r){te[e]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}}),te.deleteProperty=function(e,r){return te.set.call(this,e,r,void 0)},te.set=function(e,r,t){return or.set.call(this,e[0],r,t,e[0])};var zv=function(){function e(t){var n=this;this.g=Ot,this.F=!0,this.produce=function(a,o,s){if(typeof a=="function"&&typeof o!="function"){var i=o;o=a;var l=n;return function(m){var E=this;m===void 0&&(m=i);for(var $=arguments.length,F=Array($>1?$-1:0),O=1;O<$;O++)F[O-1]=arguments[O];return l.produce(m,function(A){var D;return(D=o).call.apply(D,[E,A].concat(F))})}}var u;if(typeof o!="function"&&C(6),s!==void 0&&typeof s!="function"&&C(7),B(a)){var c=Pt(n),v=ar(n,a,void 0),d=!0;try{u=o(v),d=!1}finally{d?Ae(c):tr(c)}return typeof Promise!="undefined"&&u instanceof Promise?u.then(function(m){return Be(c,s),qe(m,c)},function(m){throw Ae(c),m}):(Be(c,s),qe(u,c))}if(!a||typeof a!="object"){if((u=o(a))===void 0&&(u=a),u===gn&&(u=void 0),n.F&&Pr(u,!0),s){var f=[],h=[];M("Patches").M(a,u,f,h),s(f,h)}return u}C(21,a)},this.produceWithPatches=function(a,o){if(typeof a=="function")return function(u){for(var c=arguments.length,v=Array(c>1?c-1:0),d=1;d<c;d++)v[d-1]=arguments[d];return n.produceWithPatches(u,function(f){return a.apply(void 0,[f].concat(v))})};var s,i,l=n.produce(a,o,function(u,c){s=u,i=c});return typeof Promise!="undefined"&&l instanceof Promise?l.then(function(u){return[u,s,i]}):[l,s,i]},typeof(t==null?void 0:t.useProxies)=="boolean"&&this.setUseProxies(t.useProxies),typeof(t==null?void 0:t.autoFreeze)=="boolean"&&this.setAutoFreeze(t.autoFreeze)}var r=e.prototype;return r.createDraft=function(t){B(t)||C(8),W(t)&&(t=Uv(t));var n=Pt(this),a=ar(this,t,void 0);return a[I].C=!0,tr(n),a},r.finishDraft=function(t,n){var a=t&&t[I],o=a.A;return Be(o,n),qe(void 0,o)},r.setAutoFreeze=function(t){this.F=t},r.setUseProxies=function(t){t&&!Ot&&C(20),this.g=t},r.applyPatches=function(t,n){var a;for(a=n.length-1;a>=0;a--){var o=n[a];if(o.path.length===0&&o.op==="replace"){t=o.value;break}}a>-1&&(n=n.slice(a+1));var s=M("Patches").$;return W(t)?s(t,n):this.produce(t,function(i){return s(i,n)})},e}(),w=new zv,kv=w.produce;w.produceWithPatches.bind(w);w.setAutoFreeze.bind(w);w.setUseProxies.bind(w);w.applyPatches.bind(w);w.createDraft.bind(w);w.finishDraft.bind(w);const Wv=e=>(r,t,n)=>(n.setState=(a,o,...s)=>{const i=typeof a=="function"?kv(a):a;return r(i,o,...s)},e(n.setState,t,n)),Nv=Wv,S=(e,r)=>{const t=L(e,r);if(t==null){const n=[];return z(e,r,n),n}return j(Array.isArray(t),`FieldArray: defaultValue value for ${r} must be an array, null, or undefined`),t},me=(e,r,t)=>{const n=e[r],a=e[t],o=r in e,s=t in e;o?e[t]=n:delete e[t],s?e[r]=a:delete e[r]};function se(e,r,t,n){return e.length<r&&n&&(e.length=r),arguments.length===4?e.splice(r,t,n):e.splice(r,t)}const be=(e,r,t)=>{const[n]=se(e,r,1);se(e,t,0,n)},$e=(e,r,t)=>{se(e,r,0,t)},_e=(e,r)=>{se(e,r,1)},Fe=(e,r,t)=>{se(e,r,1,t)},P=(e,r,t)=>{const n=new Set,a=[];for(const[s,i]of Object.entries(r))s.startsWith(e)&&s!==e&&n.add(s),z(a,s.substring(e.length),i);t(a);for(const s of n)delete r[s];const o=sr(a);for(const s of o){const i=L(a,s);r[`${e}${s}`]=i}},sr=(e,r="")=>Array.isArray(e)?e.flatMap((t,n)=>sr(t,`${r}[${n}]`)):typeof e=="object"?Object.keys(e).flatMap(t=>sr(e[t],`${r}.${t}`)):[r],_=()=>{},Xv={isHydrated:!1,isSubmitting:!1,hasBeenSubmitted:!1,touchedFields:{},fieldErrors:{},formElement:null,isValid:()=>!0,startSubmit:_,endSubmit:_,setTouched:_,setFieldError:_,setFieldErrors:_,clearFieldError:_,currentDefaultValues:{},reset:()=>_,syncFormProps:_,setFormElement:_,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:_,getValues:()=>new FormData,controlledFields:{values:{},refCounts:{},valueUpdatePromises:{},valueUpdateResolvers:{},register:_,unregister:_,setValue:_,getValue:_,kickoffValueUpdate:_,awaitValueUpdate:async()=>{throw new Error("AwaitValueUpdate called before form was initialized.")},array:{push:_,swap:_,move:_,insert:_,unshift:_,remove:_,pop:_,replace:_}}},Jv=(e,r)=>({isHydrated:!1,isSubmitting:!1,hasBeenSubmitted:!1,touchedFields:{},fieldErrors:{},formElement:null,currentDefaultValues:{},isValid:()=>Object.keys(r().fieldErrors).length===0,startSubmit:()=>e(t=>{t.isSubmitting=!0,t.hasBeenSubmitted=!0}),endSubmit:()=>e(t=>{t.isSubmitting=!1}),setTouched:(t,n)=>e(a=>{a.touchedFields[t]=n}),setFieldError:(t,n)=>e(a=>{a.fieldErrors[t]=n}),setFieldErrors:t=>e(n=>{n.fieldErrors=t}),clearFieldError:t=>e(n=>{delete n.fieldErrors[t]}),reset:()=>e(t=>{var a,o;t.fieldErrors={},t.touchedFields={},t.hasBeenSubmitted=!1;const n=(o=(a=t.formProps)==null?void 0:a.defaultValues)!=null?o:{};t.controlledFields.values=n,t.currentDefaultValues=n}),syncFormProps:t=>e(n=>{n.isHydrated||(n.controlledFields.values=t.defaultValues,n.currentDefaultValues=t.defaultValues),n.formProps=t,n.isHydrated=!0}),setFormElement:t=>{r().formElement!==t&&e(n=>{n.formElement=t})},validateField:async t=>{var s,i,l;const n=r().formElement;j(n,"Cannot find reference to form. This is probably a bug in remix-validated-form.");const a=(s=r().formProps)==null?void 0:s.validator;j(a,"Cannot validator. This is probably a bug in remix-validated-form."),await((l=(i=r().controlledFields).awaitValueUpdate)==null?void 0:l.call(i,t));const{error:o}=await a.validateField(new FormData(n),t);return o?(r().setFieldError(t,o),o):(r().clearFieldError(t),null)},validate:async()=>{var o;const t=r().formElement;j(t,"Cannot find reference to form. This is probably a bug in remix-validated-form.");const n=(o=r().formProps)==null?void 0:o.validator;j(n,"Cannot validator. This is probably a bug in remix-validated-form.");const a=await n.validate(new FormData(t));return a.error&&r().setFieldErrors(a.error.fieldErrors),a},submit:()=>{const t=r().formElement;j(t,"Cannot find reference to form. This is probably a bug in remix-validated-form."),t.requestSubmit()},getValues:()=>{var t;return new FormData((t=r().formElement)!=null?t:void 0)},resetFormElement:()=>{var t;return(t=r().formElement)==null?void 0:t.reset()},controlledFields:{values:{},refCounts:{},valueUpdatePromises:{},valueUpdateResolvers:{},register:t=>{e(n=>{var o;const a=(o=n.controlledFields.refCounts[t])!=null?o:0;n.controlledFields.refCounts[t]=a+1})},unregister:t=>{r()===null||r()===void 0||e(n=>{var s,i,l;const a=(s=n.controlledFields.refCounts[t])!=null?s:0;if(a>1){n.controlledFields.refCounts[t]=a-1;return}Object.keys(n.controlledFields.refCounts).some(u=>t.startsWith(u)&&u!==t)||(z(n.controlledFields.values,t,L((i=n.formProps)==null?void 0:i.defaultValues,t)),z(n.currentDefaultValues,t,L((l=n.formProps)==null?void 0:l.defaultValues,t))),delete n.controlledFields.refCounts[t]})},getValue:t=>L(r().controlledFields.values,t),setValue:(t,n)=>{e(a=>{z(a.controlledFields.values,t,n)}),r().controlledFields.kickoffValueUpdate(t)},kickoffValueUpdate:t=>{const n=()=>e(a=>{delete a.controlledFields.valueUpdateResolvers[t],delete a.controlledFields.valueUpdatePromises[t]});e(a=>{const o=new Promise(s=>{a.controlledFields.valueUpdateResolvers[t]=s}).then(n);a.controlledFields.valueUpdatePromises[t]=o})},awaitValueUpdate:async t=>{await r().controlledFields.valueUpdatePromises[t]},array:{push:(t,n)=>{e(a=>{S(a.controlledFields.values,t).push(n),S(a.currentDefaultValues,t).push(n)}),r().controlledFields.kickoffValueUpdate(t)},swap:(t,n,a)=>{e(o=>{me(S(o.controlledFields.values,t),n,a),me(S(o.currentDefaultValues,t),n,a),P(t,o.touchedFields,s=>me(s,n,a)),P(t,o.fieldErrors,s=>me(s,n,a))}),r().controlledFields.kickoffValueUpdate(t)},move:(t,n,a)=>{e(o=>{be(S(o.controlledFields.values,t),n,a),be(S(o.currentDefaultValues,t),n,a),P(t,o.touchedFields,s=>be(s,n,a)),P(t,o.fieldErrors,s=>be(s,n,a))}),r().controlledFields.kickoffValueUpdate(t)},insert:(t,n,a)=>{e(o=>{$e(S(o.controlledFields.values,t),n,a),$e(S(o.currentDefaultValues,t),n,a),P(t,o.touchedFields,s=>$e(s,n,!1)),P(t,o.fieldErrors,s=>$e(s,n,void 0))}),r().controlledFields.kickoffValueUpdate(t)},remove:(t,n)=>{e(a=>{_e(S(a.controlledFields.values,t),n),_e(S(a.currentDefaultValues,t),n),P(t,a.touchedFields,o=>_e(o,n)),P(t,a.fieldErrors,o=>_e(o,n))}),r().controlledFields.kickoffValueUpdate(t)},pop:t=>{e(n=>{S(n.controlledFields.values,t).pop(),S(n.currentDefaultValues,t).pop(),P(t,n.touchedFields,a=>a.pop()),P(t,n.fieldErrors,a=>a.pop())}),r().controlledFields.kickoffValueUpdate(t)},unshift:(t,n)=>{e(a=>{S(a.controlledFields.values,t).unshift(n),S(a.currentDefaultValues,t).unshift(n),P(t,a.touchedFields,o=>o.unshift(!1)),P(t,a.fieldErrors,o=>o.unshift(void 0))})},replace:(t,n,a)=>{e(o=>{Fe(S(o.controlledFields.values,t),n,a),Fe(S(o.currentDefaultValues,t),n,a),P(t,o.touchedFields,s=>Fe(s,n,a)),P(t,o.fieldErrors,s=>Fe(s,n,a))}),r().controlledFields.kickoffValueUpdate(t)}}}}),ir=Vv()(Nv((e,r)=>({forms:{},form:t=>{var n;return(n=r().forms[t])!=null?n:Xv},cleanupForm:t=>{e(n=>{delete n.forms[t]})},registerForm:t=>{r().forms[t]||e(n=>{n.forms[t]=Jv(a=>e(o=>a(o.forms[t])),()=>r().forms[t])})}}))),p=(e,r)=>ir(t=>r(t.form(e))),V=(e,r)=>{const t=g.useContext(fn);if(e)return{formId:e};if(t)return t;throw new Error(`Unable to determine form for ${r}. Please use it inside a ValidatedForm or pass a 'formId'.`)};function wr({fetcher:e,subaction:r,formId:t}){var a;const n=ne.useActionData();return e?(a=e.data)!=null&&a.fieldErrors?e.data:null:n!=null&&n.fieldErrors?typeof t=="string"&&n.formId?n.formId===t?n:null:!r&&!n.subaction||n.subaction===r?n:null:null}const mn=e=>{const r=wr(e),t=p(e.formId,n=>n.isHydrated);return re.from(r==null?void 0:r.fieldErrors,t)},bn=({formId:e})=>{const r=ne.useMatches();if(typeof e=="string"){const t=cn(e),n=r.reverse().find(a=>a.data&&t in a.data);return n==null?void 0:n.data[t]}return null},$n=e=>{const{formId:r,defaultValuesProp:t}=e,n=p(r,s=>s.isHydrated),a=wr(e),o=bn(e);return n?re.hydratedData():a!=null&&a.repopulateFields?(j(typeof a.repopulateFields=="object","repopulateFields returned something other than an object"),re.serverData(a.repopulateFields)):t?re.serverData(t):re.serverData(o)},Yv=({fetcher:e})=>{const r=ne.useTransition();return e?e.state==="submitting":!!r.submission},Zv=(e,{formId:r})=>{const t=p(r,o=>o.touchedFields[e]),n=p(r,o=>o.setTouched),a=g.useCallback(o=>n(e,o),[e,n]);return[t,a]},_n=(e,r)=>{const t=mn(r),n=p(r.formId,a=>a.fieldErrors[e]);return t.map(a=>a==null?void 0:a[e]).hydrateTo(n)},Fn=e=>{const{formId:r}=e;return p(r,t=>t.clearFieldError)},Qv=(e,r)=>p(e,t=>L(t.currentDefaultValues,r)),Or=(e,r)=>{const t=$n(r),n=Qv(r.formId,e);return t.map(a=>L(a,e)).hydrateTo(n)},Sn=e=>p(e,r=>r.isSubmitting),Pn=e=>p(e,r=>r.isValid()),Tr=e=>p(e,r=>r.hasBeenSubmitted),Cr=e=>p(e,r=>r.validateField),eh=e=>p(e,r=>r.validate),rh=()=>()=>{},En=e=>p(e,r=>{var t,n;return(n=(t=r.formProps)==null?void 0:t.registerReceiveFocus)!=null?n:rh}),th={},nh=e=>p(e,r=>{var t,n;return(n=(t=r.formProps)==null?void 0:t.defaultValues)!=null?n:th}),ah=({formId:e})=>p(e,r=>r.setTouched),oh=e=>p(e,r=>r.touchedFields),sh=e=>p(e,r=>r.fieldErrors),An=e=>p(e,r=>r.setFieldErrors),ih=e=>p(e,r=>r.resetFormElement),uh=e=>p(e,r=>r.submit),lh=e=>p(e,r=>{var t;return(t=r.formProps)==null?void 0:t.action}),ch=e=>p(e,r=>{var t;return(t=r.formProps)==null?void 0:t.subaction}),fh=e=>p(e,r=>r.getValues),dh=(e,r)=>{const t=p(e.formId,o=>o.controlledFields.getValue(r)),n=p(e.formId,o=>o.isHydrated),a=Or(r,e);return n?t:a},In=(e,r)=>{const t=p(e.formId,o=>o.controlledFields.valueUpdateResolvers[r]);g.useEffect(()=>{t==null||t()},[t]);const n=p(e.formId,o=>o.controlledFields.register),a=p(e.formId,o=>o.controlledFields.unregister);g.useEffect(()=>(n(r),()=>a(r)),[e.formId,r,n,a])},vh=(e,r)=>{In(e,r);const t=p(e.formId,o=>o.controlledFields.setValue),n=g.useCallback(o=>t(r,o),[r,t]);return[dh(e,r),n]},hh=e=>{const r=p(e,t=>t.controlledFields.setValue);return g.useCallback((t,n)=>r(t,n),[r])},wn=e=>{const r=V(e,"useIsSubmitting");return Sn(r.formId)},On=e=>{const r=V(e,"useIsValid");return Pn(r.formId)},ph=(e,r)=>{const{formId:t,handleReceiveFocus:n}=r!=null?r:{},a=V(t,"useField"),o=Or(e,a),[s,i]=Zv(e,a),l=_n(e,a),u=Fn(a),c=Tr(a.formId),v=Cr(a.formId),d=En(a.formId);return g.useEffect(()=>{if(n)return d(e,n)},[n,e,d]),g.useMemo(()=>{const h={error:l,clearError:()=>u(e),validate:()=>{v(e)},defaultValue:o,touched:s,setTouched:i},m=uv(G(T({},h),{name:e,hasBeenSubmitted:c,validationBehavior:r==null?void 0:r.validationBehavior}));return G(T({},h),{getInputProps:m})},[l,u,o,s,i,e,c,r==null?void 0:r.validationBehavior,v])},yh=(e,r)=>{const t=V(r,"useControlField"),[n,a]=vh(t,e);return[n,a]},gh=e=>{const r=V(e,"useControlField");return hh(r.formId)};/**
17
+ */var ce=P.default,br=ht.exports;function gr(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Er=typeof Object.is=="function"?Object.is:gr,Sr=br.useSyncExternalStore,Vr=ce.useRef,Pr=ce.useEffect,wr=ce.useMemo,Ir=ce.useDebugValue;vt.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var u=Vr(null);if(u.current===null){var s={hasValue:!1,value:null};u.current=s}else s=u.current;u=wr(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,Er(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=Sr(e,u[0],u[1]);return Pr(function(){s.hasValue=!0,s.value=i},[i]),Ir(i),i};mt.exports=vt;function Dr(e,t=e.getState,r){const n=mt.exports.useSyncExternalStoreWithSelector(e.subscribe,e.getState,e.getServerState||e.getState,t,r);return p.useDebugValue(n),n}const et=e=>{const t=typeof e=="function"?ar(e):e,r=(n,o)=>Dr(t,n,o);return Object.assign(r,t),r},Or=e=>e?et(e):et;var Cr=Or;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 x(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)===Ur}(e)||Array.isArray(e)||!!e[lt]||!!e.constructor[lt]||je(e)||ke(e))}function J(e,t,r){r===void 0&&(r=!1),L(e)===0?(r?Object.keys:$e)(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:je(e)?2:ke(e)?3:0}function Se(e,t){return L(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ar(e,t){return L(e)===2?e.get(t):e[t]}function yt(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 Tr(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function je(e){return Rr&&e instanceof Map}function ke(e){return Mr&&e instanceof Set}function R(e){return e.o||e.t}function _e(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=$r(e);delete t[S];for(var r=$e(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)||x(e)||!U(e)||(L(e)>1&&(e.set=e.add=e.clear=e.delete=jr),Object.freeze(e),t&&J(e,function(r,n){return Re(n,!0)},!0)),e}function jr(){w(2)}function Me(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function D(e){var t=xr[e];return t||w(18,e),t}function tt(){return X}function he(e,t){t&&(D("Patches"),e.u=[],e.s=[],e.v=t)}function ie(e){Ve(e),e.p.forEach(kr),e.p=null}function Ve(e){e===X&&(X=e.l)}function rt(e){return X={p:[],l:X,h:e,m:!0,_:0}}function kr(e){var t=e[S];t.i===0||t.i===1?t.j():t.O=!0}function pe(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&&(ie(t),w(4)),U(e)&&(e=le(t,e),t.l||ae(t,e)),t.u&&D("Patches").M(r[S].t,e,t.u,t.s)):e=le(t,r,[]),ie(t),t.u&&t.v(t.u,t.s),e!==Ft?e:void 0}function le(e,t,r){if(Me(t))return t;var n=t[S];if(!n)return J(t,function(u,s){return nt(e,n,t,u,s,r)},!0),t;if(n.A!==e)return t;if(!n.P)return ae(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var o=n.i===4||n.i===5?n.o=_e(n.k):n.o;J(n.i===3?new Set(o):o,function(u,s){return nt(e,n,o,u,s,r)}),ae(e,o,!1),r&&e.u&&D("Patches").R(n,r,e.u,e.s)}return n.o}function nt(e,t,r,n,o,u){if(x(o)){var s=le(e,o,u&&t&&t.i!==3&&!Se(t.D,n)?u.concat(n):void 0);if(yt(r,n,s),!x(s))return;e.m=!1}if(U(o)&&!Me(o)){if(!e.h.F&&e._<1)return;le(e,o),t&&t.A.l||ae(e,o)}}function ae(e,t,r){r===void 0&&(r=!1),e.h.F&&e.m&&Re(t,r)}function ye(e,t){var r=e[S];return(r?R(r):e)[t]}function ot(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 Pe(e){e.P||(e.P=!0,e.l&&Pe(e.l))}function Fe(e){e.o||(e.o=_e(e.t))}function we(e,t,r){var n=je(t)?D("MapSet").N(t,r):ke(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:tt(),P:!1,I:!1,D:{},l:u,t:o,k:null,o:null,j:null,C:!1},a=i,l=Ie;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:tt()).p.push(n),n}function _r(e){return x(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=ut(r,u),o.I=!1}else n=ut(r,u);return J(n,function(s,i){o&&Ar(o.t,s)===i||yt(n,s,t(i))}),u===3?new Set(n):n}(e)}function ut(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return _e(e)}var st,X,Ue=typeof Symbol!="undefined"&&typeof Symbol("x")=="symbol",Rr=typeof Map!="undefined",Mr=typeof Set!="undefined",it=typeof Proxy!="undefined"&&Proxy.revocable!==void 0&&typeof Reflect!="undefined",Ft=Ue?Symbol.for("immer-nothing"):((st={})["immer-nothing"]=!0,st),lt=Ue?Symbol.for("immer-draftable"):"__$immer_draftable",S=Ue?Symbol.for("immer-state"):"__$immer_state",Ur=""+Object.prototype.constructor,$e=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,$r=Object.getOwnPropertyDescriptors||function(e){var t={};return $e(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r)}),t},xr={},Ie={get:function(e,t){if(t===S)return e;var r=R(e);if(!Se(r,t))return function(o,u,s){var i,a=ot(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===ye(e.t,t)?(Fe(e),e.o[t]=we(e.A.h,n,e)):n},has:function(e,t){return t in R(e)},ownKeys:function(e){return Reflect.ownKeys(R(e))},set:function(e,t,r){var n=ot(R(e),t);if(n!=null&&n.set)return n.set.call(e.k,r),!0;if(!e.P){var o=ye(R(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(Tr(r,o)&&(r!==void 0||Se(e.t,t)))return!0;Fe(e),Pe(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 ye(e.t,t)!==void 0||t in e.t?(e.D[t]=!1,Fe(e),Pe(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=R(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={};J(Ie,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 Ie.set.call(this,e[0],t,r,e[0])};var Hr=function(){function e(r){var n=this;this.g=it,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(fe){var _;return(_=u).call.apply(_,[A,fe].concat(C))})}}var l;if(typeof u!="function"&&w(6),s!==void 0&&typeof s!="function"&&w(7),U(o)){var c=rt(n),v=we(n,o,void 0),h=!0;try{l=u(v),h=!1}finally{h?ie(c):Ve(c)}return typeof Promise!="undefined"&&l instanceof Promise?l.then(function(y){return he(c,s),pe(y,c)},function(y){throw ie(c),y}):(he(c,s),pe(l,c))}if(!o||typeof o!="object"){if((l=u(o))===void 0&&(l=o),l===Ft&&(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),x(r)&&(r=_r(r));var n=rt(this),o=we(this,r,void 0);return o[S].C=!0,Ve(n),o},t.finishDraft=function(r,n){var o=r&&r[S],u=o.A;return he(u,n),pe(void 0,u)},t.setAutoFreeze=function(r){this.F=r},t.setUseProxies=function(r){r&&!it&&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 x(r)?s(r,n):this.produce(r,function(i){return s(i,n)})},e}(),V=new Hr,Lr=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 zr=e=>(t,r,n)=>(n.setState=(o,u,...s)=>{const i=typeof o=="function"?Lr(o):o;return t(i,u,...s)},e(n.setState,r,n)),Br=zr,qr=(e,t)=>{if(typeof Object.getPrototypeOf(e).requestSubmit=="function"){e.requestSubmit(t);return}if(t){Kr(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 Kr(e,t){t instanceof HTMLElement||be(TypeError,"parameter 1 is not of type 'HTMLElement'"),"type"in t&&t.type==="submit"||be(TypeError,"The specified element is not a submit button"),"form"in t&&t.form===e||be(DOMException,"The specified element is not owned by this form element","NotFoundError")}function be(e,t,r){throw new e("Failed to execute 'requestSubmit' on 'HTMLFormElement': "+t+".",r)}const g=(e,t)=>{const r=M(e,t);if(r==null){const n=[];return q(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 Q(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]=Q(e,t,1);Q(e,r,0,n)},ne=(e,t,r)=>{Q(e,t,0,r)},oe=(e,t)=>{Q(e,t,1)},ue=(e,t,r)=>{Q(e,t,1,r)},E=(e,t,r)=>{const n=new Set,o=[];for(const[s,i]of Object.entries(t))s.startsWith(e)&&s!==e&&(n.add(s),q(o,s.substring(e.length),i));r(o);for(const s of n)delete t[s];const u=De(o);for(const s of u){const i=M(o,s);t[`${e}${s}`]=i}},De=(e,t="")=>Array.isArray(e)?e.flatMap((r,n)=>De(r,`${t}[${n}]`)):typeof e=="object"?Object.keys(e).flatMap(r=>De(e[r],`${t}.${r}`)):[t],b=()=>{},Wr={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}}},Gr=(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."),qr(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)||(q(n.controlledFields.values,r,M((i=n.formProps)==null?void 0:i.defaultValues,r)),q(n.currentDefaultValues,r,M((a=n.formProps)==null?void 0:a.defaultValues,r))),delete n.controlledFields.refCounts[r]})},getValue:r=>M(t().controlledFields.values,r),setValue:(r,n)=>{e(o=>{q(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=>{g(o.controlledFields.values,r).push(n),g(o.currentDefaultValues,r).push(n)}),t().controlledFields.kickoffValueUpdate(r)},swap:(r,n,o)=>{e(u=>{te(g(u.controlledFields.values,r),n,o),te(g(u.currentDefaultValues,r),n,o),E(r,u.touchedFields,s=>te(s,n,o)),E(r,u.fieldErrors,s=>te(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)},move:(r,n,o)=>{e(u=>{re(g(u.controlledFields.values,r),n,o),re(g(u.currentDefaultValues,r),n,o),E(r,u.touchedFields,s=>re(s,n,o)),E(r,u.fieldErrors,s=>re(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)},insert:(r,n,o)=>{e(u=>{ne(g(u.controlledFields.values,r),n,o),ne(g(u.currentDefaultValues,r),n,o),E(r,u.touchedFields,s=>ne(s,n,!1)),E(r,u.fieldErrors,s=>ne(s,n,void 0))}),t().controlledFields.kickoffValueUpdate(r)},remove:(r,n)=>{e(o=>{oe(g(o.controlledFields.values,r),n),oe(g(o.currentDefaultValues,r),n),E(r,o.touchedFields,u=>oe(u,n)),E(r,o.fieldErrors,u=>oe(u,n))}),t().controlledFields.kickoffValueUpdate(r)},pop:r=>{e(n=>{g(n.controlledFields.values,r).pop(),g(n.currentDefaultValues,r).pop(),E(r,n.touchedFields,o=>o.pop()),E(r,n.fieldErrors,o=>o.pop())}),t().controlledFields.kickoffValueUpdate(r)},unshift:(r,n)=>{e(o=>{g(o.controlledFields.values,r).unshift(n),g(o.currentDefaultValues,r).unshift(n),E(r,o.touchedFields,u=>u.unshift(!1)),E(r,o.fieldErrors,u=>u.unshift(void 0))})},replace:(r,n,o)=>{e(u=>{ue(g(u.controlledFields.values,r),n,o),ue(g(u.currentDefaultValues,r),n,o),E(r,u.touchedFields,s=>ue(s,n,o)),E(r,u.fieldErrors,s=>ue(s,n,o))}),t().controlledFields.kickoffValueUpdate(r)}}}}),Oe=Cr()(Br((e,t)=>({forms:{},form:r=>{var n;return(n=t().forms[r])!=null?n:Wr},cleanupForm:r=>{e(n=>{delete n.forms[r]})},registerForm:r=>{t().forms[r]||e(n=>{n.forms[r]=Gr(o=>e(u=>o(u.forms[r])),()=>t().forms[r])})}}))),d=(e,t)=>Oe(r=>t(r.form(e))),O=(e,t)=>{const r=p.useContext(dt);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 xe({fetcher:e,subaction:t,formId:r}){var o;const n=W.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 bt=e=>{const t=xe(e),r=d(e.formId,n=>n.isHydrated);return z.from(t==null?void 0:t.fieldErrors,r)},gt=({formId:e})=>{const t=W.useMatches();if(typeof e=="string"){const r=ft(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=xe(e),u=gt(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)},Jr=({fetcher:e})=>{const t=W.useTransition();return e?e.state==="submitting":!!t.submission},Xr=(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]},St=(e,t)=>{const r=bt(t),n=d(t.formId,o=>o.fieldErrors[e]);return r.map(o=>o==null?void 0:o[e]).hydrateTo(n)},Vt=e=>{const{formId:t}=e;return d(t,r=>r.clearFieldError)},Qr=(e,t)=>d(e,r=>M(r.currentDefaultValues,t)),He=(e,t)=>{const r=Et(t),n=Qr(t.formId,e);return r.map(o=>M(o,e)).hydrateTo(n)},Pt=e=>d(e,t=>t.isSubmitting),wt=e=>d(e,t=>t.isValid()),Le=e=>d(e,t=>t.hasBeenSubmitted),ze=e=>d(e,t=>t.validateField),Zr=e=>d(e,t=>t.validate),Yr=()=>()=>{},It=e=>d(e,t=>{var r,n;return(n=(r=t.formProps)==null?void 0:r.registerReceiveFocus)!=null?n:Yr}),Nr={},en=e=>d(e,t=>{var r,n;return(n=(r=t.formProps)==null?void 0:r.defaultValues)!=null?n:Nr}),tn=({formId:e})=>d(e,t=>t.setTouched),rn=e=>d(e,t=>t.touchedFields),nn=e=>d(e,t=>t.fieldErrors),Dt=e=>d(e,t=>t.setFieldErrors),on=e=>d(e,t=>t.resetFormElement),un=e=>d(e,t=>t.submit),sn=e=>d(e,t=>{var r;return(r=t.formProps)==null?void 0:r.action}),ln=e=>d(e,t=>{var r;return(r=t.formProps)==null?void 0:r.subaction}),an=e=>d(e,t=>t.getValues),cn=(e,t)=>{const r=d(e.formId,u=>u.controlledFields.getValue(t)),n=d(e.formId,u=>u.isHydrated),o=He(t,e);return n?r:o},Ot=(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])},fn=(e,t)=>{Ot(e,t);const r=d(e.formId,u=>u.controlledFields.setValue),n=p.useCallback(u=>r(t,u),[t,r]);return[cn(e,t),n]},dn=e=>{const t=d(e,r=>r.controlledFields.setValue);return p.useCallback((r,n)=>t(r,n),[t])},Ct=e=>{const t=O(e,"useIsSubmitting");return Pt(t.formId)},At=e=>{const t=O(e,"useIsValid");return wt(t.formId)},mn=(e,t)=>{const{formId:r,handleReceiveFocus:n}=t!=null?t:{},o=O(r,"useField"),u=He(e,o),[s,i]=Xr(e,o),a=St(e,o),l=Vt(o),c=Le(o.formId),v=ze(o.formId),h=It(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=or({...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])},vn=(e,t)=>{const r=O(t,"useControlField"),[n,o]=fn(r,e);return[n,o]},hn=e=>{const t=O(e,"useControlField");return dn(t.formId)};/**
18
18
  * @remix-run/server-runtime v1.6.5
19
19
  *
20
20
  * Copyright (c) Remix Software Inc.
@@ -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 mh=(e,r={})=>{let t=typeof r=="number"?{status:r}:r,n=new Headers(t.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),G(T({},t),{headers:n}))};function bh(e,r,t){return mh({fieldErrors:e.fieldErrors,subaction:e.subaction,repopulateFields:r,formId:e.formId},T({status:422},t))}const $h=(e,r)=>({[cn(e)]:r});function _h(e,r,t,n){for(var a=e.length,o=t+(n?1:-1);n?o--:++o<a;)if(r(e[o],o,e))return o;return-1}var Fh=_h;function Sh(e){return e!==e}var Ph=Sh;function Eh(e,r,t){for(var n=t-1,a=e.length;++n<a;)if(e[n]===r)return n;return-1}var Ah=Eh,Ih=Fh,wh=Ph,Oh=Ah;function Th(e,r,t){return r===r?Oh(e,r,t):Ih(e,wh,t)}var Ch=Th,Dh=Ch;function Mh(e,r){var t=e==null?0:e.length;return!!t&&Dh(e,r,0)>-1}var Vh=Mh;function xh(e,r,t){for(var n=-1,a=e==null?0:e.length;++n<a;)if(t(r,e[n]))return!0;return!1}var Rh=xh;function jh(){}var Lh=jh,We=Qt,Uh=Lh,Gh=fr,Kh=1/0,Hh=We&&1/Gh(new We([,-0]))[1]==Kh?function(e){return new We(e)}:Uh,Bh=Hh,qh=Lt,zh=Vh,kh=Rh,Wh=Ut,Nh=Bh,Xh=fr,Jh=200;function Yh(e,r,t){var n=-1,a=zh,o=e.length,s=!0,i=[],l=i;if(t)s=!1,a=kh;else if(o>=Jh){var u=r?null:Nh(e);if(u)return Xh(u);s=!1,a=Wh,l=new qh}else l=r?[]:i;e:for(;++n<o;){var c=e[n],v=r?r(c):c;if(c=t||c!==0?c:0,s&&v===v){for(var d=l.length;d--;)if(l[d]===v)continue e;r&&l.push(v),i.push(c)}else a(l,v,t)||(l!==i&&l.push(v),i.push(c))}return i}var Zh=Yh,Qh=Zh;function ep(e){return e&&e.length?Qh(e):[]}var rp=ep;class Tn{constructor(){this.dict=new Map,this.add=(r,t)=>{this.dict.has(r)?this.dict.get(r).push(t):this.dict.set(r,[t])},this.delete=r=>{this.dict.delete(r)},this.remove=(r,t)=>{if(!this.dict.has(r))return;const n=this.dict.get(r),a=n.indexOf(t);a!==-1&&n.splice(a,1),n.length===0&&this.dict.delete(r)},this.getAll=r=>{var t;return(t=this.dict.get(r))!=null?t:[]},this.entries=()=>this.dict.entries(),this.values=()=>this.dict.values(),this.has=r=>this.dict.has(r)}}const tp=()=>{const e=g.useRef(null);return g.useCallback(()=>(e.current||(e.current=new Tn),e.current),[])};function Cn(e,r){const t=g.useRef(!1);g.useEffect(()=>{e&&(t.current=!0),!e&&t.current&&(t.current=!1,r())})}var np=hr;function ap(e,r){return np(e,r)}var op=ap;const sp=e=>r=>{e.filter(Boolean).forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})},Ne=typeof window!="undefined"?g.useLayoutEffect:g.useEffect,ip=e=>{const r=g.useRef(e),t=r.current===e||op(r.current,e);return g.useEffect(()=>{t||(r.current=e)}),t?r.current:e},up=e=>new FormData(e);function lp(e){return e!==null}const cp=(e,r,t)=>{var o;const n=[...t.elements].map(s=>{const i=s instanceof RadioNodeList?s[0]:s;return i instanceof HTMLElement&&"name"in i?i.name:null}).filter(lp).filter(s=>s in e),a=rp(n);for(const s of a){if(r.has(s)){r.getAll(s).forEach(l=>{l()});break}const i=t.elements.namedItem(s);if(!!i){if(i instanceof RadioNodeList){const l=(o=[...i].filter(u=>u instanceof HTMLInputElement).find(u=>u.value===i.value))!=null?o:i[0];if(l&&l instanceof HTMLInputElement){l.focus();break}}if(i instanceof HTMLElement){if(i instanceof HTMLInputElement&&i.type==="hidden")continue;i.focus();break}}}},fp=e=>{const[r]=g.useState(()=>Symbol("remix-validated-form-id"));return e!=null?e:r},dp=({resetAfterSubmit:e,formRef:r})=>{const t=wn(),n=On();return Cn(t,()=>{var a;n&&e&&((a=r.current)==null||a.reset())}),null};function vp(e){let r=!1;return new Proxy(e,{get:(t,n)=>n==="preventDefault"?()=>{r=!0}:n==="defaultPrevented"?r:t[n]})}function hp(m){var E=m,{validator:e,onSubmit:r,children:t,fetcher:n,action:a,defaultValues:o,formRef:s,onReset:i,subaction:l,resetAfterSubmit:u=!1,disableFocusOnError:c,method:v,replace:d,id:f}=E,h=Br(E,["validator","onSubmit","children","fetcher","action","defaultValues","formRef","onReset","subaction","resetAfterSubmit","disableFocusOnError","method","replace","id"]);var jr;const $=fp(f),F=ip(o),O=g.useMemo(()=>({formId:$,action:a,subaction:l,defaultValuesProp:F,fetcher:n}),[a,n,$,F,l]),A=wr(O),D=bn(O),Mn=Yv(O),fe=g.useRef(null),Vn=(jr=n==null?void 0:n.Form)!=null?jr:ne.Form,xn=ne.useSubmit(),Re=An($),Rn=p($,y=>y.setFieldError),jn=p($,y=>y.reset),Ln=p($,y=>y.startSubmit),je=p($,y=>y.endSubmit),Dr=p($,y=>y.syncFormProps),Mr=p($,y=>y.setFormElement),Vr=ir(y=>y.cleanupForm),xr=ir(y=>y.registerForm),de=tp(),Rr=g.useCallback((y,ve)=>(de().add(y,ve),()=>{de().remove(y,ve)}),[de]);Ne(()=>(xr($),()=>Vr($)),[Vr,$,xr]),Ne(()=>{var y;Dr({action:a,defaultValues:(y=F!=null?F:D)!=null?y:{},subaction:l,registerReceiveFocus:Rr,validator:e})},[a,F,Rr,l,Dr,D,e]),Ne(()=>{Mr(fe.current)},[Mr]),g.useEffect(()=>{var y;Re((y=A==null?void 0:A.fieldErrors)!=null?y:{})},[A==null?void 0:A.fieldErrors,Re,Rn]),Cn(Mn,()=>{je()});const Un=async(y,ve,Gn)=>{Ln();const he=await e.validate(up(y.currentTarget));if(he.error)je(),Re(he.error.fieldErrors),c||cp(he.error.fieldErrors,de(),fe.current);else{const Lr=vp(y);if(await(r==null?void 0:r(he.data,Lr)),Lr.defaultPrevented){je();return}const Ur=Gn.submitter;n?n.submit(Ur||y.currentTarget):xn(Ur||ve,{replace:d})}};return x.default.createElement(Vn,G(T({ref:sp([fe,s])},h),{id:f,action:a,method:v,replace:d,onSubmit:y=>{y.preventDefault(),Un(y,y.currentTarget,y.nativeEvent)},onReset:y=>{i==null||i(y),!y.defaultPrevented&&jn()}}),x.default.createElement(fn.Provider,{value:O},x.default.createElement(x.default.Fragment,null,x.default.createElement(dp,{formRef:fe,resetAfterSubmit:u}),l&&x.default.createElement("input",{type:"hidden",value:l,name:"subaction"}),f&&x.default.createElement("input",{type:"hidden",value:f,name:Se}),t)))}const Ct=e=>{const r=new Tn;return e.forEach(([t,n])=>r.add(t,n)),[...r.entries()].reduce((t,[n,a])=>z(t,n,a.length===1?a[0]:a),{})},Dt=e=>"entries"in e&&typeof e.entries=="function"?Ct([...e.entries()]):Ct(Object.entries(e));function pp(e){return{validate:async r=>{const t=Dt(r),n=await e.validate(t);return n.error?{data:void 0,error:{fieldErrors:n.error,subaction:t.subaction,formId:t[Se]},submittedData:t,formId:t[Se]}:{data:n.data,error:void 0,submittedData:t,formId:t[Se]}},validateField:(r,t)=>e.validateField(Dt(r),t)}}const yp=e=>{const r=V(e,"useFormState"),t=Sn(r.formId),n=Tr(r.formId),a=oh(r.formId),o=Pn(r.formId),s=lh(r.formId),i=ch(r.formId),l=nh(r.formId),c=$n(r).hydrateTo(l),v=sh(r.formId),f=mn(r).hydrateTo(v);return g.useMemo(()=>({action:s,subaction:i,defaultValues:c,fieldErrors:f!=null?f:{},hasBeenSubmitted:n,isSubmitting:t,touchedFields:a,isValid:o}),[s,n,c,f,t,o,i,a])},gp=e=>{const r=V(e,"useFormHelpers"),t=ah(r),n=Cr(r.formId),a=eh(r.formId),o=Fn(r),s=An(r.formId),i=ih(r.formId),l=uh(r.formId),u=fh(r.formId);return g.useMemo(()=>({setTouched:t,validateField:n,clearError:o,validate:a,clearAllErrors:()=>s({}),reset:i,submit:l,getValues:u}),[o,i,s,t,l,a,n,u])},mp=e=>{const r=V(e,"useFormContext"),t=yp(e),{clearError:n,setTouched:a,validateField:o,clearAllErrors:s,validate:i,reset:l,submit:u,getValues:c}=gp(e),v=En(r.formId),d=g.useCallback((...f)=>{f.forEach(h=>{n(h)})},[n]);return g.useMemo(()=>G(T({},t),{setFieldTouched:a,validateField:o,clearError:d,registerReceiveFocus:v,clearAllErrors:s,validate:i,reset:l,submit:u,getValues:c}),[s,d,v,l,a,t,u,i,o,c])},Dn=(e,r,t)=>{const n=Or(r,e);In(e,r);const a=Tr(e.formId),o=Cr(e.formId),s=_n(r,e),i=T({initial:"onSubmit",whenSubmitted:"onChange"},t),l=a?i.whenSubmitted:i.initial,u=g.useCallback(()=>{l==="onChange"&&o(r)},[l,r,o]);j(n==null||Array.isArray(n),`FieldArray: defaultValue value for ${r} must be an array, null, or undefined`);const c=p(e.formId,f=>f.controlledFields.array),v=g.useMemo(()=>({push:f=>{c.push(r,f),u()},swap:(f,h)=>{c.swap(r,f,h),u()},move:(f,h)=>{c.move(r,f,h),u()},insert:(f,h)=>{c.insert(r,f,h),u()},unshift:f=>{c.unshift(r,f),u()},remove:f=>{c.remove(r,f),u()},pop:()=>{c.pop(r),u()},replace:(f,h)=>{c.replace(r,f,h),u()}}),[c,r,u]);return[g.useMemo(()=>n!=null?n:[],[n]),v,s]};function bp(e,{formId:r,validationBehavior:t}={}){const n=V(r,"FieldArray");return Dn(n,e,t)}const $p=({name:e,children:r,formId:t,validationBehavior:n})=>{const a=V(t,"FieldArray"),[o,s,i]=Dn(a,e,n);return r(o,s,i)};exports.FieldArray=$p;exports.ValidatedForm=hp;exports.createValidator=pp;exports.setFormDefaults=$h;exports.useControlField=yh;exports.useField=ph;exports.useFieldArray=bp;exports.useFormContext=mp;exports.useIsSubmitting=wn;exports.useIsValid=On;exports.useUpdateControlledField=gh;exports.validationError=bh;
26
+ */const pn=(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 yn(e,t,r){return pn({fieldErrors:e.fieldErrors,subaction:e.subaction,repopulateFields:t,formId:e.formId},{status:422,...r})}const Fn=(e,t)=>({[ft(e)]:t});class Tt{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),o=n.indexOf(r);o!==-1&&n.splice(o,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 bn=()=>{const e=p.useRef(null);return p.useCallback(()=>(e.current||(e.current=new Tt),e.current),[])};function jt(e,t){const r=p.useRef(!1);p.useEffect(()=>{e&&(r.current=!0),!e&&r.current&&(r.current=!1,t())})}const gn=e=>t=>{e.filter(Boolean).forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})},ge=typeof window!="undefined"?p.useLayoutEffect:p.useEffect,En=e=>{const t=p.useRef(e),r=t.current===e||Ee(t.current,e);return p.useEffect(()=>{r||(t.current=e)}),r?t.current:e},Sn=e=>new FormData(e);function Vn(e){return e!==null}const Pn=(e,t,r)=>{var u;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(Vn).filter(s=>s in e),o=G(n);for(const s of o){if(t.has(s)){t.getAll(s).forEach(a=>{a()});break}const i=r.elements.namedItem(s);if(!!i){if(i instanceof RadioNodeList){const a=(u=[...i].filter(l=>l instanceof HTMLInputElement).find(l=>l.value===i.value))!=null?u:i[0];if(a&&a instanceof HTMLInputElement){a.focus();break}}if(i instanceof HTMLElement){if(i instanceof HTMLInputElement&&i.type==="hidden")continue;i.focus();break}}}},wn=e=>{const[t]=p.useState(()=>Symbol("remix-validated-form-id"));return e!=null?e:t},In=({resetAfterSubmit:e,formRef:t})=>{const r=Ct(),n=At();return jt(r,()=>{var o;n&&e&&((o=t.current)==null||o.reset())}),null};function Dn(e){let t=!1;return new Proxy(e,{get:(r,n)=>n==="preventDefault"?()=>{t=!0}:n==="defaultPrevented"?t:r[n]})}function On({validator:e,onSubmit:t,children:r,fetcher:n,action:o,defaultValues:u,formRef:s,onReset:i,subaction:a,resetAfterSubmit:l=!1,disableFocusOnError:c,method:v,replace:h,id:f,...F}){var Je;const y=wn(f),A=En(u),T=p.useMemo(()=>({formId:y,action:o,subaction:a,defaultValuesProp:A,fetcher:n}),[o,n,y,A,a]),C=xe(T),k=gt(T),fe=Jr(T),_=p.useRef(null),_t=(Je=n==null?void 0:n.Form)!=null?Je:W.Form,Rt=W.useSubmit(),Z=Dt(y),Mt=d(y,m=>m.setFieldError),Ut=d(y,m=>m.reset),$t=d(y,m=>m.startSubmit),de=d(y,m=>m.endSubmit),Be=d(y,m=>m.syncFormProps),qe=d(y,m=>m.setFormElement),Ke=Oe(m=>m.cleanupForm),We=Oe(m=>m.registerForm),Y=bn(),Ge=p.useCallback((m,N)=>(Y().add(m,N),()=>{Y().remove(m,N)}),[Y]);ge(()=>(We(y),()=>Ke(y)),[Ke,y,We]),ge(()=>{var m;Be({action:o,defaultValues:(m=A!=null?A:k)!=null?m:{},subaction:a,registerReceiveFocus:Ge,validator:e})},[o,A,Ge,a,Be,k,e]),ge(()=>{qe(_.current)},[qe]),p.useEffect(()=>{var m;Z((m=C==null?void 0:C.fieldErrors)!=null?m:{})},[C==null?void 0:C.fieldErrors,Z,Mt]),jt(fe,()=>{de()});const xt=async(m,N,Ht)=>{$t();const I=Ht.submitter,Xe=Sn(m.currentTarget);I!=null&&I.name&&Xe.append(I.name,I.value);const ee=await e.validate(Xe);if(ee.error)Z(ee.error.fieldErrors),de(),c||Pn(ee.error.fieldErrors,Y(),_.current);else{Z({});const Qe=Dn(m);if(await(t==null?void 0:t(ee.data,Qe)),Qe.defaultPrevented){de();return}n?n.submit(I||m.currentTarget):Rt(I||N,{replace:h,method:(I==null?void 0:I.formMethod)||v})}};return P.default.createElement(_t,{ref:gn([_,s]),...F,id:f,action:o,method:v,replace:h,onSubmit:m=>{m.preventDefault(),xt(m,m.currentTarget,m.nativeEvent)},onReset:m=>{i==null||i(m),!m.defaultPrevented&&Ut()}},P.default.createElement(dt.Provider,{value:T},P.default.createElement(P.default.Fragment,null,P.default.createElement(In,{formRef:_,resetAfterSubmit:l}),a&&P.default.createElement("input",{type:"hidden",value:a,name:"subaction"}),f&&P.default.createElement("input",{type:"hidden",value:f,name:K}),r)))}const at=e=>{const t=new Tt;return e.forEach(([r,n])=>t.add(r,n)),[...t.entries()].reduce((r,[n,o])=>Yt(r,n,o.length===1?o[0]:o),{})},ct=e=>"entries"in e&&typeof e.entries=="function"?at([...e.entries()]):at(Object.entries(e)),Cn=e=>Wt(e,[K]);function An(e){return{validate:async t=>{const r=ct(t),n=await e.validate(Cn(r));return n.error?{data:void 0,error:{fieldErrors:n.error,subaction:r.subaction,formId:r[K]},submittedData:r,formId:r[K]}:{data:n.data,error:void 0,submittedData:r,formId:r[K]}},validateField:(t,r)=>e.validateField(ct(t),r)}}const Tn=e=>{const t=O(e,"useFormState"),r=Pt(t.formId),n=Le(t.formId),o=rn(t.formId),u=wt(t.formId),s=sn(t.formId),i=ln(t.formId),a=en(t.formId),c=Et(t).hydrateTo(a),v=nn(t.formId),f=bt(t).hydrateTo(v);return p.useMemo(()=>({action:s,subaction:i,defaultValues:c,fieldErrors:f!=null?f:{},hasBeenSubmitted:n,isSubmitting:r,touchedFields:o,isValid:u}),[s,n,c,f,r,u,i,o])},jn=e=>{const t=O(e,"useFormHelpers"),r=tn(t),n=ze(t.formId),o=Zr(t.formId),u=Vt(t),s=Dt(t.formId),i=on(t.formId),a=un(t.formId),l=an(t.formId);return p.useMemo(()=>({setTouched:r,validateField:n,clearError:u,validate:o,clearAllErrors:()=>s({}),reset:i,submit:a,getValues:l}),[u,i,s,r,a,o,n,l])},kn=e=>{const t=O(e,"useFormContext"),r=Tn(e),{clearError:n,setTouched:o,validateField:u,clearAllErrors:s,validate:i,reset:a,submit:l,getValues:c}=jn(e),v=It(t.formId),h=p.useCallback((...f)=>{f.forEach(F=>{n(F)})},[n]);return p.useMemo(()=>({...r,setFieldTouched:o,validateField:u,clearError:h,registerReceiveFocus:v,clearAllErrors:s,validate:i,reset:a,submit:l,getValues:c}),[s,h,v,a,o,r,l,i,u,c])},kt=(e,t,r)=>{const n=He(t,e);Ot(e,t);const o=Le(e.formId),u=ze(e.formId),s=St(t,e),i={initial:"onSubmit",whenSubmitted:"onChange",...r},a=o?i.whenSubmitted:i.initial,l=p.useCallback(()=>{a==="onChange"&&u(t)},[a,t,u]);j(n==null||Array.isArray(n),`FieldArray: defaultValue value for ${t} must be an array, null, or undefined`);const c=d(e.formId,f=>f.controlledFields.array),v=p.useMemo(()=>({push:f=>{c.push(t,f),l()},swap:(f,F)=>{c.swap(t,f,F),l()},move:(f,F)=>{c.move(t,f,F),l()},insert:(f,F)=>{c.insert(t,f,F),l()},unshift:f=>{c.unshift(t,f),l()},remove:f=>{c.remove(t,f),l()},pop:()=>{c.pop(t),l()},replace:(f,F)=>{c.replace(t,f,F),l()}}),[c,t,l]);return[p.useMemo(()=>n!=null?n:[],[n]),v,s]};function _n(e,{formId:t,validationBehavior:r}={}){const n=O(t,"FieldArray");return kt(n,e,r)}const Rn=({name:e,children:t,formId:r,validationBehavior:n})=>{const o=O(r,"FieldArray"),[u,s,i]=kt(o,e,n);return P.default.createElement(P.default.Fragment,null,t(u,s,i))};exports.FieldArray=Rn;exports.ValidatedForm=On;exports.createValidator=An;exports.setFormDefaults=Fn;exports.useControlField=vn;exports.useField=mn;exports.useFieldArray=_n;exports.useFormContext=kn;exports.useIsSubmitting=Ct;exports.useIsValid=At;exports.useUpdateControlledField=hn;exports.validationError=yn;
27
27
  //# sourceMappingURL=remix-validated-form.cjs.js.map