@import "mixins/mixins";
@import "common/var";

@include b(badge) {
  position: relative;
  vertical-align: middle;
  display: inline-block;

  @include e(content) {
    background-color: $--badge-danger-theme--color;
    border-radius: $--badge-radius;
    color: $--badge-font-color;
    display: inline-block;
    font-size: $--badge-font-size;
    line-height: $--badge-height;
    padding: $--badge-padding;
    text-align: center;
    white-space: nowrap;
    border: $--badge-border-size $--badge-border-color;
    box-sizing: border-box;

    @include when(fixed) {
      position: absolute;
      top: 0;
      right: #{1 + $--badge-font-size / 2};
      transform: translateY(-50%) translateX(100%);

      @include when(dot) {
        right: 5px;
      }
    }

    @include when(dot) {
      height: $--badge-dot-size;
      width: $--badge-dot-size;
      padding: 0;
      right: 0;
      border-radius: 50%;
    }

    @each $type in (primary, success, warning, info, danger) {
      @include m($type) {
        @if $type == primary {
          background-color: $--badge-primary-theme--color;
        } @else if $type == success {
          background-color: $--badge-success-theme--color;
        } @else if $type == warning {
          background-color: $--badge-warning-theme--color;
        } @else if $type == info {
          background-color: $--badge-info-theme--color;
        } @else {
          background-color: $--badge-danger-theme--color;
        }
      }
    }
  }
}
