zudoku 0.65.2 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/app/sentry.js +1 -1
  2. package/dist/config/validators/BuildSchema.js +18 -3
  3. package/dist/config/validators/BuildSchema.js.map +1 -1
  4. package/dist/config/validators/validate.d.ts +45 -3
  5. package/dist/config/validators/validate.js +7 -1
  6. package/dist/config/validators/validate.js.map +1 -1
  7. package/dist/flat-config.d.ts +9 -2
  8. package/dist/lib/components/Mermaid.d.ts +7 -0
  9. package/dist/lib/components/Mermaid.js +42 -0
  10. package/dist/lib/components/Mermaid.js.map +1 -0
  11. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  12. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  13. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  14. package/dist/lib/components/Zudoku.js +2 -5
  15. package/dist/lib/components/Zudoku.js.map +1 -1
  16. package/dist/lib/core/RouteGuard.js +1 -1
  17. package/dist/lib/core/RouteGuard.js.map +1 -1
  18. package/dist/lib/core/plugins.d.ts +3 -3
  19. package/dist/lib/oas/parser/index.d.ts +1 -0
  20. package/dist/lib/oas/parser/index.js.map +1 -1
  21. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  22. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  23. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  24. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  25. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  26. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +1 -1
  27. package/dist/lib/plugins/openapi/OasProvider.js +22 -13
  28. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  29. package/dist/lib/plugins/openapi/OperationList.js +12 -6
  30. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  31. package/dist/lib/plugins/openapi/OperationListItem.js +2 -2
  32. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  33. package/dist/lib/plugins/openapi/ParameterList.js +1 -1
  34. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  35. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +2 -1
  36. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +4 -3
  37. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  38. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  39. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  40. package/dist/lib/plugins/openapi/Sidecar.js +9 -1
  41. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  42. package/dist/lib/plugins/openapi/index.js +11 -5
  43. package/dist/lib/plugins/openapi/index.js.map +1 -1
  44. package/dist/lib/plugins/openapi/interfaces.d.ts +16 -13
  45. package/dist/lib/plugins/openapi/playground/Playground.js +6 -2
  46. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  47. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  48. package/dist/lib/plugins/openapi/schema/SchemaView.js +14 -6
  49. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  50. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  51. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  52. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +6 -1
  53. package/dist/lib/plugins/openapi/util/getRoutes.js +29 -2
  54. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  55. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  56. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  57. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  58. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  59. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  60. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  61. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  62. package/dist/lib/shiki.d.ts +1 -1
  63. package/dist/lib/shiki.js +18 -12
  64. package/dist/lib/shiki.js.map +1 -1
  65. package/dist/lib/ui/Button.d.ts +2 -2
  66. package/dist/lib/ui/Button.js +9 -8
  67. package/dist/lib/ui/Button.js.map +1 -1
  68. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  69. package/dist/lib/ui/ButtonGroup.js +28 -0
  70. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  71. package/dist/lib/ui/Command.js +2 -2
  72. package/dist/lib/ui/Command.js.map +1 -1
  73. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  74. package/dist/lib/ui/DropdownMenu.js +47 -32
  75. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  76. package/dist/lib/ui/Kbd.d.ts +3 -0
  77. package/dist/lib/ui/Kbd.js +10 -0
  78. package/dist/lib/ui/Kbd.js.map +1 -0
  79. package/dist/lib/util/MdxComponents.d.ts +1 -0
  80. package/dist/lib/util/MdxComponents.js +2 -0
  81. package/dist/lib/util/MdxComponents.js.map +1 -1
  82. package/dist/lib/util/flattenAllOf.js +27 -4
  83. package/dist/lib/util/flattenAllOf.js.map +1 -1
  84. package/dist/lib/util/flattenAllOf.test.js +67 -12
  85. package/dist/lib/util/flattenAllOf.test.js.map +1 -1
  86. package/dist/vite/api/SchemaManager.d.ts +5 -0
  87. package/dist/vite/api/SchemaManager.js +24 -0
  88. package/dist/vite/api/SchemaManager.js.map +1 -1
  89. package/dist/vite/api/SchemaManager.test.js +67 -0
  90. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  91. package/dist/vite/config.js +8 -2
  92. package/dist/vite/config.js.map +1 -1
  93. package/dist/vite/dev-server.js +25 -0
  94. package/dist/vite/dev-server.js.map +1 -1
  95. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  96. package/dist/vite/pagefind-dev-index.js +68 -0
  97. package/dist/vite/pagefind-dev-index.js.map +1 -0
  98. package/dist/vite/plugin-api.js +41 -3
  99. package/dist/vite/plugin-api.js.map +1 -1
  100. package/dist/vite/prerender/prerender.js +1 -19
  101. package/dist/vite/prerender/prerender.js.map +1 -1
  102. package/dist/vite/prerender/utils.d.ts +2 -0
  103. package/dist/vite/prerender/utils.js +24 -0
  104. package/dist/vite/prerender/utils.js.map +1 -0
  105. package/lib/Button-CynVW1JV.js +53 -0
  106. package/lib/Button-CynVW1JV.js.map +1 -0
  107. package/lib/ClaudeLogo-PxFjou9w.js +69 -0
  108. package/lib/ClaudeLogo-PxFjou9w.js.map +1 -0
  109. package/lib/{Command-CUcrW3qs.js → Command-BpT1iBE6.js} +25 -25
  110. package/lib/Command-BpT1iBE6.js.map +1 -0
  111. package/lib/Drawer-Ci7XwhqT.js.map +1 -1
  112. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  113. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  114. package/lib/{ErrorAlert-D5LKLFOd.js → ErrorAlert-BqjbNHIn.js} +1017 -1015
  115. package/lib/{ErrorAlert-D5LKLFOd.js.map → ErrorAlert-BqjbNHIn.js.map} +1 -1
  116. package/lib/IndexingDialog-B5zCiUKr.js +100 -0
  117. package/lib/IndexingDialog-B5zCiUKr.js.map +1 -0
  118. package/lib/MdxPage-CVFatbHw.js +210 -0
  119. package/lib/MdxPage-CVFatbHw.js.map +1 -0
  120. package/lib/Mermaid-CIFixY6C.js +102 -0
  121. package/lib/Mermaid-CIFixY6C.js.map +1 -0
  122. package/lib/{OAuthErrorPage-oXnxcJg4.js → OAuthErrorPage-Dup79DJk.js} +7 -7
  123. package/lib/{OAuthErrorPage-oXnxcJg4.js.map → OAuthErrorPage-Dup79DJk.js.map} +1 -1
  124. package/lib/OasProvider-BJeMq29o.js +40 -0
  125. package/lib/OasProvider-BJeMq29o.js.map +1 -0
  126. package/lib/{OperationList-DeBe8FvT.js → OperationList-ff3ZvQsO.js} +1950 -1814
  127. package/lib/OperationList-ff3ZvQsO.js.map +1 -0
  128. package/lib/{RouteGuard-Brz95MSt.js → RouteGuard-BXy13JSz.js} +19 -19
  129. package/lib/{RouteGuard-Brz95MSt.js.map → RouteGuard-BXy13JSz.js.map} +1 -1
  130. package/lib/{RouterError-VGZB_wg4.js → RouterError-CKOZTsDD.js} +3 -3
  131. package/lib/{RouterError-VGZB_wg4.js.map → RouterError-CKOZTsDD.js.map} +1 -1
  132. package/lib/{SchemaList-DnlwQJCO.js → SchemaList-BSC1KM3v.js} +28 -27
  133. package/lib/SchemaList-BSC1KM3v.js.map +1 -0
  134. package/lib/{SchemaView-CgDcUNbC.js → SchemaView-CgwJ9gtb.js} +198 -187
  135. package/lib/SchemaView-CgwJ9gtb.js.map +1 -0
  136. package/lib/Select-VmDZ-nKe.js +337 -0
  137. package/lib/Select-VmDZ-nKe.js.map +1 -0
  138. package/lib/{SignUp-D2mmQOkg.js → SignUp-Pm_LGm6T.js} +13 -13
  139. package/lib/{SignUp-D2mmQOkg.js.map → SignUp-Pm_LGm6T.js.map} +1 -1
  140. package/lib/{SyntaxHighlight-C19vH0V_.js → SyntaxHighlight-bkmst3oV.js} +654 -622
  141. package/lib/SyntaxHighlight-bkmst3oV.js.map +1 -0
  142. package/lib/{Toc-CBWfFCVf.js → Toc-TUXNFbKl.js} +2 -2
  143. package/lib/{Toc-CBWfFCVf.js.map → Toc-TUXNFbKl.js.map} +1 -1
  144. package/lib/{ZudokuContext-BUZ5hkWB.js → ZudokuContext-np1wheDl.js} +8 -8
  145. package/lib/{ZudokuContext-BUZ5hkWB.js.map → ZudokuContext-np1wheDl.js.map} +1 -1
  146. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  147. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  148. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js → chunk-PVWAREVJ-dLIqswPy.js} +5 -5
  149. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js.map → chunk-PVWAREVJ-dLIqswPy.js.map} +1 -1
  150. package/lib/{circular-BpeO0esG.js → circular-XPj_dwqA.js} +2 -2
  151. package/lib/{circular-BpeO0esG.js.map → circular-XPj_dwqA.js.map} +1 -1
  152. package/lib/createServer-D01nCTNp.js +16693 -0
  153. package/lib/createServer-D01nCTNp.js.map +1 -0
  154. package/lib/{errors-D7xzOd8X.js → errors-B0hNTPFO.js} +3 -3
  155. package/lib/{errors-D7xzOd8X.js.map → errors-B0hNTPFO.js.map} +1 -1
  156. package/lib/{hook-CMeoxziF.js → hook-CvSwcbk6.js} +3 -3
  157. package/lib/{hook-CMeoxziF.js.map → hook-CvSwcbk6.js.map} +1 -1
  158. package/lib/{index-C_-XS4lp.js → index-Bjc_QsUR.js} +765 -745
  159. package/lib/{index-C_-XS4lp.js.map → index-Bjc_QsUR.js.map} +1 -1
  160. package/lib/index-CrcNWbel.js.map +1 -1
  161. package/lib/index-DnMgJWrI.js +133 -0
  162. package/lib/index-DnMgJWrI.js.map +1 -0
  163. package/lib/{index-CF7_erXq.js → index-DscsS121.js} +2 -2
  164. package/lib/{index-CF7_erXq.js.map → index-DscsS121.js.map} +1 -1
  165. package/lib/{index-CPws05Tb.js → index-mfkNWYG-.js} +10 -10
  166. package/lib/{index-CPws05Tb.js.map → index-mfkNWYG-.js.map} +1 -1
  167. package/lib/{index.esm-BnYHxCYC.js → index.esm-DtzT_KoE.js} +20 -20
  168. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-DtzT_KoE.js.map} +1 -1
  169. package/lib/{invariant-Bm-FVUQE.js → invariant-CGOLuIIz.js} +3 -3
  170. package/lib/{invariant-Bm-FVUQE.js.map → invariant-CGOLuIIz.js.map} +1 -1
  171. package/lib/{mutation-BSU0xu4m.js → mutation-BlmnL5qL.js} +2 -2
  172. package/lib/{mutation-BSU0xu4m.js.map → mutation-BlmnL5qL.js.map} +1 -1
  173. package/lib/ui/ActionButton.js +1 -1
  174. package/lib/ui/Button.js +25 -24
  175. package/lib/ui/Button.js.map +1 -1
  176. package/lib/ui/ButtonGroup.js +77 -0
  177. package/lib/ui/ButtonGroup.js.map +1 -0
  178. package/lib/ui/Command.js +3 -3
  179. package/lib/ui/Command.js.map +1 -1
  180. package/lib/ui/DropdownMenu.js +227 -140
  181. package/lib/ui/DropdownMenu.js.map +1 -1
  182. package/lib/ui/Kbd.js +32 -0
  183. package/lib/ui/Kbd.js.map +1 -0
  184. package/lib/ui/SyntaxHighlight.js +3 -3
  185. package/lib/zudoku.__internal.js +8 -8
  186. package/lib/zudoku.auth-auth0.js +1 -1
  187. package/lib/zudoku.auth-azureb2c.js +4 -4
  188. package/lib/zudoku.auth-clerk.js +2 -2
  189. package/lib/zudoku.auth-openid.js +5 -5
  190. package/lib/zudoku.auth-supabase.js +5 -5
  191. package/lib/zudoku.components.js +7 -7
  192. package/lib/zudoku.hooks.js +11 -24
  193. package/lib/zudoku.hooks.js.map +1 -1
  194. package/lib/zudoku.mermaid.js +10 -0
  195. package/lib/zudoku.mermaid.js.map +1 -0
  196. package/lib/zudoku.plugin-api-catalog.js +6 -6
  197. package/lib/zudoku.plugin-api-keys.js +223 -198
  198. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  199. package/lib/zudoku.plugin-custom-pages.js +1 -1
  200. package/lib/zudoku.plugin-markdown.js +1 -1
  201. package/lib/zudoku.plugin-openapi.js +3 -3
  202. package/lib/zudoku.plugin-redirect.js +1 -1
  203. package/lib/zudoku.plugin-search-pagefind.js +184 -226
  204. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  205. package/lib/zudoku.plugins.js.map +1 -1
  206. package/lib/zudoku.router.js +2 -2
  207. package/package.json +29 -21
  208. package/src/app/sentry.ts +1 -1
  209. package/src/lib/components/Mermaid.tsx +68 -0
  210. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  211. package/src/lib/components/Zudoku.tsx +4 -7
  212. package/src/lib/core/RouteGuard.tsx +1 -1
  213. package/src/lib/core/plugins.ts +2 -2
  214. package/src/lib/oas/parser/index.ts +2 -0
  215. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  216. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  217. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +1 -1
  218. package/src/lib/plugins/openapi/OasProvider.tsx +30 -17
  219. package/src/lib/plugins/openapi/OperationList.tsx +39 -21
  220. package/src/lib/plugins/openapi/OperationListItem.tsx +5 -5
  221. package/src/lib/plugins/openapi/ParameterList.tsx +2 -2
  222. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +22 -2
  223. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  224. package/src/lib/plugins/openapi/Sidecar.tsx +17 -1
  225. package/src/lib/plugins/openapi/index.tsx +16 -7
  226. package/src/lib/plugins/openapi/interfaces.ts +16 -7
  227. package/src/lib/plugins/openapi/playground/Playground.tsx +6 -2
  228. package/src/lib/plugins/openapi/schema/SchemaView.tsx +36 -27
  229. package/src/lib/plugins/openapi/schema/utils.ts +5 -2
  230. package/src/lib/plugins/openapi/util/getRoutes.tsx +35 -3
  231. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  232. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  233. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  234. package/src/lib/shiki.ts +21 -12
  235. package/src/lib/ui/Button.tsx +10 -10
  236. package/src/lib/ui/ButtonGroup.tsx +82 -0
  237. package/src/lib/ui/Command.tsx +3 -3
  238. package/src/lib/ui/DropdownMenu.tsx +226 -170
  239. package/src/lib/ui/Kbd.tsx +28 -0
  240. package/src/lib/util/MdxComponents.tsx +2 -0
  241. package/src/lib/util/flattenAllOf.test.ts +71 -19
  242. package/src/lib/util/flattenAllOf.ts +29 -8
  243. package/src/shiki/langs/markdown-nix.js +1 -0
  244. package/src/shiki/langs/openscad.js +1 -0
  245. package/dist/vite/create-pagefind-index.d.ts +0 -4
  246. package/dist/vite/create-pagefind-index.js +0 -12
  247. package/dist/vite/create-pagefind-index.js.map +0 -1
  248. package/lib/Button-B3ucvvQw.js +0 -52
  249. package/lib/Button-B3ucvvQw.js.map +0 -1
  250. package/lib/Command-CUcrW3qs.js.map +0 -1
  251. package/lib/DropdownMenu-BZ2NKQ3K.js +0 -126
  252. package/lib/DropdownMenu-BZ2NKQ3K.js.map +0 -1
  253. package/lib/MdxPage-hOCN-u-L.js +0 -240
  254. package/lib/MdxPage-hOCN-u-L.js.map +0 -1
  255. package/lib/OasProvider-D88vmZFt.js +0 -36
  256. package/lib/OasProvider-D88vmZFt.js.map +0 -1
  257. package/lib/OperationList-DeBe8FvT.js.map +0 -1
  258. package/lib/Pagination-lLSoHnxa.js +0 -37
  259. package/lib/Pagination-lLSoHnxa.js.map +0 -1
  260. package/lib/SchemaList-DnlwQJCO.js.map +0 -1
  261. package/lib/SchemaView-CgDcUNbC.js.map +0 -1
  262. package/lib/Select-DFRCS31-.js +0 -399
  263. package/lib/Select-DFRCS31-.js.map +0 -1
  264. package/lib/SyntaxHighlight-C19vH0V_.js.map +0 -1
  265. package/lib/createServer-DIptgGTi.js +0 -13018
  266. package/lib/createServer-DIptgGTi.js.map +0 -1
  267. package/lib/useExposedProps-U3pmsHaG.js +0 -113
  268. package/lib/useExposedProps-U3pmsHaG.js.map +0 -1
