PageSourceSearch

https://vibetwlv.com/cdn/shop/t/105/assets/popup.js?v=38137689709232313561789154441

js vibetwlv.com collected 2026-10-08 02:15:09 UTC 8,385 bytes, 2 lines download raw bytes

1"use strict";document.addEventListener("DOMContentLoaded",function(){var adpPopup={};(function(){var $this;adpPopup={sPrevious:window.scrollY,sDirection:"down",init:function(e){$this=adpPopup,$this.popupInit(e),$this.events(e)},events:function(e){document.addEventListener("click",function(event){(event.target.closest(".popup")&&(event.target.closest(".popup-close")||event.target.closest(".popup-overlay")||event.target.closest(".popup-button"))||!event.target.closest(".popup"))&&$this.closePopup(event),(event.target.matches(".popup-accept")||event.target.closest(".popup-accept"))&&($this.acceptPopup(event),$this.closePopup(event)),(event.target.matches(".age-verification__popup-close")||event.target.closest(".age-verification__popup-close"))&&($this.agePopup(event),$this.closePopup(event)),(event.target.matches(".age-verification__button-no")||event.target.closest(".age-verification__button-no"))&&$this.ageDeclined(event)}),document.addEventListener("keyup",function(event){event.key==="Escape"&&document.querySelectorAll('.popup-open[data-esc-close="true"]').forEach(function(popup){$this.closePopup(popup)}),event.key==="F4"&&document.querySelectorAll('.popup-open[data-f4-close="true"]').forEach(function(popup){$this.closePopup(popup)})}),document.querySelectorAll(".popup-overlay").forEach(element=>{element.addEventListener("click",event=>{element.previousElementSibling.matches('.popup-open[data-overlay-close="true"]')&&$this.closePopup(element.previousElementSibling)})})},popupInit:function(e){document.addEventListener("scroll",function(){let scrollCurrent=window.scrollY;scrollCurrent>$this.sPrevious?$this.sDirection="down":$this.sDirection="up",$this.sPrevious=scrollCurrent}),document.querySelectorAll(".popup").forEach(function(popup){if(popup.getAttribute("data-open-trigger")==="manual"){let selector=popup.getAttribute("data-open-manual-selector");if(selector){const onTriggerClick=event=>{event.preventDefault(),(event.target.closest(".popup-close")||event.target.closest(".popup-overlay")||event.target.closest(".popup-button"))&&(popup.classList.remove("popup-already-opened"),$this.openPopup(popup),event.target.classList.contains("popup")&&$this.closePopup(selector))},triggerInteraction=triggerElement=>{if(!triggerElement)return;triggerElement.addEventListener("click",onTriggerClick);const isClickableOverlay=triggerElement.getAttribute("data-overlay-close")==="true",overlay=triggerElement.nextElementSibling;isClickableOverlay&&overlay&&overlay.classList.contains("popup-overlay")&&overlay.addEventListener("click",onTriggerClick)};let triggerEl;selector.charAt(0)=="#"?triggerEl=document.getElementById(selector.slice(1)):triggerEl=document.querySelector(selector),triggerInteraction(triggerEl)}}!$this.isAllowPopup(popup)&&!popup.classList.contains("age-verification")||$this.openTriggerPopup(popup)})},openTriggerPopup:function(popup){let trigger=popup.getAttribute("data-open-trigger");if(trigger==="none"&&(!$this.getStorage("popup-age-"+(popup.getAttribute("data-id")||0))||Shopify.designMode)&&$this.openPopup(popup),popup.querySelector(".popup-accept")&&$this.getStorage("popup-accept-"+(popup.getAttribute("data-id")||0))&&!Shopify.designMode){trigger="accept";return}if(trigger==="delay"&&setTimeout(function(){$this.openPopup(popup)},parseInt(popup.getAttribute("data-open-delay-number"))*1e3),trigger==="exit"){var showExit=!0;document.addEventListener("mousemove",function(event){var scroll=window.pageYOffset||document.documentElement.scrollTop;event.pageY-scroll<7&&showExit&&($this.openPopup(popup),showExit=!1)})}if(trigger==="scroll"){const pointScrollType=popup.getAttribute("data-open-scroll-type"),pointScrollPosition=Number(popup.getAttribute("data-open-scroll-position"));document.addEventListener("scroll",function(){pointScrollType==="px"&&window.scrollY>=pointScrollPosition&&$this.openPopup(popup),pointScrollType==="%"&&$this.getScrollPercent()>=pointScrollPosition&&$this.openPopup(popup)})}},closeTriggerPopup:function(popup){var trigger=popup.getAttribute("data-close-trigger");if(trigger==="delay"&&setTimeout(function(){$this.closePopup(popup)},parseInt(popup.getAttribute("data-close-delay-number"))*1e3),trigger==="scroll"){const pointScrollType=popup.getAttribute("data-close-scroll-type"),pointScrollPosition=Number(popup.getAttribute("data-close-scroll-position"));document.addEventListener("scroll",function(){pointScrollType==="px"&&window.scrollY>=pointScrollPosition&&$this.closePopup(popup),pointScrollType==="%"&&$this.get
1ScrollPercent()>=pointScrollPosition&&$this.closePopup(popup)})}},openPopup:function(popup){if(popup.classList.contains("popup-already-opened")||popup.classList.contains("popup-open"))return;popup.getAttribute("data-body-scroll-disable")==="true"&&(document.body.classList.add("popup-scroll-hidden"),popup.getAttribute("data-mobile-disable")==="false"&&document.body.classList.add("popup-scroll-hidden-mobile"));const key="popup-"+popup.getAttribute("data-id"),limit=parseInt($this.getStorage(key)||0)+1;$this.setStorage(key,limit,{expires:popup.getAttribute("data-limit-lifetime")}),popup.classList.add("popup-open"),popup.setAttribute("data-init-scroll-px",window.scrollY),popup.setAttribute("data-init-scroll-percent",$this.getScrollPercent());let animation=popup.getAttribute("data-open-animation");$this.applyAnimation(popup,animation),$this.closeTriggerPopup(popup),popup.focus()},agePopup:function(event){let popup=(event.target?event.target:event).closest(".popup");$this.setStorage("popup-age-"+popup.getAttribute("data-id"),1,{expires:360})},ageDeclined:function(){document.querySelectorAll(".age-verification__question").forEach(function(el){el.classList.remove("show")}),document.querySelector(".age-verification__declined")?.classList.add("show"),window.Shopify.designMode||document.querySelectorAll(".shopify-section").forEach(el=>{el.classList.contains("age-verification-section")||el.remove()})},acceptPopup:function(event){let popup=(event.target?event.target:event).closest(".popup");$this.setStorage("popup-accept-"+popup.getAttribute("data-id"),1,{expires:360})},closePopup:function(event){let popup=(event.target?event.target:event).closest(".popup"),animation=popup?.getAttribute("data-exit-animation");$this.applyAnimation(popup,animation,function(){popup.classList.add("popup-already-opened"),popup.classList.remove("popup-open"),popup.blur()}),document.body.classList.remove("popup-scroll-hidden"),document.body.classList.remove("popup-scroll-hidden-mobile")},isAllowPopup:function(popup){let limitDisplay=parseInt(popup.getAttribute("data-limit-display")||0),limitDisplayStored=parseInt($this.getStorage("popup-"+popup.getAttribute("data-id")));return!(!Shopify.designMode&&limitDisplay&&limitDisplayStored&&limitDisplayStored>=limitDisplay)},applyAnimation:function(el,name,callback){var popup=el?.closest(".popup");let overlayName;typeof callback=="function"?overlayName="popupExitFade":overlayName="popupOpenFade",popup?.nextElementSibling&&(popup.nextElementSibling.classList.add("popup-animated",overlayName),popup.nextElementSibling.addEventListener("animationend",function(){this.classList.remove("popup-animated",overlayName)})),popup?.querySelector(".popup-wrap").classList.add("popup-animated",name),popup?.querySelector(".popup-wrap").addEventListener("animationend",function(){this.classList.remove("popup-animated",name),typeof callback=="function"&&callback()})},getStorage:function(key){const item=localStorage.getItem(key);if(item)try{const parsed=JSON.parse(item);if(parsed.expires&&Date.now()>parsed.expires){localStorage.removeItem(key);return}return parsed.value}catch{return}},setStorage:function(key,value,options={}){const data={value,expires:null};if(options.expires){const expiresDate=new Date;expiresDate.setDate(expiresDate.getDate()+parseInt(options.expires,10)),data.expires=expiresDate.getTime()}localStorage.setItem(key,JSON.stringify(data))},getScrollPercent:function(){const h=document.documentElement,b=document.body,st="scrollTop",sh="scrollHeight";return(h[st]||b[st])/((h[sh]||b[sh])-h.clientHeight)*100}}})(),adpPopup.init(),document.addEventListener("shopify:section:load",function(){adpPopup.init()}),document.addEventListener("shopify:section:unload",function(){document.body.classList.remove("popup-scroll-hidden")})});
2//# sourceMappingURL=/cdn/shop/t/105/assets/popup.js.map?v=38137689709232313561789154441

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.