Comment by worldsayshi

8 hours ago

Well Shadcn gives you more freedom to fix stuff like this and rewrite how you want the component to work and look, since everything lives in your own code base. In a regular component lib it would be less likely that you'd think about this complexity, since it would be "hidden" away in node_modules or even transpiled and minified.

I still don't understand why someone would choose to essentially clone some code vs import a library. Suddenly you increase your maintenance burden, lose updates, etc. I've had no problems at all with UI libraries like Mantine. If you follow this logic, why not just clone all your npm repos and build from source. Ultimate control, right? Please help me understand the benefits here, because I tried out shadcn and wasn't into it

  • It's for projects that are design-first, where you'll have to implement your own component library that matches the design.

> everything lives in your own code base

A common misconception.

In reality Shadcn is a thin wrapper around libraries such as Radix, recharts, etc. The article says as much.

  • Sure, but if you wanted to change it to just use a radio input you could. Shadcn gives you a baseline.

    • native radio buttons gives you a baseline.

      You can only call Shadcn a "baseline" if it was a baseline of the last floor of the babel tower of abstractions.