Staaarter

Three Cards With Asset Media

A feature section with three cards, each replacing the usual icon with a small, self-contained visual asset: a mini bar chart, a before/after two-number comparison, and a terminal-prompt-styled code line. Demonstrates how small registry-style visual pieces can drop into a block's media area in place of a generic icon.

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/three-cards-asset-media.json

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

Usage

The file also exports feature173Demo, 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 { Feature173, feature173Demo } from "@/components/blocks/feature/feature173";

export default function Page() {
  return <Feature173 {...feature173Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading.
headingstringnoneSection heading, centered above the cards.
descriptionstringundefinedSupporting paragraph under the heading.
cards[Feature173Card, Feature173Card, Feature173Card]noneExactly three cards' title and description, matched in order to the fixed chart/stat/terminal assets.
classNamestringnoneExtra classes for the outer section element.

Types

interface Feature173Card {
  title: string;
  description: string;
}

Behavior notes

  • Fixed 3-card layout: the micro-asset shown in each card (mini bar chart, before/after stat, terminal prompt) is chosen by card position, not by a data-driven prop, so the `cards` prop only ever carries a card's title and description.
  • Each micro-asset is its own small, hardcoded, presentational sub-component (MiniBarChart, BeforeAfterStat, TerminalPromptLine): the bar heights, the before/after numbers, and the terminal command and output are all fixed values, not props-driven and not connected to any real data source.
  • This is a plain Server Component, there is no click, hover, or scroll interaction anywhere in this block.
  • None of the hardcoded asset values use Math.random() or Date.now(), so the block renders identically across the live preview, the Code tab's static HTML, and every card thumbnail.