Ballmac UI home

Icon Cloud

Icons, logos or labels orbiting on a 3D sphere, spun by dragging, calming under the pointer and when anything has focus, with real list markup so every item stays reachable.

  • React
  • Next.js
  • TypeScript
  • Tailwind
  • Radix
  • Motion
  • Node
  • Postgres
  • Redis
  • Docker
  • Vite
  • tRPC
  • Prisma
  • Stripe
  • Vercel
  • GraphQL
  • Bun
  • Zod

Installation

$ pnpm dlx shadcn@latest add @ballmac/icon-cloud

Usage

import { IconCloud } from "@/components/ballmac/icon-cloud"

The full example is in the Code tab above.

Examples

API reference

PropTypeDefault
children*

The items on the sphere: icons, logos, short labels, links or buttons. Each one is a list item.

React.ReactNode—
size

Diameter of the sphere in pixels.

number320
speed

Turns per minute when left alone.

number1.2
label

Accessible name of the list.

string—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
TabItems remain focusable in document order; rotation stops while one has focus
Screen readersA named list; position changes are visual only
Reduced motionA still sphere

Use with AI

<IconCloud size speed label>{items}</IconCloud>. Each child becomes a list item. Positions come from a Fibonacci sphere and update straight on the DOM. Links inside stay clickable because dragging only starts after a few pixels of movement. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Icon Cloud (@ballmac/icon-cloud) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Showing a technology or partner ecosystem
  • A playful, interactive hero centerpiece

Not for

  • Anything people must read quickly
  • Long lists (use a grid)

Registry JSON: https://ui.ballmac.com/r/icon-cloud.json

Credits

Free to use in personal and commercial projects.