"use strict";window._theme=window._theme||{};class ViewTrack{constructor(){window.dataLayer=window.dataLayer||[],this.isMobile=window.innerWidth<1025}init=()=>{this.buildSelectors(),this.initViewTrackEvents(),this.initClickTrackEvent(),this.init404PageTrackEvent(),this.initQuickViewTrackEvents()};initOnLoad=()=>{document.getElementById("ltkPopupTriggerButton")&&this.trackView("Listrak newsletter model")};buildSelectors=()=>{this.selectors={};const pdpOfferLabelElem=document.querySelector(".product-shop [id*=pdp_label_] .bogopromoTitle")||document.querySelector(".product-shop [id*=pdp_label_]");this.selectors.trackElements=[{elem:document.querySelector("#shopify-section-announcement-bar a"),msg:"Announcement-bar",trackView:!0,trackClick:!0,trackMouseHover:!1},{elems:Array.from(document.querySelectorAll(".section_hero-banner .card-img-text")),msg:"Hero banner",trackView:!0,trackClick:!0,trackMouseHover:!1},{elem:document.querySelector(".shopify-section.section_top-brands .card--default .explore-card-wrapper"),msg:"Brands slider",trackView:!0,trackClick:!0,trackMouseHover:!1},{elems:Array.from(document.querySelectorAll(".shopify-section.section_top-brands .card-vertical .explore-card")),msg:"Home collection",trackView:!0,trackClick:!0,trackMouseHover:!1},{elems:Array.from(document.querySelectorAll(".shopify-section.section_featured-categories .category-link")),msg:null,prefix:"Home featured collection",defaultMsg:"Home featured collection",trackView:!0,trackClick:!0,trackMouseHover:!1},{elem:document.querySelector(".shopify-section.home-blog-posts-sections"),msg:"Home blog",trackView:!0,trackClick:!0,trackMouseHover:!1},{elem:document.querySelector(".template-collection .sidebar-banner a"),msg:"Collection side-banner",trackView:!0,trackClick:!0,trackMouseHover:!1},{elems:Array.from(document.querySelectorAll(".template-collection .product-collection .pro-bann-grid .promo_banner a")).filter(node=>node.clientHeight!==0),msg:"Collection product grid banner",trackView:!0,trackClick:!0,trackMouseHover:!1},{elem:pdpOfferLabelElem,msg:pdpOfferLabelElem?.textContent?.trim(),defaultMsg:"PDP Offer Label",trackView:!0,trackClick:!0,trackMouseHover:!1}]};initViewTrackEvents=()=>{const callbackFn=(entries,observer)=>{entries.forEach(entry=>{if(entry.isIntersecting){const target=entry.target;try{const eventText=this.getEventText(target);this.trackView(eventText),observer.unobserve(target)}catch{observer.unobserve(target)}}})},observerIns=new IntersectionObserver(callbackFn,{root:null,rootMargin:"0px 0px 0px 0px",threshold:.8});this.selectors.trackElements.forEach(item=>{item.trackView&&(item.elem&&observerIns.observe(item.elem),item.elems&&item.elems.forEach(itemElem=>{observerIns.observe(itemElem)}))})};initClickTrackEvent=()=>{this.selectors.trackElements.forEach(item=>{item.trackClick&&(item.elem&&item.elem.addEventListener("click",evt=>{evt.preventDefault(),this.handleTrackClick(evt,item.elem,item)}),item.elems&&item.elems.forEach(itemElem=>{itemElem.addEventListener("click",evt=>{evt.preventDefault(),this.handleTrackClick(evt,itemElem,item)})}))})};initHoverTrackEvent=()=>{this.isMobile||this.selectors.trackElements.forEach(item=>{if(!item.trackMouseHover||!item.elems||item.elems.length===0)return;let timer;item.elems.forEach(elem=>{elem.addEventListener("mouseenter",evt=>{timer=setTimeout(()=>{this.trackView(item.msg)},300)}),elem.addEventListener("mouseleave",evt=>{clearTimeout(timer)})})})};init404PageTrackEvent=()=>{const body=document.body;!body||body.getAttribute("data-template")!=="404"||setTimeout(()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"404_page",pageUrl:window.location.href,pageReferrer:document.referrer||"Direct"})},300)};initQuickViewTrackEvents=()=>{document.addEventListener("click",event=>{const viewMoreButton=event.target.closest("[data-quickview-view-more]");if(viewMoreButton){const data=this.extractQuickViewData(viewMoreButton);this.trackQuickViewSelectItem(data)}}),document.addEventListener("click",event=>{const addToCartButton=event.target.closest("[data-quickview-add-to-cart]");if(addToCartButton){const data=this.extractQuickViewData(addToCartButton);this.trackQuickViewAddToCart(data)}})};extractQuickViewData=button=>{const quantityInput=button.closest("form")?.querySelector('input[name="quantity"], .quantity__select, [data-quantity]'),currentQuantity=quantityInput&&parseInt(quantityInput.value)||1,productContainer=document.querySelector(".product");let currentVariant=null,productData=null;if(productContainer){const productJson=productContainer.getAttribute("data-product-json");if(productJson)try{productData=JSON.parse(productJson);const currentVariantJson=productContainer.getAttribute("data-current-variant");if(currentVariantJson)try{currentVariant=JSON.parse(currentVariantJson)}catch(e){console.warn("Failed to parse current variant JSON:",e)}!currentVariant&&productData&&productData.selected_or_first_available_variant&&(currentVariant=productData.selected_or_first_available_variant)}catch(e){console.warn("Failed to parse product JSON:",e)}}return{productId:productData?productData.id:null,productTitle:productData?productData.title:null,productVendor:productData?productData.vendor:null,productType:productData?productData.type:null,variantId:currentVariant?currentVariant.id:null,variantTitle:currentVariant?currentVariant.title:null,price:currentVariant?(currentVariant.price/100).toString():null,currency:"USD",collectionTitle:button.getAttribute("data-collection-title"),collectionHandle:button.getAttribute("data-collection-handle"),productPosition:window.currentQuickViewGridIndex!==null?window.currentQuickViewGridIndex:0,quantity:currentQuantity,compareAtPrice:currentVariant&¤tVariant.compare_at_price?(currentVariant.compare_at_price/100).toString():0}};handleTrackClick=(evt,targetElem,item)=>{const eventTarget=evt.target.nodeName==="A"?evt.target:evt.target.closest("a")?evt.target.closest("a"):evt.target,eventText=this.getEventText(targetElem);this.trackClick(eventText);const linkTag=eventTarget.nodeName==="A"?eventTarget:targetElem.nodeName==="A"?targetElem:targetElem.closest("a");linkTag&&setTimeout(()=>{window.location.href=linkTag.href},250)};trackView=(title,index)=>{if(title)try{window.dataLayer.push({event:"banner_view",banner_name:title,banner_index:index||0})}catch{console.warn("Error while tracking view")}};trackClick=(title,index)=>{if(title)try{window.dataLayer.push({event:"banner_click",bannername_:title,bannerindex:index||0})}catch{console.warn("Error while tracking click")}};trackQuickView=data=>{!data.productTitle||!data.variantTitle||!data.variantPrice||window.dataLayer.push({event:"Quickview ATC",product_name:data.productTitle,product_variant:data.variantTitle,product_price:data.variantPrice})};trackQuickViewSelectItem=data=>{if(!(!data.productId||!data.productTitle))try{const price=parseFloat(data.price)||0,compareAtPrice=parseFloat(data.compareAtPrice)||0,discount=compareAtPrice>0&&compareAtPrice>price?parseFloat((compareAtPrice-price).toFixed(2)):0,eventData={event:"select_item_quick_view",ecommerce:{item_list_id:data.collectionHandle,item_list_name:data.collectionTitle,items:[{item_id:data.productId,item_name:data.productTitle,item_brand:data.productVendor,item_category:data.productType,item_category2:"",item_category3:"",item_variant:data.variantTitle,price,discount,currency:data.currency,index:data.productPosition||1,item_list_id:data.collectionHandle,item_list_name:data.collectionTitle}]}};window.dataLayer.push(eventData)}catch(error){console.warn("Error while tracking quick view select item:",error)}};trackQuickViewAddToCart=data=>{if(!(!data.productId||!data.productTitle))try{const price=parseFloat(data.price)||0,quantity=parseInt(data.quantity)||1,totalValue=parseFloat((price*quantity).toFixed(2)),eventData={event:"add_to_cart_quick_view",ecommerce:{currency:data.currency,value:totalValue,items:[{item_id:data.productId,item_name:data.productTitle,item_brand:data.productVendor,item_category:data.productType,item_category2:"",item_category3:"",item_variant:data.variantTitle,price,quantity,index:data.productPosition!==null?data.productPosition:0,item_list_id:data.collectionHandle,item_list_name:data.collectionTitle}]}};window.dataLayer.push(eventData)}catch(error){console.warn("Error while tracking quick view add to cart:",error)}};trackQuickViewBuyNow=data=>{if(!(!data.productId||!data.productTitle))try{const price=parseFloat(data.price)||0,quantity=parseInt(data.quantity)||1,totalValue=parseFloat((price*quantity).toFixed(2)),eventData={event:"buy_now_quick_view",ecommerce:{currency:data.currency,value:totalValue,items:[{item_id:data.productId,item_name:data.productTitle,item_brand:data.productVendor,item_category:data.productType,item_category2:"",item_category3:"",item_variant:data.variantTitle,price,quantity,index:data.productPosition!==null?data.productPosition:0,item_list_id:data.collectionHandle,item_list_name:data.collectionTitle}]}};window.dataLayer.push(eventData)}catch(error){console.warn("Error while tracking quick view buy now:",error)}};trackQuickViewOpen=data=>{if(!(!data.productId||!data.productTitle))try{const price=parseFloat(data.price)||0,compareAtPrice=parseFloat(data.compareAtPrice)||0,discount=compareAtPrice>0&&compareAtPrice>price?parseFloat((compareAtPrice-price).toFixed(2)):0,eventData={event:"quick_view",ecommerce:{item_list_id:data.collectionHandle,item_list_name:data.collectionTitle,items:[{item_id:data.productId,item_name:data.productTitle,item_brand:data.productVendor,item_category:data.productType,item_category2:"",item_category3:"",item_variant:data.variantTitle,price,discount,currency:data.currency,index:data.productPosition!==null?data.productPosition:0,item_list_id:data.collectionHandle,item_list_name:data.collectionTitle}]}};window.dataLayer.push(eventData)}catch(error){console.warn("Error while tracking quick view open:",error)}};trackEvent=(event,method)=>{!event||!method||window.dataLayer.push({event,method})};trackData=(data={})=>{data&&window.dataLayer.push({...data})};getTargetConfig(target){if(!target)return null;let targetIndex=0;const targetTrackType=target.dataset.trackType,item=this.selectors.trackElements.find(item2=>{if(item2.elem)return item2.elem===target;if(item2.elems)return item2.elems.find((elem,index)=>{const trackType=elem.dataset.trackType;return targetTrackType&&trackType&&targetTrackType===trackType&&(targetIndex+=1),elem===target?(targetIndex=targetIndex!=0?targetIndex:index+1,!0):!1})});return item&&(item.targetIndex=targetIndex),item}getEventText(target){let eventText;const item=this.getTargetConfig(target);if(item.prefix){const type=target.dataset.trackType;item.msg=type?`${item.prefix}:${type}:`:item.prefix}return eventText=(item.targetIndex&&item.elems&&item.elems.length>1)!==0?`${item.msg} ${item.targetIndex}`:item.msg,item.msg||(eventText=target.textContent?.trim()||target.getAttribute("aria-label")||item.defaultMsg),eventText||"Banner Click"}}_theme.track=new ViewTrack,document.addEventListener("DOMContentLoaded",function(event){_theme.track.init()}),window.onload=function(){_theme.track.initOnLoad()}; //# sourceMappingURL=/cdn/shop/t/731/assets/track.js.map?v=58181132828483091141761729552