Skip to content

Conversation

@twjeffery
Copy link
Collaborator

Summary

Updates the Icon Button component to integrate V2 design tokens, achieving V2 styling through token-driven architecture while maintaining full backwards compatibility with V1. This is a Token-Only update with minor code cleanup.

Changes

Token Integration

Updated Token References:

  • Integrated new size-specific padding tokens (small-padding, medium-padding, large-padding)
  • Added fallback chains for V1 compatibility
  • Integrated focus state tokens that reference Input component for system-wide consistency

No New Props:

  • Token-Only classification means no version prop needed
  • V1 and V2 differentiated entirely through token packages

V2 Styling Updates

Spacing:

  • Small buttons: 4px padding (unchanged)
  • Medium buttons: 8px padding (increased from 4px for better clickability)
  • Large buttons: 12px padding (increased from 8px for better hierarchy)

Colors:

  • Light variant hover: Lighter grey background (greyscale.600 vs greyscale.700)
  • Disabled states: Consistent greyscale.500 across all variants

Focus State:

  • Focus tokens now reference Input component ({input.borderWidth.focus}, {input.color.border.focus})
  • Maintains box-shadow focus treatment (border-based focus deferred to future update)
  • System-wide consistency: changing Input focus automatically updates Icon Button

Related

@twjeffery twjeffery linked an issue Oct 21, 2025 that may be closed by this pull request
8 tasks
@twjeffery twjeffery marked this pull request as ready for review October 21, 2025 21:14
@twjeffery twjeffery requested a review from bdfranck November 4, 2025 21:31
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.

Icon Button 2.0 Update

2 participants