zudoku 0.5.0 → 0.5.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/lib/components/InlineCode.js +1 -1
  2. package/dist/lib/components/InlineCode.js.map +1 -1
  3. package/dist/lib/components/SyntaxHighlight.js +14 -14
  4. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  5. package/dist/lib/plugins/openapi/Endpoint.d.ts +3 -0
  6. package/dist/lib/plugins/openapi/Endpoint.js +14 -0
  7. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -0
  8. package/dist/lib/plugins/openapi/OperationList.js +2 -1
  9. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  10. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +1 -1
  11. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  12. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +1 -1
  13. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  14. package/dist/lib/plugins/openapi/Sidecar.js +1 -1
  15. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  16. package/lib/{CategoryHeading-BG0OI3O5.js → CategoryHeading-w2EW676o.js} +2 -2
  17. package/lib/{CategoryHeading-BG0OI3O5.js.map → CategoryHeading-w2EW676o.js.map} +1 -1
  18. package/lib/{DeveloperHint-Dim4dKeY.js → DeveloperHint-D87KcpDW.js} +2 -2
  19. package/lib/{DeveloperHint-Dim4dKeY.js.map → DeveloperHint-D87KcpDW.js.map} +1 -1
  20. package/lib/{ErrorPage-XOZWbKDe.js → ErrorPage-BdHAg3Rg.js} +3 -3
  21. package/lib/{ErrorPage-XOZWbKDe.js.map → ErrorPage-BdHAg3Rg.js.map} +1 -1
  22. package/lib/{Input-BtumfhQu.js → Input-BmwltPfA.js} +3 -3
  23. package/lib/{Input-BtumfhQu.js.map → Input-BmwltPfA.js.map} +1 -1
  24. package/lib/{Markdown-Bg4SS0au.js → Markdown-BZUoEvL7.js} +5 -5
  25. package/lib/{Markdown-Bg4SS0au.js.map → Markdown-BZUoEvL7.js.map} +1 -1
  26. package/lib/{MdxPage-C3VDc6a7.js → MdxPage-BUHSDTy6.js} +3 -3
  27. package/lib/{MdxPage-C3VDc6a7.js.map → MdxPage-BUHSDTy6.js.map} +1 -1
  28. package/lib/{OperationList-C9ZThjSM.js → OperationList-DVIuzHN7.js} +106 -84
  29. package/lib/OperationList-DVIuzHN7.js.map +1 -0
  30. package/lib/{Route-D4ypsgCo.js → Route-5sI-urRK.js} +2 -2
  31. package/lib/{Route-D4ypsgCo.js.map → Route-5sI-urRK.js.map} +1 -1
  32. package/lib/{SidebarBadge-DMBr3H-a.js → SidebarBadge-6EEz-Bwe.js} +3 -3
  33. package/lib/{SidebarBadge-DMBr3H-a.js.map → SidebarBadge-6EEz-Bwe.js.map} +1 -1
  34. package/lib/{SlotletProvider-CRKX9y2Z.js → SlotletProvider-CNyl5wU0.js} +4 -4
  35. package/lib/{SlotletProvider-CRKX9y2Z.js.map → SlotletProvider-CNyl5wU0.js.map} +1 -1
  36. package/lib/{Spinner-BJ5wiTiz.js → Spinner-B9eFggre.js} +2 -2
  37. package/lib/{Spinner-BJ5wiTiz.js.map → Spinner-B9eFggre.js.map} +1 -1
  38. package/lib/{index-KUt-5Yzq.js → index-BGY8VjAV.js} +2 -2
  39. package/lib/{index-KUt-5Yzq.js.map → index-BGY8VjAV.js.map} +1 -1
  40. package/lib/{index-CvPXovcL.js → index-CbJpF8Yf.js} +3 -3
  41. package/lib/{index-CvPXovcL.js.map → index-CbJpF8Yf.js.map} +1 -1
  42. package/lib/{index-CQLpez2Z.js → index-DdUotMOQ.js} +15 -15
  43. package/lib/{index-CQLpez2Z.js.map → index-DdUotMOQ.js.map} +1 -1
  44. package/lib/zudoku.auth-openid.js +4 -4
  45. package/lib/zudoku.components.js +6 -6
  46. package/lib/zudoku.plugin-api-keys.js +5 -5
  47. package/lib/zudoku.plugin-custom-page.js +1 -1
  48. package/lib/zudoku.plugin-markdown.js +1 -1
  49. package/lib/zudoku.plugin-openapi.js +4 -4
  50. package/package.json +1 -1
  51. package/src/lib/components/InlineCode.tsx +1 -1
  52. package/src/lib/components/SyntaxHighlight.tsx +15 -15
  53. package/src/lib/plugins/openapi/Endpoint.tsx +31 -0
  54. package/src/lib/plugins/openapi/OperationList.tsx +4 -0
  55. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +2 -2
  56. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +2 -2
  57. package/src/lib/plugins/openapi/Sidecar.tsx +2 -2
  58. package/lib/OperationList-C9ZThjSM.js.map +0 -1
