zudoku 0.35.2 → 0.35.4

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 (73) hide show
  1. package/dist/lib/components/InlineCode.js +2 -9
  2. package/dist/lib/components/InlineCode.js.map +1 -1
  3. package/dist/lib/components/Layout.js +2 -2
  4. package/dist/lib/components/Layout.js.map +1 -1
  5. package/dist/lib/errors/ErrorAlert.js +6 -1
  6. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  7. package/dist/lib/plugins/openapi/OperationListItem.js +3 -11
  8. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  9. package/dist/lib/plugins/openapi/ParamInfos.d.ts +6 -0
  10. package/dist/lib/plugins/openapi/ParamInfos.js +34 -0
  11. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -0
  12. package/dist/lib/plugins/openapi/ParameterListItem.js +6 -4
  13. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  14. package/dist/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
  15. package/dist/lib/plugins/openapi/components/EnumValues.js +15 -0
  16. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -0
  17. package/dist/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
  18. package/dist/lib/plugins/openapi/components/SelectOnClick.js +16 -0
  19. package/dist/lib/plugins/openapi/components/SelectOnClick.js.map +1 -0
  20. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +7 -8
  21. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  22. package/dist/lib/ui/Button.d.ts +2 -2
  23. package/dist/lib/ui/Button.js +1 -0
  24. package/dist/lib/ui/Button.js.map +1 -1
  25. package/dist/lib/ui/SyntaxHighlight.js +2 -0
  26. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  27. package/lib/{Markdown-D1Y3cd9l.js → Markdown-hBN9vkm5.js} +1045 -1026
  28. package/lib/Markdown-hBN9vkm5.js.map +1 -0
  29. package/lib/{MdxPage-CUL_SQzW.js → MdxPage-UCWwxhzC.js} +2 -2
  30. package/lib/{MdxPage-CUL_SQzW.js.map → MdxPage-UCWwxhzC.js.map} +1 -1
  31. package/lib/{OasProvider-_ye9MUAd.js → OasProvider-BbSqUQka.js} +2 -2
  32. package/lib/{OasProvider-_ye9MUAd.js.map → OasProvider-BbSqUQka.js.map} +1 -1
  33. package/lib/{OperationList-Br5x22KD.js → OperationList-CENzwqY8.js} +1992 -1935
  34. package/lib/OperationList-CENzwqY8.js.map +1 -0
  35. package/lib/SlotletProvider-D-XPr1Wg.js +338 -0
  36. package/lib/SlotletProvider-D-XPr1Wg.js.map +1 -0
  37. package/lib/{Spinner-1KrEmx1V.js → Spinner-C6n4eOvh.js} +13 -12
  38. package/lib/Spinner-C6n4eOvh.js.map +1 -0
  39. package/lib/SyntaxHighlight-BEoSoPEo.js +2890 -0
  40. package/lib/SyntaxHighlight-BEoSoPEo.js.map +1 -0
  41. package/lib/{index-C7TIhpXK.js → index-BVhQWA89.js} +5 -5
  42. package/lib/{index-C7TIhpXK.js.map → index-BVhQWA89.js.map} +1 -1
  43. package/lib/prism-jsstacktrace.min-BfobCF2F.js +2 -0
  44. package/lib/prism-jsstacktrace.min-BfobCF2F.js.map +1 -0
  45. package/lib/ui/ActionButton.js +1 -1
  46. package/lib/ui/Button.js +12 -11
  47. package/lib/ui/Button.js.map +1 -1
  48. package/lib/ui/SyntaxHighlight.js +8 -2883
  49. package/lib/ui/SyntaxHighlight.js.map +1 -1
  50. package/lib/zudoku.components.js +40 -40
  51. package/lib/zudoku.components.js.map +1 -1
  52. package/lib/zudoku.plugin-api-catalog.js +1 -1
  53. package/lib/zudoku.plugin-api-keys.js +1 -1
  54. package/lib/zudoku.plugin-custom-pages.js +1 -1
  55. package/lib/zudoku.plugin-markdown.js +1 -1
  56. package/lib/zudoku.plugin-openapi.js +1 -1
  57. package/package.json +1 -1
  58. package/src/lib/components/InlineCode.tsx +11 -16
  59. package/src/lib/components/Layout.tsx +2 -2
  60. package/src/lib/errors/ErrorAlert.tsx +24 -17
  61. package/src/lib/plugins/openapi/OperationListItem.tsx +4 -16
  62. package/src/lib/plugins/openapi/ParamInfos.tsx +64 -0
  63. package/src/lib/plugins/openapi/ParameterListItem.tsx +12 -12
  64. package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
  65. package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
  66. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +19 -28
  67. package/src/lib/ui/Button.tsx +3 -1
  68. package/src/lib/ui/SyntaxHighlight.tsx +2 -0
  69. package/lib/Markdown-D1Y3cd9l.js.map +0 -1
  70. package/lib/OperationList-Br5x22KD.js.map +0 -1
  71. package/lib/SlotletProvider-iDmNlxD5.js +0 -221
  72. package/lib/SlotletProvider-iDmNlxD5.js.map +0 -1
  73. package/lib/Spinner-1KrEmx1V.js.map +0 -1
@@ -1,12 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SelectOnClick } from "../plugins/openapi/components/SelectOnClick.js";
2
3
  import { cn } from "../util/cn.js";
3
- export const InlineCode = ({ className, children, selectOnClick, }) => (_jsx("code", { onClick: (e) => {
4
- if (!selectOnClick)
5
- return;
6
- const selection = window.getSelection();
7
- const range = document.createRange();
8
- range.selectNodeContents(e.currentTarget);
9
- selection?.removeAllRanges();
10
- selection?.addRange(range);
11
- }, className: cn("font-mono border p-1 py-0.5 rounded bg-border/50 dark:bg-border/70 [overflow-wrap:anywhere]", className), children: children }));
4
+ export const InlineCode = ({ className, children, selectOnClick, }) => (_jsx(SelectOnClick, { asChild: true, enabled: selectOnClick, children: _jsx("code", { className: cn("font-mono border p-1 py-0.5 rounded bg-border/50 dark:bg-border/70 [overflow-wrap:anywhere]", className), children: children }) }));
12
5
  //# sourceMappingURL=InlineCode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InlineCode.js","sourceRoot":"","sources":["../../../src/lib/components/InlineCode.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,aAAa,GAKd,EAAE,EAAE,CAAC,CACJ,eACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC1C,SAAS,EAAE,eAAe,EAAE,CAAC;QAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EACD,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,SAAS,CACV,YAEA,QAAQ,GACJ,CACR,CAAC"}
