shadcn.io is not affiliated with official shadcn/ui
Reverse Split News List Hero Block for React
A reverse split hero on drafting lines for a team docs workspace: a greyscale product illustration beside an announcement pill, the headline, a ruled list of the latest updates as links, a Shine Button and a second action.
Installation
Overview
Surface several announcements beside your product with this reverse split hero for React with Base UI. The section sits on the page's drafting lines: two rails at the edges of the page column that continue into the blocks above and below, a rule along its top edge that runs to the page's edges, and a plus mark on each crossing. Inside, a divider splits the column, with a plus mark where it meets the top rule, and a greyscale illustration of Larkspur, a team docs workspace, with its new assistant open sits on the start side in a frame of hairlines that run a little past its corners, with a plus mark on each. The copy holds an announcement pill linking to the 3.0 release, a headline, a subtitle, the latest updates as a ruled list of version-numbered links, a primary ShineButton and an outline Button, both links. It's built from Guides, Announcement, Status, Badge, Shine Button and Button with Lucide icons and Tailwind CSS, and its entrance is CSS that stays still under reduced motion. Made for product launches, version announcements and any landing page where a few timely updates deserve a place beside the product.
FAQ
How do I change the links under Latest updates?
Edit the UPDATES array at the top of the file: each update is a version, a label and the href it links to. Three to four rows read best; past that the list pushes the calls to action toward the bottom of the first screen on a laptop. Each row is one real a the width of the list, at least 40px tall, with its version in a monospaced column, its label underlined on hover and an arrow that nudges forward; it's ringed when it has keyboard focus, and the rows are divided by hairlines rather than boxed.
How do I replace the illustration with a product screenshot?
Replace <AssistantWindow /> with an img (or your framework's image component) positioned the same way, for example className="absolute end-10 top-14 w-[calc(100%-5rem)] rounded-xl border shadow-sm", and keep the mask on its wrapper so the bottom fades into the section. Remove aria-hidden from the cell and give the image an alt that says what the screenshot shows. Load it eagerly: it's above the fold.
How are the lines and plus marks drawn?
They are the Guides component, an aria-hidden layer that draws the lines of the box it sits in. The page column (max-w-6xl, the same in every block) has Guides bleed marks="top" rules="top": two side rails that run the section's full height, so they join the rails of the blocks above and below, and one rule along the top edge that runs to the page's edges (the section's overflow-x-clip stops it there), with a plus on each crossing. The block below draws the next rule, so a stack of blocks never doubles a line. Inside, the divider is the copy's lg:border-s with Guides marks="start" rules="none" sides={false} for the plus where it meets the top rule, and the illustration sits in Guides extend="sm" marks="corners", a frame of hairlines that run 0.5rem past its corners with a plus on each. Every line is solid and is the theme's border colour, so it follows any preset.
How do screen readers read the hero?
The headline is the block's one h1, and Latest updates is an h2 over a list of three links, so a screen reader announces a list of three items and reads each link by its version and label: the arrows are hidden. The announcement pill is a single link whose name is its full sentence, and both calls to action are links named by their text. The illustration and the lines are decoration, hidden from assistive technology, with nothing in them to focus.
How does the reverse split layout adapt to phones?
The two halves stack below the lg breakpoint, copy first and the illustration under it, with a ruled line between them; from lg the illustration moves to the start side. On a phone the illustration drops the document and keeps the sidebar and the assistant, cropped at the start edge. The headline drops its forced line break below sm, the pill truncates its second half, and the calls to action wrap onto a second line when the row runs out of room, down to 320px. The Shine Button is on the first screen of a phone.
What does the dot in the announcement pill mean, and how do I change it?
It's a Status dot in its default variant, the foreground colour, to mark news rather than a state. For a launch or a live release, give it variant="success", or warning for a deprecation notice. The dot is decorative and hidden from screen readers, so put anything it means into the pill's text as well.
Related
- Pro
Dismissible Announcement Bar Hero
Updates and timelinesA showcase hero for a release planning tool: a dismissible announcement band, a headline beside the pitch, a Shine Button, a trust line and a framed sketch of a release board that runs off the bottom.
- Pro
Changelog Preview Hero
Updates and timelinesA split hero for a code editor that releases on a schedule: the headline on one side, a ruled ledger of the four latest releases across a divider.
- Pro
Split Layout Image Hero
Product windowsA reverse split hero for an AI code assistant: an editor drawn from UI runs edge to edge to the start rail, with a file tree, code, a ghost suggestion and an assistant panel; a divider and the copy sit at the end.
- Pro
Centered Countdown Timer Hero
Signup and waitlistA compact centred launch hero on solid rails with a live countdown as a full-width band of four cells and an email form whose Shine Button shows its loading and success states.
- Pro
Centered Award Badge Hero
Logos and social proofA compact centered hero led by an award plaque in a hairline frame, with a headline, a Shine Button and an outline button, then one band of three more recognitions.
- Pro
Centered Email Capture Form Hero
Signup and waitlistA compact centered newsletter hero with the email field in a full-width band between two hairlines: a Shine Button subscribes, then a confirmation replaces the form, over a row of subscriber proof.