@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.
- package/LICENSE +21 -0
- package/README.md +1 -1
- package/build/cjs/Explorer.js +57 -81
- package/build/cjs/Explorer.js.map +1 -1
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +1 -19
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/devtools.js +256 -266
- package/build/cjs/devtools.js.map +1 -1
- package/build/cjs/index.js +3 -3
- package/build/cjs/styledComponents.js +10 -38
- package/build/cjs/styledComponents.js.map +1 -1
- package/build/cjs/theme.js +5 -8
- package/build/cjs/theme.js.map +1 -1
- package/build/cjs/useLocalStorage.js +3 -10
- package/build/cjs/useLocalStorage.js.map +1 -1
- package/build/cjs/useMediaQuery.js +13 -12
- package/build/cjs/useMediaQuery.js.map +1 -1
- package/build/cjs/utils.js +25 -35
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +308 -1337
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +59 -49
- package/build/stats-react.json +223 -9444
- package/build/types/index.d.ts +6 -5
- package/build/umd/index.development.js +347 -1316
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +22 -2
- package/build/umd/index.production.js.map +1 -1
- package/package.json +9 -11
- package/src/Explorer.tsx +14 -12
- package/src/devtools.tsx +263 -240
- package/src/useLocalStorage.ts +5 -5
- package/src/useMediaQuery.ts +3 -0
- package/src/utils.ts +35 -17
- package/build/cjs/Logo.js +0 -73
- package/build/cjs/Logo.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/Explorer.js +0 -240
- package/build/cjs/packages/react-location-devtools/src/Explorer.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/Logo.js +0 -73
- package/build/cjs/packages/react-location-devtools/src/Logo.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/devtools.js +0 -614
- package/build/cjs/packages/react-location-devtools/src/devtools.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/index.js +0 -21
- package/build/cjs/packages/react-location-devtools/src/index.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/styledComponents.js +0 -107
- package/build/cjs/packages/react-location-devtools/src/styledComponents.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/theme.js +0 -54
- package/build/cjs/packages/react-location-devtools/src/theme.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/useLocalStorage.js +0 -65
- package/build/cjs/packages/react-location-devtools/src/useLocalStorage.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/useMediaQuery.js +0 -57
- package/build/cjs/packages/react-location-devtools/src/useMediaQuery.js.map +0 -1
- package/build/cjs/packages/react-location-devtools/src/utils.js +0 -117
- package/build/cjs/packages/react-location-devtools/src/utils.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/Explorer.js +0 -245
- package/build/cjs/packages/react-router-devtools/src/Explorer.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/Logo.js +0 -73
- package/build/cjs/packages/react-router-devtools/src/Logo.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/devtools.js +0 -654
- package/build/cjs/packages/react-router-devtools/src/devtools.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/index.js +0 -21
- package/build/cjs/packages/react-router-devtools/src/index.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/styledComponents.js +0 -107
- package/build/cjs/packages/react-router-devtools/src/styledComponents.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/theme.js +0 -54
- package/build/cjs/packages/react-router-devtools/src/theme.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/useLocalStorage.js +0 -65
- package/build/cjs/packages/react-router-devtools/src/useLocalStorage.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/useMediaQuery.js +0 -57
- package/build/cjs/packages/react-router-devtools/src/useMediaQuery.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/utils.js +0 -117
- package/build/cjs/packages/react-router-devtools/src/utils.js.map +0 -1
- package/src/Logo.tsx +0 -37
package/build/cjs/devtools.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* router-devtools
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) TanStack
|
|
5
5
|
*
|
|
@@ -14,97 +14,108 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
14
14
|
|
|
15
15
|
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
16
16
|
var React = require('react');
|
|
17
|
-
var
|
|
17
|
+
var router = require('@tanstack/router');
|
|
18
18
|
var useLocalStorage = require('./useLocalStorage.js');
|
|
19
19
|
var utils = require('./utils.js');
|
|
20
20
|
var styledComponents = require('./styledComponents.js');
|
|
21
21
|
var theme = require('./theme.js');
|
|
22
22
|
var Explorer = require('./Explorer.js');
|
|
23
|
-
var Logo = require('./Logo.js');
|
|
24
23
|
|
|
25
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
26
25
|
|
|
27
26
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
27
|
|
|
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
28
|
const isServer = typeof window === 'undefined';
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
+
}) {
|
|
46
67
|
const rootRef = React__default["default"].useRef(null);
|
|
47
68
|
const panelRef = React__default["default"].useRef(null);
|
|
48
|
-
const [isOpen, setIsOpen] = useLocalStorage["default"]('
|
|
49
|
-
const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage["default"]('
|
|
69
|
+
const [isOpen, setIsOpen] = useLocalStorage["default"]('tanstackRouterDevtoolsOpen', initialIsOpen);
|
|
70
|
+
const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage["default"]('tanstackRouterDevtoolsHeight', null);
|
|
50
71
|
const [isResolvedOpen, setIsResolvedOpen] = utils.useSafeState(false);
|
|
51
72
|
const [isResizing, setIsResizing] = utils.useSafeState(false);
|
|
52
73
|
const isMounted = utils.useIsMounted();
|
|
53
|
-
|
|
54
|
-
const _handleDragStart = (panelElement, startEvent) => {
|
|
55
|
-
var _panelElement$getBoun;
|
|
56
|
-
|
|
74
|
+
const handleDragStart = (panelElement, startEvent) => {
|
|
57
75
|
if (startEvent.button !== 0) return; // Only allow left click for drag
|
|
58
76
|
|
|
59
77
|
setIsResizing(true);
|
|
60
78
|
const dragInfo = {
|
|
61
|
-
originalHeight:
|
|
79
|
+
originalHeight: panelElement?.getBoundingClientRect().height ?? 0,
|
|
62
80
|
pageY: startEvent.pageY
|
|
63
81
|
};
|
|
64
|
-
|
|
65
82
|
const run = moveEvent => {
|
|
66
83
|
const delta = dragInfo.pageY - moveEvent.pageY;
|
|
67
|
-
const newHeight =
|
|
84
|
+
const newHeight = dragInfo?.originalHeight + delta;
|
|
68
85
|
setDevtoolsHeight(newHeight);
|
|
69
|
-
|
|
70
86
|
if (newHeight < 70) {
|
|
71
87
|
setIsOpen(false);
|
|
72
88
|
} else {
|
|
73
89
|
setIsOpen(true);
|
|
74
90
|
}
|
|
75
91
|
};
|
|
76
|
-
|
|
77
92
|
const unsub = () => {
|
|
78
93
|
setIsResizing(false);
|
|
79
94
|
document.removeEventListener('mousemove', run);
|
|
80
95
|
document.removeEventListener('mouseUp', unsub);
|
|
81
96
|
};
|
|
82
|
-
|
|
83
97
|
document.addEventListener('mousemove', run);
|
|
84
98
|
document.addEventListener('mouseup', unsub);
|
|
85
99
|
};
|
|
86
|
-
|
|
87
100
|
React__default["default"].useEffect(() => {
|
|
88
|
-
setIsResolvedOpen(isOpen
|
|
89
|
-
}, [isOpen, isResolvedOpen, setIsResolvedOpen]);
|
|
90
|
-
// Prevents focusing in a closed panel.
|
|
101
|
+
setIsResolvedOpen(isOpen ?? false);
|
|
102
|
+
}, [isOpen, isResolvedOpen, setIsResolvedOpen]);
|
|
91
103
|
|
|
104
|
+
// Toggle panel visibility before/after transition (depending on direction).
|
|
105
|
+
// Prevents focusing in a closed panel.
|
|
92
106
|
React__default["default"].useEffect(() => {
|
|
93
107
|
const ref = panelRef.current;
|
|
94
|
-
|
|
95
108
|
if (ref) {
|
|
96
109
|
const handlePanelTransitionStart = () => {
|
|
97
110
|
if (ref && isResolvedOpen) {
|
|
98
111
|
ref.style.visibility = 'visible';
|
|
99
112
|
}
|
|
100
113
|
};
|
|
101
|
-
|
|
102
114
|
const handlePanelTransitionEnd = () => {
|
|
103
115
|
if (ref && !isResolvedOpen) {
|
|
104
116
|
ref.style.visibility = 'hidden';
|
|
105
117
|
}
|
|
106
118
|
};
|
|
107
|
-
|
|
108
119
|
ref.addEventListener('transitionstart', handlePanelTransitionStart);
|
|
109
120
|
ref.addEventListener('transitionend', handlePanelTransitionEnd);
|
|
110
121
|
return () => {
|
|
@@ -112,128 +123,122 @@ function ReactLocationDevtools(_ref) {
|
|
|
112
123
|
ref.removeEventListener('transitionend', handlePanelTransitionEnd);
|
|
113
124
|
};
|
|
114
125
|
}
|
|
126
|
+
return;
|
|
115
127
|
}, [isResolvedOpen]);
|
|
116
128
|
React__default["default"][isServer ? 'useEffect' : 'useLayoutEffect'](() => {
|
|
117
129
|
if (isResolvedOpen) {
|
|
118
|
-
|
|
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
|
-
|
|
130
|
+
const previousValue = rootRef.current?.parentElement?.style.paddingBottom;
|
|
122
131
|
const run = () => {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if ((_rootRef$current2 = rootRef.current) != null && _rootRef$current2.parentElement) {
|
|
128
|
-
rootRef.current.parentElement.style.paddingBottom = containerHeight + "px";
|
|
132
|
+
const containerHeight = panelRef.current?.getBoundingClientRect().height;
|
|
133
|
+
if (rootRef.current?.parentElement) {
|
|
134
|
+
rootRef.current.parentElement.style.paddingBottom = `${containerHeight}px`;
|
|
129
135
|
}
|
|
130
136
|
};
|
|
131
|
-
|
|
132
137
|
run();
|
|
133
|
-
|
|
134
138
|
if (typeof window !== 'undefined') {
|
|
135
139
|
window.addEventListener('resize', run);
|
|
136
140
|
return () => {
|
|
137
|
-
var _rootRef$current3;
|
|
138
|
-
|
|
139
141
|
window.removeEventListener('resize', run);
|
|
140
|
-
|
|
141
|
-
if ((_rootRef$current3 = rootRef.current) != null && _rootRef$current3.parentElement && typeof previousValue === 'string') {
|
|
142
|
+
if (rootRef.current?.parentElement && typeof previousValue === 'string') {
|
|
142
143
|
rootRef.current.parentElement.style.paddingBottom = previousValue;
|
|
143
144
|
}
|
|
144
145
|
};
|
|
145
146
|
}
|
|
146
147
|
}
|
|
148
|
+
return;
|
|
147
149
|
}, [isResolvedOpen]);
|
|
148
|
-
|
|
149
150
|
const {
|
|
150
|
-
style: panelStyle = {}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
style: panelStyle = {},
|
|
152
|
+
...otherPanelProps
|
|
153
|
+
} = panelProps;
|
|
154
154
|
const {
|
|
155
155
|
style: closeButtonStyle = {},
|
|
156
|
-
onClick: onCloseClick
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
156
|
+
onClick: onCloseClick,
|
|
157
|
+
...otherCloseButtonProps
|
|
158
|
+
} = closeButtonProps;
|
|
160
159
|
const {
|
|
161
160
|
style: toggleButtonStyle = {},
|
|
162
|
-
onClick: onToggleClick
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
161
|
+
onClick: onToggleClick,
|
|
162
|
+
...otherToggleButtonProps
|
|
163
|
+
} = toggleButtonProps;
|
|
166
164
|
|
|
165
|
+
// Do not render on the server
|
|
167
166
|
if (!isMounted()) return null;
|
|
168
167
|
return /*#__PURE__*/React__default["default"].createElement(Container, {
|
|
169
168
|
ref: rootRef,
|
|
170
|
-
className: "
|
|
169
|
+
className: "TanStackRouterDevtools"
|
|
171
170
|
}, /*#__PURE__*/React__default["default"].createElement(theme.ThemeProvider, {
|
|
172
171
|
theme: theme.defaultTheme
|
|
173
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
172
|
+
}, /*#__PURE__*/React__default["default"].createElement(TanStackRouterDevtoolsPanel, _rollupPluginBabelHelpers["extends"]({
|
|
174
173
|
ref: panelRef
|
|
175
174
|
}, otherPanelProps, {
|
|
176
|
-
|
|
177
|
-
style:
|
|
175
|
+
router: router,
|
|
176
|
+
style: {
|
|
178
177
|
position: 'fixed',
|
|
179
178
|
bottom: '0',
|
|
180
179
|
right: '0',
|
|
181
180
|
zIndex: 99999,
|
|
182
181
|
width: '100%',
|
|
183
|
-
height: devtoolsHeight
|
|
182
|
+
height: devtoolsHeight ?? 500,
|
|
184
183
|
maxHeight: '90%',
|
|
185
184
|
boxShadow: '0 0 20px rgba(0,0,0,.3)',
|
|
186
|
-
borderTop:
|
|
185
|
+
borderTop: `1px solid ${theme.defaultTheme.gray}`,
|
|
187
186
|
transformOrigin: 'top',
|
|
188
187
|
// visibility will be toggled after transitions, but set initial state here
|
|
189
|
-
visibility: isOpen ? 'visible' : 'hidden'
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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
|
+
},
|
|
203
205
|
isOpen: isResolvedOpen,
|
|
204
206
|
setIsOpen: setIsOpen,
|
|
205
|
-
handleDragStart: e =>
|
|
207
|
+
handleDragStart: e => handleDragStart(panelRef.current, e)
|
|
206
208
|
})), isResolvedOpen ? /*#__PURE__*/React__default["default"].createElement(styledComponents.Button, _rollupPluginBabelHelpers["extends"]({
|
|
207
209
|
type: "button",
|
|
208
|
-
"aria-label": "Close TanStack
|
|
210
|
+
"aria-label": "Close TanStack Router Devtools"
|
|
209
211
|
}, otherCloseButtonProps, {
|
|
210
212
|
onClick: e => {
|
|
211
213
|
setIsOpen(false);
|
|
212
214
|
onCloseClick && onCloseClick(e);
|
|
213
215
|
},
|
|
214
|
-
style:
|
|
216
|
+
style: {
|
|
215
217
|
position: 'fixed',
|
|
216
218
|
zIndex: 99999,
|
|
217
219
|
margin: '.5em',
|
|
218
|
-
bottom: 0
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
+
}
|
|
228
232
|
}), "Close") : null), !isResolvedOpen ? /*#__PURE__*/React__default["default"].createElement("button", _rollupPluginBabelHelpers["extends"]({
|
|
229
233
|
type: "button"
|
|
230
234
|
}, otherToggleButtonProps, {
|
|
231
|
-
"aria-label": "Open TanStack
|
|
235
|
+
"aria-label": "Open TanStack Router Devtools",
|
|
232
236
|
onClick: e => {
|
|
233
237
|
setIsOpen(true);
|
|
234
238
|
onToggleClick && onToggleClick(e);
|
|
235
239
|
},
|
|
236
|
-
style:
|
|
240
|
+
style: {
|
|
241
|
+
appearance: 'none',
|
|
237
242
|
background: 'none',
|
|
238
243
|
border: 0,
|
|
239
244
|
padding: 0,
|
|
@@ -243,45 +248,95 @@ function ReactLocationDevtools(_ref) {
|
|
|
243
248
|
fontSize: '1.5em',
|
|
244
249
|
margin: '.5em',
|
|
245
250
|
cursor: 'pointer',
|
|
246
|
-
width: 'fit-content'
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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, {
|
|
261
268
|
"aria-hidden": true
|
|
262
269
|
})) : null);
|
|
263
270
|
}
|
|
264
|
-
const
|
|
265
|
-
var _router$state$current, _router$state$pending;
|
|
266
|
-
|
|
271
|
+
const TanStackRouterDevtoolsPanel = /*#__PURE__*/React__default["default"].forwardRef(function TanStackRouterDevtoolsPanel(props, ref) {
|
|
267
272
|
const {
|
|
268
273
|
isOpen = true,
|
|
274
|
+
setIsOpen,
|
|
269
275
|
handleDragStart,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
const router =
|
|
275
|
-
|
|
276
|
-
|
|
276
|
+
router: userRouter,
|
|
277
|
+
...panelProps
|
|
278
|
+
} = props;
|
|
279
|
+
const routerContextValue = React__default["default"].useContext(router.routerContext);
|
|
280
|
+
const router$1 = userRouter ?? routerContextValue?.router;
|
|
281
|
+
router.invariant(router$1, '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
|
+
router.useStore(router$1.__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$1.state.currentMatches), ...Object.values(router$1.state.pendingMatches ?? [])], [router$1.state.currentMatches, router$1.state.pendingMatches]);
|
|
289
|
+
const activeMatch = allMatches?.find(d => d.id === activeMatchId) || allMatches?.find(d => d.route.id === activeRouteId);
|
|
277
290
|
return /*#__PURE__*/React__default["default"].createElement(theme.ThemeProvider, {
|
|
278
291
|
theme: theme.defaultTheme
|
|
279
292
|
}, /*#__PURE__*/React__default["default"].createElement(styledComponents.Panel, _rollupPluginBabelHelpers["extends"]({
|
|
280
293
|
ref: ref,
|
|
281
|
-
className: "
|
|
294
|
+
className: "TanStackRouterDevtoolsPanel"
|
|
282
295
|
}, panelProps), /*#__PURE__*/React__default["default"].createElement("style", {
|
|
283
296
|
dangerouslySetInnerHTML: {
|
|
284
|
-
__html:
|
|
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
|
+
`
|
|
285
340
|
}
|
|
286
341
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
287
342
|
style: {
|
|
@@ -301,39 +356,31 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
301
356
|
minHeight: '40%',
|
|
302
357
|
maxHeight: '100%',
|
|
303
358
|
overflow: 'auto',
|
|
304
|
-
borderRight:
|
|
359
|
+
borderRight: `1px solid ${theme.defaultTheme.grayAlt}`,
|
|
305
360
|
display: 'flex',
|
|
306
361
|
flexDirection: 'column'
|
|
307
362
|
}
|
|
308
363
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
309
364
|
style: {
|
|
310
|
-
padding: '.5em',
|
|
311
|
-
background: theme.defaultTheme.backgroundAlt,
|
|
312
365
|
display: 'flex',
|
|
313
|
-
justifyContent: '
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
style: {
|
|
319
|
-
marginRight: '.5em'
|
|
366
|
+
justifyContent: 'start',
|
|
367
|
+
gap: '1rem',
|
|
368
|
+
padding: '1rem',
|
|
369
|
+
alignItems: 'center',
|
|
370
|
+
background: theme.defaultTheme.backgroundAlt
|
|
320
371
|
}
|
|
372
|
+
}, /*#__PURE__*/React__default["default"].createElement(Logo, {
|
|
373
|
+
"aria-hidden": true
|
|
321
374
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
322
375
|
style: {
|
|
323
|
-
marginRight: 'auto',
|
|
324
376
|
fontSize: 'clamp(.8rem, 2vw, 1.3rem)',
|
|
325
377
|
fontWeight: 'bold'
|
|
326
378
|
}
|
|
327
|
-
},
|
|
379
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
328
380
|
style: {
|
|
329
381
|
fontWeight: 100
|
|
330
382
|
}
|
|
331
|
-
}, "Devtools")), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
332
|
-
style: {
|
|
333
|
-
display: 'flex',
|
|
334
|
-
flexDirection: 'column'
|
|
335
|
-
}
|
|
336
|
-
})), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
383
|
+
}, "Devtools"))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
337
384
|
style: {
|
|
338
385
|
overflowY: 'auto',
|
|
339
386
|
flex: '1'
|
|
@@ -344,11 +391,7 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
344
391
|
}
|
|
345
392
|
}, /*#__PURE__*/React__default["default"].createElement(Explorer["default"], {
|
|
346
393
|
label: "Router",
|
|
347
|
-
value:
|
|
348
|
-
const rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(router, _excluded5);
|
|
349
|
-
|
|
350
|
-
return rest;
|
|
351
|
-
})(),
|
|
394
|
+
value: router$1,
|
|
352
395
|
defaultExpanded: {}
|
|
353
396
|
})))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
354
397
|
style: {
|
|
@@ -356,7 +399,7 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
356
399
|
minHeight: '40%',
|
|
357
400
|
maxHeight: '100%',
|
|
358
401
|
overflow: 'auto',
|
|
359
|
-
borderRight:
|
|
402
|
+
borderRight: `1px solid ${theme.defaultTheme.grayAlt}`,
|
|
360
403
|
display: 'flex',
|
|
361
404
|
flexDirection: 'column'
|
|
362
405
|
}
|
|
@@ -368,43 +411,15 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
368
411
|
top: 0,
|
|
369
412
|
zIndex: 1
|
|
370
413
|
}
|
|
371
|
-
}, "
|
|
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) => {
|
|
414
|
+
}, "Active Matches"), router$1.state.currentMatches.map((match, i) => {
|
|
400
415
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
401
|
-
key: match.id || i,
|
|
416
|
+
key: match.route.id || i,
|
|
402
417
|
role: "button",
|
|
403
|
-
"aria-label":
|
|
404
|
-
onClick: () => setActiveRouteId(
|
|
418
|
+
"aria-label": `Open match details for ${match.route.id}`,
|
|
419
|
+
onClick: () => setActiveRouteId(activeRouteId === match.route.id ? '' : match.route.id),
|
|
405
420
|
style: {
|
|
406
421
|
display: 'flex',
|
|
407
|
-
borderBottom:
|
|
422
|
+
borderBottom: `solid 1px ${theme.defaultTheme.grayAlt}`,
|
|
408
423
|
cursor: 'pointer',
|
|
409
424
|
alignItems: 'center',
|
|
410
425
|
background: match === activeMatch ? 'rgba(255,255,255,.1)' : undefined
|
|
@@ -426,8 +441,8 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
426
441
|
style: {
|
|
427
442
|
padding: '.5em'
|
|
428
443
|
}
|
|
429
|
-
},
|
|
430
|
-
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
444
|
+
}, `${match.id}`));
|
|
445
|
+
}), router$1.state.pendingMatches?.length ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
431
446
|
style: {
|
|
432
447
|
marginTop: '2rem',
|
|
433
448
|
padding: '.5em',
|
|
@@ -436,15 +451,15 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
436
451
|
top: 0,
|
|
437
452
|
zIndex: 1
|
|
438
453
|
}
|
|
439
|
-
}, "Pending Matches"),
|
|
454
|
+
}, "Pending Matches"), router$1.state.pendingMatches?.map((match, i) => {
|
|
440
455
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
441
|
-
key: match.id || i,
|
|
456
|
+
key: match.route.id || i,
|
|
442
457
|
role: "button",
|
|
443
|
-
"aria-label":
|
|
444
|
-
onClick: () => setActiveRouteId(
|
|
458
|
+
"aria-label": `Open match details for ${match.route.id}`,
|
|
459
|
+
onClick: () => setActiveRouteId(activeRouteId === match.route.id ? '' : match.route.id),
|
|
445
460
|
style: {
|
|
446
461
|
display: 'flex',
|
|
447
|
-
borderBottom:
|
|
462
|
+
borderBottom: `solid 1px ${theme.defaultTheme.grayAlt}`,
|
|
448
463
|
cursor: 'pointer',
|
|
449
464
|
background: match === activeMatch ? 'rgba(255,255,255,.1)' : undefined
|
|
450
465
|
}
|
|
@@ -465,64 +480,14 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
465
480
|
style: {
|
|
466
481
|
padding: '.5em'
|
|
467
482
|
}
|
|
468
|
-
},
|
|
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", {
|
|
483
|
+
}, `${match.id}`));
|
|
484
|
+
})) : null), activeMatch ? /*#__PURE__*/React__default["default"].createElement(styledComponents.ActivePanel, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
521
485
|
style: {
|
|
522
486
|
padding: '.5em',
|
|
523
487
|
background: theme.defaultTheme.backgroundAlt,
|
|
524
488
|
position: 'sticky',
|
|
525
489
|
top: 0,
|
|
490
|
+
bottom: 0,
|
|
526
491
|
zIndex: 1
|
|
527
492
|
}
|
|
528
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", {
|
|
@@ -537,12 +502,17 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
537
502
|
style: {
|
|
538
503
|
opacity: '.5'
|
|
539
504
|
}
|
|
540
|
-
}, "
|
|
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", {
|
|
541
510
|
style: {
|
|
542
511
|
background: theme.defaultTheme.backgroundAlt,
|
|
543
512
|
padding: '.5em',
|
|
544
513
|
position: 'sticky',
|
|
545
514
|
top: 0,
|
|
515
|
+
bottom: 0,
|
|
546
516
|
zIndex: 1
|
|
547
517
|
}
|
|
548
518
|
}, "Actions"), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -551,17 +521,7 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
551
521
|
}
|
|
552
522
|
}, /*#__PURE__*/React__default["default"].createElement(styledComponents.Button, {
|
|
553
523
|
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(),
|
|
524
|
+
onClick: () => activeMatch.load(),
|
|
565
525
|
style: {
|
|
566
526
|
background: theme.defaultTheme.gray
|
|
567
527
|
}
|
|
@@ -571,6 +531,7 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
571
531
|
padding: '.5em',
|
|
572
532
|
position: 'sticky',
|
|
573
533
|
top: 0,
|
|
534
|
+
bottom: 0,
|
|
574
535
|
zIndex: 1
|
|
575
536
|
}
|
|
576
537
|
}, "Explorer"), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -579,15 +540,44 @@ const ReactLocationDevtoolsPanel = /*#__PURE__*/React__default["default"].forwar
|
|
|
579
540
|
}
|
|
580
541
|
}, /*#__PURE__*/React__default["default"].createElement(Explorer["default"], {
|
|
581
542
|
label: "Match",
|
|
582
|
-
value:
|
|
583
|
-
const rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(activeMatch, _excluded6);
|
|
584
|
-
|
|
585
|
-
return rest;
|
|
586
|
-
})(),
|
|
543
|
+
value: activeMatch,
|
|
587
544
|
defaultExpanded: {}
|
|
588
|
-
}))) : null
|
|
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(router.last(router$1.state.currentMatches)?.state.search || {}).length ? /*#__PURE__*/React__default["default"].createElement(Explorer["default"], {
|
|
569
|
+
value: router.last(router$1.state.currentMatches)?.state.search || {},
|
|
570
|
+
defaultExpanded: Object.keys(router.last(router$1.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
|
+
}, '{ }')))));
|
|
589
579
|
});
|
|
590
580
|
|
|
591
|
-
exports.
|
|
592
|
-
exports.
|
|
581
|
+
exports.TanStackRouterDevtools = TanStackRouterDevtools;
|
|
582
|
+
exports.TanStackRouterDevtoolsPanel = TanStackRouterDevtoolsPanel;
|
|
593
583
|
//# sourceMappingURL=devtools.js.map
|