Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsJul 2, 2026·3 min de lecture

Reka UI — Headless Accessible Vue Component Primitives

An open-source library of unstyled, accessible component primitives for building high-quality design systems and web applications in Vue.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Reka UI Overview
Commande d'installation directe
npx -y tokrepo@latest install 3493fd75-75ad-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

Introduction

Reka UI (formerly Radix Vue) provides unstyled, accessible component primitives for Vue applications. It gives you the behavior, accessibility, and keyboard interactions of common UI patterns without imposing any visual design, letting you apply your own styles with full control.

What Reka UI Does

  • Provides 40+ headless component primitives including dialogs, popovers, and menus
  • Handles WAI-ARIA attributes, focus management, and keyboard navigation
  • Works with any CSS approach including Tailwind, UnoCSS, or plain stylesheets
  • Supports Vue 3 with full TypeScript definitions
  • Follows the Radix UI component API patterns adapted for the Vue ecosystem

Architecture Overview

Each Reka UI component is split into composable parts (Root, Trigger, Content, etc.) that you assemble declaratively. The library manages internal state, ARIA roles, and keyboard event handlers, exposing data attributes for styling hooks. No CSS is shipped, so you bring your own styling solution. Under the hood, components use Vue composables for state and Floating UI for positioning dropdowns and tooltips.

Self-Hosting & Configuration

  • Install via npm and import only the components you need
  • No CSS to configure; style components using your preferred method
  • Use data attributes like [data-state="open"] for state-based styling
  • Components accept a class or asChild prop for render delegation
  • Works with Nuxt via the official @reka-ui/nuxt module

Key Features

  • Fully accessible with keyboard navigation and screen reader support baked in
  • Unstyled by default for complete visual control
  • Composable part-based API for flexible component assembly
  • TypeScript-first with strict type definitions
  • Growing ecosystem including integrations with shadcn-vue

Comparison with Similar Tools

  • Radix UI — The React original that Reka UI is modeled after
  • Headless UI — Tailwind Labs library, supports Vue but fewer components
  • Ark UI — Framework-agnostic headless components powered by state machines
  • PrimeVue — Styled Vue library, not headless
  • Naive UI — Vue 3 component library, comes with built-in styling

FAQ

Q: What is the relationship between Reka UI and Radix Vue? A: Reka UI is the renamed and evolved version of Radix Vue. Existing Radix Vue users can migrate to Reka UI following the official guide.

Q: Can I use Reka UI with Nuxt? A: Yes. Install @reka-ui/nuxt and add it to your Nuxt modules for auto-imports and optimized SSR.

Q: How do I style Reka UI components? A: Apply styles using CSS classes, Tailwind utilities, or any CSS-in-JS solution. Use data attributes like data-state for conditional styling based on component state.

Q: Does it work with shadcn-vue? A: Yes. shadcn-vue is built on top of Reka UI and provides pre-styled component templates you can copy into your project.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires