@tanstack/solid-router 1.167.1 → 1.167.2
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.
- package/dist/cjs/Asset.cjs +84 -127
- package/dist/cjs/Asset.cjs.map +1 -1
- package/dist/cjs/CatchBoundary.cjs +50 -68
- package/dist/cjs/CatchBoundary.cjs.map +1 -1
- package/dist/cjs/ClientOnly.cjs +61 -39
- package/dist/cjs/ClientOnly.cjs.map +1 -1
- package/dist/cjs/HeadContent.cjs +25 -19
- package/dist/cjs/HeadContent.cjs.map +1 -1
- package/dist/cjs/HeadContent.dev.cjs +38 -33
- package/dist/cjs/HeadContent.dev.cjs.map +1 -1
- package/dist/cjs/Match.cjs +330 -398
- package/dist/cjs/Match.cjs.map +1 -1
- package/dist/cjs/Matches.cjs +109 -151
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/RouterProvider.cjs +28 -40
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/SafeFragment.cjs +7 -5
- package/dist/cjs/SafeFragment.cjs.map +1 -1
- package/dist/cjs/ScriptOnce.cjs +18 -20
- package/dist/cjs/ScriptOnce.cjs.map +1 -1
- package/dist/cjs/Scripts.cjs +41 -54
- package/dist/cjs/Scripts.cjs.map +1 -1
- package/dist/cjs/ScrollRestoration.cjs +26 -28
- package/dist/cjs/ScrollRestoration.cjs.map +1 -1
- package/dist/cjs/Transitioner.cjs +94 -129
- package/dist/cjs/Transitioner.cjs.map +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/cjs/awaited.cjs +24 -51
- package/dist/cjs/awaited.cjs.map +1 -1
- package/dist/cjs/fileRoute.cjs +96 -91
- package/dist/cjs/fileRoute.cjs.map +1 -1
- package/dist/cjs/headContentUtils.cjs +132 -170
- package/dist/cjs/headContentUtils.cjs.map +1 -1
- package/dist/cjs/index.cjs +245 -176
- package/dist/cjs/index.dev.cjs +245 -176
- package/dist/cjs/lazyRouteComponent.cjs +48 -54
- package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
- package/dist/cjs/link.cjs +304 -331
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/matchContext.cjs +9 -23
- package/dist/cjs/matchContext.cjs.map +1 -1
- package/dist/cjs/not-found.cjs +26 -34
- package/dist/cjs/not-found.cjs.map +1 -1
- package/dist/cjs/renderRouteNotFound.cjs +23 -16
- package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
- package/dist/cjs/route.cjs +200 -215
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/router.cjs +18 -16
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/routerContext.cjs +8 -22
- package/dist/cjs/routerContext.cjs.map +1 -1
- package/dist/cjs/scroll-restoration.cjs +25 -35
- package/dist/cjs/scroll-restoration.cjs.map +1 -1
- package/dist/cjs/ssr/RouterClient.cjs +31 -42
- package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
- package/dist/cjs/ssr/RouterServer.cjs +44 -51
- package/dist/cjs/ssr/RouterServer.cjs.map +1 -1
- package/dist/cjs/ssr/client.cjs +2 -4
- package/dist/cjs/ssr/defaultRenderHandler.cjs +12 -16
- package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -1
- package/dist/cjs/ssr/defaultStreamHandler.cjs +13 -18
- package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -1
- package/dist/cjs/ssr/renderRouterToStream.cjs +27 -55
- package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
- package/dist/cjs/ssr/renderRouterToString.cjs +33 -57
- package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
- package/dist/cjs/ssr/server.cjs +18 -18
- package/dist/cjs/useBlocker.cjs +138 -173
- package/dist/cjs/useBlocker.cjs.map +1 -1
- package/dist/cjs/useBlocker.d.cts +8 -5
- package/dist/cjs/useCanGoBack.cjs +6 -5
- package/dist/cjs/useCanGoBack.cjs.map +1 -1
- package/dist/cjs/useLoaderData.cjs +12 -11
- package/dist/cjs/useLoaderData.cjs.map +1 -1
- package/dist/cjs/useLoaderDeps.cjs +12 -14
- package/dist/cjs/useLoaderDeps.cjs.map +1 -1
- package/dist/cjs/useLocation.cjs +6 -7
- package/dist/cjs/useLocation.cjs.map +1 -1
- package/dist/cjs/useMatch.cjs +27 -49
- package/dist/cjs/useMatch.cjs.map +1 -1
- package/dist/cjs/useNavigate.cjs +20 -38
- package/dist/cjs/useNavigate.cjs.map +1 -1
- package/dist/cjs/useParams.cjs +14 -13
- package/dist/cjs/useParams.cjs.map +1 -1
- package/dist/cjs/useRouteContext.cjs +9 -8
- package/dist/cjs/useRouteContext.cjs.map +1 -1
- package/dist/cjs/useRouter.cjs +13 -26
- package/dist/cjs/useRouter.cjs.map +1 -1
- package/dist/cjs/useRouterState.cjs +29 -37
- package/dist/cjs/useRouterState.cjs.map +1 -1
- package/dist/cjs/useSearch.cjs +13 -12
- package/dist/cjs/useSearch.cjs.map +1 -1
- package/dist/cjs/utils.cjs +58 -51
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/esm/Asset.js +82 -126
- package/dist/esm/Asset.js.map +1 -1
- package/dist/esm/CatchBoundary.js +46 -50
- package/dist/esm/CatchBoundary.js.map +1 -1
- package/dist/esm/ClientOnly.js +58 -22
- package/dist/esm/ClientOnly.js.map +1 -1
- package/dist/esm/HeadContent.dev.js +36 -32
- package/dist/esm/HeadContent.dev.js.map +1 -1
- package/dist/esm/HeadContent.js +23 -18
- package/dist/esm/HeadContent.js.map +1 -1
- package/dist/esm/Match.js +322 -378
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Matches.js +102 -135
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/RouterProvider.js +25 -39
- package/dist/esm/RouterProvider.js.map +1 -1
- package/dist/esm/SafeFragment.js +6 -5
- package/dist/esm/SafeFragment.js.map +1 -1
- package/dist/esm/ScriptOnce.js +16 -19
- package/dist/esm/ScriptOnce.js.map +1 -1
- package/dist/esm/Scripts.js +40 -54
- package/dist/esm/Scripts.js.map +1 -1
- package/dist/esm/ScrollRestoration.js +25 -29
- package/dist/esm/ScrollRestoration.js.map +1 -1
- package/dist/esm/Transitioner.js +90 -110
- package/dist/esm/Transitioner.js.map +1 -1
- package/dist/esm/awaited.js +21 -34
- package/dist/esm/awaited.js.map +1 -1
- package/dist/esm/fileRoute.js +90 -92
- package/dist/esm/fileRoute.js.map +1 -1
- package/dist/esm/headContentUtils.js +129 -152
- package/dist/esm/headContentUtils.js.map +1 -1
- package/dist/esm/index.dev.js +15 -115
- package/dist/esm/index.js +17 -116
- package/dist/esm/lazyRouteComponent.js +47 -54
- package/dist/esm/lazyRouteComponent.js.map +1 -1
- package/dist/esm/link.js +299 -314
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/matchContext.js +7 -7
- package/dist/esm/matchContext.js.map +1 -1
- package/dist/esm/not-found.js +23 -33
- package/dist/esm/not-found.js.map +1 -1
- package/dist/esm/renderRouteNotFound.js +20 -15
- package/dist/esm/renderRouteNotFound.js.map +1 -1
- package/dist/esm/route.js +193 -218
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.js +17 -17
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/routerContext.js +6 -5
- package/dist/esm/routerContext.js.map +1 -1
- package/dist/esm/scroll-restoration.js +23 -34
- package/dist/esm/scroll-restoration.js.map +1 -1
- package/dist/esm/ssr/RouterClient.js +29 -41
- package/dist/esm/ssr/RouterClient.js.map +1 -1
- package/dist/esm/ssr/RouterServer.js +40 -48
- package/dist/esm/ssr/RouterServer.js.map +1 -1
- package/dist/esm/ssr/client.js +1 -4
- package/dist/esm/ssr/defaultRenderHandler.js +11 -15
- package/dist/esm/ssr/defaultRenderHandler.js.map +1 -1
- package/dist/esm/ssr/defaultStreamHandler.js +12 -17
- package/dist/esm/ssr/defaultStreamHandler.js.map +1 -1
- package/dist/esm/ssr/renderRouterToStream.js +24 -37
- package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
- package/dist/esm/ssr/renderRouterToString.js +31 -40
- package/dist/esm/ssr/renderRouterToString.js.map +1 -1
- package/dist/esm/ssr/server.js +3 -10
- package/dist/esm/useBlocker.d.ts +8 -5
- package/dist/esm/useBlocker.js +134 -155
- package/dist/esm/useBlocker.js.map +1 -1
- package/dist/esm/useCanGoBack.js +6 -5
- package/dist/esm/useCanGoBack.js.map +1 -1
- package/dist/esm/useLoaderData.js +12 -11
- package/dist/esm/useLoaderData.js.map +1 -1
- package/dist/esm/useLoaderDeps.js +12 -14
- package/dist/esm/useLoaderDeps.js.map +1 -1
- package/dist/esm/useLocation.js +6 -7
- package/dist/esm/useLocation.js.map +1 -1
- package/dist/esm/useMatch.js +23 -31
- package/dist/esm/useMatch.js.map +1 -1
- package/dist/esm/useNavigate.js +18 -22
- package/dist/esm/useNavigate.js.map +1 -1
- package/dist/esm/useParams.js +14 -13
- package/dist/esm/useParams.js.map +1 -1
- package/dist/esm/useRouteContext.js +9 -8
- package/dist/esm/useRouteContext.js.map +1 -1
- package/dist/esm/useRouter.js +9 -8
- package/dist/esm/useRouter.js.map +1 -1
- package/dist/esm/useRouterState.js +28 -37
- package/dist/esm/useRouterState.js.map +1 -1
- package/dist/esm/useSearch.js +13 -12
- package/dist/esm/useSearch.js.map +1 -1
- package/dist/esm/utils.js +56 -35
- package/dist/esm/utils.js.map +1 -1
- package/dist/source/useBlocker.d.ts +8 -5
- package/dist/source/useBlocker.jsx +2 -2
- package/dist/source/useBlocker.jsx.map +1 -1
- package/package.json +3 -3
- package/src/useBlocker.tsx +15 -10
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.dev.cjs.map +0 -1
- package/dist/cjs/ssr/client.cjs.map +0 -1
- package/dist/cjs/ssr/server.cjs.map +0 -1
- package/dist/esm/index.dev.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/ssr/client.js.map +0 -1
- package/dist/esm/ssr/server.js.map +0 -1
package/dist/cjs/ScriptOnce.cjs
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _tmpl$ = /* @__PURE__ */
|
|
7
|
-
function ScriptOnce({
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
_el$.innerHTML = children + ";document.currentScript.remove()";
|
|
17
|
-
Solid.effect(() => Solid.setAttribute(_el$, "nonce", router.options.ssr?.nonce));
|
|
18
|
-
return _el$;
|
|
19
|
-
})();
|
|
1
|
+
require("./_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_useRouter = require("./useRouter.cjs");
|
|
3
|
+
let solid_js_web = require("solid-js/web");
|
|
4
|
+
let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer");
|
|
5
|
+
//#region src/ScriptOnce.tsx
|
|
6
|
+
var _tmpl$ = /* @__PURE__ */ (0, solid_js_web.template)(`<script class=$tsr>`);
|
|
7
|
+
function ScriptOnce({ children }) {
|
|
8
|
+
const router = require_useRouter.useRouter();
|
|
9
|
+
if (!(_tanstack_router_core_isServer.isServer ?? router.isServer)) return null;
|
|
10
|
+
return (() => {
|
|
11
|
+
var _el$ = _tmpl$();
|
|
12
|
+
_el$.innerHTML = children + ";document.currentScript.remove()";
|
|
13
|
+
(0, solid_js_web.effect)(() => (0, solid_js_web.setAttribute)(_el$, "nonce", router.options.ssr?.nonce));
|
|
14
|
+
return _el$;
|
|
15
|
+
})();
|
|
20
16
|
}
|
|
17
|
+
//#endregion
|
|
21
18
|
exports.ScriptOnce = ScriptOnce;
|
|
22
|
-
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=ScriptOnce.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptOnce.cjs","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["import { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\n\nexport function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n const router = useRouter()\n if (!(isServer ?? router.isServer)) {\n return null\n }\n return (\n <script\n nonce={router.options.ssr?.nonce}\n class=\"$tsr\"\n innerHTML={children + ';document.currentScript.remove()'}\n />\n )\n}\n"],"
|
|
1
|
+
{"version":3,"file":"ScriptOnce.cjs","names":["isServer","useRouter","ScriptOnce","children","log","sync","router","_el$","_tmpl$","innerHTML","_$effect","_$setAttribute","options","ssr","nonce"],"sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["import { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\n\nexport function ScriptOnce({\n children,\n}: {\n children: string\n log?: boolean\n sync?: boolean\n}) {\n const router = useRouter()\n if (!(isServer ?? router.isServer)) {\n return null\n }\n return (\n <script\n nonce={router.options.ssr?.nonce}\n class=\"$tsr\"\n innerHTML={children + ';document.currentScript.remove()'}\n />\n )\n}\n"],"mappings":";;;;;;AAGA,SAAgBE,WAAW,EACzBC,YAKC;CACD,MAAMG,SAASL,kBAAAA,WAAW;AAC1B,KAAI,EAAED,+BAAAA,YAAYM,OAAON,UACvB,QAAO;AAET,eAAA;EAAA,IAAAO,OAAAC,QAAA;AAAAD,OAAAE,YAIeN,WAAW;AAAkCO,GAAAA,GAAAA,aAAAA,eAAAA,GAAAA,aAAAA,cAAAH,MAAA,SAFjDD,OAAOM,QAAQC,KAAKC,MAAK,CAAA;AAAA,SAAAP;KAAA"}
|
package/dist/cjs/Scripts.cjs
CHANGED
|
@@ -1,56 +1,43 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
nonce
|
|
40
|
-
},
|
|
41
|
-
children
|
|
42
|
-
}))
|
|
43
|
-
})
|
|
44
|
-
});
|
|
45
|
-
let serverBufferedScript = void 0;
|
|
46
|
-
if (router.serverSsr) {
|
|
47
|
-
serverBufferedScript = router.serverSsr.takeBufferedScripts();
|
|
48
|
-
}
|
|
49
|
-
const allScripts = [...scripts().scripts, ...assetScripts()];
|
|
50
|
-
if (serverBufferedScript) {
|
|
51
|
-
allScripts.unshift(serverBufferedScript);
|
|
52
|
-
}
|
|
53
|
-
return Solid.memo(() => allScripts.map((asset, i) => Solid.createComponent(Asset.Asset, asset)));
|
|
1
|
+
require("./_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_useRouter = require("./useRouter.cjs");
|
|
3
|
+
const require_useRouterState = require("./useRouterState.cjs");
|
|
4
|
+
const require_Asset = require("./Asset.cjs");
|
|
5
|
+
let solid_js_web = require("solid-js/web");
|
|
6
|
+
//#region src/Scripts.tsx
|
|
7
|
+
var Scripts = () => {
|
|
8
|
+
const router = require_useRouter.useRouter();
|
|
9
|
+
const nonce = router.options.ssr?.nonce;
|
|
10
|
+
const assetScripts = require_useRouterState.useRouterState({ select: (state) => {
|
|
11
|
+
const assetScripts = [];
|
|
12
|
+
const manifest = router.ssr?.manifest;
|
|
13
|
+
if (!manifest) return [];
|
|
14
|
+
state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach((route) => manifest.routes[route.id]?.assets?.filter((d) => d.tag === "script").forEach((asset) => {
|
|
15
|
+
assetScripts.push({
|
|
16
|
+
tag: "script",
|
|
17
|
+
attrs: {
|
|
18
|
+
...asset.attrs,
|
|
19
|
+
nonce
|
|
20
|
+
},
|
|
21
|
+
children: asset.children
|
|
22
|
+
});
|
|
23
|
+
}));
|
|
24
|
+
return assetScripts;
|
|
25
|
+
} });
|
|
26
|
+
const scripts = require_useRouterState.useRouterState({ select: (state) => ({ scripts: state.matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({
|
|
27
|
+
tag: "script",
|
|
28
|
+
attrs: {
|
|
29
|
+
...script,
|
|
30
|
+
nonce
|
|
31
|
+
},
|
|
32
|
+
children
|
|
33
|
+
})) }) });
|
|
34
|
+
let serverBufferedScript = void 0;
|
|
35
|
+
if (router.serverSsr) serverBufferedScript = router.serverSsr.takeBufferedScripts();
|
|
36
|
+
const allScripts = [...scripts().scripts, ...assetScripts()];
|
|
37
|
+
if (serverBufferedScript) allScripts.unshift(serverBufferedScript);
|
|
38
|
+
return (0, solid_js_web.memo)(() => allScripts.map((asset, i) => (0, solid_js_web.createComponent)(require_Asset.Asset, asset)));
|
|
54
39
|
};
|
|
40
|
+
//#endregion
|
|
55
41
|
exports.Scripts = Scripts;
|
|
56
|
-
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=Scripts.cjs.map
|
package/dist/cjs/Scripts.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scripts.cjs","sources":["../../src/Scripts.tsx"],"sourcesContent":["import { Asset } from './Asset'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const Scripts = () => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n const assetScripts = useRouterState({\n select: (state) => {\n const assetScripts: Array<RouterManagedTag> = []\n const manifest = router.ssr?.manifest\n\n if (!manifest) {\n return []\n }\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n manifest.routes[route.id]?.assets\n ?.filter((d) => d.tag === 'script')\n .forEach((asset) => {\n assetScripts.push({\n tag: 'script',\n attrs: { ...asset.attrs, nonce },\n children: asset.children,\n } as any)\n }),\n )\n\n return assetScripts\n },\n })\n\n const scripts = useRouterState({\n select: (state) => ({\n scripts: (\n state.matches\n .map((match) => match.scripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n nonce,\n },\n children,\n })),\n }),\n })\n\n let serverBufferedScript: RouterManagedTag | undefined = undefined\n\n if (router.serverSsr) {\n serverBufferedScript = router.serverSsr.takeBufferedScripts()\n }\n\n const allScripts = [\n ...scripts().scripts,\n ...assetScripts(),\n ] as Array<RouterManagedTag>\n\n if (serverBufferedScript) {\n allScripts.unshift(serverBufferedScript)\n }\n\n return (\n <>\n {allScripts.map((asset, i) => (\n <Asset {...asset} />\n ))}\n </>\n )\n}\n"],"
|
|
1
|
+
{"version":3,"file":"Scripts.cjs","names":["Asset","useRouterState","useRouter","RouterManagedTag","Scripts","router","nonce","options","ssr","assetScripts","select","state","Array","manifest","matches","map","match","looseRoutesById","routeId","forEach","route","routes","id","assets","filter","d","tag","asset","push","attrs","children","scripts","flat","Boolean","script","serverBufferedScript","undefined","serverSsr","takeBufferedScripts","allScripts","unshift","_$memo","i","_$createComponent"],"sources":["../../src/Scripts.tsx"],"sourcesContent":["import { Asset } from './Asset'\nimport { useRouterState } from './useRouterState'\nimport { useRouter } from './useRouter'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const Scripts = () => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n const assetScripts = useRouterState({\n select: (state) => {\n const assetScripts: Array<RouterManagedTag> = []\n const manifest = router.ssr?.manifest\n\n if (!manifest) {\n return []\n }\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n manifest.routes[route.id]?.assets\n ?.filter((d) => d.tag === 'script')\n .forEach((asset) => {\n assetScripts.push({\n tag: 'script',\n attrs: { ...asset.attrs, nonce },\n children: asset.children,\n } as any)\n }),\n )\n\n return assetScripts\n },\n })\n\n const scripts = useRouterState({\n select: (state) => ({\n scripts: (\n state.matches\n .map((match) => match.scripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n nonce,\n },\n children,\n })),\n }),\n })\n\n let serverBufferedScript: RouterManagedTag | undefined = undefined\n\n if (router.serverSsr) {\n serverBufferedScript = router.serverSsr.takeBufferedScripts()\n }\n\n const allScripts = [\n ...scripts().scripts,\n ...assetScripts(),\n ] as Array<RouterManagedTag>\n\n if (serverBufferedScript) {\n allScripts.unshift(serverBufferedScript)\n }\n\n return (\n <>\n {allScripts.map((asset, i) => (\n <Asset {...asset} />\n ))}\n </>\n )\n}\n"],"mappings":";;;;;;AAKA,IAAaI,gBAAgB;CAC3B,MAAMC,SAASH,kBAAAA,WAAW;CAC1B,MAAMI,QAAQD,OAAOE,QAAQC,KAAKF;CAClC,MAAMG,eAAeR,uBAAAA,eAAe,EAClCS,SAASC,UAAU;EACjB,MAAMF,eAAwC,EAAE;EAChD,MAAMI,WAAWR,OAAOG,KAAKK;AAE7B,MAAI,CAACA,SACH,QAAO,EAAE;AAGXF,QAAMG,QACHC,KAAKC,UAAUX,OAAOY,gBAAgBD,MAAME,SAAU,CACtDC,SAASC,UACRP,SAASQ,OAAOD,MAAME,KAAKC,QACvBC,QAAQC,MAAMA,EAAEC,QAAQ,SAAS,CAClCP,SAASQ,UAAU;AAClBlB,gBAAamB,KAAK;IAChBF,KAAK;IACLG,OAAO;KAAE,GAAGF,MAAME;KAAOvB;KAAO;IAChCwB,UAAUH,MAAMG;IACjB,CAAQ;IAEf,CAAC;AAEH,SAAOrB;IAEV,CAAC;CAEF,MAAMsB,UAAU9B,uBAAAA,eAAe,EAC7BS,SAASC,WAAW,EAClBoB,SACEpB,MAAMG,QACHC,KAAKC,UAAUA,MAAMe,QAAS,CAC9BC,KAAK,EAAE,CACPR,OAAOS,QAAQ,CAClBlB,KAAK,EAAEe,UAAU,GAAGI,cAAc;EAClCR,KAAK;EACLG,OAAO;GACL,GAAGK;GACH5B;GACD;EACDwB;EACD,EAAC,EACH,GACF,CAAC;CAEF,IAAIK,uBAAqDC,KAAAA;AAEzD,KAAI/B,OAAOgC,UACTF,wBAAuB9B,OAAOgC,UAAUC,qBAAqB;CAG/D,MAAMC,aAAa,CACjB,GAAGR,SAAS,CAACA,SACb,GAAGtB,cAAc,CAClB;AAED,KAAI0B,qBACFI,YAAWC,QAAQL,qBAAqB;AAG1C,SAAA,GAAA,aAAA,YAEKI,WAAWxB,KAAKY,OAAOe,OAAAA,GAAAA,aAAAA,iBACrB1C,cAAAA,OAAU2B,MACZ,CAAC,CAAA"}
|
|
@@ -1,36 +1,34 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
require("./_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_useRouter = require("./useRouter.cjs");
|
|
3
|
+
let _tanstack_router_core = require("@tanstack/router-core");
|
|
4
|
+
//#region src/ScrollRestoration.tsx
|
|
5
5
|
function useScrollRestoration() {
|
|
6
|
-
|
|
7
|
-
routerCore.setupScrollRestoration(router, true);
|
|
6
|
+
(0, _tanstack_router_core.setupScrollRestoration)(require_useRouter.useRouter(), true);
|
|
8
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated use createRouter's `scrollRestoration` option instead
|
|
10
|
+
*/
|
|
9
11
|
function ScrollRestoration(_props) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
return null;
|
|
12
|
+
useScrollRestoration();
|
|
13
|
+
if (process.env.NODE_ENV === "development") console.warn("The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.");
|
|
14
|
+
return null;
|
|
15
15
|
}
|
|
16
16
|
function useElementScrollRestoration(options) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
const restoreKey = getKey(router.latestLocation);
|
|
31
|
-
const byKey = routerCore.scrollRestorationCache?.state[restoreKey];
|
|
32
|
-
return byKey?.[elementSelector];
|
|
17
|
+
useScrollRestoration();
|
|
18
|
+
const router = require_useRouter.useRouter();
|
|
19
|
+
const getKey = options.getKey || _tanstack_router_core.defaultGetScrollRestorationKey;
|
|
20
|
+
let elementSelector = "";
|
|
21
|
+
if (options.id) elementSelector = `[data-scroll-restoration-id="${options.id}"]`;
|
|
22
|
+
else {
|
|
23
|
+
const element = options.getElement?.();
|
|
24
|
+
if (!element) return;
|
|
25
|
+
elementSelector = element instanceof Window ? "window" : (0, _tanstack_router_core.getCssSelector)(element);
|
|
26
|
+
}
|
|
27
|
+
const restoreKey = getKey(router.latestLocation);
|
|
28
|
+
return (_tanstack_router_core.scrollRestorationCache?.state[restoreKey])?.[elementSelector];
|
|
33
29
|
}
|
|
30
|
+
//#endregion
|
|
34
31
|
exports.ScrollRestoration = ScrollRestoration;
|
|
35
32
|
exports.useElementScrollRestoration = useElementScrollRestoration;
|
|
36
|
-
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=ScrollRestoration.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollRestoration.cjs","sources":["../../src/ScrollRestoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n getCssSelector,\n scrollRestorationCache,\n setupScrollRestoration,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n ParsedLocation,\n ScrollRestorationEntry,\n ScrollRestorationOptions,\n} from '@tanstack/router-core'\n\nfunction useScrollRestoration() {\n const router = useRouter()\n setupScrollRestoration(router, true)\n}\n\n/**\n * @deprecated use createRouter's `scrollRestoration` option instead\n */\nexport function ScrollRestoration(_props: ScrollRestorationOptions) {\n useScrollRestoration()\n\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\",\n )\n }\n\n return null\n}\n\nexport function useElementScrollRestoration(\n options: (\n | {\n id: string\n getElement?: () => Window | Element | undefined | null\n }\n | {\n id?: string\n getElement: () => Window | Element | undefined | null\n }\n ) & {\n getKey?: (location: ParsedLocation) => string\n },\n): ScrollRestorationEntry | undefined {\n useScrollRestoration()\n\n const router = useRouter()\n const getKey = options.getKey || defaultGetScrollRestorationKey\n\n let elementSelector = ''\n\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`\n } else {\n const element = options.getElement?.()\n if (!element) {\n return\n }\n elementSelector =\n element instanceof Window ? 'window' : getCssSelector(element)\n }\n\n const restoreKey = getKey(router.latestLocation)\n const byKey = scrollRestorationCache?.state[restoreKey]\n return byKey?.[elementSelector]\n}\n"],"
|
|
1
|
+
{"version":3,"file":"ScrollRestoration.cjs","names":["defaultGetScrollRestorationKey","getCssSelector","scrollRestorationCache","setupScrollRestoration","useRouter","ParsedLocation","ScrollRestorationEntry","ScrollRestorationOptions","useScrollRestoration","router","ScrollRestoration","_props","process","env","NODE_ENV","console","warn","useElementScrollRestoration","options","id","getElement","Window","Element","getKey","location","elementSelector","element","restoreKey","latestLocation","byKey","state"],"sources":["../../src/ScrollRestoration.tsx"],"sourcesContent":["import {\n defaultGetScrollRestorationKey,\n getCssSelector,\n scrollRestorationCache,\n setupScrollRestoration,\n} from '@tanstack/router-core'\nimport { useRouter } from './useRouter'\nimport type {\n ParsedLocation,\n ScrollRestorationEntry,\n ScrollRestorationOptions,\n} from '@tanstack/router-core'\n\nfunction useScrollRestoration() {\n const router = useRouter()\n setupScrollRestoration(router, true)\n}\n\n/**\n * @deprecated use createRouter's `scrollRestoration` option instead\n */\nexport function ScrollRestoration(_props: ScrollRestorationOptions) {\n useScrollRestoration()\n\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\",\n )\n }\n\n return null\n}\n\nexport function useElementScrollRestoration(\n options: (\n | {\n id: string\n getElement?: () => Window | Element | undefined | null\n }\n | {\n id?: string\n getElement: () => Window | Element | undefined | null\n }\n ) & {\n getKey?: (location: ParsedLocation) => string\n },\n): ScrollRestorationEntry | undefined {\n useScrollRestoration()\n\n const router = useRouter()\n const getKey = options.getKey || defaultGetScrollRestorationKey\n\n let elementSelector = ''\n\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`\n } else {\n const element = options.getElement?.()\n if (!element) {\n return\n }\n elementSelector =\n element instanceof Window ? 'window' : getCssSelector(element)\n }\n\n const restoreKey = getKey(router.latestLocation)\n const byKey = scrollRestorationCache?.state[restoreKey]\n return byKey?.[elementSelector]\n}\n"],"mappings":";;;;AAaA,SAASQ,uBAAuB;AAE9BL,EAAAA,GAAAA,sBAAAA,wBADeC,kBAAAA,WAAW,EACK,KAAK;;;;;AAMtC,SAAgBM,kBAAkBC,QAAkC;AAClEH,uBAAsB;AAEtB,KAAA,QAAA,IAAA,aAA6B,cAC3BO,SAAQC,KACN,wGACD;AAGH,QAAO;;AAGT,SAAgBC,4BACdC,SAYoC;AACpCV,uBAAsB;CAEtB,MAAMC,SAASL,kBAAAA,WAAW;CAC1B,MAAMmB,SAASL,QAAQK,UAAUvB,sBAAAA;CAEjC,IAAIyB,kBAAkB;AAEtB,KAAIP,QAAQC,GACVM,mBAAkB,gCAAgCP,QAAQC,GAAE;MACvD;EACL,MAAMO,UAAUR,QAAQE,cAAc;AACtC,MAAI,CAACM,QACH;AAEFD,oBACEC,mBAAmBL,SAAS,YAAA,GAAA,sBAAA,gBAA0BK,QAAQ;;CAGlE,MAAMC,aAAaJ,OAAOd,OAAOmB,eAAe;AAEhD,SADc1B,sBAAAA,wBAAwB4B,MAAMH,eAC7BF"}
|
|
@@ -1,132 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
11
|
-
if (e) {
|
|
12
|
-
for (const k in e) {
|
|
13
|
-
if (k !== "default") {
|
|
14
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: () => e[k]
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
|
|
1
|
+
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_useRouter = require("./useRouter.cjs");
|
|
3
|
+
const require_useRouterState = require("./useRouterState.cjs");
|
|
4
|
+
const require_utils = require("./utils.cjs");
|
|
5
|
+
let _tanstack_router_core = require("@tanstack/router-core");
|
|
6
|
+
let solid_js = require("solid-js");
|
|
7
|
+
solid_js = require_runtime.__toESM(solid_js);
|
|
8
|
+
let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer");
|
|
9
|
+
//#region src/Transitioner.tsx
|
|
26
10
|
function Transitioner() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}));
|
|
112
|
-
Solid__namespace.createRenderEffect(Solid__namespace.on([isAnyPending, previousIsAnyPending], ([isAnyPending2, previousIsAnyPending2]) => {
|
|
113
|
-
if (previousIsAnyPending2.previous && !isAnyPending2) {
|
|
114
|
-
const changeInfo = routerCore.getLocationChangeInfo(router.state);
|
|
115
|
-
router.emit({
|
|
116
|
-
type: "onResolved",
|
|
117
|
-
...changeInfo
|
|
118
|
-
});
|
|
119
|
-
router.__store.setState((s) => ({
|
|
120
|
-
...s,
|
|
121
|
-
status: "idle",
|
|
122
|
-
resolvedLocation: s.location
|
|
123
|
-
}));
|
|
124
|
-
if (changeInfo.hrefChanged) {
|
|
125
|
-
routerCore.handleHashScroll(router);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}));
|
|
129
|
-
return null;
|
|
11
|
+
const router = require_useRouter.useRouter();
|
|
12
|
+
let mountLoadForRouter = {
|
|
13
|
+
router,
|
|
14
|
+
mounted: false
|
|
15
|
+
};
|
|
16
|
+
const isLoading = require_useRouterState.useRouterState({ select: ({ isLoading }) => isLoading });
|
|
17
|
+
if (_tanstack_router_core_isServer.isServer ?? router.isServer) return null;
|
|
18
|
+
const [isSolidTransitioning, startSolidTransition] = solid_js.useTransition();
|
|
19
|
+
const hasPendingMatches = require_useRouterState.useRouterState({ select: (s) => s.matches.some((d) => d.status === "pending") });
|
|
20
|
+
const previousIsLoading = require_utils.usePrevious(isLoading);
|
|
21
|
+
const isAnyPending = () => isLoading() || isSolidTransitioning() || hasPendingMatches();
|
|
22
|
+
const previousIsAnyPending = require_utils.usePrevious(isAnyPending);
|
|
23
|
+
const isPagePending = () => isLoading() || hasPendingMatches();
|
|
24
|
+
const previousIsPagePending = require_utils.usePrevious(isPagePending);
|
|
25
|
+
router.startTransition = (fn) => {
|
|
26
|
+
solid_js.startTransition(() => {
|
|
27
|
+
startSolidTransition(fn);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
solid_js.onMount(() => {
|
|
31
|
+
const unsub = router.history.subscribe(router.load);
|
|
32
|
+
const nextLocation = router.buildLocation({
|
|
33
|
+
to: router.latestLocation.pathname,
|
|
34
|
+
search: true,
|
|
35
|
+
params: true,
|
|
36
|
+
hash: true,
|
|
37
|
+
state: true,
|
|
38
|
+
_includeValidateSearch: true
|
|
39
|
+
});
|
|
40
|
+
if ((0, _tanstack_router_core.trimPathRight)(router.latestLocation.publicHref) !== (0, _tanstack_router_core.trimPathRight)(nextLocation.publicHref)) router.commitLocation({
|
|
41
|
+
...nextLocation,
|
|
42
|
+
replace: true
|
|
43
|
+
});
|
|
44
|
+
solid_js.onCleanup(() => {
|
|
45
|
+
unsub();
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
solid_js.createRenderEffect(() => {
|
|
49
|
+
solid_js.untrack(() => {
|
|
50
|
+
if (typeof window !== "undefined" && router.ssr || mountLoadForRouter.router === router && mountLoadForRouter.mounted) return;
|
|
51
|
+
mountLoadForRouter = {
|
|
52
|
+
router,
|
|
53
|
+
mounted: true
|
|
54
|
+
};
|
|
55
|
+
const tryLoad = async () => {
|
|
56
|
+
try {
|
|
57
|
+
await router.load();
|
|
58
|
+
} catch (err) {
|
|
59
|
+
console.error(err);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
tryLoad();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
solid_js.createRenderEffect(solid_js.on([previousIsLoading, isLoading], ([previousIsLoading, isLoading]) => {
|
|
66
|
+
if (previousIsLoading.previous && !isLoading) router.emit({
|
|
67
|
+
type: "onLoad",
|
|
68
|
+
...(0, _tanstack_router_core.getLocationChangeInfo)(router.state)
|
|
69
|
+
});
|
|
70
|
+
}));
|
|
71
|
+
solid_js.createComputed(solid_js.on([isPagePending, previousIsPagePending], ([isPagePending, previousIsPagePending]) => {
|
|
72
|
+
if (previousIsPagePending.previous && !isPagePending) router.emit({
|
|
73
|
+
type: "onBeforeRouteMount",
|
|
74
|
+
...(0, _tanstack_router_core.getLocationChangeInfo)(router.state)
|
|
75
|
+
});
|
|
76
|
+
}));
|
|
77
|
+
solid_js.createRenderEffect(solid_js.on([isAnyPending, previousIsAnyPending], ([isAnyPending, previousIsAnyPending]) => {
|
|
78
|
+
if (previousIsAnyPending.previous && !isAnyPending) {
|
|
79
|
+
const changeInfo = (0, _tanstack_router_core.getLocationChangeInfo)(router.state);
|
|
80
|
+
router.emit({
|
|
81
|
+
type: "onResolved",
|
|
82
|
+
...changeInfo
|
|
83
|
+
});
|
|
84
|
+
router.__store.setState((s) => ({
|
|
85
|
+
...s,
|
|
86
|
+
status: "idle",
|
|
87
|
+
resolvedLocation: s.location
|
|
88
|
+
}));
|
|
89
|
+
if (changeInfo.hrefChanged) (0, _tanstack_router_core.handleHashScroll)(router);
|
|
90
|
+
}
|
|
91
|
+
}));
|
|
92
|
+
return null;
|
|
130
93
|
}
|
|
94
|
+
//#endregion
|
|
131
95
|
exports.Transitioner = Transitioner;
|
|
132
|
-
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=Transitioner.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transitioner.cjs","sources":["../../src/Transitioner.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n getLocationChangeInfo,\n handleHashScroll,\n trimPathRight,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport { usePrevious } from './utils'\n\nexport function Transitioner() {\n const router = useRouter()\n let mountLoadForRouter = { router, mounted: false }\n const isLoading = useRouterState({\n select: ({ isLoading }) => isLoading,\n })\n\n if (isServer ?? router.isServer) {\n return null\n }\n\n const [isSolidTransitioning, startSolidTransition] = Solid.useTransition()\n\n // Track pending state changes\n const hasPendingMatches = useRouterState({\n select: (s) => s.matches.some((d) => d.status === 'pending'),\n })\n\n const previousIsLoading = usePrevious(isLoading)\n\n const isAnyPending = () =>\n isLoading() || isSolidTransitioning() || hasPendingMatches()\n const previousIsAnyPending = usePrevious(isAnyPending)\n\n const isPagePending = () => isLoading() || hasPendingMatches()\n const previousIsPagePending = usePrevious(isPagePending)\n\n router.startTransition = (fn: () => void | Promise<void>) => {\n Solid.startTransition(() => {\n startSolidTransition(fn)\n })\n }\n\n // Subscribe to location changes\n // and try to load the new location\n Solid.onMount(() => {\n const unsub = router.history.subscribe(router.load)\n\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true,\n })\n\n // Check if the current URL matches the canonical form.\n // Compare publicHref (browser-facing URL) for consistency with\n // the server-side redirect check in router.beforeLoad.\n if (\n trimPathRight(router.latestLocation.publicHref) !==\n trimPathRight(nextLocation.publicHref)\n ) {\n router.commitLocation({ ...nextLocation, replace: true })\n }\n\n Solid.onCleanup(() => {\n unsub()\n })\n })\n\n // Try to load the initial location\n Solid.createRenderEffect(() => {\n Solid.untrack(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n (typeof window !== 'undefined' && router.ssr) ||\n (mountLoadForRouter.router === router && mountLoadForRouter.mounted)\n ) {\n return\n }\n mountLoadForRouter = { router, mounted: true }\n const tryLoad = async () => {\n try {\n await router.load()\n } catch (err) {\n console.error(err)\n }\n }\n tryLoad()\n })\n })\n\n Solid.createRenderEffect(\n Solid.on(\n [previousIsLoading, isLoading],\n ([previousIsLoading, isLoading]) => {\n if (previousIsLoading.previous && !isLoading) {\n router.emit({\n type: 'onLoad',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createComputed(\n Solid.on(\n [isPagePending, previousIsPagePending],\n ([isPagePending, previousIsPagePending]) => {\n // emit onBeforeRouteMount\n if (previousIsPagePending.previous && !isPagePending) {\n router.emit({\n type: 'onBeforeRouteMount',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createRenderEffect(\n Solid.on(\n [isAnyPending, previousIsAnyPending],\n ([isAnyPending, previousIsAnyPending]) => {\n if (previousIsAnyPending.previous && !isAnyPending) {\n const changeInfo = getLocationChangeInfo(router.state)\n router.emit({\n type: 'onResolved',\n ...changeInfo,\n })\n\n router.__store.setState((s) => ({\n ...s,\n status: 'idle',\n resolvedLocation: s.location,\n }))\n\n if (changeInfo.hrefChanged) {\n handleHashScroll(router)\n }\n }\n },\n ),\n )\n\n return null\n}\n"],"
|
|
1
|
+
{"version":3,"file":"Transitioner.cjs","names":["Solid","getLocationChangeInfo","handleHashScroll","trimPathRight","isServer","useRouter","useRouterState","usePrevious","Transitioner","router","mountLoadForRouter","mounted","isLoading","select","isSolidTransitioning","startSolidTransition","useTransition","hasPendingMatches","s","matches","some","d","status","previousIsLoading","isAnyPending","previousIsAnyPending","isPagePending","previousIsPagePending","startTransition","fn","Promise","onMount","unsub","history","subscribe","load","nextLocation","buildLocation","to","latestLocation","pathname","search","params","hash","state","_includeValidateSearch","publicHref","commitLocation","replace","onCleanup","createRenderEffect","untrack","window","ssr","tryLoad","err","console","error","on","previous","emit","type","createComputed","changeInfo","__store","setState","resolvedLocation","location","hrefChanged"],"sources":["../../src/Transitioner.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n getLocationChangeInfo,\n handleHashScroll,\n trimPathRight,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport { usePrevious } from './utils'\n\nexport function Transitioner() {\n const router = useRouter()\n let mountLoadForRouter = { router, mounted: false }\n const isLoading = useRouterState({\n select: ({ isLoading }) => isLoading,\n })\n\n if (isServer ?? router.isServer) {\n return null\n }\n\n const [isSolidTransitioning, startSolidTransition] = Solid.useTransition()\n\n // Track pending state changes\n const hasPendingMatches = useRouterState({\n select: (s) => s.matches.some((d) => d.status === 'pending'),\n })\n\n const previousIsLoading = usePrevious(isLoading)\n\n const isAnyPending = () =>\n isLoading() || isSolidTransitioning() || hasPendingMatches()\n const previousIsAnyPending = usePrevious(isAnyPending)\n\n const isPagePending = () => isLoading() || hasPendingMatches()\n const previousIsPagePending = usePrevious(isPagePending)\n\n router.startTransition = (fn: () => void | Promise<void>) => {\n Solid.startTransition(() => {\n startSolidTransition(fn)\n })\n }\n\n // Subscribe to location changes\n // and try to load the new location\n Solid.onMount(() => {\n const unsub = router.history.subscribe(router.load)\n\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true,\n })\n\n // Check if the current URL matches the canonical form.\n // Compare publicHref (browser-facing URL) for consistency with\n // the server-side redirect check in router.beforeLoad.\n if (\n trimPathRight(router.latestLocation.publicHref) !==\n trimPathRight(nextLocation.publicHref)\n ) {\n router.commitLocation({ ...nextLocation, replace: true })\n }\n\n Solid.onCleanup(() => {\n unsub()\n })\n })\n\n // Try to load the initial location\n Solid.createRenderEffect(() => {\n Solid.untrack(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n (typeof window !== 'undefined' && router.ssr) ||\n (mountLoadForRouter.router === router && mountLoadForRouter.mounted)\n ) {\n return\n }\n mountLoadForRouter = { router, mounted: true }\n const tryLoad = async () => {\n try {\n await router.load()\n } catch (err) {\n console.error(err)\n }\n }\n tryLoad()\n })\n })\n\n Solid.createRenderEffect(\n Solid.on(\n [previousIsLoading, isLoading],\n ([previousIsLoading, isLoading]) => {\n if (previousIsLoading.previous && !isLoading) {\n router.emit({\n type: 'onLoad',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createComputed(\n Solid.on(\n [isPagePending, previousIsPagePending],\n ([isPagePending, previousIsPagePending]) => {\n // emit onBeforeRouteMount\n if (previousIsPagePending.previous && !isPagePending) {\n router.emit({\n type: 'onBeforeRouteMount',\n ...getLocationChangeInfo(router.state),\n })\n }\n },\n ),\n )\n\n Solid.createRenderEffect(\n Solid.on(\n [isAnyPending, previousIsAnyPending],\n ([isAnyPending, previousIsAnyPending]) => {\n if (previousIsAnyPending.previous && !isAnyPending) {\n const changeInfo = getLocationChangeInfo(router.state)\n router.emit({\n type: 'onResolved',\n ...changeInfo,\n })\n\n router.__store.setState((s) => ({\n ...s,\n status: 'idle',\n resolvedLocation: s.location,\n }))\n\n if (changeInfo.hrefChanged) {\n handleHashScroll(router)\n }\n }\n },\n ),\n )\n\n return null\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.__toESM = __toESM;
|