@mixin select-outline {
  el-select.appearance-outline .select-button {
    background-color: el-theme(select-outline-background-color);
    border-color: el-theme(select-outline-border-color);
    border-style: el-theme(select-outline-border-style);
    border-width: el-theme(select-outline-border-width);
    color: el-theme(select-outline-text-color);

    &.placeholder {
      color: el-theme(select-outline-placeholder-text-color);
    }

    &.bottom,
    &.top {
      border-color: el-theme(select-open-outline-border-color);
    }

    &.top {
      border-top-color: el-theme(select-outline-adjacent-border-color);
      border-top-style: el-theme(select-outline-adjacent-border-style);
      border-top-width: el-theme(select-outline-adjacent-border-width);
    }
    &.bottom {
      border-bottom-color: el-theme(select-outline-adjacent-border-color);
      border-bottom-style: el-theme(select-outline-adjacent-border-style);
      border-bottom-width: el-theme(select-outline-adjacent-border-width);
    }

    &:focus {
      border-color: el-theme(select-outline-focus-border-color);
    }
    &:hover {
      border-color: el-theme(select-outline-hover-border-color);
    }
    &[disabled] {
      color: el-theme(select-outline-disabled-text-color);
      background-color: el-theme(select-outline-disabled-background-color);
      border-color: el-theme(select-outline-disabled-border-color);

      el-icon {
        color: el-theme(select-outline-disabled-icon-color);
      }
    }

    el-icon {
      color: el-theme(select-outline-icon-color);
    }
  }

  .options-list-container.appearance-outline {
    border-color: el-theme(select-options-list-outline-border-color);
  }

  @each $status in el-get-statuses() {
    el-select.appearance-outline.status-#{$status} .select-button {
      border-color: el-theme(select-outline-#{$status}-border-color);
      &:focus {
        border-color: el-theme(select-outline-#{$status}-focus-border-color);
      }
      &:hover {
        border-color: el-theme(select-outline-#{$status}-hover-border-color);
      }
      &[disabled] {
        border-color: el-theme(select-outline-#{$status}-disabled-border-color);
      }

      &.top {
        border-top-color: el-theme(select-outline-#{$status}-adjacent-border-color);
      }
      &.bottom {
        border-bottom-color: el-theme(select-outline-#{$status}-adjacent-border-color);
      }
    }

    .options-list-container.appearance-outline.status-#{$status} {
      border-color: el-theme(select-options-list-outline-#{$status}-border-color);
    }
  }

  @each $size in el-get-sizes() {
    el-select.appearance-outline.size-#{$size} .select-button {
      padding: el-theme(select-outline-#{$size}-padding);
    }
    .appearance-outline.size-#{$size} {
      el-option-group .option-group-title,
      el-option {
        padding: el-theme(select-option-outline-#{$size}-padding);
      }
      el-option-group el-option {
        padding-left: el-theme(select-group-option-outline-#{$size}-start-padding);
      }
    }
  }
}
