﻿@use 'ej2-base/styles/common/mixin' as *;

@mixin carousel-navigator-button-color($color) {
  .e-btn-icon {
    color: $color;
  }
}

@include export-module('carousel-theme') {
  .e-carousel {
    .e-carousel-navigators {

      .e-previous .e-btn:not(:disabled),
      .e-next .e-btn:not(:disabled),
      .e-play-pause .e-btn:not(:disabled) {
        background-color: $carousel-navigator-btn-bg;
        @include carousel-navigator-button-color($carousel-navigator-icon-color);

        &:active,
        &:focus,
        &:hover {
          background-color: $carousel-navigator-btn-bg-hover;
          outline: none;
        }

        @if $skin-name == 'fluent2' or $skin-name == 'tailwind3' {
          &:focus-visible {
            background-color: $carousel-navigator-btn-bg;
            box-shadow: $carousel-navigator-btn-focus-box-shadow;
            @include carousel-navigator-button-color($carousel-navigator-icon-color);
            @if $skin-name !='tailwind3' {
              border-radius: $carousel-navigator-focus-visible-border-radius;
              @include carousel-navigator-button-color($carousel-navigator-btn-hover-color);
            }
          }
          &:active {
            @if $skin-name == 'tailwind3' {
              background-color: $carousel-navigator-btn-bg-active;
            }
            @include carousel-navigator-button-color($carousel-navigator-btn-active-color);
          }
          &:hover,
          &:focus {
            @include carousel-navigator-button-color($carousel-navigator-btn-hover-color);
          }
        }
      }
    }

    .e-carousel-indicators {
      &.e-default .e-indicator-bar {
        .e-indicator {
          background-color: transparent;
          border-color: transparent;
          box-shadow: none;

          div {
            background: $carousel-indicator-bar-bg;
            @if ($skin-name == 'Material3') {
              border-image: $carousel-indicator-bar-border-bg;
            }
            @else {
              border-color: $carousel-indicator-bar-bg;
            }
          }

          &:active,
          &:focus,
          &:hover {
            background: transparent;
            border-color: transparent;
            box-shadow: none;
            outline: none;
          }

          &:focus-visible {
            border-color: $carousel-indicator-border-color-focus;
          }
        }

        &.e-active .e-indicator div {
          background-color: $carousel-indicator-bar-bg-active;
          border-color: $carousel-indicator-bar-bg-active;
        }
      }

      &.e-dynamic .e-indicator-bars {
        .e-indicator-bar {
          background-color: $carousel-navigator-icon-color;

          &.e-active {
            background-color: $carousel-indicator-bar-bg-active;
          }
        }
      }

      &.e-fraction .e-indicator-bars {
        color: $carousel-navigator-icon-color;
      }

      &.e-progress .e-indicator-bars {
        background-color: $carousel-indicator-progress-bg;

        .e-indicator-bar {
          background-color: $carousel-indicator-bar-bg-active;
        }
      }
    }
  }
}