@@ -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-BPHLKjns.js";
3
3
  import { L as y } from "./index-ChhUJhLT.js";
4
- import { C as H } from "./CategoryHeading-BG0OI3O5.js";
5
- import { c as L, d as R, a as x, P as S, H as h } from "./Markdown-Bg4SS0au.js";
4
+ import { C as H } from "./CategoryHeading-w2EW676o.js";
5
+ import { c as L, d as R, a as x, P as S, H as h } from "./Markdown-BZUoEvL7.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
  /**
@@ -181,4 +181,4 @@ const $ = L("ListTree", [
181
181
  export {
182
182
  J as MdxPage
183
183
  };
184
- //# sourceMappingURL=MdxPage-C3VDc6a7.js.map
184
+ //# sourceMappingURL=MdxPage-BUHSDTy6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdxPage-C3VDc6a7.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 scrollbar 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 flex-wrap items-center justify-between gap-2 lg:gap-8\">\n {prev ? (\n <Link\n to={prev.id}\n className=\"flex flex-col items-stretch gap-2 flex-1 min-w-max 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 min-w-max 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]}
1
+ {"version":3,"file":"MdxPage-BUHSDTy6.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 scrollbar 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 flex-wrap items-center justify-between gap-2 lg:gap-8\">\n {prev ? (\n <Link\n to={prev.id}\n className=\"flex flex-col items-stretch gap-2 flex-1 min-w-max 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 min-w-max 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]}
@@ -1,21 +1,21 @@
1
1
  import { j as e } from "./jsx-runtime-B6kdoens.js";
2
- import { C as k } from "./CategoryHeading-BG0OI3O5.js";
3
- import { D as L } from "./DeveloperHint-Dim4dKeY.js";
4
- import { E as I } from "./ErrorPage-XOZWbKDe.js";
5
- import { c as j, h as m, H as y, a as x, P as u, I as S, S as R } from "./Markdown-Bg4SS0au.js";
6
- import { useState as f, useCallback as T } from "react";
7
- import { C as z, a as p, b as $, c as F, d as H, T as E, e as D, f as B, g as G, S as Q, h as P, u as V } from "./index-CQLpez2Z.js";
8
- import { R as N, T as v, C, a as _ } from "./index-CvPXovcL.js";
9
- import { u as J } from "./urql-YhcsXYy8.js";
10
- import { B as K } from "./index-KUt-5Yzq.js";
11
- import { i as U } from "./Input-BtumfhQu.js";
2
+ import { C as w } from "./CategoryHeading-w2EW676o.js";
3
+ import { D as L } from "./DeveloperHint-D87KcpDW.js";
4
+ import { E as T } from "./ErrorPage-BdHAg3Rg.js";
5
+ import { c as j, I as b, C as z, g as I, h as m, H as y, a as x, P as u, S as R } from "./Markdown-BZUoEvL7.js";
6
+ import { useState as f, useCallback as $ } from "react";
7
+ import { C as E, a as p, b as F, c as H, d as D, T as B, e as G, f as Q, g as V, S as _, h as P, u as J } from "./index-DdUotMOQ.js";
8
+ import { R as C, T as v, C as k, a as K } from "./index-CbJpF8Yf.js";
9
+ import { u as U } from "./urql-YhcsXYy8.js";
10
+ import { B as W } from "./index-BGY8VjAV.js";
11
+ import { i as Z } from "./Input-BmwltPfA.js";
12
12
  /**
13
13
  * @license lucide-react v0.378.0 - ISC
14
14
  *
15
15
  * This source code is licensed under the ISC license.
16
16
  * See the LICENSE file in the root directory of this source tree.
17
17
  */
