Capítulo 34 de 51
A hover-triggered "link preview" popup (the "hover over a link, see a rich preview" pattern popularized by social apps) — sighted mouse/keyboard-only by design, so the popup must never carry information unavailable on the destination page itself.
Root → Trigger, Portal → Backdrop, Positioner → Popup → Arrow, Viewport. Notably smaller than Popover/Tooltip's anatomy — no Title/Description/Close parts, since the content is expected to be a rich preview, not a labeled dialog-like structure.Trigger.delay/closeDelay: hover intent timing is core here (there's no click-to-open variant implied by the anatomy) — tune both to avoid accidental triggers while scanning a page.Viewport: same content-transition part as Popover/Menu, for animating between different preview states if content changes.| Part | Notable props | Notable data attributes |
|---|---|---|
Root | open/onOpenChange, handle, actionsRef | — |
Trigger | delay, closeDelay, handle, payload | data-popup-open |
Positioner | same anchored-positioning family as Popover | data-anchor-hidden, data-align, data-side |
delay/closeDelay generously (typically several hundred ms) — this is a hover-only interaction with no click fallback shown in the anatomy, so premature triggering while scrolling/scanning is the main UX risk.