@tanstack/react-router 1.29.2 → 1.31.0
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/Matches.cjs.map +1 -1
- package/dist/cjs/Matches.d.cts +9 -9
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/RouterProvider.d.cts +7 -7
- package/dist/cjs/fileRoute.d.cts +1 -1
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/link.d.cts +42 -42
- package/dist/cjs/path.cjs +1 -1
- package/dist/cjs/path.cjs.map +1 -1
- package/dist/cjs/redirects.cjs.map +1 -1
- package/dist/cjs/redirects.d.cts +5 -6
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +6 -6
- package/dist/cjs/routeInfo.d.cts +19 -2
- package/dist/cjs/router.cjs +5 -1
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +13 -12
- package/dist/cjs/routerContext.cjs.map +1 -1
- package/dist/cjs/routerContext.d.cts +1 -1
- package/dist/cjs/useNavigate.cjs.map +1 -1
- package/dist/cjs/useNavigate.d.cts +3 -4
- package/dist/cjs/useRouter.cjs.map +1 -1
- package/dist/cjs/useRouter.d.cts +3 -4
- package/dist/cjs/useRouterState.cjs.map +1 -1
- package/dist/cjs/useRouterState.d.cts +3 -4
- package/dist/esm/Matches.d.ts +9 -9
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/RouterProvider.d.ts +7 -7
- package/dist/esm/RouterProvider.js.map +1 -1
- package/dist/esm/fileRoute.d.ts +1 -1
- package/dist/esm/link.d.ts +42 -42
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/path.js +1 -1
- package/dist/esm/path.js.map +1 -1
- package/dist/esm/redirects.d.ts +5 -6
- package/dist/esm/redirects.js.map +1 -1
- package/dist/esm/route.d.ts +6 -6
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/routeInfo.d.ts +19 -2
- package/dist/esm/router.d.ts +13 -12
- package/dist/esm/router.js +5 -1
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/routerContext.d.ts +1 -1
- package/dist/esm/routerContext.js.map +1 -1
- package/dist/esm/useNavigate.d.ts +3 -4
- package/dist/esm/useNavigate.js.map +1 -1
- package/dist/esm/useRouter.d.ts +3 -4
- package/dist/esm/useRouter.js.map +1 -1
- package/dist/esm/useRouterState.d.ts +3 -4
- package/dist/esm/useRouterState.js.map +1 -1
- package/package.json +1 -1
- package/src/Matches.tsx +39 -21
- package/src/RouterProvider.tsx +34 -11
- package/src/link.tsx +124 -139
- package/src/path.ts +1 -1
- package/src/redirects.ts +14 -14
- package/src/route.ts +3 -3
- package/src/routeInfo.ts +72 -4
- package/src/router.ts +59 -13
- package/src/routerContext.tsx +1 -1
- package/src/useNavigate.tsx +9 -10
- package/src/useRouter.tsx +4 -5
- package/src/useRouterState.tsx +5 -6
package/src/Matches.tsx
CHANGED
|
@@ -428,37 +428,39 @@ export interface MatchRouteOptions {
|
|
|
428
428
|
}
|
|
429
429
|
|
|
430
430
|
export type UseMatchRouteOptions<
|
|
431
|
-
|
|
432
|
-
TFrom extends RoutePaths<
|
|
431
|
+
TRouter extends AnyRouter = RegisteredRouter,
|
|
432
|
+
TFrom extends RoutePaths<TRouter['routeTree']> = RoutePaths<
|
|
433
|
+
TRouter['routeTree']
|
|
434
|
+
>,
|
|
433
435
|
TTo extends string = '',
|
|
434
|
-
TMaskFrom extends RoutePaths<
|
|
436
|
+
TMaskFrom extends RoutePaths<TRouter['routeTree']> = TFrom,
|
|
435
437
|
TMaskTo extends string = '',
|
|
436
438
|
TOptions extends ToOptions<
|
|
437
|
-
|
|
439
|
+
TRouter,
|
|
438
440
|
TFrom,
|
|
439
441
|
TTo,
|
|
440
442
|
TMaskFrom,
|
|
441
443
|
TMaskTo
|
|
442
|
-
> = ToOptions<
|
|
444
|
+
> = ToOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,
|
|
443
445
|
TRelaxedOptions = Omit<TOptions, 'search' | 'params'> &
|
|
444
446
|
DeepPartial<Pick<TOptions, 'search' | 'params'>>,
|
|
445
447
|
> = TRelaxedOptions & MatchRouteOptions
|
|
446
448
|
|
|
447
|
-
export function useMatchRoute<
|
|
448
|
-
TRouteTree extends AnyRoute = RegisteredRouter['routeTree'],
|
|
449
|
-
>() {
|
|
449
|
+
export function useMatchRoute<TRouter extends AnyRouter = RegisteredRouter>() {
|
|
450
450
|
const router = useRouter()
|
|
451
451
|
|
|
452
452
|
return React.useCallback(
|
|
453
453
|
<
|
|
454
|
-
TFrom extends RoutePaths<
|
|
454
|
+
TFrom extends RoutePaths<TRouter['routeTree']> | string = string,
|
|
455
455
|
TTo extends string = '',
|
|
456
|
-
TMaskFrom extends RoutePaths<
|
|
456
|
+
TMaskFrom extends RoutePaths<TRouter['routeTree']> | string = TFrom,
|
|
457
457
|
TMaskTo extends string = '',
|
|
458
458
|
TResolved extends string = ResolveRelativePath<TFrom, NoInfer<TTo>>,
|
|
459
459
|
>(
|
|
460
|
-
opts: UseMatchRouteOptions<
|
|
461
|
-
):
|
|
460
|
+
opts: UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,
|
|
461
|
+
):
|
|
462
|
+
| false
|
|
463
|
+
| RouteById<TRouter['routeTree'], TResolved>['types']['allParams'] => {
|
|
462
464
|
const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts
|
|
463
465
|
|
|
464
466
|
return router.matchRoute(rest as any, {
|
|
@@ -473,17 +475,25 @@ export function useMatchRoute<
|
|
|
473
475
|
}
|
|
474
476
|
|
|
475
477
|
export type MakeMatchRouteOptions<
|
|
476
|
-
|
|
477
|
-
TFrom extends RoutePaths<
|
|
478
|
+
TRouter extends AnyRouter = RegisteredRouter,
|
|
479
|
+
TFrom extends RoutePaths<TRouter['routeTree']> = RoutePaths<
|
|
480
|
+
TRouter['routeTree']
|
|
481
|
+
>,
|
|
478
482
|
TTo extends string = '',
|
|
479
|
-
TMaskFrom extends RoutePaths<
|
|
483
|
+
TMaskFrom extends RoutePaths<TRouter['routeTree']> = TFrom,
|
|
480
484
|
TMaskTo extends string = '',
|
|
481
|
-
> = UseMatchRouteOptions<
|
|
485
|
+
> = UseMatchRouteOptions<
|
|
486
|
+
TRouter['routeTree'],
|
|
487
|
+
TFrom,
|
|
488
|
+
TTo,
|
|
489
|
+
TMaskFrom,
|
|
490
|
+
TMaskTo
|
|
491
|
+
> & {
|
|
482
492
|
// If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns
|
|
483
493
|
children?:
|
|
484
494
|
| ((
|
|
485
495
|
params?: RouteByPath<
|
|
486
|
-
|
|
496
|
+
TRouter['routeTree'],
|
|
487
497
|
ResolveRelativePath<TFrom, NoInfer<TTo>>
|
|
488
498
|
>['types']['allParams'],
|
|
489
499
|
) => ReactNode)
|
|
@@ -491,13 +501,21 @@ export type MakeMatchRouteOptions<
|
|
|
491
501
|
}
|
|
492
502
|
|
|
493
503
|
export function MatchRoute<
|
|
494
|
-
|
|
495
|
-
TFrom extends RoutePaths<
|
|
504
|
+
TRouter extends AnyRouter = RegisteredRouter,
|
|
505
|
+
TFrom extends RoutePaths<TRouter['routeTree']> = RoutePaths<
|
|
506
|
+
TRouter['routeTree']
|
|
507
|
+
>,
|
|
496
508
|
TTo extends string = '',
|
|
497
|
-
TMaskFrom extends RoutePaths<
|
|
509
|
+
TMaskFrom extends RoutePaths<TRouter['routeTree']> = TFrom,
|
|
498
510
|
TMaskTo extends string = '',
|
|
499
511
|
>(
|
|
500
|
-
props: MakeMatchRouteOptions<
|
|
512
|
+
props: MakeMatchRouteOptions<
|
|
513
|
+
TRouter['routeTree'],
|
|
514
|
+
TFrom,
|
|
515
|
+
TTo,
|
|
516
|
+
TMaskFrom,
|
|
517
|
+
TMaskTo
|
|
518
|
+
>,
|
|
501
519
|
): any {
|
|
502
520
|
const matchRoute = useMatchRoute()
|
|
503
521
|
const params = matchRoute(props as any)
|
package/src/RouterProvider.tsx
CHANGED
|
@@ -10,6 +10,7 @@ import type { ParsedLocation } from './location'
|
|
|
10
10
|
import type { AnyRoute } from './route'
|
|
11
11
|
import type { RoutePaths } from './routeInfo'
|
|
12
12
|
import type {
|
|
13
|
+
AnyRouter,
|
|
13
14
|
RegisteredRouter,
|
|
14
15
|
Router,
|
|
15
16
|
RouterOptions,
|
|
@@ -37,12 +38,12 @@ export interface MatchLocation {
|
|
|
37
38
|
|
|
38
39
|
export type NavigateFn = <
|
|
39
40
|
TTo extends string,
|
|
40
|
-
|
|
41
|
-
TFrom extends RoutePaths<
|
|
42
|
-
TMaskFrom extends RoutePaths<
|
|
41
|
+
TRouter extends AnyRouter = RegisteredRouter,
|
|
42
|
+
TFrom extends RoutePaths<TRouter['routeTree']> | string = string,
|
|
43
|
+
TMaskFrom extends RoutePaths<TRouter['routeTree']> | string = TFrom,
|
|
43
44
|
TMaskTo extends string = '',
|
|
44
45
|
>(
|
|
45
|
-
opts: NavigateOptions<
|
|
46
|
+
opts: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,
|
|
46
47
|
) => Promise<void>
|
|
47
48
|
|
|
48
49
|
export type BuildLocationFn<TRouteTree extends AnyRoute> = <
|
|
@@ -51,7 +52,13 @@ export type BuildLocationFn<TRouteTree extends AnyRoute> = <
|
|
|
51
52
|
TMaskFrom extends RoutePaths<TRouteTree> | string = TFrom,
|
|
52
53
|
TMaskTo extends string = '',
|
|
53
54
|
>(
|
|
54
|
-
opts: ToOptions<
|
|
55
|
+
opts: ToOptions<
|
|
56
|
+
Router<TRouteTree, 'never'>,
|
|
57
|
+
TFrom,
|
|
58
|
+
TTo,
|
|
59
|
+
TMaskFrom,
|
|
60
|
+
TMaskTo
|
|
61
|
+
> & {
|
|
55
62
|
leaveParams?: boolean
|
|
56
63
|
},
|
|
57
64
|
) => ParsedLocation
|
|
@@ -59,9 +66,9 @@ export type BuildLocationFn<TRouteTree extends AnyRoute> = <
|
|
|
59
66
|
export type InjectedHtmlEntry = string | (() => Promise<string> | string)
|
|
60
67
|
|
|
61
68
|
export function RouterProvider<
|
|
62
|
-
|
|
69
|
+
TRouter extends AnyRouter = RegisteredRouter,
|
|
63
70
|
TDehydrated extends Record<string, any> = Record<string, any>,
|
|
64
|
-
>({ router, ...rest }: RouterProps<
|
|
71
|
+
>({ router, ...rest }: RouterProps<TRouter, TDehydrated>) {
|
|
65
72
|
// Allow the router to update options on the router instance
|
|
66
73
|
router.update({
|
|
67
74
|
...router.options,
|
|
@@ -238,11 +245,27 @@ export function getRouteMatch<TRouteTree extends AnyRoute>(
|
|
|
238
245
|
}
|
|
239
246
|
|
|
240
247
|
export type RouterProps<
|
|
241
|
-
|
|
248
|
+
TRouter extends AnyRouter = RegisteredRouter,
|
|
242
249
|
TDehydrated extends Record<string, any> = Record<string, any>,
|
|
243
|
-
> = Omit<
|
|
244
|
-
|
|
245
|
-
|
|
250
|
+
> = Omit<
|
|
251
|
+
RouterOptions<
|
|
252
|
+
TRouter['routeTree'],
|
|
253
|
+
NonNullable<TRouter['options']['trailingSlash']>,
|
|
254
|
+
TDehydrated
|
|
255
|
+
>,
|
|
256
|
+
'context'
|
|
257
|
+
> & {
|
|
258
|
+
router: Router<
|
|
259
|
+
TRouter['routeTree'],
|
|
260
|
+
NonNullable<TRouter['options']['trailingSlash']>
|
|
261
|
+
>
|
|
262
|
+
context?: Partial<
|
|
263
|
+
RouterOptions<
|
|
264
|
+
TRouter['routeTree'],
|
|
265
|
+
NonNullable<TRouter['options']['trailingSlash']>,
|
|
266
|
+
TDehydrated
|
|
267
|
+
>['context']
|
|
268
|
+
>
|
|
246
269
|
}
|
|
247
270
|
|
|
248
271
|
function usePrevious<T>(value: T) {
|