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;
 | |
|   }
 | |
| }
 |