Skip to content

Commit 6dc952f

Browse files
fix(tabs): improve focus ring and hover styling (#204)
1 parent 2352344 commit 6dc952f

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

.changeset/tabs-focus-ring.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"@cloudflare/kumo": patch
3+
---
4+
5+
fix(tabs): improve focus ring and hover styling
6+
7+
- Fixed focus ring to use proper `ring-kumo-ring` token instead of browser default blue
8+
- Segmented variant: inset focus ring to avoid overlap with adjacent tabs, hidden on active tab
9+
- Underline variant: added padding for better focus ring spacing around text
10+
- Added subtle hover states for both variants

packages/kumo/src/components/tabs/tabs.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,11 @@ export function Tabs({
168168
value={tab.value}
169169
render={tab.render}
170170
className={cn(
171-
"relative z-2 flex cursor-pointer items-center rounded bg-transparent text-base whitespace-nowrap hover:border-kumo-tint focus-visible:rounded-none focus-visible:ring-kumo-ring focus-visible:outline-offset-3",
171+
"relative z-2 flex cursor-pointer items-center rounded bg-transparent text-base whitespace-nowrap focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-kumo-ring",
172172
isSegmented &&
173-
"my-px rounded-lg px-2.5 text-kumo-strong aria-selected:text-kumo-default",
173+
"my-px rounded-lg px-2.5 text-kumo-strong hover:text-kumo-default aria-selected:text-kumo-default focus-visible:ring-inset",
174174
isUnderline &&
175-
"mb-2 text-kumo-strong hover:text-kumo-subtle aria-selected:font-medium aria-selected:text-kumo-default",
175+
"px-2 py-2.5 text-kumo-strong hover:bg-kumo-tint/50 hover:text-kumo-subtle aria-selected:hover:bg-transparent aria-selected:font-medium aria-selected:text-kumo-default",
176176
tab.className,
177177
)}
178178
>

0 commit comments

Comments
 (0)