@tanstack/solid-router 1.120.7 → 1.121.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/HeadContent.cjs +18 -6
- package/dist/cjs/HeadContent.cjs.map +1 -1
- package/dist/cjs/Match.cjs +20 -0
- package/dist/cjs/Match.cjs.map +1 -1
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/Matches.d.cts +2 -2
- package/dist/cjs/fileRoute.cjs +8 -0
- package/dist/cjs/fileRoute.cjs.map +1 -1
- package/dist/cjs/fileRoute.d.cts +16 -5
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +3 -3
- package/dist/cjs/router.cjs +8 -0
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/useBlocker.cjs +1 -1
- package/dist/cjs/useBlocker.cjs.map +1 -1
- package/dist/cjs/useNavigate.cjs.map +1 -1
- package/dist/esm/HeadContent.js +18 -6
- package/dist/esm/HeadContent.js.map +1 -1
- package/dist/esm/Match.js +20 -0
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Matches.d.ts +2 -2
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/fileRoute.d.ts +16 -5
- package/dist/esm/fileRoute.js +8 -0
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/route.d.ts +3 -3
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.js +8 -0
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/useBlocker.js +1 -1
- package/dist/esm/useBlocker.js.map +1 -1
- package/dist/esm/useNavigate.js.map +1 -1
- package/dist/source/HeadContent.jsx +25 -10
- package/dist/source/HeadContent.jsx.map +1 -1
- package/dist/source/Match.jsx +6 -0
- package/dist/source/Match.jsx.map +1 -1
- package/dist/source/Matches.d.ts +2 -2
- package/dist/source/Matches.jsx.map +1 -1
- package/dist/source/fileRoute.d.ts +16 -5
- package/dist/source/fileRoute.js +8 -0
- package/dist/source/fileRoute.js.map +1 -1
- package/dist/source/index.d.ts +1 -1
- package/dist/source/index.jsx.map +1 -1
- package/dist/source/route.d.ts +3 -3
- package/dist/source/route.jsx.map +1 -1
- package/dist/source/router.js +11 -0
- package/dist/source/router.js.map +1 -1
- package/dist/source/useBlocker.jsx +1 -1
- package/dist/source/useBlocker.jsx.map +1 -1
- package/dist/source/useNavigate.jsx.map +1 -1
- package/package.json +3 -3
- package/src/HeadContent.tsx +23 -3
- package/src/Match.tsx +10 -0
- package/src/Matches.tsx +2 -1
- package/src/fileRoute.ts +26 -4
- package/src/index.tsx +4 -3
- package/src/route.tsx +53 -87
- package/src/router.ts +9 -0
- package/src/useBlocker.tsx +4 -1
- package/src/useNavigate.tsx +1 -1
package/dist/source/route.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseRootRoute, BaseRoute, BaseRouteApi } from '@tanstack/router-core';
|
|
2
|
-
import type { AnyContext, AnyRoute, AnyRouter, ConstrainLiteral, ErrorComponentProps, NotFoundError, NotFoundRouteProps, RegisteredRouter, ResolveFullPath, ResolveId, ResolveParams,
|
|
2
|
+
import type { AnyContext, AnyRoute, AnyRouter, ConstrainLiteral, ErrorComponentProps, NotFoundError, NotFoundRouteProps, RegisteredRouter, ResolveFullPath, ResolveId, ResolveParams, RootRouteId, RootRouteOptions, RouteConstraints, RouteIds, RouteMask, RouteOptions, RouteTypesById, RouterCore, ToMaskOptions, UseNavigateResult } from '@tanstack/router-core';
|
|
3
3
|
import type { UseLoaderDataRoute } from './useLoaderData';
|
|
4
4
|
import type { UseMatchRoute } from './useMatch';
|
|
5
5
|
import type { UseLoaderDepsRoute } from './useLoaderDeps';
|
|
@@ -44,7 +44,7 @@ export declare class RouteApi<TId, TRouter extends AnyRouter = RegisteredRouter>
|
|
|
44
44
|
notFound: (opts?: NotFoundError) => NotFoundError;
|
|
45
45
|
Link: LinkComponentRoute<RouteTypesById<TRouter, TId>['fullPath']>;
|
|
46
46
|
}
|
|
47
|
-
export declare class Route<in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, in out TSearchValidator = undefined, in out TParams = ResolveParams<TPath>, in out TRouterContext = AnyContext, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown> extends BaseRoute<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren, TFileRouteTypes>
|
|
47
|
+
export declare class Route<in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, in out TPath extends RouteConstraints['TPath'] = '/', in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, in out TCustomId extends RouteConstraints['TCustomId'] = string, in out TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, in out TSearchValidator = undefined, in out TParams = ResolveParams<TPath>, in out TRouterContext = AnyContext, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown> extends BaseRoute<TParentRoute, TPath, TFullPath, TCustomId, TId, TSearchValidator, TParams, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren, TFileRouteTypes> {
|
|
48
48
|
/**
|
|
49
49
|
* @deprecated Use the `createRoute` function instead.
|
|
50
50
|
*/
|
|
@@ -65,7 +65,7 @@ export declare function createRootRouteWithContext<TRouterContext extends {}>():
|
|
|
65
65
|
* @deprecated Use the `createRootRouteWithContext` function instead.
|
|
66
66
|
*/
|
|
67
67
|
export declare const rootRouteWithContext: typeof createRootRouteWithContext;
|
|
68
|
-
export declare class RootRoute<in out TSearchValidator = undefined, in out TRouterContext = {}, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown> extends BaseRootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren, TFileRouteTypes>
|
|
68
|
+
export declare class RootRoute<in out TSearchValidator = undefined, in out TRouterContext = {}, in out TRouteContextFn = AnyContext, in out TBeforeLoadFn = AnyContext, in out TLoaderDeps extends Record<string, any> = {}, in out TLoaderFn = undefined, in out TChildren = unknown, in out TFileRouteTypes = unknown> extends BaseRootRoute<TSearchValidator, TRouterContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren, TFileRouteTypes> {
|
|
69
69
|
/**
|
|
70
70
|
* @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
|
|
71
71
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.jsx","sourceRoot":"","sources":["../../src/route.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"route.jsx","sourceRoot":"","sources":["../../src/route.tsx"],"names":[],"mappings":"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"}
|
package/dist/source/router.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RouterCore } from '@tanstack/router-core';
|
|
2
|
+
import { createFileRoute, createLazyFileRoute } from './fileRoute';
|
|
2
3
|
export const createRouter = (options) => {
|
|
3
4
|
return new Router(options);
|
|
4
5
|
};
|
|
@@ -7,4 +8,14 @@ export class Router extends RouterCore {
|
|
|
7
8
|
super(options);
|
|
8
9
|
}
|
|
9
10
|
}
|
|
11
|
+
if (typeof globalThis !== 'undefined') {
|
|
12
|
+
;
|
|
13
|
+
globalThis.createFileRoute = createFileRoute;
|
|
14
|
+
globalThis.createLazyFileRoute = createLazyFileRoute;
|
|
15
|
+
}
|
|
16
|
+
else if (typeof window !== 'undefined') {
|
|
17
|
+
;
|
|
18
|
+
window.createFileRoute = createFileRoute;
|
|
19
|
+
window.createFileRoute = createLazyFileRoute;
|
|
20
|
+
}
|
|
10
21
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA0ElE,MAAM,CAAC,MAAM,YAAY,GAAmB,CAAC,OAAO,EAAE,EAAE;IACtD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,OAAO,MAMX,SAAQ,UAMT;IACC,YACE,OAMC;QAED,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,UAAkB,CAAC,eAAe,GAAG,eAAe,CACrD;IAAC,UAAkB,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;AAChE,CAAC;KAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACzC,CAAC;IAAC,MAAc,CAAC,eAAe,GAAG,eAAe,CACjD;IAAC,MAAc,CAAC,eAAe,GAAG,mBAAmB,CAAA;AACxD,CAAC"}
|
|
@@ -53,7 +53,7 @@ export function useBlocker(opts, condition) {
|
|
|
53
53
|
const blockerFnComposed = async (blockerFnArgs) => {
|
|
54
54
|
function getLocation(location) {
|
|
55
55
|
const parsedLocation = router.parseLocation(undefined, location);
|
|
56
|
-
const matchedRoutes = router.getMatchedRoutes(parsedLocation);
|
|
56
|
+
const matchedRoutes = router.getMatchedRoutes(parsedLocation.pathname, undefined);
|
|
57
57
|
if (matchedRoutes.foundRoute === undefined) {
|
|
58
58
|
throw new Error(`No route found for location ${location.href}`);
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBlocker.jsx","sourceRoot":"","sources":["../../src/useBlocker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAmFvC,SAAS,mBAAmB,CAC1B,IAA2D,EAC3D,SAAyB;IAEzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;YACzB,YAAY,EAAE,KAAK;SACpB,CAAA;IACH,CAAC;IAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAA;QAE9C,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YAClC,IAAI,WAAW;gBAAE,OAAO,MAAM,IAAI,EAAE,CAAA;YACpC,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAED,OAAO;YACL,aAAa,EAAE,gBAAgB;YAC/B,kBAAkB,EAAE,WAAW;YAC/B,YAAY,EAAE,KAAK;SACpB,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAA;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;IAEzB,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,IAAI,WAAW,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,MAAM,EAAE,EAAE,CAAA;QACnB,CAAC;QACD,OAAO,WAAW,CAAA;IACpB,CAAC,CAAA;IAED,OAAO;QACL,aAAa,EAAE,gBAAgB;QAC/B,kBAAkB,EAAE,WAAW;QAC/B,YAAY,EAAE,EAAE,KAAK,SAAS;KAC/B,CAAA;AACH,CAAC;AAwBD,MAAM,UAAU,UAAU,CACxB,IAA2D,EAC3D,SAAyB;IAEzB,MAAM,EACJ,aAAa,EACb,kBAAkB,GAAG,IAAI,EACzB,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,KAAK,GACrB,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAExC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAE1B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,YAAY,CAAkB;QAClE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAA;IAEF,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;QACtB,MAAM,iBAAiB,GAAG,KAAK,EAAE,aAA4B,EAAE,EAAE;YAC/D,SAAS,WAAW,CAClB,QAAyB;gBAEzB,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;gBAChE,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useBlocker.jsx","sourceRoot":"","sources":["../../src/useBlocker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigate.jsx","sourceRoot":"","sources":["../../src/useNavigate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AASvC,MAAM,UAAU,WAAW,CAGzB,YAED;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAA;IAEhC,OAAO,CAAC,CAAC,OAAwB,EAAE,EAAE;QACnC,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"useNavigate.jsx","sourceRoot":"","sources":["../../src/useNavigate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AASvC,MAAM,UAAU,WAAW,CAGzB,YAED;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAA;IAEhC,OAAO,CAAC,CAAC,OAAwB,EAAE,EAAE;QACnC,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAClE,CAAC,CAAoC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,QAAQ,CAMtB,KAA+D;IAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAA;IAEhC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC;YACP,GAAG,KAAK;SACT,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/solid-router",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.121.0-alpha.11",
|
|
4
4
|
"description": "Modern and scalable routing for Solid applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"jsesc": "^3.0.2",
|
|
61
61
|
"tiny-invariant": "^1.3.3",
|
|
62
62
|
"tiny-warning": "^1.0.3",
|
|
63
|
-
"@tanstack/history": "1.
|
|
64
|
-
"@tanstack/router-core": "1.
|
|
63
|
+
"@tanstack/history": "1.121.0-alpha.1",
|
|
64
|
+
"@tanstack/router-core": "1.121.0-alpha.11"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@solidjs/testing-library": "^0.8.10",
|
package/src/HeadContent.tsx
CHANGED
|
@@ -59,8 +59,8 @@ export const useTags = () => {
|
|
|
59
59
|
})
|
|
60
60
|
|
|
61
61
|
const links = useRouterState({
|
|
62
|
-
select: (state) =>
|
|
63
|
-
state.matches
|
|
62
|
+
select: (state) => {
|
|
63
|
+
const constructed = state.matches
|
|
64
64
|
.map((match) => match.links!)
|
|
65
65
|
.filter(Boolean)
|
|
66
66
|
.flat(1)
|
|
@@ -69,7 +69,27 @@ export const useTags = () => {
|
|
|
69
69
|
attrs: {
|
|
70
70
|
...link,
|
|
71
71
|
},
|
|
72
|
-
}))
|
|
72
|
+
})) satisfies Array<RouterManagedTag>
|
|
73
|
+
|
|
74
|
+
const manifest = router.ssr?.manifest
|
|
75
|
+
|
|
76
|
+
// These are the assets extracted from the ViteManifest
|
|
77
|
+
// using the `startManifestPlugin`
|
|
78
|
+
const assets = state.matches
|
|
79
|
+
.map((match) => manifest?.routes[match.routeId]?.assets ?? [])
|
|
80
|
+
.filter(Boolean)
|
|
81
|
+
.flat(1)
|
|
82
|
+
.filter((asset) => asset.tag === 'link')
|
|
83
|
+
.map(
|
|
84
|
+
(asset) =>
|
|
85
|
+
({
|
|
86
|
+
tag: 'link',
|
|
87
|
+
attrs: asset.attrs,
|
|
88
|
+
}) satisfies RouterManagedTag,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
return [...constructed, ...assets]
|
|
92
|
+
},
|
|
73
93
|
})
|
|
74
94
|
|
|
75
95
|
const preloadMeta = useRouterState({
|
package/src/Match.tsx
CHANGED
|
@@ -329,6 +329,16 @@ export const Outlet = () => {
|
|
|
329
329
|
|
|
330
330
|
return (
|
|
331
331
|
<Solid.Switch>
|
|
332
|
+
<Solid.Match when={router.isShell}>
|
|
333
|
+
<Solid.Suspense
|
|
334
|
+
fallback={
|
|
335
|
+
<Dynamic component={router.options.defaultPendingComponent} />
|
|
336
|
+
}
|
|
337
|
+
>
|
|
338
|
+
<ErrorComponent error={new Error('ShellBoundaryError')} />
|
|
339
|
+
</Solid.Suspense>
|
|
340
|
+
</Solid.Match>
|
|
341
|
+
|
|
332
342
|
<Solid.Match when={parentGlobalNotFound()}>
|
|
333
343
|
{renderRouteNotFound(router, route(), undefined)}
|
|
334
344
|
</Solid.Match>
|
package/src/Matches.tsx
CHANGED
|
@@ -10,6 +10,7 @@ import { SafeFragment } from './SafeFragment'
|
|
|
10
10
|
import type {
|
|
11
11
|
AnyRouter,
|
|
12
12
|
DeepPartial,
|
|
13
|
+
Expand,
|
|
13
14
|
MakeOptionalPathParams,
|
|
14
15
|
MakeOptionalSearchParams,
|
|
15
16
|
MakeRouteMatchUnion,
|
|
@@ -117,7 +118,7 @@ export function useMatchRoute<TRouter extends AnyRouter = RegisteredRouter>() {
|
|
|
117
118
|
>(
|
|
118
119
|
opts: UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,
|
|
119
120
|
): Solid.Accessor<
|
|
120
|
-
false | ResolveRoute<TRouter, TFrom, TTo>['types']['allParams']
|
|
121
|
+
false | Expand<ResolveRoute<TRouter, TFrom, TTo>['types']['allParams']>
|
|
121
122
|
> => {
|
|
122
123
|
const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts
|
|
123
124
|
|
package/src/fileRoute.ts
CHANGED
|
@@ -28,6 +28,7 @@ import type {
|
|
|
28
28
|
RouteIds,
|
|
29
29
|
RouteLoaderFn,
|
|
30
30
|
UpdatableRouteOptions,
|
|
31
|
+
UseNavigateResult,
|
|
31
32
|
} from '@tanstack/router-core'
|
|
32
33
|
import type { UseLoaderDepsRoute } from './useLoaderDeps'
|
|
33
34
|
import type { UseLoaderDataRoute } from './useLoaderData'
|
|
@@ -41,8 +42,13 @@ export function createFileRoute<
|
|
|
41
42
|
TFullPath extends
|
|
42
43
|
RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath'],
|
|
43
44
|
>(
|
|
44
|
-
path
|
|
45
|
+
path?: TFilePath,
|
|
45
46
|
): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {
|
|
47
|
+
if (typeof path === 'object') {
|
|
48
|
+
return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {
|
|
49
|
+
silent: true,
|
|
50
|
+
}).createRoute(path) as any
|
|
51
|
+
}
|
|
46
52
|
return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {
|
|
47
53
|
silent: true,
|
|
48
54
|
}).createRoute
|
|
@@ -63,7 +69,7 @@ export class FileRoute<
|
|
|
63
69
|
silent?: boolean
|
|
64
70
|
|
|
65
71
|
constructor(
|
|
66
|
-
public path
|
|
72
|
+
public path?: TFilePath,
|
|
67
73
|
_opts?: { silent: boolean },
|
|
68
74
|
) {
|
|
69
75
|
this.silent = _opts?.silent
|
|
@@ -159,6 +165,18 @@ export function FileRouteLoader<
|
|
|
159
165
|
return (loaderFn) => loaderFn as any
|
|
160
166
|
}
|
|
161
167
|
|
|
168
|
+
declare module '@tanstack/router-core' {
|
|
169
|
+
export interface LazyRoute<in out TRoute extends AnyRoute> {
|
|
170
|
+
useMatch: UseMatchRoute<TRoute['id']>
|
|
171
|
+
useRouteContext: UseRouteContextRoute<TRoute['id']>
|
|
172
|
+
useSearch: UseSearchRoute<TRoute['id']>
|
|
173
|
+
useParams: UseParamsRoute<TRoute['id']>
|
|
174
|
+
useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>
|
|
175
|
+
useLoaderData: UseLoaderDataRoute<TRoute['id']>
|
|
176
|
+
useNavigate: () => UseNavigateResult<TRoute['fullPath']>
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
162
180
|
export class LazyRoute<TRoute extends AnyRoute> {
|
|
163
181
|
options: {
|
|
164
182
|
id: string
|
|
@@ -208,7 +226,7 @@ export class LazyRoute<TRoute extends AnyRoute> {
|
|
|
208
226
|
return useLoaderData({ ...opts, from: this.options.id } as any)
|
|
209
227
|
}
|
|
210
228
|
|
|
211
|
-
useNavigate = () => {
|
|
229
|
+
useNavigate = (): UseNavigateResult<TRoute['fullPath']> => {
|
|
212
230
|
const router = useRouter()
|
|
213
231
|
return useNavigate({ from: router.routesById[this.options.id].fullPath })
|
|
214
232
|
}
|
|
@@ -229,6 +247,10 @@ export function createLazyRoute<
|
|
|
229
247
|
export function createLazyFileRoute<
|
|
230
248
|
TFilePath extends keyof FileRoutesByPath,
|
|
231
249
|
TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],
|
|
232
|
-
>(id: TFilePath) {
|
|
250
|
+
>(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute> {
|
|
251
|
+
if (typeof id === 'object') {
|
|
252
|
+
return new LazyRoute<TRoute>(id) as any
|
|
253
|
+
}
|
|
254
|
+
|
|
233
255
|
return (opts: LazyRouteOptions) => new LazyRoute<TRoute>({ id, ...opts })
|
|
234
256
|
}
|
package/src/index.tsx
CHANGED
|
@@ -47,7 +47,6 @@ export type {
|
|
|
47
47
|
DeferredPromiseState,
|
|
48
48
|
DeferredPromise,
|
|
49
49
|
ParsedLocation,
|
|
50
|
-
ParsePathParams,
|
|
51
50
|
RemoveTrailingSlashes,
|
|
52
51
|
RemoveLeadingSlashes,
|
|
53
52
|
ActiveOptions,
|
|
@@ -56,6 +55,8 @@ export type {
|
|
|
56
55
|
RootRouteId,
|
|
57
56
|
AnyPathParams,
|
|
58
57
|
ResolveParams,
|
|
58
|
+
ResolveOptionalParams,
|
|
59
|
+
ResolveRequiredParams,
|
|
59
60
|
SearchSchemaInput,
|
|
60
61
|
AnyContext,
|
|
61
62
|
RouteContext,
|
|
@@ -77,8 +78,6 @@ export type {
|
|
|
77
78
|
TrimPath,
|
|
78
79
|
TrimPathLeft,
|
|
79
80
|
TrimPathRight,
|
|
80
|
-
ParseSplatParams,
|
|
81
|
-
SplatParams,
|
|
82
81
|
StringifyParamsFn,
|
|
83
82
|
ParamsOptions,
|
|
84
83
|
InferAllParams,
|
|
@@ -207,6 +206,8 @@ export type {
|
|
|
207
206
|
InjectedHtmlEntry,
|
|
208
207
|
RouterErrorSerializer,
|
|
209
208
|
SerializerExtensions,
|
|
209
|
+
CreateFileRoute,
|
|
210
|
+
CreateLazyFileRoute,
|
|
210
211
|
} from '@tanstack/router-core'
|
|
211
212
|
|
|
212
213
|
export {
|
package/src/route.tsx
CHANGED
|
@@ -24,11 +24,9 @@ import type {
|
|
|
24
24
|
ResolveFullPath,
|
|
25
25
|
ResolveId,
|
|
26
26
|
ResolveParams,
|
|
27
|
-
RootRoute as RootRouteCore,
|
|
28
27
|
RootRouteId,
|
|
29
28
|
RootRouteOptions,
|
|
30
29
|
RouteConstraints,
|
|
31
|
-
Route as RouteCore,
|
|
32
30
|
RouteIds,
|
|
33
31
|
RouteMask,
|
|
34
32
|
RouteOptions,
|
|
@@ -144,62 +142,43 @@ export class RouteApi<
|
|
|
144
142
|
}
|
|
145
143
|
|
|
146
144
|
export class Route<
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
TParentRoute,
|
|
156
|
-
TCustomId,
|
|
157
|
-
TPath
|
|
158
|
-
>,
|
|
159
|
-
in out TSearchValidator = undefined,
|
|
160
|
-
in out TParams = ResolveParams<TPath>,
|
|
161
|
-
in out TRouterContext = AnyContext,
|
|
162
|
-
in out TRouteContextFn = AnyContext,
|
|
163
|
-
in out TBeforeLoadFn = AnyContext,
|
|
164
|
-
in out TLoaderDeps extends Record<string, any> = {},
|
|
165
|
-
in out TLoaderFn = undefined,
|
|
166
|
-
in out TChildren = unknown,
|
|
167
|
-
in out TFileRouteTypes = unknown,
|
|
168
|
-
>
|
|
169
|
-
extends BaseRoute<
|
|
145
|
+
in out TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute,
|
|
146
|
+
in out TPath extends RouteConstraints['TPath'] = '/',
|
|
147
|
+
in out TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<
|
|
148
|
+
TParentRoute,
|
|
149
|
+
TPath
|
|
150
|
+
>,
|
|
151
|
+
in out TCustomId extends RouteConstraints['TCustomId'] = string,
|
|
152
|
+
in out TId extends RouteConstraints['TId'] = ResolveId<
|
|
170
153
|
TParentRoute,
|
|
171
|
-
TPath,
|
|
172
|
-
TFullPath,
|
|
173
154
|
TCustomId,
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
>
|
|
202
|
-
{
|
|
155
|
+
TPath
|
|
156
|
+
>,
|
|
157
|
+
in out TSearchValidator = undefined,
|
|
158
|
+
in out TParams = ResolveParams<TPath>,
|
|
159
|
+
in out TRouterContext = AnyContext,
|
|
160
|
+
in out TRouteContextFn = AnyContext,
|
|
161
|
+
in out TBeforeLoadFn = AnyContext,
|
|
162
|
+
in out TLoaderDeps extends Record<string, any> = {},
|
|
163
|
+
in out TLoaderFn = undefined,
|
|
164
|
+
in out TChildren = unknown,
|
|
165
|
+
in out TFileRouteTypes = unknown,
|
|
166
|
+
> extends BaseRoute<
|
|
167
|
+
TParentRoute,
|
|
168
|
+
TPath,
|
|
169
|
+
TFullPath,
|
|
170
|
+
TCustomId,
|
|
171
|
+
TId,
|
|
172
|
+
TSearchValidator,
|
|
173
|
+
TParams,
|
|
174
|
+
TRouterContext,
|
|
175
|
+
TRouteContextFn,
|
|
176
|
+
TBeforeLoadFn,
|
|
177
|
+
TLoaderDeps,
|
|
178
|
+
TLoaderFn,
|
|
179
|
+
TChildren,
|
|
180
|
+
TFileRouteTypes
|
|
181
|
+
> {
|
|
203
182
|
/**
|
|
204
183
|
* @deprecated Use the `createRoute` function instead.
|
|
205
184
|
*/
|
|
@@ -373,37 +352,24 @@ export function createRootRouteWithContext<TRouterContext extends {}>() {
|
|
|
373
352
|
export const rootRouteWithContext = createRootRouteWithContext
|
|
374
353
|
|
|
375
354
|
export class RootRoute<
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
>
|
|
395
|
-
implements
|
|
396
|
-
RootRouteCore<
|
|
397
|
-
TSearchValidator,
|
|
398
|
-
TRouterContext,
|
|
399
|
-
TRouteContextFn,
|
|
400
|
-
TBeforeLoadFn,
|
|
401
|
-
TLoaderDeps,
|
|
402
|
-
TLoaderFn,
|
|
403
|
-
TChildren,
|
|
404
|
-
TFileRouteTypes
|
|
405
|
-
>
|
|
406
|
-
{
|
|
355
|
+
in out TSearchValidator = undefined,
|
|
356
|
+
in out TRouterContext = {},
|
|
357
|
+
in out TRouteContextFn = AnyContext,
|
|
358
|
+
in out TBeforeLoadFn = AnyContext,
|
|
359
|
+
in out TLoaderDeps extends Record<string, any> = {},
|
|
360
|
+
in out TLoaderFn = undefined,
|
|
361
|
+
in out TChildren = unknown,
|
|
362
|
+
in out TFileRouteTypes = unknown,
|
|
363
|
+
> extends BaseRootRoute<
|
|
364
|
+
TSearchValidator,
|
|
365
|
+
TRouterContext,
|
|
366
|
+
TRouteContextFn,
|
|
367
|
+
TBeforeLoadFn,
|
|
368
|
+
TLoaderDeps,
|
|
369
|
+
TLoaderFn,
|
|
370
|
+
TChildren,
|
|
371
|
+
TFileRouteTypes
|
|
372
|
+
> {
|
|
407
373
|
/**
|
|
408
374
|
* @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.
|
|
409
375
|
*/
|
package/src/router.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RouterCore } from '@tanstack/router-core'
|
|
2
|
+
import { createFileRoute, createLazyFileRoute } from './fileRoute'
|
|
2
3
|
import type { RouterHistory } from '@tanstack/history'
|
|
3
4
|
import type {
|
|
4
5
|
AnyRoute,
|
|
@@ -101,3 +102,11 @@ export class Router<
|
|
|
101
102
|
super(options)
|
|
102
103
|
}
|
|
103
104
|
}
|
|
105
|
+
|
|
106
|
+
if (typeof globalThis !== 'undefined') {
|
|
107
|
+
;(globalThis as any).createFileRoute = createFileRoute
|
|
108
|
+
;(globalThis as any).createLazyFileRoute = createLazyFileRoute
|
|
109
|
+
} else if (typeof window !== 'undefined') {
|
|
110
|
+
;(window as any).createFileRoute = createFileRoute
|
|
111
|
+
;(window as any).createFileRoute = createLazyFileRoute
|
|
112
|
+
}
|
package/src/useBlocker.tsx
CHANGED
|
@@ -180,7 +180,10 @@ export function useBlocker(
|
|
|
180
180
|
location: HistoryLocation,
|
|
181
181
|
): AnyShouldBlockFnLocation {
|
|
182
182
|
const parsedLocation = router.parseLocation(undefined, location)
|
|
183
|
-
const matchedRoutes = router.getMatchedRoutes(
|
|
183
|
+
const matchedRoutes = router.getMatchedRoutes(
|
|
184
|
+
parsedLocation.pathname,
|
|
185
|
+
undefined,
|
|
186
|
+
)
|
|
184
187
|
if (matchedRoutes.foundRoute === undefined) {
|
|
185
188
|
throw new Error(`No route found for location ${location.href}`)
|
|
186
189
|
}
|
package/src/useNavigate.tsx
CHANGED
|
@@ -17,7 +17,7 @@ export function useNavigate<
|
|
|
17
17
|
const { navigate } = useRouter()
|
|
18
18
|
|
|
19
19
|
return ((options: NavigateOptions) => {
|
|
20
|
-
return navigate({ from: _defaultOpts?.from, ...options })
|
|
20
|
+
return navigate({ from: _defaultOpts?.from as any, ...options })
|
|
21
21
|
}) as UseNavigateResult<TDefaultFrom>
|
|
22
22
|
}
|
|
23
23
|
|