Skip to content

refactor(segmented-buttons): improve state model and rendering performance #4936

@ruben-rebelo

Description

@ruben-rebelo

Refactor SegmentedButton 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 selection APIs
  • Improve density and layout handling
  • Improve MD3 shape and state layers
  • Simplify internal selection logic

Performance Opportunities

  • Improve rendering in dynamic lists
  • Memoize button state calculations
  • Reduce unnecessary prop spreading

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions