Capability Carousel

Looping carousel of capability cards with a centered media slot per card. Each slot accepts an image, video, or live registry-component asset.

FREE

Centered header with a badge, heading, description, and CTA buttons, above a looping shadcn Carousel of capability cards. Each card's media slot follows the Media Slot Standard, and every card in the shipped demo fills it with a live registry-piece asset over a photographic background.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/feature8"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/feature8"

This installs the block to components/beste/block/feature8.tsx, the shadcn/ui badge, button, and carousel components it depends on, and the ai8, ai22, code1, keyboard1, search1, and weather2 pieces it embeds as media-slot fillers (installed to components/beste/piece/{name}.tsx).

Quick start

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

tsx
import { Feature8, feature8Demo } from "@/components/beste/block/feature8";

export default function Page() {
  return <Feature8 {...feature8Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup mixing an image card and a live-asset card looks like this:

tsx
import { Search1 } from "@/components/beste/piece/search1";
import { Feature8 } from "@/components/beste/block/feature8";

export default function Page() {
  return (
    <Feature8
      badge={{ label: "Capabilities", variant: "outline" }}
      heading="A toolkit for every surface you ship"
      description="Swipe through the assets that come prebuilt."
      buttons={[{ label: "Browse all assets", href: "/components" }]}
      items={[
        {
          title: "Lightning-fast search",
          description: "A type-aware search field with a keyboard hint.",
          media: { type: "component", component: <Search1 placeholder="Search anything..." shortcut={["", "K"]} /> },
        },
        {
          title: "See it in the product",
          description: "A screenshot of the finished search experience.",
          media: {
            type: "image",
            src: "https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=1200&h=900&fit=crop",
            alt: "Product dashboard on a laptop",
          },
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Badge above the heading
headingstringSection heading
descriptionstringSection intro text
buttonsButtonItem[][]CTA buttons under the description
itemsCarouselItemData[][]Carousel cards
classNamestringExtra classes for the outer <section>
ts
type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

type CarouselItemData = {
  title: string;
  description: string;
  media: ItemMedia;
};

type ItemMedia =
  | { type: "image"; src: string; alt?: string }
  | { type: "video"; src: string; alt?: string }
  | {
      type: "component";
      component: React.ReactNode;
      background?: ComponentBackground;
    };

type ComponentBackground =
  | { type: "dots" }
  | { type: "none" }
  | { type: "image"; src: string; alt?: string }
  | { type: "video"; src: string; alt?: string };

Behavior notes

More Feature blocks

View all Feature
PRO

feature173

Feature Card Carousel with Image Crossfade

Single-card carousel with crossfading images, arrow navigation, and dot progress indicators. Each slide shows a full-width image with icon, title, and description below. Click or navigate to browse features.

FREE

feature9

Three-Step How-To

Three side-by-side step cards with a media surface anchored to the bottom of each card. Each slot accepts an image, video, or live registry-component asset.

FREE

feature194

Three Cards With Asset Media

Three feature cards that swap an icon for a real micro-asset: a bar chart, a before/after stat, and a terminal prompt. Demonstrates how registry-pieces drop into block media slots.

PRO

feature204

Feature with Image Carousel and Lightbox Modal

Centered header followed by a side-by-side image carousel (3 visible on desktop, 2 on tablet, 1 on mobile) with prev/next arrows and dots. Tap an item to open a full-size modal lightbox with its own navigation.

PRO

feature170

Expandable Accordion Cards with Image

Click-to-expand feature cards with smooth grid-rows animation. Each card reveals a detailed description and preview image when opened. Only one card expanded at a time. Compact yet information-rich.

FREE

feature3

Service Grid With Icons

Centered header, three-column grid of capability cards, and an optional CTA with bottom text. Each card leads with a Lucide icon.