/**
 * Copyright (c) OpenLens Authors. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */

.SidebarItem {

  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100%;
  user-select: none;

  > .nav-item {
    text-decoration: none;
    padding: $unit * 0.3846 $unit * 0.625; // ≈ floor($unit / 2.6) floor($unit / 1.6)
    width: 100%;
    height: 100%;
    color: inherit;
    cursor: pointer;

    > .link-text {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .expand-icon {
      --size: 20px;
    }
  }

  .sub-menu {
    $borderSize: 4px;
    border-left: $borderSize solid transparent;

    > .SidebarItem {
      color: var(--textColorPrimary);
      padding-left: 30px + $borderSize;
      line-height: 22px;

      .SidebarItem {
        padding-left: $padding * 2; // 3rd+ menu level
      }

      .nav-item {
        &.expandable {
          font-weight: 500;
        }
      }
    }
  }
}

// TODO: Make less flaky.
.sidebar-active-status {
  > .SidebarItem {
    .nav-item {
      &.active, &:hover {
        background: var(--blue);
        color: var(--sidebarActiveColor);
      }
    }

    .sub-menu {
      &.active {
        border-left-color: var(--blue);
      }

      > .SidebarItem {
        .nav-item {
          &.active, &:hover {
            color: var(--sidebarSubmenuActiveColor);
            background: none;
          }

          &.expandable {
            color: var(--textColorPrimary)
          }
        }

        .sub-menu {
          &.active {
            border-left-color: transparent;
          }

          .nav-item {
            &.active, &:hover {
              color: var(--sidebarSubmenuActiveColor);
              background: none;
            }
          }
        }
      }
    }
  }
}
