@use "sass:math";
@use "sass:color";
@use "colors" as *;
@use "../colors" as *;
@use "sizes" as *;
@use "../sizes" as *;
@use "../../base/icon_fonts" as *;
@use "../textEditor/sizes" as *;
@use "../textEditor/colors" as *;
@use "../dropDownEditor" as *;
@use "../common/mixins" as *;
@use "../../base/lookup";
@use "../../base/lookup/mixins" as *;

// adduse
@use "../dropDownList";

.dx-lookup {
  .dx-lookup-arrow {
    inset-inline-end: $material-filled-texteditor-spin-button-horizontal-padding;
  }

  &.dx-editor-filled,
  &.dx-editor-outlined {
    .dx-lookup-field {
      padding-inline-start: $material-filled-texteditor-input-horizontal-padding;
      padding-inline-end: $material-filled-texteditor-input-horizontal-padding + $material-base-icon-size;
    }

    &.dx-invalid {
      .dx-lookup-field {
        padding-inline-end: $material-filled-texteditor-input-horizontal-padding + $material-base-icon-size * 2;
      }
    }
  }

  &.dx-editor-underlined {
    .dx-lookup-field {
      padding-inline-start: $material-base-standard-texteditor-input-horizontal-padding;
      padding-inline-end: $material-base-standard-texteditor-input-horizontal-padding + $material-base-icon-size + $material-filled-texteditor-spin-button-horizontal-padding;
    }

    &.dx-invalid {
      .dx-lookup-field {
        padding-inline-end: $material-base-standard-texteditor-input-horizontal-padding + $material-base-icon-size * 2 + $material-filled-texteditor-spin-button-horizontal-padding;
      }
    }
  }

  &.dx-invalid {
    border-bottom-color: $base-invalid-faded-border-color;

    .dx-lookup-arrow::after {
      @include dx-invalid-material-badge();

      inset-inline-end: $material-base-icon-size;
    }
  }

  &.dx-valid {
    .dx-lookup-arrow::after {
      @include dx-valid-material-badge();

      inset-inline-end: $material-base-icon-size;
    }
  }

  &.dx-validation-pending {
    .dx-lookup-field-wrapper {
      .dx-pending-indicator {
        @include dx-pending-indicator-material();

        inset-inline-end: $material-base-icon-size;
      }
    }
  }
}

.dx-lookup-field {
  font-size: $material-lookup-font-size;
  line-height: normal;
  padding-top: $material-filled-texteditor-input-top-padding;
  padding-bottom: $material-filled-texteditor-input-bottom-padding;

  &::before {
    line-height: normal;
  }

  .dx-texteditor {
    border: none;

    &::before,
    &::after {
      content: none;
    }

    &.dx-state-hover,
    &.dx-state-focused,
    &.dx-state-active,
    &.dx-state-disabled,
    &.dx-state-readonly,
    &.dx-state-readonly.dx-state-hover,
    & {
      background-color: transparent;
    }
  }
}

@include dx-lookup-arrow(
  spindown,
  "\f001",
  $material-base-icon-size,
  $lookup-icon-color,
  $lookup-icon-color-active,
  $material-base-icon-size,
);

.dx-lookup-popup-wrapper {
  .dx-list-item {
    border-top: none;

    &:last-of-type {
      border-bottom: none;
    }
  }

  .dx-popup-content {
    top: 0;
    padding: 0;
  }

  .dx-popup-title + .dx-popup-content {
    top: $material-lookup-popup-content-top;
  }
}

.dx-lookup-empty {
  .dx-lookup-field {
    color: $texteditor-placeholder-color;
  }
}

.dx-lookup-popup-search .dx-list {
  height: calc(100% - #{$material-lookup-list-top});
}

.dx-lookup-search-wrapper {
  padding: $material-lookup-popup-content-padding;
  padding-bottom: $material-lookup-popup-content-padding - 6px;
}
