@real-router/core 0.120.0 → 0.121.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Router-Cbp-sZRe.js +2 -0
- package/dist/cjs/Router-Cbp-sZRe.js.map +1 -0
- package/dist/cjs/Router.d.ts.map +1 -1
- package/dist/cjs/RouterError-DCVsSNgX.js +2 -0
- package/dist/cjs/RouterError-DCVsSNgX.js.map +1 -0
- package/dist/cjs/RouterError.d.ts.map +1 -1
- package/dist/cjs/api/getDependenciesApi.d.ts.map +1 -1
- package/dist/cjs/api/getPluginApi.d.ts.map +1 -1
- package/dist/cjs/api/getRoutesApi.d.ts.map +1 -1
- package/dist/cjs/api.js +1 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/engine/path-matcher/SegmentMatcher.d.ts.map +1 -1
- package/dist/cjs/getNavigator.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/ingest-C6HQ7xXf.js +2 -0
- package/dist/cjs/ingest-C6HQ7xXf.js.map +1 -0
- package/dist/cjs/namespaces/DependenciesNamespace/dependenciesStore.d.ts.map +1 -1
- package/dist/cjs/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.d.ts.map +1 -1
- package/dist/cjs/namespaces/RoutesNamespace/routesStore.d.ts.map +1 -1
- package/dist/cjs/route-name-CSQu8dZ-.js +2 -0
- package/dist/cjs/route-name-CSQu8dZ-.js.map +1 -0
- package/dist/cjs/utils/ingest.d.ts.map +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/cjs/validation.js +1 -1
- package/dist/esm/Router-CwtXjQfK.mjs +2 -0
- package/dist/esm/Router-CwtXjQfK.mjs.map +1 -0
- package/dist/esm/Router.d.mts.map +1 -1
- package/dist/esm/RouterError-iSQqAez7.mjs +2 -0
- package/dist/esm/RouterError-iSQqAez7.mjs.map +1 -0
- package/dist/esm/RouterError.d.mts.map +1 -1
- package/dist/esm/api/getDependenciesApi.d.mts.map +1 -1
- package/dist/esm/api/getPluginApi.d.mts.map +1 -1
- package/dist/esm/api/getRoutesApi.d.mts.map +1 -1
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/api.mjs.map +1 -1
- package/dist/esm/engine/path-matcher/SegmentMatcher.d.mts.map +1 -1
- package/dist/esm/getNavigator.d.mts.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/{ingest-Wemkuwfp.mjs → ingest-XMtKw1RB.mjs} +2 -2
- package/dist/esm/ingest-XMtKw1RB.mjs.map +1 -0
- package/dist/esm/namespaces/DependenciesNamespace/dependenciesStore.d.mts.map +1 -1
- package/dist/esm/namespaces/RouteLifecycleNamespace/RouteLifecycleNamespace.d.mts.map +1 -1
- package/dist/esm/namespaces/RoutesNamespace/routesStore.d.mts.map +1 -1
- package/dist/esm/route-name-GJnRPvBX.mjs +2 -0
- package/dist/esm/route-name-GJnRPvBX.mjs.map +1 -0
- package/dist/esm/utils/ingest.d.mts.map +1 -1
- package/dist/esm/utils.mjs +1 -1
- package/dist/esm/validation.mjs +1 -1
- package/package.json +2 -2
- package/dist/cjs/Router-Brg9g5mI.js +0 -2
- package/dist/cjs/Router-Brg9g5mI.js.map +0 -1
- package/dist/cjs/RouterError-DQi2HDYI.js +0 -2
- package/dist/cjs/RouterError-DQi2HDYI.js.map +0 -1
- package/dist/cjs/ingest-DxGcWzr6.js +0 -2
- package/dist/cjs/ingest-DxGcWzr6.js.map +0 -1
- package/dist/cjs/route-name-BBu872EN.js +0 -2
- package/dist/cjs/route-name-BBu872EN.js.map +0 -1
- package/dist/esm/Router-BevaRLQO.mjs +0 -2
- package/dist/esm/Router-BevaRLQO.mjs.map +0 -1
- package/dist/esm/RouterError-BWJokeCw.mjs +0 -2
- package/dist/esm/RouterError-BWJokeCw.mjs.map +0 -1
- package/dist/esm/ingest-Wemkuwfp.mjs.map +0 -1
- package/dist/esm/route-name-iyGPA_zr.mjs +0 -2
- package/dist/esm/route-name-iyGPA_zr.mjs.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./route-name-CSQu8dZ-.js"),t=require("./ingest-C6HQ7xXf.js"),n=require("./RouterError-DCVsSNgX.js"),r=Object.entries,i=Object.hasOwn;function a(e,n,a){if(e===void 0||a.length===0)return e;let o,s=!1;for(let[c,l]of r(e)){if(i(n,c)&&n[c]!==void 0&&a.includes(c)){s=!0;continue}o??={},t.a(o,c,l)}return o===void 0?s?void 0:e:o}function o(t,n,i){for(let[a,o]of r(t))e.v(i,a,o,n(a),"this route's `defaultParams`","Move it to `defaultSearch`")}const s=Object.entries,c=Object.freeze;function l(e,n,r){let i,a=!1;for(let[o,c]of s(e))n.includes(o)?(i??={},t.a(i,o,c)):(a=!0,r?.(o));return a?c(i??t.u):e}const u=Object.keys,d=Object.values,f=Object.hasOwn,p=Object.getOwnPropertyDescriptor,m=Object.getPrototypeOf,h=Object,g=new Set(d(t.h));function _(e){if(!g.has(e))throw TypeError(`[router.addEventListener] Invalid event name: ${String(e)}. Must be one of: ${[...g].join(`, `)}`)}function v(e,t){if(typeof e!=`string`)throw TypeError(`[router.${t}] Route name must be a string, got ${typeof e}`)}function y(e){if(!e||typeof e!=`object`)throw TypeError(`dependencies must be a plain object`);let t=m(e);if(t!==null&&t.constructor!==h)throw TypeError(`dependencies must be a plain object`)}function b(e,t){y(e);let n=e,r=[];for(let e of u(n)){if(p(n,e)?.get)throw TypeError(`dependencies cannot contain getters: "${e}"`);let t=n[e];t!==void 0&&r.push([e,t])}for(let[e,n]of r)t(e,n)}function x(e,t){for(let n of e){let e=n;if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`route must be a non-array object`);t?.routes.guardRouteCallbacks(n),t?.routes.guardNoAsyncCallbacks(n);let r=n.children;r&&x(r,t)}}const ee=new Set([`all`,`warn-error`,`error-only`,`none`]);function te(e){return typeof e==`string`&&ee.has(e)}function ne(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function re(e){for(let t of u(e))if(t!==`level`&&t!==`callback`&&t!==`callbackIgnoresLevel`)throw TypeError(`Unknown logger config property: "${t}"`)}function ie(e){if(!f(e,`level`))return;let t=e.level;if(t!==void 0){if(!te(t))throw TypeError(`Invalid logger level: ${ne(t)}. Expected: "all" | "warn-error" | "error-only" | "none"`);return t}}function ae(e){if(!f(e,`callbackIgnoresLevel`))return;let t=e.callbackIgnoresLevel;if(t!==void 0){if(typeof t!=`boolean`)throw TypeError(`Logger callbackIgnoresLevel must be a boolean, got ${typeof t}`);return t}}function oe(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let t=e;re(t);let n={},r=ie(t);if(r!==void 0&&(n.level=r),f(t,`callback`)){let e=t.callback;if(e!==void 0&&typeof e!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof e}`);n.callback=e}let i=ae(t);return i!==void 0&&(n.callbackIgnoresLevel=i),n}const se=Object.freeze,ce=Object.hasOwn,S=Object.keys;function C(e,n){if(e===void 0)return n;let r={};for(let n of S(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&t.a(r,n,i)}if(n!==void 0)for(let e of S(n)){if(e===`__proto__`)continue;let i=n[e];i!==void 0&&t.a(r,e,i)}return r}const le=new Set([`string`,`number`,`boolean`]);function ue(e){return le.has(typeof e)}function w(e,t){if(e===t)return!0;if(Array.isArray(e)){if(!Array.isArray(t))return e.length===1&&w(e[0],t);if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!w(e[n],t[n]))return!1;return!0}return Array.isArray(t)?t.length===1&&w(e,t[0]):ue(e)&&ue(t)&&String(e)===String(t)}function de(e,t){let n=S(e),r=S(t);if(n.length!==r.length)return!1;for(let i of n)if(!r.includes(i)||!w(e[i],t[i]))return!1;return!0}function fe(e,t,n){if(n.length===0)return!0;let r=S(e),i=S(t);for(let a of n)if(!w(r.includes(a)?e[a]:void 0,i.includes(a)?t[a]:void 0))return!1;return!0}function pe(e){return se(e)}function me(e,t,n){return e===void 0?t===void 0||t===n?n:t:C(e,t)}function he(e,n){return me(e,n,t.l)}function ge(e,n){let r=me(e,n,t.u);return r===t.u?r:se(r)}function T(e,n){if(e==null||e===n)return n;let r={};for(let n of S(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&t.a(r,n,i)}return se(r)}function _e(e){if(e===t.c)return t.c;let n={},r=e;for(let e of S(r))e!==`__proto__`&&e!==`signal`&&t.a(n,e,r[e]);return se(n)}function E(e,n){if(e===void 0)return e;if(e===null)return n;let r;for(let n of S(e)){if(n===`__proto__`)continue;let i=e[n];i!==void 0&&(r??={},t.a(r,n,i))}return r??n}function ve(e){return delete e[t.f],e}function D(e){if(!ce(e,`__proto__`))return e;let n={};for(let r of S(e))r!==`__proto__`&&t.a(n,r,e[r]);return n}const ye=Object.freeze;function be(e={}){let n={...t.o,...e};return ye({maxDependencies:Number(n.maxDependencies),maxPlugins:Number(n.maxPlugins),maxListeners:Number(n.maxListeners),warnListeners:Number(n.warnListeners),maxLifecycleHandlers:Number(n.maxLifecycleHandlers)})}const xe=Object.create;function Se(e={}){let n=xe(null),r=e,i=n;return b(r,(e,t)=>{i[e]=t}),{dependencies:n,limits:t.o}}function Ce(e,t){let n=e.path,r=n.startsWith(`~`),i=r?n.slice(1):n,a=i!==``&&!i.startsWith(`/`)&&!i.startsWith(`?`)?`/${i}`:i,o={name:e.name,path:a,absolute:r,children:[],parent:t};if(e.children)for(let t of e.children){let e=Ce(t,o);o.children.push(e)}return o}function we(e,t,n){let r=Ce({name:e,path:t},null);for(let e of n){let t=Ce(e,r);r.children.push(t)}return r}const Te=/[^\w!$'()*+,.:;|~-]/gu,Ee=/[^\w!$'()*+,.:;|~-]/u,De=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Oe=e=>t=>{try{return e(t)}catch{return e(t.replaceAll(De,`�`))}},ke=Oe(e=>e.replaceAll(Te,e=>encodeURIComponent(e))),Ae={default:e=>Ee.test(e)?ke(e):e,uri:Oe(encodeURI),uriComponent:Oe(encodeURIComponent),none:e=>e},je={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:e=>e},Me=(e,t)=>{let n=Ae[t],r=String(e).split(`/`),i=n(r[0]);for(let e=1;e<r.length;e++)i+=`/`+n(r[e]);return i},Ne=Object.freeze(Object.create(null));function Pe(){return{staticChildren:Ne,hasChildren:!1,paramChild:void 0,splatChild:void 0,route:void 0,slashChildRoute:void 0}}function O(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e}function Fe(e,t){return e===``?t:t===``?e:e.endsWith(`/`)&&t.startsWith(`/`)?e+t.slice(1):e+t}function Ie(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Le(e){let t=0;for(;t<e.length;)if(e.codePointAt(t)===37){if(t+2>=e.length)return!1;let n=e.codePointAt(t+1)??0,r=e.codePointAt(t+2)??0;if(!Ie(n)||!Ie(r))return!1;t+=3}else t++;return!0}const Re=Object.freeze([]),ze=Object.freeze(new Set),Be=Object.freeze([]),Ve=Object.freeze({}),He=Object.freeze({}),Ue=Object.freeze({});function We(e,t){let n=e.kind===`splat`;return{paramName:e.name,encoder:n?e=>Me(e,t):Ae[t]}}function Ge(t,n,r,i){let a=new Set(i);for(let e of n)for(let t of e.paramMeta.urlParams)a.add(t);if(a.size===0)return{buildStaticParts:[t],buildParamSlots:Be};let o=[],s=[],c=``,l=e.f(t),u=l.length-1;for(let[t,n]of l.entries()){let i=e.d(n);if(!(!(`error`in i)&&i.kind===`splat`&&t!==u)){if(t>0&&(c+=`/`),`error`in i||i.kind===`static`){c+=n;continue}o.push(c),c=``,s.push(We(i,r))}}return o.push(c),{buildStaticParts:o,buildParamSlots:s}}function Ke(e,t,n){throw Error(`[SegmentMatcher.registerTree] Parameter name conflict at the same path position: '${n}${e}' and '${n}${t}'. One position binds one name across every route that shares it. Rename one — e.g. use '${n}${e}' in both.`)}function qe(){throw Error(`[SegmentMatcher.registerTree] Empty parameter name: a ':'/'*' marker must be followed by a name (e.g. ':id', '*rest'), and a segment cannot end in a bare '?'.`)}function Je(e){throw Error(`[SegmentMatcher.registerTree] Fused parameter marker in segment "${e}": a ':'/'*' marker must begin a segment — write 'a/:b', not 'a:b'.`)}function Ye(e){throw Error(`[SegmentMatcher.registerTree] Trailing parameter marker in segment "${e}": a param name cannot end in a bare ':' or '*'. Drop the stray marker.`)}function Xe(e){throw Error(`[SegmentMatcher.registerTree] Optional params are not supported: "${e}" — declare two sibling routes instead, one with the segment and one without.`)}function Ze(e){throw Error(`[SegmentMatcher.registerTree] Regex constraints are not supported: '<' and '>' are reserved in path segments ("${e}"). Match it as a plain string and validate the value in a canActivate guard.`)}function Qe(e){throw Error(`[SegmentMatcher.registerTree] Non-ASCII static segment "${e}": match compares static keys raw and rejects non-ASCII input, so this route can never match. Percent-encode it (e.g. "/caf%C3%A9") or use a param.`)}function $e(e,t){switch(e){case`name-less`:return qe();case`trailing-marker`:return Ye(t);case`fused-marker`:return Je(t);case`optional-removed`:return Xe(t);case`constraint-removed`:return Ze(t)}}function et(e,t){let n=new Set,r=``;for(let e of t){if(n.has(e)){r=e;break}n.add(e)}throw Error(`[SegmentMatcher.registerTree] Duplicate parameter name '${r}' in route "${e}": a name must be unique within a route — the second position overwrites the first. Rename one.`)}function tt(e,t){throw Error(`[SegmentMatcher.registerTree] Invalid query-param declaration "${t}" in route "${e}": a query-param name cannot contain '<' or '>'. Rename it.`)}function nt(e){throw Error(`[SegmentMatcher.registerTree] Double slashes are not allowed in path "${e}": the route would build a URL its own matcher refuses. Remove the empty segment.`)}function rt(e,t){throw Error(`[SegmentMatcher.registerTree] Duplicate route path: routes "${e}" and "${t}" resolve to the same URL — the later would shadow the earlier. Give them distinct paths.`)}function it(e,t){throw Error(`[SegmentMatcher.registerTree] Index route "${e}" (path "/") under the splat parent "${t}" is unreachable: the wildcard match never reaches the index node. Give the index a distinct path, or make the parent static.`)}function at(e,t){return e.paramChild?e.paramChild.name!==t&&Ke(e.paramChild.name,t,`:`):e.paramChild={node:Pe(),name:t},e.paramChild.node}function ot(e,t){return e.splatChild?e.splatChild.name!==t&&Ke(e.splatChild.name,t,`*`):e.splatChild={node:Pe(),name:t},e.splatChild.node}const st=Object.create;function ct(e,t){e.route!==void 0&&e.route!==t&&rt(e.route.name,t.name),e.route=t}function lt(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>=128)return!0;return!1}function ut(e,t,n){let r=O(n);if(r===`/`){ct(e.root,t);return}dt(e,e.root,r,1,t)}function dt(e,t,n,r,i){let a=n.length;for(;r<=a;){let i=n.indexOf(`/`,r),o=i===-1?a:i,s=n.slice(r,o);t=ht(e,t,s),r=o+1}ct(t,i)}function ft(e,t,n){let r=n.length;for(;r>1&&n.codePointAt(r-1)===47;)--r;let i=n.slice(0,r);i.slice(i.lastIndexOf(`/`)+1).startsWith(`*`)&&it(t.name,n);let a=pt(e,n);a.slashChildRoute=t}function pt(e,t){return mt(e,e.root,t)}function mt(e,t,n){let r=O(n);if(r===`/`||r===``)return t;let i=t,a=1,o=r.length;for(;a<=o;){let t=r.indexOf(`/`,a),n=t===-1?o:t;if(n<=a)break;let s=r.slice(a,n);i=ht(e,i,s),a=n+1}return i}function ht(t,n,r){let i=e.d(r);if(`error`in i&&qe(),i.kind===`splat`){let e=ot(n,i.name);return n.hasChildren=!0,e}if(i.kind===`param`){let e=at(n,i.name);return n.hasChildren=!0,e}lt(r)&&Qe(r);let a=t.options.caseSensitive?r:r.toLowerCase();return a in n.staticChildren||(n.staticChildren===Ne&&(n.staticChildren=st(null)),n.staticChildren[a]=Pe(),n.hasChildren=!0),n.staticChildren[a]}const gt=Object.freeze,_t=Object.hasOwn;function vt(t){let n=e.f(t);for(let[e,r]of n.entries())r===``&&e>0&&e<n.length-1&&nt(t)}function yt(t){for(let n of e.f(t)){let t=e.d(n);`error`in t&&$e(t.error,n)}}function bt(t,n,r,i,a){let o=n.fullName===``;o||i.push(n);let s=n.absolute,c=n.paramMeta===e.o?n.path:n.paramMeta.pathPattern,l=s&&c.startsWith(`~`)?c.slice(1):c,u=s?l:c;vt(n.path),yt(u);let d=u,f=s?d:Fe(r,d),p=o?a:xt(t,n,f,s?``:r,i,a);for(let e of n.children.values())bt(t,e,f,i,p);o||i.pop()}function xt(e,t,n,r,i,a){let o=Et(n,r),s=gt([...i]),c=St(s),l=O(n),u=Dt(e.rootQueryParams,i),{buildStaticParts:d,buildParamSlots:f}=Ge(o?O(r):l,o?i.slice(0,-1):i,e.options.urlParamsEncoding,e.rootUrlParams),p=f.map(e=>e.paramName),m=p.length===0?ze:new Set(p);m.size!==p.length&&et(t.fullName,p),Ot(t.fullName,u);let h={name:t.fullName,parent:a,matchSegments:s,meta:c,declaredQueryParams:u,declaredQueryParamsSet:u.length===0?ze:new Set(u),hasTrailingSlash:n.length>1&&n.endsWith(`/`),buildStaticParts:d,buildParamSlots:f,buildParamNamesSet:m,cachedResult:void 0};return t.paramMeta.urlParams.length===0&&(h.cachedResult=gt({segments:h.matchSegments,params:Ve,search:He,meta:h.meta})),e.routesByName.set(t.fullName,h),o?wt(e,h,r):Tt(e,h,n,l,t),h}function St(e){let n;for(let r of e)Ct(r.paramTypeMap)&&(n??=t.r(),n[r.fullName]=r.paramTypeMap);return n===void 0?Ue:gt(t.t(t.i(n)))}function Ct(e){for(let t in e)if(_t(e,t))return!0;return!1}function wt(e,t,n){ft(e,t,n);let r=O(n),i=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.has(i)&&e.staticCache.set(i,t)}function Tt(e,t,n,r,i){if(ut(e,t,n),i.paramMeta.urlParams.length===0){let n=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.set(n,t)}}function Et(e,t){return O(e)===O(t)}function Dt(e,t){let n=[];e.length>0&&n.push(...e);for(let e of t)e.paramMeta.queryParams.length>0&&n.push(...e.paramMeta.queryParams);return n.length===0?Re:n}function Ot(t,n){for(let r of n)e.s.test(r)&&tt(t,r)}const kt=Symbol.for(`real-router.searchParams.configFault`),At=Object.hasOwn,jt=Object.keys,Mt=Object.getOwnPropertyDescriptor;function Nt(e){try{return Mt(e,kt)?.configurable===!1}catch{return!1}}function Pt(e){return typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):String(e)}const Ft=Object.freeze({});function It(e,t){return e===`strict`?t?`always`:`never`:e}var Lt=class{get options(){return this.#e}#e;#t=Pe();#n=new Map;#r=new Map;#i={cleanPath:``,normalized:``,queryString:void 0};#a=[];#o=``;#s;#c;constructor(e){let t=e.urlParamsEncoding??`default`,n=typeof t==`string`?t:String(t),r=At(Ae,n)?n:`default`;this.#e={caseSensitive:e.caseSensitive??!0,strictTrailingSlash:e.strictTrailingSlash??!1,strictQueryParams:e.strictQueryParams??!1,urlParamsEncoding:r,parseQueryString:e.parseQueryString,buildQueryString:e.buildQueryString},this.#s=this.#e.caseSensitive,this.#c=this.#e.urlParamsEncoding===`none`?null:je[this.#e.urlParamsEncoding]}registerTree(e){this.#a=e.paramMeta.queryParams,bt({root:this.#t,options:this.#e,routesByName:this.#n,staticCache:this.#r,rootQueryParams:this.#a,rootUrlParams:e.paramMeta.urlParams},e,``,[],null)}match(e){if(!this.#f(e))return;let{cleanPath:t,normalized:n,queryString:r}=this.#i,i=this.#s?n:n.toLowerCase(),a=this.#r.get(i);if(a)return this.#e.strictTrailingSlash&&!this.#g(t,a)?void 0:r===void 0&&a.cachedResult?a.cachedResult:this.#m(a,{},r);let o={},s=this.#_(n,o);if(s&&!(this.#e.strictTrailingSlash&&!this.#g(t,s))&&this.#b(o))return this.#m(s,o,r)}buildPath(e,t,n,r){let i=this.#n.get(e);if(!i)throw Error(`[SegmentMatcher.buildPath] '${e}' is not defined`);let a=this.#l(i,t),o=this.#u(a,It(r?.trailingSlash,i.hasTrailingSlash)),s=this.#d(i,n??t,r?.queryParamsMode);return o+(s?`?${s}`:``)}getSegmentsByName(e){return this.#n.get(e)?.matchSegments}getMetaByName(e){return this.#n.get(e)?.meta}getDeclaredQueryParams(e){return this.#n.get(e)?.declaredQueryParams}hasRoute(e){return this.#n.has(e)}#l(e,t){let n=e.buildStaticParts,r=e.buildParamSlots;if(r.length===0)return n[0];let i=n[0];for(let[e,a]of r.entries()){let r=t!=null&&At(t,a.paramName)?t[a.paramName]:void 0;if(r==null)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}'`);if(r===``)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}' (empty string)`);let o=a.encoder(Pt(r));i+=o+n[e+1]}return i}#u(e,t){return t===`always`&&!e.endsWith(`/`)?`${e}/`:t===`never`&&e!==`/`&&e.endsWith(`/`)?e.slice(0,-1):e}#d(e,n,r){if(!n||e.declaredQueryParams.length===0&&r!==`loose`)return``;let i={},a=!1;for(let r of e.declaredQueryParams)At(n,r)&&(t.a(i,r,n[r]),a=!0);if(r===`loose`)for(let r of jt(n))e.declaredQueryParamsSet.has(r)||e.buildParamNamesSet.has(r)||(t.a(i,r,n[r]),a=!0);return a?this.#e.buildQueryString(i):``}#f(e){if(e===``&&(e=`/`),e.codePointAt(0)!==47)return!1;let t=this.#p(e);if(t===-2)return!1;t===-3&&(e=this.#o);let n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):void 0;if(r!==void 0){let e=r.indexOf(`#`);e!==-1&&(r=r.slice(0,e))}let i=O(n);return this.#i.cleanPath=n,this.#i.normalized=i,this.#i.queryString=r,!0}#p(e){let t=!1;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===35)return this.#o=e.slice(0,n),-3;if(r===63)return n;if(r>=128)return-2;if(r===47){if(t)return-2;t=!0}else t=!1}return-1}#m(e,t,n){let r=Ft;if(n!==void 0){let t=this.#h(e,n);if(t===void 0)return;r=t}return{segments:e.matchSegments,params:t,search:r,meta:e.meta}}#h(e,t){let n;try{n=this.#e.parseQueryString(t)}catch(e){if(Nt(e))throw e;return}if(this.#e.strictQueryParams){let t=e.declaredQueryParamsSet;for(let e of jt(n))if(!t.has(e))return}return n}#g(e,t){return(e.length>1&&e.endsWith(`/`))===t.hasTrailingSlash}#_(e,t){return e.length===1?this.#t.slashChildRoute??this.#t.route:this.#v(this.#t,e,1,t)}#v(e,n,r,i){let a=e,o=n.length,s=this.#s;for(;r<=o;){let e=n.indexOf(`/`,r),c=e===-1?o:e,l=n.slice(r,c),u=s?l:l.toLowerCase(),d;if(u in a.staticChildren){let e=a.staticChildren[u];if(a.splatChild!==void 0){let o={},s=this.#v(e,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e}else if(a.paramChild){let e=a.paramChild;if(a.splatChild!==void 0){let o={[e.name]:l},s=this.#v(e.node,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e.node,t.a(i,e.name,l)}else if(a.splatChild)return this.#y(a.splatChild,n,r,i);else return;a=d,r=c+1}return a.slashChildRoute??a.route}#y(e,n,r,i){let a=e.node;if(!a.hasChildren)return t.a(i,e.name,n.slice(r)),a.route;let o={},s=this.#v(a,n,r,o);return s?(t.n(i,o),s):(t.a(i,e.name,n.slice(r)),a.route)}#b(e){let t=this.#c;if(!t)return!0;for(let n of jt(e)){let r=e[n];if(r.includes(`%`)){if(!Le(r))return!1;try{e[n]=t(r)}catch{return!1}}}return!0}};const k=Object.freeze,Rt=Object.freeze(new Map),zt=Object.freeze([]);function Bt(e){return e.parent?.name?`${e.parent.fullName}.${e.name}`:e.name}function Vt(e){let t=new Map;for(let n of e)t.set(n.name,n);return t}function Ht(e,t){let n=[],r=[];for(let i of e){let e=Ut(i,t);n.push(e),e.absolute||r.push(e)}return{childrenMap:Vt(n),nonAbsoluteChildren:r}}function Ut(t,n){let r=e.c(t.path),i=r.urlParams.length===0&&r.queryParams.length===0&&r.pathPattern===t.path?e.o:r,a=i.paramTypeMap,o={name:t.name,path:t.path,absolute:t.absolute,parent:n,children:void 0,paramMeta:i,nonAbsoluteChildren:void 0,fullName:``,paramTypeMap:a};if(o.fullName=Bt(o),t.children.length===0)o.children=Rt,o.nonAbsoluteChildren=zt;else{let{childrenMap:e,nonAbsoluteChildren:n}=Ht(t.children,o);o.children=e,o.nonAbsoluteChildren=n,k(o.nonAbsoluteChildren),k(o.children)}return k(a),k(i.urlParams),k(i.queryParams),k(i),k(o),o}function Wt(e){return Ut(e,null)}function Gt(e,t,n){return Wt(we(e,t,n))}function Kt(e){let t=e.absolute?`~${e.path}`:e.path,n={name:e.name,path:t};return e.children.size>0&&(n.children=Array.from(e.children.values(),Kt)),n}function qt(e){return Array.from(e.children.values(),Kt)}const Jt=e=>{let t=e.indexOf(`%`),n=e.indexOf(`+`);if(t===-1&&n===-1)return e;let r=n===-1?e:e.replaceAll(`+`,` `);return t===-1?r:decodeURIComponent(r)},Yt=(e,t)=>{if(e===void 0)return t.boolean.decodeUndefined();let n=t.boolean.decodeRaw(e);if(n!==null)return n;let r=Jt(e),i=t.number.decode(r);return i===null?t.boolean.decodeValue(r):i},Xt=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,Zt=e=>{try{return encodeURIComponent(e)}catch(t){if(!(t instanceof URIError))throw t;return encodeURIComponent(String(e).replaceAll(Xt,`�`))}},Qt=e=>{let t=typeof e;if(t!==`string`&&t!==`number`&&t!==`boolean`)throw TypeError(`[router] Invalid query value: an array element must be a string, number, or boolean — received ${t}`);return Zt(e)},$t=(e,t,n,r)=>{let i=`${e}${n}`,a=[];for(let e of t)if(e===null){let e=r.encode(i);e&&a.push(e)}else a.push(`${i}=${Qt(e)}`);return a.join(`&`)},en={none:{encodeArray:(e,t,n)=>$t(e,t,``,n)},brackets:{encodeArray:(e,t,n)=>$t(e,t,`[]`,n)},index:{encodeArray:(e,t,n)=>{let r=[];for(let[i,a]of t.entries()){let t=`${e}[${i}]`;if(a===null){let e=n.encode(t);e&&r.push(e)}else r.push(`${t}=${Qt(a)}`)}return r.join(`&`)},indexed:!0},comma:{encodeArray:(e,t)=>{let n=[];for(let e of t)e!==null&&n.push(Qt(e));return n.length===0?``:`${e}=${n.join(`,`)}`},decodeValue:e=>e.includes(`,`)?e.split(`,`):null}},tn={none:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:()=>null,decodeValue:e=>e},auto:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e},"empty-true":{encode:(e,t)=>t?e:`${e}=false`,decodeUndefined:()=>!0,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e}},nn={default:{encode:e=>e},hidden:{encode:()=>``}},rn={auto:{decode:e=>{let t=e.length;if(t===0)return null;let n=+(e.codePointAt(0)===45);if(n===t||t-n>1&&e.codePointAt(n)===48&&e.codePointAt(n+1)!==46)return null;let r=!1;for(let i=n;i<t;i++){let a=e.codePointAt(i);if(!(a!==void 0&&a>=48&&a<=57)){if(a===46&&!r&&i!==n&&i!==t-1){r=!0;continue}return null}}let i=Number(e);return String(i)!==e||!Number.isSafeInteger(i)&&!r?null:i}},none:{decode:()=>null}},an=Object.defineProperty,on=Object.keys,sn=Object.hasOwn,cn=Symbol.for(`real-router.searchParams.configFault`),A=(e,t,n)=>{let r=typeof t==`string`?t:String(t);if(!sn(e,r)){let t=TypeError(`[router.constructor] Invalid "queryParams.${n}": "${r}" — expected ${on(e).map(e=>`"${e}"`).join(` | `)}`);throw an(t,cn,{value:!0}),t}return e[r]},ln=(e,t,n,r)=>({boolean:A(tn,t,`booleanFormat`),null:A(nn,n,`nullFormat`),number:A(rn,r,`numberFormat`),array:A(en,e,`arrayFormat`)}),un=Object.freeze({boolean:tn.auto,null:nn.default,number:rn.auto,array:en.none}),j=Object.freeze({arrayFormat:`none`,booleanFormat:`auto`,nullFormat:`default`,numberFormat:`auto`}),dn=Object.freeze({...j,strategies:un}),fn=e=>{if(!e||e.arrayFormat===void 0&&e.booleanFormat===void 0&&e.nullFormat===void 0&&e.numberFormat===void 0)return dn;let t=e.arrayFormat??j.arrayFormat,n=e.booleanFormat??j.booleanFormat,r=e.nullFormat??j.nullFormat,i=e.numberFormat??j.numberFormat;return{arrayFormat:t,booleanFormat:n,nullFormat:r,numberFormat:i,strategies:ln(t,n,r,i)}},M=e=>Zt(e),pn=(e,t,n)=>{let r=M(e);switch(typeof t){case`string`:case`number`:return`${r}=${M(t)}`;case`boolean`:return n.strategies.boolean.encode(r,t);case`object`:return t===null?n.strategies.null.encode(r):Array.isArray(t)?n.strategies.array.encodeArray(r,t,n.strategies.null):`${r}=${M(t)}`;default:return`${r}=${M(t)}`}},mn=Object.hasOwn,hn=Object.keys;function gn(e,n,r){t.a(e,n,r)}function _n(e,t,n,r){if(!mn(e,t)){gn(e,t,r?[n]:n);return}let i=e[t];Array.isArray(i)?i.push(n):gn(e,t,[i,n])}function vn(e,t,n){let r=t+1,i=0,a=!1;for(;r<n;){let t=e.codePointAt(r);if(t===93)return a?i:null;if(t!==void 0&&t>=48&&t<=57){i=i*10+(t-48),a=!0,r++;continue}return null}return null}function yn(e,t,n){let{searchPart:r,nameEnd:i,nameSourceEnd:a,rawValue:o,decodedName:s}=e,c=vn(r,i,a);if(c===null)return!1;let l=Yt(o,t),u=n.get(s);return u===void 0?n.set(s,[[c,l]]):u.push([c,l]),!0}function bn(e,t,n,r,i,a,o){let s=a!==-1&&a<n?e.slice(a+1,n):void 0,c=s===void 0?n:a,l=c,u=!1;for(let n=t;n<c;n++)if(e.codePointAt(n)===91){l=n,u=!0;break}let d=Jt(e.slice(t,l));if(!(o!==void 0&&u&&yn({searchPart:e,nameEnd:l,nameSourceEnd:c,rawValue:s,decodedName:d},i,o))){if(!u&&s!==void 0&&i.array.decodeValue){let e=i.array.decodeValue(s);if(e){for(let t of e)_n(r,d,Yt(t,i),!0);return}}_n(r,d,Yt(s,i),u)}}const xn=(e,t)=>{if(e===``||e===`?`)return{};let n={};return Sn(e,n,t.strategies),n};function Sn(e,t,n){let r=n.array.indexed?new Map:void 0,i=0,a=e.length,o=-2;for(;i<a;){let s=e.indexOf(`&`,i);s===-1&&(s=a),s>i&&(o!==-1&&o<i&&(o=e.indexOf(`=`,i)),bn(e,i,s,t,n,o,r)),i=s+1}if(r!==void 0)for(let[e,n]of r)n.sort((e,t)=>e[0]-t[0]),gn(t,e,n.map(e=>e[1]))}const Cn=(e,t)=>{let n=hn(e);if(n.length===0)return``;let r=[];for(let i of n){let n=e[i];if(n===void 0)continue;let a=pn(i,n,t);a&&r.push(a)}return r.join(`&`)};function wn(e){let t=e?.queryParams,n=fn(t);return new Lt({...e?.caseSensitive!==void 0&&{caseSensitive:e.caseSensitive},...e?.strictTrailingSlash!==void 0&&{strictTrailingSlash:e.strictTrailingSlash},...e?.strictQueryParams!==void 0&&{strictQueryParams:e.strictQueryParams},...e?.urlParamsEncoding!==void 0&&{urlParamsEncoding:e.urlParamsEncoding},parseQueryString:e=>xn(e,n),buildQueryString:e=>Cn(e,n)})}const Tn={defaultRoute:``,defaultParams:{},defaultSearch:{},trailingSlash:`preserve`,caseSensitive:!0,queryParamsMode:`loose`,queryParams:j,urlParamsEncoding:`default`,allowNotFound:!0,rewritePathOnMatch:!0};function En(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`[router.constructor] options must be a plain object`)}const Dn=Object.freeze;var On=class{#e;constructor(e={}){this.#e=Dn(ve({...Tn,...e}))}static validateOptionsIsObject(e){En(e)}get(){return this.#e}};function kn(e,t){return typeof e==`function`?e(t):e}const An=Object.keys;function jn(e,t,n,r,i){let a=e.pathNames(t);if(a!==void 0)for(let e of An(n))!r.includes(e)&&!a.includes(e)&&i(t,e)}function N(e,n,r,i,o){let s=String(n),c=o?.resolveForward===!1?{name:s,params:r,search:i}:e.resolveForward(s,r,i),u=c.name,d=E(c.params,t.l),f=o?.diagnoseUndeclared===!0?e.reportUndeclaredParamKey:void 0;f&&jn(e,u,d,e.queryNames(u),f);let p=e.defaultParams(u),m=e.defaultSearch(u);if((c.search===void 0||c.search===t.u)&&p===void 0&&m===void 0)return{name:u,path:d,query:t.u};let h=e.queryNames(u),g=e.reportDroppedQueryKey,_=ge(o?.resolveForward===!1?a(m,d,h):m,E(c.search,t.u));return{name:u,path:he(p,d),query:e.admitsUndeclaredQuery()?_:l(_,h,t=>{g!==void 0&&e.pathNames(u)!==void 0&&g(u,t)})}}const Mn=Object.keys;function P(e,t){return t.buildPath(e.name,e.path,e.query)}function Nn(e,t){let n=t.reportUndeclaredParamKey;if(!n)return P(e,t);let r=Mn(e.path).length,i=P(e,t);return Mn(e.path).length>r&&jn(t,e.name,e.path,t.queryNames(e.name),n),i}const Pn=Object.freeze;function Fn(e,n){let r={name:e.name,params:e.path,search:e.query,path:n,context:{},transition:t.s};return Pn(r.params),r}function In(e,t){return pe(Fn(e,t))}function Ln(e,t){return Fn(e,t)}var Rn=class{#e;#t;get(){return this.#e.current}getPrevious(){return this.#e.previous}setContext(e){this.#e=e}setDependencies(e){this.#t=e}makeState(n,r,i,a){let o=this.#t.port(),s=N(o,n,r??t.l,i,{resolveForward:!1});return e.y(`makeState`,s.name,s.path,o.queryNames(s.name)),In(s,a??P(s,o))}areStatesEqual(e,t,n=!0){return!e||!t?!!e==!!t:e.name===t.name?n?fe(e.params,t.params,this.#t.getUrlParams(e.name)):de(e.params,t.params)&&de(e.search,t.search):!1}};const zn=Object.keys,Bn={[t.g.ROUTER_START]:t.h.ROUTER_START,[t.g.ROUTER_STOP]:t.h.ROUTER_STOP,[t.g.TRANSITION_SUCCESS]:t.h.TRANSITION_SUCCESS,[t.g.TRANSITION_START]:t.h.TRANSITION_START,[t.g.TRANSITION_LEAVE_APPROVE]:t.h.TRANSITION_LEAVE_APPROVE,[t.g.TRANSITION_ERROR]:t.h.TRANSITION_ERROR,[t.g.TRANSITION_CANCEL]:t.h.TRANSITION_CANCEL},Vn=zn(Bn),Hn=`router.usePlugin`;function Un(e){if(!(e&&typeof e==`object`)||Array.isArray(e))throw TypeError(`[router.usePlugin] Plugin factory must return an object, got ${typeof e}`);if(typeof e.then==`function`)throw TypeError(`[router.usePlugin] Async plugin factories are not supported. Factory returned a Promise instead of a plugin object.`)}const Wn=Object.freeze;var Gn=class e{#e=new Set;#t=new Set;#n;static validatePlugin(e){Un(e)}setDependencies(e){this.#n=e}count(){return this.#e.size}use(...e){if(this.#n.getValidator()?.plugins.validateCountThresholds(this.#e.size+e.length),e.length===1){let t=e[0],n=this.#i(t);this.#e.add(t);let r=!1,i=()=>{if(!r){r=!0,this.#e.delete(t),this.#t.delete(i);try{n()}catch(e){this.#n.logger.error(Hn,`Error during cleanup:`,e)}}};return this.#t.add(i),i}let t=this.#r(e),n=[];try{for(let e of t){let t=this.#i(e);n.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(Hn,`Cleanup error:`,e)}throw e}for(let{factory:e}of n)this.#e.add(e);let r=!1,i=()=>{if(!r){r=!0,this.#t.delete(i);for(let{factory:e}of n)this.#e.delete(e);for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(Hn,`Error during cleanup:`,e)}}};return this.#t.add(i),i}getAll(){return[...this.#e]}has(e){return this.#e.has(e)}disposeAll(){for(let e of this.#t)e();this.#e.clear(),this.#t.clear()}#r(e){let t=new Set;for(let n of e)t.has(n)?this.#n.getValidator()?.plugins.warnBatchDuplicates(e):t.add(n);return t}#i(t){let n=this.#n.compileFactory(t);e.validatePlugin(n),this.#n.getValidator()?.plugins.validatePluginKeys(n),Wn(n);let r=[];for(let e of Vn)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(Bn[e],n[e])),e===`onStart`&&this.#n.canNavigate()&&this.#n.getValidator()?.plugins.warnPluginAfterStart(e)):this.#n.getValidator()?.plugins.warnPluginMethodType(e));return()=>{for(let e of r)e();typeof n.teardown==`function`&&n.teardown()}}};const F=Object.create,Kn=()=>!0,qn=()=>!1,Jn=()=>Kn,Yn=()=>qn;function Xn(e){return e?Jn:Yn}function Zn(e,t,n){n===void 0?e.delete(t):e.set(t,n)}var Qn=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=new Map;#o=new Map;#s=new Map;#c=new Map;#l=new Map;#u=[this.#i,this.#a];#d;setDependencies(e){this.#d=e}getHandlerCount(e){let t=e===`activate`?this.#e:this.#n,n=e===`activate`?this.#t:this.#r;if(t.size===0)return n.size;if(n.size===0)return t.size;let r=new Set(t.keys());for(let e of n.keys())r.add(e);return r.size}preflightHandlerLimit(e,t,n){let r=this.#d.getValidator();if(!r)return;let i=(e,t,i)=>{let{definition:a,external:o}=this.#g(e),s=0;for(let e of t)(n?o.has(e):a.has(e)||o.has(e))||s++;if(s===0)return;let c=n?o.size:this.getHandlerCount(e);r.lifecycle.validateHandlerLimit(c+s-1,i)};i(`activate`,e,`canActivate`),i(`deactivate`,t,`canDeactivate`)}addCanActivate(e,t,n,r){this.#f(`activate`,e,t,n,`canActivate`,r)}addCanDeactivate(e,t,n,r){this.#f(`deactivate`,e,t,n,`canDeactivate`,r)}clearCanActivate(e,t){this.#p(`activate`,e,t)}clearCanDeactivate(e,t){this.#p(`deactivate`,e,t)}clearAll(){this.#e.clear(),this.#t.clear(),this.#n.clear(),this.#r.clear(),this.#a.clear(),this.#i.clear(),this.#o.clear(),this.#s.clear(),this.#c.clear(),this.#l.clear()}clearDefinitionGuards(){for(let e of this.#e.keys())this.#c.delete(e),this.#t.has(e)?this.#m(`activate`,e):this.#a.delete(e);for(let e of this.#n.keys())this.#o.delete(e),this.#r.has(e)?this.#m(`deactivate`,e):this.#i.delete(e);this.#e.clear(),this.#n.clear()}getFactories(){let e=F(null),t=F(null);for(let[t,n]of this.#n)e[t]=n;for(let[t,n]of this.#r)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFactoriesByOrigin(){let e=F(null),t=F(null),n=F(null),r=F(null);for(let[t,n]of this.#n)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,t]of this.#r)n[e]=t;for(let[e,t]of this.#t)r[e]=t;return{definition:[e,t],external:[n,r]}}getFunctions(){return this.#u}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#_(this.#i,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#_(this.#a,e,n,r,`canNavigateTo`))return!1;return!0}compileGuardFactory(e,t){let n=typeof e==`boolean`?Xn(e):e,r=this.#d.compileFactory(n);if(typeof r!=`function`)throw TypeError(`[router.${t}] Factory must return a function, got ${typeof r}`);return r}#f(e,t,n,r,i,a){let o=this.#g(e),s=e===`activate`?this.#a:this.#i,c=r?o.definition:o.external,l=r?o.external:o.definition;if(c.has(t)||l.has(t))this.#d.getValidator()?.lifecycle.warnOverwrite(t,e,i);else{let t=this.#d.getValidator();if(t){let n=this.getHandlerCount(e);t.lifecycle.validateHandlerLimit(n,i),t.lifecycle.validateCountThresholds(n+1,i)}}let u=typeof n==`boolean`?Xn(n):n,d=c.get(t),f=this.#h(e),p=r?f.definition:f.external,m=p.get(t);c.set(t,u);let h=r&&l.has(t);try{let e=a??this.compileGuardFactory(u,i);p.set(t,e),h||s.set(t,e)}catch(n){throw Zn(c,t,d),Zn(p,t,m),this.#m(e,t),n}}#p(e,t,n){let{definition:r,external:i}=this.#g(e),a=this.#h(e),o=n!==`external`&&r.delete(t),s=n!==`definition`&&i.delete(t);o&&a.definition.delete(t),s&&a.external.delete(t),(o||s)&&this.#m(e,t)}#m(e,t){let n=this.#h(e),r=e===`activate`?this.#a:this.#i,i=n.external.get(t)??n.definition.get(t);if(!i){r.delete(t);return}r.set(t,i)}#h(e){return e===`activate`?{definition:this.#c,external:this.#l}:{definition:this.#o,external:this.#s}}#g(e){return e===`activate`?{definition:this.#e,external:this.#t}:{definition:this.#n,external:this.#r}}#_(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#d.getValidator()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch(e){return this.#d.logger.warn(`router.${i}`,`Guard for "${t}" threw — treated as navigation-blocking (returned false)`,e),!1}}};const $n=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`,`defaultSearch`]),I=Object.create,er=Object.hasOwn,L=Object.keys;function tr(){return{decoders:I(null),encoders:I(null),defaultParams:I(null),defaultSearch:I(null),forwardMap:I(null),forwardFnMap:I(null)}}function nr(e){return L(e.forwardMap).length>0||L(e.forwardFnMap).length>0}function rr(e,t){for(let n of L(t))Object.assign(e[n],t[n])}function ir(e,t){for(let n in e)if(er(t,n)&&!w(e[n],t[n]))return!1;return!0}function ar(e){return typeof e==`string`?e:`<non-string>`}function or(e,t){for(let n in e)if(!w(e[n],t[n]))return!1;return!0}function sr(e){let t={name:e.name,path:e.path};return e.children&&(t.children=e.children.map(e=>sr(e))),t}function cr(e,t,n){if(n.add(t),e.children)for(let r of e.children)cr(r,`${t}.${r.name}`,n)}function lr(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t){e.splice(r,1);let t=new Set;return cr(i,a,t),t}if(i.children&&t.startsWith(`${a}.`)){let e=lr(i.children,t,a);if(e)return e}}}function ur(e,t){for(let n of L(e))t(n)&&delete e[n]}function dr(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function fr(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function pr(e,t,n){let r=n.get(t);if(r!==void 0)return r;let i=e.getSegmentsByName(t),a=i?fr(i):[];return n.set(t,a),a}function mr(e,t){return pr(e.matcher,t,e.urlParamsCache)}function hr(e,t,n,r){let i=r.get(t);if(i!==void 0)return i;let a=e.getDeclaredQueryParams(t),o=[];if(a){let r=pr(e,t,n);o=a.filter(e=>!r.includes(e))}return r.set(t,o),o}function gr(e,t){return hr(e.matcher,t,e.urlParamsCache,e.queryParamsCache)}function _r(e,t,n){let r=new Map,i=new Map;o(t.defaultParams,t=>hr(e,t,r,i),n)}function vr(e,t,n=100){let r=String(e),i=new Set,a=[r],o=r;for(;;){let e=t[o];if(!e)break;let r=String(e);if(i.has(r)){let e=a.indexOf(r),t=[...a.slice(e),r];throw Error(`Circular forwardTo: ${t.join(` → `)}`)}if(i.add(o),a.push(r),o=r,a.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${a.join(` → `)}`)}return o}const R=Object.create,yr=Object.entries,z=Object.keys,br=Object.defineProperty,xr=Object.fromEntries;function Sr(e,t,n){let r=Gt(``,t,e),i=wn(n);return i.registerTree(r),{tree:r,matcher:i}}function Cr(e,t=e.definitions){let n=Sr(t,e.rootPath,e.matcherOptions);e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function wr(e,t){let n=Sr(e.definitions,t,e.matcherOptions);_r(n.matcher,e.config,`setRootPath`),e.rootPath=t,e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function Tr(e,t){Cr(e,t),B(e,Or(e.config))}function Er(e){Dr(e),Cr(e,[])}function Dr(e){Object.assign(e.config,tr()),B(e,R(null)),e.routeCustomFields=R(null)}function B(e,t){e.resolvedForwardMap=t,e.hasAnyForward=nr(e.config)}function Or(e){let t=R(null);for(let n of z(e.forwardMap))t[n]=vr(n,e.forwardMap);return t}function kr(e,t){if(typeof e!=`function`)return;let n=e.constructor.name===`AsyncFunction`,r=e.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}function Ar(e,t,n,r){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}kr(e.forwardTo,t),typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function jr(e,t,n,r,i,a,o){let s=xr(yr(e).filter(([e])=>!$n.has(e)));if(z(s).length>0&&(r[t]=s),e.canActivate&&i.set(t,e.canActivate),e.canDeactivate&&a.set(t,e.canDeactivate),e.forwardTo&&Ar(e,t,n,o),e.decodeParams){let r=e.decodeParams;n.decoders[t]=e=>r(e)??e}if(e.encodeParams){let r=e.encodeParams;n.encoders[t]=e=>r(e)??e}e.defaultParams&&(n.defaultParams[t]=e.defaultParams),e.defaultSearch&&(n.defaultSearch[t]=e.defaultSearch)}function Mr(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;jr(s,e,t,n,r,i,a),s.children&&Mr(s.children,t,n,r,i,a,e)}}function Nr(e){let t=tr();return rr(t,e),t}function Pr(e,t,n){if(n.length===0)return[...e,...t];let[r,...i]=n;return e.map(e=>{if(e.name!==r)return e;let n=e.children??[];return{...e,children:i.length===0?[...n,...t]:Pr(n,t,i)}})}function Fr(e){return e.map(e=>{let t={...e};return Array.isArray(t.children)&&(t.children=Fr(t.children)),t})}function Ir(e,t,n){for(let r of e){let e=t?`${t}.${r.name}`:r.name;n(e),r.children&&Ir(r.children,e,n)}}function Lr(e,t,n){let r=new Set;Ir(e,t,e=>{if(r.has(e))throw Error(`[router.${n}] Duplicate route "${e}" in batch`);r.add(e)})}function Rr(e,t){if(v(e,t),e.startsWith(`@@`))throw Error(`[router.${t}] Route name "${e}" uses the reserved "@@" prefix. Routes with this prefix are internal and cannot be modified through the public API.`)}function V(e,t){for(let n of e)Rr(n.name,t),n.children&&V(n.children,t)}function H(t,n){for(let r of t)e.r(r.name,n),r.children&&H(r.children,n)}function U(t,n){for(let r of t)e.t(r.name,n),r.children&&U(r.children,n)}function zr(e,t,n){let r=new Map,i=(e,t)=>{for(let a of e){let e=r.get(t);if(e?.has(a.path))throw Error(`[router.${n}] Path "${a.path}" is already defined`);e?e.add(a.path):r.set(t,new Set([a.path])),a.children&&i(a.children,t?`${t}.${a.name}`:a.name)}};i(e,t)}function Br(e,t,n){if(V(t,`addRoute`),H(t,`addRoute`),U(t,`addRoute`),n!==void 0&&!e.matcher.hasRoute(n))throw Error(`[router.addRoute] Parent route "${n}" does not exist`);Ir(t,n??``,t=>{if(e.matcher.hasRoute(t))throw Error(`[router.addRoute] Route "${t}" already exists`)}),Lr(t,n??``,`addRoute`),zr(t,n??``,`addRoute`)}function Vr({definitions:e,routesForHandlers:t,config:n,routeCustomFields:r,handlerParentName:i,rootPath:a,matcherOptions:o,logger:s}){let c=new Map,l=new Map;Mr(t,n,r,c,l,s,i);let u=Or(n),{tree:d,matcher:f}=Sr(e,a,o);return{config:n,routeCustomFields:r,pendingCanActivate:c,pendingCanDeactivate:l,tree:d,matcher:f,resolvedForwardMap:u}}function Hr(e,t,n,r){return Vr({definitions:Pr(e.definitions,t.map(e=>sr(e)),n===void 0?[]:n.split(`.`)),routesForHandlers:t,config:Nr(e.config),routeCustomFields:Object.assign(R(null),e.routeCustomFields),handlerParentName:n??``,rootPath:e.rootPath,matcherOptions:e.matcherOptions,logger:r})}function Ur(e,t,n,r){return Vr({definitions:e.map(e=>sr(e)),routesForHandlers:e,config:tr(),routeCustomFields:R(null),handlerParentName:``,rootPath:t,matcherOptions:n,logger:r})}function Wr(e,t,n){let r=[];for(let[i,a]of e)r.push([i,a,t(a,n)]);return r}function Gr(e,t){return{activate:Wr(e.pendingCanActivate,t.compileGuard,`canActivate`),deactivate:Wr(e.pendingCanDeactivate,t.compileGuard,`canDeactivate`)}}function Kr(e,t,n){let r=e.depsStore,{activate:i,deactivate:a}=n??Gr(t,r);Object.assign(e.config,t.config),e.routeCustomFields=t.routeCustomFields,e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear(),B(e,t.resolvedForwardMap);for(let[e,t,n]of i)r.addActivateGuard(e,t,n);for(let[e,t,n]of a)r.addDeactivateGuard(e,t,n)}function W(e){return e===null?e:e||void 0}function qr(t,n,r,i){let{forwardTo:a,defaultParams:o,defaultSearch:s,decodeParams:c,encodeParams:l,canActivate:u,canDeactivate:d}=i,f=W(a),p=W(o),m=W(s),h=W(c),g=W(l),_=W(u),v=W(d);p!=null&&e.v(`updateRoute`,r,p,gr(t,r),"this route's `defaultParams`","Move it to `defaultSearch`");let y=f===void 0?void 0:Jr(r,f,t.config),b=Yr(t,r,i),x=_==null?void 0:n.compileGuardFactory(_,`canActivate`),ee=v==null?void 0:n.compileGuardFactory(v,`canDeactivate`);return n.preflightHandlerLimit(x===void 0?[]:[r],ee===void 0?[]:[r],!1),b!==void 0&&(z(b).length>0?t.routeCustomFields[r]=b:delete t.routeCustomFields[r]),y!==void 0&&(t.config.forwardMap=y.forwardMap,t.config.forwardFnMap=y.forwardFnMap,B(t,y.resolved)),Zr(t,r,{defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}),Qr(n,`activate`,r,_,x),Qr(n,`deactivate`,r,v,ee),{forwardTo:f,defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}}function Jr(e,t,n){kr(t,e);let r=Object.assign(R(null),n.forwardMap),i=Object.assign(R(null),n.forwardFnMap);return t===null?(delete r[e],delete i[e]):typeof t==`string`?(delete i[e],r[e]=t):(delete r[e],i[e]=t),{forwardMap:r,forwardFnMap:i,resolved:Or({...n,forwardMap:r})}}function Yr(e,n,r){let i;for(let a of z(r)){if($n.has(a))continue;let o=r[a];o!==void 0&&(i??={...e.routeCustomFields[n]},o===null?delete i[a]:t.a(i,a,o))}return i}function Xr(e,t,n){n!==void 0&&(n===null?delete e[t]:e[t]=n)}function Zr(e,t,n){if(Xr(e.config.defaultParams,t,n.defaultParams),Xr(e.config.defaultSearch,t,n.defaultSearch),n.decodeParams!==void 0)if(n.decodeParams===null)delete e.config.decoders[t];else{let r=n.decodeParams;e.config.decoders[t]=e=>r(e)??e}if(n.encodeParams!==void 0)if(n.encodeParams===null)delete e.config.encoders[t];else{let r=n.encodeParams;e.config.encoders[t]=e=>r(e)??e}}function Qr(e,t,n,r,i){r!==void 0&&(t===`activate`?r===null?e.clearCanActivate(n,`definition`):e.addCanActivate(n,r,!0,i):r===null?e.clearCanDeactivate(n,`definition`):e.addCanDeactivate(n,r,!0,i))}function $r(e,t,n){let r=Fr(e);V(r,`addRoute`),H(r,`constructor`),U(r,`constructor`),Lr(r,``,`addRoute`);let i=Ur(r,``,t,n),a={get definitions(){return qt(a.tree)},config:i.config,tree:i.tree,matcher:i.matcher,urlParamsCache:new Map,queryParamsCache:new Map,resolvedForwardMap:i.resolvedForwardMap,hasAnyForward:nr(i.config),routeCustomFields:i.routeCustomFields,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,pendingCanActivate:i.pendingCanActivate,pendingCanDeactivate:i.pendingCanDeactivate};return _r(a.matcher,a.config,`addRoute`),br(a,`matcherOptions`,{writable:!1,configurable:!1}),a}const ei=Object.freeze,ti=Object.keys,ni=[];Object.freeze(ni);function ri(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}const ii=new Set([`string`,`number`,`boolean`]);function ai(e){return ii.has(typeof e)}function oi(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of ti(i)){let t=n.params[e],i=r.params[e];if(ai(t)&&ai(i)&&String(t)!==String(i))return!1}return!0}function si(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!oi(a,e,t,n))return o}return a}const ci=new Map;function G(e){let t=ci.get(e);if(t)return t;let n=li(e);return ei(n),ci.set(e,n),n}function li(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:ri(e)}let ui,di,K=null,fi,pi,mi=null;function hi(e,t,n){if(!t)return{intersection:``,toActivate:G(e.name),toDeactivate:ni};let r=n(e.name),i=n(t.name);if(!r&&!i)return{intersection:``,toActivate:G(e.name),toDeactivate:G(t.name)};let a=G(e.name),o=G(t.name),s=Math.min(o.length,a.length),c=si(r??i,e,t,a,o,s),l;if(c>=o.length)l=ni;else if(c===0&&o.length===1)l=o;else{l=[];for(let e=o.length-1;e>=c;e--)l.push(o[e])}let u=c===0?a:a.slice(c);return{intersection:c>0?o[c-1]:``,toDeactivate:l,toActivate:u}}function q(e,t,n){if(K!==null&&e===ui&&t===di)return K;if(mi!==null&&e===fi&&t===pi)return mi;let r=hi(e,t,n);return fi=ui,pi=di,mi=K,ui=e,di=t,K=r,r}const gi=Object.freeze,J=Object.hasOwn;function _i(e,t){return{name:t??e.segments.at(-1).fullName,params:e.params,search:e.search,meta:e.meta}}function vi(e){return e===`preserve`?void 0:e}var yi=class{#e;#t;#n;get#r(){return this.#e.depsStore}constructor(e,t,n){this.#e=$r(e,t,n)}static shouldUpdateNode(e,t){return(n,r)=>{if(!(n&&typeof n==`object`&&`name`in n))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(n.transition?.reload||e===``)return!0;let{intersection:i,toActivate:a,toDeactivate:o}=q(n,r,t);return e===i||a.includes(e)?!0:o.includes(e)}}setDependencies(e){this.#e.depsStore=e}flushPendingGuards(){let e=this.#r;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){wr(this.#e,e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){Er(this.#e)}buildPath(e,n,r,i){if(e===t.p.UNKNOWN_ROUTE)return typeof n.path==`string`?n.path:``;let a=r??t.u,o=this.#e.config.encoders[e];if(typeof o==`function`){let t=o({params:{...n},search:{...a}});return this.#e.matcher.buildPath(e,t.params,t.search,this.#c(i))}return this.#e.matcher.buildPath(e,n,a,this.#c(i))}buildPathFromIntent(e,n,r){let i=n??t.l;return e===t.p.UNKNOWN_ROUTE?this.#r.port.buildPath(e,i,r??t.u):P(N(this.#r.port,e,i,r,{resolveForward:!1}),this.#r.port)}matchPath(t,n){let r=n,i=this.#e.matcher.match(t);if(!i)return;let a=_i(i),{name:o}=a,s=D(a.params),c=D(a.search),l=this.#e.config.decoders[o],u;typeof l==`function`?(u=l({params:s,search:c}),this.#r.getValidator()?.routes.validateStateBuilderArgs(o,u.params,`matchPath`),e.v(`matchPath`,o,u.params,this.getQueryParams(o),"the `params` returned by this route's `decodeParams`")):u={params:s,search:c};let d=N(this.#r.port,o,u.params,u.search),f=d.name;e.y(`matchPath`,d.name,d.path,this.getQueryParams(d.name));let p=d.path,m=d.query,h=t;if(r.rewritePathOnMatch){let e=this.#e.config.encoders[f],n=typeof e==`function`?e({params:p,search:m}):{params:p,search:m},i=r.trailingSlash;try{h=this.#e.matcher.buildPath(f,n.params,n.search,{trailingSlash:vi(i),queryParamsMode:r.queryParamsMode}),i===`preserve`&&(h=dr(t,h))}catch{h=t}}return In(d,h)}forwardState(e,n,r){let i=r??t.u;if(J(this.#e.config.forwardFnMap,e)){let t=this.#e.config.forwardFnMap[e],{target:r,chain:a}=this.#l(e,t,n);return this.#s(r,a,n,i)}let a=this.#e.resolvedForwardMap[e]??e;if(a!==e&&J(this.#e.config.forwardFnMap,a)){let t=this.#e.config.forwardFnMap[a],{target:r,chain:o}=this.#l(a,t,n);return this.#s(r,[...this.#o(e),...o],n,i)}return a===e?{name:e,params:n,search:i}:this.#s(a,this.#o(e),n,i)}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return _i({segments:n,params:t,search:{},meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,n=t.l,r=t.u,i=!1,a=!0){if(this.#i(e,n,r,i,a))return!0;if(!this.#e.hasAnyForward)return!1;let o;try{o=typeof e==`string`?e:String(e)}catch{return!1}if(!J(this.#e.config.forwardMap,o)&&!J(this.#e.config.forwardFnMap,o))return!1;let s;try{s=this.forwardState(e,n,r)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Dynamic forwardTo of route "${ar(e)}" threw while resolving the active-link destination; treating the link as inactive.`,t),!1}return this.#i(s.name,s.params,s.search,i,a)}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){return mr(this.#e,e)}getQueryParams(e){return gr(this.#e,e)}getStore(){return this.#e}getPort(){return this.#r.port}#i(e,t,n,r,i){try{return this.#a(e,t,n,r,i)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Reading the arguments for route "${ar(e)}" threw while resolving the active-link state; treating the link as inactive.`,t),!1}}#a(e,t,n,r,i){let a=this.#r.getState();if(!a)return!1;let o=a.name;if(o!==e&&!o.startsWith(`${e}.`)&&!e.startsWith(`${o}.`))return!1;let s=N(this.#r.port,e,t,n,{resolveForward:!1});if(r||o===e){let e=Ln(s,``);return!this.#r.areStatesEqual(e,a,!0)||!ir(s.path,a.params)?!1:i||de(e.search,a.search)}return!(!o.startsWith(`${e}.`)||!ir(s.path,a.params)||!i&&!or(s.query,a.search))}#o(e){let t=[],n=e;for(;J(this.#e.config.forwardMap,n);)t.push(n),n=this.#e.config.forwardMap[n];return t}#s(e,n,r,i){let a,o;for(let e of n)a=C(this.#e.config.defaultParams[e],a),o=C(this.#e.config.defaultSearch[e],o);return{name:e,params:E(C(a,r),t.l),search:E(C(o,i),t.u)}}#c(e){return this.#t?(e!==this.#n&&this.#r.logger.warn(`router.buildPath`,"`options` differs from the cached source reference; router options are immutable per router instance, so the first-cached buildPath options are reused (#957)."),this.#t):(this.#n=e,this.#t=gi({trailingSlash:vi(e?.trailingSlash),queryParamsMode:e?.queryParamsMode}),this.#t)}#l(e,t,n){let r=new Set([e]),i=[e],a=t(this.#r.getDependency,n),o=0;if(typeof a!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof a}`);for(;o<100;){if(this.#e.matcher.getSegmentsByName(a)===void 0)throw Error(`Route "${a}" does not exist`);if(r.has(a)){let e=[...r,a].join(` → `);throw Error(`Circular forwardTo: ${e}`)}if(r.add(a),J(this.#e.config.forwardFnMap,a)){let e=this.#e.config.forwardFnMap[a];i.push(a),a=e(this.#r.getDependency,n),o++;continue}let e=this.#e.config.forwardMap[a];if(e!==void 0){i.push(a),a=e,o++;continue}return{target:a,chain:i}}throw Error(`forwardTo exceeds maximum depth of 100`)}};const bi=new n.t(t.m.ROUTER_NOT_STARTED),xi=new n.t(t.m.ROUTE_NOT_FOUND),Si=new n.t(t.m.SAME_STATES),Ci=new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router] cannot commit before the start navigation does — the boot would overwrite it; defer with queueMicrotask/await, or navigate after start() resolves`});Object.freeze(bi),Object.freeze(xi),Object.freeze(Si),Object.freeze(Ci);const wi=Promise.reject(bi),Ti=Promise.reject(xi),Ei=Promise.reject(Si),Di=Promise.reject(Ci);wi.catch(()=>{}),Ti.catch(()=>{}),Ei.catch(()=>{}),Di.catch(()=>{});const Oi=new Set([t.m.SAME_STATES,t.m.TRANSITION_CANCELLED,t.m.ROUTER_NOT_STARTED,t.m.ROUTE_NOT_FOUND,t.m.CANNOT_ACTIVATE,t.m.CANNOT_DEACTIVATE,t.m.ROUTER_ALREADY_STARTED]);function ki(e){return e instanceof n.t&&Oi.has(e.code)}const Ai=new Set([wi,Ti,Ei,Di]),Y=Object.freeze;function ji(e){let{fromState:t,toDeactivate:n,toActivate:r,intersection:i}=e;Y(n),Y(r);let a={phase:`activating`,reason:`success`,segments:Y({deactivated:n,activated:r,intersection:i})};return t?.name!==void 0&&(a.from=t.name),e.reload!==void 0&&(a.reload=e.reload),e.replace!==void 0&&(a.replace=e.replace),e.redirected!==void 0&&(a.redirected=e.redirected),Y(a)}function Mi(e,r){let{toState:i,fromState:a,toDeactivate:o,toActivate:s}=r;if(i.name!==t.p.UNKNOWN_ROUTE&&!e.hasRoute(i.name)){let o=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:i.name});throw e.sendTransitionFail(a,o,r),n.n(o)}let c=r;i.transition=ji(r);let l=Y(i),u=e.canCommitTransition(c);if(!u)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));for(let t of o)s.includes(t)||!r.canDeactivateFunctions.has(t)||e.clearCanDeactivate(t,u);return e.sendTransitionDone(c),l}const Ni=Object.entries;function Pi(e){return e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED}function Fi(e){return Pi(e)?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e})}function Ii(e,n,r,i){let a=n;a.code!==t.m.TRANSITION_CANCELLED&&a.code!==t.m.ROUTE_NOT_FOUND&&e.sendTransitionFail(r,a,i)}function Li(e,r,i){if(e instanceof DOMException&&e.name===`AbortError`)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(Pi(e))throw e;Ri(e,r,i)}function Ri(e,t,r){if(e instanceof n.t){let{code:r,message:i,...a}=e.toJSON(),o=new n.t(r,{...a,message:i});throw o.setCode(t),o.stack=e.stack??``,n.n(o)}throw n.n(new n.t(t,Bi(e,r)))}const zi=new Set([`code`,`segment`,`path`,`then`]);function Bi(e,n){let r={segment:n};if(e instanceof Error)return{...r,message:e.message,stack:e.stack,...`cause`in e&&e.cause!==void 0&&{cause:e.cause}};if(e&&typeof e==`object`){let n={};for(let[r,i]of Ni(e))r!==`__proto__`&&!zi.has(r)&&t.a(n,r,i);return{...r,...n}}return r}async function Vi(e,t,r){let i;try{i=await e}catch(e){Li(e,t,r);return}if(!i)throw n.n(new n.t(t,{segment:r}))}function Hi(e,r,i,a,o,s,c,l,u,d){if(!u())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(e===1){let t=d();return t===void 0?void 0:{phase:e,index:r+1,pending:t}}let f=i[r],p=a.get(f);if(!p)return;let m=!1;try{m=p(s,c,l)}catch(e){Li(e,o,f)}if(m instanceof Promise)return{phase:e,index:r+1,pending:m};if(!m)throw n.n(new n.t(o,{segment:f}))}function Ui(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e===1,h=e===0;if(!m&&!(h?s:c))return;let g=h?a:o,_=m?1:g.length,v=h?r:i,y=h?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE;for(let t=n;t<_;t++){let n=Hi(e,t,g,v,y,l,u,d,f,p);if(n!==void 0)return n}}function Wi(e,t,n,r,i,a,o,s,c,l,u,d,f){for(let p=d;p<=2;p++){let m=Ui(p,p===d?f:0,e,t,n,r,i,a,o,s,c,l,u);if(m!==void 0)return m}}async function Gi(e,n,r,i,a,o,s,c,l,u,d,f){let p=e;for(;p!==void 0;){if(p.phase===1)await p.pending;else{let e=p.phase===0;await Vi(p.pending,e?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE,(e?i:a)[p.index-1])}p=Wi(n,r,i,a,o,s,c,l,u,d,f,p.phase,p.index)}}function Ki(e,t,n,r,i,a,o,s,c,l,u){let d=Wi(e,t,n,r,i,a,o,s,c,l,u,0,0);return d===void 0?void 0:Gi(d,e,t,n,r,i,a,o,s,c,l,u)}const qi=Object.freeze,Ji=Object.freeze([]),Yi=new Map;function Xi(e,t){return t?qi({...e,replace:!0}):e}function Zi(e,t,n,r){return!!e&&!t&&!n&&e.path===r.path}function Qi(e,t){if(e.size===0)return!1;for(let n of t)if(e.has(n))return!0;return!1}function $i(e){let t=e.controller;if(t!==void 0)return t;let n=new AbortController;return e.cancelReason!==void 0&&n.abort(e.cancelReason),e.controller=n,n}function ea(e,t){t.externalSignal===void 0||t.cancelReason!==void 0||!t.hasGuards||e.bridgeExternalSignal(t)}function ta(e,r,i,a,o,s,c,l,u,d){ca(e,s);let f=e.hasLeaveListeners()||e.hasPreCommitListeners(),p={toState:r,fromState:i,opts:a,suspendable:o!==void 0||f,forceDeactivate:d,toDeactivate:Ji,toActivate:Ji,intersection:``,canDeactivateFunctions:Yi,canActivateFunctions:Yi,shouldDeactivate:!1,shouldActivate:!1,hasGuards:!1,controller:void 0,cancelReason:void 0,detachExternalBridge:void 0,externalSignal:o,reload:c,replace:l,redirected:u};if(!e.startTransition(p))throw n.n(new n.t(t.m.TRANSITION_CANCELLED));return p}function na(e,t){return e.sendLeaveApprove(t),Mi(e,t)}function ra(e,n){let[r,i]=e.getLifecycleFunctions(),{toDeactivate:a,toActivate:o,intersection:s}=q(n.toState,n.fromState,t=>e.getMetaForState(t));n.canDeactivateFunctions=r,n.canActivateFunctions=i,n.toDeactivate=a,n.toActivate=o,n.intersection=s,n.shouldDeactivate=!!n.fromState&&!n.forceDeactivate&&a.length>0,n.shouldActivate=n.toState.name!==t.p.UNKNOWN_ROUTE&&o.length>0,n.hasGuards=n.shouldDeactivate&&Qi(r,a)||n.shouldActivate&&Qi(i,o)}function ia(e,r,i){let a,o;try{a=e.getState();let s=i.signal,c=s?.aborted===!0?s:void 0;i=_e(i);let l=i.reload,u=i.force,d=i.replace,f=i.redirected,p=i.forceDeactivate===!0,m=a?.name===t.p.UNKNOWN_ROUTE&&!d,h=m||d;if(i=Xi(i,m),Zi(a,l,u,r))return e.emitTransitionError(r,a,Si),Ei;let g=ta(e,r,a,i,s,c,l,h,f,p);o=g;let _=g.externalSignal;if(_?.aborted===!0&&e.cancelNavigation(_.reason),ra(e,g),ea(e,g),!g.hasGuards&&!g.suspendable)return na(e,g);let{canDeactivateFunctions:v,canActivateFunctions:y,toDeactivate:b,toActivate:x,shouldDeactivate:ee,shouldActivate:te,hasGuards:ne}=g,re=r;if(!ne){let t=sa(e,g);if(t!==void 0)return t}if(ne){let i=$i(g),o=()=>!i.signal.aborted,s=i.signal,c=Ki(v,y,b,x,ee,te,r,a,s,o,()=>{if(e.sendLeaveApprove(g),e.hasLeaveListeners())return e.awaitLeaveListeners(re,a,s)});if(c!==void 0)return aa(e,c,g,i);if(!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED))}return Mi(e,g)}catch(t){let n=oa(e,t,{nav:o,fromState:a});return Promise.reject(n)}}async function aa(e,r,i,a){let o=()=>!a.signal.aborted,s=i.externalSignal,c,l=!1,u,d=new Promise(e=>{if(a.signal.aborted){e();return}c=()=>{e()},a.signal.addEventListener(`abort`,c,{once:!0})});r.catch(()=>{});try{if(s?.aborted)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:s.reason}));if(await Promise.race([r,d]),!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let a=Mi(e,i);return l=!0,a}catch(t){let n=o()?t:Fi(t);throw u=n,Ii(e,n,i.fromState,i),n}finally{c&&a.signal.removeEventListener(`abort`,c),l||a.abort(u)}}function oa(e,t,n){let{nav:r}=n;if(r?.controller?.abort(t),r!==void 0){let i=e.isTransitioning()?t:Fi(t);return Ii(e,i,n.fromState,r),i}return t}function sa(e,t){let{toState:n,fromState:r}=t;if(e.hasLeaveListeners()&&$i(t),e.sendLeaveApprove(t),e.hasLeaveListeners()){let i=$i(t),a;try{a=e.awaitLeaveListeners(n,r,i.signal)}catch(e){throw i.abort(e),e}return a===void 0?void 0:aa(e,a,t,i)}}function ca(e,r){if(e.isTransitioning()&&(e.logger.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),e.cancelNavigation()),r!==void 0)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:r.reason}))}const la=Object.freeze,ua=Object.freeze([t.p.UNKNOWN_ROUTE]),da=Object.freeze({replace:!0});function fa(e,r,i){ca(e,void 0);let a=e.getState(),o=a?G(a.name).toReversed():[];la(o);let s={deactivated:o,activated:ua,intersection:``};la(s);let c={phase:`activating`,...a&&{from:a.name},reason:`success`,replace:!0,segments:s};la(c);let l={name:t.p.UNKNOWN_ROUTE,params:t.l,search:t.u,path:r,transition:c,context:{}};if(la(l),i&&a!==void 0&&!e.canDeactivateCurrent(o,l,a)){let i=new n.t(t.m.CANNOT_DEACTIVATE,{path:r,message:`[router.navigateToNotFound] a canDeactivate guard on "${a.name}" refused to leave for ${r}`});throw e.emitTransitionError(void 0,a,i),n.n(i)}return e.systemCommit(l,a,da)}function pa(e,t){return fa(e,t,!0)}function ma(e,t){return fa(e,t,!1)}var ha=class{#e;#t;#n=0;setDependencies(e){this.#e=e,this.#t=t=>{ki(t)||e.logger.error(`router.navigate`,`Unexpected navigation error`,t)}}navigate(e,t,n,r){return this.#r(this.#i(e,t,n,r))}navigateToState(e,t){return this.#r(this.#a(e,t))}navigateToDefault(e){return this.#r(this.#s(e))}navigateToNotFound(e){return pa(this.#e,e)}revalidateToNotFound(e){return ma(this.#e,e)}isPreparing(){return this.#n>0}#r(e){return e instanceof Promise&&!Ai.has(e)&&e.catch(this.#t),e}#i(e,t,n,r){let i=this.#e;if(!i.canNavigate())return i.isStarting()?Di:wi;let a;this.#n++;try{a=i.buildNavigateState(e,t,n)}catch(e){return Promise.reject(e)}finally{this.#n--}return a?ia(this.#e,a,r):(i.emitTransitionError(void 0,i.getState(),xi),Ti)}#a(r,i){let a=this.#e;if(!a.canNavigate())return a.isStarting()?Di:wi;if(r.name!==t.p.UNKNOWN_ROUTE&&!a.hasRoute(r.name)){let e=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:r.name});return a.emitTransitionError(void 0,a.getState(),e),Promise.reject(e)}let o=e.b(r.params,a.getQueryParams(r.name));if(o!==void 0){let i=new n.t(t.m.WRONG_CHANNEL,{routeName:r.name,message:`[router.navigateToState] ${e.x(r.name,o,"`state.params`")}`});return a.emitTransitionError(void 0,a.getState(),i),Promise.reject(i)}let s;try{s=this.#o(r)}catch(e){return Promise.reject(e)}return ia(this.#e,s,i)}#o(e){return{name:e.name,params:T(e.params,t.l),search:T(e.search,t.u),path:e.path,context:{...e.context},transition:t.s}}#s(e){let r=this.#e;if(!r.getOptions().defaultRoute)return Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let i,a,o;this.#n++;try{({route:i,params:a,search:o}=r.resolveDefault())}catch(e){return Promise.reject(e)}finally{this.#n--}return i?typeof i==`string`?this.#i(i,a,o,e):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute did not resolve to a route name`})):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}};const ga={},_a=Object.freeze({replace:!0});function va(e){return[e,e?.reason].some(e=>e instanceof n.t&&e.code===t.m.ROUTE_NOT_FOUND)}var ya=class{#e;setDependencies(e){this.#e=e}async start(e){let r=this.#e;if(r.isIdle())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let i=r.getOptions();if(typeof e!=`string`)throw TypeError(`[router.start] path must be a string, got ${typeof e}`);let a=r.matchPath(e);if(!a&&!i.allowNotFound)throw n.n(new n.t(t.m.ROUTE_NOT_FOUND,{path:e}));if(r.completeStart(),a)try{return await r.navigateToState(a,_a)}catch(t){if(!i.allowNotFound||!va(t))throw t;return r.navigateToNotFound(e)}return r.navigateToNotFound(e)}};const ba={},xa=Object.create,Sa=Object.entries,Ca=Object.hasOwn,wa=Object.values,Ta=new WeakMap;function Ea(e,t,n){if(typeof n==`string`)return{target:n,when:void 0,update:void 0};if(n.when!==void 0&&typeof n.when!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].when is not a function`);if(n.update!==void 0&&typeof n.update!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].update is not a function`);return{target:n.target,when:n.when,update:n.update}}function Da(e){let t=Ta.get(e);if(t!==void 0)return t;let n=e,r=xa(null);for(let[e,t]of Sa(n)){let n=xa(null);for(let[r,i]of Sa(t))i!==void 0&&(n[r]=Ea(e,r,i));r[e]=n}for(let e of wa(r))for(let t of wa(e))if(t!==void 0&&r[t.target]===void 0)throw Error(`[FSM.constructor] state "${t.target}" is not declared in config.transitions`);return Ta.set(e,r),r}var Oa=class{#e;#t;#n=0;#r=null;#i;#a;#o=[];constructor(e){if(this.#e=e.initial,this.#i=e.context,this.#a=Da(e.transitions),this.#a[e.initial]===void 0)throw Error(`[FSM.constructor] state "${e.initial}" is not declared in config.transitions`);this.#t=this.#a[e.initial]}send(e,t){let n=this.#t[e];if(n===void 0)return this.#e;let r=t,i=n.when;if(i!==void 0&&!i(this.#i,r))return this.#e;let a=n.target,o=n.update,s=this.#e;if(this.#e=a,this.#t=this.#a[a],o?.(this.#i,r),this.#r!==null){let t=this.#r.get(s)?.get(e);t!==void 0&&t(r)}if(this.#n>0){let t={from:s,to:a,event:e,payload:r};for(let e of this.#o)e!==null&&e(t)}return this.#e}canSend(e,t){let n=this.#t[e];return n===void 0?!1:n.when===void 0||n.when(this.#i,t)}getState(){return this.#e}getContext(){return this.#i}on(e,t,n){let r=this.#a[e];if(r===void 0)throw Error(`[FSM.on] state "${e}" is not declared in config.transitions`);if(!Ca(r,t))throw Error(`[FSM.on] event "${t}" has no edge from state "${e}"`);this.#r??=new Map;let i=this.#r.get(e);i||(i=new Map,this.#r.set(e,i));let a=n;return i.set(t,a),()=>{let n=this.#r?.get(e);n?.get(t)===a&&n.delete(t)}}onTransition(e){let t=this.#o.indexOf(null),n;t===-1?(n=this.#o.length,this.#o.push(e)):(this.#o[t]=e,n=t),this.#n++;let r=!0;return()=>{r&&(r=!1,this.#o[n]=null,this.#n--)}}};const X={IDLE:`IDLE`,STARTING:`STARTING`,READY:`READY`,TRANSITION_STARTED:`TRANSITION_STARTED`,LEAVE_APPROVED:`LEAVE_APPROVED`,DISPOSED:`DISPOSED`},Z={START:`START`,STARTED:`STARTED`,NAVIGATE:`NAVIGATE`,LEAVE_APPROVE:`LEAVE_APPROVE`,COMPLETE:`COMPLETE`,FAIL:`FAIL`,CANCEL:`CANCEL`,STOP:`STOP`,DISPOSE:`DISPOSE`,SYSTEM_COMMIT:`SYSTEM_COMMIT`};function ka(){return{inflight:void 0,current:void 0,previous:void 0}}const Aa=(e,t)=>t?.nav===void 0||t.nav===e.inflight,ja=(e,t)=>t!==void 0&&t===e.inflight&&t.externalSignal?.aborted!==!0,Ma=(e,t)=>{e.previous=e.current,e.current=pe(t)},Na=(e,t)=>{Ma(e,t.toState),e.inflight=void 0},Pa=(e,t)=>{Ma(e,t.toState)},Fa=e=>{e.previous=e.current,e.current=void 0},Q=e=>{e.current=void 0,e.previous=void 0,e.inflight=void 0},Ia=(e,t)=>{e.inflight=t},La={[X.IDLE]:{[Z.START]:X.STARTING,[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.STARTING]:{[Z.STARTED]:X.READY,[Z.FAIL]:X.IDLE,[Z.STOP]:{target:X.IDLE,update:Fa},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.READY]:{[Z.NAVIGATE]:{target:X.TRANSITION_STARTED,update:Ia},[Z.SYSTEM_COMMIT]:{target:X.READY,update:Pa},[Z.STOP]:{target:X.IDLE,update:Fa},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.TRANSITION_STARTED]:{[Z.NAVIGATE]:{target:X.TRANSITION_STARTED,update:Ia},[Z.LEAVE_APPROVE]:X.LEAVE_APPROVED,[Z.CANCEL]:X.READY,[Z.FAIL]:{target:X.READY,when:Aa},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.LEAVE_APPROVED]:{[Z.NAVIGATE]:{target:X.TRANSITION_STARTED,update:Ia},[Z.COMPLETE]:{target:X.READY,when:ja,update:Na},[Z.CANCEL]:X.READY,[Z.FAIL]:{target:X.READY,when:Aa},[Z.DISPOSE]:{target:X.DISPOSED,update:Q}},[X.DISPOSED]:{}};function Ra(){return new Oa({initial:X.IDLE,context:ka(),transitions:La})}const za=Object.freeze,Ba=`TREE_CHANGED`;function Va(e){return e instanceof Error?e:Error(String(e))}function Ha(e,r,i){return new Promise((a,o)=>{let s=()=>{let e=i.reason;o(e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e}))};if(i.aborted){s();return}i.addEventListener(`abort`,s,{once:!0}),Promise.allSettled(e).then(e=>{if(i.removeEventListener(`abort`,s),i.aborted)return;if(r!==void 0){o(Va(r));return}let t=e.find(e=>e.status===`rejected`);if(t!==void 0){o(Va(t.reason));return}a()})})}function Ua(e,t,n){return e.addEventListener(`abort`,t,{once:!0}),()=>{n(),e.removeEventListener(`abort`,t)}}var Wa=class{#e;#t;#n;#r=[];#i=0;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#s()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use observable(router) from @real-router/rx`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#i++;try{this.#t.emit(t.h.ROUTER_START)}finally{this.#i--}}emitRouterStop(){this.#t.emit(t.h.ROUTER_STOP)}emitTransitionStart(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_START,e,n)}finally{this.#i--}}emitTransitionSuccess(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_SUCCESS,e,n,r)}finally{this.#i--}}emitTransitionError(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_ERROR,e,n,r)}finally{this.#i--}}emitTransitionCancel(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_CANCEL,e,n)}finally{this.#i--}}emitTransitionLeaveApprove(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_LEAVE_APPROVE,e,n)}finally{this.#i--}}isProcessing(){return this.#i>0}emitTreeChanged(e){this.#t.emit(Ba,e)}isEmittingTreeChanged(){return this.#t.isDispatching(Ba)}subscribeTreeChanged(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#t.on(Ba,t=>{e(t)})}treeChangedListenerCount(){return this.#t.listenerCount(Ba)}sendStart(){this.#e.send(Z.START)}sendStop(){this.#e.send(Z.STOP)}sendDispose(){this.#e.send(Z.DISPOSE)}sendStarted(){this.#e.send(Z.STARTED)}sendNavigate(e){return this.#e.send(Z.NAVIGATE,e)===X.TRANSITION_STARTED}canCommitTransition(e){return this.#e.canSend(Z.COMPLETE,e)}sendComplete(e){this.#e.send(Z.COMPLETE,e)}sendLeaveApprove(e){this.#e.send(Z.LEAVE_APPROVE,e)}sendFail(e,t,n){this.#e.send(Z.FAIL,{nav:n,fromState:e,error:t})}sendCancel(e,t){this.#e.send(Z.CANCEL,{fromState:e,reason:t})}systemCommit(e){let{toState:n}=e,r={name:n.name,params:T(n.params,t.l),search:T(n.search,t.u),path:n.path,context:{...n.context},...n.transition!==void 0&&{transition:T(n.transition,t.l)}};if(!this.#e.canSend(Z.SYSTEM_COMMIT))throw this.#o();return this.#e.send(Z.SYSTEM_COMMIT,{...e,toState:r}),r}canBeginTransition(){return this.#e.canSend(Z.NAVIGATE)}canStart(){return this.#e.canSend(Z.START)}canCancel(){return this.#e.canSend(Z.CANCEL)}isActive(){let e=this.#e.getState();return e!==X.IDLE&&e!==X.DISPOSED}isDisposed(){return this.#e.getState()===X.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===X.TRANSITION_STARTED||e===X.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===X.LEAVE_APPROVED}isReady(){return this.#e.getState()===X.READY}isStarting(){return this.#e.getState()===X.STARTING}isIdle(){return this.#e.getState()===X.IDLE}addEventListener(e,t){return this.#a(e,`addEventListener`),this.#t.on(e,t)}subscribe(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#a(t.h.TRANSITION_SUCCESS,`subscribe`),this.#t.on(t.h.TRANSITION_SUCCESS,(t,n)=>e({route:t,previousRoute:n}))}subscribeLeave(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));this.#r.push(e);let r=!1;return()=>{if(r)return;r=!0;let t=this.#r.indexOf(e);t!==-1&&this.#r.splice(t,1)}}hasLeaveListeners(){return this.#r.length>0}hasPreCommitListeners(){return this.#t.listenerCount(t.h.TRANSITION_START)>0||this.#t.listenerCount(t.h.TRANSITION_LEAVE_APPROVE)>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r=za({route:t,nextRoute:e,signal:n}),i,a,o=[...this.#r];this.#i++;try{for(let e of o)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}}finally{this.#i--}if(i===void 0){if(a!==void 0)throw Va(a);return}return Ha(i,a,n)}clearAll(){this.#t.clearAll(),this.#r.length=0}setLimits(e){this.#t.setLimits(e)}setValidatorAccessor(e){this.#n=e}sendCancelIfPossible(e,t){this.canCancel()&&this.sendCancel(e,t)}bridgeExternalSignal(e){let t=e.externalSignal;return t===void 0||e.detachExternalBridge!==void 0||(e.detachExternalBridge=Ua(t,()=>{this.sendCancelIfPossible(this.#e.getContext().current,t.reason)},()=>{e.detachExternalBridge=void 0})),ba}#a(e,t){let n=this.#n?.();n&&n.eventBus.validateCountThresholds(this.#t.listenerCount(e)+1,e,t)}#o(){if(this.isDisposed())return new n.t(t.m.ROUTER_DISPOSED);let e;return e=this.isTransitioning()?`[router] cannot commit a state while a transition is in flight — the navigation in progress commits its own`:this.isStarting()?`[router] cannot commit before the start navigation does — the boot would overwrite it; await start() first`:`[router] cannot commit a state before the router has started`,new n.t(t.m.ROUTER_NOT_STARTED,{message:e})}#s(){let e=this.#e;e.on(X.STARTING,Z.STARTED,()=>{this.emitRouterStart()}),e.on(X.READY,Z.STOP,()=>{this.emitRouterStop()});let r=e=>{let t=e.externalSignal!==void 0&&(this.hasLeaveListeners()||this.hasPreCommitListeners())?this.bridgeExternalSignal(e):ba;this.emitTransitionStart(e.toState,e.fromState,t)};e.on(X.READY,Z.NAVIGATE,r),e.on(X.TRANSITION_STARTED,Z.NAVIGATE,r),e.on(X.LEAVE_APPROVED,Z.NAVIGATE,r),e.on(X.TRANSITION_STARTED,Z.LEAVE_APPROVE,e=>{this.emitTransitionLeaveApprove(e.toState,e.fromState)}),e.on(X.LEAVE_APPROVED,Z.COMPLETE,e=>{e.detachExternalBridge?.(),this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let i=e=>{let{fromState:r,reason:i}=e,a=this.#e.getContext().inflight,o=i??new n.t(t.m.TRANSITION_CANCELLED);a.cancelReason=o,a.controller?.abort(o),a.detachExternalBridge?.(),this.emitTransitionCancel(a.toState,r)};e.on(X.TRANSITION_STARTED,Z.CANCEL,i),e.on(X.LEAVE_APPROVED,Z.CANCEL,i),e.on(X.READY,Z.SYSTEM_COMMIT,e=>{this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let a=e=>{let t=this.#e.getContext().inflight;t?.detachExternalBridge?.(),this.emitTransitionError(t?.toState,e.fromState,e.error)};e.on(X.LEAVE_APPROVED,Z.FAIL,a),e.on(X.TRANSITION_STARTED,Z.FAIL,a),e.on(X.STARTING,Z.FAIL,e=>{this.emitTransitionError(void 0,e.fromState,e.error)})}};const Ga=new n.t(t.m.ROUTER_ALREADY_STARTED);Object.freeze(Ga);const Ka={maxListeners:0,warnListeners:0};var qa=class{#e=new Map;#t=new Set;#n=null;#r=Ka;#i;#a;constructor(e){e?.limits&&(this.#r=e.limits),this.#i=e?.onListenerError??null,this.#a=e?.onListenerWarn??null}static validateCallback(e,t){if(typeof e!=`function`)throw TypeError(`Expected callback to be a function for event ${t}`)}setLimits(e){this.#r=e}on(e,t){let n=this.#e.get(e),r=n?.size??0;if(n?.has(t))throw Error(`Duplicate listener for "${e}"`);let{maxListeners:i,warnListeners:a}=this.#r;if(i!==0&&r>=i)throw Error(`Listener limit (${i}) reached for "${e}"`);a!==0&&r===a&&this.#a!==null&&(this.#n??=new Set,this.#n.has(e)||(this.#a(e,a),this.#n.add(e)));let o=n;return o===void 0&&(o=new Set,this.#e.set(e,o)),o.add(t),()=>{this.off(e,t)}}off(e,t){let n=this.#e.get(e);n&&(n.delete(t),n.size===0&&(this.#e.delete(e),this.#n?.delete(e)))}emit(e,t,n,r,i){let a=this.#e.get(e);if(!a||a.size===0||this.#t.has(e))return;let o=arguments.length-1;this.#t.add(e);try{if(a.size===1){let[s]=a;this.#o(e,s,o,t,n,r,i)}else{let s=[...a];for(let a of s)this.#o(e,a,o,t,n,r,i)}}finally{this.#t.delete(e)}}clearAll(){this.#e.clear(),this.#n=null}listenerCount(e){return this.#e.get(e)?.size??0}isDispatching(e){return this.#t.has(e)}#o(e,t,n,r,i,a,o){try{let s=this.#s(t,n,r,i,a,o);s!=null&&typeof s.then==`function`&&Promise.resolve(s).catch(t=>{this.#i?.(e,t)})}catch(t){this.#i?.(e,t)}}#s(e,t,n,r,i,a){switch(t){case 0:return e();case 1:return e(n);case 2:return e(n,r);case 3:return e(n,r,i);default:return e(n,r,i,a)}}};const Ja=Object.freeze({log:0,warn:1,error:2}),Ya=Object.freeze({all:0,"warn-error":1,"error-only":2,none:3}),Xa=Object.hasOwn;var Za=class{#e={level:`all`,callbackIgnoresLevel:!1};#t=0;#n=!1;constructor(e){e&&this.configure(e)}configure(e){let t=oe(e),n=t.level;n!==void 0&&(this.#e.level=n,this.#t=Ya[n]),Xa(t,`callback`)&&(this.#e.callback=t.callback),t.callbackIgnoresLevel!==void 0&&(this.#e.callbackIgnoresLevel=t.callbackIgnoresLevel)}getConfig(){return{level:this.#e.level,callback:this.#e.callback,callbackIgnoresLevel:this.#e.callbackIgnoresLevel}}log(e,t,...n){this.#r(`log`,e,t,n)}warn(e,t,...n){this.#r(`warn`,e,t,n)}error(e,t,...n){this.#r(`error`,e,t,n)}#r(e,t,n,r){if(this.#e.level===`none`&&!this.#e.callbackIgnoresLevel)return;let i=Ja[e]<this.#t;i||this.#i(e,t,n,r),this.#a(e,t,n,i,r)}#i(e,t,n,r){if(typeof console<`u`&&typeof console[e]==`function`){let i=t?`[${t}] ${n}`:n;console[e](i,...r)}}#a(e,t,n,r,i){if(!(!this.#e.callback||!this.#e.callbackIgnoresLevel&&r)&&!this.#n){this.#n=!0;try{let r=this.#e.callback(e,t,n,...i);r!=null&&typeof r.then==`function`&&Promise.resolve(r).catch(e=>{this.#o(`[Logger] Error in async callback:`,e)})}catch(e){this.#o(`[Logger] Error in callback:`,e)}finally{this.#n=!1}}}#o(e,t){typeof console<`u`&&typeof console.error==`function`&&console.error(e,t)}};function Qa(t){let n=$a(t),r=ao(t),i=()=>e.h(t.router).validator;eo(t),to(t,i),no(t,n,i),ro(t,r,i),io(t,n,i),oo(t,r),so(t),co(t,r)}function $a(e){let{router:t,dependenciesStore:n}=e,r=e=>n.dependencies[e];return e=>e(t,r)}function eo(e){e.dependenciesStore.limits=e.limits,e.eventBus.setLimits({maxListeners:e.limits.maxListeners,warnListeners:e.limits.warnListeners})}function to(e,t){e.eventBus.setValidatorAccessor(t)}function no(t,n,r){let i={logger:e.h(t.router).logger,compileFactory:n,getValidator:r};t.routeLifecycle.setDependencies(i)}function ro(t,n,r){let i={logger:e.h(t.router).logger,getValidator:r,port:n,addActivateGuard:(e,n,r)=>{t.routeLifecycle.addCanActivate(e,n,!0,r)},addDeactivateGuard:(e,n,r)=>{t.routeLifecycle.addCanDeactivate(e,n,!0,r)},compileGuard:(e,n)=>t.routeLifecycle.compileGuardFactory(e,n),getState:()=>t.state.get(),areStatesEqual:(e,n,r)=>t.state.areStatesEqual(e,n,r),getDependency:e=>t.dependenciesStore.dependencies[e]};t.routes.setDependencies(i),t.routes.setLifecycleNamespace(t.routeLifecycle)}function io(t,n,r){let i={logger:e.h(t.router).logger,addEventListener:(e,n)=>t.eventBus.addEventListener(e,n),canNavigate:()=>t.eventBus.canBeginTransition(),compileFactory:n,getValidator:r};t.plugins.setDependencies(i)}function ao(t){let n=e.h(t.router),r=t.routes.getStore(),i=(e,t)=>{n.validator?.state.reportUndeclaredParamKey(e,t)},a=(e,t)=>{n.validator?.state.reportDroppedQueryKey(e,t)};return{resolveForward:(e,t,r)=>n.forwardState(e,t,r),defaultParams:e=>r.config.defaultParams[e],defaultSearch:e=>r.config.defaultSearch[e],buildPath:(e,t,r)=>n.buildPath(e,t,r),queryNames:e=>t.routes.getQueryParams(e),pathNames:e=>t.routes.hasRoute(e)?t.routes.getUrlParams(e):void 0,admitsUndeclaredQuery:()=>t.options.get().queryParamsMode===`loose`,get reportDroppedQueryKey(){return n.validator?a:void 0},get reportUndeclaredParamKey(){return n.validator?i:void 0}}}function oo(t,n){let r={logger:e.h(t.router).logger,getOptions:()=>t.options.get(),hasRoute:e=>t.routes.hasRoute(e),getQueryParams:e=>t.routes.getQueryParams(e),getMetaForState:e=>t.routes.getMetaForState(e),getState:()=>t.state.get(),buildNavigateState:(r,i,a)=>{e.h(t.router).validator?.routes.validateStateBuilderArgs(r,i,`navigate`);let o=N(n,r,i,a,{diagnoseUndeclared:!0});if(t.routes.getMetaForState(o.name)!==void 0)return e.y(`navigate`,o.name,o.path,n.queryNames(o.name)),Ln(o,Nn(o,n))},resolveDefault:()=>{let n=t.options.get(),r=e.h(t.router),i=kn(n.defaultRoute,e=>t.dependenciesStore.dependencies[e]),a=kn(n.defaultParams,e=>t.dependenciesStore.dependencies[e]),o=kn(n.defaultSearch,e=>t.dependenciesStore.dependencies[e]);return typeof n.defaultRoute==`function`&&r.validator?.options.validateResolvedDefaultRoute(i,r.routeGetStore()),{route:i,params:a,search:o}},startTransition:e=>t.eventBus.sendNavigate(e),systemCommit:(e,n,r)=>t.eventBus.systemCommit({toState:e,fromState:n,opts:r}),cancelNavigation:e=>{t.eventBus.sendCancelIfPossible(t.state.get(),e)},bridgeExternalSignal:e=>{t.eventBus.bridgeExternalSignal(e)},canCommitTransition:e=>t.eventBus.canCommitTransition(e)?ga:void 0,sendTransitionDone:e=>{t.eventBus.sendComplete(e)},sendTransitionFail:(e,n,r)=>{t.eventBus.sendFail(e,n,r)},emitTransitionError:(e,n,r)=>{t.eventBus.emitTransitionError(e,n,r)},sendLeaveApprove:e=>{t.eventBus.sendLeaveApprove(e)},canNavigate:()=>t.eventBus.canBeginTransition(),isStarting:()=>t.eventBus.isStarting(),getLifecycleFunctions:()=>t.routeLifecycle.getFunctions(),canDeactivateCurrent:(e,n,r)=>t.routeLifecycle.canNavigateTo(e,[],n,r),isTransitioning:()=>t.eventBus.isTransitioning(),clearCanDeactivate:(e,n)=>{t.routeLifecycle.clearCanDeactivate(e,`external`)},hasLeaveListeners:()=>t.eventBus.hasLeaveListeners(),hasPreCommitListeners:()=>t.eventBus.hasPreCommitListeners(),awaitLeaveListeners:(e,n,r)=>t.eventBus.awaitLeaveListeners(e,n,r)};t.navigation.setDependencies(r)}function so(e){e.lifecycle.setDependencies({getOptions:()=>e.options.get(),navigateToState:(t,n)=>e.navigation.navigateToState(t,n),navigateToNotFound:t=>e.navigation.navigateToNotFound(t),matchPath:t=>e.routes.matchPath(t,e.options.get()),completeStart:()=>{e.eventBus.sendStarted()},isIdle:()=>e.eventBus.isIdle()})}function co(e,t){e.state.setDependencies({port:()=>t,getUrlParams:t=>e.routes.getUrlParams(t)})}const lo=Object.create,uo=Object.keys,fo=Object.freeze;var po=class r{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;constructor(n=[],i={},a={}){let{logger:o,...s}=i,c=new Za(o?oe(o):void 0);this.#d=e=>{ki(e)||c.error(`router.start`,`Unexpected start error`,e)},On.validateOptionsIsObject(i),y(a),n.length>0&&x(n),this.#e=new On(s),this.#t=be(s.limits),this.#n=s.limits==null?void 0:fo(uo(s.limits)),this.#r=Se(a),this.#i=new Rn,this.#a=new yi(n,vo(this.#e.get()),c),this.#o=new Qn,this.#s=new Gn,this.#c=new ha,this.#l=new ya;let l=Ra();this.#i.setContext(l.getContext());let u=new qa({onListenerError:(e,t)=>{c.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{c.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}});this.#u=new Wa({routerFSM:l,emitter:u});let d=new Map,f=e.m(`forwardState`,(e,t,n)=>this.#a.forwardState(e,t,n),d,e=>{let t=e.params,n=e.search;return{name:e.name,params:t==null?t:D(t),search:n==null?n:D(n)}});e.g(this,{logger:c,makeState:(e,t,n,r)=>this.#i.makeState(e,t,n,r),getMetaForState:e=>this.#a.getMetaForState(e),getQueryParams:e=>this.#a.getQueryParams(e),forwardState:((n,r,i)=>{let a=f(n,r,i),o=a.name,s=a.params;e.v(`forwardState`,o,s,this.#a.getQueryParams(o),()=>o===n?"the `params` bag leaving the forwardState chain":`the \`params\` bag leaving the forwardState chain (forwarded here from "${n}")`);let c=a.search,l=c==null;return{name:o,params:D(s??t.l),search:l?c:D(c)}}),buildStateResolved:(e,t)=>this.#a.buildStateResolved(e,t),port:()=>this.#a.getPort(),matchPath:(e,t)=>this.#a.matchPath(e,t),getOptions:()=>this.#e.get(),addEventListener:(e,t)=>this.#u.addEventListener(e,t),treeChanged:{emit:e=>{this.#u.emitTreeChanged(e)},subscribe:e=>this.#u.subscribeTreeChanged(e),listenerCount:()=>this.#u.treeChangedListenerCount(),isEmitting:()=>this.#u.isEmittingTreeChanged()},buildPath:e.m(`buildPath`,(e,n,r)=>this.#a.buildPath(e,n??t.l,r,this.#e.get()),d),emitTransitionError:e=>{this.#u.emitTransitionError(void 0,this.#i.get(),e)},navigateToNotFound:e=>this.#c.navigateToNotFound(e),revalidateToNotFound:e=>this.#c.revalidateToNotFound(e),start:e.p(`start`,e=>this.#l.start(e),d),navigateToState:(e,n)=>(this.#m(),r.#f(this.#c.navigateToState(e,n??t.c))),interceptors:d,setRootPath:e=>{this.#a.setRootPath(e)},getRootPath:()=>this.#a.getStore().rootPath,getTree:()=>this.#a.getStore().tree,isDisposed:()=>this.#u.isDisposed(),validator:null,dependenciesGetStore:()=>this.#r,getCloneState:()=>({options:{...this.#e.get()},dependencies:ve({...this.#r.dependencies}),pluginFactories:this.#s.getAll(),loggerConfig:c.getConfig(),limits:this.#t,limitKeys:this.#n}),routeGetStore:()=>this.#a.getStore(),getStateName:()=>this.#i.get()?.name,isTransitioning:()=>this.#u.isTransitioning(),systemCommit:(e,t,n)=>this.#u.systemCommit({toState:e,fromState:t,opts:n}),routerExtensions:[],contextClaimRecords:new Map,hydrationState:null}),Qa({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#r,state:this.#i,routes:this.#a,routeLifecycle:this.#o,plugins:this.#s,navigation:this.#c,lifecycle:this.#l,eventBus:this.#u}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this);try{this.#a.flushPendingGuards()}catch(e){throw this.dispose(),e}}isActiveRoute(t,n,r,i,a){let o=e.h(this);return o.validator?.routes.validateIsActiveRouteArgs(t,n,i,a),o.validator?.navigation.validateSearch(r,`isActiveRoute`),o.validator?.routes.validateRouteName(t,`isActiveRoute`),t===``?(o.logger.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#a.isActiveRoute(t,n,r,i,a)}buildPath(n,r,i){let a=e.h(this);return a.validator?.routes.validateBuildPathArgs(n),a.validator?.navigation.validateParams(r,`buildPath`),a.validator?.navigation.validateSearch(i,`buildPath`),this.#a.buildPathFromIntent(n,E(r,t.l),i)}getState(){return this.#i.get()}getPreviousState(){return this.#i.getPrevious()}areStatesEqual(t,n,r=!0){return e.h(this).validator?.state.validateAreStatesEqualArgs(t,n,r),this.#i.areStatesEqual(t,n,r)}shouldUpdateNode(t){return e.h(this).validator?.routes.validateShouldUpdateNodeArgs(t),yi.shouldUpdateNode(t,e=>this.#a.getMetaForState(e))}isActive(){return this.#u.isActive()}start(e){let t=this.#p(e);return t.catch(this.#d),t}stop(){return this.#u.sendCancelIfPossible(this.#i.get()),!this.#u.isReady()&&!this.#u.isTransitioning()&&!this.#u.isStarting()||this.#u.sendStop(),this}dispose(){if(this.#u.isDisposed())return;this.#u.sendCancelIfPossible(this.#i.get()),(this.#u.isReady()||this.#u.isTransitioning())&&this.#u.sendStop(),this.#u.sendDispose(),this.#u.clearAll(),this.#s.disposeAll();let t=e.h(this);for(let e of t.routerExtensions)for(let t of e.keys)delete this[t];t.routerExtensions.length=0,t.contextClaimRecords.clear(),t.interceptors.clear(),this.#a.clearRoutes(),this.#o.clearAll(),this.#r.dependencies=lo(null),this.#g()}canNavigateTo(n,r,i){let a=e.h(this);if(a.validator?.routes.validateRouteName(n,`canNavigateTo`),a.validator?.navigation.validateParams(r,`canNavigateTo`),a.validator?.navigation.validateSearch(i,`canNavigateTo`),!this.#a.hasRoute(n)||e.b(r,this.#a.getQueryParams(n))!==void 0)return!1;let o=this.#a.getPort(),s;try{s=N(o,n,r??t.l,i)}catch(e){return a.logger.warn(`router.canNavigateTo`,`Resolving route "${n}" threw while answering the predicate; treating the route as unreachable.`,e),!1}let c;try{c=Ln(s,P(s,o))}catch{return!1}let l=this.#i.get(),{toDeactivate:u,toActivate:d}=q(c,l,e=>this.#a.getMetaForState(e));return this.#o.canNavigateTo(u,d,c,l)}usePlugin(...r){if(this.#u.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));let i=r.filter(Boolean);if(i.length===0)return()=>{};let a=e.h(this);a.validator?.plugins.validatePluginLimit(this.#s.count(),this.#t);for(let e of i)a.validator?.plugins.validateNoDuplicatePlugins(e,this.#s.getAll());return this.#s.use(...i)}subscribe(e){return Wa.validateSubscribeListener(e),this.#u.subscribe(e)}subscribeLeave(e){return Wa.validateSubscribeLeaveListener(e),this.#u.subscribeLeave(e)}isLeaveApproved(){return this.#u.isLeaveApproved()}navigate(n,i,a,o){this.#m();let s=e.h(this),c,l,u,d;return typeof n==`object`&&n?(c=n.name,l=n.params,u=n.search,d=i??t.c):(c=n,l=i,u=a,d=o??t.c),e._(s,`navigate`,c,l),s.validator?.navigation.validateNavigateArgs(c),s.validator?.navigation.validateParams(l,`navigate`),s.validator?.navigation.validateSearch(u,`navigate`),s.validator?.navigation.validateNavigationOptions(d,`navigate`),r.#f(this.#c.navigate(c,l??t.l,u,d))}navigateToDefault(n){this.#m();let i=e.h(this);i.validator?.navigation.validateNavigateToDefaultArgs(n);let a=n??t.c;return i.validator?.navigation.validateNavigationOptions(a,`navigateToDefault`),r.#f(this.#c.navigateToDefault(a))}navigateToNotFound(e){if(this.#m(),!this.#u.isActive())throw n.n(new n.t(t.m.ROUTER_NOT_STARTED));if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);if(e!==void 0)return this.#c.navigateToNotFound(e);let r=this.#i.get();if(r===void 0)throw n.n(new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router.navigateToNotFound] cannot derive the path before the start navigation commits — pass an explicit path`}));return this.#c.navigateToNotFound(r.path)}static#f(e){return e instanceof Promise?e:Promise.resolve(e)}#p(t){if(!this.#u.canStart())return Promise.reject(Ga);e.h(this).validator?.navigation.validateStartArgs(t),this.#u.sendStart();let n;try{let r=e.h(this).start(t);n=typeof r?.then==`function`?r:Promise.reject(TypeError("[router.start] a `start` interceptor returned without calling next(). Every start interceptor must return `next(path)`."))}catch(e){n=Promise.reject(e)}return n.catch(e=>this.#h(e))}#m(){if(this.#u.isProcessing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a router event listener — the nested navigation would commit a state the outer one overwrites. Defer it: queueMicrotask(() => router.navigate(...)), await the current transition, or use an async listener.`}));if(this.#c.isPreparing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a forwardState/buildPath interceptor, a route's encodeParams or dynamic forwardTo callback, or a defaultRoute/defaultParams/defaultSearch option callback — they run while a navigation is being prepared, before it is announced. Defer it: queueMicrotask(() => router.navigate(...)).`}))}#h(e){throw this.#u.isReady()&&this.#i.get()===void 0?this.#u.sendStop():this.#u.isStarting()&&this.#u.sendFail(void 0,e),e}#g(){this.navigate=$,this.navigateToDefault=$,this.navigateToNotFound=$,this.start=$,this.stop=$,this.usePlugin=$,this.subscribe=$,this.subscribeLeave=$,this.canNavigateTo=$}};function $(){throw n.n(new n.t(t.m.ROUTER_DISPOSED))}const mo=Object.freeze({});function ho(e,t){let n;try{n=t[e]}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": reading it threw.`,{cause:t})}if(n!=null){if(typeof n==`string`)return n;try{return String(n)}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": its value cannot be converted to a string.`,{cause:t})}}}function go(e){if(e==null)return`default`;try{return String(e)}catch(e){throw TypeError(`[router.constructor] Invalid "urlParamsEncoding": coercing it threw.`,{cause:e})}}function _o(e){if(!e)return mo;let t=ho(`arrayFormat`,e),n=ho(`booleanFormat`,e),r=ho(`nullFormat`,e),i=ho(`numberFormat`,e);return fo({...t!==void 0&&{arrayFormat:t},...n!==void 0&&{booleanFormat:n},...r!==void 0&&{nullFormat:r},...i!==void 0&&{numberFormat:i}})}function vo(e){return fo({strictTrailingSlash:e.trailingSlash===`strict`,caseSensitive:e.caseSensitive,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:go(e.urlParamsEncoding),queryParams:_o(e.queryParams)})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return lr}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return Nn}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return zr}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Gr}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Tr}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return qr}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Ur}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return po}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return In}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return vr}});
|
|
2
|
+
//# sourceMappingURL=Router-Cbp-sZRe.js.map
|