@kitbag/router 0.17.2 → 0.17.3
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/dist/kitbag-router.d.ts +55 -110
- package/dist/kitbag-router.js +1726 -1709
- package/dist/kitbag-router.umd.cjs +3 -3
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(k,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("vue"),require("zod")):typeof define=="function"&&define.amd?define(["exports","vue","zod"],c):(k=typeof globalThis<"u"?globalThis:k||self,c(k["@kitbag/router"]={},k.Vue,k.zod))})(this,function(k,c,b){"use strict";var mo=Object.defineProperty;var yo=(k,c,b)=>c in k?mo(k,c,{enumerable:!0,configurable:!0,writable:!0,value:b}):k[c]=b;var F=(k,c,b)=>yo(k,typeof c!="symbol"?c+"":c,b);function Z(e){return typeof e!="string"?!1:/^(https?:\/\/|\/).*/g.test(e)}function Ve(e){return Z(e)?e:`/${e}`}class at extends Error{constructor(t){super(`Invalid Param "${t}": Router does not support multiple params by the same name. All param names must be unique.`)}}class st extends Error{constructor(t){super(`Child property on meta for ${t} conflicts with the parent meta.`)}}class z extends Error{constructor(){super("Router not installed")}}class ct extends Error{constructor(t,r){super(`useRoute called with incorrect route. Given ${t}, expected ${r}`)}}const it=Symbol();function Ee(){const e=c.inject(it);if(!e)throw new z;return e}function de(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function J(e){return typeof e=="string"&&e.length>0}function Pe(e){return{value:J(e)?e.replace(/^#*/,""):void 0}}function Rr(e,t){return Pe(`${e.value??""}${t.value??""}`)}function wr(e,t){return Er(e,t),{...e,...t}}function Er(e,t){const r=Object.keys(e).find(n=>n in t&&typeof t[n]!=typeof e[n]);if(r)throw new st(r)}function se(e){return Array.isArray(e)?e:[e]}function ut(e,t){return e.filter(r=>t===r).length}function ce(...e){const t=e.flatMap(r=>Array.isArray(r)?r:Object.keys(r).map(Pr));for(const r of t)if(ut(t,r)>1)throw new at(r)}function Pr(e){return e.startsWith("?")?e.slice(1):e}function br(e,t){return ce(e.params,t.params),{value:`${e.value}${t.value}`,params:{...e.params,...t.params}}}function Sr(e,t){return ce(e.params,t.params),{value:[e.value,t.value].filter(J).join("&"),params:{...e.params,...t.params}}}function vr(e,t){return ce(e,t),{...e,...t}}function Ar(e){return"host"in e&&!!e.host}function ft(e){return"parent"in e&&!!e.parent}function lt(e){return"component"in e&&!!e.component}function ht(e){return"props"in e&&typeof e.props=="function"}function pt(e){return"components"in e&&!!e.components}function dt(e){return"props"in e&&typeof e.props=="object"}function kr(e){return"state"in e&&!!e.state}function mt(e,t){return{...t,path:br(e.path,t.path),query:Sr(e.query,t.query),meta:wr(e.meta,t.meta),state:vr(e.state,t.state),hash:Rr(e.hash,t.hash),matches:[...e.matches,t.matched],host:e.host,depth:e.depth+1}}function je(){return typeof window<"u"&&typeof window.document<"u"}class W extends Error{}const G="[",K="]";function Ur(e){return e!==String&&e!==Boolean&&e!==Number&&e!==Date}function Lr(e){return typeof e=="function"&&Ur(e)}function be(e){return typeof e=="object"&&"get"in e&&typeof e.get=="function"&&"set"in e&&typeof e.set=="function"}function yt(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function Br(e){return be(e)&&e.defaultValue!==void 0}function Cr(e,t){return Pt(e,t)}function gt(e){return{get:(t,{invalid:r})=>{try{return $e(t,e)}catch{throw r()}},set:(t,{invalid:r})=>{try{return He(t,e)}catch{throw r()}}}}const xr=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;function ie(e,t){if(typeof t=="string"&&xr.test(t)){const r=new Date(t);return isNaN(r.getTime())?t:r}return t}function ue(e){for(const t of e)try{return t()}catch{continue}throw new Error("All functions failed")}function Se(e,t){return e instanceof b.ZodString?1:t instanceof b.ZodString?-1:0}function $e(e,t){if(t instanceof b.ZodString)return t.parse(e);if(t instanceof b.ZodBoolean)return t.parse(!!e);if(t instanceof b.ZodDate)return t.parse(new Date(e));if(t instanceof b.ZodNumber)return t.parse(Number(e));if(t instanceof b.ZodLiteral)return ue([()=>t.parse(Number(e)),()=>t.parse(!!e),()=>t.parse(e)]);if(t instanceof b.ZodObject)return t.parse(JSON.parse(e,ie));if(t instanceof b.ZodEnum)return t.parse(e);if(t instanceof b.ZodNativeEnum)return ue([()=>t.parse(Number(e)),()=>t.parse(e)]);if(t instanceof b.ZodArray||t instanceof b.ZodTuple)return t.parse(JSON.parse(e,ie));if(t instanceof b.ZodUnion){const r=Array.from(t._def.options).sort(Se).map(n=>()=>$e(e,n));return ue(r)}if(t instanceof b.ZodDiscriminatedUnion){const r=Array.from(t.options).sort(Se).map(n=>()=>$e(e,n));return ue(r)}if(t instanceof b.ZodRecord)return t.parse(JSON.parse(e,ie));if(t instanceof b.ZodMap)return t.parse(new Map(JSON.parse(e,ie)));if(t instanceof b.ZodSet)return t.parse(new Set(JSON.parse(e,ie)));if(t instanceof b.ZodIntersection)throw new Error("Intersection schemas are not supported");if(t instanceof b.ZodPromise)throw new Error("Promise schemas are not supported");if(t instanceof b.ZodFunction)throw new Error("Function schemas are not supported");return t.parse(e)}function He(e,t){if(t instanceof b.ZodString)return t.parse(e);if(t instanceof b.ZodBoolean)return t.parse(e).toString();if(t instanceof b.ZodDate)return t.parse(e).toISOString();if(t instanceof b.ZodNumber)return t.parse(Number(e)).toString();if(t instanceof b.ZodLiteral)return t.parse(e).toString();if(t instanceof b.ZodObject)return JSON.stringify(t.parse(e));if(t instanceof b.ZodEnum)return t.parse(e);if(t instanceof b.ZodNativeEnum)return t.parse(e).toString();if(t instanceof b.ZodArray||t instanceof b.ZodTuple)return JSON.stringify(t.parse(e));if(t instanceof b.ZodUnion){const r=Array.from(t._def.options).sort(Se).map(n=>()=>He(e,n));return ue(r)}if(t instanceof b.ZodDiscriminatedUnion){const r=Array.from(t.options).sort(Se).map(n=>()=>He(e,n));return ue(r)}if(t instanceof b.ZodRecord)return JSON.stringify(t.parse(e));if(t instanceof b.ZodMap){const r=t.parse(e);return JSON.stringify(Array.from(r.entries()))}if(t instanceof b.ZodSet){const r=t.parse(e);return JSON.stringify(Array.from(r.values()))}if(t instanceof b.ZodIntersection)throw new Error("Intersection schemas are not supported");if(t instanceof b.ZodPromise)throw new Error("Promise schemas are not supported");if(t instanceof b.ZodFunction)throw new Error("Function schemas are not supported");return JSON.stringify(t.parse(e))}function Nr(e,t){return e[t]??String}const j={invalid:e=>{throw new W(e)}},Rt={get:e=>e,set:(e,{invalid:t})=>{if(typeof e!="string")throw t();return e}},_e={get:(e,{invalid:t})=>{if(e==="true")return!0;if(e==="false")return!1;throw t()},set:(e,{invalid:t})=>{if(typeof e!="boolean")throw t();return e.toString()}},Oe={get:(e,{invalid:t})=>{const r=Number(e);if(isNaN(r))throw t();return r},set:(e,{invalid:t})=>{if(typeof e!="number")throw t();return e.toString()}},wt={get:(e,{invalid:t})=>{const r=new Date(e);if(isNaN(r.getTime()))throw t();return r},set:(e,{invalid:t})=>{if(typeof e!="object"||!(e instanceof Date))throw t();return e.toISOString()}},Et={get:(e,{invalid:t})=>{try{return JSON.parse(e)}catch{throw t()}},set:(e,{invalid:t})=>{try{return JSON.stringify(e)}catch{throw t()}}};function Vr(e,t){switch(typeof t){case"string":return Rt.get(e,j)===t;case"number":return Oe.get(e,j)===t;case"boolean":return _e.get(e,j)===t;default:return!1}}function ee(e,t,r=!1){if(e===void 0||!J(e)){if(Br(t))return t.defaultValue;if(r)return;throw new W}if(t===String)return Rt.get(e,j);if(t===Boolean)return _e.get(e,j);if(t===Number)return Oe.get(e,j);if(t===Date)return wt.get(e,j);if(t===JSON)return Et.get(e,j);if(Lr(t))return t(e,j);if(be(t))return t.get(e,j);if(t instanceof RegExp){if(t.test(e))return e;throw new W}if(yt(t)){if(Vr(e,t))return t;throw new W}return t instanceof b.ZodSchema?gt(t).get(e,j):e}function jr(e,t,r=!1){try{return ee(e,t,r)}catch(n){if(n instanceof W)return;throw n}}function $r(e,t,r=!1){try{return te(e,t,r)}catch(n){if(n instanceof W)return;throw n}}function te(e,t,r=!1){if(e===void 0){if(r)return"";throw new W}if(t===Boolean)return _e.set(e,j);if(t===Number)return Oe.set(e,j);if(t===Date)return wt.set(e,j);if(t===JSON)return Et.set(e,j);if(be(t))return t.set(e,j);if(yt(t)){if(t!==e)throw new W;return e.toString()}if(t instanceof b.ZodSchema)return gt(t).set(e,j);try{return e.toString()}catch{throw new W}}function Pt(e,t){return be(e)?{...e,defaultValue:t??e.defaultValue}:{get:r=>ee(r,e),set:r=>te(r,e),defaultValue:t}}function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Y.apply(null,arguments)}var H;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(H||(H={}));var fe=process.env.NODE_ENV!=="production"?function(e){return Object.freeze(e)}:function(e){return e};function re(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}var ve="beforeunload",Hr="hashchange",bt="popstate";function St(e){e===void 0&&(e={});var t=e,r=t.window,n=r===void 0?document.defaultView:r,o=n.history;function a(){var m=n.location,h=m.pathname,P=m.search,L=m.hash,C=o.state||{};return[C.idx,fe({pathname:h,search:P,hash:L,state:C.usr||null,key:C.key||"default"})]}var s=null;function f(){if(s)g.call(s),s=null;else{var m=H.Pop,h=a(),P=h[0],L=h[1];if(g.length)if(P!=null){var C=y-P;C&&(s={action:m,location:L,retry:function(){A(C*-1)}},A(C))}else process.env.NODE_ENV!=="production"&&re(!1,"You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation.");else U(m)}}n.addEventListener(bt,f);var l=H.Pop,u=a(),y=u[0],S=u[1],x=le(),g=le();y==null&&(y=0,o.replaceState(Y({},o.state,{idx:y}),""));function d(m){return typeof m=="string"?m:ne(m)}function R(m,h){return h===void 0&&(h=null),fe(Y({pathname:S.pathname,hash:"",search:""},typeof m=="string"?me(m):m,{state:h,key:ke()}))}function i(m,h){return[{usr:m.state,key:m.key,idx:h},d(m)]}function p(m,h,P){return!g.length||(g.call({action:m,location:h,retry:P}),!1)}function U(m){l=m;var h=a();y=h[0],S=h[1],x.call({action:l,location:S})}function w(m,h){var P=H.Push,L=R(m,h);function C(){w(m,h)}if(p(P,L,C)){var V=i(L,y+1),$=V[0],_=V[1];try{o.pushState($,"",_)}catch{n.location.assign(_)}U(P)}}function E(m,h){var P=H.Replace,L=R(m,h);function C(){E(m,h)}if(p(P,L,C)){var V=i(L,y),$=V[0],_=V[1];o.replaceState($,"",_),U(P)}}function A(m){o.go(m)}var B={get action(){return l},get location(){return S},createHref:d,push:w,replace:E,go:A,back:function(){A(-1)},forward:function(){A(1)},listen:function(h){return x.push(h)},block:function(h){var P=g.push(h);return g.length===1&&n.addEventListener(ve,Ae),function(){P(),g.length||n.removeEventListener(ve,Ae)}}};return B}function _r(e){e===void 0&&(e={});var t=e,r=t.window,n=r===void 0?document.defaultView:r,o=n.history;function a(){var h=me(n.location.hash.substr(1)),P=h.pathname,L=P===void 0?"/":P,C=h.search,V=C===void 0?"":C,$=h.hash,_=$===void 0?"":$,D=o.state||{};return[D.idx,fe({pathname:L,search:V,hash:_,state:D.usr||null,key:D.key||"default"})]}var s=null;function f(){if(s)g.call(s),s=null;else{var h=H.Pop,P=a(),L=P[0],C=P[1];if(g.length)if(L!=null){var V=y-L;V&&(s={action:h,location:C,retry:function(){B(V*-1)}},B(V))}else process.env.NODE_ENV!=="production"&&re(!1,"You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation.");else w(h)}}n.addEventListener(bt,f),n.addEventListener(Hr,function(){var h=a(),P=h[1];ne(P)!==ne(S)&&f()});var l=H.Pop,u=a(),y=u[0],S=u[1],x=le(),g=le();y==null&&(y=0,o.replaceState(Y({},o.state,{idx:y}),""));function d(){var h=document.querySelector("base"),P="";if(h&&h.getAttribute("href")){var L=n.location.href,C=L.indexOf("#");P=C===-1?L:L.slice(0,C)}return P}function R(h){return d()+"#"+(typeof h=="string"?h:ne(h))}function i(h,P){return P===void 0&&(P=null),fe(Y({pathname:S.pathname,hash:"",search:""},typeof h=="string"?me(h):h,{state:P,key:ke()}))}function p(h,P){return[{usr:h.state,key:h.key,idx:P},R(h)]}function U(h,P,L){return!g.length||(g.call({action:h,location:P,retry:L}),!1)}function w(h){l=h;var P=a();y=P[0],S=P[1],x.call({action:l,location:S})}function E(h,P){var L=H.Push,C=i(h,P);function V(){E(h,P)}if(process.env.NODE_ENV!=="production"&&re(C.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.push("+JSON.stringify(h)+")"),U(L,C,V)){var $=p(C,y+1),_=$[0],D=$[1];try{o.pushState(_,"",D)}catch{n.location.assign(D)}w(L)}}function A(h,P){var L=H.Replace,C=i(h,P);function V(){A(h,P)}if(process.env.NODE_ENV!=="production"&&re(C.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.replace("+JSON.stringify(h)+")"),U(L,C,V)){var $=p(C,y),_=$[0],D=$[1];o.replaceState(_,"",D),w(L)}}function B(h){o.go(h)}var m={get action(){return l},get location(){return S},createHref:R,push:E,replace:A,go:B,back:function(){B(-1)},forward:function(){B(1)},listen:function(P){return x.push(P)},block:function(P){var L=g.push(P);return g.length===1&&n.addEventListener(ve,Ae),function(){L(),g.length||n.removeEventListener(ve,Ae)}}};return m}function vt(e){e===void 0&&(e={});var t=e,r=t.initialEntries,n=r===void 0?["/"]:r,o=t.initialIndex,a=n.map(function(w){var E=fe(Y({pathname:"/",search:"",hash:"",state:null,key:ke()},typeof w=="string"?me(w):w));return process.env.NODE_ENV!=="production"&&re(E.pathname.charAt(0)==="/","Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: "+JSON.stringify(w)+")"),E}),s=At(o??a.length-1,0,a.length-1),f=H.Pop,l=a[s],u=le(),y=le();function S(w){return typeof w=="string"?w:ne(w)}function x(w,E){return E===void 0&&(E=null),fe(Y({pathname:l.pathname,search:"",hash:""},typeof w=="string"?me(w):w,{state:E,key:ke()}))}function g(w,E,A){return!y.length||(y.call({action:w,location:E,retry:A}),!1)}function d(w,E){f=w,l=E,u.call({action:f,location:l})}function R(w,E){var A=H.Push,B=x(w,E);function m(){R(w,E)}process.env.NODE_ENV!=="production"&&re(l.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.push("+JSON.stringify(w)+")"),g(A,B,m)&&(s+=1,a.splice(s,a.length,B),d(A,B))}function i(w,E){var A=H.Replace,B=x(w,E);function m(){i(w,E)}process.env.NODE_ENV!=="production"&&re(l.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.replace("+JSON.stringify(w)+")"),g(A,B,m)&&(a[s]=B,d(A,B))}function p(w){var E=At(s+w,0,a.length-1),A=H.Pop,B=a[E];function m(){p(w)}g(A,B,m)&&(s=E,d(A,B))}var U={get index(){return s},get action(){return f},get location(){return l},createHref:S,push:R,replace:i,go:p,back:function(){p(-1)},forward:function(){p(1)},listen:function(E){return u.push(E)},block:function(E){return y.push(E)}};return U}function At(e,t,r){return Math.min(Math.max(e,t),r)}function Ae(e){e.preventDefault(),e.returnValue=""}function le(){var e=[];return{get length(){return e.length},push:function(r){return e.push(r),function(){e=e.filter(function(n){return n!==r})}},call:function(r){e.forEach(function(n){return n&&n(r)})}}}function ke(){return Math.random().toString(36).substr(2,8)}function ne(e){var t=e.pathname,r=t===void 0?"/":t,n=e.search,o=n===void 0?"":n,a=e.hash,s=a===void 0?"":a;return o&&o!=="?"&&(r+=o.charAt(0)==="?"?o:"?"+o),s&&s!=="#"&&(r+=s.charAt(0)==="#"?s:"#"+s),r}function me(e){var t={};if(e){var r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));var n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}const kt=Symbol();function Or(){const e=c.inject(kt);if(!e)throw new z;return e}const Ut=Symbol("isRouterRouteSymbol");function qr(e){return typeof e=="object"&&e!==null&&Ut in e}function Zr(e,t){function r(i,p,U){if(typeof i=="object"){const E={...e.params,...i};return t(e.name,E,p)}const w={...e.params,[i]:p};return t(e.name,w,U)}const n=(...i)=>{const p=new URLSearchParams(e.query);p.set(...i),r({},{query:p})},o=(...i)=>{const p=new URLSearchParams(e.query);p.append(...i),r({},{query:p})},a=(...i)=>{const p=new URLSearchParams(e.query);p.delete(...i),r({},{query:p})},{id:s,matched:f,matches:l,name:u,hash:y,href:S}=c.toRefs(e),x=c.computed({get(){return new Proxy(e.params,{set(i,p,U){return r(p,U),!0}})},set(i){r(i)}}),g=c.computed({get(){return new Proxy(e.query,{get(i,p,U){switch(p){case"append":return o;case"set":return n;case"delete":return a;default:return Reflect.get(i,p,U)}}})},set(i){r({},{query:i})}}),d=c.computed({get(){return new Proxy(e.state,{set(i,p,U){return r({},{state:{...e.state,[p]:U}}),!0}})},set(i){r({},{state:i})}});return c.reactive({id:s,matched:f,matches:l,state:d,query:g,hash:y,params:x,name:u,href:S,update:r,[Ut]:!0})}const Lt=Symbol();function Dr(e,t){const r=c.reactive({...e}),n=s=>{Object.assign(r,{[Lt]:!1,...s})},o=r,a=Zr(o,t);return{currentRoute:o,routerRoute:a,updateRoute:n}}function O(e){return!e.startsWith("http")?Tr(e):Ir(e)}function Ir(e){const{protocol:t,host:r,pathname:n,search:o,searchParams:a,hash:s}=new URL(e,e);return{protocol:t,host:r,pathname:n,search:o,searchParams:a,hash:s}}function Tr(e){const{pathname:t,search:r,searchParams:n,hash:o}=new URL(e,"https://localhost");return{pathname:t,search:r,searchParams:n,hash:o}}function Mr(e){return t=>{const{host:r}=O(t);return!(r===void 0||r===e)}}function Fr({mode:e,listener:t}){const r=Jr(e),n=(l,u)=>{if(u!=null&&u.replace){r.replace(l,u.state);return}r.push(l,u==null?void 0:u.state)},o=()=>{const l=ne(r.location);r.replace(l)};let a;return{...r,update:n,refresh:o,startListening:()=>{a==null||a(),a=r.listen(t)},stopListening:()=>{a==null||a()}}}function Jr(e="auto"){switch(e){case"auto":return je()?St():vt();case"browser":return St();case"memory":return vt();case"hash":return _r();default:const t=e;throw new Error(`Switch is not exhaustive for mode: ${t}`)}}class Bt extends Error{constructor(){super("Uncaught CallbackContextAbortError");F(this,"response");this.response={status:"ABORT"}}}class he extends Error{constructor(r){super("Uncaught CallbackContextPushError");F(this,"response");this.response={status:"PUSH",to:r}}}class Ue extends Error{constructor(r){super("Uncaught CallbackContextRejectionError");F(this,"response");this.response={status:"REJECT",type:r}}}function Ct(){return{reject:o=>{throw new Ue(o)},push:(...o)=>{throw new he(o)},replace:(o,a,s)=>{if(Z(o)){const u=a??{};throw new he([o,{...u,replace:!0}])}const f=a,l=s??{};throw new he([o,f,{...l,replace:!0}])},abort:()=>{throw new Bt}}}class oe{constructor(){F(this,"onBeforeRouteEnter",new Set);F(this,"onBeforeRouteUpdate",new Set);F(this,"onBeforeRouteLeave",new Set);F(this,"onAfterRouteEnter",new Set);F(this,"onAfterRouteUpdate",new Set);F(this,"onAfterRouteLeave",new Set)}}const ye=(e,t,r)=>{var a,s;const n=e.matches,o=(t==null?void 0:t.matches)??[];return((a=n.at(r))==null?void 0:a.id)!==((s=o.at(r))==null?void 0:s.id)},ge=(e,t,r)=>{var a,s;const n=e.matches,o=(t==null?void 0:t.matches)??[];return((a=n.at(r))==null?void 0:a.id)!==((s=o.at(r))==null?void 0:s.id)},Re=(e,t,r)=>{var n,o;return((n=e.matches.at(r))==null?void 0:n.id)===((o=t==null?void 0:t.matches.at(r))==null?void 0:o.id)};function xt(e){switch(e){case"onBeforeRouteEnter":case"onAfterRouteEnter":return ye;case"onBeforeRouteUpdate":case"onAfterRouteUpdate":return Re;case"onBeforeRouteLeave":case"onAfterRouteLeave":return ge;default:throw new Error(`Switch is not exhaustive for lifecycle: ${e}`)}}function Wr(e,t){const r=new oe;return e.matches.forEach((n,o)=>{n.onBeforeRouteEnter&&ye(e,t,o)&&se(n.onBeforeRouteEnter).forEach(a=>r.onBeforeRouteEnter.add(a)),n.onBeforeRouteUpdate&&Re(e,t,o)&&se(n.onBeforeRouteUpdate).forEach(a=>r.onBeforeRouteUpdate.add(a))}),t==null||t.matches.forEach((n,o)=>{n.onBeforeRouteLeave&&ge(e,t,o)&&se(n.onBeforeRouteLeave).forEach(a=>r.onBeforeRouteLeave.add(a))}),r}function Gr(e,t){const r=new oe;return e.matches.forEach((n,o)=>{n.onAfterRouteEnter&&ye(e,t,o)&&se(n.onAfterRouteEnter).forEach(a=>r.onAfterRouteEnter.add(a)),n.onAfterRouteUpdate&&Re(e,t,o)&&se(n.onAfterRouteUpdate).forEach(a=>r.onAfterRouteUpdate.add(a))}),t==null||t.matches.forEach((n,o)=>{n.onAfterRouteLeave&&ge(e,t,o)&&se(n.onAfterRouteLeave).forEach(a=>r.onAfterRouteLeave.add(a))}),r}function Qr(e,t,r){const n=new oe;return e.matches.forEach((o,a)=>{ye(e,t,a)&&r.onBeforeRouteEnter.forEach(s=>n.onBeforeRouteEnter.add(s)),Re(e,t,a)&&r.onBeforeRouteUpdate.forEach(s=>n.onBeforeRouteUpdate.add(s))}),t==null||t.matches.forEach((o,a)=>{ge(e,t,a)&&r.onBeforeRouteLeave.forEach(s=>n.onBeforeRouteLeave.add(s))}),n}function Kr(e,t,r){const n=new oe;return e.matches.forEach((o,a)=>{ye(e,t,a)&&r.onAfterRouteEnter.forEach(s=>n.onAfterRouteEnter.add(s)),Re(e,t,a)&&r.onAfterRouteUpdate.forEach(s=>n.onAfterRouteUpdate.add(s))}),t==null||t.matches.forEach((o,a)=>{ge(e,t,a)&&r.onAfterRouteLeave.forEach(s=>n.onAfterRouteLeave.add(s))}),n}const Nt=Symbol();function Yr(){const e={global:new oe,component:new oe},{reject:t,push:r,replace:n,abort:o}=Ct(),a=i=>(e.global.onBeforeRouteEnter.add(i),()=>e.global.onBeforeRouteEnter.delete(i)),s=i=>(e.global.onBeforeRouteUpdate.add(i),()=>e.global.onBeforeRouteUpdate.delete(i)),f=i=>(e.global.onBeforeRouteLeave.add(i),()=>e.global.onBeforeRouteLeave.delete(i)),l=i=>(e.global.onAfterRouteEnter.add(i),()=>e.global.onAfterRouteEnter.delete(i)),u=i=>(e.global.onAfterRouteUpdate.add(i),()=>e.global.onAfterRouteUpdate.delete(i)),y=i=>(e.global.onAfterRouteLeave.add(i),()=>e.global.onAfterRouteLeave.delete(i));async function S({to:i,from:p}){const{global:U,component:w}=e,E=Wr(i,p),A=Qr(i,p,U),B=[...A.onBeforeRouteEnter,...E.onBeforeRouteEnter,...A.onBeforeRouteUpdate,...E.onBeforeRouteUpdate,...w.onBeforeRouteUpdate,...A.onBeforeRouteLeave,...E.onBeforeRouteLeave,...w.onBeforeRouteLeave];try{const m=B.map(h=>h(i,{from:p,reject:t,push:r,replace:n,abort:o}));await Promise.all(m)}catch(m){if(m instanceof he||m instanceof Ue||m instanceof Bt)return m.response;throw m}return{status:"SUCCESS"}}async function x({to:i,from:p}){const{global:U,component:w}=e,E=Gr(i,p),A=Kr(i,p,U),B=[...w.onAfterRouteLeave,...E.onAfterRouteLeave,...A.onAfterRouteLeave,...w.onAfterRouteUpdate,...E.onAfterRouteUpdate,...A.onAfterRouteUpdate,...w.onAfterRouteEnter,...E.onAfterRouteEnter,...A.onAfterRouteEnter];try{const m=B.map(h=>h(i,{from:p,reject:t,push:r,replace:n}));await Promise.all(m)}catch(m){if(m instanceof he||m instanceof Ue)return m.response;throw m}return{status:"SUCCESS"}}return{runBeforeRouteHooks:S,runAfterRouteHooks:x,addComponentBeforeRouteHook:({lifecycle:i,depth:p,hook:U})=>{const w=xt(i),E=e.component[i],A=(B,m)=>{if(w(B,m.from,p))return U(B,m)};return E.add(A),()=>E.delete(A)},addComponentAfterRouteHook:({lifecycle:i,depth:p,hook:U})=>{const w=xt(i),E=e.component[i],A=(B,m)=>{if(w(B,m.from,p))return U(B,m)};return E.add(A),()=>E.delete(A)},addGlobalRouteHooks:i=>{i.onBeforeRouteEnter.forEach(p=>a(p)),i.onBeforeRouteUpdate.forEach(p=>s(p)),i.onBeforeRouteLeave.forEach(p=>f(p)),i.onAfterRouteEnter.forEach(p=>l(p)),i.onAfterRouteUpdate.forEach(p=>u(p)),i.onAfterRouteLeave.forEach(p=>y(p))},onBeforeRouteEnter:a,onBeforeRouteUpdate:s,onBeforeRouteLeave:f,onAfterRouteEnter:l,onAfterRouteUpdate:u,onAfterRouteLeave:y}}function Xr(e){return c.defineComponent(()=>()=>c.h("h1",e),{name:e,props:[]})}function qe(e){const t=new URLSearchParams(e);return{get:(...r)=>t.get(...r),getAll:(...r)=>t.getAll(...r),set:(...r)=>{t.set(...r)},append:(...r)=>{t.append(...r)},delete:(...r)=>{t.delete(...r)},toString:(...r)=>t.toString(...r),forEach:(...r)=>{t.forEach(...r)},entries:(...r)=>t.entries(...r),keys:(...r)=>t.keys(...r),values:(...r)=>t.values(...r),has:(...r)=>t.has(...r),size:t.size,sort:()=>{t.sort()},[Symbol.iterator]:()=>t[Symbol.iterator]()}}function Ze(){let e=0;return()=>(++e).toString()}const zr=Ze()();function en(e){return e===zr}const De=Ze();function tn(e){const t=a=>c.markRaw(e[a]??Xr(a)),r=a=>{const s=c.markRaw(t(a)),f={id:De(),component:s,meta:{},state:{}};return{id:f.id,matched:f,matches:[f],name:a,query:qe(""),params:{},state:{},href:"/",hash:"",[Lt]:!0}},n=a=>{if(!a){o.value=null;return}const s=t(a);o.value={type:a,component:s}},o=c.ref(null);return{setRejection:n,rejection:o,getRejectionRoute:r}}class rn extends Error{constructor(){super("initialUrl must be set if window.location is unavailable")}}function nn(e){if(e)return e;if(je())return window.location.toString();throw new rn}function Vt(e){return!!e&&typeof e=="object"}const Le=!0;function on(e,t,r){if(Vt(e)&&t in e){const n=e[t];return typeof n=="string"?ee(n,r,Le):n}return ee(void 0,r,Le)}function jt(e,t){const r={};for(const[n,o]of Object.entries(e)){const a=on(t,n,o);r[n]=a}return r}function an(e,t,r){if(Vt(e)&&t in e){const n=e[t];return te(n,r,Le)}return te(void 0,r,Le)}const $t=(e,t)=>{const r={};for(const[n,o]of Object.entries(e)){const a=an(t,n,o);r[n]=a}return r};function sn(){const e=c.reactive(new Map),t=je()?s():null,r=f=>{e.set(f,!1),t==null||t.observe(f)},n=f=>{e.delete(f),t==null||t.unobserve(f)},o=()=>{t==null||t.disconnect()},a=f=>e.get(f)??!1;function s(){return new IntersectionObserver(f=>{f.forEach(l=>{e.set(l.target,l.isIntersecting)})})}return{observe:r,unobserve:n,disconnect:o,isElementVisible:a}}const Ht=Symbol("visibilityObserver");function cn(e){const t=c.inject(Ht);if(!t)throw new z;return c.watch(e,(n,o)=>{n&&t.observe(n),o&&t.unobserve(o)},{immediate:!0}),c.onUnmounted(()=>{e.value&&t.unobserve(e.value)}),{isElementVisible:c.computed(()=>e.value?t.isElementVisible(e.value):!1)}}class un extends Error{constructor(t){super(`Route not found: "${t}"`)}}function Ie(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fn(e,t){const r=Array.from(e.matchAll(t));if(r.length===0)return[e];let n=0;const o=r.reduce((s,f)=>{const l=Ie(e.slice(n,f.index));l.length&&s.push(l);const[u]=f;return s.push(u),n=f.index+u.length,s},[]),a=e.slice(n);return a&&o.push(a),o}function ln(e){const t=_t(e.path.value);return new RegExp(`^${t}$`,"i")}function hn(e){const t=new URLSearchParams(e.query.value);return Array.from(t.entries()).filter(([,r])=>!Me(r)).map(([r,n])=>{const o=_t(n);return new RegExp(`${Ie(r)}=${o}(&|$)`,"i")})}function _t(e){return fn(e,new RegExp(pn,"g")).map(t=>t.startsWith(G)?Ot(t):Ie(t)).join("")}function Ot(e){return[dn,mn].reduce((t,r)=>r(t),e)}const pn=`\\${G}\\??([\\w-_]+)\\${K}`,Te=`\\${G}\\?([\\w-_]+)\\${K}`,qt=`\\${G}([\\w-_]+)\\${K}`;function dn(e){return e.replace(new RegExp(Te,"g"),".*")}function Me(e){return new RegExp(Te,"g").test(e)}function mn(e){return e.replace(new RegExp(qt,"g"),".+")}function we(e){const[t]=Be(e,new RegExp(Te,"g")),[r]=Be(e,new RegExp(qt,"g"));return t??r}function Be(e,t){return Array.from(e.matchAll(t)).flatMap(([,...n])=>n.map(o=>J(o)?o:""))}function Zt(e,t,r){const n=It(t,r),[o]=Be(e,n);return o}function Dt(e,t){if(!t)return e;const{name:r,param:n,value:o}=t,a=It(e,r);return Be(e,a).reduce((f,l)=>l===void 0?f:f.replace(l,()=>te(o,n,r.startsWith("?"))),e)}function It(e,t){const r=[yn,gn,Ot].reduce((n,o)=>o(n,t),e);return new RegExp(r,"g")}function yn(e,t){if(!t.startsWith("?"))return e;const r=new RegExp(`\\${G}\\${t}\\${K}`,"g");return e.replace(r,"(.*)")}function gn(e,t){if(t.startsWith("?"))return e;const r=new RegExp(`\\${G}${t}\\${K}`,"g");return e.replace(r,"(.+)")}function Tt({protocol:e,host:t,pathname:r,search:n,searchParams:o,hash:a}){const s=new URL("https://localhost");e&&(s.protocol=e),t&&(s.host=t),r&&(s.pathname=r),o?s.search=new URLSearchParams(o).toString():n&&(s.search=n),a&&(s.hash=a);const f=s.toString().replace(/^https:\/\/localhost\/*/,"/");return Ve(f)}function Fe(...e){const t=new URLSearchParams;for(const r of e){const n=new URLSearchParams(r);for(const[o,a]of n.entries())t.append(o,a)}return t}function Rn(e,t={}){const{params:r={},query:n}=t,o=Pn(e.query,r),a=Fe(o,n),s=En(e.path,r),f=Pe(e.hash.value??t.hash).value,l=wn(e.host,r),{protocol:u,host:y}=O(l);return Tt({protocol:u,host:y,pathname:s,searchParams:a,hash:f})}function wn(e,t){const r=e.value&&!e.value.startsWith("http")?`https://${e.value}`:e.value;return Object.entries(e.params).reduce((n,[o,a])=>{const s=we(`${G}${o}${K}`);return s?Dt(n,{name:o,param:a,value:t[s]}):n},r)}function En(e,t){return Object.entries(e.params).reduce((r,[n,o])=>{const a=we(`${G}${n}${K}`);return a?Dt(r,{name:n,param:o,value:t[a]}):r},e.value)}function Pn(e,t){const r=new URLSearchParams(e.value);if(!e.value)return r;for(const[n,o]of Array.from(r.entries())){const a=we(o);if(!a)continue;const f=Me(o),l=f?`?${a}`:a,u=te(t[a],e.params[l],f),y=t[a]===void 0&&u==="";f&&y?r.delete(n,o):r.set(n,u)}return r}const bn=(e,t)=>{try{Je(e,t)}catch{return!1}return!0},Je=(e,t)=>{const{pathname:r,search:n}=O(t);return{...Sn(e.path,r),...vn(e.query,n)}};function Sn(e,t){const r={},n=decodeURIComponent(t);for(const[o,a]of Object.entries(e.params)){const s=o.startsWith("?"),f=s?o.slice(1):o,l=Zt(n,e.value,o),u=ee(l,a,s);r[f]=u}return r}function vn(e,t){const r={},n=new URLSearchParams(e.value),o=new URLSearchParams(t);for(const[a,s]of Array.from(n.entries())){const f=we(s);if(!f)continue;const u=Me(s),y=u?`?${f}`:f,S=o.get(a)??void 0,x=ee(S,e.params[y],u);r[f]=x}return r}function An(e,t={},r={}){const n=Rn(e,{params:t,query:r.query,hash:r.hash}),{search:o,hash:a}=O(n);return{id:e.id,matched:e.matched,matches:e.matches,name:e.name,query:qe(o),params:Je(e,n),state:jt(e.state,r.state),hash:a,href:n}}const kn=e=>"name"in e.matched&&!!e.matched.name,Un=(e,t)=>{const{pathname:r}=O(t);return ln(e).test(r)},Ln=(e,t)=>{const{search:r}=O(t);return hn(e).every(o=>o.test(r))},We=(e,t)=>{const{hash:r}=O(t),{value:n}=e.hash;return n===void 0||`#${n.toLowerCase()}`===r.toLowerCase()};function Bn(e){const{searchParams:t,pathname:r}=O(e),n=-1,o=1;return(a,s)=>{const f=Ft(a,t),l=Mt(a,r),u=Ft(s,t),y=Mt(s,r);return a.depth>s.depth?n:a.depth<s.depth?o:f+l>u+y?n:f+l<u+y?o:We(a,e)?n:We(s,e)?o:0}}function Mt(e,t){const r=Object.keys(e.path.params).filter(o=>o.startsWith("?")).map(o=>o),n=r.filter(o=>Zt(t,e.path.value,o)===void 0);return r.length-n.length}function Ft(e,t){const r=new URLSearchParams(t),n=new URLSearchParams(e.query.value),o=Array.from(n.keys()),a=o.filter(s=>!r.has(s));return o.length-a.length}const Cn=[kn,Un,Ln,We,bn];function xn(e,t){const r=Bn(t);return e.filter(n=>Cn.every(o=>o(n,t))).sort(r)}function Nn(e,t,r){const n=xn(e,t);if(!n.length)return;const[o]=n,{searchParams:a,hash:s}=O(t);return{id:o.id,matched:o.matched,matches:o.matches,name:o.name,query:qe(a),params:Je(o,t),state:jt(o.state,r),hash:s,href:Ve(t)}}function Jt(e,t){const r=typeof e=="string"?O(e):e,n=typeof t=="string"?O(t):t,o=r.searchParams??new URLSearchParams(r.search),a=n.searchParams??new URLSearchParams(n.search);return Tt({protocol:J(n.protocol)?n.protocol:r.protocol,host:J(n.host)?n.host:r.host,pathname:J(n.pathname)?n.pathname:r.pathname,searchParams:Fe(a,o),hash:J(n.hash)?n.hash:r.hash})}function Ge(e,t){const r=new RegExp(`\\${G}(\\??[\\w-_]+)\\${K}`,"g");return Array.from(e.matchAll(r)).reduce((o,[a,s])=>{const f=we(a);if(!f)return o;const l=Nr(t,f);return ce([f],o),o[s]=l,o},{})}function Ce(e,t){return{value:e,params:Ge(e,t)}}function Vn(e,t){return J(t)?e.map(r=>{const n=`${t}${r.path.value}`;return{...r,path:Ce(n,r.path.params)}}):e}class jn extends Error{constructor(t){super(`Invalid Name "${t}": Router does not support multiple routes with the same name. All name names must be unique.`)}}function $n(e){const t=e.map(({name:r})=>r);for(const r of t)if(ut(t,r)>1)throw new jn(r)}function Hn(e,t=[],r){const n=[...e,...t.map(o=>o.routes)].flat();return $n(n),Vn(n,r)}function _n(e={},t=[]){const r=new oe;return pe("onBeforeRouteEnter",e,t).forEach(n=>r.onBeforeRouteEnter.add(n)),pe("onBeforeRouteUpdate",e,t).forEach(n=>r.onBeforeRouteUpdate.add(n)),pe("onBeforeRouteLeave",e,t).forEach(n=>r.onBeforeRouteLeave.add(n)),pe("onAfterRouteEnter",e,t).forEach(n=>r.onAfterRouteEnter.add(n)),pe("onAfterRouteUpdate",e,t).forEach(n=>r.onAfterRouteUpdate.add(n)),pe("onAfterRouteLeave",e,t).forEach(n=>r.onAfterRouteLeave.add(n)),r}function pe(e,t,r){return[t[e],...r.map(o=>o[e])].flat().filter(o=>o!==void 0)}function Wt(e){return typeof e=="object"&&e!==null&&"then"in e}function Qe(e,t,{exact:r}={}){return qr(e)?t===void 0?!0:r?e.matched.name===t:e.matches.map(n=>n.name).includes(t):!1}function Ke(e,t){const r=Ee();function n(){if(!e)return;if(!Qe(r.route,e,t))throw new ct(e,r.route.name)}return c.watch(r.route,n,{immediate:!0,deep:!0}),r.route}function On(e,t,r){return c.defineComponent({name:"PropsWrapper",expose:[],setup(){const n=c.getCurrentInstance(),o=cr(),a=Ke();return()=>{const s=o.getProps(e.id,t,a);return s instanceof Error?"":Wt(s)?n!=null&&n.suspense?c.h(Zn,{component:r,props:s}):c.h(qn,{component:r,props:s}):c.h(r,s)}}})}const qn=c.defineComponent(e=>{const t=c.ref();return c.watch(()=>e.props,async r=>{t.value=await r},{immediate:!0,deep:!0}),()=>t.value instanceof Error?"":t.value?c.h(e.component,t.value):""},{props:["component","props"]}),Zn=c.defineComponent(async e=>{const t=c.ref();return t.value=await e.props,c.watch(()=>t.value,async r=>{t.value=await r},{deep:!0}),()=>t.value instanceof Error?"":t.value?c.h(e.component,t.value):""},{props:["component","props"]}),Gt=Symbol();function Ye(){return c.inject(Gt,0)}function Dn(){const e=c.inject(Qt);if(!e)throw new z;return e}const Xe=c.defineComponent({__name:"routerView",props:{name:{default:"default"}},setup(e){const t=Ke(),r=Or(),n=Ye(),{getRouteComponents:o}=Dn();c.provide(Gt,n+1);const a=c.computed(()=>{if(r.value)return r.value.component;const s=t.matches.at(n);return s?o(s)[e.name]:null});return(s,f)=>a.value?c.renderSlot(s.$slots,"default",c.normalizeProps(c.mergeProps({key:0},{route:c.unref(t),component:a.value,rejection:c.unref(r)})),()=>[(c.openBlock(),c.createBlock(c.resolveDynamicComponent(a.value)))]):c.createCommentVNode("",!0)}}),Qt=Symbol();function In(){const e=new Map;return{getRouteComponents:r=>{const n=e.get(r.id);if(n)return n;const o=Tn(r);return e.set(r.id,o),o}}}function Tn(e){return pt(e)?Kt(e,e.components):lt(e)?Kt(e,{default:e.component}):{default:Xe}}function Kt(e,t){return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,On(e,r,n)]))}function Mn(e,t,r=[]){const n=Hn(e,r,t==null?void 0:t.base),o=Yr();o.addGlobalRouteHooks(_n(t,r));const a=Ze(),s=to(),f=In(),l=sn(),u=Fr({mode:t==null?void 0:t.historyMode,listener:({location:v})=>{const N=ne(v);S(N,{state:v.state,replace:!0})}});function y(v,N={}){return Nn(n,v,N.state)}async function S(v,N={}){const Q=a();if(u.stopListening(),L(v)){u.update(v,N);return}const I=y(v,N)??U("NotFound"),q=yr(Q),X=await o.runBeforeRouteHooks({to:I,from:q});switch(X.status){case"ABORT":return;case"PUSH":u.update(v,N),await g(...X.to);return;case"REJECT":u.update(v,N),i(X.type);break;case"SUCCESS":u.update(v,N),i(null);break;default:throw new Error(`Switch is not exhaustive for before hook response status: ${JSON.stringify(X)}`)}const rt=Q;s.setProps(I).then(T=>{if(rt===Q)switch(T.status){case"SUCCESS":break;case"PUSH":g(...T.to);break;case"REJECT":i(T.type);break;default:const nt=T;throw new Error(`Switch is not exhaustive for prop store response status: ${JSON.stringify(nt)}`)}}),B(I);const M=await o.runAfterRouteHooks({to:I,from:q});switch(M.status){case"PUSH":await g(...M.to);break;case"REJECT":i(M.type);break;case"SUCCESS":break;default:const T=M;throw new Error(`Switch is not exhaustive for after hook response status: ${JSON.stringify(T)}`)}u.startListening()}const x=(v,N={},Q={})=>{const I=n.find(q=>q.name===v);if(!I)throw new un(String(v));return An(I,N,Q)},g=(v,N,Q)=>{if(Z(v)){const M={...N},T=Jt(v,{searchParams:M.query,hash:M.hash});return S(T,M)}if(typeof v=="string"){const{replace:M,...T}={...Q},nt={...N},ot=x(v,nt,T),po=$t({...ot.matched.state},{...ot.state,...T.state});return S(ot.href,{replace:M,state:po})}const{replace:I,...q}={...N},X=$t({...v.matched.state},{...v.state,...q.state}),rt=Jt(v.href,{searchParams:q.query,hash:q.hash});return S(rt,{replace:I,state:X})},d=(v,N,Q)=>{if(Z(v)){const q={...N,replace:!0};return g(v,q)}if(typeof v=="string"){const q={...Q,replace:!0},X={...N};return g(v,X,q)}const I={...N,replace:!0};return g(v,I)},R=v=>{i(v)},{setRejection:i,rejection:p,getRejectionRoute:U}=tn({...r.reduce((v,N)=>({...v,...N.rejections}),{}),...t==null?void 0:t.rejections}),w=U("NotFound"),{currentRoute:E,routerRoute:A,updateRoute:B}=Dr(w,g),m=nn(t==null?void 0:t.initialUrl),h=u.location.state,{host:P}=O(m),L=Mr(P);let C=!1;const{promise:V,resolve:$}=Promise.withResolvers();async function _(){if(C)return V;C=!0,await S(m,{replace:!0,state:h}),u.startListening(),$()}function D(){u.stopListening()}function yr(v){return en(v)?null:{...E}}function ho(v){v.component("RouterView",Xe),v.component("RouterLink",lr),v.provide(kt,p),v.provide(Nt,o),v.provide(sr,s),v.provide(Qt,f),v.provide(Ht,l),v.provide(it,gr),_()}const gr={route:A,resolve:x,find:y,push:g,replace:d,reject:R,refresh:u.refresh,forward:u.forward,back:u.back,go:u.go,install:ho,isExternal:L,onBeforeRouteEnter:o.onBeforeRouteEnter,onBeforeRouteUpdate:o.onBeforeRouteUpdate,onBeforeRouteLeave:o.onBeforeRouteLeave,onAfterRouteEnter:o.onAfterRouteEnter,onAfterRouteUpdate:o.onAfterRouteUpdate,onAfterRouteLeave:o.onAfterRouteLeave,prefetch:t==null?void 0:t.prefetch,start:_,stop:D};return gr}function ze(e,t){return{value:e,params:Ge(e,t)}}function Fn(e){return{routes:e.routes??[],rejections:e.rejections??{},...e}}function Yt(...e){return{get:(t,{invalid:r})=>{for(const n of e){const o=jr(t,n);if(o!==void 0)return o}throw r(`Value ${t} does not satisfy any of the possible values`)},set:(t,{invalid:r})=>{for(const n of e){const o=$r(t,n);if(o!==void 0)return o}throw r(`Value ${t} does not satisfy any of the possible values`)}}}function Jn(...e){const t=Yt(...e);return{get:(r,n)=>r.split(",").map(o=>t.get(o,n)),set:(r,n)=>{if(!Array.isArray(r))throw n.invalid("Expected an array");return r.map(o=>t.set(o,n)).join(",")}}}function Wn(...e){return{get:t=>{const r=t.split(",");return e.map((n,o)=>ee(r.at(o),n))},set:(t,{invalid:r})=>{if(!Array.isArray(t))throw r("Expected a tuple");if(t.length!==e.length)throw r(`Expected tuple with ${e.length} values but received ${t.length} values`);return e.map((n,o)=>te(t.at(o),n)).join(",")}}}function Xt(e,t){return{value:e,params:Ge(e,t)}}function Gn(e){return de(e)&&typeof e.hash=="string"}function zt(e){return e===void 0?Pe():Gn(e)?e:Pe(e)}function er(e){return e===void 0?"":e}function Qn(e){return de(e)&&typeof e.value=="string"}function tr(e){return e===void 0?Ce("",{}):Qn(e)?e:Ce(e,{})}function Kn(e){return de(e)&&typeof e.value=="string"}function rr(e){return e===void 0?ze("",{}):Kn(e)?e:ze(e,{})}function ae(e,t){const r=De(),n=er(e.name),o=tr(e.path),a=rr(e.query),s=zt(e.hash),f=e.meta??{},l=kr(e)?e.state:{},u=c.markRaw({id:r,meta:{},state:{},...e,props:t}),y={id:r,matched:u,matches:[u],name:n,path:o,query:a,hash:s,meta:f,state:l,depth:1,host:Xt("",{}),prefetch:e.prefetch},S=ft(e)?mt(e.parent,y):y;return ce(S.path.params,S.query.params),S}const xe={template:"<div>This is component</div>"},et=ae({name:"parentA",path:"/parentA/[paramA]"}),nr=ae({parent:et,name:"parentA.childA",path:"/childA/[?paramB]"}),Yn=ae({parent:et,name:"parentA.childB",path:"/childB/[paramD]",component:xe}),Xn=ae({parent:nr,name:"parentA.childA.grandChildA",path:"/[paramC]",component:xe});ae({name:"parentB",path:"/parentB",component:xe}),ae({name:"parentC",path:"/",component:xe});const zn="lazy",eo={components:!0,props:!1};function Ne(e){return["eager","lazy","intent"].includes(e)}function or({routerPrefetch:e,routePrefetch:t,linkPrefetch:r},n){const o=tt(r,n),a=tt(t,n),s=tt(e,n),f=[o,a,s,eo[n],zn].reduce((l,u)=>Ne(l)?l:l===!0&&Ne(u)?u:l===!0&&!Ne(u)?l:l===void 0?u:l,void 0);return Ne(f)?f:!1}function tt(e,t){return de(e)?e[t]:e}function ar(e){try{const t=e();return Wt(t)?t.catch(r=>r):t}catch(t){return t}}const sr=Symbol();function to(){const e=c.reactive(new Map),{push:t,replace:r,reject:n}=Ct(),o=(g,d,R)=>d.matches.filter(i=>or({...R,routePrefetch:i.prefetch},"props")===g).flatMap(i=>S(i)).reduce((i,{id:p,name:U,props:w})=>{if(!w)return i;const E=y(p,U,d),A=ar(()=>w(d,{push:t,replace:r,reject:n,parent:l(d,!0)}));return i[E]=A,i},{}),a=g=>{Object.entries(g).forEach(([d,R])=>{e.set(d,R)})},s=async g=>{const d=g.matches.flatMap(S),R=[],i=[];for(const{id:p,name:U,props:w}of d){if(!w)continue;const E=y(p,U,g);if(R.push(E),!e.has(E)){const A=ar(()=>w(g,{push:t,replace:r,reject:n,parent:l(g)}));e.set(E,A)}i.push((async()=>{const A=await e.get(E);if(A instanceof Error)throw A})())}x(R);try{return await Promise.all(i),{status:"SUCCESS"}}catch(p){if(p instanceof he||p instanceof Ue)return p.response;throw p}},f=(g,d,R)=>{const i=y(g,d,R);return e.get(i)};function l(g,d=!1){const R=g.matches.at(-2);if(R)return ht(R)?{name:R.name??"",get props(){return u(R,"default",g,d)}}:dt(R)?{name:R.name??"",props:new Proxy({},{get(i,p){return typeof p!="string"?Reflect.get(i,p):u(R,p,g,d)}})}:{name:R.name??"",props:void 0}}function u(g,d,R,i=!1){const p=f(g.id,d,R);if(i&&!p){const U=g.name??"unknown",w=R.name||"unknown";console.warn(`
|
|
2
|
-
Unable to access parent props "${
|
|
1
|
+
(function(k,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],c):(k=typeof globalThis<"u"?globalThis:k||self,c(k["@kitbag/router"]={},k.Vue))})(this,function(k,c){"use strict";var fo=Object.defineProperty;var lo=(k,c,Z)=>c in k?fo(k,c,{enumerable:!0,configurable:!0,writable:!0,value:Z}):k[c]=Z;var W=(k,c,Z)=>lo(k,typeof c!="symbol"?c+"":c,Z);function Z(e){return typeof e!="string"?!1:/^(https?:\/\/|\/).*/g.test(e)}function Ve(e){return Z(e)?e:`/${e}`}class nt extends Error{constructor(t){super(`Invalid Param "${t}": Router does not support multiple params by the same name. All param names must be unique.`)}}class ot extends Error{constructor(t){super(`Child property on meta for ${t} conflicts with the parent meta.`)}}class ee extends Error{constructor(){super("Router not installed")}}class at extends Error{constructor(t,r){super(`useRoute called with incorrect route. Given ${t}, expected ${r}`)}}const st=Symbol();function Ee(){const e=c.inject(st);if(!e)throw new ee;return e}function ce(e){return Array.isArray(e)?e:[e]}function ct(e,t){return e.filter(r=>t===r).length}function ie(...e){const t=e.flatMap(r=>Array.isArray(r)?r:Object.keys(r).map(yr));for(const r of t)if(ct(t,r)>1)throw new nt(r)}function yr(e){return e.startsWith("?")?e.slice(1):e}class G extends Error{}const z="[",K="]";function gr(e){return e!==String&&e!==Boolean&&e!==Number&&e!==Date}function Rr(e){return typeof e=="function"&&gr(e)}function be(e){return typeof e=="object"&&"get"in e&&typeof e.get=="function"&&"set"in e&&typeof e.set=="function"}function it(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function ut(e,t){return be(e)?{...e,defaultValue:t??e.defaultValue}:{get:r=>le(r,e),set:r=>te(r,e),defaultValue:t}}function wr(e){return be(e)&&e.defaultValue!==void 0}function Er(e,t){return ut(e,t)}function ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function M(e){return typeof e=="string"&&e.length>0}let b=null;async function br(){const{ZodSchema:e,ZodString:t,ZodBoolean:r,ZodDate:n,ZodNumber:o,ZodLiteral:a,ZodObject:s,ZodEnum:f,ZodNativeEnum:l,ZodArray:u,ZodTuple:y,ZodUnion:S,ZodDiscriminatedUnion:x,ZodRecord:g,ZodMap:h,ZodSet:R,ZodIntersection:i,ZodPromise:d,ZodFunction:U}=await import("zod");return{ZodSchema:e,ZodString:t,ZodBoolean:r,ZodDate:n,ZodNumber:o,ZodLiteral:a,ZodObject:s,ZodEnum:f,ZodNativeEnum:l,ZodArray:u,ZodTuple:y,ZodUnion:S,ZodDiscriminatedUnion:x,ZodRecord:g,ZodMap:h,ZodSet:R,ZodIntersection:i,ZodPromise:d,ZodFunction:U}}function Pr(e){return Object.values(e).some(t=>Object.values(t.host.params).some(r=>je(r))||Object.values(t.path.params).some(r=>je(r))||Object.values(t.query.params).some(r=>je(r)))}function je(e){return typeof e=="object"&&"parse"in e&&typeof e.parse=="function"}async function Sr(){try{b=await br()}catch{throw new Error("Failed to initialize Zod")}}function lt(e){return b?e instanceof b.ZodSchema:!1}function dt(e){return{get:(t,{invalid:r})=>{try{return Ze(t,e)}catch{throw r()}},set:(t,{invalid:r})=>{try{return $e(t,e)}catch{throw r()}}}}const vr=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;function ue(e,t){if(typeof t=="string"&&vr.test(t)){const r=new Date(t);return isNaN(r.getTime())?t:r}return t}function fe(e){for(const t of e)try{return t()}catch{continue}throw new Error("All functions failed")}function Pe(e,t){return b!=null&&b.ZodString&&e instanceof b.ZodString?1:b!=null&&b.ZodString&&t instanceof b.ZodString?-1:0}function Ze(e,t){if(!b)throw new Error("Zod is not initialized");if(t instanceof b.ZodString)return t.parse(e);if(t instanceof b.ZodBoolean)return t.parse(!!e);if(t instanceof b.ZodDate)return t.parse(new Date(e));if(t instanceof b.ZodNumber)return t.parse(Number(e));if(t instanceof b.ZodLiteral)return fe([()=>t.parse(Number(e)),()=>t.parse(!!e),()=>t.parse(e)]);if(t instanceof b.ZodObject)return t.parse(JSON.parse(e,ue));if(t instanceof b.ZodEnum)return t.parse(e);if(t instanceof b.ZodNativeEnum)return fe([()=>t.parse(Number(e)),()=>t.parse(e)]);if(t instanceof b.ZodArray||t instanceof b.ZodTuple)return t.parse(JSON.parse(e,ue));if(t instanceof b.ZodUnion){const r=Array.from(t._def.options).sort(Pe).map(n=>()=>Ze(e,n));return fe(r)}if(t instanceof b.ZodDiscriminatedUnion){const r=Array.from(t.options).sort(Pe).map(n=>()=>Ze(e,n));return fe(r)}if(t instanceof b.ZodRecord)return t.parse(JSON.parse(e,ue));if(t instanceof b.ZodMap)return t.parse(new Map(JSON.parse(e,ue)));if(t instanceof b.ZodSet)return t.parse(new Set(JSON.parse(e,ue)));if(t instanceof b.ZodIntersection)throw new Error("Intersection schemas are not supported");if(t instanceof b.ZodPromise)throw new Error("Promise schemas are not supported");if(t instanceof b.ZodFunction)throw new Error("Function schemas are not supported");return t.parse(e)}function $e(e,t){if(!b)throw new Error("Zod is not initialized");if(t instanceof b.ZodString)return t.parse(e);if(t instanceof b.ZodBoolean)return t.parse(e).toString();if(t instanceof b.ZodDate)return t.parse(e).toISOString();if(t instanceof b.ZodNumber)return t.parse(Number(e)).toString();if(t instanceof b.ZodLiteral)return t.parse(e).toString();if(t instanceof b.ZodObject)return JSON.stringify(t.parse(e));if(t instanceof b.ZodEnum)return t.parse(e);if(t instanceof b.ZodNativeEnum)return t.parse(e).toString();if(t instanceof b.ZodArray||t instanceof b.ZodTuple)return JSON.stringify(t.parse(e));if(t instanceof b.ZodUnion){const r=Array.from(t._def.options).sort(Pe).map(n=>()=>$e(e,n));return fe(r)}if(t instanceof b.ZodDiscriminatedUnion){const r=Array.from(t.options).sort(Pe).map(n=>()=>$e(e,n));return fe(r)}if(t instanceof b.ZodRecord)return JSON.stringify(t.parse(e));if(t instanceof b.ZodMap){const r=t.parse(e);return JSON.stringify(Array.from(r.entries()))}if(t instanceof b.ZodSet){const r=t.parse(e);return JSON.stringify(Array.from(r.values()))}if(t instanceof b.ZodIntersection)throw new Error("Intersection schemas are not supported");if(t instanceof b.ZodPromise)throw new Error("Promise schemas are not supported");if(t instanceof b.ZodFunction)throw new Error("Function schemas are not supported");return JSON.stringify(t.parse(e))}function Ar(e,t){return e[t]??String}const j={invalid:e=>{throw new G(e)}},ht={get:e=>e,set:(e,{invalid:t})=>{if(typeof e!="string")throw t();return e}},Oe={get:(e,{invalid:t})=>{if(e==="true")return!0;if(e==="false")return!1;throw t()},set:(e,{invalid:t})=>{if(typeof e!="boolean")throw t();return e.toString()}},qe={get:(e,{invalid:t})=>{const r=Number(e);if(isNaN(r))throw t();return r},set:(e,{invalid:t})=>{if(typeof e!="number")throw t();return e.toString()}},pt={get:(e,{invalid:t})=>{const r=new Date(e);if(isNaN(r.getTime()))throw t();return r},set:(e,{invalid:t})=>{if(typeof e!="object"||!(e instanceof Date))throw t();return e.toISOString()}},mt={get:(e,{invalid:t})=>{try{return JSON.parse(e)}catch{throw t()}},set:(e,{invalid:t})=>{try{return JSON.stringify(e)}catch{throw t()}}};function kr(e,t){switch(typeof t){case"string":return ht.get(e,j)===t;case"number":return qe.get(e,j)===t;case"boolean":return Oe.get(e,j)===t;default:return!1}}function le(e,t,r=!1){if(e===void 0||!M(e)){if(wr(t))return t.defaultValue;if(r)return;throw new G}if(t===String)return ht.get(e,j);if(t===Boolean)return Oe.get(e,j);if(t===Number)return qe.get(e,j);if(t===Date)return pt.get(e,j);if(t===JSON)return mt.get(e,j);if(Rr(t))return t(e,j);if(be(t))return t.get(e,j);if(t instanceof RegExp){if(t.test(e))return e;throw new G}if(it(t)){if(kr(e,t))return t;throw new G}return lt(t)?dt(t).get(e,j):e}function Ur(e,t,r=!1){try{return le(e,t,r)}catch(n){if(n instanceof G)return;throw n}}function Lr(e,t,r=!1){try{return te(e,t,r)}catch(n){if(n instanceof G)return;throw n}}function te(e,t,r=!1){if(e===void 0){if(r)return"";throw new G}if(t===Boolean)return Oe.set(e,j);if(t===Number)return qe.set(e,j);if(t===Date)return pt.set(e,j);if(t===JSON)return mt.set(e,j);if(be(t))return t.set(e,j);if(it(t)){if(t!==e)throw new G;return e.toString()}if(lt(t))return dt(t).set(e,j);try{return e.toString()}catch{throw new G}}function _e(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Br(e,t){const r=Array.from(e.matchAll(t));if(r.length===0)return[e];let n=0;const o=r.reduce((s,f)=>{const l=_e(e.slice(n,f.index));l.length&&s.push(l);const[u]=f;return s.push(u),n=f.index+u.length,s},[]),a=e.slice(n);return a&&o.push(a),o}function Cr(e){const t=yt(e.path.value);return new RegExp(`^${t}$`,"i")}function xr(e){const t=new URLSearchParams(e.query.value);return Array.from(t.entries()).filter(([,r])=>!wt(r)).map(([r,n])=>{const o=yt(n);return new RegExp(`${_e(r)}=${o}(&|$)`,"i")})}function yt(e){return Br(e,new RegExp(Nr,"g")).map(t=>t.startsWith(z)?gt(t):_e(t)).join("")}function gt(e){return[Vr,jr].reduce((t,r)=>r(t),e)}const Nr=`\\${z}\\??([\\w-_]+)\\${K}`,He=`\\${z}\\?([\\w-_]+)\\${K}`,Rt=`\\${z}([\\w-_]+)\\${K}`;function Vr(e){return e.replace(new RegExp(He,"g"),".*")}function wt(e){return new RegExp(He,"g").test(e)}function jr(e){return e.replace(new RegExp(Rt,"g"),".+")}function Se(e){const[t]=ve(e,new RegExp(He,"g")),[r]=ve(e,new RegExp(Rt,"g"));return t??r}function ve(e,t){return Array.from(e.matchAll(t)).flatMap(([,...n])=>n.map(o=>M(o)?o:""))}function Zr(e="",t={}){if(!M(e))return{};const r=new RegExp(`\\${z}(\\??[\\w-_]+)\\${K}`,"g");return Array.from(e.matchAll(r)).reduce((o,[a,s])=>{const f=Se(a);if(!f)return o;const l=Ar(t,f);return ie([f],o),o[s]=l,o},{})}function $r(e){return ft(e)&&typeof e.value=="string"}function re(e){return e===void 0?F():$r(e)?e:F(e,{})}function F(e,t){return{value:e??"",params:Zr(e,t)}}function Et(e,t){ie(e.params,t.params);const r=`${e.value}${t.value}`;return F(r,{...e.params,...t.params})}function Or(e,t){return Et(e,t)}function qr(e,t){return _r(e,t),{...e,...t}}function _r(e,t){const r=Object.keys(e).find(n=>n in t&&typeof t[n]!=typeof e[n]);if(r)throw new ot(r)}function Hr(e,t){ie(e.params,t.params);const r=[e.value,t.value].filter(M).join("&");return F(r,{...e.params,...t.params})}function Ir(e,t){return ie(e,t),{...e,...t}}function bt(e){return"parent"in e&&!!e.parent}function Pt(e){return"component"in e&&!!e.component}function St(e){return"props"in e&&typeof e.props=="function"}function vt(e){return"components"in e&&!!e.components}function At(e){return"props"in e&&typeof e.props=="object"}function kt(e,t){return{...t,path:Et(e.path,t.path),query:Hr(e.query,t.query),meta:qr(e.meta,t.meta),state:Ir(e.state,t.state),hash:Or(e.hash,t.hash),matches:[...e.matches,t.matched],host:e.host,depth:e.depth+1}}function Ie(){return typeof window<"u"&&typeof window.document<"u"}function De(e){const t=new URLSearchParams(e);return{get:(...r)=>t.get(...r),getAll:(...r)=>t.getAll(...r),set:(...r)=>{t.set(...r)},append:(...r)=>{t.append(...r)},delete:(...r)=>{t.delete(...r)},toString:(...r)=>t.toString(...r),forEach:(...r)=>{t.forEach(...r)},entries:(...r)=>t.entries(...r),keys:(...r)=>t.keys(...r),values:(...r)=>t.values(...r),has:(...r)=>t.has(...r),size:t.size,sort:()=>{t.sort()},[Symbol.iterator]:()=>t[Symbol.iterator]()}}function Te(){let e=0;return()=>(++e).toString()}const Dr=Te()();function Tr(e){return e===Dr}const Me=Te();function Ut(e){return e===void 0?"":e}function ne(e,t){const r=Me(),n=Ut(e.name),o=re(e.path),a=re(e.query),s=re(e.hash),f=e.meta??{},l=e.state??{},u=c.markRaw({id:r,meta:f,state:l,...e,props:t}),y={id:r,matched:u,matches:[u],name:n,path:o,query:a,hash:s,meta:f,state:l,depth:1,host:F(),prefetch:e.prefetch},S=bt(e)?kt(e.parent,y):y;return ie(S.path.params,S.query.params,S.hash.params),S}const Ae={template:"<div>This is component</div>"},Fe=ne({name:"parentA",path:"/parentA/[paramA]"}),Lt=ne({parent:Fe,name:"parentA.childA",path:"/childA/[?paramB]"}),Mr=ne({parent:Fe,name:"parentA.childB",path:"/childB/[paramD]",component:Ae}),Fr=ne({parent:Lt,name:"parentA.childA.grandChildA",path:"/[paramC]",component:Ae});ne({name:"parentB",path:"/parentB",component:Ae}),ne({name:"parentC",path:"/",component:Ae});const Jr="lazy",Wr={components:!0,props:!1};function ke(e){return["eager","lazy","intent"].includes(e)}function Bt({routerPrefetch:e,routePrefetch:t,linkPrefetch:r},n){const o=Je(r,n),a=Je(t,n),s=Je(e,n),f=[o,a,s,Wr[n],Jr].reduce((l,u)=>ke(l)?l:l===!0&&ke(u)?u:l===!0&&!ke(u)?l:l===void 0?u:l,void 0);return ke(f)?f:!1}function Je(e,t){return ft(e)?e[t]:e}class Ct extends Error{constructor(){super("Uncaught CallbackContextAbortError");W(this,"response");this.response={status:"ABORT"}}}class de extends Error{constructor(r){super("Uncaught CallbackContextPushError");W(this,"response");this.response={status:"PUSH",to:r}}}class Ue extends Error{constructor(r){super("Uncaught CallbackContextRejectionError");W(this,"response");this.response={status:"REJECT",type:r}}}function xt(){return{reject:o=>{throw new Ue(o)},push:(...o)=>{throw new de(o)},replace:(o,a,s)=>{if(Z(o)){const u=a??{};throw new de([o,{...u,replace:!0}])}const f=a,l=s??{};throw new de([o,f,{...l,replace:!0}])},abort:()=>{throw new Ct}}}function Nt(e){return typeof e=="object"&&e!==null&&"then"in e}function Vt(e){try{const t=e();return Nt(t)?t.catch(r=>r):t}catch(t){return t}}const jt=Symbol();function Gr(){const e=c.reactive(new Map),{push:t,replace:r,reject:n}=xt(),o=(g,h,R)=>h.matches.filter(i=>Bt({...R,routePrefetch:i.prefetch},"props")===g).flatMap(i=>S(i)).reduce((i,{id:d,name:U,props:w})=>{if(!w)return i;const E=y(d,U,h),A=Vt(()=>w(h,{push:t,replace:r,reject:n,parent:l(h,!0)}));return i[E]=A,i},{}),a=g=>{Object.entries(g).forEach(([h,R])=>{e.set(h,R)})},s=async g=>{const h=g.matches.flatMap(S),R=[],i=[];for(const{id:d,name:U,props:w}of h){if(!w)continue;const E=y(d,U,g);if(R.push(E),!e.has(E)){const A=Vt(()=>w(g,{push:t,replace:r,reject:n,parent:l(g)}));e.set(E,A)}i.push((async()=>{const A=await e.get(E);if(A instanceof Error)throw A})())}x(R);try{return await Promise.all(i),{status:"SUCCESS"}}catch(d){if(d instanceof de||d instanceof Ue)return d.response;throw d}},f=(g,h,R)=>{const i=y(g,h,R);return e.get(i)};function l(g,h=!1){const R=g.matches.at(-2);if(R)return St(R)?{name:R.name??"",get props(){return u(R,"default",g,h)}}:At(R)?{name:R.name??"",props:new Proxy({},{get(i,d){return typeof d!="string"?Reflect.get(i,d):u(R,d,g,h)}})}:{name:R.name??"",props:void 0}}function u(g,h,R,i=!1){const d=f(g.id,h,R);if(i&&!d){const U=g.name??"unknown",w=R.name||"unknown";console.warn(`
|
|
2
|
+
Unable to access parent props "${h}" from route "${U}" while prefetching props for route "${w}".
|
|
3
3
|
This may occur if the parent route's props were not also prefetched.
|
|
4
|
-
`)}return p}function y(g,d,R){return[g,d,R.id,JSON.stringify(R.params)].join("-")}function S(g){return ht(g)?[{id:g.id,name:"default",props:g.props}]:dt(g)?Object.entries(g.props).map(([d,R])=>({id:g.id,name:d,props:R})):[]}function x(g){for(const d of e.keys())g.includes(d)||e.delete(d)}return{getPrefetchProps:o,setPrefetchProps:a,getProps:f,setProps:s}}function cr(){const e=c.inject(sr);if(!e)throw new z;return e}const ro=c.defineAsyncComponent(()=>new Promise(e=>{e({default:{template:"foo"}})}));function ir(e){return e.name===ro.name&&"__asyncLoader"in e}function ur(e,t,r){c.watch(e,(n,o)=>{n&&n.addEventListener(t,r),o&&o.removeEventListener(t,r)},{immediate:!0}),c.onUnmounted(()=>{e.value&&e.value.removeEventListener(t,r)})}function no(e){const t=new Map,r=c.ref(),{getPrefetchProps:n,setPrefetchProps:o}=cr(),{isElementVisible:a}=cn(r),s=()=>{const u=Array.from(t.values()).reduce((y,S)=>(Object.assign(y,S),y),{});o(u)};c.watch(()=>c.toValue(e),({route:u,...y})=>{t.clear(),u&&l("eager",u,y)},{immediate:!0}),c.watch(a,u=>{const{route:y,...S}=c.toValue(e);!y||!u||l("lazy",y,S)},{immediate:!0}),ur(r,"focusin",f),ur(r,"mouseover",f);function f(){const{route:u,...y}=c.toValue(e);u&&l("intent",u,y)}function l(u,y,S){oo(u,y,S),t.has(u)||t.set(u,n(u,y,S))}return{element:r,commit:s}}function oo(e,t,r){t.matches.forEach(n=>{or({...r,routePrefetch:n.prefetch},"components")===e&&(lt(n)&&ir(n.component)&&n.component.__asyncLoader(),pt(n)&&Object.values(n.components).forEach(a=>{ir(a)&&a.__asyncLoader()}))})}function fr(e,t={},r={}){const n=Ee(),o=c.computed(()=>{const d=c.toValue(e);return typeof d!="string"?d:Z(d)?n.find(d,c.toValue(r)):n.resolve(d,c.toValue(t),c.toValue(r))}),a=c.computed(()=>{if(o.value)return o.value.href;const d=c.toValue(e);if(Z(d))return d;console.error(new Error("Failed to resolve route in RouterLink."))}),s=c.computed(()=>Qe(n.route)&&n.route.matches.some(d=>{var R;return d.id===((R=o.value)==null?void 0:R.id)})),f=c.computed(()=>{var d;return n.route.id===((d=o.value)==null?void 0:d.id)}),l=c.computed(()=>!!a.value&&n.isExternal(a.value)),u=c.computed(()=>{const d=c.toValue(e);return typeof d!="string"||Z(d)?c.toValue(t):c.toValue(r)}),{element:y,commit:S}=no(()=>({route:o.value,routerPrefetch:n.prefetch,linkPrefetch:u.value.prefetch})),x=d=>{S();const R={replace:(d==null?void 0:d.replace)??u.value.replace,query:Fe(u.value.query,d==null?void 0:d.query),hash:(d==null?void 0:d.hash)??u.value.hash,state:{...u.value.state,...d==null?void 0:d.state}},i=c.toValue(e);return Z(i)||typeof i=="object"?n.push(i,R):n.push(i,c.toValue(t),R)};return{element:y,route:o,href:a,isMatch:s,isExactMatch:f,isExternal:l,push:x,replace:d=>x({...d,replace:!0})}}const ao=["href"],lr=c.defineComponent({__name:"routerLink",props:{to:{},prefetch:{type:[Boolean,String,Object],default:void 0},query:{},hash:{},replace:{type:Boolean},state:{}},setup(e){const t=e,r=Ee(),n=c.computed(()=>x(t.to)),o=c.computed(()=>g(t.to)),a=c.computed(()=>{const{to:R,...i}=t;return i}),{element:s,isMatch:f,isExactMatch:l,isExternal:u,push:y}=fr(()=>typeof t.to=="function"?t.to(r.resolve):t.to,a),S=c.computed(()=>({"router-link--match":f.value,"router-link--exact-match":l.value}));function x(R){if(typeof R=="function"){const i=R(r.resolve);return x(i)}return Z(R)?r.find(R):R}function g(R){if(typeof R=="function"){const i=R(r.resolve);return g(i)}return Z(R)?R:R==null?void 0:R.href}function d(R){R.preventDefault(),y()}return(R,i)=>(c.openBlock(),c.createElementBlock("a",{ref_key:"element",ref:s,href:o.value,class:c.normalizeClass(["router-link",S.value]),onClick:d},[c.renderSlot(R.$slots,"default",c.normalizeProps(c.guardReactiveProps({route:n.value,isMatch:c.unref(f),isExactMatch:c.unref(l),isExternal:c.unref(u)})))],10,ao))}});function hr(){const e=c.inject(Nt);if(!e)throw new z;return e}function pr(e){return t=>{const r=Ye(),o=hr().addComponentBeforeRouteHook({lifecycle:e,hook:t,depth:r-1});return c.onUnmounted(o),o}}function dr(e){return t=>{const r=Ye(),o=hr().addComponentAfterRouteHook({lifecycle:e,hook:t,depth:r-1});return c.onUnmounted(o),o}}const so=pr("onBeforeRouteLeave"),co=pr("onBeforeRouteUpdate"),io=dr("onAfterRouteLeave"),uo=dr("onAfterRouteUpdate");function fo(e){return de(e)&&typeof e.value=="string"}function mr(e){return fo(e)?e:Xt(e,{})}function lo(e){const t=De(),r=er(e.name),n=tr(e.path),o=rr(e.query),a=zt(e.hash),s=e.meta??{},f=Ar(e)?mr(e.host):mr(""),l=c.markRaw({id:t,meta:{},state:{},...e}),u={id:t,matched:l,matches:[l],name:r,host:f,path:n,query:o,hash:a,meta:s,depth:1,state:{}},y=ft(e)?mt(e.parent,u):u;return ce(y.path.params,y.query.params,y.host.params),y}k.DuplicateParamsError=at,k.MetaPropertyConflict=st,k.RouterLink=lr,k.RouterNotInstalledError=z,k.RouterView=Xe,k.UseRouteInvalidError=ct,k.arrayOf=Jn,k.asUrl=Ve,k.createExternalRoute=lo,k.createParam=Pt,k.createRoute=ae,k.createRouter=Mn,k.createRouterPlugin=Fn,k.isRoute=Qe,k.isUrl=Z,k.onAfterRouteLeave=io,k.onAfterRouteUpdate=uo,k.onBeforeRouteLeave=so,k.onBeforeRouteUpdate=co,k.path=Ce,k.query=ze,k.tupleOf=Wn,k.unionOf=Yt,k.useLink=fr,k.useRoute=Ke,k.useRouter=Ee,k.withDefault=Cr,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
|
4
|
+
`)}return d}function y(g,h,R){return[g,h,R.id,JSON.stringify(R.params)].join("-")}function S(g){return St(g)?[{id:g.id,name:"default",props:g.props}]:At(g)?Object.entries(g.props).map(([h,R])=>({id:g.id,name:h,props:R})):[]}function x(g){for(const h of e.keys())g.includes(h)||e.delete(h)}return{getPrefetchProps:o,setPrefetchProps:a,getProps:f,setProps:s}}function Zt(){const e=c.inject(jt);if(!e)throw new ee;return e}const zr=c.defineAsyncComponent(()=>new Promise(e=>{e({default:{template:"foo"}})}));function $t(e){return e.name===zr.name&&"__asyncLoader"in e}const Ot=Symbol("visibilityObserver");function Qr(e){const t=c.inject(Ot);if(!t)throw new ee;return c.watch(e,(n,o)=>{n&&t.observe(n),o&&t.unobserve(o)},{immediate:!0}),c.onUnmounted(()=>{e.value&&t.unobserve(e.value)}),{isElementVisible:c.computed(()=>e.value?t.isElementVisible(e.value):!1)}}function qt(e,t,r){c.watch(e,(n,o)=>{n&&n.addEventListener(t,r),o&&o.removeEventListener(t,r)},{immediate:!0}),c.onUnmounted(()=>{e.value&&e.value.removeEventListener(t,r)})}function Kr(e){const t=new Map,r=c.ref(),{getPrefetchProps:n,setPrefetchProps:o}=Zt(),{isElementVisible:a}=Qr(r),s=()=>{const u=Array.from(t.values()).reduce((y,S)=>(Object.assign(y,S),y),{});o(u)};c.watch(()=>c.toValue(e),({route:u,...y})=>{t.clear(),u&&l("eager",u,y)},{immediate:!0}),c.watch(a,u=>{const{route:y,...S}=c.toValue(e);!y||!u||l("lazy",y,S)},{immediate:!0}),qt(r,"focusin",f),qt(r,"mouseover",f);function f(){const{route:u,...y}=c.toValue(e);u&&l("intent",u,y)}function l(u,y,S){Yr(u,y,S),t.has(u)||t.set(u,n(u,y,S))}return{element:r,commit:s}}function Yr(e,t,r){t.matches.forEach(n=>{Bt({...r,routePrefetch:n.prefetch},"components")===e&&(Pt(n)&&$t(n.component)&&n.component.__asyncLoader(),vt(n)&&Object.values(n.components).forEach(a=>{$t(a)&&a.__asyncLoader()}))})}const _t=Symbol("isRouterRouteSymbol");function Xr(e){return typeof e=="object"&&e!==null&&_t in e}function en(e,t){function r(i,d,U){if(typeof i=="object"){const E={...e.params,...i};return t(e.name,E,d)}const w={...e.params,[i]:d};return t(e.name,w,U)}const n=(...i)=>{const d=new URLSearchParams(e.query);d.set(...i),r({},{query:d})},o=(...i)=>{const d=new URLSearchParams(e.query);d.append(...i),r({},{query:d})},a=(...i)=>{const d=new URLSearchParams(e.query);d.delete(...i),r({},{query:d})},{id:s,matched:f,matches:l,name:u,hash:y,href:S}=c.toRefs(e),x=c.computed({get(){return new Proxy(e.params,{set(i,d,U){return r(d,U),!0}})},set(i){r(i)}}),g=c.computed({get(){return new Proxy(e.query,{get(i,d,U){switch(d){case"append":return o;case"set":return n;case"delete":return a;default:return Reflect.get(i,d,U)}}})},set(i){r({},{query:i})}}),h=c.computed({get(){return new Proxy(e.state,{set(i,d,U){return r({},{state:{...e.state,[d]:U}}),!0}})},set(i){r({},{state:i})}});return c.reactive({id:s,matched:f,matches:l,state:h,query:g,hash:y,params:x,name:u,href:S,update:r,[_t]:!0})}function We(e,t,{exact:r}={}){return Xr(e)?t===void 0?!0:r?e.matched.name===t:e.matches.map(n=>n.name).includes(t):!1}function Ge(...e){const t=new URLSearchParams;for(const r of e){const n=new URLSearchParams(r);for(const[o,a]of n.entries())t.append(o,a)}return t}function Ht(e,t={},r={}){const n=Ee(),o=c.computed(()=>{const h=c.toValue(e);return typeof h!="string"?h:Z(h)?n.find(h,c.toValue(r)):n.resolve(h,c.toValue(t),c.toValue(r))}),a=c.computed(()=>{if(o.value)return o.value.href;const h=c.toValue(e);if(Z(h))return h;console.error(new Error("Failed to resolve route in RouterLink."))}),s=c.computed(()=>We(n.route)&&n.route.matches.some(h=>{var R;return h.id===((R=o.value)==null?void 0:R.id)})),f=c.computed(()=>{var h;return n.route.id===((h=o.value)==null?void 0:h.id)}),l=c.computed(()=>!!a.value&&n.isExternal(a.value)),u=c.computed(()=>{const h=c.toValue(e);return typeof h!="string"||Z(h)?c.toValue(t):c.toValue(r)}),{element:y,commit:S}=Kr(()=>({route:o.value,routerPrefetch:n.prefetch,linkPrefetch:u.value.prefetch})),x=h=>{S();const R={replace:(h==null?void 0:h.replace)??u.value.replace,query:Ge(u.value.query,h==null?void 0:h.query),hash:(h==null?void 0:h.hash)??u.value.hash,state:{...u.value.state,...h==null?void 0:h.state}},i=c.toValue(e);return Z(i)||typeof i=="object"?n.push(i,R):n.push(i,c.toValue(t),R)};return{element:y,route:o,href:a,isMatch:s,isExactMatch:f,isExternal:l,push:x,replace:h=>x({...h,replace:!0})}}const tn=["href"],It=c.defineComponent({__name:"routerLink",props:{to:{},prefetch:{type:[Boolean,String,Object],default:void 0},query:{},hash:{},replace:{type:Boolean},state:{}},setup(e){const t=e,r=Ee(),n=c.computed(()=>x(t.to)),o=c.computed(()=>g(t.to)),a=c.computed(()=>{const{to:R,...i}=t;return i}),{element:s,isMatch:f,isExactMatch:l,isExternal:u,push:y}=Ht(()=>typeof t.to=="function"?t.to(r.resolve):t.to,a),S=c.computed(()=>({"router-link--match":f.value,"router-link--exact-match":l.value}));function x(R){if(typeof R=="function"){const i=R(r.resolve);return x(i)}return Z(R)?r.find(R):R}function g(R){if(typeof R=="function"){const i=R(r.resolve);return g(i)}return Z(R)?R:R==null?void 0:R.href}function h(R){R.preventDefault(),y()}return(R,i)=>(c.openBlock(),c.createElementBlock("a",{ref_key:"element",ref:s,href:o.value,class:c.normalizeClass(["router-link",S.value]),onClick:h},[c.renderSlot(R.$slots,"default",c.normalizeProps(c.guardReactiveProps({route:n.value,isMatch:c.unref(f),isExactMatch:c.unref(l),isExternal:c.unref(u)})))],10,tn))}}),Dt=Symbol();function rn(){const e=c.inject(Dt);if(!e)throw new ee;return e}function ze(e,t){const r=Ee();function n(){if(!e)return;if(!We(r.route,e,t))throw new at(e,r.route.name)}return c.watch(r.route,n,{immediate:!0,deep:!0}),r.route}const Tt=Symbol();function Qe(){return c.inject(Tt,0)}function nn(e,t,r){return c.defineComponent({name:"PropsWrapper",expose:[],setup(){const n=c.getCurrentInstance(),o=Zt(),a=ze();return()=>{const s=o.getProps(e.id,t,a);return s instanceof Error?"":Nt(s)?n!=null&&n.suspense?c.h(an,{component:r,props:s}):c.h(on,{component:r,props:s}):c.h(r,s)}}})}const on=c.defineComponent(e=>{const t=c.ref();return c.watch(()=>e.props,async r=>{t.value=await r},{immediate:!0,deep:!0}),()=>t.value instanceof Error?"":t.value?c.h(e.component,t.value):""},{props:["component","props"]}),an=c.defineComponent(async e=>{const t=c.ref();return t.value=await e.props,c.watch(()=>t.value,async r=>{t.value=await r},{deep:!0}),()=>t.value instanceof Error?"":t.value?c.h(e.component,t.value):""},{props:["component","props"]}),Mt=Symbol();function sn(){const e=new Map;return{getRouteComponents:r=>{const n=e.get(r.id);if(n)return n;const o=cn(r);return e.set(r.id,o),o}}}function cn(e){return vt(e)?Ft(e,e.components):Pt(e)?Ft(e,{default:e.component}):{default:Ke}}function Ft(e,t){return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,nn(e,r,n)]))}function un(){const e=c.inject(Mt);if(!e)throw new ee;return e}const Ke=c.defineComponent({__name:"routerView",props:{name:{default:"default"}},setup(e){const t=ze(),r=rn(),n=Qe(),{getRouteComponents:o}=un();c.provide(Tt,n+1);const a=c.computed(()=>{if(r.value)return r.value.component;const s=t.matches.at(n);return s?o(s)[e.name]:null});return(s,f)=>a.value?c.renderSlot(s.$slots,"default",c.normalizeProps(c.mergeProps({key:0},{route:c.unref(t),component:a.value,rejection:c.unref(r)})),()=>[(c.openBlock(),c.createBlock(c.resolveDynamicComponent(a.value)))]):c.createCommentVNode("",!0)}});class oe{constructor(){W(this,"onBeforeRouteEnter",new Set);W(this,"onBeforeRouteUpdate",new Set);W(this,"onBeforeRouteLeave",new Set);W(this,"onAfterRouteEnter",new Set);W(this,"onAfterRouteUpdate",new Set);W(this,"onAfterRouteLeave",new Set)}}const ye=(e,t,r)=>{var a,s;const n=e.matches,o=(t==null?void 0:t.matches)??[];return((a=n.at(r))==null?void 0:a.id)!==((s=o.at(r))==null?void 0:s.id)},ge=(e,t,r)=>{var a,s;const n=e.matches,o=(t==null?void 0:t.matches)??[];return((a=n.at(r))==null?void 0:a.id)!==((s=o.at(r))==null?void 0:s.id)},Re=(e,t,r)=>{var n,o;return((n=e.matches.at(r))==null?void 0:n.id)===((o=t==null?void 0:t.matches.at(r))==null?void 0:o.id)};function Jt(e){switch(e){case"onBeforeRouteEnter":case"onAfterRouteEnter":return ye;case"onBeforeRouteUpdate":case"onAfterRouteUpdate":return Re;case"onBeforeRouteLeave":case"onAfterRouteLeave":return ge;default:throw new Error(`Switch is not exhaustive for lifecycle: ${e}`)}}function fn(e,t){const r=new oe;return e.matches.forEach((n,o)=>{n.onBeforeRouteEnter&&ye(e,t,o)&&ce(n.onBeforeRouteEnter).forEach(a=>r.onBeforeRouteEnter.add(a)),n.onBeforeRouteUpdate&&Re(e,t,o)&&ce(n.onBeforeRouteUpdate).forEach(a=>r.onBeforeRouteUpdate.add(a))}),t==null||t.matches.forEach((n,o)=>{n.onBeforeRouteLeave&&ge(e,t,o)&&ce(n.onBeforeRouteLeave).forEach(a=>r.onBeforeRouteLeave.add(a))}),r}function ln(e,t){const r=new oe;return e.matches.forEach((n,o)=>{n.onAfterRouteEnter&&ye(e,t,o)&&ce(n.onAfterRouteEnter).forEach(a=>r.onAfterRouteEnter.add(a)),n.onAfterRouteUpdate&&Re(e,t,o)&&ce(n.onAfterRouteUpdate).forEach(a=>r.onAfterRouteUpdate.add(a))}),t==null||t.matches.forEach((n,o)=>{n.onAfterRouteLeave&&ge(e,t,o)&&ce(n.onAfterRouteLeave).forEach(a=>r.onAfterRouteLeave.add(a))}),r}function dn(e,t,r){const n=new oe;return e.matches.forEach((o,a)=>{ye(e,t,a)&&r.onBeforeRouteEnter.forEach(s=>n.onBeforeRouteEnter.add(s)),Re(e,t,a)&&r.onBeforeRouteUpdate.forEach(s=>n.onBeforeRouteUpdate.add(s))}),t==null||t.matches.forEach((o,a)=>{ge(e,t,a)&&r.onBeforeRouteLeave.forEach(s=>n.onBeforeRouteLeave.add(s))}),n}function hn(e,t,r){const n=new oe;return e.matches.forEach((o,a)=>{ye(e,t,a)&&r.onAfterRouteEnter.forEach(s=>n.onAfterRouteEnter.add(s)),Re(e,t,a)&&r.onAfterRouteUpdate.forEach(s=>n.onAfterRouteUpdate.add(s))}),t==null||t.matches.forEach((o,a)=>{ge(e,t,a)&&r.onAfterRouteLeave.forEach(s=>n.onAfterRouteLeave.add(s))}),n}const Wt=Symbol();function pn(){const e={global:new oe,component:new oe},{reject:t,push:r,replace:n,abort:o}=xt(),a=i=>(e.global.onBeforeRouteEnter.add(i),()=>e.global.onBeforeRouteEnter.delete(i)),s=i=>(e.global.onBeforeRouteUpdate.add(i),()=>e.global.onBeforeRouteUpdate.delete(i)),f=i=>(e.global.onBeforeRouteLeave.add(i),()=>e.global.onBeforeRouteLeave.delete(i)),l=i=>(e.global.onAfterRouteEnter.add(i),()=>e.global.onAfterRouteEnter.delete(i)),u=i=>(e.global.onAfterRouteUpdate.add(i),()=>e.global.onAfterRouteUpdate.delete(i)),y=i=>(e.global.onAfterRouteLeave.add(i),()=>e.global.onAfterRouteLeave.delete(i));async function S({to:i,from:d}){const{global:U,component:w}=e,E=fn(i,d),A=dn(i,d,U),B=[...A.onBeforeRouteEnter,...E.onBeforeRouteEnter,...A.onBeforeRouteUpdate,...E.onBeforeRouteUpdate,...w.onBeforeRouteUpdate,...A.onBeforeRouteLeave,...E.onBeforeRouteLeave,...w.onBeforeRouteLeave];try{const m=B.map(p=>p(i,{from:d,reject:t,push:r,replace:n,abort:o}));await Promise.all(m)}catch(m){if(m instanceof de||m instanceof Ue||m instanceof Ct)return m.response;throw m}return{status:"SUCCESS"}}async function x({to:i,from:d}){const{global:U,component:w}=e,E=ln(i,d),A=hn(i,d,U),B=[...w.onAfterRouteLeave,...E.onAfterRouteLeave,...A.onAfterRouteLeave,...w.onAfterRouteUpdate,...E.onAfterRouteUpdate,...A.onAfterRouteUpdate,...w.onAfterRouteEnter,...E.onAfterRouteEnter,...A.onAfterRouteEnter];try{const m=B.map(p=>p(i,{from:d,reject:t,push:r,replace:n}));await Promise.all(m)}catch(m){if(m instanceof de||m instanceof Ue)return m.response;throw m}return{status:"SUCCESS"}}return{runBeforeRouteHooks:S,runAfterRouteHooks:x,addComponentBeforeRouteHook:({lifecycle:i,depth:d,hook:U})=>{const w=Jt(i),E=e.component[i],A=(B,m)=>{if(w(B,m.from,d))return U(B,m)};return E.add(A),()=>E.delete(A)},addComponentAfterRouteHook:({lifecycle:i,depth:d,hook:U})=>{const w=Jt(i),E=e.component[i],A=(B,m)=>{if(w(B,m.from,d))return U(B,m)};return E.add(A),()=>E.delete(A)},addGlobalRouteHooks:i=>{i.onBeforeRouteEnter.forEach(d=>a(d)),i.onBeforeRouteUpdate.forEach(d=>s(d)),i.onBeforeRouteLeave.forEach(d=>f(d)),i.onAfterRouteEnter.forEach(d=>l(d)),i.onAfterRouteUpdate.forEach(d=>u(d)),i.onAfterRouteLeave.forEach(d=>y(d))},onBeforeRouteEnter:a,onBeforeRouteUpdate:s,onBeforeRouteLeave:f,onAfterRouteEnter:l,onAfterRouteUpdate:u,onAfterRouteLeave:y}}function Gt(){const e=c.inject(Wt);if(!e)throw new ee;return e}function zt(e){return t=>{const r=Qe(),o=Gt().addComponentBeforeRouteHook({lifecycle:e,hook:t,depth:r-1});return c.onUnmounted(o),o}}function Qt(e){return t=>{const r=Qe(),o=Gt().addComponentAfterRouteHook({lifecycle:e,hook:t,depth:r-1});return c.onUnmounted(o),o}}const mn=zt("onBeforeRouteLeave"),yn=zt("onBeforeRouteUpdate"),gn=Qt("onAfterRouteLeave"),Rn=Qt("onAfterRouteUpdate");function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Y.apply(null,arguments)}var O;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(O||(O={}));var he=process.env.NODE_ENV!=="production"?function(e){return Object.freeze(e)}:function(e){return e};function ae(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}var Le="beforeunload",wn="hashchange",Kt="popstate";function Yt(e){e===void 0&&(e={});var t=e,r=t.window,n=r===void 0?document.defaultView:r,o=n.history;function a(){var m=n.location,p=m.pathname,P=m.search,L=m.hash,C=o.state||{};return[C.idx,he({pathname:p,search:P,hash:L,state:C.usr||null,key:C.key||"default"})]}var s=null;function f(){if(s)g.call(s),s=null;else{var m=O.Pop,p=a(),P=p[0],L=p[1];if(g.length)if(P!=null){var C=y-P;C&&(s={action:m,location:L,retry:function(){A(C*-1)}},A(C))}else process.env.NODE_ENV!=="production"&&ae(!1,"You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation.");else U(m)}}n.addEventListener(Kt,f);var l=O.Pop,u=a(),y=u[0],S=u[1],x=pe(),g=pe();y==null&&(y=0,o.replaceState(Y({},o.state,{idx:y}),""));function h(m){return typeof m=="string"?m:se(m)}function R(m,p){return p===void 0&&(p=null),he(Y({pathname:S.pathname,hash:"",search:""},typeof m=="string"?we(m):m,{state:p,key:Ce()}))}function i(m,p){return[{usr:m.state,key:m.key,idx:p},h(m)]}function d(m,p,P){return!g.length||(g.call({action:m,location:p,retry:P}),!1)}function U(m){l=m;var p=a();y=p[0],S=p[1],x.call({action:l,location:S})}function w(m,p){var P=O.Push,L=R(m,p);function C(){w(m,p)}if(d(P,L,C)){var V=i(L,y+1),$=V[0],q=V[1];try{o.pushState($,"",q)}catch{n.location.assign(q)}U(P)}}function E(m,p){var P=O.Replace,L=R(m,p);function C(){E(m,p)}if(d(P,L,C)){var V=i(L,y),$=V[0],q=V[1];o.replaceState($,"",q),U(P)}}function A(m){o.go(m)}var B={get action(){return l},get location(){return S},createHref:h,push:w,replace:E,go:A,back:function(){A(-1)},forward:function(){A(1)},listen:function(p){return x.push(p)},block:function(p){var P=g.push(p);return g.length===1&&n.addEventListener(Le,Be),function(){P(),g.length||n.removeEventListener(Le,Be)}}};return B}function En(e){e===void 0&&(e={});var t=e,r=t.window,n=r===void 0?document.defaultView:r,o=n.history;function a(){var p=we(n.location.hash.substr(1)),P=p.pathname,L=P===void 0?"/":P,C=p.search,V=C===void 0?"":C,$=p.hash,q=$===void 0?"":$,I=o.state||{};return[I.idx,he({pathname:L,search:V,hash:q,state:I.usr||null,key:I.key||"default"})]}var s=null;function f(){if(s)g.call(s),s=null;else{var p=O.Pop,P=a(),L=P[0],C=P[1];if(g.length)if(L!=null){var V=y-L;V&&(s={action:p,location:C,retry:function(){B(V*-1)}},B(V))}else process.env.NODE_ENV!=="production"&&ae(!1,"You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation.");else w(p)}}n.addEventListener(Kt,f),n.addEventListener(wn,function(){var p=a(),P=p[1];se(P)!==se(S)&&f()});var l=O.Pop,u=a(),y=u[0],S=u[1],x=pe(),g=pe();y==null&&(y=0,o.replaceState(Y({},o.state,{idx:y}),""));function h(){var p=document.querySelector("base"),P="";if(p&&p.getAttribute("href")){var L=n.location.href,C=L.indexOf("#");P=C===-1?L:L.slice(0,C)}return P}function R(p){return h()+"#"+(typeof p=="string"?p:se(p))}function i(p,P){return P===void 0&&(P=null),he(Y({pathname:S.pathname,hash:"",search:""},typeof p=="string"?we(p):p,{state:P,key:Ce()}))}function d(p,P){return[{usr:p.state,key:p.key,idx:P},R(p)]}function U(p,P,L){return!g.length||(g.call({action:p,location:P,retry:L}),!1)}function w(p){l=p;var P=a();y=P[0],S=P[1],x.call({action:l,location:S})}function E(p,P){var L=O.Push,C=i(p,P);function V(){E(p,P)}if(process.env.NODE_ENV!=="production"&&ae(C.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.push("+JSON.stringify(p)+")"),U(L,C,V)){var $=d(C,y+1),q=$[0],I=$[1];try{o.pushState(q,"",I)}catch{n.location.assign(I)}w(L)}}function A(p,P){var L=O.Replace,C=i(p,P);function V(){A(p,P)}if(process.env.NODE_ENV!=="production"&&ae(C.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.replace("+JSON.stringify(p)+")"),U(L,C,V)){var $=d(C,y),q=$[0],I=$[1];o.replaceState(q,"",I),w(L)}}function B(p){o.go(p)}var m={get action(){return l},get location(){return S},createHref:R,push:E,replace:A,go:B,back:function(){B(-1)},forward:function(){B(1)},listen:function(P){return x.push(P)},block:function(P){var L=g.push(P);return g.length===1&&n.addEventListener(Le,Be),function(){L(),g.length||n.removeEventListener(Le,Be)}}};return m}function Xt(e){e===void 0&&(e={});var t=e,r=t.initialEntries,n=r===void 0?["/"]:r,o=t.initialIndex,a=n.map(function(w){var E=he(Y({pathname:"/",search:"",hash:"",state:null,key:Ce()},typeof w=="string"?we(w):w));return process.env.NODE_ENV!=="production"&&ae(E.pathname.charAt(0)==="/","Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: "+JSON.stringify(w)+")"),E}),s=er(o??a.length-1,0,a.length-1),f=O.Pop,l=a[s],u=pe(),y=pe();function S(w){return typeof w=="string"?w:se(w)}function x(w,E){return E===void 0&&(E=null),he(Y({pathname:l.pathname,search:"",hash:""},typeof w=="string"?we(w):w,{state:E,key:Ce()}))}function g(w,E,A){return!y.length||(y.call({action:w,location:E,retry:A}),!1)}function h(w,E){f=w,l=E,u.call({action:f,location:l})}function R(w,E){var A=O.Push,B=x(w,E);function m(){R(w,E)}process.env.NODE_ENV!=="production"&&ae(l.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.push("+JSON.stringify(w)+")"),g(A,B,m)&&(s+=1,a.splice(s,a.length,B),h(A,B))}function i(w,E){var A=O.Replace,B=x(w,E);function m(){i(w,E)}process.env.NODE_ENV!=="production"&&ae(l.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.replace("+JSON.stringify(w)+")"),g(A,B,m)&&(a[s]=B,h(A,B))}function d(w){var E=er(s+w,0,a.length-1),A=O.Pop,B=a[E];function m(){d(w)}g(A,B,m)&&(s=E,h(A,B))}var U={get index(){return s},get action(){return f},get location(){return l},createHref:S,push:R,replace:i,go:d,back:function(){d(-1)},forward:function(){d(1)},listen:function(E){return u.push(E)},block:function(E){return y.push(E)}};return U}function er(e,t,r){return Math.min(Math.max(e,t),r)}function Be(e){e.preventDefault(),e.returnValue=""}function pe(){var e=[];return{get length(){return e.length},push:function(r){return e.push(r),function(){e=e.filter(function(n){return n!==r})}},call:function(r){e.forEach(function(n){return n&&n(r)})}}}function Ce(){return Math.random().toString(36).substr(2,8)}function se(e){var t=e.pathname,r=t===void 0?"/":t,n=e.search,o=n===void 0?"":n,a=e.hash,s=a===void 0?"":a;return o&&o!=="?"&&(r+=o.charAt(0)==="?"?o:"?"+o),s&&s!=="#"&&(r+=s.charAt(0)==="#"?s:"#"+s),r}function we(e){var t={};if(e){var r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));var n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}const tr=Symbol();function bn(e,t){const r=c.reactive({...e}),n=s=>{Object.assign(r,{[tr]:!1,...s})},o=r,a=en(o,t);return{currentRoute:o,routerRoute:a,updateRoute:n}}function _(e){return!e.startsWith("http")?Sn(e):Pn(e)}function Pn(e){const{protocol:t,host:r,pathname:n,search:o,searchParams:a,hash:s}=new URL(e,e);return{protocol:t,host:r,pathname:n,search:o,searchParams:a,hash:s}}function Sn(e){const{pathname:t,search:r,searchParams:n,hash:o}=new URL(e,"https://localhost");return{pathname:t,search:r,searchParams:n,hash:o}}function vn(e){return t=>{const{host:r}=_(t);return!(r===void 0||r===e)}}function An({mode:e,listener:t}){const r=kn(e),n=(l,u)=>{if(u!=null&&u.replace){r.replace(l,u.state);return}r.push(l,u==null?void 0:u.state)},o=()=>{const l=se(r.location);r.replace(l)};let a;return{...r,update:n,refresh:o,startListening:()=>{a==null||a(),a=r.listen(t)},stopListening:()=>{a==null||a()}}}function kn(e="auto"){switch(e){case"auto":return Ie()?Yt():Xt();case"browser":return Yt();case"memory":return Xt();case"hash":return En();default:const t=e;throw new Error(`Switch is not exhaustive for mode: ${t}`)}}function Un(e){return c.defineComponent(()=>()=>c.h("h1",e),{name:e,props:[]})}function Ln(e){const t=a=>c.markRaw(e[a]??Un(a)),r=a=>{const s=c.markRaw(t(a)),f={id:Me(),component:s,meta:{},state:{}};return{id:f.id,matched:f,matches:[f],name:a,query:De(""),params:{},state:{},href:"/",hash:"",[tr]:!0}},n=a=>{if(!a){o.value=null;return}const s=t(a);o.value={type:a,component:s}},o=c.ref(null);return{setRejection:n,rejection:o,getRejectionRoute:r}}class Bn extends Error{constructor(){super("initialUrl must be set if window.location is unavailable")}}function Cn(e){if(e)return e;if(Ie())return window.location.toString();throw new Bn}function rr(e){return!!e&&typeof e=="object"}const xe=!0;function xn(e,t,r){if(rr(e)&&t in e){const n=e[t];return typeof n=="string"?le(n,r,xe):n}return le(void 0,r,xe)}function nr(e,t){const r={};for(const[n,o]of Object.entries(e)){const a=xn(t,n,o);r[n]=a}return r}function Nn(e,t,r){if(rr(e)&&t in e){const n=e[t];return te(n,r,xe)}return te(void 0,r,xe)}const or=(e,t)=>{const r={};for(const[n,o]of Object.entries(e)){const a=Nn(t,n,o);r[n]=a}return r};function Vn(){const e=c.reactive(new Map),t=Ie()?s():null,r=f=>{e.set(f,!1),t==null||t.observe(f)},n=f=>{e.delete(f),t==null||t.unobserve(f)},o=()=>{t==null||t.disconnect()},a=f=>e.get(f)??!1;function s(){return new IntersectionObserver(f=>{f.forEach(l=>{e.set(l.target,l.isIntersecting)})})}return{observe:r,unobserve:n,disconnect:o,isElementVisible:a}}class jn extends Error{constructor(t){super(`Route not found: "${t}"`)}}function ar(e,t,r){const n=cr(t,r),[o]=ve(e,n);return o}function sr(e,t){if(!t)return e;const{name:r,param:n,value:o}=t,a=cr(e,r);return ve(e,a).reduce((f,l)=>l===void 0?f:f.replace(l,()=>te(o,n,r.startsWith("?"))),e)}function cr(e,t){const r=[Zn,$n,gt].reduce((n,o)=>o(n,t),e);return new RegExp(r,"g")}function Zn(e,t){if(!t.startsWith("?"))return e;const r=new RegExp(`\\${z}\\${t}\\${K}`,"g");return e.replace(r,"(.*)")}function $n(e,t){if(t.startsWith("?"))return e;const r=new RegExp(`\\${z}${t}\\${K}`,"g");return e.replace(r,"(.+)")}function ir({protocol:e,host:t,pathname:r,search:n,searchParams:o,hash:a}){const s=new URL("https://localhost");e&&(s.protocol=e),t&&(s.host=t),r&&(s.pathname=r),o?s.search=new URLSearchParams(o).toString():n&&(s.search=n),a&&(s.hash=a);const f=s.toString().replace(/^https:\/\/localhost\/*/,"/");return Ve(f)}function On(e,t={}){const{params:r={},query:n}=t,o=_n(e.query,r),a=Ge(o,n),s=ur(e.path,r),f=e.hash.value?ur(e.hash,r):t.hash,l=qn(e.host,r),{protocol:u,host:y}=_(l);return ir({protocol:u,host:y,pathname:s,searchParams:a,hash:f})}function qn(e,t){const r=e.value&&!e.value.startsWith("http")?`https://${e.value}`:e.value;return Object.entries(e.params).reduce((n,[o,a])=>{const s=Se(`${z}${o}${K}`);return s?sr(n,{name:o,param:a,value:t[s]}):n},r)}function ur(e,t){return Object.entries(e.params).reduce((r,[n,o])=>{const a=Se(`${z}${n}${K}`);return a?sr(r,{name:n,param:o,value:t[a]}):r},e.value)}function _n(e,t){const r=new URLSearchParams(e.value);if(!e.value)return r;for(const[n,o]of Array.from(r.entries())){const a=Se(o);if(!a)continue;const f=wt(o),l=f?`?${a}`:a,u=te(t[a],e.params[l],f),y=t[a]===void 0&&u==="";f&&y?r.delete(n,o):r.set(n,u)}return r}const Hn=(e,t)=>{try{Ye(e,t)}catch{return!1}return!0},Ye=(e,t)=>{const{protocol:r,host:n,pathname:o,search:a,hash:s}=_(t);return{...Ne(e.host,`${r}//${n}`),...Ne(e.path,o),...Ne(e.query,a),...Ne(e.hash,s)}};function Ne(e,t){const r={},n=decodeURIComponent(t);for(const[o,a]of Object.entries(e.params)){const s=o.startsWith("?"),f=s?o.slice(1):o,l=ar(n,e.value,o),u=le(l,a,s);r[f]=u}return r}function In(e,t={},r={}){const n=On(e,{params:t,query:r.query,hash:r.hash}),{search:o,hash:a}=_(n);return{id:e.id,matched:e.matched,matches:e.matches,name:e.name,query:De(o),params:Ye(e,n),state:nr(e.state,r.state),hash:a,href:n}}const Dn=e=>"name"in e.matched&&!!e.matched.name,Tn=(e,t)=>{const{pathname:r}=_(t);return Cr(e).test(r)},Mn=(e,t)=>{const{search:r}=_(t);return xr(e).every(o=>o.test(r))},Xe=(e,t)=>{const{hash:r}=_(t),{value:n}=e.hash;return M(n)?`#${n.replace(/^#*/,"")}`.toLowerCase()===r.toLowerCase():!0};function Fn(e){const{searchParams:t,pathname:r}=_(e),n=-1,o=1;return(a,s)=>{const f=lr(a,t),l=fr(a,r),u=lr(s,t),y=fr(s,r);return a.depth>s.depth?n:a.depth<s.depth?o:f+l>u+y?n:f+l<u+y?o:Xe(a,e)?n:Xe(s,e)?o:0}}function fr(e,t){const r=Object.keys(e.path.params).filter(o=>o.startsWith("?")).map(o=>o),n=r.filter(o=>ar(t,e.path.value,o)===void 0);return r.length-n.length}function lr(e,t){const r=new URLSearchParams(t),n=new URLSearchParams(e.query.value),o=Array.from(n.keys()),a=o.filter(s=>!r.has(s));return o.length-a.length}const Jn=[Dn,Tn,Mn,Xe,Hn];function Wn(e,t){const r=Fn(t);return e.filter(n=>Jn.every(o=>o(n,t))).sort(r)}function Gn(e,t,r){const n=Wn(e,t);if(!n.length)return;const[o]=n,{searchParams:a,hash:s}=_(t);return{id:o.id,matched:o.matched,matches:o.matches,name:o.name,query:De(a),params:Ye(o,t),state:nr(o.state,r),hash:s,href:Ve(t)}}function dr(e,t){const r=typeof e=="string"?_(e):e,n=typeof t=="string"?_(t):t,o=r.searchParams??new URLSearchParams(r.search),a=n.searchParams??new URLSearchParams(n.search);return ir({protocol:M(n.protocol)?n.protocol:r.protocol,host:M(n.host)?n.host:r.host,pathname:M(n.pathname)?n.pathname:r.pathname,searchParams:Ge(a,o),hash:M(n.hash)?n.hash:r.hash})}function zn(e,t){return M(t)?e.map(r=>{const n=`${t}${r.path}`;return{...r,path:F(n,r.path.params)}}):e}class Qn extends Error{constructor(t){super(`Invalid Name "${t}": Router does not support multiple routes with the same name. All name names must be unique.`)}}function Kn(e){const t=e.map(({name:r})=>r);for(const r of t)if(ct(t,r)>1)throw new Qn(r)}function Yn(e,t=[],r){const n=[...e,...t.map(o=>o.routes)].flat();return Kn(n),zn(n,r)}function Xn(e={},t=[]){const r=new oe;return me("onBeforeRouteEnter",e,t).forEach(n=>r.onBeforeRouteEnter.add(n)),me("onBeforeRouteUpdate",e,t).forEach(n=>r.onBeforeRouteUpdate.add(n)),me("onBeforeRouteLeave",e,t).forEach(n=>r.onBeforeRouteLeave.add(n)),me("onAfterRouteEnter",e,t).forEach(n=>r.onAfterRouteEnter.add(n)),me("onAfterRouteUpdate",e,t).forEach(n=>r.onAfterRouteUpdate.add(n)),me("onAfterRouteLeave",e,t).forEach(n=>r.onAfterRouteLeave.add(n)),r}function me(e,t,r){return[t[e],...r.map(o=>o[e])].flat().filter(o=>o!==void 0)}function eo(e,t,r=[]){const n=Yn(e,r,t==null?void 0:t.base),o=pn();o.addGlobalRouteHooks(Xn(t,r));const a=Te(),s=Gr(),f=sn(),l=Vn(),u=An({mode:t==null?void 0:t.historyMode,listener:({location:v})=>{const N=se(v);S(N,{state:v.state,replace:!0})}});function y(v,N={}){return Gn(n,v,N.state)}async function S(v,N={}){const Q=a();if(u.stopListening(),L(v)){u.update(v,N);return}const D=y(v,N)??U("NotFound"),H=pr(Q),X=await o.runBeforeRouteHooks({to:D,from:H});switch(X.status){case"ABORT":return;case"PUSH":u.update(v,N),await g(...X.to);return;case"REJECT":u.update(v,N),i(X.type);break;case"SUCCESS":u.update(v,N),i(null);break;default:throw new Error(`Switch is not exhaustive for before hook response status: ${JSON.stringify(X)}`)}const et=Q;s.setProps(D).then(T=>{if(et===Q)switch(T.status){case"SUCCESS":break;case"PUSH":g(...T.to);break;case"REJECT":i(T.type);break;default:const tt=T;throw new Error(`Switch is not exhaustive for prop store response status: ${JSON.stringify(tt)}`)}}),B(D);const J=await o.runAfterRouteHooks({to:D,from:H});switch(J.status){case"PUSH":await g(...J.to);break;case"REJECT":i(J.type);break;case"SUCCESS":break;default:const T=J;throw new Error(`Switch is not exhaustive for after hook response status: ${JSON.stringify(T)}`)}u.startListening()}const x=(v,N={},Q={})=>{const D=n.find(H=>H.name===v);if(!D)throw new jn(String(v));return In(D,N,Q)},g=(v,N,Q)=>{if(Z(v)){const J={...N},T=dr(v,{searchParams:J.query,hash:J.hash});return S(T,J)}if(typeof v=="string"){const{replace:J,...T}={...Q},tt={...N},rt=x(v,tt,T),uo=or({...rt.matched.state},{...rt.state,...T.state});return S(rt.href,{replace:J,state:uo})}const{replace:D,...H}={...N},X=or({...v.matched.state},{...v.state,...H.state}),et=dr(v.href,{searchParams:H.query,hash:H.hash});return S(et,{replace:D,state:X})},h=(v,N,Q)=>{if(Z(v)){const H={...N,replace:!0};return g(v,H)}if(typeof v=="string"){const H={...Q,replace:!0},X={...N};return g(v,X,H)}const D={...N,replace:!0};return g(v,D)},R=v=>{i(v)},{setRejection:i,rejection:d,getRejectionRoute:U}=Ln({...r.reduce((v,N)=>({...v,...N.rejections}),{}),...t==null?void 0:t.rejections}),w=U("NotFound"),{currentRoute:E,routerRoute:A,updateRoute:B}=bn(w,g),m=Cn(t==null?void 0:t.initialUrl),p=u.location.state,{host:P}=_(m),L=vn(P);let C=!1;const{promise:V,resolve:$}=Promise.withResolvers();async function q(){if(C)return V;Pr(n)&&await Sr(),C=!0,await S(m,{replace:!0,state:p}),u.startListening(),$()}function I(){u.stopListening()}function pr(v){return Tr(v)?null:{...E}}function io(v){v.component("RouterView",Ke),v.component("RouterLink",It),v.provide(Dt,d),v.provide(Wt,o),v.provide(jt,s),v.provide(Mt,f),v.provide(Ot,l),v.provide(st,mr),q()}const mr={route:A,resolve:x,find:y,push:g,replace:h,reject:R,refresh:u.refresh,forward:u.forward,back:u.back,go:u.go,install:io,isExternal:L,onBeforeRouteEnter:o.onBeforeRouteEnter,onBeforeRouteUpdate:o.onBeforeRouteUpdate,onBeforeRouteLeave:o.onBeforeRouteLeave,onAfterRouteEnter:o.onAfterRouteEnter,onAfterRouteUpdate:o.onAfterRouteUpdate,onAfterRouteLeave:o.onAfterRouteLeave,prefetch:t==null?void 0:t.prefetch,start:q,stop:I};return mr}function to(e){return{routes:e.routes??[],rejections:e.rejections??{},...e}}function hr(...e){return{get:(t,{invalid:r})=>{for(const n of e){const o=Ur(t,n);if(o!==void 0)return o}throw r(`Value ${t} does not satisfy any of the possible values`)},set:(t,{invalid:r})=>{for(const n of e){const o=Lr(t,n);if(o!==void 0)return o}throw r(`Value ${t} does not satisfy any of the possible values`)}}}function ro(...e){const t=hr(...e);return{get:(r,n)=>r.split(",").map(o=>t.get(o,n)),set:(r,n)=>{if(!Array.isArray(r))throw n.invalid("Expected an array");return r.map(o=>t.set(o,n)).join(",")}}}function no(...e){return{get:t=>{const r=t.split(",");return e.map((n,o)=>le(r.at(o),n))},set:(t,{invalid:r})=>{if(!Array.isArray(t))throw r("Expected a tuple");if(t.length!==e.length)throw r(`Expected tuple with ${e.length} values but received ${t.length} values`);return e.map((n,o)=>te(t.at(o),n)).join(",")}}}const oo=F,ao=F,so=F;function co(e){const t=Me(),r=Ut(e.name),n=re(e.path),o=re(e.query),a=re(e.hash),s=e.meta??{},f=re(e.host),l=c.markRaw({id:t,meta:{},state:{},...e}),u={id:t,matched:l,matches:[l],name:r,host:f,path:n,query:o,hash:a,meta:s,depth:1,state:{}},y=bt(e)?kt(e.parent,u):u;return ie(y.path.params,y.query.params,y.host.params,y.hash.params),y}k.DuplicateParamsError=nt,k.MetaPropertyConflict=ot,k.RouterLink=It,k.RouterNotInstalledError=ee,k.RouterView=Ke,k.UseRouteInvalidError=at,k.arrayOf=ro,k.asUrl=Ve,k.createExternalRoute=co,k.createParam=ut,k.createRoute=ne,k.createRouter=eo,k.createRouterPlugin=to,k.host=ao,k.isRoute=We,k.isUrl=Z,k.onAfterRouteLeave=gn,k.onAfterRouteUpdate=Rn,k.onBeforeRouteLeave=mn,k.onBeforeRouteUpdate=yn,k.path=oo,k.query=so,k.tupleOf=no,k.unionOf=hr,k.useLink=Ht,k.useRoute=ze,k.useRouter=Ee,k.withDefault=Er,k.withParams=F,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|