Sign In

@tanstack/solid-router

Package Overview
Dependencies
Maintainers
3
Versions
478
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tanstack/solid-router - npm Package Compare versions

Comparing version
2.0.0-beta.23
to
2.0.0-beta.24
+6
-2
dist/cjs/headContentUtils.cjs

@@ -73,2 +73,3 @@ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");

});
const retainedManifestCssTags = /* @__PURE__ */ new Map();
const manifestCssTags = solid_js.createMemo(() => {

@@ -80,3 +81,3 @@ const manifest = router.ssr?.manifest;

const resolvedLink = (0, _tanstack_router_core.resolveManifestCssLink)(link);
tags.push({
const tag = {
tag: "link",

@@ -89,4 +90,7 @@ attrs: {

}
});
};
const key = JSON.stringify(tag);
if (!retainedManifestCssTags.has(key)) retainedManifestCssTags.set(key, tag);
});
tags.push(...retainedManifestCssTags.values());
if (manifest.inlineStyle) tags.push({

@@ -93,0 +97,0 @@ tag: "style",

@@ -1,1 +0,1 @@

{"version":3,"file":"headContentUtils.cjs","names":["Solid","appendUniqueUserTags","escapeHtml","getAssetCrossOrigin","getScriptPreloadAttrs","resolveManifestCssLink","useRouter","AssetCrossOriginConfig","RouterManagedTag","useTags","assetCrossOrigin","router","nonce","options","ssr","activeMatches","createMemo","stores","matches","get","routeMeta","map","match","meta","filter","undefined","Accessor","Array","resultMeta","metaByAttribute","Record","title","routeMetasArray","i","length","metas","j","m","tag","children","json","JSON","stringify","push","attrs","type","attribute","name","property","content","reverse","links","constructed","flatMap","link","manifestCssTags","manifest","tags","routes","routeId","css","forEach","resolvedLink","rel","crossOrigin","inlineStyle","inlineCss","preloadLinks","preloads","Boolean","preload","styles","style","headScripts","script","prev","next","replaceEqualTags","prevByKey","Map","set","isEqual","result","index","existing"],"sources":["../../src/headContentUtils.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n appendUniqueUserTags,\n escapeHtml,\n getAssetCrossOrigin,\n getScriptPreloadAttrs,\n resolveManifestCssLink,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n AssetCrossOriginConfig,\n RouterManagedTag,\n} from '@tanstack/router-core'\n\n/**\n * Build the list of head/link/meta/script tags to render for active matches.\n * Used internally by `HeadContent`.\n */\nexport const useTags = (assetCrossOrigin?: AssetCrossOriginConfig) => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n const activeMatches = Solid.createMemo(() => router.stores.matches.get())\n const routeMeta = Solid.createMemo(() =>\n activeMatches()\n .map((match) => match.meta)\n .filter((meta) => meta !== undefined),\n )\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n const routeMetasArray = routeMeta()\n for (let i = routeMetasArray.length - 1; i >= 0; i--) {\n const metas = routeMetasArray[i]!\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j]\n if (!m) continue\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else if ('script:ld+json' in m) {\n // Handle JSON-LD structured data\n // Content is HTML-escaped to prevent XSS when injected via innerHTML\n try {\n const json = JSON.stringify(m['script:ld+json'])\n resultMeta.push({\n tag: 'script',\n attrs: {\n type: 'application/ld+json',\n },\n children: escapeHtml(json),\n })\n } catch {\n // Skip invalid JSON-LD objects\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n nonce,\n },\n })\n }\n }\n }\n\n if (title) {\n resultMeta.push(title)\n }\n\n if (router.options.ssr?.nonce) {\n resultMeta.push({\n tag: 'meta',\n attrs: {\n property: 'csp-nonce',\n content: router.options.ssr.nonce,\n },\n })\n }\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = Solid.createMemo(() => {\n const matches = activeMatches()\n const constructed = matches\n .flatMap((match) => match.links ?? [])\n .filter((link) => link !== undefined)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n nonce,\n },\n })) satisfies Array<RouterManagedTag>\n\n return constructed\n })\n\n const manifestCssTags = Solid.createMemo(() => {\n const manifest = router.ssr?.manifest\n const tags: Array<RouterManagedTag> = []\n\n if (!manifest) {\n return tags\n }\n\n for (const match of activeMatches()) {\n manifest.routes[match.routeId]?.css?.forEach((link) => {\n const resolvedLink = resolveManifestCssLink(link)\n tags.push({\n tag: 'link',\n attrs: {\n rel: 'stylesheet',\n ...resolvedLink,\n crossOrigin:\n getAssetCrossOrigin(assetCrossOrigin, 'stylesheet') ??\n resolvedLink.crossOrigin,\n nonce,\n },\n })\n })\n }\n\n if (manifest.inlineStyle) {\n tags.push({\n tag: 'style',\n attrs: {\n ...manifest.inlineStyle.attrs,\n nonce,\n },\n children: manifest.inlineStyle.children,\n inlineCss: true,\n })\n }\n\n return tags\n })\n\n const preloadLinks = Solid.createMemo(() => {\n const matches = activeMatches()\n const preloadLinks: Array<RouterManagedTag> = []\n\n matches.forEach((match) =>\n router.ssr?.manifest?.routes[match.routeId]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadLinks.push({\n tag: 'link',\n attrs: {\n ...getScriptPreloadAttrs(\n router.ssr?.manifest,\n preload,\n assetCrossOrigin,\n ),\n nonce,\n },\n })\n }),\n )\n\n return preloadLinks\n })\n\n const styles = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.styles ?? [])\n .filter((style) => style !== undefined)\n .map(({ children, ...style }) => ({\n tag: 'style',\n attrs: {\n ...style,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n const headScripts = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.headScripts ?? [])\n .filter((script) => script !== undefined)\n .map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n // Cache tag objects by key across renders so that unchanged tags keep a\n // stable object identity. `<For>` keys by reference, so reusing the previous\n // object for an unchanged tag lets it reconcile the existing DOM node in\n // place instead of remounting it. Remounting head nodes on navigation\n // detaches/re-fetches stylesheets (e.g. the app stylesheet), causing a FOUC.\n return Solid.createMemo((prev: Array<RouterManagedTag> | undefined) => {\n const next: Array<RouterManagedTag> = []\n appendUniqueUserTags(next, meta())\n appendUniqueUserTags(next, links())\n next.push(...manifestCssTags())\n next.push(...preloadLinks())\n appendUniqueUserTags(next, styles())\n appendUniqueUserTags(next, headScripts())\n\n if (prev === undefined) {\n return next\n }\n return replaceEqualTags(prev, next)\n })\n}\n\nfunction replaceEqualTags(\n prev: Array<RouterManagedTag>,\n next: Array<RouterManagedTag>,\n) {\n const prevByKey = new Map<string, RouterManagedTag>()\n for (const tag of prev) {\n prevByKey.set(JSON.stringify(tag), tag)\n }\n\n let isEqual = prev.length === next.length\n const result = next.map((tag, index) => {\n const existing = prevByKey.get(JSON.stringify(tag))\n if (existing) {\n if (existing !== prev[index]) {\n isEqual = false\n }\n return existing\n }\n\n isEqual = false\n return tag\n })\n\n return isEqual ? prev : result\n}\n"],"mappings":"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"}
{"version":3,"file":"headContentUtils.cjs","names":["Solid","appendUniqueUserTags","escapeHtml","getAssetCrossOrigin","getScriptPreloadAttrs","resolveManifestCssLink","useRouter","AssetCrossOriginConfig","RouterManagedTag","useTags","assetCrossOrigin","router","nonce","options","ssr","activeMatches","createMemo","stores","matches","get","routeMeta","map","match","meta","filter","undefined","Accessor","Array","resultMeta","metaByAttribute","Record","title","routeMetasArray","i","length","metas","j","m","tag","children","json","JSON","stringify","push","attrs","type","attribute","name","property","content","reverse","links","constructed","flatMap","link","retainedManifestCssTags","Map","manifestCssTags","manifest","tags","routes","routeId","css","forEach","resolvedLink","rel","crossOrigin","key","has","set","values","inlineStyle","inlineCss","preloadLinks","preloads","Boolean","preload","styles","style","headScripts","script","prev","next","replaceEqualTags","prevByKey","isEqual","result","index","existing"],"sources":["../../src/headContentUtils.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n appendUniqueUserTags,\n escapeHtml,\n getAssetCrossOrigin,\n getScriptPreloadAttrs,\n resolveManifestCssLink,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n AssetCrossOriginConfig,\n RouterManagedTag,\n} from '@tanstack/router-core'\n\n/**\n * Build the list of head/link/meta/script tags to render for active matches.\n * Used internally by `HeadContent`.\n */\nexport const useTags = (assetCrossOrigin?: AssetCrossOriginConfig) => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n const activeMatches = Solid.createMemo(() => router.stores.matches.get())\n const routeMeta = Solid.createMemo(() =>\n activeMatches()\n .map((match) => match.meta)\n .filter((meta) => meta !== undefined),\n )\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n const routeMetasArray = routeMeta()\n for (let i = routeMetasArray.length - 1; i >= 0; i--) {\n const metas = routeMetasArray[i]!\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j]\n if (!m) continue\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else if ('script:ld+json' in m) {\n // Handle JSON-LD structured data\n // Content is HTML-escaped to prevent XSS when injected via innerHTML\n try {\n const json = JSON.stringify(m['script:ld+json'])\n resultMeta.push({\n tag: 'script',\n attrs: {\n type: 'application/ld+json',\n },\n children: escapeHtml(json),\n })\n } catch {\n // Skip invalid JSON-LD objects\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n nonce,\n },\n })\n }\n }\n }\n\n if (title) {\n resultMeta.push(title)\n }\n\n if (router.options.ssr?.nonce) {\n resultMeta.push({\n tag: 'meta',\n attrs: {\n property: 'csp-nonce',\n content: router.options.ssr.nonce,\n },\n })\n }\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = Solid.createMemo(() => {\n const matches = activeMatches()\n const constructed = matches\n .flatMap((match) => match.links ?? [])\n .filter((link) => link !== undefined)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n nonce,\n },\n })) satisfies Array<RouterManagedTag>\n\n return constructed\n })\n\n const retainedManifestCssTags = new Map<string, RouterManagedTag>()\n const manifestCssTags = Solid.createMemo(() => {\n const manifest = router.ssr?.manifest\n const tags: Array<RouterManagedTag> = []\n\n if (!manifest) {\n return tags\n }\n\n for (const match of activeMatches()) {\n manifest.routes[match.routeId]?.css?.forEach((link) => {\n const resolvedLink = resolveManifestCssLink(link)\n const tag: RouterManagedTag = {\n tag: 'link',\n attrs: {\n rel: 'stylesheet',\n ...resolvedLink,\n crossOrigin:\n getAssetCrossOrigin(assetCrossOrigin, 'stylesheet') ??\n resolvedLink.crossOrigin,\n nonce,\n },\n }\n const key = JSON.stringify(tag)\n if (!retainedManifestCssTags.has(key)) {\n retainedManifestCssTags.set(key, tag)\n }\n })\n }\n\n // Lazy modules are cached and do not reinsert their CSS when revisited.\n tags.push(...retainedManifestCssTags.values())\n\n if (manifest.inlineStyle) {\n tags.push({\n tag: 'style',\n attrs: {\n ...manifest.inlineStyle.attrs,\n nonce,\n },\n children: manifest.inlineStyle.children,\n inlineCss: true,\n })\n }\n\n return tags\n })\n\n const preloadLinks = Solid.createMemo(() => {\n const matches = activeMatches()\n const preloadLinks: Array<RouterManagedTag> = []\n\n matches.forEach((match) =>\n router.ssr?.manifest?.routes[match.routeId]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadLinks.push({\n tag: 'link',\n attrs: {\n ...getScriptPreloadAttrs(\n router.ssr?.manifest,\n preload,\n assetCrossOrigin,\n ),\n nonce,\n },\n })\n }),\n )\n\n return preloadLinks\n })\n\n const styles = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.styles ?? [])\n .filter((style) => style !== undefined)\n .map(({ children, ...style }) => ({\n tag: 'style',\n attrs: {\n ...style,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n const headScripts = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.headScripts ?? [])\n .filter((script) => script !== undefined)\n .map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n // Cache tag objects by key across renders so that unchanged tags keep a\n // stable object identity. `<For>` keys by reference, so reusing the previous\n // object for an unchanged tag lets it reconcile the existing DOM node in\n // place instead of remounting it. Remounting head nodes on navigation\n // detaches/re-fetches stylesheets (e.g. the app stylesheet), causing a FOUC.\n return Solid.createMemo((prev: Array<RouterManagedTag> | undefined) => {\n const next: Array<RouterManagedTag> = []\n appendUniqueUserTags(next, meta())\n appendUniqueUserTags(next, links())\n next.push(...manifestCssTags())\n next.push(...preloadLinks())\n appendUniqueUserTags(next, styles())\n appendUniqueUserTags(next, headScripts())\n\n if (prev === undefined) {\n return next\n }\n return replaceEqualTags(prev, next)\n })\n}\n\nfunction replaceEqualTags(\n prev: Array<RouterManagedTag>,\n next: Array<RouterManagedTag>,\n) {\n const prevByKey = new Map<string, RouterManagedTag>()\n for (const tag of prev) {\n prevByKey.set(JSON.stringify(tag), tag)\n }\n\n let isEqual = prev.length === next.length\n const result = next.map((tag, index) => {\n const existing = prevByKey.get(JSON.stringify(tag))\n if (existing) {\n if (existing !== prev[index]) {\n isEqual = false\n }\n return existing\n }\n\n isEqual = false\n return tag\n })\n\n return isEqual ? prev : result\n}\n"],"mappings":"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"}

@@ -255,8 +255,8 @@ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");

}
const loaderResult = solid_js.createMemo(async () => {
await new Promise((r) => setTimeout(r, 0));
return router.getMatch(currentMatch().id)?._nonReactive.loadPromise;
});
const FallbackComponent = solid_js.untrack(() => route().options.pendingComponent ?? router.options.defaultPendingComponent);
return [FallbackComponent && pendingMinMs > 0 ? (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { component: FallbackComponent }) : null, (0, _solidjs_web.memo)(loaderResult)];
if (_tanstack_router_core_isServer.isServer ?? router.isServer) {
const loaderResult = solid_js.createMemo(() => router.getMatch(currentMatch().id)?._nonReactive.loadPromise);
return [FallbackComponent && pendingMinMs > 0 ? (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { component: FallbackComponent }) : null, (0, _solidjs_web.memo)(loaderResult)];
}
return FallbackComponent ? (0, _solidjs_web.createComponent)(_solidjs_web.Dynamic, { component: FallbackComponent }) : null;
}

