@tanstack/router-devtools-core 1.20.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/cjs/AgeTicker.cjs +47 -0
  4. package/dist/cjs/AgeTicker.cjs.map +1 -0
  5. package/dist/cjs/AgeTicker.d.cts +6 -0
  6. package/dist/cjs/BaseTanStackRouterDevtoolsPanel.cjs +602 -0
  7. package/dist/cjs/BaseTanStackRouterDevtoolsPanel.cjs.map +1 -0
  8. package/dist/cjs/BaseTanStackRouterDevtoolsPanel.d.cts +35 -0
  9. package/dist/cjs/Explorer.cjs +307 -0
  10. package/dist/cjs/Explorer.cjs.map +1 -0
  11. package/dist/cjs/Explorer.d.cts +43 -0
  12. package/dist/cjs/FloatingTanStackRouterDevtools.cjs +204 -0
  13. package/dist/cjs/FloatingTanStackRouterDevtools.cjs.map +1 -0
  14. package/dist/cjs/FloatingTanStackRouterDevtools.d.cts +48 -0
  15. package/dist/cjs/NavigateButton.cjs +30 -0
  16. package/dist/cjs/NavigateButton.cjs.map +1 -0
  17. package/dist/cjs/NavigateButton.d.cts +7 -0
  18. package/dist/cjs/TanStackRouterDevtoolsCore.cjs +107 -0
  19. package/dist/cjs/TanStackRouterDevtoolsCore.cjs.map +1 -0
  20. package/dist/cjs/TanStackRouterDevtoolsCore.d.cts +55 -0
  21. package/dist/cjs/TanStackRouterDevtoolsPanelCore.cjs +107 -0
  22. package/dist/cjs/TanStackRouterDevtoolsPanelCore.cjs.map +1 -0
  23. package/dist/cjs/TanStackRouterDevtoolsPanelCore.d.cts +43 -0
  24. package/dist/cjs/context.cjs +20 -0
  25. package/dist/cjs/context.cjs.map +1 -0
  26. package/dist/cjs/context.d.cts +13 -0
  27. package/dist/cjs/index.cjs +7 -0
  28. package/dist/cjs/index.cjs.map +1 -0
  29. package/dist/cjs/index.d.cts +2 -0
  30. package/dist/cjs/logo.cjs +92 -0
  31. package/dist/cjs/logo.cjs.map +1 -0
  32. package/dist/cjs/logo.d.cts +1 -0
  33. package/dist/cjs/theme.d.cts +34 -0
  34. package/dist/cjs/tokens.cjs +201 -0
  35. package/dist/cjs/tokens.cjs.map +1 -0
  36. package/dist/cjs/tokens.d.cts +298 -0
  37. package/dist/cjs/useLocalStorage.cjs +42 -0
  38. package/dist/cjs/useLocalStorage.cjs.map +1 -0
  39. package/dist/cjs/useLocalStorage.d.cts +2 -0
  40. package/dist/cjs/useMediaQuery.d.cts +2 -0
  41. package/dist/cjs/useStyles.cjs +607 -0
  42. package/dist/cjs/useStyles.cjs.map +1 -0
  43. package/dist/cjs/useStyles.d.cts +55 -0
  44. package/dist/cjs/utils.cjs +63 -0
  45. package/dist/cjs/utils.cjs.map +1 -0
  46. package/dist/cjs/utils.d.cts +25 -0
  47. package/dist/esm/AgeTicker.d.ts +6 -0
  48. package/dist/esm/AgeTicker.js +47 -0
  49. package/dist/esm/AgeTicker.js.map +1 -0
  50. package/dist/esm/BaseTanStackRouterDevtoolsPanel.d.ts +35 -0
  51. package/dist/esm/BaseTanStackRouterDevtoolsPanel.js +602 -0
  52. package/dist/esm/BaseTanStackRouterDevtoolsPanel.js.map +1 -0
  53. package/dist/esm/Explorer.d.ts +43 -0
  54. package/dist/esm/Explorer.js +290 -0
  55. package/dist/esm/Explorer.js.map +1 -0
  56. package/dist/esm/FloatingTanStackRouterDevtools.d.ts +48 -0
  57. package/dist/esm/FloatingTanStackRouterDevtools.js +204 -0
  58. package/dist/esm/FloatingTanStackRouterDevtools.js.map +1 -0
  59. package/dist/esm/NavigateButton.d.ts +7 -0
  60. package/dist/esm/NavigateButton.js +30 -0
  61. package/dist/esm/NavigateButton.js.map +1 -0
  62. package/dist/esm/TanStackRouterDevtoolsCore.d.ts +55 -0
  63. package/dist/esm/TanStackRouterDevtoolsCore.js +107 -0
  64. package/dist/esm/TanStackRouterDevtoolsCore.js.map +1 -0
  65. package/dist/esm/TanStackRouterDevtoolsPanelCore.d.ts +43 -0
  66. package/dist/esm/TanStackRouterDevtoolsPanelCore.js +107 -0
  67. package/dist/esm/TanStackRouterDevtoolsPanelCore.js.map +1 -0
  68. package/dist/esm/context.d.ts +13 -0
  69. package/dist/esm/context.js +20 -0
  70. package/dist/esm/context.js.map +1 -0
  71. package/dist/esm/index.d.ts +2 -0
  72. package/dist/esm/index.js +7 -0
  73. package/dist/esm/index.js.map +1 -0
  74. package/dist/esm/logo.d.ts +1 -0
  75. package/dist/esm/logo.js +92 -0
  76. package/dist/esm/logo.js.map +1 -0
  77. package/dist/esm/theme.d.ts +34 -0
  78. package/dist/esm/tokens.d.ts +298 -0
  79. package/dist/esm/tokens.js +201 -0
  80. package/dist/esm/tokens.js.map +1 -0
  81. package/dist/esm/useLocalStorage.d.ts +2 -0
  82. package/dist/esm/useLocalStorage.js +43 -0
  83. package/dist/esm/useLocalStorage.js.map +1 -0
  84. package/dist/esm/useMediaQuery.d.ts +2 -0
  85. package/dist/esm/useStyles.d.ts +55 -0
  86. package/dist/esm/useStyles.js +590 -0
  87. package/dist/esm/useStyles.js.map +1 -0
  88. package/dist/esm/utils.d.ts +25 -0
  89. package/dist/esm/utils.js +63 -0
  90. package/dist/esm/utils.js.map +1 -0
  91. package/package.json +71 -0
  92. package/src/AgeTicker.tsx +59 -0
  93. package/src/BaseTanStackRouterDevtoolsPanel.tsx +632 -0
  94. package/src/Explorer.tsx +339 -0
  95. package/src/FloatingTanStackRouterDevtools.tsx +290 -0
  96. package/src/NavigateButton.tsx +25 -0
  97. package/src/TanStackRouterDevtoolsCore.tsx +152 -0
  98. package/src/TanStackRouterDevtoolsPanelCore.tsx +131 -0
  99. package/src/context.ts +24 -0
  100. package/src/index.tsx +2 -0
  101. package/src/logo.tsx +817 -0
  102. package/src/theme.tsx +36 -0
  103. package/src/tokens.ts +305 -0
  104. package/src/useLocalStorage.ts +52 -0
  105. package/src/useMediaQuery.ts +44 -0
  106. package/src/useStyles.tsx +614 -0
  107. package/src/utils.tsx +185 -0
