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

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

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

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

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

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

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

  @each $status in el-get-statuses() {
    el-select.appearance-filled.status-#{$status} .select-button {
      background-color: el-theme(select-filled-#{$status}-background-color);
      border-color: el-theme(select-filled-#{$status}-border-color);
      color: el-theme(select-filled-#{$status}-text-color);

      &.placeholder {
        color: el-theme(select-filled-#{$status}-placeholder-text-color);
      }

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

        el-icon {
          color: el-theme(select-filled-#{$status}-disabled-icon-color);
        }
      }

      el-icon {
        color: el-theme(select-filled-#{$status}-icon-color);
      }
    }

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