@tanstack/vue-router 1.167.1 → 1.167.2

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.
Files changed (99) hide show
  1. package/dist/esm/Asset.js +107 -151
  2. package/dist/esm/Asset.js.map +1 -1
  3. package/dist/esm/Body.js +15 -24
  4. package/dist/esm/Body.js.map +1 -1
  5. package/dist/esm/CatchBoundary.js +112 -130
  6. package/dist/esm/CatchBoundary.js.map +1 -1
  7. package/dist/esm/ClientOnly.js +59 -29
  8. package/dist/esm/ClientOnly.js.map +1 -1
  9. package/dist/esm/HeadContent.dev.js +29 -23
  10. package/dist/esm/HeadContent.dev.js.map +1 -1
  11. package/dist/esm/HeadContent.js +21 -16
  12. package/dist/esm/HeadContent.js.map +1 -1
  13. package/dist/esm/Html.js +42 -61
  14. package/dist/esm/Html.js.map +1 -1
  15. package/dist/esm/Match.js +238 -319
  16. package/dist/esm/Match.js.map +1 -1
  17. package/dist/esm/Matches.js +127 -170
  18. package/dist/esm/Matches.js.map +1 -1
  19. package/dist/esm/RouterProvider.js +50 -65
  20. package/dist/esm/RouterProvider.js.map +1 -1
  21. package/dist/esm/ScriptOnce.js +31 -36
  22. package/dist/esm/ScriptOnce.js.map +1 -1
  23. package/dist/esm/Scripts.js +79 -101
  24. package/dist/esm/Scripts.js.map +1 -1
  25. package/dist/esm/ScrollRestoration.js +25 -29
  26. package/dist/esm/ScrollRestoration.js.map +1 -1
  27. package/dist/esm/Transitioner.js +146 -164
  28. package/dist/esm/Transitioner.js.map +1 -1
  29. package/dist/esm/awaited.js +27 -34
  30. package/dist/esm/awaited.js.map +1 -1
  31. package/dist/esm/fileRoute.js +90 -92
  32. package/dist/esm/fileRoute.js.map +1 -1
  33. package/dist/esm/headContentUtils.js +92 -123
  34. package/dist/esm/headContentUtils.js.map +1 -1
  35. package/dist/esm/index.dev.js +16 -118
  36. package/dist/esm/index.js +18 -119
  37. package/dist/esm/lazyRouteComponent.js +69 -82
  38. package/dist/esm/lazyRouteComponent.js.map +1 -1
  39. package/dist/esm/link.js +364 -385
  40. package/dist/esm/link.js.map +1 -1
  41. package/dist/esm/matchContext.js +16 -11
  42. package/dist/esm/matchContext.js.map +1 -1
  43. package/dist/esm/not-found.js +30 -40
  44. package/dist/esm/not-found.js.map +1 -1
  45. package/dist/esm/renderRouteNotFound.js +20 -15
  46. package/dist/esm/renderRouteNotFound.js.map +1 -1
  47. package/dist/esm/route.js +196 -174
  48. package/dist/esm/route.js.map +1 -1
  49. package/dist/esm/router.js +11 -11
  50. package/dist/esm/router.js.map +1 -1
  51. package/dist/esm/routerContext.js +10 -7
  52. package/dist/esm/routerContext.js.map +1 -1
  53. package/dist/esm/scroll-restoration.js +39 -50
  54. package/dist/esm/scroll-restoration.js.map +1 -1
  55. package/dist/esm/ssr/RouterClient.js +29 -43
  56. package/dist/esm/ssr/RouterClient.js.map +1 -1
  57. package/dist/esm/ssr/RouterServer.js +29 -32
  58. package/dist/esm/ssr/RouterServer.js.map +1 -1
  59. package/dist/esm/ssr/client.js +1 -4
  60. package/dist/esm/ssr/defaultRenderHandler.js +11 -13
  61. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -1
  62. package/dist/esm/ssr/defaultStreamHandler.js +12 -15
  63. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -1
  64. package/dist/esm/ssr/renderRouterToStream.js +47 -65
  65. package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
  66. package/dist/esm/ssr/renderRouterToString.js +24 -32
  67. package/dist/esm/ssr/renderRouterToString.js.map +1 -1
  68. package/dist/esm/ssr/server.js +3 -10
  69. package/dist/esm/useBlocker.js +243 -287
  70. package/dist/esm/useBlocker.js.map +1 -1
  71. package/dist/esm/useCanGoBack.js +6 -5
  72. package/dist/esm/useCanGoBack.js.map +1 -1
  73. package/dist/esm/useLoaderData.js +12 -11
  74. package/dist/esm/useLoaderData.js.map +1 -1
  75. package/dist/esm/useLoaderDeps.js +12 -14
  76. package/dist/esm/useLoaderDeps.js.map +1 -1
  77. package/dist/esm/useLocation.js +6 -7
  78. package/dist/esm/useLocation.js.map +1 -1
  79. package/dist/esm/useMatch.js +27 -35
  80. package/dist/esm/useMatch.js.map +1 -1
  81. package/dist/esm/useNavigate.js +18 -24
  82. package/dist/esm/useNavigate.js.map +1 -1
  83. package/dist/esm/useParams.js +13 -12
  84. package/dist/esm/useParams.js.map +1 -1
  85. package/dist/esm/useRouteContext.js +9 -8
  86. package/dist/esm/useRouteContext.js.map +1 -1
  87. package/dist/esm/useRouter.js +9 -8
  88. package/dist/esm/useRouter.js.map +1 -1
  89. package/dist/esm/useRouterState.js +18 -22
  90. package/dist/esm/useRouterState.js.map +1 -1
  91. package/dist/esm/useSearch.js +13 -12
  92. package/dist/esm/useSearch.js.map +1 -1
  93. package/dist/esm/utils.js +59 -38
  94. package/dist/esm/utils.js.map +1 -1
  95. package/package.json +3 -3
  96. package/dist/esm/index.dev.js.map +0 -1
  97. package/dist/esm/index.js.map +0 -1
  98. package/dist/esm/ssr/client.js.map +0 -1
  99. package/dist/esm/ssr/server.js.map +0 -1
