Public API barrel for the rich-markdown embed component library, re-exporting all embed components, their prop types, container primitives, and the shared runtime context from their respective modules. ## Key Components | Export | Description | |---|---| | `EmbedIframe` | Generic iframe wrapper for arbitrary URL embeds | | `PdfViewer` | In-browser PDF rendering component | | `GoogleSheetsViewer` | Embedded Google Sheets viewer | | `FigmaEmbed` | Figma design file embed | | `OGLinkPreview` / `OGLinkErrorBoundary` | Open Graph link preview card with error boundary | | `FileDownloadCard` | Downloadable file attachment card | | `RedditEmbedClient` | Reddit post/thread embed (satellite) | | `TwitterEmbedClient` | Twitter/X post embed (satellite) | | `LinkedInEmbedClient` | LinkedIn post embed (satellite) | | `MarkdownImage` | Image component used within markdown rendering | | `EmbedContainer` / `*Container` | Layout wrappers (`YouTubeContainer`, `TwitterContainer`, etc.) with `EMBED_SIZES` presets | | `RichMarkdownRuntimeProvider` / `useRichMarkdownRuntime` | React context provider sharing proxy endpoints and image transformer config across all embed components | ## Usage Example ```typescript // Full renderer usage — wrap once at the app boundary import { RichMarkdownRuntimeProvider, RedditEmbedClient, OGLinkPreview, EMBED_SIZES, } from '@openframe/embed-components' function App() { return ( `/cdn?url=${encodeURIComponent(url)}`} > ) } // Composing a satellite embed outside the markdown renderer function ReleasePage() { return ( ) } ``` > **Satellite embeds** (`Reddit`, `Twitter`, `LinkedIn`) are also wired into `` internally. When mounting them standalone, wrap with `RichMarkdownRuntimeProvider` only if you need to override proxy or image transformer defaults. ## Source [`index.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts)