@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
34 lines (33 loc) • 1.47 kB
JavaScript
require("./_virtual/_rolldown/runtime.cjs");
const require_useRouter = require("./useRouter.cjs");
let _tanstack_router_core = require("@tanstack/router-core");
//#region src/ScrollRestoration.tsx
function useScrollRestoration() {
(0, _tanstack_router_core.setupScrollRestoration)(require_useRouter.useRouter(), true);
}
/**
* @deprecated use createRouter's `scrollRestoration` option instead
*/
function ScrollRestoration(_props) {
useScrollRestoration();
if (process.env.NODE_ENV === "development") console.warn("The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.");
return null;
}
function useElementScrollRestoration(options) {
useScrollRestoration();
const router = require_useRouter.useRouter();
const getKey = options.getKey || _tanstack_router_core.defaultGetScrollRestorationKey;
let elementSelector = "";
if (options.id) elementSelector = `[data-scroll-restoration-id="${options.id}"]`;
else {
const element = options.getElement?.();
if (!element) return;
elementSelector = element instanceof Window ? "window" : (0, _tanstack_router_core.getCssSelector)(element);
}
const restoreKey = getKey(router.latestLocation);
return (_tanstack_router_core.scrollRestorationCache?.state[restoreKey])?.[elementSelector];
}
//#endregion
exports.ScrollRestoration = ScrollRestoration;
exports.useElementScrollRestoration = useElementScrollRestoration;
//# sourceMappingURL=ScrollRestoration.cjs.map