@redocly/asyncapi-docs
Version:
Async API docs for Redocly Realm
18 lines (16 loc) • 1.35 kB
JavaScript
import{jsx as o,jsxs as g}from"react/jsx-runtime";import s from"styled-components";import{breakpoints as v,H4 as S,LayoutVariant as b,LinkIcon as k}from"@redocly/theme";import{Row as L,SamplesMiddlePanel as w,makeDeepLink as x}from"@redocly/openapi-docs";import{useAtomValue as c}from"jotai";import y from"react";import{Operation as P}from"./Operation";import{useProtocolLabels as $}from"../hooks";import{layoutAtom as j,routingBasePathAtom as A}from"../jotai/app";import{LinkToField as D}from"./common";const K=y.memo(({operations:i,definition:r,type:a,id:d})=>{const{getProtocolLabel:p}=$(),n=c(j),u=c(A),h=n===b.STACKED,f=i.length?o(L,{layout:n,children:o(w,{isStacked:h,children:g(R,{children:[o(D,{to:`/${u}${x(d,a)}`}),p(`${a}Label`)]})})}):null;return o(O,{"data-component-name":"OperationSection/OperationSection",children:i.map((t,m)=>{var e;const l=(e=r.operations)===null||e===void 0?void 0:e[t.id];return l?o(P,{operation:l,dataSectionId:t.dataSectionId,definition:r,headerRow:m===0?f:null,id:t.id,showDivider:m!==i.length-1},t.id):null})})}),O=s.div`
width: 100%;
`,R=s(S)`
margin-bottom: var(--spacing-lg);
text-transform: capitalize;
position: relative;
:hover {
${k} {
opacity: 1;
visibility: visible;
}
}
@media screen and (max-width: ${v.large}) {
margin: 0;
}
`;export{K as OperationSection};