SweetUI

Search items

Jump to an item

component

bubble

Wraps text: incoming, outgoing, muted; aligns with message row.

bubblechatmessageconversationmodifiershadcn
bubble, light

On iPad

The same installed source at a regular width. It adapts its layout without a separate design.

bubble on iPad, light

Install

With the sweetui tool (brew install mangobyte-dev/tap/sweetui):

sweetui install bubble --destination Sources/YourFeature/Components

Installs in order: bubble 0.1.1. Point --destination at a folder inside the consuming target's sources.

Usage

Text("Are we still on for Thursday?")
    .registryBubble(.incoming)

Text("Yes, 6pm works.")
    .registryBubble(.outgoing)

Accessibility contract

  • Text wraps, MUST NOT truncate; grows Dynamic Type.
  • No added element; keeps semantics, reading order.
  • Fill, no stroke; outgoing uses tint, onAccent MUST stay legible.
  • Muted: border hairline, no fill; reads distinct without color.
  • Inherits layout direction; padding/corners follow locale.

Details

Kindcomponent
Version0.1.1
PlatformsiOS 26.0+
Dependenciesnone
SourceRegistry/sources/components/RegistryBubbleModifier.swift
Xcode previewBubble Variants