with one click
reka-ui-skilld
// Vue port for Radix UI Primitives. ALWAYS use when writing code importing "reka-ui". Consult for debugging, best practices, or modifying reka-ui, reka ui.
// Vue port for Radix UI Primitives. ALWAYS use when writing code importing "reka-ui". Consult for debugging, best practices, or modifying reka-ui, reka ui.
Modern and scalable routing for Vue applications. ALWAYS use when writing code importing "@tanstack/vue-router". Consult for debugging, best practices, or modifying @tanstack/vue-router, tanstack/vue-router, tanstack vue-router, tanstack vue router, router.
A user-empowering data visualization Vue 3 components library for eloquent data storytelling. ALWAYS use when writing code importing "vue-data-ui". Consult for debugging, best practices, or modifying vue-data-ui, vue data ui.
Hooks for managing, caching and syncing asynchronous and remote data in Vue. ALWAYS use when writing code importing "@tanstack/vue-query". Consult for debugging, best practices, or modifying @tanstack/vue-query, tanstack/vue-query, tanstack vue-query, tanstack vue query, query.
The framework agnostic core of FormKit. ALWAYS use when writing code importing "@formkit/core". Consult for debugging, best practices, or modifying @formkit/core, formkit/core, formkit core, formkit.
ALWAYS use when writing code importing "@vue/test-utils". Consult for debugging, best practices, or modifying @vue/test-utils, vue/test-utils, vue test-utils, vue test utils, test-utils, test utils.
Renderless components for VueUse. ALWAYS use when writing code importing "@vueuse/components". Consult for debugging, best practices, or modifying @vueuse/components, vueuse/components, vueuse components, vueuse.
| name | reka-ui-skilld |
| description | Vue port for Radix UI Primitives. ALWAYS use when writing code importing "reka-ui". Consult for debugging, best practices, or modifying reka-ui, reka ui. |
| metadata | {"version":"2.9.7","generated_at":"2026-05-05T00:00:00.000Z","references_synced_at":"2026-05-05T00:00:00.000Z"} |
reka-ui@2.9.7Tags: latest: 2.9.7
References: Docs
This section documents version-specific API changes โ prioritize recent major/minor releases.
BREAKING: radix-vue renamed to reka-ui โ CSS variables now use --reka- prefix and data attributes use data-reka- source
BREAKING: Combobox refactor โ filter-function prop removed; searchTerm and displayValue props moved from Root to ComboboxInput source
BREAKING: Checkbox, Toggle, MenuCheckboxItem โ bindings changed from v-model:checked or v-model:pressed to standard v-model source
BREAKING: DatePicker/Calendar โ weekStartsOn is now locale-independent as of v2.8.0 source
BREAKING: Presence โ forceMount now renders components regardless of active state; manual visibility handling (e.g. :hidden) is required source
BREAKING: Pagination โ itemsPerPage prop is now required rather than having a default value source
NEW: Rating component โ added for star/rating input interactions in v2.8.0 source
NEW: TimeField component โ new primitive for localized time inputs introduced in v2.0.0 source
NEW: useFilter() โ locale-aware string filtering utility (startsWith, endsWith, contains) added in v2.0.0 source
NEW: useLocale() / useDirection() โ utility hooks for accessing the current configuration context source
NEW: ScrollArea glimpse mode โ added ScrollAreaScrollbarGlimpse for transient scrollbar visibility source
NEW: Select disableOutsidePointerEvents โ prop added to SelectContent to control interaction with outside elements source
NEW: ConfigProvider โ global configuration component for locale, direction, and useId settings source
NEW: NumberField enhancements โ added focusOnChange, readonly, and stepSnapping props source
Also changed: Popover/Dialog programmatic close ยท Combobox openOnFocus props ยท Slider thumbAlignment prop ยท Toast disableSwipe prop ยท ContextMenu pressOpenDelay prop ยท Presence component exposed ยท calendar getWeekNumber utility ยท injectContext exposed ยท Collapsible/Accordion unmountOnHide prop
asChild prop to compose Reka's functionality onto your own Vue components or alternative DOM elements while maintaining accessibility source
<TooltipTrigger asChild>
<MyButton>Hover me</MyButton>
</TooltipTrigger>
useForwardPropsEmits when building wrapper components to automatically forward all props and emits to the underlying Reka primitive sourceconst props = defineProps<AccordionRootProps>()
const emits = defineEmits<AccordionRootEmits>()
const forwarded = useForwardPropsEmits(props, emits)
// Usage: <AccordionRoot v-bind="forwarded">
ConfigProvider to manage global reading direction (RTL) and prevent layout shifts during scroll locking source<ConfigProvider dir="rtl" :scroll-body="false">
<App />
</ConfigProvider>
useForwardExpose in components with multiple root nodes (fragments) to ensure that template refs correctly return the target DOM element sourceconst { forwardRef } = useForwardExpose()
// Usage: <div :ref="forwardRef">...</div>
ComboboxVirtualizer or ListboxVirtualizer for large datasets to improve performance, ensuring the parent container has a fixed height source<ComboboxViewport class="max-h-80 overflow-y-auto">
<ComboboxVirtualizer :options="items" :estimate-size="25" v-slot="{ option }">
<ComboboxItem :value="option">{{ option.label }}</ComboboxItem>
</ComboboxVirtualizer>
</ComboboxViewport>
Use injectXContext functions (e.g., injectAccordionRootContext) to access internal primitive state for advanced custom child components source
Style component states by targeting data-state attributes (e.g., open, closed, active) instead of manually toggling classes source
/* Preferred way to style open state */
.AccordionItem[data-state="open"] {
border-bottom-width: 2px;
}
Use the :deep() selector when styling teleported components (Dialog, Popover, Tooltip) within scoped Vue styles to reach the body-appended elements source
Enable force-mount on content parts when using JavaScript animation libraries or Vue <Transition> to delegate unmounting control to the library source
<Transition name="fade">
<DialogContent force-mount>...</DialogContent>
</Transition>
useId() over the Reka UI utility for stable SSR identifiers, as the library utility is deprecated for newer Vue versions source