Orbs

Orb Palettes

Nine named colorways for the orbs: scarlet over cobalt, ember, umber, tide, dusk, viridian with a gold seam, rose, gold and ash. Plain data; pass a name as palette to the Voice Orb, the Planet or the docked chat.

The source comes with full access.

One payment of $149 ($49 for now) opens the source right here and lets the CLI install every paid component, with lifetime updates.

Installation

pnpm dlx shadcn add @01orbital/orb-palettes
npx shadcn add @01orbital/orb-palettes
yarn shadcn add @01orbital/orb-palettes
bunx --bun shadcn add @01orbital/orb-palettes

Part of the 01orbital library. With a license, put ORBITAL_TOKEN in .env.local and the same command installs it (licensed install, pricing).

It lands at components/orbs/orb-palettes.tsx, as source you own and edit.

The example also uses voice-orb. Install it too:

pnpm dlx shadcn add @01orbital/voice-orb
npx shadcn add @01orbital/voice-orb
yarn shadcn add @01orbital/voice-orb
bunx --bun shadcn add @01orbital/voice-orb

Usage

import {
  ORB_PALETTE_NOTES,
  ORB_PALETTES,
  type OrbPaletteName,
} from "@/components/orbs/orb-palettes"
import { VoiceOrb } from "@/components/orbs/voice-orb"

// The nine colorways on the Voice Orb, each named: pass the name as
// `palette` to the Voice Orb, the Planet or the docked chat.
export default function Demo() {
  return (
    <ul className="grid w-full max-w-3xl grid-cols-3 gap-x-6 gap-y-8 p-6 sm:grid-cols-5">
      {(Object.keys(ORB_PALETTES) as OrbPaletteName[]).map((name) => (
        <li key={name} className="flex flex-col items-center gap-3 text-center">
          <VoiceOrb palette={name} size={72} />
          <div className="flex flex-col">
            <span className="font-mono text-xs/4 tracking-widest uppercase">
              {name}
            </span>
            <span className="text-xs/4 text-muted-foreground">
              {ORB_PALETTE_NOTES[name]}
            </span>
          </div>
        </li>
      ))}
    </ul>
  )
}

Dependencies

No other registry pieces.