shadcn.io is not affiliated with official shadcn/ui
Hover Details Changelog Block for Vue
Release titles only, until you rest on a row or tab to it: the sentence that explains it then opens with a CSS height transition. Every sentence is open on phones and in the page for screen readers.
Installation
Overview
A hover-reveal changelog for Vue with Ark UI, written for Peekdeck, a fictional note-linking app. A centred header over five rows rail to rail, newest first. Each row shows the version, the day, the title (a link to the release) and a type tag. From lg the sentence that explains the release stays folded until the pointer rests on its row or keyboard focus lands inside it, then a CSS grid-row transition opens it and a chevron turns. The text is in the page from the start, so a screen reader reads every sentence and nothing waits for a hover; below lg every sentence is open. The list reserves the height of one open row, so opening a row never moves what follows the block. It needs no state and no script. It's built from Guides and Badge, with your theme's tokens for every colour. The releases are example data.
FAQ
How do I change the releases?
Edit RELEASES at the top of the file, newest first: each has a version, a date as an ISO day, a title, a detail (the sentence that opens) and a kind. If your sentences are much longer or shorter, change the lg:min-h-88 on the list so it still holds one open row.
How does it work without a mouse?
Each title is a real link, so tabbing to it puts focus inside the row and the row opens (group-focus-within); tabbing on closes it. Nothing needs a hover, and below lg (phones and tablets) every sentence is already open, so touch never depends on hover.
What does a screen reader hear?
Every row in full: version, day, the title as a link, the type tag and the sentence, in that order, whether or not it is folded on screen. The folded sentence is clipped, not removed. The chevron is decoration.