17 lines
41 KiB
JavaScript
17 lines
41 KiB
JavaScript
var VueRouter=function(e,N){"use strict";const M="undefined"!=typeof document;function p(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const U=Object.assign;function D(e,t){const n={};for(const r in t){const o=t[r];n[r]=B(o)?o.map(e):e(o)}return n}const V=()=>{},B=Array.isArray;function W(e){var t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const r=/#/g,o=/&/g,c=/\//g,f=/=/g,m=/\?/g,v=/\+/g,g=/%5B/g,y=/%5D/g,se=/%5E/g,b=/%60/g,le=/%7B/g,w=/%7C/g,ce=/%7D/g,_=/%20/g;function q(e){return encodeURI(""+e).replace(w,"|").replace(g,"[").replace(y,"]")}function a(e){return q(e).replace(v,"%2B").replace(_,"+").replace(r,"%23").replace(o,"%26").replace(b,"`").replace(le,"{").replace(ce,"}").replace(se,"^")}function ue(e){return null==e?"":q(e).replace(r,"%23").replace(m,"%3F").replace(c,"%2F")}function G(t){try{return decodeURIComponent(""+t)}catch(e){W(`Error decoding "${t}". Using original value`)}return""+t}const E=/\/$/,$=e=>e.replace(E,"");function F(e,t,n="/"){let r,o={},a="",i="";var s=t.indexOf("#");let l=t.indexOf("?");return-1<(l=s<l&&0<=s?-1:l)&&(r=t.slice(0,l),a=t.slice(l+1,-1<s?s:t.length),o=e(a)),-1<s&&(r=r||t.slice(0,s),i=t.slice(s,t.length)),{fullPath:(r=function(e,t){if(e.startsWith("/"))return e;if(!t.startsWith("/"))return W(`Cannot resolve a relative location without an absolute path. Trying to resolve "${e}" from "${t}". It should look like "/${t}".`),e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];".."!==o&&"."!==o||r.push("");let a=n.length-1,i,s;for(i=0;i<r.length;i++)if("."!==(s=r[i])){if(".."!==s)break;1<a&&a--}return n.slice(0,a).join("/")+"/"+r.slice(i).join("/")}(null!=r?r:t,n))+(a&&"?")+a+i,path:r,query:o,hash:G(i)}}function C(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function de(e,t,n){var r=t.matched.length-1,o=n.matched.length-1;return-1<r&&r==o&&K(t.matched[r],n.matched[o])&&P(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function K(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function P(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(n=e[o],r=t[o],!(B(n)?R(n,r):B(r)?R(r,n):n===r))return!1;var n,r;return!0}function R(e,n){return B(n)?e.length===n.length&&e.every((e,t)=>e===n[t]):1===e.length&&e[0]===n}var Q,d,t;(t=Q=Q||{}).pop="pop",t.push="push",(t=d=d||{}).back="back",t.forward="forward";t.unknown="";function x(e){if(!e)if(M){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),$(e)}const O=/^[^#]+#/;function S(e,t){return e.replace(O,"#")+t}const H=()=>({left:window.scrollX,top:window.scrollY});function he(t){let e;if("el"in t){const a=t.el;var n="string"==typeof a&&a.startsWith("#");if(!("string"!=typeof t.el||n&&document.getElementById(t.el.slice(1))))try{var r=document.querySelector(t.el);if(n&&r)return void W(`The selector "${t.el}" should be passed as "el: document.querySelector('${t.el}')" because it starts with "#".`)}catch(e){return void W(`The selector "${t.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`)}r="string"==typeof a?n?document.getElementById(a.slice(1)):document.querySelector(a):a;if(!r)return void W(`Couldn't find element using selector "${t.el}" returned by scrollBehavior.`);e=(n=r,r=t,o=document.documentElement.getBoundingClientRect(),n=n.getBoundingClientRect(),{behavior:r.behavior,left:n.left-o.left-(r.left||0),top:n.top-o.top-(r.top||0)})}else e=t;var o;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.scrollX,null!=e.top?e.top:window.scrollY)}function pe(e,t){return(history.state?history.state.position-t:-1)+e}const z=new Map;let j=()=>location.protocol+"//"+location.host;function I(t,n){const{pathname:e,search:r,hash:o}=n;n=t.indexOf("#");if(-1<n){n=o.includes(t.slice(n))?t.slice(n).length:1;let e=o.slice(n);return C(e="/"!==e[0]?"/"+e:e,"")}return C(e,t)+r+o}function A(a,i,s,l){let c=[],n=[],u=null;const t=({state:e})=>{var t=I(a,location);const n=s.value;var r=i.value;let o=0;if(e){if(s.value=t,i.value=e,u&&u===n)return void(u=null);o=r?e.position-r.position:0}else l(t);c.forEach(e=>{e(s.value,n,{delta:o,type:Q.pop,direction:o?0<o?d.forward:d.back:d.unknown})})};function r(){const e=window["history"];e.state&&e.replaceState(U({},e.state,{scroll:H()}),"")}return window.addEventListener("popstate",t),window.addEventListener("beforeunload",r,{passive:!0}),{pauseListeners:function(){u=s.value},listen:function(t){c.push(t);var e=()=>{var e=c.indexOf(t);-1<e&&c.splice(e,1)};return n.push(e),e},destroy:function(){for(const e of n)e();n=[],window.removeEventListener("popstate",t),window.removeEventListener("beforeunload",r)}}}function T(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?H():null}}function L(o){const{history:a,location:i}=window,r={value:I(o,i)},s={value:a.state};function l(e,t,n){var r=o.indexOf("#"),r=-1<r?(i.host&&document.querySelector("base")?o:o.slice(r))+e:j()+o+e;try{a[n?"replaceState":"pushState"](t,"",r),s.value=t}catch(e){W("Error with push/replace State",e),i[n?"replace":"assign"](r)}}return s.value||l(r.value,{back:null,current:r.value,forward:null,position:a.length-1,replaced:!0,scroll:null},!0),{location:r,state:s,push:function(e,t){var n=U({},s.value,a.state,{forward:e,scroll:H()}),n=(a.state||W("history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state."),l(n.current,n,!0),U({},T(r.value,e,null),{position:n.position+1},t));l(e,n,!1),r.value=e},replace:function(e,t){l(e,U({},a.state,T(s.value.back,e,s.value.forward,!0),t,{position:s.value.position}),!0),r.value=e}}}function fe(e){const t=L(e=x(e)),n=A(e,t.state,t.location,t.replace);e=U({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:S.bind(null,e)},t,n);return Object.defineProperty(e,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(e,"state",{enumerable:!0,get:()=>t.state.value}),e}function J(e){return"string"==typeof e||e&&"object"==typeof e}function me(e){return"string"==typeof e||"symbol"==typeof e}const Y={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ve=Symbol("navigation failure"),ge=(e.NavigationFailureType=void 0,(t=e.NavigationFailureType||(e.NavigationFailureType={}))[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated",{[1]({location:e,currentLocation:t}){return`No match for
|
|
`+JSON.stringify(e)+(t?"\nwhile being at\n"+JSON.stringify(t):"")},2({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${function(e){if("string"==typeof e)return e;if(null!=e.path)return e.path;const t={};for(const n of ye)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}(t)}" via a navigation guard.`},4({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},8({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},16({from:e}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}});function X(e,t){return U(new Error(ge[e](t)),{type:e,[ve]:!0},t)}function Z(e,t){return e instanceof Error&&ve in e&&(null==t||!!(e.type&t))}const ye=["params","query","hash"];const be={sensitive:!1,strict:!1,start:!0,end:!0},we=/[.+*?^${}()[\]/\\]/g;function _e(c,e){var r=U({},be,e);const t=[];let o=r.start?"^":"";const a=[];for(const h of c){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let n=0;n<h.length;n++){const f=h[n];let t=40+(r.sensitive?.25:0);if(0===f.type)n||(o+="/"),o+=f.value.replace(we,"\\$&"),t+=40;else if(1===f.type){var{value:i,repeatable:s,optional:l,regexp:u}=f;a.push({name:i,repeatable:s,optional:l});const d=u||"[^/]+?";if("[^/]+?"!==d){t+=10;try{new RegExp(`(${d})`)}catch(e){throw new Error(`Invalid custom RegExp for param "${i}" (${d}): `+e.message)}}let e=s?`((?:${d})(?:/(?:${d}))*)`:`(${d})`;n||(e=l&&h.length<2?`(?:/${e})`:"/"+e),l&&(e+="?"),o+=e,t+=20,l&&(t+=-8),s&&(t+=-20),".*"===d&&(t+=-50)}p.push(t)}t.push(p)}r.strict&&r.end&&(e=t.length-1,t[e][t[e].length-1]+=.7000000000000001),r.strict||(o+="/?"),r.end?o+="$":r.strict&&(o+="(?:/|$)");const d=new RegExp(o,r.sensitive?"":"i");return{re:d,score:t,keys:a,parse:function(e){var t=e.match(d);const n={};if(!t)return null;for(let e=1;e<t.length;e++){const o=t[e]||"";var r=a[e-1];n[r.name]=o&&r.repeatable?o.split("/"):o}return n},stringify:function(e){let t="",n=!1;for(const i of c){n&&t.endsWith("/")||(t+="/"),n=!1;for(const s of i)if(0===s.type)t+=s.value;else if(1===s.type){var{value:r,repeatable:o,optional:a}=s;const l=r in e?e[r]:"";if(B(l)&&!o)throw new Error(`Provided param "${r}" is an array but it is not repeatable (* or + modifiers)`);o=B(l)?l.join("/"):l;if(!o){if(!a)throw new Error(`Missing required param "${r}"`);i.length<2&&(t.endsWith("/")?t=t.slice(0,-1):n=!0)}t+=o}}return t||"/"}}}function ke(e,t){let n=0;for(var r=e.score,o=t.score;n<r.length&&n<o.length;){var a=function(e,t){let n=0;for(;n<e.length&&n<t.length;){var r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?1===e.length&&80===e[0]?-1:1:e.length>t.length?1===t.length&&80===t[0]?1:-1:0}(r[n],o[n]);if(a)return a;n++}if(1===Math.abs(o.length-r.length)){if(Ee(r))return 1;if(Ee(o))return-1}return o.length-r.length}function Ee(e){var t=e[e.length-1];return 0<e.length&&t[t.length-1]<0}const $e={type:0,value:""},Ce=/[a-zA-Z0-9_]/;function Pe(e,t,n){n=_e(function(e){if(!e)return[[]];if("/"===e)return[[$e]];if(!e.startsWith("/"))throw new Error(`Route paths should start with a "/": "${e}" should be "/${e}".`);function t(e){throw new Error(`ERR (${n})/"${c}": `+e)}let n=0,r=n;const o=[];let a;function i(){a&&o.push(a),a=[]}let s=0,l,c="",u="";function d(){c&&(0===n?a.push({type:0,value:c}):1===n||2===n||3===n?(1<a.length&&("*"===l||"+"===l)&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:c,regexp:u,repeatable:"*"===l||"+"===l,optional:"*"===l||"?"===l})):t("Invalid state to consume buffer"),c="")}function h(){c+=l}for(;s<e.length;)if("\\"===(l=e[s++])&&2!==n)r=n,n=4;else switch(n){case 0:"/"===l?(c&&d(),i()):":"===l?(d(),n=1):h();break;case 4:h(),n=r;break;case 1:"("===l?n=2:Ce.test(l)?h():(d(),n=0,"*"!==l&&"?"!==l&&"+"!==l&&s--);break;case 2:")"===l?"\\"==u[u.length-1]?u=u.slice(0,-1)+l:n=3:u+=l;break;case 3:d(),n=0,"*"!==l&&"?"!==l&&"+"!==l&&s--,u="";break;default:t("Unknown state")}return 2===n&&t(`Unfinished custom RegExp for param "${c}"`),d(),i(),o}(e.path),n);{const r=new Set;for(const o of n.keys)r.has(o.name)&&W(`Found duplicated params with name "${o.name}" for path "${e.path}". Only the last one will be available on "$route.params".`),r.add(o.name)}n=U(n,{record:e,parent:t,children:[],alias:[]});return t&&!n.record.aliasOf==!t.record.aliasOf&&t.children.push(n),n}function Re(e,g){const y=[],b=new Map;function w(e,t,n){var r,o,a=!n;const i={path:(r=e).path,redirect:r.redirect,name:r.name,meta:r.meta||{},aliasOf:void 0,beforeEnter:r.beforeEnter,props:function(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]="object"==typeof n?n[r]:n;return t}(r),children:r.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in r?r.components||null:r.component&&{default:r.component}};r=i,(o=t)&&o.record.name&&!r.name&&!r.path&&W(`The route named "${String(o.record.name)}" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`),i.aliasOf=n&&n.record;var s,l=Se(g,e);const c=[i];if("alias"in e)for(const m of"string"==typeof e.alias?[e.alias]:e.alias)c.push(U({},i,{components:(n?n.record:i).components,path:m,aliasOf:n?n.record:i}));let u;for(const v of c){var d,h=v["path"];if(t&&"/"!==h[0]&&(d="/"===(d=t.record.path)[d.length-1]?"":"/",v.path=t.record.path+(h&&d+h)),"*"===v.path)throw new Error('Catch all routes ("*") must now be defined using a param with a custom regexp.\nSee more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');if(s=Pe(v,t,l),t&&"/"===h[0]&&!function(e,t){for(const n of t.keys)if(!e.keys.find(k.bind(null,n)))return W(`Absolute path "${e.record.path}" must have the exact same param named "${n.name}" as its parent "${t.record.path}".`)}(s,t),n?(n.alias.push(s),function(e,t){for(const n of e.keys)if(!n.optional&&!t.keys.find(k.bind(null,n)))return W(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`);for(const r of t.keys)if(!r.optional&&!e.keys.find(k.bind(null,r)))return W(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${r.name}"`)}(n,s)):((u=u||s)!==s&&u.alias.push(s),a&&e.name&&!Oe(s)&&_(e.name)),i.children){var p=i.children;for(let e=0;e<p.length;e++)w(p[e],s,n&&n.children[e])}if(n=n||s,s.record.components&&Object.keys(s.record.components).length||s.record.name||s.record.redirect){f=void 0;var f=s;let e=0;for(;e<y.length&&0<=ke(f,y[e])&&(f.record.path!==y[e].record.path||!function t(n,e){return e.children.some(e=>e===n||t(n,e))}(f,y[e]));)e++;y.splice(e,0,f),f.record.name&&!Oe(f)&&b.set(f.record.name,f)}}return u?()=>{_(u)}:V}function _(e){if(me(e)){const n=b.get(e);n&&(b.delete(e),y.splice(y.indexOf(n),1),n.children.forEach(_),n.alias.forEach(_))}else{var t=y.indexOf(e);-1<t&&(y.splice(t,1),e.record.name&&b.delete(e.record.name),e.children.forEach(_),e.alias.forEach(_))}}return g=Se({strict:!1,end:!0,sensitive:!1},g),e.forEach(e=>w(e)),{addRoute:w,resolve:function(e,t){let n,r={},o,a;if("name"in e&&e.name){if(!(n=b.get(e.name)))throw X(1,{location:e});{const l=Object.keys(e.params||{}).filter(t=>!n.keys.find(e=>e.name===t));l.length&&W(`Discarded invalid param(s) "${l.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}a=n.record.name,r=U(xe(t.params,n.keys.filter(e=>!e.optional).concat(n.parent?n.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&xe(e.params,n.keys.map(e=>e.name))),o=n.stringify(r)}else if(null!=e.path)(o=e.path).startsWith("/")||W(`The Matcher cannot resolve relative paths but received "${o}". Unless you directly called \`matcher.resolve("${o}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`),(n=y.find(e=>e.re.test(o)))&&(r=n.parse(o),a=n.record.name);else{if(!(n=t.name?b.get(t.name):y.find(e=>e.re.test(t.path))))throw X(1,{location:e,currentLocation:t});a=n.record.name,r=U({},t.params,e.params),o=n.stringify(r)}const i=[];let s=n;for(;s;)i.unshift(s.record),s=s.parent;return{name:a,path:o,params:r,matched:i,meta:i.reduce((e,t)=>U(e,t.meta),{})}},removeRoute:_,getRoutes:function(){return y},getRecordMatcher:function(e){return b.get(e)}}}function xe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Oe(e){for(;e;){if(e.record.aliasOf)return 1;e=e.parent}}function Se(e,t){const n={};for(const r in e)n[r]=(r in t?t:e)[r];return n}function k(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}function je(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;e<n.length;++e){const a=n[e].replace(v," ");var r=a.indexOf("="),o=G(r<0?a:a.slice(0,r)),r=r<0?null:G(a.slice(r+1));if(o in t){let e=t[o];(e=B(e)?e:t[o]=[e]).push(r)}else t[o]=r}return t}function ee(e){let n="";for(let t in e){const r=e[t];if(t=a(t).replace(f,"%3D"),null==r)void 0!==r&&(n+=(n.length?"&":"")+t);else{const o=B(r)?r.map(e=>e&&a(e)):[r&&a(r)];o.forEach(e=>{void 0!==e&&(n+=(n.length?"&":"")+t,null!=e&&(n+="="+e))})}}return n}const i=Symbol("router view location matched"),s=Symbol("router view depth"),te=Symbol("router"),ne=Symbol("route location"),re=Symbol("router view location");function oe(){let n=[];return{add:function(t){return n.push(t),()=>{var e=n.indexOf(t);-1<e&&n.splice(e,1)}},list:()=>n.slice(),reset:function(){n=[]}}}function Ie(e,t,n){var r=()=>{e[t].delete(n)};N.onUnmounted(r),N.onDeactivated(r),N.onActivated(()=>{e[t].add(n)}),e[t].add(n)}function ae(i,s,l,c,u,d=e=>e()){const h=c&&(c.enterCallbacks[u]=c.enterCallbacks[u]||[]);return()=>new Promise((t,n)=>{const r=e=>{!1===e?n(X(4,{from:l,to:s})):e instanceof Error?n(e):J(e)?n(X(2,{from:s,to:e})):(h&&c.enterCallbacks[u]===h&&"function"==typeof e&&h.push(e),t())};var e=d(()=>i.call(c&&c.instances[u],s,l,function(e,t,n){let r=0;return function(){1==r++&&W(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,1===r&&e.apply(null,arguments)}}(r,s,l)));let o=Promise.resolve(e);if(i.length<3&&(o=o.then(r)),2<i.length){const a=`The "next" callback was never called inside of ${i.name?'"'+i.name+'"':""}:
|
|
${i.toString()}
|
|
. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`;if("object"==typeof e&&"then"in e)o=o.then(e=>r._called?e:(W(a),Promise.reject(new Error("Invalid navigation guard"))));else if(void 0!==e&&!r._called)return W(a),void n(new Error("Invalid navigation guard"))}o.catch(e=>n(e))})}function ie(e,n,r,o,a=e=>e()){const i=[];for(const l of e){l.components||l.children.length||W(`Record with path "${l.path}" is either missing a "component(s)"`+' or "children" property.');for(const c in l.components){let t=l.components[c];if(!t||"object"!=typeof t&&"function"!=typeof t)throw W(`Component "${c}" in record with path "${l.path}" is not`+` a valid component. Received "${String(t)}".`),new Error("Invalid route component");if("then"in t){W(`Component "${c}" in record with path "${l.path}" is a `+"Promise instead of a function that returns a Promise. Did you "+`write "import('./MyPage.vue')" instead of `+`"() => import('./MyPage.vue')" ? This will break in `+"production if not fixed.");const u=t;t=()=>u}else t.__asyncLoader&&!t.__warnedDefineAsync&&(t.__warnedDefineAsync=!0,W(`Component "${c}" in record with path "${l.path}" is defined `+'using "defineAsyncComponent()". '+`Write "() => import('./MyPage.vue')" instead of `+`"defineAsyncComponent(() => import('./MyPage.vue'))".`));if("beforeRouteEnter"===n||l.instances[c])if("object"==typeof(s=t)||"displayName"in s||"props"in s||"__vccOpts"in s){s=(t.__vccOpts||t)[n];s&&i.push(ae(s,r,o,l,c,a))}else{let e=t();"catch"in e||(W(`Component "${c}" in record with path "${l.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),e=Promise.resolve(e)),i.push(()=>e.then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${l.path}"`));e=p(e)?e.default:e,e=((l.components[c]=e).__vccOpts||e)[n];return e&&ae(e,r,o,l,c,a)()}))}}}var s;return i}function l(t){const n=N.inject(te),i=N.inject(ne);let r=!1,o=null;const s=N.computed(()=>{var e=N.unref(t.to);return r&&e===o||(J(e)||(r?W(`Invalid value for prop "to" in useLink()
|
|
- to:`,e,`
|
|
- previous to:`,o,`
|
|
- props:`,t):W(`Invalid value for prop "to" in useLink()
|
|
- to:`,e,`
|
|
- props:`,t)),o=e,r=!0),n.resolve(e)}),e=N.computed(()=>{var e=s.value["matched"],t=e["length"],n=e[t-1];const r=i.matched;if(!n||!r.length)return-1;var o=r.findIndex(K.bind(null,n));if(-1<o)return o;var a=Te(e[t-2]);return 1<t&&Te(n)===a&&r[r.length-1].path!==a?r.findIndex(K.bind(null,e[t-2])):o}),a=N.computed(()=>-1<e.value&&function(e,t){for(const n in t){const r=t[n],o=e[n];if("string"==typeof r){if(r!==o)return!1}else if(!B(o)||o.length!==r.length||r.some((e,t)=>e!==o[t]))return!1}return!0}(i.params,s.value.params)),l=N.computed(()=>-1<e.value&&e.value===i.matched.length-1&&P(i.params,s.value.params));if(M){const c=N.getCurrentInstance();if(c){const u={route:s.value,isActive:a.value,isExactActive:l.value,error:null};c.__vrl_devtools=c.__vrl_devtools||[],c.__vrl_devtools.push(u),N.watchEffect(()=>{u.route=s.value,u.isActive=a.value,u.isExactActive=l.value,u.error=J(N.unref(t.to))?null:'Invalid "to" value'},{flush:"post"})}}return{route:s,href:N.computed(()=>s.value.href),isActive:a,isExactActive:l,navigate:function(e={}){return function(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),1}}(e)?n[N.unref(t.replace)?"replace":"push"](N.unref(t.to)).catch(V):Promise.resolve()}}}const Ae=N.defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:l,setup(t,{slots:n}){const r=N.reactive(l(t)),e=N.inject(te)["options"],o=N.computed(()=>({[Le(t.activeClass,e.linkActiveClass,"router-link-active")]:r.isActive,[Le(t.exactActiveClass,e.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{var e=n.default&&n.default(r);return t.custom?e:N.h("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},e)}}});function Te(e){return e?(e.aliasOf||e).path:""}const Le=(e,t,n)=>null!=e?e:null!=t?t:n;function Ne(e,t){if(!e)return null;e=e(t);return 1===e.length?e[0]:e}const Me=N.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(c,{attrs:u,slots:d}){{const n=N.getCurrentInstance(),o=n.parent&&n.parent.type.name,a=n.parent&&n.parent.subTree&&n.parent.subTree.type;var e;o&&("KeepAlive"===o||o.includes("Transition"))&&"object"==typeof a&&"RouterView"===a.name&&W('<router-view> can no longer be used directly inside <transition> or <keep-alive>.\nUse slot props instead:\n\n<router-view v-slot="{ Component }">\n'+` <${e="KeepAlive"===o?"keep-alive":"transition"}>
|
|
`+` <component :is="Component" />
|
|
`+` </${e}>
|
|
`+"</router-view>")}const t=N.inject(re),h=N.computed(()=>c.route||t.value),r=N.inject(s,0),p=N.computed(()=>{let e=N.unref(r);for(var t,n=h.value["matched"];(t=n[e])&&!t.components;)e++;return e}),f=N.computed(()=>h.value.matched[p.value]),m=(N.provide(s,N.computed(()=>p.value+1)),N.provide(i,f),N.provide(re,h),N.ref());return N.watch(()=>[m.value,f.value,c.name],([t,e,n],[r,o])=>{e&&(e.instances[n]=t,o&&o!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=o.leaveGuards),e.updateGuards.size||(e.updateGuards=o.updateGuards))),!t||!e||o&&K(e,o)&&r||(e.enterCallbacks[n]||[]).forEach(e=>e(t))},{flush:"post"}),()=>{var e=h.value;const t=c.name,n=f.value;var r=n&&n.components[t];if(!r)return Ne(d.default,{Component:r,route:e});const o=n.props[t];var a=o?!0===o?e.params:"function"==typeof o?o(e):o:null;const i=N.h(r,U({},a,u,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(n.instances[t]=null)},ref:m}));if(M&&i.ref){const s={depth:p.value,name:n.name,path:n.path,meta:n.meta},l=B(i.ref)?i.ref.map(e=>e.i):[i.ref.i];l.forEach(e=>{e.__vrv_devtools=s})}return Ne(d.default,{Component:i,route:e})||i}}});function Ue(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}const De="function"==typeof Proxy,Ve="devtools-plugin:setup";let n,Be;function We(){return void 0!==n||("undefined"!=typeof window&&window.performance?(n=!0,Be=window.performance):"undefined"!=typeof global&&null!=(e=global.perf_hooks)&&e.performance?(n=!0,Be=global.perf_hooks.performance):n=!1),(n?Be:Date).now();var e}class qe{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const l in e.settings){var r=e.settings[l];n[l]=r.defaultValue}const o="__vue-devtools-plugin-settings__"+e.id;let a=Object.assign({},n);try{var i=localStorage.getItem(o),s=JSON.parse(i);Object.assign(a,s)}catch(e){}this.fallbacks={getSettings(){return a},setSettings(e){try{localStorage.setItem(o,JSON.stringify(e))}catch(e){}a=e},now(){return We()}},t&&t.on("plugin:settings:set",(e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)}),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,n)=>this.target?this.target[n]:"on"===n?this.proxiedOn:Object.keys(this.fallbacks).includes(n)?(...e)=>(this.targetQueue.push({method:n,args:e,resolve:()=>{}}),this.fallbacks[n](...e)):(...t)=>new Promise(e=>{this.targetQueue.push({method:n,args:t,resolve:e})})})}async setRealTarget(e){this.target=e;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Ge(e,t){var n=e;const r=Ue(),o=Ue().__VUE_DEVTOOLS_GLOBAL_HOOK__;var a=De&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&a){a=a?new qe(n,o):null;const i=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];i.push({pluginDescriptor:n,setupFn:t,proxy:a}),a&&t(a.proxiedTarget)}else o.emit(Ve,e,t)}function u(e,t){var n=U({},e,{matched:e.matched.map(e=>{{var t=e,n=["instances","children","aliasOf"];const r={};for(const o in t)n.includes(o)||(r[o]=t[o]);return r}})});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function h(e){return{_custom:{display:e}}}let Fe=0;function Ke(s,l,c){if(!l.__hasDevtools){l.__hasDevtools=!0;const e=Fe++;Ge({id:"org.vuejs.router"+(e?"."+e:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:s},o=>{"function"!=typeof o.now&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),o.on.inspectComponent((e,t)=>{e.instanceData&&e.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:u(l.currentRoute.value,"Current Route")})}),o.on.visitComponentTree(({treeNode:a,componentInstance:e})=>{if(e.__vrv_devtools){const t=e.__vrv_devtools;a.tags.push({label:(t.name?t.name.toString()+": ":"")+t.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:Qe})}B(e.__vrl_devtools)&&(e.__devtoolsApi=o,e.__vrl_devtools.forEach(e=>{let t=e.route.path,n=Ye,r="",o=0;e.error?(t=e.error,n=Ze,o=et):e.isExactActive?(n=ze,r="This is exactly active"):e.isActive&&(n=He,r="This link is active"),a.tags.push({label:t,textColor:o,tooltip:r,backgroundColor:n})}))}),N.watch(l.currentRoute,()=>{t(),o.notifyComponentUpdate(),o.sendInspectorTree(r),o.sendInspectorState(r)});const a="router:navigations:"+e;o.addTimelineLayer({id:a,label:`Router${e?" "+e:""} Navigations`,color:4237508}),l.onError((e,t)=>{o.addTimelineEvent({layerId:a,event:{title:"Error during Navigation",subtitle:t.fullPath,logType:"error",time:o.now(),data:{error:e},groupId:t.meta.__navigationId}})});let n=0;l.beforeEach((e,t)=>{t={guard:h("beforeEach"),from:u(t,"Current Location during this navigation"),to:u(e,"Target location")};Object.defineProperty(e.meta,"__navigationId",{value:n++}),o.addTimelineEvent({layerId:a,event:{time:o.now(),title:"Start of navigation",subtitle:e.fullPath,data:t,groupId:e.meta.__navigationId}})}),l.afterEach((e,t,n)=>{const r={guard:h("afterEach")};n?(r.failure={_custom:{type:Error,readOnly:!0,display:n?n.message:"",tooltip:"Navigation Failure",value:n}},r.status=h("❌")):r.status=h("✅"),r.from=u(t,"Current Location during this navigation"),r.to=u(e,"Target location"),o.addTimelineEvent({layerId:a,event:{title:"End of navigation",subtitle:e.fullPath,time:o.now(),data:r,logType:n?"warning":"default",groupId:e.meta.__navigationId}})});const r="router-inspector:"+e;function t(){if(i){const t=i;let e=c.getRoutes().filter(e=>!e.parent||!e.parent.record.components);e.forEach(ot),(e=t.filter?e.filter(e=>function t(e,n){const r=String(e.re).match(rt);e.__vd_match=!1;if(!r||r.length<3)return!1;const o=new RegExp(r[1].replace(/\$$/,""),r[2]);if(o.test(n))return e.children.forEach(e=>t(e,n)),("/"!==e.record.path||"/"===n)&&(e.__vd_match=e.re.test(n),!0);const a=e.record.path.toLowerCase();const i=G(a);if(!n.startsWith("/")&&(i.includes(n)||a.includes(n)))return!0;if(i.startsWith(n)||a.startsWith(n))return!0;if(e.record.name&&String(e.record.name).includes(n))return!0;return e.children.some(e=>t(e,n))}(e,t.filter.toLowerCase())):e).forEach(e=>function t(n,r){const e=r.matched.length&&K(r.matched[r.matched.length-1],n.record);n.__vd_exactActive=n.__vd_active=e;e||(n.__vd_active=r.matched.some(e=>K(e,n.record)));n.children.forEach(e=>t(e,r))}(e,l.currentRoute.value)),t.rootNodes=e.map(tt)}}o.addInspector({id:r,label:"Routes"+(e?" "+e:""),icon:"book",treeFilterPlaceholder:"Search routes"});let i;o.on.getInspectorTree(e=>{(i=e).app===s&&e.inspectorId===r&&t()}),o.on.getInspectorState(t=>{if(t.app===s&&t.inspectorId===r){const n=c.getRoutes();var e=n.find(e=>e.record.__vd_id===t.nodeId);e&&(t.state={options:function(e){const t=e["record"],n=[{editable:!1,key:"path",value:t.path}];null!=t.name&&n.push({editable:!1,key:"name",value:t.name});n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map(e=>""+e.name+function(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}(e)).join(" "),tooltip:"Param keys",value:e.keys}}});null!=t.redirect&&n.push({editable:!1,key:"redirect",value:t.redirect});e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map(e=>e.record.path)});Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta});return n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(e=>e.join(", ")).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}(e)})}}),o.sendInspectorTree(r),o.sendInspectorState(r)})}}const Qe=15485081,He=2450411,ze=8702998,Je=2282478,Ye=16486972,Xe=6710886,Ze=16704226,et=12131356;function tt(e){const t=[],n=e["record"];null!=n.name&&t.push({label:String(n.name),textColor:0,backgroundColor:Je}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:Ye}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:Qe}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:ze}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:He}),n.redirect&&t.push({label:"string"==typeof n.redirect?"redirect: "+n.redirect:"redirects",textColor:16777215,backgroundColor:Xe});let r=n.__vd_id;return null==r&&(r=String(nt++),n.__vd_id=r),{id:r,label:n.path,tags:t,children:e.children.map(tt)}}let nt=0;const rt=/^\/(.*)\/([a-z]*)$/;function ot(e){e.__vd_match=!1,e.children.forEach(ot)}return e.RouterLink=Ae,e.RouterView=Me,e.START_LOCATION=Y,e.createMemoryHistory=function(e=""){let l=[],c=[""],u=0;function n(e){++u!==c.length&&c.splice(u),c.push(e)}return e={location:"",state:{},base:e=x(e),createHref:S.bind(null,e),replace(e){c.splice(u--,1),n(e)},push(e,t){n(e)},listen(t){return l.push(t),()=>{var e=l.indexOf(t);-1<e&&l.splice(e,1)}},destroy(){l=[],c=[""],u=0},go(e,t=!0){var n=this.location,r=e<0?d.back:d.forward;if(u=Math.max(0,Math.min(u+e,c.length-1)),t){var[o,a,{direction:t,delta:n}]=[this.location,n,{direction:r,delta:e}],i={direction:t,delta:n,type:Q.pop};for(const s of l)s(o,a,i)}}},Object.defineProperty(e,"location",{enumerable:!0,get:()=>c[u]}),e},e.createRouter=function(l){const c=Re(l.routes,l),u=l.parseQuery||je,d=l.stringifyQuery||ee,h=l.history;if(!h)throw new Error('Provide the "history" option when calling "createRouter()": https://next.router.vuejs.org/api/#history.');const p=oe(),f=oe(),e=oe(),m=N.shallowRef(Y);let v=Y;M&&l.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=D.bind(null,e=>""+e),y=D.bind(null,ue),b=D.bind(null,G);function w(e,t){if(t=U({},t||m.value),"string"==typeof e){var n=F(u,e,t.path);const o=c.resolve({path:n.path},t),i=h.createHref(n.fullPath);return i.startsWith("//")?W(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||W(`No match found for location with path "${e}"`),U(n,o,{params:b(o.params),hash:G(n.hash),redirectedFrom:void 0,href:i})}J(e)||(W(`router.resolve() was passed an invalid location. This will fail in production.
|
|
- Location:`,e),e={});let r;if(null!=e.path)"params"in e&&!("name"in e)&&Object.keys(e.params).length&&W(`Path "${e.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),r=U({},e,{path:F(u,e.path,t.path).path});else{const s=U({},e.params);for(const l in s)null==s[l]&&delete s[l];r=U({},e,{params:y(s)}),t.params=y(t.params)}const o=c.resolve(r,t),a=e.hash||"";a&&!a.startsWith("#")&&W(`A \`hash\` should always start with the character "#". Replace "${a}" with "#${a}".`),o.params=g(b(o.params));n=d,t=U({},e,{hash:q(a).replace(le,"{").replace(ce,"}").replace(se,"^"),path:o.path}),n=t.query?n(t.query):"";t=t.path+(n&&"?")+n+(t.hash||"");const i=h.createHref(t);return i.startsWith("//")?W(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||W(`No match found for location with path "${null!=e.path?e.path:e}"`),U({fullPath:t,hash:a,query:d===ee?function(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=B(r)?r.map(e=>null==e?null:""+e):null==r?r:""+r)}return t}(e.query):e.query||{}},o,{redirectedFrom:void 0,href:i})}function _(e){return"string"==typeof e?F(u,e,m.value.path):U({},e)}function k(e,t){if(v!==e)return X(8,{from:t,to:e})}function o(e){return $(e)}function E(t){var n=t.matched[t.matched.length-1];if(n&&n.redirect){const r=n["redirect"];let e="function"==typeof r?r(t):r;if("string"==typeof e&&((e=e.includes("?")||e.includes("#")?e=_(e):{path:e}).params={}),null!=e.path||"name"in e)return U({query:t.query,hash:t.hash,params:null!=e.path?{}:t.params},e);throw W(`Invalid redirect found:
|
|
${JSON.stringify(e,null,2)}
|
|
when navigating to "${t.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect")}}function $(e,t){var n=v=w(e);const r=m.value,o=e.state,a=e.force,i=!0===e.replace;e=E(n);if(e)return $(U(_(e),{state:"object"==typeof e?U({},o,e.state):o,force:a,replace:i}),t||n);const s=n;s.redirectedFrom=t;let l;return!a&&de(d,r,n)&&(l=X(16,{to:s,from:r}),j(r,r,!0,!1)),(l?Promise.resolve(l):P(s,r)).catch(e=>Z(e)?Z(e,2)?e:S(e):O(e,s,r)).then(e=>{if(e){if(Z(e,2))return de(d,w(e.to),s)&&t&&30<(t._count=t._count?t._count+1:1)?(W(`Detected a possibly infinite redirection in a navigation guard when going from "${r.fullPath}" to "${s.fullPath}". Aborting to avoid a Stack Overflow.
|
|
Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):$(U({replace:i},_(e.to),{state:"object"==typeof e.to?U({},o,e.to.state):o,force:a}),t||s)}else e=x(s,r,!0,i,o);return R(s,r,e),e})}function C(e){const t=A.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function P(n,r){let o;const[e,t,a]=function(t,n){const r=[],o=[],a=[],i=Math.max(n.matched.length,t.matched.length);for(let e=0;e<i;e++){const s=n.matched[e],l=(s&&(t.matched.find(e=>K(e,s))?o:r).push(s),t.matched[e]);!l||n.matched.find(e=>K(e,l))||a.push(l)}return[r,o,a]}(n,r);o=ie(e.reverse(),"beforeRouteLeave",n,r);for(const s of e)s.leaveGuards.forEach(e=>{o.push(ae(e,n,r))});const i=function(e,t){return(e=k(e,t))?Promise.reject(e):Promise.resolve()}.bind(null,n,r);return o.push(i),L(o).then(()=>{o=[];for(const e of p.list())o.push(ae(e,n,r));return o.push(i),L(o)}).then(()=>{o=ie(t,"beforeRouteUpdate",n,r);for(const e of t)e.updateGuards.forEach(e=>{o.push(ae(e,n,r))});return o.push(i),L(o)}).then(()=>{o=[];for(const e of a)if(e.beforeEnter)if(B(e.beforeEnter))for(const t of e.beforeEnter)o.push(ae(t,n,r));else o.push(ae(e.beforeEnter,n,r));return o.push(i),L(o)}).then(()=>(n.matched.forEach(e=>e.enterCallbacks={}),(o=ie(a,"beforeRouteEnter",n,r,C)).push(i),L(o))).then(()=>{o=[];for(const e of f.list())o.push(ae(e,n,r));return o.push(i),L(o)}).catch(e=>Z(e,8)?e:Promise.reject(e))}function R(t,n,r){e.list().forEach(e=>C(()=>e(t,n,r)))}function x(e,t,n,r,o){var a=k(e,t);if(a)return a;var a=t===Y,i=M?history.state:{};n&&(r||a?h.replace(e.fullPath,U({scroll:a&&i&&i.scroll},o)):h.push(e.fullPath,o)),j(m.value=e,t,n,a),S()}let a;function t(){a=a||h.listen((e,t,n)=>{if(T.listening){const o=w(e);var r,e=E(o);if(e)$(U(e,{replace:!0}),o).catch(V);else{v=o;const a=m.value;M&&(e=pe(a.fullPath,n.delta),r=H(),z.set(e,r)),P(o,a).catch(e=>Z(e,12)?e:Z(e,2)?($(e.to,o).then(e=>{Z(e,20)&&!n.delta&&n.type===Q.pop&&h.go(-1,!1)}).catch(V),Promise.reject()):(n.delta&&h.go(-n.delta,!1),O(e,o,a))).then(e=>{(e=e||x(o,a,!1))&&(n.delta&&!Z(e,8)?h.go(-n.delta,!1):n.type===Q.pop&&Z(e,20)&&h.go(-1,!1)),R(o,a,e)}).catch(V)}}})}let r=oe(),i=oe(),s;function O(t,n,r){S(t);const e=i.list();return e.length?e.forEach(e=>e(t,n,r)):(W("uncaught error during route navigation:"),console.error(t)),Promise.reject(t)}function S(n){return s||(s=!n,t(),r.list().forEach(([e,t])=>n?t(n):e()),r.reset()),n}function j(t,n,e,r){const o=l["scrollBehavior"];if(!M||!o)return Promise.resolve();const a=!e&&(i=pe(t.fullPath,0),s=z.get(i),z.delete(i),s)||(r||!e)&&history.state&&history.state.scroll||null;var i,s;N.nextTick().then(()=>o(t,n,a)).then(e=>e&&he(e)).catch(e=>O(e,t,n))}const n=e=>h.go(e);let I;const A=new Set,T={currentRoute:m,listening:!0,addRoute:function(e,t){let n,r;return r=me(e)?((n=c.getRecordMatcher(e))||W(`Parent route "${String(e)}" not found when adding child route`,t),t):e,c.addRoute(r,n)},removeRoute:function(e){var t=c.getRecordMatcher(e);t?c.removeRoute(t):W(`Cannot remove non-existent route "${String(e)}"`)},hasRoute:function(e){return!!c.getRecordMatcher(e)},getRoutes:function(){return c.getRoutes().map(e=>e.record)},resolve:w,options:l,push:o,replace:function(e){return o(U(_(e),{replace:!0}))},go:n,back:()=>n(-1),forward:()=>n(1),beforeEach:p.add,beforeResolve:f.add,afterEach:e.add,onError:i.add,isReady:function(){return s&&m.value!==Y?Promise.resolve():new Promise((e,t)=>{r.add([e,t])})},install(e){e.component("RouterLink",Ae),e.component("RouterView",Me),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>N.unref(m)}),M&&!I&&m.value===Y&&(I=!0,o(h.location).catch(e=>{W("Unexpected error when starting the router:",e)}));var t={};for(const r in Y)Object.defineProperty(t,r,{get:()=>m.value[r],enumerable:!0});e.provide(te,this),e.provide(ne,N.shallowReactive(t)),e.provide(re,m);const n=e.unmount;A.add(e),e.unmount=function(){A.delete(e),A.size<1&&(v=Y,a&&a(),a=null,m.value=Y,I=!1,s=!1),n()},M&&Ke(e,this,c)}};function L(e){return e.reduce((e,t)=>e.then(()=>C(t)),Promise.resolve())}return T},e.createRouterMatcher=Re,e.createWebHashHistory=function(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),e.endsWith("#/")||e.endsWith("#")||W(`A hash base must end with a "#":
|
|
"${e}" should be "${e.replace(/#.*$/,"#")}".`),fe(e)},e.createWebHistory=fe,e.isNavigationFailure=Z,e.loadRouteLocation=function(e){return e.matched.every(e=>e.redirect)?Promise.reject(new Error("Cannot load a route that redirects.")):Promise.all(e.matched.map(r=>r.components&&Promise.all(Object.keys(r.components).reduce((e,t)=>{const n=r.components[t];return"function"!=typeof n||"displayName"in n||e.push(n().then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${r.path}". Ensure you passed a function that returns a promise.`));e=p(e)?e.default:e;r.components[t]=e})),e},[])))).then(()=>e)},e.matchedRouteKey=i,e.onBeforeRouteLeave=function(e){var t;N.getCurrentInstance()?(t=N.inject(i,{}).value)?Ie(t,"leaveGuards",e):W("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?"):W("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function")},e.onBeforeRouteUpdate=function(e){var t;N.getCurrentInstance()?(t=N.inject(i,{}).value)?Ie(t,"updateGuards",e):W("No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?"):W("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function")},e.parseQuery=je,e.routeLocationKey=ne,e.routerKey=te,e.routerViewLocationKey=re,e.stringifyQuery=ee,e.useLink=l,e.useRoute=function(){return N.inject(ne)},e.useRouter=function(){return N.inject(te)},e.viewDepthKey=s,e}({},Vue); |