@@ -0,0 +1,602 @@
1
+ import { template, spread, mergeProps, insert, addEventListener, effect, className, createComponent, memo, setAttribute, delegateEvents } from "solid-js/web";
2
+ import { clsx } from "clsx";
3
+ import invariant from "tiny-invariant";
4
+ import { rootRouteId, trimPath, interpolatePath } from "@tanstack/router-core";
5
+ import { createMemo, Show } from "solid-js";
6
+ import { useDevtoolsOnClose } from "./context.js";
7
+ import { useStyles } from "./useStyles.js";
8
+ import useLocalStorage from "./useLocalStorage.js";
9
+ import { Explorer } from "./Explorer.js";
10
+ import { multiSortBy, getStatusColor, getRouteStatusColor } from "./utils.js";
11
+ import { AgeTicker } from "./AgeTicker.js";
12
+ import { NavigateButton } from "./NavigateButton.js";
13
+ var _tmpl$ = /* @__PURE__ */ template(`<button><div>TANSTACK</div><div>TanStack Router v1`), _tmpl$2 = /* @__PURE__ */ template(`<div><div>`), _tmpl$3 = /* @__PURE__ */ template(`<code> `), _tmpl$4 = /* @__PURE__ */ template(`<code>`), _tmpl$5 = /* @__PURE__ */ template(`<div><div role=button><div>`), _tmpl$6 = /* @__PURE__ */ template(`<div>`), _tmpl$7 = /* @__PURE__ */ template(`<div><button><svg xmlns=http://www.w3.org/2000/svg width=10 height=6 fill=none viewBox="0 0 10 6"><path stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=1.667 d="M1 1l4 4 4-4"></path></svg></button><div><div></div><div><div></div></div></div><div><div><div><span>Pathname</span></div><div><code></code></div><div><div><button type=button>Routes</button><button type=button>Matches</button></div><div><div>age / staleTime / gcTime</div></div></div><div>`), _tmpl$8 = /* @__PURE__ */ template(`<div><span>masked`), _tmpl$9 = /* @__PURE__ */ template(`<div role=button><div>`), _tmpl$10 = /* @__PURE__ */ template(`<div><div><div>Cached Matches</div><div>age / staleTime / gcTime</div></div><div>`), _tmpl$11 = /* @__PURE__ */ template(`<div><div>Match Details</div><div><div><div><div></div></div><div><div>ID:</div><div><code></code></div></div><div><div>State:</div><div></div></div><div><div>Last Updated:</div><div></div></div></div></div><div>Explorer</div><div>`), _tmpl$12 = /* @__PURE__ */ template(`<div>Loader Data`), _tmpl$13 = /* @__PURE__ */ template(`<div><div>Search Params</div><div>`);
14
+ function Logo(props) {
15
+ const {
16
+ className: className$1,
17
+ ...rest
18
+ } = props;
19
+ const styles = useStyles();
20
+ return (() => {
21
+ var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
22
+ spread(_el$, mergeProps(rest, {
23
+ get ["class"]() {
24
+ return clsx(styles().logo, className$1 ? className$1() : "");
25
+ }
26
+ }), false, true);
27
+ effect((_p$) => {
28
+ var _v$ = styles().tanstackLogo, _v$2 = styles().routerLogo;
29
+ _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
30
+ _v$2 !== _p$.t && className(_el$3, _p$.t = _v$2);
31
+ return _p$;
32
+ }, {
33
+ e: void 0,
34
+ t: void 0
35
+ });
36
+ return _el$;
37
+ })();
38
+ }
39
+ function NavigateLink(props) {
40
+ return (() => {
41
+ var _el$4 = _tmpl$2(), _el$5 = _el$4.firstChild;
42
+ _el$4.style.setProperty("display", "flex");
43
+ _el$4.style.setProperty("align-items", "center");
44
+ _el$4.style.setProperty("width", "100%");
45
+ insert(_el$4, () => props.left, _el$5);
46
+ _el$5.style.setProperty("flex-grow", "1");
47
+ _el$5.style.setProperty("min-width", "0");
48
+ insert(_el$5, () => props.children);
49
+ insert(_el$4, () => props.right, null);
50
+ effect(() => className(_el$4, props.class));
51
+ return _el$4;
52
+ })();
53
+ }
54
+ function RouteComp({
55
+ routerState,
56
+ router,
57
+ route,
58
+ isRoot,
59
+ activeId,
60
+ setActiveId
61
+ }) {
62
+ const styles = useStyles();
63
+ const matches = createMemo(() => routerState().pendingMatches || routerState().matches);
64
+ const match = createMemo(() => routerState().matches.find((d) => d.routeId === route.id));
65
+ const param = createMemo(() => {
66
+ var _a, _b;
67
+ try {
68
+ if ((_a = match()) == null ? void 0 : _a.params) {
69
+ const p = (_b = match()) == null ? void 0 : _b.params;
70
+ const r = route.path || trimPath(route.id);
71
+ if (r.startsWith("$")) {
72
+ const trimmed = r.slice(1);
73
+ if (p[trimmed]) {
74
+ return `(${p[trimmed]})`;
75
+ }
76
+ }
77
+ }
78
+ return "";
79
+ } catch (error) {
80
+ return "";
81
+ }
82
+ });
83
+ const navigationTarget = createMemo(() => {
84
+ if (isRoot) return void 0;
85
+ if (!route.path) return void 0;
86
+ const allParams = Object.assign({}, ...matches().map((m) => m.params));
87
+ const interpolated = interpolatePath({
88
+ path: route.fullPath,
89
+ params: allParams,
90
+ leaveWildcards: false,
91
+ leaveParams: false,
92
+ decodeCharMap: router().pathParamsDecodeCharMap
93
+ });
94
+ return !interpolated.isMissingParams ? interpolated.interpolatedPath : void 0;
95
+ });
96
+ return (() => {
97
+ var _el$6 = _tmpl$5(), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild;
98
+ _el$7.$$click = () => {
99
+ if (match()) {
100
+ setActiveId(activeId() === route.id ? "" : route.id);
101
+ }
102
+ };
103
+ insert(_el$7, createComponent(NavigateLink, {
104
+ get ["class"]() {
105
+ return clsx(styles().routesRow(!!match()));
106
+ },
107
+ get left() {
108
+ return createComponent(Show, {
109
+ get when() {
110
+ return navigationTarget();
111
+ },
112
+ children: (navigate) => createComponent(NavigateButton, {
113
+ get to() {
114
+ return navigate();
115
+ },
116
+ router
117
+ })
118
+ });
119
+ },
120
+ get right() {
121
+ return createComponent(AgeTicker, {
122
+ get match() {
123
+ return match();
124
+ },
125
+ router
126
+ });
127
+ },
128
+ get children() {
129
+ return [(() => {
130
+ var _el$9 = _tmpl$3(), _el$10 = _el$9.firstChild;
131
+ insert(_el$9, () => isRoot ? rootRouteId : route.path || trimPath(route.id), _el$10);
132
+ effect(() => className(_el$9, styles().code));
133
+ return _el$9;
134
+ })(), (() => {
135
+ var _el$11 = _tmpl$4();
136
+ insert(_el$11, param);
137
+ effect(() => className(_el$11, styles().routeParamInfo));
138
+ return _el$11;
139
+ })()];
140
+ }
141
+ }), null);
142
+ insert(_el$6, (() => {
143
+ var _c$ = memo(() => {
144
+ var _a;
145
+ return !!((_a = route.children) == null ? void 0 : _a.length);
146
+ });
147
+ return () => _c$() ? (() => {
148
+ var _el$12 = _tmpl$6();
149
+ insert(_el$12, () => [...route.children].sort((a, b) => {
150
+ return a.rank - b.rank;
151
+ }).map((r) => createComponent(RouteComp, {
152
+ routerState,
153
+ router,
154
+ route: r,
155
+ activeId,
156
+ setActiveId
157
+ })));
158
+ effect(() => className(_el$12, styles().nestedRouteRow(!!isRoot)));
159
+ return _el$12;
160
+ })() : null;
161
+ })(), null);
162
+ effect((_p$) => {
163
+ var _v$3 = `Open match details for ${route.id}`, _v$4 = clsx(styles().routesRowContainer(route.id === activeId(), !!match())), _v$5 = clsx(styles().matchIndicator(getRouteStatusColor(matches(), route)));
164
+ _v$3 !== _p$.e && setAttribute(_el$7, "aria-label", _p$.e = _v$3);
165
+ _v$4 !== _p$.t && className(_el$7, _p$.t = _v$4);
166
+ _v$5 !== _p$.a && className(_el$8, _p$.a = _v$5);
167
+ return _p$;
168
+ }, {
169
+ e: void 0,
170
+ t: void 0,
171
+ a: void 0
172
+ });
173
+ return _el$6;
174
+ })();
175
+ }
176
+ const BaseTanStackRouterDevtoolsPanel = function BaseTanStackRouterDevtoolsPanel2({
177
+ ...props
178
+ }) {
179
+ const {
180
+ isOpen = true,
181
+ setIsOpen,
182
+ handleDragStart,
183
+ router,
184
+ routerState,
185
+ shadowDOMTarget,
186
+ ...panelProps
187
+ } = props;
188
+ const {
189
+ onCloseClick
190
+ } = useDevtoolsOnClose();
191
+ const styles = useStyles();
192
+ const {
193
+ className: className$1,
194
+ style,
195
+ ...otherPanelProps
196
+ } = panelProps;
197
+ invariant(router, "No router was found for the TanStack Router Devtools. Please place the devtools in the <RouterProvider> component tree or pass the router instance to the devtools manually.");
198
+ const [showMatches, setShowMatches] = useLocalStorage("tanstackRouterDevtoolsShowMatches", true);
199
+ const [activeId, setActiveId] = useLocalStorage("tanstackRouterDevtoolsActiveRouteId", "");
200
+ const activeMatch = createMemo(() => {
201
+ const matches = [...routerState().pendingMatches ?? [], ...routerState().matches, ...routerState().cachedMatches];
202
+ return matches.find((d) => d.routeId === activeId() || d.id === activeId());
203
+ });
204
+ const hasSearch = createMemo(() => Object.keys(routerState().location.search).length);
205
+ const explorerState = createMemo(() => {
206
+ return {
207
+ ...router(),
208
+ state: routerState()
209
+ };
210
+ });
211
+ const routerExplorerValue = createMemo(() => Object.fromEntries(multiSortBy(Object.keys(explorerState()), ["state", "routesById", "routesByPath", "flatRoutes", "options", "manifest"].map((d) => (dd) => dd !== d)).map((key) => [key, explorerState()[key]]).filter((d) => typeof d[1] !== "function" && !["__store", "basepath", "injectedHtml", "subscribers", "latestLoadPromise", "navigateTimeout", "resetNextScroll", "tempLocationKey", "latestLocation", "routeTree", "history"].includes(d[0]))));
212
+ const activeMatchLoaderData = createMemo(() => {
213
+ var _a;
214
+ return (_a = activeMatch()) == null ? void 0 : _a.loaderData;
215
+ });
216
+ const activeMatchValue = createMemo(() => activeMatch());
217
+ const locationSearchValue = createMemo(() => routerState().location.search);
218
+ return (() => {
219
+ var _el$13 = _tmpl$7(), _el$14 = _el$13.firstChild, _el$15 = _el$14.firstChild, _el$16 = _el$14.nextSibling, _el$17 = _el$16.firstChild, _el$18 = _el$17.nextSibling, _el$19 = _el$18.firstChild, _el$20 = _el$16.nextSibling, _el$21 = _el$20.firstChild, _el$22 = _el$21.firstChild;
220
+ _el$22.firstChild;
221
+ var _el$24 = _el$22.nextSibling, _el$25 = _el$24.firstChild, _el$26 = _el$24.nextSibling, _el$27 = _el$26.firstChild, _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling, _el$30 = _el$27.nextSibling, _el$31 = _el$26.nextSibling;
222
+ spread(_el$13, mergeProps({
223
+ get ["class"]() {
224
+ return clsx(styles().devtoolsPanel, "TanStackRouterDevtoolsPanel", className$1 ? className$1() : "");
225
+ },
226
+ get style() {
227
+ return style ? style() : "";
228
+ }
229
+ }, otherPanelProps), false, true);
230
+ insert(_el$13, handleDragStart ? (() => {
231
+ var _el$32 = _tmpl$6();
232
+ addEventListener(_el$32, "mousedown", handleDragStart, true);
233
+ effect(() => className(_el$32, styles().dragHandle));
234
+ return _el$32;
235
+ })() : null, _el$14);
236
+ _el$14.$$click = (e) => {
237
+ if (setIsOpen) {
238
+ setIsOpen(false);
239
+ }
240
+ onCloseClick(e);
241
+ };
242
+ insert(_el$17, createComponent(Logo, {
243
+ "aria-hidden": true,
244
+ onClick: (e) => {
245
+ if (setIsOpen) {
246
+ setIsOpen(false);
247
+ }
248
+ onCloseClick(e);
249
+ }
250
+ }));
251
+ insert(_el$19, createComponent(Explorer, {
252
+ label: "Router",
253
+ value: routerExplorerValue,
254
+ defaultExpanded: {
255
+ state: {},
256
+ context: {},
257
+ options: {}
258
+ },
259
+ filterSubEntries: (subEntries) => {
260
+ return subEntries.filter((d) => typeof d.value() !== "function");
261
+ }
262
+ }));
263
+ insert(_el$22, (() => {
264
+ var _c$2 = memo(() => !!routerState().location.maskedLocation);
265
+ return () => _c$2() ? (() => {
266
+ var _el$33 = _tmpl$8(), _el$34 = _el$33.firstChild;
267
+ effect((_p$) => {
268
+ var _v$24 = styles().maskedBadgeContainer, _v$25 = styles().maskedBadge;
269
+ _v$24 !== _p$.e && className(_el$33, _p$.e = _v$24);
270
+ _v$25 !== _p$.t && className(_el$34, _p$.t = _v$25);
271
+ return _p$;
272
+ }, {
273
+ e: void 0,
274
+ t: void 0
275
+ });
276
+ return _el$33;
277
+ })() : null;
278
+ })(), null);
279
+ insert(_el$25, () => routerState().location.pathname);
280
+ insert(_el$24, (() => {
281
+ var _c$3 = memo(() => !!routerState().location.maskedLocation);
282
+ return () => _c$3() ? (() => {
283
+ var _el$35 = _tmpl$4();
284
+ insert(_el$35, () => {
285
+ var _a;
286
+ return (_a = routerState().location.maskedLocation) == null ? void 0 : _a.pathname;
287
+ });
288
+ effect(() => className(_el$35, styles().maskedLocation));
289
+ return _el$35;
290
+ })() : null;
291
+ })(), null);
292
+ _el$28.$$click = () => {
293
+ setShowMatches(false);
294
+ };
295
+ _el$29.$$click = () => {
296
+ setShowMatches(true);
297
+ };
298
+ insert(_el$31, (() => {
299
+ var _c$4 = memo(() => !!!showMatches());
300
+ return () => _c$4() ? createComponent(RouteComp, {
301
+ routerState,
302
+ router,
303
+ get route() {
304
+ return router().routeTree;
305
+ },
306
+ isRoot: true,
307
+ activeId,
308
+ setActiveId
309
+ }) : (() => {
310
+ var _el$36 = _tmpl$6();
311
+ insert(_el$36, () => {
312
+ var _a, _b;
313
+ return (_b = ((_a = routerState().pendingMatches) == null ? void 0 : _a.length) ? routerState().pendingMatches : routerState().matches) == null ? void 0 : _b.map((match, _i) => {
314
+ return (() => {
315
+ var _el$37 = _tmpl$9(), _el$38 = _el$37.firstChild;
316
+ _el$37.$$click = () => setActiveId(activeId() === match.id ? "" : match.id);
317
+ insert(_el$37, createComponent(NavigateLink, {
318
+ get left() {
319
+ return createComponent(NavigateButton, {
320
+ get to() {
321
+ return match.pathname;
322
+ },
323
+ get params() {
324
+ return match.params;
325
+ },
326
+ get search() {
327
+ return match.search;
328
+ },
329
+ router
330
+ });
331
+ },
332
+ get right() {
333
+ return createComponent(AgeTicker, {
334
+ match,
335
+ router
336
+ });
337
+ },
338
+ get children() {
339
+ var _el$39 = _tmpl$4();
340
+ insert(_el$39, () => `${match.routeId === rootRouteId ? rootRouteId : match.pathname}`);
341
+ effect(() => className(_el$39, styles().matchID));
342
+ return _el$39;
343
+ }
344
+ }), null);
345
+ effect((_p$) => {
346
+ var _v$26 = `Open match details for ${match.id}`, _v$27 = clsx(styles().matchRow(match === activeMatch())), _v$28 = clsx(styles().matchIndicator(getStatusColor(match)));
347
+ _v$26 !== _p$.e && setAttribute(_el$37, "aria-label", _p$.e = _v$26);
348
+ _v$27 !== _p$.t && className(_el$37, _p$.t = _v$27);
349
+ _v$28 !== _p$.a && className(_el$38, _p$.a = _v$28);
350
+ return _p$;
351
+ }, {
352
+ e: void 0,
353
+ t: void 0,
354
+ a: void 0
355
+ });
356
+ return _el$37;
357
+ })();
358
+ });
359
+ });
360
+ return _el$36;
361
+ })();
362
+ })());
363
+ insert(_el$20, (() => {
364
+ var _c$5 = memo(() => !!routerState().cachedMatches.length);
365
+ return () => _c$5() ? (() => {
366
+ var _el$40 = _tmpl$10(), _el$41 = _el$40.firstChild, _el$42 = _el$41.firstChild, _el$43 = _el$42.nextSibling, _el$44 = _el$41.nextSibling;
367
+ insert(_el$44, () => routerState().cachedMatches.map((match) => {
368
+ return (() => {
369
+ var _el$45 = _tmpl$9(), _el$46 = _el$45.firstChild;
370
+ _el$45.$$click = () => setActiveId(activeId() === match.id ? "" : match.id);
371
+ insert(_el$45, createComponent(NavigateLink, {
372
+ get left() {
373
+ return createComponent(NavigateButton, {
374
+ get to() {
375
+ return match.pathname;
376
+ },
377
+ get params() {
378
+ return match.params;
379
+ },
380
+ get search() {
381
+ return match.search;
382
+ },
383
+ router
384
+ });
385
+ },
386
+ get right() {
387
+ return createComponent(AgeTicker, {
388
+ match,
389
+ router
390
+ });
391
+ },
392
+ get children() {
393
+ var _el$47 = _tmpl$4();
394
+ insert(_el$47, () => `${match.id}`);
395
+ effect(() => className(_el$47, styles().matchID));
396
+ return _el$47;
397
+ }
398
+ }), null);
399
+ effect((_p$) => {
400
+ var _v$32 = `Open match details for ${match.id}`, _v$33 = clsx(styles().matchRow(match === activeMatch())), _v$34 = clsx(styles().matchIndicator(getStatusColor(match)));
401
+ _v$32 !== _p$.e && setAttribute(_el$45, "aria-label", _p$.e = _v$32);
402
+ _v$33 !== _p$.t && className(_el$45, _p$.t = _v$33);
403
+ _v$34 !== _p$.a && className(_el$46, _p$.a = _v$34);
404
+ return _p$;
405
+ }, {
406
+ e: void 0,
407
+ t: void 0,
408
+ a: void 0
409
+ });
410
+ return _el$45;
411
+ })();
412
+ }));
413
+ effect((_p$) => {
414
+ var _v$29 = styles().cachedMatchesContainer, _v$30 = styles().detailsHeader, _v$31 = styles().detailsHeaderInfo;
415
+ _v$29 !== _p$.e && className(_el$40, _p$.e = _v$29);
416
+ _v$30 !== _p$.t && className(_el$41, _p$.t = _v$30);
417
+ _v$31 !== _p$.a && className(_el$43, _p$.a = _v$31);
418
+ return _p$;
419
+ }, {
420
+ e: void 0,
421
+ t: void 0,
422
+ a: void 0
423
+ });
424
+ return _el$40;
425
+ })() : null;
426
+ })(), null);
427
+ insert(_el$13, (() => {
428
+ var _c$6 = memo(() => {
429
+ var _a;
430
+ return !!(activeMatch() && ((_a = activeMatch()) == null ? void 0 : _a.status));
431
+ });
432
+ return () => _c$6() ? (() => {
433
+ var _el$48 = _tmpl$11(), _el$49 = _el$48.firstChild, _el$50 = _el$49.nextSibling, _el$51 = _el$50.firstChild, _el$52 = _el$51.firstChild, _el$53 = _el$52.firstChild, _el$54 = _el$52.nextSibling, _el$55 = _el$54.firstChild, _el$56 = _el$55.nextSibling, _el$57 = _el$56.firstChild, _el$58 = _el$54.nextSibling, _el$59 = _el$58.firstChild, _el$60 = _el$59.nextSibling, _el$61 = _el$58.nextSibling, _el$62 = _el$61.firstChild, _el$63 = _el$62.nextSibling, _el$64 = _el$50.nextSibling, _el$65 = _el$64.nextSibling;
434
+ insert(_el$53, (() => {
435
+ var _c$8 = memo(() => {
436
+ var _a, _b;
437
+ return !!(((_a = activeMatch()) == null ? void 0 : _a.status) === "success" && ((_b = activeMatch()) == null ? void 0 : _b.isFetching));
438
+ });
439
+ return () => {
440
+ var _a;
441
+ return _c$8() ? "fetching" : (_a = activeMatch()) == null ? void 0 : _a.status;
442
+ };
443
+ })());
444
+ insert(_el$57, () => {
445
+ var _a;
446
+ return (_a = activeMatch()) == null ? void 0 : _a.id;
447
+ });
448
+ insert(_el$60, (() => {
449
+ var _c$9 = memo(() => {
450
+ var _a;
451
+ return !!((_a = routerState().pendingMatches) == null ? void 0 : _a.find((d) => {
452
+ var _a2;
453
+ return d.id === ((_a2 = activeMatch()) == null ? void 0 : _a2.id);
454
+ }));
455
+ });
456
+ return () => _c$9() ? "Pending" : routerState().matches.find((d) => {
457
+ var _a;
458
+ return d.id === ((_a = activeMatch()) == null ? void 0 : _a.id);
459
+ }) ? "Active" : "Cached";
460
+ })());
461
+ insert(_el$63, (() => {
462
+ var _c$10 = memo(() => {
463
+ var _a;
464
+ return !!((_a = activeMatch()) == null ? void 0 : _a.updatedAt);
465
+ });
466
+ return () => {
467
+ var _a;
468
+ return _c$10() ? new Date((_a = activeMatch()) == null ? void 0 : _a.updatedAt).toLocaleTimeString() : "N/A";
469
+ };
470
+ })());
471
+ insert(_el$48, (() => {
472
+ var _c$11 = memo(() => !!activeMatchLoaderData());
473
+ return () => _c$11() ? [(() => {
474
+ var _el$66 = _tmpl$12();
475
+ effect(() => className(_el$66, styles().detailsHeader));
476
+ return _el$66;
477
+ })(), (() => {
478
+ var _el$67 = _tmpl$6();
479
+ insert(_el$67, createComponent(Explorer, {
480
+ label: "loaderData",
481
+ value: activeMatchLoaderData,
482
+ defaultExpanded: {}
483
+ }));
484
+ effect(() => className(_el$67, styles().detailsContent));
485
+ return _el$67;
486
+ })()] : null;
487
+ })(), _el$64);
488
+ insert(_el$65, createComponent(Explorer, {
489
+ label: "Match",
490
+ value: activeMatchValue,
491
+ defaultExpanded: {}
492
+ }));
493
+ effect((_p$) => {
494
+ var _a, _b;
495
+ var _v$35 = styles().thirdContainer, _v$36 = styles().detailsHeader, _v$37 = styles().matchDetails, _v$38 = styles().matchStatus((_a = activeMatch()) == null ? void 0 : _a.status, (_b = activeMatch()) == null ? void 0 : _b.isFetching), _v$39 = styles().matchDetailsInfoLabel, _v$40 = styles().matchDetailsInfo, _v$41 = styles().matchDetailsInfoLabel, _v$42 = styles().matchDetailsInfo, _v$43 = styles().matchDetailsInfoLabel, _v$44 = styles().matchDetailsInfo, _v$45 = styles().detailsHeader, _v$46 = styles().detailsContent;
496
+ _v$35 !== _p$.e && className(_el$48, _p$.e = _v$35);
497
+ _v$36 !== _p$.t && className(_el$49, _p$.t = _v$36);
498
+ _v$37 !== _p$.a && className(_el$51, _p$.a = _v$37);
499
+ _v$38 !== _p$.o && className(_el$52, _p$.o = _v$38);
500
+ _v$39 !== _p$.i && className(_el$54, _p$.i = _v$39);
501
+ _v$40 !== _p$.n && className(_el$56, _p$.n = _v$40);
502
+ _v$41 !== _p$.s && className(_el$58, _p$.s = _v$41);
503
+ _v$42 !== _p$.h && className(_el$60, _p$.h = _v$42);
504
+ _v$43 !== _p$.r && className(_el$61, _p$.r = _v$43);
505
+ _v$44 !== _p$.d && className(_el$63, _p$.d = _v$44);
506
+ _v$45 !== _p$.l && className(_el$64, _p$.l = _v$45);
507
+ _v$46 !== _p$.u && className(_el$65, _p$.u = _v$46);
508
+ return _p$;
509
+ }, {
510
+ e: void 0,
511
+ t: void 0,
512
+ a: void 0,
513
+ o: void 0,
514
+ i: void 0,
515
+ n: void 0,
516
+ s: void 0,
517
+ h: void 0,
518
+ r: void 0,
519
+ d: void 0,
520
+ l: void 0,
521
+ u: void 0
522
+ });
523
+ return _el$48;
524
+ })() : null;
525
+ })(), null);
526
+ insert(_el$13, (() => {
527
+ var _c$7 = memo(() => !!hasSearch());
528
+ return () => _c$7() ? (() => {
529
+ var _el$68 = _tmpl$13(), _el$69 = _el$68.firstChild, _el$70 = _el$69.nextSibling;
530
+ insert(_el$70, createComponent(Explorer, {
531
+ value: locationSearchValue,
532
+ get defaultExpanded() {
533
+ return Object.keys(routerState().location.search).reduce((obj, next) => {
534
+ obj[next] = {};
535
+ return obj;
536
+ }, {});
537
+ }
538
+ }));
539
+ effect((_p$) => {
540
+ var _v$47 = styles().fourthContainer, _v$48 = styles().detailsHeader, _v$49 = styles().detailsContent;
541
+ _v$47 !== _p$.e && className(_el$68, _p$.e = _v$47);
542
+ _v$48 !== _p$.t && className(_el$69, _p$.t = _v$48);
543
+ _v$49 !== _p$.a && className(_el$70, _p$.a = _v$49);
544
+ return _p$;
545
+ }, {
546
+ e: void 0,
547
+ t: void 0,
548
+ a: void 0
549
+ });
550
+ return _el$68;
551
+ })() : null;
552
+ })(), null);
553
+ effect((_p$) => {
554
+ var _v$6 = styles().panelCloseBtn, _v$7 = styles().panelCloseBtnIcon, _v$8 = styles().firstContainer, _v$9 = styles().row, _v$10 = styles().routerExplorerContainer, _v$11 = styles().routerExplorer, _v$12 = styles().secondContainer, _v$13 = styles().matchesContainer, _v$14 = styles().detailsHeader, _v$15 = styles().detailsContent, _v$16 = styles().detailsHeader, _v$17 = styles().routeMatchesToggle, _v$18 = !showMatches(), _v$19 = clsx(styles().routeMatchesToggleBtn(!showMatches(), true)), _v$20 = showMatches(), _v$21 = clsx(styles().routeMatchesToggleBtn(!!showMatches(), false)), _v$22 = styles().detailsHeaderInfo, _v$23 = clsx(styles().routesContainer);
555
+ _v$6 !== _p$.e && className(_el$14, _p$.e = _v$6);
556
+ _v$7 !== _p$.t && setAttribute(_el$15, "class", _p$.t = _v$7);
557
+ _v$8 !== _p$.a && className(_el$16, _p$.a = _v$8);
558
+ _v$9 !== _p$.o && className(_el$17, _p$.o = _v$9);
559
+ _v$10 !== _p$.i && className(_el$18, _p$.i = _v$10);
560
+ _v$11 !== _p$.n && className(_el$19, _p$.n = _v$11);
561
+ _v$12 !== _p$.s && className(_el$20, _p$.s = _v$12);
562
+ _v$13 !== _p$.h && className(_el$21, _p$.h = _v$13);
563
+ _v$14 !== _p$.r && className(_el$22, _p$.r = _v$14);
564
+ _v$15 !== _p$.d && className(_el$24, _p$.d = _v$15);
565
+ _v$16 !== _p$.l && className(_el$26, _p$.l = _v$16);
566
+ _v$17 !== _p$.u && className(_el$27, _p$.u = _v$17);
567
+ _v$18 !== _p$.c && (_el$28.disabled = _p$.c = _v$18);
568
+ _v$19 !== _p$.w && className(_el$28, _p$.w = _v$19);
569
+ _v$20 !== _p$.m && (_el$29.disabled = _p$.m = _v$20);
570
+ _v$21 !== _p$.f && className(_el$29, _p$.f = _v$21);
571
+ _v$22 !== _p$.y && className(_el$30, _p$.y = _v$22);
572
+ _v$23 !== _p$.g && className(_el$31, _p$.g = _v$23);
573
+ return _p$;
574
+ }, {
575
+ e: void 0,
576
+ t: void 0,
577
+ a: void 0,
578
+ o: void 0,
579
+ i: void 0,
580
+ n: void 0,
581
+ s: void 0,
582
+ h: void 0,
583
+ r: void 0,
584
+ d: void 0,
585
+ l: void 0,
586
+ u: void 0,
587
+ c: void 0,
588
+ w: void 0,
589
+ m: void 0,
590
+ f: void 0,
591
+ y: void 0,
592
+ g: void 0
593
+ });
594
+ return _el$13;
595
+ })();
596
+ };
597
+ delegateEvents(["click", "mousedown"]);
598
+ export {
599
+ BaseTanStackRouterDevtoolsPanel,
600
+ BaseTanStackRouterDevtoolsPanel as default
601
+ };
602
+ //# sourceMappingURL=BaseTanStackRouterDevtoolsPanel.js.map