Skip to content
reka-ui logo

Reka UI

reka-ui

Use when building with Reka UI (headless Vue components) - provides component API, accessibility patterns, composition (asChild), controlled/uncontrolled state, virtualization, and styling integration. Formerly Radix Vue.

onmax/nuxt-skills7.2Kinstalls717stars

SKILL.md

Full skill instructions

Reka UI

Unstyled, accessible Vue 3 component primitives. WAI-ARIA compliant. Previously Radix Vue.

Current version: v2.8.0 (January 2026)

When to Use

  • Building headless/​unstyled components from scratch
  • Need WAI-ARIA compliant components
  • Using Nuxt UI, shadcn-vue, or other Reka-based libraries
  • Implementing accessible forms, dialogs, menus, popovers

For Vue patterns: use vue skill

Available Guidance

FileTopics
references/​components.mdComponent index by category (Form, Date, Overlay, Menu, Data, etc.)
components/*.mdPer-component details (dialog.md, select.md, etc.)

Guides (see reka-ui.com): Styling, Animation, Composition, SSR, Namespaced, Dates, i18n, Controlled State, Inject Context, Virtualization, Migration

Loading Files

Consider loading these reference files based on your task:

DO NOT load all files at once. Load only what's relevant to your current task.

For styled Nuxt components built on Reka UI: use nuxt-ui skill

Key Concepts

ConceptDescription
asChildRender as child element instead of wrapper, merging props/​behavior
Controlled/​UncontrolledUse v-model for controlled, default* props for uncontrolled
PartsComponents split into Root, Trigger, Content, Portal, etc.
forceMountKeep element in DOM for animation libraries
VirtualizationOptimize large lists (Combobox, Listbox, Tree) with virtual scrolling
Context InjectionAccess component context from child components

Installation

// nuxt.config.ts (auto-imports all components)
export default defineNuxtConfig({
  modules: ['reka-ui/​nuxt']
})
import { RekaResolver } from 'reka-ui/​resolver'
// vite.config.ts (with auto-import resolver)
import Components from 'unplugin-vue-components/​vite'

export default defineConfig({
  plugins: [
    vue(),
    Components({ resolvers: [RekaResolver()] })
  ]
})

Basic Patterns

<!-- Dialog with controlled state -->
<script setup>
import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose } from 'reka-ui'
const open = ref(false)
</​script>

<template>
  <DialogRoot v-model:open="open">
    <DialogTrigger>Open</​DialogTrigger>
    <DialogPortal>
      <DialogOverlay class="fixed inset-0 bg-black/​50" />
      <DialogContent class="fixed left-1/​2 top-1/​2 -translate-x-1/​2 -translate-y-1/​2 bg-white p-6 rounded">
        <DialogTitle>Title</​DialogTitle>
        <DialogDescription>Description</​DialogDescription>
        <DialogClose>Close</​DialogClose>
      </​DialogContent>
    </​DialogPortal>
  </​DialogRoot>
</​template>
<!-- Select with uncontrolled default -->
<SelectRoot default-value="apple">
  <SelectTrigger>
    <SelectValue placeholder="Pick fruit" />
  </​SelectTrigger>
  <SelectPortal>
    <SelectContent>
      <SelectViewport>
        <SelectItem value="apple"><SelectItemText>Apple</​SelectItemText></​SelectItem>
        <SelectItem value="banana"><SelectItemText>Banana</​SelectItemText></​SelectItem>
      </​SelectViewport>
    </​SelectContent>
  </​SelectPortal>
</​SelectRoot>
<!-- asChild for custom trigger element -->
<DialogTrigger as-child>
  <button class="my-custom-button">Open</​button>
</​DialogTrigger>

Recent Updates (v2.6.0-v2.8.0)

  • New component: Rating (v2.8.0)
  • ScrollArea: Added "glimpse" scrollbar mode (v2.8.0)
  • PopperContent: Added hideShiftedArrow prop (v2.8.0)
  • TimeField: Added stepSnapping support (v2.8.0)
  • Breaking: weekStartsOn now locale-independent for date components (v2.8.0)
  • Virtualization: estimateSize accepts function for Listbox/​Tree (v2.7.0)
  • Composables: useLocale, useDirection exposed (v2.6.0)
  • Select: disableOutsidePointerEvents prop on Content (v2.7.0)
  • Toast: disableSwipe prop (v2.6.0)

Resources


Token efficiency: ~350 tokens base, components.md index ~100 tokens, per-component ~50-150 tokens

More skills from onmax

vitest logo
onmax/nuxt-skills

vitest

Use when writing unit/integration tests for Vite projects - configure vitest.config.ts, write test suites with describe/it, create mock implementations with vi.fn and vi.mock, set up code coverage thresholds, and run tests in parallel

717 3K
View
nuxt-seo logo
onmax/nuxt-skills

nuxt-seo

Nuxt SEO meta-module with robots, sitemap, og-image, schema-org. Use when configuring SEO, generating sitemaps, creating OG images, or adding structured data.

717 2.9K
View
nuxt-content logo
onmax/nuxt-skills

nuxt-content

Use when working with Nuxt Content v3, markdown content, or CMS features in Nuxt - provides collections (local/remote/API sources), queryCollection API, MDC rendering, database configuration, NuxtStudio integration, hooks, i18n patterns, and LLMs integration

717 2.7K
View
nuxt-modules logo
onmax/nuxt-skills

nuxt-modules

Use when creating Nuxt modules: (1) Published npm modules (@nuxtjs/, nuxt-), (2) Local project modules (modules/ directory), (3) Runtime extensions (components, composables, plugins), (4) Server extensions (API routes, middleware), (5) Releasing/publishing modules to npm, (6) Setting up CI/CD wor...

717 2.4K
View
motion logo
onmax/nuxt-skills

motion

Use when adding animations with Motion Vue (motion-v) - provides motion component API, gesture animations, scroll-linked effects, layout transitions, and composables for Vue 3/Nuxt

717 2.4K
View
vite logo
onmax/nuxt-skills

vite

Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries/SSR apps with Vite.

717 2.3K
View
document-writer logo
onmax/nuxt-skills

document-writer

Use when writing blog posts or documentation markdown files - provides writing style guide (active voice, present tense), content structure patterns, and MDC component usage. Overrides brevity rules for proper grammar. Use nuxt-content for MDC syntax, nuxt-ui for component props.

717 2.1K
View
nuxthub logo
onmax/nuxt-skills

nuxthub

Use when building NuxtHub v0.10.6 applications - provides database (Drizzle ORM with sqlite/postgresql/mysql), KV storage, blob storage, and cache APIs. Covers configuration, schema definition, migrations, multi-cloud deployment (Cloudflare, Vercel), and the new hub:db, hub:kv, hub:blob virtual m...

717 2K
View
ts-library logo
onmax/nuxt-skills

ts-library

Use when authoring TypeScript libraries or npm packages - covers project setup, package.json exports, build tooling (tsdown/unbuild), API design patterns, type inference tricks, testing, and publishing to npm. Use when bundling, configuring dual CJS/ESM output, or setting up release workflows.

717 2K
View
nuxt-better-auth logo
onmax/nuxt-skills

nuxt-better-auth

Use when implementing auth in Nuxt apps with @onmax/nuxt-better-auth - provides useUserSession composable, server auth helpers, route protection, and Better Auth plugins integration.

717 1.9K
View
pnpm logo
onmax/nuxt-skills

pnpm

Use when managing Node.js dependencies with pnpm - install packages, configure monorepo workspaces, set up pnpm catalogs, resolve dependency conflicts with overrides, patch third-party packages, and configure CI pipelines for pnpm projects

717 1.9K
View
nuxt-studio logo
onmax/nuxt-skills

nuxt-studio

Use when working with Nuxt Studio, the self-hosted open-source CMS for Nuxt Content sites - provides visual editing, media management, Git-based publishing, auth providers, and AI content assistance

717 1.4K
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View