@tanstack/react-router 0.0.1-beta.19 → 0.0.1-beta.190

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.
@@ -0,0 +1,202 @@
1
+ import * as React from 'react';
2
+ import { NoInfer } from '@tanstack/react-store';
3
+ import { MatchRouteOptions, RegisteredRouter, RouterOptions, Router, RouteMatch, RouteByPath, AnyRoute, AnyRouteProps, LinkOptions, ToOptions, ResolveRelativePath, NavigateOptions, ResolveFullPath, ResolveId, AnySearchSchema, ParsePathParams, MergeFromFromParent, RouteContext, AnyContext, UseLoaderResult, ResolveFullSearchSchema, RouteConstraints, RoutePaths, RoutesById, RouteIds, RouteById, ParseRoute, AllParams, AnyPathParams, Expand, ResolveAllParams } from '@tanstack/router-core';
4
+ declare module '@tanstack/router-core' {
5
+ interface RouterOptions<TRouteTree extends AnyRoute, TDehydrated extends Record<string, any>> {
6
+ Wrap?: React.ComponentType<{
7
+ children: React.ReactNode;
8
+ dehydratedState?: TDehydrated;
9
+ }>;
10
+ }
11
+ interface RegisterRouteComponent<TLoader = unknown, TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> {
12
+ RouteComponent: RouteComponent<RouteProps<TLoader, TFullSearchSchema, TAllParams, TRouteContext, TAllContext>>;
13
+ }
14
+ interface RegisterErrorRouteComponent<TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> {
15
+ ErrorRouteComponent: RouteComponent<ErrorRouteProps<TFullSearchSchema, TAllParams, TRouteContext, TAllContext>>;
16
+ }
17
+ interface RegisterPendingRouteComponent<TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> {
18
+ PendingRouteComponent: RouteComponent<PendingRouteProps<TFullSearchSchema, TAllParams, TRouteContext, TAllContext>>;
19
+ }
20
+ interface Route<TParentRoute extends RouteConstraints['TParentRoute'] = AnyRoute, TPath extends RouteConstraints['TPath'] = '/', TFullPath extends RouteConstraints['TFullPath'] = ResolveFullPath<TParentRoute, TPath>, TCustomId extends RouteConstraints['TCustomId'] = string, TId extends RouteConstraints['TId'] = ResolveId<TParentRoute, TCustomId, TPath>, TLoader = unknown, TSearchSchema extends RouteConstraints['TSearchSchema'] = {}, TFullSearchSchema extends RouteConstraints['TFullSearchSchema'] = ResolveFullSearchSchema<TParentRoute, TSearchSchema>, TParams extends RouteConstraints['TParams'] = Expand<Record<ParsePathParams<TPath>, string>>, TAllParams extends RouteConstraints['TAllParams'] = ResolveAllParams<TParentRoute, TParams>, TParentContext extends RouteConstraints['TParentContext'] = TParentRoute['types']['routeContext'], TAllParentContext extends RouteConstraints['TAllParentContext'] = TParentRoute['types']['context'], TRouteContext extends RouteConstraints['TRouteContext'] = RouteContext, TAllContext extends RouteConstraints['TAllContext'] = MergeFromFromParent<TParentRoute['types']['context'], TRouteContext>, TRouterContext extends RouteConstraints['TRouterContext'] = AnyContext, TChildren extends RouteConstraints['TChildren'] = unknown, TRouteTree extends RouteConstraints['TRouteTree'] = AnyRoute> {
21
+ useMatch: <TSelected = TAllContext>(opts?: {
22
+ select?: (search: TAllContext) => TSelected;
23
+ }) => TSelected;
24
+ useLoader: <TSelected = TLoader>(opts?: {
25
+ select?: (search: TLoader) => TSelected;
26
+ }) => UseLoaderResult<TSelected>;
27
+ useContext: <TSelected = TAllContext>(opts?: {
28
+ select?: (search: TAllContext) => TSelected;
29
+ }) => TSelected;
30
+ useRouteContext: <TSelected = TRouteContext>(opts?: {
31
+ select?: (search: TRouteContext) => TSelected;
32
+ }) => TSelected;
33
+ useSearch: <TSelected = TFullSearchSchema>(opts?: {
34
+ select?: (search: TFullSearchSchema) => TSelected;
35
+ }) => TSelected;
36
+ useParams: <TSelected = TAllParams>(opts?: {
37
+ select?: (search: TAllParams) => TSelected;
38
+ }) => TSelected;
39
+ }
40
+ interface RegisterRouteProps<TLoader = unknown, TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> {
41
+ RouteProps: RouteProps<TLoader, TFullSearchSchema, TAllParams, TRouteContext, TAllContext>;
42
+ }
43
+ interface RegisterPendingRouteProps<TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> {
44
+ PendingRouteProps: PendingRouteProps<TFullSearchSchema, TAllParams, TRouteContext, TAllContext>;
45
+ }
46
+ interface RegisterErrorRouteProps<TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> {
47
+ ErrorRouteProps: ErrorRouteProps;
48
+ }
49
+ }
50
+ export type RouteProps<TLoader = unknown, TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> = {
51
+ useLoader: <TSelected = TLoader>(opts?: {
52
+ select?: (search: TLoader) => TSelected;
53
+ }) => UseLoaderResult<TSelected>;
54
+ useMatch: <TSelected = TAllContext>(opts?: {
55
+ select?: (search: TAllContext) => TSelected;
56
+ }) => TSelected;
57
+ useContext: <TSelected = TAllContext>(opts?: {
58
+ select?: (search: TAllContext) => TSelected;
59
+ }) => TSelected;
60
+ useRouteContext: <TSelected = TRouteContext>(opts?: {
61
+ select?: (search: TRouteContext) => TSelected;
62
+ }) => TSelected;
63
+ useSearch: <TSelected = TFullSearchSchema>(opts?: {
64
+ select?: (search: TFullSearchSchema) => TSelected;
65
+ }) => TSelected;
66
+ useParams: <TSelected = TAllParams>(opts?: {
67
+ select?: (search: TAllParams) => TSelected;
68
+ }) => TSelected;
69
+ };
70
+ export type ErrorRouteProps<TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> = {
71
+ error: unknown;
72
+ info: {
73
+ componentStack: string;
74
+ };
75
+ } & Omit<RouteProps<unknown, TFullSearchSchema, TAllParams, TRouteContext, TAllContext>, 'useLoader'>;
76
+ export type PendingRouteProps<TFullSearchSchema extends AnySearchSchema = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TRouteContext extends AnyContext = AnyContext, TAllContext extends AnyContext = AnyContext> = Omit<RouteProps<unknown, TFullSearchSchema, TAllParams, TRouteContext, TAllContext>, 'useLoader'>;
77
+ type ReactNode = any;
78
+ export type SyncRouteComponent<TProps> = ((props: TProps) => ReactNode) | React.LazyExoticComponent<(props: TProps) => ReactNode>;
79
+ export type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {
80
+ preload?: () => Promise<void>;
81
+ };
82
+ export type ErrorRouteComponent = AsyncRouteComponent<ErrorRouteComponentProps>;
83
+ export type ErrorRouteComponentProps = {
84
+ error: Error;
85
+ info: {
86
+ componentStack: string;
87
+ };
88
+ };
89
+ export type AnyRouteComponent = RouteComponent<AnyRouteProps>;
90
+ export type RouteComponent<TProps> = AsyncRouteComponent<TProps>;
91
+ export declare function lazyRouteComponent<T extends Record<string, any>, TKey extends keyof T = 'default'>(importer: () => Promise<T>, exportName?: TKey): T[TKey] extends (props: infer TProps) => any ? AsyncRouteComponent<TProps> : never;
92
+ export type LinkPropsOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = LinkOptions<RegisteredRouter['routeTree'], TFrom, TTo, TMaskFrom, TMaskTo> & {
93
+ activeProps?: React.AnchorHTMLAttributes<HTMLAnchorElement> | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>);
94
+ inactiveProps?: React.AnchorHTMLAttributes<HTMLAnchorElement> | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>);
95
+ startTransition?: boolean;
96
+ };
97
+ export type MakeUseMatchRouteOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = ToOptions<RegisteredRouter['routeTree'], TFrom, TTo, TMaskFrom, TMaskTo> & MatchRouteOptions;
98
+ export type MakeMatchRouteOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = ToOptions<RegisteredRouter['routeTree'], TFrom, TTo, TMaskFrom, TMaskTo> & MatchRouteOptions & {
99
+ children?: ((params?: RouteByPath<RegisteredRouter['routeTree'], ResolveRelativePath<TFrom, NoInfer<TTo>>>['types']['allParams']) => ReactNode) | React.ReactNode;
100
+ };
101
+ export type MakeLinkPropsOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = LinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & React.AnchorHTMLAttributes<HTMLAnchorElement>;
102
+ export type MakeLinkOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = LinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> & {
103
+ children?: React.ReactNode | ((state: {
104
+ isActive: boolean;
105
+ }) => React.ReactNode);
106
+ };
107
+ export type PromptProps = {
108
+ message: string;
109
+ condition?: boolean | any;
110
+ children?: ReactNode;
111
+ };
112
+ export declare function useLinkProps<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''>(options: MakeLinkPropsOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>): React.AnchorHTMLAttributes<HTMLAnchorElement>;
113
+ export interface LinkComponent<TProps extends Record<string, any> = {}> {
114
+ <TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''>(props: MakeLinkOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & TProps & React.RefAttributes<HTMLAnchorElement>): ReactNode;
115
+ }
116
+ export declare const Link: LinkComponent;
117
+ export declare function Navigate<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''>(props: NavigateOptions<RegisteredRouter['routeTree'], TFrom, TTo, TMaskFrom, TMaskTo>): null;
118
+ export declare const matchIdsContext: React.Context<string[]>;
119
+ export declare const routerContext: React.Context<import("@tanstack/router-core").AnyRouter>;
120
+ export type RouterProps<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDehydrated extends Record<string, any> = Record<string, any>> = Omit<RouterOptions<TRouteTree, TDehydrated>, 'context'> & {
121
+ router: Router<TRouteTree>;
122
+ context?: Partial<RouterOptions<TRouteTree, TDehydrated>['context']>;
123
+ };
124
+ export declare function useRouterState<TSelected = RegisteredRouter['state']>(opts?: {
125
+ select: (state: RegisteredRouter['state']) => TSelected;
126
+ }): TSelected;
127
+ export declare function RouterProvider<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDehydrated extends Record<string, any> = Record<string, any>>({ router, ...rest }: RouterProps<TRouteTree, TDehydrated>): JSX.Element;
128
+ export declare function useRouter(): RegisteredRouter;
129
+ export declare function useMatches<T = RouteMatch[]>(opts?: {
130
+ select?: (matches: RouteMatch[]) => T;
131
+ }): T;
132
+ type StrictOrFrom<TFrom> = {
133
+ from: TFrom;
134
+ strict?: true;
135
+ } | {
136
+ from?: never;
137
+ strict: false;
138
+ };
139
+ export declare function useMatch<TFrom extends RouteIds<RegisteredRouter['routeTree']>, TStrict extends boolean = true, TRouteMatchState = RouteMatch<RegisteredRouter['routeTree'], RouteById<RegisteredRouter['routeTree'], TFrom>>, TSelected = TRouteMatchState>(opts: StrictOrFrom<TFrom> & {
140
+ select?: (match: TRouteMatchState) => TSelected;
141
+ }): TStrict extends true ? TRouteMatchState : TRouteMatchState | undefined;
142
+ export type RouteFromIdOrRoute<T> = T extends ParseRoute<RegisteredRouter['routeTree']> ? T : T extends RouteIds<RegisteredRouter['routeTree']> ? RoutesById<RegisteredRouter['routeTree']>[T] : T extends string ? RouteIds<RegisteredRouter['routeTree']> : never;
143
+ export declare function useLoader<TFrom extends RouteIds<RegisteredRouter['routeTree']>, TStrict extends boolean = true, TLoader = RouteById<RegisteredRouter['routeTree'], TFrom>['types']['loader'], TSelected = TLoader>(opts: StrictOrFrom<TFrom> & {
144
+ select?: (search: TLoader) => TSelected;
145
+ }): TStrict extends true ? TSelected : TSelected | undefined;
146
+ export declare function useRouterContext<TFrom extends RouteIds<RegisteredRouter['routeTree']>, TStrict extends boolean = true, TContext = RouteById<RegisteredRouter['routeTree'], TFrom>['types']['context'], TSelected = TContext>(opts: StrictOrFrom<TFrom> & {
147
+ select?: (search: TContext) => TSelected;
148
+ }): TStrict extends true ? TSelected : TSelected | undefined;
149
+ export declare function useRouteContext<TFrom extends RouteIds<RegisteredRouter['routeTree']>, TStrict extends boolean = true, TRouteContext = RouteById<RegisteredRouter['routeTree'], TFrom>['types']['routeContext'], TSelected = TRouteContext>(opts: StrictOrFrom<TFrom> & {
150
+ select?: (search: TRouteContext) => TSelected;
151
+ }): TStrict extends true ? TSelected : TSelected | undefined;
152
+ export declare function useSearch<TFrom extends RouteIds<RegisteredRouter['routeTree']>, TStrict extends boolean = true, TSearch = RouteById<RegisteredRouter['routeTree'], TFrom>['types']['fullSearchSchema'], TSelected = TSearch>(opts: StrictOrFrom<TFrom> & {
153
+ select?: (search: TSearch) => TSelected;
154
+ }): TStrict extends true ? TSelected : TSelected | undefined;
155
+ export declare function useParams<TFrom extends RouteIds<RegisteredRouter['routeTree']> = '/', TDefaultSelected = AllParams<RegisteredRouter['routeTree']> & RouteById<RegisteredRouter['routeTree'], TFrom>['types']['allParams'], TSelected = TDefaultSelected>(opts: StrictOrFrom<TFrom> & {
156
+ select?: (search: TDefaultSelected) => TSelected;
157
+ }): TSelected;
158
+ export declare function useNavigate<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDefaultFrom extends RoutePaths<TRouteTree> = '/'>(defaultOpts?: {
159
+ from?: TDefaultFrom;
160
+ }): <TFrom extends RoutePaths<TRouteTree> = TDefaultFrom, TTo extends string = "", TMaskFrom extends RoutePaths<TRouteTree> = "/", TMaskTo extends string = "">(opts?: NavigateOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> | undefined) => Promise<void>;
161
+ 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: MakeUseMatchRouteOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>) => false | RouteById<TRouteTree, TResolved>["types"]["allParams"];
162
+ 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;
163
+ export declare function Outlet(): JSX.Element | null;
164
+ export declare function useInjectHtml(): (html: string | (() => Promise<string> | string)) => void;
165
+ export declare function useDehydrate(): <T>(key: any, data: T | (() => T | Promise<T>)) => () => T | undefined;
166
+ export declare function useHydrate(): <T = unknown>(key: any) => T;
167
+ export declare function CatchBoundary(props: {
168
+ resetKey: string;
169
+ children: any;
170
+ errorComponent?: any;
171
+ onCatch: (error: any) => void;
172
+ }): JSX.Element;
173
+ export declare class CatchBoundaryImpl extends React.Component<{
174
+ resetKey: string;
175
+ children: (props: {
176
+ error: any;
177
+ reset: () => void;
178
+ }) => any;
179
+ onCatch?: (error: any) => void;
180
+ }> {
181
+ state: any;
182
+ static getDerivedStateFromError(error: any): {
183
+ error: any;
184
+ };
185
+ componentDidUpdate(prevProps: Readonly<{
186
+ resetKey: string;
187
+ children: (props: {
188
+ error: any;
189
+ reset: () => void;
190
+ }) => any;
191
+ onCatch?: ((error: any, info: any) => void) | undefined;
192
+ }>, prevState: any): void;
193
+ componentDidCatch(error: any): void;
194
+ render(): any;
195
+ }
196
+ export declare function ErrorComponent({ error }: {
197
+ error: any;
198
+ }): JSX.Element;
199
+ export declare function useBlocker(message: string, condition?: boolean | any): void;
200
+ export declare function Block({ message, condition, children }: PromptProps): any;
201
+ export declare function shallow<T>(objA: T, objB: T): boolean;
202
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ScrollRestorationOptions } from '@tanstack/router-core';
2
+ export declare function useScrollRestoration(options?: ScrollRestorationOptions): void;
3
+ export declare function ScrollRestoration(props: ScrollRestorationOptions): null;