@tanstack/solid-router 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (207) hide show
  1. package/dist/cjs/Asset.cjs +124 -167
  2. package/dist/cjs/Asset.cjs.map +1 -1
  3. package/dist/cjs/CatchBoundary.cjs +52 -68
  4. package/dist/cjs/CatchBoundary.cjs.map +1 -1
  5. package/dist/cjs/ClientOnly.cjs +61 -39
  6. package/dist/cjs/ClientOnly.cjs.map +1 -1
  7. package/dist/cjs/HeadContent.cjs +35 -27
  8. package/dist/cjs/HeadContent.cjs.map +1 -1
  9. package/dist/cjs/HeadContent.dev.cjs +48 -41
  10. package/dist/cjs/HeadContent.dev.cjs.map +1 -1
  11. package/dist/cjs/Match.cjs +367 -442
  12. package/dist/cjs/Match.cjs.map +1 -1
  13. package/dist/cjs/Matches.cjs +114 -158
  14. package/dist/cjs/Matches.cjs.map +1 -1
  15. package/dist/cjs/RouterProvider.cjs +29 -41
  16. package/dist/cjs/RouterProvider.cjs.map +1 -1
  17. package/dist/cjs/SafeFragment.cjs +7 -5
  18. package/dist/cjs/SafeFragment.cjs.map +1 -1
  19. package/dist/cjs/ScriptOnce.cjs +20 -22
  20. package/dist/cjs/ScriptOnce.cjs.map +1 -1
  21. package/dist/cjs/Scripts.cjs +43 -58
  22. package/dist/cjs/Scripts.cjs.map +1 -1
  23. package/dist/cjs/ScrollRestoration.cjs +26 -28
  24. package/dist/cjs/ScrollRestoration.cjs.map +1 -1
  25. package/dist/cjs/Transitioner.cjs +91 -124
  26. package/dist/cjs/Transitioner.cjs.map +1 -1
  27. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  28. package/dist/cjs/awaited.cjs +31 -53
  29. package/dist/cjs/awaited.cjs.map +1 -1
  30. package/dist/cjs/fileRoute.cjs +96 -91
  31. package/dist/cjs/fileRoute.cjs.map +1 -1
  32. package/dist/cjs/fileRoute.d.cts +2 -2
  33. package/dist/cjs/headContentUtils.cjs +132 -170
  34. package/dist/cjs/headContentUtils.cjs.map +1 -1
  35. package/dist/cjs/index.cjs +245 -176
  36. package/dist/cjs/index.dev.cjs +245 -176
  37. package/dist/cjs/lazyRouteComponent.cjs +48 -54
  38. package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
  39. package/dist/cjs/link.cjs +310 -345
  40. package/dist/cjs/link.cjs.map +1 -1
  41. package/dist/cjs/matchContext.cjs +9 -23
  42. package/dist/cjs/matchContext.cjs.map +1 -1
  43. package/dist/cjs/not-found.cjs +26 -34
  44. package/dist/cjs/not-found.cjs.map +1 -1
  45. package/dist/cjs/renderRouteNotFound.cjs +23 -16
  46. package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
  47. package/dist/cjs/route.cjs +200 -215
  48. package/dist/cjs/route.cjs.map +1 -1
  49. package/dist/cjs/router.cjs +18 -16
  50. package/dist/cjs/router.cjs.map +1 -1
  51. package/dist/cjs/routerContext.cjs +8 -22
  52. package/dist/cjs/routerContext.cjs.map +1 -1
  53. package/dist/cjs/scroll-restoration.cjs +25 -35
  54. package/dist/cjs/scroll-restoration.cjs.map +1 -1
  55. package/dist/cjs/ssr/RouterClient.cjs +18 -23
  56. package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
  57. package/dist/cjs/ssr/RouterServer.cjs +10 -10
  58. package/dist/cjs/ssr/RouterServer.cjs.map +1 -1
  59. package/dist/cjs/ssr/client.cjs +2 -4
  60. package/dist/cjs/ssr/defaultRenderHandler.cjs +12 -16
  61. package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -1
  62. package/dist/cjs/ssr/defaultStreamHandler.cjs +13 -18
  63. package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -1
  64. package/dist/cjs/ssr/renderRouterToStream.cjs +26 -54
  65. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
  66. package/dist/cjs/ssr/renderRouterToString.cjs +33 -57
  67. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
  68. package/dist/cjs/ssr/server.cjs +18 -18
  69. package/dist/cjs/useBlocker.cjs +140 -177
  70. package/dist/cjs/useBlocker.cjs.map +1 -1
  71. package/dist/cjs/useBlocker.d.cts +8 -5
  72. package/dist/cjs/useCanGoBack.cjs +6 -5
  73. package/dist/cjs/useCanGoBack.cjs.map +1 -1
  74. package/dist/cjs/useLoaderData.cjs +12 -11
  75. package/dist/cjs/useLoaderData.cjs.map +1 -1
  76. package/dist/cjs/useLoaderDeps.cjs +12 -14
  77. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  78. package/dist/cjs/useLocation.cjs +6 -7
  79. package/dist/cjs/useLocation.cjs.map +1 -1
  80. package/dist/cjs/useMatch.cjs +25 -46
  81. package/dist/cjs/useMatch.cjs.map +1 -1
  82. package/dist/cjs/useNavigate.cjs +20 -38
  83. package/dist/cjs/useNavigate.cjs.map +1 -1
  84. package/dist/cjs/useParams.cjs +14 -13
  85. package/dist/cjs/useParams.cjs.map +1 -1
  86. package/dist/cjs/useRouteContext.cjs +9 -8
  87. package/dist/cjs/useRouteContext.cjs.map +1 -1
  88. package/dist/cjs/useRouter.cjs +13 -26
  89. package/dist/cjs/useRouter.cjs.map +1 -1
  90. package/dist/cjs/useRouterState.cjs +40 -43
  91. package/dist/cjs/useRouterState.cjs.map +1 -1
  92. package/dist/cjs/useSearch.cjs +13 -12
  93. package/dist/cjs/useSearch.cjs.map +1 -1
  94. package/dist/cjs/utils.cjs +57 -49
  95. package/dist/cjs/utils.cjs.map +1 -1
  96. package/dist/esm/Asset.js +122 -166
  97. package/dist/esm/Asset.js.map +1 -1
  98. package/dist/esm/CatchBoundary.js +48 -50
  99. package/dist/esm/CatchBoundary.js.map +1 -1
  100. package/dist/esm/ClientOnly.js +58 -22
  101. package/dist/esm/ClientOnly.js.map +1 -1
  102. package/dist/esm/HeadContent.dev.js +46 -40
  103. package/dist/esm/HeadContent.dev.js.map +1 -1
  104. package/dist/esm/HeadContent.js +33 -26
  105. package/dist/esm/HeadContent.js.map +1 -1
  106. package/dist/esm/Match.js +359 -422
  107. package/dist/esm/Match.js.map +1 -1
  108. package/dist/esm/Matches.js +107 -142
  109. package/dist/esm/Matches.js.map +1 -1
  110. package/dist/esm/RouterProvider.js +26 -40
  111. package/dist/esm/RouterProvider.js.map +1 -1
  112. package/dist/esm/SafeFragment.js +6 -5
  113. package/dist/esm/SafeFragment.js.map +1 -1
  114. package/dist/esm/ScriptOnce.js +18 -21
  115. package/dist/esm/ScriptOnce.js.map +1 -1
  116. package/dist/esm/Scripts.js +42 -58
  117. package/dist/esm/Scripts.js.map +1 -1
  118. package/dist/esm/ScrollRestoration.js +25 -29
  119. package/dist/esm/ScrollRestoration.js.map +1 -1
  120. package/dist/esm/Transitioner.js +87 -105
  121. package/dist/esm/Transitioner.js.map +1 -1
  122. package/dist/esm/awaited.js +28 -36
  123. package/dist/esm/awaited.js.map +1 -1
  124. package/dist/esm/fileRoute.d.ts +2 -2
  125. package/dist/esm/fileRoute.js +90 -92
  126. package/dist/esm/fileRoute.js.map +1 -1
  127. package/dist/esm/headContentUtils.js +129 -152
  128. package/dist/esm/headContentUtils.js.map +1 -1
  129. package/dist/esm/index.dev.js +15 -115
  130. package/dist/esm/index.js +17 -116
  131. package/dist/esm/lazyRouteComponent.js +46 -53
  132. package/dist/esm/lazyRouteComponent.js.map +1 -1
  133. package/dist/esm/link.js +306 -329
  134. package/dist/esm/link.js.map +1 -1
  135. package/dist/esm/matchContext.js +7 -7
  136. package/dist/esm/matchContext.js.map +1 -1
  137. package/dist/esm/not-found.js +23 -33
  138. package/dist/esm/not-found.js.map +1 -1
  139. package/dist/esm/renderRouteNotFound.js +20 -15
  140. package/dist/esm/renderRouteNotFound.js.map +1 -1
  141. package/dist/esm/route.js +193 -218
  142. package/dist/esm/route.js.map +1 -1
  143. package/dist/esm/router.js +17 -17
  144. package/dist/esm/router.js.map +1 -1
  145. package/dist/esm/routerContext.js +6 -5
  146. package/dist/esm/routerContext.js.map +1 -1
  147. package/dist/esm/scroll-restoration.js +23 -34
  148. package/dist/esm/scroll-restoration.js.map +1 -1
  149. package/dist/esm/ssr/RouterClient.js +16 -22
  150. package/dist/esm/ssr/RouterClient.js.map +1 -1
  151. package/dist/esm/ssr/RouterServer.js +9 -10
  152. package/dist/esm/ssr/RouterServer.js.map +1 -1
  153. package/dist/esm/ssr/client.js +1 -4
  154. package/dist/esm/ssr/defaultRenderHandler.js +11 -15
  155. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -1
  156. package/dist/esm/ssr/defaultStreamHandler.js +12 -17
  157. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -1
  158. package/dist/esm/ssr/renderRouterToStream.js +23 -36
  159. package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
  160. package/dist/esm/ssr/renderRouterToString.js +31 -40
  161. package/dist/esm/ssr/renderRouterToString.js.map +1 -1
  162. package/dist/esm/ssr/server.js +3 -10
  163. package/dist/esm/useBlocker.d.ts +8 -5
  164. package/dist/esm/useBlocker.js +136 -159
  165. package/dist/esm/useBlocker.js.map +1 -1
  166. package/dist/esm/useCanGoBack.js +6 -5
  167. package/dist/esm/useCanGoBack.js.map +1 -1
  168. package/dist/esm/useLoaderData.js +12 -11
  169. package/dist/esm/useLoaderData.js.map +1 -1
  170. package/dist/esm/useLoaderDeps.js +12 -14
  171. package/dist/esm/useLoaderDeps.js.map +1 -1
  172. package/dist/esm/useLocation.js +6 -7
  173. package/dist/esm/useLocation.js.map +1 -1
  174. package/dist/esm/useMatch.js +21 -28
  175. package/dist/esm/useMatch.js.map +1 -1
  176. package/dist/esm/useNavigate.js +18 -22
  177. package/dist/esm/useNavigate.js.map +1 -1
  178. package/dist/esm/useParams.js +14 -13
  179. package/dist/esm/useParams.js.map +1 -1
  180. package/dist/esm/useRouteContext.js +9 -8
  181. package/dist/esm/useRouteContext.js.map +1 -1
  182. package/dist/esm/useRouter.js +9 -8
  183. package/dist/esm/useRouter.js.map +1 -1
  184. package/dist/esm/useRouterState.js +38 -42
  185. package/dist/esm/useRouterState.js.map +1 -1
  186. package/dist/esm/useSearch.js +13 -12
  187. package/dist/esm/useSearch.js.map +1 -1
  188. package/dist/esm/utils.js +55 -33
  189. package/dist/esm/utils.js.map +1 -1
  190. package/dist/source/fileRoute.d.ts +2 -2
  191. package/dist/source/useBlocker.d.ts +8 -5
  192. package/dist/source/useBlocker.jsx +2 -2
  193. package/dist/source/useBlocker.jsx.map +1 -1
  194. package/dist/source/useRouterState.jsx +7 -0
  195. package/dist/source/useRouterState.jsx.map +1 -1
  196. package/package.json +3 -3
  197. package/src/fileRoute.ts +2 -2
  198. package/src/useBlocker.tsx +15 -10
  199. package/src/useRouterState.tsx +10 -0
  200. package/dist/cjs/index.cjs.map +0 -1
  201. package/dist/cjs/index.dev.cjs.map +0 -1
  202. package/dist/cjs/ssr/client.cjs.map +0 -1
  203. package/dist/cjs/ssr/server.cjs.map +0 -1
  204. package/dist/esm/index.dev.js.map +0 -1
  205. package/dist/esm/index.js.map +0 -1
  206. package/dist/esm/ssr/client.js.map +0 -1
  207. package/dist/esm/ssr/server.js.map +0 -1
