Back to Chakra Ui

Hover Card

apps/www/content/docs/components/hover-card.mdx

0.3.0-beta2.0 KB
Original Source
<ExampleTabs name="hover-card-basic" />

Usage

jsx
import { HoverCard } from "@chakra-ui/react"
jsx
<HoverCard.Root>
  <HoverCard.Trigger />
  <HoverCard.Positioner>
    <HoverCard.Content>
      <HoverCard.Arrow>
        <HoverCard.ArrowTip />
      </HoverCard.Arrow>
    </HoverCard.Content>
  </HoverCard.Positioner>
</HoverCard.Root>

Shortcuts

The HoverCard provides a shortcuts for common use cases.

Arrow

The HoverCard.Arrow renders the HoverCard.ArrowTip component within in by default.

This works:

jsx
<HoverCard.Arrow>
  <HoverCard.ArrowTip />
</HoverCard.Arrow>

This might be more concise, if you don't need to customize the arrow tip.

jsx
<HoverCard.Arrow />

Examples

Controlled

Use the open and onOpenChange to control the visibility of the hover card.

<ExampleTabs name="hover-card-controlled" />

Delays

Control the open and close delays using the openDelay and closeDelay props.

<ExampleTabs name="hover-card-with-delay" />

Placement

Use the positioning.placement prop to configure the underlying floating-ui positioning logic.

<ExampleTabs name="hover-card-with-placement" />

Disabled

Use the disabled prop to prevent opening the hover card on interaction.

<ExampleTabs name="hover-card-with-disabled" />

Open From Dialog

To use the HoverCard within a Dialog, you need to avoid portalling the HoverCard.Positioner to the document's body.

diff
-<Portal>
  <HoverCard.Positioner>
    <HoverCard.Content>
    </HoverCard.Content>
  </HoverCard.Positioner>
-</Portal>

Accessibility

HoverCard should be used solely for supplementary information that is not essential for understanding the context.

It is inaccessible to screen readers and cannot be activated via keyboard, so avoid placing crucial content within it.

Props

<PropTable component="HoverCard" part="Root" />

Explorer

Explore the Hover Card component parts interactively. Click on parts in the sidebar to highlight them in the preview.

<Explorer name="hover-card-explorer-demo" />