fix(ui): Don't draw a second focus box inside framed text fields

The global focus ring listed input and textarea. :is() takes its most specific
argument, so the rule tied with the components' own :focus-visible resets and won
whenever it loaded later: the Settings search field and the agent composer showed
an inner square box inside their focus frame. Text fields show focus with their
frame; the ring stays on checkboxes, radios and other input controls.
Цей коміт міститься в:
l0ng-ai committed 2026-10-27 17:16:46 +08:00
1 джерело 413564efcf
коміт b70d487a92
1 file changed
+3 -5
+3 -5
Переглянути файл
@@ -1,5 +1,3 @@
@import "@fontsource-variable/inter";
@import "@fontsource-variable/jetbrains-mono";
@import "./tokens.css";
/* Monochrome icons default to the theme icon grey; callers override for selected / disabled. */
@@ -95,16 +93,16 @@ a:hover {
}
/* Focus rings mark controls only, as in IDEA: lists, trees, tables, menus, popups and other
focusable containers show focus through their selected row instead of a frame. */
focusable containers show focus through their selected row instead of a frame. Text fields
aren't listed: their frame shows focus, and an outline here draws a second box inside it. */
:focus-visible {
outline: none;
}
:is(
button,
a[href],
input,
input:is([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="button"], [type="submit"], [type="reset"]),
select,
textarea,
summary,
[role="button"],
[role="link"],