@tanstack/solid-router 1.132.0-alpha.3 → 1.132.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const Solid = require("solid-js/web");
4
- var _tmpl$ = /* @__PURE__ */ Solid.template(`<script class=tsr-once>`);
4
+ var _tmpl$ = /* @__PURE__ */ Solid.template(`<script class=$tsr>`);
5
5
  function ScriptOnce({
6
6
  children
7
7
  }) {
@@ -10,7 +10,7 @@ function ScriptOnce({
10
10
  }
11
11
  return (() => {
12
12
  var _el$ = _tmpl$();
13
- Solid.effect(() => _el$.innerHTML = [children].filter(Boolean).join("\n"));
13
+ Solid.effect(() => _el$.innerHTML = [children].filter(Boolean).join("\n") + ";$_TSR.c()");
14
14
  return _el$;
15
15
  })();
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptOnce.cjs","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["export function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n if (typeof document !== 'undefined') {\n return null\n }\n\n return (\n <script\n class=\"tsr-once\"\n innerHTML={[children].filter(Boolean).join('\\n')}\n />\n )\n}\n"],"names":["ScriptOnce","children","document","_el$","_tmpl$","_$effect","innerHTML","filter","Boolean","join"],"mappings":";;;;AAAO,SAASA,WAAW;AAAA,EACzBC;AAKF,GAAG;AACD,MAAI,OAAOC,aAAa,aAAa;AACnC,WAAO;AAAA,EACT;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,UAAAA,aAAAF,KAAAG,YAGe,CAACL,QAAQ,EAAEM,OAAOC,OAAO,EAAEC,KAAK,IAAI,CAAC;AAAA,WAAAN;AAAAA,EAAA,GAAA;AAGtD;;"}
1
+ {"version":3,"file":"ScriptOnce.cjs","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["export function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n if (typeof document !== 'undefined') {\n return null\n }\n\n return (\n <script\n class=\"$tsr\"\n innerHTML={[children].filter(Boolean).join('\\n') + ';$_TSR.c()'}\n />\n )\n}\n"],"names":["ScriptOnce","children","document","_el$","_tmpl$","_$effect","innerHTML","filter","Boolean","join"],"mappings":";;;;AAAO,SAASA,WAAW;AAAA,EACzBC;AAKF,GAAG;AACD,MAAI,OAAOC,aAAa,aAAa;AACnC,WAAO;AAAA,EACT;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,UAAAA,aAAAF,KAAAG,YAGe,CAACL,QAAQ,EAAEM,OAAOC,OAAO,EAAEC,KAAK,IAAI,IAAI,YAAY;AAAA,WAAAN;AAAAA,EAAA,GAAA;AAGrE;;"}
@@ -6,12 +6,20 @@ const useRouter = require("./useRouter.cjs");
6
6
  const ScriptOnce = require("./ScriptOnce.cjs");
7
7
  function ScrollRestoration() {
8
8
  const router = useRouter.useRouter();
9
- const getKey = router.options.getScrollRestorationKey || routerCore.defaultGetScrollRestorationKey;
10
- const userKey = getKey(router.latestLocation);
11
- const resolvedKey = userKey !== routerCore.defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
12
9
  if (!router.isScrollRestoring || !router.isServer) {
13
10
  return null;
14
11
  }
12
+ if (typeof router.options.scrollRestoration === "function") {
13
+ const shouldRestore = router.options.scrollRestoration({
14
+ location: router.latestLocation
15
+ });
16
+ if (!shouldRestore) {
17
+ return null;
18
+ }
19
+ }
20
+ const getKey = router.options.getScrollRestorationKey || routerCore.defaultGetScrollRestorationKey;
21
+ const userKey = getKey(router.latestLocation);
22
+ const resolvedKey = userKey !== routerCore.defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
15
23
  const restoreScrollOptions = {
16
24
  storageKey: routerCore.storageKey,
17
25
  shouldScrollRestoration: true
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-restoration.cjs","sources":["../../src/scroll-restoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n restoreScroll,\n storageKey,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { ScriptOnce } from './ScriptOnce'\n\nexport function ScrollRestoration() {\n const router = useRouter()\n const getKey =\n router.options.getScrollRestorationKey || defaultGetScrollRestorationKey\n const userKey = getKey(router.latestLocation)\n const resolvedKey =\n userKey !== defaultGetScrollRestorationKey(router.latestLocation)\n ? userKey\n : undefined\n\n if (!router.isScrollRestoring || !router.isServer) {\n return null\n }\n\n const restoreScrollOptions: Parameters<typeof restoreScroll>[0] = {\n storageKey,\n shouldScrollRestoration: true,\n }\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey\n }\n\n return (\n <ScriptOnce\n children={`(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`}\n />\n )\n}\n"],"names":["ScrollRestoration","router","useRouter","getKey","options","getScrollRestorationKey","defaultGetScrollRestorationKey","userKey","latestLocation","resolvedKey","undefined","isScrollRestoring","isServer","restoreScrollOptions","storageKey","shouldScrollRestoration","key","_$createComponent","ScriptOnce","children","restoreScroll","toString","JSON","stringify"],"mappings":";;;;;;AAQO,SAASA,oBAAoB;AAClC,QAAMC,SAASC,UAAAA,UAAAA;AACf,QAAMC,SACJF,OAAOG,QAAQC,2BAA2BC,WAAAA;AAC5C,QAAMC,UAAUJ,OAAOF,OAAOO,cAAc;AAC5C,QAAMC,cACJF,YAAYD,WAAAA,+BAA+BL,OAAOO,cAAc,IAC5DD,UACAG;AAEN,MAAI,CAACT,OAAOU,qBAAqB,CAACV,OAAOW,UAAU;AACjD,WAAO;AAAA,EACT;AAEA,QAAMC,uBAA4D;AAAA,IAAA,YAChEC,WAAAA;AAAAA,IACAC,yBAAyB;AAAA,EAAA;AAE3B,MAAIN,aAAa;AACfI,yBAAqBG,MAAMP;AAAAA,EAC7B;AAEA,SAAAQ,MAAAA,gBACGC,WAAAA,YAAU;AAAA,IAAA,IACTC,WAAQ;AAAA,aAAE,IAAIC,WAAAA,cAAcC,SAAAA,CAAU,KAAKC,KAAKC,UAAUV,oBAAoB,CAAC;AAAA,IAAG;AAAA,EAAA,CAAA;AAGxF;;"}
1
+ {"version":3,"file":"scroll-restoration.cjs","sources":["../../src/scroll-restoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n restoreScroll,\n storageKey,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { ScriptOnce } from './ScriptOnce'\n\nexport function ScrollRestoration() {\n const router = useRouter()\n if (!router.isScrollRestoring || !router.isServer) {\n return null\n }\n if (typeof router.options.scrollRestoration === 'function') {\n const shouldRestore = router.options.scrollRestoration({\n location: router.latestLocation,\n })\n if (!shouldRestore) {\n return null\n }\n }\n const getKey =\n router.options.getScrollRestorationKey || defaultGetScrollRestorationKey\n const userKey = getKey(router.latestLocation)\n const resolvedKey =\n userKey !== defaultGetScrollRestorationKey(router.latestLocation)\n ? userKey\n : undefined\n\n const restoreScrollOptions: Parameters<typeof restoreScroll>[0] = {\n storageKey,\n shouldScrollRestoration: true,\n }\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey\n }\n\n return (\n <ScriptOnce\n children={`(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`}\n />\n )\n}\n"],"names":["ScrollRestoration","router","useRouter","isScrollRestoring","isServer","options","scrollRestoration","shouldRestore","location","latestLocation","getKey","getScrollRestorationKey","defaultGetScrollRestorationKey","userKey","resolvedKey","undefined","restoreScrollOptions","storageKey","shouldScrollRestoration","key","_$createComponent","ScriptOnce","children","restoreScroll","toString","JSON","stringify"],"mappings":";;;;;;AAQO,SAASA,oBAAoB;AAClC,QAAMC,SAASC,UAAAA,UAAAA;AACf,MAAI,CAACD,OAAOE,qBAAqB,CAACF,OAAOG,UAAU;AACjD,WAAO;AAAA,EACT;AACA,MAAI,OAAOH,OAAOI,QAAQC,sBAAsB,YAAY;AAC1D,UAAMC,gBAAgBN,OAAOI,QAAQC,kBAAkB;AAAA,MACrDE,UAAUP,OAAOQ;AAAAA,IAAAA,CAClB;AACD,QAAI,CAACF,eAAe;AAClB,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAMG,SACJT,OAAOI,QAAQM,2BAA2BC,WAAAA;AAC5C,QAAMC,UAAUH,OAAOT,OAAOQ,cAAc;AAC5C,QAAMK,cACJD,YAAYD,WAAAA,+BAA+BX,OAAOQ,cAAc,IAC5DI,UACAE;AAEN,QAAMC,uBAA4D;AAAA,IAAA,YAChEC,WAAAA;AAAAA,IACAC,yBAAyB;AAAA,EAAA;AAE3B,MAAIJ,aAAa;AACfE,yBAAqBG,MAAML;AAAAA,EAC7B;AAEA,SAAAM,MAAAA,gBACGC,WAAAA,YAAU;AAAA,IAAA,IACTC,WAAQ;AAAA,aAAE,IAAIC,WAAAA,cAAcC,SAAAA,CAAU,KAAKC,KAAKC,UAAUV,oBAAoB,CAAC;AAAA,IAAG;AAAA,EAAA,CAAA;AAGxF;;"}
@@ -1,5 +1,5 @@
1
1
  import { template, effect } from "solid-js/web";
2
- var _tmpl$ = /* @__PURE__ */ template(`<script class=tsr-once>`);
2
+ var _tmpl$ = /* @__PURE__ */ template(`<script class=$tsr>`);
3
3
  function ScriptOnce({
4
4
  children
5
5
  }) {
@@ -8,7 +8,7 @@ function ScriptOnce({
8
8
  }
9
9
  return (() => {
10
10
  var _el$ = _tmpl$();
11
- effect(() => _el$.innerHTML = [children].filter(Boolean).join("\n"));
11
+ effect(() => _el$.innerHTML = [children].filter(Boolean).join("\n") + ";$_TSR.c()");
12
12
  return _el$;
13
13
  })();
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptOnce.js","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["export function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n if (typeof document !== 'undefined') {\n return null\n }\n\n return (\n <script\n class=\"tsr-once\"\n innerHTML={[children].filter(Boolean).join('\\n')}\n />\n )\n}\n"],"names":["ScriptOnce","children","document","_el$","_tmpl$","_$effect","innerHTML","filter","Boolean","join"],"mappings":";;AAAO,SAASA,WAAW;AAAA,EACzBC;AAKF,GAAG;AACD,MAAI,OAAOC,aAAa,aAAa;AACnC,WAAO;AAAA,EACT;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,iBAAAF,KAAAG,YAGe,CAACL,QAAQ,EAAEM,OAAOC,OAAO,EAAEC,KAAK,IAAI,CAAC;AAAA,WAAAN;AAAAA,EAAA,GAAA;AAGtD;"}
1
+ {"version":3,"file":"ScriptOnce.js","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["export function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n if (typeof document !== 'undefined') {\n return null\n }\n\n return (\n <script\n class=\"$tsr\"\n innerHTML={[children].filter(Boolean).join('\\n') + ';$_TSR.c()'}\n />\n )\n}\n"],"names":["ScriptOnce","children","document","_el$","_tmpl$","_$effect","innerHTML","filter","Boolean","join"],"mappings":";;AAAO,SAASA,WAAW;AAAA,EACzBC;AAKF,GAAG;AACD,MAAI,OAAOC,aAAa,aAAa;AACnC,WAAO;AAAA,EACT;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAA;AAAAC,iBAAAF,KAAAG,YAGe,CAACL,QAAQ,EAAEM,OAAOC,OAAO,EAAEC,KAAK,IAAI,IAAI,YAAY;AAAA,WAAAN;AAAAA,EAAA,GAAA;AAGrE;"}
@@ -4,12 +4,20 @@ import { useRouter } from "./useRouter.js";
4
4
  import { ScriptOnce } from "./ScriptOnce.js";
5
5
  function ScrollRestoration() {
6
6
  const router = useRouter();
7
- const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;
8
- const userKey = getKey(router.latestLocation);
9
- const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
10
7
  if (!router.isScrollRestoring || !router.isServer) {
11
8
  return null;
12
9
  }
10
+ if (typeof router.options.scrollRestoration === "function") {
11
+ const shouldRestore = router.options.scrollRestoration({
12
+ location: router.latestLocation
13
+ });
14
+ if (!shouldRestore) {
15
+ return null;
16
+ }
17
+ }
18
+ const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;
19
+ const userKey = getKey(router.latestLocation);
20
+ const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;
13
21
  const restoreScrollOptions = {
14
22
  storageKey,
15
23
  shouldScrollRestoration: true
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-restoration.js","sources":["../../src/scroll-restoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n restoreScroll,\n storageKey,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { ScriptOnce } from './ScriptOnce'\n\nexport function ScrollRestoration() {\n const router = useRouter()\n const getKey =\n router.options.getScrollRestorationKey || defaultGetScrollRestorationKey\n const userKey = getKey(router.latestLocation)\n const resolvedKey =\n userKey !== defaultGetScrollRestorationKey(router.latestLocation)\n ? userKey\n : undefined\n\n if (!router.isScrollRestoring || !router.isServer) {\n return null\n }\n\n const restoreScrollOptions: Parameters<typeof restoreScroll>[0] = {\n storageKey,\n shouldScrollRestoration: true,\n }\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey\n }\n\n return (\n <ScriptOnce\n children={`(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`}\n />\n )\n}\n"],"names":["ScrollRestoration","router","useRouter","getKey","options","getScrollRestorationKey","defaultGetScrollRestorationKey","userKey","latestLocation","resolvedKey","undefined","isScrollRestoring","isServer","restoreScrollOptions","storageKey","shouldScrollRestoration","key","_$createComponent","ScriptOnce","children","restoreScroll","toString","JSON","stringify"],"mappings":";;;;AAQO,SAASA,oBAAoB;AAClC,QAAMC,SAASC,UAAAA;AACf,QAAMC,SACJF,OAAOG,QAAQC,2BAA2BC;AAC5C,QAAMC,UAAUJ,OAAOF,OAAOO,cAAc;AAC5C,QAAMC,cACJF,YAAYD,+BAA+BL,OAAOO,cAAc,IAC5DD,UACAG;AAEN,MAAI,CAACT,OAAOU,qBAAqB,CAACV,OAAOW,UAAU;AACjD,WAAO;AAAA,EACT;AAEA,QAAMC,uBAA4D;AAAA,IAChEC;AAAAA,IACAC,yBAAyB;AAAA,EAAA;AAE3B,MAAIN,aAAa;AACfI,yBAAqBG,MAAMP;AAAAA,EAC7B;AAEA,SAAAQ,gBACGC,YAAU;AAAA,IAAA,IACTC,WAAQ;AAAA,aAAE,IAAIC,cAAcC,SAAAA,CAAU,KAAKC,KAAKC,UAAUV,oBAAoB,CAAC;AAAA,IAAG;AAAA,EAAA,CAAA;AAGxF;"}
1
+ {"version":3,"file":"scroll-restoration.js","sources":["../../src/scroll-restoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n restoreScroll,\n storageKey,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport { ScriptOnce } from './ScriptOnce'\n\nexport function ScrollRestoration() {\n const router = useRouter()\n if (!router.isScrollRestoring || !router.isServer) {\n return null\n }\n if (typeof router.options.scrollRestoration === 'function') {\n const shouldRestore = router.options.scrollRestoration({\n location: router.latestLocation,\n })\n if (!shouldRestore) {\n return null\n }\n }\n const getKey =\n router.options.getScrollRestorationKey || defaultGetScrollRestorationKey\n const userKey = getKey(router.latestLocation)\n const resolvedKey =\n userKey !== defaultGetScrollRestorationKey(router.latestLocation)\n ? userKey\n : undefined\n\n const restoreScrollOptions: Parameters<typeof restoreScroll>[0] = {\n storageKey,\n shouldScrollRestoration: true,\n }\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey\n }\n\n return (\n <ScriptOnce\n children={`(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`}\n />\n )\n}\n"],"names":["ScrollRestoration","router","useRouter","isScrollRestoring","isServer","options","scrollRestoration","shouldRestore","location","latestLocation","getKey","getScrollRestorationKey","defaultGetScrollRestorationKey","userKey","resolvedKey","undefined","restoreScrollOptions","storageKey","shouldScrollRestoration","key","_$createComponent","ScriptOnce","children","restoreScroll","toString","JSON","stringify"],"mappings":";;;;AAQO,SAASA,oBAAoB;AAClC,QAAMC,SAASC,UAAAA;AACf,MAAI,CAACD,OAAOE,qBAAqB,CAACF,OAAOG,UAAU;AACjD,WAAO;AAAA,EACT;AACA,MAAI,OAAOH,OAAOI,QAAQC,sBAAsB,YAAY;AAC1D,UAAMC,gBAAgBN,OAAOI,QAAQC,kBAAkB;AAAA,MACrDE,UAAUP,OAAOQ;AAAAA,IAAAA,CAClB;AACD,QAAI,CAACF,eAAe;AAClB,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAMG,SACJT,OAAOI,QAAQM,2BAA2BC;AAC5C,QAAMC,UAAUH,OAAOT,OAAOQ,cAAc;AAC5C,QAAMK,cACJD,YAAYD,+BAA+BX,OAAOQ,cAAc,IAC5DI,UACAE;AAEN,QAAMC,uBAA4D;AAAA,IAChEC;AAAAA,IACAC,yBAAyB;AAAA,EAAA;AAE3B,MAAIJ,aAAa;AACfE,yBAAqBG,MAAML;AAAAA,EAC7B;AAEA,SAAAM,gBACGC,YAAU;AAAA,IAAA,IACTC,WAAQ;AAAA,aAAE,IAAIC,cAAcC,SAAAA,CAAU,KAAKC,KAAKC,UAAUV,oBAAoB,CAAC;AAAA,IAAG;AAAA,EAAA,CAAA;AAGxF;"}
@@ -2,6 +2,6 @@ export function ScriptOnce({ children, }) {
2
2
  if (typeof document !== 'undefined') {
3
3
  return null;
4
4
  }
5
- return (<script class="tsr-once" innerHTML={[children].filter(Boolean).join('\n')}/>);
5
+ return (<script class="$tsr" innerHTML={[children].filter(Boolean).join('\n') + ';$_TSR.c()'}/>);
6
6
  }
7
7
  //# sourceMappingURL=ScriptOnce.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptOnce.jsx","sourceRoot":"","sources":["../../src/ScriptOnce.tsx"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,GAKT;IACC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,CAAC,MAAM,CACL,KAAK,CAAC,UAAU,CAChB,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACjD,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ScriptOnce.jsx","sourceRoot":"","sources":["../../src/ScriptOnce.tsx"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,GAKT;IACC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,CAAC,MAAM,CACL,KAAK,CAAC,MAAM,CACZ,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,EAChE,CACH,CAAA;AACH,CAAC"}
@@ -3,14 +3,22 @@ import { useRouter } from './useRouter';
3
3
  import { ScriptOnce } from './ScriptOnce';
4
4
  export function ScrollRestoration() {
5
5
  const router = useRouter();
6
+ if (!router.isScrollRestoring || !router.isServer) {
7
+ return null;
8
+ }
9
+ if (typeof router.options.scrollRestoration === 'function') {
10
+ const shouldRestore = router.options.scrollRestoration({
11
+ location: router.latestLocation,
12
+ });
13
+ if (!shouldRestore) {
14
+ return null;
15
+ }
16
+ }
6
17
  const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;
7
18
  const userKey = getKey(router.latestLocation);
8
19
  const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation)
9
20
  ? userKey
10
21
  : undefined;
11
- if (!router.isScrollRestoring || !router.isServer) {
12
- return null;
13
- }
14
22
  const restoreScrollOptions = {
15
23
  storageKey,
16
24
  shouldScrollRestoration: true,
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-restoration.jsx","sourceRoot":"","sources":["../../src/scroll-restoration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,UAAU,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,MAAM,GACV,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B,CAAA;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC7C,MAAM,WAAW,GACf,OAAO,KAAK,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC;QAC/D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,oBAAoB,GAAwC;QAChE,UAAU;QACV,uBAAuB,EAAE,IAAI;KAC9B,CAAA;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,oBAAoB,CAAC,GAAG,GAAG,WAAW,CAAA;IACxC,CAAC;IAED,OAAO,CACL,CAAC,UAAU,CACT,QAAQ,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,EACnF,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"scroll-restoration.jsx","sourceRoot":"","sources":["../../src/scroll-restoration.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,UAAU,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACrD,QAAQ,EAAE,MAAM,CAAC,cAAc;SAChC,CAAC,CAAA;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GACV,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B,CAAA;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC7C,MAAM,WAAW,GACf,OAAO,KAAK,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC;QAC/D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,oBAAoB,GAAwC;QAChE,UAAU;QACV,uBAAuB,EAAE,IAAI;KAC9B,CAAA;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,oBAAoB,CAAC,GAAG,GAAG,WAAW,CAAA;IACxC,CAAC;IAED,OAAO,CACL,CAAC,UAAU,CACT,QAAQ,CAAC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,EACnF,CACH,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-router",
3
- "version": "1.132.0-alpha.3",
3
+ "version": "1.132.0-alpha.4",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -89,7 +89,7 @@
89
89
  "tiny-invariant": "^1.3.3",
90
90
  "tiny-warning": "^1.0.3",
91
91
  "@tanstack/history": "1.132.0-alpha.1",
92
- "@tanstack/router-core": "1.132.0-alpha.3"
92
+ "@tanstack/router-core": "1.132.0-alpha.4"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@solidjs/testing-library": "^0.8.10",
@@ -11,8 +11,8 @@ export function ScriptOnce({
11
11
 
12
12
  return (
13
13
  <script
14
- class="tsr-once"
15
- innerHTML={[children].filter(Boolean).join('\n')}
14
+ class="$tsr"
15
+ innerHTML={[children].filter(Boolean).join('\n') + ';$_TSR.c()'}
16
16
  />
17
17
  )
18
18
  }
@@ -8,6 +8,17 @@ import { ScriptOnce } from './ScriptOnce'
8
8
 
9
9
  export function ScrollRestoration() {
10
10
  const router = useRouter()
11
+ if (!router.isScrollRestoring || !router.isServer) {
12
+ return null
13
+ }
14
+ if (typeof router.options.scrollRestoration === 'function') {
15
+ const shouldRestore = router.options.scrollRestoration({
16
+ location: router.latestLocation,
17
+ })
18
+ if (!shouldRestore) {
19
+ return null
20
+ }
21
+ }
11
22
  const getKey =
12
23
  router.options.getScrollRestorationKey || defaultGetScrollRestorationKey
13
24
  const userKey = getKey(router.latestLocation)
@@ -16,10 +27,6 @@ export function ScrollRestoration() {
16
27
  ? userKey
17
28
  : undefined
18
29
 
19
- if (!router.isScrollRestoring || !router.isServer) {
20
- return null
21
- }
22
-
23
30
  const restoreScrollOptions: Parameters<typeof restoreScroll>[0] = {
24
31
  storageKey,
25
32
  shouldScrollRestoration: true,