1/*! cmsmasters-elementor-addon - v1.18.3 - 04-09-2025 */ 2"use strict";(self.webpackChunkcmsmasters_elementor_addon=self.webpackChunkcmsmasters_elementor_addon||[]).push([[5171],{2277:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.frontend.handlers.Base{__construct(){super.__construct(...arguments),this.bindElements=[],this.deviceNames=["mobile","tablet","desktop"],this.devicePrefixMaps={mobile:"mobile",tablet:"tablet",desktop:""}}bindElementChange(e,t){this.bindElements.push([e,t])}onElementChange(e){this.bindElements&&this.bindElements.length&&this.bindElements.forEach((t=>{let[s]=t;Array.isArray(s)||(s=s.split(/\s/));const[,i]=t;s.some((t=>{if(-1!==[t,`${t}_tablet`,`${t}_mobile`].indexOf(e))return i(...arguments),!0}))}))}onDestroy(){this.trigger("destroy:before"),super.onDestroy()}getCurrentDeviceSettingInherit(e){const t=["desktop","tablet","mobile"],s=elementorFrontend.getCurrentDeviceMode(),i=this.getElementSettings();let n=t.indexOf(s);for(;n>0;){const s=i[e+"_"+t[n]];if(s&&"object"==typeof s&&Object.prototype.hasOwnProperty.call(s,"size")&&s.size)return s;n--}return i[e]}getCurrentDeviceSettingSize(e){let t=this.getCurrentDeviceSettingInherit(e);return"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"size")&&(t=t.size),t}}t.default=_default},5277:(e,t,s)=>{var i=s(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(s(2277)),l=i(s(2533));class AudioPlayList extends n.default{__construct(e){super.__construct(e),this.keydownHelper=new l.default}getDefaultSettings(){const e="elementor-widget-cmsmasters-audio-playlist",t={widget:e,widgetButton:`${e}__controls-button`,play:"play",pause:"pause",muted:"muted",activeTrack:"cmsmasters-active-track",chooseSpeed:"cmsmasters-choose-speed",activeButton:"cmsmasters-active-button",progressMovement:"cmsmasters-progress-movement",activeVolumeChange:"cmsmasters-active-volume-change",speedRateOpened:"cmsmasters-speed-rate-opened",loopList:"cmsmasters-loop-list",loopDisabled:"cmsmasters-loop-disabled",advancedOpened:"cmsmasters-advanced-opened"};return{classes:t,selectors:{playerWrap:`.${t.widget}__player_wrap`,audioTag:`.${t.widget}__player-audio`,playButton:`.${t.widgetButton}.cmsmasters-player-play`,prevButton:`.${t.widgetButton}.cmsmasters-player-prev`,nextButton:`.${t.widgetButton}.cmsmasters-player-next`,backwardButton:`.${t.widgetButton}.cmsmasters-player-backward`,forwardButton:`.${t.widgetButton}.cmsmasters-player-forward`,loopButton:`.${t.widgetButton}.cmsmasters-player-loop`,shuffleButton:`.${t.widgetButton}.cmsmasters-player-shuffle`,listButton:`.${t.widgetButton}.cmsmasters-player-list`,volumeIcon:`.${t.widget}__volume-icon`,volumeProgressWrap:`.${t.widget}__volume-progress-wrap`,volumeProgress:`.${t.widget}__volume-progress`,volumeButton:`.${t.widgetButton}.cmsmasters-player-volume`,trackNameInfo:`.${t.widget}__track_name_info`,totalTimeValue:`.${t.widget}__total-time-value`,currentTimeValue:`.${t.widget}__current-time-value`,progressInner:`.${t.widget}__progress-inner`,progressTime:`.${t.widget}__progress-time`,progressTimeValue:`.${t.widget}__progress-time-value`,speedWrap:`.${t.widget}__speed`,speedRate:`.${t.widget}__speed-rate`,speedButton:`.${t.widget}__speed-button`,advanced:`.${t.widget}__advanced`,advancedIcon:`.${t.widget}__advanced-icon`,downloadButton:`.${t.widget}__download`,playlist:`.${t.widget}__playlist`,list:`.${t.widget}__playlist-list`,listItem:`.${t.widget}__playlist_item`,track:`.${t.widget}__track`,search:`.${t.widget}__search`,activeTrack:`.${t.activeTrack}`,chooseSpeed:`.${t.chooseSpeed}`,playlistTrack:`.${t.widget}__track`,trackTitle:`.${t.widget}__track-title`,trackSubtitle:`.${t.widget}__track-subtitle`,trackNameTitle:`.${t.widget}__track-name-title`,trackNameSubtitle:`.${t.widget}__track-name-subtitle`,trackSeparator:`.${t.widget}__track-name-separator`}}}getDefaultElements(){const{selectors:e}=this.getSettings();return{$playerWrap:this.findElement(e.playerWrap),$audioTag:this.findElement(e.audioTag),$playButton:this.findElement(e.playButton),$prevButton:this.findElement(e.prevButton),$nextButton:this.findElement(e.nextButton),$backwardButton:this.findElement(e.backwardButton),$forwardButton:this.findElement(e.forwardButton),$loopButton:this.findElement(e.loopButton),$shuffleButton:this.findElement(e.shuffleButton),$listButton:this.findElement(e.listButton),$volumeIcon:this.findElement(e.volumeIcon),$volumeProgressWrap:this.findElement(e.volumeProgressWrap),$volumeProgress:this.findElement(e.volumeProgress),$volumeButton:this.findElement(e.volumeButton),$trackNameInfo:this.findElement(e.trackNameInfo),$totalTimeValue:this.findElement(e.totalTimeValue),$currentTimeValue:this.findElement(e.currentTimeValue),$progressInner:this.findElement(e.progressInner),$progressTime:this.findElement(e.progressTime),$progressTimeValue:this.findElement(e.progressTimeValue),$speedWrap:this.findElement(e.speedWrap),$speedRate:this.findElement(e.speedRate),$speedButton:this.findElement(e.speedButton),$advanced:this.findElement(e.advanced),$advancedIcon:this.findElement(e.advancedIcon),$downloadButton:this.findElement(e.downloadButton),$playlist:this.findElement(e.playlist),$list:this.findElement(e.list),$listItem:this.findElement(e.listItem),$track:this.findElement(e.track),$search:this.findElement(e.search)}}onInit(){super.onInit(),this.onPlay()}bindEvents(){this.keydownHelper.bindAccessibleClick(this.elements.$playButton,(e=>this.player(e))),this.elements.$audioTag.on("volumechange",(()=>this.volumeIconChange())),this.elements.$audioTag.on("ended",(()=>this.ended())),this.elements.$audioTag.on("timeupdate",(()=>{this.updateProgress(),this.updateTotalTime(),this.disabledButton()})),this.keydownHelper.bindAccessibleClick(this.elements.$loopButton,(e=>this.getLoopClass(e))),this.keydownHelper.bindAccessibleClick(this.elements.$prevButton,(e=>this.prev(e))),this.keydownHelper.bindAccessibleClick(this.elements.$nextButton,(e=>this.next(e))),this.keydownHelper.bindAccessibleClick(this.elements.$backwardButton,(e=>this.rewind(e))),this.keydownHelper.bindAccessibleClick(this.elements.$forwardButton,(e=>this.rewind(e))),this.keydownHelper.bindAccessibleClick(this.elements.$track,(e=>this.clickTrack(e))),this.keydownHelper.bindAccessibleClick(this.elements.$listButton,(e=>this.togglePlaylist(e))),this.keydownHelper.bindAccessibleClick(this.elements.$advancedIcon,(e=>this.openAdvanced(e))),jQuery(document).on("click",(()=>this.closeAdvanced(event))),this.keydownHelper.bindAccessibleClick(this.elements.$speedButton,(e=>this.changeSpeed(e))),this.elements.$progressInner.on("mousemove",this.viewCurrentTime.bind(this)),this.keydownHelper.bindAccessibleClick(this.elements.$shuffleButton,(e=>this.activeShuffle(e)))}onPlay(){const{classes:e,selectors:t}=this.getSettings();this.keydownHelper.bindAccessibleClick(this.elements.$speedRate,(s=>{this.elements.$speedWrap.toggleClass(e.speedRateOpened);const i=this.elements.$speedWrap.hasClass(e.speedRateOpened);this.elements.$speedWrap.find(t.speedButton).attr("tabindex",(function(){return i?"0":null}))})),this.progressSlider(),this.volumeChange(),this.volumePosition(),this.search(),this.perfectScroll()}player(){const{classes:e}=this.getSettings(),t=this.elements.$audioTag.get(0),s=this.elements.$playerWrap,i=this.elements.$playButton.get(0),n=this.elements.$playButton.find('[aria-label="Play"]'),l=this.elements.$playButton.find('[aria-label="Pause"]');t.paused?(t.play(),s.removeClass(e.pause).addClass(e.play),i.title="Pause",n.attr({tabindex:"-1"}),l.attr({tabindex:"0"}
2),"keydown"===event.type&&setTimeout((()=>{l.get(0).focus()}),0)):(t.pause(),s.removeClass(e.play).addClass(e.pause),i.title="Play",l.attr({tabindex:"-1"}),n.attr({tabindex:"0"}),"keydown"===event.type&&setTimeout((()=>{n.get(0).focus()}),0))}onRun(e,t){t.src=e.attr("data-href");const s=this.elements.$audioTag.get(0),i="cmsmasters-active-track";e.parent().addClass(i).siblings().removeClass(i),s.load(),s.play()}loadTrack(e){const{classes:t,selectors:s}=this.getSettings();this.elements.$listItem.eq([e]).addClass(t.activeTrack).siblings().removeClass(t.activeTrack),e=0;const i=this.elements.$playlist.find(s.activeTrack+"> "+s.track);this.elements.$audioTag.get(0).src=i.attr("data-href"),this.player()}ended(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$audioTag.get(0),i=this.elements.$listItem,n=this.elements.$shuffleButton;if(s.currentTime=0,n.hasClass(e.activeButton))this.shuffle(i);else{const s=this.elements.$loopButton;let n=this.elements.$playlist.find(t.activeTrack).index();n++,n>=i.length&&(s.hasClass(e.loopList)&&(n=0),s.hasClass(e.loopDisabled)&&(n=i.length)),this.notShuffled(n)}const l=this.elements.$speedWrap.find(t.chooseSpeed).html();s.playbackRate="Normal"===l?1:l,"medium"===this.getElementSettings("audio_size")&&(this.trackNameInfo(),this.downloadTrack())}clickTrack(e){const{classes:t}=this.getSettings(),s=jQuery(e.currentTarget);e.preventDefault(),s.parent().hasClass("cmsmasters-active-track")?this.player():(this.onRun(s,this.elements.$audioTag.get(0)),this.elements.$playButton.get(0).title="Pause",this.elements.$playerWrap.addClass(t.play).removeClass(t.pause)),this.elements.$shuffleButton.hasClass(t.activeButton)&&this.getShuffleList(this.elements.$listItem),"medium"===this.getElementSettings("audio_size")&&(this.trackNameInfo(),this.downloadTrack())}disabledNotShuffle(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$prevButton,i=this.elements.$nextButton,n=this.elements.$playlist.find(t.activeTrack);let l=n.index(),a=n.index();l--,a++,this.elements.$loopButton.hasClass(e.loopList)||(-1===l?(s.attr({disabled:!0,tabindex:"-1"}),i.attr({tabindex:"0"})):(s.attr({disabled:!1,tabindex:"0"}),i.attr({tabindex:"-1"})),a===this.elements.$listItem.length?(i.attr({disabled:!0,tabindex:"-1"}),s.attr({tabindex:"0"})):(i.attr({disabled:!1,tabindex:"0"}),s.attr({tabindex:"-1"})))}disabledShuffle(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$prevButton,i=this.elements.$nextButton,n=this.elements.$shuffleButton.attr("data-shuffle").split(/[\s+,]/).indexOf(String(this.elements.$playlist.find(t.activeTrack).index()));this.elements.$loopButton.hasClass(e.loopList)||(0===n?(s.attr({disabled:!0,tabindex:"-1"}),i.attr({tabindex:"0"})):(s.attr({disabled:!1,tabindex:"0"}),i.attr({tabindex:"-1"})),this.elements.$listItem.length-1===n?(i.attr({disabled:!0,tabindex:"-1"}),s.attr({tabindex:"0"})):(i.attr({disabled:!1,tabindex:"0"}),s.attr({tabindex:"-1"})))}disabledButton(){const{classes:e}=this.getSettings();this.elements.$shuffleButton.hasClass(e.activeButton)?this.disabledShuffle():this.disabledNotShuffle()}refreshTrack(){const e=this.elements.$audioTag.get(0),t=this.elements.$progressInner,s=t.find("> div").get(0),i=t.find("> span").get(0);e.currentTime=0,this.elements.$currentTimeValue.text("00:00"),s.style.width="0%",i.style.left="0%",e.play()}prev(){const{classes:e,selectors:t}=this.getSettings();this.elements.$shuffleButton.hasClass(e.activeButton)?this.prevShuffle():this.prevNotShuffle();const s=this.elements.$audioTag.get(0),i=this.elements.$speedWrap.find(t.chooseSpeed).html();s.playbackRate="Normal"===i?1:i,s.paused||this.elements.$playerWrap.removeClass(e.pause).addClass(e.play),"medium"===this.getElementSettings("audio_size")&&(this.trackNameInfo(),this.downloadTrack())}prevNotShuffle(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$audioTag.get(0),i=this.elements.$listItem,n=this.elements.$loopButton,l=i.length;let a=this.elements.$playlist.find(t.activeTrack).index();a--,3>s.currentTime?-1===a?n.hasClass(e.loopList)&&(this.loadTrack(l-1),s.playing&&s.play()):(this.loadTrack(a),s.playing&&s.play()):this.refreshTrack()}prevShuffle(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$audioTag.get(0),i=this.elements.$loopButton,n=this.elements.$listItem,l=[n][0].length,a=this.elements.$playlist.find(t.activeTrack),o=this.elements.$shuffleButton.attr("data-shuffle").split(/[\s+,]/);let r,d;3>s.currentTime?(0===o.indexOf(String(a.index()))?i.hasClass(e.loopList)&&(d=o[l-1]):d=o[o.indexOf(String(a.index()))-1],r
2=n.eq(Number(d)).find(t.playlistTrack).get(0),this.onRun(jQuery(r),s)):this.refreshTrack()}next(){const{classes:e,selectors:t}=this.getSettings();this.elements.$shuffleButton.hasClass(e.activeButton)?this.nextShuffle():this.nextNotShuffle();const s=this.elements.$audioTag.get(0),i=this.elements.$speedWrap.find(t.chooseSpeed).html();s.playbackRate="Normal"===i?1:i,s.paused||this.elements.$playerWrap.removeClass(e.pause).addClass(e.play),"medium"===this.getElementSettings("audio_size")&&(this.trackNameInfo(),this.downloadTrack())}nextNotShuffle(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$listItem,i=this.elements.$loopButton,n=this.elements.$playlist.find(t.activeTrack);let l=n.index();l++,l===s.length?i.hasClass(e.loopList)&&(this.loadTrack(0),n.playing&&n.play()):(this.loadTrack(l),n.playing&&n.play())}nextShuffle(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$listItem,i=this.elements.$shuffleButton,n=[s][0].length,l=this.elements.$loopButton,a=this.elements.$playlist.find(t.activeTrack),o=i.attr("data-shuffle").split(/[\s+,]/),r=o.indexOf(String(a.index()));let d;n-1===r?l.hasClass(e.loopList)&&(d=o[0]):d=o[r+1];const h=s.eq(Number(d)).find(t.playlistTrack).get(0),c=this.elements.$audioTag.get(0);this.onRun(jQuery(h),c)}rewind(e){const t=this.elements.$audioTag.get(0),s=this.elements.$forwardButton.get(0),i=this.getElementSettings("audio_control_button_forward_size"),n=this.getElementSettings("audio_control_button_backward_size"),l=t.duration,a=t.currentTime+Number(i),o=t.currentTime+-1*Number(n);let r;r=jQuery.contains(s,e.target)?a>l?l:a:o<0?0:o,t.currentTime=r,t.paused&&this.player()}notShuffled(e){const{classes:t,selectors:s}=this.getSettings(),i=this.elements.$audioTag.get(0),n=this.elements.$listItem,l=this.elements.$loopButton,a=this.elements.$playlist.find(s.playlistTrack);let o;l.hasClass(t.loopList)?l.hasClass(t.loopList)&&(o=n.length===e?a.get(0):a[e],this.onRun(jQuery(o),i)):n.length!==e?(o=a[e],this.onRun(jQuery(o),i)):this.elements.$playerWrap.removeClass(t.play).addClass(t.pause)}shuffleOrderedList(e){let t,s,i=e.length;for(;0!==i;)s=Math.floor(Math.random()*i),i-=1,t=e[i],e[i]=e[s],e[s]=t}shuffleMovingActiveTrack(e){const{selectors:t}=this.getSettings(),s=this.elements.$playlist.find(t.activeTrack).index();e.sort((function(e,t){let i;return i=e===s?-1:t===s?1:0,i}))}getShuffleList(e){const t=e.length,s=[];for(let e=0;e<t;e++)s.push(e);this.shuffleOrderedList(s),this.shuffleMovingActiveTrack(s);const i=this.elements.$shuffleButton,n=this.elements.$audioTag.get(0);i.attr("data-shuffle",s),n.paused&&this.player()}shuffle(e){const{classes:t,selectors:s}=this.getSettings(),i=e.length,n=this.elements.$listItem,l=this.elements.$shuffleButton,a=this.elements.$playlist.find(s.activeTrack),o=l.attr("data-shuffle").split(/[\s+,]/),r=o.indexOf(String(a.index())),d=i-1;let h;h=d===r?o[0]:o[r+1];const c=this.elements.$playerWrap,m=this.elements.$audioTag.get(0),u=this.elements.$loopButton,p=n.eq(Number(h)).find(s.playlistTrack).get(0);u.hasClass(t.loopDisabled)&&d===r?(m.pause(),c.removeClass(t.play).addClass(t.pause)):this.onRun(jQuery(p),m)}activeShuffle(e){const{classes:t}=this.getSettings(),s=this.elements.$shuffleButton,i=this.elements.$listItem;jQuery(e.currentTarget).toggleClass(t.activeButton),s.hasClass(t.activeButton)?this.getShuffleList(i):s.removeAttr("data-shuffle")}getLoopClass(){const{classes:e}=this.getSettings(),t=this.elements.$loopButton,s="cmsmasters-loop-",i=s+"list",n=s+"track",l=s+"disabled";let a,o,r;t.hasClass(i)?(a=i,o=e.activeButton+" "+n,r="yes"):(r="",t.hasClass(l)?(a=l,o=e.activeButton+" "+i):t.hasClass(n)&&(a=e.activeButton+" "+n,o=l)),t.removeClass(a).addClass(o),this.elements.$audioTag.get(0).loop=r,this.disabledWithLoop()}disabledWithLoop(){const{classes:e,selectors:t}=this.getSettings(),s=this.elements.$loopButton,i=this.elements.$prevButton,n=this.elements.$nextButton,l=this.elements.$shuffleButton,a=this.elements.$listItem,o=this.elements.$playlist.find(t.activeTrack);let r=o.index(),d=o.index();if(r--,d++,s.hasClass(e.loopList)){if(l.hasClass(e.activeButton)){const e=a.length,t=l.attr("data-shuffle").split(/[\s+,]/).indexOf(String(o.index()));0===t&&i.attr("disabled",!1),e-1===t&&n.attr("disabled",!1)}else-1===r&&i.attr("disabled",!1),d===a.length&&n.attr("disabled",!1);n.attr("tabindex","0"),i.attr("tabindex","0")}}trackNameInfo(){const{selectors:e}=this.getSettings(),t=this.elements.$list,s=this.elements.$playlist.find(e.activeTrack),i=this.elements.$trackNameInfo,n=t.find(s).find(e.trackSubtitle).text(),l=t.find(s).find(e.trackTitle).text();i.find(e.trackNameTitle).text(l||""),n&&l?i.find(e.trackSeparator).text("-"):i.find(e.trackSeparator).text(""),i.find(e.trackNameSubtitle).text(n||"")}conversionTime(e,t){let s=parseInt(e),i=parseInt(t);return s=s>=10?s:"0"+s,i=i>=10?i:"0"+i,s+":"+i}updateTotalTime(){const e=this.elements.$audioTag.get(0),t=this.elements.$totalTimeValue,s=e.duration,i=s/60%60,n=s%60;s?t.html(this.conversionTime(i,n)):setTimeout((function(){t.html("-- : --")}),500)}progressSlider(){const{classes:e}=this.getSettings(),t=this.elements.$audioTag.get(0),s=this.elements.$progressInner,i=t.duration,n=this.elements.$progressTime.get(0),l=this.elements.$progressTimeValue;s.slider({orientation:"horizontal",range:"min",min:0,max:100,value:0,slide:(t,a)=>{const o=a.value*i/100/60%60,r=a.value*i/100%60;s.addClass(e.progressMovement),i&&l.html(this.conversionTime(o,r)),n.style.left=a.value+"%"},stop:(i,n)=>{const l=t.duration;t.currentTime=n.value*l/100,s.removeClass(e.progressMovement)}})}updateProgress(){const{classes:e}=this.getSettings(),t=this.elements.$audioTag.get(0),s=this.elements.$progressInner,i=s.find("> div").get(0),n=s.find("> span").get(0),l=t.currentTime,a=t.duration,o=l/a*100+"%";s.hasClass(e.progressMovement)||(i.style.width=o,n.style.left=o);const r=this.elements.$currentTimeValue,d=l/60%60,h=l%60;a?r.html(this.conversionTime(d,h)):setTimeout((function(){r.html("Loading...")}),500)}viewCurrentTime(e){const t=this.elements.$progressInner.get(0).offsetWidth,s=e.offsetX/t*100,i=this.elements.$audioTag.get(0).duration,n=s*i/100/60%60,l=s*i/100%60,a=this.elements.$progressTimeValue;i?a.html(this.conversionTime(n,l)):setTimeout((function(){a.html("-- : --")}),500),this.elements.$progressTime.get(0).style.left=s+"%"}openAdvanced(e){const{classes:t}=this.getSettings(),s=this.elements.$speedWrap;jQuery(e.currentTarget).parent().toggleClass(t.advancedOpened),s.hasClass(t.speedRateOpened)&&s.removeClass(t.speedRateOpened)}closeAdvanced(e){const{classes:t}=this.getSettings(),s=this.elements.$advancedIcon,i=this.getElementSettings();"medium"!==i.audio_size||"yes"!==i.audio_advanced_speed&&"yes"!==i.audio_advanced_download||jQuery.contains(this.elements.$advanced.get(0),e.target)||!jQuery(s.parent()).hasClass(t.advancedOpened)||(e.preventDefault(),s.parent().removeClass(t.advancedOpened),this.elements.$speedWrap.removeClass(t.speedRateOpened))}changeSpeed(e){const{classes:t}=this.getSettings(),s=e.target.innerText,i="Normal"===s;this.elements.$audioTag.get(0).playbackRate=i?1:s,this.elements.$speedRate.html(s+(i?"":"x")),jQuery(e.target).addClass(t.chooseSpeed).siblings().removeClass(t.chooseSpeed),this.elements.$speedWrap.removeClass(t.speedRateOpened)}downloadTrack(){const{selectors:e}=this.getSettings(),t=this.elements.$downloadButton.get(0),s=this.elements.$playlist.find(e.activeTrack+"> "+e.track);t.href=s.attr("data-href"),t.download=s.text()}volumeChange(){const{classes:e}=this.getSettings(),t=this.elements.$audioTag.get(0),s=this.elements.$volumeProgressWrap,i=this.elements.$volumeProgress,n=this.elements.$volumeButton;i.slider({orientation:"vertical",range:"min",min:0,max:100,value:100,slide:function(i,l){t.volume=l.value/100,s.addClass(e.activeVolumeChange),0>=l.value?(n.addClass(e.muted),n.get(0).title=0):(n.removeClass(e.muted),n.get(0).title=l.value+"%")},stop:function(){s.removeClass(e.activeVolumeChange)}}),this.keydownHelper.bindAccessibleClick(n,(e=>this.volumeToggle(e)))}volumeToggle(){const e=this.elements.$audioTag.get(0),t=this.elements.$volumeProgress,s=t.find("> div"),i=t.find("> span").get(0),n=this.elements.$volumeButton.get(0);let l=s.data("volume-old");0===e.volume?(e.volume=parseInt(l)/100,s.get(0).style.height=l,i.style.bottom=l,n.title=l):(e.volume=0,l=s.get(0).style.height,s.data("volume-old",l).get(0).style.height=0,i.style.bottom=0,n.title=0)}volumeIconChange(){const e=this.elements.$audioTag.get(0),t="cmsmasters-volume-",s=t+"up-active",i=t+"down-active",n=t+"off-active",l=t+"mute-active";let a,o;0===e.volume?(a=`${n} ${i} ${s}`,o=l):.29>=e.volume>0?(a=`${l} ${i} ${s}`,o=n):.6>=e.volume>=.3?(a=`${l} ${n} ${s}`,o=i):e.volume>.61&&(a=`${l} ${n} ${i}`,o=s),this.elements.$volumeButton.removeClass(a).addClass(o)}volumePosition(){const e=this.elements.$volumeButton.get(0).offsetWidth,t=this.elements.$volumeProgressWrap.get(0),s=t.offsetWidth;let i;i=s>e?(s-e)/2*-1:0,t.style.left=i+"px"}togglePlaylist(e){const{classes:t}=this.getSettings(),s=this.elements.$playlist,i=this.getElementSettings("audio_playlist_type"),n=jQuery(e.currentTarget);n.toggleClass(t.activeButton),n.hasClass(t.activeButton)?(n.get(0).title="Hide Playlist","toggle"===i&&s.slideDown(400,"linear")):(n.get(0).title="Show Playlist","toggle"===i&&s.slideUp(400,"linear"))}search(){const e=this.elements.$listItem,t=jQuery(this);e.each((function(){t.attr("data-search-term",t.text().toLowerCase())})),this.elements.$search.on("keyup",(function(){const s=t.val().toLowerCase();e.each((function(){t.filter("[data-search-term *= "+s+"]").length>0||s.length<1?t.show():t.hide()}))}))}perfectScroll(){const e=this.elements.$list.get(0);void 0!==e&&new PerfectScrollbar(e,{suppressScrollX:!0})}unbindEvents(){this.elements.$playButton.off("click",this.player.bind(this)),this.elements.$audioTag.off("volumechange",(()=>this.volumeIconChange())),this.elements.$audioTag.off("ended",(()=>this.ended())),this.elements.$audioTag.off("timeupdate",(()=>{this.updateProgress(),this.updateTotalTime(),this.disabledButton()})),this.elements.$loopButton.off("click",(()=>this.getLoopClass())),this.elements.$prevButton.off("click",(()=>this.prev())),this.elements.$nextButton.off("click",(()=>this.next())),this.elements.$backwardButton.off("click",(()=>this.rewind(event))),this.elements.$forwardButton.off("click",(()=>
2this.rewind(event))),this.elements.$track.off("click",(()=>this.clickTrack(event))),this.elements.$listButton.off("click",(()=>this.togglePlaylist(event))),this.elements.$advancedIcon.off("click",(()=>this.openAdvanced(event))),jQuery(document).off("click",(()=>this.closeAdvanced(event))),this.elements.$speedButton.off("click",(()=>this.changeSpeed(event))),this.elements.$progressInner.off("mousemove",this.viewCurrentTime.bind(this)),this.elements.$shuffleButton.off("click",(()=>this.activeShuffle(event)))}}t.default=AudioPlayList}}]);
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.