/**
 * Copyright IBM Corp. 2016, 2023
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */

@use '@carbon/styles/scss/config' as *;
@use '@carbon/styles/scss/spacing' as *;
@use '@carbon/styles/scss/theme' as *;
@use '../../globals/vars' as *;
@use '../../globals/imports' as *;
@use '../../globals/utils/ratio-base' as *;
@use '@carbon/styles/scss/components/slider';

@mixin audio-player {
  .#{$prefix}--audio-player {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 $spacing-03 0 0;
    background-color: $layer-01;
    block-size: $spacing-09;

    /* For Accessibility on the buttons, when focusing the button */
    .#{$prefix}--btn {
      border-width: 0;

      &.#{$prefix}--btn--icon-only {
        &:not(.#{prefix}--audio-player__play-button) {
          min-inline-size: var(--cds-icon-size-01, 1.25rem);
          padding-inline: $spacing-03;
        }

        &.#{$prefix}--btn--ghost {
          &.#{$prefix}--btn--icon-only {
            &.#{$prefix}--btn--disabled {
              svg {
                path {
                  &:not([data-icon-path]) {
                    &:not([fill='none']) {
                      fill: $layer-accent-01;
                    }
                  }
                }
              }
            }
          }
        }

        &.#{$prefix}--tooltip__trigger:focus {
          outline: $spacing-01 solid $focus;
          outline-offset: calc(-1 * #{$spacing-01});
        }
      }
    }
  }

  .#{$prefix}--audio-player__captions {
    position: absolute;
    display: flex;
    align-items: center;
    padding: $spacing-05;
    background-color: $layer-01;
    border-block-end: 1px solid $layer-accent-01;
    inline-size: 100%;
    inset-block-end: $spacing-09;
    inset-inline-start: 0;
  }

  .#{$prefix}--audio-player__captions-text {
    color: $text-primary;
    min-block-size: calc(#{$spacing-05} + #{$spacing-01});
  }

  .#{$prefix}--audio-player__thumbnail {
    box-sizing: border-box;
    border: 1px solid $layer-accent-01;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    block-size: $spacing-09;
    inline-size: $spacing-09;
  }

  /* To hide the original player */
  .#{$prefix}--audio-player__embedded-player {
    z-index: -1;
    display: none;
    block-size: 0;
    inline-size: 0;
  }

  .#{$prefix}--audio-player__play-button {
    &.#{$prefix}--btn {
      &.#{$prefix}--btn--icon-only {
        padding: $spacing-03;
        margin-inline-start: $spacing-03;
      }
    }

    svg {
      &.#{$prefix}--btn__icon {
        block-size: $spacing-07;
        inline-size: $spacing-07;
      }
    }
  }

  .#{$prefix}--audio-player__audio-time {
    block-size: $spacing-08;
    min-inline-size: 17.5rem;

    .#{$prefix}--slider__range-label:first-of-type {
      margin-inline-start: $spacing-05;
    }
  }

  .#{$prefix}--audio-player__volume-control {
    position: relative;

    .#{$prefix}--force-tooltip-hidden {
      &.#{$prefix}--tooltip__trigger {
        &.#{$prefix}--tooltip--visible {
          overflow: hidden;

          .#{$prefix}--assistive-text {
            display: none;
          }
        }
      }
    }

    .#{$prefix}--menu--open {
      background-color: $background-hover;
    }
  }
  .#{$prefix}--audio-player__volume-control-menu {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 0 $spacing-03 $spacing-03;
    background-color: $field-02;
    block-size: $spacing-09;
    inset-block-end: calc(#{$spacing-09} + #{$spacing-03});
    inset-inline-end: 0;
    max-inline-size: 15.5rem;
  }

  .#{$prefix}--audio-player__shadow {
    /* Box Shadow from OverFlowMenu */
    box-shadow: 0 $spacing-01 6px rgba(0, 0, 0, 0.2);
  }

  .#{$prefix}--audio-player__overflow-menu-container {
    block-size: $spacing-09;
    inline-size: calc(#{$spacing-07} + #{$spacing-02});

    button {
      block-size: 100%;
      inline-size: 100%;
    }
  }
}
