@use "../../style/variables" as *;

.#{$prefix}-auto-complete {
  position: relative;
  display: inline-block;
  width: 100%;

  &_disabled {
    cursor: not-allowed;
    opacity: var(--ty-auto-complete-opacity-disabled);
  }

  // Dropdown
  &__dropdown {
    width: 100%;
    margin: 0;
    padding: var(--ty-auto-complete-dropdown-padding);
    list-style-type: none;
    background-color: var(--ty-auto-complete-dropdown-bg);
    box-sizing: border-box;
    overflow: hidden auto;
    z-index: 10;
    box-shadow: var(--ty-auto-complete-dropdown-shadow);
    border-radius: var(--ty-auto-complete-dropdown-radius);
    font-size: var(--ty-auto-complete-dropdown-font-size);
    max-height: var(--ty-auto-complete-dropdown-max-height);
  }

  // Empty state
  &__empty {
    padding: var(--ty-auto-complete-empty-padding);
    text-align: center;
    color: var(--ty-auto-complete-empty-color);
    font-size: var(--ty-auto-complete-empty-font-size);
  }
}

// Option
.#{$prefix}-auto-complete-option {
  display: flex;
  align-items: center;
  padding: var(--ty-auto-complete-option-padding);
  font-size: var(--ty-auto-complete-option-font-size);
  line-height: var(--ty-auto-complete-option-line-height);
  cursor: pointer;
  color: var(--ty-auto-complete-option-color);
  transition: background-color 0.2s;

  &_active {
    background-color: var(--ty-auto-complete-option-active-bg);
  }

  &_disabled {
    cursor: not-allowed;
    opacity: var(--ty-auto-complete-option-disabled-opacity);
  }
}
