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.
- package/dist/app/App.d.ts +1 -0
- package/dist/app/App.js +2 -0
- package/dist/app/App.js.map +1 -0
- package/dist/app/entry.client.d.ts +3 -0
- package/dist/app/entry.client.js +38 -0
- package/dist/app/entry.client.js.map +1 -0
- package/dist/app/entry.server.d.ts +10 -0
- package/dist/app/entry.server.js +107 -0
- package/dist/app/entry.server.js.map +1 -0
- package/dist/app/main.d.ts +26 -2
- package/dist/app/main.js +39 -17
- package/dist/app/main.js.map +1 -1
- package/dist/app/tailwind.js +5 -0
- package/dist/app/tailwind.js.map +1 -1
- package/dist/app/zudoku-manifest.d.ts +1 -0
- package/dist/app/zudoku-manifest.js +20 -0
- package/dist/app/zudoku-manifest.js.map +1 -0
- package/dist/cli/cmds/dev.js +5 -0
- package/dist/cli/cmds/dev.js.map +1 -1
- package/dist/cli/dev/handler.d.ts +1 -0
- package/dist/cli/dev/handler.js +3 -1
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/config.d.ts +5 -0
- package/dist/lib/authentication/providers/clerk.js +2 -0
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/components/DevPortal.d.ts +1 -1
- package/dist/lib/components/DevPortal.js +6 -10
- package/dist/lib/components/DevPortal.js.map +1 -1
- package/dist/lib/components/ErrorPage.d.ts +6 -0
- package/dist/lib/components/ErrorPage.js +9 -0
- package/dist/lib/components/ErrorPage.js.map +1 -0
- package/dist/lib/components/InlineCode.d.ts +5 -0
- package/dist/lib/components/InlineCode.js +4 -0
- package/dist/lib/components/InlineCode.js.map +1 -0
- package/dist/lib/components/Layout.js +2 -1
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/NotFoundPage.d.ts +1 -0
- package/dist/lib/components/NotFoundPage.js +12 -0
- package/dist/lib/components/NotFoundPage.js.map +1 -0
- package/dist/lib/components/SyntaxHighlight.d.ts +3 -2
- package/dist/lib/components/SyntaxHighlight.js +20 -22
- package/dist/lib/components/SyntaxHighlight.js.map +1 -1
- package/dist/lib/errors/RouterError.js +6 -3
- package/dist/lib/errors/RouterError.js.map +1 -1
- package/dist/lib/errors/ServerError.d.ts +3 -0
- package/dist/lib/errors/ServerError.js +6 -0
- package/dist/lib/errors/ServerError.js.map +1 -0
- package/dist/lib/oas/parser/index.d.ts +1 -1
- package/dist/lib/oas/parser/index.js +38 -14
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/plugins/api-keys/index.js +3 -8
- package/dist/lib/plugins/api-keys/index.js.map +1 -1
- package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
- package/dist/lib/plugins/markdown/index.js +3 -7
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +11 -1
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +2 -1
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaListView.js +2 -1
- package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +9 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js +2 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/redirect/index.js +2 -3
- package/dist/lib/plugins/redirect/index.js.map +1 -1
- package/dist/lib/ui/Callout.js +1 -1
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/button-variants.d.ts +1 -1
- package/dist/lib/util/MdxComponents.js +2 -2
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/groupBy.d.ts +1 -6
- package/dist/lib/util/groupBy.js +10 -8
- package/dist/lib/util/groupBy.js.map +1 -1
- package/dist/vite/build.js +30 -11
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +2 -1
- package/dist/vite/config.js +34 -7
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.d.ts +1 -1
- package/dist/vite/dev-server.js +15 -9
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/html.js +5 -4
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-custom-css.d.ts +6 -0
- package/dist/vite/plugin-custom-css.js +55 -0
- package/dist/vite/plugin-custom-css.js.map +1 -0
- package/dist/vite/plugin-docs.js +14 -5
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-openapi-worker.js +4 -1
- package/dist/vite/plugin-openapi-worker.js.map +1 -1
- package/dist/vite/plugin.js +2 -0
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.d.ts +1 -0
- package/dist/vite/prerender.js +57 -0
- package/dist/vite/prerender.js.map +1 -0
- package/lib/{DevPortalProvider-BMk-RCE0.js → DevPortalProvider-BlxLX6GG.js} +230 -250
- package/lib/DevPortalProvider-BlxLX6GG.js.map +1 -0
- package/lib/{Markdown-DDmW47R9.js → Markdown-CL8KPvJN.js} +8 -9
- package/lib/{Markdown-DDmW47R9.js.map → Markdown-CL8KPvJN.js.map} +1 -1
- package/lib/MdxComponents-Ev_hBHb2.js +5885 -0
- package/lib/MdxComponents-Ev_hBHb2.js.map +1 -0
- package/lib/{MdxPage-DyJAHF9y.js → MdxPage-Z3HKNTrj.js} +92 -89
- package/lib/MdxPage-Z3HKNTrj.js.map +1 -0
- package/lib/{OperationList-Dz9rHM9r.js → OperationList-DfkWNe8Y.js} +1972 -1786
- package/lib/OperationList-DfkWNe8Y.js.map +1 -0
- package/lib/Route-Bf1_D_vC.js +13 -0
- package/lib/{Route-CN_7-e5r.js.map → Route-Bf1_D_vC.js.map} +1 -1
- package/lib/Select-DSa3bN4t.js +4770 -0
- package/lib/Select-DSa3bN4t.js.map +1 -0
- package/lib/assets/{worker-BXS8hiSM.js → worker-BjPv-hjP.js} +3100 -2720
- package/lib/assets/worker-BjPv-hjP.js.map +1 -0
- package/lib/hook-CTmJ6CWq.js +35 -0
- package/lib/hook-CTmJ6CWq.js.map +1 -0
- package/lib/index-BdWBDosx.js +74 -0
- package/lib/index-BdWBDosx.js.map +1 -0
- package/lib/{index-Cpdpun6t.js → index-BjSy8IQO.js} +57 -41
- package/lib/index-BjSy8IQO.js.map +1 -0
- package/lib/{AnchorLink-ptdQk87q.js → index.esm-CPEExBJE.js} +156 -168
- package/lib/index.esm-CPEExBJE.js.map +1 -0
- package/lib/jsx-runtime-CM0TzjGp.js +866 -0
- package/lib/jsx-runtime-CM0TzjGp.js.map +1 -0
- package/lib/mutation-91kw0lHb.js +208 -0
- package/lib/mutation-91kw0lHb.js.map +1 -0
- package/lib/router-CcYTwKjf.js +183 -0
- package/lib/router-CcYTwKjf.js.map +1 -0
- package/lib/zudoku.auth-clerk.js.map +1 -1
- package/lib/zudoku.auth-openid.js +588 -441
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +284 -595
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +18 -18
- package/lib/zudoku.plugin-api-keys.js +143 -98
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +2 -49
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +5 -3
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/lib/zudoku.plugin-redirect.js +6 -7
- package/lib/zudoku.plugin-redirect.js.map +1 -1
- package/package.json +9 -8
- package/src/app/App.tsx +0 -0
- package/src/app/entry.client.tsx +64 -0
- package/src/app/entry.server.tsx +158 -0
- package/src/app/main.tsx +65 -43
- package/src/app/tailwind.ts +6 -0
- package/src/app/zudoku-manifest.ts +22 -0
- package/src/lib/authentication/providers/clerk.tsx +1 -0
- package/src/lib/components/DevPortal.tsx +25 -33
- package/src/lib/components/ErrorPage.tsx +28 -0
- package/src/lib/components/InlineCode.tsx +19 -0
- package/src/lib/components/Layout.tsx +7 -4
- package/src/lib/components/NotFoundPage.tsx +39 -0
- package/src/lib/components/SyntaxHighlight.tsx +26 -22
- package/src/lib/errors/RouterError.tsx +8 -7
- package/src/lib/errors/ServerError.tsx +5 -0
- package/src/lib/oas/parser/index.ts +41 -22
- package/src/lib/plugins/api-keys/index.tsx +4 -16
- package/src/lib/plugins/markdown/generateRoutes.tsx +1 -1
- package/src/lib/plugins/markdown/index.tsx +3 -7
- package/src/lib/plugins/openapi/OperationList.tsx +30 -0
- package/src/lib/plugins/openapi/OperationListItem.tsx +3 -1
- package/src/lib/plugins/openapi/SchemaListView.tsx +8 -10
- package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -1
- package/src/lib/plugins/openapi/index.tsx +18 -1
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +6 -1
- package/src/lib/plugins/redirect/index.tsx +2 -2
- package/src/lib/ui/Callout.tsx +2 -2
- package/src/lib/util/MdxComponents.tsx +2 -11
- package/src/lib/util/groupBy.ts +7 -12
- package/dist/lib/components/Router.d.ts +0 -4
- package/dist/lib/components/Router.js +0 -21
- package/dist/lib/components/Router.js.map +0 -1
- package/lib/AnchorLink-ptdQk87q.js.map +0 -1
- package/lib/DevPortalProvider-BMk-RCE0.js.map +0 -1
- package/lib/MdxComponents-C0R6zobS.js +0 -3019
- package/lib/MdxComponents-C0R6zobS.js.map +0 -1
- package/lib/MdxPage-DyJAHF9y.js.map +0 -1
- package/lib/OperationList-Dz9rHM9r.js.map +0 -1
- package/lib/Route-CN_7-e5r.js +0 -14
- package/lib/Select-D-Jtx53Q.js +0 -4572
- package/lib/Select-D-Jtx53Q.js.map +0 -1
- package/lib/Spinner-BG1JnYy0.js +0 -182
- package/lib/Spinner-BG1JnYy0.js.map +0 -1
- package/lib/assets/worker-BXS8hiSM.js.map +0 -1
- package/lib/cn-DpqTslo9.js +0 -2342
- package/lib/cn-DpqTslo9.js.map +0 -1
- package/lib/hook-BzBeIPL4.js +0 -25
- package/lib/hook-BzBeIPL4.js.map +0 -1
- package/lib/index-BaOOUFsA.js +0 -412
- package/lib/index-BaOOUFsA.js.map +0 -1
- package/lib/index-CPvRaBBB.js +0 -713
- package/lib/index-CPvRaBBB.js.map +0 -1
- package/lib/index-Cpdpun6t.js.map +0 -1
- package/lib/index-DLS6fPwU.js +0 -464
- package/lib/index-DLS6fPwU.js.map +0 -1
- package/lib/jsx-runtime-SV6hXQua.js +0 -3009
- package/lib/jsx-runtime-SV6hXQua.js.map +0 -1
- package/lib/loglevel-CA34MiFn.js +0 -153
- package/lib/loglevel-CA34MiFn.js.map +0 -1
- package/lib/util-CCWvaWo7.js +0 -41
- package/lib/util-CCWvaWo7.js.map +0 -1
- 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,
|
|
2
|
-
import {
|
|
3
|
-
import { C as
|
|
4
|
-
import { createClient as
|
|
5
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
25
|
+
}, b = ({ method: e }) => /* @__PURE__ */ n.jsx(
|
|
24
26
|
"span",
|
|
25
27
|
{
|
|
26
|
-
className:
|
|
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
|
-
|
|
30
|
+
h[e]
|
|
29
31
|
),
|
|
30
32
|
children: e
|
|
31
33
|
}
|
|
32
|
-
),
|
|
34
|
+
), x = {
|
|
33
35
|
kind: "Document",
|
|
34
36
|
definitions: [
|
|
35
37
|
{
|
|
@@ -174,7 +176,7 @@ const V = {
|
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
178
|
]
|
|
177
|
-
},
|
|
179
|
+
}, f = {
|
|
178
180
|
kind: "Document",
|
|
179
181
|
definitions: [
|
|
180
182
|
{
|
|
@@ -240,7 +242,7 @@ const V = {
|
|
|
240
242
|
}
|
|
241
243
|
}
|
|
242
244
|
]
|
|
243
|
-
},
|
|
245
|
+
}, T = {
|
|
244
246
|
kind: "Document",
|
|
245
247
|
definitions: [
|
|
246
248
|
{
|
|
@@ -484,7 +486,7 @@ const V = {
|
|
|
484
486
|
}
|
|
485
487
|
}
|
|
486
488
|
]
|
|
487
|
-
},
|
|
489
|
+
}, O = {
|
|
488
490
|
kind: "Document",
|
|
489
491
|
definitions: [
|
|
490
492
|
{
|
|
@@ -600,16 +602,25 @@ const V = {
|
|
|
600
602
|
}
|
|
601
603
|
}
|
|
602
604
|
]
|
|
603
|
-
},
|
|
604
|
-
"\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n }\n }\n":
|
|
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":
|
|
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":
|
|
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":
|
|
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
|
|
610
|
-
return
|
|
611
|
+
function V(e) {
|
|
612
|
+
return D[e] ?? {};
|
|
611
613
|
}
|
|
612
|
-
const
|
|
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
|
-
`),
|
|
631
|
-
const
|
|
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: [
|
|
634
|
-
}) :
|
|
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 (!
|
|
665
|
+
if (!g({ path: d, end: !1 }, i))
|
|
652
666
|
return [];
|
|
653
|
-
const { data: m } = await
|
|
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
|
|
672
|
+
const s = m.schema.tags.filter((l) => l.operations.length > 0).map((l) => ({
|
|
659
673
|
path: i,
|
|
660
|
-
label:
|
|
674
|
+
label: l.name ?? "",
|
|
661
675
|
collapsible: !1,
|
|
662
|
-
children:
|
|
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(
|
|
682
|
+
/* @__PURE__ */ n.jsx(b, { method: a.method })
|
|
669
683
|
] })
|
|
670
684
|
}))
|
|
671
685
|
}));
|
|
672
|
-
return
|
|
686
|
+
return s.unshift({
|
|
673
687
|
path: i,
|
|
674
688
|
label: "Overview",
|
|
675
689
|
collapsible: !1,
|
|
676
690
|
children: [{ path: "#description", label: "Description" }]
|
|
677
|
-
}),
|
|
691
|
+
}), s;
|
|
678
692
|
},
|
|
679
693
|
getRoutes: () => [
|
|
680
694
|
{
|
|
681
695
|
async lazy() {
|
|
682
|
-
const { OpenApiRoute: i } = await import("./Route-
|
|
696
|
+
const { OpenApiRoute: i } = await import("./Route-Bf1_D_vC.js");
|
|
683
697
|
return {
|
|
684
|
-
element: /* @__PURE__ */ n.jsx(i, { client:
|
|
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:
|
|
704
|
+
path: d,
|
|
690
705
|
children: [
|
|
691
706
|
{
|
|
692
707
|
index: !0,
|
|
693
708
|
async lazy() {
|
|
694
|
-
const { OperationList: i } = await import("./OperationList-
|
|
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
|
-
|
|
707
|
-
|
|
708
|
-
|
|
721
|
+
j as E,
|
|
722
|
+
G as M,
|
|
723
|
+
V as g,
|
|
724
|
+
J as o
|
|
709
725
|
};
|
|
710
|
-
//# sourceMappingURL=index-
|
|
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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"}
|