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;