zudoku 0.3.0-dev.31 → 0.3.0-dev.33

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 (206) hide show
  1. package/dist/app/App.d.ts +1 -0
  2. package/dist/app/App.js +2 -0
  3. package/dist/app/App.js.map +1 -0
  4. package/dist/app/entry.client.d.ts +3 -0
  5. package/dist/app/entry.client.js +38 -0
  6. package/dist/app/entry.client.js.map +1 -0
  7. package/dist/app/entry.server.d.ts +10 -0
  8. package/dist/app/entry.server.js +107 -0
  9. package/dist/app/entry.server.js.map +1 -0
  10. package/dist/app/main.d.ts +26 -2
  11. package/dist/app/main.js +39 -17
  12. package/dist/app/main.js.map +1 -1
  13. package/dist/app/tailwind.js +5 -0
  14. package/dist/app/tailwind.js.map +1 -1
  15. package/dist/app/zudoku-manifest.d.ts +1 -0
  16. package/dist/app/zudoku-manifest.js +20 -0
  17. package/dist/app/zudoku-manifest.js.map +1 -0
  18. package/dist/cli/cmds/dev.js +5 -0
  19. package/dist/cli/cmds/dev.js.map +1 -1
  20. package/dist/cli/dev/handler.d.ts +1 -0
  21. package/dist/cli/dev/handler.js +3 -1
  22. package/dist/cli/dev/handler.js.map +1 -1
  23. package/dist/config/config.d.ts +5 -0
  24. package/dist/lib/authentication/providers/clerk.js +2 -0
  25. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  26. package/dist/lib/components/DevPortal.d.ts +1 -1
  27. package/dist/lib/components/DevPortal.js +6 -10
  28. package/dist/lib/components/DevPortal.js.map +1 -1
  29. package/dist/lib/components/ErrorPage.d.ts +6 -0
  30. package/dist/lib/components/ErrorPage.js +9 -0
  31. package/dist/lib/components/ErrorPage.js.map +1 -0
  32. package/dist/lib/components/InlineCode.d.ts +5 -0
  33. package/dist/lib/components/InlineCode.js +4 -0
  34. package/dist/lib/components/InlineCode.js.map +1 -0
  35. package/dist/lib/components/Layout.js +2 -1
  36. package/dist/lib/components/Layout.js.map +1 -1
  37. package/dist/lib/components/NotFoundPage.d.ts +1 -0
  38. package/dist/lib/components/NotFoundPage.js +12 -0
  39. package/dist/lib/components/NotFoundPage.js.map +1 -0
  40. package/dist/lib/components/SyntaxHighlight.d.ts +3 -2
  41. package/dist/lib/components/SyntaxHighlight.js +20 -22
  42. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  43. package/dist/lib/errors/RouterError.js +6 -3
  44. package/dist/lib/errors/RouterError.js.map +1 -1
  45. package/dist/lib/errors/ServerError.d.ts +3 -0
  46. package/dist/lib/errors/ServerError.js +6 -0
  47. package/dist/lib/errors/ServerError.js.map +1 -0
  48. package/dist/lib/oas/parser/index.d.ts +1 -1
  49. package/dist/lib/oas/parser/index.js +38 -14
  50. package/dist/lib/oas/parser/index.js.map +1 -1
  51. package/dist/lib/plugins/api-keys/index.js +3 -8
  52. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  53. package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
  54. package/dist/lib/plugins/markdown/index.js +3 -7
  55. package/dist/lib/plugins/markdown/index.js.map +1 -1
  56. package/dist/lib/plugins/openapi/OperationList.js +11 -1
  57. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  58. package/dist/lib/plugins/openapi/OperationListItem.js +2 -1
  59. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  60. package/dist/lib/plugins/openapi/SchemaListView.js +2 -1
  61. package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
  62. package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
  63. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
  64. package/dist/lib/plugins/openapi/index.js +9 -1
  65. package/dist/lib/plugins/openapi/index.js.map +1 -1
  66. package/dist/lib/plugins/openapi/playground/QueryParams.js +2 -1
  67. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  68. package/dist/lib/plugins/redirect/index.js +2 -3
  69. package/dist/lib/plugins/redirect/index.js.map +1 -1
  70. package/dist/lib/ui/Callout.js +1 -1
  71. package/dist/lib/ui/Callout.js.map +1 -1
  72. package/dist/lib/ui/button-variants.d.ts +1 -1
  73. package/dist/lib/util/MdxComponents.js +2 -2
  74. package/dist/lib/util/MdxComponents.js.map +1 -1
  75. package/dist/lib/util/groupBy.d.ts +1 -6
  76. package/dist/lib/util/groupBy.js +10 -8
  77. package/dist/lib/util/groupBy.js.map +1 -1
  78. package/dist/vite/build.js +30 -11
  79. package/dist/vite/build.js.map +1 -1
  80. package/dist/vite/config.d.ts +2 -1
  81. package/dist/vite/config.js +34 -7
  82. package/dist/vite/config.js.map +1 -1
  83. package/dist/vite/dev-server.d.ts +1 -1
  84. package/dist/vite/dev-server.js +15 -9
  85. package/dist/vite/dev-server.js.map +1 -1
  86. package/dist/vite/html.js +5 -4
  87. package/dist/vite/html.js.map +1 -1
  88. package/dist/vite/plugin-custom-css.d.ts +6 -0
  89. package/dist/vite/plugin-custom-css.js +55 -0
  90. package/dist/vite/plugin-custom-css.js.map +1 -0
  91. package/dist/vite/plugin-docs.js +14 -5
  92. package/dist/vite/plugin-docs.js.map +1 -1
  93. package/dist/vite/plugin-openapi-worker.js +4 -1
  94. package/dist/vite/plugin-openapi-worker.js.map +1 -1
  95. package/dist/vite/plugin.js +2 -0
  96. package/dist/vite/plugin.js.map +1 -1
  97. package/dist/vite/prerender.d.ts +1 -0
  98. package/dist/vite/prerender.js +57 -0
  99. package/dist/vite/prerender.js.map +1 -0
  100. package/lib/{DevPortalProvider-BMk-RCE0.js → DevPortalProvider-BlxLX6GG.js} +230 -250
  101. package/lib/DevPortalProvider-BlxLX6GG.js.map +1 -0
  102. package/lib/{Markdown-DDmW47R9.js → Markdown-CL8KPvJN.js} +8 -9
  103. package/lib/{Markdown-DDmW47R9.js.map → Markdown-CL8KPvJN.js.map} +1 -1
  104. package/lib/MdxComponents-Ev_hBHb2.js +5885 -0
  105. package/lib/MdxComponents-Ev_hBHb2.js.map +1 -0
  106. package/lib/{MdxPage-DyJAHF9y.js → MdxPage-Z3HKNTrj.js} +92 -89
  107. package/lib/MdxPage-Z3HKNTrj.js.map +1 -0
  108. package/lib/{OperationList-Dz9rHM9r.js → OperationList-DfkWNe8Y.js} +1972 -1786
  109. package/lib/OperationList-DfkWNe8Y.js.map +1 -0
  110. package/lib/Route-Bf1_D_vC.js +13 -0
  111. package/lib/{Route-CN_7-e5r.js.map → Route-Bf1_D_vC.js.map} +1 -1
  112. package/lib/Select-DSa3bN4t.js +4770 -0
  113. package/lib/Select-DSa3bN4t.js.map +1 -0
  114. package/lib/assets/{worker-BXS8hiSM.js → worker-BjPv-hjP.js} +3100 -2720
  115. package/lib/assets/worker-BjPv-hjP.js.map +1 -0
  116. package/lib/hook-CTmJ6CWq.js +35 -0
  117. package/lib/hook-CTmJ6CWq.js.map +1 -0
  118. package/lib/index-BdWBDosx.js +74 -0
  119. package/lib/index-BdWBDosx.js.map +1 -0
  120. package/lib/{index-Cpdpun6t.js → index-BjSy8IQO.js} +57 -41
  121. package/lib/index-BjSy8IQO.js.map +1 -0
  122. package/lib/{AnchorLink-ptdQk87q.js → index.esm-CPEExBJE.js} +156 -168
  123. package/lib/index.esm-CPEExBJE.js.map +1 -0
  124. package/lib/jsx-runtime-CM0TzjGp.js +866 -0
  125. package/lib/jsx-runtime-CM0TzjGp.js.map +1 -0
  126. package/lib/mutation-91kw0lHb.js +208 -0
  127. package/lib/mutation-91kw0lHb.js.map +1 -0
  128. package/lib/router-CcYTwKjf.js +183 -0
  129. package/lib/router-CcYTwKjf.js.map +1 -0
  130. package/lib/zudoku.auth-clerk.js.map +1 -1
  131. package/lib/zudoku.auth-openid.js +588 -441
  132. package/lib/zudoku.auth-openid.js.map +1 -1
  133. package/lib/zudoku.components.js +284 -595
  134. package/lib/zudoku.components.js.map +1 -1
  135. package/lib/zudoku.openapi-worker.js +18 -18
  136. package/lib/zudoku.plugin-api-keys.js +143 -98
  137. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  138. package/lib/zudoku.plugin-markdown.js +2 -49
  139. package/lib/zudoku.plugin-markdown.js.map +1 -1
  140. package/lib/zudoku.plugin-openapi.js +5 -3
  141. package/lib/zudoku.plugin-openapi.js.map +1 -1
  142. package/lib/zudoku.plugin-redirect.js +6 -7
  143. package/lib/zudoku.plugin-redirect.js.map +1 -1
  144. package/package.json +9 -8
  145. package/src/app/App.tsx +0 -0
  146. package/src/app/entry.client.tsx +64 -0
  147. package/src/app/entry.server.tsx +158 -0
  148. package/src/app/main.tsx +65 -43
  149. package/src/app/tailwind.ts +6 -0
  150. package/src/app/zudoku-manifest.ts +22 -0
  151. package/src/lib/authentication/providers/clerk.tsx +1 -0
  152. package/src/lib/components/DevPortal.tsx +25 -33
  153. package/src/lib/components/ErrorPage.tsx +28 -0
  154. package/src/lib/components/InlineCode.tsx +19 -0
  155. package/src/lib/components/Layout.tsx +7 -4
  156. package/src/lib/components/NotFoundPage.tsx +39 -0
  157. package/src/lib/components/SyntaxHighlight.tsx +26 -22
  158. package/src/lib/errors/RouterError.tsx +8 -7
  159. package/src/lib/errors/ServerError.tsx +5 -0
  160. package/src/lib/oas/parser/index.ts +41 -22
  161. package/src/lib/plugins/api-keys/index.tsx +4 -16
  162. package/src/lib/plugins/markdown/generateRoutes.tsx +1 -1
  163. package/src/lib/plugins/markdown/index.tsx +3 -7
  164. package/src/lib/plugins/openapi/OperationList.tsx +30 -0
  165. package/src/lib/plugins/openapi/OperationListItem.tsx +3 -1
  166. package/src/lib/plugins/openapi/SchemaListView.tsx +8 -10
  167. package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -1
  168. package/src/lib/plugins/openapi/index.tsx +18 -1
  169. package/src/lib/plugins/openapi/playground/QueryParams.tsx +6 -1
  170. package/src/lib/plugins/redirect/index.tsx +2 -2
  171. package/src/lib/ui/Callout.tsx +2 -2
  172. package/src/lib/util/MdxComponents.tsx +2 -11
  173. package/src/lib/util/groupBy.ts +7 -12
  174. package/dist/lib/components/Router.d.ts +0 -4
  175. package/dist/lib/components/Router.js +0 -21
  176. package/dist/lib/components/Router.js.map +0 -1
  177. package/lib/AnchorLink-ptdQk87q.js.map +0 -1
  178. package/lib/DevPortalProvider-BMk-RCE0.js.map +0 -1
  179. package/lib/MdxComponents-C0R6zobS.js +0 -3019
  180. package/lib/MdxComponents-C0R6zobS.js.map +0 -1
  181. package/lib/MdxPage-DyJAHF9y.js.map +0 -1
  182. package/lib/OperationList-Dz9rHM9r.js.map +0 -1
  183. package/lib/Route-CN_7-e5r.js +0 -14
  184. package/lib/Select-D-Jtx53Q.js +0 -4572
  185. package/lib/Select-D-Jtx53Q.js.map +0 -1
  186. package/lib/Spinner-BG1JnYy0.js +0 -182
  187. package/lib/Spinner-BG1JnYy0.js.map +0 -1
  188. package/lib/assets/worker-BXS8hiSM.js.map +0 -1
  189. package/lib/cn-DpqTslo9.js +0 -2342
  190. package/lib/cn-DpqTslo9.js.map +0 -1
  191. package/lib/hook-BzBeIPL4.js +0 -25
  192. package/lib/hook-BzBeIPL4.js.map +0 -1
  193. package/lib/index-BaOOUFsA.js +0 -412
  194. package/lib/index-BaOOUFsA.js.map +0 -1
  195. package/lib/index-CPvRaBBB.js +0 -713
  196. package/lib/index-CPvRaBBB.js.map +0 -1
  197. package/lib/index-Cpdpun6t.js.map +0 -1
  198. package/lib/index-DLS6fPwU.js +0 -464
  199. package/lib/index-DLS6fPwU.js.map +0 -1
  200. package/lib/jsx-runtime-SV6hXQua.js +0 -3009
  201. package/lib/jsx-runtime-SV6hXQua.js.map +0 -1
  202. package/lib/loglevel-CA34MiFn.js +0 -153
  203. package/lib/loglevel-CA34MiFn.js.map +0 -1
  204. package/lib/util-CCWvaWo7.js +0 -41
  205. package/lib/util-CCWvaWo7.js.map +0 -1
  206. package/src/lib/components/Router.tsx +0 -24
