Combined with Stitches in our design system, Radix Primitives allowed us to focus on optimising the usability of our UI rather than building from scratch or hacking our way through inaccessible and prop-heavy UI libraries.
Describe the type of project you are using Radix Primitives on?
We’re using Radix Primitives on our internal design system, it’s getting close to an initial 1.0 release and we’re starting the process of migrating our current monorepo over to it. It’s independent from our main application so we open-sourced it and are planning to use it across any web properties we need to create at Atom. We have a few core stakeholders from design and engineering but the long-term aim is to have contributions from members of both teams.
In what ways have Radix Primitives helped you and your company?
There are a bunch of things that have made Radix Primitives incredibly useful for us: the headless UI and composition model, the broad selection of primitives, and the fact that it’s built and tested for accessibility. It’s also far more lightweight than a lot of the other packages that we were previously using for our UI.
It has been really simple for us to create complex interfaces and still rely on a good baseline of accessibility. Combined with Stitches in our design system, it has allowed us to focus on optimising the usability of our UI rather than building from scratch or hacking our way through inaccessible and prop-heavy UI libraries.
Packages and libraries come and go, you can find yourself migrating from one API to another every year, inconsistencies abound from one to the next. So to find a large set of components that tackle a clear and well-defined problem is refreshing. It gives me confidence that adopting Radix will mean future components will match these same values and our UI primitives will continue to be consistent.
What are your thoughts on Radix developer experience?
The consistency across primitives is great, it’s easy to understand and move between them. We’ve had issues with configuring heavy libraries in the past so the composition model is great for how we like to build React applications. We tend to rely on the defaults set by Radix so I can’t comment on many of the props that are available.
What are your thoughts on Radix docs?
The documentation for the primitives is fantastic and was one of the main selling points for us to adopt it at Atom. The examples, live code, detailed prop explanations and high-level explanation of the “why” were stand-outs for us. Having a well written “Vision” front and center of the docs was especially important for us.