@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
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-router-devtools
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var index = require('./_lib/formatDistance/index.js');
|
|
16
|
-
var index$1 = require('./_lib/formatLong/index.js');
|
|
17
|
-
var index$2 = require('./_lib/formatRelative/index.js');
|
|
18
|
-
var index$3 = require('./_lib/localize/index.js');
|
|
19
|
-
var index$4 = require('./_lib/match/index.js');
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @type {Locale}
|
|
23
|
-
* @category Locales
|
|
24
|
-
* @summary English locale (United States).
|
|
25
|
-
* @language English
|
|
26
|
-
* @iso-639-2 eng
|
|
27
|
-
* @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}
|
|
28
|
-
* @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}
|
|
29
|
-
*/
|
|
30
|
-
var locale = {
|
|
31
|
-
code: 'en-US',
|
|
32
|
-
formatDistance: index["default"],
|
|
33
|
-
formatLong: index$1["default"],
|
|
34
|
-
formatRelative: index$2["default"],
|
|
35
|
-
localize: index$3["default"],
|
|
36
|
-
match: index$4["default"],
|
|
37
|
-
options: {
|
|
38
|
-
weekStartsOn: 0
|
|
39
|
-
/* Sunday */
|
|
40
|
-
,
|
|
41
|
-
firstWeekContainsDate: 1
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
var defaultLocale = locale;
|
|
45
|
-
|
|
46
|
-
exports["default"] = defaultLocale;
|
|
47
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../../node_modules/date-fns/esm/locale/en-US/index.js"],"sourcesContent":["import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;"],"names":["formatDistance","formatLong","formatRelative","localize","match"],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,cAAc,EAAEA,gBAAc;AAChC,EAAE,UAAU,EAAEC,kBAAU;AACxB,EAAE,cAAc,EAAEC,kBAAc;AAChC,EAAE,QAAQ,EAAEC,kBAAQ;AACpB,EAAE,KAAK,EAAEC,kBAAK;AACd,EAAE,OAAO,EAAE;AACX,IAAI,YAAY,EAAE,CAAC;AACnB;AACA;AACA,IAAI,qBAAqB,EAAE,CAAC;AAC5B,GAAG;AACH,CAAC,CAAC;AACF,oBAAe,MAAM;;;;"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* react-router-devtools
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) TanStack
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
-
*
|
|
9
|
-
* @license MIT
|
|
10
|
-
*/
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
14
|
-
|
|
15
|
-
var index = require('../_lib/requiredArgs/index.js');
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @name toDate
|
|
19
|
-
* @category Common Helpers
|
|
20
|
-
* @summary Convert the given argument to an instance of Date.
|
|
21
|
-
*
|
|
22
|
-
* @description
|
|
23
|
-
* Convert the given argument to an instance of Date.
|
|
24
|
-
*
|
|
25
|
-
* If the argument is an instance of Date, the function returns its clone.
|
|
26
|
-
*
|
|
27
|
-
* If the argument is a number, it is treated as a timestamp.
|
|
28
|
-
*
|
|
29
|
-
* If the argument is none of the above, the function returns Invalid Date.
|
|
30
|
-
*
|
|
31
|
-
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
|
32
|
-
*
|
|
33
|
-
* @param {Date|Number} argument - the value to convert
|
|
34
|
-
* @returns {Date} the parsed date in the local time zone
|
|
35
|
-
* @throws {TypeError} 1 argument required
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* // Clone the date:
|
|
39
|
-
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
|
40
|
-
* //=> Tue Feb 11 2014 11:30:30
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* // Convert the timestamp to date:
|
|
44
|
-
* const result = toDate(1392098430000)
|
|
45
|
-
* //=> Tue Feb 11 2014 11:30:30
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
function toDate(argument) {
|
|
49
|
-
index["default"](1, arguments);
|
|
50
|
-
var argStr = Object.prototype.toString.call(argument); // Clone the date
|
|
51
|
-
|
|
52
|
-
if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {
|
|
53
|
-
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
|
54
|
-
return new Date(argument.getTime());
|
|
55
|
-
} else if (typeof argument === 'number' || argStr === '[object Number]') {
|
|
56
|
-
return new Date(argument);
|
|
57
|
-
} else {
|
|
58
|
-
if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {
|
|
59
|
-
// eslint-disable-next-line no-console
|
|
60
|
-
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"); // eslint-disable-next-line no-console
|
|
61
|
-
|
|
62
|
-
console.warn(new Error().stack);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return new Date(NaN);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
exports["default"] = toDate;
|
|
70
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/date-fns/esm/toDate/index.js"],"sourcesContent":["import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}"],"names":["requiredArgs"],"mappings":";;;;;;;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,MAAM,CAAC,QAAQ,EAAE;AACzC,EAAEA,gBAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxD;AACA,EAAE,IAAI,QAAQ,YAAY,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,KAAK,eAAe,EAAE;AAC9F;AACA,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,GAAG,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,KAAK,iBAAiB,EAAE;AAC3E,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,KAAK,iBAAiB,KAAK,OAAO,OAAO,KAAK,WAAW,EAAE;AAC1G;AACA,MAAM,OAAO,CAAC,IAAI,CAAC,oNAAoN,CAAC,CAAC;AACzO;AACA,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACtC,KAAK;AACL;AACA,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,GAAG;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1 +0,0 @@
|
|
|
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>\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>\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","_objectWithoutPropertiesLoose","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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"}
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1 +0,0 @@
|
|
|
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,SADc;AAE1BC,EAAAA,aAAa,EAAE,SAFW;AAG1BC,EAAAA,UAAU,EAAE,OAHc;AAI1BC,EAAAA,IAAI,EAAE,SAJoB;AAK1BC,EAAAA,OAAO,EAAE,SALiB;AAM1BC,EAAAA,oBAAoB,EAAE,MANI;AAO1BC,EAAAA,cAAc,EAAE,MAPU;AAQ1BC,EAAAA,OAAO,EAAE,SARiB;AAS1BC,EAAAA,MAAM,EAAE,SATkB;AAU1BC,EAAAA,MAAM,EAAE,SAVkB;AAW1BC,EAAAA,OAAO,EAAE,SAAA;AAXiB,EAArB;AAoBP,MAAMC,YAAY,gBAAGC,yBAAK,CAACC,aAAN,CAAoBd,YAApB,CAArB,CAAA;AAEO,SAASe,aAAT,CAA0D,IAAA,EAAA;EAAA,IAAnC;AAAEC,IAAAA,KAAAA;GAAiC,GAAA,IAAA;AAAA,MAAvBC,IAAuB,GAAAC,sDAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;;EAC/D,oBAAOL,yBAAA,CAAA,aAAA,CAAC,YAAD,CAAc,QAAd,EAAAM,oCAAA,CAAA;AAAuB,IAAA,KAAK,EAAEH,KAAAA;AAA9B,GAAA,EAAyCC,IAAzC,CAAP,CAAA,CAAA;AACD,CAAA;AAEM,SAASG,QAAT,GAAoB;AACzB,EAAA,OAAOP,yBAAK,CAACQ,UAAN,CAAiBT,YAAjB,CAAP,CAAA;AACD;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLocalStorage.js","sources":["../../../../../src/useLocalStorage.ts"],"sourcesContent":["import React from 'react'\n\nconst getItem = (key: string): unknown => {\n try {\n const itemValue = localStorage.getItem(key)\n if (typeof itemValue === 'string') {\n return JSON.parse(itemValue)\n }\n return undefined\n } catch {\n return undefined\n }\n}\n\nexport default function useLocalStorage<T>(\n key: string,\n defaultValue: T | undefined,\n): [T | undefined, (newVal: T | ((prevVal: T) => T)) => void] {\n const [value, setValue] = React.useState<T>()\n\n React.useEffect(() => {\n const initialValue = getItem(key) as T | undefined\n\n if (typeof initialValue === 'undefined' || initialValue === null) {\n setValue(\n typeof defaultValue === 'function' ? defaultValue() : defaultValue,\n )\n } else {\n setValue(initialValue)\n }\n }, [defaultValue, key])\n\n const setter = React.useCallback(\n (updater: any) => {\n setValue((old) => {\n let newVal = updater\n\n if (typeof updater == 'function') {\n newVal = updater(old)\n }\n try {\n localStorage.setItem(key, JSON.stringify(newVal))\n } catch {}\n\n return newVal\n })\n },\n [key],\n )\n\n return [value, setter]\n}\n"],"names":["getItem","key","itemValue","localStorage","JSON","parse","undefined","useLocalStorage","defaultValue","value","setValue","React","useState","useEffect","initialValue","setter","useCallback","updater","old","newVal","setItem","stringify"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,OAAO,GAAIC,GAAD,IAA0B;EACxC,IAAI;AACF,IAAA,MAAMC,SAAS,GAAGC,YAAY,CAACH,OAAb,CAAqBC,GAArB,CAAlB,CAAA;;AACA,IAAA,IAAI,OAAOC,SAAP,KAAqB,QAAzB,EAAmC;AACjC,MAAA,OAAOE,IAAI,CAACC,KAAL,CAAWH,SAAX,CAAP,CAAA;AACD,KAAA;;AACD,IAAA,OAAOI,SAAP,CAAA;AACD,GAND,CAME,OAAM,OAAA,EAAA;AACN,IAAA,OAAOA,SAAP,CAAA;AACD,GAAA;AACF,CAVD,CAAA;;AAYe,SAASC,eAAT,CACbN,GADa,EAEbO,YAFa,EAG+C;EAC5D,MAAM,CAACC,KAAD,EAAQC,QAAR,IAAoBC,yBAAK,CAACC,QAAN,EAA1B,CAAA;EAEAD,yBAAK,CAACE,SAAN,CAAgB,MAAM;AACpB,IAAA,MAAMC,YAAY,GAAGd,OAAO,CAACC,GAAD,CAA5B,CAAA;;IAEA,IAAI,OAAOa,YAAP,KAAwB,WAAxB,IAAuCA,YAAY,KAAK,IAA5D,EAAkE;MAChEJ,QAAQ,CACN,OAAOF,YAAP,KAAwB,UAAxB,GAAqCA,YAAY,EAAjD,GAAsDA,YADhD,CAAR,CAAA;AAGD,KAJD,MAIO;MACLE,QAAQ,CAACI,YAAD,CAAR,CAAA;AACD,KAAA;AACF,GAVD,EAUG,CAACN,YAAD,EAAeP,GAAf,CAVH,CAAA,CAAA;AAYA,EAAA,MAAMc,MAAM,GAAGJ,yBAAK,CAACK,WAAN,CACZC,OAAD,IAAkB;IAChBP,QAAQ,CAAEQ,GAAD,IAAS;MAChB,IAAIC,MAAM,GAAGF,OAAb,CAAA;;AAEA,MAAA,IAAI,OAAOA,OAAP,IAAkB,UAAtB,EAAkC;AAChCE,QAAAA,MAAM,GAAGF,OAAO,CAACC,GAAD,CAAhB,CAAA;AACD,OAAA;;MACD,IAAI;QACFf,YAAY,CAACiB,OAAb,CAAqBnB,GAArB,EAA0BG,IAAI,CAACiB,SAAL,CAAeF,MAAf,CAA1B,CAAA,CAAA;OADF,CAEE,iBAAM,EAAE;;AAEV,MAAA,OAAOA,MAAP,CAAA;AACD,KAXO,CAAR,CAAA;AAYD,GAdY,EAeb,CAAClB,GAAD,CAfa,CAAf,CAAA;AAkBA,EAAA,OAAO,CAACQ,KAAD,EAAQM,MAAR,CAAP,CAAA;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaQuery.js","sources":["../../../../../src/useMediaQuery.ts"],"sourcesContent":["import React from 'react'\n\nexport default function useMediaQuery(query: string): boolean | undefined {\n // Keep track of the preference in state, start with the current match\n const [isMatch, setIsMatch] = React.useState(() => {\n if (typeof window !== 'undefined') {\n return window.matchMedia && window.matchMedia(query).matches\n }\n return\n })\n\n // Watch for changes\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (!window.matchMedia) {\n return\n }\n\n // Create a matcher\n const matcher = window.matchMedia(query)\n\n // Create our handler\n const onChange = ({ matches }: { matches: boolean }) =>\n setIsMatch(matches)\n\n // Listen for changes\n matcher.addListener(onChange)\n\n return () => {\n // Stop listening for changes\n matcher.removeListener(onChange)\n }\n }\n\n return\n }, [isMatch, query, setIsMatch])\n\n return isMatch\n}\n"],"names":["useMediaQuery","query","isMatch","setIsMatch","React","useState","window","matchMedia","matches","useEffect","matcher","onChange","addListener","removeListener"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEe,SAASA,aAAT,CAAuBC,KAAvB,EAA2D;AACxE;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,yBAAK,CAACC,QAAN,CAAe,MAAM;AACjD,IAAA,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;MACjC,OAAOA,MAAM,CAACC,UAAP,IAAqBD,MAAM,CAACC,UAAP,CAAkBN,KAAlB,CAAA,CAAyBO,OAArD,CAAA;AACD,KAAA;;AACD,IAAA,OAAA;GAJ4B,CAA9B,CAFwE;;EAUxEJ,yBAAK,CAACK,SAAN,CAAgB,MAAM;AACpB,IAAA,IAAI,OAAOH,MAAP,KAAkB,WAAtB,EAAmC;AACjC,MAAA,IAAI,CAACA,MAAM,CAACC,UAAZ,EAAwB;AACtB,QAAA,OAAA;AACD,OAHgC;;;MAMjC,MAAMG,OAAO,GAAGJ,MAAM,CAACC,UAAP,CAAkBN,KAAlB,CAAhB,CANiC;;AASjC,MAAA,MAAMU,QAAQ,GAAG,IAAA,IAAA;QAAA,IAAC;AAAEH,UAAAA,OAAAA;SAAH,GAAA,IAAA,CAAA;QAAA,OACfL,UAAU,CAACK,OAAD,CADK,CAAA;AAAA,OAAjB,CATiC;;;MAajCE,OAAO,CAACE,WAAR,CAAoBD,QAApB,CAAA,CAAA;AAEA,MAAA,OAAO,MAAM;AACX;QACAD,OAAO,CAACG,cAAR,CAAuBF,QAAvB,CAAA,CAAA;OAFF,CAAA;AAID,KAAA;;AAED,IAAA,OAAA;AACD,GAvBD,EAuBG,CAACT,OAAD,EAAUD,KAAV,EAAiBE,UAAjB,CAvBH,CAAA,CAAA;AAyBA,EAAA,OAAOD,OAAP,CAAA;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/utils.ts"],"sourcesContent":["import React from 'react'\nimport { RouteMatch } from '@tanstack/react-router'\n\nimport { Theme, useTheme } from './theme'\nimport useMediaQuery from './useMediaQuery'\n\nexport const isServer = typeof window === 'undefined'\n\ntype StyledComponent<T> = T extends 'button'\n ? React.DetailedHTMLProps<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n >\n : T extends 'input'\n ? React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n >\n : T extends 'select'\n ? React.DetailedHTMLProps<\n React.SelectHTMLAttributes<HTMLSelectElement>,\n HTMLSelectElement\n >\n : T extends keyof HTMLElementTagNameMap\n ? React.HTMLAttributes<HTMLElementTagNameMap[T]>\n : never\n\nexport function getStatusColor(match: RouteMatch, theme: Theme) {\n return match.isFetching\n ? theme.active\n : match.status === 'error'\n ? theme.danger\n : match.status === 'success'\n ? theme.success\n : theme.gray\n}\n\n// export function getQueryStatusLabel(query: Query) {\n// return query.state.isFetching\n// ? 'fetching'\n// : !query.getObserversCount()\n// ? 'inactive'\n// : query.isStale()\n// ? 'stale'\n// : 'fresh'\n// }\n\ntype Styles =\n | React.CSSProperties\n | ((props: Record<string, any>, theme: Theme) => React.CSSProperties)\n\nexport function styled<T extends keyof HTMLElementTagNameMap>(\n type: T,\n newStyles: Styles,\n queries: Record<string, Styles> = {},\n) {\n return React.forwardRef<HTMLElementTagNameMap[T], StyledComponent<T>>(\n ({ style, ...rest }, ref) => {\n const theme = useTheme()\n\n const mediaStyles = Object.entries(queries).reduce(\n (current, [key, value]) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMediaQuery(key)\n ? {\n ...current,\n ...(typeof value === 'function' ? value(rest, theme) : value),\n }\n : current\n },\n {},\n )\n\n return React.createElement(type, {\n ...rest,\n style: {\n ...(typeof newStyles === 'function'\n ? newStyles(rest, theme)\n : newStyles),\n ...style,\n ...mediaStyles,\n },\n ref,\n })\n },\n )\n}\n\nexport function useIsMounted() {\n const mountedRef = React.useRef(false)\n const isMounted = React.useCallback(() => mountedRef.current, [])\n\n React[isServer ? 'useEffect' : 'useLayoutEffect'](() => {\n mountedRef.current = true\n return () => {\n mountedRef.current = false\n }\n }, [])\n\n return isMounted\n}\n\n/**\n * Displays a string regardless the type of the data\n * @param {unknown} value Value to be stringified\n */\nexport const displayValue = (value: unknown) => {\n const name = Object.getOwnPropertyNames(Object(value))\n const newValue = typeof value === 'bigint' ? `${value.toString()}n` : value\n\n return JSON.stringify(newValue, name)\n}\n\n/**\n * This hook is a safe useState version which schedules state updates in microtasks\n * to prevent updating a component state while React is rendering different components\n * or when the component is not mounted anymore.\n */\nexport function useSafeState<T>(initialState: T): [T, (value: T) => void] {\n const isMounted = useIsMounted()\n const [state, setState] = React.useState(initialState)\n\n const safeSetState = React.useCallback(\n (value: T) => {\n scheduleMicrotask(() => {\n if (isMounted()) {\n setState(value)\n }\n })\n },\n [isMounted],\n )\n\n return [state, safeSetState]\n}\n\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\nfunction scheduleMicrotask(callback: () => void) {\n Promise.resolve()\n .then(callback)\n .catch((error) =>\n setTimeout(() => {\n throw error\n }),\n )\n}\n\nexport function multiSortBy<T>(\n arr: T[],\n accessors: ((item: T) => any)[] = [(d) => d],\n): T[] {\n return arr\n .map((d, i) => [d, i] as const)\n .sort(([a, ai], [b, bi]) => {\n for (const accessor of accessors) {\n const ao = accessor(a)\n const bo = accessor(b)\n\n if (typeof ao === 'undefined') {\n if (typeof bo === 'undefined') {\n continue\n }\n return 1\n }\n\n if (ao === bo) {\n continue\n }\n\n return ao > bo ? 1 : -1\n }\n\n return ai - bi\n })\n .map(([d]) => d)\n}\n"],"names":["isServer","window","getStatusColor","match","theme","isFetching","active","status","danger","success","gray","styled","type","newStyles","queries","React","forwardRef","ref","style","rest","_objectWithoutPropertiesLoose","useTheme","mediaStyles","Object","entries","reduce","current","key","value","useMediaQuery","createElement","useIsMounted","mountedRef","useRef","isMounted","useCallback","displayValue","name","getOwnPropertyNames","newValue","toString","JSON","stringify","useSafeState","initialState","state","setState","useState","safeSetState","scheduleMicrotask","callback","Promise","resolve","then","catch","error","setTimeout","multiSortBy","arr","accessors","d","map","i","sort","a","ai","b","bi","accessor","ao","bo"],"mappings":"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"}
|