Skip to main content
appearance.size is a meta-preset that reshapes every element’s chrome and layout density in a single knob.

What the preset controls

buttonHeight follows the resolved inputHeight by default, so submit buttons scale with the preset automatically. Border width, line height, and label font size stay constant across presets. Override them individually via variables when needed.

Preset with token overrides

Presets and tokens compose: presets pre-seed defaults; explicit tokens win.

Per-element override

An element-level appearance.size replaces the instance-level size on that element only:
The size class swaps atomically. There is no in-between state; a runtime update({ appearance: { size: 'large' } }) resizes the element without remount.

Preset defaults, not a cap

Explicit tokens always win over the preset’s implicit defaults. The preset is a shortcut, not a lock-in. Reach for the preset when you want every input on the page to scale together; reach for variables when you want to tune a single dimension.

See also

Last modified on July 17, 2026