diff options
| author | Rahul A Mistry <[email protected]> | 2026-01-26 22:28:29 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-01-26 10:58:29 -0600 |
| commit | 783121c06e388c2d496fd68c59421fdff7d5620f (patch) | |
| tree | 609bec899ef8bd0d31c520806e886e7d25382e3c | |
| parent | 984518b1c0cb74db0b8eb9f77bb15fb97224a4e2 (diff) | |
| download | opencode-783121c06e388c2d496fd68c59421fdff7d5620f.tar.gz opencode-783121c06e388c2d496fd68c59421fdff7d5620f.zip | |
fix(ui): use focus-visible instead of focus to prevent sticky hover effect on click (#10651)
| -rw-r--r-- | packages/app/src/components/session/session-header.tsx | 2 | ||||
| -rw-r--r-- | packages/app/src/pages/layout.tsx | 4 | ||||
| -rw-r--r-- | packages/ui/src/components/button.css | 2 | ||||
| -rw-r--r-- | packages/ui/src/components/icon-button.css | 4 | ||||
| -rw-r--r-- | packages/ui/src/components/list.css | 4 | ||||
| -rw-r--r-- | packages/ui/src/components/select.css | 2 |
6 files changed, 9 insertions, 9 deletions
diff --git a/packages/app/src/components/session/session-header.tsx b/packages/app/src/components/session/session-header.tsx index e4a64b339..90daa971d 100644 --- a/packages/app/src/components/session/session-header.tsx +++ b/packages/app/src/components/session/session-header.tsx @@ -131,7 +131,7 @@ export function SessionHeader() { <Portal mount={mount()}> <button type="button" - class="hidden md:flex w-[320px] p-1 pl-1.5 items-center gap-2 justify-between rounded-md border border-border-weak-base bg-surface-raised-base transition-colors cursor-default hover:bg-surface-raised-base-hover focus:bg-surface-raised-base-hover active:bg-surface-raised-base-active" + class="hidden md:flex w-[320px] p-1 pl-1.5 items-center gap-2 justify-between rounded-md border border-border-weak-base bg-surface-raised-base transition-colors cursor-default hover:bg-surface-raised-base-hover focus-visible:bg-surface-raised-base-hover active:bg-surface-raised-base-active" onClick={() => command.trigger("file.open")} aria-label={language.t("session.header.searchFiles")} > diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 87538d72e..7ad97a989 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -1696,7 +1696,7 @@ export default function Layout(props: ParentProps) { <div data-session-id={props.session.id} class="group/session relative w-full rounded-md cursor-default transition-colors pl-2 pr-3 - hover:bg-surface-raised-base-hover focus-within:bg-surface-raised-base-hover has-[[data-expanded]]:bg-surface-raised-base-hover has-[.active]:bg-surface-base-active" + hover:bg-surface-raised-base-hover [&:has(:focus-visible)]:bg-surface-raised-base-hover has-[[data-expanded]]:bg-surface-raised-base-hover has-[.active]:bg-surface-base-active" > <Show when={hoverEnabled()} @@ -1819,7 +1819,7 @@ export default function Layout(props: ParentProps) { ) return ( - <div class="group/session relative w-full rounded-md cursor-default transition-colors pl-2 pr-3 hover:bg-surface-raised-base-hover focus-within:bg-surface-raised-base-hover has-[.active]:bg-surface-base-active"> + <div class="group/session relative w-full rounded-md cursor-default transition-colors pl-2 pr-3 hover:bg-surface-raised-base-hover [&:has(:focus-visible)]:bg-surface-raised-base-hover has-[.active]:bg-surface-base-active"> <Show when={!tooltip()} fallback={ diff --git a/packages/ui/src/components/button.css b/packages/ui/src/components/button.css index 6922d996f..225e64c77 100644 --- a/packages/ui/src/components/button.css +++ b/packages/ui/src/components/button.css @@ -46,7 +46,7 @@ &:hover:not(:disabled) { background-color: var(--surface-raised-base-hover); } - &:focus:not(:disabled) { + &:focus-visible:not(:disabled) { background-color: var(--surface-raised-base-hover); } &:active:not(:disabled) { diff --git a/packages/ui/src/components/icon-button.css b/packages/ui/src/components/icon-button.css index 7d5d3280f..aa550e990 100644 --- a/packages/ui/src/components/icon-button.css +++ b/packages/ui/src/components/icon-button.css @@ -90,8 +90,8 @@ /* color: var(--icon-hover); */ /* } */ } - &:focus:not(:disabled) { - background-color: var(--surface-focus); + &:focus-visible:not(:disabled) { + background-color: var(--surface-raised-base-hover); } &:active:not(:disabled) { background-color: var(--surface-raised-base-active); diff --git a/packages/ui/src/components/list.css b/packages/ui/src/components/list.css index 03166285b..154102ca3 100644 --- a/packages/ui/src/components/list.css +++ b/packages/ui/src/components/list.css @@ -40,7 +40,7 @@ transition: opacity 0.15s ease; &:hover:not(:disabled), - &:focus:not(:disabled), + &:focus-visible:not(:disabled), &:active:not(:disabled) { background-color: transparent; opacity: 0.7; @@ -91,7 +91,7 @@ transition: opacity 0.15s ease; &:hover:not(:disabled), - &:focus:not(:disabled), + &:focus-visible:not(:disabled), &:active:not(:disabled) { background-color: transparent; opacity: 0.7; diff --git a/packages/ui/src/components/select.css b/packages/ui/src/components/select.css index 3e175855b..25dd2eb40 100644 --- a/packages/ui/src/components/select.css +++ b/packages/ui/src/components/select.css @@ -31,7 +31,7 @@ } } - &:not([data-expanded]):focus { + &:not([data-expanded]):focus-visible { &[data-variant="secondary"] { background-color: var(--button-secondary-base); } |
