Staaarter

Split Comparison CTA

Side-by-side comparison cards showing a free tier and a pro tier, each with a short feature list and its own call-to-action button. The pro card is visually accented with a border, shadow, and a badge to draw the eye. Perfect for upgrade and upsell sections.

By Staaarter Team
CTA
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, badge dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/split-comparison-cta.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/cta/cta17.tsx instead.

Usage

The file also exports cta17Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Cta17, cta17Demo } from "@/components/blocks/cta/cta17";

export default function Page() {
  return <Cta17 {...cta17Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Find the right plan for you"Heading above the cards.
descriptionstring"Start free and upgrade whenever you're ready for more."Short supporting copy under the heading.
freeTitlestring"Free"Title of the left (muted) card.
freeDescriptionstring"For trying things out."Short description under the free card's title.
freeFeaturesstring[]noneFeature list rows shown on the free card.
freeButtonLabelstring"Continue with Free"Label for the free card's button.
freeButtonHrefstring"#"Link target for the free card's button.
proTitlestring"Pro"Title of the right (accented) card.
proDescriptionstring"For teams that ship often."Short description under the pro card's title.
proBadgeLabelstring"Recommended"Badge text shown next to the pro card's title.
proFeaturesstring[]noneFeature list rows shown on the pro card.
proButtonLabelstring"Upgrade to Pro"Label for the pro card's button.
proButtonHrefstring"#"Link target for the pro card's button.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • Layout only: the free card uses a muted background and a plain outline button, the pro card uses a primary-colored border, a subtle shadow, and a solid button, plus a small `Badge` next to its title, to read as the recommended option.
  • Both cards' buttons are inert links (`render={<Link/>}`) pointing at `#` by default; there is no real checkout or upgrade flow wired up.
  • Feature rows are a flat, pre-sorted list rendered with a checkmark icon; there is no diff/highlight logic comparing the two lists against each other.