@tanstack/react-router 1.111.3 → 1.111.7

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 (74) hide show
  1. package/dist/cjs/Matches.cjs.map +1 -1
  2. package/dist/cjs/Matches.d.cts +9 -44
  3. package/dist/cjs/fileRoute.cjs +4 -1
  4. package/dist/cjs/fileRoute.cjs.map +1 -1
  5. package/dist/cjs/fileRoute.d.cts +5 -5
  6. package/dist/cjs/index.d.cts +4 -6
  7. package/dist/cjs/redirects.cjs.map +1 -1
  8. package/dist/cjs/redirects.d.cts +2 -16
  9. package/dist/cjs/route.cjs.map +1 -1
  10. package/dist/cjs/route.d.cts +8 -109
  11. package/dist/cjs/router.cjs.map +1 -1
  12. package/dist/cjs/router.d.cts +4 -5
  13. package/dist/cjs/typePrimitives.d.cts +3 -4
  14. package/dist/cjs/useLoaderData.cjs.map +1 -1
  15. package/dist/cjs/useLoaderData.d.cts +2 -5
  16. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  17. package/dist/cjs/useLoaderDeps.d.cts +2 -5
  18. package/dist/cjs/useMatch.cjs.map +1 -1
  19. package/dist/cjs/useMatch.d.cts +1 -3
  20. package/dist/cjs/useNavigate.cjs.map +1 -1
  21. package/dist/cjs/useNavigate.d.cts +1 -2
  22. package/dist/cjs/useParams.cjs.map +1 -1
  23. package/dist/cjs/useParams.d.cts +2 -5
  24. package/dist/cjs/useRouteContext.cjs.map +1 -1
  25. package/dist/cjs/useRouteContext.d.cts +1 -8
  26. package/dist/cjs/useSearch.cjs.map +1 -1
  27. package/dist/cjs/useSearch.d.cts +2 -5
  28. package/dist/cjs/utils.cjs.map +1 -1
  29. package/dist/cjs/utils.d.cts +0 -8
  30. package/dist/esm/Matches.d.ts +9 -44
  31. package/dist/esm/Matches.js.map +1 -1
  32. package/dist/esm/fileRoute.d.ts +5 -5
  33. package/dist/esm/fileRoute.js +4 -1
  34. package/dist/esm/fileRoute.js.map +1 -1
  35. package/dist/esm/index.d.ts +4 -6
  36. package/dist/esm/redirects.d.ts +2 -16
  37. package/dist/esm/redirects.js.map +1 -1
  38. package/dist/esm/route.d.ts +8 -109
  39. package/dist/esm/route.js.map +1 -1
  40. package/dist/esm/router.d.ts +4 -5
  41. package/dist/esm/router.js.map +1 -1
  42. package/dist/esm/typePrimitives.d.ts +3 -4
  43. package/dist/esm/useLoaderData.d.ts +2 -5
  44. package/dist/esm/useLoaderData.js.map +1 -1
  45. package/dist/esm/useLoaderDeps.d.ts +2 -5
  46. package/dist/esm/useLoaderDeps.js.map +1 -1
  47. package/dist/esm/useMatch.d.ts +1 -3
  48. package/dist/esm/useMatch.js.map +1 -1
  49. package/dist/esm/useNavigate.d.ts +1 -2
  50. package/dist/esm/useNavigate.js.map +1 -1
  51. package/dist/esm/useParams.d.ts +2 -5
  52. package/dist/esm/useParams.js.map +1 -1
  53. package/dist/esm/useRouteContext.d.ts +1 -8
  54. package/dist/esm/useRouteContext.js.map +1 -1
  55. package/dist/esm/useSearch.d.ts +2 -5
  56. package/dist/esm/useSearch.js.map +1 -1
  57. package/dist/esm/utils.d.ts +0 -8
  58. package/dist/esm/utils.js.map +1 -1
  59. package/package.json +2 -2
  60. package/src/Matches.tsx +9 -105
  61. package/src/fileRoute.ts +16 -13
  62. package/src/index.tsx +20 -18
  63. package/src/redirects.ts +4 -36
  64. package/src/route.ts +12 -531
  65. package/src/router.ts +9 -10
  66. package/src/typePrimitives.ts +6 -3
  67. package/src/useLoaderData.tsx +6 -20
  68. package/src/useLoaderDeps.tsx +6 -13
  69. package/src/useMatch.tsx +6 -3
  70. package/src/useNavigate.tsx +5 -12
  71. package/src/useParams.tsx +4 -22
  72. package/src/useRouteContext.ts +5 -36
  73. package/src/useSearch.tsx +4 -22
  74. package/src/utils.ts +0 -19
@@ -4,8 +4,11 @@ import type {
4
4
  ValidateSelected,
5
5
  } from './structuralSharing'
6
6
  import type { AnyRouter, RegisteredRouter } from './router'
7
- import type { AllLoaderData, Expand, RouteById } from '@tanstack/router-core'
8
- import type { StrictOrFrom } from './utils'
7
+ import type {
8
+ ResolveUseLoaderData,
9
+ StrictOrFrom,
10
+ UseLoaderDataResult,
11
+ } from '@tanstack/router-core'
9
12
 
10
13
  export interface UseLoaderDataBaseOptions<
11
14
  TRouter extends AnyRouter,
@@ -15,7 +18,7 @@ export interface UseLoaderDataBaseOptions<
15
18
  TStructuralSharing,
16
19
  > {
17
20
  select?: (
18
- match: ResolveLoaderData<TRouter, TFrom, TStrict>,
21
+ match: ResolveUseLoaderData<TRouter, TFrom, TStrict>,
19
22
  ) => ValidateSelected<TRouter, TSelected, TStructuralSharing>
20
23
  }
21
24
 
@@ -35,23 +38,6 @@ export type UseLoaderDataOptions<
35
38
  > &
36
39
  StructuralSharingOption<TRouter, TSelected, TStructuralSharing>
37
40
 
38
- export type ResolveLoaderData<
39
- TRouter extends AnyRouter,
40
- TFrom,
41
- TStrict extends boolean,
42
- > = TStrict extends false
43
- ? AllLoaderData<TRouter['routeTree']>
44
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['loaderData']>
45
-
46
- export type UseLoaderDataResult<
47
- TRouter extends AnyRouter,
48
- TFrom,
49
- TStrict extends boolean,
50
- TSelected,
51
- > = unknown extends TSelected
52
- ? ResolveLoaderData<TRouter, TFrom, TStrict>
53
- : TSelected
54
-
55
41
  export type UseLoaderDataRoute<out TId> = <
56
42
  TRouter extends AnyRouter = RegisteredRouter,
57
43
  TSelected = unknown,
@@ -4,8 +4,11 @@ import type {
4
4
  ValidateSelected,
5
5
  } from './structuralSharing'
6
6
  import type { AnyRouter, RegisteredRouter } from './router'
7
- import type { StrictOrFrom } from './utils'
8
- import type { Expand, RouteById } from '@tanstack/router-core'
7
+ import type {
8
+ ResolveUseLoaderDeps,
9
+ StrictOrFrom,
10
+ UseLoaderDepsResult,
11
+ } from '@tanstack/router-core'
9
12
 
10
13
  export interface UseLoaderDepsBaseOptions<
11
14
  TRouter extends AnyRouter,
@@ -14,7 +17,7 @@ export interface UseLoaderDepsBaseOptions<
14
17
  TStructuralSharing,
15
18
  > {
16
19
  select?: (
17
- deps: ResolveLoaderDeps<TRouter, TFrom>,
20
+ deps: ResolveUseLoaderDeps<TRouter, TFrom>,
18
21
  ) => ValidateSelected<TRouter, TSelected, TStructuralSharing>
19
22
  }
20
23
 
@@ -27,16 +30,6 @@ export type UseLoaderDepsOptions<
27
30
  UseLoaderDepsBaseOptions<TRouter, TFrom, TSelected, TStructuralSharing> &
28
31
  StructuralSharingOption<TRouter, TSelected, TStructuralSharing>
29
32
 
30
- export type ResolveLoaderDeps<TRouter extends AnyRouter, TFrom> = Expand<
31
- RouteById<TRouter['routeTree'], TFrom>['types']['loaderDeps']
32
- >
33
-
34
- export type UseLoaderDepsResult<
35
- TRouter extends AnyRouter,
36
- TFrom,
37
- TSelected,
38
- > = unknown extends TSelected ? ResolveLoaderDeps<TRouter, TFrom> : TSelected
39
-
40
33
  export type UseLoaderDepsRoute<out TId> = <
41
34
  TRouter extends AnyRouter = RegisteredRouter,
42
35
  TSelected = unknown,
