shadcn.io is an independent project built on shadcn/ui
The trigger pairs a small avatar with Hayden Bleasel. The card shows a larger avatar, the name, a Pro badge, Product designer and developer, and Joined March 2020.
Put it on authors in a feed when plan or role matters. On a phone, open the same card from a Popover. In React, Base UI does not load a profile. The name and date are written here.
Installation
Anatomy

Usage
<HoverCard>
<HoverCardTrigger
className="flex items-center gap-2 font-medium text-sm"
closeDelay={100}
delay={10}
href="#"
>
<Avatar size="sm">
<AvatarImage
alt="@haydenbleasel"
height={24}
src="https://github.com/haydenbleasel.png"
width={24}
/>
<AvatarFallback>HB</AvatarFallback>
</Avatar>
<span>Hayden Bleasel</span>
</HoverCardTrigger>
<HoverCardContent className="max-w-full">
<div className="flex gap-4">
<Avatar>
<AvatarImage
alt="@haydenbleasel"
height={32}
src="https://github.com/haydenbleasel.png"
width={32}
/>
<AvatarFallback>HB</AvatarFallback>
</Avatar>
<div className="flex flex-1 flex-col gap-1">
<div className="flex items-center gap-2">
{/* The rest of the file is under Installation. */}FAQ
How is the name link made the trigger?
HoverCardTrigger renders an anchor itself, so the name link is the trigger with href and its classes set on it.
How is the avatar in the trigger made small?
size="sm" on Avatar. The one in the card uses the default size. Each image has the username as its alt, and AvatarFallback shows HB if it fails to load.
How wide is the card?
The default hover card width. Set a width class such as w-80 on the card to fit longer content.
How do I change how fast the card opens and closes?
The card opens a moment after the pointer rests on the trigger and stays up long enough for the pointer to move into it. Both delays are in milliseconds.
The demo sets delay 10 and closeDelay 100 on HoverCardTrigger. side and align on HoverCardContent place it.
Does the card open from the keyboard and on touch screens?
Focusing the name opens the card, moving focus away or pressing Escape closes it. Touch screens have no hover, so keep what matters reachable elsewhere, or use a Popover when the card has to open on a tap.
API Reference
Hover Card
Sets closeDelay={100}, delay={10} and href="#". The rest is on the Hover Card page.
Avatar
Sets size="sm", alt="@haydenbleasel", height={24}, src="https://github.com/haydenbleasel.png", width={24} and height={32}. The rest is on the Avatar page.
Badge
Sets variant="secondary". The rest is on the Badge page.








