{"version":3,"file":"default\\js\\experience\\assets\\youtubeVideoTile.js","mappings":";;;;;;AAAA;AACA;AACa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC","sources":["webpack://sfra-startup-kit/./cartridges/app_core_page_designer/cartridge/client/default/js/experience/assets/youtubeVideoTile.js"],"sourcesContent":["/* eslint-env jquery */\r\n\r\n\"use strict\";\r\n\r\nconst initYoutubeApi = () => {\r\n let currentScriptTag = document.getElementById(\"youtube-iframe-api\");\r\n\r\n if (!currentScriptTag) {\r\n var tag = document.createElement(\"script\"),\r\n firstScriptTag = document.getElementsByTagName(\"script\")[0],\r\n currentDateInt = parseInt(new Date().getTime(), 10);\r\n\r\n tag.id = \"youtube-iframe-api\";\r\n tag.src = \"https://www.youtube.com/iframe_api?version=\" + currentDateInt;\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n }\r\n};\r\n\r\nconst startVideo = ($videoPlayer, videoId, loop, isMuted) => {\r\n let playerTag = $videoPlayer[0].querySelector(\".youtube-video-player\");\r\n\r\n try {\r\n new window.YT.Player(playerTag, {\r\n videoId: videoId,\r\n playerVars: {\r\n showinfo: 0,\r\n enablejsapi: 1,\r\n mute: isMuted,\r\n loop: loop,\r\n playlist: videoId,\r\n },\r\n events: {\r\n onStateChange: onPlayerStateChange,\r\n onReady: onPlayerReady,\r\n },\r\n });\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n};\r\n\r\nlet currentVideoPlayer = null;\r\n\r\nconst onPlayerStateChange = (event) => {\r\n const playing = window.YT.PlayerState.PLAYING;\r\n if (event?.data === playing) {\r\n if (currentVideoPlayer && currentVideoPlayer !== event.target) {\r\n currentVideoPlayer?.stopVideo();\r\n }\r\n currentVideoPlayer = event.target;\r\n }\r\n};\r\n\r\nconst onPlayerReady = (event) => {\r\n event?.target?.playVideo();\r\n\r\n if (currentVideoPlayer && currentVideoPlayer !== event.target) {\r\n currentVideoPlayer?.stopVideo();\r\n }\r\n currentVideoPlayer = event.target;\r\n};\r\n\r\nconst initPlayer = ($videoPlayer) => {\r\n const videoId = $videoPlayer.data(\"video-id\");\r\n const isMuted = $videoPlayer.data(\"video-muted\");\r\n const isLoop = $videoPlayer.data(\"video-loop\");\r\n\r\n\r\n if (!$videoPlayer.hasClass(\"player-initialized\")) {\r\n initYoutubeApi();\r\n\r\n setTimeout(() => {\r\n const videoStarted = startVideo($videoPlayer, videoId, isLoop, isMuted);\r\n if (!videoStarted) {\r\n initPlayer($videoPlayer);\r\n return;\r\n }\r\n $videoPlayer.addClass(\"player-initialized\");\r\n }, 1000);\r\n }\r\n};\r\n\r\n(function () {\r\n $(\".youtube-video\").each((index, player) => {\r\n const $videoPlayer = $(player);\r\n const isAutoplay = $videoPlayer.data(\"video-auto-play\");\r\n\r\n if (isAutoplay) {\r\n initPlayer($videoPlayer);\r\n }\r\n });\r\n\r\n $(\".youtube-video\").on(\"click\", function (ev) {\r\n const $videoPlayer = $(ev.target).parents(\".youtube-video\");\r\n initPlayer($videoPlayer);\r\n });\r\n})();\r\n"],"names":[],"sourceRoot":""}