Modus UI

Cast Reel

Web (React)

A 3D reel of team cards, as a tonal card wave or a contact-sheet filmstrip, coloured by your theme.

Team cards fan out in 3D around a focused card on a dotted ground. By default they form a wave of cards tinted in a tonal ramp of the theme primary, with serif names, mono roles and a pill that fills with the primary colour on the focused card; the filmstrip variant lays them out as a ruled contact sheet whose portraits warm from greyscale as they come into focus. Move the pointer to scrub, scroll or use the arrow keys to step, and click a card to bring it forward; after a few idle seconds the deck drifts on its own. The wave can also flip between horizontal and vertical (double-click or Space). Everything follows light and dark mode and the palette picker. It pauses off screen and snaps instead of easing when the user prefers reduced motion.

Modus / Cast Reel

Installation

CLI

npx @modus-ui/cli add cast-reel

Manual

  1. Copy the code from the component tab.
  2. Create a file at components/ui/cast-reel.tsx.
  3. Paste the code.

Usage

tsx
import { CastReel } from "@/components/ui/cast-reel";

export default function Example() {
  return (
    <div className="relative h-[520px] w-full">
      <CastReel variant="wave" />
    </div>
  );
}

Props

PropTypeDefaultDescription
variant"filmstrip" | "wave""wave"A tonal card wave or a contact-sheet filmstrip.
itemsCastReelItem[]nine sample profiles with Unsplash portraitsCards to show (name, role, image, optional color).
speednumber1Animation speed multiplier (0 to 2.5).
scalenumber1Deck scale (0.7 to 1.3).
opacitynumber1Opacity of the scene (0.05 to 1).
huenumber0Hue rotation in degrees.
saturationnumber1Saturation multiplier.
brightnessnumber1Brightness multiplier.
followLabelstring"Say hello"Label on the wave variant's pill.
classNamestringnoneExtra classes for the root.

Comments

  • No comments yet.