@import '../common/style/var.less';
@import '../common/style/theme.less';

.van-tag {
  position: relative;
  display: inline-flex;
  align-items: center;
  .theme(padding, '@tag-padding');
  .theme(color, '@tag-text-color');
  .theme(font-size, '@tag-font-size');
  .theme(line-height, '@tag-line-height');
  .theme(border-radius, '@tag-border-radius');

  &--default {
    .theme(background-color, '@tag-default-color');

    &.van-tag--plain {
      .theme(color, '@tag-default-color');
    }
  }

  &--danger {
    .theme(background-color, '@tag-danger-color');

    &.van-tag--plain {
      .theme(color, '@tag-danger-color');
    }
  }

  &--primary {
    .theme(background-color, '@tag-primary-color');

    &.van-tag--plain {
      .theme(color, '@tag-primary-color');
    }
  }

  &--success {
    .theme(background-color, '@tag-success-color');

    &.van-tag--plain {
      .theme(color, '@tag-success-color');
    }
  }

  &--warning {
    .theme(background-color, '@tag-warning-color');

    &.van-tag--plain {
      .theme(color, '@tag-warning-color');
    }
  }

  &--plain {
    .theme(background-color, '@tag-plain-background-color');

    &::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      border: 1px solid currentColor;
      border-radius: inherit;
      content: '';
      pointer-events: none;
    }
  }

  &--medium {
    .theme(padding, '@tag-medium-padding');
  }

  &--large {
    .theme(padding, '@tag-large-padding');
    .theme(font-size, '@tag-large-font-size');
    .theme(border-radius, '@tag-large-border-radius');
  }

  &--mark {
    .theme(
        border-radius,
        '0 @tag-round-border-radius @tag-round-border-radius 0'
      );

    &::after {
      display: block;
      width: 2px;
      content: '';
    }
  }

  &--round {
    .theme(border-radius, '@tag-round-border-radius');
  }

  &__close {
    min-width: 1em;
    margin-left: 2px;
  }
}
