Installation
Usage
import { BouncingDots } from "@/components/loading-ui/bouncing-dots";<BouncingDots />Customization
BouncingDots shares the same flex row recipe as Dots and Typing: percentage gap, grow markers, and bg-current (inherited foreground). Each dot eases between smaller dimmer and larger brighter keyframes. Timing uses --duration (default 1.4s); stagger delays stay fixed.
Size
Control overall width—the dots share space evenly inside the row.
Color
Arbitrary hex swatches for obvious documentation color.
Duration
Slow the bounce for calmer surfaces or speed it up for snappy microtasks.
Dot count
Add markers when the queue feels busier or you want a wider rhythm.
Examples
Surface variety keeps the bounce from feeling repetitive: alerts for status, a bottom sheet for mobile-friendly queues, tabs for live vs history, and a tight popover for async hints.
Button
gap-2 gives the row room to expand without crowding the label.
Badge
Compact chips for “spring load” or retry states.
Alert
Pair with operational copy when throughput is still stretching.
Sheet
side="bottom" is ideal for thumb reach plus a centered bounce.
Tabs
Let users compare live ingest against a quieter history tab.
Ingest still stretching
Switch tabs freely—the animation loops until the stream closes.
Popover
Short copy, small footprint, one accent color on the dots.