Banner CTAFREE

Horizontal banner call-to-action with heading and action buttons side by side. Perfect for inline conversion sections between content blocks.

Cta11: Banner CTA

Horizontal banner CTA meant to sit inline between content blocks: a bordered, muted card holding a badge, heading, and description on one side and a cluster of buttons on the other, stacking vertically on mobile.

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

Base UI flavor

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

This installs the block to components/beste/block/cta11.tsx and the Badge and Button shadcn/ui primitives it uses.

Quick start

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

tsx
import { Cta11, cta11Demo } from "@/components/beste/block/cta11";

export default function Page() {
  return <Cta11 {...cta11Demo} />;
}

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

tsx
import { ArrowRight } from "lucide-react";
import { Cta11 } from "@/components/beste/block/cta11";

export default function Page() {
  return (
    <Cta11
      badge={{ label: "New" }}
      heading="Ship your first workflow today"
      description="Set up automation in minutes, no code required."
      buttons={[
        { label: "Get Started", href: "/signup", icon: <ArrowRight className="size-4" /> },
        { label: "Talk to Sales", href: "/contact", variant: "outline" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional pill badge above the heading
headingstringHeadline HTML; wrap a phrase in <strong> to color-highlight it
descriptionstringSupporting text under the heading
buttonsButtonItem[][]CTA buttons rendered on the trailing side of the banner
classNamestringExtra classes for the outer <section>
ts
type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
  icon?: React.ReactNode;
};

Behavior notes

More CTA blocks

View all CTA
PRO

cta18

Fullwidth Image CTA

Full-width call-to-action with background image overlay, heading, and action buttons. Perfect for bold, visually striking conversion sections.

PRO

cta9

Split Layout Newsletter CTA

Two-column call-to-action with decorative image on one side and feature list with action buttons on the other. Perfect for visually rich conversion sections.

PRO

cta34

Bordered Stack CTA

Vertically stacked bordered sections with alternating content and a final call-to-action. Perfect for storytelling-driven conversion.

PRO

cta24

Split Text CTA

Asymmetric two-column layout with large heading on the left and description with buttons on the right. Perfect for editorial-style conversion sections.

PRO

cta35

Avatar Wall CTA

Dense grid of subscriber avatars with centered heading overlay and call-to-action. Perfect for community-driven conversion.

PRO

cta36

Accent Sidebar CTA

Card with colored accent left border and inline call-to-action. Perfect for attention-grabbing inline conversion prompts.

Markdown version