@tanstack/react-query-devtools 4.10.0 → 4.10.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useSyncExternalStore } from './useSyncExternalStore'\nimport type {\n QueryCache,\n QueryClient,\n QueryKey as QueryKeyType,\n ContextOptions,\n} from '@tanstack/react-query'\nimport {\n useQueryClient,\n onlineManager,\n notifyManager,\n} from '@tanstack/react-query'\nimport { rankItem, compareItems } from '@tanstack/match-sorter-utils'\nimport useLocalStorage from './useLocalStorage'\nimport { sortFns, useIsMounted } from './utils'\nimport ScreenReader from './screenreader'\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\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.useEffect(() => {\n if (isResolvedOpen) {\n const root = rootRef.current\n const previousValue = root?.parentElement?.style.paddingBottom\n\n const run = () => {\n const containerHeight = panelRef.current?.getBoundingClientRect().height\n if (root?.parentElement) {\n root.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 (root?.parentElement && typeof previousValue === 'string') {\n root.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 <ScreenReader text=\"Open React Query Devtools\" />\n </button>\n ) : null}\n </Container>\n )\n}\n\nconst useSubscribeToQueryCache = <T,>(\n queryCache: QueryCache,\n getSnapshot: () => T,\n skip: boolean = false,\n): T => {\n return useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n if (!skip)\n return queryCache.subscribe(notifyManager.batchCalls(onStoreChange))\n return () => {\n return\n }\n },\n [queryCache, skip],\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 !isOpen,\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\n {isOpen && (\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 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 <ScreenReader text=\"Close React Query Devtools\" />\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\n stroke=\"none\"\n d=\"M0 0h24v24H0z\"\n fill=\"none\"\n />\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\n stroke=\"none\"\n d=\"M0 0h24v24H0z\"\n fill=\"none\"\n />\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 <ScreenReader\n text={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n />\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\n {activeQueryHash && isOpen ? (\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":["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","root","previousValue","parentElement","paddingBottom","containerHeight","window","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","ScreenReader","useSubscribeToQueryCache","queryCache","getSnapshot","skip","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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"}
1
+ {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useSyncExternalStore } from './useSyncExternalStore'\nimport type {\n QueryCache,\n QueryClient,\n QueryKey as QueryKeyType,\n ContextOptions,\n} from '@tanstack/react-query'\nimport {\n useQueryClient,\n onlineManager,\n notifyManager,\n} from '@tanstack/react-query'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport useLocalStorage from './useLocalStorage'\nimport { sortFns, useIsMounted } from './utils'\nimport ScreenReader from './screenreader'\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\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.useEffect(() => {\n if (isResolvedOpen) {\n const root = rootRef.current\n const previousValue = root?.parentElement?.style.paddingBottom\n\n const run = () => {\n const containerHeight = panelRef.current?.getBoundingClientRect().height\n if (root?.parentElement) {\n root.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 (root?.parentElement && typeof previousValue === 'string') {\n root.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 <ScreenReader text=\"Open React Query Devtools\" />\n </button>\n ) : null}\n </Container>\n )\n}\n\nconst useSubscribeToQueryCache = <T,>(\n queryCache: QueryCache,\n getSnapshot: () => T,\n skip: boolean = false,\n): T => {\n return useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n if (!skip)\n return queryCache.subscribe(notifyManager.batchCalls(onStoreChange))\n return () => {\n return\n }\n },\n [queryCache, skip],\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 [baseSort, setBaseSort] = useLocalStorage(\n 'reactQueryDevtoolsBaseSort',\n 1,\n )\n\n const sortFn = React.useMemo(() => sortFns[sort as string], [sort])\n\n const queriesCount = useSubscribeToQueryCache(\n queryCache,\n () => queryCache.getAll().length,\n !isOpen,\n )\n\n const [activeQueryHash, setActiveQueryHash] = useLocalStorage(\n 'reactQueryDevtoolsActiveQueryHash',\n '',\n )\n\n const queries = React.useMemo(() => {\n const unsortedQueries = queryCache.getAll()\n\n if (queriesCount === 0) {\n return []\n }\n\n const filtered = filter\n ? unsortedQueries.filter(\n (item) => rankItem(item.queryHash, filter).passed,\n )\n : [...unsortedQueries]\n\n const sorted = sortFn\n ? filtered.sort((a, b) => sortFn(a, b) * (baseSort as number))\n : filtered\n\n return sorted\n }, [baseSort, 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\n {isOpen && (\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 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 <ScreenReader text=\"Close React Query Devtools\" />\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={() => setBaseSort((old) => old * -1)}\n style={{\n padding: '.3em .4em',\n marginRight: '.5em',\n }}\n >\n {baseSort === 1 ? '⬆ Asc' : '⬇ Desc'}\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\n stroke=\"none\"\n d=\"M0 0h24v24H0z\"\n fill=\"none\"\n />\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\n stroke=\"none\"\n d=\"M0 0h24v24H0z\"\n fill=\"none\"\n />\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 <ScreenReader\n text={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n />\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\n {activeQueryHash && isOpen ? (\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":["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","root","previousValue","parentElement","paddingBottom","containerHeight","window","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","ScreenReader","useSubscribeToQueryCache","queryCache","getSnapshot","skip","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","ReactQueryDevtoolsPanel","forwardRef","props","queryClient","useQueryClient","getQueryCache","sort","setSort","Object","keys","sortFns","filter","setFilter","baseSort","setBaseSort","sortFn","useMemo","queriesCount","getAll","length","activeQueryHash","setActiveQueryHash","queries","unsortedQueries","filtered","item","rankItem","queryHash","passed","sorted","a","b","isMockOffline","setMockOffline","Panel","__html","backgroundAlt","marginBottom","flex","minHeight","overflow","borderRight","grayAlt","flexDirection","justifyContent","alignItems","marginRight","Input","target","value","key","Select","minWidth","map","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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"}
@@ -1,7 +1,7 @@
1
1
  import { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';
2
2
  import * as React from 'react';
3
3
  import { useQueryClient, onlineManager, notifyManager } from '@tanstack/react-query';
4
- import { rankItem, compareItems } from '@tanstack/match-sorter-utils';
4
+ import { rankItem } from '@tanstack/match-sorter-utils';
5
5
  import useLocalStorage from './useLocalStorage.mjs';
6
6
  import { useIsMounted, sortFns, getQueryStatusColor, getQueryStatusLabel } from './utils.mjs';
7
7
  import ScreenReader from './screenreader.mjs';
@@ -275,27 +275,21 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React.forwardRef(function ReactQuer
275
275
  const queryCache = queryClient.getQueryCache();
276
276
  const [sort, setSort] = useLocalStorage('reactQueryDevtoolsSortFn', Object.keys(sortFns)[0]);
277
277
  const [filter, setFilter] = useLocalStorage('reactQueryDevtoolsFilter', '');
278
- const [sortDesc, setSortDesc] = useLocalStorage('reactQueryDevtoolsSortDesc', false);
278
+ const [baseSort, setBaseSort] = useLocalStorage('reactQueryDevtoolsBaseSort', 1);
279
279
  const sortFn = React.useMemo(() => sortFns[sort], [sort]);
280
280
  const queriesCount = useSubscribeToQueryCache(queryCache, () => queryCache.getAll().length, !isOpen);
281
281
  const [activeQueryHash, setActiveQueryHash] = useLocalStorage('reactQueryDevtoolsActiveQueryHash', '');
282
282
  const queries = React.useMemo(() => {
283
283
  const unsortedQueries = queryCache.getAll();
284
- const sorted = queriesCount > 0 ? [...unsortedQueries].sort(sortFn) : [];
285
284
 
286
- if (sortDesc) {
287
- sorted.reverse();
285
+ if (queriesCount === 0) {
286
+ return [];
288
287
  }
289
288
 
290
- if (!filter) {
291
- return sorted;
292
- }
293
-
294
- let ranked = sorted.map(item => [item, rankItem(item.queryHash, filter)]);
295
- ranked = ranked.filter(d => d[1].passed);
296
- ranked = ranked.sort((a, b) => compareItems(a[1], b[1]));
297
- return ranked.map(d => d[0]);
298
- }, [sortDesc, sortFn, filter, queriesCount, queryCache]);
289
+ const filtered = filter ? unsortedQueries.filter(item => rankItem(item.queryHash, filter).passed) : [...unsortedQueries];
290
+ const sorted = sortFn ? filtered.sort((a, b) => sortFn(a, b) * baseSort) : filtered;
291
+ return sorted;
292
+ }, [baseSort, sortFn, filter, queriesCount, queryCache]);
299
293
  const [isMockOffline, setMockOffline] = React.useState(false);
300
294
  return /*#__PURE__*/React.createElement(ThemeProvider, {
301
295
  theme: defaultTheme
@@ -397,12 +391,12 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React.forwardRef(function ReactQuer
397
391
  value: key
398
392
  }, "Sort by ", key))), /*#__PURE__*/React.createElement(Button, {
399
393
  type: "button",
400
- onClick: () => setSortDesc(old => !old),
394
+ onClick: () => setBaseSort(old => old * -1),
401
395
  style: {
402
396
  padding: '.3em .4em',
403
397
  marginRight: '.5em'
404
398
  }
405
- }, sortDesc ? ' Desc' : ' Asc'), /*#__PURE__*/React.createElement(Button, {
399
+ }, baseSort === 1 ? ' Asc' : ' Desc'), /*#__PURE__*/React.createElement(Button, {
406
400
  type: "button",
407
401
  onClick: () => {
408
402
  if (isMockOffline) {