zudoku 0.3.0-dev.77 → 0.3.0-dev.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/validators/validate.d.ts +130 -130
- package/dist/lib/authentication/providers/openid.d.ts +1 -1
- package/dist/lib/authentication/providers/openid.js +1 -1
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/components/DevPortal.js +11 -2
- package/dist/lib/components/DevPortal.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/core/plugins.d.ts +3 -0
- package/dist/lib/core/plugins.js +1 -0
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +2 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +8 -16
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +18 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +6 -6
- package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +15 -15
- package/dist/lib/plugins/openapi/graphql/graphql.js +67 -67
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +7 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.d.ts +2 -3
- package/dist/lib/plugins/openapi/playground/PathParams.js +3 -4
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +22 -10
- package/dist/lib/plugins/openapi/playground/Playground.js +40 -28
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.d.ts +3 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +3 -2
- package/dist/lib/plugins/openapi/playground/QueryParams.js +10 -5
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/ResponseTab.d.ts +4 -0
- package/dist/lib/plugins/openapi/playground/ResponseTab.js +40 -0
- package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +1 -0
- package/dist/lib/ui/Button.d.ts +5 -1
- package/dist/lib/ui/Button.js +24 -1
- package/dist/lib/ui/Button.js.map +1 -1
- package/dist/lib/util/fetchTimeout.d.ts +1 -0
- package/dist/lib/util/fetchTimeout.js +14 -0
- package/dist/lib/util/fetchTimeout.js.map +1 -0
- package/lib/{CategoryHeading-D0V23fMT.js → CategoryHeading-DCmchnA1.js} +2 -2
- package/lib/{CategoryHeading-D0V23fMT.js.map → CategoryHeading-DCmchnA1.js.map} +1 -1
- package/lib/{Combination-CgxP9BB4.js → Combination-CS4rK8IJ.js} +33 -39
- package/lib/Combination-CS4rK8IJ.js.map +1 -0
- package/lib/DeveloperHint-DQVwIery.js +10 -0
- package/lib/DeveloperHint-DQVwIery.js.map +1 -0
- package/lib/{Input-BcZoDid4.js → Input-GFpPXs5b.js} +3 -3
- package/lib/{Input-BcZoDid4.js.map → Input-GFpPXs5b.js.map} +1 -1
- package/lib/{Markdown-IsabnbGN.js → Markdown-QsZ-PHET.js} +3 -3
- package/lib/{Markdown-IsabnbGN.js.map → Markdown-QsZ-PHET.js.map} +1 -1
- package/lib/{MdxPage-B1B2Inj5.js → MdxPage-V4FCB0C_.js} +3 -3
- package/lib/{MdxPage-B1B2Inj5.js.map → MdxPage-V4FCB0C_.js.map} +1 -1
- package/lib/OperationList-C-M33Hxu.js +4368 -0
- package/lib/OperationList-C-M33Hxu.js.map +1 -0
- package/lib/{Route-D0Ub80Oa.js → Route-CogU1ofM.js} +2 -2
- package/lib/{Route-D0Ub80Oa.js.map → Route-CogU1ofM.js.map} +1 -1
- package/lib/{SlotletProvider-CJXWb2gw.js → SlotletProvider-D_Vz-7c_.js} +4 -4
- package/lib/{SlotletProvider-CJXWb2gw.js.map → SlotletProvider-D_Vz-7c_.js.map} +1 -1
- package/lib/Spinner-oNQQyp-I.js +244 -0
- package/lib/Spinner-oNQQyp-I.js.map +1 -0
- package/lib/index-D4bOMg7f.js +124 -0
- package/lib/index-D4bOMg7f.js.map +1 -0
- package/lib/index-Uqja2h2M.js +1960 -0
- package/lib/index-Uqja2h2M.js.map +1 -0
- package/lib/{urql-DMlBWUKL.js → urql-DrBfkb92.js} +2 -3
- package/lib/{urql-DMlBWUKL.js.map → urql-DrBfkb92.js.map} +1 -1
- package/lib/zudoku.auth-openid.js +1 -1
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +352 -348
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +1 -1
- package/lib/zudoku.plugin-api-keys.js +7 -6
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-custom-page.js +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +5 -4
- package/lib/zudoku.plugin-openapi.js.map +1 -1
- package/package.json +1 -1
- package/src/app/main.css +1 -1
- package/src/lib/authentication/providers/openid.tsx +1 -1
- package/src/lib/components/DevPortal.tsx +14 -5
- package/src/lib/core/plugins.ts +7 -0
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +9 -17
- package/src/lib/plugins/openapi/Sidecar.tsx +23 -1
- package/src/lib/plugins/openapi/graphql/gql.ts +8 -8
- package/src/lib/plugins/openapi/graphql/graphql.ts +80 -80
- package/src/lib/plugins/openapi/index.tsx +21 -0
- package/src/lib/plugins/openapi/playground/PathParams.tsx +14 -20
- package/src/lib/plugins/openapi/playground/Playground.tsx +76 -56
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +10 -6
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +86 -72
- package/src/lib/plugins/openapi/playground/ResponseTab.tsx +76 -0
- package/src/lib/ui/Button.tsx +32 -2
- package/src/lib/util/fetchTimeout.tsx +21 -0
- package/dist/lib/ui/button-variants.d.ts +0 -4
- package/dist/lib/ui/button-variants.js +0 -25
- package/dist/lib/ui/button-variants.js.map +0 -1
- package/lib/Combination-CgxP9BB4.js.map +0 -1
- package/lib/OperationList-B2nsuf1v.js +0 -5471
- package/lib/OperationList-B2nsuf1v.js.map +0 -1
- package/lib/Spinner-BhtSoFka.js +0 -359
- package/lib/Spinner-BhtSoFka.js.map +0 -1
- package/lib/index-BC2Ob2BR.js +0 -727
- package/lib/index-BC2Ob2BR.js.map +0 -1
- package/src/lib/ui/button-variants.ts +0 -32
|
@@ -1,32 +1,44 @@
|
|
|
1
1
|
export declare const NO_IDENTITY = "__none";
|
|
2
2
|
export type Header = {
|
|
3
3
|
name: string;
|
|
4
|
-
|
|
4
|
+
defaultValue?: string;
|
|
5
5
|
};
|
|
6
6
|
export type QueryParam = {
|
|
7
7
|
name: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
isRequired
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
defaultActive?: boolean;
|
|
10
|
+
isRequired?: boolean;
|
|
11
11
|
};
|
|
12
12
|
export type PathParam = {
|
|
13
13
|
name: string;
|
|
14
|
-
|
|
14
|
+
defaultValue?: string;
|
|
15
|
+
isRequired?: boolean;
|
|
15
16
|
};
|
|
16
17
|
export type PlaygroundForm = {
|
|
17
18
|
body: string;
|
|
18
|
-
queryParams:
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
queryParams: Array<{
|
|
20
|
+
name: string;
|
|
21
|
+
value: string;
|
|
22
|
+
active: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
pathParams: Array<{
|
|
25
|
+
name: string;
|
|
26
|
+
value: string;
|
|
27
|
+
}>;
|
|
28
|
+
headers: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
value: string;
|
|
31
|
+
}>;
|
|
21
32
|
identity?: string;
|
|
22
33
|
};
|
|
23
34
|
export type PlaygroundContentProps = {
|
|
35
|
+
server: string;
|
|
24
36
|
url: string;
|
|
25
37
|
method: string;
|
|
26
38
|
headers?: Header[];
|
|
27
39
|
queryParams?: QueryParam[];
|
|
28
40
|
pathParams?: PathParam[];
|
|
29
|
-
|
|
41
|
+
defaultBody?: string;
|
|
30
42
|
};
|
|
31
|
-
export declare const Playground: ({ url, method, headers, queryParams, pathParams,
|
|
43
|
+
export declare const Playground: ({ server, url, method, headers, queryParams, pathParams, defaultBody, }: PlaygroundContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
44
|
export default Playground;
|
|
@@ -1,30 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMutation } from "@tanstack/react-query";
|
|
3
|
-
import { Fragment } from "react";
|
|
3
|
+
import { Fragment, useEffect, useRef } from "react";
|
|
4
4
|
import { FormProvider, useForm } from "react-hook-form";
|
|
5
|
-
import { useQuery } from "urql";
|
|
6
5
|
import { useApiIdentities } from "../../../components/context/DevPortalProvider.js";
|
|
7
6
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "../../../components/Select.js";
|
|
8
7
|
import { Spinner } from "../../../components/Spinner.js";
|
|
9
|
-
import { SyntaxHighlight } from "../../../components/SyntaxHighlight.js";
|
|
10
8
|
import { Button } from "../../../ui/Button.js";
|
|
11
9
|
import { Card } from "../../../ui/Card.js";
|
|
12
10
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../../ui/Tabs.js";
|
|
11
|
+
import { fetchTimeout } from "../../../util/fetchTimeout.js";
|
|
13
12
|
import { ColorizedParam } from "../ColorizedParam.js";
|
|
14
|
-
import { useOasConfig } from "../context.js";
|
|
15
|
-
import { graphql } from "../graphql/index.js";
|
|
16
13
|
import { createUrl } from "./createUrl.js";
|
|
17
14
|
import { Headers } from "./Headers.js";
|
|
18
15
|
import { PathParams } from "./PathParams.js";
|
|
19
16
|
import { QueryParams } from "./QueryParams.js";
|
|
17
|
+
import { ResponseTab } from "./ResponseTab.js";
|
|
20
18
|
export const NO_IDENTITY = "__none";
|
|
21
|
-
const GetServerQuery = graphql(/* GraphQL */ `
|
|
22
|
-
query getServerQuery($input: JSON!, $type: SchemaType!) {
|
|
23
|
-
schema(input: $input, type: $type) {
|
|
24
|
-
url
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
`);
|
|
28
19
|
function mimeTypeToLanguage(mimeType) {
|
|
29
20
|
const mimeTypeMapping = {
|
|
30
21
|
"application/json": "json",
|
|
@@ -36,7 +27,7 @@ function mimeTypeToLanguage(mimeType) {
|
|
|
36
27
|
"application/xhtml+xml": "xhtml",
|
|
37
28
|
"text/plain": "plain",
|
|
38
29
|
};
|
|
39
|
-
return Object.entries(mimeTypeMapping).find(([mime]) => mimeType.includes(mime))?.[
|
|
30
|
+
return Object.entries(mimeTypeMapping).find(([mime]) => mimeType.includes(mime))?.[1];
|
|
40
31
|
}
|
|
41
32
|
const statusCodeMap = {
|
|
42
33
|
200: "OK",
|
|
@@ -50,23 +41,41 @@ const statusCodeMap = {
|
|
|
50
41
|
405: "Method Not Allowed",
|
|
51
42
|
500: "Internal Server Error",
|
|
52
43
|
};
|
|
53
|
-
export const Playground = ({ url, method, headers = [
|
|
54
|
-
const
|
|
55
|
-
const [server] = useQuery({ query: GetServerQuery, variables });
|
|
56
|
-
const { register, control, handleSubmit, watch, ...form } = useForm({
|
|
44
|
+
export const Playground = ({ server, url, method, headers = [], queryParams = [], pathParams = [], defaultBody = "", }) => {
|
|
45
|
+
const { register, control, handleSubmit, watch, setValue, ...form } = useForm({
|
|
57
46
|
defaultValues: {
|
|
58
|
-
body:
|
|
59
|
-
queryParams
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
body: defaultBody,
|
|
48
|
+
queryParams: queryParams.map((param) => ({
|
|
49
|
+
name: param.name,
|
|
50
|
+
value: param.defaultValue ?? "",
|
|
51
|
+
active: param.defaultActive ?? false,
|
|
52
|
+
})),
|
|
53
|
+
pathParams: pathParams.map((param) => ({
|
|
54
|
+
name: param.name,
|
|
55
|
+
value: param.defaultValue ?? "",
|
|
56
|
+
})),
|
|
57
|
+
headers: headers.map((header) => ({
|
|
58
|
+
name: header.name,
|
|
59
|
+
value: header.defaultValue ?? "",
|
|
60
|
+
})),
|
|
62
61
|
identity: NO_IDENTITY,
|
|
63
62
|
},
|
|
64
63
|
});
|
|
65
64
|
const formState = watch();
|
|
66
65
|
const identities = useApiIdentities();
|
|
66
|
+
const setOnce = useRef(false);
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (setOnce.current)
|
|
69
|
+
return;
|
|
70
|
+
const firstIdentity = identities.data?.at(0);
|
|
71
|
+
if (firstIdentity) {
|
|
72
|
+
setValue("identity", firstIdentity.id);
|
|
73
|
+
setOnce.current = true;
|
|
74
|
+
}
|
|
75
|
+
}, [setValue, identities.data]);
|
|
67
76
|
const queryMutation = useMutation({
|
|
68
77
|
mutationFn: async (data) => {
|
|
69
|
-
const requestUrl = createUrl(server
|
|
78
|
+
const requestUrl = createUrl(server, url, data);
|
|
70
79
|
const start = performance.now();
|
|
71
80
|
const request = new Request(requestUrl, {
|
|
72
81
|
method: method.toUpperCase(),
|
|
@@ -79,14 +88,15 @@ export const Playground = ({ url, method, headers = [{ name: "", value: "" }], q
|
|
|
79
88
|
?.find((i) => i.id === data.identity)
|
|
80
89
|
?.authorizeRequest(request);
|
|
81
90
|
}
|
|
82
|
-
const response = await
|
|
91
|
+
const response = await fetchTimeout(request);
|
|
92
|
+
const time = performance.now() - start;
|
|
83
93
|
const body = await response.text();
|
|
84
94
|
return {
|
|
85
95
|
status: response.status,
|
|
86
96
|
headers: response.headers,
|
|
87
97
|
size: body.length,
|
|
88
98
|
body,
|
|
89
|
-
time
|
|
99
|
+
time,
|
|
90
100
|
};
|
|
91
101
|
},
|
|
92
102
|
});
|
|
@@ -94,7 +104,7 @@ export const Playground = ({ url, method, headers = [{ name: "", value: "" }], q
|
|
|
94
104
|
const isPathParam = part.startsWith("{") && part.endsWith("}");
|
|
95
105
|
const replaced = part.replace(/[{}]/g, "");
|
|
96
106
|
const value = formState.pathParams.find((p) => p.name === replaced)?.value;
|
|
97
|
-
const pathParamValue = value ? (_jsx(ColorizedParam, { backgroundOpacity: "25%", name: part, slug: part, children: value })) : (_jsx("span", { className: "underline decoration-wavy decoration-red-500", title: `Missing value for path parameter \`${replaced}\``, children: part }));
|
|
107
|
+
const pathParamValue = value ? (_jsx(ColorizedParam, { backgroundOpacity: "25%", name: part, slug: part, children: encodeURIComponent(value) })) : (_jsx("span", { className: "underline decoration-wavy decoration-red-500", title: `Missing value for path parameter \`${replaced}\``, children: part }));
|
|
98
108
|
return (
|
|
99
109
|
// eslint-disable-next-line react/no-array-index-key
|
|
100
110
|
_jsxs(Fragment, { children: [isPathParam ? pathParamValue : part, i < arr.length - 1 && "/", _jsx("wbr", {})] }, part + i));
|
|
@@ -104,10 +114,12 @@ export const Playground = ({ url, method, headers = [{ name: "", value: "" }], q
|
|
|
104
114
|
const urlQueryParams = formState.queryParams
|
|
105
115
|
.filter((p) => p.active)
|
|
106
116
|
.map((p, i, arr) => (_jsxs(Fragment, { children: [p.name, "=", encodeURIComponent(p.value).replaceAll("%20", "+"), i < arr.length - 1 && "&", _jsx("wbr", {})] }, p.name)));
|
|
107
|
-
return (_jsx(FormProvider, { register, control, handleSubmit, watch, ...form, children: _jsx("form", { onSubmit: handleSubmit((data) => queryMutation.mutateAsync(data)), children: _jsxs("div", { className: "grid grid-cols-2 text-sm h-full", children: [_jsxs("div", { className: "flex flex-col gap-4 p-8 bg-muted/50 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto", children: [_jsxs("div", { className: "flex gap-2 items-stretch", children: [_jsxs("div", { className: "flex flex-1 items-center w-full border rounded-md border-border", children: [_jsx("div", { className: "border-r p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono", children: method.toUpperCase() }), _jsxs("div", { className: "p-2 font-mono text-xs", children: [path, urlQueryParams.length > 0 ? "?" : "", urlQueryParams] })] }), _jsx(Button, { type: "submit", className: "h-auto flex gap-1", children: "Send" })] }), _jsxs(Tabs, { defaultValue:
|
|
108
|
-
`(${formState.headers.length})`] }), _jsx(TabsTrigger, { value: "body", disabled: ["POST", "PUT", "PATCH", "DELETE"].includes(method.toUpperCase()), children: "Body" })] }), _jsxs("div", { className: "flex gap-2 items-center", children: ["Auth:", _jsxs(Select, { onValueChange: (value) =>
|
|
117
|
+
return (_jsx(FormProvider, { register, control, handleSubmit, watch, setValue, ...form, children: _jsx("form", { onSubmit: handleSubmit((data) => queryMutation.mutateAsync(data)), children: _jsxs("div", { className: "grid grid-cols-2 text-sm h-full", children: [_jsxs("div", { className: "flex flex-col gap-4 p-8 bg-muted/50 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto", children: [_jsxs("div", { className: "flex gap-2 items-stretch", children: [_jsxs("div", { className: "flex flex-1 items-center w-full border rounded-md border-border", children: [_jsx("div", { className: "border-r p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono", children: method.toUpperCase() }), _jsxs("div", { className: "p-2 font-mono text-xs", children: [path, urlQueryParams.length > 0 ? "?" : "", urlQueryParams] })] }), _jsx(Button, { type: "submit", className: "h-auto flex gap-1", children: "Send" })] }), _jsxs(Tabs, { defaultValue: pathParams.length > 0 ? "parameters" : "headers", children: [_jsxs("div", { className: "flex justify-between", children: [_jsxs(TabsList, { children: [pathParams.length > 0 && (_jsx(TabsTrigger, { value: "parameters", children: "Parameters" })), _jsxs(TabsTrigger, { value: "headers", children: ["Headers", " ", formState.headers.length > 0 &&
|
|
118
|
+
`(${formState.headers.length})`] }), _jsx(TabsTrigger, { value: "body", disabled: !["POST", "PUT", "PATCH", "DELETE"].includes(method.toUpperCase()), children: "Body" })] }), _jsxs("div", { className: "flex gap-2 items-center", children: ["Auth:", _jsxs(Select, { onValueChange: (value) => setValue("identity", value), value: formState.identity, defaultValue: formState.identity, children: [_jsx(SelectTrigger, { className: "w-[180px] flex", children: identities.isPending ? _jsx(Spinner, {}) : _jsx(SelectValue, {}) }), _jsxs(SelectContent, { align: "center", children: [_jsx(SelectItem, { value: NO_IDENTITY, children: "None" }), identities.data?.map((identity) => (_jsx(SelectItem, { value: identity.id, children: identity.label }, identity.id)))] })] })] })] }), _jsx(TabsContent, { value: "headers", children: _jsx(Headers, { control: control, register: register }) }), _jsxs(TabsContent, { value: "parameters", children: [pathParams.length > 0 && (_jsxs("div", { className: "flex flex-col gap-4 my-4", children: [_jsx("span", { className: "font-semibold", children: "Path Parameters" }), _jsx(PathParams, { control: control })] })), queryParams.length > 0 && (_jsxs("div", { className: "flex flex-col gap-4 my-4", children: [_jsx("span", { className: "font-semibold", children: "Query Parameters" }), _jsx(QueryParams, { control: control, queryParams: queryParams })] }))] }), _jsx(TabsContent, { value: "body", children: _jsx("textarea", { ...register("body"), className: "border w-full rounded p-2 bg-muted h-40" }) })] })] }), _jsx("div", { className: "flex flex-col gap-4 p-8 bg-muted/70", children: queryMutation.error ? (_jsxs("div", { children: ["Error:", " ", queryMutation.error.message ||
|
|
119
|
+
String(queryMutation.error) ||
|
|
120
|
+
"Unexpected error"] })) : queryMutation.data ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("div", { className: "flex gap-2", children: _jsxs("div", { className: "flex text-xs gap-6", children: [_jsxs("div", { children: ["Status: ", queryMutation.data.status, " ", statusCodeMap[queryMutation.data.status] ?? ""] }), _jsxs("div", { children: ["Time: ", queryMutation.data.time.toFixed(0), "ms"] }), _jsxs("div", { children: ["Size: ", queryMutation.data.size, " B"] })] }) }), _jsxs(Tabs, { defaultValue: "response", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "response", children: "Response" }), _jsx(TabsTrigger, { value: "headers", children: headerEntries.length
|
|
109
121
|
? `Headers (${headerEntries.length})`
|
|
110
|
-
: "No headers" })] }), _jsx(TabsContent, { value: "response", children: _jsx(
|
|
122
|
+
: "No headers" })] }), _jsx(TabsContent, { value: "response", children: _jsx(ResponseTab, { headers: queryMutation.data.headers, body: queryMutation.data.body }) }), _jsx(TabsContent, { value: "headers", children: _jsxs(Card, { className: "grid grid-cols-2 w-full gap-2.5 font-mono text-xs shadow-none p-4", children: [_jsx("div", { className: "font-semibold", children: "Key" }), _jsx("div", { className: "font-semibold", children: "Value" }), headerEntries.map(([key, value]) => (_jsxs(Fragment, { children: [_jsx("div", { children: key }), _jsx("div", { className: "break-words", children: value })] }, key)))] }) })] })] })) : (_jsx("div", { className: "grid place-items-center h-full", children: _jsx("span", { className: "text-[16px] font-semibold text-muted-foreground", children: queryMutation.isPending ? (_jsx(Spinner, {})) : ("Send a request first to see the response here") }) })) })] }) }) }));
|
|
111
123
|
};
|
|
112
124
|
export default Playground;
|
|
113
125
|
//# 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,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Playground.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/Playground.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type PropsWithChildren } from "react";
|
|
1
2
|
import { type PlaygroundContentProps } from "./Playground.js";
|
|
2
|
-
|
|
3
|
+
export type PlaygroundDialogProps = PropsWithChildren<PlaygroundContentProps>;
|
|
4
|
+
declare const PlaygroundDialog: (props: PlaygroundDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
5
|
export { PlaygroundDialog };
|
|
@@ -6,7 +6,7 @@ import { Dialog, DialogContent, DialogTitle, DialogTrigger, } from "../../../com
|
|
|
6
6
|
import { Playground } from "./Playground.js";
|
|
7
7
|
const PlaygroundDialog = (props) => {
|
|
8
8
|
const [open, setOpen] = useState(false);
|
|
9
|
-
return (_jsxs(Dialog, { onOpenChange: (open) => setOpen(open), children: [_jsx(DialogTrigger, { asChild: true, children: _jsx(CirclePlayIcon, { className: "cursor-pointer text-primary hover:text-primary/80", size: 16 }) }), _jsxs(DialogContent, { className: "max-w-screen-xl w-full h-5/6 overflow-auto p-0", "aria-describedby": undefined, children: [_jsx(VisuallyHidden, { children: _jsx(DialogTitle, { children: "Playground" }) }), open && _jsx(Playground, { ...props })] })] }));
|
|
9
|
+
return (_jsxs(Dialog, { onOpenChange: (open) => setOpen(open), children: [_jsx(DialogTrigger, { asChild: true, children: props.children ?? (_jsx(CirclePlayIcon, { className: "cursor-pointer text-primary hover:text-primary/80", size: 16 })) }), _jsxs(DialogContent, { className: "max-w-screen-xl w-full h-5/6 overflow-auto p-0", "aria-describedby": undefined, children: [_jsx(VisuallyHidden, { children: _jsx(DialogTitle, { children: "Playground" }) }), open && _jsx(Playground, { ...props })] })] }));
|
|
10
10
|
};
|
|
11
11
|
export { PlaygroundDialog };
|
|
12
12
|
//# sourceMappingURL=PlaygroundDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaygroundDialog.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/PlaygroundDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"PlaygroundDialog.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/PlaygroundDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAA0B,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAA+B,MAAM,iBAAiB,CAAC;AAI1E,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,CACL,MAAC,MAAM,IAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAC3C,KAAC,aAAa,IAAC,OAAO,kBACnB,KAAK,CAAC,QAAQ,IAAI,CACjB,KAAC,cAAc,IACb,SAAS,EAAC,mDAAmD,EAC7D,IAAI,EAAE,EAAE,GACR,CACH,GACa,EAEhB,MAAC,aAAa,IACZ,SAAS,EAAC,gDAAgD,sBACxC,SAAS,aAE3B,KAAC,cAAc,cACb,KAAC,WAAW,6BAAyB,GACtB,EAChB,IAAI,IAAI,KAAC,UAAU,OAAK,KAAK,GAAI,IACpB,IACT,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Control } from "react-hook-form";
|
|
2
|
-
import type
|
|
3
|
-
export declare const QueryParams: ({ control, }: {
|
|
2
|
+
import { type PlaygroundForm, type QueryParam } from "./Playground.js";
|
|
3
|
+
export declare const QueryParams: ({ control, queryParams, }: {
|
|
4
4
|
control: Control<PlaygroundForm>;
|
|
5
|
+
queryParams: QueryParam[];
|
|
5
6
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,16 +5,21 @@ import { Button } from "../../../ui/Button.js";
|
|
|
5
5
|
import { Input } from "../../../ui/Input.js";
|
|
6
6
|
import { cn } from "../../../util/cn.js";
|
|
7
7
|
import { InlineInput } from "./InlineInput.js";
|
|
8
|
-
|
|
8
|
+
import { NO_IDENTITY, } from "./Playground.js";
|
|
9
|
+
export const QueryParams = ({ control, queryParams, }) => {
|
|
9
10
|
const { fields } = useFieldArray({
|
|
10
11
|
control,
|
|
11
12
|
name: "queryParams",
|
|
12
13
|
});
|
|
13
14
|
const form = useFormContext();
|
|
14
|
-
const requiredFields =
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return (_jsx("div", { className: "", children: _jsx("table", { className: "w-full [&_td]:border [&_td]:p-1.5 [&_td]:px-2", children: _jsx("tbody", { children: fields
|
|
15
|
+
const requiredFields = queryParams.map((param) => Boolean(param.isRequired));
|
|
16
|
+
const selectedIdentity = form.watch("identity");
|
|
17
|
+
const hasSelectedIdentity = selectedIdentity !== NO_IDENTITY;
|
|
18
|
+
return (_jsx("div", { className: "", children: _jsx("table", { className: "w-full [&_td]:border [&_td]:p-1.5 [&_td]:px-2", children: _jsx("tbody", { children: fields
|
|
19
|
+
.filter(
|
|
20
|
+
// TODO remove this hack for Accu or make it more generic
|
|
21
|
+
(field) => !(hasSelectedIdentity && field.name === "apikey"))
|
|
22
|
+
.map((field, i) => (_jsxs("tr", { className: "hover:bg-accent/40", children: [_jsx("td", { className: "text-center", children: _jsx(Controller, { control: control, name: `queryParams.${i}.active`, render: ({ field }) => (_jsx("input", { type: "checkbox", id: `queryParams.${i}.active`, checked: field.value, onChange: field.onChange })) }) }), _jsx("td", { children: _jsx(Controller, { control: control, render: ({ field }) => (_jsx(InlineInput, { asChild: true, children: _jsxs("label", { className: "flex items-center cursor-pointer", htmlFor: `queryParams.${i}.active`, title: requiredFields[i] ? "Required field" : undefined, children: [field.value, requiredFields[i] && _jsx("sup", { children: "\u00A0*" })] }) })), name: `queryParams.${i}.name` }) }), _jsx("td", { children: _jsxs("div", { className: "flex justify-between items-center", children: [_jsx(Controller, { control: control, render: ({ field }) => (_jsx(Input, { ...field, onChange: (e) => {
|
|
18
23
|
field.onChange(e.target.value);
|
|
19
24
|
if (e.target.value.length > 0) {
|
|
20
25
|
form.setValue(`queryParams.${i}.active`, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryParams.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/QueryParams.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAEL,UAAU,EACV,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryParams.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/QueryParams.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { SyntaxHighlight } from "../../../components/SyntaxHighlight.js";
|
|
4
|
+
import { Card } from "../../../ui/Card.js";
|
|
5
|
+
import { SimpleSelect } from "../SimpleSelect.js";
|
|
6
|
+
const mimeTypeToLanguage = (mimeType) => {
|
|
7
|
+
const mimeTypeMapping = {
|
|
8
|
+
"application/json": "json",
|
|
9
|
+
"text/json": "json",
|
|
10
|
+
"text/html": "html",
|
|
11
|
+
"text/css": "css",
|
|
12
|
+
"text/javascript": "javascript",
|
|
13
|
+
"application/xml": "xml",
|
|
14
|
+
"application/xhtml+xml": "xhtml",
|
|
15
|
+
};
|
|
16
|
+
return Object.entries(mimeTypeMapping).find(([mime]) => mimeType.includes(mime))?.[1];
|
|
17
|
+
};
|
|
18
|
+
const detectLanguage = (headers) => {
|
|
19
|
+
const contentType = headers.get("Content-Type") || "";
|
|
20
|
+
return mimeTypeToLanguage(contentType);
|
|
21
|
+
};
|
|
22
|
+
const tryParseJson = (body) => {
|
|
23
|
+
try {
|
|
24
|
+
return JSON.stringify(JSON.parse(body), null, 2);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export const ResponseTab = ({ body = "", headers, }) => {
|
|
31
|
+
const detectedLanguage = detectLanguage(headers);
|
|
32
|
+
const jsonContent = tryParseJson(body);
|
|
33
|
+
const beautifiedBody = jsonContent || body;
|
|
34
|
+
const [view, setView] = useState(jsonContent ? "formatted" : "raw");
|
|
35
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Card, { className: "shadow-none", children: _jsx(SyntaxHighlight, { language: view === "raw" ? (jsonContent ? "plain" : detectedLanguage) : "json", noBackground: true, showLanguageIndicator: true, className: "overflow-x-auto p-4 text-xs", code: view === "raw" ? body : beautifiedBody }) }), jsonContent && (_jsx("div", { className: "flex justify-end", children: _jsx(SimpleSelect, { value: view, onChange: (e) => setView(e.target.value), options: [
|
|
36
|
+
{ value: "formatted", label: "Formatted" },
|
|
37
|
+
{ value: "raw", label: "Raw" },
|
|
38
|
+
] }) }))] }));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=ResponseTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseTab.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/ResponseTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC9C,MAAM,eAAe,GAAG;QACtB,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,YAAY;QAC/B,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,OAAO;KACjC,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CACrD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxB,EAAE,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,IAAI,GAAG,EAAE,EACT,OAAO,GAIR,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,WAAW,IAAI,IAAI,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAC9B,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAClC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,YAC3B,KAAC,eAAe,IACd,QAAQ,EACN,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAEtE,YAAY,QACZ,qBAAqB,QACrB,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,GAC5C,GACG,EACN,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,kBAAkB,YAC/B,KAAC,YAAY,IACX,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAA4B,CAAC,EAC/D,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;wBAC1C,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;qBAC/B,GACD,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/lib/ui/Button.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
+
size?: "default" | "sm" | "lg" | "xl" | "icon" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
4
7
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
5
8
|
asChild?: boolean;
|
|
6
9
|
}
|
|
7
10
|
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
export {};
|
package/dist/lib/ui/Button.js
CHANGED
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Slot } from "@radix-ui/react-slot";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
3
4
|
import * as React from "react";
|
|
4
5
|
import { cn } from "../util/cn.js";
|
|
5
|
-
|
|
6
|
+
const buttonVariants = cva("not-prose inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", {
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
10
|
+
destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
11
|
+
outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
|
|
12
|
+
secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
13
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
14
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
15
|
+
},
|
|
16
|
+
size: {
|
|
17
|
+
default: "h-9 px-4 py-2",
|
|
18
|
+
sm: "h-8 rounded-md px-3 text-xs",
|
|
19
|
+
lg: "h-10 rounded-md px-8",
|
|
20
|
+
xl: "h-14 rounded-lg px-10 text-lg",
|
|
21
|
+
icon: "h-9 w-9",
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
size: "default",
|
|
27
|
+
},
|
|
28
|
+
});
|
|
6
29
|
export const Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
7
30
|
const Comp = asChild ? Slot : "button";
|
|
8
31
|
return (_jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref: ref, ...props }));
|
|
@@ -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;
|
|
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,GAAG,GAAG,CACxB,+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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const fetchTimeout: (input: RequestInfo, init?: RequestInit, timeout?: number) => Promise<Response>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const fetchTimeout = async (input, init, timeout = 5000) => {
|
|
2
|
+
const controller = new AbortController();
|
|
3
|
+
const signal = controller.signal;
|
|
4
|
+
const fetchPromise = fetch(input, { ...init, signal });
|
|
5
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
6
|
+
const timer = setTimeout(() => {
|
|
7
|
+
controller.abort("Request timed out");
|
|
8
|
+
reject(new Error("Request timed out"));
|
|
9
|
+
}, timeout);
|
|
10
|
+
void fetchPromise.finally(() => clearTimeout(timer));
|
|
11
|
+
});
|
|
12
|
+
return Promise.race([fetchPromise, timeoutPromise]);
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=fetchTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchTimeout.js","sourceRoot":"","sources":["../../../src/lib/util/fetchTimeout.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAkB,EAClB,IAAkB,EAClB,OAAO,GAAG,IAAI,EACK,EAAE;IACrB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAEjC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,KAAK,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as s } from "./jsx-runtime-CJBdjYYx.js";
|
|
2
|
-
import { b as m } from "./Markdown-
|
|
2
|
+
import { b as m } from "./Markdown-QsZ-PHET.js";
|
|
3
3
|
const a = ({
|
|
4
4
|
children: t,
|
|
5
5
|
className: r
|
|
@@ -7,4 +7,4 @@ const a = ({
|
|
|
7
7
|
export {
|
|
8
8
|
a as C
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=CategoryHeading-
|
|
10
|
+
//# sourceMappingURL=CategoryHeading-DCmchnA1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryHeading-
|
|
1
|
+
{"version":3,"file":"CategoryHeading-DCmchnA1.js","sources":["../src/lib/components/CategoryHeading.tsx"],"sourcesContent":["import { cx } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nexport const CategoryHeading = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n return (\n <div className={cx(\"text-sm font-semibold text-primary mb-2\", className)}>\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","cx"],"mappings":";;AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,4BAKK,OAAI,EAAA,WAAWC,EAAG,2CAA2CD,CAAS,GACpE,UAAAD,EACH,CAAA;"}
|