HeadlessAccessibleFive frameworks
Unstyled UI components for every framework.
Accessible parts with one shared core underneath. Use them in React, Vue, Svelte, Angular or Solid, and style them however you like.
Rendered by React 19.3.1
One core, five adapters
The behavior lives in a framework-agnostic core. Each adapter is a thin layer in the framework's own idiom.
Components
89 components, grouped by what they do.
Inputs
- Angle Slider
- Autocomplete
- Button
- Calendar
- Cascader
- Checkbox
- Checkbox Group
- Clipboard
- Color Picker
- Color Swatch Picker
- Combobox
- Currency Input
- Date Field
- Date Picker
- Date Range Picker
- Date Time Field
- Editable
- File Upload
- Grid List
- Image Cropper
- Input
- Listbox
- Masked Input
- Mention Input
- Number Field
- OTP Field
- Password Input
- Radio
- Radio Group
- Range Calendar
- Rating
- Search Field
- Segment Group
- Select
- Signature Pad
- Slider
- Switch
- Tags Input
- Time Field
- Toggle
- Toggle Group
- Transfer List
- Tree
- Tree Select
Disclosure
Display
Utilities
Principles
- Accessible by default
- Focus, keyboard and ARIA are handled for you, the same way in every framework.
- No styles to undo
- Parts ship without CSS. Style them with data attributes, CSS variables or Tailwind.
- Tested against the source
- The same behavior tests run on every adapter, and each page shows its own numbers.
Sponsor the launch
Built by one person, on and off, for a long time. The core now works in all five frameworks; sponsorship is what turns this into full-time work and gets it to 1.0 sooner, independent of any company.