Skip to content

shadcn.io is an independent project built on shadcn/ui

Free

Simple Profile Hover Card for Ark UI

The handle @haydenbleasel opens a small card with an avatar, the name Hayden Bleasel, and a one-line role.

The trigger is @haydenbleasel. The card shows an avatar, Hayden Bleasel, and Product designer and developer. There is no badge and no counts.

Use it for mentions and bylines. Add stats only when activity matters. On touch, open it from a Popover. In React, Ark UI does not load the person. The role is written in the file.

Preview

Preview width

Installation

Sign in to get your install command
Free with an account. It carries your token, so the CLI installs everything in one go.

Anatomy

Hover Card anatomy: trigger, positioner, arrow, content

Usage

<HoverCard>
  <HoverCardTrigger asChild>
    <a className="font-medium text-sm underline underline-offset-4" href="#">
      @haydenbleasel
    </a>
  </HoverCardTrigger>
  <HoverCardContent>
    <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-col gap-1">
        <h4 className="font-semibold text-sm">Hayden Bleasel</h4>
        <p className="text-muted-foreground text-sm">
          Product designer and developer
        </p>
      </div>
    </div>
  </HoverCardContent>
</HoverCard>

FAQ

What is in the card?

An Avatar beside Hayden Bleasel and Product designer and developer.

How is the username link made the trigger?

HoverCardTrigger takes asChild, and the demo passes the username link, an anchor, so it stays a link.

What if the picture fails to load?

AvatarFallback shows the initials HB instead. The image has the username as its alt.

Where does the profile come from?

It is written in the demo. In an app, load it when the card opens, and show a Skeleton while it loads.

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. Set openDelay and closeDelay on HoverCard; they default to 10 and 100. positioning picks another side than the bottom.

Does the card open from the keyboard and on touch screens?

Focusing the username 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 asChild. The rest is on the Hover Card page.

Avatar

Sets alt="@haydenbleasel", height={32}, src="https://github.com/haydenbleasel.png" and width={32}. The rest is on the Avatar page.