OSS TanbouSign in with GitHub

low-level React UI components that provide accessibility, behavior, and composition while leaving styling to the application

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
19,360
Primary language
TypeScript
License
MIT
Repository last updated
Aug 8, 2026
On this page

Overview

Radix Primitives is a low-level React UI component library for accessible design systems and web applications. It supplies interaction behavior and composable primitives for components such as dialogs, selects, popovers, and tabs while leaving visual styling to the application. Consumers can install individual packages or use the aggregated radix-ui package.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Compose dialogs, selects, popovers, tabs, and other UI primitives

The monorepo provides React component packages for Dialog, DropdownMenu, Select, Tabs, Tooltip, and many other primitives, allowing applications to install only the pieces they need.

Sources: [1][4]

Use accessibility and interaction behavior as a design-system foundation

The README emphasizes accessibility, customization, and developer experience. Teams can keep their own visual language while reusing low-level component behavior as a base layer.

Sources: [1]

Choose individual packages or the aggregated radix-ui package

The radix-ui package namespace-exports primitives including Accordion, Dialog, Select, Slot, and Tooltip, while applications may also depend directly on specific @radix-ui/react-* packages.

Sources: [2][4]

Best fit

Fits design systems that want reusable accessible behavior without adopting a fixed visual theme

It is useful for frontend teams that prioritize composition and behavior while layering product-specific CSS and design tokens on top.

Sources: [1]

Before adoption

Packages in the monorepo have independent versions

At the reviewed commit, the aggregated radix-ui package is 1.6.7 while @radix-ui/react-dialog is 1.1.23. Pin and review changelogs per package instead of treating the repository as one version.

Sources: [2][3]

Server-side checks do not replace browser interaction and accessibility testing

Package-surface or server-rendering checks cannot validate real focus management, keyboard behavior, overlay/portal positioning, or application CSS interactions. Add browser-level accessibility tests for the target design system.

Sources: [1][3]

Official sources

  1. [1]Radix Primitives README at f7ecd5a(2026-10-05)
  2. [2]radix-ui 1.6.7 package metadata(2026-10-05)
  3. [3]@radix-ui/react-dialog 1.1.23 package metadata(2026-10-05)
  4. [4]radix-ui package exports(2026-10-05)
  5. [5]Radix Primitives MIT license(2026-10-05)
Supplemental curator note

This is a low-level foundation rather than a finished visual UI kit. Validate real keyboard, focus, portal, and styling behavior in the target browser and design system.

Try it in 3 steps

  1. 1

    Install pinned radix-ui 1.6.7

    Install the reviewed aggregated package and exact React peer dependencies in an isolated npm project.

    demo=$(mktemp -d "${TMPDIR:-/tmp}/radix-primitives.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact radix-ui@1.6.7 react@19.2.8 react-dom@19.2.8
  2. 2

    Inspect the Dialog namespace exports

    Create a no-browser check that the aggregated package exports the main Dialog primitives.

    printf '%s\n' "import { Dialog } from 'radix-ui'" "console.log(['Root','Trigger','Content'].every((key)=>key in Dialog))" > demo.mjs
  3. 3

    Verify the package surface

    Require Dialog.Root, Dialog.Trigger, and Dialog.Content to be available. Validate focus and keyboard behavior separately in browser tests.

    test "$(node demo.mjs)" = 'true'
Check the official README

Growth

Growth trends · Last 30 days

19,360 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
0
Open PRs
158

Development activity is still being collected.

Built with

Categories and tags

Categories

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • ui
  • ui-components
  • ui-kit
  • design-systems
  • accessibility
  • react
  • component-library
  • radix-ui
  • colors
Stars
19,360
Forks
1,256
Watchers
90
Open issues
207
Contributors
97
Owner type
Organization
Primary language
TypeScript
License
MIT
Repository last updated
Aug 8, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?