zudoku 0.42.1 → 0.42.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/lib/authentication/components/SignIn.d.ts +1 -1
  2. package/dist/lib/authentication/components/SignIn.js +5 -2
  3. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  4. package/dist/lib/authentication/components/SignUp.d.ts +1 -1
  5. package/dist/lib/authentication/components/SignUp.js +4 -1
  6. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  7. package/dist/lib/plugins/openapi/ParameterListItem.js +8 -1
  8. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  9. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +5 -3
  10. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  11. package/dist/lib/plugins/openapi/schema/SchemaView.js +1 -1
  12. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  13. package/dist/lib/plugins/openapi/schema/utils.d.ts +1 -0
  14. package/dist/lib/plugins/openapi/schema/utils.js +3 -0
  15. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  16. package/lib/AuthenticationPlugin-ByDF051g.js +99 -0
  17. package/lib/AuthenticationPlugin-ByDF051g.js.map +1 -0
  18. package/lib/Card-BtheiD7j.js +61 -0
  19. package/lib/Card-BtheiD7j.js.map +1 -0
  20. package/lib/{OasProvider-CZiF_RMW.js → OasProvider-CDtbrUG_.js} +2 -2
  21. package/lib/{OasProvider-CZiF_RMW.js.map → OasProvider-CDtbrUG_.js.map} +1 -1
  22. package/lib/{OperationList-CMMzLfIZ.js → OperationList-DTyJIxKW.js} +1078 -1057
  23. package/lib/OperationList-DTyJIxKW.js.map +1 -0
  24. package/lib/{SchemaList-_d3Mf4IX.js → SchemaList-B9lvArDe.js} +3 -3
  25. package/lib/{SchemaList-_d3Mf4IX.js.map → SchemaList-B9lvArDe.js.map} +1 -1
  26. package/lib/{SchemaView-J7Srn-Iy.js → SchemaView-DXjql-Bl.js} +105 -106
  27. package/lib/SchemaView-DXjql-Bl.js.map +1 -0
  28. package/lib/{index-BPqJMdth.js → index-Ckl3s_w-.js} +393 -442
  29. package/lib/index-Ckl3s_w-.js.map +1 -0
  30. package/lib/zudoku.auth-clerk.js +1 -1
  31. package/lib/zudoku.auth-openid.js +1 -1
  32. package/lib/zudoku.plugin-openapi.js +1 -1
  33. package/package.json +3 -3
  34. package/src/lib/authentication/components/SignIn.tsx +35 -2
  35. package/src/lib/authentication/components/SignUp.tsx +35 -1
  36. package/src/lib/plugins/openapi/ParameterListItem.tsx +30 -0
  37. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +7 -4
  38. package/src/lib/plugins/openapi/schema/SchemaView.tsx +1 -6
  39. package/src/lib/plugins/openapi/schema/utils.ts +5 -0
  40. package/lib/AuthenticationPlugin-DPCuR3xm.js +0 -58
  41. package/lib/AuthenticationPlugin-DPCuR3xm.js.map +0 -1
  42. package/lib/OperationList-CMMzLfIZ.js.map +0 -1
  43. package/lib/SchemaView-J7Srn-Iy.js.map +0 -1
  44. package/lib/index-BPqJMdth.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-BPqJMdth.js";
6
+ import { C as o, a as c, b as m, c as v } from "./index-Ckl3s_w-.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-J7Srn-Iy.js";
11
+ import { u as A, S as H } from "./SchemaView-DXjql-Bl.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-_d3Mf4IX.js.map
148
+ //# sourceMappingURL=SchemaList-B9lvArDe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaList-_d3Mf4IX.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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"}
1
+ {"version":3,"file":"SchemaList-B9lvArDe.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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"}
@@ -1,57 +1,57 @@
1
- import { use as L, isValidElement as S, useState as p, useCallback as E } from "react";
2
- import { a as R } from "./context-Lrf2Y9bR.js";
3
- import { i as z, S as A, L as T, T as f, a as B, p as $, C as D } from "./circular-ByJI6Mci.js";
1
+ import { use as S, isValidElement as E, useState as p, useCallback as R } from "react";
2
+ import { a as A } from "./context-Lrf2Y9bR.js";
3
+ import { i as z, S as T, L as B, T as j, a as $, p as D, C as q } from "./circular-ByJI6Mci.js";
4
4
  import { j as s } from "./jsx-runtime-C5mzlN2N.js";