18
- const Z = j("CircleDot", [
18
+ const X = j("CircleDot", [
19
19
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
20
20
  ["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }]
21
21
  ]);
@@ -25,7 +25,7 @@ const Z = j("CircleDot", [
25
25
  * This source code is licensed under the ISC license.
26
26
  * See the LICENSE file in the root directory of this source tree.
27
27
  */
28
- const W = j("CircleFadingPlus", [
28
+ const Y = j("CircleFadingPlus", [
29
29
  ["path", { d: "M12 2a10 10 0 0 1 7.38 16.75", key: "175t95" }],
30
30
  ["path", { d: "M12 8v8", key: "napkw2" }],
31
31
  ["path", { d: "M16 12H8", key: "1fr5h0" }],
@@ -40,7 +40,7 @@ const W = j("CircleFadingPlus", [
40
40
  * This source code is licensed under the ISC license.
41
41
  * See the LICENSE file in the root directory of this source tree.
42
42
  */
43
- const X = j("Circle", [
43
+ const ee = j("Circle", [
44
44
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
45
45
  ]);
46
46
  /**
@@ -49,7 +49,7 @@ const X = j("Circle", [
49
49
  * This source code is licensed under the ISC license.
50
50
  * See the LICENSE file in the root directory of this source tree.
51
51
  */
52
- const Y = j("ListPlus", [
52
+ const se = j("ListPlus", [
53
53
  ["path", { d: "M11 12H3", key: "51ecnj" }],
54
54
  ["path", { d: "M16 6H3", key: "1wxfjs" }],
55
55
  ["path", { d: "M16 18H3", key: "12xzn7" }],
@@ -62,7 +62,7 @@ const Y = j("ListPlus", [
62
62
  * This source code is licensed under the ISC license.
63
63
  * See the LICENSE file in the root directory of this source tree.
64
64
  */
65
- const ee = j("SquareMinus", [
65
+ const te = j("SquareMinus", [
66
66
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
67
67
  ["path", { d: "M8 12h8", key: "1wcyev" }]
68
68
  ]);
@@ -72,30 +72,50 @@ const ee = j("SquareMinus", [
72
72
  * This source code is licensed under the ISC license.
73
73
  * See the LICENSE file in the root directory of this source tree.
74
74
  */
75
- const se = j("SquarePlus", [
75
+ const re = j("SquarePlus", [
76
76
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
77
77
  ["path", { d: "M8 12h8", key: "1wcyev" }],
78
78
  ["path", { d: "M12 8v8", key: "napkw2" }]
79
79
  ]);
80
- function te(t, s) {
80
+ function ne(t, s) {
81
81
  return s;
82
82
  }
83
- const q = (t, s) => t.reduce(
83
+ const ie = ({ url: t }) => {
84
+ const [s, n] = f(!1);
85
+ return /* @__PURE__ */ e.jsxs("div", { className: "my-4 flex items-center justify-end gap-2 text-sm", children: [
86
+ /* @__PURE__ */ e.jsx("span", { className: "font-medium", children: "Endpoint:" }),
87
+ /* @__PURE__ */ e.jsxs(b, { className: "p-1.5 flex gap-2.5 items-center text-xs", children: [
88
+ t,
89
+ /* @__PURE__ */ e.jsx(
90
+ "button",
91
+ {
92
+ onClick: () => {
93
+ navigator.clipboard.writeText(t).then(() => {
94
+ n(!0), setTimeout(() => n(!1), 2e3);
95
+ });
96
+ },
97
+ type: "button",
98
+ children: s ? /* @__PURE__ */ e.jsx(z, { className: "text-green-600", size: 14 }) : /* @__PURE__ */ e.jsx(I, { size: 14, strokeWidth: 1.3 })
99
+ }
100
+ )
101
+ ] })
102
+ ] });
103
+ }, q = (t, s) => t.reduce(
84
104
  (n, i) => {
85
105
  const r = s(i);
86
106
  return n[r] || (n[r] = []), n[r].push(i), n;
87
107
  },
88
108
  {}
89
- ), re = (t, s) => t ? s(t) : void 0, w = (t) => t.schema != null && typeof t.schema == "object" ? t.schema : {
109
+ ), ae = (t, s) => t ? s(t) : void 0, S = (t) => t.schema != null && typeof t.schema == "object" ? t.schema : {
90
110
  type: "string"
91
- }, ne = ({
111
+ }, oe = ({
92
112
  parameter: t,
93
113
  group: s,
94
114
  id: n
95
115
  }) => /* @__PURE__ */ e.jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1", children: [
96
116
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
97
117
  /* @__PURE__ */ e.jsx("code", { children: s === "path" ? /* @__PURE__ */ e.jsx(
98
- z,
118
+ E,
99
119
  {
100
120
  name: t.name,
101
121
  backgroundOpacity: "15%",
@@ -103,7 +123,7 @@ const q = (t, s) => t.reduce(
103
123
  }
104
124
  ) : t.name }),
105
125
  t.required && /* @__PURE__ */ e.jsx("span", { className: "py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg", children: "required" }),
106
- w(t).type && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: w(t).type })
126
+ S(t).type && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: S(t).type })
107
127
  ] }),
108
128
  t.description && /* @__PURE__ */ e.jsx(
109
129
  m,
@@ -112,14 +132,14 @@ const q = (t, s) => t.reduce(
112
132
  className: "text-sm prose-p:my-1 prose-code:whitespace-pre-line"
113
133
  }
114
134
  )
115
- ] }), ie = ({
135
+ ] }), le = ({
116
136
  group: t,
117
137
  parameters: s,
118
138
  id: n
119
139
  }) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
120
140
  /* @__PURE__ */ e.jsx(y, { level: 3, id: `${n}/${t}-parameters`, className: "capitalize", children: t === "header" ? "Headers" : `${t} Parameters` }),
121
141
  /* @__PURE__ */ e.jsx(p, { children: /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 divide-y ", children: s.sort((i, r) => i.required === r.required ? 0 : i.required ? -1 : 1).map((i) => /* @__PURE__ */ e.jsx(
122
- ne,
142
+ oe,
123
143
  {
124
144
  parameter: i,
125
145
  id: n,
@@ -127,15 +147,15 @@ const q = (t, s) => t.reduce(
127
147
  },
128
148
  `${i.name}-${i.in}`
129
149
  )) }) })
130
- ] }), ae = (t) => Object.entries(t), oe = {
131
- AND: /* @__PURE__ */ e.jsx(W, { size: 16, className: "fill-card" }),
132
- OR: /* @__PURE__ */ e.jsx(Z, { size: 16, className: "fill-card" }),
133
- ONE: /* @__PURE__ */ e.jsx(X, { size: 14, className: "fill-card" })
134
- }, le = {
150
+ ] }), ce = (t) => Object.entries(t), de = {
151
+ AND: /* @__PURE__ */ e.jsx(Y, { size: 16, className: "fill-card" }),
152
+ OR: /* @__PURE__ */ e.jsx(X, { size: 16, className: "fill-card" }),
153
+ ONE: /* @__PURE__ */ e.jsx(ee, { size: 14, className: "fill-card" })
154
+ }, pe = {
135
155
  AND: "text-green-500 dark:text-green-300/60",
136
156
  OR: "text-blue-400 dark:text-blue-500",
137
157
  ONE: "text-purple-500 dark:text-purple-300/60"
138
- }, ce = ({
158
+ }, me = ({
139
159
  type: t,
140
160
  isOpen: s,
141
161
  className: n
@@ -143,13 +163,13 @@ const q = (t, s) => t.reduce(
143
163
  "div",
144
164
  {
145
165
  className: x(
146
- le[t],
166
+ pe[t],
147
167
  "relative text-sm flex py-2",
148
168
  "before:border-l before:absolute before:-top-2 before:-bottom-2 before:border-border before:border-dashed before:content-['']",
149
169
  n
150
170
  ),
151
171
  children: /* @__PURE__ */ e.jsxs("div", { className: "-translate-x-[7px] flex gap-1 items-center", children: [
152
- oe[t],
172
+ de[t],
153
173
  /* @__PURE__ */ e.jsx(
154
174
  "div",
155
175
  {
@@ -157,45 +177,45 @@ const q = (t, s) => t.reduce(
157
177
  "translate-y-px mx-px opacity-0 group-hover:opacity-100 transition",
158
178
  !s && "-rotate-90"
159
179
  ),
160
- children: /* @__PURE__ */ e.jsx(U, { size: 16 })
180
+ children: /* @__PURE__ */ e.jsx(Z, { size: 16 })
161
181
  }
162
182
  )
163
183
  ] })
164
184
  }
165
- ), de = (t) => {
185
+ ), xe = (t) => {
166
186
  const [s, n] = f(!0);
167
187
  return /* @__PURE__ */ e.jsxs(
168
- N,
188
+ C,
169
189
  {
170
190
  open: s,
171
191
  onOpenChange: () => n((i) => !i),
172
192
  className: "group",
173
193
  children: [
174
- /* @__PURE__ */ e.jsx(v, { children: /* @__PURE__ */ e.jsx(ce, { type: t.type, isOpen: s }) }),
194
+ /* @__PURE__ */ e.jsx(v, { children: /* @__PURE__ */ e.jsx(me, { type: t.type, isOpen: s }) }),
175
195
  !s && /* @__PURE__ */ e.jsx("div", { className: "wavy-line bg-border translate-y-1" }),
176
- /* @__PURE__ */ e.jsx(C, { children: /* @__PURE__ */ e.jsx(g, { schema: t.schema, level: t.level + 1 }) })
196
+ /* @__PURE__ */ e.jsx(k, { children: /* @__PURE__ */ e.jsx(g, { schema: t.schema, level: t.level + 1 }) })
177
197
  ]
178
198
  }
179
199
  );
180
- }, pe = {
200
+ }, ue = {
181
201
  AND: "All of",
182
202
  OR: "Any of",
183
203
  ONE: "One of"
184
- }, me = ({
204
+ }, he = ({
185
205
  schemas: t,
186
206
  type: s,
187
207
  isOpen: n,
188
208
  level: i,
189
209
  toggleOpen: r
190
- }) => /* @__PURE__ */ e.jsx(N, { open: n, onOpenChange: r, asChild: !0, children: /* @__PURE__ */ e.jsxs(p, { className: "px-6", children: [
210
+ }) => /* @__PURE__ */ e.jsx(C, { open: n, onOpenChange: r, asChild: !0, children: /* @__PURE__ */ e.jsxs(p, { className: "px-6", children: [
191
211
  /* @__PURE__ */ e.jsxs(v, { className: "flex gap-2 items-center py-2 w-full text-sm text-muted-foreground -translate-x-1.5", children: [
192
- n ? /* @__PURE__ */ e.jsx(ee, { size: 14 }) : /* @__PURE__ */ e.jsx(se, { size: 14 }),
193
- /* @__PURE__ */ e.jsx("span", { children: pe[s] })
212
+ n ? /* @__PURE__ */ e.jsx(te, { size: 14 }) : /* @__PURE__ */ e.jsx(re, { size: 14 }),
213
+ /* @__PURE__ */ e.jsx("span", { children: ue[s] })
194
214
  ] }),
195
- /* @__PURE__ */ e.jsx(C, { className: "pb-4", children: t.map((a, l) => (
215
+ /* @__PURE__ */ e.jsx(k, { className: "pb-4", children: t.map((a, l) => (
196
216
  // eslint-disable-next-line react/no-array-index-key
197
217
  /* @__PURE__ */ e.jsx(
198
- de,
218
+ xe,
199
219
  {
200
220
  type: s,
201
221
  schema: a,
@@ -204,7 +224,7 @@ const q = (t, s) => t.reduce(
204
224
  l
205
225
  )
206
226
  )) })
207
- ] }) }), xe = (t) => t.type === "object" || t.type === "array" && typeof t.items == "object" && (!t.items.type || t.items.type === "object"), b = (t) => !!(t.oneOf ?? t.allOf ?? t.anyOf), ue = {
227
+ ] }) }), je = (t) => t.type === "object" || t.type === "array" && typeof t.items == "object" && (!t.items.type || t.items.type === "object"), N = (t) => !!(t.oneOf ?? t.allOf ?? t.anyOf), ye = {
208
228
  allOf: "AND",
209
229
  anyOf: "OR",
210
230
  oneOf: "ONE"
@@ -212,11 +232,11 @@ const q = (t, s) => t.reduce(
212
232
  schema: t,
213
233
  level: s
214
234
  }) => {
215
- const [n, i] = f(!0), r = T(() => i((a) => !a), []);
216
- for (const [a, l] of ae(ue))
235
+ const [n, i] = f(!0), r = $(() => i((a) => !a), []);
236
+ for (const [a, l] of ce(ye))
217
237
  if (t[a])
218
238
  return /* @__PURE__ */ e.jsx(
219
- me,
239
+ he,
220
240
  {
221
241
  schemas: t[a],
222
242
  type: l,
@@ -225,7 +245,7 @@ const q = (t, s) => t.reduce(
225
245
  level: s
226
246
  }
227
247
  );
228
- }, he = ({
248
+ }, ge = ({
229
249
  name: t,
230
250
  schema: s,
231
251
  group: n,
@@ -250,26 +270,26 @@ const q = (t, s) => t.reduce(
250
270
  content: s.description
251
271
  }
252
272
  ),
253
- (b(s) || xe(s)) && /* @__PURE__ */ e.jsxs(
254
- N,
273
+ (N(s) || je(s)) && /* @__PURE__ */ e.jsxs(
274
+ C,
255
275
  {
256
276
  defaultOpen: r,
257
277
  open: l,
258
278
  onOpenChange: () => h(!l),
259
279
  children: [
260
280
  a && /* @__PURE__ */ e.jsx(v, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
261
- K,
281
+ W,
262
282
  {
263
283
  variant: "outline",
264
284
  size: "sm",
265
285
  className: "mt-2 flex gap-1.5",
266
286
  children: [
267
- /* @__PURE__ */ e.jsx(Y, { size: 18 }),
287
+ /* @__PURE__ */ e.jsx(se, { size: 18 }),
268
288
  l ? "Hide nested properties" : "Show nested properties"
269
289
  ]
270
290
  }
271
291
  ) }),
272
- /* @__PURE__ */ e.jsx(C, { children: /* @__PURE__ */ e.jsx("div", { className: "mt-2", children: b(s) ? /* @__PURE__ */ e.jsx(M, { schema: s, level: i + 1 }) : s.type === "object" ? /* @__PURE__ */ e.jsx(g, { schema: s, level: i + 1 }) : s.type === "array" && typeof s.items == "object" && /* @__PURE__ */ e.jsx(g, { schema: s.items, level: i + 1 }) }) })
292
+ /* @__PURE__ */ e.jsx(k, { children: /* @__PURE__ */ e.jsx("div", { className: "mt-2", children: N(s) ? /* @__PURE__ */ e.jsx(M, { schema: s, level: i + 1 }) : s.type === "object" ? /* @__PURE__ */ e.jsx(g, { schema: s, level: i + 1 }) : s.type === "array" && typeof s.items == "object" && /* @__PURE__ */ e.jsx(g, { schema: s.items, level: i + 1 }) }) })
273
293
  ]
274
294
  }
275
295
  )
@@ -282,7 +302,7 @@ const q = (t, s) => t.reduce(
282
302
  if (!t || Object.keys(t).length === 0)
283
303
  return /* @__PURE__ */ e.jsx(p, { className: "p-4", children: /* @__PURE__ */ e.jsx("span", { className: "text-sm text-muted-foreground italic", children: "No response specified" }) });
284
304
  const i = (r, a) => {
285
- if (b(r))
305
+ if (N(r))
286
306
  return /* @__PURE__ */ e.jsx(M, { schema: r, level: a });
287
307
  if (r.type === "array" && r.items) {
288
308
  const l = r.items;
@@ -331,7 +351,7 @@ const q = (t, s) => t.reduce(
331
351
  ), h = ["required", "optional", "deprecated"];
332
352
  return /* @__PURE__ */ e.jsx(p, { className: "divide-y overflow-hidden", children: h.map(
333
353
  (d) => l[d] && /* @__PURE__ */ e.jsx("ul", { className: "divide-y", children: l[d].map(([o, c]) => /* @__PURE__ */ e.jsx(
334
- he,
354
+ ge,
335
355
  {
336
356
  name: o,
337
357
  schema: c,
@@ -356,19 +376,19 @@ const q = (t, s) => t.reduce(
356
376
  }
357
377
  )
358
378
  ] }) : r.additionalProperties ? /* @__PURE__ */ e.jsxs(p, { className: "my-2", children: [
359
- /* @__PURE__ */ e.jsx($, { children: /* @__PURE__ */ e.jsx(F, { children: "Additional Properties:" }) }),
360
- /* @__PURE__ */ e.jsx(H, { children: i(
379
+ /* @__PURE__ */ e.jsx(F, { children: /* @__PURE__ */ e.jsx(H, { children: "Additional Properties:" }) }),
380
+ /* @__PURE__ */ e.jsx(D, { children: i(
361
381
  r.additionalProperties,
362
382
  a + 1
363
383
  ) })
364
384
  ] }) : null;
365
385
  };
366
386
  return i(t, s);
367
- }, je = ["path", "query", "header", "cookie"], ye = ({
387
+ }, fe = ["path", "query", "header", "cookie"], be = ({
368
388
  operationFragment: t
369
389
  }) => {
370
390
  var l, h, d;
371
- const s = te(ge, t), n = q(
391
+ const s = ne(Ne, t), n = q(
372
392
  s.parameters ?? [],
373
393
  (o) => o.in
374
394
  ), i = s.responses.at(0), [r, a] = f(i == null ? void 0 : i.statusCode);
@@ -386,11 +406,11 @@ const q = (t, s) => t.reduce(
386
406
  content: s.description
387
407
  }
388
408
  ),
389
- s.parameters && s.parameters.length > 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: je.flatMap(
409
+ s.parameters && s.parameters.length > 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: fe.flatMap(
390
410
  (o) => {
391
411
  var c;
392
412
  return (c = n[o]) != null && c.length ? /* @__PURE__ */ e.jsx(
393
- ie,
413
+ le,
394
414
  {
395
415
  id: s.slug,
396
416
  parameters: n[o],
@@ -400,7 +420,7 @@ const q = (t, s) => t.reduce(
400
420
  ) : [];
401
421
  }
402
422
  ) }),
403
- re((d = (h = (l = s.requestBody) == null ? void 0 : l.content) == null ? void 0 : h.at(0)) == null ? void 0 : d.schema, (o) => /* @__PURE__ */ e.jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [
423
+ ae((d = (h = (l = s.requestBody) == null ? void 0 : l.content) == null ? void 0 : h.at(0)) == null ? void 0 : d.schema, (o) => /* @__PURE__ */ e.jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [
404
424
  /* @__PURE__ */ e.jsx(
405
425
  y,
406
426
  {
@@ -425,13 +445,13 @@ const q = (t, s) => t.reduce(
425
445
  }
426
446
  ),
427
447
  /* @__PURE__ */ e.jsxs(
428
- E,
448
+ B,
429
449
  {
430
450
  onValueChange: (o) => a(o),
431
451
  value: r,
432
452
  children: [
433
- s.responses.length > 1 && /* @__PURE__ */ e.jsx(D, { children: s.responses.map((o) => /* @__PURE__ */ e.jsx(
434
- B,
453
+ s.responses.length > 1 && /* @__PURE__ */ e.jsx(G, { children: s.responses.map((o) => /* @__PURE__ */ e.jsx(
454
+ Q,
435
455
  {
436
456
  value: o.statusCode,
437
457
  title: o.description,
@@ -442,7 +462,7 @@ const q = (t, s) => t.reduce(
442
462
  /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0", children: s.responses.map((o) => {
443
463
  var c, O;
444
464
  return /* @__PURE__ */ e.jsx(
445
- G,
465
+ V,
446
466
  {
447
467
  value: o.statusCode,
448
468
  children: /* @__PURE__ */ e.jsx(
@@ -461,7 +481,7 @@ const q = (t, s) => t.reduce(
461
481
  ] })
462
482
  ] }),
463
483
  /* @__PURE__ */ e.jsx(
464
- Q,
484
+ _,
465
485
  {
466
486
  selectedResponse: r,
467
487
  onSelectResponse: a,
@@ -472,7 +492,7 @@ const q = (t, s) => t.reduce(
472
492
  },
473
493
  s.operationId
474
494
  );
475
- }, ge = P(
495
+ }, Ne = P(
476
496
  /* GraphQL */
477
497
  `
478
498
  fragment OperationsFragment on OperationItem {
@@ -523,7 +543,7 @@ const q = (t, s) => t.reduce(
523
543
  }
524
544
  }
525
545
  `
526
- ), fe = P(
546
+ ), Ce = P(
527
547
  /* GraphQL */
528
548
  `
529
549
  query AllOperations($input: JSON!, $type: SchemaType!) {
@@ -543,25 +563,25 @@ const q = (t, s) => t.reduce(
543
563
  }
544
564
  }
545
565
  `
546
- ), be = { suspense: !0 }, Le = () => {
566
+ ), ve = { suspense: !0 }, Ie = () => {
547
567
  var r;
548
- const { type: t, input: s } = V(), [n] = J({
549
- query: fe,
568
+ const { type: t, input: s } = J(), [n] = U({
569
+ query: Ce,
550
570
  variables: { type: t, input: s },
551
- context: be
571
+ context: ve
552
572
  }), i = (r = n.error) == null ? void 0 : r.graphQLErrors.at(0);
553
573
  return i ? /* @__PURE__ */ e.jsx(
554
- I,
574
+ T,
555
575
  {
556
576
  category: "Error",
557
577
  title: "Schema cannot be displayed",
558
578
  message: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
559
579
  /* @__PURE__ */ e.jsxs(L, { className: "mb-4", children: [
560
580
  "Check your configuration value ",
561
- /* @__PURE__ */ e.jsx(S, { children: "apis.type" }),
581
+ /* @__PURE__ */ e.jsx(b, { children: "apis.type" }),
562
582
  " ",
563
583
  "and ",
564
- /* @__PURE__ */ e.jsx(S, { children: "apis.input" }),
584
+ /* @__PURE__ */ e.jsx(b, { children: "apis.input" }),
565
585
  " in the Zudoku config."
566
586
  ] }),
567
587
  "An error occurred while trying to fetch the API reference:",
@@ -574,14 +594,16 @@ const q = (t, s) => t.reduce(
574
594
  {
575
595
  className: x(u, "mb-16 max-w-full prose-img:max-w-prose"),
576
596
  children: [
577
- /* @__PURE__ */ e.jsx(k, { children: "Overview" }),
597
+ /* @__PURE__ */ e.jsx(w, { children: "Overview" }),
578
598
  /* @__PURE__ */ e.jsx(y, { level: 1, id: "description", registerSidebarAnchor: !0, children: n.data.schema.title }),
579
599
  /* @__PURE__ */ e.jsx(m, { content: n.data.schema.description ?? "" })
580
600
  ]
581
601
  }
582
602
  ),
603
+ /* @__PURE__ */ e.jsx("hr", {}),
604
+ /* @__PURE__ */ e.jsx(ie, { url: n.data.schema.url }),
583
605
  n.data.schema.tags.filter((a) => a.operations.length > 0).map((a) => /* @__PURE__ */ e.jsxs("div", { children: [
584
- a.name && /* @__PURE__ */ e.jsx(k, { children: a.name }),
606
+ a.name && /* @__PURE__ */ e.jsx(w, { children: a.name }),
585
607
  a.description && /* @__PURE__ */ e.jsx(
586
608
  m,
587
609
  {
@@ -589,8 +611,8 @@ const q = (t, s) => t.reduce(
589
611
  content: a.description
590
612
  }
591
613
  ),
592
- /* @__PURE__ */ e.jsx("div", { className: "operation mb-12", children: /* @__PURE__ */ e.jsx(_, { children: a.operations.map((l) => /* @__PURE__ */ e.jsx(
593
- ye,
614
+ /* @__PURE__ */ e.jsx("div", { className: "operation mb-12", children: /* @__PURE__ */ e.jsx(K, { children: a.operations.map((l) => /* @__PURE__ */ e.jsx(
615
+ be,
594
616
  {
595
617
  operationFragment: l
596
618
  },
@@ -600,7 +622,7 @@ const q = (t, s) => t.reduce(
600
622
  ] }) : null;
601
623
  };
602
624
  export {
603
- Le as OperationList,
604
- ge as OperationsFragment
625
+ Ie as OperationList,
626
+ Ne as OperationsFragment
605
627
  };
606
- //# sourceMappingURL=OperationList-C9ZThjSM.js.map
628
+ //# sourceMappingURL=OperationList-DVIuzHN7.js.map