Staaarter

Bordered Grid Layout

A centered header sits above a bordered grid (1 column on mobile, 2 on small screens, 3 on large) where items share a single outer border and are separated from each other by divide-x/divide-y rules instead of each being its own card, good for a compact core-features or capabilities-overview section.

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/bordered-grid-layout.json

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

Usage

The file also exports feature130Demo, 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 { Feature130, feature130Demo } from "@/components/blocks/feature/feature130";

export default function Page() {
  return <Feature130 {...feature130Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading.
headingstringnoneSection heading.
descriptionstringundefinedSupporting copy under the heading.
itemsBorderedGridItem[]noneGrid items, each supplying its own icon component, title, and description.
classNamestringnoneExtra classes for the outer section element.

Types

interface BorderedGridItem {
  icon: LucideIcon;
  title: string;
  description: string;
}

Behavior notes

  • This is a plain Server Component; there is no interaction anywhere in this block.
  • divide-y runs at every breakpoint and divide-x kicks in from sm upward, so on the 2-column breakpoint the grid only has vertical rules between columns (no horizontal rule between the two rows); this is a deliberate simplification of full interior gridlines rather than a bug.