@redocly/asyncapi-docs
Version:
Async API docs for Redocly Realm
11 lines (10 loc) • 1.75 kB
JavaScript
var y=Object.create;var c=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var S=(e,o)=>{for(var n in o)c(e,n,{get:o[n],enumerable:!0})},f=(e,o,n,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of x(o))!P.call(e,a)&&a!==n&&c(e,a,{get:()=>o[a],enumerable:!(r=w(o,a))||r.enumerable});return e};var _=(e,o,n)=>(n=e!=null?y(E(e)):{},f(o||!e||!e.__esModule?c(n,"default",{value:e,enumerable:!0}):n,e)),b=e=>f(c({},"__esModule",{value:!0}),e);var B={};S(B,{SamplesPanel:()=>j});module.exports=b(B);var l=require("react/jsx-runtime"),t=require("@redocly/theme"),m=_(require("styled-components")),u=require("@redocly/openapi-docs"),s=require("react"),p=require("../hooks");const j=({examples:e})=>{const[o,n]=(0,s.useState)(e[0]),{getProtocolLabel:r}=(0,p.useProtocolLabels)(),a=(0,p.useOtelTelemetry)();(0,s.useEffect)(()=>{n(e[0])},[e,n]);const g=d=>{const i=e?.find(h=>h.name===d);i&&(n(i),a.send({type:"asyncapi_docs.switch_example.clicked",payload:{example:d,number_of_examples:e.length}}))},v=(0,s.useMemo)(()=>e?.reduce((d,i,h)=>(d[i.name||`Example ${h+1}`]=Object.assign({},i),d),{}),[e]);return(0,l.jsxs)(C,{className:"panel-messages-samples",header:()=>(0,l.jsx)(L,{isExpandable:!1,children:r("payload")}),children:[(0,l.jsx)(k,{examples:v,exampleKey:o?.name,onChange:g}),(0,l.jsx)(t.JsonViewer,{data:o?.payload,expandLevel:3})]})},C=(0,m.default)(t.Panel)`
${t.PanelBody} {
padding: var(--spacing-sm) 0 0;
line-height: var(--line-height-md);
}
`,L=(0,m.default)(t.PanelHeader)`
font-weight: var(--font-weight-regular);
`,k=(0,m.default)(u.ExampleSwitch)`
overflow: hidden;
`;0&&(module.exports={SamplesPanel});