zudoku 0.3.1-dev.5 → 0.3.1-dev.6

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 (40) hide show
  1. package/dist/lib/plugins/openapi/OperationListItem.js +1 -1
  2. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  3. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +9 -0
  4. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +14 -0
  5. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -0
  6. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +6 -0
  7. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +17 -0
  8. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +1 -0
  9. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +7 -0
  10. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +10 -0
  11. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +1 -0
  12. package/dist/lib/plugins/openapi/schema/SchemaComponents.d.ts +3 -3
  13. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +15 -15
  14. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
  15. package/dist/lib/plugins/openapi/schema/SchemaView.js +1 -1
  16. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  17. package/dist/lib/plugins/openapi/schema/utils.d.ts +6 -0
  18. package/dist/lib/plugins/openapi/schema/utils.js +5 -0
  19. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  20. package/lib/{Input-DB9VROFR.js → Input-CzXNm7xb.js} +2 -1
  21. package/lib/{Input-DB9VROFR.js.map → Input-CzXNm7xb.js.map} +1 -1
  22. package/lib/OperationList-CJajXSzC.js +595 -0
  23. package/lib/OperationList-CJajXSzC.js.map +1 -0
  24. package/lib/{Route-DfAFiR7v.js → Route-BpMrPUVN.js} +2 -2
  25. package/lib/{Route-DfAFiR7v.js.map → Route-BpMrPUVN.js.map} +1 -1
  26. package/lib/{index-D-9zqIOh.js → index-B6zugCnN.js} +4 -4
  27. package/lib/{index-D-9zqIOh.js.map → index-B6zugCnN.js.map} +1 -1
  28. package/lib/zudoku.plugin-api-keys.js +1 -1
  29. package/lib/zudoku.plugin-openapi.js +1 -1
  30. package/package.json +1 -1
  31. package/src/app/main.css +25 -0
  32. package/src/lib/plugins/openapi/OperationListItem.tsx +1 -1
  33. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +47 -0
  34. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +54 -0
  35. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +30 -0
  36. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +41 -41
  37. package/src/lib/plugins/openapi/schema/SchemaView.tsx +4 -4
  38. package/src/lib/plugins/openapi/schema/utils.ts +8 -0
  39. package/lib/OperationList-Cxiw2Z-v.js +0 -457
  40. package/lib/OperationList-Cxiw2Z-v.js.map +0 -1
