@tanstack/solid-router 1.111.4 → 1.111.6

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 (83) hide show
  1. package/dist/cjs/fileRoute.cjs +4 -1
  2. package/dist/cjs/fileRoute.cjs.map +1 -1
  3. package/dist/cjs/fileRoute.d.cts +4 -4
  4. package/dist/cjs/index.d.cts +1 -3
  5. package/dist/cjs/redirects.cjs.map +1 -1
  6. package/dist/cjs/redirects.d.cts +2 -16
  7. package/dist/cjs/route.cjs.map +1 -1
  8. package/dist/cjs/route.d.cts +1 -2
  9. package/dist/cjs/router.cjs.map +1 -1
  10. package/dist/cjs/router.d.cts +1 -2
  11. package/dist/cjs/typePrimitives.d.cts +3 -4
  12. package/dist/cjs/useLoaderData.cjs.map +1 -1
  13. package/dist/cjs/useLoaderData.d.cts +2 -4
  14. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  15. package/dist/cjs/useLoaderDeps.d.cts +2 -4
  16. package/dist/cjs/useNavigate.cjs.map +1 -1
  17. package/dist/cjs/useNavigate.d.cts +1 -2
  18. package/dist/cjs/useParams.cjs.map +1 -1
  19. package/dist/cjs/useParams.d.cts +2 -4
  20. package/dist/cjs/useRouteContext.cjs.map +1 -1
  21. package/dist/cjs/useRouteContext.d.cts +1 -8
  22. package/dist/cjs/useSearch.cjs.map +1 -1
  23. package/dist/cjs/useSearch.d.cts +2 -4
  24. package/dist/esm/fileRoute.d.ts +4 -4
  25. package/dist/esm/fileRoute.js +4 -1
  26. package/dist/esm/fileRoute.js.map +1 -1
  27. package/dist/esm/index.d.ts +1 -3
  28. package/dist/esm/redirects.d.ts +2 -16
  29. package/dist/esm/redirects.js.map +1 -1
  30. package/dist/esm/route.d.ts +1 -2
  31. package/dist/esm/route.js.map +1 -1
  32. package/dist/esm/router.d.ts +1 -2
  33. package/dist/esm/router.js.map +1 -1
  34. package/dist/esm/typePrimitives.d.ts +3 -4
  35. package/dist/esm/useLoaderData.d.ts +2 -4
  36. package/dist/esm/useLoaderData.js.map +1 -1
  37. package/dist/esm/useLoaderDeps.d.ts +2 -4
  38. package/dist/esm/useLoaderDeps.js.map +1 -1
  39. package/dist/esm/useNavigate.d.ts +1 -2
  40. package/dist/esm/useNavigate.js.map +1 -1
  41. package/dist/esm/useParams.d.ts +2 -4
  42. package/dist/esm/useParams.js.map +1 -1
  43. package/dist/esm/useRouteContext.d.ts +1 -8
  44. package/dist/esm/useRouteContext.js.map +1 -1
  45. package/dist/esm/useSearch.d.ts +2 -4
  46. package/dist/esm/useSearch.js.map +1 -1
  47. package/dist/source/fileRoute.d.ts +4 -4
  48. package/dist/source/fileRoute.js +4 -1
  49. package/dist/source/fileRoute.js.map +1 -1
  50. package/dist/source/index.d.ts +1 -3
  51. package/dist/source/index.jsx.map +1 -1
  52. package/dist/source/redirects.d.ts +2 -16
  53. package/dist/source/redirects.js.map +1 -1
  54. package/dist/source/route.d.ts +1 -2
  55. package/dist/source/route.js.map +1 -1
  56. package/dist/source/router.d.ts +1 -2
  57. package/dist/source/router.js.map +1 -1
  58. package/dist/source/typePrimitives.d.ts +3 -4
  59. package/dist/source/useLoaderData.d.ts +2 -4
  60. package/dist/source/useLoaderData.jsx.map +1 -1
  61. package/dist/source/useLoaderDeps.d.ts +2 -4
  62. package/dist/source/useLoaderDeps.jsx.map +1 -1
  63. package/dist/source/useNavigate.d.ts +1 -2
  64. package/dist/source/useNavigate.jsx.map +1 -1
  65. package/dist/source/useParams.d.ts +2 -4
  66. package/dist/source/useParams.jsx.map +1 -1
  67. package/dist/source/useRouteContext.d.ts +1 -8
  68. package/dist/source/useRouteContext.js.map +1 -1
  69. package/dist/source/useSearch.d.ts +2 -4
  70. package/dist/source/useSearch.jsx.map +1 -1
  71. package/package.json +2 -2
  72. package/src/fileRoute.ts +12 -6
  73. package/src/index.tsx +4 -2
  74. package/src/redirects.ts +4 -36
  75. package/src/route.ts +1 -2
  76. package/src/router.ts +2 -1
  77. package/src/typePrimitives.ts +5 -3
  78. package/src/useLoaderData.tsx +5 -19
  79. package/src/useLoaderDeps.tsx +5 -11
  80. package/src/useNavigate.tsx +5 -12
  81. package/src/useParams.tsx +3 -20
  82. package/src/useRouteContext.ts +5 -36
  83. package/src/useSearch.tsx +3 -21
