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.

66 lines (57 loc) 1.52 kB
// ** React Imports import { Fragment, useState } from 'react' // ** MUI Imports import Button from '@mui/material/Button' import Snackbar from '@mui/material/Snackbar' import Grow from '@mui/material/Grow' import Fade from '@mui/material/Fade' import Slide from '@mui/material/Slide' const GrowTransition = props => { return <Grow {...props} /> } const SlideTransition = props => { return <Slide {...props} direction='up' /> } const SnackbarTransition = () => { // ** State const [state, setState] = useState({ open: false, Transition: Fade }) const handleClick = Transition => () => { setState({ open: true, Transition }) } const handleClose = () => { setState({ ...state, open: false }) } return ( <> <div className='demo-space-x'> <Button variant='outlined' onClick={handleClick(GrowTransition)}> Grow Transition </Button> <Button variant='outlined' onClick={handleClick(Fade)}> Fade Transition </Button> <Button variant='outlined' onClick={handleClick(SlideTransition)}> Slide Transition </Button> </div> <Snackbar open={state.open} onClose={handleClose} message='I love snacks' autoHideDuration={3000} key={state.Transition.name} TransitionComponent={state.Transition} /> </> ) } export default SnackbarTransition