@smartimpact-it/modern-video-embed 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"YouTubeEmbed.d.ts","sourceRoot":"","sources":["../../src/components/YouTubeEmbed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YouTubeEmbed.d.ts","sourceRoot":"","sources":["../../src/components/YouTubeEmbed.ts"],"names":[],"mappings":"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"}
@@ -733,49 +733,54 @@ export class YouTubeEmbed extends HTMLElement {
733
733
  this.removeAttribute("data-should-autoplay");
734
734
  }
735
735
  this.log("YouTubeEmbed: Creating iframe with autoplay:", autoplay, "controls:", controls);
736
- this.iframe = document.createElement("iframe");
737
- // Build URL parameters to handle YouTube's strict policies
738
- const params = new URLSearchParams(Object.assign({ enablejsapi: "1", autoplay: autoplay ? "1" : "0", controls: !controls && !isBackground ? "1" : "0", mute: mute ? "1" : "0", playsinline: "1", rel: "0", modestbranding: "1", origin: window.location.origin || "localhost" }, __classPrivateFieldGet(this, _YouTubeEmbed_playerVars, "f")));
739
- // Add muted state if explicitly set
740
- if (__classPrivateFieldGet(this, _YouTubeEmbed_muted, "f")) {
741
- params.set("mute", "1");
742
- }
743
736
  // Update internal muted state if autoplay forces muting
744
737
  if (autoplay && !__classPrivateFieldGet(this, _YouTubeEmbed_muted, "f")) {
745
738
  __classPrivateFieldSet(this, _YouTubeEmbed_muted, true, "f");
746
739
  this.log("YouTubeEmbed: Autoplay enabled, forcing muted state for compliance");
747
740
  }
748
- this.iframe.src = `https://www.youtube.com/embed/${videoId}?${params.toString()}`;
749
- this.iframe.allow =
750
- "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share";
751
- this.iframe.allowFullscreen = true;
752
- this.iframe.style.position = "absolute";
753
- this.iframe.style.border = "none";
754
- // Disable pointer events in background mode to allow clicks to pass through
755
- if (__classPrivateFieldGet(this, _YouTubeEmbed_background, "f")) {
756
- this.iframe.style.pointerEvents = "none";
757
- // CSS handles the sizing for background videos
758
- }
759
- else {
760
- this.iframe.style.top = "0";
761
- this.iframe.style.left = "0";
762
- this.iframe.style.width = "100%";
763
- this.iframe.style.height = "100%";
764
- }
765
- this.log("YouTubeEmbed: Iframe created with src:", this.iframe.src);
766
- this.replaceChildren(this.iframe);
741
+ // Create a container div for the YouTube player
742
+ const playerContainer = document.createElement("div");
743
+ playerContainer.style.position = "absolute";
744
+ playerContainer.style.top = "0";
745
+ playerContainer.style.left = "0";
746
+ playerContainer.style.width = "100%";
747
+ playerContainer.style.height = "100%";
748
+ this.replaceChildren(playerContainer);
767
749
  if (!controls) {
768
750
  this.addCustomControls();
769
751
  }
