UNPKG

react-garden

Version:

React + TypeScript + ThreeJS app using Material UI on NextJS, Apollo Client, GraphQL + WordPress REST APIs, for ThreeD web development.. a part of the threed.ai code family.

68 lines (57 loc) 1.71 kB
// ** React Imports import { Fragment, useState } from 'react' // ** MUI Imports import Button from '@mui/material/Button' import Snackbar from '@mui/material/Snackbar' import Slide from '@mui/material/Slide' const TransitionLeft = props => { return <Slide {...props} direction='left' /> } const TransitionUp = props => { return <Slide {...props} direction='up' /> } const TransitionRight = props => { return <Slide {...props} direction='right' /> } const TransitionDown = props => { return <Slide {...props} direction='down' /> } const SnackbarControlSlideDirection = () => { // ** States const [open, setOpen] = useState(false) const [transition, setTransition] = useState(undefined) const handleClick = Transition => () => { setTransition(() => Transition) setOpen(true) } const handleClose = () => { setOpen(false) } return ( <> <div className='demo-space-x'> <Button variant='outlined' onClick={handleClick(TransitionLeft)}> Right </Button> <Button variant='outlined' onClick={handleClick(TransitionUp)}> Up </Button> <Button variant='outlined' onClick={handleClick(TransitionRight)}> Left </Button> <Button variant='outlined' onClick={handleClick(TransitionDown)}> Down </Button> </div> <Snackbar open={open} onClose={handleClose} message='I love snacks' autoHideDuration={3000} TransitionComponent={transition} key={transition ? transition.name : ''} /> </> ) } export default SnackbarControlSlideDirection