Components versus patterns
A component library answers "what does this piece look like?". An interaction pattern answers "how do we solve this recurring problem?" - combining components, behaviour, content and accessibility into a documented recipe.
For example, "text input" is a component. "Validating a long form and showing errors" is a pattern: when to validate (on blur, on submit), how errors appear, how they are announced to screen readers, where focus goes, what the summary looks like, and what happens to entered data. Without a documented pattern, every team makes these decisions again - and makes them differently.
This matters most in complex products, where the same problems recur constantly: forms, tables, filters, status, bulk actions, confirmations, loading and empty states. Consistency here is one of Nielsen's core usability heuristics: users should not have to wonder whether different situations or actions mean the same thing.



