@smartimpact-it/modern-video-embed 2.0.1
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.
- package/README.md +1205 -0
- package/dist/components/VimeoEmbed.d.ts +143 -0
- package/dist/components/VimeoEmbed.d.ts.map +1 -0
- package/dist/components/VimeoEmbed.js +1176 -0
- package/dist/components/VimeoEmbed.js.map +1 -0
- package/dist/components/VimeoEmbed.min.js +1 -0
- package/dist/components/YouTubeEmbed.d.ts +225 -0
- package/dist/components/YouTubeEmbed.d.ts.map +1 -0
- package/dist/components/YouTubeEmbed.js +1354 -0
- package/dist/components/YouTubeEmbed.js.map +1 -0
- package/dist/components/YouTubeEmbed.min.js +1 -0
- package/dist/css/components.css +349 -0
- package/dist/css/components.css.map +1 -0
- package/dist/css/components.min.css +1 -0
- package/dist/css/main.css +12210 -0
- package/dist/css/main.css.map +1 -0
- package/dist/css/main.min.css +7 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/vimeo-only.d.ts +7 -0
- package/dist/vimeo-only.d.ts.map +1 -0
- package/dist/vimeo-only.js +8 -0
- package/dist/vimeo-only.js.map +1 -0
- package/dist/vimeo-only.min.js +1 -0
- package/dist/youtube-only.d.ts +7 -0
- package/dist/youtube-only.d.ts.map +1 -0
- package/dist/youtube-only.js +8 -0
- package/dist/youtube-only.js.map +1 -0
- package/dist/youtube-only.min.js +1 -0
- package/package.json +75 -0
- package/src/components/VimeoEmbed.ts +1340 -0
- package/src/components/YouTubeEmbed.ts +1568 -0
- package/src/index.ts +3 -0
- package/src/styles/README.md +56 -0
- package/src/styles/components.scss +7 -0
- package/src/styles/main.scss +10 -0
- package/src/styles/vimeo-embed.scss +255 -0
- package/src/styles/youtube-embed.scss +261 -0
- package/src/types/common.d.ts +198 -0
- package/src/types/index.ts +7 -0
- package/src/types/vimeo-embed.d.ts +80 -0
- package/src/types/youtube-embed.d.ts +83 -0
- package/src/vimeo-only.ts +9 -0
- package/src/youtube-only.ts +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YouTubeEmbed.js","sourceRoot":"","sources":["../../src/components/YouTubeEmbed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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);
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SVG encoding functions
|
|
3
|
+
*/
|
|
4
|
+
youtube-embed {
|
|
5
|
+
--video-aspect-ratio: 56.25%;
|
|
6
|
+
--poster-object-fit: cover;
|
|
7
|
+
--video-object-fit: contain;
|
|
8
|
+
--control-button-size: 70px;
|
|
9
|
+
--control-button-color: #ffffff;
|
|
10
|
+
--overlay-background-color: rgba(0, 0, 0, 0.5);
|
|
11
|
+
display: block;
|
|
12
|
+
position: relative;
|
|
13
|
+
width: 100%;
|
|
14
|
+
padding-top: var(--video-aspect-ratio);
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
background-color: #000;
|
|
17
|
+
}
|
|
18
|
+
youtube-embed iframe {
|
|
19
|
+
position: absolute;
|
|
20
|
+
top: 0;
|
|
21
|
+
left: 0;
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 100%;
|
|
24
|
+
border: none;
|
|
25
|
+
object-fit: var(--video-object-fit);
|
|
26
|
+
}
|
|
27
|
+
youtube-embed .youtube-poster,
|
|
28
|
+
youtube-embed .video-poster {
|
|
29
|
+
position: absolute;
|
|
30
|
+
top: 0;
|
|
31
|
+
left: 0;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
object-fit: var(--poster-object-fit);
|
|
35
|
+
display: block;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
}
|
|
38
|
+
youtube-embed .button-overlay {
|
|
39
|
+
background: var(--overlay-background-color);
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
display: flex;
|
|
42
|
+
align-items: center;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
position: absolute;
|
|
45
|
+
left: 0;
|
|
46
|
+
top: 0;
|
|
47
|
+
right: 0;
|
|
48
|
+
bottom: 0;
|
|
49
|
+
height: 100%;
|
|
50
|
+
width: 100%;
|
|
51
|
+
transition: opacity 0.3s ease;
|
|
52
|
+
z-index: 10;
|
|
53
|
+
}
|
|
54
|
+
youtube-embed.is-playing .button-overlay {
|
|
55
|
+
opacity: 0;
|
|
56
|
+
}
|
|
57
|
+
youtube-embed.is-playing:hover .button-overlay {
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
youtube-embed .button-overlay .button {
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
height: var(--control-button-size);
|
|
66
|
+
width: var(--control-button-size);
|
|
67
|
+
background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M8%2C5.14V19.14L19%2C12.14L8%2C5.14Z%22%20%2F%3E%3C%2Fsvg%3E");
|
|
68
|
+
background-size: cover;
|
|
69
|
+
background-repeat: no-repeat;
|
|
70
|
+
background-position: center;
|
|
71
|
+
}
|
|
72
|
+
youtube-embed.is-playing .button-overlay .button {
|
|
73
|
+
background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M14%2C19H18V5H14M6%2C19H10V5H6V19Z%22%20%2F%3E%3C%2Fsvg%3E");
|
|
74
|
+
}
|
|
75
|
+
youtube-embed.is-background {
|
|
76
|
+
padding-top: 0;
|
|
77
|
+
position: absolute;
|
|
78
|
+
height: 100%;
|
|
79
|
+
width: 100%;
|
|
80
|
+
top: 0;
|
|
81
|
+
left: 0;
|
|
82
|
+
z-index: 0;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
background: #000;
|
|
85
|
+
}
|
|
86
|
+
youtube-embed.is-background iframe {
|
|
87
|
+
position: absolute;
|
|
88
|
+
top: 50%;
|
|
89
|
+
left: 50%;
|
|
90
|
+
transform: translate(-50%, -50%);
|
|
91
|
+
min-width: 100%;
|
|
92
|
+
min-height: 100%;
|
|
93
|
+
width: auto;
|
|
94
|
+
height: auto;
|
|
95
|
+
}
|
|
96
|
+
@supports (aspect-ratio: 16/9) {
|
|
97
|
+
youtube-embed.is-background iframe {
|
|
98
|
+
aspect-ratio: 16/9;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
youtube-embed.is-background iframe {
|
|
102
|
+
pointer-events: none;
|
|
103
|
+
}
|
|
104
|
+
youtube-embed.is-background .button-overlay {
|
|
105
|
+
display: none;
|
|
106
|
+
}
|
|
107
|
+
youtube-embed.has-background-controls .button-overlay {
|
|
108
|
+
display: flex;
|
|
109
|
+
background: none;
|
|
110
|
+
justify-content: flex-end;
|
|
111
|
+
align-items: flex-end;
|
|
112
|
+
padding: 1rem;
|
|
113
|
+
}
|
|
114
|
+
youtube-embed.has-background-controls .button-overlay .button {
|
|
115
|
+
--control-button-size: 40px;
|
|
116
|
+
opacity: 0.7;
|
|
117
|
+
transition: opacity 0.2s ease;
|
|
118
|
+
}
|
|
119
|
+
youtube-embed.has-background-controls .button-overlay .button:hover {
|
|
120
|
+
opacity: 1;
|
|
121
|
+
}
|
|
122
|
+
youtube-embed.has-background-controls.is-playing .button-overlay {
|
|
123
|
+
opacity: 0;
|
|
124
|
+
}
|
|
125
|
+
youtube-embed.has-background-controls.is-playing .button-overlay:hover {
|
|
126
|
+
opacity: 1;
|
|
127
|
+
}
|
|
128
|
+
youtube-embed .youtube-error-message {
|
|
129
|
+
position: absolute;
|
|
130
|
+
top: 0;
|
|
131
|
+
left: 0;
|
|
132
|
+
width: 100%;
|
|
133
|
+
height: 100%;
|
|
134
|
+
display: flex;
|
|
135
|
+
align-items: center;
|
|
136
|
+
justify-content: center;
|
|
137
|
+
background: rgba(0, 0, 0, 0.9);
|
|
138
|
+
color: white;
|
|
139
|
+
z-index: 1000;
|
|
140
|
+
}
|
|
141
|
+
youtube-embed .youtube-error-message .error-content {
|
|
142
|
+
text-align: center;
|
|
143
|
+
padding: 2rem;
|
|
144
|
+
max-width: 400px;
|
|
145
|
+
}
|
|
146
|
+
youtube-embed .youtube-error-message .error-content svg {
|
|
147
|
+
color: #ff4444;
|
|
148
|
+
margin-bottom: 1rem;
|
|
149
|
+
}
|
|
150
|
+
youtube-embed .youtube-error-message .error-content .error-message {
|
|
151
|
+
margin: 1rem 0;
|
|
152
|
+
font-size: 1rem;
|
|
153
|
+
line-height: 1.5;
|
|
154
|
+
}
|
|
155
|
+
youtube-embed .youtube-error-message .error-content .retry-button {
|
|
156
|
+
margin-top: 1rem;
|
|
157
|
+
padding: 0.75rem 1.5rem;
|
|
158
|
+
background: #ff0000;
|
|
159
|
+
color: white;
|
|
160
|
+
border: none;
|
|
161
|
+
border-radius: 4px;
|
|
162
|
+
cursor: pointer;
|
|
163
|
+
font-size: 1rem;
|
|
164
|
+
font-weight: 600;
|
|
165
|
+
transition: background 0.2s ease;
|
|
166
|
+
}
|
|
167
|
+
youtube-embed .youtube-error-message .error-content .retry-button:hover {
|
|
168
|
+
background: #cc0000;
|
|
169
|
+
}
|
|
170
|
+
youtube-embed .youtube-error-message .error-content .retry-button:focus {
|
|
171
|
+
outline: 2px solid white;
|
|
172
|
+
outline-offset: 2px;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* SVG encoding functions (shared with YouTube embed)
|
|
177
|
+
*/
|
|
178
|
+
vimeo-embed {
|
|
179
|
+
--video-aspect-ratio: 56.25%;
|
|
180
|
+
--poster-object-fit: cover;
|
|
181
|
+
--video-object-fit: contain;
|
|
182
|
+
--control-button-size: 70px;
|
|
183
|
+
--control-button-color: #ffffff;
|
|
184
|
+
--overlay-background-color: rgba(0, 0, 0, 0.5);
|
|
185
|
+
display: block;
|
|
186
|
+
position: relative;
|
|
187
|
+
width: 100%;
|
|
188
|
+
padding-top: var(--video-aspect-ratio);
|
|
189
|
+
overflow: hidden;
|
|
190
|
+
background-color: #000;
|
|
191
|
+
}
|
|
192
|
+
vimeo-embed iframe {
|
|
193
|
+
position: absolute;
|
|
194
|
+
top: 0;
|
|
195
|
+
left: 0;
|
|
196
|
+
width: 100%;
|
|
197
|
+
height: 100%;
|
|
198
|
+
border: none;
|
|
199
|
+
object-fit: var(--video-object-fit);
|
|
200
|
+
}
|
|
201
|
+
vimeo-embed .vimeo-poster,
|
|
202
|
+
vimeo-embed .video-poster {
|
|
203
|
+
position: absolute;
|
|
204
|
+
top: 0;
|
|
205
|
+
left: 0;
|
|
206
|
+
width: 100%;
|
|
207
|
+
height: 100%;
|
|
208
|
+
object-fit: var(--poster-object-fit);
|
|
209
|
+
display: block;
|
|
210
|
+
cursor: pointer;
|
|
211
|
+
}
|
|
212
|
+
vimeo-embed .button-overlay {
|
|
213
|
+
background: var(--overlay-background-color);
|
|
214
|
+
cursor: pointer;
|
|
215
|
+
display: flex;
|
|
216
|
+
align-items: center;
|
|
217
|
+
justify-content: center;
|
|
218
|
+
position: absolute;
|
|
219
|
+
left: 0;
|
|
220
|
+
top: 0;
|
|
221
|
+
right: 0;
|
|
222
|
+
bottom: 0;
|
|
223
|
+
height: 100%;
|
|
224
|
+
width: 100%;
|
|
225
|
+
transition: opacity 0.3s ease;
|
|
226
|
+
z-index: 10;
|
|
227
|
+
}
|
|
228
|
+
vimeo-embed.is-playing .button-overlay {
|
|
229
|
+
opacity: 0;
|
|
230
|
+
}
|
|
231
|
+
vimeo-embed.is-playing:hover .button-overlay {
|
|
232
|
+
opacity: 1;
|
|
233
|
+
}
|
|
234
|
+
vimeo-embed .button-overlay .button {
|
|
235
|
+
cursor: pointer;
|
|
236
|
+
display: flex;
|
|
237
|
+
align-items: center;
|
|
238
|
+
justify-content: center;
|
|
239
|
+
height: var(--control-button-size);
|
|
240
|
+
width: var(--control-button-size);
|
|
241
|
+
background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M8%2C5.14V19.14L19%2C12.14L8%2C5.14Z%22%20%2F%3E%3C%2Fsvg%3E");
|
|
242
|
+
background-size: cover;
|
|
243
|
+
background-repeat: no-repeat;
|
|
244
|
+
background-position: center;
|
|
245
|
+
}
|
|
246
|
+
vimeo-embed.is-playing .button-overlay .button {
|
|
247
|
+
background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M14%2C19H18V5H14M6%2C19H10V5H6V19Z%22%20%2F%3E%3C%2Fsvg%3E");
|
|
248
|
+
}
|
|
249
|
+
vimeo-embed.is-background {
|
|
250
|
+
padding-top: 0;
|
|
251
|
+
position: absolute;
|
|
252
|
+
height: 100%;
|
|
253
|
+
width: 100%;
|
|
254
|
+
top: 0;
|
|
255
|
+
left: 0;
|
|
256
|
+
z-index: 0;
|
|
257
|
+
overflow: hidden;
|
|
258
|
+
background: #000;
|
|
259
|
+
}
|
|
260
|
+
vimeo-embed.is-background iframe {
|
|
261
|
+
position: absolute;
|
|
262
|
+
top: 50%;
|
|
263
|
+
left: 50%;
|
|
264
|
+
transform: translate(-50%, -50%);
|
|
265
|
+
min-width: 100%;
|
|
266
|
+
min-height: 100%;
|
|
267
|
+
width: auto;
|
|
268
|
+
height: auto;
|
|
269
|
+
}
|
|
270
|
+
@supports (aspect-ratio: 16/9) {
|
|
271
|
+
vimeo-embed.is-background iframe {
|
|
272
|
+
aspect-ratio: 16/9;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
vimeo-embed.is-background iframe {
|
|
276
|
+
pointer-events: none;
|
|
277
|
+
}
|
|
278
|
+
vimeo-embed.is-background .button-overlay {
|
|
279
|
+
display: none;
|
|
280
|
+
}
|
|
281
|
+
vimeo-embed.has-background-controls .button-overlay {
|
|
282
|
+
display: flex;
|
|
283
|
+
background: none;
|
|
284
|
+
justify-content: flex-end;
|
|
285
|
+
align-items: flex-end;
|
|
286
|
+
padding: 1rem;
|
|
287
|
+
}
|
|
288
|
+
vimeo-embed.has-background-controls .button-overlay .button {
|
|
289
|
+
--control-button-size: 40px;
|
|
290
|
+
opacity: 0.7;
|
|
291
|
+
transition: opacity 0.2s ease;
|
|
292
|
+
}
|
|
293
|
+
vimeo-embed.has-background-controls .button-overlay .button:hover {
|
|
294
|
+
opacity: 1;
|
|
295
|
+
}
|
|
296
|
+
vimeo-embed.has-background-controls.is-playing .button-overlay {
|
|
297
|
+
opacity: 0;
|
|
298
|
+
}
|
|
299
|
+
vimeo-embed.has-background-controls.is-playing .button-overlay:hover {
|
|
300
|
+
opacity: 1;
|
|
301
|
+
}
|
|
302
|
+
vimeo-embed .vimeo-error-message {
|
|
303
|
+
position: absolute;
|
|
304
|
+
top: 0;
|
|
305
|
+
left: 0;
|
|
306
|
+
width: 100%;
|
|
307
|
+
height: 100%;
|
|
308
|
+
display: flex;
|
|
309
|
+
align-items: center;
|
|
310
|
+
justify-content: center;
|
|
311
|
+
background: rgba(0, 0, 0, 0.9);
|
|
312
|
+
color: white;
|
|
313
|
+
z-index: 1000;
|
|
314
|
+
}
|
|
315
|
+
vimeo-embed .vimeo-error-message .error-content {
|
|
316
|
+
text-align: center;
|
|
317
|
+
padding: 2rem;
|
|
318
|
+
max-width: 400px;
|
|
319
|
+
}
|
|
320
|
+
vimeo-embed .vimeo-error-message .error-content svg {
|
|
321
|
+
color: #00adef;
|
|
322
|
+
margin-bottom: 1rem;
|
|
323
|
+
}
|
|
324
|
+
vimeo-embed .vimeo-error-message .error-content .error-message {
|
|
325
|
+
margin: 1rem 0;
|
|
326
|
+
font-size: 1rem;
|
|
327
|
+
line-height: 1.5;
|
|
328
|
+
}
|
|
329
|
+
vimeo-embed .vimeo-error-message .error-content .retry-button {
|
|
330
|
+
margin-top: 1rem;
|
|
331
|
+
padding: 0.75rem 1.5rem;
|
|
332
|
+
background: #00adef;
|
|
333
|
+
color: white;
|
|
334
|
+
border: none;
|
|
335
|
+
border-radius: 4px;
|
|
336
|
+
cursor: pointer;
|
|
337
|
+
font-size: 1rem;
|
|
338
|
+
font-weight: 600;
|
|
339
|
+
transition: background 0.2s ease;
|
|
340
|
+
}
|
|
341
|
+
vimeo-embed .vimeo-error-message .error-content .retry-button:hover {
|
|
342
|
+
background: #0088bf;
|
|
343
|
+
}
|
|
344
|
+
vimeo-embed .vimeo-error-message .error-content .retry-button:focus {
|
|
345
|
+
outline: 2px solid white;
|
|
346
|
+
outline-offset: 2px;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/*# sourceMappingURL=components.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/styles/youtube-embed.scss","../../src/styles/vimeo-embed.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAqDA;EAEE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;AAGF;EACE;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;;AAGA;EAdF;IAeI;;;AAfJ;EAoBE;;AAGF;EACE;;AAIF;EACE;EACA;EAEA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;AACA;EACE;;AAMN;EACE;;AACA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;;AC/PV;AAAA;AAAA;AAqDA;EAEE;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;;AAGF;EACE;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAEA;EAXF;IAYI;;;AAZJ;EAeE;;AAGF;EACE;;AAMF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;;AAKN;EACE;;AACA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA","file":"components.css"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
vimeo-embed,youtube-embed{--video-aspect-ratio:56.25%;--poster-object-fit:cover;--video-object-fit:contain;--control-button-size:70px;--control-button-color:#ffffff;--overlay-background-color:rgba(0, 0, 0, 0.5);display:block;position:relative;width:100%;padding-top:var(--video-aspect-ratio);overflow:hidden;background-color:#000}vimeo-embed iframe,youtube-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;object-fit:var(--video-object-fit)}youtube-embed .video-poster,youtube-embed .youtube-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:var(--poster-object-fit);display:block;cursor:pointer}youtube-embed .button-overlay,youtube-embed .youtube-error-message{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}youtube-embed .button-overlay{background:var(--overlay-background-color);cursor:pointer;right:0;bottom:0;transition:opacity .3s ease;z-index:10}youtube-embed.is-playing .button-overlay{opacity:0}youtube-embed.has-background-controls .button-overlay .button:hover,youtube-embed.has-background-controls.is-playing .button-overlay:hover,youtube-embed.is-playing:hover .button-overlay{opacity:1}youtube-embed .button-overlay .button{cursor:pointer;display:flex;align-items:center;justify-content:center;height:var(--control-button-size);width:var(--control-button-size);background-image:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M8%2C5.14V19.14L19%2C12.14L8%2C5.14Z%22%20%2F%3E%3C%2Fsvg%3E);background-size:cover;background-repeat:no-repeat;background-position:center}youtube-embed.is-playing .button-overlay .button{background-image:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M14%2C19H18V5H14M6%2C19H10V5H6V19Z%22%20%2F%3E%3C%2Fsvg%3E)}vimeo-embed.is-background,youtube-embed.is-background{padding-top:0;position:absolute;height:100%;width:100%;top:0;left:0;z-index:0;overflow:hidden;background:#000}youtube-embed.is-background iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;width:auto;height:auto}@supports (aspect-ratio:16/9){youtube-embed.is-background iframe{aspect-ratio:16/9}}youtube-embed.is-background iframe{pointer-events:none}youtube-embed.is-background .button-overlay{display:none}youtube-embed.has-background-controls .button-overlay{display:flex;background:0 0;justify-content:flex-end;align-items:flex-end;padding:1rem}youtube-embed.has-background-controls .button-overlay .button{--control-button-size:40px;opacity:.7;transition:opacity .2s ease}youtube-embed.has-background-controls.is-playing .button-overlay{opacity:0}youtube-embed .youtube-error-message{background:rgba(0,0,0,.9);color:#fff;z-index:1000}youtube-embed .youtube-error-message .error-content{text-align:center;padding:2rem;max-width:400px}youtube-embed .youtube-error-message .error-content svg{color:#f44;margin-bottom:1rem}youtube-embed .youtube-error-message .error-content .error-message{margin:1rem 0;font-size:1rem;line-height:1.5}youtube-embed .youtube-error-message .error-content .retry-button{margin-top:1rem;padding:.75rem 1.5rem;background:red;color:#fff;border:0;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s ease}youtube-embed .youtube-error-message .error-content .retry-button:hover{background:#c00}youtube-embed .youtube-error-message .error-content .retry-button:focus{outline:2px solid #fff;outline-offset:2px}vimeo-embed .video-poster,vimeo-embed .vimeo-poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:var(--poster-object-fit);display:block;cursor:pointer}vimeo-embed .button-overlay,vimeo-embed .vimeo-error-message{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}vimeo-embed .button-overlay{background:var(--overlay-background-color);cursor:pointer;right:0;bottom:0;transition:opacity .3s ease;z-index:10}vimeo-embed.is-playing .button-overlay{opacity:0}vimeo-embed.has-background-controls .button-overlay .button:hover,vimeo-embed.has-background-controls.is-playing .button-overlay:hover,vimeo-embed.is-playing:hover .button-overlay{opacity:1}vimeo-embed .button-overlay .button{cursor:pointer;display:flex;align-items:center;justify-content:center;height:var(--control-button-size);width:var(--control-button-size);background-image:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M8%2C5.14V19.14L19%2C12.14L8%2C5.14Z%22%20%2F%3E%3C%2Fsvg%3E);background-size:cover;background-repeat:no-repeat;background-position:center}vimeo-embed.is-playing .button-overlay .button{background-image:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M14%2C19H18V5H14M6%2C19H10V5H6V19Z%22%20%2F%3E%3C%2Fsvg%3E)}vimeo-embed.is-background iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;width:auto;height:auto}@supports (aspect-ratio:16/9){vimeo-embed.is-background iframe{aspect-ratio:16/9}}vimeo-embed.is-background iframe{pointer-events:none}vimeo-embed.is-background .button-overlay{display:none}vimeo-embed.has-background-controls .button-overlay{display:flex;background:0 0;justify-content:flex-end;align-items:flex-end;padding:1rem}vimeo-embed.has-background-controls .button-overlay .button{--control-button-size:40px;opacity:.7;transition:opacity .2s ease}vimeo-embed.has-background-controls.is-playing .button-overlay{opacity:0}vimeo-embed .vimeo-error-message{background:rgba(0,0,0,.9);color:#fff;z-index:1000}vimeo-embed .vimeo-error-message .error-content{text-align:center;padding:2rem;max-width:400px}vimeo-embed .vimeo-error-message .error-content svg{color:#00adef;margin-bottom:1rem}vimeo-embed .vimeo-error-message .error-content .error-message{margin:1rem 0;font-size:1rem;line-height:1.5}vimeo-embed .vimeo-error-message .error-content .retry-button{margin-top:1rem;padding:.75rem 1.5rem;background:#00adef;color:#fff;border:0;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s ease}vimeo-embed .vimeo-error-message .error-content .retry-button:hover{background:#0088bf}vimeo-embed .vimeo-error-message .error-content .retry-button:focus{outline:2px solid #fff;outline-offset:2px}
|