Matrix orb

A dot-matrix orb that animates through idle, listening and thinking states.

Interaction Type

Use the controls to switch the orb between its idle, listening and thinking states.

Props

Options you can pass to customize this component.

Prop
Type
Description
state
idlelisteningthinking

Which animation the orb plays.

level
number

How far the orb blooms, 0 to 1. Falls back to a built-in envelope.

size
number

Diameter of the orb in pixels.

color
string

Any CSS color for the dots.

dots
number

How many dots across the grid.

labels
Partial<Record<MatrixOrbState, string>>

Caption under the orb, per state.

className
string

Extra classes merged onto the root element (data-slot="matrix-orb").

Installation

npx shadcn@latest add swamimalode07/rare-ui/matrix-orb

How to use

"use client"
import { useState } from "react"
import MatrixOrb, { type MatrixOrbState } from "@/components/ui/matrix-orb"
export function Demo() {
const [state, setState] = useState<MatrixOrbState>("idle")
return (
<MatrixOrb
state={state}
onClick={() => setState(state === "idle" ? "listening" : "idle")}
className="cursor-pointer"
/>
)
}
// drive the bloom yourself with any value from 0 to 1
// <MatrixOrb state="listening" level={level} />

Source Code

Click the code icon in the top-right corner to view the source code.

Keep in mind

Most components here are recreations of great work from around the web. I don't claim to be the original creator - this is my attempt to reverse-engineer, replicate, and often add a few extra features. I've tried to credit everyone; if I missed someone, let me know.

Contact

Found a bug or issue? Feel free to drop a DM.

License & Usage

  • •MIT with the Commons Clause and an attribution requirement. Free to use, modify and ship in personal and commercial projects, closed source included. You own the code once it is in your project.
  • •Credit is required. Any project shipping a Rare UI component must credit Rare UI with a visible link back to rareui.com, in a footer, an about page, a credits screen or a README.
  • •Don't strip the credit or the copyright notice from the source you copied.
  • •Don't sell, sublicense or redistribute the components themselves, on their own, bundled into a template, kit, theme or paid course, or ported to another framework.
  • •Don't republish them. No mirrors, no re-uploads, no listing them as your own work.
  • •Don't repackage the registry as a competing component library.
  • •Don't claim authorship of a component or of Rare UI itself.
  • •The LICENSE file in the repository is the full text and governs. Ask first if your use doesn't fit these rules.
Matrix orb
Listening