zudoku 0.1.1-dev.29 → 0.1.1-dev.30

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 (51) hide show
  1. package/dist/lib/components/Dialog.js +1 -1
  2. package/dist/lib/components/Dialog.js.map +1 -1
  3. package/dist/lib/components/SyntaxHighlight.d.ts +1 -1
  4. package/dist/lib/components/SyntaxHighlight.js +3 -0
  5. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  6. package/dist/lib/plugins/openapi/ColorizedParam.d.ts +1 -2
  7. package/dist/lib/plugins/openapi/ColorizedParam.js +1 -1
  8. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  9. package/dist/lib/plugins/openapi/MakeRequest.js +1 -1
  10. package/dist/lib/plugins/openapi/MakeRequest.js.map +1 -1
  11. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  12. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  13. package/dist/lib/plugins/openapi/playground/Editor.d.ts +1 -0
  14. package/dist/lib/plugins/openapi/playground/Editor.js +5 -0
  15. package/dist/lib/plugins/openapi/playground/Editor.js.map +1 -0
  16. package/dist/lib/plugins/openapi/playground/Headers.d.ts +7 -0
  17. package/dist/lib/plugins/openapi/playground/Headers.js +26 -0
  18. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -0
  19. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +3 -0
  20. package/dist/lib/plugins/openapi/playground/InlineInput.js +3 -0
  21. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +1 -0
  22. package/dist/lib/plugins/openapi/playground/Playground.d.ts +18 -1
  23. package/dist/lib/plugins/openapi/playground/Playground.js +60 -71
  24. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  25. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +7 -0
  26. package/dist/lib/plugins/openapi/playground/QueryParams.js +30 -0
  27. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -0
  28. package/dist/lib/plugins/openapi/playground/UrlParts.d.ts +6 -0
  29. package/dist/lib/plugins/openapi/playground/UrlParts.js +21 -0
  30. package/dist/lib/plugins/openapi/playground/UrlParts.js.map +1 -0
  31. package/dist/lib/util/createVariantComponent.d.ts +3 -10
  32. package/dist/lib/util/createVariantComponent.js +3 -2
  33. package/dist/lib/util/createVariantComponent.js.map +1 -1
  34. package/lib/{DevPortal-ChiyAyW7.js → DevPortal-COMmOqxP.js} +4082 -4379
  35. package/lib/assets/{worker-CnXQsqxH.js → worker-W78u54MC.js} +2840 -2878
  36. package/lib/zudoku.components.js +1 -1
  37. package/lib/zudoku.openapi-worker.js +5 -5
  38. package/lib/zudoku.plugins.js +8197 -6903
  39. package/package.json +10 -1
  40. package/src/lib/components/Dialog.tsx +32 -32
  41. package/src/lib/components/SyntaxHighlight.tsx +4 -0
  42. package/src/lib/plugins/openapi/ColorizedParam.tsx +0 -2
  43. package/src/lib/plugins/openapi/MakeRequest.tsx +1 -1
  44. package/src/lib/plugins/openapi/ParameterListItem.tsx +4 -1
  45. package/src/lib/plugins/openapi/playground/Editor.tsx +6 -0
  46. package/src/lib/plugins/openapi/playground/Headers.tsx +66 -0
  47. package/src/lib/plugins/openapi/playground/InlineInput.tsx +6 -0
  48. package/src/lib/plugins/openapi/playground/Playground.tsx +191 -226
  49. package/src/lib/plugins/openapi/playground/QueryParams.tsx +79 -0
  50. package/src/lib/plugins/openapi/playground/UrlParts.tsx +67 -0
  51. package/src/lib/util/createVariantComponent.tsx +7 -5
@@ -9,7 +9,7 @@ const DialogPortal = DialogPrimitive.Portal;
9
9
  const DialogClose = DialogPrimitive.Close;
10
10
  const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props })));
11
11
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
12
- const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsx(XIcon, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
12
+ const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg border-border", className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsx(XIcon, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
13
13
  DialogContent.displayName = DialogPrimitive.Content.displayName;
14
14
  const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props }));
15
15
  DialogHeader.displayName = "DialogHeader";
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/lib/components/Dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAA;AAEnC,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAA;AAE7C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAA;AAE3C,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAA;AAEzC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,yJAAyJ,EACzJ,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAA;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAA;AAE/D,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,MAAC,YAAY,eACX,KAAC,aAAa,KAAG,EACjB,MAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,6fAA6f,EAC7f,SAAS,CACV,KACG,KAAK,aAER,QAAQ,EACT,MAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAC,+QAA+Q,aAC9S,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,EAC7B,eAAM,SAAS,EAAC,SAAS,sBAAa,IAChB,IACA,IACb,CAChB,CAAC,CAAA;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAA;AAE/D,MAAM,YAAY,GAAG,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EAC6B,EAAE,EAAE,CAAC,CAChE,cACE,SAAS,EAAE,EAAE,CACX,oDAAoD,EACpD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACD,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAEzC,MAAM,YAAY,GAAG,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EAC6B,EAAE,EAAE,CAAC,CAChE,cACE,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACD,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAEzC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,KAAK,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAA;AACF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAA;AAE3D,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAGxC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,WAAW,IAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAA;AACF,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,WAAW,CAAA;AAEvE,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAA"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/lib/components/Dialog.tsx"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ type SyntaxHighlightProps = {
5
5
  wrapLines?: boolean;
6
6
  copyable?: boolean;
7
7
  } & Omit<HighlightProps, "children">;
