@openagt/dashboard 0.54.0 → 0.56.0
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.
- package/README.md +4 -2
- package/dist/appearance.d.ts +1 -1
- package/dist/appearance.d.ts.map +1 -1
- package/dist/appearance.js +1 -1
- package/dist/appearance.js.map +1 -1
- package/dist/clone-project.js +1 -1
- package/dist/clone-project.js.map +1 -1
- package/dist/daemon-runtime.d.ts.map +1 -1
- package/dist/daemon-runtime.js +8 -4
- package/dist/daemon-runtime.js.map +1 -1
- package/dist/daemon-services.d.ts +4 -4
- package/dist/daemon-services.js +6 -6
- package/dist/daemon-services.js.map +1 -1
- package/dist/daemon.d.ts +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +11 -1
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/elsewhere.d.ts +1 -1
- package/dist/dashboard/elsewhere.d.ts.map +1 -1
- package/dist/dashboard/projects.js +1 -1
- package/dist/dashboard/projects.js.map +1 -1
- package/dist/dashboard/rpc-serve.d.ts +6 -0
- package/dist/dashboard/rpc-serve.d.ts.map +1 -1
- package/dist/dashboard/rpc-serve.js +21 -1
- package/dist/dashboard/rpc-serve.js.map +1 -1
- package/dist/dashboard/run-inbox.d.ts +4 -3
- package/dist/dashboard/run-inbox.d.ts.map +1 -1
- package/dist/dashboard/run-inbox.js +6 -5
- package/dist/dashboard/run-inbox.js.map +1 -1
- package/dist/dashboard/server.d.ts +16 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +54 -12
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/static.d.ts +15 -2
- package/dist/dashboard/static.d.ts.map +1 -1
- package/dist/dashboard/static.js +33 -18
- package/dist/dashboard/static.js.map +1 -1
- package/dist/dashboard/website.d.ts +34 -0
- package/dist/dashboard/website.d.ts.map +1 -0
- package/dist/dashboard/website.js +82 -0
- package/dist/dashboard/website.js.map +1 -0
- package/dist/dashboard-bundle/assets/host/module-BMyNrbiB.js +1 -0
- package/dist/dashboard-bundle/assets/main-BK8YIg7v.js +152 -0
- package/dist/dashboard-bundle/assets/main-mnNPGbsz.css +2 -0
- package/dist/dashboard-bundle/assets/{module-C1zreYB3.js → module-DY3Aigsz.js} +3 -3
- package/dist/dashboard-bundle/index.html +6 -6
- package/dist/dashboard-rpc/control.d.ts +22 -6
- package/dist/dashboard-rpc/control.d.ts.map +1 -1
- package/dist/dashboard-rpc/control.js +45 -9
- package/dist/dashboard-rpc/control.js.map +1 -1
- package/dist/dashboard-rpc/index.d.ts +3 -1
- package/dist/dashboard-rpc/index.d.ts.map +1 -1
- package/dist/dashboard-rpc/index.js +6 -2
- package/dist/dashboard-rpc/index.js.map +1 -1
- package/dist/dashboard-rpc/machines.d.ts.map +1 -1
- package/dist/dashboard-rpc/machines.js +1 -2
- package/dist/dashboard-rpc/machines.js.map +1 -1
- package/dist/dashboard-rpc/modules.js +2 -2
- package/dist/dashboard-rpc/modules.js.map +1 -1
- package/dist/dashboard-rpc/personal-folder.d.ts +23 -0
- package/dist/dashboard-rpc/personal-folder.d.ts.map +1 -0
- package/dist/dashboard-rpc/personal-folder.js +30 -0
- package/dist/dashboard-rpc/personal-folder.js.map +1 -0
- package/dist/dashboard-rpc/project-agent-data.d.ts +20 -0
- package/dist/dashboard-rpc/project-agent-data.d.ts.map +1 -0
- package/dist/dashboard-rpc/project-agent-data.js +38 -0
- package/dist/dashboard-rpc/project-agent-data.js.map +1 -0
- package/dist/dashboard-rpc/projects.d.ts +3 -5
- package/dist/dashboard-rpc/projects.d.ts.map +1 -1
- package/dist/dashboard-rpc/projects.js +5 -17
- package/dist/dashboard-rpc/projects.js.map +1 -1
- package/dist/dashboard-rpc/relay-dispatch.js +4 -4
- package/dist/dashboard-rpc/relay-dispatch.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/join-dashboard.d.ts +6 -2
- package/dist/join-dashboard.d.ts.map +1 -1
- package/dist/join-dashboard.js +4 -2
- package/dist/join-dashboard.js.map +1 -1
- package/dist/module-types/dashboard/components/SettingsRows.d.ts +2 -2
- package/dist/module-types/src/appearance.d.ts +1 -1
- package/dist/module-types/src/dashboard/elsewhere.d.ts +1 -1
- package/dist/module-types/src/dashboard/rpc-serve.d.ts +6 -0
- package/dist/module-types/src/dashboard/run-inbox.d.ts +4 -3
- package/dist/module-types/src/dashboard-rpc/control.d.ts +22 -6
- package/dist/module-types/src/dashboard-rpc/index.d.ts +3 -1
- package/dist/module-types/src/dashboard-rpc/personal-folder.d.ts +22 -0
- package/dist/module-types/src/dashboard-rpc/project-agent-data.d.ts +19 -0
- package/dist/module-types/src/dashboard-rpc/projects.d.ts +3 -5
- package/dist/module-types/src/index.d.ts +0 -1
- package/dist/module-types/src/personal-folder-shown.d.ts +10 -0
- package/dist/module-types/src/registry.d.ts +1 -1
- package/dist/module-types/src/repository-url.d.ts +6 -0
- package/dist/module-types/src/secure-address.d.ts +31 -0
- package/dist/personal-folder-shown.d.ts +11 -0
- package/dist/personal-folder-shown.d.ts.map +1 -0
- package/dist/personal-folder-shown.js +8 -0
- package/dist/personal-folder-shown.js.map +1 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +1 -1
- package/dist/registry.js.map +1 -1
- package/dist/remove-files.d.ts +4 -3
- package/dist/remove-files.d.ts.map +1 -1
- package/dist/remove-files.js +6 -1
- package/dist/remove-files.js.map +1 -1
- package/dist/repository-url.d.ts +7 -0
- package/dist/repository-url.d.ts.map +1 -0
- package/dist/repository-url.js +17 -0
- package/dist/repository-url.js.map +1 -0
- package/dist/secure-address.d.ts +32 -0
- package/dist/secure-address.d.ts.map +1 -0
- package/dist/secure-address.js +50 -0
- package/dist/secure-address.js.map +1 -0
- package/dist/store/run-record.d.ts.map +1 -1
- package/dist/store/run-record.js +1 -0
- package/dist/store/run-record.js.map +1 -1
- package/dist/terminal.js +2 -0
- package/dist/terminal.js.map +1 -1
- package/dist/website/assets/chunks/chunk-BPgR-CZq.js +1 -0
- package/dist/website/assets/chunks/chunk-D1NQcEen.js +1 -0
- package/dist/website/assets/chunks/chunk-DeonM-eN.js +3 -0
- package/dist/website/assets/chunks/chunk-kQ9-9YDn.js +18 -0
- package/dist/website/assets/emoji-compass.svg +75 -0
- package/dist/website/assets/emoji-confused.svg +34 -0
- package/dist/website/assets/emoji-construction.svg +188 -0
- package/dist/website/assets/emoji-flex.svg +1 -0
- package/dist/website/assets/emoji-hand-raised.svg +180 -0
- package/dist/website/assets/emoji-mech-arm.svg +1 -0
- package/dist/website/assets/emoji-robot.svg +105 -0
- package/dist/website/assets/emoji-rocket.svg +49 -0
- package/dist/website/assets/entries/entry-client-routing.C33s8xOY.js +2 -0
- package/dist/website/assets/entries/pages_banner.BaN84ozS.js +1 -0
- package/dist/website/assets/entries/pages_go-to-dashboard.C3OBfFYB.js +1 -0
- package/dist/website/assets/entries/pages_index.DEALARsw.js +1 -0
- package/dist/website/assets/entries/pages_press.nvOiFHiQ.js +1 -0
- package/dist/website/assets/logo.svg +34 -0
- package/dist/website/assets/static/pages_index_styles-f7bc93a7.KSL83pUG.css +1 -0
- package/dist/website/banner/index.html +28 -0
- package/dist/website/banner/index.pageContext.json +1 -0
- package/dist/website/banner.jpg +0 -0
- package/dist/website/go-to-dashboard/index.html +30 -0
- package/dist/website/go-to-dashboard/index.pageContext.json +1 -0
- package/dist/website/index.html +30 -0
- package/dist/website/index.pageContext.json +1 -0
- package/dist/website/press/index.html +29 -0
- package/dist/website/press/index.pageContext.json +1 -0
- package/package.json +29 -25
- package/dist/dashboard-bundle/assets/host/module-BjrL8fFt.js +0 -1
- package/dist/dashboard-bundle/assets/main-C50vMcm3.js +0 -152
- package/dist/dashboard-bundle/assets/main-DkmEveyx.css +0 -2
- package/dist/module-types/src/repository-address.d.ts +0 -36
- package/dist/repository-address.d.ts +0 -37
- package/dist/repository-address.d.ts.map +0 -1
- package/dist/repository-address.js +0 -59
- package/dist/repository-address.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as e}from"./chunk-DeonM-eN.js";import{b as t,m as n,p as r,v as i}from"./chunk-kQ9-9YDn.js";import{r as a}from"./chunk-BPgR-CZq.js";var o=e(t(),1);function s(){let[e,t]=(0,o.useState)(!1);function n(e,n){if(n&&n.detail>1||String(window.getSelection()??``).length)return;let r=()=>{t(!0),setTimeout(()=>{String(window.getSelection()??``).length?setTimeout(()=>t(!1),2e3):t(!1)},1500)},i=()=>{let t=document.createElement(`textarea`);t.value=e,t.style.cssText=`position:fixed;opacity:0`,document.body.appendChild(t),t.select();try{document.execCommand(`copy`)}catch{}t.remove(),r()};navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(e).then(r,i):i()}return{copied:e,copy:n}}var c=i(),l={npm:{try:`npx @openagt/dashboard`,install:`npx @openagt/install`},pnpm:{try:`pnpm dlx @openagt/dashboard`,install:`pnpm dlx @openagt/install`},bun:{try:`bunx @openagt/dashboard`,install:`bunx @openagt/install`},yarn:{try:`yarn dlx @openagt/dashboard`,install:`yarn dlx @openagt/install`}},u={userSelect:`none`,color:`#a7c080`},d={color:`#859289`},f={display:`flex`,flexWrap:`wrap`,gap:`2px 16px`};function p({label:e,copied:t}){return(0,c.jsx)(`span`,{className:`try-badge`+(t?` copied`:``),style:{marginLeft:`auto`,position:`relative`,background:`#14181b`,color:`#d3c6aa`,fontWeight:600,fontSize:10,letterSpacing:`0.1em`,textTransform:`uppercase`,borderRadius:5,padding:`4px 9px`,transition:`opacity 0.15s`,pointerEvents:`none`,userSelect:`none`},children:e})}var m=()=>{let e=document.documentElement.dataset.pm;return e&&e in l?e:`npm`},h=e=>{document.documentElement.dataset.pm=e;try{localStorage.setItem(`pm`,e)}catch{}};function g(){let e=s(),t=s(),i=a();return(0,c.jsxs)(`header`,{id:`top`,style:{maxWidth:1120,margin:`0 auto`,padding:`clamp(32px, 6vw, 56px) clamp(14px, 4vw, 24px) 32px`,textAlign:`center`,display:`flex`,flexDirection:`column`,alignItems:`center`,gap:20},children:[(0,c.jsx)(`div`,{style:{display:`flex`,gap:8,flexWrap:`wrap`,justifyContent:`center`,fontSize:12,fontFamily:n},children:[[`100% Open Source`,`#a7c080`],[`100% Free`,`#dbbc7f`],[`100% Local`,`#7fbbb3`]].map(([e,t])=>(0,c.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:7,border:`1px solid #475258`,borderRadius:999,padding:`5px 12px`,color:t},children:[(0,c.jsx)(`span`,{style:{width:6,height:6,borderRadius:`50%`,background:t}}),e]},e))}),(0,c.jsxs)(`h1`,{style:{margin:0,fontSize:`clamp(32px, 11vw, 68px)`,lineHeight:1.08,fontWeight:700,letterSpacing:`-0.02em`},children:[(0,c.jsx)(`span`,{className:`strike`,style:{display:`table`,position:`relative`,margin:`0 auto 0px`,fontSize:`clamp(26px, 6vw, 42px)`,fontWeight:500,color:`#9da9a0`},children:`Babysit AI`}),`Autonomous AI`]}),(0,c.jsx)(`p`,{style:{margin:`-10px 0 0`,fontSize:`clamp(19px, 4.5vw, 25px)`,fontWeight:500,lineHeight:1.45,color:`#d3c6aa`,maxWidth:680,textWrap:`pretty`},children:`Make the important decisions, let AI do the rest.`}),(0,c.jsxs)(`a`,{href:i,className:`dashboard-cta`,style:{display:`inline-flex`,alignItems:`center`,gap:10,marginTop:6,background:`#a7c080`,color:`#232a2e`,borderRadius:12,padding:`14px 30px`,fontSize:19,fontWeight:600},children:[`Dashboard `,(0,c.jsx)(`span`,{"aria-hidden":!0,children:`→`})]}),(0,c.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,alignItems:`center`,marginTop:18,maxWidth:`100%`},children:[(0,c.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:7,alignItems:`center`,maxWidth:`100%`},children:[(0,c.jsx)(`span`,{style:r,children:`Try:`}),(0,c.jsxs)(`div`,{className:`try-box`,style:{maxWidth:`100%`,boxSizing:`border-box`,background:`#232a2e`,border:`1.5px solid #a7c080`,boxShadow:`0 0 0 4px rgba(167, 192, 128, 0.12)`,borderRadius:12,overflow:`hidden`,textAlign:`left`},children:[(0,c.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,padding:`7px 8px`,background:`#2d353b`,borderBottom:`1px solid #3d484d`},children:[Object.keys(l).map(e=>(0,c.jsx)(`button`,{className:`pm-tab pm-tab-`+e,onClick:()=>h(e),style:{borderRadius:7,padding:`4px 13px`,fontFamily:n,fontSize:12,cursor:`pointer`},children:e},e)),(0,c.jsx)(p,{label:e.copied?`copied!`:`copy`,copied:e.copied})]}),(0,c.jsx)(`div`,{className:`copy-box`,onClick:t=>e.copy(l[m()].try,t),style:{position:`relative`,cursor:`pointer`,display:`flex`,flexDirection:`column`,gap:7,padding:`14px clamp(12px, 3vw, 20px)`,fontFamily:n,fontSize:`clamp(11px, 3.4vw, 15px)`},children:(0,c.jsxs)(`div`,{style:f,children:[(0,c.jsxs)(`span`,{children:[(0,c.jsx)(`span`,{style:u,children:`$ `}),Object.keys(l).map(e=>(0,c.jsx)(`span`,{className:`pm-only pm-only-`+e,children:l[e].try},e))]}),(0,c.jsx)(`span`,{style:d,children:`# One-shot (no install)`})]})})]})]}),(0,c.jsxs)(`p`,{style:{margin:0,fontSize:14,color:`#9da9a0`,display:`flex`,alignItems:`center`,gap:10,flexWrap:`wrap`,justifyContent:`center`,maxWidth:`100%`},children:[`Or install:`,(0,c.jsxs)(`span`,{className:`install-chip`,onClick:e=>t.copy(l[m()].install,e),style:{position:`relative`,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,background:`#232a2e`,border:`1px solid #475258`,borderRadius:7,padding:`4px 10px`,fontFamily:n,fontSize:12.5,wordBreak:`break-all`},children:[(0,c.jsxs)(`span`,{children:[(0,c.jsx)(`span`,{style:u,children:`$ `}),Object.keys(l).map(e=>(0,c.jsx)(`span`,{className:`pm-only pm-only-`+e,children:l[e].install},e))]}),(0,c.jsx)(`span`,{className:`copy-tip-side`+(t.copied?` copied`:``),style:{position:`absolute`,left:`calc(100% + 11px)`,top:`50%`,transform:`translateY(-50%)`,background:`#14181b`,color:`#d3c6aa`,fontWeight:600,fontSize:9.5,letterSpacing:`0.1em`,textTransform:`uppercase`,borderRadius:4,padding:`4px 8px`,whiteSpace:`nowrap`,transition:`opacity 0.15s`,pointerEvents:`none`,userSelect:`none`},children:t.copied?`copied!`:`copy`})]})]})]}),(0,c.jsxs)(`div`,{style:{marginTop:16,paddingTop:8,width:`100%`,maxWidth:1056,boxSizing:`border-box`,display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(min(300px, 100%), 1fr))`,gap:48,textAlign:`left`},children:[(0,c.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8},children:[(0,c.jsx)(`span`,{style:r,children:`What is it?`}),(0,c.jsx)(`p`,{style:{margin:0,fontSize:15.5,lineHeight:1.7,color:`#9da9a0`,textWrap:`pretty`},children:`It turns AI agents into autonomous teammates that handle work end-to-end — while you stay in control of key decisions.`})]}),(0,c.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8},children:[(0,c.jsx)(`span`,{style:r,children:`Any software`}),(0,c.jsx)(`p`,{style:{margin:0,fontSize:15.5,lineHeight:1.7,color:`#9da9a0`,textWrap:`pretty`},children:`(Semi-)autonomously build anything from simple web apps to complex software.`})]})]})]})}export{s as a,h as i,l as n,m as r,g as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));function u(e){return Array.from(new Set(e))}function d(e,t){let n=f();return n[e]??(n[e]=t)}function f(){var e;return globalThis._vike??(globalThis._vike={}),(e=globalThis._vike).globals??(e.globals={}),globalThis._vike.globals}var p=new Proxy({},{get:(e,t)=>e=>t===`code`?`\`${e}\``:t===`string`?`'${e}'`:e}),m=`0.4.260`,h;h??=g();function g(){return d(`utils/assertSingleInstance.ts`,{instances:[],alreadyLogged:new Set})}function _(){return h??=g(),h}var ee=`Client runtime of both Server Routing and Client Routing loaded https://vike.dev/client-runtimes-conflict`,v=`Client runtime loaded twice https://vike.dev/client-runtime-duplicated`;function te(){let e=_();{let t=u(e.instances);ie(t.length<=1,`vike@${p.bold(t[0])} and vike@${p.bold(t[1])} loaded which is highly discouraged ${p.underline(`https://vike.dev/warning/version-mismatch`)}`,{onlyOnce:!0,showStackTrace:!1})}e.checkSingleInstance&&e.instances.length>1&&ie(!1,v,{onlyOnce:!0,showStackTrace:!0})}function ne(e){let t=_();ie(t.isClientRouting!==!1,ee,{onlyOnce:!0,showStackTrace:!0}),ie(t.isClientRouting===void 0,v,{onlyOnce:!0,showStackTrace:!0}),t.isClientRouting=!0,e&&(t.checkSingleInstance=!0),te()}function re(){_().instances.push(m),te()}function ie(e,t,{onlyOnce:n,showStackTrace:r}){let i=_();if(e)return;let a=`[Vike][Warning] ${t}`;if(n){let{alreadyLogged:e}=i,t=n===!0?a:n;if(e.has(t))return;e.add(t)}console.warn(r?Error(a):a)}function ae(){return!(typeof process>`u`||!process.cwd||!process.versions||process.versions.node===void 0||!process.release||process.release.name!==`node`)}function oe(e,t){let n=Error(e);return ae()&&(n.stack=se(n.stack,t)),n}function se(e,t){if(!e)return e;let n=le(e),r=0;return n.filter(e=>e.includes(` (internal/`)||e.includes(` (node:internal`)?!1:r<t&&ce(e)?(r++,!1):!0).join(`
|
|
2
|
+
`)}function ce(e){return e.startsWith(` at `)}function le(e){return e.split(/\r?\n/)}function ue(e){return p.bold(p.yellow(e))}function de(e){return p.bold(p.red(e))}function fe(e){return p.yellow(e)}var y=d(`utils/assert.ts`,{alreadyLogged:new Set});re();var pe=`[vike]`,me=`[vike@${m}]`,he=`Bug`;function b(e,t){if(e)return;let n=[`You stumbled upon a Vike bug. Go to ${p.underline(`https://github.com/vikejs/vike/issues/new?template=bug.yml`)} and copy-paste this error. A maintainer will fix the bug (usually within 24 hours).`,ge(t)].filter(Boolean).join(` `);n=C(n,he,!0);let r=w(n);throw y.onBeforeLog?.(),y.onBeforeErr?.(r),r}function ge(e){if(!e)return null;let t=typeof e==`string`?e:JSON.stringify(e);return p.dim(`Debug for maintainers (you can ignore this): ${t}`)}function x(e,t,{showStackTrace:n,exitOnError:r}={}){if(e)return;n||=y.alwaysShowStackTrace,t=C(t,`Wrong Usage`);let i=w(t);if(y.onBeforeLog?.(),y.onBeforeErr?.(i),r)console.error(n?i:t),process.exit(1);else throw i}function _e(e){return e=C(e,`Error`),w(e)}function S(e,t,{onlyOnce:n,showStackTrace:r}){if(e)return;if(r||=y.alwaysShowStackTrace,n){let{alreadyLogged:e}=y,r=n===!0?t:n;if(e.has(r))return;e.add(r)}let i=C(t,`Warning`);if(y.onBeforeLog?.(),r){let e=w(i);y.onBeforeErr?.(e),console.warn(e)}else console.warn(i)}function ve(e,t,{onlyOnce:n}){if(!e){if(t=C(t,null),n){let{alreadyLogged:e}=y,n=t;if(e.has(n))return;e.add(n)}y.onBeforeLog?.(),console.log(t)}}function C(e,t,n=!1){let r=xe(n),i=be(t),a=ye(e);return y.addAssertTagsDev?`${y.addAssertTagsDev(r,i)}${a}${e}`:`${`${r}${i}`}${a}${e}`}function ye(e){return e.startsWith(`[`)?``:` `}function be(e){if(!e)return``;let t=`[${e}]`;return t=e===`Warning`?fe(t):de(t),t}function xe(e=!1){return ue(e?me:pe)}function w(e){let t=oe(e,3);return y.addAssertTagsDev&&(t.stack=t.stack?.replace(/^Error:\s*/,``)),t}function Se(e){let t=e/1e3;if(t<120){let e=Ce(t);return`${e} second${we(e)}`}{let e=Ce(t/60);return`${e} minute${we(e)}`}}function Ce(e){let t=e.toFixed(1);return t.endsWith(`.0`)&&(t=t.slice(0,-2)),t}function we(e){return e===`1`?``:`s`}function T(e){return typeof e==`object`&&!!e}function E(e){return Array.isArray(e)}function Te(e,t){let n=t.find(t=>t.pageId===e);return b(t.length>0),b(n),n}function Ee(e){if(!e||E(e)||e.definedBy)return null;let{filePathToShowToUser:t}=e;return b(t),t}function De(e){let t=Ee(e);return b(t),t}function Oe(e){return[null,void 0].includes(e)?String(e):[`boolean`,`number`,`string`].includes(typeof e)?JSON.stringify(e):null}function ke(e,t){if(!e)return null;let[n,...r]=e;if(!n||r.length===0&&[`*`,`default`,t].includes(n))return null;b(n!==`*`);let i=``,a=``;return n==="default"?i=`export default`:(i=`export`,r=[n,...r]),r.forEach(e=>{i=`${i} { ${e}`,a=` }${a}`}),i+a}function Ae(e,t,n){return`${Me(e,t)} at ${D(n,t)}`}function je(e,t,n){return n?`${Me(e,t)} at ${D(n,t)}`:`${Me(e,t)} internally`}function Me(e,t){return`${e} ${p.cyan(t)} defined`}function D(e,t){let n;return n=E(e)?e:[e],b(n.length>=1),n.map(e=>{if(e.definedBy)return Ne(e,t);let{filePathToShowToUser:n,fileExportPathToShowToUser:r}=e,i=ke(r,t);return i?`${n} > ${p.cyan(i)}`:n}).join(` / `)}function Ne(e,t){if(e.definedBy===`api`)return`API call ${p.cyan(`${e.operation}({ vikeConfig: { ${t} } })`)}`;let{definedBy:n}=e;if(n===`cli`)return`CLI option ${p.cyan(`--${t}`)}`;if(n===`env`)return`environment variable ${p.cyan(`VIKE_CONFIG="{${t}}"`)}`;b(!1)}function Pe(e,t,n){let{value:r,definedAtData:i}=e;return n&&Fe(r,n,t,i),e}function Fe(e,t,n,r){b(e!==null);let i=typeof e;if(i===t)return;let a=Oe(e),o=a===null?`type ${p.cyan(i)}`:`value ${p.cyan(a)}`;x(!1,`${je(`Config`,n,r)} has an invalid ${o}: it should be a ${p.cyan(t)} instead`)}function O(e,t,n){let r=e.configValues[t];return r?Pe(r,t,n):null}function k(e){return e instanceof Function||typeof e==`function`}var Ie=d(`hooks/getHook.ts`,{});function Le(e,t){if(!(t in e.exports))return null;let{hooksTimeout:n}=e.config,r=We(n,t),i=e.exports[t];if(i===null)return null;let a=e.exportsAll[t][0];b(a.exportValue===i);let o=a.filePath;return b(o),A(i,t,o,r)}function Re(e,t){let{hooksTimeout:n}=t.config,r=We(n,e),i=[];return t.exportsAll[e]?.forEach(t=>{let n=t.exportValue;if(n===null)return;let a=t.filePath;b(a),i.push(A(n,e,a,r))}),i}function ze(e,t){let n=e.configValues[t];if(!n?.value)return null;let{hookFn:r,hookFilePath:i}=He(n);return A(r,t,i,Ve(t))}function Be(e,t){let n=e.configValues[t];if(!n?.value)return[];let r=n.value;return b(E(r)),r.map((e,r)=>{let i=e,a=Ve(t);return b(E(n.definedAtData)),A(i,t,De(n.definedAtData[r]),a)})}function Ve(e){return Ke(e)}function A(e,t,n,r){return b(n),Ue(e,{hookName:t,hookFilePath:n}),{hookFn:e,hookName:t,hookFilePath:n,hookTimeout:r}}function He(e){let t=e.value;return b(t),{hookFn:t,hookFilePath:De(e.definedAtData)}}function Ue(e,{hookName:t,hookFilePath:n}){b(t&&n),b(!t.endsWith(`)`)),b(!n.endsWith(` `)),x(k(e),`Hook ${t}() defined by ${n} should be a function`)}function We(e,t){let n=Ge(e);if(n===!1)return{error:!1,warning:!1};let r=n[t],i=Ke(t);return r?.error!==void 0&&(i.error=r.error),r?.warning!==void 0&&(i.warning=r.warning),i}function Ge(e){if(e===void 0)return{};if(e===!1)return!1;x(T(e),`Setting ${p.cyan(`hooksTimeout`)} should be ${p.cyan(`false`)} or an object`);let t={};return Object.entries(e).forEach(([e,n])=>{if(n===!1){t[e]={error:!1,warning:!1};return}x(T(n),`Setting ${p.cyan(`hooksTimeout.${e}`)} should be ${p.cyan(`false`)} or an object`);let[r,i]=[`error`,`warning`].map(t=>{let r=n[t];if(r===void 0||r===!1)return r;let i=`Setting ${p.cyan(`hooksTimeout.${e}.${t}`)} should be`;return x(typeof r==`number`,`${i} ${p.cyan(`false`)} or a number`),x(r>0,`${i} a positive number`),r});t[e]={error:r,warning:i}}),t}function Ke(e){return e===`onBeforeRoute`?{error:5*1e3,warning:1*1e3}:Ie.isPrerendering?{error:120*1e3,warning:30*1e3}:(b(!e.toLowerCase().includes(`prerender`)),{error:30*1e3,warning:4*1e3})}function qe(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!!n&&!(`value`in n)&&!!n.get}function Je(e){Ye(e)}function Ye(e){if(e.is404===void 0||e.is404===null)return;let t=e.pageProps||{};if(!T(t)){S(!1,`pageContext.pageProps should be an object`,{showStackTrace:!0,onlyOnce:!0});return}t.is404=t.is404||e.is404,e.pageProps=t}function Xe(e){return typeof e==`string`&&Ze(e)?`.${e}`:`[${JSON.stringify(e)}]`}function Ze(e){return/^[a-z0-9\$_]+$/i.test(e)}function j(){return Object.getOwnPropertyDescriptor(globalThis,`window`)?.get?.toString().includes(`[native code]`)??!1}function Qe(e,t,n,r){return new Proxy(e,{get:(i,a)=>$e(a,e,t,n,r)})}function $e(e,...t){let[n,r,i,a]=t,o=String(e);if(e===`_isProxyObject`)return!0;if(e===`dangerouslyUseInternals`)return t[2]=!0,Qe(...t);if(e===`_originalObject`)return n;if(a&&!(e in n))return a(e);let s=n[e];return et(o,s,r),s}function et(e,t,n){if(t!==`__VIKE__NOT_SERIALIZABLE__`)return;let r=Xe(e);b(j()),x(!1,`Can't access ${n}${r} on the client side. Because it can't be serialized, see server logs.`)}function tt(e){return b(e._isOriginalObject),Qe(e,`globalContext`)}function nt(e){b(!e._isProxyObject),b(!e.globalContext),b(e._isOriginalObject),Je(e),`_pageId`in e||Object.defineProperty(e,"_pageId",{get(){return S(!1,`pageContext._pageId has been renamed to pageContext.pageId`,{showStackTrace:!0,onlyOnce:!0}),e.pageId},enumerable:!1});let t=tt(e._globalContext);return Qe(e,`pageContext`,!0,e=>{if(e===`globalContext`)return t;if(e in t)return t[e]})}function rt(e){[`urlPathname`,`urlParsed`,`url`,`pageExports`].forEach(t=>{e.prop&&b(qe(e,t))})}var M=d(`utils/execHook.ts`,{userHookErrors:new WeakMap,pageContext:null});async function it(e,t,n){return await ot(Re(e,t),t,n)}async function at(e,t,n){let r=Be(t._pageConfigGlobal,e),i=n(t);await Promise.all(r.map(async e=>{await ut(()=>e.hookFn(i),e,t,null)}))}async function ot(e,t,n){if(!e.length)return[];let r=n(t);return await Promise.all(e.map(async e=>{let n=await ut(()=>e.hookFn(r),e,t._globalContext,r);return{...e,hookReturn:n}}))}async function st(e,t,n){let{hookReturn:r}=(await ot([e],t,n))[0];x(r===void 0,`The ${e.hookName}() hook defined by ${e.hookFilePath} isn't allowed to return a value`)}function ct(e){return T(e)?M.userHookErrors.get(e)??!1:!1}function lt(e,t,n,r,i){let a=n&&r(n);return i??=()=>e.hookFn(a),{hookReturn:dt(i,e,t,a)}}function ut(e,t,n,r){let{hookName:i,hookFilePath:a,hookTimeout:{error:o,warning:s}}=t,c,l,u=new Promise((e,t)=>{c=t=>{d(),e(t)},l=e=>{d(),t(e)}}),d=()=>{f&&clearTimeout(f),p&&clearTimeout(p)},f=ft(s)&&setTimeout(()=>{S(!1,`The ${i}() hook defined by ${a} is slow: it's taking more than ${Se(s)} (https://vike.dev/hooksTimeout)`,{onlyOnce:!1})},s),p=ft(o)&&setTimeout(()=>{let e=_e(`The ${i}() hook defined by ${a} timed out: it didn't finish after ${Se(o)} (https://vike.dev/hooksTimeout)`);l(e)},o);return(async()=>{try{let i=await dt(e,t,n,r);c(i)}catch(e){T(e)&&M.userHookErrors.set(e,{hookName:i,hookFilePath:a}),l(e)}})(),u}function dt(e,t,n,r){let{hookName:i,hookFilePath:a}=t;b(i!==`onHookCall`);let o=n._pageConfigGlobal.configValues.onHookCall,s=()=>(mt(r),e());if(!o?.value)return s();let c=!1,l,u,d=()=>{c=!0;try{l=s()}catch(e){throw u=e,e}return l};for(let e of o.value){let t={name:i,filePath:a,call:d};d=()=>((async()=>{try{await e(t,r)}catch(e){e!==u&&console.error(e)}})(),x(c,`onHookCall() must run hook.call()`),l)}if(d(),u)throw u;return l}function ft(e){return!!e&&e!==1/0}function pt(e){mt(e)}function mt(e){M.pageContext=e,Promise.resolve().then(()=>{M.pageContext=null})}var N={},ht=99,gt=5*1e3;function _t(e){let t=new Date().getTime();Object.keys(N).forEach(e=>{let n=N[e];t-n.startTime>gt&&delete N[e]});let n=N[e]??(N[e]={count:0,startTime:t});n.count++;let r=`${e} called ${n.count} times within ${Se(gt)} — infinite loop?`;n.count>ht&&x(!1,r),!n.warned&&n.count>ht*.5&&(S(!1,r,{onlyOnce:!1,showStackTrace:!0}),n.warned=!0)}var vt=25*1e3;function yt({timeout:e=vt}={}){let t,n,r=!1,i=new Promise((e,i)=>{t=(...t)=>(r=!0,a(),e(...t)),n=(...e)=>(r=!0,a(),i(...e))}),a=()=>o.forEach(e=>clearTimeout(e)),o=[],s;return s=e?new Proxy(i,{get(t,n){if(n===`then`&&!r){let t=Error(`Promise hasn't resolved after ${Se(e)}`);o.push(setTimeout(()=>{b(t.stack),S(!1,bt(t.stack),{onlyOnce:!1})},e))}let i=Reflect.get(t,n);return typeof i==`function`?i.bind(t):i}}):i,{promise:s,resolve:t,reject:n}}function bt(e){return e.startsWith(`Error: `)&&(e=e.slice(7)),e}function xt(e){return E(e)&&e.every(e=>typeof e==`string`)}function St(e){return T(e)&&Object.values(e).every(e=>typeof e==`string`)}function P(e,t,n){if(!T(e))return!1;if(!(t in e))return n===`undefined`;if(n===void 0)return!0;let r=e[t];return n===`undefined`?r===void 0:n===`array`?E(r):n===`object`?T(r):n===`string[]`?xt(r):n===`string{}`?St(r):n===`function`?k(r):E(n)?typeof r==`string`&&n.includes(r):n===`null`?r===null:n===`true`?r===!0:n===`false`?r===!1:typeof r===n}function F(e,t,n){t&&(n||b(!t._isOriginalObject),Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)))}function I(e){window.location.href=e}function L(e,t){b(e===t)}var Ct=[R({is:e=>e===void 0,match:e=>e===`!undefined`,serialize:()=>`!undefined`,deserialize:()=>void 0}),R({is:e=>e===1/0,match:e=>e===`!Infinity`,serialize:()=>`!Infinity`,deserialize:()=>1/0}),R({is:e=>e===-1/0,match:e=>e===`!-Infinity`,serialize:()=>`!-Infinity`,deserialize:()=>-1/0}),R({is:e=>typeof e==`number`&&isNaN(e),match:e=>e===`!NaN`,serialize:()=>`!NaN`,deserialize:()=>NaN}),R({is:e=>e instanceof Date,match:e=>e.startsWith(`!Date:`),serialize:e=>`!Date:`+e.toISOString(),deserialize:e=>new Date(e.slice(6))}),R({is:e=>typeof e==`bigint`,match:e=>e.startsWith(`!BigInt:`),serialize:e=>`!BigInt:`+e.toString(),deserialize:e=>{if(typeof BigInt>`u`)throw Error(`Your JavaScript environement does not support BigInt. Consider adding a polyfill.`);return BigInt(e.slice(8))}}),R({is:e=>e instanceof RegExp,match:e=>e.startsWith(`!RegExp:`),serialize:e=>`!RegExp:`+e.toString(),deserialize:e=>{e=e.slice(8);let t=e.match(/\/(.*)\/(.*)?/),n=t[1],r=t[2];return new RegExp(n,r)}}),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)))}),R({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)))}),R({is:e=>typeof e==`string`&&e.startsWith(`!`),match:e=>e.startsWith(`!`),serialize:e=>`!`+e,deserialize:e=>e.slice(1)})];function R(e){return e}function wt(e,t={}){return Tt(JSON.parse(e),t)}function Tt(e,t={},n=[]){return typeof e==`string`?Et(e,t,n):(typeof e==`object`&&e&&Object.entries(e).forEach(([r,i])=>{e[r]=Tt(i,t,[...n,r])}),e)}function Et(e,t,n){let r=e=>wt(e,t);{let i=t.reviver?.(n,e,r);if(i){if(typeof i.replacement!=`string`)return i.replacement;if(e=i.replacement,i.resolved)return e}}for(let{match:t,deserialize:n}of Ct)if(t(e))return n(e,r);return e}var Dt=`vike_pageContext`,Ot=`vike_globalContext`;function kt(){b(j())}At();function At(){kt()}function jt(){let e=Nt(Dt);return b(P(e,`pageId`,`string`)),b(P(e,`routeParams`,`string{}`)),e}function Mt(){return Nt(Ot)}function Nt(e){let t=document.getElementById(e);x(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)`);let n=t.textContent;return b(n),wt(n)}function Pt(e){return e==null}function Ft(e){return!Pt(e)}function It(e,t){return Rt(e,t,!0)}function Lt(e,t){return Rt(e,t,!1)}function Rt(e,t,n){let r=n?`CLIENT_ONLY`:`SERVER_ONLY`,i=e.filter(e=>e.isRelevant(t)&&e.fileType!==`.page.route`).sort(zt(n,t)),a=e=>{let n=i.filter(n=>n.pageId===t&&n.isEnv(e?`CLIENT_AND_SERVER`:r));x(n.length<=1,`Merge the following files into a single file: ${n.map(e=>e.filePath).join(` `)}`);let a=n[0];return b(a===void 0||!a.isDefaultPageFile),a},o=a(!1),s=a(!0),c=e=>i.filter(t=>t.isRendererPageFile&&t.isEnv(e?`CLIENT_AND_SERVER`:r))[0],l=c(!1),u=c(!0);return[o,s,...i.filter(e=>e.isDefaultPageFile&&!e.isRendererPageFile&&(e.isEnv(r)||e.isEnv(`CLIENT_AND_SERVER`))),l,u].filter(Ft)}function zt(e,t){let n=e?`CLIENT_ONLY`:`SERVER_ONLY`;return(e,r)=>{if(!e.isDefaultPageFile&&r.isDefaultPageFile)return-1;if(!r.isDefaultPageFile&&e.isDefaultPageFile)return 1;{let t=e.isRendererPageFile,n=r.isRendererPageFile;if(!t&&n)return-1;if(!n&&t)return 1;b(t===n)}{let n=Bt(t,e.filePath),i=Bt(t,r.filePath);if(n<i)return-1;if(i<n)return 1;b(n===i)}return e.isEnv(n)&&r.isEnv(`CLIENT_AND_SERVER`)?-1:r.isEnv(n)&&e.isEnv(`CLIENT_AND_SERVER`)?1:0}}function Bt(e,t){let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);let r=e.slice(n),i=t.slice(n);return r.split(`/`).length+i.split(`/`).length}async function Vt(e,t){let n=Lt(e,t).filter(e=>e.fileType===`.page.server`);return await Promise.all(n.map(async e=>{e.exportNames||(b(e.loadExportNames,t),await e.loadExportNames())})),{hasOnBeforeRenderServerSideOnlyHook:n.some(({exportNames:e})=>(b(e),e.includes(`onBeforeRender`)))}}var Ht=[`urlPathname`,`urlParsed`],Ut=[`Page`,`pageExports`,`exports`];function Wt(e){[...Ut,...Ht].forEach(t=>{t in e&&(Ht.includes(t)?(b(t.startsWith(`url`)),S(!1,`pageContext.${t} is already available in the browser when using Client Routing; adding '${t}' to passToClient has no effect`,{onlyOnce:!0})):S(!1,`pageContext.${t} is a built-in that cannot be overridden; adding '${t}' to passToClient has no effect`,{onlyOnce:!0}),delete e[t])})}function z(e,t,n){return typeof e==`string`?Gt(e.split(``),t,n).join(``):Gt(e,t,n)}function Gt(e,t,n){let r=[],i=t>=0?t:e.length+t;b(i>=0&&i<=e.length);let a=n>=0?n:e.length+n;for(b(a>=0&&a<=e.length);!(i===a||(i===e.length&&(i=0),i===a));){let t=e[i];b(t!==void 0),r.push(t),i++}return r}function B(e,t){b(cn(e),e),b(t.startsWith(`/`));let{hashString:n,withoutHash:r}=Kt(e);b(n===null||n.startsWith(`#`));let i=n===null?``:Jt(n.slice(1)),{searchString:a,withoutSearch:o}=qt(r);b(a===null||a.startsWith(`?`));let s=``;if(a!==null)s=a;else if(e.startsWith(`#`)){let e=Zt();s=e&&qt(e).searchString||``}let c={},l={};Array.from(new URLSearchParams(s)).forEach(([e,t])=>{c[e]=t,l[e]=[...l.hasOwnProperty(e)?l[e]:[],t]});let{protocol:u,origin:d,pathnameAbsoluteWithBase:f}=Xt(o,t),p=o.slice((d||``).length);on(e,d,p,a,n);let{pathname:m,isBaseMissing:h}=rn(f,t),g=sn(d,m,a,n),{hostname:_,port:ee}=$t(d?d.slice(u.length):null,e);return m=Yt(m),b(m.startsWith(`/`)),{href:g,protocol:u,hostname:_,port:ee,origin:d,pathname:m,pathnameOriginal:p,isBaseMissing:h,search:c,searchAll:l,searchOriginal:a,hash:i,hashOriginal:n}}function Kt(e){let[t,...n]=e.split(`#`);return{hashString:[``,...n].join(`#`)||null,withoutHash:t}}function qt(e){let[t,...n]=e.split(`?`);return{searchString:[``,...n].join(`?`)||null,withoutSearch:t}}function Jt(e){try{return decodeURIComponent(e)}catch{}try{return decodeURI(e)}catch{}return e}function Yt(e){return e=e.replace(/\s+$/,``),e=e.split(`/`).map(e=>Jt(e).split(`/`).join(`%2F`)).join(`/`),e}function Xt(e,t){b(!e.includes(`?`)&&!e.includes(`#`));{let{protocol:t,origin:n,pathname:r}=Qt(e);if(n)return{protocol:t,origin:n,pathnameAbsoluteWithBase:r};b(r===e)}if(e.startsWith(`/`))return{protocol:null,origin:null,pathnameAbsoluteWithBase:e};{let n=Zt(),r;return r=n?Qt(n.split(`?`)[0].split(`#`)[0]).pathname:t,{protocol:null,origin:null,pathnameAbsoluteWithBase:nn(e,r)}}}function Zt(){return typeof window<`u`?window?.document?.baseURI:void 0}function Qt(e){if(pn(e)){let{protocol:t,uriWithoutProtocol:n}=en(e);b(t);let[r,...i]=n.split(`/`),a=t+r;return{pathname:`/`+i.join(`/`),origin:a,protocol:t}}else return{pathname:e,origin:null,protocol:null}}function $t(e,t){let n={hostname:null,port:null};if(!e)return n;let r=e.split(`:`);if(r.length>1){let e=parseInt(r.pop(),10);b(e||e===0,t),n.port=e}return n.hostname=r.join(`:`),n}function en(e){let[t,...n]=e.split(`:`);if(n.length===0||!/^[a-z][a-z0-9\+\-]*$/i.test(t))return{protocol:null,uriWithoutProtocol:e};let r=t+`:`,i=n.join(`:`);return i.startsWith(`//`)&&(r+=`//`,i=i.slice(2)),{protocol:r,uriWithoutProtocol:i}}function tn(e){return![`ipfs://`,`ipns://`].includes(e)&&e.endsWith(`://`)}function nn(e,t){let n=t.split(`/`),r=e.split(`/`),i=t.endsWith(`/`);e.startsWith(`.`)&&n.pop();for(let e in r){let t=r[e];t==``&&e===`0`||t!=`.`&&(t==`..`?n.pop():(i=!1,n.push(t)))}let a=n.join(`/`);return i&&!a.endsWith(`/`)&&(a+=`/`),a.startsWith(`/`)||(a=`/`+a),a}function rn(e,t){b(e.startsWith(`/`)),b(an(t));let n=e;if(b(n.startsWith(`/`)),b(t.startsWith(`/`)),t===`/`)return{pathname:e,isBaseMissing:!1};let r=t;return t.endsWith(`/`)&&n===z(t,0,-1)&&(r=z(t,0,-1),b(n===r)),n.startsWith(r)?(b(n.startsWith(`/`)||n.startsWith(`http`)),b(n.startsWith(r)),n=n.slice(r.length),n.startsWith(`/`)||(n=`/`+n),b(n.startsWith(`/`)),{pathname:n,isBaseMissing:!1}):{pathname:e,isBaseMissing:!0}}function an(e){return e.startsWith(`/`)}function on(e,t,n,r,i){b(e===sn(t,n,r,i))}function sn(e,t,n,r){return`${e||``}${t}${n||``}${r||``}`}function cn(e){return ln(e)||dn(e)}function ln(e){return un(e)||pn(e)}function un(e){return e.startsWith(`/`)}function dn(e){return[`.`,`?`,`#`].some(t=>e.startsWith(t))||e===``}function fn(e){return!e.startsWith(`/`)&&!dn(e)}function pn(e){let{protocol:t}=en(e);return!!t&&tn(t)}function mn(e,t){x(ln(e),hn(e,t,!0))}function hn(e,t,n,r){let i=`${t} is ${p.string(e)} but it should start with ${p.string(`/`)}`;return n&&(i+=` or a protocol (e.g. ${p.string(`http://`)})`),r&&(i+=`, or be ${p.string(`*`)}`),i}function gn(e,t,n){let{pathnameOriginal:r,searchOriginal:i,hashOriginal:a}=B(e,`/`);e.startsWith(`/`)&&b(e===`${r}${i||``}${a||``}`,{url:e});let o=r.endsWith(`/`),s;return n&&r!==`/`?(s=o?z(r,0,-1):r,b(!s.endsWith(`/`),{url:e}),b(s!==``)):s=r+(o?``:`/`)+`index`,b(s),s+=t,`${s}${i||``}${a||``}`}var _n=`.pageContext.json`;function vn(e){return gn(e,_n,!1)}function V(e){return typeof e!=`object`||!e?!1:Object.getPrototypeOf(e)===null||e.constructor.name===`Object`}function yn(e,{hookName:t,hookFilePath:n}){if(e==null)return;b(!t.endsWith(`)`));let r=`The ${p.cyan(`pageContext`)} object provided by the ${t}() hook defined by ${n}`;x(T(e),`${r} should be an object (but it's ${p.cyan(`typeof pageContext === ${JSON.stringify(typeof e)}`)} instead)`),x(!(`isPageContext`in e),`${r} shouldn't be the whole ${p.cyan(`pageContext`)} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`),S(!(`pageId`in e),`${r} sets ${p.cyan(`pageContext.pageId`)} which means that Vike's routing is overridden. This is an experimental feature: make sure to contact a vike maintainer before using this.`,{onlyOnce:!0}),x(!(`is404`in e),`${r} sets ${p.cyan(`pageContext.is404`)} which is forbidden, use ${p.cyan(`throw render()`)} instead, see https://vike.dev/render`)}function bn(e){return`[`+e.map(e=>`'`+e+`'`).join(`, `)+`]`}function xn(e,t,n){b(!n.endsWith(` `));let r=[],i=Object.keys(e);for(let e of i)t.includes(e)||r.push(e);x(r.length===0,[n,`returned an object with following unknown keys:`,bn(r)+`.`,`Only following keys are allowed:`,bn(t)+`.`].join(` `))}function Sn(e,t){if(e==null)return;let n=`The onBeforeRender() hook defined by ${t}`;x(V(e),`${n} should return a plain JavaScript object, ${p.cyan(`undefined`)}, or ${p.cyan(`null`)}`),xn(e,[`pageContext`],n),e.pageContext&&yn(e.pageContext,{hookName:`onBeforeRender`,hookFilePath:t})}var Cn=`The guard() hook defined by`;async function wn(e,t){let n;e._globalContext._pageFilesAll.length>0?(b(e._globalContext._pageConfigs.length===0),n=Tn(e.pageId,e._globalContext._pageFilesAll)):n=Le(e,`guard`),n&&await st(n,e,t)}function Tn(e,t){let n=t.find(t=>t.pageId===e&&t.fileType===`.page.route`);if(!n)return null;let{filePath:r,fileExports:i}=n;b(i);let a=i.guard;if(!a)return null;let o=r,s=Ke(`guard`);return x(k(a),`${Cn} ${o} should be a function`),{hookFn:a,hookName:`guard`,hookFilePath:o,hookTimeout:s}}function En(e,t,{color:n=e=>e,trailingComma:r=!0}={}){if(b(e.length>0),e.length===1)return n(e[0]);let i=e.slice(0,e.length-1),a=e[e.length-1],o=r&&e.length>2?`,`:``;return i.map(n).join(`, `)+`${o} ${t} `+n(a)}function Dn(e){let t=Error(`AbortRender`);return F(t,{_pageContextAbort:e,[On]:!0}),t}var On=`_isAbortError`;function kn(e){return typeof e==`object`&&!!e&&On in e}function An(e){return e._urlRewrite||e._urlRedirect||e.abortStatusCode?(b(P(e,`_abortCall`,`string`)),!0):!1}function jn(e,t,n){if(t)return;let r=n._urlRewrite??n.urlOriginal;b(r);let i=e._pageContextAbort._abortCall;b(i);let a=ct(e),o=``;a&&(o=` by ${p.cyan(`${a.hookName}()`)} hook defined at ${a.hookFilePath}`),ve(!1,`${p.cyan(i)} thrown${o} while rendering ${p.cyan(r)}`,{onlyOnce:!1})}function Mn(e){let t=e.at(-1);if(!t)return null;let n=t._pageContextAbort;return b(n),n}function Nn(e,t,n){F(t,{_pageContextAbort:n}),e.push(t),Pn(e)}function Pn(e){if(e.length<10)return;let t=e.map(e=>e._pageContextAbort._abortCall);u(t).length!==t.length&&x(!1,`Infinite loop: ${t.join(` => `)}`)}var Fn=`_isServerSideError`;function In(e){return F(e,{Page:e.config?.Page||e.exports?.Page}),rt(e),Rn(e),Ln(e)}function Ln(e){return nt(e)}function Rn(e){zn(e)}function zn(e){Object.entries(e).forEach(([t,n])=>{delete e[t],e[t]=n})}function H(e){return In(e)}var Bn=d(`getPageContextFromHooks.ts`,{}),Vn=[`guard`,`data`,`onBeforeRender`];function Hn(){let e=jt();return nr(e),F(e,{_hasPageContextFromServer:!0}),e}async function Un(e){for(let t of Vn)$n(t,e)&&(t===`guard`?await ir(e):await qn(t,e));return e}async function Wn(e,t){let n={_hasPageContextFromServer:!1};if(!t&&await Zn(e)){let t=await tr(e);if(`is404ServerSideRouted`in t)return{is404ServerSideRouted:!0};let{pageContextFromServer:r}=t;n._hasPageContextFromServer=!0,b(!(Fn in r)),b(!(`serverSideError`in r)),F(n,r)}return{pageContextFromHooksServer:n}}async function Gn(e,t){let n=!1;for(let r of Vn)if(!(!$n(r,e)&&e._hasPageContextFromServer))if(r===`guard`){if(t)continue;await ir(e)}else r===`data`&&(n=!0),await qn(r,e);let r=er(`data`,e);return(n&&r.client||e._hasPageContextFromServer&&r.server)&&await Kn(`onData`,e),e}async function Kn(e,t){return await it(e,t,e=>H(e))}async function qn(e,t){let n;n=e===`data`?await Jn(t):await Yn(t),Object.assign(t,n)}async function Jn(e){let t=(await Kn(`data`,e))[0];if(!t)return;let{hookReturn:n}=t;return{data:n}}async function Yn(e){let t=(await Kn(`onBeforeRender`,e))[0];if(!t)return;let{hookReturn:n,hookFilePath:r}=t,i={};Sn(n,r);let a=n?.pageContext;return a&&F(i,a),i}function Xn(e){e._pageContextInitIsPassedToClient&&(Bn.pageContextInitIsPassedToClient=!0)}async function Zn(e){if(rr(e)){let{hasOnBeforeRenderServerSideOnlyHook:t}=await Vt(e._pageFilesAll,e.pageId);return t}return!!Bn.pageContextInitIsPassedToClient||Qn(e)}function Qn(e){if(rr(e))return!1;let t=O(Te(e.pageId,e._globalContext._pageConfigs),`hasServerOnlyHook`)?.value;return b(t===!0||t===!1),t}function $n(e,t){let n=er(e,t);return!!n.client&&!n.server}function er(e,t){return rr(t)?{client:!1,server:!0}:O(Te(t.pageId,t._globalContext._pageConfigs),`${e}Env`)?.value??{}}async function tr(e){let t=vn(e._urlRewrite??e.urlOriginal),n=await fetch(t);{let r=n.headers.get(`content-type`),i=`application/json`,a=r&&r.includes(i);if(!a&&n.status===404)return I(e.urlOriginal),{is404ServerSideRouted:!0};x(a,`Wrong Content-Type for ${t}: it should be ${i} but it's ${r} instead. Make sure to properly use pageContext.httpResponse.headers, see https://vike.dev/renderPage`)}let r=wt(await n.text());if(b(T(r)),An(r))throw Dn(r);if(`serverSideError`in r||`_isServerSideError`in r)throw _e(`pageContext couldn't be fetched because an error occurred on the server-side`);return nr(r),{pageContextFromServer:r}}function nr(e){x(!(`urlOriginal`in e),`Adding 'urlOriginal' to passToClient is forbidden`),b(P(e,`pageId`,`string`)),Wt(e)}function rr(e){return e._globalContext._pageConfigs.length===0}async function ir(e){await wn(e,e=>H(e))}function U(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(e,t,{...r,enumerable:n})}function ar(e,t){return F(e,t),e}function or(){let e={_isOriginalObject:!0,isPageContext:!0};return U(e,`_isOriginalObject`,!1),e}function W(e,t,{get:n,...r}){Object.defineProperty(e,t,{...r,get:n})}function sr(e){b(typeof e.urlOriginal==`string`),rt(e);let t={};return W(t,`urlPathname`,{get:lr,enumerable:!0,configurable:!0}),W(t,`url`,{get:ur,enumerable:!1,configurable:!0}),W(t,`urlParsed`,{get:dr,enumerable:!0,configurable:!0}),t}function cr(e){let t=e=>b(typeof n==`string`,{src:e,urlResolved:n}),n,r;e.urlLogical?(n=e.urlLogical,r=!1,t(1)):e._urlRewrite?(n=e._urlRewrite,r=!1,t(2)):(n=e.urlOriginal,r=!0,t(3)),t(4);let i=e._urlHandler;i||=e=>e,n=i(n);let a=r?e._baseServer:`/`;return B(n,a)}function lr(){let{pathname:e}=cr(this),t=e;return b(t.startsWith(`/`)),t}function ur(){return S(!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}),lr.call(this)}function dr(){let{isBaseMissing:e,...t}=cr(this),n=j(),r=e=>{S(n,`pageContext.urlParsed.${e} 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 S(!1,`pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal`,{onlyOnce:!0,showStackTrace:!0}),r(`hashString`),t.hashOriginal},get searchString(){return S(!1,`pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal`,{onlyOnce:!0,showStackTrace:!0}),t.searchOriginal}};return U(i,`hashString`,!1),U(i,`searchString`,!1),n||(U(i,`hash`,!1),U(i,`hashOriginal`,!1)),i}function fr(){return b(pr(`/`)),`/`}function pr(e){return e.startsWith(`/`)}function mr(e,t,n){Object.keys(e).filter(e=>!n?.includes(e)).forEach(t=>delete e[t]),Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}var hr=[`clientRouting`];function gr(e){hr.forEach(t=>{if(b(e.fileExports),!(t in e.fileExports))return;let n=`The value of \`${t}\` is only allowed to be \`true\`.`;x(e.fileExports[t]!==!1,`${e.filePath} has \`export { ${t} }\` with the value \`false\` which is prohibited: remove \`export { ${t} }\` instead. (${n})`),x(e.fileExports[t]===!0,`${e.filePath} has \`export { ${t} }\` with a forbidden value. ${n}`)})}var _r=[`render`,`clientRouting`,`prerender`,`doNotPrerender`];function vr(e,t){x(!_r.includes(e),`${t} has \`export default { ${e} }\` which is prohibited, use \`export { ${e} }\` instead.`)}function yr(e){let t=`.page.`,n=z(e.split(t),0,-1).join(t);return b(!n.includes(`\\`)),n}function br(e,t){if(t.length>0){let e=t.filter(e=>e.isErrorPage);return e.length===0?null:(x(e.length===1,`Only one error page can be defined`),e[0].pageId)}let n=u(e.map(({pageId:e})=>e).filter(e=>xr(e,!1)));if(x(n.length<=1,`Only one _error.page.js is allowed, but found several: ${n.join(` `)}`),n.length>0){let e=n[0];return b(e),e}return null}function xr(e,t){return b(!e.includes(`\\`)),e.includes(`/_error`)}var Sr=[`js`,`cjs`,`mjs`],Cr=[`ts`,`cts`,`mts`],wr=[...Sr,...Cr],Tr=[`jsx`,`cjsx`,`mjsx`],Er=[`tsx`,`ctsx`,`mtsx`],Dr=[...Tr,...Er],Or=[`vue`,`svelte`,`marko`,`md`,`mdx`],kr=[...wr,...Dr,...Or];``+kr.join(`,`);function Ar(e){return kr.some(t=>e.endsWith(`.`+t))}function jr(e){return Or.some(t=>e.endsWith(`.`+t))}var Mr=[`.page`,`.page.server`,`.page.route`,`.page.client`,`.css`];function Nr(e){if(e.endsWith(`.css`))return`.css`;b(Ar(e),e);let t=e.split(`/`).slice(-1)[0].split(`.`),n=t.slice(-3)[0],r=t.slice(-2)[0];if(r===`page`)return`.page`;if(b(n===`page`,e),r===`server`)return`.page.server`;if(r===`client`)return`.page.client`;if(r===`route`)return`.page.route`;b(!1,e)}function Pr(e){let t=e=>r.pageId===e||r.isDefaultPageFile&&(Ir(r.filePath)||Lr(e,r.filePath)),n=Nr(e),r={filePath:e,fileType:n,isEnv:e=>{if(b(n!==`.page.route`),e===`CLIENT_ONLY`)return n===`.page.client`||n===`.css`;if(e===`SERVER_ONLY`)return n===`.page.server`;if(e===`CLIENT_AND_SERVER`)return n===`.page`;b(!1)},isRelevant:t,isDefaultPageFile:Fr(e),isRendererPageFile:n!==`.css`&&Fr(e)&&Ir(e),isErrorPageFile:xr(e,!1),pageId:yr(e)};return r}function Fr(e){return!xr(e,!1)&&e.includes(`/_default`)}function Ir(e){return e.includes(`/renderer/`)}function Lr(e,t){b(!e.endsWith(`/`)),b(!t.endsWith(`/`)),b(Fr(t));let n=z(t.split(`/`),0,-1).filter(e=>e!==`_default`).join(`/`);return e.startsWith(n)}var Rr=[`$$registrations`,`_rerender_only`],zr=[`.md`,`.mdx`],Br=[`server`];function Vr(e,t,n){let r=Object.keys(e),i=e=>e==="default"||e===n,a=r.filter(i),o=p.code(`export default`),s=p.code(`export { ${n} }`);a.length===0&&x(!1,`${t} should define ${s} or ${o}`),a.length===2&&x(!1,`${t} is ambiguous: remove ${o} or ${s}`),b(a.length===1),Br.includes(n)||zr.some(e=>t.endsWith(e))||r.filter(e=>!i(e)).filter(e=>!Rr.includes(e)).forEach(e=>{S(!1,`${t} unexpected ${p.cyan(`export { ${e} }`)}, see https://vike.dev/no-side-exports`,{onlyOnce:!0})})}function Hr(e,t){let n=e.map(e=>{let t=Wr(e.configValuesSerialized);return Ur(t),{...e,configValues:t}}),r={configValues:{}};{let e=Wr(t.configValuesSerialized);Object.assign(r.configValues,e)}return{pageConfigs:n,pageConfigGlobal:r}}function Ur(e){let t=`route`,n=e[t];if(!n)return;let{value:r,definedAtData:i}=n,a=typeof r;b(i);let o=Ae(`Config`,t,i);x(a===`string`||k(r),`${o} has an invalid type '${a}': it should be a string or a function instead, see https://vike.dev/route`)}function Wr(e){let t={};return Object.entries(e).forEach(([e,r])=>{let i;if(r.type===`cumulative`){let{valueSerialized:t,...a}=r;i={value:t.map((t,i)=>{let{value:a,sideExports:o}=Gr(t,e,()=>{let e=r.definedAtData[i];return b(e),e});return n(o),a}),...a}}else{let{valueSerialized:t,...a}=r,{value:o,sideExports:s}=Gr(t,e,()=>{b(r.type!==`computed`);let{definedAtData:e}=r;return Array.isArray(e)?e[0]:e});n(s),i={value:o,...a}}t[e]=i}),t;function n(e){e.forEach(e=>{let{configName:n,configValue:r}=e;t[n]||(t[n]=r)})}}function Gr(e,t,n){if(e.type===`js-serialized`){let{value:t}=e;return t=Tt(t),{value:t,sideExports:[]}}if(e.type===`pointer-import`){let{value:t}=e;return{value:t,sideExports:[]}}if(e.type===`plus-file`){let r=n(),{exportValues:i}=e;b(!r.definedBy),Vr(i,r.filePathToShowToUser,t);let a,o=!1,s=[];return Object.entries(i).forEach(([e,n])=>{e!=="default"&&e!==t?s.push({configName:e,configValue:{type:`standard`,value:n,definedAtData:{filePathToShowToUser:r.filePathToShowToUser,fileExportPathToShowToUser:[e]}}}):(a=n,b(!o),o=!0)}),b(o),{value:a,sideExports:s}}b(!1)}function Kr(e,t,n){b(e,typeof e),t(e)||b(!1,{moduleExports:e,moduleExportsKeys:qr(e),moduleId:n})}function qr(e){return[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e),...Object.keys(e)]}function Jr(e){Kr(e,e=>`pageFilesLazy`in e),b(P(e,`pageFilesLazy`,`object`)),b(P(e,`pageFilesEager`,`object`)),b(P(e,`pageFilesExportNamesLazy`,`object`)),b(P(e,`pageFilesExportNamesEager`,`object`)),b(P(e.pageFilesLazy,`.page`)),b(P(e.pageFilesLazy,`.page.client`)||P(e.pageFilesLazy,`.page.server`)),b(P(e,`pageFilesList`,`string[]`)),b(P(e,`pageConfigsSerialized`)),b(P(e,`pageConfigGlobalSerialized`));let{pageConfigsSerialized:t,pageConfigGlobalSerialized:n}=e;Zr(t),Qr(n);let{pageConfigs:r,pageConfigGlobal:i}=Hr(t,n),a={};Yr(e.pageFilesLazy).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;Xr(r),t.loadFile=async()=>{`fileExports`in t||(t.fileExports=await r(),gr(t))}}),Yr(e.pageFilesExportNamesLazy).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;Xr(r),t.loadExportNames=async()=>{if(!(`exportNames`in t)){let e=await r();b(P(e,`exportNames`,`string[]`),t.filePath),t.exportNames=e.exportNames}}}),Yr(e.pageFilesEager).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;b(T(r)),t.fileExports=r}),Yr(e.pageFilesExportNamesEager).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;b(T(r)),b(P(r,`exportNames`,`string[]`),t.filePath),t.exportNames=r.exportNames}),e.pageFilesList.forEach(e=>{a[e]=a[e]??Pr(e)});let o=Object.values(a);return o.forEach(({filePath:e})=>{b(!e.includes(`\\`))}),{pageFilesAll:o,pageConfigs:r,pageConfigGlobal:i}}function Yr(e){let t=[];return Object.entries(e).forEach(([e,n])=>{b(Mr.includes(e)),b(T(n)),Object.entries(n).forEach(([n,r])=>{let i=Pr(n);b(i.fileType===e),t.push({filePath:n,pageFile:i,globValue:r})})}),t}function Xr(e){b(k(e))}function Zr(e){b(E(e)),e.forEach(e=>{b(T(e)),b(P(e,`pageId`,`string`)),b(P(e,`routeFilesystem`)),b(P(e,`configValuesSerialized`))})}function Qr(e){b(P(e,`configValuesSerialized`))}function $r(e){return(t,n)=>{let r=e(t),i=e(n);return r===i?0:r>i?-1:1}}function ei(e){return(t,n)=>{let r=e(t),i=e(n);return r===i?0:r<i?-1:1}}function G(e){return(t,n)=>{let r=e(t),i=e(n);if(b([!0,!1,null].includes(r)),b([!0,!1,null].includes(i)),r===i)return 0;if(r===!0||i===!1)return-1;if(i===!0||r===!1)return 1;b(!1)}}function ti(e){return G(t=>{let n=e(t);return n===null?null:!n})}function ni(e,t,n){let r=ri(ii({pageConfigGlobalValues:e,pageConfigValues:n})),i=(()=>{if(t.isErrorPage)return{...r,isErrorPage:!0};{let e=r.config.route??t.routeFilesystem.routeString;return{...r,route:e}}})();return[t.pageId,i]}function ri(e){return{config:e.config,_source:e.source,_sources:e.sources,_from:e.from}}function ii({pageConfigGlobalValues:e,pageConfigValues:t}){return ci({configValues:{...e,...t}})}function ai(e,t,n){let r={},i={},a={};e.forEach(e=>{li(e).forEach(({exportName:t,exportValue:n,isFromDefaultExport:r})=>{b(t!=="default"),a[t]=a[t]??[],a[t].push({exportValue:n,exportSource:`${e.filePath} > ${r?`\`export default { ${t} }\``:`\`export { ${t} }\``}`,filePath:e.filePath,_filePath:e.filePath,_fileType:e.fileType,_isFromDefaultExport:r})})});let o,s,c;if(t){let e=ii({pageConfigGlobalValues:n.configValues,pageConfigValues:t.configValues});o=e.source,s=e.sources,c=e.from,Object.assign(r,e.config),Object.assign(i,e.configEntries),Object.assign(a,e.exportsAll)}else o={},s={},c={configsStandard:{},configsCumulative:{},configsComputed:{}};let l={},u={};Object.entries(a).forEach(([e,t])=>{t.forEach(({exportValue:t,_fileType:n,_isFromDefaultExport:r})=>{u[e]=u[e]??t,n===`.page`&&!r&&(e in l||(l[e]=t))})}),b(!(`default`in u)),b(!(`default`in a));let d={config:r,from:c,source:o,sources:s,configEntries:i,exports:u,exportsAll:a};return W(d,`pageExports`,{get:()=>(j()||S(!1,`pageContext.pageExports is outdated, use pageContext.exports instead`,{onlyOnce:!0,showStackTrace:!0}),l),enumerable:!1,configurable:!0}),d}function oi(e,t){return si(e,t,e=>e.configValues)}function si(e,t,n){let r=n(t,!0),i=ri(ci({configValues:r})),a=Object.fromEntries(e.map(e=>{let t=n(e);return ni(r,e,t)})),o={...i,pages:a};return{...o,_globalConfigPublic:o}}function ci(e){let t={},n={},r={},i={},a={},o={configsStandard:{},configsCumulative:{},configsComputed:{}},s=(e,t)=>{i[t]=e,a[t]??(a[t]=[]),a[t].push(e)},c=(e,t,i)=>{let a=Ee(i),o=je(`Config`,e,i);n[e]=n[e]??[],n[e].push({configValue:t,configDefinedAt:o,configDefinedByFile:a});let s=e;r[s]=r[s]??[],r[s].push({exportValue:t,exportSource:o,filePath:a,_filePath:a,_fileType:null,_isFromDefaultExport:null})};return Object.entries(e.configValues).forEach(([e,n])=>{let{value:r}=n;if(t[e]=t[e]??r,n.type===`standard`){let t={type:`configsStandard`,value:n.value,definedAt:D(n.definedAtData,e)};s(t,e),o.configsStandard[e]=t,c(e,r,n.definedAtData)}if(n.type===`cumulative`){let t={type:`configsCumulative`,definedAt:D(n.definedAtData,e),values:n.value.map((t,r)=>{let i=n.definedAtData[r];b(i);let a=D(i,e);return c(e,t,i),{value:t,definedAt:a}})};s(t,e),o.configsCumulative[e]=t}if(n.type===`computed`){let t={type:`configsComputed`,definedAt:`Vike`,value:n.value};s(t,e),o.configsComputed[e]=t,c(e,r,n.definedAtData)}}),{config:t,configEntries:n,exportsAll:r,source:i,sources:a,from:o}}function li(e){let{filePath:t,fileExports:n}=e;b(n),b(Ar(t));let r=[];return Object.entries(n).sort(ti(([e])=>e==="default")).forEach(([e,n])=>{let i=e==="default";if(i)if(jr(t))e=`Page`;else{x(T(n),`The ${p.cyan(`export default`)} of ${t} should be an object.`),Object.entries(n).forEach(([e,n])=>{vr(e,t),r.push({exportName:e,exportValue:n,isFromDefaultExport:i})});return}r.push({exportName:e,exportValue:n,isFromDefaultExport:i})}),r.forEach(({exportName:e,isFromDefaultExport:t})=>{b(!(t&&_r.includes(e)))}),r}async function ui(e,t,n,r,i){let{previousCreateGlobalContextPromise:a}=t,{promise:o,resolve:s}=yt({timeout:null});t.previousCreateGlobalContextPromise=o,a&&(b(t.globalContext),await a);try{let a=di(e),o;if(t.globalContext?o=!0:(t.globalContext=a,o=!1),n&&a._pageConfigs.length>0){let e=n?.(a);F(a,e)}else F(a,await r?.(a));F(a,await i?.(a));let s=Be(a._pageConfigGlobal,`onCreateGlobalContext`),c=!1;return pi(t.onCreateGlobalContextHooks??[],s)||(t.onCreateGlobalContextHooks=s,await at(`onCreateGlobalContext`,a,tt),c=!0),o&&(c?mr(t.globalContext,a):F(t.globalContext,a,!0)),t.globalContext}finally{s()}}function di(e){let{pageFilesAll:t,pageConfigs:n,pageConfigGlobal:r}=Jr(e),i={isGlobalContext:!0,_isOriginalObject:!0,_virtualFileExportsGlobalEntry:e,_pageFilesAll:t,_pageConfigs:n,_pageConfigGlobal:r,_allPageIds:fi(t,n),...oi(n,r)};return U(i,`_isOriginalObject`,!1),i}function fi(e,t){let n=u(e.filter(({isDefaultPageFile:e})=>!e).map(({pageId:e})=>e)),r=t.map(e=>e.pageId);return[...n,...r]}function pi(e,t){let n=e.map(e=>e.hookFn),r=t.map(e=>e.hookFn);return n.every(e=>r.includes(e))&&r.every(e=>n.includes(e))}var K=d(`getGlobalContextClientInternalShared.ts`,(()=>{let{promise:e,resolve:t}=yt();return{globalContextInitialPromise:e,globalContextInitialPromiseResolve:t}})());async function mi(){if(K.globalContextPromise)return await K.globalContextPromise;let e=ui(K.virtualFileExportsGlobalEntry,K,()=>{let e={isClientSide:!0};return F(e,Mt()),e});K.globalContextPromise=e;let t=await e;return b(K.globalContext===t),K.globalContextInitialPromiseResolve(),t}async function hi(e){K.virtualFileExportsGlobalEntry!==e&&(delete K.globalContextPromise,K.virtualFileExportsGlobalEntry=e,await mi())}function gi(e,t){let n=t.filter(({filesystemRoot:t})=>e.startsWith(t)).sort($r(({filesystemRoot:e})=>e.length))[0],r;if(n){let{filesystemRoot:t,urlRoot:i}=n,a={pageId:e,filesystemRoot:t,urlRoot:i};b(i.startsWith(`/`)&&e.startsWith(`/`)&&t.startsWith(`/`),a),b(e.startsWith(t),a),t===`/`?r=e:(b(!t.endsWith(`/`),a),r=z(e,t.length,0)),b(r.startsWith(`/`),a),r=i+(i.endsWith(`/`)?``:`/`)+z(r,1,0)}else r=e;return b(r.startsWith(`/`)),r=r.split(`/`).filter(e=>e!==`pages`&&e!==`src`&&e!==`index`).join(`/`),b(!r.includes(`.page.`)),b(!r.endsWith(`.`)),r.endsWith(`/index`)&&(r=z(r,0,-6)),r===``&&(r=`/`),b(r.startsWith(`/`)),b(!r.endsWith(`/`)||r===`/`),r}function _i(e){return typeof e==`object`&&!!e&&`then`in e&&k(e.then)}async function vi(e,t,n){let{hookReturn:r}=lt({hookFn:e,hookFilePath:n,hookName:`route`},t._globalContext,t,nt);if(yi(r,`The Route Function ${n}`),r=await r,r===!1)return null;if(r===!0&&(r={}),x(V(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){let{match:e}=r;if(x(typeof e==`boolean`,`The ${p.cyan(`match`)} value returned by the Route Function ${n} should be a boolean.`),!e)return null}let i=null;`precedence`in r&&(i=r.precedence,x(typeof i==`number`,`The ${p.cyan(`precedence`)} value returned by the Route Function ${n} should be a number.`)),xi(r,`The ${p.cyan(`routeParams`)} object returned by the Route Function ${n} should`);let a=r.routeParams||{};return x(!(`pageContext`in r),`Providing ${p.cyan(`pageContext`)} in Route Functions is prohibited, see https://vike.dev/route-function#cannot-provide-pagecontext`),b(V(a)),Object.keys(r).forEach(e=>{x(e===`match`||e===`routeParams`||e===`precedence`,`The Route Function ${n} returned an object with an unknown property ${p.cyan(e)} (the known properties are ${p.cyan(`match`)}, ${p.cyan(`routeParams`)}, and ${p.cyan(`precedence`)})`)}),{precedence:i,routeParams:a}}function yi(e,t){S(!_i(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 bi(){S(!1,`${p.cyan(`iKnowThePerformanceRisksOfAsyncRouteFunctions`)} is deprecated and will be removed in the next major release`,{onlyOnce:!0})}function xi(e,t){b(t.endsWith(` should`)),P(e,`routeParams`)&&x(P(e,`routeParams`,`string{}`),`${t} be ${p.bold(`Record<string, string>`)}`)}async function Si(e,t,n,r){return await Promise.all(e.filter(e=>e.fileType===`.page.route`).map(e=>e.loadFile?.())),Ci(e,t,n,r)}function Ci(e,t,n,r){let{onBeforeRouteHook:i,filesystemRoots:a}=Ti(e,t,n);return{pageRoutes:wi(a,e,t,r),onBeforeRouteHook:i}}function wi(e,t,n,r){let i=[];return n.length>0&&(b(e===null),n.filter(e=>!e.isErrorPage).forEach(e=>{let t=e.pageId,n=null;{let r=`route`,i=O(e,r);if(i){let a=i.value;b(i.definedAtData);let o=D(i.definedAtData,r);if(typeof a==`string`)n={pageId:t,comesFromV1PageConfig:!0,routeString:a,routeDefinedAtString:o,routeType:`STRING`};else{let{definedAtData:r}=i;b(!E(r)&&!r.definedBy);let{filePathToShowToUser:s}=r;b(s),b(k(a)),O(e,`iKnowThePerformanceRisksOfAsyncRouteFunctions`,`boolean`)&&bi(),n={pageId:t,comesFromV1PageConfig:!0,routeFunction:a,routeFunctionFilePath:s,routeDefinedAtString:o,routeType:`FUNCTION`}}}}if(!n){let{routeFilesystem:r}=e;b(r);let{routeString:i,definedAtLocation:a}=r;b(r.routeString.startsWith(`/`)),n={pageId:t,routeFilesystemDefinedBy:a,comesFromV1PageConfig:!0,routeString:i,routeDefinedAtString:null,routeType:`FILESYSTEM`}}b(n),i.push(n)})),n.length===0&&(b(e),r.filter(e=>!xr(e,!1)).forEach(n=>{let r=t.find(e=>e.pageId===n&&e.fileType===`.page.route`);if(!r||!(`default`in r.fileExports)){let t=gi(n,e);b(t.startsWith(`/`)),b(!t.endsWith(`/`)||t===`/`),i.push({pageId:n,comesFromV1PageConfig:!1,routeString:t,routeDefinedAtString:null,routeFilesystemDefinedBy:`${n}.page.*`,routeType:`FILESYSTEM`})}else{let{filePath:e,fileExports:t}=r;if(b(t.default),P(t,`default`,`string`)){let r=t.default;x(r.startsWith(`/`),`A Route String should start with a leading slash '/' but ${e} has \`export default '${r}'\`. Make sure to \`export default '/${r}'\` instead.`),i.push({pageId:n,comesFromV1PageConfig:!1,routeString:r,routeDefinedAtString:e,routeType:`STRING`});return}if(P(t,`default`,`function`)){let r=t.default;`iKnowThePerformanceRisksOfAsyncRouteFunctions`in t&&bi(),i.push({pageId:n,comesFromV1PageConfig:!1,routeFunction:r,routeFunctionFilePath:e,routeDefinedAtString:e,routeType:`FUNCTION`});return}x(!1,`The default export of ${e} should be a string or a function.`)}})),i}function Ti(e,t,n){if(t.length>0)return{onBeforeRouteHook:ze(n,`onBeforeRoute`),filesystemRoots:null};let r=null,i=[];return e.filter(e=>e.fileType===`.page.route`&&e.isDefaultPageFile).forEach(({filePath:e,fileExports:t})=>{if(b(t),`onBeforeRoute`in t){x(P(t,`onBeforeRoute`,`function`),`\`export { onBeforeRoute }\` of ${e} should be a function.`);let{onBeforeRoute:n}=t,i=`onBeforeRoute`;r={hookFilePath:e,hookFn:n,hookName:i,hookTimeout:Ke(i)}}`filesystemRoutingRoot`in t&&(x(P(t,`filesystemRoutingRoot`,`string`),`\`export { filesystemRoutingRoot }\` of ${e} should be a string.`),x(P(t,`filesystemRoutingRoot`,`string`),`\`export { filesystemRoutingRoot }\` of ${e} is \`'${t.filesystemRoutingRoot}'\` but it should start with a leading slash \`/\`.`),i.push({filesystemRoot:Ei(e),urlRoot:t.filesystemRoutingRoot}))}),{onBeforeRouteHook:r,filesystemRoots:i}}function Ei(e){b(e.startsWith(`/`)),b(!e.endsWith(`/`));let t=z(e.split(`/`),0,-1).join(`/`)||`/`;return b(t.startsWith(`/`)),b(!t.endsWith(`/`)||t===`/`),t}async function Di(){let e=await mi();return F(e,await Oi(e)),e}async function Oi(e){let{pageRoutes:t,onBeforeRouteHook:n}=await Si(e._pageFilesAll,e._pageConfigs,e._pageConfigGlobal,e._allPageIds);return{_pageRoutes:t,_onBeforeRouteHook:n}}async function ki(e){let t=Ai(e),n=await Di();return F(t,{_globalContext:n,_pageFilesAll:n._pageFilesAll}),L(t,ar(t,n._globalConfigPublic)),t}function Ai(e){let t=or();F(t,{isClientSide:!0,isPrerendering:!1,urlOriginal:e,_urlHandler:null});let n=fr();return b(an(n)),F(t,{_baseServer:n}),F(t,sr(t)),t}var ji=d(`utils/assertRouterType.ts`,{});function Mi(){Pi(Ni()),ji.isClientRouting=!0}function Ni(){return ji.isClientRouting!==!1}function Pi(e){x(j(),`${p.cyan(`import { something } from 'vike/client/router'`)} is forbidden on the server-side`,{showStackTrace:!0}),S(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 Fi(e,t){let n=e.filter(e=>e.pageId===t);return b(n.length<=1),n[0]??null}async function Ii(e,t){if(`isPageEntryLoaded`in e&&!t)return e;let{moduleId:n,moduleExportsPromise:r}=e.loadVirtualFilePageEntry(),i=await r;Kr(i,()=>`configValuesSerialized`in i,n);let a=i,o;try{o=Li(a)}catch(e){if(!(e instanceof ReferenceError)&&!(e instanceof TypeError))throw e;await new Promise(e=>setTimeout(e)),o=Li(a)}return Object.assign(e.configValues,o),F(e,{isPageEntryLoaded:!0}),e}function Li(e){return Wr(e.configValuesSerialized)}var Ri=`_isAssetsError`;async function zi(e,t,n,r){let i=It(t,e),a=Fi(n,e),o;try{o=(await Promise.all([a&&Ii(a,!1),...i.map(e=>e.loadFile?.())]))[0]}catch(e){throw Vi(e)&&Object.assign(e,{[Ri]:!0}),e}let s={};return F(s,ai(i,o,r)),F(s,{_pageFilesLoaded:i}),s}function Bi(e){return e?e[Ri]===!0:!1}function Vi(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(t=>e.message.toLowerCase().includes(t.toLowerCase()))}function q(e,t){b(!e.startsWith(`#`));let{searchOriginal:n,hashOriginal:r,pathname:i}=B(e,`/`),a=`${i}${n||``}`;return t?.withoutHash||(a+=r||``),b(a.startsWith(`/`)),a}function Hi(e){let t=e.getAttribute(`href`);return t===null||!cn(t)||t===``||fn(t)||Ki(t)||Wi(e)||Gi(e)||!Ji(t)||!Ui(e)}function Ui(e){if(Yi()){let t=e.getAttribute(`data-vike-link`);return t!==null&&t!==`false`}else return!0}function Wi(e){let t=e.getAttribute(`target`),n=e.getAttribute(`rel`);return t===`_blank`||t===`_external`||n===`external`||e.hasAttribute(`download`)}function Gi(e){return e.getAttribute(`data-vike`)===`false`}function Ki(e){return!!(e.startsWith(`#`)||e.includes(`#`)&&q(e,{withoutHash:!0})===q(window.location.href,{withoutHash:!0}))}function qi(e){return e.startsWith(`#`)?e===window.location.hash:q(e)===q(window.location.href)}function Ji(e){let t=fr();b(an(t));let{isBaseMissing:n}=B(e,t);return!n}function Yi(){return!!window._disableAutomaticLinkInterception}function J(e){return e.fileType===`.css`?[]:e.exportNames?e.exportNames:(b(e.fileExports,e.filePath),Object.keys(e.fileExports))}function Xi({pageFilesClientSide:e,pageFilesServerSide:t,pageId:n}){return{isHtmlOnly:r(),isClientRouting:a()};function r(){return t.some(e=>e.pageId===n&&e.fileType===`.page`)?(i(),!1):!(!t.some(e=>e.pageId===n&&e.fileType===`.page.server`)||e.some(e=>e.pageId===n&&e.fileType===`.page.client`&&J(e).includes(`render`)))}function i(){x(e.some(e=>J(e).includes(`render`)),["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((e,t)=>` (${t+1}): ${e.filePath}`)].join(`
|
|
3
|
+
`)].join(` `))}function a(){return e.some(e=>J(e).includes(`clientRouting`))}}function Zi({pageFilesClientSide:e,pageFilesServerSide:t,isHtmlOnly:n,isClientRouting:r}){let i=[],a=t.filter(t=>!e.includes(t)),o=[];if(o.push(...e.map(e=>({id:e.filePath,onlyAssets:!1,eagerlyImported:!1}))),o.push(...a.map(e=>({id:e.filePath,onlyAssets:!0,eagerlyImported:!1}))),n)i=e.map(e=>e.filePath);else{let e=Qi(r);o.push({id:e,onlyAssets:!1,eagerlyImported:!1}),i=[e]}return{clientEntries:i,clientDependencies:o}}function Qi(e){return e?`@@vike/dist/client/runtime-client-routing/entry.js`:`@@vike/dist/client/runtime-server-routing/entry.js`}function $i(e,t){let n=It(e,t),r=Lt(e,t),{isHtmlOnly:i,isClientRouting:a}=Xi({pageFilesClientSide:n,pageFilesServerSide:r,pageId:t});i&&(n=n.filter(e=>e.isEnv(`CLIENT_ONLY`)&&!J(e).includes(`render`)),n=ta(n));let{clientEntries:o,clientDependencies:s}=Zi({pageFilesClientSide:n,pageFilesServerSide:r,isHtmlOnly:i,isClientRouting:a});return{isHtmlOnly:i,isClientRouting:a,clientEntries:o,clientDependencies:s,pageFilesClientSide:n,pageFilesServerSide:r}}async function ea(e,t,{sharedPageFilesAlreadyLoaded:n}){let r=It(e,t);await Promise.all(r.map(async e=>{b(e.isEnv(`CLIENT_ONLY`)||e.isEnv(`CLIENT_AND_SERVER`)),!(n&&e.isEnv(`CLIENT_AND_SERVER`))&&await e.loadExportNames?.()}))}function ta(e){let t=[];for(let n of e)if(t.push(n),J(n).includes(`overrideDefaultPages`))break;return t}function na(e,t,n){if(e){let t=O(e,`clientRouting`,`boolean`)?.value??!1;return{isClientRuntimeLoaded:O(e,`isClientRuntimeLoaded`,`boolean`)?.value??!1,isClientRouting:t}}else{let{isHtmlOnly:e,isClientRouting:r}=$i(t,n);return{isClientRuntimeLoaded:!e,isClientRouting:r}}}async function ra(e,t){await ea(t._pageFilesAll,e,{sharedPageFilesAlreadyLoaded:!1});let{isClientRuntimeLoaded:n,isClientRouting:r}=na(Fi(t._globalContext._pageConfigs,e),t._pageFilesAll,e);return n&&r}function ia(e){return e.replace(/[/\-\\^$*+?.()|[\]{}]/g,`\\$&`)}var aa=`@`,oa=`:`;function sa(e,t=`Invalid`){let n=`${t} Route String ${Y(e)}`;x(e!==``,`${n} (empty string): set it to ${Y(`/`)} instead`),x([`/`,`*`].includes(e[0]),`${n}: it should start with ${Y(`/`)} or ${Y(`*`)}`),x(!e.includes(`**`),`${n}: set it to ${Y(e.split(`**`).join(`*`))} instead`)}function ca(e,t){sa(e);let n=la(e),r=n.map(e=>e.param?`[^/]+`:e.glob?`.*`:ia(e.static)).map(e=>`(${e})`).join(``),i=RegExp(`^${r}/?$`),a=t.match(i);if(!a)return null;let o={},[s,...c]=a,l=0,u=n.filter(e=>e.glob).length>1;return n.forEach((e,t)=>{let n=c[t];if(e.param&&(o[e.param]=n),e.glob){let e=`*${u?++l:``}`;o[e]=n}}),{routeParams:o}}function la(e){let t=[],n=e=>{let n=t[t.length-1];n?.static?n.static+=e:t.push({static:e})},r=e.split(`/`);return r.forEach((i,a)=>{a!==0&&n(`/`),fa(i)?(S(!i.startsWith(oa),`Outdated Route String ${Y(e)}, use ${Y(e.split(oa).join(aa))} instead`,{onlyOnce:!0}),t.push({param:i.slice(1)})):i===`*`&&a===r.length-1&&e!==`*`&&e!==`/*`?t.push({glob:!0}):i.split(`*`).forEach((e,r)=>{r!==0&&t.push({glob:!0}),e!==``&&n(e)})}),t}function ua(e){let t=[];return la(e).forEach(e=>{e.param&&t.push(e.param)}),t}function da(e){let t=la(e),n=e=>e?.split(`/`).filter(Boolean).length||0,r=0;for(let e of t){if(!e.static)break;r+=n(e.static)}let i=t.map(e=>n(e.static)).reduce((e,t)=>e+t,0),a=t.filter(e=>e.param).length,o=t.filter(e=>e.glob).length;return{numberOfStaticPartsBeginning:r,numberOfStaticParts:i,numberOfParams:a,numberOfGlobs:o}}function fa(e){return e.startsWith(aa)||e.startsWith(oa)}function pa(e){let t=ca(e,e);return b(t),Object.keys(t.routeParams).length===0}function Y(e){return j()?`'${e}'`:(e===``&&(e=`''`),p.cyan(e))}function ma(e){e.sort(ha).sort(G(e=>e.routeType===`FUNCTION`&&!!e.precedence&&e.precedence<0)).sort(G(e=>e.routeType===`STRING`&&pa(e.routeString)===!1)).sort(G(e=>e.routeType===`FUNCTION`&&!e.precedence)).sort(G(e=>e.routeType===`STRING`&&pa(e.routeString)===!0)).sort(G(e=>e.routeType===`FILESYSTEM`)).sort(G(e=>e.routeType===`FUNCTION`&&!!e.precedence&&e.precedence>0))}function ha(e,t){{let n=e.precedence??0,r=t.precedence??0;if(n!==r)return n>r?-1:1}if(!t.routeString||!e.routeString)return 0;{let n=$r(e=>da(e).numberOfStaticPartsBeginning)(e.routeString,t.routeString);if(n!==0)return n}{let n=$r(e=>da(e).numberOfStaticParts)(e.routeString,t.routeString);if(n!==0)return n}{let n=ei(e=>da(e).numberOfGlobs)(e.routeString,t.routeString);if(n!==0)return n}{let n=$r(e=>da(e).numberOfParams)(e.routeString,t.routeString);if(n!==0)return n}return 0}function ga(e,t){if(!V(e))return!1;for(let n of Object.keys(e))if(!t.includes(n))return!1;return!0}async function _a(e){let t={};if(!e._globalContext._onBeforeRouteHook)return null;let n=await va(e._globalContext._onBeforeRouteHook,e);return n&&(F(t,n),P(t,`pageId`,`string`)||P(t,`pageId`,`null`))?(P(t,`routeParams`)?b(P(t,`routeParams`,`object`)):F(t,{routeParams:{}}),F(t,{_routingProvidedByOnBeforeRouteHook:!0}),t):(F(t,{_routingProvidedByOnBeforeRouteHook:!1}),t)}async function va(e,t){let{hookReturn:n}=lt(e,t._globalContext,t,nt);yi(n,`The onBeforeRoute() hook ${e.hookFilePath}`),n=await n;let r=`The onBeforeRoute() hook defined by ${e.hookFilePath}`;if(x(n==null||ga(n,[`pageContext`])&&P(n,`pageContext`),`${r} should return ${p.cyan(`null`)}, ${p.cyan(`undefined`)}, or a plain JavaScript object ${p.cyan(`{ pageContext: { /* ... */ } }`)}`),n==null)return null;if(x(P(n,`pageContext`,`object`),`${r} returned ${p.cyan(`{ pageContext }`)} but pageContext should be a plain JavaScript object.`),P(n.pageContext,`pageId`)&&!P(n.pageContext,`pageId`,`null`)){let e=`${r} returned ${p.cyan(`{ pageContext: { pageId } }`)} but ${p.cyan(`pageId`)} should be`;x(P(n.pageContext,`pageId`,`string`),`${e} a string or null`),x(t._globalContext._allPageIds.includes(n.pageContext.pageId),`${e} ${En(t._globalContext._allPageIds.map(e=>p.cyan(e)),`or`)}`)}P(n.pageContext,`routeParams`)&&xi(n.pageContext,`${r} returned ${p.cyan(`{ pageContext: { routeParams } }`)} but routeParams should`);let i=e=>`${r} returned ${p.cyan(`{ pageContext: { ${e} } }`)} which is deprecated. Return ${p.cyan(`{ pageContext: { urlLogical } }`)} instead.`;P(n.pageContext,`url`)&&(S(!1,i(`url`),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.url,delete n.pageContext.url),P(n.pageContext,`urlOriginal`)&&(S(!1,i(`urlOriginal`),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.urlOriginal,delete n.pageContext.urlOriginal),P(n.pageContext,`urlLogical`)&&mn(n.pageContext.urlLogical,`${r} returned ${p.cyan(`{ pageContext: { urlLogical } }`)} and ${p.cyan(`urlLogical`)}`),yn(n.pageContext,{hookFilePath:e.hookFilePath,hookName:`onBeforeRoute`});let a={};return F(a,n.pageContext),a}j()&&Mi();async function ya(e,t){let n={};if(!t){let t=await _a(e);if(t){if(t._routingProvidedByOnBeforeRouteHook)return b(t.pageId),t;F(n,t)}F(e,t)}let r=e._globalContext._allPageIds;x(r.length>0,`No page found. You must create at least one page.`),b(e._globalContext._pageFilesAll.length>0||e._globalContext._pageConfigs.length>0);let{urlPathname:i}=e;b(i.startsWith(`/`));let a=[];await Promise.all(e._globalContext._pageRoutes.map(async t=>{let{pageId:n,routeType:r}=t;if(t.routeType===`FILESYSTEM`){let{routeString:e}=t,o=ca(e,i);if(o){let{routeParams:t}=o;a.push({pageId:n,routeParams:t,routeString:e,routeType:r})}return}if(t.routeType===`STRING`){let{routeString:e}=t,o=ca(e,i);if(o){let{routeParams:t}=o;b(r===`STRING`),a.push({pageId:n,routeString:e,routeParams:t,routeType:r})}return}if(t.routeType===`FUNCTION`){let{routeFunction:i,routeFunctionFilePath:o}=t,s=await vi(i,e,o);if(s){let{routeParams:e,precedence:t}=s;a.push({pageId:n,precedence:t,routeParams:e,routeType:r})}return}b(!1)})),ma(a);let o=a[0]??null;if(F(n,{_routeMatch:o}),!o)return F(n,{pageId:null,routeParams:{}}),n;{let{routeParams:e}=o;b(V(e)),F(n,{pageId:o.pageId,routeParams:o.routeParams})}return n}var ba=d(`getPageContextCurrent.ts`,{pageContextCurrent:null});function xa(){let{pageContextCurrent:e}=ba;return e}function Sa(e){ba.pageContextCurrent=e}var Ca=5e3,wa={staticAssets:`hover`,pageContext:Ca},Ta={staticAssets:`hover`,pageContext:!1},Ea=Ta;function Da(e,t){let n=Ea;if(`prefetchLinks`in e.exports&&x(!1,"`export { prefetchLinks }` is deprecated, use `export { prefetchStaticAssets }` instead."),`prefetchStaticAssets`in e.exports){let t=e.exports.prefetchStaticAssets;n.staticAssets=t}if(`prefetch`in e.exports){let{prefetch:t}=e.exports;t===!0&&(n=wa),t===!1&&(n=Ta),Object.assign(n,t),n.pageContext===!0&&(n.pageContext=Ca)}if(n.staticAssets,t){{let e=t.getAttribute(`data-prefetch`);e!==null&&(e===``&&(e=`true`),e===`true`&&(n=wa),e===`false`&&(n=Ta))}{let e=t.getAttribute(`data-prefetch-static-assets`);e!==null&&(e===`false`&&(n.staticAssets=!1),n.staticAssets=e)}{let e=t.getAttribute(`data-prefetch-page-context`);if(e!==null){e===``&&(e=`true`),e===`true`&&(n.pageContext=Ca),e===`false`&&(n.pageContext=!1);let t=parseInt(e,10);Number.isNaN(t)||(n.pageContext=t)}}}return n}Mi();var X=d(`prefetch.ts`,{linkPrefetchHandlerAdded:new WeakSet,addLinkPrefetchHandlers_debounce:null,mutationObserver:new MutationObserver(Pa),linkTags:document.getElementsByTagName(`A`),prefetchedPageContexts:{}});function Oa(e){if(!Da(e,null).pageContext)return null;let t=Ha(e.urlPathname),n=X.prefetchedPageContexts[t];return!n||n.result.is404ServerSideRouted||Ba(n)?null:n.result.pageContextFromHooksServer}async function ka(e){try{await zi(e.pageId,e._pageFilesAll,e._globalContext._pageConfigs,e._globalContext._pageConfigGlobal)}catch(e){if(Bi(e))Ao(e,!0);else throw e}}async function Aa(e,t){Ma(e,await Wn(e,!1),t)}function ja(e,t){Ua()&&Ma(e,t,null)}function Ma(e,t,n){n===null&&(n=Na());let r=Ha(e.urlPathname);b(Ua()),X.prefetchedPageContexts[r]={resultFetchedAt:Date.now(),resultMaxAge:n,result:t}}function Na(){let e=xa();if(!e)return 1/0;let t=Da(e,null);return typeof t.pageContext==`number`?t.pageContext:Ca}function Pa(){X.addLinkPrefetchHandlers_debounce&&clearTimeout(X.addLinkPrefetchHandlers_debounce),X.addLinkPrefetchHandlers_debounce=setTimeout(()=>{`requestIdleCallback`in window?requestIdleCallback(Ra,{timeout:300}):setTimeout(Ra,150)},250)}function Fa(){Pa()}function Ia(){X.mutationObserver.observe(document.body,{childList:!0,subtree:!0})}function La(){X.mutationObserver.disconnect()}function Ra(){for(let e of X.linkTags)X.linkPrefetchHandlerAdded.has(e)||(X.linkPrefetchHandlerAdded.add(e),!Hi(e)&&(e.addEventListener(`mouseover`,()=>{za(e,`hover`)},{passive:!0}),e.addEventListener(`touchstart`,()=>{za(e,`hover`)},{passive:!0}),new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&za(e,`viewport`)})}).observe(e)))}async function za(e,t){let n,r=xa();if(r)n=Da(r,e);else if(Ua())n={staticAssets:`hover`,pageContext:1/0};else return;if(Hi(e))return;let i=e.getAttribute(`href`),a=await Va(i);a?.pageId&&(b(P(a,`pageId`,`string`)),await ra(a.pageId,a)&&await Promise.all([(async()=>{n.staticAssets===t&&await ka(a)})(),(async()=>{if(t!==`viewport`&&n.pageContext){let e=Ha(i),t=X.prefetchedPageContexts[e];if(!t||Ba(t)){let e=n.pageContext;await Aa(a,e)}}})()]))}function Ba(e){return Date.now()-e.resultFetchedAt>e.resultMaxAge}async function Va(e){let t=await ki(e),n;try{n=await ya(t)}catch{return null}return F(t,n),t}function Ha(e){return e.startsWith(`#`)&&(e=`/`),b(e.startsWith(`/`),{urlPathname:e}),e.split(`#`)[0]}function Ua(){return`_isBrilloutDocpress`in window}async function Wa(e,t){let n=null;n=Le(e,`render`);{let t=Le(e,`onRenderClient`);t&&(n=t)}if(!n){let t=Ga(e);if(b(t),e._globalContext._pageConfigs.length>0)x(!1,`No onRenderClient() hook defined for URL '${t}', but it's needed, see https://vike.dev/onRenderClient`);else{let n=e._pageFilesLoaded.filter(e=>e.fileType===`.page.client`),r;r=n.length===0?"No file `*.page.client.*` found for URL "+t:`One of the following files should export a render() hook: `+n.map(e=>e.filePath).join(` `),x(!1,r)}}await st(n,e,t)}function Ga(e){let t;try{t=e.urlPathname??e.urlOriginal}catch{}return t??=window.location.href,t}function Ka(e){return q(window.location.href,e)}var Z=d(`history.ts`,{monkeyPatched:!1,previous:void 0});ao(),Z.previous=ro();function qa(){Q(window.history.state)||$a({vike:{timestamp:Xa(),scrollPosition:Ya(),triggeredBy:`browser`}})}function Ja(){let e=window.history.state;return no(e),e}function Ya(){return{x:window.scrollX,y:window.scrollY}}function Xa(){return new Date().getTime()}function Za(e){if(e||=Ya(),!Q(window.history.state))return;let t=Ja();$a({...t,vike:{...t.vike,scrollPosition:e}})}function Qa(e,t){if(t)$a(Ja(),e);else{let t={vike:{timestamp:Xa(),scrollPosition:null,triggeredBy:`vike`}};window.history.pushState(t,``,e)}}function $a(e,t){let n=t??null;window.history.replaceState(e,``,n),no(window.history.state)}function eo(e,t){History.prototype.replaceState.bind(window.history)(e,``,t)}function to(){Z.monkeyPatched||(Z.monkeyPatched=!0,[`pushState`,`replaceState`].forEach(e=>{let t=window.history[e].bind(window.history);window.history[e]=(n={},...r)=>{x(n==null||T(n),`history.${e}(state) argument state must be an object`);let i=Q(n)?n:{...n,vike:{scrollPosition:Ya(),timestamp:Xa(),triggeredBy:`user`}};t(i,...r),no(window.history.state),Z.previous=ro(),queueMicrotask(()=>{Q(window.history.state)||(Object.assign(i,window.history.state),eo(i))})}}))}function Q(e){return!!e?.vike}function no(e){Q(e)||b(!1,{state:e})}function ro(){return{url:Ka(),state:Ja()}}function io(){let{previous:e}=Z,t=Q(window.history.state),n=window.history.state===null;if(!t&&!n)return I(Ka()),{skip:!0};t||qa();let r=ro();return Z.previous=r,n?{skip:!0}:{previous:e,current:r}}function ao(){to(),qa()}function oo(e){window.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&e()})}function so(e){window.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&e()})}function co(e){return new Promise(t=>setTimeout(t,e))}function lo(e,t){let n=!1;return()=>{n||(n=!0,setTimeout(()=>{n=!1,e()},t))}}function uo(e,t){if(!e&&t&&po(t)){fo(t);return}if(go(e)){_o(e);return}e?.preserveScroll||mo(vo())}function fo(e){let t=window.history.state;eo(null,e),b(window.history.state===null),window.location.replace(e),eo(t,e)}function po(e){return e.includes(`#`)&&e.includes(`:~:text`)}function mo(e){if(!e)ho();else{let t=decodeURIComponent(e),n=document.getElementById(t)||document.getElementsByName(t)[0];n?(n.scrollIntoView(),n.focus()):e===`top`&&ho()}}function ho(){_o({x:0,y:0})}function go(e){return e?.y!==void 0}function _o(e){let 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;let e=new Date().getTime();for(;;)if(await co(10),t(),n()||new Date().getTime()-e>100)return},0)}))}function vo(){let{hash:e}=window.location;return e===``?null:(b(e.startsWith(`#`)),e=e.slice(1),e)}function yo(){window.addEventListener(`scroll`,lo(Za,300),{passive:!0}),oo(Za)}var bo=d(`scrollRestoration.ts`,{});function xo(){wo(),oo(wo),so(()=>bo.initialRenderIsDone&&Co())}function So(){bo.initialRenderIsDone=!0,Co()}function Co(){`scrollRestoration`in window.history&&(window.history.scrollRestoration=`manual`)}function wo(){`scrollRestoration`in window.history&&(window.history.scrollRestoration=`auto`)}function To(e){T(e)&&e.isAlreadyLogged||console.error(e)}var $=d(`renderPageClient.ts`,(()=>{let{promise:e,resolve:t}=yt();return{renderCounter:0,hydrationAwaitPromise:e,hydrationAwaitPromiseResolve:t}})());async function Eo(e){_t(`renderPageClient()`);let{urlOriginal:t=Ka(),overwriteLastHistoryEntry:n=!1,isBackwardNavigation:r=!1,isHistoryNavigation:i=!1,doNotRenderIfSamePage:a,isClientSideNavigation:o=!0,pageContextInitClient:s,pageContextsAborted:c=[]}=e,{scrollTarget:l}=e,{previousPageContext:u}=$;La();let{isRenderOutdated:d,setHydrationCanBeAborted:f,isFirstRender:p}=jo(),m={urlOriginal:t,isBackwardNavigation:r,isHistoryNavigation:i,pageContextsAborted:c,isClientSideNavigation:o,pageContextInitClient:s,isFirstRender:p};if($.clientRoutingIsDisabled){I(t);return}if(!p&&(await $.hydrationAwaitPromise,d())||(await $.onRenderClientPreviousPromise,d()))return;return await h();async function h(){let e=async e=>{await g({err:e})},n=await Do(!1,m);if(d())return;if($.isFirstRenderDone&&(b(u),!$.isTransitioning)){$.isTransitioning=!0;let t=Re(`onPageTransitionStart`,u);try{await ot(t,n,Ln)}catch(t){await e(t);return}if(d())return}if(p){let e=Hn();b(!(`urlOriginal`in e)),F(n,e),ja(n,{pageContextFromHooksServer:e})}{let r;try{r=await ya(n)}catch(t){await e(t);return}if(d())return;if(b(!(`urlOriginal`in r)),p){let{pageId:e,routeParams:t,...i}=r;F(n,i),b(P(n,`routeParams`,`string{}`))}else F(n,r);if(!p){if(!r.pageId){I(t);return}let e=await ra(r.pageId,n);if(d())return;if(!e){I(t);return}let i=r.pageId&&u?.pageId&&r.pageId===u.pageId;if(a&&i)return}}b(P(n,`pageId`,`string`));let r=await Fo(n,p,d);if(!r.skip){if(`err`in r){await e(r.err);return}if(L(n,r.pageContext),Sa(n),n.exports.hydrationCanBeAborted&&f(),!d())if(p){b(P(n,`_hasPageContextFromServer`,`true`));let t;try{t=await Un(n)}catch(t){await e(t);return}return d()?void 0:(L(n,t),await v(n))}else{let t,r=Oa(n);if(r)t=r;else try{let e=await Wn(n,!1);if(e.is404ServerSideRouted)return;t=e.pageContextFromHooksServer,ja(n,e)}catch(t){await e(t);return}if(d())return;b(!(`urlOriginal`in t)),F(n,t);let i;try{i=await Gn(n,!1)}catch(t){await e(t);return}return d()?void 0:(L(n,i),await v(n))}}}async function g(e){let{err:t}=e;b(t),kn(t)||To(t);let n=await Do(!0,m);if(d())return;F(n,{errorWhileRendering:t});let r;if(kn(t)){let e=await ee(t,n);if(e.skip)return;r=e.pageContextAbort}await _(n,e,r)}async function _(e,n,r){let i=e=>{To(e)},a=br(e._pageFilesAll,e._globalContext._pageConfigs);if(!a)throw Error(`No error page defined.`);F(e,{pageId:a,routeParams:{}}),r?(b(r.abortStatusCode),b(!(`urlOriginal`in r)),F(e,r),F(e,{is404:r.abortStatusCode===404})):F(e,{is404:!1});let o=await ra(e.pageId,e);if(d())return;if(!o){I(t);return}let s=await Fo(e,p,d);if(s.skip)return;if(`err`in s){i(s.err);return}L(e,s.pageContext),Sa(e);let c;try{let t=await Wn(e,!0);if(t.is404ServerSideRouted)return;c=t.pageContextFromHooksServer}catch(e){i(e);return}if(d())return;b(!(`urlOriginal`in c)),F(e,c);let l;try{l=await Gn(e,!0)}catch(e){i(e);return}d()||(L(e,l),await v(e,n))}async function ee(t,n){let r=t;jn(t,!0,n);let i=r._pageContextAbort;if(Nn(c,n,i),i._urlRewrite)return await Eo({...e,scrollTarget:void 0,pageContextsAborted:c}),{skip:!0};if(i._urlRedirect){let t=i._urlRedirect.url;if(t.startsWith(`/`))await Eo({...e,scrollTarget:void 0,urlOriginal:t,overwriteLastHistoryEntry:!1,pageContextsAborted:c});else return I(t),{skip:!0};return{skip:!0}}return{pageContextAbort:i}}async function v(e,r){let i=async e=>{r?To(e):await g({err:e})};ko(t,n),$.previousPageContext=e,b($.onRenderClientPreviousPromise===void 0);let a=(async()=>{let t;try{await Wa(e,H)}catch(e){b(e),t=e}return $.onRenderClientPreviousPromise=void 0,$.isFirstRenderDone=!0,t})();$.onRenderClientPreviousPromise=a;let o=await a;if(!(o&&(await i(o),!r))){if(p&&!o){try{await it(`onHydrationEnd`,e,H)}catch(e){if(await i(e),!r)return}if(d(!0))return}if(!d(!0)){if($.isTransitioning){$.isTransitioning=void 0,b(u);let t=Re(`onPageTransitionEnd`,u);try{await ot(t,e,H)}catch(e){if(await i(e),!r)return}if(d(!0))return}if(!l&&u){let t=No(u),n=No(e);n!==!1&&t!==!1&&Po(n,t)&&(l={preserveScroll:!0})}return uo(l,t),go(l)&&Za(l),So(),e._hasPageContextFromServer&&Xn(e),Ia(),Pa(),$.renderedPageContext=e,Oo(t),$.hydrationAwaitPromiseResolve(),e}}}}async function Do(e,{urlOriginal:t,isBackwardNavigation:n,isHistoryNavigation:r,pageContextsAborted:i,isClientSideNavigation:a,pageContextInitClient:o,isFirstRender:s}){let c=$.previousPageContext??null,l=await ki(t);F(l,{isBackwardNavigation:n,isHistoryNavigation:r,isClientSideNavigation:a,isHydration:s&&!e,previousPageContext:c,pageContextsAborted:i,...o}),$.currentPageContext=l,Object.defineProperty(l,"_previousPageContext",{get(){return S(!1,`pageContext._previousPageContext has been renamed pageContext.previousPageContext`,{showStackTrace:!0,onlyOnce:!0}),c},enumerable:!1});{let e=Mn(i);b(!e||!(`urlOriginal`in e)),F(l,e)}return l}function Oo(e){window._vike??(window._vike={}),window._vike.fullyRenderedUrl=e}function ko(e,t){Ka()!==e&&Qa(e,t)}function Ao(e,t){$.clientRoutingIsDisabled=!0,b(Bi(e)),t&&console.log(e),ve(!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 jo(){let e=++$.renderCounter;b(e>=1);let t=!1;return{isRenderOutdated:n=>e===1&&!t&&!n?!1:e!==$.renderCounter,setHydrationCanBeAborted:()=>{t=!0,$.hydrationAwaitPromiseResolve()},isFirstRender:e===1}}function Mo(){return $.renderCounter}function No(e){let t=e.from.configsStandard.keepScrollPosition;if(!t)return!1;let n=t.value,r=t.definedAt;b(r);let i=ua(r);return k(n)&&(n=n(e,{configDefinedAt:t.definedAt})),n===!0?[r,...i.map(t=>{let n=e.routeParams[t];return b(n),n})]:n}function Po(e,t){return e===t?!0:!Array.isArray(e)||!Array.isArray(t)?!1:e.length===t.length&&e.every((n,r)=>e[r]===t[r])}async function Fo(e,t,n){let r=!1,i,a;try{a=await zi(e.pageId,e._pageFilesAll,e._globalContext._pageConfigs,e._globalContext._pageConfigGlobal)}catch(n){if(i=n,r=!0,Io(i,e,t))return{skip:!0}}if(n())return{skip:!0};if(r)return{err:i};F(e,a);try{await it(`onCreatePageContext`,e,H)}catch(e){i=e,r=!0}return n()?{skip:!0}:r?{err:i}:{pageContext:e}}function Io(e,t,n){if(!Bi(e))return!1;if(n)throw Ao(e,!1),e;return Ao(e,!0),I(t.urlOriginal),!0}export{l as S,b as _,mo as a,o as b,io as c,Gi as d,Hi as f,pt as g,_t as h,yo as i,Fa as l,hi as m,Eo as n,uo as o,Mi as p,xo as r,ao as s,Mo as t,qi as u,ne as v,s as x,d as y};
|