@tanstack/react-query-devtools 4.0.5 → 4.0.6
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-query-devtools/src/devtools.js +3 -16
- package/build/cjs/packages/react-query-devtools/src/devtools.js.map +1 -1
- package/build/cjs/packages/react-query-devtools/src/index.js +8 -4
- package/build/cjs/packages/react-query-devtools/src/index.js.map +1 -1
- package/build/cjs/packages/react-query-devtools/src/utils.js +13 -0
- package/build/cjs/packages/react-query-devtools/src/utils.js.map +1 -1
- package/build/esm/index.js +23 -16
- package/build/esm/index.js.map +1 -1
- package/build/esm/noop.js +7 -0
- package/build/stats-html.html +1 -1
- package/build/stats.json +156 -281
- package/build/types/react-query-devtools/src/__tests__/utils.d.ts +1 -1
- package/build/types/react-query-devtools/src/devtools.d.ts +2 -3
- package/build/types/react-query-devtools/src/index.d.ts +3 -1
- package/build/types/react-query-devtools/src/utils.d.ts +1 -0
- package/build/umd/index.development.js +18 -16
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -18
- package/build/umd/index.production.js.map +1 -1
- package/package.json +7 -1
- package/src/__tests__/devtools.test.tsx +1 -1
- package/src/__tests__/utils.tsx +1 -1
- package/src/devtools.tsx +2 -24
- package/src/index.ts +15 -1
- package/src/utils.ts +21 -0
|
@@ -284,18 +284,6 @@ function ReactQueryDevtools({
|
|
|
284
284
|
})) : null);
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
const getStatusRank = q => q.state.fetchStatus !== 'idle' ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;
|
|
288
|
-
|
|
289
|
-
const sortFns = {
|
|
290
|
-
'Status > Last Updated': (a, b) => {
|
|
291
|
-
var _sortFns$LastUpdated;
|
|
292
|
-
|
|
293
|
-
return getStatusRank(a) === getStatusRank(b) ? (_sortFns$LastUpdated = sortFns['Last Updated']) == null ? void 0 : _sortFns$LastUpdated.call(sortFns, a, b) : getStatusRank(a) > getStatusRank(b) ? 1 : -1;
|
|
294
|
-
},
|
|
295
|
-
'Query Hash': (a, b) => a.queryHash > b.queryHash ? 1 : -1,
|
|
296
|
-
'Last Updated': (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1
|
|
297
|
-
};
|
|
298
|
-
|
|
299
287
|
const useSubscribeToQueryCache = (queryCache, getSnapshot) => {
|
|
300
288
|
return shim.useSyncExternalStore(React__namespace.useCallback(onStoreChange => queryCache.subscribe(reactQuery.notifyManager.batchCalls(onStoreChange)), [queryCache]), getSnapshot, getSnapshot);
|
|
301
289
|
};
|
|
@@ -313,10 +301,10 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
|
|
|
313
301
|
context
|
|
314
302
|
});
|
|
315
303
|
const queryCache = queryClient.getQueryCache();
|
|
316
|
-
const [sort, setSort] = useLocalStorage["default"]('reactQueryDevtoolsSortFn', Object.keys(sortFns)[0]);
|
|
304
|
+
const [sort, setSort] = useLocalStorage["default"]('reactQueryDevtoolsSortFn', Object.keys(utils.sortFns)[0]);
|
|
317
305
|
const [filter, setFilter] = useLocalStorage["default"]('reactQueryDevtoolsFilter', '');
|
|
318
306
|
const [sortDesc, setSortDesc] = useLocalStorage["default"]('reactQueryDevtoolsSortDesc', false);
|
|
319
|
-
const sortFn = React__namespace.useMemo(() => sortFns[sort], [sort]);
|
|
307
|
+
const sortFn = React__namespace.useMemo(() => utils.sortFns[sort], [sort]);
|
|
320
308
|
const queriesCount = useSubscribeToQueryCache(queryCache, () => queryCache.getAll().length);
|
|
321
309
|
const [activeQueryHash, setActiveQueryHash] = useLocalStorage["default"]('reactQueryDevtoolsActiveQueryHash', '');
|
|
322
310
|
const queries = React__namespace.useMemo(() => {
|
|
@@ -430,7 +418,7 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
|
|
|
430
418
|
minWidth: 75,
|
|
431
419
|
marginRight: '.5em'
|
|
432
420
|
}
|
|
433
|
-
}, Object.keys(sortFns).map(key => /*#__PURE__*/React__namespace.createElement("option", {
|
|
421
|
+
}, Object.keys(utils.sortFns).map(key => /*#__PURE__*/React__namespace.createElement("option", {
|
|
434
422
|
key: key,
|
|
435
423
|
value: key
|
|
436
424
|
}, "Sort by ", key))), /*#__PURE__*/React__namespace.createElement(styledComponents.Button, {
|
|
@@ -814,5 +802,4 @@ function noop() {}
|
|
|
814
802
|
|
|
815
803
|
exports.ReactQueryDevtools = ReactQueryDevtools;
|
|
816
804
|
exports.ReactQueryDevtoolsPanel = ReactQueryDevtoolsPanel;
|
|
817
|
-
exports.sortFns = sortFns;
|
|
818
805
|
//# sourceMappingURL=devtools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sources":["../../../../../src/devtools.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport {\n Query,\n useQueryClient,\n onlineManager,\n notifyManager,\n QueryCache,\n QueryClient,\n QueryKey as QueryKeyType,\n ContextOptions,\n} from '@tanstack/react-query'\nimport { rankItem, compareItems } from '@tanstack/match-sorter-utils'\nimport useLocalStorage from './useLocalStorage'\nimport { useIsMounted } from './utils'\n\nimport {\n Panel,\n QueryKeys,\n QueryKey,\n Button,\n Code,\n Input,\n Select,\n ActiveQueryPanel,\n} from './styledComponents'\nimport { ThemeProvider, defaultTheme as theme } from './theme'\nimport { getQueryStatusLabel, getQueryStatusColor } from './utils'\nimport Explorer from './Explorer'\nimport Logo from './Logo'\n\ninterface DevtoolsOptions extends ContextOptions {\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 React Query 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 'aside'.\n */\n containerElement?: string | any\n /**\n * nonce for style element for CSP\n */\n styleNonce?: string\n}\n\ninterface DevtoolsPanelOptions extends ContextOptions {\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 * nonce for style element for CSP\n */\n styleNonce?: string\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\nconst isServer = typeof window === 'undefined'\n\nexport function ReactQueryDevtools({\n initialIsOpen,\n panelProps = {},\n closeButtonProps = {},\n toggleButtonProps = {},\n position = 'bottom-left',\n containerElement: Container = 'aside',\n context,\n styleNonce,\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 'reactQueryDevtoolsOpen',\n initialIsOpen,\n )\n const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage<number | null>(\n 'reactQueryDevtoolsHeight',\n null,\n )\n const [isResolvedOpen, setIsResolvedOpen] = React.useState(false)\n const [isResizing, setIsResizing] = React.useState(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 if (ref) {\n const handlePanelTransitionStart = () => {\n if (isResolvedOpen) {\n ref.style.visibility = 'visible'\n }\n }\n\n const handlePanelTransitionEnd = () => {\n if (!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 }, [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 }, [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\n ref={rootRef}\n className=\"ReactQueryDevtools\"\n aria-label=\"React Query Devtools\"\n >\n <ThemeProvider theme={theme}>\n <ReactQueryDevtoolsPanel\n ref={panelRef as any}\n context={context}\n styleNonce={styleNonce}\n {...otherPanelProps}\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-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"true\"\n {...(otherCloseButtonProps as Record<string, unknown>)}\n onClick={(e) => {\n setIsOpen(false)\n 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 React Query Devtools\"\n aria-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n onClick={(e) => {\n setIsOpen(true)\n onToggleClick?.(e)\n }}\n style={{\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\nconst getStatusRank = (q: Query) =>\n q.state.fetchStatus !== 'idle'\n ? 0\n : !q.getObserversCount()\n ? 3\n : q.isStale()\n ? 2\n : 1\n\nexport const sortFns: Record<string, (a: Query, b: Query) => number> = {\n 'Status > Last Updated': (a, b) =>\n getStatusRank(a) === getStatusRank(b)\n ? (sortFns['Last Updated']?.(a, b) as number)\n : getStatusRank(a) > getStatusRank(b)\n ? 1\n : -1,\n 'Query Hash': (a, b) => (a.queryHash > b.queryHash ? 1 : -1),\n 'Last Updated': (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1,\n}\n\nconst useSubscribeToQueryCache = <T,>(\n queryCache: QueryCache,\n getSnapshot: () => T,\n): T => {\n return useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n getSnapshot,\n getSnapshot,\n )\n}\n\nexport const ReactQueryDevtoolsPanel = React.forwardRef<\n HTMLDivElement,\n DevtoolsPanelOptions\n>(function ReactQueryDevtoolsPanel(props, ref): React.ReactElement {\n const {\n isOpen = true,\n styleNonce,\n setIsOpen,\n handleDragStart,\n context,\n ...panelProps\n } = props\n\n const queryClient = useQueryClient({ context })\n const queryCache = queryClient.getQueryCache()\n\n const [sort, setSort] = useLocalStorage(\n 'reactQueryDevtoolsSortFn',\n Object.keys(sortFns)[0],\n )\n\n const [filter, setFilter] = useLocalStorage('reactQueryDevtoolsFilter', '')\n\n const [sortDesc, setSortDesc] = useLocalStorage(\n 'reactQueryDevtoolsSortDesc',\n false,\n )\n\n const sortFn = React.useMemo(() => sortFns[sort as string], [sort])\n\n const queriesCount = useSubscribeToQueryCache(\n queryCache,\n () => queryCache.getAll().length,\n )\n\n const [activeQueryHash, setActiveQueryHash] = useLocalStorage(\n 'reactQueryDevtoolsActiveQueryHash',\n '',\n )\n\n const queries = React.useMemo(() => {\n const unsortedQueries = queryCache.getAll()\n const sorted = queriesCount > 0 ? [...unsortedQueries].sort(sortFn) : []\n\n if (sortDesc) {\n sorted.reverse()\n }\n\n if (!filter) {\n return sorted\n }\n\n let ranked = sorted.map(\n (item) => [item, rankItem(item.queryHash, filter)] as const,\n )\n\n ranked = ranked.filter((d) => d[1].passed)\n\n ranked = ranked.sort((a, b) => compareItems(a[1], b[1]))\n\n return ranked.map((d) => d[0])\n }, [sortDesc, sortFn, filter, queriesCount, queryCache])\n\n const [isMockOffline, setMockOffline] = React.useState(false)\n\n return (\n <ThemeProvider theme={theme}>\n <Panel\n ref={ref}\n className=\"ReactQueryDevtoolsPanel\"\n aria-label=\"React Query Devtools Panel\"\n id=\"ReactQueryDevtoolsPanel\"\n {...panelProps}\n >\n <style\n nonce={styleNonce}\n dangerouslySetInnerHTML={{\n __html: `\n .ReactQueryDevtoolsPanel * {\n scrollbar-color: ${theme.backgroundAlt} ${theme.gray};\n }\n\n .ReactQueryDevtoolsPanel *::-webkit-scrollbar, .ReactQueryDevtoolsPanel scrollbar {\n width: 1em;\n height: 1em;\n }\n\n .ReactQueryDevtoolsPanel *::-webkit-scrollbar-track, .ReactQueryDevtoolsPanel scrollbar-track {\n background: ${theme.backgroundAlt};\n }\n\n .ReactQueryDevtoolsPanel *::-webkit-scrollbar-thumb, .ReactQueryDevtoolsPanel scrollbar-thumb {\n background: ${theme.gray};\n border-radius: .5em;\n border: 3px solid ${theme.backgroundAlt};\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: isOpen ? 'flex' : 'none',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <button\n type=\"button\"\n aria-label=\"Close React Query Devtools\"\n aria-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"true\"\n onClick={() => setIsOpen(false)}\n style={{\n display: 'inline-flex',\n background: 'none',\n border: 0,\n padding: 0,\n marginRight: '.5em',\n cursor: 'pointer',\n }}\n >\n <Logo aria-hidden />\n </button>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <QueryStatusCount queryCache={queryCache} />\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <Input\n placeholder=\"Filter\"\n aria-label=\"Filter by queryhash\"\n value={filter ?? ''}\n onChange={(e) => setFilter(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') setFilter('')\n }}\n style={{\n flex: '1',\n marginRight: '.5em',\n width: '100%',\n }}\n />\n {!filter ? (\n <>\n <Select\n aria-label=\"Sort queries\"\n value={sort}\n onChange={(e) => setSort(e.target.value)}\n style={{\n flex: '1',\n minWidth: 75,\n marginRight: '.5em',\n }}\n >\n {Object.keys(sortFns).map((key) => (\n <option key={key} value={key}>\n Sort by {key}\n </option>\n ))}\n </Select>\n <Button\n type=\"button\"\n onClick={() => setSortDesc((old) => !old)}\n style={{\n padding: '.3em .4em',\n marginRight: '.5em',\n }}\n >\n {sortDesc ? '⬇ Desc' : '⬆ Asc'}\n </Button>\n <Button\n type=\"button\"\n onClick={() => {\n if (isMockOffline) {\n onlineManager.setOnline(undefined)\n setMockOffline(false)\n window.dispatchEvent(new Event('online'))\n } else {\n onlineManager.setOnline(false)\n setMockOffline(true)\n }\n }}\n aria-label={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n title={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n style={{\n padding: '0',\n height: '2em',\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"2em\"\n height=\"2em\"\n viewBox=\"0 0 24 24\"\n stroke={isMockOffline ? theme.danger : 'currentColor'}\n fill=\"none\"\n >\n {isMockOffline ? (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n <path d=\"M9.172 15.172a4 4 0 0 1 5.656 0\" />\n <path d=\"M6.343 12.343a7.963 7.963 0 0 1 3.864 -2.14m4.163 .155a7.965 7.965 0 0 1 3.287 2\" />\n <path d=\"M3.515 9.515a12 12 0 0 1 3.544 -2.455m3.101 -.92a12 12 0 0 1 10.325 3.374\" />\n <line x1=\"3\" y1=\"3\" x2=\"21\" y2=\"21\" />\n </>\n ) : (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n <path d=\"M9.172 15.172a4 4 0 0 1 5.656 0\" />\n <path d=\"M6.343 12.343a8 8 0 0 1 11.314 0\" />\n <path d=\"M3.515 9.515c4.686 -4.687 12.284 -4.687 17 0\" />\n </>\n )}\n </svg>\n </Button>\n </>\n ) : null}\n </div>\n </div>\n </div>\n <div\n style={{\n overflowY: 'auto',\n flex: '1',\n }}\n >\n {queries.map((query) => {\n return (\n <QueryRow\n queryKey={query.queryKey}\n activeQueryHash={activeQueryHash}\n setActiveQueryHash={setActiveQueryHash}\n key={query.queryHash}\n queryCache={queryCache}\n />\n )\n })}\n </div>\n </div>\n\n {activeQueryHash ? (\n <ActiveQuery\n activeQueryHash={activeQueryHash}\n queryCache={queryCache}\n queryClient={queryClient}\n />\n ) : null}\n </Panel>\n </ThemeProvider>\n )\n})\n\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'stretch',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {JSON.stringify(activeQuery.queryKey, null, 2)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 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={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nconst QueryStatusCount = ({ queryCache }: { queryCache: QueryCache }) => {\n const hasFresh = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'fresh')\n .length,\n )\n const hasFetching = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'fetching')\n .length,\n )\n const hasPaused = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'paused')\n .length,\n )\n const hasStale = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'stale')\n .length,\n )\n const hasInactive = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'inactive')\n .length,\n )\n return (\n <QueryKeys style={{ marginBottom: '.5em' }}>\n <QueryKey\n style={{\n background: theme.success,\n opacity: hasFresh ? 1 : 0.3,\n }}\n >\n fresh <Code>({hasFresh})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.active,\n opacity: hasFetching ? 1 : 0.3,\n }}\n >\n fetching <Code>({hasFetching})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.paused,\n opacity: hasPaused ? 1 : 0.3,\n }}\n >\n paused <Code>({hasPaused})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.warning,\n color: 'black',\n textShadow: '0',\n opacity: hasStale ? 1 : 0.3,\n }}\n >\n stale <Code>({hasStale})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.gray,\n opacity: hasInactive ? 1 : 0.3,\n }}\n >\n inactive <Code>({hasInactive})</Code>\n </QueryKey>\n </QueryKeys>\n )\n}\n\ninterface QueryRowProps {\n queryKey: QueryKeyType\n setActiveQueryHash: (hash: string) => void\n activeQueryHash?: string\n queryCache: QueryCache\n}\n\nconst QueryRow = ({\n queryKey,\n setActiveQueryHash,\n activeQueryHash,\n queryCache,\n}: QueryRowProps) => {\n const queryHash =\n useSubscribeToQueryCache(\n queryCache,\n () => queryCache.find(queryKey)?.queryHash,\n ) ?? ''\n\n const queryState = useSubscribeToQueryCache(\n queryCache,\n () => queryCache.find(queryKey)?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache.find(queryKey)?.isStale(),\n ) ?? false\n\n const isDisabled =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache.find(queryKey)?.isDisabled(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache.find(queryKey)?.getObserversCount(),\n ) ?? 0\n\n if (!queryState) {\n return null\n }\n\n return (\n <div\n role=\"button\"\n aria-label={`Open query details for ${queryHash}`}\n onClick={() =>\n setActiveQueryHash(activeQueryHash === queryHash ? '' : queryHash)\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n background:\n queryHash === activeQueryHash ? 'rgba(255,255,255,.1)' : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '2em',\n height: '2em',\n background: getQueryStatusColor({\n queryState,\n isStale,\n observerCount,\n theme,\n }),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n textShadow: isStale ? '0' : '0 0 10px black',\n color: isStale ? 'black' : 'white',\n }}\n >\n {observerCount}\n </div>\n {isDisabled ? (\n <div\n style={{\n flex: '0 0 auto',\n height: '2em',\n background: theme.gray,\n display: 'flex',\n alignItems: 'center',\n fontWeight: 'bold',\n padding: '0 0.5em',\n }}\n >\n disabled\n </div>\n ) : null}\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${queryHash}`}\n </Code>\n </div>\n )\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["isServer","window","ReactQueryDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","context","styleNonce","rootRef","React","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","isResolvedOpen","setIsResolvedOpen","useState","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","style","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","background","border","padding","display","fontSize","cursor","top","Logo","getStatusRank","q","state","fetchStatus","getObserversCount","isStale","sortFns","a","b","queryHash","dataUpdatedAt","useSubscribeToQueryCache","queryCache","getSnapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","ReactQueryDevtoolsPanel","forwardRef","props","queryClient","useQueryClient","getQueryCache","sort","setSort","Object","keys","filter","setFilter","sortDesc","setSortDesc","sortFn","useMemo","queriesCount","getAll","length","activeQueryHash","setActiveQueryHash","queries","unsortedQueries","sorted","reverse","ranked","map","item","rankItem","d","passed","compareItems","isMockOffline","setMockOffline","Panel","__html","backgroundAlt","marginBottom","flex","minHeight","overflow","borderRight","grayAlt","flexDirection","justifyContent","alignItems","marginRight","Input","target","value","key","Select","minWidth","old","onlineManager","setOnline","undefined","dispatchEvent","Event","danger","overflowY","query","queryKey","ActiveQuery","activeQuery","find","activeQueryState","observerCount","handleRefetch","promise","fetch","catch","noop","ActiveQueryPanel","Code","lineHeight","JSON","stringify","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","toLocaleTimeString","active","invalidateQueries","warning","color","inputTextColor","resetQueries","removeQueries","Explorer","data","QueryStatusCount","hasFresh","hasFetching","hasPaused","hasStale","hasInactive","QueryKeys","QueryKey","success","paused","QueryRow","isDisabled","borderBottom"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"devtools.js","sources":["../../../../../src/devtools.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useSyncExternalStore } from 'use-sync-external-store/shim'\nimport {\n useQueryClient,\n onlineManager,\n notifyManager,\n QueryCache,\n QueryClient,\n QueryKey as QueryKeyType,\n ContextOptions,\n} from '@tanstack/react-query'\nimport { rankItem, compareItems } from '@tanstack/match-sorter-utils'\nimport useLocalStorage from './useLocalStorage'\nimport { sortFns, useIsMounted } from './utils'\n\nimport {\n Panel,\n QueryKeys,\n QueryKey,\n Button,\n Code,\n Input,\n Select,\n ActiveQueryPanel,\n} from './styledComponents'\nimport { ThemeProvider, defaultTheme as theme } from './theme'\nimport { getQueryStatusLabel, getQueryStatusColor } from './utils'\nimport Explorer from './Explorer'\nimport Logo from './Logo'\n\nexport interface DevtoolsOptions extends ContextOptions {\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 React Query 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 'aside'.\n */\n containerElement?: string | any\n /**\n * nonce for style element for CSP\n */\n styleNonce?: string\n}\n\ninterface DevtoolsPanelOptions extends ContextOptions {\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 * nonce for style element for CSP\n */\n styleNonce?: string\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\nconst isServer = typeof window === 'undefined'\n\nexport function ReactQueryDevtools({\n initialIsOpen,\n panelProps = {},\n closeButtonProps = {},\n toggleButtonProps = {},\n position = 'bottom-left',\n containerElement: Container = 'aside',\n context,\n styleNonce,\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 'reactQueryDevtoolsOpen',\n initialIsOpen,\n )\n const [devtoolsHeight, setDevtoolsHeight] = useLocalStorage<number | null>(\n 'reactQueryDevtoolsHeight',\n null,\n )\n const [isResolvedOpen, setIsResolvedOpen] = React.useState(false)\n const [isResizing, setIsResizing] = React.useState(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 if (ref) {\n const handlePanelTransitionStart = () => {\n if (isResolvedOpen) {\n ref.style.visibility = 'visible'\n }\n }\n\n const handlePanelTransitionEnd = () => {\n if (!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 }, [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 }, [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\n ref={rootRef}\n className=\"ReactQueryDevtools\"\n aria-label=\"React Query Devtools\"\n >\n <ThemeProvider theme={theme}>\n <ReactQueryDevtoolsPanel\n ref={panelRef as any}\n context={context}\n styleNonce={styleNonce}\n {...otherPanelProps}\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-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"true\"\n {...(otherCloseButtonProps as Record<string, unknown>)}\n onClick={(e) => {\n setIsOpen(false)\n 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 React Query Devtools\"\n aria-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n onClick={(e) => {\n setIsOpen(true)\n onToggleClick?.(e)\n }}\n style={{\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\nconst useSubscribeToQueryCache = <T,>(\n queryCache: QueryCache,\n getSnapshot: () => T,\n): T => {\n return useSyncExternalStore(\n React.useCallback(\n (onStoreChange) =>\n queryCache.subscribe(notifyManager.batchCalls(onStoreChange)),\n [queryCache],\n ),\n getSnapshot,\n getSnapshot,\n )\n}\n\nexport const ReactQueryDevtoolsPanel = React.forwardRef<\n HTMLDivElement,\n DevtoolsPanelOptions\n>(function ReactQueryDevtoolsPanel(props, ref): React.ReactElement {\n const {\n isOpen = true,\n styleNonce,\n setIsOpen,\n handleDragStart,\n context,\n ...panelProps\n } = props\n\n const queryClient = useQueryClient({ context })\n const queryCache = queryClient.getQueryCache()\n\n const [sort, setSort] = useLocalStorage(\n 'reactQueryDevtoolsSortFn',\n Object.keys(sortFns)[0],\n )\n\n const [filter, setFilter] = useLocalStorage('reactQueryDevtoolsFilter', '')\n\n const [sortDesc, setSortDesc] = useLocalStorage(\n 'reactQueryDevtoolsSortDesc',\n false,\n )\n\n const sortFn = React.useMemo(() => sortFns[sort as string], [sort])\n\n const queriesCount = useSubscribeToQueryCache(\n queryCache,\n () => queryCache.getAll().length,\n )\n\n const [activeQueryHash, setActiveQueryHash] = useLocalStorage(\n 'reactQueryDevtoolsActiveQueryHash',\n '',\n )\n\n const queries = React.useMemo(() => {\n const unsortedQueries = queryCache.getAll()\n const sorted = queriesCount > 0 ? [...unsortedQueries].sort(sortFn) : []\n\n if (sortDesc) {\n sorted.reverse()\n }\n\n if (!filter) {\n return sorted\n }\n\n let ranked = sorted.map(\n (item) => [item, rankItem(item.queryHash, filter)] as const,\n )\n\n ranked = ranked.filter((d) => d[1].passed)\n\n ranked = ranked.sort((a, b) => compareItems(a[1], b[1]))\n\n return ranked.map((d) => d[0])\n }, [sortDesc, sortFn, filter, queriesCount, queryCache])\n\n const [isMockOffline, setMockOffline] = React.useState(false)\n\n return (\n <ThemeProvider theme={theme}>\n <Panel\n ref={ref}\n className=\"ReactQueryDevtoolsPanel\"\n aria-label=\"React Query Devtools Panel\"\n id=\"ReactQueryDevtoolsPanel\"\n {...panelProps}\n >\n <style\n nonce={styleNonce}\n dangerouslySetInnerHTML={{\n __html: `\n .ReactQueryDevtoolsPanel * {\n scrollbar-color: ${theme.backgroundAlt} ${theme.gray};\n }\n\n .ReactQueryDevtoolsPanel *::-webkit-scrollbar, .ReactQueryDevtoolsPanel scrollbar {\n width: 1em;\n height: 1em;\n }\n\n .ReactQueryDevtoolsPanel *::-webkit-scrollbar-track, .ReactQueryDevtoolsPanel scrollbar-track {\n background: ${theme.backgroundAlt};\n }\n\n .ReactQueryDevtoolsPanel *::-webkit-scrollbar-thumb, .ReactQueryDevtoolsPanel scrollbar-thumb {\n background: ${theme.gray};\n border-radius: .5em;\n border: 3px solid ${theme.backgroundAlt};\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: isOpen ? 'flex' : 'none',\n flexDirection: 'column',\n }}\n >\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <button\n type=\"button\"\n aria-label=\"Close React Query Devtools\"\n aria-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"true\"\n onClick={() => setIsOpen(false)}\n style={{\n display: 'inline-flex',\n background: 'none',\n border: 0,\n padding: 0,\n marginRight: '.5em',\n cursor: 'pointer',\n }}\n >\n <Logo aria-hidden />\n </button>\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <QueryStatusCount queryCache={queryCache} />\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <Input\n placeholder=\"Filter\"\n aria-label=\"Filter by queryhash\"\n value={filter ?? ''}\n onChange={(e) => setFilter(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') setFilter('')\n }}\n style={{\n flex: '1',\n marginRight: '.5em',\n width: '100%',\n }}\n />\n {!filter ? (\n <>\n <Select\n aria-label=\"Sort queries\"\n value={sort}\n onChange={(e) => setSort(e.target.value)}\n style={{\n flex: '1',\n minWidth: 75,\n marginRight: '.5em',\n }}\n >\n {Object.keys(sortFns).map((key) => (\n <option key={key} value={key}>\n Sort by {key}\n </option>\n ))}\n </Select>\n <Button\n type=\"button\"\n onClick={() => setSortDesc((old) => !old)}\n style={{\n padding: '.3em .4em',\n marginRight: '.5em',\n }}\n >\n {sortDesc ? '⬇ Desc' : '⬆ Asc'}\n </Button>\n <Button\n type=\"button\"\n onClick={() => {\n if (isMockOffline) {\n onlineManager.setOnline(undefined)\n setMockOffline(false)\n window.dispatchEvent(new Event('online'))\n } else {\n onlineManager.setOnline(false)\n setMockOffline(true)\n }\n }}\n aria-label={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n title={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n style={{\n padding: '0',\n height: '2em',\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"2em\"\n height=\"2em\"\n viewBox=\"0 0 24 24\"\n stroke={isMockOffline ? theme.danger : 'currentColor'}\n fill=\"none\"\n >\n {isMockOffline ? (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n <path d=\"M9.172 15.172a4 4 0 0 1 5.656 0\" />\n <path d=\"M6.343 12.343a7.963 7.963 0 0 1 3.864 -2.14m4.163 .155a7.965 7.965 0 0 1 3.287 2\" />\n <path d=\"M3.515 9.515a12 12 0 0 1 3.544 -2.455m3.101 -.92a12 12 0 0 1 10.325 3.374\" />\n <line x1=\"3\" y1=\"3\" x2=\"21\" y2=\"21\" />\n </>\n ) : (\n <>\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n <path d=\"M9.172 15.172a4 4 0 0 1 5.656 0\" />\n <path d=\"M6.343 12.343a8 8 0 0 1 11.314 0\" />\n <path d=\"M3.515 9.515c4.686 -4.687 12.284 -4.687 17 0\" />\n </>\n )}\n </svg>\n </Button>\n </>\n ) : null}\n </div>\n </div>\n </div>\n <div\n style={{\n overflowY: 'auto',\n flex: '1',\n }}\n >\n {queries.map((query) => {\n return (\n <QueryRow\n queryKey={query.queryKey}\n activeQueryHash={activeQueryHash}\n setActiveQueryHash={setActiveQueryHash}\n key={query.queryHash}\n queryCache={queryCache}\n />\n )\n })}\n </div>\n </div>\n\n {activeQueryHash ? (\n <ActiveQuery\n activeQueryHash={activeQueryHash}\n queryCache={queryCache}\n queryClient={queryClient}\n />\n ) : null}\n </Panel>\n </ThemeProvider>\n )\n})\n\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'stretch',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {JSON.stringify(activeQuery.queryKey, null, 2)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 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={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nconst QueryStatusCount = ({ queryCache }: { queryCache: QueryCache }) => {\n const hasFresh = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'fresh')\n .length,\n )\n const hasFetching = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'fetching')\n .length,\n )\n const hasPaused = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'paused')\n .length,\n )\n const hasStale = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'stale')\n .length,\n )\n const hasInactive = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().filter((q) => getQueryStatusLabel(q) === 'inactive')\n .length,\n )\n return (\n <QueryKeys style={{ marginBottom: '.5em' }}>\n <QueryKey\n style={{\n background: theme.success,\n opacity: hasFresh ? 1 : 0.3,\n }}\n >\n fresh <Code>({hasFresh})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.active,\n opacity: hasFetching ? 1 : 0.3,\n }}\n >\n fetching <Code>({hasFetching})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.paused,\n opacity: hasPaused ? 1 : 0.3,\n }}\n >\n paused <Code>({hasPaused})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.warning,\n color: 'black',\n textShadow: '0',\n opacity: hasStale ? 1 : 0.3,\n }}\n >\n stale <Code>({hasStale})</Code>\n </QueryKey>{' '}\n <QueryKey\n style={{\n background: theme.gray,\n opacity: hasInactive ? 1 : 0.3,\n }}\n >\n inactive <Code>({hasInactive})</Code>\n </QueryKey>\n </QueryKeys>\n )\n}\n\ninterface QueryRowProps {\n queryKey: QueryKeyType\n setActiveQueryHash: (hash: string) => void\n activeQueryHash?: string\n queryCache: QueryCache\n}\n\nconst QueryRow = ({\n queryKey,\n setActiveQueryHash,\n activeQueryHash,\n queryCache,\n}: QueryRowProps) => {\n const queryHash =\n useSubscribeToQueryCache(\n queryCache,\n () => queryCache.find(queryKey)?.queryHash,\n ) ?? ''\n\n const queryState = useSubscribeToQueryCache(\n queryCache,\n () => queryCache.find(queryKey)?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache.find(queryKey)?.isStale(),\n ) ?? false\n\n const isDisabled =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache.find(queryKey)?.isDisabled(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache.find(queryKey)?.getObserversCount(),\n ) ?? 0\n\n if (!queryState) {\n return null\n }\n\n return (\n <div\n role=\"button\"\n aria-label={`Open query details for ${queryHash}`}\n onClick={() =>\n setActiveQueryHash(activeQueryHash === queryHash ? '' : queryHash)\n }\n style={{\n display: 'flex',\n borderBottom: `solid 1px ${theme.grayAlt}`,\n cursor: 'pointer',\n background:\n queryHash === activeQueryHash ? 'rgba(255,255,255,.1)' : undefined,\n }}\n >\n <div\n style={{\n flex: '0 0 auto',\n width: '2em',\n height: '2em',\n background: getQueryStatusColor({\n queryState,\n isStale,\n observerCount,\n theme,\n }),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontWeight: 'bold',\n textShadow: isStale ? '0' : '0 0 10px black',\n color: isStale ? 'black' : 'white',\n }}\n >\n {observerCount}\n </div>\n {isDisabled ? (\n <div\n style={{\n flex: '0 0 auto',\n height: '2em',\n background: theme.gray,\n display: 'flex',\n alignItems: 'center',\n fontWeight: 'bold',\n padding: '0 0.5em',\n }}\n >\n disabled\n </div>\n ) : null}\n <Code\n style={{\n padding: '.5em',\n }}\n >\n {`${queryHash}`}\n </Code>\n </div>\n )\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["isServer","window","ReactQueryDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","context","styleNonce","rootRef","React","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","isResolvedOpen","setIsResolvedOpen","useState","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","style","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","background","border","padding","display","fontSize","cursor","top","Logo","useSubscribeToQueryCache","queryCache","getSnapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","ReactQueryDevtoolsPanel","forwardRef","props","queryClient","useQueryClient","getQueryCache","sort","setSort","Object","keys","sortFns","filter","setFilter","sortDesc","setSortDesc","sortFn","useMemo","queriesCount","getAll","length","activeQueryHash","setActiveQueryHash","queries","unsortedQueries","sorted","reverse","ranked","map","item","rankItem","queryHash","d","passed","a","b","compareItems","isMockOffline","setMockOffline","Panel","__html","backgroundAlt","marginBottom","flex","minHeight","overflow","borderRight","grayAlt","flexDirection","justifyContent","alignItems","marginRight","Input","target","value","key","Select","minWidth","old","onlineManager","setOnline","undefined","dispatchEvent","Event","danger","overflowY","query","queryKey","ActiveQuery","activeQuery","find","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","noop","ActiveQueryPanel","Code","lineHeight","JSON","stringify","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","removeQueries","Explorer","data","QueryStatusCount","hasFresh","q","hasFetching","hasPaused","hasStale","hasInactive","QueryKeys","QueryKey","success","paused","QueryRow","isDisabled","borderBottom"],"mappings":"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"}
|
|
@@ -14,9 +14,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
14
14
|
|
|
15
15
|
var devtools = require('./devtools.js');
|
|
16
16
|
|
|
17
|
+
const ReactQueryDevtools = process.env.NODE_ENV !== 'development' ? function () {
|
|
18
|
+
return null;
|
|
19
|
+
} : devtools.ReactQueryDevtools;
|
|
20
|
+
const ReactQueryDevtoolsPanel = process.env.NODE_ENV !== 'development' ? function () {
|
|
21
|
+
return null;
|
|
22
|
+
} : devtools.ReactQueryDevtoolsPanel;
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
exports.
|
|
20
|
-
exports.ReactQueryDevtoolsPanel = devtools.ReactQueryDevtoolsPanel;
|
|
21
|
-
exports.sortFns = devtools.sortFns;
|
|
24
|
+
exports.ReactQueryDevtools = ReactQueryDevtools;
|
|
25
|
+
exports.ReactQueryDevtoolsPanel = ReactQueryDevtoolsPanel;
|
|
22
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/index.ts"],"sourcesContent":["import * as devtools from './devtools'\n\nexport const ReactQueryDevtools: typeof devtools['ReactQueryDevtools'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : devtools.ReactQueryDevtools\n\nexport const ReactQueryDevtoolsPanel: typeof devtools['ReactQueryDevtoolsPanel'] =\n process.env.NODE_ENV !== 'development'\n ? (function () {\n return null\n } as any)\n : devtools.ReactQueryDevtoolsPanel\n"],"names":["ReactQueryDevtools","process","env","NODE_ENV","devtools","ReactQueryDevtoolsPanel"],"mappings":";;;;;;;;;;;;;;;;AAEO,MAAMA,kBAAyD,GACpEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,GACI,YAAY;AACV,EAAA,OAAO,IAAP,CAAA;AACD,CAHL,GAIIC,4BALC;AAOA,MAAMC,uBAAmE,GAC9EJ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,GACK,YAAY;AACX,EAAA,OAAO,IAAP,CAAA;AACD,CAHL,GAIIC;;;;;"}
|
|
@@ -91,10 +91,23 @@ const displayValue = value => {
|
|
|
91
91
|
return JSON.stringify(newValue, name);
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
+
const getStatusRank = q => q.state.fetchStatus !== 'idle' ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;
|
|
95
|
+
|
|
96
|
+
const sortFns = {
|
|
97
|
+
'Status > Last Updated': (a, b) => {
|
|
98
|
+
var _sortFns$LastUpdated;
|
|
99
|
+
|
|
100
|
+
return getStatusRank(a) === getStatusRank(b) ? (_sortFns$LastUpdated = sortFns['Last Updated']) == null ? void 0 : _sortFns$LastUpdated.call(sortFns, a, b) : getStatusRank(a) > getStatusRank(b) ? 1 : -1;
|
|
101
|
+
},
|
|
102
|
+
'Query Hash': (a, b) => a.queryHash > b.queryHash ? 1 : -1,
|
|
103
|
+
'Last Updated': (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1
|
|
104
|
+
};
|
|
105
|
+
|
|
94
106
|
exports.displayValue = displayValue;
|
|
95
107
|
exports.getQueryStatusColor = getQueryStatusColor;
|
|
96
108
|
exports.getQueryStatusLabel = getQueryStatusLabel;
|
|
97
109
|
exports.isServer = isServer;
|
|
110
|
+
exports.sortFns = sortFns;
|
|
98
111
|
exports.styled = styled;
|
|
99
112
|
exports.useIsMounted = useIsMounted;
|
|
100
113
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/utils.ts"],"sourcesContent":["import * as React from 'react'\nimport type { Query } from '@tanstack/react-query'\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 getQueryStatusColor({\n queryState,\n observerCount,\n isStale,\n theme,\n}: {\n queryState: Query['state']\n observerCount: number\n isStale: boolean\n theme: Theme\n}) {\n return queryState.fetchStatus === 'fetching'\n ? theme.active\n : !observerCount\n ? theme.gray\n : queryState.fetchStatus === 'paused'\n ? theme.paused\n : isStale\n ? theme.warning\n : theme.success\n}\n\nexport function getQueryStatusLabel(query: Query) {\n return query.state.fetchStatus === 'fetching'\n ? 'fetching'\n : !query.getObserversCount()\n ? 'inactive'\n : query.state.fetchStatus === 'paused'\n ? 'paused'\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"],"names":["isServer","window","getQueryStatusColor","queryState","observerCount","isStale","theme","fetchStatus","active","gray","paused","warning","success","getQueryStatusLabel","query","state","getObserversCount","styled","type","newStyles","queries","React","forwardRef","style","rest","ref","useTheme","mediaStyles","Object","entries","reduce","current","key","value","useMediaQuery","createElement","useIsMounted","mountedRef","useRef","isMounted","useCallback","displayValue","name","getOwnPropertyNames","newValue","toString","JSON","stringify"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/utils.ts"],"sourcesContent":["import * as React from 'react'\nimport type { Query } from '@tanstack/react-query'\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 getQueryStatusColor({\n queryState,\n observerCount,\n isStale,\n theme,\n}: {\n queryState: Query['state']\n observerCount: number\n isStale: boolean\n theme: Theme\n}) {\n return queryState.fetchStatus === 'fetching'\n ? theme.active\n : !observerCount\n ? theme.gray\n : queryState.fetchStatus === 'paused'\n ? theme.paused\n : isStale\n ? theme.warning\n : theme.success\n}\n\nexport function getQueryStatusLabel(query: Query) {\n return query.state.fetchStatus === 'fetching'\n ? 'fetching'\n : !query.getObserversCount()\n ? 'inactive'\n : query.state.fetchStatus === 'paused'\n ? 'paused'\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\nconst getStatusRank = (q: Query) =>\n q.state.fetchStatus !== 'idle'\n ? 0\n : !q.getObserversCount()\n ? 3\n : q.isStale()\n ? 2\n : 1\n\nexport const sortFns: Record<string, (a: Query, b: Query) => number> = {\n 'Status > Last Updated': (a, b) =>\n getStatusRank(a) === getStatusRank(b)\n ? (sortFns['Last Updated']?.(a, b) as number)\n : getStatusRank(a) > getStatusRank(b)\n ? 1\n : -1,\n 'Query Hash': (a, b) => (a.queryHash > b.queryHash ? 1 : -1),\n 'Last Updated': (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1,\n}\n"],"names":["isServer","window","getQueryStatusColor","queryState","observerCount","isStale","theme","fetchStatus","active","gray","paused","warning","success","getQueryStatusLabel","query","state","getObserversCount","styled","type","newStyles","queries","React","forwardRef","style","rest","ref","useTheme","mediaStyles","Object","entries","reduce","current","key","value","useMediaQuery","createElement","useIsMounted","mountedRef","useRef","isMounted","useCallback","displayValue","name","getOwnPropertyNames","newValue","toString","JSON","stringify","getStatusRank","q","sortFns","a","b","queryHash","dataUpdatedAt"],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -921,6 +921,18 @@ const displayValue = value => {
|
|
|
921
921
|
return JSON.stringify(newValue, name);
|
|
922
922
|
};
|
|
923
923
|
|
|
924
|
+
const getStatusRank = q => q.state.fetchStatus !== 'idle' ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;
|
|
925
|
+
|
|
926
|
+
const sortFns = {
|
|
927
|
+
'Status > Last Updated': (a, b) => {
|
|
928
|
+
var _sortFns$LastUpdated;
|
|
929
|
+
|
|
930
|
+
return getStatusRank(a) === getStatusRank(b) ? (_sortFns$LastUpdated = sortFns['Last Updated']) == null ? void 0 : _sortFns$LastUpdated.call(sortFns, a, b) : getStatusRank(a) > getStatusRank(b) ? 1 : -1;
|
|
931
|
+
},
|
|
932
|
+
'Query Hash': (a, b) => a.queryHash > b.queryHash ? 1 : -1,
|
|
933
|
+
'Last Updated': (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1
|
|
934
|
+
};
|
|
935
|
+
|
|
924
936
|
const Panel = styled('div', (_props, theme) => ({
|
|
925
937
|
fontSize: 'clamp(12px, 1.5vw, 14px)',
|
|
926
938
|
fontFamily: "sans-serif",
|
|
@@ -1202,7 +1214,7 @@ function Logo(props) {
|
|
|
1202
1214
|
}
|
|
1203
1215
|
|
|
1204
1216
|
const isServer = typeof window === 'undefined';
|
|
1205
|
-
function ReactQueryDevtools({
|
|
1217
|
+
function ReactQueryDevtools$1({
|
|
1206
1218
|
initialIsOpen,
|
|
1207
1219
|
panelProps = {},
|
|
1208
1220
|
closeButtonProps = {},
|
|
@@ -1336,7 +1348,7 @@ function ReactQueryDevtools({
|
|
|
1336
1348
|
"aria-label": "React Query Devtools"
|
|
1337
1349
|
}, /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
1338
1350
|
theme: defaultTheme
|
|
1339
|
-
}, /*#__PURE__*/React.createElement(ReactQueryDevtoolsPanel, _extends({
|
|
1351
|
+
}, /*#__PURE__*/React.createElement(ReactQueryDevtoolsPanel$1, _extends({
|
|
1340
1352
|
ref: panelRef,
|
|
1341
1353
|
context: context,
|
|
1342
1354
|
styleNonce: styleNonce
|
|
@@ -1441,23 +1453,11 @@ function ReactQueryDevtools({
|
|
|
1441
1453
|
})) : null);
|
|
1442
1454
|
}
|
|
1443
1455
|
|
|
1444
|
-
const getStatusRank = q => q.state.fetchStatus !== 'idle' ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;
|
|
1445
|
-
|
|
1446
|
-
const sortFns = {
|
|
1447
|
-
'Status > Last Updated': (a, b) => {
|
|
1448
|
-
var _sortFns$LastUpdated;
|
|
1449
|
-
|
|
1450
|
-
return getStatusRank(a) === getStatusRank(b) ? (_sortFns$LastUpdated = sortFns['Last Updated']) == null ? void 0 : _sortFns$LastUpdated.call(sortFns, a, b) : getStatusRank(a) > getStatusRank(b) ? 1 : -1;
|
|
1451
|
-
},
|
|
1452
|
-
'Query Hash': (a, b) => a.queryHash > b.queryHash ? 1 : -1,
|
|
1453
|
-
'Last Updated': (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1
|
|
1454
|
-
};
|
|
1455
|
-
|
|
1456
1456
|
const useSubscribeToQueryCache = (queryCache, getSnapshot) => {
|
|
1457
1457
|
return useSyncExternalStore(React.useCallback(onStoreChange => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)), [queryCache]), getSnapshot, getSnapshot);
|
|
1458
1458
|
};
|
|
1459
1459
|
|
|
1460
|
-
const ReactQueryDevtoolsPanel = /*#__PURE__*/React.forwardRef(function ReactQueryDevtoolsPanel(props, ref) {
|
|
1460
|
+
const ReactQueryDevtoolsPanel$1 = /*#__PURE__*/React.forwardRef(function ReactQueryDevtoolsPanel(props, ref) {
|
|
1461
1461
|
const {
|
|
1462
1462
|
isOpen = true,
|
|
1463
1463
|
styleNonce,
|
|
@@ -1969,5 +1969,12 @@ const QueryRow = ({
|
|
|
1969
1969
|
|
|
1970
1970
|
function noop() {}
|
|
1971
1971
|
|
|
1972
|
-
|
|
1972
|
+
const ReactQueryDevtools = process.env.NODE_ENV !== 'development' ? function () {
|
|
1973
|
+
return null;
|
|
1974
|
+
} : ReactQueryDevtools$1;
|
|
1975
|
+
const ReactQueryDevtoolsPanel = process.env.NODE_ENV !== 'development' ? function () {
|
|
1976
|
+
return null;
|
|
1977
|
+
} : ReactQueryDevtoolsPanel$1;
|
|
1978
|
+
|
|
1979
|
+
export { ReactQueryDevtools, ReactQueryDevtoolsPanel };
|
|
1973
1980
|
//# sourceMappingURL=index.js.map
|