Skip to content

Stats & values

Stats Row

Three figures with a title and a line of text each, split by thin lines on an inverted band.

Layout and motion from the Findit template — see it in context

Installation

$ npx shadcn@latest add https://framebrick.co/r/blocks/stats-row.json

Usage

import { StatsRow } from "@/components/stats-row";

<StatsRow
  stats={[
    { value: "$150M+", title: "Properties sold", text: "Homes and investments closed since we opened." },
    { value: "1,200+", title: "Happy families", text: "Buyers and renters who found their place." },
    { value: "20 yrs", title: "In the market", text: "Local knowledge in every neighbourhood." },
  ]}
/>

Props

PropTypeDefaultDescription
titlestring—Section heading for screen readers (visually hidden).
stats{ value, title, text }[]3 figuresFigures, left to right; three read best.
classNamestring—Classes for the <section>.
  • Stacked with a line between figures below 768px; three equal columns with vertical lines from 768px.
  • The band inverts the theme (bg-foreground, text-background) and uses half the section padding. No motion.

AI prompt

Paste into v0, Lovable, Bolt or Claude to rebuild this block in your own project.

Create a React + Tailwind CSS block called StatsRow.
- <section className="bg-foreground text-background py-[calc(var(--section-y)/2)]"> with a visually hidden h2; container mx-auto
  max-w-(--container) px-(--gutter).
- Figures in a column (gap-5) that becomes a row from 768px, separated by 1px lines (h-px, vertical w-px from 768px) in
  background/15. Each figure (flex-1): the value in font-heading text-h1 semibold tracking-tight, then (gap-5) its title
  (font-medium) and text (text-sm, 80% opacity), 10px apart.
- Only shadcn variables and block tokens. No motion.

Be the first to know

Get new templates and components first

One short email when we release a template or a free component. No spam — unsubscribe anytime.

We use your email only for Framebrick updates. Privacy policy