@import '../common/abstracts/variable';
@import '../common/abstracts/mixin';

@mixin tag-type-style($normalColor, $normalBg) {
  background: $normalBg;

  @include when(plain) {
    padding: 0 4px;
    color: $normalColor;
    background: transparent;
    border: 1px solid $normalColor;
  }
  @include when(round) {
    padding: 4px 11px;
    font-size: $-tag-fs;
    line-height: 1.2;
    color: if($normalColor != $-tag-info-color, $normalColor, $-tag-round-color);
    background: transparent;
    border: 1px solid if($normalColor != $-tag-info-color, $normalColor, $-tag-round-border-color);
    border-radius: $-tag-round-radius;
  }
  @include when(mark) {
    padding: 1px 6px;
    border-radius: $-tag-mark-radius;

    @include when(plain) {
      padding: 0 6px;
    }
  }
  @include when(active) {
    color: $-tag-primary-color;
    border-color: $-tag-primary-color;
  }
}
@include b(tag) {
  display: inline-block;
  padding: 0 3px;
  font-size: $-tag-small-fs;
  line-height: initial;
  color: $-tag-color;
  vertical-align: middle;
  border-radius: 2px;
  transition: opacity 0.3s;

  @include when(default) {
    @include tag-type-style($-tag-info-color, $-tag-info-bg);
  }
  @include when(primary) {
    @include tag-type-style($-tag-primary-color, $-tag-primary-bg);
  }
  @include when(danger) {
    @include tag-type-style($-tag-danger-color, $-tag-danger-bg);
  }
  @include when(warning) {
    @include tag-type-style($-tag-warning-color, $-tag-warning-bg);
  }
  @include when(success) {
    @include tag-type-style($-tag-success-color, $-tag-success-bg);
  }
  @include when(icon) {
    padding: 2px 5px;
    font-size: $-tag-fs;
    line-height: 1.2;
  }
  @include when(dynamic) {
    box-sizing: border-box;
    width: 88px;
    transition: 0.3s;

    &:active {
      color: $-tag-primary-color;
      border-color: $-tag-primary-color;
    }
  }
  @include when(dynamic-input) {
    border-color: $-tag-primary-color;
  }
  @include edeep(icon) {
    display: inline-block;
    margin-right: 4px;
    font-size: $-tag-fs;
    line-height: 1.2;
    vertical-align: baseline;
  }
  @include e(text) {
    display: inline-block;
    vertical-align: text-top;
  }
  @include e(add-text) {
    display: inline-block;
    width: 60px;
    height: 14px;
    min-height: 14px;
    padding: 0;
    font-size: $-tag-fs;
    vertical-align: middle;
  }
  @include e(close) {
    display: inline-block;
    height: 14px;
    margin-right: -4px;
    margin-left: 24px;
    font-size: $-tag-close-size;
    line-height: 1.1;
    color: $-tag-close-color;
    vertical-align: text-bottom;

    &:active {
      color: $-tag-close-active-color;
    }
  }
  @include edeep(add) {
    vertical-align: bottom;
  }
}
