@tanstack/solid-router 1.121.0-alpha.22 → 1.121.0-alpha.28

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 (265) hide show
  1. package/dist/cjs/Asset.cjs +65 -21
  2. package/dist/cjs/Asset.cjs.map +1 -1
  3. package/dist/cjs/Asset.d.cts +2 -1
  4. package/dist/cjs/CatchBoundary.cjs +14 -15
  5. package/dist/cjs/CatchBoundary.cjs.map +1 -1
  6. package/dist/cjs/ClientOnly.cjs +12 -14
  7. package/dist/cjs/ClientOnly.cjs.map +1 -1
  8. package/dist/cjs/ClientOnly.d.cts +0 -20
  9. package/dist/cjs/HeadContent.cjs +28 -23
  10. package/dist/cjs/HeadContent.cjs.map +1 -1
  11. package/dist/cjs/Match.cjs +167 -141
  12. package/dist/cjs/Match.cjs.map +1 -1
  13. package/dist/cjs/Matches.cjs +26 -24
  14. package/dist/cjs/Matches.cjs.map +1 -1
  15. package/dist/cjs/Matches.d.cts +1 -0
  16. package/dist/cjs/RouterProvider.cjs +5 -5
  17. package/dist/cjs/RouterProvider.cjs.map +1 -1
  18. package/dist/cjs/SafeFragment.cjs +2 -2
  19. package/dist/cjs/SafeFragment.cjs.map +1 -1
  20. package/dist/cjs/ScriptOnce.cjs +4 -9
  21. package/dist/cjs/ScriptOnce.cjs.map +1 -1
  22. package/dist/cjs/ScriptOnce.d.cts +1 -1
  23. package/dist/cjs/Scripts.cjs +9 -13
  24. package/dist/cjs/Scripts.cjs.map +1 -1
  25. package/dist/cjs/ScrollRestoration.cjs +3 -4
  26. package/dist/cjs/ScrollRestoration.cjs.map +1 -1
  27. package/dist/cjs/Transitioner.cjs +9 -8
  28. package/dist/cjs/Transitioner.cjs.map +1 -1
  29. package/dist/cjs/awaited.cjs +2 -2
  30. package/dist/cjs/awaited.cjs.map +1 -1
  31. package/dist/cjs/fileRoute.cjs +5 -5
  32. package/dist/cjs/fileRoute.cjs.map +1 -1
  33. package/dist/cjs/index.cjs +0 -12
  34. package/dist/cjs/index.cjs.map +1 -1
  35. package/dist/cjs/index.d.cts +3 -6
  36. package/dist/cjs/lazyRouteComponent.cjs +6 -26
  37. package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
  38. package/dist/cjs/lazyRouteComponent.d.cts +1 -1
  39. package/dist/cjs/link.cjs +37 -31
  40. package/dist/cjs/link.cjs.map +1 -1
  41. package/dist/cjs/not-found.cjs +5 -7
  42. package/dist/cjs/not-found.cjs.map +1 -1
  43. package/dist/cjs/renderRouteNotFound.cjs +4 -4
  44. package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
  45. package/dist/cjs/route.cjs +16 -16
  46. package/dist/cjs/route.cjs.map +1 -1
  47. package/dist/cjs/route.d.cts +14 -5
  48. package/dist/cjs/router.cjs.map +1 -1
  49. package/dist/cjs/routerContext.cjs.map +1 -1
  50. package/dist/cjs/scroll-restoration.cjs +12 -6
  51. package/dist/cjs/scroll-restoration.cjs.map +1 -1
  52. package/dist/cjs/ssr/RouterClient.cjs +45 -0
  53. package/dist/cjs/ssr/RouterClient.cjs.map +1 -0
  54. package/dist/cjs/ssr/RouterClient.d.cts +4 -0
  55. package/dist/cjs/ssr/RouterServer.cjs +56 -0
  56. package/dist/cjs/ssr/RouterServer.cjs.map +1 -0
  57. package/dist/cjs/ssr/RouterServer.d.cts +5 -0
  58. package/dist/cjs/ssr/client.cjs +5 -0
  59. package/dist/cjs/ssr/client.cjs.map +1 -0
  60. package/dist/cjs/ssr/client.d.cts +1 -0
  61. package/dist/cjs/ssr/defaultRenderHandler.cjs +18 -0
  62. package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -0
  63. package/dist/cjs/ssr/defaultRenderHandler.d.cts +1 -0
  64. package/dist/cjs/ssr/defaultStreamHandler.cjs +20 -0
  65. package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -0
  66. package/dist/cjs/ssr/defaultStreamHandler.d.cts +1 -0
  67. package/dist/cjs/ssr/renderRouterToStream.cjs +45 -0
  68. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -0
  69. package/dist/cjs/ssr/renderRouterToStream.d.cts +8 -0
  70. package/dist/cjs/ssr/renderRouterToString.cjs +43 -0
  71. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -0
  72. package/dist/cjs/ssr/renderRouterToString.d.cts +7 -0
  73. package/dist/cjs/ssr/server.cjs +20 -0
  74. package/dist/cjs/ssr/server.cjs.map +1 -0
  75. package/dist/cjs/ssr/server.d.cts +6 -0
  76. package/dist/cjs/useBlocker.cjs +41 -35
  77. package/dist/cjs/useBlocker.cjs.map +1 -1
  78. package/dist/cjs/useCanGoBack.cjs.map +1 -1
  79. package/dist/cjs/useLoaderData.cjs.map +1 -1
  80. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  81. package/dist/cjs/useLocation.cjs +1 -1
  82. package/dist/cjs/useLocation.cjs.map +1 -1
  83. package/dist/cjs/useMatch.cjs.map +1 -1
  84. package/dist/cjs/useNavigate.cjs +9 -3
  85. package/dist/cjs/useNavigate.cjs.map +1 -1
  86. package/dist/cjs/useParams.cjs.map +1 -1
  87. package/dist/cjs/useRouter.cjs +1 -1
  88. package/dist/cjs/useRouter.cjs.map +1 -1
  89. package/dist/cjs/useRouterState.cjs +3 -3
  90. package/dist/cjs/useRouterState.cjs.map +1 -1
  91. package/dist/cjs/useSearch.cjs.map +1 -1
  92. package/dist/cjs/utils.cjs +1 -1
  93. package/dist/cjs/utils.cjs.map +1 -1
  94. package/dist/esm/Asset.d.ts +2 -1
  95. package/dist/esm/Asset.js +60 -16
  96. package/dist/esm/Asset.js.map +1 -1
  97. package/dist/esm/CatchBoundary.js +1 -2
  98. package/dist/esm/CatchBoundary.js.map +1 -1
  99. package/dist/esm/ClientOnly.d.ts +0 -20
  100. package/dist/esm/ClientOnly.js +11 -13
  101. package/dist/esm/ClientOnly.js.map +1 -1
  102. package/dist/esm/HeadContent.js +23 -18
  103. package/dist/esm/HeadContent.js.map +1 -1
  104. package/dist/esm/Match.js +148 -122
  105. package/dist/esm/Match.js.map +1 -1
  106. package/dist/esm/Matches.d.ts +1 -0
  107. package/dist/esm/Matches.js +18 -16
  108. package/dist/esm/Matches.js.map +1 -1
  109. package/dist/esm/RouterProvider.js.map +1 -1
  110. package/dist/esm/SafeFragment.js.map +1 -1
  111. package/dist/esm/ScriptOnce.d.ts +1 -1
  112. package/dist/esm/ScriptOnce.js +2 -7
  113. package/dist/esm/ScriptOnce.js.map +1 -1
  114. package/dist/esm/Scripts.js +7 -11
  115. package/dist/esm/Scripts.js.map +1 -1
  116. package/dist/esm/ScrollRestoration.js +3 -4
  117. package/dist/esm/ScrollRestoration.js.map +1 -1
  118. package/dist/esm/Transitioner.js +9 -8
  119. package/dist/esm/Transitioner.js.map +1 -1
  120. package/dist/esm/awaited.js.map +1 -1
  121. package/dist/esm/fileRoute.js +5 -5
  122. package/dist/esm/fileRoute.js.map +1 -1
  123. package/dist/esm/index.d.ts +3 -6
  124. package/dist/esm/index.js +2 -8
  125. package/dist/esm/index.js.map +1 -1
  126. package/dist/esm/lazyRouteComponent.d.ts +1 -1
  127. package/dist/esm/lazyRouteComponent.js +2 -22
  128. package/dist/esm/lazyRouteComponent.js.map +1 -1
  129. package/dist/esm/link.js +34 -28
  130. package/dist/esm/link.js.map +1 -1
  131. package/dist/esm/not-found.js +2 -4
  132. package/dist/esm/not-found.js.map +1 -1
  133. package/dist/esm/renderRouteNotFound.js.map +1 -1
  134. package/dist/esm/route.d.ts +14 -5
  135. package/dist/esm/route.js +12 -12
  136. package/dist/esm/route.js.map +1 -1
  137. package/dist/esm/router.js.map +1 -1
  138. package/dist/esm/routerContext.js.map +1 -1
  139. package/dist/esm/scroll-restoration.js +10 -4
  140. package/dist/esm/scroll-restoration.js.map +1 -1
  141. package/dist/esm/ssr/RouterClient.d.ts +4 -0
  142. package/dist/esm/ssr/RouterClient.js +45 -0
  143. package/dist/esm/ssr/RouterClient.js.map +1 -0
  144. package/dist/esm/ssr/RouterServer.d.ts +5 -0
  145. package/dist/esm/ssr/RouterServer.js +56 -0
  146. package/dist/esm/ssr/RouterServer.js.map +1 -0
  147. package/dist/esm/ssr/client.d.ts +1 -0
  148. package/dist/esm/ssr/client.js +5 -0
  149. package/dist/esm/ssr/client.js.map +1 -0
  150. package/dist/esm/ssr/defaultRenderHandler.d.ts +1 -0
  151. package/dist/esm/ssr/defaultRenderHandler.js +18 -0
  152. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -0
  153. package/dist/esm/ssr/defaultStreamHandler.d.ts +1 -0
  154. package/dist/esm/ssr/defaultStreamHandler.js +20 -0
  155. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -0
  156. package/dist/esm/ssr/renderRouterToStream.d.ts +8 -0
  157. package/dist/esm/ssr/renderRouterToStream.js +28 -0
  158. package/dist/esm/ssr/renderRouterToStream.js.map +1 -0
  159. package/dist/esm/ssr/renderRouterToString.d.ts +7 -0
  160. package/dist/esm/ssr/renderRouterToString.js +26 -0
  161. package/dist/esm/ssr/renderRouterToString.js.map +1 -0
  162. package/dist/esm/ssr/server.d.ts +6 -0
  163. package/dist/esm/ssr/server.js +14 -0
  164. package/dist/esm/ssr/server.js.map +1 -0
  165. package/dist/esm/useBlocker.js +41 -35
  166. package/dist/esm/useBlocker.js.map +1 -1
  167. package/dist/esm/useCanGoBack.js.map +1 -1
  168. package/dist/esm/useLoaderData.js.map +1 -1
  169. package/dist/esm/useLoaderDeps.js.map +1 -1
  170. package/dist/esm/useLocation.js +1 -1
  171. package/dist/esm/useLocation.js.map +1 -1
  172. package/dist/esm/useMatch.js.map +1 -1
  173. package/dist/esm/useNavigate.js +9 -3
  174. package/dist/esm/useNavigate.js.map +1 -1
  175. package/dist/esm/useParams.js.map +1 -1
  176. package/dist/esm/useRouter.js +1 -1
  177. package/dist/esm/useRouter.js.map +1 -1
  178. package/dist/esm/useRouterState.js +3 -3
  179. package/dist/esm/useRouterState.js.map +1 -1
  180. package/dist/esm/useSearch.js.map +1 -1
  181. package/dist/esm/utils.js +1 -1
  182. package/dist/esm/utils.js.map +1 -1
  183. package/dist/source/Asset.d.ts +2 -1
  184. package/dist/source/Asset.jsx +45 -7
  185. package/dist/source/Asset.jsx.map +1 -1
  186. package/dist/source/ClientOnly.d.ts +0 -20
  187. package/dist/source/ClientOnly.jsx +3 -29
  188. package/dist/source/ClientOnly.jsx.map +1 -1
  189. package/dist/source/HeadContent.jsx +13 -0
  190. package/dist/source/HeadContent.jsx.map +1 -1
  191. package/dist/source/Match.jsx +74 -61
  192. package/dist/source/Match.jsx.map +1 -1
  193. package/dist/source/Matches.d.ts +1 -0
  194. package/dist/source/Matches.jsx +14 -11
  195. package/dist/source/Matches.jsx.map +1 -1
  196. package/dist/source/ScriptOnce.d.ts +1 -1
  197. package/dist/source/ScriptOnce.jsx +2 -12
  198. package/dist/source/ScriptOnce.jsx.map +1 -1
  199. package/dist/source/Transitioner.jsx +8 -8
  200. package/dist/source/Transitioner.jsx.map +1 -1
  201. package/dist/source/index.d.ts +3 -6
  202. package/dist/source/index.jsx +1 -4
  203. package/dist/source/index.jsx.map +1 -1
  204. package/dist/source/lazyRouteComponent.d.ts +1 -1
  205. package/dist/source/lazyRouteComponent.jsx +7 -21
  206. package/dist/source/lazyRouteComponent.jsx.map +1 -1
  207. package/dist/source/link.jsx +22 -17
  208. package/dist/source/link.jsx.map +1 -1
  209. package/dist/source/not-found.jsx.map +1 -1
  210. package/dist/source/route.d.ts +14 -5
  211. package/dist/source/route.jsx.map +1 -1
  212. package/dist/source/scroll-restoration.jsx +9 -2
  213. package/dist/source/scroll-restoration.jsx.map +1 -1
  214. package/dist/source/ssr/RouterClient.d.ts +4 -0
  215. package/dist/source/ssr/RouterClient.jsx +28 -0
  216. package/dist/source/ssr/RouterClient.jsx.map +1 -0
  217. package/dist/source/ssr/RouterServer.d.ts +5 -0
  218. package/dist/source/ssr/RouterServer.jsx +38 -0
  219. package/dist/source/ssr/RouterServer.jsx.map +1 -0
  220. package/dist/source/ssr/client.d.ts +1 -0
  221. package/dist/source/ssr/client.js +2 -0
  222. package/dist/source/ssr/client.js.map +1 -0
  223. package/dist/source/ssr/defaultRenderHandler.d.ts +1 -0
  224. package/dist/source/ssr/defaultRenderHandler.jsx +9 -0
  225. package/dist/source/ssr/defaultRenderHandler.jsx.map +1 -0
  226. package/dist/source/ssr/defaultStreamHandler.d.ts +1 -0
  227. package/dist/source/ssr/defaultStreamHandler.jsx +10 -0
  228. package/dist/source/ssr/defaultStreamHandler.jsx.map +1 -0
  229. package/dist/source/ssr/renderRouterToStream.d.ts +8 -0
  230. package/dist/source/ssr/renderRouterToStream.jsx +17 -0
  231. package/dist/source/ssr/renderRouterToStream.jsx.map +1 -0
  232. package/dist/source/ssr/renderRouterToString.d.ts +7 -0
  233. package/dist/source/ssr/renderRouterToString.jsx +20 -0
  234. package/dist/source/ssr/renderRouterToString.jsx.map +1 -0
  235. package/dist/source/ssr/server.d.ts +6 -0
  236. package/dist/source/ssr/server.js +7 -0
  237. package/dist/source/ssr/server.js.map +1 -0
  238. package/dist/source/useBlocker.jsx +44 -27
  239. package/dist/source/useBlocker.jsx.map +1 -1
  240. package/dist/source/useNavigate.jsx +12 -2
  241. package/dist/source/useNavigate.jsx.map +1 -1
  242. package/package.json +34 -7
  243. package/src/Asset.tsx +76 -7
  244. package/src/ClientOnly.tsx +5 -32
  245. package/src/HeadContent.tsx +17 -0
  246. package/src/Match.tsx +103 -81
  247. package/src/Matches.tsx +28 -19
  248. package/src/ScriptOnce.tsx +1 -13
  249. package/src/Transitioner.tsx +7 -7
  250. package/src/index.tsx +1 -18
  251. package/src/lazyRouteComponent.tsx +6 -26
  252. package/src/link.tsx +29 -21
  253. package/src/not-found.tsx +1 -1
  254. package/src/route.tsx +16 -5
  255. package/src/scroll-restoration.tsx +10 -3
  256. package/src/ssr/RouterClient.tsx +43 -0
  257. package/src/ssr/RouterServer.tsx +60 -0
  258. package/src/ssr/client.ts +1 -0
  259. package/src/ssr/defaultRenderHandler.tsx +12 -0
  260. package/src/ssr/defaultStreamHandler.tsx +13 -0
  261. package/src/ssr/renderRouterToStream.tsx +36 -0
  262. package/src/ssr/renderRouterToString.tsx +31 -0
  263. package/src/ssr/server.ts +6 -0
  264. package/src/useBlocker.tsx +48 -32
  265. package/src/useNavigate.tsx +14 -2
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const Solid = require("solid-js");
3
+ const Solid = require("solid-js/web");
4
+ const Solid$1 = require("solid-js");
5
5
  const warning = require("tiny-warning");
