zudoku 0.3.0-dev.52 → 0.3.0-dev.54
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/lib/plugins/openapi/OperationListItem.js +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +1 -13
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +2 -2
- package/dist/lib/plugins/openapi/playground/Playground.js +15 -2
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +4 -2
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
- package/dist/vite/config.d.ts +1 -0
- package/dist/vite/config.js +1 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.js +1 -0
- package/dist/vite/dev-server.js.map +1 -1
- package/lib/{AnchorLink-CZUp-F0P.js → AnchorLink-BCN_a_Uz.js} +2 -2
- package/lib/{AnchorLink-CZUp-F0P.js.map → AnchorLink-BCN_a_Uz.js.map} +1 -1
- package/lib/Combination-B0Iu6mhJ.js +915 -0
- package/lib/Combination-B0Iu6mhJ.js.map +1 -0
- package/lib/{Markdown-Dbzrtopg.js → Markdown-aE_XoLNs.js} +3 -3
- package/lib/{Markdown-Dbzrtopg.js.map → Markdown-aE_XoLNs.js.map} +1 -1
- package/lib/{MdxPage-JvboTsbK.js → MdxPage-Bsc79cD-.js} +3 -3
- package/lib/{MdxPage-JvboTsbK.js.map → MdxPage-Bsc79cD-.js.map} +1 -1
- package/lib/OperationList-K-JWBxau.js +5091 -0
- package/lib/OperationList-K-JWBxau.js.map +1 -0
- package/lib/Playground-Czy7ha9z.js +502 -0
- package/lib/Playground-Czy7ha9z.js.map +1 -0
- package/lib/{Route-C1LyvITr.js → Route-D-egsGHx.js} +2 -2
- package/lib/{Route-C1LyvITr.js.map → Route-D-egsGHx.js.map} +1 -1
- package/lib/Select-CcBbwJ2R.js +3667 -0
- package/lib/Select-CcBbwJ2R.js.map +1 -0
- package/lib/Spinner-C9_Opdev.js +15 -0
- package/lib/Spinner-C9_Opdev.js.map +1 -0
- package/lib/{hook-CGFJQf_n.js → hook-CKqQERWo.js} +2 -2
- package/lib/{hook-CGFJQf_n.js.map → hook-CKqQERWo.js.map} +1 -1
- package/lib/index-ByHya67R.js +207 -0
- package/lib/index-ByHya67R.js.map +1 -0
- package/lib/{Spinner-BSk0ImmP.js → index-DseBZFJ-.js} +34 -46
- package/lib/index-DseBZFJ-.js.map +1 -0
- package/lib/{index-DSZ4Cj5q.js → index-jsFBaizC.js} +10 -10
- package/lib/{index-DSZ4Cj5q.js.map → index-jsFBaizC.js.map} +1 -1
- package/lib/mutation-DjbQSHzT.js +208 -0
- package/lib/mutation-DjbQSHzT.js.map +1 -0
- package/lib/{urql-DMlBWUKL.js → urql-DEKdguFl.js} +3 -3
- package/lib/{urql-DMlBWUKL.js.map → urql-DEKdguFl.js.map} +1 -1
- package/lib/zudoku.components.js +19 -18
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +1 -1
- package/lib/zudoku.plugin-api-keys.js +11 -10
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +3 -3
- package/package.json +1 -1
- package/src/lib/plugins/openapi/OperationListItem.tsx +13 -11
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +0 -16
- package/src/lib/plugins/openapi/playground/Playground.tsx +17 -3
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +7 -3
- package/lib/OperationList-DGdaixGa.js +0 -5562
- package/lib/OperationList-DGdaixGa.js.map +0 -1
- package/lib/Select-DHm1jDdS.js +0 -4571
- package/lib/Select-DHm1jDdS.js.map +0 -1
- package/lib/Spinner-BSk0ImmP.js.map +0 -1
- package/lib/index-CXXn0D4E.js +0 -412
- package/lib/index-CXXn0D4E.js.map +0 -1
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
import { j as e } from "./jsx-runtime-CJZJivg2.js";
|
|
2
|
+
import { g as A, h as B, i as X, C as P, u as Y, a as Z, F as ee, S as se, b as ae, c as re, d as te, f as D } from "./Select-CcBbwJ2R.js";
|
|
3
|
+
import * as u from "react";
|
|
4
|
+
import { forwardRef as ne, Fragment as $ } from "react";
|
|
5
|
+
import { a as le } from "./urql-DEKdguFl.js";
|
|
6
|
+
import { v as de } from "./DevPortalProvider-Do9oJqme.js";
|
|
7
|
+
import { S as M } from "./Spinner-C9_Opdev.js";
|
|
8
|
+
import { e as c, j as oe, S as ie } from "./Markdown-aE_XoLNs.js";
|
|
9
|
+
import { B as L } from "./Combination-B0Iu6mhJ.js";
|
|
10
|
+
import { X as J, u as ce, D as me, C as ue, T as Q, a as W, b as C, c as w } from "./OperationList-K-JWBxau.js";
|
|
11
|
+
import { u as he } from "./context-_fYfJFgk.js";
|
|
12
|
+
import { g as xe } from "./index-jsFBaizC.js";
|
|
13
|
+
import { S as pe } from "./index-ByHya67R.js";
|
|
14
|
+
const V = u.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
ref: r,
|
|
18
|
+
className: c(
|
|
19
|
+
"rounded-xl border border-border bg-card text-card-foreground shadow",
|
|
20
|
+
s
|
|
21
|
+
),
|
|
22
|
+
...a
|
|
23
|
+
}
|
|
24
|
+
));
|
|
25
|
+
V.displayName = "Card";
|
|
26
|
+
const fe = u.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
ref: r,
|
|
30
|
+
className: c("flex flex-col space-y-1.5 p-6", s),
|
|
31
|
+
...a
|
|
32
|
+
}
|
|
33
|
+
));
|
|
34
|
+
fe.displayName = "CardHeader";
|
|
35
|
+
const je = u.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx(
|
|
36
|
+
"h3",
|
|
37
|
+
{
|
|
38
|
+
ref: r,
|
|
39
|
+
className: c("font-semibold leading-none tracking-tight", s),
|
|
40
|
+
...a
|
|
41
|
+
}
|
|
42
|
+
));
|
|
43
|
+
je.displayName = "CardTitle";
|
|
44
|
+
const ge = u.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx(
|
|
45
|
+
"p",
|
|
46
|
+
{
|
|
47
|
+
ref: r,
|
|
48
|
+
className: c("text-sm text-muted-foreground", s),
|
|
49
|
+
...a
|
|
50
|
+
}
|
|
51
|
+
));
|
|
52
|
+
ge.displayName = "CardDescription";
|
|
53
|
+
const be = u.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx("div", { ref: r, className: c("p-6 pt-0", s), ...a }));
|
|
54
|
+
be.displayName = "CardContent";
|
|
55
|
+
const ve = u.forwardRef(({ className: s, ...a }, r) => /* @__PURE__ */ e.jsx(
|
|
56
|
+
"div",
|
|
57
|
+
{
|
|
58
|
+
ref: r,
|
|
59
|
+
className: c("flex items-center p-6 pt-0", s),
|
|
60
|
+
...a
|
|
61
|
+
}
|
|
62
|
+
));
|
|
63
|
+
ve.displayName = "CardFooter";
|
|
64
|
+
const Ne = (s, a, r) => {
|
|
65
|
+
const l = new URL(
|
|
66
|
+
s + a.split("/").map(
|
|
67
|
+
(n) => {
|
|
68
|
+
var d;
|
|
69
|
+
return n.startsWith("{") && n.endsWith("}") ? ((d = r.pathParams.find((o) => o.name === n.slice(1, -1))) == null ? void 0 : d.value) ?? n : n;
|
|
70
|
+
}
|
|
71
|
+
).join("/")
|
|
72
|
+
);
|
|
73
|
+
return r.queryParams.forEach((n) => {
|
|
74
|
+
l.searchParams.set(n.name, n.value);
|
|
75
|
+
}), l;
|
|
76
|
+
}, ye = (s, a) => {
|
|
77
|
+
const r = u.forwardRef(({ className: l, asChild: n, ...d }, o) => {
|
|
78
|
+
const j = n ? pe : s;
|
|
79
|
+
return u.createElement(j, {
|
|
80
|
+
...d,
|
|
81
|
+
ref: o,
|
|
82
|
+
className: c(a, l)
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
return r.displayName = `VariantComponent(${s})`, r;
|
|
86
|
+
}, f = ye(
|
|
87
|
+
"input",
|
|
88
|
+
"px-2 bg-transparent h-6 font-mono text-xs m-2"
|
|
89
|
+
), Ce = ({
|
|
90
|
+
control: s,
|
|
91
|
+
register: a
|
|
92
|
+
}) => {
|
|
93
|
+
const { fields: r, append: l, remove: n } = A({
|
|
94
|
+
control: s,
|
|
95
|
+
name: "headers"
|
|
96
|
+
}), d = B({ name: "identity", control: s }), o = B({ name: "headers", control: s }), j = d !== T;
|
|
97
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-[1fr_1fr_auto]", children: [
|
|
98
|
+
r.map((h, m) => {
|
|
99
|
+
var g;
|
|
100
|
+
const x = j && ((g = o.at(m)) == null ? void 0 : g.name) === "Authorization";
|
|
101
|
+
return /* @__PURE__ */ e.jsxs(
|
|
102
|
+
"div",
|
|
103
|
+
{
|
|
104
|
+
className: c(
|
|
105
|
+
"grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group",
|
|
106
|
+
x && "line-through"
|
|
107
|
+
),
|
|
108
|
+
title: x ? "This header is disabled because authentication was selected" : void 0,
|
|
109
|
+
children: [
|
|
110
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center", children: [
|
|
111
|
+
/* @__PURE__ */ e.jsx(
|
|
112
|
+
f,
|
|
113
|
+
{
|
|
114
|
+
...a(`headers.${m}.name`),
|
|
115
|
+
placeholder: "Name",
|
|
116
|
+
className: "peer",
|
|
117
|
+
autoComplete: "off"
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
x && /* @__PURE__ */ e.jsx(oe, { size: 16, className: "text-amber-500" })
|
|
121
|
+
] }),
|
|
122
|
+
/* @__PURE__ */ e.jsx(
|
|
123
|
+
f,
|
|
124
|
+
{
|
|
125
|
+
placeholder: "Value",
|
|
126
|
+
className: "peer",
|
|
127
|
+
...a(`headers.${m}.value`),
|
|
128
|
+
autoComplete: "off"
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
/* @__PURE__ */ e.jsx(
|
|
132
|
+
"button",
|
|
133
|
+
{
|
|
134
|
+
className: "hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible",
|
|
135
|
+
onClick: () => {
|
|
136
|
+
n(m);
|
|
137
|
+
},
|
|
138
|
+
type: "button",
|
|
139
|
+
children: /* @__PURE__ */ e.jsx(J, { size: 16 })
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
/* @__PURE__ */ e.jsx("div", { className: "col-span-full border-b border-border" })
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
h.id
|
|
146
|
+
);
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ e.jsx(
|
|
149
|
+
L,
|
|
150
|
+
{
|
|
151
|
+
className: "col-span-full mt-4",
|
|
152
|
+
onClick: () => l({ name: "", value: "" }),
|
|
153
|
+
type: "button",
|
|
154
|
+
children: "Add header"
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
] });
|
|
158
|
+
}, we = ne(
|
|
159
|
+
function({ part: a, className: r, ...l }, n) {
|
|
160
|
+
const d = ce(a);
|
|
161
|
+
return /* @__PURE__ */ e.jsx(
|
|
162
|
+
f,
|
|
163
|
+
{
|
|
164
|
+
...l,
|
|
165
|
+
ref: n,
|
|
166
|
+
className: c(r, "opacity-80 data-[active=true]:opacity-100"),
|
|
167
|
+
style: {
|
|
168
|
+
// color: `hsl(${color})`,
|
|
169
|
+
outlineColor: `hsl(${d})`
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
), Pe = ({
|
|
175
|
+
control: s,
|
|
176
|
+
register: a
|
|
177
|
+
}) => {
|
|
178
|
+
const { fields: r } = A({
|
|
179
|
+
control: s,
|
|
180
|
+
name: "pathParams"
|
|
181
|
+
});
|
|
182
|
+
return r.map((l, n) => /* @__PURE__ */ e.jsxs(
|
|
183
|
+
"div",
|
|
184
|
+
{
|
|
185
|
+
className: "grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group",
|
|
186
|
+
children: [
|
|
187
|
+
/* @__PURE__ */ e.jsx(
|
|
188
|
+
f,
|
|
189
|
+
{
|
|
190
|
+
...a(`pathParams.${n}.name`),
|
|
191
|
+
disabled: !0,
|
|
192
|
+
placeholder: "Name",
|
|
193
|
+
className: "peer"
|
|
194
|
+
}
|
|
195
|
+
),
|
|
196
|
+
/* @__PURE__ */ e.jsx(
|
|
197
|
+
we,
|
|
198
|
+
{
|
|
199
|
+
...a(`pathParams.${n}.value`),
|
|
200
|
+
part: l.name,
|
|
201
|
+
[me]: l.name,
|
|
202
|
+
placeholder: "Value",
|
|
203
|
+
className: "peer"
|
|
204
|
+
}
|
|
205
|
+
),
|
|
206
|
+
/* @__PURE__ */ e.jsx("div", { className: "col-span-full border-b border-border" })
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
l.id
|
|
210
|
+
));
|
|
211
|
+
}, Te = ({
|
|
212
|
+
control: s
|
|
213
|
+
}) => {
|
|
214
|
+
const { fields: a } = A({
|
|
215
|
+
control: s,
|
|
216
|
+
name: "queryParams"
|
|
217
|
+
}), l = X().getValues("queryParams").map((n) => n.isRequired);
|
|
218
|
+
return a.map((n, d) => /* @__PURE__ */ e.jsxs(
|
|
219
|
+
"div",
|
|
220
|
+
{
|
|
221
|
+
className: "px-2 grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-accent rounded overflow-hidden group",
|
|
222
|
+
children: [
|
|
223
|
+
/* @__PURE__ */ e.jsx(
|
|
224
|
+
P,
|
|
225
|
+
{
|
|
226
|
+
control: s,
|
|
227
|
+
name: `queryParams.${d}.active`,
|
|
228
|
+
render: ({ field: o }) => /* @__PURE__ */ e.jsx(
|
|
229
|
+
"input",
|
|
230
|
+
{
|
|
231
|
+
type: "checkbox",
|
|
232
|
+
id: `queryParams.${d}.active`,
|
|
233
|
+
checked: o.value,
|
|
234
|
+
onChange: o.onChange
|
|
235
|
+
}
|
|
236
|
+
)
|
|
237
|
+
}
|
|
238
|
+
),
|
|
239
|
+
/* @__PURE__ */ e.jsx(
|
|
240
|
+
P,
|
|
241
|
+
{
|
|
242
|
+
control: s,
|
|
243
|
+
render: ({ field: o }) => /* @__PURE__ */ e.jsx(f, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
|
|
244
|
+
"label",
|
|
245
|
+
{
|
|
246
|
+
className: "flex items-center",
|
|
247
|
+
htmlFor: `queryParams.${d}.active`,
|
|
248
|
+
title: l[d] ? "Required field" : void 0,
|
|
249
|
+
children: [
|
|
250
|
+
o.value,
|
|
251
|
+
l[d] && /* @__PURE__ */ e.jsx("sup", { className: "text-destructive", children: "*" })
|
|
252
|
+
]
|
|
253
|
+
}
|
|
254
|
+
) }),
|
|
255
|
+
name: `queryParams.${d}.name`
|
|
256
|
+
}
|
|
257
|
+
),
|
|
258
|
+
/* @__PURE__ */ e.jsx(
|
|
259
|
+
P,
|
|
260
|
+
{
|
|
261
|
+
control: s,
|
|
262
|
+
render: ({ field: o }) => /* @__PURE__ */ e.jsx(f, { ...o, placeholder: "Value", className: "peer" }),
|
|
263
|
+
name: `queryParams.${d}.value`
|
|
264
|
+
}
|
|
265
|
+
),
|
|
266
|
+
/* @__PURE__ */ e.jsx(
|
|
267
|
+
P,
|
|
268
|
+
{
|
|
269
|
+
control: s,
|
|
270
|
+
render: ({ field: o }) => /* @__PURE__ */ e.jsx(
|
|
271
|
+
"button",
|
|
272
|
+
{
|
|
273
|
+
type: "button",
|
|
274
|
+
className: c(
|
|
275
|
+
"hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible",
|
|
276
|
+
o.value.length === 0 && "opacity-0 pointer-events-none"
|
|
277
|
+
),
|
|
278
|
+
onClick: () => o.onChange(""),
|
|
279
|
+
children: /* @__PURE__ */ e.jsx(J, { size: 16 })
|
|
280
|
+
}
|
|
281
|
+
),
|
|
282
|
+
name: `queryParams.${d}.value`
|
|
283
|
+
}
|
|
284
|
+
),
|
|
285
|
+
/* @__PURE__ */ e.jsx("div", { className: "-mx-2 col-span-full border-b border-border" })
|
|
286
|
+
]
|
|
287
|
+
},
|
|
288
|
+
n.id
|
|
289
|
+
));
|
|
290
|
+
}, T = "__none", Se = xe(
|
|
291
|
+
/* GraphQL */
|
|
292
|
+
`
|
|
293
|
+
query getServerQuery($input: JSON!, $type: SchemaType!) {
|
|
294
|
+
schema(input: $input, type: $type) {
|
|
295
|
+
url
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
`
|
|
299
|
+
);
|
|
300
|
+
function qe(s) {
|
|
301
|
+
var r;
|
|
302
|
+
return (r = Object.entries({
|
|
303
|
+
"application/json": "json",
|
|
304
|
+
"text/json": "json",
|
|
305
|
+
"text/html": "html",
|
|
306
|
+
"text/css": "css",
|
|
307
|
+
"text/javascript": "javascript",
|
|
308
|
+
"application/xml": "xml",
|
|
309
|
+
"application/xhtml+xml": "xhtml",
|
|
310
|
+
"text/plain": "plain"
|
|
311
|
+
}).find(
|
|
312
|
+
([l]) => s.includes(l)
|
|
313
|
+
)) == null ? void 0 : r[0][1];
|
|
314
|
+
}
|
|
315
|
+
const Re = {
|
|
316
|
+
200: "OK",
|
|
317
|
+
201: "Created",
|
|
318
|
+
202: "Accepted",
|
|
319
|
+
204: "No Content",
|
|
320
|
+
400: "Bad Request",
|
|
321
|
+
401: "Unauthorized",
|
|
322
|
+
403: "Forbidden",
|
|
323
|
+
404: "Not Found",
|
|
324
|
+
405: "Method Not Allowed",
|
|
325
|
+
500: "Internal Server Error"
|
|
326
|
+
}, Be = ({
|
|
327
|
+
url: s,
|
|
328
|
+
method: a,
|
|
329
|
+
headers: r = [{ name: "", value: "" }],
|
|
330
|
+
queryParams: l = [],
|
|
331
|
+
pathParams: n = [],
|
|
332
|
+
hasParams: d
|
|
333
|
+
}) => {
|
|
334
|
+
var E, k, O;
|
|
335
|
+
const o = he(), [j] = le({ query: Se, variables: o }), { register: h, control: m, handleSubmit: x, watch: g, ...F } = Y({
|
|
336
|
+
defaultValues: {
|
|
337
|
+
body: "",
|
|
338
|
+
queryParams: l,
|
|
339
|
+
headers: r,
|
|
340
|
+
pathParams: n,
|
|
341
|
+
identity: T
|
|
342
|
+
}
|
|
343
|
+
}), b = g(), S = de(), i = Z({
|
|
344
|
+
mutationFn: async (t) => {
|
|
345
|
+
var H, I, U;
|
|
346
|
+
const v = Ne(((H = j.data) == null ? void 0 : H.schema.url) ?? "", s, t), R = performance.now(), N = new Request(v, {
|
|
347
|
+
method: a.toUpperCase(),
|
|
348
|
+
headers: Object.fromEntries(
|
|
349
|
+
t.headers.filter((p) => p.name).map((p) => [p.name, p.value])
|
|
350
|
+
)
|
|
351
|
+
});
|
|
352
|
+
t.identity !== T && ((U = (I = S.data) == null ? void 0 : I.find((p) => p.id === t.identity)) == null || U.authorizeRequest(N));
|
|
353
|
+
const y = await fetch(N), _ = await y.text();
|
|
354
|
+
return {
|
|
355
|
+
status: y.status,
|
|
356
|
+
headers: y.headers,
|
|
357
|
+
size: _.length,
|
|
358
|
+
body: _,
|
|
359
|
+
time: performance.now() - R
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
}), K = s.split("/").map((t, v, R) => {
|
|
363
|
+
var N;
|
|
364
|
+
return /* @__PURE__ */ e.jsxs($, { children: [
|
|
365
|
+
t.startsWith("{") && t.endsWith("}") ? /* @__PURE__ */ e.jsx(
|
|
366
|
+
ue,
|
|
367
|
+
{
|
|
368
|
+
name: t,
|
|
369
|
+
backgroundOpacity: "0",
|
|
370
|
+
slug: t.slice(1, -1),
|
|
371
|
+
children: (N = b.pathParams.find((y) => y.name === t.slice(1, -1))) == null ? void 0 : N.value
|
|
372
|
+
}
|
|
373
|
+
) : t,
|
|
374
|
+
v < R.length - 1 && "/",
|
|
375
|
+
/* @__PURE__ */ e.jsx("wbr", {})
|
|
376
|
+
] }, t);
|
|
377
|
+
}), G = qe(
|
|
378
|
+
((E = i.data) == null ? void 0 : E.headers.get("Content-Type")) ?? ""
|
|
379
|
+
), q = Array.from(((k = i.data) == null ? void 0 : k.headers.entries()) ?? []), z = b.queryParams.filter((t) => t.active).map((t) => /* @__PURE__ */ e.jsxs($, { children: [
|
|
380
|
+
t.name,
|
|
381
|
+
"=",
|
|
382
|
+
t.value,
|
|
383
|
+
/* @__PURE__ */ e.jsx("wbr", {})
|
|
384
|
+
] }, t.name));
|
|
385
|
+
return /* @__PURE__ */ e.jsx(ee, { register: h, control: m, handleSubmit: x, watch: g, ...F, children: /* @__PURE__ */ e.jsx("form", { onSubmit: x((t) => i.mutateAsync(t)), children: /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-2 text-sm h-full", children: [
|
|
386
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-4 p-8 bg-muted/50 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto", children: [
|
|
387
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-stretch", children: [
|
|
388
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-1 items-center w-full border rounded-md border-border", children: [
|
|
389
|
+
/* @__PURE__ */ e.jsx("div", { className: "border-r border-border p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono", children: a.toUpperCase() }),
|
|
390
|
+
/* @__PURE__ */ e.jsxs("div", { className: "p-2 font-mono text-xs", children: [
|
|
391
|
+
K,
|
|
392
|
+
z.length > 0 ? "?" : "",
|
|
393
|
+
z
|
|
394
|
+
] })
|
|
395
|
+
] }),
|
|
396
|
+
/* @__PURE__ */ e.jsx(L, { type: "submit", className: "h-auto flex gap-1", children: "Send" })
|
|
397
|
+
] }),
|
|
398
|
+
/* @__PURE__ */ e.jsxs(Q, { defaultValue: d ? "parameters" : "headers", children: [
|
|
399
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex justify-between", children: [
|
|
400
|
+
/* @__PURE__ */ e.jsxs(W, { children: [
|
|
401
|
+
d && /* @__PURE__ */ e.jsx(C, { value: "parameters", children: "Parameters" }),
|
|
402
|
+
/* @__PURE__ */ e.jsxs(C, { value: "headers", children: [
|
|
403
|
+
"Headers",
|
|
404
|
+
" ",
|
|
405
|
+
b.headers.length > 0 && `(${b.headers.length})`
|
|
406
|
+
] }),
|
|
407
|
+
/* @__PURE__ */ e.jsx(
|
|
408
|
+
C,
|
|
409
|
+
{
|
|
410
|
+
value: "body",
|
|
411
|
+
disabled: ["POST", "PUT", "PATCH", "DELETE"].includes(
|
|
412
|
+
a.toUpperCase()
|
|
413
|
+
),
|
|
414
|
+
children: "Body"
|
|
415
|
+
}
|
|
416
|
+
)
|
|
417
|
+
] }),
|
|
418
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center", children: [
|
|
419
|
+
"Auth:",
|
|
420
|
+
/* @__PURE__ */ e.jsxs(
|
|
421
|
+
se,
|
|
422
|
+
{
|
|
423
|
+
onValueChange: (t) => F.setValue("identity", t),
|
|
424
|
+
defaultValue: b.identity,
|
|
425
|
+
children: [
|
|
426
|
+
/* @__PURE__ */ e.jsx(ae, { className: "w-[180px] flex", children: S.isPending ? /* @__PURE__ */ e.jsx(M, {}) : /* @__PURE__ */ e.jsx(re, {}) }),
|
|
427
|
+
/* @__PURE__ */ e.jsxs(te, { align: "center", children: [
|
|
428
|
+
/* @__PURE__ */ e.jsx(D, { value: T, children: "None" }),
|
|
429
|
+
(O = S.data) == null ? void 0 : O.map((t) => /* @__PURE__ */ e.jsx(D, { value: t.id, children: t.label }, t.id))
|
|
430
|
+
] })
|
|
431
|
+
]
|
|
432
|
+
}
|
|
433
|
+
)
|
|
434
|
+
] })
|
|
435
|
+
] }),
|
|
436
|
+
/* @__PURE__ */ e.jsx(w, { value: "headers", children: /* @__PURE__ */ e.jsx(Ce, { control: m, register: h }) }),
|
|
437
|
+
/* @__PURE__ */ e.jsx(w, { value: "parameters", children: /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-[min-content_1fr_1fr_auto]", children: [
|
|
438
|
+
n.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "font-semibold my-3 col-span-3", children: "Path Parameters" }),
|
|
439
|
+
/* @__PURE__ */ e.jsx(Pe, { control: m, register: h }),
|
|
440
|
+
l.length > 0 && /* @__PURE__ */ e.jsx("span", { className: "font-semibold my-3 col-span-3", children: "Query Parameters" }),
|
|
441
|
+
/* @__PURE__ */ e.jsx(Te, { control: m })
|
|
442
|
+
] }) }),
|
|
443
|
+
/* @__PURE__ */ e.jsx(w, { value: "body", children: /* @__PURE__ */ e.jsx(
|
|
444
|
+
"textarea",
|
|
445
|
+
{
|
|
446
|
+
...h("body"),
|
|
447
|
+
className: "border border-border w-full rounded p-2 bg-muted h-40"
|
|
448
|
+
}
|
|
449
|
+
) })
|
|
450
|
+
] })
|
|
451
|
+
] }),
|
|
452
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex flex-col gap-4 p-8 bg-muted/70", children: i.error ? /* @__PURE__ */ e.jsx("div", { children: i.error.message }) : i.data ? /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
453
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex gap-2", children: /* @__PURE__ */ e.jsxs("div", { className: "flex text-xs gap-6", children: [
|
|
454
|
+
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
455
|
+
"Status: ",
|
|
456
|
+
i.data.status,
|
|
457
|
+
" ",
|
|
458
|
+
Re[i.data.status] ?? ""
|
|
459
|
+
] }),
|
|
460
|
+
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
461
|
+
"Time: ",
|
|
462
|
+
i.data.time.toFixed(0),
|
|
463
|
+
"ms"
|
|
464
|
+
] }),
|
|
465
|
+
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
466
|
+
"Size: ",
|
|
467
|
+
i.data.size,
|
|
468
|
+
" B"
|
|
469
|
+
] })
|
|
470
|
+
] }) }),
|
|
471
|
+
/* @__PURE__ */ e.jsxs(Q, { defaultValue: "response", children: [
|
|
472
|
+
/* @__PURE__ */ e.jsxs(W, { children: [
|
|
473
|
+
/* @__PURE__ */ e.jsx(C, { value: "response", children: "Response" }),
|
|
474
|
+
/* @__PURE__ */ e.jsx(C, { value: "headers", children: q.length ? `Headers (${q.length})` : "No headers" })
|
|
475
|
+
] }),
|
|
476
|
+
/* @__PURE__ */ e.jsx(w, { value: "response", children: /* @__PURE__ */ e.jsx(V, { className: "shadow-none p-4", children: /* @__PURE__ */ e.jsx(
|
|
477
|
+
ie,
|
|
478
|
+
{
|
|
479
|
+
language: G ?? "json",
|
|
480
|
+
noBackground: !0,
|
|
481
|
+
className: "overflow-x-auto ",
|
|
482
|
+
code: i.data.body ?? JSON.stringify("")
|
|
483
|
+
}
|
|
484
|
+
) }) }),
|
|
485
|
+
/* @__PURE__ */ e.jsx(w, { value: "headers", children: /* @__PURE__ */ e.jsxs(V, { className: "grid grid-cols-2 w-full gap-2.5 font-mono text-xs shadow-none p-4", children: [
|
|
486
|
+
/* @__PURE__ */ e.jsx("div", { className: "font-semibold", children: "Key" }),
|
|
487
|
+
/* @__PURE__ */ e.jsx("div", { className: "font-semibold", children: "Value" }),
|
|
488
|
+
q.map(([t, v]) => /* @__PURE__ */ e.jsxs($, { children: [
|
|
489
|
+
/* @__PURE__ */ e.jsx("div", { children: t }),
|
|
490
|
+
/* @__PURE__ */ e.jsx("div", { children: v })
|
|
491
|
+
] }, t))
|
|
492
|
+
] }) })
|
|
493
|
+
] })
|
|
494
|
+
] }) : /* @__PURE__ */ e.jsx("div", { className: "grid place-items-center h-full", children: /* @__PURE__ */ e.jsx("span", { className: "text-[16px] font-semibold text-muted-foreground", children: i.isPending ? /* @__PURE__ */ e.jsx(M, {}) : "Send a request first to see the response here" }) }) })
|
|
495
|
+
] }) }) });
|
|
496
|
+
};
|
|
497
|
+
export {
|
|
498
|
+
T as NO_IDENTITY,
|
|
499
|
+
Be as Playground,
|
|
500
|
+
Be as default
|
|
501
|
+
};
|
|
502
|
+
//# sourceMappingURL=Playground-Czy7ha9z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Playground-Czy7ha9z.js","sources":["../src/lib/ui/Card.tsx","../src/lib/plugins/openapi/playground/createUrl.ts","../src/lib/util/createVariantComponent.tsx","../src/lib/plugins/openapi/playground/InlineInput.tsx","../src/lib/plugins/openapi/playground/Headers.tsx","../src/lib/plugins/openapi/playground/PathParams.tsx","../src/lib/plugins/openapi/playground/QueryParams.tsx","../src/lib/plugins/openapi/playground/Playground.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border border-border bg-card text-card-foreground shadow\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","import type { PlaygroundForm } from \"./Playground.js\";\n\nexport const createUrl = (host: string, path: string, data: PlaygroundForm) => {\n const url = new URL(\n host +\n path\n .split(\"/\")\n .map((v) =>\n v.startsWith(\"{\") && v.endsWith(\"}\")\n ? data.pathParams.find((part) => part.name === v.slice(1, -1))\n ?.value ?? v\n : v,\n )\n .join(\"/\"),\n );\n\n data.queryParams.forEach((param) => {\n url.searchParams.set(param.name, param.value);\n });\n\n return url;\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport type { ClassValue } from \"clsx\";\nimport * as React from \"react\";\nimport type { JSX } from \"react/jsx-runtime\";\nimport { cn } from \"./cn.js\";\n\nconst createVariantComponent = <\n E extends keyof React.ReactHTML,\n C extends ReturnType<typeof cva>,\n>(\n tag: E,\n cvx: ClassValue | C,\n // variantProps: Array<keyof VariantProps<C>> = [],\n) => {\n const MyVariant = React.forwardRef<\n HTMLElement,\n JSX.IntrinsicElements[E] & { className?: ClassValue; asChild?: boolean }\n >(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : tag;\n\n return React.createElement(Comp, {\n ...props,\n ref,\n className:\n typeof cvx === \"function\" ? cvx({ className }) : cn(cvx, className),\n });\n });\n\n MyVariant.displayName = `VariantComponent(${tag})`;\n\n return MyVariant;\n};\n\nexport default createVariantComponent;\n","import createVariantComponent from \"../../../util/createVariantComponent.js\";\n\nexport const InlineInput = createVariantComponent(\n \"input\",\n \"px-2 bg-transparent h-6 font-mono text-xs m-2\",\n);\n","import { TriangleAlertIcon, XIcon } from \"lucide-react\";\nimport {\n Control,\n useFieldArray,\n UseFormRegister,\n useWatch,\n} from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport { NO_IDENTITY, type PlaygroundForm } from \"./Playground.js\";\n\nexport const Headers = ({\n control,\n register,\n}: {\n register: UseFormRegister<PlaygroundForm>;\n control: Control<PlaygroundForm>;\n}) => {\n const { fields, append, remove } = useFieldArray<PlaygroundForm>({\n control,\n name: \"headers\",\n });\n const selectedIdentity = useWatch({ name: \"identity\", control });\n const liveHeaders = useWatch({ name: \"headers\", control });\n\n const disableAuth = selectedIdentity !== NO_IDENTITY;\n\n return (\n <div className=\"grid grid-cols-[1fr_1fr_auto]\">\n {fields.map((header, i) => {\n const isDisabledByAuth =\n disableAuth && liveHeaders.at(i)?.name === \"Authorization\";\n\n return (\n <div\n key={header.id}\n className={cn(\n \"grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group\",\n isDisabledByAuth && \"line-through\",\n )}\n title={\n isDisabledByAuth\n ? \"This header is disabled because authentication was selected\"\n : undefined\n }\n >\n <div className=\"flex gap-2 items-center\">\n <InlineInput\n {...register(`headers.${i}.name`)}\n placeholder=\"Name\"\n className=\"peer\"\n autoComplete=\"off\"\n />\n {isDisabledByAuth && (\n <TriangleAlertIcon size={16} className=\"text-amber-500\" />\n )}\n </div>\n <InlineInput\n placeholder={\"Value\"}\n className=\"peer\"\n {...register(`headers.${i}.value`)}\n autoComplete=\"off\"\n />\n <button\n className=\"hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible\"\n onClick={() => {\n remove(i);\n }}\n type=\"button\"\n >\n <XIcon size={16} />\n </button>\n <div className=\"col-span-full border-b border-border\"></div>\n </div>\n );\n })}\n <Button\n className=\"col-span-full mt-4\"\n onClick={() => append({ name: \"\", value: \"\" })}\n type=\"button\"\n >\n Add header\n </Button>\n </div>\n );\n};\n","import { forwardRef, InputHTMLAttributes } from \"react\";\nimport { Control, useFieldArray, UseFormRegister } from \"react-hook-form\";\nimport { cn } from \"../../../util/cn.js\";\nimport { DATA_ATTR, usePastellizedColor } from \"../ColorizedParam.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport type { PlaygroundForm } from \"./Playground.js\";\n\ntype ParameterValueProps = {\n part: string;\n} & InputHTMLAttributes<HTMLInputElement>;\n\nconst ParameterValue = forwardRef<HTMLInputElement, ParameterValueProps>(\n function ParameterValue({ part, className, ...props }, ref) {\n const color = usePastellizedColor(part);\n return (\n <InlineInput\n {...props}\n ref={ref}\n className={cn(className, \"opacity-80 data-[active=true]:opacity-100\")}\n style={{\n // color: `hsl(${color})`,\n outlineColor: `hsl(${color})`,\n }}\n />\n );\n },\n);\n\nexport const PathParams = ({\n control,\n register,\n}: {\n register: UseFormRegister<PlaygroundForm>;\n control: Control<PlaygroundForm>;\n}) => {\n const { fields } = useFieldArray<PlaygroundForm>({\n control,\n name: \"pathParams\",\n });\n\n return fields.map((part, i) => (\n <div\n key={part.id}\n className=\"grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group\"\n >\n <InlineInput\n {...register(`pathParams.${i}.name`)}\n disabled\n placeholder=\"Name\"\n className=\"peer\"\n />\n <ParameterValue\n {...register(`pathParams.${i}.value`)}\n part={part.name}\n {...{ [DATA_ATTR]: part.name }}\n placeholder=\"Value\"\n className=\"peer\"\n />\n\n <div className=\"col-span-full border-b border-border\"></div>\n </div>\n ));\n};\n","import { XIcon } from \"lucide-react\";\nimport {\n Control,\n Controller,\n useFieldArray,\n useFormContext,\n} from \"react-hook-form\";\nimport { cn } from \"../../../util/cn.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport type { PlaygroundForm } from \"./Playground.js\";\n\nexport const QueryParams = ({\n control,\n}: {\n control: Control<PlaygroundForm>;\n}) => {\n const { fields } = useFieldArray<PlaygroundForm>({\n control,\n name: \"queryParams\",\n });\n const form = useFormContext<PlaygroundForm>();\n\n const requiredFields = form\n .getValues(`queryParams`)\n .map((param) => param.isRequired);\n\n return fields.map((field, i) => (\n <div\n key={field.id}\n className=\"px-2 grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-accent rounded overflow-hidden group\"\n >\n <Controller\n control={control}\n name={`queryParams.${i}.active`}\n render={({ field }) => (\n <input\n type=\"checkbox\"\n id={`queryParams.${i}.active`}\n checked={field.value}\n onChange={field.onChange}\n />\n )}\n />\n\n <Controller\n control={control}\n render={({ field }) => {\n return (\n <InlineInput asChild>\n <label\n className=\"flex items-center\"\n htmlFor={`queryParams.${i}.active`}\n title={requiredFields[i] ? \"Required field\" : undefined}\n >\n {field.value}\n {requiredFields[i] && <sup className=\"text-destructive\">*</sup>}\n </label>\n </InlineInput>\n );\n }}\n name={`queryParams.${i}.name`}\n />\n <Controller\n control={control}\n render={({ field }) => {\n return (\n <InlineInput {...field} placeholder=\"Value\" className=\"peer\" />\n );\n }}\n name={`queryParams.${i}.value`}\n />\n <Controller\n control={control}\n render={({ field }) => {\n return (\n <button\n type=\"button\"\n className={cn(\n \"hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible\",\n field.value.length === 0 && \"opacity-0 pointer-events-none\",\n )}\n onClick={() => field.onChange(\"\")}\n >\n <XIcon size={16} />\n </button>\n );\n }}\n name={`queryParams.${i}.value`}\n />\n\n <div className=\"-mx-2 col-span-full border-b border-border\"></div>\n </div>\n ));\n};\n","import { useMutation } from \"@tanstack/react-query\";\nimport { Fragment } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useQuery } from \"urql\";\nimport { useApiIdentities } from \"../../../components/context/DevPortalProvider.js\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../../components/Select.js\";\nimport { Spinner } from \"../../../components/Spinner.js\";\nimport { SyntaxHighlight } from \"../../../components/SyntaxHighlight.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/Tabs.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport { useOasConfig } from \"../context.js\";\nimport { graphql } from \"../graphql/index.js\";\nimport { createUrl } from \"./createUrl.js\";\nimport { Headers } from \"./Headers.js\";\nimport { PathParams } from \"./PathParams.js\";\nimport { QueryParams } from \"./QueryParams.js\";\n\nexport const NO_IDENTITY = \"__none\";\n\nconst GetServerQuery = graphql(/* GraphQL */ `\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n }\n }\n`);\n\nfunction mimeTypeToLanguage(mimeType: string) {\n const mimeTypeMapping = {\n \"application/json\": \"json\",\n \"text/json\": \"json\",\n \"text/html\": \"html\",\n \"text/css\": \"css\",\n \"text/javascript\": \"javascript\",\n \"application/xml\": \"xml\",\n \"application/xhtml+xml\": \"xhtml\",\n \"text/plain\": \"plain\",\n } as const;\n\n return Object.entries(mimeTypeMapping).find(([mime]) =>\n mimeType.includes(mime),\n )?.[0][1];\n}\n\nconst statusCodeMap: Record<number, string> = {\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 204: \"No Content\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\",\n};\n\nexport type Header = {\n name: string;\n value: string;\n};\nexport type QueryParam = {\n name: string;\n value: string;\n active: boolean;\n isRequired: boolean;\n};\nexport type PathParam = {\n name: string;\n value: string;\n};\n\nexport type PlaygroundForm = {\n body: string;\n queryParams: QueryParam[];\n pathParams: PathParam[];\n headers: Header[];\n identity?: string;\n};\n\nexport type PlaygroundContentProps = {\n url: string;\n method: string;\n headers?: Header[];\n queryParams?: QueryParam[];\n pathParams?: PathParam[];\n hasParams: boolean;\n};\n\nexport const Playground = ({\n url,\n method,\n headers = [{ name: \"\", value: \"\" }],\n queryParams = [],\n pathParams = [],\n hasParams,\n}: PlaygroundContentProps) => {\n const variables = useOasConfig();\n const [server] = useQuery({ query: GetServerQuery, variables });\n\n const { register, control, handleSubmit, watch, ...form } =\n useForm<PlaygroundForm>({\n defaultValues: {\n body: \"\",\n queryParams,\n headers,\n pathParams,\n identity: NO_IDENTITY,\n },\n });\n const formState = watch();\n const identities = useApiIdentities();\n\n const queryMutation = useMutation({\n mutationFn: async (data: PlaygroundForm) => {\n const requestUrl = createUrl(server.data?.schema.url ?? \"\", url, data);\n const start = performance.now();\n\n const request = new Request(requestUrl, {\n method: method.toUpperCase(),\n headers: Object.fromEntries(\n data.headers\n .filter((h) => h.name)\n .map((header) => [header.name, header.value]),\n ),\n });\n\n if (data.identity !== NO_IDENTITY) {\n identities.data\n ?.find((i) => i.id === data.identity)\n ?.authorizeRequest(request);\n }\n const response = await fetch(request);\n\n const body = await response.text();\n\n return {\n status: response.status,\n headers: response.headers,\n size: body.length,\n body,\n time: performance.now() - start,\n };\n },\n });\n\n const path = url.split(\"/\").map((part, i, arr) => (\n <Fragment key={part}>\n {part.startsWith(\"{\") && part.endsWith(\"}\") ? (\n <ColorizedParam\n name={part}\n backgroundOpacity=\"0\"\n slug={part.slice(1, -1)}\n >\n {\n formState.pathParams.find((p) => p.name === part.slice(1, -1))\n ?.value\n }\n </ColorizedParam>\n ) : (\n part\n )}\n {i < arr.length - 1 && \"/\"}\n <wbr />\n </Fragment>\n ));\n\n const lang = mimeTypeToLanguage(\n queryMutation.data?.headers.get(\"Content-Type\") ?? \"\",\n );\n\n const headerEntries = Array.from(queryMutation.data?.headers.entries() ?? []);\n\n const urlQueryParams = formState.queryParams\n .filter((p) => p.active)\n .map((p) => (\n <Fragment key={p.name}>\n {p.name}={p.value}\n <wbr />\n </Fragment>\n ));\n return (\n <FormProvider {...{ register, control, handleSubmit, watch, ...form }}>\n <form onSubmit={handleSubmit((data) => queryMutation.mutateAsync(data))}>\n <div className=\"grid grid-cols-2 text-sm h-full\">\n <div className=\"flex flex-col gap-4 p-8 bg-muted/50 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto\">\n <div className=\"flex gap-2 items-stretch\">\n <div className=\"flex flex-1 items-center w-full border rounded-md border-border\">\n <div className=\"border-r border-border p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono\">\n {method.toUpperCase()}\n </div>\n <div className=\"p-2 font-mono text-xs\">\n {path}\n {urlQueryParams.length > 0 ? \"?\" : \"\"}\n {urlQueryParams}\n </div>\n </div>\n <Button type=\"submit\" className=\"h-auto flex gap-1\">\n Send\n </Button>\n </div>\n <Tabs defaultValue={hasParams ? \"parameters\" : \"headers\"}>\n <div className=\"flex justify-between\">\n <TabsList>\n {hasParams && (\n <TabsTrigger value=\"parameters\">Parameters</TabsTrigger>\n )}\n <TabsTrigger value=\"headers\">\n Headers{\" \"}\n {formState.headers.length > 0 &&\n `(${formState.headers.length})`}\n </TabsTrigger>\n <TabsTrigger\n value=\"body\"\n disabled={[\"POST\", \"PUT\", \"PATCH\", \"DELETE\"].includes(\n method.toUpperCase(),\n )}\n >\n Body\n </TabsTrigger>\n </TabsList>\n <div className=\"flex gap-2 items-center\">\n Auth:\n <Select\n onValueChange={(value) => form.setValue(\"identity\", value)}\n defaultValue={formState.identity}\n >\n <SelectTrigger className=\"w-[180px] flex\">\n {identities.isPending ? <Spinner /> : <SelectValue />}\n </SelectTrigger>\n <SelectContent align=\"center\">\n <SelectItem value={NO_IDENTITY}>None</SelectItem>\n {identities.data?.map((identity) => (\n <SelectItem key={identity.id} value={identity.id}>\n {identity.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n <TabsContent value=\"headers\">\n <Headers control={control} register={register} />\n </TabsContent>\n <TabsContent value=\"parameters\">\n <div className=\"grid grid-cols-[min-content_1fr_1fr_auto]\">\n {pathParams.length > 0 && (\n <div className=\"font-semibold my-3 col-span-3\">\n Path Parameters\n </div>\n )}\n <PathParams control={control} register={register} />\n {queryParams.length > 0 && (\n <span className=\"font-semibold my-3 col-span-3\">\n Query Parameters\n </span>\n )}\n <QueryParams control={control} />\n </div>\n </TabsContent>\n <TabsContent value=\"body\">\n <textarea\n {...register(\"body\")}\n className=\"border border-border w-full rounded p-2 bg-muted h-40\"\n />\n </TabsContent>\n </Tabs>\n </div>\n <div className=\"flex flex-col gap-4 p-8 bg-muted/70\">\n {queryMutation.error ? (\n <div>{queryMutation.error.message}</div>\n ) : queryMutation.data ? (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex gap-2\">\n <div className=\"flex text-xs gap-6\">\n <div>\n Status: {queryMutation.data.status}{\" \"}\n {statusCodeMap[queryMutation.data.status] ?? \"\"}\n </div>\n <div>Time: {queryMutation.data.time.toFixed(0)}ms</div>\n <div>Size: {queryMutation.data.size} B</div>\n </div>\n </div>\n {/*<UrlDisplay host={host} path={url} />*/}\n <Tabs defaultValue=\"response\">\n <TabsList>\n <TabsTrigger value=\"response\">Response</TabsTrigger>\n <TabsTrigger value=\"headers\">\n {headerEntries.length\n ? `Headers (${headerEntries.length})`\n : \"No headers\"}\n </TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"response\">\n <Card className=\"shadow-none p-4\">\n <SyntaxHighlight\n language={lang ?? \"json\"}\n noBackground\n className=\"overflow-x-auto \"\n code={queryMutation.data.body ?? JSON.stringify(\"\")}\n />\n </Card>\n </TabsContent>\n <TabsContent value=\"headers\">\n <Card className=\"grid grid-cols-2 w-full gap-2.5 font-mono text-xs shadow-none p-4\">\n <div className=\"font-semibold\">Key</div>\n <div className=\"font-semibold\">Value</div>\n {headerEntries.map(([key, value]) => (\n <Fragment key={key}>\n <div>{key}</div>\n <div>{value}</div>\n </Fragment>\n ))}\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n ) : (\n <div className=\"grid place-items-center h-full\">\n <span className=\"text-[16px] font-semibold text-muted-foreground\">\n {queryMutation.isPending ? (\n <Spinner />\n ) : (\n \"Send a request first to see the response here\"\n )}\n </span>\n </div>\n )}\n </div>\n </div>\n </form>\n </FormProvider>\n );\n};\n\nexport default Playground;\n"],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","createUrl","host","path","data","url","v","_a","part","param","createVariantComponent","tag","cvx","MyVariant","asChild","Comp","Slot","InlineInput","Headers","control","register","fields","append","remove","useFieldArray","selectedIdentity","useWatch","liveHeaders","disableAuth","NO_IDENTITY","jsxs","header","i","isDisabledByAuth","TriangleAlertIcon","XIcon","Button","ParameterValue","forwardRef","color","usePastellizedColor","PathParams","DATA_ATTR","QueryParams","requiredFields","useFormContext","field","Controller","GetServerQuery","graphql","mimeTypeToLanguage","mimeType","mime","statusCodeMap","Playground","method","headers","queryParams","pathParams","hasParams","variables","useOasConfig","server","useQuery","handleSubmit","watch","form","useForm","formState","identities","useApiIdentities","queryMutation","useMutation","requestUrl","start","request","h","_c","_b","response","body","arr","Fragment","ColorizedParam","p","lang","headerEntries","urlQueryParams","FormProvider","Tabs","TabsList","TabsTrigger","Select","value","SelectTrigger","Spinner","SelectValue","SelectContent","SelectItem","identity","TabsContent","SyntaxHighlight","key"],"mappings":";;;;;;;;;;;;;AAGA,MAAMA,IAAOC,EAAM,WAGjB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAK,cAAc;AAEnB,MAAMO,KAAaN,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDI,GAAW,cAAc;AAEzB,MAAMC,KAAYP,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,6CAA6CJ,CAAS;AAAA,IACnE,GAAGC;AAAA,EAAA;AACN,CACD;AACDK,GAAU,cAAc;AAExB,MAAMC,KAAkBR,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,GAAgB,cAAc;AAE9B,MAAMC,KAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,4BACzB,OAAI,EAAA,KAAAA,GAAU,WAAWE,EAAG,YAAYJ,CAAS,GAAI,GAAGC,EAAO,CAAA,CACjE;AACDO,GAAY,cAAc;AAE1B,MAAMC,KAAaV,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,GAAW,cAAc;ACtElB,MAAMC,KAAY,CAACC,GAAcC,GAAcC,MAAyB;AAC7E,QAAMC,IAAM,IAAI;AAAA,IACdH,IACEC,EACG,MAAM,GAAG,EACT;AAAA,MAAI,CAACG,MACJ;;AAAA,eAAAA,EAAE,WAAW,GAAG,KAAKA,EAAE,SAAS,GAAG,MAC/BC,IAAAH,EAAK,WAAW,KAAK,CAACI,MAASA,EAAK,SAASF,EAAE,MAAM,GAAG,EAAE,CAAC,MAA3D,gBAAAC,EACI,UAASD,IACbA;AAAA;AAAA,IAAA,EAEL,KAAK,GAAG;AAAA,EAAA;AAGV,SAAAF,EAAA,YAAY,QAAQ,CAACK,MAAU;AAClC,IAAAJ,EAAI,aAAa,IAAII,EAAM,MAAMA,EAAM,KAAK;AAAA,EAAA,CAC7C,GAEMJ;AACT,GCdMK,KAAyB,CAI7BC,GACAC,MAEG;AACG,QAAAC,IAAYvB,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,SAAAuB,GAAS,GAAGtB,EAAM,GAAGC,MAAQ;AACrC,UAAAsB,IAAOD,IAAUE,KAAOL;AAEvB,WAAArB,EAAM,cAAcyB,GAAM;AAAA,MAC/B,GAAGvB;AAAA,MACH,KAAAC;AAAA,MACA,WACmDE,EAAGiB,GAAKrB,CAAS;AAAA,IAAA,CACrE;AAAA,EAAA,CACF;AAES,SAAAsB,EAAA,cAAc,oBAAoBF,CAAG,KAExCE;AACT,GC9BaI,IAAcP;AAAA,EACzB;AAAA,EACA;AACF,GCOaQ,KAAU,CAAC;AAAA,EACtB,SAAAC;AAAA,EACA,UAAAC;AACF,MAGM;AACJ,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,EAAA,IAAWC,EAA8B;AAAA,IAC/D,SAAAL;AAAA,IACA,MAAM;AAAA,EAAA,CACP,GACKM,IAAmBC,EAAS,EAAE,MAAM,YAAY,SAAAP,GAAS,GACzDQ,IAAcD,EAAS,EAAE,MAAM,WAAW,SAAAP,GAAS,GAEnDS,IAAcH,MAAqBI;AAGvC,SAAAC,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,iCACZ,UAAA;AAAA,IAAOT,EAAA,IAAI,CAACU,GAAQC,MAAM;;AACzB,YAAMC,IACJL,OAAerB,IAAAoB,EAAY,GAAGK,CAAC,MAAhB,gBAAAzB,EAAmB,UAAS;AAG3C,aAAAuB,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAWnC;AAAA,YACT;AAAA,YACAsC,KAAoB;AAAA,UACtB;AAAA,UACA,OACEA,IACI,gEACA;AAAA,UAGN,UAAA;AAAA,YAACH,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,cAAApC,gBAAAA,EAAA;AAAA,gBAACuB;AAAA,gBAAA;AAAA,kBACE,GAAGG,EAAS,WAAWY,CAAC,OAAO;AAAA,kBAChC,aAAY;AAAA,kBACZ,WAAU;AAAA,kBACV,cAAa;AAAA,gBAAA;AAAA,cACf;AAAA,cACCC,KACEvC,gBAAAA,EAAA,IAAAwC,IAAA,EAAkB,MAAM,IAAI,WAAU,kBAAiB;AAAA,YAAA,GAE5D;AAAA,YACAxC,gBAAAA,EAAA;AAAA,cAACuB;AAAA,cAAA;AAAA,gBACC,aAAa;AAAA,gBACb,WAAU;AAAA,gBACT,GAAGG,EAAS,WAAWY,CAAC,QAAQ;AAAA,gBACjC,cAAa;AAAA,cAAA;AAAA,YACf;AAAA,YACAtC,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,kBAAA6B,EAAOS,CAAC;AAAA,gBACV;AAAA,gBACA,MAAK;AAAA,gBAEL,UAAAtC,gBAAAA,EAAAA,IAACyC,GAAM,EAAA,MAAM,GAAI,CAAA;AAAA,cAAA;AAAA,YACnB;AAAA,YACAzC,gBAAAA,EAAAA,IAAC,OAAI,EAAA,WAAU,uCAAuC,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QArCjDqC,EAAO;AAAA,MAAA;AAAA,IAsCd,CAEH;AAAA,IACDrC,gBAAAA,EAAA;AAAA,MAAC0C;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,MAAMd,EAAO,EAAE,MAAM,IAAI,OAAO,IAAI;AAAA,QAC7C,MAAK;AAAA,QACN,UAAA;AAAA,MAAA;AAAA,IAED;AAAA,EACF,EAAA,CAAA;AAEJ,GC3EMe,KAAiBC;AAAA,EACrB,SAAwB,EAAE,MAAA9B,GAAM,WAAAjB,GAAW,GAAGC,KAASC,GAAK;AACpD,UAAA8C,IAAQC,GAAoBhC,CAAI;AAEpC,WAAAd,gBAAAA,EAAA;AAAA,MAACuB;AAAA,MAAA;AAAA,QACE,GAAGzB;AAAA,QACJ,KAAAC;AAAA,QACA,WAAWE,EAAGJ,GAAW,2CAA2C;AAAA,QACpE,OAAO;AAAA;AAAA,UAEL,cAAc,OAAOgD,CAAK;AAAA,QAC5B;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF,GAEaE,KAAa,CAAC;AAAA,EACzB,SAAAtB;AAAA,EACA,UAAAC;AACF,MAGM;AACE,QAAA,EAAE,QAAAC,EAAO,IAAIG,EAA8B;AAAA,IAC/C,SAAAL;AAAA,IACA,MAAM;AAAA,EAAA,CACP;AAED,SAAOE,EAAO,IAAI,CAACb,GAAMwB,MACvBF,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAU;AAAA,MAEV,UAAA;AAAA,QAAApC,gBAAAA,EAAA;AAAA,UAACuB;AAAA,UAAA;AAAA,YACE,GAAGG,EAAS,cAAcY,CAAC,OAAO;AAAA,YACnC,UAAQ;AAAA,YACR,aAAY;AAAA,YACZ,WAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QACAtC,gBAAAA,EAAA;AAAA,UAAC2C;AAAA,UAAA;AAAA,YACE,GAAGjB,EAAS,cAAcY,CAAC,QAAQ;AAAA,YACpC,MAAMxB,EAAK;AAAA,YACL,CAACkC,EAAS,GAAGlC,EAAK;AAAA,YACxB,aAAY;AAAA,YACZ,WAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QAEAd,gBAAAA,EAAAA,IAAC,OAAI,EAAA,WAAU,uCAAuC,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAjBjDc,EAAK;AAAA,EAAA,CAmBb;AACH,GCnDamC,KAAc,CAAC;AAAA,EAC1B,SAAAxB;AACF,MAEM;AACE,QAAA,EAAE,QAAAE,EAAO,IAAIG,EAA8B;AAAA,IAC/C,SAAAL;AAAA,IACA,MAAM;AAAA,EAAA,CACP,GAGKyB,IAFOC,IAGV,UAAU,aAAa,EACvB,IAAI,CAACpC,MAAUA,EAAM,UAAU;AAElC,SAAOY,EAAO,IAAI,CAACyB,GAAOd,MACxBF,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAU;AAAA,MAEV,UAAA;AAAA,QAAApC,gBAAAA,EAAA;AAAA,UAACqD;AAAA,UAAA;AAAA,YACC,SAAA5B;AAAA,YACA,MAAM,eAAea,CAAC;AAAA,YACtB,QAAQ,CAAC,EAAE,OAAAc,EACT,MAAApD,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,IAAI,eAAesC,CAAC;AAAA,gBACpB,SAASc,EAAM;AAAA,gBACf,UAAUA,EAAM;AAAA,cAAA;AAAA,YAClB;AAAA,UAAA;AAAA,QAEJ;AAAA,QAEApD,gBAAAA,EAAA;AAAA,UAACqD;AAAA,UAAA;AAAA,YACC,SAAA5B;AAAA,YACA,QAAQ,CAAC,EAAE,OAAA2B,QAEPpD,gBAAAA,EAAAA,IAACuB,GAAY,EAAA,SAAO,IAClB,UAAAa,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,eAAeE,CAAC;AAAA,gBACzB,OAAOY,EAAeZ,CAAC,IAAI,mBAAmB;AAAA,gBAE7C,UAAA;AAAA,kBAAAc,EAAM;AAAA,kBACNF,EAAeZ,CAAC,2BAAM,OAAI,EAAA,WAAU,oBAAmB,UAAC,KAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAE7D,EAAA,CAAA;AAAA,YAGJ,MAAM,eAAeA,CAAC;AAAA,UAAA;AAAA,QACxB;AAAA,QACAtC,gBAAAA,EAAA;AAAA,UAACqD;AAAA,UAAA;AAAA,YACC,SAAA5B;AAAA,YACA,QAAQ,CAAC,EAAE,OAAA2B,8BAEN7B,GAAa,EAAA,GAAG6B,GAAO,aAAY,SAAQ,WAAU,OAAO,CAAA;AAAA,YAGjE,MAAM,eAAed,CAAC;AAAA,UAAA;AAAA,QACxB;AAAA,QACAtC,gBAAAA,EAAA;AAAA,UAACqD;AAAA,UAAA;AAAA,YACC,SAAA5B;AAAA,YACA,QAAQ,CAAC,EAAE,OAAA2B,QAEPpD,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAWC;AAAA,kBACT;AAAA,kBACAmD,EAAM,MAAM,WAAW,KAAK;AAAA,gBAC9B;AAAA,gBACA,SAAS,MAAMA,EAAM,SAAS,EAAE;AAAA,gBAEhC,UAAApD,gBAAAA,EAAAA,IAACyC,GAAM,EAAA,MAAM,GAAI,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAIvB,MAAM,eAAeH,CAAC;AAAA,UAAA;AAAA,QACxB;AAAA,QAEAtC,gBAAAA,EAAAA,IAAC,OAAI,EAAA,WAAU,6CAA6C,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IA9DvDoD,EAAM;AAAA,EAAA,CAgEd;AACH,GCpEajB,IAAc,UAErBmB,KAAiBC;AAAA;AAAA,EAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAM5C;AAED,SAASC,GAAmBC,GAAkB;;AAYrC,UAAA5C,IAAA,OAAO,QAXU;AAAA,IACtB,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,cAAc;AAAA,EAAA,CAGqB,EAAE;AAAA,IAAK,CAAC,CAAC6C,CAAI,MAChDD,EAAS,SAASC,CAAI;AAAA,EAAA,MADjB,gBAAA7C,EAEH,GAAG;AACT;AAEA,MAAM8C,KAAwC;AAAA,EAC5C,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP,GAkCaC,KAAa,CAAC;AAAA,EACzB,KAAAjD;AAAA,EACA,QAAAkD;AAAA,EACA,SAAAC,IAAU,CAAC,EAAE,MAAM,IAAI,OAAO,IAAI;AAAA,EAClC,aAAAC,IAAc,CAAC;AAAA,EACf,YAAAC,IAAa,CAAC;AAAA,EACd,WAAAC;AACF,MAA8B;;AAC5B,QAAMC,IAAYC,MACZ,CAACC,CAAM,IAAIC,GAAS,EAAE,OAAOf,IAAgB,WAAAY,GAAW,GAExD,EAAE,UAAAxC,GAAU,SAAAD,GAAS,cAAA6C,GAAc,OAAAC,GAAO,GAAGC,MACjDC,EAAwB;AAAA,IACtB,eAAe;AAAA,MACb,MAAM;AAAA,MACN,aAAAV;AAAA,MACA,SAAAD;AAAA,MACA,YAAAE;AAAA,MACA,UAAU7B;AAAA,IACZ;AAAA,EAAA,CACD,GACGuC,IAAYH,KACZI,IAAaC,MAEbC,IAAgBC,EAAY;AAAA,IAChC,YAAY,OAAOpE,MAAyB;;AACpC,YAAAqE,IAAaxE,KAAUM,IAAAuD,EAAO,SAAP,gBAAAvD,EAAa,OAAO,QAAO,IAAIF,GAAKD,CAAI,GAC/DsE,IAAQ,YAAY,OAEpBC,IAAU,IAAI,QAAQF,GAAY;AAAA,QACtC,QAAQlB,EAAO,YAAY;AAAA,QAC3B,SAAS,OAAO;AAAA,UACdnD,EAAK,QACF,OAAO,CAACwE,MAAMA,EAAE,IAAI,EACpB,IAAI,CAAC7C,MAAW,CAACA,EAAO,MAAMA,EAAO,KAAK,CAAC;AAAA,QAChD;AAAA,MAAA,CACD;AAEG,MAAA3B,EAAK,aAAayB,OACTgD,KAAAC,IAAAT,EAAA,SAAA,gBAAAS,EACP,KAAK,CAAC9C,MAAMA,EAAE,OAAO5B,EAAK,cADnB,QAAAyE,EAEP,iBAAiBF;AAEjB,YAAAI,IAAW,MAAM,MAAMJ,CAAO,GAE9BK,IAAO,MAAMD,EAAS;AAErB,aAAA;AAAA,QACL,QAAQA,EAAS;AAAA,QACjB,SAASA,EAAS;AAAA,QAClB,MAAMC,EAAK;AAAA,QACX,MAAAA;AAAA,QACA,MAAM,YAAY,IAAA,IAAQN;AAAA,MAAA;AAAA,IAE9B;AAAA,EAAA,CACD,GAEKvE,IAAOE,EAAI,MAAM,GAAG,EAAE,IAAI,CAACG,GAAMwB,GAAGiD,MACxC;;AAAAnD,2BAAAA,EAAA,KAACoD,GACE,EAAA,UAAA;AAAA,MAAA1E,EAAK,WAAW,GAAG,KAAKA,EAAK,SAAS,GAAG,IACxCd,gBAAAA,EAAA;AAAA,QAACyF;AAAA,QAAA;AAAA,UACC,MAAM3E;AAAA,UACN,mBAAkB;AAAA,UAClB,MAAMA,EAAK,MAAM,GAAG,EAAE;AAAA,UAGpB,WAAUD,IAAA6D,EAAA,WAAW,KAAK,CAACgB,MAAMA,EAAE,SAAS5E,EAAK,MAAM,GAAG,EAAE,CAAC,MAAnD,gBAAAD,EACN;AAAA,QAAA;AAAA,MAAA,IAIRC;AAAA,MAEDwB,IAAIiD,EAAI,SAAS,KAAK;AAAA,4BACtB,OAAI,EAAA;AAAA,IAAA,EAAA,GAhBQzE,CAiBf;AAAA,GACD,GAEK6E,IAAOnC;AAAA,MACX3C,IAAAgE,EAAc,SAAd,gBAAAhE,EAAoB,QAAQ,IAAI,oBAAmB;AAAA,EAAA,GAG/C+E,IAAgB,MAAM,OAAKR,IAAAP,EAAc,SAAd,gBAAAO,EAAoB,QAAQ,cAAa,CAAA,CAAE,GAEtES,IAAiBnB,EAAU,YAC9B,OAAO,CAACgB,MAAMA,EAAE,MAAM,EACtB,IAAI,CAACA,6BACHF,GACE,EAAA,UAAA;AAAA,IAAEE,EAAA;AAAA,IAAK;AAAA,IAAEA,EAAE;AAAA,0BACX,OAAI,EAAA;AAAA,EAAA,KAFQA,EAAE,IAGjB,CACD;AAED,SAAA1F,gBAAAA,EAAA,IAAC8F,IAAc,EAAK,UAAApE,GAAU,SAAAD,GAAS,cAAA6C,GAAc,OAAAC,GAAO,GAAGC,GAC7D,UAAAxE,gBAAAA,EAAAA,IAAC,UAAK,UAAUsE,EAAa,CAAC5D,MAASmE,EAAc,YAAYnE,CAAI,CAAC,GACpE,UAAA0B,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,mCACb,UAAA;AAAA,IAACA,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,qIACb,UAAA;AAAA,MAACA,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,4BACb,UAAA;AAAA,QAACA,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,mEACb,UAAA;AAAA,UAAApC,gBAAAA,MAAC,OAAI,EAAA,WAAU,yFACZ,UAAA6D,EAAO,eACV;AAAA,UACAzB,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,yBACZ,UAAA;AAAA,YAAA3B;AAAA,YACAoF,EAAe,SAAS,IAAI,MAAM;AAAA,YAClCA;AAAA,UAAA,GACH;AAAA,QAAA,GACF;AAAA,8BACCnD,GAAO,EAAA,MAAK,UAAS,WAAU,qBAAoB,UAEpD,QAAA;AAAA,MAAA,GACF;AAAA,MACCN,gBAAAA,EAAA,KAAA2D,GAAA,EAAK,cAAc9B,IAAY,eAAe,WAC7C,UAAA;AAAA,QAAC7B,gBAAAA,EAAAA,KAAA,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,UAAAA,gBAAAA,OAAC4D,GACE,EAAA,UAAA;AAAA,YAAA/B,KACEjE,gBAAAA,EAAA,IAAAiG,GAAA,EAAY,OAAM,cAAa,UAAU,cAAA;AAAA,YAE5C7D,gBAAAA,EAAAA,KAAC6D,GAAY,EAAA,OAAM,WAAU,UAAA;AAAA,cAAA;AAAA,cACnB;AAAA,cACPvB,EAAU,QAAQ,SAAS,KAC1B,IAAIA,EAAU,QAAQ,MAAM;AAAA,YAAA,GAChC;AAAA,YACA1E,gBAAAA,EAAA;AAAA,cAACiG;AAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,UAAU,CAAC,QAAQ,OAAO,SAAS,QAAQ,EAAE;AAAA,kBAC3CpC,EAAO,YAAY;AAAA,gBACrB;AAAA,gBACD,UAAA;AAAA,cAAA;AAAA,YAED;AAAA,UAAA,GACF;AAAA,UACAzB,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,2BAA0B,UAAA;AAAA,YAAA;AAAA,YAEvCA,gBAAAA,EAAA;AAAA,cAAC8D;AAAA,cAAA;AAAA,gBACC,eAAe,CAACC,MAAU3B,EAAK,SAAS,YAAY2B,CAAK;AAAA,gBACzD,cAAczB,EAAU;AAAA,gBAExB,UAAA;AAAA,kBAAC1E,gBAAAA,EAAA,IAAAoG,IAAA,EAAc,WAAU,kBACtB,UAAWzB,EAAA,kCAAa0B,GAAQ,CAAA,CAAA,IAAMrG,gBAAAA,EAAA,IAAAsG,IAAA,CAAY,CAAA,GACrD;AAAA,kBACAlE,gBAAAA,EAAAA,KAACmE,IAAc,EAAA,OAAM,UACnB,UAAA;AAAA,oBAACvG,gBAAAA,EAAA,IAAAwG,GAAA,EAAW,OAAOrE,GAAa,UAAI,QAAA;AAAA,qBACnCgD,IAAAR,EAAW,SAAX,gBAAAQ,EAAiB,IAAI,CAACsB,MACpBzG,gBAAAA,EAAAA,IAAAwG,GAAA,EAA6B,OAAOC,EAAS,IAC3C,UAAAA,EAAS,MADK,GAAAA,EAAS,EAE1B;AAAA,kBACD,GACH;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA,GACF;AAAA,QAAA,GACF;AAAA,QACAzG,gBAAAA,EAAAA,IAAC0G,KAAY,OAAM,WACjB,gCAAClF,IAAQ,EAAA,SAAAC,GAAkB,UAAAC,GAAoB,EACjD,CAAA;AAAA,8BACCgF,GAAY,EAAA,OAAM,cACjB,UAACtE,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAU,6CACZ,UAAA;AAAA,UAAA4B,EAAW,SAAS,KACnBhE,gBAAAA,MAAC,OAAI,EAAA,WAAU,iCAAgC,UAE/C,mBAAA;AAAA,UAEFA,gBAAAA,EAAAA,IAAC+C,IAAW,EAAA,SAAAtB,GAAkB,UAAAC,EAAoB,CAAA;AAAA,UACjDqC,EAAY,SAAS,2BACnB,QAAK,EAAA,WAAU,iCAAgC,UAEhD,oBAAA;AAAA,UAEF/D,gBAAAA,MAACiD,MAAY,SAAAxB,GAAkB;AAAA,QAAA,EAAA,CACjC,EACF,CAAA;AAAA,QACAzB,gBAAAA,EAAAA,IAAC0G,GAAY,EAAA,OAAM,QACjB,UAAA1G,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACE,GAAG0B,EAAS,MAAM;AAAA,YACnB,WAAU;AAAA,UAAA;AAAA,QAAA,GAEd;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,0BACC,OAAI,EAAA,WAAU,uCACZ,UAAAmD,EAAc,QACZ7E,gBAAAA,EAAAA,IAAA,OAAA,EAAK,UAAc6E,EAAA,MAAM,SAAQ,IAChCA,EAAc,OACfzC,gBAAAA,OAAA,OAAA,EAAI,WAAU,uBACb,UAAA;AAAA,MAAApC,gBAAAA,EAAAA,IAAC,SAAI,WAAU,cACb,UAACoC,gBAAAA,EAAA,KAAA,OAAA,EAAI,WAAU,sBACb,UAAA;AAAA,QAAAA,gBAAAA,OAAC,OAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UACMyC,EAAc,KAAK;AAAA,UAAQ;AAAA,UACnClB,GAAckB,EAAc,KAAK,MAAM,KAAK;AAAA,QAAA,GAC/C;AAAA,+BACC,OAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAOA,EAAc,KAAK,KAAK,QAAQ,CAAC;AAAA,UAAE;AAAA,QAAA,GAAE;AAAA,+BAChD,OAAI,EAAA,UAAA;AAAA,UAAA;AAAA,UAAOA,EAAc,KAAK;AAAA,UAAK;AAAA,QAAA,GAAE;AAAA,MAAA,EAAA,CACxC,EACF,CAAA;AAAA,MAEAzC,gBAAAA,EAAAA,KAAC2D,GAAK,EAAA,cAAa,YACjB,UAAA;AAAA,QAAA3D,gBAAAA,OAAC4D,GACC,EAAA,UAAA;AAAA,UAAChG,gBAAAA,EAAA,IAAAiG,GAAA,EAAY,OAAM,YAAW,UAAQ,YAAA;AAAA,UACtCjG,gBAAAA,EAAAA,IAACiG,GAAY,EAAA,OAAM,WAChB,UAAAL,EAAc,SACX,YAAYA,EAAc,MAAM,MAChC,aACN,CAAA;AAAA,QAAA,GACF;AAAA,8BAECc,GAAY,EAAA,OAAM,YACjB,UAAC1G,gBAAAA,MAAAL,GAAA,EAAK,WAAU,mBACd,UAAAK,gBAAAA,EAAA;AAAA,UAAC2G;AAAA,UAAA;AAAA,YACC,UAAUhB,KAAQ;AAAA,YAClB,cAAY;AAAA,YACZ,WAAU;AAAA,YACV,MAAMd,EAAc,KAAK,QAAQ,KAAK,UAAU,EAAE;AAAA,UAAA;AAAA,WAEtD,EACF,CAAA;AAAA,8BACC6B,GAAY,EAAA,OAAM,WACjB,UAACtE,gBAAAA,EAAA,KAAAzC,GAAA,EAAK,WAAU,qEACd,UAAA;AAAA,UAACK,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,iBAAgB,UAAG,OAAA;AAAA,UACjCA,gBAAAA,EAAA,IAAA,OAAA,EAAI,WAAU,iBAAgB,UAAK,SAAA;AAAA,UACnC4F,EAAc,IAAI,CAAC,CAACgB,GAAKT,CAAK,6BAC5BX,GACC,EAAA,UAAA;AAAA,YAAAxF,gBAAAA,EAAAA,IAAC,SAAK,UAAI4G,EAAA,CAAA;AAAA,YACV5G,gBAAAA,EAAAA,IAAC,SAAK,UAAMmG,EAAA,CAAA;AAAA,UAAA,EAAA,GAFCS,CAGf,CACD;AAAA,QAAA,EAAA,CACH,EACF,CAAA;AAAA,MAAA,GACF;AAAA,IAAA,GACF,IAEC5G,gBAAAA,MAAA,OAAA,EAAI,WAAU,kCACb,gCAAC,QAAK,EAAA,WAAU,mDACb,UAAA6E,EAAc,YACZ7E,gBAAAA,MAAAqG,GAAA,CAAQ,CAAA,IAET,gDAAA,CAEJ,EACF,CAAA,GAEJ;AAAA,EAAA,GACF,GACF,EACF,CAAA;AAEJ;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as r, O as i } from "./jsx-runtime-CJZJivg2.js";
|
|
2
2
|
import { O as t } from "./context-_fYfJFgk.js";
|
|
3
|
-
import { P as s } from "./urql-
|
|
3
|
+
import { P as s } from "./urql-DEKdguFl.js";
|
|
4
4
|
function p({
|
|
5
5
|
config: o,
|
|
6
6
|
client: e
|
|
@@ -10,4 +10,4 @@ function p({
|
|
|
10
10
|
export {
|
|
11
11
|
p as OpenApiRoute
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=Route-
|
|
13
|
+
//# sourceMappingURL=Route-D-egsGHx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route-
|
|
1
|
+
{"version":3,"file":"Route-D-egsGHx.js","sources":["../src/lib/plugins/openapi/Route.tsx"],"sourcesContent":["import { Outlet } from \"react-router-dom\";\nimport { OasConfigProvider } from \"./context.js\";\nimport { OasPluginConfig } from \"./interfaces.js\";\n\nimport { Provider, Client as UrqlClient } from \"./util/urql.js\";\n\nexport function OpenApiRoute({\n config,\n client,\n}: {\n config: OasPluginConfig;\n client: typeof UrqlClient;\n}) {\n return (\n <Provider value={client}>\n <OasConfigProvider value={{ config }}>\n <Outlet />\n </OasConfigProvider>\n </Provider>\n );\n}\n"],"names":["OpenApiRoute","config","client","jsx","Provider","OasConfigProvider","Outlet"],"mappings":";;;AAMO,SAASA,EAAa;AAAA,EAC3B,QAAAC;AAAA,EACA,QAAAC;AACF,GAGG;AACD,SACGC,gBAAAA,EAAAA,IAAAC,GAAA,EAAS,OAAOF,GACf,UAACC,gBAAAA,EAAA,IAAAE,GAAA,EAAkB,OAAO,EAAE,QAAAJ,EAAO,GACjC,UAACE,gBAAAA,EAAA,IAAAG,GAAA,EAAO,GACV,EACF,CAAA;AAEJ;"}
|