@@ -0,0 +1,35 @@
1
+ import { j as s } from "./jsx-runtime-CM0TzjGp.js";
2
+ import { u as i } from "./DevPortalProvider-BlxLX6GG.js";
3
+ import { u as a } from "./state-Ds_OxRHP.js";
4
+ function r({ error: t }) {
5
+ const n = (t == null ? void 0 : t.message) ?? "Something went wrong", e = t == null ? void 0 : t.stack;
6
+ return /* @__PURE__ */ s.jsx("div", { className: "flex h-screen max-h-screen min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8", children: /* @__PURE__ */ s.jsxs("div", { className: "mx-auto max-w-[85%] sm:max-w-[50%]", children: [
7
+ /* @__PURE__ */ s.jsx("h1", { className: "text-4xl font-bold tracking-tight text-h1-text sm:text-5xl", children: "Something went wrong" }),
8
+ /* @__PURE__ */ s.jsx("p", { className: "mt-5 text-h1-text", children: n }),
9
+ e ? /* @__PURE__ */ s.jsx("pre", { className: "mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700", children: e }) : null
10
+ ] }) });
11
+ }
12
+ const u = () => {
13
+ const { authentication: t } = i(), n = a(), e = typeof t < "u";
14
+ return {
15
+ isAuthEnabled: e,
16
+ isPending: n.isPending,
17
+ profile: n.profile,
18
+ isAuthenticated: n.profile,
19
+ login: async () => {
20
+ if (!e)
21
+ throw new Error("Authentication is not enabled.");
22
+ await t.login();
23
+ },
24
+ logout: async () => {
25
+ if (!e)
26
+ throw new Error("Authentication is not enabled.");
27
+ await t.logout(), window.location.href = "/";
28
+ }
29
+ };
30
+ };
31
+ export {
32
+ r as E,
33
+ u
34
+ };
35
+ //# sourceMappingURL=hook-CTmJ6CWq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-CTmJ6CWq.js","sources":["../src/lib/errors/ErrorAlert.tsx","../src/lib/authentication/hook.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function ErrorAlert({ error }: { error: any }) {\n const message = error?.message ?? \"Something went wrong\";\n const stack = error?.stack;\n\n return (\n <div className=\"flex h-screen max-h-screen min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8\">\n <div className=\"mx-auto max-w-[85%] sm:max-w-[50%]\">\n <h1 className=\"text-4xl font-bold tracking-tight text-h1-text sm:text-5xl\">\n Something went wrong\n </h1>\n <p className=\"mt-5 text-h1-text\">{message}</p>\n {stack ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {stack}\n </pre>\n ) : null}\n </div>\n </div>\n );\n}\n","import { useDevPortal } from \"../components/context/DevPortalProvider.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useDevPortal();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n isPending: authState.isPending,\n profile: authState.profile,\n isAuthenticated: authState.profile,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.login();\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.logout();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n };\n};\n"],"names":["ErrorAlert","error","message","stack","jsxs","jsx","useAuth","authentication","useDevPortal","authState","useAuthState","isAuthEnabled"],"mappings":";;;AACgB,SAAAA,EAAW,EAAE,OAAAC,KAAyB;AAC9C,QAAAC,KAAUD,KAAA,gBAAAA,EAAO,YAAW,wBAC5BE,IAAQF,KAAA,gBAAAA,EAAO;AAErB,+BACG,OAAI,EAAA,WAAU,8GACb,UAACG,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,IAACC,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAU,8DAA6D,UAE3E,wBAAA;AAAA,IACCA,gBAAAA,EAAA,IAAA,KAAA,EAAE,WAAU,qBAAqB,UAAQH,GAAA;AAAA,IACzCC,IACEE,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAU,gJACZ,YACH,CAAA,IACE;AAAA,EAAA,EACN,CAAA,EACF,CAAA;AAEJ;ACjBO,MAAMC,IAAU,MAAM;AACrB,QAAA,EAAE,gBAAAC,MAAmBC,KACrBC,IAAYC,KACZC,IAAgB,OAAOJ,IAAmB;AAEzC,SAAA;AAAA,IACL,eAAAI;AAAA,IACA,WAAWF,EAAU;AAAA,IACrB,SAASA,EAAU;AAAA,IACnB,iBAAiBA,EAAU;AAAA,IAE3B,OAAO,YAAY;AACjB,UAAI,CAACE;AACG,cAAA,IAAI,MAAM,gCAAgC;AAGlD,YAAMJ,EAAe;IACvB;AAAA,IAEA,QAAQ,YAAY;AAClB,UAAI,CAACI;AACG,cAAA,IAAI,MAAM,gCAAgC;AAGlD,YAAMJ,EAAe,UAGrB,OAAO,SAAS,OAAO;AAAA,IACzB;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,74 @@
1
+ import { j as u, N as d } from "./jsx-runtime-CM0TzjGp.js";
2
+ import { v as g } from "./DevPortalProvider-BlxLX6GG.js";
3
+ const x = (...t) => {
4
+ const e = t.filter((n) => !!n).map((n) => n.replace(/(^\/+|\/+$)/g, "")).join("/");
5
+ return e ? `/${e}` : "";
6
+ }, l = (t, e, n, o = []) => {
7
+ const r = p(t) ? x(n, t.path) : n, c = e(t, r, o);
8
+ if (c !== void 0) return c;
9
+ if ("children" in t && t.children) {
10
+ const s = [...o, t];
11
+ for (const i of t.children) {
12
+ const a = l(
13
+ i,
14
+ e,
15
+ r,
16
+ s
17
+ );
18
+ if (a !== void 0) return a;
19
+ }
20
+ }
21
+ }, v = (t, e) => {
22
+ if (t.categories)
23
+ for (const n of t.categories) {
24
+ const o = l(n, e, t.path);
25
+ if (o !== void 0) return o;
26
+ }
27
+ }, p = (t) => "path" in t, j = (t, e) => {
28
+ const n = Object.entries(t).flatMap(
29
+ ([r, c]) => {
30
+ const s = r.match(/pages\/(.*).mdx?$/), i = s == null ? void 0 : s.at(1);
31
+ if (!i) return [];
32
+ const a = i.split("/");
33
+ return {
34
+ path: a.at(-1) === "index" ? a.slice(0, -1).join("/") : i,
35
+ lazy: async () => {
36
+ const { MdxPage: m } = await import("./MdxPage-Z3HKNTrj.js"), { default: h, ...f } = await c();
37
+ return {
38
+ element: /* @__PURE__ */ u.jsx(
39
+ m,
40
+ {
41
+ mdxComponent: h,
42
+ ...f,
43
+ defaultOptions: e
44
+ }
45
+ )
46
+ };
47
+ }
48
+ };
49
+ }
50
+ ), o = Array.from(
51
+ new Set(n.map((r) => r.path.split("/").at(0)))
52
+ ).map((r) => ({
53
+ path: `/${r}`,
54
+ element: /* @__PURE__ */ u.jsx(P, {})
55
+ }));
56
+ return [...n, ...o];
57
+ }, P = () => {
58
+ const t = g();
59
+ return t ? v(t, (e, n) => {
60
+ if (!("children" in e || !p(e)))
61
+ return /* @__PURE__ */ u.jsx(d, { to: n, replace: !0 });
62
+ }) : null;
63
+ }, $ = ({
64
+ markdownFiles: t,
65
+ defaultOptions: e
66
+ }) => ({
67
+ getRoutes: () => j(t, e)
68
+ });
69
+ export {
70
+ p as i,
71
+ $ as m,
72
+ v as t
73
+ };
74
+ //# sourceMappingURL=index-BdWBDosx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BdWBDosx.js","sources":["../src/lib/util/joinPath.tsx","../src/lib/util/traverseNavigation.ts","../src/lib/components/navigation/util.ts","../src/lib/plugins/markdown/generateRoutes.tsx","../src/lib/plugins/markdown/index.tsx"],"sourcesContent":["export const joinPath = (\n ...parts: Array<string | null | undefined | boolean>\n) => {\n const cleanPath = parts\n .filter((part): part is string => Boolean(part))\n .map((part) => part.replace(/(^\\/+|\\/+$)/g, \"\")) // Strip leading and trailing slashes\n .join(\"/\");\n\n return cleanPath ? `/${cleanPath}` : \"\";\n};\n","import { isPathItem } from \"../components/navigation/util.js\";\nimport type {\n NavigationCategory,\n NavigationCategoryItem,\n NavigationItem,\n} from \"../core/DevPortalContext.js\";\nimport { joinPath } from \"./joinPath.js\";\n\nexport type NavigationNode = NavigationCategoryItem | NavigationCategory;\ntype Callback<T> = (\n node: NavigationNode,\n fullPath: string,\n parentNodes: NavigationNode[],\n) => T | undefined;\n\nexport const traverseNavigationNode = <T>(\n node: NavigationNode,\n callback: Callback<T>,\n parentPath: string,\n parentNodes: NavigationNode[] = [],\n): T | undefined => {\n const newPath = isPathItem(node)\n ? joinPath(parentPath, node.path)\n : parentPath;\n const result = callback(node, newPath, parentNodes);\n\n if (result !== undefined) return result;\n\n if (\"children\" in node && node.children) {\n const newParentNodes = [...parentNodes, node];\n for (const child of node.children) {\n const childResult = traverseNavigationNode(\n child,\n callback,\n newPath,\n newParentNodes,\n );\n if (childResult !== undefined) return childResult;\n }\n }\n return undefined;\n};\n\nexport const traverseNavigation = <T>(\n navItem: NavigationItem,\n callback: Callback<T>,\n): T | undefined => {\n if (navItem.categories) {\n for (const category of navItem.categories) {\n const result = traverseNavigationNode(category, callback, navItem.path);\n if (result !== undefined) return result;\n }\n }\n return undefined;\n};\n","import { matchPath } from \"react-router-dom\";\nimport type {\n HrefNavigationCategoryItem,\n PathNavigationCategoryItem,\n} from \"../../core/DevPortalContext.js\";\nimport {\n traverseNavigationNode,\n type NavigationNode,\n} from \"../../util/traverseNavigation.js\";\n\nexport const isPathItem = (\n item: NavigationNode,\n): item is PathNavigationCategoryItem => \"path\" in item;\n\nexport const isLinkItem = (\n item: NavigationNode,\n): item is HrefNavigationCategoryItem => \"href\" in item;\n\n/**\n * Recursively checks if the current item or any of its children are active.\n */\nexport const checkHasActiveItem = (\n item: NavigationNode,\n locationPath: string,\n basePath: string,\n) => {\n return Boolean(\n traverseNavigationNode(\n item,\n (node, fullPath) => {\n if (isPathItem(node) && matchPath(fullPath, locationPath)) {\n return true;\n }\n },\n basePath,\n ),\n );\n};\n","import { Navigate, type RouteObject } from \"react-router-dom\";\nimport { useTopNavigationItem } from \"../../components/context/DevPortalProvider.js\";\nimport { isPathItem } from \"../../components/navigation/util.js\";\nimport { traverseNavigation } from \"../../util/traverseNavigation.js\";\n\nimport {\n MarkdownPluginDefaultOptions,\n MarkdownPluginOptions,\n} from \"./index.js\";\n\nexport const generateRoutes = (\n markdownFiles: MarkdownPluginOptions[\"markdownFiles\"],\n defaultOptions?: MarkdownPluginDefaultOptions,\n): RouteObject[] => {\n const routes = Object.entries(markdownFiles).flatMap(\n ([file, importPromise]) => {\n // @todo we can pass in the folder name and then filter the markdown files based on that path\n const match = file.match(/pages\\/(.*).mdx?$/);\n const path = match?.at(1);\n\n if (!path) return [];\n\n const pathSegments = path.split(\"/\");\n const isIndexFile = pathSegments.at(-1) === \"index\";\n const routePath = isIndexFile\n ? pathSegments.slice(0, -1).join(\"/\")\n : path;\n\n return {\n path: routePath,\n lazy: async () => {\n const { MdxPage } = await import(\"./MdxPage.js\");\n const { default: Component, ...props } = await importPromise();\n return {\n element: (\n <MdxPage\n mdxComponent={Component}\n {...props}\n defaultOptions={defaultOptions}\n />\n ),\n };\n },\n } satisfies RouteObject;\n },\n );\n\n const rootRoutes: RouteObject[] = Array.from(\n new Set(routes.map((route) => route.path.split(\"/\").at(0))),\n ).map((dir) => ({\n path: `/${dir}`,\n element: <Redirect />,\n }));\n\n return [...routes, ...rootRoutes];\n};\n\nconst Redirect = () => {\n const navItem = useTopNavigationItem();\n\n if (!navItem) return null;\n\n return traverseNavigation(navItem, (node, fullPath) => {\n if (\"children\" in node || !isPathItem(node)) return;\n return <Navigate to={fullPath} replace />;\n });\n};\n","import type { Toc } from \"@stefanprobst/rehype-extract-toc\";\nimport type { MDXProps } from \"mdx/types.js\";\nimport type { DevPortalPlugin } from \"../../core/plugins.js\";\nimport { generateRoutes } from \"./generateRoutes.js\";\n\nexport type MarkdownPluginOptions = {\n markdownFiles: Record<string, () => Promise<MDXImport>>;\n defaultOptions?: MarkdownPluginDefaultOptions;\n};\nexport type MarkdownPluginDefaultOptions = Pick<\n Frontmatter,\n \"toc\" | \"disablePager\"\n>;\n\nexport type Frontmatter = {\n title?: string;\n description?: string;\n category?: string;\n toc?: boolean;\n disablePager?: boolean;\n};\n\nexport type MDXImport = {\n tableOfContents: Toc;\n frontmatter: Frontmatter;\n default: (props: MDXProps) => JSX.Element;\n};\n\nexport const markdownPlugin = ({\n markdownFiles,\n defaultOptions,\n}: MarkdownPluginOptions): DevPortalPlugin => ({\n getRoutes: () => generateRoutes(markdownFiles, defaultOptions),\n});\n"],"names":["joinPath","parts","cleanPath","part","traverseNavigationNode","node","callback","parentPath","parentNodes","newPath","isPathItem","result","newParentNodes","child","childResult","traverseNavigation","navItem","category","item","generateRoutes","markdownFiles","defaultOptions","routes","file","importPromise","match","path","pathSegments","MdxPage","Component","props","jsx","rootRoutes","route","dir","Redirect","useTopNavigationItem","fullPath","Navigate","markdownPlugin"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { j as n, m as s } from "./jsx-runtime-SV6hXQua.js";
2
- import { c as o } from "./cn-DpqTslo9.js";
3
- import { C as u, c as r, f as p } from "./urql-DMlBWUKL.js";
4
- import { createClient as c } from "virtual:zudoku-openapi-worker";
5
- const V = {
1
+ import { j as n, b as k } from "./jsx-runtime-CM0TzjGp.js";
2
+ import { b as r, H as o, L as u, S as c } from "./MdxComponents-Ev_hBHb2.js";
3
+ import { C as p, c as v, f as N } from "./urql-DMlBWUKL.js";
4
+ import { createClient as y } from "virtual:zudoku-openapi-worker";
5
+ import { P as F, C as S } from "./Markdown-CL8KPvJN.js";
6
+ import { m as g } from "./router-CcYTwKjf.js";
7
+ const G = {
6
8
  get: "text-green-600",
7
9
  post: "text-sky-600",
8
10
  put: "text-yellow-600",
@@ -11,7 +13,7 @@ const V = {
11
13
  options: "text-indigo-600",
12
14
  head: "text-gray-600",
13
15
  trace: "text-gray-600"
14
- }, v = {
16
+ }, h = {
15
17
  get: "bg-green-400 dark:bg-green-800",
16
18
  post: "bg-sky-400 dark:bg-sky-800",
17
19
  put: "bg-yellow-400 dark:bg-yellow-800",
@@ -20,16 +22,16 @@ const V = {
20
22
  options: "bg-indigo-400 dark:bg-indigo-600",
21
23
  head: "bg-gray-400 dark:bg-gray-600",
22
24
  trace: "bg-gray-400 dark:bg-gray-600"
23
- }, N = ({ method: e }) => /* @__PURE__ */ n.jsx(
25
+ }, b = ({ method: e }) => /* @__PURE__ */ n.jsx(
24
26
  "span",
25
27
  {
26
- className: o(
28
+ className: r(
27
29
  "mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1",
28
- v[e]
30
+ h[e]
29
31
  ),
30
32
  children: e
31
33
  }
32
- ), y = {
34
+ ), x = {
33
35
  kind: "Document",
34
36
  definitions: [
35
37
  {
@@ -174,7 +176,7 @@ const V = {
174
176
  }
175
177
  }
176
178
  ]
177
- }, F = {
179
+ }, f = {
178
180
  kind: "Document",
179
181
  definitions: [
180
182
  {
@@ -240,7 +242,7 @@ const V = {
240
242
  }
241
243
  }
242
244
  ]
243
- }, S = {
245
+ }, T = {
244
246
  kind: "Document",
245
247
  definitions: [
246
248
  {
@@ -484,7 +486,7 @@ const V = {
484
486
  }
485
487
  }
486
488
  ]
487
- }, g = {
489
+ }, O = {
488
490
  kind: "Document",
489
491
  definitions: [
490
492
  {
@@ -600,16 +602,25 @@ const V = {
600
602
  }
601
603
  }
602
604
  ]
603
- }, h = {
604
- "\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n }\n }\n": F,
605
- "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n parameters {\n name\n in\n description\n required\n schema\n style\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n": y,
606
- "\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n": S,
607
- "\n query GetCategories($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n tags {\n __typename\n name\n operations {\n __typename\n slug\n deprecated\n method\n summary\n operationId\n path\n }\n }\n }\n }\n": g
605
+ }, D = {
606
+ "\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n }\n }\n": f,
607
+ "\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n parameters {\n name\n in\n description\n required\n schema\n style\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n": x,
608
+ "\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n": T,
609
+ "\n query GetCategories($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n tags {\n __typename\n name\n operations {\n __typename\n slug\n deprecated\n method\n summary\n operationId\n path\n }\n }\n }\n }\n": O
608
610
  };
609
- function b(e) {
610
- return h[e] ?? {};
611
+ function V(e) {
612
+ return D[e] ?? {};
611
613
  }
612
- const x = b(`
614
+ const j = ({
615
+ title: e = "An error occurred",
616
+ message: d,
617
+ category: t
618
+ }) => /* @__PURE__ */ n.jsxs("div", { className: F + " h-full pt-[--padding-content-top]", children: [
619
+ t && /* @__PURE__ */ n.jsx(S, { children: t }),
620
+ e && /* @__PURE__ */ n.jsx(o, { level: 1, className: "flex gap-3.5 items-center", children: e }),
621
+ /* @__PURE__ */ n.jsx("p", { children: d }),
622
+ /* @__PURE__ */ n.jsx(u, { to: "/", children: "Go back home" })
623
+ ] }), q = V(`
613
624
  query GetCategories($input: JSON!, $type: SchemaType!) {
614
625
  schema(input: $input, type: $type) {
615
626
  tags {
@@ -627,11 +638,14 @@ const x = b(`
627
638
  }
628
639
  }
629
640
  }
630
- `), q = (e) => {
631
- const t = e.path ?? "/reference", l = e.server ? new u({
641
+ `), C = () => {
642
+ const e = k(), d = e instanceof Error ? /* @__PURE__ */ n.jsx(c, { code: e.message }) : "An unknown error occurred";
643
+ return /* @__PURE__ */ n.jsx(j, { category: "Error", title: "An error occurred", message: d });
644
+ }, J = (e) => {
645
+ const d = e.path ?? "/reference", t = e.server ? new p({
632
646
  url: e.server,
633
- exchanges: [r, p]
634
- }) : c();
647
+ exchanges: [v, N]
648
+ }) : y();
635
649
  return {
636
650
  getHead: () => {
637
651
  if (e.type === "url")
@@ -648,50 +662,51 @@ const x = b(`
648
662
  return /* @__PURE__ */ n.jsx("link", { rel: "preconnect", href: e.server });
649
663
  },
650
664
  getNavigation: async (i) => {
651
- if (!s({ path: t, end: !1 }, i))
665
+ if (!g({ path: d, end: !1 }, i))
652
666
  return [];
653
- const { data: m } = await l.query(x, {
667
+ const { data: m } = await t.query(q, {
654
668
  input: e.input,
655
669
  type: e.type
656
670
  });
657
671
  if (!m) return [];
658
- const k = m.schema.tags.filter((d) => d.operations.length > 0).map((d) => ({
672
+ const s = m.schema.tags.filter((l) => l.operations.length > 0).map((l) => ({
659
673
  path: i,
660
- label: d.name ?? "",
674
+ label: l.name ?? "",
661
675
  collapsible: !1,
662
- children: d.operations.map((a) => ({
676
+ children: l.operations.map((a) => ({
663
677
  path: `#${a.slug}`,
664
678
  muted: !!a.deprecated,
665
679
  title: a.summary ?? a.path,
666
680
  label: /* @__PURE__ */ n.jsxs("div", { className: "flex flex-1 min-w-0 justify-between gap-2", children: [
667
681
  /* @__PURE__ */ n.jsx("span", { className: "truncate", children: a.summary ?? a.path }),
668
- /* @__PURE__ */ n.jsx(N, { method: a.method })
682
+ /* @__PURE__ */ n.jsx(b, { method: a.method })
669
683
  ] })
670
684
  }))
671
685
  }));
672
- return k.unshift({
686
+ return s.unshift({
673
687
  path: i,
674
688
  label: "Overview",
675
689
  collapsible: !1,
676
690
  children: [{ path: "#description", label: "Description" }]
677
- }), k;
691
+ }), s;
678
692
  },
679
693
  getRoutes: () => [
680
694
  {
681
695
  async lazy() {
682
- const { OpenApiRoute: i } = await import("./Route-CN_7-e5r.js");
696
+ const { OpenApiRoute: i } = await import("./Route-Bf1_D_vC.js");
683
697
  return {
684
- element: /* @__PURE__ */ n.jsx(i, { client: l, config: e })
698
+ element: /* @__PURE__ */ n.jsx(i, { client: t, config: e })
685
699
  };
686
700
  },
701
+ errorElement: /* @__PURE__ */ n.jsx(C, {}),
687
702
  children: [
688
703
  {
689
- path: t,
704
+ path: d,
690
705
  children: [
691
706
  {
692
707
  index: !0,
693
708
  async lazy() {
694
- const { OperationList: i } = await import("./OperationList-Dz9rHM9r.js");
709
+ const { OperationList: i } = await import("./OperationList-DfkWNe8Y.js");
695
710
  return { element: /* @__PURE__ */ n.jsx(i, {}) };
696
711
  }
697
712
  }
@@ -703,8 +718,9 @@ const x = b(`
703
718
  };
704
719
  };
705
720
  export {
706
- V as M,
707
- b as g,
708
- q as o
721
+ j as E,
722
+ G as M,
723
+ V as g,
724
+ J as o
709
725
  };
710
- //# sourceMappingURL=index-Cpdpun6t.js.map
726
+ //# sourceMappingURL=index-BjSy8IQO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BjSy8IQO.js","sources":["../src/lib/plugins/openapi/MethodBadge.tsx","../src/lib/plugins/openapi/graphql/graphql.ts","../src/lib/plugins/openapi/graphql/gql.ts","../src/lib/components/ErrorPage.tsx","../src/lib/plugins/openapi/index.tsx"],"sourcesContent":["import { cn } from \"../../util/cn.js\";\n\nexport const MethodTextColorMap = {\n get: \"text-green-600\",\n post: \"text-sky-600\",\n put: \"text-yellow-600\",\n delete: \"text-red-600\",\n patch: \"text-purple-600\",\n options: \"text-indigo-600\",\n head: \"text-gray-600\",\n trace: \"text-gray-600\",\n};\n\nconst MethodColorMap = {\n get: \"bg-green-400 dark:bg-green-800\",\n post: \"bg-sky-400 dark:bg-sky-800\",\n put: \"bg-yellow-400 dark:bg-yellow-800\",\n delete: \"bg-red-400 dark:bg-red-800\",\n patch: \"bg-purple-400 dark:bg-purple-600\",\n options: \"bg-indigo-400 dark:bg-indigo-600\",\n head: \"bg-gray-400 dark:bg-gray-600\",\n trace: \"bg-gray-400 dark:bg-gray-600\",\n};\n\nexport const MethodBadge = ({ method }: { method: string }) => {\n return (\n <span\n className={cn(\n \"mt-0.5 flex items-center duration-200 transition-opacity text-center uppercase font-mono text-[0.65rem] font-bold rounded text-background dark:text-zinc-50 h-4 px-1\",\n MethodColorMap[method as keyof typeof MethodColorMap],\n )}\n >\n {method}\n </span>\n );\n};\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from \"@graphql-typed-document-node/core\";\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends \" $fragmentName\" | \"__typename\" ? T[P] : never;\n };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSON: { input: any; output: any };\n /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSONObject: { input: any; output: any };\n};\n\nexport type EncodingItem = {\n __typename?: \"EncodingItem\";\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n contentType?: Maybe<Scalars[\"String\"][\"output\"]>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n headers?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type ExampleItem = {\n __typename?: \"ExampleItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n externalValue?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n value?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type MediaTypeObject = {\n __typename?: \"MediaTypeObject\";\n encoding?: Maybe<Array<EncodingItem>>;\n examples?: Maybe<Array<ExampleItem>>;\n mediaType: Scalars[\"String\"][\"output\"];\n schema: Scalars[\"JSON\"][\"output\"];\n};\n\nexport type OperationItem = {\n __typename?: \"OperationItem\";\n contentTypes: Array<Scalars[\"String\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n method: Scalars[\"String\"][\"output\"];\n operationId?: Maybe<Scalars[\"String\"][\"output\"]>;\n parameters?: Maybe<Array<ParameterItem>>;\n path: Scalars[\"String\"][\"output\"];\n requestBody?: Maybe<RequestBodyObject>;\n responses: Array<ResponseItem>;\n slug: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n tags?: Maybe<Array<TagItem>>;\n};\n\nexport type ParameterIn = \"cookie\" | \"header\" | \"path\" | \"query\";\n\nexport type ParameterItem = {\n __typename?: \"ParameterItem\";\n allowEmptyValue?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n examples?: Maybe<Array<ExampleItem>>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n in: ParameterIn;\n name: Scalars[\"String\"][\"output\"];\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n schema?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type PathItem = {\n __typename?: \"PathItem\";\n methods: Array<Scalars[\"String\"][\"output\"]>;\n path: Scalars[\"String\"][\"output\"];\n};\n\nexport type Query = {\n __typename?: \"Query\";\n schema: Schema;\n};\n\nexport type QuerySchemaArgs = {\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n};\n\nexport type RequestBodyObject = {\n __typename?: \"RequestBodyObject\";\n content?: Maybe<Array<MediaTypeObject>>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n};\n\nexport type ResponseItem = {\n __typename?: \"ResponseItem\";\n content?: Maybe<Array<MediaTypeObject>>;\n description: Scalars[\"String\"][\"output\"];\n headers?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n links?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n statusCode: Scalars[\"String\"][\"output\"];\n};\n\nexport type Schema = {\n __typename?: \"Schema\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n openapi: Scalars[\"String\"][\"output\"];\n operations: Array<OperationItem>;\n paths: Array<PathItem>;\n tags: Array<SchemaTag>;\n title: Scalars[\"String\"][\"output\"];\n url: Scalars[\"String\"][\"output\"];\n version: Scalars[\"String\"][\"output\"];\n};\n\nexport type SchemaOperationsArgs = {\n method?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n operationId?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n path?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n tag?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type SchemaTagsArgs = {\n name?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type SchemaTag = {\n __typename?: \"SchemaTag\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name?: Maybe<Scalars[\"String\"][\"output\"]>;\n operations: Array<OperationItem>;\n};\n\nexport type SchemaType = \"json\" | \"url\" | \"yaml\";\n\nexport type TagItem = {\n __typename?: \"TagItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n};\n\nexport type GetServerQueryQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetServerQueryQuery = {\n __typename?: \"Query\";\n schema: { __typename?: \"Schema\"; url: string };\n};\n\nexport type OperationsFragmentFragment = {\n __typename?: \"OperationItem\";\n slug: string;\n summary?: string | null;\n method: string;\n description?: string | null;\n operationId?: string | null;\n contentTypes: Array<string>;\n path: string;\n parameters?: Array<{\n __typename?: \"ParameterItem\";\n name: string;\n in: ParameterIn;\n description?: string | null;\n required?: boolean | null;\n schema?: any | null;\n style?: string | null;\n examples?: Array<{\n __typename?: \"ExampleItem\";\n name: string;\n description?: string | null;\n externalValue?: string | null;\n value?: string | null;\n summary?: string | null;\n }> | null;\n }> | null;\n requestBody?: {\n __typename?: \"RequestBodyObject\";\n description?: string | null;\n required?: boolean | null;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema: any;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n } | null;\n responses: Array<{\n __typename?: \"ResponseItem\";\n statusCode: string;\n links?: any | null;\n description: string;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema: any;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n }>;\n} & { \" $fragmentName\"?: \"OperationsFragmentFragment\" };\n\nexport type AllOperationsQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type AllOperationsQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n description?: string | null;\n title: string;\n url: string;\n version: string;\n tags: Array<{\n __typename?: \"SchemaTag\";\n name?: string | null;\n description?: string | null;\n operations: Array<\n { __typename?: \"OperationItem\"; slug: string } & {\n \" $fragmentRefs\"?: {\n OperationsFragmentFragment: OperationsFragmentFragment;\n };\n }\n >;\n }>;\n };\n};\n\nexport type GetCategoriesQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetCategoriesQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n tags: Array<{\n __typename: \"SchemaTag\";\n name?: string | null;\n operations: Array<{\n __typename: \"OperationItem\";\n slug: string;\n deprecated?: boolean | null;\n method: string;\n summary?: string | null;\n operationId?: string | null;\n path: string;\n }>;\n }>;\n };\n};\n\nexport const OperationsFragmentFragmentDoc = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"FragmentDefinition\",\n name: { kind: \"Name\", value: \"OperationsFragment\" },\n typeCondition: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"OperationItem\" },\n },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"slug\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"summary\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"method\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"operationId\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"contentTypes\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"path\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"parameters\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"in\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"schema\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"style\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"examples\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"externalValue\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"value\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"requestBody\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"responses\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"statusCode\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"links\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<OperationsFragmentFragment, unknown>;\nexport const GetServerQueryDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"getServerQuery\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetServerQueryQuery, GetServerQueryQueryVariables>;\nexport const AllOperationsDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"AllOperations\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"title\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"version\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"tags\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operations\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"slug\" },\n },\n {\n kind: \"FragmentSpread\",\n name: {\n kind: \"Name\",\n value: \"OperationsFragment\",\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"FragmentDefinition\",\n name: { kind: \"Name\", value: \"OperationsFragment\" },\n typeCondition: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"OperationItem\" },\n },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"slug\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"summary\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"method\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"operationId\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"contentTypes\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"path\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"parameters\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"in\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"schema\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"style\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"examples\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"externalValue\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"value\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"requestBody\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"responses\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"statusCode\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"links\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<AllOperationsQuery, AllOperationsQueryVariables>;\nexport const GetCategoriesDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"GetCategories\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"tags\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"__typename\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operations\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"__typename\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"slug\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"deprecated\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"method\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operationId\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"path\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetCategoriesQuery, GetCategoriesQueryVariables>;\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from \"@graphql-typed-document-node/core\";\nimport * as types from \"./graphql.js\";\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\":\n types.GetServerQueryDocument,\n \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n }\\n requestBody {\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\":\n types.OperationsFragmentFragmentDoc,\n \"\\n query AllOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n description\\n title\\n url\\n version\\n tags {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n }\\n }\\n }\\n\":\n types.AllOperationsDocument,\n \"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n __typename\\n name\\n operations {\\n __typename\\n slug\\n deprecated\\n method\\n summary\\n operationId\\n path\\n }\\n }\\n }\\n }\\n\":\n types.GetCategoriesDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n }\\n requestBody {\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n fragment OperationsFragment on OperationItem {\\n slug\\n summary\\n method\\n description\\n operationId\\n contentTypes\\n path\\n parameters {\\n name\\n in\\n description\\n required\\n schema\\n style\\n examples {\\n name\\n description\\n externalValue\\n value\\n summary\\n }\\n }\\n requestBody {\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query AllOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n description\\n title\\n url\\n version\\n tags {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query AllOperations($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n description\\n title\\n url\\n version\\n tags {\\n name\\n description\\n operations {\\n slug\\n ...OperationsFragment\\n }\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n __typename\\n name\\n operations {\\n __typename\\n slug\\n deprecated\\n method\\n summary\\n operationId\\n path\\n }\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n tags {\\n __typename\\n name\\n operations {\\n __typename\\n slug\\n deprecated\\n method\\n summary\\n operationId\\n path\\n }\\n }\\n }\\n }\\n\"];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n","import type { ReactNode } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const ErrorPage = ({\n title = \"An error occurred\",\n message,\n category,\n}: {\n title?: ReactNode;\n message?: ReactNode;\n category?: ReactNode;\n}) => {\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n {title}\n </Heading>\n )}\n <p>{message}</p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","import { matchPath, useRouteError, type RouteObject } from \"react-router-dom\";\nimport {\n type DevPortalPlugin,\n type PluginNavigationCategory,\n} from \"../../core/plugins.js\";\nimport { MethodBadge } from \"./MethodBadge.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport {\n Client as UrqlClient,\n cacheExchange,\n fetchExchange,\n} from \"./util/urql.js\";\n\nimport { createClient } from \"virtual:zudoku-openapi-worker\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { OasPluginConfig } from \"./interfaces.js\";\n\nconst GetCategoriesQuery = graphql(`\n query GetCategories($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n tags {\n __typename\n name\n operations {\n __typename\n slug\n deprecated\n method\n summary\n operationId\n path\n }\n }\n }\n }\n`);\n\nconst OpenApiErrorPage = () => {\n const error = useRouteError();\n const message =\n error instanceof Error ? (\n <SyntaxHighlight code={error.message} />\n ) : (\n \"An unknown error occurred\"\n );\n\n return (\n <ErrorPage category=\"Error\" title=\"An error occurred\" message={message} />\n );\n};\n\nexport const openApiPlugin = (config: OasPluginConfig): DevPortalPlugin => {\n const basePath = config.path ?? \"/reference\";\n\n const client = config.server\n ? new UrqlClient({\n url: config.server,\n exchanges: [cacheExchange, fetchExchange],\n })\n : createClient();\n\n return {\n getHead: () => {\n if (config.type === \"url\") {\n return (\n <link\n rel=\"preload\"\n href={config.input}\n as=\"fetch\"\n crossOrigin=\"anonymous\"\n />\n );\n }\n\n if (config.server) {\n return <link rel=\"preconnect\" href={config.server} />;\n }\n },\n getNavigation: async (path: string) => {\n if (!matchPath({ path: basePath, end: false }, path)) {\n return [];\n }\n\n const { data } = await client.query(GetCategoriesQuery, {\n input: config.input,\n type: config.type,\n });\n\n if (!data) return [];\n\n const categories = data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map<PluginNavigationCategory>((tag) => ({\n path,\n label: tag.name ?? \"\",\n collapsible: false,\n children: tag.operations.map((operation) => ({\n path: `#${operation.slug}`,\n muted: !!operation.deprecated,\n title: operation.summary ?? operation.path,\n label: (\n <div className=\"flex flex-1 min-w-0 justify-between gap-2\">\n <span className=\"truncate\">\n {operation.summary ?? operation.path}\n </span>\n <MethodBadge method={operation.method} />\n </div>\n ),\n })),\n }));\n\n categories.unshift({\n path,\n label: \"Overview\",\n collapsible: false,\n children: [{ path: \"#description\", label: \"Description\" }],\n });\n\n return categories;\n },\n getRoutes: () =>\n [\n {\n async lazy() {\n const { OpenApiRoute } = await import(\"./Route.js\");\n return {\n element: <OpenApiRoute client={client} config={config} />,\n };\n },\n errorElement: <OpenApiErrorPage />,\n children: [\n {\n path: basePath,\n children: [\n {\n index: true,\n async lazy() {\n const { OperationList } = await import(\n \"./OperationList.js\"\n );\n return { element: <OperationList /> };\n },\n },\n ],\n },\n ],\n },\n ] satisfies RouteObject[],\n };\n};\n"],"names":["MethodTextColorMap","MethodColorMap","MethodBadge","method","jsx","cn","OperationsFragmentFragmentDoc","GetServerQueryDocument","AllOperationsDocument","GetCategoriesDocument","documents","types.GetServerQueryDocument","types.OperationsFragmentFragmentDoc","types.AllOperationsDocument","types.GetCategoriesDocument","graphql","source","ErrorPage","title","message","category","jsxs","ProseClasses","CategoryHeading","Heading","Link","GetCategoriesQuery","OpenApiErrorPage","error","useRouteError","SyntaxHighlight","openApiPlugin","config","basePath","client","UrqlClient","cacheExchange","fetchExchange","createClient","path","matchPath","data","categories","tag","operation","OpenApiRoute","OperationList"],"mappings":"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"}