5
- import { I as O, S as u, M as I, P as k } from "./Markdown-mFpg_n9p.js";
6
- import { Card as d, CardHeader as q, CardTitle as G, CardContent as M } from "./ui/Card.js";
7
- import { c } from "./cn-qaFjX9_3.js";
8
- import { ChevronsLeftRightIcon as K, ChevronUpIcon as F, ChevronDownIcon as v, CircleIcon as Q, CircleDotIcon as H, CircleFadingPlusIcon as J, SquareMinusIcon as U, SquarePlusIcon as _, MinusIcon as V, PlusIcon as W, RefreshCcwDotIcon as X } from "lucide-react";
9
- import { B as Y } from "./Button-BBNrKpQd.js";
5
+ import { I, S as u, M as k, P } from "./Markdown-mFpg_n9p.js";
6
+ import { Card as c, CardHeader as G, CardTitle as M, CardContent as K } from "./ui/Card.js";
7
+ import { c as d } from "./cn-qaFjX9_3.js";
8
+ import { ChevronsLeftRightIcon as F, ChevronUpIcon as Q, ChevronDownIcon as v, CircleIcon as H, CircleDotIcon as J, CircleFadingPlusIcon as U, SquareMinusIcon as _, SquarePlusIcon as V, MinusIcon as W, PlusIcon as X, RefreshCcwDotIcon as Y } from "lucide-react";
9
+ import { B as Z } from "./Button-BBNrKpQd.js";
10
10
  import * as a 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 = z(e) ? e : new A(e), r = t.body, i = new T(t);
