Skip to content
aiarabicdev
UI components

Radix Primitives

Unstyled, accessible behaviour for the components that are hard to get right

Radix Primitives implements the interaction and accessibility layer for dialogs, menus, popovers, tooltips, selects and the rest of the genuinely difficult components, with no styling at all. It is the layer most polished React libraries, including shadcn/ui, are built on.

FreeMITTypeScriptSelf hostable

What you are buying

Focus management, keyboard navigation, screen reader semantics, portal and layering behaviour, and the dozens of edge cases in each. These are the parts that take weeks to discover and are almost never finished in a hand rolled component.

Everything ships unstyled, which is the point. You keep every visual decision and give up only the decisions you should not be making.

Where the friction is

The composition style is verbose. A dialog is five or six nested components before you have written any of your own markup, which is correct and still feels heavy the first several times.

Because it owns behaviour and not appearance, an unstyled Radix app looks broken until you style it. Budget for that in an evaluation rather than judging the first render.

Reach for it when

  • you have your own visual language and need the behaviour underneath it
  • accessibility is a requirement rather than an aspiration
  • you are building a component library other teams will use

Watch out for

  • the composition API is verbose, and that never stops being true
  • nothing is styled, so evaluating it means doing the styling work first
  • React only, with no story for other frameworks
@arabic_Intelligence

New entries, as they land

One channel. New tools when they are added, with the caveat included. No daily digest, no course, nothing to buy.

Join the Telegram

Free. No email required.