tl;dr - A really good idea, but gets harder to maintain over time. 😕
I used to work at a place where the front-end stack was Express + Jade. Given that Jade supports reusable mixins, we maintained a separate ui repo, which contained mixins that we could use in all our client-facing web applications.
It was quite the ideal scenario when the company was a smaller team and we had just started work on the platform. There was a clear separation of concern and all reusable mixins could be found in a single place! And it made sense to us from a future-proofing standpoint, since any new client-facing web application could just use the mixins from here.
That being said....
As the team grew in size, and as the number of web applications we were building started to increase, it got harder and harder to maintain this ui repo.
Different teams would create mixins that, if some effort and time was put in, could've actually been generalised and made a part of the ui repo. But given the delivery dates that teams needed to meet, and the lack of understanding between teams in terms what mixins could be generalised for use across applications, the ui repo was forgotten.