29 lines
		
	
	
		
			709 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			709 B
		
	
	
	
		
			JavaScript
		
	
	
| import animate from './css-animation'
 | |
| const noop = () => {}
 | |
| const getTransitionProps = (transitionName, opt = {}) => {
 | |
|   const { beforeEnter, enter, leave, afterLeave, appear = true, tag } = opt
 | |
|   const transitionProps = {
 | |
|     props: {
 | |
|       appear,
 | |
|       css: false,
 | |
|     },
 | |
|     on: {
 | |
|       beforeEnter: beforeEnter || noop,
 | |
|       enter: enter || ((el, done) => {
 | |
|         animate(el, `${transitionName}-enter`, done)
 | |
|       }),
 | |
|       leave: leave || ((el, done) => {
 | |
|         animate(el, `${transitionName}-leave`, done)
 | |
|       }),
 | |
|       afterLeave: afterLeave || noop,
 | |
|     },
 | |
|   }
 | |
|   // transition-group
 | |
|   if (tag) {
 | |
|     transitionProps.tag = tag
 | |
|   }
 | |
|   return transitionProps
 | |
| }
 | |
| 
 | |
| export default getTransitionProps
 |