8
- export declare const SyntaxHighlight: ({ copyable, ...props }: SyntaxHighlightProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const SyntaxHighlight: ({ copyable, ...props }: SyntaxHighlightProps) => import("react/jsx-runtime").JSX.Element | null;
9
9
  export {};
@@ -22,6 +22,9 @@ import { useTheme } from "./context/ThemeContext.js";
22
22
  export const SyntaxHighlight = ({ copyable = true, ...props }) => {
23
23
  const [isDark] = useTheme();
24
24
  const [isCopied, setIsCopied] = useState(false);
25
+ if (!props.code) {
26
+ return null;
27
+ }
25
28
  return (_jsx(Highlight, { theme: isDark ? themes.vsDark : themes.github, ...props, children: ({ className, style, tokens, getLineProps, getTokenProps }) => (_jsxs("pre", { className: cn("group relative", className, props.className, props.noBackground && "!bg-transparent", props.wrapLines && "whitespace-pre-wrap break-words"), style: style, children: [copyable && (_jsx("button", { type: "button", "aria-label": "Copy code", className: "absolute top-1.5 right-3 p-3 opacity-0 group-hover:opacity-100 transition hover:bg-zinc-500/10 hover:dark:bg-zinc-700/25 rounded-lg text-sm text-gray-400 hover:text-gray-600 dark:text-gray-500 dark:hover:text-gray-400", disabled: isCopied, onClick: () => {
26
29
  setIsCopied(true);
27
30
  navigator.clipboard.writeText(tokens
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxHighlight.js","sourceRoot":"","sources":["../../../src/lib/components/SyntaxHighlight.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,MAAM,GAEP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACzB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IACzB,mCAAmC;IACnC,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAC/C,mCAAmC;IACnC,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAC/C,mCAAmC;IACnC,MAAM,CAAC,+CAA+C,CAAC,CAAC;IACxD,mCAAmC;IACnC,MAAM,CAAC,qCAAqC,CAAC,CAAC;IAC9C,mCAAmC;IACnC,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAC/C,mCAAmC;IACnC,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACjD,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AASrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,GAAG,IAAI,EACf,GAAG,KAAK,EACa,EAAE,EAAE;IACzB,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,CACL,KAAC,SAAS,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAM,KAAK,YAChE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAC9D,eACE,SAAS,EAAE,EAAE,CACX,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,IAAI,iBAAiB,EACvC,KAAK,CAAC,SAAS,IAAI,iCAAiC,CACrD,EACD,KAAK,EAAE,KAAK,aAEX,QAAQ,IAAI,CACX,iBACE,IAAI,EAAC,QAAQ,gBACF,WAAW,EACtB,SAAS,EAAC,2NAA2N,EACrO,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;wBACZ,WAAW,CAAC,IAAI,CAAC,CAAC;wBAClB,SAAS,CAAC,SAAS,CAAC,SAAS,CAC3B,MAAM;6BACH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;6BAC1D,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;wBACF,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC7C,CAAC,YAEA,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,SAAS,IAAC,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAE,EAAE,GAAI,CACrD,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,CACvB,GACM,CACV,EACD,eAAM,SAAS,EAAC,uGAAuG,YACpH,KAAK,CAAC,QAAQ,GACV,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,iBAAiB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,YACpC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACxB,kBAAoB,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,IAAjC,GAAG,CAAkC,CACjD,CAAC,IAHM,CAAC,CAIL,CACP,CAAC,IACE,CACP,GACS,CACb,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SyntaxHighlight.js","sourceRoot":"","sources":["../../../src/lib/components/SyntaxHighlight.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { type ReactNode } from "react";
2
2
  export declare const DATA_ATTR = "data-linked-param";
3
3
  export declare const usePastellizedColor: (name: string) => string;
4
- export declare const ColorizedParam: ({ name, value, className, backgroundOpacity, slug, children, onClick, }: {
4
+ export declare const ColorizedParam: ({ name, className, backgroundOpacity, slug, children, onClick, }: {
5
5
  name: string;
6
- value?: string;
7
6
  className?: string;
8
7
  backgroundOpacity?: string;
9
8
  slug?: string;
@@ -8,7 +8,7 @@ export const usePastellizedColor = (name) => {
8
8
  const [isDark] = useTheme();
9
9
  return pastellize(name, !isDark ? { saturation: 100, lightness: 70 } : undefined);
10
10
  };
11
- export const ColorizedParam = ({ name, value, className, backgroundOpacity = "100%", slug, children, onClick, }) => {
11
+ export const ColorizedParam = ({ name, className, backgroundOpacity = "100%", slug, children, onClick, }) => {
12
12
  const ref = useRef(null);
13
13
  const normalized = name.replace("{", "").replace("}", "");
14
14
  const color = usePastellizedColor(normalized);
@@ -1 +1 @@
1
- {"version":3,"file":"ColorizedParam.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ColorizedParam.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorizedParam.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ColorizedParam.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export const MakeRequest = ({ operation, }) => {
14
14
  const identities = useApiIdentities();
15
15
  const variables = useOasConfig();
16
16
  const [server] = useQuery({ query: getServerQuery, variables });
17
- return (_jsxs("div", { children: [_jsx(Playground, { host: server.data?.schema.url, method: operation.method, url: operation.path, defaultHeaders: [] }), identities.data.map((identity) => (_jsxs("button", { onClick: () => {
17
+ return (_jsxs("div", { children: [_jsx(Playground, { host: server.data?.schema.url, method: operation.method, url: operation.path }), identities.data.map((identity) => (_jsxs("button", { onClick: () => {
18
18
  const test = new Request("https://zudoku-customer-main-b36fa2f.d2.zuplo.dev" +
19
19
  operation.path);
20
20
  void fetch(identity.authorizeRequest(test));
@@ -1 +1 @@
1
- {"version":3,"file":"MakeRequest.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/MakeRequest.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;CAMzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAGV,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhE,OAAO,CACL,0BACE,KAAC,UAAU,IACT,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAC7B,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,GAAG,EAAE,SAAS,CAAC,IAAI,EACnB,cAAc,EAAE,EAAE,GAClB,EACD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,kBAEE,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,IAAI,GAAG,IAAI,OAAO,CACtB,mDAAmD;wBACjD,SAAS,CAAC,IAAI,CACjB,CAAC;oBACF,KAAK,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,CAAC,EACD,SAAS,EAAC,kDAAkD,8BAE9C,SAAS,CAAC,IAAI,QAAI,QAAQ,CAAC,IAAI,UAVxC,QAAQ,CAAC,EAAE,CAWT,CACV,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MakeRequest.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/MakeRequest.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;CAMzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,GAGV,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhE,OAAO,CACL,0BACE,KAAC,UAAU,IACT,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAC7B,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,GAAG,EAAE,SAAS,CAAC,IAAI,GAEnB,EACD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,kBAEE,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,IAAI,GAAG,IAAI,OAAO,CACtB,mDAAmD;wBACjD,SAAS,CAAC,IAAI,CACjB,CAAC;oBACF,KAAK,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9C,CAAC,EACD,SAAS,EAAC,kDAAkD,8BAE9C,SAAS,CAAC,IAAI,QAAI,QAAQ,CAAC,IAAI,UAVxC,QAAQ,CAAC,EAAE,CAWT,CACV,CAAC,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -9,5 +9,5 @@ const getParameterSchema = (parameter) => {
9
9
  type: "string",
10
10
  };
11
11
  };
12
- export const ParameterListItem = ({ parameter, group, id, }) => (_jsxs("li", { className: "not-prose px-2 py-4 border-t border-border bg-border/20", 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.toLocaleLowerCase() })) : (parameter.name) }), parameter.required && (_jsx("span", { className: "py-px px-1.5 font-medium text-xs bg-primary/75 text-muted rounded-lg", children: "required" })), getParameterSchema(parameter).type && (_jsx("span", { className: "text-xs text-muted-foreground", children: getParameterSchema(parameter).type }))] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "prose-p:my-1" }))] }));
12
+ export const ParameterListItem = ({ parameter, group, id, }) => (_jsxs("li", { className: "not-prose px-2 py-4 border-t border-border bg-border/20", 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.toLocaleLowerCase() })) : (parameter.name) }), parameter.required && (_jsx("span", { className: "py-px px-1.5 font-medium text-xs bg-primary/75 text-muted rounded-lg", children: "required" })), getParameterSchema(parameter).type && (_jsx("span", { className: "text-xs text-muted-foreground", children: getParameterSchema(parameter).type }))] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "text-sm prose-p:my-1" }))] }));
13
13
  //# 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,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,CAAC,CACJ,cAAI,SAAS,EAAC,yDAAyD,aACrE,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,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,GACnD,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,EACN,SAAS,CAAC,QAAQ,IAAI,CACrB,eAAM,SAAS,EAAC,sEAAsE,yBAE/E,CACR,EACA,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CACrC,eAAM,SAAS,EAAC,+BAA+B,YAC5C,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,GAC9B,CACR,IACG,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IAAC,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,EAAC,cAAc,GAAG,CACtE,IACE,CACN,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;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,CAAC,CACJ,cAAI,SAAS,EAAC,yDAAyD,aACrE,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,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,GACnD,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,EACN,SAAS,CAAC,QAAQ,IAAI,CACrB,eAAM,SAAS,EAAC,sEAAsE,yBAE/E,CACR,EACA,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CACrC,eAAM,SAAS,EAAC,+BAA+B,YAC5C,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,GAC9B,CACR,IACG,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,OAAO,EAAE,SAAS,CAAC,WAAW,EAC9B,SAAS,EAAC,sBAAsB,GAChC,CACH,IACE,CACN,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const Editor: () => void;
@@ -0,0 +1,5 @@
1
+ export const Editor = () => {
2
+ // const XoXo = lazy(() => import("@monaco-editor/react"));
3
+ // return <XoXo />;
4
+ };
5
+ //# sourceMappingURL=Editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Editor.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/Editor.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,2DAA2D;IAC3D,mBAAmB;AACrB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Control, UseFormRegister } from "react-hook-form";
2
+ import type { PlaygroundForm, Header } from "./Playground.js";
3
+ export declare const Headers: ({ control, register, headers, }: {
4
+ register: UseFormRegister<PlaygroundForm>;
5
+ control: Control<PlaygroundForm>;
6
+ headers: Header[];
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useFieldArray } from "react-hook-form";
3
+ import { TrashIcon } from "lucide-react";
4
+ import { InlineInput } from "./InlineInput.js";
5
+ import { useEffect } from "react";
6
+ export const Headers = ({ control, register, headers, }) => {
7
+ const { fields, append, remove } = useFieldArray({
8
+ control,
9
+ name: "headers",
10
+ });
11
+ const headersCount = headers.length;
12
+ const headersLastName = headers.at(-1)?.name;
13
+ const headersValue = headers.at(-1)?.value;
14
+ useEffect(() => {
15
+ if (headersCount === 0) {
16
+ append({ name: "", value: "" });
17
+ }
18
+ if (headersLastName !== "" || headersValue !== "") {
19
+ append({ name: "", value: "" });
20
+ }
21
+ }, [append, headersCount, headersLastName, headersValue]);
22
+ return (_jsx("div", { className: "grid grid-cols-[1fr_1fr_auto]", children: fields.map((header, i) => (_jsxs("div", { className: "grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group", children: [_jsx(InlineInput, { ...register(`headers.${i}.name`), placeholder: "Name", className: "peer" }), _jsx(InlineInput, { placeholder: "Value", className: "peer", ...register(`headers.${i}.value`) }), _jsx("button", { className: "hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible", onClick: () => {
23
+ remove(i);
24
+ }, disabled: fields.length === 1, children: _jsx(TrashIcon, { size: 16 }) }), _jsx("div", { className: "col-span-full border-b border-border" })] }, header.id))) }));
25
+ };
26
+ //# sourceMappingURL=Headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/Headers.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,OAAO,EACP,QAAQ,EACR,OAAO,GAKR,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAiB;QAC/D,OAAO;QACP,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IACpC,MAAM,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,eAAe,KAAK,EAAE,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1D,OAAO,CACL,cAAK,SAAS,EAAC,+BAA+B,YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,eAEE,SAAS,EAAC,8HAA8H,aAGxI,KAAC,WAAW,OACN,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EACjC,WAAW,EAAC,MAAM,EAClB,SAAS,EAAC,MAAM,GAChB,EACF,KAAC,WAAW,IACV,WAAW,EAAE,OAAO,EACpB,SAAS,EAAC,MAAM,KACZ,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,GAClC,EACF,iBACE,SAAS,EAAC,0GAA0G,EACpH,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,CAAC,CAAC,CAAC,CAAC;oBACZ,CAAC,EACD,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,YAE7B,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,EACT,cAAK,SAAS,EAAC,uCAAuC,GAAO,KAvBxD,MAAM,CAAC,EAAE,CAwBV,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const InlineInput: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLInputElement> & import("react").InputHTMLAttributes<HTMLInputElement> & {
2
+ className?: import("clsx").ClassValue;
3
+ }, "ref"> & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,3 @@
1
+ import createVariantComponent from "../../../util/createVariantComponent.js";
2
+ export const InlineInput = createVariantComponent("input", "px-2 bg-transparent h-8 font-mono text-xs m-2");
3
+ //# sourceMappingURL=InlineInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineInput.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/InlineInput.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,yCAAyC,CAAC;AAE7E,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAC/C,OAAO,EACP,+CAA+C,CAChD,CAAC"}
@@ -1,4 +1,21 @@
1
- import { Header } from "har-format";
1
+ export type Header = {
2
+ name: string;
3
+ value: string;
4
+ };
5
+ export type QueryParam = {
6
+ name: string;
7
+ value: string;
8
+ };
9
+ export type UrlPart = {
10
+ name: string;
11
+ value: string;
12
+ };
13
+ export type PlaygroundForm = {
14
+ body: string;
15
+ queryParams: QueryParam[];
16
+ urlParts: UrlPart[];
17
+ headers: Header[];
18
+ };
2
19
  declare const Playground: ({ url, host, method, defaultHeaders, }: {
3
20
  host: string;
4
21
  url: string;
@@ -1,98 +1,87 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, } from "../../../components/Dialog.js";
3
3
  import { Card, CardContent } from "../../../ui/Card.js";
4
4
  import { Button } from "../../../ui/Button.js";
5
5
  import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../../ui/Tabs.js";
6
- import { Fragment, useEffect, useState, } from "react";
7
- import { TrashIcon } from "lucide-react";
8
- import createVariantComponent from "../../../util/createVariantComponent.js";
6
+ import { Fragment } from "react";
9
7
  import { SyntaxHighlight } from "../../../components/SyntaxHighlight.js";
10
- import { ColorizedParam, DATA_ATTR, usePastellizedColor, } from "../ColorizedParam.js";
11
- import { cn } from "../../../util/cn.js";
8
+ import { ColorizedParam } from "../ColorizedParam.js";
12
9
  import { useMutation } from "@tanstack/react-query";
13
- const InlineInput = createVariantComponent("input", "px-2 bg-transparent h-8 font-mono text-xs m-2");
14
- const ParameterValue = ({ part, className, ...props }) => {
15
- const color = usePastellizedColor(part);
16
- return (_jsx(InlineInput, { ...props, className: cn(className, "opacity-80 data-[active=true]:opacity-100"), style: { color: `hsl(${color})` } }));
17
- };
10
+ import { useForm } from "react-hook-form";
11
+ import { Headers } from "./Headers.js";
12
+ import { QueryParams } from "./QueryParams.js";
13
+ import { UrlParts } from "./UrlParts.js";
14
+ import { LoaderCircle } from "lucide-react";
15
+ function mimeTypeToLanguage(mimeType) {
16
+ const mimeTypeMapping = {
17
+ "application/json": "json",
18
+ "text/json": "json",
19
+ "text/html": "html",
20
+ "text/css": "css",
21
+ "text/javascript": "javascript",
22
+ "application/xml": "xml",
23
+ "application/xhtml+xml": "xhtml",
24
+ "text/plain": "plain",
25
+ };
26
+ return Object.entries(mimeTypeMapping).find(([mime]) => mimeType.includes(mime))?.[0][1];
27
+ }
18
28
  const Playground = ({ url, host, method, defaultHeaders, }) => {
19
- const [headers, setHeaders] = useState(defaultHeaders ?? [{ name: "", value: "" }]);
20
- const [urlParts, setUrlParts] = useState(url
21
- .split("/")
22
- .filter((part) => part.startsWith("{") && part.endsWith("}"))
23
- .map((part) => ({ name: part, value: "" })));
24
- useEffect(() => {
25
- const lastHeader = headers.at(-1);
26
- if (lastHeader?.value !== "" || lastHeader?.name !== "") {
27
- setHeaders([...headers, { name: "", value: "" }]);
28
- }
29
- }, [headers]);
29
+ const { register, control, handleSubmit, watch } = useForm({
30
+ defaultValues: {
31
+ body: "",
32
+ queryParams: [{ name: "", value: "" }],
33
+ headers: defaultHeaders ?? [{ name: "", value: "" }],
34
+ urlParts: url
35
+ .split("/")
36
+ .filter((part) => part.startsWith("{") && part.endsWith("}"))
37
+ .map((part) => ({ name: part.slice(1, -1), value: "" })),
38
+ },
39
+ });
40
+ const formState = watch();
30
41
  const x = useMutation({
31
- mutationFn: async () => {
42
+ mutationFn: async (data) => {
32
43
  const fullUrl = host +
33
44
  url
34
45
  .split("/")
35
- .map((v) => urlParts.find((part) => part.name === v)?.value ?? v)
46
+ .map((v) => v.startsWith("{") && v.endsWith("}")
47
+ ? data.urlParts.find((part) => part.name === v.slice(1, -1))
48
+ ?.value ?? v
49
+ : v)
36
50
  .join("/");
37
- console.log(fullUrl, Object.fromEntries(headers.map((header) => [header.name, header.value])));
38
51
  const response = await fetch(fullUrl, {
39
- // method,
40
- headers: Object.fromEntries(headers
52
+ method: method.toUpperCase(),
53
+ headers: Object.fromEntries(data.urlParts
41
54
  .filter((h) => h.name)
42
55
  .map((header) => [header.name, header.value])),
43
56
  });
44
57
  return {
45
58
  status: response.status,
59
+ headers: response.headers,
46
60
  body: await response.text(),
47
61
  };
48
62
  },
49
63
  });
50
64
  const path = url.split("/").map((part) => (_jsxs(Fragment, { children: [part.startsWith("{") && part.endsWith("}") ? (_jsx(ColorizedParam, { name: part.slice(1, -1), backgroundOpacity: "0", onClick: () => {
51
65
  console.log("asd");
52
- }, slug: part.slice(1, -1), children: urlParts.find((p) => p.name === part)?.value })) : (part), "/", _jsx("wbr", {})] }, part)));
53
- return (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { children: "Open" }), _jsx(DialogContent, { className: "max-w-screen-xl", children: _jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "API Playground" }), _jsx(DialogDescription, { children: _jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsxs(Card, { children: [_jsxs(CardContent, { className: "border-b border-border pt-4", children: [_jsx("div", { children: "URL" }), _jsxs("div", { className: "flex gap-2", children: [_jsx("div", { className: "border rounded border-border p-1.5 w-full", children: path }), _jsx(Button, { onClick: () => x.mutateAsync(), children: "Send" })] })] }), _jsxs(Tabs, { defaultValue: "headers", children: [_jsx(CardContent, { className: "border-b border-border py-4", children: _jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: "headers", children: ["Headers (", headers.length, ")"] }), _jsx(TabsTrigger, { value: "parameters", children: "Parameters" }), _jsx(TabsTrigger, { value: "auth", children: "Auth" })] }) }), _jsxs(CardContent, { children: [_jsx(TabsContent, { value: "headers", children: _jsx("div", { className: "grid grid-cols-[1fr_1fr_auto]", children: headers.map((header, i) => (_jsxs("div", { className: "grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group", children: [_jsx(InlineInput, { onChange: (e) => setHeaders((headers) => {
54
- const newHeaders = [...headers];
55
- newHeaders[i] = {
56
- ...headers[i],
57
- name: e.target.value,
58
- };
59
- return newHeaders;
60
- }), value: header.name, placeholder: "Name", className: "peer" }), _jsx(InlineInput, { onChange: (e) => setHeaders((headers) => {
61
- const newHeaders = [...headers];
62
- newHeaders[i] = {
63
- name: "",
64
- ...headers.at(i),
65
- value: e.target.value,
66
- };
67
- return newHeaders;
68
- }), value: header.value, placeholder: "Value", className: "peer" }), _jsx("button", { className: "hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible", onClick: () => {
69
- setHeaders((headers) => [...headers].toSpliced(i, 1));
70
- }, children: _jsx(TrashIcon, { size: 16 }) }), _jsx("div", { className: "col-span-full border-b border-border" })] }, i))) }) }), _jsxs(TabsContent, { value: "parameters", children: ["Parameters", _jsx("div", { className: "grid grid-cols-[1fr_1fr_auto]", children: urlParts.map(({ name, value }, i) => (_jsxs("div", { className: "grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group", children: [_jsx(InlineInput, { onChange: (e) => setHeaders((headers) => {
71
- const newHeaders = [...headers];
72
- newHeaders[i] = {
73
- ...headers[i],
74
- name: e.target.value,
75
- };
76
- return newHeaders;
77
- }), value: name.slice(1, -1), disabled: true, placeholder: "Name", className: "peer" }), _jsx(ParameterValue, { part: name.slice(1, -1), onChange: (e) => setUrlParts((parts) => {
78
- const newParts = [...parts];
79
- newParts[i] = {
80
- name: "",
81
- ...parts.at(i),
82
- value: e.target.value,
83
- };
84
- return newParts;
85
- }), [DATA_ATTR]: name.slice(1, -1), value: value, placeholder: "Value", className: "peer" }), _jsx("div", { className: "col-span-full border-b border-border" })] }, i))) })] }), _jsxs(TabsContent, { value: "auth", children: [_jsx(CardContent, { children: url
86
- .split("/")
87
- .map((part, i) => part.startsWith("{") && part.endsWith("}")
88
- ? urlParts[i]
89
- : part)
90
- .join("/") }), "Change your password here."] })] })] })] }), _jsxs(Card, { children: [_jsxs(CardContent, { children: [method.toUpperCase(), url
91
- .split("/")
92
- .map((v) => v.startsWith("{") && v.endsWith("}")
93
- ? urlParts.find((part) => part.name === v)?.value ?? v
94
- : v)
95
- .join("/"), _jsx(SyntaxHighlight, { language: "json", noBackground: true, copyable: false, className: "text-xs", code: x.data?.body ?? JSON.stringify("") })] }), x.data?.status] })] }) })] }) })] }));
66
+ }, slug: part.slice(1, -1), children: formState.urlParts.find((p) => {
67
+ console.log(p.name, part.slice(1, -1), p.name === part.slice(1, -1), p.value);
68
+ return p.name === part.slice(1, -1);
69
+ })?.value })) : (part), "/", _jsx("wbr", {})] }, part)));
70
+ const lang = mimeTypeToLanguage(x.data?.headers.get("Content-Type") ?? "");
71
+ return (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { children: "Open" }), _jsx(DialogContent, { className: "max-w-screen-xl w-full h-5/6", children: _jsx("form", { onSubmit: handleSubmit((data) => {
72
+ x.mutateAsync(data);
73
+ }), children: _jsxs(DialogHeader, { children: [_jsx(DialogTitle, { className: "mb-4", children: "API Playground" }), _jsx(DialogDescription, { children: _jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsxs(Card, { children: [_jsxs(CardContent, { className: "border-b border-border pt-4", children: [_jsx("div", { className: "font-bold mb-1", children: "URL" }), _jsxs("div", { className: "flex gap-2 items-center", children: [_jsxs("div", { className: "border rounded border-border flex justify-stretch w-full", children: [_jsx("div", { className: "border-r border-border p-2 bg-muted font-mono", children: method.toUpperCase() }), _jsx("div", { className: "p-2 whitespace-nowrap overflow-scroll flex-1", children: path })] }), _jsx(Button, { type: "submit", children: "Send" })] })] }), _jsxs(Tabs, { defaultValue: "parameters", children: [_jsx(CardContent, { className: "border-b border-border py-4", children: _jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "parameters", children: "Parameters" }), _jsxs(TabsTrigger, { value: "headers", children: ["Headers (", formState.headers.length - 1, ")"] }), _jsx(TabsTrigger, { value: "body", disabled: ["POST", "PUT", "PATCH", "DELETE"].includes(method.toUpperCase()), children: "Body" })] }) }), _jsxs(CardContent, { className: "overflow-auto h-full", children: [_jsx(TabsContent, { value: "headers", children: _jsx(Headers, { control: control, register: register, headers: formState.headers }) }), _jsxs(TabsContent, { value: "parameters", children: [_jsx(UrlParts, { control: control, register: register }), "Query Parameters", _jsx(QueryParams, { control: control, queryParams: formState.queryParams, register: register })] }), _jsxs(TabsContent, { value: "auth", children: [_jsx(CardContent, { children: url
74
+ .split("/")
75
+ .map((part, i) => part.startsWith("{") && part.endsWith("}")
76
+ ? formState.urlParts[i]
77
+ : part)
78
+ .join("/") }), "Change your password here."] }), _jsx(TabsContent, { value: "body", children: _jsx("textarea", { ...register("body"), className: "border border-border w-full rounded p-2 bg-muted h-40" }) })] })] })] }), _jsx(Card, { children: _jsxs(CardContent, { children: [_jsxs("div", { className: "mt-2 font-mono gap-2 flex", children: [method.toUpperCase(), " ", x.data?.status, " ", url
79
+ .split("/")
80
+ .map((v) => v.startsWith("{") && v.endsWith("}")
81
+ ? formState.urlParts.find((part) => part.name === v)
82
+ ?.value ?? v
83
+ : v)
84
+ .join("/")] }), _jsxs("div", { className: "w-full overflow-auto max-h-80 rounded-xl border border-border p-4 dark:!bg-foreground/10 dark:border-transparent", children: [x.isPending && (_jsxs(_Fragment, { children: [_jsx(LoaderCircle, { size: 18, className: "animate-spins" }), " a request to see the response.\""] })), _jsx(SyntaxHighlight, { language: lang ?? "json", noBackground: true, copyable: false, className: "overflow-x-auto ", code: x.data?.body ?? JSON.stringify("") })] })] }) })] }) })] }) }) })] }));
96
85
  };
97
86
  export { Playground };
98
87
  //# sourceMappingURL=Playground.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Playground.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/Playground.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EACL,QAAQ,EAER,SAAS,EAET,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,sBAAsB,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EACL,cAAc,EACd,SAAS,EACT,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,GAAG,sBAAsB,CACxC,OAAO,EACP,+CAA+C,CAChD,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EACtB,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EAG+B,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CACL,KAAC,WAAW,OACN,KAAK,EACT,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,2CAA2C,CAAC,EACrE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,KAAK,GAAG,EAAE,GACjC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAClB,GAAG,EACH,IAAI,EACJ,MAAM,EACN,cAAc,GAMf,EAAE,EAAE;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,cAAc,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5C,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,GAAG;SACA,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAC9C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,UAAU,EAAE,KAAK,KAAK,EAAE,IAAI,UAAU,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC;YACxD,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,CAAC,GAAG,WAAW,CAAC;QACpB,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,MAAM,OAAO,GACX,IAAI;gBACJ,GAAG;qBACA,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;qBAChE,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CACT,OAAO,EACP,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACrD,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,UAAU;gBACV,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,OAAO;qBACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAChD;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxC,MAAC,QAAQ,eACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC5C,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvB,iBAAiB,EAAC,GAAG,EACrB,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,EACD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAEtB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,GAC9B,CAClB,CAAC,CAAC,CAAC,CACF,IAAI,CACL,OAED,eAAO,KAhBM,IAAI,CAiBR,CACZ,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,MAAM,eACL,KAAC,aAAa,uBAAqB,EACnC,KAAC,aAAa,IAAC,SAAS,EAAC,iBAAiB,YACxC,MAAC,YAAY,eACX,KAAC,WAAW,iCAA6B,EACzC,KAAC,iBAAiB,cAChB,eAAK,SAAS,EAAC,wBAAwB,aACrC,MAAC,IAAI,eACH,MAAC,WAAW,IAAC,SAAS,EAAC,6BAA6B,aAClD,gCAAc,EACd,eAAK,SAAS,EAAC,YAAY,aACzB,cAAK,SAAS,EAAC,2CAA2C,YACvD,IAAI,GACD,EACN,KAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,qBAAe,IACjD,IACM,EACd,MAAC,IAAI,IAAC,YAAY,EAAC,SAAS,aAC1B,KAAC,WAAW,IAAC,SAAS,EAAC,6BAA6B,YAClD,MAAC,QAAQ,eACP,MAAC,WAAW,IAAC,KAAK,EAAC,SAAS,0BAChB,OAAO,CAAC,MAAM,SACZ,EACd,KAAC,WAAW,IAAC,KAAK,EAAC,YAAY,2BAAyB,EACxD,KAAC,WAAW,IAAC,KAAK,EAAC,MAAM,qBAAmB,IACnC,GACC,EACd,MAAC,WAAW,eACV,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YAC1B,cAAK,SAAS,EAAC,+BAA+B,YAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,eAEE,SAAS,EAAC,8HAA8H,aAGxI,KAAC,WAAW,IACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;oFACrB,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;oFAChC,UAAU,CAAC,CAAC,CAAC,GAAG;wFACd,GAAG,OAAO,CAAC,CAAC,CAAC;wFACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;qFACrB,CAAC;oFACF,OAAO,UAAU,CAAC;gFACpB,CAAC,CAAC,EAEJ,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAC,MAAM,GAChB,EACF,KAAC,WAAW,IACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;oFACrB,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;oFAChC,UAAU,CAAC,CAAC,CAAC,GAAG;wFACd,IAAI,EAAE,EAAE;wFACR,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;wFAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;qFACtB,CAAC;oFACF,OAAO,UAAU,CAAC;gFACpB,CAAC,CAAC,EAEJ,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAC,MAAM,GAChB,EACF,iBACE,SAAS,EAAC,0GAA0G,EACpH,OAAO,EAAE,GAAG,EAAE;oFACZ,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CACrB,CAAC,GAAG,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7B,CAAC;gFACJ,CAAC,YAED,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,EACT,cAAK,SAAS,EAAC,uCAAuC,GAAO,KA7CxD,CAAC,CA8CF,CACP,CAAC,GACE,GACM,EACd,MAAC,WAAW,IAAC,KAAK,EAAC,YAAY,2BAE7B,cAAK,SAAS,EAAC,+BAA+B,YAC3C,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CACpC,eAEE,SAAS,EAAC,8HAA8H,aAGxI,KAAC,WAAW,IACV,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE;wFACrB,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;wFAChC,UAAU,CAAC,CAAC,CAAC,GAAG;4FACd,GAAG,OAAO,CAAC,CAAC,CAAC;4FACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;yFACrB,CAAC;wFACF,OAAO,UAAU,CAAC;oFACpB,CAAC,CAAC,EAEJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACxB,QAAQ,QACR,WAAW,EAAE,MAAM,EACnB,SAAS,EAAC,MAAM,GAChB,EACF,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;wFACpB,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;wFAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG;4FACZ,IAAI,EAAE,EAAE;4FACR,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;4FACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;yFACtB,CAAC;wFACF,OAAO,QAAQ,CAAC;oFAClB,CAAC,CAAC,EAEE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,OAAO,EACpB,SAAS,EAAC,MAAM,GAChB,EAEF,cAAK,SAAS,EAAC,sCAAsC,GAAO,KAvCvD,CAAC,CAwCF,CACP,CAAC,GACE,IACM,EACd,MAAC,WAAW,IAAC,KAAK,EAAC,MAAM,aACvB,KAAC,WAAW,cACT,GAAG;6EACD,KAAK,CAAC,GAAG,CAAC;6EACV,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;4EACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;4EACb,CAAC,CAAC,IAAI,CACT;6EACA,IAAI,CAAC,GAAG,CAAC,GACA,kCAEF,IACF,IACT,IACF,EACP,MAAC,IAAI,eACH,MAAC,WAAW,eACT,MAAM,CAAC,WAAW,EAAE,EACpB,GAAG;yDACD,KAAK,CAAC,GAAG,CAAC;yDACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;wDAClC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;wDACtD,CAAC,CAAC,CAAC,CACN;yDACA,IAAI,CAAC,GAAG,CAAC,EACZ,KAAC,eAAe,IACd,QAAQ,EAAC,MAAM,EACf,YAAY,QACZ,QAAQ,EAAE,KAAK,EACf,SAAS,EAAC,SAAS,EACnB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GACxC,IACU,EACb,CAAC,CAAC,IAAI,EAAE,MAAM,IACV,IACH,GACY,IACP,GACD,IACT,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"Playground.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/Playground.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Control, UseFormRegister } from "react-hook-form";
