Ballmac UI home

Orbiting Circles

Items that orbit a center on circular tracks while staying upright. Evenly spaced, any radius, speed and direction; stack several for rings. Paused off-screen, static under reduced motion.

Acme
Mail
Calendar
Messages
Database
Files
Cloud
Photos
Alerts

Installation

$ pnpm dlx shadcn@latest add @ballmac/orbiting-circles

Usage

import { OrbitingCircles } from "@/components/ballmac/orbiting-circles"

The full example is in the Code tab above.

Examples

Single ring

API reference

PropTypeDefault
radius

Radius of the orbit in pixels.

number120
duration

Seconds for one full orbit.

number24
reverse

Orbit counter-clockwise.

booleanfalse
path

Draw the circular track the items travel on.

booleantrue
iconSize

Width and height of each orbiting item in pixels.

number40
startAngle

Angle in degrees where the first item starts; the rest are spaced evenly.

number-90

Also accepts the standard attributes of its root element.

Use with AI

Inside a relative container with a fixed height, render the center element, then one <OrbitingCircles radius duration> per ring with the orbiting items as children. Each ring fills the container (absolute inset-0) and centers itself; items are laid out evenly around the circle. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Orbiting Circles (@ballmac/orbiting-circles) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • An integrations or ecosystem section: your product in the middle, tools around it
  • A hero visual for a platform that connects many services

Not for

  • Items people must read or click reliably (moving targets); use a grid
  • More than about 8 items per ring

Registry JSON: https://ui.ballmac.com/r/orbiting-circles.json

Credits

Free to use in personal and commercial projects.

npm
None
Registry
shadcn/utils