UNPKG

materialuiupgraded

Version:

Material-UI's workspace package

74 lines (65 loc) 1.87 kB
import React from 'react'; import PropTypes from 'prop-types'; import { withStyles } from '@material-ui/core/styles'; import Button from '@material-ui/core/Button'; import Snackbar from '@material-ui/core/Snackbar'; import IconButton from '@material-ui/core/IconButton'; import CloseIcon from '@material-ui/icons/Close'; const styles = theme => ({ close: { padding: theme.spacing.unit / 2, }, }); class SimpleSnackbar extends React.Component { state = { open: false, }; handleClick = () => { this.setState({ open: true }); }; handleClose = (event, reason) => { if (reason === 'clickaway') { return; } this.setState({ open: false }); }; render() { const { classes } = this.props; return ( <div> <Button onClick={this.handleClick}>Open simple snackbar</Button> <Snackbar anchorOrigin={{ vertical: 'bottom', horizontal: 'left', }} open={this.state.open} autoHideDuration={6000} onClose={this.handleClose} ContentProps={{ 'aria-describedby': 'message-id', }} message={<span id="message-id">Note archived</span>} action={[ <Button key="undo" color="secondary" size="small" onClick={this.handleClose}> UNDO </Button>, <IconButton key="close" aria-label="Close" color="inherit" className={classes.close} onClick={this.handleClose} > <CloseIcon /> </IconButton>, ]} /> </div> ); } } SimpleSnackbar.propTypes = { classes: PropTypes.object.isRequired, }; export default withStyles(styles)(SimpleSnackbar);