ant-design-vue/components/_util/getTransitionProps.js

30 lines
759 B
JavaScript

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