@@ -362,3 +362,3 @@ }),

get when() {
return (0, _solidjs_web.memo)(() => !!shouldShowNotFound())() && route();
return (0, _solidjs_web.memo)(() => !!shouldShowNotFound())() ? route() : shouldShowNotFound();
},

@@ -365,0 +365,0 @@ children: (resolvedRoute) => solid_js.untrack(() => require_renderRouteNotFound.renderRouteNotFound(router, resolvedRoute(), void 0))

@@ -1,1 +0,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","NearestMatchContext","Component","value","children","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","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","defaultNotFoundComponent","resolvedNoSsr","ResolvedSuspenseBoundary","Loading","shouldSkipSuspenseFallback","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","lastOnRenderedKey","WeakMap","location","resolvedLocation","state","__TSR_key","createEffect","const","currentLocationState","currentResolvedLocationState","set","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","Comp","defaultComponent","OutComponent","C","Outlet","RenderOut","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","untrack","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","matchError","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childRouteId","childRoute","childPendingComponent","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey","currentMatchId"],"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 '@solidjs/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\nconst NearestMatchContext = nearestMatchContext as unknown as Solid.Component<{\n value: any\n children?: any\n}>\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId] as AnyRoute,\n )\n\n const resolvePendingComponent = Solid.createMemo(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\n\n const routeErrorComponent = Solid.createMemo(\n () =>\n route().options.errorComponent ??\n router.options.defaultErrorComponent,\n )\n\n const routeOnCatch = Solid.createMemo(\n () => route().options.onCatch ?? router.options.defaultOnCatch,\n )\n\n // `defaultNotFoundComponent` must be resolved here at render time, not\n // via the lazy route-option mutation in load-matches (which only runs\n // when a notFound is actually handled). Route objects are module\n // singletons shared across server requests, so relying on that mutation\n // makes the presence of the CatchNotFound boundary — and therefore\n // Solid's hydration keys — depend on whether the server has previously\n // served a 404, while a freshly-hydrating client never has it applied.\n const routeNotFoundComponent = Solid.createMemo(() =>\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 router.options.defaultNotFoundComponent)\n : (route().options.notFoundComponent ??\n router.options.defaultNotFoundComponent),\n )\n\n const resolvedNoSsr = Solid.createMemo(\n () =>\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedSuspenseBoundary = Solid.createMemo(() =>\n resolvedNoSsr() ? SafeFragment : Solid.Loading,\n )\n const shouldSkipSuspenseFallback = Solid.createMemo(() =>\n (isServer ?? router.isServer)\n ? resolvedNoSsr()\n : currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedCatchBoundary = Solid.createMemo(() =>\n routeErrorComponent() ? CatchBoundary : SafeFragment,\n )\n\n const ResolvedNotFoundBoundary = Solid.createMemo(() =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment,\n )\n\n const ShellComponent = Solid.createMemo(() =>\n route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment,\n )\n\n return (\n <Dynamic component={ShellComponent()}>\n <NearestMatchContext 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>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </Dynamic>\n )\n }}\n </Solid.Show>\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 = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n () =>\n [\n location(),\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ] as const,\n ([location, currentLocationState, currentResolvedLocationState]) => {\n if (!location) return\n if (lastOnRenderedKey.get(router) === location) return\n lastOnRenderedKey.set(router, location)\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n currentLocationState,\n currentResolvedLocationState,\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId]!,\n )\n\n const currentMatch = Solid.createMemo(() => currentMatchState().match)\n\n const componentKey = Solid.createMemo(\n () => currentMatchState().key ?? currentMatchState().match.id,\n )\n\n const Comp = Solid.createMemo(\n () => route().options.component ?? router.options.defaultComponent,\n )\n\n const OutComponent = Solid.createMemo(() => {\n const C = Comp()\n return C || Outlet\n })\n\n const RenderOut = () => <Dynamic component={OutComponent()} />\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) => <RenderOut />}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={currentMatch()._displayPending}>\n {(_) => {\n const displayPendingResult = Solid.createMemo(\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.createMemo(\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 = Solid.untrack(\n () =>\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs,\n )\n\n if (pendingMinMs) {\n const routerMatch = Solid.untrack(() =>\n router.getMatch(currentMatch().id),\n )\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.createMemo(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n const FallbackComponent = Solid.untrack(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\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 const matchError = Solid.untrack(() => currentMatch().error)\n if (!isNotFound(matchError)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\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 Solid.untrack(() =>\n renderRouteNotFound(router, route(), matchError),\n )\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\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 invariant()\n }\n\n return null\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n const matchError = Solid.untrack(() => currentMatch().error)\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={matchError}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw matchError\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 childRouteId = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.routeId\n })\n\n const childRoute = Solid.createMemo(() => {\n const id = childRouteId()\n return id ? (router.routesById[id] as AnyRoute) : undefined\n })\n\n const childPendingComponent = Solid.createMemo(\n () =>\n childRoute()?.options.pendingComponent ??\n router.options.defaultPendingComponent,\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 Solid.untrack(() =>\n renderRouteNotFound(router, resolvedRoute(), undefined),\n )\n }\n </Solid.Show>\n }\n >\n {(_routeKey) => {\n const currentMatchId = Solid.createMemo(() => childMatchId())\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 childPendingComponent() ? (\n <Dynamic component={childPendingComponent()} />\n ) : null\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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"}
{"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","NearestMatchContext","Component","value","children","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","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","defaultNotFoundComponent","resolvedNoSsr","ResolvedSuspenseBoundary","Loading","shouldSkipSuspenseFallback","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","lastOnRenderedKey","WeakMap","location","resolvedLocation","state","__TSR_key","createEffect","const","currentLocationState","currentResolvedLocationState","set","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","Comp","defaultComponent","OutComponent","C","Outlet","RenderOut","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","untrack","defaultPendingMinMs","routerMatch","setTimeout","resolve","FallbackComponent","loaderResult","matchError","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childRouteId","childRoute","childPendingComponent","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey","currentMatchId"],"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 '@solidjs/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\nconst NearestMatchContext = nearestMatchContext as unknown as Solid.Component<{\n value: any\n children?: any\n}>\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId] as AnyRoute,\n )\n\n const resolvePendingComponent = Solid.createMemo(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\n\n const routeErrorComponent = Solid.createMemo(\n () =>\n route().options.errorComponent ??\n router.options.defaultErrorComponent,\n )\n\n const routeOnCatch = Solid.createMemo(\n () => route().options.onCatch ?? router.options.defaultOnCatch,\n )\n\n // `defaultNotFoundComponent` must be resolved here at render time, not\n // via the lazy route-option mutation in load-matches (which only runs\n // when a notFound is actually handled). Route objects are module\n // singletons shared across server requests, so relying on that mutation\n // makes the presence of the CatchNotFound boundary — and therefore\n // Solid's hydration keys — depend on whether the server has previously\n // served a 404, while a freshly-hydrating client never has it applied.\n const routeNotFoundComponent = Solid.createMemo(() =>\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 router.options.defaultNotFoundComponent)\n : (route().options.notFoundComponent ??\n router.options.defaultNotFoundComponent),\n )\n\n const resolvedNoSsr = Solid.createMemo(\n () =>\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedSuspenseBoundary = Solid.createMemo(() =>\n resolvedNoSsr() ? SafeFragment : Solid.Loading,\n )\n const shouldSkipSuspenseFallback = Solid.createMemo(() =>\n (isServer ?? router.isServer)\n ? resolvedNoSsr()\n : currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedCatchBoundary = Solid.createMemo(() =>\n routeErrorComponent() ? CatchBoundary : SafeFragment,\n )\n\n const ResolvedNotFoundBoundary = Solid.createMemo(() =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment,\n )\n\n const ShellComponent = Solid.createMemo(() =>\n route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment,\n )\n\n return (\n <Dynamic component={ShellComponent()}>\n <NearestMatchContext 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>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </Dynamic>\n )\n }}\n </Solid.Show>\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 = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n () =>\n [\n location(),\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ] as const,\n ([location, currentLocationState, currentResolvedLocationState]) => {\n if (!location) return\n if (lastOnRenderedKey.get(router) === location) return\n lastOnRenderedKey.set(router, location)\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n currentLocationState,\n currentResolvedLocationState,\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId]!,\n )\n\n const currentMatch = Solid.createMemo(() => currentMatchState().match)\n\n const componentKey = Solid.createMemo(\n () => currentMatchState().key ?? currentMatchState().match.id,\n )\n\n const Comp = Solid.createMemo(\n () => route().options.component ?? router.options.defaultComponent,\n )\n\n const OutComponent = Solid.createMemo(() => {\n const C = Comp()\n return C || Outlet\n })\n\n const RenderOut = () => <Dynamic component={OutComponent()} />\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) => <RenderOut />}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={currentMatch()._displayPending}>\n {(_) => {\n const displayPendingResult = Solid.createMemo(\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.createMemo(\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 = Solid.untrack(\n () =>\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs,\n )\n\n if (pendingMinMs) {\n const routerMatch = Solid.untrack(() =>\n router.getMatch(currentMatch().id),\n )\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 FallbackComponent = Solid.untrack(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\n\n // Only suspend on the load promise during SSR, where the\n // streaming engine needs the Loading boundary to wait for the\n // match to settle. On the client, suspending here means an\n // async source is live in the tree whenever a match is\n // pending; since Solid 2.0.0-beta.16 that routes every signal\n // write into a transition hold for the rest of the flush,\n // which breaks router-core's synchronous write-then-load\n // flows (e.g. invalidate() reloading a notFound match).\n if (isServer ?? router.isServer) {\n const loaderResult = Solid.createMemo(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise,\n )\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }\n\n return FallbackComponent ? (\n <Dynamic component={FallbackComponent} />\n ) : null\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'notFound'}>\n {(_) => {\n const matchError = Solid.untrack(() => currentMatch().error)\n if (!isNotFound(matchError)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\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 Solid.untrack(() =>\n renderRouteNotFound(router, route(), matchError),\n )\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\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 invariant()\n }\n\n return null\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n const matchError = Solid.untrack(() => currentMatch().error)\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={matchError}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw matchError\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 childRouteId = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.routeId\n })\n\n const childRoute = Solid.createMemo(() => {\n const id = childRouteId()\n return id ? (router.routesById[id] as AnyRoute) : undefined\n })\n\n const childPendingComponent = Solid.createMemo(\n () =>\n childRoute()?.options.pendingComponent ??\n router.options.defaultPendingComponent,\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 Solid.untrack(() =>\n renderRouteNotFound(router, resolvedRoute(), undefined),\n )\n }\n </Solid.Show>\n }\n >\n {(_routeKey) => {\n const currentMatchId = Solid.createMemo(() => childMatchId())\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 childPendingComponent() ? (\n <Dynamic component={childPendingComponent()} />\n ) : null\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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"}

