UNPKG

@redocly/asyncapi-docs

Version:

Async API docs for Redocly Realm

2 lines (1 loc) 2.49 kB
import{jsx as v}from"react/jsx-runtime";import{useMemo as m,useEffect as h}from"react";import{Provider as b,createStore as k}from"jotai";import{LayoutVariant as y}from"@redocly/config";import{getMarkdownHeaderId as j}from"@redocly/openapi-docs/lib/components/RedoclyOpenAPIDocs/utils.js";import{SchemaDefinition as A}from"@redocly/openapi-docs/lib/components/SchemaDefinition/index.js";import S from"@markdoc/markdoc";import{Heading as P}from"@redocly/theme/markdoc/components/Heading/Heading";import{ProtocolVariant as w}from"../types/index.js";import{layoutAtom as c,protocolAtom as p,routingBasePathAtom as u,downloadUrlsAtom as g,definitionAtom as O,markdocOptionsAtom as f}from"./app.js";const e={markdocOptions:{tags:{schemaDefinition:{render:"SchemaDefinition",attributes:{schemaRef:{type:String},exampleRef:{type:String},showReadOnly:{type:Boolean},showWriteOnly:{type:Boolean},htmlWrap:{type:String,default:!1}}}},nodes:{heading:{children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1}},transform(a,i){const t=a.transformAttributes(i),n=a.transformChildren(i),o=typeof t.id=="string"?t.id:j(n);return new S.Tag("Heading",Object.assign(Object.assign({},t),{id:o,level:a.attributes.level}),n)}}},components:{SchemaDefinition:A,Heading:P}}},N=({children:a,store:i})=>{const t=m(()=>{var o,d,r,s,l;return Object.assign(Object.assign(Object.assign({},e.markdocOptions),{components:Object.assign(Object.assign({},e.markdocOptions.components),(o=i?.markdocOptions)===null||o===void 0?void 0:o.components),tags:Object.assign(Object.assign({},e.markdocOptions.tags),(d=i?.markdocOptions)===null||d===void 0?void 0:d.tags),nodes:Object.assign(Object.assign(Object.assign({},e.markdocOptions.nodes),(r=i?.markdocOptions)===null||r===void 0?void 0:r.nodes),{heading:e.markdocOptions.nodes.heading||((l=(s=i?.markdocOptions)===null||s===void 0?void 0:s.nodes)===null||l===void 0?void 0:l.heading)})}),i?.markdocOptions)},[i?.markdocOptions]),n=m(()=>{const o=k();return o.set(c,i.layout||y.THREE_PANEL),o.set(p,i.protocol||w.DEFAULT),o.set(u,i.routingBasePath),o.set(g,i.downloadUrls),o.set(O,i.definition),o.set(f,t),o},[i.layout,i.protocol,i.routingBasePath,i.downloadUrls,i.definition,t]);return h(()=>{n.set(c,i.layout),n.set(p,i.protocol),n.set(u,i.routingBasePath),n.set(g,i.downloadUrls),n.set(O,i.definition),n.set(f,t)},[n,i.layout,i.protocol,i.routingBasePath,i.downloadUrls,i.definition,t]),v(b,{store:n,children:a})};export{N as AppProvider};