import { SkinMixin, createStyles } from "../skin-mixin.js";
import "../media/container.js";
import "../ui/mute-button.js";
import "../ui/play-button.js";
import "../ui/playback-rate-button.js";
import "../ui/popover.js";
import "../ui/seek-button.js";
import "../ui/time.js";
import "../ui/time-slider.js";
import "../ui/tooltip.js";
import "../ui/tooltip-group.js";
import "../ui/volume-slider.js";
import { renderIcon } from "../../icons/dist/render/default/index.js";
import skin_default from "../../_virtual/inline-css_src/define/audio/skin.js";
import { ReactiveElement } from "@videojs/element";

//#region src/define/audio/skin.ts
const SEEK_TIME = 10;
function getTemplateHTML() {
	return `
    <media-container class="media-default-skin media-default-skin--audio">
      <!-- @deprecated slot="media" is no longer required, use the default slot instead -->
      <slot name="media"></slot>
      <slot></slot>

      <div class="media-surface media-controls">
        <media-tooltip-group>
          <media-play-button commandfor="play-tooltip" class="media-button media-button--icon media-button--play">
            ${renderIcon("restart", { class: "media-icon media-icon--restart" })}
            ${renderIcon("play", { class: "media-icon media-icon--play" })}
            ${renderIcon("pause", { class: "media-icon media-icon--pause" })}
          </media-play-button>
          <media-tooltip id="play-tooltip" side="top" class="media-surface media-tooltip">
            <span class="media-tooltip-label media-tooltip-label--replay">Replay</span>
            <span class="media-tooltip-label media-tooltip-label--play">Play</span>
            <span class="media-tooltip-label media-tooltip-label--pause">Pause</span>
          </media-tooltip>

          <media-seek-button commandfor="seek-backward-tooltip" seconds="${-SEEK_TIME}" class="media-button media-button--icon media-button--seek">
            <span class="media-icon__container">
              ${renderIcon("seek", { class: "media-icon media-icon--seek media-icon--flipped" })}
              <span class="media-icon__label">${SEEK_TIME}</span>
            </span>
          </media-seek-button>
          <media-tooltip id="seek-backward-tooltip" side="top" class="media-surface media-tooltip">
            Seek backward ${SEEK_TIME} seconds
          </media-tooltip>

          <media-seek-button commandfor="seek-forward-tooltip" seconds="${SEEK_TIME}" class="media-button media-button--icon media-button--seek">
            <span class="media-icon__container">
              ${renderIcon("seek", { class: "media-icon media-icon--seek" })}
              <span class="media-icon__label">${SEEK_TIME}</span>
            </span>
          </media-seek-button>
          <media-tooltip id="seek-forward-tooltip" side="top" class="media-surface media-tooltip">
            Seek forward ${SEEK_TIME} seconds
          </media-tooltip>

          <media-time-group class="media-time">
            <media-time type="current" class="media-time__value"></media-time>
            <media-time-slider class="media-slider">
              <media-slider-track class="media-slider__track">
                <media-slider-fill class="media-slider__fill"></media-slider-fill>
                <media-slider-buffer class="media-slider__buffer"></media-slider-buffer>
              </media-slider-track>
              <media-slider-thumb class="media-slider__thumb"></media-slider-thumb>
            </media-time-slider>
            <media-time type="duration" class="media-time__value"></media-time>
          </media-time-group>

          <media-playback-rate-button commandfor="playback-rate-tooltip" class="media-button media-button--icon media-button--playback-rate"></media-playback-rate-button>
          <media-tooltip id="playback-rate-tooltip" side="top" class="media-surface media-tooltip">
            Toggle playback rate
          </media-tooltip>

          <media-mute-button commandfor="audio-volume-popover" class="media-button media-button--icon media-button--mute">
            ${renderIcon("volume-off", { class: "media-icon media-icon--volume-off" })}
            ${renderIcon("volume-low", { class: "media-icon media-icon--volume-low" })}
            ${renderIcon("volume-high", { class: "media-icon media-icon--volume-high" })}
          </media-mute-button>

          <media-popover id="audio-volume-popover" open-on-hover delay="200" close-delay="100" side="top" class="media-surface media-popover media-popover--volume">
            <media-volume-slider class="media-slider" orientation="vertical" thumb-alignment="edge">
              <media-slider-track class="media-slider__track">
                <media-slider-fill class="media-slider__fill"></media-slider-fill>
              </media-slider-track>
              <media-slider-thumb class="media-slider__thumb media-slider__thumb--persistent"></media-slider-thumb>
            </media-volume-slider>
          </media-popover>
        </media-tooltip-group>
      </div>
    </media-container>
  `;
}
var AudioSkinElement = class extends SkinMixin(ReactiveElement) {
	static {
		this.tagName = "audio-skin";
	}
	static {
		this.styles = createStyles(skin_default);
	}
	static {
		this.getTemplateHTML = getTemplateHTML;
	}
};
customElements.define(AudioSkinElement.tagName, AudioSkinElement);

//#endregion
export { AudioSkinElement };
//# sourceMappingURL=skin.js.map