1
+ {"version":3,"file":"InlineCode.js","sourceRoot":"","sources":["../../../src/lib/components/InlineCode.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,aAAa,GAKd,EAAE,EAAE,CAAC,CACJ,KAAC,aAAa,IAAC,OAAO,QAAC,OAAO,EAAE,aAAa,YAC3C,eACE,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,SAAS,CACV,YAEA,QAAQ,GACJ,GACO,CACjB,CAAC"}
@@ -11,7 +11,7 @@ import { Header } from "./Header.js";
11
11
  import { Main } from "./Main.js";
12
12
  import { Slotlet } from "./SlotletProvider.js";
13
13
  import { Spinner } from "./Spinner.js";
14
- const LoadingFallback = () => (_jsx("main", { className: "col-span-full grid place-items-center", children: _jsx(Spinner, {}) }));
14
+ const LoadingFallback = () => (_jsx("main", { className: "col-span-full row-span-full grid place-items-center", children: _jsx(Spinner, {}) }));
15
15
  export const Layout = ({ children }) => {
16
16
  const location = useLocation();
17
17
  const { setActiveAnchor } = useViewportAnchor();
@@ -36,6 +36,6 @@ export const Layout = ({ children }) => {
36
36
  delay: 300,
37
37
  minDuration: 500,
38
38
  });
39
- return (_jsxs(_Fragment, { children: [import.meta.env.MODE === "standalone" && (_jsx("style", { children: `:root { --top-nav-height: 0px; }` })), _jsxs(Helmet, { titleTemplate: meta?.title, children: [meta?.description && (_jsx("meta", { name: "description", content: meta.description })), meta?.favicon && _jsx("link", { rel: "icon", href: meta.favicon })] }), _jsx(Slotlet, { name: "layout-before-head" }), _jsx(Header, {}), _jsx(Slotlet, { name: "layout-after-head" }), _jsx("div", { className: "grid lg:grid-cols-[var(--side-nav-width)_1fr] max-w-screen-2xl w-full lg:mx-auto px-4 lg:px-8 2xl:border-x", children: showSpinner ? (_jsx(LoadingFallback, {})) : (_jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(Main, { children: children ?? _jsx(Outlet, {}) }) })) })] }));
39
+ return (_jsxs(_Fragment, { children: [import.meta.env.MODE === "standalone" && (_jsx("style", { children: `:root { --top-nav-height: 0px; }` })), _jsxs(Helmet, { titleTemplate: meta?.title, children: [meta?.description && (_jsx("meta", { name: "description", content: meta.description })), meta?.favicon && _jsx("link", { rel: "icon", href: meta.favicon })] }), _jsx(Slotlet, { name: "layout-before-head" }), _jsx(Header, {}), _jsx(Slotlet, { name: "layout-after-head" }), _jsx("div", { className: "grid grid-cols-1 grid-rows-[min-content_1fr] lg:grid-cols-[var(--side-nav-width)_1fr] max-w-screen-2xl w-full lg:mx-auto px-4 lg:px-8 2xl:border-x", children: showSpinner ? (_jsx(LoadingFallback, {})) : (_jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(Main, { children: children ?? _jsx(Outlet, {}) }) })) })] }));
40
40
  };
41
41
  //# sourceMappingURL=Layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../src/lib/components/Layout.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
+ import { SyntaxHighlight } from "zudoku/ui/SyntaxHighlight.js";
3
4
  import { DeveloperHint } from "../components/DeveloperHint.js";
5
+ import { Heading } from "../components/Heading.js";
6
+ import { ProseClasses } from "../components/Markdown.js";
7
+ import { cn } from "../util/cn.js";
4
8
  import { ZudokuError } from "../util/invariant.js";