@@ -71,2 +71,3 @@ import { useRouter } from "./useRouter.js";

});
const retainedManifestCssTags = /* @__PURE__ */ new Map();
const manifestCssTags = Solid.createMemo(() => {

@@ -78,3 +79,3 @@ const manifest = router.ssr?.manifest;

const resolvedLink = resolveManifestCssLink(link);
tags.push({
const tag = {
tag: "link",

@@ -87,4 +88,7 @@ attrs: {

}
});
};
const key = JSON.stringify(tag);
if (!retainedManifestCssTags.has(key)) retainedManifestCssTags.set(key, tag);
});
tags.push(...retainedManifestCssTags.values());
if (manifest.inlineStyle) tags.push({

@@ -91,0 +95,0 @@ tag: "style",

@@ -1,1 +0,1 @@

{"version":3,"file":"headContentUtils.js","names":["Solid","appendUniqueUserTags","escapeHtml","getAssetCrossOrigin","getScriptPreloadAttrs","resolveManifestCssLink","useRouter","AssetCrossOriginConfig","RouterManagedTag","useTags","assetCrossOrigin","router","nonce","options","ssr","activeMatches","createMemo","stores","matches","get","routeMeta","map","match","meta","filter","undefined","Accessor","Array","resultMeta","metaByAttribute","Record","title","routeMetasArray","i","length","metas","j","m","tag","children","json","JSON","stringify","push","attrs","type","attribute","name","property","content","reverse","links","constructed","flatMap","link","manifestCssTags","manifest","tags","routes","routeId","css","forEach","resolvedLink","rel","crossOrigin","inlineStyle","inlineCss","preloadLinks","preloads","Boolean","preload","styles","style","headScripts","script","prev","next","replaceEqualTags","prevByKey","Map","set","isEqual","result","index","existing"],"sources":["../../src/headContentUtils.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n appendUniqueUserTags,\n escapeHtml,\n getAssetCrossOrigin,\n getScriptPreloadAttrs,\n resolveManifestCssLink,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n AssetCrossOriginConfig,\n RouterManagedTag,\n} from '@tanstack/router-core'\n\n/**\n * Build the list of head/link/meta/script tags to render for active matches.\n * Used internally by `HeadContent`.\n */\nexport const useTags = (assetCrossOrigin?: AssetCrossOriginConfig) => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n const activeMatches = Solid.createMemo(() => router.stores.matches.get())\n const routeMeta = Solid.createMemo(() =>\n activeMatches()\n .map((match) => match.meta)\n .filter((meta) => meta !== undefined),\n )\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n const routeMetasArray = routeMeta()\n for (let i = routeMetasArray.length - 1; i >= 0; i--) {\n const metas = routeMetasArray[i]!\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j]\n if (!m) continue\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else if ('script:ld+json' in m) {\n // Handle JSON-LD structured data\n // Content is HTML-escaped to prevent XSS when injected via innerHTML\n try {\n const json = JSON.stringify(m['script:ld+json'])\n resultMeta.push({\n tag: 'script',\n attrs: {\n type: 'application/ld+json',\n },\n children: escapeHtml(json),\n })\n } catch {\n // Skip invalid JSON-LD objects\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n nonce,\n },\n })\n }\n }\n }\n\n if (title) {\n resultMeta.push(title)\n }\n\n if (router.options.ssr?.nonce) {\n resultMeta.push({\n tag: 'meta',\n attrs: {\n property: 'csp-nonce',\n content: router.options.ssr.nonce,\n },\n })\n }\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = Solid.createMemo(() => {\n const matches = activeMatches()\n const constructed = matches\n .flatMap((match) => match.links ?? [])\n .filter((link) => link !== undefined)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n nonce,\n },\n })) satisfies Array<RouterManagedTag>\n\n return constructed\n })\n\n const manifestCssTags = Solid.createMemo(() => {\n const manifest = router.ssr?.manifest\n const tags: Array<RouterManagedTag> = []\n\n if (!manifest) {\n return tags\n }\n\n for (const match of activeMatches()) {\n manifest.routes[match.routeId]?.css?.forEach((link) => {\n const resolvedLink = resolveManifestCssLink(link)\n tags.push({\n tag: 'link',\n attrs: {\n rel: 'stylesheet',\n ...resolvedLink,\n crossOrigin:\n getAssetCrossOrigin(assetCrossOrigin, 'stylesheet') ??\n resolvedLink.crossOrigin,\n nonce,\n },\n })\n })\n }\n\n if (manifest.inlineStyle) {\n tags.push({\n tag: 'style',\n attrs: {\n ...manifest.inlineStyle.attrs,\n nonce,\n },\n children: manifest.inlineStyle.children,\n inlineCss: true,\n })\n }\n\n return tags\n })\n\n const preloadLinks = Solid.createMemo(() => {\n const matches = activeMatches()\n const preloadLinks: Array<RouterManagedTag> = []\n\n matches.forEach((match) =>\n router.ssr?.manifest?.routes[match.routeId]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadLinks.push({\n tag: 'link',\n attrs: {\n ...getScriptPreloadAttrs(\n router.ssr?.manifest,\n preload,\n assetCrossOrigin,\n ),\n nonce,\n },\n })\n }),\n )\n\n return preloadLinks\n })\n\n const styles = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.styles ?? [])\n .filter((style) => style !== undefined)\n .map(({ children, ...style }) => ({\n tag: 'style',\n attrs: {\n ...style,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n const headScripts = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.headScripts ?? [])\n .filter((script) => script !== undefined)\n .map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n // Cache tag objects by key across renders so that unchanged tags keep a\n // stable object identity. `<For>` keys by reference, so reusing the previous\n // object for an unchanged tag lets it reconcile the existing DOM node in\n // place instead of remounting it. Remounting head nodes on navigation\n // detaches/re-fetches stylesheets (e.g. the app stylesheet), causing a FOUC.\n return Solid.createMemo((prev: Array<RouterManagedTag> | undefined) => {\n const next: Array<RouterManagedTag> = []\n appendUniqueUserTags(next, meta())\n appendUniqueUserTags(next, links())\n next.push(...manifestCssTags())\n next.push(...preloadLinks())\n appendUniqueUserTags(next, styles())\n appendUniqueUserTags(next, headScripts())\n\n if (prev === undefined) {\n return next\n }\n return replaceEqualTags(prev, next)\n })\n}\n\nfunction replaceEqualTags(\n prev: Array<RouterManagedTag>,\n next: Array<RouterManagedTag>,\n) {\n const prevByKey = new Map<string, RouterManagedTag>()\n for (const tag of prev) {\n prevByKey.set(JSON.stringify(tag), tag)\n }\n\n let isEqual = prev.length === next.length\n const result = next.map((tag, index) => {\n const existing = prevByKey.get(JSON.stringify(tag))\n if (existing) {\n if (existing !== prev[index]) {\n isEqual = false\n }\n return existing\n }\n\n isEqual = false\n return tag\n })\n\n return isEqual ? prev : result\n}\n"],"mappings":"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"}
{"version":3,"file":"headContentUtils.js","names":["Solid","appendUniqueUserTags","escapeHtml","getAssetCrossOrigin","getScriptPreloadAttrs","resolveManifestCssLink","useRouter","AssetCrossOriginConfig","RouterManagedTag","useTags","assetCrossOrigin","router","nonce","options","ssr","activeMatches","createMemo","stores","matches","get","routeMeta","map","match","meta","filter","undefined","Accessor","Array","resultMeta","metaByAttribute","Record","title","routeMetasArray","i","length","metas","j","m","tag","children","json","JSON","stringify","push","attrs","type","attribute","name","property","content","reverse","links","constructed","flatMap","link","retainedManifestCssTags","Map","manifestCssTags","manifest","tags","routes","routeId","css","forEach","resolvedLink","rel","crossOrigin","key","has","set","values","inlineStyle","inlineCss","preloadLinks","preloads","Boolean","preload","styles","style","headScripts","script","prev","next","replaceEqualTags","prevByKey","isEqual","result","index","existing"],"sources":["../../src/headContentUtils.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n appendUniqueUserTags,\n escapeHtml,\n getAssetCrossOrigin,\n getScriptPreloadAttrs,\n resolveManifestCssLink,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n AssetCrossOriginConfig,\n RouterManagedTag,\n} from '@tanstack/router-core'\n\n/**\n * Build the list of head/link/meta/script tags to render for active matches.\n * Used internally by `HeadContent`.\n */\nexport const useTags = (assetCrossOrigin?: AssetCrossOriginConfig) => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n const activeMatches = Solid.createMemo(() => router.stores.matches.get())\n const routeMeta = Solid.createMemo(() =>\n activeMatches()\n .map((match) => match.meta)\n .filter((meta) => meta !== undefined),\n )\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n const routeMetasArray = routeMeta()\n for (let i = routeMetasArray.length - 1; i >= 0; i--) {\n const metas = routeMetasArray[i]!\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j]\n if (!m) continue\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else if ('script:ld+json' in m) {\n // Handle JSON-LD structured data\n // Content is HTML-escaped to prevent XSS when injected via innerHTML\n try {\n const json = JSON.stringify(m['script:ld+json'])\n resultMeta.push({\n tag: 'script',\n attrs: {\n type: 'application/ld+json',\n },\n children: escapeHtml(json),\n })\n } catch {\n // Skip invalid JSON-LD objects\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n nonce,\n },\n })\n }\n }\n }\n\n if (title) {\n resultMeta.push(title)\n }\n\n if (router.options.ssr?.nonce) {\n resultMeta.push({\n tag: 'meta',\n attrs: {\n property: 'csp-nonce',\n content: router.options.ssr.nonce,\n },\n })\n }\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = Solid.createMemo(() => {\n const matches = activeMatches()\n const constructed = matches\n .flatMap((match) => match.links ?? [])\n .filter((link) => link !== undefined)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n nonce,\n },\n })) satisfies Array<RouterManagedTag>\n\n return constructed\n })\n\n const retainedManifestCssTags = new Map<string, RouterManagedTag>()\n const manifestCssTags = Solid.createMemo(() => {\n const manifest = router.ssr?.manifest\n const tags: Array<RouterManagedTag> = []\n\n if (!manifest) {\n return tags\n }\n\n for (const match of activeMatches()) {\n manifest.routes[match.routeId]?.css?.forEach((link) => {\n const resolvedLink = resolveManifestCssLink(link)\n const tag: RouterManagedTag = {\n tag: 'link',\n attrs: {\n rel: 'stylesheet',\n ...resolvedLink,\n crossOrigin:\n getAssetCrossOrigin(assetCrossOrigin, 'stylesheet') ??\n resolvedLink.crossOrigin,\n nonce,\n },\n }\n const key = JSON.stringify(tag)\n if (!retainedManifestCssTags.has(key)) {\n retainedManifestCssTags.set(key, tag)\n }\n })\n }\n\n // Lazy modules are cached and do not reinsert their CSS when revisited.\n tags.push(...retainedManifestCssTags.values())\n\n if (manifest.inlineStyle) {\n tags.push({\n tag: 'style',\n attrs: {\n ...manifest.inlineStyle.attrs,\n nonce,\n },\n children: manifest.inlineStyle.children,\n inlineCss: true,\n })\n }\n\n return tags\n })\n\n const preloadLinks = Solid.createMemo(() => {\n const matches = activeMatches()\n const preloadLinks: Array<RouterManagedTag> = []\n\n matches.forEach((match) =>\n router.ssr?.manifest?.routes[match.routeId]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadLinks.push({\n tag: 'link',\n attrs: {\n ...getScriptPreloadAttrs(\n router.ssr?.manifest,\n preload,\n assetCrossOrigin,\n ),\n nonce,\n },\n })\n }),\n )\n\n return preloadLinks\n })\n\n const styles = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.styles ?? [])\n .filter((style) => style !== undefined)\n .map(({ children, ...style }) => ({\n tag: 'style',\n attrs: {\n ...style,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n const headScripts = Solid.createMemo(() => {\n return activeMatches()\n .flatMap((match) => match.headScripts ?? [])\n .filter((script) => script !== undefined)\n .map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n nonce,\n },\n children: children as string | undefined,\n })) satisfies Array<RouterManagedTag>\n })\n\n // Cache tag objects by key across renders so that unchanged tags keep a\n // stable object identity. `<For>` keys by reference, so reusing the previous\n // object for an unchanged tag lets it reconcile the existing DOM node in\n // place instead of remounting it. Remounting head nodes on navigation\n // detaches/re-fetches stylesheets (e.g. the app stylesheet), causing a FOUC.\n return Solid.createMemo((prev: Array<RouterManagedTag> | undefined) => {\n const next: Array<RouterManagedTag> = []\n appendUniqueUserTags(next, meta())\n appendUniqueUserTags(next, links())\n next.push(...manifestCssTags())\n next.push(...preloadLinks())\n appendUniqueUserTags(next, styles())\n appendUniqueUserTags(next, headScripts())\n\n if (prev === undefined) {\n return next\n }\n return replaceEqualTags(prev, next)\n })\n}\n\nfunction replaceEqualTags(\n prev: Array<RouterManagedTag>,\n next: Array<RouterManagedTag>,\n) {\n const prevByKey = new Map<string, RouterManagedTag>()\n for (const tag of prev) {\n prevByKey.set(JSON.stringify(tag), tag)\n }\n\n let isEqual = prev.length === next.length\n const result = next.map((tag, index) => {\n const existing = prevByKey.get(JSON.stringify(tag))\n if (existing) {\n if (existing !== prev[index]) {\n isEqual = false\n }\n return existing\n }\n\n isEqual = false\n return tag\n })\n\n return isEqual ? prev : result\n}\n"],"mappings":"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"}

@@ -253,8 +253,8 @@ import { CatchBoundary, ErrorComponent } from "./CatchBoundary.js";

}
const loaderResult = Solid.createMemo(async () => {
await new Promise((r) => setTimeout(r, 0));
return router.getMatch(currentMatch().id)?._nonReactive.loadPromise;
});
const FallbackComponent = Solid.untrack(() => route().options.pendingComponent ?? router.options.defaultPendingComponent);
return [FallbackComponent && pendingMinMs > 0 ? createComponent(Dynamic, { component: FallbackComponent }) : null, memo(loaderResult)];
if (isServer ?? router.isServer) {
const loaderResult = Solid.createMemo(() => router.getMatch(currentMatch().id)?._nonReactive.loadPromise);
return [FallbackComponent && pendingMinMs > 0 ? createComponent(Dynamic, { component: FallbackComponent }) : null, memo(loaderResult)];
}
return FallbackComponent ? createComponent(Dynamic, { component: FallbackComponent }) : null;
}

