zudoku 0.0.0-z25d5d85c → 0.0.0-z2f55b5ae

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 (244) hide show
  1. package/dist/app/main.js +1 -1
  2. package/dist/app/main.js.map +1 -1
  3. package/dist/config/create-plugin.d.ts +2 -0
  4. package/dist/config/create-plugin.js +55 -0
  5. package/dist/config/create-plugin.js.map +1 -0
  6. package/dist/config/loader.js +2 -2
  7. package/dist/config/loader.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +118 -68
  9. package/dist/config/validators/InputNavigationSchema.js +17 -0
  10. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  11. package/dist/config/validators/NavigationSchema.d.ts +10 -2
  12. package/dist/config/validators/NavigationSchema.js +7 -0
  13. package/dist/config/validators/NavigationSchema.js.map +1 -1
  14. package/dist/config/validators/validate.d.ts +5 -4
  15. package/dist/config/validators/validate.js +2 -0
  16. package/dist/config/validators/validate.js.map +1 -1
  17. package/dist/flat-config.d.ts +36 -24
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/components/Bootstrap.js +1 -2
  22. package/dist/lib/components/Bootstrap.js.map +1 -1
  23. package/dist/lib/components/MobileTopNavigation.js +2 -1
  24. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  25. package/dist/lib/components/Slot.test.js +1 -1
  26. package/dist/lib/components/Slot.test.js.map +1 -1
  27. package/dist/lib/components/TopNavigation.d.ts +7 -1
  28. package/dist/lib/components/TopNavigation.js +7 -2
  29. package/dist/lib/components/TopNavigation.js.map +1 -1
  30. package/dist/lib/components/Zudoku.d.ts +4 -1
  31. package/dist/lib/components/Zudoku.js +4 -7
  32. package/dist/lib/components/Zudoku.js.map +1 -1
  33. package/dist/lib/components/context/ZudokuContext.d.ts +9 -4
  34. package/dist/lib/components/context/ZudokuContext.js +4 -2
  35. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  36. package/dist/lib/components/context/ZudokuProvider.js +1 -1
  37. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  38. package/dist/lib/components/context/ZudokuReactContext.d.ts +11 -0
  39. package/dist/lib/components/context/ZudokuReactContext.js +4 -0
  40. package/dist/lib/components/context/ZudokuReactContext.js.map +1 -0
  41. package/dist/lib/components/navigation/Navigation.js +4 -3
  42. package/dist/lib/components/navigation/Navigation.js.map +1 -1
  43. package/dist/lib/components/navigation/NavigationCategory.js +8 -0
  44. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  45. package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
  46. package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
  47. package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
  48. package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
  49. package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
  50. package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
  51. package/dist/lib/components/navigation/NavigationItem.js +11 -1
  52. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  53. package/dist/lib/components/navigation/utils.d.ts +2 -1
  54. package/dist/lib/components/navigation/utils.js +22 -1
  55. package/dist/lib/components/navigation/utils.js.map +1 -1
  56. package/dist/lib/core/ZudokuContext.d.ts +2 -1
  57. package/dist/lib/core/ZudokuContext.js +3 -1
  58. package/dist/lib/core/ZudokuContext.js.map +1 -1
  59. package/dist/lib/core/__internal.d.ts +1 -0
  60. package/dist/lib/core/__internal.js +2 -0
  61. package/dist/lib/core/__internal.js.map +1 -1
  62. package/dist/lib/core/plugins.d.ts +5 -1
  63. package/dist/lib/core/plugins.js.map +1 -1
  64. package/dist/lib/core/transform-config.d.ts +4 -2
  65. package/dist/lib/core/transform-config.js +33 -13
  66. package/dist/lib/core/transform-config.js.map +1 -1
  67. package/dist/lib/core/transform-config.test.d.ts +1 -0
  68. package/dist/lib/core/transform-config.test.js +83 -0
  69. package/dist/lib/core/transform-config.test.js.map +1 -0
  70. package/dist/lib/errors/ErrorAlert.js +1 -2
  71. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  72. package/dist/lib/hooks/useEvent.test.js +1 -1
  73. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  74. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
  75. package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
  76. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
  77. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
  78. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
  79. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
  80. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
  81. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  82. package/dist/lib/ui/Alert.d.ts +3 -2
  83. package/dist/lib/ui/Alert.js +9 -5
  84. package/dist/lib/ui/Alert.js.map +1 -1
  85. package/dist/lib/ui/InputGroup.d.ts +16 -0
  86. package/dist/lib/ui/InputGroup.js +65 -0
  87. package/dist/lib/ui/InputGroup.js.map +1 -0
  88. package/dist/lib/ui/Secret.js +2 -2
  89. package/dist/lib/ui/Secret.js.map +1 -1
  90. package/dist/vite/config.js +5 -2
  91. package/dist/vite/config.js.map +1 -1
  92. package/dist/vite/plugin-config.js +16 -4
  93. package/dist/vite/plugin-config.js.map +1 -1
  94. package/dist/vite/plugin-theme.js +2 -1
  95. package/dist/vite/plugin-theme.js.map +1 -1
  96. package/dist/vite/prerender/prerender.js +3 -1
  97. package/dist/vite/prerender/prerender.js.map +1 -1
  98. package/dist/vite/prerender/worker.js +3 -1
  99. package/dist/vite/prerender/worker.js.map +1 -1
  100. package/lib/{ClaudeLogo-C6q-Xn_l.js → ClaudeLogo-Br8C_vTq.js} +3 -3
  101. package/lib/{ClaudeLogo-C6q-Xn_l.js.map → ClaudeLogo-Br8C_vTq.js.map} +1 -1
  102. package/lib/Drawer-Ch7927PF.js.map +1 -1
  103. package/lib/{HydrationBoundary-CNF2ZV3E.js → HydrationBoundary-CJu4vUlG.js} +6 -6
  104. package/lib/{HydrationBoundary-CNF2ZV3E.js.map → HydrationBoundary-CJu4vUlG.js.map} +1 -1
  105. package/lib/{MdxPage-B1G4W1TK.js → MdxPage-C0QFAsgv.js} +6 -6
  106. package/lib/{MdxPage-B1G4W1TK.js.map → MdxPage-C0QFAsgv.js.map} +1 -1
  107. package/lib/Mermaid-Chx5BPHn.js +104 -0
  108. package/lib/Mermaid-Chx5BPHn.js.map +1 -0
  109. package/lib/{OAuthErrorPage-01Ke086W.js → OAuthErrorPage-CFz_gBFx.js} +11 -10
  110. package/lib/{OAuthErrorPage-01Ke086W.js.map → OAuthErrorPage-CFz_gBFx.js.map} +1 -1
  111. package/lib/{OasProvider-oHPiMJZg.js → OasProvider-BnQ1_ehf.js} +3 -3
  112. package/lib/{OasProvider-oHPiMJZg.js.map → OasProvider-BnQ1_ehf.js.map} +1 -1
  113. package/lib/OperationList-Bw-3OS_8.js +5907 -0
  114. package/lib/OperationList-Bw-3OS_8.js.map +1 -0
  115. package/lib/{RouteGuard-B1lCR0C_.js → RouteGuard-CVs3yvEs.js} +3 -3
  116. package/lib/{RouteGuard-B1lCR0C_.js.map → RouteGuard-CVs3yvEs.js.map} +1 -1
  117. package/lib/{SchemaList-DoQFkJgM.js → SchemaList-IehIWcDV.js} +7 -7
  118. package/lib/{SchemaList-DoQFkJgM.js.map → SchemaList-IehIWcDV.js.map} +1 -1
  119. package/lib/{SchemaView-D2k6ZJck.js → SchemaView-BZLyoQRI.js} +3 -3
  120. package/lib/{SchemaView-D2k6ZJck.js.map → SchemaView-BZLyoQRI.js.map} +1 -1
  121. package/lib/{Secret-BDBqq4p3.js → Secret-DUpgv4V3.js} +92 -72
  122. package/lib/Secret-DUpgv4V3.js.map +1 -0
  123. package/lib/{SignUp-8kDBaLbO.js → SignUp-Dug1jAGC.js} +4 -4
  124. package/lib/{SignUp-8kDBaLbO.js.map → SignUp-Dug1jAGC.js.map} +1 -1
  125. package/lib/{SyntaxHighlight-hZOFnYl0.js → SyntaxHighlight-BMu0b_hF.js} +8 -8
  126. package/lib/{SyntaxHighlight-hZOFnYl0.js.map → SyntaxHighlight-BMu0b_hF.js.map} +1 -1
  127. package/lib/{Toc-qEIii_-W.js → Toc-BiJ2YL0O.js} +2 -2
  128. package/lib/{Toc-qEIii_-W.js.map → Toc-BiJ2YL0O.js.map} +1 -1
  129. package/lib/{Zudoku-DUsdmPME.js → Zudoku-iyiXgWFY.js} +2777 -2622
  130. package/lib/Zudoku-iyiXgWFY.js.map +1 -0
  131. package/lib/ZudokuContext-CYyb_PB_.js +175 -0
  132. package/lib/ZudokuContext-CYyb_PB_.js.map +1 -0
  133. package/lib/ZudokuReactContext-DGJAP1sN.js +222 -0
  134. package/lib/ZudokuReactContext-DGJAP1sN.js.map +1 -0
  135. package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -1
  136. package/lib/{circular-D9tSKG2c.js → circular-CfBNz-Ot.js} +2 -2
  137. package/lib/{circular-D9tSKG2c.js.map → circular-CfBNz-Ot.js.map} +1 -1
  138. package/lib/{createServer-BprC4n85.js → createServer-BtZPTSEO.js} +4 -4
  139. package/lib/{createServer-BprC4n85.js.map → createServer-BtZPTSEO.js.map} +1 -1
  140. package/lib/{errors-7hgPDs1h.js → errors-B77S9iOc.js} +2 -2
  141. package/lib/{errors-7hgPDs1h.js.map → errors-B77S9iOc.js.map} +1 -1
  142. package/lib/{firebase-Dwn-2ju-.js → firebase-C7XKRGLf.js} +25 -24
  143. package/lib/{firebase-Dwn-2ju-.js.map → firebase-C7XKRGLf.js.map} +1 -1
  144. package/lib/{hook-ZEd1Es7D.js → hook-Dz_n9SoE.js} +16 -15
  145. package/lib/{hook-ZEd1Es7D.js.map → hook-Dz_n9SoE.js.map} +1 -1
  146. package/lib/{index-Dxdhrp-I.js → index-BDp2MTiq.js} +2 -2
  147. package/lib/{index-Dxdhrp-I.js.map → index-BDp2MTiq.js.map} +1 -1
  148. package/lib/{index-CyIW9rHv.js → index-CQ-p1wyT.js} +642 -606
  149. package/lib/index-CQ-p1wyT.js.map +1 -0
  150. package/lib/index-CrcNWbel.js.map +1 -1
  151. package/lib/index-DAWHN3cH.js.map +1 -1
  152. package/lib/index.esm-BYObtETB.js.map +1 -1
  153. package/lib/index.esm-Ca5zvoff.js.map +1 -1
  154. package/lib/{index.esm-DG4KaDKR.js → index.esm-Cth49JBv.js} +2 -2
  155. package/lib/index.esm-Cth49JBv.js.map +1 -0
  156. package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
  157. package/lib/{mutation-BISOc7OM.js → mutation-B7eFBLZY.js} +2 -2
  158. package/lib/{mutation-BISOc7OM.js.map → mutation-B7eFBLZY.js.map} +1 -1
  159. package/lib/ui/Alert.js +32 -20
  160. package/lib/ui/Alert.js.map +1 -1
  161. package/lib/ui/Carousel.js.map +1 -1
  162. package/lib/ui/InputGroup.js +155 -0
  163. package/lib/ui/InputGroup.js.map +1 -0
  164. package/lib/ui/Secret.js +2 -2
  165. package/lib/ui/Secret.js.map +1 -1
  166. package/lib/ui/SyntaxHighlight.js +2 -2
  167. package/lib/useExposedProps-CzTDfXfq.js.map +1 -1
  168. package/lib/{useMutation-CFMGlAMW.js → useMutation-CErliDZ9.js} +5 -5
  169. package/lib/{useMutation-CFMGlAMW.js.map → useMutation-CErliDZ9.js.map} +1 -1
  170. package/lib/{useSuspenseQuery-CSB_rVek.js → useQuery-ht7aWJ3S.js} +432 -446
  171. package/lib/useQuery-ht7aWJ3S.js.map +1 -0
  172. package/lib/useSuspenseQuery-DQH4Bmc2.js +18 -0
  173. package/lib/useSuspenseQuery-DQH4Bmc2.js.map +1 -0
  174. package/lib/zudoku.__internal.js +1518 -1033
  175. package/lib/zudoku.__internal.js.map +1 -1
  176. package/lib/zudoku.auth-auth0.js +6 -5
  177. package/lib/zudoku.auth-auth0.js.map +1 -1
  178. package/lib/zudoku.auth-azureb2c.js +14 -13
  179. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  180. package/lib/zudoku.auth-clerk.js +2 -2
  181. package/lib/zudoku.auth-firebase.js +4 -4
  182. package/lib/zudoku.auth-openid.js +7 -6
  183. package/lib/zudoku.auth-openid.js.map +1 -1
  184. package/lib/zudoku.auth-supabase.js +4 -4
  185. package/lib/zudoku.components.js +3 -3
  186. package/lib/zudoku.hooks.js +3 -3
  187. package/lib/zudoku.mermaid.js +3 -3
  188. package/lib/zudoku.plugin-api-catalog.js +28 -27
  189. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  190. package/lib/zudoku.plugin-api-keys.js +98 -96
  191. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  192. package/lib/zudoku.plugin-custom-pages.js +1 -1
  193. package/lib/zudoku.plugin-markdown.js +1 -1
  194. package/lib/zudoku.plugin-openapi.js +2 -2
  195. package/lib/zudoku.plugin-search-pagefind.js +19 -18
  196. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  197. package/lib/zudoku.plugins.js.map +1 -1
  198. package/lib/zudoku.react-query.js +26 -25
  199. package/lib/zudoku.react-query.js.map +1 -1
  200. package/lib/zudoku.router.js.map +1 -1
  201. package/package.json +15 -9
  202. package/src/app/defaultTheme.css +4 -0
  203. package/src/app/main.css +2 -0
  204. package/src/app/main.tsx +1 -1
  205. package/src/lib/components/Bootstrap.tsx +1 -4
  206. package/src/lib/components/MobileTopNavigation.tsx +13 -8
  207. package/src/lib/components/Slot.test.tsx +1 -1
  208. package/src/lib/components/TopNavigation.tsx +25 -7
  209. package/src/lib/components/Zudoku.tsx +18 -14
  210. package/src/lib/components/context/ZudokuContext.ts +3 -6
  211. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  212. package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
  213. package/src/lib/components/navigation/Navigation.tsx +4 -3
  214. package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
  215. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
  216. package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
  217. package/src/lib/components/navigation/NavigationItem.tsx +17 -1
  218. package/src/lib/components/navigation/utils.ts +32 -1
  219. package/src/lib/core/ZudokuContext.ts +7 -1
  220. package/src/lib/core/__internal.tsx +2 -0
  221. package/src/lib/core/plugins.ts +7 -3
  222. package/src/lib/core/transform-config.test.tsx +99 -0
  223. package/src/lib/core/transform-config.ts +57 -19
  224. package/src/lib/errors/ErrorAlert.tsx +1 -6
  225. package/src/lib/hooks/useEvent.test.tsx +1 -1
  226. package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
  227. package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
  228. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
  229. package/src/lib/ui/Alert.tsx +17 -5
  230. package/src/lib/ui/InputGroup.tsx +168 -0
  231. package/src/lib/ui/Secret.tsx +2 -2
  232. package/lib/Mermaid-B1xNo-pf.js +0 -103
  233. package/lib/Mermaid-B1xNo-pf.js.map +0 -1
  234. package/lib/OperationList-CZ4OK8Pm.js +0 -5823
  235. package/lib/OperationList-CZ4OK8Pm.js.map +0 -1
  236. package/lib/Secret-BDBqq4p3.js.map +0 -1
  237. package/lib/Separator-BXt1LYnm.js +0 -27
  238. package/lib/Separator-BXt1LYnm.js.map +0 -1
  239. package/lib/Zudoku-DUsdmPME.js.map +0 -1
  240. package/lib/ZudokuContext-BBI06sOx.js +0 -387
  241. package/lib/ZudokuContext-BBI06sOx.js.map +0 -1
  242. package/lib/index-CyIW9rHv.js.map +0 -1
  243. package/lib/index.esm-DG4KaDKR.js.map +0 -1
  244. package/lib/useSuspenseQuery-CSB_rVek.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { t as U, b as g, f as _, g as z, i as B, S as T, n as c, m as C, j, Q as W, l as E, o as $, p as S, r as F, q as x, h as H, v as K, w as L, a as V } from "./useSuspenseQuery-CSB_rVek.js";