5
9
  export function ErrorAlert({ error }) {
6
10
  const message = error instanceof Error ? error.message : "Something went wrong";
@@ -8,6 +12,7 @@ export function ErrorAlert({ error }) {
8
12
  const title = error instanceof ZudokuError ? error.title : "Something went wrong";
9
13
  const stack = error instanceof Error ? error.stack : undefined;
10
14
  const cause = error instanceof Error ? error.cause : undefined;
11
- return (_jsx("div", { className: "flex h-screen max-h-[calc(100vh-var(--header-height))] min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8", children: _jsxs("div", { className: "mx-auto max-w-[85%] sm:max-w-[50%]", children: [_jsx("h1", { className: "text-4xl font-bold tracking-tight text-h1-text sm:text-5xl", children: title }), _jsx("p", { className: "mt-5 text-h1-text", children: message }), hint && _jsx(DeveloperHint, { className: "mb-4", children: hint }), cause instanceof Error ? (_jsx("pre", { className: "mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700", children: cause.stack })) : stack ? (_jsx("pre", { className: "mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700", children: stack })) : null] }) }));
15
+ const stringError = cause instanceof Error ? String(cause.stack) : stack;
16
+ return (_jsxs("div", { className: cn(ProseClasses, "grid grid-cols-1 !max-w-none pt-[--padding-content-top]"), children: [_jsx(Heading, { level: 1, children: title }), "Error: ", message, hint && _jsx(DeveloperHint, { className: "mb-4", children: hint }), stringError && (_jsx("div", { children: _jsx(SyntaxHighlight, { className: "max-h-[400px] border mt-2", language: "jsstacktrace", code: stringError }) }))] }));
12
17
  }
13
18
  //# sourceMappingURL=ErrorAlert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorAlert.js","sourceRoot":"","sources":["../../../src/lib/errors/ErrorAlert.tsx"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAsB;IACtD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAElE,MAAM,IAAI,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,KAAK,GACT,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,CACL,cAAK,SAAS,EAAC,wIAAwI,YACrJ,eAAK,SAAS,EAAC,oCAAoC,aACjD,aAAI,SAAS,EAAC,4DAA4D,YACvE,KAAK,GACH,EACL,YAAG,SAAS,EAAC,mBAAmB,YAAE,OAAO,GAAK,EAC7C,IAAI,IAAI,KAAC,aAAa,IAAC,SAAS,EAAC,MAAM,YAAE,IAAI,GAAiB,EAC9D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CACxB,cAAK,SAAS,EAAC,8IAA8I,YAC1J,KAAK,CAAC,KAAK,GACR,CACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,cAAK,SAAS,EAAC,8IAA8I,YAC1J,KAAK,GACF,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,GACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ErrorAlert.js","sourceRoot":"","sources":["../../../src/lib/errors/ErrorAlert.tsx"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAsB;IACtD,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAElE,MAAM,IAAI,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,KAAK,GACT,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,MAAM,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzE,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,yDAAyD,CAC1D,aAED,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,YAAG,KAAK,GAAW,aAC5B,OAAO,EACd,IAAI,IAAI,KAAC,aAAa,IAAC,SAAS,EAAC,MAAM,YAAE,IAAI,GAAiB,EAC9D,WAAW,IAAI,CACd,wBACE,KAAC,eAAe,IACd,SAAS,EAAC,2BAA2B,EACrC,QAAQ,EAAC,cAAc,EACvB,IAAI,EAAE,WAAW,GACjB,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
3
- import { useRef, useState } from "react";
3
+ import { useState } from "react";
4
4
  import { Badge } from "zudoku/ui/Badge.js";
5
5
  import { Heading } from "../../components/Heading.js";
6
6
  import { Markdown, ProseClasses } from "../../components/Markdown.js";
@@ -11,6 +11,7 @@ import { renderIf } from "../../util/renderIf.js";
11
11
  import { OperationsFragment } from "./OperationList.js";
12
12
  import { ParameterList } from "./ParameterList.js";
13
13
  import { Sidecar } from "./Sidecar.js";
14
+ import { SelectOnClick } from "./components/SelectOnClick.js";
14
15
  import { useFragment } from "./graphql/index.js";
15
16
  import { SchemaView } from "./schema/SchemaView.js";
16
17
  import { methodForColor } from "./util/methodToColor.js";
@@ -18,18 +19,9 @@ const PARAM_GROUPS = ["path", "query", "header", "cookie"];
18
19
  export const OperationListItem = ({ operationFragment, serverUrl, }) => {
19
20
  const operation = useFragment(OperationsFragment, operationFragment);
20
21
  const groupedParameters = groupBy(operation.parameters ?? [], (param) => param.in);
21
- const parentRef = useRef(null);
22
22
  const first = operation.responses.at(0);
23
23
  const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);
24
- return (_jsxs("div", { className: "border-b-2 mb-16 pb-16", children: [operation.deprecated && (_jsx(Badge, { variant: "muted", className: "text-xs mb-4", children: "deprecated" })), _jsxs("div", { className: cn("grid grid-cols-1 lg:grid-cols-[minmax(0,4fr)_minmax(0,3fr)] gap-x-8 gap-y-4 items-start", operation.deprecated && "opacity-50 transition hover:opacity-100"), children: [_jsx(Heading, { level: 2, id: operation.slug, registerSidebarAnchor: true, className: "break-all", children: operation.summary }), _jsxs("div", { className: "text-sm flex gap-2 font-mono col-span-full", children: [_jsx("span", { className: methodForColor(operation.method), children: operation.method.toUpperCase() }), _jsxs("div", { ref: parentRef, className: "max-w-full truncate flex cursor-pointer", onClick: () => {
25
- if (parentRef.current) {
26
- const range = document.createRange();
27
- range.selectNodeContents(parentRef.current);
28
- const selection = window.getSelection();
29
- selection?.removeAllRanges();
30
- selection?.addRange(range);
31
- }
32
- }, children: [serverUrl && (_jsx("div", { className: "text-neutral-400 dark:text-neutral-500 truncate", children: serverUrl })), _jsx("div", { className: "text-neutral-900 dark:text-neutral-200", children: operation.path })] })] }), _jsxs("div", { className: "flex flex-col gap-4", children: [operation.description && (_jsx(Markdown, { className: `${ProseClasses} max-w-full prose-img:max-w-prose`, content: operation.description })), operation.parameters && operation.parameters.length > 0 && (_jsx(_Fragment, { children: PARAM_GROUPS.flatMap((group) => groupedParameters[group]?.length ? (_jsx(ParameterList, { summary: operation.summary ?? undefined, id: operation.slug, parameters: groupedParameters[group], group: group }, group)) : ([])) })), renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (_jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [_jsxs(Heading, { level: 3, className: "capitalize", id: `${operation.slug}/request-body`, children: [operation.summary && (_jsxs(VisuallyHidden, { children: [operation.summary, " \u203A "] })), "Request Body"] }), _jsx(SchemaView, { schema: schema })] }))), operation.responses.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Heading, { level: 3, className: "capitalize mt-8 pt-8 border-t", id: `${operation.slug}/responses`, children: [operation.summary && (_jsxs(VisuallyHidden, { children: [operation.summary, " \u203A "] })), "Responses"] }), _jsxs(Tabs, { onValueChange: (value) => setSelectedResponse(value), value: selectedResponse, children: [operation.responses.length > 1 && (_jsx(TabsList, { children: operation.responses.map((response) => (_jsx(TabsTrigger, { value: response.statusCode, title: response.description ?? undefined, children: response.statusCode }, response.statusCode))) })), _jsx("ul", { className: "list-none m-0 px-0", children: operation.responses.map((response) => (_jsx(TabsContent, { value: response.statusCode, children: _jsx(SchemaView, { schema: response.content?.find((content) => content.schema)
24
+ return (_jsxs("div", { className: "border-b-2 mb-16 pb-16", children: [operation.deprecated && (_jsx(Badge, { variant: "muted", className: "text-xs mb-4", children: "deprecated" })), _jsxs("div", { className: cn("grid grid-cols-1 lg:grid-cols-[minmax(0,4fr)_minmax(0,3fr)] gap-x-8 gap-y-4 items-start", operation.deprecated && "opacity-50 transition hover:opacity-100"), children: [_jsx(Heading, { level: 2, id: operation.slug, registerSidebarAnchor: true, className: "break-all", children: operation.summary }), _jsxs("div", { className: "text-sm flex gap-2 font-mono col-span-full", children: [_jsx("span", { className: methodForColor(operation.method), children: operation.method.toUpperCase() }), _jsxs(SelectOnClick, { className: "max-w-full truncate flex cursor-pointer", children: [serverUrl && (_jsx("div", { className: "text-neutral-400 dark:text-neutral-500 truncate", children: serverUrl })), _jsx("div", { className: "text-neutral-900 dark:text-neutral-200", children: operation.path })] })] }), _jsxs("div", { className: "flex flex-col gap-4", children: [operation.description && (_jsx(Markdown, { className: `${ProseClasses} max-w-full prose-img:max-w-prose`, content: operation.description })), operation.parameters && operation.parameters.length > 0 && (_jsx(_Fragment, { children: PARAM_GROUPS.flatMap((group) => groupedParameters[group]?.length ? (_jsx(ParameterList, { summary: operation.summary ?? undefined, id: operation.slug, parameters: groupedParameters[group], group: group }, group)) : ([])) })), renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (_jsxs("div", { className: "mt-4 flex flex-col gap-4", children: [_jsxs(Heading, { level: 3, className: "capitalize", id: `${operation.slug}/request-body`, children: [operation.summary && (_jsxs(VisuallyHidden, { children: [operation.summary, " \u203A "] })), "Request Body"] }), _jsx(SchemaView, { schema: schema })] }))), operation.responses.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Heading, { level: 3, className: "capitalize mt-8 pt-8 border-t", id: `${operation.slug}/responses`, children: [operation.summary && (_jsxs(VisuallyHidden, { children: [operation.summary, " \u203A "] })), "Responses"] }), _jsxs(Tabs, { onValueChange: (value) => setSelectedResponse(value), value: selectedResponse, children: [operation.responses.length > 1 && (_jsx(TabsList, { children: operation.responses.map((response) => (_jsx(TabsTrigger, { value: response.statusCode, title: response.description ?? undefined, children: response.statusCode }, response.statusCode))) })), _jsx("ul", { className: "list-none m-0 px-0", children: operation.responses.map((response) => (_jsx(TabsContent, { value: response.statusCode, children: _jsx(SchemaView, { schema: response.content?.find((content) => content.schema)
33
25
  ?.schema }) }, response.statusCode))) })] })] }))] }), _jsx(Sidecar, { selectedResponse: selectedResponse, onSelectResponse: setSelectedResponse, operation: operation })] }, operation.operationId)] }));
34
26
  };
35
27
  //# sourceMappingURL=OperationListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OperationListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAqB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAGpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,iBAAiB,EACjB,SAAS,GAIV,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,WAAW,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,iBAAiB,GAAG,OAAO,CAC/B,SAAS,CAAC,UAAU,IAAI,EAAE,EAC1B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CACpB,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE5E,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACpC,SAAS,CAAC,UAAU,IAAI,CACvB,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,cAAc,2BAEvC,CACT,EACD,eAEE,SAAS,EAAE,EAAE,CACX,yFAAyF,EACzF,SAAS,CAAC,UAAU,IAAI,yCAAyC,CAClE,aAED,KAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,SAAS,CAAC,IAAI,EAClB,qBAAqB,QACrB,SAAS,EAAC,WAAW,YAEpB,SAAS,CAAC,OAAO,GACV,EACV,eAAK,SAAS,EAAC,4CAA4C,aACzD,eAAM,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,YAC9C,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,GAC1B,EACP,eACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAC,yCAAyC,EACnD,OAAO,EAAE,GAAG,EAAE;oCACZ,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wCACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;wCACrC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wCAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;wCACxC,SAAS,EAAE,eAAe,EAAE,CAAC;wCAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;oCAC7B,CAAC;gCACH,CAAC,aAEA,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,iDAAiD,YAC7D,SAAS,GACN,CACP,EACD,cAAK,SAAS,EAAC,wCAAwC,YACpD,SAAS,CAAC,IAAI,GACX,IACF,IACF,EAEN,eAAK,SAAS,EAAC,qBAAqB,aACjC,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,SAAS,EAAE,GAAG,YAAY,mCAAmC,EAC7D,OAAO,EAAE,SAAS,CAAC,WAAW,GAC9B,CACH,EACA,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1D,4BACG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9B,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CACjC,KAAC,aAAa,IAEZ,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,EACvC,EAAE,EAAE,SAAS,CAAC,IAAI,EAClB,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,KAAK,IAJP,KAAK,CAKV,CACH,CAAC,CAAC,CAAC,CACF,EAAE,CACH,CACF,GACA,CACJ,EACA,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACnE,eAAK,SAAS,EAAC,0BAA0B,aACvC,MAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,SAAS,EAAC,YAAY,EACtB,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,eAAe,aAEnC,SAAS,CAAC,OAAO,IAAI,CACpB,MAAC,cAAc,eAAE,SAAS,CAAC,OAAO,gBAA4B,CAC/D,oBAEO,EACV,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,IAC1B,CACP,CAAC,EACD,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACjC,8BACE,MAAC,OAAO,IACN,KAAK,EAAE,CAAC,EACR,SAAS,EAAC,+BAA+B,EACzC,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,YAAY,aAEhC,SAAS,CAAC,OAAO,IAAI,CACpB,MAAC,cAAc,eAAE,SAAS,CAAC,OAAO,gBAA4B,CAC/D,iBAEO,EACV,MAAC,IAAI,IACH,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EACpD,KAAK,EAAE,gBAAgB,aAEtB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACjC,KAAC,QAAQ,cACN,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACrC,KAAC,WAAW,IACV,KAAK,EAAE,QAAQ,CAAC,UAAU,EAE1B,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS,YAEvC,QAAQ,CAAC,UAAU,IAHf,QAAQ,CAAC,UAAU,CAIZ,CACf,CAAC,GACO,CACZ,EACD,aAAI,SAAS,EAAC,oBAAoB,YAC/B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACrC,KAAC,WAAW,IACV,KAAK,EAAE,QAAQ,CAAC,UAAU,YAG1B,KAAC,UAAU,IACT,MAAM,EACJ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;4DACjD,EAAE,MAAM,GAEZ,IAPG,QAAQ,CAAC,UAAU,CAQZ,CACf,CAAC,GACC,IACA,IACN,CACJ,IACG,EAEN,KAAC,OAAO,IACN,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,mBAAmB,EACrC,SAAS,EAAE,SAAS,GACpB,KAtIG,SAAS,CAAC,WAAW,CAuItB,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"OperationListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationListItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type SchemaObject } from "../../oas/parser/index.js";
2
+ export declare const ParamInfos: ({ schema, extraItems, className, }: {
3
+ schema?: SchemaObject;
4
+ extraItems?: unknown[];
5
+ className?: string;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { isValidElement } from "react";
3
+ import { InlineCode } from "../../components/InlineCode.js";
4
+ const getSchemaInfos = (schema) => {
5
+ if (!schema)
6
+ return [];
7
+ return [
8
+ schema.type === "array" && schema.items.type
9
+ ? `${schema.items.type}[]`
10
+ : Array.isArray(schema.type)
11
+ ? schema.type.join(" | ")
12
+ : schema.type,
13
+ schema.enum && "enum",
14
+ schema.format,
15
+ schema.minimum && `min: ${schema.minimum}`,
16
+ schema.maximum && `max: ${schema.maximum}`,
17
+ schema.minLength && `minLength: ${schema.minLength}`,
18
+ schema.maxLength && `maxLength: ${schema.maxLength}`,
19
+ schema.minItems && `minItems: ${schema.minItems}`,
20
+ schema.maxItems && `maxItems: ${schema.maxItems}`,
21
+ schema.uniqueItems && "unique",
22
+ schema.minProperties && `minProps: ${schema.minProperties}`,
23
+ schema.maxProperties && `maxProps: ${schema.maxProperties}`,
24
+ schema.readOnly && "readOnly",
25
+ schema.writeOnly && "writeOnly",
26
+ schema.deprecated && "deprecated",
27
+ schema.pattern && (_jsxs(_Fragment, { children: ["pattern: ", _jsx(InlineCode, { className: "text-xs", children: schema.pattern })] })),
28
+ ];
29
+ };
30
+ export const ParamInfos = ({ schema, extraItems = [], className, }) => {
31
+ const filteredItems = [...extraItems, ...getSchemaInfos(schema)].flatMap((item) => (typeof item === "string" || isValidElement(item) ? item : []));
32
+ return (_jsx("div", { className: className, children: filteredItems.map((item, index) => (_jsxs("span", { className: "text-muted-foreground", children: [item, index < filteredItems.length - 1 && (_jsx("span", { className: "text-muted-foreground/50", children: "\u00A0\u00B7\u00A0" }))] }, index))) }));
33
+ };
34
+ //# sourceMappingURL=ParamInfos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParamInfos.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParamInfos.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO;QACL,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI;YAC1C,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI;YAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,MAAM,CAAC,IAAI;QAEjB,MAAM,CAAC,IAAI,IAAI,MAAM;QACrB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,OAAO,EAAE;QAC1C,MAAM,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,OAAO,EAAE;QAC1C,MAAM,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,SAAS,EAAE;QACpD,MAAM,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,SAAS,EAAE;QACpD,MAAM,CAAC,QAAQ,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;QACjD,MAAM,CAAC,QAAQ,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;QACjD,MAAM,CAAC,WAAW,IAAI,QAAQ;QAC9B,MAAM,CAAC,aAAa,IAAI,aAAa,MAAM,CAAC,aAAa,EAAE;QAC3D,MAAM,CAAC,aAAa,IAAI,aAAa,MAAM,CAAC,aAAa,EAAE;QAC3D,MAAM,CAAC,QAAQ,IAAI,UAAU;QAC7B,MAAM,CAAC,SAAS,IAAI,WAAW;QAC/B,MAAM,CAAC,UAAU,IAAI,YAAY;QACjC,MAAM,CAAC,OAAO,IAAI,CAChB,2CACW,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,YAAE,MAAM,CAAC,OAAO,GAAc,IACrE,CACJ;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,MAAM,EACN,UAAU,GAAG,EAAE,EACf,SAAS,GAKV,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACtE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACzE,CAAC;IAEF,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACtB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,gBAAM,SAAS,EAAC,uBAAuB,aACpC,IAAI,EACJ,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,eAAM,SAAS,EAAC,0BAA0B,mCAEnC,CACR,KAN0C,KAAK,CAO3C,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Badge } from "zudoku/ui/Badge.js";
3
2
  import { Markdown } from "../../components/Markdown.js";
4
3
  import { ColorizedParam } from "./ColorizedParam.js";
4
+ import { ParamInfos } from "./ParamInfos.js";
5
+ import { EnumValues } from "./components/EnumValues.js";
5
6
  const getParameterSchema = (parameter) => {
6
7
  if (parameter.schema != null && typeof parameter.schema === "object") {
7
8
  return parameter.schema;
@@ -12,8 +13,9 @@ const getParameterSchema = (parameter) => {
12
13
  };
13
14
  export const ParameterListItem = ({ parameter, group, id, }) => {
14
15
  const paramSchema = getParameterSchema(parameter);
15
- return (_jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { children: group === "path" ? (_jsx(ColorizedParam, { name: parameter.name, backgroundOpacity: "15%", className: "px-1", slug: `${id}-${parameter.name}` })) : (parameter.name) }), paramSchema.type && (_jsx(Badge, { variant: "muted", children: paramSchema.type === "array"
16
- ? `${paramSchema.items.type}[]`
17
- : paramSchema.type })), parameter.required && _jsx(Badge, { variant: "outline", children: "required" }), parameter.style === "form" && _jsx(Badge, { variant: "secondary", children: "form" })] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "text-sm prose-p:my-1 prose-code:whitespace-pre-line" }))] }));
16
+ return (_jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { children: group === "path" ? (_jsx(ColorizedParam, { name: parameter.name, backgroundOpacity: "15%", className: "px-2", slug: `${id}-${parameter.name}` })) : (parameter.name) }), _jsx(ParamInfos, { schema: paramSchema, extraItems: [
17
+ parameter.required && "required",
18
+ parameter.style === "form" && "form",
19
+ ] })] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "text-sm prose-p:my-1 prose-code:whitespace-pre-line" })), paramSchema.enum && _jsx(EnumValues, { values: paramSchema.enum })] }));
18
20
  };
