Radio buttons are built into web browsers. Why are we using a UI library that wraps another UI library that rebuilds radio buttons from scratch? Why does rendering a radio button require multiple dependencies and several kilobytes of JavaScript? How did we make a built-in browser control so complicated?
The problem is obvious however, most people just want a quick and easy component library and don’t care about stuff like that. I often fall into that group too, because making new components from scratch is boring and annoying and then often end up looking worse with fewer features anyway than if you just copy pasted the messy shadcn amalgamation