Ballmac UI home

Meteors

Thin meteors with glowing heads and fading tails streak across a container at a set angle. Randomized after mount (hydration-safe), paused off-screen, hidden under reduced motion.

v2.0 · released today

A faster way to think.

The biggest update since launch, rebuilt from the storage layer up.

  • Offline sync across every device
  • Command palette with natural search
  • Up to 3× faster cold starts
Read the release notes

Installation

$ pnpm dlx shadcn@latest add @ballmac/meteors

Usage

import { Meteors } from "@/components/ballmac/meteors"

The full example is in the Code tab above.

Examples

Steep, colored

API reference

PropTypeDefault
count

Number of meteors in flight at once.

number14
angle

Direction of travel in degrees: 0 is right, 90 is down, 135 is down-left.

number135
duration

Shortest and longest seconds for one meteor to cross.

[number, number][2.4, 5.5]
tail

Shortest and longest tail length in pixels.

[number, number][60, 160]
color

Meteor color. Any CSS color or var().

string"color-mix(in oklch, var(--foreground) 70%, transparent)"

Also accepts the standard attributes of its root element.

Use with AI

Put <Meteors /> inside a relative, overflow-hidden card or section (it is absolute inset-0, aria-hidden, pointer-events-none) and lift content with relative z-10. Meteor positions are generated on the client after mount, so the server renders an empty layer. With the shadcn MCP server set up (guide), ask your agent:

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

Use it for

  • A launch, release or milestone card that should feel special
  • Dark hero sections or CTA panels that need a hint of motion

Not for

  • Dense UI or data tables
  • Communicating anything; it is decorative and hidden under reduced motion

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

Credits

Free to use in personal and commercial projects.

npm
None
Registry
shadcn/utils