19
21
  //# sourceMappingURL=ParameterListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,kBAAkB,GAAG,CACzB,SAAkC,EACpB,EAAE;IAChB,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,SAAS,EACT,KAAK,EACL,EAAE,GAKH,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,CACL,cAAI,SAAS,EAAC,8CAA8C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aACtC,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,EACN,WAAW,CAAC,IAAI,IAAI,CACnB,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,YACnB,WAAW,CAAC,IAAI,KAAK,OAAO;4BAC3B,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI;4BAC/B,CAAC,CAAC,WAAW,CAAC,IAAI,GACd,CACT,EACA,SAAS,CAAC,QAAQ,IAAI,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,yBAAiB,EAC/D,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,KAAC,KAAK,IAAC,OAAO,EAAC,WAAW,qBAAa,IAClE,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,OAAO,EAAE,SAAS,CAAC,WAAW,EAC9B,SAAS,EAAC,qDAAqD,GAC/D,CACH,IACE,CACN,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ParameterListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,kBAAkB,GAAG,CACzB,SAAkC,EACpB,EAAE;IAChB,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,SAAS,EACT,KAAK,EACL,EAAE,GAKH,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,CACL,cAAI,SAAS,EAAC,gDAAgD,aAC5D,eAAK,SAAS,EAAC,yBAAyB,aACtC,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,EACP,KAAC,UAAU,IACT,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE;4BACV,SAAS,CAAC,QAAQ,IAAI,UAAU;4BAChC,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM;yBACrC,GACD,IACE,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,OAAO,EAAE,SAAS,CAAC,WAAW,EAC9B,SAAS,EAAC,qDAAqD,GAC/D,CACH,EACA,WAAW,CAAC,IAAI,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,IAAI,GAAI,IAC1D,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const EnumValues: ({ values, className, maxVisibleValues, }: {
