callstack / callstack/react-native-paper
refactor(card): modernize composition model and improve MD3 behavior
- Dominant language
- TypeScript
- Stars
- 14.5k
- Forks
- 2.2k
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 12
Description
Refactor Card 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**
- Reduce dependence on deeply nested children
- Improve Card.Content / Card.Actions architecture
- Improve elevation and surface behavior
- Improve shape and outlined variants
- Simplify internal spacing rules
**Proposed API Direction**
Introduce clearer slot-based APIs:
`Content}
actions={[...]}
/>`
**Performance Opportunities**
- Reduce nested wrappers
- Optimize pressable behavior
- Avoid unnecessary subtree re-renders
- Improve memoization boundaries
Contributor guide
Assessment
This issue has not been assessed yet.