@tanstack/solid-router 1.167.5 → 1.168.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/cjs/Match.cjs +244 -223
- package/dist/cjs/Match.cjs.map +1 -1
- package/dist/cjs/Match.d.cts +1 -3
- package/dist/cjs/Matches.cjs +32 -31
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/Scripts.cjs +10 -8
- package/dist/cjs/Scripts.cjs.map +1 -1
- package/dist/cjs/Scripts.d.cts +2 -1
- package/dist/cjs/Transitioner.cjs +26 -26
- package/dist/cjs/Transitioner.cjs.map +1 -1
- package/dist/cjs/headContentUtils.cjs +15 -15
- package/dist/cjs/headContentUtils.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.dev.cjs +1 -1
- package/dist/cjs/link.cjs +119 -84
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/matchContext.cjs +7 -5
- package/dist/cjs/matchContext.cjs.map +1 -1
- package/dist/cjs/matchContext.d.cts +8 -2
- package/dist/cjs/not-found.cjs +8 -4
- package/dist/cjs/not-found.cjs.map +1 -1
- package/dist/cjs/not-found.d.cts +1 -1
- package/dist/cjs/router.cjs +2 -1
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/routerStores.cjs +67 -0
- package/dist/cjs/routerStores.cjs.map +1 -0
- package/dist/cjs/routerStores.d.cts +10 -0
- package/dist/cjs/ssr/RouterClient.cjs +1 -1
- package/dist/cjs/ssr/RouterClient.cjs.map +1 -1
- package/dist/cjs/ssr/renderRouterToStream.cjs +1 -1
- package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -1
- package/dist/cjs/ssr/renderRouterToString.cjs +2 -2
- package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -1
- package/dist/cjs/ssr/renderRouterToString.d.cts +1 -1
- package/dist/cjs/useCanGoBack.cjs +6 -2
- package/dist/cjs/useCanGoBack.cjs.map +1 -1
- package/dist/cjs/useCanGoBack.d.cts +2 -1
- package/dist/cjs/useLoaderDeps.cjs +2 -3
- package/dist/cjs/useLoaderDeps.cjs.map +1 -1
- package/dist/cjs/useLocation.cjs +13 -2
- package/dist/cjs/useLocation.cjs.map +1 -1
- package/dist/cjs/useMatch.cjs +17 -15
- package/dist/cjs/useMatch.cjs.map +1 -1
- package/dist/cjs/useParams.cjs +1 -1
- package/dist/cjs/useParams.cjs.map +1 -1
- package/dist/cjs/useRouterState.cjs +12 -19
- package/dist/cjs/useRouterState.cjs.map +1 -1
- package/dist/cjs/useSearch.cjs +2 -1
- package/dist/cjs/useSearch.cjs.map +1 -1
- package/dist/cjs/utils.cjs +0 -14
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +0 -4
- package/dist/esm/Match.d.ts +1 -3
- package/dist/esm/Match.js +245 -224
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/Matches.js +34 -33
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/Scripts.d.ts +2 -1
- package/dist/esm/Scripts.js +8 -7
- package/dist/esm/Scripts.js.map +1 -1
- package/dist/esm/Transitioner.js +26 -26
- package/dist/esm/Transitioner.js.map +1 -1
- package/dist/esm/headContentUtils.js +15 -15
- package/dist/esm/headContentUtils.js.map +1 -1
- package/dist/esm/index.dev.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/link.js +120 -85
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/matchContext.d.ts +8 -2
- package/dist/esm/matchContext.js +7 -4
- package/dist/esm/matchContext.js.map +1 -1
- package/dist/esm/not-found.d.ts +1 -1
- package/dist/esm/not-found.js +6 -3
- package/dist/esm/not-found.js.map +1 -1
- package/dist/esm/router.js +2 -1
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/routerStores.d.ts +10 -0
- package/dist/esm/routerStores.js +65 -0
- package/dist/esm/routerStores.js.map +1 -0
- package/dist/esm/ssr/RouterClient.js +1 -1
- package/dist/esm/ssr/RouterClient.js.map +1 -1
- package/dist/esm/ssr/renderRouterToStream.js +1 -1
- package/dist/esm/ssr/renderRouterToStream.js.map +1 -1
- package/dist/esm/ssr/renderRouterToString.d.ts +1 -1
- package/dist/esm/ssr/renderRouterToString.js +2 -2
- package/dist/esm/ssr/renderRouterToString.js.map +1 -1
- package/dist/esm/useCanGoBack.d.ts +2 -1
- package/dist/esm/useCanGoBack.js +4 -2
- package/dist/esm/useCanGoBack.js.map +1 -1
- package/dist/esm/useLoaderDeps.js +2 -3
- package/dist/esm/useLoaderDeps.js.map +1 -1
- package/dist/esm/useLocation.js +11 -2
- package/dist/esm/useLocation.js.map +1 -1
- package/dist/esm/useMatch.js +18 -16
- package/dist/esm/useMatch.js.map +1 -1
- package/dist/esm/useParams.js +1 -1
- package/dist/esm/useParams.js.map +1 -1
- package/dist/esm/useRouterState.js +10 -18
- package/dist/esm/useRouterState.js.map +1 -1
- package/dist/esm/useSearch.js +2 -1
- package/dist/esm/useSearch.js.map +1 -1
- package/dist/esm/utils.d.ts +0 -4
- package/dist/esm/utils.js +1 -14
- package/dist/esm/utils.js.map +1 -1
- package/dist/source/Match.d.ts +1 -3
- package/dist/source/Match.jsx +246 -237
- package/dist/source/Match.jsx.map +1 -1
- package/dist/source/Matches.jsx +42 -44
- package/dist/source/Matches.jsx.map +1 -1
- package/dist/source/Scripts.d.ts +2 -1
- package/dist/source/Scripts.jsx +31 -36
- package/dist/source/Scripts.jsx.map +1 -1
- package/dist/source/Transitioner.jsx +26 -31
- package/dist/source/Transitioner.jsx.map +1 -1
- package/dist/source/headContentUtils.jsx +64 -72
- package/dist/source/headContentUtils.jsx.map +1 -1
- package/dist/source/link.jsx +136 -107
- package/dist/source/link.jsx.map +1 -1
- package/dist/source/matchContext.d.ts +8 -2
- package/dist/source/matchContext.jsx +7 -3
- package/dist/source/matchContext.jsx.map +1 -1
- package/dist/source/not-found.d.ts +1 -1
- package/dist/source/not-found.jsx +6 -5
- package/dist/source/not-found.jsx.map +1 -1
- package/dist/source/router.js +2 -1
- package/dist/source/router.js.map +1 -1
- package/dist/source/routerStores.d.ts +10 -0
- package/dist/source/routerStores.js +71 -0
- package/dist/source/routerStores.js.map +1 -0
- package/dist/source/ssr/RouterClient.jsx +1 -1
- package/dist/source/ssr/RouterClient.jsx.map +1 -1
- package/dist/source/ssr/renderRouterToStream.jsx +1 -1
- package/dist/source/ssr/renderRouterToStream.jsx.map +1 -1
- package/dist/source/ssr/renderRouterToString.d.ts +1 -1
- package/dist/source/ssr/renderRouterToString.jsx +2 -2
- package/dist/source/ssr/renderRouterToString.jsx.map +1 -1
- package/dist/source/useCanGoBack.d.ts +2 -1
- package/dist/source/useCanGoBack.js +4 -2
- package/dist/source/useCanGoBack.js.map +1 -1
- package/dist/source/useLoaderDeps.jsx +2 -3
- package/dist/source/useLoaderDeps.jsx.map +1 -1
- package/dist/source/useLocation.jsx +13 -3
- package/dist/source/useLocation.jsx.map +1 -1
- package/dist/source/useMatch.jsx +30 -27
- package/dist/source/useMatch.jsx.map +1 -1
- package/dist/source/useParams.jsx +1 -1
- package/dist/source/useParams.jsx.map +1 -1
- package/dist/source/useRouterState.jsx +12 -33
- package/dist/source/useRouterState.jsx.map +1 -1
- package/dist/source/useSearch.jsx +2 -1
- package/dist/source/useSearch.jsx.map +1 -1
- package/dist/source/utils.d.ts +0 -4
- package/dist/source/utils.js +0 -13
- package/dist/source/utils.js.map +1 -1
- package/package.json +2 -3
- package/skills/solid-router/SKILL.md +2 -0
- package/src/Match.tsx +351 -304
- package/src/Matches.tsx +49 -52
- package/src/Scripts.tsx +40 -41
- package/src/Transitioner.tsx +67 -66
- package/src/headContentUtils.tsx +89 -91
- package/src/link.tsx +179 -141
- package/src/matchContext.tsx +16 -7
- package/src/not-found.tsx +6 -6
- package/src/router.ts +2 -1
- package/src/routerStores.ts +107 -0
- package/src/ssr/RouterClient.tsx +1 -1
- package/src/ssr/renderRouterToStream.tsx +1 -1
- package/src/ssr/renderRouterToString.tsx +2 -2
- package/src/useCanGoBack.ts +6 -2
- package/src/useLoaderDeps.tsx +2 -3
- package/src/useLocation.tsx +18 -5
- package/src/useMatch.tsx +36 -43
- package/src/useParams.tsx +2 -3
- package/src/useRouterState.tsx +17 -41
- package/src/useSearch.tsx +2 -1
- package/src/utils.ts +0 -20
package/dist/cjs/Match.cjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_CatchBoundary = require("./CatchBoundary.cjs");
|
|
3
3
|
const require_useRouter = require("./useRouter.cjs");
|
|
4
|
-
const require_useRouterState = require("./useRouterState.cjs");
|
|
5
4
|
const require_matchContext = require("./matchContext.cjs");
|
|
6
5
|
const require_SafeFragment = require("./SafeFragment.cjs");
|
|
7
6
|
const require_not_found = require("./not-found.cjs");
|
|
@@ -19,273 +18,297 @@ tiny_invariant = require_runtime.__toESM(tiny_invariant);
|
|
|
19
18
|
//#region src/Match.tsx
|
|
20
19
|
var Match = (props) => {
|
|
21
20
|
const router = require_useRouter.useRouter();
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
if (!
|
|
21
|
+
const match = solid_js.createMemo(() => {
|
|
22
|
+
const id = props.matchId;
|
|
23
|
+
if (!id) return void 0;
|
|
24
|
+
return router.stores.activeMatchStoresById.get(id)?.state;
|
|
25
|
+
});
|
|
26
|
+
const rawMatchState = solid_js.createMemo(() => {
|
|
27
|
+
const currentMatch = match();
|
|
28
|
+
if (!currentMatch) return null;
|
|
29
|
+
const routeId = currentMatch.routeId;
|
|
30
|
+
const parentRouteId = router.routesById[routeId]?.parentRoute?.id;
|
|
25
31
|
return {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
matchId: currentMatch.id,
|
|
33
|
+
routeId,
|
|
34
|
+
ssr: currentMatch.ssr,
|
|
35
|
+
_displayPending: currentMatch._displayPending,
|
|
36
|
+
parentRouteId
|
|
29
37
|
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
} });
|
|
58
|
-
},
|
|
38
|
+
});
|
|
39
|
+
const nearestMatch = {
|
|
40
|
+
matchId: () => rawMatchState()?.matchId,
|
|
41
|
+
routeId: () => rawMatchState()?.routeId,
|
|
42
|
+
match,
|
|
43
|
+
hasPending: solid_js.createMemo(() => {
|
|
44
|
+
const currentRouteId = rawMatchState()?.routeId;
|
|
45
|
+
return currentRouteId ? Boolean(router.stores.pendingRouteIds.state[currentRouteId]) : false;
|
|
46
|
+
})
|
|
47
|
+
};
|
|
48
|
+
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
49
|
+
get when() {
|
|
50
|
+
return rawMatchState();
|
|
51
|
+
},
|
|
52
|
+
children: (currentMatchState) => {
|
|
53
|
+
const route = () => router.routesById[currentMatchState().routeId];
|
|
54
|
+
const resolvePendingComponent = () => route().options.pendingComponent ?? router.options.defaultPendingComponent;
|
|
55
|
+
const routeErrorComponent = () => route().options.errorComponent ?? router.options.defaultErrorComponent;
|
|
56
|
+
const routeOnCatch = () => route().options.onCatch ?? router.options.defaultOnCatch;
|
|
57
|
+
const routeNotFoundComponent = () => route().isRoot ? route().options.notFoundComponent ?? router.options.notFoundRoute?.options.component : route().options.notFoundComponent;
|
|
58
|
+
const resolvedNoSsr = currentMatchState().ssr === false || currentMatchState().ssr === "data-only";
|
|
59
|
+
const ResolvedSuspenseBoundary = () => solid_js.Suspense;
|
|
60
|
+
const ResolvedCatchBoundary = () => routeErrorComponent() ? require_CatchBoundary.CatchBoundary : require_SafeFragment.SafeFragment;
|
|
61
|
+
const ResolvedNotFoundBoundary = () => routeNotFoundComponent() ? require_not_found.CatchNotFound : require_SafeFragment.SafeFragment;
|
|
62
|
+
return (0, solid_js_web.createComponent)(route().isRoot ? route().options.shellComponent ?? require_SafeFragment.SafeFragment : require_SafeFragment.SafeFragment, { get children() {
|
|
63
|
+
return [(0, solid_js_web.createComponent)(require_matchContext.nearestMatchContext.Provider, {
|
|
64
|
+
value: nearestMatch,
|
|
59
65
|
get children() {
|
|
60
66
|
return (0, solid_js_web.createComponent)(solid_js_web.Dynamic, {
|
|
61
67
|
get component() {
|
|
62
|
-
return
|
|
68
|
+
return ResolvedSuspenseBoundary();
|
|
63
69
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
onCatch: (error) => {
|
|
69
|
-
if ((0, _tanstack_router_core.isNotFound)(error)) throw error;
|
|
70
|
-
(0, tiny_warning.default)(false, `Error in route match: ${matchState().routeId}`);
|
|
71
|
-
routeOnCatch()?.(error);
|
|
70
|
+
get fallback() {
|
|
71
|
+
return (0, solid_js_web.memo)(() => !!((_tanstack_router_core_isServer.isServer ?? router.isServer) && resolvedNoSsr))() ? void 0 : (0, solid_js_web.createComponent)(solid_js_web.Dynamic, { get component() {
|
|
72
|
+
return resolvePendingComponent();
|
|
73
|
+
} });
|
|
72
74
|
},
|
|
73
75
|
get children() {
|
|
74
76
|
return (0, solid_js_web.createComponent)(solid_js_web.Dynamic, {
|
|
75
77
|
get component() {
|
|
76
|
-
return
|
|
78
|
+
return ResolvedCatchBoundary();
|
|
79
|
+
},
|
|
80
|
+
getResetKey: () => router.stores.loadedAt.state,
|
|
81
|
+
get errorComponent() {
|
|
82
|
+
return routeErrorComponent() || require_CatchBoundary.ErrorComponent;
|
|
77
83
|
},
|
|
78
|
-
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
} }, error));
|
|
84
|
+
onCatch: (error) => {
|
|
85
|
+
if ((0, _tanstack_router_core.isNotFound)(error)) throw error;
|
|
86
|
+
(0, tiny_warning.default)(false, `Error in route match: ${currentMatchState().routeId}`);
|
|
87
|
+
routeOnCatch()?.(error);
|
|
83
88
|
},
|
|
84
89
|
get children() {
|
|
85
|
-
return (0, solid_js_web.createComponent)(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
return (0, solid_js_web.createComponent)(solid_js_web.Dynamic, {
|
|
91
|
+
get component() {
|
|
92
|
+
return ResolvedNotFoundBoundary();
|
|
93
|
+
},
|
|
94
|
+
fallback: (error) => {
|
|
95
|
+
if (!routeNotFoundComponent() || error.routeId && error.routeId !== currentMatchState().routeId || !error.routeId && !route().isRoot) throw error;
|
|
96
|
+
return (0, solid_js_web.createComponent)(solid_js_web.Dynamic, (0, solid_js_web.mergeProps)({ get component() {
|
|
97
|
+
return routeNotFoundComponent();
|
|
98
|
+
} }, error));
|
|
99
|
+
},
|
|
100
|
+
get children() {
|
|
101
|
+
return (0, solid_js_web.createComponent)(solid_js.Switch, { get children() {
|
|
102
|
+
return [(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
103
|
+
when: resolvedNoSsr,
|
|
98
104
|
get children() {
|
|
99
|
-
return (0, solid_js_web.createComponent)(
|
|
100
|
-
|
|
101
|
-
|
|
105
|
+
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
106
|
+
get when() {
|
|
107
|
+
return !(_tanstack_router_core_isServer.isServer ?? router.isServer);
|
|
108
|
+
},
|
|
109
|
+
get fallback() {
|
|
110
|
+
return (0, solid_js_web.createComponent)(solid_js_web.Dynamic, { get component() {
|
|
111
|
+
return resolvePendingComponent();
|
|
112
|
+
} });
|
|
113
|
+
},
|
|
114
|
+
get children() {
|
|
115
|
+
return (0, solid_js_web.createComponent)(MatchInner, {});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
102
118
|
}
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
})];
|
|
113
|
-
} });
|
|
119
|
+
}), (0, solid_js_web.createComponent)(solid_js.Match, {
|
|
120
|
+
when: !resolvedNoSsr,
|
|
121
|
+
get children() {
|
|
122
|
+
return (0, solid_js_web.createComponent)(MatchInner, {});
|
|
123
|
+
}
|
|
124
|
+
})];
|
|
125
|
+
} });
|
|
126
|
+
}
|
|
127
|
+
});
|
|
114
128
|
}
|
|
115
129
|
});
|
|
116
130
|
}
|
|
117
131
|
});
|
|
118
132
|
}
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
133
|
+
}), (0, solid_js_web.memo)(() => (0, solid_js_web.memo)(() => currentMatchState().parentRouteId === _tanstack_router_core.rootRouteId)() ? [(0, solid_js_web.createComponent)(OnRendered, {}), (0, solid_js_web.createComponent)(require_scroll_restoration.ScrollRestoration, {})] : null)];
|
|
134
|
+
} });
|
|
135
|
+
}
|
|
136
|
+
});
|
|
123
137
|
};
|
|
124
138
|
function OnRendered() {
|
|
125
139
|
const router = require_useRouter.useRouter();
|
|
126
|
-
const location =
|
|
127
|
-
return s.resolvedLocation?.state.__TSR_key;
|
|
128
|
-
} });
|
|
140
|
+
const location = solid_js.createMemo(() => router.stores.resolvedLocation.state?.state.__TSR_key);
|
|
129
141
|
solid_js.createEffect(solid_js.on([location], () => {
|
|
130
142
|
router.emit({
|
|
131
143
|
type: "onRendered",
|
|
132
|
-
...(0, _tanstack_router_core.getLocationChangeInfo)(router.state)
|
|
144
|
+
...(0, _tanstack_router_core.getLocationChangeInfo)(router.stores.location.state, router.stores.resolvedLocation.state)
|
|
133
145
|
});
|
|
134
146
|
}));
|
|
135
147
|
return null;
|
|
136
148
|
}
|
|
137
|
-
var MatchInner = (
|
|
149
|
+
var MatchInner = () => {
|
|
138
150
|
const router = require_useRouter.useRouter();
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
151
|
+
const match = solid_js.useContext(require_matchContext.nearestMatchContext).match;
|
|
152
|
+
const rawMatchState = solid_js.createMemo(() => {
|
|
153
|
+
const currentMatch = match();
|
|
154
|
+
if (!currentMatch) return null;
|
|
155
|
+
const routeId = currentMatch.routeId;
|
|
143
156
|
const remountDeps = (router.routesById[routeId].options.remountDeps ?? router.options.defaultRemountDeps)?.({
|
|
144
157
|
routeId,
|
|
145
|
-
loaderDeps:
|
|
146
|
-
params:
|
|
147
|
-
search:
|
|
158
|
+
loaderDeps: currentMatch.loaderDeps,
|
|
159
|
+
params: currentMatch._strictParams,
|
|
160
|
+
search: currentMatch._strictSearch
|
|
148
161
|
});
|
|
149
162
|
return {
|
|
150
163
|
key: remountDeps ? JSON.stringify(remountDeps) : void 0,
|
|
151
164
|
routeId,
|
|
152
165
|
match: {
|
|
153
|
-
id:
|
|
154
|
-
status:
|
|
155
|
-
error:
|
|
156
|
-
_forcePending:
|
|
157
|
-
_displayPending:
|
|
166
|
+
id: currentMatch.id,
|
|
167
|
+
status: currentMatch.status,
|
|
168
|
+
error: currentMatch.error,
|
|
169
|
+
_forcePending: currentMatch._forcePending ?? false,
|
|
170
|
+
_displayPending: currentMatch._displayPending ?? false
|
|
158
171
|
}
|
|
159
172
|
};
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
const route = () => router.routesById[matchState().routeId];
|
|
163
|
-
const match = () => matchState().match;
|
|
164
|
-
const componentKey = () => matchState().key ?? matchState().match.id;
|
|
165
|
-
const out = () => {
|
|
166
|
-
const Comp = route().options.component ?? router.options.defaultComponent;
|
|
167
|
-
if (Comp) return (0, solid_js_web.createComponent)(Comp, {});
|
|
168
|
-
return (0, solid_js_web.createComponent)(Outlet, {});
|
|
169
|
-
};
|
|
170
|
-
const keyedOut = () => (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
173
|
+
});
|
|
174
|
+
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
171
175
|
get when() {
|
|
172
|
-
return
|
|
176
|
+
return rawMatchState();
|
|
173
177
|
},
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
children: (currentMatchState) => {
|
|
179
|
+
const route = () => router.routesById[currentMatchState().routeId];
|
|
180
|
+
const currentMatch = () => currentMatchState().match;
|
|
181
|
+
const componentKey = () => currentMatchState().key ?? currentMatchState().match.id;
|
|
182
|
+
const out = () => {
|
|
183
|
+
const Comp = route().options.component ?? router.options.defaultComponent;
|
|
184
|
+
if (Comp) return (0, solid_js_web.createComponent)(Comp, {});
|
|
185
|
+
return (0, solid_js_web.createComponent)(Outlet, {});
|
|
186
|
+
};
|
|
187
|
+
const keyedOut = () => (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
180
188
|
get when() {
|
|
181
|
-
return
|
|
189
|
+
return componentKey();
|
|
182
190
|
},
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
191
|
+
keyed: true,
|
|
192
|
+
children: (_key) => out()
|
|
193
|
+
});
|
|
194
|
+
return (0, solid_js_web.createComponent)(solid_js.Switch, { get children() {
|
|
195
|
+
return [
|
|
196
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
197
|
+
get when() {
|
|
198
|
+
return currentMatch()._displayPending;
|
|
199
|
+
},
|
|
200
|
+
children: (_) => {
|
|
201
|
+
const [displayPendingResult] = solid_js.createResource(() => router.getMatch(currentMatch().id)?._nonReactive.displayPendingPromise);
|
|
202
|
+
return (0, solid_js_web.memo)(displayPendingResult);
|
|
203
|
+
}
|
|
204
|
+
}),
|
|
205
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
206
|
+
get when() {
|
|
207
|
+
return currentMatch()._forcePending;
|
|
208
|
+
},
|
|
209
|
+
children: (_) => {
|
|
210
|
+
const [minPendingResult] = solid_js.createResource(() => router.getMatch(currentMatch().id)?._nonReactive.minPendingPromise);
|
|
211
|
+
return (0, solid_js_web.memo)(minPendingResult);
|
|
212
|
+
}
|
|
213
|
+
}),
|
|
214
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
215
|
+
get when() {
|
|
216
|
+
return currentMatch().status === "pending";
|
|
217
|
+
},
|
|
218
|
+
children: (_) => {
|
|
219
|
+
const pendingMinMs = route().options.pendingMinMs ?? router.options.defaultPendingMinMs;
|
|
220
|
+
if (pendingMinMs) {
|
|
221
|
+
const routerMatch = router.getMatch(currentMatch().id);
|
|
222
|
+
if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {
|
|
223
|
+
if (!(_tanstack_router_core_isServer.isServer ?? router.isServer)) {
|
|
224
|
+
const minPendingPromise = (0, _tanstack_router_core.createControlledPromise)();
|
|
225
|
+
routerMatch._nonReactive.minPendingPromise = minPendingPromise;
|
|
226
|
+
setTimeout(() => {
|
|
227
|
+
minPendingPromise.resolve();
|
|
228
|
+
routerMatch._nonReactive.minPendingPromise = void 0;
|
|
229
|
+
}, pendingMinMs);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
213
232
|
}
|
|
233
|
+
const [loaderResult] = solid_js.createResource(async () => {
|
|
234
|
+
await new Promise((r) => setTimeout(r, 0));
|
|
235
|
+
return router.getMatch(currentMatch().id)?._nonReactive.loadPromise;
|
|
236
|
+
});
|
|
237
|
+
const FallbackComponent = route().options.pendingComponent ?? router.options.defaultPendingComponent;
|
|
238
|
+
return [FallbackComponent && pendingMinMs > 0 ? (0, solid_js_web.createComponent)(solid_js_web.Dynamic, { component: FallbackComponent }) : null, (0, solid_js_web.memo)(loaderResult)];
|
|
214
239
|
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
await new Promise((r) => setTimeout(r, 0));
|
|
218
|
-
return router.getMatch(match().id)?._nonReactive.loadPromise;
|
|
219
|
-
});
|
|
220
|
-
const FallbackComponent = route().options.pendingComponent ?? router.options.defaultPendingComponent;
|
|
221
|
-
return [FallbackComponent && pendingMinMs > 0 ? (0, solid_js_web.createComponent)(solid_js_web.Dynamic, { component: FallbackComponent }) : null, (0, solid_js_web.memo)(loaderResult)];
|
|
222
|
-
}
|
|
223
|
-
}),
|
|
224
|
-
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
225
|
-
get when() {
|
|
226
|
-
return match().status === "notFound";
|
|
227
|
-
},
|
|
228
|
-
children: (_) => {
|
|
229
|
-
(0, tiny_invariant.default)((0, _tanstack_router_core.isNotFound)(match().error), "Expected a notFound error");
|
|
230
|
-
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
240
|
+
}),
|
|
241
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
231
242
|
get when() {
|
|
232
|
-
return
|
|
243
|
+
return currentMatch().status === "notFound";
|
|
233
244
|
},
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
245
|
+
children: (_) => {
|
|
246
|
+
(0, tiny_invariant.default)((0, _tanstack_router_core.isNotFound)(currentMatch().error), "Expected a notFound error");
|
|
247
|
+
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
248
|
+
get when() {
|
|
249
|
+
return currentMatchState().routeId;
|
|
250
|
+
},
|
|
251
|
+
keyed: true,
|
|
252
|
+
children: (_routeId) => require_renderRouteNotFound.renderRouteNotFound(router, route(), currentMatch().error)
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}),
|
|
256
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
257
|
+
get when() {
|
|
258
|
+
return currentMatch().status === "redirected";
|
|
259
|
+
},
|
|
260
|
+
children: (_) => {
|
|
261
|
+
(0, tiny_invariant.default)((0, _tanstack_router_core.isRedirect)(currentMatch().error), "Expected a redirect error");
|
|
262
|
+
const [loaderResult] = solid_js.createResource(async () => {
|
|
263
|
+
await new Promise((r) => setTimeout(r, 0));
|
|
264
|
+
return router.getMatch(currentMatch().id)?._nonReactive.loadPromise;
|
|
265
|
+
});
|
|
266
|
+
return (0, solid_js_web.memo)(loaderResult);
|
|
267
|
+
}
|
|
268
|
+
}),
|
|
269
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
270
|
+
get when() {
|
|
271
|
+
return currentMatch().status === "error";
|
|
272
|
+
},
|
|
273
|
+
children: (_) => {
|
|
274
|
+
if (_tanstack_router_core_isServer.isServer ?? router.isServer) return (0, solid_js_web.createComponent)((route().options.errorComponent ?? router.options.defaultErrorComponent) || require_CatchBoundary.ErrorComponent, {
|
|
275
|
+
get error() {
|
|
276
|
+
return currentMatch().error;
|
|
277
|
+
},
|
|
278
|
+
info: { componentStack: "" }
|
|
279
|
+
});
|
|
280
|
+
throw currentMatch().error;
|
|
281
|
+
}
|
|
282
|
+
}),
|
|
283
|
+
(0, solid_js_web.createComponent)(solid_js.Match, {
|
|
284
|
+
get when() {
|
|
285
|
+
return currentMatch().status === "success";
|
|
286
|
+
},
|
|
287
|
+
get children() {
|
|
288
|
+
return keyedOut();
|
|
289
|
+
}
|
|
290
|
+
})
|
|
291
|
+
];
|
|
292
|
+
} });
|
|
293
|
+
}
|
|
294
|
+
});
|
|
270
295
|
};
|
|
271
296
|
var Outlet = () => {
|
|
272
297
|
const router = require_useRouter.useRouter();
|
|
273
|
-
const
|
|
274
|
-
const
|
|
275
|
-
const
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
return matches[matches.findIndex((d) => d.id === matchId()) + 1]?.status;
|
|
288
|
-
} });
|
|
298
|
+
const nearestParentMatch = solid_js.useContext(require_matchContext.nearestMatchContext);
|
|
299
|
+
const parentMatch = nearestParentMatch.match;
|
|
300
|
+
const routeId = nearestParentMatch.routeId;
|
|
301
|
+
const route = solid_js.createMemo(() => routeId() ? router.routesById[routeId()] : void 0);
|
|
302
|
+
const parentGlobalNotFound = solid_js.createMemo(() => parentMatch()?.globalNotFound ?? false);
|
|
303
|
+
const childMatchId = solid_js.createMemo(() => {
|
|
304
|
+
const currentRouteId = routeId();
|
|
305
|
+
return currentRouteId ? router.stores.childMatchIdByRouteId.state[currentRouteId] : void 0;
|
|
306
|
+
});
|
|
307
|
+
const childMatchStatus = solid_js.createMemo(() => {
|
|
308
|
+
const id = childMatchId();
|
|
309
|
+
if (!id) return void 0;
|
|
310
|
+
return router.stores.activeMatchStoresById.get(id)?.state.status;
|
|
311
|
+
});
|
|
289
312
|
const shouldShowNotFound = () => childMatchStatus() !== "redirected" && parentGlobalNotFound();
|
|
290
313
|
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
291
314
|
get when() {
|
|
@@ -294,15 +317,13 @@ var Outlet = () => {
|
|
|
294
317
|
get fallback() {
|
|
295
318
|
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
296
319
|
get when() {
|
|
297
|
-
return shouldShowNotFound();
|
|
320
|
+
return (0, solid_js_web.memo)(() => !!shouldShowNotFound())() && route();
|
|
298
321
|
},
|
|
299
|
-
|
|
300
|
-
return require_renderRouteNotFound.renderRouteNotFound(router, route(), void 0);
|
|
301
|
-
}
|
|
322
|
+
children: (resolvedRoute) => require_renderRouteNotFound.renderRouteNotFound(router, resolvedRoute(), void 0)
|
|
302
323
|
});
|
|
303
324
|
},
|
|
304
|
-
children: (
|
|
305
|
-
const currentMatchId = solid_js.createMemo(() =>
|
|
325
|
+
children: (childMatchIdAccessor) => {
|
|
326
|
+
const currentMatchId = solid_js.createMemo(() => childMatchIdAccessor());
|
|
306
327
|
return (0, solid_js_web.createComponent)(solid_js.Show, {
|
|
307
328
|
get when() {
|
|
308
329
|
return routeId() === _tanstack_router_core.rootRouteId;
|