Button

Thermal Button

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.

Installation

pnpm dlx shadcn add @01orbital/thermal-button
npx shadcn add @01orbital/thermal-button
yarn shadcn add @01orbital/thermal-button
bunx --bun shadcn add @01orbital/thermal-button

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/button/thermal-button.tsx, as source you own and edit.

Usage

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>
  )
}

API reference

Prop

Type

It also accepts Motion's animation props.

Dependencies

npm: class-variance-authority, cn, motion. The CLI installs them for you.

Registry pieces it installs with it: