Overlay
Hover Card
Link previews on hover and focus. The link must stand on its own for touch.
Every component here was tuned by @lilt — hover the handle to say hello.
Show codeHide code
"use client";
import { Avatar, AvatarFallback } from "@/registry/lilt/ui/avatar";
import {
HoverCard,
HoverCardContent,
HoverCardTrigger,
} from "@/registry/lilt/ui/hover-card";
export default function HoverCardDemo() {
return (
<HoverCard>
<p className="max-w-[44ch] leading-7 text-[var(--lilt-text-muted)]">
Every component here was tuned by{" "}
<HoverCardTrigger className="text-[var(--lilt-text)]" href="#">
@lilt
</HoverCardTrigger>{" "}
— hover the handle to say hello.
</p>
<HoverCardContent>
<div className="flex items-center gap-3">
<Avatar>
<AvatarFallback>LT</AvatarFallback>
</Avatar>
<div>
<p className="font-display text-base font-semibold tracking-[-0.02em]">
Lilt
</p>
<p className="text-sm text-[var(--lilt-text-subtle)]">@lilt</p>
</div>
</div>
<p className="mt-3 text-sm leading-relaxed text-[var(--lilt-text-muted)]">
A design language with a spring in its step. Warm paper, one pine
accent, borders over shadows — always.
</p>
</HoverCardContent>
</HoverCard>
);
}Installation
npx shadcn@latest add @lilt/hover-cardAccessibility
- Opens on keyboard focus as well as hover; Escape dismisses.
- Touch users never see the preview — the link must stand on its own.