@@ -360,3 +360,3 @@ }),

get when() {
return memo(() => !!shouldShowNotFound())() && route();
return memo(() => !!shouldShowNotFound())() ? route() : shouldShowNotFound();
},

@@ -363,0 +363,0 @@ children: (resolvedRoute) => Solid.untrack(() => renderRouteNotFound(router, resolvedRoute(), void 0))

@@ -1,1 +0,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","NearestMatchContext","Component","value","children","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","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","defaultNotFoundComponent","resolvedNoSsr","ResolvedSuspenseBoundary","Loading","shouldSkipSuspenseFallback","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","lastOnRenderedKey","WeakMap","location","resolvedLocation","state","__TSR_key","createEffect","const","currentLocationState","currentResolvedLocationState","set","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","Comp","defaultComponent","OutComponent","C","Outlet","RenderOut","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","untrack","defaultPendingMinMs","routerMatch","setTimeout","resolve","loaderResult","r","FallbackComponent","matchError","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childRouteId","childRoute","childPendingComponent","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey","currentMatchId"],"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 '@solidjs/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\nconst NearestMatchContext = nearestMatchContext as unknown as Solid.Component<{\n value: any\n children?: any\n}>\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId] as AnyRoute,\n )\n\n const resolvePendingComponent = Solid.createMemo(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\n\n const routeErrorComponent = Solid.createMemo(\n () =>\n route().options.errorComponent ??\n router.options.defaultErrorComponent,\n )\n\n const routeOnCatch = Solid.createMemo(\n () => route().options.onCatch ?? router.options.defaultOnCatch,\n )\n\n // `defaultNotFoundComponent` must be resolved here at render time, not\n // via the lazy route-option mutation in load-matches (which only runs\n // when a notFound is actually handled). Route objects are module\n // singletons shared across server requests, so relying on that mutation\n // makes the presence of the CatchNotFound boundary — and therefore\n // Solid's hydration keys — depend on whether the server has previously\n // served a 404, while a freshly-hydrating client never has it applied.\n const routeNotFoundComponent = Solid.createMemo(() =>\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 router.options.defaultNotFoundComponent)\n : (route().options.notFoundComponent ??\n router.options.defaultNotFoundComponent),\n )\n\n const resolvedNoSsr = Solid.createMemo(\n () =>\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedSuspenseBoundary = Solid.createMemo(() =>\n resolvedNoSsr() ? SafeFragment : Solid.Loading,\n )\n const shouldSkipSuspenseFallback = Solid.createMemo(() =>\n (isServer ?? router.isServer)\n ? resolvedNoSsr()\n : currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedCatchBoundary = Solid.createMemo(() =>\n routeErrorComponent() ? CatchBoundary : SafeFragment,\n )\n\n const ResolvedNotFoundBoundary = Solid.createMemo(() =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment,\n )\n\n const ShellComponent = Solid.createMemo(() =>\n route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment,\n )\n\n return (\n <Dynamic component={ShellComponent()}>\n <NearestMatchContext 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>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </Dynamic>\n )\n }}\n </Solid.Show>\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 = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n () =>\n [\n location(),\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ] as const,\n ([location, currentLocationState, currentResolvedLocationState]) => {\n if (!location) return\n if (lastOnRenderedKey.get(router) === location) return\n lastOnRenderedKey.set(router, location)\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n currentLocationState,\n currentResolvedLocationState,\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId]!,\n )\n\n const currentMatch = Solid.createMemo(() => currentMatchState().match)\n\n const componentKey = Solid.createMemo(\n () => currentMatchState().key ?? currentMatchState().match.id,\n )\n\n const Comp = Solid.createMemo(\n () => route().options.component ?? router.options.defaultComponent,\n )\n\n const OutComponent = Solid.createMemo(() => {\n const C = Comp()\n return C || Outlet\n })\n\n const RenderOut = () => <Dynamic component={OutComponent()} />\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) => <RenderOut />}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={currentMatch()._displayPending}>\n {(_) => {\n const displayPendingResult = Solid.createMemo(\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.createMemo(\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 = Solid.untrack(\n () =>\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs,\n )\n\n if (pendingMinMs) {\n const routerMatch = Solid.untrack(() =>\n router.getMatch(currentMatch().id),\n )\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.createMemo(async () => {\n await new Promise((r) => setTimeout(r, 0))\n return router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise\n })\n\n const FallbackComponent = Solid.untrack(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\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 const matchError = Solid.untrack(() => currentMatch().error)\n if (!isNotFound(matchError)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\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 Solid.untrack(() =>\n renderRouteNotFound(router, route(), matchError),\n )\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\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 invariant()\n }\n\n return null\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n const matchError = Solid.untrack(() => currentMatch().error)\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={matchError}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw matchError\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 childRouteId = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.routeId\n })\n\n const childRoute = Solid.createMemo(() => {\n const id = childRouteId()\n return id ? (router.routesById[id] as AnyRoute) : undefined\n })\n\n const childPendingComponent = Solid.createMemo(\n () =>\n childRoute()?.options.pendingComponent ??\n router.options.defaultPendingComponent,\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 Solid.untrack(() =>\n renderRouteNotFound(router, resolvedRoute(), undefined),\n )\n }\n </Solid.Show>\n }\n >\n {(_routeKey) => {\n const currentMatchId = Solid.createMemo(() => childMatchId())\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 childPendingComponent() ? (\n <Dynamic component={childPendingComponent()} />\n ) : null\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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"}
{"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","NearestMatchContext","Component","value","children","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","currentMatchState","route","resolvePendingComponent","options","pendingComponent","defaultPendingComponent","routeErrorComponent","errorComponent","defaultErrorComponent","routeOnCatch","onCatch","defaultOnCatch","routeNotFoundComponent","isRoot","notFoundComponent","notFoundRoute","component","defaultNotFoundComponent","resolvedNoSsr","ResolvedSuspenseBoundary","Loading","shouldSkipSuspenseFallback","ResolvedCatchBoundary","ResolvedNotFoundBoundary","ShellComponent","shellComponent","fallback","_$memo","getResetKey","loadedAt","error","Error","notFoundError","process","env","NODE_ENV","console","warn","_$mergeProps","Switch","MatchInner","OnRendered","scrollRestoration","lastOnRenderedKey","WeakMap","location","resolvedLocation","state","__TSR_key","createEffect","const","currentLocationState","currentResolvedLocationState","set","emit","type","useContext","remountFn","remountDeps","defaultRemountDeps","loaderDeps","params","_strictParams","search","_strictSearch","key","JSON","stringify","status","_forcePending","componentKey","Comp","defaultComponent","OutComponent","C","Outlet","RenderOut","getLoadPromise","fallbackMatch","_nonReactive","loadPromise","Promise","getMatch","keyedOut","keyed","_key","_","displayPendingResult","displayPendingPromise","minPendingResult","minPendingPromise","pendingMinMs","untrack","defaultPendingMinMs","routerMatch","setTimeout","resolve","FallbackComponent","loaderResult","matchError","_routeId","RouteErrorComponent","info","componentStack","nearestParentMatch","parentMatch","parentGlobalNotFound","globalNotFound","childMatchId","childMatchIdByRouteId","childRouteId","childRoute","childPendingComponent","childMatchStatus","shouldShowNotFound","childRouteKey","cid","resolvedRoute","_routeKey","currentMatchId"],"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 '@solidjs/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\nconst NearestMatchContext = nearestMatchContext as unknown as Solid.Component<{\n value: any\n children?: any\n}>\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId] as AnyRoute,\n )\n\n const resolvePendingComponent = Solid.createMemo(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\n\n const routeErrorComponent = Solid.createMemo(\n () =>\n route().options.errorComponent ??\n router.options.defaultErrorComponent,\n )\n\n const routeOnCatch = Solid.createMemo(\n () => route().options.onCatch ?? router.options.defaultOnCatch,\n )\n\n // `defaultNotFoundComponent` must be resolved here at render time, not\n // via the lazy route-option mutation in load-matches (which only runs\n // when a notFound is actually handled). Route objects are module\n // singletons shared across server requests, so relying on that mutation\n // makes the presence of the CatchNotFound boundary — and therefore\n // Solid's hydration keys — depend on whether the server has previously\n // served a 404, while a freshly-hydrating client never has it applied.\n const routeNotFoundComponent = Solid.createMemo(() =>\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 router.options.defaultNotFoundComponent)\n : (route().options.notFoundComponent ??\n router.options.defaultNotFoundComponent),\n )\n\n const resolvedNoSsr = Solid.createMemo(\n () =>\n currentMatchState().ssr === false ||\n currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedSuspenseBoundary = Solid.createMemo(() =>\n resolvedNoSsr() ? SafeFragment : Solid.Loading,\n )\n const shouldSkipSuspenseFallback = Solid.createMemo(() =>\n (isServer ?? router.isServer)\n ? resolvedNoSsr()\n : currentMatchState().ssr === 'data-only',\n )\n\n const ResolvedCatchBoundary = Solid.createMemo(() =>\n routeErrorComponent() ? CatchBoundary : SafeFragment,\n )\n\n const ResolvedNotFoundBoundary = Solid.createMemo(() =>\n routeNotFoundComponent() ? CatchNotFound : SafeFragment,\n )\n\n const ShellComponent = Solid.createMemo(() =>\n route().isRoot\n ? ((route().options as RootRouteOptions).shellComponent ??\n SafeFragment)\n : SafeFragment,\n )\n\n return (\n <Dynamic component={ShellComponent()}>\n <NearestMatchContext 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>\n\n {currentMatchState().parentRouteId === rootRouteId ? (\n <>\n <OnRendered />\n {router.options.scrollRestoration &&\n (isServer ?? router.isServer) ? (\n <ScrollRestoration />\n ) : null}\n </>\n ) : null}\n </Dynamic>\n )\n }}\n </Solid.Show>\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 = Solid.createMemo(\n () => router.stores.resolvedLocation.get()?.state.__TSR_key,\n )\n Solid.createEffect(\n () =>\n [\n location(),\n router.stores.location.get(),\n router.stores.resolvedLocation.get(),\n ] as const,\n ([location, currentLocationState, currentResolvedLocationState]) => {\n if (!location) return\n if (lastOnRenderedKey.get(router) === location) return\n lastOnRenderedKey.set(router, location)\n router.emit({\n type: 'onRendered',\n ...getLocationChangeInfo(\n currentLocationState,\n currentResolvedLocationState,\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 = Solid.createMemo(\n () => router.routesById[currentMatchState().routeId]!,\n )\n\n const currentMatch = Solid.createMemo(() => currentMatchState().match)\n\n const componentKey = Solid.createMemo(\n () => currentMatchState().key ?? currentMatchState().match.id,\n )\n\n const Comp = Solid.createMemo(\n () => route().options.component ?? router.options.defaultComponent,\n )\n\n const OutComponent = Solid.createMemo(() => {\n const C = Comp()\n return C || Outlet\n })\n\n const RenderOut = () => <Dynamic component={OutComponent()} />\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) => <RenderOut />}\n </Solid.Show>\n )\n\n return (\n <Solid.Switch>\n <Solid.Match when={currentMatch()._displayPending}>\n {(_) => {\n const displayPendingResult = Solid.createMemo(\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.createMemo(\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 = Solid.untrack(\n () =>\n route().options.pendingMinMs ??\n router.options.defaultPendingMinMs,\n )\n\n if (pendingMinMs) {\n const routerMatch = Solid.untrack(() =>\n router.getMatch(currentMatch().id),\n )\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 FallbackComponent = Solid.untrack(\n () =>\n route().options.pendingComponent ??\n router.options.defaultPendingComponent,\n )\n\n // Only suspend on the load promise during SSR, where the\n // streaming engine needs the Loading boundary to wait for the\n // match to settle. On the client, suspending here means an\n // async source is live in the tree whenever a match is\n // pending; since Solid 2.0.0-beta.16 that routes every signal\n // write into a transition hold for the rest of the flush,\n // which breaks router-core's synchronous write-then-load\n // flows (e.g. invalidate() reloading a notFound match).\n if (isServer ?? router.isServer) {\n const loaderResult = Solid.createMemo(\n () =>\n router.getMatch(currentMatch().id)?._nonReactive\n .loadPromise,\n )\n return (\n <>\n {FallbackComponent && pendingMinMs > 0 ? (\n <Dynamic component={FallbackComponent} />\n ) : null}\n {loaderResult()}\n </>\n )\n }\n\n return FallbackComponent ? (\n <Dynamic component={FallbackComponent} />\n ) : null\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'notFound'}>\n {(_) => {\n const matchError = Solid.untrack(() => currentMatch().error)\n if (!isNotFound(matchError)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'Invariant failed: Expected a notFound error',\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 Solid.untrack(() =>\n renderRouteNotFound(router, route(), matchError),\n )\n }\n </Solid.Show>\n )\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'redirected'}>\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 invariant()\n }\n\n return null\n }}\n </Solid.Match>\n <Solid.Match when={currentMatch().status === 'error'}>\n {(_) => {\n const matchError = Solid.untrack(() => currentMatch().error)\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={matchError}\n info={{\n componentStack: '',\n }}\n />\n )\n }\n\n throw matchError\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 childRouteId = Solid.createMemo(() => {\n const id = childMatchId()\n if (!id) return undefined\n return router.stores.matchStores.get(id)?.routeId\n })\n\n const childRoute = Solid.createMemo(() => {\n const id = childRouteId()\n return id ? (router.routesById[id] as AnyRoute) : undefined\n })\n\n const childPendingComponent = Solid.createMemo(\n () =>\n childRoute()?.options.pendingComponent ??\n router.options.defaultPendingComponent,\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 Solid.untrack(() =>\n renderRouteNotFound(router, resolvedRoute(), undefined),\n )\n }\n </Solid.Show>\n }\n >\n {(_routeKey) => {\n const currentMatchId = Solid.createMemo(() => childMatchId())\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 childPendingComponent() ? (\n <Dynamic component={childPendingComponent()} />\n ) : null\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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"}