@@ -1,18 +1,18 @@
1
1
  import { j as t } from "./jsx-runtime-BzflLqGi.js";
2
- import { H as m } from "./index.esm-BnYHxCYC.js";
2
+ import { H as m } from "./index.esm-DtzT_KoE.js";
3
3
  import { createContext as p, use as f } from "react";
4
- import { u as g, d as x, m as j, O as v } from "./chunk-PVWAREVJ-BMhpCH5D.js";
5
- import { B as s } from "./Button-B3ucvvQw.js";
4
+ import { u as g, a as x, m as j, O as v } from "./chunk-PVWAREVJ-dLIqswPy.js";
5
+ import { B as a } from "./Button-CynVW1JV.js";
6
6
  import { D as C, a as R, b as D, c as w, d as T, e as b } from "./Dialog-BQciPiHN.js";
7
- import { u as k } from "./hook-CMeoxziF.js";
8
- import { a as E } from "./ZudokuContext-BUZ5hkWB.js";
9
- import { Z as P } from "./invariant-Bm-FVUQE.js";
7
+ import { u as k } from "./hook-CvSwcbk6.js";
8
+ import { a as E } from "./ZudokuContext-np1wheDl.js";
9
+ import { Z as P } from "./invariant-CGOLuIIz.js";
10
10
  import { u as y } from "./useLatest-hmRS46UF.js";
