@tanstack/react-router 1.0.0 → 1.0.1

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 (136) hide show
  1. package/build/cjs/RouterProvider.js +3 -1
  2. package/build/cjs/RouterProvider.js.map +1 -1
  3. package/build/esm/index.js +3 -1
  4. package/build/esm/index.js.map +1 -1
  5. package/build/stats-html.html +1 -1
  6. package/build/stats-react.json +361 -361
  7. package/build/types/index.d.ts +24 -932
  8. package/build/umd/index.development.js +3 -1
  9. package/build/umd/index.development.js.map +1 -1
  10. package/build/umd/index.production.js +1 -1
  11. package/build/umd/index.production.js.map +1 -1
  12. package/package.json +2 -2
  13. package/src/RouterProvider.tsx +3 -1
  14. package/build/cjs/_virtual/with-selector.development.js +0 -16
  15. package/build/cjs/_virtual/with-selector.development.js.map +0 -1
  16. package/build/cjs/_virtual/with-selector.js +0 -16
  17. package/build/cjs/_virtual/with-selector.js.map +0 -1
  18. package/build/cjs/_virtual/with-selector.production.min.js +0 -16
  19. package/build/cjs/_virtual/with-selector.production.min.js.map +0 -1
  20. package/build/cjs/build/esm/index.js +0 -79
  21. package/build/cjs/build/esm/index.js.map +0 -1
  22. 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 +0 -47
  23. 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 +0 -1
  24. package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js +0 -70
  25. package/build/cjs/node_modules/.pnpm/@tanstack_store@0.1.3/node_modules/@tanstack/store/build/modern/index.js.map +0 -1
  26. 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 +0 -188
  27. 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 +0 -1
  28. 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 +0 -39
  29. 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 +0 -1
  30. 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 +0 -26
  31. 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 +0 -1
  32. package/build/cjs/packages/react-router/src/CatchBoundary.js +0 -123
  33. package/build/cjs/packages/react-router/src/CatchBoundary.js.map +0 -1
  34. package/build/cjs/packages/react-router/src/Matches.js +0 -235
  35. package/build/cjs/packages/react-router/src/Matches.js.map +0 -1
  36. package/build/cjs/packages/react-router/src/RouterProvider.js +0 -144
  37. package/build/cjs/packages/react-router/src/RouterProvider.js.map +0 -1
  38. package/build/cjs/packages/react-router/src/awaited.js +0 -43
  39. package/build/cjs/packages/react-router/src/awaited.js.map +0 -1
  40. package/build/cjs/packages/react-router/src/defer.js +0 -37
  41. package/build/cjs/packages/react-router/src/defer.js.map +0 -1
  42. package/build/cjs/packages/react-router/src/fileRoute.js +0 -27
  43. package/build/cjs/packages/react-router/src/fileRoute.js.map +0 -1
  44. package/build/cjs/packages/react-router/src/index.js +0 -61
  45. package/build/cjs/packages/react-router/src/index.js.map +0 -1
  46. package/build/cjs/packages/react-router/src/lazyRouteComponent.js +0 -54
  47. package/build/cjs/packages/react-router/src/lazyRouteComponent.js.map +0 -1
  48. package/build/cjs/packages/react-router/src/link.js +0 -148
  49. package/build/cjs/packages/react-router/src/link.js.map +0 -1
  50. package/build/cjs/packages/react-router/src/path.js +0 -209
  51. package/build/cjs/packages/react-router/src/path.js.map +0 -1
  52. package/build/cjs/packages/react-router/src/qss.js +0 -63
  53. package/build/cjs/packages/react-router/src/qss.js.map +0 -1
  54. package/build/cjs/packages/react-router/src/react.js +0 -634
  55. package/build/cjs/packages/react-router/src/react.js.map +0 -1
  56. package/build/cjs/packages/react-router/src/redirects.js +0 -25
  57. package/build/cjs/packages/react-router/src/redirects.js.map +0 -1
  58. package/build/cjs/packages/react-router/src/route.js +0 -134
  59. package/build/cjs/packages/react-router/src/route.js.map +0 -1
  60. package/build/cjs/packages/react-router/src/router.js +0 -1111
  61. package/build/cjs/packages/react-router/src/router.js.map +0 -1
  62. package/build/cjs/packages/react-router/src/scroll-restoration.js +0 -53
  63. package/build/cjs/packages/react-router/src/scroll-restoration.js.map +0 -1
  64. package/build/cjs/packages/react-router/src/searchParams.js +0 -81
  65. package/build/cjs/packages/react-router/src/searchParams.js.map +0 -1
  66. package/build/cjs/packages/react-router/src/useBlocker.js +0 -61
  67. package/build/cjs/packages/react-router/src/useBlocker.js.map +0 -1
  68. package/build/cjs/packages/react-router/src/useNavigate.js +0 -75
  69. package/build/cjs/packages/react-router/src/useNavigate.js.map +0 -1
  70. package/build/cjs/packages/react-router/src/useParams.js +0 -26
  71. package/build/cjs/packages/react-router/src/useParams.js.map +0 -1
  72. package/build/cjs/packages/react-router/src/useSearch.js +0 -25
  73. package/build/cjs/packages/react-router/src/useSearch.js.map +0 -1
  74. package/build/cjs/packages/react-router/src/utils.js +0 -239
  75. package/build/cjs/packages/react-router/src/utils.js.map +0 -1
  76. package/build/cjs/react/CatchBoundary.js +0 -123
  77. package/build/cjs/react/CatchBoundary.js.map +0 -1
  78. package/build/cjs/react/awaited.js +0 -43
  79. package/build/cjs/react/awaited.js.map +0 -1
  80. package/build/cjs/react/defer.js +0 -37
  81. package/build/cjs/react/defer.js.map +0 -1
  82. package/build/cjs/react.js +0 -650
  83. package/build/cjs/react.js.map +0 -1
  84. package/build/cjs/routerConfig.js +0 -209
  85. package/build/cjs/routerConfig.js.map +0 -1
  86. package/build/cjs/src/CatchBoundary.js +0 -126
  87. package/build/cjs/src/CatchBoundary.js.map +0 -1
  88. package/build/cjs/src/Matches.js +0 -235
  89. package/build/cjs/src/Matches.js.map +0 -1
  90. package/build/cjs/src/RouterProvider.js +0 -1051
  91. package/build/cjs/src/RouterProvider.js.map +0 -1
  92. package/build/cjs/src/awaited.js +0 -45
  93. package/build/cjs/src/awaited.js.map +0 -1
  94. package/build/cjs/src/defer.js +0 -39
  95. package/build/cjs/src/defer.js.map +0 -1
  96. package/build/cjs/src/fileRoute.js +0 -29
  97. package/build/cjs/src/fileRoute.js.map +0 -1
  98. package/build/cjs/src/index.js +0 -134
  99. package/build/cjs/src/index.js.map +0 -1
  100. package/build/cjs/src/lazyRouteComponent.js +0 -57
  101. package/build/cjs/src/lazyRouteComponent.js.map +0 -1
  102. package/build/cjs/src/link.js +0 -151
  103. package/build/cjs/src/link.js.map +0 -1
  104. package/build/cjs/src/path.js +0 -211
  105. package/build/cjs/src/path.js.map +0 -1
  106. package/build/cjs/src/qss.js +0 -65
  107. package/build/cjs/src/qss.js.map +0 -1
  108. package/build/cjs/src/redirects.js +0 -27
  109. package/build/cjs/src/redirects.js.map +0 -1
  110. package/build/cjs/src/route.js +0 -139
  111. package/build/cjs/src/route.js.map +0 -1
  112. package/build/cjs/src/router.js +0 -203
  113. package/build/cjs/src/router.js.map +0 -1
  114. package/build/cjs/src/scroll-restoration.js +0 -186
  115. package/build/cjs/src/scroll-restoration.js.map +0 -1
  116. package/build/cjs/src/searchParams.js +0 -83
  117. package/build/cjs/src/searchParams.js.map +0 -1
  118. package/build/cjs/src/useBlocker.js +0 -64
  119. package/build/cjs/src/useBlocker.js.map +0 -1
  120. package/build/cjs/src/useNavigate.js +0 -78
  121. package/build/cjs/src/useNavigate.js.map +0 -1
  122. package/build/cjs/src/useParams.js +0 -28
  123. package/build/cjs/src/useParams.js.map +0 -1
  124. package/build/cjs/src/useSearch.js +0 -27
  125. package/build/cjs/src/useSearch.js.map +0 -1
  126. package/build/cjs/src/utils.js +0 -230
  127. package/build/cjs/src/utils.js.map +0 -1
  128. package/build/cjs/useStore.js +0 -99
  129. package/build/cjs/useStore.js.map +0 -1
  130. package/build/types/RouteMatch.d.ts +0 -23
  131. package/build/types/injectHtml.d.ts +0 -0
  132. package/build/types/react/CatchBoundary.d.ts +0 -33
  133. package/build/types/react/awaited.d.ts +0 -9
  134. package/build/types/react/defer.d.ts +0 -19
  135. package/build/types/react.d.ts +0 -141
  136. package/build/types/useStore.d.ts +0 -12
