@kitbag/router 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(y,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],i):(y=typeof globalThis<"u"?globalThis:y||self,i(y["@kitbag/router"]={},y.Vue))})(this,function(y,i){"use strict";var Tn=Object.defineProperty;var In=(y,i,D)=>i in y?Tn(y,i,{enumerable:!0,configurable:!0,writable:!0,value:D}):y[i]=D;var V=(y,i,D)=>(In(y,typeof i!="symbol"?i+"":i,D),D);class D extends Error{constructor(e){super(`Invalid Param "${e}": Router does not support multiple params by the same name. All param names must be unique.`)}}class ot extends Error{constructor(){super("Router not installed")}}class Ht extends Error{constructor(e,n){super(`useRoute called with incorrect route. Given ${e}, expected ${n}`)}}const dt=Symbol();function at(){const t=i.inject(dt);if(!t)throw new ot;return t}class Y extends Error{}function J(t){return typeof t!="string"?!1:/^(https?:\/\/|\/).*/g.test(t)}function Ct(t,e={},n={}){const r=at(),o=i.computed(()=>i.toValue(t)),s=i.computed(()=>i.toValue(e)),a=i.computed(()=>i.toValue(n)),c=i.computed(()=>{if(J(o.value))return o.value;try{return r.resolve(o.value,s.value,a.value)}catch(R){throw R instanceof Y&&console.error(`Failed to resolve route "${o.value.toString()}" in RouterLink.`,R),R}}),u=i.computed(()=>r.find(c.value,a.value)),l=i.computed(()=>!!u.value&&r.route.matches.includes(u.value.matched)),p=i.computed(()=>!!u.value&&r.route.matched===u.value.matched);return{route:u,href:c,isMatch:l,isExactMatch:p,push:R=>r.push(c.value,{},{...a.value,...R}),replace:R=>r.replace(c.value,{},{...a.value,...R})}}const mt=Symbol();function Vt(){const t=i.inject(mt);if(!t)throw new ot;return t}function qt(t,e){return[t,e].filter(n=>!!n).join(".")}const _t=Symbol("isRouterRouteSymbol");function ke(t){return typeof t=="object"&&t!==null&&_t in t}function Ae(t,e){function n(l,p,R){if(typeof l=="object"){const g={...t.params,...l};return e(t.key,g,p)}const S={...t.params,[l]:p};return e(t.key,S,R)}const{matched:r,matches:o,key:s,query:a,params:c}=i.toRefs(t),u=i.reactive({matched:r,matches:o,query:a,params:c,key:s,update:n,[_t]:!0});return new Proxy(u,{get:(l,p,R)=>p==="params"?new Proxy(t.params,{set(S,g,x){return n(g,x),!0}}):Reflect.get(l,p,R)})}function Ot(t,e,{exact:n}={}){if(!ke(t))return!1;if(e===void 0)return!0;const r=xe(t);if(n){const o=r.at(-1);return e===o}return r.includes(e)}function xe(t){return t.matches.map(n=>n.name).reduce((n,r)=>{const o=n.pop(),s=r?[qt(o,r)]:[];return o?[...n,o,...s]:s},[])}function Wt(t,e){const n=at();function r(){if(!t)return;if(!Ot(n.route,t,e))throw new Ht(t,n.route.key)}return i.watch(n.route,r,{immediate:!0,deep:!0}),n.route}const Dt=Symbol();function Rt(){return i.inject(Dt,0)}class st{constructor(){V(this,"onBeforeRouteEnter",new Set);V(this,"onBeforeRouteUpdate",new Set);V(this,"onBeforeRouteLeave",new Set);V(this,"onAfterRouteEnter",new Set);V(this,"onAfterRouteUpdate",new Set);V(this,"onAfterRouteLeave",new Set)}}class Mt extends Error{}class et extends Error{constructor(n){super("Error occurred during a router push operation.");V(this,"to");this.to=n}}class gt extends Error{constructor(n){super(`Routing action rejected: ${n}`);V(this,"type");this.type=n}}function X(t){return Array.isArray(t)?t:[t]}function Le(t,e){const n=new st;return t.matches.forEach((r,o)=>{r.onBeforeRouteEnter&&yt(t,e,o)&&X(r.onBeforeRouteEnter).forEach(s=>n.onBeforeRouteEnter.add(s)),r.onBeforeRouteUpdate&&vt(t,e,o)&&X(r.onBeforeRouteUpdate).forEach(s=>n.onBeforeRouteUpdate.add(s))}),e.matches.forEach((r,o)=>{r.onBeforeRouteLeave&&wt(t,e,o)&&X(r.onBeforeRouteLeave).forEach(s=>n.onBeforeRouteLeave.add(s))}),n}function Be(t,e){const n=new st;return t.matches.forEach((r,o)=>{r.onAfterRouteEnter&&yt(t,e,o)&&X(r.onAfterRouteEnter).forEach(s=>n.onAfterRouteEnter.add(s)),r.onAfterRouteUpdate&&vt(t,e,o)&&X(r.onAfterRouteUpdate).forEach(s=>n.onAfterRouteUpdate.add(s))}),e.matches.forEach((r,o)=>{r.onAfterRouteLeave&&wt(t,e,o)&&X(r.onAfterRouteLeave).forEach(s=>n.onAfterRouteLeave.add(s))}),n}function Ue(){const t=a=>{throw new gt(a)},e=(...a)=>{throw new et(a)},n=(a,c,u)=>{if(J(a)){const R=c??{};throw new et([a,{...R,replace:!0}])}const l=c,p=u??{};throw new et([a,l,{...p,replace:!0}])},r=()=>{throw new Mt};async function o({to:a,from:c,hooks:u}){const{global:l,component:p}=u,R=Le(a,c),S=[...l.onBeforeRouteEnter,...R.onBeforeRouteEnter,...l.onBeforeRouteUpdate,...R.onBeforeRouteUpdate,...p.onBeforeRouteUpdate,...l.onBeforeRouteLeave,...R.onBeforeRouteLeave,...p.onBeforeRouteLeave];try{const g=S.map(x=>x(a,{from:c,reject:t,push:e,replace:n,abort:r}));await Promise.all(g)}catch(g){if(g instanceof et)return{status:"PUSH",to:g.to};if(g instanceof gt)return{status:"REJECT",type:g.type};if(g instanceof Mt)return{status:"ABORT"};throw g}return{status:"SUCCESS"}}async function s({to:a,from:c,hooks:u}){const{global:l,component:p}=u,R=Be(a,c),S=[...p.onAfterRouteLeave,...R.onAfterRouteLeave,...l.onAfterRouteLeave,...p.onAfterRouteUpdate,...R.onAfterRouteUpdate,...l.onAfterRouteUpdate,...p.onAfterRouteEnter,...R.onAfterRouteEnter,...l.onAfterRouteEnter];try{const g=S.map(x=>x(a,{from:c,reject:t,push:e,replace:n}));await Promise.all(g)}catch(g){if(g instanceof et)return{status:"PUSH",to:g.to};if(g instanceof gt)return{status:"REJECT",type:g.type};throw g}return{status:"SUCCESS"}}return{runBeforeRouteHooks:o,runAfterRouteHooks:s}}const yt=(t,e,n)=>{const r=t.matches,o=(e==null?void 0:e.matches)??[];return r.length<n||r[n]!==o[n]},wt=(t,e,n)=>{const r=t.matches,o=(e==null?void 0:e.matches)??[];return r.length<n||r[n]!==o[n]},vt=(t,e,n)=>t.matches[n]===(e==null?void 0:e.matches[n]);function Tt(t){switch(t){case"onBeforeRouteEnter":case"onAfterRouteEnter":return yt;case"onBeforeRouteUpdate":case"onAfterRouteUpdate":return vt;case"onBeforeRouteLeave":case"onAfterRouteLeave":return wt;default:throw new Error(`Switch is not exhaustive for lifecycle: ${t}`)}}class $e{constructor(){V(this,"global",new st);V(this,"component",new st)}addBeforeRouteHook({lifecycle:e,timing:n,depth:r,hook:o}){const s=Tt(e),a=this[n][e],c=(u,l)=>{if(s(u,l.from,r))return o(u,l)};return a.add(c),()=>a.delete(c)}addAfterRouteHook({lifecycle:e,timing:n,depth:r,hook:o}){const s=Tt(e),a=this[n][e],c=(u,l)=>{if(s(u,l.from,r))return o(u,l)};return a.add(c),()=>a.delete(c)}}const It=Symbol();function Ne(){const t=new $e;return{onBeforeRouteEnter:c=>t.addBeforeRouteHook({lifecycle:"onBeforeRouteEnter",hook:c,timing:"global",depth:0}),onBeforeRouteUpdate:c=>t.addBeforeRouteHook({lifecycle:"onBeforeRouteUpdate",hook:c,timing:"global",depth:0}),onBeforeRouteLeave:c=>t.addBeforeRouteHook({lifecycle:"onBeforeRouteLeave",hook:c,timing:"global",depth:0}),onAfterRouteEnter:c=>t.addAfterRouteHook({lifecycle:"onAfterRouteEnter",hook:c,timing:"global",depth:0}),onAfterRouteUpdate:c=>t.addAfterRouteHook({lifecycle:"onAfterRouteUpdate",hook:c,timing:"global",depth:0}),onAfterRouteLeave:c=>t.addAfterRouteHook({lifecycle:"onAfterRouteLeave",hook:c,timing:"global",depth:0}),hooks:t}}function Jt(){const t=i.inject(It);if(!t)throw new ot;return t}function Ft(t){return e=>{const n=Rt(),o=Jt().addBeforeRouteHook({lifecycle:t,hook:e,depth:n,timing:"component"});return i.onUnmounted(o),o}}function Et(t){return e=>{const n=Rt(),o=Jt().addAfterRouteHook({lifecycle:t,hook:e,depth:n,timing:"component"});return i.onUnmounted(o),o}}const je=Ft("onBeforeRouteUpdate"),He=Ft("onBeforeRouteLeave"),Ce=Et("onAfterRouteEnter"),Ve=Et("onAfterRouteUpdate"),qe=Et("onAfterRouteLeave"),_e=["href"],Kt=i.defineComponent({__name:"routerLink",props:{to:{type:[String,Function]},query:{},replace:{type:Boolean}},setup(t){const e=t,n=at(),r=i.computed(()=>J(e.to)?e.to:e.to(n.resolve)),o=i.computed(()=>{const{to:R,...S}=e;return S}),{href:s,isMatch:a,isExactMatch:c}=Ct(r),u=i.computed(()=>({"router-link--match":a.value,"router-link--exact-match":c.value})),l=i.computed(()=>n.isExternal(r.value));function p(R){R.preventDefault(),n.push(s.value,o.value)}return(R,S)=>(i.openBlock(),i.createElementBlock("a",{href:r.value,class:i.normalizeClass(["router-link",u.value]),onClick:p},[i.renderSlot(R.$slots,"default",i.normalizeProps(i.guardReactiveProps({resolved:r.value,isMatch:i.unref(a),isExactMatch:i.unref(c),isExternal:l.value})))],10,_e))}});function nt(...t){const e=t.flatMap(n=>Array.isArray(n)?n:Object.keys(n).map(We));for(const n of e)if(Oe(e,n)>1)throw new D(n)}function Oe(t,e){return t.filter(n=>e===n).length}function We(t){return t.startsWith("?")?t.slice(1):t}function De(t,e){nt(t.params,e.params);const n=`${t.path}${e.path}`;return{path:n,params:{...t.params,...e.params},toString:()=>n}}function Pt(t){return typeof t=="string"&&t.length>0}function Me(t,e){nt(t.params,e.params);const n=[t.query,e.query].filter(Pt).join("&");return{query:n,params:{...t.params,...e.params},toString:()=>n}}function Qt(t){return"parent"in t}function Gt(t){return"component"in t}function zt(t){return"components"in t}function Te(t){return!Gt(t)&&!zt(t)}function Yt(t,e){return{...e,key:qt(t.key,e.key),path:De(t.path,e.path),query:Me(t.query,e.query),matches:[...t.matches,e.matched],host:t.host,depth:t.depth+1}}const bt=i.defineComponent({__name:"routerView",props:{name:{}},setup(t){const{name:e="default"}=t,n=Wt(),r=Vt(),o=Rt();i.provide(Dt,o+1);const s=i.computed(()=>{if(r.value)return r.value.component;const c=n.matches.at(o);if(!c)return null;const l=a(c)[e];return l?typeof l=="function"?i.defineAsyncComponent(l):l:null});function a(c){return zt(c)?c.components:Gt(c)?{default:c.component}:{}}return(c,u)=>i.renderSlot(c.$slots,"default",i.normalizeProps(i.guardReactiveProps({route:i.unref(n),component:s.value,rejection:i.unref(r)})),()=>[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(s.value)))])}});function Ie(t,e){return i.defineComponent({name:"PropsWrapper",expose:[],setup(){const n=e();return"then"in n?()=>i.h(Je(t,n)):()=>i.h(t,n)}})}function Je(t,e){return i.defineComponent({name:"AsyncPropsWrapper",expose:[],async setup(){const n=await e;return()=>i.h(t,n)}})}const W="[",M="]";function Fe(t){return t!==String&&t!==Boolean&&t!==Number&&t!==Date}function Ke(t){return typeof t=="function"&&Fe(t)}function ct(t){return typeof t=="object"&&"get"in t&&typeof t.get=="function"&&"set"in t&&typeof t.set=="function"}function Xt(t){return ct(t)&&t.defaultValue!==void 0}function Qe(t,e){return re(t,e)}function Ge(t,e){return t[e]??String}const $={invalid:t=>{throw new Y(t)}},ze={get:t=>t,set:(t,{invalid:e})=>{if(typeof t!="string")throw e();return t}},Zt={get:(t,{invalid:e})=>{if(t==="true")return!0;if(t==="false")return!1;throw e()},set:(t,{invalid:e})=>{if(typeof t!="boolean")throw e();return t.toString()}},te={get:(t,{invalid:e})=>{const n=Number(t);if(isNaN(n))throw e();return n},set:(t,{invalid:e})=>{if(typeof t!="number")throw e();return t.toString()}},ee={get:(t,{invalid:e})=>{const n=new Date(t);if(isNaN(n.getTime()))throw e();return n},set:(t,{invalid:e})=>{if(typeof t!="object"||!(t instanceof Date))throw e();return t.toISOString()}},ne={get:(t,{invalid:e})=>{try{return JSON.parse(t)}catch{throw e()}},set:(t,{invalid:e})=>{try{return JSON.stringify(t)}catch{throw e()}}};function St(t,e,n=!1){if(t===void 0||!Pt(t)){if(Xt(e))return e.defaultValue;if(n)return;throw new Y}if(e===String)return ze.get(t,$);if(e===Boolean)return Zt.get(t,$);if(e===Number)return te.get(t,$);if(e===Date)return ee.get(t,$);if(e===JSON)return ne.get(t,$);if(Ke(e))return e(t,$);if(ct(e))return e.get(t,$);if(e instanceof RegExp){if(e.test(t))return t;throw new Y}return t}function kt(t,e,n=!1){if(t===void 0){if(n)return"";throw new Y}if(e===Boolean)return Zt.set(t,$);if(e===Number)return te.set(t,$);if(e===Date)return ee.set(t,$);if(e===JSON)return ne.set(t,$);if(ct(e))return e.set(t,$);try{return t.toString()}catch{throw new Y}}function re(t,e){return ct(t)?{...t,defaultValue:e??t.defaultValue}:{get:n=>St(n,t),set:n=>kt(n,t),defaultValue:e}}function T(){return T=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},T.apply(this,arguments)}var U;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(U||(U={}));var Z=process.env.NODE_ENV!=="production"?function(t){return Object.freeze(t)}:function(t){return t};function F(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}var it="beforeunload",Ye="hashchange",oe="popstate";function ae(t){t===void 0&&(t={});var e=t,n=e.window,r=n===void 0?document.defaultView:n,o=r.history;function s(){var d=r.location,f=d.pathname,h=d.search,v=d.hash,P=o.state||{};return[P.idx,Z({pathname:f,search:h,hash:v,state:P.usr||null,key:P.key||"default"})]}var a=null;function c(){if(a)g.call(a),a=null;else{var d=U.Pop,f=s(),h=f[0],v=f[1];if(g.length)if(h!=null){var P=p-h;P&&(a={action:d,location:v,retry:function(){b(P*-1)}},b(P))}else process.env.NODE_ENV!=="production"&&F(!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 _(d)}}r.addEventListener(oe,c);var u=U.Pop,l=s(),p=l[0],R=l[1],S=tt(),g=tt();p==null&&(p=0,o.replaceState(T({},o.state,{idx:p}),""));function x(d){return typeof d=="string"?d:K(d)}function L(d,f){return f===void 0&&(f=null),Z(T({pathname:R.pathname,hash:"",search:""},typeof d=="string"?rt(d):d,{state:f,key:ft()}))}function q(d,f){return[{usr:d.state,key:d.key,idx:f},x(d)]}function N(d,f,h){return!g.length||(g.call({action:d,location:f,retry:h}),!1)}function _(d){u=d;var f=s();p=f[0],R=f[1],S.call({action:u,location:R})}function m(d,f){var h=U.Push,v=L(d,f);function P(){m(d,f)}if(N(h,v,P)){var A=q(v,p+1),B=A[0],j=A[1];try{o.pushState(B,"",j)}catch{r.location.assign(j)}_(h)}}function w(d,f){var h=U.Replace,v=L(d,f);function P(){w(d,f)}if(N(h,v,P)){var A=q(v,p),B=A[0],j=A[1];o.replaceState(B,"",j),_(h)}}function b(d){o.go(d)}var k={get action(){return u},get location(){return R},createHref:x,push:m,replace:w,go:b,back:function(){b(-1)},forward:function(){b(1)},listen:function(f){return S.push(f)},block:function(f){var h=g.push(f);return g.length===1&&r.addEventListener(it,ut),function(){h(),g.length||r.removeEventListener(it,ut)}}};return k}function Xe(t){t===void 0&&(t={});var e=t,n=e.window,r=n===void 0?document.defaultView:n,o=r.history;function s(){var f=rt(r.location.hash.substr(1)),h=f.pathname,v=h===void 0?"/":h,P=f.search,A=P===void 0?"":P,B=f.hash,j=B===void 0?"":B,H=o.state||{};return[H.idx,Z({pathname:v,search:A,hash:j,state:H.usr||null,key:H.key||"default"})]}var a=null;function c(){if(a)g.call(a),a=null;else{var f=U.Pop,h=s(),v=h[0],P=h[1];if(g.length)if(v!=null){var A=p-v;A&&(a={action:f,location:P,retry:function(){k(A*-1)}},k(A))}else process.env.NODE_ENV!=="production"&&F(!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 m(f)}}r.addEventListener(oe,c),r.addEventListener(Ye,function(){var f=s(),h=f[1];K(h)!==K(R)&&c()});var u=U.Pop,l=s(),p=l[0],R=l[1],S=tt(),g=tt();p==null&&(p=0,o.replaceState(T({},o.state,{idx:p}),""));function x(){var f=document.querySelector("base"),h="";if(f&&f.getAttribute("href")){var v=r.location.href,P=v.indexOf("#");h=P===-1?v:v.slice(0,P)}return h}function L(f){return x()+"#"+(typeof f=="string"?f:K(f))}function q(f,h){return h===void 0&&(h=null),Z(T({pathname:R.pathname,hash:"",search:""},typeof f=="string"?rt(f):f,{state:h,key:ft()}))}function N(f,h){return[{usr:f.state,key:f.key,idx:h},L(f)]}function _(f,h,v){return!g.length||(g.call({action:f,location:h,retry:v}),!1)}function m(f){u=f;var h=s();p=h[0],R=h[1],S.call({action:u,location:R})}function w(f,h){var v=U.Push,P=q(f,h);function A(){w(f,h)}if(process.env.NODE_ENV!=="production"&&F(P.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.push("+JSON.stringify(f)+")"),_(v,P,A)){var B=N(P,p+1),j=B[0],H=B[1];try{o.pushState(j,"",H)}catch{r.location.assign(H)}m(v)}}function b(f,h){var v=U.Replace,P=q(f,h);function A(){b(f,h)}if(process.env.NODE_ENV!=="production"&&F(P.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.replace("+JSON.stringify(f)+")"),_(v,P,A)){var B=N(P,p),j=B[0],H=B[1];o.replaceState(j,"",H),m(v)}}function k(f){o.go(f)}var d={get action(){return u},get location(){return R},createHref:L,push:w,replace:b,go:k,back:function(){k(-1)},forward:function(){k(1)},listen:function(h){return S.push(h)},block:function(h){var v=g.push(h);return g.length===1&&r.addEventListener(it,ut),function(){v(),g.length||r.removeEventListener(it,ut)}}};return d}function se(t){t===void 0&&(t={});var e=t,n=e.initialEntries,r=n===void 0?["/"]:n,o=e.initialIndex,s=r.map(function(m){var w=Z(T({pathname:"/",search:"",hash:"",state:null,key:ft()},typeof m=="string"?rt(m):m));return process.env.NODE_ENV!=="production"&&F(w.pathname.charAt(0)==="/","Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: "+JSON.stringify(m)+")"),w}),a=ce(o??s.length-1,0,s.length-1),c=U.Pop,u=s[a],l=tt(),p=tt();function R(m){return typeof m=="string"?m:K(m)}function S(m,w){return w===void 0&&(w=null),Z(T({pathname:u.pathname,search:"",hash:""},typeof m=="string"?rt(m):m,{state:w,key:ft()}))}function g(m,w,b){return!p.length||(p.call({action:m,location:w,retry:b}),!1)}function x(m,w){c=m,u=w,l.call({action:c,location:u})}function L(m,w){var b=U.Push,k=S(m,w);function d(){L(m,w)}process.env.NODE_ENV!=="production"&&F(u.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.push("+JSON.stringify(m)+")"),g(b,k,d)&&(a+=1,s.splice(a,s.length,k),x(b,k))}function q(m,w){var b=U.Replace,k=S(m,w);function d(){q(m,w)}process.env.NODE_ENV!=="production"&&F(u.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.replace("+JSON.stringify(m)+")"),g(b,k,d)&&(s[a]=k,x(b,k))}function N(m){var w=ce(a+m,0,s.length-1),b=U.Pop,k=s[w];function d(){N(m)}g(b,k,d)&&(a=w,x(b,k))}var _={get index(){return a},get action(){return c},get location(){return u},createHref:R,push:L,replace:q,go:N,back:function(){N(-1)},forward:function(){N(1)},listen:function(w){return l.push(w)},block:function(w){return p.push(w)}};return _}function ce(t,e,n){return Math.min(Math.max(t,e),n)}function ut(t){t.preventDefault(),t.returnValue=""}function tt(){var t=[];return{get length(){return t.length},push:function(n){return t.push(n),function(){t=t.filter(function(r){return r!==n})}},call:function(n){t.forEach(function(r){return r&&r(n)})}}}function ft(){return Math.random().toString(36).substr(2,8)}function K(t){var e=t.pathname,n=e===void 0?"/":e,r=t.search,o=r===void 0?"":r,s=t.hash,a=s===void 0?"":s;return o&&o!=="?"&&(n+=o.charAt(0)==="?"?o:"?"+o),a&&a!=="#"&&(n+=a.charAt(0)==="#"?a:"#"+a),n}function rt(t){var e={};if(t){var n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));var r=t.indexOf("?");r>=0&&(e.search=t.substr(r),t=t.substr(0,r)),t&&(e.pathname=t)}return e}function Ze(t,e){const n=i.reactive({...t}),r=a=>{Object.assign(n,{...a})},o=n,s=Ae(o,e);return{currentRoute:o,routerRoute:s,updateRoute:r}}function Q(t){return!t.startsWith("http")?en(t):tn(t)}function tn(t){const{protocol:e,host:n,pathname:r,search:o,searchParams:s,hash:a}=new URL(t,t);return{protocol:e,host:n,pathname:r,search:o,searchParams:s,hash:a}}function en(t){const{pathname:e,search:n,searchParams:r,hash:o}=new URL(t,"https://localhost");return{pathname:e,search:n,searchParams:r,hash:o}}function nn(t){return e=>{const{host:n}=Q(e);return!(n===void 0||n===t)}}function ie(){return typeof window<"u"&&typeof window.document<"u"}function rn({mode:t,listener:e}){const n=on(t),r=(u,l)=>{if(l!=null&&l.replace)return n.replace(u);n.push(u)},o=()=>{const u=K(n.location);return n.replace(u)};let s;return{...n,update:r,refresh:o,startListening:()=>{s==null||s(),s=n.listen(e)},stopListening:()=>{s==null||s()}}}function on(t="auto"){switch(t){case"auto":return ie()?ae():se();case"browser":return ae();case"memory":return se();case"hash":return Xe();default:const e=t;throw new Error(`Switch is not exhaustive for mode: ${e}`)}}function an(t){return i.defineComponent(()=>()=>i.h("h1",t),{name:t,props:[]})}function ue(t){const e=new URLSearchParams(t);return{get:n=>e.get(n),getAll:n=>e.getAll(n)}}const fe=Symbol();function sn({rejections:t}){const e=a=>{const c={...t};return i.markRaw(c[a]??an(a))},n=a=>{const c=i.markRaw(e(a)),u={name:a,component:c,meta:{}};return{matched:u,matches:[u],key:a,query:ue(""),params:{},[fe]:!0}},r=a=>fe in a,o=a=>{if(!a){s.value=null;return}const c=e(a);s.value={type:a,component:c}},s=i.ref(null);return{setRejection:o,rejection:s,getRejectionRoute:n,isRejectionRoute:r}}class cn extends Error{constructor(e){super(`Route disabled: "${e}"`)}}class un extends Error{constructor(e){super(`Route not found: "${e}"`)}}function At(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fn(t,e){const n=Array.from(t.matchAll(e));if(n.length===0)return[t];let r=0;const o=n.reduce((a,c)=>{const u=At(t.slice(r,c.index));u.length&&a.push(u);const[l]=c;return a.push(l),r=c.index+l.length,a},[]),s=t.slice(r);return s&&o.push(s),o}function ln(t){const e=le(t.path.toString());return new RegExp(`^${e}$`,"i")}function hn(t){const e=new URLSearchParams(t.query.toString());return Array.from(e.entries()).filter(([,n])=>!Lt(n)).map(([n,r])=>{const o=le(r);return new RegExp(`${At(n)}=${o}(&|$)`,"i")})}function le(t){return fn(t,new RegExp(pn,"g")).map(e=>e.startsWith(W)?he(e):At(e)).join("")}function he(t){return[dn,mn].reduce((e,n)=>n(e),t)}const pn=`\\${W}\\??([\\w-_]+)\\${M}`,xt=`\\${W}\\?([\\w-_]+)\\${M}`,pe=`\\${W}([\\w-_]+)\\${M}`;function dn(t){return t.replace(new RegExp(xt,"g"),".*")}function Lt(t){return new RegExp(xt,"g").test(t)}function mn(t){return t.replace(new RegExp(pe,"g"),".+")}function lt(t){const[e]=ht(t,new RegExp(xt,"g")),[n]=ht(t,new RegExp(pe,"g"));return e??n}function ht(t,e){return Array.from(t.matchAll(e)).flatMap(([,...r])=>r.map(o=>Pt(o)?o:""))}function de(t,e,n){const r=Re(e,n),[o]=ht(t,r);return o}function me(t,e){if(!e)return t;const{name:n,param:r,value:o}=e,s=Re(t,n);return ht(t,s).reduce((c,u)=>u===void 0?c:c.replace(u,()=>kt(o,r,n.startsWith("?"))),t)}function Re(t,e){const n=[Rn,gn,he].reduce((r,o)=>o(r,e),t);return new RegExp(n,"g")}function Rn(t,e){if(!e.startsWith("?"))return t;const n=new RegExp(`\\${W}\\${e}\\${M}`,"g");return t.replace(n,"(.*)")}function gn(t,e){if(e.startsWith("?"))return t;const n=new RegExp(`\\${W}${e}\\${M}`,"g");return t.replace(n,"(.+)")}function ge(t,...e){return e.reduce((n,r)=>{if(!r)return n;const o=new URLSearchParams(r).toString();return Object.keys(o).length===0?n:n.includes("?")?`${n}&${o}`:`${n}?${o}`},t)}function yn(t,e={}){const{params:n={},query:r}=e,o=wn(t.host,n),s=vn(t.path,n),a=En(t.query,n);return ge(`${o}${s}`,a,r)}function wn(t,e){const n=t.toString();return Object.entries(t.params).reduce((r,[o,s])=>{const a=lt(`${W}${o}${M}`);return a?me(r,{name:o,param:s,value:e[a]}):r},n)}function vn(t,e){const n=t.toString();return Object.entries(t.params).reduce((r,[o,s])=>{const a=lt(`${W}${o}${M}`);return a?me(r,{name:o,param:s,value:e[a]}):r},n)}function En(t,e){const n=t.toString();if(!n)return{};const r=new URLSearchParams(n);return Array.from(r.entries()).reduce((o,[s,a])=>{const c=lt(a);if(!c)return{...o,[s]:a};const l=kt(e[c],t.params[c],Lt(a)),p=e[c]===void 0&&l==="";return Lt(a)&&p?o:{...o,[s]:l}},{})}function Pn(t){return(e,n,r)=>{if(J(e))return ge(e,(n??{}).query);const o=n??{},s=r??{},a=t.find(u=>u.key===e);if(!a)throw new un(String(e));if(a.matched.disabled)throw new cn(String(e));return yn(a,{params:o,query:s.query})}}class bn extends Error{constructor(){super("initialUrl must be set if window.location is unavailable")}}function Sn(t){if(t)return t;if(ie())return window.location.toString();throw new bn}const kn=(t,e)=>{try{ye(t,e)}catch{return!1}return!0},ye=(t,e)=>{const{pathname:n,search:r}=Q(e);return{...An(t.path,n),...xn(t.query,r)}};function An(t,e){const n={},r=decodeURIComponent(e);for(const[o,s]of Object.entries(t.params)){const a=o.startsWith("?"),c=a?o.slice(1):o,u=de(r,t.toString(),o),l=St(u,s,a);n[c]=l}return n}function xn(t,e){const n={},r=new URLSearchParams(e);for(const[o,s]of Object.entries(t.params)){const a=o.startsWith("?"),c=a?o.slice(1):o,u=r.get(c)??void 0,l=St(u,s,a);n[c]=l}return n}const Ln=t=>"name"in t.matched&&!!t.matched.name,Bn=(t,e)=>{const{pathname:n}=Q(e);return ln(t).test(n)},Un=(t,e)=>{const{search:n}=Q(e);return hn(t).every(o=>o.test(n))};function $n(t){const{searchParams:e,pathname:n}=Q(t),r=-1,o=1;return(s,a)=>{const c=ve(s,e),u=we(s,n),l=ve(a,e),p=we(a,n);return s.depth>a.depth?r:s.depth<a.depth?o:c+u>l+p?r:c+u<l+p?o:0}}function we(t,e){const n=Object.keys(t.path.params).filter(o=>o.startsWith("?")).map(o=>o),r=n.filter(o=>de(e,t.path.toString(),o)===void 0);return n.length-r.length}function ve(t,e){const n=new URLSearchParams(t.query.toString()),r=Array.from(n.keys()),o=r.filter(s=>!e.has(s));return r.length-o.length}const Nn=[Ln,Bn,Un,kn];function Bt(t,e){const n=$n(e),r=t.filter(u=>Nn.every(l=>l(u,e))).sort(n);if(r.length===0)return;const[o]=r,{search:s}=Q(e),a=ue(s),c=ye(o,e);return{matched:o.matched,matches:o.matches,key:o.key,query:a,params:c}}function Ut(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function jn(t){return t.every(e=>Array.isArray(e))}function Hn(t,e={}){const n=jn(t)?t.flat():t,r=Pn(n),o=rn({mode:e.historyMode,listener:()=>{const E=K(location);x(E)}}),{runBeforeRouteHooks:s,runAfterRouteHooks:a}=Ue(),{hooks:c,onBeforeRouteEnter:u,onAfterRouteUpdate:l,onBeforeRouteLeave:p,onAfterRouteEnter:R,onBeforeRouteUpdate:S,onAfterRouteLeave:g}=Ne();async function x(E,{replace:C}={}){if(o.stopListening(),A(E))return o.update(E,{replace:C});const O=Bt(n,E)??b("NotFound"),G={...d},z=await s({to:O,from:G,hooks:c});switch(z.status){case"ABORT":return;case"PUSH":o.update(E,{replace:C}),await L(...z.to);return;case"REJECT":o.update(E,{replace:C}),m(z.type),h(O);break;case"SUCCESS":o.update(E,{replace:C}),m(null),h(O);break;default:throw new Error(`Switch is not exhaustive for before hook response status: ${JSON.stringify(z)}`)}const I=await a({to:O,from:G,hooks:c});switch(I.status){case"PUSH":await L(...I.to);break;case"REJECT":m(I.type);break;case"SUCCESS":break;default:const pt=I;throw new Error(`Switch is not exhaustive for after hook response status: ${JSON.stringify(pt)}`)}o.startListening()}const L=(E,C,O)=>{if(J(E)){const pt={...C},Mn=r(E,pt);return x(Mn,{replace:pt.replace})}const G={...O},I=r(E,C??{},G);return x(I,{replace:G.replace})},q=(E,C,O)=>{if(J(E)){const I={...C,replace:!0};return L(E,I)}const G=C??{},z={...O,replace:!0};return L(E,G,z)},N=E=>m(E),_=(E,C={})=>{if(!J(E)){const O=r(E,C);return Bt(n,O)}if(!A(E))return Bt(n,E)},{setRejection:m,rejection:w,getRejectionRoute:b}=sn(e),k=b("NotFound"),{currentRoute:d,routerRoute:f,updateRoute:h}=Ze(k,L);o.startListening();const v=Sn(e.initialUrl),{host:P}=Q(v),A=nn(P),B=x(v,{replace:!0});function j(E){E.component("RouterView",bt),E.component("RouterLink",Kt),E.provide(mt,w),E.provide(It,c),E.provide(dt,H)}const H={route:f,resolve:r,push:L,replace:q,reject:N,find:_,refresh:o.refresh,forward:o.forward,back:o.back,go:o.go,install:j,initialized:B,isExternal:A,onBeforeRouteEnter:u,onAfterRouteUpdate:l,onBeforeRouteLeave:p,onAfterRouteEnter:R,onBeforeRouteUpdate:S,onAfterRouteLeave:g};return H}function $t(t,e){const n=new RegExp(`\\${W}(\\??[\\w-_]+)\\${M}`,"g");return Array.from(t.matchAll(n)).reduce((o,[s,a])=>{const c=lt(s);if(!c)return o;const u=Ge(e,c);return nt([c],o),o[a]=u,o},{})}function Nt(t,e){return{path:t,params:$t(t,e),toString:()=>t}}function jt(t,e){return{query:t,params:$t(t,e),toString:()=>t}}function Ee(t,e){return{host:t,params:$t(t,e),toString:()=>t}}function Pe(t){return t===void 0?"":t}function Cn(t){return Ut(t)&&typeof t.path=="string"}function be(t){return t===void 0?Nt("",{}):Cn(t)?t:Nt(t,{})}function Vn(t){return Ut(t)&&typeof t.query=="string"}function Se(t){return t===void 0?jt("",{}):Vn(t)?t:jt(t,{})}function qn(t){const e=_n(t),n=Pe(t.name),r=be(t.path),o=Se(t.query),s=i.markRaw({meta:{},...e}),a={matched:s,matches:[s],key:n,path:r,query:o,depth:1,disabled:t.disabled??!1,host:Ee("",{})},c=Qt(t)?Yt(t.parent,a):a;return nt(c.path.params,c.query.params),c}function _n(t){return Te(t)?{...t,component:bt}:t}function On(t){return Ut(t)&&typeof t.host=="string"}function Wn(t){return On(t)?t:Ee(t,{})}function Dn(t){const e=Pe(t.name),n=be(t.path),r=Se(t.query),o=Wn(t.host??""),s=i.markRaw({meta:{},...t}),a={matched:s,matches:[s],key:e,host:o,path:n,query:r,depth:1,disabled:t.disabled??!1},c=Qt(t)?Yt(t.parent,a):a;return nt(c.path.params,c.query.params,c.host.params),c}y.DuplicateParamsError=D,y.RouterLink=Kt,y.RouterNotInstalledError=ot,y.RouterView=bt,y.UseRouteInvalidError=Ht,y.component=Ie,y.createExternalRoute=Dn,y.createParam=re,y.createRoute=qn,y.createRouter=Hn,y.isParamWithDefault=Xt,y.isRoute=Ot,y.onAfterRouteEnter=Ce,y.onAfterRouteLeave=Ve,y.onAfterRouteUpdate=qe,y.onBeforeRouteLeave=je,y.onBeforeRouteUpdate=He,y.path=Nt,y.query=jt,y.routerInjectionKey=dt,y.routerRejectionKey=mt,y.useLink=Ct,y.useRejection=Vt,y.useRoute=Wt,y.useRouter=at,y.withDefault=Qe,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
1
+ (function(y,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],i):(y=typeof globalThis<"u"?globalThis:y||self,i(y["@kitbag/router"]={},y.Vue))})(this,function(y,i){"use strict";var Mn=Object.defineProperty;var Dn=(y,i,M)=>i in y?Mn(y,i,{enumerable:!0,configurable:!0,writable:!0,value:M}):y[i]=M;var C=(y,i,M)=>(Dn(y,typeof i!="symbol"?i+"":i,M),M);class M extends Error{constructor(e){super(`Invalid Param "${e}": Router does not support multiple params by the same name. All param names must be unique.`)}}class ot extends Error{constructor(){super("Router not installed")}}class jt extends Error{constructor(e,n){super(`useRoute called with incorrect route. Given ${e}, expected ${n}`)}}const dt=Symbol();function at(){const t=i.inject(dt);if(!t)throw new ot;return t}class Y extends Error{}function J(t){return typeof t!="string"?!1:/^(https?:\/\/|\/).*/g.test(t)}function Ht(t,e={},n={}){const o=at(),r=i.computed(()=>i.toValue(t)),s=i.computed(()=>i.toValue(e)),a=i.computed(()=>i.toValue(n)),c=i.computed(()=>{if(J(r.value))return r.value;try{return o.resolve(r.value,s.value,a.value)}catch(l){throw l instanceof Y&&console.error(`Failed to resolve route "${r.value.toString()}" in RouterLink.`,l),l}}),u=i.computed(()=>o.find(c.value,a.value)),h=i.computed(()=>!!u.value&&o.route.matches.includes(u.value.matched)),d=i.computed(()=>!!u.value&&o.route.matched===u.value.matched);return{route:u,href:c,isMatch:h,isExactMatch:d,push:l=>o.push(c.value,{},{...a.value,...l}),replace:l=>o.replace(c.value,{},{...a.value,...l})}}const mt=Symbol();function Vt(){const t=i.inject(mt);if(!t)throw new ot;return t}function Ct(t,e){return[t,e].filter(n=>!!n).join(".")}const qt=Symbol("isRouterRouteSymbol");function xe(t){return typeof t=="object"&&t!==null&&qt in t}function Le(t,e){function n(h,d,l){if(typeof h=="object"){const m={...t.params,...h};return e(t.key,m,d)}const S={...t.params,[h]:d};return e(t.key,S,l)}const{matched:o,matches:r,key:s,query:a,params:c}=i.toRefs(t),u=i.reactive({matched:o,matches:r,query:a,params:c,key:s,update:n,[qt]:!0});return new Proxy(u,{get:(h,d,l)=>d==="params"?new Proxy(t.params,{set(S,m,x){return n(m,x),!0}}):Reflect.get(h,d,l)})}function _t(t,e,{exact:n}={}){if(!xe(t))return!1;if(e===void 0)return!0;const o=Be(t);if(n){const r=o.at(-1);return e===r}return o.includes(e)}function Be(t){return t.matches.map(n=>n.name).reduce((n,o)=>{const r=n.pop(),s=o?[Ct(r,o)]:[];return r?[...n,r,...s]:s},[])}function Ot(t,e){const n=at();function o(){if(!t)return;if(!_t(n.route,t,e))throw new jt(t,n.route.key)}return i.watch(n.route,o,{immediate:!0,deep:!0}),n.route}const Wt=Symbol();function Rt(){return i.inject(Wt,0)}class st{constructor(){C(this,"onBeforeRouteEnter",new Set);C(this,"onBeforeRouteUpdate",new Set);C(this,"onBeforeRouteLeave",new Set);C(this,"onAfterRouteEnter",new Set);C(this,"onAfterRouteUpdate",new Set);C(this,"onAfterRouteLeave",new Set)}}class Mt extends Error{}class et extends Error{constructor(n){super("Error occurred during a router push operation.");C(this,"to");this.to=n}}class gt extends Error{constructor(n){super(`Routing action rejected: ${n}`);C(this,"type");this.type=n}}function X(t){return Array.isArray(t)?t:[t]}function Ue(t,e){const n=new st;return t.matches.forEach((o,r)=>{o.onBeforeRouteEnter&&yt(t,e,r)&&X(o.onBeforeRouteEnter).forEach(s=>n.onBeforeRouteEnter.add(s)),o.onBeforeRouteUpdate&&vt(t,e,r)&&X(o.onBeforeRouteUpdate).forEach(s=>n.onBeforeRouteUpdate.add(s))}),e.matches.forEach((o,r)=>{o.onBeforeRouteLeave&&wt(t,e,r)&&X(o.onBeforeRouteLeave).forEach(s=>n.onBeforeRouteLeave.add(s))}),n}function $e(t,e){const n=new st;return t.matches.forEach((o,r)=>{o.onAfterRouteEnter&&yt(t,e,r)&&X(o.onAfterRouteEnter).forEach(s=>n.onAfterRouteEnter.add(s)),o.onAfterRouteUpdate&&vt(t,e,r)&&X(o.onAfterRouteUpdate).forEach(s=>n.onAfterRouteUpdate.add(s))}),e.matches.forEach((o,r)=>{o.onAfterRouteLeave&&wt(t,e,r)&&X(o.onAfterRouteLeave).forEach(s=>n.onAfterRouteLeave.add(s))}),n}function Ne(){const t=a=>{throw new gt(a)},e=(...a)=>{throw new et(a)},n=(a,c,u)=>{if(J(a)){const l=c??{};throw new et([a,{...l,replace:!0}])}const h=c,d=u??{};throw new et([a,h,{...d,replace:!0}])},o=()=>{throw new Mt};async function r({to:a,from:c,hooks:u}){const{global:h,component:d}=u,l=Ue(a,c),S=[...h.onBeforeRouteEnter,...l.onBeforeRouteEnter,...h.onBeforeRouteUpdate,...l.onBeforeRouteUpdate,...d.onBeforeRouteUpdate,...h.onBeforeRouteLeave,...l.onBeforeRouteLeave,...d.onBeforeRouteLeave];try{const m=S.map(x=>x(a,{from:c,reject:t,push:e,replace:n,abort:o}));await Promise.all(m)}catch(m){if(m instanceof et)return{status:"PUSH",to:m.to};if(m instanceof gt)return{status:"REJECT",type:m.type};if(m instanceof Mt)return{status:"ABORT"};throw m}return{status:"SUCCESS"}}async function s({to:a,from:c,hooks:u}){const{global:h,component:d}=u,l=$e(a,c),S=[...d.onAfterRouteLeave,...l.onAfterRouteLeave,...h.onAfterRouteLeave,...d.onAfterRouteUpdate,...l.onAfterRouteUpdate,...h.onAfterRouteUpdate,...d.onAfterRouteEnter,...l.onAfterRouteEnter,...h.onAfterRouteEnter];try{const m=S.map(x=>x(a,{from:c,reject:t,push:e,replace:n}));await Promise.all(m)}catch(m){if(m instanceof et)return{status:"PUSH",to:m.to};if(m instanceof gt)return{status:"REJECT",type:m.type};throw m}return{status:"SUCCESS"}}return{runBeforeRouteHooks:r,runAfterRouteHooks:s}}const yt=(t,e,n)=>{const o=t.matches,r=(e==null?void 0:e.matches)??[];return o.length<n||o[n]!==r[n]},wt=(t,e,n)=>{const o=t.matches,r=(e==null?void 0:e.matches)??[];return o.length<n||o[n]!==r[n]},vt=(t,e,n)=>t.matches[n]===(e==null?void 0:e.matches[n]);function Dt(t){switch(t){case"onBeforeRouteEnter":case"onAfterRouteEnter":return yt;case"onBeforeRouteUpdate":case"onAfterRouteUpdate":return vt;case"onBeforeRouteLeave":case"onAfterRouteLeave":return wt;default:throw new Error(`Switch is not exhaustive for lifecycle: ${t}`)}}class je{constructor(){C(this,"global",new st);C(this,"component",new st)}addBeforeRouteHook({lifecycle:e,timing:n,depth:o,hook:r}){const s=Dt(e),a=this[n][e],c=(u,h)=>{if(s(u,h.from,o))return r(u,h)};return a.add(c),()=>a.delete(c)}addAfterRouteHook({lifecycle:e,timing:n,depth:o,hook:r}){const s=Dt(e),a=this[n][e],c=(u,h)=>{if(s(u,h.from,o))return r(u,h)};return a.add(c),()=>a.delete(c)}}const Tt=Symbol();function He(){const t=new je;return{onBeforeRouteEnter:c=>t.addBeforeRouteHook({lifecycle:"onBeforeRouteEnter",hook:c,timing:"global",depth:0}),onBeforeRouteUpdate:c=>t.addBeforeRouteHook({lifecycle:"onBeforeRouteUpdate",hook:c,timing:"global",depth:0}),onBeforeRouteLeave:c=>t.addBeforeRouteHook({lifecycle:"onBeforeRouteLeave",hook:c,timing:"global",depth:0}),onAfterRouteEnter:c=>t.addAfterRouteHook({lifecycle:"onAfterRouteEnter",hook:c,timing:"global",depth:0}),onAfterRouteUpdate:c=>t.addAfterRouteHook({lifecycle:"onAfterRouteUpdate",hook:c,timing:"global",depth:0}),onAfterRouteLeave:c=>t.addAfterRouteHook({lifecycle:"onAfterRouteLeave",hook:c,timing:"global",depth:0}),hooks:t}}function It(){const t=i.inject(Tt);if(!t)throw new ot;return t}function Jt(t){return e=>{const n=Rt(),r=It().addBeforeRouteHook({lifecycle:t,hook:e,depth:n,timing:"component"});return i.onUnmounted(r),r}}function Et(t){return e=>{const n=Rt(),r=It().addAfterRouteHook({lifecycle:t,hook:e,depth:n,timing:"component"});return i.onUnmounted(r),r}}const Ve=Jt("onBeforeRouteUpdate"),Ce=Jt("onBeforeRouteLeave"),qe=Et("onAfterRouteEnter"),_e=Et("onAfterRouteUpdate"),Oe=Et("onAfterRouteLeave"),We=["href"],Ft=i.defineComponent({__name:"routerLink",props:{to:{type:[String,Function]},query:{},replace:{type:Boolean}},setup(t){const e=t,n=at(),o=i.computed(()=>J(e.to)?e.to:e.to(n.resolve)),r=i.computed(()=>{const{to:l,...S}=e;return S}),{href:s,isMatch:a,isExactMatch:c}=Ht(o),u=i.computed(()=>({"router-link--match":a.value,"router-link--exact-match":c.value})),h=i.computed(()=>n.isExternal(o.value));function d(l){l.preventDefault(),n.push(s.value,r.value)}return(l,S)=>(i.openBlock(),i.createElementBlock("a",{href:o.value,class:i.normalizeClass(["router-link",u.value]),onClick:d},[i.renderSlot(l.$slots,"default",i.normalizeProps(i.guardReactiveProps({resolved:o.value,isMatch:i.unref(a),isExactMatch:i.unref(c),isExternal:h.value})))],10,We))}});function Kt(t,e){return i.defineComponent({name:"PropsWrapper",expose:[],setup(){const n=e();return"then"in n?()=>i.h(Me(t,n)):()=>i.h(t,n)}})}function Me(t,e){return i.defineComponent({name:"AsyncPropsWrapper",expose:[],async setup(){const n=await e;return()=>i.h(t,n)}})}function nt(...t){const e=t.flatMap(n=>Array.isArray(n)?n:Object.keys(n).map(Te));for(const n of e)if(De(e,n)>1)throw new M(n)}function De(t,e){return t.filter(n=>e===n).length}function Te(t){return t.startsWith("?")?t.slice(1):t}function Ie(t,e){nt(t.params,e.params);const n=`${t.path}${e.path}`;return{path:n,params:{...t.params,...e.params},toString:()=>n}}function Pt(t){return typeof t=="string"&&t.length>0}function Je(t,e){nt(t.params,e.params);const n=[t.query,e.query].filter(Pt).join("&");return{query:n,params:{...t.params,...e.params},toString:()=>n}}function Fe(t){return"host"in t&&!!t.host}function Qt(t){return"parent"in t&&!!t.parent}function Gt(t){return"component"in t&&!!t.component}function zt(t){return"components"in t&&!!t.components}function Yt(t,e){return{...e,key:Ct(t.key,e.key),path:Ie(t.path,e.path),query:Je(t.query,e.query),matches:[...t.matches,e.matched],host:t.host,depth:t.depth+1}}const Xt=i.defineComponent({__name:"routerView",props:{name:{}},setup(t){const{name:e="default"}=t,n=Ot(),o=Vt(),r=Rt(),s=i.resolveComponent("RouterView",!0);i.provide(Wt,r+1);const a=i.computed(()=>{if(o.value)return o.value.component;const l=n.matches.at(r);if(!l)return null;const S=c(l),m=h(l);return S?m?Kt(S,()=>m(n.params)):S:null});function c(l){return u(l)[e]}function u(l){return zt(l)?l.components:Gt(l)?{default:l.component}:typeof s=="string"?{}:{default:s}}function h(l){return d(l)[e]}function d(l){return zt(l)?l.props??{}:Gt(l)?{default:l.props}:{}}return(l,S)=>a.value?i.renderSlot(l.$slots,"default",i.normalizeProps(i.mergeProps({key:0},{route:i.unref(n),component:a.value,rejection:i.unref(o)})),()=>[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(a.value)))]):i.createCommentVNode("",!0)}}),W="[",D="]";function Ke(t){return t!==String&&t!==Boolean&&t!==Number&&t!==Date}function Qe(t){return typeof t=="function"&&Ke(t)}function ct(t){return typeof t=="object"&&"get"in t&&typeof t.get=="function"&&"set"in t&&typeof t.set=="function"}function Zt(t){return ct(t)&&t.defaultValue!==void 0}function Ge(t,e){return oe(t,e)}function ze(t,e){return t[e]??String}const $={invalid:t=>{throw new Y(t)}},Ye={get:t=>t,set:(t,{invalid:e})=>{if(typeof t!="string")throw e();return t}},te={get:(t,{invalid:e})=>{if(t==="true")return!0;if(t==="false")return!1;throw e()},set:(t,{invalid:e})=>{if(typeof t!="boolean")throw e();return t.toString()}},ee={get:(t,{invalid:e})=>{const n=Number(t);if(isNaN(n))throw e();return n},set:(t,{invalid:e})=>{if(typeof t!="number")throw e();return t.toString()}},ne={get:(t,{invalid:e})=>{const n=new Date(t);if(isNaN(n.getTime()))throw e();return n},set:(t,{invalid:e})=>{if(typeof t!="object"||!(t instanceof Date))throw e();return t.toISOString()}},re={get:(t,{invalid:e})=>{try{return JSON.parse(t)}catch{throw e()}},set:(t,{invalid:e})=>{try{return JSON.stringify(t)}catch{throw e()}}};function St(t,e,n=!1){if(t===void 0||!Pt(t)){if(Zt(e))return e.defaultValue;if(n)return;throw new Y}if(e===String)return Ye.get(t,$);if(e===Boolean)return te.get(t,$);if(e===Number)return ee.get(t,$);if(e===Date)return ne.get(t,$);if(e===JSON)return re.get(t,$);if(Qe(e))return e(t,$);if(ct(e))return e.get(t,$);if(e instanceof RegExp){if(e.test(t))return t;throw new Y}return t}function bt(t,e,n=!1){if(t===void 0){if(n)return"";throw new Y}if(e===Boolean)return te.set(t,$);if(e===Number)return ee.set(t,$);if(e===Date)return ne.set(t,$);if(e===JSON)return re.set(t,$);if(ct(e))return e.set(t,$);try{return t.toString()}catch{throw new Y}}function oe(t,e){return ct(t)?{...t,defaultValue:e??t.defaultValue}:{get:n=>St(n,t),set:n=>bt(n,t),defaultValue:e}}function T(){return T=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},T.apply(this,arguments)}var U;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(U||(U={}));var Z=process.env.NODE_ENV!=="production"?function(t){return Object.freeze(t)}:function(t){return t};function F(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}var it="beforeunload",Xe="hashchange",ae="popstate";function se(t){t===void 0&&(t={});var e=t,n=e.window,o=n===void 0?document.defaultView:n,r=o.history;function s(){var R=o.location,f=R.pathname,p=R.search,v=R.hash,P=r.state||{};return[P.idx,Z({pathname:f,search:p,hash:v,state:P.usr||null,key:P.key||"default"})]}var a=null;function c(){if(a)m.call(a),a=null;else{var R=U.Pop,f=s(),p=f[0],v=f[1];if(m.length)if(p!=null){var P=d-p;P&&(a={action:R,location:v,retry:function(){b(P*-1)}},b(P))}else process.env.NODE_ENV!=="production"&&F(!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 _(R)}}o.addEventListener(ae,c);var u=U.Pop,h=s(),d=h[0],l=h[1],S=tt(),m=tt();d==null&&(d=0,r.replaceState(T({},r.state,{idx:d}),""));function x(R){return typeof R=="string"?R:K(R)}function L(R,f){return f===void 0&&(f=null),Z(T({pathname:l.pathname,hash:"",search:""},typeof R=="string"?rt(R):R,{state:f,key:ft()}))}function q(R,f){return[{usr:R.state,key:R.key,idx:f},x(R)]}function N(R,f,p){return!m.length||(m.call({action:R,location:f,retry:p}),!1)}function _(R){u=R;var f=s();d=f[0],l=f[1],S.call({action:u,location:l})}function g(R,f){var p=U.Push,v=L(R,f);function P(){g(R,f)}if(N(p,v,P)){var A=q(v,d+1),B=A[0],j=A[1];try{r.pushState(B,"",j)}catch{o.location.assign(j)}_(p)}}function w(R,f){var p=U.Replace,v=L(R,f);function P(){w(R,f)}if(N(p,v,P)){var A=q(v,d),B=A[0],j=A[1];r.replaceState(B,"",j),_(p)}}function b(R){r.go(R)}var k={get action(){return u},get location(){return l},createHref:x,push:g,replace:w,go:b,back:function(){b(-1)},forward:function(){b(1)},listen:function(f){return S.push(f)},block:function(f){var p=m.push(f);return m.length===1&&o.addEventListener(it,ut),function(){p(),m.length||o.removeEventListener(it,ut)}}};return k}function Ze(t){t===void 0&&(t={});var e=t,n=e.window,o=n===void 0?document.defaultView:n,r=o.history;function s(){var f=rt(o.location.hash.substr(1)),p=f.pathname,v=p===void 0?"/":p,P=f.search,A=P===void 0?"":P,B=f.hash,j=B===void 0?"":B,H=r.state||{};return[H.idx,Z({pathname:v,search:A,hash:j,state:H.usr||null,key:H.key||"default"})]}var a=null;function c(){if(a)m.call(a),a=null;else{var f=U.Pop,p=s(),v=p[0],P=p[1];if(m.length)if(v!=null){var A=d-v;A&&(a={action:f,location:P,retry:function(){k(A*-1)}},k(A))}else process.env.NODE_ENV!=="production"&&F(!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 g(f)}}o.addEventListener(ae,c),o.addEventListener(Xe,function(){var f=s(),p=f[1];K(p)!==K(l)&&c()});var u=U.Pop,h=s(),d=h[0],l=h[1],S=tt(),m=tt();d==null&&(d=0,r.replaceState(T({},r.state,{idx:d}),""));function x(){var f=document.querySelector("base"),p="";if(f&&f.getAttribute("href")){var v=o.location.href,P=v.indexOf("#");p=P===-1?v:v.slice(0,P)}return p}function L(f){return x()+"#"+(typeof f=="string"?f:K(f))}function q(f,p){return p===void 0&&(p=null),Z(T({pathname:l.pathname,hash:"",search:""},typeof f=="string"?rt(f):f,{state:p,key:ft()}))}function N(f,p){return[{usr:f.state,key:f.key,idx:p},L(f)]}function _(f,p,v){return!m.length||(m.call({action:f,location:p,retry:v}),!1)}function g(f){u=f;var p=s();d=p[0],l=p[1],S.call({action:u,location:l})}function w(f,p){var v=U.Push,P=q(f,p);function A(){w(f,p)}if(process.env.NODE_ENV!=="production"&&F(P.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.push("+JSON.stringify(f)+")"),_(v,P,A)){var B=N(P,d+1),j=B[0],H=B[1];try{r.pushState(j,"",H)}catch{o.location.assign(H)}g(v)}}function b(f,p){var v=U.Replace,P=q(f,p);function A(){b(f,p)}if(process.env.NODE_ENV!=="production"&&F(P.pathname.charAt(0)==="/","Relative pathnames are not supported in hash history.replace("+JSON.stringify(f)+")"),_(v,P,A)){var B=N(P,d),j=B[0],H=B[1];r.replaceState(j,"",H),g(v)}}function k(f){r.go(f)}var R={get action(){return u},get location(){return l},createHref:L,push:w,replace:b,go:k,back:function(){k(-1)},forward:function(){k(1)},listen:function(p){return S.push(p)},block:function(p){var v=m.push(p);return m.length===1&&o.addEventListener(it,ut),function(){v(),m.length||o.removeEventListener(it,ut)}}};return R}function ce(t){t===void 0&&(t={});var e=t,n=e.initialEntries,o=n===void 0?["/"]:n,r=e.initialIndex,s=o.map(function(g){var w=Z(T({pathname:"/",search:"",hash:"",state:null,key:ft()},typeof g=="string"?rt(g):g));return process.env.NODE_ENV!=="production"&&F(w.pathname.charAt(0)==="/","Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: "+JSON.stringify(g)+")"),w}),a=ie(r??s.length-1,0,s.length-1),c=U.Pop,u=s[a],h=tt(),d=tt();function l(g){return typeof g=="string"?g:K(g)}function S(g,w){return w===void 0&&(w=null),Z(T({pathname:u.pathname,search:"",hash:""},typeof g=="string"?rt(g):g,{state:w,key:ft()}))}function m(g,w,b){return!d.length||(d.call({action:g,location:w,retry:b}),!1)}function x(g,w){c=g,u=w,h.call({action:c,location:u})}function L(g,w){var b=U.Push,k=S(g,w);function R(){L(g,w)}process.env.NODE_ENV!=="production"&&F(u.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.push("+JSON.stringify(g)+")"),m(b,k,R)&&(a+=1,s.splice(a,s.length,k),x(b,k))}function q(g,w){var b=U.Replace,k=S(g,w);function R(){q(g,w)}process.env.NODE_ENV!=="production"&&F(u.pathname.charAt(0)==="/","Relative pathnames are not supported in memory history.replace("+JSON.stringify(g)+")"),m(b,k,R)&&(s[a]=k,x(b,k))}function N(g){var w=ie(a+g,0,s.length-1),b=U.Pop,k=s[w];function R(){N(g)}m(b,k,R)&&(a=w,x(b,k))}var _={get index(){return a},get action(){return c},get location(){return u},createHref:l,push:L,replace:q,go:N,back:function(){N(-1)},forward:function(){N(1)},listen:function(w){return h.push(w)},block:function(w){return d.push(w)}};return _}function ie(t,e,n){return Math.min(Math.max(t,e),n)}function ut(t){t.preventDefault(),t.returnValue=""}function tt(){var t=[];return{get length(){return t.length},push:function(n){return t.push(n),function(){t=t.filter(function(o){return o!==n})}},call:function(n){t.forEach(function(o){return o&&o(n)})}}}function ft(){return Math.random().toString(36).substr(2,8)}function K(t){var e=t.pathname,n=e===void 0?"/":e,o=t.search,r=o===void 0?"":o,s=t.hash,a=s===void 0?"":s;return r&&r!=="?"&&(n+=r.charAt(0)==="?"?r:"?"+r),a&&a!=="#"&&(n+=a.charAt(0)==="#"?a:"#"+a),n}function rt(t){var e={};if(t){var n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));var o=t.indexOf("?");o>=0&&(e.search=t.substr(o),t=t.substr(0,o)),t&&(e.pathname=t)}return e}function tn(t,e){const n=i.reactive({...t}),o=a=>{Object.assign(n,{...a})},r=n,s=Le(r,e);return{currentRoute:r,routerRoute:s,updateRoute:o}}function Q(t){return!t.startsWith("http")?nn(t):en(t)}function en(t){const{protocol:e,host:n,pathname:o,search:r,searchParams:s,hash:a}=new URL(t,t);return{protocol:e,host:n,pathname:o,search:r,searchParams:s,hash:a}}function nn(t){const{pathname:e,search:n,searchParams:o,hash:r}=new URL(t,"https://localhost");return{pathname:e,search:n,searchParams:o,hash:r}}function rn(t){return e=>{const{host:n}=Q(e);return!(n===void 0||n===t)}}function ue(){return typeof window<"u"&&typeof window.document<"u"}function on({mode:t,listener:e}){const n=an(t),o=(u,h)=>{if(h!=null&&h.replace)return n.replace(u);n.push(u)},r=()=>{const u=K(n.location);return n.replace(u)};let s;return{...n,update:o,refresh:r,startListening:()=>{s==null||s(),s=n.listen(e)},stopListening:()=>{s==null||s()}}}function an(t="auto"){switch(t){case"auto":return ue()?se():ce();case"browser":return se();case"memory":return ce();case"hash":return Ze();default:const e=t;throw new Error(`Switch is not exhaustive for mode: ${e}`)}}function sn(t){return i.defineComponent(()=>()=>i.h("h1",t),{name:t,props:[]})}function fe(t){const e=new URLSearchParams(t);return{get:n=>e.get(n),getAll:n=>e.getAll(n)}}const le=Symbol();function cn({rejections:t}){const e=a=>{const c={...t};return i.markRaw(c[a]??sn(a))},n=a=>{const c=i.markRaw(e(a)),u={name:a,component:c,meta:{}};return{matched:u,matches:[u],key:a,query:fe(""),params:{},[le]:!0}},o=a=>le in a,r=a=>{if(!a){s.value=null;return}const c=e(a);s.value={type:a,component:c}},s=i.ref(null);return{setRejection:r,rejection:s,getRejectionRoute:n,isRejectionRoute:o}}class un extends Error{constructor(e){super(`Route not found: "${e}"`)}}function kt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fn(t,e){const n=Array.from(t.matchAll(e));if(n.length===0)return[t];let o=0;const r=n.reduce((a,c)=>{const u=kt(t.slice(o,c.index));u.length&&a.push(u);const[h]=c;return a.push(h),o=c.index+h.length,a},[]),s=t.slice(o);return s&&r.push(s),r}function ln(t){const e=he(t.path.toString());return new RegExp(`^${e}$`,"i")}function hn(t){const e=new URLSearchParams(t.query.toString());return Array.from(e.entries()).filter(([,n])=>!xt(n)).map(([n,o])=>{const r=he(o);return new RegExp(`${kt(n)}=${r}(&|$)`,"i")})}function he(t){return fn(t,new RegExp(pn,"g")).map(e=>e.startsWith(W)?pe(e):kt(e)).join("")}function pe(t){return[dn,mn].reduce((e,n)=>n(e),t)}const pn=`\\${W}\\??([\\w-_]+)\\${D}`,At=`\\${W}\\?([\\w-_]+)\\${D}`,de=`\\${W}([\\w-_]+)\\${D}`;function dn(t){return t.replace(new RegExp(At,"g"),".*")}function xt(t){return new RegExp(At,"g").test(t)}function mn(t){return t.replace(new RegExp(de,"g"),".+")}function lt(t){const[e]=ht(t,new RegExp(At,"g")),[n]=ht(t,new RegExp(de,"g"));return e??n}function ht(t,e){return Array.from(t.matchAll(e)).flatMap(([,...o])=>o.map(r=>Pt(r)?r:""))}function me(t,e,n){const o=ge(e,n),[r]=ht(t,o);return r}function Re(t,e){if(!e)return t;const{name:n,param:o,value:r}=e,s=ge(t,n);return ht(t,s).reduce((c,u)=>u===void 0?c:c.replace(u,()=>bt(r,o,n.startsWith("?"))),t)}function ge(t,e){const n=[Rn,gn,pe].reduce((o,r)=>r(o,e),t);return new RegExp(n,"g")}function Rn(t,e){if(!e.startsWith("?"))return t;const n=new RegExp(`\\${W}\\${e}\\${D}`,"g");return t.replace(n,"(.*)")}function gn(t,e){if(e.startsWith("?"))return t;const n=new RegExp(`\\${W}${e}\\${D}`,"g");return t.replace(n,"(.+)")}function ye(t,...e){return e.reduce((n,o)=>{if(!o)return n;const r=new URLSearchParams(o).toString();return Object.keys(r).length===0?n:n.includes("?")?`${n}&${r}`:`${n}?${r}`},t)}function yn(t,e={}){const{params:n={},query:o}=e,r=wn(t.host,n),s=vn(t.path,n),a=En(t.query,n);return ye(`${r}${s}`,a,o)}function wn(t,e){const n=t.toString();return Object.entries(t.params).reduce((o,[r,s])=>{const a=lt(`${W}${r}${D}`);return a?Re(o,{name:r,param:s,value:e[a]}):o},n)}function vn(t,e){const n=t.toString();return Object.entries(t.params).reduce((o,[r,s])=>{const a=lt(`${W}${r}${D}`);return a?Re(o,{name:r,param:s,value:e[a]}):o},n)}function En(t,e){const n=t.toString();if(!n)return{};const o=new URLSearchParams(n);return Array.from(o.entries()).reduce((r,[s,a])=>{const c=lt(a);if(!c)return{...r,[s]:a};const h=bt(e[c],t.params[c],xt(a)),d=e[c]===void 0&&h==="";return xt(a)&&d?r:{...r,[s]:h}},{})}function Pn(t){return(e,n,o)=>{if(J(e))return ye(e,(n??{}).query);const r=n??{},s=o??{},a=t.find(u=>u.key===e);if(!a)throw new un(String(e));return yn(a,{params:r,query:s.query})}}class Sn extends Error{constructor(){super("initialUrl must be set if window.location is unavailable")}}function bn(t){if(t)return t;if(ue())return window.location.toString();throw new Sn}const kn=(t,e)=>{try{we(t,e)}catch{return!1}return!0},we=(t,e)=>{const{pathname:n,search:o}=Q(e);return{...An(t.path,n),...xn(t.query,o)}};function An(t,e){const n={},o=decodeURIComponent(e);for(const[r,s]of Object.entries(t.params)){const a=r.startsWith("?"),c=a?r.slice(1):r,u=me(o,t.toString(),r),h=St(u,s,a);n[c]=h}return n}function xn(t,e){const n={},o=new URLSearchParams(e);for(const[r,s]of Object.entries(t.params)){const a=r.startsWith("?"),c=a?r.slice(1):r,u=o.get(c)??void 0,h=St(u,s,a);n[c]=h}return n}const Ln=t=>"name"in t.matched&&!!t.matched.name,Bn=(t,e)=>{const{pathname:n}=Q(e);return ln(t).test(n)},Un=(t,e)=>{const{search:n}=Q(e);return hn(t).every(r=>r.test(n))};function $n(t){const{searchParams:e,pathname:n}=Q(t),o=-1,r=1;return(s,a)=>{const c=Ee(s,e),u=ve(s,n),h=Ee(a,e),d=ve(a,n);return s.depth>a.depth?o:s.depth<a.depth?r:c+u>h+d?o:c+u<h+d?r:0}}function ve(t,e){const n=Object.keys(t.path.params).filter(r=>r.startsWith("?")).map(r=>r),o=n.filter(r=>me(e,t.path.toString(),r)===void 0);return n.length-o.length}function Ee(t,e){const n=new URLSearchParams(t.query.toString()),o=Array.from(n.keys()),r=o.filter(s=>!e.has(s));return o.length-r.length}const Nn=[Ln,Bn,Un,kn];function Lt(t,e){const n=$n(e),o=t.filter(u=>Nn.every(h=>h(u,e))).sort(n);if(o.length===0)return;const[r]=o,{search:s}=Q(e),a=fe(s),c=we(r,e);return{matched:r.matched,matches:r.matches,key:r.key,query:a,params:c}}function Bt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function jn(t){return t.every(e=>Array.isArray(e))}function Hn(t,e={}){const n=jn(t)?t.flat():t,o=Pn(n),r=on({mode:e.historyMode,listener:()=>{const E=K(location);x(E)}}),{runBeforeRouteHooks:s,runAfterRouteHooks:a}=Ne(),{hooks:c,onBeforeRouteEnter:u,onAfterRouteUpdate:h,onBeforeRouteLeave:d,onAfterRouteEnter:l,onBeforeRouteUpdate:S,onAfterRouteLeave:m}=He();async function x(E,{replace:V}={}){if(r.stopListening(),A(E))return r.update(E,{replace:V});const O=Lt(n,E)??b("NotFound"),G={...R},z=await s({to:O,from:G,hooks:c});switch(z.status){case"ABORT":return;case"PUSH":r.update(E,{replace:V}),await L(...z.to);return;case"REJECT":r.update(E,{replace:V}),g(z.type),p(O);break;case"SUCCESS":r.update(E,{replace:V}),g(null),p(O);break;default:throw new Error(`Switch is not exhaustive for before hook response status: ${JSON.stringify(z)}`)}const I=await a({to:O,from:G,hooks:c});switch(I.status){case"PUSH":await L(...I.to);break;case"REJECT":g(I.type);break;case"SUCCESS":break;default:const pt=I;throw new Error(`Switch is not exhaustive for after hook response status: ${JSON.stringify(pt)}`)}r.startListening()}const L=(E,V,O)=>{if(J(E)){const pt={...V},Wn=o(E,pt);return x(Wn,{replace:pt.replace})}const G={...O},I=o(E,V??{},G);return x(I,{replace:G.replace})},q=(E,V,O)=>{if(J(E)){const I={...V,replace:!0};return L(E,I)}const G=V??{},z={...O,replace:!0};return L(E,G,z)},N=E=>g(E),_=(E,V={})=>{if(!J(E)){const O=o(E,V);return Lt(n,O)}if(!A(E))return Lt(n,E)},{setRejection:g,rejection:w,getRejectionRoute:b}=cn(e),k=b("NotFound"),{currentRoute:R,routerRoute:f,updateRoute:p}=tn(k,L);r.startListening();const v=bn(e.initialUrl),{host:P}=Q(v),A=rn(P),B=x(v,{replace:!0});function j(E){E.component("RouterView",Xt),E.component("RouterLink",Ft),E.provide(mt,w),E.provide(Tt,c),E.provide(dt,H)}const H={route:f,resolve:o,push:L,replace:q,reject:N,find:_,refresh:r.refresh,forward:r.forward,back:r.back,go:r.go,install:j,initialized:B,isExternal:A,onBeforeRouteEnter:u,onAfterRouteUpdate:h,onBeforeRouteLeave:d,onAfterRouteEnter:l,onBeforeRouteUpdate:S,onAfterRouteLeave:m};return H}function Ut(t,e){const n=new RegExp(`\\${W}(\\??[\\w-_]+)\\${D}`,"g");return Array.from(t.matchAll(n)).reduce((r,[s,a])=>{const c=lt(s);if(!c)return r;const u=ze(e,c);return nt([c],r),r[a]=u,r},{})}function $t(t,e){return{path:t,params:Ut(t,e),toString:()=>t}}function Nt(t,e){return{query:t,params:Ut(t,e),toString:()=>t}}function Pe(t,e){return{host:t,params:Ut(t,e),toString:()=>t}}function Se(t){return t===void 0?"":t}function Vn(t){return Bt(t)&&typeof t.path=="string"}function be(t){return t===void 0?$t("",{}):Vn(t)?t:$t(t,{})}function Cn(t){return Bt(t)&&typeof t.query=="string"}function ke(t){return t===void 0?Nt("",{}):Cn(t)?t:Nt(t,{})}function qn(t){const e=Se(t.name),n=be(t.path),o=ke(t.query),r=i.markRaw({meta:{},...t}),s={matched:r,matches:[r],key:e,path:n,query:o,depth:1,host:Pe("",{})},a=Qt(t)?Yt(t.parent,s):s;return nt(a.path.params,a.query.params),a}function _n(t){return Bt(t)&&typeof t.host=="string"}function Ae(t){return _n(t)?t:Pe(t,{})}function On(t){const e=Se(t.name),n=be(t.path),o=ke(t.query),r=Fe(t)?Ae(t.host):Ae(""),s=i.markRaw({meta:{},...t}),a={matched:s,matches:[s],key:e,host:r,path:n,query:o,depth:1},c=Qt(t)?Yt(t.parent,a):a;return nt(c.path.params,c.query.params,c.host.params),c}y.DuplicateParamsError=M,y.RouterLink=Ft,y.RouterNotInstalledError=ot,y.RouterView=Xt,y.UseRouteInvalidError=jt,y.component=Kt,y.createExternalRoute=On,y.createParam=oe,y.createRoute=qn,y.createRouter=Hn,y.isParamWithDefault=Zt,y.isRoute=_t,y.onAfterRouteEnter=qe,y.onAfterRouteLeave=_e,y.onAfterRouteUpdate=Oe,y.onBeforeRouteLeave=Ve,y.onBeforeRouteUpdate=Ce,y.path=$t,y.query=Nt,y.routerInjectionKey=dt,y.routerRejectionKey=mt,y.useLink=Ht,y.useRejection=Vt,y.useRoute=Ot,y.useRouter=at,y.withDefault=Ge,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kitbag/router",
3
3
  "private": false,
4
- "version": "0.6.0",
4
+ "version": "0.7.0",
5
5
  "bugs": {
6
6
  "url": "https://github.com/kitbagjs/router/issues"
7
7
  },