Introduction
An open-source UI component library for building high-quality, accessible design systems and web apps using Vue.js.
✨ Rebrand: Reka UI ✨
Presenting Reka UI, the new identity of Radix Vue in its v2 evolution.
Reka (pronounced /ree·kuh/
) means "design" in Malay, and also evokes "Eureka."
Reka UI strives to deliver a low-level UI component library centered on accessibility, customization, and developer experience. Use these components as the foundation of your design system or integrate them progressively.
Check out the release note here
Curious about the rebrand? See the announcement in this discussion.
Our Principles
Accessibility-First
Accessibility is at the heart of Reka UI. Our components align with WAI-ARIA design patterns to ensure that all users, regardless of abilities, can interact with your UI effectively. We handle intricate accessibility details like aria attributes, keyboard navigation, and focus management to simplify the developer's work.
Customizable & Unstyled
Reka UI components come unstyled, providing developers the freedom to style them however they choose, using any CSS solution (vanilla CSS, preprocessors, or CSS-in-JS libraries). Our open component architecture allows you to wrap, extend, or modify each component as needed. Explore more in our styling guide.
Open & Modular
Our components are designed to be open and adaptable, allowing you to customize each element to fit your needs. Whether adding event listeners, props, or refs, Reka UI provides granular access to each component's inner workings.
Flexible State Management
Reka UI components are, by default, uncontrolled but can also be fully controlled when needed. This approach allows developers to decide on the level of state management required, offering a balance between flexibility and ease of use.
Developer-Centric Experience
We prioritize developer experience by maintaining a consistent and predictable API. Reka UI is fully-typed and structured with simplicity in mind, ensuring that components are easy to use and integrate. Our asChild
prop allows full control over rendered elements, enhancing flexibility.
Performance & Tree-Shaking
Our library is designed with performance in mind. All components are compiled into a single package, making installation straightforward and ensuring that any unused components won’t add to your bundle size thanks to tree-shaking.
Reka UI is inspired by the principles and goals of Radix UI, sharing a commitment to accessibility, customization, and developer-friendly design.
Built by Vue lovers 💚
Credits
All credits go to these open-source works and resources
- Radix UI - https://radix-ui.com
- Radix Aria - https://react-spectrum.adobe.com/react-aria
- Floating UI - https://floating-ui.com
- VueUse - https://vueuse.org
- HeadlessUI - https://headlessui.com