import{d as we,w as W,a as Le}from"./index.B_kYz76f.js";import{p as ye,n as at}from"./stores.CJg8oIx4.js";import{S as Ve,D as Me,C as ge}from"./scheduler.CF5dWSQr.js";import{a as gt,d as Fe,b as Ht,g as qt}from"./entry.DYMwKZI8.js";import{b as ht}from"./index.BGWOvOqJ.js";import{p as Bt}from"./parse.DmO7vkUH.js";import{s as Yt}from"./stringify.ChcJcezc.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="3e797749-3d45-4b89-bcf9-68cb891c76d0",e._sentryDebugIdIdentifier="sentry-dbid-3e797749-3d45-4b89-bcf9-68cb891c76d0")}catch{}})();var zt=he;function he(e){let r=e;var i={}.toString.call(e).slice(8,-1);if(i=="Set")return new Set([...e].map(u=>he(u)));if(i=="Map")return new Map([...e].map(u=>[he(u[0]),he(u[1])]));if(i=="Date")return new Date(e.getTime());if(i=="RegExp")return RegExp(e.source,Wt(e));if(i=="Array"||i=="Object"){r=Array.isArray(e)?[]:{};for(var t in e)r[t]=he(e[t])}return r}function Wt(e){if(typeof e.source.flags=="string")return e.source.flags;var r=[];return e.global&&r.push("g"),e.ignoreCase&&r.push("i"),e.multiline&&r.push("m"),e.sticky&&r.push("y"),e.unicode&&r.push("u"),r.join("")}function Ue(e,r,i){return e[r]=i,"skip"}function Gt(e,r){return r.value!==void 0&&typeof r.value!="object"&&r.path.length<e.length}function re(e,r,i={}){i.modifier||(i.modifier=u=>Gt(r,u)?void 0:u.value);const t=B(e,r,i.modifier);if(t)return i.value===void 0||i.value(t.value)?t:void 0}function B(e,r,i){if(!r.length)return;const t=[r[0]];let u=e;for(;u&&t.length<r.length;){const s=t[t.length-1],c=i?i({parent:u,key:String(s),value:u[s],path:t.map(d=>String(d)),isLeaf:!1,set:d=>Ue(u,s,d)}):u[s];if(c===void 0)return;u=c,t.push(r[t.length])}if(!u)return;const f=r[r.length-1];return{parent:u,key:String(f),value:u[f],path:r.map(s=>String(s)),isLeaf:!0,set:s=>Ue(u,f,s)}}function ee(e,r,i=[]){for(const t in e){const u=e[t],f=u===null||typeof u!="object",s={parent:e,key:t,value:u,path:i.concat([t]),isLeaf:f,set:d=>Ue(e,t,d)},c=r(s);if(c==="abort")return c;if(c==="skip")continue;if(!f){const d=ee(u,r,s.path);if(d==="abort")return d}}}function Xt(e,r){return e===r||e.size===r.size&&[...e].every(i=>r.has(i))}function st(e,r){const i=new Map;function t(s,c){return s instanceof Date&&c instanceof Date&&s.getTime()!==c.getTime()||s instanceof Set&&c instanceof Set&&!Xt(s,c)||s instanceof File&&c instanceof File&&s!==c}function u(s){return s instanceof Date||s instanceof Set||s instanceof File}function f(s,c){const d=c?B(c,s.path):void 0;function y(){return i.set(s.path.join(" "),s.path),"skip"}if(u(s.value)&&(!u(d==null?void 0:d.value)||t(s.value,d.value)))return y();s.isLeaf&&(!d||s.value!==d.value)&&y()}return ee(e,s=>f(s,r)),ee(r,s=>f(s,e)),Array.from(i.values())}function J(e,r,i){const t=typeof i=="function";for(const u of r){const f=B(e,u,({parent:s,key:c,value:d})=>((d===void 0||typeof d!="object")&&(s[c]={}),s[c]));f&&(f.parent[f.key]=t?i(u,f):i)}}function oe(e){return e.toString().split(/[[\].]+/).filter(r=>r)}function be(e){return e.reduce((r,i)=>{const t=String(i);return typeof i=="number"||/^\d+$/.test(t)?r+=`[${t}]`:r?r+=`.${t}`:r+=t,r},"")}const ot=e=>{if(typeof e=="object"&&e!==null){if(typeof Object.getPrototypeOf=="function"){const r=Object.getPrototypeOf(e);return r===Object.prototype||r===null}return Object.prototype.toString.call(e)==="[object Object]"}return!1},K=(...e)=>e.reduce((r,i)=>{if(Array.isArray(i))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(i).forEach(t=>{["__proto__","constructor","prototype"].includes(t)||(Array.isArray(r[t])&&Array.isArray(i[t])?r[t]=K.options.mergeArrays?K.options.uniqueArrayItems?Array.from(new Set(r[t].concat(i[t]))):[...r[t],...i[t]]:i[t]:ot(r[t])&&ot(i[t])?r[t]=K(r[t],i[t]):r[t]=i[t]===void 0?K.options.allowUndefinedOverrides?i[t]:r[t]:i[t])}),r},{}),Ne={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};K.options=Ne;K.withOptions=(e,...r)=>{K.options=Object.assign(Object.assign({},Ne),e);const i=K(...r);return K.options=Ne,i};class F extends Error{constructor(r){super(r),Object.setPrototypeOf(this,F.prototype)}}class Pe extends F{path;constructor(r,i){super((i&&i.length?`[${Array.isArray(i)?i.join("."):i}] `:"")+r),this.path=Array.isArray(i)?i.join("."):i,Object.setPrototypeOf(this,Pe.prototype)}}function Jt(e,r){var u;const i={};function t(f){if("_errors"in i||(i._errors=[]),!Array.isArray(i._errors))if(typeof i._errors=="string")i._errors=[i._errors];else throw new F("Form-level error was not an array.");i._errors.push(f.message)}for(const f of e){if(!f.path||f.path.length==1&&!f.path[0]){t(f);continue}const c=!/^\d$/.test(String(f.path[f.path.length-1]))&&((u=re(r,f.path.filter(g=>/\D/.test(String(g)))))==null?void 0:u.value),d=B(i,f.path,({value:g,parent:z,key:H})=>(g===void 0&&(z[H]={}),z[H]));if(!d){t(f);continue}const{parent:y,key:p}=d;c?(p in y||(y[p]={}),"_errors"in y[p]?y[p]._errors.push(f.message):y[p]._errors=[f.message]):p in y?y[p].push(f.message):y[p]=[f.message]}return i}function ut(e,r,i){return i?e:(ee(r,t=>{Array.isArray(t.value)&&t.set(void 0)}),ee(e,t=>{!Array.isArray(t.value)&&t.value!==void 0||J(r,[t.path],t.value)}),r)}function Kt(e){return bt(e,[])}function bt(e,r){return Object.entries(e).filter(([,t])=>t!==void 0).flatMap(([t,u])=>{if(Array.isArray(u)&&u.length>0){const f=r.concat([t]);return{path:be(f),messages:u}}else return bt(e[t],r.concat([t]))})}function N(e){return e&&typeof e=="object"?zt(e):e}function We(e,r){if(typeof e=="boolean")throw new Pe("Schema property cannot be defined as boolean.",r)}const Zt=["unix-time","bigint","any","symbol","set"];function wt(e,r,i){var d;if(We(e,i),e.allOf&&e.allOf.length)return{...K.withOptions({allowUndefinedOverrides:!1},...e.allOf.map(y=>wt(y,!1,[]))),schema:e};const t=St(e,i),u=e.items&&t.includes("array")?(Array.isArray(e.items)?e.items:[e.items]).filter(y=>typeof y!="boolean"):void 0,f=e.additionalProperties&&typeof e.additionalProperties=="object"&&t.includes("object")?Object.fromEntries(Object.entries(e.additionalProperties).filter(([,y])=>typeof y!="boolean")):void 0,s=e.properties&&t.includes("object")?Object.fromEntries(Object.entries(e.properties).filter(([,y])=>typeof y!="boolean")):void 0,c=(d=Qt(e))==null?void 0:d.filter(y=>y.type!=="null"&&y.const!==null);return{types:t.filter(y=>y!=="null"),isOptional:r,isNullable:t.includes("null"),schema:e,union:c!=null&&c.length?c:void 0,array:u,properties:s,additionalProperties:f,required:e.required}}function St(e,r){We(e,r);let i=e.const===null?["null"]:[];if(e.type&&(i=Array.isArray(e.type)?e.type:[e.type]),e.anyOf&&(i=e.anyOf.flatMap(t=>St(t,r))),i.includes("array")&&e.uniqueItems){const t=i.findIndex(u=>u!="array");i[t]="set"}else if(e.format&&Zt.includes(e.format)&&(i.unshift(e.format),e.format=="unix-time")){const t=i.findIndex(u=>u=="integer");i.splice(t,1)}return e.const&&e.const!==null&&typeof e.const!="function"&&i.push(typeof e.const),Array.from(new Set(i))}function Qt(e){if(!(!e.anyOf||!e.anyOf.length))return e.anyOf.filter(r=>typeof r!="boolean")}function wn(e,r=[]){const i=He(e,r);if(!i)throw new Pe("No shape could be created for schema.",r);return i}function He(e,r){We(e,r);const i=wt(e,!1,r);if(i.array||i.union){const t=i.array||[],u=i.union||[];return t.concat(u).reduce((f,s)=>{const c=He(s,r);return c&&(f={...f??{},...c}),f},t.length?{}:void 0)}if(i.properties){const t={};for(const[u,f]of Object.entries(i.properties)){const s=He(f,[...r,u]);s&&(t[u]=s)}return t}return i.types.includes("array")||i.types.includes("object")?{}:void 0}function qe(e){let r={};const i=Array.isArray(e);for(const[t,u]of Object.entries(e))!u||typeof u!="object"||(i?r={...r,...qe(u)}:r[t]=qe(u));return r}function ft(e){!e.flashMessage||!ht||Be(e)&&(document.cookie=`flash=; Max-Age=0; Path=${e.flashMessage.cookiePath??"/"};`)}function Be(e){return!e.flashMessage||!ht?!1:e.syncFlashMessage}function Ye(e){const r=JSON.parse(e);return r.data&&(r.data=Bt(r.data)),r}function Re(e){return HTMLElement.prototype.cloneNode.call(e)}function $t(e,r=()=>{}){const i=async({action:u,result:f,reset:s=!0,invalidateAll:c=!0})=>{f.type==="success"&&(s&&HTMLFormElement.prototype.reset.call(e),c&&await gt()),(location.origin+location.pathname===u.origin+u.pathname||f.type==="redirect"||f.type==="error")&&Fe(f)};async function t(u){var Z,T,Q,Se,ie;if(((Z=u.submitter)!=null&&Z.hasAttribute("formmethod")?u.submitter.formMethod:Re(e).method)!=="post")return;u.preventDefault();const s=new URL((T=u.submitter)!=null&&T.hasAttribute("formaction")?u.submitter.formAction:Re(e).action),c=(Q=u.submitter)!=null&&Q.hasAttribute("formenctype")?u.submitter.formEnctype:Re(e).enctype,d=new FormData(e),y=(Se=u.submitter)==null?void 0:Se.getAttribute("name");y&&d.append(y,((ie=u.submitter)==null?void 0:ie.getAttribute("value"))??"");const p=new AbortController;let g=!1;const H=await r({action:s,cancel:()=>g=!0,controller:p,formData:d,formElement:e,submitter:u.submitter})??i;if(g)return;let G;try{const O=new Headers({accept:"application/json","x-sveltekit-action":"true"});c!=="multipart/form-data"&&O.set("Content-Type",/^(:?application\/x-www-form-urlencoded|text\/plain)$/.test(c)?c:"application/x-www-form-urlencoded");const de=c==="multipart/form-data"?d:new URLSearchParams(d),ve=await fetch(s,{method:"POST",headers:O,cache:"no-store",body:de,signal:p.signal});G=Ye(await ve.text()),G.type==="error"&&(G.status=ve.status)}catch(O){if((O==null?void 0:O.name)==="AbortError")return;G={type:"error",error:O}}H({action:s,formData:d,formElement:e,update:O=>i({action:s,result:G,reset:O==null?void 0:O.reset,invalidateAll:O==null?void 0:O.invalidateAll}),result:G})}return HTMLFormElement.prototype.addEventListener.call(e,"submit",t),{destroy(){HTMLFormElement.prototype.removeEventListener.call(e,"submit",t)}}}const vt="noCustomValidity";async function lt(e,r){"setCustomValidity"in e&&e.setCustomValidity(""),!(vt in e.dataset)&&Et(e,r)}function en(e,r){for(const i of e.querySelectorAll("input,select,textarea,button")){if("dataset"in i&&vt in i.dataset||!i.name)continue;const t=B(r,oe(i.name)),u=t&&typeof t.value=="object"&&"_errors"in t.value?t.value._errors:t==null?void 0:t.value;if(Et(i,u),u)return}}function Et(e,r){const i=r&&r.length?r.join(`
`):"";e.setCustomValidity(i),i&&e.reportValidity()}const tn=(e,r=0)=>{const i=e.getBoundingClientRect();return i.top>=r&&i.left>=0&&i.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&i.right<=(window.innerWidth||document.documentElement.clientWidth)},nn=(e,r=1.125,i="smooth")=>{const f=e.getBoundingClientRect().top+window.pageYOffset-window.innerHeight/(2*r);window.scrollTo({left:0,top:f,behavior:i})},rn=["checkbox","radio","range","file"];function ct(e){const r=!!e&&(e instanceof HTMLSelectElement||e instanceof HTMLInputElement&&rn.includes(e.type)),i=!!e&&e instanceof HTMLSelectElement&&e.multiple,t=!!e&&e instanceof HTMLInputElement&&e.type=="file";return{immediate:r,multiple:i,file:t}}var x;(function(e){e[e.Idle=0]="Idle",e[e.Submitting=1]="Submitting",e[e.Delayed=2]="Delayed",e[e.Timeout=3]="Timeout"})(x||(x={}));const an=new Set;function sn(e,r,i){let t=x.Idle,u,f;const s=an;function c(){d(),p(t!=x.Delayed?x.Submitting:x.Delayed),u=window.setTimeout(()=>{u&&t==x.Submitting&&p(x.Delayed)},i.delayMs),f=window.setTimeout(()=>{f&&t==x.Delayed&&p(x.Timeout)},i.timeoutMs),s.add(d)}function d(){clearTimeout(u),clearTimeout(f),u=f=0,s.delete(d),p(x.Idle)}function y(){s.forEach(T=>T()),s.clear()}function p(T){t=T,r.submitting.set(t>=x.Submitting),r.delayed.set(t>=x.Delayed),r.timeout.set(t>=x.Timeout)}const g=e;function z(T){const Q=T.target;i.selectErrorText&&Q.select()}function H(){i.selectErrorText&&g.querySelectorAll("input").forEach(T=>{T.addEventListener("invalid",z)})}function G(){i.selectErrorText&&g.querySelectorAll("input").forEach(T=>T.removeEventListener("invalid",z))}const Z=e;{H();const T=Q=>{Q.clearAll?y():d(),Q.cancelled||setTimeout(()=>ze(Z,i),1)};return Me(()=>{G(),T({cancelled:!0})}),{submitting(){c()},completed:T,scrollToFirstError(){setTimeout(()=>ze(Z,i),1)},isSubmitting:()=>t===x.Submitting||t===x.Delayed}}}const ze=async(e,r)=>{if(r.scrollToError=="off")return;const i=r.errorSelector;if(!i)return;await Ve();let t;if(t=e.querySelector(i),!t)return;t=t.querySelector(i)??t;const u=r.stickyNavbar?document.querySelector(r.stickyNavbar):null;typeof r.scrollToError!="string"?t.scrollIntoView(r.scrollToError):tn(t,(u==null?void 0:u.offsetHeight)??0)||nn(t,void 0,r.scrollToError);function f(c){return typeof r.autoFocusOnError=="boolean"?r.autoFocusOnError:!/iPhone|iPad|iPod|Android/i.test(c)}if(!f(navigator.userAgent))return;let s;if(s=t,["INPUT","SELECT","BUTTON","TEXTAREA"].includes(s.tagName)||(s=s.querySelector('input:not([type="hidden"]):not(.flatpickr-input), select, textarea')),s)try{s.focus({preventScroll:!0}),r.selectErrorText&&s.tagName=="INPUT"&&s.select()}catch{}},on={trueStringValue:"true",dateFormat:"iso"};function Sn(e,r,i){return un(e,r,"date",{...on,dateFormat:(i==null?void 0:i.format)??"iso",empty:i==null?void 0:i.empty})}function un(e,r,i,t){function u(p){if(!p&&t.empty!==void 0)return t.empty==="null"?null:t.empty==="zero"?0:void 0;typeof p=="number"&&(p=p.toString()),typeof p!="string"&&(p="");const g=p;return new Date(g)}const s=Tt(e,t)?Ge(e,r,{taint:t.taint}):se(e,r);let c=null,d=!1;return{subscribe:we(s,p=>{if(!d&&(d=!0,t.initiallyEmptyIfZero&&!p))return"";if(c!==null){const g=c;return c=null,g}if(p==null)return"";{const g=p;if(isNaN(g))return"";switch(t.dateFormat){case"iso":return g.toISOString();case"date":return g.toISOString().slice(0,10);case"datetime":return g.toISOString().slice(0,16);case"time":return g.toISOString().slice(11,16);case"date-utc":return pt(g);case"datetime-utc":return pt(g)+"T"+yt(g);case"time-utc":return yt(g);case"date-local":return dt(g);case"datetime-local":return dt(g)+"T"+mt(g);case"time-local":return mt(g)}}}).subscribe,set(p){c=p;const g=u(c);s.set(g)},update(p){s.update(g=>(c=p(String(g)),u(c)))}}}function vn(e,r,i){const t=oe(r),u=t.filter(c=>/\D/.test(String(c))).join("."),s={subscribe:we(e.tainted,c=>{if(!c)return c;const d=B(c,t);return d?d.value:void 0}).subscribe,update(c){e.tainted.update(d=>{d||(d={});const y=B(d,t,p=>(p.value||(p.parent[p.key]={}),p.parent[p.key]));return y&&(y.parent[y.key]=c(y.value)),d})},set(c){e.tainted.update(d=>{d||(d={});const y=B(d,t,p=>(p.value||(p.parent[p.key]={}),p.parent[p.key]));return y&&(y.parent[y.key]=c),d})}};return{path:r,value:Ge(e,r,i),errors:se(e.errors,r),constraints:se(e.constraints,u),tainted:s}}function Oe(e,r,i){const t=B(e,r,({parent:u,key:f,value:s})=>(s===void 0&&(u[f]=/\D/.test(f)?{}:[]),u[f]));if(t){const u=i(t.value);t.parent[t.key]=u}return e}function Ge(e,r,i){const t=e.form,u=oe(r),f=we(t,s=>{const c=B(s,u);return c==null?void 0:c.value});return{subscribe(...s){const c=f.subscribe(...s);return()=>c()},update(s,c){t.update(d=>Oe(d,u,s),c??i)},set(s,c){t.update(d=>Oe(d,u,()=>s),c??i)}}}function Tt(e,r){const i="form"in e;if(!i&&(r==null?void 0:r.taint)!==void 0)throw new F("If options.taint is set, the whole superForm object must be used as a proxy.");return i}function se(e,r,i){const t=oe(r);if(Tt(e,i))return Ge(e,r,i);const u=we(e,f=>{const s=B(f,t);return s==null?void 0:s.value});return{subscribe(...f){const s=u.subscribe(...f);return()=>s()},update(f){e.update(s=>Oe(s,t,f))},set(f){e.update(s=>Oe(s,t,()=>f))}}}function dt(e){return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function mt(e){return String(e.getHours()).padStart(2,"0")+":"+String(e.getMinutes()).padStart(2,"0")}function pt(e){return e.getUTCFullYear()+"-"+String(e.getUTCMonth()+1).padStart(2,"0")+"-"+String(e.getUTCDate()).padStart(2,"0")}function yt(e){return String(e.getUTCHours()).padStart(2,"0")+":"+String(e.getUTCMinutes()).padStart(2,"0")}const _e=new WeakMap,le=new WeakMap,At=e=>{console.warn("Unhandled error caught by Superforms, use onError event to handle it:",e.result.error)},fn={applyAction:!0,invalidateAll:!0,resetForm:!0,autoFocusOnError:"detect",scrollToError:"smooth",errorSelector:'[aria-invalid="true"],[data-invalid]',selectErrorText:!1,stickyNavbar:void 0,taintedMessage:!1,onSubmit:void 0,onResult:void 0,onUpdate:void 0,onUpdated:void 0,onError:At,dataType:"form",validators:void 0,customValidity:!1,clearOnSubmit:"message",delayMs:500,timeoutMs:8e3,multipleSubmits:"prevent",SPA:void 0,validationMethod:"auto"};function ln(e){return`Duplicate form id's found: "${e}". Multiple forms will receive the same data. Use the id option to differentiate between them, or if this is intended, set the warnings.duplicateId option to false in superForm to disable this warning. More information: https://superforms.rocks/concepts/multiple-forms`}let _t=!1;try{SUPERFORMS_LEGACY&&(_t=!0)}catch{}let ce=!1;try{globalThis.STORIES&&(ce=!0)}catch{}function En(e,r){var it;let i,t=r??{},u;{if((t.legacy??_t)&&(t.resetForm===void 0&&(t.resetForm=!1),t.taintedMessage===void 0&&(t.taintedMessage=!0)),ce&&t.applyAction===void 0&&(t.applyAction=!1),typeof t.SPA=="string"&&(t.invalidateAll===void 0&&(t.invalidateAll=!1),t.applyAction===void 0&&(t.applyAction=!1)),u=t.validators,t={...fn,...t},(t.SPA===!0||typeof t.SPA=="object")&&t.validators===void 0&&console.warn("No validators set for superForm in SPA mode. Add a validation adapter to the validators option, or set it to false to disable this warning."),!e)throw new F("No form data sent to superForm. Make sure the output from superValidate is used (usually data.form) and that it's not null or undefined. Alternatively, an object with default values for the form can also be used, but then constraints won't be available.");y(e)===!1&&(e={id:t.id??Math.random().toString(36).slice(2,10),valid:!1,posted:!1,errors:{},data:e,shape:qe(e)}),e=e;const n=e.id=t.id??e.id,a=ge(ye)??(ce?{}:void 0);if(((it=t.warnings)==null?void 0:it.duplicateId)!==!1)if(!_e.has(a))_e.set(a,new Set([n]));else{const o=_e.get(a);o!=null&&o.has(n)?console.warn(ln(n)):o==null||o.add(n)}if(le.has(e)||le.set(e,e),i=le.get(e),e=N(i),Me(()=>{var o;Ct(),Ot(),Vt();for(const l of Object.values(R))l.length=0;(o=_e.get(a))==null||o.delete(n)}),t.dataType!=="json"){const o=(l,m)=>{if(!(!m||typeof m!="object")){if(Array.isArray(m))m.length>0&&o(l,m[0]);else if(!(m instanceof Date)&&!(m instanceof File)&&!(m instanceof FileList))throw new F(`Object found in form field "${l}". Set the dataType option to "json" and add use:enhance to use nested data structures. More information: https://superforms.rocks/concepts/nested-data`)}};for(const[l,m]of Object.entries(e.data))o(l,m)}}const f={formId:e.id,form:N(e.data),constraints:e.constraints??{},posted:e.posted,errors:N(e.errors),message:N(e.message),tainted:void 0,valid:e.valid,submitting:!1,shape:e.shape},s=f,c=W(t.id??e.id);function d(n){return Object.values(n).filter(o=>y(o)!==!1)}function y(n){return!n||typeof n!="object"||!("valid"in n&&"errors"in n&&typeof n.valid=="boolean")?!1:"id"in n&&typeof n.id=="string"?n.id:!1}const p=W(e.data),g={subscribe:p.subscribe,set:(n,a={})=>{const o=N(n);return $e(o,a.taint??!0),p.set(o)},update:(n,a={})=>p.update(o=>{const l=n(o);return $e(l,a.taint??!0),l})};function z(){return t.SPA===!0||typeof t.SPA=="object"}async function H(n={}){const a=n.formData??s.form;let o={},l;const m=n.adapter??t.validators;if(typeof m=="object"){if(m!=u&&!("jsonSchema"in m))throw new F('Client validation adapter found in options.validators. A full adapter must be used when changing validators dynamically, for example "zod" instead of "zodClient".');if(l=await m.validate(a),!l.success)o=Jt(l.issues,m.shape??s.shape??{});else if(n.recheckValidData!==!1)return H({...n,recheckValidData:!1})}else l={success:!0,data:{}};const h={...s.form,...a,...l.success?l.data:{}};return{valid:l.success,posted:!1,errors:o,data:h,constraints:s.constraints,message:void 0,id:s.formId,shape:s.shape}}function G(n){if(!t.onChange||!n.paths.length||n.type=="blur")return;let a;const o=n.paths.map(be);n.type&&n.paths.length==1&&n.formElement&&n.target instanceof Element?a={path:o[0],paths:o,formElement:n.formElement,target:n.target,set(l,m,h){se({form:g},l,h).set(m)},get(l){return ge(se(g,l))}}:a={paths:o,target:void 0,set(l,m,h){se({form:g},l,h).set(m)},get(l){return ge(se(g,l))}},t.onChange(a)}async function Z(n,a=!1,o){n&&(t.validators=="clear"&&Y.update(h=>(J(h,n.paths,void 0),h)),setTimeout(()=>G(n)));let l=!1;if(a||(t.validationMethod=="onsubmit"||t.validationMethod=="submit-only"||t.validationMethod=="onblur"&&(n==null?void 0:n.type)=="input"||t.validationMethod=="oninput"&&(n==null?void 0:n.type)=="blur")&&(l=!0),l||!n||!t.validators||t.validators=="clear"){if(n!=null&&n.paths){const h=(n==null?void 0:n.formElement)??me();h&&T(h)}return}const m=await H({adapter:o});return m.valid&&(n.immediate||n.type!="input")&&g.set(m.data,{taint:"ignore"}),await Ve(),Q(m.errors,n,a),m}function T(n){const a=new Map;if(t.customValidity&&n)for(const o of n.querySelectorAll("[name]")){if(typeof o.name!="string"||!o.name.length)continue;const l="validationMessage"in o?String(o.validationMessage):"";a.set(o.name,{el:o,message:l}),lt(o,void 0)}return a}async function Q(n,a,o){const{type:l,immediate:m,multiple:h,paths:V}=a,te=s.errors,ae={};let D=new Map;const P=a.formElement??me();P&&(D=T(P)),ee(n,v=>{if(!Array.isArray(v.value))return;const _=[...v.path];_[_.length-1]=="_errors"&&_.pop();const fe=_.join(".");function U(){if(J(ae,[v.path],v.value),t.customValidity&&$&&D.has(fe)){const{el:I,message:b}=D.get(fe);b!=v.value&&(setTimeout(()=>lt(I,v.value)),D.clear())}}if(o)return U();const Ae=v.path[v.path.length-1]=="_errors",$=v.value&&V.some(I=>Ae?_&&I&&_.length>0&&_[0]==I[0]:fe==I.join("."));if($&&t.validationMethod=="oninput"||m&&!h&&$)return U();if(h){const I=re(ge(Y),v.path.slice(0,-1));if(I!=null&&I.value&&typeof(I==null?void 0:I.value)=="object"){for(const b of Object.values(I.value))if(Array.isArray(b))return U()}}const pe=re(te,v.path);if(pe&&pe.key in pe.parent)return U();if(Ae){if(t.validationMethod=="oninput"||l=="blur"&&Dt(be(v.path.slice(0,-1))))return U()}else if(l=="blur"&&$)return U()}),Y.set(ae)}function Se(n,a={}){return a.keepFiles&&ee(s.form,o=>{if(!(o.parent instanceof FileList)&&(o.value instanceof File||o.value instanceof FileList)){const l=re(n,o.path);(!l||!(l.key in l.parent))&&J(n,[o.path],o.value)}}),g.set(n,a)}function ie(n,a){return n&&a&&t.resetForm&&(t.resetForm===!0||t.resetForm())}async function O(n,a){n.valid&&a&&ie(n.valid,a)?de({message:n.message,posted:!0}):Te({form:n,untaint:a,keepFiles:!0,skipFormData:t.invalidateAll=="force"}),R.onUpdated.length&&await Ve();for(const o of R.onUpdated)o({form:n})}function de(n={}){n.newState&&(i.data={...i.data,...n.newState});const a=N(i);a.data={...a.data,...n.data},n.id!==void 0&&(a.id=n.id),Te({form:a,untaint:!0,message:n.message,keepFiles:!1,posted:n.posted,resetted:!0})}async function ve(n){if(n.type=="error")throw new F(`ActionResult of type "${n.type}" cannot be passed to update function.`);if(n.type=="redirect"){ie(!0,!0)&&de({posted:!0});return}if(typeof n.data!="object")throw new F("Non-object validation data returned from ActionResult.");const a=d(n.data);if(!a.length)throw new F("No form data returned from ActionResult. Make sure you return { form } in the form actions.");for(const o of a)o.id===s.formId&&await O(o,n.status>=200&&n.status<300)}const ue=W(f.message),Ie=W(f.constraints),je=W(f.posted),Xe=W(f.shape),De=W(e.errors),Y={subscribe:De.subscribe,set(n,a){return De.set(ut(n,s.errors,a==null?void 0:a.force))},update(n,a){return De.update(o=>ut(n(o),s.errors,a==null?void 0:a.force))},clear:()=>Y.set({})};let A=null;function Mt(n){var a;A&&n&&Object.keys(n).length==1&&((a=n.paths)!=null&&a.length)&&A.target&&A.target instanceof HTMLInputElement&&A.target.type.toLowerCase()=="file"?A.paths=n.paths:A=n,setTimeout(()=>{Z(A)},0)}function Ft(n,a,o,l,m){A===null&&(A={paths:[]}),A.type=n,A.immediate=a,A.multiple=o,A.formElement=l,A.target=m}function Je(){return(A==null?void 0:A.paths)??[]}function Ot(){A=null}const j={defaultMessage:"Leave page? Changes that you made may not be saved.",state:W(),message:t.taintedMessage,clean:N(e.data),forceRedirection:!1};function Ke(){return t.taintedMessage&&!s.submitting&&!j.forceRedirection&&Qe()}function Ze(n){if(!Ke())return;n.preventDefault(),n.returnValue="";const{taintedMessage:a}=t,l=typeof a=="function"||a===!0?j.defaultMessage:a;return(n||window.event).returnValue=l||j.defaultMessage,l}async function Pt(n){if(!Ke())return;const{taintedMessage:a}=t,o=typeof a=="function";if(o&&n.cancel(),n.type==="leave")return;const l=o||a===!0?j.defaultMessage:a;let m;try{m=o?await a():window.confirm(l||j.defaultMessage)}catch{m=!1}if(m&&n.to)try{j.forceRedirection=!0,await qt(n.to.url,{...n.to.params});return}finally{j.forceRedirection=!1}else!m&&!o&&n.cancel()}function It(){t.taintedMessage=j.message}function jt(){return j.state}function Dt(n){if(!s.tainted)return!1;if(!n)return!!s.tainted;const a=re(s.tainted,oe(n));return!!a&&a.key in a.parent}function Qe(n){if(!arguments.length)return Ee(s.tainted);if(typeof n=="boolean")return n;if(typeof n=="object")return Ee(n);if(!s.tainted||n===void 0)return!1;const a=re(s.tainted,oe(n));return Ee(a==null?void 0:a.value)}function Ee(n){if(!n)return!1;if(typeof n=="object"){for(const a of Object.values(n))if(Ee(a))return!0}return n===!0}function $e(n,a){if(a=="ignore")return;const o=st(n,s.form),l=st(n,j.clean).map(m=>m.join());o.length&&(a=="untaint-all"||a=="untaint-form"?j.state.set(void 0):j.state.update(m=>(m||(m={}),J(m,o,(h,V)=>{if(!l.includes(h.join()))return;const te=B(n,h),ae=B(j.clean,h);return te&&ae&&te.value===ae.value?void 0:a===!0?!0:a==="untaint"?void 0:V.value}),m))),Mt({paths:o})}function kt(n,a){j.state.set(n),a&&(j.clean=a)}const ke=W(!1),et=W(!1),tt=W(!1),nt=[j.state.subscribe(n=>f.tainted=N(n)),g.subscribe(n=>f.form=N(n)),Y.subscribe(n=>f.errors=N(n)),c.subscribe(n=>f.formId=n),Ie.subscribe(n=>f.constraints=n),je.subscribe(n=>f.posted=n),ue.subscribe(n=>f.message=n),ke.subscribe(n=>f.submitting=n),Xe.subscribe(n=>f.shape=n)];function xt(n){nt.push(n)}function Ct(){nt.forEach(n=>n())}let L;function me(){return L}function Lt(n){L=document.createElement("form"),L.method="POST",L.action=n,rt(L),document.body.appendChild(L)}function Rt(n){L&&(L.action=n)}function Vt(){L!=null&&L.parentElement&&L.remove(),L=void 0}const Ut=we(Y,n=>n?Kt(n):[]);t.taintedMessage=void 0;function Te(n){const a=n.form,o=n.message??a.message;if((n.untaint||n.resetted)&&kt(typeof n.untaint=="boolean"?void 0:n.untaint,a.data),n.skipFormData!==!0&&Se(a.data,{taint:"ignore",keepFiles:n.keepFiles}),ue.set(o),n.resetted?Y.update(()=>({}),{force:!0}):Y.set(a.errors),c.set(a.id),je.set(n.posted??a.posted),a.constraints&&Ie.set(a.constraints),a.shape&&Xe.set(a.shape),f.valid=a.valid,t.flashMessage&&Be(t)){const l=t.flashMessage.module.getFlash(ye);o&&ge(l)===void 0&&l.set(o)}}const R={onSubmit:t.onSubmit?[t.onSubmit]:[],onResult:t.onResult?[t.onResult]:[],onUpdate:t.onUpdate?[t.onUpdate]:[],onUpdated:t.onUpdated?[t.onUpdated]:[],onError:t.onError?[t.onError]:[]};window.addEventListener("beforeunload",Ze),Me(()=>{window.removeEventListener("beforeunload",Ze)}),Ht(Pt),xt(ye.subscribe(async n=>{ce&&n===void 0&&(n={status:200});const a=n.status>=200&&n.status<300;if(t.applyAction&&n.form&&typeof n.form=="object"){const o=n.form;if(o.type=="error")return;for(const l of d(o)){const m=le.has(l);l.id!==s.formId||m||(le.set(l,l),await O(l,a))}}else if(n.data&&typeof n.data=="object")for(const o of d(n.data)){const l=le.has(o);if(o.id!==s.formId||l)continue;t.invalidateAll==="force"&&(i.data=o.data);const m=ie(o.valid,!0);Te({form:o,untaint:a,keepFiles:!m,resetted:m})}})),typeof t.SPA=="string"&&Lt(t.SPA);function rt(n,a){if(t.SPA!==void 0&&n.method=="get"&&(n.method="post"),typeof t.SPA=="string"?t.SPA.length&&n.action==document.location.href&&(n.action=t.SPA):L=n,a){if(a.onError){if(t.onError==="apply")throw new F('options.onError is set to "apply", cannot add any onError events.');if(a.onError==="apply")throw new F('Cannot add "apply" as onError event in use:enhance.');R.onError.push(a.onError)}a.onResult&&R.onResult.push(a.onResult),a.onSubmit&&R.onSubmit.push(a.onSubmit),a.onUpdate&&R.onUpdate.push(a.onUpdate),a.onUpdated&&R.onUpdated.push(a.onUpdated)}It();let o;async function l(D){const P=ct(D.target);P.immediate&&!P.file&&await new Promise(v=>setTimeout(v,0)),o=Je(),Ft("input",P.immediate,P.multiple,n,D.target??void 0)}async function m(D){if(s.submitting||!o||Je()!=o)return;const P=ct(D.target);P.immediate&&!P.file&&await new Promise(v=>setTimeout(v,0)),Z({paths:o,immediate:P.multiple,multiple:P.multiple,type:"blur",formElement:n,target:D.target??void 0}),o=void 0}n.addEventListener("focusout",m),n.addEventListener("input",l),Me(()=>{n.removeEventListener("focusout",m),n.removeEventListener("input",l)});const h=sn(n,{submitting:ke,delayed:et,timeout:tt},t);let V,te;const ae=$t(n,async D=>{let P,v=t.validators;const _={...D,jsonData(b){if(t.dataType!=="json")throw new F("options.dataType must be set to 'json' to use jsonData.");P=b},validators(b){v=b},customRequest(b){te=b}},fe=_.cancel;let U=!1;function xe(b){var X;const w={...b,posted:!0},S=w.valid?200:(typeof t.SPA=="boolean"||typeof t.SPA=="string"||(X=t.SPA)==null?void 0:X.failStatus)??400,k={form:w},C=w.valid?{type:"success",status:S,data:k}:{type:"failure",status:S,data:k};setTimeout(()=>I({result:C}),0)}function Ae(){switch(t.clearOnSubmit){case"errors-and-message":Y.clear(),ue.set(void 0);break;case"errors":Y.clear();break;case"message":ue.set(void 0);break}}function $(b={resetTimers:!0}){return U=!0,b.resetTimers&&h.isSubmitting()&&h.completed({cancelled:U}),fe()}if(_.cancel=$,h.isSubmitting()&&t.multipleSubmits=="prevent")$({resetTimers:!1});else{h.isSubmitting()&&t.multipleSubmits=="abort"&&V&&V.abort(),h.submitting(),V=_.controller;for(const b of R.onSubmit)await b(_)}if(U&&t.flashMessage&&ft(t),!U){const b=!z()&&(n.noValidate||(_.submitter instanceof HTMLButtonElement||_.submitter instanceof HTMLInputElement)&&_.submitter.formNoValidate);let w;const S=async()=>await H({adapter:v});if(Ae(),b||(w=await S(),w.valid||($({resetTimers:!1}),xe(w))),!U){t.flashMessage&&(t.clearOnSubmit=="errors-and-message"||t.clearOnSubmit=="message")&&Be(t)&&t.flashMessage.module.getFlash(ye).set(void 0);const k="formData"in _?_.formData:_.data;if(o=void 0,z())w||(w=await S()),$({resetTimers:!1}),xe(w);else if(t.dataType==="json"){w||(w=await S());const C=N(P??w.data);ee(C,M=>{if(M.value instanceof File){const E="__superform_file_"+be(M.path);return k.append(E,M.value),M.set(void 0)}else if(Array.isArray(M.value)&&M.value.length&&M.value.every(E=>E instanceof File)){const E="__superform_files_"+be(M.path);for(const q of M.value)k.append(E,q);return M.set(void 0)}}),Object.keys(C).forEach(M=>{typeof k.get(M)=="string"&&k.delete(M)});const X=pe(Yt(C),t.jsonChunkSize??5e5);for(const M of X)k.append("__superform_json",M)}if(!k.has("__superform_id")){const C=s.formId;C!==void 0&&k.set("__superform_id",C)}typeof t.SPA=="string"&&Rt(t.SPA)}}function pe(b,w){const S=Math.ceil(b.length/w),k=new Array(S);for(let C=0,X=0;C<S;++C,X+=w)k[C]=b.substring(X,X+w);return k}async function I(b){var M;let w=!1;V=null;let S="type"in b.result&&"status"in b.result?b.result:{type:"error",status:parseInt(String(b.result.status))||500,error:b.result.error instanceof Error?b.result.error:b.result};const k=()=>w=!0,C={result:S,formEl:n,formElement:n,cancel:k},X=ce||!z()?()=>{}:at.subscribe(E=>{var q,ne;!E||((q=E.from)==null?void 0:q.route.id)===((ne=E.to)==null?void 0:ne.route.id)||k()});for(const E of R.onResult)await E(C);if(S=C.result,!w){if((S.type==="success"||S.type=="failure")&&S.data){const E=d(S.data);if(!E.length)throw new F("No form data returned from ActionResult. Make sure you return { form } in the form actions.");for(const q of E){if(q.id!==s.formId)continue;const ne={form:q,formEl:n,formElement:n,cancel:()=>w=!0,result:S};for(const Ce of R.onUpdate)await Ce(ne);S=ne.result,w||(t.customValidity&&en(n,ne.form.errors),ie(ne.form.valid,S.type=="success")&&ne.formElement.querySelectorAll('input[type="file"]').forEach(Ce=>Ce.value=""))}}if(!w){if(S.type!=="error")S.type==="success"&&t.invalidateAll&&await gt(),t.applyAction?await Fe(S):await ve(S);else{if(t.applyAction)if(t.onError=="apply")await Fe(S);else{const E={type:"failure",status:Math.floor(S.status||500),data:S};await Fe(E)}if(t.onError!=="apply"){const E={result:S,message:ue};for(const q of R.onError)q!=="apply"&&(q!=At||!((M=t.flashMessage)!=null&&M.onError))&&await q(E)}}t.flashMessage&&S.type=="error"&&t.flashMessage.onError&&await t.flashMessage.onError({result:S,flashMessage:t.flashMessage.module.getFlash(ye)})}}if(w&&t.flashMessage&&ft(t),w||S.type!="redirect")h.completed({cancelled:w});else if(ce)h.completed({cancelled:w,clearAll:!0});else{const E=at.subscribe(q=>{q||(setTimeout(()=>{try{E&&E()}catch{}}),h.isSubmitting()&&h.completed({cancelled:w,clearAll:!0}))})}X()}if(te){U||fe();const b=await te(D);let w;b instanceof Response?w=Ye(await b.text()):b instanceof XMLHttpRequest?w=Ye(b.responseText):w=b,w.type==="error"&&(w.status=b.status),I({result:w})}return I});return{destroy:()=>{for(const[D,P]of Object.entries(R))R[D]=P.filter(v=>v===t[D]);ae.destroy()}}}function Nt(n){const a=[];if(ee(n,l=>{if(l.value instanceof File)return a.push(l.path),"skip";if(Array.isArray(l.value)&&l.value.length&&l.value.every(m=>m instanceof File))return a.push(l.path),"skip"}),!a.length)return{data:n,paths:a};const o=N(n);return J(o,a,l=>{var m;return(m=re(i.data,l))==null?void 0:m.value}),{data:o,paths:a}}return{form:g,formId:c,errors:Y,message:ue,constraints:Ie,tainted:jt(),submitting:Le(ke),delayed:Le(et),timeout:Le(tt),options:t,capture(){const{data:n,paths:a}=Nt(s.form);let o=s.tainted;return a.length&&(o=N(o)??{},J(o,a,!1)),{valid:s.valid,posted:s.posted,errors:s.errors,data:n,constraints:s.constraints,message:s.message,id:s.formId,tainted:o,shape:s.shape}},restore:n=>{Te({form:n,untaint:n.tainted??!0})},async validate(n,a={}){if(!t.validators)throw new F("options.validators must be set to use the validate method.");a.update===void 0&&(a.update=!0),a.taint===void 0&&(a.taint=!1),typeof a.errors=="string"&&(a.errors=[a.errors]);let o;const l=oe(n);"value"in a?a.update===!0||a.update==="value"?(g.update(V=>(J(V,[l],a.value),V),{taint:a.taint}),o=s.form):(o=N(s.form),J(o,[l],a.value)):o=s.form;const m=await H({formData:o}),h=re(m.errors,l);return h&&h.value&&a.errors&&(h.value=a.errors),(a.update===!0||a.update=="errors")&&Y.update(V=>(J(V,[l],h==null?void 0:h.value),V)),h==null?void 0:h.value},async validateForm(n={}){if(!t.validators&&!n.schema)throw new F("options.validators or the schema option must be set to use the validateForm method.");const a=n.update?await Z({paths:[]},!0,n.schema):H({adapter:n.schema}),o=me();return n.update&&o&&setTimeout(()=>{o&&ze(o,{...t,scrollToError:n.focusOnError===!1?"off":t.scrollToError})},1),a||H({adapter:n.schema})},allErrors:Ut,posted:je,reset(n){return de({message:n!=null&&n.keepMessage?s.message:void 0,data:n==null?void 0:n.data,id:n==null?void 0:n.id,newState:n==null?void 0:n.newState})},submit(n){const a=me()?me():n&&n instanceof HTMLElement?n.closest("form"):void 0;if(!a)throw new F("use:enhance must be added to the form to use submit, or pass a HTMLElement inside the form (or the form itself) as an argument.");if(!a.requestSubmit)return a.submit();const o=n&&(n instanceof HTMLButtonElement&&n.type=="submit"||n instanceof HTMLInputElement&&["submit","image"].includes(n.type));a.requestSubmit(o?n:void 0)},isTainted:Qe,enhance:rt}}let cn=!1;try{SUPERFORMS_LEGACY&&(cn=!0)}catch{}export{Pe as S,se as a,wt as b,We as c,Sn as d,F as e,vn as f,wn as g,K as m,En as s};
//# sourceMappingURL=formData.DptJKcP_.js.map
