23rd logo23rd

Shader Anime Fire

Cel-shaded WebGL flames that rise from the bottom and reach for the pointer.

Preview

Installation

pnpm dlx shadcn@latest add @23rd/shader-anime-fire

Or from the public GitHub registry:

pnpm dlx shadcn@latest add radiumcoders/23rd.dev/shader-anime-fire

Usage

Pin it behind a relatively positioned section, with content in relative z-10.

"use client"

import { ShaderAnimeFire } from "@/components/ui/shader-anime-fire"

export function Hero() {
  return (
    <section className="relative isolate min-h-svh overflow-hidden bg-background">
      <ShaderAnimeFire />
      <div className="relative z-10 mx-auto flex min-h-svh max-w-xl flex-col items-center justify-center px-6 text-center">
        <p className="text-xs font-medium tracking-[0.18em] text-muted-foreground uppercase">
          New
        </p>
        <h1 className="mt-3 text-4xl font-medium tracking-tight">
          Ship something that catches
        </h1>
        <p className="mt-3 text-muted-foreground">
          Flames along the floor. The copy stays clear.
        </p>
      </div>
    </section>
  )
}

Lock the theme:

<ShaderAnimeFire theme="light" />
<ShaderAnimeFire theme="dark" />

Print it as Bayer pixels:

<ShaderAnimeFire dither pixelSize={3} />

Props

PropTypeDefault
colorsstring[]ember / flame / core
speednumber0.6
intensitynumber1
heightnumber0.45
interactivebooleantrue
ditherbooleanfalse
pixelSizenumber1
theme"light" | "dark" | "auto"auto
classNamestringReact only
classstringSvelte only