Loading
Loading
Loading
mobile footer

Build the Interaction Layer Your Website is Missing.

Browse All EffectsBrowse All EffectsBrowse All EffectsUpgrade to ProUpgrade to ProUpgrade to Pro

80+ effects free, forever. No credit card.

© 2026 Hyperiux. All Rights Reserved.

AI Component CatalogueHey AI, Learn About Us
Platform

Vault

  • Documentation
  • Pricing
  • Blog
  • Community
  • NPM
  • MCP

Categories

  • All Effects
  • WebGL
  • Text
  • Backgrounds
  • Buttons
  • Carousels
  • Scroll
  • Components
  • Navigation
  • Cursor
  • Transitions
  • Loaders

Documents

  • Introduction
  • Installation
  • CLI
  • Dependencies
  • License

Legal

  • License Agreement
  • Terms of Service
  • Privacy Policy
  • Refund Policy
Socials
  • Twitter / X
  • LinkedIn
  • GitHub
  • Instagram
Contact Us
  • hello@hyperiux.com
New effects, in your inbox

Every new drop, plus the occasional behind-the-scenes build. No spam. Unsubscribe anytime.

Loading
Home/Bubble Component

Bubble Component

An animated chat bubble component with expressive message entrances, interactive emoji reactions, swipe-to-reply gestures, and responsive conversation feedback for modern messaging interfaces.

@base-ui/reactclass-variance-authoritylucide-reactmotiontailwind-merge
DemoDemoDemo

Tune the Real Props

Overview

Bubble animates sent messages from the composer into the conversation, reveals incoming text word by word, and shows typing feedback while a reply is prepared. Users can react with an emoji picker, double-click for a heart, or swipe a bubble to reply, while reaction counts roll and long messages collapse until expanded.

Use it wherever messaging is central to the product, such as team collaboration, support, AI assistants, and community platforms. Animation should clarify who said what and whether it succeeded, without getting in the way of reading.


Theme and Interaction Customisation

Incoming, outgoing, and error states stay visually distinct, joined corners group consecutive messages, and collapsible content keeps long messages compact. Entrances, text streaming, fly-from-input, reaction pops, rolling counts, emoji magnification, hover lift, press feedback, and error shake can each be switched on independently.


Example Production Use Case

A project management platform can use Bubble for client conversations inside the workspace. A sent message flies from the composer, shows a sending state, and updates once delivery is confirmed.

An AI assistant can pair the typing indicator with streamed, word-by-word replies, then offer suggested follow-ups once the answer is complete.

A community app can lean on reactions and swipe-to-reply, letting members respond to a specific message with a quick gesture on mobile.


Best Used For

  • Team collaboration platforms and project discussions.
  • Customer support conversations with delivery feedback.
  • AI assistant applications with streamed responses.
  • Project management tools with task-linked messaging.
  • Community platforms with expressive reactions.
  • Internal business messaging between teams.
  • Conversational onboarding and guided follow-ups.
  • Mobile messaging with swipe replies and compact layouts.

Not For

For a single status update or confirmation, Toast is a better fit than a conversation.

Don’t replace structured forms with chat when users need to enter several validated fields.

Avoid decorative chat with no real conversation behind it, since fake typing or delivery states mislead users. High-stakes actions like payments or permissions need explicit confirmation, not just messages.


Performance Budget

Keep entrances and reactions light, use stable message IDs, and virtualise or incrementally load long histories. Stream text and update counts without re-rendering the whole thread, avoid repeated layout measurement, and never pull users away from earlier messages they are reading.


Accessibility and Mobile

Give messages a clear reading order, identifiable senders, and text for delivery and error states, not just alignment or colour. Reactions, replies, and expand controls must be keyboard-operable, and swipe-to-reply needs a conventional alternative. On mobile, keep the composer visible above the keyboard and stop swipes from fighting vertical scroll, and with reduced motion simplify flying messages, streaming, and reaction animations.