2
+ values: Array<string | number>;
3
+ className?: string;
4
+ maxVisibleValues?: number;
5
+ }) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
3
+ import { useState } from "react";
4
+ import { Button } from "zudoku/ui/Button.js";
5
+ import { cn } from "../../../util/cn.js";
6
+ import { SelectOnClick } from "./SelectOnClick.js";
7
+ export const EnumValues = ({ values, className, maxVisibleValues = 8, }) => {
8
+ const [isOpen, setIsOpen] = useState(false);
9
+ if (!values.length)
10
+ return null;
11
+ const shouldCollapse = values.length > maxVisibleValues;
12
+ const visibleValues = shouldCollapse && !isOpen ? values.slice(0, maxVisibleValues) : values;
13
+ return (_jsxs("div", { className: cn("flex flex-wrap gap-1.5 text-xs", className), children: [_jsx("span", { className: "text-muted-foreground", children: "Enum values: " }), visibleValues.map((value) => (_jsx("div", { children: _jsx(SelectOnClick, { className: "border rounded px-1 font-mono cursor-pointer", children: value }) }, value))), shouldCollapse && (_jsx(Button, { variant: "ghost", size: "sm", className: "h-fit px-0", onClick: () => setIsOpen(!isOpen), children: isOpen ? (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(ChevronUpIcon, { size: 12 }), _jsx("span", { className: "text-muted-foreground", children: "show less" })] })) : (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(ChevronDownIcon, { size: 12 }), _jsxs("span", { className: "text-muted-foreground", children: ["show ", values.length - maxVisibleValues, " more"] })] })) }))] }));
14
+ };
15
+ //# sourceMappingURL=EnumValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumValues.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/components/EnumValues.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,MAAM,EACN,SAAS,EACT,gBAAgB,GAAG,CAAC,GAKrB,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC;IACxD,MAAM,aAAa,GACjB,cAAc,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,EAAE,SAAS,CAAC,aAC7D,eAAM,SAAS,EAAC,uBAAuB,8BAAqB,EAC3D,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,wBACE,KAAC,aAAa,IAAC,SAAS,EAAC,8CAA8C,YACpE,KAAK,GACQ,IAHR,KAAK,CAIT,CACP,CAAC,EACD,cAAc,IAAI,CACjB,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,YAAY,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAEhC,MAAM,CAAC,CAAC,CAAC,CACR,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,aAAa,IAAC,IAAI,EAAE,EAAE,GAAI,EAC3B,eAAM,SAAS,EAAC,uBAAuB,0BAAiB,IACpD,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,GAAI,EAC7B,gBAAM,SAAS,EAAC,uBAAuB,sBAC/B,MAAM,CAAC,MAAM,GAAG,gBAAgB,aACjC,IACH,CACP,GACM,CACV,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type SlotProps } from "@radix-ui/react-slot";
2
+ export declare const SelectOnClick: ({ asChild, onClick, enabled, ...props }: {
3
+ asChild?: boolean;
4
+ enabled?: boolean;
5
+ } & SlotProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ export const SelectOnClick = ({ asChild, onClick, enabled = true, ...props }) => {
4
+ const Component = asChild ? Slot : "span";
5
+ return (_jsx(Component, { onClick: (e) => {
6
+ if (enabled) {
7
+ const range = document.createRange();
8
+ range.selectNodeContents(e.currentTarget);
9
+ const selection = window.getSelection();
10
+ selection?.removeAllRanges();
11
+ selection?.addRange(range);
12
+ }
13
+ onClick?.(e);
14
+ }, ...props }));
15
+ };
16
+ //# sourceMappingURL=SelectOnClick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOnClick.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/components/SelectOnClick.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,GAAG,IAAI,EACd,GAAG,KAAK,EAIG,EAAE,EAAE;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAE1C,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACrC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxC,SAAS,EAAE,eAAe,EAAE,CAAC;gBAC7B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as Collapsible from "@radix-ui/react-collapsible";
3
- import { ListPlusIcon, RefreshCcwDotIcon } from "lucide-react";
3
+ import { MinusIcon, PlusIcon, RefreshCcwDotIcon } from "lucide-react";
4
4
  import { useCallback, useState } from "react";
5
- import { Badge } from "zudoku/ui/Badge.js";
6
5
  import { Markdown, ProseClasses } from "../../../components/Markdown.js";
7
6
  import { Button } from "../../../ui/Button.js";
8
7
  import { cn } from "../../../util/cn.js";
9
8
  import { objectEntries } from "../../../util/objectEntries.js";
9
+ import { EnumValues } from "../components/EnumValues.js";
10
+ import { ParamInfos } from "../ParamInfos.js";
10
11
  import { LogicalGroup } from "./LogicalGroup/LogicalGroup.js";
11
12
  import { SchemaView } from "./SchemaView.js";
12
13
  import { hasLogicalGroupings, isCircularRef, isComplexType, LogicalSchemaTypeMap, } from "./utils.js";
@@ -19,17 +20,15 @@ export const SchemaLogicalGroup = ({ schema, level, }) => {
19
20
  return (_jsx(LogicalGroup, { schemas: schema[key], type: type, isOpen: isOpen, toggleOpen: toggleOpen, level: level }));
20
21
  }
21
22
  };