@@ -1,99 +0,0 @@
1
- /**
2
- * @tanstack/react-router/src/index.tsx
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- var React = require('react');
14
- var utils = require('./utils.js');
15
-
16
- function _interopNamespaceDefault(e) {
17
- var n = Object.create(null);
18
- if (e) {
19
- Object.keys(e).forEach(function (k) {
20
- if (k !== 'default') {
21
- var d = Object.getOwnPropertyDescriptor(e, k);
22
- Object.defineProperty(n, k, d.get ? d : {
23
- enumerable: true,
24
- get: function () { return e[k]; }
25
- });
26
- }
27
- });
28
- }
29
- n.default = e;
30
- return Object.freeze(n);
31
- }
32
-
33
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
34
-
35
- const createStore = (createState, opts) => {
36
- let state;
37
- const listeners = new Set();
38
- const setState = (updater, opts2) => {
39
- const previousState = state;
40
- state = utils.functionalUpdate(updater, state);
41
- if (opts?.onUpdate) {
42
- state = opts.onUpdate(state, previousState);
43
- }
44
- if (opts2?.notify ?? true) {
45
- listeners.forEach(listener => listener(state, previousState));
46
- }
47
- };
48
- const getState = () => state;
49
- const subscribe = listener => {
50
- listeners.add(listener);
51
- return () => listeners.delete(listener);
52
- };
53
- const api = {
54
- setState,
55
- getState,
56
- subscribe
57
- };
58
- state = createState(setState, getState, api);
59
- return api;
60
- };
61
- const defaultSelector = state => state;
62
- function useStore(store, selector_
63
- // areEqual: (a: Slice, b: Slice) => boolean = shallow,
64
- ) {
65
- const state = store.getState();
66
- const selector = selector_ || defaultSelector;
67
- const slice = React__namespace.useMemo(() => selector(state), [state]);
68
- const [[sliceFromReducer, storeFromReducer], rerender] = React__namespace.useReducer((prev, shouldSync) => {
69
- if (shouldSync) {
70
- return [slice, store];
71
- }
72
- const nextState = store.getState();
73
- if (Object.is(state, nextState) && prev[1] === store) {
74
- return prev;
75
- }
76
- const nextSlice = selector(nextState);
77
- if (utils.shallow(prev[0], nextSlice) && prev[1] === store) {
78
- return prev;
79
- }
80
- return [nextSlice, store];
81
- }, undefined, () => [slice, store]);
82
- React__namespace.useEffect(() => {
83
- const unsubscribe = store.subscribe(() => rerender());
84
- rerender();
85
- return unsubscribe;
86
- }, [store]);
87
- if (storeFromReducer !== store) {
88
- rerender(true);
89
- return slice;
90
- }
91
- if (!utils.shallow(sliceFromReducer, slice)) {
92
- rerender(true);
93
- }
94
- return sliceFromReducer;
95
- }
96
-
97
- exports.createStore = createStore;
98
- exports.useStore = useStore;
99
- //# sourceMappingURL=useStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStore.js","sources":["../../src/useStore.ts"],"sourcesContent":["import * as React from 'react'\nimport { NonNullableUpdater, functionalUpdate, shallow } from './utils'\n\nexport type Store<T> = {\n getState: () => T\n setState: (\n updater: NonNullableUpdater<T>,\n opts?: {\n notify?: boolean\n },\n ) => void\n subscribe: (listener: (state: T) => void) => () => void\n}\n\nexport const createStore = <T>(\n createState: (\n setState: (nextState: T) => void,\n getState: () => T,\n api: Store<T>,\n ) => T,\n opts?: {\n onUpdate?: (nextState: T, prevState: T) => T\n },\n): Store<T> => {\n let state: T\n const listeners = new Set<\n (nextState: T, prevState: T) => void | Promise<void>\n >()\n\n const setState = (\n updater: NonNullableUpdater<T>,\n opts2?: {\n notify?: boolean\n },\n ) => {\n const previousState = state\n state = functionalUpdate(updater, state)\n if (opts?.onUpdate) {\n state = opts.onUpdate(state, previousState)\n }\n if (opts2?.notify ?? true) {\n listeners.forEach((listener) => listener(state, previousState))\n }\n }\n\n const getState = () => state\n\n const subscribe = (\n listener: (nextState: T, prevState: T) => void | Promise<void>,\n ) => {\n listeners.add(listener)\n return () => listeners.delete(listener)\n }\n\n const api = { setState, getState, subscribe }\n state = createState(setState, getState, api)\n\n return api\n}\n\nconst defaultSelector = <T>(state: T) => state as any\n\nexport function useStore<State, Slice>(\n store: Store<State>,\n selector_?: (state: State) => Slice,\n // areEqual: (a: Slice, b: Slice) => boolean = shallow,\n) {\n const state = store.getState()\n const selector = (selector_ || defaultSelector) as (state: State) => Slice\n const slice = React.useMemo(() => selector(state), [state])\n\n const [[sliceFromReducer, storeFromReducer], rerender] = React.useReducer<\n React.Reducer<readonly [Slice, Store<State>], boolean | undefined>,\n undefined\n >(\n (prev, shouldSync?: boolean) => {\n if (shouldSync) {\n return [slice, store]\n }\n\n const nextState = store.getState()\n\n if (Object.is(state, nextState) && prev[1] === store) {\n return prev\n }\n\n const nextSlice = selector(nextState)\n\n if (shallow(prev[0], nextSlice) && prev[1] === store) {\n return prev\n }\n\n return [nextSlice, store]\n },\n undefined,\n () => [slice, store],\n )\n\n React.useEffect(() => {\n const unsubscribe = store.subscribe(() =>\n (rerender as React.DispatchWithoutAction)(),\n )\n ;(rerender as React.DispatchWithoutAction)()\n return unsubscribe\n }, [store])\n\n if (storeFromReducer !== store) {\n rerender(true)\n return slice\n }\n\n if (!shallow(sliceFromReducer, slice)) {\n rerender(true)\n }\n\n return sliceFromReducer\n}\n"],"names":["createStore","createState","opts","state","listeners","Set","setState","updater","opts2","previousState","functionalUpdate","onUpdate","notify","forEach","listener","getState","subscribe","add","delete","api","defaultSelector","useStore","store","selector_","selector","slice","React","useMemo","sliceFromReducer","storeFromReducer","rerender","useReducer","prev","shouldSync","nextState","Object","is","nextSlice","shallow","undefined","useEffect","unsubscribe"],"mappings":"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"}
@@ -1,23 +0,0 @@
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>;
File without changes
@@ -1,33 +0,0 @@
1
- import * as React from 'react';
2
- export declare function CatchBoundary(props: {
3
- resetKey: 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
- resetKey: string;
10
- children: (props: {
11
- error: any;
12
- reset: () => void;
13
- }) => any;
14
- onCatch?: (error: any) => void;
15
- }> {
16
- state: any;
17
- static getDerivedStateFromError(error: any): {
18
- error: any;
19
- };
20
- componentDidUpdate(prevProps: Readonly<{
21
- resetKey: string;
22
- children: (props: {
23
- error: any;
24
- reset: () => void;
25
- }) => any;
26
- onCatch?: ((error: any, info: any) => void) | undefined;
27
- }>, prevState: any): void;
28
- componentDidCatch(error: any): void;
29
- render(): any;
30
- }
31
- export declare function ErrorComponent({ error }: {
32
- error: any;
33
- }): React.JSX.Element;
@@ -1,9 +0,0 @@
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;
@@ -1,19 +0,0 @@
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;
@@ -1,141 +0,0 @@
1
- import * as React from 'react';
2
- import { LinkOptions, ToOptions, ResolveRelativePath, NavigateOptions } from './link';
3
- import { AnySearchSchema, AnyPathParams, AnyContext, AnyRoute } from './route';
4
- import { RoutePaths, RouteByPath, RouteIds, ParseRoute, RoutesById, RouteById, AllParams } from './routeInfo';
5
- import { RegisteredRouter, RouterOptions, Router, RouterState } from './router';
6
- import { RouteMatch } from './RouteMatch';
7
- import { NoInfer } from './utils';
8
- import { MatchRouteOptions, RouterContext } from './RouterProvider';
9
- export type RouteProps<TFullSearchSchema extends Record<string, any> = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TAllContext extends Record<string, any> = AnyContext> = {
10
- useMatch: <TSelected = TAllContext>(opts?: {
11
- select?: (search: TAllContext) => TSelected;
12
- }) => TSelected;
13
- useRouteContext: <TSelected = TAllContext>(opts?: {
14
- select?: (search: TAllContext) => TSelected;
15
- }) => TSelected;
16
- useSearch: <TSelected = TFullSearchSchema>(opts?: {
17
- select?: (search: TFullSearchSchema) => TSelected;
18
- }) => TSelected;
19
- useParams: <TSelected = TAllParams>(opts?: {
20
- select?: (search: TAllParams) => TSelected;
21
- }) => TSelected;
22
- };
23
- export type ErrorRouteProps<TFullSearchSchema extends Record<string, any> = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TAllContext extends Record<string, any> = AnyContext> = {
24
- error: unknown;
25
- info: {
26
- componentStack: string;
27
- };
28
- } & RouteProps<TFullSearchSchema, TAllParams, TAllContext>;
29
- export type PendingRouteProps<TFullSearchSchema extends Record<string, any> = AnySearchSchema, TAllParams extends AnyPathParams = AnyPathParams, TAllContext extends Record<string, any> = AnyContext> = RouteProps<TFullSearchSchema, TAllParams, TAllContext>;
30
- type ReactNode = any;
31
- export type SyncRouteComponent<TProps> = ((props: TProps) => ReactNode) | React.LazyExoticComponent<(props: TProps) => ReactNode>;
32
- export type AsyncRouteComponent<TProps> = SyncRouteComponent<TProps> & {
33
- preload?: () => Promise<void>;
34
- };
35
- export type RouteComponent<TFullSearchSchema extends Record<string, any>, TAllParams extends AnyPathParams, TAllContext extends Record<string, any>> = AsyncRouteComponent<RouteProps<TFullSearchSchema, TAllParams, TAllContext>>;
36
- export type ErrorRouteComponent<TFullSearchSchema extends Record<string, any>, TAllParams extends AnyPathParams, TAllContext extends Record<string, any>> = AsyncRouteComponent<ErrorRouteProps<TFullSearchSchema, TAllParams, TAllContext>>;
37
- export type PendingRouteComponent<TFullSearchSchema extends Record<string, any>, TAllParams extends AnyPathParams, TAllContext extends Record<string, any>> = AsyncRouteComponent<PendingRouteProps<TFullSearchSchema, TAllParams, TAllContext>>;
38
- export type AnyRouteComponent = RouteComponent<any, any, any>;
39
- 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;
40
- export type LinkPropsOptions<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RoutePaths<TRouteTree> = '/', TTo extends string = '', TMaskFrom extends RoutePaths<TRouteTree> = '/', TMaskTo extends string = ''> = LinkOptions<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo> & {
41
- activeProps?: React.AnchorHTMLAttributes<HTMLAnchorElement> | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>);
42
- inactiveProps?: React.AnchorHTMLAttributes<HTMLAnchorElement> | (() => React.AnchorHTMLAttributes<HTMLAnchorElement>);
43
- startTransition?: boolean;
44
- };
45
- export type MakeUseMatchRouteOptions<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;
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 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>;
50
- 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'> & {
51
- children?: React.ReactNode | ((state: {
52
- isActive: boolean;
53
- }) => React.ReactNode);
54
- };
55
- export type PromptProps = {
56
- message: string;
57
- condition?: boolean | any;
58
- children?: ReactNode;
59
- };
60
- 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>;
61
- export interface LinkComponent<TProps extends Record<string, any> = {}> {
62
- <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;
63
- }
64
- export declare const Link: LinkComponent;
65
- 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<TRouteTree, TFrom, TTo, TMaskFrom, TMaskTo>): null;
66
- export declare const matchesContext: React.Context<RouteMatch<AnyRoute, any>[]>;
67
- export type RouterProps<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDehydrated extends Record<string, any> = Record<string, any>> = Omit<RouterOptions<TRouteTree, TDehydrated>, 'context'> & {
68
- router: Router<TRouteTree>;
69
- context?: Partial<RouterOptions<TRouteTree, TDehydrated>['context']>;
70
- };
71
- export declare function useRouter<TRouteTree extends AnyRoute = RegisteredRouter['routeTree']>(): RouterContext<TRouteTree>;
72
- export declare function useRouterState<TSelected = RouterState<RegisteredRouter['routeTree']>>(opts?: {
73
- select: (state: RouterState<RegisteredRouter['routeTree']>) => TSelected;
74
- }): TSelected;
75
- export declare function useMatches<T = RouteMatch[]>(opts?: {
76
- select?: (matches: RouteMatch[]) => T;
77
- }): T;
78
- type StrictOrFrom<TFrom> = {
79
- from: TFrom;
80
- strict?: true;
81
- } | {
82
- from?: never;
83
- strict: false;
84
- };
85
- 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> & {
86
- select?: (match: TRouteMatchState) => TSelected;
87
- }): TStrict extends true ? TRouteMatchState : TRouteMatchState | undefined;
88
- export type RouteFromIdOrRoute<T, TRouteTree extends AnyRoute = RegisteredRouter['routeTree']> = T extends ParseRoute<TRouteTree> ? T : T extends RouteIds<TRouteTree> ? RoutesById<TRouteTree>[T] : T extends string ? RouteIds<TRouteTree> : never;
89
- export declare function useRouteContext<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TStrict extends boolean = true, TRouteContext = RouteById<TRouteTree, TFrom>['types']['allContext'], TSelected = TRouteContext>(opts: StrictOrFrom<TFrom> & {
90
- select?: (search: TRouteContext) => TSelected;
91
- }): TStrict extends true ? TSelected : TSelected | undefined;
92
- export declare function useSearch<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TStrict extends boolean = true, TSearch = RouteById<TRouteTree, TFrom>['types']['fullSearchSchema'], TSelected = TSearch>(opts: StrictOrFrom<TFrom> & {
93
- select?: (search: TSearch) => TSelected;
94
- }): TStrict extends true ? TSelected : TSelected | undefined;
95
- export declare function useParams<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TFrom extends RouteIds<TRouteTree> = RouteIds<TRouteTree>, TDefaultSelected = AllParams<TRouteTree> & RouteById<TRouteTree, TFrom>['types']['allParams'], TSelected = TDefaultSelected>(opts: StrictOrFrom<TFrom> & {
96
- select?: (search: TDefaultSelected) => TSelected;
97
- }): TSelected;
98
- export declare function useNavigate<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDefaultFrom extends RoutePaths<TRouteTree> = '/'>(defaultOpts?: {
99
- from?: TDefaultFrom;
100
- }): <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>;
101
- export declare function typedNavigate<TRouteTree extends AnyRoute = RegisteredRouter['routeTree'], TDefaultFrom extends RoutePaths<TRouteTree> = '/'>(navigate: (opts: NavigateOptions<any>) => Promise<void>): <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>;
102
- 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"];
103
- export declare function Matches(): JSX.Element;
104
- 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;
105
- export declare function Outlet(): JSX.Element | null;
106
- export declare function CatchBoundary(props: {
107
- resetKey: string;
108
- children: any;
109
- errorComponent?: any;
110
- onCatch: (error: any) => void;
111
- }): JSX.Element;
112
- export declare class CatchBoundaryImpl extends React.Component<{
113
- resetKey: string;
114
- children: (props: {
115
- error: any;
116
- reset: () => void;
117
- }) => any;
118
- onCatch?: (error: any) => void;
119
- }> {
120
- state: any;
121
- static getDerivedStateFromError(error: any): {
122
- error: any;
123
- };
124
- componentDidUpdate(prevProps: Readonly<{
125
- resetKey: string;
126
- children: (props: {
127
- error: any;
128
- reset: () => void;
129
- }) => any;
130
- onCatch?: ((error: any, info: any) => void) | undefined;
131
- }>, prevState: any): void;
132
- componentDidCatch(error: any): void;
133
- render(): any;
134
- }
135
- export declare function ErrorComponent({ error }: {
136
- error: any;
137
- }): JSX.Element;
138
- export declare function useBlocker(message: string, condition?: boolean | any): void;
139
- export declare function Block({ message, condition, children }: PromptProps): any;
140
- export declare function shallow<T>(objA: T, objB: T): boolean;
141
- export {};
@@ -1,12 +0,0 @@
1
- import { NonNullableUpdater } from './utils';
2
- export type Store<T> = {
3
- getState: () => T;
4
- setState: (updater: NonNullableUpdater<T>, opts?: {
5
- notify?: boolean;
6
- }) => void;
7
- subscribe: (listener: (state: T) => void) => () => void;
8
- };
9
- export declare const createStore: <T>(createState: (setState: (nextState: T) => void, getState: () => T, api: Store<T>) => T, opts?: {
10
- onUpdate?: ((nextState: T, prevState: T) => T) | undefined;
11
- } | undefined) => Store<T>;
12
- export declare function useStore<State, Slice>(store: Store<State>, selector_?: (state: State) => Slice): Slice;