770
- // Initialize the YouTube API player for advanced control
752
+ // Build playerVars object for YouTube Player API
753
+ const playerVars = Object.assign({ autoplay: autoplay ? 1 : 0, controls: !isBackground && controls ? 1 : 0, playsinline: 1, rel: 0, modestbranding: 1 }, __classPrivateFieldGet(this, _YouTubeEmbed_playerVars, "f"));
754
+ // Only add mute parameter when muting
755
+ if (mute || __classPrivateFieldGet(this, _YouTubeEmbed_muted, "f")) {
756
+ playerVars.mute = 1;
757
+ }
758
+ // Add origin for CORS
759
+ try {
760
+ if (window.location.origin && window.location.origin !== "null") {
761
+ playerVars.origin = window.location.origin;
762
+ }
763
+ }
764
+ catch (e) {
765
+ this.warn("YouTubeEmbed: Could not set origin parameter:", e);
766
+ }
767
+ this.log("YouTubeEmbed: Initializing player with vars:", playerVars);
768
+ // Initialize the YouTube API player - it will create the iframe
771
769
  try {
772
770
  yield YouTubeEmbed.loadYouTubeAPIWithRetry(this.apiLoadRetries);
773
- this.player = new YT.Player(this.iframe, {
771
+ this.player = new YT.Player(playerContainer, {
774
772
  videoId,
773
+ playerVars,
775
774
  events: {
776
775
  onReady: () => {
777
776
  this.log("YouTubeEmbed: Player is ready.");
778
777
  this.playerReady = true;
778
+ // Get the iframe element that YT.Player created
779
+ this.iframe = this.player.getIframe();
780
+ // Apply background mode styling if needed
781
+ if (__classPrivateFieldGet(this, _YouTubeEmbed_background, "f") && this.iframe) {
782
+ this.iframe.style.pointerEvents = "none";
783
+ }
779
784
  // Sync muted state with YouTube player
780
785
  if (__classPrivateFieldGet(this, _YouTubeEmbed_muted, "f")) {
781
786
  this.player.mute();
@@ -1 +1 @@
1
- {"version":3,"file":"YouTubeEmbed.js","sourceRoot":"","sources":["../../src/components/YouTubeEmbed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YouTubeEmbed.js","sourceRoot":"","sources":["../../src/components/YouTubeEmbed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- var _YouTubeEmbed_instances,_YouTubeEmbed_url,_YouTubeEmbed_videoId,_YouTubeEmbed_autoplay,_YouTubeEmbed_muted,_YouTubeEmbed_controls,_YouTubeEmbed_lazy,_YouTubeEmbed_poster,_YouTubeEmbed_playing,_YouTubeEmbed_background,_YouTubeEmbed_playerVars,_YouTubeEmbed_reflectBooleanAttribute,_YouTubeEmbed_updateBackgroundMode,__awaiter=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))(function(a,r){function o(e){try{l(s.next(e))}catch(e){r(e)}}function u(e){try{l(s.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(o,u)}l((s=s.apply(e,t||[])).next())})},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,t,i,s,a){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?a.call(e,i):a?a.value=i:t.set(e,i),i},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,t,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(e):s?s.value:t.get(e)};export class YouTubeEmbed extends HTMLElement{constructor(){super(...arguments),_YouTubeEmbed_instances.add(this),this.iframe=null,this.player=null,this.playerReady=!1,this.playPauseButton=null,this.initialized=!1,this.setCustomControlState=null,this.updatingAttribute=!1,this.updatingMutedState=!1,_YouTubeEmbed_url.set(this,""),_YouTubeEmbed_videoId.set(this,""),_YouTubeEmbed_autoplay.set(this,!1),_YouTubeEmbed_muted.set(this,!1),_YouTubeEmbed_controls.set(this,!1),_YouTubeEmbed_lazy.set(this,!1),_YouTubeEmbed_poster.set(this,""),_YouTubeEmbed_playing.set(this,!1),_YouTubeEmbed_background.set(this,!1),_YouTubeEmbed_playerVars.set(this,{}),this.posterClickHandler=null,this.keyboardHandler=null,this.ariaLiveRegion=null,this.apiLoadRetries=0,this.intersectionObserver=null,this.hasLoadedVideo=!1}static get observedAttributes(){return["url","video-id","autoplay","controls","lazy","muted","poster","background","player-vars","quality"]}attributeChangedCallback(e,t,i){if(!this.updatingAttribute)switch(this.log(`YouTubeEmbed: Attribute changed - ${e}: ${t} -> ${i}`),e){case"url":__classPrivateFieldSet(this,_YouTubeEmbed_url,i||"","f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,this.extractVideoId(__classPrivateFieldGet(this,_YouTubeEmbed_url,"f")),"f"),this.initialized&&this.reinitializePlayer();break;case"video-id":__classPrivateFieldSet(this,_YouTubeEmbed_videoId,i||"","f"),this.initialized&&this.reinitializePlayer();break;case"autoplay":__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,null!==i,"f"),!__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")&&__classPrivateFieldGet(this,_YouTubeEmbed_autoplay,"f")&&!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&this.initialized&&this.play();break;case"controls":__classPrivateFieldSet(this,_YouTubeEmbed_controls,null!==i,"f"),this.initialized&&this.reinitializePlayer();break;case"lazy":__classPrivateFieldSet(this,_YouTubeEmbed_lazy,null!==i,"f");break;case"muted":__classPrivateFieldSet(this,_YouTubeEmbed_muted,null!==i,"f"),this.player&&this.playerReady&&(__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")?this.player.mute():this.player.unMute());break;case"poster":__classPrivateFieldSet(this,_YouTubeEmbed_poster,i||"","f"),__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&!this.player&&this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"));break;case"background":__classPrivateFieldSet(this,_YouTubeEmbed_background,null!==i,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_updateBackgroundMode).call(this);break;case"player-vars":try{__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,i?JSON.parse(i):{},"f")}catch(e){this.error("YouTubeEmbed: Invalid player-vars JSON:",e),__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,{},"f")}this.initialized&&this.reinitializePlayer();break;case"quality":i&&this.player&&this.playerReady&&this.setQuality(i)}}get url(){return __classPrivateFieldGet(this,_YouTubeEmbed_url,"f")}set url(e){__classPrivateFieldSet(this,_YouTubeEmbed_url,e,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,this.extractVideoId(e),"f"),this.initialized&&this.reinitializePlayer()}get videoId(){return __classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")}set videoId(e){__classPrivateFieldSet(this,_YouTubeEmbed_videoId,e,"f"),this.initialized&&this.reinitializePlayer()}get autoplay(){return __classPrivateFieldGet(this,_YouTubeEmbed_autoplay,"f")}set autoplay(e){__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"autoplay",e),!__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")&&e&&!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&this.initialized&&this.play()}get controls(){return __classPrivateFieldGet(this,_YouTubeEmbed_controls,"f")}set controls(e){__classPrivateFieldSet(this,_YouTubeEmbed_controls,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"controls",e),this.initialized&&this.reinitializePlayer()}get lazy(){return __classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")}set lazy(e){__classPrivateFieldSet(this,_YouTubeEmbed_lazy,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"lazy",e)}get muted(){return __classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")}set muted(e){__classPrivateFieldSet(this,_YouTubeEmbed_muted,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"muted",e),this.player&&this.playerReady&&(this.updatingMutedState=!0,e?this.player.mute():this.player.unMute(),setTimeout(()=>{this.updatingMutedState=!1},100))}get poster(){return __classPrivateFieldGet(this,_YouTubeEmbed_poster,"f")}set poster(e){__classPrivateFieldSet(this,_YouTubeEmbed_poster,e,"f"),this.updatingAttribute=!0,e?this.setAttribute("poster",e):this.removeAttribute("poster"),this.updatingAttribute=!1,__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&!this.player&&this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}get playing(){return __classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")}get background(){return __classPrivateFieldGet(this,_YouTubeEmbed_background,"f")}set background(e){__classPrivateFieldSet(this,_YouTubeEmbed_background,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"background",e),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_updateBackgroundMode).call(this)}get playerVars(){return __classPrivateFieldGet(this,_YouTubeEmbed_playerVars,"f")}set playerVars(e){__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,e,"f"),this.setAttribute("player-vars",JSON.stringify(e)),this.initialized&&this.reinitializePlayer()}extractVideoId(e){if(!e)return"";const t=e.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/);return t&&t[1]?t[1]:/^[a-zA-Z0-9_-]{11}$/.test(e)?e:(this.warn(`YouTubeEmbed: Could not extract video ID from "${e}"`),"")}log(...e){YouTubeEmbed.DEBUG&&console.log("YouTubeEmbed:",...e)}warn(...e){console.warn(...e)}error(...e){console.error(...e)}dispatchCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}isValidPosterUrl(e){if(!e)return!1;try{return new URL(e),!0}catch(e){return!1}}setupFullscreenListener(){const e=()=>{const e=this.isFullscreen();this.dispatchCustomEvent("fullscreenchange",{isFullscreen:e}),e?this.classList.add("is-fullscreen"):this.classList.remove("is-fullscreen")};document.addEventListener("fullscreenchange",e),document.addEventListener("webkitfullscreenchange",e),document.addEventListener("mozfullscreenchange",e),document.addEventListener("MSFullscreenChange",e)}setupKeyboardHandlers(){this.keyboardHandler=e=>{var t,i;if(this.playerReady&&"INPUT"!==(null===(t=e.target)||void 0===t?void 0:t.tagName))switch(e.key.toLowerCase()){case"k":case" ":e.preventDefault(),this.togglePlay(),this.announceToScreenReader(__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")?"Video playing":"Video paused");break;case"m":e.preventDefault(),this.toggleMute(),null===(i=this.player)||void 0===i||i.isMuted().then(e=>{this.announceToScreenReader(e?"Video muted":"Video unmuted")});break;case"f":e.preventDefault(),document.fullscreenElement?(document.exitFullscreen(),this.announceToScreenReader("Exited fullscreen")):this.enterFullscreen&&(this.enterFullscreen(),this.announceToScreenReader("Entered fullscreen"))}},this.addEventListener("keydown",this.keyboardHandler)}announceToScreenReader(e){this.ariaLiveRegion&&(this.ariaLiveRegion.textContent=e,setTimeout(()=>{this.ariaLiveRegion&&(this.ariaLiveRegion.textContent="")},1e3))}addResourceHints(){[{rel:"preconnect",href:"https://www.youtube.com"},{rel:"preconnect",href:"https://i.ytimg.com"},{rel:"dns-prefetch",href:"https://www.youtube.com"},{rel:"dns-prefetch",href:"https://i.ytimg.com"}].forEach(({rel:e,href:t})=>{if(!document.querySelector(`link[rel="${e}"][href="${t}"]`)){const i=document.createElement("link");i.rel=e,i.href=t,"preconnect"===e&&(i.crossOrigin="anonymous"),document.head.appendChild(i)}})}setupIntersectionObserver(){if(!("IntersectionObserver"in window))return;this.intersectionObserver=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting&&!this.hasLoadedVideo){this.hasLoadedVideo=!0,this.log("YouTubeEmbed: Video entering viewport, loading...");"true"===this.getAttribute("data-poster-autoplay")||this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),this.intersectionObserver&&this.intersectionObserver.disconnect()}})},{root:null,rootMargin:"50px",threshold:.01}),this.intersectionObserver.observe(this)}showErrorMessage(e){const t=document.createElement("div");t.className="youtube-error-message",t.setAttribute("role","alert"),t.innerHTML=`\n <div class="error-content">\n <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\n <circle cx="12" cy="12" r="10"></circle>\n <line x1="12" y1="8" x2="12" y2="12"></line>\n <line x1="12" y1="16" x2="12.01" y2="16"></line>\n </svg>\n <p class="error-message">${e}</p>\n <button class="retry-button">Retry</button>\n </div>\n `;const i=t.querySelector(".retry-button");i&&i.addEventListener("click",()=>{this.apiLoadRetries=0,t.remove(),__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")&&this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}),this.innerHTML="",this.appendChild(t)}connectedCallback(){YouTubeEmbed.instanceCount++,this.log("YouTubeEmbed: connectedCallback called, instance count:",YouTubeEmbed.instanceCount),1===YouTubeEmbed.instanceCount&&this.addResourceHints();const e=this.getAttribute("url"),t=this.getAttribute("video-id");e?(__classPrivateFieldSet(this,_YouTubeEmbed_url,e,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,this.extractVideoId(e),"f")):t&&__classPrivateFieldSet(this,_YouTubeEmbed_videoId,t,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,this.hasAttribute("autoplay"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_controls,this.hasAttribute("controls"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_lazy,this.hasAttribute("lazy"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_muted,this.hasAttribute("muted"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_background,this.hasAttribute("background"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_poster,this.getAttribute("poster")||"","f");try{const e=this.getAttribute("player-vars");__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,e?JSON.parse(e):{},"f")}catch(e){this.error("YouTubeEmbed: Invalid player-vars JSON on init:",e),__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,{},"f")}if(!__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))return this.error("YouTubeEmbed: Missing or invalid video ID"),void this.dispatchCustomEvent("error",{message:"Missing or invalid video ID"});this.classList.add("youtube-embed-wrapper"),this.setAttribute("role","region"),this.setAttribute("aria-label","Video player"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.ariaLiveRegion=document.createElement("div"),this.ariaLiveRegion.setAttribute("aria-live","polite"),this.ariaLiveRegion.setAttribute("aria-atomic","true"),this.ariaLiveRegion.className="sr-only",this.ariaLiveRegion.style.cssText="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;",this.appendChild(this.ariaLiveRegion),this.setupKeyboardHandlers(),this.setupFullscreenListener(),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_updateBackgroundMode).call(this),__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")?(this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),this.setupIntersectionObserver()):this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),this.initialized=!0,this.dispatchCustomEvent("connected")}disconnectedCallback(){if(YouTubeEmbed.instanceCount--,this.log("YouTubeEmbed: disconnectedCallback called, remaining instances:",YouTubeEmbed.instanceCount),this.player){try{this.player.destroy(),this.log("YouTubeEmbed: Player destroyed.")}catch(e){this.warn("YouTubeEmbed: Error destroying player:",e)}this.player=null}this.keyboardHandler&&(this.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);const e=this.querySelector(".youtube-poster"),t=this.querySelector(".button-overlay");if(e&&this.posterClickHandler&&(e.removeEventListener("click",this.posterClickHandler),this.posterClickHandler=null),t&&this.posterClickHandler&&t.removeEventListener("click",this.posterClickHandler),this.innerHTML="",this.classList.remove("youtube-embed-wrapper","youtube-embed-container","is-playing"),0===YouTubeEmbed.instanceCount){this.log("YouTubeEmbed: Last instance, cleaning up global resources");const e=document.querySelector('script[src="https://www.youtube.com/iframe_api"]');e&&(e.remove(),this.log("YouTubeEmbed: YouTube API script removed.")),window.onYouTubeIframeAPIReady&&delete window.onYouTubeIframeAPIReady,YouTubeEmbed.apiLoaded=!1,YouTubeEmbed.apiReady=!1}this.iframe=null,this.playPauseButton=null,this.setCustomControlState=null,this.dispatchCustomEvent("disconnected"),this.log("YouTubeEmbed: Cleanup complete.")}reinitializePlayer(){if(this.initialized&&__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")){if(this.player)try{this.player.destroy()}catch(e){this.warn("YouTubeEmbed: Error destroying player:",e)}__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")?this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")):this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}}showPoster(e){const t=this.isValidPosterUrl(__classPrivateFieldGet(this,_YouTubeEmbed_poster,"f"))?__classPrivateFieldGet(this,_YouTubeEmbed_poster,"f"):`https://img.youtube.com/vi/${e}/hqdefault.jpg`;this.log("YouTubeEmbed: Using poster URL:",t),this.innerHTML="",this.posterClickHandler&&(this.posterClickHandler=null);const i=document.createElement("img");i.src=t,i.alt="YouTube Video Thumbnail",i.classList.add("youtube-poster","video-poster"),i.loading="lazy",i.onerror=()=>{this.warn("YouTubeEmbed: Poster failed to load, using white background."),i.style.display="none",this.style.backgroundColor="#FFFFFF"};const s=document.createElement("div");s.classList.add("button-overlay"),s.setAttribute("role","button"),s.setAttribute("tabindex","0"),s.setAttribute("aria-label","Play video");const a=document.createElement("div");a.classList.add("button"),a.setAttribute("aria-hidden","true"),s.appendChild(a);const r=()=>{this.log("YouTubeEmbed: Loading video from poster click"),this.setAttribute("data-poster-autoplay","true");try{this.initializePlayer(e)}catch(e){this.error("YouTubeEmbed: Error initializing player from poster:",e),this.dispatchCustomEvent("error",{message:"Failed to load video"})}};this.posterClickHandler=r;i.addEventListener("click",r),s.addEventListener("click",r),s.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r())}),this.appendChild(i),this.appendChild(s),this.log("YouTubeEmbed: Poster displayed for lazy loading")}initializePlayer(e){return __awaiter(this,void 0,void 0,function*(){this.log("YouTubeEmbed: Initializing player for video ID:",e);const t=__classPrivateFieldGet(this,_YouTubeEmbed_background,"f"),i=t||this.hasAttribute("autoplay")||this.hasAttribute("data-poster-autoplay")||this.hasAttribute("data-should-autoplay"),s=!t&&this.hasAttribute("controls"),a=t||i;this.hasAttribute("data-poster-autoplay")&&this.removeAttribute("data-poster-autoplay"),this.hasAttribute("data-should-autoplay")&&this.removeAttribute("data-should-autoplay"),this.log("YouTubeEmbed: Creating iframe with autoplay:",i,"controls:",s),this.iframe=document.createElement("iframe");const r=new URLSearchParams(Object.assign({enablejsapi:"1",autoplay:i?"1":"0",controls:s||t?"0":"1",mute:a?"1":"0",playsinline:"1",rel:"0",modestbranding:"1",origin:window.location.origin||"localhost"},__classPrivateFieldGet(this,_YouTubeEmbed_playerVars,"f")));__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&r.set("mute","1"),i&&!__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&(__classPrivateFieldSet(this,_YouTubeEmbed_muted,!0,"f"),this.log("YouTubeEmbed: Autoplay enabled, forcing muted state for compliance")),this.iframe.src=`https://www.youtube.com/embed/${e}?${r.toString()}`,this.iframe.allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",this.iframe.allowFullscreen=!0,this.iframe.style.position="absolute",this.iframe.style.border="none",__classPrivateFieldGet(this,_YouTubeEmbed_background,"f")?this.iframe.style.pointerEvents="none":(this.iframe.style.top="0",this.iframe.style.left="0",this.iframe.style.width="100%",this.iframe.style.height="100%"),this.log("YouTubeEmbed: Iframe created with src:",this.iframe.src),this.replaceChildren(this.iframe),s||this.addCustomControls();try{yield YouTubeEmbed.loadYouTubeAPIWithRetry(this.apiLoadRetries),this.player=new YT.Player(this.iframe,{videoId:e,events:{onReady:()=>{this.log("YouTubeEmbed: Player is ready."),this.playerReady=!0,__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")?this.player.mute():this.player.unMute(),i&&this.setCustomControlState&&(this.setCustomControlState(!0),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!0,"f")),this.dispatchCustomEvent("ready")},onStateChange:e=>{const t=e.data===YT.PlayerState.PLAYING,i=e.data===YT.PlayerState.PAUSED,s=e.data===YT.PlayerState.ENDED;__classPrivateFieldSet(this,_YouTubeEmbed_playing,t,"f");try{if(!this.updatingMutedState&&this.player&&"function"==typeof this.player.isMuted){const e=this.player.isMuted();e!==__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&(__classPrivateFieldSet(this,_YouTubeEmbed_muted,e,"f"),this.log("YouTubeEmbed: Synced muted state:",e))}}catch(e){this.warn("YouTubeEmbed: Could not sync muted state:",e)}this.setCustomControlState&&this.setCustomControlState(t),t?this.dispatchCustomEvent("play"):i?this.dispatchCustomEvent("pause"):s&&this.dispatchCustomEvent("ended")},onError:e=>{this.error("YouTubeEmbed: Player encountered an error:",e);let t="Unknown error occurred";switch(e.data){case 2:t="Invalid video ID";break;case 5:t="HTML5 player error";break;case 100:t="Video not found or private";break;case 101:case 150:t="Video cannot be embedded (restrictions by owner)";break;default:t=`YouTube error code: ${e.data}`}this.dispatchCustomEvent("error",{message:t,code:e.data})}}})}catch(e){this.error("YouTubeEmbed: YouTube API initialization failed:",e),this.showErrorMessage(e instanceof Error?e.message:"Failed to load YouTube player. Please refresh the page or check your connection."),this.dispatchCustomEvent("error",{message:e instanceof Error?e.message:"API load failed",code:"API_LOAD_ERROR",retryable:!0})}})}static loadYouTubeAPI(){return __awaiter(this,void 0,void 0,function*(){return new Promise((e,t)=>{if(this.apiReady)return void e();const i=setTimeout(()=>{s(),t(new Error("YouTube API loading timeout. The API script may be blocked by an ad blocker or network issue."))},this.API_LOAD_TIMEOUT),s=()=>{clearTimeout(i),delete window.onYouTubeIframeAPIReady};if(!this.apiLoaded){const e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",e.onerror=()=>{s(),t(new Error("Failed to load YouTube API script. Please check your network connection or disable ad blockers."))},document.head.appendChild(e),this.apiLoaded=!0}window.onYouTubeIframeAPIReady=()=>{this.apiReady=!0,s(),e()}})})}static loadYouTubeAPIWithRetry(){return __awaiter(this,arguments,void 0,function*(e=0){try{yield this.loadYouTubeAPI()}catch(t){if(e<this.MAX_API_RETRIES)return console.warn(`YouTubeEmbed: API load failed, retrying (${e+1}/${this.MAX_API_RETRIES})...`),yield new Promise(e=>setTimeout(e,this.API_RETRY_DELAY)),this.loadYouTubeAPIWithRetry(e+1);throw t}})}addCustomControls(){this.classList.add("youtube-embed-container");const e=document.createElement("div");e.classList.add("button-overlay"),this.playPauseButton=document.createElement("div"),this.playPauseButton.classList.add("button");let t=!1;const i=e=>{t=e,e?this.classList.add("is-playing"):this.classList.remove("is-playing")};this.setCustomControlState=i,e.addEventListener("click",()=>{t?(this.player&&"function"==typeof this.player.pauseVideo?this.player.pauseVideo():this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"),i(!1)):(this.player&&"function"==typeof this.player.playVideo?this.player.playVideo():this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"),i(!0))}),this.playPauseButton&&e.appendChild(this.playPauseButton),this.appendChild(e)}play(){return __awaiter(this,void 0,void 0,function*(){!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")||this.player||this.iframe||(this.log("YouTubeEmbed: Lazy video needs to be loaded first. Initializing..."),this.setAttribute("data-should-autoplay","true"),yield this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),yield new Promise(e=>setTimeout(e,1e3))),this.playerReady||(this.warn("YouTubeEmbed: Player is not ready. Waiting for initialization."),yield new Promise(e=>{const t=setInterval(()=>{this.playerReady&&(clearInterval(t),e(null))},100);setTimeout(()=>{clearInterval(t),e(null)},5e3)})),this.removeAttribute("data-should-autoplay"),this.player&&"function"==typeof this.player.playVideo?(this.player.playVideo(),this.log("YouTubeEmbed: Video playback started via API.")):(this.log("YouTubeEmbed: Using iframe postMessage for play."),this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!0,"f"),this.setCustomControlState&&this.setCustomControlState(!0),this.dispatchCustomEvent("play")})}pause(){this.player&&"function"==typeof this.player.pauseVideo?(this.player.pauseVideo(),this.log("YouTubeEmbed: Video paused via API.")):(this.log("YouTubeEmbed: Using iframe postMessage for pause."),this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!1,"f"),this.setCustomControlState&&this.setCustomControlState(!1),this.dispatchCustomEvent("pause")}stopVideo(){this.player&&"function"==typeof this.player.stopVideo?(this.player.stopVideo(),this.log("YouTubeEmbed: Video stopped via API.")):(this.log("YouTubeEmbed: Using iframe postMessage for stop."),this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}',"*")),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!1,"f"),this.setCustomControlState&&this.setCustomControlState(!1),this.dispatchCustomEvent("stop")}mute(){this.muted=!0}unmute(){this.muted=!1}togglePlay(){__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")?this.pause():this.play()}toggleMute(){this.muted=!__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")}static toggleDebug(e){YouTubeEmbed.DEBUG=void 0!==e?e:!YouTubeEmbed.DEBUG,console.log(`YouTubeEmbed: Debugging is now ${YouTubeEmbed.DEBUG?"ENABLED":"DISABLED"}.`)}getPlayerState(){let e=__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f");if(this.player&&this.playerReady)try{e=this.player.isMuted(),e!==__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&__classPrivateFieldSet(this,_YouTubeEmbed_muted,e,"f")}catch(e){this.warn("YouTubeEmbed: Could not get muted state from player:",e)}return{playing:__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f"),muted:e,videoId:__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"),ready:this.playerReady,initialized:this.initialized}}isPlaying(){return __classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")}isMuted(){if(this.player&&this.playerReady)try{return this.player.isMuted()}catch(e){this.warn("YouTubeEmbed: Could not get muted state from player:",e)}return __classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")}enterFullscreen(){const e=this;return e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen?e.msRequestFullscreen():Promise.reject(new Error("Fullscreen API not supported"))}exitFullscreen(){const e=document;return e.exitFullscreen?e.exitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.msExitFullscreen?e.msExitFullscreen():Promise.reject(new Error("Fullscreen API not supported"))}toggleFullscreen(){return __awaiter(this,void 0,void 0,function*(){this.isFullscreen()?yield this.exitFullscreen():yield this.enterFullscreen()})}isFullscreen(){const e=document;return!!(e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement)}getAvailableQualities(){if(this.player&&this.playerReady)try{return this.player.getAvailableQualityLevels()||[]}catch(e){this.warn("YouTubeEmbed: Could not get available qualities:",e)}return[]}getCurrentQuality(){if(this.player&&this.playerReady)try{return this.player.getPlaybackQuality()||"auto"}catch(e){this.warn("YouTubeEmbed: Could not get current quality:",e)}return"auto"}setQuality(e){if(this.player&&this.playerReady)try{const t=this.getCurrentQuality();this.player.setPlaybackQuality(e);const i=new CustomEvent("qualitychange",{detail:{oldQuality:t,newQuality:e,availableQualities:this.getAvailableQualities()},bubbles:!0,composed:!0});this.dispatchEvent(i)}catch(e){this.warn("YouTubeEmbed: Could not set quality:",e)}else this.warn("YouTubeEmbed: Player not ready for quality change")}getCurrentTime(){if(this.player&&this.playerReady)try{return this.player.getCurrentTime()||0}catch(e){this.warn("YouTubeEmbed: Could not get current time from player:",e)}return 0}loadVideo(e){const t=this.extractVideoId(e);if(t?(__classPrivateFieldSet(this,_YouTubeEmbed_url,e,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,t,"f")):__classPrivateFieldSet(this,_YouTubeEmbed_videoId,e,"f"),!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")||this.player)this.initialized&&this.reinitializePlayer();else try{this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}catch(e){this.warn("YouTubeEmbed: loadVideo failed to initialize player:",e)}}}_YouTubeEmbed_url=new WeakMap,_YouTubeEmbed_videoId=new WeakMap,_YouTubeEmbed_autoplay=new WeakMap,_YouTubeEmbed_muted=new WeakMap,_YouTubeEmbed_controls=new WeakMap,_YouTubeEmbed_lazy=new WeakMap,_YouTubeEmbed_poster=new WeakMap,_YouTubeEmbed_playing=new WeakMap,_YouTubeEmbed_background=new WeakMap,_YouTubeEmbed_playerVars=new WeakMap,_YouTubeEmbed_instances=new WeakSet,_YouTubeEmbed_reflectBooleanAttribute=function(e,t){this.updatingAttribute=!0,t?this.setAttribute(e,""):this.removeAttribute(e),this.updatingAttribute=!1},_YouTubeEmbed_updateBackgroundMode=function(){__classPrivateFieldGet(this,_YouTubeEmbed_background,"f")?(this.classList.add("is-background"),__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,!0,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_muted,!0,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_controls,!1,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_lazy,!1,"f")):this.classList.remove("is-background")},YouTubeEmbed.apiLoaded=!1,YouTubeEmbed.apiReady=!1,YouTubeEmbed.instanceCount=0,YouTubeEmbed.DEBUG=!1,YouTubeEmbed.MAX_API_RETRIES=3,YouTubeEmbed.API_RETRY_DELAY=2e3,YouTubeEmbed.API_LOAD_TIMEOUT=1e4,customElements.define("youtube-embed",YouTubeEmbed);
1
+ var _YouTubeEmbed_instances,_YouTubeEmbed_url,_YouTubeEmbed_videoId,_YouTubeEmbed_autoplay,_YouTubeEmbed_muted,_YouTubeEmbed_controls,_YouTubeEmbed_lazy,_YouTubeEmbed_poster,_YouTubeEmbed_playing,_YouTubeEmbed_background,_YouTubeEmbed_playerVars,_YouTubeEmbed_reflectBooleanAttribute,_YouTubeEmbed_updateBackgroundMode,__awaiter=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))(function(a,r){function o(e){try{l(s.next(e))}catch(e){r(e)}}function u(e){try{l(s.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(o,u)}l((s=s.apply(e,t||[])).next())})},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,t,i,s,a){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?a.call(e,i):a?a.value=i:t.set(e,i),i},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,t,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(e):s?s.value:t.get(e)};export class YouTubeEmbed extends HTMLElement{constructor(){super(...arguments),_YouTubeEmbed_instances.add(this),this.iframe=null,this.player=null,this.playerReady=!1,this.playPauseButton=null,this.initialized=!1,this.setCustomControlState=null,this.updatingAttribute=!1,this.updatingMutedState=!1,_YouTubeEmbed_url.set(this,""),_YouTubeEmbed_videoId.set(this,""),_YouTubeEmbed_autoplay.set(this,!1),_YouTubeEmbed_muted.set(this,!1),_YouTubeEmbed_controls.set(this,!1),_YouTubeEmbed_lazy.set(this,!1),_YouTubeEmbed_poster.set(this,""),_YouTubeEmbed_playing.set(this,!1),_YouTubeEmbed_background.set(this,!1),_YouTubeEmbed_playerVars.set(this,{}),this.posterClickHandler=null,this.keyboardHandler=null,this.ariaLiveRegion=null,this.apiLoadRetries=0,this.intersectionObserver=null,this.hasLoadedVideo=!1}static get observedAttributes(){return["url","video-id","autoplay","controls","lazy","muted","poster","background","player-vars","quality"]}attributeChangedCallback(e,t,i){if(!this.updatingAttribute)switch(this.log(`YouTubeEmbed: Attribute changed - ${e}: ${t} -> ${i}`),e){case"url":__classPrivateFieldSet(this,_YouTubeEmbed_url,i||"","f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,this.extractVideoId(__classPrivateFieldGet(this,_YouTubeEmbed_url,"f")),"f"),this.initialized&&this.reinitializePlayer();break;case"video-id":__classPrivateFieldSet(this,_YouTubeEmbed_videoId,i||"","f"),this.initialized&&this.reinitializePlayer();break;case"autoplay":__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,null!==i,"f"),!__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")&&__classPrivateFieldGet(this,_YouTubeEmbed_autoplay,"f")&&!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&this.initialized&&this.play();break;case"controls":__classPrivateFieldSet(this,_YouTubeEmbed_controls,null!==i,"f"),this.initialized&&this.reinitializePlayer();break;case"lazy":__classPrivateFieldSet(this,_YouTubeEmbed_lazy,null!==i,"f");break;case"muted":__classPrivateFieldSet(this,_YouTubeEmbed_muted,null!==i,"f"),this.player&&this.playerReady&&(__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")?this.player.mute():this.player.unMute());break;case"poster":__classPrivateFieldSet(this,_YouTubeEmbed_poster,i||"","f"),__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&!this.player&&this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"));break;case"background":__classPrivateFieldSet(this,_YouTubeEmbed_background,null!==i,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_updateBackgroundMode).call(this);break;case"player-vars":try{__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,i?JSON.parse(i):{},"f")}catch(e){this.error("YouTubeEmbed: Invalid player-vars JSON:",e),__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,{},"f")}this.initialized&&this.reinitializePlayer();break;case"quality":i&&this.player&&this.playerReady&&this.setQuality(i)}}get url(){return __classPrivateFieldGet(this,_YouTubeEmbed_url,"f")}set url(e){__classPrivateFieldSet(this,_YouTubeEmbed_url,e,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,this.extractVideoId(e),"f"),this.initialized&&this.reinitializePlayer()}get videoId(){return __classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")}set videoId(e){__classPrivateFieldSet(this,_YouTubeEmbed_videoId,e,"f"),this.initialized&&this.reinitializePlayer()}get autoplay(){return __classPrivateFieldGet(this,_YouTubeEmbed_autoplay,"f")}set autoplay(e){__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"autoplay",e),!__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")&&e&&!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&this.initialized&&this.play()}get controls(){return __classPrivateFieldGet(this,_YouTubeEmbed_controls,"f")}set controls(e){__classPrivateFieldSet(this,_YouTubeEmbed_controls,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"controls",e),this.initialized&&this.reinitializePlayer()}get lazy(){return __classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")}set lazy(e){__classPrivateFieldSet(this,_YouTubeEmbed_lazy,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"lazy",e)}get muted(){return __classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")}set muted(e){__classPrivateFieldSet(this,_YouTubeEmbed_muted,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"muted",e),this.player&&this.playerReady&&(this.updatingMutedState=!0,e?this.player.mute():this.player.unMute(),setTimeout(()=>{this.updatingMutedState=!1},100))}get poster(){return __classPrivateFieldGet(this,_YouTubeEmbed_poster,"f")}set poster(e){__classPrivateFieldSet(this,_YouTubeEmbed_poster,e,"f"),this.updatingAttribute=!0,e?this.setAttribute("poster",e):this.removeAttribute("poster"),this.updatingAttribute=!1,__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")&&!this.player&&this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}get playing(){return __classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")}get background(){return __classPrivateFieldGet(this,_YouTubeEmbed_background,"f")}set background(e){__classPrivateFieldSet(this,_YouTubeEmbed_background,e,"f"),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_reflectBooleanAttribute).call(this,"background",e),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_updateBackgroundMode).call(this)}get playerVars(){return __classPrivateFieldGet(this,_YouTubeEmbed_playerVars,"f")}set playerVars(e){__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,e,"f"),this.setAttribute("player-vars",JSON.stringify(e)),this.initialized&&this.reinitializePlayer()}extractVideoId(e){if(!e)return"";const t=e.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/);return t&&t[1]?t[1]:/^[a-zA-Z0-9_-]{11}$/.test(e)?e:(this.warn(`YouTubeEmbed: Could not extract video ID from "${e}"`),"")}log(...e){YouTubeEmbed.DEBUG&&console.log("YouTubeEmbed:",...e)}warn(...e){console.warn(...e)}error(...e){console.error(...e)}dispatchCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}isValidPosterUrl(e){if(!e)return!1;try{return new URL(e),!0}catch(e){return!1}}setupFullscreenListener(){const e=()=>{const e=this.isFullscreen();this.dispatchCustomEvent("fullscreenchange",{isFullscreen:e}),e?this.classList.add("is-fullscreen"):this.classList.remove("is-fullscreen")};document.addEventListener("fullscreenchange",e),document.addEventListener("webkitfullscreenchange",e),document.addEventListener("mozfullscreenchange",e),document.addEventListener("MSFullscreenChange",e)}setupKeyboardHandlers(){this.keyboardHandler=e=>{var t,i;if(this.playerReady&&"INPUT"!==(null===(t=e.target)||void 0===t?void 0:t.tagName))switch(e.key.toLowerCase()){case"k":case" ":e.preventDefault(),this.togglePlay(),this.announceToScreenReader(__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")?"Video playing":"Video paused");break;case"m":e.preventDefault(),this.toggleMute(),null===(i=this.player)||void 0===i||i.isMuted().then(e=>{this.announceToScreenReader(e?"Video muted":"Video unmuted")});break;case"f":e.preventDefault(),document.fullscreenElement?(document.exitFullscreen(),this.announceToScreenReader("Exited fullscreen")):this.enterFullscreen&&(this.enterFullscreen(),this.announceToScreenReader("Entered fullscreen"))}},this.addEventListener("keydown",this.keyboardHandler)}announceToScreenReader(e){this.ariaLiveRegion&&(this.ariaLiveRegion.textContent=e,setTimeout(()=>{this.ariaLiveRegion&&(this.ariaLiveRegion.textContent="")},1e3))}addResourceHints(){[{rel:"preconnect",href:"https://www.youtube.com"},{rel:"preconnect",href:"https://i.ytimg.com"},{rel:"dns-prefetch",href:"https://www.youtube.com"},{rel:"dns-prefetch",href:"https://i.ytimg.com"}].forEach(({rel:e,href:t})=>{if(!document.querySelector(`link[rel="${e}"][href="${t}"]`)){const i=document.createElement("link");i.rel=e,i.href=t,"preconnect"===e&&(i.crossOrigin="anonymous"),document.head.appendChild(i)}})}setupIntersectionObserver(){if(!("IntersectionObserver"in window))return;this.intersectionObserver=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting&&!this.hasLoadedVideo){this.hasLoadedVideo=!0,this.log("YouTubeEmbed: Video entering viewport, loading...");"true"===this.getAttribute("data-poster-autoplay")||this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),this.intersectionObserver&&this.intersectionObserver.disconnect()}})},{root:null,rootMargin:"50px",threshold:.01}),this.intersectionObserver.observe(this)}showErrorMessage(e){const t=document.createElement("div");t.className="youtube-error-message",t.setAttribute("role","alert"),t.innerHTML=`\n <div class="error-content">\n <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\n <circle cx="12" cy="12" r="10"></circle>\n <line x1="12" y1="8" x2="12" y2="12"></line>\n <line x1="12" y1="16" x2="12.01" y2="16"></line>\n </svg>\n <p class="error-message">${e}</p>\n <button class="retry-button">Retry</button>\n </div>\n `;const i=t.querySelector(".retry-button");i&&i.addEventListener("click",()=>{this.apiLoadRetries=0,t.remove(),__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")&&this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}),this.innerHTML="",this.appendChild(t)}connectedCallback(){YouTubeEmbed.instanceCount++,this.log("YouTubeEmbed: connectedCallback called, instance count:",YouTubeEmbed.instanceCount),1===YouTubeEmbed.instanceCount&&this.addResourceHints();const e=this.getAttribute("url"),t=this.getAttribute("video-id");e?(__classPrivateFieldSet(this,_YouTubeEmbed_url,e,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,this.extractVideoId(e),"f")):t&&__classPrivateFieldSet(this,_YouTubeEmbed_videoId,t,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,this.hasAttribute("autoplay"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_controls,this.hasAttribute("controls"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_lazy,this.hasAttribute("lazy"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_muted,this.hasAttribute("muted"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_background,this.hasAttribute("background"),"f"),__classPrivateFieldSet(this,_YouTubeEmbed_poster,this.getAttribute("poster")||"","f");try{const e=this.getAttribute("player-vars");__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,e?JSON.parse(e):{},"f")}catch(e){this.error("YouTubeEmbed: Invalid player-vars JSON on init:",e),__classPrivateFieldSet(this,_YouTubeEmbed_playerVars,{},"f")}if(!__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))return this.error("YouTubeEmbed: Missing or invalid video ID"),void this.dispatchCustomEvent("error",{message:"Missing or invalid video ID"});this.classList.add("youtube-embed-wrapper"),this.setAttribute("role","region"),this.setAttribute("aria-label","Video player"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.ariaLiveRegion=document.createElement("div"),this.ariaLiveRegion.setAttribute("aria-live","polite"),this.ariaLiveRegion.setAttribute("aria-atomic","true"),this.ariaLiveRegion.className="sr-only",this.ariaLiveRegion.style.cssText="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;",this.appendChild(this.ariaLiveRegion),this.setupKeyboardHandlers(),this.setupFullscreenListener(),__classPrivateFieldGet(this,_YouTubeEmbed_instances,"m",_YouTubeEmbed_updateBackgroundMode).call(this),__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")?(this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),this.setupIntersectionObserver()):this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),this.initialized=!0,this.dispatchCustomEvent("connected")}disconnectedCallback(){if(YouTubeEmbed.instanceCount--,this.log("YouTubeEmbed: disconnectedCallback called, remaining instances:",YouTubeEmbed.instanceCount),this.player){try{this.player.destroy(),this.log("YouTubeEmbed: Player destroyed.")}catch(e){this.warn("YouTubeEmbed: Error destroying player:",e)}this.player=null}this.keyboardHandler&&(this.removeEventListener("keydown",this.keyboardHandler),this.keyboardHandler=null);const e=this.querySelector(".youtube-poster"),t=this.querySelector(".button-overlay");if(e&&this.posterClickHandler&&(e.removeEventListener("click",this.posterClickHandler),this.posterClickHandler=null),t&&this.posterClickHandler&&t.removeEventListener("click",this.posterClickHandler),this.innerHTML="",this.classList.remove("youtube-embed-wrapper","youtube-embed-container","is-playing"),0===YouTubeEmbed.instanceCount){this.log("YouTubeEmbed: Last instance, cleaning up global resources");const e=document.querySelector('script[src="https://www.youtube.com/iframe_api"]');e&&(e.remove(),this.log("YouTubeEmbed: YouTube API script removed.")),window.onYouTubeIframeAPIReady&&delete window.onYouTubeIframeAPIReady,YouTubeEmbed.apiLoaded=!1,YouTubeEmbed.apiReady=!1}this.iframe=null,this.playPauseButton=null,this.setCustomControlState=null,this.dispatchCustomEvent("disconnected"),this.log("YouTubeEmbed: Cleanup complete.")}reinitializePlayer(){if(this.initialized&&__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")){if(this.player)try{this.player.destroy()}catch(e){this.warn("YouTubeEmbed: Error destroying player:",e)}__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")?this.showPoster(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")):this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}}showPoster(e){const t=this.isValidPosterUrl(__classPrivateFieldGet(this,_YouTubeEmbed_poster,"f"))?__classPrivateFieldGet(this,_YouTubeEmbed_poster,"f"):`https://img.youtube.com/vi/${e}/hqdefault.jpg`;this.log("YouTubeEmbed: Using poster URL:",t),this.innerHTML="",this.posterClickHandler&&(this.posterClickHandler=null);const i=document.createElement("img");i.src=t,i.alt="YouTube Video Thumbnail",i.classList.add("youtube-poster","video-poster"),i.loading="lazy",i.onerror=()=>{this.warn("YouTubeEmbed: Poster failed to load, using white background."),i.style.display="none",this.style.backgroundColor="#FFFFFF"};const s=document.createElement("div");s.classList.add("button-overlay"),s.setAttribute("role","button"),s.setAttribute("tabindex","0"),s.setAttribute("aria-label","Play video");const a=document.createElement("div");a.classList.add("button"),a.setAttribute("aria-hidden","true"),s.appendChild(a);const r=()=>{this.log("YouTubeEmbed: Loading video from poster click"),this.setAttribute("data-poster-autoplay","true");try{this.initializePlayer(e)}catch(e){this.error("YouTubeEmbed: Error initializing player from poster:",e),this.dispatchCustomEvent("error",{message:"Failed to load video"})}};this.posterClickHandler=r;i.addEventListener("click",r),s.addEventListener("click",r),s.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),r())}),this.appendChild(i),this.appendChild(s),this.log("YouTubeEmbed: Poster displayed for lazy loading")}initializePlayer(e){return __awaiter(this,void 0,void 0,function*(){this.log("YouTubeEmbed: Initializing player for video ID:",e);const t=__classPrivateFieldGet(this,_YouTubeEmbed_background,"f"),i=t||this.hasAttribute("autoplay")||this.hasAttribute("data-poster-autoplay")||this.hasAttribute("data-should-autoplay"),s=!t&&this.hasAttribute("controls"),a=t||i;this.hasAttribute("data-poster-autoplay")&&this.removeAttribute("data-poster-autoplay"),this.hasAttribute("data-should-autoplay")&&this.removeAttribute("data-should-autoplay"),this.log("YouTubeEmbed: Creating iframe with autoplay:",i,"controls:",s),i&&!__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&(__classPrivateFieldSet(this,_YouTubeEmbed_muted,!0,"f"),this.log("YouTubeEmbed: Autoplay enabled, forcing muted state for compliance"));const r=document.createElement("div");r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",this.replaceChildren(r),s||this.addCustomControls();const o=Object.assign({autoplay:i?1:0,controls:!t&&s?1:0,playsinline:1,rel:0,modestbranding:1},__classPrivateFieldGet(this,_YouTubeEmbed_playerVars,"f"));(a||__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f"))&&(o.mute=1);try{window.location.origin&&"null"!==window.location.origin&&(o.origin=window.location.origin)}catch(e){this.warn("YouTubeEmbed: Could not set origin parameter:",e)}this.log("YouTubeEmbed: Initializing player with vars:",o);try{yield YouTubeEmbed.loadYouTubeAPIWithRetry(this.apiLoadRetries),this.player=new YT.Player(r,{videoId:e,playerVars:o,events:{onReady:()=>{this.log("YouTubeEmbed: Player is ready."),this.playerReady=!0,this.iframe=this.player.getIframe(),__classPrivateFieldGet(this,_YouTubeEmbed_background,"f")&&this.iframe&&(this.iframe.style.pointerEvents="none"),__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")?this.player.mute():this.player.unMute(),i&&this.setCustomControlState&&(this.setCustomControlState(!0),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!0,"f")),this.dispatchCustomEvent("ready")},onStateChange:e=>{const t=e.data===YT.PlayerState.PLAYING,i=e.data===YT.PlayerState.PAUSED,s=e.data===YT.PlayerState.ENDED;__classPrivateFieldSet(this,_YouTubeEmbed_playing,t,"f");try{if(!this.updatingMutedState&&this.player&&"function"==typeof this.player.isMuted){const e=this.player.isMuted();e!==__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&(__classPrivateFieldSet(this,_YouTubeEmbed_muted,e,"f"),this.log("YouTubeEmbed: Synced muted state:",e))}}catch(e){this.warn("YouTubeEmbed: Could not sync muted state:",e)}this.setCustomControlState&&this.setCustomControlState(t),t?this.dispatchCustomEvent("play"):i?this.dispatchCustomEvent("pause"):s&&this.dispatchCustomEvent("ended")},onError:e=>{this.error("YouTubeEmbed: Player encountered an error:",e);let t="Unknown error occurred";switch(e.data){case 2:t="Invalid video ID";break;case 5:t="HTML5 player error";break;case 100:t="Video not found or private";break;case 101:case 150:t="Video cannot be embedded (restrictions by owner)";break;default:t=`YouTube error code: ${e.data}`}this.dispatchCustomEvent("error",{message:t,code:e.data})}}})}catch(e){this.error("YouTubeEmbed: YouTube API initialization failed:",e),this.showErrorMessage(e instanceof Error?e.message:"Failed to load YouTube player. Please refresh the page or check your connection."),this.dispatchCustomEvent("error",{message:e instanceof Error?e.message:"API load failed",code:"API_LOAD_ERROR",retryable:!0})}})}static loadYouTubeAPI(){return __awaiter(this,void 0,void 0,function*(){return new Promise((e,t)=>{if(this.apiReady)return void e();const i=setTimeout(()=>{s(),t(new Error("YouTube API loading timeout. The API script may be blocked by an ad blocker or network issue."))},this.API_LOAD_TIMEOUT),s=()=>{clearTimeout(i),delete window.onYouTubeIframeAPIReady};if(!this.apiLoaded){const e=document.createElement("script");e.src="https://www.youtube.com/iframe_api",e.onerror=()=>{s(),t(new Error("Failed to load YouTube API script. Please check your network connection or disable ad blockers."))},document.head.appendChild(e),this.apiLoaded=!0}window.onYouTubeIframeAPIReady=()=>{this.apiReady=!0,s(),e()}})})}static loadYouTubeAPIWithRetry(){return __awaiter(this,arguments,void 0,function*(e=0){try{yield this.loadYouTubeAPI()}catch(t){if(e<this.MAX_API_RETRIES)return console.warn(`YouTubeEmbed: API load failed, retrying (${e+1}/${this.MAX_API_RETRIES})...`),yield new Promise(e=>setTimeout(e,this.API_RETRY_DELAY)),this.loadYouTubeAPIWithRetry(e+1);throw t}})}addCustomControls(){this.classList.add("youtube-embed-container");const e=document.createElement("div");e.classList.add("button-overlay"),this.playPauseButton=document.createElement("div"),this.playPauseButton.classList.add("button");let t=!1;const i=e=>{t=e,e?this.classList.add("is-playing"):this.classList.remove("is-playing")};this.setCustomControlState=i,e.addEventListener("click",()=>{t?(this.player&&"function"==typeof this.player.pauseVideo?this.player.pauseVideo():this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*"),i(!1)):(this.player&&"function"==typeof this.player.playVideo?this.player.playVideo():this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"),i(!0))}),this.playPauseButton&&e.appendChild(this.playPauseButton),this.appendChild(e)}play(){return __awaiter(this,void 0,void 0,function*(){!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")||this.player||this.iframe||(this.log("YouTubeEmbed: Lazy video needs to be loaded first. Initializing..."),this.setAttribute("data-should-autoplay","true"),yield this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f")),yield new Promise(e=>setTimeout(e,1e3))),this.playerReady||(this.warn("YouTubeEmbed: Player is not ready. Waiting for initialization."),yield new Promise(e=>{const t=setInterval(()=>{this.playerReady&&(clearInterval(t),e(null))},100);setTimeout(()=>{clearInterval(t),e(null)},5e3)})),this.removeAttribute("data-should-autoplay"),this.player&&"function"==typeof this.player.playVideo?(this.player.playVideo(),this.log("YouTubeEmbed: Video playback started via API.")):(this.log("YouTubeEmbed: Using iframe postMessage for play."),this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*")),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!0,"f"),this.setCustomControlState&&this.setCustomControlState(!0),this.dispatchCustomEvent("play")})}pause(){this.player&&"function"==typeof this.player.pauseVideo?(this.player.pauseVideo(),this.log("YouTubeEmbed: Video paused via API.")):(this.log("YouTubeEmbed: Using iframe postMessage for pause."),this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!1,"f"),this.setCustomControlState&&this.setCustomControlState(!1),this.dispatchCustomEvent("pause")}stopVideo(){this.player&&"function"==typeof this.player.stopVideo?(this.player.stopVideo(),this.log("YouTubeEmbed: Video stopped via API.")):(this.log("YouTubeEmbed: Using iframe postMessage for stop."),this.iframe&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}',"*")),__classPrivateFieldSet(this,_YouTubeEmbed_playing,!1,"f"),this.setCustomControlState&&this.setCustomControlState(!1),this.dispatchCustomEvent("stop")}mute(){this.muted=!0}unmute(){this.muted=!1}togglePlay(){__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")?this.pause():this.play()}toggleMute(){this.muted=!__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")}static toggleDebug(e){YouTubeEmbed.DEBUG=void 0!==e?e:!YouTubeEmbed.DEBUG,console.log(`YouTubeEmbed: Debugging is now ${YouTubeEmbed.DEBUG?"ENABLED":"DISABLED"}.`)}getPlayerState(){let e=__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f");if(this.player&&this.playerReady)try{e=this.player.isMuted(),e!==__classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")&&__classPrivateFieldSet(this,_YouTubeEmbed_muted,e,"f")}catch(e){this.warn("YouTubeEmbed: Could not get muted state from player:",e)}return{playing:__classPrivateFieldGet(this,_YouTubeEmbed_playing,"f"),muted:e,videoId:__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"),ready:this.playerReady,initialized:this.initialized}}isPlaying(){return __classPrivateFieldGet(this,_YouTubeEmbed_playing,"f")}isMuted(){if(this.player&&this.playerReady)try{return this.player.isMuted()}catch(e){this.warn("YouTubeEmbed: Could not get muted state from player:",e)}return __classPrivateFieldGet(this,_YouTubeEmbed_muted,"f")}enterFullscreen(){const e=this;return e.requestFullscreen?e.requestFullscreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen?e.msRequestFullscreen():Promise.reject(new Error("Fullscreen API not supported"))}exitFullscreen(){const e=document;return e.exitFullscreen?e.exitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.msExitFullscreen?e.msExitFullscreen():Promise.reject(new Error("Fullscreen API not supported"))}toggleFullscreen(){return __awaiter(this,void 0,void 0,function*(){this.isFullscreen()?yield this.exitFullscreen():yield this.enterFullscreen()})}isFullscreen(){const e=document;return!!(e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement)}getAvailableQualities(){if(this.player&&this.playerReady)try{return this.player.getAvailableQualityLevels()||[]}catch(e){this.warn("YouTubeEmbed: Could not get available qualities:",e)}return[]}getCurrentQuality(){if(this.player&&this.playerReady)try{return this.player.getPlaybackQuality()||"auto"}catch(e){this.warn("YouTubeEmbed: Could not get current quality:",e)}return"auto"}setQuality(e){if(this.player&&this.playerReady)try{const t=this.getCurrentQuality();this.player.setPlaybackQuality(e);const i=new CustomEvent("qualitychange",{detail:{oldQuality:t,newQuality:e,availableQualities:this.getAvailableQualities()},bubbles:!0,composed:!0});this.dispatchEvent(i)}catch(e){this.warn("YouTubeEmbed: Could not set quality:",e)}else this.warn("YouTubeEmbed: Player not ready for quality change")}getCurrentTime(){if(this.player&&this.playerReady)try{return this.player.getCurrentTime()||0}catch(e){this.warn("YouTubeEmbed: Could not get current time from player:",e)}return 0}loadVideo(e){const t=this.extractVideoId(e);if(t?(__classPrivateFieldSet(this,_YouTubeEmbed_url,e,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_videoId,t,"f")):__classPrivateFieldSet(this,_YouTubeEmbed_videoId,e,"f"),!__classPrivateFieldGet(this,_YouTubeEmbed_lazy,"f")||this.player)this.initialized&&this.reinitializePlayer();else try{this.initializePlayer(__classPrivateFieldGet(this,_YouTubeEmbed_videoId,"f"))}catch(e){this.warn("YouTubeEmbed: loadVideo failed to initialize player:",e)}}}_YouTubeEmbed_url=new WeakMap,_YouTubeEmbed_videoId=new WeakMap,_YouTubeEmbed_autoplay=new WeakMap,_YouTubeEmbed_muted=new WeakMap,_YouTubeEmbed_controls=new WeakMap,_YouTubeEmbed_lazy=new WeakMap,_YouTubeEmbed_poster=new WeakMap,_YouTubeEmbed_playing=new WeakMap,_YouTubeEmbed_background=new WeakMap,_YouTubeEmbed_playerVars=new WeakMap,_YouTubeEmbed_instances=new WeakSet,_YouTubeEmbed_reflectBooleanAttribute=function(e,t){this.updatingAttribute=!0,t?this.setAttribute(e,""):this.removeAttribute(e),this.updatingAttribute=!1},_YouTubeEmbed_updateBackgroundMode=function(){__classPrivateFieldGet(this,_YouTubeEmbed_background,"f")?(this.classList.add("is-background"),__classPrivateFieldSet(this,_YouTubeEmbed_autoplay,!0,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_muted,!0,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_controls,!1,"f"),__classPrivateFieldSet(this,_YouTubeEmbed_lazy,!1,"f")):this.classList.remove("is-background")},YouTubeEmbed.apiLoaded=!1,YouTubeEmbed.apiReady=!1,YouTubeEmbed.instanceCount=0,YouTubeEmbed.DEBUG=!1,YouTubeEmbed.MAX_API_RETRIES=3,YouTubeEmbed.API_RETRY_DELAY=2e3,YouTubeEmbed.API_LOAD_TIMEOUT=1e4,customElements.define("youtube-embed",YouTubeEmbed);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartimpact-it/modern-video-embed",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "Modern YouTube and Vimeo embed web components with lazy loading, accessibility, quality control, and comprehensive API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -59,7 +59,8 @@
59
59
  "test:validate": "npm run build && node scripts/verify-build.js",
60
60
  "prepublishOnly": "npm run build:prod",
61
61
  "version": "git add -A src",
62
- "postversion": "git push && git push --tags"
62
+ "postversion": "git push && git push --tags",
63
+ "publish-to-npmjs": "npm version patch && npm publish --access public"
63
64
  },
64
65
  "devDependencies": {
65
66
  "concurrently": "^9.2.1",
@@ -62,7 +62,7 @@ export class YouTubeEmbed extends HTMLElement {
62
62
  attributeChangedCallback(
63
63
  name: string,
64
64
  oldValue: string | null,
65
- newValue: string | null
65
+ newValue: string | null,
66
66
  ) {
67
67
  // Skip processing if we're currently updating an attribute to prevent infinite loops
68
68
  if (this.updatingAttribute) {
@@ -70,7 +70,7 @@ export class YouTubeEmbed extends HTMLElement {
70
70
  }
71
71
 
72
72
  this.log(
73
- `YouTubeEmbed: Attribute changed - ${name}: ${oldValue} -> ${newValue}`
73
+ `YouTubeEmbed: Attribute changed - ${name}: ${oldValue} -> ${newValue}`,
74
74
  );
75
75
 
76
76
  switch (name) {
@@ -347,7 +347,7 @@ export class YouTubeEmbed extends HTMLElement {
347
347
  detail,
348
348
  bubbles: true,
349
349
  composed: true,
350
- })
350
+ }),
351
351
  );
352
352
  }
353
353
 
@@ -400,7 +400,7 @@ export class YouTubeEmbed extends HTMLElement {
400
400
  e.preventDefault();
401
401
  this.togglePlay();
402
402
  this.announceToScreenReader(
403
- this.#playing ? "Video playing" : "Video paused"
403
+ this.#playing ? "Video playing" : "Video paused",
404
404
  );
405
405
  break;
406
406
 
@@ -410,7 +410,7 @@ export class YouTubeEmbed extends HTMLElement {
410
410
  this.toggleMute();
411
411
  this.player?.isMuted().then((muted: boolean) => {
412
412
  this.announceToScreenReader(
413
- muted ? "Video muted" : "Video unmuted"
413
+ muted ? "Video muted" : "Video unmuted",
414
414
  );
415
415
  });
416
416
  break;
@@ -551,7 +551,7 @@ export class YouTubeEmbed extends HTMLElement {
551
551
  YouTubeEmbed.instanceCount++;
552
552
  this.log(
553
553
  "YouTubeEmbed: connectedCallback called, instance count:",
554
- YouTubeEmbed.instanceCount
554
+ YouTubeEmbed.instanceCount,
555
555
  );
556
556
 
557
557
  // Add resource hints on first instance
@@ -638,7 +638,7 @@ export class YouTubeEmbed extends HTMLElement {
638
638
  YouTubeEmbed.instanceCount--;
639
639
  this.log(
640
640
  "YouTubeEmbed: disconnectedCallback called, remaining instances:",
641
- YouTubeEmbed.instanceCount
641
+ YouTubeEmbed.instanceCount,
642
642
  );
643
643
 
644
644
  // Stop the video and destroy the player instance
@@ -656,7 +656,7 @@ export class YouTubeEmbed extends HTMLElement {
656
656
  if (this.keyboardHandler) {
657
657
  this.removeEventListener(
658
658
  "keydown",
659
- this.keyboardHandler as EventListener
659
+ this.keyboardHandler as EventListener,
660
660
  );
661
661
  this.keyboardHandler = null;
662
662
  }
@@ -679,7 +679,7 @@ export class YouTubeEmbed extends HTMLElement {
679
679
  this.classList.remove(
680
680
  "youtube-embed-wrapper",
681
681
  "youtube-embed-container",
682
- "is-playing"
682
+ "is-playing",
683
683
  );
684
684
 
685
685
  // Only clean up global resources if this is the last instance
@@ -688,7 +688,7 @@ export class YouTubeEmbed extends HTMLElement {
688
688
 
689
689
  // Remove the YouTube API script
690
690
  const script = document.querySelector(
691
- 'script[src="https://www.youtube.com/iframe_api"]'
691
+ 'script[src="https://www.youtube.com/iframe_api"]',
692
692
  );
693
693
  if (script) {
694
694
  script.remove();
@@ -790,7 +790,7 @@ export class YouTubeEmbed extends HTMLElement {
790
790
  } catch (error) {
791
791
  this.error(
792
792
  "YouTubeEmbed: Error initializing player from poster:",
793
- error
793
+ error,
794
794
  );
795
795
  this.dispatchCustomEvent("error", { message: "Failed to load video" });
796
796
  }
@@ -811,7 +811,7 @@ export class YouTubeEmbed extends HTMLElement {
811
811
  buttonOverlay.addEventListener("click", loadVideo);
812
812
  buttonOverlay.addEventListener(
813
813
  "keydown",
814
- keyboardActivate as EventListener
814
+ keyboardActivate as EventListener,
815
815
  );
816
816
 
817
817
  this.appendChild(poster);
@@ -845,73 +845,76 @@ export class YouTubeEmbed extends HTMLElement {
845
845
  "YouTubeEmbed: Creating iframe with autoplay:",
846
846
  autoplay,
847
847
  "controls:",
848
- controls
848
+ controls,
849
849
  );
850
850
 
851
- this.iframe = document.createElement("iframe");
852
-
853
- // Build URL parameters to handle YouTube's strict policies
854
- const params = new URLSearchParams({
855
- enablejsapi: "1",
856
- autoplay: autoplay ? "1" : "0",
857
- controls: !controls && !isBackground ? "1" : "0",
858
- mute: mute ? "1" : "0",
859
- playsinline: "1", // Better mobile support
860
- rel: "0", // Don't show related videos
861
- modestbranding: "1", // Reduce YouTube branding
862
- origin: window.location.origin || "localhost", // CORS safety
863
- ...this.#playerVars,
864
- });
865
-
866
- // Add muted state if explicitly set
867
- if (this.#muted) {
868
- params.set("mute", "1");
869
- }
870
-
871
851
  // Update internal muted state if autoplay forces muting
872
852
  if (autoplay && !this.#muted) {
873
853
  this.#muted = true;
874
854
  this.log(
875
- "YouTubeEmbed: Autoplay enabled, forcing muted state for compliance"
855
+ "YouTubeEmbed: Autoplay enabled, forcing muted state for compliance",
876
856
  );
877
857
  }
878
858
 
879
- this.iframe.src = `https://www.youtube.com/embed/${videoId}?${params.toString()}`;
880
- this.iframe.allow =
881
- "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share";
882
- this.iframe.allowFullscreen = true;
883
- this.iframe.style.position = "absolute";
884
- this.iframe.style.border = "none";
859
+ // Create a container div for the YouTube player
860
+ const playerContainer = document.createElement("div");
861
+ playerContainer.style.position = "absolute";
862
+ playerContainer.style.top = "0";
863
+ playerContainer.style.left = "0";
864
+ playerContainer.style.width = "100%";
865
+ playerContainer.style.height = "100%";
885
866
 
886
- // Disable pointer events in background mode to allow clicks to pass through
887
- if (this.#background) {
888
- this.iframe.style.pointerEvents = "none";
889
- // CSS handles the sizing for background videos
890
- } else {
891
- this.iframe.style.top = "0";
892
- this.iframe.style.left = "0";
893
- this.iframe.style.width = "100%";
894
- this.iframe.style.height = "100%";
867
+ this.replaceChildren(playerContainer);
868
+
869
+ if (!controls) {
870
+ this.addCustomControls();
895
871
  }
896
872
 
897
- this.log("YouTubeEmbed: Iframe created with src:", this.iframe.src);
873
+ // Build playerVars object for YouTube Player API
874
+ const playerVars: any = {
875
+ autoplay: autoplay ? 1 : 0,
876
+ controls: !isBackground && controls ? 1 : 0,
877
+ playsinline: 1,
878
+ rel: 0,
879
+ modestbranding: 1,
880
+ ...this.#playerVars,
881
+ };
898
882
 
899
- this.replaceChildren(this.iframe);
883
+ // Only add mute parameter when muting
884
+ if (mute || this.#muted) {
885
+ playerVars.mute = 1;
886
+ }
900
887
 
901
- if (!controls) {
902
- this.addCustomControls();
888
+ // Add origin for CORS
889
+ try {
890
+ if (window.location.origin && window.location.origin !== "null") {
891
+ playerVars.origin = window.location.origin;
892
+ }
893
+ } catch (e) {
894
+ this.warn("YouTubeEmbed: Could not set origin parameter:", e);
903
895
  }
904
896
 
905
- // Initialize the YouTube API player for advanced control
897
+ this.log("YouTubeEmbed: Initializing player with vars:", playerVars);
898
+
899
+ // Initialize the YouTube API player - it will create the iframe
906
900
  try {
907
901
  await YouTubeEmbed.loadYouTubeAPIWithRetry(this.apiLoadRetries);
908
- this.player = new YT.Player(this.iframe, {
902
+ this.player = new YT.Player(playerContainer, {
909
903
  videoId,
904
+ playerVars,
910
905
  events: {
911
906
  onReady: () => {
912
907
  this.log("YouTubeEmbed: Player is ready.");
913
908
  this.playerReady = true;
914
909
 
910
+ // Get the iframe element that YT.Player created
911
+ this.iframe = this.player.getIframe();
912
+
913
+ // Apply background mode styling if needed
914
+ if (this.#background && this.iframe) {
915
+ this.iframe.style.pointerEvents = "none";
916
+ }
917
+
915
918
  // Sync muted state with YouTube player
916
919
  if (this.#muted) {
917
920
  this.player.mute();
@@ -1001,7 +1004,7 @@ export class YouTubeEmbed extends HTMLElement {
1001
1004
  this.showErrorMessage(
1002
1005
  error instanceof Error
1003
1006
  ? error.message
1004
- : "Failed to load YouTube player. Please refresh the page or check your connection."
1007
+ : "Failed to load YouTube player. Please refresh the page or check your connection.",
1005
1008
  );
1006
1009
  this.dispatchCustomEvent("error", {
1007
1010
  message: error instanceof Error ? error.message : "API load failed",
@@ -1022,8 +1025,8 @@ export class YouTubeEmbed extends HTMLElement {
1022
1025
  cleanup();
1023
1026
  reject(
1024
1027
  new Error(
1025
- "YouTube API loading timeout. The API script may be blocked by an ad blocker or network issue."
1026
- )
1028
+ "YouTube API loading timeout. The API script may be blocked by an ad blocker or network issue.",
1029
+ ),
1027
1030
  );
1028
1031
  }, this.API_LOAD_TIMEOUT);
1029
1032
 
@@ -1039,8 +1042,8 @@ export class YouTubeEmbed extends HTMLElement {
1039
1042
  cleanup();
1040
1043
  reject(
1041
1044
  new Error(
1042
- "Failed to load YouTube API script. Please check your network connection or disable ad blockers."
1043
- )
1045
+ "Failed to load YouTube API script. Please check your network connection or disable ad blockers.",
1046
+ ),
1044
1047
  );
1045
1048
  };
1046
1049
  document.head.appendChild(script);
@@ -1066,10 +1069,10 @@ export class YouTubeEmbed extends HTMLElement {
1066
1069
  console.warn(
1067
1070
  `YouTubeEmbed: API load failed, retrying (${retries + 1}/${
1068
1071
  this.MAX_API_RETRIES
1069
- })...`
1072
+ })...`,
1070
1073
  );
1071
1074
  await new Promise((resolve) =>
1072
- setTimeout(resolve, this.API_RETRY_DELAY)
1075
+ setTimeout(resolve, this.API_RETRY_DELAY),
1073
1076
  );
1074
1077
  return this.loadYouTubeAPIWithRetry(retries + 1);
1075
1078
  }
@@ -1105,7 +1108,7 @@ export class YouTubeEmbed extends HTMLElement {
1105
1108
  } else if (this.iframe && this.iframe.contentWindow) {
1106
1109
  this.iframe.contentWindow.postMessage(
1107
1110
  '{"event":"command","func":"pauseVideo","args":""}',
1108
- "*"
1111
+ "*",
1109
1112
  );
1110
1113
  }
1111
1114
  setPlayingState(false);
@@ -1116,7 +1119,7 @@ export class YouTubeEmbed extends HTMLElement {
1116
1119
  } else if (this.iframe && this.iframe.contentWindow) {
1117
1120
  this.iframe.contentWindow.postMessage(
1118
1121
  '{"event":"command","func":"playVideo","args":""}',
1119
- "*"
1122
+ "*",
1120
1123
  );
1121
1124
  }
1122
1125
  setPlayingState(true);
@@ -1154,7 +1157,7 @@ export class YouTubeEmbed extends HTMLElement {
1154
1157
  // Check if this is a lazy-loaded video that hasn't been initialized yet
1155
1158
  if (this.#lazy && !this.player && !this.iframe) {
1156
1159
  this.log(
1157
- "YouTubeEmbed: Lazy video needs to be loaded first. Initializing..."
1160
+ "YouTubeEmbed: Lazy video needs to be loaded first. Initializing...",
1158
1161
  );
1159
1162
  // Set a flag to auto-play after initialization
1160
1163
  this.setAttribute("data-should-autoplay", "true");
@@ -1166,7 +1169,7 @@ export class YouTubeEmbed extends HTMLElement {
1166
1169
 
1167
1170
  if (!this.playerReady) {
1168
1171
  this.warn(
1169
- "YouTubeEmbed: Player is not ready. Waiting for initialization."
1172
+ "YouTubeEmbed: Player is not ready. Waiting for initialization.",
1170
1173
  );
1171
1174
  await new Promise((resolve) => {
1172
1175
  const interval = setInterval(() => {
@@ -1195,7 +1198,7 @@ export class YouTubeEmbed extends HTMLElement {
1195
1198
  if (this.iframe && this.iframe.contentWindow) {
1196
1199
  this.iframe.contentWindow.postMessage(
1197
1200
  '{"event":"command","func":"playVideo","args":""}',
1198
- "*"
1201
+ "*",
1199
1202
  );
1200
1203
  }
1201
1204
  }
@@ -1222,7 +1225,7 @@ export class YouTubeEmbed extends HTMLElement {
1222
1225
  if (this.iframe && this.iframe.contentWindow) {
1223
1226
  this.iframe.contentWindow.postMessage(
1224
1227
  '{"event":"command","func":"pauseVideo","args":""}',
1225
- "*"
1228
+ "*",
1226
1229
  );
1227
1230
  }
1228
1231
  }
@@ -1249,7 +1252,7 @@ export class YouTubeEmbed extends HTMLElement {
1249
1252
  if (this.iframe && this.iframe.contentWindow) {
1250
1253
  this.iframe.contentWindow.postMessage(
1251
1254
  '{"event":"command","func":"stopVideo","args":""}',
1252
- "*"
1255
+ "*",
1253
1256
  );
1254
1257
  }
1255
1258
  }
@@ -1305,7 +1308,7 @@ export class YouTubeEmbed extends HTMLElement {
1305
1308
  console.log(
1306
1309
  `YouTubeEmbed: Debugging is now ${
1307
1310
  YouTubeEmbed.DEBUG ? "ENABLED" : "DISABLED"
1308
- }.`
1311
+ }.`,
1309
1312
  );
1310
1313
  }
1311
1314
 
@@ -1328,7 +1331,7 @@ export class YouTubeEmbed extends HTMLElement {
1328
1331
  // Fallback to internal state if player method fails
1329
1332
  this.warn(
1330
1333
  "YouTubeEmbed: Could not get muted state from player:",
1331
- error
1334
+ error,
1332
1335
  );
1333
1336
  }
1334
1337
  }
@@ -1363,7 +1366,7 @@ export class YouTubeEmbed extends HTMLElement {
1363
1366
  } catch (error) {
1364
1367
  this.warn(
1365
1368
  "YouTubeEmbed: Could not get muted state from player:",
1366
- error
1369
+ error,
1367
1370
  );
1368
1371
  }
1369
1372
  }
@@ -1500,7 +1503,7 @@ export class YouTubeEmbed extends HTMLElement {
1500
1503
  } catch (error) {
1501
1504
  this.warn(
1502
1505
  "YouTubeEmbed: Could not get current time from player:",
1503
- error
1506
+ error,
1504
1507
  );
1505
1508
  }
1506
1509
  }
@@ -1529,7 +1532,7 @@ export class YouTubeEmbed extends HTMLElement {
1529
1532
  } catch (error) {
1530
1533
  this.warn(
1531
1534
  "YouTubeEmbed: loadVideo failed to initialize player:",
1532
- error
1535
+ error,
1533
1536
  );
1534
1537
  }
1535
1538
  return;