Skip to content

refactor(radio-button): modernize selection model and improve MD3 compliance #4938

@ruben-rebelo

Description

@ruben-rebelo

Refactor RadioButton to improve Material Design 3 compliance, remove problematic children patterns, improve performance characteristics, and modernize the public API.

Problems

  • Current API relies heavily on children composition in ways that are difficult to optimize
  • Internal layout logic is tightly coupled to arbitrary child structures
  • MD3 behaviors and visuals are not fully aligned with current Material guidelines
  • Rendering performance can degrade in large lists or frequently updated screens
  • Type safety and discoverability of the API can be improved
  • The component has inconsistent behavior between platforms and edge cases

Focus Areas

  • Improve RadioButton.Group architecture
  • Improve accessibility semantics
  • Improve spacing and density consistency
  • Simplify internal selection propagation

Proposed API Direction

<RadioButton.Group value={value} onValueChange={setValue} />

Performance Opportunities

  • Reduce context-driven rerenders
  • Improve group memoization
  • Simplify animation paths

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions