Showreel Hero
ComponentsHeroesShowreel Hero
HeroesNew

Showreel Hero

Give a film a proper introduction. A cinematic poster, considered typography, and a native video viewer visitors choose to open and play.

USE IT FORAgency showreelsBrand filmsProduct storiesFilmmaker portfolios
React + CSS
Explore the full-width experienceOpen preview
FRAME / STUDIOFILM. FEELING. A DIFFERENT PERSPECTIVE.
An atmospheric coastal landscape beneath an open sky

INDEPENDENT STORIES / FIELD NOTES 01

Stories worth staying for.

A moving image can hold a whole world. We make room for the stories that deserve a little more time.

Watch Field Study

Use the player controls to start the film.

Read the transcript

A silent coastal study. The camera moves slowly across a rugged green coastline and the sea. No dialogue or sound.

FIELD STUDY / AN ORIGINAL SILENT MOTION PIECEOPEN. PLAY. TAKE A MOMENT.

Live component. Go ahead, interact.
01

Installation

Run this in your shadcn-configured React project. The component and stylesheet are added together.

TERMINAL
npx shadcn@latest add http://localhost:5173/r/showreel-hero.json

This command uses the current site address. For localhost, keep this preview running on the same computer. Files follow your configured components alias.

02

Usage

Import the component and make the details your own.

TypeScript
import { ShowreelHero } from '@/components/anticraft/ShowreelHero';

export function Example() {
  return (
    <ShowreelHero
      eyebrow="FRAME / INDEPENDENT FILM"
      title={'Stories worth\nstaying for.'}
      description="A moving image can hold a whole world. Make room for the stories that deserve a little more time."
      poster="/images/film-poster.jpg"
      posterAlt="A wide landscape under an open sky"
      videoSrc="/videos/film.mp4"
      videoLabel="Watch the film"
      captionsSrc="/videos/film.en.vtt"
      transcript="Add the full dialogue, meaningful sounds, and visual context for your film here."
    />
  );
}
03

Props

PropTypeDefaultDescription
titlestringRequiredThe visible section heading. A newline creates an intentional line break; long text can still wrap naturally.
posterstringRequiredYour own poster image URL. It fills the hero with object-fit: cover and also appears in the native player before playback.
videoSrcstringRequiredA browser-supported video file URL. The player uses preload="none", native controls, and playsInline. Opening the viewer does not start playback.
eyebrowstringundefinedOptional short context above the heading, such as a studio name or film collection.
descriptionstringundefinedOptional visible introduction at the foot of the poster.
posterAltstring''A meaningful description of the poster when it conveys information. Leave empty for a purely decorative poster whose meaning is already in the visible copy.
videoLabelstring'Watch the film'The visible opening button, dialog heading, and accessible player label.
captionsSrcstringundefinedOptional URL to your own valid English WebVTT captions file. The native captions track is labeled English captions and marked default. Supply accurate captions for speech and meaningful audio; adapt the source track language if your film uses another language.
transcriptstringundefinedOptional complete readable transcript in a native disclosure beneath the player. Include dialogue, important sounds, and needed visual context. The silent original demo uses a short visual description.
classNamestring''Additional classes. Theme the poster foreground and opening button with --ac-showreel-paper and --ac-showreel-ink on the root.
04

Motion & accessibility

Considered by default.

The poster stays still. Watch opens a native modal; the visitor then presses Play in the video controls. Nothing autoplays or loops. The player includes native pause, seeking, volume, captions when supplied, and fullscreen controls. Escape or Close pauses the video, returns it to the beginning, restores background scrolling, and returns focus to the opening button. Cleanup also runs on unmount and is safe during React Strict Mode effect replay. Failed video loading displays a useful message and a link to the original file. A small opening-button hover lift is removed for reduced motion. The demo film is an original silent eight-second coastal visual study, with a slow camera move and no dialogue or sound. Provide your own poster, video, captions, and transcript for the example paths.

Use semantic content and meaningful labels in your composition. Check contrast and keyboard behavior with your own styles and content.