/**
 * @license
 * Copyright Akveo. All Rights Reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 */

@import './size-form-control';
@import './default-form-control';
@import '../../core/mixins';
@import './custom-forms';

@mixin nb-b-forms-theme() {

  .input-group-addon,
  .form-control {
    padding: 0.75rem 1.125rem;
    color: nb-theme(form-control-text-primary-color);
    background-color: nb-theme(form-control-bg);
    border: nb-theme(form-control-border-width)
            nb-theme(form-control-border-type)
            nb-theme(form-control-border-color);
    font-family: nb-theme(font-main);
    border-radius: nb-theme(form-control-border-radius);

    &:focus {
      border: nb-theme(form-control-border-width)
              nb-theme(form-control-border-type)
              nb-theme(form-control-selected-border-color);
      background-color: nb-theme(form-control-focus-bg);
      box-shadow: none;
    }

    &:disabled {
      border-color: nb-theme(form-control-border-color);

      @include install-placeholder(rgba(nb-theme(form-control-placeholder-color), 0.5),
                                   nb-theme(form-control-placeholder-font-size));
    }
    @include install-placeholder(nb-theme(form-control-placeholder-color),
                                 nb-theme(form-control-placeholder-font-size));
  }

  select.form-control:not([size]):not([multiple]) {
    height: calc(2rem + 20px);
  }

  .form-control-label {
    color: nb-theme(form-control-text-primary-color);
    font-weight: nb-theme(form-control-label-font-weight);
  }

  .form-control-feedback {
    font-size: nb-theme(form-control-feedback-font-size);
    font-weight: nb-theme(form-control-feedback-font-weight);
  }

  .form-text {
    color: nb-theme(color-fg);
    font-family: nb-theme(font-main);

    &.hint {
      margin-left: 1rem;
    }

    &.error {
      margin-left: 1rem;
      color: nb-theme(color-danger);
    }
  }

  @include form-control-size();
  @include form-control-default();

  @include custom-forms();
}
