drizzle-cube 0.4.21 → 0.4.22

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 (86) hide show
  1. package/dist/client/charts.js +12 -12
  2. package/dist/client/chunks/{RetentionCombinedChart-CLq89aOJ.js → RetentionCombinedChart-BK3NPsHP.js} +2 -2
  3. package/dist/client/chunks/{RetentionCombinedChart-CLq89aOJ.js.map → RetentionCombinedChart-BK3NPsHP.js.map} +1 -1
  4. package/dist/client/chunks/{analysis-builder-3z9fHE2F.js → analysis-builder-DVrv9Q4n.js} +9 -9
  5. package/dist/client/chunks/{analysis-builder-3z9fHE2F.js.map → analysis-builder-DVrv9Q4n.js.map} +1 -1
  6. package/dist/client/chunks/{analysis-builder-shared-Da-vlQa_.js → analysis-builder-shared-CrENEvEk.js} +6 -6
  7. package/dist/client/chunks/{analysis-builder-shared-Da-vlQa_.js.map → analysis-builder-shared-CrENEvEk.js.map} +1 -1
  8. package/dist/client/chunks/{chart-activity-grid-CPGcTSuh.js → chart-activity-grid-OG6he4YS.js} +2 -2
  9. package/dist/client/chunks/{chart-activity-grid-CPGcTSuh.js.map → chart-activity-grid-OG6he4YS.js.map} +1 -1
  10. package/dist/client/chunks/{chart-area-ByJQ7NZd.js → chart-area-TawAd2k9.js} +3 -3
  11. package/dist/client/chunks/{chart-area-ByJQ7NZd.js.map → chart-area-TawAd2k9.js.map} +1 -1
  12. package/dist/client/chunks/{chart-bar-dj14frMt.js → chart-bar-D3vtCNQG.js} +2 -2
  13. package/dist/client/chunks/{chart-bar-dj14frMt.js.map → chart-bar-D3vtCNQG.js.map} +1 -1
  14. package/dist/client/chunks/{chart-box-plot-ZatBpatq.js → chart-box-plot-BXwN2rO5.js} +2 -2
  15. package/dist/client/chunks/{chart-box-plot-ZatBpatq.js.map → chart-box-plot-BXwN2rO5.js.map} +1 -1
  16. package/dist/client/chunks/{chart-bubble-CemotLx-.js → chart-bubble-ZfNe8t5k.js} +2 -2
  17. package/dist/client/chunks/{chart-bubble-CemotLx-.js.map → chart-bubble-ZfNe8t5k.js.map} +1 -1
  18. package/dist/client/chunks/{chart-candlestick-BIR4uGGt.js → chart-candlestick-DmF3haFu.js} +2 -2
  19. package/dist/client/chunks/{chart-candlestick-BIR4uGGt.js.map → chart-candlestick-DmF3haFu.js.map} +1 -1
  20. package/dist/client/chunks/{chart-data-table-BsAjHe7o.js → chart-data-table-DJZPkArt.js} +4 -4
  21. package/dist/client/chunks/{chart-data-table-BsAjHe7o.js.map → chart-data-table-DJZPkArt.js.map} +1 -1
  22. package/dist/client/chunks/{chart-funnel-dofnhD24.js → chart-funnel-CE9x0Io9.js} +2 -2
  23. package/dist/client/chunks/{chart-funnel-dofnhD24.js.map → chart-funnel-CE9x0Io9.js.map} +1 -1
  24. package/dist/client/chunks/{chart-gauge-CKJJ8m3b.js → chart-gauge-Djs5FWxB.js} +2 -2
  25. package/dist/client/chunks/{chart-gauge-CKJJ8m3b.js.map → chart-gauge-Djs5FWxB.js.map} +1 -1
  26. package/dist/client/chunks/{chart-heat-map-BVuPUKHT.js → chart-heat-map-CqtMkdxd.js} +2 -2
  27. package/dist/client/chunks/{chart-heat-map-BVuPUKHT.js.map → chart-heat-map-CqtMkdxd.js.map} +1 -1
  28. package/dist/client/chunks/{chart-kpi-delta-DUD3f8vL.js → chart-kpi-delta-DEzA74cL.js} +4 -4
  29. package/dist/client/chunks/{chart-kpi-delta-DUD3f8vL.js.map → chart-kpi-delta-DEzA74cL.js.map} +1 -1
  30. package/dist/client/chunks/{chart-kpi-number-iJh-PzsM.js → chart-kpi-number-Bab-BZtX.js} +3 -3
  31. package/dist/client/chunks/{chart-kpi-number-iJh-PzsM.js.map → chart-kpi-number-Bab-BZtX.js.map} +1 -1
  32. package/dist/client/chunks/{chart-kpi-text-x6pV9v9Q.js → chart-kpi-text-BkTgckDJ.js} +3 -3
  33. package/dist/client/chunks/{chart-kpi-text-x6pV9v9Q.js.map → chart-kpi-text-BkTgckDJ.js.map} +1 -1
  34. package/dist/client/chunks/{chart-line-DzyZkugh.js → chart-line-DhM-Hvu0.js} +3 -3
  35. package/dist/client/chunks/{chart-line-DzyZkugh.js.map → chart-line-DhM-Hvu0.js.map} +1 -1
  36. package/dist/client/chunks/{chart-measure-profile-C2IkBG3V.js → chart-measure-profile-4vQxFm69.js} +3 -3
  37. package/dist/client/chunks/{chart-measure-profile-C2IkBG3V.js.map → chart-measure-profile-4vQxFm69.js.map} +1 -1
  38. package/dist/client/chunks/{chart-pie-akbfRfb9.js → chart-pie-B86KRcHI.js} +2 -2
  39. package/dist/client/chunks/{chart-pie-akbfRfb9.js.map → chart-pie-B86KRcHI.js.map} +1 -1
  40. package/dist/client/chunks/{chart-radar-BaN-Kjww.js → chart-radar-BhDBmJRh.js} +2 -2
  41. package/dist/client/chunks/{chart-radar-BaN-Kjww.js.map → chart-radar-BhDBmJRh.js.map} +1 -1
  42. package/dist/client/chunks/{chart-radial-bar-DpptEL3s.js → chart-radial-bar-Brugya8X.js} +2 -2
  43. package/dist/client/chunks/{chart-radial-bar-DpptEL3s.js.map → chart-radial-bar-Brugya8X.js.map} +1 -1
  44. package/dist/client/chunks/{chart-sankey-CG-3hHmX.js → chart-sankey-D2L8ympI.js} +2 -2
  45. package/dist/client/chunks/{chart-sankey-CG-3hHmX.js.map → chart-sankey-D2L8ympI.js.map} +1 -1
  46. package/dist/client/chunks/{chart-scatter-l_yTVxF3.js → chart-scatter-CAkbBDkK.js} +2 -2
  47. package/dist/client/chunks/{chart-scatter-l_yTVxF3.js.map → chart-scatter-CAkbBDkK.js.map} +1 -1
  48. package/dist/client/chunks/{chart-sunburst-KhDcKhmZ.js → chart-sunburst-DaxJ-cob.js} +2 -2
  49. package/dist/client/chunks/{chart-sunburst-KhDcKhmZ.js.map → chart-sunburst-DaxJ-cob.js.map} +1 -1
  50. package/dist/client/chunks/{chart-tree-map-CBbiaBXV.js → chart-tree-map-CrDJAvZU.js} +2 -2
  51. package/dist/client/chunks/{chart-tree-map-CBbiaBXV.js.map → chart-tree-map-CrDJAvZU.js.map} +1 -1
  52. package/dist/client/chunks/{chart-waterfall-CX3vx_lI.js → chart-waterfall-BBwSfEKT.js} +3 -3
  53. package/dist/client/chunks/{chart-waterfall-CX3vx_lI.js.map → chart-waterfall-BBwSfEKT.js.map} +1 -1
  54. package/dist/client/chunks/{charts-core-CU9u_HtL.js → charts-core-B4Rbfdcn.js} +2 -2
  55. package/dist/client/chunks/{charts-core-CU9u_HtL.js.map → charts-core-B4Rbfdcn.js.map} +1 -1
  56. package/dist/client/chunks/{charts-loader-B3tt5oKG.js → charts-loader-DbrwgvCK.js} +25 -25
  57. package/dist/client/chunks/{charts-loader-B3tt5oKG.js.map → charts-loader-DbrwgvCK.js.map} +1 -1
  58. package/dist/client/chunks/{components-CMGGxqOB.js → components-GzooQM5J.js} +9 -9
  59. package/dist/client/chunks/{components-CMGGxqOB.js.map → components-GzooQM5J.js.map} +1 -1
  60. package/dist/client/chunks/{core-D_8mkGpQ.js → core-Y9e-sNfb.js} +2 -2
  61. package/dist/client/chunks/{core-D_8mkGpQ.js.map → core-Y9e-sNfb.js.map} +1 -1
  62. package/dist/client/chunks/{icons-M7shurcH.js → icons-DFJw-2HU.js} +6 -6
  63. package/dist/client/chunks/{icons-M7shurcH.js.map → icons-DFJw-2HU.js.map} +1 -1
  64. package/dist/client/chunks/{providers-CgxXm6Ll.js → providers-CCw8Kjlc.js} +2 -2
  65. package/dist/client/chunks/{providers-CgxXm6Ll.js.map → providers-CCw8Kjlc.js.map} +1 -1
  66. package/dist/client/chunks/{syntaxHighlighting-BQfjio-i.js → syntaxHighlighting-DAMSW_A6.js} +2 -2
  67. package/dist/client/chunks/{syntaxHighlighting-BQfjio-i.js.map → syntaxHighlighting-DAMSW_A6.js.map} +1 -1
  68. package/dist/client/chunks/{useDirtyStateTracking-Cu1HSjmo.js → useDirtyStateTracking-CjhwBXRw.js} +20 -20
  69. package/dist/client/chunks/{useDirtyStateTracking-Cu1HSjmo.js.map → useDirtyStateTracking-CjhwBXRw.js.map} +1 -1
  70. package/dist/client/chunks/useExplainAI-IiW55BaQ.js +182 -0
  71. package/dist/client/chunks/useExplainAI-IiW55BaQ.js.map +1 -0
  72. package/dist/client/chunks/{vendor-AVsJ2ni0.js → vendor-B2EH3V58.js} +7 -7
  73. package/dist/client/chunks/{vendor-AVsJ2ni0.js.map → vendor-B2EH3V58.js.map} +1 -1
  74. package/dist/client/components.js +1 -1
  75. package/dist/client/hooks/useNotebookLayout.d.ts +8 -0
  76. package/dist/client/hooks.d.ts +2 -0
  77. package/dist/client/hooks.js +51 -190
  78. package/dist/client/hooks.js.map +1 -1
  79. package/dist/client/icons.js +1 -1
  80. package/dist/client/index.js +871 -742
  81. package/dist/client/index.js.map +1 -1
  82. package/dist/client/providers.js +1 -1
  83. package/dist/client/styles.css +1 -1
  84. package/dist/client/utils.js +7 -7
  85. package/dist/client-bundle-stats.html +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vendor-AVsJ2ni0.js","sources":["../../../node_modules/react-intersection-observer/dist/index.mjs","../../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../../node_modules/@tanstack/query-core/build/modern/utils.js","../../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../../node_modules/@tanstack/query-core/build/modern/removable.js","../../../node_modules/@tanstack/query-core/build/modern/query.js","../../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../../node_modules/@tanstack/react-query/build/modern/useQueries.js","../../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../node_modules/zustand/esm/vanilla.mjs","../../../node_modules/zustand/esm/react.mjs","../../../node_modules/zustand/esm/middleware.mjs","../../../node_modules/zustand/esm/vanilla/shallow.mjs","../../../node_modules/zustand/esm/react/shallow.mjs","../../../node_modules/lz-string/libs/lz-string.js"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a2;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n [...(_a2 = elements.get(entry.target)) != null ? _a2 : []].forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"lastInView\");\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n this.lastInView = this.props.initialInView;\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n const previousInView = this.lastInView;\n this.lastInView = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n this.lastInView = props.initialInView;\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n if (this.lastInView === void 0) {\n this.lastInView = this.props.initialInView;\n }\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a2;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef(onChange);\n const lastInViewRef = React2.useRef(initialInView);\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (lastInViewRef.current === void 0) {\n lastInViewRef.current = initialInView;\n }\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a2 = state.entry) == null ? void 0 : _a2.target;\n const previousEntryTarget = React2.useRef(void 0);\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n lastInViewRef.current = initialInView;\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\n// src/useOnInView.tsx\nimport * as React3 from \"react\";\nvar _a, _b;\nvar useSyncEffect = (_b = (_a = \"useInsertionEffect\" in React3 ? React3.useInsertionEffect : void 0) != null ? _a : React3.useLayoutEffect) != null ? _b : React3.useEffect;\nvar useOnInView = (onIntersectionChange, {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n} = {}) => {\n const onIntersectionChangeRef = React3.useRef(onIntersectionChange);\n const observedElementRef = React3.useRef(null);\n const observerCleanupRef = React3.useRef(void 0);\n const lastInViewRef = React3.useRef(void 0);\n useSyncEffect(() => {\n onIntersectionChangeRef.current = onIntersectionChange;\n }, [onIntersectionChange]);\n return React3.useCallback(\n (element) => {\n const cleanupExisting = () => {\n if (observerCleanupRef.current) {\n const cleanup = observerCleanupRef.current;\n observerCleanupRef.current = void 0;\n cleanup();\n }\n };\n if (element === observedElementRef.current) {\n return observerCleanupRef.current;\n }\n if (!element || skip) {\n cleanupExisting();\n observedElementRef.current = null;\n lastInViewRef.current = void 0;\n return;\n }\n cleanupExisting();\n observedElementRef.current = element;\n let destroyed = false;\n const destroyObserver = observe(\n element,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n onIntersectionChangeRef.current(\n inView,\n entry\n );\n if (triggerOnce && inView) {\n stopObserving();\n }\n },\n {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay\n }\n );\n function stopObserving() {\n if (destroyed) return;\n destroyed = true;\n destroyObserver();\n observedElementRef.current = null;\n observerCleanupRef.current = void 0;\n lastInViewRef.current = void 0;\n }\n observerCleanupRef.current = stopObserving;\n return observerCleanupRef.current;\n },\n [\n Array.isArray(threshold) ? threshold.toString() : threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n ]\n );\n};\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView,\n useOnInView\n};\n//# sourceMappingURL=index.mjs.map","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support ReturnType<typeof setTimeout>, which is infeasible.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/removable.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n timeoutManager.clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/infiniteQueryBehavior.ts\nimport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn\n} from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nfunction difference(array1, array2) {\n const excludeSet = new Set(array2);\n return array1.filter((x) => !excludeSet.has(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n #client;\n #result;\n #queries;\n #options;\n #observers;\n #combinedResult;\n #lastCombine;\n #lastResult;\n #lastQueryHashes;\n #observerMatches = [];\n constructor(client, queries, options) {\n super();\n this.#client = client;\n this.#options = options;\n this.#queries = [];\n this.#observers = [];\n this.#result = [];\n this.setQueries(queries);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#observers.forEach((observer) => {\n observer.destroy();\n });\n }\n setQueries(queries, options) {\n this.#queries = queries;\n this.#options = options;\n if (process.env.NODE_ENV !== \"production\") {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash\n );\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n \"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\"\n );\n }\n }\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n newObserverMatches.forEach(\n (match) => match.observer.setOptions(match.defaultedQueryOptions)\n );\n const newObservers = newObserverMatches.map((match) => match.observer);\n const newResult = newObservers.map(\n (observer) => observer.getCurrentResult()\n );\n const hasLengthChange = prevObservers.length !== newObservers.length;\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index]\n );\n const hasStructuralChange = hasLengthChange || hasIndexChange;\n const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n const prev = this.#result[index];\n return !prev || !shallowEqualObjects(result, prev);\n });\n if (!hasStructuralChange && !hasResultChange) return;\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches;\n this.#observers = newObservers;\n }\n this.#result = newResult;\n if (!this.hasListeners()) return;\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries, combine) {\n const matches = this.#findMatchingObservers(queries);\n const result = matches.map(\n (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n );\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash\n );\n return [\n result,\n (r) => {\n return this.#combineResult(r ?? result, combine, queryHashes);\n },\n () => {\n return this.#trackResult(result, matches);\n }\n ];\n }\n #trackResult(result, matches) {\n return matches.map((match, index) => {\n const observerResult = result[index];\n return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp);\n });\n }) : observerResult;\n });\n }\n #combineResult(input, combine, queryHashes) {\n if (combine) {\n const lastHashes = this.#lastQueryHashes;\n const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n if (!this.#combinedResult || this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n this.#lastCombine = combine;\n this.#lastResult = this.#result;\n if (queryHashes !== void 0) {\n this.#lastQueryHashes = queryHashes;\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input)\n );\n }\n return this.#combinedResult;\n }\n return input;\n }\n #findMatchingObservers(queries) {\n const prevObserversMap = /* @__PURE__ */ new Map();\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash;\n if (!key) return;\n const previousObservers = prevObserversMap.get(key);\n if (previousObservers) {\n previousObservers.push(observer);\n } else {\n prevObserversMap.set(key, [observer]);\n }\n });\n const observers = [];\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift();\n const observer = match ?? new QueryObserver(this.#client, defaultedOptions);\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer\n });\n });\n return observers;\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n if (this.hasListeners()) {\n const previousResult = this.#combinedResult;\n const newTracked = this.#trackResult(this.#result, this.#observerMatches);\n const newResult = this.#combineResult(newTracked, this.#options?.combine);\n if (previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result);\n });\n });\n }\n }\n }\n};\nexport {\n QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useQueries.ts\nimport * as React from \"react\";\nimport {\n QueriesObserver,\n QueryObserver,\n noop,\n notifyManager\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend\n} from \"./suspense.js\";\nfunction useQueries({\n queries,\n ...options\n}, queryClient) {\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(\n () => queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(\n opts\n );\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n return defaultedOptions;\n }),\n [queries, client, isRestoring]\n );\n defaultedQueries.forEach((queryOptions) => {\n ensureSuspenseTimers(queryOptions);\n const query = client.getQueryCache().get(queryOptions.queryHash);\n ensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new QueriesObserver(\n client,\n defaultedQueries,\n options\n )\n );\n const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(\n defaultedQueries,\n options.combine\n );\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop,\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setQueries(\n defaultedQueries,\n options\n );\n }, [defaultedQueries, options, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some(\n (result, index) => shouldSuspend(defaultedQueries[index], result)\n );\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index];\n if (opts && shouldSuspend(opts, result)) {\n const queryObserver = new QueryObserver(client, opts);\n return fetchOptimistic(opts, queryObserver, errorResetBoundary);\n }\n return [];\n }) : [];\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) => {\n const query = defaultedQueries[index];\n return query && getHasError({\n result,\n errorResetBoundary,\n throwOnError: query.throwOnError,\n query: client.getQueryCache().get(query.queryHash),\n suspense: query.suspense\n });\n }\n );\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n return getCombinedResult(trackResult());\n}\nexport {\n useQueries\n};\n//# sourceMappingURL=useQueries.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n React.useCallback(() => selector(api.getInitialState()), [api, selector])\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst shouldDispatchFromDevtools = (api) => !!api.dispatchFromDevtools && typeof api.dispatch === \"function\";\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (shouldDispatchFromDevtools(api)) {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (shouldDispatchFromDevtools(api)) {\n api.dispatch(action);\n }\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => window.localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n let hydrationVersion = 0;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n const currentVersion = ++hydrationVersion;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n if (currentVersion !== hydrationVersion) {\n return;\n }\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nfunction ssrSafe(config, isSSR = typeof window === \"undefined\") {\n return (set, get, api) => {\n if (!isSSR) {\n return config(set, get, api);\n }\n const ssrSet = () => {\n throw new Error(\"Cannot set state of Zustand store in SSR\");\n };\n api.setState = ssrSet;\n return config(ssrSet, get, api);\n };\n}\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector, ssrSafe as unstable_ssrSafe };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import React from 'react';\nimport { shallow } from 'zustand/vanilla/shallow';\n\nfunction useShallow(selector) {\n const prev = React.useRef(void 0);\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n"],"names":["observerMap","RootIds","rootId","unsupportedValue","getRootId","root","optionsToId","options","key","createObserver","id","instance","elements","thresholds","observer","entries","entry","_a2","inView","threshold","callback","observe","element","fallbackInView","bounds","callbacks","useInView","delay","trackVisibility","rootMargin","triggerOnce","skip","initialInView","onChange","ref","setRef","React2","lastInViewRef","state","setState","unobserve","previousInView","entryTarget","previousEntryTarget","result","Subscribable","listener","defaultTimeoutProvider","timeoutId","intervalId","TimeoutManager","#provider","#providerCalled","provider","timeoutManager","systemSetTimeoutZero","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveEnabled","enabled","matchQuery","filters","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","_","val","isPlainObject","a","b","hasOwn","replaceEqualDeep","depth","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","aItem","bItem","v","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","error","addToEnd","items","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","addConsumeAwareSignal","object","getSignal","onCancelled","consumed","signal","FocusManager","#focused","#cleanup","#setup","onFocus","setup","focused","isFocused","focusManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","OnlineManager","#online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","createRetryer","config","isRetryCancelled","continueFn","isResolved","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","shouldRetry","Removable","#gcTimeout","newGcTime","Query","#initialState","#revertState","#cache","#client","#retryer","#defaultOptions","#abortSignalConsumed","getDefaultState","defaultState","successState","newData","#dispatch","setStateOptions","promise","x","abortController","addSignalProperty","fetchFn","queryFn","queryFnContext","queryFnContext2","context","context2","action","reducer","fetchState","newState","dataUpdatedAt","hasData","initialDataUpdatedAt","QueryObserver","client","#selectError","#currentThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","#updateQuery","mounted","shouldFetchOptionally","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","nextInterval","prevResult","prevResultState","prevResultOptions","queryInitialState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","shouldLoadOnMount","field","optimisticResult","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","currentPage","cancelled","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","Mutation","#observers","#mutationCache","variables","onContinue","mutationFnContext","restored","isPaused","e","MutationCache","#mutations","#scopes","#mutationId","scope","scopeFor","scopedMutations","index","firstPendingMutation","m","defaultedFilters","event","pausedMutations","MutationObserver","#currentMutation","#mutateOptions","#updateResult","onMutateResult","difference","array1","array2","excludeSet","replaceAt","QueriesObserver","#result","#queries","#options","#combinedResult","#lastCombine","#lastResult","#lastQueryHashes","#observerMatches","queries","#onUpdate","queryHashes","prevObservers","newObserverMatches","#findMatchingObservers","match","newObservers","newResult","hasLengthChange","hasIndexChange","hasStructuralChange","hasResultChange","prev","combine","matches","r","#combineResult","#trackResult","observerResult","accessedProp","lastHashes","queryHashesChanged","hash","prevObserversMap","previousObservers","observers","previousResult","newTracked","QueryCache","queryHash","queryInMap","QueryClient","#queryCache","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryClientContext","React","useQueryClient","queryClient","QueryClientProvider","children","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useQueries","defaultedQueries","opts","queryOptions","getCombinedResult","trackResult","shouldSubscribe","onStoreChange","suspensePromises","queryObserver","firstSingleResultWhichShouldThrow","useBaseQuery","Observer","isNewCacheEntry","unsubscribe","useQuery","useMutation","mutate","mutateOptions","createStoreImpl","createState","listeners","partial","replace","nextState","previousState","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","shouldDispatchFromDevtools","trackedConnections","getTrackedConnectionState","name","api2","extractConnectionInformation","store","extensionConnector","existingConnection","newConnection","removeStoreFromTrackedConnections","connectionInfo","findCallerName","stack","_a","_b","traceLines","apiSetStateLineIndex","traceLine","callerLine","devtoolsImpl","devtoolsOptions","set","get","anonymousActionType","__vite_import_meta_env__","connection","connectionInformation","isRecording","nameOrAction","setStateFromDevtools","originalIsRecording","store2","didWarnAboutReservedActionType","originalDispatch","message","parseJsonThen","stateFromDevtools","nextLiftedState","lastComputedState","devtools","stringified","parsed","subscribeWithSelectorImpl","origSubscribe","optListener","equalityFn","currentSlice","nextSlice","previousSlice","subscribeWithSelector","createJSONStorage","getStorage","storage","parse","str2","str","newValue","toThenable","onFulfilled","_onRejected","_onFulfilled","onRejected","persistImpl","baseOptions","persistedState","currentState","hasHydrated","hydrationVersion","hydrationListeners","finishHydrationListeners","setItem","savedSetState","configResult","stateFromStorage","hydrate","currentVersion","cb","postRehydrationCallback","deserializedStorageValue","migration","migrationResult","migrated","migratedState","newOptions","persist","isIterable","obj","hasIterableEntries","compareEntries","valueA","valueB","mapA","mapB","compareIterables","iteratorA","iteratorB","nextA","nextB","shallow","useShallow","next","LZString","f","keyStrBase64","keyStrUriSafe","baseReverseDic","getBaseValue","alphabet","character","res","compressed","uncompressed","buf","TotalLen","current_value","c","bitsPerChar","getCharFromInt","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","ii","length","resetValue","getNextValue","dictionary","enlargeIn","dictSize","numBits","bits","resb","maxpower","power","module"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]}
