@use '../../foundations/colors/tokens.scss' as color;
@use '../../foundations/spacing/tokens.scss' as spacing;
@use '../../foundations/focus/mixins' as focus;
@use '../../foundations/colors/mixins.scss' as colorMixin;
@use '../../foundations/borders/mixins.scss' as border;
@use '../../foundations/typography/tokens.scss' as typography;
@use '../../foundations/typography/mixins.scss' as typographyMixin;

.fudis-tab-navigation-bar {
  position: relative;

  &__wrapper {
    &--primary {
      border-bottom: solid spacing.$pixel-1 color.$color-gray-dark;
    }

    &--secondary {
      @include border.border-none;

      padding-top: spacing.$spacing-xxs;
    }

    &__tab-container {
      display: flex;
      column-gap: spacing.$spacing-xs;
      overflow-x: auto;
      scrollbar-width: none;

      &--primary {
        padding-top: spacing.$pixel-3;

        &:first-child {
          padding-left: spacing.$spacing-sm;
        }

        &:last-child {
          padding-right: spacing.$spacing-sm;
        }
      }

      &--secondary {
        padding: spacing.$pixel-3;
      }
    }
  }
}

.fudis-tab-navigation-tab {
  @include colorMixin.bg-color('white');
  @include colorMixin.text-color('gray-dark');
  @include typographyMixin.tab-text;

  box-sizing: border-box;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding-right: spacing.$spacing-sm;
  padding-left: spacing.$spacing-sm;
  text-decoration: none;

  &:focus-visible {
    @include focus.focus-generic;
  }

  &--primary {
    @include border.border('1px', 'solid', 'gray-dark');

    border-bottom: unset;
    border-top-left-radius: spacing.$pixel-2;
    border-top-right-radius: spacing.$pixel-2;
    height: spacing.$spacing-xl;

    &--active {
      @include colorMixin.bg-color('primary');
      @include colorMixin.text-color('white');

      border-color: color.$color-primary;
      text-decoration: underline solid;
    }
  }

  &--secondary {
    @include colorMixin.bg-color('gray-light');
    @include colorMixin.text-color('gray-dark');
    @include border.border('1px', 'solid', 'gray-light');

    border-radius: spacing.$pixel-1;
    height: spacing.$spacing-lg;

    &--active {
      @include colorMixin.bg-color('gray-dark');
      @include colorMixin.text-color('white');
      @include border.border('1px', 'solid', 'gray-dark');

      text-decoration: underline solid;
    }
  }
}
