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:
<Surface container="surfaceContainerLow" elevation={2} />
Is your feature request related to a problem? Please describe.
Surfacederives its background color directly from the numericelevationprop (theme.colors.elevation.levelN), including inmode="flat"and during animated elevation changes. A component cannot express "this container issurfaceContainerLow, and elevation only controls the shadow". The only escape hatch is passing a raw color viabackgroundColor, 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 withsurfaceContainer), each one has to invent its own workaround.Describe the solution you'd like
A
containerprop onSurfaceaccepting a semantic surface-family color role (surface,surfaceDim,surfaceBright,surfaceVariant,surfaceContainerLowest–surfaceContainerHighest,inverseSurface), resolved from the theme: