@tanstack/react-router-devtools 0.0.1-beta.83 → 1.114.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 (59) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -1
  3. package/dist/cjs/TanStackRouterDevtools.cjs +72 -0
  4. package/dist/cjs/TanStackRouterDevtools.cjs.map +1 -0
  5. package/dist/cjs/TanStackRouterDevtools.d.cts +41 -0
  6. package/dist/cjs/TanStackRouterDevtoolsPanel.cjs +44 -0
  7. package/dist/cjs/TanStackRouterDevtoolsPanel.cjs.map +1 -0
  8. package/dist/cjs/TanStackRouterDevtoolsPanel.d.cts +33 -0
  9. package/dist/cjs/index.cjs +17 -0
  10. package/dist/cjs/index.cjs.map +1 -0
  11. package/dist/cjs/index.d.cts +6 -0
  12. package/dist/esm/TanStackRouterDevtools.d.ts +41 -0
  13. package/dist/esm/TanStackRouterDevtools.js +72 -0
  14. package/dist/esm/TanStackRouterDevtools.js.map +1 -0
  15. package/dist/esm/TanStackRouterDevtoolsPanel.d.ts +33 -0
  16. package/dist/esm/TanStackRouterDevtoolsPanel.js +44 -0
  17. package/dist/esm/TanStackRouterDevtoolsPanel.js.map +1 -0
  18. package/dist/esm/index.d.ts +6 -0
  19. package/dist/esm/index.js +17 -0
  20. package/dist/esm/index.js.map +1 -0
  21. package/package.json +42 -26
  22. package/src/TanStackRouterDevtools.tsx +134 -0
  23. package/src/TanStackRouterDevtoolsPanel.tsx +87 -0
  24. package/src/index.ts +22 -0
  25. package/build/cjs/Explorer.js +0 -216
  26. package/build/cjs/Explorer.js.map +0 -1
  27. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -31
  28. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  29. package/build/cjs/devtools.js +0 -583
  30. package/build/cjs/devtools.js.map +0 -1
  31. package/build/cjs/index.js +0 -21
  32. package/build/cjs/index.js.map +0 -1
  33. package/build/cjs/styledComponents.js +0 -79
  34. package/build/cjs/styledComponents.js.map +0 -1
  35. package/build/cjs/theme.js +0 -51
  36. package/build/cjs/theme.js.map +0 -1
  37. package/build/cjs/useLocalStorage.js +0 -58
  38. package/build/cjs/useLocalStorage.js.map +0 -1
  39. package/build/cjs/useMediaQuery.js +0 -58
  40. package/build/cjs/useMediaQuery.js.map +0 -1
  41. package/build/cjs/utils.js +0 -107
  42. package/build/cjs/utils.js.map +0 -1
  43. package/build/esm/index.js +0 -984
  44. package/build/esm/index.js.map +0 -1
  45. package/build/stats-html.html +0 -4044
  46. package/build/stats-react.json +0 -504
  47. package/build/types/index.d.ts +0 -77
  48. package/build/umd/index.development.js +0 -1119
  49. package/build/umd/index.development.js.map +0 -1
  50. package/build/umd/index.production.js +0 -54
  51. package/build/umd/index.production.js.map +0 -1
  52. package/src/Explorer.tsx +0 -290
  53. package/src/devtools.tsx +0 -984
  54. package/src/index.tsx +0 -1
  55. package/src/styledComponents.ts +0 -106
  56. package/src/theme.tsx +0 -31
  57. package/src/useLocalStorage.ts +0 -52
  58. package/src/useMediaQuery.ts +0 -39
  59. package/src/utils.ts +0 -169
