pull down to refresh
it has been nice to work with but defo not without it's trade-offs, some of which are already mentioned here.
it looks like the underlying radix ui library that powers the original version of shad is no longer being as actively maintained, and there's some concerns around that in the twitterverse.
it looks like shadcn devs are moving towards base UI over radix. and migrating would probably be a pretty painful experience since a UI library is so fundamental to an app.
good little vid i watch by Theo a few months back covering that:
https://www.youtube.com/watch?v=vHFZFXtjKNE
but at the end of the day, i find just not having to think about the fine details of UI to be quite nice, and instead being able to focus on the bigger picture stuff instead. i don't wanna spend hours fine tuning how a slider works etc etc.
however, down the line it might become a problem, but by then if it's a real problem will ideally have more resources to tackle the it
How the slider works is a headless component thing (radix in shad). Shad just couples styling presets with the slider which is most of what I don’t like about shad.
Also shad is already beginning to add base ui components too - they live alongside radix. They abstract away components really well, so as shad user you shouldn’t notice the transition.
that's a nice clear definition, you've obviously done the work to inform yourself. im not sure i could have given such a concise definition.
you can definitely migrate away from radix to base ui piecemeal, but for each ui component you migrate, you may need to change every place that component is used because the ref forwarding / asChild prop behaves differently.
in practice, all of the styling presets are customisable so any decision that shadcn made can be overridden. it's just a starting point. and with tailwind + class-variance-authority this becomes a breeze
however if you do modify your shadcn ui components it makes upgrading to the latest versions fiddly because you need to cherrypick your changes and apply them to the updated shadcn component.
I hear good things about both!