@import './var.less';

:root {
  --glm-tree-select-font-size: @tree-select-font-size;
  --glm-tree-select-nav-background-color: @tree-select-nav-background-color;
  --glm-tree-select-content-background-color: @tree-select-content-background-color;
  --glm-tree-select-nav-item-padding: @tree-select-nav-item-padding;
  --glm-tree-select-item-height: @tree-select-item-height;
  --glm-tree-select-item-active-color: @tree-select-item-active-color;
  --glm-tree-select-item-disabled-color: @tree-select-item-disabled-color;
  --glm-tree-select-item-selected-size: @tree-select-item-selected-size;
}

.glm-tree-select {
  position: relative;
  display: flex;
  font-size: var(--glm-tree-select-font-size);

  &__nav {
    flex: 1;
    overflow-y: auto;
    background: var(--glm-tree-select-nav-background-color);
    -webkit-overflow-scrolling: touch;

    &-item {
      padding: var(--glm-tree-select-nav-item-padding);
    }
  }

  &__content {
    flex: 2;
    overflow-y: auto;
    background: var(--glm-tree-select-content-background-color);
    -webkit-overflow-scrolling: touch;
  }

  &__item {
    position: relative;
    padding: 0 32px 0 var(--glm-padding-md);
    font-weight: var(--glm-font-weight-bold);
    line-height: var(--glm-tree-select-item-height);
    user-select: none;
    cursor: pointer;

    &--active {
      color: var(--glm-tree-select-item-active-color);
    }

    &:active {
      background-color: var(--glm-active-color);
    }

    &--disabled {
      color: var(--glm-tree-select-item-disabled-color);
      cursor: not-allowed;

      &:active {
        background-color: transparent;
      }
    }
  }

  &__selected {
    position: absolute;
    top: 50%;
    right: var(--glm-padding-md);
    margin-top: calc(var(--glm-padding-xs) * -1);
    font-size: var(--glm-tree-select-item-selected-size);
  }
}