@@ -1,449 +1,374 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid$1 = require("@solidjs/web");
4
- const Solid = require("solid-js");
5
- const invariant = require("tiny-invariant");
6
- const warning = require("tiny-warning");
7
- const routerCore = require("@tanstack/router-core");
8
- const isServer = require("@tanstack/router-core/isServer");
9
- const CatchBoundary = require("./CatchBoundary.cjs");
10
- const useRouterState = require("./useRouterState.cjs");
11
- const useRouter = require("./useRouter.cjs");
12
- const notFound = require("./not-found.cjs");
13
- const matchContext = require("./matchContext.cjs");
14
- const SafeFragment = require("./SafeFragment.cjs");
15
- const renderRouteNotFound = require("./renderRouteNotFound.cjs");
16
- const scrollRestoration = require("./scroll-restoration.cjs");
17
- function _interopNamespaceDefault(e) {
18
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
19
- if (e) {
20
- for (const k in e) {
21
- if (k !== "default") {
22
- const d = Object.getOwnPropertyDescriptor(e, k);
23
- Object.defineProperty(n, k, d.get ? d : {
24
- enumerable: true,
25
- get: () => e[k]
26
- });
27
- }
28
- }
29
- }
30
- n.default = e;
31
- return Object.freeze(n);
32
- }
33
- const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
34
- const MatchContext = matchContext.matchContext;
35
- const Match = (props) => {
36
- const router = useRouter.useRouter();
37
- const matchState = useRouterState.useRouterState({
38
- select: (s) => {
39
- const match = s.matches.find((d) => d.id === props.matchId);
40
- if (!match) {
41
- return null;
42
- }
43
- return {
44
- routeId: match.routeId,
45
- ssr: match.ssr,
46
- _displayPending: match._displayPending
47
- };
48
- }
49
- });
50
- if (!Solid__namespace.untrack(matchState)) return null;
51
- const route = () => router.routesById[matchState().routeId];
52
- const resolvePendingComponent = () => route().options.pendingComponent ?? router.options.defaultPendingComponent;
53
- const routeErrorComponent = () => route().options.errorComponent ?? router.options.defaultErrorComponent;
54
- const routeOnCatch = () => route().options.onCatch ?? router.options.defaultOnCatch;
55
- const routeNotFoundComponent = () => route().isRoot ? (
56
- // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component
57
- route().options.notFoundComponent ?? router.options.notFoundRoute?.options.component
58
- ) : route().options.notFoundComponent;
59
- const resolvedNoSsr = Solid__namespace.createMemo(() => matchState().ssr === false || matchState().ssr === "data-only");
60
- const ResolvedSuspenseBoundary = () => resolvedNoSsr() ? SafeFragment.SafeFragment : Solid__namespace.Loading;
61
- const ResolvedCatchBoundary = () => routeErrorComponent() ? CatchBoundary.CatchBoundary : SafeFragment.SafeFragment;
62
- const ResolvedNotFoundBoundary = () => routeNotFoundComponent() ? notFound.CatchNotFound : SafeFragment.SafeFragment;
63
- const resetKey = useRouterState.useRouterState({
64
- select: (s) => s.loadedAt
65
- });
66
- const parentRouteId = useRouterState.useRouterState({
67
- select: (s) => {
68
- const index = s.matches.findIndex((d) => d.id === props.matchId);
69
- return s.matches[index - 1]?.routeId;
70
- }
71
- });
72
- const ShellComponent = Solid__namespace.createMemo(() => route().isRoot ? route().options.shellComponent ?? SafeFragment.SafeFragment : SafeFragment.SafeFragment);
73
- return Solid$1.createComponent(Solid$1.Dynamic, {
74
- get component() {
75
- return ShellComponent();
76
- },
77
- get children() {
78
- return [Solid$1.createComponent(MatchContext, {
79
- value: () => props.matchId,
80
- get children() {
81
- return Solid$1.createComponent(Solid$1.Dynamic, {
82
- get component() {
83
- return ResolvedSuspenseBoundary();
84
- },
85
- get fallback() {
86
- return (
87
- // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch
88
- Solid$1.memo(() => !!((isServer.isServer ?? router.isServer) || resolvedNoSsr()))() ? void 0 : Solid$1.createComponent(Solid$1.Dynamic, {
89
- get component() {
90
- return resolvePendingComponent();
91
- }
92
- })
93
- );
94
- },
95
- get children() {
96
- return Solid$1.createComponent(Solid$1.Dynamic, {
97
- get component() {
98
- return ResolvedCatchBoundary();
99
- },
100
- getResetKey: () => resetKey(),
101
- get errorComponent() {
102
- return routeErrorComponent() || CatchBoundary.ErrorComponent;
103
- },
104
- onCatch: (error) => {
105
- if (routerCore.isNotFound(error)) throw error;
106
- warning(false, `Error in route match: ${Solid__namespace.untrack(matchState).routeId}`);
107
- routeOnCatch()?.(error);
108
- },
109
- get children() {
110
- return Solid$1.createComponent(Solid$1.Dynamic, {
111
- get component() {
112
- return ResolvedNotFoundBoundary();
113
- },
114
- fallback: (error) => {
115
- if (!routeNotFoundComponent() || error.routeId && error.routeId !== matchState().routeId || !error.routeId && !route().isRoot) throw error;
116
- return Solid$1.createComponent(Solid$1.Dynamic, Solid$1.mergeProps({
117
- get component() {
118
- return routeNotFoundComponent();
119
- }
120
- }, error));
121
- },
122
- get children() {
123
- return Solid$1.createComponent(Solid__namespace.Switch, {
124
- get children() {
125
- return [Solid$1.createComponent(Solid__namespace.Match, {
126
- get when() {
127
- return resolvedNoSsr();
128
- },
129
- get children() {
130
- return Solid$1.createComponent(Solid__namespace.Show, {
131
- get when() {
132
- return !(isServer.isServer ?? router.isServer);
133
- },
134
- get fallback() {
135
- return Solid$1.createComponent(Solid$1.Dynamic, {
136
- get component() {
137
- return resolvePendingComponent();
138
- }
139
- });
140
- },
141
- get children() {
142
- return Solid$1.createComponent(MatchInner, {
143
- get matchId() {
144
- return props.matchId;
145
- }
146
- });
147
- }
148
- });
149
- }
150
- }), Solid$1.createComponent(Solid__namespace.Match, {
151
- get when() {
152
- return !resolvedNoSsr();
153
- },
154
- get children() {
155
- return Solid$1.createComponent(MatchInner, {
156
- get matchId() {
157
- return props.matchId;
158
- }
159
- });
160
- }
161
- })];
162
- }
163
- });
164
- }
165
- });
166
- }
167
- });
168
- }
169
- });
170
- }
171
- }), Solid$1.memo(() => Solid$1.memo(() => parentRouteId() === routerCore.rootRouteId)() ? [Solid$1.createComponent(OnRendered, {}), Solid$1.createComponent(scrollRestoration.ScrollRestoration, {})] : null)];
172
- }
173
- });
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_CatchBoundary = require("./CatchBoundary.cjs");
3
+ const require_useRouter = require("./useRouter.cjs");
4
+ const require_useRouterState = require("./useRouterState.cjs");
5
+ const require_matchContext = require("./matchContext.cjs");
6
+ const require_SafeFragment = require("./SafeFragment.cjs");
7
+ const require_not_found = require("./not-found.cjs");
8
+ const require_renderRouteNotFound = require("./renderRouteNotFound.cjs");
9
+ const require_scroll_restoration = require("./scroll-restoration.cjs");
10
+ let _tanstack_router_core = require("@tanstack/router-core");
11
+ let _solidjs_web = require("@solidjs/web");
12
+ let solid_js = require("solid-js");
13
+ solid_js = require_runtime.__toESM(solid_js);
14
+ let tiny_warning = require("tiny-warning");
15
+ tiny_warning = require_runtime.__toESM(tiny_warning);
16
+ let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer");
17
+ let tiny_invariant = require("tiny-invariant");
18
+ tiny_invariant = require_runtime.__toESM(tiny_invariant);
19
+ //#region src/Match.tsx
20
+ var MatchContext = require_matchContext.matchContext;
21
+ var Match = (props) => {
22
+ const router = require_useRouter.useRouter();
23
+ const matchState = require_useRouterState.useRouterState({ select: (s) => {
24
+ const match = s.matches.find((d) => d.id === props.matchId);
25
+ if (!match) return null;
26
+ return {
27
+ routeId: match.routeId,
28
+ ssr: match.ssr,
29
+ _displayPending: match._displayPending
30
+ };
31
+ } });
32
+ if (!solid_js.untrack(matchState)) return null;
33
+ const route = () => router.routesById[matchState().routeId];
34
+ const resolvePendingComponent = () => route().options.pendingComponent ?? router.options.defaultPendingComponent;
35
+ const routeErrorComponent = () => route().options.errorComponent ?? router.options.defaultErrorComponent;
36
+ const routeOnCatch = () => route().options.onCatch ?? router.options.defaultOnCatch;
37
+ const routeNotFoundComponent = () => route().isRoot ? route().options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route().options.notFoundComponent;
38
+ const resolvedNoSsr = solid_js.createMemo(() => matchState().ssr === false || matchState().ssr === "data-only");
39
+ const ResolvedSuspenseBoundary = () => resolvedNoSsr() ? require_SafeFragment.SafeFragment : solid_js.Loading;
40
+ const ResolvedCatchBoundary = () => routeErrorComponent() ? require_CatchBoundary.CatchBoundary : require_SafeFragment.SafeFragment;
41
+ const ResolvedNotFoundBoundary = () => routeNotFoundComponent() ? require_not_found.CatchNotFound : require_SafeFragment.SafeFragment;
42
+ const resetKey = require_useRouterState.useRouterState({ select: (s) => s.loadedAt });
43
+ const parentRouteId = require_useRouterState.useRouterState({ select: (s) => {
44
+ const index = s.matches.findIndex((d) => d.id === props.matchId);
45
+ return s.matches[index - 1]?.routeId;
46
+ } });
47
+ const ShellComponent = solid_js.createMemo(() => route().isRoot ? route().options.shellComponent ?? require_SafeFragment.SafeFragment : require_SafeFragment.SafeFragment);
48
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, {
49
+ get component() {
50
+ return ShellComponent();
51
+ },
52
+ get children() {
53
+ return [(0, _solidjs_web.createComponent)(MatchContext, {
54
+ value: () => props.matchId,
55
+ get children() {
56
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, {
57
+ get component() {
58
+ return ResolvedSuspenseBoundary();
59
+ },
60
+ get fallback() {
61
+ return (0, _solidjs_web.memo)(() => !!((_tanstack_router_core_isServer.isServer ?? router.isServer) || resolvedNoSsr()))() ? void 0 : (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { get component() {
62
+ return resolvePendingComponent();
63
+ } });
64
+ },
65
+ get children() {
66
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, {
67
+ get component() {
68
+ return ResolvedCatchBoundary();
69
+ },
70
+ getResetKey: () => resetKey(),
71
+ get errorComponent() {
72
+ return routeErrorComponent() || require_CatchBoundary.ErrorComponent;
73
+ },
74
+ onCatch: (error) => {
75
+ if ((0, _tanstack_router_core.isNotFound)(error)) throw error;
76
+ (0, tiny_warning.default)(false, `Error in route match: ${solid_js.untrack(matchState).routeId}`);
77
+ routeOnCatch()?.(error);
78
+ },
79
+ get children() {
80
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, {
81
+ get component() {
82
+ return ResolvedNotFoundBoundary();
83
+ },
84
+ fallback: (error) => {
85
+ if (!routeNotFoundComponent() || error.routeId && error.routeId !== matchState().routeId || !error.routeId && !route().isRoot) throw error;
86
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, (0, _solidjs_web.mergeProps)({ get component() {
87
+ return routeNotFoundComponent();
88
+ } }, error));
89
+ },
90
+ get children() {
91
+ return (0, _solidjs_web.createComponent)(solid_js.Switch, { get children() {
92
+ return [(0, _solidjs_web.createComponent)(solid_js.Match, {
93
+ get when() {
94
+ return resolvedNoSsr();
95
+ },
96
+ get children() {
97
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
98
+ get when() {
99
+ return !(_tanstack_router_core_isServer.isServer ?? router.isServer);
100
+ },
101
+ get fallback() {
102
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { get component() {
103
+ return resolvePendingComponent();
104
+ } });
105
+ },
106
+ get children() {
107
+ return (0, _solidjs_web.createComponent)(MatchInner, { get matchId() {
108
+ return props.matchId;
109
+ } });
110
+ }
111
+ });
112
+ }
113
+ }), (0, _solidjs_web.createComponent)(solid_js.Match, {
114
+ get when() {
115
+ return !resolvedNoSsr();
116
+ },
117
+ get children() {
118
+ return (0, _solidjs_web.createComponent)(MatchInner, { get matchId() {
119
+ return props.matchId;
120
+ } });
121
+ }
122
+ })];
123
+ } });
124
+ }
125
+ });
126
+ }
127
+ });
128
+ }
129
+ });
130
+ }
131
+ }), (0, _solidjs_web.memo)(() => (0, _solidjs_web.memo)(() => parentRouteId() === _tanstack_router_core.rootRouteId)() ? [(0, _solidjs_web.createComponent)(OnRendered, {}), (0, _solidjs_web.createComponent)(require_scroll_restoration.ScrollRestoration, {})] : null)];
132
+ }
133
+ });
174
134
  };
