https://emasjid.net/wp-content/plugins/html5-audio-player/build/bl…/view.js?ver=f7c09fe47917f726a4fa
1(()=>{"use strict";var e={};(()=>{var t;globalThis.importScripts&&(t=globalThis.location+"");var a=globalThis.document;if(!t&&a&&(a.currentScript&&"SCRIPT"===a.currentScript.tagName.toUpperCase()&&(t=a.currentScript.src),!t)){var n=a.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&(!t||!/^http(s?):/.test(t));)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../../"})();const t=window.React,a=window.wp.element,n=e.p+"images/sticky-default.dc1095b9.jpg";function r(e="",t="",a=""){return`<div class="skin_container wave radius">\n <div class="thumb">\n <img src="${e||n}" />\n </div>\n <div class="info-wave">\n <div class="wave">\n <canvas id="wave-canvas"></canvas>\n <div class="plyr__time plyr__time--current" aria-label="Current time">00:00</div>\n <div class="plyr__time plyr__time--duration" aria-label="Duration">00:00</div>\n </div>\n <div class="info">\n <div class="play">\n <button type="button" class="plyr__control" aria-label="Play, {title}" data-plyr="play">\n <svg class="icon--pressed" role="presentation"><use xlink:href="#plyr-pause"></use></svg>\n <svg class="icon--not-pressed" role="presentation"><use xlink:href="#plyr-play"></use></svg>\n <span class="label--pressed plyr__tooltip" role="tooltip">Pause</span>\n <span class="label--not-pressed plyr__tooltip" role="tooltip">Play</span>\n </button>\n </div>\n <div class="title-author">\n ${t&&`<h2 title="${t}">${t}</h2>`}\n ${a&&`<p>${a}</p>`}\n </div>\n <div class="volume_controls">\n <button type="button" class="plyr__control" aria-label="Mute" data-plyr="mute">\n <svg class="icon--pressed" role="presentation"><use xlink:href="#plyr-muted"></use></svg>\n <svg class="icon--not-pressed" role="presentation"><use xlink:href="#plyr-volume"></use></svg>\n <span class="label--pressed plyr__tooltip" role="tooltip">Unmute</span>\n <span class="label--not-pressed plyr__tooltip" role="tooltip">Mute</span>\n </button>\n <div class="plyr__volume">\n <input data-plyr="volume" type="range" min="0" max="1" step="0.05" value="1" autocomplete="off" aria-label="Volume">\n </div>\n </div>\n </div>\n </div>\n </div>`}const s=({onClick:e})=>(0,t.createElement)("button",{className:"close-sticky-player sticky-close",onClick:e,"aria-label":"Close sticky player"},(0,t.createElement)("svg",{width:"30",height:"30",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,t.createElement)("path",{d:"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z",fill:"currentColor"}))),l=function(e,t=500){if(!e)return;let a=1;const n=performance.now();e.querySelector("audio")&&e.querySelector("audio").pause(),requestAnimationFrame(function r(s){const l=s-n;a=Math.max(1-l/t,0),e.style.opacity=a,a>0?requestAnimationFrame(r):e.style.display="none"})},o=class{constructor(e,t){this.player=e,this.config=t||{},this.key=null,this.configure(),this.setupDuration(),this.repeatEl=e.elements?.controls?.querySelector('[data-plyr="repeat"]'),this.config.repeat=!1,this.repeatEl?.addEventListener("click",()=>{this.repeatEl.classList.toggle("control-active"),this.config.repeat=!this.config.repeat}),this.player.on("ended",()=>{this.config.repeat&&this.player.play()})}configure(){this.player.on("loadedmetadata",()=>{if(this.key=function(e){if(e){"object"==typeof e&&e.sources&&e.sources.length>0&&(e=e.sources[0].src);try{let t=e;t.startsWith("http")||(t=window.location.origin+(t.startsWith("/")?"":"/")+t);const a=new URL(t).pathname.split("/").filter(e=>e.length>0).pop();if(!a)throw new Error("No valid name found in the URL path");let n=0;for(let e=0;e<a.length;
1e++)n=(n<<5)-n+a.charCodeAt(e),n|=0;return Math.abs(n).toString(36).substring(0,8)}catch(e){console.warn(e.message)}}}(this.player.source),this.config.saveState){const e=localStorage.getItem(this.key);if(e){const{currentTime:t}=JSON.parse(e);this.player.currentTime=t}}else this.player.currentTime=parseInt(this.config.startTime);0===this.player.volume&&(this.player.volume=.4),void 0!==this.config.muted&&(this.player.muted=this.config.muted)}),this.config.disablePause&&this.player.on("pause",()=>{this.player.play()}),this.config.saveState&&this.player.on("timeupdate",()=>{this.saveState()})}setupDuration(){const e=e=>{const t=this.player.elements?.container,a=t?t.querySelectorAll(".plyr__time--duration"):document.querySelectorAll(".plyr__time--duration");if(a&&a.length>0)if(e&&!isNaN(e)&&e>0){const t=parseInt(e,10),n=Math.floor(t/3600),r=Math.floor((t-3600*n)/60),s=t-3600*n-60*r,l=(n>0?(n<10?"0"+n:n)+":":"")+(r<10?"0"+r:r)+":"+(s<10?"0"+s:s);a.forEach(e=>{e.textContent=l})}else a.forEach(e=>{e.textContent="00:00"})},t=()=>{const t=this.player.media||this.player.elements?.container?.querySelector("audio"),a=this.player.duration||t&&t.duration;e(a)};this.player.on("ready",t),this.player.on("loadedmetadata",t),this.player.on("canplay",t),this.player.on("durationchange",t),this.player.on("timeupdate",()=>{this._durationSet||(t(),this.player.duration>0&&(this._durationSet=!0))});const a=this.player.media||this.player.elements?.container?.querySelector("audio"),n=this.config?.preload||(a?a.getAttribute("preload"):null)||"metadata";if(a)if(a.setAttribute("preload",n),a.addEventListener("loadedmetadata",t),a.addEventListener("canplay",t),a.addEventListener("durationchange",t),a.addEventListener("loadeddata",t),a.readyState>=1)t();else if("none"!==n)try{a.load()}catch(e){}let r=this.config.source;if(r||"string"!=typeof this.player.source?!r&&this.player.source&&"object"==typeof this.player.source&&Array.isArray(this.player.source.sources)&&this.player.source.sources[0]?.src&&(r=this.player.source.sources[0].src):r=this.player.source,!r&&a&&(r=a.src||a.getAttribute("src")||""),"none"!==n&&r&&"string"==typeof r&&""!==r.trim()){const t=new Audio;t.preload="metadata";const a=()=>{t.duration&&!isNaN(t.duration)&&t.duration>0&&e(t.duration)};t.addEventListener("loadedmetadata",a),t.addEventListener("durationchange",a),t.addEventListener("canplay",a),t.addEventListener("loadeddata",a),t.src=r,t.readyState>=1&&a()}else t()}saveState(){const e={currentTime:this.player.currentTime};localStorage.setItem(this.key,JSON.stringify(e))}init(e){this.player=e}destroy(){this.player=null}};function i(e){if(!e||"string"!=typeof e)return e;let t=e.trim();if((t.includes("drive.google.com")||t.includes("docs.google.com"))&&!t.includes("/uc")){let e="";const a=t.match(/\/file\/d\/([a-zA-Z0-9_-]+)/);if(a)e=a[1];else{const a=t.match(/[?&]id=([a-zA-Z0-9_-]+)/);a&&(e=a[1])}e&&(t="https://docs.google.com/uc?export=download&id="+e)}const a=window.h5apPlayer&&window.h5apPlayer.ajaxUrl?window.h5apPlayer.ajaxUrl:window.h5apAll&&window.h5apAll.ajaxUrl?window.h5apAll.ajaxUrl:"";if(a){if(t.includes("googleapis.com/drive")||t.includes("docs.google.com/uc")||t.includes("drive.google.com/uc"))return a+"?action=h5ap_gdrive_proxy&url="+encodeURIComponent(t);if(t.includes("soundcloud.com")&&!t.includes("api.soundcloud.com")&&!t.includes("h5ap_soundcloud_stream"))return a+"?action=h5ap_soundcloud_stream&sc_url="+encodeURIComponent(t)}return t}const c=function(e){const{attributes:a,containerRef:n,className:c}=e,{source:u,title:d,poster:p,artist:y,bgColor:m,primaryColor:v,controlColor:f,repeat:h,autoplay:_,muted:g,seekTime:b,disablePause:w,startTime:k,saveState:$,preload:x,waveType:E}=a,S=i(u),A=Boolean(!0===g||"true"===g),C=!!_||A,T=(0,t.useRef)();return(0,t.useEffect)(()=>{if(!n.current)return;const e=new Plyr(n.current.querySelector("audio"),{controls:r(p,d,y),loop:{active:h},autoplay:_,muted:C,seekTime:b,storage:{enabled:!1}});if(e.muted=C,new o(e,{source:S,disablePause:w,startTime:k,saveState:$,muted:C}),_)try{const t=e.play();t&&t.catch&&t.catch(e=>console.log("Autoplay blocked by browser in editor preview:",e))}catch(e){console.log("Autoplay failed:",e)}T.current=e;const t=E||"equalizer",a=((e,t,a="#fff",n="transparent",r="equalizer",s="")=>{const l=e.querySelector("audio"),o=e.querySelector("#wave-canvas");if(!l||!o)return void console.error("Audio or canvas element not found in the container.");const i=o.getContext("2d");let c,u,d,p,y;const m=window.devicePixelRatio||1,v=o.getBoundingClientRect().width||500,f=o.getBoundingClientRect().height||60;if(o.width=v*m,o.height=f*m,i.scale(m,m),"equalizer"===r){const h=window.AudioContext||window.webkitAudioContext;if(!h)return void console.error("Web Audio API is not supported in this browser.");let _,g,b;try{_=new h,g=_.createAnalyser(),b=_.createMediaElementSource(l),b.connect(g),g.connect(_.destination)}catch(A){console.warn("AudioContext setup failed (might be already created or blocked):",A)}let w=e?.offsetWidth>800?1024:512;g&&(g.fftSize=w);const k=g?g.frequencyBinCount:256,$=new Uint8Array(k),x=v/k*1.5,E=()=>{c=requestAnimationFrame(E),g&&g.getByteFrequencyData($),i.clearRect(0,0,v,f),n&&"transparent"!==n&&(i.fillStyle=n,i.fillRect(0,0,v,f));let e=0;for(let n=0;n<k;n++){const r=t.playing||$[n]>0?$[n]:10,s=.1*f+r*(f/256)*.35;i.fillStyle=a,i.fillRect(e,f-s,x,s),e+=x+2}};E();const S=()=>{_&&"suspended"===_.state&&_.resume()};return t.on("play",S),()=>{cancelAnimationFrame(c),t.off("play",S),_&&_.close().catch(()=>{})}}if("waveform"===r){const C=Math.floor(v/4),T=((e,t)=>{let a=0;const n=t||"default_wave";for(let e=0;e<n.length;e++)a=n.charCodeAt(e)+((a<<5)-a);const r=[];for(let t=0;t<e;t++){const n=t/e,s=Math.sin(n*Math.PI)*(.3+Math.abs(1e3*Math.sin(a+2.3*t))%1*.7);r.push(Math.max(.05,s))}return r})(C,s);let L=null;const P=()=>{i.clearRect(0,0,v,f),n&&"transparent"!==n&&(i.fillStyle=n,i.fillRect(0,0,v,f));const e=l.duration||1,t=l.currentTime/e;for(let e=0;e<C;e++){const n=4*e,r=T[e]*(f-10),s=(f-r)/2,l=e/C;i.fillStyle=null!==L&&l<=L?q(a,.8):l<=t?a:q(a,.25),R(i,n,s,2,r,1)}};function R(e,t,a,n,r,s){e.beginPath(),e.moveTo(t+s,a),e.lineTo(t+n-s,a),e.quadraticCurveTo(t+n,a,t+n,a+s),e.lineTo(t+n,a+r-s),e.quadraticCurveTo(t+n,a+r,t+n-s,a+r),e.lineTo(t+s,a+r),e.quadraticCurveTo(t,a+r,t,a+r-s),e.lineTo(t,a+s),e.quadraticCurveTo(t,a,t+s,a),e.closePath(),e.fill()}function q(e,t){let a=e.substring(1);return 3===a.length&&(a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2]),`rgba(${parseInt(a.substring(0,2),16)}, ${parseInt(a.substring(2,4),16)}, ${parseInt(a.substring(4,6),16)}, ${t})`}u=()=>{P()},l.addEventListener("timeupdate",u),d=e=>{const a=o.getBoundingClientRect(),n=(e.clientX-a.left)/a.width;l.duration&&(t.currentTime=n*l.duration)},o.addEventListener("click",d),p=e=>{const t=o.getBoundingClientRect(),a=e.clientX-t.left;L=a/t.width,P()},o.addEventListener("mousemove",p),y=()=>{L=null,P()},o.addEventListener("mouseleave",y),P();const N=new ResizeObserver(()=>{const e=window.devicePixelRatio||1,t=o.getBoundingClientRect().width||500,a=o.getBoundingClientRect().height||60;o.width=t*e,o.height=a*e,i.scale(e,e),P()});return N.observe(o),()=>{l.removeEventListener("timeupdate",u),o.removeEventListener("click",d),o.removeEventListener("mousemove",p),o.removeEventListener("mouseleave",y),N.disconnect()}}})(n.current,T.current,f,m,t,S);return()=>{a&&a(),e.destroy()}},[a]),(0,t.createElement)("div",{className:`skin_wave ${c}`,id:"",ref:n},(0,t.createElement)(s,{onClick:()=>l(n.current)}),(0,t.createElement)("audio",{preload:x,src:S,muted:C,crossOrigin:"anonymous"}))},u=({attributes:e,containerRef:a,playerRef:n,className:r})=>{const{source:c,controls:u,preload:d,repeat:p,autoplay:y,muted:m,seekTime:v,startTime:f,disablePause:h,saveState:_,i18n:g,speed:b,uniqueId:w}=e,k=i(c),$=Boolean(!0===m||"true"===m),x=!!y||$;return(0,t.useEffect)(()=>
1{if(!a.current)return;const e=["restart","rewind","play","fast-forward","progress","current-time","duration","mute","volume","settings","download"],t=u&&"object"==typeof u?Object.keys(u).filter(e=>Boolean(u[e])).sort((t,a)=>{const n=e.indexOf(t),r=e.indexOf(a);return-1!==n&&-1!==r?n-r:0}):["play","progress","current-time","mute","volume","settings"],r=t.length>0?t:["play"],s=Array.isArray(b)?b.map(Number):Array.isArray(b?.speed)?b.speed.map(Number):window.h5apPlayer?.speed?window.h5apPlayer.speed.map(Number):[.5,1,1.5,2],l={controls:r,loop:{active:p},autoplay:y,seekTime:v,muted:x,storage:{enabled:!1},tooltips:{controls:!0,seek:!0},speed:{selected:1,options:s}};g&&(l.i18n=g);const i=new Plyr(a.current.querySelector("audio"),l);if(i.muted=x,n&&(n.current=i),new o(i,{source:k,disablePause:h,startTime:f,saveState:_,muted:x}),y)try{const e=i.play();e&&e.catch&&e.catch(e=>console.log("Autoplay blocked by browser in editor preview:",e))}catch(e){console.log("Autoplay failed:",e)}return()=>{i.destroy()}},[e]),(0,t.createElement)(t.Fragment,null,(0,t.createElement)("div",{ref:a,className:`skin_default ${r}`},(0,t.createElement)(s,{onClick:()=>l(a.current)}),(0,t.createElement)("audio",{id:w,className:w,preload:d||"metadata",src:k,muted:x,controls:!0},"Your browser does not support the ",(0,t.createElement)("code",null,"audio")," element.")))};function d(e=null,t=null,a=null,r={download:!1}){return`<div class="plyr__controls radius">\n <div class="plyr__controls rewind_play_fastforward">\n ${"null"!==e?`<img class="thumbnails" src="${e||n}" alt=""></img>`:""}\n <div class="plyr__controls">\n <button type="button" class="plyr__control" aria-label="Rewind {seektime}s" title="Rewind {seektime}s" data-plyr="rewind">\n <svg role="presentation"><use xlink:href="#plyr-rewind"></use></svg>
1\n <span class="plyr__tooltip" role="tooltip">Rewind {seektime}s</span>\n </button>\n <button type="button" class="plyr__control" aria-label="Play, {title}" data-plyr="play">\n <svg class="icon--pressed" role="presentation"><use xlink:href="#plyr-pause"></use></svg>\n <svg class="icon--not-pressed" role="presentation"><use xlink:href="#plyr-play"></use></svg>\n <span class="label--pressed plyr__tooltip" role="tooltip">Pause</span>\n <span class="label--not-pressed plyr__tooltip" role="tooltip">Play</span>\n </button>\n <button type="button" class="plyr__control" aria-label="Forward {seektime}s" title="Forward {seektime}s" data-plyr="fast-forward">\n <svg role="presentation"><use xlink:href="#plyr-fast-forward"></use></svg>\n <span class="plyr__tooltip" role="tooltip">Forward {seektime}s</span>\n </button>\n </div>\n </div>\n <div class="infos">\n <div class="title">\n <h3>${t}</h3>\n </div>\n <div class="time_progress">\n <div class="plyr__time plyr__time--current" aria-label="Current time">00:00</div>\n <div class="plyr__progress">\n <input data-plyr="seek" type="range" min="0" max="100" step="0.01" value="0" aria-label="Seek">\n <progress class="plyr__progress__buffer" min="0" max="100" value="0">% buffered</progress>\n <span role="tooltip" class="plyr__tooltip">00:00</span>\n </div>\n <div class="plyr__time plyr__time--duration" aria-label="Duration">00:00</div>\n </div>\n </div>\n <div class="other_controls">\n <div class="extra_controls">\n ${!0===r?.download?`<a class="plyr__controls__item plyr__control plyr__download" href="${a}" target="_blank" download data-plyr="download">\n <svg aria-hidden="true" focusable="false">\n <use xlink:href="#plyr-download"></use>\n </svg>\n <span class="plyr__sr-only">Download</span>\n </a>`:""}\n ${!0===r?.repeat?'<button type="button" data-active="false" class="plyr__control" data-plyr="repeat"><svg class="icon">\n <use xlink:href="#exchange"></use>\n </button>':""}\n ${!0===r?.playlist?'<button type="button" class="plyr__control" data-active="true" data-plyr="playlist"><span class="dashicons dashicons-playlist-audio"></span></button>':""}\n </div>\n <div class="volume_controls">\n <button type="button" class="plyr__control" aria-label="Mute" data-plyr="mute">\n <svg class="icon--pressed" role="presentation"><use xlink:href="#plyr-muted"></use></svg>\n <svg class="icon--not-pressed" role="presentation"><use xlink:href="#plyr-volume"></use></svg>\n <span class="label--pressed plyr__tooltip" role="tooltip">Unmute</span>\n <span class="label--not-pressed plyr__tooltip" role="tooltip">Mute</span>\n </button>\n <div class="plyr__volume">\n <input data-plyr="volume" type="range" min="0" max="1" step="0.05" value="1" autocomplete="off" aria-label="Volume">\n </div>\n </div>\n </div>\n </div>`}const p=function(e){const{attributes:a,containerRef:n,className:r}=e,{source:c,title:u,poster:p,download:y,repeat:m,autoplay:v,muted:f,seekTime:h,disablePause:_,startTime:g,saveState:b,preload:w,options:k={}}=a,{volume:$}=k,x=i(c),E=Boolean(!0===f||"true"===f),S=!!v||E;return(0,t.useEffect)(()=>{if(!n.current)return;const e=isNaN(parseFloat($))?.5:parseFloat($),t=new Plyr(n.current.querySelector("audio"),{controls:d(p,u,x,{download:y,repeat:!0}),loop:{active:m},autoplay:v,muted:S,seekTime:h,volume:e,storage:{enabled:!1}});if(t.muted=S,new o(t,{source:x,disablePause:_,startTime:g,saveState:b,muted:S}),v)try{const e=t.play();e&&e.catch&&e.catch(e=>console.log("Autoplay blocked by browser in editor preview:",e))}catch(e){console.log("Autoplay failed:",e)}return t.on("ready",()=>{const e=isNaN(parseFloat($))?.5:parseFloat($);t.volume=e,t.muted=S}),()=>{t.destroy()}},[a]),(0,t.createElement)("div",{className:`skin_fusion ${r}`,ref:n},(0,t.createElement)(s,{onClick:()=>l(n.current)}),(0,t.createElement)("audio",{preload:w,src:x,muted:S}))};function y(e){return`<div class="skin_container StampAudioPlayerSkin radius">\n <div class="extraOptions">\n <h3 class="audioTitle">${e}</h3>\n <div class="volume_controls">\n <button type="button" class="muteUnmute plyr__control" aria-label="Mute" data-plyr="mute"><svg class="icon--pressed" aria-hidden="true" focusable="false"><use xlink:href="#plyr-muted"></use></svg><svg class="icon--not-pressed" aria-hidden="true" focusable="false"><use xlink:href="#plyr-volume"></use></svg></button>\n <div class="plyr__volume">\n <input data-plyr="volume" type="range" min="0" max="1" step="0.05" value="1" autocomplete="off" aria-label="Volume">\n </div>\n </div>\n </div>\n\n <div class="mainOptions">\n <button class="leftAudio plyr__controls__item plyr__control" aria-label="Rewind {seektime}s" title="Rewind {seektime}s" data-plyr="rewind"><svg aria-hidden="true" focusable="false"><use xlink:href="#plyr-rewind"></use></svg></button>\n <button class="rightAudio plyr__controls__item plyr__control" aria-label="Forward {seektime}s" title="Forward {seektime}s" data-plyr="fast-forward"><svg aria-hidden="true" focusable="false"><use xlink:href="#plyr-fast-forward"></use></svg></button>\n\n <div class="controls">\n <div class="play_forward_rewind">\n <button class="plyr__controls__item plyr__control" aria-label="Rewind {seektime}s" title="Rewind {seektime}s" data-plyr="rewind"><svg aria-hidden="true" focusable="false"><use xlink:href="#plyr-rewind"></use></svg></button>\n <button class="plyr__controls__item plyr__control playPauseAudio" type="button" data-plyr="play" aria-label="Play"><svg class="icon--pressed" aria-hidden="true" focusable="false"><use xlink:href="#plyr-pause"></use></svg><svg class="icon--not-pressed" aria-hidden="true" focusable="false"><use xlink:href="#plyr-play"></use></svg></button>\n <button class="plyr__controls__item plyr__control" aria-label="Forward {seektime}s" title="Forward {seektime}s" data-plyr="fast-forward"><svg aria-hidden="true" focusable="false"><use xlink:href="#plyr-fast-forward"></use></svg></button>\n</div>\n\n <div class="audioProgressView">\n <div class="progressWrap">\n <span class="plyr__time currentTime plyr__time--current">00:00</span>\n <div class="plyr__controls__item plyr__progress__container"><div class="plyr__progress"><input data-plyr="seek" type="range" min="0" max="100" step="0.01" value="
10" autocomplete="off" role="slider" aria-label="Seek" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" id="plyr-seek-7930" aria-valuetext="00:00 of 03:05" seek-value="14.901800327332243" style="--value:0%;"><progress class="plyr__progress__buffer" min="0" max="100" value="0" role="progressbar" aria-hidden="true">% buffered</progress><span class="plyr__tooltip" style="left: 11.2357%;">00:20</span></div></div>\n <span class="plyr__time totalTime plyr__time--duration">00:00</span>\n </div>\n </div>\n </div>\n\n </div>\n </div>`}const m=function(e){const{attributes:a,containerRef:n,className:r}=e,{source:c,title:u,repeat:d,autoplay:p,muted:m,seekTime:v,startTime:f,disablePause:h,saveState:_,preload:g}=a,b=i(c),w=Boolean(!0===m||"true"===m),k=!!p||w;return(0,t.useEffect)(()=>{if(!n.current)return;const e=new Plyr(n.current.querySelector("audio"),{controls:y(u),loop:{active:d},autoplay:p,muted:k,seekTime:v,storage:{enabled:!1}});if(e.muted=k,new o(e,{source:b,disablePause:h,startTime:f,saveState:_,muted:k}),p)try{const t=e.play();t&&t.catch&&t.catch(e=>console.log("Autoplay blocked by browser in editor preview:",e))}catch(e){console.log("Autoplay failed:",e)}return()=>{e.destroy()}},[a]),(0,t.createElement)("div",{className:`skin_stamp ${r}`,ref:n},(0,t.createElement)(s,{onClick:()=>l(n.current)}),(0,t.createElement)("audio",{preload:g,src:b,muted:k}))},v=({attributes:e,id:a})=>{const{primaryColor:n,hoverColor:r,bgColor:s,controlColor:l,radius:o,width:i,align:c,alignment:u,textColor:d}=e,[p,y]=(0,t.useState)();return(0,t.useEffect)(()=>{const e=`\n #${a}{\n display: flex;\n justify-content: ${u};\n }\n #${a} .plyr__progress input{\n color: ${l};\n }\n #${a} .plyr__controls__item.plyr__volume input{\n color: ${l};\n }\n #${a} .plyr{\n --plyr-color-main: ${n};\n --plyr-color-bg: ${s};\n --theme-skin-wave-color: ${l};\n --plyr-color-text: ${d};\n --plyr-color-control: ${l};\n --plyr-color-background: ${s};\n }\n #${a} .h5ap_standard_player,#${a} .h5ap-sticky,#${a} .h5ap_skin\n {\n width: ${i};\n }\n \n #${a} .skin_fusion,#${a} .h5ap-sticky,#${a} .skin_wave,#${a} .skin_stamp\n {\n min-width: 500px;\n max-width: 100% !important;\n }\n @media only screen and (max-width: 767px) {\n #${a} .skin_fusion, #${a} .h5ap-sticky,#${a} .skin_wave,#${a} .skin_stamp\n {\n min-width: auto;\n max-width: 100% !important;\n }\n #${a} .h5ap-sticky,\n #${a} .skin_fusion .plyr,\n #${a} .skin_wave .plyr,\n #${a} .skin_stamp .plyr\n {\n min-width: auto;\n max-width: 100%;\n }\n }\n #${a} .plyr__controls {\n --plyr-audio-control-color: ${l};\n background: ${s||"#eaeaea"};\n border-radius:${o}\n }\n #${a} .radius{\n border-radius: ${o}\n }\n #${a} .skin_default .plyr__control,#${a}{\n --theme-skin-wave-color: ${n};\n }\n #${a} .skin_simple_sticky{\n background: ${s};\n }\n `.replace(/\s+/g," ").trim();y(e)},[i,s,o,a,r,n,c,l,u,d]),(0,t.createElement)("style",null,p)},f=({attributes:e,id:a,isBackend:n=!1})=>{const r=(0,t.useRef)(null),s={Default:u,Fusion:p,Stamp:m,Wave:c},l={...e,source:i(e.source),preload:e.lazyLoad&&!n?"none":e.preload},{isSticky:o,skin:d,width:y,multiple_audio:f}=l,h=s[d]||null;(0,t.useEffect)(()=>{if(!f){const e=document.querySelectorAll("audio");e.forEach(t=>{t.addEventListener("play",()=>{e.forEach(e=>{e!==t&&e.pause()})})})}},[]);const _=(0,t.useRef)(null);return h?(0,t.createElement)(t.Fragment,null,(0,t.createElement)(v,{attributes:l,id:a}),(0,t.createElement)(h,{attributes:l,containerRef:r,playerRef:_,className:`h5ap_skin ${o&&["Default","Fusion","Stamp","Wave"].includes(d)?"h5ap-sticky"+("100%"===y?" full-width":""):""} `})):(0,t.createElement)("h2",null,"Audio Player")};document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll(".wp-block-h5ap-audioplayer").forEach(e=>{const n=JSON.parse(e.dataset.attributes),r=e.dataset.id,s=()=>{(0,a.createRoot)(e).render((0,t.createElement)(f,{attributes:n,id:r})),e.removeAttribute("data-attributes"),e.removeAttribute("data-id")};if((void 0!==n.lazyLoad?n.lazyLoad:!0===window.h5apPlayer?.lazyLoad)&&"undefined"!=typeof IntersectionObserver){const t=new IntersectionObserver(a=>{a.forEach(a=>{a.isIntersecting&&(s(),t.unobserve(e))})},{rootMargin:"200px"});t.observe(e)}else s()})})})();
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.