// Copyright (C) 2023 The Android Open Source Project
//
// 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 "../theme";

// Select field styled to look similar to a text input with a thin underline.
// Inspired by matherial design.
.pf-select {
  font-family: var(--pf-font-compact);
  font-size: inherit;
  outline: none; // Disable the default outline
  border: none; // Disable the default border
  border-bottom: solid 1px var(--pf-color-border); // Thin underline
  background: none;
  color: inherit;
  transition:
    border $anim-timing,
    box-shadow $anim-timing,
    background $anim-timing;
  // Round only the top corners to avoid rounding the edges of the underline
  border-radius: $border-radius $border-radius 0 0;
  cursor: pointer;

  // Very opinionated min width for a select input
  // ... any smaller and it stops looking like a select input!
  min-width: 80px;

  &:hover {
    background: color_hover(transparent);
  }

  &:focus {
    background: color_hover(transparent);
    border-bottom: solid 1px var(--pf-color-primary);

    // The box-shadow thickens the bottom border, without adding to the height.
    // This is the same technique used by materializecss:
    // See https://materializecss.com/text-inputs.html
    box-shadow: 0 1px 0 var(--pf-color-primary);
  }

  &[disabled] {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
  }
}
