A component variant is a predefined alternative of a reusable component used to represent controlled differences in purpose, size, state, content, or behavior.
A button component may have variants for primary, secondary, and destructive intent, plus sizes and states such as default, hover, focus, loading, and disabled.
The family stays conceptually one component while supporting meaningful differences.
A state describes a temporary condition such as hover or disabled. A variant often represents a stable configuration such as intent or size.
Design tools may model both through variant properties, but the conceptual distinction helps teams reason about behavior.
Without controlled variants, teams duplicate components and manually restyle them, increasing inconsistency and maintenance cost.
Dozens of combinations make the system difficult to understand.
Fix the underlying design need or create a different component when appropriate.
“Style 2” gives no usage guidance.
A component variant asks: which controlled differences should this reusable component support without becoming a new component?
Component · Component library · Design system · Design token