mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-27 12:39:49 +08:00
200 lines
4.1 KiB
Plaintext
200 lines
4.1 KiB
Plaintext
@import '../../style/themes/index';
|
|
@import '../../style/mixins/index';
|
|
|
|
@notification-prefix-cls: ~'@{ant-prefix}-notification';
|
|
@notification-width: 384px;
|
|
@notification-padding-vertical: 16px;
|
|
@notification-padding-horizontal: 24px;
|
|
@notification-padding: @notification-padding-vertical @notification-padding-horizontal;
|
|
@notification-margin-bottom: 16px;
|
|
|
|
.@{notification-prefix-cls} {
|
|
.reset-component;
|
|
|
|
position: fixed;
|
|
z-index: @zindex-notification;
|
|
width: @notification-width;
|
|
max-width: ~'calc(100vw - 32px)';
|
|
margin-right: 24px;
|
|
|
|
&-topLeft,
|
|
&-bottomLeft {
|
|
margin-right: 0;
|
|
margin-left: 24px;
|
|
|
|
.@{notification-prefix-cls}-fade-enter.@{notification-prefix-cls}-fade-enter-active,
|
|
.@{notification-prefix-cls}-fade-appear.@{notification-prefix-cls}-fade-appear-active {
|
|
animation-name: NotificationLeftFadeIn;
|
|
}
|
|
}
|
|
|
|
&-close-icon {
|
|
font-size: @font-size-base;
|
|
cursor: pointer;
|
|
}
|
|
|
|
&-notice {
|
|
position: relative;
|
|
margin-bottom: @notification-margin-bottom;
|
|
padding: @notification-padding;
|
|
overflow: hidden;
|
|
line-height: 1.5;
|
|
background: @component-background;
|
|
border-radius: @border-radius-base;
|
|
box-shadow: @shadow-2;
|
|
|
|
&-message {
|
|
display: inline-block;
|
|
margin-bottom: 8px;
|
|
color: @heading-color;
|
|
font-size: @font-size-lg;
|
|
line-height: 24px;
|
|
|
|
// https://github.com/ant-design/ant-design/issues/5846#issuecomment-296244140
|
|
&-single-line-auto-margin {
|
|
display: block;
|
|
width: ~'calc(@{notification-width} - @{notification-padding-horizontal} * 2 - 24px - 48px - 100%)';
|
|
max-width: 4px;
|
|
background-color: transparent;
|
|
pointer-events: none;
|
|
&::before {
|
|
display: block;
|
|
content: '';
|
|
}
|
|
}
|
|
}
|
|
|
|
&-description {
|
|
font-size: @font-size-base;
|
|
}
|
|
|
|
&-closable &-message {
|
|
padding-right: 24px;
|
|
}
|
|
|
|
&-with-icon &-message {
|
|
margin-bottom: 4px;
|
|
margin-left: 48px;
|
|
font-size: @font-size-lg;
|
|
}
|
|
|
|
&-with-icon &-description {
|
|
margin-left: 48px;
|
|
font-size: @font-size-base;
|
|
}
|
|
|
|
// Icon & color style in different selector level
|
|
// https://github.com/ant-design/ant-design/issues/16503
|
|
// https://github.com/ant-design/ant-design/issues/15512
|
|
&-icon {
|
|
position: absolute;
|
|
margin-left: 4px;
|
|
font-size: 24px;
|
|
line-height: 24px;
|
|
}
|
|
|
|
.@{iconfont-css-prefix}&-icon {
|
|
&-success {
|
|
color: @success-color;
|
|
}
|
|
&-info {
|
|
color: @info-color;
|
|
}
|
|
&-warning {
|
|
color: @warning-color;
|
|
}
|
|
&-error {
|
|
color: @error-color;
|
|
}
|
|
}
|
|
|
|
&-close {
|
|
position: absolute;
|
|
top: 16px;
|
|
right: 22px;
|
|
color: @text-color-secondary;
|
|
outline: none;
|
|
|
|
&:hover {
|
|
color: shade(@text-color-secondary, 40%);
|
|
}
|
|
}
|
|
|
|
&-btn {
|
|
float: right;
|
|
margin-top: 16px;
|
|
}
|
|
}
|
|
|
|
.notification-fade-effect {
|
|
animation-duration: 0.24s;
|
|
animation-timing-function: @ease-in-out;
|
|
animation-fill-mode: both;
|
|
}
|
|
|
|
&-fade-enter,
|
|
&-fade-appear {
|
|
opacity: 0;
|
|
.notification-fade-effect();
|
|
|
|
animation-play-state: paused;
|
|
}
|
|
|
|
&-fade-leave {
|
|
.notification-fade-effect();
|
|
|
|
animation-duration: 0.2s;
|
|
animation-play-state: paused;
|
|
}
|
|
|
|
&-fade-enter&-fade-enter-active,
|
|
&-fade-appear&-fade-appear-active {
|
|
animation-name: NotificationFadeIn;
|
|
animation-play-state: running;
|
|
}
|
|
|
|
&-fade-leave&-fade-leave-active {
|
|
animation-name: NotificationFadeOut;
|
|
animation-play-state: running;
|
|
}
|
|
}
|
|
|
|
@keyframes NotificationFadeIn {
|
|
0% {
|
|
left: @notification-width;
|
|
opacity: 0;
|
|
}
|
|
100% {
|
|
left: 0;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes NotificationLeftFadeIn {
|
|
0% {
|
|
right: @notification-width;
|
|
opacity: 0;
|
|
}
|
|
100% {
|
|
right: 0;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes NotificationFadeOut {
|
|
0% {
|
|
max-height: 150px;
|
|
margin-bottom: @notification-margin-bottom;
|
|
padding-top: @notification-padding;
|
|
padding-bottom: @notification-padding;
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
max-height: 0;
|
|
margin-bottom: 0;
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
opacity: 0;
|
|
}
|
|
}
|