@tanstack/react-query-devtools 4.26.1 → 4.27.0

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.
@@ -44,7 +44,8 @@ function ReactQueryDevtools({
44
44
  containerElement: Container = 'aside',
45
45
  context,
46
46
  styleNonce,
47
- panelPosition: initialPanelPosition = 'bottom'
47
+ panelPosition: initialPanelPosition = 'bottom',
48
+ errorTypes = []
48
49
  }) {
49
50
  const rootRef = React__namespace.useRef(null);
50
51
  const panelRef = React__namespace.useRef(null);
@@ -223,7 +224,8 @@ function ReactQueryDevtools({
223
224
  style: style,
224
225
  isOpen: isResolvedOpen,
225
226
  setIsOpen: setIsOpen,
226
- onDragStart: e => handleDragStart(panelRef.current, e)
227
+ onDragStart: e => handleDragStart(panelRef.current, e),
228
+ errorTypes: errorTypes
227
229
  }))), !isResolvedOpen ? /*#__PURE__*/React__namespace.createElement("button", _rollupPluginBabelHelpers["extends"]({
228
230
  type: "button"
229
231
  }, otherToggleButtonProps, {
@@ -288,6 +290,7 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
288
290
  showCloseButton,
289
291
  position,
290
292
  closeButtonProps = {},
293
+ errorTypes = [],
291
294
  ...panelProps
292
295
  } = props;
293
296
  const {
@@ -406,7 +409,9 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
406
409
  }, "Bottom")) : null), /*#__PURE__*/React__namespace.createElement("div", {
407
410
  style: {
408
411
  display: 'flex',
409
- alignItems: 'center'
412
+ alignItems: 'center',
413
+ flexWrap: 'wrap',
414
+ gap: '0.5em'
410
415
  }
411
416
  }, /*#__PURE__*/React__namespace.createElement(styledComponents.Input, {
412
417
  placeholder: "Filter",
@@ -418,7 +423,6 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
418
423
  },
419
424
  style: {
420
425
  flex: '1',
421
- marginRight: '.5em',
422
426
  width: '100%'
423
427
  }
424
428
  }), /*#__PURE__*/React__namespace.createElement(styledComponents.Select, {
@@ -518,7 +522,8 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
518
522
  }))), activeQueryHash && isOpen ? /*#__PURE__*/React__namespace.createElement(ActiveQuery, {
519
523
  activeQueryHash: activeQueryHash,
520
524
  queryCache: queryCache,
521
- queryClient: queryClient
525
+ queryClient: queryClient,
526
+ errorTypes: errorTypes
522
527
  }) : null, showCloseButton ? /*#__PURE__*/React__namespace.createElement(styledComponents.Button, _rollupPluginBabelHelpers["extends"]({
523
528
  type: "button",
524
529
  "aria-controls": "ReactQueryDevtoolsPanel",
@@ -543,7 +548,8 @@ const ReactQueryDevtoolsPanel = /*#__PURE__*/React__namespace.forwardRef(functio
543
548
  const ActiveQuery = ({
544
549
  queryCache,
545
550
  activeQueryHash,
546
- queryClient
551
+ queryClient,
552
+ errorTypes
547
553
  }) => {
548
554
  var _useSubscribeToQueryC, _useSubscribeToQueryC2;
549
555
 
@@ -569,10 +575,44 @@ const ActiveQuery = ({
569
575
  promise == null ? void 0 : promise.catch(noop);
570
576
  };
571
577
 
578
+ const currentErrorTypeName = React.useMemo(() => {
579
+ if (activeQuery && activeQueryState != null && activeQueryState.error) {
580
+ const errorType = errorTypes.find(type => {
581
+ var _activeQueryState$err;
582
+
583
+ return type.initializer(activeQuery).toString() === ((_activeQueryState$err = activeQueryState.error) == null ? void 0 : _activeQueryState$err.toString());
584
+ });
585
+ return errorType == null ? void 0 : errorType.name;
586
+ }
587
+
588
+ return undefined;
589
+ }, [activeQuery, activeQueryState == null ? void 0 : activeQueryState.error, errorTypes]);
590
+
572
591
  if (!activeQuery || !activeQueryState) {
573
592
  return null;
574
593
  }
575
594
 
595
+ const triggerError = errorType => {
596
+ var _errorType$initialize;
597
+
598
+ const error = (_errorType$initialize = errorType == null ? void 0 : errorType.initializer(activeQuery)) != null ? _errorType$initialize : new Error('Unknown error from devtools');
599
+ const __previousQueryOptions = activeQuery.options;
600
+ activeQuery.setState({
601
+ status: 'error',
602
+ error,
603
+ fetchMeta: { ...activeQuery.state.fetchMeta,
604
+ __previousQueryOptions
605
+ }
606
+ });
607
+ };
608
+
609
+ const restoreQueryAfterLoadingOrError = () => {
610
+ activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
611
+ // Make sure this fetch will cancel the previous one
612
+ cancelRefetch: true
613
+ });
614
+ };
615
+
576
616
  return /*#__PURE__*/React__namespace.createElement(styledComponents.ActiveQueryPanel, null, /*#__PURE__*/React__namespace.createElement("div", {
577
617
  style: {
578
618
  padding: '.5em',
@@ -639,7 +679,11 @@ const ActiveQuery = ({
639
679
  }
640
680
  }, "Actions"), /*#__PURE__*/React__namespace.createElement("div", {
641
681
  style: {
642
- padding: '0.5em'
682
+ padding: '0.5em',
683
+ display: 'flex',
684
+ flexWrap: 'wrap',
685
+ gap: '0.5em',
686
+ alignItems: 'flex-end'
643
687
  }
644
688
  }, /*#__PURE__*/React__namespace.createElement(styledComponents.Button, {
645
689
  type: "button",
@@ -667,7 +711,61 @@ const ActiveQuery = ({
667
711
  style: {
668
712
  background: theme.defaultTheme.danger
669
713
  }
670
- }, "Remove")), /*#__PURE__*/React__namespace.createElement("div", {
714
+ }, "Remove"), ' ', /*#__PURE__*/React__namespace.createElement(styledComponents.Button, {
715
+ type: "button",
716
+ onClick: () => {
717
+ if (activeQuery.state.data === undefined) {
718
+ restoreQueryAfterLoadingOrError();
719
+ } else {
720
+ const __previousQueryOptions = activeQuery.options; // Trigger a fetch in order to trigger suspense as well.
721
+
722
+ activeQuery.fetch({ ...__previousQueryOptions,
723
+ queryFn: () => {
724
+ return new Promise(() => {// Never resolve
725
+ });
726
+ },
727
+ cacheTime: -1
728
+ });
729
+ activeQuery.setState({
730
+ data: undefined,
731
+ status: 'loading',
732
+ fetchMeta: { ...activeQuery.state.fetchMeta,
733
+ __previousQueryOptions
734
+ }
735
+ });
736
+ }
737
+ },
738
+ style: {
739
+ background: theme.defaultTheme.paused
740
+ }
741
+ }, activeQuery.state.status === 'loading' ? 'Restore' : 'Trigger', ' ', "loading"), ' ', errorTypes.length === 0 || activeQuery.state.status === 'error' ? /*#__PURE__*/React__namespace.createElement(styledComponents.Button, {
742
+ type: "button",
743
+ onClick: () => {
744
+ if (!activeQuery.state.error) {
745
+ triggerError();
746
+ } else {
747
+ queryClient.resetQueries(activeQuery);
748
+ }
749
+ },
750
+ style: {
751
+ background: theme.defaultTheme.danger
752
+ }
753
+ }, activeQuery.state.status === 'error' ? 'Restore' : 'Trigger', " error") : /*#__PURE__*/React__namespace.createElement("label", null, "Trigger error:", /*#__PURE__*/React__namespace.createElement(styledComponents.Select, {
754
+ value: currentErrorTypeName != null ? currentErrorTypeName : '',
755
+ style: {
756
+ marginInlineStart: '.5em'
757
+ },
758
+ onChange: e => {
759
+ const errorType = errorTypes.find(t => t.name === e.target.value);
760
+ triggerError(errorType);
761
+ }
762
+ }, /*#__PURE__*/React__namespace.createElement("option", {
763
+ key: "",
764
+ value: ""
765
+ }), errorTypes.map(errorType => /*#__PURE__*/React__namespace.createElement("option", {
766
+ key: errorType.name,
767
+ value: errorType.name
768
+ }, errorType.name))))), /*#__PURE__*/React__namespace.createElement("div", {
671
769
  style: {
672
770
  background: theme.defaultTheme.backgroundAlt,
673
771
  padding: '.5em',
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["'use client'\nimport * 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 {\n isVerticalSide,\n sortFns,\n useIsMounted,\n getSidePanelStyle,\n minPanelSize,\n getResizeHandleStyle,\n getSidedProp,\n defaultPanelSize,\n displayValue,\n} from './utils'\nimport type { Corner, Side } from './utils'\nimport {\n Panel,\n QueryKeys,\n QueryKey,\n Button,\n Code,\n Input,\n Select,\n ActiveQueryPanel,\n} from './styledComponents'\nimport ScreenReader from './screenreader'\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.ComponentPropsWithoutRef<'div'>\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.ComponentPropsWithoutRef<'button'>\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.ComponentPropsWithoutRef<'button'>\n /**\n * The position of the React Query logo to open and close the devtools panel.\n * Defaults to 'bottom-left'.\n */\n position?: Corner\n /**\n * The position of the React Query devtools panel.\n * Defaults to 'bottom'.\n */\n panelPosition?: Side\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 onDragStart: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\n /**\n * The position of the React Query devtools panel.\n * Defaults to 'bottom'.\n */\n position?: Side\n /**\n * Handles the panel position select change\n */\n onPositionChange?: (side: Side) => void\n /**\n * Show a close button inside the panel\n */\n showCloseButton?: boolean\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.ComponentPropsWithoutRef<'button'>\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 panelPosition: initialPanelPosition = 'bottom',\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>(\n 'reactQueryDevtoolsHeight',\n defaultPanelSize,\n )\n const [devtoolsWidth, setDevtoolsWidth] = useLocalStorage<number>(\n 'reactQueryDevtoolsWidth',\n defaultPanelSize,\n )\n\n const [panelPosition = 'bottom', setPanelPosition] = useLocalStorage<Side>(\n 'reactQueryDevtoolsPanelPosition',\n initialPanelPosition,\n )\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 (!panelElement) return\n if (startEvent.button !== 0) return // Only allow left click for drag\n const isVertical = isVerticalSide(panelPosition)\n setIsResizing(true)\n\n const { height, width } = panelElement.getBoundingClientRect()\n const startX = startEvent.clientX\n const startY = startEvent.clientY\n let newSize = 0\n\n const run = (moveEvent: MouseEvent) => {\n // prevent mouse selecting stuff with mouse drag\n moveEvent.preventDefault()\n\n // calculate the correct size based on mouse position and current panel position\n // hint: it is different formula for the opposite sides\n if (isVertical) {\n newSize =\n width +\n (panelPosition === 'right'\n ? startX - moveEvent.clientX\n : moveEvent.clientX - startX)\n setDevtoolsWidth(newSize)\n } else {\n newSize =\n height +\n (panelPosition === 'bottom'\n ? startY - moveEvent.clientY\n : moveEvent.clientY - startY)\n setDevtoolsHeight(newSize)\n }\n\n if (newSize < minPanelSize) {\n setIsOpen(false)\n } else {\n setIsOpen(true)\n }\n }\n\n const unsub = () => {\n if (isResizing) {\n setIsResizing(false)\n }\n\n document.removeEventListener('mousemove', run, false)\n document.removeEventListener('mouseUp', unsub, false)\n }\n\n document.addEventListener('mousemove', run, false)\n document.addEventListener('mouseup', unsub, false)\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 return\n }, [isResolvedOpen])\n\n React.useEffect(() => {\n if (isResolvedOpen && rootRef.current?.parentElement) {\n const { parentElement } = rootRef.current\n const styleProp = getSidedProp('padding', panelPosition)\n const isVertical = isVerticalSide(panelPosition)\n\n const previousPaddings = (({\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }) => ({\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }))(parentElement.style)\n\n const run = () => {\n // reset the padding\n parentElement.style.padding = '0px'\n parentElement.style.paddingTop = '0px'\n parentElement.style.paddingBottom = '0px'\n parentElement.style.paddingLeft = '0px'\n parentElement.style.paddingRight = '0px'\n // set the new padding based on the new panel position\n\n parentElement.style[styleProp] = `${\n isVertical ? devtoolsWidth : devtoolsHeight\n }px`\n }\n\n run()\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', run)\n\n return () => {\n window.removeEventListener('resize', run)\n Object.entries(previousPaddings).forEach(\n ([property, previousValue]) => {\n parentElement.style[property as keyof typeof previousPaddings] =\n previousValue\n },\n )\n }\n }\n }\n return\n }, [isResolvedOpen, panelPosition, devtoolsHeight, devtoolsWidth])\n\n const { style: panelStyle = {}, ...otherPanelProps } = panelProps\n\n const {\n style: toggleButtonStyle = {},\n onClick: onToggleClick,\n ...otherToggleButtonProps\n } = toggleButtonProps\n\n // get computed style based on panel position\n const style = getSidePanelStyle({\n position: panelPosition,\n devtoolsTheme: theme,\n isOpen: isResolvedOpen,\n height: devtoolsHeight,\n width: devtoolsWidth,\n isResizing,\n panelStyle,\n })\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 position={panelPosition}\n onPositionChange={setPanelPosition}\n showCloseButton\n closeButtonProps={closeButtonProps}\n {...otherPanelProps}\n style={style}\n isOpen={isResolvedOpen}\n setIsOpen={setIsOpen}\n onDragStart={(e) => handleDragStart(panelRef.current, e)}\n />\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 context,\n onDragStart,\n onPositionChange,\n showCloseButton,\n position,\n closeButtonProps = {},\n ...panelProps\n } = props\n\n const { onClick: onCloseClick, ...otherCloseButtonProps } = closeButtonProps\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 style={{\n height: defaultPanelSize,\n position: 'relative',\n ...panelProps.style,\n }}\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={getResizeHandleStyle(position)}\n onMouseDown={onDragStart}\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 <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '.5em',\n }}\n >\n <QueryStatusCount queryCache={queryCache} />\n {position && onPositionChange ? (\n <Select\n aria-label=\"Panel position\"\n value={position}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => onPositionChange(e.target.value as Side)}\n >\n <option value=\"left\">Left</option>\n <option value=\"right\">Right</option>\n <option value=\"top\">Top</option>\n <option value=\"bottom\">Bottom</option>\n </Select>\n ) : null}\n </div>\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 <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 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 <ScreenReader\n text={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n />\n </Button>\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\n {showCloseButton ? (\n <Button\n type=\"button\"\n aria-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"true\"\n {...(otherCloseButtonProps as Record<string, unknown>)}\n style={{\n position: 'absolute',\n zIndex: 99999,\n margin: '.5em',\n bottom: 0,\n left: 0,\n ...otherCloseButtonProps.style,\n }}\n onClick={(e) => {\n setIsOpen(false)\n onCloseClick?.(e)\n }}\n >\n Close\n </Button>\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: 'flex-start',\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 {displayValue(activeQuery.queryKey, true)}\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 copyable\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>\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 = React.memo(\n ({\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\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["ReactQueryDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","context","styleNonce","panelPosition","initialPanelPosition","rootRef","React","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","defaultPanelSize","devtoolsWidth","setDevtoolsWidth","setPanelPosition","isResolvedOpen","setIsResolvedOpen","useState","isResizing","setIsResizing","isMounted","useIsMounted","handleDragStart","panelElement","startEvent","button","isVertical","isVerticalSide","height","width","getBoundingClientRect","startX","clientX","startY","clientY","newSize","run","moveEvent","preventDefault","minPanelSize","unsub","document","removeEventListener","addEventListener","useEffect","ref","current","handlePanelTransitionStart","style","visibility","handlePanelTransitionEnd","parentElement","styleProp","getSidedProp","previousPaddings","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","window","Object","entries","forEach","property","previousValue","panelStyle","otherPanelProps","toggleButtonStyle","onClick","onToggleClick","otherToggleButtonProps","getSidePanelStyle","devtoolsTheme","theme","ThemeProvider","_extends","e","background","border","zIndex","display","fontSize","margin","cursor","top","right","left","bottom","Logo","ScreenReader","useSubscribeToQueryCache","queryCache","getSnapshot","skip","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","ReactQueryDevtoolsPanel","forwardRef","props","onDragStart","onPositionChange","showCloseButton","onCloseClick","otherCloseButtonProps","queryClient","useQueryClient","getQueryCache","sort","setSort","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","gray","getResizeHandleStyle","flex","minHeight","maxHeight","overflow","borderRight","grayAlt","flexDirection","justifyContent","alignItems","marginRight","marginBottom","Select","marginInlineStart","target","value","Input","key","minWidth","map","Button","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","displayValue","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","opacity","paused","QueryRow","memo","isDisabled","borderBottom"],"mappings":"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"}
1
+ {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport { useSyncExternalStore } from './useSyncExternalStore'\nimport type {\n QueryCache,\n QueryClient,\n QueryKey as QueryKeyType,\n ContextOptions,\n Query,\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 {\n isVerticalSide,\n sortFns,\n useIsMounted,\n getSidePanelStyle,\n minPanelSize,\n getResizeHandleStyle,\n getSidedProp,\n defaultPanelSize,\n displayValue,\n} from './utils'\nimport type { Corner, Side } from './utils'\nimport {\n Panel,\n QueryKeys,\n QueryKey,\n Button,\n Code,\n Input,\n Select,\n ActiveQueryPanel,\n} from './styledComponents'\nimport ScreenReader from './screenreader'\nimport { ThemeProvider, defaultTheme as theme } from './theme'\nimport { getQueryStatusLabel, getQueryStatusColor } from './utils'\nimport Explorer from './Explorer'\nimport Logo from './Logo'\nimport { useMemo } from 'react'\n\nexport interface DevToolsErrorType {\n /**\n * The name of the error.\n */\n name: string\n /**\n * How the error is initialized. Whatever it returns MUST implement toString() so\n * we can check against the current error.\n */\n initializer: (query: Query) => { toString(): string }\n}\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.ComponentPropsWithoutRef<'div'>\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.ComponentPropsWithoutRef<'button'>\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.ComponentPropsWithoutRef<'button'>\n /**\n * The position of the React Query logo to open and close the devtools panel.\n * Defaults to 'bottom-left'.\n */\n position?: Corner\n /**\n * The position of the React Query devtools panel.\n * Defaults to 'bottom'.\n */\n panelPosition?: Side\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 * Use this so you can define custom errors that can be shown in the devtools.\n */\n errorTypes?: DevToolsErrorType[]\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 onDragStart: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void\n /**\n * The position of the React Query devtools panel.\n * Defaults to 'bottom'.\n */\n position?: Side\n /**\n * Handles the panel position select change\n */\n onPositionChange?: (side: Side) => void\n /**\n * Show a close button inside the panel\n */\n showCloseButton?: boolean\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.ComponentPropsWithoutRef<'button'>\n /**\n * Use this so you can define custom errors that can be shown in the devtools.\n */\n errorTypes?: DevToolsErrorType[]\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 panelPosition: initialPanelPosition = 'bottom',\n errorTypes = [],\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>(\n 'reactQueryDevtoolsHeight',\n defaultPanelSize,\n )\n const [devtoolsWidth, setDevtoolsWidth] = useLocalStorage<number>(\n 'reactQueryDevtoolsWidth',\n defaultPanelSize,\n )\n\n const [panelPosition = 'bottom', setPanelPosition] = useLocalStorage<Side>(\n 'reactQueryDevtoolsPanelPosition',\n initialPanelPosition,\n )\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 (!panelElement) return\n if (startEvent.button !== 0) return // Only allow left click for drag\n const isVertical = isVerticalSide(panelPosition)\n setIsResizing(true)\n\n const { height, width } = panelElement.getBoundingClientRect()\n const startX = startEvent.clientX\n const startY = startEvent.clientY\n let newSize = 0\n\n const run = (moveEvent: MouseEvent) => {\n // prevent mouse selecting stuff with mouse drag\n moveEvent.preventDefault()\n\n // calculate the correct size based on mouse position and current panel position\n // hint: it is different formula for the opposite sides\n if (isVertical) {\n newSize =\n width +\n (panelPosition === 'right'\n ? startX - moveEvent.clientX\n : moveEvent.clientX - startX)\n setDevtoolsWidth(newSize)\n } else {\n newSize =\n height +\n (panelPosition === 'bottom'\n ? startY - moveEvent.clientY\n : moveEvent.clientY - startY)\n setDevtoolsHeight(newSize)\n }\n\n if (newSize < minPanelSize) {\n setIsOpen(false)\n } else {\n setIsOpen(true)\n }\n }\n\n const unsub = () => {\n if (isResizing) {\n setIsResizing(false)\n }\n\n document.removeEventListener('mousemove', run, false)\n document.removeEventListener('mouseUp', unsub, false)\n }\n\n document.addEventListener('mousemove', run, false)\n document.addEventListener('mouseup', unsub, false)\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 return\n }, [isResolvedOpen])\n\n React.useEffect(() => {\n if (isResolvedOpen && rootRef.current?.parentElement) {\n const { parentElement } = rootRef.current\n const styleProp = getSidedProp('padding', panelPosition)\n const isVertical = isVerticalSide(panelPosition)\n\n const previousPaddings = (({\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }) => ({\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n }))(parentElement.style)\n\n const run = () => {\n // reset the padding\n parentElement.style.padding = '0px'\n parentElement.style.paddingTop = '0px'\n parentElement.style.paddingBottom = '0px'\n parentElement.style.paddingLeft = '0px'\n parentElement.style.paddingRight = '0px'\n // set the new padding based on the new panel position\n\n parentElement.style[styleProp] = `${\n isVertical ? devtoolsWidth : devtoolsHeight\n }px`\n }\n\n run()\n\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', run)\n\n return () => {\n window.removeEventListener('resize', run)\n Object.entries(previousPaddings).forEach(\n ([property, previousValue]) => {\n parentElement.style[property as keyof typeof previousPaddings] =\n previousValue\n },\n )\n }\n }\n }\n return\n }, [isResolvedOpen, panelPosition, devtoolsHeight, devtoolsWidth])\n\n const { style: panelStyle = {}, ...otherPanelProps } = panelProps\n\n const {\n style: toggleButtonStyle = {},\n onClick: onToggleClick,\n ...otherToggleButtonProps\n } = toggleButtonProps\n\n // get computed style based on panel position\n const style = getSidePanelStyle({\n position: panelPosition,\n devtoolsTheme: theme,\n isOpen: isResolvedOpen,\n height: devtoolsHeight,\n width: devtoolsWidth,\n isResizing,\n panelStyle,\n })\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 position={panelPosition}\n onPositionChange={setPanelPosition}\n showCloseButton\n closeButtonProps={closeButtonProps}\n {...otherPanelProps}\n style={style}\n isOpen={isResolvedOpen}\n setIsOpen={setIsOpen}\n onDragStart={(e) => handleDragStart(panelRef.current, e)}\n errorTypes={errorTypes}\n />\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 context,\n onDragStart,\n onPositionChange,\n showCloseButton,\n position,\n closeButtonProps = {},\n errorTypes = [],\n ...panelProps\n } = props\n\n const { onClick: onCloseClick, ...otherCloseButtonProps } = closeButtonProps\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 style={{\n height: defaultPanelSize,\n position: 'relative',\n ...panelProps.style,\n }}\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={getResizeHandleStyle(position)}\n onMouseDown={onDragStart}\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 <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: '.5em',\n }}\n >\n <QueryStatusCount queryCache={queryCache} />\n {position && onPositionChange ? (\n <Select\n aria-label=\"Panel position\"\n value={position}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => onPositionChange(e.target.value as Side)}\n >\n <option value=\"left\">Left</option>\n <option value=\"right\">Right</option>\n <option value=\"top\">Top</option>\n <option value=\"bottom\">Bottom</option>\n </Select>\n ) : null}\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: '0.5em',\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 width: '100%',\n }}\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 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 <ScreenReader\n text={\n isMockOffline\n ? 'Restore offline mock'\n : 'Mock offline behavior'\n }\n />\n </Button>\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 errorTypes={errorTypes}\n />\n ) : null}\n\n {showCloseButton ? (\n <Button\n type=\"button\"\n aria-controls=\"ReactQueryDevtoolsPanel\"\n aria-haspopup=\"true\"\n aria-expanded=\"true\"\n {...(otherCloseButtonProps as Record<string, unknown>)}\n style={{\n position: 'absolute',\n zIndex: 99999,\n margin: '.5em',\n bottom: 0,\n left: 0,\n ...otherCloseButtonProps.style,\n }}\n onClick={(e) => {\n setIsOpen(false)\n onCloseClick?.(e)\n }}\n >\n Close\n </Button>\n ) : null}\n </Panel>\n </ThemeProvider>\n )\n})\n\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\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 const currentErrorTypeName = useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n },\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n })\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: 'flex-start',\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 {displayValue(activeQuery.queryKey, true)}\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 display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\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 <Button\n type=\"button\"\n onClick={() => {\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n cacheTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'loading',\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n },\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'loading' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\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 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 copyable\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>\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 = React.memo(\n ({\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\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n"],"names":["ReactQueryDevtools","initialIsOpen","panelProps","closeButtonProps","toggleButtonProps","position","containerElement","Container","context","styleNonce","panelPosition","initialPanelPosition","errorTypes","rootRef","React","useRef","panelRef","isOpen","setIsOpen","useLocalStorage","devtoolsHeight","setDevtoolsHeight","defaultPanelSize","devtoolsWidth","setDevtoolsWidth","setPanelPosition","isResolvedOpen","setIsResolvedOpen","useState","isResizing","setIsResizing","isMounted","useIsMounted","handleDragStart","panelElement","startEvent","button","isVertical","isVerticalSide","height","width","getBoundingClientRect","startX","clientX","startY","clientY","newSize","run","moveEvent","preventDefault","minPanelSize","unsub","document","removeEventListener","addEventListener","useEffect","ref","current","handlePanelTransitionStart","style","visibility","handlePanelTransitionEnd","parentElement","styleProp","getSidedProp","previousPaddings","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","window","Object","entries","forEach","property","previousValue","panelStyle","otherPanelProps","toggleButtonStyle","onClick","onToggleClick","otherToggleButtonProps","getSidePanelStyle","devtoolsTheme","theme","ThemeProvider","_extends","e","background","border","zIndex","display","fontSize","margin","cursor","top","right","left","bottom","Logo","ScreenReader","useSubscribeToQueryCache","queryCache","getSnapshot","skip","useSyncExternalStore","useCallback","onStoreChange","subscribe","notifyManager","batchCalls","ReactQueryDevtoolsPanel","forwardRef","props","onDragStart","onPositionChange","showCloseButton","onCloseClick","otherCloseButtonProps","queryClient","useQueryClient","getQueryCache","sort","setSort","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","gray","getResizeHandleStyle","flex","minHeight","maxHeight","overflow","borderRight","grayAlt","flexDirection","justifyContent","alignItems","marginRight","marginBottom","Select","marginInlineStart","target","value","flexWrap","gap","Input","key","minWidth","map","Button","old","onlineManager","setOnline","undefined","dispatchEvent","Event","danger","overflowY","query","queryKey","ActiveQuery","activeQuery","find","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","noop","currentErrorTypeName","error","errorType","type","initializer","toString","name","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","ActiveQueryPanel","Code","lineHeight","displayValue","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","removeQueries","data","queryFn","Promise","cacheTime","paused","t","Explorer","QueryStatusCount","hasFresh","q","hasFetching","hasPaused","hasStale","hasInactive","QueryKeys","QueryKey","success","opacity","QueryRow","memo","isDisabled","borderBottom"],"mappings":"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"}