@@ -1,457 +0,0 @@
1
- import { j as e } from "./jsx-runtime-B6kdoens.js";
2
- import { C as b } from "./CategoryHeading-z15xh7Jb.js";
3
- import { D as T } from "./DeveloperHint-BQSFXH01.js";
4
- import { C as v, a as p, b as A, c as I, d as R, T as k, e as H, f as F, g as $, S as B, h as S, u as M, E as z } from "./index-D-9zqIOh.js";
5
- import { c as E, h as m, H as h, a as u, P as g, I as O, S as G } from "./Markdown-CEccPMI_.js";
6
- import { useState as P } from "react";
7
- import { R as D, T as Q, C as V, a as _ } from "./index-Dz4LyXZI.js";
8
- import { u as J } from "./urql-DrBfkb92.js";
9
- import { B as K } from "./Combination-DTfV-c98.js";
10
- /**
11
- * @license lucide-react v0.378.0 - ISC
12
- *
13
- * This source code is licensed under the ISC license.
14
- * See the LICENSE file in the root directory of this source tree.
15
- */
16
- const U = E("ListPlus", [
17
- ["path", { d: "M11 12H3", key: "51ecnj" }],
18
- ["path", { d: "M16 6H3", key: "1wxfjs" }],
19
- ["path", { d: "M16 18H3", key: "12xzn7" }],
20
- ["path", { d: "M18 9v6", key: "1twb98" }],
21
- ["path", { d: "M21 12h-6", key: "bt1uis" }]
22
- ]);
23
- function Z(s, t) {
24
- return t;
25
- }
26
- const q = (s, t) => s.reduce(
27
- (i, r) => {
28
- const n = t(r);
29
- return i[n] || (i[n] = []), i[n].push(r), i;
30
- },
31
- {}
32
- ), W = (s, t) => s ? t(s) : void 0, C = (s) => s.schema != null && typeof s.schema == "object" ? s.schema : {
33
- type: "string"
34
- }, X = ({
35
- parameter: s,
36
- group: t,
37
- id: i
38
- }) => /* @__PURE__ */ e.jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1", children: [
39
- /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
40
- /* @__PURE__ */ e.jsx("code", { children: t === "path" ? /* @__PURE__ */ e.jsx(
41
- v,
42
- {
43
- name: s.name,
44
- backgroundOpacity: "15%",
45
- slug: i + "-" + s.name.toLocaleLowerCase()
46
- }
47
- ) : s.name }),
48
- s.required && /* @__PURE__ */ e.jsx("span", { className: "py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg", children: "required" }),
49
- C(s).type && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: C(s).type })
50
- ] }),
51
- s.description && /* @__PURE__ */ e.jsx(
52
- m,
53
- {
54
- content: s.description,
55
- className: "text-sm prose-p:my-1"
56
- }
57
- )
58
- ] }), Y = ({
59
- group: s,
60
- parameters: t,
61
- id: i
62
- }) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
63
- /* @__PURE__ */ e.jsx(h, { level: 3, id: `${i}/${s}-parameters`, className: "capitalize", children: s === "header" ? "Headers" : `${s} Parameters` }),
64
- /* @__PURE__ */ e.jsx(p, { children: /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 divide-y ", children: t.sort((r, n) => r.required === n.required ? 0 : r.required ? -1 : 1).map((r) => /* @__PURE__ */ e.jsx(
65
- X,
66
- {
67
- parameter: r,
68
- id: i,
69
- group: s
70
- },
71
- `${r.name}-${r.in}`
72
- )) }) })
73
- ] }), ee = (s) => s.type === "object" || s.type === "array" && typeof s.items == "object" && (!s.items.type || s.items.type === "object"), y = (s) => !!(s.oneOf ?? s.allOf ?? s.anyOf), w = ({
74
- schema: s,
75
- level: t
76
- }) => {
77
- const i = (r, n, l) => r.map((o, c) => /* @__PURE__ */ e.jsxs("div", { className: "my-2", children: [
78
- /* @__PURE__ */ e.jsx("strong", { children: n }),
79
- /* @__PURE__ */ e.jsxs("div", { className: "mt-2", children: [
80
- /* @__PURE__ */ e.jsx(f, { schema: o, level: t + 1 }),
81
- c < r.length - 1 && /* @__PURE__ */ e.jsx("div", { className: "text-center my-2", children: l })
82
- ] })
83
- ] }, c));
84
- return s.oneOf ? i(s.oneOf, "One of", "OR") : s.allOf ? i(s.allOf, "All of", "AND") : s.anyOf ? i(s.anyOf, "Any of", "OR") : null;
85
- }, se = ({
86
- name: s,
87
- value: t,
88
- group: i,
89
- level: r,
90
- defaultOpen: n = !1,
91
- showCollapseButton: l = !0
92
- }) => {
93
- var x;
94
- const [o, c] = P(n);
95
- return /* @__PURE__ */ e.jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-1 justify-between text-sm", children: [
96
- /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center", children: [
97
- /* @__PURE__ */ e.jsx("code", { children: s }),
98
- /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: t.type === "array" && ((x = t.items) != null && x.type) ? /* @__PURE__ */ e.jsxs("span", { children: [
99
- t.items.type,
100
- "[]"
101
- ] }) : Array.isArray(t.type) ? /* @__PURE__ */ e.jsx("span", { children: t.type.join(" | ") }) : /* @__PURE__ */ e.jsx("span", { children: t.type }) }),
102
- i === "optional" && /* @__PURE__ */ e.jsx("span", { className: "py-px px-1.5 font-medium border rounded-lg", children: "optional" })
103
- ] }),
104
- t.description && /* @__PURE__ */ e.jsx(
105
- m,
106
- {
107
- className: u(g, "text-sm leading-normal line-clamp-4"),
108
- content: t.description
109
- }
110
- ),
111
- (y(t) || ee(t)) && /* @__PURE__ */ e.jsxs(
112
- D,
113
- {
114
- defaultOpen: n,
115
- open: o,
116
- onOpenChange: () => c(!o),
117
- children: [
118
- l && /* @__PURE__ */ e.jsx(Q, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
119
- K,
120
- {
121
- variant: "outline",
122
- size: "sm",
123
- className: "mt-2 flex gap-1.5",
124
- children: [
125
- /* @__PURE__ */ e.jsx(U, { size: 18 }),
126
- o ? "Hide nested properties" : "Show nested properties"
127
- ]
128
- }
129
- ) }),
130
- /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsxs("div", { className: "mt-2", children: [
131
- y(t) && /* @__PURE__ */ e.jsx(w, { schema: t, level: r + 1 }),
132
- t.type === "object" && /* @__PURE__ */ e.jsx(f, { schema: t, level: r + 1 }),
133
- t.type === "array" && typeof t.items == "object" && /* @__PURE__ */ e.jsx(f, { schema: t.items, level: r + 1 })
134
- ] }) })
135
- ]
136
- }
137
- )
138
- ] }) });
139
- }, f = ({
140
- schema: s,
141
- level: t = 0,
142
- defaultOpen: i = !1
143
- }) => {
144
- if (!s || Object.keys(s).length === 0)
145
- return /* @__PURE__ */ e.jsx(p, { className: "p-4", children: /* @__PURE__ */ e.jsx("span", { className: "text-sm text-muted-foreground italic", children: "No response specified" }) });
146
- const r = (n, l) => {
147
- if (n.oneOf || n.allOf || n.anyOf)
148
- return /* @__PURE__ */ e.jsx(w, { schema: n, level: l });
149
- if (n.type === "array" && n.items) {
150
- const o = n.items;
151
- return typeof o.type == "string" && ["string", "number", "boolean", "integer"].includes(o.type) ? /* @__PURE__ */ e.jsxs(p, { className: "p-4", children: [
152
- /* @__PURE__ */ e.jsxs("span", { className: "text-sm text-muted-foreground", children: [
153
- o.type,
154
- "[]"
155
- ] }),
156
- n.description && /* @__PURE__ */ e.jsx(
157
- m,
158
- {
159
- className: u(
160
- g,
161
- "text-sm leading-normal line-clamp-4"
162
- ),
163
- content: n.description
164
- }
165
- )
166
- ] }) : o.type === "object" || y(o) ? /* @__PURE__ */ e.jsxs(p, { className: "flex flex-col gap-2 bg-border/30 p-4", children: [
167
- /* @__PURE__ */ e.jsx("span", { className: "text-sm text-muted-foreground", children: "object[]" }),
168
- r(o, l + 1)
169
- ] }) : r(o, l + 1);
170
- }
171
- if (n.type === "object" && !n.properties)
172
- return /* @__PURE__ */ e.jsxs(p, { className: "p-4 flex gap-2 items-center", children: [
173
- "name" in n && /* @__PURE__ */ e.jsx(e.Fragment, { children: n.name }),
174
- /* @__PURE__ */ e.jsx("span", { className: "text-sm text-muted-foreground", children: "object" }),
175
- n.description && /* @__PURE__ */ e.jsx(
176
- m,
177
- {
178
- className: u(
179
- g,
180
- "text-sm leading-normal line-clamp-4"
181
- ),
182
- content: n.description
183
- }
184
- )
185
- ] });
186
- if (n.properties) {
187
- const o = q(
188
- Object.entries(n.properties),
189
- ([a, d]) => {
190
- var j;
191
- return d.deprecated ? "deprecated" : (j = n.required) != null && j.includes(a) ? "required" : "optional";
192
- }
193
- ), c = l === 0 && Object.keys(o).length === 1, x = ["required", "optional", "deprecated"];
194
- return /* @__PURE__ */ e.jsx(p, { className: "divide-y overflow-hidden", children: x.map(
195
- (a) => o[a] && /* @__PURE__ */ e.jsx("ul", { className: "divide-y", children: o[a].map(([d, j]) => /* @__PURE__ */ e.jsx(
196
- se,
197
- {
198
- name: d,
199
- value: j,
200
- group: a,
201
- level: l,
202
- defaultOpen: c || i,
203
- showCollapseButton: !c
204
- },
205
- d
206
- )) }, a)
207
- ) });
208
- }
209
- return typeof n.type == "string" && ["string", "number", "boolean", "integer", "null"].includes(n.type) ? /* @__PURE__ */ e.jsxs(p, { className: "p-4", children: [
210
- /* @__PURE__ */ e.jsx("span", { className: "text-sm text-muted-foreground", children: n.type }),
211
- n.description && /* @__PURE__ */ e.jsx(
212
- m,
213
- {
214
- className: u(
215
- g,
216
- "text-sm leading-normal line-clamp-4"
217
- ),
218
- content: n.description
219
- }
220
- )
221
- ] }) : n.additionalProperties ? /* @__PURE__ */ e.jsxs(p, { className: "my-2", children: [
222
- /* @__PURE__ */ e.jsx(A, { children: /* @__PURE__ */ e.jsx(I, { children: "Additional Properties:" }) }),
223
- /* @__PURE__ */ e.jsx(R, { children: r(
224
- n.additionalProperties,
225
- l + 1
226
- ) })
227
- ] }) : null;
228
- };
229
- return r(s, t);
230
- }, N = u(
231
- g,
232
- "max-w-full prose-img:max-w-prose"
233
- ), te = ["path", "query", "header", "cookie"], ne = ({
234
- operationFragment: s
235
- }) => {
236
- var o, c, x;
237
- const t = Z(re, s), i = q(
238
- t.parameters ?? [],
239
- (a) => a.in
240
- ), r = t.responses.at(0), [n, l] = P(r == null ? void 0 : r.statusCode);
241
- return /* @__PURE__ */ e.jsxs(
242
- "div",
243
- {
244
- className: "grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16",
245
- children: [
246
- /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-4", children: [
247
- /* @__PURE__ */ e.jsx(h, { level: 2, id: t.slug, registerSidebarAnchor: !0, children: t.summary }),
248
- t.description && /* @__PURE__ */ e.jsx(
249
- m,
250
- {
251
- className: N,
252
- content: t.description
253
- }
254
- ),
255
- t.parameters && t.parameters.length > 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: te.flatMap(
256
- (a) => {
257
- var d;
258
- return (d = i[a]) != null && d.length ? /* @__PURE__ */ e.jsx(
259
- Y,
260
- {
261
- id: t.slug,
262
- parameters: i[a],
263
- group: a
264
- },
265
- a
266
- ) : [];
267
- }
268
- ) }),
269
- W((x = (c = (o = t.requestBody) == null ? void 0 : o.content) == null ? void 0 : c.at(0)) == null ? void 0 : x.schema, (a) => /* @__PURE__ */ e.jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [
270
- /* @__PURE__ */ e.jsx(h, { level: 3, className: "capitalize", children: "Request Body" }),
271
- /* @__PURE__ */ e.jsx(f, { schema: a })
272
- ] })),
273
- t.responses.length > 0 && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
274
- /* @__PURE__ */ e.jsx(h, { level: 3, className: "capitalize mt-8 pt-8 border-t", children: "Responses" }),
275
- /* @__PURE__ */ e.jsxs(
276
- k,
277
- {
278
- onValueChange: (a) => l(a),
279
- value: n,
280
- children: [
281
- t.responses.length > 1 && /* @__PURE__ */ e.jsx(H, { children: t.responses.map((a) => /* @__PURE__ */ e.jsx(
282
- F,
283
- {
284
- value: a.statusCode,
285
- title: a.description,
286
- children: a.statusCode
287
- },
288
- a.statusCode
289
- )) }),
290
- /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 overflow-hidden", children: t.responses.map((a) => {
291
- var d, j;
292
- return /* @__PURE__ */ e.jsx(
293
- $,
294
- {
295
- value: a.statusCode,
296
- children: /* @__PURE__ */ e.jsx(
297
- f,
298
- {
299
- schema: (j = (d = a.content) == null ? void 0 : d.find((L) => L.schema)) == null ? void 0 : j.schema
300
- }
301
- )
302
- },
303
- a.statusCode
304
- );
305
- }) })
306
- ]
307
- }
308
- )
309
- ] })
310
- ] }),
311
- /* @__PURE__ */ e.jsx(
312
- B,
313
- {
314
- selectedResponse: n,
315
- onSelectResponse: l,
316
- operation: t
317
- }
318
- )
319
- ]
320
- },
321
- t.operationId
322
- );
323
- }, re = S(
324
- /* GraphQL */
325
- `
326
- fragment OperationsFragment on OperationItem {
327
- slug
328
- summary
329
- method
330
- description
331
- operationId
332
- contentTypes
333
- path
334
- parameters {
335
- name
336
- in
337
- description
338
- required
339
- schema
340
- style
341
- examples {
342
- name
343
- description
344
- externalValue
345
- value
346
- summary
347
- }
348
- }
349
- requestBody {
350
- content {
351
- mediaType
352
- encoding {
353
- name
354
- }
355
- schema
356
- }
357
- description
358
- required
359
- }
360
- responses {
361
- statusCode
362
- links
363
- description
364
- content {
365
- mediaType
366
- encoding {
367
- name
368
- }
369
- schema
370
- }
371
- }
372
- }
373
- `
374
- ), ie = S(
375
- /* GraphQL */
376
- `
377
- query AllOperations($input: JSON!, $type: SchemaType!) {
378
- schema(input: $input, type: $type) {
379
- description
380
- title
381
- url
382
- version
383
- tags {
384
- name
385
- description
386
- operations {
387
- slug
388
- ...OperationsFragment
389
- }
390
- }
391
- }
392
- }
393
- `
394
- ), ae = { suspense: !0 }, he = () => {
395
- var n;
396
- const { type: s, input: t } = M(), [i] = J({
397
- query: ie,
398
- variables: { type: s, input: t },
399
- context: ae
400
- }), r = (n = i.error) == null ? void 0 : n.graphQLErrors.at(0);
401
- return r ? /* @__PURE__ */ e.jsx(
402
- z,
403
- {
404
- category: "Error",
405
- title: "Schema cannot be displayed",
406
- message: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
407
- /* @__PURE__ */ e.jsxs(T, { className: "mb-4", children: [
408
- "Check your configuration value ",
409
- /* @__PURE__ */ e.jsx(O, { children: "apis.type" }),
410
- " ",
411
- "and ",
412
- /* @__PURE__ */ e.jsx(O, { children: "apis.input" }),
413
- " in the Zudoku config."
414
- ] }),
415
- "An error occurred while trying to fetch the API reference:",
416
- /* @__PURE__ */ e.jsx(G, { code: r.toString(), language: "plain" })
417
- ] })
418
- }
419
- ) : i.data ? /* @__PURE__ */ e.jsxs("div", { className: "pt-[--padding-content-top]", children: [
420
- /* @__PURE__ */ e.jsxs(
421
- "div",
422
- {
423
- className: u(
424
- N,
425
- "mb-16 max-w-full prose-img:max-w-prose"
426
- ),
427
- children: [
428
- /* @__PURE__ */ e.jsx(b, { children: "Overview" }),
429
- /* @__PURE__ */ e.jsx(h, { level: 1, id: "description", registerSidebarAnchor: !0, children: i.data.schema.title }),
430
- /* @__PURE__ */ e.jsx(m, { content: i.data.schema.description ?? "" })
431
- ]
432
- }
433
- ),
434
- i.data.schema.tags.filter((l) => l.operations.length > 0).map((l) => /* @__PURE__ */ e.jsxs("div", { children: [
435
- l.name && /* @__PURE__ */ e.jsx(b, { children: l.name }),
436
- l.description && /* @__PURE__ */ e.jsx(
437
- m,
438
- {
439
- className: `${N} mt-2 mb-12`,
440
- content: l.description
441
- }
442
- ),
443
- /* @__PURE__ */ e.jsx("div", { className: "operation mb-12", children: /* @__PURE__ */ e.jsx(_, { children: l.operations.map((o) => /* @__PURE__ */ e.jsx(
444
- ne,
445
- {
446
- operationFragment: o
447
- },
448
- o.slug
449
- )) }) })
450
- ] }, l.name))
451
- ] }) : null;
452
- };
453
- export {
454
- he as OperationList,
455
- re as OperationsFragment
456
- };
457
- //# sourceMappingURL=OperationList-Cxiw2Z-v.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationList-Cxiw2Z-v.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/list-plus.js","../src/lib/plugins/openapi/graphql/fragment-masking.ts","../src/lib/util/groupBy.ts","../src/lib/util/renderIf.ts","../src/lib/plugins/openapi/ParameterListItem.tsx","../src/lib/plugins/openapi/ParameterList.tsx","../src/lib/plugins/openapi/schema/utils.ts","../src/lib/plugins/openapi/schema/SchemaComponents.tsx","../src/lib/plugins/openapi/schema/SchemaView.tsx","../src/lib/plugins/openapi/util/prose.ts","../src/lib/plugins/openapi/OperationListItem.tsx","../src/lib/plugins/openapi/OperationList.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListPlus = createLucideIcon(\"ListPlus\", [\n [\"path\", { d: \"M11 12H3\", key: \"51ecnj\" }],\n [\"path\", { d: \"M16 6H3\", key: \"1wxfjs\" }],\n [\"path\", { d: \"M16 18H3\", key: \"12xzn7\" }],\n [\"path\", { d: \"M18 9v6\", key: \"1twb98\" }],\n [\"path\", { d: \"M21 12h-6\", key: \"bt1uis\" }]\n]);\n\nexport { ListPlus as default };\n//# sourceMappingURL=list-plus.js.map\n","/* eslint-disable */\nimport type {\n DocumentTypeDecoration,\n ResultOf,\n TypedDocumentNode,\n} from \"@graphql-typed-document-node/core\";\nimport type { FragmentDefinitionNode } from \"graphql\";\nimport type { Incremental } from \"./graphql.js\";\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ \" $fragmentName\"?: infer TKey }]\n ? TKey extends string\n ? { \" $fragmentRefs\"?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>,\n): TType;\n// return nullable if `fragmentType` is undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | undefined,\n): TType | undefined;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null,\n): TType | null;\n// return nullable if `fragmentType` is nullable or undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined,\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: Array<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): Array<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): Array<TType> | null | undefined;\n// return readonly array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): ReadonlyArray<TType>;\n// return readonly array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): TType | Array<TType> | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined,\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n","export const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","export const renderIf = <G, R>(\n variable: G | undefined | null,\n callback: (variable: G) => R,\n): R | undefined => (variable ? callback(variable) : undefined);\n","import { Markdown } from \"../../components/Markdown.js\";\nimport { type SchemaObject } from \"../../oas/graphql/index.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\n\nconst getParameterSchema = (\n parameter: ParameterListItemResult,\n): SchemaObject => {\n if (parameter.schema != null && typeof parameter.schema === \"object\") {\n return parameter.schema;\n }\n return {\n type: \"string\",\n };\n};\n\nexport type ParameterListItemResult = NonNullable<\n OperationListItemResult[\"parameters\"]\n>[number];\n\nexport const ParameterListItem = ({\n parameter,\n group,\n id,\n}: {\n parameter: ParameterListItemResult;\n group: ParameterGroup;\n id: string;\n}) => (\n <li className=\"p-4 bg-border/20 text-sm flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n <code>\n {group === \"path\" ? (\n <ColorizedParam\n name={parameter.name}\n backgroundOpacity=\"15%\"\n slug={id + \"-\" + parameter.name.toLocaleLowerCase()}\n />\n ) : (\n parameter.name\n )}\n </code>\n {parameter.required && (\n <span className=\"py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg\">\n required\n </span>\n )}\n {getParameterSchema(parameter).type && (\n <span className=\"text-muted-foreground\">\n {getParameterSchema(parameter).type}\n </span>\n )}\n </div>\n {parameter.description && (\n <Markdown\n content={parameter.description}\n className=\"text-sm prose-p:my-1\"\n />\n )}\n </li>\n);\n","import { Heading } from \"../../components/Heading.js\";\nimport { Card } from \"../../ui/Card.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\nimport {\n ParameterListItem,\n type ParameterListItemResult,\n} from \"./ParameterListItem.js\";\n\nexport const ParameterList = ({\n group,\n parameters,\n id,\n}: {\n group: ParameterGroup;\n parameters: ParameterListItemResult[];\n id: string;\n}) => (\n <>\n <Heading level={3} id={`${id}/${group}-parameters`} className=\"capitalize\">\n {group === \"header\" ? \"Headers\" : `${group} Parameters`}\n </Heading>\n <Card>\n <ul className=\"list-none m-0 px-0 divide-y \">\n {parameters\n .sort((a, b) => (a.required === b.required ? 0 : a.required ? -1 : 1))\n .map((parameter) => (\n <ParameterListItem\n key={`${parameter.name}-${parameter.in}`}\n parameter={parameter}\n id={id}\n group={group}\n />\n ))}\n </ul>\n </Card>\n </>\n);\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport const isComplexType = (value: SchemaObject) =>\n value.type === \"object\" ||\n (value.type === \"array\" &&\n typeof value.items === \"object\" &&\n (!value.items.type || value.items.type === \"object\"));\n\nexport const hasLogicalGroupings = (value: SchemaObject) =>\n Boolean(value.oneOf ?? value.allOf ?? value.anyOf);\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ListPlusIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport { hasLogicalGroupings, isComplexType } from \"./utils.js\";\n\nexport const SchemaLogicalGroup = ({\n schema,\n level,\n}: {\n schema: SchemaObject;\n level: number;\n}) => {\n const renderLogicalGroup = (\n group: SchemaObject[],\n groupName: string,\n separator: string,\n ) => {\n return group.map((subSchema, index) => (\n <div key={index} className=\"my-2\">\n <strong>{groupName}</strong>\n <div className=\"mt-2\">\n <SchemaView schema={subSchema} level={level + 1} />\n {index < group.length - 1 && (\n <div className=\"text-center my-2\">{separator}</div>\n )}\n </div>\n </div>\n ));\n };\n\n if (schema.oneOf) return renderLogicalGroup(schema.oneOf, \"One of\", \"OR\");\n if (schema.allOf) return renderLogicalGroup(schema.allOf, \"All of\", \"AND\");\n if (schema.anyOf) return renderLogicalGroup(schema.anyOf, \"Any of\", \"OR\");\n\n return null;\n};\n\nexport const SchemaPropertyItem = ({\n name,\n value,\n group,\n level,\n defaultOpen = false,\n showCollapseButton = true,\n}: {\n name: string;\n value: SchemaObject;\n group: \"required\" | \"optional\" | \"deprecated\";\n level: number;\n defaultOpen?: boolean;\n showCollapseButton?: boolean;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-1 justify-between text-sm\">\n <div className=\"flex gap-2 items-center\">\n <code>{name}</code>\n <span className=\"text-muted-foreground\">\n {value.type === \"array\" && value.items?.type ? (\n <span>{value.items.type}[]</span>\n ) : Array.isArray(value.type) ? (\n <span>{value.type.join(\" | \")}</span>\n ) : (\n <span>{value.type}</span>\n )}\n </span>\n {group === \"optional\" && (\n <span className=\"py-px px-1.5 font-medium border rounded-lg\">\n optional\n </span>\n )}\n </div>\n\n {value.description && (\n <Markdown\n className={cn(ProseClasses, \"text-sm leading-normal line-clamp-4\")}\n content={value.description}\n />\n )}\n\n {(hasLogicalGroupings(value) || isComplexType(value)) && (\n <Collapsible.Root\n defaultOpen={defaultOpen}\n open={isOpen}\n onOpenChange={() => setIsOpen(!isOpen)}\n >\n {showCollapseButton && (\n <Collapsible.Trigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"mt-2 flex gap-1.5\"\n >\n <ListPlusIcon size={18} />\n {!isOpen\n ? \"Show nested properties\"\n : \"Hide nested properties\"}\n </Button>\n </Collapsible.Trigger>\n )}\n <Collapsible.Content>\n <div className=\"mt-2\">\n {hasLogicalGroupings(value) && (\n <SchemaLogicalGroup schema={value} level={level + 1} />\n )}\n {value.type === \"object\" && (\n <SchemaView schema={value} level={level + 1} />\n )}\n {value.type === \"array\" && typeof value.items === \"object\" && (\n <SchemaView schema={value.items} level={level + 1} />\n )}\n </div>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </div>\n </li>\n );\n};\n","import { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"../../../ui/Card.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { SchemaLogicalGroup, SchemaPropertyItem } from \"./SchemaComponents.js\";\nimport { hasLogicalGroupings } from \"./utils.js\";\n\nexport const SchemaView = ({\n schema,\n level = 0,\n defaultOpen = false,\n}: {\n schema?: SchemaObject | null;\n level?: number;\n defaultOpen?: boolean;\n}) => {\n if (!schema || Object.keys(schema).length === 0) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground italic\">\n No response specified\n </span>\n </Card>\n );\n }\n\n const renderSchema = (schema: SchemaObject, level: number) => {\n if (schema.oneOf || schema.allOf || schema.anyOf) {\n return <SchemaLogicalGroup schema={schema} level={level} />;\n }\n\n // Sometimes items is not defined\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (schema.type === \"array\" && schema.items) {\n const itemsSchema = schema.items as SchemaObject;\n\n if (\n typeof itemsSchema.type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\"].includes(itemsSchema.type)\n ) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground\">\n {itemsSchema.type}[]\n </span>\n {schema.description && (\n <Markdown\n className={cn(\n ProseClasses,\n \"text-sm leading-normal line-clamp-4\",\n )}\n content={schema.description}\n />\n )}\n </Card>\n );\n } else if (\n itemsSchema.type === \"object\" ||\n hasLogicalGroupings(itemsSchema)\n ) {\n return (\n <Card className=\"flex flex-col gap-2 bg-border/30 p-4\">\n <span className=\"text-sm text-muted-foreground\">object[]</span>\n {renderSchema(itemsSchema, level + 1)}\n </Card>\n );\n } else {\n return renderSchema(itemsSchema, level + 1);\n }\n }\n\n if (schema.type === \"object\" && !schema.properties) {\n return (\n <Card className=\"p-4 flex gap-2 items-center\">\n {\"name\" in schema && <>{schema.name}</>}\n <span className=\"text-sm text-muted-foreground\">object</span>\n {schema.description && (\n <Markdown\n className={cn(\n ProseClasses,\n \"text-sm leading-normal line-clamp-4\",\n )}\n content={schema.description}\n />\n )}\n </Card>\n );\n }\n\n if (schema.properties) {\n const groupedProperties = groupBy(\n Object.entries(schema.properties),\n ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n },\n );\n\n const isTopLevelSingleItem =\n level === 0 && Object.keys(groupedProperties).length === 1;\n\n const groupNames = [\"required\", \"optional\", \"deprecated\"] as const;\n\n return (\n <Card className=\"divide-y overflow-hidden\">\n {groupNames.map(\n (group) =>\n groupedProperties[group] && (\n <ul key={group} className=\"divide-y\">\n {groupedProperties[group].map(([key, value]) => (\n <SchemaPropertyItem\n key={key}\n name={key}\n value={value}\n group={group}\n level={level}\n defaultOpen={isTopLevelSingleItem || defaultOpen}\n showCollapseButton={!isTopLevelSingleItem}\n />\n ))}\n </ul>\n ),\n )}\n </Card>\n );\n }\n\n if (\n typeof schema.type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\", \"null\"].includes(schema.type)\n ) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground\">{schema.type}</span>\n {schema.description && (\n <Markdown\n className={cn(\n ProseClasses,\n \"text-sm leading-normal line-clamp-4\",\n )}\n content={schema.description}\n />\n )}\n </Card>\n );\n }\n\n if (schema.additionalProperties) {\n return (\n <Card className=\"my-2\">\n <CardHeader>\n <CardTitle>Additional Properties:</CardTitle>\n </CardHeader>\n <CardContent>\n {renderSchema(\n schema.additionalProperties as SchemaObject,\n level + 1,\n )}\n </CardContent>\n </Card>\n );\n }\n\n return null;\n };\n\n return renderSchema(schema, level);\n};\n","import { ProseClasses } from \"../../../components/Markdown.js\";\nimport { cn } from \"../../../util/cn.js\";\n\nexport const SchemaProseClasses = cn(\n ProseClasses,\n \"max-w-full prose-img:max-w-prose\",\n);\n","import { useState } from \"react\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../ui/Tabs.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { renderIf } from \"../../util/renderIf.js\";\nimport { OperationsFragment } from \"./OperationList.js\";\nimport { ParameterList } from \"./ParameterList.js\";\nimport { Sidecar } from \"./Sidecar.js\";\nimport { FragmentType, useFragment } from \"./graphql/index.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\n\nexport const PARAM_GROUPS = [\"path\", \"query\", \"header\", \"cookie\"] as const;\nexport type ParameterGroup = (typeof PARAM_GROUPS)[number];\n\nexport const OperationListItem = ({\n operationFragment,\n}: {\n operationFragment: FragmentType<typeof OperationsFragment>;\n}) => {\n const operation = useFragment(OperationsFragment, operationFragment);\n const groupedParameters = groupBy(\n operation.parameters ?? [],\n (param) => param.in,\n );\n\n const first = operation.responses.at(0);\n const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);\n\n return (\n <div\n key={operation.operationId}\n className=\"grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16\"\n >\n <div className=\"flex flex-col gap-4\">\n <Heading level={2} id={operation.slug} registerSidebarAnchor>\n {operation.summary}\n </Heading>\n {operation.description && (\n <Markdown\n className={SchemaProseClasses}\n content={operation.description}\n />\n )}\n {operation.parameters && operation.parameters.length > 0 && (\n <>\n {PARAM_GROUPS.flatMap((group) =>\n groupedParameters[group]?.length ? (\n <ParameterList\n key={group}\n id={operation.slug}\n parameters={groupedParameters[group]}\n group={group}\n />\n ) : (\n []\n ),\n )}\n </>\n )}\n {renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (\n <div className=\"mt-4 flex flex-col gap-4\">\n <Heading level={3} className=\"capitalize\">\n Request Body\n </Heading>\n <SchemaView schema={schema} />\n </div>\n ))}\n {operation.responses.length > 0 && (\n <>\n <Heading level={3} className=\"capitalize mt-8 pt-8 border-t\">\n Responses\n </Heading>\n <Tabs\n onValueChange={(value) => setSelectedResponse(value)}\n value={selectedResponse}\n >\n {operation.responses.length > 1 && (\n <TabsList>\n {operation.responses.map((response) => (\n <TabsTrigger\n value={response.statusCode}\n key={response.statusCode}\n title={response.description}\n >\n {response.statusCode}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n <ul className=\"list-none m-0 px-0 overflow-hidden\">\n {operation.responses.map((response) => (\n <TabsContent\n value={response.statusCode}\n key={response.statusCode}\n >\n <SchemaView\n schema={\n response.content?.find((content) => content.schema)\n ?.schema\n }\n />\n </TabsContent>\n ))}\n </ul>\n </Tabs>\n </>\n )}\n </div>\n\n <Sidecar\n selectedResponse={selectedResponse}\n onSelectResponse={setSelectedResponse}\n operation={operation}\n />\n </div>\n );\n};\n","import { ResultOf } from \"@graphql-typed-document-node/core\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { DeveloperHint } from \"../../components/DeveloperHint.js\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { OperationListItem } from \"./OperationListItem.js\";\nimport StaggeredRender from \"./StaggeredRender.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\nimport { useQuery } from \"./util/urql.js\";\n\nexport const OperationsFragment = graphql(/* GraphQL */ `\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\nexport type OperationListItemResult = ResultOf<typeof OperationsFragment>;\n\nconst AllOperationsQuery = graphql(/* GraphQL */ `\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\nconst suspenseContext = { suspense: true };\n\nexport const OperationList = () => {\n const { type, input } = useOasConfig();\n\n const [result] = useQuery({\n query: AllOperationsQuery,\n variables: { type, input },\n context: suspenseContext,\n });\n\n const error = result.error?.graphQLErrors.at(0);\n\n // Looks like there is no Suspense level error handling (yet)?\n // So we handle the error case in the component directly\n if (error) {\n return (\n <ErrorPage\n category=\"Error\"\n title=\"Schema cannot be displayed\"\n message={\n <>\n <DeveloperHint className=\"mb-4\">\n Check your configuration value <InlineCode>apis.type</InlineCode>{\" \"}\n and <InlineCode>apis.input</InlineCode> in the Zudoku config.\n </DeveloperHint>\n An error occurred while trying to fetch the API reference:\n <SyntaxHighlight code={error.toString()} language=\"plain\" />\n </>\n }\n />\n );\n }\n\n if (!result.data) return null;\n\n return (\n <div className=\"pt-[--padding-content-top]\">\n <div\n className={cn(\n SchemaProseClasses,\n \"mb-16 max-w-full prose-img:max-w-prose\",\n )}\n >\n <CategoryHeading>Overview</CategoryHeading>\n <Heading level={1} id=\"description\" registerSidebarAnchor>\n {result.data.schema.title}\n </Heading>\n <Markdown content={result.data.schema.description ?? \"\"} />\n </div>\n {result.data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map((tag) => (\n <div key={tag.name}>\n {tag.name && <CategoryHeading>{tag.name}</CategoryHeading>}\n {tag.description && (\n <Markdown\n className={`${SchemaProseClasses} mt-2 mb-12`}\n content={tag.description}\n />\n )}\n <div className=\"operation mb-12\">\n <StaggeredRender>\n {tag.operations.map((fragment) => (\n <OperationListItem\n key={fragment.slug}\n operationFragment={fragment}\n />\n ))}\n </StaggeredRender>\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["ListPlus","createLucideIcon","useFragment","_documentNode","fragmentType","groupBy","arr","keySelector","accumulator","val","groupedKey","renderIf","variable","callback","getParameterSchema","parameter","ParameterListItem","group","id","jsxs","jsx","ColorizedParam","Markdown","ParameterList","parameters","Fragment","Heading","Card","a","b","isComplexType","value","hasLogicalGroupings","SchemaLogicalGroup","schema","level","renderLogicalGroup","groupName","separator","subSchema","index","SchemaView","SchemaPropertyItem","name","defaultOpen","showCollapseButton","isOpen","setIsOpen","useState","_a","cn","ProseClasses","Collapsible.Root","Collapsible.Trigger","Button","ListPlusIcon","Collapsible.Content","renderSchema","itemsSchema","groupedProperties","propertyName","property","isTopLevelSingleItem","groupNames","key","CardHeader","CardTitle","CardContent","SchemaProseClasses","PARAM_GROUPS","OperationListItem","operationFragment","operation","OperationsFragment","groupedParameters","param","first","selectedResponse","setSelectedResponse","_c","_b","Tabs","TabsList","response","TabsTrigger","TabsContent","content","Sidecar","graphql","AllOperationsQuery","suspenseContext","OperationList","type","input","useOasConfig","result","useQuery","error","ErrorPage","DeveloperHint","InlineCode","SyntaxHighlight","CategoryHeading","tag","StaggeredRender","fragment"],"mappings":"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","x_google_ignoreList":[0]}