@tanstack/react-router 1.5.4 → 1.5.5
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/build/cjs/Matches.js +15 -14
- package/build/cjs/Matches.js.map +1 -1
- package/build/cjs/RouterProvider.js +6 -27
- package/build/cjs/RouterProvider.js.map +1 -1
- package/build/cjs/awaited.js +2 -2
- package/build/cjs/awaited.js.map +1 -1
- package/build/cjs/index.js +11 -7
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/link.js +4 -3
- package/build/cjs/link.js.map +1 -1
- package/build/cjs/router.js.map +1 -1
- package/build/cjs/routerContext.js +42 -0
- package/build/cjs/routerContext.js.map +1 -0
- package/build/cjs/scroll-restoration.js +3 -3
- package/build/cjs/scroll-restoration.js.map +1 -1
- package/build/cjs/useBlocker.js +2 -2
- package/build/cjs/useBlocker.js.map +1 -1
- package/build/cjs/useNavigate.js +3 -3
- package/build/cjs/useNavigate.js.map +1 -1
- package/build/cjs/useParams.js +2 -2
- package/build/cjs/useParams.js.map +1 -1
- package/build/cjs/useRouteContext.js +23 -0
- package/build/cjs/useRouteContext.js.map +1 -0
- package/build/cjs/useRouter.js +44 -0
- package/build/cjs/useRouter.js.map +1 -0
- package/build/cjs/useRouterState.js +24 -0
- package/build/cjs/useRouterState.js.map +1 -0
- package/build/cjs/utils.js +0 -8
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +192 -188
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +582 -431
- package/build/types/RouterProvider.d.ts +2 -13
- package/build/types/index.d.ts +4 -1
- package/build/types/router.d.ts +6 -5
- package/build/types/routerContext.d.ts +3 -0
- package/build/types/useRouteContext.d.ts +7 -0
- package/build/types/useRouter.d.ts +5 -0
- package/build/types/useRouterState.d.ts +6 -0
- package/build/types/utils.d.ts +0 -6
- package/build/umd/index.development.js +367 -363
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
- package/src/Matches.tsx +2 -1
- package/src/RouterProvider.tsx +8 -60
- package/src/awaited.tsx +1 -1
- package/src/index.tsx +4 -2
- package/src/link.tsx +8 -7
- package/src/router.ts +18 -5
- package/src/routerContext.tsx +11 -0
- package/src/scroll-restoration.tsx +1 -1
- package/src/useBlocker.tsx +1 -1
- package/src/useNavigate.tsx +1 -1
- package/src/useParams.tsx +1 -1
- package/src/useRouteContext.ts +24 -0
- package/src/useRouter.tsx +20 -0
- package/src/useRouterState.tsx +17 -0
- package/src/utils.ts +0 -24
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { NavigateOptions,
|
|
2
|
+
import { NavigateOptions, ToOptions } from './link';
|
|
3
3
|
import { ParsedLocation } from './location';
|
|
4
4
|
import { AnyRoute } from './route';
|
|
5
|
-
import {
|
|
5
|
+
import { RoutePaths } from './routeInfo';
|
|
6
6
|
import { RegisteredRouter, Router, RouterOptions, RouterState } from './router';
|
|
7
|
-
import { NoInfer } from './utils';
|
|
8
|
-
import { MatchRouteOptions } from './Matches';
|
|
9
7
|
import { RouteMatch } from './Matches';
|
|
10
8
|
export interface CommitLocationOptions {
|
|
11
9
|
replace?: boolean;
|
|
@@ -19,20 +17,11 @@ export interface MatchLocation {
|
|
|
19
17
|
from?: string;
|
|
20
18
|
}
|
|
21
19
|
export type NavigateFn<TRouteTree extends AnyRoute> = <TFrom extends RoutePaths<TRouteTree> | string = string, TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> | string = TFrom, TMaskTo extends string = ''>(opts: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>) => Promise<void>;
|
|
22
|
-
export type MatchRouteFn<TRouteTree extends AnyRoute> = <TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TResolved = ResolveRelativePath<TFrom, NoInfer<TTo>>>(location: ToOptions<TRouteTree, TFrom, TTo>, opts?: MatchRouteOptions) => false | RouteById<TRouteTree, TResolved>['types']['allParams'];
|
|
23
20
|
export type BuildLocationFn<TRouteTree extends AnyRoute> = (opts: ToOptions<TRouteTree>) => ParsedLocation;
|
|
24
21
|
export type InjectedHtmlEntry = string | (() => Promise<string> | string);
|
|
25
|
-
export declare let routerContext: React.Context<Router<any, Record<string, any>>>;
|
|
26
22
|
export declare function RouterProvider<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDehydrated extends Record<string, any> = Record<string, any>>({ router, ...rest }: RouterProps<TRouteTree, TDehydrated>): React.JSX.Element;
|
|
27
23
|
export declare function getRouteMatch<TRouteTree extends AnyRoute>(state: RouterState<TRouteTree>, id: string): undefined | RouteMatch<TRouteTree>;
|
|
28
|
-
export declare function useRouterState<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TSelected = RouterState<TRouteTree>>(opts?: {
|
|
29
|
-
router?: Router<TRouteTree>;
|
|
30
|
-
select: (state: RouterState<RegisteredRouter['routeTree']>) => TSelected;
|
|
31
|
-
}): TSelected;
|
|
32
24
|
export type RouterProps<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDehydrated extends Record<string, any> = Record<string, any>> = Omit<RouterOptions<TRouteTree, TDehydrated>, 'context'> & {
|
|
33
25
|
router: Router<TRouteTree>;
|
|
34
26
|
context?: Partial<RouterOptions<TRouteTree, TDehydrated>['context']>;
|
|
35
27
|
};
|
|
36
|
-
export declare function useRouter<TRouteTree extends AnyRoute = RegisteredRouter['routeTree']>(opts?: {
|
|
37
|
-
warn?: boolean;
|
|
38
|
-
}): Router<TRouteTree>;
|
package/build/types/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from './defer';
|
|
|
6
6
|
export * from './CatchBoundary';
|
|
7
7
|
export * from './fileRoute';
|
|
8
8
|
export * from './history';
|
|
9
|
-
export * from './index';
|
|
10
9
|
export * from './lazyRouteComponent';
|
|
11
10
|
export * from './link';
|
|
12
11
|
export * from './location';
|
|
@@ -24,4 +23,8 @@ export * from './useBlocker';
|
|
|
24
23
|
export * from './useNavigate';
|
|
25
24
|
export * from './useParams';
|
|
26
25
|
export * from './useSearch';
|
|
26
|
+
export * from './routerContext';
|
|
27
|
+
export * from './useRouteContext';
|
|
28
|
+
export * from './useRouter';
|
|
29
|
+
export * from './useRouterState';
|
|
27
30
|
export * from './utils';
|
package/build/types/router.d.ts
CHANGED
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
import { HistoryState, RouterHistory } from '@tanstack/history';
|
|
3
3
|
import { Store } from '@tanstack/store';
|
|
4
4
|
import { AnySearchSchema, AnyRoute, AnyContext, RouteMask } from './route';
|
|
5
|
-
import { FullSearchSchema, RoutesById, RoutesByPath } from './routeInfo';
|
|
5
|
+
import { FullSearchSchema, RouteById, RoutePaths, RoutesById, RoutesByPath } from './routeInfo';
|
|
6
6
|
import { PickAsRequired, Updater, NonNullableUpdater, Timeout } from './utils';
|
|
7
7
|
import { RouteComponent } from './route';
|
|
8
|
-
import { AnyRouteMatch, RouteMatch } from './Matches';
|
|
8
|
+
import { AnyRouteMatch, MatchRouteOptions, RouteMatch } from './Matches';
|
|
9
9
|
import { ParsedLocation } from './location';
|
|
10
10
|
import { SearchSerializer, SearchParser } from './searchParams';
|
|
11
|
-
import { BuildLocationFn, CommitLocationOptions, InjectedHtmlEntry,
|
|
12
|
-
import { ToOptions } from './link';
|
|
11
|
+
import { BuildLocationFn, CommitLocationOptions, InjectedHtmlEntry, NavigateFn } from './RouterProvider';
|
|
12
|
+
import { ResolveRelativePath, ToOptions } from './link';
|
|
13
|
+
import { NoInfer } from '@tanstack/react-store';
|
|
13
14
|
declare global {
|
|
14
15
|
interface Window {
|
|
15
16
|
__TSR_DEHYDRATED__?: HydrationCtx;
|
|
@@ -171,7 +172,7 @@ export declare class Router<TRouteTree extends AnyRoute = AnyRoute, TDehydrated
|
|
|
171
172
|
load: () => Promise<void>;
|
|
172
173
|
cleanCache: () => void;
|
|
173
174
|
preloadRoute: (navigateOpts?: ToOptions<TRouteTree>) => Promise<RouteMatch<AnyRoute, any>[]>;
|
|
174
|
-
matchRoute:
|
|
175
|
+
matchRoute: <TFrom extends RoutePaths<TRouteTree> = "/", TTo extends string = "", TResolved = ResolveRelativePath<TFrom, NoInfer<TTo>>>(location: ToOptions<TRouteTree, TFrom, TTo>, opts?: MatchRouteOptions) => false | RouteById<TRouteTree, TResolved>["types"]["allParams"];
|
|
175
176
|
injectHtml: (html: string | (() => Promise<string> | string)) => Promise<void>;
|
|
176
177
|
dehydrateData: <T>(key: any, getData: T | (() => T | Promise<T>)) => () => T | undefined;
|
|
177
178
|
hydrateData: <T extends unknown = unknown>(key: any) => T | undefined;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnyRoute } from './route';
|
|
2
|
+
import { RouteIds, RouteById } from './routeInfo';
|
|
3
|
+
import { RegisteredRouter } from './router';
|
|
4
|
+
import { StrictOrFrom } from './utils';
|
|
5
|
+
export declare function useRouteContext<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TRouteContext = RouteById<TRouteTree, TFrom>['types']['allContext'], TSelected = TRouteContext>(opts: StrictOrFrom<TFrom> & {
|
|
6
|
+
select?: (search: TRouteContext) => TSelected;
|
|
7
|
+
}): TSelected;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AnyRoute } from './route';
|
|
2
|
+
import { RegisteredRouter, Router, RouterState } from './router';
|
|
3
|
+
export declare function useRouterState<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TSelected = RouterState<TRouteTree>>(opts?: {
|
|
4
|
+
router?: Router<TRouteTree>;
|
|
5
|
+
select: (state: RouterState<RegisteredRouter['routeTree']>) => TSelected;
|
|
6
|
+
}): TSelected;
|
package/build/types/utils.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AnyRoute } from './route';
|
|
3
|
-
import { RouteIds, RouteById } from './routeInfo';
|
|
4
|
-
import { RegisteredRouter } from './router';
|
|
5
2
|
export type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
6
3
|
export type IsAny<T, Y, N = T> = 1 extends 0 & T ? Y : N;
|
|
7
4
|
export type PickAsRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
@@ -44,9 +41,6 @@ export type StrictOrFrom<TFrom> = {
|
|
|
44
41
|
from?: never;
|
|
45
42
|
strict: false;
|
|
46
43
|
};
|
|
47
|
-
export declare function useRouteContext<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TRouteContext = RouteById<TRouteTree, TFrom>['types']['allContext'], TSelected = TRouteContext>(opts: StrictOrFrom<TFrom> & {
|
|
48
|
-
select?: (search: TRouteContext) => TSelected;
|
|
49
|
-
}): TSelected;
|
|
50
44
|
export declare const useLayoutEffect: typeof React.useLayoutEffect;
|
|
51
45
|
export declare function escapeJSON(jsonString: string): string;
|
|
52
46
|
export {};
|