zudoku 0.3.0-dev.99 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/demo.js +5 -9
- package/dist/app/demo.js.map +1 -1
- package/dist/app/main.js +9 -7
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.js +12 -8
- package/dist/app/standalone.js.map +1 -1
- package/dist/cli/dev/handler.js +1 -1
- package/dist/config/validators/SidebarSchema.js +9 -4
- package/dist/config/validators/SidebarSchema.js.map +1 -1
- package/dist/lib/components/ClientOnly.d.ts +3 -0
- package/dist/lib/components/ClientOnly.js +7 -0
- package/dist/lib/components/ClientOnly.js.map +1 -0
- package/dist/lib/components/Header.js +3 -2
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Markdown.js +3 -2
- package/dist/lib/components/Markdown.js.map +1 -1
- package/dist/lib/components/Search.js +5 -8
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/SlotletProvider.d.ts +2 -2
- package/dist/lib/components/SlotletProvider.js +7 -2
- package/dist/lib/components/SlotletProvider.js.map +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js +6 -2
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.js +3 -2
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/SidebarWrapper.js +2 -3
- package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +1 -1
- package/dist/lib/core/plugins.js +1 -1
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/oas/graphql/index.js +18 -3
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +5 -5
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterList.js +3 -1
- package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +3 -1
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +5 -9
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.d.ts +3 -1
- package/dist/lib/plugins/openapi/Sidecar.js +11 -5
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +1 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +2 -3
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/createUrl.js +5 -1
- package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaComponents.d.ts +13 -0
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js +28 -0
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +6 -0
- package/dist/lib/plugins/openapi/schema/SchemaView.js +58 -0
- package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/utils.d.ts +3 -0
- package/dist/lib/plugins/openapi/schema/utils.js +6 -0
- package/dist/lib/plugins/openapi/schema/utils.js.map +1 -0
- package/dist/lib/plugins/search-inkeep/index.js +3 -5
- package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
- package/dist/lib/themeToggle.d.ts +1 -0
- package/dist/lib/themeToggle.js +7 -0
- package/dist/lib/themeToggle.js.map +1 -0
- package/dist/lib/util/MdxComponents.js +4 -4
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/vite/config.d.ts +4 -5
- package/dist/vite/config.js +7 -4
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +2 -2
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/dev-server.d.ts +0 -1
- package/dist/vite/dev-server.js +2 -21
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/html.js +2 -11
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-api-keys.d.ts +3 -3
- package/dist/vite/plugin-api-keys.js +2 -1
- package/dist/vite/plugin-api-keys.js.map +1 -1
- package/dist/vite/plugin-api.d.ts +3 -3
- package/dist/vite/plugin-api.js +2 -1
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.d.ts +3 -3
- package/dist/vite/plugin-auth.js +2 -1
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.d.ts +3 -3
- package/dist/vite/plugin-component.js +17 -14
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-config-reload.d.ts +4 -0
- package/dist/vite/plugin-config-reload.js +24 -0
- package/dist/vite/plugin-config-reload.js.map +1 -0
- package/dist/vite/plugin-config.d.ts +2 -2
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-custom-css.d.ts +3 -3
- package/dist/vite/plugin-custom-css.js +2 -1
- package/dist/vite/plugin-custom-css.js.map +1 -1
- package/dist/vite/plugin-docs.d.ts +3 -3
- package/dist/vite/plugin-docs.js +3 -2
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-html-transform.d.ts +2 -0
- package/dist/vite/plugin-html-transform.js +15 -0
- package/dist/vite/plugin-html-transform.js.map +1 -0
- package/dist/vite/plugin-mdx.d.ts +3 -3
- package/dist/vite/plugin-mdx.js +2 -1
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-metadata.d.ts +1 -1
- package/dist/vite/plugin-redirect.d.ts +3 -3
- package/dist/vite/plugin-redirect.js +2 -1
- package/dist/vite/plugin-redirect.js.map +1 -1
- package/dist/vite/plugin-sidebar.d.ts +3 -3
- package/dist/vite/plugin-sidebar.js +5 -4
- package/dist/vite/plugin-sidebar.js.map +1 -1
- package/dist/vite/plugin.d.ts +3 -2
- package/dist/vite/plugin.js +16 -11
- package/dist/vite/plugin.js.map +1 -1
- package/lib/{CategoryHeading-BWq12Bfa.js → CategoryHeading-z15xh7Jb.js} +2 -2
- package/lib/{CategoryHeading-BWq12Bfa.js.map → CategoryHeading-z15xh7Jb.js.map} +1 -1
- package/lib/{Combination-D-9IH0zy.js → Combination-DTfV-c98.js} +2 -2
- package/lib/{Combination-D-9IH0zy.js.map → Combination-DTfV-c98.js.map} +1 -1
- package/lib/{Input-HmAaR6kw.js → Input-DB9VROFR.js} +3 -3
- package/lib/{Input-HmAaR6kw.js.map → Input-DB9VROFR.js.map} +1 -1
- package/lib/Markdown-CEccPMI_.js +20508 -0
- package/lib/Markdown-CEccPMI_.js.map +1 -0
- package/lib/{MdxPage-oN3huD58.js → MdxPage-CnqOoqvp.js} +12 -15
- package/lib/MdxPage-CnqOoqvp.js.map +1 -0
- package/lib/OperationList-Cxiw2Z-v.js +457 -0
- package/lib/OperationList-Cxiw2Z-v.js.map +1 -0
- package/lib/{Route-DAF15JAU.js → Route-DfAFiR7v.js} +2 -2
- package/lib/{Route-DAF15JAU.js.map → Route-DfAFiR7v.js.map} +1 -1
- package/lib/SlotletProvider-ByLSCZQa.js +262 -0
- package/lib/SlotletProvider-ByLSCZQa.js.map +1 -0
- package/lib/{Spinner-BCz1kNGw.js → Spinner-BT_AYFrA.js} +3 -3
- package/lib/{Spinner-BCz1kNGw.js.map → Spinner-BT_AYFrA.js.map} +1 -1
- package/lib/assets/{worker-CR7aeKop.js → worker-CzHUifWA.js} +710 -703
- package/lib/assets/{worker-CR7aeKop.js.map → worker-CzHUifWA.js.map} +1 -1
- package/lib/{index-CtKkHGcd.js → index-D-9zqIOh.js} +1159 -1147
- package/lib/index-D-9zqIOh.js.map +1 -0
- package/lib/{index-D-9Z7HSn.js → index-Dz4LyXZI.js} +3 -3
- package/lib/{index-D-9Z7HSn.js.map → index-Dz4LyXZI.js.map} +1 -1
- package/lib/zudoku.components.js +775 -759
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +734 -727
- package/lib/zudoku.openapi-worker.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +4 -4
- package/lib/zudoku.plugin-custom-page.js +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +3 -3
- package/lib/zudoku.plugin-search-inkeep.js +23 -22
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/package.json +99 -78
- package/src/app/demo-cdn.html +1 -1
- package/src/app/demo.html +1 -1
- package/src/app/demo.tsx +7 -9
- package/src/app/main.css +22 -0
- package/src/app/main.tsx +11 -8
- package/src/app/standalone.html +1 -1
- package/src/app/standalone.tsx +13 -8
- package/src/lib/components/ClientOnly.tsx +13 -0
- package/src/lib/components/Header.tsx +3 -0
- package/src/lib/components/Markdown.tsx +3 -2
- package/src/lib/components/Search.tsx +7 -7
- package/src/lib/components/SlotletProvider.tsx +10 -5
- package/src/lib/components/navigation/SidebarCategory.tsx +13 -2
- package/src/lib/components/navigation/SidebarItem.tsx +3 -2
- package/src/lib/components/navigation/SidebarWrapper.tsx +20 -18
- package/src/lib/core/plugins.ts +2 -2
- package/src/lib/oas/graphql/index.ts +26 -7
- package/src/lib/plugins/markdown/MdxPage.tsx +0 -1
- package/src/lib/plugins/openapi/OperationListItem.tsx +22 -17
- package/src/lib/plugins/openapi/ParameterList.tsx +10 -8
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +51 -39
- package/src/lib/plugins/openapi/Sidecar.tsx +34 -19
- package/src/lib/plugins/openapi/index.tsx +1 -1
- package/src/lib/plugins/openapi/playground/Playground.tsx +3 -6
- package/src/lib/plugins/openapi/playground/createUrl.ts +6 -5
- package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +126 -0
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +172 -0
- package/src/lib/plugins/openapi/schema/utils.ts +10 -0
- package/src/lib/plugins/search-inkeep/index.tsx +11 -9
- package/src/lib/themeToggle.ts +7 -0
- package/src/lib/util/MdxComponents.tsx +12 -12
- package/LICENSE.md +0 -21
- package/dist/lib/plugins/openapi/SchemaListView.d.ts +0 -7
- package/dist/lib/plugins/openapi/SchemaListView.js +0 -27
- package/dist/lib/plugins/openapi/SchemaListView.js.map +0 -1
- package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +0 -8
- package/dist/lib/plugins/openapi/SchemaListViewItem.js +0 -25
- package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +0 -1
- package/dist/lib/plugins/openapi/SchemaListViewItemGroup.d.ts +0 -8
- package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js +0 -17
- package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js.map +0 -1
- package/lib/Markdown-B_Gax7at.js +0 -14108
- package/lib/Markdown-B_Gax7at.js.map +0 -1
- package/lib/MdxPage-oN3huD58.js.map +0 -1
- package/lib/OperationList-Ctj0ihBN.js +0 -448
- package/lib/OperationList-Ctj0ihBN.js.map +0 -1
- package/lib/SlotletProvider-CzMAO73_.js +0 -82
- package/lib/SlotletProvider-CzMAO73_.js.map +0 -1
- package/lib/index-CtKkHGcd.js.map +0 -1
- package/src/lib/plugins/openapi/SchemaListView.tsx +0 -75
- package/src/lib/plugins/openapi/SchemaListViewItem.tsx +0 -125
- package/src/lib/plugins/openapi/SchemaListViewItemGroup.tsx +0 -63
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MdxPage-oN3huD58.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 {\" \"}\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]}
|
|
@@ -1,448 +0,0 @@
|
|
|
1
|
-
import { j as e } from "./jsx-runtime-B6kdoens.js";
|
|
2
|
-
import { C as f } from "./CategoryHeading-BWq12Bfa.js";
|
|
3
|
-
import { D as q } from "./DeveloperHint-BQSFXH01.js";
|
|
4
|
-
import { C as L, a as u, T as I, b as R, c as T, d as $, S as k, g as v, u as A, E as F } from "./index-CtKkHGcd.js";
|
|
5
|
-
import { c as H, h as m, H as x, a as p, P as M, I as b, S as z } from "./Markdown-B_Gax7at.js";
|
|
6
|
-
import { R as C, T as O, C as P, a as B } from "./index-D-9Z7HSn.js";
|
|
7
|
-
import { u as E } from "./urql-DrBfkb92.js";
|
|
8
|
-
import { B as V } from "./Combination-D-9IH0zy.js";
|
|
9
|
-
import { useState as D } from "react";
|
|
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 Q = H("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 _(t, s) {
|
|
24
|
-
return s;
|
|
25
|
-
}
|
|
26
|
-
const w = (t, s) => t.reduce(
|
|
27
|
-
(n, a) => {
|
|
28
|
-
const d = s(a);
|
|
29
|
-
return n[d] || (n[d] = []), n[d].push(a), n;
|
|
30
|
-
},
|
|
31
|
-
{}
|
|
32
|
-
), N = (t, s) => t ? s(t) : void 0, y = (t) => t.schema != null && typeof t.schema == "object" ? t.schema : {
|
|
33
|
-
type: "string"
|
|
34
|
-
}, G = ({
|
|
35
|
-
parameter: t,
|
|
36
|
-
group: s,
|
|
37
|
-
id: n
|
|
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
|
-
L,
|
|
42
|
-
{
|
|
43
|
-
name: t.name,
|
|
44
|
-
backgroundOpacity: "15%",
|
|
45
|
-
slug: n + "-" + 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
|
-
y(t).type && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: y(t).type })
|
|
50
|
-
] }),
|
|
51
|
-
t.description && /* @__PURE__ */ e.jsx(
|
|
52
|
-
m,
|
|
53
|
-
{
|
|
54
|
-
content: t.description,
|
|
55
|
-
className: "text-sm prose-p:my-1"
|
|
56
|
-
}
|
|
57
|
-
)
|
|
58
|
-
] }), J = ({
|
|
59
|
-
group: t,
|
|
60
|
-
parameters: s,
|
|
61
|
-
id: n
|
|
62
|
-
}) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
63
|
-
/* @__PURE__ */ e.jsx(x, { level: 3, id: `${n}/${t}-parameters`, className: "capitalize", children: t === "header" ? "Headers" : `${t} Parameters` }),
|
|
64
|
-
/* @__PURE__ */ e.jsx(u, { children: /* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 divide-y ", children: s.map((a) => /* @__PURE__ */ e.jsx(
|
|
65
|
-
G,
|
|
66
|
-
{
|
|
67
|
-
parameter: a,
|
|
68
|
-
id: n,
|
|
69
|
-
group: t
|
|
70
|
-
},
|
|
71
|
-
`${a.name}-${a.in}`
|
|
72
|
-
)) }) })
|
|
73
|
-
] }), K = (t) => Object.entries(t), S = ({
|
|
74
|
-
propertyName: t,
|
|
75
|
-
property: s,
|
|
76
|
-
nestingLevel: n,
|
|
77
|
-
isRequired: a,
|
|
78
|
-
defaultOpen: d = !1
|
|
79
|
-
}) => {
|
|
80
|
-
var o;
|
|
81
|
-
if (!s)
|
|
82
|
-
return /* @__PURE__ */ e.jsx("div", { children: "no property" });
|
|
83
|
-
const r = t || s.title ? [t, s.title].filter(Boolean).join(" ") : null;
|
|
84
|
-
return /* @__PURE__ */ e.jsxs(
|
|
85
|
-
"div",
|
|
86
|
-
{
|
|
87
|
-
className: p(
|
|
88
|
-
"p-4 bg-border/20 hover:bg-border/30 flex gap-1 flex-col text-sm",
|
|
89
|
-
s.deprecated && "opacity-50"
|
|
90
|
-
),
|
|
91
|
-
children: [
|
|
92
|
-
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2 relative", children: [
|
|
93
|
-
r && /* @__PURE__ */ e.jsx("code", { children: r }),
|
|
94
|
-
s.type && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: s.type }),
|
|
95
|
-
s.deprecated && /* @__PURE__ */ e.jsx("span", { className: "text-muted-foreground", children: "Deprecated" }),
|
|
96
|
-
!a && /* @__PURE__ */ e.jsxs("span", { className: "py-px px-1.5 font-medium border rounded-lg", children: [
|
|
97
|
-
"optional ",
|
|
98
|
-
s.required
|
|
99
|
-
] })
|
|
100
|
-
] }),
|
|
101
|
-
s.description && /* @__PURE__ */ e.jsx(
|
|
102
|
-
m,
|
|
103
|
-
{
|
|
104
|
-
content: s.description,
|
|
105
|
-
className: "text-sm leading-normal line-clamp-4 "
|
|
106
|
-
}
|
|
107
|
-
),
|
|
108
|
-
s.enum && /* @__PURE__ */ e.jsxs("span", { className: "text-sm text-muted-foreground flex gap-1 flex-wrap items-center", children: [
|
|
109
|
-
/* @__PURE__ */ e.jsx("span", { children: "Possible values" }),
|
|
110
|
-
[...new Set(s.enum.filter((i) => i))].map((i) => /* @__PURE__ */ e.jsx(
|
|
111
|
-
"span",
|
|
112
|
-
{
|
|
113
|
-
className: "font-mono text-xs border bg-muted rounded px-1",
|
|
114
|
-
children: i
|
|
115
|
-
},
|
|
116
|
-
i
|
|
117
|
-
)).slice(0, 4),
|
|
118
|
-
s.enum.length > 4 && /* @__PURE__ */ e.jsx("span", { className: "font-mono text-xs border bg-muted rounded px-1", children: "..." })
|
|
119
|
-
] }),
|
|
120
|
-
s.type === "object" && (((o = s.properties) == null ? void 0 : o.length) ?? Object.entries(s.additionalProperties ?? {}).length > 0) || s.type === "array" && // this check is needed because the `items` can be undefined despite the type being defined
|
|
121
|
-
typeof s.items < "u" && s.items.type === "object" ? /* @__PURE__ */ e.jsxs(C, { className: "CollapsibleRoot", defaultOpen: d, children: [
|
|
122
|
-
/* @__PURE__ */ e.jsx(O, { asChild: !0, children: /* @__PURE__ */ e.jsxs(
|
|
123
|
-
V,
|
|
124
|
-
{
|
|
125
|
-
variant: "ghost",
|
|
126
|
-
size: "sm",
|
|
127
|
-
className: p(d && "hidden"),
|
|
128
|
-
children: [
|
|
129
|
-
"Show nested fields",
|
|
130
|
-
/* @__PURE__ */ e.jsx(Q, { size: 18, className: "ml-1.5" })
|
|
131
|
-
]
|
|
132
|
-
}
|
|
133
|
-
) }),
|
|
134
|
-
/* @__PURE__ */ e.jsxs(P, { children: [
|
|
135
|
-
s.type === "object" && /* @__PURE__ */ e.jsx("div", { className: "mt-2.5", children: /* @__PURE__ */ e.jsx(
|
|
136
|
-
j,
|
|
137
|
-
{
|
|
138
|
-
schema: s,
|
|
139
|
-
level: n + 1,
|
|
140
|
-
defaultOpen: !0
|
|
141
|
-
}
|
|
142
|
-
) }),
|
|
143
|
-
s.type === "array" && s.items.type === "object" && /* @__PURE__ */ e.jsx("div", { className: "mt-2.5", children: /* @__PURE__ */ e.jsx(
|
|
144
|
-
j,
|
|
145
|
-
{
|
|
146
|
-
schema: s.items,
|
|
147
|
-
defaultOpen: !0,
|
|
148
|
-
level: n + 1
|
|
149
|
-
}
|
|
150
|
-
) })
|
|
151
|
-
] })
|
|
152
|
-
] }) : null
|
|
153
|
-
]
|
|
154
|
-
}
|
|
155
|
-
);
|
|
156
|
-
}, U = ({
|
|
157
|
-
group: t,
|
|
158
|
-
properties: s,
|
|
159
|
-
nestingLevel: n,
|
|
160
|
-
required: a,
|
|
161
|
-
defaultOpen: d = !1
|
|
162
|
-
}) => {
|
|
163
|
-
const r = d || t === "required" || s.length === 1 || n === 0, [o, i] = D(r);
|
|
164
|
-
if (s.length !== 0)
|
|
165
|
-
return /* @__PURE__ */ e.jsxs(
|
|
166
|
-
C,
|
|
167
|
-
{
|
|
168
|
-
className: "CollapsibleRoot",
|
|
169
|
-
open: o,
|
|
170
|
-
onOpenChange: i,
|
|
171
|
-
children: [
|
|
172
|
-
!o && /* @__PURE__ */ e.jsxs(
|
|
173
|
-
O,
|
|
174
|
-
{
|
|
175
|
-
className: p(
|
|
176
|
-
"py-2 hover:bg-muted w-full",
|
|
177
|
-
t === "optional" && "font-semibold",
|
|
178
|
-
t === "deprecated" && "text-muted-foreground"
|
|
179
|
-
),
|
|
180
|
-
children: [
|
|
181
|
-
s.length,
|
|
182
|
-
" ",
|
|
183
|
-
t,
|
|
184
|
-
" fields"
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
),
|
|
188
|
-
/* @__PURE__ */ e.jsx(P, { className: "divide-y divide-border", children: s.map(([l, c]) => /* @__PURE__ */ e.jsx(
|
|
189
|
-
S,
|
|
190
|
-
{
|
|
191
|
-
property: c,
|
|
192
|
-
propertyName: l,
|
|
193
|
-
nestingLevel: n,
|
|
194
|
-
isRequired: a.includes(l)
|
|
195
|
-
},
|
|
196
|
-
l
|
|
197
|
-
)) })
|
|
198
|
-
]
|
|
199
|
-
}
|
|
200
|
-
);
|
|
201
|
-
}, h = p(
|
|
202
|
-
M,
|
|
203
|
-
"max-w-full prose-img:max-w-prose"
|
|
204
|
-
), j = ({
|
|
205
|
-
name: t,
|
|
206
|
-
schema: s,
|
|
207
|
-
level: n = 0,
|
|
208
|
-
defaultOpen: a = !1
|
|
209
|
-
}) => {
|
|
210
|
-
const d = Object.entries(s.properties ?? {}), r = typeof s.additionalProperties == "object" ? Object.entries(s.additionalProperties) : [], o = d.concat(
|
|
211
|
-
Array.isArray(r) ? r : []
|
|
212
|
-
), i = w(o, ([l, c]) => {
|
|
213
|
-
var g;
|
|
214
|
-
return c.deprecated ? "deprecated" : (g = s.required) != null && g.includes(l) ? "required" : "optional";
|
|
215
|
-
});
|
|
216
|
-
return s.type === "array" ? /* @__PURE__ */ e.jsx(u, { className: "overflow-hidden", children: /* @__PURE__ */ e.jsx(
|
|
217
|
-
S,
|
|
218
|
-
{
|
|
219
|
-
propertyName: s.title ?? t,
|
|
220
|
-
isRequired: !0,
|
|
221
|
-
property: s,
|
|
222
|
-
defaultOpen: n === 0,
|
|
223
|
-
nestingLevel: n
|
|
224
|
-
}
|
|
225
|
-
) }) : /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-2.5", children: [
|
|
226
|
-
(s.title ?? t) && /* @__PURE__ */ e.jsx("div", { className: "ml-2 my-1 font-bold", children: s.title ?? t }),
|
|
227
|
-
n === 0 && s.description && /* @__PURE__ */ e.jsx(m, { className: h, content: s.description }),
|
|
228
|
-
/* @__PURE__ */ e.jsx(u, { className: "overflow-hidden", children: K(i).map(([l, c]) => /* @__PURE__ */ e.jsx(
|
|
229
|
-
U,
|
|
230
|
-
{
|
|
231
|
-
defaultOpen: a,
|
|
232
|
-
group: l,
|
|
233
|
-
nestingLevel: n,
|
|
234
|
-
properties: c ?? [],
|
|
235
|
-
required: s.required ?? []
|
|
236
|
-
},
|
|
237
|
-
l
|
|
238
|
-
)) })
|
|
239
|
-
] });
|
|
240
|
-
}, Z = ["path", "query", "header", "cookie"], W = ({
|
|
241
|
-
operationFragment: t
|
|
242
|
-
}) => {
|
|
243
|
-
var d, r, o;
|
|
244
|
-
const s = _(X, t), n = w(
|
|
245
|
-
s.parameters ?? [],
|
|
246
|
-
(i) => i.in
|
|
247
|
-
), a = s.responses.at(0);
|
|
248
|
-
return /* @__PURE__ */ e.jsxs(
|
|
249
|
-
"div",
|
|
250
|
-
{
|
|
251
|
-
className: "grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16",
|
|
252
|
-
children: [
|
|
253
|
-
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
254
|
-
/* @__PURE__ */ e.jsx(x, { level: 2, id: s.slug, registerSidebarAnchor: !0, children: s.summary }),
|
|
255
|
-
s.description && /* @__PURE__ */ e.jsx(
|
|
256
|
-
m,
|
|
257
|
-
{
|
|
258
|
-
className: h,
|
|
259
|
-
content: s.description
|
|
260
|
-
}
|
|
261
|
-
),
|
|
262
|
-
s.parameters && s.parameters.length > 0 && /* @__PURE__ */ e.jsx(e.Fragment, { children: Z.flatMap(
|
|
263
|
-
(i) => {
|
|
264
|
-
var l;
|
|
265
|
-
return (l = n[i]) != null && l.length ? /* @__PURE__ */ e.jsx(
|
|
266
|
-
J,
|
|
267
|
-
{
|
|
268
|
-
id: s.slug,
|
|
269
|
-
parameters: n[i],
|
|
270
|
-
group: i
|
|
271
|
-
},
|
|
272
|
-
i
|
|
273
|
-
) : [];
|
|
274
|
-
}
|
|
275
|
-
) }),
|
|
276
|
-
N((o = (r = (d = s.requestBody) == null ? void 0 : d.content) == null ? void 0 : r.at(0)) == null ? void 0 : o.schema, (i) => /* @__PURE__ */ e.jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [
|
|
277
|
-
/* @__PURE__ */ e.jsx(x, { level: 3, className: "capitalize", children: "Request Body" }),
|
|
278
|
-
/* @__PURE__ */ e.jsx(j, { schema: i })
|
|
279
|
-
] })),
|
|
280
|
-
s.responses.length > 0 && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
281
|
-
/* @__PURE__ */ e.jsx(x, { level: 3, className: "capitalize mt-8 pt-8 border-t", children: "Responses" }),
|
|
282
|
-
/* @__PURE__ */ e.jsxs(I, { defaultValue: `${a == null ? void 0 : a.statusCode}${a == null ? void 0 : a.description}`, children: [
|
|
283
|
-
s.responses.length > 1 && /* @__PURE__ */ e.jsx(R, { children: s.responses.map((i) => /* @__PURE__ */ e.jsx(
|
|
284
|
-
T,
|
|
285
|
-
{
|
|
286
|
-
value: i.statusCode + i.description,
|
|
287
|
-
title: i.description,
|
|
288
|
-
children: i.statusCode
|
|
289
|
-
},
|
|
290
|
-
i.statusCode
|
|
291
|
-
)) }),
|
|
292
|
-
/* @__PURE__ */ e.jsx("ul", { className: "list-none m-0 px-0 overflow-hidden", children: s.responses.map((i) => {
|
|
293
|
-
var l;
|
|
294
|
-
return /* @__PURE__ */ e.jsx(
|
|
295
|
-
$,
|
|
296
|
-
{
|
|
297
|
-
value: i.statusCode + i.description,
|
|
298
|
-
children: N(
|
|
299
|
-
(l = i.content) == null ? void 0 : l.find((c) => c.schema),
|
|
300
|
-
(c) => /* @__PURE__ */ e.jsx(j, { schema: c.schema })
|
|
301
|
-
) ?? /* @__PURE__ */ e.jsx(u, { className: "font-mono text-sm p-4", children: "No response body" })
|
|
302
|
-
},
|
|
303
|
-
i.statusCode
|
|
304
|
-
);
|
|
305
|
-
}) })
|
|
306
|
-
] })
|
|
307
|
-
] })
|
|
308
|
-
] }),
|
|
309
|
-
/* @__PURE__ */ e.jsx(k, { operation: s })
|
|
310
|
-
]
|
|
311
|
-
},
|
|
312
|
-
s.operationId
|
|
313
|
-
);
|
|
314
|
-
}, X = v(
|
|
315
|
-
/* GraphQL */
|
|
316
|
-
`
|
|
317
|
-
fragment OperationsFragment on OperationItem {
|
|
318
|
-
slug
|
|
319
|
-
summary
|
|
320
|
-
method
|
|
321
|
-
description
|
|
322
|
-
operationId
|
|
323
|
-
contentTypes
|
|
324
|
-
path
|
|
325
|
-
parameters {
|
|
326
|
-
name
|
|
327
|
-
in
|
|
328
|
-
description
|
|
329
|
-
required
|
|
330
|
-
schema
|
|
331
|
-
style
|
|
332
|
-
examples {
|
|
333
|
-
name
|
|
334
|
-
description
|
|
335
|
-
externalValue
|
|
336
|
-
value
|
|
337
|
-
summary
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
requestBody {
|
|
341
|
-
content {
|
|
342
|
-
mediaType
|
|
343
|
-
encoding {
|
|
344
|
-
name
|
|
345
|
-
}
|
|
346
|
-
schema
|
|
347
|
-
}
|
|
348
|
-
description
|
|
349
|
-
required
|
|
350
|
-
}
|
|
351
|
-
responses {
|
|
352
|
-
statusCode
|
|
353
|
-
links
|
|
354
|
-
description
|
|
355
|
-
content {
|
|
356
|
-
mediaType
|
|
357
|
-
encoding {
|
|
358
|
-
name
|
|
359
|
-
}
|
|
360
|
-
schema
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
`
|
|
365
|
-
), Y = v(
|
|
366
|
-
/* GraphQL */
|
|
367
|
-
`
|
|
368
|
-
query AllOperations($input: JSON!, $type: SchemaType!) {
|
|
369
|
-
schema(input: $input, type: $type) {
|
|
370
|
-
description
|
|
371
|
-
title
|
|
372
|
-
url
|
|
373
|
-
version
|
|
374
|
-
tags {
|
|
375
|
-
name
|
|
376
|
-
description
|
|
377
|
-
operations {
|
|
378
|
-
slug
|
|
379
|
-
...OperationsFragment
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
`
|
|
385
|
-
), ee = { suspense: !0 }, ce = () => {
|
|
386
|
-
var d;
|
|
387
|
-
const { type: t, input: s } = A(), [n] = E({
|
|
388
|
-
query: Y,
|
|
389
|
-
variables: { type: t, input: s },
|
|
390
|
-
context: ee
|
|
391
|
-
}), a = (d = n.error) == null ? void 0 : d.graphQLErrors.at(0);
|
|
392
|
-
return a ? /* @__PURE__ */ e.jsx(
|
|
393
|
-
F,
|
|
394
|
-
{
|
|
395
|
-
category: "Error",
|
|
396
|
-
title: "Schema cannot be displayed",
|
|
397
|
-
message: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
398
|
-
/* @__PURE__ */ e.jsxs(q, { className: "mb-4", children: [
|
|
399
|
-
"Check your configuration value ",
|
|
400
|
-
/* @__PURE__ */ e.jsx(b, { children: "apis.type" }),
|
|
401
|
-
" ",
|
|
402
|
-
"and ",
|
|
403
|
-
/* @__PURE__ */ e.jsx(b, { children: "apis.input" }),
|
|
404
|
-
" in the Zudoku config."
|
|
405
|
-
] }),
|
|
406
|
-
"An error occurred while trying to fetch the API reference:",
|
|
407
|
-
/* @__PURE__ */ e.jsx(z, { code: a.toString(), language: "plain" })
|
|
408
|
-
] })
|
|
409
|
-
}
|
|
410
|
-
) : n.data ? /* @__PURE__ */ e.jsxs("div", { className: "pt-[--padding-content-top]", children: [
|
|
411
|
-
/* @__PURE__ */ e.jsxs(
|
|
412
|
-
"div",
|
|
413
|
-
{
|
|
414
|
-
className: p(
|
|
415
|
-
h,
|
|
416
|
-
"mb-16 max-w-full prose-img:max-w-prose"
|
|
417
|
-
),
|
|
418
|
-
children: [
|
|
419
|
-
/* @__PURE__ */ e.jsx(f, { children: "Overview" }),
|
|
420
|
-
/* @__PURE__ */ e.jsx(x, { level: 1, id: "description", registerSidebarAnchor: !0, children: n.data.schema.title }),
|
|
421
|
-
/* @__PURE__ */ e.jsx(m, { content: n.data.schema.description ?? "" })
|
|
422
|
-
]
|
|
423
|
-
}
|
|
424
|
-
),
|
|
425
|
-
n.data.schema.tags.filter((r) => r.operations.length > 0).map((r) => /* @__PURE__ */ e.jsxs("div", { children: [
|
|
426
|
-
r.name && /* @__PURE__ */ e.jsx(f, { children: r.name }),
|
|
427
|
-
r.description && /* @__PURE__ */ e.jsx(
|
|
428
|
-
m,
|
|
429
|
-
{
|
|
430
|
-
className: `${h} mt-2 mb-12`,
|
|
431
|
-
content: r.description
|
|
432
|
-
}
|
|
433
|
-
),
|
|
434
|
-
/* @__PURE__ */ e.jsx("div", { className: "operation mb-12", children: /* @__PURE__ */ e.jsx(B, { children: r.operations.map((o) => /* @__PURE__ */ e.jsx(
|
|
435
|
-
W,
|
|
436
|
-
{
|
|
437
|
-
operationFragment: o
|
|
438
|
-
},
|
|
439
|
-
o.slug
|
|
440
|
-
)) }) })
|
|
441
|
-
] }, r.name))
|
|
442
|
-
] }) : null;
|
|
443
|
-
};
|
|
444
|
-
export {
|
|
445
|
-
ce as OperationList,
|
|
446
|
-
X as OperationsFragment
|
|
447
|
-
};
|
|
448
|
-
//# sourceMappingURL=OperationList-Ctj0ihBN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OperationList-Ctj0ihBN.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/util/objectEntries.ts","../src/lib/plugins/openapi/SchemaListViewItem.tsx","../src/lib/plugins/openapi/SchemaListViewItemGroup.tsx","../src/lib/plugins/openapi/util/prose.ts","../src/lib/plugins/openapi/SchemaListView.tsx","../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.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","type ValueOf<T> = T[keyof T];\ntype Entries<T> = [keyof T, ValueOf<T>][];\n\nexport const objectEntries = <T extends object>(obj: T): Entries<T> =>\n Object.entries(obj) as Entries<T>;\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ListPlusIcon } from \"lucide-react\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { SchemaObject } from \"../../oas/parser/index.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { SchemaListView } from \"./SchemaListView.js\";\n\nexport const SchemaListViewItem = ({\n propertyName,\n property,\n nestingLevel,\n isRequired,\n defaultOpen = false,\n}: {\n propertyName?: string;\n isRequired: boolean;\n property: SchemaObject;\n nestingLevel: number;\n defaultOpen?: boolean;\n}) => {\n if (!property) {\n return <div>no property</div>;\n }\n\n const title =\n propertyName || property.title\n ? [propertyName, property.title].filter(Boolean).join(\" \")\n : null;\n\n return (\n <div\n className={cn(\n \"p-4 bg-border/20 hover:bg-border/30 flex gap-1 flex-col text-sm\",\n property.deprecated && \"opacity-50\",\n )}\n >\n <div className=\"flex items-center gap-2 relative\">\n {title && <code>{title}</code>}\n\n {property.type && (\n <span className=\"text-muted-foreground\">{property.type}</span>\n )}\n {property.deprecated && (\n <span className=\"text-muted-foreground\">Deprecated</span>\n )}\n {!isRequired && (\n <span className=\"py-px px-1.5 font-medium border rounded-lg\">\n optional {property.required}\n </span>\n )}\n </div>\n {property.description && (\n <Markdown\n content={property.description}\n className=\"text-sm leading-normal line-clamp-4 \"\n />\n )}\n\n {property.enum && (\n <span className=\"text-sm text-muted-foreground flex gap-1 flex-wrap items-center\">\n <span>Possible values</span>\n {/* Make values unique, some schemas have duplicates */}\n {[...new Set(property.enum.filter((value) => value))]\n .map((value) => (\n <span\n key={value}\n className=\"font-mono text-xs border bg-muted rounded px-1\"\n >\n {value}\n </span>\n ))\n .slice(0, 4)}\n {property.enum.length > 4 && (\n <span className=\"font-mono text-xs border bg-muted rounded px-1\">\n ...\n </span>\n )}\n </span>\n )}\n\n {(property.type === \"object\" &&\n (property.properties?.length ??\n Object.entries(property.additionalProperties ?? {}).length > 0)) ||\n (property.type === \"array\" &&\n // this check is needed because the `items` can be undefined despite the type being defined\n typeof property.items !== \"undefined\" &&\n property.items.type === \"object\") ? (\n <Collapsible.Root className=\"CollapsibleRoot\" defaultOpen={defaultOpen}>\n <Collapsible.Trigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(defaultOpen && \"hidden\")}\n >\n Show nested fields\n <ListPlusIcon size={18} className=\"ml-1.5\" />\n </Button>\n </Collapsible.Trigger>\n\n <Collapsible.Content>\n {property.type === \"object\" && (\n <div className=\"mt-2.5\">\n <SchemaListView\n schema={property}\n level={nestingLevel + 1}\n defaultOpen\n />\n </div>\n )}\n {property.type === \"array\" && property.items.type === \"object\" && (\n <div className=\"mt-2.5\">\n <SchemaListView\n schema={property.items}\n defaultOpen\n level={nestingLevel + 1}\n />\n </div>\n )}\n </Collapsible.Content>\n </Collapsible.Root>\n ) : null}\n </div>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { useState } from \"react\";\nimport { SchemaObject } from \"../../oas/parser/index.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { SchemaListViewItem } from \"./SchemaListViewItem.js\";\n\nexport const SchemaListViewItemGroup = ({\n group,\n properties,\n nestingLevel,\n required,\n defaultOpen = false,\n}: {\n group: \"optional\" | \"required\" | \"deprecated\";\n defaultOpen?: boolean;\n properties: [string, SchemaObject][];\n nestingLevel: number;\n required: string[];\n}) => {\n const notCollapsible =\n defaultOpen ||\n group === \"required\" ||\n properties.length === 1 ||\n nestingLevel === 0;\n\n const [open, setOpen] = useState(notCollapsible);\n\n if (properties.length === 0) {\n return;\n }\n\n return (\n <Collapsible.Root\n className=\"CollapsibleRoot\"\n open={open}\n onOpenChange={setOpen}\n >\n {!open && (\n <Collapsible.Trigger\n className={cn(\n \"py-2 hover:bg-muted w-full\",\n group === \"optional\" && \"font-semibold\",\n group === \"deprecated\" && \"text-muted-foreground\",\n )}\n >\n {properties.length} {group} fields\n </Collapsible.Trigger>\n )}\n\n <Collapsible.Content className=\"divide-y divide-border\">\n {properties.map(([propertyName, property]) => (\n <SchemaListViewItem\n key={propertyName}\n property={property}\n propertyName={propertyName}\n nestingLevel={nestingLevel}\n isRequired={required.includes(propertyName)}\n />\n ))}\n </Collapsible.Content>\n </Collapsible.Root>\n );\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 { Markdown } from \"../../components/Markdown.js\";\nimport { SchemaObject } from \"../../oas/parser/index.js\";\nimport { Card } from \"../../ui/Card.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { objectEntries } from \"../../util/objectEntries.js\";\nimport { SchemaListViewItem } from \"./SchemaListViewItem.js\";\nimport { SchemaListViewItemGroup } from \"./SchemaListViewItemGroup.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\n\nexport const SchemaListView = ({\n name,\n schema,\n level = 0,\n defaultOpen = false,\n}: {\n level?: number;\n defaultOpen?: boolean;\n name?: string;\n schema: SchemaObject;\n}) => {\n const properties = Object.entries(schema.properties ?? {});\n const additionalProperties =\n typeof schema.additionalProperties === \"object\"\n ? Object.entries(schema.additionalProperties)\n : [];\n\n const combinedProperties = properties.concat(\n Array.isArray(additionalProperties) ? additionalProperties : [],\n );\n\n const groups = groupBy(combinedProperties, ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n });\n\n if (schema.type === \"array\") {\n return (\n <Card className=\"overflow-hidden\">\n <SchemaListViewItem\n propertyName={schema.title ?? name}\n isRequired={true}\n property={schema}\n defaultOpen={level === 0}\n nestingLevel={level}\n />\n </Card>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-2.5\">\n {(schema.title ?? name) && (\n <div className=\"ml-2 my-1 font-bold\">{schema.title ?? name}</div>\n )}\n {level === 0 && schema.description && (\n <Markdown className={SchemaProseClasses} content={schema.description} />\n )}\n <Card className=\"overflow-hidden\">\n {objectEntries(groups).map(([group, properties]) => (\n <SchemaListViewItemGroup\n key={group}\n defaultOpen={defaultOpen}\n group={group}\n nestingLevel={level}\n properties={properties ?? []}\n required={schema.required ?? []}\n />\n ))}\n </Card>\n </div>\n );\n};\n","import { 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 { SchemaListView } from \"./SchemaListView.js\";\nimport { Sidecar } from \"./Sidecar.js\";\nimport { FragmentType, useFragment } from \"./graphql/index.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 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 <SchemaListView 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 defaultValue={`${first?.statusCode}${first?.description}`}>\n {operation.responses.length > 1 && (\n <TabsList>\n {operation.responses.map((response) => (\n <TabsTrigger\n value={response.statusCode + response.description}\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 + response.description}\n key={response.statusCode}\n >\n {renderIf(\n response.content?.find((content) => content.schema),\n (content) => {\n return <SchemaListView schema={content.schema} />;\n },\n ) ?? (\n <Card className=\"font-mono text-sm p-4\">\n No response body\n </Card>\n )}\n </TabsContent>\n ))}\n </ul>\n </Tabs>\n </>\n )}\n </div>\n\n <Sidecar operation={operation} />\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","objectEntries","obj","SchemaListViewItem","propertyName","property","nestingLevel","isRequired","defaultOpen","title","cn","value","_a","Collapsible.Root","Collapsible.Trigger","Button","ListPlusIcon","Collapsible.Content","SchemaListView","SchemaListViewItemGroup","properties","required","notCollapsible","open","setOpen","useState","SchemaProseClasses","ProseClasses","name","schema","level","additionalProperties","combinedProperties","groups","PARAM_GROUPS","OperationListItem","operationFragment","operation","OperationsFragment","groupedParameters","param","first","_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]}
|