package/dist/esm/route.js CHANGED
@@ -1,191 +1,213 @@
1
- import { BaseRouteApi, notFound, BaseRoute, BaseRootRoute } from "@tanstack/router-core";
2
- import * as Vue from "vue";
1
+ import { useRouter } from "./useRouter.js";
3
2
  import { Link } from "./link.js";
3
+ import { useMatch } from "./useMatch.js";
4
4
  import { useLoaderData } from "./useLoaderData.js";
5
5
  import { useLoaderDeps } from "./useLoaderDeps.js";
6
6
  import { useParams } from "./useParams.js";
7
7
  import { useSearch } from "./useSearch.js";
8
8
  import { useNavigate } from "./useNavigate.js";
9
- import { useMatch } from "./useMatch.js";
10
9
  import { useRouteContext } from "./useRouteContext.js";
11
- import { useRouter } from "./useRouter.js";
10
+ import { BaseRootRoute, BaseRoute, BaseRouteApi, notFound } from "@tanstack/router-core";
11
+ import * as Vue from "vue";
12
+ //#region src/route.ts
12
13
  function getRouteApi(id) {
13
- return new RouteApi({ id });
14
- }
15
- class RouteApi extends BaseRouteApi {
16
- /**
17
- * @deprecated Use the `getRouteApi` function instead.
18
- */
19
- constructor({ id }) {
20
- super({ id });
21
- this.useMatch = (opts) => {
22
- return useMatch({
23
- select: opts?.select,
24
- from: this.id
25
- });
26
- };
27
- this.useRouteContext = (opts) => {
28
- return useRouteContext({ ...opts, from: this.id });
29
- };
30
- this.useSearch = (opts) => {
31
- return useSearch({
32
- select: opts?.select,
33
- from: this.id
34
- });
35
- };
36
- this.useParams = (opts) => {
37
- return useParams({
38
- select: opts?.select,
39
- from: this.id
40
- });
41
- };
42
- this.useLoaderDeps = (opts) => {
43
- return useLoaderDeps({ ...opts, from: this.id, strict: false });
44
- };
45
- this.useLoaderData = (opts) => {
46
- return useLoaderData({ ...opts, from: this.id, strict: false });
47
- };
48
- this.useNavigate = () => {
49
- const router = useRouter();
50
- return useNavigate({ from: router.routesById[this.id].fullPath });
51
- };
52
- this.notFound = (opts) => {
53
- return notFound({ routeId: this.id, ...opts });
54
- };
55
- this.Link = ((props, ctx) => {
56
- const router = useRouter();
57
- const fullPath = router.routesById[this.id].fullPath;
58
- return Vue.h(
59
- Link,
60
- { from: fullPath, ...props },
61
- ctx?.slots
62
- );
63
- });
64
- }
65
- }
66
- class Route extends BaseRoute {
67
- /**
68
- * @deprecated Use the `createRoute` function instead.
69
- */
70
- constructor(options) {
71
- super(options);
72
- this.useMatch = (opts) => {
73
- return useMatch({
74
- select: opts?.select,
75
- from: this.id
76
- });
77
- };
78
- this.useRouteContext = (opts) => {
79
- return useRouteContext({ ...opts, from: this.id });
80
- };
81
- this.useSearch = (opts) => {
82
- return useSearch({
83
- select: opts?.select,
84
- from: this.id
85
- });
86
- };
87
- this.useParams = (opts) => {
88
- return useParams({
89
- select: opts?.select,
90
- from: this.id
91
- });
92
- };
93
- this.useLoaderDeps = (opts) => {
94
- return useLoaderDeps({ ...opts, from: this.id });
95
- };
96
- this.useLoaderData = (opts) => {
97
- return useLoaderData({ ...opts, from: this.id });
98
- };
99
- this.useNavigate = () => {
100
- return useNavigate({ from: this.fullPath });
101
- };
102
- this.Link = ((props, ctx) => {
103
- return Vue.h(
104
- Link,
105
- { from: this.fullPath, ...props },
106
- ctx?.slots
107
- );
108
- });
109
- }
14
+ return new RouteApi({ id });
110
15
  }
