I have a react component with a text field and a button. I want them to appear green on a black background, and I'm not able to change the default colors of all elements. Based on this question : How to change outline color of Material UI React input component? ; I was able to change outline, and label color. But I don't find any way to change also the color of the text entered by the user. I suppose I must overrides another property, but I didn't find which one.
Thanks in advance for helping me.
Regards
code App.js :
import TestComponent from './TestComponent.js'
import {ThemeProvider } from '@material-ui/core/styles';
import theme from './Theme.js'
function App() {
return (
<ThemeProvider theme={theme}>
<div>
<TestComponent/>
</div>
</ThemeProvider>
);
}
export default App;
code from Theme.js
const Theme = createMuiTheme({
palette: {
primary: {
main: '#2EFF22',
},
secondary: { main: '#22BF19' },
grey: { main: '#22BF19' }
},
overrides: {
MuiOutlinedInput: {
root: {
position: 'relative',
'& $notchedOutline': {
borderColor: '#2EFF22',
},
'&:hover:not($disabled):not($focused):not($error) $notchedOutline': {
borderColor: '#2EFF22',
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
borderColor: '#2EFF22',
},
},
'&$focused $notchedOutline': {
borderColor: '#2EFF22',
borderWidth: 1,
},
},
},
MuiFormLabel: {
root: {
'&$focused': {
color: '#2EFF22'
}
}
}
}
})
export default Theme
code from TestComponent
import Button from '@material-ui/core/Button';
import TextField from '@material-ui/core/TextField';
class TestComponent extends Component {
constructor(props) {
super(props)
}
render () {
return (
<div style={{ display: 'flex', flexDirection: 'column', backgroundColor:'black' }}>
<TextField id="Password" variant="outlined" required label="Password" style={{width:'150px', margin:'20px'}}/>
<Button style={{width:'150px', margin:'20px'}} color="primary" variant="contained" onClick={() => console.log('OK')}>
OK
</Button>
</div>
);
}
}
export default TestComponent