Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Framed Cards Blog Block for React

Six text-only posts as raised cards in one tinted frame, two across: category, title as the card's one link, a short dek and a line with author, date and reading time.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A text-only post wall for React with Base UI, written for Marlowe Notes, a design agency's journal. A compact header with an outline All notes link sits over a card in card: one muted frame holds six raised panels, two across from sm and one on a phone, and each panel is a single article with no cover, so the words do the work. A panel carries the category as an outline badge, the title as the panel's one link (its target covers the whole panel and the focus ring is drawn around it), a two-line dek, and a quiet line with the author, the date and the reading time. A small arrow nudges on hover. It's built from Guides, Frame, Badge and Button, with CSS for the entrance and the hover, and every colour is a theme token. For agency journals, notes pages and any blog that leads with its writing, not its pictures.

FAQ

How do I add my own posts?

Edit POSTS at the top of the file. Each post has a title, a one-line dek, an author, a category, a date as an ISO string ("2026-09-10"), a reading time in minutes and an href. Dates are fixed, never computed from today, and are formatted in UTC so the server and the browser print the same day. Six posts fill three rows of two; any even number keeps the frame's last row full, and an odd one leaves one panel on its own at the end.

What does the frame do?

It is the catalog's Frame: a muted shell with a small inset, and each FramePanel is a raised, bordered panel inside it, so the panels read as cards sitting in a tray. The block draws no hairlines inside the frame; the structure is the shell and the gaps. The frame follows your theme, so in a dark theme the panels are the dark surface and the shell a step lighter.

How does it fit on a phone?

Below sm the panels stack in one column, each with its full dek, so all six fit in about three screens and nothing scrolls sideways at 320 pixels. The byline wraps onto a second line when the author's name is long.

Does it work right to left?

Yes. The two columns and each panel mirror, and the arrow in the corner turns. The date and the reading time are isolated with bdi, so "6 min read" keeps its order.

  • Pro

    Cards Grid Blog

    Card grids

    The six latest posts of an engineering blog as cards on shared hairlines: drawn greyscale covers, a category, the title as the card's one link, a one-line dek and a byline with the date and reading time.

  • Pro

    One article's opening and nothing else: a narrow reading measure with title, dek and byline, two paragraphs with a sunk initial, and a quiet Continue reading link.

  • Pro

    Three post cells on shared hairlines, each with a drawn wood-grain cover and three tag chips; a post with more tags shows a +3 button that opens a popover of the rest as links with counts.

  • Pro

    Four horizontal post cards in rows from rail to rail, the drawn cover at one end and the text at the other, mirroring row by row, each row numbered.

  • Pro

    Twenty posts as dense one-line rows like a printed contents page: date, title, a dotted leader and the reading time, eight shown and twelve behind a Show more button.

  • Pro

    Six ring-inset preference cells for a team-settings app, each holding one working control: a switch, a slider, a toggle group, a select, a checkbox and a segmented control.