Newer
Older
vmk-ui-kit / src / scss / components / _description-list.scss
/* =========================
   Description list
========================= */

@use "../kit-deps" as *;

.description-list {
  display: grid;
  width: 100%;
  max-width: 760px;
  margin: 0;
  border: $border-width-base $border-style-base $border-color-muted;
  border-left-width: $border-width-accent;
  border-radius: $radius-md;
  background-color: $surface-panel-muted;
  overflow: hidden;

  .description-list-row {
    display: grid;
    grid-template-columns: minmax(140px, 0.36fr) minmax(0, 1fr);
    gap: $space-4;
    padding: $space-3 $space-4;
    border-bottom: $border-width-base $border-style-base rgba($neutral-900, 0.06);
    transition: background-color $motion-base $motion-ease;

    &:last-child {
      border-bottom: 0;
    }

    &:hover {
      background-color: rgba($neutral-900, 0.03);

      .description-list-term {
        color: $mint-700;
      }

      .description-list-value {
        transform: translateX($space-1);
      }
    }
  }

  .description-list-term {
    margin: 0;
    color: $neutral-600;
    font-size: 13px;
    font-weight: $font-weight-semibold;
    line-height: 1.5;
    text-transform: uppercase;
    transition: color $motion-base $motion-ease;
  }

  .description-list-value {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: $space-2;
    min-width: 0;
    margin: 0;
    color: $neutral-900;
    font-size: 15px;
    font-weight: $font-weight-medium;
    line-height: 1.5;
    transition: transform $motion-base $motion-ease;
  }

  .description-list-value-muted {
    color: $neutral-500;
  }

  &.description-list-compact {
    max-width: 520px;

    .description-list-row {
      grid-template-columns: minmax(112px, 0.42fr) minmax(0, 1fr);
      gap: $space-3;
      padding: $space-2 $space-3;
    }

    .description-list-term,
    .description-list-value {
      font-size: 13px;
    }
  }
}

@media (max-width: 640px) {
  .description-list {
    .description-list-row {
      grid-template-columns: 1fr;
      gap: $space-1;
    }
  }
}