zudoku 0.42.2 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/entry.client.js +21 -0
- package/dist/app/entry.client.js.map +1 -1
- package/dist/config/loader.d.ts +1 -16
- package/dist/config/loader.js +9 -90
- package/dist/config/loader.js.map +1 -1
- package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
- package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
- package/dist/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
- package/dist/lib/plugins/openapi/components/ConstValue.js +6 -0
- package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +4 -2
- package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaView.js +8 -5
- package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js +40 -0
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
- package/dist/vite/config.js +1 -1
- package/dist/vite/config.js.map +1 -1
- package/lib/{OasProvider-CDtbrUG_.js → OasProvider-DOs0v9u7.js} +2 -2
- package/lib/{OasProvider-CDtbrUG_.js.map → OasProvider-DOs0v9u7.js.map} +1 -1
- package/lib/{OperationList-DTyJIxKW.js → OperationList-CKac6iap.js} +107 -78
- package/lib/{OperationList-DTyJIxKW.js.map → OperationList-CKac6iap.js.map} +1 -1
- package/lib/{SchemaList-B9lvArDe.js → SchemaList-BTX2mRMW.js} +3 -3
- package/lib/{SchemaList-B9lvArDe.js.map → SchemaList-BTX2mRMW.js.map} +1 -1
- package/lib/SchemaView-BYRn_-2l.js +388 -0
- package/lib/SchemaView-BYRn_-2l.js.map +1 -0
- package/lib/{index-Ckl3s_w-.js → index-DuB48L78.js} +4 -4
- package/lib/{index-Ckl3s_w-.js.map → index-DuB48L78.js.map} +1 -1
- package/lib/zudoku.plugin-openapi.js +1 -1
- package/package.json +2 -2
- package/src/app/entry.client.tsx +26 -0
- package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
- package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +4 -1
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +31 -15
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +45 -0
- package/lib/SchemaView-DXjql-Bl.js +0 -356
- package/lib/SchemaView-DXjql-Bl.js.map +0 -1
|
@@ -3,12 +3,12 @@ import { s as i } from "./index-LNp6rxyU.js";
|
|
|
3
3
|
import { d as j } from "./hook-CldJlP5c.js";
|
|
4
4
|
import { ChevronsUpDownIcon as N, ChevronsDownUpIcon as y, ChevronRightIcon as C } from "lucide-react";
|
|
5
5
|
import { B as b } from "./Button-BBNrKpQd.js";
|
|
6
|
-
import { C as o, a as c, b as m, c as v } from "./index-
|
|
6
|
+
import { C as o, a as c, b as m, c as v } from "./index-DuB48L78.js";
|
|
7
7
|
import { C as w } from "./CategoryHeading-D06WK_Wo.js";
|
|
8
8
|
import { H as l, M as S, P as z } from "./Markdown-mFpg_n9p.js";
|
|
9
9
|
import { T } from "./Toc-D_tV8_Ri.js";
|
|
10
10
|
import { c as V } from "./cn-qaFjX9_3.js";
|
|
11
|
-
import { u as A, S as H } from "./SchemaView-
|
|
11
|
+
import { u as A, S as H } from "./SchemaView-BYRn_-2l.js";
|
|
12
12
|
import { u as I } from "./context-Lrf2Y9bR.js";
|
|
13
13
|
const M = v(
|
|
14
14
|
/* GraphQL */
|
|
@@ -145,4 +145,4 @@ function J() {
|
|
|
145
145
|
export {
|
|
146
146
|
J as SchemaList
|
|
147
147
|
};
|
|
148
|
-
//# sourceMappingURL=SchemaList-
|
|
148
|
+
//# sourceMappingURL=SchemaList-BTX2mRMW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaList-
|
|
1
|
+
{"version":3,"file":"SchemaList-BTX2mRMW.js","sources":["../src/lib/plugins/openapi/SchemaList.tsx"],"sourcesContent":["import slugify from \"@sindresorhus/slugify\";\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport {\n ChevronRightIcon,\n ChevronsDownUpIcon,\n ChevronsUpDownIcon,\n} from \"lucide-react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown, ProseClasses } from \"../../components/Markdown.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { useCreateQuery } from \"./client/useCreateQuery.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/gql.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\n\nconst GET_SCHEMAS = graphql(/* GraphQL */ `\n query GetSchemas($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n title\n description\n summary\n components {\n schemas {\n name\n schema\n extensions\n }\n }\n }\n }\n`);\n\nexport function SchemaList() {\n const { input, type, versions, version, options } = useOasConfig();\n const schemasQuery = useCreateQuery(GET_SCHEMAS, {\n input,\n type,\n });\n const { data } = useSuspenseQuery(schemasQuery);\n\n const schemas = data.schema.components?.schemas ?? [];\n\n if (!schemas.length) {\n return <div>No schemas found</div>;\n }\n\n const hasMultipleVersions = Object.entries(versions).length > 1;\n const showVersions =\n options?.showVersionSelect === \"always\" ||\n (hasMultipleVersions && options?.showVersionSelect !== \"hide\");\n\n return (\n <div\n className=\"grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between\"\n data-pagefind-filter=\"section:openapi\"\n data-pagefind-meta=\"section:openapi\"\n >\n <div className=\"pt-[--padding-content-top] pb-[--padding-content-bottom]\">\n <Collapsible className=\"w-full\">\n <div className=\"flex flex-col gap-y-4 sm:flex-row justify-around items-start sm:items-end\">\n <div className=\"flex-1\">\n <CategoryHeading>{data.schema.title}</CategoryHeading>\n <Heading\n level={1}\n id=\"schemas\"\n registerSidebarAnchor\n className=\"mb-0\"\n >\n Schemas\n {showVersions && (\n <span className=\"text-xl text-muted-foreground ml-1.5\">\n ({version})\n </span>\n )}\n </Heading>\n </div>\n {data.schema.description && (\n <CollapsibleTrigger className=\"flex items-center gap-1 text-sm font-medium text-muted-foreground group\">\n <span>API information</span>\n <ChevronsUpDownIcon\n className=\"group-data-[state=open]:hidden translate-y-px\"\n size={14}\n />\n <ChevronsDownUpIcon\n className=\"group-data-[state=closed]:hidden translate-y-px\"\n size={13}\n />\n </CollapsibleTrigger>\n )}\n </div>\n {data.schema.description && (\n <CollapsibleContent className=\"CollapsibleContent\">\n <div\n className={cn(\n ProseClasses,\n \"pt-4 max-w-full prose-img:max-w-prose\",\n )}\n >\n <Markdown\n className=\"border rounded bg-muted/25 border-border px-2.5 md:px-4\"\n content={data.schema.description}\n />\n </div>\n </CollapsibleContent>\n )}\n </Collapsible>\n <hr className=\"my-8\" />\n <div className=\"flex flex-col gap-y-5\">\n {schemas.map((schema) => (\n <Collapsible key={schema.name} className=\"group\" defaultOpen>\n <Heading\n registerSidebarAnchor\n level={2}\n className=\"flex items-center gap-1 justify-between w-fit\"\n id={slugify(schema.name)}\n >\n {schema.name}{\" \"}\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-6\">\n <ChevronRightIcon\n size={16}\n className=\"group-data-[state=open]:rotate-90 transition cursor-pointer\"\n />\n </Button>\n </CollapsibleTrigger>\n </Heading>\n <CollapsibleContent className=\"mt-4 CollapsibleContent\">\n <SchemaView schema={schema.schema} />\n </CollapsibleContent>\n </Collapsible>\n ))}\n </div>\n </div>\n <Toc\n entries={schemas.map((schema) => ({\n id: slugify(schema.name),\n value: schema.name,\n depth: 1,\n }))}\n />\n </div>\n );\n}\n"],"names":["GET_SCHEMAS","graphql","SchemaList","input","type","versions","version","options","useOasConfig","schemasQuery","useCreateQuery","data","useSuspenseQuery","schemas","_a","jsx","hasMultipleVersions","showVersions","jsxs","Collapsible","CategoryHeading","Heading","CollapsibleTrigger","ChevronsUpDownIcon","ChevronsDownUpIcon","CollapsibleContent","cn","ProseClasses","Markdown","schema","slugify","Button","ChevronRightIcon","SchemaView","Toc"],"mappings":"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"}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { use as E, isValidElement as R, useState as u, useCallback as z } from "react";
|
|
2
|
+
import { a as A } from "./context-Lrf2Y9bR.js";
|
|
3
|
+
import { i as T, S as B, L as D, T as j, a as $, p as q, C as G } from "./circular-ByJI6Mci.js";
|
|
4
|
+
import { j as s } from "./jsx-runtime-C5mzlN2N.js";
|
|
5
|
+
import { ChevronsLeftRightIcon as M, ChevronUpIcon as K, ChevronDownIcon as v, CircleIcon as F, CircleDotIcon as Q, CircleFadingPlusIcon as _, SquareMinusIcon as J, SquarePlusIcon as U, MinusIcon as V, PlusIcon as H, RefreshCcwDotIcon as W, InfoIcon as X } from "lucide-react";
|
|
6
|
+
import { I as k, S as x, M as P, P as C } from "./Markdown-mFpg_n9p.js";
|
|
7
|
+
import { Card as m } from "./ui/Card.js";
|
|
8
|
+
import { c } from "./cn-qaFjX9_3.js";
|
|
9
|
+
import { B as Y } from "./Button-BBNrKpQd.js";
|
|
10
|
+
import * as d from "@radix-ui/react-collapsible";
|
|
11
|
+
import { Button as Z } from "./ui/Button.js";
|
|
12
|
+
import { o as ee } from "./objectEntries-yMIkr2mI.js";
|
|
13
|
+
function se(e) {
|
|
14
|
+
const t = T(e) ? e : new B(e), r = t.body, n = new D(t);
|
|
15
|
+
let i = "", o = !1;
|
|
16
|
+
for (; n.advance().kind !== j.EOF; ) {
|
|
17
|
+
const l = n.token, a = l.kind, O = !$(l.kind);
|
|
18
|
+
o && (O || l.kind === j.SPREAD) && (i += " ");
|
|
19
|
+
const S = r.slice(l.start, l.end);
|
|
20
|
+
a === j.BLOCK_STRING ? i += q(l.value, {
|
|
21
|
+
minimize: !0
|
|
22
|
+
}) : i += S, o = O;
|
|
23
|
+
}
|
|
24
|
+
return i;
|
|
25
|
+
}
|
|
26
|
+
const we = (e, ...[t]) => {
|
|
27
|
+
const r = E(A);
|
|
28
|
+
if (r === void 0)
|
|
29
|
+
throw new Error("useGraphQL must be used within a GraphQLProvider");
|
|
30
|
+
return {
|
|
31
|
+
queryFn: () => r.fetch(e, t),
|
|
32
|
+
queryKey: [se(e.toString()), t]
|
|
33
|
+
};
|
|
34
|
+
}, te = (e, t) => e.reduce(
|
|
35
|
+
(r, n) => {
|
|
36
|
+
const i = t(n);
|
|
37
|
+
return r[i] || (r[i] = []), r[i].push(n), r;
|
|
38
|
+
},
|
|
39
|
+
{}
|
|
40
|
+
), re = ({ pattern: e }) => {
|
|
41
|
+
const [t, r] = u(!1), n = e.length > 20, i = n ? `${e.slice(0, 20)}…` : e;
|
|
42
|
+
return /* @__PURE__ */ s.jsxs(
|
|
43
|
+
k,
|
|
44
|
+
{
|
|
45
|
+
className: c("text-xs", n && "cursor-pointer"),
|
|
46
|
+
onClick: () => r(!t),
|
|
47
|
+
selectOnClick: !1,
|
|
48
|
+
children: [
|
|
49
|
+
t ? e : i,
|
|
50
|
+
n && /* @__PURE__ */ s.jsx("button", { type: "button", className: "p-1 translate-y-[2px]", children: !t && /* @__PURE__ */ s.jsx(M, { size: 12 }) })
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
}, ne = (e) => e ? [
|
|
55
|
+
e.type === "array" && e.items.type ? `${e.items.type}[]` : Array.isArray(e.type) ? e.type.join(" | ") : e.type,
|
|
56
|
+
e.enum && "enum",
|
|
57
|
+
e.const && "const",
|
|
58
|
+
e.format,
|
|
59
|
+
e.minimum && `min: ${e.minimum}`,
|
|
60
|
+
e.maximum && `max: ${e.maximum}`,
|
|
61
|
+
e.minLength && `minLength: ${e.minLength}`,
|
|
62
|
+
e.maxLength && `maxLength: ${e.maxLength}`,
|
|
63
|
+
e.minItems && `minItems: ${e.minItems}`,
|
|
64
|
+
e.maxItems && `maxItems: ${e.maxItems}`,
|
|
65
|
+
e.uniqueItems && "unique",
|
|
66
|
+
e.minProperties && `minProps: ${e.minProperties}`,
|
|
67
|
+
e.maxProperties && `maxProps: ${e.maxProperties}`,
|
|
68
|
+
e.readOnly && "readOnly",
|
|
69
|
+
e.writeOnly && "writeOnly",
|
|
70
|
+
e.deprecated && "deprecated",
|
|
71
|
+
e.pattern && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
|
|
72
|
+
"pattern: ",
|
|
73
|
+
/* @__PURE__ */ s.jsx(re, { pattern: e.pattern })
|
|
74
|
+
] })
|
|
75
|
+
] : [], y = ({
|
|
76
|
+
schema: e,
|
|
77
|
+
extraItems: t = [],
|
|
78
|
+
className: r
|
|
79
|
+
}) => {
|
|
80
|
+
const n = [...ne(e), ...t].flatMap(
|
|
81
|
+
(i) => typeof i == "string" || R(i) ? i : []
|
|
82
|
+
);
|
|
83
|
+
return /* @__PURE__ */ s.jsx("span", { className: r, children: n.map((i, o) => /* @__PURE__ */ s.jsxs("span", { className: "text-muted-foreground", children: [
|
|
84
|
+
i,
|
|
85
|
+
o < n.length - 1 && /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground/50", children: " · " })
|
|
86
|
+
] }, o)) });
|
|
87
|
+
}, N = ({
|
|
88
|
+
values: e,
|
|
89
|
+
className: t,
|
|
90
|
+
maxVisibleValues: r = 8
|
|
91
|
+
}) => {
|
|
92
|
+
const [n, i] = u(!1);
|
|
93
|
+
if (!e.length) return null;
|
|
94
|
+
const o = e.length > r, l = o && !n ? e.slice(0, r) : e;
|
|
95
|
+
return /* @__PURE__ */ s.jsxs("div", { className: c("flex flex-wrap gap-1.5 text-xs", t), children: [
|
|
96
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Enum values: " }),
|
|
97
|
+
l.map((a) => /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx(x, { className: "border rounded px-1 font-mono", children: a }) }, a)),
|
|
98
|
+
o && /* @__PURE__ */ s.jsx(
|
|
99
|
+
Y,
|
|
100
|
+
{
|
|
101
|
+
variant: "ghost",
|
|
102
|
+
size: "sm",
|
|
103
|
+
className: "h-fit px-0",
|
|
104
|
+
onClick: () => i(!n),
|
|
105
|
+
children: n ? /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
106
|
+
/* @__PURE__ */ s.jsx(K, { size: 12 }),
|
|
107
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "show less" })
|
|
108
|
+
] }) : /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
109
|
+
/* @__PURE__ */ s.jsx(v, { size: 12 }),
|
|
110
|
+
/* @__PURE__ */ s.jsxs("span", { className: "text-muted-foreground", children: [
|
|
111
|
+
"show ",
|
|
112
|
+
e.length - r,
|
|
113
|
+
" more"
|
|
114
|
+
] })
|
|
115
|
+
] })
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
] });
|
|
119
|
+
}, b = ({
|
|
120
|
+
schema: e
|
|
121
|
+
}) => {
|
|
122
|
+
var n;
|
|
123
|
+
const t = (n = e.examples) == null ? void 0 : n.at(0), r = e.default;
|
|
124
|
+
return !t && !r ? null : /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-1 text-xs", children: [
|
|
125
|
+
t && /* @__PURE__ */ s.jsxs("div", { children: [
|
|
126
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Example: " }),
|
|
127
|
+
/* @__PURE__ */ s.jsx(x, { className: "border rounded px-1 font-mono", children: typeof t == "object" ? JSON.stringify(t) : t })
|
|
128
|
+
] }),
|
|
129
|
+
r && /* @__PURE__ */ s.jsxs("div", { children: [
|
|
130
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Default: " }),
|
|
131
|
+
/* @__PURE__ */ s.jsx(x, { className: "border rounded px-1 font-mono", children: typeof r == "object" ? JSON.stringify(r) : r })
|
|
132
|
+
] })
|
|
133
|
+
] });
|
|
134
|
+
}, w = ({
|
|
135
|
+
schema: e,
|
|
136
|
+
hideDescription: t = !1
|
|
137
|
+
}) => /* @__PURE__ */ s.jsx("div", { className: "flex flex-col gap-1 text-xs", children: /* @__PURE__ */ s.jsxs("div", { children: [
|
|
138
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Const value: " }),
|
|
139
|
+
/* @__PURE__ */ s.jsx(x, { className: "border rounded px-1 font-mono", children: e.const }),
|
|
140
|
+
!t && e.description && /* @__PURE__ */ s.jsx("div", { className: "text-muted-foreground", children: e.description })
|
|
141
|
+
] }) }), ie = {
|
|
142
|
+
AND: /* @__PURE__ */ s.jsx(_, { size: 16, className: "fill-card" }),
|
|
143
|
+
OR: /* @__PURE__ */ s.jsx(Q, { size: 16, className: "fill-card" }),
|
|
144
|
+
ONE: /* @__PURE__ */ s.jsx(F, { size: 14, className: "fill-card" })
|
|
145
|
+
}, oe = {
|
|
146
|
+
AND: "text-green-500 dark:text-green-300/60",
|
|
147
|
+
OR: "text-blue-400 dark:text-blue-500",
|
|
148
|
+
ONE: "text-purple-500 dark:text-purple-300/60"
|
|
149
|
+
}, le = ({
|
|
150
|
+
type: e,
|
|
151
|
+
isOpen: t,
|
|
152
|
+
className: r,
|
|
153
|
+
schemeName: n
|
|
154
|
+
}) => /* @__PURE__ */ s.jsx(
|
|
155
|
+
"div",
|
|
156
|
+
{
|
|
157
|
+
className: c(
|
|
158
|
+
oe[e],
|
|
159
|
+
"relative text-sm flex py-2",
|
|
160
|
+
"before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']",
|
|
161
|
+
r
|
|
162
|
+
),
|
|
163
|
+
children: /* @__PURE__ */ s.jsxs("div", { className: "-translate-x-[7px] flex gap-1 items-center", children: [
|
|
164
|
+
ie[e],
|
|
165
|
+
/* @__PURE__ */ s.jsx(
|
|
166
|
+
"div",
|
|
167
|
+
{
|
|
168
|
+
className: c(
|
|
169
|
+
"translate-y-px mx-px opacity-0 group-hover:opacity-100 transition",
|
|
170
|
+
!t && "-rotate-90"
|
|
171
|
+
),
|
|
172
|
+
children: /* @__PURE__ */ s.jsx(v, { size: 16 })
|
|
173
|
+
}
|
|
174
|
+
),
|
|
175
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-sm text-foreground", children: n })
|
|
176
|
+
] })
|
|
177
|
+
}
|
|
178
|
+
), ae = (e) => {
|
|
179
|
+
const [t, r] = u(!0);
|
|
180
|
+
return /* @__PURE__ */ s.jsxs(
|
|
181
|
+
d.Root,
|
|
182
|
+
{
|
|
183
|
+
open: t,
|
|
184
|
+
onOpenChange: () => r((n) => !n),
|
|
185
|
+
className: "group",
|
|
186
|
+
children: [
|
|
187
|
+
/* @__PURE__ */ s.jsx(d.Trigger, { children: /* @__PURE__ */ s.jsx(
|
|
188
|
+
le,
|
|
189
|
+
{
|
|
190
|
+
type: e.type,
|
|
191
|
+
isOpen: t,
|
|
192
|
+
schemeName: e.schema.title
|
|
193
|
+
}
|
|
194
|
+
) }),
|
|
195
|
+
!t && /* @__PURE__ */ s.jsx("div", { className: "wavy-line bg-border translate-y-1" }),
|
|
196
|
+
/* @__PURE__ */ s.jsx(d.Content, { children: /* @__PURE__ */ s.jsx(p, { schema: e.schema }) })
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
}, de = {
|
|
201
|
+
AND: "All of",
|
|
202
|
+
OR: "Any of",
|
|
203
|
+
ONE: "One of"
|
|
204
|
+
}, ce = ({
|
|
205
|
+
schemas: e,
|
|
206
|
+
type: t,
|
|
207
|
+
isOpen: r,
|
|
208
|
+
toggleOpen: n
|
|
209
|
+
}) => /* @__PURE__ */ s.jsx(d.Root, { open: r, onOpenChange: n, asChild: !0, children: /* @__PURE__ */ s.jsxs(m, { className: "px-6", children: [
|
|
210
|
+
/* @__PURE__ */ s.jsxs(d.Trigger, { className: "flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5", children: [
|
|
211
|
+
r ? /* @__PURE__ */ s.jsx(J, { size: 14 }) : /* @__PURE__ */ s.jsx(U, { size: 14 }),
|
|
212
|
+
/* @__PURE__ */ s.jsx("span", { children: de[t] })
|
|
213
|
+
] }),
|
|
214
|
+
/* @__PURE__ */ s.jsx(d.Content, { className: "pb-4", children: e.map((i, o) => (
|
|
215
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
216
|
+
/* @__PURE__ */ s.jsx(ae, { type: t, schema: i }, o)
|
|
217
|
+
)) })
|
|
218
|
+
] }) }), xe = (e) => typeof e == "string" && ["string", "number", "boolean", "integer", "null"].includes(e), f = (e) => e.type === "array" || // schema.type might be an array of types, so we need to check if "array" is one of them
|
|
219
|
+
Array.isArray(e.type) && e.type.includes("array"), pe = (e) => e.type === "object" && Object.keys(e.properties ?? {}).length > 0 || e.type === "array" && typeof e.items == "object" && (!e.items.type || e.items.type === "object"), h = (e) => !!(e.oneOf ?? e.allOf ?? e.anyOf), ue = {
|
|
220
|
+
allOf: "AND",
|
|
221
|
+
anyOf: "OR",
|
|
222
|
+
oneOf: "ONE"
|
|
223
|
+
}, g = (e) => e === G, L = ({ schema: e }) => {
|
|
224
|
+
const [t, r] = u(!0), n = z(() => r((i) => !i), []);
|
|
225
|
+
for (const [i, o] of ee(ue))
|
|
226
|
+
if (e[i])
|
|
227
|
+
return /* @__PURE__ */ s.jsx(
|
|
228
|
+
ce,
|
|
229
|
+
{
|
|
230
|
+
schemas: e[i],
|
|
231
|
+
type: o,
|
|
232
|
+
isOpen: t,
|
|
233
|
+
toggleOpen: n
|
|
234
|
+
}
|
|
235
|
+
);
|
|
236
|
+
}, I = () => /* @__PURE__ */ s.jsxs(
|
|
237
|
+
k,
|
|
238
|
+
{
|
|
239
|
+
className: "inline-flex items-center gap-1.5 italic text-xs translate-y-0.5",
|
|
240
|
+
selectOnClick: !1,
|
|
241
|
+
children: [
|
|
242
|
+
/* @__PURE__ */ s.jsx(W, { size: 13 }),
|
|
243
|
+
/* @__PURE__ */ s.jsx("span", { children: "circular" })
|
|
244
|
+
]
|
|
245
|
+
}
|
|
246
|
+
), me = ({
|
|
247
|
+
name: e,
|
|
248
|
+
schema: t,
|
|
249
|
+
group: r,
|
|
250
|
+
defaultOpen: n = !1,
|
|
251
|
+
showCollapseButton: i = !0
|
|
252
|
+
}) => {
|
|
253
|
+
const [o, l] = u(n);
|
|
254
|
+
return g(t) ? /* @__PURE__ */ s.jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: [
|
|
255
|
+
/* @__PURE__ */ s.jsxs("div", { className: "space-x-2", children: [
|
|
256
|
+
/* @__PURE__ */ s.jsx("code", { children: e }),
|
|
257
|
+
/* @__PURE__ */ s.jsx(
|
|
258
|
+
y,
|
|
259
|
+
{
|
|
260
|
+
schema: t,
|
|
261
|
+
extraItems: [/* @__PURE__ */ s.jsx(I, {}, "circular-ref")]
|
|
262
|
+
}
|
|
263
|
+
)
|
|
264
|
+
] }),
|
|
265
|
+
/* @__PURE__ */ s.jsx(b, { schema: t })
|
|
266
|
+
] }) }) : /* @__PURE__ */ s.jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: [
|
|
267
|
+
/* @__PURE__ */ s.jsxs("div", { className: "space-x-2", children: [
|
|
268
|
+
/* @__PURE__ */ s.jsx(x, { asChild: !0, children: /* @__PURE__ */ s.jsx("code", { children: e }) }),
|
|
269
|
+
/* @__PURE__ */ s.jsx(
|
|
270
|
+
y,
|
|
271
|
+
{
|
|
272
|
+
schema: t,
|
|
273
|
+
extraItems: [
|
|
274
|
+
r !== "optional" && /* @__PURE__ */ s.jsx("span", { className: "text-primary", children: "required" }),
|
|
275
|
+
f(t) && "items" in t && g(t.items) && /* @__PURE__ */ s.jsx(I, {})
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
)
|
|
279
|
+
] }),
|
|
280
|
+
t.description && /* @__PURE__ */ s.jsx(
|
|
281
|
+
P,
|
|
282
|
+
{
|
|
283
|
+
className: c(C, "text-sm leading-normal line-clamp-4"),
|
|
284
|
+
content: t.description
|
|
285
|
+
}
|
|
286
|
+
),
|
|
287
|
+
t.type === "array" && "items" in t && t.items.enum && /* @__PURE__ */ s.jsx(N, { values: t.items.enum }),
|
|
288
|
+
t.const && /* @__PURE__ */ s.jsx(w, { schema: t, hideDescription: !0 }),
|
|
289
|
+
t.enum && /* @__PURE__ */ s.jsx(N, { values: t.enum }),
|
|
290
|
+
/* @__PURE__ */ s.jsx(b, { schema: t }),
|
|
291
|
+
(h(t) || pe(t) || f(t) || t.additionalProperties) && /* @__PURE__ */ s.jsxs(
|
|
292
|
+
d.Root,
|
|
293
|
+
{
|
|
294
|
+
defaultOpen: n,
|
|
295
|
+
open: o,
|
|
296
|
+
onOpenChange: () => l(!o),
|
|
297
|
+
children: [
|
|
298
|
+
i && /* @__PURE__ */ s.jsx(d.Trigger, { asChild: !0, children: /* @__PURE__ */ s.jsxs(Z, { variant: "expand", size: "sm", children: [
|
|
299
|
+
o ? /* @__PURE__ */ s.jsx(V, { size: 12 }) : /* @__PURE__ */ s.jsx(H, { size: 12 }),
|
|
300
|
+
o ? "Hide properties" : "Show properties"
|
|
301
|
+
] }) }),
|
|
302
|
+
/* @__PURE__ */ s.jsx(d.Content, { children: /* @__PURE__ */ s.jsx("div", { className: "mt-2", children: h(t) ? /* @__PURE__ */ s.jsx(L, { schema: t }) : t.type === "object" ? /* @__PURE__ */ s.jsx(p, { schema: t }) : f(t) && "items" in t && typeof t.items == "object" && !g(t.items) && /* @__PURE__ */ s.jsx(p, { schema: t.items }) }) })
|
|
303
|
+
]
|
|
304
|
+
}
|
|
305
|
+
)
|
|
306
|
+
] }) });
|
|
307
|
+
}, je = (e) => e && /* @__PURE__ */ s.jsx(
|
|
308
|
+
P,
|
|
309
|
+
{
|
|
310
|
+
className: c(C, "text-sm leading-normal line-clamp-4"),
|
|
311
|
+
content: e
|
|
312
|
+
}
|
|
313
|
+
), fe = (e) => /* @__PURE__ */ s.jsxs(m, { className: "p-4 space-y-2", children: [
|
|
314
|
+
/* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground", children: /* @__PURE__ */ s.jsx(y, { schema: e }) }),
|
|
315
|
+
e.enum && /* @__PURE__ */ s.jsx(N, { values: e.enum }),
|
|
316
|
+
je(e.description),
|
|
317
|
+
/* @__PURE__ */ s.jsx(b, { schema: e })
|
|
318
|
+
] }), p = ({
|
|
319
|
+
schema: e,
|
|
320
|
+
defaultOpen: t = !1
|
|
321
|
+
}) => {
|
|
322
|
+
if (!e || Object.keys(e).length === 0)
|
|
323
|
+
return /* @__PURE__ */ s.jsx(m, { className: "p-4", children: /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground italic", children: "No schema specified" }) });
|
|
324
|
+
if (e.const)
|
|
325
|
+
return /* @__PURE__ */ s.jsx(w, { schema: e });
|
|
326
|
+
if (h(e))
|
|
327
|
+
return /* @__PURE__ */ s.jsx(L, { schema: e });
|
|
328
|
+
if (xe(e.type))
|
|
329
|
+
return fe(e);
|
|
330
|
+
if (e.type === "array" && typeof e.items == "object")
|
|
331
|
+
return /* @__PURE__ */ s.jsx(p, { schema: e.items });
|
|
332
|
+
if (e.type === "object") {
|
|
333
|
+
const r = te(
|
|
334
|
+
Object.entries(e.properties ?? {}),
|
|
335
|
+
([o, l]) => {
|
|
336
|
+
var a;
|
|
337
|
+
return l.deprecated ? "deprecated" : (a = e.required) != null && a.includes(o) ? "required" : "optional";
|
|
338
|
+
}
|
|
339
|
+
), n = ["required", "optional", "deprecated"], i = typeof e.additionalProperties == "object" ? /* @__PURE__ */ s.jsx(p, { schema: e.additionalProperties }) : e.additionalProperties === !0 ? /* @__PURE__ */ s.jsxs(
|
|
340
|
+
"div",
|
|
341
|
+
{
|
|
342
|
+
className: c(
|
|
343
|
+
C,
|
|
344
|
+
"text-sm p-4 bg-border/20 hover:bg-border/30 flex items-center gap-1"
|
|
345
|
+
),
|
|
346
|
+
children: [
|
|
347
|
+
/* @__PURE__ */ s.jsx("span", { children: "Additional properties are allowed" }),
|
|
348
|
+
/* @__PURE__ */ s.jsx(
|
|
349
|
+
"a",
|
|
350
|
+
{
|
|
351
|
+
className: "p-0.5 -m-0.5",
|
|
352
|
+
href: "https://swagger.io/docs/specification/v3_0/data-models/dictionaries/",
|
|
353
|
+
rel: "noopener noreferrer",
|
|
354
|
+
target: "_blank",
|
|
355
|
+
children: /* @__PURE__ */ s.jsx(X, { size: 14 })
|
|
356
|
+
}
|
|
357
|
+
)
|
|
358
|
+
]
|
|
359
|
+
}
|
|
360
|
+
) : null;
|
|
361
|
+
return /* @__PURE__ */ s.jsxs(m, { className: "divide-y overflow-hidden", children: [
|
|
362
|
+
n.map(
|
|
363
|
+
(o) => r[o] && /* @__PURE__ */ s.jsx("ul", { className: "divide-y", children: r[o].map(([l, a]) => /* @__PURE__ */ s.jsx(
|
|
364
|
+
me,
|
|
365
|
+
{
|
|
366
|
+
name: l,
|
|
367
|
+
schema: a,
|
|
368
|
+
group: o,
|
|
369
|
+
defaultOpen: t
|
|
370
|
+
},
|
|
371
|
+
l
|
|
372
|
+
)) }, o)
|
|
373
|
+
),
|
|
374
|
+
i
|
|
375
|
+
] });
|
|
376
|
+
}
|
|
377
|
+
return null;
|
|
378
|
+
};
|
|
379
|
+
export {
|
|
380
|
+
N as E,
|
|
381
|
+
y as P,
|
|
382
|
+
p as S,
|
|
383
|
+
b as a,
|
|
384
|
+
te as g,
|
|
385
|
+
f as i,
|
|
386
|
+
we as u
|
|
387
|
+
};
|
|
388
|
+
//# sourceMappingURL=SchemaView-BYRn_-2l.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaView-BYRn_-2l.js","sources":["../../../node_modules/.pnpm/graphql@16.10.0/node_modules/graphql/utilities/stripIgnoredCharacters.mjs","../src/lib/plugins/openapi/client/useCreateQuery.ts","../src/lib/util/groupBy.ts","../src/lib/plugins/openapi/ParamInfos.tsx","../src/lib/plugins/openapi/components/EnumValues.tsx","../src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx","../src/lib/plugins/openapi/components/ConstValue.tsx","../src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx","../src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx","../src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx","../src/lib/plugins/openapi/schema/utils.ts","../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx","../src/lib/plugins/openapi/schema/SchemaView.tsx"],"sourcesContent":["import { printBlockString } from '../language/blockString.mjs';\nimport { isPunctuatorTokenKind, Lexer } from '../language/lexer.mjs';\nimport { isSource, Source } from '../language/source.mjs';\nimport { TokenKind } from '../language/tokenKind.mjs';\n/**\n * Strips characters that are not significant to the validity or execution\n * of a GraphQL document:\n * - UnicodeBOM\n * - WhiteSpace\n * - LineTerminator\n * - Comment\n * - Comma\n * - BlockString indentation\n *\n * Note: It is required to have a delimiter character between neighboring\n * non-punctuator tokens and this function always uses single space as delimiter.\n *\n * It is guaranteed that both input and output documents if parsed would result\n * in the exact same AST except for nodes location.\n *\n * Warning: It is guaranteed that this function will always produce stable results.\n * However, it's not guaranteed that it will stay the same between different\n * releases due to bugfixes or changes in the GraphQL specification.\n *\n * Query example:\n *\n * ```graphql\n * query SomeQuery($foo: String!, $bar: String) {\n * someField(foo: $foo, bar: $bar) {\n * a\n * b {\n * c\n * d\n * }\n * }\n * }\n * ```\n *\n * Becomes:\n *\n * ```graphql\n * query SomeQuery($foo:String!$bar:String){someField(foo:$foo bar:$bar){a b{c d}}}\n * ```\n *\n * SDL example:\n *\n * ```graphql\n * \"\"\"\n * Type description\n * \"\"\"\n * type Foo {\n * \"\"\"\n * Field description\n * \"\"\"\n * bar: String\n * }\n * ```\n *\n * Becomes:\n *\n * ```graphql\n * \"\"\"Type description\"\"\" type Foo{\"\"\"Field description\"\"\" bar:String}\n * ```\n */\n\nexport function stripIgnoredCharacters(source) {\n const sourceObj = isSource(source) ? source : new Source(source);\n const body = sourceObj.body;\n const lexer = new Lexer(sourceObj);\n let strippedBody = '';\n let wasLastAddedTokenNonPunctuator = false;\n\n while (lexer.advance().kind !== TokenKind.EOF) {\n const currentToken = lexer.token;\n const tokenKind = currentToken.kind;\n /**\n * Every two non-punctuator tokens should have space between them.\n * Also prevent case of non-punctuator token following by spread resulting\n * in invalid token (e.g. `1...` is invalid Float token).\n */\n\n const isNonPunctuator = !isPunctuatorTokenKind(currentToken.kind);\n\n if (wasLastAddedTokenNonPunctuator) {\n if (isNonPunctuator || currentToken.kind === TokenKind.SPREAD) {\n strippedBody += ' ';\n }\n }\n\n const tokenBody = body.slice(currentToken.start, currentToken.end);\n\n if (tokenKind === TokenKind.BLOCK_STRING) {\n strippedBody += printBlockString(currentToken.value, {\n minimize: true,\n });\n } else {\n strippedBody += tokenBody;\n }\n\n wasLastAddedTokenNonPunctuator = isNonPunctuator;\n }\n\n return strippedBody;\n}\n","import { stripIgnoredCharacters } from \"graphql\";\nimport { use } from \"react\";\nimport type { TypedDocumentString } from \"../graphql/graphql.js\";\nimport { GraphQLContext } from \"./GraphQLContext.js\";\n\ntype NoExtraProps<T, U extends T = T> = U & {\n [K in Exclude<keyof U, keyof T>]?: never;\n};\n\nexport const useCreateQuery = <TResult, TVariables>(\n query: TypedDocumentString<TResult, TVariables>,\n ...[variables]: TVariables extends Record<string, never>\n ? []\n : [NoExtraProps<TVariables>]\n) => {\n const graphQLClient = use(GraphQLContext);\n\n if (graphQLClient === undefined) {\n throw new Error(\"useGraphQL must be used within a GraphQLProvider\");\n }\n\n return {\n queryFn: () => graphQLClient.fetch(query, variables),\n queryKey: [stripIgnoredCharacters(query.toString()), variables],\n } as const;\n};\n","export const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","import { ChevronsLeftRightIcon } from \"lucide-react\";\nimport { isValidElement, useState } from \"react\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { type SchemaObject } from \"../../oas/parser/index.js\";\nimport { cn } from \"../../util/cn.js\";\n\nconst Pattern = ({ pattern }: { pattern: string }) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const isExpandable = pattern.length > 20;\n const shortPattern = isExpandable ? `${pattern.slice(0, 20)}…` : pattern;\n\n return (\n <InlineCode\n className={cn(\"text-xs\", isExpandable && \"cursor-pointer\")}\n onClick={() => setIsExpanded(!isExpanded)}\n selectOnClick={false}\n >\n {isExpanded ? pattern : shortPattern}\n {isExpandable && (\n <button type=\"button\" className=\"p-1 translate-y-[2px]\">\n {!isExpanded && <ChevronsLeftRightIcon size={12} />}\n </button>\n )}\n </InlineCode>\n );\n};\n\nconst getSchemaInfos = (schema?: SchemaObject) => {\n if (!schema) return [];\n\n return [\n schema.type === \"array\" && schema.items.type\n ? `${schema.items.type}[]`\n : Array.isArray(schema.type)\n ? schema.type.join(\" | \")\n : schema.type,\n\n schema.enum && \"enum\",\n schema.const && \"const\",\n schema.format,\n schema.minimum && `min: ${schema.minimum}`,\n schema.maximum && `max: ${schema.maximum}`,\n schema.minLength && `minLength: ${schema.minLength}`,\n schema.maxLength && `maxLength: ${schema.maxLength}`,\n schema.minItems && `minItems: ${schema.minItems}`,\n schema.maxItems && `maxItems: ${schema.maxItems}`,\n schema.uniqueItems && \"unique\",\n schema.minProperties && `minProps: ${schema.minProperties}`,\n schema.maxProperties && `maxProps: ${schema.maxProperties}`,\n schema.readOnly && \"readOnly\",\n schema.writeOnly && \"writeOnly\",\n schema.deprecated && \"deprecated\",\n schema.pattern && (\n <>\n pattern: <Pattern pattern={schema.pattern} />\n </>\n ),\n ];\n};\n\nexport const ParamInfos = ({\n schema,\n extraItems = [],\n className,\n}: {\n schema?: SchemaObject;\n extraItems?: unknown[];\n className?: string;\n}) => {\n const filteredItems = [...getSchemaInfos(schema), ...extraItems].flatMap(\n (item) => (typeof item === \"string\" || isValidElement(item) ? item : []),\n );\n\n return (\n <span className={className}>\n {filteredItems.map((item, index) => (\n <span className=\"text-muted-foreground\" key={index}>\n {item}\n {index < filteredItems.length - 1 && (\n <span className=\"text-muted-foreground/50\">\n · \n </span>\n )}\n </span>\n ))}\n </span>\n );\n};\n","import { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { SelectOnClick } from \"./SelectOnClick.js\";\n\nexport const EnumValues = ({\n values,\n className,\n maxVisibleValues = 8,\n}: {\n values: Array<string | number>;\n className?: string;\n maxVisibleValues?: number;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n if (!values.length) return null;\n\n const shouldCollapse = values.length > maxVisibleValues;\n const visibleValues =\n shouldCollapse && !isOpen ? values.slice(0, maxVisibleValues) : values;\n\n return (\n <div className={cn(\"flex flex-wrap gap-1.5 text-xs\", className)}>\n <span className=\"text-muted-foreground\">Enum values: </span>\n {visibleValues.map((value) => (\n <div key={value}>\n <SelectOnClick className=\"border rounded px-1 font-mono\">\n {value}\n </SelectOnClick>\n </div>\n ))}\n {shouldCollapse && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-fit px-0\"\n onClick={() => setIsOpen(!isOpen)}\n >\n {isOpen ? (\n <div className=\"flex items-center gap-1\">\n <ChevronUpIcon size={12} />\n <span className=\"text-muted-foreground\">show less</span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n <ChevronDownIcon size={12} />\n <span className=\"text-muted-foreground\">\n show {values.length - maxVisibleValues} more\n </span>\n </div>\n )}\n </Button>\n )}\n </div>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { SelectOnClick } from \"../components/SelectOnClick.js\";\n\nexport const SchemaExampleAndDefault = ({\n schema,\n}: {\n schema: SchemaObject;\n}) => {\n const example = schema.examples?.at(0);\n const defaultValue = schema.default;\n\n if (!example && !defaultValue) return null;\n\n return (\n <div className=\"flex flex-col gap-1 text-xs\">\n {example && (\n <div>\n <span className=\"text-muted-foreground\">Example: </span>\n <SelectOnClick className=\"border rounded px-1 font-mono\">\n {typeof example === \"object\" ? JSON.stringify(example) : example}\n </SelectOnClick>\n </div>\n )}\n {defaultValue && (\n <div>\n <span className=\"text-muted-foreground\">Default: </span>\n <SelectOnClick className=\"border rounded px-1 font-mono\">\n {typeof defaultValue === \"object\"\n ? JSON.stringify(defaultValue)\n : defaultValue}\n </SelectOnClick>\n </div>\n )}\n </div>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { SelectOnClick } from \"./SelectOnClick.js\";\n\nexport const ConstValue = ({\n schema,\n hideDescription = false,\n}: {\n schema: SchemaObject;\n hideDescription?: boolean;\n}) => {\n return (\n <div className=\"flex flex-col gap-1 text-xs\">\n <div>\n <span className=\"text-muted-foreground\">Const value: </span>\n <SelectOnClick className=\"border rounded px-1 font-mono\">\n {schema.const}\n </SelectOnClick>\n {!hideDescription && schema.description && (\n <div className=\"text-muted-foreground\">{schema.description}</div>\n )}\n </div>\n </div>\n );\n};\n","import {\n ChevronDownIcon,\n CircleDotIcon,\n CircleFadingPlusIcon,\n CircleIcon,\n} from \"lucide-react\";\nimport { cn } from \"../../../../util/cn.js\";\n\nimport type { LogicalGroupType } from \"../utils.js\";\n\nconst iconMap = {\n AND: <CircleFadingPlusIcon size={16} className=\"fill-card\" />,\n OR: <CircleDotIcon size={16} className=\"fill-card\" />,\n ONE: <CircleIcon size={14} className=\"fill-card\" />,\n} as const;\n\nconst colorClass = {\n AND: \"text-green-500 dark:text-green-300/60\",\n OR: \"text-blue-400 dark:text-blue-500\",\n ONE: \"text-purple-500 dark:text-purple-300/60\",\n} as const;\n\nexport const LogicalGroupConnector = ({\n type,\n isOpen,\n className,\n schemeName,\n}: {\n type: LogicalGroupType;\n isOpen: boolean;\n className?: string;\n schemeName?: string;\n}) => {\n return (\n <div\n className={cn(\n colorClass[type],\n \"relative text-sm flex py-2\",\n \"before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']\",\n className,\n )}\n >\n <div className=\"-translate-x-[7px] flex gap-1 items-center\">\n {iconMap[type]}\n <div\n className={cn(\n \"translate-y-px mx-px opacity-0 group-hover:opacity-100 transition\",\n !isOpen && \"-rotate-90\",\n )}\n >\n <ChevronDownIcon size={16} />\n </div>\n <span className=\"text-sm text-foreground\">{schemeName}</span>\n </div>\n </div>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { useState } from \"react\";\nimport type { SchemaObject } from \"../../../../oas/parser/index.js\";\nimport { SchemaView } from \"../SchemaView.js\";\nimport type { LogicalGroupType } from \"../utils.js\";\nimport { LogicalGroupConnector } from \"./LogicalGroupConnector.js\";\n\nexport const LogicalGroupItem = (props: {\n type: LogicalGroupType;\n schema: SchemaObject;\n}) => {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <Collapsible.Root\n open={isOpen}\n onOpenChange={() => setIsOpen((prev) => !prev)}\n className=\"group\"\n >\n <Collapsible.Trigger>\n <LogicalGroupConnector\n type={props.type}\n isOpen={isOpen}\n schemeName={props.schema.title}\n />\n </Collapsible.Trigger>\n {!isOpen && <div className=\"wavy-line bg-border translate-y-1\" />}\n <Collapsible.Content>\n <SchemaView schema={props.schema} />\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { SquareMinusIcon, SquarePlusIcon } from \"lucide-react\";\nimport type { SchemaObject } from \"../../../../oas/parser/index.js\";\nimport { Card } from \"../../../../ui/Card.js\";\nimport type { LogicalGroupType } from \"../utils.js\";\nimport { LogicalGroupItem } from \"./LogicalGroupItem.js\";\n\nconst typeLabel = {\n AND: \"All of\",\n OR: \"Any of\",\n ONE: \"One of\",\n};\n\nexport const LogicalGroup = ({\n schemas,\n type,\n isOpen,\n toggleOpen,\n}: {\n schemas: SchemaObject[];\n type: LogicalGroupType;\n isOpen: boolean;\n toggleOpen: () => void;\n}) => (\n <Collapsible.Root open={isOpen} onOpenChange={toggleOpen} asChild>\n <Card className=\"px-6\">\n <Collapsible.Trigger className=\"flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5\">\n {isOpen ? <SquareMinusIcon size={14} /> : <SquarePlusIcon size={14} />}\n <span>{typeLabel[type]}</span>\n </Collapsible.Trigger>\n\n <Collapsible.Content className=\"pb-4\">\n {schemas.map((subSchema, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <LogicalGroupItem key={index} type={type} schema={subSchema} />\n ))}\n </Collapsible.Content>\n </Card>\n </Collapsible.Root>\n);\n","import { CIRCULAR_REF } from \"../../../oas/graphql/circular.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport const isBasicType = (\n type: unknown,\n): type is \"string\" | \"number\" | \"boolean\" | \"integer\" | \"null\" =>\n typeof type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\", \"null\"].includes(type);\n\nexport const isArrayType = (value: SchemaObject) =>\n value.type === \"array\" ||\n // schema.type might be an array of types, so we need to check if \"array\" is one of them\n (Array.isArray(value.type) && value.type.includes(\"array\"));\n\nexport const isComplexType = (value: SchemaObject) =>\n (value.type === \"object\" && Object.keys(value.properties ?? {}).length > 0) ||\n (value.type === \"array\" &&\n typeof value.items === \"object\" &&\n (!value.items.type || value.items.type === \"object\"));\n\nexport const hasLogicalGroupings = (value: SchemaObject) =>\n Boolean(value.oneOf ?? value.allOf ?? value.anyOf);\n\nexport const LogicalSchemaTypeMap = {\n allOf: \"AND\",\n anyOf: \"OR\",\n oneOf: \"ONE\",\n} as const;\n\nexport type LogicalGroupType = \"AND\" | \"OR\" | \"ONE\";\n\nexport const isCircularRef = (schema: unknown): schema is string =>\n schema === CIRCULAR_REF;\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { MinusIcon, PlusIcon, RefreshCcwDotIcon } from \"lucide-react\";\nimport { useCallback, useState } from \"react\";\nimport { InlineCode } from \"../../../components/InlineCode.js\";\nimport { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { objectEntries } from \"../../../util/objectEntries.js\";\nimport { ConstValue } from \"../components/ConstValue.js\";\nimport { EnumValues } from \"../components/EnumValues.js\";\nimport { SelectOnClick } from \"../components/SelectOnClick.js\";\nimport { ParamInfos } from \"../ParamInfos.js\";\nimport { LogicalGroup } from \"./LogicalGroup/LogicalGroup.js\";\nimport { SchemaExampleAndDefault } from \"./SchemaExampleAndDefault.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport {\n hasLogicalGroupings,\n isArrayType,\n isCircularRef,\n isComplexType,\n LogicalSchemaTypeMap,\n} from \"./utils.js\";\n\nexport const SchemaLogicalGroup = ({ schema }: { schema: SchemaObject }) => {\n const [isOpen, setIsOpen] = useState(true);\n const toggleOpen = useCallback(() => setIsOpen((prev) => !prev), []);\n\n for (const [key, type] of objectEntries(LogicalSchemaTypeMap)) {\n if (!schema[key]) continue;\n\n return (\n <LogicalGroup\n schemas={schema[key]}\n type={type}\n isOpen={isOpen}\n toggleOpen={toggleOpen}\n />\n );\n }\n};\n\nconst RecursiveIndicator = () => (\n <InlineCode\n className=\"inline-flex items-center gap-1.5 italic text-xs translate-y-0.5\"\n selectOnClick={false}\n >\n <RefreshCcwDotIcon size={13} />\n <span>circular</span>\n </InlineCode>\n);\n\nexport const SchemaPropertyItem = ({\n name,\n schema,\n group,\n defaultOpen = false,\n showCollapseButton = true,\n}: {\n name: string;\n schema: SchemaObject;\n group: \"required\" | \"optional\" | \"deprecated\";\n defaultOpen?: boolean;\n showCollapseButton?: boolean;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n if (isCircularRef(schema)) {\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-2.5 justify-between text-sm\">\n <div className=\"space-x-2\">\n <code>{name}</code>\n <ParamInfos\n schema={schema}\n extraItems={[<RecursiveIndicator key=\"circular-ref\" />]}\n />\n </div>\n <SchemaExampleAndDefault schema={schema} />\n </div>\n </li>\n );\n }\n\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-2.5 justify-between text-sm\">\n <div className=\"space-x-2\">\n <SelectOnClick asChild>\n <code>{name}</code>\n </SelectOnClick>\n <ParamInfos\n schema={schema}\n extraItems={[\n group !== \"optional\" && (\n <span className=\"text-primary\">required</span>\n ),\n isArrayType(schema) &&\n \"items\" in schema &&\n isCircularRef(schema.items) && <RecursiveIndicator />,\n ]}\n />\n </div>\n {schema.description && (\n <Markdown\n className={cn(ProseClasses, \"text-sm leading-normal line-clamp-4\")}\n content={schema.description}\n />\n )}\n {schema.type === \"array\" && \"items\" in schema && schema.items.enum && (\n <EnumValues values={schema.items.enum} />\n )}\n {schema.const && <ConstValue schema={schema} hideDescription />}\n {schema.enum && <EnumValues values={schema.enum} />}\n <SchemaExampleAndDefault schema={schema} />\n {(hasLogicalGroupings(schema) ||\n isComplexType(schema) ||\n isArrayType(schema) ||\n schema.additionalProperties) && (\n <Collapsible.Root\n defaultOpen={defaultOpen}\n open={isOpen}\n onOpenChange={() => setIsOpen(!isOpen)}\n >\n {showCollapseButton && (\n <Collapsible.Trigger asChild>\n <Button variant=\"expand\" size=\"sm\">\n {isOpen ? <MinusIcon size={12} /> : <PlusIcon size={12} />}\n {!isOpen ? \"Show properties\" : \"Hide properties\"}\n </Button>\n </Collapsible.Trigger>\n )}\n <Collapsible.Content>\n <div className=\"mt-2\">\n {hasLogicalGroupings(schema) ? (\n <SchemaLogicalGroup schema={schema} />\n ) : schema.type === \"object\" ? (\n <SchemaView schema={schema} />\n ) : (\n isArrayType(schema) &&\n \"items\" in schema &&\n typeof schema.items === \"object\" &&\n !isCircularRef(schema.items) && (\n <SchemaView schema={schema.items} />\n )\n )}\n </div>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </div>\n </li>\n );\n};\n","import { InfoIcon } from \"lucide-react\";\nimport { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { ConstValue } from \"../components/ConstValue.js\";\nimport { EnumValues } from \"../components/EnumValues.js\";\nimport { ParamInfos } from \"../ParamInfos.js\";\nimport { SchemaExampleAndDefault } from \"./SchemaExampleAndDefault.js\";\nimport {\n SchemaLogicalGroup,\n SchemaPropertyItem,\n} from \"./SchemaPropertyItem.js\";\nimport { hasLogicalGroupings, isBasicType } from \"./utils.js\";\n\nconst renderMarkdown = (content?: string) =>\n content && (\n <Markdown\n className={cn(ProseClasses, \"text-sm leading-normal line-clamp-4\")}\n content={content}\n />\n );\n\nconst renderBasicSchema = (schema: SchemaObject) => (\n <Card className=\"p-4 space-y-2\">\n <span className=\"text-sm text-muted-foreground\">\n <ParamInfos schema={schema} />\n </span>\n {schema.enum && <EnumValues values={schema.enum} />}\n {renderMarkdown(schema.description)}\n <SchemaExampleAndDefault schema={schema} />\n </Card>\n);\n\nexport const SchemaView = ({\n schema,\n defaultOpen = false,\n}: {\n schema?: SchemaObject | null;\n defaultOpen?: boolean;\n}) => {\n if (!schema || Object.keys(schema).length === 0) {\n return (\n <Card className=\"p-4\">\n <span className=\"text-sm text-muted-foreground italic\">\n No schema specified\n </span>\n </Card>\n );\n }\n\n if (schema.const) {\n return <ConstValue schema={schema} />;\n }\n\n if (hasLogicalGroupings(schema)) {\n return <SchemaLogicalGroup schema={schema} />;\n }\n\n if (isBasicType(schema.type)) {\n return renderBasicSchema(schema);\n }\n\n if (schema.type === \"array\" && typeof schema.items === \"object\") {\n return <SchemaView schema={schema.items} />;\n }\n\n if (schema.type === \"object\") {\n const groupedProperties = groupBy(\n Object.entries(schema.properties ?? {}),\n ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n },\n );\n const groupNames = [\"required\", \"optional\", \"deprecated\"] as const;\n\n const additionalProperties =\n typeof schema.additionalProperties === \"object\" ? (\n <SchemaView schema={schema.additionalProperties} />\n ) : schema.additionalProperties === true ? (\n <div\n className={cn(\n ProseClasses,\n \"text-sm p-4 bg-border/20 hover:bg-border/30 flex items-center gap-1\",\n )}\n >\n <span>Additional properties are allowed</span>\n <a\n className=\"p-0.5 -m-0.5\"\n href=\"https://swagger.io/docs/specification/v3_0/data-models/dictionaries/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n <InfoIcon size={14} />\n </a>\n </div>\n ) : null;\n\n return (\n <Card className=\"divide-y overflow-hidden\">\n {groupNames.map(\n (group) =>\n groupedProperties[group] && (\n <ul key={group} className=\"divide-y\">\n {groupedProperties[group].map(([name, schema]) => (\n <SchemaPropertyItem\n key={name}\n name={name}\n schema={schema}\n group={group}\n defaultOpen={defaultOpen}\n />\n ))}\n </ul>\n ),\n )}\n {additionalProperties}\n </Card>\n );\n }\n\n return null;\n};\n"],"names":["stripIgnoredCharacters","source","sourceObj","isSource","Source","body","lexer","Lexer","strippedBody","wasLastAddedTokenNonPunctuator","TokenKind","currentToken","tokenKind","isNonPunctuator","isPunctuatorTokenKind","tokenBody","printBlockString","useCreateQuery","query","variables","graphQLClient","use","GraphQLContext","groupBy","arr","keySelector","accumulator","val","groupedKey","Pattern","pattern","isExpanded","setIsExpanded","useState","isExpandable","shortPattern","jsxs","InlineCode","cn","jsx","ChevronsLeftRightIcon","getSchemaInfos","schema","Fragment","ParamInfos","extraItems","className","filteredItems","item","isValidElement","index","EnumValues","values","maxVisibleValues","isOpen","setIsOpen","shouldCollapse","visibleValues","value","SelectOnClick","Button","ChevronUpIcon","ChevronDownIcon","SchemaExampleAndDefault","example","_a","defaultValue","ConstValue","hideDescription","iconMap","CircleFadingPlusIcon","CircleDotIcon","CircleIcon","colorClass","LogicalGroupConnector","type","schemeName","LogicalGroupItem","props","Collapsible","prev","SchemaView","typeLabel","LogicalGroup","schemas","toggleOpen","Card","SquareMinusIcon","SquarePlusIcon","subSchema","isBasicType","isArrayType","isComplexType","hasLogicalGroupings","LogicalSchemaTypeMap","isCircularRef","CIRCULAR_REF","SchemaLogicalGroup","useCallback","key","objectEntries","RecursiveIndicator","RefreshCcwDotIcon","SchemaPropertyItem","name","group","defaultOpen","showCollapseButton","Markdown","ProseClasses","MinusIcon","PlusIcon","renderMarkdown","content","renderBasicSchema","groupedProperties","propertyName","property","groupNames","additionalProperties","InfoIcon"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1962,7 +1962,7 @@ const ps = {
|
|
|
1962
1962
|
}), ht = (t) => ({
|
|
1963
1963
|
path: t.routePath,
|
|
1964
1964
|
async lazy() {
|
|
1965
|
-
const { OasProvider: n } = await import("./OasProvider-
|
|
1965
|
+
const { OasProvider: n } = await import("./OasProvider-DOs0v9u7.js");
|
|
1966
1966
|
return {
|
|
1967
1967
|
element: /* @__PURE__ */ e.jsx(
|
|
1968
1968
|
n,
|
|
@@ -1983,7 +1983,7 @@ const ps = {
|
|
|
1983
1983
|
}) => ({
|
|
1984
1984
|
path: t,
|
|
1985
1985
|
async lazy() {
|
|
1986
|
-
const { OperationList: a } = await import("./OperationList-
|
|
1986
|
+
const { OperationList: a } = await import("./OperationList-CKac6iap.js");
|
|
1987
1987
|
return { element: /* @__PURE__ */ e.jsx(a, { tag: n, untagged: s }) };
|
|
1988
1988
|
}
|
|
1989
1989
|
}), Ot = (t) => [
|
|
@@ -1996,7 +1996,7 @@ const ps = {
|
|
|
1996
1996
|
{
|
|
1997
1997
|
path: R(t, "~schemas"),
|
|
1998
1998
|
lazy: async () => {
|
|
1999
|
-
const { SchemaList: n } = await import("./SchemaList-
|
|
1999
|
+
const { SchemaList: n } = await import("./SchemaList-BTX2mRMW.js");
|
|
2000
2000
|
return { element: /* @__PURE__ */ e.jsx(n, {}) };
|
|
2001
2001
|
}
|
|
2002
2002
|
}
|
|
@@ -2181,4 +2181,4 @@ export {
|
|
|
2181
2181
|
aa as o,
|
|
2182
2182
|
_n as u
|
|
2183
2183
|
};
|
|
2184
|
-
//# sourceMappingURL=index-
|
|
2184
|
+
//# sourceMappingURL=index-DuB48L78.js.map
|