一键导入
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