zudoku 0.3.0-dev.116 → 0.3.0-dev.119

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 (157) hide show
  1. package/dist/app/demo.js +3 -1
  2. package/dist/app/demo.js.map +1 -1
  3. package/dist/app/main.js +1 -1
  4. package/dist/app/main.js.map +1 -1
  5. package/dist/app/standalone.js +3 -1
  6. package/dist/app/standalone.js.map +1 -1
  7. package/dist/cli/dev/handler.js +1 -1
  8. package/dist/lib/components/Markdown.js +3 -2
  9. package/dist/lib/components/Markdown.js.map +1 -1
  10. package/dist/lib/components/navigation/SidebarCategory.js +6 -2
  11. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  12. package/dist/lib/components/navigation/SidebarItem.js +3 -2
  13. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  14. package/dist/lib/oas/graphql/index.js +17 -2
  15. package/dist/lib/oas/graphql/index.js.map +1 -1
  16. package/dist/lib/plugins/markdown/MdxPage.js +1 -1
  17. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  18. package/dist/lib/plugins/openapi/OperationListItem.js +6 -4
  19. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  20. package/dist/lib/plugins/openapi/ParameterList.js +3 -1
  21. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  22. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +3 -1
  23. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +5 -9
  24. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  25. package/dist/lib/plugins/openapi/Sidecar.d.ts +3 -1
  26. package/dist/lib/plugins/openapi/Sidecar.js +6 -4
  27. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  28. package/dist/lib/plugins/openapi/schema/SchemaComponents.d.ts +13 -0
  29. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +28 -0
  30. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -0
  31. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +6 -0
  32. package/dist/lib/plugins/openapi/schema/SchemaView.js +44 -0
  33. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -0
  34. package/dist/lib/plugins/openapi/schema/utils.d.ts +3 -0
  35. package/dist/lib/plugins/openapi/schema/utils.js +6 -0
  36. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -0
  37. package/dist/lib/themeToggle.d.ts +1 -0
  38. package/dist/lib/themeToggle.js +7 -0
  39. package/dist/lib/themeToggle.js.map +1 -0
  40. package/dist/lib/util/MdxComponents.js +4 -4
  41. package/dist/lib/util/MdxComponents.js.map +1 -1
  42. package/dist/vite/config.d.ts +4 -5
  43. package/dist/vite/config.js +7 -4
  44. package/dist/vite/config.js.map +1 -1
  45. package/dist/vite/config.test.js +2 -2
  46. package/dist/vite/config.test.js.map +1 -1
  47. package/dist/vite/dev-server.d.ts +0 -1
  48. package/dist/vite/dev-server.js +2 -21
  49. package/dist/vite/dev-server.js.map +1 -1
  50. package/dist/vite/html.js +2 -11
  51. package/dist/vite/html.js.map +1 -1
  52. package/dist/vite/plugin-api-keys.d.ts +3 -3
  53. package/dist/vite/plugin-api-keys.js +2 -1
  54. package/dist/vite/plugin-api-keys.js.map +1 -1
  55. package/dist/vite/plugin-api.d.ts +3 -3
  56. package/dist/vite/plugin-api.js +2 -1
  57. package/dist/vite/plugin-api.js.map +1 -1
  58. package/dist/vite/plugin-auth.d.ts +3 -3
  59. package/dist/vite/plugin-auth.js +2 -1
  60. package/dist/vite/plugin-auth.js.map +1 -1
  61. package/dist/vite/plugin-component.d.ts +3 -3
  62. package/dist/vite/plugin-component.js +17 -14
  63. package/dist/vite/plugin-component.js.map +1 -1
  64. package/dist/vite/plugin-config-reload.d.ts +4 -0
  65. package/dist/vite/plugin-config-reload.js +24 -0
  66. package/dist/vite/plugin-config-reload.js.map +1 -0
  67. package/dist/vite/plugin-config.d.ts +2 -2
  68. package/dist/vite/plugin-config.js.map +1 -1
  69. package/dist/vite/plugin-custom-css.d.ts +3 -3
  70. package/dist/vite/plugin-custom-css.js +2 -1
  71. package/dist/vite/plugin-custom-css.js.map +1 -1
  72. package/dist/vite/plugin-docs.d.ts +3 -3
  73. package/dist/vite/plugin-docs.js +3 -2
  74. package/dist/vite/plugin-docs.js.map +1 -1
  75. package/dist/vite/plugin-html-transform.d.ts +2 -0
  76. package/dist/vite/plugin-html-transform.js +15 -0
  77. package/dist/vite/plugin-html-transform.js.map +1 -0
  78. package/dist/vite/plugin-mdx.d.ts +3 -3
  79. package/dist/vite/plugin-mdx.js +2 -1
  80. package/dist/vite/plugin-mdx.js.map +1 -1
  81. package/dist/vite/plugin-metadata.d.ts +1 -1
  82. package/dist/vite/plugin-redirect.d.ts +3 -3
  83. package/dist/vite/plugin-redirect.js +2 -1
  84. package/dist/vite/plugin-redirect.js.map +1 -1
  85. package/dist/vite/plugin-sidebar.d.ts +3 -3
  86. package/dist/vite/plugin-sidebar.js +2 -1
  87. package/dist/vite/plugin-sidebar.js.map +1 -1
  88. package/dist/vite/plugin.d.ts +3 -2
  89. package/dist/vite/plugin.js +16 -11
  90. package/dist/vite/plugin.js.map +1 -1
  91. package/lib/{CategoryHeading-BWq12Bfa.js → CategoryHeading-z15xh7Jb.js} +2 -2
  92. package/lib/{CategoryHeading-BWq12Bfa.js.map → CategoryHeading-z15xh7Jb.js.map} +1 -1
  93. package/lib/{Combination-D-9IH0zy.js → Combination-DTfV-c98.js} +2 -2
  94. package/lib/{Combination-D-9IH0zy.js.map → Combination-DTfV-c98.js.map} +1 -1
  95. package/lib/{Input-HmAaR6kw.js → Input-DB9VROFR.js} +3 -3
  96. package/lib/{Input-HmAaR6kw.js.map → Input-DB9VROFR.js.map} +1 -1
  97. package/lib/Markdown-CEccPMI_.js +20508 -0
  98. package/lib/Markdown-CEccPMI_.js.map +1 -0
  99. package/lib/{MdxPage-oN3huD58.js → MdxPage-CnqOoqvp.js} +12 -15
  100. package/lib/MdxPage-CnqOoqvp.js.map +1 -0
  101. package/lib/OperationList-MFaKgMyg.js +414 -0
  102. package/lib/OperationList-MFaKgMyg.js.map +1 -0
  103. package/lib/{Route-DAF15JAU.js → Route-CL9hUSJ2.js} +2 -2
  104. package/lib/{Route-DAF15JAU.js.map → Route-CL9hUSJ2.js.map} +1 -1
  105. package/lib/{SlotletProvider-BG2PU1Mf.js → SlotletProvider-ByLSCZQa.js} +3 -3
  106. package/lib/{SlotletProvider-BG2PU1Mf.js.map → SlotletProvider-ByLSCZQa.js.map} +1 -1
  107. package/lib/{Spinner-BCz1kNGw.js → Spinner-BT_AYFrA.js} +3 -3
  108. package/lib/{Spinner-BCz1kNGw.js.map → Spinner-BT_AYFrA.js.map} +1 -1
  109. package/lib/assets/{worker-CR7aeKop.js → worker-TEvS6miZ.js} +709 -702
  110. package/lib/assets/{worker-CR7aeKop.js.map → worker-TEvS6miZ.js.map} +1 -1
  111. package/lib/{index-CtKkHGcd.js → index-Bf5yypxf.js} +671 -640
  112. package/lib/{index-CtKkHGcd.js.map → index-Bf5yypxf.js.map} +1 -1
  113. package/lib/{index-D-9Z7HSn.js → index-Dz4LyXZI.js} +3 -3
  114. package/lib/{index-D-9Z7HSn.js.map → index-Dz4LyXZI.js.map} +1 -1
  115. package/lib/zudoku.components.js +494 -481
  116. package/lib/zudoku.components.js.map +1 -1
  117. package/lib/zudoku.openapi-worker.js +733 -726
  118. package/lib/zudoku.openapi-worker.js.map +1 -1
  119. package/lib/zudoku.plugin-api-keys.js +4 -4
  120. package/lib/zudoku.plugin-custom-page.js +1 -1
  121. package/lib/zudoku.plugin-markdown.js +1 -1
  122. package/lib/zudoku.plugin-openapi.js +3 -3
  123. package/package.json +2 -1
  124. package/src/app/demo.tsx +4 -1
  125. package/src/app/main.tsx +1 -1
  126. package/src/app/standalone.tsx +4 -1
  127. package/src/lib/components/Markdown.tsx +3 -2
  128. package/src/lib/components/navigation/SidebarCategory.tsx +13 -2
  129. package/src/lib/components/navigation/SidebarItem.tsx +3 -2
  130. package/src/lib/oas/graphql/index.ts +24 -5
  131. package/src/lib/plugins/markdown/MdxPage.tsx +0 -1
  132. package/src/lib/plugins/openapi/OperationListItem.tsx +18 -8
  133. package/src/lib/plugins/openapi/ParameterList.tsx +10 -8
  134. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +51 -39
  135. package/src/lib/plugins/openapi/Sidecar.tsx +13 -4
  136. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +126 -0
  137. package/src/lib/plugins/openapi/schema/SchemaView.tsx +112 -0
  138. package/src/lib/plugins/openapi/schema/utils.ts +10 -0
  139. package/src/lib/themeToggle.ts +7 -0
  140. package/src/lib/util/MdxComponents.tsx +12 -12
  141. package/dist/lib/plugins/openapi/SchemaListView.d.ts +0 -7
  142. package/dist/lib/plugins/openapi/SchemaListView.js +0 -27
  143. package/dist/lib/plugins/openapi/SchemaListView.js.map +0 -1
  144. package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +0 -8
  145. package/dist/lib/plugins/openapi/SchemaListViewItem.js +0 -25
  146. package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +0 -1
  147. package/dist/lib/plugins/openapi/SchemaListViewItemGroup.d.ts +0 -8
  148. package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js +0 -17
  149. package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js.map +0 -1
  150. package/lib/Markdown-B_Gax7at.js +0 -14108
  151. package/lib/Markdown-B_Gax7at.js.map +0 -1
  152. package/lib/MdxPage-oN3huD58.js.map +0 -1
  153. package/lib/OperationList-Ctj0ihBN.js +0 -448
  154. package/lib/OperationList-Ctj0ihBN.js.map +0 -1
  155. package/src/lib/plugins/openapi/SchemaListView.tsx +0 -75
  156. package/src/lib/plugins/openapi/SchemaListViewItem.tsx +0 -125
  157. package/src/lib/plugins/openapi/SchemaListViewItemGroup.tsx +0 -63
