session-turn.css 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. [data-component="session-turn"] {
  2. --sticky-header-height: calc(var(--session-title-height, 0px) + 24px);
  3. height: 100%;
  4. min-height: 0;
  5. min-width: 0;
  6. display: flex;
  7. align-items: flex-start;
  8. justify-content: flex-start;
  9. [data-slot="session-turn-content"] {
  10. flex-grow: 1;
  11. width: 100%;
  12. height: 100%;
  13. min-width: 0;
  14. overflow-y: auto;
  15. scrollbar-width: none;
  16. }
  17. [data-slot="session-turn-content"]::-webkit-scrollbar {
  18. display: none;
  19. }
  20. [data-slot="session-turn-message-container"] {
  21. display: flex;
  22. flex-direction: column;
  23. align-items: flex-start;
  24. align-self: stretch;
  25. min-width: 0;
  26. gap: 18px;
  27. overflow-anchor: none;
  28. }
  29. [data-slot="session-turn-message-content"] {
  30. margin-top: 0;
  31. width: 100%;
  32. min-width: 0;
  33. max-width: 100%;
  34. }
  35. [data-slot="session-turn-compaction"] {
  36. width: 100%;
  37. min-width: 0;
  38. align-self: stretch;
  39. }
  40. [data-slot="session-turn-thinking"] {
  41. display: flex;
  42. align-items: center;
  43. gap: 8px;
  44. width: 100%;
  45. min-width: 0;
  46. color: var(--text-weak);
  47. font-family: var(--font-family-sans);
  48. font-size: var(--font-size-base);
  49. font-weight: var(--font-weight-medium);
  50. line-height: 20px;
  51. min-height: 20px;
  52. [data-component="spinner"] {
  53. width: 16px;
  54. height: 16px;
  55. }
  56. }
  57. [data-component="text-reveal"].session-turn-thinking-heading {
  58. flex: 1 1 auto;
  59. min-width: 0;
  60. color: var(--text-weaker);
  61. font-weight: var(--font-weight-regular);
  62. }
  63. .error-card {
  64. color: var(--text-on-critical-base);
  65. max-height: 240px;
  66. white-space: pre-wrap;
  67. overflow-wrap: anywhere;
  68. word-break: break-word;
  69. overflow-y: auto;
  70. }
  71. [data-slot="session-turn-assistant-content"] {
  72. width: 100%;
  73. min-width: 0;
  74. display: flex;
  75. flex-direction: column;
  76. align-self: stretch;
  77. gap: 12px;
  78. }
  79. [data-slot="session-turn-diffs"] {
  80. width: 100%;
  81. min-width: 0;
  82. }
  83. [data-slot="session-turn-diffs"]
  84. > [data-component="collapsible"]
  85. > [data-slot="collapsible-trigger"][aria-expanded="true"] {
  86. position: sticky;
  87. top: var(--sticky-accordion-top, 0px);
  88. z-index: 20;
  89. height: 40px;
  90. padding-bottom: 8px;
  91. background-color: var(--background-stronger);
  92. }
  93. [data-component="session-turn-diffs-trigger"] {
  94. width: 100%;
  95. display: flex;
  96. align-items: center;
  97. justify-content: flex-start;
  98. gap: 8px;
  99. padding: 0;
  100. }
  101. [data-slot="session-turn-diffs-title"] {
  102. display: inline-flex;
  103. align-items: baseline;
  104. gap: 8px;
  105. }
  106. [data-slot="session-turn-diffs-label"] {
  107. color: var(--text-strong);
  108. font-family: var(--font-family-sans);
  109. font-size: var(--font-size-base);
  110. font-weight: var(--font-weight-medium);
  111. line-height: var(--line-height-large);
  112. }
  113. [data-slot="session-turn-diffs-count"] {
  114. color: var(--text-base);
  115. font-family: var(--font-family-sans);
  116. font-variant-numeric: tabular-nums;
  117. font-size: var(--font-size-base);
  118. font-weight: var(--font-weight-regular);
  119. line-height: var(--line-height-x-large);
  120. }
  121. [data-slot="session-turn-diffs-meta"] {
  122. display: inline-flex;
  123. align-items: center;
  124. gap: 8px;
  125. flex-shrink: 0;
  126. [data-slot="collapsible-arrow"] {
  127. margin-left: -6px;
  128. transform: translateY(2px);
  129. }
  130. [data-component="diff-changes"][data-variant="bars"] {
  131. transform: translateY(1px);
  132. }
  133. }
  134. [data-component="session-turn-diffs-content"] {
  135. padding-top: 0px;
  136. display: flex;
  137. flex-direction: column;
  138. }
  139. [data-slot="session-turn-diff-trigger"] {
  140. display: flex;
  141. align-items: center;
  142. justify-content: space-between;
  143. gap: 12px;
  144. width: 100%;
  145. min-width: 0;
  146. }
  147. [data-slot="session-turn-diff-path"] {
  148. display: flex;
  149. flex-grow: 1;
  150. min-width: 0;
  151. font-family: var(--font-family-sans);
  152. font-size: var(--font-size-small);
  153. line-height: var(--line-height-large);
  154. }
  155. [data-slot="session-turn-diff-directory"] {
  156. color: var(--text-base);
  157. overflow: hidden;
  158. text-overflow: ellipsis;
  159. white-space: nowrap;
  160. direction: rtl;
  161. text-align: left;
  162. }
  163. [data-slot="session-turn-diff-filename"] {
  164. min-width: 0;
  165. color: var(--text-strong);
  166. font-weight: var(--font-weight-medium);
  167. overflow: hidden;
  168. text-overflow: ellipsis;
  169. white-space: nowrap;
  170. }
  171. [data-slot="session-turn-diff-meta"] {
  172. flex-shrink: 0;
  173. display: inline-flex;
  174. align-items: center;
  175. gap: 10px;
  176. }
  177. [data-slot="session-turn-diff-chevron"] {
  178. display: inline-flex;
  179. color: var(--icon-weaker);
  180. transform: rotate(-90deg);
  181. transition: transform 0.15s ease;
  182. }
  183. [data-slot="accordion-item"][data-expanded] [data-slot="session-turn-diff-chevron"] {
  184. transform: rotate(0deg);
  185. }
  186. [data-slot="session-turn-diff-view"] {
  187. background-color: var(--surface-inset-base);
  188. width: 100%;
  189. min-width: 0;
  190. overflow-y: auto;
  191. overflow-x: hidden;
  192. scrollbar-width: none;
  193. -ms-overflow-style: none;
  194. }
  195. [data-slot="session-turn-diff-view"]::-webkit-scrollbar {
  196. display: none;
  197. }
  198. }
  199. [data-slot="session-turn-list"] {
  200. gap: 48px;
  201. }