shadcn.io is not affiliated with official shadcn/ui
Chat Conversation Thread Features Block for React
A split features section for a support hand-off tool: three features in a ruled list beside a support thread drawn with a status card, a file, a reaction, a hand-off line and a typing indicator.
Installation
Overview
A conversation thread feature section for React with Base UI, written for Hailpost, a fictional support hand-off tool. At the start, a compact header, three features (messages that carry more than text, hand-offs that keep the story, replies that never collide) in a ruled list, and one Shine Button; at the end, past a divider that meets the page's top rule, a support thread in a hairline frame with + marks on its corners. The thread shows each message type the features name: a text bubble from the customer, an agent's reply with an inline status card, a hand-off line between two agents, a file attachment, a reaction on a reply, a typing line and a composer. It's greyscale and drawn from your theme's tokens, with the agent's bubbles in the foreground colour so the Shine Button stays the one primary element. It is a drawing of a thread, not a working chat: it is hidden from assistive technology and takes no focus, and the list beside it carries the same information as text. It's built from Message, Bubble, Badge, TypingIndicatorText, Guides and Shine Button, with CSS transitions only. For helpdesk, support and inbox products that want to show hand-offs rather than describe them.
FAQ
How do I change the messages in the thread?
The thread is written out in Thread, one Theirs or Ours wrapper per message, with the customer's messages at the start and the agents' at the end. A text message is a Bubble with a BubbleContent; the status card, the attachment and the reaction are small components above it (StatusCard, Attachment, Reaction). Swap their text for your own, or add a message by copying one wrapper. The hand-off line is a plain paragraph between two hairlines.
How do I change the three features?
Edit FEATURES at the top of the file: each entry has an icon, a title and one sentence. They render as a list with an h3 per item, divided by hairlines under the section's one h2. Keep them to three so the list ends above the Shine Button on a laptop screen.
Does the thread follow my theme?
Yes. The window is bg-card with a hairline border, the customer's bubbles use the muted variant, and the agent's bubbles are bg-foreground text-background, which is dark on a light page and light on a dark one. Nothing in the thread uses your primary colour or a fixed colour, so it reads in every preset, light and dark.
How do screen readers and keyboards handle it?
The heading is an h2, the features are the items of a list with an h3 each, and the Shine Button is a real link. The thread itself is decoration: it is aria-hidden and inert, so none of its text is read twice and none of its controls take focus. In a right-to-left page the thread mirrors, with the customer's messages moving to the other side.
The button renders the link it's given with render, with nativeButton={false}.
What moves, and what happens with reduced motion?
The header, the list and the button fade up once when the page loads, with CSS transitions. The typing line's three dots rise and fall in turn; with reduced motion they hold still and the transitions are off, so the section simply appears.
How does it fit on a phone?
The copy comes first and the thread below it, with a hairline between them where the divider sits on a laptop. The thread keeps its full height, with the composer at its foot, in a frame up to 28 rem wide; the bubbles never pass 85% of the window, so long messages wrap instead of touching the other side.
Related
- Pro
Email Triage Inbox Features
App screensA working triage list for an email app: seven conversations with checkboxes, where ticking rows swaps the toolbar for a bulk bar in the same space, with E and Z shortcuts and per-row buttons on hover.
- Pro
Forum Thread Replies Features
App screensA features section with a working forum thread: a post with an upvote toggle whose count follows your vote, and replies nested under an indent rail, each branch collapsing with its own button.
- Pro
Split Layout Chat Skeleton Hero
Product windowsA split hero for an AI assistant: a headline, a Shine Button and a second action beside a chat app sketched in skeleton bars that runs off a tinted panel, closed by a band of three feature cells.
- Pro
Conversation Thread Testimonials
Chats and postsAn email-style thread for a tracing tool that turns a sceptic into an advocate, in a framed window beside a hairline divider: a subject line, earlier messages folded behind a disclosure row, the two latest open, and a Shine Button.
- Pro
Light Chat Message Bubble CTA
Product previewsA reverse split CTA for a support assistant between solid rails: an ask-me chat window in a hairline frame at the start (pick a question, watch the assistant type, read its answer) and the headline, a sentence and the Shine Button at the end.
- Pro
Added Removed Diff List Features
App screensA unified diff of one config file in a hairline frame, with + and - gutters in foreground weights, one caption beside each hunk, folded runs of unchanged lines that open in place, and a footer counting the changes.