UNPKG

@asyncapi/react-component

Version:

A React component for AsyncAPI specification.

37 lines 2.75 kB
import React from 'react'; import { Security } from './Security'; import { Markdown, Schema, Bindings, Tags, Extensions } from '../../components'; import { useConfig } from '../../contexts'; import { CommonHelpers, SchemaHelpers } from '../../helpers'; export var Server = function (_a) { var serverName = _a.serverName, server = _a.server; var config = useConfig(); if (!server) { return null; } var urlVariables = SchemaHelpers.serverVariablesToSchema(server.variables()); var protocolVersion = server.protocolVersion(); var security = server.security(); return (React.createElement("div", { className: "panel-item" }, React.createElement("div", { className: "panel-item--center px-8" }, React.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border bg-gray-100" }, React.createElement("div", null, React.createElement("span", { className: "font-mono text-base" }, server.url()), React.createElement("strong", { className: "bg-teal-500 no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm" }, protocolVersion ? "".concat(server.protocol(), " ").concat(protocolVersion) : server.protocol()), React.createElement("strong", { className: "bg-blue-500 no-underline text-white uppercase rounded px-2 py-1 text-sm" }, serverName)), server.hasDescription() && (React.createElement("div", { className: "mt-2" }, React.createElement(Markdown, null, server.description()))), urlVariables && (React.createElement("div", { className: "mt-2", id: "".concat(CommonHelpers.getIdentifier("server-".concat(serverName, "-url-variables"), config)) }, React.createElement(Schema, { schemaName: "URL Variables", schema: urlVariables, expanded: true }))), React.createElement("div", { id: "".concat(CommonHelpers.getIdentifier("server-".concat(serverName, "-security"), config)) }, React.createElement(Security, { protocol: server.protocol(), security: security })), server.bindings() && (React.createElement("div", { className: "mt-2" }, React.createElement(Bindings, { name: "Server specific information", bindings: server.bindings() }))), React.createElement(Extensions, { name: "Server Extensions", item: server }), server.tags().length > 0 && (React.createElement("div", { className: "mt-2" }, React.createElement(Tags, { tags: server.tags() }))))), React.createElement("div", { className: "panel-item--right" }))); }; //# sourceMappingURL=Server.js.map