175
- const lastOnRenderedKey = /* @__PURE__ */ new WeakMap();
135
+ var lastOnRenderedKey = /* @__PURE__ */ new WeakMap();
176
136
  function OnRendered() {
177
- const router = useRouter.useRouter();
178
- const location = useRouterState.useRouterState({
179
- select: (s) => {
180
- return s.resolvedLocation?.state.__TSR_key;
181
- }
182
- });
183
- Solid__namespace.createEffect(() => [location()], ([location2]) => {
184
- if (!location2) return;
185
- if (lastOnRenderedKey.get(router) === location2) return;
186
- lastOnRenderedKey.set(router, location2);
187
- router.emit({
188
- type: "onRendered",
189
- ...routerCore.getLocationChangeInfo(router.state)
190
- });
191
- });
192
- return null;
137
+ const router = require_useRouter.useRouter();
138
+ const location = require_useRouterState.useRouterState({ select: (s) => {
139
+ return s.resolvedLocation?.state.__TSR_key;
140
+ } });
141
+ solid_js.createEffect(() => [location()], ([location]) => {
142
+ if (!location) return;
143
+ if (lastOnRenderedKey.get(router) === location) return;
144
+ lastOnRenderedKey.set(router, location);
145
+ router.emit({
146
+ type: "onRendered",
147
+ ...(0, _tanstack_router_core.getLocationChangeInfo)(router.state)
148
+ });
149
+ });
150
+ return null;
193
151
  }
