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