docusaurus-theme-redoc
Version:
Redoc Component for DocusaurusV2
38 lines • 1.71 kB
JavaScript
"use strict";
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 useSpecData_1 = __importDefault(require("@theme/useSpecData"));
const clsx_1 = __importDefault(require("clsx"));
require("../../global");
const redoc_1 = require("redoc");
const useSpecOptions_1 = require("../../utils/useSpecOptions");
require("./styles.css");
const ServerRedoc_1 = __importDefault(require("./ServerRedoc"));
const isDevMode = process.env.NODE_ENV === 'development';
/*!
* Redocusaurus
* https://redocusaurus.vercel.app/
* (c) 2025 Rohit Gohri
* Released under the MIT License
*/
function Redoc(initProps) {
// eslint-disable-next-line react/destructuring-assignment
const specProps = (0, useSpecData_1.default)(initProps.id, initProps.spec);
const finalProps = {
...specProps,
...initProps,
};
const { spec, className, isSpecFile = spec != null, url, themeId, optionsOverrides, } = finalProps;
const { options } = (0, useSpecOptions_1.useSpecOptions)(themeId, optionsOverrides);
const enableServerRendering = spec != null && (!isDevMode || isSpecFile);
if (enableServerRendering) {
return react_1.default.createElement(ServerRedoc_1.default, { ...finalProps, spec: spec });
}
return (react_1.default.createElement("div", { className: (0, clsx_1.default)(['redocusaurus', className]) },
react_1.default.createElement(redoc_1.RedocStandalone, { specUrl: url, options: options })));
}
exports.default = Redoc;
//# sourceMappingURL=Redoc.js.map