Popover 设计文档
气泡卡片,点击/悬停/聚焦触发元素时弹出富内容浮层。封装 Tooltip(对齐 Semi 继承链),支持标题、12 方位 position、SVG 箭头、间距、custom 完全受控与 condition 条件触发,浮层命令式定位。
← API 文档使用建议
气泡卡片,点击/悬停/聚焦触发元素时弹出富内容浮层。封装 Tooltip(对齐 Semi 继承链),支持标题、12 方位 position、SVG 箭头、间距、custom 完全受控与 condition 条件触发,浮层命令式定位。
Accessibility
ARIA role:dialog | tooltip
- role 派生:trigger=click/custom → dialog(承可交互富内容,aria-modal=false,有标题 aria-labelledby、无标题兜底 aria-label Popover.dialogLabel);hover/focus → tooltip
- 触发元素在 dialog 模式承载 button 角色 + aria-haspopup=dialog / aria-expanded / aria-controls;tooltip 模式为纯 span + aria-describedby
- click/custom 触发用 useDismiss 处理 Escape(closeOnEsc)与外部点击(onClickOutSide)关闭
- dialog 模式 guardFocus 用 useFocusTrap 陷入焦点循环 Tab,关闭后 returnFocusOnClose 归还触发器
- content 函数形态可将初始焦点落到 initialFocusRef 指定元素;condition=false 禁止一切自动触发(custom 不受影响)
- 定位/触发/焦点/dismiss 复用 Tooltip(prefixCls=cd-popover 切换整套浮层类名前缀),对齐 Semi Popover extends Tooltip;箭头为 Popover 独立双 path SVG(描边+背景,8px),与 Tooltip 单 path 解耦
设计变量
| 变量 | 默认值 | 用法 |
|---|---|---|
--cd-color-popover-arrow-bg | var(--cd-color-bg-3) | 箭头默认背景色 |
--cd-color-popover-arrow-border | var(--cd-color-border) | 箭头描边颜色 |
--cd-color-popover-bg-default | var(--cd-color-bg-3) | 默认背景色 |
--cd-color-popover-border-default | var(--cd-color-border) | 默认描边颜色 |