Sam Zuk
Sam Zuk

Reputation: 389

Is there a way to increase the border thickness of outlined buttons in material-ui?

I am making changes to a user interface designed with Material-UI components and I have been requested to make the borders of some outlined buttons wider. Is there a way I can accomplish this using component props, themes, or styles?

This is the code for the two buttons I'm trying to draw along with the style and theme I'm currently using:

const style = {
  play: {
    margin: 5,
    padding: 0,
    colorInherit: 'linear-gradient(45deg, #38e438 30%, #58e458 90%)',
  },
  play_disabled: {
    margin: 5,
    padding: 0,
    background: '#222',
  },
  clear: {
    margin: 5,
    marginRight: 10,
    padding: 0,
    background: 'linear-gradient(45deg, #FE3B3B 30%, #FF3B3B 90%)',
   },
  clear_disabled: {
    margin: 5,
    marginRight: 10,
    padding: 0,
    background: '#222',
  },
  default: {
    margin: 2,
    padding: 0,
    color: '#fff',
  },
  disabled: {
    margin: 2,  
    padding: 0,
    color: '#777',
  },
};
const theme = createMuiTheme({
  palette: {
    primary: {
      main: "#777",
    }
  }
});
<MuiThemeProvider theme={theme}>
  <Tooltip title="Render" placement="bottom-start">
    <Button
      id="play-btn"
      variant="outlined"
      size="small"
      onClick={this.handleRender}
      color="primary"
      className="header-btn"
      style={this.props.layoutType === layoutTypes.REFERENCE ? style.play_disabled : style.play}
      disabled={this.props.layoutType === layoutTypes.REFERENCE}>
      <Icon className="material-icons" style={{ color: '#777' }}>play_arrow</Icon>
    </Button>
  </Tooltip>
  <Tooltip title="Stop" placement="bottom-start">
    <Button
      id="stop-btn"
      variant="outlined"
      size="small"
      onClick={this.clear}
      color="primary"
      className="header-btn"
      style={this.props.layoutType === layoutTypes.REFERENCE ? style.clear_disabled : style.clear}
      disabled={this.props.layoutType === layoutTypes.REFERENCE}>
      <Icon className="material-icons" style={{ color: '#777' }}>stop</Icon>
    </Button>
  </Tooltip>
</MuiThemeProvider>

This is how it looks as of right now: https://i.sstatic.net/PnuAD.jpg. I just want the border to be a tad thicker, and I'd appreciate the help. Thanks!

Upvotes: 10

Views: 16164

Answers (1)

Dennis Vash
Dennis Vash

Reputation: 53944

Try: style={{ border: '2px solid' }} or throught makeStyles


const useStyles = makeStyles(theme => ({
  button: {
    margin: theme.spacing(1),
    border: '2px solid'
  }
}));

function ThickerButton() {
  return (
    <>
      <Button
        variant="outlined"
        color="primary"
        style={{ border: '2px solid' }}
      >
        style
      </Button>
      <Button className={useStyles().button} variant="outlined" color="primary">
        makeStyles
      </Button>
    </>
  );
}

enter image description here

Demo:

Edit objective-wu-xvtxl

Upvotes: 12

Related Questions