What's stopping you from doing that now?
Tailwind and Tailwind components achieves this for example. Web components also come to mind.
Designers care about uniqueness.
If all the UI libraries just gave you highly abstracted prebuilt components with little to no customisability, then you wouldn't use them. Because as soon as you want to do something different, you'd have to write your own or find someone else's.
If you just want some boilerplate UI in a hurry, this is fine (it’s actually better) but it sets an upper bound for how good the UI can ever be and that’s a problem for serious professionals.
Of course most UI is horrible but that’s true no matter what framework you give them. There’s always somebody using checkboxes as radio buttons.
The HTML is an excellent exemple at that.
You are never "limited" by highly abstracted librairies since at any moment, you can write your fully customized one.
And no, a customized components is not immediately better.
Good Library UI components have, i18n, accessibility, and good mobile UX.
The comment "I can do a decent calendar in react in a few minutes" shows exactly this: it's infuriating to use on mobile.
... right ?
https://developer.mozilla.org/en-US/docs/Web/Web_Components/...
> Customized built-in elements inherit from basic HTML elements.
My intuition about solving this is to create components where instead of a select and a radio button being separate components, they're the same component with basically the same API.
And instead of deciding on a spacing between components, you just get spacing more or less automatically so everything looks good by default.
You could build a very complex UI with Ext.JS back in 2010 with a lot less code and very little time, while it takes a while lot more work to produce even something relatively basic with modern UI frameworks.
I really don't care about how customizable your spinner is. I want to use it in common contexts with as little code as possible. Heck, at least provide me with a kitchen sink so I can copy and paste common patterns.