callstack / callstack/react-native-paper
Surface: first-class semantic container color API independent of elevation
- Vorherrschende Sprache
- TypeScript
- Sterne
- 14.5k
- Forks
- 2.2k
- Ø Merge
- 5 T. 23 Std.
- Gemergte PRs (30 T.)
- 12
Beschreibung
**Is your feature request related to a problem? Please describe.**
`Surface` derives its background color directly from the numeric `elevation` prop (`theme.colors.elevation.levelN`), including in `mode="flat"` and during animated elevation changes. A component cannot express "this container is `surfaceContainerLow`, and elevation only controls the shadow". The only escape hatch is passing a raw color via `backgroundColor`, which loses the semantic intent and doesn't track the theme role. As components are modernized to MD3 (e.g. Menu in #5037, which the spec fills with `surfaceContainer`), each one has to invent its own workaround.
**Describe the solution you'd like**
A `container` prop on `Surface` accepting a semantic surface-family color role (`surface`, `surfaceDim`, `surfaceBright`, `surfaceVariant`, `surfaceContainerLowest`–`surfaceContainerHighest`, `inverseSurface`), resolved from the theme:
```tsx
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.