@softize/opus 9.0.7 → 9.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/src/ui/components/primitives/chat.tsx +1 -1
- package/src/ui/theme.css +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,14 @@ Depois de qualquer bump, rode os gates (`typecheck` · `test` · `opus check` ·
|
|
|
11
11
|
> tinha ficado sem registro nenhum, o que é exatamente o caso que este arquivo existe
|
|
12
12
|
> pra cobrir.
|
|
13
13
|
|
|
14
|
+
## 9.0.8 — 2026-08-18
|
|
15
|
+
|
|
16
|
+
**Scrollbars nativas passam a usar o acabamento discreto como parte do tema base.** Todo
|
|
17
|
+
documento que importa `@softize/opus/ui/theme.css` recebe o indicador fino, revelado no
|
|
18
|
+
hover ou foco, inclusive em conteúdo renderizado por portal. A classe
|
|
19
|
+
`scrollbar-subtle` deixa de ser necessária; iframes continuam isolados e precisam importar
|
|
20
|
+
o tema no próprio documento.
|
|
21
|
+
|
|
14
22
|
## 9.0.7 — 2026-08-18
|
|
15
23
|
|
|
16
24
|
**Scrollbars nativas podem compartilhar um acabamento discreto e previsível.** A classe
|
package/package.json
CHANGED
|
@@ -133,7 +133,7 @@ const ChatTranscript = React.memo(function ChatTranscript({
|
|
|
133
133
|
<div
|
|
134
134
|
ref={scrollRef}
|
|
135
135
|
data-slot="chat-scroll"
|
|
136
|
-
className="
|
|
136
|
+
className="flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-4"
|
|
137
137
|
>
|
|
138
138
|
{items.length === 0 && !indicatorVisible && greeting !== undefined && (
|
|
139
139
|
<div data-slot="chat-empty" className="m-auto max-w-[280px] text-center text-muted-foreground">
|
package/src/ui/theme.css
CHANGED
|
@@ -180,39 +180,39 @@
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
/*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
183
|
+
/* Scrollbar nativa da casa: todo scroller do documento compartilha o mesmo acabamento,
|
|
184
|
+
* inclusive conteúdo renderizado por portal. Isso elimina a variação do macOS entre raiz,
|
|
185
|
+
* elementos aninhados, mouse e trackpad sem trocar o mecanismo nativo nem adicionar trabalho
|
|
186
|
+
* em JS. Firefox usa scrollbar-color; Chromium/Safari usam os pseudos abaixo. Iframes
|
|
187
|
+
* continuam sendo documentos isolados e devem importar o tema no próprio documento. */
|
|
188
188
|
@media (hover: hover) {
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
:root,
|
|
190
|
+
:root * {
|
|
191
191
|
scrollbar-color: transparent transparent;
|
|
192
192
|
scrollbar-width: thin;
|
|
193
193
|
}
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
:root:is(:hover, :focus, :focus-within),
|
|
195
|
+
:root *:is(:hover, :focus, :focus-within) {
|
|
196
196
|
scrollbar-color: color-mix(in srgb, var(--muted-foreground) 35%, transparent) transparent;
|
|
197
197
|
}
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
:root::-webkit-scrollbar,
|
|
199
|
+
:root *::-webkit-scrollbar {
|
|
200
200
|
width: 0.5rem;
|
|
201
201
|
height: 0.5rem;
|
|
202
202
|
}
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
:root::-webkit-scrollbar-track,
|
|
204
|
+
:root *::-webkit-scrollbar-track {
|
|
205
205
|
background: transparent;
|
|
206
206
|
}
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
:root::-webkit-scrollbar-thumb,
|
|
208
|
+
:root *::-webkit-scrollbar-thumb {
|
|
209
209
|
border: 2px solid transparent;
|
|
210
210
|
border-radius: 9999px;
|
|
211
211
|
background-color: transparent;
|
|
212
212
|
background-clip: content-box;
|
|
213
213
|
}
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
:root:is(:hover, :focus, :focus-within)::-webkit-scrollbar-thumb,
|
|
215
|
+
:root *:is(:hover, :focus, :focus-within)::-webkit-scrollbar-thumb {
|
|
216
216
|
background-color: color-mix(in srgb, var(--muted-foreground) 35%, transparent);
|
|
217
217
|
}
|
|
218
218
|
}
|