A component library needs more than its ideal appearance. Inputs can be empty, focused, invalid or disabled; buttons can show progress or prevent repeated submission. I consider these states part of the component rather than optional additions.

Documenting the transitions makes the system easier to implement consistently. It also reveals places where wording or feedback is missing. A smaller library with clear behaviour can be more useful than a large collection of polished components whose interactions remain undefined.