UNPKG

@redocly/asyncapi-docs

Version:

Async API docs for Redocly Realm

46 lines (45 loc) 4.82 kB
var F=Object.create;var g=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var U=(e,n)=>{for(var i in n)g(e,i,{get:n[i],enumerable:!0})},A=(e,n,i,p)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of V(n))!K.call(e,c)&&c!==i&&g(e,c,{get:()=>n[c],enumerable:!(p=N(n,c))||p.enumerable});return e};var M=(e,n,i)=>(i=e!=null?F(q(e)):{},A(n||!e||!e.__esModule?g(i,"default",{value:e,enumerable:!0}):i,e)),G=e=>A(g({},"__esModule",{value:!0}),e);var ie={};U(ie,{Operation:()=>J});module.exports=G(ie);var s=require("react/jsx-runtime"),t=M(require("styled-components")),_=require("jotai"),l=require("@redocly/openapi-docs"),o=require("@redocly/theme"),m=M(require("react")),T=require("react-router-dom"),d=require("./common"),z=require("./OperationBinding"),v=require("../jotai/app"),h=require("../hooks"),B=require("../utils");const J=m.default.memo(({operation:e,dataSectionId:n,definition:i,headerRow:p,id:c,showDivider:C})=>{var u,f,y;const j=(0,_.useAtomValue)(v.layoutAtom),b=(0,_.useAtomValue)(v.routingBasePathAtom),O=j===o.LayoutVariant.STACKED,{getProtocolLabel:D}=(0,h.useProtocolLabels)(),P=(0,h.useOtelTelemetry)(),S=(0,m.useMemo)(()=>Object.entries(e?.bindings||{}).map(([a,r])=>({key:a,value:r})),[e?.bindings]),H=(0,m.useMemo)(()=>{var a;return(a=e?.["x-badges"])===null||a===void 0?void 0:a.map(r=>Object.assign(Object.assign({},r),{position:r.position||"after"}))},[e]),$=(0,T.useNavigate)(),R=(0,m.useCallback)(a=>{var r,x;const k=(x=Object.entries(((r=i?.components)===null||r===void 0?void 0:r.messages)||{}).find(([ae,E])=>(0,B.isEqual)(E,a)))===null||x===void 0?void 0:x[0];if(!k||!n)return;const W=n.replace(`/${b}/`,"").split("/operations")[0],I=`/${b}${(0,l.makeDeepLink)(W,`messages&m=${k}`)}`;P.send({type:"asyncapi_docs.message.clicked",payload:{message:k}}),$(I)},[n,(u=i?.components)===null||u===void 0?void 0:u.messages,$,b,P]);return e?(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)(Q,{sectionId:n,"data-component-name":"Operation/Operation",hasHeader:!!p,children:[p,(0,s.jsxs)(l.Row,{layout:j,children:[(0,s.jsxs)(se,{isStacked:O,children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(d.ActionTag,{color:e.action,children:D(e.action)}),(0,s.jsxs)(L,{children:[(0,s.jsx)(l.CustomBadges,{badges:H,children:e.title||c}),(0,s.jsx)(d.ShareLink,{to:`${n}`,"aria-label":`link to ${e.title||c}`})]}),(0,s.jsx)(d.Information,{summary:e.summary,description:e.description,externalDocs:e.externalDocs}),(0,s.jsx)(X,{children:"Messages"}),(0,s.jsx)(Y,{children:(f=e.messages)===null||f===void 0?void 0:f.map((a,r)=>(0,s.jsxs)(ne,{icon:null,onClick:()=>R(a),children:[a.title||a.name,(0,s.jsx)(o.ArrowUpRightIcon,{size:"12px"})]},r))}),e.reply&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(L,{children:"Reply"}),(0,s.jsxs)(Z,{children:[e.reply.address&&(0,s.jsxs)(w,{children:[(0,s.jsx)("span",{children:"Address: "}),(0,s.jsx)("span",{children:e.reply.address.location})]}),e.reply.channel&&(0,s.jsxs)(w,{children:[(0,s.jsx)("span",{children:"Topic: "}),(0,s.jsx)("span",{children:e.reply.channel.address})]}),!!(!((y=e.reply.messages)===null||y===void 0)&&y.length)&&(0,s.jsxs)(w,{children:[(0,s.jsx)("span",{children:"Messages: "}),(0,s.jsx)("span",{children:e.reply.messages.map(a=>a.title||a.name).join(", ")})]})]})]})]}),C&&(0,s.jsx)(ee,{})]}),(0,s.jsx)(l.OperationSamplesPanel,{isStacked:O,className:"panel-container-response-samples",children:!!S.length&&(0,s.jsx)(z.OperationBinding,{binding:S[0],id:n})})]})]})}):null}),Q=(0,t.default)(l.Section)` padding: var(--spacing-lg) 0; scroll-margin-top: ${e=>e.hasHeader?"calc(var(--navbar-height) - var(--spacing-xl)*2)":"var(--navbar-height)"} !important; `,L=(0,t.default)(o.H4)` font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); margin: 0 0 var(--spacing-xxs) 0; position: relative; word-break: break-word; display: flex; align-items: center; gap: var(--spacing-xs); flex-wrap: wrap; :hover { ${o.LinkIcon} { opacity: 1; visibility: visible; } } `,X=(0,t.default)(o.H4)` font-size: var(--font-size-base); font-weight: var(--font-weight-medium); margin: var(--spacing-sm) 0 0 0; `,Y=t.default.div` display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--spacing-xs); padding: var(--spacing-xs) 0; `,Z=t.default.div` display: flex; flex-direction: column; padding: var(--spacing-xs) 0; `,w=(0,t.default)(o.H4)` & > span:first-child { font-weight: var(--font-weight-medium); } `,ee=t.default.div` border-bottom: 1px solid var(--border-color-secondary); `,se=(0,t.default)(l.SamplesMiddlePanel)` display: flex; justify-content: space-between; `,ne=(0,t.default)(d.TagWithIcon)` cursor: pointer; `;0&&(module.exports={Operation});