Skip to content

refactor(checkbox): improve MD3 behavior and simplify selection API #4937

@ruben-rebelo

Description

@ruben-rebelo

Refactor CheckBox 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 MD3 state layer implementation
  • Standardize indeterminate state handling
  • Improve accessibility semantics
  • Reduce internal animation complexity
  • Simplify selection logic

Proposed API Direction
<Checkbox status="checked" onPress={...} />

Performance Opportunities

  • Reduce animated state churn
  • Avoid unnecessary rerenders
  • Improve touch handling efficiency

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