amis-rpc-design/node_modules/antd/es/upload/style/motion.js
2023-10-07 19:42:30 +08:00

45 lines
1.2 KiB
JavaScript

import { Keyframes } from '@ant-design/cssinjs';
import { initFadeMotion } from '../../style/motion';
const uploadAnimateInlineIn = new Keyframes('uploadAnimateInlineIn', {
from: {
width: 0,
height: 0,
margin: 0,
padding: 0,
opacity: 0
}
});
const uploadAnimateInlineOut = new Keyframes('uploadAnimateInlineOut', {
to: {
width: 0,
height: 0,
margin: 0,
padding: 0,
opacity: 0
}
});
// =========================== Motion ===========================
const genMotionStyle = token => {
const {
componentCls
} = token;
const inlineCls = `${componentCls}-animate-inline`;
return [{
[`${componentCls}-wrapper`]: {
[`${inlineCls}-appear, ${inlineCls}-enter, ${inlineCls}-leave`]: {
animationDuration: token.motionDurationSlow,
animationTimingFunction: token.motionEaseInOutCirc,
animationFillMode: 'forwards'
},
[`${inlineCls}-appear, ${inlineCls}-enter`]: {
animationName: uploadAnimateInlineIn
},
[`${inlineCls}-leave`]: {
animationName: uploadAnimateInlineOut
}
}
}, {
[`${componentCls}-wrapper`]: initFadeMotion(token)
}, uploadAnimateInlineIn, uploadAnimateInlineOut];
};
export default genMotionStyle;