Scripts2026年7月2日·1 分钟阅读

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.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Reka UI Overview
直接安装命令
npx -y tokrepo@latest install 3493fd75-75ad-11f1-9bc6-00163e2b0d79 --target codex

先 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

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产