ant-design-vue/components/style/mixins/motion.less

45 lines
1.2 KiB
Plaintext

@import '../themes/default';
.motion-common(@duration: @animation-duration-base) {
animation-duration: @duration;
animation-fill-mode: both;
}
.motion-common-leave(@duration: @animation-duration-base) {
animation-duration: @duration;
animation-fill-mode: both;
}
.make-motion(@className, @keyframeName, @duration: @animation-duration-base) {
.@{className}-enter,
.@{className}-appear {
.motion-common(@duration);
animation-play-state: paused;
}
.@{className}-leave {
.motion-common-leave(@duration);
animation-play-state: paused;
}
.@{className}-enter-active,
.@{className}-appear-active {
animation-name: ~"@{keyframeName}In";
animation-play-state: running;
.motion-common(@duration);
}
.@{className}-enter.@{className}-enter-active,
.@{className}-appear.@{className}-appear-active {
animation-name: ~"@{keyframeName}In";
animation-play-state: running;
}
.@{className}-leave-active {
animation-name: ~"@{keyframeName}Out";
animation-play-state: running;
.motion-common(@duration);
}
.@{className}-leave.@{className}-leave-active {
animation-name: ~"@{keyframeName}Out";
animation-play-state: running;
pointer-events: none;
}
}