@redocly/theme
Version:
Shared UI components lib
52 lines • 2.4 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CatalogEntityMethodAndPath = CatalogEntityMethodAndPath;
const react_1 = __importDefault(require("react"));
const styled_components_1 = __importDefault(require("styled-components"));
const CatalogEntityInfoBar_1 = require("../../../components/Catalog/CatalogEntity/CatalogEntityInfoBar");
const HttpTag_1 = require("../../../components/Tags/HttpTag");
const hooks_1 = require("../../../core/hooks");
function CatalogEntityMethodAndPath({ entity }) {
var _a, _b;
const { useTranslate } = (0, hooks_1.useThemeHooks)();
const { translate } = useTranslate();
const method = (_a = entity.metadata) === null || _a === void 0 ? void 0 : _a.method;
const path = (_b = entity.metadata) === null || _b === void 0 ? void 0 : _b.path;
if (!method || !path) {
return null;
}
return (react_1.default.createElement(LinksWrapper, { "data-component-name": "Catalog/CatalogEntity/CatalogEntityMethodAndPath" },
react_1.default.createElement(Heading, null, translate('catalog.methodAndPath.label', 'Method & Path')),
react_1.default.createElement(CatalogEntityInfoBar_1.CatalogEntityInfoBar, { leftContent: react_1.default.createElement(Label, null,
react_1.default.createElement(MethodTag, { color: method.toLowerCase() }, method),
react_1.default.createElement(PathLabel, null, path)), withSeparator: false })));
}
const MethodTag = (0, styled_components_1.default)(HttpTag_1.HttpTag) `
width: auto;
justify-content: start;
`;
const PathLabel = styled_components_1.default.label `
margin-left: var(--spacing-xxs);
`;
const LinksWrapper = styled_components_1.default.div `
display: flex;
flex-direction: column;
border-radius: var(--border-radius);
background-color: var(--catalog-metadata-bg-color);
transition: all 0.2s ease-in-out;
margin: var(--spacing-lg) 0;
`;
const Label = styled_components_1.default.div `
display: flex;
width: 100%;
`;
const Heading = styled_components_1.default.h2 `
margin-bottom: var(--spacing-sm);
margin-top: 0;
font-size: var(--font-size-md);
color: var(--catalog-metadata-heading-color);
`;
//# sourceMappingURL=CatalogEntityMethodAndPath.js.map