@@ -1,583 +0,0 @@
1
- /**
2
- * react-router-devtools
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
16
- var React = require('react');
17
- var reactRouter = require('@tanstack/react-router');
18
- var useLocalStorage = require('./useLocalStorage.js');
19
- var utils = require('./utils.js');
20
- var styledComponents = require('./styledComponents.js');
21
- var theme = require('./theme.js');
22
- var Explorer = require('./Explorer.js');
23
-
24
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
-
26
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
-
28
- const isServer = typeof window === 'undefined';
29
- function Logo(props) {
30
- return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, props, {
31
- style: {
32
- ...(props.style ?? {}),
33
- display: 'flex',
34
- alignItems: 'center',
35
- flexDirection: 'column',
36
- fontSize: '0.8rem',
37
- fontWeight: 'bolder',
38
- lineHeight: '1'
39
- }
40
- }), /*#__PURE__*/React__default["default"].createElement("div", {
41
- style: {
42
- letterSpacing: '-0.05rem'
43
- }
44
- }, "TANSTACK"), /*#__PURE__*/React__default["default"].createElement("div", {
45
- style: {
46
- backgroundImage: 'linear-gradient(to right, var(--tw-gradient-stops))',
47
- // @ts-ignore
48
- '--tw-gradient-from': '#84cc16',
49
- '--tw-gradient-stops': 'var(--tw-gradient-from), var(--tw-gradient-to)',
50
- '--tw-gradient-to': '#10b981',
51
- WebkitBackgroundClip: 'text',
52
- color: 'transparent',
53
- letterSpacing: '0.1rem',
54
- marginRight: '-0.2rem'
55
- }
56
- }, "ROUTER"));
57
- }
58
- function TanStackRouterDevtools({
59
- initialIsOpen,
60
- panelProps = {},
61
- closeButtonProps = {},
62
- toggleButtonProps = {},
63
- position = 'bottom-left',
64
- containerElement: Container = 'footer',
65
- router
66
- }) {
67
- const rootRef = React__default["default"].useRef(null);
68
- const panelRef = React__default["default"].useRef(null);
69
- const [isOpen, setIsOpen] = useLocalStorage["default"]('tanstackRouterDevtoolsOpen', initialIsOpen);
70
- const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage["default"]('tanstackRouterDevtoolsHeight', null);
71
- const [isResolvedOpen, setIsResolvedOpen] = utils.useSafeState(false);
72
- const [isResizing, setIsResizing] = utils.useSafeState(false);
73
- const isMounted = utils.useIsMounted();
74
- const handleDragStart = (panelElement, startEvent) => {
75
- if (startEvent.button !== 0) return; // Only allow left click for drag
76
-
77
- setIsResizing(true);
78
- const dragInfo = {
79
- originalHeight: panelElement?.getBoundingClientRect().height ?? 0,
80
- pageY: startEvent.pageY
81
- };
82
- const run = moveEvent => {
83
- const delta = dragInfo.pageY - moveEvent.pageY;
84
- const newHeight = dragInfo?.originalHeight + delta;
85
- setDevtoolsHeight(newHeight);
86
- if (newHeight < 70) {
87
- setIsOpen(false);
88
- } else {
89
- setIsOpen(true);
90
- }
91
- };
92
- const unsub = () => {
93
- setIsResizing(false);
94
- document.removeEventListener('mousemove', run);
95
- document.removeEventListener('mouseUp', unsub);
96
- };
97
- document.addEventListener('mousemove', run);
98
- document.addEventListener('mouseup', unsub);
99
- };
100
- React__default["default"].useEffect(() => {
101
- setIsResolvedOpen(isOpen ?? false);
102
- }, [isOpen, isResolvedOpen, setIsResolvedOpen]);
103
-
104
- // Toggle panel visibility before/after transition (depending on direction).
105
- // Prevents focusing in a closed panel.
106
- React__default["default"].useEffect(() => {
107
- const ref = panelRef.current;
108
- if (ref) {
109
- const handlePanelTransitionStart = () => {
110
- if (ref && isResolvedOpen) {
111
- ref.style.visibility = 'visible';
112
- }
113
- };
114
- const handlePanelTransitionEnd = () => {
115
- if (ref && !isResolvedOpen) {
116
- ref.style.visibility = 'hidden';
117
- }
118
- };
119
- ref.addEventListener('transitionstart', handlePanelTransitionStart);
120
- ref.addEventListener('transitionend', handlePanelTransitionEnd);
121
- return () => {
122
- ref.removeEventListener('transitionstart', handlePanelTransitionStart);
123
- ref.removeEventListener('transitionend', handlePanelTransitionEnd);
124
- };
125
- }
126
- return;
127
- }, [isResolvedOpen]);
128
- React__default["default"][isServer ? 'useEffect' : 'useLayoutEffect'](() => {
129
- if (isResolvedOpen) {
130
- const previousValue = rootRef.current?.parentElement?.style.paddingBottom;
131
- const run = () => {
132
- const containerHeight = panelRef.current?.getBoundingClientRect().height;
133
- if (rootRef.current?.parentElement) {
134
- rootRef.current.parentElement.style.paddingBottom = `${containerHeight}px`;
135
- }
136
- };
137
- run();
138
- if (typeof window !== 'undefined') {
139
- window.addEventListener('resize', run);
140
- return () => {
141
- window.removeEventListener('resize', run);
142
- if (rootRef.current?.parentElement && typeof previousValue === 'string') {
143
- rootRef.current.parentElement.style.paddingBottom = previousValue;
144
- }
145
- };
146
- }
147
- }
148
- return;
149
- }, [isResolvedOpen]);
150
- const {
151
- style: panelStyle = {},
152
- ...otherPanelProps
153
- } = panelProps;
154
- const {
155
- style: closeButtonStyle = {},
156
- onClick: onCloseClick,
157
- ...otherCloseButtonProps
158
- } = closeButtonProps;
159
- const {
160
- style: toggleButtonStyle = {},
161
- onClick: onToggleClick,
162
- ...otherToggleButtonProps
163
- } = toggleButtonProps;
164
-
165
- // Do not render on the server
166
- if (!isMounted()) return null;
167
- return /*#__PURE__*/React__default["default"].createElement(Container, {
168
- ref: rootRef,
169
- className: "TanStackRouterDevtools"
170
- }, /*#__PURE__*/React__default["default"].createElement(theme.ThemeProvider, {
171
- theme: theme.defaultTheme
172
- }, /*#__PURE__*/React__default["default"].createElement(TanStackRouterDevtoolsPanel, _rollupPluginBabelHelpers["extends"]({
173
- ref: panelRef
174
- }, otherPanelProps, {
175
- router: router,
176
- style: {
177
- position: 'fixed',
178
- bottom: '0',
179
- right: '0',
180
- zIndex: 99999,
181
- width: '100%',
182
- height: devtoolsHeight ?? 500,
183
- maxHeight: '90%',
184
- boxShadow: '0 0 20px rgba(0,0,0,.3)',
185
- borderTop: `1px solid ${theme.defaultTheme.gray}`,
186
- transformOrigin: 'top',
187
- // visibility will be toggled after transitions, but set initial state here
188
- visibility: isOpen ? 'visible' : 'hidden',
189
- ...panelStyle,
190
- ...(isResizing ? {
191
- transition: `none`
192
- } : {
193
- transition: `all .2s ease`
194
- }),
195
- ...(isResolvedOpen ? {
196
- opacity: 1,
197
- pointerEvents: 'all',
198
- transform: `translateY(0) scale(1)`
199
- } : {
200
- opacity: 0,
201
- pointerEvents: 'none',
202
- transform: `translateY(15px) scale(1.02)`
203
- })
204
- },
205
- isOpen: isResolvedOpen,
206
- setIsOpen: setIsOpen,
207
- handleDragStart: e => handleDragStart(panelRef.current, e)
208
- })), isResolvedOpen ? /*#__PURE__*/React__default["default"].createElement(styledComponents.Button, _rollupPluginBabelHelpers["extends"]({
209
- type: "button",
210
- "aria-label": "Close TanStack Router Devtools"
211
- }, otherCloseButtonProps, {
212
- onClick: e => {
213
- setIsOpen(false);
214
- onCloseClick && onCloseClick(e);
215
- },
216
- style: {
217
- position: 'fixed',
218
- zIndex: 99999,
219
- margin: '.5em',
220
- bottom: 0,
221
- ...(position === 'top-right' ? {
222
- right: '0'
223
- } : position === 'top-left' ? {
224
- left: '0'
225
- } : position === 'bottom-right' ? {
226
- right: '0'
227
- } : {
228
- left: '0'
229
- }),
230
- ...closeButtonStyle
231
- }
232
- }), "Close") : null), !isResolvedOpen ? /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
233
- type: "button"
234
- }, otherToggleButtonProps, {
235
- "aria-label": "Open TanStack Router Devtools",
236
- onClick: e => {
237
- setIsOpen(true);
238
- onToggleClick && onToggleClick(e);
239
- },
240
- style: {
241
- appearance: 'none',
242
- background: 'none',
243
- border: 0,
244
- padding: 0,
245
- position: 'fixed',
246
- zIndex: 99999,
247
- display: 'inline-flex',
248
- fontSize: '1.5em',
249
- margin: '.5em',
250
- cursor: 'pointer',
251
- width: 'fit-content',
252
- ...(position === 'top-right' ? {
253
- top: '0',
254
- right: '0'
255
- } : position === 'top-left' ? {
256
- top: '0',
257
- left: '0'
258
- } : position === 'bottom-right' ? {
259
- bottom: '0',
260
- right: '0'
261
- } : {
262
- bottom: '0',
263
- left: '0'
264
- }),
265
- ...toggleButtonStyle
266
- }
267
- }), /*#__PURE__*/React__default["default"].createElement(Logo, {
268
- "aria-hidden": true
269
- })) : null);
270
- }
271
- const TanStackRouterDevtoolsPanel = /*#__PURE__*/React__default["default"].forwardRef(function TanStackRouterDevtoolsPanel(props, ref) {
272
- const {
273
- isOpen = true,
274
- setIsOpen,
275
- handleDragStart,
276
- router: userRouter,
277
- ...panelProps
278
- } = props;
279
- const routerContextValue = React__default["default"].useContext(reactRouter.routerContext);
280
- const router = userRouter ?? routerContextValue?.router;
281
- reactRouter.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.');
282
- reactRouter.useStore(router.__store);
283
- const [activeRouteId, setActiveRouteId] = useLocalStorage["default"]('tanstackRouterDevtoolsActiveRouteId', '');
284
- const [activeMatchId, setActiveMatchId] = useLocalStorage["default"]('tanstackRouterDevtoolsActiveMatchId', '');
285
- React__default["default"].useEffect(() => {
286
- setActiveMatchId('');
287
- }, [activeRouteId]);
288
- const allMatches = React__default["default"].useMemo(() => [...Object.values(router.state.currentMatches), ...Object.values(router.state.pendingMatches ?? [])], [router.state.currentMatches, router.state.pendingMatches]);
289
- const activeMatch = allMatches?.find(d => d.id === activeMatchId) || allMatches?.find(d => d.route.id === activeRouteId);
290
- return /*#__PURE__*/React__default["default"].createElement(theme.ThemeProvider, {
291
- theme: theme.defaultTheme
292
- }, /*#__PURE__*/React__default["default"].createElement(styledComponents.Panel, _rollupPluginBabelHelpers["extends"]({
293
- ref: ref,
294
- className: "TanStackRouterDevtoolsPanel"
295
- }, panelProps), /*#__PURE__*/React__default["default"].createElement("style", {
296
- dangerouslySetInnerHTML: {
297
- __html: `
298
-
299
- .TanStackRouterDevtoolsPanel * {
300
- scrollbar-color: ${theme.defaultTheme.backgroundAlt} ${theme.defaultTheme.gray};
301
- }
302
-
303
- .TanStackRouterDevtoolsPanel *::-webkit-scrollbar, .TanStackRouterDevtoolsPanel scrollbar {
304
- width: 1em;
305
- height: 1em;
306
- }
307
-
308
- .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-track, .TanStackRouterDevtoolsPanel scrollbar-track {
309
- background: ${theme.defaultTheme.backgroundAlt};
310
- }
311
-
312
- .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-thumb, .TanStackRouterDevtoolsPanel scrollbar-thumb {
313
- background: ${theme.defaultTheme.gray};
314
- border-radius: .5em;
315
- border: 3px solid ${theme.defaultTheme.backgroundAlt};
316
- }
317
-
318
- .TanStackRouterDevtoolsPanel table {
319
- width: 100%;
320
- }
321
-
322
- .TanStackRouterDevtoolsPanel table tr {
323
- border-bottom: 2px dotted rgba(255, 255, 255, .2);
324
- }
325
-
326
- .TanStackRouterDevtoolsPanel table tr:last-child {
327
- border-bottom: none
328
- }
329
-
330
- .TanStackRouterDevtoolsPanel table td {
331
- padding: .25rem .5rem;
332
- border-right: 2px dotted rgba(255, 255, 255, .05);
333
- }
334
-
335
- .TanStackRouterDevtoolsPanel table td:last-child {
336
- border-right: none
337
- }
338
-
339
- `
340
- }
341
- }), /*#__PURE__*/React__default["default"].createElement("div", {
342
- style: {
343
- position: 'absolute',
344
- left: 0,
345
- top: 0,
346
- width: '100%',
347
- height: '4px',
348
- marginBottom: '-4px',
349
- cursor: 'row-resize',
350
- zIndex: 100000
351
- },
352
- onMouseDown: handleDragStart
353
- }), /*#__PURE__*/React__default["default"].createElement("div", {
354
- style: {
355
- flex: '1 1 500px',
356
- minHeight: '40%',
357
- maxHeight: '100%',
358
- overflow: 'auto',
359
- borderRight: `1px solid ${theme.defaultTheme.grayAlt}`,
360
- display: 'flex',
361
- flexDirection: 'column'
362
- }
363
- }, /*#__PURE__*/React__default["default"].createElement("div", {
364
- style: {
365
- display: 'flex',
366
- justifyContent: 'start',
367
- gap: '1rem',
368
- padding: '1rem',
369
- alignItems: 'center',
370
- background: theme.defaultTheme.backgroundAlt
371
- }
372
- }, /*#__PURE__*/React__default["default"].createElement(Logo, {
373
- "aria-hidden": true
374
- }), /*#__PURE__*/React__default["default"].createElement("div", {
375
- style: {
376
- fontSize: 'clamp(.8rem, 2vw, 1.3rem)',
377
- fontWeight: 'bold'
378
- }
379
- }, /*#__PURE__*/React__default["default"].createElement("span", {
380
- style: {
381
- fontWeight: 100
382
- }
383
- }, "Devtools"))), /*#__PURE__*/React__default["default"].createElement("div", {
384
- style: {
385
- overflowY: 'auto',
386
- flex: '1'
387
- }
388
- }, /*#__PURE__*/React__default["default"].createElement("div", {
389
- style: {
390
- padding: '.5em'
391
- }
392
- }, /*#__PURE__*/React__default["default"].createElement(Explorer["default"], {
393
- label: "Router",
394
- value: router,
395
- defaultExpanded: {}
396
- })))), /*#__PURE__*/React__default["default"].createElement("div", {
397
- style: {
398
- flex: '1 1 500px',
399
- minHeight: '40%',
400
- maxHeight: '100%',
401
- overflow: 'auto',
402
- borderRight: `1px solid ${theme.defaultTheme.grayAlt}`,
403
- display: 'flex',
404
- flexDirection: 'column'
405
- }
406
- }, /*#__PURE__*/React__default["default"].createElement("div", {
407
- style: {
408
- padding: '.5em',
409
- background: theme.defaultTheme.backgroundAlt,
410
- position: 'sticky',
411
- top: 0,
412
- zIndex: 1
413
- }
414
- }, "Active Matches"), router.state.currentMatches.map((match, i) => {
415
- return /*#__PURE__*/React__default["default"].createElement("div", {
416
- key: match.route.id || i,
417
- role: "button",
418
- "aria-label": `Open match details for ${match.route.id}`,
419
- onClick: () => setActiveRouteId(activeRouteId === match.route.id ? '' : match.route.id),
420
- style: {
421
- display: 'flex',
422
- borderBottom: `solid 1px ${theme.defaultTheme.grayAlt}`,
423
- cursor: 'pointer',
424
- alignItems: 'center',
425
- background: match === activeMatch ? 'rgba(255,255,255,.1)' : undefined
426
- }
427
- }, /*#__PURE__*/React__default["default"].createElement("div", {
428
- style: {
429
- flex: '0 0 auto',
430
- width: '1.3rem',
431
- height: '1.3rem',
432
- marginLeft: '.25rem',
433
- background: utils.getStatusColor(match, theme.defaultTheme),
434
- alignItems: 'center',
435
- justifyContent: 'center',
436
- fontWeight: 'bold',
437
- borderRadius: '.25rem',
438
- transition: 'all .2s ease-out'
439
- }
440
- }), /*#__PURE__*/React__default["default"].createElement(styledComponents.Code, {
441
- style: {
442
- padding: '.5em'
443
- }
444
- }, `${match.id}`));
445
- }), router.state.pendingMatches?.length ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
446
- style: {
447
- marginTop: '2rem',
448
- padding: '.5em',
449
- background: theme.defaultTheme.backgroundAlt,
450
- position: 'sticky',
451
- top: 0,
452
- zIndex: 1
453
- }
454
- }, "Pending Matches"), router.state.pendingMatches?.map((match, i) => {
455
- return /*#__PURE__*/React__default["default"].createElement("div", {
456
- key: match.route.id || i,
457
- role: "button",
458
- "aria-label": `Open match details for ${match.route.id}`,
459
- onClick: () => setActiveRouteId(activeRouteId === match.route.id ? '' : match.route.id),
460
- style: {
461
- display: 'flex',
462
- borderBottom: `solid 1px ${theme.defaultTheme.grayAlt}`,
463
- cursor: 'pointer',
464
- background: match === activeMatch ? 'rgba(255,255,255,.1)' : undefined
465
- }
466
- }, /*#__PURE__*/React__default["default"].createElement("div", {
467
- style: {
468
- flex: '0 0 auto',
469
- width: '1.3rem',
470
- height: '1.3rem',
471
- marginLeft: '.25rem',
472
- background: utils.getStatusColor(match, theme.defaultTheme),
473
- alignItems: 'center',
474
- justifyContent: 'center',
475
- fontWeight: 'bold',
476
- borderRadius: '.25rem',
477
- transition: 'all .2s ease-out'
478
- }
479
- }), /*#__PURE__*/React__default["default"].createElement(styledComponents.Code, {
480
- style: {
481
- padding: '.5em'
482
- }
483
- }, `${match.id}`));
484
- })) : null), activeMatch ? /*#__PURE__*/React__default["default"].createElement(styledComponents.ActivePanel, null, /*#__PURE__*/React__default["default"].createElement("div", {
485
- style: {
486
- padding: '.5em',
487
- background: theme.defaultTheme.backgroundAlt,
488
- position: 'sticky',
489
- top: 0,
490
- bottom: 0,
491
- zIndex: 1
492
- }
493
- }, "Match Details"), /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("table", null, /*#__PURE__*/React__default["default"].createElement("tbody", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
494
- style: {
495
- opacity: '.5'
496
- }
497
- }, "ID"), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement(styledComponents.Code, {
498
- style: {
499
- lineHeight: '1.8em'
500
- }
501
- }, JSON.stringify(activeMatch.id, null, 2)))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
502
- style: {
503
- opacity: '.5'
504
- }
505
- }, "Status"), /*#__PURE__*/React__default["default"].createElement("td", null, activeMatch.state.status)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
506
- style: {
507
- opacity: '.5'
508
- }
509
- }, "Last Updated"), /*#__PURE__*/React__default["default"].createElement("td", null, activeMatch.state.updatedAt ? new Date(activeMatch.state.updatedAt).toLocaleTimeString() : 'N/A'))))), /*#__PURE__*/React__default["default"].createElement("div", {
510
- style: {
511
- background: theme.defaultTheme.backgroundAlt,
512
- padding: '.5em',
513
- position: 'sticky',
514
- top: 0,
515
- bottom: 0,
516
- zIndex: 1
517
- }
518
- }, "Actions"), /*#__PURE__*/React__default["default"].createElement("div", {
519
- style: {
520
- padding: '0.5em'
521
- }
522
- }, /*#__PURE__*/React__default["default"].createElement(styledComponents.Button, {
523
- type: "button",
524
- onClick: () => activeMatch.load(),
525
- style: {
526
- background: theme.defaultTheme.gray
527
- }
528
- }, "Reload")), /*#__PURE__*/React__default["default"].createElement("div", {
529
- style: {
530
- background: theme.defaultTheme.backgroundAlt,
531
- padding: '.5em',
532
- position: 'sticky',
533
- top: 0,
534
- bottom: 0,
535
- zIndex: 1
536
- }
537
- }, "Explorer"), /*#__PURE__*/React__default["default"].createElement("div", {
538
- style: {
539
- padding: '.5em'
540
- }
541
- }, /*#__PURE__*/React__default["default"].createElement(Explorer["default"], {
542
- label: "Match",
543
- value: activeMatch,
544
- defaultExpanded: {}
545
- }))) : null, /*#__PURE__*/React__default["default"].createElement("div", {
546
- style: {
547
- flex: '1 1 500px',
548
- minHeight: '40%',
549
- maxHeight: '100%',
550
- overflow: 'auto',
551
- borderRight: `1px solid ${theme.defaultTheme.grayAlt}`,
552
- display: 'flex',
553
- flexDirection: 'column'
554
- }
555
- }, /*#__PURE__*/React__default["default"].createElement("div", {
556
- style: {
557
- padding: '.5em',
558
- background: theme.defaultTheme.backgroundAlt,
559
- position: 'sticky',
560
- top: 0,
561
- bottom: 0,
562
- zIndex: 1
563
- }
564
- }, "Search Params"), /*#__PURE__*/React__default["default"].createElement("div", {
565
- style: {
566
- padding: '.5em'
567
- }
568
- }, Object.keys(reactRouter.last(router.state.currentMatches)?.state.search || {}).length ? /*#__PURE__*/React__default["default"].createElement(Explorer["default"], {
569
- value: reactRouter.last(router.state.currentMatches)?.state.search || {},
570
- defaultExpanded: Object.keys(reactRouter.last(router.state.currentMatches)?.state.search || {}).reduce((obj, next) => {
571
- obj[next] = {};
572
- return obj;
573
- }, {})
574
- }) : /*#__PURE__*/React__default["default"].createElement("em", {
575
- style: {
576
- opacity: 0.5
577
- }
578
- }, '{ }')))));
579
- });
580
-
581
- exports.TanStackRouterDevtools = TanStackRouterDevtools;
582
- exports.TanStackRouterDevtoolsPanel = TanStackRouterDevtoolsPanel;
583
- //# sourceMappingURL=devtools.js.map