MessageForwardedBundle
Collapsed forwarded-message bundle composed inside a MessageItem body.
import {
MessageForwardedBundle,
MessageForwardedBundleAttachment,
MessageForwardedBundleAttachmentMeta,
MessageForwardedBundleAttachmentName,
MessageForwardedBundleAttachments,
MessageForwardedBundleFooter,
MessageForwardedBundleFooterAction,
MessageForwardedBundleHeader,
MessageForwardedBundleHeaderContent,
MessageForwardedBundleHeaderCount,
MessageForwardedBundleHeaderLabel,
MessageForwardedBundleItem,
MessageForwardedBundleItemAuthor,
MessageForwardedBundleItemMeta,
MessageForwardedBundleItems,
MessageForwardedBundleSource,
} from "raft-ui";
<MessageForwardedBundle>
<MessageForwardedBundleHeader>
<MessageForwardedBundleHeaderContent>
<MessageForwardedBundleHeaderLabel />
<MessageForwardedBundleHeaderCount />
</MessageForwardedBundleHeaderContent>
<MessageForwardedBundleSource />
</MessageForwardedBundleHeader>
<MessageForwardedBundleItems collapsed>
<MessageForwardedBundleItem>
<MessageForwardedBundleItemMeta>
<MessageForwardedBundleItemAuthor />
</MessageForwardedBundleItemMeta>
<MessageForwardedBundleAttachments>
<MessageForwardedBundleAttachment>
<MessageForwardedBundleAttachmentName />
<MessageForwardedBundleAttachmentMeta />
</MessageForwardedBundleAttachment>
</MessageForwardedBundleAttachments>
</MessageForwardedBundleItem>
</MessageForwardedBundleItems>
<MessageForwardedBundleFooter>
<MessageForwardedBundleFooterAction />
</MessageForwardedBundleFooter>
</MessageForwardedBundle>One to three short forwarded messages render expanded and omit the footer. A DM, private channel, or missing target also omits the source label.
More than three messages begin collapsed. The consumer owns the expanded state and passes it to MessageForwardedBundleItems; the list then clips and renders its own fade. The footer and its action remain caller-owned.
Rollout is clear for the message reference migration.
Keep the source case with its attachment context.
Keep the original context available to reviewers.
Follow the same message state contract in the thread.
A single forwarded item also collapses when its content is long. Attachment labels stay caller-owned, including their MIME-derived type text.
A public thread source is actionable and adds the thread suffix to its label.
Render a static source label when the original message cannot be opened, such as unavailable provenance or a composer preview. An empty forwarded-items list has no rendered bundle.
API#WIP
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"div"> | — | Forwarded messages card root. Compose inside MessageItemEmbedded; expand/collapse state stays consumer-owned. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"div"> | — | Bundle header row. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"div"> | — | Leading header region for the forwarded label and count. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"span"> | — | Forwarded label. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"span"> | — | Forwarded message count label. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"button"> | — | Interactive public source link; render as an anchor when navigation is available. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"span"> | — | Static public source label when the original message cannot be opened. |
| Prop | Type | Default | Description |
|---|---|---|---|
collapsed | boolean | false | Constrain the item-list height and show its bottom fade. |
...props | useRender.ComponentProps<"div"> | — | Item list. Set collapsed to constrain height and show its bottom fade. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"article"> | — | One forwarded message snapshot. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"div"> | — | Author and timestamp row for an item. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"div"> | — | Attachment-chip region for an item. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"span"> | — | One forwarded attachment chip. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"span"> | — | Truncated attachment filename. |
| Prop | Type | Default | Description |
|---|---|---|---|
...props | useRender.ComponentProps<"span"> | — | Attachment type or other compact metadata. |