Component Coverage Comparison: Rad UI, Radix UI, Base UI, Ark UI, Headless UI
Executive Summary
This document is a straight, side-by-side look at component coverage across modern headless and semi-headless UI libraries:
Rad UI, Radix UI, Base UI, Ark UI, and Headless UI.
This is not a “best library” ranking. Coverage is not quality.
The goal is simple:
- Compare which building blocks exist across the ecosystem
- Identify components commonly expected in production UIs
- Make Rad UI’s roadmap and priorities transparent
This comparison focuses purely on component availability, not API design, accessibility depth, performance, styling strategy, or composability philosophy.
High-level observations
- Rad UI surface area: 54 components total (33 released, 21 in development)
- Most common missing building blocks: 6 components repeatedly show up across other libraries but are not yet in Rad UI
- Differentiation: Rad UI includes an explicit typography and layout layer that most peers avoid
- Coverage positioning: broader surface area than Radix UI and Headless UI, comparable breadth to Ark UI
Current Rad UI Component Inventory
Total Components: 54
Officially Released: 33
In Codebase / In Progress: 21
- Accordion
- AlertDialog
- AspectRatio
- Avatar
- AvatarGroup
- Badge
- BlockQuote
- Button
- Callout
- Card
- Checkbox
- CheckboxCards
- CheckboxGroup
- Code
- Collapsible
- ContextMenu
- DataList
- Dialog
- Disclosure
- DropdownMenu
- Em
- Heading
- HoverCard
- Kbd
- Link
- Menubar
- Minimap
- NavigationMenu
- NumberField
- Progress
- Quote
- Radio
- RadioCards
- RadioGroup
- ScrollArea
- Select
- Separator
- Skeleton
- Slider
- Splitter
- Steps
- Strong
- Switch
- Table
- TabNav
- Tabs
- Text
- TextArea
- Theme
- Toggle
- ToggleGroup
- Tooltip
- Tree
- VisuallyHidden
Component Coverage Matrix
| Component | Rad UI | Radix UI | Base UI | Ark UI | Headless UI | Priority |
|---|---|---|---|---|---|---|
| Layout & Structure | ||||||
| Accordion | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| AspectRatio | ✅ | ✅ | ❌ | ❌ | ❌ | – |
| Separator | ✅ | ✅ | ✅ | ❌ | ❌ | – |
| Splitter | ✅ | ❌ | ❌ | ✅ | ❌ | – |
| Steps | ✅ | ❌ | ❌ | ✅ | ❌ | – |
| Navigation | ||||||
| Breadcrumb | ❌ | ❌ | ✅ | ✅ | ❌ | 🔴 High |
| NavigationMenu | ✅ | ✅ | ❌ | ❌ | ❌ | – |
| Menubar | ✅ | ✅ | ❌ | ❌ | ❌ | – |
| TabNav | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Tabs | ✅ | ✅ | ✅ | ✅ | ✅ | – |
| Overlays & Dialogs | ||||||
| AlertDialog | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| Dialog | ✅ | ✅ | ✅ | ✅ | ✅ | – |
| Popover | ❌ | ✅ | ✅ | ✅ | ✅ | 🔴 High |
| Tooltip | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| HoverCard | ✅ | ✅ | ❌ | ✅ | ❌ | – |
| BottomSheet | ❌ | ❌ | ❌ | ✅ | ❌ | 🟡 Medium |
| FloatingPanel | ❌ | ❌ | ❌ | ✅ | ❌ | 🟡 Medium |
| Forms & Inputs | ||||||
| Button | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| Checkbox | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| CheckboxGroup | ✅ | ❌ | ✅ | ✅ | ❌ | – |
| CheckboxCards | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Radio | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| RadioGroup | ✅ | ✅ | ✅ | ✅ | ✅ | – |
| RadioCards | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Switch | ✅ | ✅ | ✅ | ✅ | ✅ | – |
| Toggle | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| ToggleGroup | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| TextArea | ✅ | ❌ | ✅ | ✅ | ❌ | – |
| NumberField | ✅ | ❌ | ✅ | ✅ | ❌ | – |
| Select | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| Combobox | ❌ | ❌ | ✅ | ✅ | ✅ | 🔴 High |
| DatePicker | ❌ | ❌ | ✅ | ✅ | ❌ | 🔴 High |
| TimePicker | ❌ | ❌ | ✅ | ✅ | ❌ | 🟡 Medium |
| Data Display | ||||||
| Avatar | ✅ | ✅ | ✅ | ✅ | ❌ | – |
| AvatarGroup | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Badge | ✅ | ❌ | ✅ | ❌ | ❌ | – |
| Card | ✅ | ❌ | ✅ | ❌ | ❌ | – |
| Table | ✅ | ❌ | ✅ | ✅ | ❌ | – |
| Skeleton | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Feedback & Notifications | ||||||
| Toast | ❌ | ✅ | ✅ | ✅ | ❌ | 🔴 High |
| Callout | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Typography | ||||||
| Heading | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Text | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Code | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Kbd | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Em | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Strong | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| BlockQuote | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Quote | ✅ | ❌ | ❌ | ❌ | ❌ | – |
| Link | ✅ | ❌ | ❌ | ❌ | ❌ | – |
Commonly Expected Components Not Yet in Rad UI
These components appear across multiple libraries and are frequently expected in production apps.
🔴 High Priority
-
Popover
Present in Radix UI, Base UI, Ark UI, Headless UI -
Combobox
Present in Base UI, Ark UI, Headless UI -
DatePicker
Present in Base UI, Ark UI -
Toast
Present in Radix UI, Base UI, Ark UI -
Pagination
Present in Base UI, Ark UI -
Breadcrumb
Present in Base UI, Ark UI
This list is not “missing features shame”. It is the practical roadmap required to meet the baseline expectations of modern product UIs.
Coverage Summary by Category
| Category | Rad UI | Radix UI | Base UI | Ark UI | Headless UI |
|---|---|---|---|---|---|
| Layout & Structure | 5 | 2 | 1 | 2 | 0 |
| Navigation | 4 | 2 | 1 | 2 | 1 |
| Overlays & Dialogs | 5 | 4 | 3 | 6 | 2 |
| Forms & Inputs | 18 | 7 | 15 | 20 | 3 |
| Data Display | 8 | 1 | 3 | 6 | 0 |
| Menus | 3 | 2 | 2 | 3 | 2 |
| Feedback | 1 | 1 | 1 | 1 | 0 |
| Typography | 9 | 0 | 0 | 0 | 0 |
| Utilities | 7 | 3 | 0 | 10 | 1 |
| Total | 54 | 22 | 25 | 50 | 9 |
Where Rad UI Differentiates
Rad UI intentionally includes layers that most headless libraries avoid.
-
Typography layer
A structured, reusable typography system rather than leaving every team to reinvent it. -
Extended form patterns
Components like CheckboxCards and RadioCards reduce app-level glue code for real product patterns. -
Layout primitives
Splitter, Steps, and Minimap support product UIs and internal tools without requiring third-party add-ons. -
Theme abstraction
Rad UI includes a dedicated Theme component rather than treating theming as a purely external setup.
This is not “more components for the sake of it”.
It is coverage aimed at real world UI work.
Opportunities for Expansion
The most meaningful additions are well-known UI baselines:
- Add commonly expected overlays: Popover, Toast
- Expand date and time inputs: DatePicker, TimePicker
- Improve navigation primitives: Pagination, Breadcrumb
- Introduce optional animation and transition primitives (opt-in, not opinionated)
Contributing
Want to help expand component coverage? Amazing. Pick a high-impact component and ship it.
High Priority Components
-
Popover
Overlay content positioned relative to a trigger -
Combobox
Autocomplete input with suggestions -
DatePicker
Date selection with calendar UI -
Toast
Notification system for feedback and status -
Breadcrumb
Hierarchical navigation path -
Pagination
Navigation for paginated content
Last updated: December 2025
Document version: 1.0