docusaurus-theme-openapi-docs
Version:
OpenAPI theme for Docusaurus.
82 lines (81 loc) • 2.98 kB
JavaScript
"use strict";
/* ============================================================================
* Copyright (c) Palo Alto Networks
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
* ========================================================================== */
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const ApiTabs_1 = __importDefault(require("@theme/ApiTabs"));
const Details_1 = __importDefault(require("@theme/Details"));
const Markdown_1 = __importDefault(require("@theme/Markdown"));
const ResponseHeaders_1 = __importDefault(require("@theme/ResponseHeaders"));
const ResponseSchema_1 = __importDefault(require("@theme/ResponseSchema"));
const TabItem_1 = __importDefault(require("@theme/TabItem"));
const StatusCodes = ({ label, id, responses }) => {
if (!responses) return null;
const codes = Object.keys(responses);
if (codes.length === 0) return null;
return react_1.default.createElement(
ApiTabs_1.default,
{ label: label, id: id },
codes.map((code) => {
const response = responses[code];
const responseHeaders = response.headers;
return (
// @ts-ignore
react_1.default.createElement(
TabItem_1.default,
{ key: code, label: code, value: code },
react_1.default.createElement(
"div",
null,
response.description &&
react_1.default.createElement(
"div",
{ style: { marginTop: ".5rem", marginBottom: ".5rem" } },
react_1.default.createElement(
Markdown_1.default,
null,
response.description
)
)
),
responseHeaders &&
react_1.default.createElement(
Details_1.default,
{
className: "openapi-markdown__details",
"data-collapsed": true,
open: false,
style: { textAlign: "left", marginBottom: "1rem" },
summary: react_1.default.createElement(
"summary",
null,
react_1.default.createElement(
"strong",
null,
"Response Headers"
)
),
},
react_1.default.createElement(ResponseHeaders_1.default, {
responseHeaders: responseHeaders,
})
),
react_1.default.createElement(ResponseSchema_1.default, {
title: "Schema",
body: { content: response.content },
})
)
);
})
);
};
exports.default = StatusCodes;