@tanstack/solid-router 1.167.5 → 1.168.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/cjs/Match.cjs +244 -223
  2. package/dist/cjs/Match.cjs.map +1 -1
  3. package/dist/cjs/Match.d.cts +1 -3
  4. package/dist/cjs/Matches.cjs +32 -31
  5. package/dist/cjs/Matches.cjs.map +1 -1
  6. package/dist/cjs/Scripts.cjs +10 -8
  7. package/dist/cjs/Scripts.cjs.map +1 -1
  8. package/dist/cjs/Scripts.d.cts +2 -1
  9. package/dist/cjs/Transitioner.cjs +26 -26
  10. package/dist/cjs/Transitioner.cjs.map +1 -1
  11. package/dist/cjs/headContentUtils.cjs +15 -15
  12. package/dist/cjs/headContentUtils.cjs.map +1 -1
  13. package/dist/cjs/index.cjs +1 -1
  14. package/dist/cjs/index.dev.cjs +1 -1
  15. package/dist/cjs/link.cjs +119 -84
  16. package/dist/cjs/link.cjs.map +1 -1
  17. package/dist/cjs/matchContext.cjs +7 -5
  18. package/dist/cjs/matchContext.cjs.map +1 -1
  19. package/dist/cjs/matchContext.d.cts +8 -2
  20. package/dist/cjs/not-found.cjs +8 -4
  21. package/dist/cjs/not-found.cjs.map +1 -1
  22. package/dist/cjs/not-found.d.cts +1 -1
  23. package/dist/cjs/router.cjs +2 -1
  24. package/dist/cjs/router.cjs.map +1 -1
  25. package/dist/cjs/routerStores.cjs +67 -0
  26. package/dist/cjs/routerStores.cjs.map +1 -0
  27. package/dist/cjs/routerStores.d.cts +10 -0
  28. package/dist/cjs/ssr/RouterClient.cjs +1 -1
  29. package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
  30. package/dist/cjs/ssr/renderRouterToStream.cjs +1 -1
  31. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
  32. package/dist/cjs/ssr/renderRouterToString.cjs +2 -2
  33. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
  34. package/dist/cjs/ssr/renderRouterToString.d.cts +1 -1
  35. package/dist/cjs/useCanGoBack.cjs +6 -2
  36. package/dist/cjs/useCanGoBack.cjs.map +1 -1
  37. package/dist/cjs/useCanGoBack.d.cts +2 -1
  38. package/dist/cjs/useLoaderDeps.cjs +2 -3
  39. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  40. package/dist/cjs/useLocation.cjs +13 -2
  41. package/dist/cjs/useLocation.cjs.map +1 -1
  42. package/dist/cjs/useMatch.cjs +17 -15
  43. package/dist/cjs/useMatch.cjs.map +1 -1
  44. package/dist/cjs/useParams.cjs +1 -1
  45. package/dist/cjs/useParams.cjs.map +1 -1
  46. package/dist/cjs/useRouterState.cjs +12 -19
  47. package/dist/cjs/useRouterState.cjs.map +1 -1
  48. package/dist/cjs/useSearch.cjs +2 -1
  49. package/dist/cjs/useSearch.cjs.map +1 -1
  50. package/dist/cjs/utils.cjs +0 -14
  51. package/dist/cjs/utils.cjs.map +1 -1
  52. package/dist/cjs/utils.d.cts +0 -4
  53. package/dist/esm/Match.d.ts +1 -3
  54. package/dist/esm/Match.js +245 -224
  55. package/dist/esm/Match.js.map +1 -1
  56. package/dist/esm/Matches.js +34 -33
  57. package/dist/esm/Matches.js.map +1 -1
  58. package/dist/esm/Scripts.d.ts +2 -1
  59. package/dist/esm/Scripts.js +8 -7
  60. package/dist/esm/Scripts.js.map +1 -1
  61. package/dist/esm/Transitioner.js +26 -26
  62. package/dist/esm/Transitioner.js.map +1 -1
  63. package/dist/esm/headContentUtils.js +15 -15
  64. package/dist/esm/headContentUtils.js.map +1 -1
  65. package/dist/esm/index.dev.js +1 -1
  66. package/dist/esm/index.js +1 -1
  67. package/dist/esm/link.js +120 -85
  68. package/dist/esm/link.js.map +1 -1
  69. package/dist/esm/matchContext.d.ts +8 -2
  70. package/dist/esm/matchContext.js +7 -4
  71. package/dist/esm/matchContext.js.map +1 -1
  72. package/dist/esm/not-found.d.ts +1 -1
  73. package/dist/esm/not-found.js +6 -3
  74. package/dist/esm/not-found.js.map +1 -1
  75. package/dist/esm/router.js +2 -1
  76. package/dist/esm/router.js.map +1 -1
  77. package/dist/esm/routerStores.d.ts +10 -0
  78. package/dist/esm/routerStores.js +65 -0
  79. package/dist/esm/routerStores.js.map +1 -0
  80. package/dist/esm/ssr/RouterClient.js +1 -1
  81. package/dist/esm/ssr/RouterClient.js.map +1 -1
  82. package/dist/esm/ssr/renderRouterToStream.js +1 -1
  83. package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
  84. package/dist/esm/ssr/renderRouterToString.d.ts +1 -1
  85. package/dist/esm/ssr/renderRouterToString.js +2 -2
  86. package/dist/esm/ssr/renderRouterToString.js.map +1 -1
  87. package/dist/esm/useCanGoBack.d.ts +2 -1
  88. package/dist/esm/useCanGoBack.js +4 -2
  89. package/dist/esm/useCanGoBack.js.map +1 -1
  90. package/dist/esm/useLoaderDeps.js +2 -3
  91. package/dist/esm/useLoaderDeps.js.map +1 -1
  92. package/dist/esm/useLocation.js +11 -2
  93. package/dist/esm/useLocation.js.map +1 -1
  94. package/dist/esm/useMatch.js +18 -16
  95. package/dist/esm/useMatch.js.map +1 -1
  96. package/dist/esm/useParams.js +1 -1
  97. package/dist/esm/useParams.js.map +1 -1
  98. package/dist/esm/useRouterState.js +10 -18
  99. package/dist/esm/useRouterState.js.map +1 -1
  100. package/dist/esm/useSearch.js +2 -1
  101. package/dist/esm/useSearch.js.map +1 -1
  102. package/dist/esm/utils.d.ts +0 -4
  103. package/dist/esm/utils.js +1 -14
  104. package/dist/esm/utils.js.map +1 -1
  105. package/dist/source/Match.d.ts +1 -3
  106. package/dist/source/Match.jsx +246 -237
  107. package/dist/source/Match.jsx.map +1 -1
  108. package/dist/source/Matches.jsx +42 -44
  109. package/dist/source/Matches.jsx.map +1 -1
  110. package/dist/source/Scripts.d.ts +2 -1
  111. package/dist/source/Scripts.jsx +31 -36
  112. package/dist/source/Scripts.jsx.map +1 -1
  113. package/dist/source/Transitioner.jsx +26 -31
  114. package/dist/source/Transitioner.jsx.map +1 -1
  115. package/dist/source/headContentUtils.jsx +64 -72
  116. package/dist/source/headContentUtils.jsx.map +1 -1
  117. package/dist/source/link.jsx +136 -107
  118. package/dist/source/link.jsx.map +1 -1
  119. package/dist/source/matchContext.d.ts +8 -2
  120. package/dist/source/matchContext.jsx +7 -3
  121. package/dist/source/matchContext.jsx.map +1 -1
  122. package/dist/source/not-found.d.ts +1 -1
  123. package/dist/source/not-found.jsx +6 -5
  124. package/dist/source/not-found.jsx.map +1 -1
  125. package/dist/source/router.js +2 -1
  126. package/dist/source/router.js.map +1 -1
  127. package/dist/source/routerStores.d.ts +10 -0
  128. package/dist/source/routerStores.js +71 -0
  129. package/dist/source/routerStores.js.map +1 -0
  130. package/dist/source/ssr/RouterClient.jsx +1 -1
  131. package/dist/source/ssr/RouterClient.jsx.map +1 -1
  132. package/dist/source/ssr/renderRouterToStream.jsx +1 -1
  133. package/dist/source/ssr/renderRouterToStream.jsx.map +1 -1
  134. package/dist/source/ssr/renderRouterToString.d.ts +1 -1
  135. package/dist/source/ssr/renderRouterToString.jsx +2 -2
  136. package/dist/source/ssr/renderRouterToString.jsx.map +1 -1
  137. package/dist/source/useCanGoBack.d.ts +2 -1
  138. package/dist/source/useCanGoBack.js +4 -2
  139. package/dist/source/useCanGoBack.js.map +1 -1
  140. package/dist/source/useLoaderDeps.jsx +2 -3
  141. package/dist/source/useLoaderDeps.jsx.map +1 -1
  142. package/dist/source/useLocation.jsx +13 -3
  143. package/dist/source/useLocation.jsx.map +1 -1
  144. package/dist/source/useMatch.jsx +30 -27
  145. package/dist/source/useMatch.jsx.map +1 -1
  146. package/dist/source/useParams.jsx +1 -1
  147. package/dist/source/useParams.jsx.map +1 -1
  148. package/dist/source/useRouterState.jsx +12 -33
  149. package/dist/source/useRouterState.jsx.map +1 -1
  150. package/dist/source/useSearch.jsx +2 -1
  151. package/dist/source/useSearch.jsx.map +1 -1
  152. package/dist/source/utils.d.ts +0 -4
  153. package/dist/source/utils.js +0 -13
  154. package/dist/source/utils.js.map +1 -1
  155. package/package.json +2 -3
  156. package/skills/solid-router/SKILL.md +2 -0
  157. package/src/Match.tsx +351 -304
  158. package/src/Matches.tsx +49 -52
  159. package/src/Scripts.tsx +40 -41
  160. package/src/Transitioner.tsx +67 -66
  161. package/src/headContentUtils.tsx +89 -91
  162. package/src/link.tsx +179 -141
  163. package/src/matchContext.tsx +16 -7
  164. package/src/not-found.tsx +6 -6
  165. package/src/router.ts +2 -1
  166. package/src/routerStores.ts +107 -0
  167. package/src/ssr/RouterClient.tsx +1 -1
  168. package/src/ssr/renderRouterToStream.tsx +1 -1
  169. package/src/ssr/renderRouterToString.tsx +2 -2
  170. package/src/useCanGoBack.ts +6 -2
  171. package/src/useLoaderDeps.tsx +2 -3
  172. package/src/useLocation.tsx +18 -5
  173. package/src/useMatch.tsx +36 -43
  174. package/src/useParams.tsx +2 -3
  175. package/src/useRouterState.tsx +17 -41
  176. package/src/useSearch.tsx +2 -1
  177. package/src/utils.ts +0 -20
