Bounded Carousel Hero

Contained 16:9 hero carousel with badge, title, description, and CTA over an image background. Auto-rotates with centered, clickable dots at the bottom — same carousel engine as hero19 but not full-height.

PRO

A contained 16:9 hero carousel that rotates through slides, each with its own badge, heading, description, image and CTA. Unlike a fullscreen hero, the carousel lives inside a padded, rounded card capped between 420px and 640px tall, so it reads as a boxed showcase panel rather than a page-filling banner.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/hero109?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero109?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/hero109.tsx and the badge and button shadcn/ui primitives it depends on.

Quick start

The installed file exports hero109Demo alongside the block: the exact props behind the preview above. Spread it to get a working carousel in one line.

tsx
import { Hero109, hero109Demo } from "@/components/beste/block/hero109";

export default function Page() {
  return <Hero109 {...hero109Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Hero109 } from "@/components/beste/block/hero109";

export default function Page() {
  return (
    <Hero109
      autoPlay
      interval={5000}
      transition="kenBurns"
      showDots
      slides={[
        {
          id: "slide-1",
          badge: { label: "New", variant: "secondary" },
          heading: "Launch week is here",
          description: "Ship your product page in an afternoon, not a sprint.",
          image: {
            src: "https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=1500&h=844&fit=crop",
            alt: "Team celebrating a product launch",
          },
          buttons: [{ id: "btn-1", label: "See the release", href: "https://beste.co" }],
        },
        {
          id: "slide-2",
          badge: { label: "Design", variant: "secondary" },
          heading: "Built for detail",
          description: "Every transition, spacing and shadow considered.",
          image: {
            src: "https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=1500&h=844&fit=crop",
            alt: "Designer reviewing a layout on a laptop",
          },
          buttons: [{ id: "btn-1", label: "View the system", href: "https://beste.co" }],
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
slidesHeroSlide[]Slide list; each slide carries its own badge, heading, description, image and buttons
autoPlaybooleantrueAuto-advances to the next slide on the interval timer
intervalnumber6000Milliseconds between auto-advances
transition"fade" | "slide" | "zoom" | "blur" | "kenBurns""fade"Which framer-motion variant set drives the slide change
showDotsbooleantrueShows the clickable dot pager at the bottom of the card
classNamestringExtra classes for the outer <section>
ts
type HeroSlide = {
  id: string;
  badge?: { label: string; variant?: "default" | "secondary" | "outline" };
  heading?: string;
  description?: string;
  image?: { src: string; alt: string };
  buttons?: ButtonItem[];
};

type ButtonItem = {
  id: string;
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

Behavior notes

More Hero blocks

View all Hero
PRO

hero110

Bounded Carousel Hero — Aligned

Contained 16:9 hero carousel with badge, title, description, and CTA. Vertically centered content that anchors to the left, center, or right via the contentAlign prop. Auto-rotates with centered, clickable dots.

PRO

hero19

Cinematic Fullscreen Carousel

Full-screen animated carousel with multiple transition effects, next slide preview, and progress bar. Perfect for immersive storytelling and portfolio showcases.

PRO

hero21

Fullscreen Vertical Carousel

Full-screen carousel with vertical slide transitions, decorative grid lines, and customizable accent colors. Perfect for creative agencies and modern brand showcases.

PRO

hero20

Split Carousel with Thumbnails

Two-column carousel with animated content transitions, thumbnail strip navigation, and vertical progress indicator. Perfect for product showcases and feature highlights.

FREE

hero57

Full-height Hero with Scroll Indicator

Vertically centered hero with animated scroll-down indicator featuring bouncing dot and arrow. Perfect for single-page sites and immersive landing pages.

PRO

hero111

Hero with Feature List and Image

Two-column hero with heading, description, icon-only feature list, and CTA on one side and a square image on the other. Image position is configurable.