11
+ import { Button as ee } from "./ui/Button.js";
12
+ import { o as se } from "./objectEntries-yMIkr2mI.js";
13
+ function te(e) {
14
+ const t = z(e) ? e : new T(e), r = t.body, i = new B(t);
15
15
  let n = "", o = !1;
16
- for (; i.advance().kind !== f.EOF; ) {
17
- const l = i.token, m = l.kind, h = !B(l.kind);
18
- o && (h || l.kind === f.SPREAD) && (n += " ");
19
- const w = r.slice(l.start, l.end);
20
- m === f.BLOCK_STRING ? n += $(l.value, {
16
+ for (; i.advance().kind !== j.EOF; ) {
17
+ const l = i.token, m = l.kind, C = !$(l.kind);
18
+ o && (C || l.kind === j.SPREAD) && (n += " ");
19
+ const L = r.slice(l.start, l.end);
20
+ m === j.BLOCK_STRING ? n += D(l.value, {
21
21
  minimize: !0
22
- }) : n += w, o = h;
22
+ }) : n += L, o = C;
23
23
  }
24
24
  return n;
25
25
  }
26
- const we = (e, ...[t]) => {
27
- const r = L(R);
26
+ const Le = (e, ...[t]) => {
27
+ const r = S(A);
28
28
  if (r === void 0)
29
29
  throw new Error("useGraphQL must be used within a GraphQLProvider");
30
30
  return {
31
31
  queryFn: () => r.fetch(e, t),
32
- queryKey: [se(e.toString()), t]
32
+ queryKey: [te(e.toString()), t]
33
33
  };
34
- }, te = (e, t) => e.reduce(
34
+ }, re = (e, t) => e.reduce(
35
35
  (r, i) => {
36
36
  const n = t(i);
37
37
  return r[n] || (r[n] = []), r[n].push(i), r;
38
38
  },
39
39
  {}
40
- ), re = ({ pattern: e }) => {
40
+ ), ne = ({ pattern: e }) => {
41
41
  const [t, r] = p(!1), i = e.length > 20, n = i ? `${e.slice(0, 20)}…` : e;
42
42
  return /* @__PURE__ */ s.jsxs(
43
- O,
43
+ I,
44
44
  {
45
- className: c("text-xs", i && "cursor-pointer"),
45
+ className: d("text-xs", i && "cursor-pointer"),
46
46
  onClick: () => r(!t),
47
47
  selectOnClick: !1,
48
48
  children: [
49
49
  t ? e : n,
50
- i && /* @__PURE__ */ s.jsx("button", { type: "button", className: "p-1 translate-y-[2px]", children: !t && /* @__PURE__ */ s.jsx(K, { size: 12 }) })
50
+ i && /* @__PURE__ */ s.jsx("button", { type: "button", className: "p-1 translate-y-[2px]", children: !t && /* @__PURE__ */ s.jsx(F, { size: 12 }) })
51
51
  ]
52
52
  }
53
53
  );
54
- }, ne = (e) => e ? [
54
+ }, ie = (e) => e ? [
55
55
  e.type === "array" && e.items.type ? `${e.items.type}[]` : Array.isArray(e.type) ? e.type.join(" | ") : e.type,
56
56
  e.enum && "enum",
57
57
  e.format,
@@ -69,21 +69,21 @@ const we = (e, ...[t]) => {
69
69
  e.deprecated && "deprecated",
70
70
  e.pattern && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
71
71
  "pattern: ",
72
- /* @__PURE__ */ s.jsx(re, { pattern: e.pattern })
72
+ /* @__PURE__ */ s.jsx(ne, { pattern: e.pattern })
73
73
  ] })
74
- ] : [], j = ({
74
+ ] : [], g = ({
75
75
  schema: e,
76
76
  extraItems: t = [],
77
77
  className: r
78
78
  }) => {
79
- const i = [...ne(e), ...t].flatMap(
80
- (n) => typeof n == "string" || S(n) ? n : []
79
+ const i = [...ie(e), ...t].flatMap(
80
+ (n) => typeof n == "string" || E(n) ? n : []
81
81
  );
82
82
  return /* @__PURE__ */ s.jsx("span", { className: r, children: i.map((n, o) => /* @__PURE__ */ s.jsxs("span", { className: "text-muted-foreground", children: [
83
83
  n,
84
84
  o < i.length - 1 && /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground/50", children: " · " })
85
85
  ] }, o)) });
86
- }, y = ({
86
+ }, N = ({
87
87
  values: e,
88
88
  className: t,
89
89
  maxVisibleValues: r = 8
@@ -91,18 +91,18 @@ const we = (e, ...[t]) => {
91
91
  const [i, n] = p(!1);
92
92
  if (!e.length) return null;
93
93
  const o = e.length > r, l = o && !i ? e.slice(0, r) : e;
94
- return /* @__PURE__ */ s.jsxs("div", { className: c("flex flex-wrap gap-1.5 text-xs", t), children: [
94
+ return /* @__PURE__ */ s.jsxs("div", { className: d("flex flex-wrap gap-1.5 text-xs", t), children: [
95
95
  /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "Enum values: " }),
96
96
  l.map((m) => /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx(u, { className: "border rounded px-1 font-mono", children: m }) }, m)),
97
97
  o && /* @__PURE__ */ s.jsx(
98
- Y,
98
+ Z,
99
99
  {
100
100
  variant: "ghost",
101
101
  size: "sm",
102
102
  className: "h-fit px-0",
103
103
  onClick: () => n(!i),
104
104
  children: i ? /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
105
- /* @__PURE__ */ s.jsx(F, { size: 12 }),
105
+ /* @__PURE__ */ s.jsx(Q, { size: 12 }),
106
106
  /* @__PURE__ */ s.jsx("span", { className: "text-muted-foreground", children: "show less" })
107
107
  ] }) : /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1", children: [
108
108
  /* @__PURE__ */ s.jsx(v, { size: 12 }),
@@ -115,7 +115,7 @@ const we = (e, ...[t]) => {
115
115
  }
116
116
  )
117
117
  ] });
118
- }, N = ({
118
+ }, b = ({
119
119
  schema: e
120
120
  }) => {
121
121
  var i;
@@ -130,15 +130,15 @@ const we = (e, ...[t]) => {
130
130
  /* @__PURE__ */ s.jsx(u, { className: "border rounded px-1 font-mono", children: typeof r == "object" ? JSON.stringify(r) : r })
131
131
  ] })
132
132
  ] });
