I think this is necessary since we need to regularly modify components to suit our needs.. (I've dreamt of extending this kind of approach to libraries for a long time)
HOWEVER
there has been an elegant solution to this problem for 30 years - CSS
CSS tooling lags behind, but from a technical perspective CSS is superior to this component library approach in almost every way
But the fact that it just wraps another dependency (Radix) kind of defeats the purpose for me.
100% agreed on CSS being the right approach here! I’ve been using CSS hacks to style radio buttons for ages before we had good CSS support and never even considered recreating it in JS