Headless, compound components with AI-integrated docs. Zero CSS shipped — style everything through data-* attributes that reflect interactive state.
AI-native ecosystem
Wire UI was designed from day one to be consumed by both humans and machines. Every component, every API surface, every doc page — structured for AI to read, understand, and generate production code from.
Developer experience
Develop with an open, thought-out API that stays out of your way.
import { Dropdown } from '@wire-ui/react'
export const UserMenu = () => {
const handleSelect = (action: string) => {
console.log('selected:', action)
}
return (
<Dropdown.Root>
<Dropdown.Trigger>Open Menu</Dropdown.Trigger>
<Dropdown.Menu>
<div onClick={() => handleSelect('profile')}>Profile</div>
<div onClick={() => handleSelect('settings')}>Settings</div>
<div onClick={() => handleSelect('signout')}>Sign out</div>
</Dropdown.Menu>
</Dropdown.Root>
)
}Wire UI vs the headless landscape
Honest comparison against the major headless component libraries. Where we win, where we tie, and where the field beats us.
| Feature | Wire UI★ | Radix UI | Headless UI | React Aria | Ark UI | Base UI |
|---|---|---|---|---|---|---|
| Unstyled (zero CSS) | ||||||
| Multi-framework | React + Vue | |||||
| TypeScript native | ||||||
| asChild / polymorphism | v2+ | |||||
| data-* state attributes | ||||||
| WCAG AA / ARIA | ||||||
| llms.txt | ||||||
| MCP server | ||||||
| SKILL.md | ||||||
| License | MIT | MIT | MIT | Apache 2.0 | MIT | MIT |
Data captured 2026-04-22. Numbers approximate. Captured from public docs and repos. Submit a correction →
Join our fast-growing community