# Hover Card Component API A card that appears when hovering over a trigger element. --- ## Installation ```toml # Cargo.toml [dependencies] shadcn-ui-leptos-hover-card = "0.7" ``` ```rust use shadcn_ui_leptos_hover_card::HoverCard; ``` --- ## Import ```rust use shadcn_ui_leptos_hover_card::{ HoverCard, HoverCardTrigger, HoverCardContent }; ``` --- ## Component API ### HoverCard Root component managing hover state. | Prop | Type | Default | Description | |------|------|---------|-------------| | `open` | `Signal` | **Required** | Open state | | `on_open_change` | `Option>` | `None` | Change handler | ### HoverCardContent The floating card content. | Prop | Type | Default | Description | |------|------|---------|-------------| | `class` | `MaybeProp` | `None` | Additional CSS classes | --- ## Usage Examples ### Basic Hover Card ```rust use leptos::prelude::*; use shadcn_ui_leptos_hover_card::*; #[component] pub fn MyComponent() -> impl IntoView { let (open, set_open) = signal(false); view! { "@username"

"User Name"

"Bio and additional info"

} } ``` --- ## CSS Classes ```css .hover-card-content { z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out } ``` --- ## Accessibility - `role="tooltip"` - Tooltip role - Hover delay to prevent accidental triggers --- ## TypeScript API ```typescript interface HoverCardProps { open: boolean; onOpenChange?: (open: boolean) => void; children?: React.ReactNode; } export const HoverCard: React.FC; export const HoverCardTrigger: React.FC; export const HoverCardContent: React.FC; ``` --- *Source: [packages/leptos/hover-card/src/default.rs](https://github.com/yourusername/leptos-shadcn-ui/blob/main/packages/leptos/hover-card/src/default.rs)*