A dark mono-label button built on motion that heats on hover, flashes to ember on press and greys to ash when a Thermal Provider reports depletion. Pulse respects reduced motion.
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.
pnpm dlx shadcn add @01orbital/thermal-buttonnpx shadcn add @01orbital/thermal-buttonyarn shadcn add @01orbital/thermal-buttonbunx --bun shadcn add @01orbital/thermal-buttonPart 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/button/thermal-button.tsx, as source you own and edit.
import { ThermalButton } from "@/components/button/thermal-button"
export default function ThermalButtonDemo() {
return (
<div className="grid w-full flex-wrap place-items-center gap-4 p-6">
<ThermalButton label="Ignite" />
<ThermalButton label="Outline" variant="outline" />
</div>
)
}Prop
Type
It also accepts Motion's animation props.
npm: class-variance-authority, cn, motion. The CLI installs them for you.
Registry pieces it installs with it:
font-geist-monoSphere Button
A round planetary button lit by a radial highlight and crescent inset shadows, in teal, blue and coral. A void variant opens a dark centre on hover; labels set in Marcellus.
Compare
Every Chat component side by side: whether it follows the theme or stays dark, how many parts and custom props it has, and whether it is free. Open one for its preview, API and install.