@redocly/asyncapi-docs
Version:
Async API docs for Redocly Realm
4 lines (3 loc) • 1.32 kB
JavaScript
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};