What's the problem with "hand-rolled components"? Isn't that pretty much the essence of building non-trivial frontend stuff? Or does this have some special meaning in the Angular world?
Notable among the ones in this project was the date picker - there's a decent number of those available and yet somebody made the decision to hand-roll it.
The result was a mess that for some reason had a 300 LOC service as a part of it. Needless to say minimal tests.
It was a waste of man-days in a project that was already over budget.
There's so many integration points (business logic, i18n/l10n, styling, keyboard navigation, accessibility, etc) that I think it's often easier to write your own. Hopefully now that most browsers support <input type="date" />, we can just use that most of the time.