@import '../../../mixins/box-sizing';

:host {
  @include tds-box-sizing;

  display: table-header-group;

  .tds-table__header-cell--checkbox {
    font: var(--tds-headline-07);
    letter-spacing: var(--tds-headline-07-ls);
    display: table-cell;
    text-align: left;
    color: var(--tds-table-color);
    background-color: var(--tds-table-header-background);
    border-bottom: 1px solid var(--tds-table-divider);
    height: 48px;
    box-sizing: border-box;

    // To fix issues with border-radius propagating up from button
    overflow: hidden;
    transition: background-color 200ms ease;
    min-width: unset;
    width: 48px;
    padding: 0;
    border-top-left-radius: 4px;
  }

  // Extra rule for label use in data-table
  .tds-form-label--table {
    width: 100%;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }

  .tds-table__expand-control-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 48px;
    cursor: pointer;

    .tds-table__expand-input {
      display: none;
    }

    .tds-expandable-row-icon {
      height: 20px;
      width: 20px;
      transition: transform 200ms ease;
      transform: rotate(0);
    }

    .tds-expandable-row-icon--opened {
      transform: rotate(180deg);
    }
  }

  ::slotted(tds-header-cell:hover) {
    background-color: var(--tds-table-header-background-hover);
  }
}

:host(.tds-table--compact) {
  .tds-table__header-cell--checkbox {
    height: 32px;
  }

  // Extra rule for label use in data-table
  .tds-form-label--table {
    height: 32px;
  }
}

:host(.tds-table--divider) {
  .tds-table__header-cell--checkbox {
    border-right: 1px solid var(--tds-table-divider);
  }
}

:host(.tds-table--toolbar-available) {
  .tds-table__header-cell--checkbox {
    border-top-left-radius: 0;
  }
}
