vuer 0.0.66__py3-none-any.whl → 0.0.67__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.

Files changed (29) hide show
  1. vuer/__pycache__/events.cpython-311.pyc +0 -0
  2. vuer/__pycache__/server.cpython-311.pyc +0 -0
  3. vuer/client_build/404.html +1 -1
  4. vuer/client_build/assets/entries/entry-client-routing.ElPgRW9J.js +5 -0
  5. vuer/client_build/assets/entries/entry-client-routing.ElPgRW9J.js.map +1 -0
  6. vuer/client_build/assets/entries/pages_editor.DTJ44V1M.js +2 -0
  7. vuer/client_build/assets/entries/pages_editor.DTJ44V1M.js.map +1 -0
  8. vuer/client_build/assets/entries/pages_index.DYUEXAWY.js +2 -0
  9. vuer/client_build/assets/entries/pages_index.DYUEXAWY.js.map +1 -0
  10. vuer/client_build/assets/entries/pages_studio.B9ofAf4Z.js +2 -0
  11. vuer/client_build/assets/entries/pages_studio.B9ofAf4Z.js.map +1 -0
  12. vuer/client_build/editor/index.html +2 -2
  13. vuer/client_build/index.html +2 -2
  14. vuer/client_build/simple/index.html +1 -1
  15. vuer/client_build/studio/index.html +2 -2
  16. vuer/schemas/__init__.py +1 -0
  17. vuer/schemas/__pycache__/__init__.cpython-311.pyc +0 -0
  18. vuer/schemas/__pycache__/html_components.cpython-311.pyc +0 -0
  19. vuer/schemas/__pycache__/material_components.cpython-311.pyc +0 -0
  20. vuer/schemas/__pycache__/scene_components.cpython-311.pyc +0 -0
  21. vuer/schemas/html_components.py +5 -3
  22. vuer/schemas/material_components.py +127 -0
  23. vuer/schemas/scene_components.py +182 -2
  24. {vuer-0.0.66.dist-info → vuer-0.0.67.dist-info}/METADATA +1 -1
  25. {vuer-0.0.66.dist-info → vuer-0.0.67.dist-info}/RECORD +29 -19
  26. {vuer-0.0.66.dist-info → vuer-0.0.67.dist-info}/WHEEL +0 -0
  27. {vuer-0.0.66.dist-info → vuer-0.0.67.dist-info}/entry_points.txt +0 -0
  28. {vuer-0.0.66.dist-info → vuer-0.0.67.dist-info}/licenses/LICENSE +0 -0
  29. {vuer-0.0.66.dist-info → vuer-0.0.67.dist-info}/top_level.txt +0 -0
Binary file
Binary file
@@ -7,7 +7,7 @@
7
7
  <body>
8
8
  <div id="react-root"><div style="height:calc(100vh - 100px);display:flex;justify-content:center;align-items:center"><p style="font-size:1.3em">Page not found.</p></div></div>
9
9
  <script id="vike_pageContext" type="application/json">{"someAsyncProps":42,"abortReason":"!undefined","_urlRewrite":null,"_urlRedirect":"!undefined","abortStatusCode":"!undefined","_abortCall":"!undefined","_pageContextInitIsPassedToClient":"!undefined","_pageId":"/pages/_error","routeParams":{},"data":"!undefined","pageProps":{"is404":true},"is404":true,"_isServerSideError":"!undefined"}</script>
10
- <script src="/assets/entries/entry-client-routing.Cx9W0mvP.js" type="module" async></script>
10
+ <script src="/assets/entries/entry-client-routing.ElPgRW9J.js" type="module" async></script>
11
11
  <link rel="modulepreload" href="/assets/entries/pages_error.O1uxa_ug.js" as="script" type="text/javascript">
12
12
  <link rel="modulepreload" href="/assets/chunks/chunk-D_MRHYMT.js" as="script" type="text/javascript">
13
13
  <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
