responsive-tables.scss 1.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
@mixin flex-max-width($max) {
  flex: 0 0 #{$max + '%'};
  max-width: #{$max + '%'};
}

.gl-responsive-table-row {
  margin-top: 10px;
  border: 1px solid $border-color;

  @media (min-width: $screen-md-min) {
    padding: 15px 0;
    margin: 0;
    display: flex;
    align-items: center;
    border: none;
    border-bottom: 1px solid $white-normal;
  }

  .table-section {
    white-space: nowrap;

    $section-widths: 10 15 25 30;
    @each $width in $section-widths {
      &.section-#{$width} {
        flex: 0 0 #{$width + '%'};

        @media (min-width: $screen-md-min) {
          max-width: #{$width + '%'};
        }
      }
    }

    &:not(.table-button-footer) {
      @media (max-width: $screen-sm-max) {
        display: flex;
        align-self: stretch;
        padding: 10px;
        align-items: center;
        height: 62px;

        &:not(:first-of-type) {
          border-top: 1px solid $white-normal;
        }
      }
    }
  }
}

.table-row-header {
  font-size: 13px;

  @media (max-width: $screen-sm-max) {
    display: none;
  }
}

.table-mobile-header {
  color: $gl-text-color-secondary;
  @include flex-max-width(40);

  @media (min-width: $screen-md-min) {
    display: none;
  }
}

.table-mobile-content {
  @media (max-width: $screen-sm-max) {
    @include flex-max-width(60);
    text-align: right;
  }
}

.flex-truncate-parent {
  display: flex;
}

.flex-truncate-child {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  @media (min-width: $screen-md-min) {
    flex: 0 0 90%;
  }
}