PageSourceSearch

https://www.antiqueroseemporium.com/cdn/shop/t/169/assets/video-modal.js?v=124352799055401291551789593107

js antiqueroseemporium.com collected 2026-09-25 19:42:14 UTC 3,169 bytes, 2 lines download raw bytes

1import{config}from"@archetype-themes/scripts/config";import{load}from"@archetype-themes/scripts/helpers/library-loader";import Modals from"@archetype-themes/scripts/modules/modal";import YouTube from"@archetype-themes/scripts/helpers/youtube";import VimeoPlayer from"@archetype-themes/scripts/helpers/vimeo";export default function videoModal(scope){let youtubePlayer,vimeoPlayer,videoHolderId="VideoHolder",selectors={youtube:'a[href*="youtube.com/watch"], a[href*="youtu.be/"]',vimeo:'a[href*="player.vimeo.com/player/"], a[href*="vimeo.com/"]',mp4Trigger:".product-video-trigger--mp4",mp4Player:".product-video-mp4-sound"},el=scope||document,youtubeTriggers=el.querySelectorAll(selectors.youtube),vimeoTriggers=el.querySelectorAll(selectors.vimeo),mp4Triggers=el.querySelectorAll(selectors.mp4Trigger);if(!youtubeTriggers.length&&!vimeoTriggers.length&&!mp4Triggers.length)return;let videoHolderDiv=document.getElementById(videoHolderId);youtubeTriggers.length&&load("youtubeSdk"),vimeoTriggers.length&&load("vimeo",window.vimeoApiReady);let modal=new Modals("VideoModal","video-modal",{closeOffContentClick:!0,bodyOpenClass:["modal-open","video-modal-open"],solid:!0});youtubeTriggers.forEach(btn=>{btn.removeEventListener("click",triggerYouTubeModal),btn.addEventListener("click",triggerYouTubeModal)}),vimeoTriggers.forEach(btn=>{btn.removeEventListener("click",triggerVimeoModal),btn.addEventListener("click",triggerVimeoModal)}),mp4Triggers.forEach(btn=>{btn.removeEventListener("click",triggerMp4Modal),btn.addEventListener("click",triggerMp4Modal)}),document.removeEventListener("modalClose.VideoModal",closeVideoModal),document.addEventListener("modalClose.VideoModal",closeVideoModal);function triggerYouTubeModal(evt){if(!config.youTubeReady)return;evt.preventDefault(),emptyVideoHolder(),modal.open(evt);let videoId=getYoutubeVideoId(evt.currentTarget.getAttribute("href"));youtubePlayer=new YouTube(videoHolderId,{videoId,style:"sound",events:{onReady:onYoutubeReady}})}function triggerVimeoModal(evt){if(!config.vimeoReady)return;evt.preventDefault(),emptyVideoHolder(),modal.open(evt);let videoId=evt.currentTarget.dataset.videoId,videoLoop=evt.currentTarget.dataset.videoLoop;vimeoPlayer=new VimeoPlayer(videoHolderId,videoId,{style:"sound",loop:videoLoop})}function triggerMp4Modal(evt){emptyVideoHolder();let playerClone=evt.currentTarget.parentNode.querySelector(selectors.mp4Player).cloneNode(!0);playerClone.classList.remove("hide"),videoHolderDiv.append(playerClone),modal.open(evt),videoHolderDiv.querySelector("video").play()}function onYoutubeReady(evt){evt.target.unMute(),evt.target.playVideo()}function getYoutubeVideoId(url){let regExp=/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/,match=url.match(regExp);return match&&match[7].length==11?match[7]:!1}function emptyVideoHolder(){videoHolderDiv.innerHTML=""}function closeVideoModal(){youtubePlayer&&typeof youtubePlayer.destroy=="function"?youtubePlayer.destroy():vimeoPlayer&&typeof vimeoPlayer.destroy=="function"?vimeoPlayer.destroy():emptyVideoHolder()}}
2//# sourceMappingURL=/cdn/shop/t/169/assets/video-modal.js.map?v=124352799055401291551789593107

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.