16
+ var RouteApi = class extends BaseRouteApi {
17
+ /**
18
+ * @deprecated Use the `getRouteApi` function instead.
19
+ */
20
+ constructor({ id }) {
21
+ super({ id });
22
+ this.useMatch = (opts) => {
23
+ return useMatch({
24
+ select: opts?.select,
25
+ from: this.id
26
+ });
27
+ };
28
+ this.useRouteContext = (opts) => {
29
+ return useRouteContext({
30
+ ...opts,
31
+ from: this.id
32
+ });
33
+ };
34
+ this.useSearch = (opts) => {
35
+ return useSearch({
36
+ select: opts?.select,
37
+ from: this.id
38
+ });
39
+ };
40
+ this.useParams = (opts) => {
41
+ return useParams({
42
+ select: opts?.select,
43
+ from: this.id
44
+ });
45
+ };
46
+ this.useLoaderDeps = (opts) => {
47
+ return useLoaderDeps({
48
+ ...opts,
49
+ from: this.id,
50
+ strict: false
51
+ });
52
+ };
53
+ this.useLoaderData = (opts) => {
54
+ return useLoaderData({
55
+ ...opts,
56
+ from: this.id,
57
+ strict: false
58
+ });
59
+ };
60
+ this.useNavigate = () => {
61
+ return useNavigate({ from: useRouter().routesById[this.id].fullPath });
62
+ };
63
+ this.notFound = (opts) => {
64
+ return notFound({
65
+ routeId: this.id,
66
+ ...opts
67
+ });
68
+ };
69
+ this.Link = ((props, ctx) => {
70
+ const fullPath = useRouter().routesById[this.id].fullPath;
71
+ return Vue.h(Link, {
72
+ from: fullPath,
73
+ ...props
74
+ }, ctx?.slots);
75
+ });
76
+ }
77
+ };
78
+ var Route = class extends BaseRoute {
79
+ /**
80
+ * @deprecated Use the `createRoute` function instead.
81
+ */
82
+ constructor(options) {
83
+ super(options);
84
+ this.useMatch = (opts) => {
85
+ return useMatch({
86
+ select: opts?.select,
87
+ from: this.id
88
+ });
89
+ };
90
+ this.useRouteContext = (opts) => {
91
+ return useRouteContext({
92
+ ...opts,
93
+ from: this.id
94
+ });
95
+ };
96
+ this.useSearch = (opts) => {
97
+ return useSearch({
98
+ select: opts?.select,
99
+ from: this.id
100
+ });
101
+ };
102
+ this.useParams = (opts) => {
103
+ return useParams({
104
+ select: opts?.select,
105
+ from: this.id
106
+ });
107
+ };
108
+ this.useLoaderDeps = (opts) => {
109
+ return useLoaderDeps({
110
+ ...opts,
111
+ from: this.id
112
+ });
113
+ };
114
+ this.useLoaderData = (opts) => {
115
+ return useLoaderData({
116
+ ...opts,
117
+ from: this.id
118
+ });
119
+ };
120
+ this.useNavigate = () => {
121
+ return useNavigate({ from: this.fullPath });
122
+ };
123
+ this.Link = ((props, ctx) => {
124
+ return Vue.h(Link, {
125
+ from: this.fullPath,
126
+ ...props
127
+ }, ctx?.slots);
128
+ });
129
+ }
130
+ };
111
131
  function createRoute(options) {
112
- return new Route(options);
132
+ return new Route(options);
113
133
  }
114
134
  function createRootRouteWithContext() {
115
- return (options) => {
116
- return createRootRoute(options);
117
- };
118
- }
119
- const rootRouteWithContext = createRootRouteWithContext;
120
- class RootRoute extends BaseRootRoute {
121
- /**
122
- * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
123
- */
124
- constructor(options) {
125
- super(options);
126
- this.useMatch = (opts) => {
127
- return useMatch({
128
- select: opts?.select,
129
- from: this.id
130
- });
131
- };
132
- this.useRouteContext = (opts) => {
133
- return useRouteContext({ ...opts, from: this.id });
134
- };
135
- this.useSearch = (opts) => {
136
- return useSearch({
137
- select: opts?.select,
138
- from: this.id
139
- });
140
- };
141
- this.useParams = (opts) => {
142
- return useParams({
143
- select: opts?.select,
144
- from: this.id
145
- });
146
- };
147
- this.useLoaderDeps = (opts) => {
148
- return useLoaderDeps({ ...opts, from: this.id });
149
- };
150
- this.useLoaderData = (opts) => {
151
- return useLoaderData({ ...opts, from: this.id });
152
- };
153
- this.useNavigate = () => {
154
- return useNavigate({ from: this.fullPath });
155
- };
156
- this.Link = ((props, ctx) => {
157
- return Vue.h(
158
- Link,
159
- { from: this.fullPath, ...props },
160
- ctx?.slots
161
- );
162
- });
163
- }
135
+ return (options) => {
136
+ return createRootRoute(options);
137
+ };
164
138
  }
139
+ /**
140
+ * @deprecated Use the `createRootRouteWithContext` function instead.
141
+ */
142
+ var rootRouteWithContext = createRootRouteWithContext;
143
+ var RootRoute = class extends BaseRootRoute {
144
+ /**
145
+ * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
146
+ */
147
+ constructor(options) {
148
+ super(options);
149
+ this.useMatch = (opts) => {
150
+ return useMatch({
151
+ select: opts?.select,
152
+ from: this.id
153
+ });
154
+ };
155
+ this.useRouteContext = (opts) => {
156
+ return useRouteContext({
157
+ ...opts,
158
+ from: this.id
159
+ });
160
+ };
161
+ this.useSearch = (opts) => {
162
+ return useSearch({
163
+ select: opts?.select,
164
+ from: this.id
165
+ });
166
+ };
167
+ this.useParams = (opts) => {
168
+ return useParams({
169
+ select: opts?.select,
170
+ from: this.id
171
+ });
172
+ };
173
+ this.useLoaderDeps = (opts) => {
174
+ return useLoaderDeps({
175
+ ...opts,
176
+ from: this.id
177
+ });
178
+ };
179
+ this.useLoaderData = (opts) => {
180
+ return useLoaderData({
181
+ ...opts,
182
+ from: this.id
183
+ });
184
+ };
185
+ this.useNavigate = () => {
186
+ return useNavigate({ from: this.fullPath });
187
+ };
188
+ this.Link = ((props, ctx) => {
189
+ return Vue.h(Link, {
190
+ from: this.fullPath,
191
+ ...props
192
+ }, ctx?.slots);
193
+ });
194
+ }
195
+ };
165
196
  function createRouteMask(opts) {
166
- return opts;
167
- }
168
- class NotFoundRoute extends Route {
169
- constructor(options) {
170
- super({
171
- ...options,
172
- id: "404"
173
- });
174
- }
197
+ return opts;
175
198
  }
