UI components are a deceptively hard problem. It seems just a matter of picking a UI framework or iterating on some design mocks and everything should be solved. Right?
The problem is that most of our solutions to problems come from studying small projects. On small projects, we could get away with having one style sheet, or iterating on top of a UI framework.