vuer 0.0.32rc7__py3-none-any.whl → 0.0.32rc23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of vuer might be problematic. Click here for more details.
- vuer/__pycache__/events.cpython-38.pyc +0 -0
- vuer/__pycache__/server.cpython-38.pyc +0 -0
- vuer/addons/camera_rtc.py +171 -0
- vuer/client_build/404.html +8 -11
- vuer/client_build/assets/chunks/chunk-42690cd5.js +15 -0
- vuer/client_build/assets/chunks/chunk-8db1b443.js +1 -0
- vuer/client_build/assets/chunks/chunk-9ee83150.js +220 -0
- vuer/client_build/assets/chunks/chunk-B5NqXhlg.js +2 -0
- vuer/client_build/assets/chunks/chunk-B5NqXhlg.js.map +1 -0
- vuer/client_build/assets/chunks/chunk-CmlEsaFt.js +6816 -0
- vuer/client_build/assets/chunks/chunk-CmlEsaFt.js.map +1 -0
- vuer/client_build/assets/chunks/chunk-DAfdqQjW.js +16 -0
- vuer/client_build/assets/chunks/chunk-DAfdqQjW.js.map +1 -0
- vuer/client_build/assets/chunks/chunk-DM5X-Fsx.js +53 -0
- vuer/client_build/assets/chunks/chunk-DM5X-Fsx.js.map +1 -0
- vuer/client_build/assets/chunks/chunk-DT-Gzcc9.js +102 -0
- vuer/client_build/assets/chunks/chunk-DT-Gzcc9.js.map +1 -0
- vuer/client_build/assets/chunks/chunk-af3ddd0a.js +6786 -0
- vuer/client_build/assets/chunks/chunk-bbf8b6fc.js +85 -0
- vuer/client_build/assets/chunks/chunk-mF18BbkE.js +3 -0
- vuer/client_build/assets/chunks/chunk-mF18BbkE.js.map +1 -0
- vuer/client_build/assets/entries/entry-client-routing.3c853994.js +2 -0
- vuer/client_build/assets/entries/entry-client-routing.DcliWhPk.js +5 -0
- vuer/client_build/assets/entries/entry-client-routing.DcliWhPk.js.map +1 -0
- vuer/client_build/assets/entries/entry-server-routing.40c0fcc6.js +1 -0
- vuer/client_build/assets/entries/pages_editor.dxxI6p1y.js +2 -0
- vuer/client_build/assets/entries/pages_editor.dxxI6p1y.js.map +1 -0
- vuer/client_build/assets/entries/pages_error.CLFwp4P1.js +2 -0
- vuer/client_build/assets/entries/pages_error.CLFwp4P1.js.map +1 -0
- vuer/client_build/assets/entries/pages_hands.page.8bc91e13.js +1 -0
- vuer/client_build/assets/entries/pages_index.cBvCoMtg.js +2 -0
- vuer/client_build/assets/entries/pages_index.cBvCoMtg.js.map +1 -0
- vuer/client_build/assets/entries/pages_index.page.041ef5af.js +97 -0
- vuer/client_build/assets/entries/pages_simple.DNtn6Zih.js +2 -0
- vuer/client_build/assets/entries/pages_simple.DNtn6Zih.js.map +1 -0
- vuer/client_build/assets/entries/pages_stereo_plane.page.186386ed.js +54 -0
- vuer/client_build/assets/entries/pages_video_plane.page.9303749c.js +1 -0
- vuer/client_build/assets/static/editor.e6iYOnjc.css +1 -0
- vuer/client_build/assets/static/index.CdgWIjKL.css +1 -0
- vuer/client_build/assets/static/logo.2_7Lo9tV.svg +36 -0
- vuer/client_build/assets/static/onRenderClient.DQ-loHhw.css +1 -0
- vuer/client_build/editor/index.html +17 -0
- vuer/client_build/editor/index.pageContext.json +1 -0
- vuer/client_build/hands/index.html +3 -3
- vuer/client_build/index.html +10 -13
- vuer/client_build/index.pageContext.json +1 -1
- vuer/client_build/pages/_error/+Page.d.ts +2 -0
- vuer/client_build/pages/editor/+Page.d.ts +1 -0
- vuer/client_build/pages/index/+Page.d.ts +2 -0
- vuer/client_build/pages/simple/+Page.d.ts +1 -0
- vuer/client_build/renderer/+config.d.ts +45 -0
- vuer/client_build/renderer/+onHydrationEnd.d.ts +3 -0
- vuer/client_build/renderer/+onPageTransitionEnd.d.ts +3 -0
- vuer/client_build/renderer/+onPageTransitionStart.d.ts +3 -0
- vuer/client_build/renderer/+onRenderClient.d.ts +2 -0
- vuer/client_build/renderer/+onRenderHtml.d.ts +2 -0
- vuer/client_build/renderer/Layout.d.ts +6 -0
- vuer/client_build/renderer/Link.d.ts +7 -0
- vuer/client_build/renderer/PageContext.d.ts +19 -0
- vuer/client_build/renderer/getPageTitle.d.ts +3 -0
- vuer/client_build/renderer/useData.d.ts +2 -0
- vuer/client_build/renderer/usePageContext.d.ts +9 -0
- vuer/client_build/simple/index.html +16 -0
- vuer/client_build/simple/index.pageContext.json +1 -0
- vuer/client_build/stereo_plane/index.html +3 -3
- vuer/client_build/video_plane/index.html +3 -3
- vuer/events.py +25 -7
- vuer/schemas/__init__.py +1 -0
- vuer/schemas/__pycache__/__init__.cpython-38.pyc +0 -0
- vuer/schemas/__pycache__/physics_components.cpython-38.pyc +0 -0
- vuer/schemas/__pycache__/scene_components.cpython-38.pyc +0 -0
- vuer/schemas/physics_components.py +19 -0
- vuer/schemas/scene_components.py +28 -3
- vuer/schemas/timeline_components.py +0 -0
- {vuer-0.0.32rc7.dist-info → vuer-0.0.32rc23.dist-info}/METADATA +16 -1
- {vuer-0.0.32rc7.dist-info → vuer-0.0.32rc23.dist-info}/RECORD +80 -19
- {vuer-0.0.32rc7.dist-info → vuer-0.0.32rc23.dist-info}/LICENSE +0 -0
- {vuer-0.0.32rc7.dist-info → vuer-0.0.32rc23.dist-info}/WHEEL +0 -0
- {vuer-0.0.32rc7.dist-info → vuer-0.0.32rc23.dist-info}/entry_points.txt +0 -0
- {vuer-0.0.32rc7.dist-info → vuer-0.0.32rc23.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/chunk-DT-Gzcc9.js","assets/chunks/chunk-CmlEsaFt.js","assets/chunks/chunk-B5NqXhlg.js","assets/chunks/chunk-DM5X-Fsx.js","assets/static/onRenderClient.DQ-loHhw.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as c}from"./chunk-B5NqXhlg.js";import{r,j as l}from"./chunk-DM5X-Fsx.js";import{e as i}from"./chunk-CmlEsaFt.js";const m={all:255,foregrounds:2,backgrounds:1};let s=!1;async function p(a=t=>{s=t}){if(typeof window>"u")return;const{LumaSplatsThree:t}=await c(async()=>{const{LumaSplatsThree:o}=await import("./chunk-DT-Gzcc9.js");return{LumaSplatsThree:o}},__vite__mapDeps([0,1,2,3,4]));i({LumaSplats:t}),a(!0)}function L({src:a,semantics:t="all",...o}){const[n,u]=r.useState(s);return r.useEffect(()=>{s||(async()=>(console.log("registering LumaSplats component. This should occur only once."),await p(e=>{u(e),s=e})))()},[]),n?l.jsx("lumaSplats",{semanticsMask:m[t],source:a,...o}):null}export{L as default};
|
|
3
|
+
//# sourceMappingURL=chunk-mF18BbkE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":";0HAGA,MAAMA,EAAI,CACR,IAAK,IACL,YAAa,EACb,YAAa,CACf,EACA,IAAI,EAAI,GACR,eAAeC,EAAEC,EAAK,GAAM,CAC1B,EAAI,CACN,EAAG,CACD,GAAI,OAAO,OAAS,IAAK,OACzB,KAAM,CAAE,gBAAiBC,GAAM,MAAKC,EAAA,wCAAC,QAAO,qBAA+B,2DAC3EC,EAAE,CAAE,WAAYF,CAAC,CAAE,EAAGD,EAAE,EAAE,CAC5B,CACA,SAAS,EAAE,CACT,IAAKA,EACL,UAAW,EAAI,MACf,GAAG,CACL,EAAG,CACD,KAAM,CAACI,EAAGC,CAAC,EAAIC,EAAC,SAAC,CAAC,EAClB,OAAOC,EAAC,UAAC,IAAM,CACb,IAAM,UACJ,QAAQ,IACN,gEACR,EAAS,MAAMR,EAAGS,GAAM,CAChBH,EAAEG,CAAC,EAAG,EAAIA,CAClB,CAAO,KAEP,EAAK,CAAE,GAAGJ,EAAoBK,EAAC,IAC3B,aACA,CACE,cAAeX,EAAE,CAAC,EAClB,OAAQE,EACR,GAAG,CACJ,CACF,EAAG,IACN","names":["f","m","e","o","__vitePreload","i","r","n","l","c","a","u"],"ignoreList":[0],"sources":["../../../../node_modules/@vuer-ai/vuer/dist/index-D4RZlWUW.js"],"sourcesContent":["import { jsx as u } from \"react/jsx-runtime\";\nimport { extend as i } from \"@react-three/fiber\";\nimport { useState as l, useEffect as c } from \"react\";\nconst f = {\n all: 255,\n foregrounds: 2,\n backgrounds: 1\n};\nlet s = !1;\nasync function m(e = (t) => {\n s = t;\n}) {\n if (typeof window > \"u\") return;\n const { LumaSplatsThree: o } = await import(\"./luma-web.module-BDYasAck.js\");\n i({ LumaSplats: o }), e(!0);\n}\nfunction L({\n src: e,\n semantics: t = \"all\",\n ...o\n}) {\n const [r, n] = l(s);\n return c(() => {\n s || (async () => {\n console.log(\n \"registering LumaSplats component. This should occur only once.\"\n ), await m((a) => {\n n(a), s = a;\n });\n })();\n }, []), r ? /* @__PURE__ */ u(\n \"lumaSplats\",\n {\n semanticsMask: f[t],\n source: e,\n ...o\n }\n ) : null;\n}\nexport {\n L as default\n};\n"],"file":"assets/chunks/chunk-mF18BbkE.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as ie,k as a,p,m as gt,b as g,s as ht,n as pt,q as L,r as w,t as F,u as b,v as ke,d as v,w as M,x as A,y as Y,z as N,A as $,B as Fe,C as se,o as m,a as mt,l as G,D as Ee,E as Te,F as $e,G as yt,H as bt,I as U,J as _t,K as Pt,L as St,c as vt,M as Ie,N as Rt,O as Ae,P as wt,Q as E,R as Ct,S as Ot,T as ae,g as le,i as Q,h as xt,U as kt}from"../chunks/chunk-3d735b94.js";import{_ as x}from"../chunks/chunk-cf010ec4.js";function C(e){return typeof e!="object"||e===null?!1:Object.getPrototypeOf(e)===null?!0:e.constructor.name==="Object"}function ye(e){return"["+e.map(t=>"'"+t+"'").join(", ")+"]"}function X(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!!n&&!("value"in n)&&!!n.get}function Ft(e){return typeof e=="object"&&e!==null&&"then"in e&&ie(e.then)}function Et(e){return[null,void 0].includes(e)?String(e):["boolean","number","string"].includes(typeof e)?JSON.stringify(e):null}function Tt(e){return e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")}function I(e,t,n){const r=It(e,t);if(r===null)return null;const{value:o,definedAt:i}=r;return n&&$t(o,n,t,i),r}function $t(e,t,n,r){a(e!==null);const o=typeof e;if(o===t)return;const i=Et(e),l=i!==null?`value ${p.cyan(i)}`:`type ${p.cyan(o)}`,c=`${gt("Config",n,{definedAt:r})} has an invalid ${l}: it should be a ${p.cyan(t)} instead`;g(!1,c)}function It(e,t){const n=e.configValues[t];return!n||n.value===null?null:n}const At=["default"],Nt=Object.freeze(Object.defineProperty({__proto__:null,exportNames:At},Symbol.toStringTag,{value:"Module"})),jt=["default"],Ht=Object.freeze(Object.defineProperty({__proto__:null,exportNames:jt},Symbol.toStringTag,{value:"Module"})),Lt=["default"],Bt=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Lt},Symbol.toStringTag,{value:"Module"})),Dt=["default"],Wt=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Dt},Symbol.toStringTag,{value:"Module"})),Vt=["Page"],Ut=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Vt},Symbol.toStringTag,{value:"Module"})),Gt=["render","passToClient"],zt=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Gt},Symbol.toStringTag,{value:"Module"})),Kt=["render","onHydrationEnd","onPageTransitionStart","onPageTransitionEnd","clientRouting","hydrationCanBeAborted"],Mt=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Kt},Symbol.toStringTag,{value:"Module"})),ue={},Ne={},Yt={},J={},Jt=[],je={},qt=!0,Qt=[],Xt={configValuesImported:[]},Zt=Object.assign({"/pages/hands.page.tsx":()=>x(()=>import("./pages_hands.page.8bc91e13.js"),["assets/entries/pages_hands.page.8bc91e13.js","assets/chunks/chunk-3010a972.js","assets/chunks/chunk-af3ddd0a.js","assets/chunks/chunk-cf010ec4.js","assets/chunks/chunk-d9bdcef8.js"]),"/pages/index.page.tsx":()=>x(()=>import("./pages_index.page.041ef5af.js"),["assets/entries/pages_index.page.041ef5af.js","assets/chunks/chunk-3010a972.js","assets/chunks/chunk-af3ddd0a.js","assets/chunks/chunk-cf010ec4.js","assets/chunks/chunk-d9bdcef8.js","assets/chunks/chunk-98964cd2.js"]),"/pages/stereo_plane.page.tsx":()=>x(()=>import("./pages_stereo_plane.page.186386ed.js"),["assets/entries/pages_stereo_plane.page.186386ed.js","assets/chunks/chunk-3010a972.js","assets/chunks/chunk-af3ddd0a.js","assets/chunks/chunk-cf010ec4.js","assets/chunks/chunk-d9bdcef8.js","assets/chunks/chunk-98964cd2.js"]),"/pages/video_plane.page.tsx":()=>x(()=>import("./pages_video_plane.page.9303749c.js"),["assets/entries/pages_video_plane.page.9303749c.js","assets/chunks/chunk-3010a972.js","assets/chunks/chunk-af3ddd0a.js","assets/chunks/chunk-cf010ec4.js","assets/chunks/chunk-d9bdcef8.js"]),"/renderer/_error.page.tsx":()=>x(()=>import("./renderer_error.page.3723d86c.js"),["assets/entries/renderer_error.page.3723d86c.js","assets/chunks/chunk-3010a972.js"])}),en={...Zt};ue[".page"]=en;const tn=Object.assign({"/pages/hands.page.tsx":Nt,"/pages/index.page.tsx":Ht,"/pages/stereo_plane.page.tsx":Bt,"/pages/video_plane.page.tsx":Wt,"/renderer/_error.page.tsx":Ut}),nn={...tn};J[".page"]=nn;const rn=Object.assign({"/renderer/_default.page.server.tsx":zt}),on={...rn};J[".page.server"]=on;const sn=Object.assign({}),an={...sn};Ne[".page.route"]=an;const ln=Object.assign({"/renderer/_default.page.client.tsx":()=>x(()=>import("./renderer_default.page.client.9822d975.js"),["assets/entries/renderer_default.page.client.9822d975.js","assets/chunks/chunk-3010a972.js","assets/chunks/chunk-d9bdcef8.js","assets/static/default.page.client.7be06a4d.css"])}),un={...ln};ue[".page.client"]=un;const cn=Object.assign({"/renderer/_default.page.client.tsx":Mt}),fn={...cn};J[".page.client"]=fn;const dn=Object.assign({"/renderer/_default.page.server.tsx":()=>x(()=>import("./renderer_default.page.server.extractAssets.4ed993c7.js"),[])}),gn={...dn};je[".page.server"]=gn;const hn=Object.freeze(Object.defineProperty({__proto__:null,isGeneratedFile:qt,neverLoaded:je,pageConfigGlobalSerialized:Xt,pageConfigsSerialized:Qt,pageFilesEager:Ne,pageFilesExportNamesEager:J,pageFilesExportNamesLazy:Yt,pageFilesLazy:ue,pageFilesList:Jt},Symbol.toStringTag,{value:"Module"}));ht(hn);function pn(){pt(),L()}function mn(){var r,o,i,l;const e=!!((o=(r=window.__REACT_DEVTOOLS_GLOBAL_HOOK__)==null?void 0:r.renderers)!=null&&o.size),t=!!((l=(i=window.__REACT_DEVTOOLS_GLOBAL_HOOK__)==null?void 0:i.rendererInterfaces)!=null&&l.size),n=!!window.__vite_plugin_react_preamble_installed__;return e||t||n}function He(e,t){const n=Object.keys,r=typeof e;return e&&t&&r==="object"&&r===typeof t?n(e).length===n(t).length&&n(e).every(i=>He(e[i],t[i])):e===t}function yn(e,t){return w(e)&&w(t)&&e.constructor===t.constructor&&He({...e,stack:null},{...t,stack:null})&&t.message===t.message}function z(e){window.location.href=e}function bn(e){return new Promise(t=>setTimeout(t,e))}function _n(e,t){let n=!1;return()=>{n||(n=!0,setTimeout(()=>{n=!1,e()},t))}}function Le(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&e()})}function Pn(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()})}function Sn(e){return!e.startsWith("/")&&!e.startsWith(".")&&!e.startsWith("?")&&e!==""}pn();const te=F("history.ts",{});function Be(){let e=window.history.state;e||(e={});let t=!1;"timestamp"in e||(t=!0,e.timestamp=de()),"scrollPosition"in e||(t=!0,e.scrollPosition=fe()),"triggedBy"in e||(e.triggedBy="browser"),De(e),t&&ge(e)}function ce(){const e=window.history.state||{};return De(e),e}function fe(){return{x:window.scrollX,y:window.scrollY}}function de(){return new Date().getTime()}function be(){const e=fe(),t=ce();ge({...t,scrollPosition:e})}function vn(e,t){if(t)ge(ce(),e);else{const n=de();Rn({timestamp:n,scrollPosition:null,triggedBy:"vike"},e)}}function De(e){if(a(w(e)),"timestamp"in e){const{timestamp:t}=e;a(typeof t=="number")}if("scrollPosition"in e){const{scrollPosition:t}=e;t!==null&&a(b(t,"x","number")&&b(t,"y","number"))}}function ge(e,t){window.history.replaceState(e,"",t??null)}function Rn(e,t){We(e,"",t)}function wn(){te.pushStateOriginal=te.pushStateOriginal??window.history.pushState,window.history.pushState=(e={},...t)=>{g(e==null||w(e),"history.pushState(state) argument state must be an object");const n={scrollPosition:fe(),timestamp:de(),...e,triggedBy:"user"};return We(n,...t)}}function We(...e){te.pushStateOriginal.apply(history,e)}async function Cn(e,t){const r=ke(e,t).filter(i=>i.fileType===".page.server");return await Promise.all(r.map(async i=>{i.exportNames||(a(i.loadExportNames,t),await i.loadExportNames())})),{hasOnBeforeRenderServerSideOnlyHook:r.some(({exportNames:i})=>(a(i),i.includes("onBeforeRender")))}}const _e=["urlPathname","urlParsed"],On=["Page","pageExports","exports"];function Ve(e){[...On,..._e].forEach(n=>{n in e&&(_e.includes(n)?(a(n.startsWith("url")),v(!1,`pageContext.${n} is already available in the browser when using Client Routing; adding '${n}' to passToClient has no effect`,{onlyOnce:!0})):v(!1,`pageContext.${n} is a built-in that cannot be overriden; adding '${n}' to passToClient has no effect`,{onlyOnce:!0}),delete e[n])})}const xn="/";function kn(e,t,n){const{pathnameOriginal:r,searchOriginal:o,hashOriginal:i}=M(e,xn);e.startsWith("/")&&a(e===`${r}${o||""}${i||""}`,{url:e});const l=r.endsWith("/");let s;return n&&r!=="/"?(l?s=A(r,0,-1):s=r,a(!s.endsWith("/"),{url:e}),a(s!=="")):s=r+(l?"":"/")+"index",a(s),s=s+t,`${s}${o||""}${i||""}`}const Fn=".pageContext.json",En=!1;function Tn(e){return kn(e,Fn,En)}function Ue(e,{hookName:t,hookFilePath:n}){if(e==null)return;a(!t.endsWith(")"));const r=`The ${p.cyan("pageContext")} object provided by the ${t}() hook defined by ${n}`;g(w(e),`${r} should be an object (but it's ${p.cyan(`typeof pageContext === ${JSON.stringify(typeof e)}`)} instead)`),g(!("_objectCreatedByVike"in e),`${r} shouldn't be the whole ${p.cyan("pageContext")} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`),v(!("_pageId"in e),`${r} sets ${p.cyan("pageContext._pageId")} which means that Vike's routing is overriden. This is an experimental feature: make sure to contact a vike maintainer before using this.`,{onlyOnce:!0}),g(!("is404"in e),`${r} sets ${p.cyan("pageContext.is404")} which is forbidden, use ${p.cyan("throw render()")} instead, see https://vike.dev/render`)}function $n(e,t,n){a(!n.endsWith(" "));const r=[],o=Object.keys(e);for(const i of o)t.includes(i)||r.push(i);g(r.length===0,[n,"returned an object with following unknown keys:",ye(r)+".","Only following keys are allowed:",ye(t)+"."].join(" "))}function In(e,t){if(e==null)return;const n=`The onBeforeRender() hook defined by ${t}`;g(C(e),`${n} should return a plain JavaScript object, ${p.cyan("undefined")}, or ${p.cyan("null")}`),$n(e,["pageContext"],n),e.pageContext&&Ue(e.pageContext,{hookName:"onBeforeRender",hookFilePath:t})}function An(e,t){if(!C(e))return!1;for(const n of Object.keys(e))if(!t.includes(n))return!1;return!0}function Nn(e){return typeof e=="object"&&e!==null&&Object.values(e).every(t=>typeof t=="string")}function jn(e,t,n=r=>r){if(a(e.length>0),e.length===1)return n(e[0]);const r=e.slice(0,e.length-1),o=e[e.length-1];return r.map(n).join(", ")+` ${t} `+n(o)}Y()&&L();async function Hn(e,t){let n;if(e._pageFilesAll.length>0?(a(e._pageConfigs.length===0),n=Ln(e._pageId,e._pageFilesAll)):n=N(e,"guard"),!n)return;const r=n.hookFn;let o=e;const i=t(e);i&&(o=i);const l=await $(()=>r(o),n);g(l===void 0,`The guard() hook of ${n.hookFilePath} returns a value, but guard() doesn't accept any return value`)}function Ln(e,t){const n=t.find(c=>c.pageId===e&&c.fileType===".page.route");if(!n)return null;const{filePath:r,fileExports:o}=n;a(o);const i=o.guard;if(!i)return null;const l=r,s=Fe("guard");return g(ie(i),`guard() defined by ${l} should be a function`),{hookFn:i,hookName:"guard",hookFilePath:l,hookTimeout:s}}function Bn(e){const t=new Error("AbortRender");return m(t,{_pageContextAbort:e,[Ge]:!0}),t}const Ge="_isAbortError";function Pe(e){return typeof e=="object"&&e!==null&&Ge in e}function Dn(e){return e._urlRewrite||e._urlRedirect||e.abortStatusCode?(a(b(e,"_abortCall","string")),!0):!1}function Wn(e,t,n){if(t)return;const r=n._urlRewrite??n.urlOriginal;a(r);const o=e._pageContextAbort._abortCall;se(!1,`${p.cyan(o)} intercepted while rendering ${p.cyan(r)}`,{onlyOnce:!1})}function Vn(e){Un(e);const t={_urlRewrite:null};return e.forEach(n=>{Object.assign(t,n)}),t}function Un(e){const t=[];e.forEach(n=>{const r=n._urlRewrite;{const o=t.indexOf(r);if(o!==-1){const i=[...t.slice(o),r].map(l=>`render('${l}')`).join(" => ");g(!1,`Infinite loop of render() calls: ${i}`)}}t.push(r)})}function Gn(e,t){const n=[e>0&&p.cyan("throw render('/some-url')"),t>0&&p.cyan("throw redirect('/some-url')")].filter(Boolean).join(" and ");g(e+t<=7,`Maximum chain length of 7 ${n} exceeded. Did you define an infinite loop of ${n}?`)}const ze=F("router/getPageContext.ts",{});async function zn(e){const t=mt();Ve(t),m(t,{isHydration:!0,_hasPageContextFromClient:!1}),m(t,await G(t._pageId,e));{const n={...e,...t};if(Je(n)){const r=await Me(n);m(t,r)}}return Ye(t),t}async function Kn(e){const t=Ee(e._pageFilesAll,e._pageConfigs);if(!t)throw new Error("No error page defined.");const n={isHydration:!1,_pageId:t};return m(n,await Ke({...e,...n},!0)),n}async function Mn(e){const t={isHydration:!1,_pageId:e._pageId};return m(t,await Ke({...e,...t},!1)),Ye(t),t}async function Ke(e,t){let n={};m(n,{_hasPageContextFromClient:!1}),m(n,await G(e._pageId,e));let r=!1;if(!t&&await Yn({...e,...n})){const o=await qn(e);if(r=!0,!o._isError)m(n,o);else{const i=Ee(e._pageFilesAll,e._pageConfigs);a(i),n={},m(n,{_hasPageContextFromClient:!1,isHydration:!1,_pageId:i}),m(n,await G(n._pageId,e)),a(b(o,"is404","boolean")),a(b(o,"pageProps","object")),a(b(o.pageProps,"is404","boolean")),a(!("serverSideError"in o)),m(n,o)}}else m(n,{_hasPageContextFromServer:!1}),t||await Hn({...e,...n},o=>Te(o,!0));{const o={...e,...n};if(Je(o)||!r){const i=await Me(o);m(n,i)}else a(r)}return n}async function Me(e){const t=N(e,"onBeforeRender");if(!t)return{_hasPageContextFromClient:!1};const n=t.hookFn,r={_hasPageContextFromClient:!0},o=Te({...e,...r},!0),i=await $(()=>n(o),t);In(i,t.hookFilePath);const l=i==null?void 0:i.pageContext;return m(r,l),r}function Ye(e){e._pageContextInitHasClientData&&(ze.pageContextInitHasClientData=!0)}async function Yn(e){return!!ze.pageContextInitHasClientData||await Jn(e)}async function Jn(e){var t;if(e._pageConfigs.length>0){const n=$e(e._pageId,e._pageConfigs),r=((t=I(n,"onBeforeRenderEnv"))==null?void 0:t.value)??{};return a(w(r)),!!r.server&&!r.client}else{const{hasOnBeforeRenderServerSideOnlyHook:n}=await Cn(e._pageFilesAll,e._pageId);return n}}function Je(e){var t;if(e._pageConfigs.length>0){const n=$e(e._pageId,e._pageConfigs),r=((t=I(n,"onBeforeRenderEnv"))==null?void 0:t.value)??{};return a(w(r)),!!r.client&&!r.server}else return!1}async function qn(e){const t=Tn(e._urlRewrite??e.urlOriginal),n=await fetch(t);{const i=n.headers.get("content-type"),l="application/json",s=i&&i.includes(l);if(!s&&n.status===404)throw z(e.urlOriginal),Xn();g(s,`Wrong Content-Type for ${t}: it should be ${l} but it's ${i} instead. Make sure to properly use pageContext.httpResponse.headers, see https://vike.dev/renderPage`)}const r=await n.text(),o=yt(r);if(a(w(o)),"serverSideError"in o)throw bt("The pageContext object couldn't be fetched from the server as an error occurred on the server-side. Check your server logs.");if(Dn(o))throw Bn(o);return a(b(o,"_pageId","string")),Ve(o),m(o,{_hasPageContextFromServer:!0}),o}function Qn(e){return w(e)&&!!e._alreadyServerSideRouted}function Xn(){const e=new Error("Page doesn't exist");return Object.assign(e,{_alreadyServerSideRouted:!0}),e}function qe(e,t=!0){a(e.urlOriginal),"urlPathname"in e&&(a(typeof e.urlPathname=="string"),a(X(e,"urlPathname"))),"urlParsed"in e&&a(X(e,"urlParsed")),"url"in e&&a(X(e,"url")),Object.defineProperty(e,"urlPathname",{get:Xe,enumerable:t,configurable:!0}),Object.defineProperty(e,"url",{get:Zn,enumerable:!1,configurable:!0}),Object.defineProperty(e,"urlParsed",{get:er,enumerable:t,configurable:!0})}function Qe(e){let t=e._urlHandler;t||(t=o=>o);let n=e._urlRewrite??e.urlLogical??e.urlOriginal;n=t(n);const r=e._baseServer;return a(n&&typeof n=="string"),a(r.startsWith("/")),M(n,r)}function Xe(){const{pathname:e}=Qe(this),t=e;return a(t.startsWith("/")),t}function Zn(){return v(!1,"`pageContext.url` is outdated. Use `pageContext.urlPathname`, `pageContext.urlParsed`, or `pageContext.urlOriginal` instead. (See https://vike.dev/migration/0.4.23 for more information.)",{onlyOnce:!0,showStackTrace:!0}),Xe.call(this)}function er(){const e=Qe(this),{origin:t,pathname:n,pathnameOriginal:r,search:o,searchAll:i,searchOriginal:l,hash:s,hashOriginal:c}=e,d=Y(),_=u=>{v(d,`pageContext.urlParsed.${u} isn't available on the server-side (HTTP requests don't include the URL hash by design)`,{onlyOnce:!0,showStackTrace:!0})},f={origin:t,pathname:n,pathnameOriginal:r,search:o,searchAll:i,searchOriginal:l,get hash(){return _("hash"),s},get hashOriginal(){return _("hashOriginal"),c},get hashString(){return v(!1,"pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal",{onlyOnce:!0,showStackTrace:!0}),_("hashString"),c},get searchString(){return v(!1,"pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal",{onlyOnce:!0,showStackTrace:!0}),l}};return D(f,"hashString"),D(f,"searchString"),d||(D(f,"hash"),D(f,"hashOriginal")),f}function D(e,t){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(e,t,{...n,enumerable:!1})}function tr(e){a(typeof e.urlOriginal=="string"),a(typeof e.urlPathname=="string"),a(C(e.urlParsed)),a(e.urlPathname===e.urlParsed.pathname)}function nr(e,t){const r=t.filter(({filesystemRoot:i})=>e.startsWith(i)).sort(U(({filesystemRoot:i})=>i.length))[0];let o;if(r){const{filesystemRoot:i,urlRoot:l}=r,s={pageId:e,filesystemRoot:i,urlRoot:l};a(l.startsWith("/")&&e.startsWith("/")&&i.startsWith("/"),s),a(e.startsWith(i),s),i!=="/"?(a(!i.endsWith("/"),s),o=A(e,i.length,0)):o=e,a(o.startsWith("/"),s),o=l+(l.endsWith("/")?"":"/")+A(o,1,0)}else o=e;return a(o.startsWith("/")),o=o.split("/").filter(i=>i!=="pages"&&i!=="src"&&i!=="index").join("/"),a(!o.includes(".page.")),a(!o.endsWith(".")),o.endsWith("/index")&&(o=A(o,0,-6)),o===""&&(o="/"),a(o.startsWith("/")),a(!o.endsWith("/")||o==="/"),o}async function rr(e,t,n){tr(t);let r=e(t);if(Ze(r,`The Route Function ${n}`),r=await r,r===!1)return null;if(r===!0&&(r={}),g(C(r),`The Route Function ${n} should return a boolean or a plain JavaScript object (but it's ${p.cyan(`typeof result === ${JSON.stringify(typeof r)}`)} instead)`),"match"in r){const{match:l}=r;if(g(typeof l=="boolean",`The ${p.cyan("match")} value returned by the Route Function ${n} should be a boolean.`),!l)return null}let o=null;"precedence"in r&&(o=r.precedence,g(typeof o=="number",`The ${p.cyan("precedence")} value returned by the Route Function ${n} should be a number.`)),et(r,`The ${p.cyan("routeParams")} object returned by the Route Function ${n} should`);const i=r.routeParams||{};return g(!("pageContext"in r),`Providing ${p.cyan("pageContext")} in Route Functions is prohibited, see https://vike.dev/route-function#cannot-provide-pagecontext`),a(C(i)),Object.keys(r).forEach(l=>{g(l==="match"||l==="routeParams"||l==="precedence",`The Route Function ${n} returned an object with an unknown property ${p.cyan(l)} (the known properties are ${p.cyan("match")}, ${p.cyan("routeParams")}, and ${p.cyan("precedence")})`)}),{precedence:o,routeParams:i}}function Ze(e,t){v(!Ft(e),`${t} returned a promise, but asynchronous routing is deprecated and will be removed in the next major release, see https://vike.dev/route-function#async`,{onlyOnce:!0})}function Se(){const e=p.cyan("iKnowThePerformanceRisksOfAsyncRouteFunctions");v(!1,`${e} is deprecated and will be removed in the next major release`,{onlyOnce:!0})}function et(e,t){a(t.endsWith(" should")),b(e,"routeParams")&&(a(t.endsWith(" should")),g(C(e.routeParams),`${t} be a plain JavaScript object.`),g(Nn(e.routeParams),`${t} only hold string values.`))}async function or(e,t,n,r){await Promise.all(e.filter(s=>s.fileType===".page.route").map(s=>{var c;return(c=s.loadFile)==null?void 0:c.call(s)}));const{onBeforeRouteHook:o,filesystemRoots:i}=sr(e,t,n);return{pageRoutes:ir(i,e,t,r),onBeforeRouteHook:o}}function ir(e,t,n,r){const o=[];let i=[...r];if(n.length>0){a(e===null);const l=!0;n.filter(s=>!s.isErrorPage).forEach(s=>{const c=s.pageId;i=lr(i,c);let d=null;{const _="route",f=I(s,_);if(f){const u=f.value,y=_t(f.definedAt,_);typeof u=="string"?d={pageId:c,comesFromV1PageConfig:l,routeString:u,routeDefinedAt:y,routeType:"STRING"}:(a(ie(u)),I(s,"iKnowThePerformanceRisksOfAsyncRouteFunctions","boolean")&&Se(),d={pageId:c,comesFromV1PageConfig:l,routeFunction:u,routeDefinedAt:y,routeType:"FUNCTION"})}}if(!d){const{routeFilesystem:_}=s;a(_);const{routeString:f,definedBy:u}=_;a(_.routeString.startsWith("/")),d={pageId:c,routeFilesystemDefinedBy:u,comesFromV1PageConfig:l,routeString:f,routeDefinedAt:null,routeType:"FILESYSTEM"}}a(d),o.push(d)})}if(n.length===0){a(e);const l=!1;i.filter(s=>!Pt(s)).forEach(s=>{const c=t.find(d=>d.pageId===s&&d.fileType===".page.route");if(!c||!("default"in c.fileExports)){const d=nr(s,e);a(d.startsWith("/")),a(!d.endsWith("/")||d==="/"),o.push({pageId:s,comesFromV1PageConfig:l,routeString:d,routeDefinedAt:null,routeFilesystemDefinedBy:`${s}.page.*`,routeType:"FILESYSTEM"})}else{const{filePath:d,fileExports:_}=c;if(a(_.default),b(_,"default","string")){const f=_.default;g(f.startsWith("/"),`A Route String should start with a leading slash '/' but ${d} has \`export default '${f}'\`. Make sure to \`export default '/${f}'\` instead.`),o.push({pageId:s,comesFromV1PageConfig:l,routeString:f,routeDefinedAt:d,routeType:"STRING"});return}if(b(_,"default","function")){const f=_.default;"iKnowThePerformanceRisksOfAsyncRouteFunctions"in _&&Se(),o.push({pageId:s,comesFromV1PageConfig:l,routeFunction:f,routeDefinedAt:d,routeType:"FUNCTION"});return}g(!1,`The default export of ${d} should be a string or a function.`)}})}return o}function sr(e,t,n){if(t.length>0)return{onBeforeRouteHook:St(n,"onBeforeRoute"),filesystemRoots:null};let r=null;const o=[];return e.filter(i=>i.fileType===".page.route"&&i.isDefaultPageFile).forEach(({filePath:i,fileExports:l})=>{if(a(l),"onBeforeRoute"in l){g(b(l,"onBeforeRoute","function"),`\`export { onBeforeRoute }\` of ${i} should be a function.`);const{onBeforeRoute:s}=l,c="onBeforeRoute";r={hookFilePath:i,hookFn:s,hookName:c,hookTimeout:Fe(c)}}"filesystemRoutingRoot"in l&&(g(b(l,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${i} should be a string.`),g(b(l,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${i} is \`'${l.filesystemRoutingRoot}'\` but it should start with a leading slash \`/\`.`),o.push({filesystemRoot:ar(i),urlRoot:l.filesystemRoutingRoot}))}),{onBeforeRouteHook:r,filesystemRoots:o}}function ar(e){a(e.startsWith("/")),a(!e.endsWith("/"));const t=e.split("/"),n=A(t,0,-1).join("/")||"/";return a(n.startsWith("/")),a(!n.endsWith("/")||n==="/"),n}function lr(e,t){const{length:n}=e;return e=e.filter(r=>r!==t),a(e.length===n-1),e}function tt(){const e="/";return a(ur(e)),e}function ur(e){return e.startsWith("/")}const Z=F("createPageContext.ts",{});async function nt(e){Z.pageFilesData||(Z.pageFilesData=await vt(!0));const{pageFilesAll:t,allPageIds:n,pageConfigs:r,pageConfigGlobal:o}=Z.pageFilesData,{pageRoutes:i,onBeforeRouteHook:l}=await or(t,r,o,n),s=tt();a(Ie(s));const d={urlOriginal:e,_objectCreatedByVike:!0,_urlHandler:null,_urlRewrite:null,_baseServer:s,_isProduction:!0,_pageFilesAll:t,_pageConfigs:r,_pageConfigGlobal:o,_allPageIds:n,_pageRoutes:i,_onBeforeRouteHook:l};return qe(d),d}function rt(e){const t=e.getAttribute("href");return!!(t===null||t===""||Sn(t)||fr(e)||dr(t)||!gr(t)||!Rt(t)||!cr(e))}function cr(e){if(hr()){const n=e.getAttribute("data-vike-link");return n!==null&&n!=="false"}else return!0}function fr(e){const t=e.getAttribute("target"),n=e.getAttribute("rel");return t==="_blank"||t==="_external"||n==="external"||e.hasAttribute("download")}function dr(e){if(e.startsWith("#"))return!0;const t=n=>n.split("#")[0];return!!(e.includes("#")&&t(e)===t(window.location.href))}function gr(e){const t=tt();a(Ie(t));const{hasBaseServer:n}=M(e,t);return n}function hr(){return!!window._disableAutomaticLinkInterception}function pr(e,t){let n=mr(e,t);return n==="viewport"&&!e._isProduction&&(se(!1,"Viewport prefetching is disabled in development",{onlyOnce:!0}),n="hover"),{prefetchStaticAssets:n}}function mr(e,t){{const n=yr(t);if(n!==null)return n}if("prefetchLinks"in e.exports&&g(!1,"`export { prefetchLinks }` is deprecated, use `export { prefetchStaticAssets }` instead."),"prefetchStaticAssets"in e.exports){const{prefetchStaticAssets:n}=e.exports;if(n===!1)return!1;if(n==="hover")return"hover";if(n==="viewport")return"viewport";const r="prefetchStaticAssets value should be false, 'hover', or 'viewport'";g(C(n),r);const o=Object.keys(n);g(o.length===1&&o[0]==="when",r);const{when:i}=n;if(i==="HOVER"||i==="VIEWPORT"){const l=i.toLowerCase();return v(!1,`prefetchStaticAssets value \`{ when: '${i}' }\` is outdated: set prefetchStaticAssets to '${l}' instead`,{onlyOnce:!0}),l}g(!1,r)}return"hover"}function yr(e){const t=e.getAttribute("data-prefetch-static-assets"),n=e.getAttribute("data-prefetch");if(t===null&&n===null)return null;const r="The attribute data-prefetch is outdated, use data-prefetch-static-assets instead.";if(t){if(g(n===null,r),t==="hover"||t==="viewport")return t;if(t==="false")return!1;g(!1,`data-prefetch-static-assets has value "${t}" but it should instead be "false", "hover", or "viewport"`)}if(n){if(a(!t),v(!1,r,{onlyOnce:!0}),n==="true")return"viewport";if(n==="false")return"hover";g(!1,`data-prefetch has value "${n}" but it should instead be "true" or "false"`)}a(!1)}const ot=new Map;function br(e){const t=it(e);return ot.has(t)}function _r(e){const t=it(e);ot.set(t,!0)}function it(e){return M(e,"/").pathname}function j(e){return e.fileType===".css"?[]:e.exportNames?e.exportNames:(a(e.fileExports,e.filePath),Object.keys(e.fileExports))}function Pr({pageFilesClientSide:e,pageFilesServerSide:t,pageId:n}){return{isHtmlOnly:r(),isClientRouting:i()};function r(){return t.some(s=>s.pageId===n&&s.fileType===".page")?(o(),!1):!(!t.some(s=>s.pageId===n&&s.fileType===".page.server")||e.some(s=>s.pageId===n&&s.fileType===".page.client"&&j(s).includes("render")))}function o(){const l=e.some(s=>j(s).includes("render"));g(l,["No client-side `render()` hook found.","See https://vike.dev/render-modes for more information.",["Loaded client-side page files (none of them `export { render }`):",...e.map((s,c)=>` (${c+1}): ${s.filePath}`)].join(`
|
|
2
|
+
`)].join(" "))}function i(){return e.some(s=>j(s).includes("clientRouting"))}}function Sr({pageFilesClientSide:e,pageFilesServerSide:t,isHtmlOnly:n,isClientRouting:r}){let o=[];const i=t.filter(s=>!e.includes(s)),l=[];if(l.push(...e.map(s=>({id:s.filePath,onlyAssets:!1,eagerlyImported:!1}))),l.push(...i.map(s=>({id:s.filePath,onlyAssets:!0,eagerlyImported:!1}))),n)o=e.map(s=>s.filePath);else{const s=vr(r);l.push({id:s,onlyAssets:!1,eagerlyImported:!1}),o=[s]}return{clientEntries:o,clientDependencies:l}}function vr(e){return e?"@@vike/dist/esm/client/client-routing-runtime/entry.js":"@@vike/dist/esm/client/server-routing-runtime/entry.js"}function Rr(e,t){let n=Ae(e,t);const r=ke(e,t),{isHtmlOnly:o,isClientRouting:i}=Pr({pageFilesClientSide:n,pageFilesServerSide:r,pageId:t});o&&(n=n.filter(c=>c.isEnv("CLIENT_ONLY")&&!j(c).includes("render")),n=Cr(n));const{clientEntries:l,clientDependencies:s}=Sr({pageFilesClientSide:n,pageFilesServerSide:r,isHtmlOnly:o,isClientRouting:i});return{isHtmlOnly:o,isClientRouting:i,clientEntries:l,clientDependencies:s,pageFilesClientSide:n,pageFilesServerSide:r}}async function wr(e,t,{sharedPageFilesAlreadyLoaded:n}){const r=Ae(e,t);await Promise.all(r.map(async o=>{var i;a(o.isEnv("CLIENT_ONLY")||o.isEnv("CLIENT_AND_SERVER")),!(n&&o.isEnv("CLIENT_AND_SERVER"))&&await((i=o.loadExportNames)==null?void 0:i.call(o))}))}function Cr(e){const t=[];for(const n of e)if(t.push(n),j(n).includes("overrideDefaultPages"))break;return t}function Or(e,t,n){var r,o;if(e){const i=((r=I(e,"clientRouting","boolean"))==null?void 0:r.value)??!1;return{isClientSideRenderable:((o=I(e,"isClientSideRenderable","boolean"))==null?void 0:o.value)??!1,isClientRouting:i}}else{const{isHtmlOnly:i,isClientRouting:l}=Rr(t,n);return{isClientSideRenderable:!i,isClientRouting:l}}}async function st(e,t){await wr(t._pageFilesAll,e,{sharedPageFilesAlreadyLoaded:!1});const n=wt(t._pageConfigs,e),{isClientSideRenderable:r,isClientRouting:o}=Or(n,t._pageFilesAll,e);return r&&o}const at="@",ne=":";function xr(e,t="Invalid"){let n=`${t} Route String ${k(e)}`;g(e!=="",`${n} (empty string): set it to ${k("/")} instead`),g(["/","*"].includes(e[0]),`${n}: it should start with ${k("/")} or ${k("*")}`),g(!e.includes("**"),`${n}: set it to ${k(e.split("**").join("*"))} instead`)}function re(e,t){xr(e);const n=lt(e),r=n.map(f=>f.param?"[^/]+":f.glob?f.isLastDir?"|/.*":".*":Tt(f.static)).map(f=>`(${f})`).join(""),o=new RegExp(`^${r}/?$`),i=t.match(o);if(!i)return null;const l={},[s,...c]=i;let d=0;const _=n.filter(f=>f.glob).length>1;return n.forEach((f,u)=>{let y=c[u];if(f.param&&(l[f.param]=y),f.glob){const O=`*${_?++d:""}`;f.isLastDir&&(y=y.slice(1)),l[O]=y}}),{routeParams:l}}function lt(e){const t=[],n=o=>{const i=t[t.length-1];i!=null&&i.static?i.static+=o:t.push({static:o})},r=e.split("/");return r.forEach((o,i)=>{const l=i===0,s=i===r.length-1;kr(o)?(v(!o.startsWith(ne),`Outdated Route String ${k(e)}, use ${k(e.split(ne).join(at))} instead`,{onlyOnce:!0}),l||n("/"),t.push({param:o.slice(1)})):o==="*"&&s&&e!=="*"&&e!=="/*"?t.push({glob:!0,isLastDir:!0}):(l||n("/"),o.split("*").forEach((c,d)=>{d!==0&&t.push({glob:!0}),c!==""&&n(c)}))}),t}function W(e){const t=lt(e),n=s=>(s==null?void 0:s.split("/").filter(Boolean).length)||0;let r=0;for(const s of t){if(!s.static)break;r+=n(s.static)}const o=t.map(s=>n(s.static)).reduce((s,c)=>s+c,0),i=t.filter(s=>s.param).length,l=t.filter(s=>s.glob).length;return{numberOfStaticPartsBeginning:r,numberOfStaticParts:o,numberOfParams:i,numberOfGlobs:l}}function kr(e){return e.startsWith(at)||e.startsWith(ne)}function ve(e){const n=re(e,e);return a(n),Object.keys(n.routeParams).length===0}function k(e){return Y()?`'${e}'`:(e===""&&(e="''"),p.cyan(e))}function Fr(e){e.sort(Er).sort(E(t=>t.routeType==="FUNCTION"&&!!t.precedence&&t.precedence<0)).sort(E(t=>t.routeType==="STRING"&&ve(t.routeString)===!1)).sort(E(t=>t.routeType==="FUNCTION"&&!t.precedence)).sort(E(t=>t.routeType==="STRING"&&ve(t.routeString)===!0)).sort(E(t=>t.routeType==="FILESYSTEM")).sort(E(t=>t.routeType==="FUNCTION"&&!!t.precedence&&t.precedence>0))}function Er(e,t){{const n=e.precedence??0,r=t.precedence??0;if(n!==r)return n>r?-1:1}if(!t.routeString||!e.routeString)return 0;{const r=U(o=>W(o).numberOfStaticPartsBeginning)(e.routeString,t.routeString);if(r!==0)return r}{const r=U(o=>W(o).numberOfStaticParts)(e.routeString,t.routeString);if(r!==0)return r}{const r=Ct(o=>W(o).numberOfGlobs)(e.routeString,t.routeString);if(r!==0)return r}{const r=U(o=>W(o).numberOfParams)(e.routeString,t.routeString);if(r!==0)return r}return 0}async function Tr(e){const t={};if(!e._onBeforeRouteHook)return null;const n=await $r(e._onBeforeRouteHook,e);return n&&(m(t,n),b(t,"_pageId","string")||b(t,"_pageId","null"))?(b(t,"routeParams")?a(b(t,"routeParams","object")):m(t,{routeParams:{}}),m(t,{_routingProvidedByOnBeforeRouteHook:!0,_debugRouteMatches:"CUSTOM_ROUTING"}),t):(m(t,{_routingProvidedByOnBeforeRouteHook:!1}),t)}async function $r(e,t){let n=e.hookFn(t);Ze(n,`The onBeforeRoute() hook ${e.hookFilePath}`),n=await $(()=>n,e);const r=`The onBeforeRoute() hook defined by ${e.hookFilePath}`;if(g(n==null||An(n,["pageContext"])&&b(n,"pageContext"),`${r} should return ${p.cyan("null")}, ${p.cyan("undefined")}, or a plain JavaScript object ${p.cyan("{ pageContext: { /* ... */ } }")}`),n==null)return null;if(g(b(n,"pageContext","object"),`${r} returned ${p.cyan("{ pageContext }")} but pageContext should be a plain JavaScript object.`),b(n.pageContext,"_pageId")&&!b(n.pageContext,"_pageId","null")){const l=`${r} returned ${p.cyan("{ pageContext: { _pageId } }")} but ${p.cyan("_pageId")} should be`;g(b(n.pageContext,"_pageId","string"),`${l} a string or null`),g(t._allPageIds.includes(n.pageContext._pageId),`${l} ${jn(t._allPageIds.map(s=>p.cyan(s)),"or")}`)}b(n.pageContext,"routeParams")&&et(n.pageContext,`${r} returned ${p.cyan("{ pageContext: { routeParams } }")} but routeParams should`);const o=l=>`${r} returned ${p.cyan(`{ pageContext: { ${l} } }`)} which is deprecated. Return ${p.cyan("{ pageContext: { urlLogical } }")} instead.`;b(n.pageContext,"url")&&(v(!1,o("url"),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.url,delete n.pageContext.url),b(n.pageContext,"urlOriginal")&&(v(!1,o("urlOriginal"),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.urlOriginal,delete n.pageContext.urlOriginal),b(n.pageContext,"urlLogical")&&Ot(n.pageContext.urlLogical,`${r} returned ${p.cyan("{ pageContext: { urlLogical } }")} but ${p.cyan("urlLogical")}`),Ue(n.pageContext,{hookFilePath:e.hookFilePath,hookName:"onBeforeRoute"});const i={};return m(i,n.pageContext),i}var V;function Re(...e){var t;V||(V=(t=globalThis.__brillout_debug_createDebugger)==null?void 0:t.call(globalThis,"vike:routing")),V&&V(...e)}Y()&&L();async function ut(e){Re("Pages routes:",e._pageRoutes),qe(e);const t={},n=await Tr(e);if(n){if(n._routingProvidedByOnBeforeRouteHook)return a(n._pageId),n;m(t,n)}const r={};m(r,e),m(r,n);const o=r._allPageIds;a(o.length>=0),g(r._pageFilesAll.length>0||r._pageConfigs.length>0,"No *.page.js file found. You must create at least one *.page.js file."),g(o.length>0,"You must create at least one *.page.js file that isn't _default.page.*");const{urlPathname:i}=r;a(i.startsWith("/"));const l=[];await Promise.all(r._pageRoutes.map(async c=>{const{pageId:d,routeType:_}=c;if(c.routeType==="FILESYSTEM"){const{routeString:f}=c,u=re(f,i);if(u){const{routeParams:y}=u;l.push({pageId:d,routeParams:y,routeString:f,routeType:_})}return}if(c.routeType==="STRING"){const{routeString:f}=c,u=re(f,i);if(u){const{routeParams:y}=u;a(_==="STRING"),l.push({pageId:d,routeString:f,routeParams:y,routeType:_})}return}if(c.routeType==="FUNCTION"){const{routeFunction:f,routeDefinedAt:u}=c,y=await rr(f,r,u);if(y){const{routeParams:O,precedence:B}=y;l.push({pageId:d,precedence:B,routeParams:O,routeType:_})}return}a(!1)})),Fr(l);const s=l[0];if(Re(`Route matches for URL ${p.cyan(i)} (in precedence order):`,l),m(t,{_debugRouteMatches:l}),!s)return m(t,{_pageId:null,routeParams:{}}),t;{const{routeParams:c}=s;a(C(c)),m(t,{_pageId:s.pageId,routeParams:s.routeParams})}return t}L();const we=F("prefetch.ts",{linkPrefetchHandlerAdded:new Map});async function Ir(e,t){try{await G(e,t)}catch(n){if(ae(n))oe(n,!0);else throw n}}function Ar(e){_r(e.urlPathname),[...document.getElementsByTagName("A")].forEach(n=>{if(we.linkPrefetchHandlerAdded.has(n))return;we.linkPrefetchHandlerAdded.set(n,!0);const r=n.getAttribute("href");if(rt(n)||(a(r),br(r)))return;const{prefetchStaticAssets:o}=pr(e,n);if(o&&(o==="hover"&&(n.addEventListener("mouseover",()=>{ee(r)}),n.addEventListener("touchstart",()=>{ee(r)},{passive:!0})),o==="viewport")){const i=new IntersectionObserver(l=>{l.forEach(s=>{s.isIntersecting&&(ee(r),i.disconnect())})});i.observe(n)}})}async function ee(e){const t=await nt(e);let n;try{n=await ut(t)}catch{return}n!=null&&n._pageId&&await st(n._pageId,t)&&await Ir(n._pageId,t)}function ct(e){if(e==="preserve-scroll")return;let t;if(e==="scroll-to-top-or-hash"){const n=jr();if(n&&n!=="top"){const r=document.getElementById(n)||document.getElementsByName(n)[0];if(r){r.scrollIntoView();return}}t={x:0,y:0}}else a("x"in e&&"y"in e),t=e;Nr(t)}function Nr(e){const t=()=>window.scrollTo(e.x,e.y),n=()=>window.scrollX===e.x&&window.scrollY===e.y;n()||(t(),!n()&&requestAnimationFrame(()=>{t(),!n()&&setTimeout(async()=>{if(t(),n())return;const r=new Date().getTime();for(;;)if(await bn(10),t(),n()||new Date().getTime()-r>100)return},0)}))}function jr(){let{hash:e}=window.location;return e===""?null:(a(e.startsWith("#")),e=e.slice(1),e)}function Hr(){window.addEventListener("scroll",_n(be,Math.ceil(1e3/3)),{passive:!0}),Le(be)}const T=F("onBrowserHistoryNavigation.ts",{previousState:K()});function Lr(){window.addEventListener("popstate",e=>{const t=K(),n=t.historyState.scrollPosition||"scroll-to-top-or-hash",r=t.historyState.triggedBy==="user",o=t.urlWithoutHash===T.previousState.urlWithoutHash,i=!t.historyState.timestamp||!T.previousState.historyState.timestamp?null:t.historyState.timestamp<T.previousState.historyState.timestamp;T.previousState=t,o&&!r?window.history.state===null?(Be(),T.previousState=K()):ct(n):H({scrollTarget:n,isBackwardNavigation:i,isUserLandPushStateNavigation:r})})}function K(){return{urlWithoutHash:le({withoutHash:!0}),historyState:ce()}}function Br(){T.previousState=K()}const ft=F("scrollRestoration.ts",{});function Dr(){Ce(),Le(Ce),Pn(()=>ft.initialRenderIsDone&&he())}function Wr(){ft.initialRenderIsDone=!0}function he(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual")}function Ce(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto")}const P=F("renderPageClientSide.ts",{renderCounter:0});async function H(e){var me;const{scrollTarget:t,urlOriginal:n=le(),overwriteLastHistoryEntry:r=!1,isBackwardNavigation:o,pageContextsFromRewrite:i=[],redirectCount:l=0,isUserLandPushStateNavigation:s,isClientSideNavigation:c=!0}=e,{abortRender:d,setHydrationCanBeAborted:_,isFirstRender:f}=Gr();if(a(c===!f),Gn(i.length,l),P.clientRoutingIsDisabled){z(n);return}const u=await nt(n);if(d())return;m(u,{isBackwardNavigation:o,isClientSideNavigation:c});{const h=Vn(i);m(u,h)}let y={};const O=h=>{a(h),a(!("err"in y)),a(!("errorWhileRendering"in u)),y.err=h,u.errorWhileRendering=h};if(!f){try{y={pageContextFromRoute:await ut(u)}}catch(h){O(h)}if(d())return;if(y.pageContextFromRoute){const{pageContextFromRoute:h}=y;m(u,h);let S;if(!h._pageId)S=!1;else if(S=await st(h._pageId,u),d())return;if(!S){z(n);return}const R=h._pageId&&((me=P.previousPageContext)==null?void 0:me._pageId)&&h._pageId===P.previousPageContext._pageId;if(s&&R)return}}const B=!f;if(B&&!P.isTransitioning){if(P.onPageTransitionStart){const h=P.onPageTransitionStart,{hookFn:S}=h;await $(()=>S(u),h)}if(P.isTransitioning=!0,d())return}if(f){a(!y.pageContextFromRoute),a(!y.err);try{y.pageContextFromHooks=await zn(u)}catch(h){O(h)}if(d())return}else if(!y.err){const{pageContextFromRoute:h}=y;a(h),a(h._pageId),a(b(h,"_pageId","string")),m(u,h);try{y.pageContextFromHooks=await Mn(u)}catch(S){O(S)}if(d())return}if("err"in y){const{err:h}=y;if(Pe(h)||console.error(h),Oe(h,u,f))return;if(Pe(h)){const S=h;Wn(h,u._isProduction,u);const R=S._pageContextAbort;if(R._urlRewrite){await H({...e,scrollTarget:"scroll-to-top-or-hash",pageContextsFromRewrite:[...i,R]});return}if(R._urlRedirect){const q=R._urlRedirect.url;if(q.startsWith("http")){window.location.href=q;return}else await H({...e,scrollTarget:"scroll-to-top-or-hash",urlOriginal:q,overwriteLastHistoryEntry:!1,isBackwardNavigation:!1,redirectCount:l+1});return}a(R.abortStatusCode),m(u,R),R.abortStatusCode===404&&m(u,{is404:!0})}else m(u,{is404:!1});try{y.pageContextFromHooks=await Kn(u)}catch(S){if(Oe(S,u,f)||(f||setTimeout(()=>{window.location.pathname=n},0),yn(h,S)))return;throw S}if(d())return}const{pageContextFromHooks:pe}=y;a(pe),m(u,pe),Q(u,"onPageTransitionStart");const dt=N(u,"onPageTransitionStart");if(P.onPageTransitionStart=dt,u.exports.hydrationCanBeAborted?_():v(!mn(),"You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://vike.dev/hydrationCanBeAborted",{onlyOnce:!0}),!d()&&!(P.renderPromise&&(await P.renderPromise,a(P.renderPromise===void 0),d()))){if(Vr(n,r),P.previousPageContext=u,a(P.renderPromise===void 0),P.renderPromise=(async()=>{await xt(u,!0),Ar(u),P.renderPromise=void 0})(),await P.renderPromise,a(P.renderPromise===void 0),f){Q(u,"onHydrationEnd");const h=N(u,"onHydrationEnd");if(h){const{hookFn:S}=h;if(await $(()=>S(u),h),d(!0))return}}if(!d(!0)){if(B){Q(u,"onPageTransitionEnd");const h=N(u,"onPageTransitionEnd");if(h){const{hookFn:S}=h;if(await $(()=>S(u),h),d(!0))return}P.isTransitioning=void 0}ct(t),he(),Wr()}}}function Vr(e,t){le()!==e&&(he(),vn(e,t),Br())}function Oe(e,t,n){return!!(Qn(e)||Ur(e,t,n))}function Ur(e,t,n){if(!ae(e))return!1;if(n)throw oe(e,!1),e;return oe(e,!0),z(t.urlOriginal),!0}function oe(e,t){a(ae(e)),P.clientRoutingIsDisabled=!0,t&&console.log(e),se(!1,["Failed to fetch static asset.","This usually happens when a new frontend is deployed.","Falling back to Server Routing.","(The next page navigation will use Server Routing instead of Client Routing.)"].filter(Boolean).join(" "),{onlyOnce:!0})}function Gr(){const e=++P.renderCounter;a(e>=1);let t=!1;return{abortRender:o=>!o&&e===1&&!t?!1:e!==P.renderCounter,setHydrationCanBeAborted:()=>{t=!0},isFirstRender:e===1}}function xe(){return P.renderCounter}function zr(){document.addEventListener("click",Kr)}function Kr(e){if(!Mr(e))return;const t=Yr(e.target);if(!t)return;const n=t.getAttribute("href");if(rt(t))return;a(n),e.preventDefault();const o=![null,"false"].includes(t.getAttribute("keep-scroll-position"))?"preserve-scroll":"scroll-to-top-or-hash";H({scrollTarget:o,urlOriginal:n,isBackwardNavigation:!1})}function Mr(e){return e.button===0&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey}function Yr(e){for(;e.tagName!=="A";){const{parentNode:t}=e;if(!t)return null;e=t}return e}function Jr(){Dr(),Be(),Hr(),wn(),a(xe()===0),H({scrollTarget:"preserve-scroll",isBackwardNavigation:null,isClientSideNavigation:!1}),a(xe()===1),zr(),Lr()}L();const qr=!0;kt(qr);Jr();
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/entries/pages_error.CLFwp4P1.js","assets/chunks/chunk-DM5X-Fsx.js","assets/static/onRenderClient.DQ-loHhw.css","assets/entries/pages_editor.dxxI6p1y.js","assets/chunks/chunk-CmlEsaFt.js","assets/chunks/chunk-B5NqXhlg.js","assets/static/editor.e6iYOnjc.css","assets/entries/pages_index.cBvCoMtg.js","assets/static/index.CdgWIjKL.css","assets/entries/pages_simple.DNtn6Zih.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as ie}from"../chunks/chunk-B5NqXhlg.js";function Fe(e){return Array.from(new Set(e))}const vn="0.4.183",Ie={projectName:"Vike",projectVersion:vn},qe=`_${Ie.projectName.toLowerCase()}`;function I(e,t){const n=Rn();return n[e]=n[e]||t}function Rn(){return globalThis[qe]=globalThis[qe]||{}}const g=new Proxy({},{get:(e,t)=>n=>t==="code"?`\`${n}\``:t==="string"?`'${n}'`:n}),A=I("assertSingleInstance.ts",{instances:[],alreadyLogged:new Set}),En="Client runtime of both Server Routing and Client Routing loaded https://vike.dev/client-runtimes-conflict",Pt="Client runtime loaded twice https://vike.dev/client-runtime-duplicated";function vt(){{const e=Fe(A.instances);$n(e.length<=1,`vike@${g.bold(e[0])} and vike@${g.bold(e[1])} loaded but only one version should be loaded`)}A.checkSingleInstance&&A.instances.length>1&&Re(!1,Pt,{onlyOnce:!0,showStackTrace:!0})}function _n(e){Re(A.isClientRouting!==!1,En,{onlyOnce:!0,showStackTrace:!0}),Re(A.isClientRouting===void 0,Pt,{onlyOnce:!0,showStackTrace:!0}),A.isClientRouting=!0,A.checkSingleInstance=!0,vt()}function Cn(){A.instances.push(Ie.projectVersion),vt()}function $n(e,t){if(e)return;const n=`[vike][Wrong Usage] ${t}`;throw new Error(n)}function Re(e,t,{onlyOnce:n,showStackTrace:r}){if(e)return;const i=`[vike][Warning] ${t}`;if(n){const{alreadyLogged:o}=A,a=n===!0?i:n;if(o.has(a))return;o.add(a)}console.warn(r?new Error(i):i)}function On(){return!(typeof process>"u"||!process.cwd||!process.versions||typeof process.versions.node>"u"||!process.release||process.release.name!=="node")}function de(e,t){const n=new Error(e);return On()&&(n.stack=Tn(n.stack,t)),n}function Tn(e,t){if(!e)return e;const n=xn(e);let r=0;return n.filter(o=>o.includes(" (internal/")||o.includes(" (node:internal")?!1:r<t&&kn(o)?(r++,!1):!0).join(`
|
|
3
|
+
`)}function kn(e){return e.startsWith(" at ")}function xn(e){return e.split(/\r?\n/)}function O(e){return typeof e=="object"&&e!==null}const T=I("utils/assert.ts",{alreadyLogged:new Set,logger(e,t){t==="info"?console.log(e):console.warn(e)},showStackTraceList:new WeakSet});Cn();const Fn="[vike]",In=`[vike@${Ie.projectVersion}]`,ge=2;function s(e,t){var a;if(e)return;const n=(()=>{if(!t)return null;const l=typeof t=="string"?t:JSON.stringify(t);return g.dim(`Debug info (for Vike maintainers; you can ignore this): ${l}`)})();let i=[`You stumbled upon a Vike bug. Go to ${g.blue("https://github.com/vikejs/vike/issues/new")} and copy-paste this error. A maintainer will fix the bug (usually under 24 hours).`,n].filter(Boolean).join(" ");i=Z(i),i=he(i,"Bug"),i=ee(i,!0);const o=de(i,ge);throw(a=T.onBeforeLog)==null||a.call(T),o}function d(e,t,{showStackTrace:n}={}){var i;if(e)return;n=n||T.alwaysShowStackTrace,t=Z(t),t=he(t,"Wrong Usage"),t=ee(t);const r=de(t,ge);throw n&&T.showStackTraceList.add(r),(i=T.onBeforeLog)==null||i.call(T),r}function Rt(e){return e=Z(e),e=he(e,"Error"),e=ee(e),de(e,ge)}function $(e,t,{onlyOnce:n,showStackTrace:r}){var i;if(!e){if(r=r||T.alwaysShowStackTrace,t=Z(t),t=he(t,"Warning"),t=ee(t),n){const{alreadyLogged:o}=T,a=n===!0?t:n;if(o.has(a))return;o.add(a)}if((i=T.onBeforeLog)==null||i.call(T),r){const o=de(t,ge);T.showStackTraceList.add(o),T.logger(o,"warn")}else T.logger(t,"warn")}}function An(e,t,{onlyOnce:n}){var r;if(t=Z(t),t=ee(t),n){const{alreadyLogged:i}=T,o=t;if(i.has(o))return;i.add(o)}(r=T.onBeforeLog)==null||r.call(T),T.logger(t,"info")}function he(e,t){let n=`[${t}]`;const r=t==="Warning"?"yellow":"red";return n=g.bold(g[r](n)),`${n}${e}`}function Z(e){return e.startsWith("[")?e:` ${e}`}function ee(e,t=!1){return`${t?In:Fn}${e}`}function D(){return typeof window<"u"&&typeof window.scrollY=="number"}const Et=I("utils/assertRouterType.ts",{});function te(){Ln(jn()),Et.isClientRouting=!0}function jn(){return Et.isClientRouting!==!1}function Ln(e){d(D(),`${g.cyan("import { something } from 'vike/client/router'")} is forbidden on the server-side`,{showStackTrace:!0}),$(e,"You shouldn't `import { something } from 'vike/client/router'` when using Server Routing. The 'vike/client/router' utilities work only with Client Routing. In particular, don't `import { navigate }` nor `import { prefetch }` as they unnecessarily bloat your client-side bundle sizes.",{showStackTrace:!0,onlyOnce:!0})}function j(e,t,n){return typeof e=="string"?Xe(e.split(""),t,n).join(""):Xe(e,t,n)}function Xe(e,t,n){const r=[];let i=t>=0?t:e.length+t;s(i>=0&&i<=e.length);let o=n>=0?n:e.length+n;for(s(o>=0&&o<=e.length);!(i===o||(i===e.length&&(i=0),i===o));){const a=e[i];s(a!==void 0),r.push(a),i++}return r}function ne(e,t){s(Ot(e),e),s(t.startsWith("/"));const[n,...r]=e.split("#");s(n!==void 0);const i=["",...r].join("#")||null;s(i===null||i.startsWith("#"));const o=i===null?"":_t(i.slice(1)),[a,...l]=n.split("?");s(a!==void 0);const u=["",...l].join("?")||null;s(u===null||u.startsWith("?"));const c={},f={};Array.from(new URLSearchParams(u||"")).forEach(([w,k])=>{c[w]=k,f[w]=[...f.hasOwnProperty(w)?f[w]:[],k]});let{protocol:y,origin:h,pathnameAbsoluteWithBase:p}=Hn(a,t);const E=a.slice((h||"").length);Vn(e,h,E,u,i);let{pathname:_,hasBaseServer:S}=Dn(p,t);const R=$t(h,_,u,i),P=h?h.slice(y.length):null,{hostname:F,port:m}=Nn(P,e);return _=Wn(_),s(_.startsWith("/")),{href:R,protocol:y,hostname:F,port:m,origin:h,pathname:_,pathnameOriginal:E,hasBaseServer:S,search:c,searchAll:f,searchOriginal:u,hash:o,hashOriginal:i}}function _t(e){try{return decodeURIComponent(e)}catch{}try{return decodeURI(e)}catch{}return e}function Wn(e){return e=e.replace(/\s+$/,""),e=e.split("/").map(t=>_t(t).split("/").join("%2F")).join("/"),e}function Hn(e,t){var n;s(!e.includes("?")&&!e.includes("#"));{const{protocol:r,origin:i,pathname:o}=Qe(e);if(i)return{protocol:r,origin:i,pathnameAbsoluteWithBase:o};s(o===e)}if(e.startsWith("/"))return{protocol:null,origin:null,pathnameAbsoluteWithBase:e};{const r=typeof window<"u"?(n=window==null?void 0:window.document)==null?void 0:n.baseURI:void 0;let i;return r?i=Qe(r.split("?")[0]).pathname:i=t,{protocol:null,origin:null,pathnameAbsoluteWithBase:Bn(e,i)}}}function Qe(e){if(We(e)){const{protocol:t,uriWithoutProtocol:n}=Ae(e);s(t);const[r,...i]=n.split("/"),o=t+r;return{pathname:"/"+i.join("/"),origin:o,protocol:t}}else return{pathname:e,origin:null,protocol:null}}function Nn(e,t){const n={hostname:null,port:null};if(!e)return n;const[r,...i]=e.split(":");if(n.hostname=r,i.length>0){s(i.length===1,t);const o=i[0],a=parseInt(o,10);s(a||a===0,t),n.port=a}return n}function Ae(e){const t=":",[n,...r]=e.split(t);if(r.length===0||!/^[a-z][a-z0-9\+\-]*$/i.test(n))return{protocol:null,uriWithoutProtocol:e};let i=n+t,o=r.join(t);const a="//";return o.startsWith(a)&&(i=i+a,o=o.slice(a.length)),{protocol:i,uriWithoutProtocol:o}}function Ct(e){return["ipfs://","ipns://"].includes(e)?!1:e.endsWith("://")}function Bn(e,t){const n=t.split("/"),r=e.split("/");let i=t.endsWith("/");e.startsWith(".")&&n.pop();for(const a in r){const l=r[a];l==""&&a==="0"||l!="."&&(l==".."?n.pop():(i=!1,n.push(l)))}let o=n.join("/");return i&&!o.endsWith("/")&&(o+="/"),o.startsWith("/")||(o="/"+o),o}function Dn(e,t){s(e.startsWith("/")),s(je(t));let n=e;if(s(n.startsWith("/")),s(t.startsWith("/")),t==="/")return{pathname:e,hasBaseServer:!0};let r=t;return t.endsWith("/")&&n===j(t,0,-1)&&(r=j(t,0,-1),s(n===r)),n.startsWith(r)?(s(n.startsWith("/")||n.startsWith("http")),s(n.startsWith(r)),n=n.slice(r.length),n.startsWith("/")||(n="/"+n),s(n.startsWith("/")),{pathname:n,hasBaseServer:!0}):{pathname:e,hasBaseServer:!1}}function je(e){return e.startsWith("/")}function Vn(e,t,n,r,i){const o=$t(t,n,r,i);s(e===o)}function $t(e,t,n,r){return`${e||""}${t}${n||""}${r||""}`}function Ot(e){return We(e)||e.startsWith("/")||Le(e)}function zn(e){return e.startsWith("/")||Gn(e)||We(e)}function Le(e){return[".","?","#"].some(t=>e.startsWith(t))||e===""}function Un(e){return!e.startsWith("/")&&!Le(e)}function We(e){const{protocol:t}=Ae(e);return!!t&&Ct(t)}function Gn(e){const{protocol:t}=Ae(e);return!!t&&!Ct(e)}function Mn(e,t){Jn(e,t)}function Jn(e,t,{allowRelative:n,isRedirectTarget:r}={}){if(e.startsWith("/"))return;let i=`${t} is ${g.string(e)} but it should start with ${g.string("/")}`;if(r){if(zn(e))return;if(i+=` or a protocol (${g.string("http://")}, ${g.string("mailto:")}, ...)`,r==="unresolved"){if(e==="*")return;i+=`, or be ${g.string("*")}`}}if(n){if(Le(e))return;i+=", or be a relative URL"}d(!1,i)}function v(e,t){t&&(s(!("_isPageContextObject"in t)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)))}function V(e){return e instanceof Function||typeof e=="function"}function ce(e){return(t,n)=>{const r=e(t),i=e(n);return r===i?0:r>i?-1:1}}function Yn(e){return(t,n)=>{const r=e(t),i=e(n);return r===i?0:r<i?-1:1}}function W(e){return(t,n)=>{const r=e(t),i=e(n);if(s([!0,!1,null].includes(r)),s([!0,!1,null].includes(i)),r===i)return 0;if(r===!0||i===!1)return-1;if(i===!0||r===!1)return 1;s(!1)}}function Kn(e){return W(t=>{const n=e(t);return n===null?null:!n})}function U(e){return Array.isArray(e)}function qn(e){return U(e)&&e.every(t=>typeof t=="string")}function Xn(e){return O(e)&&Object.values(e).every(t=>typeof t=="string")}function b(e,t,n){if(!O(e))return!1;if(!(t in e))return n==="undefined";if(n===void 0)return!0;const r=e[t];return n==="undefined"?r===void 0:n==="array"?U(r):n==="object"?O(r):n==="string[]"?qn(r):n==="string{}"?Xn(r):n==="function"?V(r):U(n)?typeof r=="string"&&n.includes(r):n==="null"?r===null:n==="true"?r===!0:n==="false"?r===!1:typeof r===n}function B(e){return typeof e!="object"||e===null?!1:Object.getPrototypeOf(e)===null?!0:e.constructor.name==="Object"}function Qn(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0}const Zn=e=>e!=null;function Ze(e){return"["+e.map(t=>"'"+t+"'").join(", ")+"]"}function Tt(e){const t=n=>`Not a posix path: ${n}`;s(e!==null,t("null")),s(typeof e=="string",t(`typeof path === ${JSON.stringify(typeof e)}`)),s(e!=="",t("(empty string)")),s(e),s(!e.includes("\\"),t(e))}function me(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!!n&&!("value"in n)&&!!n.get}function er(e){return typeof e=="object"&&e!==null&&"then"in e&&V(e.then)}function tr(e){return[null,void 0].includes(e)?String(e):["boolean","number","string"].includes(typeof e)?JSON.stringify(e):null}function nr(e){return e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")}function oe(e,t,n){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(e,t,{...r,enumerable:n})}function be(e,t,{get:n,...r}){Object.defineProperty(e,t,{...r,get:n})}const rr=["clientRouting"];function ir(e){rr.forEach(t=>{if(s(e.fileExports),!(t in e.fileExports))return;const n=`The value of \`${t}\` is only allowed to be \`true\`.`;d(e.fileExports[t]!==!1,`${e.filePath} has \`export { ${t} }\` with the value \`false\` which is prohibited: remove \`export { ${t} }\` instead. (${n})`),d(e.fileExports[t]===!0,`${e.filePath} has \`export { ${t} }\` with a forbidden value. ${n}`)})}const kt=["render","clientRouting","prerender","doNotPrerender"];function or(e,t){d(!kt.includes(e),`${t} has \`export default { ${e} }\` which is prohibited, use \`export { ${e} }\` instead.`)}function sr(e){const t=".page.",n=j(e.split(t),0,-1).join(t);return s(!n.includes("\\")),n}function G(e){Tt(e)}function ar(e,t){if(t.length>0){const r=t.filter(i=>i.isErrorPage);return r.length===0?null:(d(r.length===1,"Only one error page can be defined"),r[0].pageId)}const n=Fe(e.map(({pageId:r})=>r).filter(r=>re(r)));if(d(n.length<=1,`Only one _error.page.js is allowed, but found several: ${n.join(" ")}`),n.length>0){const r=n[0];return s(r),r}return null}function re(e,t){return s(!e.includes("\\")),e.includes("/_error")}function lr(e,t){if(t.length>0){const n=t.find(r=>r.pageId===e);return s(n),!!n.isErrorPage}else return re(e)}const xt=["js","ts","cjs","cts","mjs","mts"],ur=["jsx","tsx","cjsx","ctsx","mjsx","mtsx"],Ft=["vue","svelte","marko","md","mdx"],cr=[...xt,...ur,...Ft];function It(e){const t=cr.some(n=>e.endsWith("."+n));return fr(e)&&s(t),t}function fr(e){const t=/\.(c|m)?(j|t)s$/.test(e),n=xt.some(r=>e.endsWith("."+r));return s(t===n),t}function dr(e){return Ft.some(t=>e.endsWith("."+t))}const gr=[".page",".page.server",".page.route",".page.client",".css"];function hr(e){if(Tt(e),e.endsWith(".css"))return".css";s(It(e),e);const n=e.split("/").slice(-1)[0].split("."),r=n.slice(-3)[0],i=n.slice(-2)[0];if(i==="page")return".page";if(s(r==="page",e),i==="server")return".page.server";if(i==="client")return".page.client";if(i==="route")return".page.route";s(!1,e)}function At(e){const t=o=>i.pageId===o||i.isDefaultPageFile&&(et(i.filePath)||pr(o,i.filePath)),n=hr(e),i={filePath:e,fileType:n,isEnv:o=>{if(s(n!==".page.route"),o==="CLIENT_ONLY")return n===".page.client"||n===".css";if(o==="SERVER_ONLY")return n===".page.server";if(o==="CLIENT_AND_SERVER")return n===".page";s(!1)},isRelevant:t,isDefaultPageFile:Ee(e),isRendererPageFile:n!==".css"&&Ee(e)&&et(e),isErrorPageFile:re(e),pageId:sr(e)};return i}function Ee(e){return G(e),re(e)?!1:e.includes("/_default")}function et(e){return G(e),e.includes("/renderer/")}function pr(e,t){G(e),G(t),s(!e.endsWith("/")),s(!t.endsWith("/")),s(Ee(t));const n=j(t.split("/"),0,-1).filter(r=>r!=="_default").join("/");return e.startsWith(n)}function yr(e,t){if(!e)return null;let[n,...r]=e;if(!n||r.length===0&&["*","default",t].includes(n))return null;s(n!=="*");let i="",o="";return n==="default"?i="export default":(i="export",r=[n,...r]),r.forEach(l=>{i=`${i} { ${l}`,o=` }${o}`}),i+o}function mr(e,t,n){return`${_e(e,t)} at ${X(n,t)}`}function jt(e,t,n){return n?`${_e(e,t)} at ${X(n,t)}`:`${_e(e,t)} internally`}function _e(e,t){return`${e} ${g.cyan(t)} defined`}function X(e,t){let n;return U(e)?n=e:n=[e],s(n.length>=1),n.map(i=>{const{filePathToShowToUser:o,fileExportPathToShowToUser:a}=i;let l=o;const u=yr(a,t);return u&&(l=`${l} > ${g.cyan(u)}`),l}).join(" / ")}const br=[{is:e=>e===void 0,match:e=>e==="!undefined",serialize:()=>"!undefined",deserialize:()=>{}},{is:e=>e===1/0,match:e=>e==="!Infinity",serialize:()=>"!Infinity",deserialize:()=>1/0},{is:e=>e===-1/0,match:e=>e==="!-Infinity",serialize:()=>"!-Infinity",deserialize:()=>-1/0},{is:e=>typeof e=="number"&&isNaN(e),match:e=>e==="!NaN",serialize:()=>"!NaN",deserialize:()=>NaN},{is:e=>e instanceof Date,match:e=>e.startsWith("!Date:"),serialize:e=>"!Date:"+e.toISOString(),deserialize:e=>new Date(e.slice(6))},{is:e=>typeof e=="bigint",match:e=>e.startsWith("!BigInt:"),serialize:e=>"!BigInt:"+e.toString(),deserialize:e=>{if(typeof BigInt>"u")throw new Error("Your JavaScript environement does not support BigInt. Consider adding a polyfill.");return BigInt(e.slice(8))}},{is:e=>e instanceof RegExp,match:e=>e.startsWith("!RegExp:"),serialize:e=>"!RegExp:"+e.toString(),deserialize:e=>{e=e.slice(8);const t=e.match(/\/(.*)\/(.*)?/),n=t[1],r=t[2];return new RegExp(n,r)}},{is:e=>e instanceof Map,match:e=>e.startsWith("!Map:"),serialize:(e,t)=>"!Map:"+t(Array.from(e.entries())),deserialize:(e,t)=>new Map(t(e.slice(5)))},{is:e=>e instanceof Set,match:e=>e.startsWith("!Set:"),serialize:(e,t)=>"!Set:"+t(Array.from(e.values())),deserialize:(e,t)=>new Set(t(e.slice(5)))},{is:e=>typeof e=="string"&&e.startsWith("!"),match:e=>e.startsWith("!"),serialize:e=>"!"+e,deserialize:e=>e.slice(1)}];function He(e){const t=JSON.parse(e);return Ne(t)}function Ne(e){return typeof e=="string"?Sr(e):(typeof e=="object"&&e!==null&&Object.entries(e).forEach(([t,n])=>{e[t]=Ne(n)}),e)}function Sr(e){for(const{match:t,deserialize:n}of br)if(t(e))return n(e,He);return e}const wr=["$$registrations","_rerender_only"],Pr=[".md",".mdx"];function vr(e,t,n){const r=Object.keys(e).filter(c=>!wr.includes(c)),i=c=>c==="default"||c===n,o=r.filter(i),a=r.filter(c=>!i(c));if(o.length===1&&a.length===0)return;const l=g.code("export default"),u=g.code(`export { ${n} }`);o.length===0&&d(!1,`${t} should have a ${u} or ${l}`),o.length===2&&$(!1,`${t} is ambiguous: remove ${l} or ${u}`,{onlyOnce:!0}),s(o.length===1),s(a.length>0),Pr.some(c=>t.endsWith(c))||a.forEach(c=>{$(!1,`${t} unexpected ${g.cyan(`export { ${c} }`)}`,{onlyOnce:!0})})}function Ce(e){return _r(e)}function Rr(e,t){const n=e.map(i=>{const o=Ce(i.configValuesSerialized),{pageId:a,isErrorPage:l,routeFilesystem:u,loadConfigValuesAll:c}=i;return Er(o),{pageId:a,isErrorPage:l,routeFilesystem:u,configValues:o,loadConfigValuesAll:c}}),r={configValues:{}};{const i=Ce(t.configValuesSerialized);Object.assign(r.configValues,i)}return{pageConfigs:n,pageConfigGlobal:r}}function Er(e){const t="route",n=e[t];if(!n)return;const{value:r,definedAtData:i}=n,o=typeof r;s(i);const a=mr("Config",t,i);d(o==="string"||V(r),`${a} has an invalid type '${o}': it should be a string or a function instead, see https://vike.dev/route`)}function _r(e){const t={};return Object.entries(e).forEach(([r,i])=>{let o;if(i.type==="cumulative"){const{valueSerialized:a,...l}=i;o={value:a.map((c,f)=>{const{value:y,sideExports:h}=tt(c,r,()=>{const p=i.definedAtData[f];return s(p),p});return n(h),y}),...l}}else{const{valueSerialized:a,...l}=i,{value:u,sideExports:c}=tt(a,r,()=>(s(i.type!=="computed"),i.definedAtData));n(c),o={value:u,...l}}t[r]=o}),t;function n(r){r.forEach(i=>{const{configName:o,configValue:a}=i;t[o]||(t[o]=a)})}}function tt(e,t,n){if(e.type==="js-serialized"){let{value:r}=e;return r=Ne(r),{value:r,sideExports:[]}}if(e.type==="pointer-import"){const{value:r}=e;return{value:r,sideExports:[]}}if(e.type==="plus-file"){const r=n(),{exportValues:i}=e;vr(i,r.filePathToShowToUser,t);let o,a=!1;const l=[];return Object.entries(i).forEach(([u,c])=>{u!=="default"&&u!==t?l.push({configName:u,configValue:{type:"standard",value:c,definedAtData:{filePathToShowToUser:r.filePathToShowToUser,fileExportPathToShowToUser:[u]}}}):(o=c,s(!a),a=!0)}),s(a),{value:o,sideExports:l}}s(!1)}function Cr(e){s(b(e,"pageFilesLazy","object")),s(b(e,"pageFilesEager","object")),s(b(e,"pageFilesExportNamesLazy","object")),s(b(e,"pageFilesExportNamesEager","object")),s(b(e.pageFilesLazy,".page")),s(b(e.pageFilesLazy,".page.client")||b(e.pageFilesLazy,".page.server")),s(b(e,"pageFilesList","string[]")),s(b(e,"pageConfigsSerialized")),s(b(e,"pageConfigGlobalSerialized"));const{pageConfigsSerialized:t,pageConfigGlobalSerialized:n}=e;$r(t),Or(n);const{pageConfigs:r,pageConfigGlobal:i}=Rr(t,n),o={};se(e.pageFilesLazy).forEach(({filePath:l,pageFile:u,globValue:c})=>{u=o[l]=o[l]??u;const f=c;nt(f),u.loadFile=async()=>{"fileExports"in u||(u.fileExports=await f(),ir(u))}}),se(e.pageFilesExportNamesLazy).forEach(({filePath:l,pageFile:u,globValue:c})=>{u=o[l]=o[l]??u;const f=c;nt(f),u.loadExportNames=async()=>{if(!("exportNames"in u)){const y=await f();s(b(y,"exportNames","string[]"),u.filePath),u.exportNames=y.exportNames}}}),se(e.pageFilesEager).forEach(({filePath:l,pageFile:u,globValue:c})=>{u=o[l]=o[l]??u;const f=c;s(O(f)),u.fileExports=f}),se(e.pageFilesExportNamesEager).forEach(({filePath:l,pageFile:u,globValue:c})=>{u=o[l]=o[l]??u;const f=c;s(O(f)),s(b(f,"exportNames","string[]"),u.filePath),u.exportNames=f.exportNames}),e.pageFilesList.forEach(l=>{o[l]=o[l]??At(l)});const a=Object.values(o);return a.forEach(({filePath:l})=>{s(!l.includes("\\"))}),{pageFiles:a,pageConfigs:r,pageConfigGlobal:i}}function se(e){const t=[];return Object.entries(e).forEach(([n,r])=>{s(gr.includes(n)),s(O(r)),Object.entries(r).forEach(([i,o])=>{const a=At(i);s(a.fileType===n),t.push({filePath:i,pageFile:a,globValue:o})})}),t}function nt(e){s(V(e))}function $r(e){s(U(e)),e.forEach(t=>{s(O(t)),s(b(t,"pageId","string")),s(b(t,"routeFilesystem")),s(b(t,"configValuesSerialized"))})}function Or(e){s(b(e,"configValuesSerialized"))}const Y=I("setPageFiles.ts",{});function Tr(e){const{pageFiles:t,pageConfigs:n,pageConfigGlobal:r}=Cr(e);Y.pageFilesAll=t,Y.pageConfigs=n,Y.pageConfigGlobal=r}async function kr(e,t){s(!Y.pageFilesGetter),s(t===void 0);const{pageFilesAll:n,pageConfigs:r,pageConfigGlobal:i}=Y;s(n&&r&&i);const o=xr(n,r);return{pageFilesAll:n,allPageIds:o,pageConfigs:r,pageConfigGlobal:i}}function xr(e,t){const n=e.filter(({isDefaultPageFile:o})=>!o).map(({pageId:o})=>o),r=Fe(n),i=t.map(o=>o.pageId);return[...r,...i]}function Be(e,t){return Wt(e,t,!0)}function Lt(e,t){return Wt(e,t,!1)}function Wt(e,t,n){const r=n?"CLIENT_ONLY":"SERVER_ONLY",i=e.filter(p=>p.isRelevant(t)&&p.fileType!==".page.route").sort(Fr(n,t)),o=p=>{const E=i.filter(S=>S.pageId===t&&S.isEnv(p?"CLIENT_AND_SERVER":r));d(E.length<=1,`Merge the following files into a single file: ${E.map(S=>S.filePath).join(" ")}`);const _=E[0];return s(_===void 0||!_.isDefaultPageFile),_},a=o(!1),l=o(!0),u=p=>i.filter(E=>E.isRendererPageFile&&E.isEnv(p?"CLIENT_AND_SERVER":r))[0],c=u(!1),f=u(!0),y=i.filter(p=>p.isDefaultPageFile&&!p.isRendererPageFile&&(p.isEnv(r)||p.isEnv("CLIENT_AND_SERVER")));return[a,l,...y,c,f].filter(Zn)}function Fr(e,t){const n=e?"CLIENT_ONLY":"SERVER_ONLY",r=-1,i=1,o=0;return(a,l)=>{if(!a.isDefaultPageFile&&l.isDefaultPageFile)return r;if(!l.isDefaultPageFile&&a.isDefaultPageFile)return i;{const u=a.isRendererPageFile,c=l.isRendererPageFile;if(!u&&c)return r;if(!c&&u)return i;s(u===c)}{const u=rt(t,a.filePath),c=rt(t,l.filePath);if(u<c)return r;if(c<u)return i;s(u===c)}{if(a.isEnv(n)&&l.isEnv("CLIENT_AND_SERVER"))return r;if(l.isEnv(n)&&a.isEnv("CLIENT_AND_SERVER"))return i}return o}}function rt(e,t){G(e),G(t);let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);const r=e.slice(n),i=t.slice(n),o=r.split("/").length,a=i.split("/").length;return o+a}function Ht(e,t){const n=t.find(r=>r.pageId===e);return s(t.length>0),s(n),n}function Nt(e){if(!e||U(e))return null;const{filePathToShowToUser:t}=e;return s(t),t}function Ir(e){const t=Nt(e);return s(t),t}function Ar(e,t){const n={},r={},i={};e.forEach(h=>{jr(h).forEach(({exportName:E,exportValue:_,isFromDefaultExport:S})=>{s(E!=="default"),i[E]=i[E]??[],i[E].push({exportValue:_,exportSource:`${h.filePath} > ${S?`\`export default { ${E} }\``:`\`export { ${E} }\``}`,filePath:h.filePath,_filePath:h.filePath,_fileType:h.fileType,_isFromDefaultExport:S})})});const o={},a={},l=(h,p)=>{o[p]=h,a[p]??(a[p]=[]),a[p].push(h)},u={configsStandard:{},configsCumulative:{},configsComputed:{}};t&&Object.entries(t.configValues).forEach(([h,p])=>{const{value:E}=p,_=Nt(p.definedAtData),S=jt("Config",h,p.definedAtData);if(r[h]=r[h]??E,n[h]=n[h]??[],s(n[h].length===0),n[h].push({configValue:E,configDefinedAt:S,configDefinedByFile:_}),p.type==="standard"){const P={type:"configsStandard",value:p.value,definedAt:X(p.definedAtData,h)};l(P,h),u.configsStandard[h]=P}if(p.type==="cumulative"){const P={type:"configsCumulative",values:p.value.map((F,m)=>{const w=p.definedAtData[m];s(w);const k=X(w,h);return{value:F,definedAt:k}})};l(P,h),u.configsCumulative[h]=P}if(p.type==="computed"){const P={type:"configsComputed",value:p.value};l(P,h),u.configsComputed[h]=P}const R=h;i[R]=i[R]??[],i[R].push({exportValue:E,exportSource:S,filePath:_,_filePath:_,_fileType:null,_isFromDefaultExport:null})});const c=Lr(),f={};return Object.entries(i).forEach(([h,p])=>{p.forEach(({exportValue:E,_fileType:_,_isFromDefaultExport:S})=>{f[h]=f[h]??E,_===".page"&&!S&&(h in c||(c[h]=E))})}),s(!("default"in f)),s(!("default"in i)),{from:u,source:o,sources:a,config:r,configEntries:n,exports:f,exportsAll:i,pageExports:c}}function jr(e){const{filePath:t,fileExports:n}=e;s(n),s(It(t));const r=[];return Object.entries(n).sort(Kn(([i])=>i==="default")).forEach(([i,o])=>{let a=i==="default";if(a)if(dr(t))i="Page";else{d(O(o),`The ${g.cyan("export default")} of ${t} should be an object.`),Object.entries(o).forEach(([l,u])=>{or(l,t),r.push({exportName:l,exportValue:u,isFromDefaultExport:a})});return}r.push({exportName:i,exportValue:o,isFromDefaultExport:a})}),r.forEach(({exportName:i,isFromDefaultExport:o})=>{s(!(o&&kt.includes(i)))}),r}function Lr(){return new Proxy({},{get(...e){return D()||$(!1,"`pageContext.pageExports` is outdated. Use `pageContext.exports` instead, see https://vike.dev/exports",{onlyOnce:!0,showStackTrace:!0}),Reflect.get(...e)}})}const De={},Bt={},Wr={},pe={},Hr=[],Dt={},Nr=[{pageId:"/pages/_error",isErrorPage:!0,routeFilesystem:void 0,loadConfigValuesAll:()=>ie(()=>import("./pages_error.CLFwp4P1.js"),__vite__mapDeps([0,1,2])),configValuesSerialized:{clientEntryLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},clientRouting:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","clientRouting"]},valueSerialized:{type:"js-serialized",value:!0}}}},{pageId:"/pages/editor",isErrorPage:void 0,routeFilesystem:{routeString:"/editor",definedBy:"/pages/editor/"},loadConfigValuesAll:()=>ie(()=>import("./pages_editor.dxxI6p1y.js"),__vite__mapDeps([3,1,2,4,5,6])),configValuesSerialized:{clientEntryLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},clientRouting:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","clientRouting"]},valueSerialized:{type:"js-serialized",value:!0}}}},{pageId:"/pages/index",isErrorPage:void 0,routeFilesystem:{routeString:"/",definedBy:"/pages/index/"},loadConfigValuesAll:()=>ie(()=>import("./pages_index.cBvCoMtg.js"),__vite__mapDeps([7,1,2,4,5,8])),configValuesSerialized:{clientEntryLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},clientRouting:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","clientRouting"]},valueSerialized:{type:"js-serialized",value:!0}}}},{pageId:"/pages/simple",isErrorPage:void 0,routeFilesystem:{routeString:"/simple",definedBy:"/pages/simple/"},loadConfigValuesAll:()=>ie(()=>import("./pages_simple.DNtn6Zih.js"),__vite__mapDeps([9,1,2,4,5])),configValuesSerialized:{clientEntryLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},clientRouting:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","clientRouting"]},valueSerialized:{type:"js-serialized",value:!0}}}}],Br={configValuesSerialized:{}},Dr=Object.assign({}),Vr={...Dr};De[".page"]=Vr;const zr=Object.assign({}),Ur={...zr};pe[".page"]=Ur;const Gr=Object.assign({}),Mr={...Gr};pe[".page.server"]=Mr;const Jr=Object.assign({}),Yr={...Jr};Bt[".page.route"]=Yr;const Kr=Object.assign({}),qr={...Kr};De[".page.client"]=qr;const Xr=Object.assign({}),Qr={...Xr};pe[".page.client"]=Qr;const Zr=Object.assign({}),ei={...Zr};Dt[".page.server"]=ei;const ti=Object.freeze(Object.defineProperty({__proto__:null,neverLoaded:Dt,pageConfigGlobalSerialized:Br,pageConfigsSerialized:Nr,pageFilesEager:Bt,pageFilesExportNamesEager:pe,pageFilesExportNamesLazy:Wr,pageFilesLazy:De,pageFilesList:Hr},Symbol.toStringTag,{value:"Module"}));Tr(ti);function Vt(){s(D())}function ni(){Vt(),te()}function ri(){Vt()}function it(e){const t=e/1e3;if(t<120){const n=ot(t);return`${n} second${st(n)}`}{const n=t/60,r=ot(n);return`${r} minute${st(r)}`}}function ot(e){let t=e.toFixed(1);return t.endsWith(".0")&&(t=t.slice(0,-2)),t}function st(e){return e==="1"?"":"s"}const $e=I("utils/executeHook.ts",{userHookErrors:new WeakMap,pageContext:null});function N(e,t,n){const{hookName:r,hookFilePath:i,hookTimeout:{error:o,warning:a}}=t;let l,u;const c=new Promise((p,E)=>{l=_=>{f(),p(_)},u=_=>{f(),E(_)}}),f=()=>{y&&clearTimeout(y),h&&clearTimeout(h)},y=at(a)&&setTimeout(()=>{$(!1,`The ${r}() hook defined by ${i} is slow: it's taking more than ${it(a)} (https://vike.dev/hooksTimeout)`,{onlyOnce:!1})},a),h=at(o)&&setTimeout(()=>{const p=Rt(`The ${r}() hook defined by ${i} timed out: it didn't finish after ${it(o)} (https://vike.dev/hooksTimeout)`);u(p)},o);return(async()=>{try{ii(n);const p=await e();l(p)}catch(p){O(p)&&$e.userHookErrors.set(p,{hookName:r,hookFilePath:i}),u(p)}})(),c}function at(e){return!!e&&e!==1/0}function ii(e){$e.pageContext=e,Promise.resolve().then(()=>{$e.pageContext=null})}function Ve(e){const t=window.location.href,{searchOriginal:n,hashOriginal:r,pathname:i}=ne(t,"/");let o;return e!=null&&e.withoutHash?o=`${i}${n||""}`:o=`${i}${n||""}${r||""}`,s(o.startsWith("/")),o}function oi(e){return typeof e=="string"&&si(e)?`.${e}`:`[${JSON.stringify(e)}]`}function si(e){return/^[a-z0-9\$_]+$/i.test(e)}ri();function ai(){var r,i,o,a;const e=!!((i=(r=window.__REACT_DEVTOOLS_GLOBAL_HOOK__)==null?void 0:r.renderers)!=null&&i.size),t=!!((a=(o=window.__REACT_DEVTOOLS_GLOBAL_HOOK__)==null?void 0:o.rendererInterfaces)!=null&&a.size),n=!!window.__vite_plugin_react_preamble_installed__;return e||t||n}function lt(e,t){return!O(e)||!O(t)?!1:e.message===t.message}function K(e){window.location.href=e}function li(e){return new Promise(t=>setTimeout(t,e))}function ui(e,t){let n=!1;return()=>{n||(n=!0,setTimeout(()=>{n=!1,e()},t))}}function zt(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&e()})}function ci(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()})}function Se(e,t){s(e===t)}ni();function Ut(){let e=window.history.state;e||(e={_isVikeEnhanced:!0});let t=!1;"timestamp"in e||(t=!0,e.timestamp=Ge()),"scrollPosition"in e||(t=!0,e.scrollPosition=Ue()),"triggeredBy"in e||(e.triggeredBy="browser"),Gt(e),t&&Me(e)}function ze(){const e=window.history.state||{};return Gt(e),e}function Ue(){return{x:window.scrollX,y:window.scrollY}}function Ge(){return new Date().getTime()}function ut(){const e=Ue(),t=ze();Me({...t,scrollPosition:e})}function fi(e,t){if(t)Me(ze(),e);else{const n=Ge();di({timestamp:n,scrollPosition:null,triggeredBy:"vike",_isVikeEnhanced:!0},e)}}function Gt(e){if(s(O(e)),"timestamp"in e){const{timestamp:t}=e;s(typeof t=="number")}if("scrollPosition"in e){const{scrollPosition:t}=e;t!==null&&s(b(t,"x","number")&&b(t,"y","number"))}}function Me(e,t){const n=t??null;window.history.replaceState(e,"",n)}function di(e,t){window.history.pushState(e,"",t)}function gi(){const e=window.history.pushState.bind(window.history);window.history.pushState=(t={},...n)=>{d(t==null||O(t),"history.pushState(state) argument state must be an object");const r=hi(t)?t:{_isVikeEnhanced:!0,scrollPosition:Ue(),timestamp:Ge(),triggeredBy:"user",...t};return e(r,...n)}}function hi(e){return O(e)&&"_isVikeEnhanced"in e}function pi(){const e="vike_pageContext",t=document.getElementById(e);d(t,`Couldn't find #${e} (which Vike automatically injects in the HTML): make sure it exists (i.e. don't remove it and make sure your HTML isn't malformed)`);const n=t.textContent;s(n);const r=He(n);return s(b(r,"_pageId","string")),s(b(r,"routeParams","string{}")),r}async function yi(e,t){const r=Lt(e,t).filter(o=>o.fileType===".page.server");return await Promise.all(r.map(async o=>{o.exportNames||(s(o.loadExportNames,t),await o.loadExportNames())})),{hasOnBeforeRenderServerSideOnlyHook:r.some(({exportNames:o})=>(s(o),o.includes("onBeforeRender")))}}function mi(e,t,n){const{value:r,definedAtData:i}=e;return n&&bi(r,n,t,i),e}function M(e,t,n){const r=e.configValues[t];return r?mi(r,t,n):null}function bi(e,t,n,r){s(e!==null);const i=typeof e;if(i===t)return;const o=tr(e),a=o!==null?`value ${g.cyan(o)}`:`type ${g.cyan(i)}`,u=`${jt("Config",n,r)} has an invalid ${a}: it should be a ${g.cyan(t)} instead`;d(!1,u)}const Si=I("getHook.ts",{isPrerendering:!1});function L(e,t){if(!(t in e.exports))return null;const{hooksTimeout:n}=e.config,r=Pi(n,t),i=e.exports[t],o=e.exportsAll[t][0];if(s(o.exportValue===i),i===null)return null;const a=o.filePath;return s(a),s(!a.endsWith(" ")),Mt(i,{hookName:t,hookFilePath:a}),{hookFn:i,hookName:t,hookFilePath:a,hookTimeout:r}}function wi(e,t){const n=e.configValues[t];if(!n)return null;const r=n.value;if(!r)return null;const i=Ir(n.definedAtData);s(i),Mt(r,{hookName:t,hookFilePath:i});const o=ye(t);return{hookFn:r,hookName:t,hookFilePath:i,hookTimeout:o}}function we(e,t){L(e,t)}function Mt(e,{hookName:t,hookFilePath:n}){s(t&&n),s(!t.endsWith(")")),d(V(e),`Hook ${t}() defined by ${n} should be a function`)}function Pi(e,t){const n=vi(e);if(n===!1)return{error:!1,warning:!1};const r=n[t],i=ye(t);return(r==null?void 0:r.error)!==void 0&&(i.error=r.error),(r==null?void 0:r.warning)!==void 0&&(i.warning=r.warning),i}function vi(e){if(e===void 0)return{};if(e===!1)return!1;d(O(e),`Setting ${g.cyan("hooksTimeout")} should be ${g.cyan("false")} or an object`);const t={};return Object.entries(e).forEach(([n,r])=>{if(r===!1){t[n]={error:!1,warning:!1};return}d(O(r),`Setting ${g.cyan(`hooksTimeout.${n}`)} should be ${g.cyan("false")} or an object`);const[i,o]=["error","warning"].map(a=>{const l=r[a];if(l===void 0||l===!1)return l;const u=`Setting ${g.cyan(`hooksTimeout.${n}.${a}`)} should be`;return d(typeof l=="number",`${u} ${g.cyan("false")} or a number`),d(l>0,`${u} a positive number`),l});t[n]={error:i,warning:o}}),t}function ye(e){return e==="onBeforeRoute"?{error:5*1e3,warning:1*1e3}:Si.isPrerendering?{error:2*60*1e3,warning:30*1e3}:(s(!e.toLowerCase().includes("prerender")),{error:30*1e3,warning:4*1e3})}function Ri(e){let t=Object.getOwnPropertyDescriptors(e);for(const n of Object.keys(e))delete e[n];t=Object.fromEntries(Object.entries(t).sort(([n],[r])=>Qn(n,r))),Object.defineProperties(e,t)}function Ei(e){_i(e),Ci(e)}function _i(e){lr(e._pageId,e._pageConfigs)&&s(b(e,"is404","boolean"))}function Ci(e){if(e.is404===void 0||e.is404===null)return;const t=e.pageProps||{};if(!O(t)){$(!1,"pageContext.pageProps should be an object",{showStackTrace:!0,onlyOnce:!0});return}t.is404=t.is404||e.is404,e.pageProps=t}const $i="not-serializable",ae=I("getPageContextProxyForUser.ts",{});function Oi(e){return s([!0,!1].includes(e._hasPageContextFromServer)),s([!0,!1].includes(e._hasPageContextFromClient)),new Proxy(e,{get(t,n){const r=e[n],i=oi(n);return d(r!==$i,`Can't access pageContext${i} on the client side. Because it can't be serialized, see server logs.`),Ti(e,n,i),r}})}function Ti(e,t,n){if(Fi(t)||t in e||xi(t)||!e._hasPageContextFromServer)return;const r=`pageContext${n} isn't defined on the client-side, see https://vike.dev/passToClient#error`;e._hasPageContextFromClient?$(!1,r,{onlyOnce:!1,showStackTrace:!0}):d(!1,r)}const ki=["then","toJSON"];function xi(e){return!!(ki.includes(e)||typeof e=="symbol"||typeof e!="string"||e.startsWith("__v_"))}function Fi(e){return ae.prev===e||ae.prev==="__v_raw"?!0:(ae.prev=e,window.setTimeout(()=>{ae.prev=void 0},0),!1)}function Je(e,t){{const i=e;s([!0,!1].includes(i.isHydration)),s([!0,!1,null].includes(i.isBackwardNavigation))}s("config"in e),s("configEntries"in e),s("exports"in e),s("exportsAll"in e),s("pageExports"in e),s(O(e.pageExports));const n=e.exports.Page;v(e,{Page:n}),Ii(e),Ri(e);const r=Oi(e);return Ei(e),r}function Ii(e){Object.entries(e).forEach(([t,n])=>{delete e[t],e[t]=n})}const ct=["urlPathname","urlParsed"],Ai=["Page","pageExports","exports"];function ji(e){[...Ai,...ct].forEach(n=>{n in e&&(ct.includes(n)?(s(n.startsWith("url")),$(!1,`pageContext.${n} is already available in the browser when using Client Routing; adding '${n}' to passToClient has no effect`,{onlyOnce:!0})):$(!1,`pageContext.${n} is a built-in that cannot be overriden; adding '${n}' to passToClient has no effect`,{onlyOnce:!0}),delete e[n])})}const Li="/";function Wi(e,t,n){const{pathnameOriginal:r,searchOriginal:i,hashOriginal:o}=ne(e,Li);e.startsWith("/")&&s(e===`${r}${i||""}${o||""}`,{url:e});const a=r.endsWith("/");let l;return l=r+(a?"":"/")+"index",s(l),l=l+t,`${l}${i||""}${o||""}`}const Hi=".pageContext.json";function Ni(e){return Wi(e,Hi)}function Jt(e,{hookName:t,hookFilePath:n}){if(e==null)return;s(!t.endsWith(")"));const r=`The ${g.cyan("pageContext")} object provided by the ${t}() hook defined by ${n}`;d(O(e),`${r} should be an object (but it's ${g.cyan(`typeof pageContext === ${JSON.stringify(typeof e)}`)} instead)`),d(!("_objectCreatedByVike"in e),`${r} shouldn't be the whole ${g.cyan("pageContext")} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`),$(!("_pageId"in e),`${r} sets ${g.cyan("pageContext._pageId")} which means that Vike's routing is overriden. This is an experimental feature: make sure to contact a vike maintainer before using this.`,{onlyOnce:!0}),d(!("is404"in e),`${r} sets ${g.cyan("pageContext.is404")} which is forbidden, use ${g.cyan("throw render()")} instead, see https://vike.dev/render`)}function Bi(e,t,n){s(!n.endsWith(" "));const r=[],i=Object.keys(e);for(const o of i)t.includes(o)||r.push(o);d(r.length===0,[n,"returned an object with following unknown keys:",Ze(r)+".","Only following keys are allowed:",Ze(t)+"."].join(" "))}function Di(e,t){if(e==null)return;const n=`The onBeforeRender() hook defined by ${t}`;d(B(e),`${n} should return a plain JavaScript object, ${g.cyan("undefined")}, or ${g.cyan("null")}`),Bi(e,["pageContext"],n),e.pageContext&&Jt(e.pageContext,{hookName:"onBeforeRender",hookFilePath:t})}function Vi(e,t){if(!B(e))return!1;for(const n of Object.keys(e))if(!t.includes(n))return!1;return!0}function zi(e,t,n=r=>r){if(s(e.length>0),e.length===1)return n(e[0]);const r=e.slice(0,e.length-1),i=e[e.length-1];return r.map(n).join(", ")+`, ${t} `+n(i)}D()&&te();const Yt="The guard() hook defined by";async function Ui(e,t){let n;if(e._pageFilesAll.length>0?(s(e._pageConfigs.length===0),n=Gi(e._pageId,e._pageFilesAll)):n=L(e,"guard"),!n)return;const r=n.hookFn;let i=e;const o=t(e);o&&(i=o);const a=await N(()=>r(i),n,e);d(a===void 0,`${Yt} ${n.hookFilePath} returns a value, but guard() shouldn't return any value`)}function Gi(e,t){const n=t.find(u=>u.pageId===e&&u.fileType===".page.route");if(!n)return null;const{filePath:r,fileExports:i}=n;s(i);const o=i.guard;if(!o)return null;const a=r,l=ye("guard");return d(V(o),`${Yt} ${a} should be a function`),{hookFn:o,hookName:"guard",hookFilePath:a,hookTimeout:l}}function Mi(e){const t=new Error("AbortRender");return v(t,{_pageContextAbort:e,[Kt]:!0}),t}const Kt="_isAbortError";function ft(e){return typeof e=="object"&&e!==null&&Kt in e}function Ji(e){return e._urlRewrite||e._urlRedirect||e.abortStatusCode?(s(b(e,"_abortCall","string")),!0):!1}function Yi(e){Ki(e);const t={_urlRewrite:null};return e.forEach(n=>{Object.assign(t,n)}),t}function Ki(e){const t=[];e.forEach(n=>{const r=n._urlRewrite;{const i=t.indexOf(r);if(i!==-1){const o=[...t.slice(i),r].map(a=>`render('${a}')`).join(" => ");d(!1,`Infinite loop of render() calls: ${o}`)}}t.push(r)})}function qi(e,t){const n=[e>0&&g.cyan("throw render('/some-url')"),t>0&&g.cyan("throw redirect('/some-url')")].filter(Boolean).join(" and ");d(e+t<=7,`Maximum chain length of 7 ${n} exceeded. Did you define an infinite loop of ${n}?`)}const Xi="_pageContextInitIsPassedToClient",qt="_isServerSideError",Xt=I("router/getPageContext.ts",{});function Qi(){const e=pi();return d(!("urlOriginal"in e),"Adding 'urlOriginal' to passToClient is forbidden"),en(e),v(e,{_hasPageContextFromServer:!0}),e}async function Zi(e){v(e,{isHydration:!0,_hasPageContextFromClient:!1,_hasPageContextFromServer:!0});for(const t of["data","onBeforeRender"])if(Zt(t,e)){const n=await Qt(t,e);n&&s(!("urlOriginal"in n)),Object.assign(e,n)}return e}async function dt(e,t){v(e,{isHydration:!1,_hasPageContextFromClient:!1});let n=!1;if(!t&&await to(e)){const r=await no(e);if("is404ServerSideRouted"in r)return{is404ServerSideRouted:!0};const{pageContextFromServer:i}=r;n=!0,s(!(qt in i)),s(!("serverSideError"in i)),v(e,i)}v(e,{_hasPageContextFromServer:n});for(const r of["guard","data","onBeforeRender"])if(r==="guard")!t&&!n&&await Ui(e,i=>Je(i));else if(s(r==="data"||r==="onBeforeRender"),Zt(r,e)||!n){const i=await Qt(r,e);i&&s(!("urlOriginal"in i)),Object.assign(e,i)}else s(n);return v(e,{_hasPageContextFromServer:n}),{pageContextAugmented:e}}async function Qt(e,t){const n=L(t,e);if(!n)return null;const r=Je(t),i=await N(()=>n.hookFn(r),n,t),o={};if(e==="onBeforeRender"){Di(i,n.hookFilePath);const a=i==null?void 0:i.pageContext;a&&(v(o,{_hasPageContextFromClient:!0}),v(o,a))}else{s(e==="data");const a={data:i};i&&v(o,{_hasPageContextFromClient:!0}),v(o,a)}return o}function eo(e){e[Xi]&&(Xt.pageContextInitIsPassedToClient=!0)}async function to(e){return!!Xt.pageContextInitIsPassedToClient||await gt("data",e)||await gt("onBeforeRender",e)}async function gt(e,t){var n;if(t._pageConfigs.length>0){const r=Ht(t._pageId,t._pageConfigs),i=((n=M(r,`${e}Env`))==null?void 0:n.value)??{};return s(O(i)),!!i.server&&!i.client}else{if(e==="data")return!1;s(e==="onBeforeRender");const{hasOnBeforeRenderServerSideOnlyHook:r}=await yi(t._pageFilesAll,t._pageId);return r}}function Zt(e,t){var n;if(t._pageConfigs.length>0){const r=Ht(t._pageId,t._pageConfigs),i=((n=M(r,`${e}Env`))==null?void 0:n.value)??{};return s(O(i)),!!i.client&&!i.server}else return!1}async function no(e){const t=Ni(e._urlRewrite??e.urlOriginal),n=await fetch(t);{const o=n.headers.get("content-type"),a="application/json",l=o&&o.includes(a);if(!l&&n.status===404)return K(e.urlOriginal),{is404ServerSideRouted:!0};d(l,`Wrong Content-Type for ${t}: it should be ${a} but it's ${o} instead. Make sure to properly use pageContext.httpResponse.headers, see https://vike.dev/renderPage`)}const r=await n.text(),i=He(r);if(s(O(i)),Ji(i))throw Mi(i);if("serverSideError"in i||qt in i)throw Rt("pageContext couldn't be fetched because an error occurred on the server-side");return s(b(i,"_pageId","string")),en(i),{pageContextFromServer:i}}function en(e){eo(e),ji(e)}function ro(e){s(typeof e.urlOriginal=="string"),on(e);const t={};return be(t,"urlPathname",{get:nn,enumerable:!0,configurable:!0}),be(t,"url",{get:io,enumerable:!1,configurable:!0}),be(t,"urlParsed",{get:oo,enumerable:!0,configurable:!0}),t}function tn(e){let t,n;e.urlLogical?(t=e.urlLogical,n=!1):e._urlRewrite?(t=e._urlRewrite,n=!1):(t=e.urlOriginal,n=!0),s(t&&typeof t=="string");let r=e._urlHandler;r||(r=o=>o),t=r(t);const i=n?e._baseServer:"/";return ne(t,i)}function nn(){const{pathname:e}=tn(this),t=e;return s(t.startsWith("/")),t}function io(){return $(!1,"`pageContext.url` is outdated. Use `pageContext.urlPathname`, `pageContext.urlParsed`, or `pageContext.urlOriginal` instead. (See https://vike.dev/migration/0.4.23 for more information.)",{onlyOnce:!0,showStackTrace:!0}),nn.call(this)}function oo(){const{hasBaseServer:e,...t}=tn(this),n=D(),r=o=>{$(n,`pageContext.urlParsed.${o} isn't available on the server-side (HTTP requests don't include the URL hash)`,{onlyOnce:!0,showStackTrace:!0})},i={...t,get hash(){return r("hash"),t.hash},get hashOriginal(){return r("hashOriginal"),t.hashOriginal},get hashString(){return $(!1,"pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal",{onlyOnce:!0,showStackTrace:!0}),r("hashString"),t.hashOriginal},get searchString(){return $(!1,"pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal",{onlyOnce:!0,showStackTrace:!0}),t.searchOriginal}};return oe(i,"hashString",!1),oe(i,"searchString",!1),n||(oe(i,"hash",!1),oe(i,"hashOriginal",!1)),i}function rn(e){s(typeof e.urlOriginal=="string"),s(typeof e.urlPathname=="string"),s(B(e.urlParsed)),s(e.urlPathname===e.urlParsed.pathname),on(e)}function on(e){"urlPathname"in e?(s(typeof e.urlPathname=="string"),s(me(e,"urlPathname")),s(me(e,"urlParsed")),s(me(e,"url"))):(s(!("urlParsed"in e)),s(!("url"in e)))}function so(e,t){const r=t.filter(({filesystemRoot:o})=>e.startsWith(o)).sort(ce(({filesystemRoot:o})=>o.length))[0];let i;if(r){const{filesystemRoot:o,urlRoot:a}=r,l={pageId:e,filesystemRoot:o,urlRoot:a};s(a.startsWith("/")&&e.startsWith("/")&&o.startsWith("/"),l),s(e.startsWith(o),l),o!=="/"?(s(!o.endsWith("/"),l),i=j(e,o.length,0)):i=e,s(i.startsWith("/"),l),i=a+(a.endsWith("/")?"":"/")+j(i,1,0)}else i=e;return s(i.startsWith("/")),i=i.split("/").filter(o=>o!=="pages"&&o!=="src"&&o!=="index").join("/"),s(!i.includes(".page.")),s(!i.endsWith(".")),i.endsWith("/index")&&(i=j(i,0,-6)),i===""&&(i="/"),s(i.startsWith("/")),s(!i.endsWith("/")||i==="/"),i}async function ao(e,t,n){rn(t);let r=e(t);if(sn(r,`The Route Function ${n}`),r=await r,r===!1)return null;if(r===!0&&(r={}),d(B(r),`The Route Function ${n} should return a boolean or a plain JavaScript object (but it's ${g.cyan(`typeof result === ${JSON.stringify(typeof r)}`)} instead)`),"match"in r){const{match:a}=r;if(d(typeof a=="boolean",`The ${g.cyan("match")} value returned by the Route Function ${n} should be a boolean.`),!a)return null}let i=null;"precedence"in r&&(i=r.precedence,d(typeof i=="number",`The ${g.cyan("precedence")} value returned by the Route Function ${n} should be a number.`)),an(r,`The ${g.cyan("routeParams")} object returned by the Route Function ${n} should`);const o=r.routeParams||{};return d(!("pageContext"in r),`Providing ${g.cyan("pageContext")} in Route Functions is prohibited, see https://vike.dev/route-function#cannot-provide-pagecontext`),s(B(o)),Object.keys(r).forEach(a=>{d(a==="match"||a==="routeParams"||a==="precedence",`The Route Function ${n} returned an object with an unknown property ${g.cyan(a)} (the known properties are ${g.cyan("match")}, ${g.cyan("routeParams")}, and ${g.cyan("precedence")})`)}),{precedence:i,routeParams:o}}function sn(e,t){$(!er(e),`${t} returned a promise, but asynchronous routing is deprecated and will be removed in the next major release, see https://vike.dev/route-function#async`,{onlyOnce:!0})}function ht(){const e=g.cyan("iKnowThePerformanceRisksOfAsyncRouteFunctions");$(!1,`${e} is deprecated and will be removed in the next major release`,{onlyOnce:!0})}function an(e,t){s(t.endsWith(" should")),b(e,"routeParams")&&(s(t.endsWith(" should")),d(b(e,"routeParams","string{}"),`${t} be an object holding string values.`))}async function lo(e,t,n,r){await Promise.all(e.filter(l=>l.fileType===".page.route").map(l=>{var u;return(u=l.loadFile)==null?void 0:u.call(l)}));const{onBeforeRouteHook:i,filesystemRoots:o}=co(e,t,n);return{pageRoutes:uo(o,e,t,r),onBeforeRouteHook:i}}function uo(e,t,n,r){const i=[];if(n.length>0){s(e===null);const o=!0;n.filter(a=>!a.isErrorPage).forEach(a=>{const l=a.pageId;let u=null;{const c="route",f=M(a,c);if(f){const y=f.value;s(f.definedAtData);const h=X(f.definedAtData,c);typeof y=="string"?u={pageId:l,comesFromV1PageConfig:o,routeString:y,routeDefinedAtString:h,routeType:"STRING"}:(s(V(y)),M(a,"iKnowThePerformanceRisksOfAsyncRouteFunctions","boolean")&&ht(),u={pageId:l,comesFromV1PageConfig:o,routeFunction:y,routeDefinedAtString:h,routeType:"FUNCTION"})}}if(!u){const{routeFilesystem:c}=a;s(c);const{routeString:f,definedBy:y}=c;s(c.routeString.startsWith("/")),u={pageId:l,routeFilesystemDefinedBy:y,comesFromV1PageConfig:o,routeString:f,routeDefinedAtString:null,routeType:"FILESYSTEM"}}s(u),i.push(u)})}if(n.length===0){s(e);const o=!1;r.filter(a=>!re(a)).forEach(a=>{const l=t.find(u=>u.pageId===a&&u.fileType===".page.route");if(!l||!("default"in l.fileExports)){const u=so(a,e);s(u.startsWith("/")),s(!u.endsWith("/")||u==="/"),i.push({pageId:a,comesFromV1PageConfig:o,routeString:u,routeDefinedAtString:null,routeFilesystemDefinedBy:`${a}.page.*`,routeType:"FILESYSTEM"})}else{const{filePath:u,fileExports:c}=l;if(s(c.default),b(c,"default","string")){const f=c.default;d(f.startsWith("/"),`A Route String should start with a leading slash '/' but ${u} has \`export default '${f}'\`. Make sure to \`export default '/${f}'\` instead.`),i.push({pageId:a,comesFromV1PageConfig:o,routeString:f,routeDefinedAtString:u,routeType:"STRING"});return}if(b(c,"default","function")){const f=c.default;"iKnowThePerformanceRisksOfAsyncRouteFunctions"in c&&ht(),i.push({pageId:a,comesFromV1PageConfig:o,routeFunction:f,routeDefinedAtString:u,routeType:"FUNCTION"});return}d(!1,`The default export of ${u} should be a string or a function.`)}})}return i}function co(e,t,n){if(t.length>0)return{onBeforeRouteHook:wi(n,"onBeforeRoute"),filesystemRoots:null};let r=null;const i=[];return e.filter(o=>o.fileType===".page.route"&&o.isDefaultPageFile).forEach(({filePath:o,fileExports:a})=>{if(s(a),"onBeforeRoute"in a){d(b(a,"onBeforeRoute","function"),`\`export { onBeforeRoute }\` of ${o} should be a function.`);const{onBeforeRoute:l}=a,u="onBeforeRoute";r={hookFilePath:o,hookFn:l,hookName:u,hookTimeout:ye(u)}}"filesystemRoutingRoot"in a&&(d(b(a,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${o} should be a string.`),d(b(a,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${o} is \`'${a.filesystemRoutingRoot}'\` but it should start with a leading slash \`/\`.`),i.push({filesystemRoot:fo(o),urlRoot:a.filesystemRoutingRoot}))}),{onBeforeRouteHook:r,filesystemRoots:i}}function fo(e){s(e.startsWith("/")),s(!e.endsWith("/"));const t=e.split("/"),n=j(t,0,-1).join("/")||"/";return s(n.startsWith("/")),s(!n.endsWith("/")||n==="/"),n}function ln(){const e="/";return s(go(e)),e}function go(e){return e.startsWith("/")}const Pe=I("createPageContext.ts",{});async function un(e){Pe.pageFilesData||(Pe.pageFilesData=await kr());const{pageFilesAll:t,allPageIds:n,pageConfigs:r,pageConfigGlobal:i}=Pe.pageFilesData,{pageRoutes:o,onBeforeRouteHook:a}=await lo(t,r,i,n),l=ln();s(je(l));const u={urlOriginal:e,_objectCreatedByVike:!0,_urlHandler:null,_urlRewrite:null,_baseServer:l,_pageFilesAll:t,_pageConfigs:r,_pageConfigGlobal:i,_allPageIds:n,_pageRoutes:o,_onBeforeRouteHook:a,_isPageContextObject:!0},c=ro(u);return v(u,c),u}function cn(e,t){const n=e.filter(i=>i.pageId===t);return s(n.length<=1),n[0]??null}async function ho(e,t){if("isAllLoaded"in e&&!t)return e;const n=await e.loadConfigValuesAll(),r=Ce(n.configValuesSerialized);return Object.assign(e.configValues,r),v(e,{isAllLoaded:!0}),e}const fn="__whileFetchingAssets";async function Oe(e,t,n){const r=Be(t,e),i=cn(n,e);let o;const a=!1;try{o=(await Promise.all([i&&ho(i,a),...r.map(f=>{var y;return(y=f.loadFile)==null?void 0:y.call(f)})]))[0]}catch(c){throw po(c)&&Object.assign(c,{[fn]:!0}),c}const l=Ar(r,o),u={};return v(u,l),v(u,{_pageFilesLoaded:r}),u}function Ye(e){return e?e[fn]===!0:!1}function po(e){return e instanceof Error?["Failed to fetch dynamically imported module","error loading dynamically imported module","Importing a module script failed","error resolving module specifier","failed to resolve module"].some(n=>e.message.toLowerCase().includes(n.toLowerCase())):!1}function dn(e){const t=e.getAttribute("href");return t===null||!Ot(t)||t===""||Un(t)||bo(t)||mo(e)||!So(t)||!yo(e)}function yo(e){if(wo()){const n=e.getAttribute("data-vike-link");return n!==null&&n!=="false"}else return!0}function mo(e){const t=e.getAttribute("target"),n=e.getAttribute("rel");return t==="_blank"||t==="_external"||n==="external"||e.hasAttribute("download")}function bo(e){if(e.startsWith("#"))return!0;const t=n=>n.split("#")[0];return!!(e.includes("#")&&t(e)===t(window.location.href))}function So(e){const t=ln();s(je(t));const{hasBaseServer:n}=ne(e,t);return n}function wo(){return!!window._disableAutomaticLinkInterception}function Po(e,t){let n=vo(e,t);return{prefetchStaticAssets:n}}function vo(e,t){{const n=Ro(t);if(n!==null)return n}if("prefetchLinks"in e.exports&&d(!1,"`export { prefetchLinks }` is deprecated, use `export { prefetchStaticAssets }` instead."),"prefetchStaticAssets"in e.exports){const{prefetchStaticAssets:n}=e.exports;if(n===!1)return!1;if(n==="hover")return"hover";if(n==="viewport")return"viewport";const r="prefetchStaticAssets value should be false, 'hover', or 'viewport'";d(B(n),r);const i=Object.keys(n);d(i.length===1&&i[0]==="when",r);const{when:o}=n;if(o==="HOVER"||o==="VIEWPORT"){const a=o.toLowerCase();return $(!1,`prefetchStaticAssets value \`{ when: '${o}' }\` is outdated: set prefetchStaticAssets to '${a}' instead`,{onlyOnce:!0}),a}d(!1,r)}return"hover"}function Ro(e){const t=e.getAttribute("data-prefetch-static-assets"),n=e.getAttribute("data-prefetch");if(t===null&&n===null)return null;const r="The attribute data-prefetch is outdated, use data-prefetch-static-assets instead.";if(t){if(d(n===null,r),t==="hover"||t==="viewport")return t;if(t==="false")return!1;d(!1,`data-prefetch-static-assets has value "${t}" but it should instead be "false", "hover", or "viewport"`)}if(n){if(s(!t),$(!1,r,{onlyOnce:!0}),n==="true")return"viewport";if(n==="false")return"hover";d(!1,`data-prefetch has value "${n}" but it should instead be "true" or "false"`)}s(!1)}const gn=new Map;function Eo(e){const t=hn(e);return gn.has(t)}function _o(e){const t=hn(e);gn.set(t,!0)}function hn(e){return ne(e,"/").pathname}function q(e){return e.fileType===".css"?[]:e.exportNames?e.exportNames:(s(e.fileExports,e.filePath),Object.keys(e.fileExports))}function Co({pageFilesClientSide:e,pageFilesServerSide:t,pageId:n}){return{isHtmlOnly:r(),isClientRouting:o()};function r(){return t.some(l=>l.pageId===n&&l.fileType===".page")?(i(),!1):!(!t.some(l=>l.pageId===n&&l.fileType===".page.server")||e.some(l=>l.pageId===n&&l.fileType===".page.client"&&q(l).includes("render")))}function i(){const a=e.some(l=>q(l).includes("render"));d(a,["No client-side `render()` hook found.","See https://vike.dev/render-modes for more information.",["Loaded client-side page files (none of them `export { render }`):",...e.map((l,u)=>` (${u+1}): ${l.filePath}`)].join(`
|
|
4
|
+
`)].join(" "))}function o(){return e.some(l=>q(l).includes("clientRouting"))}}function $o({pageFilesClientSide:e,pageFilesServerSide:t,isHtmlOnly:n,isClientRouting:r}){let i=[];const o=t.filter(l=>!e.includes(l)),a=[];if(a.push(...e.map(l=>({id:l.filePath,onlyAssets:!1,eagerlyImported:!1}))),a.push(...o.map(l=>({id:l.filePath,onlyAssets:!0,eagerlyImported:!1}))),n)i=e.map(l=>l.filePath);else{const l=Oo(r);a.push({id:l,onlyAssets:!1,eagerlyImported:!1}),i=[l]}return{clientEntries:i,clientDependencies:a}}function Oo(e){return e?"@@vike/dist/esm/client/client-routing-runtime/entry.js":"@@vike/dist/esm/client/server-routing-runtime/entry.js"}function To(e,t){let n=Be(e,t);const r=Lt(e,t),{isHtmlOnly:i,isClientRouting:o}=Co({pageFilesClientSide:n,pageFilesServerSide:r,pageId:t});i&&(n=n.filter(u=>u.isEnv("CLIENT_ONLY")&&!q(u).includes("render")),n=xo(n));const{clientEntries:a,clientDependencies:l}=$o({pageFilesClientSide:n,pageFilesServerSide:r,isHtmlOnly:i,isClientRouting:o});return{isHtmlOnly:i,isClientRouting:o,clientEntries:a,clientDependencies:l,pageFilesClientSide:n,pageFilesServerSide:r}}async function ko(e,t,{sharedPageFilesAlreadyLoaded:n}){const r=Be(e,t);await Promise.all(r.map(async i=>{var o;s(i.isEnv("CLIENT_ONLY")||i.isEnv("CLIENT_AND_SERVER")),!(n&&i.isEnv("CLIENT_AND_SERVER"))&&await((o=i.loadExportNames)==null?void 0:o.call(i))}))}function xo(e){const t=[];for(const n of e)if(t.push(n),q(n).includes("overrideDefaultPages"))break;return t}function Fo(e,t,n){var r,i;if(e){const o=((r=M(e,"clientRouting","boolean"))==null?void 0:r.value)??!1;return{clientEntryLoaded:((i=M(e,"clientEntryLoaded","boolean"))==null?void 0:i.value)??!1,isClientRouting:o}}else{const{isHtmlOnly:o,isClientRouting:a}=To(t,n);return{clientEntryLoaded:!o,isClientRouting:a}}}async function pn(e,t){await ko(t._pageFilesAll,e,{sharedPageFilesAlreadyLoaded:!1});const n=cn(t._pageConfigs,e),{clientEntryLoaded:r,isClientRouting:i}=Fo(n,t._pageFilesAll,e);return r&&i}const yn="@",Te=":";function Io(e,t="Invalid"){let n=`${t} Route String ${H(e)}`;d(e!=="",`${n} (empty string): set it to ${H("/")} instead`),d(["/","*"].includes(e[0]),`${n}: it should start with ${H("/")} or ${H("*")}`),d(!e.includes("**"),`${n}: set it to ${H(e.split("**").join("*"))} instead`)}function ke(e,t){Io(e);const n=mn(e),r=n.map(y=>y.param?"[^/]+":y.glob?".*":nr(y.static)).map(y=>`(${y})`).join(""),i=new RegExp(`^${r}/?$`),o=t.match(i);if(!o)return null;const a={},[l,...u]=o;let c=0;const f=n.filter(y=>y.glob).length>1;return n.forEach((y,h)=>{let p=u[h];if(y.param&&(a[y.param]=p),y.glob){const E=`*${f?++c:""}`;a[E]=p}}),{routeParams:a}}function mn(e){const t=[],n=i=>{const o=t[t.length-1];o!=null&&o.static?o.static+=i:t.push({static:i})},r=e.split("/");return r.forEach((i,o)=>{o!==0&&n("/"),Ao(i)?($(!i.startsWith(Te),`Outdated Route String ${H(e)}, use ${H(e.split(Te).join(yn))} instead`,{onlyOnce:!0}),t.push({param:i.slice(1)})):i==="*"&&o===r.length-1&&e!=="*"&&e!=="/*"?t.push({glob:!0}):i.split("*").forEach((a,l)=>{l!==0&&t.push({glob:!0}),a!==""&&n(a)})}),t}function le(e){const t=mn(e),n=l=>(l==null?void 0:l.split("/").filter(Boolean).length)||0;let r=0;for(const l of t){if(!l.static)break;r+=n(l.static)}const i=t.map(l=>n(l.static)).reduce((l,u)=>l+u,0),o=t.filter(l=>l.param).length,a=t.filter(l=>l.glob).length;return{numberOfStaticPartsBeginning:r,numberOfStaticParts:i,numberOfParams:o,numberOfGlobs:a}}function Ao(e){return e.startsWith(yn)||e.startsWith(Te)}function pt(e){const n=ke(e,e);return s(n),Object.keys(n.routeParams).length===0}function H(e){return D()?`'${e}'`:(e===""&&(e="''"),g.cyan(e))}function jo(e){e.sort(Lo).sort(W(t=>t.routeType==="FUNCTION"&&!!t.precedence&&t.precedence<0)).sort(W(t=>t.routeType==="STRING"&&pt(t.routeString)===!1)).sort(W(t=>t.routeType==="FUNCTION"&&!t.precedence)).sort(W(t=>t.routeType==="STRING"&&pt(t.routeString)===!0)).sort(W(t=>t.routeType==="FILESYSTEM")).sort(W(t=>t.routeType==="FUNCTION"&&!!t.precedence&&t.precedence>0))}function Lo(e,t){{const n=e.precedence??0,r=t.precedence??0;if(n!==r)return n>r?-1:1}if(!t.routeString||!e.routeString)return 0;{const r=ce(i=>le(i).numberOfStaticPartsBeginning)(e.routeString,t.routeString);if(r!==0)return r}{const r=ce(i=>le(i).numberOfStaticParts)(e.routeString,t.routeString);if(r!==0)return r}{const r=Yn(i=>le(i).numberOfGlobs)(e.routeString,t.routeString);if(r!==0)return r}{const r=ce(i=>le(i).numberOfParams)(e.routeString,t.routeString);if(r!==0)return r}return 0}async function Wo(e){const t={};if(!e._onBeforeRouteHook)return null;const n=await Ho(e._onBeforeRouteHook,e);return n&&(v(t,n),b(t,"_pageId","string")||b(t,"_pageId","null"))?(b(t,"routeParams")?s(b(t,"routeParams","object")):v(t,{routeParams:{}}),v(t,{_routingProvidedByOnBeforeRouteHook:!0,_debugRouteMatches:"CUSTOM_ROUTING"}),t):(v(t,{_routingProvidedByOnBeforeRouteHook:!1}),t)}async function Ho(e,t){let n=e.hookFn(t);sn(n,`The onBeforeRoute() hook ${e.hookFilePath}`),n=await N(()=>n,e,t);const r=`The onBeforeRoute() hook defined by ${e.hookFilePath}`;if(d(n==null||Vi(n,["pageContext"])&&b(n,"pageContext"),`${r} should return ${g.cyan("null")}, ${g.cyan("undefined")}, or a plain JavaScript object ${g.cyan("{ pageContext: { /* ... */ } }")}`),n==null)return null;if(d(b(n,"pageContext","object"),`${r} returned ${g.cyan("{ pageContext }")} but pageContext should be a plain JavaScript object.`),b(n.pageContext,"_pageId")&&!b(n.pageContext,"_pageId","null")){const a=`${r} returned ${g.cyan("{ pageContext: { _pageId } }")} but ${g.cyan("_pageId")} should be`;d(b(n.pageContext,"_pageId","string"),`${a} a string or null`),d(t._allPageIds.includes(n.pageContext._pageId),`${a} ${zi(t._allPageIds.map(l=>g.cyan(l)),"or")}`)}b(n.pageContext,"routeParams")&&an(n.pageContext,`${r} returned ${g.cyan("{ pageContext: { routeParams } }")} but routeParams should`);const i=a=>`${r} returned ${g.cyan(`{ pageContext: { ${a} } }`)} which is deprecated. Return ${g.cyan("{ pageContext: { urlLogical } }")} instead.`;b(n.pageContext,"url")&&($(!1,i("url"),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.url,delete n.pageContext.url),b(n.pageContext,"urlOriginal")&&($(!1,i("urlOriginal"),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.urlOriginal,delete n.pageContext.urlOriginal),b(n.pageContext,"urlLogical")&&Mn(n.pageContext.urlLogical,`${r} returned ${g.cyan("{ pageContext: { urlLogical } }")} but ${g.cyan("urlLogical")}`),Jt(n.pageContext,{hookFilePath:e.hookFilePath,hookName:"onBeforeRoute"});const o={};return v(o,n.pageContext),o}var ue;function yt(...e){var t;ue||(ue=(t=globalThis.__brillout_debug_createDebugger)==null?void 0:t.call(globalThis,"vike:routing")),ue&&ue(...e)}D()&&te();async function bn(e){yt("Pages routes:",e._pageRoutes),rn(e);const t={},n=await Wo(e);if(n){if(n._routingProvidedByOnBeforeRouteHook)return s(n._pageId),n;v(t,n)}v(e,n);const r=e._allPageIds;d(r.length>0,"No page found. You must create at least one page."),s(e._pageFilesAll.length>0||e._pageConfigs.length>0);const{urlPathname:i}=e;s(i.startsWith("/"));const o=[];await Promise.all(e._pageRoutes.map(async l=>{const{pageId:u,routeType:c}=l;if(l.routeType==="FILESYSTEM"){const{routeString:f}=l,y=ke(f,i);if(y){const{routeParams:h}=y;o.push({pageId:u,routeParams:h,routeString:f,routeType:c})}return}if(l.routeType==="STRING"){const{routeString:f}=l,y=ke(f,i);if(y){const{routeParams:h}=y;s(c==="STRING"),o.push({pageId:u,routeString:f,routeParams:h,routeType:c})}return}if(l.routeType==="FUNCTION"){const{routeFunction:f,routeDefinedAtString:y}=l,h=await ao(f,e,y);if(h){const{routeParams:p,precedence:E}=h;o.push({pageId:u,precedence:E,routeParams:p,routeType:c})}return}s(!1)})),jo(o);const a=o[0]??null;if(yt(`Route matches for URL ${g.cyan(i)} (in precedence order):`,o),v(t,{_debugRouteMatches:o}),v(t,{_routeMatch:a}),!a)return v(t,{_pageId:null,routeParams:{}}),t;{const{routeParams:l}=a;s(B(l)),v(t,{_pageId:a.pageId,routeParams:a.routeParams})}return t}te();const mt=I("prefetch.ts",{linkPrefetchHandlerAdded:new WeakMap});async function No(e,t){try{await Oe(e,t._pageFilesAll,t._pageConfigs)}catch(n){if(Ye(n))xe(n,!0);else throw n}}function Bo(e){_o(e.urlPathname),[...document.getElementsByTagName("A")].forEach(n=>{if(mt.linkPrefetchHandlerAdded.has(n))return;mt.linkPrefetchHandlerAdded.set(n,!0);const r=n.getAttribute("href");if(dn(n)||(s(r),Eo(r)))return;const{prefetchStaticAssets:i}=Po(e,n);if(i&&(i==="hover"&&(n.addEventListener("mouseover",()=>{ve(r)}),n.addEventListener("touchstart",()=>{ve(r)},{passive:!0})),i==="viewport")){const o=new IntersectionObserver(a=>{a.forEach(l=>{l.isIntersecting&&(ve(r),o.disconnect())})});o.observe(n)}})}async function ve(e){const t=await un(e);let n;try{n=await bn(t)}catch{return}n!=null&&n._pageId&&await pn(n._pageId,t)&&await No(n._pageId,t)}async function Do(e,t){const n=Je(e);let r=null,i;r=L(e,"render"),i="render";{const l=L(e,"onRenderClient");l&&(r=l,i="onRenderClient")}if(!r){const l=Vo(e);if(s(l),e._pageConfigs.length>0)d(!1,`No onRenderClient() hook defined for URL '${l}', but it's needed, see https://vike.dev/onRenderClient`);else{const u=e._pageFilesLoaded.filter(f=>f.fileType===".page.client");let c;u.length===0?c="No file `*.page.client.*` found for URL "+l:c="One of the following files should export a render() hook: "+u.map(f=>f.filePath).join(" "),d(!1,c)}}s(r);const o=r.hookFn;s(i);const a=await N(()=>o(n),r,e);d(a===void 0,`The ${i}() hook defined by ${r.hookFilePath} isn't allowed to return a value`)}function Vo(e){let t;try{t=e.urlPathname??e.urlOriginal}catch{}return t=t??window.location.href,t}function Sn(e){if(e&&"x"in e){wn(e);return}e!=null&&e.preserveScroll||zo()}function zo(){const e=Uo();if(!e||e==="top")wn({x:0,y:0});else{const t=document.getElementById(e)||document.getElementsByName(e)[0];t&&t.scrollIntoView()}}function wn(e){const t=()=>window.scrollTo(e.x,e.y),n=()=>window.scrollX===e.x&&window.scrollY===e.y;n()||(t(),!n()&&requestAnimationFrame(()=>{t(),!n()&&setTimeout(async()=>{if(t(),n())return;const r=new Date().getTime();for(;;)if(await li(10),t(),n()||new Date().getTime()-r>100)return},0)}))}function Uo(){let{hash:e}=window.location;return e===""?null:(s(e.startsWith("#")),e=e.slice(1),e)}function Go(){window.addEventListener("scroll",ui(ut,Math.ceil(1e3/3)),{passive:!0}),zt(ut)}const z=I("onBrowserHistoryNavigation.ts",{previousState:fe()});function Mo(){window.addEventListener("popstate",async()=>{const e=fe(),t=e.historyState.scrollPosition||void 0,n=e.historyState.triggeredBy==="user",r=e.urlWithoutHash===z.previousState.urlWithoutHash,i=!e.historyState.timestamp||!z.previousState.historyState.timestamp?null:e.historyState.timestamp<z.previousState.historyState.timestamp;z.previousState=e,r&&!n?window.history.state===null?(Ut(),z.previousState=fe()):Sn(t):await Q({scrollTarget:t,isBackwardNavigation:i,isUserLandPushStateNavigation:n})})}function fe(){return{urlWithoutHash:Ve({withoutHash:!0}),historyState:ze()}}function Jo(){z.previousState=fe()}const Pn=I("scrollRestoration.ts",{});function Yo(){bt(),zt(bt),ci(()=>Pn.initialRenderIsDone&&Ke())}function Ko(){Pn.initialRenderIsDone=!0}function Ke(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual")}function bt(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto")}const C=I("renderPageClientSide.ts",{renderCounter:0});async function Q(e){const{scrollTarget:t,urlOriginal:n=Ve(),overwriteLastHistoryEntry:r=!1,isBackwardNavigation:i,pageContextsFromRewrite:o=[],redirectCount:a=0,isUserLandPushStateNavigation:l,isClientSideNavigation:u=!0}=e,{isRenderOutdated:c,setHydrationCanBeAborted:f,isFirstRender:y}=Xo();if(s(u===!y),qi(o.length,a),C.clientRoutingIsDisabled){K(n);return}await h();return;async function h(){var F;const S=async m=>{await E({err:m})},R=await p();if(c())return;if(C.isFirstRenderDone){const{previousPageContext:m}=C;if(s(m),we(m,"onPageTransitionStart"),!C.isTransitioning){C.isTransitioning=!0;const w=L(m,"onPageTransitionStart");if(w){const k=w,{hookFn:x}=k;try{await N(()=>x(R),k,R)}catch(J){await S(J);return}if(c())return}}}let P;if(y)P=Qi();else{let m;try{m=await bn(R)}catch(x){await S(x);return}if(c())return;let w;if(!m._pageId)w=!1;else if(w=await pn(m._pageId,R),c())return;if(!w){K(n);return}s(b(m,"_pageId","string"));const k=m._pageId&&((F=C.previousPageContext)==null?void 0:F._pageId)&&m._pageId===C.previousPageContext._pageId;if(l&&k)return;P=m}s(!("urlOriginal"in P)),v(R,P);try{v(R,await Oe(R._pageId,R._pageFilesAll,R._pageConfigs))}catch(m){if(St(m,R,y))return;await S(m);return}if(!c()&&(R.exports.hydrationCanBeAborted?f():$(!ai(),"You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://vike.dev/hydrationCanBeAborted",{onlyOnce:!0}),!c()))if(y){s(b(R,"_hasPageContextFromServer","true"));let m;try{m=await Zi(R)}catch(w){await S(w);return}if(c())return;Se(R,m),await _(R)}else{let m;try{m=await dt(R,!1)}catch(w){await S(w);return}if(c()||"is404ServerSideRouted"in m)return;Se(R,m.pageContextAugmented),await _(R)}}async function p(){const S=await un(n);v(S,{isBackwardNavigation:i,isClientSideNavigation:u});{const R=Yi(o);s(!("urlOriginal"in R)),v(S,R)}return S}async function E(S){const R=w=>{lt(w,S.err)||console.error(w)};if("err"in S){const{err:w}=S;s(w),ft(w)||console.error(w)}const P=await p();if(c())return;if(S.pageContextError&&v(P,S.pageContextError),"err"in S){const{err:w}=S;if(s(!("errorWhileRendering"in P)),P.errorWhileRendering=w,ft(w)){const x=w._pageContextAbort;if(x._urlRewrite){await Q({...e,scrollTarget:void 0,pageContextsFromRewrite:[...o,x]});return}if(x._urlRedirect){const J=x._urlRedirect.url;if(J.startsWith("/"))await Q({...e,scrollTarget:void 0,urlOriginal:J,overwriteLastHistoryEntry:!1,isBackwardNavigation:!1,redirectCount:a+1});else{K(J);return}return}s(x.abortStatusCode),s(!("urlOriginal"in x)),v(P,x),x.abortStatusCode===404&&v(P,{is404:!0})}else v(P,{is404:!1})}const F=ar(P._pageFilesAll,P._pageConfigs);if(!F)throw new Error("No error page defined.");v(P,{_pageId:F});try{v(P,await Oe(P._pageId,P._pageFilesAll,P._pageConfigs))}catch(w){if(St(w,P,y))return;R(w);return}if(c())return;let m;try{m=await dt(P,!0)}catch(w){R(w);return}c()||"is404ServerSideRouted"in m||(Se(P,m.pageContextAugmented),await _(P,S))}async function _(S,R){const P=async m=>{R?lt(m,R.err)||console.error(m):await E({err:m})};if(C.onRenderClientPromise&&(await C.onRenderClientPromise,s(C.onRenderClientPromise===void 0),c()))return;qo(n,r),C.previousPageContext=S,s(C.onRenderClientPromise===void 0),C.onRenderClientPromise=(async()=>{let m;try{await Do(S,!0)}catch(w){m=w}return C.onRenderClientPromise=void 0,C.isFirstRenderDone=!0,m})();const F=await C.onRenderClientPromise;if(s(C.onRenderClientPromise===void 0),!(F&&(await P(F),!R))){if(Bo(S),y&&!F){we(S,"onHydrationEnd");const m=L(S,"onHydrationEnd");if(m){const{hookFn:w}=m;try{await N(()=>w(S),m,S)}catch(k){if(await P(k),!R)return}if(c(!0))return}}if(!c(!0)){if(C.isTransitioning){C.isTransitioning=void 0;const{previousPageContext:m}=C;s(m),we(m,"onPageTransitionEnd");const w=L(m,"onPageTransitionEnd");if(w){const{hookFn:k}=w;try{await N(()=>k(S),w,S)}catch(x){if(await P(x),!R)return}if(c(!0))return}}Sn(t),Ke(),Ko()}}}}function qo(e,t){Ve()!==e&&(Ke(),fi(e,t),Jo())}function St(e,t,n){if(!Ye(e))return!1;if(n)throw xe(e,!1),e;return xe(e,!0),K(t.urlOriginal),!0}function xe(e,t){s(Ye(e)),C.clientRoutingIsDisabled=!0,t&&console.log(e),An(!1,["Failed to fetch static asset.","This usually happens when a new frontend is deployed.","Falling back to Server Routing.","(The next page navigation will use Server Routing instead of Client Routing.)"].filter(Boolean).join(" "),{onlyOnce:!0})}function Xo(){const e=++C.renderCounter;s(e>=1);let t=!1;return{isRenderOutdated:i=>e===1&&!t&&!i?!1:e!==C.renderCounter,setHydrationCanBeAborted:()=>{t=!0},isFirstRender:e===1}}function wt(){return C.renderCounter}function Qo(){document.addEventListener("click",Zo)}async function Zo(e){if(!es(e))return;const t=ts(e.target);if(!t)return;const n=t.getAttribute("href");if(dn(t))return;s(n),e.preventDefault();let r;{const i=t.getAttribute("keep-scroll-position");i!==null&&(r={preserveScroll:i!=="false"})}await Q({scrollTarget:r,urlOriginal:n,isBackwardNavigation:!1})}function es(e){return e.button===0&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey}function ts(e){for(;e.tagName!=="A";){const{parentNode:t}=e;if(!t)return null;e=t}return e}async function ns(){is();const e=rs();Qo(),await e}function rs(){s(wt()===0);const e=Q({scrollTarget:{preserveScroll:!0},isBackwardNavigation:null,isClientSideNavigation:!1});return s(wt()===1),e}function is(){Yo(),Ut(),Go(),gi(),Mo()}te();_n();ns();
|
|
5
|
+
//# sourceMappingURL=entry-client-routing.DcliWhPk.js.map
|