reka-ui
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseReka UI
Reka UI
Unstyled, accessibility-first Vue.js component library. Zero styles, WAI-ARIA compliant, keyboard navigation, and focus management built in.
bash
npm install reka-ui无样式、优先考虑可访问性的Vue.js组件库。内置零样式、WAI-ARIA合规性、键盘导航和焦点管理功能。
bash
npm install reka-uiCore Patterns
核心模式
Anatomy: Root → Trigger → Portal → Content. Import named parts from . Namespaced: → , , etc.
reka-uiimport { Dialog } from 'reka-ui/namespaced'<Dialog.Root><Dialog.Trigger>Styling: Target , , , , . CSS: . Tailwind: . Teleported elements (portals) need in scoped styles.
data-statedata-sidedata-aligndata-disableddata-highlighted.Item[data-state="open"] {}data-[state=open]:border-b-2:deep()asChild: Merges behavior onto the child element instead of rendering the default element. Use to render a custom element or compose multiple primitives.
State: Uncontrolled = prop. Controlled = (or + ).
default-valuev-model:model-value@update:model-valueAnimation: CSS keyframes on (Reka suspends unmount during exit), Vue , or Motion Vue () with .
data-state<Transition>motion-vAnimatePresenceNuxt: — auto-imports all components.
modules: ['reka-ui/nuxt']RTL: wraps the app.
<ConfigProvider dir="rtl">Dates: Install . on calendar/date components accepts objects.
@internationalized/datev-modelDateValueVirtualization: components for large lists. Requires fixed-height parent, , props. Filter items manually before passing.
*VirtualizerestimateSizetextContent结构: 根节点 → 触发器 → 传送门 → 内容。从导入命名部件。命名空间用法: → , 等。
reka-uiimport { Dialog } from 'reka-ui/namespaced'<Dialog.Root><Dialog.Trigger>样式: 针对、、、、属性进行样式设置。CSS示例:。Tailwind示例:。传送元素(portals)在作用域样式中需要使用。
data-statedata-sidedata-aligndata-disableddata-highlighted.Item[data-state="open"] {}data-[state=open]:border-b-2:deep()asChild: 将行为合并到子元素上,而非渲染默认元素。用于渲染自定义元素或组合多个基础组件。
状态: 非受控状态 = 使用属性。受控状态 = 使用(或 + )。
default-valuev-model:model-value@update:model-value动画: 基于的CSS关键帧(Reka在退出期间会暂停卸载)、Vue 或搭配的Motion Vue()。
data-state<Transition>AnimatePresencemotion-vNuxt: 在中配置——自动导入所有组件。
modules: ['reka-ui/nuxt']RTL: 使用包裹应用。
<ConfigProvider dir="rtl">日期: 安装。日历/日期组件上的接受对象。
@internationalized/datev-modelDateValue虚拟化: 使用组件处理大型列表。需要固定高度的父元素、和属性。传递前需手动过滤项目。
*VirtualizerestimateSizetextContentReferences
参考资料
Read only the file relevant to the current task.
-
references/components-a-l.md — Anatomy, data attributes, CSS variables, and key notes for components Accordion through Listbox.
-
references/components-m-z.md — Anatomy, data attributes, CSS variables, and key notes for components Menubar through Tree.
-
references/guides.md — Styling, composition (asChild), animation, controlled state, dates, i18n/RTL, SSR, virtualization, namespaced imports, inject context, migration guide.
-
references/utilities.md — Primitive, Slot, ConfigProvider, VisuallyHidden, Presence, FocusScope, and composables (useForwardPropsEmits, useFilter, useDateFormatter, etc.).
仅阅读与当前任务相关的文件。
-
references/components-a-l.md — 从Accordion到Listbox组件的结构、数据属性、CSS变量和关键说明。
-
references/components-m-z.md — 从Menubar到Tree组件的结构、数据属性、CSS变量和关键说明。
-
references/guides.md — 样式设计、组合(asChild)、动画、受控状态、日期、国际化/RTL、SSR、虚拟化、命名空间导入、注入上下文、迁移指南。
-
references/utilities.md — 基础组件、插槽、ConfigProvider、VisuallyHidden、Presence、FocusScope以及组合式函数(useForwardPropsEmits、useFilter、useDateFormatter等)。