Editorial Hero
ComponentsHeroesEditorial Hero
HeroesNew

Editorial Hero

Oversized typography, an asymmetric image, and a clear invitation to read on. A quiet opening for studios and independent publications.

USE IT FORDesign journalsArchitecture practicesStudio portfoliosEditorial landing pages
React + CSS
Explore the full-width experienceOpen preview
FIELD /AN INDEPENDENT DESIGN JOURNAL

OBSERVATIONS FROM OUT THERE

ISSUE 008 / OPEN HORIZONS

A different point of view.

On spaces that make us pause, the people who shape them, and the details we carry home.

Explore the Mono story
A winding road to a coastal retreat above green cliffs at sunset.
FIELD NOTES / NO. 008

Good places change
how we see.

A journal about considered spaces and useful ideas. Open the example architecture story to see how a quiet first impression leads into a fuller project.

Read the architecture case study
ANTICRAFT / EXAMPLE JOURNAL
Live component. Go ahead, interact.
01

Installation

Run this in your shadcn-configured React project. The component and stylesheet are added together.

TERMINAL
npx shadcn@latest add http://localhost:5173/r/editorial-hero.json

This command uses the current site address. For localhost, keep this preview running on the same computer. Files follow your configured components alias.

02

Usage

Import the component and make the details your own.

TypeScript
import { EditorialHero } from '@/components/anticraft/EditorialHero';

export function Example() {
  return (
    <EditorialHero
      eyebrow="OBSERVATIONS FROM OUT THERE"
      title={'A different\npoint of view.'}
      description="On places that make us pause, the people who shape them, and the details we carry home."
      image={{ src: '/images/coast.jpg', alt: 'A winding path above a quiet coastal bay.' }}
      action={{ label: 'Read the journal', href: '/journal' }}
      meta="ISSUE 008 / OPEN HORIZONS"
    />
  );
}
03

Props

PropTypeDefaultDescription
titlestringRequiredThe visible h2 and section name. Newlines create line breaks. The layout handles longer words with wrapping; concise titles work best. Adjust the copied heading level if this is your page’s primary h1.
image{ src: string; alt: string }RequiredThe editorial image source and meaningful alternative text. This image remains available to assistive technology. Supply your own image at the example /images/coast.jpg path or change the URL.
eyebrowstringundefinedA short category or publication label in the top rule.
descriptionstringundefinedA concise introduction beside the image on wide layouts and below it on compact layouts.
action{ label: string; href: string }undefinedAn ordinary anchor to your journal, project, or other real route. Keyboard, touch, modified clicks and open-in-new-tab behavior remain native.
metastringundefinedOptional issue, location or project metadata, aligned to the right of the top rule.
classNamestring''Additional classes. Customize --ac-editorial-paper, --ac-editorial-ink, --ac-editorial-muted and --ac-editorial-heading-font. At 600px component width and below, the image sits above the supporting text in one column.
04

Motion & accessibility

Considered by default.

A passive scroll listener moves only the image, bounded to 24px in either direction. Its overscan keeps the image window filled. Text and links stay in the normal document flow. Compact layouts and reduced-motion preferences use a static image; reduced motion also removes the link-arrow transition. There is no automatic animation or scroll capture. The demo’s links open the complete local Mono architecture case study.

Use semantic content and meaningful labels in your composition. Check contrast and keyboard behavior with your own styles and content.