package/src/router.ts CHANGED
@@ -40,6 +40,7 @@ import type { NoInfer } from '@tanstack/solid-store'
40
40
 
41
41
  import type {
42
42
  AnyContext,
43
+ AnyRedirect,
43
44
  AnySchema,
44
45
  AnyValidator,
45
46
  BuildLocationFn,
@@ -55,6 +56,7 @@ import type {
55
56
  PickAsRequired,
56
57
  Register,
57
58
  ResolveRelativePath,
59
+ ResolvedRedirect,
58
60
  RouteById,
59
61
  RoutePaths,
60
62
  RoutesById,
@@ -86,7 +88,6 @@ import type {
86
88
  MatchRouteOptions,
87
89
  } from './Matches'
88
90
 
89
- import type { AnyRedirect, ResolvedRedirect } from './redirects'
90
91
  import type { NotFoundError } from './not-found'
91
92
 
92
93
  declare global {
@@ -1,17 +1,19 @@
1
1
  import type { LinkComponentProps } from './link'
2
- import type { Redirect } from './redirects'
3
2
  import type { AnyRouter, RegisteredRouter } from './router'
4
- import type { UseParamsOptions, UseParamsResult } from './useParams'
5
- import type { UseSearchOptions, UseSearchResult } from './useSearch'
3
+ import type { UseParamsOptions } from './useParams'
4
+ import type { UseSearchOptions } from './useSearch'
6
5
  import type {
7
6
  Constrain,
8
7
  ConstrainLiteral,
9
8
  FromPathOption,
10
9
  NavigateOptions,
11
10
  PathParamOptions,
11
+ Redirect,
12
12
  RouteIds,
13
13
  SearchParamOptions,
14
14
  ToPathOption,
15
+ UseParamsResult,
16
+ UseSearchResult,
15
17
  } from '@tanstack/router-core'
16
18
 
17
19
  export type ValidateFromPath<
@@ -2,7 +2,10 @@ import { useMatch } from './useMatch'
2
2
  import type { Accessor } from 'solid-js'
3
3
  import type { AnyRouter, RegisteredRouter } from './router'
4
4
  import type { StrictOrFrom } from './utils'
5
- import type { AllLoaderData, Expand, RouteById } from '@tanstack/router-core'
5
+ import type {
6
+ ResolveUseLoaderData,
7
+ UseLoaderDataResult,
8
+ } from '@tanstack/router-core'
6
9
 
7
10
  export interface UseLoaderDataBaseOptions<
8
11
  TRouter extends AnyRouter,
@@ -10,7 +13,7 @@ export interface UseLoaderDataBaseOptions<
10
13
  TStrict extends boolean,
11
14
  TSelected,
12
15
  > {
13
- select?: (match: ResolveLoaderData<TRouter, TFrom, TStrict>) => TSelected
16
+ select?: (match: ResolveUseLoaderData<TRouter, TFrom, TStrict>) => TSelected
14
17
  }
15
18
 
16
19
  export type UseLoaderDataOptions<
@@ -21,23 +24,6 @@ export type UseLoaderDataOptions<
21
24
  > = StrictOrFrom<TRouter, TFrom, TStrict> &
22
25
  UseLoaderDataBaseOptions<TRouter, TFrom, TStrict, TSelected>
23
26
 
24
- export type ResolveLoaderData<
25
- TRouter extends AnyRouter,
26
- TFrom,
27
- TStrict extends boolean,
28
- > = TStrict extends false
29
- ? AllLoaderData<TRouter['routeTree']>
30
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['loaderData']>
31
-
32
- export type UseLoaderDataResult<
33
- TRouter extends AnyRouter,
34
- TFrom,
35
- TStrict extends boolean,
36
- TSelected,
37
- > = unknown extends TSelected
38
- ? ResolveLoaderData<TRouter, TFrom, TStrict>
39
- : TSelected
40
-
41
27
  export type UseLoaderDataRoute<out TId> = <
42
28
  TRouter extends AnyRouter = RegisteredRouter,
43
29
  TSelected = unknown,
@@ -1,14 +1,17 @@
1
1
  import { useMatch } from './useMatch'
2
2
  import type { AnyRouter, RegisteredRouter } from './router'
3
3
  import type { StrictOrFrom } from './utils'
4
- import type { Expand, RouteById } from '@tanstack/router-core'
4
+ import type {
5
+ ResolveUseLoaderDeps,
6
+ UseLoaderDepsResult,
7
+ } from '@tanstack/router-core'
5
8
 
6
9
  export interface UseLoaderDepsBaseOptions<
7
10
  TRouter extends AnyRouter,
8
11
  TFrom,
9
12
  TSelected,
10
13
  > {
11
- select?: (deps: ResolveLoaderDeps<TRouter, TFrom>) => TSelected
14
+ select?: (deps: ResolveUseLoaderDeps<TRouter, TFrom>) => TSelected
12
15
  }
13
16
 
14
17
  export type UseLoaderDepsOptions<
@@ -17,15 +20,6 @@ export type UseLoaderDepsOptions<
17
20
  TSelected,
18
21
  > = StrictOrFrom<TRouter, TFrom> &
19
22
  UseLoaderDepsBaseOptions<TRouter, TFrom, TSelected>
20
- export type ResolveLoaderDeps<TRouter extends AnyRouter, TFrom> = Expand<
21
- RouteById<TRouter['routeTree'], TFrom>['types']['loaderDeps']
22
- >
23
-
24
- export type UseLoaderDepsResult<
25
- TRouter extends AnyRouter,
26
- TFrom,
27
- TSelected,
28
- > = unknown extends TSelected ? ResolveLoaderDeps<TRouter, TFrom> : TSelected
29
23
 
30
24
  export type UseLoaderDepsRoute<out TId> = <
31
25
  TRouter extends AnyRouter = RegisteredRouter,
@@ -1,19 +1,12 @@
1
1
  import * as Solid from 'solid-js'
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
@@ -4,10 +4,9 @@ import type { Accessor } from 'solid-js'
4
4
  import type { AnyRouter, RegisteredRouter } from './router'
5
5
  import type { StrictOrFrom } from './utils'
6
6
  import type {
7
- AllParams,
8
- Expand,
9
- RouteById,
7
+ ResolveUseParams,
10
8
  ThrowOrOptional,
9
+ UseParamsResult,
11
10
  } from '@tanstack/router-core'
12
11
 
13
12
  export interface UseParamsBaseOptions<
@@ -17,7 +16,7 @@ export interface UseParamsBaseOptions<
17
16
  TThrow extends boolean,
18
17
  TSelected,
19
18
  > {
20
- select?: (params: ResolveParams<TRouter, TFrom, TStrict>) => TSelected
19
+ select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected
21
20
  shouldThrow?: TThrow
22
21
  }
23
22
 
@@ -29,22 +28,6 @@ export type UseParamsOptions<
29
28
  TSelected,
30
29
  > = StrictOrFrom<TRouter, TFrom, TStrict> &
31
30
  UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>
32
- export type ResolveParams<
33
- TRouter extends AnyRouter,
34
- TFrom,
35
- TStrict extends boolean,
36
- > = TStrict extends false
37
- ? AllParams<TRouter['routeTree']>
38
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['allParams']>
39
-
40
- export type UseParamsResult<
41
- TRouter extends AnyRouter,
42
- TFrom,
43
- TStrict extends boolean,
44
- TSelected,
45
- > = unknown extends TSelected
46
- ? ResolveParams<TRouter, TFrom, TStrict>
47
- : TSelected
48
31
 
49
32
  export type UseParamsRoute<out TFrom> = <
50
33
  TRouter extends AnyRouter = RegisteredRouter,
@@ -2,42 +2,11 @@ import { useMatch } from './useMatch'
2
2
  import type { Accessor } from 'solid-js'
3
3
 
4
4
  import type { AnyRouter, RegisteredRouter } from './router'
5
- import type { StrictOrFrom } from './utils'
6
- import type { AllContext, Expand, RouteById } from '@tanstack/router-core'
7
-
8
- export interface UseRouteContextBaseOptions<
9
- TRouter extends AnyRouter,
10
- TFrom,
11
- TStrict extends boolean,
12
- TSelected,
13
- > {
14
- select?: (search: ResolveRouteContext<TRouter, TFrom, TStrict>) => TSelected
15
- }
16
-
17
- export type UseRouteContextOptions<
18
- TRouter extends AnyRouter,
19
- TFrom extends string | undefined,
20
- TStrict extends boolean,
21
- TSelected,
22
- > = StrictOrFrom<TRouter, TFrom, TStrict> &
23
- UseRouteContextBaseOptions<TRouter, TFrom, TStrict, TSelected>
24
-
25
- export type ResolveRouteContext<
26
- TRouter extends AnyRouter,
27
- TFrom,
28
- TStrict extends boolean,
29
- > = TStrict extends false
30
- ? AllContext<TRouter['routeTree']>
31
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['allContext']>
32
-
33
- export type UseRouteContextResult<
34
- TRouter extends AnyRouter,
35
- TFrom,
36
- TStrict extends boolean,
37
- TSelected,
38
- > = unknown extends TSelected
39
- ? ResolveRouteContext<TRouter, TFrom, TStrict>
40
- : TSelected
5
+ import type {
6
+ UseRouteContextBaseOptions,
7
+ UseRouteContextOptions,
8
+ UseRouteContextResult,
9
+ } from '@tanstack/router-core'
41
10
 
42
11
  export type UseRouteContextRoute<out TFrom> = <
43
12
  TRouter extends AnyRouter = RegisteredRouter,
package/src/useSearch.tsx CHANGED
@@ -4,10 +4,9 @@ import type { Accessor } from 'solid-js'
4
4
  import type { AnyRouter, RegisteredRouter } from './router'
5
5
  import type { StrictOrFrom } from './utils'
6
6
  import type {
7
- Expand,
8
- FullSearchSchema,
9
- RouteById,
7
+ ResolveUseSearch,
10
8
  ThrowOrOptional,
9
+ UseSearchResult,
11
10
  } from '@tanstack/router-core'
12
11
 
13
12
  export interface UseSearchBaseOptions<
@@ -17,7 +16,7 @@ export interface UseSearchBaseOptions<
17
16
  TThrow extends boolean,
18
17
  TSelected,
19
18
  > {
20
- select?: (state: ResolveSearch<TRouter, TFrom, TStrict>) => TSelected
19
+ select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected
21
20
  shouldThrow?: TThrow
22
21
  }
23
22
 
@@ -30,23 +29,6 @@ export type UseSearchOptions<
30
29
  > = StrictOrFrom<TRouter, TFrom, TStrict> &
31
30
  UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>
32
31
 
33
- export type UseSearchResult<
34
- TRouter extends AnyRouter,
35
- TFrom,
36
- TStrict extends boolean,
37
- TSelected,
38
- > = unknown extends TSelected
39
- ? ResolveSearch<TRouter, TFrom, TStrict>
40
- : TSelected
41
-
42
- export type ResolveSearch<
43
- TRouter extends AnyRouter,
44
- TFrom,
45
- TStrict extends boolean,
46
- > = TStrict extends false
47
- ? FullSearchSchema<TRouter['routeTree']>
48
- : Expand<RouteById<TRouter['routeTree'], TFrom>['types']['fullSearchSchema']>
49
-
50
32
  export type UseSearchRoute<out TFrom> = <
51
33
  TRouter extends AnyRouter = RegisteredRouter,
52
34
  TSelected = unknown,