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

  • Free to use and modify in both personal and commercial projects.
  • Attribution to Rare UI is appreciated when using a component.
  • Please don't resell the components as your own kit.
Matrix orb
Listening