paper
paper

A panel on the page, its border lightened to match the fill rather than ringing it.

glass
glass

A panel on the page, its border lightened to match the fill rather than ringing it.

floating
floating

The same panel over the page — a menu, a popover, a dialog — under the shadow that lifts it off.

At rest
field / fieldInteractive

The tint a control rests in, and the same tint on one that answers the pointer.

ghostButton

A round glyph that is only itself until it is hovered, for the marks that sit beside content.

inkButton

The one filled control on a screen: the foreground as a fill, dimming and giving under the press.

pressable

The give, on its own: hold it down and it takes the press, whatever surface it is wearing.

iconSwap

One glyph for another in the same square: the old one shrinks into a blur as the new one settles.

SwapLabel

Two words in one slot, the button easing between their widths instead of jumping.

Thinking through it…
ShimmerLabel

A highlight crossing the words while something is working, and still under reduced motion.

collapsePanel

A panel that opens to the height of what is in it, measured by Base UI rather than guessed at.

streaming41 ms
live / mono

The blue that says something is happening now, on the small type the machine's own words are set in.

failed41 ms
live / pixel

The blue that says something is happening now, on the small type the machine's own words are set in.

<div className={cn(paper, "rounded-xl p-4")}>
<span className={cn(mono, live)}>streaming</span>
</div>
codeScroll / codeSurface

Code that keeps its own whitespace, with the fill running the width of the longest line rather than stopping at the fold.

Back to UI PrimitivesSurfaces