@import '../../style/variables';
@import '../../style/mixins';

.#{$prefix}loader {
  font-family: $font-family;
  position: relative;
  display: inline-block;

  @mixin loader-size($size) {
    .#{$prefix}loader {
      &__indicator {
        @include loader($size, $primary-color);
        width: $size;
        height: $size;
        margin: 5px;
        opacity: 0.8;
      }

      &__label {
        font-size: $size - 3px;
        line-height: $size - 3px;
        margin: 5px 0;
        font-family: $font-family;
        user-select: none;
        opacity: 0.8;
      }
    }
  }

  &_default {
    @include loader-size(22px);
  }

  &_lg {
    @include loader-size(28px);
  }

  &_sm {
    @include loader-size(14px);
  }

  &__loader-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    z-index: 5;
    color: $primary-color;

    &:not(:last-child) {
      position: absolute;
    }

    &_vertical {
      flex-direction: column;
    }
  }

  &__container {
    &_loading {
      opacity: 0.5;
    }

    &_blurred {
      filter: blur(1px);
      overflow: hidden;
    }
  }
}
