@redocly/asyncapi-docs
Version:
Async API docs for Redocly Realm
19 lines (18 loc) • 2.04 kB
JavaScript
import{Fragment as p,jsx as r,jsxs as t}from"react/jsx-runtime";import{memo as A,useMemo as L}from"react";import d from"styled-components";import{useAtomValue as f}from"jotai";import{makeDeepLink as a}from"@redocly/openapi-docs";import{combineUrls as m}from"@redocly/theme/core/openapi";import{H4 as P}from"@redocly/theme/components/Typography/H4";import{LinkIcon as T}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{Information as _,LinkToField as v}from"./common/index.js";import{JsonSchema as u}from"./JsonSchema.js";import{getSchema as g}from"../utils/index.js";import{useProtocolLabels as $}from"../hooks/index.js";import{definitionAtom as j,routingBasePathAtom as k}from"../jotai-store/app.js";const q=A(({message:o,sectionId:n,id:i,onOneOfChange:x})=>{var l;const s=f(k),e=f(j),{getProtocolLabel:b}=$(),h=L(()=>{var c;if(!((c=e?.components)===null||c===void 0)&&c.schemas)return{openapi:"3.0.0",info:{version:"1",title:"AsyncAPI",description:""},paths:{},components:{schemas:e.components.schemas}}},[(l=e?.components)===null||l===void 0?void 0:l.schemas]);return t(p,{children:[r(_,{summary:o.summary,description:o.description,externalDocs:o.externalDocs}),o.headers&&t(p,{children:[t(y,{children:[r(v,{to:m(s,a(n,`messages&m=${i}/headers`))}),"Headers"]}),r(u,{schema:g(o.headers),schemaResolved:h,slug:m(s,a(n,`messages&m=${i}&t=headers`))})]}),o.payload&&t(p,{children:[t(y,{children:[r(v,{to:m(s,a(n,`messages&m=${i}/payload`))}),b("payload"),o.contentType&&r(z,{children:o.contentType})]}),r(u,{onOneOfChange:x,schema:g(o.payload),schemaResolved:h,slug:m(s,a(n,`messages&m=${i}&t=payload`))})]})]})}),y=d(P)`
margin: var(--spacing-md) 0 0 0;
font-size: 18px;
position: relative;
&:hover {
${T} {
opacity: 1;
visibility: visible;
}
}
`,z=d.span`
margin: 0px var(--spacing-xs);
color: var(--text-color-primary);
line-height: var(--line-height-lg);
font-family: var(--font-family-base);
font-weight: var(--font-weight-regular);
font-size: var(--font-size-lg);
`;export{q as Message};