@tigrbljs/tigrbl-lens 0.0.1
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/README.md +20 -0
- package/dist/favico.svg +110 -0
- package/dist/tigrbl-lens.js +1730 -0
- package/dist/tigrbl-lens.umd.cjs +181 -0
- package/package.json +32 -0
|
@@ -0,0 +1,1730 @@
|
|
|
1
|
+
import Ne, { forwardRef as ge, createElement as le, useState as y, useMemo as ae, useEffect as ce } from "react";
|
|
2
|
+
var re = { exports: {} }, ee = {};
|
|
3
|
+
/**
|
|
4
|
+
* @license React
|
|
5
|
+
* react-jsx-runtime.production.js
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the MIT license found in the
|
|
10
|
+
* LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/
|
|
12
|
+
var de;
|
|
13
|
+
function we() {
|
|
14
|
+
if (de) return ee;
|
|
15
|
+
de = 1;
|
|
16
|
+
var s = Symbol.for("react.transitional.element"), a = Symbol.for("react.fragment");
|
|
17
|
+
function r(o, x, l) {
|
|
18
|
+
var h = null;
|
|
19
|
+
if (l !== void 0 && (h = "" + l), x.key !== void 0 && (h = "" + x.key), "key" in x) {
|
|
20
|
+
l = {};
|
|
21
|
+
for (var p in x)
|
|
22
|
+
p !== "key" && (l[p] = x[p]);
|
|
23
|
+
} else l = x;
|
|
24
|
+
return x = l.ref, {
|
|
25
|
+
$$typeof: s,
|
|
26
|
+
type: o,
|
|
27
|
+
key: h,
|
|
28
|
+
ref: x !== void 0 ? x : null,
|
|
29
|
+
props: l
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return ee.Fragment = a, ee.jsx = r, ee.jsxs = r, ee;
|
|
33
|
+
}
|
|
34
|
+
var te = {};
|
|
35
|
+
/**
|
|
36
|
+
* @license React
|
|
37
|
+
* react-jsx-runtime.development.js
|
|
38
|
+
*
|
|
39
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
40
|
+
*
|
|
41
|
+
* This source code is licensed under the MIT license found in the
|
|
42
|
+
* LICENSE file in the root directory of this source tree.
|
|
43
|
+
*/
|
|
44
|
+
var xe;
|
|
45
|
+
function ke() {
|
|
46
|
+
return xe || (xe = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
47
|
+
function s(t) {
|
|
48
|
+
if (t == null) return null;
|
|
49
|
+
if (typeof t == "function")
|
|
50
|
+
return t.$$typeof === J ? null : t.displayName || t.name || null;
|
|
51
|
+
if (typeof t == "string") return t;
|
|
52
|
+
switch (t) {
|
|
53
|
+
case E:
|
|
54
|
+
return "Fragment";
|
|
55
|
+
case A:
|
|
56
|
+
return "Profiler";
|
|
57
|
+
case S:
|
|
58
|
+
return "StrictMode";
|
|
59
|
+
case H:
|
|
60
|
+
return "Suspense";
|
|
61
|
+
case F:
|
|
62
|
+
return "SuspenseList";
|
|
63
|
+
case W:
|
|
64
|
+
return "Activity";
|
|
65
|
+
}
|
|
66
|
+
if (typeof t == "object")
|
|
67
|
+
switch (typeof t.tag == "number" && console.error(
|
|
68
|
+
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
69
|
+
), t.$$typeof) {
|
|
70
|
+
case b:
|
|
71
|
+
return "Portal";
|
|
72
|
+
case X:
|
|
73
|
+
return t.displayName || "Context";
|
|
74
|
+
case O:
|
|
75
|
+
return (t._context.displayName || "Context") + ".Consumer";
|
|
76
|
+
case U:
|
|
77
|
+
var n = t.render;
|
|
78
|
+
return t = t.displayName, t || (t = n.displayName || n.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t;
|
|
79
|
+
case V:
|
|
80
|
+
return n = t.displayName || null, n !== null ? n : s(t.type) || "Memo";
|
|
81
|
+
case L:
|
|
82
|
+
n = t._payload, t = t._init;
|
|
83
|
+
try {
|
|
84
|
+
return s(t(n));
|
|
85
|
+
} catch {
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
function a(t) {
|
|
91
|
+
return "" + t;
|
|
92
|
+
}
|
|
93
|
+
function r(t) {
|
|
94
|
+
try {
|
|
95
|
+
a(t);
|
|
96
|
+
var n = !1;
|
|
97
|
+
} catch {
|
|
98
|
+
n = !0;
|
|
99
|
+
}
|
|
100
|
+
if (n) {
|
|
101
|
+
n = console;
|
|
102
|
+
var c = n.error, u = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
|
|
103
|
+
return c.call(
|
|
104
|
+
n,
|
|
105
|
+
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
106
|
+
u
|
|
107
|
+
), a(t);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function o(t) {
|
|
111
|
+
if (t === E) return "<>";
|
|
112
|
+
if (typeof t == "object" && t !== null && t.$$typeof === L)
|
|
113
|
+
return "<...>";
|
|
114
|
+
try {
|
|
115
|
+
var n = s(t);
|
|
116
|
+
return n ? "<" + n + ">" : "<...>";
|
|
117
|
+
} catch {
|
|
118
|
+
return "<...>";
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function x() {
|
|
122
|
+
var t = m.A;
|
|
123
|
+
return t === null ? null : t.getOwner();
|
|
124
|
+
}
|
|
125
|
+
function l() {
|
|
126
|
+
return Error("react-stack-top-frame");
|
|
127
|
+
}
|
|
128
|
+
function h(t) {
|
|
129
|
+
if (_.call(t, "key")) {
|
|
130
|
+
var n = Object.getOwnPropertyDescriptor(t, "key").get;
|
|
131
|
+
if (n && n.isReactWarning) return !1;
|
|
132
|
+
}
|
|
133
|
+
return t.key !== void 0;
|
|
134
|
+
}
|
|
135
|
+
function p(t, n) {
|
|
136
|
+
function c() {
|
|
137
|
+
T || (T = !0, console.error(
|
|
138
|
+
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
139
|
+
n
|
|
140
|
+
));
|
|
141
|
+
}
|
|
142
|
+
c.isReactWarning = !0, Object.defineProperty(t, "key", {
|
|
143
|
+
get: c,
|
|
144
|
+
configurable: !0
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function k() {
|
|
148
|
+
var t = s(this.type);
|
|
149
|
+
return I[t] || (I[t] = !0, console.error(
|
|
150
|
+
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
151
|
+
)), t = this.props.ref, t !== void 0 ? t : null;
|
|
152
|
+
}
|
|
153
|
+
function w(t, n, c, u, Y, B) {
|
|
154
|
+
var N = c.ref;
|
|
155
|
+
return t = {
|
|
156
|
+
$$typeof: i,
|
|
157
|
+
type: t,
|
|
158
|
+
key: n,
|
|
159
|
+
props: c,
|
|
160
|
+
_owner: u
|
|
161
|
+
}, (N !== void 0 ? N : null) !== null ? Object.defineProperty(t, "ref", {
|
|
162
|
+
enumerable: !1,
|
|
163
|
+
get: k
|
|
164
|
+
}) : Object.defineProperty(t, "ref", { enumerable: !1, value: null }), t._store = {}, Object.defineProperty(t._store, "validated", {
|
|
165
|
+
configurable: !1,
|
|
166
|
+
enumerable: !1,
|
|
167
|
+
writable: !0,
|
|
168
|
+
value: 0
|
|
169
|
+
}), Object.defineProperty(t, "_debugInfo", {
|
|
170
|
+
configurable: !1,
|
|
171
|
+
enumerable: !1,
|
|
172
|
+
writable: !0,
|
|
173
|
+
value: null
|
|
174
|
+
}), Object.defineProperty(t, "_debugStack", {
|
|
175
|
+
configurable: !1,
|
|
176
|
+
enumerable: !1,
|
|
177
|
+
writable: !0,
|
|
178
|
+
value: Y
|
|
179
|
+
}), Object.defineProperty(t, "_debugTask", {
|
|
180
|
+
configurable: !1,
|
|
181
|
+
enumerable: !1,
|
|
182
|
+
writable: !0,
|
|
183
|
+
value: B
|
|
184
|
+
}), Object.freeze && (Object.freeze(t.props), Object.freeze(t)), t;
|
|
185
|
+
}
|
|
186
|
+
function j(t, n, c, u, Y, B) {
|
|
187
|
+
var N = n.children;
|
|
188
|
+
if (N !== void 0)
|
|
189
|
+
if (u)
|
|
190
|
+
if (d(N)) {
|
|
191
|
+
for (u = 0; u < N.length; u++)
|
|
192
|
+
R(N[u]);
|
|
193
|
+
Object.freeze && Object.freeze(N);
|
|
194
|
+
} else
|
|
195
|
+
console.error(
|
|
196
|
+
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
197
|
+
);
|
|
198
|
+
else R(N);
|
|
199
|
+
if (_.call(n, "key")) {
|
|
200
|
+
N = s(t);
|
|
201
|
+
var z = Object.keys(n).filter(function(Q) {
|
|
202
|
+
return Q !== "key";
|
|
203
|
+
});
|
|
204
|
+
u = 0 < z.length ? "{key: someKey, " + z.join(": ..., ") + ": ...}" : "{key: someKey}", K[N + u] || (z = 0 < z.length ? "{" + z.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
205
|
+
`A props object containing a "key" prop is being spread into JSX:
|
|
206
|
+
let props = %s;
|
|
207
|
+
<%s {...props} />
|
|
208
|
+
React keys must be passed directly to JSX without using spread:
|
|
209
|
+
let props = %s;
|
|
210
|
+
<%s key={someKey} {...props} />`,
|
|
211
|
+
u,
|
|
212
|
+
N,
|
|
213
|
+
z,
|
|
214
|
+
N
|
|
215
|
+
), K[N + u] = !0);
|
|
216
|
+
}
|
|
217
|
+
if (N = null, c !== void 0 && (r(c), N = "" + c), h(n) && (r(n.key), N = "" + n.key), "key" in n) {
|
|
218
|
+
c = {};
|
|
219
|
+
for (var P in n)
|
|
220
|
+
P !== "key" && (c[P] = n[P]);
|
|
221
|
+
} else c = n;
|
|
222
|
+
return N && p(
|
|
223
|
+
c,
|
|
224
|
+
typeof t == "function" ? t.displayName || t.name || "Unknown" : t
|
|
225
|
+
), w(
|
|
226
|
+
t,
|
|
227
|
+
N,
|
|
228
|
+
c,
|
|
229
|
+
x(),
|
|
230
|
+
Y,
|
|
231
|
+
B
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
function R(t) {
|
|
235
|
+
g(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === L && (t._payload.status === "fulfilled" ? g(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
|
|
236
|
+
}
|
|
237
|
+
function g(t) {
|
|
238
|
+
return typeof t == "object" && t !== null && t.$$typeof === i;
|
|
239
|
+
}
|
|
240
|
+
var f = Ne, i = Symbol.for("react.transitional.element"), b = Symbol.for("react.portal"), E = Symbol.for("react.fragment"), S = Symbol.for("react.strict_mode"), A = Symbol.for("react.profiler"), O = Symbol.for("react.consumer"), X = Symbol.for("react.context"), U = Symbol.for("react.forward_ref"), H = Symbol.for("react.suspense"), F = Symbol.for("react.suspense_list"), V = Symbol.for("react.memo"), L = Symbol.for("react.lazy"), W = Symbol.for("react.activity"), J = Symbol.for("react.client.reference"), m = f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, _ = Object.prototype.hasOwnProperty, d = Array.isArray, C = console.createTask ? console.createTask : function() {
|
|
241
|
+
return null;
|
|
242
|
+
};
|
|
243
|
+
f = {
|
|
244
|
+
react_stack_bottom_frame: function(t) {
|
|
245
|
+
return t();
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
var T, I = {}, $ = f.react_stack_bottom_frame.bind(
|
|
249
|
+
f,
|
|
250
|
+
l
|
|
251
|
+
)(), Z = C(o(l)), K = {};
|
|
252
|
+
te.Fragment = E, te.jsx = function(t, n, c) {
|
|
253
|
+
var u = 1e4 > m.recentlyCreatedOwnerStacks++;
|
|
254
|
+
return j(
|
|
255
|
+
t,
|
|
256
|
+
n,
|
|
257
|
+
c,
|
|
258
|
+
!1,
|
|
259
|
+
u ? Error("react-stack-top-frame") : $,
|
|
260
|
+
u ? C(o(t)) : Z
|
|
261
|
+
);
|
|
262
|
+
}, te.jsxs = function(t, n, c) {
|
|
263
|
+
var u = 1e4 > m.recentlyCreatedOwnerStacks++;
|
|
264
|
+
return j(
|
|
265
|
+
t,
|
|
266
|
+
n,
|
|
267
|
+
c,
|
|
268
|
+
!0,
|
|
269
|
+
u ? Error("react-stack-top-frame") : $,
|
|
270
|
+
u ? C(o(t)) : Z
|
|
271
|
+
);
|
|
272
|
+
};
|
|
273
|
+
})()), te;
|
|
274
|
+
}
|
|
275
|
+
var me;
|
|
276
|
+
function _e() {
|
|
277
|
+
return me || (me = 1, process.env.NODE_ENV === "production" ? re.exports = we() : re.exports = ke()), re.exports;
|
|
278
|
+
}
|
|
279
|
+
var e = _e();
|
|
280
|
+
const Ce = {
|
|
281
|
+
openrpc: "1.2.6",
|
|
282
|
+
info: {
|
|
283
|
+
title: "Pet Store JSON-RPC",
|
|
284
|
+
version: "1.0.0",
|
|
285
|
+
description: "A simple example of a JSON-RPC API for managing a pet store. This demonstrates how to structure an OpenRPC spec document.",
|
|
286
|
+
license: {
|
|
287
|
+
name: "MIT"
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
servers: [
|
|
291
|
+
{
|
|
292
|
+
name: "Mock Server",
|
|
293
|
+
url: "https://mock.example.com/api/v1"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
name: "Localhost",
|
|
297
|
+
url: "http://localhost:8545"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
components: {
|
|
301
|
+
securitySchemes: {
|
|
302
|
+
petstore_auth: {
|
|
303
|
+
type: "http",
|
|
304
|
+
scheme: "bearer",
|
|
305
|
+
bearerFormat: "JWT"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
schemas: {
|
|
309
|
+
Pet: {
|
|
310
|
+
type: "object",
|
|
311
|
+
properties: {
|
|
312
|
+
id: { type: "integer" },
|
|
313
|
+
name: { type: "string" },
|
|
314
|
+
tag: { type: "string" },
|
|
315
|
+
age: { type: "integer", description: "Age in years" }
|
|
316
|
+
},
|
|
317
|
+
required: ["id", "name"]
|
|
318
|
+
},
|
|
319
|
+
PetInput: {
|
|
320
|
+
type: "object",
|
|
321
|
+
properties: {
|
|
322
|
+
name: { type: "string", description: "Name of the pet" },
|
|
323
|
+
tag: { type: "string", description: "Category tag" },
|
|
324
|
+
age: { type: "integer" }
|
|
325
|
+
},
|
|
326
|
+
required: ["name"]
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
methods: [
|
|
331
|
+
{
|
|
332
|
+
name: "pet_list",
|
|
333
|
+
summary: "List all pets",
|
|
334
|
+
description: "Returns a list of all pets in the store. You can optionally filter by tag.",
|
|
335
|
+
tags: ["Pets", "Read"],
|
|
336
|
+
params: [
|
|
337
|
+
{
|
|
338
|
+
name: "limit",
|
|
339
|
+
description: "How many items to return at one time (max 100)",
|
|
340
|
+
schema: {
|
|
341
|
+
type: "integer",
|
|
342
|
+
default: 20
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
name: "tags",
|
|
347
|
+
description: "Tags to filter by",
|
|
348
|
+
schema: {
|
|
349
|
+
type: "array",
|
|
350
|
+
items: {
|
|
351
|
+
type: "string"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
result: {
|
|
357
|
+
name: "pets",
|
|
358
|
+
description: "A list of pets",
|
|
359
|
+
schema: {
|
|
360
|
+
type: "array",
|
|
361
|
+
items: {
|
|
362
|
+
$ref: "#/components/schemas/Pet"
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
examples: [
|
|
367
|
+
{
|
|
368
|
+
name: "List top 2 pets",
|
|
369
|
+
params: [
|
|
370
|
+
{ name: "limit", value: 2 }
|
|
371
|
+
],
|
|
372
|
+
result: {
|
|
373
|
+
name: "pets",
|
|
374
|
+
value: [
|
|
375
|
+
{ id: 1, name: "Fluffy", tag: "cat" },
|
|
376
|
+
{ id: 2, name: "Rex", tag: "dog" }
|
|
377
|
+
]
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
]
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
name: "pet_create",
|
|
384
|
+
summary: "Create a pet",
|
|
385
|
+
description: "Adds a new pet to the store.",
|
|
386
|
+
tags: ["Pets", "Write"],
|
|
387
|
+
security: [
|
|
388
|
+
{ petstore_auth: [] }
|
|
389
|
+
],
|
|
390
|
+
params: [
|
|
391
|
+
{
|
|
392
|
+
name: "newPet",
|
|
393
|
+
required: !0,
|
|
394
|
+
schema: {
|
|
395
|
+
$ref: "#/components/schemas/PetInput"
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
result: {
|
|
400
|
+
name: "pet",
|
|
401
|
+
schema: {
|
|
402
|
+
$ref: "#/components/schemas/Pet"
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
name: "pet_get",
|
|
408
|
+
summary: "Get a pet by ID",
|
|
409
|
+
tags: ["Pets", "Read"],
|
|
410
|
+
params: [
|
|
411
|
+
{
|
|
412
|
+
name: "id",
|
|
413
|
+
required: !0,
|
|
414
|
+
schema: {
|
|
415
|
+
type: "integer"
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
],
|
|
419
|
+
result: {
|
|
420
|
+
name: "pet",
|
|
421
|
+
schema: {
|
|
422
|
+
$ref: "#/components/schemas/Pet"
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
name: "admin_delete_data",
|
|
428
|
+
summary: "Delete all data",
|
|
429
|
+
description: "Dangerous operation to clear the database.",
|
|
430
|
+
tags: ["Admin"],
|
|
431
|
+
deprecated: !0,
|
|
432
|
+
security: [
|
|
433
|
+
{ petstore_auth: [] }
|
|
434
|
+
],
|
|
435
|
+
params: [],
|
|
436
|
+
result: {
|
|
437
|
+
name: "success",
|
|
438
|
+
schema: { type: "boolean" }
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
]
|
|
442
|
+
};
|
|
443
|
+
/**
|
|
444
|
+
* @license lucide-react v0.563.0 - ISC
|
|
445
|
+
*
|
|
446
|
+
* This source code is licensed under the ISC license.
|
|
447
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
448
|
+
*/
|
|
449
|
+
const je = (...s) => s.filter((a, r, o) => !!a && a.trim() !== "" && o.indexOf(a) === r).join(" ").trim();
|
|
450
|
+
/**
|
|
451
|
+
* @license lucide-react v0.563.0 - ISC
|
|
452
|
+
*
|
|
453
|
+
* This source code is licensed under the ISC license.
|
|
454
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
455
|
+
*/
|
|
456
|
+
const Ee = (s) => s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
457
|
+
/**
|
|
458
|
+
* @license lucide-react v0.563.0 - ISC
|
|
459
|
+
*
|
|
460
|
+
* This source code is licensed under the ISC license.
|
|
461
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
462
|
+
*/
|
|
463
|
+
const Re = (s) => s.replace(
|
|
464
|
+
/^([A-Z])|[\s-_]+(\w)/g,
|
|
465
|
+
(a, r, o) => o ? o.toUpperCase() : r.toLowerCase()
|
|
466
|
+
);
|
|
467
|
+
/**
|
|
468
|
+
* @license lucide-react v0.563.0 - ISC
|
|
469
|
+
*
|
|
470
|
+
* This source code is licensed under the ISC license.
|
|
471
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
472
|
+
*/
|
|
473
|
+
const pe = (s) => {
|
|
474
|
+
const a = Re(s);
|
|
475
|
+
return a.charAt(0).toUpperCase() + a.slice(1);
|
|
476
|
+
};
|
|
477
|
+
/**
|
|
478
|
+
* @license lucide-react v0.563.0 - ISC
|
|
479
|
+
*
|
|
480
|
+
* This source code is licensed under the ISC license.
|
|
481
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
482
|
+
*/
|
|
483
|
+
var Oe = {
|
|
484
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
485
|
+
width: 24,
|
|
486
|
+
height: 24,
|
|
487
|
+
viewBox: "0 0 24 24",
|
|
488
|
+
fill: "none",
|
|
489
|
+
stroke: "currentColor",
|
|
490
|
+
strokeWidth: 2,
|
|
491
|
+
strokeLinecap: "round",
|
|
492
|
+
strokeLinejoin: "round"
|
|
493
|
+
};
|
|
494
|
+
/**
|
|
495
|
+
* @license lucide-react v0.563.0 - ISC
|
|
496
|
+
*
|
|
497
|
+
* This source code is licensed under the ISC license.
|
|
498
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
499
|
+
*/
|
|
500
|
+
const Se = (s) => {
|
|
501
|
+
for (const a in s)
|
|
502
|
+
if (a.startsWith("aria-") || a === "role" || a === "title")
|
|
503
|
+
return !0;
|
|
504
|
+
return !1;
|
|
505
|
+
};
|
|
506
|
+
/**
|
|
507
|
+
* @license lucide-react v0.563.0 - ISC
|
|
508
|
+
*
|
|
509
|
+
* This source code is licensed under the ISC license.
|
|
510
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
511
|
+
*/
|
|
512
|
+
const Ae = ge(
|
|
513
|
+
({
|
|
514
|
+
color: s = "currentColor",
|
|
515
|
+
size: a = 24,
|
|
516
|
+
strokeWidth: r = 2,
|
|
517
|
+
absoluteStrokeWidth: o,
|
|
518
|
+
className: x = "",
|
|
519
|
+
children: l,
|
|
520
|
+
iconNode: h,
|
|
521
|
+
...p
|
|
522
|
+
}, k) => le(
|
|
523
|
+
"svg",
|
|
524
|
+
{
|
|
525
|
+
ref: k,
|
|
526
|
+
...Oe,
|
|
527
|
+
width: a,
|
|
528
|
+
height: a,
|
|
529
|
+
stroke: s,
|
|
530
|
+
strokeWidth: o ? Number(r) * 24 / Number(a) : r,
|
|
531
|
+
className: je("lucide", x),
|
|
532
|
+
...!l && !Se(p) && { "aria-hidden": "true" },
|
|
533
|
+
...p
|
|
534
|
+
},
|
|
535
|
+
[
|
|
536
|
+
...h.map(([w, j]) => le(w, j)),
|
|
537
|
+
...Array.isArray(l) ? l : [l]
|
|
538
|
+
]
|
|
539
|
+
)
|
|
540
|
+
);
|
|
541
|
+
/**
|
|
542
|
+
* @license lucide-react v0.563.0 - ISC
|
|
543
|
+
*
|
|
544
|
+
* This source code is licensed under the ISC license.
|
|
545
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
546
|
+
*/
|
|
547
|
+
const v = (s, a) => {
|
|
548
|
+
const r = ge(
|
|
549
|
+
({ className: o, ...x }, l) => le(Ae, {
|
|
550
|
+
ref: l,
|
|
551
|
+
iconNode: a,
|
|
552
|
+
className: je(
|
|
553
|
+
`lucide-${Ee(pe(s))}`,
|
|
554
|
+
`lucide-${s}`,
|
|
555
|
+
o
|
|
556
|
+
),
|
|
557
|
+
...x
|
|
558
|
+
})
|
|
559
|
+
);
|
|
560
|
+
return r.displayName = pe(s), r;
|
|
561
|
+
};
|
|
562
|
+
/**
|
|
563
|
+
* @license lucide-react v0.563.0 - ISC
|
|
564
|
+
*
|
|
565
|
+
* This source code is licensed under the ISC license.
|
|
566
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
567
|
+
*/
|
|
568
|
+
const Te = [
|
|
569
|
+
[
|
|
570
|
+
"path",
|
|
571
|
+
{
|
|
572
|
+
d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
|
|
573
|
+
key: "hh9hay"
|
|
574
|
+
}
|
|
575
|
+
],
|
|
576
|
+
["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }],
|
|
577
|
+
["path", { d: "M12 22V12", key: "d0xqtd" }]
|
|
578
|
+
], $e = v("box", Te);
|
|
579
|
+
/**
|
|
580
|
+
* @license lucide-react v0.563.0 - ISC
|
|
581
|
+
*
|
|
582
|
+
* This source code is licensed under the ISC license.
|
|
583
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
584
|
+
*/
|
|
585
|
+
const Pe = [
|
|
586
|
+
[
|
|
587
|
+
"path",
|
|
588
|
+
{ d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1", key: "ezmyqa" }
|
|
589
|
+
],
|
|
590
|
+
[
|
|
591
|
+
"path",
|
|
592
|
+
{
|
|
593
|
+
d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",
|
|
594
|
+
key: "e1hn23"
|
|
595
|
+
}
|
|
596
|
+
]
|
|
597
|
+
], ze = v("braces", Pe);
|
|
598
|
+
/**
|
|
599
|
+
* @license lucide-react v0.563.0 - ISC
|
|
600
|
+
*
|
|
601
|
+
* This source code is licensed under the ISC license.
|
|
602
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
603
|
+
*/
|
|
604
|
+
const Me = [
|
|
605
|
+
["path", { d: "M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3", key: "1kt8lf" }],
|
|
606
|
+
["path", { d: "M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3", key: "gduv9" }]
|
|
607
|
+
], Le = v("brackets", Me);
|
|
608
|
+
/**
|
|
609
|
+
* @license lucide-react v0.563.0 - ISC
|
|
610
|
+
*
|
|
611
|
+
* This source code is licensed under the ISC license.
|
|
612
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
613
|
+
*/
|
|
614
|
+
const Ie = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], qe = v("check", Ie);
|
|
615
|
+
/**
|
|
616
|
+
* @license lucide-react v0.563.0 - ISC
|
|
617
|
+
*
|
|
618
|
+
* This source code is licensed under the ISC license.
|
|
619
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
620
|
+
*/
|
|
621
|
+
const Ue = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], D = v("chevron-down", Ue);
|
|
622
|
+
/**
|
|
623
|
+
* @license lucide-react v0.563.0 - ISC
|
|
624
|
+
*
|
|
625
|
+
* This source code is licensed under the ISC license.
|
|
626
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
627
|
+
*/
|
|
628
|
+
const Fe = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], G = v("chevron-right", Fe);
|
|
629
|
+
/**
|
|
630
|
+
* @license lucide-react v0.563.0 - ISC
|
|
631
|
+
*
|
|
632
|
+
* This source code is licensed under the ISC license.
|
|
633
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
634
|
+
*/
|
|
635
|
+
const Je = [
|
|
636
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
637
|
+
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
638
|
+
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
639
|
+
], Ye = v("circle-alert", Je);
|
|
640
|
+
/**
|
|
641
|
+
* @license lucide-react v0.563.0 - ISC
|
|
642
|
+
*
|
|
643
|
+
* This source code is licensed under the ISC license.
|
|
644
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
645
|
+
*/
|
|
646
|
+
const He = [
|
|
647
|
+
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
648
|
+
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
649
|
+
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
650
|
+
], ue = v("code-xml", He);
|
|
651
|
+
/**
|
|
652
|
+
* @license lucide-react v0.563.0 - ISC
|
|
653
|
+
*
|
|
654
|
+
* This source code is licensed under the ISC license.
|
|
655
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
656
|
+
*/
|
|
657
|
+
const Ve = [
|
|
658
|
+
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
659
|
+
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
660
|
+
], he = v("copy", Ve);
|
|
661
|
+
/**
|
|
662
|
+
* @license lucide-react v0.563.0 - ISC
|
|
663
|
+
*
|
|
664
|
+
* This source code is licensed under the ISC license.
|
|
665
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
666
|
+
*/
|
|
667
|
+
const We = [
|
|
668
|
+
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
669
|
+
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
670
|
+
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
671
|
+
], Be = v("download", We);
|
|
672
|
+
/**
|
|
673
|
+
* @license lucide-react v0.563.0 - ISC
|
|
674
|
+
*
|
|
675
|
+
* This source code is licensed under the ISC license.
|
|
676
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
677
|
+
*/
|
|
678
|
+
const De = [
|
|
679
|
+
[
|
|
680
|
+
"path",
|
|
681
|
+
{
|
|
682
|
+
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
683
|
+
key: "1oefj6"
|
|
684
|
+
}
|
|
685
|
+
],
|
|
686
|
+
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }],
|
|
687
|
+
[
|
|
688
|
+
"path",
|
|
689
|
+
{ d: "M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1", key: "1oajmo" }
|
|
690
|
+
],
|
|
691
|
+
[
|
|
692
|
+
"path",
|
|
693
|
+
{ d: "M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1", key: "mpwhp6" }
|
|
694
|
+
]
|
|
695
|
+
], Ge = v("file-braces", De);
|
|
696
|
+
/**
|
|
697
|
+
* @license lucide-react v0.563.0 - ISC
|
|
698
|
+
*
|
|
699
|
+
* This source code is licensed under the ISC license.
|
|
700
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
701
|
+
*/
|
|
702
|
+
const Xe = [
|
|
703
|
+
[
|
|
704
|
+
"path",
|
|
705
|
+
{
|
|
706
|
+
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
707
|
+
key: "1oefj6"
|
|
708
|
+
}
|
|
709
|
+
],
|
|
710
|
+
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }],
|
|
711
|
+
["path", { d: "M10 9H8", key: "b1mrlr" }],
|
|
712
|
+
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
713
|
+
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
714
|
+
], fe = v("file-text", Xe);
|
|
715
|
+
/**
|
|
716
|
+
* @license lucide-react v0.563.0 - ISC
|
|
717
|
+
*
|
|
718
|
+
* This source code is licensed under the ISC license.
|
|
719
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
720
|
+
*/
|
|
721
|
+
const Ze = [
|
|
722
|
+
["line", { x1: "4", x2: "20", y1: "9", y2: "9", key: "4lhtct" }],
|
|
723
|
+
["line", { x1: "4", x2: "20", y1: "15", y2: "15", key: "vyu0kd" }],
|
|
724
|
+
["line", { x1: "10", x2: "8", y1: "3", y2: "21", key: "1ggp8o" }],
|
|
725
|
+
["line", { x1: "16", x2: "14", y1: "3", y2: "21", key: "weycgp" }]
|
|
726
|
+
], Ke = v("hash", Ze);
|
|
727
|
+
/**
|
|
728
|
+
* @license lucide-react v0.563.0 - ISC
|
|
729
|
+
*
|
|
730
|
+
* This source code is licensed under the ISC license.
|
|
731
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
732
|
+
*/
|
|
733
|
+
const Qe = [
|
|
734
|
+
[
|
|
735
|
+
"path",
|
|
736
|
+
{
|
|
737
|
+
d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
|
|
738
|
+
key: "zw3jo"
|
|
739
|
+
}
|
|
740
|
+
],
|
|
741
|
+
[
|
|
742
|
+
"path",
|
|
743
|
+
{
|
|
744
|
+
d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
|
|
745
|
+
key: "1wduqc"
|
|
746
|
+
}
|
|
747
|
+
],
|
|
748
|
+
[
|
|
749
|
+
"path",
|
|
750
|
+
{
|
|
751
|
+
d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
|
|
752
|
+
key: "kqbvx6"
|
|
753
|
+
}
|
|
754
|
+
]
|
|
755
|
+
], et = v("layers", Qe);
|
|
756
|
+
/**
|
|
757
|
+
* @license lucide-react v0.563.0 - ISC
|
|
758
|
+
*
|
|
759
|
+
* This source code is licensed under the ISC license.
|
|
760
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
761
|
+
*/
|
|
762
|
+
const tt = [
|
|
763
|
+
["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
|
|
764
|
+
["path", { d: "M7 11V7a5 5 0 0 1 9.9-1", key: "1mm8w8" }]
|
|
765
|
+
], st = v("lock-open", tt);
|
|
766
|
+
/**
|
|
767
|
+
* @license lucide-react v0.563.0 - ISC
|
|
768
|
+
*
|
|
769
|
+
* This source code is licensed under the ISC license.
|
|
770
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
771
|
+
*/
|
|
772
|
+
const rt = [
|
|
773
|
+
["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
|
|
774
|
+
["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
|
|
775
|
+
], ye = v("lock", rt);
|
|
776
|
+
/**
|
|
777
|
+
* @license lucide-react v0.563.0 - ISC
|
|
778
|
+
*
|
|
779
|
+
* This source code is licensed under the ISC license.
|
|
780
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
781
|
+
*/
|
|
782
|
+
const at = [
|
|
783
|
+
["path", { d: "M4 5h16", key: "1tepv9" }],
|
|
784
|
+
["path", { d: "M4 12h16", key: "1lakjw" }],
|
|
785
|
+
["path", { d: "M4 19h16", key: "1djgab" }]
|
|
786
|
+
], nt = v("menu", at);
|
|
787
|
+
/**
|
|
788
|
+
* @license lucide-react v0.563.0 - ISC
|
|
789
|
+
*
|
|
790
|
+
* This source code is licensed under the ISC license.
|
|
791
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
792
|
+
*/
|
|
793
|
+
const lt = [
|
|
794
|
+
[
|
|
795
|
+
"path",
|
|
796
|
+
{
|
|
797
|
+
d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
|
|
798
|
+
key: "10ikf1"
|
|
799
|
+
}
|
|
800
|
+
]
|
|
801
|
+
], be = v("play", lt);
|
|
802
|
+
/**
|
|
803
|
+
* @license lucide-react v0.563.0 - ISC
|
|
804
|
+
*
|
|
805
|
+
* This source code is licensed under the ISC license.
|
|
806
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
807
|
+
*/
|
|
808
|
+
const ot = [
|
|
809
|
+
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
810
|
+
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
811
|
+
], it = v("search", ot);
|
|
812
|
+
/**
|
|
813
|
+
* @license lucide-react v0.563.0 - ISC
|
|
814
|
+
*
|
|
815
|
+
* This source code is licensed under the ISC license.
|
|
816
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
817
|
+
*/
|
|
818
|
+
const ct = [
|
|
819
|
+
["path", { d: "M16 3h5v5", key: "1806ms" }],
|
|
820
|
+
["path", { d: "M8 3H3v5", key: "15dfkv" }],
|
|
821
|
+
["path", { d: "M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3", key: "1qrqzj" }],
|
|
822
|
+
["path", { d: "m15 9 6-6", key: "ko1vev" }]
|
|
823
|
+
], dt = v("split", ct);
|
|
824
|
+
/**
|
|
825
|
+
* @license lucide-react v0.563.0 - ISC
|
|
826
|
+
*
|
|
827
|
+
* This source code is licensed under the ISC license.
|
|
828
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
829
|
+
*/
|
|
830
|
+
const xt = [
|
|
831
|
+
["path", { d: "M12 3v12", key: "1x0j5s" }],
|
|
832
|
+
["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }],
|
|
833
|
+
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }]
|
|
834
|
+
], mt = v("upload", xt);
|
|
835
|
+
/**
|
|
836
|
+
* @license lucide-react v0.563.0 - ISC
|
|
837
|
+
*
|
|
838
|
+
* This source code is licensed under the ISC license.
|
|
839
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
840
|
+
*/
|
|
841
|
+
const pt = [
|
|
842
|
+
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
843
|
+
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
844
|
+
], ne = v("x", pt), ut = ({ spec: s, activeMethod: a, onSelectMethod: r, onSelectSchema: o, isOpen: x, onClose: l }) => {
|
|
845
|
+
var R;
|
|
846
|
+
const [h, p] = y(""), k = ae(() => s.methods.filter((g) => g.name.toLowerCase().includes(h.toLowerCase())), [s.methods, h]), w = ae(() => {
|
|
847
|
+
const g = {}, f = "General";
|
|
848
|
+
return k.forEach((i) => {
|
|
849
|
+
const b = i.tags && i.tags.length > 0 ? i.tags[0] : f;
|
|
850
|
+
g[b] || (g[b] = []), g[b].push(i);
|
|
851
|
+
}), g;
|
|
852
|
+
}, [k]), j = (R = s.components) != null && R.schemas ? Object.keys(s.components.schemas) : [];
|
|
853
|
+
return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
854
|
+
/* @__PURE__ */ e.jsx(
|
|
855
|
+
"div",
|
|
856
|
+
{
|
|
857
|
+
className: `fixed inset-0 bg-slate-900/50 backdrop-blur-sm z-40 transition-opacity duration-300 md:hidden ${x ? "opacity-100" : "opacity-0 pointer-events-none"}`,
|
|
858
|
+
onClick: l
|
|
859
|
+
}
|
|
860
|
+
),
|
|
861
|
+
/* @__PURE__ */ e.jsxs("div", { className: `fixed inset-y-0 left-0 z-50 flex flex-col bg-white md:bg-slate-50 border-r border-slate-200 w-80 max-w-[85vw] transition-transform duration-300 ease-in-out md:sticky md:top-0 md:translate-x-0 ${x ? "translate-x-0" : "-translate-x-full"}`, children: [
|
|
862
|
+
/* @__PURE__ */ e.jsxs("div", { className: "p-4 border-b border-slate-200 bg-white", children: [
|
|
863
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center justify-between mb-1", children: [
|
|
864
|
+
/* @__PURE__ */ e.jsxs("h1", { className: "text-lg font-bold text-slate-800 flex items-center gap-2 truncate", children: [
|
|
865
|
+
/* @__PURE__ */ e.jsx($e, { className: "text-primary flex-shrink-0" }),
|
|
866
|
+
/* @__PURE__ */ e.jsx("span", { className: "truncate", children: s.info.title })
|
|
867
|
+
] }),
|
|
868
|
+
/* @__PURE__ */ e.jsx("button", { onClick: l, className: "md:hidden text-slate-400 hover:text-slate-600 p-1", children: /* @__PURE__ */ e.jsx(ne, { size: 20 }) })
|
|
869
|
+
] }),
|
|
870
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mb-4", children: s.info.version }),
|
|
871
|
+
/* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
|
|
872
|
+
/* @__PURE__ */ e.jsx(it, { className: "absolute left-3 top-2.5 text-slate-400", size: 16 }),
|
|
873
|
+
/* @__PURE__ */ e.jsx(
|
|
874
|
+
"input",
|
|
875
|
+
{
|
|
876
|
+
type: "text",
|
|
877
|
+
placeholder: "Filter methods...",
|
|
878
|
+
className: "w-full pl-9 pr-4 py-2 bg-slate-100 border-transparent focus:bg-white focus:border-primary focus:ring-1 focus:ring-primary rounded-md text-sm transition-all",
|
|
879
|
+
value: h,
|
|
880
|
+
onChange: (g) => p(g.target.value)
|
|
881
|
+
}
|
|
882
|
+
)
|
|
883
|
+
] })
|
|
884
|
+
] }),
|
|
885
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex-1 overflow-y-auto p-4 space-y-6 scrollbar-thin scrollbar-thumb-slate-300", children: [
|
|
886
|
+
Object.entries(w).map(([g, f]) => /* @__PURE__ */ e.jsxs("div", { children: [
|
|
887
|
+
/* @__PURE__ */ e.jsxs("h3", { className: "text-xs font-bold text-slate-400 uppercase tracking-wider mb-2 flex items-center gap-2", children: [
|
|
888
|
+
/* @__PURE__ */ e.jsx(et, { size: 12 }),
|
|
889
|
+
g
|
|
890
|
+
] }),
|
|
891
|
+
/* @__PURE__ */ e.jsx("ul", { className: "space-y-0.5", children: f.map((i) => /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx(
|
|
892
|
+
"a",
|
|
893
|
+
{
|
|
894
|
+
href: `#method-${i.name}`,
|
|
895
|
+
onClick: (b) => {
|
|
896
|
+
b.preventDefault(), r(i.name), l && l();
|
|
897
|
+
const E = document.getElementById(`method-${i.name}`);
|
|
898
|
+
if (E) {
|
|
899
|
+
const O = E.getBoundingClientRect().top + window.pageYOffset - 80;
|
|
900
|
+
window.scrollTo({
|
|
901
|
+
top: O,
|
|
902
|
+
behavior: "smooth"
|
|
903
|
+
});
|
|
904
|
+
}
|
|
905
|
+
},
|
|
906
|
+
className: `block px-3 py-2 rounded-md text-sm font-medium transition-colors font-mono truncate
|
|
907
|
+
${a === i.name ? "bg-white text-primary shadow-sm border border-slate-200" : "text-slate-600 hover:bg-slate-200/50 hover:text-slate-900"}
|
|
908
|
+
${i.deprecated ? "line-through opacity-60" : ""}
|
|
909
|
+
`,
|
|
910
|
+
children: i.name
|
|
911
|
+
}
|
|
912
|
+
) }, i.name)) })
|
|
913
|
+
] }, g)),
|
|
914
|
+
j.length > 0 && /* @__PURE__ */ e.jsxs("div", { children: [
|
|
915
|
+
/* @__PURE__ */ e.jsxs("h3", { className: "text-xs font-bold text-slate-400 uppercase tracking-wider mb-2 flex items-center gap-2", children: [
|
|
916
|
+
/* @__PURE__ */ e.jsx(Ke, { size: 12 }),
|
|
917
|
+
"Schemas"
|
|
918
|
+
] }),
|
|
919
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: j.map((g) => /* @__PURE__ */ e.jsx(
|
|
920
|
+
"button",
|
|
921
|
+
{
|
|
922
|
+
onClick: () => {
|
|
923
|
+
o(g), l && l();
|
|
924
|
+
},
|
|
925
|
+
className: "text-xs px-2 py-1 bg-slate-100 text-slate-600 rounded hover:bg-slate-200 transition-colors border border-transparent hover:border-slate-300",
|
|
926
|
+
children: g
|
|
927
|
+
},
|
|
928
|
+
g
|
|
929
|
+
)) })
|
|
930
|
+
] })
|
|
931
|
+
] }),
|
|
932
|
+
/* @__PURE__ */ e.jsx("div", { className: "p-4 border-t border-slate-200 text-xs text-slate-400 text-center bg-white md:bg-slate-50", children: "Powered by Tigrbl Lens • Supports the OpenRPC spec (not affiliated)" })
|
|
933
|
+
] })
|
|
934
|
+
] });
|
|
935
|
+
}, se = ({ data: s, className: a }) => {
|
|
936
|
+
const r = (l) => (l = l.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), l.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function(h) {
|
|
937
|
+
let p = "text-orange-600";
|
|
938
|
+
return /^"/.test(h) ? /:$/.test(h) ? p = "text-sky-700 font-semibold" : p = "text-emerald-600" : /true|false/.test(h) ? p = "text-purple-600 font-bold" : /null/.test(h) && (p = "text-slate-500 italic"), '<span class="' + p + '">' + h + "</span>";
|
|
939
|
+
})), o = JSON.stringify(s, null, 2), x = r(o);
|
|
940
|
+
return /* @__PURE__ */ e.jsx(
|
|
941
|
+
"pre",
|
|
942
|
+
{
|
|
943
|
+
className: `bg-slate-900 text-slate-200 p-4 rounded-md overflow-x-auto text-xs font-mono leading-relaxed border border-slate-700/50 shadow-inner ${a}`,
|
|
944
|
+
dangerouslySetInnerHTML: { __html: x }
|
|
945
|
+
}
|
|
946
|
+
);
|
|
947
|
+
}, ve = (s, a) => {
|
|
948
|
+
if (!a || !s.startsWith("#/")) return;
|
|
949
|
+
const r = s.replace("#/", "").split("/");
|
|
950
|
+
let o = a;
|
|
951
|
+
for (const x of r)
|
|
952
|
+
if (o = o == null ? void 0 : o[x], !o) return;
|
|
953
|
+
return o;
|
|
954
|
+
}, q = ({ schema: s, rootDoc: a, expanded: r = !1, name: o, isRequired: x }) => {
|
|
955
|
+
const [l, h] = y(r);
|
|
956
|
+
if (s.$ref) {
|
|
957
|
+
const f = ve(s.$ref, a), i = s.$ref.split("/").pop();
|
|
958
|
+
return f ? /* @__PURE__ */ e.jsxs("div", { className: "my-1", children: [
|
|
959
|
+
/* @__PURE__ */ e.jsxs(
|
|
960
|
+
"button",
|
|
961
|
+
{
|
|
962
|
+
onClick: () => h(!l),
|
|
963
|
+
className: "flex items-center gap-1 text-sm group w-full text-left",
|
|
964
|
+
children: [
|
|
965
|
+
l ? /* @__PURE__ */ e.jsx(D, { size: 14, className: "text-slate-400" }) : /* @__PURE__ */ e.jsx(G, { size: 14, className: "text-slate-400" }),
|
|
966
|
+
o && /* @__PURE__ */ e.jsxs("span", { className: "font-bold text-slate-700 font-mono mr-2", children: [
|
|
967
|
+
o,
|
|
968
|
+
x && /* @__PURE__ */ e.jsx("span", { className: "text-red-500", children: "*" })
|
|
969
|
+
] }),
|
|
970
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-secondary font-medium group-hover:underline", children: i }),
|
|
971
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-slate-400 text-xs ml-2 font-light", children: "{...}" })
|
|
972
|
+
]
|
|
973
|
+
}
|
|
974
|
+
),
|
|
975
|
+
l && /* @__PURE__ */ e.jsx("div", { className: "pl-4 mt-1 border-l-2 border-slate-100 ml-1", children: /* @__PURE__ */ e.jsx(q, { schema: f, rootDoc: a, expanded: !0 }) })
|
|
976
|
+
] }) : /* @__PURE__ */ e.jsxs("span", { className: "text-red-500", children: [
|
|
977
|
+
"Unresolved Ref: ",
|
|
978
|
+
s.$ref
|
|
979
|
+
] });
|
|
980
|
+
}
|
|
981
|
+
const p = s.oneOf ? "oneOf" : s.anyOf ? "anyOf" : s.allOf ? "allOf" : null, k = s.oneOf || s.anyOf || s.allOf;
|
|
982
|
+
if (p && k) {
|
|
983
|
+
if (k.every((i) => !(i.oneOf || i.anyOf || i.allOf || i.type === "object" || i.properties || i.type === "array" || i.items))) {
|
|
984
|
+
const i = k.map((b) => b.type === "null" ? "null" : b.type ? Array.isArray(b.type) ? b.type.join(" | ") : b.type : b.$ref ? b.$ref.split("/").pop() : "?").join(" | ");
|
|
985
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "text-sm py-1 flex flex-col md:flex-row md:items-center gap-1 md:gap-2 ml-5 md:ml-6", children: [
|
|
986
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
987
|
+
o && /* @__PURE__ */ e.jsxs("span", { className: "font-bold text-slate-700 font-mono", children: [
|
|
988
|
+
o,
|
|
989
|
+
x && /* @__PURE__ */ e.jsx("span", { className: "text-red-500", children: "*" })
|
|
990
|
+
] }),
|
|
991
|
+
/* @__PURE__ */ e.jsx("span", { className: "font-mono text-green-600 text-xs", children: i })
|
|
992
|
+
] }),
|
|
993
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
994
|
+
s.title && /* @__PURE__ */ e.jsx("span", { className: "text-slate-600 italic text-xs", children: s.title }),
|
|
995
|
+
s.description && /* @__PURE__ */ e.jsxs("span", { className: "text-slate-500 text-xs", children: [
|
|
996
|
+
"- ",
|
|
997
|
+
s.description
|
|
998
|
+
] })
|
|
999
|
+
] })
|
|
1000
|
+
] });
|
|
1001
|
+
}
|
|
1002
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "my-1", children: [
|
|
1003
|
+
/* @__PURE__ */ e.jsxs(
|
|
1004
|
+
"button",
|
|
1005
|
+
{
|
|
1006
|
+
onClick: () => h(!l),
|
|
1007
|
+
className: "flex items-center gap-1 text-sm group w-full text-left hover:bg-slate-50/50 py-0.5 rounded",
|
|
1008
|
+
children: [
|
|
1009
|
+
l ? /* @__PURE__ */ e.jsx(D, { size: 14, className: "text-slate-400" }) : /* @__PURE__ */ e.jsx(G, { size: 14, className: "text-slate-400" }),
|
|
1010
|
+
o && /* @__PURE__ */ e.jsxs("span", { className: "font-bold text-slate-700 font-mono mr-2", children: [
|
|
1011
|
+
o,
|
|
1012
|
+
x && /* @__PURE__ */ e.jsx("span", { className: "text-red-500", children: "*" })
|
|
1013
|
+
] }),
|
|
1014
|
+
/* @__PURE__ */ e.jsxs("span", { className: "text-slate-500 font-mono text-xs flex items-center gap-1", children: [
|
|
1015
|
+
/* @__PURE__ */ e.jsx(dt, { size: 12, className: "rotate-90" }),
|
|
1016
|
+
p
|
|
1017
|
+
] }),
|
|
1018
|
+
s.title && /* @__PURE__ */ e.jsxs("span", { className: "text-slate-400 italic ml-1", children: [
|
|
1019
|
+
"- ",
|
|
1020
|
+
s.title
|
|
1021
|
+
] })
|
|
1022
|
+
]
|
|
1023
|
+
}
|
|
1024
|
+
),
|
|
1025
|
+
l && s.description && /* @__PURE__ */ e.jsx("div", { className: "text-slate-500 text-xs ml-6 mb-2", children: s.description }),
|
|
1026
|
+
l && /* @__PURE__ */ e.jsx("div", { className: "pl-4 mt-1 border-l-2 border-slate-100 ml-1", children: k.map((i, b) => /* @__PURE__ */ e.jsxs("div", { className: "my-2 bg-slate-50/50 rounded border border-slate-100/50 p-2", children: [
|
|
1027
|
+
/* @__PURE__ */ e.jsxs("div", { className: "text-[10px] text-slate-400 font-bold uppercase tracking-wider mb-1", children: [
|
|
1028
|
+
"Option ",
|
|
1029
|
+
b + 1
|
|
1030
|
+
] }),
|
|
1031
|
+
/* @__PURE__ */ e.jsx("div", { className: "-ml-5", children: /* @__PURE__ */ e.jsx(q, { schema: i, rootDoc: a }) })
|
|
1032
|
+
] }, b)) })
|
|
1033
|
+
] });
|
|
1034
|
+
}
|
|
1035
|
+
const w = Array.isArray(s.type) ? s.type.join(" | ") : s.type, j = w === "object" && !!s.properties, R = w === "array" && !!s.items;
|
|
1036
|
+
return j || R ? /* @__PURE__ */ e.jsxs("div", { className: "my-1", children: [
|
|
1037
|
+
/* @__PURE__ */ e.jsxs(
|
|
1038
|
+
"button",
|
|
1039
|
+
{
|
|
1040
|
+
onClick: () => h(!l),
|
|
1041
|
+
className: "flex items-center gap-1 text-sm group w-full text-left hover:bg-slate-50/50 py-0.5 rounded",
|
|
1042
|
+
children: [
|
|
1043
|
+
l ? /* @__PURE__ */ e.jsx(D, { size: 14, className: "text-slate-400" }) : /* @__PURE__ */ e.jsx(G, { size: 14, className: "text-slate-400" }),
|
|
1044
|
+
o && /* @__PURE__ */ e.jsxs("span", { className: "font-bold text-slate-700 font-mono mr-2", children: [
|
|
1045
|
+
o,
|
|
1046
|
+
x && /* @__PURE__ */ e.jsx("span", { className: "text-red-500", children: "*" })
|
|
1047
|
+
] }),
|
|
1048
|
+
/* @__PURE__ */ e.jsxs("span", { className: "text-slate-500 font-mono text-xs flex items-center gap-1", children: [
|
|
1049
|
+
j ? /* @__PURE__ */ e.jsx(ze, { size: 12 }) : /* @__PURE__ */ e.jsx(Le, { size: 12 }),
|
|
1050
|
+
j ? "Object" : "Array",
|
|
1051
|
+
s.title && /* @__PURE__ */ e.jsxs("span", { className: "text-slate-400 italic ml-1", children: [
|
|
1052
|
+
"- ",
|
|
1053
|
+
s.title
|
|
1054
|
+
] })
|
|
1055
|
+
] })
|
|
1056
|
+
]
|
|
1057
|
+
}
|
|
1058
|
+
),
|
|
1059
|
+
l && s.description && /* @__PURE__ */ e.jsx("div", { className: "text-slate-500 text-xs ml-6 mb-2", children: s.description }),
|
|
1060
|
+
l && /* @__PURE__ */ e.jsxs("div", { className: "pl-4 mt-1 border-l-2 border-slate-100 ml-1", children: [
|
|
1061
|
+
j && s.properties && /* @__PURE__ */ e.jsx("div", { children: Object.entries(s.properties).map(([f, i]) => {
|
|
1062
|
+
var b;
|
|
1063
|
+
return /* @__PURE__ */ e.jsx(
|
|
1064
|
+
q,
|
|
1065
|
+
{
|
|
1066
|
+
schema: i,
|
|
1067
|
+
rootDoc: a,
|
|
1068
|
+
name: f,
|
|
1069
|
+
isRequired: (b = s.required) == null ? void 0 : b.includes(f)
|
|
1070
|
+
},
|
|
1071
|
+
f
|
|
1072
|
+
);
|
|
1073
|
+
}) }),
|
|
1074
|
+
R && s.items && /* @__PURE__ */ e.jsx("div", { children: Array.isArray(s.items) ? s.items.map((f, i) => /* @__PURE__ */ e.jsx(q, { schema: f, rootDoc: a, name: `[${i}]` }, i)) : /* @__PURE__ */ e.jsx(q, { schema: s.items, rootDoc: a, name: "items" }) })
|
|
1075
|
+
] })
|
|
1076
|
+
] }) : /* @__PURE__ */ e.jsxs("div", { className: "text-sm py-1 flex flex-col md:flex-row md:items-center gap-1 md:gap-2 ml-5 md:ml-6", children: [
|
|
1077
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1078
|
+
o && /* @__PURE__ */ e.jsxs("span", { className: "font-bold text-slate-700 font-mono", children: [
|
|
1079
|
+
o,
|
|
1080
|
+
x && /* @__PURE__ */ e.jsx("span", { className: "text-red-500", children: "*" })
|
|
1081
|
+
] }),
|
|
1082
|
+
/* @__PURE__ */ e.jsx("span", { className: "font-mono text-green-600 text-xs", children: w || "any" })
|
|
1083
|
+
] }),
|
|
1084
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
1085
|
+
s.title && /* @__PURE__ */ e.jsx("span", { className: "text-slate-600 italic text-xs", children: s.title }),
|
|
1086
|
+
s.description && /* @__PURE__ */ e.jsxs("span", { className: "text-slate-500 text-xs", children: [
|
|
1087
|
+
"- ",
|
|
1088
|
+
s.description
|
|
1089
|
+
] }),
|
|
1090
|
+
s.format && /* @__PURE__ */ e.jsxs("span", { className: "text-xs bg-slate-100 px-1 rounded text-slate-500", children: [
|
|
1091
|
+
"fmt: ",
|
|
1092
|
+
s.format
|
|
1093
|
+
] }),
|
|
1094
|
+
s.enum && /* @__PURE__ */ e.jsxs("div", { className: "flex gap-1", children: [
|
|
1095
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-xs text-slate-400", children: "enum:" }),
|
|
1096
|
+
s.enum.map((f, i) => /* @__PURE__ */ e.jsx("span", { className: "text-xs bg-slate-100 px-1 rounded text-slate-600", children: String(f) }, i))
|
|
1097
|
+
] })
|
|
1098
|
+
] }),
|
|
1099
|
+
!w && !s.$ref && /* @__PURE__ */ e.jsx(se, { data: s, className: "!bg-slate-50 !text-slate-700 border border-slate-200 mt-1" })
|
|
1100
|
+
] });
|
|
1101
|
+
}, M = (s, a, r = 0) => {
|
|
1102
|
+
if (r > 5) return "string (max depth)";
|
|
1103
|
+
if (s.example !== void 0) return s.example;
|
|
1104
|
+
if (s.default !== void 0) return s.default;
|
|
1105
|
+
if (s.$ref) {
|
|
1106
|
+
const o = ve(s.$ref, a);
|
|
1107
|
+
return o ? M(o, a, r + 1) : {};
|
|
1108
|
+
}
|
|
1109
|
+
if (s.type === "integer" || s.type === "number") return 0;
|
|
1110
|
+
if (s.type === "boolean") return !0;
|
|
1111
|
+
if (s.type === "string")
|
|
1112
|
+
return s.enum ? s.enum[0] : s.format === "date-time" ? (/* @__PURE__ */ new Date()).toISOString() : "string";
|
|
1113
|
+
if (s.type === "object" && s.properties) {
|
|
1114
|
+
const o = {};
|
|
1115
|
+
for (const [x, l] of Object.entries(s.properties))
|
|
1116
|
+
o[x] = M(l, a, r + 1);
|
|
1117
|
+
return o;
|
|
1118
|
+
}
|
|
1119
|
+
if (s.type === "array" && s.items) {
|
|
1120
|
+
const o = Array.isArray(s.items) ? s.items[0] : s.items;
|
|
1121
|
+
return [M(o, a, r + 1)];
|
|
1122
|
+
}
|
|
1123
|
+
return null;
|
|
1124
|
+
}, ht = ({ method: s, rootDoc: a, securityValues: r }) => {
|
|
1125
|
+
var T, I, $, Z, K;
|
|
1126
|
+
const [o, x] = y(!1), [l, h] = y(!1), [p, k] = y({}), [w, j] = y(null), [R, g] = y(null), [f, i] = y(!1), [b, E] = y(!1), [S, A] = y(!0), [O, X] = y(!0), [U, H] = y("schema"), [F, V] = y("schema"), L = (t) => {
|
|
1127
|
+
t.stopPropagation(), navigator.clipboard.writeText(s.name), E(!0), setTimeout(() => E(!1), 2e3);
|
|
1128
|
+
}, W = async () => {
|
|
1129
|
+
i(!0), j(null), g(null), await new Promise((t) => setTimeout(t, 600 + Math.random() * 1e3));
|
|
1130
|
+
try {
|
|
1131
|
+
let t = { jsonrpc: "2.0", id: 1, result: "Mock execution successful" };
|
|
1132
|
+
s.examples && s.examples.length > 0 ? t = { jsonrpc: "2.0", id: 1, result: s.examples[0].result.value } : s.result && (t = { jsonrpc: "2.0", id: 1, result: M(s.result.schema, a) }), j(t), g({
|
|
1133
|
+
"content-type": "application/json; charset=utf-8",
|
|
1134
|
+
date: (/* @__PURE__ */ new Date()).toUTCString(),
|
|
1135
|
+
server: "Tigrbl-Lens-Mock/1.0",
|
|
1136
|
+
"x-request-id": Math.random().toString(36).substring(7)
|
|
1137
|
+
});
|
|
1138
|
+
} catch {
|
|
1139
|
+
j({ jsonrpc: "2.0", id: 1, error: { code: -32e3, message: "Execution failed" } });
|
|
1140
|
+
} finally {
|
|
1141
|
+
i(!1);
|
|
1142
|
+
}
|
|
1143
|
+
}, J = (t, n) => {
|
|
1144
|
+
k((c) => ({ ...c, [t]: n }));
|
|
1145
|
+
}, m = () => {
|
|
1146
|
+
if (!s.examples || s.examples.length === 0) {
|
|
1147
|
+
const c = {};
|
|
1148
|
+
s.params.forEach((u) => {
|
|
1149
|
+
c[u.name] = M(u.schema, a);
|
|
1150
|
+
}), k(c);
|
|
1151
|
+
return;
|
|
1152
|
+
}
|
|
1153
|
+
const t = s.examples[0], n = {};
|
|
1154
|
+
t.params.forEach((c) => {
|
|
1155
|
+
n[c.name] = c.value;
|
|
1156
|
+
}), k(n);
|
|
1157
|
+
}, _ = ae(() => {
|
|
1158
|
+
if (s.examples && s.examples.length > 0) {
|
|
1159
|
+
const n = s.examples[0], c = {};
|
|
1160
|
+
return n.params.forEach((u) => c[u.name] = u.value), c;
|
|
1161
|
+
}
|
|
1162
|
+
const t = {};
|
|
1163
|
+
return s.params.forEach((n) => {
|
|
1164
|
+
t[n.name] = M(n.schema, a);
|
|
1165
|
+
}), t;
|
|
1166
|
+
}, [s, a]), d = ae(() => {
|
|
1167
|
+
var Y, B;
|
|
1168
|
+
const t = ((B = (Y = a.servers) == null ? void 0 : Y[0]) == null ? void 0 : B.url) || "http://localhost:8545", n = {
|
|
1169
|
+
jsonrpc: "2.0",
|
|
1170
|
+
method: s.name,
|
|
1171
|
+
params: l ? p : _,
|
|
1172
|
+
id: 1
|
|
1173
|
+
};
|
|
1174
|
+
let c = '-H "Content-Type: application/json"';
|
|
1175
|
+
const u = s.security || a.security;
|
|
1176
|
+
return u && u.forEach((N) => {
|
|
1177
|
+
Object.keys(N).forEach((z) => {
|
|
1178
|
+
var oe, ie;
|
|
1179
|
+
const P = (ie = (oe = a.components) == null ? void 0 : oe.securitySchemes) == null ? void 0 : ie[z], Q = r[z];
|
|
1180
|
+
P && Q && (P.type === "http" && P.scheme === "bearer" ? c += ` \\
|
|
1181
|
+
-H "Authorization: Bearer ${Q}"` : P.type === "apiKey" && P.in === "header" && (c += ` \\
|
|
1182
|
+
-H "${P.name}: ${Q}"`));
|
|
1183
|
+
});
|
|
1184
|
+
}), `curl -X POST "${t}" \\
|
|
1185
|
+
${c} \\
|
|
1186
|
+
-d '${JSON.stringify(n)}'`;
|
|
1187
|
+
}, [s, a, p, l, _, r]), C = s.security && s.security.length > 0 || a.security && a.security.length > 0;
|
|
1188
|
+
return /* @__PURE__ */ e.jsxs("div", { id: `method-${s.name}`, className: `bg-white border rounded-lg shadow-sm mb-6 overflow-hidden group transition-all duration-200 ${o ? "border-primary ring-1 ring-primary/20" : "border-slate-200 hover:border-slate-300"}`, children: [
|
|
1189
|
+
/* @__PURE__ */ e.jsxs(
|
|
1190
|
+
"div",
|
|
1191
|
+
{
|
|
1192
|
+
onClick: () => x(!o),
|
|
1193
|
+
className: `px-4 py-3 cursor-pointer flex items-center justify-between transition-colors ${o ? "bg-slate-50 border-b border-slate-100" : "bg-white hover:bg-slate-50"}`,
|
|
1194
|
+
children: [
|
|
1195
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3 overflow-hidden", children: [
|
|
1196
|
+
/* @__PURE__ */ e.jsx("button", { className: "text-slate-400 hover:text-slate-600", children: o ? /* @__PURE__ */ e.jsx(D, { size: 20 }) : /* @__PURE__ */ e.jsx(G, { size: 20 }) }),
|
|
1197
|
+
/* @__PURE__ */ e.jsx("span", { className: `flex-shrink-0 px-2.5 py-1 rounded text-xs font-bold uppercase tracking-wide border ${s.deprecated ? "bg-slate-100 border-slate-200 text-slate-500 decoration-line-through" : "bg-blue-50 border-blue-100 text-blue-600"}`, children: "POST" }),
|
|
1198
|
+
/* @__PURE__ */ e.jsx("h2", { className: `text-lg font-bold font-mono text-slate-800 truncate ${s.deprecated && "line-through text-slate-500"}`, children: s.name }),
|
|
1199
|
+
/* @__PURE__ */ e.jsxs("span", { className: "text-slate-400 text-sm hidden md:inline-block", children: [
|
|
1200
|
+
"- ",
|
|
1201
|
+
s.summary
|
|
1202
|
+
] })
|
|
1203
|
+
] }),
|
|
1204
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3 flex-shrink-0", onClick: (t) => t.stopPropagation(), children: [
|
|
1205
|
+
C && /* @__PURE__ */ e.jsx("span", { title: "Authentication required", className: "flex items-center", children: /* @__PURE__ */ e.jsx(ye, { size: 14, className: "text-slate-400" }) }),
|
|
1206
|
+
s.deprecated && /* @__PURE__ */ e.jsx("span", { className: "text-red-600 text-[10px] font-bold border border-red-200 bg-red-50 px-2 py-0.5 rounded uppercase", children: "Deprecated" }),
|
|
1207
|
+
/* @__PURE__ */ e.jsx("button", { onClick: L, className: "text-slate-400 hover:text-slate-600 p-1 rounded hover:bg-slate-200", title: "Copy method name", children: b ? /* @__PURE__ */ e.jsx(qe, { size: 16, className: "text-green-500" }) : /* @__PURE__ */ e.jsx(he, { size: 16 }) })
|
|
1208
|
+
] })
|
|
1209
|
+
]
|
|
1210
|
+
}
|
|
1211
|
+
),
|
|
1212
|
+
o && /* @__PURE__ */ e.jsxs("div", { className: "p-6 animate-in slide-in-from-top-2 duration-200", children: [
|
|
1213
|
+
/* @__PURE__ */ e.jsx("p", { className: "text-slate-600 mb-6 text-sm leading-relaxed", children: s.description || s.summary }),
|
|
1214
|
+
s.tags && s.tags.length > 0 && /* @__PURE__ */ e.jsx("div", { className: "flex gap-2 mb-6", children: s.tags.map((t) => /* @__PURE__ */ e.jsx("span", { className: "text-xs font-medium text-slate-500 bg-slate-100 px-2 py-1 rounded-full border border-slate-200", children: t }, t)) }),
|
|
1215
|
+
/* @__PURE__ */ e.jsxs("div", { className: "mb-6 border border-slate-200 rounded-lg overflow-hidden shadow-sm", children: [
|
|
1216
|
+
/* @__PURE__ */ e.jsxs(
|
|
1217
|
+
"div",
|
|
1218
|
+
{
|
|
1219
|
+
className: "bg-slate-50 px-4 py-2 flex items-center justify-between border-b border-slate-200 cursor-pointer hover:bg-slate-100 transition-colors",
|
|
1220
|
+
onClick: () => A(!S),
|
|
1221
|
+
children: [
|
|
1222
|
+
/* @__PURE__ */ e.jsxs("h3", { className: "text-sm font-bold text-slate-700 uppercase tracking-wider flex items-center gap-2", children: [
|
|
1223
|
+
S ? /* @__PURE__ */ e.jsx(D, { size: 14 }) : /* @__PURE__ */ e.jsx(G, { size: 14 }),
|
|
1224
|
+
"Request Params"
|
|
1225
|
+
] }),
|
|
1226
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-4", onClick: (t) => t.stopPropagation(), children: [
|
|
1227
|
+
!l && /* @__PURE__ */ e.jsxs("div", { className: "flex bg-slate-200 rounded p-0.5", children: [
|
|
1228
|
+
/* @__PURE__ */ e.jsxs(
|
|
1229
|
+
"button",
|
|
1230
|
+
{
|
|
1231
|
+
onClick: () => H("schema"),
|
|
1232
|
+
className: `flex items-center gap-1 px-3 py-0.5 text-xs font-medium rounded-sm transition-all ${U === "schema" ? "bg-white text-slate-800 shadow-sm" : "text-slate-500 hover:text-slate-700"}`,
|
|
1233
|
+
children: [
|
|
1234
|
+
/* @__PURE__ */ e.jsx(ue, { size: 12 }),
|
|
1235
|
+
" Schema"
|
|
1236
|
+
]
|
|
1237
|
+
}
|
|
1238
|
+
),
|
|
1239
|
+
/* @__PURE__ */ e.jsxs(
|
|
1240
|
+
"button",
|
|
1241
|
+
{
|
|
1242
|
+
onClick: () => H("example"),
|
|
1243
|
+
className: `flex items-center gap-1 px-3 py-0.5 text-xs font-medium rounded-sm transition-all ${U === "example" ? "bg-white text-slate-800 shadow-sm" : "text-slate-500 hover:text-slate-700"}`,
|
|
1244
|
+
children: [
|
|
1245
|
+
/* @__PURE__ */ e.jsx(fe, { size: 12 }),
|
|
1246
|
+
" Example"
|
|
1247
|
+
]
|
|
1248
|
+
}
|
|
1249
|
+
)
|
|
1250
|
+
] }),
|
|
1251
|
+
/* @__PURE__ */ e.jsxs(
|
|
1252
|
+
"button",
|
|
1253
|
+
{
|
|
1254
|
+
onClick: () => {
|
|
1255
|
+
h(!l), S || A(!0);
|
|
1256
|
+
},
|
|
1257
|
+
className: `flex items-center gap-2 px-3 py-1 rounded-full text-xs font-bold transition-all border
|
|
1258
|
+
${l ? "bg-slate-800 text-white border-slate-800 hover:bg-slate-700" : "bg-white text-slate-600 border-slate-300 hover:border-primary hover:text-primary"}`,
|
|
1259
|
+
children: [
|
|
1260
|
+
l ? /* @__PURE__ */ e.jsx(ne, { size: 12 }) : /* @__PURE__ */ e.jsx(be, { size: 12 }),
|
|
1261
|
+
l ? "Cancel" : "Try it"
|
|
1262
|
+
]
|
|
1263
|
+
}
|
|
1264
|
+
)
|
|
1265
|
+
] })
|
|
1266
|
+
]
|
|
1267
|
+
}
|
|
1268
|
+
),
|
|
1269
|
+
S && /* @__PURE__ */ e.jsx("div", { className: "p-0 bg-white", children: l ? (
|
|
1270
|
+
// EDIT MODE
|
|
1271
|
+
/* @__PURE__ */ e.jsxs("div", { className: "p-4 space-y-4", children: [
|
|
1272
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ e.jsx(
|
|
1273
|
+
"button",
|
|
1274
|
+
{
|
|
1275
|
+
onClick: m,
|
|
1276
|
+
className: "text-xs text-primary font-medium hover:underline flex items-center gap-1",
|
|
1277
|
+
children: "Autofill Example"
|
|
1278
|
+
}
|
|
1279
|
+
) }),
|
|
1280
|
+
s.params.length === 0 && /* @__PURE__ */ e.jsx("div", { className: "text-slate-400 italic text-sm", children: "No parameters required." }),
|
|
1281
|
+
s.params.map((t) => {
|
|
1282
|
+
const n = t.schema.type === "object" || t.schema.type === "array" || t.schema.$ref, c = JSON.stringify(M(t.schema, a), null, 2);
|
|
1283
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-[150px_1fr] gap-4 p-4 bg-slate-50 rounded border border-slate-100", children: [
|
|
1284
|
+
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
1285
|
+
/* @__PURE__ */ e.jsxs("label", { className: "block text-sm font-bold text-slate-700", children: [
|
|
1286
|
+
t.name,
|
|
1287
|
+
t.required && /* @__PURE__ */ e.jsx("span", { className: "text-red-500 ml-1", children: "*" })
|
|
1288
|
+
] }),
|
|
1289
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mt-1 font-mono", children: Array.isArray(t.schema.type) ? t.schema.type.join("|") : t.schema.type || "any" })
|
|
1290
|
+
] }),
|
|
1291
|
+
/* @__PURE__ */ e.jsx("div", { children: n ? /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
|
|
1292
|
+
/* @__PURE__ */ e.jsx(
|
|
1293
|
+
"textarea",
|
|
1294
|
+
{
|
|
1295
|
+
className: "w-full h-32 px-3 py-2 border border-slate-300 rounded focus:outline-none focus:ring-2 focus:ring-primary/50 text-xs font-mono bg-white leading-relaxed resize-y",
|
|
1296
|
+
placeholder: c,
|
|
1297
|
+
value: typeof p[t.name] == "object" ? JSON.stringify(p[t.name], null, 2) : p[t.name] || "",
|
|
1298
|
+
onChange: (u) => {
|
|
1299
|
+
J(t.name, u.target.value);
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
),
|
|
1303
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mt-1 flex justify-between", children: /* @__PURE__ */ e.jsx("span", { children: t.description }) })
|
|
1304
|
+
] }) : /* @__PURE__ */ e.jsxs("div", { children: [
|
|
1305
|
+
/* @__PURE__ */ e.jsx(
|
|
1306
|
+
"input",
|
|
1307
|
+
{
|
|
1308
|
+
type: "text",
|
|
1309
|
+
className: "w-full px-3 py-2 border border-slate-300 rounded focus:outline-none focus:ring-2 focus:ring-primary/50 text-sm font-mono bg-white",
|
|
1310
|
+
placeholder: String(M(t.schema, a)),
|
|
1311
|
+
value: p[t.name] || "",
|
|
1312
|
+
onChange: (u) => J(t.name, u.target.value)
|
|
1313
|
+
}
|
|
1314
|
+
),
|
|
1315
|
+
t.description && /* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-500 mt-1", children: t.description })
|
|
1316
|
+
] }) })
|
|
1317
|
+
] }, t.name);
|
|
1318
|
+
})
|
|
1319
|
+
] })
|
|
1320
|
+
) : (
|
|
1321
|
+
// VIEW MODE
|
|
1322
|
+
/* @__PURE__ */ e.jsx("div", { className: "p-0", children: U === "schema" ? s.params.length === 0 ? /* @__PURE__ */ e.jsx("div", { className: "p-4 text-slate-400 italic text-sm", children: "No parameters" }) : /* @__PURE__ */ e.jsx("div", { className: "divide-y divide-slate-100", children: s.params.map((t) => /* @__PURE__ */ e.jsxs("div", { className: "p-4 hover:bg-slate-50/50", children: [
|
|
1323
|
+
/* @__PURE__ */ e.jsx(
|
|
1324
|
+
q,
|
|
1325
|
+
{
|
|
1326
|
+
schema: t.schema,
|
|
1327
|
+
rootDoc: a,
|
|
1328
|
+
name: t.name,
|
|
1329
|
+
isRequired: t.required
|
|
1330
|
+
}
|
|
1331
|
+
),
|
|
1332
|
+
t.description && /* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-500 ml-6 mt-2", children: t.description })
|
|
1333
|
+
] }, t.name)) }) : /* @__PURE__ */ e.jsx(se, { data: _ || {}, className: "!bg-slate-900 !text-slate-50 !rounded-none !border-0 !p-6" }) })
|
|
1334
|
+
) }),
|
|
1335
|
+
l && S && /* @__PURE__ */ e.jsx("div", { className: "bg-slate-100 px-6 py-4 border-t border-slate-200", children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-4", children: [
|
|
1336
|
+
/* @__PURE__ */ e.jsxs(
|
|
1337
|
+
"button",
|
|
1338
|
+
{
|
|
1339
|
+
onClick: W,
|
|
1340
|
+
disabled: f,
|
|
1341
|
+
className: "bg-primary hover:bg-lime-600 text-white px-8 py-2.5 rounded shadow-sm transition-all flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed font-bold",
|
|
1342
|
+
children: [
|
|
1343
|
+
f ? /* @__PURE__ */ e.jsx("div", { className: "w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin" }) : /* @__PURE__ */ e.jsx(be, { size: 18, fill: "currentColor" }),
|
|
1344
|
+
"Execute"
|
|
1345
|
+
]
|
|
1346
|
+
}
|
|
1347
|
+
),
|
|
1348
|
+
/* @__PURE__ */ e.jsx(
|
|
1349
|
+
"button",
|
|
1350
|
+
{
|
|
1351
|
+
className: "text-slate-500 text-sm hover:text-slate-800 transition-colors",
|
|
1352
|
+
onClick: () => {
|
|
1353
|
+
k({}), j(null), g(null);
|
|
1354
|
+
},
|
|
1355
|
+
children: "Clear"
|
|
1356
|
+
}
|
|
1357
|
+
)
|
|
1358
|
+
] }) })
|
|
1359
|
+
] }),
|
|
1360
|
+
w && /* @__PURE__ */ e.jsxs("div", { className: "mb-8 border border-slate-200 rounded-lg overflow-hidden animate-in fade-in slide-in-from-top-2 duration-200 shadow-md", children: [
|
|
1361
|
+
/* @__PURE__ */ e.jsxs("div", { className: "bg-slate-800 text-slate-50 px-4 py-3 flex items-center justify-between", children: [
|
|
1362
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-sm font-bold uppercase tracking-wider", children: "Execution Result" }),
|
|
1363
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1364
|
+
/* @__PURE__ */ e.jsx("span", { className: `text-xs font-mono px-2 py-0.5 rounded border ${w.error ? "bg-red-500/20 border-red-500 text-red-200" : "bg-green-500/20 border-green-500 text-green-200"}`, children: w.error ? "ERROR" : "200 OK" }),
|
|
1365
|
+
/* @__PURE__ */ e.jsx("button", { onClick: () => j(null), className: "text-slate-400 hover:text-white", children: /* @__PURE__ */ e.jsx(ne, { size: 14 }) })
|
|
1366
|
+
] })
|
|
1367
|
+
] }),
|
|
1368
|
+
/* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 divide-y divide-slate-700/50 bg-slate-900", children: [
|
|
1369
|
+
/* @__PURE__ */ e.jsxs("div", { className: "p-4", children: [
|
|
1370
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mb-2 font-bold uppercase", children: "Curl" }),
|
|
1371
|
+
/* @__PURE__ */ e.jsxs("div", { className: "relative group", children: [
|
|
1372
|
+
/* @__PURE__ */ e.jsx("pre", { className: "text-xs text-slate-300 font-mono whitespace-pre-wrap break-all bg-black/30 p-3 rounded border border-white/5", children: d }),
|
|
1373
|
+
/* @__PURE__ */ e.jsx(
|
|
1374
|
+
"button",
|
|
1375
|
+
{
|
|
1376
|
+
onClick: () => navigator.clipboard.writeText(d),
|
|
1377
|
+
className: "absolute top-2 right-2 text-slate-500 hover:text-white opacity-0 group-hover:opacity-100 transition-opacity",
|
|
1378
|
+
children: /* @__PURE__ */ e.jsx(he, { size: 14 })
|
|
1379
|
+
}
|
|
1380
|
+
)
|
|
1381
|
+
] })
|
|
1382
|
+
] }),
|
|
1383
|
+
/* @__PURE__ */ e.jsxs("div", { className: "p-4", children: [
|
|
1384
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mb-2 font-bold uppercase", children: "Request URL" }),
|
|
1385
|
+
/* @__PURE__ */ e.jsx("code", { className: "text-xs text-sky-300 font-mono", children: ((I = (T = a.servers) == null ? void 0 : T[0]) == null ? void 0 : I.url) || "http://localhost:8545" })
|
|
1386
|
+
] }),
|
|
1387
|
+
/* @__PURE__ */ e.jsxs("div", { className: "p-4", children: [
|
|
1388
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mb-2 font-bold uppercase", children: "Server Response" }),
|
|
1389
|
+
/* @__PURE__ */ e.jsx(se, { data: w, className: "!bg-black/30 !border-white/5 !p-4" })
|
|
1390
|
+
] }),
|
|
1391
|
+
R && /* @__PURE__ */ e.jsxs("div", { className: "p-4", children: [
|
|
1392
|
+
/* @__PURE__ */ e.jsx("div", { className: "text-xs text-slate-400 mb-2 font-bold uppercase", children: "Response Headers" }),
|
|
1393
|
+
/* @__PURE__ */ e.jsx("pre", { className: "text-xs text-emerald-300 font-mono bg-black/30 p-3 rounded border border-white/5", children: Object.entries(R).map(([t, n]) => `${t}: ${n}`).join(`
|
|
1394
|
+
`) })
|
|
1395
|
+
] })
|
|
1396
|
+
] })
|
|
1397
|
+
] }),
|
|
1398
|
+
s.result && /* @__PURE__ */ e.jsxs("div", { className: "mb-6 border border-slate-200 rounded-lg overflow-hidden shadow-sm", children: [
|
|
1399
|
+
/* @__PURE__ */ e.jsxs(
|
|
1400
|
+
"div",
|
|
1401
|
+
{
|
|
1402
|
+
className: "bg-slate-50 px-4 py-2 flex items-center justify-between border-b border-slate-200 cursor-pointer hover:bg-slate-100 transition-colors",
|
|
1403
|
+
onClick: () => X(!O),
|
|
1404
|
+
children: [
|
|
1405
|
+
/* @__PURE__ */ e.jsxs("h3", { className: "text-sm font-bold text-slate-700 uppercase tracking-wider flex items-center gap-2", children: [
|
|
1406
|
+
O ? /* @__PURE__ */ e.jsx(D, { size: 14 }) : /* @__PURE__ */ e.jsx(G, { size: 14 }),
|
|
1407
|
+
"Response Result"
|
|
1408
|
+
] }),
|
|
1409
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex bg-slate-200 rounded p-0.5", onClick: (t) => t.stopPropagation(), children: [
|
|
1410
|
+
/* @__PURE__ */ e.jsxs(
|
|
1411
|
+
"button",
|
|
1412
|
+
{
|
|
1413
|
+
onClick: () => V("schema"),
|
|
1414
|
+
className: `flex items-center gap-1 px-3 py-0.5 text-xs font-medium rounded-sm transition-all ${F === "schema" ? "bg-white text-slate-800 shadow-sm" : "text-slate-500 hover:text-slate-700"}`,
|
|
1415
|
+
children: [
|
|
1416
|
+
/* @__PURE__ */ e.jsx(ue, { size: 12 }),
|
|
1417
|
+
" Schema"
|
|
1418
|
+
]
|
|
1419
|
+
}
|
|
1420
|
+
),
|
|
1421
|
+
/* @__PURE__ */ e.jsxs(
|
|
1422
|
+
"button",
|
|
1423
|
+
{
|
|
1424
|
+
onClick: () => V("example"),
|
|
1425
|
+
className: `flex items-center gap-1 px-3 py-0.5 text-xs font-medium rounded-sm transition-all ${F === "example" ? "bg-white text-slate-800 shadow-sm" : "text-slate-500 hover:text-slate-700"}`,
|
|
1426
|
+
children: [
|
|
1427
|
+
/* @__PURE__ */ e.jsx(fe, { size: 12 }),
|
|
1428
|
+
" Example"
|
|
1429
|
+
]
|
|
1430
|
+
}
|
|
1431
|
+
)
|
|
1432
|
+
] })
|
|
1433
|
+
]
|
|
1434
|
+
}
|
|
1435
|
+
),
|
|
1436
|
+
O && /* @__PURE__ */ e.jsx("div", { className: "bg-white", children: F === "schema" ? /* @__PURE__ */ e.jsxs("div", { className: "p-4", children: [
|
|
1437
|
+
/* @__PURE__ */ e.jsx("div", { className: "font-mono text-sm text-slate-700 font-semibold mb-2", children: s.result.name }),
|
|
1438
|
+
s.result.description && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-slate-600 mb-3", children: s.result.description }),
|
|
1439
|
+
/* @__PURE__ */ e.jsx(q, { schema: s.result.schema, rootDoc: a })
|
|
1440
|
+
] }) : /* @__PURE__ */ e.jsx(se, { data: ((K = (Z = ($ = s.examples) == null ? void 0 : $[0]) == null ? void 0 : Z.result) == null ? void 0 : K.value) || M(s.result.schema, a), className: "!bg-slate-900 !text-slate-50 !rounded-none !border-0 !p-6" }) })
|
|
1441
|
+
] }),
|
|
1442
|
+
s.errors && s.errors.length > 0 && /* @__PURE__ */ e.jsxs("div", { className: "mb-6 border border-slate-200 rounded-lg overflow-hidden shadow-sm", children: [
|
|
1443
|
+
/* @__PURE__ */ e.jsx("div", { className: "bg-slate-50 px-4 py-2 border-b border-slate-200", children: /* @__PURE__ */ e.jsx("h3", { className: "text-sm font-bold text-slate-700 uppercase tracking-wider", children: "Errors" }) }),
|
|
1444
|
+
/* @__PURE__ */ e.jsx("div", { className: "bg-white", children: /* @__PURE__ */ e.jsxs("table", { className: "w-full text-left text-sm", children: [
|
|
1445
|
+
/* @__PURE__ */ e.jsx("thead", { className: "bg-slate-50 text-slate-500 font-medium border-b border-slate-100", children: /* @__PURE__ */ e.jsxs("tr", { children: [
|
|
1446
|
+
/* @__PURE__ */ e.jsx("th", { className: "px-4 py-2 w-24", children: "Code" }),
|
|
1447
|
+
/* @__PURE__ */ e.jsx("th", { className: "px-4 py-2", children: "Message" }),
|
|
1448
|
+
/* @__PURE__ */ e.jsx("th", { className: "px-4 py-2", children: "Description" })
|
|
1449
|
+
] }) }),
|
|
1450
|
+
/* @__PURE__ */ e.jsx("tbody", { className: "divide-y divide-slate-100", children: s.errors.map((t, n) => /* @__PURE__ */ e.jsxs("tr", { className: "hover:bg-slate-50 transition-colors", children: [
|
|
1451
|
+
/* @__PURE__ */ e.jsx("td", { className: "px-4 py-2 font-mono text-red-600 font-bold", children: t.code }),
|
|
1452
|
+
/* @__PURE__ */ e.jsx("td", { className: "px-4 py-2 text-slate-800 font-medium", children: t.message }),
|
|
1453
|
+
/* @__PURE__ */ e.jsx("td", { className: "px-4 py-2 text-slate-600 text-xs", children: t.data ? typeof t.data == "string" ? t.data : /* @__PURE__ */ e.jsx(se, { data: t.data, className: "!p-1 !bg-slate-100 !text-slate-700 max-h-20 overflow-auto" }) : /* @__PURE__ */ e.jsx("span", { className: "text-slate-400 italic", children: "No details" }) })
|
|
1454
|
+
] }, n)) })
|
|
1455
|
+
] }) })
|
|
1456
|
+
] })
|
|
1457
|
+
] })
|
|
1458
|
+
] });
|
|
1459
|
+
};
|
|
1460
|
+
function ft({ url: s, initialSpec: a }) {
|
|
1461
|
+
var L, W, J;
|
|
1462
|
+
const [r, o] = y(a || Ce), [x, l] = y(null), [h, p] = y(null), [k, w] = y(!1), [j, R] = y(""), [g, f] = y(!1), [i, b] = y(!1), [E, S] = y({}), [A, O] = y(null);
|
|
1463
|
+
ce(() => {
|
|
1464
|
+
const m = () => {
|
|
1465
|
+
const _ = r.methods;
|
|
1466
|
+
for (const d of _) {
|
|
1467
|
+
const C = document.getElementById(`method-${d.name}`);
|
|
1468
|
+
if (C) {
|
|
1469
|
+
const T = C.getBoundingClientRect();
|
|
1470
|
+
if (T.top >= 0 && T.top <= 200) {
|
|
1471
|
+
l(d.name);
|
|
1472
|
+
break;
|
|
1473
|
+
}
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
};
|
|
1477
|
+
return window.addEventListener("scroll", m), () => window.removeEventListener("scroll", m);
|
|
1478
|
+
}, [r]), ce(() => {
|
|
1479
|
+
if (!s) return;
|
|
1480
|
+
const m = new AbortController();
|
|
1481
|
+
return (async () => {
|
|
1482
|
+
try {
|
|
1483
|
+
const d = await fetch(s, { signal: m.signal });
|
|
1484
|
+
if (!d.ok)
|
|
1485
|
+
throw new Error(`Could not fetch OpenRPC document (${d.status})`);
|
|
1486
|
+
const C = await d.json();
|
|
1487
|
+
if (!(C != null && C.openrpc))
|
|
1488
|
+
throw new Error("Invalid OpenRPC spec: missing 'openrpc' version");
|
|
1489
|
+
o(C), p(null);
|
|
1490
|
+
} catch (d) {
|
|
1491
|
+
if ((d == null ? void 0 : d.name) === "AbortError") return;
|
|
1492
|
+
p(`Failed to load from URL: ${d.message}`);
|
|
1493
|
+
}
|
|
1494
|
+
})(), () => m.abort();
|
|
1495
|
+
}, [s]);
|
|
1496
|
+
const X = (m) => {
|
|
1497
|
+
var C;
|
|
1498
|
+
const _ = (C = m.target.files) == null ? void 0 : C[0];
|
|
1499
|
+
if (!_) return;
|
|
1500
|
+
const d = new FileReader();
|
|
1501
|
+
d.onload = (T) => {
|
|
1502
|
+
var I;
|
|
1503
|
+
try {
|
|
1504
|
+
const $ = JSON.parse((I = T.target) == null ? void 0 : I.result);
|
|
1505
|
+
if (!$.openrpc) throw new Error("Invalid OpenRPC spec: missing 'openrpc' version");
|
|
1506
|
+
o($), p(null), w(!1);
|
|
1507
|
+
} catch ($) {
|
|
1508
|
+
p($.message);
|
|
1509
|
+
}
|
|
1510
|
+
}, d.readAsText(_);
|
|
1511
|
+
}, U = () => {
|
|
1512
|
+
try {
|
|
1513
|
+
const m = JSON.parse(j);
|
|
1514
|
+
if (!m.openrpc) throw new Error("Missing 'openrpc' field");
|
|
1515
|
+
o(m), p(null), w(!1);
|
|
1516
|
+
} catch (m) {
|
|
1517
|
+
p("Invalid JSON: " + m.message);
|
|
1518
|
+
}
|
|
1519
|
+
}, H = (m, _) => {
|
|
1520
|
+
S((d) => ({ ...d, [m]: _ }));
|
|
1521
|
+
}, F = () => {
|
|
1522
|
+
const m = new Blob([JSON.stringify(r, null, 2)], { type: "application/json" }), _ = URL.createObjectURL(m), d = document.createElement("a");
|
|
1523
|
+
d.href = _, d.download = "openrpc.json", document.body.appendChild(d), d.click(), document.body.removeChild(d), URL.revokeObjectURL(_);
|
|
1524
|
+
}, V = ((L = r.components) == null ? void 0 : L.securitySchemes) && Object.keys(r.components.securitySchemes).length > 0;
|
|
1525
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "flex min-h-screen bg-slate-50", children: [
|
|
1526
|
+
/* @__PURE__ */ e.jsx(
|
|
1527
|
+
ut,
|
|
1528
|
+
{
|
|
1529
|
+
spec: r,
|
|
1530
|
+
activeMethod: x,
|
|
1531
|
+
onSelectMethod: l,
|
|
1532
|
+
onSelectSchema: O,
|
|
1533
|
+
isOpen: g,
|
|
1534
|
+
onClose: () => f(!1)
|
|
1535
|
+
}
|
|
1536
|
+
),
|
|
1537
|
+
/* @__PURE__ */ e.jsxs("main", { className: "flex-1 min-w-0", children: [
|
|
1538
|
+
/* @__PURE__ */ e.jsxs("header", { className: "bg-white border-b border-slate-200 py-3 md:py-4 px-4 md:px-8 flex items-center justify-between sticky top-0 z-30 shadow-sm/50 backdrop-blur-sm bg-white/90", children: [
|
|
1539
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1540
|
+
/* @__PURE__ */ e.jsx(
|
|
1541
|
+
"button",
|
|
1542
|
+
{
|
|
1543
|
+
onClick: () => f(!0),
|
|
1544
|
+
className: "md:hidden p-2 -ml-2 text-slate-500 hover:text-slate-800",
|
|
1545
|
+
children: /* @__PURE__ */ e.jsx(nt, { size: 24 })
|
|
1546
|
+
}
|
|
1547
|
+
),
|
|
1548
|
+
/* @__PURE__ */ e.jsxs("div", { className: "overflow-hidden", children: [
|
|
1549
|
+
/* @__PURE__ */ e.jsx("h2", { className: "text-lg md:text-xl font-bold text-slate-800 truncate", children: r.info.title }),
|
|
1550
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2 md:gap-4 text-xs text-slate-500 mt-0.5", children: [
|
|
1551
|
+
/* @__PURE__ */ e.jsx("span", { className: "flex-shrink-0", children: r.info.version }),
|
|
1552
|
+
r.servers && r.servers.length > 0 && /* @__PURE__ */ e.jsx("span", { className: "bg-slate-100 px-1.5 py-0.5 rounded text-[10px] md:text-xs font-mono text-slate-600 truncate hidden sm:inline-block", children: r.servers[0].url })
|
|
1553
|
+
] })
|
|
1554
|
+
] })
|
|
1555
|
+
] }),
|
|
1556
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-1 md:gap-2 flex-shrink-0", children: [
|
|
1557
|
+
V && /* @__PURE__ */ e.jsxs(
|
|
1558
|
+
"button",
|
|
1559
|
+
{
|
|
1560
|
+
onClick: () => b(!0),
|
|
1561
|
+
className: `flex items-center gap-1.5 md:gap-2 text-xs md:text-sm font-medium transition-colors px-3 md:px-4 py-1.5 md:py-2 rounded-full border ${Object.keys(E).length > 0 ? "bg-green-50 text-green-700 border-green-200 hover:bg-green-100" : "bg-white text-slate-600 border-slate-200 hover:text-primary hover:border-primary"}`,
|
|
1562
|
+
children: [
|
|
1563
|
+
Object.keys(E).length > 0 ? /* @__PURE__ */ e.jsx(ye, { size: 16 }) : /* @__PURE__ */ e.jsx(st, { size: 16 }),
|
|
1564
|
+
/* @__PURE__ */ e.jsx("span", { className: "hidden sm:inline", children: "Authorize" })
|
|
1565
|
+
]
|
|
1566
|
+
}
|
|
1567
|
+
),
|
|
1568
|
+
/* @__PURE__ */ e.jsxs(
|
|
1569
|
+
"button",
|
|
1570
|
+
{
|
|
1571
|
+
onClick: F,
|
|
1572
|
+
className: "flex items-center gap-1.5 md:gap-2 text-xs md:text-sm font-medium text-slate-600 hover:text-primary transition-colors bg-white hover:bg-slate-50 px-3 md:px-4 py-1.5 md:py-2 rounded-full border border-slate-200",
|
|
1573
|
+
title: "Download OpenRPC spec",
|
|
1574
|
+
children: [
|
|
1575
|
+
/* @__PURE__ */ e.jsx(Be, { size: 18 }),
|
|
1576
|
+
/* @__PURE__ */ e.jsx("span", { className: "hidden sm:inline", children: "Raw Spec" })
|
|
1577
|
+
]
|
|
1578
|
+
}
|
|
1579
|
+
),
|
|
1580
|
+
/* @__PURE__ */ e.jsxs(
|
|
1581
|
+
"button",
|
|
1582
|
+
{
|
|
1583
|
+
onClick: () => w(!k),
|
|
1584
|
+
className: "flex items-center gap-1.5 md:gap-2 text-xs md:text-sm font-medium text-slate-600 hover:text-primary transition-colors bg-slate-50 hover:bg-slate-100 px-3 md:px-4 py-1.5 md:py-2 rounded-full border border-slate-200",
|
|
1585
|
+
children: [
|
|
1586
|
+
/* @__PURE__ */ e.jsx(Ge, { size: 18 }),
|
|
1587
|
+
/* @__PURE__ */ e.jsx("span", { className: "hidden sm:inline", children: "Load Spec" })
|
|
1588
|
+
]
|
|
1589
|
+
}
|
|
1590
|
+
)
|
|
1591
|
+
] })
|
|
1592
|
+
] }),
|
|
1593
|
+
k && /* @__PURE__ */ e.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-slate-900/50 backdrop-blur-sm", children: /* @__PURE__ */ e.jsxs("div", { className: "bg-white rounded-xl shadow-2xl max-w-2xl w-full p-6 animate-in fade-in zoom-in-95 duration-200 overflow-y-auto max-h-[90vh]", children: [
|
|
1594
|
+
/* @__PURE__ */ e.jsx("h3", { className: "text-xl font-bold mb-4 text-slate-800", children: "Load OpenRPC spec" }),
|
|
1595
|
+
/* @__PURE__ */ e.jsxs("div", { className: "mb-6", children: [
|
|
1596
|
+
/* @__PURE__ */ e.jsx("label", { className: "block text-sm font-medium text-slate-700 mb-2", children: "Paste JSON" }),
|
|
1597
|
+
/* @__PURE__ */ e.jsx(
|
|
1598
|
+
"textarea",
|
|
1599
|
+
{
|
|
1600
|
+
className: "w-full h-40 border border-slate-300 rounded-lg p-3 font-mono text-xs focus:ring-2 focus:ring-primary focus:border-transparent outline-none resize-none",
|
|
1601
|
+
value: j,
|
|
1602
|
+
onChange: (m) => R(m.target.value),
|
|
1603
|
+
placeholder: '{"openrpc": "1.2.6", ...}'
|
|
1604
|
+
}
|
|
1605
|
+
)
|
|
1606
|
+
] }),
|
|
1607
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-4 mb-6", children: [
|
|
1608
|
+
/* @__PURE__ */ e.jsx("div", { className: "h-px bg-slate-200 flex-1" }),
|
|
1609
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-xs text-slate-400 uppercase font-bold", children: "OR" }),
|
|
1610
|
+
/* @__PURE__ */ e.jsx("div", { className: "h-px bg-slate-200 flex-1" })
|
|
1611
|
+
] }),
|
|
1612
|
+
/* @__PURE__ */ e.jsx("div", { className: "mb-6 text-center", children: /* @__PURE__ */ e.jsxs("label", { className: "cursor-pointer inline-flex flex-col items-center justify-center border-2 border-dashed border-slate-300 rounded-lg p-6 hover:bg-slate-50 hover:border-primary transition-all w-full group", children: [
|
|
1613
|
+
/* @__PURE__ */ e.jsx(mt, { className: "text-slate-400 group-hover:text-primary mb-2", size: 32 }),
|
|
1614
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-sm text-slate-600", children: "Click to upload .json file" }),
|
|
1615
|
+
/* @__PURE__ */ e.jsx("input", { type: "file", className: "hidden", accept: ".json", onChange: X })
|
|
1616
|
+
] }) }),
|
|
1617
|
+
h && /* @__PURE__ */ e.jsxs("div", { className: "mb-4 p-3 bg-red-50 text-red-600 text-sm rounded border border-red-200 flex items-center gap-2", children: [
|
|
1618
|
+
/* @__PURE__ */ e.jsx(Ye, { size: 16 }),
|
|
1619
|
+
h
|
|
1620
|
+
] }),
|
|
1621
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-col-reverse sm:flex-row justify-end gap-3", children: [
|
|
1622
|
+
/* @__PURE__ */ e.jsx(
|
|
1623
|
+
"button",
|
|
1624
|
+
{
|
|
1625
|
+
onClick: () => w(!1),
|
|
1626
|
+
className: "px-4 py-2 text-slate-600 font-medium hover:bg-slate-100 rounded-lg transition-colors",
|
|
1627
|
+
children: "Cancel"
|
|
1628
|
+
}
|
|
1629
|
+
),
|
|
1630
|
+
/* @__PURE__ */ e.jsx(
|
|
1631
|
+
"button",
|
|
1632
|
+
{
|
|
1633
|
+
onClick: U,
|
|
1634
|
+
disabled: !j,
|
|
1635
|
+
className: "px-6 py-2 bg-primary text-white font-bold rounded-lg hover:bg-lime-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
1636
|
+
children: "Load JSON"
|
|
1637
|
+
}
|
|
1638
|
+
)
|
|
1639
|
+
] })
|
|
1640
|
+
] }) }),
|
|
1641
|
+
i && ((W = r.components) == null ? void 0 : W.securitySchemes) && /* @__PURE__ */ e.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-slate-900/50 backdrop-blur-sm", children: /* @__PURE__ */ e.jsxs("div", { className: "bg-white rounded-xl shadow-2xl max-w-lg w-full p-6 animate-in fade-in zoom-in-95 duration-200 overflow-y-auto max-h-[90vh]", children: [
|
|
1642
|
+
/* @__PURE__ */ e.jsx("h3", { className: "text-xl font-bold mb-2 text-slate-800", children: "Available Authorizations" }),
|
|
1643
|
+
/* @__PURE__ */ e.jsx("p", { className: "text-slate-500 text-sm mb-6", children: 'These credentials will be sent with requests in the "Try it out" section.' }),
|
|
1644
|
+
/* @__PURE__ */ e.jsx("div", { className: "space-y-6 pr-2", children: Object.entries(r.components.securitySchemes).map(([m, _]) => {
|
|
1645
|
+
const d = _;
|
|
1646
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "border border-slate-200 p-4 rounded-lg bg-slate-50", children: [
|
|
1647
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-wrap items-center gap-2 mb-2", children: [
|
|
1648
|
+
/* @__PURE__ */ e.jsx("span", { className: "font-bold text-slate-700", children: m }),
|
|
1649
|
+
/* @__PURE__ */ e.jsxs("span", { className: "text-[10px] px-2 py-0.5 bg-white border border-slate-200 rounded text-slate-500 capitalize", children: [
|
|
1650
|
+
d.type,
|
|
1651
|
+
" ",
|
|
1652
|
+
d.scheme
|
|
1653
|
+
] })
|
|
1654
|
+
] }),
|
|
1655
|
+
/* @__PURE__ */ e.jsx("p", { className: "text-xs text-slate-500 mb-3", children: d.description || "Enter your credentials below." }),
|
|
1656
|
+
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
1657
|
+
/* @__PURE__ */ e.jsx("label", { className: "block text-xs font-bold text-slate-600 mb-1", children: d.type === "http" && d.scheme === "bearer" ? "Bearer Token" : "Value" }),
|
|
1658
|
+
/* @__PURE__ */ e.jsx(
|
|
1659
|
+
"input",
|
|
1660
|
+
{
|
|
1661
|
+
type: "text",
|
|
1662
|
+
className: "w-full border border-slate-300 rounded px-3 py-2 text-sm focus:ring-1 focus:ring-primary focus:outline-none",
|
|
1663
|
+
placeholder: d.type === "http" && d.scheme === "bearer" ? "e.g. eyJhbGciOi..." : "API Key",
|
|
1664
|
+
value: E[m] || "",
|
|
1665
|
+
onChange: (C) => H(m, C.target.value)
|
|
1666
|
+
}
|
|
1667
|
+
)
|
|
1668
|
+
] })
|
|
1669
|
+
] }, m);
|
|
1670
|
+
}) }),
|
|
1671
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex justify-end gap-3 mt-6 pt-4 border-t border-slate-100", children: /* @__PURE__ */ e.jsx(
|
|
1672
|
+
"button",
|
|
1673
|
+
{
|
|
1674
|
+
onClick: () => b(!1),
|
|
1675
|
+
className: "px-6 py-2 bg-slate-800 text-white font-bold rounded-lg hover:bg-slate-700 transition-colors w-full sm:w-auto",
|
|
1676
|
+
children: "Close"
|
|
1677
|
+
}
|
|
1678
|
+
) })
|
|
1679
|
+
] }) }),
|
|
1680
|
+
/* @__PURE__ */ e.jsxs("div", { className: "max-w-6xl mx-auto p-4 md:p-8", children: [
|
|
1681
|
+
/* @__PURE__ */ e.jsxs("div", { className: "bg-white p-6 md:p-8 rounded-lg shadow-sm border border-slate-200 mb-6 md:mb-10", children: [
|
|
1682
|
+
/* @__PURE__ */ e.jsxs("h1", { className: "text-2xl md:text-3xl font-bold text-slate-900 mb-4 flex flex-wrap items-baseline gap-2", children: [
|
|
1683
|
+
r.info.title,
|
|
1684
|
+
/* @__PURE__ */ e.jsxs("span", { className: "text-base md:text-lg font-normal text-slate-400", children: [
|
|
1685
|
+
"v",
|
|
1686
|
+
r.info.version
|
|
1687
|
+
] })
|
|
1688
|
+
] }),
|
|
1689
|
+
r.info.description && /* @__PURE__ */ e.jsx("div", { className: "prose prose-slate max-w-none text-slate-600 mb-6 text-sm md:text-base leading-relaxed", children: /* @__PURE__ */ e.jsx("p", { children: r.info.description }) }),
|
|
1690
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-wrap gap-4 md:gap-6 text-xs md:text-sm", children: [
|
|
1691
|
+
r.info.license && /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1692
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-slate-400", children: "License:" }),
|
|
1693
|
+
/* @__PURE__ */ e.jsx("span", { className: "font-medium text-slate-700", children: r.info.license.name })
|
|
1694
|
+
] }),
|
|
1695
|
+
r.info.contact && /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
1696
|
+
/* @__PURE__ */ e.jsx("span", { className: "text-slate-400", children: "Contact:" }),
|
|
1697
|
+
r.info.contact.email && /* @__PURE__ */ e.jsx("a", { href: `mailto:${r.info.contact.email}`, className: "text-primary hover:underline", children: r.info.contact.email })
|
|
1698
|
+
] })
|
|
1699
|
+
] })
|
|
1700
|
+
] }),
|
|
1701
|
+
/* @__PURE__ */ e.jsx("div", { className: "space-y-4 md:space-y-6", children: r.methods.map((m) => /* @__PURE__ */ e.jsx(
|
|
1702
|
+
ht,
|
|
1703
|
+
{
|
|
1704
|
+
method: m,
|
|
1705
|
+
rootDoc: r,
|
|
1706
|
+
securityValues: E
|
|
1707
|
+
},
|
|
1708
|
+
m.name
|
|
1709
|
+
)) }),
|
|
1710
|
+
/* @__PURE__ */ e.jsxs("div", { className: "mt-12 md:mt-20 pt-8 border-t border-slate-200 text-center text-slate-400 text-[10px] md:text-sm", children: [
|
|
1711
|
+
"OpenRPC Specification: ",
|
|
1712
|
+
r.openrpc
|
|
1713
|
+
] })
|
|
1714
|
+
] })
|
|
1715
|
+
] }),
|
|
1716
|
+
A && ((J = r.components) == null ? void 0 : J.schemas) && r.components.schemas[A] && /* @__PURE__ */ e.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-slate-900/40 backdrop-blur-sm", onClick: () => O(null), children: /* @__PURE__ */ e.jsxs("div", { className: "bg-white rounded-lg p-6 max-w-2xl w-full max-h-[85vh] overflow-y-auto shadow-2xl animate-in fade-in zoom-in-95", onClick: (m) => m.stopPropagation(), children: [
|
|
1717
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex justify-between items-center mb-4 border-b border-slate-100 pb-2 sticky top-0 bg-white z-10", children: [
|
|
1718
|
+
/* @__PURE__ */ e.jsx("h3", { className: "text-lg md:text-xl font-bold font-mono text-secondary truncate pr-4", children: A }),
|
|
1719
|
+
/* @__PURE__ */ e.jsx("button", { onClick: () => O(null), className: "text-slate-400 hover:text-slate-600 p-1", children: /* @__PURE__ */ e.jsx(ne, { size: 20 }) })
|
|
1720
|
+
] }),
|
|
1721
|
+
/* @__PURE__ */ e.jsx(q, { schema: r.components.schemas[A], rootDoc: r, expanded: !0 })
|
|
1722
|
+
] }) })
|
|
1723
|
+
] });
|
|
1724
|
+
}
|
|
1725
|
+
function gt(s) {
|
|
1726
|
+
return /* @__PURE__ */ e.jsx(ft, { ...s });
|
|
1727
|
+
}
|
|
1728
|
+
export {
|
|
1729
|
+
gt as default
|
|
1730
|
+
};
|