package/src/useMatch.tsx CHANGED
@@ -7,9 +7,12 @@ import type {
7
7
  ValidateSelected,
8
8
  } from './structuralSharing'
9
9
  import type { AnyRouter, RegisteredRouter } from './router'
10
- import type { MakeRouteMatch, MakeRouteMatchUnion } from './Matches'
11
- import type { StrictOrFrom } from './utils'
12
- import type { ThrowOrOptional } from '@tanstack/router-core'
10
+ import type {
11
+ MakeRouteMatch,
12
+ MakeRouteMatchUnion,
13
+ StrictOrFrom,
14
+ ThrowOrOptional,
15
+ } from '@tanstack/router-core'
13
16
 
14
17
  export interface UseMatchBaseOptions<
15
18
  TRouter extends AnyRouter,
@@ -1,19 +1,12 @@
1
1
  import * as React from 'react'
2
2
  import { useRouter } from './useRouter'
3
- import type { FromPathOption, NavigateOptions } from '@tanstack/router-core'
3
+ import type {
4
+ FromPathOption,
5
+ NavigateOptions,
6
+ UseNavigateResult,
7
+ } from '@tanstack/router-core'
4
8
  import type { AnyRouter, RegisteredRouter } from './router'
5
9
 
6
- export type UseNavigateResult<TDefaultFrom extends string> = <
7
- TRouter extends RegisteredRouter,
8
- TTo extends string | undefined,
9
- TFrom extends string = TDefaultFrom,
10
- TMaskFrom extends string = TFrom,
11
- TMaskTo extends string = '',
12
- >({
13
- from,
14
- ...rest
15
- }: NavigateOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => Promise<void>
16
-
17
10
  export function useNavigate<
18
11
  TRouter extends AnyRouter = RegisteredRouter,
19
12
  TDefaultFrom extends string = string,
package/src/useParams.tsx CHANGED
@@ -5,12 +5,11 @@ import type {
5
5
  ValidateSelected,
6
6
  } from './structuralSharing'
7
7
  import type { AnyRouter, RegisteredRouter } from './router'
8
- import type { StrictOrFrom } from './utils'
9
8
  import type {
10
- AllParams,
11
- Expand,
12
- RouteById,
9
+ ResolveUseParams,
10
+ StrictOrFrom,
13
11
  ThrowOrOptional,
12
+ UseParamsResult,
14
13
  } from '@tanstack/router-core'
15
14
 
16
15
  export interface UseParamsBaseOptions<
@@ -22,7 +21,7 @@ export interface UseParamsBaseOptions<
22
21
  TStructuralSharing,
23
22
  > {
24
23
  select?: (
25
- params: ResolveParams<TRouter, TFrom, TStrict>,
24
+ params: ResolveUseParams<TRouter, TFrom, TStrict>,
26
25
  ) => ValidateSelected<TRouter, TSelected, TStructuralSharing>
27
26
  shouldThrow?: TThrow
28
27
  }
@@ -45,23 +44,6 @@ export type UseParamsOptions<
45
44
  > &
46
45
  StructuralSharingOption<TRouter, TSelected, TStructuralSharing>
47
46
 
48
- export type ResolveParams<
49
- TRouter extends AnyRouter,
50
- TFrom,
51
- TStrict extends boolean,
52
- > = TStrict extends false
53
- ? AllParams<TRouter['routeTree']>
54
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['allParams']>
55
-
56
- export type UseParamsResult<
57
- TRouter extends AnyRouter,
58
- TFrom,
59
- TStrict extends boolean,
60
- TSelected,
61
- > = unknown extends TSelected
62
- ? ResolveParams<TRouter, TFrom, TStrict>
63
- : TSelected
64
-
65
47
  export type UseParamsRoute<out TFrom> = <
66
48
  TRouter extends AnyRouter = RegisteredRouter,
67
49
  TSelected = unknown,
@@ -1,41 +1,10 @@
1
1
  import { useMatch } from './useMatch'
2
2
  import type { AnyRouter, RegisteredRouter } from './router'
3
- import type { StrictOrFrom } from './utils'
4
- import type { AllContext, Expand, RouteById } from '@tanstack/router-core'
5
-
6
- export interface UseRouteContextBaseOptions<
7
- TRouter extends AnyRouter,
8
- TFrom,
9
- TStrict extends boolean,
10
- TSelected,
11
- > {
12
- select?: (search: ResolveRouteContext<TRouter, TFrom, TStrict>) => TSelected
13
- }
14
-
15
- export type UseRouteContextOptions<
16
- TRouter extends AnyRouter,
17
- TFrom extends string | undefined,
18
- TStrict extends boolean,
19
- TSelected,
20
- > = StrictOrFrom<TRouter, TFrom, TStrict> &
21
- UseRouteContextBaseOptions<TRouter, TFrom, TStrict, TSelected>
22
-
23
- export type ResolveRouteContext<
24
- TRouter extends AnyRouter,
25
- TFrom,
26
- TStrict extends boolean,
27
- > = TStrict extends false
28
- ? AllContext<TRouter['routeTree']>
29
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['allContext']>
30
-
31
- export type UseRouteContextResult<
32
- TRouter extends AnyRouter,
33
- TFrom,
34
- TStrict extends boolean,
35
- TSelected,
36
- > = unknown extends TSelected
37
- ? ResolveRouteContext<TRouter, TFrom, TStrict>
38
- : TSelected
3
+ import type {
4
+ UseRouteContextBaseOptions,
5
+ UseRouteContextOptions,
6
+ UseRouteContextResult,
7
+ } from '@tanstack/router-core'
39
8
 
40
9
  export type UseRouteContextRoute<out TFrom> = <
41
10
  TRouter extends AnyRouter = RegisteredRouter,
package/src/useSearch.tsx CHANGED
@@ -5,12 +5,11 @@ import type {
5
5
  ValidateSelected,
6
6
  } from './structuralSharing'
7
7
  import type { AnyRouter, RegisteredRouter } from './router'
8
- import type { StrictOrFrom } from './utils'
9
8
  import type {
10
- Expand,
11
- FullSearchSchema,
12
- RouteById,
9
+ ResolveUseSearch,
10
+ StrictOrFrom,
13
11
  ThrowOrOptional,
12
+ UseSearchResult,
14
13
  } from '@tanstack/router-core'
15
14
 
16
15
  export interface UseSearchBaseOptions<
@@ -22,7 +21,7 @@ export interface UseSearchBaseOptions<
22
21
  TStructuralSharing,
23
22
  > {
24
23
  select?: (
25
- state: ResolveSearch<TRouter, TFrom, TStrict>,
24
+ state: ResolveUseSearch<TRouter, TFrom, TStrict>,
26
25
  ) => ValidateSelected<TRouter, TSelected, TStructuralSharing>
27
26
  shouldThrow?: TThrow
28
27
  }
@@ -45,23 +44,6 @@ export type UseSearchOptions<
45
44
  > &
46
45
  StructuralSharingOption<TRouter, TSelected, TStructuralSharing>
47
46
 
48
- export type UseSearchResult<
49
- TRouter extends AnyRouter,
50
- TFrom,
51
- TStrict extends boolean,
52
- TSelected,
53
- > = unknown extends TSelected
54
- ? ResolveSearch<TRouter, TFrom, TStrict>
55
- : TSelected
56
-
57
- export type ResolveSearch<
58
- TRouter extends AnyRouter,
59
- TFrom,
60
- TStrict extends boolean,
61
- > = TStrict extends false
62
- ? FullSearchSchema<TRouter['routeTree']>
63
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['fullSearchSchema']>
64
-
65
47
  export type UseSearchRoute<out TFrom> = <
66
48
  TRouter extends AnyRouter = RegisteredRouter,
67
49
  TSelected = unknown,
package/src/utils.ts CHANGED
@@ -1,9 +1,4 @@
1
1
  import * as React from 'react'
2
- import type {
3
- AnyRouter,
4
- ConstrainLiteral,
5
- RouteIds,
6
- } from '@tanstack/router-core'
7
2
 
8
3
  export function useStableCallback<T extends (...args: Array<any>) => any>(
9
4
  fn: T,
@@ -15,20 +10,6 @@ export function useStableCallback<T extends (...args: Array<any>) => any>(
15
10
  return ref.current as T
16
11
  }
17
12
 
18
- export type StrictOrFrom<
19
- TRouter extends AnyRouter,
20
- TFrom,
21
- TStrict extends boolean = true,
22
- > = TStrict extends false
23
- ? {
24
- from?: never
25
- strict: TStrict
26
- }
27
- : {
28
- from: ConstrainLiteral<TFrom, RouteIds<TRouter['routeTree']>>
29
- strict?: TStrict
30
- }
31
-
32
13
  export const useLayoutEffect =
33
14
  typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect
34
15