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