Akar is an open-source library of unstyled, accessible Vue primitives. Use the parts as the foundation of a design system, or adopt them one component at a time.
It started as a fork of Reka UI (itself descended from Radix Vue) and is published as the akar package. Component names match Reka's (AccordionRoot, DialogTrigger, no prefix). Style them with whatever CSS you already use.
Why a fork?
Akar is the foundation of Pohon UI. Owning the primitives lets the Vinicunca ecosystem move at its own pace:
- Ship fixes when Pohon needs them. Accessibility and behavior fixes land in Akar and release right away, without waiting on an upstream review cycle.
- Add primitives Pohon builds on. Akar includes parts such as Field, Form, Tag Group, and a toast manager.
- Share one toolchain. Akar uses the same utilities (Perkakas), release workflow, and docs as the rest of Vinicunca, so versions stay in step.
The API stays close to Reka's on purpose. Moving from reka-ui or radix-vue is mostly an import swap; see the migration guide.
Principles
Accessibility first
Components follow WAI-ARIA design patterns. Akar handles aria attributes, keyboard navigation, and focus management so you can concentrate on layout and visuals.
Unstyled and open
Nothing ships with opinions about color, spacing, or typography. Wrap, extend, or restyle every part. See the styling and composition guides.
Controlled or uncontrolled
Primitives work uncontrolled out of the box (defaultValue) and accept v-model when you need to own the state. See controlled state.
Predictable API
Every part that renders a DOM node accepts as / asChild. The library is fully typed and tree-shaken: unused components do not land in the bundle.
Start here
Credits
Akar is a fork of Reka UI. Reka UI is MIT-licensed.
Further upstream inspiration: