/* Components :: TextInput : Styles */

@import '../../styles/settings/index';
@import '../../styles/tools/index';

.o-text-input {
  @include fabric-font-size(16px);

  border: 1px solid fabric-color('light-grey');
  color: fabric-color('grey');
  font-family: 'FS-Emeric-Regular', sans-serif;
  padding: $fabric-global-spacing-unit-small;
  transition: $fabric-global-transition;
  width: 100%;

  &:focus {
    outline: none;
    background-color: lighten(fabric-color('light-grey'), 5%);
    border: 1px solid darken(fabric-color('light-grey'), 10%);
  }

  &:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }

  &[data-invalid] {
    border: 1px solid fabric-color('negative');
    color: fabric-color('negative');
  }

  &::placeholder {
    color: fabric-color('grey');
    opacity: 0.4;
  }
}

.o-form__item__wrapper {
  position: relative;
  width: 100%;
}

.o-text-input__icons {
  @include absolute(top 0 right 0);
  @include flex($align-items: center);

  height: 100%;
  padding: 0 $fabric-global-spacing-unit-small;

  > * {
    margin-left: $fabric-global-spacing-unit-small;
  }
}

.o-text-input__required {
  @include absolute(top 0 right 0);
  @include flex($align-items: center);

  height: 100%;
  padding: 0 $fabric-global-spacing-unit-small;
}
