@redocly/asyncapi-docs
Version:
Async API docs for Redocly Realm
25 lines (22 loc) • 3.33 kB
JavaScript
var E=Object.create;var h=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var F=(n,o)=>{for(var t in o)h(n,t,{get:o[t],enumerable:!0})},y=(n,o,t,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of P(o))!M.call(n,r)&&r!==t&&h(n,r,{get:()=>o[r],enumerable:!(m=I(o,r))||m.enumerable});return n};var _=(n,o,t)=>(t=n!=null?E(W(n)):{},y(o||!n||!n.__esModule?h(t,"default",{value:n,enumerable:!0}):t,n)),H=n=>y(h({},"__esModule",{value:!0}),n);var K={};F(K,{TagBlock:()=>N});module.exports=H(K);var i=require("react/jsx-runtime"),v=_(require("styled-components")),S=require("jotai"),e=require("@redocly/openapi-docs"),a=require("@redocly/theme"),x=require("react-router-dom"),d=_(require("react")),b=require("../jotai/app"),k=require("./common"),B=require("./ItemsNavigation"),$=require("./ChannelSection");const N=d.default.memo(({tag:n,definition:o})=>{var t,m,r,g;const f=(0,S.useAtomValue)(b.layoutAtom),D=(0,S.useAtomValue)(b.routingBasePathAtom),C=(0,x.useLocation)(),w=(0,x.useNavigate)(),s=!!(!((t=n.items)===null||t===void 0)&&t.length),L=f===a.LayoutVariant.STACKED,c=(r=(m=o?.components)===null||m===void 0?void 0:m.tags)===null||r===void 0?void 0:r[n.label],j=(0,d.useMemo)(()=>{var l,u;return s?(u=(l=o?.channels)===null||l===void 0?void 0:l[n.items[0].id])===null||u===void 0?void 0:u.bindings:void 0},[s,o?.channels,n.items]),p=(0,d.useMemo)(()=>{if(!s)return!1;const l=C.pathname;return l.endsWith(n.link||"")||n.items.some(u=>u.link&&l.toLowerCase().includes(u.link.toLowerCase()))},[s,C.pathname,n.link,n.items]),A=(0,d.useCallback)(()=>{n.link&&w(n.link)},[w,n.link]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(R,{expanded:s&&!p,sectionId:n.dataSectionId,children:(0,i.jsxs)(T,{expanded:p,children:[(0,i.jsxs)(e.Row,{layout:f,children:[(0,i.jsxs)(e.SamplesMiddlePanel,{fullWidth:!s,isStacked:L,children:[(0,i.jsxs)(z,{children:[n.label,(0,i.jsx)(k.ShareLink,{to:`/${D||""}/${n.link}`,"aria-label":`link to ${n.label}`})]}),c?.description&&(0,i.jsx)(e.Markdown,{source:c.description}),c?.externalDocs&&(0,i.jsx)(k.ExternalDocumentationWrapper,{children:(0,i.jsx)(e.ExternalDocumentation,{externalDocs:c.externalDocs})})]}),s&&n.items&&(0,i.jsx)(B.ItemsNavigation,{items:n.items,firstChannelBinding:j})]}),s&&!p&&(0,i.jsx)(V,{type:"button",variant:"text",size:"medium",onClick:A,children:"+ Show"})]})}),p&&((g=n.items)===null||g===void 0?void 0:g.map(l=>(0,i.jsx)($.ChannelSection,{item:l,definition:o},l.link)))]})}),R=(0,v.default)(e.Section)`
scroll-margin-top: calc(var(--navbar-height)) !important;
`,T=v.default.div`
padding-bottom: ${({expanded:n})=>n?"var(--spacing-xxl)":""};
padding-bottom: ${({expanded:n})=>n?"var(--spacing-xxl)":""};
`,V=(0,v.default)(a.Button)`
margin: var(--spacing-md) var(--spacing-xl) var(--spacing-xxs);
width: calc(100% - var(--spacing-xl) * 2);
@media screen and (min-width: ${a.breakpoints.medium}) {
--button-margin-md: calc(var(--spacing-xl) * 2);
margin-left: var(--button-margin-md);
margin-right: var(--button-margin-md);
width: calc(100% - var(--button-margin-md) * 2);
}
`,z=(0,v.default)(a.H2)`
:hover {
${a.LinkIcon} {
opacity: 1;
visibility: visible;
}
}
`;0&&(module.exports={TagBlock});