{"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\ntype InlineScrollRestorationScriptOptions = {\n  storageKey: string\n  key?: string\n  behavior?: ScrollToOptions['behavior']\n  shouldScrollRestoration?: boolean\n}\n\nconst defaultInlineScrollRestorationScript = `(${minifiedScrollRestorationScript})(${escapeHtml(\n  JSON.stringify({\n    storageKey,\n    shouldScrollRestoration: true,\n  } satisfies InlineScrollRestorationScriptOptions),\n)})`\n\nfunction getScrollRestorationScript(\n  options: InlineScrollRestorationScriptOptions,\n) {\n  if (\n    options.storageKey === storageKey &&\n    options.shouldScrollRestoration === true &&\n    options.key === undefined &&\n    options.behavior === undefined\n  ) {\n    return defaultInlineScrollRestorationScript\n  }\n\n  return `(${minifiedScrollRestorationScript})(${escapeHtml(JSON.stringify(options))})`\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({\n    storageKey,\n    shouldScrollRestoration: true,\n    key: userKey,\n  })\n}\n"],"mappings":";;;;;AAeA,IAAM,uCAAuC,IAAI,kCAAA,QAAgC,IAAI,cAAA,WACnF,KAAK,UAAU;CACb,YAAA,2BAAA;CACA,yBAAyB;CAC1B,CAAgD,CAClD,CAAC;AAEF,SAAS,2BACP,SACA;AACA,KACE,QAAQ,eAAA,iCACR,QAAQ,4BAA4B,QACpC,QAAQ,QAAQ,KAAA,KAChB,QAAQ,aAAa,KAAA,EAErB,QAAO;AAGT,QAAO,IAAI,kCAAA,QAAgC,IAAI,cAAA,WAAW,KAAK,UAAU,QAAQ,CAAC,CAAC;;AAGrF,SAAgB,oCAAoC,QAAmB;AACrE,KACE,OAAO,OAAO,QAAQ,sBAAsB,cAC5C,CAAC,OAAO,QAAQ,kBAAkB,EAAE,UAAU,OAAO,gBAAgB,CAAC,CAEtE,QAAO;CAGT,MAAM,SAAS,OAAO,QAAQ;AAC9B,KAAI,CAAC,OACH,QAAO;CAGT,MAAM,WAAW,OAAO;CACxB,MAAM,UAAU,OAAO,SAAS;AAGhC,KAAI,YAFe,2BAAA,+BAA+B,SAAS,CAGzD,QAAO;AAGT,QAAO,2BAA2B;EAChC,YAAA,2BAAA;EACA,yBAAyB;EACzB,KAAK;EACN,CAAC"}