@@ -0,0 +1,5 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/entries/pages_error.O1uxa_ug.js","assets/chunks/chunk-D_MRHYMT.js","assets/static/onRenderClient.ClXi4DEU.css","assets/entries/pages_editor.DTJ44V1M.js","assets/chunks/chunk-C6pZYLoD.js","assets/chunks/chunk-D7HrI6pR.js","assets/chunks/chunk-DUyeN413.js","assets/static/editor.B6qEVXNb.css","assets/entries/pages_index.DYUEXAWY.js","assets/static/index.BbAhTARb.css","assets/entries/pages_simple.Bic9vm0Z.js","assets/entries/pages_studio.B9ofAf4Z.js"])))=>i.map(i=>d[i]);
2
+ import{_ as Y}from"../chunks/chunk-D7HrI6pR.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);On(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 On(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}`;{const{alreadyLogged:o}=A,a=i;if(o.has(a))return;o.add(a)}console.warn(new Error(i))}function Tn(){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 Tn()&&(n.stack=$n(n.stack,t)),n}function $n(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 T(e){return typeof e=="object"&&e!==null}const $=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=ee(i),i=he(i,"Bug"),i=te(i,!0);const o=de(i,ge);throw(a=$.onBeforeLog)==null||a.call($),o}function d(e,t,{showStackTrace:n}={}){var i;if(e)return;n=n||$.alwaysShowStackTrace,t=ee(t),t=he(t,"Wrong Usage"),t=te(t);const r=de(t,ge);throw n&&$.showStackTraceList.add(r),(i=$.onBeforeLog)==null||i.call($),r}function Rt(e){return e=ee(e),e=he(e,"Error"),e=te(e),de(e,ge)}function O(e,t,{onlyOnce:n,showStackTrace:r}){var i;if(!e){if(r=r||$.alwaysShowStackTrace,t=ee(t),t=he(t,"Warning"),t=te(t),n){const{alreadyLogged:o}=$,a=n===!0?t:n;if(o.has(a))return;o.add(a)}if((i=$.onBeforeLog)==null||i.call($),r){const o=de(t,ge);$.showStackTraceList.add(o),$.logger(o,"warn")}else $.logger(t,"warn")}}function An(e,t,{onlyOnce:n}){var r;t=ee(t),t=te(t);{const{alreadyLogged:i}=$,o=t;if(i.has(o))return;i.add(o)}(r=$.onBeforeLog)==null||r.call($),$.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 ee(e){return e.startsWith("[")?e:` ${e}`}function te(e,t=!1){return`${t?In:Fn}${e}`}function N(){return typeof window<"u"&&typeof window.scrollY=="number"}const Et=I("utils/assertRouterType.ts",{});function ne(){Ln(jn()),Et.isClientRouting=!0}function jn(){return Et.isClientRouting!==!1}function Ln(e){d(N(),`${g.cyan("import { something } from 'vike/client/router'")} is forbidden on the server-side`,{showStackTrace:!0}),O(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 re(e,t){s(Tt(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);zn(e,h,E,u,i);let{pathname:_,hasBaseServer:b}=Nn(p,t);const R=Ot(h,_,u,i),P=h?h.slice(y.length):null,{hostname:F,port:m}=Bn(P,e);return _=Wn(_),s(_.startsWith("/")),{href:R,protocol:y,hostname:F,port:m,origin:h,pathname:_,pathnameOriginal:E,hasBaseServer:b,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:Dn(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 Bn(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 Dn(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 Nn(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 zn(e,t,n,r,i){const o=Ot(t,n,r,i);s(e===o)}function Ot(e,t,n,r){return`${e||""}${t}${n||""}${r||""}`}function Tt(e){return We(e)||e.startsWith("/")||Le(e)}function Vn(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(Vn(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 z(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 T(e)&&Object.values(e).every(t=>typeof t=="string")}function S(e,t,n){if(!T(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"?T(r):n==="string[]"?qn(r):n==="string{}"?Xn(r):n==="function"?z(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 D(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 $t(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&&z(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 Se(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){$t(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=>ie(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 ie(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 ie(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($t(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:ie(e),pageId:sr(e)};return i}function Ee(e){return G(e),ie(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 ${Q(n,t)}`}function jt(e,t,n){return n?`${_e(e,t)} at ${Q(n,t)}`:`${_e(e,t)} internally`}function _e(e,t){return`${e} ${g.cyan(t)} defined`}function Q(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 Sr=[{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 Be(t)}function Be(e){return typeof e=="string"?br(e):(typeof e=="object"&&e!==null&&Object.entries(e).forEach(([t,n])=>{e[t]=Be(n)}),e)}function br(e){for(const{match:t,deserialize:n}of Sr)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&&O(!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=>{O(!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"||z(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=Be(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(S(e,"pageFilesLazy","object")),s(S(e,"pageFilesEager","object")),s(S(e,"pageFilesExportNamesLazy","object")),s(S(e,"pageFilesExportNamesEager","object")),s(S(e.pageFilesLazy,".page")),s(S(e.pageFilesLazy,".page.client")||S(e.pageFilesLazy,".page.server")),s(S(e,"pageFilesList","string[]")),s(S(e,"pageConfigsSerialized")),s(S(e,"pageConfigGlobalSerialized"));const{pageConfigsSerialized:t,pageConfigGlobalSerialized:n}=e;Or(t),Tr(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(S(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(T(f)),u.fileExports=f}),se(e.pageFilesExportNamesEager).forEach(({filePath:l,pageFile:u,globValue:c})=>{u=o[l]=o[l]??u;const f=c;s(T(f)),s(S(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(T(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(z(e))}function Or(e){s(U(e)),e.forEach(t=>{s(T(t)),s(S(t,"pageId","string")),s(S(t,"routeFilesystem")),s(S(t,"configValuesSerialized"))})}function Tr(e){s(S(e,"configValuesSerialized"))}const K=I("setPageFiles.ts",{});function $r(e){const{pageFiles:t,pageConfigs:n,pageConfigGlobal:r}=Cr(e);K.pageFilesAll=t,K.pageConfigs=n,K.pageConfigGlobal=r}async function kr(e,t){s(!K.pageFilesGetter),s(t===void 0);const{pageFilesAll:n,pageConfigs:r,pageConfigGlobal:i}=K;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 De(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(b=>b.pageId===t&&b.isEnv(p?"CLIENT_AND_SERVER":r));d(E.length<=1,`Merge the following files into a single file: ${E.map(b=>b.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 Bt(e){if(!e||U(e))return null;const{filePathToShowToUser:t}=e;return s(t),t}function Ir(e){const t=Bt(e);return s(t),t}function Ar(e,t){const n={},r={},i={};e.forEach(h=>{jr(h).forEach(({exportName:E,exportValue:_,isFromDefaultExport:b})=>{s(E!=="default"),i[E]=i[E]??[],i[E].push({exportValue:_,exportSource:`${h.filePath} > ${b?`\`export default { ${E} }\``:`\`export { ${E} }\``}`,filePath:h.filePath,_filePath:h.filePath,_fileType:h.fileType,_isFromDefaultExport:b})})});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,_=Bt(p.definedAtData),b=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:b,configDefinedByFile:_}),p.type==="standard"){const P={type:"configsStandard",value:p.value,definedAt:Q(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=Q(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:b,filePath:_,_filePath:_,_fileType:null,_isFromDefaultExport:null})});const c=Lr(),f={};return Object.entries(i).forEach(([h,p])=>{p.forEach(({exportValue:E,_fileType:_,_isFromDefaultExport:b})=>{f[h]=f[h]??E,_===".page"&&!b&&(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(T(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 N()||O(!1,"`pageContext.pageExports` is outdated. Use `pageContext.exports` instead, see https://vike.dev/exports",{onlyOnce:!0,showStackTrace:!0}),Reflect.get(...e)}})}const Ne={},Dt={},Wr={},pe={},Hr=[],Nt={},Br=[{pageId:"/pages/_error",isErrorPage:!0,routeFilesystem:void 0,loadConfigValuesAll:()=>Y(()=>import("./pages_error.O1uxa_ug.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:()=>Y(()=>import("./pages_editor.DTJ44V1M.js"),__vite__mapDeps([3,1,2,4,5,6,7])),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:()=>Y(()=>import("./pages_index.DYUEXAWY.js"),__vite__mapDeps([8,1,2,4,5,6,9])),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:()=>Y(()=>import("./pages_simple.Bic9vm0Z.js"),__vite__mapDeps([10,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}}}},{pageId:"/pages/studio",isErrorPage:void 0,routeFilesystem:{routeString:"/studio",definedBy:"/pages/studio/"},loadConfigValuesAll:()=>Y(()=>import("./pages_studio.B9ofAf4Z.js"),__vite__mapDeps([11,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}}}}],Dr={configValuesSerialized:{}},Nr=Object.assign({}),zr={...Nr};Ne[".page"]=zr;const Vr=Object.assign({}),Ur={...Vr};pe[".page"]=Ur;const Gr=Object.assign({}),Mr={...Gr};pe[".page.server"]=Mr;const Jr=Object.assign({}),Yr={...Jr};Dt[".page.route"]=Yr;const Kr=Object.assign({}),qr={...Kr};Ne[".page.client"]=qr;const Xr=Object.assign({}),Qr={...Xr};pe[".page.client"]=Qr;const Zr=Object.assign({}),ei={...Zr};Nt[".page.server"]=ei;const ti=Object.freeze(Object.defineProperty({__proto__:null,neverLoaded:Nt,pageConfigGlobalSerialized:Dr,pageConfigsSerialized:Br,pageFilesEager:Dt,pageFilesExportNamesEager:pe,pageFilesExportNamesLazy:Wr,pageFilesLazy:Ne,pageFilesList:Hr},Symbol.toStringTag,{value:"Module"}));$r(ti);function zt(){s(N())}function ni(){zt(),ne()}function ri(){zt()}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 Oe=I("utils/executeHook.ts",{userHookErrors:new WeakMap,pageContext:null});function B(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(()=>{O(!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){T(p)&&Oe.userHookErrors.set(p,{hookName:r,hookFilePath:i}),u(p)}})(),c}function at(e){return!!e&&e!==1/0}function ii(e){Oe.pageContext=e,Promise.resolve().then(()=>{Oe.pageContext=null})}function ze(e){const t=window.location.href,{searchOriginal:n,hashOriginal:r,pathname:i}=re(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!T(e)||!T(t)?!1:e.message===t.message}function q(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 Vt(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&e()})}function ci(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()})}function be(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 Ve(){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=Ve();Me({...t,scrollPosition:e})}function fi(e,t){if(t)Me(Ve(),e);else{const n=Ge();di({timestamp:n,scrollPosition:null,triggeredBy:"vike",_isVikeEnhanced:!0},e)}}function Gt(e){if(s(T(e)),"timestamp"in e){const{timestamp:t}=e;s(typeof t=="number")}if("scrollPosition"in e){const{scrollPosition:t}=e;t!==null&&s(S(t,"x","number")&&S(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||T(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 T(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(S(r,"_pageId","string")),s(S(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&&Si(r,n,t,i),e}function M(e,t,n){const r=e.configValues[t];return r?mi(r,t,n):null}function Si(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 bi=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(z(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(T(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(T(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}:bi.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(S(e,"is404","boolean"))}function Ci(e){if(e.is404===void 0||e.is404===null)return;const t=e.pageProps||{};if(!T(t)){O(!1,"pageContext.pageProps should be an object",{showStackTrace:!0,onlyOnce:!0});return}t.is404=t.is404||e.is404,e.pageProps=t}const Oi="not-serializable",ae=I("getPageContextProxyForUser.ts",{});function Ti(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!==Oi,`Can't access pageContext${i} on the client side. Because it can't be serialized, see server logs.`),$i(e,n,i),r}})}function $i(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?O(!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(T(e.pageExports));const n=e.exports.Page;v(e,{Page:n}),Ii(e),Ri(e);const r=Ti(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")),O(!1,`pageContext.${n} is already available in the browser when using Client Routing; adding '${n}' to passToClient has no effect`,{onlyOnce:!0})):O(!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}=re(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 Bi(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(T(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`),O(!("_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 Di(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 Ni(e,t){if(e==null)return;const n=`The onBeforeRender() hook defined by ${t}`;d(D(e),`${n} should return a plain JavaScript object, ${g.cyan("undefined")}, or ${g.cyan("null")}`),Di(e,["pageContext"],n),e.pageContext&&Jt(e.pageContext,{hookName:"onBeforeRender",hookFilePath:t})}function zi(e,t){if(!D(e))return!1;for(const n of Object.keys(e))if(!t.includes(n))return!1;return!0}function Vi(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)}N()&&ne();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 B(()=>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(z(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(S(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 B(()=>n.hookFn(r),n,t),o={};if(e==="onBeforeRender"){Ni(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(T(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(T(i)),!!i.client&&!i.server}else return!1}async function no(e){const t=Bi(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 q(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(T(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(S(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 Se(t,"urlPathname",{get:nn,enumerable:!0,configurable:!0}),Se(t,"url",{get:io,enumerable:!1,configurable:!0}),Se(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 re(t,i)}function nn(){const{pathname:e}=tn(this),t=e;return s(t.startsWith("/")),t}function io(){return O(!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=N(),r=o=>{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 O(!1,"pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal",{onlyOnce:!0,showStackTrace:!0}),r("hashString"),t.hashOriginal},get searchString(){return O(!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(D(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(D(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(D(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){O(!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");O(!1,`${e} is deprecated and will be removed in the next major release`,{onlyOnce:!0})}function an(e,t){s(t.endsWith(" should")),S(e,"routeParams")&&(s(t.endsWith(" should")),d(S(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=Q(f.definedAtData,c);typeof y=="string"?u={pageId:l,comesFromV1PageConfig:o,routeString:y,routeDefinedAtString:h,routeType:"STRING"}:(s(z(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=>!ie(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),S(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(S(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(S(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(S(a,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${o} should be a string.`),d(S(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)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 Te(e,t,n){const r=De(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||!Tt(t)||t===""||Un(t)||So(t)||mo(e)||!bo(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 So(e){if(e.startsWith("#"))return!0;const t=n=>n.split("#")[0];return!!(e.includes("#")&&t(e)===t(window.location.href))}function bo(e){const t=ln();s(je(t));const{hasBaseServer:n}=re(e,t);return n}function wo(){return!!window._disableAutomaticLinkInterception}function Po(e,t){return{prefetchStaticAssets:vo(e,t)}}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(D(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 O(!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),O(!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 re(e,"/").pathname}function X(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"&&X(l).includes("render")))}function i(){const a=e.some(l=>X(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=>X(l).includes("clientRouting"))}}function Oo({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=To(r);a.push({id:l,onlyAssets:!1,eagerlyImported:!1}),i=[l]}return{clientEntries:i,clientDependencies:a}}function To(e){return e?"@@vike/dist/esm/client/client-routing-runtime/entry.js":"@@vike/dist/esm/client/server-routing-runtime/entry.js"}function $o(e,t){let n=De(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")&&!X(u).includes("render")),n=xo(n));const{clientEntries:a,clientDependencies:l}=Oo({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=De(e,t);await Promise.all(r.map(async i=>{var o;s(i.isEnv("CLIENT_ONLY")||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),X(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}=$o(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="@",$e=":";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)?(O(!i.startsWith($e),`Outdated Route String ${H(e)}, use ${H(e.split($e).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($e)}function pt(e){const n=ke(e,e);return s(n),Object.keys(n.routeParams).length===0}function H(e){return N()?`'${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),S(t,"_pageId","string")||S(t,"_pageId","null"))?(S(t,"routeParams")?s(S(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 B(()=>n,e,t);const r=`The onBeforeRoute() hook defined by ${e.hookFilePath}`;if(d(n==null||zi(n,["pageContext"])&&S(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(S(n,"pageContext","object"),`${r} returned ${g.cyan("{ pageContext }")} but pageContext should be a plain JavaScript object.`),S(n.pageContext,"_pageId")&&!S(n.pageContext,"_pageId","null")){const a=`${r} returned ${g.cyan("{ pageContext: { _pageId } }")} but ${g.cyan("_pageId")} should be`;d(S(n.pageContext,"_pageId","string"),`${a} a string or null`),d(t._allPageIds.includes(n.pageContext._pageId),`${a} ${Vi(t._allPageIds.map(l=>g.cyan(l)),"or")}`)}S(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.`;S(n.pageContext,"url")&&(O(!1,i("url"),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.url,delete n.pageContext.url),S(n.pageContext,"urlOriginal")&&(O(!1,i("urlOriginal"),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.urlOriginal,delete n.pageContext.urlOriginal),S(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)}N()&&ne();async function Sn(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(D(l)),v(t,{_pageId:a.pageId,routeParams:a.routeParams})}return t}ne();const mt=I("prefetch.ts",{linkPrefetchHandlerAdded:new WeakMap});async function Bo(e,t){try{await Te(e,t._pageFilesAll,t._pageConfigs)}catch(n){if(Ye(n))xe(n,!0);else throw n}}function Do(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 Sn(t)}catch{return}n!=null&&n._pageId&&await pn(n._pageId,t)&&await Bo(n._pageId,t)}async function No(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=zo(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 B(()=>o(n),r,e);d(a===void 0,`The ${i}() hook defined by ${r.hookFilePath} isn't allowed to return a value`)}function zo(e){let t;try{t=e.urlPathname??e.urlOriginal}catch{}return t=t??window.location.href,t}function bn(e){if(e&&"x"in e){wn(e);return}e!=null&&e.preserveScroll||Vo()}function Vo(){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}),Vt(ut)}const V=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===V.previousState.urlWithoutHash,i=!e.historyState.timestamp||!V.previousState.historyState.timestamp?null:e.historyState.timestamp<V.previousState.historyState.timestamp;V.previousState=e,r&&!n?window.history.state===null?(Ut(),V.previousState=fe()):bn(t):await Z({scrollTarget:t,isBackwardNavigation:i,isUserLandPushStateNavigation:n})})}function fe(){return{urlWithoutHash:ze({withoutHash:!0}),historyState:Ve()}}function Jo(){V.previousState=fe()}const Pn=I("scrollRestoration.ts",{});function Yo(){St(),Vt(St),ci(()=>Pn.initialRenderIsDone&&Ke())}function Ko(){Pn.initialRenderIsDone=!0}function Ke(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual")}function St(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto")}const C=I("renderPageClientSide.ts",{renderCounter:0});async function Z(e){const{scrollTarget:t,urlOriginal:n=ze(),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){q(n);return}await h();return;async function h(){var F;const b=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 B(()=>x(R),k,R)}catch(J){await b(J);return}if(c())return}}}let P;if(y)P=Qi();else{let m;try{m=await Sn(R)}catch(x){await b(x);return}if(c())return;let w;if(!m._pageId)w=!1;else if(w=await pn(m._pageId,R),c())return;if(!w){q(n);return}s(S(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 Te(R._pageId,R._pageFilesAll,R._pageConfigs))}catch(m){if(bt(m,R,y))return;await b(m);return}if(!c()&&(R.exports.hydrationCanBeAborted?f():O(!ai(),"You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://vike.dev/hydrationCanBeAborted",{onlyOnce:!0}),!c()))if(y){s(S(R,"_hasPageContextFromServer","true"));let m;try{m=await Zi(R)}catch(w){await b(w);return}if(c())return;be(R,m),await _(R)}else{let m;try{m=await dt(R,!1)}catch(w){await b(w);return}if(c()||"is404ServerSideRouted"in m)return;be(R,m.pageContextAugmented),await _(R)}}async function p(){const b=await un(n);v(b,{isBackwardNavigation:i,isClientSideNavigation:u});{const R=Yi(o);s(!("urlOriginal"in R)),v(b,R)}return b}async function E(b){const R=w=>{lt(w,b.err)||console.error(w)};if("err"in b){const{err:w}=b;s(w),ft(w)||console.error(w)}const P=await p();if(c())return;if(b.pageContextError&&v(P,b.pageContextError),"err"in b){const{err:w}=b;if(s(!("errorWhileRendering"in P)),P.errorWhileRendering=w,ft(w)){const x=w._pageContextAbort;if(x._urlRewrite){await Z({...e,scrollTarget:void 0,pageContextsFromRewrite:[...o,x]});return}if(x._urlRedirect){const J=x._urlRedirect.url;if(J.startsWith("/"))await Z({...e,scrollTarget:void 0,urlOriginal:J,overwriteLastHistoryEntry:!1,isBackwardNavigation:!1,redirectCount:a+1});else{q(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 Te(P._pageId,P._pageFilesAll,P._pageConfigs))}catch(w){if(bt(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||(be(P,m.pageContextAugmented),await _(P,b))}async function _(b,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=b,s(C.onRenderClientPromise===void 0),C.onRenderClientPromise=(async()=>{let m;try{await No(b,!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(Do(b),y&&!F){we(b,"onHydrationEnd");const m=L(b,"onHydrationEnd");if(m){const{hookFn:w}=m;try{await B(()=>w(b),m,b)}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 B(()=>k(b),w,b)}catch(x){if(await P(x),!R)return}if(c(!0))return}}bn(t),Ke(),Ko()}}}}function qo(e,t){ze()!==e&&(Ke(),fi(e,t),Jo())}function bt(e,t,n){if(!Ye(e))return!1;if(n)throw xe(e,!1),e;return xe(e,!0),q(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 Z({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=Z({scrollTarget:{preserveScroll:!0},isBackwardNavigation:null,isClientSideNavigation:!1});return s(wt()===1),e}function is(){Yo(),Ut(),Go(),gi(),Mo()}ne();_n();ns();
5
+ //# sourceMappingURL=entry-client-routing.ElPgRW9J.js.map