@use 'element-plus/theme-chalk/src/common/var.scss' as *;
@use 'element-plus/theme-chalk/src/mixins/config.scss' as *;
@use 'element-plus/theme-chalk/src/mixins/mixins.scss' as *;

@include b(plain-tabs) {
  display: flex;
  flex-direction: column;
  position: relative;
  box-sizing: border-box;

  $label: #{&}__label;
  $item: #{&}__item;
  $border-color: getCssVar('border-color-light');
  $bg-color-overlay: getCssVar('bg-color', 'overlay');

  &__header {
    width: 100%;
    display: flex;
    margin-bottom: 16px;
  }

  &__list {
    display: flex;
    flex: none;
  }

  &__item {
    box-sizing: border-box;
    display: flex;
    transition: all 0.3s;
    &--active {
      #{$label} {
        color: getCssVar('color-primary');
        border-bottom-color: transparent;
        background-color: #{$bg-color-overlay};
      }
    }
  }

  &__label {
    cursor: pointer;
    font-size: 12px;
    padding: 10px 16px;
    border-radius: 4px 4px 0px 0px;
    border: 1px solid #{$border-color};
    color: getCssVar('text-color', 'secondary');
    background-color: getCssVar('fill-color', 'light');
    transition: all 0.3s;
  }

  &__append {
    flex: 1;
    border-bottom: 1px solid #{$border-color};
  }

  &__placeholder {
    box-sizing: border-box;
    width: 6px;
    border: 0 solid #{$border-color};
    border-bottom-width: 1px;
  }

  &__nav-list {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #{$border-color};
    padding-bottom: 12px;
    &-item {
      span {
        cursor: pointer;
      }
      .#{$namespace}-divider--vertical {
        height: 0.75em;
        margin: 0 10px;
      }
    }
  }

  &__conent {
    position: relative;
  }
}

.next-transition-leave-active,
.prev-transition-leave-active,
.next-transition-enter-active,
.prev-transition-enter-active {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.next-transition-enter-from,
.prev-transition-leave-to {
  transform: translateX(32px);
  opacity: 0;
}

.next-transition-leave-to,
.prev-transition-enter-from {
  transform: translateX(-32px);
  opacity: 0;
}

.next-transition-leave-from,
.next-transition-enter-to,
.prev-transition-leave-from,
.prev-transition-enter-to {
  transform: translateX(0);
  opacity: 1;
}
