# 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.