@bleedingdev/modern-js-renderer-solid 0.0.0-stage → 3.9.3-ultramodern.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/esm/actions.js +283 -0
- package/dist/esm/application-router.js +25 -0
- package/dist/esm/client.js +49 -0
- package/dist/esm/entry-application.js +60 -0
- package/dist/esm/entry-client.js +23 -0
- package/dist/esm/federation-context.js +25 -0
- package/dist/esm/federation-ssr.js +84 -0
- package/dist/esm/federation.js +83 -0
- package/dist/esm/i18n/I18nProvider.js +33 -0
- package/dist/esm/i18n/LocalizedLink.js +74 -0
- package/dist/esm/i18n/context.js +3 -0
- package/dist/esm/i18n/index.js +8 -0
- package/dist/esm/i18n/languageSync.js +50 -0
- package/dist/esm/i18n/types.js +0 -0
- package/dist/esm/i18n/useI18n.js +74 -0
- package/dist/esm/index.js +58 -0
- package/dist/esm/manifest.js +150 -0
- package/dist/esm/route-completion.js +150 -0
- package/dist/esm/route-data-error.js +108 -0
- package/dist/esm/router-binding/Asset.js +201 -0
- package/dist/esm/router-binding/CatchBoundary.js +94 -0
- package/dist/esm/router-binding/ClientOnly.js +26 -0
- package/dist/esm/router-binding/HeadContent.js +8 -0
- package/dist/esm/router-binding/LICENSE +21 -0
- package/dist/esm/router-binding/Match.js +319 -0
- package/dist/esm/router-binding/Matches.js +117 -0
- package/dist/esm/router-binding/PROVENANCE.json +94 -0
- package/dist/esm/router-binding/RouterProvider.js +51 -0
- package/dist/esm/router-binding/SafeFragment.js +5 -0
- package/dist/esm/router-binding/ScriptOnce.js +15 -0
- package/dist/esm/router-binding/Scripts.js +30 -0
- package/dist/esm/router-binding/ScrollRestoration.js +16 -0
- package/dist/esm/router-binding/Transitioner.js +103 -0
- package/dist/esm/router-binding/awaited.js +48 -0
- package/dist/esm/router-binding/fileRoute.js +83 -0
- package/dist/esm/router-binding/flightData.js +23 -0
- package/dist/esm/router-binding/headContentUtils.js +162 -0
- package/dist/esm/router-binding/history.js +0 -0
- package/dist/esm/router-binding/index.js +35 -0
- package/dist/esm/router-binding/lazyRouteComponent.js +30 -0
- package/dist/esm/router-binding/link.js +389 -0
- package/dist/esm/router-binding/matchContext.js +7 -0
- package/dist/esm/router-binding/nonRouteComponentContext.js +13 -0
- package/dist/esm/router-binding/not-found.js +35 -0
- package/dist/esm/router-binding/publicMatchData.js +447 -0
- package/dist/esm/router-binding/registryTransfer.js +210 -0
- package/dist/esm/router-binding/renderRouteNotFound.js +23 -0
- package/dist/esm/router-binding/route.js +143 -0
- package/dist/esm/router-binding/router.js +13 -0
- package/dist/esm/router-binding/routerContext.js +3 -0
- package/dist/esm/router-binding/routerStores.js +50 -0
- package/dist/esm/router-binding/scroll-restoration.js +13 -0
- package/dist/esm/router-binding/typePrimitives.js +0 -0
- package/dist/esm/router-binding/useBlocker.js +152 -0
- package/dist/esm/router-binding/useCanGoBack.js +7 -0
- package/dist/esm/router-binding/useLoaderData.js +9 -0
- package/dist/esm/router-binding/useLoaderDeps.js +8 -0
- package/dist/esm/router-binding/useLocation.js +14 -0
- package/dist/esm/router-binding/useMatch.js +28 -0
- package/dist/esm/router-binding/useNavigate.js +19 -0
- package/dist/esm/router-binding/useParams.js +13 -0
- package/dist/esm/router-binding/useRouteContext.js +8 -0
- package/dist/esm/router-binding/useRouter.js +10 -0
- package/dist/esm/router-binding/useRouterState.js +19 -0
- package/dist/esm/router-binding/useSearch.js +13 -0
- package/dist/esm/router-binding/utils.js +23 -0
- package/dist/esm/router.js +187 -0
- package/dist/esm-node/actions.js +263 -0
- package/dist/esm-node/application-router.js +25 -0
- package/dist/esm-node/client.js +49 -0
- package/dist/esm-node/entry-application.js +110 -0
- package/dist/esm-node/entry-client.js +23 -0
- package/dist/esm-node/entry-server.js +47 -0
- package/dist/esm-node/federation-context.js +25 -0
- package/dist/esm-node/federation-ssr.js +84 -0
- package/dist/esm-node/federation.js +83 -0
- package/dist/esm-node/i18n/I18nProvider.js +42 -0
- package/dist/esm-node/i18n/LocalizedLink.js +142 -0
- package/dist/esm-node/i18n/context.js +3 -0
- package/dist/esm-node/i18n/index.js +8 -0
- package/dist/esm-node/i18n/languageSync.js +50 -0
- package/dist/esm-node/i18n/types.js +1 -0
- package/dist/esm-node/i18n/useI18n.js +74 -0
- package/dist/esm-node/index.js +58 -0
- package/dist/esm-node/manifest.js +150 -0
- package/dist/esm-node/native-promise-serialization.js +113 -0
- package/dist/esm-node/plugin/compiler.js +209 -0
- package/dist/esm-node/plugin/create.js +235 -0
- package/dist/esm-node/plugin/index.js +73 -0
- package/dist/esm-node/plugin/profile.js +52 -0
- package/dist/esm-node/route-completion.js +160 -0
- package/dist/esm-node/route-data-error.js +108 -0
- package/dist/esm-node/router-binding/Asset.js +171 -0
- package/dist/esm-node/router-binding/CatchBoundary.js +136 -0
- package/dist/esm-node/router-binding/ClientOnly.js +46 -0
- package/dist/esm-node/router-binding/HeadContent.js +8 -0
- package/dist/esm-node/router-binding/LICENSE +21 -0
- package/dist/esm-node/router-binding/Match.js +660 -0
- package/dist/esm-node/router-binding/Matches.js +161 -0
- package/dist/esm-node/router-binding/PROVENANCE.json +94 -0
- package/dist/esm-node/router-binding/RouterProvider.js +87 -0
- package/dist/esm-node/router-binding/SafeFragment.js +5 -0
- package/dist/esm-node/router-binding/ScriptOnce.js +16 -0
- package/dist/esm-node/router-binding/Scripts.js +49 -0
- package/dist/esm-node/router-binding/ScrollRestoration.js +16 -0
- package/dist/esm-node/router-binding/Transitioner.js +103 -0
- package/dist/esm-node/router-binding/awaited.js +75 -0
- package/dist/esm-node/router-binding/fileRoute.js +83 -0
- package/dist/esm-node/router-binding/flightData.js +23 -0
- package/dist/esm-node/router-binding/headContentUtils.js +162 -0
- package/dist/esm-node/router-binding/history.js +1 -0
- package/dist/esm-node/router-binding/index.js +35 -0
- package/dist/esm-node/router-binding/lazyRouteComponent.js +30 -0
- package/dist/esm-node/router-binding/link.js +399 -0
- package/dist/esm-node/router-binding/matchContext.js +7 -0
- package/dist/esm-node/router-binding/nonRouteComponentContext.js +22 -0
- package/dist/esm-node/router-binding/not-found.js +49 -0
- package/dist/esm-node/router-binding/publicMatchData.js +447 -0
- package/dist/esm-node/router-binding/registryTransfer.js +210 -0
- package/dist/esm-node/router-binding/renderRouteNotFound.js +22 -0
- package/dist/esm-node/router-binding/route.js +162 -0
- package/dist/esm-node/router-binding/router.js +13 -0
- package/dist/esm-node/router-binding/routerContext.js +3 -0
- package/dist/esm-node/router-binding/routerStores.js +50 -0
- package/dist/esm-node/router-binding/scroll-restoration.js +12 -0
- package/dist/esm-node/router-binding/typePrimitives.js +1 -0
- package/dist/esm-node/router-binding/useBlocker.js +152 -0
- package/dist/esm-node/router-binding/useCanGoBack.js +7 -0
- package/dist/esm-node/router-binding/useLoaderData.js +9 -0
- package/dist/esm-node/router-binding/useLoaderDeps.js +8 -0
- package/dist/esm-node/router-binding/useLocation.js +14 -0
- package/dist/esm-node/router-binding/useMatch.js +28 -0
- package/dist/esm-node/router-binding/useNavigate.js +19 -0
- package/dist/esm-node/router-binding/useParams.js +13 -0
- package/dist/esm-node/router-binding/useRouteContext.js +8 -0
- package/dist/esm-node/router-binding/useRouter.js +10 -0
- package/dist/esm-node/router-binding/useRouterState.js +19 -0
- package/dist/esm-node/router-binding/useSearch.js +13 -0
- package/dist/esm-node/router-binding/utils.js +23 -0
- package/dist/esm-node/router.js +187 -0
- package/dist/esm-node/server.js +396 -0
- package/dist/types/actions.d.ts +45 -0
- package/dist/types/application-router.d.ts +5 -0
- package/dist/types/client.d.ts +23 -0
- package/dist/types/entry-application.d.ts +10 -0
- package/dist/types/entry-client.d.ts +5 -0
- package/dist/types/entry-server.d.ts +5 -0
- package/dist/types/federation-context.d.ts +16 -0
- package/dist/types/federation-ssr.d.ts +21 -0
- package/dist/types/federation.d.ts +30 -0
- package/dist/types/i18n/I18nProvider.d.ts +21 -0
- package/dist/types/i18n/LocalizedLink.d.ts +43 -0
- package/dist/types/i18n/context.d.ts +11 -0
- package/dist/types/i18n/index.d.ts +9 -0
- package/dist/types/i18n/languageSync.d.ts +31 -0
- package/dist/types/i18n/types.d.ts +33 -0
- package/dist/types/i18n/useI18n.d.ts +24 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/manifest.d.ts +55 -0
- package/dist/types/native-promise-serialization.d.ts +9 -0
- package/dist/types/plugin/compiler.d.ts +6 -0
- package/dist/types/plugin/create.d.ts +21 -0
- package/dist/types/plugin/index.d.ts +3 -0
- package/dist/types/plugin/lazy-modules.d.cts +15 -0
- package/dist/types/plugin/preserve-import-loader.d.cts +3 -0
- package/dist/types/plugin/profile.d.ts +2 -0
- package/dist/types/plugin/solid-loader.d.cts +2 -0
- package/dist/types/plugin/svg-component-template.d.cts +6 -0
- package/dist/types/route-completion.d.ts +21 -0
- package/dist/types/route-data-error.d.ts +17 -0
- package/dist/types/router-binding/Asset.d.ts +3 -0
- package/dist/types/router-binding/CatchBoundary.d.ts +13 -0
- package/dist/types/router-binding/ClientOnly.d.ts +31 -0
- package/dist/types/router-binding/HeadContent.d.ts +13 -0
- package/dist/types/router-binding/Match.d.ts +6 -0
- package/dist/types/router-binding/Matches.d.ts +26 -0
- package/dist/types/router-binding/RouterProvider.d.ts +10 -0
- package/dist/types/router-binding/SafeFragment.d.ts +2 -0
- package/dist/types/router-binding/ScriptOnce.d.ts +6 -0
- package/dist/types/router-binding/Scripts.d.ts +2 -0
- package/dist/types/router-binding/ScrollRestoration.d.ts +14 -0
- package/dist/types/router-binding/Transitioner.d.ts +2 -0
- package/dist/types/router-binding/awaited.d.ts +11 -0
- package/dist/types/router-binding/fileRoute.d.ts +54 -0
- package/dist/types/router-binding/flightData.d.ts +38 -0
- package/dist/types/router-binding/headContentUtils.d.ts +15 -0
- package/dist/types/router-binding/history.d.ts +8 -0
- package/dist/types/router-binding/index.d.ts +45 -0
- package/dist/types/router-binding/lazyRouteComponent.d.ts +2 -0
- package/dist/types/router-binding/link.d.ts +43 -0
- package/dist/types/router-binding/matchContext.d.ts +7 -0
- package/dist/types/router-binding/nonRouteComponentContext.d.ts +5 -0
- package/dist/types/router-binding/not-found.d.ts +11 -0
- package/dist/types/router-binding/publicMatchData.d.ts +19 -0
- package/dist/types/router-binding/registryTransfer.d.ts +47 -0
- package/dist/types/router-binding/renderRouteNotFound.d.ts +11 -0
- package/dist/types/router-binding/route.d.ts +105 -0
- package/dist/types/router-binding/router.d.ts +70 -0
- package/dist/types/router-binding/routerContext.d.ts +3 -0
- package/dist/types/router-binding/routerStores.d.ts +2 -0
- package/dist/types/router-binding/scroll-restoration.d.ts +2 -0
- package/dist/types/router-binding/typePrimitives.d.ts +10 -0
- package/dist/types/router-binding/useBlocker.d.ts +70 -0
- package/dist/types/router-binding/useCanGoBack.d.ts +2 -0
- package/dist/types/router-binding/useLoaderData.d.ts +8 -0
- package/dist/types/router-binding/useLoaderDeps.d.ts +8 -0
- package/dist/types/router-binding/useLocation.d.ts +7 -0
- package/dist/types/router-binding/useMatch.d.ts +10 -0
- package/dist/types/router-binding/useNavigate.d.ts +5 -0
- package/dist/types/router-binding/useParams.d.ts +9 -0
- package/dist/types/router-binding/useRouteContext.d.ts +4 -0
- package/dist/types/router-binding/useRouter.d.ts +4 -0
- package/dist/types/router-binding/useRouterState.d.ts +8 -0
- package/dist/types/router-binding/useSearch.d.ts +9 -0
- package/dist/types/router-binding/utils.d.ts +25 -0
- package/dist/types/router.d.ts +31 -0
- package/dist/types/server.d.ts +47 -0
- package/package.json +123 -4
- package/src/actions.tsx +437 -0
- package/src/application-router.tsx +41 -0
- package/src/client.ts +106 -0
- package/src/entry-application.tsx +73 -0
- package/src/entry-client.tsx +48 -0
- package/src/entry-server.tsx +85 -0
- package/src/federation-context.ts +47 -0
- package/src/federation-ssr.ts +117 -0
- package/src/federation.tsx +193 -0
- package/src/i18n/I18nProvider.tsx +54 -0
- package/src/i18n/LocalizedLink.tsx +122 -0
- package/src/i18n/context.ts +13 -0
- package/src/i18n/index.ts +35 -0
- package/src/i18n/languageSync.ts +113 -0
- package/src/i18n/types.ts +35 -0
- package/src/i18n/useI18n.ts +121 -0
- package/src/index.ts +41 -0
- package/src/manifest.ts +337 -0
- package/src/native-promise-serialization.ts +167 -0
- package/src/plugin/compiler.ts +320 -0
- package/src/plugin/create.ts +270 -0
- package/src/plugin/index.ts +72 -0
- package/src/plugin/lazy-modules.cjs +146 -0
- package/src/plugin/preserve-import-loader.cjs +46 -0
- package/src/plugin/profile.ts +42 -0
- package/src/plugin/solid-loader.cjs +83 -0
- package/src/plugin/svg-component-template.cjs +19 -0
- package/src/route-completion.tsx +222 -0
- package/src/route-data-error.ts +175 -0
- package/src/router-binding/Asset.tsx +283 -0
- package/src/router-binding/CatchBoundary.tsx +130 -0
- package/src/router-binding/ClientOnly.tsx +76 -0
- package/src/router-binding/HeadContent.tsx +23 -0
- package/src/router-binding/LICENSE +21 -0
- package/src/router-binding/Match.tsx +397 -0
- package/src/router-binding/Matches.tsx +242 -0
- package/src/router-binding/PROVENANCE.json +94 -0
- package/src/router-binding/RouterProvider.tsx +129 -0
- package/src/router-binding/SafeFragment.tsx +5 -0
- package/src/router-binding/ScriptOnce.tsx +23 -0
- package/src/router-binding/Scripts.tsx +44 -0
- package/src/router-binding/ScrollRestoration.tsx +49 -0
- package/src/router-binding/Transitioner.tsx +172 -0
- package/src/router-binding/awaited.tsx +71 -0
- package/src/router-binding/fileRoute.ts +268 -0
- package/src/router-binding/flightData.ts +90 -0
- package/src/router-binding/headContentUtils.tsx +290 -0
- package/src/router-binding/history.ts +9 -0
- package/src/router-binding/index.tsx +318 -0
- package/src/router-binding/lazyRouteComponent.tsx +70 -0
- package/src/router-binding/link.tsx +865 -0
- package/src/router-binding/matchContext.tsx +15 -0
- package/src/router-binding/nonRouteComponentContext.tsx +23 -0
- package/src/router-binding/not-found.tsx +65 -0
- package/src/router-binding/publicMatchData.ts +674 -0
- package/src/router-binding/registryTransfer.ts +383 -0
- package/src/router-binding/renderRouteNotFound.tsx +53 -0
- package/src/router-binding/route.tsx +665 -0
- package/src/router-binding/router.ts +121 -0
- package/src/router-binding/routerContext.tsx +6 -0
- package/src/router-binding/routerStores.ts +85 -0
- package/src/router-binding/scroll-restoration.tsx +15 -0
- package/src/router-binding/typePrimitives.ts +74 -0
- package/src/router-binding/useBlocker.tsx +359 -0
- package/src/router-binding/useCanGoBack.ts +9 -0
- package/src/router-binding/useLoaderData.tsx +50 -0
- package/src/router-binding/useLoaderDeps.tsx +46 -0
- package/src/router-binding/useLocation.tsx +43 -0
- package/src/router-binding/useMatch.tsx +111 -0
- package/src/router-binding/useNavigate.tsx +43 -0
- package/src/router-binding/useParams.tsx +72 -0
- package/src/router-binding/useRouteContext.ts +30 -0
- package/src/router-binding/useRouter.tsx +17 -0
- package/src/router-binding/useRouterState.tsx +50 -0
- package/src/router-binding/useSearch.tsx +72 -0
- package/src/router-binding/utils.ts +59 -0
- package/src/router.ts +376 -0
- package/src/server.ts +645 -0
- package/README.md +0 -3
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { createComponent, mergeProps } from "@solidjs/web";
|
|
2
|
+
import { BaseRootRoute, BaseRoute, BaseRouteApi, notFound } from "@tanstack/router-core";
|
|
3
|
+
import { Link } from "./link.js";
|
|
4
|
+
import { useLoaderData } from "./useLoaderData.js";
|
|
5
|
+
import { useLoaderDeps } from "./useLoaderDeps.js";
|
|
6
|
+
import { useMatch } from "./useMatch.js";
|
|
7
|
+
import { useNavigate } from "./useNavigate.js";
|
|
8
|
+
import { useParams } from "./useParams.js";
|
|
9
|
+
import { useRouteContext } from "./useRouteContext.js";
|
|
10
|
+
import { useRouter } from "./useRouter.js";
|
|
11
|
+
import { useSearch } from "./useSearch.js";
|
|
12
|
+
function getRouteApi(id) {
|
|
13
|
+
return new RouteApi({
|
|
14
|
+
id
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
class RouteApi extends BaseRouteApi {
|
|
18
|
+
constructor({ id }){
|
|
19
|
+
super({
|
|
20
|
+
id
|
|
21
|
+
}), this.useMatch = (opts)=>useMatch({
|
|
22
|
+
select: opts?.select,
|
|
23
|
+
from: this.id
|
|
24
|
+
}), this.useRouteContext = (opts)=>useRouteContext({
|
|
25
|
+
...opts,
|
|
26
|
+
from: this.id
|
|
27
|
+
}), this.useSearch = (opts)=>useSearch({
|
|
28
|
+
select: opts?.select,
|
|
29
|
+
from: this.id
|
|
30
|
+
}), this.useParams = (opts)=>useParams({
|
|
31
|
+
select: opts?.select,
|
|
32
|
+
from: this.id
|
|
33
|
+
}), this.useLoaderDeps = (opts)=>useLoaderDeps({
|
|
34
|
+
...opts,
|
|
35
|
+
from: this.id,
|
|
36
|
+
strict: false
|
|
37
|
+
}), this.useLoaderData = (opts)=>useLoaderData({
|
|
38
|
+
...opts,
|
|
39
|
+
from: this.id,
|
|
40
|
+
strict: false
|
|
41
|
+
}), this.useNavigate = ()=>{
|
|
42
|
+
const router = useRouter();
|
|
43
|
+
return useNavigate({
|
|
44
|
+
from: router.routesById[this.id].fullPath
|
|
45
|
+
});
|
|
46
|
+
}, this.notFound = (opts)=>notFound({
|
|
47
|
+
routeId: this.id,
|
|
48
|
+
...opts
|
|
49
|
+
}), this.Link = (props)=>{
|
|
50
|
+
const router = useRouter();
|
|
51
|
+
const fullPath = router.routesById[this.id].fullPath;
|
|
52
|
+
return createComponent(Link, mergeProps({
|
|
53
|
+
from: fullPath
|
|
54
|
+
}, props));
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
class Route extends BaseRoute {
|
|
59
|
+
constructor(options){
|
|
60
|
+
super(options), this.useMatch = (opts)=>useMatch({
|
|
61
|
+
select: opts?.select,
|
|
62
|
+
from: this.id
|
|
63
|
+
}), this.useRouteContext = (opts)=>useRouteContext({
|
|
64
|
+
...opts,
|
|
65
|
+
from: this.id
|
|
66
|
+
}), this.useSearch = (opts)=>useSearch({
|
|
67
|
+
select: opts?.select,
|
|
68
|
+
from: this.id
|
|
69
|
+
}), this.useParams = (opts)=>useParams({
|
|
70
|
+
select: opts?.select,
|
|
71
|
+
from: this.id
|
|
72
|
+
}), this.useLoaderDeps = (opts)=>useLoaderDeps({
|
|
73
|
+
...opts,
|
|
74
|
+
from: this.id
|
|
75
|
+
}), this.useLoaderData = (opts)=>useLoaderData({
|
|
76
|
+
...opts,
|
|
77
|
+
from: this.id
|
|
78
|
+
}), this.useNavigate = ()=>useNavigate({
|
|
79
|
+
from: this.fullPath
|
|
80
|
+
}), this.Link = (props)=>{
|
|
81
|
+
const _self$ = this;
|
|
82
|
+
return createComponent(Link, mergeProps({
|
|
83
|
+
get from () {
|
|
84
|
+
return _self$.fullPath;
|
|
85
|
+
}
|
|
86
|
+
}, props));
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function createRoute(options) {
|
|
91
|
+
return new Route(options);
|
|
92
|
+
}
|
|
93
|
+
function createRootRouteWithContext() {
|
|
94
|
+
return (options)=>createRootRoute(options);
|
|
95
|
+
}
|
|
96
|
+
const rootRouteWithContext = createRootRouteWithContext;
|
|
97
|
+
class RootRoute extends BaseRootRoute {
|
|
98
|
+
constructor(options){
|
|
99
|
+
super(options), this.useMatch = (opts)=>useMatch({
|
|
100
|
+
select: opts?.select,
|
|
101
|
+
from: this.id
|
|
102
|
+
}), this.useRouteContext = (opts)=>useRouteContext({
|
|
103
|
+
...opts,
|
|
104
|
+
from: this.id
|
|
105
|
+
}), this.useSearch = (opts)=>useSearch({
|
|
106
|
+
select: opts?.select,
|
|
107
|
+
from: this.id
|
|
108
|
+
}), this.useParams = (opts)=>useParams({
|
|
109
|
+
select: opts?.select,
|
|
110
|
+
from: this.id
|
|
111
|
+
}), this.useLoaderDeps = (opts)=>useLoaderDeps({
|
|
112
|
+
...opts,
|
|
113
|
+
from: this.id
|
|
114
|
+
}), this.useLoaderData = (opts)=>useLoaderData({
|
|
115
|
+
...opts,
|
|
116
|
+
from: this.id
|
|
117
|
+
}), this.useNavigate = ()=>useNavigate({
|
|
118
|
+
from: this.fullPath
|
|
119
|
+
}), this.Link = (props)=>{
|
|
120
|
+
const _self$2 = this;
|
|
121
|
+
return createComponent(Link, mergeProps({
|
|
122
|
+
get from () {
|
|
123
|
+
return _self$2.fullPath;
|
|
124
|
+
}
|
|
125
|
+
}, props));
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function createRouteMask(opts) {
|
|
130
|
+
return opts;
|
|
131
|
+
}
|
|
132
|
+
class NotFoundRoute extends Route {
|
|
133
|
+
constructor(options){
|
|
134
|
+
super({
|
|
135
|
+
...options,
|
|
136
|
+
id: "404"
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function createRootRoute(options) {
|
|
141
|
+
return new RootRoute(options);
|
|
142
|
+
}
|
|
143
|
+
export { NotFoundRoute, RootRoute, Route, RouteApi, createRootRoute, createRootRouteWithContext, createRoute, createRouteMask, getRouteApi, rootRouteWithContext };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RouterCore } from "@tanstack/router-core";
|
|
2
|
+
import { isServer } from "@tanstack/router-core/isServer";
|
|
3
|
+
import { installPublicContextPublication, primeRouterFromRegistry } from "./registryTransfer.js";
|
|
4
|
+
import { getStoreFactory } from "./routerStores.js";
|
|
5
|
+
const createRouter = (options)=>new Router(options);
|
|
6
|
+
class Router extends RouterCore {
|
|
7
|
+
constructor(options){
|
|
8
|
+
super(options, getStoreFactory);
|
|
9
|
+
installPublicContextPublication(this);
|
|
10
|
+
if (!(isServer ?? this.isServer)) primeRouterFromRegistry(this);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export { Router, createRouter };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createNonReactiveMutableStore, createNonReactiveReadonlyStore } from "@tanstack/router-core";
|
|
2
|
+
import { isServer } from "@tanstack/router-core/isServer";
|
|
3
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
4
|
+
const getStoreFactory = (opts)=>{
|
|
5
|
+
if (isServer ?? opts.isServer) return {
|
|
6
|
+
createMutableStore: createNonReactiveMutableStore,
|
|
7
|
+
createReadonlyStore: createNonReactiveReadonlyStore,
|
|
8
|
+
batch: (fn)=>fn()
|
|
9
|
+
};
|
|
10
|
+
let writeEpoch = 0;
|
|
11
|
+
function createSolidMutableStore(initialValue) {
|
|
12
|
+
const [signal, setSignal] = __rspack_external_solid_js_0ac0db99.createSignal(initialValue);
|
|
13
|
+
let current = initialValue;
|
|
14
|
+
let dirty = false;
|
|
15
|
+
return {
|
|
16
|
+
get: ()=>{
|
|
17
|
+
const settled = signal();
|
|
18
|
+
if (dirty && settled === current) dirty = false;
|
|
19
|
+
return dirty ? current : settled;
|
|
20
|
+
},
|
|
21
|
+
set: (next)=>{
|
|
22
|
+
current = "function" == typeof next ? next(current) : next;
|
|
23
|
+
dirty = true;
|
|
24
|
+
writeEpoch++;
|
|
25
|
+
setSignal(()=>current);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function createSolidReadonlyStore(read) {
|
|
30
|
+
const memo = __rspack_external_solid_js_0ac0db99.createRoot(()=>__rspack_external_solid_js_0ac0db99.createMemo(read));
|
|
31
|
+
let cache;
|
|
32
|
+
let cachedAt = -1;
|
|
33
|
+
return {
|
|
34
|
+
get: ()=>{
|
|
35
|
+
memo();
|
|
36
|
+
if (cachedAt !== writeEpoch) {
|
|
37
|
+
cache = __rspack_external_solid_js_0ac0db99.untrack(read);
|
|
38
|
+
cachedAt = writeEpoch;
|
|
39
|
+
}
|
|
40
|
+
return cache;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
createMutableStore: createSolidMutableStore,
|
|
46
|
+
createReadonlyStore: createSolidReadonlyStore,
|
|
47
|
+
batch: (fn)=>fn()
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export { getStoreFactory };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createComponent } from "@solidjs/web";
|
|
2
|
+
import { getScrollRestorationScriptForRouter } from "@tanstack/router-core/scroll-restoration-script";
|
|
3
|
+
import { ScriptOnce } from "./ScriptOnce.js";
|
|
4
|
+
import { useRouter } from "./useRouter.js";
|
|
5
|
+
function ScrollRestoration() {
|
|
6
|
+
const router = useRouter();
|
|
7
|
+
const script = getScrollRestorationScriptForRouter(router);
|
|
8
|
+
if (!script) return null;
|
|
9
|
+
return createComponent(ScriptOnce, {
|
|
10
|
+
children: script
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export { ScrollRestoration };
|
|
File without changes
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { memo } from "@solidjs/web";
|
|
2
|
+
import { useRouter } from "./useRouter.js";
|
|
3
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
4
|
+
function _resolveBlockerOpts(opts, condition) {
|
|
5
|
+
if (void 0 === opts) return {
|
|
6
|
+
shouldBlockFn: ()=>true,
|
|
7
|
+
withResolver: false
|
|
8
|
+
};
|
|
9
|
+
if ("shouldBlockFn" in opts) return opts;
|
|
10
|
+
if ("function" == typeof opts) {
|
|
11
|
+
const shouldBlock = Boolean(condition ?? true);
|
|
12
|
+
const _customBlockerFn = async ()=>{
|
|
13
|
+
if (shouldBlock) return await opts();
|
|
14
|
+
return false;
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
shouldBlockFn: _customBlockerFn,
|
|
18
|
+
enableBeforeUnload: shouldBlock,
|
|
19
|
+
withResolver: false
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const shouldBlock = __rspack_external_solid_js_0ac0db99.createMemo(()=>Boolean(opts.condition ?? true));
|
|
23
|
+
const _customBlockerFn = async ()=>{
|
|
24
|
+
if (shouldBlock() && void 0 !== opts.blockerFn) return await opts.blockerFn();
|
|
25
|
+
return shouldBlock();
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
get shouldBlockFn () {
|
|
29
|
+
return _customBlockerFn;
|
|
30
|
+
},
|
|
31
|
+
get enableBeforeUnload () {
|
|
32
|
+
return shouldBlock();
|
|
33
|
+
},
|
|
34
|
+
get withResolver () {
|
|
35
|
+
return void 0 === opts.blockerFn;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function useBlocker(opts, condition) {
|
|
40
|
+
const props = __rspack_external_solid_js_0ac0db99.merge({
|
|
41
|
+
enableBeforeUnload: true,
|
|
42
|
+
disabled: false,
|
|
43
|
+
withResolver: false
|
|
44
|
+
}, _resolveBlockerOpts(opts, condition));
|
|
45
|
+
const router = useRouter();
|
|
46
|
+
const [resolver, setResolver] = __rspack_external_solid_js_0ac0db99.createSignal({
|
|
47
|
+
status: "idle",
|
|
48
|
+
current: void 0,
|
|
49
|
+
next: void 0,
|
|
50
|
+
action: void 0,
|
|
51
|
+
proceed: void 0,
|
|
52
|
+
reset: void 0
|
|
53
|
+
});
|
|
54
|
+
let disposeBlock;
|
|
55
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>props.disabled, (disabled)=>{
|
|
56
|
+
disposeBlock?.();
|
|
57
|
+
disposeBlock = void 0;
|
|
58
|
+
if (disabled) return;
|
|
59
|
+
const blockerFnComposed = async (blockerFnArgs)=>{
|
|
60
|
+
function getLocation(location) {
|
|
61
|
+
const parsedLocation = router.parseLocation(location);
|
|
62
|
+
const [, rawParams, foundRoute] = router.getMatchedRoutes(parsedLocation.pathname);
|
|
63
|
+
if (void 0 === foundRoute) return {
|
|
64
|
+
routeId: "__notFound__",
|
|
65
|
+
fullPath: parsedLocation.pathname,
|
|
66
|
+
pathname: parsedLocation.pathname,
|
|
67
|
+
params: rawParams,
|
|
68
|
+
search: parsedLocation.search
|
|
69
|
+
};
|
|
70
|
+
return {
|
|
71
|
+
routeId: foundRoute.id,
|
|
72
|
+
fullPath: foundRoute.fullPath,
|
|
73
|
+
pathname: parsedLocation.pathname,
|
|
74
|
+
params: rawParams,
|
|
75
|
+
search: parsedLocation.search
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const current = getLocation(blockerFnArgs.currentLocation);
|
|
79
|
+
const next = getLocation(blockerFnArgs.nextLocation);
|
|
80
|
+
if ("__notFound__" === current.routeId && "__notFound__" !== next.routeId) return false;
|
|
81
|
+
const shouldBlock = await props.shouldBlockFn({
|
|
82
|
+
action: blockerFnArgs.action,
|
|
83
|
+
current,
|
|
84
|
+
next
|
|
85
|
+
});
|
|
86
|
+
if (!props.withResolver) return shouldBlock;
|
|
87
|
+
if (!shouldBlock) return false;
|
|
88
|
+
const promise = new Promise((resolve)=>{
|
|
89
|
+
setResolver({
|
|
90
|
+
status: "blocked",
|
|
91
|
+
current,
|
|
92
|
+
next,
|
|
93
|
+
action: blockerFnArgs.action,
|
|
94
|
+
proceed: ()=>resolve(false),
|
|
95
|
+
reset: ()=>resolve(true)
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
const canNavigateAsync = await promise;
|
|
99
|
+
setResolver({
|
|
100
|
+
status: "idle",
|
|
101
|
+
current: void 0,
|
|
102
|
+
next: void 0,
|
|
103
|
+
action: void 0,
|
|
104
|
+
proceed: void 0,
|
|
105
|
+
reset: void 0
|
|
106
|
+
});
|
|
107
|
+
return canNavigateAsync;
|
|
108
|
+
};
|
|
109
|
+
disposeBlock = router.history.block({
|
|
110
|
+
blockerFn: blockerFnComposed,
|
|
111
|
+
enableBeforeUnload: props.enableBeforeUnload
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
__rspack_external_solid_js_0ac0db99.onSettled(()=>()=>{
|
|
115
|
+
disposeBlock?.();
|
|
116
|
+
disposeBlock = void 0;
|
|
117
|
+
});
|
|
118
|
+
return resolver;
|
|
119
|
+
}
|
|
120
|
+
const _resolvePromptBlockerArgs = (props)=>{
|
|
121
|
+
if ("shouldBlockFn" in props) return props;
|
|
122
|
+
const shouldBlock = __rspack_external_solid_js_0ac0db99.createMemo(()=>Boolean(props.condition ?? true));
|
|
123
|
+
const _customBlockerFn = async ()=>{
|
|
124
|
+
if (shouldBlock() && void 0 !== props.blockerFn) return await props.blockerFn();
|
|
125
|
+
return shouldBlock;
|
|
126
|
+
};
|
|
127
|
+
return {
|
|
128
|
+
shouldBlockFn: _customBlockerFn,
|
|
129
|
+
get enableBeforeUnload () {
|
|
130
|
+
return shouldBlock();
|
|
131
|
+
},
|
|
132
|
+
get withResolver () {
|
|
133
|
+
return void 0 === props.blockerFn;
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
const useBlocker_Block = function(opts) {
|
|
138
|
+
const propsWithChildren = {
|
|
139
|
+
get children () {
|
|
140
|
+
return opts.children;
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
const args = _resolvePromptBlockerArgs(opts);
|
|
144
|
+
const resolver = useBlocker(args);
|
|
145
|
+
const children = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
146
|
+
const child = propsWithChildren.children;
|
|
147
|
+
if (resolver && "function" == typeof child) return child(resolver());
|
|
148
|
+
return child;
|
|
149
|
+
});
|
|
150
|
+
return memo(children);
|
|
151
|
+
};
|
|
152
|
+
export { useBlocker, useBlocker_Block as Block };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useRouter } from "./useRouter.js";
|
|
2
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
3
|
+
function useCanGoBack() {
|
|
4
|
+
const router = useRouter();
|
|
5
|
+
return __rspack_external_solid_js_0ac0db99.createMemo(()=>0 !== router.stores.location.get().state.__TSR_index);
|
|
6
|
+
}
|
|
7
|
+
export { useCanGoBack };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { replaceEqualDeep } from "@tanstack/router-core";
|
|
2
|
+
import { useRouter } from "./useRouter.js";
|
|
3
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
4
|
+
function useLocation(opts) {
|
|
5
|
+
const router = useRouter();
|
|
6
|
+
if (!opts?.select) return ()=>router.stores.location.get();
|
|
7
|
+
const select = opts.select;
|
|
8
|
+
return __rspack_external_solid_js_0ac0db99.createMemo((prev)=>{
|
|
9
|
+
const res = select(router.stores.location.get());
|
|
10
|
+
if (void 0 === prev) return res;
|
|
11
|
+
return replaceEqualDeep(prev, res);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export { useLocation };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { invariant, replaceEqualDeep } from "@tanstack/router-core";
|
|
2
|
+
import { nearestMatchContext } from "./matchContext.js";
|
|
3
|
+
import { useRouter } from "./useRouter.js";
|
|
4
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
5
|
+
function useMatch(opts) {
|
|
6
|
+
const router = useRouter();
|
|
7
|
+
const contextMatch = __rspack_external_solid_js_0ac0db99.useContext(nearestMatchContext);
|
|
8
|
+
const nearestMatch = opts.from ? void 0 : contextMatch;
|
|
9
|
+
const match = ()=>{
|
|
10
|
+
if (opts.from) return router.stores.getMatchStore(opts.from).get();
|
|
11
|
+
return nearestMatch?.[1]();
|
|
12
|
+
};
|
|
13
|
+
__rspack_external_solid_js_0ac0db99.createEffect(match, (selectedMatch)=>{
|
|
14
|
+
if (void 0 !== selectedMatch) return;
|
|
15
|
+
if (opts.shouldThrow ?? true) {
|
|
16
|
+
if ("production" !== process.env.NODE_ENV) throw new Error(`Invariant failed: Could not find ${opts.from ? `an active match from "${opts.from}"` : "a nearest match!"}`);
|
|
17
|
+
invariant();
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
return __rspack_external_solid_js_0ac0db99.createMemo((prev)=>{
|
|
21
|
+
const selectedMatch = match();
|
|
22
|
+
if (void 0 === selectedMatch) return;
|
|
23
|
+
const res = opts.select ? opts.select(selectedMatch) : selectedMatch;
|
|
24
|
+
if (void 0 === prev) return res;
|
|
25
|
+
return replaceEqualDeep(prev, res);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export { useMatch };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useRouter } from "./useRouter.js";
|
|
2
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
3
|
+
function useNavigate(_defaultOpts) {
|
|
4
|
+
const router = useRouter();
|
|
5
|
+
return (options)=>router.navigate({
|
|
6
|
+
...options,
|
|
7
|
+
from: options.from ?? _defaultOpts?.from
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function Navigate(props) {
|
|
11
|
+
const { navigate } = useRouter();
|
|
12
|
+
__rspack_external_solid_js_0ac0db99.onSettled(()=>{
|
|
13
|
+
navigate({
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
export { Navigate, useNavigate };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useMatch } from "./useMatch.js";
|
|
2
|
+
function useParams(opts) {
|
|
3
|
+
return useMatch({
|
|
4
|
+
from: opts.from,
|
|
5
|
+
strict: opts.strict,
|
|
6
|
+
shouldThrow: opts.shouldThrow,
|
|
7
|
+
select: (match)=>{
|
|
8
|
+
const params = false === opts.strict ? match.params : match._strictParams;
|
|
9
|
+
return opts.select ? opts.select(params) : params;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export { useParams };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { routerContext } from "./routerContext.js";
|
|
2
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
3
|
+
function useRouter(opts) {
|
|
4
|
+
const value = __rspack_external_solid_js_0ac0db99.useContext(routerContext);
|
|
5
|
+
if ("production" !== process.env.NODE_ENV) {
|
|
6
|
+
if ((opts?.warn ?? true) && !value) console.warn("Warning: useRouter must be used inside a <RouterProvider> component!");
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
export { useRouter };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { replaceEqualDeep } from "@tanstack/router-core";
|
|
2
|
+
import { useRouter } from "./useRouter.js";
|
|
3
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
4
|
+
function useRouterState(opts) {
|
|
5
|
+
const contextRouter = useRouter({
|
|
6
|
+
warn: opts?.router === void 0
|
|
7
|
+
});
|
|
8
|
+
const router = opts?.router || contextRouter;
|
|
9
|
+
if (!opts?.select) return ()=>router.stores.__store.get();
|
|
10
|
+
const select = opts.select;
|
|
11
|
+
return __rspack_external_solid_js_0ac0db99.createMemo((prev)=>{
|
|
12
|
+
const res = select(router.stores.__store.get());
|
|
13
|
+
if (void 0 === prev) return res;
|
|
14
|
+
return replaceEqualDeep(prev, res);
|
|
15
|
+
}, {
|
|
16
|
+
transparent: true
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export { useRouterState };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useMatch } from "./useMatch.js";
|
|
2
|
+
function useSearch(opts) {
|
|
3
|
+
return useMatch({
|
|
4
|
+
from: opts.from,
|
|
5
|
+
strict: opts.strict,
|
|
6
|
+
shouldThrow: opts.shouldThrow,
|
|
7
|
+
select: (match)=>{
|
|
8
|
+
const search = match.search;
|
|
9
|
+
return opts.select ? opts.select(search) : search;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export { useSearch };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
2
|
+
function useIntersectionObserver(ref, callback, disabled) {
|
|
3
|
+
const isIntersectionObserverAvailable = "function" == typeof IntersectionObserver;
|
|
4
|
+
let observerRef = null;
|
|
5
|
+
__rspack_external_solid_js_0ac0db99.createEffect(()=>[
|
|
6
|
+
ref(),
|
|
7
|
+
disabled()
|
|
8
|
+
], ([r, isDisabled])=>{
|
|
9
|
+
if (isDisabled || !r || !isIntersectionObserverAvailable) return ()=>callback();
|
|
10
|
+
observerRef = new IntersectionObserver((entries)=>{
|
|
11
|
+
callback(entries.pop());
|
|
12
|
+
}, {
|
|
13
|
+
rootMargin: "100px"
|
|
14
|
+
});
|
|
15
|
+
observerRef.observe(r);
|
|
16
|
+
return ()=>{
|
|
17
|
+
observerRef?.disconnect();
|
|
18
|
+
callback();
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
return ()=>observerRef;
|
|
22
|
+
}
|
|
23
|
+
export { useIntersectionObserver };
|