@@ -100,2 +100,3 @@ import * as Solid from 'solid-js';

});
const retainedManifestCssTags = new Map();
const manifestCssTags = Solid.createMemo(() => {

@@ -110,3 +111,3 @@ const manifest = router.ssr?.manifest;

const resolvedLink = resolveManifestCssLink(link);
tags.push({
const tag = {
tag: 'link',

@@ -120,5 +121,11 @@ attrs: {

},
});
};
const key = JSON.stringify(tag);
if (!retainedManifestCssTags.has(key)) {
retainedManifestCssTags.set(key, tag);
}
});
}
// Lazy modules are cached and do not reinsert their CSS when revisited.
tags.push(...retainedManifestCssTags.values());
if (manifest.inlineStyle) {

@@ -125,0 +132,0 @@ tags.push({

@@ -1,1 +0,1 @@

{"version":3,"file":"headContentUtils.jsx","sourceRoot":"","sources":["../../src/headContentUtils.tsx"],"names":[],"mappings":"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"}
{"version":3,"file":"headContentUtils.jsx","sourceRoot":"","sources":["../../src/headContentUtils.tsx"],"names":[],"mappings":"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"}

@@ -258,13 +258,21 @@ import * as Solid from 'solid-js';

}
const loaderResult = Solid.createMemo(async () => {
await new Promise((r) => setTimeout(r, 0));
return router.getMatch(currentMatch().id)?._nonReactive
.loadPromise;
});
const FallbackComponent = Solid.untrack(() => route().options.pendingComponent ??
router.options.defaultPendingComponent);
return (<>
{FallbackComponent && pendingMinMs > 0 ? (<Dynamic component={FallbackComponent}/>) : null}
{loaderResult()}
</>);
// Only suspend on the load promise during SSR, where the
// streaming engine needs the Loading boundary to wait for the
// match to settle. On the client, suspending here means an
// async source is live in the tree whenever a match is
// pending; since Solid 2.0.0-beta.16 that routes every signal
// write into a transition hold for the rest of the flush,
// which breaks router-core's synchronous write-then-load
// flows (e.g. invalidate() reloading a notFound match).
if (isServer ?? router.isServer) {
const loaderResult = Solid.createMemo(() => router.getMatch(currentMatch().id)?._nonReactive
.loadPromise);
return (<>
{FallbackComponent && pendingMinMs > 0 ? (<Dynamic component={FallbackComponent}/>) : null}
{loaderResult()}
</>);
}
return FallbackComponent ? (<Dynamic component={FallbackComponent}/>) : null;
}}

