/*
 * SPDX-FileCopyrightText: 2021 Johannes Loher
 * SPDX-FileCopyrightText: 2021 Gesina Schwalbe
 *
 * SPDX-License-Identifier: MIT
 */

@use "../../utils/mixins";
@use "../../utils/variables";

.ds4-embedded-document-list {
  @include mixins.mark-invalid-or-disabled-input;

  $row-height: 1.75em;

  display: grid;
  grid-column-gap: 0.5em;
  grid-row-gap: 0.2em;
  margin: 0;
  padding: 0.5em 0;

  &--weapon {
    grid-template-columns: $row-height $row-height 3ch 3fr $row-height 1fr 3ch 5fr 5ch;
    :nth-child(9n + 1),
    :nth-child(9n + 5),
    :nth-child(9n + 6),
    :nth-child(9n + 7) {
      justify-self: center;
    }
  }
  &--armor {
    grid-template-columns: $row-height $row-height 3ch 3fr 1fr 1fr 3ch 5fr 5ch;
    :nth-child(9n + 1),
    :nth-child(9n + 7) {
      justify-self: center;
    }
  }
  &--shield {
    grid-template-columns: $row-height $row-height 3ch 1fr 3ch 3fr 5ch;
    :nth-child(7n + 1),
    :nth-child(7n + 5) {
      justify-self: center;
    }
  }
  &--equipment {
    grid-template-columns: $row-height $row-height 3ch 1fr 10ch 3fr 5ch;
    :nth-child(7n + 1) {
      justify-self: center;
    }
  }
  &--loot {
    grid-template-columns: $row-height 3ch 1fr 10ch 3fr 5ch;
  }
  &--spell {
    grid-template-columns: $row-height $row-height 2fr $row-height 1fr 1fr 1fr 1fr 5ch;
    :nth-child(9n + 1),
    :nth-child(9n + 4) {
      justify-self: center;
    }
  }
  &--talent {
    grid-template-columns: $row-height 1fr 4ch 3fr 5ch;
    :nth-child(9n + 3) {
      justify-self: center;
    }
  }
  &--racial-ability,
  &--language,
  &--alphabet,
  &--special-creature-ability {
    grid-template-columns: $row-height 1fr 3fr 5ch;
  }

  &--effect {
    grid-template-columns: $row-height $row-height $row-height 3fr 2fr $row-height 5ch;
    :nth-child(7n + 1),
    :nth-child(7n + 2),
    :nth-child(7n + 6) {
      justify-self: center;
    }
  }

  &--item-effect {
    grid-template-columns: $row-height 1fr 5ch;
  }

  &__row {
    display: contents; // TODO: Once chromium supports `grid-template-columns: subgrid` (https://bugs.chromium.org/p/chromium/issues/detail?id=618969), switch to `display: grid; grid: 1/-1; grid-template-columns: subgrid`

    &--header {
      font-weight: bold;
    }

    > * {
      height: $row-height;
      line-height: $row-height;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }

  &__image {
    border: none;
  }

  &__editable {
    &[type="text"],
    &[type="number"] {
      background-color: transparent;
      border: 0;
      padding: 0;
      height: 100%;
    }

    &--checkbox {
      &[type="checkbox"] {
        width: 100%;
        height: 100%;
        margin: 0px;
      }
    }
  }

  &__description {
    overflow: hidden;
    text-overflow: ellipsis;

    :not(:first-child) {
      display: none;
    }

    > * {
      font-size: 0.75em;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
    }
  }

  &__clickable {
    cursor: pointer;
  }
}

.ds4-embedded-document-list-title {
  border-bottom: variables.$border-groove;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 1em;
  padding-left: 1em;
}