Sign In

@tanstack/vue-router

Package Overview
Dependencies
Maintainers
3
Versions
157
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tanstack/vue-router - npm Package Compare versions

Comparing version
1.170.18-pre.0
to
1.170.18
+1
-1
dist/esm/awaited.d.ts

@@ -6,3 +6,3 @@ import { DeferredPromise } from '@tanstack/router-core';

};
export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [T, DeferredPromise<T>];
export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>];
export declare const Await: Vue.DefineComponent<Vue.ExtractPropTypes<{

@@ -9,0 +9,0 @@ promise: {

@@ -1,1 +0,1 @@

{"version":3,"file":"awaited.js","names":["Vue","TSR_DEFERRED_PROMISE","defer","useAwaited","promise","_promise","status","error","data","Await","defineComponent","name","props","type","Promise","required","children","Function","setup","deferred"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Vue from 'vue'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [T, DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport const Await = Vue.defineComponent({\n name: 'Await',\n props: {\n promise: {\n type: Promise,\n required: true,\n },\n children: {\n type: Function,\n required: true,\n },\n },\n async setup(props) {\n const deferred = defer(props.promise)\n const data = await deferred\n return () => (props.children as (result: unknown) => Vue.VNode)(data)\n },\n})\n"],"mappings":";;;AASA,SAAgBG,WAAc,EAC5BC,SAASC,YACkC;CAC3C,MAAMD,UAAUF,MAAMG,QAAQ;CAE9B,IAAID,QAAQH,sBAAsBK,WAAW,WAC3C,MAAMF;CAGR,IAAIA,QAAQH,sBAAsBK,WAAW,SAC3C,MAAMF,QAAQH,sBAAsBM;CAGtC,OAAO,CAACH,QAAQH,sBAAsBO,MAAMJ,OAAO;AACrD;AAEA,IAAaK,QAAQT,IAAIU,gBAAgB;CACvCC,MAAM;CACNC,OAAO;EACLR,SAAS;GACPS,MAAMC;GACNC,UAAU;EACZ;EACAC,UAAU;GACRH,MAAMI;GACNF,UAAU;EACZ;CACF;CACA,MAAMG,MAAMN,OAAO;EAEjB,MAAMJ,OAAO,MADIN,MAAMU,MAAMR,OACVe;EACnB,aAAcP,MAAMI,SAA4CR,IAAI;CACtE;AACF,CAAC"}
{"version":3,"file":"awaited.js","names":["Vue","TSR_DEFERRED_PROMISE","defer","useAwaited","promise","_promise","status","error","data","Await","defineComponent","name","props","type","Promise","required","children","Function","setup","deferred"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Vue from 'vue'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport const Await = Vue.defineComponent({\n name: 'Await',\n props: {\n promise: {\n type: Promise,\n required: true,\n },\n children: {\n type: Function,\n required: true,\n },\n },\n async setup(props) {\n const deferred = defer(props.promise)\n const data = await deferred\n return () => (props.children as (result: unknown) => Vue.VNode)(data)\n },\n})\n"],"mappings":";;;AASA,SAAgBG,WAAc,EAC5BC,SAASC,YACiD;CAC1D,MAAMD,UAAUF,MAAMG,QAAQ;CAE9B,IAAID,QAAQH,sBAAsBK,WAAW,WAC3C,MAAMF;CAGR,IAAIA,QAAQH,sBAAsBK,WAAW,SAC3C,MAAMF,QAAQH,sBAAsBM;CAGtC,OAAO,CAACH,QAAQH,sBAAsBO,MAAMJ,OAAO;AACrD;AAEA,IAAaK,QAAQT,IAAIU,gBAAgB;CACvCC,MAAM;CACNC,OAAO;EACLR,SAAS;GACPS,MAAMC;GACNC,UAAU;EACZ;EACAC,UAAU;GACRH,MAAMI;GACNF,UAAU;EACZ;CACF;CACA,MAAMG,MAAMN,OAAO;EAEjB,MAAMJ,OAAO,MADIN,MAAMU,MAAMR,OACVe;EACnB,aAAcP,MAAMI,SAA4CR,IAAI;CACtE;AACF,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"Match.js","names":["Vue","isNotFound","rootRouteId","isServer","useStore","CatchBoundary","ClientOnly","useRouter","CatchNotFound","routeIdContext","renderRouteNotFound","ScrollRestoration","Match","defineComponent","name","props","routeId","type","String","required","setup","router","activeMatch","stores","getMatchStore","value","equal","Object","is","provide","match","route","routesById","undefined","PendingComponent","options","pendingComponent","defaultPendingComponent","pendingElement","h","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","ShellComponent","shellComponent","resolvedNoSsr","ssr","renderMatchContent","matchInner","MatchInner","content","fallback","default","error","children","getResetKey","process","env","NODE_ENV","console","warn","id","parentRoute","Fragment","scrollRestoration","inject","combinedState","computed","matchRouteId","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","JSON","stringify","state","remountKey","status","RouteErrorComponent","reset","invalidate","info","componentStack","Comp","defaultComponent","key","Outlet","parentRouteId","parentMatch","childMatch","matches","index","findIndex","child","_notFound","nextMatch"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Vue from 'vue'\nimport { isNotFound, rootRouteId } from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useStore } from '@tanstack/vue-store'\nimport { CatchBoundary } from './CatchBoundary'\nimport { ClientOnly } from './ClientOnly'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { routeIdContext } from './matchContext'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { VNode } from 'vue'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = Vue.defineComponent({\n name: 'Match',\n props: {\n routeId: {\n type: String,\n required: true,\n },\n },\n setup(props) {\n const router = useRouter()\n\n const routeId = props.routeId\n\n const activeMatch = useStore(\n router.stores.getMatchStore(routeId),\n (value) => value,\n { equal: Object.is },\n )\n // Provide routeId context (stable string) for children.\n // MatchInner, Outlet, and useMatch all consume this.\n Vue.provide(routeIdContext, routeId)\n\n return (): VNode => {\n const match = activeMatch.value\n const route = match ? (router.routesById[routeId] as AnyRoute) : undefined\n const PendingComponent =\n route?.options.pendingComponent ??\n router.options.defaultPendingComponent\n const pendingElement = PendingComponent\n ? Vue.h(PendingComponent)\n : undefined\n const routeErrorComponent =\n route?.options.errorComponent ?? router.options.defaultErrorComponent\n const routeOnCatch =\n route?.options.onCatch ?? router.options.defaultOnCatch\n const routeNotFoundComponent = route?.isRoot\n ? (route.options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route?.options.notFoundComponent\n const ShellComponent = route?.isRoot\n ? ((route.options as RootRouteOptions).shellComponent as any)\n : undefined\n const resolvedNoSsr = match?.ssr === false || match?.ssr === 'data-only'\n\n const renderMatchContent = (): VNode => {\n const matchInner = Vue.h(MatchInner)\n\n let content: VNode = resolvedNoSsr\n ? Vue.h(\n ClientOnly,\n {\n fallback: pendingElement,\n },\n {\n default: () => matchInner,\n },\n )\n : matchInner\n\n // Wrap in NotFound boundary if needed\n if (routeNotFoundComponent) {\n content = Vue.h(CatchNotFound, {\n fallback: (error: any) => {\n error.routeId ??= routeId\n\n if (error.routeId !== routeId) {\n throw error\n }\n\n return Vue.h(routeNotFoundComponent, error)\n },\n children: content,\n })\n }\n\n // Wrap in error boundary if needed\n if (routeErrorComponent) {\n content = CatchBoundary({\n getResetKey: () => activeMatch.value,\n errorComponent: routeErrorComponent,\n onCatch: (error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) {\n error.routeId ??= routeId\n throw error\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Warning: Error in route match: ${match?.id}`)\n }\n routeOnCatch?.(error)\n },\n children: content,\n })\n }\n\n if (route?.parentRoute?.id !== rootRouteId) {\n return content\n }\n\n return Vue.h(Vue.Fragment, null, [\n content,\n Vue.h(Vue.Fragment, null, [\n (isServer ?? router.isServer) && router.options.scrollRestoration\n ? Vue.h(ScrollRestoration)\n : null,\n ]),\n ])\n }\n\n if (!ShellComponent) {\n return renderMatchContent()\n }\n\n return Vue.h(ShellComponent, null, {\n // Important: return a fresh VNode on each slot invocation so that shell\n // components can re-render without reusing a cached VNode instance.\n default: () => renderMatchContent(),\n })\n }\n },\n})\n\n// On Rendered can't happen above the root layout because it actually\nexport const MatchInner = Vue.defineComponent({\n name: 'MatchInner',\n setup() {\n const router = useRouter()\n\n // Use routeId from context (provided by parent Match) — stable string.\n const routeId = Vue.inject(routeIdContext)!\n const activeMatch = useStore(router.stores.getMatchStore(routeId))\n\n // Combined selector for match state AND remount key\n // This ensures both are computed in the same selector call with consistent data\n const combinedState = Vue.computed(() => {\n const match = activeMatch.value\n if (!match) {\n // Route no longer exists - truly navigating away\n return null\n }\n\n const matchRouteId = match.routeId as string\n\n // Compute remount key\n const remountFn =\n (router.routesById[matchRouteId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n\n const remountDeps = remountFn\n ? remountFn({\n routeId: matchRouteId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n : undefined\n\n return [\n match,\n remountDeps ? JSON.stringify(remountDeps) : undefined,\n ] as const\n })\n\n return (): VNode | null => {\n // If match doesn't exist, return null (component is being unmounted or not ready)\n const state = combinedState.value\n if (!state) {\n return null\n }\n const [match, remountKey] = state\n const route = router.routesById[match.routeId]!\n\n // Handle different match statuses\n if (match.status === 'notFound') {\n return renderRouteNotFound(router, route, match.error)\n }\n\n if (match.status === 'error') {\n // Check if this route or any parent has an error component\n const RouteErrorComponent =\n route.options.errorComponent ?? router.options.defaultErrorComponent\n\n // If this route has an error component, render it directly\n // This is more reliable than relying on Vue's error boundary\n if (RouteErrorComponent) {\n return Vue.h(RouteErrorComponent, {\n error: match.error,\n reset: () => {\n router.invalidate()\n },\n info: {\n componentStack: '',\n },\n })\n }\n\n // If there's no error component for this route, throw the error\n // so it can bubble up to the nearest parent with an error component\n throw match.error\n }\n\n if (match.status === 'pending') {\n // In Vue, we render the pending component directly instead of throwing a promise\n // because Vue's Suspense doesn't catch thrown promises like React does\n const PendingComponent =\n route.options.pendingComponent ??\n router.options.defaultPendingComponent\n\n if (PendingComponent) {\n return Vue.h(PendingComponent)\n }\n\n // If no pending component, return null while loading\n return null\n }\n\n // Success status - render the component with remount key\n const Comp = route.options.component ?? router.options.defaultComponent\n if (Comp) {\n // Pass key as a prop - Vue.h properly handles 'key' as a special prop\n return Vue.h(\n Comp,\n remountKey !== undefined ? { key: remountKey } : undefined,\n )\n }\n\n return Vue.h(\n Outlet,\n remountKey !== undefined ? { key: remountKey } : undefined,\n )\n }\n },\n})\n\nexport const Outlet = Vue.defineComponent({\n name: 'Outlet',\n setup() {\n const router = useRouter()\n const parentRouteId = Vue.inject(routeIdContext)!\n\n const parentMatch = useStore(router.stores.getMatchStore(parentRouteId))\n\n const route = router.routesById[parentRouteId]!\n\n const childMatch = useStore(router.stores.matches, (matches) => {\n const index = matches.findIndex(\n (match) => match.routeId === parentRouteId,\n )\n const child = matches[index + 1]\n return child\n ? ([\n child.routeId,\n child.routeId + JSON.stringify(child._strictParams),\n ] as const)\n : undefined\n })\n\n return (): VNode | null => {\n if (parentMatch.value?._notFound) {\n return renderRouteNotFound(router, route, parentMatch.value.error)\n }\n\n const child = childMatch.value\n if (!child) {\n return null\n }\n\n const nextMatch = Vue.h(Match, {\n routeId: child[0],\n // Key based on routeId + params only (not loaderDeps)\n // This ensures component recreates when params change,\n // but NOT when only loaderDeps change\n key: child[1],\n })\n\n // Note: We intentionally do NOT wrap in Suspense here.\n // The top-level Suspense in Matches already covers the root.\n // The old code compared matchId (e.g. \"__root__/\") with rootRouteId (\"__root__\")\n // which never matched, so this Suspense was effectively dead code.\n // With routeId-based lookup, parentRouteId === rootRouteId would match,\n // causing a double-Suspense that corrupts Vue's DOM during updates.\n return nextMatch\n }\n },\n})\n"],"mappings":"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"}
{"version":3,"file":"Match.js","names":["Vue","isNotFound","rootRouteId","isServer","useStore","CatchBoundary","ClientOnly","useRouter","CatchNotFound","routeIdContext","renderRouteNotFound","ScrollRestoration","Match","defineComponent","name","props","routeId","type","String","required","setup","router","activeMatch","stores","getMatchStore","value","equal","Object","is","provide","match","route","routesById","undefined","PendingComponent","options","pendingComponent","defaultPendingComponent","pendingElement","h","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","ShellComponent","shellComponent","resolvedNoSsr","ssr","renderMatchContent","matchInner","MatchInner","content","fallback","default","error","children","getResetKey","process","env","NODE_ENV","console","warn","id","parentRoute","Fragment","scrollRestoration","inject","combinedState","computed","matchRouteId","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","JSON","stringify","state","remountKey","status","RouteErrorComponent","reset","invalidate","info","componentStack","Comp","defaultComponent","key","Outlet","parentRouteId","parentMatch","childMatch","matches","index","findIndex","child","_notFound","nextMatch"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Vue from 'vue'\nimport { isNotFound, rootRouteId } from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useStore } from '@tanstack/vue-store'\nimport { CatchBoundary } from './CatchBoundary'\nimport { ClientOnly } from './ClientOnly'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { routeIdContext } from './matchContext'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { VNode } from 'vue'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = Vue.defineComponent({\n name: 'Match',\n props: {\n routeId: {\n type: String,\n required: true,\n },\n },\n setup(props) {\n const router = useRouter()\n\n const routeId = props.routeId\n\n const activeMatch = useStore(\n router.stores.getMatchStore(routeId),\n (value) => value,\n { equal: Object.is },\n )\n // Provide routeId context (stable string) for children.\n // MatchInner, Outlet, and useMatch all consume this.\n Vue.provide(routeIdContext, routeId)\n\n return (): VNode => {\n const match = activeMatch.value\n const route = match ? (router.routesById[routeId] as AnyRoute) : undefined\n const PendingComponent =\n route?.options.pendingComponent ??\n router.options.defaultPendingComponent\n const pendingElement = PendingComponent\n ? Vue.h(PendingComponent)\n : undefined\n const routeErrorComponent =\n route?.options.errorComponent ?? router.options.defaultErrorComponent\n const routeOnCatch =\n route?.options.onCatch ?? router.options.defaultOnCatch\n const routeNotFoundComponent = route?.isRoot\n ? (route.options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route?.options.notFoundComponent\n const ShellComponent = route?.isRoot\n ? ((route.options as RootRouteOptions).shellComponent as any)\n : undefined\n const resolvedNoSsr = match?.ssr === false || match?.ssr === 'data-only'\n\n const renderMatchContent = (): VNode => {\n const matchInner = Vue.h(MatchInner)\n\n let content: VNode = resolvedNoSsr\n ? Vue.h(\n ClientOnly,\n {\n fallback: pendingElement,\n },\n {\n default: () => matchInner,\n },\n )\n : matchInner\n\n // Wrap in NotFound boundary if needed\n if (routeNotFoundComponent) {\n content = Vue.h(CatchNotFound, {\n fallback: (error: any) => {\n error.routeId ??= routeId\n\n if (error.routeId !== routeId) {\n throw error\n }\n\n return Vue.h(routeNotFoundComponent, error)\n },\n children: content,\n })\n }\n\n // Wrap in error boundary if needed\n if (routeErrorComponent) {\n content = CatchBoundary({\n getResetKey: () => activeMatch.value,\n errorComponent: routeErrorComponent,\n onCatch: (error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) {\n error.routeId ??= routeId\n throw error\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Warning: Error in route match: ${match?.id}`)\n }\n routeOnCatch?.(error)\n },\n children: content,\n })\n }\n\n if (route?.parentRoute?.id !== rootRouteId) {\n return content\n }\n\n return Vue.h(Vue.Fragment, null, [\n content,\n Vue.h(Vue.Fragment, null, [\n (isServer ?? router.isServer) && router.options.scrollRestoration\n ? Vue.h(ScrollRestoration)\n : null,\n ]),\n ])\n }\n\n if (!ShellComponent) {\n return renderMatchContent()\n }\n\n return Vue.h(ShellComponent, null, {\n // Important: return a fresh VNode on each slot invocation so that shell\n // components can re-render without reusing a cached VNode instance.\n default: () => renderMatchContent(),\n })\n }\n },\n})\n\n// On Rendered can't happen above the root layout because it actually\nexport const MatchInner = Vue.defineComponent({\n name: 'MatchInner',\n setup() {\n const router = useRouter()\n\n // Use routeId from context (provided by parent Match) — stable string.\n const routeId = Vue.inject(routeIdContext)!\n const activeMatch = useStore(router.stores.getMatchStore(routeId))\n\n // Combined selector for match state AND remount key\n // This ensures both are computed in the same selector call with consistent data\n const combinedState = Vue.computed(() => {\n const match = activeMatch.value\n if (!match) {\n // Route no longer exists - truly navigating away\n return null\n }\n\n const matchRouteId = match.routeId as string\n\n // Compute remount key\n const remountFn =\n (router.routesById[matchRouteId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n\n const remountDeps = remountFn\n ? remountFn({\n routeId: matchRouteId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n : undefined\n\n return [\n match,\n remountDeps ? JSON.stringify(remountDeps) : undefined,\n ] as const\n })\n\n return (): VNode | null => {\n // If match doesn't exist, return null (component is being unmounted or not ready)\n const state = combinedState.value\n if (!state) {\n return null\n }\n const [match, remountKey] = state\n const route = router.routesById[match.routeId]!\n\n // Handle different match statuses\n if (match.status === 'notFound') {\n return renderRouteNotFound(router, route, match.error)\n }\n\n if (match.status === 'error') {\n // Check if this route or any parent has an error component\n const RouteErrorComponent =\n route.options.errorComponent ?? router.options.defaultErrorComponent\n\n // If this route has an error component, render it directly\n // This is more reliable than relying on Vue's error boundary\n if (RouteErrorComponent) {\n return Vue.h(RouteErrorComponent, {\n error: match.error,\n reset: () => {\n router.invalidate()\n },\n info: {\n componentStack: '',\n },\n })\n }\n\n // If there's no error component for this route, throw the error\n // so it can bubble up to the nearest parent with an error component\n throw match.error\n }\n\n if (match.status === 'pending') {\n // In Vue, we render the pending component directly instead of throwing a promise\n // because Vue's Suspense doesn't catch thrown promises like React does\n const PendingComponent =\n route.options.pendingComponent ??\n router.options.defaultPendingComponent\n\n if (PendingComponent) {\n return Vue.h(PendingComponent)\n }\n\n // If no pending component, return null while loading\n return null\n }\n\n // Success status - render the component with remount key\n const Comp = route.options.component ?? router.options.defaultComponent\n if (Comp) {\n // Pass key as a prop - Vue.h properly handles 'key' as a special prop\n return Vue.h(\n Comp,\n remountKey !== undefined ? { key: remountKey } : undefined,\n )\n }\n\n return Vue.h(\n Outlet,\n remountKey !== undefined ? { key: remountKey } : undefined,\n )\n }\n },\n})\n\nexport const Outlet = Vue.defineComponent({\n name: 'Outlet',\n setup() {\n const router = useRouter()\n const parentRouteId = Vue.inject(routeIdContext)!\n\n const parentMatch = useStore(router.stores.getMatchStore(parentRouteId))\n\n const route = router.routesById[parentRouteId]!\n\n const childMatch = useStore(router.stores.matches, (matches) => {\n const index = matches.findIndex(\n (match) => match.routeId === parentRouteId,\n )\n const child = matches[index + 1]\n return child\n ? ([\n child.routeId,\n child.routeId + JSON.stringify(child._strictParams),\n ] as const)\n : undefined\n })\n\n return (): VNode | null => {\n if (parentMatch.value?._notFound) {\n return renderRouteNotFound(router, route, parentMatch.value.error)\n }\n\n const child = childMatch.value\n if (!child) {\n return null\n }\n\n const nextMatch = Vue.h(Match, {\n routeId: child[0 /* routeId */],\n // Key based on routeId + params only (not loaderDeps)\n // This ensures component recreates when params change,\n // but NOT when only loaderDeps change\n key: child[1 /* key */],\n })\n\n // Note: We intentionally do NOT wrap in Suspense here.\n // The top-level Suspense in Matches already covers the root.\n // The old code compared matchId (e.g. \"__root__/\") with rootRouteId (\"__root__\")\n // which never matched, so this Suspense was effectively dead code.\n // With routeId-based lookup, parentRouteId === rootRouteId would match,\n // causing a double-Suspense that corrupts Vue's DOM during updates.\n return nextMatch\n }\n },\n})\n"],"mappings":"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"}

@@ -6,3 +6,3 @@ import * as Vue from 'vue';

};
export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [T, DeferredPromise<T>];
export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>];
export declare const Await: Vue.DefineComponent<Vue.ExtractPropTypes<{

@@ -9,0 +9,0 @@ promise: {

@@ -221,7 +221,7 @@ import * as Vue from 'vue';

const nextMatch = Vue.h(Match, {
routeId: child[0],
routeId: child[0 /* routeId */],
// Key based on routeId + params only (not loaderDeps)
// This ensures component recreates when params change,
// but NOT when only loaderDeps change
key: child[1],
key: child[1 /* key */],
});

@@ -228,0 +228,0 @@ // Note: We intentionally do NOT wrap in Suspense here.

@@ -1,1 +0,1 @@

{"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
{"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIxD,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC;IACvC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;KACF;IACD,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAE1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAE7B,MAAM,WAAW,GAAG,QAAQ,CAC1B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAChB,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CACrB,CAAA;QACD,wDAAwD;QACxD,qDAAqD;QACrD,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO,GAAU,EAAE;YACjB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAc,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1E,MAAM,gBAAgB,GACpB,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAA;YACxC,MAAM,cAAc,GAAG,gBAAgB;gBACrC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACzB,CAAC,CAAC,SAAS,CAAA;YACb,MAAM,mBAAmB,GACvB,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAA;YACvE,MAAM,YAAY,GAChB,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAA;YACzD,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAM;gBAC1C,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB;oBAChC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC;gBAClD,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAA;YACpC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAM;gBAClC,CAAC,CAAG,KAAK,CAAC,OAA4B,CAAC,cAAsB;gBAC7D,CAAC,CAAC,SAAS,CAAA;YACb,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,KAAK,EAAE,GAAG,KAAK,WAAW,CAAA;YAExE,MAAM,kBAAkB,GAAG,GAAU,EAAE;gBACrC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;gBAEpC,IAAI,OAAO,GAAU,aAAa;oBAChC,CAAC,CAAC,GAAG,CAAC,CAAC,CACH,UAAU,EACV;wBACE,QAAQ,EAAE,cAAc;qBACzB,EACD;wBACE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU;qBAC1B,CACF;oBACH,CAAC,CAAC,UAAU,CAAA;gBAEd,sCAAsC;gBACtC,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE;wBAC7B,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE;4BACvB,KAAK,CAAC,OAAO,KAAb,KAAK,CAAC,OAAO,GAAK,OAAO,EAAA;4BAEzB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gCAC9B,MAAM,KAAK,CAAA;4BACb,CAAC;4BAED,OAAO,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;wBAC7C,CAAC;wBACD,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAA;gBACJ,CAAC;gBAED,mCAAmC;gBACnC,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,GAAG,aAAa,CAAC;wBACtB,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK;wBACpC,cAAc,EAAE,mBAAmB;wBACnC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;4BACxB,iFAAiF;4BACjF,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gCACtB,KAAK,CAAC,OAAO,KAAb,KAAK,CAAC,OAAO,GAAK,OAAO,EAAA;gCACzB,MAAM,KAAK,CAAA;4BACb,CAAC;4BACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gCAC1C,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;4BAC7D,CAAC;4BACD,YAAY,EAAE,CAAC,KAAK,CAAC,CAAA;wBACvB,CAAC;wBACD,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAA;gBACJ,CAAC;gBAED,IAAI,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,WAAW,EAAE,CAAC;oBAC3C,OAAO,OAAO,CAAA;gBAChB,CAAC;gBAED,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;oBAC/B,OAAO;oBACP,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;wBACxB,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB;4BAC/D,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC;4BAC1B,CAAC,CAAC,IAAI;qBACT,CAAC;iBACH,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,kBAAkB,EAAE,CAAA;YAC7B,CAAC;YAED,OAAO,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE;gBACjC,wEAAwE;gBACxE,oEAAoE;gBACpE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;aACpC,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC;IAC5C,IAAI,EAAE,YAAY;IAClB,KAAK;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAE1B,uEAAuE;QACvE,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAE,CAAA;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;QAElE,oDAAoD;QACpD,gFAAgF;QAChF,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;YACtC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,iDAAiD;gBACjD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAiB,CAAA;YAE5C,sBAAsB;YACtB,MAAM,SAAS,GACZ,MAAM,CAAC,UAAU,CAAC,YAAY,CAAc,CAAC,OAAO,CAAC,WAAW;gBACjE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAA;YAEnC,MAAM,WAAW,GAAG,SAAS;gBAC3B,CAAC,CAAC,SAAS,CAAC;oBACR,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,MAAM,EAAE,KAAK,CAAC,aAAa;oBAC3B,MAAM,EAAE,KAAK,CAAC,aAAa;iBAC5B,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAA;YAEb,OAAO;gBACL,KAAK;gBACL,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;aAC7C,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,OAAO,GAAiB,EAAE;YACxB,kFAAkF;YAClF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,KAAK,CAAA;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAE,CAAA;YAE/C,kCAAkC;YAClC,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YACxD,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC7B,2DAA2D;gBAC3D,MAAM,mBAAmB,GACvB,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAA;gBAEtE,2DAA2D;gBAC3D,6DAA6D;gBAC7D,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE;wBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,KAAK,EAAE,GAAG,EAAE;4BACV,MAAM,CAAC,UAAU,EAAE,CAAA;wBACrB,CAAC;wBACD,IAAI,EAAE;4BACJ,cAAc,EAAE,EAAE;yBACnB;qBACF,CAAC,CAAA;gBACJ,CAAC;gBAED,gEAAgE;gBAChE,oEAAoE;gBACpE,MAAM,KAAK,CAAC,KAAK,CAAA;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,iFAAiF;gBACjF,uEAAuE;gBACvE,MAAM,gBAAgB,GACpB,KAAK,CAAC,OAAO,CAAC,gBAAgB;oBAC9B,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAA;gBAExC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;gBAChC,CAAC;gBAED,qDAAqD;gBACrD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,yDAAyD;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAA;YACvE,IAAI,IAAI,EAAE,CAAC;gBACT,sEAAsE;gBACtE,OAAO,GAAG,CAAC,CAAC,CACV,IAAI,EACJ,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAA;YACH,CAAC;YAED,OAAO,GAAG,CAAC,CAAC,CACV,MAAM,EACN,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,CAAC;IACxC,IAAI,EAAE,QAAQ;IACd,KAAK;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAE,CAAA;QAEjD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAA;QAExE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAE,CAAA;QAE/C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,aAAa,CAC3C,CAAA;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAChC,OAAO,KAAK;gBACV,CAAC,CAAE;oBACC,KAAK,CAAC,OAAO;oBACb,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;iBAC1C;gBACb,CAAC,CAAC,SAAS,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,OAAO,GAAiB,EAAE;YACxB,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;gBACjC,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC7B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/B,sDAAsD;gBACtD,uDAAuD;gBACvD,sCAAsC;gBACtC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;aACxB,CAAC,CAAA;YAEF,uDAAuD;YACvD,6DAA6D;YAC7D,iFAAiF;YACjF,mEAAmE;YACnE,wEAAwE;YACxE,oEAAoE;YACpE,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
{
"name": "@tanstack/vue-router",
"version": "1.170.18-pre.0",
"version": "1.170.18",
"description": "Modern and scalable routing for Vue applications",

@@ -67,3 +67,3 @@ "author": "Tanner Linsley",

"@tanstack/history": "1.162.0",
"@tanstack/router-core": "1.171.16-pre.0"
"@tanstack/router-core": "1.171.16"
},

@@ -70,0 +70,0 @@ "devDependencies": {

@@ -5,3 +5,17 @@ <img src="https://static.scarf.sh/a.png?x-pxid=d988eb79-b0fc-4a2b-8514-6a1ab932d188" />

![TanStack Router Header](https://raw.githubusercontent.com/TanStack/router/main/media/header_router.png)
<picture>
<source
media="(prefers-color-scheme: dark)"
srcset="https://tanstack.com/api/readme/router.png?title=TanStack%20Vue%20Router&theme=dark"
/>
<source
media="(prefers-color-scheme: light)"
srcset="https://tanstack.com/api/readme/router.png?title=TanStack%20Vue%20Router"
/>
<img
src="https://tanstack.com/api/readme/router.png?title=TanStack%20Vue%20Router"
alt="TanStack Vue Router"
width="900"
/>
</picture>

@@ -8,0 +22,0 @@ 🤖 Type-safe router w/ built-in caching & URL state management for Vue!

@@ -11,6 +11,7 @@ ---

h() render functions, provide/inject, and computed refs.
type: framework
library: tanstack-router
library_version: '1.166.2'
framework: vue
metadata:
type: framework
library: tanstack-router
library_version: '1.166.2'
framework: vue
requires:

@@ -17,0 +18,0 @@ - router-core

@@ -12,3 +12,3 @@ import * as Vue from 'vue'

promise: _promise,
}: AwaitOptions<T>): [T, DeferredPromise<T>] {
}: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>] {
const promise = defer(_promise)

@@ -15,0 +15,0 @@

@@ -283,7 +283,7 @@ import * as Vue from 'vue'

const nextMatch = Vue.h(Match, {
routeId: child[0],
routeId: child[0 /* routeId */],
// Key based on routeId + params only (not loaderDeps)
// This ensures component recreates when params change,
// but NOT when only loaderDeps change
key: child[1],
key: child[1 /* key */],
})

@@ -290,0 +290,0 @@