{"version":3,"file":"PlayerCompact-D2p0ZIHQ.mjs","names":[],"sources":["../src/components/misc/player/elements/PlayerSpeedButton.vue","../src/components/misc/player/elements/PlayerSpeedButton.vue","../src/components/misc/player/PlayerCompact.vue","../src/components/misc/player/PlayerCompact.vue"],"sourcesContent":["<template>\n  <button\n    id=\"player-speed-button\"\n    :title=\"t('Change speed')\"\n    class=\"btn play-button-box small-font btn-transparent text-light me-0\"\n  >\n    {{ \"×\" + speedArray[speedIndex] }}\n  </button>\n  <ClassicPopover\n    target=\"player-speed-button\"\n    relative-class=\"player-container\"\n    class=\"player-speed-dropdown\"\n    :constrain-height=\"state.player.topPlacement !== true\"\n    :top-pos=\"state.player.topPlacement !== true\"\n    only-click\n    is-fixed\n  >\n    <button\n      v-for=\"(speed, index) in speedArray\"\n      :key=\"speed\"\n      class=\"octopus-dropdown-item speed-style\"\n      @mousedown=\"changeSpeed(index)\"\n      @keydown.enter=\"changeSpeed(index)\"\n    >\n      {{ \"×\" + speed }}\n    </button>\n  </ClassicPopover>\n</template>\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport ClassicPopover from \"../../ClassicPopover.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { state } from \"../../../../stores/ParamSdkStore\";\n\n//Data \nconst speedIndex = ref(2);\nconst speedArray = ref([0.5, 0.75, 1, 1.25, 1.5, 1.75]);\nconst audioPlayer: Ref<HTMLAudioElement | null> = ref(null);\n\n//Composables\nconst { t } = useI18n();\n\nonMounted(()=>{\n  audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction changeSpeed(index: number) {\n  speedIndex.value = index;\n  if (audioPlayer.value) {\n    audioPlayer.value.playbackRate = speedArray.value[speedIndex.value];\n  }\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n.octopus-app {\n  .speed-style {\n    font-size: 12px;\n  }\n\n  .player-speed-dropdown {\n    min-width: 100px;\n  }\n}\n</style>\n","<template>\n  <button\n    id=\"player-speed-button\"\n    :title=\"t('Change speed')\"\n    class=\"btn play-button-box small-font btn-transparent text-light me-0\"\n  >\n    {{ \"×\" + speedArray[speedIndex] }}\n  </button>\n  <ClassicPopover\n    target=\"player-speed-button\"\n    relative-class=\"player-container\"\n    class=\"player-speed-dropdown\"\n    :constrain-height=\"state.player.topPlacement !== true\"\n    :top-pos=\"state.player.topPlacement !== true\"\n    only-click\n    is-fixed\n  >\n    <button\n      v-for=\"(speed, index) in speedArray\"\n      :key=\"speed\"\n      class=\"octopus-dropdown-item speed-style\"\n      @mousedown=\"changeSpeed(index)\"\n      @keydown.enter=\"changeSpeed(index)\"\n    >\n      {{ \"×\" + speed }}\n    </button>\n  </ClassicPopover>\n</template>\n<script setup lang=\"ts\">\nimport { useI18n } from \"vue-i18n\";\nimport ClassicPopover from \"../../ClassicPopover.vue\";\nimport { onMounted, Ref, ref } from \"vue\";\nimport { state } from \"../../../../stores/ParamSdkStore\";\n\n//Data \nconst speedIndex = ref(2);\nconst speedArray = ref([0.5, 0.75, 1, 1.25, 1.5, 1.75]);\nconst audioPlayer: Ref<HTMLAudioElement | null> = ref(null);\n\n//Composables\nconst { t } = useI18n();\n\nonMounted(()=>{\n  audioPlayer.value = document.querySelector(\"#audio-player\");\n})\n\n//Methods\nfunction changeSpeed(index: number) {\n  speedIndex.value = index;\n  if (audioPlayer.value) {\n    audioPlayer.value.playbackRate = speedArray.value[speedIndex.value];\n  }\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n.octopus-app {\n  .speed-style {\n    font-size: 12px;\n  }\n\n  .player-speed-dropdown {\n    min-width: 100px;\n  }\n}\n</style>\n","<template>\n  <div class=\"d-flex align-items-center flex-grow-1 ps-2\">\n    <PlayerImage />\n    <PlayerPlayButton :player-error=\"playerError\" />\n    <div class=\"player-text player-grow-content\">\n      <div class=\"d-flex\" :class=\"!radioUrl ? 'mb-1' : ''\">\n        <PlayerTitle :player-error=\"playerError\" :hls-ready=\"hlsReady\" />\n        <div\n          v-if=\"!playerError && (!radioUrl || isAdPlaying)\"\n          class=\"hide-phone ps-2 flex-shrink-0\"\n        >\n          {{ displayPlayTime }} / {{ displayTotalTime }}\n        </div>\n      </div>\n      <PlayerChaptering />\n      <PlayerProgressBar\n        :display-alert-bar=\"displayAlertBar\"\n        :percent-live-progress=\"percentLiveProgress\"\n        :duration-live-position=\"durationLivePosition\"\n        :player-error=\"playerError\"\n        :listen-time=\"listenTime\"\n      />\n    </div>\n    <PlayerSpeedButton v-if=\"!radioUrl\" />\n    <button\n      id=\"player-up-btn\"\n      :title=\"'' != transcriptText ? t('View transcript') : t('Enlarge')\"\n      class=\"btn play-button-box btn-transparent player-text me-0\"\n      @click=\"changePlayerLargeVersion\"\n    >\n      <ChevronUpIcon />\n    </button>\n    <button\n      :title=\"t('Close')\"\n      class=\"btn play-button-box btn-transparent player-text\"\n      @click=\"stopPlayer\"\n    >\n      <WindowCloseIcon />\n    </button>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronUpIcon from \"vue-material-design-icons/ChevronUp.vue\";\nimport WindowCloseIcon from \"vue-material-design-icons/WindowClose.vue\";\nimport {usePlayerDisplayTime} from \"../../composable/player/usePlayerDisplayTime\";\nimport PlayerTitle from \"./elements/PlayerTitle.vue\";\nimport PlayerChaptering from \"./chaptering/PlayerChaptering.vue\";\nimport PlayerImage from \"./elements/PlayerImage.vue\";\nimport PlayerPlayButton from \"./elements/PlayerPlayButton.vue\";\nimport PlayerSpeedButton from \"./elements/PlayerSpeedButton.vue\";\nimport { defineAsyncComponent} from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst PlayerProgressBar = defineAsyncComponent(\n  () => import(\"./progressbar/PlayerProgressBar.vue\"),\n);\n//Props\ndefineProps( {\n  playerError: { default: false, type: Boolean },\n  displayAlertBar: { default: false, type: Boolean },\n  percentLiveProgress: { default: 0, type: Number },\n  durationLivePosition: { default: 0, type: Number },\n  listenTime: { default: 0, type: Number },\n  hlsReady: { default: false, type: Boolean },\n});\n\n//Emits\nconst emit = defineEmits(['stopPlayer', 'changePlayerLargeVersion']);\n\n//Composables\nconst { \n  transcriptText,\n  radioUrl,\n  isAdPlaying,\n  displayPlayTime,\n  displayTotalTime,\n } = usePlayerDisplayTime();\nconst { t } = useI18n();\n\n\n//Methods\nfunction stopPlayer() {\n  emit(\"stopPlayer\");\n}\nfunction changePlayerLargeVersion() {\n  emit(\"changePlayerLargeVersion\");\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app .player-grow-content {\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n  flex-shrink: 1;\n  overflow: hidden;\n  font-size: 0.8rem;\n  padding: 0 0.5rem;\n}\n\n.player-text {\n  color: var(--octopus-player-text-color);\n}\n</style>\n","<template>\n  <div class=\"d-flex align-items-center flex-grow-1 ps-2\">\n    <PlayerImage />\n    <PlayerPlayButton :player-error=\"playerError\" />\n    <div class=\"player-text player-grow-content\">\n      <div class=\"d-flex\" :class=\"!radioUrl ? 'mb-1' : ''\">\n        <PlayerTitle :player-error=\"playerError\" :hls-ready=\"hlsReady\" />\n        <div\n          v-if=\"!playerError && (!radioUrl || isAdPlaying)\"\n          class=\"hide-phone ps-2 flex-shrink-0\"\n        >\n          {{ displayPlayTime }} / {{ displayTotalTime }}\n        </div>\n      </div>\n      <PlayerChaptering />\n      <PlayerProgressBar\n        :display-alert-bar=\"displayAlertBar\"\n        :percent-live-progress=\"percentLiveProgress\"\n        :duration-live-position=\"durationLivePosition\"\n        :player-error=\"playerError\"\n        :listen-time=\"listenTime\"\n      />\n    </div>\n    <PlayerSpeedButton v-if=\"!radioUrl\" />\n    <button\n      id=\"player-up-btn\"\n      :title=\"'' != transcriptText ? t('View transcript') : t('Enlarge')\"\n      class=\"btn play-button-box btn-transparent player-text me-0\"\n      @click=\"changePlayerLargeVersion\"\n    >\n      <ChevronUpIcon />\n    </button>\n    <button\n      :title=\"t('Close')\"\n      class=\"btn play-button-box btn-transparent player-text\"\n      @click=\"stopPlayer\"\n    >\n      <WindowCloseIcon />\n    </button>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport ChevronUpIcon from \"vue-material-design-icons/ChevronUp.vue\";\nimport WindowCloseIcon from \"vue-material-design-icons/WindowClose.vue\";\nimport {usePlayerDisplayTime} from \"../../composable/player/usePlayerDisplayTime\";\nimport PlayerTitle from \"./elements/PlayerTitle.vue\";\nimport PlayerChaptering from \"./chaptering/PlayerChaptering.vue\";\nimport PlayerImage from \"./elements/PlayerImage.vue\";\nimport PlayerPlayButton from \"./elements/PlayerPlayButton.vue\";\nimport PlayerSpeedButton from \"./elements/PlayerSpeedButton.vue\";\nimport { defineAsyncComponent} from \"vue\";\nimport { useI18n } from \"vue-i18n\";\nconst PlayerProgressBar = defineAsyncComponent(\n  () => import(\"./progressbar/PlayerProgressBar.vue\"),\n);\n//Props\ndefineProps( {\n  playerError: { default: false, type: Boolean },\n  displayAlertBar: { default: false, type: Boolean },\n  percentLiveProgress: { default: 0, type: Number },\n  durationLivePosition: { default: 0, type: Number },\n  listenTime: { default: 0, type: Number },\n  hlsReady: { default: false, type: Boolean },\n});\n\n//Emits\nconst emit = defineEmits(['stopPlayer', 'changePlayerLargeVersion']);\n\n//Composables\nconst { \n  transcriptText,\n  radioUrl,\n  isAdPlaying,\n  displayPlayTime,\n  displayTotalTime,\n } = usePlayerDisplayTime();\nconst { t } = useI18n();\n\n\n//Methods\nfunction stopPlayer() {\n  emit(\"stopPlayer\");\n}\nfunction changePlayerLargeVersion() {\n  emit(\"changePlayerLargeVersion\");\n}\n</script>\n\n<style scoped lang=\"scss\">\n.octopus-app .player-grow-content {\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n  flex-shrink: 1;\n  overflow: hidden;\n  font-size: 0.8rem;\n  padding: 0 0.5rem;\n}\n\n.player-text {\n  color: var(--octopus-player-text-color);\n}\n</style>\n"],"mappings":"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"}