nteract elements

Hover Card

A card that appears on hover to display additional information

A hover card component built on Radix UI for displaying rich content when hovering over a trigger element.

Installation

npx shadcn@latest add https://nteract-elements.vercel.app/r/hover-card.json

Install the dependencies:

npm install radix-ui

Copy from the nteract/elements registry.

Usage

import {
  HoverCard,
  HoverCardTrigger,
  HoverCardContent,
} from "@/registry/primitives/hover-card"

export function Example() {
  return (
    <HoverCard>
      <HoverCardTrigger>Hover me</HoverCardTrigger>
      <HoverCardContent>
        Additional information appears here.
      </HoverCardContent>
    </HoverCard>
  )
}

Basic Example

Hover over me
<HoverCard>
  <HoverCardTrigger asChild>
    <span className="underline cursor-pointer">Hover over me</span>
  </HoverCardTrigger>
  <HoverCardContent>
    <p className="text-sm">This is the hover card content.</p>
  </HoverCardContent>
</HoverCard>

With Avatar

<HoverCard>
  <HoverCardTrigger asChild>
    <Button variant="link">@jupyter</Button>
  </HoverCardTrigger>
  <HoverCardContent className="w-80">
    <div className="flex justify-between space-x-4">
      <Avatar>
        <AvatarImage src="https://github.com/jupyter.png" />
        <AvatarFallback>JP</AvatarFallback>
      </Avatar>
      <div className="space-y-1">
        <h4 className="text-sm font-semibold">@jupyter</h4>
        <p className="text-sm">Jupyter is a large umbrella project...</p>
      </div>
    </div>
  </HoverCardContent>
</HoverCard>

Props

HoverCard

PropTypeDefaultDescription
openbooleanControlled open state
defaultOpenbooleanfalseDefault open state
onOpenChange(open: boolean) => voidCalled when open state changes
openDelaynumber700Delay before opening (ms)
closeDelaynumber300Delay before closing (ms)

HoverCardTrigger

PropTypeDefaultDescription
asChildbooleanfalseRender as child element
classNamestringAdditional CSS classes

HoverCardContent

PropTypeDefaultDescription
align"start" | "center" | "end""center"Alignment relative to trigger
sideOffsetnumber4Distance from trigger (px)
classNamestringAdditional CSS classes

On this page