UNPKG

@tanstack/router-core

Version:

Modern and scalable routing for React applications

1 lines 2.03 kB
{"version":3,"file":"server.cjs","names":[],"sources":["../../../src/scroll-restoration-script/server.ts"],"sourcesContent":["import minifiedScrollRestorationScript from '../scroll-restoration-inline?script-string'\nimport {\n defaultGetScrollRestorationKey,\n storageKey,\n} from '../scroll-restoration'\nimport { escapeHtml } from '../utils'\nimport type { AnyRouter } from '../router'\n\nconst defaultInlineScrollRestorationScript = `(${minifiedScrollRestorationScript})(${escapeHtml(\n JSON.stringify(storageKey),\n)})`\n\nfunction getScrollRestorationScript(key?: string) {\n if (key === undefined) {\n return defaultInlineScrollRestorationScript\n }\n\n return `(${minifiedScrollRestorationScript})(${escapeHtml(JSON.stringify(storageKey))},${escapeHtml(JSON.stringify(key))})`\n}\n\nexport function getScrollRestorationScriptForRouter(router: AnyRouter) {\n if (\n typeof router.options.scrollRestoration === 'function' &&\n !router.options.scrollRestoration({ location: router.latestLocation })\n ) {\n return null\n }\n\n const getKey = router.options.getScrollRestorationKey\n if (!getKey) {\n return defaultInlineScrollRestorationScript\n }\n\n const location = router.latestLocation\n const userKey = getKey(location)\n const defaultKey = defaultGetScrollRestorationKey(location)\n\n if (userKey === defaultKey) {\n return defaultInlineScrollRestorationScript\n }\n\n return getScrollRestorationScript(userKey)\n}\n"],"mappings":";;;;;AAQA,MAAM,uCAAuC,IAAI,kCAAA,QAAgC,IAAI,cAAA,WACnF,KAAK,UAAU,2BAAA,UAAU,CAC3B,EAAE;AAEF,SAAS,2BAA2B,KAAc;CAChD,IAAI,QAAQ,KAAA,GACV,OAAO;CAGT,OAAO,IAAI,kCAAA,QAAgC,IAAI,cAAA,WAAW,KAAK,UAAU,2BAAA,UAAU,CAAC,EAAE,GAAG,cAAA,WAAW,KAAK,UAAU,GAAG,CAAC,EAAE;AAC3H;AAEA,SAAgB,oCAAoC,QAAmB;CACrE,IACE,OAAO,OAAO,QAAQ,sBAAsB,cAC5C,CAAC,OAAO,QAAQ,kBAAkB,EAAE,UAAU,OAAO,eAAe,CAAC,GAErE,OAAO;CAGT,MAAM,SAAS,OAAO,QAAQ;CAC9B,IAAI,CAAC,QACH,OAAO;CAGT,MAAM,WAAW,OAAO;CACxB,MAAM,UAAU,OAAO,QAAQ;CAG/B,IAAI,YAFe,2BAAA,+BAA+B,QAElC,GACd,OAAO;CAGT,OAAO,2BAA2B,OAAO;AAC3C"}