{"version":3,"names":[],"mappings":"","sources":["block-media-text-autoplay.js"],"sourcesContent":["const video_play_svg = `\n\tPlay`;\n\nfunction setVideoPlaybackPause(video, button) {\n\tvideo.classList.remove(\"is-playing\");\n\tbutton.classList.remove(\"is-playing\");\n\n\tbutton.title = button.querySelector(\".label\").innerText = \"Play Video\";\n}\n\nfunction setVideoPlaybackPlay(video, button) {\n\tvideo.classList.add(\"is-playing\");\n\tbutton.classList.add(\"is-playing\");\n\n\tbutton.title = button.querySelector(\".label\").innerText = \"Pause Video\";\n}\n\nfunction autoplayMediaTextVideo() {\n\t// Do nothing if IntersectionObserver isn't supported\n\tif (!(\"IntersectionObserver\" in window)) {\n\t\tconsole.log(\"IntersectionObserver is not supported\");\n\t\treturn false;\n\t}\n\n\t// Do nothing if browser is set to reduced motion\n\tif (!window.matchMedia(\"(prefers-reduced-motion: no-preference)\")) {\n\t\tconsole.log(\"browser either doesn't support prefers-reduced-motion or is set to prefers-reduced-motion: reduced\");\n\t\treturn false;\n\t}\n\n\tconst observerThreshold = 0;\n\n\t// Set up observer\n\tvar videoObserver = new IntersectionObserver(\n\t\tfunction (entries, observer) {\n\t\t\tentries.forEach(function (entry) {\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\tlet video = entry.target;\n\t\t\t\t\tvideo.play();\n\n\t\t\t\t\t// observer.unobserve(entry.target);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t{ threshold: observerThreshold }\n\t);\n\n\t// Find all video elements\n\tdocument.querySelectorAll(\".wp-block-media-text__media video\").forEach(function (video) {\n\t\tvideo.setAttribute(\"loop\", \"\");\n\t\tvideo.setAttribute(\"muted\", \"\");\n\t\tvideo.setAttribute(\"playsinline\", \"\");\n\n\t\t// Activate observer\n\t\tvideoObserver.observe(video);\n\t});\n}\nautoplayMediaTextVideo();\n\ndocument.querySelectorAll(\".wp-block-media-text video\").forEach(function (video) {\n\tconst play_button = document.createElement(\"button\");\n\n\tvideo.removeAttribute(\"controls\");\n\n\tplay_button.classList.add(\"video-play-button\");\n\tplay_button.innerHTML = video_play_svg;\n\tplay_button.title = play_button.innerText.trim();\n\n\tplay_button.addEventListener(\"click\", function () {\n\t\tif (video.paused) {\n\t\t\tvideo.play();\n\t\t} else {\n\t\t\tvideo.pause();\n\t\t}\n\t});\n\tplay_button.removeAttribute(\"hidden\");\n\n\tvideo.addEventListener(\"play\", function (event) {\n\t\tsetVideoPlaybackPlay(video, play_button);\n\t});\n\tvideo.addEventListener(\"pause\", function (event) {\n\t\tsetVideoPlaybackPause(video, play_button);\n\t});\n\n\tvideo.parentNode.appendChild(play_button);\n\tvideo.parentNode.classList.add(\"has-custom-video-controls\");\n});\n"],"file":"block-media-text-autoplay.js"}