133
- }, ie = {
134
- AND: /* @__PURE__ */ s.jsx(J, { size: 16, className: "fill-card" }),
135
- OR: /* @__PURE__ */ s.jsx(H, { size: 16, className: "fill-card" }),
136
- ONE: /* @__PURE__ */ s.jsx(Q, { size: 14, className: "fill-card" })
137
133
  }, oe = {
134
+ AND: /* @__PURE__ */ s.jsx(U, { size: 16, className: "fill-card" }),
135
+ OR: /* @__PURE__ */ s.jsx(J, { size: 16, className: "fill-card" }),
136
+ ONE: /* @__PURE__ */ s.jsx(H, { size: 14, className: "fill-card" })
137
+ }, le = {
138
138
  AND: "text-green-500 dark:text-green-300/60",
139
139
  OR: "text-blue-400 dark:text-blue-500",
140
140
  ONE: "text-purple-500 dark:text-purple-300/60"
141
- }, le = ({
141
+ }, ae = ({
142
142
  type: e,
143
143
  isOpen: t,
144
144
  className: r,
@@ -146,18 +146,18 @@ const we = (e, ...[t]) => {
146
146
  }) => /* @__PURE__ */ s.jsx(
147
147
  "div",
148
148
  {
149
- className: c(
150
- oe[e],
149
+ className: d(
150
+ le[e],
151
151
  "relative text-sm flex py-2",
152
152
  "before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']",
153
153
  r
154
154
  ),
155
155
  children: /* @__PURE__ */ s.jsxs("div", { className: "-translate-x-[7px] flex gap-1 items-center", children: [
156
- ie[e],
156
+ oe[e],
157
157
  /* @__PURE__ */ s.jsx(
158
158
  "div",
159
159
  {
160
- className: c(
160
+ className: d(
161
161
  "translate-y-px mx-px opacity-0 group-hover:opacity-100 transition",
162
162
  !t && "-rotate-90"
163
163
  ),
@@ -167,7 +167,7 @@ const we = (e, ...[t]) => {
167
167
  /* @__PURE__ */ s.jsx("span", { className: "text-sm text-foreground", children: i })
168
168
  ] })
169
169
  }
170
- ), ae = (e) => {
170
+ ), de = (e) => {
171
171
  const [t, r] = p(!0);
172
172
  return /* @__PURE__ */ s.jsxs(
173
173
  a.Root,
@@ -177,7 +177,7 @@ const we = (e, ...[t]) => {
177
177
  className: "group",
178
178
  children: [
179
179
  /* @__PURE__ */ s.jsx(a.Trigger, { children: /* @__PURE__ */ s.jsx(
180
- le,
180
+ ae,
181
181
  {
182
182
  type: e.type,
183
183
  isOpen: t,
@@ -189,34 +189,35 @@ const we = (e, ...[t]) => {
189
189
  ]
190
190
  }
191
191
  );
192
- }, de = {
192
+ }, ce = {
193
193
  AND: "All of",
194
194
  OR: "Any of",
195
195
  ONE: "One of"
196
- }, ce = ({
196
+ }, xe = ({
197
197
  schemas: e,
198
198
  type: t,
199
199
  isOpen: r,
200
200
  toggleOpen: i
201
- }) => /* @__PURE__ */ s.jsx(a.Root, { open: r, onOpenChange: i, asChild: !0, children: /* @__PURE__ */ s.jsxs(d, { className: "px-6", children: [
201
+ }) => /* @__PURE__ */ s.jsx(a.Root, { open: r, onOpenChange: i, asChild: !0, children: /* @__PURE__ */ s.jsxs(c, { className: "px-6", children: [
202
202
  /* @__PURE__ */ s.jsxs(a.Trigger, { className: "flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5", children: [
203
- r ? /* @__PURE__ */ s.jsx(U, { size: 14 }) : /* @__PURE__ */ s.jsx(_, { size: 14 }),
204
- /* @__PURE__ */ s.jsx("span", { children: de[t] })
203
+ r ? /* @__PURE__ */ s.jsx(_, { size: 14 }) : /* @__PURE__ */ s.jsx(V, { size: 14 }),
204
+ /* @__PURE__ */ s.jsx("span", { children: ce[t] })
205
205
  ] }),
206
206
  /* @__PURE__ */ s.jsx(a.Content, { className: "pb-4", children: e.map((n, o) => (
207
207
  // eslint-disable-next-line react/no-array-index-key
208
- /* @__PURE__ */ s.jsx(ae, { type: t, schema: n }, o)
208
+ /* @__PURE__ */ s.jsx(de, { type: t, schema: n }, o)
209
209
  )) })
210
- ] }) }), xe = (e) => typeof e == "string" && ["string", "number", "boolean", "integer", "null"].includes(e), 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"), b = (e) => !!(e.oneOf ?? e.allOf ?? e.anyOf), me = {
210
+ ] }) }), pe = (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
211
+ Array.isArray(e.type) && e.type.includes("array"), me = (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 = {
211
212
  allOf: "AND",
212
213
  anyOf: "OR",
213
214
  oneOf: "ONE"
214
- }, g = (e) => e === D, P = ({ schema: e }) => {
215
- const [t, r] = p(!0), i = E(() => r((n) => !n), []);
216
- for (const [n, o] of ee(me))
215
+ }, y = (e) => e === q, w = ({ schema: e }) => {
216
+ const [t, r] = p(!0), i = R(() => r((n) => !n), []);
217
+ for (const [n, o] of se(ue))
217
218
  if (e[n])
218
219
  return /* @__PURE__ */ s.jsx(
219
- ce,
220
+ xe,
220
221
  {
221
222
  schemas: e[n],
222
223
  type: o,
@@ -224,17 +225,17 @@ const we = (e, ...[t]) => {
224
225
  toggleOpen: i
225
226
  }
226
227
  );
227
- }, C = () => /* @__PURE__ */ s.jsxs(
228
- O,
228
+ }, O = () => /* @__PURE__ */ s.jsxs(
229
+ I,
229
230
  {
230
231
  className: "inline-flex items-center gap-1.5 italic text-xs translate-y-0.5",
231
232
  selectOnClick: !1,
232
233
  children: [
233
- /* @__PURE__ */ s.jsx(X, { size: 13 }),
234
+ /* @__PURE__ */ s.jsx(Y, { size: 13 }),
234
235
  /* @__PURE__ */ s.jsx("span", { children: "circular" })
235
236
  ]
236
237
  }
237
- ), ue = ({
238
+ ), je = ({
238
239
  name: e,
239
240
  schema: t,
240
241
  group: r,
@@ -242,95 +243,92 @@ const we = (e, ...[t]) => {
242
243
  showCollapseButton: n = !0
243
244
  }) => {
244
245
  const [o, l] = p(i);
245
- 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: [
246
+ return y(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: [
246
247
  /* @__PURE__ */ s.jsxs("div", { className: "space-x-2", children: [
247
248
  /* @__PURE__ */ s.jsx("code", { children: e }),
248
249
  /* @__PURE__ */ s.jsx(
249
- j,
250
+ g,
250
251
  {
251
252
  schema: t,
252
- extraItems: [/* @__PURE__ */ s.jsx(C, {}, "circular-ref")]
253
+ extraItems: [/* @__PURE__ */ s.jsx(O, {}, "circular-ref")]
253
254
  }
254
255
  )
255
256
  ] }),
256
- /* @__PURE__ */ s.jsx(N, { schema: t })
257
+ /* @__PURE__ */ s.jsx(b, { schema: t })
257
258
  ] }) }) : /* @__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: [
258
259
  /* @__PURE__ */ s.jsxs("div", { className: "space-x-2", children: [
259
260
  /* @__PURE__ */ s.jsx(u, { asChild: !0, children: /* @__PURE__ */ s.jsx("code", { children: e }) }),
260
261
  /* @__PURE__ */ s.jsx(
261
- j,
262
+ g,
262
263
  {
263
264
  schema: t,
264
265
  extraItems: [
265
266
  r !== "optional" && /* @__PURE__ */ s.jsx("span", { className: "text-primary", children: "required" }),
266
- t.type === "array" && "items" in t && g(t.items) && /* @__PURE__ */ s.jsx(C, {})
267
+ f(t) && "items" in t && y(t.items) && /* @__PURE__ */ s.jsx(O, {})
267
268
  ]
268
269
  }
269
270
  )
270
271
  ] }),
271
272
  t.description && /* @__PURE__ */ s.jsx(
272
- I,
273
+ k,
273
274
  {
274
- className: c(k, "text-sm leading-normal line-clamp-4"),
275
+ className: d(P, "text-sm leading-normal line-clamp-4"),
275
276
  content: t.description
276
277
  }
277
278
  ),
278
- t.type === "array" && "items" in t && t.items.enum && /* @__PURE__ */ s.jsx(y, { values: t.items.enum }),
279
- t.enum && /* @__PURE__ */ s.jsx(y, { values: t.enum }),
280
- /* @__PURE__ */ s.jsx(N, { schema: t }),
281
- (b(t) || pe(t)) && /* @__PURE__ */ s.jsxs(
279
+ t.type === "array" && "items" in t && t.items.enum && /* @__PURE__ */ s.jsx(N, { values: t.items.enum }),
280
+ t.enum && /* @__PURE__ */ s.jsx(N, { values: t.enum }),
281
+ /* @__PURE__ */ s.jsx(b, { schema: t }),
282
+ (h(t) || me(t) || f(t)) && /* @__PURE__ */ s.jsxs(
282
283
  a.Root,
283
284
  {
284
285
  defaultOpen: i,
285
286
  open: o,
286
287
  onOpenChange: () => l(!o),
287
288
  children: [
288
- n && /* @__PURE__ */ s.jsx(a.Trigger, { asChild: !0, children: /* @__PURE__ */ s.jsxs(Z, { variant: "expand", size: "sm", className: "h-7", children: [
289
- o ? /* @__PURE__ */ s.jsx(V, { size: 12 }) : /* @__PURE__ */ s.jsx(W, { size: 12 }),
289
+ n && /* @__PURE__ */ s.jsx(a.Trigger, { asChild: !0, children: /* @__PURE__ */ s.jsxs(ee, { variant: "expand", size: "sm", children: [
290
+ o ? /* @__PURE__ */ s.jsx(W, { size: 12 }) : /* @__PURE__ */ s.jsx(X, { size: 12 }),
290
291
  o ? "Hide properties" : "Show properties"
291
292
  ] }) }),
292
- /* @__PURE__ */ s.jsx(a.Content, { children: /* @__PURE__ */ s.jsx("div", { className: "mt-2", children: b(t) ? /* @__PURE__ */ s.jsx(P, { schema: t }) : t.type === "object" ? /* @__PURE__ */ s.jsx(x, { schema: t }) : t.type === "array" && "items" in t && typeof t.items == "object" && !g(t.items) && /* @__PURE__ */ s.jsx(x, { schema: t.items }) }) })
293
+ /* @__PURE__ */ s.jsx(a.Content, { children: /* @__PURE__ */ s.jsx("div", { className: "mt-2", children: h(t) ? /* @__PURE__ */ s.jsx(w, { schema: t }) : t.type === "object" ? /* @__PURE__ */ s.jsx(x, { schema: t }) : f(t) && "items" in t && typeof t.items == "object" && !y(t.items) && /* @__PURE__ */ s.jsx(x, { schema: t.items }) }) })
293
294
  ]
294
295
  }
295
296
  )
296
297
  ] }) });
297
- }, je = (e) => e && /* @__PURE__ */ s.jsx(
298
- I,
298
+ }, fe = (e) => e && /* @__PURE__ */ s.jsx(
299
+ k,
299
300
  {
300
- className: c(k, "text-sm leading-normal line-clamp-4"),
301
+ className: d(P, "text-sm leading-normal line-clamp-4"),
301
302
  content: e
302
303
  }
303
- ), fe = (e) => /* @__PURE__ */ s.jsxs(d, { className: "p-4 space-y-2", children: [
304
- /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground", children: /* @__PURE__ */ s.jsx(j, { schema: e }) }),
305
- e.enum && /* @__PURE__ */ s.jsx(y, { values: e.enum }),
306
- je(e.description),
307
- /* @__PURE__ */ s.jsx(N, { schema: e })
304
+ ), ye = (e) => /* @__PURE__ */ s.jsxs(c, { className: "p-4 space-y-2", children: [
305
+ /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground", children: /* @__PURE__ */ s.jsx(g, { schema: e }) }),
306
+ e.enum && /* @__PURE__ */ s.jsx(N, { values: e.enum }),
307
+ fe(e.description),
308
+ /* @__PURE__ */ s.jsx(b, { schema: e })
308
309
  ] }), x = ({
309
310
  schema: e,
310
311
  defaultOpen: t = !1
311
312
  }) => {
312
313
  if (!e || Object.keys(e).length === 0)
313
- return /* @__PURE__ */ s.jsx(d, { className: "p-4", children: /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground italic", children: "No schema specified" }) });
314
- if (b(e))
315
- return /* @__PURE__ */ s.jsx(P, { schema: e });
316
- if (xe(e.type))
317
- return fe(e);
314
+ return /* @__PURE__ */ s.jsx(c, { className: "p-4", children: /* @__PURE__ */ s.jsx("span", { className: "text-sm text-muted-foreground italic", children: "No schema specified" }) });
315
+ if (h(e))
316
+ return /* @__PURE__ */ s.jsx(w, { schema: e });
317
+ if (pe(e.type))
318
+ return ye(e);
318
319
  if (e.type === "array" && typeof e.items == "object")
319
- return /* @__PURE__ */ s.jsxs(d, { className: "p-4 space-y-2 text-sm", children: [
320
- /* @__PURE__ */ s.jsx(j, { schema: e }),
321
- /* @__PURE__ */ s.jsx(x, { schema: e.items })
322
- ] });
320
+ return /* @__PURE__ */ s.jsx(x, { schema: e.items });
323
321
  if (e.type === "object") {
324
- const r = te(
322
+ const r = re(
325
323
  Object.entries(e.properties ?? {}),
326
324
  ([n, o]) => {
327
325
  var l;
328
326
  return o.deprecated ? "deprecated" : (l = e.required) != null && l.includes(n) ? "required" : "optional";
329
327
  }
330
328
  ), i = ["required", "optional", "deprecated"];
331
- return /* @__PURE__ */ s.jsx(d, { className: "divide-y overflow-hidden", children: i.map(
329
+ return /* @__PURE__ */ s.jsx(c, { className: "divide-y overflow-hidden", children: i.map(
332
330
  (n) => r[n] && /* @__PURE__ */ s.jsx("ul", { className: "divide-y", children: r[n].map(([o, l]) => /* @__PURE__ */ s.jsx(
333
- ue,
331
+ je,
334
332
  {
335
333
  name: o,
336
334
  schema: l,
@@ -341,17 +339,18 @@ const we = (e, ...[t]) => {
341
339
  )) }, n)
342
340
  ) });
343
341
  }
344
- return e.additionalProperties ? /* @__PURE__ */ s.jsxs(d, { className: "my-2", children: [
345
- /* @__PURE__ */ s.jsx(q, { children: /* @__PURE__ */ s.jsx(G, { children: "Additional Properties:" }) }),
346
- /* @__PURE__ */ s.jsx(M, { children: /* @__PURE__ */ s.jsx(x, { schema: e.additionalProperties }) })
342
+ return e.additionalProperties ? /* @__PURE__ */ s.jsxs(c, { className: "my-2", children: [
343
+ /* @__PURE__ */ s.jsx(G, { children: /* @__PURE__ */ s.jsx(M, { children: "Additional Properties:" }) }),
344
+ /* @__PURE__ */ s.jsx(K, { children: /* @__PURE__ */ s.jsx(x, { schema: e.additionalProperties }) })
347
345
  ] }) : null;
348
346
  };
349
347
  export {
350
- y as E,
351
- j as P,
348
+ N as E,
349
+ g as P,
352
350
  x as S,
353
- N as a,
354
- te as g,
355
- we as u
351
+ b as a,
352
+ re as g,
353
+ f as i,
354
+ Le as u
356
355
  };
357
- //# sourceMappingURL=SchemaView-J7Srn-Iy.js.map
356
+ //# sourceMappingURL=SchemaView-DXjql-Bl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaView-DXjql-Bl.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/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.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 &nbsp;&middot;&nbsp;\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 {\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 { 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.enum && <EnumValues values={schema.enum} />}\n <SchemaExampleAndDefault schema={schema} />\n {(hasLogicalGroupings(schema) ||\n isComplexType(schema) ||\n isArrayType(schema)) && (\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 { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"../../../ui/Card.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { 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 (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 as SchemaObject} />;\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 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 </Card>\n );\n }\n\n if (schema.additionalProperties) {\n return (\n <Card className=\"my-2\">\n <CardHeader>\n <CardTitle>Additional Properties:</CardTitle>\n </CardHeader>\n <CardContent>\n <SchemaView schema={schema.additionalProperties as SchemaObject} />\n </CardContent>\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","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","CardHeader","CardTitle","CardContent"],"mappings":"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","x_google_ignoreList":[0]}