22
- const RecursiveIndicator = () => (_jsxs("div", { className: "flex items-center gap-2 italic text-sm text-muted-foreground font-mono bg-muted px-2 py-0.5 rounded-md", children: [_jsx(RefreshCcwDotIcon, { size: 16 }), _jsx("span", { children: "circular" })] }));
23
+ const RecursiveIndicator = () => (_jsxs("div", { className: "flex items-center gap-1.5 italic text-xs text-muted-foreground font-mono bg-muted px-2 py-0.5 rounded-md", children: [_jsx(RefreshCcwDotIcon, { size: 13 }), _jsx("span", { children: "circular" })] }));
23
24
  export const SchemaPropertyItem = ({ name, schema, group, level, defaultOpen = false, showCollapseButton = true, }) => {
24
25
  const [isOpen, setIsOpen] = useState(defaultOpen);
25
26
  if (isCircularRef(schema)) {
26
- return (_jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: _jsx("div", { className: "flex flex-col gap-1 justify-between text-sm", children: _jsxs("div", { className: "flex gap-2 items-center", children: [_jsx("code", { children: name }), _jsx(Badge, { variant: "muted", children: "object" }), group === "optional" && _jsx(Badge, { variant: "outline", children: "optional" }), _jsx(RecursiveIndicator, {})] }) }) }));
27
+ return (_jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: _jsx("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: _jsxs("div", { className: "flex gap-2 items-center", children: [_jsx("code", { children: name }), _jsx(ParamInfos, { schema: schema, extraItems: [group === "optional" && "optional"] }), _jsx(RecursiveIndicator, {})] }) }) }));
27
28
  }
28
- return (_jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: _jsxs("div", { className: "flex flex-col gap-1 justify-between text-sm", children: [_jsxs("div", { className: "flex gap-2 items-center", children: [_jsx("code", { children: name }), _jsx(Badge, { variant: "muted", children: schema.type === "array" && schema.items.type ? (_jsxs("span", { children: [schema.items.type, "[]"] })) : Array.isArray(schema.type) ? (_jsx("span", { children: schema.type.join(" | ") })) : (_jsx("span", { children: schema.type })) }), group === "optional" && _jsx(Badge, { variant: "outline", children: "optional" }), schema.type === "array" &&
29
+ return (_jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: _jsxs("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: [_jsxs("div", { className: "flex gap-2 items-center", children: [_jsx("code", { children: name }), _jsx(ParamInfos, { schema: schema, extraItems: [group === "optional" && "optional"] }), schema.type === "array" &&
29
30
  "items" in schema &&
30
- isCircularRef(schema.items) && _jsx(RecursiveIndicator, {})] }), schema.description && (_jsx(Markdown, { className: cn(ProseClasses, "text-sm leading-normal line-clamp-4"), content: schema.description })), (hasLogicalGroupings(schema) || isComplexType(schema)) && (_jsxs(Collapsible.Root, { defaultOpen: defaultOpen, open: isOpen, onOpenChange: () => setIsOpen(!isOpen), children: [showCollapseButton && (_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", className: "mt-2 flex gap-1.5", children: [_jsx(ListPlusIcon, { size: 18 }), !isOpen
31
- ? "Show nested properties"
32
- : "Hide nested properties"] }) })), _jsx(Collapsible.Content, { children: _jsx("div", { className: "mt-2", children: hasLogicalGroupings(schema) ? (_jsx(SchemaLogicalGroup, { schema: schema, level: level + 1 })) : schema.type === "object" ? (_jsx(SchemaView, { schema: schema, level: level + 1 })) : (schema.type === "array" &&
31
+ isCircularRef(schema.items) && _jsx(RecursiveIndicator, {})] }), schema.description && (_jsx(Markdown, { className: cn(ProseClasses, "text-sm leading-normal line-clamp-4"), content: schema.description })), schema.enum && _jsx(EnumValues, { values: schema.enum }), (hasLogicalGroupings(schema) || isComplexType(schema)) && (_jsxs(Collapsible.Root, { defaultOpen: defaultOpen, open: isOpen, onOpenChange: () => setIsOpen(!isOpen), children: [showCollapseButton && (_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "expand", size: "sm", className: "h-7", children: [isOpen ? _jsx(MinusIcon, { size: 12 }) : _jsx(PlusIcon, { size: 12 }), !isOpen ? "Show properties" : "Hide properties"] }) })), _jsx(Collapsible.Content, { children: _jsx("div", { className: "mt-2", children: hasLogicalGroupings(schema) ? (_jsx(SchemaLogicalGroup, { schema: schema, level: level + 1 })) : schema.type === "object" ? (_jsx(SchemaView, { schema: schema, level: level + 1 })) : (schema.type === "array" &&
33
32
  "items" in schema &&
34
33
  typeof schema.items === "object" &&
35
34
  !isCircularRef(schema.items) && (_jsx(SchemaView, { schema: schema.items, level: level + 1 }))) }) })] }))] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaPropertyItem.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,MAAM,EACN,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,SAAS;QAE3B,OAAO,CACL,KAAC,YAAY,IACX,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAC/B,eAAK,SAAS,EAAC,wGAAwG,aACrH,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,EAC/B,sCAAqB,IACjB,CACP,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,WAAW,GAAG,KAAK,EACnB,kBAAkB,GAAG,IAAI,GAQ1B,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,CACL,aAAI,SAAS,EAAC,qCAAqC,YACjD,cAAK,SAAS,EAAC,6CAA6C,YAC1D,eAAK,SAAS,EAAC,yBAAyB,aACtC,yBAAO,IAAI,GAAQ,EACnB,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,uBAAe,EACpC,KAAK,KAAK,UAAU,IAAI,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,yBAAiB,EAClE,KAAC,kBAAkB,KAAG,IAClB,GACF,GACH,CACN,CAAC;IACJ,CAAC;IAED,OAAO,CACL,aAAI,SAAS,EAAC,qCAAqC,YACjD,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aACtC,yBAAO,IAAI,GAAQ,EACnB,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,YACnB,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9C,2BAAO,MAAM,CAAC,KAAK,CAAC,IAAI,UAAU,CACnC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/B,yBAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAQ,CACvC,CAAC,CAAC,CAAC,CACF,yBAAO,MAAM,CAAC,IAAI,GAAQ,CAC3B,GACK,EACP,KAAK,KAAK,UAAU,IAAI,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,yBAAiB,EACjE,MAAM,CAAC,IAAI,KAAK,OAAO;4BACtB,OAAO,IAAI,MAAM;4BACjB,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAC,kBAAkB,KAAG,IACnD,EAEL,MAAM,CAAC,WAAW,IAAI,CACrB,KAAC,QAAQ,IACP,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,qCAAqC,CAAC,EAClE,OAAO,EAAE,MAAM,CAAC,WAAW,GAC3B,CACH,EAEA,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CACzD,MAAC,WAAW,CAAC,IAAI,IACf,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAErC,kBAAkB,IAAI,CACrB,KAAC,WAAW,CAAC,OAAO,IAAC,OAAO,kBAC1B,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,mBAAmB,aAE7B,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,GAAI,EACzB,CAAC,MAAM;wCACN,CAAC,CAAC,wBAAwB;wCAC1B,CAAC,CAAC,wBAAwB,IACrB,GACW,CACvB,EACD,KAAC,WAAW,CAAC,OAAO,cAClB,cAAK,SAAS,EAAC,MAAM,YAClB,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC7B,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAI,CACzD,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC7B,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,IAAI,KAAK,OAAO;oCACvB,OAAO,IAAI,MAAM;oCACjB,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;oCAChC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9B,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAI,CACvD,CACF,GACG,GACc,IACL,CACpB,IACG,GACH,CACN,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SchemaPropertyItem.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { VariantProps } from "class-variance-authority";
1
+ import { type VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
3
  export declare const buttonVariants: (props?: ({
4
- variant?: "link" | "default" | "ghost" | "outline" | "secondary" | "destructive" | null | undefined;
4
+ variant?: "link" | "default" | "expand" | "ghost" | "outline" | "secondary" | "destructive" | null | undefined;
5
5
  size?: "default" | "icon" | "sm" | "lg" | "xl" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -12,6 +12,7 @@ export const buttonVariants = cva("not-prose inline-flex items-center justify-ce
12
12
  secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
13
13
  ghost: "hover:bg-accent hover:text-accent-foreground",
14
14
  link: "text-primary underline-offset-4 hover:underline",
15
+ expand: "flex gap-1.5 border bg-transparent rounded-xl text-muted-foreground hover:text-foreground",
15
16
  },
16
17
  size: {
17
18
  default: "h-9 px-4 py-2",
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/lib/ui/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,+OAA+O,EAC/O;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,+DAA+D;YACjE,WAAW,EACT,8EAA8E;YAChF,OAAO,EACL,0FAA0F;YAC5F,SAAS,EACP,wEAAwE;YAC1E,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,EAAE,EAAE,6BAA6B;YACjC,EAAE,EAAE,sBAAsB;YAC1B,EAAE,EAAE,+BAA+B;YACnC,IAAI,EAAE,SAAS;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAQF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/lib/ui/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,+OAA+O,EAC/O;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,+DAA+D;YACjE,WAAW,EACT,8EAA8E;YAChF,OAAO,EACL,0FAA0F;YAC5F,SAAS,EACP,wEAAwE;YAC1E,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,iDAAiD;YACvD,MAAM,EACJ,2FAA2F;SAC9F;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,EAAE,EAAE,6BAA6B;YACjC,EAAE,EAAE,sBAAsB;YAC1B,EAAE,EAAE,+BAA+B;YACnC,IAAI,EAAE,SAAS;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAQF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -22,6 +22,8 @@ void import("prismjs/components/prism-markdown.min.js");
22
22
  void import("prismjs/components/prism-javascript.min.js");
23
23
  // @ts-expect-error This is untyped
24
24
  void import("prismjs/components/prism-typescript.min.js");
25
+ // @ts-expect-error This is untyped
26
+ void import("prismjs/components/prism-jsstacktrace.min.js");
25
27
  import { useTheme } from "next-themes";
26
28
  import { memo, useState } from "react";
27
29
  import { ClientOnly } from "../components/ClientOnly.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxHighlight.js","sourceRoot":"","sources":["../../../src/lib/ui/SyntaxHighlight.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyntaxHighlight.js","sourceRoot":"","sources":["../../../src/lib/ui/SyntaxHighlight.tsx"],"names":[],"mappings":"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"}