@tanstack/react-query-devtools 5.0.0-alpha.6 → 5.0.0-alpha.61

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.
Files changed (115) hide show
  1. package/build/lib/__tests__/devtools.test.d.ts +1 -1
  2. package/build/lib/__tests__/devtools.test.d.ts.map +1 -0
  3. package/build/lib/__tests__/utils.d.ts +2 -1
  4. package/build/lib/__tests__/utils.d.ts.map +1 -0
  5. package/build/lib/devtools.cjs +65 -0
  6. package/build/lib/devtools.cjs.map +1 -0
  7. package/build/lib/devtools.d.ts +11 -91
  8. package/build/lib/devtools.d.ts.map +1 -0
  9. package/build/lib/devtools.js +56 -913
  10. package/build/lib/devtools.js.map +1 -1
  11. package/build/lib/index.cjs +18 -0
  12. package/build/lib/index.cjs.map +1 -0
  13. package/build/lib/index.d.ts +1 -1
  14. package/build/lib/index.d.ts.map +1 -0
  15. package/build/lib/index.js +11 -9
  16. package/build/lib/index.js.map +1 -1
  17. package/build/lib/index.prod.cjs +70 -0
  18. package/build/lib/index.prod.cjs.map +1 -0
  19. package/build/lib/{index.prod.d.ts → index.prod.d.ts/index.d.ts} +1 -1
  20. package/build/lib/index.prod.js +59 -1571
  21. package/build/lib/index.prod.js.map +1 -1
  22. package/package.json +25 -26
  23. package/src/__tests__/devtools.test.tsx +1 -1009
  24. package/src/devtools.tsx +67 -1306
  25. package/src/index.ts +6 -6
  26. package/build/lib/Explorer.d.ts +0 -50
  27. package/build/lib/Explorer.esm.js +0 -253
  28. package/build/lib/Explorer.esm.js.map +0 -1
  29. package/build/lib/Explorer.js +0 -287
  30. package/build/lib/Explorer.js.map +0 -1
  31. package/build/lib/Explorer.mjs +0 -253
  32. package/build/lib/Explorer.mjs.map +0 -1
  33. package/build/lib/Logo.d.ts +0 -1
  34. package/build/lib/Logo.esm.js +0 -32
  35. package/build/lib/Logo.esm.js.map +0 -1
  36. package/build/lib/Logo.js +0 -55
  37. package/build/lib/Logo.js.map +0 -1
  38. package/build/lib/Logo.mjs +0 -32
  39. package/build/lib/Logo.mjs.map +0 -1
  40. package/build/lib/__tests__/Explorer.test.d.ts +0 -1
  41. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js +0 -17
  42. package/build/lib/_virtual/_rollupPluginBabelHelpers.esm.js.map +0 -1
  43. package/build/lib/_virtual/_rollupPluginBabelHelpers.js +0 -19
  44. package/build/lib/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  45. package/build/lib/_virtual/_rollupPluginBabelHelpers.mjs +0 -17
  46. package/build/lib/_virtual/_rollupPluginBabelHelpers.mjs.map +0 -1
  47. package/build/lib/devtools.esm.js +0 -899
  48. package/build/lib/devtools.esm.js.map +0 -1
  49. package/build/lib/devtools.mjs +0 -868
  50. package/build/lib/devtools.mjs.map +0 -1
  51. package/build/lib/index.esm.js +0 -11
  52. package/build/lib/index.esm.js.map +0 -1
  53. package/build/lib/index.mjs +0 -11
  54. package/build/lib/index.mjs.map +0 -1
  55. package/build/lib/index.prod.esm.js +0 -1559
  56. package/build/lib/index.prod.esm.js.map +0 -1
  57. package/build/lib/index.prod.mjs +0 -1528
  58. package/build/lib/index.prod.mjs.map +0 -1
  59. package/build/lib/noop.d.ts +0 -2
  60. package/build/lib/screenreader.d.ts +0 -3
  61. package/build/lib/screenreader.esm.js +0 -17
  62. package/build/lib/screenreader.esm.js.map +0 -1
  63. package/build/lib/screenreader.js +0 -40
  64. package/build/lib/screenreader.js.map +0 -1
  65. package/build/lib/screenreader.mjs +0 -17
  66. package/build/lib/screenreader.mjs.map +0 -1
  67. package/build/lib/styledComponents.d.ts +0 -9
  68. package/build/lib/styledComponents.esm.js +0 -95
  69. package/build/lib/styledComponents.esm.js.map +0 -1
  70. package/build/lib/styledComponents.js +0 -104
  71. package/build/lib/styledComponents.js.map +0 -1
  72. package/build/lib/styledComponents.mjs +0 -95
  73. package/build/lib/styledComponents.mjs.map +0 -1
  74. package/build/lib/theme.d.ts +0 -36
  75. package/build/lib/theme.esm.js +0 -32
  76. package/build/lib/theme.esm.js.map +0 -1
  77. package/build/lib/theme.js +0 -55
  78. package/build/lib/theme.js.map +0 -1
  79. package/build/lib/theme.mjs +0 -32
  80. package/build/lib/theme.mjs.map +0 -1
  81. package/build/lib/useLocalStorage.d.ts +0 -1
  82. package/build/lib/useLocalStorage.esm.js +0 -40
  83. package/build/lib/useLocalStorage.esm.js.map +0 -1
  84. package/build/lib/useLocalStorage.js +0 -63
  85. package/build/lib/useLocalStorage.js.map +0 -1
  86. package/build/lib/useLocalStorage.mjs +0 -40
  87. package/build/lib/useLocalStorage.mjs.map +0 -1
  88. package/build/lib/useMediaQuery.d.ts +0 -1
  89. package/build/lib/useMediaQuery.esm.js +0 -36
  90. package/build/lib/useMediaQuery.esm.js.map +0 -1
  91. package/build/lib/useMediaQuery.js +0 -59
  92. package/build/lib/useMediaQuery.js.map +0 -1
  93. package/build/lib/useMediaQuery.mjs +0 -36
  94. package/build/lib/useMediaQuery.mjs.map +0 -1
  95. package/build/lib/utils.d.ts +0 -79
  96. package/build/lib/utils.esm.js +0 -184
  97. package/build/lib/utils.esm.js.map +0 -1
  98. package/build/lib/utils.js +0 -218
  99. package/build/lib/utils.js.map +0 -1
  100. package/build/lib/utils.mjs +0 -184
  101. package/build/lib/utils.mjs.map +0 -1
  102. package/build/umd/index.development.js +0 -3195
  103. package/build/umd/index.development.js.map +0 -1
  104. package/build/umd/index.production.js +0 -2
  105. package/build/umd/index.production.js.map +0 -1
  106. package/src/Explorer.tsx +0 -385
  107. package/src/Logo.tsx +0 -32
  108. package/src/__tests__/Explorer.test.tsx +0 -150
  109. package/src/noop.ts +0 -7
  110. package/src/screenreader.tsx +0 -16
  111. package/src/styledComponents.ts +0 -110
  112. package/src/theme.tsx +0 -33
  113. package/src/useLocalStorage.ts +0 -52
  114. package/src/useMediaQuery.ts +0 -34
  115. package/src/utils.ts +0 -319
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["'use client'\nimport * as React from 'react'\nimport type {\n QueryCache,\n QueryClient,\n QueryKey as QueryKeyType,\n Query,\n DefaultError,\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.\n */\n initializer: (query: Query) => DefaultError\n}\n\nexport interface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * Use this to add props to the panel. For example, you can add className, style (merge and override default style), etc.\n */\n panelProps?: React.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 * Custom instance of QueryClient\n */\n queryClient?: QueryClient\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 {\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 * Custom instance of QueryClient\n */\n queryClient?: QueryClient\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 queryClient,\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 queryClient={queryClient}\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 React.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 queryClient,\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 client = useQueryClient(queryClient)\n const queryCache = client.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={client}\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 // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any).__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\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 gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? '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","queryClient","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","client","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","gcTime","paused","t","Explorer","QueryStatusCount","hasFresh","q","hasFetching","hasPaused","hasStale","hasInactive","QueryKeys","QueryKey","success","opacity","QueryRow","memo","isDisabled","borderBottom"],"mappings":"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"}
1
+ {"version":3,"file":"devtools.js","sources":["../../src/devtools.tsx"],"sourcesContent":["'use client'\nimport { useRef, useState, useEffect } from 'react'\nimport type { QueryClient } from '@tanstack/react-query'\nimport { useQueryClient, onlineManager } from '@tanstack/react-query'\nimport type {\n DevtoolsButtonPosition,\n DevtoolsPosition,\n DevToolsErrorType,\n} from '@tanstack/query-devtools'\nimport { TanstackQueryDevtools } from '@tanstack/query-devtools'\nimport React from 'react'\n\nexport interface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * The position of the React Query logo to open and close the devtools panel.\n * 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n * Defaults to 'bottom-left'.\n */\n buttonPosition?: DevtoolsButtonPosition\n /**\n * The position of the React Query devtools panel.\n * 'top' | 'bottom' | 'left' | 'right'\n * Defaults to 'bottom'.\n */\n position?: DevtoolsPosition\n /**\n * Custom instance of QueryClient\n */\n client?: QueryClient\n /**\n * Use this so you can define custom errors that can be shown in the devtools.\n */\n errorTypes?: DevToolsErrorType[]\n}\n\nfunction ReactQueryDevtoolsDev(\n props: DevtoolsOptions,\n): React.ReactElement | null {\n const queryClient = useQueryClient()\n const client = props.client || queryClient\n const ref = useRef<HTMLDivElement>(null)\n const { buttonPosition, position, initialIsOpen, errorTypes } = props\n const [devtools] = useState(\n new TanstackQueryDevtools({\n client: client,\n queryFlavor: 'React Query',\n version: '5',\n onlineManager,\n buttonPosition,\n position,\n initialIsOpen,\n errorTypes,\n }),\n )\n\n useEffect(() => {\n devtools.setClient(client)\n }, [client, devtools])\n\n useEffect(() => {\n if (buttonPosition) {\n devtools.setButtonPosition(buttonPosition)\n }\n }, [buttonPosition, devtools])\n\n useEffect(() => {\n if (position) {\n devtools.setPosition(position)\n }\n }, [position, devtools])\n\n useEffect(() => {\n devtools.setInitialIsOpen(initialIsOpen || false)\n }, [initialIsOpen, devtools])\n\n useEffect(() => {\n devtools.setErrorTypes(errorTypes || [])\n }, [errorTypes, devtools])\n\n useEffect(() => {\n if (ref.current) {\n devtools.mount(ref.current)\n }\n\n return () => {\n devtools.unmount()\n }\n }, [devtools])\n\n return <div ref={ref}></div>\n}\n\nfunction ReactQueryDevtoolsProd(\n _props: DevtoolsOptions,\n): React.ReactElement | null {\n return null\n}\n\nexport const ReactQueryDevtools: typeof ReactQueryDevtoolsDev =\n process.env.NODE_ENV !== 'development'\n ? ReactQueryDevtoolsProd\n : ReactQueryDevtoolsDev\n"],"names":["errorTypes","client","queryFlavor","version","useEffect","devtools","ref","ReactQueryDevtools"],"mappings":";;;;;AAuCA;AAGE;AACA;AACA;;;;;AACiDA;AAAW;;AAGxDC;AACAC;AACAC;;;;;AAKAH;AACF;AAGFI;AACEC;AACF;AAEAD;AACE;AACEC;AACF;AACF;AAEAD;AACE;AACEC;AACF;AACF;AAEAD;AACEC;AACF;AAEAD;AACEC;AACF;AAEAD;;AAEIC;AACF;AAEA;;;AAGF;;AAEYC;AAAS;AACvB;AAEA;AAGE;AACF;AAEaC;;"}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ var devtools = require('./devtools.cjs');
5
+
6
+ const ReactQueryDevtools = process.env.NODE_ENV !== 'development' ? function () {
7
+ return null;
8
+ } : devtools.ReactQueryDevtools;
9
+
10
+ // export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =
11
+ // process.env.NODE_ENV !== 'development'
12
+ // ? (function () {
13
+ // return null
14
+ // } as any)
15
+ // : devtools.ReactQueryDevtoolsPanel
16
+
17
+ exports.ReactQueryDevtools = ReactQueryDevtools;
18
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["'use client'\n\nimport * as devtools from './devtools'\n\nexport const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : devtools.ReactQueryDevtools\n\n// export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =\n// process.env.NODE_ENV !== 'development'\n// ? (function () {\n// return null\n// } as any)\n// : devtools.ReactQueryDevtoolsPanel\n"],"names":[],"mappings":";;;;;AAIO;AAGC;AACF;;AAGN;AACA;AACA;AACA;AACA;AACA;;"}
@@ -1,3 +1,3 @@
1
1
  import * as devtools from './devtools';
