UNPKG

@tanstack/react-router

Version:

Modern and scalable routing for React applications

39 lines (38 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const routerCore = require("@tanstack/router-core"); const useRouter = require("./useRouter.cjs"); const ScriptOnce = require("./ScriptOnce.cjs"); function ScrollRestoration() { const router = useRouter.useRouter(); if (!router.isScrollRestoring || !router.isServer) { return null; } if (typeof router.options.scrollRestoration === "function") { const shouldRestore = router.options.scrollRestoration({ location: router.latestLocation }); if (!shouldRestore) { return null; } } const getKey = router.options.getScrollRestorationKey || routerCore.defaultGetScrollRestorationKey; const userKey = getKey(router.latestLocation); const resolvedKey = userKey !== routerCore.defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0; const restoreScrollOptions = { storageKey: routerCore.storageKey, shouldScrollRestoration: true }; if (resolvedKey) { restoreScrollOptions.key = resolvedKey; } return /* @__PURE__ */ jsxRuntime.jsx( ScriptOnce.ScriptOnce, { children: `(${routerCore.restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})` } ); } exports.ScrollRestoration = ScrollRestoration; //# sourceMappingURL=scroll-restoration.cjs.map