@tanstack/solid-router 1.20.3-alpha.1
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/LICENSE +21 -0
- package/README.md +29 -0
- package/dist/cjs/Asset.cjs +49 -0
- package/dist/cjs/Asset.cjs.map +1 -0
- package/dist/cjs/Asset.d.cts +2 -0
- package/dist/cjs/CatchBoundary.cjs +92 -0
- package/dist/cjs/CatchBoundary.cjs.map +1 -0
- package/dist/cjs/CatchBoundary.d.cts +11 -0
- package/dist/cjs/ClientOnly.cjs +36 -0
- package/dist/cjs/ClientOnly.cjs.map +1 -0
- package/dist/cjs/ClientOnly.d.cts +49 -0
- package/dist/cjs/HeadContent.cjs +146 -0
- package/dist/cjs/HeadContent.cjs.map +1 -0
- package/dist/cjs/HeadContent.d.cts +8 -0
- package/dist/cjs/Match.cjs +339 -0
- package/dist/cjs/Match.cjs.map +1 -0
- package/dist/cjs/Match.d.cts +8 -0
- package/dist/cjs/Matches.cjs +151 -0
- package/dist/cjs/Matches.cjs.map +1 -0
- package/dist/cjs/Matches.d.cts +24 -0
- package/dist/cjs/RouterProvider.cjs +45 -0
- package/dist/cjs/RouterProvider.cjs.map +1 -0
- package/dist/cjs/RouterProvider.d.cts +10 -0
- package/dist/cjs/SafeFragment.cjs +8 -0
- package/dist/cjs/SafeFragment.cjs.map +1 -0
- package/dist/cjs/SafeFragment.d.cts +1 -0
- package/dist/cjs/ScriptOnce.cjs +23 -0
- package/dist/cjs/ScriptOnce.cjs.map +1 -0
- package/dist/cjs/ScriptOnce.d.cts +5 -0
- package/dist/cjs/Scripts.cjs +48 -0
- package/dist/cjs/Scripts.cjs.map +1 -0
- package/dist/cjs/Scripts.d.cts +1 -0
- package/dist/cjs/ScrollRestoration.cjs +37 -0
- package/dist/cjs/ScrollRestoration.cjs.map +1 -0
- package/dist/cjs/ScrollRestoration.d.cts +14 -0
- package/dist/cjs/Transitioner.cjs +124 -0
- package/dist/cjs/Transitioner.cjs.map +1 -0
- package/dist/cjs/Transitioner.d.cts +1 -0
- package/dist/cjs/awaited.cjs +49 -0
- package/dist/cjs/awaited.cjs.map +1 -0
- package/dist/cjs/awaited.d.cts +11 -0
- package/dist/cjs/fileRoute.cjs +103 -0
- package/dist/cjs/fileRoute.cjs.map +1 -0
- package/dist/cjs/fileRoute.d.cts +54 -0
- package/dist/cjs/history.d.cts +8 -0
- package/dist/cjs/index.cjs +289 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +52 -0
- package/dist/cjs/lazyRouteComponent.cjs +73 -0
- package/dist/cjs/lazyRouteComponent.cjs.map +1 -0
- package/dist/cjs/lazyRouteComponent.d.cts +2 -0
- package/dist/cjs/link.cjs +278 -0
- package/dist/cjs/link.cjs.map +1 -0
- package/dist/cjs/link.d.cts +44 -0
- package/dist/cjs/matchContext.cjs +25 -0
- package/dist/cjs/matchContext.cjs.map +1 -0
- package/dist/cjs/matchContext.d.cts +3 -0
- package/dist/cjs/not-found.cjs +42 -0
- package/dist/cjs/not-found.cjs.map +1 -0
- package/dist/cjs/not-found.d.cts +8 -0
- package/dist/cjs/renderRouteNotFound.cjs +23 -0
- package/dist/cjs/renderRouteNotFound.cjs.map +1 -0
- package/dist/cjs/renderRouteNotFound.d.cts +2 -0
- package/dist/cjs/route.cjs +236 -0
- package/dist/cjs/route.cjs.map +1 -0
- package/dist/cjs/route.d.cts +95 -0
- package/dist/cjs/router.cjs +22 -0
- package/dist/cjs/router.cjs.map +1 -0
- package/dist/cjs/router.d.cts +69 -0
- package/dist/cjs/routerContext.cjs +33 -0
- package/dist/cjs/routerContext.cjs.map +1 -0
- package/dist/cjs/routerContext.d.cts +8 -0
- package/dist/cjs/scroll-restoration.cjs +23 -0
- package/dist/cjs/scroll-restoration.cjs.map +1 -0
- package/dist/cjs/scroll-restoration.d.cts +1 -0
- package/dist/cjs/typePrimitives.d.cts +10 -0
- package/dist/cjs/useBlocker.cjs +165 -0
- package/dist/cjs/useBlocker.cjs.map +1 -0
- package/dist/cjs/useBlocker.d.cts +67 -0
- package/dist/cjs/useCanGoBack.cjs +8 -0
- package/dist/cjs/useCanGoBack.cjs.map +1 -0
- package/dist/cjs/useCanGoBack.d.cts +1 -0
- package/dist/cjs/useLoaderData.cjs +14 -0
- package/dist/cjs/useLoaderData.cjs.map +1 -0
- package/dist/cjs/useLoaderData.d.cts +8 -0
- package/dist/cjs/useLoaderDeps.cjs +17 -0
- package/dist/cjs/useLoaderDeps.cjs.map +1 -0
- package/dist/cjs/useLoaderDeps.d.cts +7 -0
- package/dist/cjs/useLocation.cjs +10 -0
- package/dist/cjs/useLocation.cjs.map +1 -0
- package/dist/cjs/useLocation.d.cts +7 -0
- package/dist/cjs/useMatch.cjs +39 -0
- package/dist/cjs/useMatch.cjs.map +1 -0
- package/dist/cjs/useMatch.d.cts +10 -0
- package/dist/cjs/useNavigate.cjs +46 -0
- package/dist/cjs/useNavigate.cjs.map +1 -0
- package/dist/cjs/useNavigate.d.cts +5 -0
- package/dist/cjs/useParams.cjs +15 -0
- package/dist/cjs/useParams.cjs.map +1 -0
- package/dist/cjs/useParams.d.cts +9 -0
- package/dist/cjs/useRouteContext.cjs +11 -0
- package/dist/cjs/useRouteContext.cjs.map +1 -0
- package/dist/cjs/useRouteContext.d.cts +4 -0
- package/dist/cjs/useRouter.cjs +29 -0
- package/dist/cjs/useRouter.cjs.map +1 -0
- package/dist/cjs/useRouter.d.cts +4 -0
- package/dist/cjs/useRouterState.cjs +16 -0
- package/dist/cjs/useRouterState.cjs.map +1 -0
- package/dist/cjs/useRouterState.d.cts +8 -0
- package/dist/cjs/useSearch.cjs +15 -0
- package/dist/cjs/useSearch.cjs.map +1 -0
- package/dist/cjs/useSearch.d.cts +9 -0
- package/dist/cjs/utils.cjs +58 -0
- package/dist/cjs/utils.cjs.map +1 -0
- package/dist/cjs/utils.d.cts +34 -0
- package/dist/esm/Asset.d.ts +2 -0
- package/dist/esm/Asset.js +49 -0
- package/dist/esm/Asset.js.map +1 -0
- package/dist/esm/CatchBoundary.d.ts +11 -0
- package/dist/esm/CatchBoundary.js +75 -0
- package/dist/esm/CatchBoundary.js.map +1 -0
- package/dist/esm/ClientOnly.d.ts +49 -0
- package/dist/esm/ClientOnly.js +19 -0
- package/dist/esm/ClientOnly.js.map +1 -0
- package/dist/esm/HeadContent.d.ts +8 -0
- package/dist/esm/HeadContent.js +129 -0
- package/dist/esm/HeadContent.js.map +1 -0
- package/dist/esm/Match.d.ts +8 -0
- package/dist/esm/Match.js +322 -0
- package/dist/esm/Match.js.map +1 -0
- package/dist/esm/Matches.d.ts +24 -0
- package/dist/esm/Matches.js +134 -0
- package/dist/esm/Matches.js.map +1 -0
- package/dist/esm/RouterProvider.d.ts +10 -0
- package/dist/esm/RouterProvider.js +45 -0
- package/dist/esm/RouterProvider.js.map +1 -0
- package/dist/esm/SafeFragment.d.ts +1 -0
- package/dist/esm/SafeFragment.js +8 -0
- package/dist/esm/SafeFragment.js.map +1 -0
- package/dist/esm/ScriptOnce.d.ts +5 -0
- package/dist/esm/ScriptOnce.js +23 -0
- package/dist/esm/ScriptOnce.js.map +1 -0
- package/dist/esm/Scripts.d.ts +1 -0
- package/dist/esm/Scripts.js +48 -0
- package/dist/esm/Scripts.js.map +1 -0
- package/dist/esm/ScrollRestoration.d.ts +14 -0
- package/dist/esm/ScrollRestoration.js +37 -0
- package/dist/esm/ScrollRestoration.js.map +1 -0
- package/dist/esm/Transitioner.d.ts +1 -0
- package/dist/esm/Transitioner.js +107 -0
- package/dist/esm/Transitioner.js.map +1 -0
- package/dist/esm/awaited.d.ts +11 -0
- package/dist/esm/awaited.js +32 -0
- package/dist/esm/awaited.js.map +1 -0
- package/dist/esm/fileRoute.d.ts +54 -0
- package/dist/esm/fileRoute.js +103 -0
- package/dist/esm/fileRoute.js.map +1 -0
- package/dist/esm/history.d.ts +8 -0
- package/dist/esm/index.d.ts +52 -0
- package/dist/esm/index.js +151 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lazyRouteComponent.d.ts +2 -0
- package/dist/esm/lazyRouteComponent.js +73 -0
- package/dist/esm/lazyRouteComponent.js.map +1 -0
- package/dist/esm/link.d.ts +44 -0
- package/dist/esm/link.js +261 -0
- package/dist/esm/link.js.map +1 -0
- package/dist/esm/matchContext.d.ts +3 -0
- package/dist/esm/matchContext.js +8 -0
- package/dist/esm/matchContext.js.map +1 -0
- package/dist/esm/not-found.d.ts +8 -0
- package/dist/esm/not-found.js +42 -0
- package/dist/esm/not-found.js.map +1 -0
- package/dist/esm/renderRouteNotFound.d.ts +2 -0
- package/dist/esm/renderRouteNotFound.js +23 -0
- package/dist/esm/renderRouteNotFound.js.map +1 -0
- package/dist/esm/route.d.ts +95 -0
- package/dist/esm/route.js +236 -0
- package/dist/esm/route.js.map +1 -0
- package/dist/esm/router.d.ts +69 -0
- package/dist/esm/router.js +22 -0
- package/dist/esm/router.js.map +1 -0
- package/dist/esm/routerContext.d.ts +8 -0
- package/dist/esm/routerContext.js +16 -0
- package/dist/esm/routerContext.js.map +1 -0
- package/dist/esm/scroll-restoration.d.ts +1 -0
- package/dist/esm/scroll-restoration.js +23 -0
- package/dist/esm/scroll-restoration.js.map +1 -0
- package/dist/esm/typePrimitives.d.ts +10 -0
- package/dist/esm/useBlocker.d.ts +67 -0
- package/dist/esm/useBlocker.js +148 -0
- package/dist/esm/useBlocker.js.map +1 -0
- package/dist/esm/useCanGoBack.d.ts +1 -0
- package/dist/esm/useCanGoBack.js +8 -0
- package/dist/esm/useCanGoBack.js.map +1 -0
- package/dist/esm/useLoaderData.d.ts +8 -0
- package/dist/esm/useLoaderData.js +14 -0
- package/dist/esm/useLoaderData.js.map +1 -0
- package/dist/esm/useLoaderDeps.d.ts +7 -0
- package/dist/esm/useLoaderDeps.js +17 -0
- package/dist/esm/useLoaderDeps.js.map +1 -0
- package/dist/esm/useLocation.d.ts +7 -0
- package/dist/esm/useLocation.js +10 -0
- package/dist/esm/useLocation.js.map +1 -0
- package/dist/esm/useMatch.d.ts +10 -0
- package/dist/esm/useMatch.js +22 -0
- package/dist/esm/useMatch.js.map +1 -0
- package/dist/esm/useNavigate.d.ts +5 -0
- package/dist/esm/useNavigate.js +29 -0
- package/dist/esm/useNavigate.js.map +1 -0
- package/dist/esm/useParams.d.ts +9 -0
- package/dist/esm/useParams.js +15 -0
- package/dist/esm/useParams.js.map +1 -0
- package/dist/esm/useRouteContext.d.ts +4 -0
- package/dist/esm/useRouteContext.js +11 -0
- package/dist/esm/useRouteContext.js.map +1 -0
- package/dist/esm/useRouter.d.ts +4 -0
- package/dist/esm/useRouter.js +12 -0
- package/dist/esm/useRouter.js.map +1 -0
- package/dist/esm/useRouterState.d.ts +8 -0
- package/dist/esm/useRouterState.js +16 -0
- package/dist/esm/useRouterState.js.map +1 -0
- package/dist/esm/useSearch.d.ts +9 -0
- package/dist/esm/useSearch.js +15 -0
- package/dist/esm/useSearch.js.map +1 -0
- package/dist/esm/utils.d.ts +34 -0
- package/dist/esm/utils.js +41 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/source/Asset.d.ts +2 -0
- package/dist/source/Asset.jsx +23 -0
- package/dist/source/Asset.jsx.map +1 -0
- package/dist/source/CatchBoundary.d.ts +11 -0
- package/dist/source/CatchBoundary.jsx +43 -0
- package/dist/source/CatchBoundary.jsx.map +1 -0
- package/dist/source/ClientOnly.d.ts +49 -0
- package/dist/source/ClientOnly.jsx +51 -0
- package/dist/source/ClientOnly.jsx.map +1 -0
- package/dist/source/HeadContent.d.ts +8 -0
- package/dist/source/HeadContent.jsx +143 -0
- package/dist/source/HeadContent.jsx.map +1 -0
- package/dist/source/Match.d.ts +8 -0
- package/dist/source/Match.jsx +255 -0
- package/dist/source/Match.jsx.map +1 -0
- package/dist/source/Matches.d.ts +24 -0
- package/dist/source/Matches.jsx +103 -0
- package/dist/source/Matches.jsx.map +1 -0
- package/dist/source/RouterProvider.d.ts +10 -0
- package/dist/source/RouterProvider.jsx +27 -0
- package/dist/source/RouterProvider.jsx.map +1 -0
- package/dist/source/SafeFragment.d.ts +1 -0
- package/dist/source/SafeFragment.jsx +4 -0
- package/dist/source/SafeFragment.jsx.map +1 -0
- package/dist/source/ScriptOnce.d.ts +5 -0
- package/dist/source/ScriptOnce.jsx +17 -0
- package/dist/source/ScriptOnce.jsx.map +1 -0
- package/dist/source/Scripts.d.ts +1 -0
- package/dist/source/Scripts.jsx +49 -0
- package/dist/source/Scripts.jsx.map +1 -0
- package/dist/source/ScrollRestoration.d.ts +14 -0
- package/dist/source/ScrollRestoration.jsx +37 -0
- package/dist/source/ScrollRestoration.jsx.map +1 -0
- package/dist/source/Transitioner.d.ts +1 -0
- package/dist/source/Transitioner.jsx +102 -0
- package/dist/source/Transitioner.jsx.map +1 -0
- package/dist/source/awaited.d.ts +11 -0
- package/dist/source/awaited.jsx +19 -0
- package/dist/source/awaited.jsx.map +1 -0
- package/dist/source/fileRoute.d.ts +54 -0
- package/dist/source/fileRoute.js +98 -0
- package/dist/source/fileRoute.js.map +1 -0
- package/dist/source/history.d.ts +8 -0
- package/dist/source/history.js +2 -0
- package/dist/source/history.js.map +1 -0
- package/dist/source/index.d.ts +52 -0
- package/dist/source/index.jsx +43 -0
- package/dist/source/index.jsx.map +1 -0
- package/dist/source/lazyRouteComponent.d.ts +2 -0
- package/dist/source/lazyRouteComponent.jsx +83 -0
- package/dist/source/lazyRouteComponent.jsx.map +1 -0
- package/dist/source/link.d.ts +44 -0
- package/dist/source/link.jsx +335 -0
- package/dist/source/link.jsx.map +1 -0
- package/dist/source/matchContext.d.ts +3 -0
- package/dist/source/matchContext.jsx +5 -0
- package/dist/source/matchContext.jsx.map +1 -0
- package/dist/source/not-found.d.ts +8 -0
- package/dist/source/not-found.jsx +30 -0
- package/dist/source/not-found.jsx.map +1 -0
- package/dist/source/renderRouteNotFound.d.ts +2 -0
- package/dist/source/renderRouteNotFound.jsx +15 -0
- package/dist/source/renderRouteNotFound.jsx.map +1 -0
- package/dist/source/route.d.ts +96 -0
- package/dist/source/route.jsx +179 -0
- package/dist/source/route.jsx.map +1 -0
- package/dist/source/router.d.ts +70 -0
- package/dist/source/router.js +21 -0
- package/dist/source/router.js.map +1 -0
- package/dist/source/routerContext.d.ts +8 -0
- package/dist/source/routerContext.jsx +13 -0
- package/dist/source/routerContext.jsx.map +1 -0
- package/dist/source/scroll-restoration.d.ts +1 -0
- package/dist/source/scroll-restoration.jsx +16 -0
- package/dist/source/scroll-restoration.jsx.map +1 -0
- package/dist/source/typePrimitives.d.ts +10 -0
- package/dist/source/typePrimitives.js +2 -0
- package/dist/source/typePrimitives.js.map +1 -0
- package/dist/source/useBlocker.d.ts +67 -0
- package/dist/source/useBlocker.jsx +136 -0
- package/dist/source/useBlocker.jsx.map +1 -0
- package/dist/source/useCanGoBack.d.ts +1 -0
- package/dist/source/useCanGoBack.js +5 -0
- package/dist/source/useCanGoBack.js.map +1 -0
- package/dist/source/useLoaderData.d.ts +8 -0
- package/dist/source/useLoaderData.jsx +11 -0
- package/dist/source/useLoaderData.jsx.map +1 -0
- package/dist/source/useLoaderDeps.d.ts +7 -0
- package/dist/source/useLoaderDeps.jsx +11 -0
- package/dist/source/useLoaderDeps.jsx.map +1 -0
- package/dist/source/useLocation.d.ts +7 -0
- package/dist/source/useLocation.jsx +7 -0
- package/dist/source/useLocation.jsx.map +1 -0
- package/dist/source/useMatch.d.ts +10 -0
- package/dist/source/useMatch.jsx +19 -0
- package/dist/source/useMatch.jsx.map +1 -0
- package/dist/source/useNavigate.d.ts +5 -0
- package/dist/source/useNavigate.jsx +18 -0
- package/dist/source/useNavigate.jsx.map +1 -0
- package/dist/source/useParams.d.ts +9 -0
- package/dist/source/useParams.jsx +12 -0
- package/dist/source/useParams.jsx.map +1 -0
- package/dist/source/useRouteContext.d.ts +4 -0
- package/dist/source/useRouteContext.js +8 -0
- package/dist/source/useRouteContext.js.map +1 -0
- package/dist/source/useRouter.d.ts +4 -0
- package/dist/source/useRouter.jsx +9 -0
- package/dist/source/useRouter.jsx.map +1 -0
- package/dist/source/useRouterState.d.ts +8 -0
- package/dist/source/useRouterState.jsx +14 -0
- package/dist/source/useRouterState.jsx.map +1 -0
- package/dist/source/useSearch.d.ts +9 -0
- package/dist/source/useSearch.jsx +12 -0
- package/dist/source/useSearch.jsx.map +1 -0
- package/dist/source/utils.d.ts +34 -0
- package/dist/source/utils.js +59 -0
- package/dist/source/utils.js.map +1 -0
- package/package.json +80 -0
- package/src/Asset.tsx +24 -0
- package/src/CatchBoundary.tsx +78 -0
- package/src/ClientOnly.tsx +65 -0
- package/src/HeadContent.tsx +174 -0
- package/src/Match.tsx +357 -0
- package/src/Matches.tsx +243 -0
- package/src/RouterProvider.tsx +79 -0
- package/src/SafeFragment.tsx +3 -0
- package/src/ScriptOnce.tsx +30 -0
- package/src/Scripts.tsx +65 -0
- package/src/ScrollRestoration.tsx +69 -0
- package/src/Transitioner.tsx +140 -0
- package/src/awaited.tsx +40 -0
- package/src/fileRoute.ts +256 -0
- package/src/history.ts +9 -0
- package/src/index.tsx +374 -0
- package/src/lazyRouteComponent.tsx +110 -0
- package/src/link.tsx +597 -0
- package/src/matchContext.tsx +10 -0
- package/src/not-found.tsx +42 -0
- package/src/renderRouteNotFound.tsx +26 -0
- package/src/route.tsx +550 -0
- package/src/router.ts +112 -0
- package/src/routerContext.tsx +26 -0
- package/src/scroll-restoration.tsx +29 -0
- package/src/typePrimitives.ts +74 -0
- package/src/useBlocker.tsx +305 -0
- package/src/useCanGoBack.ts +5 -0
- package/src/useLoaderData.tsx +50 -0
- package/src/useLoaderDeps.tsx +46 -0
- package/src/useLocation.tsx +30 -0
- package/src/useMatch.tsx +96 -0
- package/src/useNavigate.tsx +40 -0
- package/src/useParams.tsx +71 -0
- package/src/useRouteContext.ts +31 -0
- package/src/useRouter.tsx +15 -0
- package/src/useRouterState.tsx +36 -0
- package/src/useSearch.tsx +71 -0
- package/src/utils.ts +79 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { template, effect } from "solid-js/web";
|
|
2
|
+
import jsesc from "jsesc";
|
|
3
|
+
var _tmpl$ = /* @__PURE__ */ template(`<script class=tsr-once>`);
|
|
4
|
+
function ScriptOnce({
|
|
5
|
+
children,
|
|
6
|
+
log
|
|
7
|
+
}) {
|
|
8
|
+
if (typeof document !== "undefined") {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return (() => {
|
|
12
|
+
var _el$ = _tmpl$();
|
|
13
|
+
effect(() => _el$.innerHTML = [children, (log ?? true) && process.env.NODE_ENV === "development" ? `console.info(\`Injected From Server:
|
|
14
|
+
${jsesc(children.toString(), {
|
|
15
|
+
quotes: "backtick"
|
|
16
|
+
})}\`)` : "", 'if (typeof __TSR_SSR__ !== "undefined") __TSR_SSR__.cleanScripts()'].filter(Boolean).join("\n"));
|
|
17
|
+
return _el$;
|
|
18
|
+
})();
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
ScriptOnce
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=ScriptOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptOnce.js","sources":["../../src/ScriptOnce.tsx"],"sourcesContent":["import jsesc from 'jsesc'\n\nexport function ScriptOnce({\n children,\n log,\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={[\n children,\n (log ?? true) && process.env.NODE_ENV === 'development'\n ? `console.info(\\`Injected From Server:\n${jsesc(children.toString(), { quotes: 'backtick' })}\\`)`\n : '',\n 'if (typeof __TSR_SSR__ !== \"undefined\") __TSR_SSR__.cleanScripts()',\n ]\n .filter(Boolean)\n .join('\\n')}\n />\n )\n}\n"],"names":["ScriptOnce","children","log","document","_el$","_tmpl$","_$effect","innerHTML","process","env","NODE_ENV","jsesc","toString","quotes","filter","Boolean","join"],"mappings":";;;AAEO,SAASA,WAAW;AAAA,EACzBC;AAAAA,EACAC;AAKF,GAAG;AACG,MAAA,OAAOC,aAAa,aAAa;AAC5B,WAAA;AAAA,EAAA;AAGT,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,WAAA,MAAAF,KAAAG,YAGe,CACTN,WACCC,OAAO,SAASM,QAAQC,IAAIC,aAAa,gBACtC;AAAA,EACVC,MAAMV,SAASW,YAAY;AAAA,MAAEC,QAAQ;AAAA,IAAA,CAAY,CAAC,QACxC,IACJ,oEAAoE,EAEnEC,OAAOC,OAAO,EACdC,KAAK,IAAI,CAAC;AAAAZ,WAAAA;AAAAA,EAAAA,GAAA;AAGnB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Scripts: () => import("solid-js").JSX.Element;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { memo, createComponent } from "solid-js/web";
|
|
2
|
+
import { Asset } from "./Asset.js";
|
|
3
|
+
import { useRouterState } from "./useRouterState.js";
|
|
4
|
+
import { useRouter } from "./useRouter.js";
|
|
5
|
+
const Scripts = () => {
|
|
6
|
+
const router = useRouter();
|
|
7
|
+
const assetScripts = useRouterState({
|
|
8
|
+
select: (state) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const assetScripts2 = [];
|
|
11
|
+
const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;
|
|
12
|
+
if (!manifest) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach((route) => {
|
|
16
|
+
var _a2, _b;
|
|
17
|
+
return (_b = (_a2 = manifest.routes[route.id]) == null ? void 0 : _a2.assets) == null ? void 0 : _b.filter((d) => d.tag === "script").forEach((asset) => {
|
|
18
|
+
assetScripts2.push({
|
|
19
|
+
tag: "script",
|
|
20
|
+
attrs: asset.attrs,
|
|
21
|
+
children: asset.children
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
return assetScripts2;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const scripts = useRouterState({
|
|
29
|
+
select: (state) => ({
|
|
30
|
+
scripts: state.matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({
|
|
31
|
+
children,
|
|
32
|
+
...script
|
|
33
|
+
}) => ({
|
|
34
|
+
tag: "script",
|
|
35
|
+
attrs: {
|
|
36
|
+
...script
|
|
37
|
+
},
|
|
38
|
+
children
|
|
39
|
+
}))
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
const allScripts = [...scripts().scripts, ...assetScripts()];
|
|
43
|
+
return memo(() => allScripts.map((asset, i) => createComponent(Asset, asset)));
|
|
44
|
+
};
|
|
45
|
+
export {
|
|
46
|
+
Scripts
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=Scripts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scripts.js","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\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,\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 },\n children,\n })),\n }),\n })\n\n const allScripts = [\n ...scripts().scripts,\n ...assetScripts(),\n ] as Array<RouterManagedTag>\n\n return (\n <>\n {allScripts.map((asset, i) => (\n <Asset {...asset} />\n ))}\n </>\n )\n}\n"],"names":["Scripts","router","useRouter","assetScripts","useRouterState","select","state","manifest","ssr","matches","map","match","looseRoutesById","routeId","forEach","route","routes","id","assets","filter","d","tag","asset","push","attrs","children","scripts","flat","Boolean","script","allScripts","_$memo","i","_$createComponent","Asset"],"mappings":";;;;AAKO,MAAMA,UAAUA,MAAM;AAC3B,QAAMC,SAASC,UAAU;AAEzB,QAAMC,eAAeC,eAAe;AAAA,IAClCC,QAASC,CAAU,UAAA;;AACjB,YAAMH,gBAAwC,CAAE;AAC1CI,YAAAA,YAAWN,YAAOO,QAAPP,mBAAYM;AAE7B,UAAI,CAACA,UAAU;AACb,eAAO,CAAE;AAAA,MAAA;AAGLE,YAAAA,QACHC,IAAKC,CAAAA,UAAUV,OAAOW,gBAAgBD,MAAME,OAAO,CAAE,EACrDC,QAASC,CACRR,UAAAA;;AAAAA,sBAAAA,MAAAA,SAASS,OAAOD,MAAME,EAAE,MAAxBV,gBAAAA,IAA2BW,WAA3BX,mBACIY,OAAQC,CAAAA,MAAMA,EAAEC,QAAQ,UACzBP,QAASQ,CAAU,UAAA;AAClBnB,wBAAaoB,KAAK;AAAA,YAChBF,KAAK;AAAA,YACLG,OAAOF,MAAME;AAAAA,YACbC,UAAUH,MAAMG;AAAAA,UAAAA,CACV;AAAA,QAAA;AAAA,OAEd;AAEKtB,aAAAA;AAAAA,IAAAA;AAAAA,EACT,CACD;AAED,QAAMuB,UAAUtB,eAAe;AAAA,IAC7BC,QAASC,CAAW,WAAA;AAAA,MAClBoB,SACEpB,MAAMG,QACHC,IAAKC,WAAUA,MAAMe,OAAQ,EAC7BC,KAAK,CAAC,EACNR,OAAOS,OAAO,EACjBlB,IAAI,CAAC;AAAA,QAAEe;AAAAA,QAAU,GAAGI;AAAAA,MAAAA,OAAc;AAAA,QAClCR,KAAK;AAAA,QACLG,OAAO;AAAA,UACL,GAAGK;AAAAA,QACL;AAAA,QACAJ;AAAAA,MAAAA,EACA;AAAA,IACJ;AAAA,EAAA,CACD;AAEKK,QAAAA,aAAa,CACjB,GAAGJ,UAAUA,SACb,GAAGvB,cAAc;AAGnB4B,SAAAA,KAEKD,MAAAA,WAAWpB,IAAI,CAACY,OAAOU,MAACC,gBACtBC,OAAUZ,KAAK,CACjB,CAAC;AAGR;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ParsedLocation, ScrollRestorationEntry, ScrollRestorationOptions } from '@tanstack/router-core';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated use createRouter's `scrollRestoration` option instead
|
|
4
|
+
*/
|
|
5
|
+
export declare function ScrollRestoration(_props: ScrollRestorationOptions): null;
|
|
6
|
+
export declare function useElementScrollRestoration(options: ({
|
|
7
|
+
id: string;
|
|
8
|
+
getElement?: () => Window | Element | undefined | null;
|
|
9
|
+
} | {
|
|
10
|
+
id?: string;
|
|
11
|
+
getElement: () => Window | Element | undefined | null;
|
|
12
|
+
}) & {
|
|
13
|
+
getKey?: (location: ParsedLocation) => string;
|
|
14
|
+
}): ScrollRestorationEntry | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { defaultGetScrollRestorationKey, getCssSelector, scrollRestorationCache, setupScrollRestoration } from "@tanstack/router-core";
|
|
2
|
+
import { useRouter } from "./useRouter.js";
|
|
3
|
+
function useScrollRestoration() {
|
|
4
|
+
const router = useRouter();
|
|
5
|
+
setupScrollRestoration(router, true);
|
|
6
|
+
}
|
|
7
|
+
function ScrollRestoration(_props) {
|
|
8
|
+
useScrollRestoration();
|
|
9
|
+
if (process.env.NODE_ENV === "development") {
|
|
10
|
+
console.warn("The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.");
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
function useElementScrollRestoration(options) {
|
|
15
|
+
var _a;
|
|
16
|
+
useScrollRestoration();
|
|
17
|
+
const router = useRouter();
|
|
18
|
+
const getKey = options.getKey || defaultGetScrollRestorationKey;
|
|
19
|
+
let elementSelector = "";
|
|
20
|
+
if (options.id) {
|
|
21
|
+
elementSelector = `[data-scroll-restoration-id="${options.id}"]`;
|
|
22
|
+
} else {
|
|
23
|
+
const element = (_a = options.getElement) == null ? void 0 : _a.call(options);
|
|
24
|
+
if (!element) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
elementSelector = element instanceof Window ? "window" : getCssSelector(element);
|
|
28
|
+
}
|
|
29
|
+
const restoreKey = getKey(router.latestLocation);
|
|
30
|
+
const byKey = scrollRestorationCache.state[restoreKey];
|
|
31
|
+
return byKey == null ? void 0 : byKey[elementSelector];
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
ScrollRestoration,
|
|
35
|
+
useElementScrollRestoration
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=ScrollRestoration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollRestoration.js","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"],"names":["useScrollRestoration","router","useRouter","setupScrollRestoration","ScrollRestoration","_props","process","env","NODE_ENV","console","warn","useElementScrollRestoration","options","getKey","defaultGetScrollRestorationKey","elementSelector","id","element","getElement","Window","getCssSelector","restoreKey","latestLocation","byKey","scrollRestorationCache","state"],"mappings":";;AAaA,SAASA,uBAAuB;AAC9B,QAAMC,SAASC,UAAU;AACzBC,yBAAuBF,QAAQ,IAAI;AACrC;AAKO,SAASG,kBAAkBC,QAAkC;AAC7C,uBAAA;AAEjBC,MAAAA,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KACN,uGACF;AAAA,EAAA;AAGK,SAAA;AACT;AAEO,SAASC,4BACdC,SAYoC;;AACf,uBAAA;AAErB,QAAMX,SAASC,UAAU;AACnBW,QAAAA,SAASD,QAAQC,UAAUC;AAEjC,MAAIC,kBAAkB;AAEtB,MAAIH,QAAQI,IAAI;AACI,sBAAA,gCAAgCJ,QAAQI,EAAE;AAAA,EAAA,OACvD;AACCC,UAAAA,WAAUL,aAAQM,eAARN;AAChB,QAAI,CAACK,SAAS;AACZ;AAAA,IAAA;AAEFF,sBACEE,mBAAmBE,SAAS,WAAWC,eAAeH,OAAO;AAAA,EAAA;AAG3DI,QAAAA,aAAaR,OAAOZ,OAAOqB,cAAc;AACzCC,QAAAA,QAAQC,uBAAuBC,MAAMJ,UAAU;AACrD,SAAOE,+BAAQR;AACjB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Transitioner(): null;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as Solid from "solid-js";
|
|
2
|
+
import { trimPathRight, getLocationChangeInfo, handleHashScroll } from "@tanstack/router-core";
|
|
3
|
+
import { useRouter } from "./useRouter.js";
|
|
4
|
+
import { useRouterState } from "./useRouterState.js";
|
|
5
|
+
import { usePrevious } from "./utils.js";
|
|
6
|
+
function Transitioner() {
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
let mountLoadForRouter = {
|
|
9
|
+
router,
|
|
10
|
+
mounted: false
|
|
11
|
+
};
|
|
12
|
+
const isLoading = useRouterState({
|
|
13
|
+
select: ({
|
|
14
|
+
isLoading: isLoading2
|
|
15
|
+
}) => isLoading2
|
|
16
|
+
});
|
|
17
|
+
const [isTransitioning, setIsTransitioning] = Solid.createSignal(false);
|
|
18
|
+
const hasPendingMatches = useRouterState({
|
|
19
|
+
select: (s) => s.matches.some((d) => d.status === "pending")
|
|
20
|
+
});
|
|
21
|
+
const previousIsLoading = usePrevious(isLoading);
|
|
22
|
+
const isAnyPending = () => isLoading() || isTransitioning() || hasPendingMatches();
|
|
23
|
+
const previousIsAnyPending = usePrevious(isAnyPending);
|
|
24
|
+
const isPagePending = () => isLoading() || hasPendingMatches();
|
|
25
|
+
const previousIsPagePending = usePrevious(isPagePending);
|
|
26
|
+
if (!router.isServer) {
|
|
27
|
+
router.startTransition = async (fn) => {
|
|
28
|
+
setIsTransitioning(true);
|
|
29
|
+
await fn();
|
|
30
|
+
setIsTransitioning(false);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
Solid.onMount(() => {
|
|
34
|
+
const unsub = router.history.subscribe(router.load);
|
|
35
|
+
const nextLocation = router.buildLocation({
|
|
36
|
+
to: router.latestLocation.pathname,
|
|
37
|
+
search: true,
|
|
38
|
+
params: true,
|
|
39
|
+
hash: true,
|
|
40
|
+
state: true,
|
|
41
|
+
_includeValidateSearch: true
|
|
42
|
+
});
|
|
43
|
+
if (trimPathRight(router.latestLocation.href) !== trimPathRight(nextLocation.href)) {
|
|
44
|
+
router.commitLocation({
|
|
45
|
+
...nextLocation,
|
|
46
|
+
replace: true
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
Solid.onCleanup(() => {
|
|
50
|
+
unsub();
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
Solid.createRenderEffect(() => {
|
|
54
|
+
Solid.untrack(() => {
|
|
55
|
+
if (typeof window !== "undefined" && router.clientSsr || mountLoadForRouter.router === router && mountLoadForRouter.mounted) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
mountLoadForRouter = {
|
|
59
|
+
router,
|
|
60
|
+
mounted: true
|
|
61
|
+
};
|
|
62
|
+
const tryLoad = async () => {
|
|
63
|
+
try {
|
|
64
|
+
await router.load();
|
|
65
|
+
} catch (err) {
|
|
66
|
+
console.error(err);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
tryLoad();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
Solid.createRenderEffect(Solid.on([previousIsLoading, isLoading], ([previousIsLoading2, isLoading2]) => {
|
|
73
|
+
if (previousIsLoading2.previous && !isLoading2) {
|
|
74
|
+
router.emit({
|
|
75
|
+
type: "onLoad",
|
|
76
|
+
...getLocationChangeInfo(router.state)
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
Solid.createRenderEffect(Solid.on([isPagePending, previousIsPagePending], ([isPagePending2, previousIsPagePending2]) => {
|
|
81
|
+
if (previousIsPagePending2.previous && !isPagePending2) {
|
|
82
|
+
router.emit({
|
|
83
|
+
type: "onBeforeRouteMount",
|
|
84
|
+
...getLocationChangeInfo(router.state)
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}));
|
|
88
|
+
Solid.createRenderEffect(Solid.on([isAnyPending, previousIsAnyPending], ([isAnyPending2, previousIsAnyPending2]) => {
|
|
89
|
+
if (previousIsAnyPending2.previous && !isAnyPending2) {
|
|
90
|
+
router.emit({
|
|
91
|
+
type: "onResolved",
|
|
92
|
+
...getLocationChangeInfo(router.state)
|
|
93
|
+
});
|
|
94
|
+
router.__store.setState((s) => ({
|
|
95
|
+
...s,
|
|
96
|
+
status: "idle",
|
|
97
|
+
resolvedLocation: s.location
|
|
98
|
+
}));
|
|
99
|
+
handleHashScroll(router);
|
|
100
|
+
}
|
|
101
|
+
}));
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
export {
|
|
105
|
+
Transitioner
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=Transitioner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transitioner.js","sources":["../../src/Transitioner.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n getLocationChangeInfo,\n handleHashScroll,\n trimPathRight,\n} from '@tanstack/router-core'\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 const [isTransitioning, setIsTransitioning] = Solid.createSignal(false)\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() || isTransitioning() || hasPendingMatches()\n const previousIsAnyPending = usePrevious(isAnyPending)\n\n const isPagePending = () => isLoading() || hasPendingMatches()\n const previousIsPagePending = usePrevious(isPagePending)\n\n if (!router.isServer) {\n router.startTransition = async (fn: () => void | Promise<void>) => {\n setIsTransitioning(true)\n await fn()\n setIsTransitioning(false)\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 if (\n trimPathRight(router.latestLocation.href) !==\n trimPathRight(nextLocation.href)\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 (typeof window !== 'undefined' && router.clientSsr) ||\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 Solid.createRenderEffect(\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 // The router was pending and now it's not\n if (previousIsAnyPending.previous && !isAnyPending) {\n router.emit({\n type: 'onResolved',\n ...getLocationChangeInfo(router.state),\n })\n\n router.__store.setState((s) => ({\n ...s,\n status: 'idle',\n resolvedLocation: s.location,\n }))\n\n handleHashScroll(router)\n }\n },\n ),\n )\n\n return null\n}\n"],"names":["Transitioner","router","useRouter","mountLoadForRouter","mounted","isLoading","useRouterState","select","isTransitioning","setIsTransitioning","Solid","createSignal","hasPendingMatches","s","matches","some","d","status","previousIsLoading","usePrevious","isAnyPending","previousIsAnyPending","isPagePending","previousIsPagePending","isServer","startTransition","fn","onMount","unsub","history","subscribe","load","nextLocation","buildLocation","to","latestLocation","pathname","search","params","hash","state","_includeValidateSearch","trimPathRight","href","commitLocation","replace","onCleanup","createRenderEffect","untrack","window","clientSsr","tryLoad","err","console","error","on","previous","emit","type","getLocationChangeInfo","__store","setState","resolvedLocation","location","handleHashScroll"],"mappings":";;;;;AAUO,SAASA,eAAe;AAC7B,QAAMC,SAASC,UAAU;AACzB,MAAIC,qBAAqB;AAAA,IAAEF;AAAAA,IAAQG,SAAS;AAAA,EAAM;AAClD,QAAMC,YAAYC,eAAe;AAAA,IAC/BC,QAAQA,CAAC;AAAA,MAAEF,WAAAA;AAAAA,IAAAA,MAAgBA;AAAAA,EAAAA,CAC5B;AAED,QAAM,CAACG,iBAAiBC,kBAAkB,IAAIC,MAAMC,aAAa,KAAK;AAEtE,QAAMC,oBAAoBN,eAAe;AAAA,IACvCC,QAASM,OAAMA,EAAEC,QAAQC,KAAMC,CAAMA,MAAAA,EAAEC,WAAW,SAAS;AAAA,EAAA,CAC5D;AAEKC,QAAAA,oBAAoBC,YAAYd,SAAS;AAE/C,QAAMe,eAAeA,MACnBf,UAAeG,KAAAA,gBAAAA,KAAqBI,kBAAkB;AAClDS,QAAAA,uBAAuBF,YAAYC,YAAY;AAErD,QAAME,gBAAgBA,MAAMjB,UAAU,KAAKO,kBAAkB;AACvDW,QAAAA,wBAAwBJ,YAAYG,aAAa;AAEnD,MAAA,CAACrB,OAAOuB,UAAU;AACbC,WAAAA,kBAAkB,OAAOC,OAAmC;AACjEjB,yBAAmB,IAAI;AACvB,YAAMiB,GAAG;AACTjB,yBAAmB,KAAK;AAAA,IAC1B;AAAA,EAAA;AAKFC,QAAMiB,QAAQ,MAAM;AAClB,UAAMC,QAAQ3B,OAAO4B,QAAQC,UAAU7B,OAAO8B,IAAI;AAE5CC,UAAAA,eAAe/B,OAAOgC,cAAc;AAAA,MACxCC,IAAIjC,OAAOkC,eAAeC;AAAAA,MAC1BC,QAAQ;AAAA,MACRC,QAAQ;AAAA,MACRC,MAAM;AAAA,MACNC,OAAO;AAAA,MACPC,wBAAwB;AAAA,IAAA,CACzB;AAGCC,QAAAA,cAAczC,OAAOkC,eAAeQ,IAAI,MACxCD,cAAcV,aAAaW,IAAI,GAC/B;AACA1C,aAAO2C,eAAe;AAAA,QAAE,GAAGZ;AAAAA,QAAca,SAAS;AAAA,MAAA,CAAM;AAAA,IAAA;AAG1DnC,UAAMoC,UAAU,MAAM;AACd,YAAA;AAAA,IAAA,CACP;AAAA,EAAA,CACF;AAGDpC,QAAMqC,mBAAmB,MAAM;AAC7BrC,UAAMsC,QAAQ,MAAM;AAEf,UAAA,OAAOC,WAAW,eAAehD,OAAOiD,aACxC/C,mBAAmBF,WAAWA,UAAUE,mBAAmBC,SAC5D;AACA;AAAA,MAAA;AAEmB,2BAAA;AAAA,QAAEH;AAAAA,QAAQG,SAAS;AAAA,MAAK;AAC7C,YAAM+C,UAAU,YAAY;AACtB,YAAA;AACF,gBAAMlD,OAAO8B,KAAK;AAAA,iBACXqB,KAAK;AACZC,kBAAQC,MAAMF,GAAG;AAAA,QAAA;AAAA,MAErB;AACQ,cAAA;AAAA,IAAA,CACT;AAAA,EAAA,CACF;AAEKL,QAAAA,mBACJrC,MAAM6C,GACJ,CAACrC,mBAAmBb,SAAS,GAC7B,CAAC,CAACa,oBAAmBb,UAAS,MAAM;AAC9Ba,QAAAA,mBAAkBsC,YAAY,CAACnD,YAAW;AAC5CJ,aAAOwD,KAAK;AAAA,QACVC,MAAM;AAAA,QACN,GAAGC,sBAAsB1D,OAAOuC,KAAK;AAAA,MAAA,CACtC;AAAA,IAAA;AAAA,EACH,CAEJ,CACF;AACMO,QAAAA,mBACJrC,MAAM6C,GACJ,CAACjC,eAAeC,qBAAqB,GACrC,CAAC,CAACD,gBAAeC,sBAAqB,MAAM;AAEtCA,QAAAA,uBAAsBiC,YAAY,CAAClC,gBAAe;AACpDrB,aAAOwD,KAAK;AAAA,QACVC,MAAM;AAAA,QACN,GAAGC,sBAAsB1D,OAAOuC,KAAK;AAAA,MAAA,CACtC;AAAA,IAAA;AAAA,EACH,CAEJ,CACF;AAEMO,QAAAA,mBACJrC,MAAM6C,GACJ,CAACnC,cAAcC,oBAAoB,GACnC,CAAC,CAACD,eAAcC,qBAAoB,MAAM;AAEpCA,QAAAA,sBAAqBmC,YAAY,CAACpC,eAAc;AAClDnB,aAAOwD,KAAK;AAAA,QACVC,MAAM;AAAA,QACN,GAAGC,sBAAsB1D,OAAOuC,KAAK;AAAA,MAAA,CACtC;AAEMoB,aAAAA,QAAQC,SAAUhD,CAAO,OAAA;AAAA,QAC9B,GAAGA;AAAAA,QACHI,QAAQ;AAAA,QACR6C,kBAAkBjD,EAAEkD;AAAAA,MAAAA,EACpB;AAEFC,uBAAiB/D,MAAM;AAAA,IAAA;AAAA,EACzB,CAEJ,CACF;AAEO,SAAA;AACT;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DeferredPromise } from '@tanstack/router-core';
|
|
2
|
+
import { SolidNode } from './route.js';
|
|
3
|
+
import * as Solid from 'solid-js';
|
|
4
|
+
export type AwaitOptions<T> = {
|
|
5
|
+
promise: Promise<T>;
|
|
6
|
+
};
|
|
7
|
+
export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [T, DeferredPromise<T>];
|
|
8
|
+
export declare function Await<T>(props: AwaitOptions<T> & {
|
|
9
|
+
fallback?: SolidNode;
|
|
10
|
+
children: (result: T) => SolidNode;
|
|
11
|
+
}): Solid.JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createComponent } from "solid-js/web";
|
|
2
|
+
import * as Solid from "solid-js";
|
|
3
|
+
import { defer, TSR_DEFERRED_PROMISE } from "@tanstack/router-core";
|
|
4
|
+
function useAwaited({
|
|
5
|
+
promise: _promise
|
|
6
|
+
}) {
|
|
7
|
+
const promise = defer(_promise);
|
|
8
|
+
if (promise[TSR_DEFERRED_PROMISE].status === "pending") {
|
|
9
|
+
throw promise;
|
|
10
|
+
}
|
|
11
|
+
if (promise[TSR_DEFERRED_PROMISE].status === "error") {
|
|
12
|
+
throw promise[TSR_DEFERRED_PROMISE].error;
|
|
13
|
+
}
|
|
14
|
+
return [promise[TSR_DEFERRED_PROMISE].data, promise];
|
|
15
|
+
}
|
|
16
|
+
function Await(props) {
|
|
17
|
+
const [resource] = Solid.createResource(() => props.promise);
|
|
18
|
+
return createComponent(Solid.Show, {
|
|
19
|
+
get fallback() {
|
|
20
|
+
return props.fallback;
|
|
21
|
+
},
|
|
22
|
+
get when() {
|
|
23
|
+
return resource();
|
|
24
|
+
},
|
|
25
|
+
children: (data) => props.children(data())
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
Await,
|
|
30
|
+
useAwaited
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=awaited.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awaited.js","sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [T, DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(() => props.promise)\n\n return (\n <Solid.Show fallback={props.fallback} when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n}\n"],"names":["useAwaited","promise","_promise","defer","TSR_DEFERRED_PROMISE","status","error","data","Await","props","resource","Solid","createResource","_$createComponent","Show","fallback","when","children"],"mappings":";;;AAUO,SAASA,WAAc;AAAA,EAC5BC,SAASC;AACM,GAA4B;AACrCD,QAAAA,UAAUE,MAAMD,QAAQ;AAE9B,MAAID,QAAQG,oBAAoB,EAAEC,WAAW,WAAW;AAChDJ,UAAAA;AAAAA,EAAAA;AAGR,MAAIA,QAAQG,oBAAoB,EAAEC,WAAW,SAAS;AAC9CJ,UAAAA,QAAQG,oBAAoB,EAAEE;AAAAA,EAAAA;AAGtC,SAAO,CAACL,QAAQG,oBAAoB,EAAEG,MAAMN,OAAO;AACrD;AAEO,SAASO,MACdC,OAIA;AACA,QAAM,CAACC,QAAQ,IAAIC,MAAMC,eAAe,MAAMH,MAAMR,OAAO;AAE3DY,SAAAA,gBACGF,MAAMG,MAAI;AAAA,IAAA,IAACC,WAAQ;AAAA,aAAEN,MAAMM;AAAAA,IAAQ;AAAA,IAAA,IAAEC,OAAI;AAAA,aAAEN,SAAS;AAAA,IAAC;AAAA,IAAAO,UAClDV,CAAAA,SAASE,MAAMQ,SAASV,KAAM,CAAA;AAAA,EAAA,CAAC;AAGvC;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { UseParamsRoute } from './useParams.js';
|
|
2
|
+
import { UseMatchRoute } from './useMatch.js';
|
|
3
|
+
import { UseSearchRoute } from './useSearch.js';
|
|
4
|
+
import { AnyContext, AnyRoute, AnyRouter, Constrain, ConstrainLiteral, FileBaseRouteOptions, FileRoutesByPath, LazyRouteOptions, RegisteredRouter, ResolveParams, Route, RouteById, RouteConstraints, RouteIds, RouteLoaderFn, UpdatableRouteOptions, UseNavigateResult } from '@tanstack/router-core';
|
|
5
|
+
import { UseLoaderDepsRoute } from './useLoaderDeps.js';
|
|
6
|
+
import { UseLoaderDataRoute } from './useLoaderData.js';
|
|
7
|
+
import { UseRouteContextRoute } from './useRouteContext.js';
|
|
8
|
+
export declare function createFileRoute<TFilePath extends keyof FileRoutesByPath, TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'], TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'], TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'], TFullPath extends RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath']>(path?: TFilePath): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'];
|
|
9
|
+
/**
|
|
10
|
+
@deprecated It's no longer recommended to use the `FileRoute` class directly.
|
|
11
|
+
Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.
|
|
12
|
+
*/
|
|
13
|
+
export declare class FileRoute<TFilePath extends keyof FileRoutesByPath, TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'], TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'], TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'], TFullPath extends RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath']> {
|
|
14
|
+
path?: TFilePath | undefined;
|
|
15
|
+
silent?: boolean;
|
|
16
|
+
constructor(path?: TFilePath | undefined, _opts?: {
|
|
17
|
+
silent: boolean;
|
|
18
|
+
});
|
|
19
|
+
createRoute: <TSearchValidator = undefined, TParams = ResolveParams<TPath>, TRouteContextFn = AnyContext, TBeforeLoadFn = AnyContext, TLoaderDeps extends Record<string, any> = {}, TLoaderFn = undefined, TChildren = unknown>(options?: FileBaseRouteOptions<TParentRoute, TId, TPath, TSearchValidator, TParams, TLoaderDeps, TLoaderFn, AnyContext, TRouteContextFn, TBeforeLoadFn> & UpdatableRouteOptions<TParentRoute, TId, TFullPath, TParams, TSearchValidator, TLoaderFn, TLoaderDeps, AnyContext, TRouteContextFn, TBeforeLoadFn>) => Route<TParentRoute, TPath, TFullPath, TFilePath, TId, TSearchValidator, TParams, AnyContext, TRouteContextFn, TBeforeLoadFn, TLoaderDeps, TLoaderFn, TChildren, unknown>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
@deprecated It's recommended not to split loaders into separate files.
|
|
23
|
+
Instead, place the loader function in the the main route file, inside the
|
|
24
|
+
`createFileRoute('/path/to/file)(options)` options.
|
|
25
|
+
*/
|
|
26
|
+
export declare function FileRouteLoader<TFilePath extends keyof FileRoutesByPath, TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute']>(_path: TFilePath): <TLoaderFn>(loaderFn: Constrain<TLoaderFn, RouteLoaderFn<TRoute['parentRoute'], TRoute['types']['id'], TRoute['types']['params'], TRoute['types']['loaderDeps'], TRoute['types']['routerContext'], TRoute['types']['routeContextFn'], TRoute['types']['beforeLoadFn']>>) => TLoaderFn;
|
|
27
|
+
declare module '@tanstack/router-core' {
|
|
28
|
+
interface LazyRoute<in out TRoute extends AnyRoute> {
|
|
29
|
+
useMatch: UseMatchRoute<TRoute['id']>;
|
|
30
|
+
useRouteContext: UseRouteContextRoute<TRoute['id']>;
|
|
31
|
+
useSearch: UseSearchRoute<TRoute['id']>;
|
|
32
|
+
useParams: UseParamsRoute<TRoute['id']>;
|
|
33
|
+
useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>;
|
|
34
|
+
useLoaderData: UseLoaderDataRoute<TRoute['id']>;
|
|
35
|
+
useNavigate: () => UseNavigateResult<TRoute['fullPath']>;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export declare class LazyRoute<TRoute extends AnyRoute> {
|
|
39
|
+
options: {
|
|
40
|
+
id: string;
|
|
41
|
+
} & LazyRouteOptions;
|
|
42
|
+
constructor(opts: {
|
|
43
|
+
id: string;
|
|
44
|
+
} & LazyRouteOptions);
|
|
45
|
+
useMatch: UseMatchRoute<TRoute['id']>;
|
|
46
|
+
useRouteContext: UseRouteContextRoute<TRoute['id']>;
|
|
47
|
+
useSearch: UseSearchRoute<TRoute['id']>;
|
|
48
|
+
useParams: UseParamsRoute<TRoute['id']>;
|
|
49
|
+
useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>;
|
|
50
|
+
useLoaderData: UseLoaderDataRoute<TRoute['id']>;
|
|
51
|
+
useNavigate: () => UseNavigateResult<TRoute["fullPath"]>;
|
|
52
|
+
}
|
|
53
|
+
export declare function createLazyRoute<TRouter extends AnyRouter = RegisteredRouter, TId extends string = string, TRoute extends AnyRoute = RouteById<TRouter['routeTree'], TId>>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>): (opts: LazyRouteOptions) => LazyRoute<TRoute>;
|
|
54
|
+
export declare function createLazyFileRoute<TFilePath extends keyof FileRoutesByPath, TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute']>(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import warning from "tiny-warning";
|
|
2
|
+
import { createRoute } from "./route.js";
|
|
3
|
+
import { useMatch } from "./useMatch.js";
|
|
4
|
+
import { useLoaderDeps } from "./useLoaderDeps.js";
|
|
5
|
+
import { useLoaderData } from "./useLoaderData.js";
|
|
6
|
+
import { useSearch } from "./useSearch.js";
|
|
7
|
+
import { useParams } from "./useParams.js";
|
|
8
|
+
import { useNavigate } from "./useNavigate.js";
|
|
9
|
+
import { useRouter } from "./useRouter.js";
|
|
10
|
+
function createFileRoute(path) {
|
|
11
|
+
if (typeof path === "object") {
|
|
12
|
+
return new FileRoute(path, {
|
|
13
|
+
silent: true
|
|
14
|
+
}).createRoute(path);
|
|
15
|
+
}
|
|
16
|
+
return new FileRoute(path, {
|
|
17
|
+
silent: true
|
|
18
|
+
}).createRoute;
|
|
19
|
+
}
|
|
20
|
+
class FileRoute {
|
|
21
|
+
constructor(path, _opts) {
|
|
22
|
+
this.path = path;
|
|
23
|
+
this.createRoute = (options) => {
|
|
24
|
+
warning(
|
|
25
|
+
this.silent,
|
|
26
|
+
"FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead."
|
|
27
|
+
);
|
|
28
|
+
const route = createRoute(options);
|
|
29
|
+
route.isRoot = false;
|
|
30
|
+
return route;
|
|
31
|
+
};
|
|
32
|
+
this.silent = _opts == null ? void 0 : _opts.silent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function FileRouteLoader(_path) {
|
|
36
|
+
warning(
|
|
37
|
+
false,
|
|
38
|
+
`FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \`createFileRoute('/path/to/file')(options)\` options`
|
|
39
|
+
);
|
|
40
|
+
return (loaderFn) => loaderFn;
|
|
41
|
+
}
|
|
42
|
+
class LazyRoute {
|
|
43
|
+
constructor(opts) {
|
|
44
|
+
this.useMatch = (opts2) => {
|
|
45
|
+
return useMatch({
|
|
46
|
+
select: opts2 == null ? void 0 : opts2.select,
|
|
47
|
+
from: this.options.id
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
this.useRouteContext = (opts2) => {
|
|
51
|
+
return useMatch({
|
|
52
|
+
from: this.options.id,
|
|
53
|
+
select: (d) => (opts2 == null ? void 0 : opts2.select) ? opts2.select(d.context) : d.context
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
this.useSearch = (opts2) => {
|
|
57
|
+
return useSearch({
|
|
58
|
+
select: opts2 == null ? void 0 : opts2.select,
|
|
59
|
+
from: this.options.id
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
this.useParams = (opts2) => {
|
|
63
|
+
return useParams({
|
|
64
|
+
select: opts2 == null ? void 0 : opts2.select,
|
|
65
|
+
from: this.options.id
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
this.useLoaderDeps = (opts2) => {
|
|
69
|
+
return useLoaderDeps({ ...opts2, from: this.options.id });
|
|
70
|
+
};
|
|
71
|
+
this.useLoaderData = (opts2) => {
|
|
72
|
+
return useLoaderData({ ...opts2, from: this.options.id });
|
|
73
|
+
};
|
|
74
|
+
this.useNavigate = () => {
|
|
75
|
+
const router = useRouter();
|
|
76
|
+
return useNavigate({ from: router.routesById[this.options.id].fullPath });
|
|
77
|
+
};
|
|
78
|
+
this.options = opts;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
function createLazyRoute(id) {
|
|
82
|
+
return (opts) => {
|
|
83
|
+
return new LazyRoute({
|
|
84
|
+
id,
|
|
85
|
+
...opts
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function createLazyFileRoute(id) {
|
|
90
|
+
if (typeof id === "object") {
|
|
91
|
+
return new LazyRoute(id);
|
|
92
|
+
}
|
|
93
|
+
return (opts) => new LazyRoute({ id, ...opts });
|
|
94
|
+
}
|
|
95
|
+
export {
|
|
96
|
+
FileRoute,
|
|
97
|
+
FileRouteLoader,
|
|
98
|
+
LazyRoute,
|
|
99
|
+
createFileRoute,
|
|
100
|
+
createLazyFileRoute,
|
|
101
|
+
createLazyRoute
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=fileRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileRoute.js","sources":["../../src/fileRoute.ts"],"sourcesContent":["import warning from 'tiny-warning'\nimport { createRoute } from './route'\n\nimport { useMatch } from './useMatch'\nimport { useLoaderDeps } from './useLoaderDeps'\nimport { useLoaderData } from './useLoaderData'\nimport { useSearch } from './useSearch'\nimport { useParams } from './useParams'\nimport { useNavigate } from './useNavigate'\nimport { useRouter } from './useRouter'\nimport type { UseParamsRoute } from './useParams'\nimport type { UseMatchRoute } from './useMatch'\nimport type { UseSearchRoute } from './useSearch'\nimport type {\n AnyContext,\n AnyRoute,\n AnyRouter,\n Constrain,\n ConstrainLiteral,\n FileBaseRouteOptions,\n FileRoutesByPath,\n LazyRouteOptions,\n RegisteredRouter,\n ResolveParams,\n Route,\n RouteById,\n RouteConstraints,\n RouteIds,\n RouteLoaderFn,\n UpdatableRouteOptions,\n UseNavigateResult,\n} from '@tanstack/router-core'\nimport type { UseLoaderDepsRoute } from './useLoaderDeps'\nimport type { UseLoaderDataRoute } from './useLoaderData'\nimport type { UseRouteContextRoute } from './useRouteContext'\n\nexport function createFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends\n RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath'],\n>(\n path?: TFilePath,\n): FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>['createRoute'] {\n if (typeof path === 'object') {\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute(path) as any\n }\n return new FileRoute<TFilePath, TParentRoute, TId, TPath, TFullPath>(path, {\n silent: true,\n }).createRoute\n}\n\n/** \n @deprecated It's no longer recommended to use the `FileRoute` class directly.\n Instead, use `createFileRoute('/path/to/file')(options)` to create a file route.\n*/\nexport class FileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TParentRoute extends AnyRoute = FileRoutesByPath[TFilePath]['parentRoute'],\n TId extends RouteConstraints['TId'] = FileRoutesByPath[TFilePath]['id'],\n TPath extends RouteConstraints['TPath'] = FileRoutesByPath[TFilePath]['path'],\n TFullPath extends\n RouteConstraints['TFullPath'] = FileRoutesByPath[TFilePath]['fullPath'],\n> {\n silent?: boolean\n\n constructor(\n public path?: TFilePath,\n _opts?: { silent: boolean },\n ) {\n this.silent = _opts?.silent\n }\n\n createRoute = <\n TSearchValidator = undefined,\n TParams = ResolveParams<TPath>,\n TRouteContextFn = AnyContext,\n TBeforeLoadFn = AnyContext,\n TLoaderDeps extends Record<string, any> = {},\n TLoaderFn = undefined,\n TChildren = unknown,\n >(\n options?: FileBaseRouteOptions<\n TParentRoute,\n TId,\n TPath,\n TSearchValidator,\n TParams,\n TLoaderDeps,\n TLoaderFn,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n > &\n UpdatableRouteOptions<\n TParentRoute,\n TId,\n TFullPath,\n TParams,\n TSearchValidator,\n TLoaderFn,\n TLoaderDeps,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn\n >,\n ): Route<\n TParentRoute,\n TPath,\n TFullPath,\n TFilePath,\n TId,\n TSearchValidator,\n TParams,\n AnyContext,\n TRouteContextFn,\n TBeforeLoadFn,\n TLoaderDeps,\n TLoaderFn,\n TChildren,\n unknown\n > => {\n warning(\n this.silent,\n 'FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.',\n )\n const route = createRoute(options as any)\n ;(route as any).isRoot = false\n return route as any\n }\n}\n\n/** \n @deprecated It's recommended not to split loaders into separate files.\n Instead, place the loader function in the the main route file, inside the\n `createFileRoute('/path/to/file)(options)` options.\n*/\nexport function FileRouteLoader<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(\n _path: TFilePath,\n): <TLoaderFn>(\n loaderFn: Constrain<\n TLoaderFn,\n RouteLoaderFn<\n TRoute['parentRoute'],\n TRoute['types']['id'],\n TRoute['types']['params'],\n TRoute['types']['loaderDeps'],\n TRoute['types']['routerContext'],\n TRoute['types']['routeContextFn'],\n TRoute['types']['beforeLoadFn']\n >\n >,\n) => TLoaderFn {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`,\n )\n return (loaderFn) => loaderFn as any\n}\n\ndeclare module '@tanstack/router-core' {\n export interface LazyRoute<in out TRoute extends AnyRoute> {\n useMatch: UseMatchRoute<TRoute['id']>\n useRouteContext: UseRouteContextRoute<TRoute['id']>\n useSearch: UseSearchRoute<TRoute['id']>\n useParams: UseParamsRoute<TRoute['id']>\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']>\n useLoaderData: UseLoaderDataRoute<TRoute['id']>\n useNavigate: () => UseNavigateResult<TRoute['fullPath']>\n }\n}\n\nexport class LazyRoute<TRoute extends AnyRoute> {\n options: {\n id: string\n } & LazyRouteOptions\n\n constructor(\n opts: {\n id: string\n } & LazyRouteOptions,\n ) {\n this.options = opts\n }\n\n useMatch: UseMatchRoute<TRoute['id']> = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useRouteContext: UseRouteContextRoute<TRoute['id']> = (opts) => {\n return useMatch({\n from: this.options.id,\n select: (d: any) => (opts?.select ? opts.select(d.context) : d.context),\n }) as any\n }\n\n useSearch: UseSearchRoute<TRoute['id']> = (opts) => {\n return useSearch({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useParams: UseParamsRoute<TRoute['id']> = (opts) => {\n return useParams({\n select: opts?.select,\n from: this.options.id,\n } as any) as any\n }\n\n useLoaderDeps: UseLoaderDepsRoute<TRoute['id']> = (opts) => {\n return useLoaderDeps({ ...opts, from: this.options.id } as any)\n }\n\n useLoaderData: UseLoaderDataRoute<TRoute['id']> = (opts) => {\n return useLoaderData({ ...opts, from: this.options.id } as any)\n }\n\n useNavigate = (): UseNavigateResult<TRoute['fullPath']> => {\n const router = useRouter()\n return useNavigate({ from: router.routesById[this.options.id].fullPath })\n }\n}\n\nexport function createLazyRoute<\n TRouter extends AnyRouter = RegisteredRouter,\n TId extends string = string,\n TRoute extends AnyRoute = RouteById<TRouter['routeTree'], TId>,\n>(id: ConstrainLiteral<TId, RouteIds<TRouter['routeTree']>>) {\n return (opts: LazyRouteOptions) => {\n return new LazyRoute<TRoute>({\n id: id,\n ...opts,\n })\n }\n}\nexport function createLazyFileRoute<\n TFilePath extends keyof FileRoutesByPath,\n TRoute extends FileRoutesByPath[TFilePath]['preLoaderRoute'],\n>(id: TFilePath): (opts: LazyRouteOptions) => LazyRoute<TRoute> {\n if (typeof id === 'object') {\n return new LazyRoute<TRoute>(id) as any\n }\n\n return (opts: LazyRouteOptions) => new LazyRoute<TRoute>({ id, ...opts })\n}\n"],"names":["opts"],"mappings":";;;;;;;;;AAoCO,SAAS,gBAQd,MAC0E;AACtE,MAAA,OAAO,SAAS,UAAU;AACrB,WAAA,IAAI,UAA0D,MAAM;AAAA,MACzE,QAAQ;AAAA,IAAA,CACT,EAAE,YAAY,IAAI;AAAA,EAAA;AAEd,SAAA,IAAI,UAA0D,MAAM;AAAA,IACzE,QAAQ;AAAA,EACT,CAAA,EAAE;AACL;AAMO,MAAM,UAOX;AAAA,EAGA,YACS,MACP,OACA;AAFO,SAAA,OAAA;AAMT,SAAA,cAAc,CASZ,YAuCG;AACH;AAAA,QACE,KAAK;AAAA,QACL;AAAA,MACF;AACM,YAAA,QAAQ,YAAY,OAAc;AACtC,YAAc,SAAS;AAClB,aAAA;AAAA,IACT;AA3DE,SAAK,SAAS,+BAAO;AAAA,EAAA;AA4DzB;AAOO,SAAS,gBAId,OAca;AACb;AAAA,IACE;AAAA,IACA;AAAA,EACF;AACA,SAAO,CAAC,aAAa;AACvB;AAcO,MAAM,UAAmC;AAAA,EAK9C,YACE,MAGA;AAIF,SAAA,WAAwC,CAACA,UAAS;AAChD,aAAO,SAAS;AAAA,QACd,QAAQA,SAAA,gBAAAA,MAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,kBAAsD,CAACA,UAAS;AAC9D,aAAO,SAAS;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,QACnB,QAAQ,CAAC,OAAYA,SAAA,gBAAAA,MAAM,UAASA,MAAK,OAAO,EAAE,OAAO,IAAI,EAAE;AAAA,MAAA,CAChE;AAAA,IACH;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAO,UAAU;AAAA,QACf,QAAQA,SAAA,gBAAAA,MAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,YAA0C,CAACA,UAAS;AAClD,aAAO,UAAU;AAAA,QACf,QAAQA,SAAA,gBAAAA,MAAM;AAAA,QACd,MAAM,KAAK,QAAQ;AAAA,MAAA,CACb;AAAA,IACV;AAEA,SAAA,gBAAkD,CAACA,UAAS;AACnD,aAAA,cAAc,EAAE,GAAGA,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,gBAAkD,CAACA,UAAS;AACnD,aAAA,cAAc,EAAE,GAAGA,OAAM,MAAM,KAAK,QAAQ,IAAW;AAAA,IAChE;AAEA,SAAA,cAAc,MAA6C;AACzD,YAAM,SAAS,UAAU;AAClB,aAAA,YAAY,EAAE,MAAM,OAAO,WAAW,KAAK,QAAQ,EAAE,EAAE,UAAU;AAAA,IAC1E;AA1CE,SAAK,UAAU;AAAA,EAAA;AA2CnB;AAEO,SAAS,gBAId,IAA2D;AAC3D,SAAO,CAAC,SAA2B;AACjC,WAAO,IAAI,UAAkB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AACF;AACO,SAAS,oBAGd,IAA8D;AAC1D,MAAA,OAAO,OAAO,UAAU;AACnB,WAAA,IAAI,UAAkB,EAAE;AAAA,EAAA;AAG1B,SAAA,CAAC,SAA2B,IAAI,UAAkB,EAAE,IAAI,GAAG,MAAM;AAC1E;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export { default as invariant } from 'tiny-invariant';
|
|
2
|
+
export { default as warning } from 'tiny-warning';
|
|
3
|
+
export { defer, TSR_DEFERRED_PROMISE, isMatch, joinPaths, cleanPath, trimPathLeft, trimPathRight, trimPath, resolvePath, parsePathname, interpolatePath, matchPathname, removeBasepath, matchByPath, encode, decode, rootRouteId, defaultSerializeError, defaultParseSearch, defaultStringifySearch, parseSearchWith, stringifySearchWith, escapeJSON, // SSR
|
|
4
|
+
pick, functionalUpdate, replaceEqualDeep, isPlainObject, isPlainArray, deepEqual, shallow, createControlledPromise, retainSearchParams, stripSearchParams, } from '@tanstack/router-core';
|
|
5
|
+
export type { StartSerializer, Serializable, SerializerParse, SerializerParseBy, SerializerStringify, SerializerStringifyBy, DeferredPromiseState, DeferredPromise, ParsedLocation, ParsePathParams, RemoveTrailingSlashes, RemoveLeadingSlashes, ActiveOptions, Segment, ResolveRelativePath, RootRouteId, AnyPathParams, ResolveParams, SearchSchemaInput, AnyContext, RouteContext, PreloadableObj, RoutePathOptions, StaticDataRouteOption, RoutePathOptionsIntersection, UpdatableStaticRouteOption, MetaDescriptor, RouteLinkEntry, ParseParamsFn, SearchFilter, ResolveId, InferFullSearchSchema, InferFullSearchSchemaInput, ErrorRouteProps, ErrorComponentProps, NotFoundRouteProps, TrimPath, TrimPathLeft, TrimPathRight, ParseSplatParams, SplatParams, StringifyParamsFn, ParamsOptions, InferAllParams, InferAllContext, LooseReturnType, LooseAsyncReturnType, ContextReturnType, ContextAsyncReturnType, ResolveLoaderData, ResolveRouteContext, SearchSerializer, SearchParser, TrailingSlashOption, ExtractedEntry, ExtractedStream, ExtractedPromise, StreamState, Manifest, RouterManagedTag, ControlledPromise, Constrain, Expand, MergeAll, Assign, IntersectAssign, ResolveValidatorInput, ResolveValidatorOutput, AnyValidator, DefaultValidator, ValidatorFn, AnySchema, AnyValidatorAdapter, AnyValidatorFn, AnyValidatorObj, ResolveValidatorInputFn, ResolveValidatorOutputFn, ResolveSearchValidatorInput, ResolveSearchValidatorInputFn, Validator, ValidatorAdapter, ValidatorObj, NavigateFn, BuildLocationFn, InferDescendantToPaths, RelativeToPath, RelativeToParentPath, RelativeToCurrentPath, Register, AbsoluteToPath, RelativeToPathAutoComplete, NavigateOptions, ToOptions, ToMaskOptions, ToSubOptions, ResolveRoute, SearchParamOptions, PathParamOptions, ToPathOption, LinkOptions, MakeOptionalPathParams, AnyRouterWithContext, ParseRoute, RoutesById, RouteById, RouteIds, RoutesByPath, RouteByPath, RoutePaths, FullSearchSchema, AllParams, AllLoaderData, FullSearchSchemaInput, AllContext, CommitLocationOptions, MatchLocation, ResolveFullSearchSchema, ResolveFullSearchSchemaInput, ResolveAllParamsFromParent, RouteContextParameter, BeforeLoadContextParameter, ResolveAllContext, FullSearchSchemaOption, MakeRemountDepsOptionsUnion, RemountDepsOptions, FileRouteTypes, FileRoutesByPath, UseNavigateResult, AnyRedirect, Redirect, ResolvedRedirect, RouteOptions, FileBaseRouteOptions, BaseRouteOptions, UpdatableRouteOptions, RouteLoaderFn, LoaderFnContext, MakeRouteMatch, MakeRouteMatchUnion, RouteMatch, AnyRouteMatch, RouteContextFn, RouteContextOptions, BeforeLoadFn, BeforeLoadContextOptions, ContextOptions, RootRouteOptions, AnyRouteWithContext, LazyRouteOptions, AnyRoute, ResolveFullPath, RouteConstraints, RouterState, ListenerFn, BuildNextOptions, AnyRouter, RegisteredRouter, RouterEvents, RouterEvent, RouterListener, MatchRouteOptions, RouteMask, RouterContextOptions, RouterOptions, RouterConstructorOptions, ControllablePromise, InjectedHtmlEntry, RouterErrorSerializer, SerializerExtensions, CreateFileRoute, CreateLazyFileRoute, } from '@tanstack/router-core';
|
|
6
|
+
export { createHistory, createBrowserHistory, createHashHistory, createMemoryHistory, } from '@tanstack/history';
|
|
7
|
+
export type { BlockerFn, HistoryLocation, RouterHistory, ParsedPath, HistoryState, } from '@tanstack/history';
|
|
8
|
+
export { useAwaited, Await } from './awaited.js';
|
|
9
|
+
export type { AwaitOptions } from './awaited.js';
|
|
10
|
+
export { CatchBoundary, ErrorComponent } from './CatchBoundary.js';
|
|
11
|
+
export { ClientOnly } from './ClientOnly.js';
|
|
12
|
+
export { FileRoute, createFileRoute, FileRouteLoader, LazyRoute, createLazyRoute, createLazyFileRoute, } from './fileRoute.js';
|
|
13
|
+
export * from './history.js';
|
|
14
|
+
export { lazyRouteComponent } from './lazyRouteComponent.js';
|
|
15
|
+
export { useLinkProps, createLink, Link, linkOptions } from './link.js';
|
|
16
|
+
export type { UseLinkPropsOptions, ActiveLinkOptions, LinkProps, LinkComponent, LinkComponentProps, CreateLinkProps, } from './link.js';
|
|
17
|
+
export { Matches, useMatchRoute, MatchRoute, useMatches, useParentMatches, useChildMatches, } from './Matches.js';
|
|
18
|
+
export type { UseMatchRouteOptions, MakeMatchRouteOptions } from './Matches.js';
|
|
19
|
+
export { matchContext } from './matchContext.js';
|
|
20
|
+
export { Match, Outlet } from './Match.js';
|
|
21
|
+
export { useMatch } from './useMatch.js';
|
|
22
|
+
export { useLoaderDeps } from './useLoaderDeps.js';
|
|
23
|
+
export { useLoaderData } from './useLoaderData.js';
|
|
24
|
+
export { redirect, isRedirect } from '@tanstack/router-core';
|
|
25
|
+
export { RouteApi, getRouteApi, Route, createRoute, RootRoute, rootRouteWithContext, createRootRoute, createRootRouteWithContext, createRouteMask, NotFoundRoute, } from './route.js';
|
|
26
|
+
export type { AnyRootRoute, SolidNode, SyncRouteComponent, AsyncRouteComponent, RouteComponent, ErrorRouteComponent, NotFoundRouteComponent, } from './route.js';
|
|
27
|
+
export { createRouter, Router } from './router.js';
|
|
28
|
+
export { componentTypes, lazyFn, SearchParamError, PathParamError, getInitialRouterState, } from '@tanstack/router-core';
|
|
29
|
+
export { RouterProvider, RouterContextProvider } from './RouterProvider.js';
|
|
30
|
+
export type { RouterProps } from './RouterProvider.js';
|
|
31
|
+
export { useElementScrollRestoration, ScrollRestoration, } from './ScrollRestoration.js';
|
|
32
|
+
export type { UseBlockerOpts, ShouldBlockFn } from './useBlocker.js';
|
|
33
|
+
export { useBlocker, Block } from './useBlocker.js';
|
|
34
|
+
export { useNavigate, Navigate } from './useNavigate.js';
|
|
35
|
+
export { useParams } from './useParams.js';
|
|
36
|
+
export { useSearch } from './useSearch.js';
|
|
37
|
+
export { getRouterContext, } from './routerContext.js';
|
|
38
|
+
export { useRouteContext } from './useRouteContext.js';
|
|
39
|
+
export { useRouter } from './useRouter.js';
|
|
40
|
+
export { useRouterState } from './useRouterState.js';
|
|
41
|
+
export { useLocation } from './useLocation.js';
|
|
42
|
+
export { useCanGoBack } from './useCanGoBack.js';
|
|
43
|
+
export { useLayoutEffect } from './utils.js';
|
|
44
|
+
export { CatchNotFound, DefaultGlobalNotFound } from './not-found.js';
|
|
45
|
+
export { notFound, isNotFound } from '@tanstack/router-core';
|
|
46
|
+
export type { NotFoundError } from '@tanstack/router-core';
|
|
47
|
+
export type { ValidateLinkOptions, ValidateUseSearchOptions, ValidateUseParamsOptions, ValidateLinkOptionsArray, } from './typePrimitives.js';
|
|
48
|
+
export type { ValidateFromPath, ValidateToPath, ValidateSearch, ValidateParams, InferFrom, InferTo, InferMaskTo, InferMaskFrom, ValidateNavigateOptions, ValidateNavigateOptionsArray, ValidateRedirectOptions, ValidateRedirectOptionsArray, ValidateId, InferStrict, InferShouldThrow, InferSelected, ValidateUseSearchResult, ValidateUseParamsResult, } from '@tanstack/router-core';
|
|
49
|
+
export { ScriptOnce } from './ScriptOnce.js';
|
|
50
|
+
export { Asset } from './Asset.js';
|
|
51
|
+
export { HeadContent, useTags } from './HeadContent.js';
|
|
52
|
+
export { Scripts } from './Scripts.js';
|