UNPKG

@redocly/asyncapi-docs

Version:

Async API docs for Redocly Realm

19 lines (18 loc) 2.04 kB
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};