Beta

Search Documentation

Search through documentation pages

Components

Hover Card

A floating card that appears on hover, ideal for showing previews or additional details.

Preview

'use client';

import { Button } from '@/registry/san-francisco/ui/button';
import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/registry/san-francisco/ui/hover-card';

export default function HoverCardDemo() {
  return (
    <HoverCard>
      <HoverCardTrigger delay={10} closeDelay={100} render={<Button variant="link">Hover over me</Button>} />
      <HoverCardContent>
        <div className="flex flex-col gap-2">
          <div className="text-sm font-medium">Preview Card</div>
          <div className="text-muted-foreground text-sm">
            This card appears on hover and provides additional context or a content preview.
          </div>
        </div>
      </HoverCardContent>
    </HoverCard>
  );
}

Installation

bun
bunx shadcn@latest add @sft-ui/hover-card

Positioning

Control where the hover card appears relative to the trigger.

'use client';

import { Button } from '@/registry/san-francisco/ui/button';
import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/registry/san-francisco/ui/hover-card';

export default function HoverCardDemoPositioning() {
  return (
    <div className="flex gap-4">
      <HoverCard>
        <HoverCardTrigger render={<Button variant="outline">Bottom</Button>} />
        <HoverCardContent side="bottom">
          <p className="text-sm">Appears below the trigger.</p>
        </HoverCardContent>
      </HoverCard>
      <HoverCard>
        <HoverCardTrigger render={<Button variant="outline">Top</Button>} />
        <HoverCardContent side="top">
          <p className="text-sm">Appears above the trigger.</p>
        </HoverCardContent>
      </HoverCard>
    </div>
  );
}

API Reference

See the Base UI Preview Card documentation for the API reference.