@tanstack/react-router-devtools 0.0.1-beta.19 → 0.0.1-beta.29
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/build/cjs/{packages/react-router-devtools/src/Explorer.js → Explorer.js} +7 -18
- package/build/cjs/Explorer.js.map +1 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -5
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/build/cjs/{packages/react-router-devtools/src/devtools.js → devtools.js} +28 -55
- package/build/cjs/devtools.js.map +1 -0
- package/build/cjs/{packages/react-router-devtools/src/index.js → index.js} +0 -0
- package/build/cjs/{packages/react-router-devtools/src/index.js.map → index.js.map} +0 -0
- package/build/cjs/{packages/react-router-devtools/src/styledComponents.js → styledComponents.js} +7 -3
- package/build/cjs/styledComponents.js.map +1 -0
- package/build/cjs/{packages/react-router-devtools/src/theme.js → theme.js} +4 -5
- package/build/cjs/theme.js.map +1 -0
- package/build/cjs/{packages/react-router-devtools/src/useLocalStorage.js → useLocalStorage.js} +0 -7
- package/build/cjs/useLocalStorage.js.map +1 -0
- package/build/cjs/{packages/react-router-devtools/src/useMediaQuery.js → useMediaQuery.js} +8 -8
- package/build/cjs/useMediaQuery.js.map +1 -0
- package/build/cjs/{packages/react-router-devtools/src/utils.js → utils.js} +10 -18
- package/build/cjs/utils.js.map +1 -0
- package/build/esm/index.js +59 -947
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +59 -49
- package/build/stats-react.json +3009 -3003
- package/build/types/index.d.ts +2 -2
- package/build/umd/index.development.js +66 -120
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +3 -3
- package/src/devtools.tsx +2 -2
- package/build/cjs/node_modules/date-fns/esm/_lib/assign/index.js +0 -30
- package/build/cjs/node_modules/date-fns/esm/_lib/assign/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/_lib/cloneObject/index.js +0 -22
- package/build/cjs/node_modules/date-fns/esm/_lib/cloneObject/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/_lib/defaultLocale/index.js +0 -20
- package/build/cjs/node_modules/date-fns/esm/_lib/defaultLocale/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/_lib/defaultOptions/index.js +0 -21
- package/build/cjs/node_modules/date-fns/esm/_lib/defaultOptions/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js +0 -33
- package/build/cjs/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/_lib/requiredArgs/index.js +0 -22
- package/build/cjs/node_modules/date-fns/esm/_lib/requiredArgs/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/compareAsc/index.js +0 -67
- package/build/cjs/node_modules/date-fns/esm/compareAsc/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/formatDistanceStrict/index.js +0 -207
- package/build/cjs/node_modules/date-fns/esm/formatDistanceStrict/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js +0 -26
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js +0 -39
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js +0 -65
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js +0 -34
- package/build/cjs/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js +0 -105
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js +0 -52
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js +0 -31
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js +0 -164
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js +0 -116
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/index.js +0 -47
- package/build/cjs/node_modules/date-fns/esm/locale/en-US/index.js.map +0 -1
- package/build/cjs/node_modules/date-fns/esm/toDate/index.js +0 -70
- package/build/cjs/node_modules/date-fns/esm/toDate/index.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/Explorer.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/devtools.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/styledComponents.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/theme.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/useLocalStorage.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/useMediaQuery.js.map +0 -1
- package/build/cjs/packages/react-router-devtools/src/utils.js.map +0 -1
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
var _rollupPluginBabelHelpers = require('
|
|
15
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
16
16
|
var React = require('react');
|
|
17
17
|
var utils = require('./utils.js');
|
|
18
18
|
|
|
@@ -85,7 +85,6 @@ const Expander = _ref => {
|
|
|
85
85
|
}, style)
|
|
86
86
|
}, "\u25B6");
|
|
87
87
|
};
|
|
88
|
-
|
|
89
88
|
/**
|
|
90
89
|
* Chunk elements in the array by size
|
|
91
90
|
*
|
|
@@ -99,12 +98,10 @@ function chunkArray(array, size) {
|
|
|
99
98
|
if (size < 1) return [];
|
|
100
99
|
let i = 0;
|
|
101
100
|
const result = [];
|
|
102
|
-
|
|
103
101
|
while (i < array.length) {
|
|
104
102
|
result.push(array.slice(i, i + size));
|
|
105
103
|
i = i + size;
|
|
106
104
|
}
|
|
107
|
-
|
|
108
105
|
return result;
|
|
109
106
|
}
|
|
110
107
|
const DefaultRenderer = _ref2 => {
|
|
@@ -122,11 +119,9 @@ const DefaultRenderer = _ref2 => {
|
|
|
122
119
|
} = _ref2;
|
|
123
120
|
const [expandedPages, setExpandedPages] = React__namespace.useState([]);
|
|
124
121
|
const [valueSnapshot, setValueSnapshot] = React__namespace.useState(undefined);
|
|
125
|
-
|
|
126
122
|
const refreshValueSnapshot = () => {
|
|
127
123
|
setValueSnapshot(value());
|
|
128
124
|
};
|
|
129
|
-
|
|
130
125
|
return /*#__PURE__*/React__namespace.createElement(Entry, null, subEntryPages.length ? /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(ExpandButton, {
|
|
131
126
|
onClick: () => toggleExpanded()
|
|
132
127
|
}, /*#__PURE__*/React__namespace.createElement(Expander, {
|
|
@@ -151,25 +146,21 @@ const DefaultRenderer = _ref2 => {
|
|
|
151
146
|
defaultExpanded: {}
|
|
152
147
|
})) : /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(Label, null, label, ":"), " ", /*#__PURE__*/React__namespace.createElement(Value, null, utils.displayValue(value))));
|
|
153
148
|
};
|
|
154
|
-
|
|
155
149
|
function isIterable(x) {
|
|
156
150
|
return Symbol.iterator in x;
|
|
157
151
|
}
|
|
158
|
-
|
|
159
152
|
function Explorer(_ref3) {
|
|
160
153
|
let {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
154
|
+
value,
|
|
155
|
+
defaultExpanded,
|
|
156
|
+
renderer = DefaultRenderer,
|
|
157
|
+
pageSize = 100
|
|
158
|
+
} = _ref3,
|
|
159
|
+
rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
168
160
|
const [expanded, setExpanded] = React__namespace.useState(Boolean(defaultExpanded));
|
|
169
161
|
const toggleExpanded = React__namespace.useCallback(() => setExpanded(old => !old), []);
|
|
170
162
|
let type = typeof value;
|
|
171
163
|
let subEntries = [];
|
|
172
|
-
|
|
173
164
|
const makeProperty = sub => {
|
|
174
165
|
const subDefaultExpanded = defaultExpanded === true ? {
|
|
175
166
|
[sub.label]: true
|
|
@@ -178,7 +169,6 @@ function Explorer(_ref3) {
|
|
|
178
169
|
defaultExpanded: subDefaultExpanded
|
|
179
170
|
});
|
|
180
171
|
};
|
|
181
|
-
|
|
182
172
|
if (Array.isArray(value)) {
|
|
183
173
|
type = 'array';
|
|
184
174
|
subEntries = value.map((d, i) => makeProperty({
|
|
@@ -201,7 +191,6 @@ function Explorer(_ref3) {
|
|
|
201
191
|
});
|
|
202
192
|
});
|
|
203
193
|
}
|
|
204
|
-
|
|
205
194
|
const subEntryPages = chunkArray(subEntries, pageSize);
|
|
206
195
|
return renderer(_rollupPluginBabelHelpers["extends"]({
|
|
207
196
|
handleEntry: entry => /*#__PURE__*/React__namespace.createElement(Explorer, _rollupPluginBabelHelpers["extends"]({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Explorer.js","sources":["../../src/Explorer.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { displayValue, styled } from './utils'\n\nexport const Entry = styled('div', {\n fontFamily: 'Menlo, monospace',\n fontSize: '.7rem',\n lineHeight: '1.7',\n outline: 'none',\n wordBreak: 'break-word',\n})\n\nexport const Label = styled('span', {\n color: 'white',\n})\n\nexport const LabelButton = styled('button', {\n cursor: 'pointer',\n color: 'white',\n})\n\nexport const ExpandButton = styled('button', {\n cursor: 'pointer',\n color: 'inherit',\n font: 'inherit',\n outline: 'inherit',\n background: 'transparent',\n border: 'none',\n padding: 0,\n})\n\nexport const Value = styled('span', (_props, theme) => ({\n color: theme.danger,\n}))\n\nexport const SubEntries = styled('div', {\n marginLeft: '.1em',\n paddingLeft: '1em',\n borderLeft: '2px solid rgba(0,0,0,.15)',\n})\n\nexport const Info = styled('span', {\n color: 'grey',\n fontSize: '.7em',\n})\n\ntype ExpanderProps = {\n expanded: boolean\n style?: React.CSSProperties\n}\n\nexport const Expander = ({ expanded, style = {} }: ExpanderProps) => (\n <span\n style={{\n display: 'inline-block',\n transition: 'all .1s ease',\n transform: `rotate(${expanded ? 90 : 0}deg) ${style.transform || ''}`,\n ...style,\n }}\n >\n ▶\n </span>\n)\n\ntype Entry = {\n label: string\n}\n\ntype RendererProps = {\n handleEntry: HandleEntryFn\n label?: React.ReactNode\n value: unknown\n subEntries: Entry[]\n subEntryPages: Entry[][]\n type: string\n expanded: boolean\n toggleExpanded: () => void\n pageSize: number\n renderer?: Renderer\n}\n\n/**\n * Chunk elements in the array by size\n *\n * when the array cannot be chunked evenly by size, the last chunk will be\n * filled with the remaining elements\n *\n * @example\n * chunkArray(['a','b', 'c', 'd', 'e'], 2) // returns [['a','b'], ['c', 'd'], ['e']]\n */\nexport function chunkArray<T>(array: T[], size: number): T[][] {\n if (size < 1) return []\n let i = 0\n const result: T[][] = []\n while (i < array.length) {\n result.push(array.slice(i, i + size))\n i = i + size\n }\n return result\n}\n\ntype Renderer = (props: RendererProps) => JSX.Element\n\nexport const DefaultRenderer: Renderer = ({\n handleEntry,\n label,\n value,\n subEntries = [],\n subEntryPages = [],\n type,\n expanded = false,\n toggleExpanded,\n pageSize,\n renderer,\n}) => {\n const [expandedPages, setExpandedPages] = React.useState<number[]>([])\n const [valueSnapshot, setValueSnapshot] = React.useState(undefined)\n\n const refreshValueSnapshot = () => {\n setValueSnapshot((value as () => any)())\n }\n\n return (\n <Entry>\n {subEntryPages.length ? (\n <>\n <ExpandButton onClick={() => toggleExpanded()}>\n <Expander expanded={expanded} /> {label}{' '}\n <Info>\n {String(type).toLowerCase() === 'iterable' ? '(Iterable) ' : ''}\n {subEntries.length} {subEntries.length > 1 ? `items` : `item`}\n </Info>\n </ExpandButton>\n {expanded ? (\n subEntryPages.length === 1 ? (\n <SubEntries>\n {subEntries.map((entry, index) => handleEntry(entry))}\n </SubEntries>\n ) : (\n <SubEntries>\n {subEntryPages.map((entries, index) => (\n <div key={index}>\n <Entry>\n <LabelButton\n onClick={() =>\n setExpandedPages((old) =>\n old.includes(index)\n ? old.filter((d) => d !== index)\n : [...old, index],\n )\n }\n >\n <Expander expanded={expanded} /> [{index * pageSize} ...{' '}\n {index * pageSize + pageSize - 1}]\n </LabelButton>\n {expandedPages.includes(index) ? (\n <SubEntries>\n {entries.map((entry) => handleEntry(entry))}\n </SubEntries>\n ) : null}\n </Entry>\n </div>\n ))}\n </SubEntries>\n )\n ) : null}\n </>\n ) : type === 'function' ? (\n <>\n <Explorer\n renderer={renderer}\n label={\n <button\n onClick={refreshValueSnapshot}\n style={{\n appearance: 'none',\n border: '0',\n background: 'transparent',\n }}\n >\n <Label>{label}</Label> 🔄{' '}\n </button>\n }\n value={valueSnapshot}\n defaultExpanded={{}}\n />\n </>\n ) : (\n <>\n <Label>{label}:</Label> <Value>{displayValue(value)}</Value>\n </>\n )}\n </Entry>\n )\n}\n\ntype HandleEntryFn = (entry: Entry) => JSX.Element\n\ntype ExplorerProps = Partial<RendererProps> & {\n renderer?: Renderer\n defaultExpanded?: true | Record<string, boolean>\n}\n\ntype Property = {\n defaultExpanded?: boolean | Record<string, boolean>\n label: string\n value: unknown\n}\n\nfunction isIterable(x: any): x is Iterable<unknown> {\n return Symbol.iterator in x\n}\n\nexport default function Explorer({\n value,\n defaultExpanded,\n renderer = DefaultRenderer,\n pageSize = 100,\n ...rest\n}: ExplorerProps) {\n const [expanded, setExpanded] = React.useState(Boolean(defaultExpanded))\n const toggleExpanded = React.useCallback(() => setExpanded((old) => !old), [])\n\n let type: string = typeof value\n let subEntries: Property[] = []\n\n const makeProperty = (sub: { label: string; value: unknown }): Property => {\n const subDefaultExpanded =\n defaultExpanded === true\n ? { [sub.label]: true }\n : defaultExpanded?.[sub.label]\n return {\n ...sub,\n defaultExpanded: subDefaultExpanded,\n }\n }\n\n if (Array.isArray(value)) {\n type = 'array'\n subEntries = value.map((d, i) =>\n makeProperty({\n label: i.toString(),\n value: d,\n }),\n )\n } else if (\n value !== null &&\n typeof value === 'object' &&\n isIterable(value) &&\n typeof value[Symbol.iterator] === 'function'\n ) {\n type = 'Iterable'\n subEntries = Array.from(value, (val, i) =>\n makeProperty({\n label: i.toString(),\n value: val,\n }),\n )\n } else if (typeof value === 'object' && value !== null) {\n type = 'object'\n subEntries = Object.entries(value).map(([key, val]) =>\n makeProperty({\n label: key,\n value: val,\n }),\n )\n }\n\n const subEntryPages = chunkArray(subEntries, pageSize)\n\n return renderer({\n handleEntry: (entry) => (\n <Explorer\n key={entry.label}\n value={value}\n renderer={renderer}\n {...rest}\n {...entry}\n />\n ),\n type,\n subEntries,\n subEntryPages,\n value,\n expanded,\n toggleExpanded,\n pageSize,\n ...rest,\n })\n}\n"],"names":["Entry","styled","fontFamily","fontSize","lineHeight","outline","wordBreak","Label","color","LabelButton","cursor","ExpandButton","font","background","border","padding","Value","_props","theme","danger","SubEntries","marginLeft","paddingLeft","borderLeft","Info","Expander","expanded","style","React","_extends","display","transition","transform","chunkArray","array","size","i","result","length","push","slice","DefaultRenderer","handleEntry","label","value","subEntries","subEntryPages","type","toggleExpanded","pageSize","renderer","expandedPages","setExpandedPages","useState","valueSnapshot","setValueSnapshot","undefined","refreshValueSnapshot","String","toLowerCase","map","entry","index","entries","old","includes","filter","d","appearance","displayValue","isIterable","x","Symbol","iterator","Explorer","defaultExpanded","rest","_objectWithoutPropertiesLoose","setExpanded","Boolean","useCallback","makeProperty","sub","subDefaultExpanded","Array","isArray","toString","from","val","Object","key"],"mappings":"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"}
|
|
@@ -16,31 +16,26 @@ function _extends() {
|
|
|
16
16
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
17
17
|
for (var i = 1; i < arguments.length; i++) {
|
|
18
18
|
var source = arguments[i];
|
|
19
|
-
|
|
20
19
|
for (var key in source) {
|
|
21
20
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
22
21
|
target[key] = source[key];
|
|
23
22
|
}
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
|
-
|
|
27
25
|
return target;
|
|
28
26
|
};
|
|
29
27
|
return _extends.apply(this, arguments);
|
|
30
28
|
}
|
|
31
|
-
|
|
32
29
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
33
30
|
if (source == null) return {};
|
|
34
31
|
var target = {};
|
|
35
32
|
var sourceKeys = Object.keys(source);
|
|
36
33
|
var key, i;
|
|
37
|
-
|
|
38
34
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
39
35
|
key = sourceKeys[i];
|
|
40
36
|
if (excluded.indexOf(key) >= 0) continue;
|
|
41
37
|
target[key] = source[key];
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
return target;
|
|
45
40
|
}
|
|
46
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -12,29 +12,27 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
var _rollupPluginBabelHelpers = require('
|
|
15
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
16
16
|
var React = require('react');
|
|
17
17
|
var reactRouter = require('@tanstack/react-router');
|
|
18
|
+
var dateFns = require('date-fns');
|
|
18
19
|
var useLocalStorage = require('./useLocalStorage.js');
|
|
19
20
|
var utils = require('./utils.js');
|
|
20
21
|
var styledComponents = require('./styledComponents.js');
|
|
21
22
|
var theme = require('./theme.js');
|
|
22
23
|
var Explorer = require('./Explorer.js');
|
|
23
|
-
var index = require('../../../node_modules/date-fns/esm/formatDistanceStrict/index.js');
|
|
24
24
|
|
|
25
25
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
26
26
|
|
|
27
27
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
28
28
|
|
|
29
29
|
const _excluded = ["style"],
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
_excluded2 = ["style", "onClick"],
|
|
31
|
+
_excluded3 = ["style", "onClick"],
|
|
32
|
+
_excluded4 = ["isOpen", "setIsOpen", "handleDragStart", "router"];
|
|
33
33
|
const isServer = typeof window === 'undefined';
|
|
34
|
-
|
|
35
34
|
function Logo(props) {
|
|
36
35
|
var _props$style;
|
|
37
|
-
|
|
38
36
|
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, props, {
|
|
39
37
|
style: _rollupPluginBabelHelpers["extends"]({}, (_props$style = props.style) != null ? _props$style : {}, {
|
|
40
38
|
display: 'flex',
|
|
@@ -62,7 +60,6 @@ function Logo(props) {
|
|
|
62
60
|
}
|
|
63
61
|
}, "ROUTER"));
|
|
64
62
|
}
|
|
65
|
-
|
|
66
63
|
function TanStackRouterDevtools(_ref) {
|
|
67
64
|
let {
|
|
68
65
|
initialIsOpen,
|
|
@@ -80,10 +77,8 @@ function TanStackRouterDevtools(_ref) {
|
|
|
80
77
|
const [isResolvedOpen, setIsResolvedOpen] = utils.useSafeState(false);
|
|
81
78
|
const [isResizing, setIsResizing] = utils.useSafeState(false);
|
|
82
79
|
const isMounted = utils.useIsMounted();
|
|
83
|
-
|
|
84
80
|
const _handleDragStart = (panelElement, startEvent) => {
|
|
85
81
|
var _panelElement$getBoun;
|
|
86
|
-
|
|
87
82
|
if (startEvent.button !== 0) return; // Only allow left click for drag
|
|
88
83
|
|
|
89
84
|
setIsResizing(true);
|
|
@@ -91,50 +86,43 @@ function TanStackRouterDevtools(_ref) {
|
|
|
91
86
|
originalHeight: (_panelElement$getBoun = panelElement == null ? void 0 : panelElement.getBoundingClientRect().height) != null ? _panelElement$getBoun : 0,
|
|
92
87
|
pageY: startEvent.pageY
|
|
93
88
|
};
|
|
94
|
-
|
|
95
89
|
const run = moveEvent => {
|
|
96
90
|
const delta = dragInfo.pageY - moveEvent.pageY;
|
|
97
91
|
const newHeight = (dragInfo == null ? void 0 : dragInfo.originalHeight) + delta;
|
|
98
92
|
setDevtoolsHeight(newHeight);
|
|
99
|
-
|
|
100
93
|
if (newHeight < 70) {
|
|
101
94
|
setIsOpen(false);
|
|
102
95
|
} else {
|
|
103
96
|
setIsOpen(true);
|
|
104
97
|
}
|
|
105
98
|
};
|
|
106
|
-
|
|
107
99
|
const unsub = () => {
|
|
108
100
|
setIsResizing(false);
|
|
109
101
|
document.removeEventListener('mousemove', run);
|
|
110
102
|
document.removeEventListener('mouseUp', unsub);
|
|
111
103
|
};
|
|
112
|
-
|
|
113
104
|
document.addEventListener('mousemove', run);
|
|
114
105
|
document.addEventListener('mouseup', unsub);
|
|
115
106
|
};
|
|
116
|
-
|
|
117
107
|
React__default["default"].useEffect(() => {
|
|
118
108
|
setIsResolvedOpen(isOpen != null ? isOpen : false);
|
|
119
|
-
}, [isOpen, isResolvedOpen, setIsResolvedOpen]);
|
|
120
|
-
// Prevents focusing in a closed panel.
|
|
109
|
+
}, [isOpen, isResolvedOpen, setIsResolvedOpen]);
|
|
121
110
|
|
|
111
|
+
// Toggle panel visibility before/after transition (depending on direction).
|
|
112
|
+
// Prevents focusing in a closed panel.
|
|
122
113
|
React__default["default"].useEffect(() => {
|
|
123
114
|
const ref = panelRef.current;
|
|
124
|
-
|
|
125
115
|
if (ref) {
|
|
126
116
|
const handlePanelTransitionStart = () => {
|
|
127
117
|
if (ref && isResolvedOpen) {
|
|
128
118
|
ref.style.visibility = 'visible';
|
|
129
119
|
}
|
|
130
120
|
};
|
|
131
|
-
|
|
132
121
|
const handlePanelTransitionEnd = () => {
|
|
133
122
|
if (ref && !isResolvedOpen) {
|
|
134
123
|
ref.style.visibility = 'hidden';
|
|
135
124
|
}
|
|
136
125
|
};
|
|
137
|
-
|
|
138
126
|
ref.addEventListener('transitionstart', handlePanelTransitionStart);
|
|
139
127
|
ref.addEventListener('transitionend', handlePanelTransitionEnd);
|
|
140
128
|
return () => {
|
|
@@ -142,62 +130,49 @@ function TanStackRouterDevtools(_ref) {
|
|
|
142
130
|
ref.removeEventListener('transitionend', handlePanelTransitionEnd);
|
|
143
131
|
};
|
|
144
132
|
}
|
|
145
|
-
|
|
146
133
|
return;
|
|
147
134
|
}, [isResolvedOpen]);
|
|
148
135
|
React__default["default"][isServer ? 'useEffect' : 'useLayoutEffect'](() => {
|
|
149
136
|
if (isResolvedOpen) {
|
|
150
137
|
var _rootRef$current, _rootRef$current$pare;
|
|
151
|
-
|
|
152
138
|
const previousValue = (_rootRef$current = rootRef.current) == null ? void 0 : (_rootRef$current$pare = _rootRef$current.parentElement) == null ? void 0 : _rootRef$current$pare.style.paddingBottom;
|
|
153
|
-
|
|
154
139
|
const run = () => {
|
|
155
140
|
var _panelRef$current, _rootRef$current2;
|
|
156
|
-
|
|
157
141
|
const containerHeight = (_panelRef$current = panelRef.current) == null ? void 0 : _panelRef$current.getBoundingClientRect().height;
|
|
158
|
-
|
|
159
142
|
if ((_rootRef$current2 = rootRef.current) != null && _rootRef$current2.parentElement) {
|
|
160
143
|
rootRef.current.parentElement.style.paddingBottom = containerHeight + "px";
|
|
161
144
|
}
|
|
162
145
|
};
|
|
163
|
-
|
|
164
146
|
run();
|
|
165
|
-
|
|
166
147
|
if (typeof window !== 'undefined') {
|
|
167
148
|
window.addEventListener('resize', run);
|
|
168
149
|
return () => {
|
|
169
150
|
var _rootRef$current3;
|
|
170
|
-
|
|
171
151
|
window.removeEventListener('resize', run);
|
|
172
|
-
|
|
173
152
|
if ((_rootRef$current3 = rootRef.current) != null && _rootRef$current3.parentElement && typeof previousValue === 'string') {
|
|
174
153
|
rootRef.current.parentElement.style.paddingBottom = previousValue;
|
|
175
154
|
}
|
|
176
155
|
};
|
|
177
156
|
}
|
|
178
157
|
}
|
|
179
|
-
|
|
180
158
|
return;
|
|
181
159
|
}, [isResolvedOpen]);
|
|
182
|
-
|
|
183
160
|
const {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
161
|
+
style: panelStyle = {}
|
|
162
|
+
} = panelProps,
|
|
163
|
+
otherPanelProps = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(panelProps, _excluded);
|
|
188
164
|
const {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
165
|
+
style: closeButtonStyle = {},
|
|
166
|
+
onClick: onCloseClick
|
|
167
|
+
} = closeButtonProps,
|
|
168
|
+
otherCloseButtonProps = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(closeButtonProps, _excluded2);
|
|
194
169
|
const {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
170
|
+
style: toggleButtonStyle = {},
|
|
171
|
+
onClick: onToggleClick
|
|
172
|
+
} = toggleButtonProps,
|
|
173
|
+
otherToggleButtonProps = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(toggleButtonProps, _excluded3);
|
|
200
174
|
|
|
175
|
+
// Do not render on the server
|
|
201
176
|
if (!isMounted()) return null;
|
|
202
177
|
return /*#__PURE__*/React__default["default"].createElement(Container, {
|
|
203
178
|
ref: rootRef,
|
|
@@ -298,22 +273,20 @@ function TanStackRouterDevtools(_ref) {
|
|
|
298
273
|
}
|
|
299
274
|
const TanStackRouterDevtoolsPanel = /*#__PURE__*/React__default["default"].forwardRef(function TanStackRouterDevtoolsPanel(props, ref) {
|
|
300
275
|
var _Object$values$find$m, _Object$values, _Object$values$find, _router$state$matches, _router$state$pending, _router$state$pending2, _last, _last2, _last3, _last4, _last5, _last6;
|
|
301
|
-
|
|
302
276
|
const {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
277
|
+
isOpen = true,
|
|
278
|
+
handleDragStart,
|
|
279
|
+
router: userRouter
|
|
280
|
+
} = props,
|
|
281
|
+
panelProps = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(props, _excluded4);
|
|
309
282
|
const routerContextValue = React__default["default"].useContext(reactRouter.routerContext);
|
|
310
283
|
const router = userRouter != null ? userRouter : routerContextValue == null ? void 0 : routerContextValue.router;
|
|
311
284
|
reactRouter.invariant(router, 'No router was found for the TanStack Router Devtools. Please place the devtools in the <RouterProvider> component tree or pass the router instance to the devtools manually.');
|
|
312
285
|
const rerender = React__default["default"].useReducer(() => ({}), {})[1];
|
|
313
286
|
React__default["default"].useEffect(() => {
|
|
314
287
|
let interval = setInterval(() => {
|
|
315
|
-
router.cleanMatchCache();
|
|
316
|
-
|
|
288
|
+
router.cleanMatchCache();
|
|
289
|
+
// router.notify()
|
|
317
290
|
rerender();
|
|
318
291
|
}, 250);
|
|
319
292
|
return () => {
|
|
@@ -547,7 +520,7 @@ const TanStackRouterDevtoolsPanel = /*#__PURE__*/React__default["default"].forwa
|
|
|
547
520
|
opacity: '.5',
|
|
548
521
|
lineHeight: 1
|
|
549
522
|
}
|
|
550
|
-
}, "Expires", ' ',
|
|
523
|
+
}, "Expires", ' ', dateFns.formatDistanceStrict(new Date(gc), new Date(), {
|
|
551
524
|
addSuffix: true
|
|
552
525
|
}))));
|
|
553
526
|
})) : null), activeMatch ? /*#__PURE__*/React__default["default"].createElement(styledComponents.ActivePanel, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["import React from 'react'\nimport { Router, last, routerContext, invariant } from '@tanstack/react-router'\nimport { formatDistanceStrict } from 'date-fns'\n\nimport useLocalStorage from './useLocalStorage'\nimport {\n getStatusColor,\n multiSortBy,\n useIsMounted,\n useSafeState,\n} from './utils'\nimport { Panel, Button, Code, ActivePanel } from './styledComponents'\nimport { ThemeProvider, defaultTheme as theme } from './theme'\n// import { getQueryStatusLabel, getQueryStatusColor } from './utils'\nimport Explorer from './Explorer'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\n\ninterface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * Use this to add props to the panel. For example, you can add className, style (merge and override default style), etc.\n */\n panelProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >\n /**\n * Use this to add props to the close button. For example, you can add className, style (merge and override default style), onClick (extend default handler), etc.\n */\n closeButtonProps?: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n /**\n * Use this to add props to the toggle button. For example, you can add className, style (merge and override default style), onClick (extend default handler), etc.\n */\n toggleButtonProps?: React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n /**\n * The position of the TanStack Router logo to open and close the devtools panel.\n * Defaults to 'bottom-left'.\n */\n position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n /**\n * Use this to render the devtools inside a different type of container element for a11y purposes.\n * Any string which corresponds to a valid intrinsic JSX element is allowed.\n * Defaults to 'footer'.\n */\n containerElement?: string | any\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router?: Router<any, any, any>\n}\n\ninterface DevtoolsPanelOptions {\n /**\n * The standard React style object used to style a component with inline styles\n */\n style?: React.CSSProperties\n /**\n * The standard React className property used to style a component with classes\n */\n className?: string\n /**\n * A boolean variable indicating whether the panel is open or closed\n */\n isOpen?: boolean\n /**\n * A function that toggles the open and close state of the panel\n */\n setIsOpen: (isOpen: boolean) => void\n /**\n * Handles the opening and closing the devtools panel\n */\n handleDragStart: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\n /**\n * A boolean variable indicating if the \"lite\" version of the library is being used\n */\n router?: Router<any, any, any>\n}\n\nconst isServer = typeof window === 'undefined'\n\nfunction Logo(props: React.HTMLProps<HTMLDivElement>) {\n return (\n <div\n {...props}\n style={{\n ...(props.style ?? {}),\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n fontSize: '0.8rem',\n fontWeight: 'bolder',\n lineHeight: '1',\n }}\n >\n <div\n style={{\n letterSpacing: '-0.05rem',\n }}\n >\n TANSTACK\n </div>\n <div\n style={{\n backgroundImage:\n 'linear-gradient(to right, var(--tw-gradient-stops))',\n // @ts-ignore\n '--tw-gradient-from': '#84cc16',\n '--tw-gradient-stops':\n 'var(--tw-gradient-from), var(--tw-gradient-to)',\n '--tw-gradient-to': '#10b981',\n WebkitBackgroundClip: 'text',\n color: 'transparent',\n letterSpacing: '0.1rem',\n marginRight: '-0.2rem',\n }}\n >\n ROUTER\n </div>\n </div>\n )\n}\n\nexport function TanStackRouterDevtools({\n initialIsOpen,\n panelProps = {},\n closeButtonProps = {},\n toggleButtonProps = {},\n position = 'bottom-left',\n containerElement: Container = 'footer',\n router,\n}: DevtoolsOptions): React.ReactElement | null {\n const rootRef = React.useRef<HTMLDivElement>(null)\n const panelRef = React.useRef<HTMLDivElement>(null)\n const [isOpen, setIsOpen] = useLocalStorage(\n 'tanstackRouterDevtoolsOpen',\n initialIsOpen,\n )\n const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage<number | null>(\n 'tanstackRouterDevtoolsHeight',\n null,\n )\n const [isResolvedOpen, setIsResolvedOpen] = useSafeState(false)\n const [isResizing, setIsResizing] = useSafeState(false)\n const isMounted = useIsMounted()\n\n const handleDragStart = (\n panelElement: HTMLDivElement | null,\n startEvent: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n if (startEvent.button !== 0) return // Only allow left click for drag\n\n setIsResizing(true)\n\n const dragInfo = {\n originalHeight: panelElement?.getBoundingClientRect().height ?? 0,\n pageY: startEvent.pageY,\n }\n\n const run = (moveEvent: MouseEvent) => {\n const delta = dragInfo.pageY - moveEvent.pageY\n const newHeight = dragInfo?.originalHeight + delta\n\n setDevtoolsHeight(newHeight)\n\n if (newHeight < 70) {\n setIsOpen(false)\n } else {\n setIsOpen(true)\n }\n }\n\n const unsub = () => {\n setIsResizing(false)\n document.removeEventListener('mousemove', run)\n document.removeEventListener('mouseUp', unsub)\n }\n\n document.addEventListener('mousemove', run)\n document.addEventListener('mouseup', unsub)\n }\n\n React.useEffect(() => {\n setIsResolvedOpen(isOpen ?? false)\n }, [isOpen, isResolvedOpen, setIsResolvedOpen])\n\n // Toggle panel visibility before/after transition (depending on direction).\n // Prevents focusing in a closed panel.\n React.useEffect(() => {\n const ref = panelRef.current\n\n if (ref) {\n const handlePanelTransitionStart = () => {\n if (ref && isResolvedOpen) {\n ref.style.visibility = 'visible'\n }\n }\n\n const handlePanelTransitionEnd = () => {\n if (ref && !isResolvedOpen) {\n ref.style.visibility = 'hidden'\n }\n }\n\n ref.addEventListener('transitionstart', handlePanelTransitionStart)\n ref.addEventListener('transitionend', handlePanelTransitionEnd)\n\n return () => {\n ref.removeEventListener('transitionstart', handlePanelTransitionStart)\n ref.removeEventListener('transitionend', handlePanelTransitionEnd)\n }\n }\n\n return\n }, [isResolvedOpen])\n\n React[isServer ? 'useEffect' : 'useLayoutEffect'](() => {\n if (isResolvedOpen) {\n const previousValue = rootRef.current?.parentElement?.style.paddingBottom\n\n const run = () => {\n const containerHeight = panelRef.current?.getBoundingClientRect().height\n if (rootRef.current?.parentElement) {\n rootRef.current.parentElement.style.paddingBottom = `${containerHeight}px`\n }\n }\n\n run()\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', run)\n\n return () => {\n window.removeEventListener('resize', run)\n if (\n rootRef.current?.parentElement &&\n typeof previousValue === 'string'\n ) {\n rootRef.current.parentElement.style.paddingBottom = previousValue\n }\n }\n }\n }\n return\n }, [isResolvedOpen])\n\n const { style: panelStyle = {}, ...otherPanelProps } = panelProps\n\n const {\n style: closeButtonStyle = {},\n onClick: onCloseClick,\n ...otherCloseButtonProps\n } = closeButtonProps\n\n const {\n style: toggleButtonStyle = {},\n onClick: onToggleClick,\n ...otherToggleButtonProps\n } = toggleButtonProps\n\n // Do not render on the server\n if (!isMounted()) return null\n\n return (\n <Container ref={rootRef} className=\"TanStackRouterDevtools\">\n <ThemeProvider theme={theme}>\n <TanStackRouterDevtoolsPanel\n ref={panelRef as any}\n {...otherPanelProps}\n router={router}\n style={{\n position: 'fixed',\n bottom: '0',\n right: '0',\n zIndex: 99999,\n width: '100%',\n height: devtoolsHeight ?? 500,\n maxHeight: '90%',\n boxShadow: '0 0 20px rgba(0,0,0,.3)',\n borderTop: `1px solid ${theme.gray}`,\n transformOrigin: 'top',\n // visibility will be toggled after transitions, but set initial state here\n visibility: isOpen ? 'visible' : 'hidden',\n ...panelStyle,\n ...(isResizing\n ? {\n transition: `none`,\n }\n : { transition: `all .2s ease` }),\n ...(isResolvedOpen\n ? {\n opacity: 1,\n pointerEvents: 'all',\n transform: `translateY(0) scale(1)`,\n }\n : {\n opacity: 0,\n pointerEvents: 'none',\n transform: `translateY(15px) scale(1.02)`,\n }),\n }}\n isOpen={isResolvedOpen}\n setIsOpen={setIsOpen}\n handleDragStart={(e) => handleDragStart(panelRef.current, e)}\n />\n {isResolvedOpen ? (\n <Button\n type=\"button\"\n aria-label=\"Close TanStack Router Devtools\"\n {...(otherCloseButtonProps as any)}\n onClick={(e) => {\n setIsOpen(false)\n onCloseClick && onCloseClick(e)\n }}\n style={{\n position: 'fixed',\n zIndex: 99999,\n margin: '.5em',\n bottom: 0,\n ...(position === 'top-right'\n ? {\n right: '0',\n }\n : position === 'top-left'\n ? {\n left: '0',\n }\n : position === 'bottom-right'\n ? {\n right: '0',\n }\n : {\n left: '0',\n }),\n ...closeButtonStyle,\n }}\n >\n Close\n </Button>\n ) : null}\n </ThemeProvider>\n {!isResolvedOpen ? (\n <button\n type=\"button\"\n {...otherToggleButtonProps}\n aria-label=\"Open TanStack Router Devtools\"\n onClick={(e) => {\n setIsOpen(true)\n onToggleClick && onToggleClick(e)\n }}\n style={{\n appearance: 'none',\n background: 'none',\n border: 0,\n padding: 0,\n position: 'fixed',\n zIndex: 99999,\n display: 'inline-flex',\n fontSize: '1.5em',\n margin: '.5em',\n cursor: 'pointer',\n width: 'fit-content',\n ...(position === 'top-right'\n ? {\n top: '0',\n right: '0',\n }\n : position === 'top-left'\n ? {\n top: '0',\n left: '0',\n }\n : position === 'bottom-right'\n ? {\n bottom: '0',\n right: '0',\n }\n : {\n bottom: '0',\n left: '0',\n }),\n ...toggleButtonStyle,\n }}\n >\n <Logo aria-hidden />\n </button>\n ) : null}\n </Container>\n )\n}\n\nexport const TanStackRouterDevtoolsPanel = React.forwardRef<\n HTMLDivElement,\n DevtoolsPanelOptions\n>(function TanStackRouterDevtoolsPanel(props, ref): React.ReactElement {\n const {\n isOpen = true,\n setIsOpen,\n handleDragStart,\n router: userRouter,\n ...panelProps\n } = props\n\n const routerContextValue = React.useContext(routerContext)\n const router = userRouter ?? routerContextValue?.router\n\n invariant(\n router,\n '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.',\n )\n\n const rerender = React.useReducer(() => ({}), {})[1]\n\n React.useEffect(() => {\n let interval = setInterval(() => {\n router.cleanMatchCache()\n // router.notify()\n rerender()\n }, 250)\n\n return () => {\n clearInterval(interval)\n }\n }, [])\n\n const [activeRouteId, setActiveRouteId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveRouteId',\n '',\n )\n\n const [activeMatchId, setActiveMatchId] = useLocalStorage(\n 'tanstackRouterDevtoolsActiveMatchId',\n '',\n )\n\n React.useEffect(() => {\n setActiveMatchId('')\n }, [activeRouteId])\n\n const activeMatch =\n Object.values(router.matchCache)?.find(\n (d) => d.match.matchId === activeMatchId,\n )?.match ?? router.state.matches?.find((d) => d.routeId === activeRouteId)\n\n const matchCacheValues = multiSortBy(\n Object.keys(router.matchCache)\n .filter((key) => {\n const cacheEntry = router.matchCache[key]!\n return cacheEntry.gc > Date.now()\n })\n .map((key) => router.matchCache[key]!),\n [(d) => (d.match.isFetching ? -1 : 1), (d) => -d.match.updatedAt!],\n )\n\n return (\n <ThemeProvider theme={theme}>\n <Panel ref={ref} className=\"TanStackRouterDevtoolsPanel\" {...panelProps}>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n\n .TanStackRouterDevtoolsPanel * {\n scrollbar-color: ${theme.backgroundAlt} ${theme.gray};\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar, .TanStackRouterDevtoolsPanel scrollbar {\n width: 1em;\n height: 1em;\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-track, .TanStackRouterDevtoolsPanel scrollbar-track {\n background: ${theme.backgroundAlt};\n }\n\n .TanStackRouterDevtoolsPanel *::-webkit-scrollbar-thumb, .TanStackRouterDevtoolsPanel scrollbar-thumb {\n background: ${theme.gray};\n border-radius: .5em;\n border: 3px solid ${theme.backgroundAlt};\n }\n\n .TanStackRouterDevtoolsPanel table {\n width: 100%;\n }\n\n .TanStackRouterDevtoolsPanel table tr {\n border-bottom: 2px dotted rgba(255, 255, 255, .2);\n }\n\n .TanStackRouterDevtoolsPanel table tr:last-child {\n border-bottom: none\n }\n\n .TanStackRouterDevtoolsPanel table td {\n padding: .25rem .5rem;\n border-right: 2px dotted rgba(255, 255, 255, .05);\n }\n\n .TanStackRouterDevtoolsPanel table td:last-child {\n border-right: none\n }\n\n `,\n }}\n />\n <div\n style={{\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '4px',\n marginBottom: '-4px',\n cursor: 'row-resize',\n zIndex: 100000,\n }}\n onMouseDown={handleDragStart}\n ></div>\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n display: 'flex',\n justifyContent: 'start',\n gap: '1rem',\n padding: '1rem',\n alignItems: 'center',\n background: theme.backgroundAlt,\n }}\n >\n <Logo aria-hidden />\n <div\n style={{\n fontSize: 'clamp(.8rem, 2vw, 1.3rem)',\n fontWeight: 'bold',\n }}\n >\n <span\n style={{\n fontWeight: 100,\n }}\n >\n Devtools\n </span>\n </div>\n </div>\n <div\n style={{\n overflowY: 'auto',\n flex: '1',\n }}\n >\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer label=\"Router\" value={router} defaultExpanded={{}} />\n </div>\n </div>\n </div>\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Active Matches\n </div>\n {router.state.matches.map((match, i) => {\n return (\n <div\n key={match.routeId || i}\n role=\"button\"\n aria-label={`Open match details for ${match.routeId}`}\n onClick={() =>\n setActiveRouteId(\n activeRouteId === match.routeId ? '' : match.routeId,\n )\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n alignItems: 'center',\n background:\n match === activeMatch ? 'rgba(255,255,255,.1)' : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n marginLeft: '.25rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${match.matchId}`}\n </Code>\n </div>\n )\n })}\n {router.state.pending?.matches.length ? (\n <>\n <div\n style={{\n marginTop: '2rem',\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Pending Matches\n </div>\n {router.state.pending?.matches.map((match, i) => {\n return (\n <div\n key={match.routeId || i}\n role=\"button\"\n aria-label={`Open match details for ${match.routeId}`}\n onClick={() =>\n setActiveRouteId(\n activeRouteId === match.routeId ? '' : match.routeId,\n )\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n background:\n match === activeMatch\n ? 'rgba(255,255,255,.1)'\n : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n marginLeft: '.25rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${match.matchId}`}\n </Code>\n </div>\n )\n })}\n </>\n ) : null}\n {matchCacheValues.length ? (\n <>\n <div\n style={{\n marginTop: '2rem',\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n <div>Match Cache</div>\n <Button\n onClick={() => {\n router.matchCache = {}\n router.notify()\n }}\n >\n Clear\n </Button>\n </div>\n {matchCacheValues.map((d, i) => {\n const { match, gc } = d\n\n return (\n <div\n key={match.matchId || i}\n role=\"button\"\n aria-label={`Open match details for ${match.matchId}`}\n onClick={() =>\n setActiveMatchId(\n activeMatchId === match.matchId ? '' : match.matchId,\n )\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n background:\n match === activeMatch\n ? 'rgba(255,255,255,.1)'\n : undefined,\n }}\n >\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n padding: '.5rem',\n gap: '.3rem',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '.5rem',\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '1.3rem',\n height: '1.3rem',\n background: getStatusColor(match, theme),\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n borderRadius: '.25rem',\n transition: 'all .2s ease-out',\n }}\n />\n <Code>{`${match.matchId}`}</Code>\n </div>\n <span\n style={{\n fontSize: '.7rem',\n opacity: '.5',\n lineHeight: 1,\n }}\n >\n Expires{' '}\n {formatDistanceStrict(new Date(gc), new Date(), {\n addSuffix: true,\n })}\n </span>\n </div>\n </div>\n )\n })}\n </>\n ) : null}\n </div>\n\n {activeMatch ? (\n <ActivePanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Match Details\n </div>\n <div>\n <table>\n <tbody>\n <tr>\n <td style={{ opacity: '.5' }}>ID</td>\n <td>\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n {JSON.stringify(activeMatch.matchId, null, 2)}\n </Code>\n </td>\n </tr>\n <tr>\n <td style={{ opacity: '.5' }}>Status</td>\n <td>{activeMatch.status}</td>\n </tr>\n <tr>\n <td style={{ opacity: '.5' }}>Invalid</td>\n <td>{activeMatch.isInvalid.toString()}</td>\n </tr>\n <tr>\n <td style={{ opacity: '.5' }}>Last Updated</td>\n <td>\n {activeMatch.updatedAt\n ? new Date(\n activeMatch.updatedAt as number,\n ).toLocaleTimeString()\n : 'N/A'}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n }}\n >\n <Button\n type=\"button\"\n onClick={() => {\n activeMatch.invalidate()\n router.notify()\n }}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => activeMatch.load()}\n style={{\n background: theme.gray,\n }}\n >\n Reload\n </Button>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Match\"\n value={activeMatch}\n defaultExpanded={{}}\n />\n </div>\n </ActivePanel>\n ) : null}\n <div\n style={{\n flex: '1 1 500px',\n minHeight: '40%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRight: `1px solid ${theme.grayAlt}`,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n All Loader Data\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n {Object.keys(last(router.state.matches)?.loaderData || {})\n .length ? (\n <Explorer\n value={last(router.state.matches)?.loaderData || {}}\n defaultExpanded={Object.keys(\n (last(router.state.matches)?.loaderData as {}) || {},\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n ) : (\n <em style={{ opacity: 0.5 }}>{'{ }'}</em>\n )}\n </div>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n bottom: 0,\n zIndex: 1,\n }}\n >\n Search Params\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n {Object.keys(last(router.state.matches)?.search || {}).length ? (\n <Explorer\n value={last(router.state.matches)?.search || {}}\n defaultExpanded={Object.keys(\n (last(router.state.matches)?.search as {}) || {},\n ).reduce((obj: any, next) => {\n obj[next] = {}\n return obj\n }, {})}\n />\n ) : (\n <em style={{ opacity: 0.5 }}>{'{ }'}</em>\n )}\n </div>\n </div>\n </Panel>\n </ThemeProvider>\n )\n})\n"],"names":["isServer","window","Logo","props","React","style","display","alignItems","flexDirection","fontSize","fontWeight","lineHeight","letterSpacing","backgroundImage","WebkitBackgroundClip","color","marginRight","TanStackRouterDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","router","rootRef","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","isResolvedOpen","setIsResolvedOpen","useSafeState","isResizing","setIsResizing","isMounted","useIsMounted","handleDragStart","panelElement","startEvent","button","dragInfo","originalHeight","getBoundingClientRect","height","pageY","run","moveEvent","delta","newHeight","unsub","document","removeEventListener","addEventListener","useEffect","ref","current","handlePanelTransitionStart","visibility","handlePanelTransitionEnd","previousValue","parentElement","paddingBottom","containerHeight","panelStyle","otherPanelProps","closeButtonStyle","onClick","onCloseClick","otherCloseButtonProps","toggleButtonStyle","onToggleClick","otherToggleButtonProps","ThemeProvider","theme","_extends","bottom","right","zIndex","width","maxHeight","boxShadow","borderTop","gray","transformOrigin","transition","opacity","pointerEvents","transform","e","Button","margin","left","appearance","background","border","padding","cursor","top","TanStackRouterDevtoolsPanel","forwardRef","userRouter","routerContextValue","useContext","routerContext","invariant","rerender","useReducer","interval","setInterval","cleanMatchCache","clearInterval","activeRouteId","setActiveRouteId","activeMatchId","setActiveMatchId","activeMatch","Object","values","matchCache","find","d","match","matchId","state","matches","routeId","matchCacheValues","multiSortBy","keys","filter","key","cacheEntry","gc","Date","now","map","isFetching","updatedAt","Panel","__html","backgroundAlt","marginBottom","flex","minHeight","overflow","borderRight","grayAlt","justifyContent","gap","overflowY","Explorer","i","borderBottom","undefined","marginLeft","getStatusColor","borderRadius","Code","pending","length","marginTop","notify","formatDistanceStrict","addSuffix","ActivePanel","JSON","stringify","status","isInvalid","toString","toLocaleTimeString","invalidate","warning","inputTextColor","load","last","loaderData","reduce","obj","next","search"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
package/build/cjs/{packages/react-router-devtools/src/styledComponents.js → styledComponents.js}
RENAMED
|
@@ -25,10 +25,11 @@ const Panel = utils.styled('div', (_props, theme) => ({
|
|
|
25
25
|
flexDirection: 'column'
|
|
26
26
|
},
|
|
27
27
|
'(max-width: 600px)': {
|
|
28
|
-
fontSize: '.9em'
|
|
29
|
-
|
|
28
|
+
fontSize: '.9em'
|
|
29
|
+
// flexDirection: 'column',
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
+
|
|
32
33
|
const ActivePanel = utils.styled('div', () => ({
|
|
33
34
|
flex: '1 1 500px',
|
|
34
35
|
display: 'flex',
|
|
@@ -51,10 +52,13 @@ const Button = utils.styled('button', (props, theme) => ({
|
|
|
51
52
|
padding: '.5em',
|
|
52
53
|
opacity: props.disabled ? '.5' : undefined,
|
|
53
54
|
cursor: 'pointer'
|
|
54
|
-
}));
|
|
55
|
+
}));
|
|
56
|
+
|
|
57
|
+
// export const QueryKeys = styled('span', {
|
|
55
58
|
// display: 'inline-block',
|
|
56
59
|
// fontSize: '0.9em',
|
|
57
60
|
// })
|
|
61
|
+
|
|
58
62
|
// export const QueryKey = styled('span', {
|
|
59
63
|
// display: 'inline-flex',
|
|
60
64
|
// alignItems: 'center',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styledComponents.js","sources":["../../src/styledComponents.ts"],"sourcesContent":["import { styled } from './utils'\n\nexport const Panel = styled(\n 'div',\n (_props, theme) => ({\n fontSize: 'clamp(12px, 1.5vw, 14px)',\n fontFamily: `sans-serif`,\n display: 'flex',\n backgroundColor: theme.background,\n color: theme.foreground,\n }),\n {\n '(max-width: 700px)': {\n flexDirection: 'column',\n },\n '(max-width: 600px)': {\n fontSize: '.9em',\n // flexDirection: 'column',\n },\n },\n)\n\nexport const ActivePanel = styled(\n 'div',\n () => ({\n flex: '1 1 500px',\n display: 'flex',\n flexDirection: 'column',\n overflow: 'auto',\n height: '100%',\n }),\n {\n '(max-width: 700px)': (_props, theme) => ({\n borderTop: `2px solid ${theme.gray}`,\n }),\n },\n)\n\nexport const Button = styled('button', (props, theme) => ({\n appearance: 'none',\n fontSize: '.9em',\n fontWeight: 'bold',\n background: theme.gray,\n border: '0',\n borderRadius: '.3em',\n color: 'white',\n padding: '.5em',\n opacity: props.disabled ? '.5' : undefined,\n cursor: 'pointer',\n}))\n\n// export const QueryKeys = styled('span', {\n// display: 'inline-block',\n// fontSize: '0.9em',\n// })\n\n// export const QueryKey = styled('span', {\n// display: 'inline-flex',\n// alignItems: 'center',\n// padding: '.2em .4em',\n// fontWeight: 'bold',\n// textShadow: '0 0 10px black',\n// borderRadius: '.2em',\n// })\n\nexport const Code = styled('code', {\n fontSize: '.9em',\n})\n\nexport const Input = styled('input', (_props, theme) => ({\n backgroundColor: theme.inputBackgroundColor,\n border: 0,\n borderRadius: '.2em',\n color: theme.inputTextColor,\n fontSize: '.9em',\n lineHeight: `1.3`,\n padding: '.3em .4em',\n}))\n\nexport const Select = styled(\n 'select',\n (_props, theme) => ({\n display: `inline-block`,\n fontSize: `.9em`,\n fontFamily: `sans-serif`,\n fontWeight: 'normal',\n lineHeight: `1.3`,\n padding: `.3em 1.5em .3em .5em`,\n height: 'auto',\n border: 0,\n borderRadius: `.2em`,\n appearance: `none`,\n WebkitAppearance: 'none',\n backgroundColor: theme.inputBackgroundColor,\n backgroundImage: `url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23444444'><polygon points='0,25 100,25 50,75'/></svg>\")`,\n backgroundRepeat: `no-repeat`,\n backgroundPosition: `right .55em center`,\n backgroundSize: `.65em auto, 100%`,\n color: theme.inputTextColor,\n }),\n {\n '(max-width: 500px)': {\n display: 'none',\n },\n },\n)\n"],"names":["Panel","styled","_props","theme","fontSize","fontFamily","display","backgroundColor","background","color","foreground","flexDirection","ActivePanel","flex","overflow","height","borderTop","gray","Button","props","appearance","fontWeight","border","borderRadius","padding","opacity","disabled","undefined","cursor","Code","inputBackgroundColor","inputTextColor","lineHeight","WebkitAppearance","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
14
|
|
|
15
|
-
var _rollupPluginBabelHelpers = require('
|
|
15
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
16
16
|
var React = require('react');
|
|
17
17
|
|
|
18
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -36,10 +36,9 @@ const defaultTheme = {
|
|
|
36
36
|
const ThemeContext = /*#__PURE__*/React__default["default"].createContext(defaultTheme);
|
|
37
37
|
function ThemeProvider(_ref) {
|
|
38
38
|
let {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
theme
|
|
40
|
+
} = _ref,
|
|
41
|
+
rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_ref, _excluded);
|
|
43
42
|
return /*#__PURE__*/React__default["default"].createElement(ThemeContext.Provider, _rollupPluginBabelHelpers["extends"]({
|
|
44
43
|
value: theme
|
|
45
44
|
}, rest));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sources":["../../src/theme.tsx"],"sourcesContent":["import React from 'react'\n\nexport const defaultTheme = {\n background: '#0b1521',\n backgroundAlt: '#132337',\n foreground: 'white',\n gray: '#3f4e60',\n grayAlt: '#222e3e',\n inputBackgroundColor: '#fff',\n inputTextColor: '#000',\n success: '#00ab52',\n danger: '#ff0085',\n active: '#006bff',\n warning: '#ffb200',\n} as const\n\nexport type Theme = typeof defaultTheme\ninterface ProviderProps {\n theme: Theme\n children?: React.ReactNode\n}\n\nconst ThemeContext = React.createContext(defaultTheme)\n\nexport function ThemeProvider({ theme, ...rest }: ProviderProps) {\n return <ThemeContext.Provider value={theme} {...rest} />\n}\n\nexport function useTheme() {\n return React.useContext(ThemeContext)\n}\n"],"names":["defaultTheme","background","backgroundAlt","foreground","gray","grayAlt","inputBackgroundColor","inputTextColor","success","danger","active","warning","ThemeContext","React","createContext","ThemeProvider","theme","rest","_objectWithoutPropertiesLoose","_extends","useTheme","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,UAAU,EAAE,SAAS;AACrBC,EAAAA,aAAa,EAAE,SAAS;AACxBC,EAAAA,UAAU,EAAE,OAAO;AACnBC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,oBAAoB,EAAE,MAAM;AAC5BC,EAAAA,cAAc,EAAE,MAAM;AACtBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,OAAO,EAAE,SAAA;AACX,EAAU;AAQV,MAAMC,YAAY,gBAAGC,yBAAK,CAACC,aAAa,CAACd,YAAY,CAAC,CAAA;AAE/C,SAASe,aAAa,CAAoC,IAAA,EAAA;EAAA,IAAnC;AAAEC,MAAAA,KAAAA;KAA+B,GAAA,IAAA;IAArBC,IAAI,GAAAC,sDAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;EAC5C,oBAAOL,yBAAA,CAAA,aAAA,CAAC,YAAY,CAAC,QAAQ,EAAAM,oCAAA,CAAA;AAAC,IAAA,KAAK,EAAEH,KAAAA;AAAM,GAAA,EAAKC,IAAI,CAAI,CAAA,CAAA;AAC1D,CAAA;AAEO,SAASG,QAAQ,GAAG;AACzB,EAAA,OAAOP,yBAAK,CAACQ,UAAU,CAACT,YAAY,CAAC,CAAA;AACvC;;;;;;"}
|