PageSourceSearch

https://betseyjohnson.com/cdn/shop/t/1305/assets/promotion-datalayer.js?v=94444151052619372971789976831

js betseyjohnson.com collected 2026-09-24 17:34:26 UTC 6,692 bytes, 2 lines download raw bytes

1function getOrdinal(n){let suffix="th";if(n%100<11||n%100>13)switch(n%10){case 1:suffix="st";break;case 2:suffix="nd";break;case 3:suffix="rd";break}return n+suffix}document.addEventListener("DOMContentLoaded",()=>{window.dataLayer=window.dataLayer||[];let allPromotions=[];const promotionByContainer=new WeakMap,promotionByGridCell=new WeakMap,isNavigableHref=(href="")=>{const value=(href||"").trim();return value!==""&&value!=="#"&&value!=="javascript:void(0)"},hasClickableContent=container=>{if(!container)return!1;const clickableTargets=container.querySelectorAll("a[href], button, [onclick], [data-link-url], .multi-cta-button, .banner-button, .xy-button, .xy-section-container-link, .custom-banner-link, .multi-fallback-link, .dnd-link, .dnd-item");return clickableTargets.length?Array.from(clickableTargets).some(node=>node.tagName==="A"?isNavigableHref(node.getAttribute("href"))||node.hasAttribute("onclick"):node.tagName==="BUTTON"||node.hasAttribute("onclick")?!0:node.hasAttribute("data-link-url")?isNavigableHref(node.getAttribute("data-link-url")):!1):!1};(function(){const allContainers=Array.from(document.querySelectorAll(".dl-container")),promotionName=document.getElementById("promo-name")?.dataset.promoName||window.location.pathname.split("/").pop(),visibleContainers=allContainers.filter(container=>window.getComputedStyle(container).display!=="none"&&hasClickableContent(container));let promoIndex=0;const promotions=[];visibleContainers.forEach(container=>{const promotionCreative=container.getAttribute("data-promotion-id"),firstChild=container.firstElementChild;if(Array.from(firstChild.classList).some(className=>className.startsWith("xy-grid-container")))firstChild.querySelectorAll(".xy-grid-cell").forEach((cell,cellIndex)=>{if(!hasClickableContent(cell))return;promoIndex++;const cellImgSrc=getPromotionImage(cell),resolvedCreative=cell?.dataset?.promotionId||null||promotionCreative||`${promotionName} ${getOrdinal(promoIndex)} Banner`,promo={promotionName:`${promotionName} ${getOrdinal(promoIndex)} Banner`,promotionCreativeName:resolvedCreative,promotionId:cellImgSrc,promotionIndex:promoIndex,promotionPosition:promotionName,promotionType:"gtm_banner"};promotions.push(promo),promotionByGridCell.set(cell,promo)});else{promoIndex++;const imgSrc=getPromotionImage(container),position=promoIndex,resolvedCreative=promotionCreative||`${promotionName} ${getOrdinal(position)} Banner`;if(container.querySelector("slideshow-component-v2")){let slideshow=container.querySelector("slideshow-component-v2");slideshow.DlInfo={promotionName:`${promotionName} ${getOrdinal(position)} Banner`,promotionId:imgSrc,promotionCreativeName:resolvedCreative,promotionIndex:position,promotionPosition:promotionName,promotionType:"gtm_banner"}}const promo={promotionName:`${promotionName} ${getOrdinal(position)} Banner`,promotionCreativeName:resolvedCreative,promotionId:imgSrc,promotionIndex:position,promotionPosition:promotionName,promotionType:"gtm_banner"};promotions.push(promo),promotionByContainer.set(container,promo)}}),promotions.length>0&&(window.dataLayer.push({event:"view_promotion",promotions,_clear:!0}),allPromotions=promotions)})(),document.querySelectorAll(".dl-container").forEach(container=>{container.addEventListener("click",function(event){const ignoreTags=["FS-PRODUCT-WIDGET","SLIDESHOW-COMPONENT-V2","FIT-FINDER-LANDING-PAGE-COMPONENT"],ignoreClasses=["banner-multi-cta","xy-it-list-content-section","xy-it-list-content","xy-it-list-main-text","xy-it-list-block"];if(ignoreTags.includes(event.target.tagName)||ignoreClasses.some(className=>event.target.classList.contains(className)))return;const clickableTarget=event.target.closest("a[href], button, .multi-cta-button, .banner-button, .xy-button"),isWholeBannerClick=container.querySelector(".dnd-root")!==null&&!clickableTarget;if(!clickableTarget&&!isWholeBannerClick)return;let buttonText="",parentContainer=clickableTarget?.closest("[data-promotion-id]")||container,parentA=clickableTarget?.closest("a");if(event.target.classList.contains("custom-banner-background")&&!parentA||!parentContainer)return;isWholeBannerClick?buttonText="Whole Banner":clickableTarget.classList.contains("multi-cta-button")||clickableTarget.classList.contains("banner-button")||clickableTarget.classList.contains("xy-button")||clickableTarget?.classList.contains("dnd-link")||clickableTarget?.classList.contains("dnd-item")?buttonText=clickableTarget.dataset.linkTitle||clickableTarget.dataset.promotionId||clickableTarget.textContent.trim():parentA&&(parentA.classList.contains("multi-cta-button")||parentA.classList.contains("xy-button"))?buttonText=parentA.dataset.linkTitle||parentA.dataset.promotionId||parentA.textContent.trim():(clickableTarget.classList.contains("xy-section-container-link")||parentContainer.querySelectorAll(".multi-fallback-link").length>0||parentContainer.querySelectorAll(".custom-banner-link").length>0)&&(buttonText="Whole Banner");const gridCell=event.target.closest(".xy-grid-cell");let selectedPromotion=gridCell?promotionByGridCell.get(gridCell):null;if(selectedPromotion||(selectedPromotion=promotionByContainer.get(container)||null),selectedPromotion){const promotionPayload=buttonText!==""?{...selectedPromotion,promotionButton:buttonText}:selectedPromotion;window.dataLayer.push({event:"select_promotion",promotions:promotionPayload,_clear:!0}),event.__promotionTracked=!0}})}),document.addEventListener("click",function(event){if(event.__promotionTracked)return;const wrapperLink=event.target.closest("a.xy-section-container-link[href]");if(!wrapperLink)return;const nestedContainer=wrapperLink.querySelector(".dl-container");
1if(!nestedContainer)return;const selectedPromotion=promotionByContainer.get(nestedContainer);selectedPromotion&&(window.dataLayer.push({event:"select_promotion",promotions:{...selectedPromotion,promotionButton:"Whole Banner"},_clear:!0}),event.__promotionTracked=!0)})});const PLACEHOLDER_IMAGE="https://cdn.shopify.com/s/files/1/2170/8465/files/placeholder.jpg?v=1759779720";function getPromotionImage(container){const img=container.querySelector("img");if(img)return img.src;const dndRoot=container.querySelector(".dnd-root");if(dndRoot){const style=dndRoot.querySelector("style");if(style){const match=style.textContent.match(/\.dnd-canvas\s*\{[^}]*background-image\s*:\s*url\(["']?(.*?)["']?\)/i);if(match?.[1])return match[1]}}const canvas=container.querySelector(".dnd-canvas");if(canvas){const match=window.getComputedStyle(canvas).backgroundImage.match(/url\(["']?(.*?)["']?\)/);if(match?.[1])return match[1]}return PLACEHOLDER_IMAGE}
2//# sourceMappingURL=/cdn/shop/t/1305/assets/promotion-datalayer.js.map?v=94444151052619372971789976831

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.