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