1import{S as B,a as U}from"./_constants-DI1opS8x.js";import{_ as k,u as x,g as S,k as $,x as L,I as A,b as f,c as h,e as o,D as l,w as u,J as v,E as V,V as g,K as I,L as C,F as P,t as p,M as F,N as M,O as c,P as y,Q as O,S as E,U as N,j as D,G as R,m as j,a as z}from"./app-BV_MRGiY.js";import{u as d}from"./audioPlayer-GEaIw4vA.js";import{V as b}from"./VSlider-D2Bv9snr.js";import{L as G}from"./LoadingDummyCustom-TdSBOfeM.js";import{u as J}from"./useTopClass-BUpBrAOz.js";import{V as K}from"./VSpacer-BDYNWQQy.js";import"./_commonjsHelpers-DaWZu8wl.js";import"./LoadingDummy-DMOrQAEG.js";import"./createSimpleFunctional-B9jd2Nfg.js";const w={name:"Player",props:{source:{type:Object,default:()=>({file:"https://..."})},file:{type:String,default:""}},emits:["state","loaded","next"],setup(){return{...A(),...L()}},data(){return{currentSeconds:0,durationSeconds:0,currentBufferEnd:0,showCurrentTime:!0,loaded:!1,playing:!1,previousVolume:35,showVolume:!1,audioFile:this.source.file||"",autoPlay:!0,firstPlay:!0,actionLoading:!1}},computed:{...$(d,["toggleState"]),muted(){return this.volume/100===0},percentComplete(){return this.durationSeconds===0?0:parseInt(this.currentSeconds/this.durationSeconds*100)},percentBuffer(){return(this.durationSeconds===0?0:parseInt(this.currentBufferEnd/this.durationSeconds*100))+"%"},sliderValue:{get(){return this.currentSeconds},set(t){this.$refs.audio.currentTime=parseInt(t)}},volume:{get(){return this.getUserOption("audioPlayer/volume")},set(t){this.setUserOption({option:"audioPlayer/volume",data:t})}},currentSecondsHHMMSS(){return this.convertTimeHHMMSS(this.currentSeconds)},diffSecondsHHMMSS(){return this.convertTimeHHMMSS(this.durationSeconds-this.currentSeconds)},durationSecondsHHMMSS(){return this.convertTimeHHMMSS(this.durationSeconds)}},watch:{playing(t){if(t){this.firstPlay&&(this.showCurrentTime=!0,this.firstPlay=!1,this.$bsa&&this.$bsa.event({eventCategory:"Audio Player",eventAction:"Play - firstFrame",eventLabel:this.source.title})),this.actionLoading=!0;let e=this.$refs.audio&&this.$refs.audio.play();e&&(e.then(()=>{this.setMediaSession(),this.$emit("state",B)}),e.catch(r=>{this.actionLoading=!1,this.setPlay(!1)}).finally(()=>{this.actionLoading=!1}))}else this.$refs.audio.pause(),this.$emit("state",U)},volume(){this.$refs.audio.volume=this.volume/100},source:function(t,e){t.file!==e.file&&(this.setPlay(!1),this.audioFile=t.file)},toggleState:function(t,e){if(t!==e&&t){this.onPlay();let r=d(S());r.toggleState=!1}}},created(){this.isClick=!1},methods:{load(t){if(this.$refs.audio&&t.type==="loadeddata"&&this.$refs.audio.readyState>=2&&!window.isSafari||t.type==="loadedmetadata"&&window.isSafari)return this.loaded=!0,this.$refs.audio.volume=this.volume/100,this.$emit("loaded",!0),this.durationSeconds=parseInt(this.$refs.audio.duration),this.firstPlay=!0,this.setPlay(this.autoPlay)},mute(){if(this.muted)return this.volume=this.previousVolume;this.previousVolume=this.volume,this.volume=0},seek(t){if(!this.loaded)return;const e=t.target.getBoundingClientRect(),r=(t.clientX-e.left)/e.width;this.$refs.audio.currentTime=parseInt(this.$refs.audio.duration*r)},stop(){this.setPlay(!1),this.$refs.audio.currentTime=0},update(){this.$refs.audio&&(this.currentSeconds=parseInt(this.$refs.audio.currentTime))},updateBuffer(){if(this.durationSeconds>0&&this.$refs.audio)for(var t=0;t<this.$refs.audio.buffered.length;t++)this.currentBufferEnd=this.$refs.audio.buffered.end(this.$refs.audio.buffered.length-1-t)},onComplete(){this.$emit("next"),this.$bsa&&this.$bsa.event({eventCategory:"Audio Player",eventAction:"Complete",eventLabel:this.source.title})},onPlay(){this.setPlay(!this.playing)},setPlay(t){this.actionLoading||(this.playing=t)},setMediaSession(){if(this.playing&&"mediaSession"in navigator){let t={title:this.source.title??this.audioFile},e={},r=d(this.$pinia).audioResourceItem.reading_plan,n=x(this.$pinia).textContent?.graphic?.global[0];if(r&&r.metadata?.header_mobile?.src){e.src=r.metadata.header_mobile.src;let a=r.metadata.header_mobile.width,s=r.metadata.header_mobile.height;e.sizes=`${s}x${a}`,e.type="image/jpg"}else if(n){e.src=n.image;let a=n.metadata?.width,s=n.metadata?.height;e.sizes=`${s}x${a}`,e.type="image/png"}else e.src=new URL("/build/bs-start-back-Dno9hVpC.jpg",import.meta.url).href,e.sizes="2560x1440",e.type="image/png";
1t.artwork=[e],navigator.mediaSession.metadata=new MediaMetadata(t),navigator.mediaSession.setActionHandler("play",this.onPlay),navigator.mediaSession.setActionHandler("pause",this.onPlay)}},convertTimeHHMMSS(t){let e=new Date(t*1e3).toISOString().substr(11,8);return e.indexOf("00:")===0?e.substr(3):e}}},T=()=>{F(t=>({e4b7db20:t.percentBuffer}))},H=w.setup;w.setup=H?(t,e)=>(T(),H(t,e)):T;const Q={class:"audio-player-custom"},X={class:"player-controls"},Y={class:"player-controls__play"},q={class:"player-controls__seek"},W={class:"player-time"},Z={class:"player-time-total"},ee=["src"];function te(t,e,r,n,a,s){return f(),h("div",Q,[o("div",X,[o("div",Y,[l(g,{icon:"",color:"white",variant:"plain",title:a.playing?t.t("async.audioPlayer.pause"):t.t("async.audioPlayer.play"),onClick:V(s.onPlay,["prevent"]),onFocus:e[0]||(e[0]=i=>a.showVolume=!1)},{default:u(()=>[l(v,{icon:`bs:$vuetify.icons.mdi${a.playing?"Pause":"Play"}`},null,8,["icon"])]),_:1},8,["title","onClick"])]),o("div",{class:I(["player-controls__volume",{"player-controls__volume--show":a.showVolume}]),onMouseover:e[3]||(e[3]=i=>a.showVolume=!0),onMouseleave:e[4]||(e[4]=i=>a.showVolume=!1),onBlur:e[5]||(e[5]=i=>a.showVolume=!1)},[l(g,{icon:"",color:"white",variant:"plain",title:t.t("async.audioPlayer.volume"),onClick:V(s.mute,["prevent"]),onFocus:e[1]||(e[1]=i=>a.showVolume=!0)},{default:u(()=>[l(v,{icon:`bs:$vuetify.icons.mdiVolume${s.muted?"Off":s.volume>50?"High":"Medium"}`},null,8,["icon"])]),_:1},8,["title","onClick"]),l(b,{modelValue:s.volume,"onUpdate:modelValue":e[2]||(e[2]=i=>s.volume=i),"hide-details":"",color:"#fff",max:100},null,8,["modelValue"])],34),o("div",{tabindex:"0","aria-hidden":"true",onFocus:e[6]||(e[6]=i=>a.showVolume=!1)},null,32),o("div",q,[o("div",W,[o("span",{class:"player-time-variant",onClick:e[7]||(e[7]=i=>a.showCurrentTime=!a.showCurrentTime)},[a.showCurrentTime?(f(),h(C,{key:0},[P(p(s.currentSecondsHHMMSS),1)],64)):(f(),h(C,{key:1},[P(p(s.diffSecondsHHMMSS),1)],64))]),o("span",Z,"Â /Â "+p(s.durationSecondsHHMMSS),1)]),l(b,{modelValue:s.sliderValue,"onUpdate:modelValue":e[8]||(e[8]=i=>s.sliderValue=i),max:a.durationSeconds,color:"#fff","hide-details":""},null,8,["modelValue","max"])])]),o("audio",{ref:"audio",src:a.audioFile,preload:"metadata",class:"d-none",onProgress:e[9]||(e[9]=(...i)=>s.updateBuffer&&s.updateBuffer(...i)),onTimeupdate:e[10]||(e[10]=(...i)=>s.update&&s.update(...i)),onLoadeddata:e[11]||(e[11]=(...i)=>s.load&&s.load(...i)),onLoadedmetadata:e[12]||(e[12]=(...i)=>s.load&&s.load(...i)),onPause:e[13]||(e[13]=i=>s.setPlay(!1)),onPlay:e[14]||(e[14]=i=>s.setPlay(!0)),onEnded:e[15]||(e[15]=(...i)=>s.onComplete&&s.onComplete(...i))},null,40,ee)])}const se=k(w,[["render",te]]),ie={name:"AudioPlayer",components:{LoadingDummyCustom:G,Player:se},setup(){return J("with-audio-player"),{...A(),...L()}},data:()=>({loaded:!1}),computed:{...$(d,["copyright","title","state","audioResourceItem"]),autoPlay:{get(){return this.getUserOption("audioPlayer/autplay")},set(t){this.setUserOption({option:"audioPlayer/autplay",data:t})}},source:function(){return{file:this.audioResourceItem.media,title:this.title}}},methods:{...j(z,["showAudioPlayer"]),nextTitle(){this.autoPlay&&d(S()).fetchNextResourceItem()},setState(t){let e=d(S());e.state=t}}},ae={class:"audio-player-wrapper hidden-print-only"},oe=["title"],re={class:"autoplay flex-shrink-0"},le=["innerHTML"],ne=["innerHTML"];function ue(t,e,r,n,a,s){const i=M("player"),_=M("loading-dummy-custom");return f(),h("div",ae,[c(o("div",{class:"audio-title text-truncate",title:t.title.toUpperCase()},p(t.title.toUpperCase()),9,oe),[[y,t.loaded]]),l(i,{source:s.source,onLoaded:e[0]||(e[0]=m=>t.loaded=!0),onState:s.setState,onNext:s.nextTitle},null,8,["source","onState","onNext"]),o("div",re,[c(l(O,{modelValue:s.autoPlay,"onUpdate:modelValue":e[1]||(e[1]=m=>s.autoPlay=m),label:t.t("async.audioPlayer.autoplay").toUpperCase(),color:"#fff","hide-details":""},null,8,["modelValue","label"]),[[y,t.loaded]])]),l(N,{location:"top","max-width":"290",attach:".v-application"},{activator:u(({props:m})=>[c(o("div",E({class:"copyright text-truncate"},m,{innerHTML:t.copyright}),null,16,le),[[y,t.loaded]])]),default:u(()=>[o("div",{innerHTML:t.copyright.replace(/(?:\r\n|\r|\n)/g,"<br>")},null,8,ne)]),_:1}),t.loaded?R("",!0):(f(),D(_,{key:0,height:"40px",margin:"0"})),l(K,{class:"hidden-md-and-up"}),l(g,{icon:"",variant:"text",color:"white",class:"close",title:t.t("async.audioPlayer.close"),onClick:e[2]||(e[2]=m=>t.showAudioPlayer(!1))},{default:u(()=>[l(v,null,{default:u(()=>[...e[3]||(e[3]=[P("bs:$vuetify.icons.mdiClose",-1)])]),_:1})]),_:1},8,["title"])])}const Pe=k(ie,[["render",ue]]);export{Pe as default}; 2//# sourceMappingURL=AudioPlayer-D7ym8aWQ.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.