UNPKG

@activelylearn/material-ui

Version:

Material-UI's workspace package

75 lines (67 loc) 1.84 kB
import React from 'react'; import PropTypes from 'prop-types'; import { withStyles } from '@material-ui/core/styles'; import Switch from '@material-ui/core/Switch'; import Paper from '@material-ui/core/Paper'; import Grow from '@material-ui/core/Grow'; const styles = theme => ({ root: { height: 180, }, container: { display: 'flex', }, paper: { margin: theme.spacing.unit, }, svg: { width: 100, height: 100, }, polygon: { fill: theme.palette.common.white, stroke: theme.palette.divider, strokeWidth: 1, }, }); class SimpleGrow extends React.Component { state = { checked: false, }; handleChange = () => { this.setState({ checked: !this.state.checked }); }; render() { const { classes } = this.props; const { checked } = this.state; return ( <div className={classes.root}> <Switch checked={checked} onChange={this.handleChange} aria-label="collapse" /> <div className={classes.container}> <Grow in={checked}> <Paper elevation={4} className={classes.paper}> <svg className={classes.svg}> <polygon points="0,100 50,00, 100,100" className={classes.polygon} /> </svg> </Paper> </Grow> <Grow in={checked} style={{ transformOrigin: '0 0 0' }} {...(checked ? { timeout: 1000 } : {})} > <Paper elevation={4} className={classes.paper}> <svg className={classes.svg}> <polygon points="0,100 50,00, 100,100" className={classes.polygon} /> </svg> </Paper> </Grow> </div> </div> ); } } SimpleGrow.propTypes = { classes: PropTypes.object.isRequired, }; export default withStyles(styles)(SimpleGrow);