Staaarter

Staircase Asset Trio

A feature section whose three image tiles step down the page in a staircase on large screens, each floating a different live asset (a stat card, a mini chart, or a command bar) above a small kicker, title, and paragraph.

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 media-slot dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/staircase-asset-trio.json

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

Usage

The file also exports feature4Demo, 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 { Feature4, feature4Demo } from "@/components/blocks/feature/feature4";

export default function Page() {
  return <Feature4 {...feature4Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringnoneSmall label above the heading.
headingReactNodenoneSection heading, centered above the grid.
descriptionstringnoneSupporting copy under the heading.
itemsStaircaseItem[]noneExactly three tiles are expected; only the first three get a staircase offset if more are passed.
classNamestringnoneExtra classes for the outer section element.

Types

type AssetKind = "stat" | "chart" | "command";

type StaircaseItem = {
  kicker: string;
  title: string;
  description: string;
  image?: { src: string; alt: string };
  asset: AssetKind;
};

Behavior notes

  • Fully static and server-rendered: the staircase offset is a fixed per-index margin-top (lg:mt-0/lg:mt-12/lg:mt-24) that only applies at the lg breakpoint; tiles sit in a single even row below that.
  • The floating asset overlay is chosen per item from a closed set ("stat" | "chart" | "command") and rendered as a small decorative mock UI card, none of it reflects real data.
  • A fourth or later item still renders in the grid but gets no staircase offset, since the offset list only covers the first three positions.