@use 'sass:map';

@use 'mixins/mixins' as *;
@use 'mixins/utils' as *;
@use 'common/var' as *;

@include b(autocomplete) {
  position: relative;

  @include e(popper) {
    @include picker-popper(
      getCssVar('color-white'),
      1px solid getCssVar('color-neutral-2'),
      getCssVar('box-shadow', 'lv2')
    );
  }
}

@include b(autocomplete-suggestion) {
  border-radius: getCssVar('border-radius', 'md');
  box-sizing: border-box;

  @include e(wrap) {
    max-height: 280px;
    padding: 8px;
    box-sizing: border-box;
  }

  @include e(list) {
    margin: 0;
    padding: 0;
  }

  & li {
    padding: 8px 12px;
    margin: 0;
    line-height: 20px;
    cursor: pointer;
    color: getCssVar('color-neutral-9');
    font-size: 14px;
    font-weight: 600;
    list-style: none;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: getCssVar('border-radius-sm');

    &:hover {
      color: getCssVar('color-primary-3');
      background-color: getCssVar('color-primary-1');
    }

    &.highlighted {
      color: getCssVar('color-primary-3');
      background-color: getCssVar('color-primary-1');
    }

    &.divider {
      margin-top: 4px;
      margin-bottom: 4px;
      border-top: 1px solid getCssVar('color-neutral-2');
    }

    &.divider:last-child {
      margin-bottom: -4px;
    }
  }

  @include when(loading) {
    li {
      text-align: center;
      height: 80px;
      line-height: 80px;
      font-size: 20px;
      color: getCssVar('color-neutral-7');
      @include utils-vertical-center;

      &:hover {
        background-color: getCssVar('color-white');
      }
    }

    & .#{$namespace}-icon-loading {
      vertical-align: middle;
    }
  }
}