6
6
  const CatchBoundary = require("./CatchBoundary.cjs");
7
7
  const useRouterState = require("./useRouterState.cjs");
@@ -26,35 +26,40 @@ function _interopNamespaceDefault(e) {
26
26
  n.default = e;
27
27
  return Object.freeze(n);
28
28
  }
29
- const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
29
+ const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid$1);
30
30
  function Matches() {
31
31
  const router = useRouter.useRouter();
32
- const pendingElement = router.options.defaultPendingComponent ? web.createComponent(router.options.defaultPendingComponent, {}) : null;
33
- const ResolvedSuspense = router.isServer || typeof document !== "undefined" && router.clientSsr ? SafeFragment.SafeFragment : Solid__namespace.Suspense;
34
- const inner = web.createComponent(ResolvedSuspense, {
32
+ const pendingElement = router.options.defaultPendingComponent ? Solid.createComponent(router.options.defaultPendingComponent, {}) : null;
33
+ const ResolvedSuspense = router.isServer || typeof document !== "undefined" && router.ssr ? SafeFragment.SafeFragment : Solid__namespace.Suspense;
34
+ const inner = Solid.createComponent(ResolvedSuspense, {
35
35
  fallback: pendingElement,
36
36
  get children() {
37
- return [web.createComponent(Transitioner.Transitioner, {}), web.createComponent(MatchesInner, {})];
37
+ return [Solid.memo(() => Solid.memo(() => !!!router.isServer)() && Solid.createComponent(Transitioner.Transitioner, {})), Solid.createComponent(MatchesInner, {})];
38
38
  }
39
39
  });
40
- return router.options.InnerWrap ? web.createComponent(router.options.InnerWrap, {
40
+ return router.options.InnerWrap ? Solid.createComponent(router.options.InnerWrap, {
41
41
  children: inner
42
42
  }) : inner;
43
43
  }
44
44
  function MatchesInner() {
45
+ const router = useRouter.useRouter();
45
46
  const matchId = useRouterState.useRouterState({
46
47
  select: (s) => {
47
- var _a;
48
- return (_a = s.matches[0]) == null ? void 0 : _a.id;
48
+ return s.matches[0]?.id;
49
49
  }
50
50
  });
51
51
  const resetKey = useRouterState.useRouterState({
52
52
  select: (s) => s.loadedAt
53
53
  });
54
- return web.createComponent(matchContext.matchContext.Provider, {
54
+ const matchComponent = () => matchId() ? Solid.createComponent(Match.Match, {
55
+ get matchId() {
56
+ return matchId();
57
+ }
58
+ }) : null;
59
+ return Solid.createComponent(matchContext.matchContext.Provider, {
55
60
  value: matchId,
56
61
  get children() {
57
- return web.createComponent(CatchBoundary.CatchBoundary, {
62
+ return Solid.memo(() => !!router.options.disableGlobalCatchBoundary)() ? matchComponent() : Solid.createComponent(CatchBoundary.CatchBoundary, {
58
63
  getResetKey: () => resetKey(),
59
64
  errorComponent: CatchBoundary.ErrorComponent,
60
65
  onCatch: (error) => {
@@ -62,11 +67,7 @@ function MatchesInner() {
62
67
  warning(false, error.message || error.toString());
63
68
  },
64
69
  get children() {
65
- return web.memo(() => !!matchId())() ? web.createComponent(Match.Match, {
66
- get matchId() {
67
- return matchId();
68
- }
69
- }) : null;
70
+ return matchComponent();
70
71
  }
71
72
  });
72
73
  }
@@ -101,7 +102,7 @@ function MatchRoute(props) {
101
102
  const status = useRouterState.useRouterState({
102
103
  select: (s) => s.status
103
104
  });
104
- return web.createComponent(Solid__namespace.Show, {
105
+ return Solid.createComponent(Solid__namespace.Show, {
105
106
  get when() {
106
107
  return status();
107
108
  },
@@ -109,10 +110,11 @@ function MatchRoute(props) {
109
110
  children: (_) => {
110
111
  const matchRoute = useMatchRoute();
111
112
  const params = matchRoute(props)();
112
- if (typeof props.children === "function") {
113
- return props.children(params);
113
+ const child = props.children;
114
+ if (typeof child === "function") {
115
+ return child(params);
114
116
  }
115
- return params ? props.children : null;
117
+ return params ? child : null;
116
118
  }
117
119
  });
118
120
  }
@@ -120,7 +122,7 @@ function useMatches(opts) {
120
122
  return useRouterState.useRouterState({
121
123
  select: (state) => {
122
124
  const matches = state.matches;
123
- return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;
125
+ return opts?.select ? opts.select(matches) : matches;
124
126
  }
125
127
  });
126
128
  }
@@ -129,7 +131,7 @@ function useParentMatches(opts) {
129
131
  return useMatches({
130
132
  select: (matches) => {
131
133
  matches = matches.slice(0, matches.findIndex((d) => d.id === contextMatchId()));
132
- return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;
134
+ return opts?.select ? opts.select(matches) : matches;
133
135
  }
134
136
  });
135
137
  }
@@ -138,7 +140,7 @@ function useChildMatches(opts) {
138
140
  return useMatches({
139
141
  select: (matches) => {
140
142
  matches = matches.slice(matches.findIndex((d) => d.id === contextMatchId()) + 1);
141
- return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;
143
+ return opts?.select ? opts.select(matches) : matches;
142
144
  }
143
145
  });
144
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Matches.cjs","sources":["../../src/Matches.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { Transitioner } from './Transitioner'\nimport { matchContext } from './matchContext'\nimport { Match } from './Match'\nimport { SafeFragment } from './SafeFragment'\nimport type {\n AnyRouter,\n DeepPartial,\n Expand,\n MakeOptionalPathParams,\n MakeOptionalSearchParams,\n MakeRouteMatchUnion,\n MaskOptions,\n MatchRouteOptions,\n NoInfer,\n RegisteredRouter,\n ResolveRelativePath,\n ResolveRoute,\n RouteByPath,\n RouterState,\n ToSubOptionsProps,\n} from '@tanstack/router-core'\n\ndeclare module '@tanstack/router-core' {\n export interface RouteMatchExtensions {\n meta?: Array<Solid.JSX.IntrinsicElements['meta'] | undefined>\n links?: Array<Solid.JSX.IntrinsicElements['link'] | undefined>\n scripts?: Array<Solid.JSX.IntrinsicElements['script'] | undefined>\n headScripts?: Array<Solid.JSX.IntrinsicElements['script'] | undefined>\n }\n}\n\nexport function Matches() {\n const router = useRouter()\n\n const pendingElement = router.options.defaultPendingComponent ? (\n <router.options.defaultPendingComponent />\n ) : null\n\n // Do not render a root Suspense during SSR or hydrating from SSR\n const ResolvedSuspense =\n router.isServer || (typeof document !== 'undefined' && router.clientSsr)\n ? SafeFragment\n : Solid.Suspense\n\n const inner = (\n <ResolvedSuspense fallback={pendingElement}>\n <Transitioner />\n <MatchesInner />\n </ResolvedSuspense>\n )\n\n return router.options.InnerWrap ? (\n <router.options.InnerWrap>{inner}</router.options.InnerWrap>\n ) : (\n inner\n )\n}\n\nfunction MatchesInner() {\n const matchId = useRouterState({\n select: (s) => {\n return s.matches[0]?.id\n },\n })\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n return (\n <matchContext.Provider value={matchId}>\n <CatchBoundary\n getResetKey={() => resetKey()}\n errorComponent={ErrorComponent}\n onCatch={(error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very least, consider setting an 'errorComponent' in your RootRoute!`,\n )\n warning(false, error.message || error.toString())\n }}\n >\n {matchId() ? <Match matchId={matchId()!} /> : null}\n </CatchBoundary>\n </matchContext.Provider>\n )\n}\n\nexport type UseMatchRouteOptions<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string | undefined = undefined,\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '',\n> = ToSubOptionsProps<TRouter, TFrom, TTo> &\n DeepPartial<MakeOptionalSearchParams<TRouter, TFrom, TTo>> &\n DeepPartial<MakeOptionalPathParams<TRouter, TFrom, TTo>> &\n MaskOptions<TRouter, TMaskFrom, TMaskTo> &\n MatchRouteOptions\n\nexport function useMatchRoute<TRouter extends AnyRouter = RegisteredRouter>() {\n const router = useRouter()\n\n const status = useRouterState({\n select: (s) => s.status,\n })\n\n return <\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n >(\n opts: UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,\n ): Solid.Accessor<\n false | Expand<ResolveRoute<TRouter, TFrom, TTo>['types']['allParams']>\n > => {\n const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts\n\n const matchRoute = Solid.createMemo(() => {\n status()\n return router.matchRoute(rest as any, {\n pending,\n caseSensitive,\n fuzzy,\n includeSearch,\n })\n })\n\n return matchRoute\n }\n}\n\nexport type MakeMatchRouteOptions<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string | undefined = undefined,\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '',\n> = UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo> & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | ((\n params?: RouteByPath<\n TRouter['routeTree'],\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['types']['allParams'],\n ) => Solid.JSX.Element)\n | Solid.JSX.Element\n}\n\nexport function MatchRoute<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: MakeMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): any {\n const status = useRouterState({\n select: (s) => s.status,\n })\n\n return (\n <Solid.Show when={status()} keyed>\n {(_) => {\n const matchRoute = useMatchRoute()\n const params = matchRoute(props as any)() as boolean\n\n if (typeof props.children === 'function') {\n return (props.children as any)(params)\n }\n\n return params ? props.children : null\n }}\n </Solid.Show>\n )\n}\n\nexport interface UseMatchesBaseOptions<TRouter extends AnyRouter, TSelected> {\n select?: (matches: Array<MakeRouteMatchUnion<TRouter>>) => TSelected\n}\n\nexport type UseMatchesResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? Array<MakeRouteMatchUnion<TRouter>> : TSelected\n\nexport function useMatches<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchesBaseOptions<TRouter, TSelected>,\n): Solid.Accessor<UseMatchesResult<TRouter, TSelected>> {\n return useRouterState({\n select: (state: RouterState<TRouter['routeTree']>) => {\n const matches = state.matches\n return opts?.select\n ? opts.select(matches as Array<MakeRouteMatchUnion<TRouter>>)\n : matches\n },\n } as any) as Solid.Accessor<UseMatchesResult<TRouter, TSelected>>\n}\n\nexport function useParentMatches<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchesBaseOptions<TRouter, TSelected>,\n): Solid.Accessor<UseMatchesResult<TRouter, TSelected>> {\n const contextMatchId = Solid.useContext(matchContext)\n\n return useMatches({\n select: (matches: Array<MakeRouteMatchUnion<TRouter>>) => {\n matches = matches.slice(\n 0,\n matches.findIndex((d) => d.id === contextMatchId()),\n )\n return opts?.select ? opts.select(matches) : matches\n },\n } as any)\n}\n\nexport function useChildMatches<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchesBaseOptions<TRouter, TSelected>,\n): Solid.Accessor<UseMatchesResult<TRouter, TSelected>> {\n const contextMatchId = Solid.useContext(matchContext)\n\n return useMatches({\n select: (matches: Array<MakeRouteMatchUnion<TRouter>>) => {\n matches = matches.slice(\n matches.findIndex((d) => d.id === contextMatchId()) + 1,\n )\n return opts?.select ? opts.select(matches) : matches\n },\n } as any)\n}\n"],"names":["Matches","router","useRouter","pendingElement","options","defaultPendingComponent","_$createComponent","ResolvedSuspense","isServer","document","clientSsr","SafeFragment","Solid","Suspense","inner","fallback","children","Transitioner","MatchesInner","InnerWrap","matchId","useRouterState","select","s","matches","id","resetKey","loadedAt","matchContext","Provider","value","CatchBoundary","getResetKey","errorComponent","ErrorComponent","onCatch","error","warning","message","toString","_$memo","Match","useMatchRoute","status","opts","pending","caseSensitive","fuzzy","includeSearch","rest","matchRoute","createMemo","MatchRoute","props","Show","when","keyed","_","params","useMatches","state","useParentMatches","contextMatchId","useContext","slice","findIndex","d","useChildMatches"],"mappings":"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"}
1
+ {"version":3,"file":"Matches.cjs","sources":["../../src/Matches.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { Transitioner } from './Transitioner'\nimport { matchContext } from './matchContext'\nimport { Match } from './Match'\nimport { SafeFragment } from './SafeFragment'\nimport type {\n AnyRouter,\n DeepPartial,\n Expand,\n MakeOptionalPathParams,\n MakeOptionalSearchParams,\n MakeRouteMatchUnion,\n MaskOptions,\n MatchRouteOptions,\n NoInfer,\n RegisteredRouter,\n ResolveRelativePath,\n ResolveRoute,\n RouteByPath,\n RouterState,\n ToSubOptionsProps,\n} from '@tanstack/router-core'\n\ndeclare module '@tanstack/router-core' {\n export interface RouteMatchExtensions {\n meta?: Array<Solid.JSX.IntrinsicElements['meta'] | undefined>\n links?: Array<Solid.JSX.IntrinsicElements['link'] | undefined>\n scripts?: Array<Solid.JSX.IntrinsicElements['script'] | undefined>\n styles?: Array<Solid.JSX.IntrinsicElements['style'] | undefined>\n headScripts?: Array<Solid.JSX.IntrinsicElements['script'] | undefined>\n }\n}\n\nexport function Matches() {\n const router = useRouter()\n\n const pendingElement = router.options.defaultPendingComponent ? (\n <router.options.defaultPendingComponent />\n ) : null\n\n // Do not render a root Suspense during SSR or hydrating from SSR\n const ResolvedSuspense =\n router.isServer || (typeof document !== 'undefined' && router.ssr)\n ? SafeFragment\n : Solid.Suspense\n\n const inner = (\n <ResolvedSuspense fallback={pendingElement}>\n {!router.isServer && <Transitioner />}\n <MatchesInner />\n </ResolvedSuspense>\n )\n\n return router.options.InnerWrap ? (\n <router.options.InnerWrap>{inner}</router.options.InnerWrap>\n ) : (\n inner\n )\n}\n\nfunction MatchesInner() {\n const router = useRouter()\n const matchId = useRouterState({\n select: (s) => {\n return s.matches[0]?.id\n },\n })\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const matchComponent = () =>\n matchId() ? <Match matchId={matchId()!} /> : null\n\n return (\n <matchContext.Provider value={matchId}>\n {router.options.disableGlobalCatchBoundary ? (\n matchComponent()\n ) : (\n <CatchBoundary\n getResetKey={() => resetKey()}\n errorComponent={ErrorComponent}\n onCatch={(error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very least, consider setting an 'errorComponent' in your RootRoute!`,\n )\n warning(false, error.message || error.toString())\n }}\n >\n {matchComponent()}\n </CatchBoundary>\n )}\n </matchContext.Provider>\n )\n}\n\nexport type UseMatchRouteOptions<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string | undefined = undefined,\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '',\n> = ToSubOptionsProps<TRouter, TFrom, TTo> &\n DeepPartial<MakeOptionalSearchParams<TRouter, TFrom, TTo>> &\n DeepPartial<MakeOptionalPathParams<TRouter, TFrom, TTo>> &\n MaskOptions<TRouter, TMaskFrom, TMaskTo> &\n MatchRouteOptions\n\nexport function useMatchRoute<TRouter extends AnyRouter = RegisteredRouter>() {\n const router = useRouter()\n\n const status = useRouterState({\n select: (s) => s.status,\n })\n\n return <\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n >(\n opts: UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>,\n ): Solid.Accessor<\n false | Expand<ResolveRoute<TRouter, TFrom, TTo>['types']['allParams']>\n > => {\n const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts\n\n const matchRoute = Solid.createMemo(() => {\n status()\n return router.matchRoute(rest as any, {\n pending,\n caseSensitive,\n fuzzy,\n includeSearch,\n })\n })\n\n return matchRoute\n }\n}\n\nexport type MakeMatchRouteOptions<\n TRouter extends AnyRouter = RegisteredRouter,\n TFrom extends string = string,\n TTo extends string | undefined = undefined,\n TMaskFrom extends string = TFrom,\n TMaskTo extends string = '',\n> = UseMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo> & {\n // If a function is passed as a child, it will be given the `isActive` boolean to aid in further styling on the element it returns\n children?:\n | ((\n params?: RouteByPath<\n TRouter['routeTree'],\n ResolveRelativePath<TFrom, NoInfer<TTo>>\n >['types']['allParams'],\n ) => Solid.JSX.Element)\n | Solid.JSX.Element\n}\n\nexport function MatchRoute<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string = string,\n const TTo extends string | undefined = undefined,\n const TMaskFrom extends string = TFrom,\n const TMaskTo extends string = '',\n>(props: MakeMatchRouteOptions<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>): any {\n const status = useRouterState({\n select: (s) => s.status,\n })\n\n return (\n <Solid.Show when={status()} keyed>\n {(_) => {\n const matchRoute = useMatchRoute()\n const params = matchRoute(props as any)() as boolean\n const child = props.children\n if (typeof child === 'function') {\n return (child as any)(params)\n }\n\n return params ? child : null\n }}\n </Solid.Show>\n )\n}\n\nexport interface UseMatchesBaseOptions<TRouter extends AnyRouter, TSelected> {\n select?: (matches: Array<MakeRouteMatchUnion<TRouter>>) => TSelected\n}\n\nexport type UseMatchesResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? Array<MakeRouteMatchUnion<TRouter>> : TSelected\n\nexport function useMatches<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchesBaseOptions<TRouter, TSelected>,\n): Solid.Accessor<UseMatchesResult<TRouter, TSelected>> {\n return useRouterState({\n select: (state: RouterState<TRouter['routeTree']>) => {\n const matches = state.matches\n return opts?.select\n ? opts.select(matches as Array<MakeRouteMatchUnion<TRouter>>)\n : matches\n },\n } as any) as Solid.Accessor<UseMatchesResult<TRouter, TSelected>>\n}\n\nexport function useParentMatches<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchesBaseOptions<TRouter, TSelected>,\n): Solid.Accessor<UseMatchesResult<TRouter, TSelected>> {\n const contextMatchId = Solid.useContext(matchContext)\n\n return useMatches({\n select: (matches: Array<MakeRouteMatchUnion<TRouter>>) => {\n matches = matches.slice(\n 0,\n matches.findIndex((d) => d.id === contextMatchId()),\n )\n return opts?.select ? opts.select(matches) : matches\n },\n } as any)\n}\n\nexport function useChildMatches<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseMatchesBaseOptions<TRouter, TSelected>,\n): Solid.Accessor<UseMatchesResult<TRouter, TSelected>> {\n const contextMatchId = Solid.useContext(matchContext)\n\n return useMatches({\n select: (matches: Array<MakeRouteMatchUnion<TRouter>>) => {\n matches = matches.slice(\n matches.findIndex((d) => d.id === contextMatchId()) + 1,\n )\n return opts?.select ? opts.select(matches) : matches\n },\n } as any)\n}\n"],"names":["Matches","router","useRouter","pendingElement","options","defaultPendingComponent","_$createComponent","ResolvedSuspense","isServer","document","ssr","SafeFragment","Solid","Suspense","inner","fallback","children","_$memo","Transitioner","MatchesInner","InnerWrap","matchId","useRouterState","select","s","matches","id","resetKey","loadedAt","matchComponent","Match","matchContext","Provider","value","disableGlobalCatchBoundary","CatchBoundary","getResetKey","errorComponent","ErrorComponent","onCatch","error","warning","message","toString","useMatchRoute","status","opts","pending","caseSensitive","fuzzy","includeSearch","rest","matchRoute","createMemo","MatchRoute","props","Show","when","keyed","_","params","child","useMatches","state","useParentMatches","contextMatchId","useContext","slice","findIndex","d","useChildMatches"],"mappings":"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"}
@@ -5,6 +5,7 @@ declare module '@tanstack/router-core' {
5
5
  meta?: Array<Solid.JSX.IntrinsicElements['meta'] | undefined>;
6
6
  links?: Array<Solid.JSX.IntrinsicElements['link'] | undefined>;
7
7
  scripts?: Array<Solid.JSX.IntrinsicElements['script'] | undefined>;
8
+ styles?: Array<Solid.JSX.IntrinsicElements['style'] | undefined>;
8
9
  headScripts?: Array<Solid.JSX.IntrinsicElements['script'] | undefined>;
9
10
  }
10
11
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
3
+ const Solid = require("solid-js/web");
4
4
  const Matches = require("./Matches.cjs");
5
5
  const routerContext = require("./routerContext.cjs");
6
6
  function RouterContextProvider({
@@ -17,14 +17,14 @@ function RouterContextProvider({
17
17
  }
18
18
  });
19
19
  const routerContext$1 = routerContext.getRouterContext();
20
- const provider = web.createComponent(routerContext$1.Provider, {
20
+ const provider = Solid.createComponent(routerContext$1.Provider, {
21
21
  value: router,
22
22
  get children() {
23
23
  return children();
24
24
  }
25
25
  });
26
26
  if (router.options.Wrap) {
27
- return web.createComponent(router.options.Wrap, {
27
+ return Solid.createComponent(router.options.Wrap, {
28
28
  children: provider
29
29
  });
30
30
  }
@@ -34,10 +34,10 @@ function RouterProvider({
34
34
  router,
35
35
  ...rest
36
36
  }) {
37
- return web.createComponent(RouterContextProvider, web.mergeProps({
37
+ return Solid.createComponent(RouterContextProvider, Solid.mergeProps({
38
38
  router
39
39
  }, rest, {
40
- children: () => web.createComponent(Matches.Matches, {})
40
+ children: () => Solid.createComponent(Matches.Matches, {})
41
41
  }));
42
42
  }
43
43
  exports.RouterContextProvider = RouterContextProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"RouterProvider.cjs","sources":["../../src/RouterProvider.tsx"],"sourcesContent":["import { Matches } from './Matches'\nimport { getRouterContext } from './routerContext'\nimport type * as Solid from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterOptions,\n} from '@tanstack/router-core'\n\nexport function RouterContextProvider<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({\n router,\n children,\n ...rest\n}: RouterProps<TRouter, TDehydrated> & {\n children: () => Solid.JSX.Element\n}) {\n // Allow the router to update options on the router instance\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context,\n },\n } as any)\n\n const routerContext = getRouterContext()\n\n const provider = (\n <routerContext.Provider value={router as AnyRouter}>\n {children()}\n </routerContext.Provider>\n )\n\n if (router.options.Wrap) {\n return <router.options.Wrap>{provider}</router.options.Wrap>\n }\n\n return provider\n}\n\nexport function RouterProvider<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({ router, ...rest }: RouterProps<TRouter, TDehydrated>) {\n return (\n <RouterContextProvider router={router} {...rest}>\n {() => <Matches />}\n </RouterContextProvider>\n )\n}\n\nexport type RouterProps<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n> = Omit<\n RouterOptions<\n TRouter['routeTree'],\n NonNullable<TRouter['options']['trailingSlash']>,\n false,\n TRouter['history'],\n TDehydrated\n >,\n 'context'\n> & {\n router: TRouter\n context?: Partial<\n RouterOptions<\n TRouter['routeTree'],\n NonNullable<TRouter['options']['trailingSlash']>,\n false,\n TRouter['history'],\n TDehydrated\n >['context']\n >\n}\n"],"names":["RouterContextProvider","router","children","rest","update","options","context","routerContext","getRouterContext","provider","_$createComponent","Provider","value","Wrap","RouterProvider","_$mergeProps","Matches"],"mappings":";;;;;AASO,SAASA,sBAGd;AAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAGL,GAAG;AAEDF,SAAOG,OAAO;AAAA,IACZ,GAAGH,OAAOI;AAAAA,IACV,GAAGF;AAAAA,IACHG,SAAS;AAAA,MACP,GAAGL,OAAOI,QAAQC;AAAAA,MAClB,GAAGH,KAAKG;AAAAA,IAAAA;AAAAA,EACV,CACM;AAER,QAAMC,kBAAgBC,cAAAA,iBAAiB;AAEjCC,QAAAA,WAAQC,IAAAA,gBACXH,gBAAcI,UAAQ;AAAA,IAACC,OAAOX;AAAAA,IAAmB,IAAAC,WAAA;AAAA,aAC/CA,SAAS;AAAA,IAAA;AAAA,EAAC,CAEd;AAEGD,MAAAA,OAAOI,QAAQQ,MAAM;AACvBH,WAAAA,oBAAQT,OAAOI,QAAQQ,MAAI;AAAA,MAAAX,UAAEO;AAAAA,IAAAA,CAAQ;AAAA,EAAA;AAGhCA,SAAAA;AACT;AAEO,SAASK,eAGd;AAAA,EAAEb;AAAAA,EAAQ,GAAGE;AAAwC,GAAG;AACxDO,SAAAA,IAAAA,gBACGV,uBAAqBe,eAAA;AAAA,IAACd;AAAAA,KAAoBE,MAAI;AAAA,IAAAD,UAC5CA,MAAAQ,oBAAOM,QAAAA,SAAO,CAAA,CAAA;AAAA,EAAA,CAAG,CAAA;AAGxB;;;"}
1
+ {"version":3,"file":"RouterProvider.cjs","sources":["../../src/RouterProvider.tsx"],"sourcesContent":["import { Matches } from './Matches'\nimport { getRouterContext } from './routerContext'\nimport type * as Solid from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterOptions,\n} from '@tanstack/router-core'\n\nexport function RouterContextProvider<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({\n router,\n children,\n ...rest\n}: RouterProps<TRouter, TDehydrated> & {\n children: () => Solid.JSX.Element\n}) {\n // Allow the router to update options on the router instance\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context,\n },\n } as any)\n\n const routerContext = getRouterContext()\n\n const provider = (\n <routerContext.Provider value={router as AnyRouter}>\n {children()}\n </routerContext.Provider>\n )\n\n if (router.options.Wrap) {\n return <router.options.Wrap>{provider}</router.options.Wrap>\n }\n\n return provider\n}\n\nexport function RouterProvider<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({ router, ...rest }: RouterProps<TRouter, TDehydrated>) {\n return (\n <RouterContextProvider router={router} {...rest}>\n {() => <Matches />}\n </RouterContextProvider>\n )\n}\n\nexport type RouterProps<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n> = Omit<\n RouterOptions<\n TRouter['routeTree'],\n NonNullable<TRouter['options']['trailingSlash']>,\n false,\n TRouter['history'],\n TDehydrated\n >,\n 'context'\n> & {\n router: TRouter\n context?: Partial<\n RouterOptions<\n TRouter['routeTree'],\n NonNullable<TRouter['options']['trailingSlash']>,\n false,\n TRouter['history'],\n TDehydrated\n >['context']\n >\n}\n"],"names":["RouterContextProvider","router","children","rest","update","options","context","routerContext","getRouterContext","provider","_$createComponent","Provider","value","Wrap","RouterProvider","_$mergeProps","Matches"],"mappings":";;;;;AASO,SAASA,sBAGd;AAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAGL,GAAG;AAEDF,SAAOG,OAAO;AAAA,IACZ,GAAGH,OAAOI;AAAAA,IACV,GAAGF;AAAAA,IACHG,SAAS;AAAA,MACP,GAAGL,OAAOI,QAAQC;AAAAA,MAClB,GAAGH,KAAKG;AAAAA,IAAAA;AAAAA,EACV,CACM;AAER,QAAMC,kBAAgBC,cAAAA,iBAAAA;AAEtB,QAAMC,WAAQC,MAAAA,gBACXH,gBAAcI,UAAQ;AAAA,IAACC,OAAOX;AAAAA,IAAmB,IAAAC,WAAA;AAAA,aAC/CA,SAAAA;AAAAA,IAAU;AAAA,EAAA,CAAA;AAIf,MAAID,OAAOI,QAAQQ,MAAM;AACvB,WAAAH,sBAAQT,OAAOI,QAAQQ,MAAI;AAAA,MAAAX,UAAEO;AAAAA,IAAAA,CAAQ;AAAA,EACvC;AAEA,SAAOA;AACT;AAEO,SAASK,eAGd;AAAA,EAAEb;AAAAA,EAAQ,GAAGE;AAAwC,GAAG;AACxD,SAAAO,MAAAA,gBACGV,uBAAqBe,iBAAA;AAAA,IAACd;AAAAA,EAAAA,GAAoBE,MAAI;AAAA,IAAAD,UAC5CA,MAAAQ,sBAAOM,QAAAA,SAAO,CAAA,CAAA;AAAA,EAAA,CAAG,CAAA;AAGxB;;;"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
3
+ const Solid = require("solid-js/web");
4
4
  function SafeFragment(props) {
5
- return web.memo(() => props.children);
5
+ return Solid.memo(() => props.children);
6
6
  }
7
7
  exports.SafeFragment = SafeFragment;
8
8
  //# sourceMappingURL=SafeFragment.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SafeFragment.cjs","sources":["../../src/SafeFragment.tsx"],"sourcesContent":["export function SafeFragment(props: any) {\n return <>{props.children}</>\n}\n"],"names":["SafeFragment","props","_$memo","children"],"mappings":";;;AAAO,SAASA,aAAaC,OAAY;AACvCC,SAAAA,IAAAA,KAAA,MAAUD,MAAME,QAAQ;AAC1B;;"}
1
+ {"version":3,"file":"SafeFragment.cjs","sources":["../../src/SafeFragment.tsx"],"sourcesContent":["export function SafeFragment(props: any) {\n return <>{props.children}</>\n}\n"],"names":["SafeFragment","props","_$memo","children"],"mappings":";;;AAAO,SAASA,aAAaC,OAAY;AACvC,SAAAC,MAAAA,KAAA,MAAUD,MAAME,QAAQ;AAC1B;;"}
@@ -1,21 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
4
- const jsesc = require("jsesc");
5
- var _tmpl$ = /* @__PURE__ */ web.template(`<script class=tsr-once>`);
3
+ const Solid = require("solid-js/web");
4
+ var _tmpl$ = /* @__PURE__ */ Solid.template(`<script class=tsr-once>`);
6
5
  function ScriptOnce({
7
- children,
8
- log
6
+ children
9
7
  }) {
10
8
  if (typeof document !== "undefined") {
11
9
  return null;
12
10
  }
13
11
  return (() => {
14
12
  var _el$ = _tmpl$();
15
- web.effect(() => _el$.innerHTML = [children, (log ?? true) && process.env.NODE_ENV === "development" ? `console.info(\`Injected From Server:
16
- ${jsesc(children.toString(), {
17
- quotes: "backtick"
18
- })}\`)` : "", 'if (typeof __TSR_SSR__ !== "undefined") __TSR_SSR__.cleanScripts()'].filter(Boolean).join("\n"));
13
+ Solid.effect(() => _el$.innerHTML = [children].filter(Boolean).join("\n"));
19
14
  return _el$;
20
15
  })();
21
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptOnce.cjs","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["import jsesc from 'jsesc'\n\nexport function ScriptOnce({\n children,\n log,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n if (typeof document !== 'undefined') {\n return null\n }\n\n return (\n <script\n class=\"tsr-once\"\n innerHTML={[\n children,\n (log ?? true) && process.env.NODE_ENV === 'development'\n ? `console.info(\\`Injected From Server:\n${jsesc(children.toString(), { quotes: 'backtick' })}\\`)`\n : '',\n 'if (typeof __TSR_SSR__ !== \"undefined\") __TSR_SSR__.cleanScripts()',\n ]\n .filter(Boolean)\n .join('\\n')}\n />\n )\n}\n"],"names":["ScriptOnce","children","log","document","_el$","_tmpl$","_$effect","innerHTML","process","env","NODE_ENV","jsesc","toString","quotes","filter","Boolean","join"],"mappings":";;;;;AAEO,SAASA,WAAW;AAAA,EACzBC;AAAAA,EACAC;AAKF,GAAG;AACG,MAAA,OAAOC,aAAa,aAAa;AAC5B,WAAA;AAAA,EAAA;AAGT,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,QAAAA,OAAA,MAAAF,KAAAG,YAGe,CACTN,WACCC,OAAO,SAASM,QAAQC,IAAIC,aAAa,gBACtC;AAAA,EACVC,MAAMV,SAASW,YAAY;AAAA,MAAEC,QAAQ;AAAA,IAAA,CAAY,CAAC,QACxC,IACJ,oEAAoE,EAEnEC,OAAOC,OAAO,EACdC,KAAK,IAAI,CAAC;AAAAZ,WAAAA;AAAAA,EAAAA,GAAA;AAGnB;;"}
1
+ {"version":3,"file":"ScriptOnce.cjs","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["export function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n if (typeof document !== 'undefined') {\n return null\n }\n\n return (\n <script\n class=\"tsr-once\"\n innerHTML={[children].filter(Boolean).join('\\n')}\n />\n )\n}\n"],"names":["ScriptOnce","children","document","_el$","_tmpl$","_$effect","innerHTML","filter","Boolean","join"],"mappings":";;;;AAAO,SAASA,WAAW;AAAA,EACzBC;AAKF,GAAG;AACD,MAAI,OAAOC,aAAa,aAAa;AACnC,WAAO;AAAA,EACT;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,UAAAA,aAAAF,KAAAG,YAGe,CAACL,QAAQ,EAAEM,OAAOC,OAAO,EAAEC,KAAK,IAAI,CAAC;AAAA,WAAAN;AAAAA,EAAA,GAAA;AAGtD;;"}
@@ -1,4 +1,4 @@
1
- export declare function ScriptOnce({ children, log, }: {
1
+ export declare function ScriptOnce({ children, }: {
2
2
  children: string;
3
3
  log?: boolean;
4
4
  sync?: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
3
+ const Solid = require("solid-js/web");
4
4
  const Asset = require("./Asset.cjs");
5
5
  const useRouterState = require("./useRouterState.cjs");
6
6
  const useRouter = require("./useRouter.cjs");
@@ -8,22 +8,18 @@ const Scripts = () => {
8
8
  const router = useRouter.useRouter();
9
9
  const assetScripts = useRouterState.useRouterState({
10
10
  select: (state) => {
11
- var _a;
12
11
  const assetScripts2 = [];
13
- const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;
12
+ const manifest = router.ssr?.manifest;
14
13
  if (!manifest) {
15
14
  return [];
16
15
  }
17
- state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach((route) => {
18
- var _a2, _b;
19
- return (_b = (_a2 = manifest.routes[route.id]) == null ? void 0 : _a2.assets) == null ? void 0 : _b.filter((d) => d.tag === "script").forEach((asset) => {
20
- assetScripts2.push({
21
- tag: "script",
22
- attrs: asset.attrs,
23
- children: asset.children
24
- });
16
+ state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach((route) => manifest.routes[route.id]?.assets?.filter((d) => d.tag === "script").forEach((asset) => {
17
+ assetScripts2.push({
18
+ tag: "script",
19
+ attrs: asset.attrs,
20
+ children: asset.children
25
21
  });
26
- });
22
+ }));
27
23
  return assetScripts2;
28
24
  }
29
25
  });
@@ -42,7 +38,7 @@ const Scripts = () => {
42
38
  })
43
39
  });
44
40
  const allScripts = [...scripts().scripts, ...assetScripts()];
45
- return web.memo(() => allScripts.map((asset, i) => web.createComponent(Asset.Asset, asset)));
41
+ return Solid.memo(() => allScripts.map((asset, i) => Solid.createComponent(Asset.Asset, asset)));
46
42
  };
47
43
  exports.Scripts = Scripts;
48
44
  //# sourceMappingURL=Scripts.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scripts.cjs","sources":["../../src/Scripts.tsx"],"sourcesContent":["import { Asset } from './Asset'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const Scripts = () => {\n const router = useRouter()\n\n const assetScripts = useRouterState({\n select: (state) => {\n const assetScripts: Array<RouterManagedTag> = []\n const manifest = router.ssr?.manifest\n\n if (!manifest) {\n return []\n }\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n manifest.routes[route.id]?.assets\n ?.filter((d) => d.tag === 'script')\n .forEach((asset) => {\n assetScripts.push({\n tag: 'script',\n attrs: asset.attrs,\n children: asset.children,\n } as any)\n }),\n )\n\n return assetScripts\n },\n })\n\n const scripts = useRouterState({\n select: (state) => ({\n scripts: (\n state.matches\n .map((match) => match.scripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n },\n children,\n })),\n }),\n })\n\n const allScripts = [\n ...scripts().scripts,\n ...assetScripts(),\n ] as Array<RouterManagedTag>\n\n return (\n <>\n {allScripts.map((asset, i) => (\n <Asset {...asset} />\n ))}\n </>\n )\n}\n"],"names":["Scripts","router","useRouter","assetScripts","useRouterState","select","state","manifest","ssr","matches","map","match","looseRoutesById","routeId","forEach","route","routes","id","assets","filter","d","tag","asset","push","attrs","children","scripts","flat","Boolean","script","allScripts","_$memo","i","_$createComponent","Asset"],"mappings":";;;;;;AAKO,MAAMA,UAAUA,MAAM;AAC3B,QAAMC,SAASC,UAAAA,UAAU;AAEzB,QAAMC,eAAeC,eAAAA,eAAe;AAAA,IAClCC,QAASC,CAAU,UAAA;;AACjB,YAAMH,gBAAwC,CAAE;AAC1CI,YAAAA,YAAWN,YAAOO,QAAPP,mBAAYM;AAE7B,UAAI,CAACA,UAAU;AACb,eAAO,CAAE;AAAA,MAAA;AAGLE,YAAAA,QACHC,IAAKC,CAAAA,UAAUV,OAAOW,gBAAgBD,MAAME,OAAO,CAAE,EACrDC,QAASC,CACRR,UAAAA;;AAAAA,sBAAAA,MAAAA,SAASS,OAAOD,MAAME,EAAE,MAAxBV,gBAAAA,IAA2BW,WAA3BX,mBACIY,OAAQC,CAAAA,MAAMA,EAAEC,QAAQ,UACzBP,QAASQ,CAAU,UAAA;AAClBnB,wBAAaoB,KAAK;AAAA,YAChBF,KAAK;AAAA,YACLG,OAAOF,MAAME;AAAAA,YACbC,UAAUH,MAAMG;AAAAA,UAAAA,CACV;AAAA,QAAA;AAAA,OAEd;AAEKtB,aAAAA;AAAAA,IAAAA;AAAAA,EACT,CACD;AAED,QAAMuB,UAAUtB,eAAAA,eAAe;AAAA,IAC7BC,QAASC,CAAW,WAAA;AAAA,MAClBoB,SACEpB,MAAMG,QACHC,IAAKC,WAAUA,MAAMe,OAAQ,EAC7BC,KAAK,CAAC,EACNR,OAAOS,OAAO,EACjBlB,IAAI,CAAC;AAAA,QAAEe;AAAAA,QAAU,GAAGI;AAAAA,MAAAA,OAAc;AAAA,QAClCR,KAAK;AAAA,QACLG,OAAO;AAAA,UACL,GAAGK;AAAAA,QACL;AAAA,QACAJ;AAAAA,MAAAA,EACA;AAAA,IACJ;AAAA,EAAA,CACD;AAEKK,QAAAA,aAAa,CACjB,GAAGJ,UAAUA,SACb,GAAGvB,cAAc;AAGnB4B,SAAAA,SAEKD,MAAAA,WAAWpB,IAAI,CAACY,OAAOU,MAACC,oBACtBC,MAAAA,OAAUZ,KAAK,CACjB,CAAC;AAGR;;"}
1
+ {"version":3,"file":"Scripts.cjs","sources":["../../src/Scripts.tsx"],"sourcesContent":["import { Asset } from './Asset'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const Scripts = () => {\n const router = useRouter()\n\n const assetScripts = useRouterState({\n select: (state) => {\n const assetScripts: Array<RouterManagedTag> = []\n const manifest = router.ssr?.manifest\n\n if (!manifest) {\n return []\n }\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n manifest.routes[route.id]?.assets\n ?.filter((d) => d.tag === 'script')\n .forEach((asset) => {\n assetScripts.push({\n tag: 'script',\n attrs: asset.attrs,\n children: asset.children,\n } as any)\n }),\n )\n\n return assetScripts\n },\n })\n\n const scripts = useRouterState({\n select: (state) => ({\n scripts: (\n state.matches\n .map((match) => match.scripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n },\n children,\n })),\n }),\n })\n\n const allScripts = [\n ...scripts().scripts,\n ...assetScripts(),\n ] as Array<RouterManagedTag>\n\n return (\n <>\n {allScripts.map((asset, i) => (\n <Asset {...asset} />\n ))}\n </>\n )\n}\n"],"names":["Scripts","router","useRouter","assetScripts","useRouterState","select","state","manifest","ssr","matches","map","match","looseRoutesById","routeId","forEach","route","routes","id","assets","filter","d","tag","asset","push","attrs","children","scripts","flat","Boolean","script","allScripts","_$memo","i","_$createComponent","Asset"],"mappings":";;;;;;AAKO,MAAMA,UAAUA,MAAM;AAC3B,QAAMC,SAASC,UAAAA,UAAAA;AAEf,QAAMC,eAAeC,eAAAA,eAAe;AAAA,IAClCC,QAASC,CAAAA,UAAU;AACjB,YAAMH,gBAAwC,CAAA;AAC9C,YAAMI,WAAWN,OAAOO,KAAKD;AAE7B,UAAI,CAACA,UAAU;AACb,eAAO,CAAA;AAAA,MACT;AAEAD,YAAMG,QACHC,IAAKC,CAAAA,UAAUV,OAAOW,gBAAgBD,MAAME,OAAO,CAAE,EACrDC,QAASC,CAAAA,UACRR,SAASS,OAAOD,MAAME,EAAE,GAAGC,QACvBC,OAAQC,CAAAA,MAAMA,EAAEC,QAAQ,QAAQ,EACjCP,QAASQ,CAAAA,UAAU;AAClBnB,sBAAaoB,KAAK;AAAA,UAChBF,KAAK;AAAA,UACLG,OAAOF,MAAME;AAAAA,UACbC,UAAUH,MAAMG;AAAAA,QAAAA,CACV;AAAA,MACV,CAAC,CACL;AAEF,aAAOtB;AAAAA,IACT;AAAA,EAAA,CACD;AAED,QAAMuB,UAAUtB,eAAAA,eAAe;AAAA,IAC7BC,QAASC,CAAAA,WAAW;AAAA,MAClBoB,SACEpB,MAAMG,QACHC,IAAKC,WAAUA,MAAMe,OAAQ,EAC7BC,KAAK,CAAC,EACNR,OAAOS,OAAO,EACjBlB,IAAI,CAAC;AAAA,QAAEe;AAAAA,QAAU,GAAGI;AAAAA,MAAAA,OAAc;AAAA,QAClCR,KAAK;AAAA,QACLG,OAAO;AAAA,UACL,GAAGK;AAAAA,QAAAA;AAAAA,QAELJ;AAAAA,MAAAA,EACA;AAAA,IAAA;AAAA,EACJ,CACD;AAED,QAAMK,aAAa,CACjB,GAAGJ,QAAAA,EAAUA,SACb,GAAGvB,cAAc;AAGnB,SAAA4B,WAAA,MAEKD,WAAWpB,IAAI,CAACY,OAAOU,MAACC,sBACtBC,MAAAA,OAAUZ,KAAK,CACjB,CAAC;AAGR;;"}
@@ -14,7 +14,6 @@ function ScrollRestoration(_props) {
14
14
  return null;
15
15
  }
16
16
  function useElementScrollRestoration(options) {
17
- var _a, _b;
18
17
  useScrollRestoration();
19
18
  const router = useRouter.useRouter();
20
19
  const getKey = options.getKey || routerCore.defaultGetScrollRestorationKey;
@@ -22,15 +21,15 @@ function useElementScrollRestoration(options) {
22
21
  if (options.id) {
23
22
  elementSelector = `[data-scroll-restoration-id="${options.id}"]`;
24
23
  } else {
25
- const element = (_a = options.getElement) == null ? void 0 : _a.call(options);
24
+ const element = options.getElement?.();
26
25
  if (!element) {
27
26
  return;
28
27
  }
29
28
  elementSelector = element instanceof Window ? "window" : routerCore.getCssSelector(element);
30
29
  }
31
30
  const restoreKey = getKey(router.latestLocation);
32
- const byKey = (_b = routerCore.scrollRestorationCache) == null ? void 0 : _b.state[restoreKey];
33
- return byKey == null ? void 0 : byKey[elementSelector];
31
+ const byKey = routerCore.scrollRestorationCache?.state[restoreKey];
32
+ return byKey?.[elementSelector];
34
33
  }
35
34
  exports.ScrollRestoration = ScrollRestoration;
36
35
  exports.useElementScrollRestoration = useElementScrollRestoration;
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollRestoration.cjs","sources":["../../src/ScrollRestoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n getCssSelector,\n scrollRestorationCache,\n setupScrollRestoration,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n ParsedLocation,\n ScrollRestorationEntry,\n ScrollRestorationOptions,\n} from '@tanstack/router-core'\n\nfunction useScrollRestoration() {\n const router = useRouter()\n setupScrollRestoration(router, true)\n}\n\n/**\n * @deprecated use createRouter's `scrollRestoration` option instead\n */\nexport function ScrollRestoration(_props: ScrollRestorationOptions) {\n useScrollRestoration()\n\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\",\n )\n }\n\n return null\n}\n\nexport function useElementScrollRestoration(\n options: (\n | {\n id: string\n getElement?: () => Window | Element | undefined | null\n }\n | {\n id?: string\n getElement: () => Window | Element | undefined | null\n }\n ) & {\n getKey?: (location: ParsedLocation) => string\n },\n): ScrollRestorationEntry | undefined {\n useScrollRestoration()\n\n const router = useRouter()\n const getKey = options.getKey || defaultGetScrollRestorationKey\n\n let elementSelector = ''\n\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`\n } else {\n const element = options.getElement?.()\n if (!element) {\n return\n }\n elementSelector =\n element instanceof Window ? 'window' : getCssSelector(element)\n }\n\n const restoreKey = getKey(router.latestLocation)\n const byKey = scrollRestorationCache?.state[restoreKey]\n return byKey?.[elementSelector]\n}\n"],"names":["useScrollRestoration","router","useRouter","setupScrollRestoration","ScrollRestoration","_props","process","env","NODE_ENV","console","warn","useElementScrollRestoration","options","getKey","defaultGetScrollRestorationKey","elementSelector","id","element","getElement","Window","getCssSelector","restoreKey","latestLocation","byKey","scrollRestorationCache","state"],"mappings":";;;;AAaA,SAASA,uBAAuB;AAC9B,QAAMC,SAASC,UAAAA,UAAU;AACzBC,aAAAA,uBAAuBF,QAAQ,IAAI;AACrC;AAKO,SAASG,kBAAkBC,QAAkC;AAC7C,uBAAA;AAEjBC,MAAAA,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KACN,uGACF;AAAA,EAAA;AAGK,SAAA;AACT;AAEO,SAASC,4BACdC,SAYoC;;AACf,uBAAA;AAErB,QAAMX,SAASC,UAAAA,UAAU;AACnBW,QAAAA,SAASD,QAAQC,UAAUC,WAAAA;AAEjC,MAAIC,kBAAkB;AAEtB,MAAIH,QAAQI,IAAI;AACI,sBAAA,gCAAgCJ,QAAQI,EAAE;AAAA,EAAA,OACvD;AACCC,UAAAA,WAAUL,aAAQM,eAARN;AAChB,QAAI,CAACK,SAAS;AACZ;AAAA,IAAA;AAEFF,sBACEE,mBAAmBE,SAAS,WAAWC,WAAAA,eAAeH,OAAO;AAAA,EAAA;AAG3DI,QAAAA,aAAaR,OAAOZ,OAAOqB,cAAc;AACzCC,QAAAA,SAAQC,gBAAAA,2BAAAA,mBAAwBC,MAAMJ;AAC5C,SAAOE,+BAAQR;AACjB;;;"}
1
+ {"version":3,"file":"ScrollRestoration.cjs","sources":["../../src/ScrollRestoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n getCssSelector,\n scrollRestorationCache,\n setupScrollRestoration,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n ParsedLocation,\n ScrollRestorationEntry,\n ScrollRestorationOptions,\n} from '@tanstack/router-core'\n\nfunction useScrollRestoration() {\n const router = useRouter()\n setupScrollRestoration(router, true)\n}\n\n/**\n * @deprecated use createRouter's `scrollRestoration` option instead\n */\nexport function ScrollRestoration(_props: ScrollRestorationOptions) {\n useScrollRestoration()\n\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\",\n )\n }\n\n return null\n}\n\nexport function useElementScrollRestoration(\n options: (\n | {\n id: string\n getElement?: () => Window | Element | undefined | null\n }\n | {\n id?: string\n getElement: () => Window | Element | undefined | null\n }\n ) & {\n getKey?: (location: ParsedLocation) => string\n },\n): ScrollRestorationEntry | undefined {\n useScrollRestoration()\n\n const router = useRouter()\n const getKey = options.getKey || defaultGetScrollRestorationKey\n\n let elementSelector = ''\n\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`\n } else {\n const element = options.getElement?.()\n if (!element) {\n return\n }\n elementSelector =\n element instanceof Window ? 'window' : getCssSelector(element)\n }\n\n const restoreKey = getKey(router.latestLocation)\n const byKey = scrollRestorationCache?.state[restoreKey]\n return byKey?.[elementSelector]\n}\n"],"names":["useScrollRestoration","router","useRouter","setupScrollRestoration","ScrollRestoration","_props","process","env","NODE_ENV","console","warn","useElementScrollRestoration","options","getKey","defaultGetScrollRestorationKey","elementSelector","id","element","getElement","Window","getCssSelector","restoreKey","latestLocation","byKey","scrollRestorationCache","state"],"mappings":";;;;AAaA,SAASA,uBAAuB;AAC9B,QAAMC,SAASC,UAAAA,UAAAA;AACfC,aAAAA,uBAAuBF,QAAQ,IAAI;AACrC;AAKO,SAASG,kBAAkBC,QAAkC;AAClEL,uBAAAA;AAEA,MAAIM,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KACN,uGACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAASC,4BACdC,SAYoC;AACpCZ,uBAAAA;AAEA,QAAMC,SAASC,UAAAA,UAAAA;AACf,QAAMW,SAASD,QAAQC,UAAUC,WAAAA;AAEjC,MAAIC,kBAAkB;AAEtB,MAAIH,QAAQI,IAAI;AACdD,sBAAkB,gCAAgCH,QAAQI,EAAE;AAAA,EAC9D,OAAO;AACL,UAAMC,UAAUL,QAAQM,aAAAA;AACxB,QAAI,CAACD,SAAS;AACZ;AAAA,IACF;AACAF,sBACEE,mBAAmBE,SAAS,WAAWC,WAAAA,eAAeH,OAAO;AAAA,EACjE;AAEA,QAAMI,aAAaR,OAAOZ,OAAOqB,cAAc;AAC/C,QAAMC,QAAQC,WAAAA,wBAAwBC,MAAMJ,UAAU;AACtD,SAAOE,QAAQR,eAAe;AAChC;;;"}
@@ -42,13 +42,11 @@ function Transitioner() {
42
42
  const previousIsAnyPending = utils.usePrevious(isAnyPending);
43
43
  const isPagePending = () => isLoading() || hasPendingMatches();
44
44
  const previousIsPagePending = utils.usePrevious(isPagePending);
45
- if (!router.isServer) {
46
- router.startTransition = async (fn) => {
47
- setIsTransitioning(true);
48
- await fn();
49
- setIsTransitioning(false);
50
- };
51
- }
45
+ router.startTransition = async (fn) => {
46
+ setIsTransitioning(true);
47
+ await fn();
48
+ setIsTransitioning(false);
49
+ };
52
50
  Solid__namespace.onMount(() => {
53
51
  const unsub = router.history.subscribe(router.load);
54
52
  const nextLocation = router.buildLocation({
@@ -71,7 +69,10 @@ function Transitioner() {
71
69
  });
72
70
  Solid__namespace.createRenderEffect(() => {
73
71
  Solid__namespace.untrack(() => {
74
- if (typeof window !== "undefined" && router.clientSsr || mountLoadForRouter.router === router && mountLoadForRouter.mounted) {
72
+ if (
73
+ // if we are hydrating from SSR, loading is triggered in ssr-client
74
+ typeof window !== "undefined" && router.ssr || mountLoadForRouter.router === router && mountLoadForRouter.mounted
75
+ ) {
75
76
  return;
76
77
  }
77
78
  mountLoadForRouter = {
@@ -1 +1 @@
1
- {"version":3,"file":"Transitioner.cjs","sources":["../../src/Transitioner.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n getLocationChangeInfo,\n handleHashScroll,\n trimPathRight,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport { usePrevious } from './utils'\n\nexport function Transitioner() {\n const router = useRouter()\n let mountLoadForRouter = { router, mounted: false }\n const isLoading = useRouterState({\n select: ({ isLoading }) => isLoading,\n })\n\n const [isTransitioning, setIsTransitioning] = Solid.createSignal(false)\n // Track pending state changes\n const hasPendingMatches = useRouterState({\n select: (s) => s.matches.some((d) => d.status === 'pending'),\n })\n\n const previousIsLoading = usePrevious(isLoading)\n\n const isAnyPending = () =>\n isLoading() || isTransitioning() || hasPendingMatches()\n const previousIsAnyPending = usePrevious(isAnyPending)\n\n const isPagePending = () => isLoading() || hasPendingMatches()\n const previousIsPagePending = usePrevious(isPagePending)\n\n if (!router.isServer) {\n router.startTransition = async (fn: () => void | Promise<void>) => {\n setIsTransitioning(true)\n await fn()\n setIsTransitioning(false)\n }\n }\n\n // Subscribe to location changes\n // and try to load the new location\n Solid.onMount(() => {\n const unsub = router.history.subscribe(router.load)\n\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true,\n })\n\n if (\n trimPathRight(router.latestLocation.href) !==\n trimPathRight(nextLocation.href)\n ) {\n router.commitLocation({ ...nextLocation, replace: true })\n }\n\n Solid.onCleanup(() => {\n unsub()\n })\n })\n\n // Try to load the initial location\n Solid.createRenderEffect(() => {\n Solid.untrack(() => {\n if (\n (typeof window !== 'undefined' && router.clientSsr) ||\n (mountLoadForRouter.router === router && mountLoadForRouter.mounted)\n ) {\n return\n }\n mountLoadForRouter = { router, mounted: true }\n const tryLoad = async () => {\n try {\n await router.load()\n } catch (err) {\n console.error(err)\n }\n }\n tryLoad()\n })\n })\n\n Solid.createRenderEffect(\n Solid.on(\n [previousIsLoading, isLoading],\n ([previousIsLoading, isLoading]) => {\n if (previousIsLoading.previous && !isLoading) {\n router.emit({\n type: 'onLoad',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n Solid.createRenderEffect(\n Solid.on(\n [isPagePending, previousIsPagePending],\n ([isPagePending, previousIsPagePending]) => {\n // emit onBeforeRouteMount\n if (previousIsPagePending.previous && !isPagePending) {\n router.emit({\n type: 'onBeforeRouteMount',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createRenderEffect(\n Solid.on(\n [isAnyPending, previousIsAnyPending],\n ([isAnyPending, previousIsAnyPending]) => {\n // The router was pending and now it's not\n if (previousIsAnyPending.previous && !isAnyPending) {\n router.emit({\n type: 'onResolved',\n ...getLocationChangeInfo(router.state),\n })\n\n router.__store.setState((s) => ({\n ...s,\n status: 'idle',\n resolvedLocation: s.location,\n }))\n\n handleHashScroll(router)\n }\n },\n ),\n )\n\n return null\n}\n"],"names":["Transitioner","router","useRouter","mountLoadForRouter","mounted","isLoading","useRouterState","select","isTransitioning","setIsTransitioning","Solid","createSignal","hasPendingMatches","s","matches","some","d","status","previousIsLoading","usePrevious","isAnyPending","previousIsAnyPending","isPagePending","previousIsPagePending","isServer","startTransition","fn","onMount","unsub","history","subscribe","load","nextLocation","buildLocation","to","latestLocation","pathname","search","params","hash","state","_includeValidateSearch","trimPathRight","href","commitLocation","replace","onCleanup","createRenderEffect","untrack","window","clientSsr","tryLoad","err","console","error","on","previous","emit","type","getLocationChangeInfo","__store","setState","resolvedLocation","location","handleHashScroll"],"mappings":"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"}
1
+ {"version":3,"file":"Transitioner.cjs","sources":["../../src/Transitioner.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n getLocationChangeInfo,\n handleHashScroll,\n trimPathRight,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport { usePrevious } from './utils'\n\nexport function Transitioner() {\n const router = useRouter()\n let mountLoadForRouter = { router, mounted: false }\n const isLoading = useRouterState({\n select: ({ isLoading }) => isLoading,\n })\n\n const [isTransitioning, setIsTransitioning] = Solid.createSignal(false)\n // Track pending state changes\n const hasPendingMatches = useRouterState({\n select: (s) => s.matches.some((d) => d.status === 'pending'),\n })\n\n const previousIsLoading = usePrevious(isLoading)\n\n const isAnyPending = () =>\n isLoading() || isTransitioning() || hasPendingMatches()\n const previousIsAnyPending = usePrevious(isAnyPending)\n\n const isPagePending = () => isLoading() || hasPendingMatches()\n const previousIsPagePending = usePrevious(isPagePending)\n\n router.startTransition = async (fn: () => void | Promise<void>) => {\n setIsTransitioning(true)\n await fn()\n setIsTransitioning(false)\n }\n\n // Subscribe to location changes\n // and try to load the new location\n Solid.onMount(() => {\n const unsub = router.history.subscribe(router.load)\n\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true,\n })\n\n if (\n trimPathRight(router.latestLocation.href) !==\n trimPathRight(nextLocation.href)\n ) {\n router.commitLocation({ ...nextLocation, replace: true })\n }\n\n Solid.onCleanup(() => {\n unsub()\n })\n })\n\n // Try to load the initial location\n Solid.createRenderEffect(() => {\n Solid.untrack(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n (typeof window !== 'undefined' && router.ssr) ||\n (mountLoadForRouter.router === router && mountLoadForRouter.mounted)\n ) {\n return\n }\n mountLoadForRouter = { router, mounted: true }\n const tryLoad = async () => {\n try {\n await router.load()\n } catch (err) {\n console.error(err)\n }\n }\n tryLoad()\n })\n })\n\n Solid.createRenderEffect(\n Solid.on(\n [previousIsLoading, isLoading],\n ([previousIsLoading, isLoading]) => {\n if (previousIsLoading.previous && !isLoading) {\n router.emit({\n type: 'onLoad',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createRenderEffect(\n Solid.on(\n [isPagePending, previousIsPagePending],\n ([isPagePending, previousIsPagePending]) => {\n // emit onBeforeRouteMount\n if (previousIsPagePending.previous && !isPagePending) {\n router.emit({\n type: 'onBeforeRouteMount',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createRenderEffect(\n Solid.on(\n [isAnyPending, previousIsAnyPending],\n ([isAnyPending, previousIsAnyPending]) => {\n // The router was pending and now it's not\n if (previousIsAnyPending.previous && !isAnyPending) {\n router.emit({\n type: 'onResolved',\n ...getLocationChangeInfo(router.state),\n })\n\n router.__store.setState((s) => ({\n ...s,\n status: 'idle',\n resolvedLocation: s.location,\n }))\n\n handleHashScroll(router)\n }\n },\n ),\n )\n\n return null\n}\n"],"names":["Transitioner","router","useRouter","mountLoadForRouter","mounted","isLoading","useRouterState","select","isTransitioning","setIsTransitioning","Solid","createSignal","hasPendingMatches","s","matches","some","d","status","previousIsLoading","usePrevious","isAnyPending","previousIsAnyPending","isPagePending","previousIsPagePending","startTransition","fn","onMount","unsub","history","subscribe","load","nextLocation","buildLocation","to","latestLocation","pathname","search","params","hash","state","_includeValidateSearch","trimPathRight","href","commitLocation","replace","onCleanup","createRenderEffect","untrack","window","ssr","tryLoad","err","console","error","on","previous","emit","type","getLocationChangeInfo","__store","setState","resolvedLocation","location","handleHashScroll"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const web = require("solid-js/web");
3
+ const Solid$1 = require("solid-js/web");
4
4
  const Solid = require("solid-js");
5
5
  const routerCore = require("@tanstack/router-core");
6
6
  function _interopNamespaceDefault(e) {
@@ -34,7 +34,7 @@ function useAwaited({
34
34
  }
35
35
  function Await(props) {
36
36
  const [resource] = Solid__namespace.createResource(() => props.promise);
37
- return web.createComponent(Solid__namespace.Show, {
37
+ return Solid$1.createComponent(Solid__namespace.Show, {
38
38
  get fallback() {
39
39
  return props.fallback;
40
40
  },
@@ -1 +1 @@
1
- {"version":3,"file":"awaited.cjs","sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [T, DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(() => props.promise)\n\n return (\n <Solid.Show fallback={props.fallback} when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n}\n"],"names":["useAwaited","promise","_promise","defer","TSR_DEFERRED_PROMISE","status","error","data","Await","props","resource","Solid","createResource","_$createComponent","Show","fallback","when","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUO,SAASA,WAAc;AAAA,EAC5BC,SAASC;AACM,GAA4B;AACrCD,QAAAA,UAAUE,iBAAMD,QAAQ;AAE9B,MAAID,QAAQG,WAAAA,oBAAoB,EAAEC,WAAW,WAAW;AAChDJ,UAAAA;AAAAA,EAAAA;AAGR,MAAIA,QAAQG,WAAAA,oBAAoB,EAAEC,WAAW,SAAS;AAC9CJ,UAAAA,QAAQG,WAAoB,oBAAA,EAAEE;AAAAA,EAAAA;AAGtC,SAAO,CAACL,QAAQG,WAAAA,oBAAoB,EAAEG,MAAMN,OAAO;AACrD;AAEO,SAASO,MACdC,OAIA;AACA,QAAM,CAACC,QAAQ,IAAIC,iBAAMC,eAAe,MAAMH,MAAMR,OAAO;AAE3DY,SAAAA,IAAAA,gBACGF,iBAAMG,MAAI;AAAA,IAAA,IAACC,WAAQ;AAAA,aAAEN,MAAMM;AAAAA,IAAQ;AAAA,IAAA,IAAEC,OAAI;AAAA,aAAEN,SAAS;AAAA,IAAC;AAAA,IAAAO,UAClDV,CAAAA,SAASE,MAAMQ,SAASV,KAAM,CAAA;AAAA,EAAA,CAAC;AAGvC;;;"}
1
+ {"version":3,"file":"awaited.cjs","sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [T, DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(() => props.promise)\n\n return (\n <Solid.Show fallback={props.fallback} when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n}\n"],"names":["useAwaited","promise","_promise","defer","TSR_DEFERRED_PROMISE","status","error","data","Await","props","resource","Solid","createResource","_$createComponent","Show","fallback","when","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUO,SAASA,WAAc;AAAA,EAC5BC,SAASC;AACM,GAA4B;AAC3C,QAAMD,UAAUE,WAAAA,MAAMD,QAAQ;AAE9B,MAAID,QAAQG,WAAAA,oBAAoB,EAAEC,WAAW,WAAW;AACtD,UAAMJ;AAAAA,EACR;AAEA,MAAIA,QAAQG,WAAAA,oBAAoB,EAAEC,WAAW,SAAS;AACpD,UAAMJ,QAAQG,WAAAA,oBAAoB,EAAEE;AAAAA,EACtC;AAEA,SAAO,CAACL,QAAQG,WAAAA,oBAAoB,EAAEG,MAAMN,OAAO;AACrD;AAEO,SAASO,MACdC,OAIA;AACA,QAAM,CAACC,QAAQ,IAAIC,iBAAMC,eAAe,MAAMH,MAAMR,OAAO;AAE3D,SAAAY,QAAAA,gBACGF,iBAAMG,MAAI;AAAA,IAAA,IAACC,WAAQ;AAAA,aAAEN,MAAMM;AAAAA,IAAQ;AAAA,IAAA,IAAEC,OAAI;AAAA,aAAEN,SAAAA;AAAAA,IAAU;AAAA,IAAAO,UAClDV,CAAAA,SAASE,MAAMQ,SAASV,MAAM;AAAA,EAAA,CAAC;AAGvC;;;"}
@@ -31,7 +31,7 @@ class FileRoute {
31
31
  route$1.isRoot = false;
32
32
  return route$1;
33
33
  };
34
- this.silent = _opts == null ? void 0 : _opts.silent;
34
+ this.silent = _opts?.silent;
35
35
  }
36
36
  }
37
37
  function FileRouteLoader(_path) {
@@ -45,25 +45,25 @@ class LazyRoute {
45
45
  constructor(opts) {
46
46
  this.useMatch = (opts2) => {
47
47
  return useMatch.useMatch({
48
- select: opts2 == null ? void 0 : opts2.select,
48
+ select: opts2?.select,
49
49
  from: this.options.id
50
50
  });
51
51
  };
52
52
  this.useRouteContext = (opts2) => {
53
53
  return useMatch.useMatch({
54
54
  from: this.options.id,
55
- select: (d) => (opts2 == null ? void 0 : opts2.select) ? opts2.select(d.context) : d.context
55
+ select: (d) => opts2?.select ? opts2.select(d.context) : d.context
56
56
  });
57
57
  };
58
58
  this.useSearch = (opts2) => {
59
59
  return useSearch.useSearch({
60
- select: opts2 == null ? void 0 : opts2.select,
60
+ select: opts2?.select,
61
61
  from: this.options.id
62
62
  });
63
63
  };
64
64
  this.useParams = (opts2) => {
65
65
  return useParams.useParams({
66
- select: opts2 == null ? void 0 : opts2.select,
66
+ select: opts2?.select,
67
67
  from: this.options.id
68
68
  });
69
69
  };