Installation
The registry entry pulls in Motion (motion); the CLI step should install it alongside the component.
Usage
import { BobbingDots } from "@/components/loading-ui/bobbing-dots";<BobbingDots />Customization
BobbingDots mirrors Dots layout: percentage gap, grow dots, and bg-current (inherited foreground). Vertical motion is handled by Motion with a staggered delay per index. Use duration (seconds, default 1) to speed up or slow the bounce without touching the keyframes.
Size
Scale the row with width utilities; larger widths give each dot more room to travel visually.
Color
Three vivid hex swatches—same idea as the blinking Dots showcase.
Duration
Pass duration as a number of seconds. Lower values feel snappier; higher values feel floatier.
Dot count
More dots add rhythm; keep widths generous so the bounce does not feel cramped.
Examples
Mix surfaces so the motion never feels copy-pasted: dashed alerts, sheets with breathing room, tabs with soft gradients, and popovers for micro-delights.
Button
Spacing the label with gap-2 keeps the bounce from colliding with button text.
Badge
Gradient-backed badges sell “play mode” energy without extra illustration.
Sheet
Centered motion plus a sentence of context helps mobile-friendly workflows feel guided.
Tabs
Let one tab hold the hero preview while the other stays lightweight—users can switch without losing the playful loop.
Rendering motion study
Tab away—the bounce keeps looping so the panel feels alive.
Popover
Keep copy short; the dots are the star of this transient surface.