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.
Files changed (67) hide show
  1. package/lib/markdown/utils.d.ts +5 -4
  2. package/lib/theme/ApiExplorer/CodeSnippets/code-snippets-types.d.ts +1 -1
  3. package/lib/theme/ApiExplorer/CodeSnippets/index.js +4 -113
  4. package/lib/theme/ApiExplorer/CodeSnippets/languages.d.ts +1 -0
  5. package/lib/theme/ApiExplorer/CodeSnippets/languages.js +30 -6
  6. package/lib/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +196 -2
  7. package/lib/theme/ApiExplorer/CodeTabs/index.js +34 -8
  8. package/lib/theme/ApiExplorer/MethodEndpoint/index.d.ts +2 -1
  9. package/lib/theme/ApiExplorer/MethodEndpoint/index.js +5 -2
  10. package/lib/theme/ApiExplorer/ParamOptions/index.js +1 -0
  11. package/lib/theme/ApiExplorer/Request/_Request.scss +5 -0
  12. package/lib/theme/ApiExplorer/index.js +6 -0
  13. package/lib/theme/ApiItem/Layout/index.d.ts +3 -0
  14. package/lib/theme/ApiItem/Layout/index.js +121 -0
  15. package/lib/theme/ApiItem/Layout/styles.module.css +17 -0
  16. package/lib/theme/ApiItem/index.js +16 -5
  17. package/lib/theme/ApiTabs/_ApiTabs.scss +0 -1
  18. package/lib/theme/ArrayBrackets/index.d.ts +3 -0
  19. package/lib/theme/ArrayBrackets/index.js +50 -0
  20. package/lib/theme/ParamsDetails/index.d.ts +6 -0
  21. package/lib/theme/ParamsDetails/index.js +134 -0
  22. package/lib/theme/ParamsItem/index.d.ts +3 -1
  23. package/lib/theme/ParamsItem/index.js +77 -16
  24. package/lib/theme/RequestSchema/index.d.ts +15 -0
  25. package/lib/theme/RequestSchema/index.js +235 -0
  26. package/lib/theme/ResponseExamples/index.d.ts +48 -0
  27. package/lib/theme/ResponseExamples/index.js +290 -0
  28. package/lib/theme/ResponseSchema/index.d.ts +15 -0
  29. package/lib/theme/ResponseSchema/index.js +206 -0
  30. package/lib/theme/Schema/index.d.ts +8 -0
  31. package/lib/theme/Schema/index.js +879 -0
  32. package/lib/theme/SchemaItem/index.d.ts +9 -9
  33. package/lib/theme/SchemaItem/index.js +110 -20
  34. package/lib/theme/SkeletonLoader/index.d.ts +6 -0
  35. package/lib/theme/SkeletonLoader/index.js +20 -0
  36. package/lib/theme/StatusCodes/index.d.ts +9 -0
  37. package/lib/theme/StatusCodes/index.js +78 -0
  38. package/lib/theme/styles.scss +56 -9
  39. package/package.json +9 -7
  40. package/src/markdown/utils.ts +7 -6
  41. package/src/plugin-content-docs.d.ts +2 -0
  42. package/src/theme/ApiExplorer/CodeSnippets/code-snippets-types.ts +2 -0
  43. package/src/theme/ApiExplorer/CodeSnippets/index.tsx +8 -113
  44. package/src/theme/ApiExplorer/CodeSnippets/languages.ts +26 -5
  45. package/src/theme/ApiExplorer/CodeTabs/_CodeTabs.scss +196 -2
  46. package/src/theme/ApiExplorer/CodeTabs/index.tsx +40 -9
  47. package/src/theme/ApiExplorer/MethodEndpoint/index.tsx +7 -3
  48. package/src/theme/ApiExplorer/ParamOptions/index.tsx +1 -0
  49. package/src/theme/ApiExplorer/Request/_Request.scss +5 -0
  50. package/src/theme/ApiExplorer/index.tsx +2 -0
  51. package/src/theme/ApiItem/Layout/index.tsx +85 -0
  52. package/src/theme/ApiItem/Layout/styles.module.css +17 -0
  53. package/src/theme/ApiItem/index.tsx +15 -3
  54. package/src/theme/ApiTabs/_ApiTabs.scss +0 -1
  55. package/src/theme/ArrayBrackets/index.tsx +37 -0
  56. package/src/theme/ParamsDetails/index.tsx +88 -0
  57. package/src/theme/ParamsItem/index.tsx +80 -17
  58. package/src/theme/RequestSchema/index.tsx +164 -0
  59. package/src/theme/ResponseExamples/index.tsx +290 -0
  60. package/src/theme/ResponseSchema/index.tsx +151 -0
  61. package/src/theme/Schema/index.tsx +928 -0
  62. package/src/theme/SchemaItem/index.tsx +116 -25
  63. package/src/theme/SkeletonLoader/index.tsx +18 -0
  64. package/src/theme/StatusCodes/index.tsx +72 -0
  65. package/src/theme/styles.scss +56 -9
  66. package/src/theme-classic.d.ts +0 -2
  67. 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;