Skip to content

refactor(snackbar): modernize layout and action API #4932

@ruben-rebelo

Description

@ruben-rebelo

Refactor SnackBar 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 action rendering model
  • Improve responsiveness and multiline behavior
  • Improve MD3 tonal surface handling
  • Improve animation consistency

Proposed API Direction

<Snackbar visible message="Changes saved" action={{ label: 'Undo', onPress }} />

Performance Opportunities

  • Reduce animated subtree complexity
  • Improve portal rendering behavior
  • Reduce unnecessary visibility transitions

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions