Staaarter

Dashboard Stats Cards

A header pairs with a responsive 2-to-4 column grid of bordered stat cards. Each card shows a label, a large value, and a percentage-change row with a directional arrow colored to match whether the change reads as an increase or a decrease.

By Staaarter Team
Feature
Docs
Live preview

Docs

Installation

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

npx shadcn add https://staaarter.com/r/dashboard-stats-cards.json

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

Usage

The file also exports feature124Demo, 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 { Feature124, feature124Demo } from "@/components/blocks/feature/feature124";

export default function Page() {
  return <Feature124 {...feature124Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading.
headingstringnoneSection heading.
descriptionstringundefinedSupporting copy under the heading.
statsStatCard[]noneStat cards rendered in a 2-column grid on mobile, 4-column on large screens.
classNamestringnoneExtra classes for the outer section element.

Types

interface StatCard {
  label: string;
  value: string;
  change: string;
  trend: "up" | "down";
}

Behavior notes

  • This is a plain Server Component; every value is a static demo number, not a live metrics feed.
  • The change row's arrow and color are driven purely by the trend field ("up" renders a green up-arrow, "down" renders a red down-arrow); the block doesn't attempt to infer whether a given metric's decrease is actually good or bad, that judgment call is left to whoever supplies the data.