UNPKG

@redocly/asyncapi-docs

Version:

Async API docs for Redocly Realm

29 lines (28 loc) 1.49 kB
import{jsx as e,jsxs as n}from"react/jsx-runtime";import a from"styled-components";import{Portal as l,DatabaseIcon as c,KafkaIcon as p,RabbitMQIcon as d,useModalScrollLock as f,CopyButton as m}from"@redocly/theme";import{useState as x}from"react";import{ServerModal as g}from"./ServerModal";import{MoreDetailsButton as u}from"./common";const D=({server:t,showDetails:s})=>{const[i,o]=x(!1);return f(i),n(h,{"data-component-name":"Server/Server",children:[n(y,{children:[e(v,{children:(r=>{switch(r){case"kafka":return e(p,{size:"20px"});case"amqp":return e(d,{size:"20px"});default:return e(c,{size:"20px"})}})(t.value.protocol)}),e(b,{children:t.key})]}),n(S,{children:[t.value.host,e(m,{data:t.value.host},t.value.host)]}),s&&e(I,{onClick:()=>o(!0),children:e(u,{expanded:!1})}),i&&e(l,{mountId:"api-content",children:e(g,{server:t,onClose:()=>o(!1)})})]})},h=a.div` display: flex; flex-direction: column; gap: var(--spacing-xxs); padding: var(--spacing-sm) var(--spacing-md); `,v=a.div` width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; `,y=a.div` display: flex; flex-direction: row; align-items: center; gap: var(--spacing-xxs); `,S=a.span` padding-left: var(--spacing-lg); height: 24px; display: flex; align-items: center; justify-content: space-between; `,b=a.span` font-weight: var(--font-weight-semibold); text-transform: capitalize; `,I=a.div` padding-left: var(--spacing-lg); `;export{D as Server};