@tanstack/react-router 0.0.1-beta.83 → 1.0.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/LICENSE +1 -1
- package/build/cjs/CatchBoundary.js +128 -0
- package/build/cjs/CatchBoundary.js.map +1 -0
- package/build/cjs/Matches.js +233 -0
- package/build/cjs/Matches.js.map +1 -0
- package/build/cjs/RouterProvider.js +170 -0
- package/build/cjs/RouterProvider.js.map +1 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +2 -4
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/_virtual/with-selector.development.js +16 -0
- package/build/cjs/_virtual/with-selector.development.js.map +1 -0
- package/build/cjs/_virtual/with-selector.js +16 -0
- package/build/cjs/_virtual/with-selector.js.map +1 -0
- package/build/cjs/_virtual/with-selector.production.min.js +16 -0
- package/build/cjs/_virtual/with-selector.production.min.js.map +1 -0
- package/build/cjs/awaited.js +43 -0
- package/build/cjs/awaited.js.map +1 -0
- package/build/cjs/build/esm/index.js +79 -0
- package/build/cjs/build/esm/index.js.map +1 -0
- package/build/cjs/defer.js +37 -0
- package/build/cjs/defer.js.map +1 -0
- package/build/cjs/fileRoute.js +27 -0
- package/build/cjs/fileRoute.js.map +1 -0
- package/build/cjs/index.js +113 -451
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/lazyRouteComponent.js +54 -0
- package/build/cjs/lazyRouteComponent.js.map +1 -0
- package/build/cjs/link.js +223 -0
- package/build/cjs/link.js.map +1 -0
- package/build/cjs/node_modules/.pnpm/@tanstack_react-store@0.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/modern/index.js +47 -0
- package/build/cjs/node_modules/.pnpm/@tanstack_react-store@0.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@tanstack/react-store/build/modern/index.js.map +1 -0
- package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js +70 -0
- package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js.map +1 -0
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +188 -0
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js +39 -0
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js.map +1 -0
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/shim/with-selector.js +26 -0
- package/build/cjs/node_modules/.pnpm/use-sync-external-store@1.2.0_react@18.2.0/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
- package/build/cjs/packages/react-router/src/CatchBoundary.js +123 -0
- package/build/cjs/packages/react-router/src/CatchBoundary.js.map +1 -0
- package/build/cjs/packages/react-router/src/Matches.js +235 -0
- package/build/cjs/packages/react-router/src/Matches.js.map +1 -0
- package/build/cjs/packages/react-router/src/RouterProvider.js +144 -0
- package/build/cjs/packages/react-router/src/RouterProvider.js.map +1 -0
- package/build/cjs/packages/react-router/src/awaited.js +43 -0
- package/build/cjs/packages/react-router/src/awaited.js.map +1 -0
- package/build/cjs/packages/react-router/src/defer.js +37 -0
- package/build/cjs/packages/react-router/src/defer.js.map +1 -0
- package/build/cjs/packages/react-router/src/fileRoute.js +27 -0
- package/build/cjs/packages/react-router/src/fileRoute.js.map +1 -0
- package/build/cjs/packages/react-router/src/index.js +61 -0
- package/build/cjs/packages/react-router/src/index.js.map +1 -0
- package/build/cjs/packages/react-router/src/lazyRouteComponent.js +54 -0
- package/build/cjs/packages/react-router/src/lazyRouteComponent.js.map +1 -0
- package/build/cjs/packages/react-router/src/link.js +148 -0
- package/build/cjs/packages/react-router/src/link.js.map +1 -0
- package/build/cjs/packages/react-router/src/path.js +209 -0
- package/build/cjs/packages/react-router/src/path.js.map +1 -0
- package/build/cjs/packages/react-router/src/qss.js +63 -0
- package/build/cjs/packages/react-router/src/qss.js.map +1 -0
- package/build/cjs/packages/react-router/src/react.js +634 -0
- package/build/cjs/packages/react-router/src/react.js.map +1 -0
- package/build/cjs/packages/react-router/src/redirects.js +25 -0
- package/build/cjs/packages/react-router/src/redirects.js.map +1 -0
- package/build/cjs/packages/react-router/src/route.js +134 -0
- package/build/cjs/packages/react-router/src/route.js.map +1 -0
- package/build/cjs/packages/react-router/src/router.js +1111 -0
- package/build/cjs/packages/react-router/src/router.js.map +1 -0
- package/build/cjs/packages/react-router/src/scroll-restoration.js +53 -0
- package/build/cjs/packages/react-router/src/scroll-restoration.js.map +1 -0
- package/build/cjs/packages/react-router/src/searchParams.js +81 -0
- package/build/cjs/packages/react-router/src/searchParams.js.map +1 -0
- package/build/cjs/packages/react-router/src/useBlocker.js +61 -0
- package/build/cjs/packages/react-router/src/useBlocker.js.map +1 -0
- package/build/cjs/packages/react-router/src/useNavigate.js +75 -0
- package/build/cjs/packages/react-router/src/useNavigate.js.map +1 -0
- package/build/cjs/packages/react-router/src/useParams.js +26 -0
- package/build/cjs/packages/react-router/src/useParams.js.map +1 -0
- package/build/cjs/packages/react-router/src/useSearch.js +25 -0
- package/build/cjs/packages/react-router/src/useSearch.js.map +1 -0
- package/build/cjs/packages/react-router/src/utils.js +239 -0
- package/build/cjs/packages/react-router/src/utils.js.map +1 -0
- package/build/cjs/path.js +214 -0
- package/build/cjs/path.js.map +1 -0
- package/build/cjs/qss.js +63 -0
- package/build/cjs/qss.js.map +1 -0
- package/build/cjs/react/CatchBoundary.js +123 -0
- package/build/cjs/react/CatchBoundary.js.map +1 -0
- package/build/cjs/react/awaited.js +43 -0
- package/build/cjs/react/awaited.js.map +1 -0
- package/build/cjs/react/defer.js +37 -0
- package/build/cjs/react/defer.js.map +1 -0
- package/build/cjs/react.js +650 -0
- package/build/cjs/react.js.map +1 -0
- package/build/cjs/redirects.js +28 -0
- package/build/cjs/redirects.js.map +1 -0
- package/build/cjs/route.js +191 -0
- package/build/cjs/route.js.map +1 -0
- package/build/cjs/router.js +1085 -0
- package/build/cjs/router.js.map +1 -0
- package/build/cjs/routerConfig.js +209 -0
- package/build/cjs/routerConfig.js.map +1 -0
- package/build/cjs/scroll-restoration.js +202 -0
- package/build/cjs/scroll-restoration.js.map +1 -0
- package/build/cjs/searchParams.js +81 -0
- package/build/cjs/searchParams.js.map +1 -0
- package/build/cjs/src/CatchBoundary.js +126 -0
- package/build/cjs/src/CatchBoundary.js.map +1 -0
- package/build/cjs/src/Matches.js +235 -0
- package/build/cjs/src/Matches.js.map +1 -0
- package/build/cjs/src/RouterProvider.js +1051 -0
- package/build/cjs/src/RouterProvider.js.map +1 -0
- package/build/cjs/src/awaited.js +45 -0
- package/build/cjs/src/awaited.js.map +1 -0
- package/build/cjs/src/defer.js +39 -0
- package/build/cjs/src/defer.js.map +1 -0
- package/build/cjs/src/fileRoute.js +29 -0
- package/build/cjs/src/fileRoute.js.map +1 -0
- package/build/cjs/src/index.js +134 -0
- package/build/cjs/src/index.js.map +1 -0
- package/build/cjs/src/lazyRouteComponent.js +57 -0
- package/build/cjs/src/lazyRouteComponent.js.map +1 -0
- package/build/cjs/src/link.js +151 -0
- package/build/cjs/src/link.js.map +1 -0
- package/build/cjs/src/path.js +211 -0
- package/build/cjs/src/path.js.map +1 -0
- package/build/cjs/src/qss.js +65 -0
- package/build/cjs/src/qss.js.map +1 -0
- package/build/cjs/src/redirects.js +27 -0
- package/build/cjs/src/redirects.js.map +1 -0
- package/build/cjs/src/route.js +139 -0
- package/build/cjs/src/route.js.map +1 -0
- package/build/cjs/src/router.js +203 -0
- package/build/cjs/src/router.js.map +1 -0
- package/build/cjs/src/scroll-restoration.js +186 -0
- package/build/cjs/src/scroll-restoration.js.map +1 -0
- package/build/cjs/src/searchParams.js +83 -0
- package/build/cjs/src/searchParams.js.map +1 -0
- package/build/cjs/src/useBlocker.js +64 -0
- package/build/cjs/src/useBlocker.js.map +1 -0
- package/build/cjs/src/useNavigate.js +78 -0
- package/build/cjs/src/useNavigate.js.map +1 -0
- package/build/cjs/src/useParams.js +28 -0
- package/build/cjs/src/useParams.js.map +1 -0
- package/build/cjs/src/useSearch.js +27 -0
- package/build/cjs/src/useSearch.js.map +1 -0
- package/build/cjs/src/utils.js +230 -0
- package/build/cjs/src/utils.js.map +1 -0
- package/build/cjs/useBlocker.js +55 -0
- package/build/cjs/useBlocker.js.map +1 -0
- package/build/cjs/useNavigate.js +86 -0
- package/build/cjs/useNavigate.js.map +1 -0
- package/build/cjs/useParams.js +26 -0
- package/build/cjs/useParams.js.map +1 -0
- package/build/cjs/useSearch.js +25 -0
- package/build/cjs/useSearch.js.map +1 -0
- package/build/cjs/useStore.js +99 -0
- package/build/cjs/useStore.js.map +1 -0
- package/build/cjs/utils.js +241 -0
- package/build/cjs/utils.js.map +1 -0
- package/build/esm/index.js +2581 -337
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +3494 -2700
- package/build/stats-react.json +1134 -87
- package/build/types/CatchBoundary.d.ts +36 -0
- package/build/types/Matches.d.ts +64 -0
- package/build/types/RouteMatch.d.ts +23 -0
- package/build/types/RouterProvider.d.ts +35 -0
- package/build/types/awaited.d.ts +9 -0
- package/build/types/defer.d.ts +19 -0
- package/build/types/fileRoute.d.ts +38 -0
- package/build/types/history.d.ts +7 -0
- package/build/types/index.d.ts +911 -88
- package/build/types/injectHtml.d.ts +0 -0
- package/build/types/lazyRouteComponent.d.ts +2 -0
- package/build/types/link.d.ts +93 -0
- package/build/types/location.d.ts +12 -0
- package/build/types/path.d.ts +17 -0
- package/build/types/qss.d.ts +2 -0
- package/build/types/react/CatchBoundary.d.ts +33 -0
- package/build/types/react/awaited.d.ts +9 -0
- package/build/types/react/defer.d.ts +19 -0
- package/build/types/react.d.ts +141 -0
- package/build/types/redirects.d.ts +11 -0
- package/build/types/route.d.ts +283 -0
- package/build/types/routeInfo.d.ts +31 -0
- package/build/types/router.d.ts +186 -0
- package/build/types/scroll-restoration.d.ts +18 -0
- package/build/types/searchParams.d.ts +7 -0
- package/build/types/useBlocker.d.ts +9 -0
- package/build/types/useNavigate.d.ts +19 -0
- package/build/types/useParams.d.ts +7 -0
- package/build/types/useSearch.d.ts +7 -0
- package/build/types/useStore.d.ts +12 -0
- package/build/types/utils.d.ts +69 -0
- package/build/umd/index.development.js +2829 -1796
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +4 -24
- package/build/umd/index.production.js.map +1 -1
- package/package.json +9 -7
- package/src/CatchBoundary.tsx +101 -0
- package/src/Matches.tsx +423 -0
- package/src/RouterProvider.tsx +252 -0
- package/src/awaited.tsx +40 -0
- package/src/defer.ts +55 -0
- package/src/fileRoute.ts +152 -0
- package/src/history.ts +8 -0
- package/src/index.tsx +28 -747
- package/src/lazyRouteComponent.tsx +33 -0
- package/src/link.tsx +603 -0
- package/src/location.ts +13 -0
- package/src/path.ts +261 -0
- package/src/qss.ts +53 -0
- package/src/redirects.ts +39 -0
- package/src/route.ts +882 -0
- package/src/routeInfo.ts +84 -0
- package/src/router.ts +1671 -0
- package/src/scroll-restoration.tsx +230 -0
- package/src/searchParams.ts +79 -0
- package/src/useBlocker.tsx +27 -0
- package/src/useNavigate.tsx +111 -0
- package/src/useParams.tsx +25 -0
- package/src/useSearch.tsx +25 -0
- package/src/utils.ts +360 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare function CatchBoundary(props: {
|
|
3
|
+
getResetKey: () => string;
|
|
4
|
+
children: any;
|
|
5
|
+
errorComponent?: any;
|
|
6
|
+
onCatch: (error: any) => void;
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
export declare class CatchBoundaryImpl extends React.Component<{
|
|
9
|
+
getResetKey: () => string;
|
|
10
|
+
children: (props: {
|
|
11
|
+
error: any;
|
|
12
|
+
reset: () => void;
|
|
13
|
+
}) => any;
|
|
14
|
+
onCatch?: (error: any) => void;
|
|
15
|
+
}> {
|
|
16
|
+
state: any;
|
|
17
|
+
static getDerivedStateFromProps(props: any): {
|
|
18
|
+
resetKey: any;
|
|
19
|
+
};
|
|
20
|
+
static getDerivedStateFromError(error: any): {
|
|
21
|
+
error: any;
|
|
22
|
+
};
|
|
23
|
+
componentDidUpdate(prevProps: Readonly<{
|
|
24
|
+
getResetKey: () => string;
|
|
25
|
+
children: (props: {
|
|
26
|
+
error: any;
|
|
27
|
+
reset: () => void;
|
|
28
|
+
}) => any;
|
|
29
|
+
onCatch?: ((error: any, info: any) => void) | undefined;
|
|
30
|
+
}>, prevState: any): void;
|
|
31
|
+
componentDidCatch(error: any): void;
|
|
32
|
+
render(): any;
|
|
33
|
+
}
|
|
34
|
+
export declare function ErrorComponent({ error }: {
|
|
35
|
+
error: any;
|
|
36
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ResolveRelativePath, ToOptions } from './link';
|
|
3
|
+
import { AnyRoute, ReactNode } from './route';
|
|
4
|
+
import { FullSearchSchema, ParseRoute, RouteById, RouteByPath, RouteIds, RoutePaths } from './routeInfo';
|
|
5
|
+
import { RegisteredRouter } from './router';
|
|
6
|
+
import { NoInfer, StrictOrFrom } from './utils';
|
|
7
|
+
export declare const matchContext: React.Context<string | undefined>;
|
|
8
|
+
export interface RouteMatch<TRouteTree extends AnyRoute = AnyRoute, TRouteId extends RouteIds<TRouteTree> = ParseRoute<TRouteTree>['id']> {
|
|
9
|
+
id: string;
|
|
10
|
+
routeId: TRouteId;
|
|
11
|
+
pathname: string;
|
|
12
|
+
params: RouteById<TRouteTree, TRouteId>['types']['allParams'];
|
|
13
|
+
status: 'pending' | 'success' | 'error';
|
|
14
|
+
isFetching: boolean;
|
|
15
|
+
showPending: boolean;
|
|
16
|
+
error: unknown;
|
|
17
|
+
paramsError: unknown;
|
|
18
|
+
searchError: unknown;
|
|
19
|
+
updatedAt: number;
|
|
20
|
+
loadPromise?: Promise<void>;
|
|
21
|
+
loaderData?: RouteById<TRouteTree, TRouteId>['types']['loaderData'];
|
|
22
|
+
routeContext: RouteById<TRouteTree, TRouteId>['types']['routeContext'];
|
|
23
|
+
context: RouteById<TRouteTree, TRouteId>['types']['allContext'];
|
|
24
|
+
search: FullSearchSchema<TRouteTree> & RouteById<TRouteTree, TRouteId>['types']['fullSearchSchema'];
|
|
25
|
+
fetchCount: number;
|
|
26
|
+
abortController: AbortController;
|
|
27
|
+
cause: 'preload' | 'enter' | 'stay';
|
|
28
|
+
loaderDeps: RouteById<TRouteTree, TRouteId>['types']['loaderDeps'];
|
|
29
|
+
preload: boolean;
|
|
30
|
+
invalid: boolean;
|
|
31
|
+
}
|
|
32
|
+
export type AnyRouteMatch = RouteMatch<any, any>;
|
|
33
|
+
export declare function Matches(): React.JSX.Element;
|
|
34
|
+
export declare function Match({ matchId }: {
|
|
35
|
+
matchId: string;
|
|
36
|
+
}): React.JSX.Element;
|
|
37
|
+
export declare const Outlet: React.NamedExoticComponent<object>;
|
|
38
|
+
export interface MatchRouteOptions {
|
|
39
|
+
pending?: boolean;
|
|
40
|
+
caseSensitive?: boolean;
|
|
41
|
+
includeSearch?: boolean;
|
|
42
|
+
fuzzy?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export type UseMatchRouteOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = ToOptions<AnyRoute, TFrom, TTo, TMaskFrom, TMaskTo> & MatchRouteOptions;
|
|
45
|
+
export declare function useMatchRoute<TRouteTree extends AnyRoute = RegisteredRouter['routeTree']>(): <TFrom extends RoutePaths<TRouteTree> = "/", TTo extends string = "", TMaskFrom extends RoutePaths<TRouteTree> = "/", TMaskTo extends string = "", TResolved extends string = ResolveRelativePath<TFrom, NoInfer<TTo>>>(opts: UseMatchRouteOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>) => false | RouteById<TRouteTree, TResolved>["types"]["allParams"];
|
|
46
|
+
export type MakeMatchRouteOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = ToOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & MatchRouteOptions & {
|
|
47
|
+
children?: ((params?: RouteByPath<TRouteTree, ResolveRelativePath<TFrom, NoInfer<TTo>>>['types']['allParams']) => ReactNode) | React.ReactNode;
|
|
48
|
+
};
|
|
49
|
+
export declare function MatchRoute<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''>(props: MakeMatchRouteOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>): any;
|
|
50
|
+
export declare function useMatch<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TStrict extends boolean = true, TRouteMatchState = RouteMatch<TRouteTree, TFrom>, TSelected = TRouteMatchState>(opts: StrictOrFrom<TFrom> & {
|
|
51
|
+
select?: (match: TRouteMatchState) => TSelected;
|
|
52
|
+
}): TStrict extends true ? TSelected : TSelected | undefined;
|
|
53
|
+
export declare function useMatches<T = RouteMatch[]>(opts?: {
|
|
54
|
+
select?: (matches: RouteMatch[]) => T;
|
|
55
|
+
}): T;
|
|
56
|
+
export declare function useParentMatches<T = RouteMatch[]>(opts?: {
|
|
57
|
+
select?: (matches: RouteMatch[]) => T;
|
|
58
|
+
}): T;
|
|
59
|
+
export declare function useLoaderDeps<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TStrict extends boolean = true, TRouteMatch extends RouteMatch<TRouteTree, TFrom> = RouteMatch<TRouteTree, TFrom>, TSelected = Required<TRouteMatch>['loaderDeps']>(opts: StrictOrFrom<TFrom> & {
|
|
60
|
+
select?: (match: TRouteMatch) => TSelected;
|
|
61
|
+
}): TStrict extends true ? TSelected : TSelected | undefined;
|
|
62
|
+
export declare function useLoaderData<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TStrict extends boolean = true, TRouteMatch extends RouteMatch<TRouteTree, TFrom> = RouteMatch<TRouteTree, TFrom>, TSelected = Required<TRouteMatch>['loaderData']>(opts: StrictOrFrom<TFrom> & {
|
|
63
|
+
select?: (match: TRouteMatch) => TSelected;
|
|
64
|
+
}): TStrict extends true ? TSelected : TSelected | undefined;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AnyRoute } from './route';
|
|
2
|
+
import { ParseRoute, FullSearchSchema, RouteById, RouteIds } from './routeInfo';
|
|
3
|
+
export interface RouteMatch<TRouteTree extends AnyRoute = AnyRoute, TRouteId extends RouteIds<TRouteTree> = ParseRoute<TRouteTree>['id']> {
|
|
4
|
+
id: string;
|
|
5
|
+
routeId: TRouteId;
|
|
6
|
+
pathname: string;
|
|
7
|
+
params: RouteById<TRouteTree, TRouteId>['types']['allParams'];
|
|
8
|
+
status: 'pending' | 'success' | 'error';
|
|
9
|
+
isFetching: boolean;
|
|
10
|
+
invalid: boolean;
|
|
11
|
+
error: unknown;
|
|
12
|
+
paramsError: unknown;
|
|
13
|
+
searchError: unknown;
|
|
14
|
+
updatedAt: number;
|
|
15
|
+
loadPromise?: Promise<void>;
|
|
16
|
+
__resolveLoadPromise?: () => void;
|
|
17
|
+
context: RouteById<TRouteTree, TRouteId>['types']['allContext'];
|
|
18
|
+
routeSearch: RouteById<TRouteTree, TRouteId>['types']['searchSchema'];
|
|
19
|
+
search: FullSearchSchema<TRouteTree> & RouteById<TRouteTree, TRouteId>['types']['fullSearchSchema'];
|
|
20
|
+
fetchedAt: number;
|
|
21
|
+
abortController: AbortController;
|
|
22
|
+
}
|
|
23
|
+
export type AnyRouteMatch = RouteMatch<any>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { NavigateOptions, ResolveRelativePath, ToOptions } from './link';
|
|
3
|
+
import { ParsedLocation } from './location';
|
|
4
|
+
import { AnyRoute } from './route';
|
|
5
|
+
import { RouteById, RoutePaths } from './routeInfo';
|
|
6
|
+
import { RegisteredRouter, Router, RouterOptions, RouterState } from './router';
|
|
7
|
+
import { NoInfer } from './utils';
|
|
8
|
+
import { MatchRouteOptions } from './Matches';
|
|
9
|
+
import { RouteMatch } from './Matches';
|
|
10
|
+
export interface CommitLocationOptions {
|
|
11
|
+
replace?: boolean;
|
|
12
|
+
resetScroll?: boolean;
|
|
13
|
+
startTransition?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface MatchLocation {
|
|
16
|
+
to?: string | number | null;
|
|
17
|
+
fuzzy?: boolean;
|
|
18
|
+
caseSensitive?: boolean;
|
|
19
|
+
from?: string;
|
|
20
|
+
}
|
|
21
|
+
export type NavigateFn<TRouteTree extends AnyRoute> = <TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = 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
|
+
export type BuildLocationFn<TRouteTree extends AnyRoute> = (opts: ToOptions<TRouteTree>) => ParsedLocation;
|
|
24
|
+
export type InjectedHtmlEntry = string | (() => Promise<string> | string);
|
|
25
|
+
export declare let routerContext: React.Context<Router<any, Record<string, any>>>;
|
|
26
|
+
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
|
+
export declare function getRouteMatch<TRouteTree extends AnyRoute>(state: RouterState<TRouteTree>, id: string): undefined | RouteMatch<TRouteTree>;
|
|
28
|
+
export declare function useRouterState<TSelected = RouterState<RegisteredRouter['routeTree']>>(opts?: {
|
|
29
|
+
select: (state: RouterState<RegisteredRouter['routeTree']>) => TSelected;
|
|
30
|
+
}): TSelected;
|
|
31
|
+
export type RouterProps<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDehydrated extends Record<string, any> = Record<string, any>> = Omit<RouterOptions<TRouteTree, TDehydrated>, 'context'> & {
|
|
32
|
+
router: Router<TRouteTree>;
|
|
33
|
+
context?: Partial<RouterOptions<TRouteTree, TDehydrated>['context']>;
|
|
34
|
+
};
|
|
35
|
+
export declare function useRouter<TRouteTree extends AnyRoute = RegisteredRouter['routeTree']>(): Router<TRouteTree>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DeferredPromise } from './defer';
|
|
3
|
+
export type AwaitOptions<T> = {
|
|
4
|
+
promise: DeferredPromise<T>;
|
|
5
|
+
};
|
|
6
|
+
export declare function useAwaited<T>({ promise }: AwaitOptions<T>): [T];
|
|
7
|
+
export declare function Await<T>(props: AwaitOptions<T> & {
|
|
8
|
+
children: (result: T) => JSX.Element;
|
|
9
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type DeferredPromiseState<T> = {
|
|
2
|
+
uid: string;
|
|
3
|
+
} & ({
|
|
4
|
+
status: 'pending';
|
|
5
|
+
data?: T;
|
|
6
|
+
error?: unknown;
|
|
7
|
+
} | {
|
|
8
|
+
status: 'success';
|
|
9
|
+
data: T;
|
|
10
|
+
} | {
|
|
11
|
+
status: 'error';
|
|
12
|
+
data?: T;
|
|
13
|
+
error: unknown;
|
|
14
|
+
});
|
|
15
|
+
export type DeferredPromise<T> = Promise<T> & {
|
|
16
|
+
__deferredState: DeferredPromiseState<T>;
|
|
17
|
+
};
|
|
18
|
+
export declare function defer<T>(_promise: Promise<T>): DeferredPromise<T>;
|
|
19
|
+
export declare function isDehydratedDeferred(obj: any): boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ParsePathParams } from './link';
|
|
2
|
+
import { AnyRoute, ResolveFullPath, ResolveFullSearchSchema, MergeFromFromParent, RouteContext, AnyContext, RouteOptions, UpdatableRouteOptions, Route, RootRouteId, TrimPathLeft, RouteConstraints } from './route';
|
|
3
|
+
import { Assign, Expand, IsAny } from './utils';
|
|
4
|
+
export interface FileRoutesByPath {
|
|
5
|
+
}
|
|
6
|
+
type Replace<S extends string, From extends string, To extends string> = S extends `${infer Start}${From}${infer Rest}` ? `${Start}${To}${Replace<Rest, From, To>}` : S;
|
|
7
|
+
export type TrimLeft<T extends string, S extends string> = T extends `${S}${infer U}` ? U : T;
|
|
8
|
+
export type TrimRight<T extends string, S extends string> = T extends `${infer U}${S}` ? U : T;
|
|
9
|
+
export type Trim<T extends string, S extends string> = TrimLeft<TrimRight<T, S>, S>;
|
|
10
|
+
export type RemoveUnderScores<T extends string> = Replace<Replace<TrimRight<TrimLeft<T, '/_'>, '_'>, '_/', '/'>, '/_', '/'>;
|
|
11
|
+
export type ResolveFilePath<TParentRoute extends AnyRoute, TFilePath extends string> = TParentRoute['id'] extends RootRouteId ? TrimPathLeft<TFilePath> : Replace<TrimPathLeft<TFilePath>, TrimPathLeft<TParentRoute['types']['customId']>, ''>;
|
|
12
|
+
export type FileRoutePath<TParentRoute extends AnyRoute, TFilePath extends string> = ResolveFilePath<TParentRoute, TFilePath> extends `_${infer _}` ? string : ResolveFilePath<TParentRoute, TFilePath>;
|
|
13
|
+
export declare class FileRoute<TFilePath extends keyof FileRoutesByPath, TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'], TId extends RouteConstraints['TId'] = TFilePath, TPath extends RouteConstraints['TPath'] = FileRoutePath<TParentRoute, TFilePath>, TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, RemoveUnderScores<TPath>>> {
|
|
14
|
+
path: TFilePath;
|
|
15
|
+
constructor(path: TFilePath);
|
|
16
|
+
createRoute: <TSearchSchema extends import("./route").AnySearchSchema = {}, TFullSearchSchema extends import("./route").AnySearchSchema = ResolveFullSearchSchema<TParentRoute, TSearchSchema>, TParams extends Record<string, any> = Expand<Record<ParsePathParams<TPath>, string>>, TAllParams extends Record<string, any> = MergeFromFromParent<TParentRoute["types"]["allParams"], TParams>, TRouteContext extends RouteContext = RouteContext, TContext extends Expand<Assign<IsAny<TParentRoute["types"]["allContext"], {}>, TRouteContext>> = Expand<Assign<IsAny<TParentRoute["types"]["allContext"], {}>, TRouteContext>>, TRouterContext extends AnyContext = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderData extends unknown = unknown, TChildren extends unknown = unknown, TRouteTree extends AnyRoute = AnyRoute>(options?: (Omit<RouteOptions<TParentRoute, string, TPath, TSearchSchema, TFullSearchSchema, TParams, TAllParams, TRouteContext, TContext, TLoaderDeps, TLoaderData>, "path" | "id" | "getParentRoute"> & {
|
|
17
|
+
meta?: import("./route").RouteMeta | undefined;
|
|
18
|
+
} & {
|
|
19
|
+
caseSensitive?: boolean | undefined;
|
|
20
|
+
wrapInSuspense?: boolean | undefined;
|
|
21
|
+
component?: import("./route").RouteComponent<any> | undefined;
|
|
22
|
+
errorComponent?: false | import("./route").ErrorRouteComponent | null | undefined;
|
|
23
|
+
pendingComponent?: import("./route").RouteComponent<any> | undefined;
|
|
24
|
+
pendingMs?: number | undefined;
|
|
25
|
+
pendingMinMs?: number | undefined;
|
|
26
|
+
staleTime?: number | undefined;
|
|
27
|
+
gcTime?: number | undefined;
|
|
28
|
+
preloadStaleTime?: number | undefined;
|
|
29
|
+
preloadGcTime?: number | undefined;
|
|
30
|
+
preSearchFilters?: import("./route").SearchFilter<TFullSearchSchema, TFullSearchSchema>[] | undefined;
|
|
31
|
+
postSearchFilters?: import("./route").SearchFilter<TFullSearchSchema, TFullSearchSchema>[] | undefined;
|
|
32
|
+
onError?: ((err: any) => void) | undefined;
|
|
33
|
+
onEnter?: ((match: import("./Matches").AnyRouteMatch) => void) | undefined;
|
|
34
|
+
onStay?: ((match: import("./Matches").AnyRouteMatch) => void) | undefined;
|
|
35
|
+
onLeave?: ((match: import("./Matches").AnyRouteMatch) => void) | undefined;
|
|
36
|
+
}) | undefined) => Route<TParentRoute, TPath, TFullPath, TFilePath, TId, TSearchSchema, TFullSearchSchema, TParams, TAllParams, TRouteContext, TContext, TRouterContext, TLoaderDeps, TLoaderData, TChildren, TRouteTree>;
|
|
37
|
+
}
|
|
38
|
+
export {};
|