registry
@automindzsheets 01–77shadcn 4.x
SHEET 24

Hero Section

block / marketing

Marketing hero in three compositions — split, centered or stacked — with a media frame that reserves its aspect ratio before the asset lands.

type
block
files
1
registry deps
badge, button, skeleton, @automindz/render-link
npm deps
lucide-react

installs

  • components/automindz/hero-section.tsx
  • Three compositions, not one layout behind a flag.
  • No media: the grid recomposes to one measured column.
  • Title clamps to 4.25rem, balanced, tracking held at -0.02em.

Copy, hrefs and the media node are props: page content, not config. It never fetches or sizes an asset: it reserves a frame at mediaAspect and lets the child fill it, drawing a skeleton in that frame while mediaLoading is true. layout changes everything — split, centered and stacked are three compositions with their own spacing, and with no media the grid recomposes to one measured column. Pass renderLink for your router. Entrance motion is refused: the finished hero is the base state.

Variations

one state per section

01

Split, with media

Copy against the media at md and up, one column below it. The announcement is a single anchor — the badge inside it is a span, not a second link.

fluid
NewMarketing sections and motion primitives just landed

AutoMindz Solutions

Client apps, assembled from one registry

Sign-in, billing, the app shell and the states nobody remembers to draw all arrive from the same place. Install the block, get the failure case with it, and spend the sprint on what the client actually hired us for.

Next.js 16React 19Tailwind 4shadcn 4.x
02

Centered, one action

A single measured column with the media full width beneath it. One action rather than two, so nothing competes with it.

fluid

AutoMindz Solutions

One command, every state, before the sprint starts

Pending, failed, capped and disabled-with-a-reason arrive with the component — not in the review comments a week later.

Next.js 16React 19Tailwind 4shadcn 4.x
03

Stacked, media leads

The media is a bleed panel flush to the section edge, and the copy sits under it in a 7/5 grid — the third rhythm, not the split one re-aligned.

fluid

NewAgency spend forecasting

AutoMindz Solutions

See the gaps before the week does

Every unfilled shift, ranked by how hard it will be to cover, from the moment the draft opens.

32 items · every state drawn · no brand lock-in

04

No media

Nothing to show yet, so the two-column grid recomposes to one measured column instead of leaving an empty half.

fluid
NewMarketing sections and motion primitives just landed

AutoMindz Solutions

Client apps, assembled from one registry

Sign-in, billing, the app shell and the states nobody remembers to draw all arrive from the same place. Install the block, get the failure case with it, and spend the sprint on what the client actually hired us for.

32 items · every state drawn · no brand lock-in

05

Media loading

A skeleton at the declared aspect ratio — 4/3 here — so the frame is the same box before and after the asset lands and the copy never reflows.

fluid

AutoMindz Solutions

Client apps, assembled from one registry

Sign-in, billing, the app shell and the states nobody remembers to draw all arrive from the same place. Install the block, get the failure case with it, and spend the sprint on what the client actually hired us for.

Next.js 16React 19Tailwind 4shadcn 4.x
06

Long title, no actions

The worst case: the largest type scale, a 17-character word and a two-sentence lede. At 390px the title wraps and breaks rather than overflowing.

fluid

Interoperability

Interdependent registry items, resolved without a spreadsheet handover

An item names the primitives it needs and the CLI resolves them against your own shadcn style, so a hero and a checkout block installed a month apart still agree about what a button is. Nothing here forks a component to make a page work.

32 items · every state drawn · no brand lock-in