2
- import { M as G } from "./mutation-BISOc7OM.js";
1
+ import { t as U, e as g, i as _, j as z, l as B, S as T, n as c, m as C, o as j, p as x, q as E, r as W, v as S, w as F, x as $, h as H, y as K, s as L, b as V } from "./useQuery-ht7aWJ3S.js";
2
+ import { M as G } from "./mutation-B7eFBLZY.js";
3
3
  import * as b from "react";
4
4
  function k(e) {
5
5
  return e;
@@ -292,7 +292,7 @@ var se = class extends T {
292
292
  build(e, t, s) {
293
293
  const a = t.queryKey, r = t.queryHash ?? j(a, t);
294
294
  let i = this.get(r);
295
- return i || (i = new W({
295
+ return i || (i = new x({
296
296
  client: e,
297
297
  queryKey: a,
298
298
  queryHash: r,
@@ -368,7 +368,7 @@ var se = class extends T {
368
368
  this.#e = e.queryCache || new se(), this.#t = e.mutationCache || new te(), this.#s = e.defaultOptions || {}, this.#r = /* @__PURE__ */ new Map(), this.#i = /* @__PURE__ */ new Map(), this.#a = 0;
369
369
  }
370
370
  mount() {
371
- this.#a++, this.#a === 1 && (this.#n = $.subscribe(async (e) => {
371
+ this.#a++, this.#a === 1 && (this.#n = W.subscribe(async (e) => {
372
372
  e && (await this.resumePausedMutations(), this.#e.onFocus());
373
373
  }), this.#u = S.subscribe(async (e) => {
374
374
  e && (await this.resumePausedMutations(), this.#e.onOnline());
@@ -407,7 +407,7 @@ var se = class extends T {
407
407
  setQueryData(e, t, s) {
408
408
  const a = this.defaultQueryOptions({ queryKey: e }), i = this.#e.get(
409
409
  a.queryHash
410
- )?.state.data, h = x(t, i);
410
+ )?.state.data, h = $(t, i);
411
411
  if (h !== void 0)
412
412
  return this.#e.build(this, a).setData(h, { ...s, manual: !0 });
413
413
  }
@@ -598,4 +598,4 @@ export {
598
598
  ue as h,
599
599
  R as i
600
600
  };
601
- //# sourceMappingURL=HydrationBoundary-CNF2ZV3E.js.map
601
+ //# sourceMappingURL=HydrationBoundary-CJu4vUlG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HydrationBoundary-CNF2ZV3E.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/hydration.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/.pnpm/@tanstack+react-query@5.90.12_react@19.2.3/node_modules/@tanstack/react-query/build/modern/HydrationBoundary.js"],"sourcesContent":["// src/hydration.ts\nimport { tryResolveSync } from \"./thenable.js\";\nimport { noop } from \"./utils.js\";\nfunction defaultTransformerFn(data) {\n return data;\n}\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...mutation.options.scope && { scope: mutation.options.scope },\n ...mutation.meta && { meta: mutation.meta }\n };\n}\nfunction dehydrateQuery(query, serializeData, shouldRedactErrors) {\n const dehydratePromise = () => {\n const promise = query.promise?.then(serializeData).catch((error) => {\n if (!shouldRedactErrors(error)) {\n return Promise.reject(error);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`\n );\n }\n return Promise.reject(new Error(\"redacted\"));\n });\n promise?.catch(noop);\n return promise;\n };\n return {\n dehydratedAt: Date.now(),\n state: {\n ...query.state,\n ...query.state.data !== void 0 && {\n data: serializeData(query.state.data)\n }\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...query.state.status === \"pending\" && {\n promise: dehydratePromise()\n },\n ...query.meta && { meta: query.meta }\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === \"success\";\n}\nfunction defaultShouldRedactErrors(_) {\n return true;\n}\nfunction dehydrate(client, options = {}) {\n const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;\n const mutations = client.getMutationCache().getAll().flatMap(\n (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []\n );\n const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;\n const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;\n const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;\n const queries = client.getQueryCache().getAll().flatMap(\n (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []\n );\n return { mutations, queries };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== \"object\" || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;\n const mutations = dehydratedState.mutations || [];\n const queries = dehydratedState.queries || [];\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions\n },\n state\n );\n });\n queries.forEach(\n ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n const syncData = promise ? tryResolveSync(promise) : void 0;\n const rawData = state.data === void 0 ? syncData?.data : state.data;\n const data = rawData === void 0 ? rawData : deserializeData(rawData);\n let query = queryCache.get(queryHash);\n const existingQueryIsPending = query?.state.status === \"pending\";\n const existingQueryIsFetching = query?.state.fetchStatus === \"fetching\";\n if (query) {\n const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration\n // payloads that might not have dehydratedAt\n dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;\n if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {\n const { fetchStatus: _ignored, ...serializedState } = state;\n query.setState({\n ...serializedState,\n data\n });\n }\n } else {\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n data,\n fetchStatus: \"idle\",\n status: data !== void 0 ? \"success\" : state.status\n }\n );\n }\n if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,\n // this is always true for new queries\n (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {\n query.fetch(void 0, {\n // RSC transformed promises are not thenable\n initialPromise: Promise.resolve(promise).then(deserializeData)\n }).catch(noop);\n }\n }\n );\n}\nexport {\n defaultShouldDehydrateMutation,\n defaultShouldDehydrateQuery,\n dehydrate,\n hydrate\n};\n//# sourceMappingURL=hydration.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } 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 Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\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/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/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/HydrationBoundary.tsx\nimport * as React from \"react\";\nimport { hydrate } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nvar HydrationBoundary = ({\n children,\n options = {},\n state,\n queryClient\n}) => {\n const client = useQueryClient(queryClient);\n const optionsRef = React.useRef(options);\n React.useEffect(() => {\n optionsRef.current = options;\n });\n const hydrationQueue = React.useMemo(() => {\n if (state) {\n if (typeof state !== \"object\") {\n return;\n }\n const queryCache = client.getQueryCache();\n const queries = state.queries || [];\n const newQueries = [];\n const existingQueries = [];\n for (const dehydratedQuery of queries) {\n const existingQuery = queryCache.get(dehydratedQuery.queryHash);\n if (!existingQuery) {\n newQueries.push(dehydratedQuery);\n } else {\n const hydrationIsNewer = dehydratedQuery.state.dataUpdatedAt > existingQuery.state.dataUpdatedAt || dehydratedQuery.promise && existingQuery.state.status !== \"pending\" && existingQuery.state.fetchStatus !== \"fetching\" && dehydratedQuery.dehydratedAt !== void 0 && dehydratedQuery.dehydratedAt > existingQuery.state.dataUpdatedAt;\n if (hydrationIsNewer) {\n existingQueries.push(dehydratedQuery);\n }\n }\n }\n if (newQueries.length > 0) {\n hydrate(client, { queries: newQueries }, optionsRef.current);\n }\n if (existingQueries.length > 0) {\n return existingQueries;\n }\n }\n return void 0;\n }, [client, state]);\n React.useEffect(() => {\n if (hydrationQueue) {\n hydrate(client, { queries: hydrationQueue }, optionsRef.current);\n }\n }, [client, hydrationQueue]);\n return children;\n};\nexport {\n HydrationBoundary\n};\n//# sourceMappingURL=HydrationBoundary.js.map"],"names":["defaultTransformerFn","data","dehydrateMutation","mutation","dehydrateQuery","query","serializeData","shouldRedactErrors","dehydratePromise","promise","error","noop","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","defaultShouldRedactErrors","_","dehydrate","client","options","filterMutation","mutations","filterQuery","queries","hydrate","dehydratedState","mutationCache","queryCache","deserializeData","state","mutationOptions","queryKey","queryHash","meta","dehydratedAt","syncData","tryResolveSync","rawData","existingQueryIsPending","existingQueryIsFetching","hasNewerSyncData","_ignored","serializedState","infiniteQueryBehavior","pages","context","direction","oldPages","oldPageParams","result","currentPage","fetchFn","cancelled","addSignalProperty","object","queryFn","ensureQueryFn","fetchPage","param","previous","queryFnContext","queryFnContext2","page","maxPages","addTo","addToStart","addToEnd","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage","MutationCache","Subscribable","config","#mutations","#scopes","#mutationId","Mutation","scope","scopeFor","scopedMutations","index","firstPendingMutation","m","notifyManager","filters","defaultedFilters","matchMutation","event","listener","pausedMutations","x","QueryCache","#queries","hashQueryKeyByOptions","Query","queryInMap","matchQuery","QueryClient","#queryCache","#mutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline","focusManager","focused","onlineManager","online","defaultedOptions","cachedData","resolveStaleTime","updater","prevData","functionalUpdate","cancelOptions","defaultedCancelOptions","promises","fetchOptions","hashKey","defaults","queryDefault","partialMatchKey","mutationKey","skipToken","HydrationBoundary","children","queryClient","useQueryClient","optionsRef","React","hydrationQueue","newQueries","existingQueries","dehydratedQuery","existingQuery"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
1
+ {"version":3,"file":"HydrationBoundary-CJu4vUlG.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/hydration.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/.pnpm/@tanstack+react-query@5.90.12_react@19.2.4/node_modules/@tanstack/react-query/build/modern/HydrationBoundary.js"],"sourcesContent":["// src/hydration.ts\nimport { tryResolveSync } from \"./thenable.js\";\nimport { noop } from \"./utils.js\";\nfunction defaultTransformerFn(data) {\n return data;\n}\nfunction dehydrateMutation(mutation) {\n return {\n mutationKey: mutation.options.mutationKey,\n state: mutation.state,\n ...mutation.options.scope && { scope: mutation.options.scope },\n ...mutation.meta && { meta: mutation.meta }\n };\n}\nfunction dehydrateQuery(query, serializeData, shouldRedactErrors) {\n const dehydratePromise = () => {\n const promise = query.promise?.then(serializeData).catch((error) => {\n if (!shouldRedactErrors(error)) {\n return Promise.reject(error);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `A query that was dehydrated as pending ended up rejecting. [${query.queryHash}]: ${error}; The error will be redacted in production builds`\n );\n }\n return Promise.reject(new Error(\"redacted\"));\n });\n promise?.catch(noop);\n return promise;\n };\n return {\n dehydratedAt: Date.now(),\n state: {\n ...query.state,\n ...query.state.data !== void 0 && {\n data: serializeData(query.state.data)\n }\n },\n queryKey: query.queryKey,\n queryHash: query.queryHash,\n ...query.state.status === \"pending\" && {\n promise: dehydratePromise()\n },\n ...query.meta && { meta: query.meta }\n };\n}\nfunction defaultShouldDehydrateMutation(mutation) {\n return mutation.state.isPaused;\n}\nfunction defaultShouldDehydrateQuery(query) {\n return query.state.status === \"success\";\n}\nfunction defaultShouldRedactErrors(_) {\n return true;\n}\nfunction dehydrate(client, options = {}) {\n const filterMutation = options.shouldDehydrateMutation ?? client.getDefaultOptions().dehydrate?.shouldDehydrateMutation ?? defaultShouldDehydrateMutation;\n const mutations = client.getMutationCache().getAll().flatMap(\n (mutation) => filterMutation(mutation) ? [dehydrateMutation(mutation)] : []\n );\n const filterQuery = options.shouldDehydrateQuery ?? client.getDefaultOptions().dehydrate?.shouldDehydrateQuery ?? defaultShouldDehydrateQuery;\n const shouldRedactErrors = options.shouldRedactErrors ?? client.getDefaultOptions().dehydrate?.shouldRedactErrors ?? defaultShouldRedactErrors;\n const serializeData = options.serializeData ?? client.getDefaultOptions().dehydrate?.serializeData ?? defaultTransformerFn;\n const queries = client.getQueryCache().getAll().flatMap(\n (query) => filterQuery(query) ? [dehydrateQuery(query, serializeData, shouldRedactErrors)] : []\n );\n return { mutations, queries };\n}\nfunction hydrate(client, dehydratedState, options) {\n if (typeof dehydratedState !== \"object\" || dehydratedState === null) {\n return;\n }\n const mutationCache = client.getMutationCache();\n const queryCache = client.getQueryCache();\n const deserializeData = options?.defaultOptions?.deserializeData ?? client.getDefaultOptions().hydrate?.deserializeData ?? defaultTransformerFn;\n const mutations = dehydratedState.mutations || [];\n const queries = dehydratedState.queries || [];\n mutations.forEach(({ state, ...mutationOptions }) => {\n mutationCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.mutations,\n ...options?.defaultOptions?.mutations,\n ...mutationOptions\n },\n state\n );\n });\n queries.forEach(\n ({ queryKey, state, queryHash, meta, promise, dehydratedAt }) => {\n const syncData = promise ? tryResolveSync(promise) : void 0;\n const rawData = state.data === void 0 ? syncData?.data : state.data;\n const data = rawData === void 0 ? rawData : deserializeData(rawData);\n let query = queryCache.get(queryHash);\n const existingQueryIsPending = query?.state.status === \"pending\";\n const existingQueryIsFetching = query?.state.fetchStatus === \"fetching\";\n if (query) {\n const hasNewerSyncData = syncData && // We only need this undefined check to handle older dehydration\n // payloads that might not have dehydratedAt\n dehydratedAt !== void 0 && dehydratedAt > query.state.dataUpdatedAt;\n if (state.dataUpdatedAt > query.state.dataUpdatedAt || hasNewerSyncData) {\n const { fetchStatus: _ignored, ...serializedState } = state;\n query.setState({\n ...serializedState,\n data\n });\n }\n } else {\n query = queryCache.build(\n client,\n {\n ...client.getDefaultOptions().hydrate?.queries,\n ...options?.defaultOptions?.queries,\n queryKey,\n queryHash,\n meta\n },\n // Reset fetch status to idle to avoid\n // query being stuck in fetching state upon hydration\n {\n ...state,\n data,\n fetchStatus: \"idle\",\n status: data !== void 0 ? \"success\" : state.status\n }\n );\n }\n if (promise && !existingQueryIsPending && !existingQueryIsFetching && // Only hydrate if dehydration is newer than any existing data,\n // this is always true for new queries\n (dehydratedAt === void 0 || dehydratedAt > query.state.dataUpdatedAt)) {\n query.fetch(void 0, {\n // RSC transformed promises are not thenable\n initialPromise: Promise.resolve(promise).then(deserializeData)\n }).catch(noop);\n }\n }\n );\n}\nexport {\n defaultShouldDehydrateMutation,\n defaultShouldDehydrateQuery,\n dehydrate,\n hydrate\n};\n//# sourceMappingURL=hydration.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } 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 Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\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/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/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/HydrationBoundary.tsx\nimport * as React from \"react\";\nimport { hydrate } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nvar HydrationBoundary = ({\n children,\n options = {},\n state,\n queryClient\n}) => {\n const client = useQueryClient(queryClient);\n const optionsRef = React.useRef(options);\n React.useEffect(() => {\n optionsRef.current = options;\n });\n const hydrationQueue = React.useMemo(() => {\n if (state) {\n if (typeof state !== \"object\") {\n return;\n }\n const queryCache = client.getQueryCache();\n const queries = state.queries || [];\n const newQueries = [];\n const existingQueries = [];\n for (const dehydratedQuery of queries) {\n const existingQuery = queryCache.get(dehydratedQuery.queryHash);\n if (!existingQuery) {\n newQueries.push(dehydratedQuery);\n } else {\n const hydrationIsNewer = dehydratedQuery.state.dataUpdatedAt > existingQuery.state.dataUpdatedAt || dehydratedQuery.promise && existingQuery.state.status !== \"pending\" && existingQuery.state.fetchStatus !== \"fetching\" && dehydratedQuery.dehydratedAt !== void 0 && dehydratedQuery.dehydratedAt > existingQuery.state.dataUpdatedAt;\n if (hydrationIsNewer) {\n existingQueries.push(dehydratedQuery);\n }\n }\n }\n if (newQueries.length > 0) {\n hydrate(client, { queries: newQueries }, optionsRef.current);\n }\n if (existingQueries.length > 0) {\n return existingQueries;\n }\n }\n return void 0;\n }, [client, state]);\n React.useEffect(() => {\n if (hydrationQueue) {\n hydrate(client, { queries: hydrationQueue }, optionsRef.current);\n }\n }, [client, hydrationQueue]);\n return children;\n};\nexport {\n HydrationBoundary\n};\n//# sourceMappingURL=HydrationBoundary.js.map"],"names":["defaultTransformerFn","data","dehydrateMutation","mutation","dehydrateQuery","query","serializeData","shouldRedactErrors","dehydratePromise","promise","error","noop","defaultShouldDehydrateMutation","defaultShouldDehydrateQuery","defaultShouldRedactErrors","_","dehydrate","client","options","filterMutation","mutations","filterQuery","queries","hydrate","dehydratedState","mutationCache","queryCache","deserializeData","state","mutationOptions","queryKey","queryHash","meta","dehydratedAt","syncData","tryResolveSync","rawData","existingQueryIsPending","existingQueryIsFetching","hasNewerSyncData","_ignored","serializedState","infiniteQueryBehavior","pages","context","direction","oldPages","oldPageParams","result","currentPage","fetchFn","cancelled","addSignalProperty","object","queryFn","ensureQueryFn","fetchPage","param","previous","queryFnContext","queryFnContext2","page","maxPages","addTo","addToStart","addToEnd","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","hasNextPage","hasPreviousPage","MutationCache","Subscribable","config","#mutations","#scopes","#mutationId","Mutation","scope","scopeFor","scopedMutations","index","firstPendingMutation","m","notifyManager","filters","defaultedFilters","matchMutation","event","listener","pausedMutations","x","QueryCache","#queries","hashQueryKeyByOptions","Query","queryInMap","matchQuery","QueryClient","#queryCache","#mutationCache","#defaultOptions","#queryDefaults","#mutationDefaults","#mountCount","#unsubscribeFocus","#unsubscribeOnline","focusManager","focused","onlineManager","online","defaultedOptions","cachedData","resolveStaleTime","updater","prevData","functionalUpdate","cancelOptions","defaultedCancelOptions","promises","fetchOptions","hashKey","defaults","queryDefault","partialMatchKey","mutationKey","skipToken","HydrationBoundary","children","queryClient","useQueryClient","optionsRef","React","hydrationQueue","newQueries","existingQueries","dehydratedQuery","existingQuery"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -1,5 +1,5 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import { s as H } from "./index-Dxdhrp-I.js";
2
+ import { s as H } from "./index-BDp2MTiq.js";
3
3
  import { H as R } from "./index.esm-Ca5zvoff.js";
4
4
  import { CheckIcon as U, CopyIcon as _, ChevronDownIcon as $, Link2Icon as A, ExternalLinkIcon as q, EditIcon as B } from "lucide-react";
5
5
  import { useState as F, useEffect as G } from "react";
@@ -7,10 +7,10 @@ import { a as V } from "./chunk-EPOLDU6W-C6C8jAwd.js";
7
7
  import { B as j } from "./Button-GUVe7pmt.js";
8
8
  import { D as W, a as X, b as J, c as l } from "./DropdownMenu-DN0jNrjj.js";
9
9
  import { C as K } from "./CategoryHeading-DhmodDcq.js";
10
- import { T as O, H as f } from "./Zudoku-DUsdmPME.js";
11
- import { T as Q } from "./Toc-qEIii_-W.js";
12
- import { c as Y, j as Z, d as ee } from "./ZudokuContext-BBI06sOx.js";
13
- import { C as se, a as oe, P as ie } from "./ClaudeLogo-C6q-Xn_l.js";
10
+ import { T as O, H as f } from "./Zudoku-iyiXgWFY.js";
11
+ import { T as Q } from "./Toc-BiJ2YL0O.js";
12
+ import { b as Y, j as Z, c as ee } from "./ZudokuContext-CYyb_PB_.js";
13
+ import { C as se, a as oe, P as ie } from "./ClaudeLogo-Br8C_vTq.js";
14
14
  import { u as ne } from "./useExposedProps-CzTDfXfq.js";
15
15
  const ae = {
16
16
  h2: ({ children: i, id: n }) => /* @__PURE__ */ e.jsx(f, { level: 2, id: n, registerNavigationAnchor: !0, children: i }),
@@ -207,4 +207,4 @@ const ae = {
207
207
  export {
208
208
  ve as MdxPage
209
209
  };
210
- //# sourceMappingURL=MdxPage-B1G4W1TK.js.map
210
+ //# sourceMappingURL=MdxPage-C0QFAsgv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdxPage-B1G4W1TK.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n CopyIcon,\n EditIcon,\n ExternalLinkIcon,\n Link2Icon,\n} from \"lucide-react\";\nimport { type PropsWithChildren, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { ChatGPTLogo } from \"./assets/ChatGPTLogo.js\";\nimport { ClaudeLogo } from \"./assets/ClaudeLogo.js\";\nimport type { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n basePath,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n basePath: string;\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n const location = useLocation();\n const [isCopied, setIsCopied] = useState(false);\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const copyMarkdownConfig =\n frontmatter.copyPage !== false && defaultOptions?.copyPage !== false;\n\n const markdownUrl = joinUrl(basePath, `${location.pathname}.md`);\n\n const handleCopyMarkdown = async () => {\n const response = await fetch(markdownUrl);\n if (!response.ok) throw new Error(\"Failed to fetch markdown\");\n const markdown = await response.text();\n void navigator.clipboard.writeText(markdown);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n };\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header className=\"flex items-start justify-between gap-4\">\n <div className=\"flex-1\">\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </div>\n {copyMarkdownConfig && (\n <div className=\"flex items-center border rounded-md\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopyMarkdown}\n className=\"rounded-r-none border-r gap-2 h-7\"\n >\n {isCopied ? (\n <CheckIcon size={14} className=\"text-emerald-600\" />\n ) : (\n <CopyIcon size={14} />\n )}\n <span>Copy page</span>\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-xs\"\n className=\"rounded-l-none\"\n >\n <ChevronDownIcon size={14} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() =>\n void navigator.clipboard.writeText(window.location.href)\n }\n >\n <Link2Icon className=\"size-4\" />\n Copy link to page\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a\n href={markdownUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLinkIcon className=\"size-4\" />\n Open Markdown page\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://claude.ai/new?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ClaudeLogo className=\"size-4\" />\n Open in Claude\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://chatgpt.com/?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ChatGPTLogo className=\"size-4\" />\n Open in ChatGPT\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n )}\n </header>\n )}\n\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(\"en-US\", {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label ?? \"\" } : undefined}\n next={next ? { to: next.id, label: next.label ?? \"\" } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","basePath","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","location","useLocation","isCopied","setIsCopied","useState","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","copyMarkdownConfig","markdownUrl","joinUrl","handleCopyMarkdown","response","markdown","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","Button","CheckIcon","CopyIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Link2Icon","ExternalLinkIcon","prompt","ClaudeLogo","ChatGPTLogo","useMDXComponents","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
1
+ {"version":3,"file":"MdxPage-C0QFAsgv.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n CopyIcon,\n EditIcon,\n ExternalLinkIcon,\n Link2Icon,\n} from \"lucide-react\";\nimport { type PropsWithChildren, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { ChatGPTLogo } from \"./assets/ChatGPTLogo.js\";\nimport { ClaudeLogo } from \"./assets/ClaudeLogo.js\";\nimport type { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n basePath,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n basePath: string;\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n const location = useLocation();\n const [isCopied, setIsCopied] = useState(false);\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const copyMarkdownConfig =\n frontmatter.copyPage !== false && defaultOptions?.copyPage !== false;\n\n const markdownUrl = joinUrl(basePath, `${location.pathname}.md`);\n\n const handleCopyMarkdown = async () => {\n const response = await fetch(markdownUrl);\n if (!response.ok) throw new Error(\"Failed to fetch markdown\");\n const markdown = await response.text();\n void navigator.clipboard.writeText(markdown);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n };\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header className=\"flex items-start justify-between gap-4\">\n <div className=\"flex-1\">\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </div>\n {copyMarkdownConfig && (\n <div className=\"flex items-center border rounded-md\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopyMarkdown}\n className=\"rounded-r-none border-r gap-2 h-7\"\n >\n {isCopied ? (\n <CheckIcon size={14} className=\"text-emerald-600\" />\n ) : (\n <CopyIcon size={14} />\n )}\n <span>Copy page</span>\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-xs\"\n className=\"rounded-l-none\"\n >\n <ChevronDownIcon size={14} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() =>\n void navigator.clipboard.writeText(window.location.href)\n }\n >\n <Link2Icon className=\"size-4\" />\n Copy link to page\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a\n href={markdownUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLinkIcon className=\"size-4\" />\n Open Markdown page\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://claude.ai/new?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ClaudeLogo className=\"size-4\" />\n Open in Claude\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://chatgpt.com/?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ChatGPTLogo className=\"size-4\" />\n Open in ChatGPT\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n )}\n </header>\n )}\n\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(\"en-US\", {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label ?? \"\" } : undefined}\n next={next ? { to: next.id, label: next.label ?? \"\" } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","basePath","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","location","useLocation","isCopied","setIsCopied","useState","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","copyMarkdownConfig","markdownUrl","joinUrl","handleCopyMarkdown","response","markdown","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","Button","CheckIcon","CopyIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Link2Icon","ExternalLinkIcon","prompt","ClaudeLogo","ChatGPTLogo","useMDXComponents","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { j as r } from "./jsx-runtime-BzflLqGi.js";
2
+ import { g } from "./useQuery-ht7aWJ3S.js";
3
+ import { useId as f } from "react";
4
+ import { c as v } from "./index-DI5SPFK9.js";
5
+ import { c as n } from "./cn-5-Gd1Dss.js";
6
+ import { z as p } from "./index-DAWHN3cH.js";
7
+ import "./ZudokuReactContext-DGJAP1sN.js";
8
+ import { S as x } from "./Spinner-CI6bRyZw.js";
9
+ const h = v(
10
+ "grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert",
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: "bg-card text-card-foreground",
15
+ destructive: "text-destructive bg-card bg-destructive/5 border-destructive/20 *:data-[slot=alert-description]:text-destructive-foreground *:[svg]:text-current",
16
+ warning: "text-warning-foreground bg-card bg-warning/10 border-warning/50 *:data-[slot=alert-description]:text-warning-foreground *:[svg]:text-current"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default"
21
+ }
22
+ }
23
+ );
24
+ function w({
25
+ className: e,
26
+ variant: t,
27
+ ...a
28
+ }) {
29
+ return /* @__PURE__ */ r.jsx(
30
+ "div",
31
+ {
32
+ "data-slot": "alert",
33
+ role: "alert",
34
+ className: n(h({ variant: t }), e),
35
+ ...a
36
+ }
37
+ );
38
+ }
39
+ function b({ className: e, ...t }) {
40
+ return /* @__PURE__ */ r.jsx(
41
+ "div",
42
+ {
43
+ "data-slot": "alert-title",
44
+ className: n(
45
+ "font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3",
46
+ e
47
+ ),
48
+ ...t
49
+ }
50
+ );
51
+ }
52
+ function y({
53
+ className: e,
54
+ ...t
55
+ }) {
56
+ return /* @__PURE__ */ r.jsx(
57
+ "div",
58
+ {
59
+ "data-slot": "alert-description",
60
+ className: n(
61
+ "text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3",
62
+ e
63
+ ),
64
+ ...t
65
+ }
66
+ );
67
+ }
68
+ let s = null;
69
+ const j = () => (s || (s = import("mermaid").then((e) => e.default).catch((e) => {
70
+ throw new Error(
71
+ "Mermaid is not installed. Please install it with: npm install mermaid",
72
+ { cause: e }
73
+ );
74
+ })), s), P = ({ chart: e, config: t, ...a }) => {
75
+ const l = f(), o = p(), {
76
+ data: u,
77
+ error: i,
78
+ isPending: c
79
+ } = g({
80
+ queryKey: ["mermaid", e, t, o.resolvedTheme],
81
+ queryFn: async () => {
82
+ const d = await j();
83
+ d.initialize({
84
+ theme: o.resolvedTheme === "dark" ? "dark" : "base",
85
+ ...t
86
+ });
87
+ const { svg: m } = await d.render(l, e);
88
+ return m;
89
+ },
90
+ enabled: typeof window < "u",
91
+ retry: !1
92
+ });
93
+ return i ? /* @__PURE__ */ r.jsxs(w, { className: "flex flex-col gap-2", variant: "destructive", children: [
94
+ /* @__PURE__ */ r.jsx(b, { children: "Mermaid Error" }),
95
+ /* @__PURE__ */ r.jsx(y, { className: "overflow-auto wrap-break-word whitespace-pre-wrap font-mono text-xs", children: i.message })
96
+ ] }) : c ? /* @__PURE__ */ r.jsx(x, {}) : /* @__PURE__ */ r.jsx("div", { ...a, dangerouslySetInnerHTML: { __html: u } });
97
+ };
98
+ export {
99
+ w as A,
100
+ P as M,
101
+ b as a,
102
+ y as b
103
+ };
104
+ //# sourceMappingURL=Mermaid-Chx5BPHn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mermaid-Chx5BPHn.js","sources":["../src/lib/ui/Alert.tsx","../src/lib/components/Mermaid.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card bg-destructive/5 border-destructive/20 *:data-[slot=alert-description]:text-destructive-foreground *:[svg]:text-current\",\n warning:\n \"text-warning-foreground bg-card bg-warning/10 border-warning/50 *:data-[slot=alert-description]:text-warning-foreground *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute top-2 right-2\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction };\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { MermaidConfig } from \"mermaid\";\nimport type { ComponentProps } from \"react\";\nimport { useId } from \"react\";\nimport { Alert, AlertDescription, AlertTitle } from \"zudoku/ui/Alert.js\";\nimport { useTheme } from \"../hooks/index.js\";\nimport { Spinner } from \"./Spinner.js\";\n\nexport type MermaidProps = {\n chart: string;\n config?: MermaidConfig;\n} & ComponentProps<\"div\">;\n\nlet mermaidPromise: Promise<typeof import(\"mermaid\").default> | null = null;\n\nconst loadMermaid = () => {\n if (!mermaidPromise) {\n mermaidPromise = import(\"mermaid\")\n .then((mod) => mod.default)\n .catch((error) => {\n throw new Error(\n \"Mermaid is not installed. Please install it with: npm install mermaid\",\n { cause: error },\n );\n });\n }\n return mermaidPromise;\n};\n\nexport const Mermaid = ({ chart, config, ...props }: MermaidProps) => {\n const id = useId();\n const theme = useTheme();\n\n const {\n data: svg,\n error,\n isPending,\n } = useQuery({\n queryKey: [\"mermaid\", chart, config, theme.resolvedTheme],\n queryFn: async () => {\n const mermaid = await loadMermaid();\n mermaid.initialize({\n theme: theme.resolvedTheme === \"dark\" ? \"dark\" : \"base\",\n ...config,\n });\n\n const { svg } = await mermaid.render(id, chart);\n return svg;\n },\n enabled: typeof window !== \"undefined\",\n retry: false,\n });\n\n if (error)\n return (\n <Alert className=\"flex flex-col gap-2\" variant=\"destructive\">\n <AlertTitle>Mermaid Error</AlertTitle>\n <AlertDescription className=\"overflow-auto wrap-break-word whitespace-pre-wrap font-mono text-xs\">\n {error.message}\n </AlertDescription>\n </Alert>\n );\n\n if (isPending) return <Spinner />;\n\n // biome-ignore lint/security/noDangerouslySetInnerHtml: Mermaid generates valid SVG\n return <div {...props} dangerouslySetInnerHTML={{ __html: svg }} />;\n};\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription","mermaidPromise","loadMermaid","mod","error","Mermaid","chart","config","id","useId","theme","useTheme","svg","isPending","useQuery","mermaid","jsxs","Spinner"],"mappings":";;;;;;;;AAIA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,QACF,SACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AACnE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAC9B,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;ACnDA,IAAIK,IAAmE;AAEvE,MAAMC,IAAc,OACbD,MACHA,IAAiB,OAAO,SAAS,EAC9B,KAAK,CAACE,MAAQA,EAAI,OAAO,EACzB,MAAM,CAACC,MAAU;AAChB,QAAM,IAAI;AAAA,IACR;AAAA,IACA,EAAE,OAAOA,EAAA;AAAA,EAAM;AAEnB,CAAC,IAEEH,IAGII,IAAU,CAAC,EAAE,OAAAC,GAAO,QAAAC,GAAQ,GAAGX,QAA0B;AACpE,QAAMY,IAAKC,EAAA,GACLC,IAAQC,EAAA,GAER;AAAA,IACJ,MAAMC;AAAA,IACN,OAAAR;AAAA,IACA,WAAAS;AAAA,EAAA,IACEC,EAAS;AAAA,IACX,UAAU,CAAC,WAAWR,GAAOC,GAAQG,EAAM,aAAa;AAAA,IACxD,SAAS,YAAY;AACnB,YAAMK,IAAU,MAAMb,EAAA;AACtB,MAAAa,EAAQ,WAAW;AAAA,QACjB,OAAOL,EAAM,kBAAkB,SAAS,SAAS;AAAA,QACjD,GAAGH;AAAA,MAAA,CACJ;AAED,YAAM,EAAE,KAAAK,EAAAA,IAAQ,MAAMG,EAAQ,OAAOP,GAAIF,CAAK;AAC9C,aAAOM;AAAAA,IACT;AAAA,IACA,SAAS,OAAO,SAAW;AAAA,IAC3B,OAAO;AAAA,EAAA,CACR;AAED,SAAIR,IAEAY,gBAAAA,EAAAA,KAACvB,GAAA,EAAM,WAAU,uBAAsB,SAAQ,eAC7C,UAAA;AAAA,IAAAI,gBAAAA,EAAAA,IAACE,KAAW,UAAA,gBAAA,CAAa;AAAA,IACzBF,gBAAAA,EAAAA,IAACG,GAAA,EAAiB,WAAU,uEACzB,YAAM,QAAA,CACT;AAAA,EAAA,GACF,IAGAa,IAAkBhB,gBAAAA,MAACoB,GAAA,CAAA,CAAQ,IAGxBpB,gBAAAA,EAAAA,IAAC,SAAK,GAAGD,GAAO,yBAAyB,EAAE,QAAQgB,KAAO;AACnE;"}
@@ -1,18 +1,19 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import { u as m } from "./useSuspenseQuery-CSB_rVek.js";
2
+ import { u as m } from "./useSuspenseQuery-DQH4Bmc2.js";
3
3
  import { N as h, L as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
4
  import { Button as o } from "./ui/Button.js";
5
5
  import { HomeIcon as y } from "lucide-react";
6
6
  import "react";
7
- import { H as _, T as c } from "./Zudoku-DUsdmPME.js";
8
- import { a as v, j as f } from "./ZudokuContext-BBI06sOx.js";
7
+ import { H as _, T as c } from "./Zudoku-iyiXgWFY.js";
8
+ import { a as v, j as f } from "./ZudokuContext-CYyb_PB_.js";
9
9
  import "./index-DAWHN3cH.js";
10
- import { O as d } from "./errors-7hgPDs1h.js";
11
- import { u as x } from "./hook-ZEd1Es7D.js";
10
+ import "./ZudokuReactContext-DGJAP1sN.js";
11
+ import { O as d } from "./errors-B77S9iOc.js";
12
+ import { u as x } from "./hook-Dz_n9SoE.js";
12
13
  function w(r, i, n = "/") {
13
14
  return r.startsWith(i) ? n !== "/" && r.startsWith(i + n) ? r.slice(i.length + n.length) : r.slice(i.length) : r;
14
15
  }
15
- function z({
16
+ function I({
16
17
  handleCallback: r
17
18
  }) {
18
19
  const { options: i } = v(), n = m({
@@ -92,7 +93,7 @@ const l = {
92
93
  message: "An unexpected error occurred during authentication. Please try again or contact support."
93
94
  }
94
95
  };
95
- function I({ error: r }) {
96
+ function O({ error: r }) {
96
97
  const { login: i } = x();
97
98
  if (!(r instanceof d))
98
99
  throw r;
@@ -146,7 +147,7 @@ const k = {
146
147
  temporarily_unavailable: "This is usually temporary. Try again in a few minutes."
147
148
  };
148
149
  export {
149
- z as C,
150
- I as O
150
+ I as C,
151
+ O
151
152
  };
152
- //# sourceMappingURL=OAuthErrorPage-01Ke086W.js.map
153
+ //# sourceMappingURL=OAuthErrorPage-CFz_gBFx.js.map