@tanstack/router-devtools 0.0.1-alpha.0 → 0.0.1-beta.84

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