Skip to content

Commit

Permalink
[material-ui][AppBar] Fix inherit color is inconsistent between Theme…
Browse files Browse the repository at this point in the history
…Provider and CssVarsProvider (mui#42714)
  • Loading branch information
ZeeshanTamboli authored and joserodolfofreitas committed Jul 29, 2024
1 parent a823297 commit 913c2f6
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 2 deletions.
6 changes: 4 additions & 2 deletions packages/mui-material/src/AppBar/AppBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,16 @@ const AppBarRoot = styled(Paper, {
},
})),
{
props: { enableColorOnDark: true },
props: (props) =>
props.enableColorOnDark === true && !['inherit', 'transparent'].includes(props.color),
style: {
backgroundColor: 'var(--AppBar-background)',
color: 'var(--AppBar-color)',
},
},
{
props: { enableColorOnDark: false },
props: (props) =>
props.enableColorOnDark === false && !['inherit', 'transparent'].includes(props.color),
style: {
backgroundColor: 'var(--AppBar-background)',
color: 'var(--AppBar-color)',
Expand Down
40 changes: 40 additions & 0 deletions packages/mui-material/src/AppBar/AppBar.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ 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, CssVarsProvider, hexToRgb } from '@mui/material/styles';
import defaultTheme from '../styles/defaultTheme';
import describeConformance from '../../test/describeConformance';

describe('<AppBar />', () => {
Expand Down Expand Up @@ -62,4 +64,42 @@ describe('<AppBar />', () => {
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(
<ThemeProvider theme={defaultTheme}>
<AppBar data-testid="root" color="inherit">
Hello World
</AppBar>
</ThemeProvider>,
);

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(
<CssVarsProvider>
<AppBar data-testid="root" color="inherit">
Hello World
</AppBar>
</CssVarsProvider>,
);

const appBar = screen.getByTestId('root');
expect(appBar).toHaveComputedStyle({
backgroundColor: hexToRgb(defaultTheme.palette.background.paper),
});
});
});

0 comments on commit 913c2f6

Please sign in to comment.