@import url(../var.less);
@import url(../mixins/utils.less);

@form-prefix: ~"@{prefix}form";
@form-item-prefix: ~"@{prefix}form-item";

.@{form-prefix}{
  &--label-left {
    & .w-form-item__label {
      text-align: left;
    }
  }

  &--label-top {
    & .w-form-item__label {
      float: none;
      display: inline-block;
      text-align: left;
      padding: 0 0 10px 0;
    }
  }

  &--inline {
    & .w-form-item {
      display: inline-block;
      margin-right: 10px;
      vertical-align: top;
    }
    & .w-form-item__label {
      float: none;
      display: inline-block;
    }
    & .w-form-item__content {
      display: inline-block;
      vertical-align: top;
    }
    &.w-form--label-top .w-form-item__content {
      display: block;
    }
  }
}

.@{form-item-prefix} {
  margin-bottom: 22px;
  .utils-clearfix();

  & .w-form-item {
    margin-bottom: 0;
  }

  & .w-input__validateIcon {
    display: none;
  }

  &--medium {
    .w-form-item__label {
      line-height: 28px;
    }
    .w-form-item__content {
      line-height: 28px;
    }
  }

  &--small {
    .w-form-item__label {
      line-height: 24px;
    }
    .w-form-item__content {
      line-height: 24px;
    }
    &.w-form-item {
      margin-bottom: 18px;
    }
    .w-form-item__error {
      padding-top: 2px;
    }
  }

  &__label-wrap {
    float: left;
    .w-form-item__label {
      display: inline-block;
      float: none;
    }
  }

  &__label {
    text-align: right;
    vertical-align: middle;
    float: left;
    font-size: @form-label-font-size;
    color: @regular-text-color;
    line-height: 40px;
    padding: 0 12px 0 0;
    box-sizing: border-box;
  }

  &__content {
    line-height: 40px;
    position: relative;
    font-size: 14px;

    .utils-clearfix();

    .w-input-group {
      vertical-align: top;
    }
  }

  &__error {
    color: @danger-color;
    font-size: 12px;
    line-height: 1;
    padding-top: 4px;
    position: absolute;
    top: 100%;
    left: 0;

    &--inline {
      position: relative;
      top: auto;
      left: auto;
      display: inline-block;
      margin-left: 10px;
    }
  }

  &.is-required {
    &:not(.is-no-asterisk) {
      & > .w-form-item__label:before,
      & .w-form-item__label-wrap > .w-form-item__label:before {
        content: '*';
        color: @danger-color;
        margin-right: 4px;
      }
    }
  }

  &.is-error {
    & .w-input__inner,
    & .w-textarea__inner {
      &, &:focus {
        border-color: @danger-color;
      }
    }
    & .w-input-group__append,
    & .w-input-group__prepend {
      & .w-input__inner {
        border-color: transparent;
      }
    }
    .w-input__validateIcon {
      color: @danger-color;
    }
  }

  &--feedback {
    .w-input__validateIcon {
      display: inline-block;
    }
  }
}