Open Claude UI
Open Claude UI 组件演示

2.0 新增

Open Claude UI 组件演示:算力调节器、输入框底栏、交错入场、Pill 过冲、发丝边(手册 v2)。每个演示附规格和源码出处。

View as Markdown最后更新:

2.0 新增收录 Claude Desktop 2.0 引入或重做的界面:推理算力调节器、输入框底部工具栏、sibling-index() 交错入场、Pill 过冲回弹、发丝边与触控补偿、骨架屏双模。本页 6 个演示对应手册 v2 第二、三、五章。

关键数值

项目数值出处
Pill 过冲80ms 放大到 1.32× → 120ms overshoot 回落v2/03 §3.5.1
交错入场延迟 = 序号 × 步长(sibling-index())v2/02 §2.5.1
骨架屏 lockstep2.0s 周期,暗到 60%v2/03 §3.5.2
骨架屏 wave每块延迟 序号 × 90ms,105° 扫光v2/03 §3.5.2
发丝边0.5pxv2/02 §2.7
触控补偿(h-control − 行高) / 2v2/02 §2.8

推理算力调节器

2.0 在模型菜单里加了推理算力档位,决定模型思考多久。

2.0 推理算力调节器:Low / Medium / High / Extra / Max 五档,Max 带用量提醒。当前:high出处:v2/02 §2.4 · v2/05 §5.1 · code-examples/ModelSelectorEffort.tsx

输入框底部工具栏

输入框底部一栏放算力档位和发送失败消息的重试入口。

输入框正文区…
2 message(s) failed to send. Staged in local storage.
⌘ + Enter to send
输入框底部工具栏:左侧算力档位,右侧离线失败消息的重试队列。出处:v2/05 §5.2 · v2/02 §2.3 · code-examples/ChatComposerChin.tsx

sibling-index 交错入场

用 CSS 的 sibling-index() 按序号延迟入场,不写 JS。

ASTFusesView TransitionsScroll TimelineOffline Bundlesibling-index()
sibling-index() 原生交错:每个元素延迟 = 序号 × 步长,不写 JS。浏览器不支持 sibling-index() 时同时出现。出处:v2/02 §2.5.1

Pill 过冲回弹

胶囊出现时先放大再回弹,分两段完成,总长 200ms。

待处理 3
两段式:先 dur-base×0.4(80ms)ease-out 放大到 1.32 倍,再 dur-base×0.6(120ms)overshoot 回弹。关键帧本体仓库里没有,按名称和描述补齐。减少动态效果时不播放。出处:v2/03 §3.5.1

发丝边与触控补偿

2.0 用 0.5px 边框;底栏按钮看起来小,点击区用负外边距补大。

0.5px 发丝边
1px 对照
--cds-elevation-card
0.5px 发丝边(.border-0.5)与基于底色 color-mix 推导的投影 --cds-elevation-card;触控负边距补偿 --cmp-chin-touch-grow = (h-control − 行高) / 2,按钮视觉 24px、点击区按 32px 计。出处:v2/02 §2.7 · v2/02 §2.8

骨架屏双模

骨架屏有整组同步闪烁和逐块波浪两种模式,分别适合列表和大卡片。

lockstep
wave
lockstep:整组以 2.0s 周期变暗到 60% 再复原,适合密集列表;wave:每块延迟 序号 × 90ms,叠加 105° 扫光,适合大卡片。出处:v2/03 §3.5.2

怎么在项目里使用?

复制 code-examples/ 里对应的文件,并引入 cds-theme.css。例如:

.chip { animation-delay: calc(var(--cds-chip-in-base-delay, 50ms) + min(sibling-index() - 1, 8) * 30ms); }

相关页面

On this page