Common Mistakes

  • Treating an animated outgoing bubble as confirmed delivery.
  • Showing typing or delivery states that don’t reflect real events.
  • Letting word-by-word reveals slow down reading.
  • Attaching reactions or counts to the wrong message.
  • Offering swipe as the only way to reply.
  • Letting text selection trigger reply gestures.
  • Auto-scrolling while users read earlier messages.
  • Enabling the reaction picker without onReact, or rolling counts without count data.
  • Overanimating frequent conversation updates.
  • Ignoring reduced-motion preferences.

Changelog

v1.0.0

Oct 23, 2026
Initial release

API Reference

PropTypeDefaultDescription
themestringvalorantColour palette. Sent bubbles take its primary colour, replies its muted colour.
modestringdarkLight or dark version of the chosen palette.
animateEnterbooleantrueNew messages slide and fade in as they arrive.
typingbooleantrueShows typing dots before each reply appears.
streamTextbooleanfalseReplies type themselves out word by word.
flyInbooleantrueA sent message flies up from the input box into the chat.
showDeliveryStatusbooleantrueShows sending, sent and failed under your messages.
shakeOnErrorbooleantrueA message that fails to send shakes. Needs Simulate failures on.
simulateFailuresbooleantrueSome sends fail at random, to preview the error state.
popOnChangebooleantrueReaction pills pop in and out as they change.
rollingNumbersbooleantrueReaction counts roll to their new number.
doubleClickToReactbooleantrueDouble-clicking a bubble adds a heart, or takes it off again.
showReactionPickerbooleantrueShows a row of emoji to react with on each bubble.
magnifyEmojisbooleantrueEmoji in the picker grow as the pointer passes over them. Needs Show reaction picker on.
liftOnHoverbooleantrueBubbles rise slightly on hover and press in on click.
selectablebooleantrueLets message text be selected and copied.
swipeToReplybooleantrueDrag a bubble sideways to reply to it.
showSuggestionsbooleantrueShows suggested replies you can tap to send.
collapsiblebooleantrueLong messages are clipped with a Show more toggle.
joinedbooleantrueBubbles in a run from the same person share tighter corners.
sendStylestringdefaultLook of the messages you send.

Questions, Answered.

What is Bubble?

Bubble is an animated React chat component that displays messages with interactive reactions, reply gestures, typing feedback, delivery states, and configurable message animations.

Does Bubble support a typing indicator?

Yes. The Typing indicator setting shows typing dots while a response is prepared. It is ignored when a custom render function is supplied.

Can users react to individual messages?

Yes. Bubble supports a contextual emoji picker and a double-click heart reaction. Choosing an emoji calls onReact, which the application handles.

Can users reply by swiping a message?

Yes. Swipe to reply lets users swipe a message past a threshold to set it as the reply target in the composer.

Does Bubble provide real-time messaging automatically?

No. Bubble provides the interface and interactions. Real-time delivery, authentication, storage, synchronisation, and read receipts come from the application’s messaging infrastructure.

Can Bubble be used for AI chat interfaces?

Yes. Typing indicators, progressive text reveals, and suggested replies suit AI assistants, while model integration and streaming are handled by the application.

View MoreView More

Request a Custom Animation

Need a custom effect? Tell us what to create.

Related Effects

Explore All EffectsExplore All EffectsExplore All Effects
Sidebar Component
@base-ui/reactclass-variance-authoritylucide-react

Sidebar Component

Components

Input OTP Component
@base-ui/reactclass-variance-authorityinput-otp

Input OTP Component

Components

Command Component
@base-ui/reactclass-variance-authoritycmdk

Command Component

Components

All Effects
Featured ComponentsText AnimationsAnimated BackgroundsAnimated ButtonsCarousel EffectsScroll EffectsCreative ComponentsNavigationsCursor EffectsTransitionsLoadersWebGL & 3D Effects
Templates
IntroductionInstallationCLIDependenciesLicense
PricingBlogGithubNPMMCP Doc