193 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
@import '../../style/themes/index';
 | 
						|
@import '../../style/mixins/index';
 | 
						|
 | 
						|
@badge-prefix-cls: ~'@{ant-prefix}-badge';
 | 
						|
@number-prefix-cls: ~'@{ant-prefix}-scroll-number';
 | 
						|
 | 
						|
.@{badge-prefix-cls} {
 | 
						|
  .reset-component();
 | 
						|
 | 
						|
  position: relative;
 | 
						|
  display: inline-block;
 | 
						|
  color: unset;
 | 
						|
  line-height: 1;
 | 
						|
 | 
						|
  &-count {
 | 
						|
    min-width: @badge-height;
 | 
						|
    height: @badge-height;
 | 
						|
    padding: 0 6px;
 | 
						|
    color: @badge-text-color;
 | 
						|
    font-weight: @badge-font-weight;
 | 
						|
    font-size: @badge-font-size;
 | 
						|
    line-height: @badge-height;
 | 
						|
    white-space: nowrap;
 | 
						|
    text-align: center;
 | 
						|
    background: @highlight-color;
 | 
						|
    border-radius: (@badge-height / 2);
 | 
						|
    box-shadow: 0 0 0 1px @shadow-color-inverse;
 | 
						|
    a,
 | 
						|
    a:hover {
 | 
						|
      color: @badge-text-color;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  &-multiple-words {
 | 
						|
    padding: 0 8px;
 | 
						|
  }
 | 
						|
 | 
						|
  &-dot {
 | 
						|
    width: @badge-dot-size;
 | 
						|
    height: @badge-dot-size;
 | 
						|
    background: @highlight-color;
 | 
						|
    border-radius: 100%;
 | 
						|
    box-shadow: 0 0 0 1px @shadow-color-inverse;
 | 
						|
  }
 | 
						|
 | 
						|
  &-count,
 | 
						|
  &-dot,
 | 
						|
  .@{number-prefix-cls}-custom-component {
 | 
						|
    position: absolute;
 | 
						|
    top: 0;
 | 
						|
    right: 0;
 | 
						|
    z-index: @zindex-badge;
 | 
						|
    transform: translate(50%, -50%);
 | 
						|
    transform-origin: 100% 0%;
 | 
						|
  }
 | 
						|
 | 
						|
  &-status {
 | 
						|
    line-height: inherit;
 | 
						|
    vertical-align: baseline;
 | 
						|
 | 
						|
    &-dot {
 | 
						|
      position: relative;
 | 
						|
      top: -1px;
 | 
						|
      display: inline-block;
 | 
						|
      width: @badge-status-size;
 | 
						|
      height: @badge-status-size;
 | 
						|
      vertical-align: middle;
 | 
						|
      border-radius: 50%;
 | 
						|
    }
 | 
						|
    &-success {
 | 
						|
      background-color: @success-color;
 | 
						|
    }
 | 
						|
    &-processing {
 | 
						|
      position: relative;
 | 
						|
      background-color: @processing-color;
 | 
						|
      &::after {
 | 
						|
        position: absolute;
 | 
						|
        top: 0;
 | 
						|
        left: 0;
 | 
						|
        width: 100%;
 | 
						|
        height: 100%;
 | 
						|
        border: 1px solid @processing-color;
 | 
						|
        border-radius: 50%;
 | 
						|
        animation: antStatusProcessing 1.2s infinite ease-in-out;
 | 
						|
        content: '';
 | 
						|
      }
 | 
						|
    }
 | 
						|
    &-default {
 | 
						|
      background-color: @normal-color;
 | 
						|
    }
 | 
						|
    &-error {
 | 
						|
      background-color: @error-color;
 | 
						|
    }
 | 
						|
    &-warning {
 | 
						|
      background-color: @warning-color;
 | 
						|
    }
 | 
						|
 | 
						|
    // mixin to iterate over colors and create CSS class for each one
 | 
						|
    .make-color-classes(@i: length(@preset-colors)) when (@i > 0) {
 | 
						|
      .make-color-classes(@i - 1);
 | 
						|
      @color: extract(@preset-colors, @i);
 | 
						|
      @darkColor: '@{color}-6';
 | 
						|
      &-@{color} {
 | 
						|
        background: @@darkColor;
 | 
						|
      }
 | 
						|
    }
 | 
						|
    .make-color-classes();
 | 
						|
 | 
						|
    &-text {
 | 
						|
      margin-left: 8px;
 | 
						|
      color: @text-color;
 | 
						|
      font-size: @font-size-base;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  &-zoom-appear,
 | 
						|
  &-zoom-enter {
 | 
						|
    animation: antZoomBadgeIn 0.3s @ease-out-back;
 | 
						|
    animation-fill-mode: both;
 | 
						|
  }
 | 
						|
 | 
						|
  &-zoom-leave {
 | 
						|
    animation: antZoomBadgeOut 0.3s @ease-in-back;
 | 
						|
    animation-fill-mode: both;
 | 
						|
  }
 | 
						|
 | 
						|
  &-not-a-wrapper {
 | 
						|
    &:not(.@{badge-prefix-cls}-status) {
 | 
						|
      vertical-align: middle;
 | 
						|
    }
 | 
						|
 | 
						|
    .@{ant-prefix}-scroll-number {
 | 
						|
      position: relative;
 | 
						|
      top: auto;
 | 
						|
      display: block;
 | 
						|
    }
 | 
						|
 | 
						|
    .@{badge-prefix-cls}-count {
 | 
						|
      transform: none;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
@keyframes antStatusProcessing {
 | 
						|
  0% {
 | 
						|
    transform: scale(0.8);
 | 
						|
    opacity: 0.5;
 | 
						|
  }
 | 
						|
  100% {
 | 
						|
    transform: scale(2.4);
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.@{number-prefix-cls} {
 | 
						|
  overflow: hidden;
 | 
						|
  &-only {
 | 
						|
    display: inline-block;
 | 
						|
    height: @badge-height;
 | 
						|
    transition: all 0.3s @ease-in-out;
 | 
						|
    > p.@{number-prefix-cls}-only-unit {
 | 
						|
      height: @badge-height;
 | 
						|
      margin: 0;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  &-symbol {
 | 
						|
    vertical-align: top;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
@keyframes antZoomBadgeIn {
 | 
						|
  0% {
 | 
						|
    transform: scale(0) translate(50%, -50%);
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
  100% {
 | 
						|
    transform: scale(1) translate(50%, -50%);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
@keyframes antZoomBadgeOut {
 | 
						|
  0% {
 | 
						|
    transform: scale(1) translate(50%, -50%);
 | 
						|
  }
 | 
						|
  100% {
 | 
						|
    transform: scale(0) translate(50%, -50%);
 | 
						|
    opacity: 0;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
@import './ribbon';
 |