@tanstack/solid-router 1.168.23 → 1.168.24

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.
@@ -52,6 +52,7 @@ var Match = (props) => {
52
52
  const routeOnCatch = () => route().options.onCatch ?? router.options.defaultOnCatch;
53
53
  const routeNotFoundComponent = () => route().isRoot ? route().options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route().options.notFoundComponent;
54
54
  const resolvedNoSsr = currentMatchState().ssr === false || currentMatchState().ssr === "data-only";
55
+ const shouldSkipSuspenseFallback = _tanstack_router_core_isServer.isServer ?? router.isServer ? resolvedNoSsr : currentMatchState().ssr === "data-only";
55
56
  const ResolvedSuspenseBoundary = () => solid_js.Suspense;
56
57
  const ResolvedCatchBoundary = () => routeErrorComponent() ? require_CatchBoundary.CatchBoundary : require_SafeFragment.SafeFragment;
57
58
  const ResolvedNotFoundBoundary = () => routeNotFoundComponent() ? require_not_found.CatchNotFound : require_SafeFragment.SafeFragment;
@@ -64,7 +65,7 @@ var Match = (props) => {
64
65
  return ResolvedSuspenseBoundary();
65
66
  },
66
67
  get fallback() {
67
- return (0, solid_js_web.memo)(() => !!((_tanstack_router_core_isServer.isServer ?? router.isServer) && resolvedNoSsr))() ? void 0 : (0, solid_js_web.createComponent)(solid_js_web.Dynamic, { get component() {
68
+ return shouldSkipSuspenseFallback ? void 0 : (0, solid_js_web.createComponent)(solid_js_web.Dynamic, { get component() {
68
69
  return resolvePendingComponent();
69
70
  } });
70
71
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Match.cjs","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","matchStores","get","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","createResource","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get()\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.get()[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 =\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\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={() => router.stores.loadedAt.get()}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const getLoadPromise = (\n matchId: string,\n fallbackMatch:\n | {\n _nonReactive: {\n loadPromise?: Promise<void>\n }\n }\n | undefined,\n ) => {\n return (\n router.getMatch(matchId)?._nonReactive.loadPromise ??\n fallbackMatch?._nonReactive.loadPromise\n )\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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n const FallbackComponent =\n route().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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n const matchId = currentMatch().id\n const routerMatch = router.getMatch(matchId)\n\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return getLoadPromise(matchId, routerMatch)\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent =\n (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 currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.get()[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get().status\n })\n\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n const childRouteKey = Solid.createMemo(() => {\n if (shouldShowNotFound()) return undefined\n const cid = childMatchId()\n if (!cid) return undefined\n return router.stores.matchStores.get(cid)?.routeId ?? cid\n })\n\n return (\n <Solid.Show\n when={childRouteKey()}\n keyed\n fallback={\n <Solid.Show when={shouldShowNotFound() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(_routeKey: string) => {\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={childMatchId()!} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={childMatchId()!} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Match.cjs","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","matchStores","get","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","shouldSkipSuspenseFallback","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","_$memo","OnRendered","scrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","createResource","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get()\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.get()[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 =\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only'\n\n const shouldSkipSuspenseFallback =\n (isServer ?? router.isServer)\n ? resolvedNoSsr\n : currentMatchState().ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Data-only SSR renders the inner fallback on the server, so\n // avoid adding an extra suspense fallback on the client.\n shouldSkipSuspenseFallback ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => router.stores.loadedAt.get()}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const getLoadPromise = (\n matchId: string,\n fallbackMatch:\n | {\n _nonReactive: {\n loadPromise?: Promise<void>\n }\n }\n | undefined,\n ) => {\n return (\n router.getMatch(matchId)?._nonReactive.loadPromise ??\n fallbackMatch?._nonReactive.loadPromise\n )\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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n const FallbackComponent =\n route().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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n const matchId = currentMatch().id\n const routerMatch = router.getMatch(matchId)\n\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return getLoadPromise(matchId, routerMatch)\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent =\n (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 currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.get()[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get().status\n })\n\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n const childRouteKey = Solid.createMemo(() => {\n if (shouldShowNotFound()) return undefined\n const cid = childMatchId()\n if (!cid) return undefined\n return router.stores.matchStores.get(cid)?.routeId ?? cid\n })\n\n return (\n <Solid.Show\n when={childRouteKey()}\n keyed\n fallback={\n <Solid.Show when={shouldShowNotFound() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(_routeKey: string) => {\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={childMatchId()!} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={childMatchId()!} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"mappings":"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"}
package/dist/esm/Match.js CHANGED
@@ -50,6 +50,7 @@ var Match = (props) => {
50
50
  const routeOnCatch = () => route().options.onCatch ?? router.options.defaultOnCatch;
51
51
  const routeNotFoundComponent = () => route().isRoot ? route().options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route().options.notFoundComponent;
52
52
  const resolvedNoSsr = currentMatchState().ssr === false || currentMatchState().ssr === "data-only";
53
+ const shouldSkipSuspenseFallback = isServer ?? router.isServer ? resolvedNoSsr : currentMatchState().ssr === "data-only";
53
54
  const ResolvedSuspenseBoundary = () => Solid.Suspense;
54
55
  const ResolvedCatchBoundary = () => routeErrorComponent() ? CatchBoundary : SafeFragment;
55
56
  const ResolvedNotFoundBoundary = () => routeNotFoundComponent() ? CatchNotFound : SafeFragment;
@@ -62,7 +63,7 @@ var Match = (props) => {
62
63
  return ResolvedSuspenseBoundary();
63
64
  },
64
65
  get fallback() {
65
- return memo(() => !!((isServer ?? router.isServer) && resolvedNoSsr))() ? void 0 : createComponent(Dynamic, { get component() {
66
+ return shouldSkipSuspenseFallback ? void 0 : createComponent(Dynamic, { get component() {
66
67
  return resolvePendingComponent();
67
68
  } });
68
69
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Match.js","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","matchStores","get","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","createResource","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get()\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.get()[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 =\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\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={() => router.stores.loadedAt.get()}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const getLoadPromise = (\n matchId: string,\n fallbackMatch:\n | {\n _nonReactive: {\n loadPromise?: Promise<void>\n }\n }\n | undefined,\n ) => {\n return (\n router.getMatch(matchId)?._nonReactive.loadPromise ??\n fallbackMatch?._nonReactive.loadPromise\n )\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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n const FallbackComponent =\n route().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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n const matchId = currentMatch().id\n const routerMatch = router.getMatch(matchId)\n\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return getLoadPromise(matchId, routerMatch)\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent =\n (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 currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.get()[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get().status\n })\n\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n const childRouteKey = Solid.createMemo(() => {\n if (shouldShowNotFound()) return undefined\n const cid = childMatchId()\n if (!cid) return undefined\n return router.stores.matchStores.get(cid)?.routeId ?? cid\n })\n\n return (\n <Solid.Show\n when={childRouteKey()}\n keyed\n fallback={\n <Solid.Show when={shouldShowNotFound() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(_routeKey: string) => {\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={childMatchId()!} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={childMatchId()!} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Match.js","names":["Solid","createControlledPromise","getLocationChangeInfo","invariant","isNotFound","isRedirect","rootRouteId","isServer","Dynamic","CatchBoundary","ErrorComponent","useRouter","CatchNotFound","getNotFound","nearestMatchContext","SafeFragment","renderRouteNotFound","ScrollRestoration","AnyRoute","RootRouteOptions","Match","props","matchId","router","match","createMemo","id","undefined","stores","matchStores","get","rawMatchState","currentMatch","routeId","parentRouteId","routesById","parentRoute","ssr","_displayPending","hasPendingMatch","currentRouteId","Boolean","pendingRouteIds","nearestMatch","hasPending","_$createComponent","Show","when","children","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","resolvedNoSsr","shouldSkipSuspenseFallback","ResolvedSuspenseBoundary","Suspense","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","Provider","value","fallback","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","_$memo","OnRendered","scrollRestoration","location","resolvedLocation","state","__TSR_key","createEffect","on","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","out","Comp","defaultComponent","Outlet","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","createResource","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey"],"sources":["../../src/Match.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n createControlledPromise,\n getLocationChangeInfo,\n invariant,\n isNotFound,\n isRedirect,\n rootRouteId,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Dynamic } from 'solid-js/web'\nimport { CatchBoundary, ErrorComponent } from './CatchBoundary'\nimport { useRouter } from './useRouter'\nimport { CatchNotFound, getNotFound } from './not-found'\nimport { nearestMatchContext } from './matchContext'\nimport { SafeFragment } from './SafeFragment'\nimport { renderRouteNotFound } from './renderRouteNotFound'\nimport { ScrollRestoration } from './scroll-restoration'\nimport type { AnyRoute, RootRouteOptions } from '@tanstack/router-core'\n\nexport const Match = (props: { matchId: string }) => {\n const router = useRouter()\n\n const match = Solid.createMemo(() => {\n const id = props.matchId\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get()\n })\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.routeId as string\n const parentRouteId = (router.routesById[routeId] as AnyRoute)?.parentRoute\n ?.id\n\n return {\n matchId: currentMatch.id,\n routeId,\n ssr: currentMatch.ssr,\n _displayPending: currentMatch._displayPending,\n parentRouteId: parentRouteId as string | undefined,\n }\n })\n\n const hasPendingMatch = Solid.createMemo(() => {\n const currentRouteId = rawMatchState()?.routeId\n return currentRouteId\n ? Boolean(router.stores.pendingRouteIds.get()[currentRouteId])\n : false\n })\n const nearestMatch = {\n matchId: () => rawMatchState()?.matchId,\n routeId: () => rawMatchState()?.routeId,\n match,\n hasPending: hasPendingMatch,\n }\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route: () => AnyRoute = () =>\n router.routesById[currentMatchState().routeId]\n\n const resolvePendingComponent = () =>\n route().options.pendingComponent ??\n 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 =\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only'\n\n const shouldSkipSuspenseFallback =\n (isServer ?? router.isServer)\n ? resolvedNoSsr\n : currentMatchState().ssr === 'data-only'\n\n const ResolvedSuspenseBoundary = () => Solid.Suspense\n\n const ResolvedCatchBoundary = () =>\n routeErrorComponent() ? CatchBoundary : SafeFragment\n\n const ResolvedNotFoundBoundary = () =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment\n\n const ShellComponent = route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment\n\n return (\n <ShellComponent>\n <nearestMatchContext.Provider value={nearestMatch}>\n <Dynamic\n component={ResolvedSuspenseBoundary()}\n fallback={\n // Data-only SSR renders the inner fallback on the server, so\n // avoid adding an extra suspense fallback on the client.\n shouldSkipSuspenseFallback ? undefined : (\n <Dynamic component={resolvePendingComponent()} />\n )\n }\n >\n <Dynamic\n component={ResolvedCatchBoundary()}\n getResetKey={() => router.stores.loadedAt.get()}\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 const notFoundError = getNotFound(error)\n if (notFoundError) {\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n throw notFoundError\n }\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Warning: Error in route match: ${currentMatchState().routeId}`,\n )\n }\n routeOnCatch()?.(error)\n }}\n >\n <Dynamic\n component={ResolvedNotFoundBoundary()}\n fallback={(error: any) => {\n const notFoundError = getNotFound(error) ?? error\n\n notFoundError.routeId ??= currentMatchState()\n .routeId as any\n\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 (notFoundError.routeId &&\n notFoundError.routeId !==\n currentMatchState().routeId) ||\n (!notFoundError.routeId && !route().isRoot)\n )\n throw notFoundError\n\n return (\n <Dynamic\n component={routeNotFoundComponent()}\n {...notFoundError}\n />\n )\n }}\n >\n <Solid.Switch>\n <Solid.Match when={resolvedNoSsr}>\n <Solid.Show\n when={!(isServer ?? router.isServer)}\n fallback={\n <Dynamic component={resolvePendingComponent()} />\n }\n >\n <MatchInner />\n </Solid.Show>\n </Solid.Match>\n <Solid.Match when={!resolvedNoSsr}>\n <MatchInner />\n </Solid.Match>\n </Solid.Switch>\n </Dynamic>\n </Dynamic>\n </Dynamic>\n </nearestMatchContext.Provider>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </ShellComponent>\n )\n }}\n </Solid.Show>\n )\n}\n\n// On Rendered can't happen above the root layout because it needs to run\n// after the app has committed below the root layout. Keeping it here lets us\n// fire onRendered even after a hydration mismatch above the root layout\n// (like bad head/link tags, which is common).\nfunction OnRendered() {\n const router = useRouter()\n\n const location = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n Solid.on([location], () => {\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ),\n })\n }),\n )\n return null\n}\n\nexport const MatchInner = (): any => {\n const router = useRouter()\n const match = Solid.useContext(nearestMatchContext).match\n\n const rawMatchState = Solid.createMemo(() => {\n const currentMatch = match()\n if (!currentMatch) {\n return null\n }\n\n const routeId = currentMatch.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: currentMatch.loaderDeps,\n params: currentMatch._strictParams,\n search: currentMatch._strictSearch,\n })\n const key = remountDeps ? JSON.stringify(remountDeps) : undefined\n\n return {\n key,\n routeId,\n match: {\n id: currentMatch.id,\n status: currentMatch.status,\n error: currentMatch.error,\n _forcePending: currentMatch._forcePending ?? false,\n _displayPending: currentMatch._displayPending ?? false,\n },\n }\n })\n\n return (\n <Solid.Show when={rawMatchState()}>\n {(currentMatchState) => {\n const route = () => router.routesById[currentMatchState().routeId]!\n\n const currentMatch = () => currentMatchState().match\n\n const componentKey = () =>\n currentMatchState().key ?? currentMatchState().match.id\n\n const out = () => {\n const Comp =\n route().options.component ?? router.options.defaultComponent\n if (Comp) {\n return <Comp />\n }\n return <Outlet />\n }\n\n const getLoadPromise = (\n matchId: string,\n fallbackMatch:\n | {\n _nonReactive: {\n loadPromise?: Promise<void>\n }\n }\n | undefined,\n ) => {\n return (\n router.getMatch(matchId)?._nonReactive.loadPromise ??\n fallbackMatch?._nonReactive.loadPromise\n )\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={currentMatch()._displayPending}>\n {(_) => {\n const [displayPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .displayPendingPromise,\n )\n\n return <>{displayPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch()._forcePending}>\n {(_) => {\n const [minPendingResult] = Solid.createResource(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .minPendingPromise,\n )\n\n return <>{minPendingResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'pending'}>\n {(_) => {\n const pendingMinMs =\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs\n\n if (pendingMinMs) {\n const routerMatch = router.getMatch(currentMatch().id)\n if (\n routerMatch &&\n !routerMatch._nonReactive.minPendingPromise\n ) {\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 =\n 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.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n const FallbackComponent =\n route().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={currentMatch().status === 'notFound'}>\n {(_) => {\n if (!isNotFound(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\n )\n }\n\n invariant()\n }\n\n // Use Show with keyed to ensure re-render when routeId changes\n return (\n <Solid.Show when={currentMatchState().routeId} keyed>\n {(_routeId) =>\n renderRouteNotFound(router, route(), currentMatch().error)\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\n {(_) => {\n const matchId = currentMatch().id\n const routerMatch = router.getMatch(matchId)\n\n if (!isRedirect(currentMatch().error)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a redirect error',\n )\n }\n\n invariant()\n }\n\n const [loaderResult] = Solid.createResource(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return getLoadPromise(matchId, routerMatch)\n })\n\n return <>{loaderResult()}</>\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent =\n (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 currentMatch().error\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'success'}>\n {keyedOut()}\n </Solid.Match>\n </Solid.Switch>\n )\n }}\n </Solid.Show>\n )\n}\n\nexport const Outlet = () => {\n const router = useRouter()\n const nearestParentMatch = Solid.useContext(nearestMatchContext)\n const parentMatch = nearestParentMatch.match\n const routeId = nearestParentMatch.routeId\n const route = Solid.createMemo(() =>\n routeId() ? router.routesById[routeId()!] : undefined,\n )\n\n const parentGlobalNotFound = Solid.createMemo(\n () => parentMatch()?.globalNotFound ?? false,\n )\n\n const childMatchId = Solid.createMemo(() => {\n const currentRouteId = routeId()\n return currentRouteId\n ? router.stores.childMatchIdByRouteId.get()[currentRouteId]\n : undefined\n })\n\n const childMatchStatus = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.get().status\n })\n\n const shouldShowNotFound = () =>\n childMatchStatus() !== 'redirected' && parentGlobalNotFound()\n\n const childRouteKey = Solid.createMemo(() => {\n if (shouldShowNotFound()) return undefined\n const cid = childMatchId()\n if (!cid) return undefined\n return router.stores.matchStores.get(cid)?.routeId ?? cid\n })\n\n return (\n <Solid.Show\n when={childRouteKey()}\n keyed\n fallback={\n <Solid.Show when={shouldShowNotFound() && route()}>\n {(resolvedRoute) =>\n renderRouteNotFound(router, resolvedRoute(), undefined)\n }\n </Solid.Show>\n }\n >\n {(_routeKey: string) => {\n return (\n <Solid.Show\n when={routeId() === rootRouteId}\n fallback={<Match matchId={childMatchId()!} />}\n >\n <Solid.Suspense\n fallback={\n <Dynamic component={router.options.defaultPendingComponent} />\n }\n >\n <Match matchId={childMatchId()!} />\n </Solid.Suspense>\n </Solid.Show>\n )\n }}\n </Solid.Show>\n )\n}\n"],"mappings":"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"}
@@ -59,6 +59,9 @@ export const Match = (props) => {
59
59
  : route().options.notFoundComponent;
60
60
  const resolvedNoSsr = currentMatchState().ssr === false ||
61
61
  currentMatchState().ssr === 'data-only';
62
+ const shouldSkipSuspenseFallback = (isServer ?? router.isServer)
63
+ ? resolvedNoSsr
64
+ : currentMatchState().ssr === 'data-only';
62
65
  const ResolvedSuspenseBoundary = () => Solid.Suspense;
63
66
  const ResolvedCatchBoundary = () => routeErrorComponent() ? CatchBoundary : SafeFragment;
64
67
  const ResolvedNotFoundBoundary = () => routeNotFoundComponent() ? CatchNotFound : SafeFragment;
@@ -69,8 +72,9 @@ export const Match = (props) => {
69
72
  return (<ShellComponent>
70
73
  <nearestMatchContext.Provider value={nearestMatch}>
71
74
  <Dynamic component={ResolvedSuspenseBoundary()} fallback={
72
- // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch
73
- (isServer ?? router.isServer) && resolvedNoSsr ? undefined : (<Dynamic component={resolvePendingComponent()}/>)}>
75
+ // Data-only SSR renders the inner fallback on the server, so
76
+ // avoid adding an extra suspense fallback on the client.
77
+ shouldSkipSuspenseFallback ? undefined : (<Dynamic component={resolvePendingComponent()}/>)}>
74
78
  <Dynamic component={ResolvedCatchBoundary()} getResetKey={() => router.stores.loadedAt.get()} errorComponent={routeErrorComponent() || ErrorComponent} onCatch={(error) => {
75
79
  // Forward not found errors (we don't want to show the error component for these)
76
80
  const notFoundError = getNotFound(error);
@@ -1 +1 @@
1
- {"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AACjC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAE,EAAE;IAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAClC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAA;QACxB,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAA;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAiB,CAAA;QAC9C,MAAM,aAAa,GAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAc,EAAE,WAAW;YACzE,EAAE,EAAE,CAAA;QAEN,OAAO;YACL,OAAO,EAAE,YAAY,CAAC,EAAE;YACxB,OAAO;YACP,GAAG,EAAE,YAAY,CAAC,GAAG;YACrB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,aAAa,EAAE,aAAmC;SACnD,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC5C,MAAM,cAAc,GAAG,aAAa,EAAE,EAAE,OAAO,CAAA;QAC/C,OAAO,cAAc;YACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;YAC9D,CAAC,CAAC,KAAK,CAAA;IACX,CAAC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO;QACvC,KAAK;QACL,UAAU,EAAE,eAAe;KAC5B,CAAA;IAED,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,CAChC;MAAA,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACrB,MAAM,KAAK,GAAmB,GAAG,EAAE,CACjC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAA;YAEhD,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACnC,KAAK,EAAE,CAAC,OAAO,CAAC,gBAAgB;gBAChC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAA;YAExC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAC/B,KAAK,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAA;YAExE,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAA;YAE1D,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAClC,KAAK,EAAE,CAAC,MAAM;gBACZ,CAAC,CAAC,wGAAwG;oBACxG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,iBAAiB;wBAClC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC;gBAClD,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAA;YAEvC,MAAM,aAAa,GACjB,iBAAiB,EAAE,CAAC,GAAG,KAAK,KAAK;gBACjC,iBAAiB,EAAE,CAAC,GAAG,KAAK,WAAW,CAAA;YAEzC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAA;YAErD,MAAM,qBAAqB,GAAG,GAAG,EAAE,CACjC,mBAAmB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;YAEtD,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACpC,sBAAsB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;YAEzD,MAAM,cAAc,GAAG,KAAK,EAAE,CAAC,MAAM;gBACnC,CAAC,CAAC,CAAE,KAAK,EAAE,CAAC,OAA4B,CAAC,cAAc;oBACrD,YAAY,CAAC;gBACf,CAAC,CAAC,YAAY,CAAA;YAEhB,OAAO,CACL,CAAC,cAAc,CACb;YAAA,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAChD;cAAA,CAAC,OAAO,CACN,SAAS,CAAC,CAAC,wBAAwB,EAAE,CAAC,CACtC,QAAQ,CAAC,CAAC;gBACR,mFAAmF;gBACnF,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAC3D,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,uBAAuB,EAAE,CAAC,EAAG,CAErD,CAAC,CAED;gBAAA,CAAC,OAAO,CACN,SAAS,CAAC,CAAC,qBAAqB,EAAE,CAAC,CACnC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAChD,cAAc,CAAC,CAAC,mBAAmB,EAAE,IAAI,cAAc,CAAC,CACxD,OAAO,CAAC,CAAC,CAAC,KAAY,EAAE,EAAE;oBACxB,iFAAiF;oBACjF,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;oBACxC,IAAI,aAAa,EAAE,CAAC;wBAClB,aAAa,CAAC,OAAO,KAArB,aAAa,CAAC,OAAO,GAAK,iBAAiB,EAAE;6BAC1C,OAAc,EAAA;wBACjB,MAAM,aAAa,CAAA;oBACrB,CAAC;oBACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;wBAC1C,OAAO,CAAC,IAAI,CACV,kCAAkC,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAChE,CAAA;oBACH,CAAC;oBACD,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;gBACzB,CAAC,CAAC,CAEF;kBAAA,CAAC,OAAO,CACN,SAAS,CAAC,CAAC,wBAAwB,EAAE,CAAC,CACtC,QAAQ,CAAC,CAAC,CAAC,KAAU,EAAE,EAAE;oBACvB,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;oBAEjD,aAAa,CAAC,OAAO,KAArB,aAAa,CAAC,OAAO,GAAK,iBAAiB,EAAE;yBAC1C,OAAc,EAAA;oBAEjB,6DAA6D;oBAC7D,oEAAoE;oBACpE,IACE,CAAC,sBAAsB,EAAE;wBACzB,CAAC,aAAa,CAAC,OAAO;4BACpB,aAAa,CAAC,OAAO;gCACnB,iBAAiB,EAAE,CAAC,OAAO,CAAC;wBAChC,CAAC,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;wBAE3C,MAAM,aAAa,CAAA;oBAErB,OAAO,CACL,CAAC,OAAO,CACN,SAAS,CAAC,CAAC,sBAAsB,EAAE,CAAC,CACpC,IAAI,aAAa,CAAC,EAClB,CACH,CAAA;gBACH,CAAC,CAAC,CAEF;oBAAA,CAAC,KAAK,CAAC,MAAM,CACX;sBAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAC/B;wBAAA,CAAC,KAAK,CAAC,IAAI,CACT,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CACrC,QAAQ,CAAC,CACP,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,uBAAuB,EAAE,CAAC,EAChD,CAAC,CAED;0BAAA,CAAC,UAAU,CAAC,AAAD,EACb;wBAAA,EAAE,KAAK,CAAC,IAAI,CACd;sBAAA,EAAE,KAAK,CAAC,KAAK,CACb;sBAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAChC;wBAAA,CAAC,UAAU,CAAC,AAAD,EACb;sBAAA,EAAE,KAAK,CAAC,KAAK,CACf;oBAAA,EAAE,KAAK,CAAC,MAAM,CAChB;kBAAA,EAAE,OAAO,CACX;gBAAA,EAAE,OAAO,CACX;cAAA,EAAE,OAAO,CACX;YAAA,EAAE,mBAAmB,CAAC,QAAQ,CAE9B;;YAAA,CAAC,iBAAiB,EAAE,CAAC,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,CACnD,EACE;gBAAA,CAAC,UAAU,CAAC,AAAD,EACX;gBAAA,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB;wBACjC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC,iBAAiB,CAAC,AAAD,EAAG,CACtB,CAAC,CAAC,CAAC,IAAI,CACV;cAAA,GAAG,CACJ,CAAC,CAAC,CAAC,IAAI,CACV;UAAA,EAAE,cAAc,CAAC,CAClB,CAAA;QACH,CAAC,CACH;IAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;AACH,CAAC,CAAA;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,wEAAwE;AACxE,8CAA8C;AAC9C,SAAS,UAAU;IACjB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAC/B,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,SAAS,CAC5D,CAAA;IACD,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,GAAG,qBAAqB,CACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAC5B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CACrC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CACH,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAAQ,EAAE;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAA;IAEzD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG,KAAK,EAAE,CAAA;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAiB,CAAA;QAE9C,MAAM,SAAS,GACZ,MAAM,CAAC,UAAU,CAAC,OAAO,CAAc,CAAC,OAAO,CAAC,WAAW;YAC5D,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAA;QACnC,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;YAC9B,OAAO;YACP,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,MAAM,EAAE,YAAY,CAAC,aAAa;YAClC,MAAM,EAAE,YAAY,CAAC,aAAa;SACnC,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEjE,OAAO;YACL,GAAG;YACH,OAAO;YACP,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,aAAa,EAAE,YAAY,CAAC,aAAa,IAAI,KAAK;gBAClD,eAAe,EAAE,YAAY,CAAC,eAAe,IAAI,KAAK;aACvD;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,CAChC;MAAA,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAE,CAAA;YAEnE,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAA;YAEpD,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,iBAAiB,EAAE,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAA;YAEzD,MAAM,GAAG,GAAG,GAAG,EAAE;gBACf,MAAM,IAAI,GACR,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAA;gBAC9D,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,AAAD,EAAG,CAAA;gBACjB,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,AAAD,EAAG,CAAA;YACnB,CAAC,CAAA;YAED,MAAM,cAAc,GAAG,CACrB,OAAe,EACf,aAMa,EACb,EAAE;gBACF,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,WAAW;oBAClD,aAAa,EAAE,YAAY,CAAC,WAAW,CACxC,CAAA;YACH,CAAC,CAAA;YAED,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CACrB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CACrC;YAAA,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAClB;UAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;YAED,OAAO,CACL,CAAC,KAAK,CAAC,MAAM,CACX;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,CAChD;cAAA,CAAC,CAAC,CAAC,EAAE,EAAE;oBACL,MAAM,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,cAAc,CACjD,GAAG,EAAE,CACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY;yBAC7C,qBAAqB,CAC3B,CAAA;oBAED,OAAO,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAA;gBACtC,CAAC,CACH;YAAA,EAAE,KAAK,CAAC,KAAK,CACb;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,CAC9C;cAAA,CAAC,CAAC,CAAC,EAAE,EAAE;oBACL,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,cAAc,CAC7C,GAAG,EAAE,CACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY;yBAC7C,iBAAiB,CACvB,CAAA;oBAED,OAAO,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAA;gBAClC,CAAC,CACH;YAAA,EAAE,KAAK,CAAC,KAAK,CACb;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CACrD;cAAA,CAAC,CAAC,CAAC,EAAE,EAAE;oBACL,MAAM,YAAY,GAChB,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY;wBAC5B,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAA;oBAEpC,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;wBACtD,IACE,WAAW;4BACX,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAC3C,CAAC;4BACD,4DAA4D;4BAC5D,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACnC,MAAM,iBAAiB,GAAG,uBAAuB,EAAQ,CAAA;gCAEzD,WAAW,CAAC,YAAY,CAAC,iBAAiB;oCACxC,iBAAiB,CAAA;gCAEnB,UAAU,CAAC,GAAG,EAAE;oCACd,iBAAiB,CAAC,OAAO,EAAE,CAAA;oCAC3B,2DAA2D;oCAC3D,WAAW,CAAC,YAAY,CAAC,iBAAiB,GAAG,SAAS,CAAA;gCACxD,CAAC,EAAE,YAAY,CAAC,CAAA;4BAClB,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;wBACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;wBAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY;6BACpD,WAAW,CAAA;oBAChB,CAAC,CAAC,CAAA;oBAEF,MAAM,iBAAiB,GACrB,KAAK,EAAE,CAAC,OAAO,CAAC,gBAAgB;wBAChC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAA;oBAExC,OAAO,CACL,EACE;oBAAA,CAAC,iBAAiB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CACvC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,EAAG,CAC1C,CAAC,CAAC,CAAC,IAAI,CACR;oBAAA,CAAC,YAAY,EAAE,CACjB;kBAAA,GAAG,CACJ,CAAA;gBACH,CAAC,CACH;YAAA,EAAE,KAAK,CAAC,KAAK,CACb;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CACtD;cAAA,CAAC,CAAC,CAAC,EAAE,EAAE;oBACL,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;4BAC1C,MAAM,IAAI,KAAK,CACb,6CAA6C,CAC9C,CAAA;wBACH,CAAC;wBAED,SAAS,EAAE,CAAA;oBACb,CAAC;oBAED,+DAA+D;oBAC/D,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAClD;oBAAA,CAAC,CAAC,QAAQ,EAAE,EAAE,CACZ,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,KAAK,CAC3D,CACF;kBAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;gBACH,CAAC,CACH;YAAA,EAAE,KAAK,CAAC,KAAK,CACb;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,CACxD;cAAA,CAAC,CAAC,CAAC,EAAE,EAAE;oBACL,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC,EAAE,CAAA;oBACjC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAE5C,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;4BAC1C,MAAM,IAAI,KAAK,CACb,6CAA6C,CAC9C,CAAA;wBACH,CAAC;wBAED,SAAS,EAAE,CAAA;oBACb,CAAC;oBAED,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;wBACrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;wBAC1C,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;oBAC7C,CAAC,CAAC,CAAA;oBAEF,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,CAAA;gBAC9B,CAAC,CACH;YAAA,EAAE,KAAK,CAAC,KAAK,CACb;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CACnD;cAAA,CAAC,CAAC,CAAC,EAAE,EAAE;oBACL,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAChC,MAAM,mBAAmB,GACvB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,cAAc;4BAC7B,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;4BACvC,cAAc,CAAA;wBAEhB,OAAO,CACL,CAAC,mBAAmB,CAClB,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAC5B,IAAI,CAAC,CAAC;gCACJ,cAAc,EAAE,EAAE;6BACnB,CAAC,EACF,CACH,CAAA;oBACH,CAAC;oBAED,MAAM,YAAY,EAAE,CAAC,KAAK,CAAA;gBAC5B,CAAC,CACH;YAAA,EAAE,KAAK,CAAC,KAAK,CACb;YAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CACrD;cAAA,CAAC,QAAQ,EAAE,CACb;YAAA,EAAE,KAAK,CAAC,KAAK,CACf;UAAA,EAAE,KAAK,CAAC,MAAM,CAAC,CAChB,CAAA;QACH,CAAC,CACH;IAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAA;IAC5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAA;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAClC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CACtD,CAAA;IAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAC3C,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,cAAc,IAAI,KAAK,CAC7C,CAAA;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QACzC,MAAM,cAAc,GAAG,OAAO,EAAE,CAAA;QAChC,OAAO,cAAc;YACnB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;YAC3D,CAAC,CAAC,SAAS,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC7C,MAAM,EAAE,GAAG,YAAY,EAAE,CAAA;QACzB,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAA;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC9B,gBAAgB,EAAE,KAAK,YAAY,IAAI,oBAAoB,EAAE,CAAA;IAE/D,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC1C,IAAI,kBAAkB,EAAE;YAAE,OAAO,SAAS,CAAA;QAC1C,MAAM,GAAG,GAAG,YAAY,EAAE,CAAA;QAC1B,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAA;QAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,IAAI,GAAG,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CACT,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,CACtB,KAAK,CACL,QAAQ,CAAC,CACP,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,KAAK,EAAE,CAAC,CAChD;UAAA,CAAC,CAAC,aAAa,EAAE,EAAE,CACjB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,SAAS,CACxD,CACF;QAAA,EAAE,KAAK,CAAC,IAAI,CACd,CAAC,CAED;MAAA,CAAC,CAAC,SAAiB,EAAE,EAAE;YACrB,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CACT,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAChC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,EAAG,CAAC,EAAG,CAAC,CAE9C;YAAA,CAAC,KAAK,CAAC,QAAQ,CACb,QAAQ,CAAC,CACP,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAC7D,CAAC,CAED;cAAA,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,EAAG,CAAC,EAClC;YAAA,EAAE,KAAK,CAAC,QAAQ,CAClB;UAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;QACH,CAAC,CACH;IAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-router",
3
- "version": "1.168.23",
3
+ "version": "1.168.24",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
package/src/Match.tsx CHANGED
@@ -86,6 +86,11 @@ export const Match = (props: { matchId: string }) => {
86
86
  currentMatchState().ssr === false ||
87
87
  currentMatchState().ssr === 'data-only'
88
88
 
89
+ const shouldSkipSuspenseFallback =
90
+ (isServer ?? router.isServer)
91
+ ? resolvedNoSsr
92
+ : currentMatchState().ssr === 'data-only'
93
+
89
94
  const ResolvedSuspenseBoundary = () => Solid.Suspense
90
95
 
91
96
  const ResolvedCatchBoundary = () =>
@@ -105,8 +110,9 @@ export const Match = (props: { matchId: string }) => {
105
110
  <Dynamic
106
111
  component={ResolvedSuspenseBoundary()}
107
112
  fallback={
108
- // Don't show fallback on server when using no-ssr mode to avoid hydration mismatch
109
- (isServer ?? router.isServer) && resolvedNoSsr ? undefined : (
113
+ // Data-only SSR renders the inner fallback on the server, so
114
+ // avoid adding an extra suspense fallback on the client.
115
+ shouldSkipSuspenseFallback ? undefined : (
110
116
  <Dynamic component={resolvePendingComponent()} />
111
117
  )
112
118
  }