diff --git a/packages/mui-material/src/AppBar/AppBar.js b/packages/mui-material/src/AppBar/AppBar.js index 586e79fa232bde..60f1bd0342c9c2 100644 --- a/packages/mui-material/src/AppBar/AppBar.js +++ b/packages/mui-material/src/AppBar/AppBar.js @@ -126,7 +126,9 @@ const AppBarRoot = styled(Paper, { theme.vars.palette[ownerState.color].contrastText, ), }), - backgroundColor: 'var(--AppBar-background)', + ...(!['inherit', 'transparent'].includes(ownerState.color) && { + backgroundColor: 'var(--AppBar-background)', + }), color: ownerState.color === 'inherit' ? 'inherit' : 'var(--AppBar-color)', ...(ownerState.color === 'transparent' && { backgroundImage: 'none', diff --git a/packages/mui-material/src/AppBar/AppBar.test.js b/packages/mui-material/src/AppBar/AppBar.test.js index 2f21d3626e6ae8..a990d3a894c2fd 100644 --- a/packages/mui-material/src/AppBar/AppBar.test.js +++ b/packages/mui-material/src/AppBar/AppBar.test.js @@ -3,6 +3,12 @@ import { expect } from 'chai'; import { createRenderer, screen } from '@mui-internal/test-utils'; import AppBar, { appBarClasses as classes } from '@mui/material/AppBar'; import Paper from '@mui/material/Paper'; +import { + ThemeProvider, + Experimental_CssVarsProvider as CssVarsProvider, + hexToRgb, +} from '@mui/material/styles'; +import defaultTheme from '../styles/defaultTheme'; import describeConformance from '../../test/describeConformance'; describe('', () => { @@ -62,4 +68,42 @@ describe('', () => { expect(appBar).to.have.class('mui-fixed'); }); }); + + it('should inherit Paper background color with ThemeProvider', function test() { + if (/jsdom/.test(window.navigator.userAgent)) { + this.skip(); + } + + render( + + + Hello World + + , + ); + + const appBar = screen.getByTestId('root'); + expect(appBar).toHaveComputedStyle({ + backgroundColor: hexToRgb(defaultTheme.palette.background.paper), + }); + }); + + it('should inherit Paper background color with CssVarsProvider', function test() { + if (/jsdom/.test(window.navigator.userAgent)) { + this.skip(); + } + + render( + + + Hello World + + , + ); + + const appBar = screen.getByTestId('root'); + expect(appBar).toHaveComputedStyle({ + backgroundColor: hexToRgb(defaultTheme.palette.background.paper), + }); + }); });