Chromatic Aberration Reveal

Reveal an image with an RGB split that converges into a clean final frame. Three channel-shifted layers spring to alignment with subtle staggering, plus a one-pass wave sweep during convergence. Supports in-view once, mount-triggered, and manual visibility control.

UniqueUI CLI

npx uniqueui add chromatic-aberration-reveal

shadcn CLI

npx shadcn@latest add https://uniqueui-platform.vercel.app/r/chromatic-aberration-reveal.json -y

shadcn path expects @/lib/utils (run shadcn init first). Same source file is installed to components/ui/.

Preview

Mountain lake at dusk

Chromatic converge reveal

RGB split, then perfect convergence.

Usage

import { ChromaticAberrationReveal } from "@/components/ui/chromatic-aberration-reveal";

export default function Example() {
  return (
    <ChromaticAberrationReveal
      className="h-[420px] w-full rounded-2xl"
      src="https://images.unsplash.com/photo-1500964757637-c85e8a162699?auto=format&fit=crop&w=1600&q=80"
      alt="Mountain lake at dusk"
      splitDistance={16}
      staggerMs={80}
      trigger="in-view"
    />
  );
}

Props

PropTypeDescription
srcstringImage URL rendered in the base and channel layers.
altstringAccessible alt text for the base image layer.
splitDistancenumberInitial horizontal channel offset in pixels (R = -distance, B = +distance).
staggerMsnumberDelay between each channel settling, in milliseconds.
trigger"in-view" | "mount" | "manual"Animation trigger mode. `in-view` runs once when entering viewport.
isVisiblebooleanUsed with `trigger="manual"` to control reveal state externally.
classNamestringClasses for the reveal wrapper.