194
- const MatchInner = (props) => {
195
- const router = useRouter.useRouter();
196
- const matchState = useRouterState.useRouterState({
197
- select: (s) => {
198
- const match2 = s.matches.find((d) => d.id === props.matchId);
199
- if (!match2) {
200
- return null;
201
- }
202
- const routeId = match2.routeId;
203
- const remountFn = router.routesById[routeId].options.remountDeps ?? router.options.defaultRemountDeps;
204
- const remountDeps = remountFn?.({
205
- routeId,
206
- loaderDeps: match2.loaderDeps,
207
- params: match2._strictParams,
208
- search: match2._strictSearch
209
- });
210
- const key = remountDeps ? JSON.stringify(remountDeps) : void 0;
211
- return {
212
- key,
213
- routeId,
214
- match: {
215
- id: match2.id,
216
- status: match2.status,
217
- error: match2.error,
218
- _forcePending: match2._forcePending,
219
- _displayPending: match2._displayPending
220
- }
221
- };
222
- }
223
- });
224
- if (!Solid__namespace.untrack(matchState)) return null;
225
- const route = () => router.routesById[matchState().routeId];
226
- const match = () => matchState().match;
227
- const componentKey = () => matchState().key ?? matchState().match.id;
228
- const out = () => {
229
- const currentRoute = Solid__namespace.untrack(route);
230
- const Comp = currentRoute.options.component ?? router.options.defaultComponent;
231
- if (Comp) {
232
- return Solid$1.createComponent(Comp, {});
233
- }
234
- return Solid$1.createComponent(Outlet, {});
235
- };
236
- const keyedOut = () => Solid$1.createComponent(Solid__namespace.Show, {
237
- get when() {
238
- return componentKey();
239
- },
240
- keyed: true,
241
- children: (_key) => out()
242
- });
243
- return Solid$1.createComponent(Solid__namespace.Switch, {
244
- get children() {
245
- return [Solid$1.createComponent(Solid__namespace.Match, {
246
- get when() {
247
- return match()._displayPending;
248
- },
249
- children: (_) => {
250
- const matchId = Solid__namespace.untrack(() => match().id);
251
- const displayPendingResult = Solid__namespace.createMemo(() => router.getMatch(matchId)?._nonReactive.displayPendingPromise);
252
- return Solid$1.memo(displayPendingResult);
253
- }
254
- }), Solid$1.createComponent(Solid__namespace.Match, {
255
- get when() {
256
- return match()._forcePending;
257
- },
258
- children: (_) => {
259
- const matchId = Solid__namespace.untrack(() => match().id);
260
- const minPendingResult = Solid__namespace.createMemo(() => router.getMatch(matchId)?._nonReactive.minPendingPromise);
261
- return Solid$1.memo(minPendingResult);
262
- }
263
- }), Solid$1.createComponent(Solid__namespace.Match, {
264
- get when() {
265
- return match().status === "pending";
266
- },
267
- children: (_) => {
268
- const currentMatch = Solid__namespace.untrack(match);
269
- const currentRoute = Solid__namespace.untrack(route);
270
- const pendingMinMs = currentRoute.options.pendingMinMs ?? router.options.defaultPendingMinMs;
271
- if (pendingMinMs) {
272
- const routerMatch = router.getMatch(currentMatch.id);
273
- if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
274
- if (!(isServer.isServer ?? router.isServer)) {
275
- const minPendingPromise = routerCore.createControlledPromise();
276
- routerMatch._nonReactive.minPendingPromise = minPendingPromise;
277
- setTimeout(() => {
278
- minPendingPromise.resolve();
279
- routerMatch._nonReactive.minPendingPromise = void 0;
280
- }, pendingMinMs);
281
- }
282
- }
283
- }
284
- const loaderResult = Solid__namespace.createMemo(async () => {
285
- await new Promise((r) => setTimeout(r, 0));
286
- return router.getMatch(currentMatch.id)?._nonReactive.loadPromise;
287
- });
288
- const FallbackComponent = currentRoute.options.pendingComponent ?? router.options.defaultPendingComponent;
289
- return [FallbackComponent && pendingMinMs > 0 ? Solid$1.createComponent(Solid$1.Dynamic, {
290
- component: FallbackComponent
291
- }) : null, Solid$1.memo(loaderResult)];
292
- }
293
- }), Solid$1.createComponent(Solid__namespace.Match, {
294
- get when() {
295
- return match().status === "notFound";
296
- },
297
- children: (_) => {
298
- const currentMatch = Solid__namespace.untrack(match);
299
- const currentRoute = Solid__namespace.untrack(route);
300
- const currentRouteId = Solid__namespace.untrack(() => matchState().routeId);
301
- invariant(routerCore.isNotFound(currentMatch.error), "Expected a notFound error");
302
- return Solid$1.createComponent(Solid__namespace.Show, {
303
- when: currentRouteId,
304
- keyed: true,
305
- children: (_routeId) => renderRouteNotFound.renderRouteNotFound(router, currentRoute, currentMatch.error)
306
- });
307
- }
308
- }), Solid$1.createComponent(Solid__namespace.Match, {
309
- get when() {
310
- return match().status === "redirected";
311
- },
312
- children: (_) => {
313
- const matchId = Solid__namespace.untrack(() => match().id);
314
- invariant(routerCore.isRedirect(Solid__namespace.untrack(match).error), "Expected a redirect error");
315
- const loaderResult = Solid__namespace.createMemo(async () => {
316
- await new Promise((r) => setTimeout(r, 0));
317
- return router.getMatch(matchId)?._nonReactive.loadPromise;
318
- });
319
- return Solid$1.memo(loaderResult);
320
- }
321
- }), Solid$1.createComponent(Solid__namespace.Match, {
322
- get when() {
323
- return match().status === "error";
324
- },
325
- children: (_) => {
326
- if (isServer.isServer ?? router.isServer) {
327
- const currentMatch = Solid__namespace.untrack(match);
328
- const RouteErrorComponent = (Solid__namespace.untrack(route).options.errorComponent ?? router.options.defaultErrorComponent) || CatchBoundary.ErrorComponent;
329
- return Solid$1.createComponent(RouteErrorComponent, {
330
- get error() {
331
- return currentMatch.error;
332
- },
333
- info: {
334
- componentStack: ""
335
- }
336
- });
337
- }
338
- throw Solid__namespace.untrack(match).error;
339
- }
340
- }), Solid$1.createComponent(Solid__namespace.Match, {
341
- get when() {
342
- return match().status === "success";
343
- },
344
- get children() {
345
- return keyedOut();
346
- }
347
- })];
348
- }
349
- });
152
+ var MatchInner = (props) => {
153
+ const router = require_useRouter.useRouter();
154
+ const matchState = require_useRouterState.useRouterState({ select: (s) => {
155
+ const match = s.matches.find((d) => d.id === props.matchId);
156
+ if (!match) return null;
157
+ const routeId = match.routeId;
158
+ const remountDeps = (router.routesById[routeId].options.remountDeps ?? router.options.defaultRemountDeps)?.({
159
+ routeId,
160
+ loaderDeps: match.loaderDeps,
161
+ params: match._strictParams,
162
+ search: match._strictSearch
163
+ });
164
+ return {
165
+ key: remountDeps ? JSON.stringify(remountDeps) : void 0,
166
+ routeId,
167
+ match: {
168
+ id: match.id,
169
+ status: match.status,
170
+ error: match.error,
171
+ _forcePending: match._forcePending,
172
+ _displayPending: match._displayPending
173
+ }
174
+ };
175
+ } });
176
+ if (!solid_js.untrack(matchState)) return null;
177
+ const route = () => router.routesById[matchState().routeId];
178
+ const match = () => matchState().match;
179
+ const componentKey = () => matchState().key ?? matchState().match.id;
180
+ const out = () => {
181
+ const Comp = solid_js.untrack(route).options.component ?? router.options.defaultComponent;
182
+ if (Comp) return (0, _solidjs_web.createComponent)(Comp, {});
183
+ return (0, _solidjs_web.createComponent)(Outlet, {});
184
+ };
185
+ const keyedOut = () => (0, _solidjs_web.createComponent)(solid_js.Show, {
186
+ get when() {
187
+ return componentKey();
188
+ },
189
+ keyed: true,
190
+ children: (_key) => out()
191
+ });
192
+ return (0, _solidjs_web.createComponent)(solid_js.Switch, { get children() {
193
+ return [
194
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
195
+ get when() {
196
+ return match()._displayPending;
197
+ },
198
+ children: (_) => {
199
+ const matchId = solid_js.untrack(() => match().id);
200
+ return (0, _solidjs_web.memo)(solid_js.createMemo(() => router.getMatch(matchId)?._nonReactive.displayPendingPromise));
201
+ }
202
+ }),
203
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
204
+ get when() {
205
+ return match()._forcePending;
206
+ },
207
+ children: (_) => {
208
+ const matchId = solid_js.untrack(() => match().id);
209
+ return (0, _solidjs_web.memo)(solid_js.createMemo(() => router.getMatch(matchId)?._nonReactive.minPendingPromise));
210
+ }
211
+ }),
212
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
213
+ get when() {
214
+ return match().status === "pending";
215
+ },
216
+ children: (_) => {
217
+ const currentMatch = solid_js.untrack(match);
218
+ const currentRoute = solid_js.untrack(route);
219
+ const pendingMinMs = currentRoute.options.pendingMinMs ?? router.options.defaultPendingMinMs;
220
+ if (pendingMinMs) {
221
+ const routerMatch = router.getMatch(currentMatch.id);
222
+ if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
223
+ if (!(_tanstack_router_core_isServer.isServer ?? router.isServer)) {
224
+ const minPendingPromise = (0, _tanstack_router_core.createControlledPromise)();
225
+ routerMatch._nonReactive.minPendingPromise = minPendingPromise;
226
+ setTimeout(() => {
227
+ minPendingPromise.resolve();
228
+ routerMatch._nonReactive.minPendingPromise = void 0;
229
+ }, pendingMinMs);
230
+ }
231
+ }
232
+ }
233
+ const loaderResult = solid_js.createMemo(async () => {
234
+ await new Promise((r) => setTimeout(r, 0));
235
+ return router.getMatch(currentMatch.id)?._nonReactive.loadPromise;
236
+ });
237
+ const FallbackComponent = currentRoute.options.pendingComponent ?? router.options.defaultPendingComponent;
238
+ return [FallbackComponent && pendingMinMs > 0 ? (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { component: FallbackComponent }) : null, (0, _solidjs_web.memo)(loaderResult)];
239
+ }
240
+ }),
241
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
242
+ get when() {
243
+ return match().status === "notFound";
244
+ },
245
+ children: (_) => {
246
+ const currentMatch = solid_js.untrack(match);
247
+ const currentRoute = solid_js.untrack(route);
248
+ const currentRouteId = solid_js.untrack(() => matchState().routeId);
249
+ (0, tiny_invariant.default)((0, _tanstack_router_core.isNotFound)(currentMatch.error), "Expected a notFound error");
250
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
251
+ when: currentRouteId,
252
+ keyed: true,
253
+ children: (_routeId) => require_renderRouteNotFound.renderRouteNotFound(router, currentRoute, currentMatch.error)
254
+ });
255
+ }
256
+ }),
257
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
258
+ get when() {
259
+ return match().status === "redirected";
260
+ },
261
+ children: (_) => {
262
+ const matchId = solid_js.untrack(() => match().id);
263
+ (0, tiny_invariant.default)((0, _tanstack_router_core.isRedirect)(solid_js.untrack(match).error), "Expected a redirect error");
264
+ return (0, _solidjs_web.memo)(solid_js.createMemo(async () => {
265
+ await new Promise((r) => setTimeout(r, 0));
266
+ return router.getMatch(matchId)?._nonReactive.loadPromise;
267
+ }));
268
+ }
269
+ }),
270
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
271
+ get when() {
272
+ return match().status === "error";
273
+ },
274
+ children: (_) => {
275
+ if (_tanstack_router_core_isServer.isServer ?? router.isServer) {
276
+ const currentMatch = solid_js.untrack(match);
277
+ return (0, _solidjs_web.createComponent)((solid_js.untrack(route).options.errorComponent ?? router.options.defaultErrorComponent) || require_CatchBoundary.ErrorComponent, {
278
+ get error() {
279
+ return currentMatch.error;
280
+ },
281
+ info: { componentStack: "" }
282
+ });
283
+ }
284
+ throw solid_js.untrack(match).error;
285
+ }
286
+ }),
287
+ (0, _solidjs_web.createComponent)(solid_js.Match, {
288
+ get when() {
289
+ return match().status === "success";
290
+ },
291
+ get children() {
292
+ return keyedOut();
293
+ }
294
+ })
295
+ ];
296
+ } });
350
297
  };
351
- const Outlet = () => {
352
- const router = useRouter.useRouter();
353
- const matchId = Solid__namespace.useContext(matchContext.matchContext);
354
- const routeId = useRouterState.useRouterState({
355
- select: (s) => s.matches.find((d) => d.id === matchId())?.routeId
356
- });
357
- const route = () => router.routesById[routeId()];
358
- const parentGlobalNotFound = useRouterState.useRouterState({
359
- select: (s) => {
360
- const matches = s.matches;
361
- const parentMatch = matches.find((d) => d.id === matchId());
362
- if (!parentMatch) {
363
- return false;
364
- }
365
- return parentMatch.globalNotFound;
366
- }
367
- });
368
- const childMatchId = useRouterState.useRouterState({
369
- select: (s) => {
370
- const matches = s.matches;
371
- const index = matches.findIndex((d) => d.id === matchId());
372
- const v = matches[index + 1]?.id;
373
- return v;
374
- }
375
- });
376
- const childRouteId = useRouterState.useRouterState({
377
- select: (s) => {
378
- const matches = s.matches;
379
- const index = matches.findIndex((d) => d.id === matchId());
380
- return matches[index + 1]?.routeId;
381
- }
382
- });
383
- const childMatchStatus = useRouterState.useRouterState({
384
- select: (s) => {
385
- const matches = s.matches;
386
- const index = matches.findIndex((d) => d.id === matchId());
387
- return matches[index + 1]?.status;
388
- }
389
- });
390
- const shouldShowNotFound = () => childMatchStatus() !== "redirected" && parentGlobalNotFound();
391
- return Solid$1.createComponent(Solid__namespace.Show, {
392
- get when() {
393
- return Solid$1.memo(() => !!!shouldShowNotFound())() && childMatchId();
394
- },
395
- get fallback() {
396
- return Solid$1.createComponent(Solid__namespace.Show, {
397
- get when() {
398
- return shouldShowNotFound();
399
- },
400
- get children() {
401
- return renderRouteNotFound.renderRouteNotFound(router, route(), void 0);
402
- }
403
- });
404
- },
405
- children: (matchIdAccessor) => {
406
- const currentMatchId = Solid__namespace.createMemo(() => matchIdAccessor());
407
- return Solid$1.createComponent(Solid__namespace.Show, {
408
- get when() {
409
- return routeId() === routerCore.rootRouteId;
410
- },
411
- get fallback() {
412
- return Solid$1.createComponent(Match, {
413
- get matchId() {
414
- return currentMatchId();
415
- }
416
- });
417
- },
418
- get children() {
419
- return Solid$1.createComponent(Solid__namespace.Show, {
420
- get when() {
421
- return childRouteId();
422
- },
423
- keyed: true,
424
- children: (_routeId) => Solid$1.createComponent(Solid__namespace.Loading, {
425
- get fallback() {
426
- return Solid$1.createComponent(Solid$1.Dynamic, {
427
- get component() {
428
- return router.options.defaultPendingComponent;
429
- }
430
- });
431
- },
432
- get children() {
433
- return Solid$1.createComponent(Match, {
434
- get matchId() {
435
- return currentMatchId();
436
- }
437
- });
438
- }
439
- })
440
- });
441
- }
442
- });
443
- }
444
- });
298
+ var Outlet = () => {
299
+ const router = require_useRouter.useRouter();
300
+ const matchId = solid_js.useContext(require_matchContext.matchContext);
301
+ const routeId = require_useRouterState.useRouterState({ select: (s) => s.matches.find((d) => d.id === matchId())?.routeId });
302
+ const route = () => router.routesById[routeId()];
303
+ const parentGlobalNotFound = require_useRouterState.useRouterState({ select: (s) => {
304
+ const parentMatch = s.matches.find((d) => d.id === matchId());
305
+ if (!parentMatch) return false;
306
+ return parentMatch.globalNotFound;
307
+ } });
308
+ const childMatchId = require_useRouterState.useRouterState({ select: (s) => {
309
+ const matches = s.matches;
310
+ return matches[matches.findIndex((d) => d.id === matchId()) + 1]?.id;
311
+ } });
312
+ const childRouteId = require_useRouterState.useRouterState({ select: (s) => {
313
+ const matches = s.matches;
314
+ return matches[matches.findIndex((d) => d.id === matchId()) + 1]?.routeId;
315
+ } });
316
+ const childMatchStatus = require_useRouterState.useRouterState({ select: (s) => {
317
+ const matches = s.matches;
318
+ return matches[matches.findIndex((d) => d.id === matchId()) + 1]?.status;
319
+ } });
320
+ const shouldShowNotFound = () => childMatchStatus() !== "redirected" && parentGlobalNotFound();
321
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
322
+ get when() {
323
+ return (0, _solidjs_web.memo)(() => !!!shouldShowNotFound())() && childMatchId();
324
+ },
325
+ get fallback() {
326
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
327
+ get when() {
328
+ return shouldShowNotFound();
329
+ },
330
+ get children() {
331
+ return require_renderRouteNotFound.renderRouteNotFound(router, route(), void 0);
332
+ }
333
+ });
334
+ },
335
+ children: (matchIdAccessor) => {
336
+ const currentMatchId = solid_js.createMemo(() => matchIdAccessor());
337
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
338
+ get when() {
339
+ return routeId() === _tanstack_router_core.rootRouteId;
340
+ },
341
+ get fallback() {
342
+ return (0, _solidjs_web.createComponent)(Match, { get matchId() {
343
+ return currentMatchId();
344
+ } });
345
+ },
346
+ get children() {
347
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
348
+ get when() {
349
+ return childRouteId();
350
+ },
351
+ keyed: true,
352
+ children: (_routeId) => (0, _solidjs_web.createComponent)(solid_js.Loading, {
353
+ get fallback() {
354
+ return (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { get component() {
355
+ return router.options.defaultPendingComponent;
356
+ } });
357
+ },
358
+ get children() {
359
+ return (0, _solidjs_web.createComponent)(Match, { get matchId() {
360
+ return currentMatchId();
361
+ } });
362
+ }
363
+ })
364
+ });
365
+ }
366
+ });
367
+ }
368
+ });
445
369
  };
370
+ //#endregion
446
371
  exports.Match = Match;
447
- exports.MatchInner = MatchInner;
448
372
  exports.Outlet = Outlet;
449
- //# sourceMappingURL=Match.cjs.map
373
+
374
+ //# sourceMappingURL=Match.cjs.map