Prism

Prism light falling across a wall, splitting into its spectrum.

Still frame of Prism: prism light falling across a wall, splitting into its spectrum
Still frame

Installation

pnpm dlx shadcn@latest add @gradients-pro/prism

Needs a Pro account and the Pro registry setup.

Usage

import { Prism } from "@/components/prism";

<Prism className="h-[560px]">{children}</Prism>;

It fills its box, so give it a height. Children render on top.

Props

PropTypeDefaultDescription
palette"spectrum", "ultramarine", "sunset""spectrum"One of the curated palettes.
appearance"auto", "dark", "light""auto"Which version of the palette to use. auto follows a dark or light class (or data-theme) on <html>, then the OS setting.
colorsstring[]palette2 to 6 CSS colours, var(--x) included. Replaces the palette's colours.
backgroundstringpaletteReplaces the palette's background.
widthnumber10.25 to 4. Width of the streak.
dispersionnumber0.450 to 1. How far the light spreads into its spectrum.
softnessnumber0.40 to 1. Softer streak edges.
grainnumber0.10 to 1. Film grain.
speednumber0.60 to 2. How fast it moves; 0 holds a still frame.
paramsPartial<GradientParams>noneAny other engine param, applied last.
classNamestringnoneClasses for the outer box. Give it a size, for example h-[560px].
styleCSSPropertiesnoneInline styles for the outer box.
childrenReactNodenoneContent drawn above the background.