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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/cjs/Asset.cjs +124 -167
  2. package/dist/cjs/Asset.cjs.map +1 -1
  3. package/dist/cjs/CatchBoundary.cjs +52 -68
  4. package/dist/cjs/CatchBoundary.cjs.map +1 -1
  5. package/dist/cjs/ClientOnly.cjs +61 -39
  6. package/dist/cjs/ClientOnly.cjs.map +1 -1
  7. package/dist/cjs/HeadContent.cjs +35 -27
  8. package/dist/cjs/HeadContent.cjs.map +1 -1
  9. package/dist/cjs/HeadContent.dev.cjs +48 -41
  10. package/dist/cjs/HeadContent.dev.cjs.map +1 -1
  11. package/dist/cjs/Match.cjs +367 -442
  12. package/dist/cjs/Match.cjs.map +1 -1
  13. package/dist/cjs/Matches.cjs +114 -158
  14. package/dist/cjs/Matches.cjs.map +1 -1
  15. package/dist/cjs/RouterProvider.cjs +29 -41
  16. package/dist/cjs/RouterProvider.cjs.map +1 -1
  17. package/dist/cjs/SafeFragment.cjs +7 -5
  18. package/dist/cjs/SafeFragment.cjs.map +1 -1
  19. package/dist/cjs/ScriptOnce.cjs +20 -22
  20. package/dist/cjs/ScriptOnce.cjs.map +1 -1
  21. package/dist/cjs/Scripts.cjs +43 -58
  22. package/dist/cjs/Scripts.cjs.map +1 -1
  23. package/dist/cjs/ScrollRestoration.cjs +26 -28
  24. package/dist/cjs/ScrollRestoration.cjs.map +1 -1
  25. package/dist/cjs/Transitioner.cjs +91 -124
  26. package/dist/cjs/Transitioner.cjs.map +1 -1
  27. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  28. package/dist/cjs/awaited.cjs +31 -53
  29. package/dist/cjs/awaited.cjs.map +1 -1
  30. package/dist/cjs/fileRoute.cjs +96 -91
  31. package/dist/cjs/fileRoute.cjs.map +1 -1
  32. package/dist/cjs/fileRoute.d.cts +2 -2
  33. package/dist/cjs/headContentUtils.cjs +132 -170
  34. package/dist/cjs/headContentUtils.cjs.map +1 -1
  35. package/dist/cjs/index.cjs +245 -176
  36. package/dist/cjs/index.dev.cjs +245 -176
  37. package/dist/cjs/lazyRouteComponent.cjs +48 -54
  38. package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
  39. package/dist/cjs/link.cjs +310 -345
  40. package/dist/cjs/link.cjs.map +1 -1
  41. package/dist/cjs/matchContext.cjs +9 -23
  42. package/dist/cjs/matchContext.cjs.map +1 -1
  43. package/dist/cjs/not-found.cjs +26 -34
  44. package/dist/cjs/not-found.cjs.map +1 -1
  45. package/dist/cjs/renderRouteNotFound.cjs +23 -16
  46. package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
  47. package/dist/cjs/route.cjs +200 -215
  48. package/dist/cjs/route.cjs.map +1 -1
  49. package/dist/cjs/router.cjs +18 -16
  50. package/dist/cjs/router.cjs.map +1 -1
  51. package/dist/cjs/routerContext.cjs +8 -22
  52. package/dist/cjs/routerContext.cjs.map +1 -1
  53. package/dist/cjs/scroll-restoration.cjs +25 -35
  54. package/dist/cjs/scroll-restoration.cjs.map +1 -1
  55. package/dist/cjs/ssr/RouterClient.cjs +18 -23
  56. package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
  57. package/dist/cjs/ssr/RouterServer.cjs +10 -10
  58. package/dist/cjs/ssr/RouterServer.cjs.map +1 -1
  59. package/dist/cjs/ssr/client.cjs +2 -4
  60. package/dist/cjs/ssr/defaultRenderHandler.cjs +12 -16
  61. package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -1
  62. package/dist/cjs/ssr/defaultStreamHandler.cjs +13 -18
  63. package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -1
  64. package/dist/cjs/ssr/renderRouterToStream.cjs +26 -54
  65. package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
  66. package/dist/cjs/ssr/renderRouterToString.cjs +33 -57
  67. package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
  68. package/dist/cjs/ssr/server.cjs +18 -18
  69. package/dist/cjs/useBlocker.cjs +140 -177
  70. package/dist/cjs/useBlocker.cjs.map +1 -1
  71. package/dist/cjs/useBlocker.d.cts +8 -5
  72. package/dist/cjs/useCanGoBack.cjs +6 -5
  73. package/dist/cjs/useCanGoBack.cjs.map +1 -1
  74. package/dist/cjs/useLoaderData.cjs +12 -11
  75. package/dist/cjs/useLoaderData.cjs.map +1 -1
  76. package/dist/cjs/useLoaderDeps.cjs +12 -14
  77. package/dist/cjs/useLoaderDeps.cjs.map +1 -1
  78. package/dist/cjs/useLocation.cjs +6 -7
  79. package/dist/cjs/useLocation.cjs.map +1 -1
  80. package/dist/cjs/useMatch.cjs +25 -46
  81. package/dist/cjs/useMatch.cjs.map +1 -1
  82. package/dist/cjs/useNavigate.cjs +20 -38
  83. package/dist/cjs/useNavigate.cjs.map +1 -1
  84. package/dist/cjs/useParams.cjs +14 -13
  85. package/dist/cjs/useParams.cjs.map +1 -1
  86. package/dist/cjs/useRouteContext.cjs +9 -8
  87. package/dist/cjs/useRouteContext.cjs.map +1 -1
  88. package/dist/cjs/useRouter.cjs +13 -26
  89. package/dist/cjs/useRouter.cjs.map +1 -1
  90. package/dist/cjs/useRouterState.cjs +40 -43
  91. package/dist/cjs/useRouterState.cjs.map +1 -1
  92. package/dist/cjs/useSearch.cjs +13 -12
  93. package/dist/cjs/useSearch.cjs.map +1 -1
  94. package/dist/cjs/utils.cjs +57 -49
  95. package/dist/cjs/utils.cjs.map +1 -1
  96. package/dist/esm/Asset.js +122 -166
  97. package/dist/esm/Asset.js.map +1 -1
  98. package/dist/esm/CatchBoundary.js +48 -50
  99. package/dist/esm/CatchBoundary.js.map +1 -1
  100. package/dist/esm/ClientOnly.js +58 -22
  101. package/dist/esm/ClientOnly.js.map +1 -1
  102. package/dist/esm/HeadContent.dev.js +46 -40
  103. package/dist/esm/HeadContent.dev.js.map +1 -1
  104. package/dist/esm/HeadContent.js +33 -26
  105. package/dist/esm/HeadContent.js.map +1 -1
  106. package/dist/esm/Match.js +359 -422
  107. package/dist/esm/Match.js.map +1 -1
  108. package/dist/esm/Matches.js +107 -142
  109. package/dist/esm/Matches.js.map +1 -1
  110. package/dist/esm/RouterProvider.js +26 -40
  111. package/dist/esm/RouterProvider.js.map +1 -1
  112. package/dist/esm/SafeFragment.js +6 -5
  113. package/dist/esm/SafeFragment.js.map +1 -1
  114. package/dist/esm/ScriptOnce.js +18 -21
  115. package/dist/esm/ScriptOnce.js.map +1 -1
  116. package/dist/esm/Scripts.js +42 -58
  117. package/dist/esm/Scripts.js.map +1 -1
  118. package/dist/esm/ScrollRestoration.js +25 -29
  119. package/dist/esm/ScrollRestoration.js.map +1 -1
  120. package/dist/esm/Transitioner.js +87 -105
  121. package/dist/esm/Transitioner.js.map +1 -1
  122. package/dist/esm/awaited.js +28 -36
  123. package/dist/esm/awaited.js.map +1 -1
  124. package/dist/esm/fileRoute.d.ts +2 -2
  125. package/dist/esm/fileRoute.js +90 -92
  126. package/dist/esm/fileRoute.js.map +1 -1
  127. package/dist/esm/headContentUtils.js +129 -152
  128. package/dist/esm/headContentUtils.js.map +1 -1
  129. package/dist/esm/index.dev.js +15 -115
  130. package/dist/esm/index.js +17 -116
  131. package/dist/esm/lazyRouteComponent.js +46 -53
  132. package/dist/esm/lazyRouteComponent.js.map +1 -1
  133. package/dist/esm/link.js +306 -329
  134. package/dist/esm/link.js.map +1 -1
  135. package/dist/esm/matchContext.js +7 -7
  136. package/dist/esm/matchContext.js.map +1 -1
  137. package/dist/esm/not-found.js +23 -33
  138. package/dist/esm/not-found.js.map +1 -1
  139. package/dist/esm/renderRouteNotFound.js +20 -15
  140. package/dist/esm/renderRouteNotFound.js.map +1 -1
  141. package/dist/esm/route.js +193 -218
  142. package/dist/esm/route.js.map +1 -1
  143. package/dist/esm/router.js +17 -17
  144. package/dist/esm/router.js.map +1 -1
  145. package/dist/esm/routerContext.js +6 -5
  146. package/dist/esm/routerContext.js.map +1 -1
  147. package/dist/esm/scroll-restoration.js +23 -34
  148. package/dist/esm/scroll-restoration.js.map +1 -1
  149. package/dist/esm/ssr/RouterClient.js +16 -22
  150. package/dist/esm/ssr/RouterClient.js.map +1 -1
  151. package/dist/esm/ssr/RouterServer.js +9 -10
  152. package/dist/esm/ssr/RouterServer.js.map +1 -1
  153. package/dist/esm/ssr/client.js +1 -4
  154. package/dist/esm/ssr/defaultRenderHandler.js +11 -15
  155. package/dist/esm/ssr/defaultRenderHandler.js.map +1 -1
  156. package/dist/esm/ssr/defaultStreamHandler.js +12 -17
  157. package/dist/esm/ssr/defaultStreamHandler.js.map +1 -1
  158. package/dist/esm/ssr/renderRouterToStream.js +23 -36
  159. package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
  160. package/dist/esm/ssr/renderRouterToString.js +31 -40
  161. package/dist/esm/ssr/renderRouterToString.js.map +1 -1
  162. package/dist/esm/ssr/server.js +3 -10
  163. package/dist/esm/useBlocker.d.ts +8 -5
  164. package/dist/esm/useBlocker.js +136 -159
  165. package/dist/esm/useBlocker.js.map +1 -1
  166. package/dist/esm/useCanGoBack.js +6 -5
  167. package/dist/esm/useCanGoBack.js.map +1 -1
  168. package/dist/esm/useLoaderData.js +12 -11
  169. package/dist/esm/useLoaderData.js.map +1 -1
  170. package/dist/esm/useLoaderDeps.js +12 -14
  171. package/dist/esm/useLoaderDeps.js.map +1 -1
  172. package/dist/esm/useLocation.js +6 -7
  173. package/dist/esm/useLocation.js.map +1 -1
  174. package/dist/esm/useMatch.js +21 -28
  175. package/dist/esm/useMatch.js.map +1 -1
  176. package/dist/esm/useNavigate.js +18 -22
  177. package/dist/esm/useNavigate.js.map +1 -1
  178. package/dist/esm/useParams.js +14 -13
  179. package/dist/esm/useParams.js.map +1 -1
  180. package/dist/esm/useRouteContext.js +9 -8
  181. package/dist/esm/useRouteContext.js.map +1 -1
  182. package/dist/esm/useRouter.js +9 -8
  183. package/dist/esm/useRouter.js.map +1 -1
  184. package/dist/esm/useRouterState.js +38 -42
  185. package/dist/esm/useRouterState.js.map +1 -1
  186. package/dist/esm/useSearch.js +13 -12
  187. package/dist/esm/useSearch.js.map +1 -1
  188. package/dist/esm/utils.js +55 -33
  189. package/dist/esm/utils.js.map +1 -1
  190. package/dist/source/fileRoute.d.ts +2 -2
  191. package/dist/source/useBlocker.d.ts +8 -5
  192. package/dist/source/useBlocker.jsx +2 -2
  193. package/dist/source/useBlocker.jsx.map +1 -1
  194. package/dist/source/useRouterState.jsx +7 -0
  195. package/dist/source/useRouterState.jsx.map +1 -1
  196. package/package.json +3 -3
  197. package/src/fileRoute.ts +2 -2
  198. package/src/useBlocker.tsx +15 -10
  199. package/src/useRouterState.tsx +10 -0
  200. package/dist/cjs/index.cjs.map +0 -1
  201. package/dist/cjs/index.dev.cjs.map +0 -1
  202. package/dist/cjs/ssr/client.cjs.map +0 -1
  203. package/dist/cjs/ssr/server.cjs.map +0 -1
  204. package/dist/esm/index.dev.js.map +0 -1
  205. package/dist/esm/index.js.map +0 -1
  206. package/dist/esm/ssr/client.js.map +0 -1
  207. package/dist/esm/ssr/server.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Match.cjs","sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from '@solidjs/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nconst MatchContext = matchContext as unknown as Solid.Component<{\n value: any\n children?: any\n}>\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n // Return null to avoid errors - the component will handle this gracefully\n if (!match) {\n return null\n }\n\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n // If match doesn't exist yet, return null (component is being unmounted or not ready)\n if (!Solid.untrack(matchState)) return null\n\n const route: () => AnyRoute = () => router.routesById[matchState()!.routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr = Solid.createMemo(\n () => matchState()!.ssr === false || matchState()!.ssr === 'data-only',\n )\n\n const ResolvedSuspenseBoundary = () =>\n resolvedNoSsr() ? SafeFragment : Solid.Loading\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = Solid.createMemo(() =>\n route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment,\n )\n\n return (\n <Dynamic component={ShellComponent()}>\n <MatchContext value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch\n (isServer ?? router.isServer) || resolvedNoSsr() ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(\n false,\n `Error in route match: ${Solid.untrack(matchState)!.routeId}`,\n )\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState()!.routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr()}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={<Dynamic component={resolvePendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr()}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </MatchContext>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </Dynamic>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\n//\n// In Solid, createEffect(source, fn) fires on initial mount as well as on\n// reactive changes. OnRendered can also remount when the first child route\n// changes (e.g. navigating from / to /posts). We deduplicate by tracking\n// the last emitted resolvedLocation key per router so each unique resolved\n// location only triggers one onRendered event regardless of remounts.\nconst lastOnRenderedKey = new WeakMap<object, string>()\n\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n () => [location()] as const,\n ([location]) => {\n if (!location) return\n if (lastOnRenderedKey.get(router) === location) return\n lastOnRenderedKey.set(router, location)\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n },\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n if (!match) {\n return null\n }\n\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: match.id,\n status: match.status,\n error: match.error,\n _forcePending: match._forcePending,\n _displayPending: match._displayPending,\n },\n }\n },\n })\n\n if (!Solid.untrack(matchState)) return null\n\n const route = () => router.routesById[matchState()!.routeId]!\n\n const match = () => matchState()!.match\n\n const componentKey = () => matchState()!.key ?? matchState()!.match.id\n\n const out = () => {\n const currentRoute = Solid.untrack(route)\n const Comp =\n currentRoute.options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const keyedOut = () => (\n <Solid.Show when={componentKey()} keyed>\n {(_key) => out()}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const matchId = Solid.untrack(() => match().id)\n const displayPendingResult = Solid.createMemo(\n () => router.getMatch(matchId)?._nonReactive.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match()._forcePending}>\n {(_) => {\n const matchId = Solid.untrack(() => match().id)\n const minPendingResult = Solid.createMemo(\n () => router.getMatch(matchId)?._nonReactive.minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const currentMatch = Solid.untrack(match)\n const currentRoute = Solid.untrack(route)\n const pendingMinMs =\n currentRoute.options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch.id)\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise<void>()\n\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n\n setTimeout(() => {\n minPendingPromise.resolve()\n // We've handled the minPendingPromise, so we can delete it\n routerMatch._nonReactive.minPendingPromise = undefined\n }, pendingMinMs)\n }\n }\n }\n\n const loaderResult = Solid.createMemo(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch.id)?._nonReactive.loadPromise\n })\n\n const FallbackComponent =\n currentRoute.options.pendingComponent ??\n router.options.defaultPendingComponent\n\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n const currentMatch = Solid.untrack(match)\n const currentRoute = Solid.untrack(route)\n const currentRouteId = Solid.untrack(() => matchState()!.routeId)\n invariant(isNotFound(currentMatch.error), 'Expected a notFound error')\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentRouteId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, currentRoute, currentMatch.error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n const matchId = Solid.untrack(() => match().id)\n invariant(\n isRedirect(Solid.untrack(match).error),\n 'Expected a redirect error',\n )\n\n const loaderResult = Solid.createMemo(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(matchId)?._nonReactive.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const currentMatch = Solid.untrack(match)\n const RouteErrorComponent =\n (Solid.untrack(route).options.errorComponent ??\n router.options.defaultErrorComponent) ||\n ErrorComponent\n\n return (\n <RouteErrorComponent\n error={currentMatch.error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw Solid.untrack(match).error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n\n // During navigation transitions, parent match can be temporarily removed\n // Return false to avoid errors - the component will handle this gracefully\n if (!parentMatch) {\n return false\n }\n\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n const childRouteId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.routeId\n },\n })\n\n const childMatchStatus = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.status\n },\n })\n\n // Only show not-found if we're not in a redirected state\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n return (\n <Solid.Show\n when={!shouldShowNotFound() && childMatchId()}\n fallback={\n <Solid.Show when={shouldShowNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Show>\n }\n >\n {(matchIdAccessor) => {\n // Use a memo to avoid stale accessor errors while keeping reactivity\n const currentMatchId = Solid.createMemo(() => matchIdAccessor())\n\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={currentMatchId()} />}\n >\n <Solid.Show when={childRouteId()} keyed>\n {(_routeId) => (\n <Solid.Loading\n fallback={\n <Dynamic\n component={router.options.defaultPendingComponent}\n />\n }\n >\n <Match matchId={currentMatchId()} />\n </Solid.Loading>\n )}\n </Solid.Show>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"names":["MatchContext","matchContext","Match","props","router","useRouter","matchState","useRouterState","select","s","match","matches","find","d","id","matchId","routeId","ssr","_displayPending","Solid","untrack","route","routesById","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","createMemo","ResolvedSuspenseBoundary","SafeFragment","Loading","ResolvedCatchBoundary","CatchBoundary","ResolvedNotFoundBoundary","CatchNotFound","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","Dynamic","children","value","fallback","_$memo","isServer","undefined","getResetKey","ErrorComponent","error","isNotFound","warning","_$mergeProps","Switch","when","Show","MatchInner","rootRouteId","OnRendered","ScrollRestoration","lastOnRenderedKey","WeakMap","location","resolvedLocation","state","__TSR_key","createEffect","get","set","emit","type","getLocationChangeInfo","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","currentRoute","Comp","defaultComponent","Outlet","keyedOut","keyed","_key","_","displayPendingResult","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","currentMatch","pendingMinMs","defaultPendingMinMs","routerMatch","createControlledPromise","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","currentRouteId","invariant","_routeId","renderRouteNotFound","isRedirect","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","childRouteId","childMatchStatus","shouldShowNotFound","matchIdAccessor","currentMatchId"],"mappings":"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"}
1
+ {"version":3,"file":"Match.cjs","names":["Solid","invariant","warning","createControlledPromise","getLocationChangeInfo","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouterState","useRouter","CatchNotFound","matchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","MatchContext","Component","value","children","Match","props","matchId","router","matchState","select","s","match","matches","find","d","id","routeId","ssr","_displayPending","untrack","route","routesById","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","createMemo","ResolvedSuspenseBoundary","Loading","ResolvedCatchBoundary","ResolvedNotFoundBoundary","resetKey","loadedAt","parentRouteId","index","findIndex","ShellComponent","shellComponent","_$createComponent","fallback","_$memo","undefined","getResetKey","error","Error","_$mergeProps","Switch","when","Show","MatchInner","OnRendered","lastOnRenderedKey","WeakMap","location","resolvedLocation","state","__TSR_key","createEffect","const","get","set","emit","type","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","currentRoute","Comp","defaultComponent","Outlet","keyedOut","keyed","_key","_","displayPendingResult","getMatch","_nonReactive","displayPendingPromise","minPendingResult","minPendingPromise","currentMatch","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","Promise","r","loadPromise","FallbackComponent","currentRouteId","_routeId","RouteErrorComponent","info","componentStack","useContext","parentGlobalNotFound","parentMatch","globalNotFound","childMatchId","v","childRouteId","childMatchStatus","shouldShowNotFound","matchIdAccessor","currentMatchId"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport warning from 'tiny-warning'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from '@solidjs/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound } from './not-found'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nconst MatchContext = matchContext as unknown as Solid.Component<{\n value: any\n children?: any\n}>\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n // Return null to avoid errors - the component will handle this gracefully\n if (!match) {\n return null\n }\n\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n }\n },\n })\n\n // If match doesn't exist yet, return null (component is being unmounted or not ready)\n if (!Solid.untrack(matchState)) return null\n\n const route: () => AnyRoute = () => router.routesById[matchState()!.routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ?? router.options.defaultPendingComponent\n\n const routeErrorComponent = () =>\n route().options.errorComponent ?? router.options.defaultErrorComponent\n\n const routeOnCatch = () =>\n route().options.onCatch ?? router.options.defaultOnCatch\n\n const routeNotFoundComponent = () =>\n route().isRoot\n ? // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n (route().options.notFoundComponent ??\n router.options.notFoundRoute?.options.component)\n : route().options.notFoundComponent\n\n const resolvedNoSsr = Solid.createMemo(\n () => matchState()!.ssr === false || matchState()!.ssr === 'data-only',\n )\n\n const ResolvedSuspenseBoundary = () =>\n resolvedNoSsr() ? SafeFragment : Solid.Loading\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const resetKey = useRouterState({\n select: (s) => s.loadedAt,\n })\n\n const parentRouteId = useRouterState({\n select: (s) => {\n const index = s.matches.findIndex((d) => d.id === props.matchId)\n return s.matches[index - 1]?.routeId as string\n },\n })\n\n const ShellComponent = Solid.createMemo(() =>\n route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ?? SafeFragment)\n : SafeFragment,\n )\n\n return (\n <Dynamic component={ShellComponent()}>\n <MatchContext value={() => props.matchId}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch\n (isServer ?? router.isServer) || resolvedNoSsr() ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => resetKey()}\n errorComponent={routeErrorComponent() || ErrorComponent}\n onCatch={(error: Error) => {\n // Forward not found errors (we don't want to show the error component for these)\n if (isNotFound(error)) throw error\n warning(\n false,\n `Error in route match: ${Solid.untrack(matchState)!.routeId}`,\n )\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n // If the current not found handler doesn't exist or it has a\n // route ID which doesn't match the current route, rethrow the error\n if (\n !routeNotFoundComponent() ||\n (error.routeId && error.routeId !== matchState()!.routeId) ||\n (!error.routeId && !route().isRoot)\n )\n throw error\n\n return (\n <Dynamic component={routeNotFoundComponent()} {...error} />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr()}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={<Dynamic component={resolvePendingComponent()} />}\n >\n <MatchInner matchId={props.matchId} />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr()}>\n <MatchInner matchId={props.matchId} />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </MatchContext>\n\n {parentRouteId() === rootRouteId ? (\n <>\n <OnRendered />\n <ScrollRestoration />\n </>\n ) : null}\n </Dynamic>\n )\n}\n\n// On Rendered can't happen above the root layout because it actually\n// renders a dummy dom element to track the rendered state of the app.\n// We render a script tag with a key that changes based on the current\n// location state.__TSR_key. Also, because it's below the root layout, it\n// allows us to fire onRendered events even after a hydration mismatch\n// error that occurred above the root layout (like bad head/link tags,\n// which is common).\n//\n// In Solid, createEffect(source, fn) fires on initial mount as well as on\n// reactive changes. OnRendered can also remount when the first child route\n// changes (e.g. navigating from / to /posts). We deduplicate by tracking\n// the last emitted resolvedLocation key per router so each unique resolved\n// location only triggers one onRendered event regardless of remounts.\nconst lastOnRenderedKey = new WeakMap<object, string>()\n\nfunction OnRendered() {\n const router = useRouter()\n\n const location = useRouterState({\n select: (s) => {\n return s.resolvedLocation?.state.__TSR_key\n },\n })\n Solid.createEffect(\n () => [location()] as const,\n ([location]) => {\n if (!location) return\n if (lastOnRenderedKey.get(router) === location) return\n lastOnRenderedKey.set(router, location)\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(router.state),\n })\n },\n )\n return null\n}\n\nexport const MatchInner = (props: { matchId: string }): any => {\n const router = useRouter()\n\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === props.matchId)\n\n // During navigation transitions, matches can be temporarily removed\n if (!match) {\n return null\n }\n\n const routeId = match.routeId as string\n\n const remountFn =\n (router.routesById[routeId] as AnyRoute).options.remountDeps ??\n router.options.defaultRemountDeps\n const remountDeps = remountFn?.({\n routeId,\n loaderDeps: match.loaderDeps,\n params: match._strictParams,\n search: match._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: match.id,\n status: match.status,\n error: match.error,\n _forcePending: match._forcePending,\n _displayPending: match._displayPending,\n },\n }\n },\n })\n\n if (!Solid.untrack(matchState)) return null\n\n const route = () => router.routesById[matchState()!.routeId]!\n\n const match = () => matchState()!.match\n\n const componentKey = () => matchState()!.key ?? matchState()!.match.id\n\n const out = () => {\n const currentRoute = Solid.untrack(route)\n const Comp =\n currentRoute.options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const keyedOut = () => (\n <Solid.Show when={componentKey()} keyed>\n {(_key) => out()}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={match()._displayPending}>\n {(_) => {\n const matchId = Solid.untrack(() => match().id)\n const displayPendingResult = Solid.createMemo(\n () => router.getMatch(matchId)?._nonReactive.displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match()._forcePending}>\n {(_) => {\n const matchId = Solid.untrack(() => match().id)\n const minPendingResult = Solid.createMemo(\n () => router.getMatch(matchId)?._nonReactive.minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'pending'}>\n {(_) => {\n const currentMatch = Solid.untrack(match)\n const currentRoute = Solid.untrack(route)\n const pendingMinMs =\n currentRoute.options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch.id)\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n // Create a promise that will resolve after the minPendingMs\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise<void>()\n\n routerMatch._nonReactive.minPendingPromise = minPendingPromise\n\n setTimeout(() => {\n minPendingPromise.resolve()\n // We've handled the minPendingPromise, so we can delete it\n routerMatch._nonReactive.minPendingPromise = undefined\n }, pendingMinMs)\n }\n }\n }\n\n const loaderResult = Solid.createMemo(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch.id)?._nonReactive.loadPromise\n })\n\n const FallbackComponent =\n currentRoute.options.pendingComponent ??\n router.options.defaultPendingComponent\n\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'notFound'}>\n {(_) => {\n const currentMatch = Solid.untrack(match)\n const currentRoute = Solid.untrack(route)\n const currentRouteId = Solid.untrack(() => matchState()!.routeId)\n invariant(isNotFound(currentMatch.error), 'Expected a notFound error')\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentRouteId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, currentRoute, currentMatch.error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'redirected'}>\n {(_) => {\n const matchId = Solid.untrack(() => match().id)\n invariant(\n isRedirect(Solid.untrack(match).error),\n 'Expected a redirect error',\n )\n\n const loaderResult = Solid.createMemo(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(matchId)?._nonReactive.loadPromise\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const currentMatch = Solid.untrack(match)\n const RouteErrorComponent =\n (Solid.untrack(route).options.errorComponent ??\n router.options.defaultErrorComponent) ||\n ErrorComponent\n\n return (\n <RouteErrorComponent\n error={currentMatch.error}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw Solid.untrack(match).error\n }}\n </Solid.Match>\n <Solid.Match when={match().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const matchId = Solid.useContext(matchContext)\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId())?.routeId as string,\n })\n\n const route = () => router.routesById[routeId()]!\n\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches\n const parentMatch = matches.find((d) => d.id === matchId())\n\n // During navigation transitions, parent match can be temporarily removed\n // Return false to avoid errors - the component will handle this gracefully\n if (!parentMatch) {\n return false\n }\n\n return parentMatch.globalNotFound\n },\n })\n\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n const v = matches[index + 1]?.id\n return v\n },\n })\n\n const childRouteId = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.routeId\n },\n })\n\n const childMatchStatus = useRouterState({\n select: (s) => {\n const matches = s.matches\n const index = matches.findIndex((d) => d.id === matchId())\n return matches[index + 1]?.status\n },\n })\n\n // Only show not-found if we're not in a redirected state\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n return (\n <Solid.Show\n when={!shouldShowNotFound() && childMatchId()}\n fallback={\n <Solid.Show when={shouldShowNotFound()}>\n {renderRouteNotFound(router, route(), undefined)}\n </Solid.Show>\n }\n >\n {(matchIdAccessor) => {\n // Use a memo to avoid stale accessor errors while keeping reactivity\n const currentMatchId = Solid.createMemo(() => matchIdAccessor())\n\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={currentMatchId()} />}\n >\n <Solid.Show when={childRouteId()} keyed>\n {(_routeId) => (\n <Solid.Loading\n fallback={\n <Dynamic\n component={router.options.defaultPendingComponent}\n />\n }\n >\n <Match matchId={currentMatchId()} />\n </Solid.Loading>\n )}\n </Solid.Show>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"mappings":"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"}
@@ -1,179 +1,135 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid$1 = require("@solidjs/web");
4
- const Solid = require("solid-js");
5
- const warning = require("tiny-warning");
6
- const routerCore = require("@tanstack/router-core");
7
- const isServer = require("@tanstack/router-core/isServer");
8
- const CatchBoundary = require("./CatchBoundary.cjs");
9
- const useRouterState = require("./useRouterState.cjs");
10
- const useRouter = require("./useRouter.cjs");
11
- const Transitioner = require("./Transitioner.cjs");
12
- const matchContext = require("./matchContext.cjs");
13
- const SafeFragment = require("./SafeFragment.cjs");
14
- const Match = require("./Match.cjs");
15
- function _interopNamespaceDefault(e) {
16
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
17
- if (e) {
18
- for (const k in e) {
19
- if (k !== "default") {
20
- const d = Object.getOwnPropertyDescriptor(e, k);
21
- Object.defineProperty(n, k, d.get ? d : {
22
- enumerable: true,
23
- get: () => e[k]
24
- });
25
- }
26
- }
27
- }
28
- n.default = e;
29
- return Object.freeze(n);
30
- }
31
- const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
32
- const MatchContext = matchContext.matchContext;
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_CatchBoundary = require("./CatchBoundary.cjs");
3
+ const require_useRouter = require("./useRouter.cjs");
4
+ const require_useRouterState = require("./useRouterState.cjs");
5
+ const require_matchContext = require("./matchContext.cjs");
6
+ const require_Transitioner = require("./Transitioner.cjs");
7
+ const require_SafeFragment = require("./SafeFragment.cjs");
8
+ const require_Match = require("./Match.cjs");
9
+ let _tanstack_router_core = require("@tanstack/router-core");
10
+ let _solidjs_web = require("@solidjs/web");
11
+ let solid_js = require("solid-js");
12
+ solid_js = require_runtime.__toESM(solid_js);
13
+ let tiny_warning = require("tiny-warning");
14
+ tiny_warning = require_runtime.__toESM(tiny_warning);
15
+ let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer");
16
+ //#region src/Matches.tsx
17
+ var MatchContext = require_matchContext.matchContext;
33
18
  function Matches() {
34
- const router = useRouter.useRouter();
35
- const ResolvedSuspense = router.options.disableGlobalCatchBoundary || (isServer.isServer ?? router.isServer) || typeof document !== "undefined" && router.ssr ? SafeFragment.SafeFragment : Solid__namespace.Loading;
36
- const rootRoute = () => router.routesById[routerCore.rootRouteId];
37
- const PendingComponent = rootRoute().options.pendingComponent ?? router.options.defaultPendingComponent;
38
- const OptionalWrapper = router.options.InnerWrap || SafeFragment.SafeFragment;
39
- return Solid$1.createComponent(OptionalWrapper, {
40
- get children() {
41
- return Solid$1.createComponent(ResolvedSuspense, {
42
- get fallback() {
43
- return PendingComponent ? Solid$1.createComponent(PendingComponent, {}) : null;
44
- },
45
- get children() {
46
- return [Solid$1.createComponent(Transitioner.Transitioner, {}), Solid$1.createComponent(MatchesInner, {})];
47
- }
48
- });
49
- }
50
- });
19
+ const router = require_useRouter.useRouter();
20
+ const ResolvedSuspense = router.options.disableGlobalCatchBoundary || (_tanstack_router_core_isServer.isServer ?? router.isServer) || typeof document !== "undefined" && router.ssr ? require_SafeFragment.SafeFragment : solid_js.Loading;
21
+ const rootRoute = () => router.routesById[_tanstack_router_core.rootRouteId];
22
+ const PendingComponent = rootRoute().options.pendingComponent ?? router.options.defaultPendingComponent;
23
+ return (0, _solidjs_web.createComponent)(router.options.InnerWrap || require_SafeFragment.SafeFragment, { get children() {
24
+ return (0, _solidjs_web.createComponent)(ResolvedSuspense, {
25
+ get fallback() {
26
+ return PendingComponent ? (0, _solidjs_web.createComponent)(PendingComponent, {}) : null;
27
+ },
28
+ get children() {
29
+ return [(0, _solidjs_web.createComponent)(require_Transitioner.Transitioner, {}), (0, _solidjs_web.createComponent)(MatchesInner, {})];
30
+ }
31
+ });
32
+ } });
51
33
  }
52
34
  function MatchesInner() {
53
- const router = useRouter.useRouter();
54
- const matchId = useRouterState.useRouterState({
55
- select: (s) => {
56
- return s.matches[0]?.id;
57
- }
58
- });
59
- const resetKey = useRouterState.useRouterState({
60
- select: (s) => s.loadedAt
61
- });
62
- const matchContent = () => Solid$1.createComponent(Solid__namespace.Show, {
63
- get when() {
64
- return matchId();
65
- },
66
- get children() {
67
- return Solid$1.createComponent(Match.Match, {
68
- get matchId() {
69
- return matchId();
70
- }
71
- });
72
- }
73
- });
74
- if (router.options.disableGlobalCatchBoundary) {
75
- return Solid$1.createComponent(MatchContext, {
76
- value: matchId,
77
- get children() {
78
- return matchContent();
79
- }
80
- });
81
- }
82
- return Solid$1.createComponent(MatchContext, {
83
- value: matchId,
84
- get children() {
85
- return Solid$1.createComponent(CatchBoundary.CatchBoundary, {
86
- getResetKey: () => resetKey(),
87
- errorComponent: CatchBoundary.ErrorComponent,
88
- get onCatch() {
89
- return process.env.NODE_ENV !== "production" ? (error) => {
90
- warning(false, `The following error wasn't caught by any route! At the very leas
35
+ const router = require_useRouter.useRouter();
36
+ const matchId = require_useRouterState.useRouterState({ select: (s) => {
37
+ return s.matches[0]?.id;
38
+ } });
39
+ const resetKey = require_useRouterState.useRouterState({ select: (s) => s.loadedAt });
40
+ const matchContent = () => (0, _solidjs_web.createComponent)(solid_js.Show, {
41
+ get when() {
42
+ return matchId();
43
+ },
44
+ get children() {
45
+ return (0, _solidjs_web.createComponent)(require_Match.Match, { get matchId() {
46
+ return matchId();
47
+ } });
48
+ }
49
+ });
50
+ if (router.options.disableGlobalCatchBoundary) return (0, _solidjs_web.createComponent)(MatchContext, {
51
+ value: matchId,
52
+ get children() {
53
+ return matchContent();
54
+ }
55
+ });
56
+ return (0, _solidjs_web.createComponent)(MatchContext, {
57
+ value: matchId,
58
+ get children() {
59
+ return (0, _solidjs_web.createComponent)(require_CatchBoundary.CatchBoundary, {
60
+ getResetKey: () => resetKey(),
61
+ errorComponent: require_CatchBoundary.ErrorComponent,
62
+ get onCatch() {
63
+ return process.env.NODE_ENV !== "production" ? (error) => {
64
+ (0, tiny_warning.default)(false, `The following error wasn't caught by any route! At the very leas
91
65
  t, consider setting an 'errorComponent' in your RootRoute!`);
92
- warning(false, error.message || error.toString());
93
- } : void 0;
94
- },
95
- get children() {
96
- return matchContent();
97
- }
98
- });
99
- }
100
- });
66
+ (0, tiny_warning.default)(false, error.message || error.toString());
67
+ } : void 0;
68
+ },
69
+ get children() {
70
+ return matchContent();
71
+ }
72
+ });
73
+ }
74
+ });
101
75
  }
102
76
  function useMatchRoute() {
103
- const router = useRouter.useRouter();
104
- const status = useRouterState.useRouterState({
105
- select: (s) => s.status
106
- });
107
- return (opts) => {
108
- const {
109
- pending,
110
- caseSensitive,
111
- fuzzy,
112
- includeSearch,
113
- ...rest
114
- } = opts;
115
- const matchRoute = Solid__namespace.createMemo(() => {
116
- status();
117
- return router.matchRoute(rest, {
118
- pending,
119
- caseSensitive,
120
- fuzzy,
121
- includeSearch
122
- });
123
- });
124
- return matchRoute;
125
- };
77
+ const router = require_useRouter.useRouter();
78
+ const status = require_useRouterState.useRouterState({ select: (s) => s.status });
79
+ return (opts) => {
80
+ const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts;
81
+ return solid_js.createMemo(() => {
82
+ status();
83
+ return router.matchRoute(rest, {
84
+ pending,
85
+ caseSensitive,
86
+ fuzzy,
87
+ includeSearch
88
+ });
89
+ });
90
+ };
126
91
  }
127
92
  function MatchRoute(props) {
128
- const status = useRouterState.useRouterState({
129
- select: (s) => s.status
130
- });
131
- return Solid$1.createComponent(Solid__namespace.Show, {
132
- get when() {
133
- return status();
134
- },
135
- keyed: true,
136
- children: (_) => {
137
- const matchRoute = useMatchRoute();
138
- const params = matchRoute(props)();
139
- const child = props.children;
140
- if (typeof child === "function") {
141
- return child(params);
142
- }
143
- return params ? child : null;
144
- }
145
- });
93
+ const status = require_useRouterState.useRouterState({ select: (s) => s.status });
94
+ return (0, _solidjs_web.createComponent)(solid_js.Show, {
95
+ get when() {
96
+ return status();
97
+ },
98
+ keyed: true,
99
+ children: (_) => {
100
+ const params = useMatchRoute()(props)();
101
+ const child = props.children;
102
+ if (typeof child === "function") return child(params);
103
+ return params ? child : null;
104
+ }
105
+ });
146
106
  }
147
107
  function useMatches(opts) {
148
- return useRouterState.useRouterState({
149
- select: (state) => {
150
- const matches = state.matches;
151
- return opts?.select ? opts.select(matches) : matches;
152
- }
153
- });
108
+ return require_useRouterState.useRouterState({ select: (state) => {
109
+ const matches = state.matches;
110
+ return opts?.select ? opts.select(matches) : matches;
111
+ } });
154
112
  }
155
113
  function useParentMatches(opts) {
156
- const contextMatchId = Solid__namespace.useContext(matchContext.matchContext);
157
- return useMatches({
158
- select: (matches) => {
159
- matches = matches.slice(0, matches.findIndex((d) => d.id === contextMatchId()));
160
- return opts?.select ? opts.select(matches) : matches;
161
- }
162
- });
114
+ const contextMatchId = solid_js.useContext(require_matchContext.matchContext);
115
+ return useMatches({ select: (matches) => {
116
+ matches = matches.slice(0, matches.findIndex((d) => d.id === contextMatchId()));
117
+ return opts?.select ? opts.select(matches) : matches;
118
+ } });
163
119
  }
164
120
  function useChildMatches(opts) {
165
- const contextMatchId = Solid__namespace.useContext(matchContext.matchContext);
166
- return useMatches({
167
- select: (matches) => {
168
- matches = matches.slice(matches.findIndex((d) => d.id === contextMatchId()) + 1);
169
- return opts?.select ? opts.select(matches) : matches;
170
- }
171
- });
121
+ const contextMatchId = solid_js.useContext(require_matchContext.matchContext);
122
+ return useMatches({ select: (matches) => {
123
+ matches = matches.slice(matches.findIndex((d) => d.id === contextMatchId()) + 1);
124
+ return opts?.select ? opts.select(matches) : matches;
125
+ } });
172
126
  }
127
+ //#endregion
173
128
  exports.MatchRoute = MatchRoute;
174
129
  exports.Matches = Matches;
175
130
  exports.useChildMatches = useChildMatches;
176
131
  exports.useMatchRoute = useMatchRoute;
177
132
  exports.useMatches = useMatches;
178
133
  exports.useParentMatches = useParentMatches;
179
- //# sourceMappingURL=Matches.cjs.map
134
+
135
+ //# sourceMappingURL=Matches.cjs.map
@@ -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 { rootRouteId } from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { Transitioner } from './Transitioner'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { Match } from './Match'\nimport type {\n AnyRoute,\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\nconst MatchContext = matchContext as unknown as Solid.Component<{\n value: any\n children: any\n}>\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 // When disableGlobalCatchBoundary is true, we must NOT wrap with Solid.Loading\n // because Solid.Loading transforms STATUS_ERROR into STATUS_PENDING, which\n // prevents errors from propagating to an external Errored boundary.\n const ResolvedSuspense =\n router.options.disableGlobalCatchBoundary ||\n (isServer ?? router.isServer) ||\n (typeof document !== 'undefined' && router.ssr)\n ? SafeFragment\n : Solid.Loading\n\n const rootRoute: () => AnyRoute = () => router.routesById[rootRouteId]\n const PendingComponent =\n rootRoute().options.pendingComponent ??\n router.options.defaultPendingComponent\n\n const OptionalWrapper = router.options.InnerWrap || SafeFragment\n\n return (\n <OptionalWrapper>\n <ResolvedSuspense\n fallback={PendingComponent ? <PendingComponent /> : null}\n >\n <Transitioner />\n <MatchesInner />\n </ResolvedSuspense>\n </OptionalWrapper>\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 matchContent = () => (\n <Solid.Show when={matchId()}>\n <Match matchId={matchId()!} />\n </Solid.Show>\n )\n\n if (router.options.disableGlobalCatchBoundary) {\n // When disableGlobalCatchBoundary is true, render without any internal\n // error boundary so errors bubble up freely to an external Errored boundary.\n return <MatchContext value={matchId}>{matchContent()}</MatchContext>\n }\n\n return (\n <MatchContext value={matchId}>\n <CatchBoundary\n getResetKey={() => resetKey()}\n errorComponent={ErrorComponent}\n onCatch={\n process.env.NODE_ENV !== 'production'\n ? (error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very leas\n t, consider setting an 'errorComponent' in your RootRoute!`,\n )\n warning(false, error.message || error.toString())\n }\n : undefined\n }\n >\n {matchContent()}\n </CatchBoundary>\n </MatchContext>\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":["MatchContext","matchContext","Matches","router","useRouter","ResolvedSuspense","options","disableGlobalCatchBoundary","isServer","document","ssr","SafeFragment","Solid","Loading","rootRoute","routesById","rootRouteId","PendingComponent","pendingComponent","defaultPendingComponent","OptionalWrapper","InnerWrap","_$createComponent","children","fallback","Transitioner","MatchesInner","matchId","useRouterState","select","s","matches","id","resetKey","loadedAt","matchContent","Show","when","Match","value","CatchBoundary","getResetKey","errorComponent","ErrorComponent","onCatch","process","env","NODE_ENV","error","warning","message","toString","undefined","useMatchRoute","status","opts","pending","caseSensitive","fuzzy","includeSearch","rest","matchRoute","createMemo","MatchRoute","props","keyed","_","params","child","useMatches","state","useParentMatches","contextMatchId","useContext","slice","findIndex","d","useChildMatches"],"mappings":"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"}
1
+ {"version":3,"file":"Matches.cjs","names":["Solid","warning","rootRouteId","isServer","CatchBoundary","ErrorComponent","useRouterState","useRouter","Transitioner","matchContext","SafeFragment","Match","AnyRoute","AnyRouter","DeepPartial","Expand","MakeOptionalPathParams","MakeOptionalSearchParams","MakeRouteMatchUnion","MaskOptions","MatchRouteOptions","NoInfer","RegisteredRouter","ResolveRelativePath","ResolveRoute","RouteByPath","RouterState","ToSubOptionsProps","MatchContext","Component","value","children","RouteMatchExtensions","meta","Array","JSX","IntrinsicElements","links","scripts","styles","headScripts","Matches","router","ResolvedSuspense","options","disableGlobalCatchBoundary","document","ssr","Loading","rootRoute","routesById","PendingComponent","pendingComponent","defaultPendingComponent","OptionalWrapper","InnerWrap","_$createComponent","fallback","MatchesInner","matchId","select","s","matches","id","resetKey","loadedAt","matchContent","Show","when","getResetKey","errorComponent","onCatch","process","env","NODE_ENV","error","message","toString","undefined","UseMatchRouteOptions","TFrom","TRouter","TTo","TMaskFrom","TMaskTo","useMatchRoute","status","opts","Accessor","pending","caseSensitive","fuzzy","includeSearch","rest","matchRoute","createMemo","MakeMatchRouteOptions","params","Element","MatchRoute","props","keyed","_","child","UseMatchesBaseOptions","TSelected","UseMatchesResult","useMatches","state","useParentMatches","contextMatchId","useContext","slice","findIndex","d","useChildMatches"],"sources":["../../src/Matches.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport warning from 'tiny-warning'\nimport { rootRouteId } from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport { Transitioner } from './Transitioner'\nimport { matchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { Match } from './Match'\nimport type {\n AnyRoute,\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\nconst MatchContext = matchContext as unknown as Solid.Component<{\n value: any\n children: any\n}>\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 // When disableGlobalCatchBoundary is true, we must NOT wrap with Solid.Loading\n // because Solid.Loading transforms STATUS_ERROR into STATUS_PENDING, which\n // prevents errors from propagating to an external Errored boundary.\n const ResolvedSuspense =\n router.options.disableGlobalCatchBoundary ||\n (isServer ?? router.isServer) ||\n (typeof document !== 'undefined' && router.ssr)\n ? SafeFragment\n : Solid.Loading\n\n const rootRoute: () => AnyRoute = () => router.routesById[rootRouteId]\n const PendingComponent =\n rootRoute().options.pendingComponent ??\n router.options.defaultPendingComponent\n\n const OptionalWrapper = router.options.InnerWrap || SafeFragment\n\n return (\n <OptionalWrapper>\n <ResolvedSuspense\n fallback={PendingComponent ? <PendingComponent /> : null}\n >\n <Transitioner />\n <MatchesInner />\n </ResolvedSuspense>\n </OptionalWrapper>\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 matchContent = () => (\n <Solid.Show when={matchId()}>\n <Match matchId={matchId()!} />\n </Solid.Show>\n )\n\n if (router.options.disableGlobalCatchBoundary) {\n // When disableGlobalCatchBoundary is true, render without any internal\n // error boundary so errors bubble up freely to an external Errored boundary.\n return <MatchContext value={matchId}>{matchContent()}</MatchContext>\n }\n\n return (\n <MatchContext value={matchId}>\n <CatchBoundary\n getResetKey={() => resetKey()}\n errorComponent={ErrorComponent}\n onCatch={\n process.env.NODE_ENV !== 'production'\n ? (error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very leas\n t, consider setting an 'errorComponent' in your RootRoute!`,\n )\n warning(false, error.message || error.toString())\n }\n : undefined\n }\n >\n {matchContent()}\n </CatchBoundary>\n </MatchContext>\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"],"mappings":"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"}
@@ -1,45 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Solid = require("@solidjs/web");
4
- const routerContext = require("./routerContext.cjs");
5
- const SafeFragment = require("./SafeFragment.cjs");
6
- const Matches = require("./Matches.cjs");
7
- const RouterContext = routerContext.routerContext;
8
- function RouterContextProvider({
9
- router,
10
- children,
11
- ...rest
12
- }) {
13
- router.update({
14
- ...router.options,
15
- ...rest,
16
- context: {
17
- ...router.options.context,
18
- ...rest.context
19
- }
20
- });
21
- const OptionalWrapper = router.options.Wrap || SafeFragment.SafeFragment;
22
- return Solid.createComponent(OptionalWrapper, {
23
- get children() {
24
- return Solid.createComponent(RouterContext, {
25
- value: router,
26
- get children() {
27
- return children();
28
- }
29
- });
30
- }
31
- });
1
+ require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_routerContext = require("./routerContext.cjs");
3
+ const require_SafeFragment = require("./SafeFragment.cjs");
4
+ const require_Matches = require("./Matches.cjs");
5
+ let _solidjs_web = require("@solidjs/web");
6
+ //#region src/RouterProvider.tsx
7
+ var RouterContext = require_routerContext.routerContext;
8
+ function RouterContextProvider({ router, children, ...rest }) {
9
+ router.update({
10
+ ...router.options,
11
+ ...rest,
12
+ context: {
13
+ ...router.options.context,
14
+ ...rest.context
15
+ }
16
+ });
17
+ return (0, _solidjs_web.createComponent)(router.options.Wrap || require_SafeFragment.SafeFragment, { get children() {
18
+ return (0, _solidjs_web.createComponent)(RouterContext, {
19
+ value: router,
20
+ get children() {
21
+ return children();
22
+ }
23
+ });
24
+ } });
32
25
  }
33
- function RouterProvider({
34
- router,
35
- ...rest
36
- }) {
37
- return Solid.createComponent(RouterContextProvider, Solid.mergeProps({
38
- router
39
- }, rest, {
40
- children: () => Solid.createComponent(Matches.Matches, {})
41
- }));
26
+ function RouterProvider({ router, ...rest }) {
27
+ return (0, _solidjs_web.createComponent)(RouterContextProvider, (0, _solidjs_web.mergeProps)({ router }, rest, { children: () => (0, _solidjs_web.createComponent)(require_Matches.Matches, {}) }));
42
28
  }
29
+ //#endregion
43
30
  exports.RouterContextProvider = RouterContextProvider;
44
31
  exports.RouterProvider = RouterProvider;
45
- //# sourceMappingURL=RouterProvider.cjs.map
32
+
33
+ //# sourceMappingURL=RouterProvider.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouterProvider.cjs","sources":["../../src/RouterProvider.tsx"],"sourcesContent":["import { routerContext } from './routerContext'\nimport { SafeFragment } from './SafeFragment'\nimport { Matches } from './Matches'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterOptions,\n} from '@tanstack/router-core'\nimport type * as Solid from 'solid-js'\n\nconst RouterContext = routerContext as unknown as Solid.Component<{\n value: any\n children: any\n}>\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 OptionalWrapper = router.options.Wrap || SafeFragment\n\n return (\n <OptionalWrapper>\n <RouterContext value={router as AnyRouter}>{children()}</RouterContext>\n </OptionalWrapper>\n )\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":["RouterContext","routerContext","RouterContextProvider","router","children","rest","update","options","context","OptionalWrapper","Wrap","SafeFragment","_$createComponent","value","RouterProvider","_$mergeProps","Matches"],"mappings":";;;;;;AAUA,MAAMA,gBAAgBC,cAAAA;AAKf,SAASC,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,kBAAkBN,OAAOI,QAAQG,QAAQC,aAAAA;AAE/C,SAAAC,MAAAA,gBACGH,iBAAe;AAAA,IAAA,IAAAL,WAAA;AAAA,aAAAQ,MAAAA,gBACbZ,eAAa;AAAA,QAACa,OAAOV;AAAAA,QAAmB,IAAAC,WAAA;AAAA,iBAAGA,SAAAA;AAAAA,QAAU;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAG5D;AAEO,SAASU,eAGd;AAAA,EAAEX;AAAAA,EAAQ,GAAGE;AAAwC,GAAG;AACxD,SAAAO,MAAAA,gBACGV,uBAAqBa,iBAAA;AAAA,IAACZ;AAAAA,EAAAA,GAAoBE,MAAI;AAAA,IAAAD,UAC5CA,MAAAQ,sBAAOI,QAAAA,SAAO,CAAA,CAAA;AAAA,EAAA,CAAG,CAAA;AAGxB;;;"}
1
+ {"version":3,"file":"RouterProvider.cjs","names":["routerContext","SafeFragment","Matches","AnyRouter","RegisteredRouter","RouterOptions","Solid","RouterContext","Component","value","children","RouterContextProvider","Record","router","rest","RouterProps","TRouter","TDehydrated","JSX","Element","update","options","context","OptionalWrapper","Wrap","_$createComponent","RouterProvider","_$mergeProps","Omit","NonNullable","Partial"],"sources":["../../src/RouterProvider.tsx"],"sourcesContent":["import { routerContext } from './routerContext'\nimport { SafeFragment } from './SafeFragment'\nimport { Matches } from './Matches'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterOptions,\n} from '@tanstack/router-core'\nimport type * as Solid from 'solid-js'\n\nconst RouterContext = routerContext as unknown as Solid.Component<{\n value: any\n children: any\n}>\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 OptionalWrapper = router.options.Wrap || SafeFragment\n\n return (\n <OptionalWrapper>\n <RouterContext value={router as AnyRouter}>{children()}</RouterContext>\n </OptionalWrapper>\n )\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"],"mappings":";;;;;;AAUA,IAAMO,gBAAgBP,sBAAAA;AAKtB,SAAgBW,sBAGd,EACAE,QACAH,UACA,GAAGI,QAGF;AAEDD,QAAOO,OAAO;EACZ,GAAGP,OAAOQ;EACV,GAAGP;EACHQ,SAAS;GACP,GAAGT,OAAOQ,QAAQC;GAClB,GAAGR,KAAKQ;GACV;EACD,CAAQ;AAIT,SAAA,GAAA,aAAA,iBAFwBT,OAAOQ,QAAQG,QAAQvB,qBAAAA,cAG7B,EAAA,IAAAS,WAAA;AAAA,UAAA,GAAA,aAAA,iBACbH,eAAa;GAACE,OAAOI;GAAmB,IAAAH,WAAA;AAAA,WAAGA,UAAU;;GAAA,CAAA;IAAA,CAAA;;AAK5D,SAAgBgB,eAGd,EAAEb,QAAQ,GAAGC,QAA2C;AACxD,SAAA,GAAA,aAAA,iBACGH,wBAAAA,GAAAA,aAAAA,YAAqB,EAASE,QAAM,EAAMC,MAAI,EAAAJ,iBAAAA,GAAAA,aAAAA,iBACrCR,gBAAAA,SAAO,EAAA,CAAA,EAAG,CAAA,CAAA"}