# Bubble
> Chat message bubbles with variants and reactions.
Import from `@aspyn-io/kit`. Scaffold source: `npx shadcn@latest add https://design.aspyn.io/r/bubble.json`
## Install
```tsx
import { Bubble, BubbleContent, BubbleReactions, BubbleGroup } from "@aspyn-io/kit";
```
### Conversation
Align start for incoming messages and end for the current user; group consecutive bubbles.
```tsx
Hey! Want to see chat bubbles?
Sure — hit me with your best demo.
```
### Variants
```tsx
…
```
### Reactions
BubbleReactions anchors an emoji/quick-action row to the bubble edge.
```tsx
Tests passed on the first try. All 142 of them.
🎉
👏
```
## Notes
- Bubble is just the message surface. For full chat rows with avatars, names, and timestamps, wrap bubbles in Message.
- Make a bubble interactive by passing asChild/render to BubbleContent (renders a button or anchor) — the accessible name comes from the bubble text.
- Reactions are decorative emoji: give BubbleReactions role="img" + aria-label so a screen reader announces the row once.