@@ -1,8 +1,8 @@
1
1
  import { j as e } from "./jsx-runtime-B6kdoens.js";
2
2
  import { A, c as T, d as P, a as C, b as M } from "./utils-Bh4upQ0e.js";
3
3
  import { L as y } from "./index-7kcHaXD6.js";
4
- import { C as H } from "./CategoryHeading-BWq12Bfa.js";
5
- import { c as L, d as R, a as x, P as S, H as m } from "./Markdown-B_Gax7at.js";
4
+ import { C as H } from "./CategoryHeading-z15xh7Jb.js";
5
+ import { c as L, d as R, a as x, P as S, H as m } from "./Markdown-CEccPMI_.js";
6
6
  import { s as E } from "./slugify-CiPVjteN.js";
7
7
  import { useRef as f, useState as I, useEffect as _ } from "react";
8
8
  /**
@@ -60,10 +60,10 @@ const $ = L("ListTree", [
60
60
  i({ top: 0, opacity: 0 });
61
61
  return;
62
62
  }
63
- const n = s.current.getBoundingClientRect().top, h = a.getBoundingClientRect().top;
63
+ const o = s.current.getBoundingClientRect().top, h = a.getBoundingClientRect().top;
64
64
  i({
65
65
  opacity: 1,
66
- top: `${h - n}px`
66
+ top: `${h - o}px`
67
67
  }), !c.current && requestIdleCallback(() => {
68
68
  c.current = !0;
69
69
  });
@@ -95,13 +95,13 @@ const $ = L("ListTree", [
95
95
  isActive: a.id === t,
96
96
  item: a,
97
97
  className: "pl-0",
98
- children: a.children && /* @__PURE__ */ e.jsx("ul", { className: "list-none pl-4 pt-2 space-y-2", children: a.children.map((n) => /* @__PURE__ */ e.jsx(
98
+ children: a.children && /* @__PURE__ */ e.jsx("ul", { className: "list-none pl-4 pt-2 space-y-2", children: a.children.map((o) => /* @__PURE__ */ e.jsx(
99
99
  b,
100
100
  {
101
- item: n,
102
- isActive: n.id === t
101
+ item: o,
102
+ isActive: o.id === t
103
103
  },
104
- n.id
104
+ o.id
105
105
  )) })
106
106
  },
107
107
  a.id
@@ -112,10 +112,7 @@ const $ = L("ListTree", [
112
112
  ] });
113
113
  }, B = {
114
114
  h2: ({ children: r, id: t }) => /* @__PURE__ */ e.jsx(m, { level: 2, id: t, registerSidebarAnchor: !0, children: r }),
115
- h3: ({ children: r, id: t }) => /* @__PURE__ */ e.jsxs(m, { level: 3, id: t, registerSidebarAnchor: !0, children: [
116
- " ",
117
- r
118
- ] })
115
+ h3: ({ children: r, id: t }) => /* @__PURE__ */ e.jsx(m, { level: 3, id: t, registerSidebarAnchor: !0, children: r })
119
116
  }, J = ({
120
117
  mdxComponent: r,
121
118
  frontmatter: t = {},
@@ -123,8 +120,8 @@ const $ = L("ListTree", [
123
120
  tableOfContents: c
124
121
  }) => {
125
122
  var g, j, v;
126
- const p = (g = T()) == null ? void 0 : g.categoryLabel, i = t.title, a = t.category ?? p, n = t.toc === !1 || (s == null ? void 0 : s.toc) === !1, h = ((j = c.find((o) => o.depth === 1)) == null ? void 0 : j.value) ?? i, w = t.disablePager ?? (s == null ? void 0 : s.disablePager) ?? !1, u = ((v = c.find((o) => o.depth === 1)) == null ? void 0 : v.children) ?? // if `title` is provided by frontmatter it does not appear in the table of contents
127
- c.filter((o) => o.depth === 2), k = !n && u.length > 0, { prev: l, next: d } = P();
123
+ const p = (g = T()) == null ? void 0 : g.categoryLabel, i = t.title, a = t.category ?? p, o = t.toc === !1 || (s == null ? void 0 : s.toc) === !1, h = ((j = c.find((n) => n.depth === 1)) == null ? void 0 : j.value) ?? i, w = t.disablePager ?? (s == null ? void 0 : s.disablePager) ?? !1, u = ((v = c.find((n) => n.depth === 1)) == null ? void 0 : v.children) ?? // if `title` is provided by frontmatter it does not appear in the table of contents
124
+ c.filter((n) => n.depth === 2), k = !o && u.length > 0, { prev: l, next: d } = P();
128
125
  return /* @__PURE__ */ e.jsxs("div", { className: "xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between", children: [
129
126
  /* @__PURE__ */ e.jsx(C, { children: /* @__PURE__ */ e.jsx("title", { children: h }) }),
130
127
  /* @__PURE__ */ e.jsxs(
@@ -184,4 +181,4 @@ const $ = L("ListTree", [
184
181
  export {
185
182
  J as MdxPage
186
183
  };
187
- //# sourceMappingURL=MdxPage-oN3huD58.js.map
184
+ //# sourceMappingURL=MdxPage-CnqOoqvp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdxPage-CnqOoqvp.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/list-tree.js","../src/lib/plugins/markdown/Toc.tsx","../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListTree = createLucideIcon(\"ListTree\", [\n [\"path\", { d: \"M21 12h-8\", key: \"1bmf0i\" }],\n [\"path\", { d: \"M21 6H8\", key: \"1pqkrb\" }],\n [\"path\", { d: \"M21 18h-8\", key: \"1tm79t\" }],\n [\"path\", { d: \"M3 6v4c0 1.1.9 2 2 2h3\", key: \"1ywdgy\" }],\n [\"path\", { d: \"M3 10v6c0 1.1.9 2 2 2h3\", key: \"2wc746\" }]\n]);\n\nexport { ListTree as default };\n//# sourceMappingURL=list-tree.js.map\n","import type { TocEntry } from \"@stefanprobst/rehype-extract-toc\";\nimport { ListTreeIcon } from \"lucide-react\";\nimport {\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type PropsWithChildren,\n} from \"react\";\nimport { AnchorLink } from \"../../components/AnchorLink.js\";\nimport { useViewportAnchor } from \"../../components/context/ViewportAnchorContext.js\";\nimport { cn } from \"../../util/cn.js\";\n\nconst DATA_ANCHOR_ATTR = \"data-active\";\n\nconst TocItem = ({\n item,\n children,\n className,\n isActive,\n}: PropsWithChildren<{\n item: TocEntry;\n isActive: boolean;\n className?: string;\n}>) => {\n return (\n <li\n className={cn(\n \"truncate\",\n isActive\n ? \"text-primary\"\n : \"text-foreground/65 dark:text-foreground/75\",\n className,\n )}\n title={item.value}\n >\n <AnchorLink\n to={`#${item.id}`}\n {...{ [DATA_ANCHOR_ATTR]: item.id }}\n className={cn(\n isActive\n ? \"text-primary\"\n : \"text-foreground/65 dark:text-foreground/75 hover:text-foreground\",\n )}\n >\n {item.value}\n </AnchorLink>\n {children}\n </li>\n );\n};\n\nexport const Toc = ({ entries }: { entries: TocEntry[] }) => {\n const { activeAnchor } = useViewportAnchor();\n const listWrapperRef = useRef<HTMLUListElement>(null);\n const paintedOnce = useRef(false);\n const [indicatorStyle, setIndicatorStyles] = useState<CSSProperties>({\n top: 0,\n opacity: 0,\n });\n\n // synchronize active anchor indicator with the scroll position\n useEffect(() => {\n if (!listWrapperRef.current) return;\n\n const activeElement = listWrapperRef.current.querySelector(\n `[${DATA_ANCHOR_ATTR}='${activeAnchor}']`,\n );\n\n if (!activeElement) {\n setIndicatorStyles({ top: 0, opacity: 0 });\n return;\n }\n\n const topParent = listWrapperRef.current.getBoundingClientRect().top;\n const topElement = activeElement.getBoundingClientRect().top;\n\n setIndicatorStyles({\n opacity: 1,\n top: `${topElement - topParent}px`,\n });\n\n if (paintedOnce.current) return;\n\n // after all is painted, the indicator should animate\n requestIdleCallback(() => {\n paintedOnce.current = true;\n });\n }, [activeAnchor]);\n\n return (\n <aside className=\"sticky top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm\">\n <div className=\"flex items-center gap-2 font-medium mb-2\">\n <ListTreeIcon size={16} />\n On this page\n </div>\n <div className=\"relative ms-2 ps-4\">\n <div className=\"absolute inset-0 right-auto bg-border w-[2px]\" />\n <div\n className={cn(\n \"absolute -left-px -translate-y-1 h-6 w-[4px] rounded bg-primary\",\n paintedOnce.current &&\n \"ease-out [transition:top_150ms,opacity_325ms]\",\n )}\n style={indicatorStyle}\n />\n <ul\n ref={listWrapperRef}\n className=\"relative font-medium list-none space-y-2\"\n >\n {entries.map((item) => (\n <TocItem\n isActive={item.id === activeAnchor}\n key={item.id}\n item={item}\n className=\"pl-0\"\n >\n {item.children && (\n <ul className=\"list-none pl-4 pt-2 space-y-2\">\n {item.children.map((child) => (\n <TocItem\n item={child}\n isActive={child.id === activeAnchor}\n key={child.id}\n />\n ))}\n </ul>\n )}\n </TocItem>\n ))}\n </ul>\n </div>\n </aside>\n );\n};\n","import { useMDXComponents } from \"@mdx-js/react\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { type PropsWithChildren } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { ProseClasses } from \"../../components/Markdown.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { cn } from \"../../util/cn.js\";\nimport slugify from \"../../util/slugify.js\";\nimport { Toc } from \"./Toc.js\";\nimport { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerSidebarAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerSidebarAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n tableOfContents,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n const title = frontmatter.title;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n tableOfContents.find((item) => item.depth === 1)?.value ?? title;\n const hidePager =\n frontmatter.disablePager ?? defaultOptions?.disablePager ?? false;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n return (\n <div className=\"xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between\">\n <Helmet>\n <title>{pageTitle}</title>\n </Helmet>\n <div\n className={cn(\n ProseClasses,\n \"max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]\",\n )}\n >\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title, { lower: true })}>\n {title}\n </Heading>\n )}\n {frontmatter.description && (\n <p className=\"prose-lg\">{frontmatter.description}</p>\n )}\n </header>\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n {!hidePager && (\n <>\n <hr />\n <div className=\"not-prose flex items-center justify-between gap-8\">\n {prev ? (\n <Link\n to={prev.id}\n className=\"flex flex-col items-stretch gap-2 flex-1 truncate border rounded px-6 py-4 text-start hover:border-primary/85 transition shadow-sm hover:shadow-md\"\n title={prev.label}\n >\n <div className=\"text-sm text-muted-foreground\">\n ← Previous page\n </div>\n <div className=\"text-lg text-primary truncate\">\n {prev.label}\n </div>\n </Link>\n ) : (\n <div className=\"flex-1\" />\n )}\n {next ? (\n <Link\n to={next.id}\n className=\"flex flex-col items-stretch gap-2 flex-1 truncate border rounded px-6 py-4 text-end hover:border-primary/85 transition shadow-sm hover:shadow-md\"\n title={next.label}\n >\n <div className=\"text-sm text-muted-foreground\">\n Next page →\n </div>\n <div className=\"text-lg text-primary truncate\">\n {next.label}\n </div>\n </Link>\n ) : (\n <div className=\"flex-1\" />\n )}\n </div>\n </>\n )}\n </div>\n <div className=\"hidden xl:block\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["ListTree","createLucideIcon","DATA_ANCHOR_ATTR","TocItem","item","children","className","isActive","jsxs","cn","jsx","AnchorLink","Toc","entries","activeAnchor","useViewportAnchor","listWrapperRef","useRef","paintedOnce","indicatorStyle","setIndicatorStyles","useState","useEffect","activeElement","topParent","topElement","ListTreeIcon","child","MarkdownHeadings","id","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","tableOfContents","categoryTitle","_a","useCurrentItem","title","category","hideToc","pageTitle","_b","hidePager","tocEntries","_c","showToc","prev","next","usePrevNext","Helmet","ProseClasses","CategoryHeading","slugify","useMDXComponents","Fragment","Link"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,414 @@
1
+ import { j as e } from "./jsx-runtime-B6kdoens.js";
2
+ import { C as b } from "./CategoryHeading-z15xh7Jb.js";
3
+ import { D as v } from "./DeveloperHint-BQSFXH01.js";
4
+ import { C as A, a as x, b as N, c as I, d as R, T as k, e as H, f as $, g as F, S as B, h as P, u as M, E as z } from "./index-Bf5yypxf.js";
5
+ import { c as E, h as j, H as h, a as f, P as q, I as O, S as G } from "./Markdown-CEccPMI_.js";
6
+ import { useState as w } from "react";
7
+ import { R as D, T as Q, C as V, a as _ } from "./index-Dz4LyXZI.js";
8
+ import { u as J } from "./urql-DrBfkb92.js";
9
+ import { B as K } from "./Combination-DTfV-c98.js";
10
+ /**
11
+ * @license lucide-react v0.378.0 - ISC
12
+ *
13
+ * This source code is licensed under the ISC license.
14
+ * See the LICENSE file in the root directory of this source tree.
15
+ */
16
+ const U = E("ListPlus", [
17
+ ["path", { d: "M11 12H3", key: "51ecnj" }],
18
+ ["path", { d: "M16 6H3", key: "1wxfjs" }],
19
+ ["path", { d: "M16 18H3", key: "12xzn7" }],
20
+ ["path", { d: "M18 9v6", key: "1twb98" }],
21
+ ["path", { d: "M21 12h-6", key: "bt1uis" }]
22
+ ]);
23
+ function Z(t, s) {
24
+ return s;
25
+ }
26
+ const L = (t, s) => t.reduce(
27
+ (i, n) => {
28
+ const r = s(n);
29
+ return i[r] || (i[r] = []), i[r].push(n), i;
30
+ },
31
+ {}
32
+ ), C = (t, s) => t ? s(t) : void 0, S = (t) => t.schema != null && typeof t.schema == "object" ? t.schema : {
33
+ type: "string"
34
+ }, W = ({
35
+ parameter: t,
36
+ group: s,
37
+ id: i
38
+ }) => /* @__PURE__ */ e.jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1", children: [
39
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
40
+ /* @__PURE__ */ e.jsx("code", { children: s === "path" ? /* @__PURE__ */ e.jsx(
41
+ A,
42
+ {
43
+ name: t.name,
44
+ backgroundOpacity: "15%",
45
+ slug: i + "-" + t.name.toLocaleLowerCase()
46
+ }
47
+ ) : t.name }),
48
+ t.required && /* @__PURE__ */ e.jsx("span", { className: "py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg", children: "required" }),
49
+ S(t).type && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: S(t).type })
50
+ ] }),
51
+ t.description && /* @__PURE__ */ e.jsx(
52
+ j,
53
+ {
54
+ content: t.description,
55
+ className: "text-sm prose-p:my-1"
56
+ }
57
+ )
58
+ ] }), X = ({
59
+ group: t,
60
+ parameters: s,
61
+ id: i
62
+ }) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
63
+ /* @__PURE__ */ e.jsx(h, { level: 3, id: `${i}/${t}-parameters`, className: "capitalize", children: t === "header" ? "Headers" : `${t} Parameters` }),
64
+ /* @__PURE__ */ e.jsx(x, { children: /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 divide-y ", children: s.sort((n, r) => n.required === r.required ? 0 : n.required ? -1 : 1).map((n) => /* @__PURE__ */ e.jsx(
65
+ W,
66
+ {
67
+ parameter: n,
68
+ id: i,
69
+ group: t
70
+ },
71
+ `${n.name}-${n.in}`
72
+ )) }) })
73
+ ] }), Y = (t) => t.type === "object" || t.type === "array" && typeof t.items == "object" && (!t.items.type || t.items.type === "object"), y = (t) => !!(t.oneOf ?? t.allOf ?? t.anyOf), T = ({
74
+ schema: t,
75
+ level: s
76
+ }) => {
77
+ const i = (n, r, c) => n.map((o, d) => /* @__PURE__ */ e.jsxs("div", { className: "my-2", children: [
78
+ /* @__PURE__ */ e.jsx("strong", { children: r }),
79
+ /* @__PURE__ */ e.jsxs("div", { className: "mt-2", children: [
80
+ /* @__PURE__ */ e.jsx(u, { schema: o, level: s + 1 }),
81
+ d < n.length - 1 && /* @__PURE__ */ e.jsx("div", { className: "text-center my-2", children: c })
82
+ ] })
83
+ ] }, d));
84
+ return t.oneOf ? i(t.oneOf, "One of", "OR") : t.allOf ? i(t.allOf, "All of", "AND") : t.anyOf ? i(t.anyOf, "Any of", "OR") : null;
85
+ }, ee = ({
86
+ name: t,
87
+ value: s,
88
+ group: i,
89
+ level: n,
90
+ defaultOpen: r = !1,
91
+ showCollapseButton: c = !0
92
+ }) => {
93
+ var m;
94
+ const [o, d] = w(r);
95
+ return /* @__PURE__ */ e.jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-1 justify-between text-sm", children: [
96
+ /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center", children: [
97
+ /* @__PURE__ */ e.jsx("code", { children: t }),
98
+ /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: s.type === "array" && ((m = s.items) != null && m.type) ? /* @__PURE__ */ e.jsxs("span", { children: [
99
+ s.items.type,
100
+ "[]"
101
+ ] }) : Array.isArray(s.type) ? /* @__PURE__ */ e.jsx("span", { children: s.type.join(" | ") }) : /* @__PURE__ */ e.jsx("span", { children: s.type }) }),
102
+ i === "optional" && /* @__PURE__ */ e.jsx("span", { className: "py-px px-1.5 font-medium border rounded-lg", children: "optional" })
103
+ ] }),
104
+ s.description && /* @__PURE__ */ e.jsx(
105
+ j,
106
+ {
107
+ className: f(q, "text-sm leading-normal line-clamp-4"),
108
+ content: s.description
109
+ }
110
+ ),
111
+ (y(s) ?? Y(s)) && /* @__PURE__ */ e.jsxs(
112
+ D,
113
+ {
114
+ defaultOpen: r,
115
+ open: o,
116
+ onOpenChange: () => d(!o),
117
+ children: [
118
+ c && /* @__PURE__ */ e.jsx(Q, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
119
+ K,
120
+ {
121
+ variant: "outline",
122
+ size: "sm",
123
+ className: "mt-2 flex gap-1.5",
124
+ children: [
125
+ /* @__PURE__ */ e.jsx(U, { size: 18 }),
126
+ o ? "Hide nested properties" : "Show nested properties"
127
+ ]
128
+ }
129
+ ) }),
130
+ /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsxs("div", { className: "mt-2", children: [
131
+ y(s) && /* @__PURE__ */ e.jsx(T, { schema: s, level: n + 1 }),
132
+ s.type === "object" && /* @__PURE__ */ e.jsx(u, { schema: s, level: n + 1 }),
133
+ s.type === "array" && typeof s.items == "object" && /* @__PURE__ */ e.jsx(u, { schema: s.items, level: n + 1 })
134
+ ] }) })
135
+ ]
136
+ }
137
+ )
138
+ ] }) });
139
+ }, u = ({
140
+ schema: t,
141
+ level: s = 0,
142
+ defaultOpen: i = !1
143
+ }) => {
144
+ const n = (r, c) => {
145
+ if (r.oneOf || r.allOf || r.anyOf)
146
+ return /* @__PURE__ */ e.jsx(T, { schema: r, level: c });
147
+ if (r.type === "array" && r.items) {
148
+ const o = r.items;
149
+ return typeof o.type == "string" && ["string", "number", "boolean", "integer"].includes(o.type) ? /* @__PURE__ */ e.jsx(x, { className: "my-2", children: /* @__PURE__ */ e.jsxs(N, { children: [
150
+ /* @__PURE__ */ e.jsx("strong", { children: `array<${o.type}>` }),
151
+ r.description && /* @__PURE__ */ e.jsx("p", { children: r.description })
152
+ ] }) }) : o.type === "object" || y(o) ? /* @__PURE__ */ e.jsxs(x, { className: "flex flex-col gap-2 bg-border/30 p-4 ", children: [
153
+ /* @__PURE__ */ e.jsx("span", { className: "text-sm text-muted-foreground", children: "object[]" }),
154
+ n(o, c + 1)
155
+ ] }) : n(o, c + 1);
156
+ }
157
+ if (r.properties) {
158
+ const o = L(
159
+ Object.entries(r.properties),
160
+ ([a, l]) => {
161
+ var p;
162
+ return l.deprecated ? "deprecated" : (p = r.required) != null && p.includes(a) ? "required" : "optional";
163
+ }
164
+ ), d = c === 0 && Object.keys(o).length === 1, m = ["required", "optional", "deprecated"];
165
+ return /* @__PURE__ */ e.jsx(x, { className: "divide-y overflow-hidden", children: m.map(
166
+ (a) => o[a] && /* @__PURE__ */ e.jsx("ul", { className: "divide-y", children: o[a].map(([l, p]) => /* @__PURE__ */ e.jsx(
167
+ ee,
168
+ {
169
+ name: l,
170
+ value: p,
171
+ group: a,
172
+ level: c,
173
+ defaultOpen: d || i,
174
+ showCollapseButton: !d
175
+ },
176
+ l
177
+ )) }, a)
178
+ ) });
179
+ }
180
+ return r.additionalProperties ? /* @__PURE__ */ e.jsxs(x, { className: "my-2", children: [
181
+ /* @__PURE__ */ e.jsx(I, { children: /* @__PURE__ */ e.jsx(R, { children: "Additional Properties:" }) }),
182
+ /* @__PURE__ */ e.jsx(N, { children: n(
183
+ r.additionalProperties,
184
+ c + 1
185
+ ) })
186
+ ] }) : null;
187
+ };
188
+ return n(t, s);
189
+ }, g = f(
190
+ q,
191
+ "max-w-full prose-img:max-w-prose"
192
+ ), se = ["path", "query", "header", "cookie"], te = ({
193
+ operationFragment: t
194
+ }) => {
195
+ var o, d, m;
196
+ const s = Z(re, t), i = L(
197
+ s.parameters ?? [],
198
+ (a) => a.in
199
+ ), n = s.responses.at(0), [r, c] = w(n == null ? void 0 : n.statusCode);
200
+ return /* @__PURE__ */ e.jsxs(
201
+ "div",
202
+ {
203
+ className: "grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16",
204
+ children: [
205
+ /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-4", children: [
206
+ /* @__PURE__ */ e.jsx(h, { level: 2, id: s.slug, registerSidebarAnchor: !0, children: s.summary }),
207
+ s.description && /* @__PURE__ */ e.jsx(
208
+ j,
209
+ {
210
+ className: g,
211
+ content: s.description
212
+ }
213
+ ),
214
+ s.parameters && s.parameters.length > 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: se.flatMap(
215
+ (a) => {
216
+ var l;
217
+ return (l = i[a]) != null && l.length ? /* @__PURE__ */ e.jsx(
218
+ X,
219
+ {
220
+ id: s.slug,
221
+ parameters: i[a],
222
+ group: a
223
+ },
224
+ a
225
+ ) : [];
226
+ }
227
+ ) }),
228
+ C((m = (d = (o = s.requestBody) == null ? void 0 : o.content) == null ? void 0 : d.at(0)) == null ? void 0 : m.schema, (a) => /* @__PURE__ */ e.jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [
229
+ /* @__PURE__ */ e.jsx(h, { level: 3, className: "capitalize", children: "Request Body" }),
230
+ /* @__PURE__ */ e.jsx(u, { schema: a })
231
+ ] })),
232
+ s.responses.length > 0 && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
233
+ /* @__PURE__ */ e.jsx(h, { level: 3, className: "capitalize mt-8 pt-8 border-t", children: "Responses" }),
234
+ /* @__PURE__ */ e.jsxs(
235
+ k,
236
+ {
237
+ onValueChange: (a) => c(a),
238
+ value: r,
239
+ children: [
240
+ s.responses.length > 1 && /* @__PURE__ */ e.jsx(H, { children: s.responses.map((a) => /* @__PURE__ */ e.jsx(
241
+ $,
242
+ {
243
+ value: a.statusCode,
244
+ title: a.description,
245
+ children: a.statusCode
246
+ },
247
+ a.statusCode
248
+ )) }),
249
+ /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 overflow-hidden", children: s.responses.map((a) => {
250
+ var l;
251
+ return /* @__PURE__ */ e.jsx(
252
+ F,
253
+ {
254
+ value: a.statusCode,
255
+ children: C(
256
+ (l = a.content) == null ? void 0 : l.find((p) => p.schema),
257
+ (p) => /* @__PURE__ */ e.jsx(u, { schema: p.schema })
258
+ ) ?? /* @__PURE__ */ e.jsx(x, { className: "font-mono text-sm p-4 italic bg-border/20", children: "No response body" })
259
+ },
260
+ a.statusCode
261
+ );
262
+ }) })
263
+ ]
264
+ }
265
+ )
266
+ ] })
267
+ ] }),
268
+ /* @__PURE__ */ e.jsx(
269
+ B,
270
+ {
271
+ selectedResponse: r,
272
+ onSelectResponse: c,
273
+ operation: s
274
+ }
275
+ )
276
+ ]
277
+ },
278
+ s.operationId
279
+ );
280
+ }, re = P(
281
+ /* GraphQL */
282
+ `
283
+ fragment OperationsFragment on OperationItem {
284
+ slug
285
+ summary
286
+ method
287
+ description
288
+ operationId
289
+ contentTypes
290
+ path
291
+ parameters {
292
+ name
293
+ in
294
+ description
295
+ required
296
+ schema
297
+ style
298
+ examples {
299
+ name
300
+ description
301
+ externalValue
302
+ value
303
+ summary
304
+ }
305
+ }
306
+ requestBody {
307
+ content {
308
+ mediaType
309
+ encoding {
310
+ name
311
+ }
312
+ schema
313
+ }
314
+ description
315
+ required
316
+ }
317
+ responses {
318
+ statusCode
319
+ links
320
+ description
321
+ content {
322
+ mediaType
323
+ encoding {
324
+ name
325
+ }
326
+ schema
327
+ }
328
+ }
329
+ }
330
+ `
331
+ ), ne = P(
332
+ /* GraphQL */
333
+ `
334
+ query AllOperations($input: JSON!, $type: SchemaType!) {
335
+ schema(input: $input, type: $type) {
336
+ description
337
+ title
338
+ url
339
+ version
340
+ tags {
341
+ name
342
+ description
343
+ operations {
344
+ slug
345
+ ...OperationsFragment
346
+ }
347
+ }
348
+ }
349
+ }
350
+ `
351
+ ), ie = { suspense: !0 }, je = () => {
352
+ var r;
353
+ const { type: t, input: s } = M(), [i] = J({
354
+ query: ne,
355
+ variables: { type: t, input: s },
356
+ context: ie
357
+ }), n = (r = i.error) == null ? void 0 : r.graphQLErrors.at(0);
358
+ return n ? /* @__PURE__ */ e.jsx(
359
+ z,
360
+ {
361
+ category: "Error",
362
+ title: "Schema cannot be displayed",
363
+ message: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
364
+ /* @__PURE__ */ e.jsxs(v, { className: "mb-4", children: [
365
+ "Check your configuration value ",
366
+ /* @__PURE__ */ e.jsx(O, { children: "apis.type" }),
367
+ " ",
368
+ "and ",
369
+ /* @__PURE__ */ e.jsx(O, { children: "apis.input" }),
370
+ " in the Zudoku config."
371
+ ] }),
372
+ "An error occurred while trying to fetch the API reference:",
373
+ /* @__PURE__ */ e.jsx(G, { code: n.toString(), language: "plain" })
374
+ ] })
375
+ }
376
+ ) : i.data ? /* @__PURE__ */ e.jsxs("div", { className: "pt-[--padding-content-top]", children: [
377
+ /* @__PURE__ */ e.jsxs(
378
+ "div",
379
+ {
380
+ className: f(
381
+ g,
382
+ "mb-16 max-w-full prose-img:max-w-prose"
383
+ ),
384
+ children: [
385
+ /* @__PURE__ */ e.jsx(b, { children: "Overview" }),
386
+ /* @__PURE__ */ e.jsx(h, { level: 1, id: "description", registerSidebarAnchor: !0, children: i.data.schema.title }),
387
+ /* @__PURE__ */ e.jsx(j, { content: i.data.schema.description ?? "" })
388
+ ]
389
+ }
390
+ ),
391
+ i.data.schema.tags.filter((c) => c.operations.length > 0).map((c) => /* @__PURE__ */ e.jsxs("div", { children: [
392
+ c.name && /* @__PURE__ */ e.jsx(b, { children: c.name }),
393
+ c.description && /* @__PURE__ */ e.jsx(
394
+ j,
395
+ {
396
+ className: `${g} mt-2 mb-12`,
397
+ content: c.description
398
+ }
399
+ ),
400
+ /* @__PURE__ */ e.jsx("div", { className: "operation mb-12", children: /* @__PURE__ */ e.jsx(_, { children: c.operations.map((o) => /* @__PURE__ */ e.jsx(
401
+ te,
402
+ {
403
+ operationFragment: o
404
+ },
405
+ o.slug
406
+ )) }) })
407
+ ] }, c.name))
408
+ ] }) : null;
409
+ };
410
+ export {
411
+ je as OperationList,
412
+ re as OperationsFragment
413
+ };
414
+ //# sourceMappingURL=OperationList-MFaKgMyg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationList-MFaKgMyg.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/list-plus.js","../src/lib/plugins/openapi/graphql/fragment-masking.ts","../src/lib/util/groupBy.ts","../src/lib/util/renderIf.ts","../src/lib/plugins/openapi/ParameterListItem.tsx","../src/lib/plugins/openapi/ParameterList.tsx","../src/lib/plugins/openapi/schema/utils.ts","../src/lib/plugins/openapi/schema/SchemaComponents.tsx","../src/lib/plugins/openapi/schema/SchemaView.tsx","../src/lib/plugins/openapi/util/prose.ts","../src/lib/plugins/openapi/OperationListItem.tsx","../src/lib/plugins/openapi/OperationList.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListPlus = createLucideIcon(\"ListPlus\", [\n [\"path\", { d: \"M11 12H3\", key: \"51ecnj\" }],\n [\"path\", { d: \"M16 6H3\", key: \"1wxfjs\" }],\n [\"path\", { d: \"M16 18H3\", key: \"12xzn7\" }],\n [\"path\", { d: \"M18 9v6\", key: \"1twb98\" }],\n [\"path\", { d: \"M21 12h-6\", key: \"bt1uis\" }]\n]);\n\nexport { ListPlus as default };\n//# sourceMappingURL=list-plus.js.map\n","/* eslint-disable */\nimport type {\n DocumentTypeDecoration,\n ResultOf,\n TypedDocumentNode,\n} from \"@graphql-typed-document-node/core\";\nimport type { FragmentDefinitionNode } from \"graphql\";\nimport type { Incremental } from \"./graphql.js\";\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ \" $fragmentName\"?: infer TKey }]\n ? TKey extends string\n ? { \" $fragmentRefs\"?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>,\n): TType;\n// return nullable if `fragmentType` is undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | undefined,\n): TType | undefined;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null,\n): TType | null;\n// return nullable if `fragmentType` is nullable or undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined,\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: Array<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): Array<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): Array<TType> | null | undefined;\n// return readonly array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): ReadonlyArray<TType>;\n// return readonly array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): TType | Array<TType> | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined,\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n","export const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","export const renderIf = <G, R>(\n variable: G | undefined | null,\n callback: (variable: G) => R,\n): R | undefined => (variable ? callback(variable) : undefined);\n","import { Markdown } from \"../../components/Markdown.js\";\nimport { type SchemaObject } from \"../../oas/graphql/index.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\n\nconst getParameterSchema = (\n parameter: ParameterListItemResult,\n): SchemaObject => {\n if (parameter.schema != null && typeof parameter.schema === \"object\") {\n return parameter.schema;\n }\n return {\n type: \"string\",\n };\n};\n\nexport type ParameterListItemResult = NonNullable<\n OperationListItemResult[\"parameters\"]\n>[number];\n\nexport const ParameterListItem = ({\n parameter,\n group,\n id,\n}: {\n parameter: ParameterListItemResult;\n group: ParameterGroup;\n id: string;\n}) => (\n <li className=\"p-4 bg-border/20 text-sm flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n <code>\n {group === \"path\" ? (\n <ColorizedParam\n name={parameter.name}\n backgroundOpacity=\"15%\"\n slug={id + \"-\" + parameter.name.toLocaleLowerCase()}\n />\n ) : (\n parameter.name\n )}\n </code>\n {parameter.required && (\n <span className=\"py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg\">\n required\n </span>\n )}\n {getParameterSchema(parameter).type && (\n <span className=\"text-muted-foreground\">\n {getParameterSchema(parameter).type}\n </span>\n )}\n </div>\n {parameter.description && (\n <Markdown\n content={parameter.description}\n className=\"text-sm prose-p:my-1\"\n />\n )}\n </li>\n);\n","import { Heading } from \"../../components/Heading.js\";\nimport { Card } from \"../../ui/Card.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\nimport {\n ParameterListItem,\n type ParameterListItemResult,\n} from \"./ParameterListItem.js\";\n\nexport const ParameterList = ({\n group,\n parameters,\n id,\n}: {\n group: ParameterGroup;\n parameters: ParameterListItemResult[];\n id: string;\n}) => (\n <>\n <Heading level={3} id={`${id}/${group}-parameters`} className=\"capitalize\">\n {group === \"header\" ? \"Headers\" : `${group} Parameters`}\n </Heading>\n <Card>\n <ul className=\"list-none m-0 px-0 divide-y \">\n {parameters\n .sort((a, b) => (a.required === b.required ? 0 : a.required ? -1 : 1))\n .map((parameter) => (\n <ParameterListItem\n key={`${parameter.name}-${parameter.in}`}\n parameter={parameter}\n id={id}\n group={group}\n />\n ))}\n </ul>\n </Card>\n </>\n);\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\n\nexport const isComplexType = (value: SchemaObject) =>\n value.type === \"object\" ||\n (value.type === \"array\" &&\n typeof value.items === \"object\" &&\n (!value.items.type || value.items.type === \"object\"));\n\nexport const hasLogicalGroupings = (value: SchemaObject) =>\n Boolean(value.oneOf ?? value.allOf ?? value.anyOf);\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ListPlusIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Markdown, ProseClasses } from \"../../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { SchemaView } from \"./SchemaView.js\";\nimport { hasLogicalGroupings, isComplexType } from \"./utils.js\";\n\nexport const SchemaLogicalGroup = ({\n schema,\n level,\n}: {\n schema: SchemaObject;\n level: number;\n}) => {\n const renderLogicalGroup = (\n group: SchemaObject[],\n groupName: string,\n separator: string,\n ) => {\n return group.map((subSchema, index) => (\n <div key={index} className=\"my-2\">\n <strong>{groupName}</strong>\n <div className=\"mt-2\">\n <SchemaView schema={subSchema} level={level + 1} />\n {index < group.length - 1 && (\n <div className=\"text-center my-2\">{separator}</div>\n )}\n </div>\n </div>\n ));\n };\n\n if (schema.oneOf) return renderLogicalGroup(schema.oneOf, \"One of\", \"OR\");\n if (schema.allOf) return renderLogicalGroup(schema.allOf, \"All of\", \"AND\");\n if (schema.anyOf) return renderLogicalGroup(schema.anyOf, \"Any of\", \"OR\");\n\n return null;\n};\n\nexport const SchemaPropertyItem = ({\n name,\n value,\n group,\n level,\n defaultOpen = false,\n showCollapseButton = true,\n}: {\n name: string;\n value: SchemaObject;\n group: \"required\" | \"optional\" | \"deprecated\";\n level: number;\n defaultOpen?: boolean;\n showCollapseButton?: boolean;\n}) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n return (\n <li className=\"p-4 bg-border/20 hover:bg-border/30\">\n <div className=\"flex flex-col gap-1 justify-between text-sm\">\n <div className=\"flex gap-2 items-center\">\n <code>{name}</code>\n <span className=\"text-muted-foreground\">\n {value.type === \"array\" && value.items?.type ? (\n <span>{value.items.type}[]</span>\n ) : Array.isArray(value.type) ? (\n <span>{value.type.join(\" | \")}</span>\n ) : (\n <span>{value.type}</span>\n )}\n </span>\n {group === \"optional\" && (\n <span className=\"py-px px-1.5 font-medium border rounded-lg\">\n optional\n </span>\n )}\n </div>\n\n {value.description && (\n <Markdown\n className={cn(ProseClasses, \"text-sm leading-normal line-clamp-4\")}\n content={value.description}\n />\n )}\n\n {(hasLogicalGroupings(value) ?? isComplexType(value)) && (\n <Collapsible.Root\n defaultOpen={defaultOpen}\n open={isOpen}\n onOpenChange={() => setIsOpen(!isOpen)}\n >\n {showCollapseButton && (\n <Collapsible.Trigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"mt-2 flex gap-1.5\"\n >\n <ListPlusIcon size={18} />\n {!isOpen\n ? \"Show nested properties\"\n : \"Hide nested properties\"}\n </Button>\n </Collapsible.Trigger>\n )}\n <Collapsible.Content>\n <div className=\"mt-2\">\n {hasLogicalGroupings(value) && (\n <SchemaLogicalGroup schema={value} level={level + 1} />\n )}\n {value.type === \"object\" && (\n <SchemaView schema={value} level={level + 1} />\n )}\n {value.type === \"array\" && typeof value.items === \"object\" && (\n <SchemaView schema={value.items} level={level + 1} />\n )}\n </div>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </div>\n </li>\n );\n};\n","import type { SchemaObject } from \"../../../oas/parser/index.js\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"../../../ui/Card.js\";\nimport { groupBy } from \"../../../util/groupBy.js\";\nimport { SchemaLogicalGroup, SchemaPropertyItem } from \"./SchemaComponents.js\";\nimport { hasLogicalGroupings } from \"./utils.js\";\n\nexport const SchemaView = ({\n schema,\n level = 0,\n defaultOpen = false,\n}: {\n schema: SchemaObject;\n level?: number;\n defaultOpen?: boolean;\n}) => {\n const renderSchema = (schema: SchemaObject, level: number) => {\n if (schema.oneOf || schema.allOf || schema.anyOf) {\n return <SchemaLogicalGroup schema={schema} level={level} />;\n }\n\n if (schema.type === \"array\" && schema.items) {\n const itemsSchema = schema.items as SchemaObject;\n\n if (\n typeof itemsSchema.type === \"string\" &&\n [\"string\", \"number\", \"boolean\", \"integer\"].includes(itemsSchema.type)\n ) {\n return (\n <Card className=\"my-2\">\n <CardContent>\n <strong>{`array<${itemsSchema.type}>`}</strong>\n {schema.description && <p>{schema.description}</p>}\n </CardContent>\n </Card>\n );\n } else if (\n itemsSchema.type === \"object\" ||\n hasLogicalGroupings(itemsSchema)\n ) {\n return (\n <Card className=\"flex flex-col gap-2 bg-border/30 p-4 \">\n <span className=\"text-sm text-muted-foreground\">object[]</span>\n {renderSchema(itemsSchema, level + 1)}\n </Card>\n );\n } else {\n return renderSchema(itemsSchema, level + 1);\n }\n }\n\n if (schema.properties) {\n const groupedProperties = groupBy(\n Object.entries(schema.properties),\n ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n },\n );\n\n const isTopLevelSingleItem =\n level === 0 && Object.keys(groupedProperties).length === 1;\n\n const groupNames = [\"required\", \"optional\", \"deprecated\"] as const;\n\n return (\n <Card className=\"divide-y overflow-hidden\">\n {groupNames.map(\n (group) =>\n groupedProperties[group] && (\n <ul key={group} className=\"divide-y\">\n {groupedProperties[group].map(([key, value]) => (\n <SchemaPropertyItem\n key={key}\n name={key}\n value={value}\n group={group}\n level={level}\n defaultOpen={isTopLevelSingleItem || defaultOpen}\n showCollapseButton={!isTopLevelSingleItem}\n />\n ))}\n </ul>\n ),\n )}\n </Card>\n );\n }\n\n if (schema.additionalProperties) {\n return (\n <Card className=\"my-2\">\n <CardHeader>\n <CardTitle>Additional Properties:</CardTitle>\n </CardHeader>\n <CardContent>\n {renderSchema(\n schema.additionalProperties as SchemaObject,\n level + 1,\n )}\n </CardContent>\n </Card>\n );\n }\n\n return null;\n };\n\n return renderSchema(schema, level);\n};\n","import { ProseClasses } from \"../../../components/Markdown.js\";\nimport { cn } from \"../../../util/cn.js\";\n\nexport const SchemaProseClasses = cn(\n ProseClasses,\n \"max-w-full prose-img:max-w-prose\",\n);\n","import { useState } from \"react\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { Card } from \"../../ui/Card.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../ui/Tabs.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { renderIf } from \"../../util/renderIf.js\";\nimport { OperationsFragment } from \"./OperationList.js\";\nimport { ParameterList } from \"./ParameterList.js\";\nimport { Sidecar } from \"./Sidecar.js\";\nimport { FragmentType, useFragment } from \"./graphql/index.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\n\nexport const PARAM_GROUPS = [\"path\", \"query\", \"header\", \"cookie\"] as const;\nexport type ParameterGroup = (typeof PARAM_GROUPS)[number];\n\nexport const OperationListItem = ({\n operationFragment,\n}: {\n operationFragment: FragmentType<typeof OperationsFragment>;\n}) => {\n const operation = useFragment(OperationsFragment, operationFragment);\n const groupedParameters = groupBy(\n operation.parameters ?? [],\n (param) => param.in,\n );\n\n const first = operation.responses.at(0);\n const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);\n\n return (\n <div\n key={operation.operationId}\n className=\"grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16\"\n >\n <div className=\"flex flex-col gap-4\">\n <Heading level={2} id={operation.slug} registerSidebarAnchor>\n {operation.summary}\n </Heading>\n {operation.description && (\n <Markdown\n className={SchemaProseClasses}\n content={operation.description}\n />\n )}\n {operation.parameters && operation.parameters.length > 0 && (\n <>\n {PARAM_GROUPS.flatMap((group) =>\n groupedParameters[group]?.length ? (\n <ParameterList\n key={group}\n id={operation.slug}\n parameters={groupedParameters[group]}\n group={group}\n />\n ) : (\n []\n ),\n )}\n </>\n )}\n {renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (\n <div className=\"mt-4 flex flex-col gap-4\">\n <Heading level={3} className=\"capitalize\">\n Request Body\n </Heading>\n <SchemaView schema={schema} />\n </div>\n ))}\n {operation.responses.length > 0 && (\n <>\n <Heading level={3} className=\"capitalize mt-8 pt-8 border-t\">\n Responses\n </Heading>\n <Tabs\n onValueChange={(value) => setSelectedResponse(value)}\n value={selectedResponse}\n >\n {operation.responses.length > 1 && (\n <TabsList>\n {operation.responses.map((response) => (\n <TabsTrigger\n value={response.statusCode}\n key={response.statusCode}\n title={response.description}\n >\n {response.statusCode}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n <ul className=\"list-none m-0 px-0 overflow-hidden\">\n {operation.responses.map((response) => (\n <TabsContent\n value={response.statusCode}\n key={response.statusCode}\n >\n {renderIf(\n response.content?.find((content) => content.schema),\n (content) => {\n return <SchemaView schema={content.schema} />;\n },\n ) ?? (\n <Card className=\"font-mono text-sm p-4 italic bg-border/20\">\n No response body\n </Card>\n )}\n </TabsContent>\n ))}\n </ul>\n </Tabs>\n </>\n )}\n </div>\n\n <Sidecar\n selectedResponse={selectedResponse}\n onSelectResponse={setSelectedResponse}\n operation={operation}\n />\n </div>\n );\n};\n","import { ResultOf } from \"@graphql-typed-document-node/core\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { DeveloperHint } from \"../../components/DeveloperHint.js\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { OperationListItem } from \"./OperationListItem.js\";\nimport StaggeredRender from \"./StaggeredRender.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\nimport { useQuery } from \"./util/urql.js\";\n\nexport const OperationsFragment = graphql(/* GraphQL */ `\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n parameters {\n name\n in\n description\n required\n schema\n style\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n`);\n\nexport type OperationListItemResult = ResultOf<typeof OperationsFragment>;\n\nconst AllOperationsQuery = graphql(/* GraphQL */ `\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n`);\n\nconst suspenseContext = { suspense: true };\n\nexport const OperationList = () => {\n const { type, input } = useOasConfig();\n\n const [result] = useQuery({\n query: AllOperationsQuery,\n variables: { type, input },\n context: suspenseContext,\n });\n\n const error = result.error?.graphQLErrors.at(0);\n\n // Looks like there is no Suspense level error handling (yet)?\n // So we handle the error case in the component directly\n if (error) {\n return (\n <ErrorPage\n category=\"Error\"\n title=\"Schema cannot be displayed\"\n message={\n <>\n <DeveloperHint className=\"mb-4\">\n Check your configuration value <InlineCode>apis.type</InlineCode>{\" \"}\n and <InlineCode>apis.input</InlineCode> in the Zudoku config.\n </DeveloperHint>\n An error occurred while trying to fetch the API reference:\n <SyntaxHighlight code={error.toString()} language=\"plain\" />\n </>\n }\n />\n );\n }\n\n if (!result.data) return null;\n\n return (\n <div className=\"pt-[--padding-content-top]\">\n <div\n className={cn(\n SchemaProseClasses,\n \"mb-16 max-w-full prose-img:max-w-prose\",\n )}\n >\n <CategoryHeading>Overview</CategoryHeading>\n <Heading level={1} id=\"description\" registerSidebarAnchor>\n {result.data.schema.title}\n </Heading>\n <Markdown content={result.data.schema.description ?? \"\"} />\n </div>\n {result.data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map((tag) => (\n <div key={tag.name}>\n {tag.name && <CategoryHeading>{tag.name}</CategoryHeading>}\n {tag.description && (\n <Markdown\n className={`${SchemaProseClasses} mt-2 mb-12`}\n content={tag.description}\n />\n )}\n <div className=\"operation mb-12\">\n <StaggeredRender>\n {tag.operations.map((fragment) => (\n <OperationListItem\n key={fragment.slug}\n operationFragment={fragment}\n />\n ))}\n </StaggeredRender>\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["ListPlus","createLucideIcon","useFragment","_documentNode","fragmentType","groupBy","arr","keySelector","accumulator","val","groupedKey","renderIf","variable","callback","getParameterSchema","parameter","ParameterListItem","group","id","jsxs","jsx","ColorizedParam","Markdown","ParameterList","parameters","Fragment","Heading","Card","a","b","isComplexType","value","hasLogicalGroupings","SchemaLogicalGroup","schema","level","renderLogicalGroup","groupName","separator","subSchema","index","SchemaView","SchemaPropertyItem","name","defaultOpen","showCollapseButton","isOpen","setIsOpen","useState","_a","cn","ProseClasses","Collapsible.Root","Collapsible.Trigger","Button","ListPlusIcon","Collapsible.Content","renderSchema","itemsSchema","CardContent","groupedProperties","propertyName","property","isTopLevelSingleItem","groupNames","key","CardHeader","CardTitle","SchemaProseClasses","PARAM_GROUPS","OperationListItem","operationFragment","operation","OperationsFragment","groupedParameters","param","first","selectedResponse","setSelectedResponse","_c","_b","Tabs","TabsList","response","TabsTrigger","TabsContent","content","Sidecar","graphql","AllOperationsQuery","suspenseContext","OperationList","type","input","useOasConfig","result","useQuery","error","ErrorPage","DeveloperHint","InlineCode","SyntaxHighlight","CategoryHeading","tag","StaggeredRender","fragment"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import { j as r } from "./jsx-runtime-B6kdoens.js";
2
- import { O as i } from "./index-CtKkHGcd.js";
2
+ import { O as i } from "./index-Bf5yypxf.js";
3
3
  import { P as t } from "./urql-DrBfkb92.js";
