Split Hotspot Feature Section

Two-column layout with text content, CTA buttons, and interactive image with clickable hotspot popovers. Perfect for SaaS feature pages with reversible layout option.

FREE

Showcase2: Split Hotspot Feature Section

Two-column feature section: text content and CTA buttons on one side, a screenshot on the other with clickable pulsing hotspot markers that open a Popover describing that part of the image. The column order can be reversed.

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/showcase2"

Base UI flavor

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

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

Quick start

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

tsx
import { Showcase2, showcase2Demo } from "@/components/beste/block/showcase2";

export default function FeaturePage() {
  return <Showcase2 {...showcase2Demo} />;
}

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

tsx
import { Zap, Shield } from "lucide-react";
import { Showcase2 } from "@/components/beste/block/showcase2";

export default function FeaturePage() {
  return (
    <Showcase2
      heading="Powerful analytics at your fingertips"
      description="Explore the interactive dashboard and see how data turns into insight."
      buttons={[{ id: "btn-1", label: "Get started", href: "https://beste.co" }]}
      image={{
        src: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1200&h=675&fit=crop",
        alt: "Analytics dashboard",
      }}
      hotspots={[
        {
          id: "hotspot-1",
          x: 20,
          y: 35,
          icon: <Zap className="size-4" />,
          title: "Quick Actions",
          description: "Access frequently used features from the sidebar.",
        },
        {
          id: "hotspot-2",
          x: 55,
          y: 50,
          icon: <Shield className="size-4" />,
          title: "Data Protection",
          description: "Your data is encrypted end-to-end.",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional badge above the heading
headingstringSection heading
descriptionstringSection intro text
buttonsButtonItem[][]CTAs rendered below the description
image{ src: string; alt: string }Screenshot the hotspots sit on top of; falls back to a placeholder box if omitted
hotspotsHotspot[][]Clickable markers positioned over the image
reversedbooleanfalseFlips text and image columns
classNamestringExtra classes for the outer <section>
ts
type ButtonItem = {
  id: string;
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

type Hotspot = {
  id: string;
  x: number;
  y: number;
  icon?: React.ReactNode;
  title: string;
  description: string;
  link?: { href: string; label?: string };
  size?: "sm" | "md" | "lg";
  appearance?: "light" | "dark";
};

Behavior notes

More Showcase blocks

View all Showcase
PRO

showcase1

Interactive Hotspot Image

Full-width image showcase with clickable animated hotspots that reveal feature popovers with icons and descriptions. Perfect for product tours and interactive feature demonstrations.

PRO

showcase12

Features with Stats and Image

Two-column layout with key metrics bar, icon feature list, CTA button, and large product image. Perfect for enterprise feature sections highlighting performance and capabilities.

PRO

showcase5

Side-by-Side Competitor Comparison

Two-column comparison layout with product images, feature checklists, and visual differentiation between your product and competitors. Perfect for competitive positioning sections.

PRO

showcase36

Annotated Showcase

Browser-framed product screenshot with surrounding feature callouts.

PRO

showcase7

Screenshot with Testimonial Quote

Two-column section combining product image with large customer quote, author avatar, name, and role. Perfect for social proof sections alongside product visuals.

PRO

showcase38

Sticky Showcase

A pinned product image beside a scrolling list of feature steps.