11
11
  const O = p(!1), A = "protected", G = () => {
12
- const n = k(), e = E(), o = g(), a = x(), r = y(a.pathname), c = f(O), { protectedRoutes: d } = e.options, u = !c && d ? Object.entries(d).find(
13
- ([i]) => j({ path: i, end: !0 }, a.pathname)
14
- )?.[1] : void 0, l = u !== void 0, h = l && !u({ auth: n, context: e });
15
- if (l && !n.isAuthEnabled)
12
+ const n = k(), e = E(), o = g(), r = x(), c = y(r.pathname), u = f(O), { protectedRoutes: d } = e.options, l = !u && d ? Object.entries(d).find(
13
+ ([s]) => j({ path: s, end: !0 }, r.pathname)
14
+ )?.[1] : void 0, i = l !== void 0, h = i && !l({ auth: n, context: e });
15
+ if (i && !n.isAuthEnabled)
16
16
  throw new P("Authentication is not enabled", {
17
17
  title: "Authentication is not enabled",
18
18
  developerHint: "To use protectedRoutes you need authentication to be enabled"
@@ -21,32 +21,32 @@ const O = p(!1), A = "protected", G = () => {
21
21
  C,
22
22
  {
23
23
  open: !0,
24
- onOpenChange: (i) => {
25
- i || o(-1);
24
+ onOpenChange: (s) => {
25
+ s || o(-1);
26
26
  },
27
27
  children: /* @__PURE__ */ t.jsxs(R, { children: [
28
28
  /* @__PURE__ */ t.jsx(D, { children: /* @__PURE__ */ t.jsx(w, { children: "Login to continue" }) }),
29
29
  /* @__PURE__ */ t.jsx(T, { children: "Please wait while we log you in." }),
30
30
  /* @__PURE__ */ t.jsxs(b, { children: [
31
- /* @__PURE__ */ t.jsx(s, { variant: "outline", onClick: () => void o(-1), children: "Cancel" }),
31
+ /* @__PURE__ */ t.jsx(a, { variant: "outline", onClick: () => void o(-1), children: "Cancel" }),
32
32
  /* @__PURE__ */ t.jsx("div", { className: "w-full" }),
33
33
  /* @__PURE__ */ t.jsx(
34
- s,
34
+ a,
35
35
  {
36
36
  variant: "secondary",
37
37
  onClick: () => void e.authentication?.signUp(
38
38
  { navigate: o },
39
- { redirectTo: r.current }
39
+ { redirectTo: c.current }
40
40
  ),
41
41
  children: "Register"
42
42
  }
43
43
  ),
44
44
  /* @__PURE__ */ t.jsxs(
45
- s,
45
+ a,
46
46
  {
47
47
  onClick: () => void e.authentication?.signIn(
48
48
  { navigate: o },
49
- { redirectTo: r.current }
49
+ { redirectTo: c.current }
50
50
  ),
51
51
  children: [
52
52
  "Login",
@@ -58,7 +58,7 @@ const O = p(!1), A = "protected", G = () => {
58
58
  ] })
59
59
  }
60
60
  ) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
61
- c && /* @__PURE__ */ t.jsx(m, { children: /* @__PURE__ */ t.jsx(
61
+ u && i && /* @__PURE__ */ t.jsx(m, { children: /* @__PURE__ */ t.jsx(
62
62
  "meta",
63
63
  {
64
64
  name: "pagefind",
@@ -74,4 +74,4 @@ export {
74
74
  G as R,
75
75
  A as S
76
76
  };
77
- //# sourceMappingURL=RouteGuard-Brz95MSt.js.map
77
+ //# sourceMappingURL=RouteGuard-BXy13JSz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteGuard-Brz95MSt.js","sources":["../src/lib/components/context/BypassProtectedRoutesContext.ts","../src/lib/core/RouteGuard.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const BypassProtectedRoutesContext = createContext(false);\n","import { Helmet } from \"@zudoku/react-helmet-async\";\nimport { use } from \"react\";\nimport { matchPath, Outlet, useLocation, useNavigate } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\nimport { useAuth } from \"../authentication/hook.js\";\nimport { BypassProtectedRoutesContext } from \"../components/context/BypassProtectedRoutesContext.js\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\nimport { useLatest } from \"../util/useLatest.js\";\n\nexport const SEARCH_PROTECTED_SECTION = \"protected\";\n\nexport const RouteGuard = () => {\n const auth = useAuth();\n const zudoku = useZudoku();\n const navigate = useNavigate();\n const location = useLocation();\n const latestPath = useLatest(location.pathname);\n const shouldBypass = use(BypassProtectedRoutesContext);\n const { protectedRoutes } = zudoku.options;\n\n const authCheckFn =\n !shouldBypass && protectedRoutes\n ? Object.entries(protectedRoutes).find(([path]) =>\n matchPath({ path, end: true }, location.pathname),\n )?.[1]\n : undefined;\n\n const isProtectedRoute = authCheckFn !== undefined;\n const needsToSignIn =\n isProtectedRoute && !authCheckFn({ auth, context: zudoku });\n\n if (isProtectedRoute && !auth.isAuthEnabled) {\n throw new ZudokuError(\"Authentication is not enabled\", {\n title: \"Authentication is not enabled\",\n developerHint:\n \"To use protectedRoutes you need authentication to be enabled\",\n });\n }\n\n if (needsToSignIn && auth.isPending && typeof window !== \"undefined\") {\n return null;\n }\n\n if (needsToSignIn) {\n return (\n <Dialog\n open={true}\n onOpenChange={(open) => {\n if (!open) {\n void navigate(-1);\n }\n }}\n >\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Login to continue</DialogTitle>\n </DialogHeader>\n <DialogDescription>\n Please wait while we log you in.\n </DialogDescription>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => void navigate(-1)}>\n Cancel\n </Button>\n <div className=\"w-full\"></div>\n <Button\n variant=\"secondary\"\n onClick={() =>\n void zudoku.authentication?.signUp(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Register\n </Button>\n <Button\n onClick={() =>\n void zudoku.authentication?.signIn(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Login{\" \"}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <>\n {shouldBypass && (\n <Helmet>\n <meta\n name=\"pagefind\"\n data-pagefind-filter={`section:${SEARCH_PROTECTED_SECTION}`}\n content=\"true\"\n />\n </Helmet>\n )}\n <Outlet />\n </>\n );\n};\n"],"names":["BypassProtectedRoutesContext","createContext","SEARCH_PROTECTED_SECTION","RouteGuard","auth","useAuth","zudoku","useZudoku","navigate","useNavigate","location","useLocation","latestPath","useLatest","shouldBypass","use","protectedRoutes","authCheckFn","path","matchPath","isProtectedRoute","needsToSignIn","ZudokuError","jsx","Dialog","open","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button","jsxs","Fragment","Helmet","Outlet"],"mappings":";;;;;;;;;;AAEO,MAAMA,IAA+BC,EAAc,EAAK,GCgBlDC,IAA2B,aAE3BC,IAAa,MAAM;AAC9B,QAAMC,IAAOC,EAAA,GACPC,IAASC,EAAA,GACTC,IAAWC,EAAA,GACXC,IAAWC,EAAA,GACXC,IAAaC,EAAUH,EAAS,QAAQ,GACxCI,IAAeC,EAAIf,CAA4B,GAC/C,EAAE,iBAAAgB,MAAoBV,EAAO,SAE7BW,IACJ,CAACH,KAAgBE,IACb,OAAO,QAAQA,CAAe,EAAE;AAAA,IAAK,CAAC,CAACE,CAAI,MACzCC,EAAU,EAAE,MAAAD,GAAM,KAAK,MAAQR,EAAS,QAAQ;AAAA,EAAA,IAC9C,CAAC,IACL,QAEAU,IAAmBH,MAAgB,QACnCI,IACJD,KAAoB,CAACH,EAAY,EAAE,MAAAb,GAAM,SAASE,GAAQ;AAE5D,MAAIc,KAAoB,CAAChB,EAAK;AAC5B,UAAM,IAAIkB,EAAY,iCAAiC;AAAA,MACrD,OAAO;AAAA,MACP,eACE;AAAA,IAAA,CACH;AAGH,SAAID,KAAiBjB,EAAK,aAAa,OAAO,SAAW,MAChD,OAGLiB,IAEAE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc,CAACC,MAAS;AACtB,QAAKA,KACEjB,EAAS,EAAE;AAAA,MAEpB;AAAA,MAEA,iCAACkB,GAAA,EACC,UAAA;AAAA,QAAAH,gBAAAA,MAACI,GAAA,EACC,UAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAY,UAAA,oBAAA,CAAiB,GAChC;AAAA,QACAL,gBAAAA,EAAAA,IAACM,KAAkB,UAAA,mCAAA,CAEnB;AAAA,+BACCC,GAAA,EACC,UAAA;AAAA,UAAAP,gBAAAA,EAAAA,IAACQ,GAAA,EAAO,SAAQ,WAAU,SAAS,MAAM,KAAKvB,EAAS,EAAE,GAAG,UAAA,SAAA,CAE5D;AAAA,UACAe,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,SAAA,CAAS;AAAA,UACxBA,gBAAAA,EAAAA;AAAAA,YAACQ;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGDoB,gBAAAA,EAAAA;AAAAA,YAACD;AAAA,YAAA;AAAA,cACC,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,gBAAA;AAAA,gBACO;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACR,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,IAMJoB,gBAAAA,EAAAA,KAAAC,YAAA,EACG,UAAA;AAAA,IAAAnB,2BACEoB,GAAA,EACC,UAAAX,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,wBAAsB,WAAWrB,CAAwB;AAAA,QACzD,SAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,0BAEDiC,GAAA,CAAA,CAAO;AAAA,EAAA,GACV;AAEJ;"}
1
+ {"version":3,"file":"RouteGuard-BXy13JSz.js","sources":["../src/lib/components/context/BypassProtectedRoutesContext.ts","../src/lib/core/RouteGuard.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const BypassProtectedRoutesContext = createContext(false);\n","import { Helmet } from \"@zudoku/react-helmet-async\";\nimport { use } from \"react\";\nimport { matchPath, Outlet, useLocation, useNavigate } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"zudoku/ui/Dialog.js\";\nimport { useAuth } from \"../authentication/hook.js\";\nimport { BypassProtectedRoutesContext } from \"../components/context/BypassProtectedRoutesContext.js\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\nimport { useLatest } from \"../util/useLatest.js\";\n\nexport const SEARCH_PROTECTED_SECTION = \"protected\";\n\nexport const RouteGuard = () => {\n const auth = useAuth();\n const zudoku = useZudoku();\n const navigate = useNavigate();\n const location = useLocation();\n const latestPath = useLatest(location.pathname);\n const shouldBypass = use(BypassProtectedRoutesContext);\n const { protectedRoutes } = zudoku.options;\n\n const authCheckFn =\n !shouldBypass && protectedRoutes\n ? Object.entries(protectedRoutes).find(([path]) =>\n matchPath({ path, end: true }, location.pathname),\n )?.[1]\n : undefined;\n\n const isProtectedRoute = authCheckFn !== undefined;\n const needsToSignIn =\n isProtectedRoute && !authCheckFn({ auth, context: zudoku });\n\n if (isProtectedRoute && !auth.isAuthEnabled) {\n throw new ZudokuError(\"Authentication is not enabled\", {\n title: \"Authentication is not enabled\",\n developerHint:\n \"To use protectedRoutes you need authentication to be enabled\",\n });\n }\n\n if (needsToSignIn && auth.isPending && typeof window !== \"undefined\") {\n return null;\n }\n\n if (needsToSignIn) {\n return (\n <Dialog\n open={true}\n onOpenChange={(open) => {\n if (!open) {\n void navigate(-1);\n }\n }}\n >\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Login to continue</DialogTitle>\n </DialogHeader>\n <DialogDescription>\n Please wait while we log you in.\n </DialogDescription>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => void navigate(-1)}>\n Cancel\n </Button>\n <div className=\"w-full\"></div>\n <Button\n variant=\"secondary\"\n onClick={() =>\n void zudoku.authentication?.signUp(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Register\n </Button>\n <Button\n onClick={() =>\n void zudoku.authentication?.signIn(\n { navigate },\n { redirectTo: latestPath.current },\n )\n }\n >\n Login{\" \"}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n );\n }\n\n return (\n <>\n {shouldBypass && isProtectedRoute && (\n <Helmet>\n <meta\n name=\"pagefind\"\n data-pagefind-filter={`section:${SEARCH_PROTECTED_SECTION}`}\n content=\"true\"\n />\n </Helmet>\n )}\n <Outlet />\n </>\n );\n};\n"],"names":["BypassProtectedRoutesContext","createContext","SEARCH_PROTECTED_SECTION","RouteGuard","auth","useAuth","zudoku","useZudoku","navigate","useNavigate","location","useLocation","latestPath","useLatest","shouldBypass","use","protectedRoutes","authCheckFn","path","matchPath","isProtectedRoute","needsToSignIn","ZudokuError","jsx","Dialog","open","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogFooter","Button","jsxs","Fragment","Helmet","Outlet"],"mappings":";;;;;;;;;;AAEO,MAAMA,IAA+BC,EAAc,EAAK,GCgBlDC,IAA2B,aAE3BC,IAAa,MAAM;AAC9B,QAAMC,IAAOC,EAAA,GACPC,IAASC,EAAA,GACTC,IAAWC,EAAA,GACXC,IAAWC,EAAA,GACXC,IAAaC,EAAUH,EAAS,QAAQ,GACxCI,IAAeC,EAAIf,CAA4B,GAC/C,EAAE,iBAAAgB,MAAoBV,EAAO,SAE7BW,IACJ,CAACH,KAAgBE,IACb,OAAO,QAAQA,CAAe,EAAE;AAAA,IAAK,CAAC,CAACE,CAAI,MACzCC,EAAU,EAAE,MAAAD,GAAM,KAAK,MAAQR,EAAS,QAAQ;AAAA,EAAA,IAC9C,CAAC,IACL,QAEAU,IAAmBH,MAAgB,QACnCI,IACJD,KAAoB,CAACH,EAAY,EAAE,MAAAb,GAAM,SAASE,GAAQ;AAE5D,MAAIc,KAAoB,CAAChB,EAAK;AAC5B,UAAM,IAAIkB,EAAY,iCAAiC;AAAA,MACrD,OAAO;AAAA,MACP,eACE;AAAA,IAAA,CACH;AAGH,SAAID,KAAiBjB,EAAK,aAAa,OAAO,SAAW,MAChD,OAGLiB,IAEAE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc,CAACC,MAAS;AACtB,QAAKA,KACEjB,EAAS,EAAE;AAAA,MAEpB;AAAA,MAEA,iCAACkB,GAAA,EACC,UAAA;AAAA,QAAAH,gBAAAA,MAACI,GAAA,EACC,UAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAY,UAAA,oBAAA,CAAiB,GAChC;AAAA,QACAL,gBAAAA,EAAAA,IAACM,KAAkB,UAAA,mCAAA,CAEnB;AAAA,+BACCC,GAAA,EACC,UAAA;AAAA,UAAAP,gBAAAA,EAAAA,IAACQ,GAAA,EAAO,SAAQ,WAAU,SAAS,MAAM,KAAKvB,EAAS,EAAE,GAAG,UAAA,SAAA,CAE5D;AAAA,UACAe,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,SAAA,CAAS;AAAA,UACxBA,gBAAAA,EAAAA;AAAAA,YAACQ;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGDoB,gBAAAA,EAAAA;AAAAA,YAACD;AAAA,YAAA;AAAA,cACC,SAAS,MACP,KAAKzB,EAAO,gBAAgB;AAAA,gBAC1B,EAAE,UAAAE,EAAA;AAAA,gBACF,EAAE,YAAYI,EAAW,QAAA;AAAA,cAAQ;AAAA,cAGtC,UAAA;AAAA,gBAAA;AAAA,gBACO;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACR,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,IAMJoB,gBAAAA,EAAAA,KAAAC,YAAA,EACG,UAAA;AAAA,IAAAnB,KAAgBM,2BACdc,GAAA,EACC,UAAAX,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,wBAAsB,WAAWrB,CAAwB;AAAA,QACzD,SAAQ;AAAA,MAAA;AAAA,IAAA,GAEZ;AAAA,0BAEDiC,GAAA,CAAA,CAAO;AAAA,EAAA,GACV;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import { b as s, L as t, c as a, i as n } from "./chunk-PVWAREVJ-BMhpCH5D.js";
2
+ import { c as s, L as t, d as a, i as n } from "./chunk-PVWAREVJ-dLIqswPy.js";
3
3
  import { UnlinkIcon as i } from "lucide-react";
4
4
  import { C as c } from "./CategoryHeading-DhmodDcq.js";
5
- import { T as d, H as m, D as l, E as p } from "./ErrorAlert-D5LKLFOd.js";
5
+ import { T as d, H as m, D as l, E as p } from "./ErrorAlert-BqjbNHIn.js";
6
6
  import { c as h } from "./cn-dYga0KKN.js";
7
7
  const x = () => {
8
8
  const r = s();
@@ -39,4 +39,4 @@ export {
39
39
  x as N,
40
40
  E as R
41
41
  };
42
- //# sourceMappingURL=RouterError-VGZB_wg4.js.map
42
+ //# sourceMappingURL=RouterError-CKOZTsDD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouterError-VGZB_wg4.js","sources":["../src/lib/components/NotFoundPage.tsx","../src/lib/errors/RouterError.tsx"],"sourcesContent":["import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { Typography } from \"./Typography.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <Typography className=\"h-full pt-(--padding-content-top)\">\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{DOCUMENT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away. By default{\" \"}\n <code>DOCUMENT_ROOT</code> is the `pages` directory.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </Typography>\n );\n};\n","import { isRouteErrorResponse, useRouteError } from \"react-router\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { cn } from \"../util/cn.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError({ className }: { className?: string }) {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return (\n <div className={cn(\"mx-4 max-w-2xl\", className)}>\n <ErrorAlert error={error} />\n </div>\n );\n}\n"],"names":["NotFoundPage","params","useParams","jsxs","Typography","jsx","CategoryHeading","Heading","UnlinkIcon","DeveloperHint","Link","RouterError","className","error","useRouteError","isRouteErrorResponse","cn","ErrorAlert"],"mappings":";;;;;;AAOO,MAAMA,IAAe,MAAM;AAChC,QAAMC,IAASC,EAAA;AAEf,SACEC,gBAAAA,EAAAA,KAACC,GAAA,EAAW,WAAU,qCACpB,UAAA;AAAA,IAAAC,gBAAAA,EAAAA,IAACC,KAAgB,UAAA,MAAA,CAAG;AAAA,IACpBH,gBAAAA,EAAAA,KAACI,GAAA,EAAQ,OAAO,GAAG,WAAU,6BAA4B,UAAA;AAAA,MAAA;AAAA,MAEvDF,gBAAAA,EAAAA,IAACG,GAAA,EAAW,MAAM,GAAA,CAAI;AAAA,IAAA,GACxB;AAAA,2BACCC,GAAA,EAAc,UAAA;AAAA,MAAA;AAAA,MACa;AAAA,6BACzB,QAAA,EACE,UAAA;AAAA,QAAA;AAAA,QAAkB;AAAA,QAAER,EAAO,GAAG;AAAA,QAAE;AAAA,MAAA,GACnC;AAAA,MAAQ;AAAA,MAAI;AAAA,MACgD;AAAA,MAC5DI,gBAAAA,EAAAA,IAAC,UAAK,UAAA,gBAAA,CAAa;AAAA,MAAO;AAAA,IAAA,GAC5B;AAAA,IACAA,gBAAAA,EAAAA,IAAC,OAAE,UAAA,4KAAA,CAIH;AAAA,IACAA,gBAAAA,EAAAA,IAACK,GAAA,EAAK,IAAG,KAAI,UAAA,eAAA,CAAY;AAAA,EAAA,GAC3B;AAEJ;AC5BO,SAASC,EAAY,EAAE,WAAAC,KAAqC;AACjE,QAAMC,IAAQC,EAAA;AAEd,SAAIC,EAAqBF,CAAK,KAAKA,EAAM,WAAW,4BAC1Cb,GAAA,EAAa,IAIrBK,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWW,EAAG,kBAAkBJ,CAAS,GAC5C,UAAAP,gBAAAA,EAAAA,IAACY,GAAA,EAAW,OAAAJ,EAAA,CAAc,EAAA,CAC5B;AAEJ;"}
1
+ {"version":3,"file":"RouterError-CKOZTsDD.js","sources":["../src/lib/components/NotFoundPage.tsx","../src/lib/errors/RouterError.tsx"],"sourcesContent":["import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { Typography } from \"./Typography.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <Typography className=\"h-full pt-(--padding-content-top)\">\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{DOCUMENT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away. By default{\" \"}\n <code>DOCUMENT_ROOT</code> is the `pages` directory.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </Typography>\n );\n};\n","import { isRouteErrorResponse, useRouteError } from \"react-router\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { cn } from \"../util/cn.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError({ className }: { className?: string }) {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return (\n <div className={cn(\"mx-4 max-w-2xl\", className)}>\n <ErrorAlert error={error} />\n </div>\n );\n}\n"],"names":["NotFoundPage","params","useParams","jsxs","Typography","jsx","CategoryHeading","Heading","UnlinkIcon","DeveloperHint","Link","RouterError","className","error","useRouteError","isRouteErrorResponse","cn","ErrorAlert"],"mappings":";;;;;;AAOO,MAAMA,IAAe,MAAM;AAChC,QAAMC,IAASC,EAAA;AAEf,SACEC,gBAAAA,EAAAA,KAACC,GAAA,EAAW,WAAU,qCACpB,UAAA;AAAA,IAAAC,gBAAAA,EAAAA,IAACC,KAAgB,UAAA,MAAA,CAAG;AAAA,IACpBH,gBAAAA,EAAAA,KAACI,GAAA,EAAQ,OAAO,GAAG,WAAU,6BAA4B,UAAA;AAAA,MAAA;AAAA,MAEvDF,gBAAAA,EAAAA,IAACG,GAAA,EAAW,MAAM,GAAA,CAAI;AAAA,IAAA,GACxB;AAAA,2BACCC,GAAA,EAAc,UAAA;AAAA,MAAA;AAAA,MACa;AAAA,6BACzB,QAAA,EACE,UAAA;AAAA,QAAA;AAAA,QAAkB;AAAA,QAAER,EAAO,GAAG;AAAA,QAAE;AAAA,MAAA,GACnC;AAAA,MAAQ;AAAA,MAAI;AAAA,MACgD;AAAA,MAC5DI,gBAAAA,EAAAA,IAAC,UAAK,UAAA,gBAAA,CAAa;AAAA,MAAO;AAAA,IAAA,GAC5B;AAAA,IACAA,gBAAAA,EAAAA,IAAC,OAAE,UAAA,4KAAA,CAIH;AAAA,IACAA,gBAAAA,EAAAA,IAACK,GAAA,EAAK,IAAG,KAAI,UAAA,eAAA,CAAY;AAAA,EAAA,GAC3B;AAEJ;AC5BO,SAASC,EAAY,EAAE,WAAAC,KAAqC;AACjE,QAAMC,IAAQC,EAAA;AAEd,SAAIC,EAAqBF,CAAK,KAAKA,EAAM,WAAW,4BAC1Cb,GAAA,EAAa,IAIrBK,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWW,EAAG,kBAAkBJ,CAAS,GAC5C,UAAAP,gBAAAA,EAAAA,IAACY,GAAA,EAAW,OAAAJ,EAAA,CAAc,EAAA,CAC5B;AAEJ;"}
@@ -1,15 +1,15 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import { s as r } from "./index-CF7_erXq.js";
3
- import { b as j } from "./ZudokuContext-BUZ5hkWB.js";
4
- import { H as c } from "./index.esm-BnYHxCYC.js";
5
- import { ChevronsUpDownIcon as N, ChevronsDownUpIcon as y, ChevronRightIcon as b } from "lucide-react";
6
- import { B as v } from "./Button-B3ucvvQw.js";
7
- import { u as C, a as w, C as m, b as l, c as d, g as S } from "./index-C_-XS4lp.js";
2
+ import { s as o } from "./index-DscsS121.js";
3
+ import { e as j } from "./ZudokuContext-np1wheDl.js";
4
+ import { H as c } from "./index.esm-DtzT_KoE.js";
5
+ import { ChevronsUpDownIcon as y, ChevronsDownUpIcon as N, ChevronRightIcon as b } from "lucide-react";
6
+ import { B as v } from "./Button-CynVW1JV.js";
7
+ import { u as C, a as w, C as m, b as l, c as d, d as S } from "./index-Bjc_QsUR.js";
8
8
  import { C as A } from "./CategoryHeading-DhmodDcq.js";
9
- import { H as p, M as H } from "./ErrorAlert-D5LKLFOd.js";
10
- import { T as I } from "./Toc-CBWfFCVf.js";
11
- import { S as z } from "./SchemaView-CgDcUNbC.js";
12
- const T = S(
9
+ import { H as p, M as H } from "./ErrorAlert-BqjbNHIn.js";
10
+ import { T as I } from "./Toc-TUXNFbKl.js";
11
+ import { P as z, S as M } from "./SchemaView-CgwJ9gtb.js";
12
+ const P = S(
13
13
  /* GraphQL */
14
14
  `
15
15
  query GetSchemas($input: JSON!, $type: SchemaType!) {
@@ -28,11 +28,11 @@ const T = S(
28
28
  }
29
29
  `
30
30
  );
31
- function G() {
32
- const { input: h, type: x, versions: u, version: a, options: o } = C(), f = w(T, {
31
+ function R() {
32
+ const { input: h, type: x, versions: u, version: t, options: r } = C(), f = w(P, {
33
33
  input: h,
34
34
  type: x
35
- }), { data: t } = j(f), n = t.schema.components?.schemas ?? [], g = Object.entries(u).length > 1, i = o?.showVersionSelect === "always" || g && o?.showVersionSelect !== "hide";
35
+ }), { data: a } = j(f), n = a.schema.components?.schemas ?? [], g = Object.entries(u).length > 1, i = r?.showVersionSelect === "always" || g && r?.showVersionSelect !== "hide";
36
36
  return n.length ? /* @__PURE__ */ e.jsxs(
37
37
  "div",
38
38
  {
@@ -40,10 +40,11 @@ function G() {
40
40
  "data-pagefind-filter": "section:openapi",
41
41
  "data-pagefind-meta": "section:openapi",
42
42
  children: [
43
+ /* @__PURE__ */ e.jsx(z, { name: "category", children: a.schema.title }),
43
44
  /* @__PURE__ */ e.jsxs(c, { children: [
44
45
  /* @__PURE__ */ e.jsxs("title", { children: [
45
46
  "Schemas ",
46
- i ? a : ""
47
+ i ? t : ""
47
48
  ] }),
48
49
  /* @__PURE__ */ e.jsx("meta", { name: "description", content: "List of schemas used by the API." })
49
50
  ] }),
@@ -51,7 +52,7 @@ function G() {
51
52
  /* @__PURE__ */ e.jsxs(m, { className: "w-full", children: [
52
53
  /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end", children: [
53
54
  /* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
54
- /* @__PURE__ */ e.jsx(A, { children: t.schema.title }),
55
+ /* @__PURE__ */ e.jsx(A, { children: a.schema.title }),
55
56
  /* @__PURE__ */ e.jsxs(
56
57
  p,
57
58
  {
@@ -63,24 +64,24 @@ function G() {
63
64
  "Schemas",
64
65
  i && /* @__PURE__ */ e.jsxs("span", { className: "text-xl text-muted-foreground ms-1.5", children: [
65
66
  "(",
66
- a,
67
+ t,
67
68
  ")"
68
69
  ] })
69
70
  ]
70
71
  }
71
72
  )
72
73
  ] }),
73
- t.schema.description && /* @__PURE__ */ e.jsxs(l, { className: "flex items-center gap-1 text-sm font-medium text-muted-foreground group", children: [
74
+ a.schema.description && /* @__PURE__ */ e.jsxs(l, { className: "flex items-center gap-1 text-sm font-medium text-muted-foreground group", children: [
74
75
  /* @__PURE__ */ e.jsx("span", { children: "API information" }),
75
76
  /* @__PURE__ */ e.jsx(
76
- N,
77
+ y,
77
78
  {
78
79
  className: "group-data-[state=open]:hidden translate-y-px",
79
80
  size: 14
80
81
  }
81
82
  ),
82
83
  /* @__PURE__ */ e.jsx(
83
- y,
84
+ N,
84
85
  {
85
86
  className: "group-data-[state=closed]:hidden translate-y-px",
86
87
  size: 13
@@ -88,11 +89,11 @@ function G() {
88
89
  )
89
90
  ] })
90
91
  ] }),
91
- t.schema.description && /* @__PURE__ */ e.jsx(d, { className: "CollapsibleContent", children: /* @__PURE__ */ e.jsx("div", { className: "mt-4 max-w-full border rounded-sm bg-muted/25", children: /* @__PURE__ */ e.jsx(
92
+ a.schema.description && /* @__PURE__ */ e.jsx(d, { className: "CollapsibleContent", children: /* @__PURE__ */ e.jsx("div", { className: "mt-4 max-w-full border rounded-sm bg-muted/25", children: /* @__PURE__ */ e.jsx(
92
93
  H,
93
94
  {
94
95
  className: "max-w-full prose-img:max-w-prose border-border p-3 lg:p-5",
95
- content: t.schema.description
96
+ content: a.schema.description
96
97
  }
97
98
  ) }) })
98
99
  ] }),
@@ -104,7 +105,7 @@ function G() {
104
105
  registerNavigationAnchor: !0,
105
106
  level: 2,
106
107
  className: "flex items-center gap-1 justify-between w-fit",
107
- id: r(s.name),
108
+ id: o(s.name),
108
109
  children: [
109
110
  s.name,
110
111
  " ",
@@ -118,14 +119,14 @@ function G() {
118
119
  ]
119
120
  }
120
121
  ),
121
- /* @__PURE__ */ e.jsx(d, { className: "mt-4 CollapsibleContent", children: /* @__PURE__ */ e.jsx(z, { schema: s.schema }) })
122
+ /* @__PURE__ */ e.jsx(d, { className: "mt-4 CollapsibleContent", children: /* @__PURE__ */ e.jsx(M, { schema: s.schema }) })
122
123
  ] }, s.name)) })
123
124
  ] }),
124
125
  /* @__PURE__ */ e.jsx(
125
126
  I,
126
127
  {
127
128
  entries: n.map((s) => ({
128
- id: r(s.name),
129
+ id: o(s.name),
129
130
  value: s.name,
130
131
  depth: 1
131
132
  }))
@@ -137,7 +138,7 @@ function G() {
137
138
  /* @__PURE__ */ e.jsxs(c, { children: [
138
139
  /* @__PURE__ */ e.jsxs("title", { children: [
139
140
  "Schemas ",
140
- i ? a : ""
141
+ i ? t : ""
141
142
  ] }),
142
143
  /* @__PURE__ */ e.jsx("meta", { name: "description", content: "List of schemas used by the API." })
143
144
  ] }),
@@ -145,6 +146,6 @@ function G() {
145
146
  ] });
146
147
  }
147
148
  export {
148
- G as SchemaList
149
+ R as SchemaList
149
150
  };
150
- //# sourceMappingURL=SchemaList-DnlwQJCO.js.map
151
+ //# sourceMappingURL=SchemaList-BSC1KM3v.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaList-BSC1KM3v.js","sources":["../src/lib/plugins/openapi/SchemaList.tsx"],"sourcesContent":["import slugify from \"@sindresorhus/slugify\";\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n ChevronRightIcon,\n ChevronsDownUpIcon,\n ChevronsUpDownIcon,\n} from \"lucide-react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport { PagefindSearchMeta } from \"../../components/PagefindSearchMeta.js\";\nimport { useCreateQuery } from \"./client/useCreateQuery.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/gql.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\n\nconst GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n`);\n\nexport function SchemaList() {\n const { input, type, versions, version, options } = useOasConfig();\n const schemasQuery = useCreateQuery(GET_SCHEMAS, {\n input,\n type,\n });\n const { data } = useSuspenseQuery(schemasQuery);\n\n const schemas = data.schema.components?.schemas ?? [];\n const hasMultipleVersions = Object.entries(versions).length > 1;\n const showVersions =\n options?.showVersionSelect === \"always\" ||\n (hasMultipleVersions && options?.showVersionSelect !== \"hide\");\n\n if (!schemas.length) {\n return (\n <div>\n <Helmet>\n <title>Schemas {showVersions ? version : \"\"}</title>\n <meta name=\"description\" content=\"List of schemas used by the API.\" />\n </Helmet>\n No schemas found\n </div>\n );\n }\n\n return (\n <div\n className=\"grid grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:openapi\"\n data-pagefind-meta=\"section:openapi\"\n >\n <PagefindSearchMeta name=\"category\">\n {data.schema.title}\n </PagefindSearchMeta>\n <Helmet>\n <title>Schemas {showVersions ? version : \"\"}</title>\n <meta name=\"description\" content=\"List of schemas used by the API.\" />\n </Helmet>\n <div className=\"pt-(--padding-content-top) pb-(--padding-content-bottom)\">\n <Collapsible className=\"w-full\">\n <div className=\"flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end\">\n <div className=\"flex-1\">\n <CategoryHeading>{data.schema.title}</CategoryHeading>\n <Heading\n level={1}\n id=\"schemas\"\n registerNavigationAnchor\n className=\"mb-0\"\n >\n Schemas\n {showVersions && (\n <span className=\"text-xl text-muted-foreground ms-1.5\">\n ({version})\n </span>\n )}\n </Heading>\n </div>\n {data.schema.description && (\n <CollapsibleTrigger className=\"flex items-center gap-1 text-sm font-medium text-muted-foreground group\">\n <span>API information</span>\n <ChevronsUpDownIcon\n className=\"group-data-[state=open]:hidden translate-y-px\"\n size={14}\n />\n <ChevronsDownUpIcon\n className=\"group-data-[state=closed]:hidden translate-y-px\"\n size={13}\n />\n </CollapsibleTrigger>\n )}\n </div>\n {data.schema.description && (\n <CollapsibleContent className=\"CollapsibleContent\">\n <div className=\"mt-4 max-w-full border rounded-sm bg-muted/25\">\n <Markdown\n className=\"max-w-full prose-img:max-w-prose border-border p-3 lg:p-5\"\n content={data.schema.description}\n />\n </div>\n </CollapsibleContent>\n )}\n </Collapsible>\n <hr className=\"my-8\" />\n <div className=\"flex flex-col gap-y-5\">\n {schemas.map((schema) => (\n <Collapsible key={schema.name} className=\"group\" defaultOpen>\n <Heading\n registerNavigationAnchor\n level={2}\n className=\"flex items-center gap-1 justify-between w-fit\"\n id={slugify(schema.name)}\n >\n {schema.name}{\" \"}\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-6\">\n <ChevronRightIcon\n size={16}\n className=\"group-data-[state=open]:rotate-90 transition cursor-pointer\"\n />\n </Button>\n </CollapsibleTrigger>\n </Heading>\n <CollapsibleContent className=\"mt-4 CollapsibleContent\">\n <SchemaView schema={schema.schema} />\n </CollapsibleContent>\n </Collapsible>\n ))}\n </div>\n </div>\n <Toc\n entries={schemas.map((schema) => ({\n id: slugify(schema.name),\n value: schema.name,\n depth: 1,\n }))}\n />\n </div>\n );\n}\n"],"names":["GET_SCHEMAS","graphql","SchemaList","input","type","versions","version","options","useOasConfig","schemasQuery","useCreateQuery","data","useSuspenseQuery","schemas","hasMultipleVersions","showVersions","jsxs","jsx","PagefindSearchMeta","Helmet","Collapsible","CategoryHeading","Heading","CollapsibleTrigger","ChevronsUpDownIcon","ChevronsDownUpIcon","CollapsibleContent","Markdown","schema","slugify","Button","ChevronRightIcon","SchemaView","Toc"],"mappings":"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"}