Ark UI 是一个无头组件库,提供 45+ 个可访问组件,底层由状态机驱动,支持 React、Vue、Solid 和 Svelte。它只负责行为、状态与无障碍,不附带视觉样式,因此适合需要完全自定义外观的界面开发。
主要能力:组件采用复合组件与点号命名(如 Accordion.Root、Accordion.ItemTrigger),通过 data 属性暴露状态(data-state、data-disabled、data-focus 等),便于用 CSS 或 Tailwind 按状态写样式。资料中列出的组件包括 Accordion、Dialog、Menu、Select、Combobox、Tabs、Switch、Checkbox、Slider、Tooltip、Popover、DatePicker、Toast 等。
使用方式:以 React 为例,安装命令为 npm install @ark-ui/react,然后从 @ark-ui/react 导入组件。组件支持受控与非受控两种模式:非受控用 defaultValue,受控用 value 配合 onValueChange。常见回调包括 onValueChange(返回 details.value、details.items)和 onOpenChange(返回 details.open)。覆盖层组件建议用 Portal 包裹以保证层叠顺序。
适用场景:构建自定义设计系统的团队、需要无障碍交互的复杂控件(对话框、菜单、选择器、日期选择、滑块等),以及希望跨框架复用同一套组件逻辑的项目。
限制:资料未提供各框架的安装命令细节、组件完整清单、浏览器兼容性、版本要求、收费与授权信息,这些暂未提供。样式需自行实现,不包含现成主题。