4
4
  import { O as s } from "./index-7kcHaXD6.js";
5
5
  function u({
@@ -11,4 +11,4 @@ function u({
11
11
  export {
12
12
  u as OpenApiRoute
13
13
  };
14
- //# sourceMappingURL=Route-DAF15JAU.js.map
14
+ //# sourceMappingURL=Route-CL9hUSJ2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Route-DAF15JAU.js","sources":["../src/lib/plugins/openapi/Route.tsx"],"sourcesContent":["import { Outlet } from \"react-router-dom\";\nimport { OasConfigProvider } from \"./context.js\";\nimport { OasPluginConfig } from \"./interfaces.js\";\n\nimport { Provider, Client as UrqlClient } from \"./util/urql.js\";\n\nexport function OpenApiRoute({\n config,\n client,\n}: {\n config: OasPluginConfig;\n client: typeof UrqlClient;\n}) {\n return (\n <Provider value={client}>\n <OasConfigProvider value={{ config }}>\n <Outlet />\n </OasConfigProvider>\n </Provider>\n );\n}\n"],"names":["OpenApiRoute","config","client","jsx","Provider","OasConfigProvider","Outlet"],"mappings":";;;;AAMO,SAASA,EAAa;AAAA,EAC3B,QAAAC;AAAA,EACA,QAAAC;AACF,GAGG;AACD,SACGC,gBAAAA,EAAAA,IAAAC,GAAA,EAAS,OAAOF,GACf,UAACC,gBAAAA,EAAA,IAAAE,GAAA,EAAkB,OAAO,EAAE,QAAAJ,EAAO,GACjC,UAACE,gBAAAA,EAAA,IAAAG,GAAA,EAAO,GACV,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Route-CL9hUSJ2.js","sources":["../src/lib/plugins/openapi/Route.tsx"],"sourcesContent":["import { Outlet } from \"react-router-dom\";\nimport { OasConfigProvider } from \"./context.js\";\nimport { OasPluginConfig } from \"./interfaces.js\";\n\nimport { Provider, Client as UrqlClient } from \"./util/urql.js\";\n\nexport function OpenApiRoute({\n config,\n client,\n}: {\n config: OasPluginConfig;\n client: typeof UrqlClient;\n}) {\n return (\n <Provider value={client}>\n <OasConfigProvider value={{ config }}>\n <Outlet />\n </OasConfigProvider>\n </Provider>\n );\n}\n"],"names":["OpenApiRoute","config","client","jsx","Provider","OasConfigProvider","Outlet"],"mappings":";;;;AAMO,SAASA,EAAa;AAAA,EAC3B,QAAAC;AAAA,EACA,QAAAC;AACF,GAGG;AACD,SACGC,gBAAAA,EAAAA,IAAAC,GAAA,EAAS,OAAOF,GACf,UAACC,gBAAAA,EAAA,IAAAE,GAAA,EAAkB,OAAO,EAAE,QAAAJ,EAAO,GACjC,UAACE,gBAAAA,EAAA,IAAAG,GAAA,EAAO,GACV,EACF,CAAA;AAEJ;"}