2
+ import { PlaygroundForm, QueryParam } from "./Playground.js";
3
+ export declare const QueryParams: ({ control, register, queryParams, }: {
4
+ register: UseFormRegister<PlaygroundForm>;
5
+ control: Control<PlaygroundForm>;
6
+ queryParams: QueryParam[];
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Controller, useFieldArray, } from "react-hook-form";
3
+ import { TrashIcon } from "lucide-react";
4
+ import { InlineInput } from "./InlineInput.js";
5
+ import { useEffect } from "react";
6
+ export const QueryParams = ({ control, register, queryParams, }) => {
7
+ const { fields, append, remove } = useFieldArray({
8
+ control,
9
+ name: "queryParams",
10
+ });
11
+ const queryCount = queryParams?.length;
12
+ const queryLastName = queryParams.at(-1)?.name;
13
+ const queryLastValue = queryParams.at(-1)?.value;
14
+ useEffect(() => {
15
+ // if (queryCount === 0) {
16
+ // append({ name: "", value: "" });
17
+ // }
18
+ console.log(queryLastName, queryLastValue, queryCount);
19
+ if (queryLastName !== "" || queryLastValue !== "") {
20
+ console.log("appending");
21
+ append({ name: "", value: "" });
22
+ }
23
+ }, [append, queryLastValue, queryLastName, queryCount]);
24
+ return (_jsx("div", { className: "grid grid-cols-[1fr_1fr_auto]", children: fields.map((field, i) => (_jsxs("div", { className: "grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group", children: [field.id, _jsx(Controller, { control: control, render: ({ field }) => {
25
+ return (_jsx(InlineInput, { ...field, placeholder: "Name", className: "peer" }));
26
+ }, name: `queryParams.${i}.name` }), _jsx(Controller, { control: control, render: ({ field }) => {
27
+ return (_jsx(InlineInput, { ...field, placeholder: "Value", className: "peer" }));
28
+ }, name: `queryParams.${i}.value` }), _jsx("button", { className: "hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible", onClick: () => remove(i), children: _jsx(TrashIcon, { size: 16 }) }), _jsx("div", { className: "col-span-full border-b border-border" })] }, field.id))) }));
29
+ };
30
+ //# sourceMappingURL=QueryParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryParams.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/QueryParams.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,UAAU,EACV,aAAa,GAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,WAAW,GAKZ,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAiB;QAC/D,OAAO;QACP,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,WAAW,EAAE,MAAM,CAAC;IACvC,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC/C,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,0BAA0B;QAC1B,qCAAqC;QACrC,IAAI;QACJ,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,aAAa,KAAK,EAAE,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAExD,OAAO,CACL,cAAK,SAAS,EAAC,+BAA+B,YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,eAEE,SAAS,EAAC,8HAA8H,aAEvI,KAAK,CAAC,EAAE,EACT,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBACpB,OAAO,CACL,KAAC,WAAW,OAAK,KAAK,EAAE,WAAW,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,GAAG,CAC/D,CAAC;oBACJ,CAAC,EACD,IAAI,EAAE,eAAe,CAAC,OAAO,GAC7B,EACF,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;wBACpB,OAAO,CACL,KAAC,WAAW,OAAK,KAAK,EAAE,WAAW,EAAC,OAAO,EAAC,SAAS,EAAC,MAAM,GAAG,CAChE,CAAC;oBACJ,CAAC,EACD,IAAI,EAAE,eAAe,CAAC,QAAQ,GAC9B,EAEF,iBACE,SAAS,EAAC,0GAA0G,EACpH,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,YAExB,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,EACT,cAAK,SAAS,EAAC,uCAAuC,GAAO,KA7BxD,KAAK,CAAC,EAAE,CA8BT,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Control, UseFormRegister } from "react-hook-form";
2
+ import { PlaygroundForm } from "./Playground.js";
3
+ export declare const UrlParts: ({ control, register, }: {
4
+ register: UseFormRegister<PlaygroundForm>;
5
+ control: Control<PlaygroundForm>;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useFieldArray } from "react-hook-form";
3
+ import { InlineInput } from "./InlineInput.js";
4
+ import { DATA_ATTR, usePastellizedColor } from "../ColorizedParam.js";
5
+ import { forwardRef } from "react";
6
+ import { cn } from "../../../util/cn.js";
7
+ const ParameterValue = forwardRef(({ part, className, ...props }, ref) => {
8
+ const color = usePastellizedColor(part);
9
+ return (_jsx(InlineInput, { ...props, ref: ref, className: cn(className, "opacity-80 data-[active=true]:opacity-100"), style: {
10
+ // color: `hsl(${color})`,
11
+ outlineColor: `hsl(${color})`,
12
+ } }));
13
+ });
14
+ export const UrlParts = ({ control, register, }) => {
15
+ const { fields } = useFieldArray({
16
+ control,
17
+ name: "urlParts",
18
+ });
19
+ return (_jsx("div", { className: "grid grid-cols-[1fr_1fr_auto]", children: fields.map((part, i) => (_jsxs("div", { className: "grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group", children: [_jsx(InlineInput, { ...register(`urlParts.${i}.name`), disabled: true, placeholder: "Name", className: "peer" }), _jsx(ParameterValue, { ...register(`urlParts.${i}.value`), part: part.name, [DATA_ATTR]: part.name, placeholder: "Value", className: "peer" }), _jsx("div", { className: "col-span-full border-b border-border" })] }, part.id))) }));
20
+ };
21
+ //# sourceMappingURL=UrlParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UrlParts.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/UrlParts.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAuB,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAMzC,MAAM,cAAc,GAAG,UAAU,CAC/B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACrC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CACL,KAAC,WAAW,OACN,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,2CAA2C,CAAC,EACrE,KAAK,EAAE;YACL,0BAA0B;YAC1B,YAAY,EAAE,OAAO,KAAK,GAAG;SAC9B,GACD,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,OAAO,EACP,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAiB;QAC/C,OAAO;QACP,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IAEH,OAAO,CACL,cAAK,SAAS,EAAC,+BAA+B,YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,eAEE,SAAS,EAAC,8HAA8H,aAExI,KAAC,WAAW,OACN,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAClC,QAAQ,QACR,WAAW,EAAC,MAAM,EAClB,SAAS,EAAC,MAAM,GAChB,EACF,KAAC,cAAc,OACT,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EACnC,IAAI,EAAE,IAAI,CAAC,IAAI,EACT,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,EAC5B,WAAW,EAAC,OAAO,EACnB,SAAS,EAAC,MAAM,GAChB,EAEF,cAAK,SAAS,EAAC,sCAAsC,GAAO,KAjBvD,IAAI,CAAC,EAAE,CAkBR,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -2,14 +2,7 @@ import { cva } from "class-variance-authority";
2
2
  import { ClassValue } from "clsx";
3
3
  import * as React from "react";
4
4
  import { JSX } from "react/jsx-runtime";
5
- declare const createVariantComponent: <E extends keyof React.ReactHTML, C extends ReturnType<typeof cva>>(tag: E, cvx: ClassValue | C) => {
6
- ({ className, ...props }: JSX.IntrinsicElements[E] & {
7
- className?: ClassValue;
8
- }): React.DetailedReactHTMLElement<Omit<JSX.IntrinsicElements[E] & {
9
- className?: ClassValue;
10
- }, "className"> & {
11
- className: any;
12
- }, HTMLWebViewElement>;
13
- displayName: string;
14
- };
5
+ declare const createVariantComponent: <E extends keyof React.ReactHTML, C extends ReturnType<typeof cva>>(tag: E, cvx: ClassValue | C) => React.ForwardRefExoticComponent<React.PropsWithoutRef<JSX.IntrinsicElements[E] & {
6
+ className?: ClassValue;
7
+ }> & React.RefAttributes<HTMLElement>>;
15
8
  export default createVariantComponent;
@@ -1,10 +1,11 @@
1
1
  import * as React from "react";
2
2
  import { cn } from "./cn.js";
3
3
  const createVariantComponent = (tag, cvx) => {
4
- const MyVariant = ({ className, ...props }) => React.createElement(tag, {
4
+ const MyVariant = React.forwardRef(({ className, ...props }, ref) => React.createElement(tag, {
5
5
  ...props,
6
+ ref,
6
7
  className: typeof cvx === "function" ? cvx({ className }) : cn(cvx, className),
7
- });
8
+ }));
8
9
  MyVariant.displayName = `VariantComponent(${tag})`;
9
10
  return MyVariant;
10
11
  };