@redocly/asyncapi-docs
Version:
Async API docs for Redocly Realm
2 lines (1 loc) • 1.57 kB
JavaScript
import{jsx as e,jsxs as l}from"react/jsx-runtime";import{useMemo as d,memo as A}from"react";import{RedocTelemetry as M}from"@redocly/openapi-docs";import{IS_BROWSER as O}from"@redocly/theme/core/utils";import{useMount as R}from"@redocly/theme/core/hooks";import{AppProvider as u}from"./jotai-store/Provider.js";import{AsyncApiDocs as y}from"./components/AsyncApiDocs.js";import{Breadcrumbs as w}from"./components/Breadcrumbs.js";import{AppRouter as v}from"./components/AppRouter.js";import{usePerformanceMetrics as T}from"./hooks/index.js";import{TelemetryContext as D}from"./contexts/telemetry.js";const g=A(({pageProps:t,document:s,apiItems:c,routingBasePath:m,protocol:r,downloadUrls:n,markdocOptions:p,telemetryConfig:a})=>{const i=d(()=>new M(Object.assign({specType:"asyncapi",serviceName:"realm-ui"},a)),[a]),f=d(()=>({layout:t.apiOptions.layout,protocol:r,routingBasePath:m,downloadUrls:n,definition:s,markdocOptions:p}),[t.apiOptions.layout,r,m,n,s,p]);T({sendTelemetry:b=>{const o=Object.fromEntries(Object.entries(b).map(([h,x])=>[h.toLowerCase(),x]));i.sendPerformanceMetricsMessage([{id:"metrics",object:"metrics",uri:typeof window<"u"?window.location.href:"",cls:o.cls,lcp:o.lcp,fcp:o.fcp,ttfb:o.ttfb}])}}),R(()=>{i.sendViewedMessage([{id:window.location.href,object:"page",uri:window.location.href,layout:t.apiOptions.layout,protocol:r||"default"}])});const j=O?e(u,{store:f,children:l(v,{children:[e(w,{}),e(y,{apiItems:c})]})}):l(u,{store:f,children:[e(w,{}),e(y,{apiItems:c})]});return e(D.Provider,{value:i,children:j})});export{g as RedoclyAsyncAPIDocs};