Centered Newsletter CTA

Minimal centered call-to-action with heading, description, and action buttons. Perfect for newsletter signups and conversion sections.

FREE

Cta8: Centered Newsletter CTA

Centered call-to-action for newsletter and conversion sections: an optional badge (always paired with a mail icon), a highlightable heading, a description, a wrapping row of buttons, and a small footnote line beneath them.

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

Base UI flavor

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

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

Quick start

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

tsx
import { Cta8, cta8Demo } from "@/components/beste/block/cta8";

export default function Page() {
  return <Cta8 {...cta8Demo} />;
}

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

tsx
import { Cta8 } from "@/components/beste/block/cta8";

export default function Page() {
  return (
    <Cta8
      badge={{ label: "Newsletter" }}
      heading="Never miss a <strong>release</strong>"
      description="One email a month, product notes only, no filler."
      buttons={[
        { label: "Subscribe", href: "/subscribe" },
        { label: "See an example", href: "/archive", variant: "outline" },
      ]}
      footnote="No spam. Unsubscribe anytime."
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional pill badge above the heading, always rendered with a leading mail icon
headingstringHeadline HTML; wrap a phrase in <strong> to color-highlight it
descriptionstringSupporting paragraph under the heading
buttonsButtonItem[][]CTA buttons, centered and wrapping
footnotestringSmall muted line under the buttons
classNamestringExtra classes for the outer <section>
ts
type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

Behavior notes

More CTA blocks

View all CTA
PRO

cta15

Minimal CTA

Ultra-minimal call-to-action with a single bold heading and action button. Perfect for clean, distraction-free conversion sections.

PRO

cta74

Centered Closing CTA

A centered call to action with an eyebrow pill, a large light heading, a short paragraph, and two accent buttons on a clean surface.

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

cta68

Contact CTA

Centered contact call to action with an availability badge and big headline.

PRO

cta76

Plan-Led Centered CTA

A centered call to action led by a floating plan price card on an image tile, followed by an eyebrow, a large light heading, a paragraph, two accent buttons, and a monospace reassurance note.

PRO

cta21

Notification CTA

Compact notification-style call-to-action card with icon, message, and inline action button. Perfect for subtle inline conversion prompts.