Staaarter

Stats Bar with Story Card

Horizontal stats row at the top followed by a centered story card with heading, body text, and CTAs.

By Staaarter Team
About
Docs
Live preview

Docs

Installation

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

npx shadcn add https://staaarter.com/r/stats-bar-with-story-card.json

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

Usage

The file also exports about14Demo, 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 { About14, about14Demo } from "@/components/blocks/about/about14";

export default function Page() {
  return <About14 {...about14Demo} />;
}

Props

PropTypeDefaultDescription
statsStatItem[]noneStat row across the top, each centered above a bottom border.
headingstringnoneHeading inside the story card.
storystringnoneBody paragraph inside the story card.
buttonsButtonItem[][]CTA buttons at the bottom of the story card.
classNamestringnoneExtra classes for the outer section element.

Types

type StatItem = { title: string; value: string };

type ButtonItem = {
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};

Behavior notes

  • The stats row sits above a border-bottom rule that separates it from the story card below; unlike About8, stats here are always centered rather than left-aligned.
  • The story card itself is capped at a narrow max width and centered, distinct from the full-width stat row above it, creating an intentional funnel from wide data to a focused message.
  • Every button defaults to variant "default" (the same convention as About1), unlike About5 which alternates default and outline.