PParable
All components

CTA Banner

Blocks & Slices

A closing call-to-action band: an ink panel with a slow aurora gradient sweep, faint edge-masked dotted grid, and a glow that pulses behind the primary button — with an optional gradient-highlighted accent word.

Inspired by Cult Pro — CTA sections (pattern) — independently built, not affiliated. Attribution policy

Ship your best work faster

Join thousands of teams building with the Parable registry — production-ready components, zero lock-in.

Installation

npx shadcn@latest add https://parable-three.vercel.app/r/cta-banner.json

Runs the shadcn CLI — the component source is copied intocomponents/parable/cta-banner.tsx. You own it from there.

Usage

The exact code rendering the preview above.

<div className="w-full max-w-2xl px-4">
    <CtaBanner
      title="Ship your best work faster"
      accentWord="faster"
      subtitle="Join thousands of teams building with the Parable registry — production-ready components, zero lock-in."
      primaryLabel="Get started"
      secondaryLabel="View docs"
      onPrimary={() => {}}
      onSecondary={() => {}}
    />
  </div>

Props

CtaBannerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">

PropTypeDefaultDescription
title*stringHeadline. Pair with `accentWord` to gradient-highlight one word.
subtitlestringOptional supporting line under the title.
primaryLabel*stringPrimary button label.
onPrimary() => voidClick handler for the primary button.
primaryHrefstringIf set, the primary CTA renders as a real `<a href>` instead of a button.
secondaryLabelstringOptional secondary button label. Omit to render only the primary CTA.
onSecondary() => voidClick handler for the secondary button.
secondaryHrefstringIf set, the secondary CTA renders as a real `<a href>` instead of a button.
align"center" | "left""center"Content alignment within the panel.
accentWordstringA word inside `title` to render with the brand gradient.

npm dependencies

  • lucide-react