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

.TableCell {
  padding: $padding;
  word-break: break-all;
  overflow: hidden;
  text-overflow: ellipsis;

  &.menu {
    @include table-cell-action;
  }

  &.scrollable {
    @include hidden-scrollbar;
    display: flex;
    align-items: center;

    :not(:last-of-type) {
      margin-right: 0.5em;
    }
  }

  &.checkbox {
    display: flex;
    flex: 0 0 32px !important;
    padding-left: 0;
    padding-right: 0;

    &:not(.disabled) {
      cursor: pointer;
    }

    > .Checkbox {
      margin: 1px auto;
    }
  }

  // fix: don't hide "sortIcon" when used with <TableHead nowrap> and there is not enough space to show all the content
  &.sorting.nowrap {
    display: flex;
    align-items: center;

    > * {
      flex-shrink: 0;
    }

    > .content {
      flex-shrink: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    > .sortIcon {
      margin: 0;
    }
  }

  .Table.sortable > .TableHead & {
    user-select: none;
    white-space: nowrap;

    &.sorting {
      cursor: pointer;
    }

    .sortIcon {
      transition: 350ms opacity;
      opacity: .3;

      &.enabled {
        opacity: 1;
      }
    }
  }

  a {
    color: var(--primary);
    transition: 150ms color;

    &:hover {
      color: var(--textColorAccent);
    }
  }
}
