Components

Names for the surfaces that float above, beside, or inside an interface. Start here the moment someone says “popup.”

01

Tooltip

A small, read-only label that appears on hover or focus — fifteen words at most. It explains or names a control; it never holds actions or a workflow.

Say it precisely“Add a popup on hover.”“Show a tooltip on hover and focus, max ~12 words, 8px above the trigger; dismiss on blur or Escape.”

See the difference
02

Popover

An interactive, non-modal panel anchored to a trigger, dismissed by outside click or Escape. It can hold actions, previews, or a small form without blocking the page.

Say it precisely“Make a small modal under the button.”“Open an anchored popover below the trigger with actions; dismiss on outside click or Escape, return focus to the trigger.”

See the difference
03

Modal

A blocking dialog over a scrim that traps focus until it's dismissed or completed. It interrupts the surface on purpose, so reserve it for decisions that must happen now.

ModalFocused dialog over a scrim.

Say it precisely“Open a centered popup.”“Open a modal dialog over a scrim; trap focus, close on Escape or scrim click, and restore focus to the opener.”

See the difference
04

Drawer

A panel that slides in from an edge — left, right, top, or bottom — usually keeping a sense of the page behind it. Best for secondary content that needs room.

Drawer

Say it precisely“Show a side popup.”“Open a right-edge drawer over a dimmed scrim; close on Escape or scrim click.”

See the difference
05

Scrim

A semi-transparent layer that dims and blocks everything beneath a modal or drawer. It isn't the dialog — it's the wash that pulls focus forward and receives the dismiss click.

ScrimThe layer behind the dialog.

Say it precisely“Add a dark background behind it.”“Render a 40%-opacity scrim behind the dialog that blocks pointer events and closes on click.”

See the difference
06

Toast

A brief, non-blocking notification that appears, lingers, and auto-dismisses — confirming an action without stealing focus. It may stack, but it never demands a response.

Draft saved

Say it precisely“Show a message at the top.”“Show a bottom-right toast for 4s with an Undo action; auto-dismiss, pause on hover, stack newest on top.”

See the difference