;
(self.AMP=self.AMP||[]).push({m:1,v:"2502242315000",n:"amp-audio",ev:"0.1",l:!0,f:function(t,n){(()=>{var n,{isArray:r}=Array,{hasOwnProperty:i,toString:o}=Object.prototype,s="nodisplay";function e(t,n,i,o){const s=r(e=t)?e:[e];var e;for(const t of s){const r=n.getAttribute(t);null!==r?i.setAttribute(t,r):o&&i.removeAttribute(t)}}function u(t){const n=Object.getOwnPropertyDescriptor(t,"message");if(null!=n&&n.writable)return t;const{message:r,stack:i}=t,o=new Error(r);for(const n in t)o[n]=t[n];return o.stack=i,o}function l(t){let n=null,r="";for(const t of arguments)t instanceof Error&&!n?n=u(t):(r&&(r+=" "),r+=t);return n?r&&(n.message=r+": "+n.message):n=new Error(r),n}function c(t){const n=l.apply(null,arguments);return n.expected=!0,n}function a(t,...n){var r,i,o;r=c.apply(null,n),null===(i=(o=self).__AMP_REPORT_ERROR)||void 0===i||i.call(o,r)}var f=["Webkit","webkit","Moz","moz","ms","O","o"];function h(t,n){const r=(i=()=>t.play(!!n),new Promise((t=>{t(i())})));var i;return r.catch((t=>{a(0,t)})),r}self.__AMP_LOG=self.__AMP_LOG||{user:null,dev:null,userForEmbed:null};var d=self.__AMP_LOG;function p(t){return function(t,n){throw new Error("failed to call initLogConstructor")}()}function v(t,n,r,i,o,s,e,u,l,c,a){return t}function m(t,n,r,i,o,s,e,u,l,c,a){return(d.user||(d.user=p()),void d.user.win?d.userForEmbed||(d.userForEmbed=p()):d.user).assert(t,n,r,i,o,s,e,u,l,c,a)}function y(t,n){return _(t=function(t){return t.__AMP_TOP||(t.__AMP_TOP=t)}(t),n)}function b(t,n){return A(g(t),n)}function w(t){return t.nodeType?(r=t,n=(r.ownerDocument||r).defaultView,y(n,"ampdoc")).getAmpDoc(t):t;var n,r}function g(t){const n=w(t);return n.isSingleDoc()?n.win:n}function _(t,n){v(k(t,n));const r=P(t)[n];return r.obj||(v(r.ctor),v(r.context),r.obj=new r.ctor(r.context),v(r.obj),r.context=null,r.resolve&&r.resolve(r.obj)),r.obj}function A(t,n){const r=P(t)[n];return r?r.promise?r.promise:(_(t,n),r.promise=Promise.resolve(r.obj)):null}function P(t){let n=t.__AMP_SERVICES;return n||(n=t.__AMP_SERVICES={}),n}function k(t,n){const r=t.__AMP_SERVICES&&t.__AMP_SERVICES[n];return!(!r||!r.ctor)}var E,j=t=>function(t,n,r,i){const o=b(t,n);if(o)return o;const s=w(t);return s.whenExtensionsKnown().then((()=>{const t=s.getExtensionVersion(r);return t?y(s.win,"extensions").waitForExtension(r,t):null})).then((r=>r?function(t,n){return function(t,n){const r=A(t,n);if(r)return r;const i=P(t);return i[n]=function(){const t=new class{constructor(){this.promise=new Promise(((t,n)=>{this.resolve=t,this.reject=n}))}},{promise:n,reject:r,resolve:i}=t;return n.catch((()=>{})),{obj:null,promise:n,resolve:i,reject:r,context:null,ctor:null}}(),i[n].promise}(g(t),n)}(t,n):null))}(t,"amp-analytics-instrumentation","amp-analytics");function I(t,n,r={},i=!0){j(t).then((o=>{o&&o.triggerEventForTarget(t,n,r,i)}))}function M(t,n,r,i){return function(t,n,r,i){let o=t,s=r,e=t=>{try{return s(t)}catch(t){var n,r;throw null===(n=(r=self).__AMP_REPORT_ERROR)||void 0===n||n.call(r,t),t}};const u=function(){if(void 0!==E)return E;E=!1;try{const t={get capture(){return E=!0,!1}};self.addEventListener("test-options",null,t),self.removeEventListener("test-options",null,t)}catch(t){}return E}(),l=!(null==i||!i.capture);return o.addEventListener(n,e,u?i:l),()=>{null==o||o.removeEventListener(n,e,u?i:l),s=null,o=null,e=null}}(t,n,r,i)}var V,O={"title":"","artist":"","album":"","artwork":[{"src":""}]};function R(t,n,r="source"){var i;return m(null!=t,"%s %s must be available",n,r),m("https:"==(i=(t=>"string"==typeof t?function(t,n){return V||(V=self.document.createElement("a")),function(t,n,r){return t.href="",new URL(n,t.href)}(V,t)}(t):t)(i=t)).protocol||"localhost"==i.hostname||"127.0.0.1"==i.hostname||function(t,n){const r=t.length-n.length;return r>=0&&t.indexOf(n,r)==r}(i.hostname,".localhost")||/^\/\//.test(t),'%s %s must start with "https://" or "//" or be relative and served from either https or from localhost. Invalid value: %s',n,r,t),t}var T=class extends t.BaseElement{constructor(t){super(t),this.Pv=null,this.kv=O,this.isPlaying=!1}isLayoutSupported(t){return function(t){return"fixed"==t||"fixed-height"==t}(t)||"container"==t}buildCallback(){this.getLayout()===s&&(this.element.removeAttribute("autoplay"),this.buildAudioElement()),this.element.classList.add("i-amphtml-media-component"),this.registerAction("play",this.Ev.bind(this)),this.registerAction("pause",this.jv.bind(this))}mutatedAttributesCallback(t){if(!this.Pv)return;const n=t.src,r=t.controlsList,i=t.loop;void 0===n&&void 0===r&&void 0===i||(void 0!==n&&R(n,this.element),e(["src","loop","controlsList"],this.element,this.Pv));const o=t.artist,s=t.title,u=t.album,l=t.artwork;void 0===o&&void 0===s&&void 0===u&&void 0===l||this.Mv()}buildAudioElement(){let t=this.element.querySelector("audio");if(t||(t=this.element.ownerDocument.createElement("audio"),this.element.appendChild(t)),!t.play)return void this.toggleFallback(!0);t.controls=!0,function(t,r,i,o,s){const e=function(t,r,i){if(r.startsWith("--"))return r;n||(n=Object.create(null));let o=n[r];if(!o||i){if(o=r,void 0===t[r]){const n=function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(r),i=function(t,n){for(let r=0;r"-"+t.toLowerCase()));return f.some((t=>n.startsWith(t+"-")))?`-${n}`:n}(e),"100%")}(t);const r=this.Vv("src");var i;r&&R(r,this.element),e(["src","preload","autoplay","muted","loop","aria-label","aria-describedby","aria-labelledby","controlsList"],this.element,t),t.classList.add("i-amphtml-fill-content"),(i=this.element,function(t,n){const r=[];for(let n=t.firstChild;n;n=n.nextSibling)!(function(t){let n;var r;return"string"==typeof t?n=t:1==(null==(r=t)?void 0:r.nodeType)&&(n=t.tagName),!!n&&n.toLowerCase().startsWith("i-")}(i=n)||i.nodeType===Node.ELEMENT_NODE&&(i.hasAttribute("placeholder")||i.hasAttribute("fallback")||i.hasAttribute("overflow")))&&r.push(n);var i;return r}(i)).forEach((n=>{n!==t&&(n.getAttribute&&n.getAttribute("src")&&R(n.getAttribute("src"),n),t.appendChild(n))})),this.Pv=t,M(this.Pv,"playing",(()=>this.Ov())),M(this.Pv,"play",(()=>I(this.element,"audio-play"))),M(this.Pv,"pause",(()=>I(this.element,"audio-pause")))}layoutCallback(){return this.getLayout()!==s&&this.buildAudioElement(),this.Mv(),"none"===this.element.getAttribute("preload")?this.Pv:this.loadPromise(this.Pv)}Mv(){const{document:t}=this.getAmpDoc().win,n=this.Vv("artist")||"",r=this.Vv("title")||this.Vv("aria-label")||t.title||"",i=this.Vv("album")||"",o=this.Vv("artwork")||function(t){const n=t.querySelector('script[type="application/ld+json"]');if(!n)return;const r=function(t,n){try{return function(t){return JSON.parse(t)}(t)}catch(t){return null}}(n.textContent);return r&&r.image?"string"==typeof r.image?r.image:r.image["@list"]&&"string"==typeof r.image["@list"][0]?r.image["@list"][0]:"string"==typeof r.image.url?r.image.url:"string"==typeof r.image[0]?r.image[0]:void 0:void 0}(t)||function(t){const n=t.querySelector('meta[property="og:image"]');return n?n.getAttribute("content"):void 0}(t)||function(t){const n=t.querySelector('link[rel="shortcut icon"]')||t.querySelector('link[rel="icon"]');return n?n.getAttribute("href"):void 0}(t)||"";this.kv={title:r,artist:n,album:i,artwork:[{src:o}]}}renderOutsideViewport(){return!0}Vv(t){return this.element.getAttribute(t)}pauseCallback(){this.Pv&&(this.Pv.pause(),this.Rv(!1))}Tv(){return!!this.Pv}jv(){this.Tv()&&(this.Pv.pause(),this.Rv(!1))}Ev(){this.Tv()&&(h(this.Pv),this.Rv(!0))}Rv(t){}Ov(){(function(t,n){const i=(t=>function(t,n){const r=g(w(t));return k(r,"url")?_(r,"url"):null}(t))(t);if(n&&n.artwork){const{artwork:t}=n;v(r(t)),t.forEach((t=>{if(t){const r=(n=t,"[object Object]"===o.call(n)?t.src:t);m(i.isProtocolValid(r))}var n}))}})(this.element,this.kv),function(t,n,r,i){const{navigator:o}=t;"mediaSession"in o&&t.MediaMetadata&&(o.mediaSession.metadata=new t.MediaMetadata(O),o.mediaSession.metadata=new t.MediaMetadata(n),o.mediaSession.setActionHandler("play",r),o.mediaSession.setActionHandler("pause",i))}(this.win,this.kv,(()=>{h(this.Pv),this.Rv(!0)}),(()=>{this.Pv.pause(),this.Rv(!1)}))}};t.registerElement("amp-audio",T)})();
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */}});
//# sourceMappingURL=amp-audio-0.1.mjs.map