@bleedingdev/modern-js-renderer-solid 0.0.0-stage → 3.9.3-ultramodern.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/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,389 @@
|
|
|
1
|
+
import { Dynamic, claimElement, createComponent, getNextElement, insert, mergeProps, runHydrationEvents, scope, spread, template } from "@solidjs/web";
|
|
2
|
+
import { deepEqual, exactPathTest, functionalUpdate, getUrlScheme, hasKeys, isDangerousProtocol, preloadWarning, removeTrailingSlash } from "@tanstack/router-core";
|
|
3
|
+
import { isServer } from "@tanstack/router-core/isServer";
|
|
4
|
+
import { useHydrated } from "./ClientOnly.js";
|
|
5
|
+
import { useRouter } from "./useRouter.js";
|
|
6
|
+
import { useIntersectionObserver } from "./utils.js";
|
|
7
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
8
|
+
var _tmpl$ = /* @__PURE__ */ template("<svg><a>");
|
|
9
|
+
var _tmpl$2 = /* @__PURE__ */ template("<a>");
|
|
10
|
+
function mergeRefs(...refs) {
|
|
11
|
+
const setRef = (ref, el)=>{
|
|
12
|
+
if ("function" == typeof ref) ref(el);
|
|
13
|
+
else if (Array.isArray(ref)) for (const nestedRef of ref)setRef(nestedRef, el);
|
|
14
|
+
};
|
|
15
|
+
return (el)=>{
|
|
16
|
+
for (const ref of refs)setRef(ref, el);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function splitProps(props, keys) {
|
|
20
|
+
return [
|
|
21
|
+
props,
|
|
22
|
+
__rspack_external_solid_js_0ac0db99.omit(props, ...keys)
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
const timeoutMap = new WeakMap();
|
|
26
|
+
const cancelPreload = (eventTarget)=>{
|
|
27
|
+
clearTimeout(timeoutMap.get(eventTarget));
|
|
28
|
+
timeoutMap.delete(eventTarget);
|
|
29
|
+
};
|
|
30
|
+
function useLinkProps(options) {
|
|
31
|
+
const router = useRouter();
|
|
32
|
+
const shouldHydrateHash = !isServer && !!router.options.ssr;
|
|
33
|
+
const hasHydrated = useHydrated();
|
|
34
|
+
let hasRenderFetched = false;
|
|
35
|
+
const local = options;
|
|
36
|
+
const activeProps = ()=>local.activeProps ?? STATIC_ACTIVE_PROPS_GET;
|
|
37
|
+
const inactiveProps = ()=>local.inactiveProps ?? STATIC_INACTIVE_PROPS_GET;
|
|
38
|
+
const propsSafeToSpread = __rspack_external_solid_js_0ac0db99.omit(options, "activeProps", "inactiveProps", "activeOptions", "to", "preload", "preloadDelay", "preloadIntentProximity", "hashScrollIntoView", "replace", "startTransition", "resetScroll", "viewTransition", "target", "disabled", "style", "class", "onClick", "onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "onMouseOver", "onMouseOut", "onTouchStart", "ignoreBlocker", "params", "search", "hash", "state", "mask", "reloadDocument", "unsafeRelative", "from");
|
|
39
|
+
const currentLocation = __rspack_external_solid_js_0ac0db99.createMemo(()=>router.stores.location.get(), {
|
|
40
|
+
equals: (prev, next)=>prev.href === next.href
|
|
41
|
+
});
|
|
42
|
+
const _options = ()=>options;
|
|
43
|
+
const next = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
44
|
+
const _fromLocation = currentLocation();
|
|
45
|
+
const options = {
|
|
46
|
+
_fromLocation,
|
|
47
|
+
..._options()
|
|
48
|
+
};
|
|
49
|
+
return __rspack_external_solid_js_0ac0db99.untrack(()=>router.buildLocation(options));
|
|
50
|
+
}, {
|
|
51
|
+
lazy: true,
|
|
52
|
+
equals: (prev, next)=>prev.href === next.href && prev.external === next.external && prev.maskedLocation?.href === next.maskedLocation?.href
|
|
53
|
+
});
|
|
54
|
+
const directExternalLink = __rspack_external_solid_js_0ac0db99.createMemo(()=>resolveExternalLink(_options().to, router.protocolAllowlist), {
|
|
55
|
+
lazy: true
|
|
56
|
+
});
|
|
57
|
+
const hrefOption = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
58
|
+
if (_options().disabled) return;
|
|
59
|
+
const direct = directExternalLink();
|
|
60
|
+
if (void 0 !== direct) return direct ?? void 0;
|
|
61
|
+
return getHrefOption(next(), router);
|
|
62
|
+
}, {
|
|
63
|
+
lazy: true
|
|
64
|
+
});
|
|
65
|
+
const externalLink = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
66
|
+
const direct = directExternalLink();
|
|
67
|
+
if (void 0 !== direct) return direct ?? void 0;
|
|
68
|
+
const href = hrefOption();
|
|
69
|
+
return href && getUrlScheme(href) ? href : void 0;
|
|
70
|
+
}, {
|
|
71
|
+
lazy: true
|
|
72
|
+
});
|
|
73
|
+
const linkDisabled = __rspack_external_solid_js_0ac0db99.createMemo(()=>!!local.disabled || !externalLink() && void 0 === hrefOption(), {
|
|
74
|
+
lazy: true
|
|
75
|
+
});
|
|
76
|
+
const blockedLink = ()=>linkDisabled() && !local.disabled;
|
|
77
|
+
const preload = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
78
|
+
if (_options().reloadDocument || externalLink() || linkDisabled()) return false;
|
|
79
|
+
return local.preload ?? router.options.defaultPreload;
|
|
80
|
+
}, {
|
|
81
|
+
lazy: true
|
|
82
|
+
});
|
|
83
|
+
const preloadDelay = ()=>local.preloadDelay ?? router.options.defaultPreloadDelay ?? 0;
|
|
84
|
+
const isActive = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
85
|
+
if (externalLink() || blockedLink()) return false;
|
|
86
|
+
const activeOptions = local.activeOptions;
|
|
87
|
+
const current = currentLocation();
|
|
88
|
+
const nextLocation = next();
|
|
89
|
+
if (activeOptions?.exact) {
|
|
90
|
+
const testExact = exactPathTest(current.pathname, nextLocation.pathname, router.basepath);
|
|
91
|
+
if (!testExact) return false;
|
|
92
|
+
} else {
|
|
93
|
+
const currentPath = removeTrailingSlash(current.pathname, router.basepath);
|
|
94
|
+
const nextPath = removeTrailingSlash(nextLocation.pathname, router.basepath);
|
|
95
|
+
const pathIsFuzzyEqual = currentPath.startsWith(nextPath) && (currentPath.length === nextPath.length || "/" === currentPath[nextPath.length]);
|
|
96
|
+
if (!pathIsFuzzyEqual) return false;
|
|
97
|
+
}
|
|
98
|
+
if (activeOptions?.includeSearch ?? true) {
|
|
99
|
+
const searchTest = deepEqual(current.search, nextLocation.search, !activeOptions?.exact, activeOptions?.explicitUndefined);
|
|
100
|
+
if (!searchTest) return false;
|
|
101
|
+
}
|
|
102
|
+
if (activeOptions?.includeHash) {
|
|
103
|
+
const currentHash = shouldHydrateHash && !hasHydrated() ? "" : current.hash;
|
|
104
|
+
return currentHash === nextLocation.hash;
|
|
105
|
+
}
|
|
106
|
+
return true;
|
|
107
|
+
}, {
|
|
108
|
+
lazy: true
|
|
109
|
+
});
|
|
110
|
+
const doPreload = ()=>router.preloadRoute({
|
|
111
|
+
...options,
|
|
112
|
+
_builtLocation: next()
|
|
113
|
+
}).catch((err)=>{
|
|
114
|
+
console.warn(err);
|
|
115
|
+
console.warn(preloadWarning);
|
|
116
|
+
});
|
|
117
|
+
const [ref, setRefSignal] = __rspack_external_solid_js_0ac0db99.createSignal(null);
|
|
118
|
+
const setRef = (el)=>{
|
|
119
|
+
__rspack_external_solid_js_0ac0db99.runWithOwner(null, ()=>{
|
|
120
|
+
setRefSignal(el);
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
const enqueuePreload = (e)=>{
|
|
124
|
+
if (!e) return void cancelPreload(ref);
|
|
125
|
+
if (!(e.isIntersecting ?? "intent" === preload())) {
|
|
126
|
+
if (false === e.isIntersecting) cancelPreload(ref);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (!preloadDelay()) return void doPreload();
|
|
130
|
+
if (!timeoutMap.has(ref)) timeoutMap.set(ref, setTimeout(()=>{
|
|
131
|
+
timeoutMap.delete(ref);
|
|
132
|
+
doPreload();
|
|
133
|
+
}, preloadDelay()));
|
|
134
|
+
};
|
|
135
|
+
useIntersectionObserver(ref, enqueuePreload, ()=>"viewport" !== preload());
|
|
136
|
+
__rspack_external_solid_js_0ac0db99.createEffect(preload, (preloadValue)=>{
|
|
137
|
+
if (hasRenderFetched) return;
|
|
138
|
+
if ("render" === preloadValue) {
|
|
139
|
+
__rspack_external_solid_js_0ac0db99.untrack(()=>doPreload());
|
|
140
|
+
hasRenderFetched = true;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
const handleClick = (e)=>{
|
|
144
|
+
if (externalLink() || linkDisabled()) return;
|
|
145
|
+
const element = e.currentTarget;
|
|
146
|
+
if (element.hasAttribute("download")) return;
|
|
147
|
+
const elementTarget = element.getAttribute("target");
|
|
148
|
+
const effectiveTarget = resolvedTarget() ?? elementTarget;
|
|
149
|
+
if (!isCtrlEvent(e) && !e.defaultPrevented && (!effectiveTarget || "_self" === effectiveTarget) && 0 === e.button) {
|
|
150
|
+
e.preventDefault();
|
|
151
|
+
router.navigate({
|
|
152
|
+
...options,
|
|
153
|
+
replace: local.replace,
|
|
154
|
+
resetScroll: local.resetScroll,
|
|
155
|
+
hashScrollIntoView: local.hashScrollIntoView,
|
|
156
|
+
startTransition: local.startTransition,
|
|
157
|
+
viewTransition: local.viewTransition,
|
|
158
|
+
ignoreBlocker: local.ignoreBlocker
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
const handleTouchStart = ()=>{
|
|
163
|
+
if ("intent" !== preload()) return;
|
|
164
|
+
doPreload();
|
|
165
|
+
};
|
|
166
|
+
const handleLeave = ()=>{
|
|
167
|
+
if ("intent" === preload()) cancelPreload(ref);
|
|
168
|
+
};
|
|
169
|
+
const simpleStyling = __rspack_external_solid_js_0ac0db99.createMemo(()=>activeProps() === STATIC_ACTIVE_PROPS_GET && inactiveProps() === STATIC_INACTIVE_PROPS_GET && void 0 === local.class && void 0 === local.style, {
|
|
170
|
+
lazy: true
|
|
171
|
+
});
|
|
172
|
+
const stateHandler = (key)=>()=>resolvedStateProps()[key];
|
|
173
|
+
const handlers = (key)=>[
|
|
174
|
+
()=>local[key],
|
|
175
|
+
stateHandler(key)
|
|
176
|
+
];
|
|
177
|
+
const onClick = createComposedHandler(handlers("onClick"), handleClick);
|
|
178
|
+
const onBlur = createComposedHandler(handlers("onBlur"), handleLeave);
|
|
179
|
+
const onFocus = createComposedHandler(handlers("onFocus"), enqueuePreload);
|
|
180
|
+
const onMouseEnter = createComposedHandler(handlers("onMouseEnter"), enqueuePreload);
|
|
181
|
+
const onMouseOver = createComposedHandler(handlers("onMouseOver"), enqueuePreload);
|
|
182
|
+
const onMouseLeave = createComposedHandler(handlers("onMouseLeave"), handleLeave);
|
|
183
|
+
const onMouseOut = createComposedHandler(handlers("onMouseOut"), handleLeave);
|
|
184
|
+
const onTouchStart = createComposedHandler(handlers("onTouchStart"), handleTouchStart);
|
|
185
|
+
const resolvedStateProps = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
186
|
+
const stateProps = externalLink() ? EMPTY_OBJECT : (isActive() ? functionalUpdate(activeProps(), {}) : functionalUpdate(inactiveProps(), {})) ?? EMPTY_OBJECT;
|
|
187
|
+
if ("production" !== process.env.NODE_ENV) warnUnknownStateKeys(stateProps, extraStateKeys);
|
|
188
|
+
return stateProps;
|
|
189
|
+
}, {
|
|
190
|
+
lazy: true
|
|
191
|
+
});
|
|
192
|
+
const resolvedTarget = ()=>{
|
|
193
|
+
const target = resolvedStateProps().target;
|
|
194
|
+
return void 0 !== target ? target : local.target;
|
|
195
|
+
};
|
|
196
|
+
const stateOrBase = (key)=>{
|
|
197
|
+
const state = resolvedStateProps()[key];
|
|
198
|
+
return void 0 !== state ? state : propsSafeToSpread[key];
|
|
199
|
+
};
|
|
200
|
+
const resolvedClass = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
201
|
+
if (simpleStyling()) return isActive() ? "active" : void 0;
|
|
202
|
+
return [
|
|
203
|
+
local.class,
|
|
204
|
+
resolvedStateProps().class
|
|
205
|
+
].filter(Boolean).join(" ") || void 0;
|
|
206
|
+
}, {
|
|
207
|
+
lazy: true
|
|
208
|
+
});
|
|
209
|
+
const resolvedStyle = __rspack_external_solid_js_0ac0db99.createMemo(()=>{
|
|
210
|
+
if (simpleStyling()) return local.style;
|
|
211
|
+
const style = {
|
|
212
|
+
...local.style,
|
|
213
|
+
...resolvedStateProps().style
|
|
214
|
+
};
|
|
215
|
+
return hasKeys(style) ? style : void 0;
|
|
216
|
+
}, {
|
|
217
|
+
lazy: true
|
|
218
|
+
});
|
|
219
|
+
const extraStateKeys = new Set();
|
|
220
|
+
__rspack_external_solid_js_0ac0db99.untrack(()=>{
|
|
221
|
+
for (const stateProps of [
|
|
222
|
+
functionalUpdate(activeProps(), {}),
|
|
223
|
+
functionalUpdate(inactiveProps(), {})
|
|
224
|
+
])if (stateProps) {
|
|
225
|
+
for (const key of Object.keys(stateProps))if ("class" !== key && "style" !== key) extraStateKeys.add(key);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
const composedRef = mergeRefs(setRef, (el)=>{
|
|
229
|
+
const r = _options().ref;
|
|
230
|
+
if ("function" == typeof r) r(el);
|
|
231
|
+
});
|
|
232
|
+
const linkProps = {};
|
|
233
|
+
for (const key of Object.keys(propsSafeToSpread))Object.defineProperty(linkProps, key, Object.getOwnPropertyDescriptor(propsSafeToSpread, key));
|
|
234
|
+
for (const key of extraStateKeys)Object.defineProperty(linkProps, key, {
|
|
235
|
+
get: ()=>resolvedStateProps()[key],
|
|
236
|
+
enumerable: true,
|
|
237
|
+
configurable: true
|
|
238
|
+
});
|
|
239
|
+
const defineGetters = (getters)=>{
|
|
240
|
+
for (const key of Object.keys(getters))Object.defineProperty(linkProps, key, {
|
|
241
|
+
get: getters[key],
|
|
242
|
+
enumerable: true,
|
|
243
|
+
configurable: true
|
|
244
|
+
});
|
|
245
|
+
};
|
|
246
|
+
for (const [key, value] of [
|
|
247
|
+
[
|
|
248
|
+
"ref",
|
|
249
|
+
composedRef
|
|
250
|
+
],
|
|
251
|
+
[
|
|
252
|
+
"onClick",
|
|
253
|
+
onClick
|
|
254
|
+
]
|
|
255
|
+
])Object.defineProperty(linkProps, key, {
|
|
256
|
+
value,
|
|
257
|
+
writable: true,
|
|
258
|
+
enumerable: true,
|
|
259
|
+
configurable: true
|
|
260
|
+
});
|
|
261
|
+
const onIntent = (composed, key)=>{
|
|
262
|
+
const passthrough = createComposedHandler(handlers(key));
|
|
263
|
+
return ()=>"intent" === preload() ? composed : local[key] || stateHandler(key)() ? passthrough : void 0;
|
|
264
|
+
};
|
|
265
|
+
defineGetters({
|
|
266
|
+
onBlur: onIntent(onBlur, "onBlur"),
|
|
267
|
+
onFocus: onIntent(onFocus, "onFocus"),
|
|
268
|
+
onMouseEnter: onIntent(onMouseEnter, "onMouseEnter"),
|
|
269
|
+
onMouseOver: onIntent(onMouseOver, "onMouseOver"),
|
|
270
|
+
onMouseLeave: onIntent(onMouseLeave, "onMouseLeave"),
|
|
271
|
+
onMouseOut: onIntent(onMouseOut, "onMouseOut"),
|
|
272
|
+
onTouchStart: onIntent(onTouchStart, "onTouchStart")
|
|
273
|
+
});
|
|
274
|
+
defineGetters({
|
|
275
|
+
href: hrefOption,
|
|
276
|
+
disabled: ()=>!!local.disabled || linkDisabled(),
|
|
277
|
+
target: resolvedTarget,
|
|
278
|
+
role: ()=>linkDisabled() ? "link" : stateOrBase("role"),
|
|
279
|
+
"aria-disabled": ()=>linkDisabled() ? "true" : stateOrBase("aria-disabled"),
|
|
280
|
+
"data-status": ()=>isActive() ? "active" : stateOrBase("data-status"),
|
|
281
|
+
"aria-current": ()=>isActive() ? "page" : stateOrBase("aria-current"),
|
|
282
|
+
class: resolvedClass,
|
|
283
|
+
style: resolvedStyle
|
|
284
|
+
});
|
|
285
|
+
return linkProps;
|
|
286
|
+
}
|
|
287
|
+
const STATIC_ACTIVE_PROPS = {
|
|
288
|
+
class: "active"
|
|
289
|
+
};
|
|
290
|
+
const STATIC_ACTIVE_PROPS_GET = ()=>STATIC_ACTIVE_PROPS;
|
|
291
|
+
const EMPTY_OBJECT = {};
|
|
292
|
+
const STATIC_INACTIVE_PROPS_GET = ()=>EMPTY_OBJECT;
|
|
293
|
+
function callHandler(event, handler) {
|
|
294
|
+
if ("function" == typeof handler) handler(event);
|
|
295
|
+
else handler[0](handler[1], event);
|
|
296
|
+
return event.defaultPrevented;
|
|
297
|
+
}
|
|
298
|
+
function createComposedHandler(getHandlers, fallback) {
|
|
299
|
+
return (event)=>{
|
|
300
|
+
for (const getHandler of getHandlers){
|
|
301
|
+
const handler = getHandler();
|
|
302
|
+
if (handler && callHandler(event, handler)) return;
|
|
303
|
+
}
|
|
304
|
+
fallback?.(event);
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
function createLink(Comp) {
|
|
308
|
+
return (props)=>createComponent(Link, mergeProps(props, {
|
|
309
|
+
_asChild: Comp
|
|
310
|
+
}));
|
|
311
|
+
}
|
|
312
|
+
const Link = (props)=>{
|
|
313
|
+
const [local, rest] = splitProps(props, [
|
|
314
|
+
"_asChild",
|
|
315
|
+
"children"
|
|
316
|
+
]);
|
|
317
|
+
const [_, linkProps] = splitProps(useLinkProps(rest), [
|
|
318
|
+
"type"
|
|
319
|
+
]);
|
|
320
|
+
const resolvedChildren = __rspack_external_solid_js_0ac0db99.children(()=>local.children);
|
|
321
|
+
const children = ()=>{
|
|
322
|
+
const ch = resolvedChildren();
|
|
323
|
+
if ("function" == typeof ch) return ch({
|
|
324
|
+
get isActive () {
|
|
325
|
+
return "active" === linkProps["data-status"];
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
return ch;
|
|
329
|
+
};
|
|
330
|
+
if ("svg" === local._asChild) {
|
|
331
|
+
const [_, svgLinkProps] = splitProps(linkProps, [
|
|
332
|
+
"class"
|
|
333
|
+
]);
|
|
334
|
+
var _el$ = getNextElement(_tmpl$);
|
|
335
|
+
var _el$2 = _el$.firstChild;
|
|
336
|
+
claimElement(_el$2);
|
|
337
|
+
spread(_el$2, svgLinkProps, true);
|
|
338
|
+
insert(_el$2, scope(()=>children()));
|
|
339
|
+
runHydrationEvents();
|
|
340
|
+
return _el$;
|
|
341
|
+
}
|
|
342
|
+
if (!local._asChild) {
|
|
343
|
+
var _el$3 = getNextElement(_tmpl$2);
|
|
344
|
+
claimElement(_el$3);
|
|
345
|
+
spread(_el$3, linkProps, true);
|
|
346
|
+
insert(_el$3, scope(()=>children()));
|
|
347
|
+
runHydrationEvents();
|
|
348
|
+
return _el$3;
|
|
349
|
+
}
|
|
350
|
+
return createComponent(Dynamic, mergeProps({
|
|
351
|
+
get component () {
|
|
352
|
+
return local._asChild;
|
|
353
|
+
}
|
|
354
|
+
}, linkProps, {
|
|
355
|
+
get children () {
|
|
356
|
+
return children();
|
|
357
|
+
}
|
|
358
|
+
}));
|
|
359
|
+
};
|
|
360
|
+
function isCtrlEvent(e) {
|
|
361
|
+
return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);
|
|
362
|
+
}
|
|
363
|
+
const warnedStateKeys = new Set();
|
|
364
|
+
function warnUnknownStateKeys(stateProps, knownKeys) {
|
|
365
|
+
for (const key of Object.keys(stateProps))if (!("class" === key || "style" === key || knownKeys.has(key) || warnedStateKeys.has(key))) {
|
|
366
|
+
warnedStateKeys.add(key);
|
|
367
|
+
console.warn(`Link activeProps/inactiveProps returned "${key}" after the Link was created; return every key from the start (use undefined for "unset") so it can be applied.`);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
function warnBlockedLink(href) {
|
|
371
|
+
if ("production" !== process.env.NODE_ENV) console.warn(`Blocked Link with dangerous protocol: ${href}`);
|
|
372
|
+
}
|
|
373
|
+
function resolveExternalLink(to, protocolAllowlist) {
|
|
374
|
+
const scheme = "string" == typeof to ? getUrlScheme(to) : void 0;
|
|
375
|
+
if (!scheme) return;
|
|
376
|
+
if (!protocolAllowlist.has(scheme)) {
|
|
377
|
+
warnBlockedLink(to);
|
|
378
|
+
return null;
|
|
379
|
+
}
|
|
380
|
+
return to;
|
|
381
|
+
}
|
|
382
|
+
function getHrefOption(next, router) {
|
|
383
|
+
const location = next.maskedLocation ?? next;
|
|
384
|
+
const href = location.external ? location.publicHref : router.history.createHref(location.publicHref) || "/";
|
|
385
|
+
if ((location.external || href !== location.publicHref) && isDangerousProtocol(href, router.protocolAllowlist)) return void warnBlockedLink(href);
|
|
386
|
+
return href;
|
|
387
|
+
}
|
|
388
|
+
const linkOptions = (options)=>options;
|
|
389
|
+
export { Link, createLink, linkOptions, useLinkProps };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
2
|
+
const defaultNearestMatchContext = [
|
|
3
|
+
()=>void 0,
|
|
4
|
+
()=>void 0
|
|
5
|
+
];
|
|
6
|
+
const nearestMatchContext = __rspack_external_solid_js_0ac0db99.createContext(defaultNearestMatchContext);
|
|
7
|
+
export { nearestMatchContext };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createComponent } from "@solidjs/web";
|
|
2
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
3
|
+
const nonRouteComponentContext = "production" !== process.env.NODE_ENV ? /* @__PURE__ */ __rspack_external_solid_js_0ac0db99.createContext(null) : void 0;
|
|
4
|
+
function renderInNonRouteComponentContext(render, component) {
|
|
5
|
+
const Context = nonRouteComponentContext;
|
|
6
|
+
return createComponent(Context, {
|
|
7
|
+
value: component,
|
|
8
|
+
get children () {
|
|
9
|
+
return render();
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
export { nonRouteComponentContext, renderInNonRouteComponentContext };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createComponent, getNextElement, template } from "@solidjs/web";
|
|
2
|
+
import { isNotFound } from "@tanstack/router-core";
|
|
3
|
+
import { CatchBoundary } from "./CatchBoundary.js";
|
|
4
|
+
import { useRouter } from "./useRouter.js";
|
|
5
|
+
import * as __rspack_external_solid_js_0ac0db99 from "solid-js";
|
|
6
|
+
var _tmpl$ = /* @__PURE__ */ template("<p>Not Found");
|
|
7
|
+
function getNotFound(error) {
|
|
8
|
+
if (isNotFound(error)) return error;
|
|
9
|
+
if (isNotFound(error?.cause)) return error.cause;
|
|
10
|
+
}
|
|
11
|
+
function CatchNotFound(props) {
|
|
12
|
+
const router = useRouter();
|
|
13
|
+
const pathname = __rspack_external_solid_js_0ac0db99.createMemo(()=>router.stores.location.get().pathname);
|
|
14
|
+
const status = __rspack_external_solid_js_0ac0db99.createMemo(()=>router.stores.status.get());
|
|
15
|
+
return createComponent(CatchBoundary, {
|
|
16
|
+
getResetKey: ()=>`not-found-${pathname()}-${status()}`,
|
|
17
|
+
onCatch: (error)=>{
|
|
18
|
+
const notFoundError = getNotFound(error);
|
|
19
|
+
if (notFoundError) props.onCatch?.(notFoundError);
|
|
20
|
+
else throw error;
|
|
21
|
+
},
|
|
22
|
+
errorComponent: ({ error })=>{
|
|
23
|
+
const notFoundError = getNotFound(error);
|
|
24
|
+
if (notFoundError) return props.fallback?.(notFoundError);
|
|
25
|
+
else throw error;
|
|
26
|
+
},
|
|
27
|
+
get children () {
|
|
28
|
+
return props.children;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function DefaultGlobalNotFound() {
|
|
33
|
+
return getNextElement(_tmpl$);
|
|
34
|
+
}
|
|
35
|
+
export { CatchNotFound, DefaultGlobalNotFound, getNotFound };
|