1
+ {"version":3,"file":"vendor-B2EH3V58.js","sources":["../../../node_modules/react-intersection-observer/dist/index.mjs","../../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../node_modules/@tanstack/query-core/build/modern/timeoutManager.js","../../../node_modules/@tanstack/query-core/build/modern/utils.js","../../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../../node_modules/@tanstack/query-core/build/modern/removable.js","../../../node_modules/@tanstack/query-core/build/modern/query.js","../../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js","../../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../../node_modules/@tanstack/react-query/build/modern/useQueries.js","../../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../node_modules/zustand/esm/vanilla.mjs","../../../node_modules/zustand/esm/react.mjs","../../../node_modules/zustand/esm/middleware.mjs","../../../node_modules/zustand/esm/vanilla/shallow.mjs","../../../node_modules/zustand/esm/react/shallow.mjs","../../../node_modules/lz-string/libs/lz-string.js"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a2;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n [...(_a2 = elements.get(entry.target)) != null ? _a2 : []].forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"lastInView\");\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n this.lastInView = this.props.initialInView;\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n const previousInView = this.lastInView;\n this.lastInView = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n this.lastInView = props.initialInView;\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n if (this.lastInView === void 0) {\n this.lastInView = this.props.initialInView;\n }\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a2;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef(onChange);\n const lastInViewRef = React2.useRef(initialInView);\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (lastInViewRef.current === void 0) {\n lastInViewRef.current = initialInView;\n }\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a2 = state.entry) == null ? void 0 : _a2.target;\n const previousEntryTarget = React2.useRef(void 0);\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n lastInViewRef.current = initialInView;\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\n// src/useOnInView.tsx\nimport * as React3 from \"react\";\nvar _a, _b;\nvar useSyncEffect = (_b = (_a = \"useInsertionEffect\" in React3 ? React3.useInsertionEffect : void 0) != null ? _a : React3.useLayoutEffect) != null ? _b : React3.useEffect;\nvar useOnInView = (onIntersectionChange, {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n} = {}) => {\n const onIntersectionChangeRef = React3.useRef(onIntersectionChange);\n const observedElementRef = React3.useRef(null);\n const observerCleanupRef = React3.useRef(void 0);\n const lastInViewRef = React3.useRef(void 0);\n useSyncEffect(() => {\n onIntersectionChangeRef.current = onIntersectionChange;\n }, [onIntersectionChange]);\n return React3.useCallback(\n (element) => {\n const cleanupExisting = () => {\n if (observerCleanupRef.current) {\n const cleanup = observerCleanupRef.current;\n observerCleanupRef.current = void 0;\n cleanup();\n }\n };\n if (element === observedElementRef.current) {\n return observerCleanupRef.current;\n }\n if (!element || skip) {\n cleanupExisting();\n observedElementRef.current = null;\n lastInViewRef.current = void 0;\n return;\n }\n cleanupExisting();\n observedElementRef.current = element;\n let destroyed = false;\n const destroyObserver = observe(\n element,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n onIntersectionChangeRef.current(\n inView,\n entry\n );\n if (triggerOnce && inView) {\n stopObserving();\n }\n },\n {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay\n }\n );\n function stopObserving() {\n if (destroyed) return;\n destroyed = true;\n destroyObserver();\n observedElementRef.current = null;\n observerCleanupRef.current = void 0;\n lastInViewRef.current = void 0;\n }\n observerCleanupRef.current = stopObserving;\n return observerCleanupRef.current;\n },\n [\n Array.isArray(threshold) ? threshold.toString() : threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n ]\n );\n};\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView,\n useOnInView\n};\n//# sourceMappingURL=index.mjs.map","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/timeoutManager.ts\nvar defaultTimeoutProvider = {\n // We need the wrapper function syntax below instead of direct references to\n // global setTimeout etc.\n //\n // BAD: `setTimeout: setTimeout`\n // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`\n //\n // If we use direct references here, then anything that wants to spy on or\n // replace the global setTimeout (like tests) won't work since we'll already\n // have a hard reference to the original implementation at the time when this\n // file was imported.\n setTimeout: (callback, delay) => setTimeout(callback, delay),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n setInterval: (callback, delay) => setInterval(callback, delay),\n clearInterval: (intervalId) => clearInterval(intervalId)\n};\nvar TimeoutManager = class {\n // We cannot have TimeoutManager<T> as we must instantiate it with a concrete\n // type at app boot; and if we leave that type, then any new timer provider\n // would need to support ReturnType<typeof setTimeout>, which is infeasible.\n //\n // We settle for type safety for the TimeoutProvider type, and accept that\n // this class is unsafe internally to allow for extension.\n #provider = defaultTimeoutProvider;\n #providerCalled = false;\n setTimeoutProvider(provider) {\n if (process.env.NODE_ENV !== \"production\") {\n if (this.#providerCalled && provider !== this.#provider) {\n console.error(\n `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,\n { previous: this.#provider, provider }\n );\n }\n }\n this.#provider = provider;\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = false;\n }\n }\n setTimeout(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setTimeout(callback, delay);\n }\n clearTimeout(timeoutId) {\n this.#provider.clearTimeout(timeoutId);\n }\n setInterval(callback, delay) {\n if (process.env.NODE_ENV !== \"production\") {\n this.#providerCalled = true;\n }\n return this.#provider.setInterval(callback, delay);\n }\n clearInterval(intervalId) {\n this.#provider.clearInterval(intervalId);\n }\n};\nvar timeoutManager = new TimeoutManager();\nfunction systemSetTimeoutZero(callback) {\n setTimeout(callback, 0);\n}\nexport {\n TimeoutManager,\n defaultTimeoutProvider,\n systemSetTimeoutZero,\n timeoutManager\n};\n//# sourceMappingURL=timeoutManager.js.map","// src/utils.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nvar hasOwn = Object.prototype.hasOwnProperty;\nfunction replaceEqualDeep(a, b, depth = 0) {\n if (a === b) {\n return a;\n }\n if (depth > 500) return b;\n const array = isPlainArray(a) && isPlainArray(b);\n if (!array && !(isPlainObject(a) && isPlainObject(b))) return b;\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? new Array(bSize) : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n const aItem = a[key];\n const bItem = b[key];\n if (aItem === bItem) {\n copy[key] = aItem;\n if (array ? i < aSize : hasOwn.call(a, key)) equalItems++;\n continue;\n }\n if (aItem === null || bItem === null || typeof aItem !== \"object\" || typeof bItem !== \"object\") {\n copy[key] = bItem;\n continue;\n }\n const v = replaceEqualDeep(aItem, bItem, depth + 1);\n copy[key] = v;\n if (v === aItem) equalItems++;\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n timeoutManager.setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = /* @__PURE__ */ Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nfunction addConsumeAwareSignal(object, getSignal, onCancelled) {\n let consumed = false;\n let signal;\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n signal ??= getSignal();\n if (consumed) {\n return signal;\n }\n consumed = true;\n if (signal.aborted) {\n onCancelled();\n } else {\n signal.addEventListener(\"abort\", onCancelled, { once: true });\n }\n return signal;\n }\n });\n return object;\n}\nexport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/thenable.ts\nimport { noop } from \"./utils.js\";\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nfunction tryResolveSync(promise) {\n let data;\n promise.then((result) => {\n data = result;\n return result;\n }, noop)?.catch(noop);\n if (data !== void 0) {\n return { data };\n }\n return void 0;\n}\nexport {\n pendingThenable,\n tryResolveSync\n};\n//# sourceMappingURL=thenable.js.map","// src/notifyManager.ts\nimport { systemSetTimeoutZero } from \"./timeoutManager.js\";\nvar defaultScheduler = systemSetTimeoutZero;\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let continueFn;\n const thenable = pendingThenable();\n const isResolved = () => thenable.status !== \"pending\";\n const cancel = (cancelOptions) => {\n if (!isResolved()) {\n const error = new CancelledError(cancelOptions);\n reject(error);\n config.onCancel?.(error);\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved()) {\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved() || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved()) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved()) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved()) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n status: () => thenable.status,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/removable.ts\nimport { timeoutManager } from \"./timeoutManager.js\";\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = timeoutManager.setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n timeoutManager.clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { CancelledError, canFetch, createRetryer } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n if (this.state && this.state.data === void 0) {\n const defaultState = getDefaultState(this.options);\n if (defaultState.data !== void 0) {\n this.setState(\n successState(defaultState.data, defaultState.dataUpdatedAt)\n );\n this.#initialState = defaultState;\n }\n }\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n }\n isStatic() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => resolveStaleTime(observer.options.staleTime, this) === \"static\"\n );\n }\n return false;\n }\n isStale() {\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0 || this.state.isInvalidated;\n }\n isStaleByTime(staleTime = 0) {\n if (this.state.data === void 0) {\n return true;\n }\n if (staleTime === \"static\") {\n return false;\n }\n if (this.state.isInvalidated) {\n return true;\n }\n return !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n async fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\" && // If the promise in the retryer is already rejected, we have to definitely\n // re-start the fetch; there is a chance that the query is still in a\n // pending state when that happens\n this.#retryer?.status() !== \"rejected\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const createFetchContext = () => {\n const context2 = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context2);\n return context2;\n };\n const context = createFetchContext();\n this.options.behavior?.onFetch(context, this);\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n onCancel: (error) => {\n if (error instanceof CancelledError && error.revert) {\n this.setState({\n ...this.#revertState,\n fetchStatus: \"idle\"\n });\n }\n abortController.abort();\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n try {\n const data = await this.#retryer.start();\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n throw new Error(`${this.queryHash} data is undefined`);\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n return data;\n } catch (error) {\n if (error instanceof CancelledError) {\n if (error.silent) {\n return this.#retryer.promise;\n } else if (error.revert) {\n if (this.state.data === void 0) {\n throw error;\n }\n return this.state.data;\n }\n }\n this.#dispatch({\n type: \"error\",\n error\n });\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n throw error;\n } finally {\n this.scheduleGc();\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n const newState = {\n ...state,\n ...successState(action.data, action.dataUpdatedAt),\n dataUpdateCount: state.dataUpdateCount + 1,\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n this.#revertState = action.manual ? newState : void 0;\n return newState;\n case \"error\":\n const error = action.error;\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\",\n // flag existing data as invalidated if we get a background error\n // note that \"no data\" always means stale so we can set unconditionally here\n isInvalidated: true\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction successState(data, dataUpdatedAt) {\n return {\n data,\n dataUpdatedAt: dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\"\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map","// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { timeoutManager } from \"./timeoutManager.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n if (key === \"promise\") {\n this.trackProp(\"data\");\n if (!this.options.experimental_prefetchInRender && this.#currentThenable.status === \"pending\") {\n this.#currentThenable.reject(\n new Error(\n \"experimental_prefetchInRender feature flag is not enabled\"\n )\n );\n }\n }\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = timeoutManager.setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = timeoutManager.setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n timeoutManager.clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n timeoutManager.clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable,\n isEnabled: resolveEnabled(options.enabled, query) !== false\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const hasResultData = nextResult.data !== void 0;\n const isErrorWithoutData = nextResult.status === \"error\" && !hasResultData;\n const finalizeThenableIfPossible = (thenable) => {\n if (isErrorWithoutData) {\n thenable.reject(nextResult.error);\n } else if (hasResultData) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (isErrorWithoutData || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (!isErrorWithoutData || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== \"static\") {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/infiniteQueryBehavior.ts\nimport {\n addConsumeAwareSignal,\n addToEnd,\n addToStart,\n ensureQueryFn\n} from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n addConsumeAwareSignal(\n object,\n () => context.signal,\n () => cancelled = true\n );\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const createQueryFnContext = () => {\n const queryFnContext2 = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext2);\n return queryFnContext2;\n };\n const queryFnContext = createQueryFnContext();\n const page = await queryFn(queryFnContext);\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #client;\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.#client = config.client;\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n const mutationFnContext = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables, mutationFnContext);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n if (this.#mutationCache.config.onMutate) {\n await this.#mutationCache.config.onMutate(\n variables,\n this,\n mutationFnContext\n );\n }\n const context = await this.options.onMutate?.(\n variables,\n mutationFnContext\n );\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSuccess?.(\n data,\n variables,\n this.state.context,\n mutationFnContext\n );\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n await this.options.onSettled?.(\n data,\n null,\n variables,\n this.state.context,\n mutationFnContext\n );\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onError?.(\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context,\n mutationFnContext\n );\n } catch (e) {\n void Promise.reject(e);\n }\n this.#dispatch({ type: \"error\", error });\n throw error;\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n client,\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nfunction difference(array1, array2) {\n const excludeSet = new Set(array2);\n return array1.filter((x) => !excludeSet.has(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n #client;\n #result;\n #queries;\n #options;\n #observers;\n #combinedResult;\n #lastCombine;\n #lastResult;\n #lastQueryHashes;\n #observerMatches = [];\n constructor(client, queries, options) {\n super();\n this.#client = client;\n this.#options = options;\n this.#queries = [];\n this.#observers = [];\n this.#result = [];\n this.setQueries(queries);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#observers.forEach((observer) => {\n observer.destroy();\n });\n }\n setQueries(queries, options) {\n this.#queries = queries;\n this.#options = options;\n if (process.env.NODE_ENV !== \"production\") {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash\n );\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n \"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\"\n );\n }\n }\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n newObserverMatches.forEach(\n (match) => match.observer.setOptions(match.defaultedQueryOptions)\n );\n const newObservers = newObserverMatches.map((match) => match.observer);\n const newResult = newObservers.map(\n (observer) => observer.getCurrentResult()\n );\n const hasLengthChange = prevObservers.length !== newObservers.length;\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index]\n );\n const hasStructuralChange = hasLengthChange || hasIndexChange;\n const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n const prev = this.#result[index];\n return !prev || !shallowEqualObjects(result, prev);\n });\n if (!hasStructuralChange && !hasResultChange) return;\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches;\n this.#observers = newObservers;\n }\n this.#result = newResult;\n if (!this.hasListeners()) return;\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries, combine) {\n const matches = this.#findMatchingObservers(queries);\n const result = matches.map(\n (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n );\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash\n );\n return [\n result,\n (r) => {\n return this.#combineResult(r ?? result, combine, queryHashes);\n },\n () => {\n return this.#trackResult(result, matches);\n }\n ];\n }\n #trackResult(result, matches) {\n return matches.map((match, index) => {\n const observerResult = result[index];\n return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp);\n });\n }) : observerResult;\n });\n }\n #combineResult(input, combine, queryHashes) {\n if (combine) {\n const lastHashes = this.#lastQueryHashes;\n const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n if (!this.#combinedResult || this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n this.#lastCombine = combine;\n this.#lastResult = this.#result;\n if (queryHashes !== void 0) {\n this.#lastQueryHashes = queryHashes;\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input)\n );\n }\n return this.#combinedResult;\n }\n return input;\n }\n #findMatchingObservers(queries) {\n const prevObserversMap = /* @__PURE__ */ new Map();\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash;\n if (!key) return;\n const previousObservers = prevObserversMap.get(key);\n if (previousObservers) {\n previousObservers.push(observer);\n } else {\n prevObserversMap.set(key, [observer]);\n }\n });\n const observers = [];\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift();\n const observer = match ?? new QueryObserver(this.#client, defaultedOptions);\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer\n });\n });\n return observers;\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n if (this.hasListeners()) {\n const previousResult = this.#combinedResult;\n const newTracked = this.#trackResult(this.#result, this.#observerMatches);\n const newResult = this.#combineResult(newTracked, this.#options?.combine);\n if (previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result);\n });\n });\n }\n }\n }\n};\nexport {\n QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled() && !query.isStatic()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary, query) => {\n const throwOnError = query?.state.error && typeof options.throwOnError === \"function\" ? shouldThrowError(options.throwOnError, [query.state.error, query]) : options.throwOnError;\n if (options.suspense || options.experimental_prefetchInRender || throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n const MIN_SUSPENSE_TIME_MS = 1e3;\n const clamp = (value) => value === \"static\" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);\n const originalStaleTime = defaultedOptions.staleTime;\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(\n defaultedOptions.gcTime,\n MIN_SUSPENSE_TIME_MS\n );\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useQueries.ts\nimport * as React from \"react\";\nimport {\n QueriesObserver,\n QueryObserver,\n noop,\n notifyManager\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend\n} from \"./suspense.js\";\nfunction useQueries({\n queries,\n ...options\n}, queryClient) {\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(\n () => queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(\n opts\n );\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n return defaultedOptions;\n }),\n [queries, client, isRestoring]\n );\n defaultedQueries.forEach((queryOptions) => {\n ensureSuspenseTimers(queryOptions);\n const query = client.getQueryCache().get(queryOptions.queryHash);\n ensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new QueriesObserver(\n client,\n defaultedQueries,\n options\n )\n );\n const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(\n defaultedQueries,\n options.combine\n );\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop,\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setQueries(\n defaultedQueries,\n options\n );\n }, [defaultedQueries, options, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some(\n (result, index) => shouldSuspend(defaultedQueries[index], result)\n );\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index];\n if (opts && shouldSuspend(opts, result)) {\n const queryObserver = new QueryObserver(client, opts);\n return fetchOptimistic(opts, queryObserver, errorResetBoundary);\n }\n return [];\n }) : [];\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) => {\n const query = defaultedQueries[index];\n return query && getHasError({\n result,\n errorResetBoundary,\n throwOnError: query.throwOnError,\n query: client.getQueryCache().get(query.queryHash),\n suspense: query.suspense\n });\n }\n );\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n return getCombinedResult(trackResult());\n}\nexport {\n useQueries\n};\n//# sourceMappingURL=useQueries.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const client = useQueryClient(queryClient);\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n const query = client.getQueryCache().get(defaultedOptions.queryHash);\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary, query);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query,\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n query?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n React.useCallback(() => selector(api.getInitialState()), [api, selector])\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst shouldDispatchFromDevtools = (api) => !!api.dispatchFromDevtools && typeof api.dispatch === \"function\";\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (shouldDispatchFromDevtools(api)) {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (shouldDispatchFromDevtools(api)) {\n api.dispatch(action);\n }\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => window.localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n let hydrationVersion = 0;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n const currentVersion = ++hydrationVersion;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n if (currentVersion !== hydrationVersion) {\n return;\n }\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nfunction ssrSafe(config, isSSR = typeof window === \"undefined\") {\n return (set, get, api) => {\n if (!isSSR) {\n return config(set, get, api);\n }\n const ssrSet = () => {\n throw new Error(\"Cannot set state of Zustand store in SSR\");\n };\n api.setState = ssrSet;\n return config(ssrSet, get, api);\n };\n}\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector, ssrSafe as unstable_ssrSafe };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import React from 'react';\nimport { shallow } from 'zustand/vanilla/shallow';\n\nfunction useShallow(selector) {\n const prev = React.useRef(void 0);\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n"],"names":["observerMap","RootIds","rootId","unsupportedValue","getRootId","root","optionsToId","options","key","createObserver","id","instance","elements","thresholds","observer","entries","entry","_a2","inView","threshold","callback","observe","element","fallbackInView","bounds","callbacks","useInView","delay","trackVisibility","rootMargin","triggerOnce","skip","initialInView","onChange","ref","setRef","React2","lastInViewRef","state","setState","unobserve","previousInView","entryTarget","previousEntryTarget","result","Subscribable","listener","defaultTimeoutProvider","timeoutId","intervalId","TimeoutManager","#provider","#providerCalled","provider","timeoutManager","systemSetTimeoutZero","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","resolveStaleTime","query","resolveEnabled","enabled","matchQuery","filters","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","_","val","isPlainObject","a","b","hasOwn","replaceEqualDeep","depth","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","aItem","bItem","v","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","timeout","resolve","replaceData","prevData","data","error","addToEnd","items","item","max","newItems","addToStart","skipToken","ensureQueryFn","fetchOptions","shouldThrowError","throwOnError","params","addConsumeAwareSignal","object","getSignal","onCancelled","consumed","signal","FocusManager","#focused","#cleanup","#setup","onFocus","setup","focused","isFocused","focusManager","pendingThenable","reject","thenable","_resolve","_reject","finalize","reason","defaultScheduler","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","args","fn","notifyManager","OnlineManager","#online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","createRetryer","config","isRetryCancelled","continueFn","isResolved","cancel","cancelOptions","cancelRetry","continueRetry","canContinue","canStart","pause","continueResolve","run","promiseOrValue","initialPromise","retry","retryDelay","shouldRetry","Removable","#gcTimeout","newGcTime","Query","#initialState","#revertState","#cache","#client","#retryer","#defaultOptions","#abortSignalConsumed","getDefaultState","defaultState","successState","newData","#dispatch","setStateOptions","promise","x","abortController","addSignalProperty","fetchFn","queryFn","queryFnContext","queryFnContext2","context","context2","action","reducer","fetchState","newState","dataUpdatedAt","hasData","initialDataUpdatedAt","QueryObserver","client","#selectError","#currentThenable","#currentQuery","#currentQueryInitialState","#currentResult","#currentResultState","#currentResultOptions","#selectFn","#selectResult","#lastQueryWithDefinedData","#staleTimeoutId","#refetchIntervalId","#currentRefetchInterval","#trackedProps","shouldFetchOnMount","#executeFetch","#updateTimers","shouldFetchOn","#clearStaleTimeout","#clearRefetchInterval","prevOptions","prevQuery","#updateQuery","mounted","shouldFetchOptionally","#updateStaleTimeout","nextRefetchInterval","#computeRefetchInterval","#updateRefetchInterval","shouldAssignObserverCurrentProperties","onPropTracked","target","defaultedOptions","nextInterval","prevResult","prevResultState","prevResultOptions","queryInitialState","isPlaceholderData","fetchOnMount","fetchOptionally","errorUpdatedAt","skipSelect","placeholderData","selectError","isFetching","isPending","isError","isLoading","nextResult","isStale","hasResultData","isErrorWithoutData","finalizeThenableIfPossible","recreateThenable","pending","prevThenable","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","#notify","notifyOptions","shouldLoadOnMount","field","optimisticResult","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","currentPage","cancelled","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","Mutation","#observers","#mutationCache","variables","onContinue","mutationFnContext","restored","isPaused","e","MutationCache","#mutations","#scopes","#mutationId","scope","scopeFor","scopedMutations","index","firstPendingMutation","m","defaultedFilters","event","pausedMutations","MutationObserver","#currentMutation","#mutateOptions","#updateResult","onMutateResult","difference","array1","array2","excludeSet","replaceAt","QueriesObserver","#result","#queries","#options","#combinedResult","#lastCombine","#lastResult","#lastQueryHashes","#observerMatches","queries","#onUpdate","queryHashes","prevObservers","newObserverMatches","#findMatchingObservers","match","newObservers","newResult","hasLengthChange","hasIndexChange","hasStructuralChange","hasResultChange","prev","combine","matches","r","#combineResult","#trackResult","observerResult","accessedProp","lastHashes","queryHashesChanged","hash","prevObserversMap","previousObservers","observers","previousResult","newTracked","QueryCache","queryHash","queryInMap","QueryClient","#queryCache","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline","cachedData","queryCache","defaultedCancelOptions","promises","defaults","queryDefault","QueryClientContext","React","useQueryClient","queryClient","QueryClientProvider","children","jsx","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","suspense","ensureSuspenseTimers","clamp","originalStaleTime","willFetch","isRestoring","shouldSuspend","fetchOptimistic","useQueries","defaultedQueries","opts","queryOptions","getCombinedResult","trackResult","shouldSubscribe","onStoreChange","suspensePromises","queryObserver","firstSingleResultWhichShouldThrow","useBaseQuery","Observer","isNewCacheEntry","unsubscribe","useQuery","useMutation","mutate","mutateOptions","createStoreImpl","createState","listeners","partial","replace","nextState","previousState","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","shouldDispatchFromDevtools","trackedConnections","getTrackedConnectionState","name","api2","extractConnectionInformation","store","extensionConnector","existingConnection","newConnection","removeStoreFromTrackedConnections","connectionInfo","findCallerName","stack","_a","_b","traceLines","apiSetStateLineIndex","traceLine","callerLine","devtoolsImpl","devtoolsOptions","set","get","anonymousActionType","__vite_import_meta_env__","connection","connectionInformation","isRecording","nameOrAction","setStateFromDevtools","originalIsRecording","store2","didWarnAboutReservedActionType","originalDispatch","message","parseJsonThen","stateFromDevtools","nextLiftedState","lastComputedState","devtools","stringified","parsed","subscribeWithSelectorImpl","origSubscribe","optListener","equalityFn","currentSlice","nextSlice","previousSlice","subscribeWithSelector","createJSONStorage","getStorage","storage","parse","str2","str","newValue","toThenable","onFulfilled","_onRejected","_onFulfilled","onRejected","persistImpl","baseOptions","persistedState","currentState","hasHydrated","hydrationVersion","hydrationListeners","finishHydrationListeners","setItem","savedSetState","configResult","stateFromStorage","hydrate","currentVersion","cb","postRehydrationCallback","deserializedStorageValue","migration","migrationResult","migrated","migratedState","newOptions","persist","isIterable","obj","hasIterableEntries","compareEntries","valueA","valueB","mapA","mapB","compareIterables","iteratorA","iteratorB","nextA","nextB","shallow","useShallow","next","LZString","f","keyStrBase64","keyStrUriSafe","baseReverseDic","getBaseValue","alphabet","character","res","compressed","uncompressed","buf","TotalLen","current_value","c","bitsPerChar","getCharFromInt","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","ii","length","resetValue","getNextValue","dictionary","enlargeIn","dictSize","numBits","bits","resb","maxpower","power","module"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]}