Skip to content

Conversation

twjeffery
Copy link
Collaborator

@twjeffery twjeffery commented Oct 9, 2025

Summary

Adds V2 design tokens for the Tabs component, introducing new tokens for
state-based colors, responsive indicators, and refined typography while
updating spacing for improved visual hierarchy.

Changes

Updated Component Tokens

Tabs Component (18 tokens total: 8 new, 10 updated)

New Color Tokens

  • tab-color-text-hover - Text color on hover state
    (color.text.default)
  • tab-color-text-not-selected - Inactive tab text color
    (color.greyscale.600)
  • tab-color-bg-hover-small-screen - Mobile hover background
    (color.greyscale.50)
  • tab-indicator-color-active - Active tab indicator color
    (color.interactive.default)
  • tab-indicator-color-hover - Hover tab indicator color
    (color.greyscale.300)

New Indicator & Layout Tokens

  • tab-indicator-width - 3px indicator height/width (borderWidth.xl)
  • tab-border-radius-desktop - Rounded top corners for desktop indicator
    (6px 6px 0px 0px)
  • tab-border-radius-mobile - Rounded right corners for mobile indicator
    (0px 6px 6px 0px)
  • tabs-padding-bottom-mobile - Mobile container bottom padding
    (space.m)

Updated Color Tokens

  • tab-color-text-selected - Active tab text remains blue
    (color.interactive.default)
  • tab-color-bg-selected-small-screen - Updated to color.info.light
    (was color.info.background)

Updated Typography Tokens (Changed from references to composite
tokens)

  • tab-typography - Medium weight, 16px/22px, -0.5px letter spacing (for
    inactive tabs)
  • tab-typography-selected - Semibold weight, 16px/22px, -0.5px letter
    spacing (for active tabs)

Updated Spacing Tokens

  • tab-padding - Desktop padding updated to 8px 4px 9px 4px
    (accommodates 3px indicator + visual spacing)
  • tab-padding-mobile - Mobile padding updated to 4px 12px 4px 15px
    (accommodates left indicator)
  • tabs-gap - Gap between tabs reduced from space.xl (32px) to
    space.m (16px)

Updated Border Tokens

  • tab-border-focus - Focus border width increased to borderWidth.xl
    (4px, was borderWidth.l at 3px)
  • tabs-bottom-border - Container border color lightened to
    greyscale.150 (was greyscale.200)

Related

@twjeffery twjeffery linked an issue Oct 9, 2025 that may be closed by this pull request
@twjeffery twjeffery marked this pull request as ready for review October 10, 2025 00:07
@twjeffery twjeffery requested a review from bdfranck October 10, 2025 00:07
Copy link
Collaborator

@bdfranck bdfranck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Just a couple minor name comments.

"type": "sizing",
"description": "Width of the active/hover indicator line (desktop bottom bar, mobile left bar)"
},
"tab-border-radius-desktop": {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could be helpful to rename these to tab-indicator-border-radius- for clarity.

"value": "{borderRadius.s} {borderRadius.s} 0px 0px",
"type": "other"
},
"tab-border-radius-mobile": {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is -mobile the same as -small-screen? If so, we should make them all the same to be consistent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tabs 2.0 Update

2 participants