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