Overview

发布

Radix Primitives 发布及其变更日志。

2025年5月5日

本次发布介绍了一种全新的预览原语:PasswordToggleField

该新原语提供了一个用于渲染密码输入框及其可见性切换按钮的组件。除了主要功能外,它还包括:

  • 切换时将焦点返回输入框
  • 用键盘或虚拟导航切换时保持焦点
  • 表单提交后将可见性重置为隐藏,以防止意外存档
  • 基于图标的切换按钮的隐式无障碍标签

此 API 目前不稳定,我们希望您能帮助我们进行测试!使用 unstable_ 前缀导入该原语。

import { unstable_PasswordToggleField as PasswordToggleField } from "radix-ui";
export function PasswordField() {
return (
<PasswordToggleField.Root>
<PasswordToggleField.Input />
<PasswordToggleField.Toggle>
<PasswordToggleField.Icon visible={<EyeOpenIcon />} hidden={<EyeClosedIcon />} />
</PasswordToggleField.Toggle>
</PasswordToggleField.Root>
);
}

其他更新

  • 为复选框添加不稳定的 ProviderTriggerBubbleInput 部件 (#3459)
  • 更新默认输入类型为 text 并传递给基础输入元素 (#3510)

2025年4月22日

  • 更新 use-sync-external-store 的依赖以确保入口点有效 #3491

2025年4月17日

本次发布引入了一种全新的预览原语:OneTimePasswordField

这一组新组件旨在实现一次性密码字段的常见设计模式,显示为每个字符的独立输入框。这种用户界面的实现看似复杂,但确保交互顺应用户期望。新原语为您处理所有这些复杂性,包括:

  • 模拟单一输入框行为的键盘导航
  • 覆盖粘贴值
  • 密码管理器的自动填充支持
  • 对数字和字母数字值的输入验证
  • 完成时自动提交
  • 焦点管理
  • 提供单个值给表单数据的隐藏输入

由于这是一个预览版本,API当前不稳定。我们希望您能帮助我们进行测试并告诉我们结果。

使用 unstable_ 前缀导入该原语。

import { unstable_OneTimePasswordField as OneTimePasswordField } from "radix-ui";
export function Verify() {
return (
<OneTimePasswordField.Root>
<OneTimePasswordField.Input />
<OneTimePasswordField.Input />
<OneTimePasswordField.Input />
<OneTimePasswordField.Input />
<OneTimePasswordField.Input />
<OneTimePasswordField.Input />
<OneTimePasswordField.HiddenInput />
</OneTimePasswordField.Root>
);
}

其他更新

  • 所有内部气泡输入的表单控件现在默认使用 Radix Primitive 组件。这将允许我们在未来的版本中公开这些组件,以便用户能够更好地控制此行为。
  • useControllableState 进行小幅改进,以增强性能,减少错误的发生,并在误用时记录警告

2025年4月8日

  • 改进工具提示提供者的渲染性能 #2720
  • 确保在触发器上触发 pointerdown 时关闭工具提示 #3380
  • 为头像图像添加对 crossOrigin 的支持 #3261
  • 修复当图像已缓存在头像时的闪烁问题 #3008
  • 改善 displayName 以便更好调试可插槽组件 #3441

2025年2月5日

  • 更新依赖以消除对 reactreact-dom 的对等依赖警告 #3350
  • 当子项为 Fragment 时跳过将 refs 转发到 SlotClone #3229

2025年1月22日

  • 增加一个 radix-ui 包,该包从单一位置公开所有 Radix Primitives 的最新版本。这个可树摇的入口点使得导入所需组件并保持最新变得更为简便,无需担心依赖冲突或重复。
  • 更新以下组件的 aria-hiddenreact-remove-scroll 依赖:
    • 警报对话框
    • 上下文菜单
    • 对话框
    • 下拉菜单
    • 悬停卡片
    • 菜单栏
    • 导航菜单
    • 弹出框
    • 选择
    • 吐司
    • 工具提示

2024年10月1日

Alert Dialog

1.1.2
  • 修复轨迹板用户的 allowPinchZoom 故障 #3127

Avatar

1.1.1
  • 检查图像加载状态时的 referrerPolicy #2772

Checkbox

1.1.2
  • 修复无法预计更改无控复选框" 的故障 #2135
  • form 属性转发到气泡输入元素,以修复非父表单提交 #3161

Dialog

1.1.2
  • 修复轨迹板用户的 allowPinchZoom 故障 #3127

Radio Group

1.2.1
  • form 属性转发到气泡输入元素,以修复非父表单提交 #3161

Scroll Area

1.2.0
  • 修复 asChild 属性在 Viewport 上的功能异常 #2945
  • 更新内部样式以修复与 Viewport 的其他问题 #2945

Select

2.1.2
  • 修复当项目最初是未定义时引发的错误 #2623
  • 修复触摸设备上的多个故障 #2939
  • form 属性转发到气泡输入元素,以修复非父表单提交 #3161
  • 修复弹出框可能在长项目的情况下偏移屏幕的定位错误 #3149

Slider

1.2.1
  • 将根 form 属性转发到每个拇指的气泡输入元素,以修复非父表单提交 #3161

Switch

1.1.1
  • form 属性转发到气泡输入元素,以修复非父表单提交 #3161

Toast

1.2.2
  • 修复当 hotkey 为空数组时的不正确焦点 #2491

2024年6月28日

Checkbox

1.1.1
  • 导出 CheckedState 类型

Tooltip

1.1.2
  • 导出 TooltipProviderProps 类型

2024年6月21日

Portal

1.1.1
  • package.json 添加一个缺失的内部实用程序。提供 Portal 部件的相应包也进行了补丁更新。 #2966

2024年6月19日

所有原语


发布了所有原语的小版本,包含以下更改:

  • 完全与 React 19 兼容 #2952
  • 完全与 RSC 兼容 #2923
  • 内部构建工具更改 #2922 #2931
  • 更新并固定 react-remove-scroll 依赖版本以避免在边缘情况下出现双滚动条bug #2776
  • 不要在响应悬停时滚动菜单项 #2451
  • 确保在按Escape键时关闭的组件能够捕捉到相应的键盘事件。这样您可以在需要更好控制在另一个按Escape键关闭的组件中渲染Radix组件时调用 stopPropagation
  • 确保具有游走焦点的组件不干扰浏览器或系统的快捷方式,例如后退导航 #2739
  • 确保支持 hideWhenDetached 属性的组件不允许与隐藏内容进行交互 #2743 #2745

Dialog

1.1.0
  • 当缺少可访问的标题时记录一个错误,通过 Dialog.Title 部件 #2948
  • 当缺少可访问的描述时记录一个警告,通过 Dialog.Description 部件 #2948

Label

2.1.0
  • 确保组件在为数字输入的旋转器单击时不会产生干扰

Navigation Menu

1.2.0
  • 删除不支持的 disableOutsidePointerEvents 属性

Portal

1.1.0
  • 修复初始渲染时的SSR水合错误 #2923

Progress

1.2.0
  • 明确允许 value={undefined} 以表示不确定状态,匹配当前的实际行为 #2947

Select

2.1.0
  • nonce 属性添加以能够将CSP nonce传递给内联样式 #2728

Scroll Area

1.1.0
  • nonce 属性添加以能够将CSP nonce传递给内联样式 #2728

2023年9月25日

Alert Dialog

1.0.5
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Avatar

1.0.4
  • 防止图像闪烁 #2340

Context Menu

2.1.5
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Dialog

1.0.5
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Dropdown Menu

2.0.6
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Hover Card

1.0.7
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Menubar

1.0.4
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Navigation Menu

1.1.4
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Popover

1.0.7
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178
  • 修复 Popover 嵌套在 Dialog 中时无法打开的问题 #2182

Scroll Area

1.0.5
  • 添加与 scroll-behavior: smooth 的兼容性 #2175

Select

2.0.0
  • [破坏性] 添加使用 "" 值重置为占位符的能力。请注意,只有当您使用值为 "" 的选项时这才是一个破坏性更改。 #2174
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178

Toast

1.1.5
  • 修复在外部单击时的指针事件问题 #2177

Tooltip

1.0.7
  • 修复在外部单击时的指针事件问题 #2177
  • 修复 Portal 部件类型与接受DOM属性的谎言 #2178
  • 修复边界填充计算的问题 #2185
  • 添加选项以始终实时重新定位 Content #2092

2023年5月26日

本次发布确保我们所有的原语都与ESM兼容。我们还为所有弹出位置的原语更新到了最新版本的Floating UI

所有原语

  • 提升 ESM 兼容性 #2130
  • 修复可能的上游编译器错误(@types/react 幽灵依赖) #1896

Context Menu

2.1.4
  • 当匹配触发器大小时正确定位内容 #1995

Dialog

1.0.4
  • 防止非模态对话框在使用触发器关闭时重新打开 #2110
  • 确保在删除聚焦项时保持焦点捕获 #2145

Dropdown Menu

2.0.5
  • 当匹配触发器大小时正确定位内容 #1995

Hover Card

1.0.6
  • 当匹配触发器大小时正确定位内容 #1995

Menubar

1.0.3
  • 当匹配触发器大小时正确定位内容 #1995

Navigation Menu

1.1.3
  • 单击项目时不关闭且meta键按下 #2080

Popover

1.0.6
  • 当匹配触发器大小时正确定位内容 #1995
  • 防止非模态弹出框在使用触发器关闭时重新打开 #2110
  • 确保在使用 collisionBoundary 时正确计算 --radix-popper-available-width #2032

Select

1.2.2
  • 当匹配触发器大小时正确定位内容 #1995
  • 改进滚动按钮触摸屏支持 #1771

Slider

1.1.2
  • 确保拇指位置在范围内 #1988

Slot

1.0.2
  • 确保 Slot 可用于 React 服务器组件 #2116

Tooltip

1.0.6
  • 当匹配触发器大小时正确定位内容 #1995
  • 改进大内容的悬停性 #2155

2023年3月8日

本次发布引入了一种全新的预览原语:Form

Form

0.0.2

2023年2月24日

Checkbox

1.0.2
  • 表单重置时重置复选框状态 #1733

ContextMenu

2.1.2
  • 暴露新的CSS自定义属性以启用大小约束 #1942
  • 按Escape键从子菜单解除时不退出全屏模式 #1752
  • 放宽 onCheckedChangeContextMenu.CheckboxItem 上的类型 #1778

DropdownMenu

2.0.3
  • 暴露新的CSS自定义属性以启用大小约束 #1942
  • 按Escape键从子菜单解除时不退出全屏模式 #1752
  • 放宽 onCheckedChangeDropdownMenu.CheckboxItem 上的类型 #1778

HoverCard

1.0.4
  • 暴露新的CSS自定义属性以启用大小约束 #1942

Menubar

1.0.1
  • 暴露新的CSS自定义属性以启用大小约束 #1943
  • 按Escape键从子菜单解除时不退出全屏模式 #1752
  • 放宽 onCheckedChangeMenubar.CheckboxItem 上的类型 #1778

Popover

1.0.4
  • 暴露新的CSS自定义属性以启用大小约束 #1942

Tooltip

1.0.4
  • 暴露新的CSS自定义属性以启用大小约束 #1942

2023年1月17日

本次发布引入了一种全新的原语:Menubar。同时为 Select 添加了一个备受欢迎的功能支持:以类似于 PopoverDropdownMenu 的方式定位内容的能力。

Accordion

1.1.0
  • 增加水平方向支持,并添加新的 orientation 属性,以及使用 dir 的RTL支持 #1850

Context Menu

2.1.1
  • 修复RTL定位的一致性问题 #1890

Dropdown Menu

2.0.2
  • 修复RTL定位的一致性问题 #1890

Hover Card

1.0.3
  • 修复RTL定位的一致性问题 #1890

Menubar

1.0.0

Popover

1.0.3
  • 修复RTL定位的一致性问题 #1890

Select

1.2.0
  • 添加 position 属性到 Select.Content 以启用弹出定位 #1853

Tooltip

1.0.3
  • 修复RTL定位的一致性问题 #1890

2022年12月14日

Context Menu

2.1.0
  • ContextMenu.Trigger 添加 disabled 属性 #1746

2022年11月15日

Select

1.1.2
  • 修复FireFox运行Cypress时的无效 pointerId #1753

2022年10月17日

Accordion

1.0.1
  • 修复Firefox和Safari中的初始动画播放 #1710

Alert Dialog

1.0.2
  • 修复Firefox中textarea元素无法滚动的问题 #1550

Collapsible

1.0.1
  • 修复Firefox和Safari中的初始动画播放 #1710

Context Menu

2.0.1
  • [破坏性] 添加对 ContextMenu.CheckboxItem 中不确定状态的支持。请注意,只有当您当前正在使用 CheckboxItem 部件并且您的代码基于TypeScript时这才是一个破坏性更改。 #1624

Dialog

1.0.2
  • 修复Firefox中textarea元素无法滚动的问题 #1550

Dropdown Menu

2.0.1
  • [破坏性] 添加对 DropdownMenu.CheckboxItem 中不确定状态的支持。请注意,只有当您当前正在使用 CheckboxItem 部件并且您的代码基于TypeScript时这才是一个破坏性更改。 #1624
  • 关闭时正确配对 DropdownMenu.Trigger 的打开状态与 aria-expanded #1644
  • 修复使用 asChild 时快速选择项目的问题 #1647
  • 修复在单独的弹出窗口中使用该组件时出现的关闭问题 #1677

Hover Card

1.0.2
  • 改善文本选择体验 #1692

Label

2.0.0
  • [破坏性] 移除 useLabelContext 和对完全自定义控件的支持。要确保本地标签正常工作,请确保您的自定义控件基于本地元素,例如 buttoninput #1686
  • 通过使用本地 label 元素改善本地行为 #1686

Navigation Menu

1.1.1
  • 防止菜单在通过Escape键关闭后再次打开 #1579
  • NavigationMenu.Root 添加 delayDurationskipDelayDuration 属性。注意,默认情况下,触发器打开前都有短暂延迟,以便改善用户体验,这可以通过提供的属性进行修改。 #1716

Radio Group

1.1.0
  • RadioGroup.Root 添加 disabled 属性 #1530
  • 修复 RadioGroup.Root 在所有项目被禁用时可聚焦的问题 #1530

Select

1.1.1
  • Select.Root 添加 disabled 属性 #1699
  • Select.Root 添加 required 属性 #1598

Slider

1.1.0
  • 添加在 Slider.Root 上使用新 inverted 属性视觉上反转滑块的能力 #1695
  • Slider.Root 添加 onValueCommit 属性以更好地处理离散值更改 #1696

Slot

1.0.1
  • 停止过早创建回调属性 #1713

Toast

1.1.1
  • 修复屏幕阅读器以“组”而不是“状态”宣布的回归 #1556
  • 修复子元素上 ref 分配返回 null 的回归 #1668
  • Toast.Root 添加 onPauseonResume 属性 #1669
  • 修复计时器重置问题,可能导致吐司在某些情况下提前消失 #1682

Toolbar

1.0.1
  • 防止 Toolbar.Item 的点击处理程序触发两次 #1526

Tooltip

1.0.2
  • 确保在打开计时器到期之前与触发器交互不会打开工具提示 #1693

2022年7月21日

通过此发布,我们开始严格遵循语义版本控制。所有原语现在都已版本化 1.0.0

我们还将 SelectToastNavigationMenu 从预览转为稳定。

所有原语

  • 改善对 React 18 的支持 #1329
  • [破坏性] 改善 RTL 性能。如果您依赖于文档(或任何元素)的 dir 属性继承,则需要使用 DirectionProvider #1119

Alert Dialog

1.0.0
  • [破坏性] 移除 allowPinchZoom 属性,默认为 true #1514
  • 通过在 AlertDialog.Portal 上使用 forceMount 改善与 JS 动画库的兼容性 #1075
  • 修复关闭对话框时页面交互性的回归 #1401

Context Menu

1.0.0
  • [破坏性] 改善上下文菜单的间接嵌套。子菜单现在必须使用显式部件创建。 #1394
  • [破坏性] 移除 allowPinchZoom 属性,默认为 true #1514
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。请注意,不再管理 z-index,因此您可以完全控制分层。 #1429
  • [破坏性] 移除 Arrow 部件上的 offset #1531
  • [破坏性]collisionTolerance 重命名为 collisionPadding,并在 Content 部件上接受数字或填充对象 #1531
  • 修复React 18中本地上下文菜单出现的问题 #1378
  • 添加 data-highlighted 属性以支持样式 #1388
  • 添加 data-state 属性到 Trigger 部件 #1455
  • Content 部件上添加 collisionBoundaryarrowPaddingstickyhideWhenDetached 属性 #1531

Dialog

1.0.0
  • [破坏性] 移除 allowPinchZoom 属性,默认为 true #1514
  • 通过在 Dialog.Portal 上使用 forceMount 改善与 JS 动画库的兼容性 #1075
  • 修复关闭对话框时页面交互性的回归 #1401

Dropdown Menu

1.0.0
  • [破坏性] 改善下拉菜单的间接嵌套。子菜单现在必须使用显式部件创建。 #1394
  • [破坏性] 移除 allowPinchZoom 属性,默认为 true #1514
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。请注意,不再管理 z-index,因此您可以完全控制分层。 #1429
  • [破坏性] 移除 Arrow 部件上的 offset #1531
  • [破坏性]collisionTolerance 重命名为 collisionPadding,并在 Content 部件上接受数字或填充对象 #1531
  • 添加 data-highlighted 属性以支持样式 #1388
  • 防止Escape键在Firefox和Safari中退出全屏模式 #1423
  • Content 部件上添加 collisionBoundaryarrowPaddingstickyhideWhenDetached 属性 #1531

Hover Card

1.0.0
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。请注意,不再管理 z-index,因此您可以完全控制分层。 #1426
  • [破坏性] 移除 Arrow 部件上的 offset #1531
  • [破坏性]collisionTolerance 重命名为 collisionPadding,并在 Content 部件上接受数字或填充对象 #1531
  • Content 部件上添加 collisionBoundaryarrowPaddingstickyhideWhenDetached 属性 #1531

Navigation Menu

1.0.0
  • 确保菜单在单击 NavigationMenu.Link 后关闭 #1347
  • NavigationMenu.Link 添加 onSelect 属性 #1372

Popover

1.0.0
  • [破坏性] 移除 allowPinchZoom 属性,默认为 true #1514
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。请注意,不再管理 z-index,因此您可以完全控制分层。 #1425
  • [破坏性] 移除 Arrow 部件上的 offset #1531
  • [破坏性]collisionTolerance 重命名为 collisionPadding,并在 Content 部件上接受数字或填充对象 #1531
  • Content 部件上添加 collisionBoundaryarrowPaddingstickyhideWhenDetached 属性 #1531

Portal

1.0.0
  • [破坏性] 请注意,不再管理 z-index,因此您可以完全控制分层。为提供自定义容器,prop 导向客制化的 containerRef(ref)演变为 container(element)。 data-radix-portal 被移除,因为您可以使用 asChild 控制元素。 #1463

RadioGroup

1.0.0
  • 为根元素添加 aria-required #1422

Scroll Area

1.0.0
  • ScrollArea.Thumb 现在可以动画化 #1392

Select

1.0.0
  • [破坏性]data-state 的值从 active|inactive 重命名为 checked|unchecked #1388
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。请注意,不再管理 z-index,因此您可以完全控制分层。 #1459
  • 修复使用 asChild 时定位破坏的问题 #1245
  • 改善 Select.Content 具有填充时的触发器/内容对齐 #1312
  • 修复当项目少于5个时触发器/内容的对齐 #1355
  • 在未提供值时支持触发器/内容的对齐 #1379
  • 添加 data-highlighted 属性以支持样式 #1388
  • 通过在 Select.Value 上使用 placeholder 属性支持占位符 #1384
  • 解决与基础本地选择器的值不匹配问题 #1421

Slot

1.0.0
  • 修复使用 Slottable 时的子项排序问题 #1376

Tabs

1.0.0
  • Tabs.Content 添加支持生命周期动画 #1346

Toast

1.0.0
  • [破坏性] 默认的吐司顺序已更改,它们现在从旧到新自上而下呈现 #1469
  • 改善使用 asChild 时的TypeScript类型 #1300
  • 修复更新React的 key 属性时吐司重排序的问题 #1283
  • 改善与动画库的兼容性 #1468

Tooltip

1.0.0
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。请注意,不再管理 z-index,因此您可以完全控制分层。 #1427
  • [破坏性] 默认情况下,Tooltip.Content将在悬停时保持打开(符合WCAG 2.1悬停内容要求)。可以提供 disableHoverableContentTooltip.Provider以恢复之前的行为 #1490
  • [破坏性] Tooltip.Contentside 现在默认为 top #1490
  • [破坏性] Tooltip.Provider 现在是必需的,您必须包装您的应用以避免回归。 #1490
  • [破坏性] 移除 Arrow 部件上的 offset #1531
  • [破坏性]collisionTolerance 重命名为 collisionPadding,并在 Content 部件上接受数字或填充对象 #1531
  • 改善工具提示与其他原语的分层 #1314
  • 修复当转换/动画触发器时工具提示关闭的问题 #937

2022年2月28日

本次发布引入了3种全新的原语预览:SelectToastNavigationMenu,同时还提交了大量修复和改进。

Accordion

0.1.6
  • 按下 Accordion.Trigger 时防止表单提交 #1085
  • 修复与 React 18 的动画问题 #1125

Alert Dialog

0.1.7
  • 改进指针事件管理 #1079

Checkbox

0.1.5
  • 防止通过enter键激活 #1104

Collapsible

0.1.6
  • 修复与 React 18 的动画问题 #1125

Context Menu

0.1.6
  • 防止 DropdownMenu.TriggerItem 单击触发两次 #1057
  • 改善空闲性能 #1040

Dialog

0.1.7
  • 改进指针事件管理 #1079
  • [破坏性] Dialog.Title 现在是必需部件,因此如果未使用,将会抛出错误。如果不需要描述,必须将 aria-describedby={undefined} 传递给 Dialog.Content #1098

Dropdown Menu

0.1.6
  • 改善与 Dialog/AlertDialog 的组合 #1097
  • 防止单击触发器关闭后立即重新打开非模态模式 #1059
  • 防止 DropdownMenu.TriggerItem 单击触发两次 #1057
  • 改善空闲性能 #1040

Navigation Menu

0.1.2

Radio Group

0.1.5
  • 防止通过enter键激活 #1104

Select

0.1.1

Slider

0.1.4
  • 在使用 HomeEnd 键时防止页面滚动 #1076

Tabs

0.1.5
  • 防止通过右键单击意外激活焦点 #1114

Toast

0.1.1

Toggle Group

0.1.5
  • 通过使用单选角色来改善可访问性 #1118

2021年12月13日

本次发布侧重于对 React 18 的支持,并引入了一些包的重大破坏性更改,主要与对话框的端口化有关。

所有原语

  • [破坏性] 废弃 IdProvider。提高对 React 18 的支持,并不再需要使用旧版本。请从您的应用中移除,以避免过时的警告。 #1006

Accordion

0.1.5
  • 改善对 React 18 的支持 #984
  • 改善开发模式中错误与不匹配的 typevalue 属性 #979
  • 防止 Accordion.Content 高度动画在初始页面加载时 #977

Alert Dialog

0.1.5
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。 #936
  • [破坏性] 支持在 AlertDialog.Overlay 中滚动。将 allowPinchZoom 移动到根元素。 #963
  • 修复 asChild 的TypeScript错误 #924

Collapsible

0.1.5
  • 防止 Collapsible.Content 高度动画在初始页面加载时 #977

Dialog

0.1.5
  • [破坏性] 添加新的 Portal 部件。为避免回归,使用该部件可以实现端口行为。 #936
  • [破坏性] 支持在 Dialog.Overlay 中滚动。将 allowPinchZoom 移动到根元素。 #963

Dropdown Menu

0.1.4
  • 防止禁用触发器打开菜单 #974

Hover Card

0.1.3
  • 修复在对话框内聚焦 HoverCard 的能力 #920

Radio Group

0.1.4
  • 防止程序性聚焦更改值 #939

Tabs

0.1.4
  • [破坏性]Tabs.Content 中卸载内容,当标签不活跃时 #859

Toggle Group

0.1.4
  • Remove invalid aria-orientation attribute on role=group element #965

Toolbar

0.1.4
  • Fix asChild TypeScript error #924
  • Remove invalid toolbaritem role #950

Tooltip

0.1.6Major
  • [Breaking] Add new TooltipProvider part. You must wrap your app to avoid regressions. #1007
  • [Breaking] Remove type=button attribute from Tooltip.Trigger #1011
  • Fix tooltip activation regression #1035

Slot

0.1.2
  • Fix key warnings #1015

2021年10月15日

所有原语

  • 所有原语现在均版本化为 0.1.1
  • 修复原语之间的组合性问题,通过作用域上下文 #906
  • 修复 CSS 卸载动画 #851

Accordion

0.1.1
  • Accordion.Content 添加新的 CSS 变量,以帮助宽度动画 #879

Alert Dialog

0.1.1
  • 改进与 Dialog 的组合 #906
  • [破坏性] 移除 AlertDialog.ContentonInteractOutside 属性 #846

Dialog

0.1.1
  • 改进与 AlertDialog 的组合 #906
  • 通过 allowPinchZoom 属性向 DropdownMenu.Content 添加支持 #884

Context Menu

0.1.1
  • 通过 allowPinchZoom 属性向 ContextMenu.Content 添加支持 #884
  • 阻止子菜单触发器的箭头键滚动 #908

Collapsible

0.1.1
  • Collapsible.Content 添加新的 CSS 变量,以帮助宽度动画 #879

Checkbox

0.1.1
  • 防止屏幕阅读器虚拟光标访问隐藏的输入 #870

Dropdown Menu

0.1.1
  • 改进与 Tooltip 的组合 #906
  • 通过 allowPinchZoom 属性向 DropdownMenu.Content 添加支持 #884
  • 阻止子菜单触发器的箭头键滚动 #908

Hover Card

0.1.1
  • 打开时聚焦以改善键盘支持 #902
  • 正确组合内部指针事件 #893

Label

0.1.1
  • 允许其子元素防止事件传播 #861

Radio Group

0.1.1
  • 防止屏幕阅读器虚拟光标访问隐藏输入 #870

Popover

0.1.1
  • 通过 allowPinchZoom 属性向 Popover.Content 添加支持 #884

Slider

0.1.1
  • 修复当值为 0 时的计算 #866

Switch

0.1.1
  • 防止屏幕阅读器虚拟光标访问隐藏输入 #870

Tabs

0.1.1
  • [破坏性]Tabs.Content 中卸载内容,当选项卡不活跃时 #859

2021年9月7日

所有原语

  • 所有原语移动到 Beta 并已版本化为 0.1.0
  • [破坏性]asChild 布尔属性替换多态的 as 属性。了解如何通过 在这里更改渲染的元素 #835

Dialog

0.1.0
  • 改进与 DropdownMenu 的组合 #818

Dropdown Menu

0.1.0
  • 改进与 Dialog 的组合 #818
  • 关闭时重新启用 pointer-events #819
  • 防止body文本在关闭时选择(Firefox) #812
  • 确保子触发器在单击时获得焦点(iOS Safari) #820

Primitive

0.1.0
  • [破坏性] 废弃 extendPrimitive 实用程序 #840

2021年8月4日

所有原语

  • 改善多态类型性能 #784

Alert Dialog

0.0.20
  • [破坏性] 移除 AlertDialog.ContentonPointerDownOutside 属性 #700
  • 防止在触摸设备上溢出的指针事件过早触发 #767

Context Menu

0.0.24
  • 通过 modal 属性添加模式支持 #700
  • [破坏性] 移除 ContextMenu.ContentdisableOutsidePointerEvents 属性 #700
  • 防止在触摸设备上溢出的指针事件过早触发 #767

Dialog

0.0.20
  • 通过 modal 属性添加模式支持 #700
  • 改善React 18 中的动画渲染 #776
  • 确保在关闭时将焦点恢复到触发器上,当使用子元素的 autofocus 属性时 #739
  • 防止在触摸设备上溢出的指针事件过早触发 #767
  • 确保 iOS Safari 始终聚焦第一个可聚焦的元素 #776

Dropdown Menu

0.0.23
  • 通过 modal 属性添加模式支持 #700
  • [破坏性] 移除 DropdownMenu.ContentdisableOutsideScroll 属性 #700
  • [破坏性] 移除 DropdownMenu.ContentdisableOutsidePointerEvents 属性 #700
  • 防止在触摸设备上溢出的指针事件过早触发 #767

Popover

0.0.20
  • 通过 modal 属性添加模式支持 #700
  • [破坏性] 移除 Popover.ContentdisableOutsideScroll 属性 #700
  • [破坏性] 移除 Popover.ContentdisableOutsidePointerEvents 属性 #700
  • [破坏性] 移除 Popover.ContenttrapFocus 属性 #700
  • 改善动画渲染在 React 18 中 #776
  • 确保在关闭时将焦点恢复到触发器上,当使用子元素的 autofocus 属性时 #739
  • 防止在触摸设备上溢出的指针事件过早触发 #767
  • 确保 iOS Safari 始终聚焦第一个可聚焦的元素 #776

Scroll Area

0.0.16
  • Scrollbar 部件添加 data-state 属性 #801

Slider

0.0.17
  • 防止拇指在禁用时获得焦点 #777
  • 防止在 React.StrictMode 中拇指失去焦点 #794

2021年6月24日

Context Menu

0.0.23
  • 现在可以在触摸时长按以触发 #743

Dialog

0.0.19
  • 添加可选的 TitleDescription 部件以便简单标记 #741

Scroll Area

0.0.15
  • Scrollbar 添加 data-orientation 以方便样式 #720
  • 修复 forceMountScrollbar 上的类型问题 #738

Slider

0.0.16
  • 确保在使用键盘并跨越另一个拇指时聚焦正确的拇指 #731
  • 确保跨越另一个拇指时只需一箭头键 #733

Slot

0.0.12
  • 改善类型兼容性 #737

Toggle Group

0.0.10
  • 确保只需点击一次即可切换单个受控切换组 #722
  • 确保焦点行为在 Safari 中一致 #727

2021年6月15日

所有原语

  • 改善多态类型 #648

Accordion

0.0.16
  • [破坏性]Accordion.Button 重命名为 Accordion.Trigger #651
  • [破坏性]Accordion.Panel 重命名为 Accordion.Content #651
  • [破坏性] 相应地重命名自定义属性(--radix-accordion-content-height #651
  • [破坏性] type=“single”Accordion 现在具有新的 collapsible 属性,默认为 false。这意味着默认行为现在已改变,默认情况下用户无法关闭所有项。 #651

Alert Dialog

0.0.18
  • [破坏性] 允许在 onPointerDownOutside 中防止默认行为,而不会意外地防止聚焦 #654

Checkbox

0.0.16
  • [破坏性] onCheckedChange(event) 现在是 onCheckedChange(checked: CheckedState) #672
  • 改进与本地表单验证的兼容性 #650
  • 允许在 CheckboxonClick 中停止传播 #672
  • 改进与本地 label 的兼容性 #672
  • 在包裹时在本地 label 中改善无障碍性 #672

Collapsible

0.0.16
  • [破坏性]Collapsible.Button 重命名为 Collapsible.Trigger #651

Context Menu

0.0.22
  • 添加子菜单支持 #682
  • 添加 ContextMenu.TriggerItem #682
  • 添加 ContextMenu.Arrow #682
  • 为子菜单添加 dir 属性以支持RTL #682
  • [破坏性] 允许在 onPointerDownOutside 中防止默认行为,而不会意外地防止聚焦 #654
  • [破坏性] 移除 ContextMenu.Contentside 属性 #658
  • [破坏性] 移除 ContextMenu.Contentalign 属性 #658
  • [破坏性] 如果您之前在 ContextMenu.Content 上具有 sideOffset,则应该使用 alignOffset。这是为了标准化根菜单和子菜单的垂直对齐。 #712
  • [破坏性] onFocusOutside 现在是一个自定义事件 #671
  • 改善内容和没有填充的项目的支持 #658
  • 验证根据WAI-ARIA规范的首个项目聚焦时应聚焦 #694

Dialog

0.0.18
  • [破坏性] 允许在 onPointerDownOutside 中防止默认行为,而不会意外地防止聚焦 #654

Dropdown Menu

0.0.21
  • 添加子菜单支持 #682
  • 添加 DropdownMenu.TriggerItem #682
  • 为子菜单添加 dir 属性以支持RTL #682
  • [破坏性] 允许在 onPointerDownOutside 中防止默认行为,而不会意外地防止聚焦 #654
  • [破坏性] onFocusOutside 现在是一个自定义事件 #671
  • [破坏性] 向上箭头不再打开菜单 #702
  • 验证在通过键盘打开时的首个项目聚焦 #694

Popover

0.0.18
  • [破坏性] 允许在 onPointerDownOutside 中防止默认行为,而不会意外地防止聚焦 #654
  • [破坏性] onFocusOutside 现在是一个自定义事件 #671

Radio Group

0.0.17
  • [破坏性] onValueChange(event) 现在是 onValueChange(value: string) #685
  • [破坏性] 移除 RadioGroup.ItemonCheckedChange 属性 #685
  • 改善与本地表单验证的兼容性 #650
  • 在表单中的使用中改进 #685

Scroll Area

0.0.14
  • 全新版本,提供更简单的API #624
  • 改善 Safari 支持 #624
  • 改善 RTL 支持 #624
  • 改善触摸支持 #624
  • Scrollbar 的挂载/卸载现在可以动画化 #624
  • 添加最小宽度/高度,以便始终可抓取 #624
  • 将功能性CSS移至组件,以改善DX #624
  • 打包大小显著缩小 #624
  • [破坏性] 移除 overflowXoverflowY 属性 #624
  • [破坏性] 移除 ScrollAreaButtonStartScrollAreaButtonEndScrollAreaTrack #624
  • [破坏性]scrollbarVisibility 属性重命名为 type。值为 autoalwaysscrollhover #624
  • [破坏性]scrollbarVisibilityRestTimeout 属性重命名为 scrollHideDelay #624
  • [破坏性] 移除 trackClickBehavior 属性,因为我们删除了内置动画。单击轨道始终会快速返回到指针位置 #624
  • [破坏性] ScrollAreaScrollbarXScrollAreaScrollbarY 现在是 <ScrollAreaScrollbar orientation="horizontal" /><ScrollAreaScrollbar orientation="vertical" /> #624
  • 确保在禁用滚动时不会显示滚动条 #624
  • 确保子元素的事件处理程序不会破坏 #624
  • 确保在子内容大小变化时更新滚动区域 #624

Slider

0.0.15
  • 改善在表单中的使用 #678
  • 修复LTR中的键绑定问题 #718

Switch

0.0.14
  • [破坏性] onCheckedChange(event) 现在是 onCheckedChange(checked: boolean) #679
  • 改善与本地表单验证的兼容性 #650
  • 改善在表单中的使用 #679
  • 改善在本地 label 中的无障碍性 #679

Tabs

0.0.14
  • [破坏性]Tabs.Tab 重命名为 Tabs.Trigger #652
  • [破坏性]Tabs.Panel 重命名为 Tabs.Content #652

2021年5月3日

所有原语

  • 改善多态类型的性能 #613

Accordion

0.0.14
  • 确保只需单击一次即可关闭单个受控手风琴 #594

Checkbox

0.0.14
  • [破坏性] 移除 readOnly 属性 #600

Context Menu

0.0.18
  • 添加 onOpenChange 属性 #604

Dialog

0.0.16
  • 确保当聚焦窗口重新聚焦时,焦点位置不会丢失 #589

Dropdown Menu

0.0.18
  • 考虑不可见项目 #618
  • [破坏性] 移除 anchorRef 属性 #580
  • 防止选择空间键时页面滚动 #626

Hover Card

0.0.1
  • 新原语 #595

Popover

0.0.16
  • [破坏性] 移除 anchorRef 属性,并替换为可选的 Anchor 部件 #580

Radio Group

0.0.15
  • 添加可选的 orientationdirloop 属性 #618
  • [破坏性] 移除 readOnly 属性 #600

Switch

0.0.12
  • [破坏性] 移除 readOnly 属性 #600

Toggle Group

0.0.7
  • 添加可选的 orientationdirloop 属性 #618

Tooltip

0.0.17
  • [破坏性] 移除 anchorRef 属性 #580

2021年3月26日

所有原语

  • 改善树摇 #577

Context Menu

0.0.17
  • 确保您可以在已经开启的情况下打开上下文菜单 #565

Dropdown Menu

0.0.17
  • 修复潜在的重叠问题 #541

Popover

0.0.15
  • 确保在具有多个关闭动画时关闭 Content #571

Toggle

0.0.6
  • [破坏性]ToggleButton 原语重命名为 Toggle #546
  • [破坏性]toggled 属性重命名为 pressed #546
  • [破坏性]defaultToggled 属性重命名为 defaultPressed #546
  • [破坏性]onToggledChange 属性重命名为 onPressedChange #546

Toggle Group

0.0.6
  • 新原语 #376

Toolbar

0.0.9

Tooltip

0.0.16

2021年3月5日

Accordion

0.0.7
  • 添加高度 CSS 自定义属性到面板,以便于动画 #537

Collapsible

0.0.7
  • 添加高度 CSS 自定义属性到内容,以便于动画 #537

Tooltip

0.0.9
  • 修复类型定义冲突 #538

2021年3月3日

所有原语

  • 添加对SSR的支持
  • [破坏性] 移除 selector 属性和 data-radix-* 属性 #517

Accordion

0.0.6
  • [破坏性] 添加对多个值的支持。请注意,这是一个破坏性更改,因为新的 type 属性是必需的 #527

Slider

0.0.6
  • 确保 step 被正确四舍五入 #463

Tabs

0.0.6
  • 添加 RTL 支持(dir 属性) #497

2021年2月17日

Tooltip

0.0.7
  • 确保在使用 <Trigger as={Slot}> 时组合事件 #461

2021年2月15日

Context Menu

0.0.8
  • 暴露 onCloseAutoFocus 属性 #456

Dropdown Menu

0.0.8
  • 暴露 onCloseAutoFocus 属性 #456

2021年2月10日

所有原语

  • 修复使用 as 属性时的类型自动补全 #421

Accordion

0.0.5
  • 防止打开/关闭闪烁 #431

Dialog

0.0.6
  • 确保关闭时焦点正确返回 #422

Radio Group

0.0.5
  • [破坏性]name 属性从 Item 移动到 Root #424

2021年2月1日

Context Menu

0.0.6
  • 重新添加缺失的 children #414

Dropdown Menu

0.0.6
  • 重新添加缺失的 children #414

Popover

0.0.5
  • 防止闪烁(滑动)问题 #415

2021年1月29日

Slot

0.0.1
  • 新工具 #409

2021年1月25日

Dialog

0.0.3
  • 修复在tabbing out时会关闭的回归 #403

Dropdown Menu

0.0.3
  • 修复坏掉的箭头键导航 #404

2021年1月22日

所有原语

  • 添加 selector 属性 #347

Accordion

0.0.2
  • 确保在 Root 上设置 disabled={false} 但不启用禁用项 #400

Dropdown Menu

0.0.2
  • 在触发器上添加回车键支持 #381
  • 防止焦点竞赛条件 #394

Popover

0.0.2
  • 确保 Content 在窗口调整大小时重新定位 #359
  • 确保 Content 内的最后一个元素触发模糊事件 #395

2020年12月15日

所有原语

0.0.1Major
  • 初始版本发布! 🎉 #338