fumadocs-openapi 7.0.7 → 7.0.9
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/playground/client.d.ts +4 -2
- package/dist/playground/client.d.ts.map +1 -1
- package/dist/playground/client.js +32 -27
- package/dist/playground/client.lazy.d.ts.map +1 -1
- package/dist/playground/client.lazy.js +1 -1
- package/dist/playground/index.d.ts.map +1 -1
- package/dist/playground/index.js +5 -2
- package/package.json +7 -7
|
@@ -28,7 +28,9 @@ export interface CustomField<TName extends FieldPath<FormValues>, Info> {
|
|
|
28
28
|
export type ClientProps = HTMLAttributes<HTMLFormElement> & {
|
|
29
29
|
route: string;
|
|
30
30
|
method: string;
|
|
31
|
-
authorization?: Security
|
|
31
|
+
authorization?: Security & {
|
|
32
|
+
persistentId: string;
|
|
33
|
+
};
|
|
32
34
|
parameters?: PrimitiveRequestField[];
|
|
33
35
|
body?: RequestSchema & {
|
|
34
36
|
mediaType: string;
|
|
@@ -61,6 +63,6 @@ export type DynamicField = {
|
|
|
61
63
|
schema: RequestSchema | ReferenceSchema;
|
|
62
64
|
};
|
|
63
65
|
export declare function useSchemaContext(): SchemaContextType;
|
|
64
|
-
export
|
|
66
|
+
export default function Client({ route, method, authorization, parameters, body, fields, references, proxyUrl, components: { ResultDisplay }, ...rest }: ClientProps): import("react/jsx-runtime").JSX.Element;
|
|
65
67
|
export {};
|
|
66
68
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/playground/client.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EAInB,KAAK,EAAE,EAGP,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACd,MAAM,oBAAoB,CAAC;AAa5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AASrD,UAAU,UAAU;IAClB,aAAa,EACT,MAAM,GACN;QACE,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACN,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI;IACpE,MAAM,EAAE,CAAC,KAAK,EAAE;QACd;;WAEG;QACH,IAAI,EAAE,IAAI,CAAC;QACX,KAAK,EAAE,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,UAAU,EAAE,oBAAoB,CAAC;QACjC,SAAS,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;KAC3C,KAAK,YAAY,CAAC;CACpB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/playground/client.tsx"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ function toRequestData(method, mediaType, value) {
|
|
|
34
34
|
query: value.query,
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
export function Client({ route, method = 'GET', authorization, parameters, body, fields, references, proxyUrl, components: { ResultDisplay = DefaultResultDisplay } = {}, ...rest }) {
|
|
37
|
+
export default function Client({ route, method = 'GET', authorization, parameters, body, fields, references, proxyUrl, components: { ResultDisplay = DefaultResultDisplay } = {}, ...rest }) {
|
|
38
38
|
const { server } = useServerSelectContext();
|
|
39
39
|
const dynamicRef = useRef(new Map());
|
|
40
40
|
const requestData = useRequestData();
|
|
@@ -91,6 +91,35 @@ function FormBody({ authorization, parameters = [], body, fields = {}, }) {
|
|
|
91
91
|
const params = useMemo(() => {
|
|
92
92
|
return paramTypes.map((param) => parameters.filter((v) => v.in === param));
|
|
93
93
|
}, [parameters]);
|
|
94
|
+
function renderAuth() {
|
|
95
|
+
if (!authorization)
|
|
96
|
+
return null;
|
|
97
|
+
const schema = authorization.type === 'http' && authorization.scheme === 'basic'
|
|
98
|
+
? {
|
|
99
|
+
type: 'object',
|
|
100
|
+
isRequired: true,
|
|
101
|
+
properties: {
|
|
102
|
+
username: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
isRequired: true,
|
|
105
|
+
},
|
|
106
|
+
password: {
|
|
107
|
+
type: 'string',
|
|
108
|
+
isRequired: true,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
}
|
|
112
|
+
: {
|
|
113
|
+
type: 'string',
|
|
114
|
+
isRequired: true,
|
|
115
|
+
description: 'The Authorization access token',
|
|
116
|
+
};
|
|
117
|
+
if (fields?.auth)
|
|
118
|
+
return renderCustomField('authorization', schema, fields.auth);
|
|
119
|
+
return (_jsxs(_Fragment, { children: [_jsx(FieldSet, { fieldName: "authorization", name: "Authorization", field: schema }), authorization?.type === 'oauth2' && (_jsx(OauthDialogTrigger, { type: "button", className: cn(buttonVariants({
|
|
120
|
+
color: 'secondary',
|
|
121
|
+
})), children: "Open" }))] }));
|
|
122
|
+
}
|
|
94
123
|
return (_jsxs(_Fragment, { children: [servers.length > 1 ? (_jsx(CollapsiblePanel, { title: "Server URL", children: _jsx(ServerSelect, { server: server, onServerChanged: setServer, onVariablesChanged: setServerVariables }) })) : null, params.map((param, i) => {
|
|
95
124
|
const name = paramNames[i];
|
|
96
125
|
const type = paramTypes[i];
|
|
@@ -98,7 +127,7 @@ function FormBody({ authorization, parameters = [], body, fields = {}, }) {
|
|
|
98
127
|
return;
|
|
99
128
|
if (type === 'header' && !authorization && param.length === 0)
|
|
100
129
|
return;
|
|
101
|
-
return (_jsxs(CollapsiblePanel, { title: name, children: [type === 'header'
|
|
130
|
+
return (_jsxs(CollapsiblePanel, { title: name, children: [type === 'header' ? renderAuth() : null, param.map((field) => {
|
|
102
131
|
const fieldName = `${type}.${field.name}`;
|
|
103
132
|
if (!fields?.parameter) {
|
|
104
133
|
return (_jsx(FieldSet, { name: field.name, fieldName: fieldName, field: field }, fieldName));
|
|
@@ -120,30 +149,6 @@ function AuthProvider({ authorization, children, }) {
|
|
|
120
149
|
const flow = Object.keys(authorization.flows)[0];
|
|
121
150
|
return (_jsx(OauthDialog, { flow: flow, scheme: authorization, setToken: (token) => form.setValue('authorization', `Bearer ${token}`), children: children }));
|
|
122
151
|
}
|
|
123
|
-
function AuthField({ authorization }) {
|
|
124
|
-
return (_jsxs(_Fragment, { children: [_jsx(FieldSet, { fieldName: "authorization", name: "Authorization", field: authorization?.type === 'http' && authorization.scheme === 'basic'
|
|
125
|
-
? {
|
|
126
|
-
type: 'object',
|
|
127
|
-
isRequired: true,
|
|
128
|
-
properties: {
|
|
129
|
-
username: {
|
|
130
|
-
type: 'string',
|
|
131
|
-
isRequired: true,
|
|
132
|
-
},
|
|
133
|
-
password: {
|
|
134
|
-
type: 'string',
|
|
135
|
-
isRequired: true,
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
}
|
|
139
|
-
: {
|
|
140
|
-
type: 'string',
|
|
141
|
-
isRequired: true,
|
|
142
|
-
description: 'The Authorization access token',
|
|
143
|
-
} }), authorization?.type === 'oauth2' && (_jsx(OauthDialogTrigger, { type: "button", className: cn(buttonVariants({
|
|
144
|
-
color: 'secondary',
|
|
145
|
-
})), children: "Open" }))] }));
|
|
146
|
-
}
|
|
147
152
|
function Route({ route, ...props }) {
|
|
148
153
|
const segments = route.split('/').filter((part) => part.length > 0);
|
|
149
154
|
return (_jsx("div", { ...props, className: cn('flex flex-row items-center gap-0.5 overflow-auto text-nowrap', props.className), children: segments.map((part, index) => (_jsxs(Fragment, { children: [_jsx("span", { className: "text-fd-muted-foreground", children: "/" }), part.startsWith('{') && part.endsWith('}') ? (_jsx("code", { className: "bg-fd-primary/10 text-fd-primary", children: part })) : (_jsx("code", { className: "text-fd-foreground", children: part }))] }, index))) }));
|
|
@@ -159,7 +164,7 @@ function DefaultResultDisplay({ data }) {
|
|
|
159
164
|
}
|
|
160
165
|
function usePersistentAuthInfo(authorization) {
|
|
161
166
|
const key = authorization
|
|
162
|
-
? `__fumadocs_auth_${
|
|
167
|
+
? `__fumadocs_auth_${authorization.persistentId}`
|
|
163
168
|
: null;
|
|
164
169
|
const [info, setInfo] = useState(() => {
|
|
165
170
|
if (!authorization || authorization.type === 'apiKey')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.lazy.d.ts","sourceRoot":"","sources":["../../src/playground/client.lazy.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,+
|
|
1
|
+
{"version":3,"file":"client.lazy.d.ts","sourceRoot":"","sources":["../../src/playground/client.lazy.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,+DAAoC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playground/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EACd,MAAM,SAAS,CAAC;AAOjB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playground/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAEjB,aAAa,EACd,MAAM,SAAS,CAAC;AAOjB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAClD,eAAe,GAAG;IAChB,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC5C,CAAC;AAEJ,UAAU,eAAgB,SAAQ,UAAU;IAC1C,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACvC;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAY,SAAQ,UAAU;IACtC,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CAC/B;AAED,UAAU,UAAW,SAAQ,UAAU;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAa,SAAQ,UAAU;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC;IAE5D;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzC;AAED,UAAU,cAAe,SAAQ,UAAU;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC;CACxD;AAED,UAAU,UAAW,SAAQ,UAAU;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,WAAW,GACX,YAAY,GACZ,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAUf,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,aAAa,CAAC;IAEnB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B;AAED,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEzD,wBAAsB,aAAa,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,GAAG,EACH,MAAM,GACP,EAAE,kBAAkB,oDAsCpB"}
|
package/dist/playground/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { getPreferredType, } from '../utils/schema.js';
|
|
3
3
|
import { getSecurities } from '../utils/get-security.js';
|
|
4
|
+
import { ClientLazy } from '../playground/client.lazy.js';
|
|
4
5
|
export async function APIPlayground({ path, method, ctx, client, }) {
|
|
5
|
-
const { ClientLazy } = await import('./client.lazy.js');
|
|
6
6
|
let currentId = 0;
|
|
7
7
|
const bodyContent = method.requestBody?.content;
|
|
8
8
|
const mediaType = bodyContent ? getPreferredType(bodyContent) : undefined;
|
|
@@ -59,7 +59,10 @@ function getAuthorizationField(method, { schema: { document } }) {
|
|
|
59
59
|
if (flow === 'implicit' || flow === 'password')
|
|
60
60
|
throw new Error(`OAuth 2.0 flow type: ${flow} is not supported, consider other types like \`authorizationCode\` instead.`);
|
|
61
61
|
}
|
|
62
|
-
return
|
|
62
|
+
return {
|
|
63
|
+
persistentId: Object.keys(item)[0],
|
|
64
|
+
...scheme,
|
|
65
|
+
};
|
|
63
66
|
}
|
|
64
67
|
function getIdFromSchema(schema, required, ctx) {
|
|
65
68
|
const registered = ctx.registered.get(schema);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-openapi",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.9",
|
|
4
4
|
"description": "Generate MDX docs for your OpenAPI spec",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"NextJs",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"github-slugger": "^2.0.0",
|
|
55
55
|
"hast-util-to-jsx-runtime": "^2.3.6",
|
|
56
56
|
"js-yaml": "^4.1.0",
|
|
57
|
-
"lucide-react": "^0.
|
|
57
|
+
"lucide-react": "^0.486.0",
|
|
58
58
|
"next-themes": "^0.4.6",
|
|
59
59
|
"openapi-sampler": "^1.6.1",
|
|
60
60
|
"react-hook-form": "^7.55.0",
|
|
@@ -62,19 +62,19 @@
|
|
|
62
62
|
"remark-rehype": "^11.1.1",
|
|
63
63
|
"shiki": "^3.2.1",
|
|
64
64
|
"xml-js": "^1.6.11",
|
|
65
|
-
"fumadocs-core": "15.2.
|
|
66
|
-
"fumadocs-ui": "15.2.
|
|
65
|
+
"fumadocs-core": "15.2.1",
|
|
66
|
+
"fumadocs-ui": "15.2.1"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@scalar/api-client-react": "^1.2.
|
|
69
|
+
"@scalar/api-client-react": "^1.2.10",
|
|
70
70
|
"@types/js-yaml": "^4.0.9",
|
|
71
|
-
"@types/node": "22.13.
|
|
71
|
+
"@types/node": "22.13.16",
|
|
72
72
|
"@types/openapi-sampler": "^1.0.3",
|
|
73
73
|
"@types/react": "^19.0.12",
|
|
74
74
|
"next": "15.2.4",
|
|
75
75
|
"openapi-types": "^12.1.3",
|
|
76
76
|
"tailwindcss": "^4.0.17",
|
|
77
|
-
"tsc-alias": "^1.8.
|
|
77
|
+
"tsc-alias": "^1.8.13",
|
|
78
78
|
"eslint-config-custom": "0.0.0",
|
|
79
79
|
"tsconfig": "0.0.0"
|
|
80
80
|
},
|