+
+ Query Details
+
+
+
+
+
+ {displayValue(activeQuery.queryKey, true)}
+
+
+
+ {getQueryStatusLabel(activeQuery)}
+
+
+
+ Observers: {observerCount}
+
+
+ Last Updated:{' '}
+
+ {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}
+
+
+
+
+ Actions
+
+
+ {' '}
+ {' '}
+ {' '}
+ {' '}
+ {' '}
+ {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (
+
+ ) : (
+
+ )}
+
+
+ Data Explorer
+
+
+
+
+
+ Query Explorer
+
+
+
+
+
+ )
+}
+
+ActiveQuery.displayName = 'ActiveQuery'
+
+export default ActiveQuery
diff --git a/packages/react-query-devtools/src/CachePanel/CachePanel.tsx b/packages/react-query-devtools/src/CachePanel/CachePanel.tsx
new file mode 100644
index 0000000000..a1655cebc5
--- /dev/null
+++ b/packages/react-query-devtools/src/CachePanel/CachePanel.tsx
@@ -0,0 +1,427 @@
+import React from 'react'
+import type { QueryClient } from '@tanstack/react-query'
+import { useQueryClient, onlineManager } from '@tanstack/react-query'
+import { rankItem } from '@tanstack/match-sorter-utils'
+
+import { Panel, Button, Input, Select } from '../styledComponents'
+import useSubscribeToQueryCache from '../useSubscribeToQueryCache'
+import QueryStatusCount from './Header/QueryStatusCount'
+import QueryRow from './QueryRow'
+import ActiveQuery from './ActiveQuery'
+import type { Side } from '../utils'
+import { sortFns, getResizeHandleStyle, defaultPanelSize } from '../utils'
+import { ThemeProvider, defaultTheme as theme } from '../theme'
+import type { DevToolsErrorType } from '../types'
+import useLocalStorage from '../useLocalStorage'
+import Logo from '../Logo'
+import ScreenReader from '../screenreader'
+
+interface DevtoolsPanelOptions {
+ /**
+ * The standard React style object used to style a component with inline styles
+ */
+ style?: React.CSSProperties
+ /**
+ * The standard React className property used to style a component with classes
+ */
+ className?: string
+ /**
+ * A boolean variable indicating whether the panel is open or closed
+ */
+ isOpen?: boolean
+ /**
+ * nonce for style element for CSP
+ */
+ styleNonce?: string
+ /**
+ * A function that toggles the open and close state of the panel
+ */
+ setIsOpen: (isOpen: boolean) => void
+ /**
+ * Handles the opening and closing the devtools panel
+ */
+ onDragStart: (e: React.MouseEvent