上下文 UI
除固定顶栏/底栏外,编辑器根据选区与 preset 显示上下文工具。
固定布局(Layout Chrome)
由 preset 的 layout 决定;页眉/页脚/浮动菜单/快捷键提示不能仅靠 features 重新打开。表格上下文条还额外要求 features.table(uiFlags.tableTools = layout.tableTools && gates.table)。
| 组件 | basic | full | notion | 备注 |
|---|---|---|---|---|
| 顶栏 Header | ✅ | ✅ | ❌ | preset layout |
| 底栏 Footer | ✅ | ✅ | ❌ | preset layout |
| 浮动文本菜单 | ❌ | ✅ | ✅ | preset layout |
| 链接气泡 | ✅ | ✅ | ✅ | preset layout |
| 表格工具 | ❌* | ✅ | ✅ | 需 gates.table;*basic 默认关 table |
| 快捷键提示 | ❌ | ✅ | ❌ | preset layout |
* basic 在 :features="{ table: true }" 时也会显示表格上下文条(layout 已开 tableTools)。
底栏(basic / full):缩放 50–200%、页数、字符数;full 含快捷键提示。
浮动文本菜单
选中文本或空行行首出现,提供格式、颜色、链接、列表等(notion / full)。AI 入口在 AI gate 开启时出现。
气泡 / 上下文条
| 选区类型 | UI |
|---|---|
| 链接 | 链接气泡 — 编辑 URL、取消链接 |
| 图片 | 图片上下文条 — 对齐、预览、删除、缩放 |
| 视频 | 视频上下文条 — 播放预览、删除 |
| 表格单元格 | 表格上下文条 — 增删行列、合并/拆分、表头行/列、删除整表(无单元格背景色 UI) |
块菜单
斜杠命令与拖拽手柄触发的 BlockPickerMenu(见 块编辑)。菜单通过 overlay portal 挂载,继承 .yaniv-editor 的 z-index token。
浮层挂载
bubble menu、BlockPicker、mention 建议、AI popover 等均挂载在 EditorShell 内的 .yaniv-editor__overlay-portal,不使用 document.body。层级配置见 Z-Index 与浮层。
移动端
视口 ≤768px 时顶栏自动回退 COMPACT 布局(ToolbarNav)。
Session Loading
sessionKey 变化重建期间显示 skeleton 占位,避免 chrome 白屏闪烁。