2
2
  export declare const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'];
3
- export declare const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAEtC,eAAO,MAAM,kBAAkB,EAAE,CAAC,OAAO,QAAQ,CAAC,CAAC,oBAAoB,CAKtC,CAAA"}
@@ -1,14 +1,16 @@
1
- 'use strict';
2
-
3
- var devtools = require('./devtools.js');
1
+ 'use client';
2
+ import { ReactQueryDevtools as ReactQueryDevtools$1 } from './devtools.js';
4
3
 
5
4
  const ReactQueryDevtools = process.env.NODE_ENV !== 'development' ? function () {
6
5
  return null;
7
- } : devtools.ReactQueryDevtools;
8
- const ReactQueryDevtoolsPanel = process.env.NODE_ENV !== 'development' ? function () {
9
- return null;
10
- } : devtools.ReactQueryDevtoolsPanel;
6
+ } : ReactQueryDevtools$1;
7
+
8
+ // export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =
9
+ // process.env.NODE_ENV !== 'development'
10
+ // ? (function () {
11
+ // return null
12
+ // } as any)
13
+ // : devtools.ReactQueryDevtoolsPanel
11
14
 
12
- exports.ReactQueryDevtools = ReactQueryDevtools;
13
- exports.ReactQueryDevtoolsPanel = ReactQueryDevtoolsPanel;
15
+ export { ReactQueryDevtools };
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["'use client'\n\nimport * as devtools from './devtools'\n\nexport const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : devtools.ReactQueryDevtools\n\nexport const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =\n process.env.NODE_ENV !== 'development'\n ? (function () {\n return null\n } as any)\n : devtools.ReactQueryDevtoolsPanel\n"],"names":["ReactQueryDevtools","process","env","NODE_ENV","devtools","ReactQueryDevtoolsPanel"],"mappings":";;;;AAIO,MAAMA,kBAA2D,GACtEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,GAClC,YAAY;AACV,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,GACDC,4BAA2B;AAE1B,MAAMC,uBAAqE,GAChFJ,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,GACjC,YAAY;AACX,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,GACDC;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["'use client'\n\nimport * as devtools from './devtools'\n\nexport const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : devtools.ReactQueryDevtools\n\n// export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =\n// process.env.NODE_ENV !== 'development'\n// ? (function () {\n// return null\n// } as any)\n// : devtools.ReactQueryDevtoolsPanel\n"],"names":[],"mappings":";;;AAIO;AAGC;AACF;;AAGN;AACA;AACA;AACA;AACA;AACA;;"}
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var queryDevtools = require('@tanstack/query-devtools');
6
+
7
+ function ReactQueryDevtoolsDev(props) {
8
+ const queryClient = reactQuery.useQueryClient();
9
+ const client = props.client || queryClient;
10
+ const ref = React.useRef(null);
11
+ const {
12
+ buttonPosition,
13
+ position,
14
+ initialIsOpen,
15
+ errorTypes
16
+ } = props;
17
+ const [devtools] = React.useState(new queryDevtools.TanstackQueryDevtools({
18
+ client: client,
19
+ queryFlavor: 'React Query',
20
+ version: '5',
21
+ onlineManager: reactQuery.onlineManager,
22
+ buttonPosition,
23
+ position,
24
+ initialIsOpen,
25
+ errorTypes
26
+ }));
27
+ React.useEffect(() => {
28
+ devtools.setClient(client);
29
+ }, [client, devtools]);
30
+ React.useEffect(() => {
31
+ if (buttonPosition) {
32
+ devtools.setButtonPosition(buttonPosition);
33
+ }
34
+ }, [buttonPosition, devtools]);
35
+ React.useEffect(() => {
36
+ if (position) {
37
+ devtools.setPosition(position);
38
+ }
39
+ }, [position, devtools]);
40
+ React.useEffect(() => {
41
+ devtools.setInitialIsOpen(initialIsOpen || false);
42
+ }, [initialIsOpen, devtools]);
43
+ React.useEffect(() => {
44
+ devtools.setErrorTypes(errorTypes || []);
45
+ }, [errorTypes, devtools]);
46
+ React.useEffect(() => {
47
+ if (ref.current) {
48
+ devtools.mount(ref.current);
49
+ }
50
+ return () => {
51
+ devtools.unmount();
52
+ };
53
+ }, [devtools]);
54
+ return /*#__PURE__*/React.createElement("div", {
55
+ ref: ref
56
+ });
57
+ }
58
+ const ReactQueryDevtools$1 = ReactQueryDevtoolsDev;
59
+
60
+ const ReactQueryDevtools = ReactQueryDevtools$1;
61
+
62
+ // export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =
63
+ // "development" !== 'development'
64
+ // ? (function () {
65
+ // return null
66
+ // } as any)
67
+ // : devtools.ReactQueryDevtoolsPanel
68
+
69
+ exports.ReactQueryDevtools = ReactQueryDevtools;
70
+ //# sourceMappingURL=index.prod.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.prod.cjs","sources":["../../src/devtools.tsx","../../src/index.ts"],"sourcesContent":["'use client'\nimport { useRef, useState, useEffect } from 'react'\nimport type { QueryClient } from '@tanstack/react-query'\nimport { useQueryClient, onlineManager } from '@tanstack/react-query'\nimport type {\n DevtoolsButtonPosition,\n DevtoolsPosition,\n DevToolsErrorType,\n} from '@tanstack/query-devtools'\nimport { TanstackQueryDevtools } from '@tanstack/query-devtools'\nimport React from 'react'\n\nexport interface DevtoolsOptions {\n /**\n * Set this true if you want the dev tools to default to being open\n */\n initialIsOpen?: boolean\n /**\n * The position of the React Query logo to open and close the devtools panel.\n * 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n * Defaults to 'bottom-left'.\n */\n buttonPosition?: DevtoolsButtonPosition\n /**\n * The position of the React Query devtools panel.\n * 'top' | 'bottom' | 'left' | 'right'\n * Defaults to 'bottom'.\n */\n position?: DevtoolsPosition\n /**\n * Custom instance of QueryClient\n */\n client?: QueryClient\n /**\n * Use this so you can define custom errors that can be shown in the devtools.\n */\n errorTypes?: DevToolsErrorType[]\n}\n\nfunction ReactQueryDevtoolsDev(\n props: DevtoolsOptions,\n): React.ReactElement | null {\n const queryClient = useQueryClient()\n const client = props.client || queryClient\n const ref = useRef<HTMLDivElement>(null)\n const { buttonPosition, position, initialIsOpen, errorTypes } = props\n const [devtools] = useState(\n new TanstackQueryDevtools({\n client: client,\n queryFlavor: 'React Query',\n version: '5',\n onlineManager,\n buttonPosition,\n position,\n initialIsOpen,\n errorTypes,\n }),\n )\n\n useEffect(() => {\n devtools.setClient(client)\n }, [client, devtools])\n\n useEffect(() => {\n if (buttonPosition) {\n devtools.setButtonPosition(buttonPosition)\n }\n }, [buttonPosition, devtools])\n\n useEffect(() => {\n if (position) {\n devtools.setPosition(position)\n }\n }, [position, devtools])\n\n useEffect(() => {\n devtools.setInitialIsOpen(initialIsOpen || false)\n }, [initialIsOpen, devtools])\n\n useEffect(() => {\n devtools.setErrorTypes(errorTypes || [])\n }, [errorTypes, devtools])\n\n useEffect(() => {\n if (ref.current) {\n devtools.mount(ref.current)\n }\n\n return () => {\n devtools.unmount()\n }\n }, [devtools])\n\n return <div ref={ref}></div>\n}\n\nfunction ReactQueryDevtoolsProd(\n _props: DevtoolsOptions,\n): React.ReactElement | null {\n return null\n}\n\nexport const ReactQueryDevtools: typeof ReactQueryDevtoolsDev =\n process.env.NODE_ENV !== 'development'\n ? ReactQueryDevtoolsProd\n : ReactQueryDevtoolsDev\n","'use client'\n\nimport * as devtools from './devtools'\n\nexport const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'] =\n process.env.NODE_ENV !== 'development'\n ? function () {\n return null\n }\n : devtools.ReactQueryDevtools\n\n// export const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'] =\n// process.env.NODE_ENV !== 'development'\n// ? (function () {\n// return null\n// } as any)\n// : devtools.ReactQueryDevtoolsPanel\n"],"names":["ReactQueryDevtoolsDev","props","queryClient","useQueryClient","client","ref","useRef","buttonPosition","position","initialIsOpen","errorTypes","devtools","useState","TanstackQueryDevtools","queryFlavor","version","onlineManager","useEffect","setClient","setButtonPosition","setPosition","setInitialIsOpen","setErrorTypes","current","mount","unmount","React","createElement","ReactQueryDevtools"],"mappings":";;;;;;AAuCA,SAASA,qBAAqBA,CAC5BC,KAAsB,EACK;AAC3B,EAAA,MAAMC,WAAW,GAAGC,yBAAc,EAAE,CAAA;AACpC,EAAA,MAAMC,MAAM,GAAGH,KAAK,CAACG,MAAM,IAAIF,WAAW,CAAA;AAC1C,EAAA,MAAMG,GAAG,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;EACxC,MAAM;IAAEC,cAAc;IAAEC,QAAQ;IAAEC,aAAa;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGT,KAAK,CAAA;EACrE,MAAM,CAACU,QAAQ,CAAC,GAAGC,cAAQ,CACzB,IAAIC,mCAAqB,CAAC;AACxBT,IAAAA,MAAM,EAAEA,MAAM;AACdU,IAAAA,WAAW,EAAE,aAAa;AAC1BC,IAAAA,OAAO,EAAE,GAAG;mBACZC,wBAAa;IACbT,cAAc;IACdC,QAAQ;IACRC,aAAa;AACbC,IAAAA,UAAAA;AACF,GAAC,CACH,CAAC,CAAA;AAEDO,EAAAA,eAAS,CAAC,MAAM;AACdN,IAAAA,QAAQ,CAACO,SAAS,CAACd,MAAM,CAAC,CAAA;AAC5B,GAAC,EAAE,CAACA,MAAM,EAAEO,QAAQ,CAAC,CAAC,CAAA;AAEtBM,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAIV,cAAc,EAAE;AAClBI,MAAAA,QAAQ,CAACQ,iBAAiB,CAACZ,cAAc,CAAC,CAAA;AAC5C,KAAA;AACF,GAAC,EAAE,CAACA,cAAc,EAAEI,QAAQ,CAAC,CAAC,CAAA;AAE9BM,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAIT,QAAQ,EAAE;AACZG,MAAAA,QAAQ,CAACS,WAAW,CAACZ,QAAQ,CAAC,CAAA;AAChC,KAAA;AACF,GAAC,EAAE,CAACA,QAAQ,EAAEG,QAAQ,CAAC,CAAC,CAAA;AAExBM,EAAAA,eAAS,CAAC,MAAM;AACdN,IAAAA,QAAQ,CAACU,gBAAgB,CAACZ,aAAa,IAAI,KAAK,CAAC,CAAA;AACnD,GAAC,EAAE,CAACA,aAAa,EAAEE,QAAQ,CAAC,CAAC,CAAA;AAE7BM,EAAAA,eAAS,CAAC,MAAM;AACdN,IAAAA,QAAQ,CAACW,aAAa,CAACZ,UAAU,IAAI,EAAE,CAAC,CAAA;AAC1C,GAAC,EAAE,CAACA,UAAU,EAAEC,QAAQ,CAAC,CAAC,CAAA;AAE1BM,EAAAA,eAAS,CAAC,MAAM;IACd,IAAIZ,GAAG,CAACkB,OAAO,EAAE;AACfZ,MAAAA,QAAQ,CAACa,KAAK,CAACnB,GAAG,CAACkB,OAAO,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,OAAO,MAAM;MACXZ,QAAQ,CAACc,OAAO,EAAE,CAAA;KACnB,CAAA;AACH,GAAC,EAAE,CAACd,QAAQ,CAAC,CAAC,CAAA;EAEd,oBAAOe,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKtB,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAM,CAAC,CAAA;AAC9B,CAAA;AAQO,MAAMuB,oBAAgD,GAGvD5B,qBAAqB;;ACrGpB,MAAM4B,kBAA2D,GAKlEjB,qBAA2B;;AAEjC;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -1,3 +1,3 @@
1
1
  import * as devtools from './devtools';
2
2
  export declare const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'];
3
- export declare const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'];
3
+ //# sourceMappingURL=index.d.ts.map