@@ -271,0 +279,0 @@ </Solid.Match>

@@ -1,1 +0,1 @@

{"version":3,"file":"Match.jsx","sourceRoot":"","sources":["../../src/Match.tsx"],"names":[],"mappings":"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"}
{"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,mBAAmB,GAAG,mBAG1B,CAAA;AAEF,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,GAAG,KAAK,CAAC,UAAU,CAC5B,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAa,CACjE,CAAA;YAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAC9C,GAAG,EAAE,CACH,KAAK,EAAE,CAAC,OAAO,CAAC,gBAAgB;gBAChC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CACzC,CAAA;YAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAC1C,GAAG,EAAE,CACH,KAAK,EAAE,CAAC,OAAO,CAAC,cAAc;gBAC9B,MAAM,CAAC,OAAO,CAAC,qBAAqB,CACvC,CAAA;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CACnC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAC/D,CAAA;YAED,uEAAuE;YACvE,sEAAsE;YACtE,iEAAiE;YACjE,wEAAwE;YACxE,mEAAmE;YACnE,uEAAuE;YACvE,uEAAuE;YACvE,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CACnD,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;wBAC/C,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBAC1C,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,iBAAiB;oBAClC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAC7C,CAAA;YAED,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACpC,GAAG,EAAE,CACH,iBAAiB,EAAE,CAAC,GAAG,KAAK,KAAK;gBACjC,iBAAiB,EAAE,CAAC,GAAG,KAAK,WAAW,CAC1C,CAAA;YAED,MAAM,wBAAwB,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CACrD,aAAa,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAC/C,CAAA;YACD,MAAM,0BAA0B,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CACvD,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;gBAC3B,CAAC,CAAC,aAAa,EAAE;gBACjB,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,KAAK,WAAW,CAC5C,CAAA;YAED,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAClD,mBAAmB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CACrD,CAAA;YAED,MAAM,wBAAwB,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CACrD,sBAAsB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CACxD,CAAA;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAC3C,KAAK,EAAE,CAAC,MAAM;gBACZ,CAAC,CAAC,CAAE,KAAK,EAAE,CAAC,OAA4B,CAAC,cAAc;oBACrD,YAAY,CAAC;gBACf,CAAC,CAAC,YAAY,CACjB,CAAA;YAED,OAAO,CACL,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CACnC;YAAA,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CACvC;cAAA,CAAC,OAAO,CACN,SAAS,CAAC,CAAC,wBAAwB,EAAE,CAAC,CACtC,QAAQ,CAAC,CAAC;gBACR,6DAA6D;gBAC7D,yDAAyD;gBACzD,0BAA0B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACzC,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,EAAE,CAAC,CACjC;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,EAAE,CAAC,CAClC;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,CAErB;;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,OAAO,CAAC,CACX,CAAA;QACH,CAAC,CACH;IAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;AACH,CAAC,CAAA;AAED,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,sEAAsE;AACtE,sEAAsE;AACtE,oBAAoB;AACpB,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAkB,CAAA;AAEvD,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,GAAG,EAAE,CACH;QACE,QAAQ,EAAE;QACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC5B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE;KAC5B,EACZ,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,4BAA4B,CAAC,EAAE,EAAE;QACjE,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;YAAE,OAAM;QACtD,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,GAAG,qBAAqB,CACtB,oBAAoB,EACpB,4BAA4B,CAC7B;SACF,CAAC,CAAA;IACJ,CAAC,CACF,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,KAAK,CAAC,UAAU,CAC5B,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAE,CACtD,CAAA;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAA;YAEtE,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CACnC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,CAC9D,CAAA;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CACnE,CAAA;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;gBACzC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAA;gBAChB,OAAO,CAAC,IAAI,MAAM,CAAA;YACpB,CAAC,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,EAAG,CAAA;YAE9D,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,CAAC,SAAS,CAAC,AAAD,EAAG,CAC1B;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,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAC3C,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,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,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,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CACH,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY;wBAC5B,MAAM,CAAC,OAAO,CAAC,mBAAmB,CACrC,CAAA;oBAED,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CACrC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CACnC,CAAA;wBACD,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,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CACH,KAAK,EAAE,CAAC,OAAO,CAAC,gBAAgB;wBAChC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CACzC,CAAA;oBAED,yDAAyD;oBACzD,8DAA8D;oBAC9D,2DAA2D;oBAC3D,uDAAuD;oBACvD,8DAA8D;oBAC9D,0DAA0D;oBAC1D,yDAAyD;oBACzD,wDAAwD;oBACxD,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAChC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CACnC,GAAG,EAAE,CACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY;6BAC7C,WAAW,CACjB,CAAA;wBACD,OAAO,CACL,EACE;sBAAA,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;sBAAA,CAAC,YAAY,EAAE,CACjB;oBAAA,GAAG,CACJ,CAAA;oBACH,CAAC;oBAED,OAAO,iBAAiB,CAAC,CAAC,CAAC,CACzB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,EAAG,CAC1C,CAAC,CAAC,CAAC,IAAI,CAAA;gBACV,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,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAA;oBAC5D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;4BAC1C,MAAM,IAAI,KAAK,CACb,6CAA6C,CAC9C,CAAA;wBACH,CAAC;wBACD,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,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CACjB,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,CAEpD,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,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;wBACD,SAAS,EAAE,CAAA;oBACb,CAAC;oBAED,OAAO,IAAI,CAAA;gBACb,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,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAA;oBAC5D,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,UAAU,CAAC,CAClB,IAAI,CAAC,CAAC;gCACJ,cAAc,EAAE,EAAE;6BACnB,CAAC,EACF,CACH,CAAA;oBACH,CAAC;oBAED,MAAM,UAAU,CAAA;gBAClB,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,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QACzC,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,OAAO,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,GAAG,YAAY,EAAE,CAAA;QACzB,OAAO,EAAE,CAAC,CAAC,CAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAC5C,GAAG,EAAE,CACH,UAAU,EAAE,EAAE,OAAO,CAAC,gBAAgB;QACtC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CACzC,CAAA;IAED,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,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CACjB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,SAAS,CAAC,CAE3D,CACF;QAAA,EAAE,KAAK,CAAC,IAAI,CACd,CAAC,CAED;MAAA,CAAC,CAAC,SAAS,EAAE,EAAE;YACb,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAA;YAE7D,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,cAAc,EAAG,CAAC,EAAG,CAAC,CAEhD;YAAA,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CACrC;cAAA,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACb,CAAC,KAAK,CAAC,OAAO,CACZ,QAAQ,CAAC,CACP,qBAAqB,EAAE,CAAC,CAAC,CAAC,CACxB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAG,CAChD,CAAC,CAAC,CAAC,IACN,CAAC,CAED;kBAAA,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAG,CAAC,EACpC;gBAAA,EAAE,KAAK,CAAC,OAAO,CAAC,CACjB,CACH;YAAA,EAAE,KAAK,CAAC,IAAI,CACd;UAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;QACH,CAAC,CACH;IAAA,EAAE,KAAK,CAAC,IAAI,CAAC,CACd,CAAA;AACH,CAAC,CAAA"}
{
"name": "@tanstack/solid-router",
"version": "2.0.0-beta.23",
"version": "2.0.0-beta.24",
"description": "Modern and scalable routing for Solid applications",

@@ -92,11 +92,11 @@ "author": "Tanner Linsley",

"@solidjs/meta": "^0.29.4",
"@solidjs/web": "2.0.0-beta.15",
"@solidjs/web": "2.0.0-beta.19",
"isbot": "^5.1.22",
"@solid-primitives/refs": "^1.0.8",
"@tanstack/history": "1.162.0",
"@tanstack/router-core": "1.171.13"
"@tanstack/router-core": "1.171.14",
"@tanstack/history": "1.162.0"
},
"devDependencies": {
"@solidjs/testing-library": "^0.8.10",
"@solidjs/web": "2.0.0-beta.15",
"@solidjs/web": "2.0.0-beta.19",
"@testing-library/jest-dom": "^6.6.3",

@@ -106,5 +106,5 @@ "@types/node": ">=20",

"eslint-plugin-solid": "^0.14.5",
"solid-js": "2.0.0-beta.15",
"solid-js": "2.0.0-beta.19",
"vite": "*",
"vite-plugin-solid": "^3.0.0-next.5",
"vite-plugin-solid": "^3.0.0-next.11",
"zod": "^4.4.3"

@@ -111,0 +111,0 @@ },

