Staaarter

Video Ticker Strip CTA

Centered CTA heading, copy, and buttons sit above a horizontal strip of small looping video tiles that scrolls left forever, an energetic marquee of product moments beneath a clear call to action.

By Staaarter Team
CTA
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/video-ticker-strip-cta.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/cta/cta59.tsx instead.

Usage

The file also exports cta59Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Cta59, cta59Demo } from "@/components/blocks/cta/cta59";

export default function Page() {
  return <Cta59 {...cta59Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringnoneSmall label above the heading.
headingstringnoneMain CTA heading.
descriptionstringnoneSupporting paragraph.
primaryLabelstring"Get started"Primary button label.
primaryHrefstring"#"Primary button destination.
secondaryLabelstringnoneOptional secondary outline button label.
secondaryHrefstring"#"Secondary button destination.
clipsTickerClip[]noneVideo tiles shown in the scrolling strip, in order.
classNamestringnoneExtra classes for the outer section element.

Types

interface TickerClip {
  videoSrc: string;
  posterSrc: string;
  label: string;
}

Behavior notes

  • The strip scrolls via a pure CSS `@keyframes` translateX loop; the `clips` list is rendered twice back to back in JSX (`[...clips, ...clips]`) and the animation translates exactly -50%, so the seam is invisible and the loop never resets or jumps.
  • Every video tile autoplays muted and looped via native HTML attributes only, marked `aria-hidden` since the strip is decorative motion, not content a screen reader needs tile-by-tile.
  • Left/right edge gradients fade the strip into the background so tiles appear to scroll in and out rather than clipping abruptly.