@@ -3,7 +3,6 @@ import { mergeRefs } from '@solid-primitives/refs';
3
3
  import { deepEqual, exactPathTest, functionalUpdate, isDangerousProtocol, preloadWarning, removeTrailingSlash, } from '@tanstack/router-core';
4
4
  import { isServer } from '@tanstack/router-core/isServer';
5
5
  import { Dynamic } from 'solid-js/web';
6
- import { useRouterState } from './useRouterState';
7
6
  import { useRouter } from './useRouter';
8
7
  import { useIntersectionObserver } from './utils';
9
8
  import { useHydrated } from './ClientOnly';
@@ -15,8 +14,8 @@ export function useLinkProps(options) {
15
14
  const hasHydrated = useHydrated();
16
15
  let hasRenderFetched = false;
17
16
  const [local, rest] = Solid.splitProps(Solid.mergeProps({
18
- activeProps: () => ({ class: 'active' }),
19
- inactiveProps: () => ({}),
17
+ activeProps: STATIC_ACTIVE_PROPS_GET,
18
+ inactiveProps: STATIC_INACTIVE_PROPS_GET,
20
19
  }, options), [
21
20
  'activeProps',
22
21
  'inactiveProps',
@@ -79,29 +78,14 @@ export function useLinkProps(options) {
79
78
  'reloadDocument',
80
79
  'unsafeRelative',
81
80
  ]);
82
- const currentLocation = useRouterState({
83
- select: (s) => s.location,
84
- });
85
- const buildLocationKey = useRouterState({
86
- select: (s) => {
87
- const leaf = s.matches[s.matches.length - 1];
88
- return {
89
- search: leaf?.search,
90
- hash: s.location.hash,
91
- path: leaf?.pathname, // path + params
92
- };
93
- },
94
- });
95
- const from = options.from;
96
- const _options = () => {
97
- return {
98
- ...options,
99
- from,
100
- };
101
- };
81
+ const currentLocation = Solid.createMemo(() => router.stores.location.state, undefined, { equals: (prev, next) => prev.href === next.href });
82
+ const _options = () => options;
102
83
  const next = Solid.createMemo(() => {
103
- buildLocationKey();
104
- return router.buildLocation(_options());
84
+ // Rebuild when inherited search/hash or the current route context changes.
85
+ const _fromLocation = currentLocation();
86
+ const options = { _fromLocation, ..._options() };
87
+ // untrack because router-core will also access stores, which are signals in solid
88
+ return Solid.untrack(() => router.buildLocation(options));
105
89
  });
106
90
  const hrefOption = Solid.createMemo(() => {
107
91
  if (_options().disabled)
@@ -134,10 +118,10 @@ export function useLinkProps(options) {
134
118
  return _href.href;
135
119
  }
136
120
  const to = _options().to;
137
- const isSafeInternal = typeof to === 'string' &&
138
- to.charCodeAt(0) === 47 && // '/'
139
- to.charCodeAt(1) !== 47; // but not '//'
140
- if (isSafeInternal)
121
+ const safeInternal = isSafeInternal(to);
122
+ if (safeInternal)
123
+ return undefined;
124
+ if (typeof to !== 'string' || to.indexOf(':') === -1)
141
125
  return undefined;
142
126
  try {
143
127
  new URL(to);
@@ -163,36 +147,43 @@ export function useLinkProps(options) {
163
147
  const isActive = Solid.createMemo(() => {
164
148
  if (externalLink())
165
149
  return false;
166
- if (local.activeOptions?.exact) {
167
- const testExact = exactPathTest(currentLocation().pathname, next().pathname, router.basepath);
150
+ const activeOptions = local.activeOptions;
151
+ const current = currentLocation();
152
+ const nextLocation = next();
153
+ if (activeOptions?.exact) {
154
+ const testExact = exactPathTest(current.pathname, nextLocation.pathname, router.basepath);
168
155
  if (!testExact) {
169
156
  return false;
170
157
  }
171
158
  }
172
159
  else {
173
- const currentPathSplit = removeTrailingSlash(currentLocation().pathname, router.basepath).split('/');
174
- const nextPathSplit = removeTrailingSlash(next()?.pathname, router.basepath)?.split('/');
175
- const pathIsFuzzyEqual = nextPathSplit?.every((d, i) => d === currentPathSplit[i]);
160
+ const currentPath = removeTrailingSlash(current.pathname, router.basepath);
161
+ const nextPath = removeTrailingSlash(nextLocation.pathname, router.basepath);
162
+ const pathIsFuzzyEqual = currentPath.startsWith(nextPath) &&
163
+ (currentPath.length === nextPath.length ||
164
+ currentPath[nextPath.length] === '/');
176
165
  if (!pathIsFuzzyEqual) {
177
166
  return false;
178
167
  }
179
168
  }
180
- if (local.activeOptions?.includeSearch ?? true) {
181
- const searchTest = deepEqual(currentLocation().search, next().search, {
182
- partial: !local.activeOptions?.exact,
183
- ignoreUndefined: !local.activeOptions?.explicitUndefined,
169
+ if (activeOptions?.includeSearch ?? true) {
170
+ const searchTest = deepEqual(current.search, nextLocation.search, {
171
+ partial: !activeOptions?.exact,
172
+ ignoreUndefined: !activeOptions?.explicitUndefined,
184
173
  });
185
174
  if (!searchTest) {
186
175
  return false;
187
176
  }
188
177
  }
189
- if (local.activeOptions?.includeHash) {
190
- const currentHash = shouldHydrateHash && !hasHydrated() ? '' : currentLocation().hash;
191
- return currentHash === next().hash;
178
+ if (activeOptions?.includeHash) {
179
+ const currentHash = shouldHydrateHash && !hasHydrated() ? '' : current.hash;
180
+ return currentHash === nextLocation.hash;
192
181
  }
193
182
  return true;
194
183
  });
195
- const doPreload = () => router.preloadRoute(_options()).catch((err) => {
184
+ const doPreload = () => router
185
+ .preloadRoute({ ..._options(), _builtLocation: next() })
186
+ .catch((err) => {
196
187
  console.warn(err);
197
188
  console.warn(preloadWarning);
198
189
  });
@@ -290,76 +281,103 @@ export function useLinkProps(options) {
290
281
  timeoutMap.delete(eventTarget);
291
282
  }
292
283
  };
293
- /** Call a JSX.EventHandlerUnion with the event. */
294
- function callHandler(event, handler) {
295
- if (handler) {
296
- if (typeof handler === 'function') {
297
- handler(event);
298
- }
299
- else {
300
- handler[0](handler[1], event);
301
- }
302
- }
303
- return event.defaultPrevented;
304
- }
305
- function composeEventHandlers(handlers) {
306
- return (event) => {
307
- for (const handler of handlers) {
308
- callHandler(event, handler);
309
- }
310
- };
311
- }
312
- // Get the active props
313
- const resolvedActiveProps = () => isActive() ? (functionalUpdate(local.activeProps, {}) ?? {}) : {};
314
- // Get the inactive props
315
- const resolvedInactiveProps = () => isActive() ? {} : functionalUpdate(local.inactiveProps, {});
316
- const resolvedClassName = () => [local.class, resolvedActiveProps().class, resolvedInactiveProps().class]
317
- .filter(Boolean)
318
- .join(' ');
319
- const resolvedStyle = () => ({
320
- ...local.style,
321
- ...resolvedActiveProps().style,
322
- ...resolvedInactiveProps().style,
323
- });
324
- return Solid.mergeProps(propsSafeToSpread, resolvedActiveProps, resolvedInactiveProps, () => {
325
- return {
284
+ const simpleStyling = Solid.createMemo(() => local.activeProps === STATIC_ACTIVE_PROPS_GET &&
285
+ local.inactiveProps === STATIC_INACTIVE_PROPS_GET &&
286
+ local.class === undefined &&
287
+ local.style === undefined);
288
+ const onClick = createComposedHandler(() => local.onClick, handleClick);
289
+ const onBlur = createComposedHandler(() => local.onBlur, handleLeave);
290
+ const onFocus = createComposedHandler(() => local.onFocus, enqueueIntentPreload);
291
+ const onMouseEnter = createComposedHandler(() => local.onMouseEnter, enqueueIntentPreload);
292
+ const onMouseOver = createComposedHandler(() => local.onMouseOver, enqueueIntentPreload);
293
+ const onMouseLeave = createComposedHandler(() => local.onMouseLeave, handleLeave);
294
+ const onMouseOut = createComposedHandler(() => local.onMouseOut, handleLeave);
295
+ const onTouchStart = createComposedHandler(() => local.onTouchStart, handleTouchStart);
296
+ const resolvedProps = Solid.createMemo(() => {
297
+ const active = isActive();
298
+ const base = {
326
299
  href: hrefOption()?.href,
327
300
  ref: mergeRefs(setRef, _options().ref),
328
- onClick: composeEventHandlers([local.onClick, handleClick]),
329
- onBlur: composeEventHandlers([local.onBlur, handleLeave]),
330
- onFocus: composeEventHandlers([local.onFocus, enqueueIntentPreload]),
331
- onMouseEnter: composeEventHandlers([
332
- local.onMouseEnter,
333
- enqueueIntentPreload,
334
- ]),
335
- onMouseOver: composeEventHandlers([
336
- local.onMouseOver,
337
- enqueueIntentPreload,
338
- ]),
339
- onMouseLeave: composeEventHandlers([local.onMouseLeave, handleLeave]),
340
- onMouseOut: composeEventHandlers([local.onMouseOut, handleLeave]),
341
- onTouchStart: composeEventHandlers([
342
- local.onTouchStart,
343
- handleTouchStart,
344
- ]),
301
+ onClick,
302
+ onBlur,
303
+ onFocus,
304
+ onMouseEnter,
305
+ onMouseOver,
306
+ onMouseLeave,
307
+ onMouseOut,
308
+ onTouchStart,
345
309
  disabled: !!local.disabled,
346
310
  target: local.target,
347
- ...(() => {
348
- const s = resolvedStyle();
349
- return Object.keys(s).length ? { style: s } : {};
350
- })(),
351
- ...(() => {
352
- const c = resolvedClassName();
353
- return c ? { class: c } : {};
354
- })(),
355
- ...(local.disabled && {
356
- role: 'link',
357
- 'aria-disabled': true,
358
- }),
359
- ...(isActive() && { 'data-status': 'active', 'aria-current': 'page' }),
360
- ...(isTransitioning() && { 'data-transitioning': 'transitioning' }),
311
+ ...(local.disabled && STATIC_DISABLED_PROPS),
312
+ ...(isTransitioning() && STATIC_TRANSITIONING_ATTRIBUTES),
313
+ };
314
+ if (simpleStyling()) {
315
+ return {
316
+ ...base,
317
+ ...(active && STATIC_DEFAULT_ACTIVE_ATTRIBUTES),
318
+ };
319
+ }
320
+ const activeProps = active
321
+ ? (functionalUpdate(local.activeProps, {}) ?? EMPTY_OBJECT)
322
+ : EMPTY_OBJECT;
323
+ const inactiveProps = active
324
+ ? EMPTY_OBJECT
325
+ : functionalUpdate(local.inactiveProps, {});
326
+ const style = {
327
+ ...local.style,
328
+ ...activeProps.style,
329
+ ...inactiveProps.style,
330
+ };
331
+ const className = [local.class, activeProps.class, inactiveProps.class]
332
+ .filter(Boolean)
333
+ .join(' ');
334
+ return {
335
+ ...activeProps,
336
+ ...inactiveProps,
337
+ ...base,
338
+ ...(Object.keys(style).length ? { style } : undefined),
339
+ ...(className ? { class: className } : undefined),
340
+ ...(active && STATIC_ACTIVE_ATTRIBUTES),
361
341
  };
362
342
  });
343
+ return Solid.mergeProps(propsSafeToSpread, resolvedProps);
344
+ }
345
+ const STATIC_ACTIVE_PROPS = { class: 'active' };
346
+ const STATIC_ACTIVE_PROPS_GET = () => STATIC_ACTIVE_PROPS;
347
+ const EMPTY_OBJECT = {};
348
+ const STATIC_INACTIVE_PROPS_GET = () => EMPTY_OBJECT;
349
+ const STATIC_DEFAULT_ACTIVE_ATTRIBUTES = {
350
+ class: 'active',
351
+ 'data-status': 'active',
352
+ 'aria-current': 'page',
353
+ };
354
+ const STATIC_DISABLED_PROPS = {
355
+ role: 'link',
356
+ 'aria-disabled': true,
357
+ };
358
+ const STATIC_ACTIVE_ATTRIBUTES = {
359
+ 'data-status': 'active',
360
+ 'aria-current': 'page',
361
+ };
362
+ const STATIC_TRANSITIONING_ATTRIBUTES = {
363
+ 'data-transitioning': 'transitioning',
364
+ };
365
+ /** Call a JSX.EventHandlerUnion with the event. */
366
+ function callHandler(event, handler) {
367
+ if (typeof handler === 'function') {
368
+ handler(event);
369
+ }
370
+ else {
371
+ handler[0](handler[1], event);
372
+ }
373
+ return event.defaultPrevented;
374
+ }
375
+ function createComposedHandler(getHandler, fallback) {
376
+ return (event) => {
377
+ const handler = getHandler();
378
+ if (!handler || !callHandler(event, handler))
379
+ fallback(event);
380
+ };
363
381
  }
364
382
  export function createLink(Comp) {
365
383
  return (props) => <Link {...props} _asChild={Comp}/>;
@@ -387,13 +405,24 @@ export const Link = (props) => {
387
405
  <a {...svgLinkProps}>{children()}</a>
388
406
  </svg>);
389
407
  }
390
- return (<Dynamic component={local._asChild ? local._asChild : 'a'} {...linkProps}>
408
+ if (!local._asChild) {
409
+ return <a {...linkProps}>{children()}</a>;
410
+ }
411
+ return (<Dynamic component={local._asChild} {...linkProps}>
391
412
  {children()}
392
413
  </Dynamic>);
393
414
  };
394
415
  function isCtrlEvent(e) {
395
416
  return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);
396
417
  }
418
+ function isSafeInternal(to) {
419
+ if (typeof to !== 'string')
420
+ return false;
421
+ const zero = to.charCodeAt(0);
422
+ if (zero === 47)
423
+ return to.charCodeAt(1) !== 47; // '/' but not '//'
424
+ return zero === 46; // '.', '..', './', '../'
425
+ }
397
426
  export const linkOptions = (options) => {
398
427
  return options;
399
428
  };
@@ -1 +1 @@
1
- {"version":3,"file":"link.jsx","sourceRoot":"","sources":["../../src/link.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.jsx","sourceRoot":"","sources":["../../src/link.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
1
  import * as Solid from 'solid-js';
2
- export declare const matchContext: Solid.Context<Solid.Accessor<string | undefined>>;
3
- export declare const dummyMatchContext: Solid.Context<Solid.Accessor<string | undefined>>;
2
+ import type { AnyRouteMatch } from '@tanstack/router-core';
3
+ export type NearestMatchContextValue = {
4
+ matchId: Solid.Accessor<string | undefined>;
5
+ routeId: Solid.Accessor<string | undefined>;
6
+ match: Solid.Accessor<AnyRouteMatch | undefined>;
7
+ hasPending: Solid.Accessor<boolean>;
8
+ };
9
+ export declare const nearestMatchContext: Solid.Context<NearestMatchContextValue>;
@@ -1,5 +1,9 @@
1
1
  import * as Solid from 'solid-js';
2
- export const matchContext = Solid.createContext(() => undefined);
3
- // N.B. this only exists so we can conditionally call useContext on it when we are not interested in the nearest match
4
- export const dummyMatchContext = Solid.createContext(() => undefined);
2
+ const defaultNearestMatchContext = {
3
+ matchId: () => undefined,
4
+ routeId: () => undefined,
5
+ match: () => undefined,
6
+ hasPending: () => false,
7
+ };
8
+ export const nearestMatchContext = Solid.createContext(defaultNearestMatchContext);
5
9
  //# sourceMappingURL=matchContext.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"matchContext.jsx","sourceRoot":"","sources":["../../src/matchContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAE7C,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AAElB,sHAAsH;AACtH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAElD,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"matchContext.jsx","sourceRoot":"","sources":["../../src/matchContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AAUjC,MAAM,0BAA0B,GAA6B;IAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;IACxB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;IACxB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;IACtB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC9B,KAAK,CAAC,aAAa,CAA2B,0BAA0B,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type * as Solid from 'solid-js';
1
+ import * as Solid from 'solid-js';
2
2
  import type { NotFoundError } from '@tanstack/router-core';
3
3
  export declare function CatchNotFound(props: {
4
4
  fallback?: (error: NotFoundError) => Solid.JSX.Element;
@@ -1,12 +1,13 @@
1
1
  import { isNotFound } from '@tanstack/router-core';
2
+ import * as Solid from 'solid-js';
2
3
  import { CatchBoundary } from './CatchBoundary';
3
- import { useRouterState } from './useRouterState';
4
+ import { useRouter } from './useRouter';
4
5
  export function CatchNotFound(props) {
6
+ const router = useRouter();
5
7
  // TODO: Some way for the user to programmatically reset the not-found boundary?
6
- const resetKey = useRouterState({
7
- select: (s) => `not-found-${s.location.pathname}-${s.status}`,
8
- });
9
- return (<CatchBoundary getResetKey={() => resetKey()} onCatch={(error) => {
8
+ const pathname = Solid.createMemo(() => router.stores.location.state.pathname);
9
+ const status = Solid.createMemo(() => router.stores.status.state);
10
+ return (<CatchBoundary getResetKey={() => `not-found-${pathname()}-${status()}`} onCatch={(error) => {
10
11
  if (isNotFound(error)) {
11
12
  props.onCatch?.(error);
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"not-found.jsx","sourceRoot":"","sources":["../../src/not-found.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,MAAM,UAAU,aAAa,CAAC,KAI7B;IACC,gFAAgF;IAChF,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE;KAC9D,CAAC,CAAA;IAEF,OAAO,CACL,CAAC,aAAa,CACZ,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC9B,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CACF,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAEF;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,aAAa,CAAC,CACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"not-found.jsx","sourceRoot":"","sources":["../../src/not-found.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,UAAU,aAAa,CAAC,KAI7B;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,gFAAgF;IAChF,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEjE,OAAO,CACL,CAAC,aAAa,CACZ,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,QAAQ,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC,CACzD,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CACF,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAEF;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,aAAa,CAAC,CACjB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AACzB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { RouterCore } from '@tanstack/router-core';
2
2
  import { createFileRoute, createLazyFileRoute } from './fileRoute';
3
+ import { getStoreFactory } from './routerStores';
3
4
  export const createRouter = (options) => {
4
5
  return new Router(options);
5
6
  };
6
7
  export class Router extends RouterCore {
7
8
  constructor(options) {
8
- super(options);
9
+ super(options, getStoreFactory);
9
10
  }
10
11
  }
11
12
  if (typeof globalThis !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA0ElE,MAAM,CAAC,MAAM,YAAY,GAAmB,CAAC,OAAO,EAAE,EAAE;IACtD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,OAAO,MAMX,SAAQ,UAMT;IACC,YACE,OAMC;QAED,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,UAAkB,CAAC,eAAe,GAAG,eAAe,CACrD;IAAC,UAAkB,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;AAChE,CAAC;KAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACzC,CAAC;IAAC,MAAc,CAAC,eAAe,GAAG,eAAe,CACjD;IAAC,MAAc,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AA0EhD,MAAM,CAAC,MAAM,YAAY,GAAmB,CAAC,OAAO,EAAE,EAAE;IACtD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,OAAO,MAMX,SAAQ,UAMT;IACC,YACE,OAMC;QAED,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IACjC,CAAC;CACF;AAED,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,UAAkB,CAAC,eAAe,GAAG,eAAe,CACrD;IAAC,UAAkB,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;AAChE,CAAC;KAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IACzC,CAAC;IAAC,MAAc,CAAC,eAAe,GAAG,eAAe,CACjD;IAAC,MAAc,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;AAC5D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { AnyRoute, GetStoreConfig, RouterReadableStore } from '@tanstack/router-core';
2
+ declare module '@tanstack/router-core' {
3
+ interface RouterStores<in out TRouteTree extends AnyRoute> {
4
+ /** Maps each active routeId to the matchId of its child in the match tree. */
5
+ childMatchIdByRouteId: RouterReadableStore<Record<string, string>>;
6
+ /** Maps each pending routeId to true for quick lookup. */
7
+ pendingRouteIds: RouterReadableStore<Record<string, boolean>>;
8
+ }
9
+ }
10
+ export declare const getStoreFactory: GetStoreConfig;
@@ -0,0 +1,71 @@
1
+ import * as Solid from 'solid-js';
2
+ import { createNonReactiveMutableStore, createNonReactiveReadonlyStore, } from '@tanstack/router-core';
3
+ import { isServer } from '@tanstack/router-core/isServer';
4
+ function initRouterStores(stores, createReadonlyStore) {
5
+ stores.childMatchIdByRouteId = createReadonlyStore(() => {
6
+ const ids = stores.matchesId.state;
7
+ const obj = {};
8
+ for (let i = 0; i < ids.length - 1; i++) {
9
+ const parentStore = stores.activeMatchStoresById.get(ids[i]);
10
+ if (parentStore?.routeId) {
11
+ obj[parentStore.routeId] = ids[i + 1];
12
+ }
13
+ }
14
+ return obj;
15
+ });
16
+ stores.pendingRouteIds = createReadonlyStore(() => {
17
+ const ids = stores.pendingMatchesId.state;
18
+ const obj = {};
19
+ for (const id of ids) {
20
+ const store = stores.pendingMatchStoresById.get(id);
21
+ if (store?.routeId) {
22
+ obj[store.routeId] = true;
23
+ }
24
+ }
25
+ return obj;
26
+ });
27
+ }
28
+ function createSolidMutableStore(initialValue) {
29
+ const [signal, setSignal] = Solid.createSignal(initialValue);
30
+ return {
31
+ get state() {
32
+ return signal();
33
+ },
34
+ setState: setSignal,
35
+ };
36
+ }
37
+ let finalizationRegistry = null;
38
+ if (typeof globalThis !== 'undefined' && 'FinalizationRegistry' in globalThis) {
39
+ finalizationRegistry = new FinalizationRegistry((cb) => cb());
40
+ }
41
+ function createSolidReadonlyStore(read) {
42
+ let dispose;
43
+ const memo = Solid.createRoot((d) => {
44
+ dispose = d;
45
+ return Solid.createMemo(read);
46
+ });
47
+ const store = {
48
+ get state() {
49
+ return memo();
50
+ },
51
+ };
52
+ finalizationRegistry?.register(store, dispose);
53
+ return store;
54
+ }
55
+ export const getStoreFactory = (opts) => {
56
+ if (isServer ?? opts.isServer) {
57
+ return {
58
+ createMutableStore: createNonReactiveMutableStore,
59
+ createReadonlyStore: createNonReactiveReadonlyStore,
60
+ batch: (fn) => fn(),
61
+ init: (stores) => initRouterStores(stores, createNonReactiveReadonlyStore),
62
+ };
63
+ }
64
+ return {
65
+ createMutableStore: createSolidMutableStore,
66
+ createReadonlyStore: createSolidReadonlyStore,
67
+ batch: Solid.batch,
68
+ init: (stores) => initRouterStores(stores, createSolidReadonlyStore),
69
+ };
70
+ };
71
+ //# sourceMappingURL=routerStores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerStores.js","sourceRoot":"","sources":["../../src/routerStores.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ let hydrationPromise;
6
6
  const Dummy = (props) => <>{props.children}</>;
7
7
  export function RouterClient(props) {
8
8
  if (!hydrationPromise) {
9
- if (!props.router.state.matches.length) {
9
+ if (!props.router.stores.matchesId.state.length) {
10
10
  hydrationPromise = hydrate(props.router);
11
11
  }
12
12
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"RouterClient.jsx","sourceRoot":"","sources":["../../../src/ssr/RouterClient.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,IAAI,gBAAgE,CAAA;AAEpE,MAAM,KAAK,GAAG,CAAC,KAAgC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;AAEzE,MAAM,UAAU,YAAY,CAAC,KAA4B;IACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACvC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,CACL,CAAC,KAAK,CACJ,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAC1B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CACd,CAAC,KAAK,CACJ;UAAA,CAAC,KAAK,CACJ;YAAA,CAAC,cAAc,CACb,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpB,CAAC,KAAK,CACJ;kBAAA,CAAC,KAAK,CACJ;oBAAA,CAAC,WAAW,CAAC,AAAD,EACZ;oBAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;kBAAA,EAAE,KAAK,CACP;kBAAA,CAAC,KAAK,CAAC,AAAD,EACR;gBAAA,EAAE,KAAK,CAAC,CACT,CAAC,EAEN;UAAA,EAAE,KAAK,CACT;QAAA,EAAE,KAAK,CAAC,CACT,CAAC,EACF,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"RouterClient.jsx","sourceRoot":"","sources":["../../../src/ssr/RouterClient.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,IAAI,gBAAgE,CAAA;AAEpE,MAAM,KAAK,GAAG,CAAC,KAAgC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;AAEzE,MAAM,UAAU,YAAY,CAAC,KAA4B;IACvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChD,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QACtC,CAAC;IACH,CAAC;IACD,OAAO,CACL,CAAC,KAAK,CACJ,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAC1B,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CACd,CAAC,KAAK,CACJ;UAAA,CAAC,KAAK,CACJ;YAAA,CAAC,cAAc,CACb,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpB,CAAC,KAAK,CACJ;kBAAA,CAAC,KAAK,CACJ;oBAAA,CAAC,WAAW,CAAC,AAAD,EACZ;oBAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;kBAAA,EAAE,KAAK,CACP;kBAAA,CAAC,KAAK,CAAC,AAAD,EACR;gBAAA,EAAE,KAAK,CAAC,CACT,CAAC,EAEN;UAAA,EAAE,KAAK,CACT;QAAA,EAAE,KAAK,CAAC,CACT,CAAC,EACF,CACH,CAAA;AACH,CAAC"}
@@ -24,7 +24,7 @@ export const renderRouterToStream = async ({ request, router, responseHeaders, c
24
24
  stream.pipeTo(writable);
25
25
  const responseStream = transformReadableStreamWithRouter(router, readable);
26
26
  return new Response(responseStream, {
27
- status: router.state.statusCode,
27
+ status: router.stores.statusCode.state,
28
28
  headers: responseHeaders,
29
29
  });
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"renderRouterToStream.jsx","sourceRoot":"","sources":["../../../src/ssr/renderRouterToStream.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAK5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,OAAO,EACP,MAAM,EACN,eAAe,EACf,QAAQ,GAMT,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAE5C,MAAM,qBAAqB,GACxB,MAAM,CAAC,OAAe,EAAE,qBAAqB;QAC7C,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,qBAAqB,CAAA;IACpD,MAAM,cAAc,GAAG,qBAAqB,EAAE,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CACjC,GAAG,EAAE,CAAC,CACJ,EACE;QAAA,CAAC,OAAO,CACR;QAAA,CAAC,QAAQ,EAAE,CACb;MAAA,GAAG,CACJ,EACD;QACE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QAChC,OAAO,EAAE,cAAc;KACjB,CACT,CAAA;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAA;IACd,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,cAAc,GAAG,iCAAiC,CACtD,MAAM,EACN,QAAqC,CACtC,CAAA;IACD,OAAO,IAAI,QAAQ,CAAC,cAAqB,EAAE;QACzC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;QAC/B,OAAO,EAAE,eAAe;KACzB,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"renderRouterToStream.jsx","sourceRoot":"","sources":["../../../src/ssr/renderRouterToStream.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAK5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,OAAO,EACP,MAAM,EACN,eAAe,EACf,QAAQ,GAMT,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;IAEpD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAE5C,MAAM,qBAAqB,GACxB,MAAM,CAAC,OAAe,EAAE,qBAAqB;QAC7C,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,qBAAqB,CAAA;IACpD,MAAM,cAAc,GAAG,qBAAqB,EAAE,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CACjC,GAAG,EAAE,CAAC,CACJ,EACE;QAAA,CAAC,OAAO,CACR;QAAA,CAAC,QAAQ,EAAE,CACb;MAAA,GAAG,CACJ,EACD;QACE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QAChC,OAAO,EAAE,cAAc;KACjB,CACT,CAAA;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAA;IACd,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,cAAc,GAAG,iCAAiC,CACtD,MAAM,EACN,QAAqC,CACtC,CAAA;IACD,OAAO,IAAI,QAAQ,CAAC,cAAqB,EAAE;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;QACtC,OAAO,EAAE,eAAe;KACzB,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -4,4 +4,4 @@ export declare const renderRouterToString: ({ router, responseHeaders, children,
4
4
  router: AnyRouter;
5
5
  responseHeaders: Headers;
6
6
  children: () => JSXElement;
7
- }) => Promise<Response>;
7
+ }) => Response;
@@ -1,6 +1,6 @@
1
1
  import * as Solid from 'solid-js/web';
2
2
  import { makeSsrSerovalPlugin } from '@tanstack/router-core';
3
- export const renderRouterToString = async ({ router, responseHeaders, children, }) => {
3
+ export const renderRouterToString = ({ router, responseHeaders, children, }) => {
4
4
  try {
5
5
  const serializationAdapters = router.options?.serializationAdapters ||
6
6
  router.options.ssr?.serializationAdapters;
@@ -18,7 +18,7 @@ export const renderRouterToString = async ({ router, responseHeaders, children,
18
18
  html = html.replace(`</body>`, () => `${injectedHtml}</body>`);
19
19
  }
20
20
  return new Response(`<!DOCTYPE html>${html}`, {
21
- status: router.state.statusCode,
21
+ status: router.stores.statusCode.state,
22
22
  headers: responseHeaders,
23
23
  });
24
24
  }