@@ -117,2 +117,3 @@ import * as Solid from 'solid-js'

const retainedManifestCssTags = new Map<string, RouterManagedTag>()
const manifestCssTags = Solid.createMemo(() => {

@@ -129,3 +130,3 @@ const manifest = router.ssr?.manifest

const resolvedLink = resolveManifestCssLink(link)
tags.push({
const tag: RouterManagedTag = {
tag: 'link',

@@ -140,6 +141,13 @@ attrs: {

},
})
}
const key = JSON.stringify(tag)
if (!retainedManifestCssTags.has(key)) {
retainedManifestCssTags.set(key, tag)
}
})
}
// Lazy modules are cached and do not reinsert their CSS when revisited.
tags.push(...retainedManifestCssTags.values())
if (manifest.inlineStyle) {

@@ -146,0 +154,0 @@ tags.push({

@@ -415,8 +415,2 @@ import * as Solid from 'solid-js'

const loaderResult = Solid.createMemo(async () => {
await new Promise((r) => setTimeout(r, 0))
return router.getMatch(currentMatch().id)?._nonReactive
.loadPromise
})
const FallbackComponent = Solid.untrack(

@@ -428,10 +422,29 @@ () =>

return (
<>
{FallbackComponent && pendingMinMs > 0 ? (
<Dynamic component={FallbackComponent} />
) : null}
{loaderResult()}
</>
)
// Only suspend on the load promise during SSR, where the
// streaming engine needs the Loading boundary to wait for the
// match to settle. On the client, suspending here means an
// async source is live in the tree whenever a match is
// pending; since Solid 2.0.0-beta.16 that routes every signal
// write into a transition hold for the rest of the flush,
// which breaks router-core's synchronous write-then-load
// flows (e.g. invalidate() reloading a notFound match).
if (isServer ?? router.isServer) {
const loaderResult = Solid.createMemo(
() =>
router.getMatch(currentMatch().id)?._nonReactive
.loadPromise,
)
return (
<>
{FallbackComponent && pendingMinMs > 0 ? (
<Dynamic component={FallbackComponent} />
) : null}
{loaderResult()}
</>
)
}
return FallbackComponent ? (
<Dynamic component={FallbackComponent} />
) : null
}}

@@ -438,0 +451,0 @@ </Solid.Match>