docusaurus-theme-openapi-docs 4.0.1 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/markdown/utils.d.ts +5 -4
- package/lib/theme/ApiExplorer/CodeSnippets/code-snippets-types.d.ts +1 -1
- package/lib/theme/ApiExplorer/CodeSnippets/index.js +4 -113
- package/lib/theme/ApiExplorer/CodeSnippets/languages.d.ts +1 -0
- package/lib/theme/ApiExplorer/CodeSnippets/languages.js +30 -6
- package/lib/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +196 -2
- package/lib/theme/ApiExplorer/CodeTabs/index.js +34 -8
- package/lib/theme/ApiExplorer/MethodEndpoint/index.d.ts +2 -1
- package/lib/theme/ApiExplorer/MethodEndpoint/index.js +5 -2
- package/lib/theme/ApiExplorer/ParamOptions/index.js +1 -0
- package/lib/theme/ApiExplorer/Request/_Request.scss +5 -0
- package/lib/theme/ApiExplorer/index.js +6 -0
- package/lib/theme/ApiItem/Layout/index.d.ts +3 -0
- package/lib/theme/ApiItem/Layout/index.js +121 -0
- package/lib/theme/ApiItem/Layout/styles.module.css +17 -0
- package/lib/theme/ApiItem/index.js +16 -5
- package/lib/theme/ApiTabs/_ApiTabs.scss +0 -1
- package/lib/theme/ArrayBrackets/index.d.ts +3 -0
- package/lib/theme/ArrayBrackets/index.js +50 -0
- package/lib/theme/ParamsDetails/index.d.ts +6 -0
- package/lib/theme/ParamsDetails/index.js +134 -0
- package/lib/theme/ParamsItem/index.d.ts +3 -1
- package/lib/theme/ParamsItem/index.js +77 -16
- package/lib/theme/RequestSchema/index.d.ts +15 -0
- package/lib/theme/RequestSchema/index.js +235 -0
- package/lib/theme/ResponseExamples/index.d.ts +48 -0
- package/lib/theme/ResponseExamples/index.js +290 -0
- package/lib/theme/ResponseSchema/index.d.ts +15 -0
- package/lib/theme/ResponseSchema/index.js +206 -0
- package/lib/theme/Schema/index.d.ts +8 -0
- package/lib/theme/Schema/index.js +879 -0
- package/lib/theme/SchemaItem/index.d.ts +9 -9
- package/lib/theme/SchemaItem/index.js +110 -20
- package/lib/theme/SkeletonLoader/index.d.ts +6 -0
- package/lib/theme/SkeletonLoader/index.js +20 -0
- package/lib/theme/StatusCodes/index.d.ts +9 -0
- package/lib/theme/StatusCodes/index.js +78 -0
- package/lib/theme/styles.scss +56 -9
- package/package.json +9 -7
- package/src/markdown/utils.ts +7 -6
- package/src/plugin-content-docs.d.ts +2 -0
- package/src/theme/ApiExplorer/CodeSnippets/code-snippets-types.ts +2 -0
- package/src/theme/ApiExplorer/CodeSnippets/index.tsx +8 -113
- package/src/theme/ApiExplorer/CodeSnippets/languages.ts +26 -5
- package/src/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +196 -2
- package/src/theme/ApiExplorer/CodeTabs/index.tsx +40 -9
- package/src/theme/ApiExplorer/MethodEndpoint/index.tsx +7 -3
- package/src/theme/ApiExplorer/ParamOptions/index.tsx +1 -0
- package/src/theme/ApiExplorer/Request/_Request.scss +5 -0
- package/src/theme/ApiExplorer/index.tsx +2 -0
- package/src/theme/ApiItem/Layout/index.tsx +85 -0
- package/src/theme/ApiItem/Layout/styles.module.css +17 -0
- package/src/theme/ApiItem/index.tsx +15 -3
- package/src/theme/ApiTabs/_ApiTabs.scss +0 -1
- package/src/theme/ArrayBrackets/index.tsx +37 -0
- package/src/theme/ParamsDetails/index.tsx +88 -0
- package/src/theme/ParamsItem/index.tsx +80 -17
- package/src/theme/RequestSchema/index.tsx +164 -0
- package/src/theme/ResponseExamples/index.tsx +290 -0
- package/src/theme/ResponseSchema/index.tsx +151 -0
- package/src/theme/Schema/index.tsx +928 -0
- package/src/theme/SchemaItem/index.tsx +116 -25
- package/src/theme/SkeletonLoader/index.tsx +18 -0
- package/src/theme/StatusCodes/index.tsx +72 -0
- package/src/theme/styles.scss +56 -9
- package/src/theme-classic.d.ts +0 -2
- package/src/theme-openapi.d.ts +4 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* ============================================================================
|
|
3
|
+
* Copyright (c) Palo Alto Networks
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
* ========================================================================== */
|
|
8
|
+
var __createBinding =
|
|
9
|
+
(this && this.__createBinding) ||
|
|
10
|
+
(Object.create
|
|
11
|
+
? function (o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (
|
|
15
|
+
!desc ||
|
|
16
|
+
("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
|
|
17
|
+
) {
|
|
18
|
+
desc = {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return m[k];
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
Object.defineProperty(o, k2, desc);
|
|
26
|
+
}
|
|
27
|
+
: function (o, m, k, k2) {
|
|
28
|
+
if (k2 === undefined) k2 = k;
|
|
29
|
+
o[k2] = m[k];
|
|
30
|
+
});
|
|
31
|
+
var __setModuleDefault =
|
|
32
|
+
(this && this.__setModuleDefault) ||
|
|
33
|
+
(Object.create
|
|
34
|
+
? function (o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}
|
|
37
|
+
: function (o, v) {
|
|
38
|
+
o["default"] = v;
|
|
39
|
+
});
|
|
40
|
+
var __importStar =
|
|
41
|
+
(this && this.__importStar) ||
|
|
42
|
+
function (mod) {
|
|
43
|
+
if (mod && mod.__esModule) return mod;
|
|
44
|
+
var result = {};
|
|
45
|
+
if (mod != null)
|
|
46
|
+
for (var k in mod)
|
|
47
|
+
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
|
|
48
|
+
__createBinding(result, mod, k);
|
|
49
|
+
__setModuleDefault(result, mod);
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
52
|
+
var __importDefault =
|
|
53
|
+
(this && this.__importDefault) ||
|
|
54
|
+
function (mod) {
|
|
55
|
+
return mod && mod.__esModule ? mod : { default: mod };
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
const react_1 = __importStar(require("react"));
|
|
59
|
+
const BrowserOnly_1 = __importDefault(require("@docusaurus/BrowserOnly"));
|
|
60
|
+
const Details_1 = __importDefault(require("@theme/Details"));
|
|
61
|
+
const MimeTabs_1 = __importDefault(require("@theme/MimeTabs")); // Assume these components exist
|
|
62
|
+
const ResponseExamples_1 = require("@theme/ResponseExamples");
|
|
63
|
+
const Schema_1 = __importDefault(require("@theme/Schema"));
|
|
64
|
+
const SchemaTabs_1 = __importDefault(require("@theme/SchemaTabs"));
|
|
65
|
+
const SkeletonLoader_1 = __importDefault(require("@theme/SkeletonLoader"));
|
|
66
|
+
const TabItem_1 = __importDefault(require("@theme/TabItem"));
|
|
67
|
+
const createDescription_1 = require("docusaurus-plugin-openapi-docs/lib/markdown/createDescription");
|
|
68
|
+
const ResponseSchemaComponent = ({ title, body, style }) => {
|
|
69
|
+
if (
|
|
70
|
+
body === undefined ||
|
|
71
|
+
body.content === undefined ||
|
|
72
|
+
Object.keys(body).length === 0 ||
|
|
73
|
+
Object.keys(body.content).length === 0
|
|
74
|
+
) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
// Get all MIME types, including vendor-specific
|
|
78
|
+
const mimeTypes = Object.keys(body.content);
|
|
79
|
+
if (mimeTypes && mimeTypes.length) {
|
|
80
|
+
return react_1.default.createElement(
|
|
81
|
+
MimeTabs_1.default,
|
|
82
|
+
{ className: "openapi-tabs__mime", schemaType: "response" },
|
|
83
|
+
mimeTypes.map((mimeType) => {
|
|
84
|
+
const responseExamples = body.content[mimeType].examples;
|
|
85
|
+
const responseExample = body.content[mimeType].example;
|
|
86
|
+
const firstBody =
|
|
87
|
+
body.content[mimeType].schema ?? body.content[mimeType];
|
|
88
|
+
if (
|
|
89
|
+
firstBody === undefined &&
|
|
90
|
+
responseExample === undefined &&
|
|
91
|
+
responseExamples === undefined
|
|
92
|
+
) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
if (firstBody) {
|
|
96
|
+
return (
|
|
97
|
+
// @ts-ignore
|
|
98
|
+
react_1.default.createElement(
|
|
99
|
+
TabItem_1.default,
|
|
100
|
+
{ key: mimeType, label: mimeType, value: mimeType },
|
|
101
|
+
react_1.default.createElement(
|
|
102
|
+
SchemaTabs_1.default,
|
|
103
|
+
{ className: "openapi-tabs__schema" },
|
|
104
|
+
react_1.default.createElement(
|
|
105
|
+
TabItem_1.default,
|
|
106
|
+
{ key: title, label: title, value: title },
|
|
107
|
+
react_1.default.createElement(
|
|
108
|
+
Details_1.default,
|
|
109
|
+
{
|
|
110
|
+
className: "openapi-markdown__details response",
|
|
111
|
+
"data-collapsed": false,
|
|
112
|
+
open: true,
|
|
113
|
+
style: style,
|
|
114
|
+
summary: react_1.default.createElement(
|
|
115
|
+
react_1.default.Fragment,
|
|
116
|
+
null,
|
|
117
|
+
react_1.default.createElement(
|
|
118
|
+
"summary",
|
|
119
|
+
null,
|
|
120
|
+
react_1.default.createElement(
|
|
121
|
+
"strong",
|
|
122
|
+
{
|
|
123
|
+
className:
|
|
124
|
+
"openapi-markdown__details-summary-response",
|
|
125
|
+
},
|
|
126
|
+
title,
|
|
127
|
+
body.required === true &&
|
|
128
|
+
react_1.default.createElement(
|
|
129
|
+
"span",
|
|
130
|
+
{ className: "openapi-schema__required" },
|
|
131
|
+
"required"
|
|
132
|
+
)
|
|
133
|
+
)
|
|
134
|
+
)
|
|
135
|
+
),
|
|
136
|
+
},
|
|
137
|
+
react_1.default.createElement(
|
|
138
|
+
"div",
|
|
139
|
+
{ style: { textAlign: "left", marginLeft: "1rem" } },
|
|
140
|
+
body.description &&
|
|
141
|
+
react_1.default.createElement(
|
|
142
|
+
"div",
|
|
143
|
+
{
|
|
144
|
+
style: { marginTop: "1rem", marginBottom: "1rem" },
|
|
145
|
+
},
|
|
146
|
+
(0, createDescription_1.createDescription)(
|
|
147
|
+
body.description
|
|
148
|
+
)
|
|
149
|
+
)
|
|
150
|
+
),
|
|
151
|
+
react_1.default.createElement(
|
|
152
|
+
"ul",
|
|
153
|
+
{ style: { marginLeft: "1rem" } },
|
|
154
|
+
react_1.default.createElement(Schema_1.default, {
|
|
155
|
+
schema: firstBody,
|
|
156
|
+
schemaType: "response",
|
|
157
|
+
})
|
|
158
|
+
)
|
|
159
|
+
)
|
|
160
|
+
),
|
|
161
|
+
firstBody &&
|
|
162
|
+
(0, ResponseExamples_1.ExampleFromSchema)({
|
|
163
|
+
schema: firstBody,
|
|
164
|
+
mimeType: mimeType,
|
|
165
|
+
}),
|
|
166
|
+
responseExamples &&
|
|
167
|
+
(0, ResponseExamples_1.ResponseExamples)({
|
|
168
|
+
responseExamples,
|
|
169
|
+
mimeType,
|
|
170
|
+
}),
|
|
171
|
+
responseExample &&
|
|
172
|
+
(0, ResponseExamples_1.ResponseExample)({
|
|
173
|
+
responseExample,
|
|
174
|
+
mimeType,
|
|
175
|
+
})
|
|
176
|
+
)
|
|
177
|
+
)
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
return undefined;
|
|
181
|
+
})
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
return undefined;
|
|
185
|
+
};
|
|
186
|
+
const ResponseSchema = (props) => {
|
|
187
|
+
return react_1.default.createElement(
|
|
188
|
+
BrowserOnly_1.default,
|
|
189
|
+
{
|
|
190
|
+
fallback: react_1.default.createElement(SkeletonLoader_1.default, {
|
|
191
|
+
size: "md",
|
|
192
|
+
}),
|
|
193
|
+
},
|
|
194
|
+
() => {
|
|
195
|
+
const LazyComponent = react_1.default.lazy(() =>
|
|
196
|
+
Promise.resolve({ default: ResponseSchemaComponent })
|
|
197
|
+
);
|
|
198
|
+
return react_1.default.createElement(
|
|
199
|
+
react_1.Suspense,
|
|
200
|
+
{ fallback: null },
|
|
201
|
+
react_1.default.createElement(LazyComponent, { ...props })
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
);
|
|
205
|
+
};
|
|
206
|
+
exports.default = ResponseSchema;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { SchemaObject } from "docusaurus-plugin-openapi-docs/lib/openapi/types";
|
|
3
|
+
interface SchemaProps {
|
|
4
|
+
schema: SchemaObject;
|
|
5
|
+
schemaType: "request" | "response";
|
|
6
|
+
}
|
|
7
|
+
declare const SchemaNode: React.FC<SchemaProps>;
|
|
8
|
+
export default SchemaNode;
|