Open Claude UI
中文
AI Chat Interface Components

Claude Desktop 2.0 UI Components

Claude Desktop 2.0 UI components: effort selector, composer chin, sibling-index() stagger, 1.32× pill overshoot, 0.5px hairlines, skeleton modes. 6 demos.

中文版Last updated:

New in 2.0 collects the interface pieces that Claude Desktop 2.0 introduced or redesigned: the reasoning effort selector, the composer's bottom toolbar, sibling-index() staggered entrances, the pill overshoot rebound, hairlines with touch compensation, and the two skeleton modes. The 6 demos on this page correspond to Chapters 2, 3 and 5 of the v2 handbook. This page is a translation of the Chinese demo page.

Key values

ItemValueSource
Pill overshoot80ms scale-up to 1.32× → 120ms overshoot settlev2/03 §3.5.1
Staggered entrancedelay = index × step (sibling-index())v2/02 §2.5.1
Skeleton lockstep2.0s cycle, dims to 60%v2/03 §3.5.2
Skeleton waveeach block delayed by index × 90ms, 105° sweepv2/03 §3.5.2
Hairline0.5pxv2/02 §2.7
Touch compensation(h-control − row height) / 2v2/02 §2.8

Reasoning effort selector

2.0 adds reasoning effort levels to the model menu, which decide how long the model thinks.

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

Composer bottom toolbar

The composer's bottom row holds the effort level and the retry entry for messages that failed to send.

输入框正文区…
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 staggered entrance

CSS sibling-index() delays each item's entrance by its index, with no JS.

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

Pill overshoot rebound

When a pill appears it first scales up and then rebounds, in two stages totaling 200ms.

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

Hairlines and touch compensation

2.0 uses 0.5px borders; the chin buttons look small, but negative margins enlarge their hit area.

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

Two skeleton modes

Skeletons have two modes, the whole group pulsing in sync or a block-by-block wave, suited to lists and large cards respectively.

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

How do I use these components in a project?

Copy the matching file from code-examples/ and import cds-theme.css. For example:

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

Note: some labels inside the demo components are still in Chinese (they come straight from the repository's components); the behavior and specs are the same.

Sources

The specs on this page come from Chapters 2, 3 and 5 of the v2 handbook, components with source code come from the repository's code-examples/, and CSS usage follows the MDN documentation.

On this page