UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

28 lines (27 loc) 1.52 kB
require("./_virtual/_rolldown/runtime.cjs"); const require_useRouter = require("./useRouter.cjs"); const require_ScriptOnce = require("./ScriptOnce.cjs"); let _tanstack_router_core = require("@tanstack/router-core"); let solid_js_web = require("solid-js/web"); let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer"); //#region src/scroll-restoration.tsx function ScrollRestoration() { const router = require_useRouter.useRouter(); if (!router.isScrollRestoring || !(_tanstack_router_core_isServer.isServer ?? router.isServer)) return null; if (typeof router.options.scrollRestoration === "function") { if (!router.options.scrollRestoration({ location: router.latestLocation })) return null; } const userKey = (router.options.getScrollRestorationKey || _tanstack_router_core.defaultGetScrollRestorationKey)(router.latestLocation); const resolvedKey = userKey !== (0, _tanstack_router_core.defaultGetScrollRestorationKey)(router.latestLocation) ? userKey : void 0; const restoreScrollOptions = { storageKey: _tanstack_router_core.storageKey, shouldScrollRestoration: true }; if (resolvedKey) restoreScrollOptions.key = resolvedKey; return (0, solid_js_web.createComponent)(require_ScriptOnce.ScriptOnce, { get children() { return `(${_tanstack_router_core.restoreScroll.toString()})(${(0, _tanstack_router_core.escapeHtml)(JSON.stringify(restoreScrollOptions))})`; } }); } //#endregion exports.ScrollRestoration = ScrollRestoration; //# sourceMappingURL=scroll-restoration.cjs.map