https://framer.com/m/HoverCard-DP02.js

Io / UI Basics / HoverCardX

HoverCardX

HoverCardX is the tooltip’s bigger sibling: the thing that opens has its own layout rather than a single line of text. Like TooltipX it only appears on hover or focus, so the specimens below show the triggers — hover one to see the card.

Interactivehover card4 sidestouch fallback

Examples

Live specimens for every control the component exposes.

Default

A trigger with a card attached. Hover it to see the card — a static render cannot show it.

Side

side places the card on one of four sides of the trigger; sideOffset sets how far off it sits.

side top

side right

side bottom

side left

Delay

openDelay stops the card firing on a passing pointer; closeDelay gives the reader time to move onto it.

openDelay 0 · closeDelay 0

openDelay 600 · closeDelay 500

Shape

radius, padding and useArrow shape the card. Dropping the arrow makes it read as a panel rather than a pointer.

useArrow true · radius 10

useArrow false · radius 4 · padding 20

Touch

mobileBehavior decides what happens where there is no hover: open as a popover on tap, hide entirely, or keep the hover behaviour.

mobileBehavior popover

mobileBehavior hide

Props

The controls exposed on the instance panel.

PropTypeBehaviour
triggerButtonslotThe element the card is attached to.
contentslotWhat the card contains.
sideenumtop · right · bottom · left, relative to the trigger.
sideOffsetnumberDistance between trigger and card.
openDelaynumberHow long the pointer must rest before it opens.
closeDelaynumberHow long it stays after the pointer leaves.
useArrowbooleanDraws the pointer at the card’s edge.
usePortalbooleanRenders the card in a portal, above everything else.
mobileBehaviorenumpopover · hide · force-hover — what touch devices get.
backgroundcolorCard background.
borderborderCard outline.
radiusnumberCorner radius of the card.
paddingnumberInner padding of the card.
shadowshadowCard shadow.
enableTriggerInteractionbooleanTurns on the trigger interaction hook.
triggerInteractionobjectHow the trigger reacts when it is used.
enableContentInteractionbooleanTurns on the content interaction hook.
contentInteractionobjectHow the card reacts when it appears.
PropTypeBehaviour
triggerButtonslotThe element the card is attached to.
contentslotWhat the card contains.
sideenumtop · right · bottom · left, relative to the trigger.
sideOffsetnumberDistance between trigger and card.
openDelaynumberHow long the pointer must rest before it opens.
closeDelaynumberHow long it stays after the pointer leaves.
useArrowbooleanDraws the pointer at the card’s edge.
usePortalbooleanRenders the card in a portal, above everything else.
mobileBehaviorenumpopover · hide · force-hover — what touch devices get.
backgroundcolorCard background.
borderborderCard outline.
radiusnumberCorner radius of the card.
paddingnumberInner padding of the card.
shadowshadowCard shadow.
enableTriggerInteractionbooleanTurns on the trigger interaction hook.
triggerInteractionobjectHow the trigger reacts when it is used.
enableContentInteractionbooleanTurns on the content interaction hook.
contentInteractionobjectHow the card reacts when it appears.

Usage

Guidance carried over from the component definition.

Reach for HoverCardX

What opens needs layout — a heading, body, maybe an image.

A preview should be available without navigating away.

Touch devices need a defined fallback.

The card should sit above everything else via a portal.

Reach for something else

The hint is one short line — use TooltipX.

It must open on click and stay open.

The content should always be visible.

Io — UI Basics

Every trigger above is wired to a live HoverCardX instance with a slotted card. The card is only rendered on hover or focus, which a static page cannot capture.

io

An experiment in what a design system becomes when AI can consume it.

© 2026 io

Contact me

Create a free website with Framer, the website builder loved by startups, designers and agencies.