Ballmac UI home

Particles

A canvas field of softly twinkling particles with depth, gentle drift and a pointer that attracts or repels them. Token colors, DPR aware, pauses off-screen, still under reduced motion.

Now in public beta

Think in systems, not tickets.

One calm workspace for plans, docs and the decisions behind them.

Get early access

Installation

$ pnpm dlx shadcn@latest add @ballmac/particles

Usage

import { Particles } from "@/components/ballmac/particles"

The full example is in the Code tab above.

Examples

Rising, repel

Move your pointer

Signals, rising.

API reference

PropTypeDefault
quantity

Number of particles. Scaled down on small containers so density stays even.

number120
size

Base particle radius in pixels; each particle varies around it.

number0.7
color

Particle color: a CSS variable name ("--foreground") or any CSS color.

string"--foreground"
interaction

How the field reacts to the pointer.

"attract" | "repel" | "none""attract"
radius

Radius of pointer influence in pixels.

number140
ease

Smoothing of the pointer response; higher is slower and softer.

number24
vx

Constant horizontal drift in pixels per frame.

number0
vy

Constant vertical drift in pixels per frame (negative rises).

number0
maxOpacity

Maximum particle opacity (0–1).

number0.7

Also accepts the standard attributes of its root element.

Use with AI

Place <Particles /> as the first child of a relative, overflow-hidden container; it fills it (absolute inset-0, aria-hidden, pointer-events-none) and tracks the pointer at window level, so content above it stays clickable. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Particles (@ballmac/particles) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Quiet hero or CTA backgrounds, especially on dark surfaces
  • Space, AI or data themed sections that need depth without imagery

Not for

  • Behind long-form text
  • Many instances on one page (each runs its own canvas loop)

Registry JSON: https://ui.ballmac.com/r/particles.json

Credits

Free to use in personal and commercial projects.

npm
None