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

68 lines
1.8 KiB
JavaScript

import { Keyframes } from '@ant-design/cssinjs';
const genNotificationPlacementStyle = token => {
const {
componentCls,
width,
notificationMarginEdge,
animationMaxHeight
} = token;
const notificationTopFadeIn = new Keyframes('antNotificationTopFadeIn', {
'0%': {
marginTop: '-100%',
opacity: 0
},
'100%': {
marginTop: 0,
opacity: 1
}
});
const notificationBottomFadeIn = new Keyframes('antNotificationBottomFadeIn', {
'0%': {
bottom: -animationMaxHeight,
opacity: 0
},
'100%': {
bottom: 0,
opacity: 1
}
});
const notificationLeftFadeIn = new Keyframes('antNotificationLeftFadeIn', {
'0%': {
right: {
_skip_check_: true,
value: width
},
opacity: 0
},
'100%': {
right: {
_skip_check_: true,
value: 0
},
opacity: 1
}
});
return {
[`&${componentCls}-top, &${componentCls}-bottom`]: {
marginInline: 0
},
[`&${componentCls}-top`]: {
[`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {
animationName: notificationTopFadeIn
}
},
[`&${componentCls}-bottom`]: {
[`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {
animationName: notificationBottomFadeIn
}
},
[`&${componentCls}-topLeft, &${componentCls}-bottomLeft`]: {
marginInlineEnd: 0,
marginInlineStart: notificationMarginEdge,
[`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {
animationName: notificationLeftFadeIn
}
}
};
};
export default genNotificationPlacementStyle;