UNPKG

@redocly/asyncapi-docs

Version:

Async API docs for Redocly Realm

4 lines (3 loc) 1.32 kB
import{jsx as e,jsxs as i}from"react/jsx-runtime";import{useAtomValue as c}from"jotai";import d,{useCallback as f,useMemo as s}from"react";import y from"styled-components";import{SectionContainer as h,Row as g,addMarkdownItems as I,getValueFromMdParsedExtension as v,ContentItem as x,Section as A}from"@redocly/openapi-docs";import{ThreePanelLayout as P}from"@redocly/theme";import{RightPanel as S}from"./RightPanel";import{TagBlock as k}from"./TagBlock";import{ChannelSection as j}from"./ChannelSection";import{layoutAtom as B,routingBasePathAtom as C}from"../jotai/app";import{useAutoScroll as R}from"../hooks";const q=d.memo(({definition:t,apiItems:m})=>{const r=c(C);R(r);const n=c(B),a=s(()=>I(v(t.info,"description")||"",void 0,1),[t.info]),l=s(()=>({infoDefinition:t.info,type:"section",id:""}),[t.info]),u=s(()=>[l,...a],[l,a]),p=f(o=>o?.type==="tag"?e(k,{tag:o,definition:t},o.link):o?.type==="channel"?e(j,{item:o,definition:t},o.link):null,[t]);return i(P,{className:"api-content",id:"api-content",layout:n,collapsedSidebar:!0,children:[e(A,{sectionId:"/"+r,children:i(b,{layout:n,children:[e(h,{layout:n,children:u.map(o=>e(x,{item:o,routingBasePath:"/"+r,layout:n},o.id))}),e(S,{info:t.info,servers:t.servers})]})}),m.map(p)]})}),b=y(g)` font-size: var(--font-size-base); `;export{q as AsyncApiDocs};