返回 DeepSeek-Reasonix
ReasoningRow.css
根目录 / desktop / frontend / src / components / harness-chat / ReasoningRow.css
1 /* Ported from DeepSeek Harness c291e7961a; MIT, see LICENSE. */
2 .dsh-ReasoningRow-root {
3 display: flex;
4 flex-direction: column;
5 }
6
7 .dsh-ReasoningRow-root:not([data-expanded]) {
8 contain: size layout;
9 height: calc(24px + var(--dsh-content-font-delta, 0px));
10 }
11
12 .dsh-ReasoningRow-row {
13 position: relative;
14 overflow: hidden;
15 }
16
17 .dsh-ReasoningRow-root[data-state='running'] .dsh-ReasoningRow-row::after {
18 content: '';
19 position: absolute;
20 inset-block: 0;
21 left: 0;
22 width: 300px;
23 background: linear-gradient(
24 90deg,
25 transparent 0%,
26 color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%,
27 transparent 100%
28 );
29 animation: dsh-reasoning-row-sweep 2.6s ease-out infinite;
30 pointer-events: none;
31 }
32
33 @keyframes dsh-reasoning-row-sweep {
34 0% { left: -300px; }
35 90%, 100% { left: 100%; }
36 }
37
38 .dsh-ReasoningRow-leading {
39 flex-shrink: 0;
40 }
41
42 .dsh-ReasoningRow-chevron {
43 color: var(--dsw-alias-label-secondary);
44 }
45
46 .dsh-ReasoningRow-title {
47 font-weight: 400;
48 }
49
50 .dsh-ReasoningRow-separator {
51 flex: none;
52 width: 2px;
53 height: 2px;
54 margin: 0 8px;
55 border-radius: 1px;
56 background: var(--dsw-alias-label-caption);
57 }
58
59 /* Think text reads the secondary tier — one step under the body size
60 (setting −1 at ≤14, setting −2 above), shared with every flow-row title
61 and summary. */
62 .dsh-ReasoningRow-summary {
63 min-width: 0;
64 overflow: hidden;
65 flex: 1 1 auto;
66 color: var(--dsw-alias-label-tertiary);
67 font-size: var(--dsh-content-font-size-secondary, 13px);
68 line-height: calc(20px + var(--dsh-content-font-delta-secondary, 0px));
69 white-space: nowrap;
70 }
71
72 .dsh-ReasoningRow-summaryText {
73 display: block;
74 overflow: hidden;
75 text-overflow: ellipsis;
76 }
77
78 .dsh-ReasoningRow-summary[data-follow-end] {
79 display: flex;
80 justify-content: flex-end;
81 }
82
83 .dsh-ReasoningRow-summary[data-follow-end] .dsh-ReasoningRow-summaryText {
84 flex: 0 0 auto;
85 width: max-content;
86 min-width: 100%;
87 overflow: visible;
88 text-align: start;
89 text-overflow: clip;
90 }
91
92 .dsh-ReasoningRow-thinkBody {
93 /* Indent under the title, which starts at leading (16 + delta) + gap 6. */
94 padding: 4px 0 4px calc(22px + var(--dsh-content-font-delta, 0px));
95 color: var(--dsw-alias-label-tertiary);
96 font-size: var(--dsh-content-font-size-secondary, 13px);
97 line-height: calc(20px + var(--dsh-content-font-delta-secondary, 0px));
98 white-space: pre-wrap;
99 word-break: break-word;
100 }
101
102 @media (prefers-reduced-motion: reduce) {
103 .dsh-ReasoningRow-root[data-state='running'] .dsh-ReasoningRow-row::after {
104 animation: none;
105 }
106 }
107
107 lines CSS