callstack / callstack/react-native-paper
refactor(list-item): improve layout system and remove implicit child composition
- Dominant language
- TypeScript
- Stars
- 14.5k
- Forks
- 2.2k
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 12
Description
Refactor ListItem 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**
- Replace arbitrary child composition with explicit slots
- Improve left/right accessory APIs
- Standardize spacing and density
- Improve multiline layout behavior
- Improve virtualization friendliness
**Proposed API Direction**
Instead of:
`
`
Prefer:
``
**Performance Opportunities**
- Improve rendering in FlatList usage
- Memoize accessories
- Reduce layout passes
- Avoid child traversal
Contributor guide
Assessment
This issue has not been assessed yet.