Example
Images (sensitive)
External Link
Video (sensitive)
Usage
Images
<EmbedImages
data={{
type: 'images',
images: [
{
alt: 'A photo',
thumb: 'https://example.com/thumb.jpg',
fullsize: 'https://example.com/full.jpg',
aspectRatio: { width: 4, height: 3 }
}
]
}}
onclickimage={(image) => console.log(image)}
/>
External Link
<EmbedExternal
data={{
type: 'external',
external: {
href: 'https://example.com',
thumb: 'https://example.com/og.jpg',
title: 'Example Site',
description: 'A description of the link'
}
}}
/>
Video
<EmbedVideo
data={{
type: 'video',
video: {
playlist: 'https://example.com/video.m3u8',
thumb: 'https://example.com/poster.jpg',
alt: 'A video',
aspectRatio: { width: 16, height: 9 }
}
}}
/>
Sensitive Content
The EmbedImages and EmbedVideo components support a sensitive prop that hides the content behind a click-to-reveal overlay.
<EmbedImages sensitive data={...} />
<EmbedVideo sensitive data={...} />
API Reference
EmbedImages
Displays a grid of images with optional click handling and sensitive content overlay.
Property Type Description
data required
The image embed data containing an array of images with alt text, thumbnails, and aspect ratios. Includes optional sensitive flag and onclick handler.
showSensitive
boolean
Whether to show the sensitive content overlay when data.sensitive is true. Default: true
EmbedExternal
Displays an external link card with thumbnail, title, and domain.
Property Type Description
data required
The external link embed data containing href, thumbnail, title, and description.
EmbedVideo
Displays an HLS video player with optional sensitive content overlay.
Property Type Description
data required
The video embed data containing playlist URL, thumbnail, alt text, aspect ratio, and optional sensitive flag.
showSensitive
boolean
Whether to show the sensitive content overlay when data.sensitive is true. Default: true
EmbedQuotedPost
Displays a quoted/embedded post record.
Property Type Description
record required
The quoted post data including author, content, optional nested embed, and optional onclick/onclickhandle callbacks.
showEmbed
boolean
Whether to show embeds within the quoted post. Default: false
EmbedRouter
Routes an embed to the correct component based on its type. Handles images, external links, video, and quoted posts.
Property Type Description
embed required
The embed data to render. Each embed carries its own sensitive flag and callbacks.
showSensitive
boolean
Whether to show the sensitive content overlay for flagged embeds. Default: true