199
+ var NotFoundRoute = class extends Route {
200
+ constructor(options) {
201
+ super({
202
+ ...options,
203
+ id: "404"
204
+ });
205
+ }
206
+ };
176
207
  function createRootRoute(options) {
177
- return new RootRoute(options);
208
+ return new RootRoute(options);
178
209
  }
179
- export {
180
- NotFoundRoute,
181
- RootRoute,
182
- Route,
183
- RouteApi,
184
- createRootRoute,
185
- createRootRouteWithContext,
186
- createRoute,
187
- createRouteMask,
188
- getRouteApi,
189
- rootRouteWithContext
190
- };
191
- //# sourceMappingURL=route.js.map
210
+ //#endregion
211
+ export { NotFoundRoute, RootRoute, Route, RouteApi, createRootRoute, createRootRouteWithContext, createRoute, createRouteMask, getRouteApi, rootRouteWithContext };
212
+
213
+ //# sourceMappingURL=route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sources":["../../src/route.ts"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport * as Vue from 'vue'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouteContext } from './useRouteContext'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n Register,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\n// Structural type for Vue SFC components (.vue files)\n// Uses structural matching to accept Vue components without breaking\n// TypeScript inference for inline function components\ntype VueSFC = {\n readonly __name?: string\n setup?: (...args: Array<any>) => any\n render?: Function\n}\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent | VueSFC\n errorComponent?: false | null | undefined | ErrorRouteComponent | VueSFC\n notFoundComponent?: NotFoundRouteComponent | VueSFC\n pendingComponent?: RouteComponent | VueSFC\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id as any }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ctx?: Vue.SetupContext,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return Vue.h(\n Link as any,\n { from: fullPath as never, ...(props as any) },\n ctx?.slots,\n )\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TRegister = unknown,\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out TMiddlewares = unknown,\n in out THandlers = undefined,\n>\n extends BaseRoute<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n implements\n RouteCore<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n TMiddlewares,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props, ctx?: Vue.SetupContext) => {\n return Vue.h(\n Link as any,\n { from: this.fullPath as never, ...(props as any) },\n ctx?.slots,\n )\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TRegister = unknown,\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n> {\n return new Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRegister = Register,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n >(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) => {\n return createRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >(options)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TRegister = Register,\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out THandlers = undefined,\n>\n extends BaseRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n implements\n RootRouteCore<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props, ctx?: Vue.SetupContext) => {\n return Vue.h(\n Link as any,\n { from: this.fullPath as never, ...(props as any) },\n ctx?.slots,\n )\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type VueNode = Vue.VNode\n\nexport type SyncRouteComponent<TProps> = (props: TProps) => Vue.VNode\n\nexport type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent<TProps = any> = AsyncRouteComponent<TProps>\n\nexport type ErrorRouteComponent = RouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = SyncRouteComponent<NotFoundRouteProps>\n\nexport class NotFoundRoute<\n TRegister,\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n> extends Route<\n TRegister,\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TSSR,\n THandlers\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TRegister,\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TRegister = Register,\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n): RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n> {\n return new RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","names":[],"sources":["../../src/route.ts"],"sourcesContent":["import {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi,\n notFound,\n} from '@tanstack/router-core'\nimport * as Vue from 'vue'\nimport { Link } from './link'\nimport { useLoaderData } from './useLoaderData'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useParams } from './useParams'\nimport { useSearch } from './useSearch'\nimport { useNavigate } from './useNavigate'\nimport { useMatch } from './useMatch'\nimport { useRouteContext } from './useRouteContext'\nimport { useRouter } from './useRouter'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n ConstrainLiteral,\n ErrorComponentProps,\n NotFoundError,\n NotFoundRouteProps,\n Register,\n RegisteredRouter,\n ResolveFullPath,\n ResolveId,\n ResolveParams,\n RootRoute as RootRouteCore,\n RootRouteId,\n RootRouteOptions,\n RouteConstraints,\n Route as RouteCore,\n RouteIds,\n RouteMask,\n RouteOptions,\n RouteTypesById,\n RouterCore,\n ToMaskOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseSearchRoute } from './useSearch'\nimport type { UseRouteContextRoute } from './useRouteContext'\nimport type { LinkComponentRoute } from './link'\n\n// Structural type for Vue SFC components (.vue files)\n// Uses structural matching to accept Vue components without breaking\n// TypeScript inference for inline function components\ntype VueSFC = {\n readonly __name?: string\n setup?: (...args: Array<any>) => any\n render?: Function\n}\n\ndeclare module '@tanstack/router-core' {\n export interface UpdatableRouteOptionsExtensions {\n component?: RouteComponent | VueSFC\n errorComponent?: false | null | undefined | ErrorRouteComponent | VueSFC\n notFoundComponent?: NotFoundRouteComponent | VueSFC\n pendingComponent?: RouteComponent | VueSFC\n }\n\n export interface RouteExtensions<\n in out TId extends string,\n in out TFullPath extends string,\n > {\n useMatch: UseMatchRoute<TId>\n useRouteContext: UseRouteContextRoute<TId>\n useSearch: UseSearchRoute<TId>\n useParams: UseParamsRoute<TId>\n useLoaderDeps: UseLoaderDepsRoute<TId>\n useLoaderData: UseLoaderDataRoute<TId>\n useNavigate: () => UseNavigateResult<TFullPath>\n Link: LinkComponentRoute<TFullPath>\n }\n}\n\nexport function getRouteApi<\n const TId,\n TRouter extends AnyRouter = RegisteredRouter,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return new RouteApi<TId, TRouter>({ id })\n}\n\nexport class RouteApi<\n TId,\n TRouter extends AnyRouter = RegisteredRouter,\n> extends BaseRouteApi<TId, TRouter> {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }: { id: TId }) {\n super({ id })\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id as any }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false } as any)\n }\n\n useNavigate = (): UseNavigateResult<\n RouteTypesById<TRouter, TId>['fullPath']\n > => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.id as string].fullPath })\n }\n\n notFound = (opts?: NotFoundError) => {\n return notFound({ routeId: this.id as string, ...opts })\n }\n\n Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']> = ((\n props,\n ctx?: Vue.SetupContext,\n ) => {\n const router = useRouter()\n const fullPath = router.routesById[this.id as string].fullPath\n return Vue.h(\n Link as any,\n { from: fullPath as never, ...(props as any) },\n ctx?.slots,\n )\n }) as LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>\n}\n\nexport class Route<\n in out TRegister = unknown,\n in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n in out TPath extends RouteConstraints['TPath'] = '/',\n in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n in out TCustomId extends RouteConstraints['TCustomId'] = string,\n in out TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n in out TSearchValidator = undefined,\n in out TParams = ResolveParams<TPath>,\n in out TRouterContext = AnyContext,\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out TMiddlewares = unknown,\n in out THandlers = undefined,\n>\n extends BaseRoute<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n implements\n RouteCore<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n TMiddlewares,\n THandlers\n >\n{\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(\n options?: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n TMiddlewares,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<TId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TId> = (opts?) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<TId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TFullPath> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<TFullPath> = ((props, ctx?: Vue.SetupContext) => {\n return Vue.h(\n Link as any,\n { from: this.fullPath as never, ...(props as any) },\n ctx?.slots,\n )\n }) as LinkComponentRoute<TFullPath>\n}\n\nexport function createRoute<\n TRegister = unknown,\n TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,\n TPath extends RouteConstraints['TPath'] = '/',\n TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<\n TParentRoute,\n TPath\n >,\n TCustomId extends RouteConstraints['TCustomId'] = string,\n TId extends RouteConstraints['TId'] = ResolveId<\n TParentRoute,\n TCustomId,\n TPath\n >,\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options: RouteOptions<\n TRegister,\n TParentRoute,\n TId,\n TCustomId,\n TFullPath,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n): Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n> {\n return new Route<\n TRegister,\n TParentRoute,\n TPath,\n TFullPath,\n TCustomId,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n\nexport type AnyRootRoute = RootRoute<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n>\n\nexport function createRootRouteWithContext<TRouterContext extends {}>() {\n return <\n TRegister = Register,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n >(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) => {\n return createRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >(options)\n }\n}\n\n/**\n * @deprecated Use the `createRootRouteWithContext` function instead.\n */\nexport const rootRouteWithContext = createRootRouteWithContext\n\nexport class RootRoute<\n in out TRegister = Register,\n in out TSearchValidator = undefined,\n in out TRouterContext = {},\n in out TRouteContextFn = AnyContext,\n in out TBeforeLoadFn = AnyContext,\n in out TLoaderDeps extends Record<string, any> = {},\n in out TLoaderFn = undefined,\n in out TChildren = unknown,\n in out TFileRouteTypes = unknown,\n in out TSSR = unknown,\n in out THandlers = undefined,\n>\n extends BaseRootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n implements\n RootRouteCore<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TFileRouteTypes,\n TSSR,\n THandlers\n >\n{\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n ) {\n super(options)\n }\n\n useMatch: UseMatchRoute<RootRouteId> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<RootRouteId> = (opts) => {\n return useRouteContext({ ...(opts as any), from: this.id }) as any\n }\n\n useSearch: UseSearchRoute<RootRouteId> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<RootRouteId> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<RootRouteId> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<RootRouteId> = (opts) => {\n return useLoaderData({ ...opts, from: this.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<'/'> => {\n return useNavigate({ from: this.fullPath })\n }\n\n Link: LinkComponentRoute<'/'> = ((props, ctx?: Vue.SetupContext) => {\n return Vue.h(\n Link as any,\n { from: this.fullPath as never, ...(props as any) },\n ctx?.slots,\n )\n }) as LinkComponentRoute<'/'>\n}\n\nexport function createRouteMask<\n TRouteTree extends AnyRoute,\n TFrom extends string,\n TTo extends string,\n>(\n opts: {\n routeTree: TRouteTree\n } & ToMaskOptions<RouterCore<TRouteTree, 'never', false>, TFrom, TTo>,\n): RouteMask<TRouteTree> {\n return opts as any\n}\n\nexport type VueNode = Vue.VNode\n\nexport type SyncRouteComponent<TProps> = (props: TProps) => Vue.VNode\n\nexport type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {\n preload?: () => Promise<void>\n}\n\nexport type RouteComponent<TProps = any> = AsyncRouteComponent<TProps>\n\nexport type ErrorRouteComponent = RouteComponent<ErrorComponentProps>\n\nexport type NotFoundRouteComponent = SyncRouteComponent<NotFoundRouteProps>\n\nexport class NotFoundRoute<\n TRegister,\n TParentRoute extends AnyRootRoute,\n TRouterContext = AnyContext,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TSearchValidator = undefined,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n TSSR = unknown,\n THandlers = undefined,\n> extends Route<\n TRegister,\n TParentRoute,\n '/404',\n '/404',\n '404',\n '404',\n TSearchValidator,\n {},\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n TSSR,\n THandlers\n> {\n constructor(\n options: Omit<\n RouteOptions<\n TRegister,\n TParentRoute,\n string,\n string,\n string,\n string,\n TSearchValidator,\n {},\n TLoaderDeps,\n TLoaderFn,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TSSR,\n THandlers\n >,\n | 'caseSensitive'\n | 'parseParams'\n | 'stringifyParams'\n | 'path'\n | 'id'\n | 'params'\n >,\n ) {\n super({\n ...(options as any),\n id: '404',\n })\n }\n}\n\nexport function createRootRoute<\n TRegister = Register,\n TSearchValidator = undefined,\n TRouterContext = {},\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TSSR = unknown,\n THandlers = undefined,\n>(\n options?: RootRouteOptions<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TSSR,\n THandlers\n >,\n): RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n> {\n return new RootRoute<\n TRegister,\n TSearchValidator,\n TRouterContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n unknown,\n unknown,\n TSSR,\n THandlers\n >(options)\n}\n"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { RouterCore } from "@tanstack/router-core";
2
- const createRouter = (options) => {
3
- return new Router(options);
2
+ //#region src/router.ts
3
+ var createRouter = (options) => {
4
+ return new Router(options);
4
5
  };
5
- class Router extends RouterCore {
6
- constructor(options) {
7
- super(options);
8
- }
9
- }
10
- export {
11
- Router,
12
- createRouter
6
+ var Router = class extends RouterCore {
7
+ constructor(options) {
8
+ super(options);
9
+ }
13
10
  };
14
- //# sourceMappingURL=router.js.map
11
+ //#endregion
12
+ export { Router, createRouter };
13
+
14
+ //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sources":["../../src/router.ts"],"sourcesContent":["import { RouterCore } from '@tanstack/router-core'\nimport type { RouterHistory } from '@tanstack/history'\nimport type {\n AnyRoute,\n CreateRouterFn,\n RouterConstructorOptions,\n TrailingSlashOption,\n} from '@tanstack/router-core'\nimport type {\n ErrorRouteComponent,\n NotFoundRouteComponent,\n RouteComponent,\n} from './route'\nimport type { VNode } from 'vue'\n\ndeclare module '@tanstack/router-core' {\n export interface RouterOptionsExtensions {\n /**\n * The default `component` a route should use if no component is provided.\n *\n * @default Outlet\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultcomponent-property)\n */\n defaultComponent?: RouteComponent\n /**\n * The default `errorComponent` a route should use if no error component is provided.\n *\n * @default ErrorComponent\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaulterrorcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#handling-errors-with-routeoptionserrorcomponent)\n */\n defaultErrorComponent?: ErrorRouteComponent\n /**\n * The default `pendingComponent` a route should use if no pending component is provided.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultpendingcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#showing-a-pending-component)\n */\n defaultPendingComponent?: RouteComponent\n /**\n * The default `notFoundComponent` a route should use if no notFound component is provided.\n *\n * @default NotFound\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultnotfoundcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/not-found-errors#default-router-wide-not-found-handling)\n */\n defaultNotFoundComponent?: NotFoundRouteComponent\n /**\n * A component that will be used to wrap the entire router.\n *\n * This is useful for providing a context to the entire router.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#wrap-property)\n */\n Wrap?: (props: { children: any }) => VNode\n /**\n * A component that will be used to wrap the inner contents of the router.\n *\n * This is useful for providing a context to the inner contents of the router where you also need access to the router context and hooks.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#innerwrap-property)\n */\n InnerWrap?: (props: { children: any }) => VNode\n\n /**\n * The default `onCatch` handler for errors caught by the Router ErrorBoundary\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultoncatch-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#handling-errors-with-routeoptionsoncatch)\n */\n defaultOnCatch?: (error: Error) => void\n }\n}\n\nexport const createRouter: CreateRouterFn = (options) => {\n return new Router(options)\n}\n\nexport class Router<\n in out TRouteTree extends AnyRoute,\n in out TTrailingSlashOption extends TrailingSlashOption = 'never',\n in out TDefaultStructuralSharingOption extends boolean = false,\n in out TRouterHistory extends RouterHistory = RouterHistory,\n in out TDehydrated extends Record<string, any> = Record<string, any>,\n> extends RouterCore<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n> {\n constructor(\n options: RouterConstructorOptions<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n >,\n ) {\n super(options)\n }\n}\n"],"names":[],"mappings":";AA0EO,MAAM,eAA+B,CAAC,YAAY;AACvD,SAAO,IAAI,OAAO,OAAO;AAC3B;AAEO,MAAM,eAMH,WAMR;AAAA,EACA,YACE,SAOA;AACA,UAAM,OAAO;AAAA,EACf;AACF;"}
1
+ {"version":3,"file":"router.js","names":[],"sources":["../../src/router.ts"],"sourcesContent":["import { RouterCore } from '@tanstack/router-core'\nimport type { RouterHistory } from '@tanstack/history'\nimport type {\n AnyRoute,\n CreateRouterFn,\n RouterConstructorOptions,\n TrailingSlashOption,\n} from '@tanstack/router-core'\nimport type {\n ErrorRouteComponent,\n NotFoundRouteComponent,\n RouteComponent,\n} from './route'\nimport type { VNode } from 'vue'\n\ndeclare module '@tanstack/router-core' {\n export interface RouterOptionsExtensions {\n /**\n * The default `component` a route should use if no component is provided.\n *\n * @default Outlet\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultcomponent-property)\n */\n defaultComponent?: RouteComponent\n /**\n * The default `errorComponent` a route should use if no error component is provided.\n *\n * @default ErrorComponent\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaulterrorcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#handling-errors-with-routeoptionserrorcomponent)\n */\n defaultErrorComponent?: ErrorRouteComponent\n /**\n * The default `pendingComponent` a route should use if no pending component is provided.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultpendingcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/data-loading#showing-a-pending-component)\n */\n defaultPendingComponent?: RouteComponent\n /**\n * The default `notFoundComponent` a route should use if no notFound component is provided.\n *\n * @default NotFound\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#defaultnotfoundcomponent-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/solid/guide/not-found-errors#default-router-wide-not-found-handling)\n */\n defaultNotFoundComponent?: NotFoundRouteComponent\n /**\n * A component that will be used to wrap the entire router.\n *\n * This is useful for providing a context to the entire router.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#wrap-property)\n */\n Wrap?: (props: { children: any }) => VNode\n /**\n * A component that will be used to wrap the inner contents of the router.\n *\n * This is useful for providing a context to the inner contents of the router where you also need access to the router context and hooks.\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/solid/api/router/RouterOptionsType#innerwrap-property)\n */\n InnerWrap?: (props: { children: any }) => VNode\n\n /**\n * The default `onCatch` handler for errors caught by the Router ErrorBoundary\n *\n * @link [API Docs](https://tanstack.com/router/latest/docs/framework/react/api/router/RouterOptionsType#defaultoncatch-property)\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#handling-errors-with-routeoptionsoncatch)\n */\n defaultOnCatch?: (error: Error) => void\n }\n}\n\nexport const createRouter: CreateRouterFn = (options) => {\n return new Router(options)\n}\n\nexport class Router<\n in out TRouteTree extends AnyRoute,\n in out TTrailingSlashOption extends TrailingSlashOption = 'never',\n in out TDefaultStructuralSharingOption extends boolean = false,\n in out TRouterHistory extends RouterHistory = RouterHistory,\n in out TDehydrated extends Record<string, any> = Record<string, any>,\n> extends RouterCore<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n> {\n constructor(\n options: RouterConstructorOptions<\n TRouteTree,\n TTrailingSlashOption,\n TDefaultStructuralSharingOption,\n TRouterHistory,\n TDehydrated\n >,\n ) {\n super(options)\n }\n}\n"],"mappings":";;AA0EA,IAAa,gBAAgC,YAAY;AACvD,QAAO,IAAI,OAAO,QAAQ;;AAG5B,IAAa,SAAb,cAMU,WAMR;CACA,YACE,SAOA;AACA,QAAM,QAAQ"}
@@ -1,10 +1,13 @@
1
1
  import * as Vue from "vue";
2
- const routerContext = /* @__PURE__ */ Symbol("TanStackRouter");
2
+ //#region src/routerContext.tsx
3
+ var routerContext = Symbol("TanStackRouter");
4
+ /**
5
+ * Provides the router to all child components
6
+ */
3
7
  function provideRouter(router) {
4
- Vue.provide(routerContext, router);
8
+ Vue.provide(routerContext, router);
5
9
  }
6
- export {
7
- provideRouter,
8
- routerContext
9
- };
10
- //# sourceMappingURL=routerContext.js.map
10
+ //#endregion
11
+ export { provideRouter, routerContext };
12
+
13
+ //# sourceMappingURL=routerContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routerContext.js","sources":["../../src/routerContext.tsx"],"sourcesContent":["import * as Vue from 'vue'\nimport type { AnyRouter } from '@tanstack/router-core'\n\nexport const routerContext = Symbol(\n 'TanStackRouter',\n) as Vue.InjectionKey<AnyRouter>\n\n/**\n * Provides the router to all child components\n */\nexport function provideRouter(router: AnyRouter): void {\n Vue.provide(routerContext, router)\n}\n\n/**\n * Injects the router from the component tree\n */\nexport function injectRouter(): AnyRouter {\n const router = Vue.inject<AnyRouter | null>(routerContext, null)\n if (!router) {\n throw new Error(\n 'No TanStack Router found in component tree. Did you forget to add a RouterProvider component?',\n )\n }\n return router\n}\n"],"names":["routerContext","Symbol","provideRouter","router","Vue","provide"],"mappings":";MAGaA,gBAAgBC,uBAC3B,gBACF;AAKO,SAASC,cAAcC,QAAyB;AACrDC,MAAIC,QAAQL,eAAeG,MAAM;AACnC;"}
1
+ {"version":3,"file":"routerContext.js","names":["Vue","routerContext","Symbol","provideRouter","router","provide","injectRouter","inject","Error"],"sources":["../../src/routerContext.tsx"],"sourcesContent":["import * as Vue from 'vue'\nimport type { AnyRouter } from '@tanstack/router-core'\n\nexport const routerContext = Symbol(\n 'TanStackRouter',\n) as Vue.InjectionKey<AnyRouter>\n\n/**\n * Provides the router to all child components\n */\nexport function provideRouter(router: AnyRouter): void {\n Vue.provide(routerContext, router)\n}\n\n/**\n * Injects the router from the component tree\n */\nexport function injectRouter(): AnyRouter {\n const router = Vue.inject<AnyRouter | null>(routerContext, null)\n if (!router) {\n throw new Error(\n 'No TanStack Router found in component tree. Did you forget to add a RouterProvider component?',\n )\n }\n return router\n}\n"],"mappings":";;AAGA,IAAaC,gBAAgBC,OAC3B,iBAC8B;;;;AAKhC,SAAgBC,cAAcC,QAAyB;AACrDJ,KAAIK,QAAQJ,eAAeG,OAAO"}
@@ -1,54 +1,43 @@
1
+ import { useRouter } from "./useRouter.js";
2
+ import { ScriptOnce } from "./ScriptOnce.js";
3
+ import { defaultGetScrollRestorationKey, escapeHtml, restoreScroll, storageKey } from "@tanstack/router-core";
1
4
  import * as Vue from "vue";
2
5
  import { createVNode } from "vue";
3
- import { defaultGetScrollRestorationKey, restoreScroll, escapeHtml, storageKey } from "@tanstack/router-core";
4
6
  import { isServer } from "@tanstack/router-core/isServer";
5
- import { useRouter } from "./useRouter.js";
6
- import { ScriptOnce } from "./ScriptOnce.js";
7
- const ScrollRestoration = Vue.defineComponent({
8
- name: "ScrollRestoration",
9
- setup() {
10
- const router = useRouter();
11
- const mounted = Vue.ref(false);
12
- Vue.onMounted(() => {
13
- mounted.value = true;
14
- });
15
- return () => {
16
- if (mounted.value) {
17
- return null;
18
- }
19
- if (!router.isScrollRestoring) {
20
- return null;
21
- }
22
- if (typeof router.options.scrollRestoration === "function") {
23
- const shouldRestore = router.options.scrollRestoration({
24
- location: router.latestLocation
25
- });
26
- if (!shouldRestore) {
27
- return null;
28
- }
29
- }
30
- const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;
31
- const userKey = getKey(router.latestLocation);
32
- const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
33
- const restoreScrollOptions = {
34
- storageKey,
35
- shouldScrollRestoration: true
36
- };
37
- if (resolvedKey) {
38
- restoreScrollOptions.key = resolvedKey;
39
- }
40
- if (isServer ?? router.isServer) {
41
- return createVNode(ScriptOnce, {
42
- "children": `(${restoreScroll.toString()})(${escapeHtml(JSON.stringify(restoreScrollOptions))})`
43
- }, null);
44
- }
45
- return createVNode(ScriptOnce, {
46
- "children": ""
47
- }, null);
48
- };
49
- }
7
+ //#region src/scroll-restoration.tsx
8
+ /**
9
+ * ScrollRestoration component for Vue.
10
+ * On server: renders a ScriptOnce with scroll restoration logic.
11
+ * On client during hydration: renders a matching ScriptOnce to avoid mismatch.
12
+ * After mount: renders nothing.
13
+ */
14
+ var ScrollRestoration = Vue.defineComponent({
15
+ name: "ScrollRestoration",
16
+ setup() {
17
+ const router = useRouter();
18
+ const mounted = Vue.ref(false);
19
+ Vue.onMounted(() => {
20
+ mounted.value = true;
21
+ });
22
+ return () => {
23
+ if (mounted.value) return null;
24
+ if (!router.isScrollRestoring) return null;
25
+ if (typeof router.options.scrollRestoration === "function") {
26
+ if (!router.options.scrollRestoration({ location: router.latestLocation })) return null;
27
+ }
28
+ const userKey = (router.options.getScrollRestorationKey || defaultGetScrollRestorationKey)(router.latestLocation);
29
+ const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
30
+ const restoreScrollOptions = {
31
+ storageKey,
32
+ shouldScrollRestoration: true
33
+ };
34
+ if (resolvedKey) restoreScrollOptions.key = resolvedKey;
35
+ if (isServer ?? router.isServer) return createVNode(ScriptOnce, { "children": `(${restoreScroll.toString()})(${escapeHtml(JSON.stringify(restoreScrollOptions))})` }, null);
36
+ return createVNode(ScriptOnce, { "children": "" }, null);
37
+ };
38
+ }
50
39
  });
51
- export {
52
- ScrollRestoration
53
- };
54
- //# sourceMappingURL=scroll-restoration.js.map
40
+ //#endregion
41
+ export { ScrollRestoration };
42
+
43
+ //# sourceMappingURL=scroll-restoration.js.map