import animate from './css-animation' const noop = () => {} const getTransitionProps = (transitionName, opt = {}) => { const { beforeEnter, enter, afterEnter, 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) }), afterEnter: afterEnter || noop, leave: leave || ((el, done) => { animate(el, `${transitionName}-leave`, done) }), afterLeave: afterLeave || noop, }, } // transition-group if (tag) { transitionProps.tag = tag } return transitionProps } export default getTransitionProps