/*
 * Backpack - Skyscanner's Design System
 *
 * Copyright 2016 Skyscanner Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

@import '~bpk-mixins/index.scss';

$bpk-spacing-v2: true;

.bpk-input {
  @include bpk-input;

  &__container {
    @include bpk-input__container;
  }

  &__clear-button {
    display: none;

    @include bpk-input__clear-button;

    &--persistent {
      display: inherit;
    }
  }

  &--valid {
    @include bpk-input--valid;
  }

  &--invalid {
    @include bpk-input--invalid;
  }

  &--clearable {
    @include bpk-input--clearable;

    // Display the clear button when a clearable input is focused.
    &:focus + .bpk-input__clear-button {
      display: inherit;
    }
  }

  &--large {
    @include bpk-input--large;
  }

  // When persistent, set background to override any validity icons
  // appearing and make the clear button always display.
  &--persistent-clearable {
    background: $bpk-input-background;
  }

  &--docked {
    @include bpk-input--docked;

    &-first {
      @include bpk-input--docked-first-child;
    }

    &-middle {
      @include bpk-input--docked-middle-child;
    }

    &-last {
      @include bpk-input--docked-last-child;
    }
  }

  &--with-open-events {
    cursor: pointer;
  }
}
