PageSourceSearch

https://www.swingdesign.com/cdn/shop/t/89/assets/app.min.js?v=19699724256427290781787769204

js swingdesign.com collected 2026-09-25 03:54:54 UTC 23,199 bytes, 45 lines download raw bytes

1(()=>{rimg.shopify.init('[data-rimg="lazy"]',{round:1});const sections=new ShopifySectionsManager;sections.register("age-gate",(t=>new AgeGate.PageAgeGate(t)));const ageGatePage=document.getElementById("age-gate-page");ageGatePage&&new AgeGate.SiteAgeGate(ageGatePage),document.addEventListener("DOMContentLoaded",(function(){window.utils.enableDisclosure();const oldFlickityCreate=window.Flickity.prototype._create;window.Flickity.prototype._create=function(){const t=this;return this.element.addEventListener&&this.element.addEventListener("load",(()=>{t.onresize()}),!0),this._create=oldFlickityCreate,oldFlickityCreate.apply(this,arguments)},document.addEventListener("lazyloaded",(t=>{let e=t.target.getAttribute("data-bg");const a=t.target.getAttribute("data-mobile-bg");e&&(window.PXUTheme.media_queries.medium.matches&&a&&(e=a),t.target.style.backgroundImage=`url(${e})`)})),window.imageFunctions.flickityIosFix(),window.header.init(),window.mobileSearch.init(),window.siteOverlay.init(),window.meganavManager.injectAll(),window.PXUTheme.theme_settings.enable_autocomplete&&window.predictiveSearch.init(),window.utils.initializeSectionWrapper(),window.slideshow.init(),window.testimonials.init(),window.video.init(),window.gallery.init(),window.videoFeature.setupVideoPlayer(),window.featuredPromotions.init(),window.featuredCollection.init(),window.logoList.init(),window.collectionSidebarFilter.init(),window.cart.init(),window.map.init(),window.shoppableImage.init(),window.productPage.init(),window.productPage.runOptionSelector(),window.productPage.initializeQuantityBox(),window.recentlyViewed.init(),window.sidebarAccordions.init(),(window.PXUTheme.currency.show_multiple_currencies||window.PXUTheme.currency.native_multi_currency)&&window.currencyConverter.init();const{pathname}=location;let resizeTimeout;pathname.startsWith("/challenge")&&$("html, body").animate({scrollTop:0},"slow");const beforeResizeWidth=$(window).width();window.addEventListener("resize",(()=>{resizeTimeout||(resizeTimeout=setTimeout((()=>{resizeTimeout=null;const t=$(window).width();window.PXUTheme.media_queries.medium.matches&&t!==beforeResizeWidth&&(window.cart.init(),window.is_touch_device()||($(".main-nav__wrapper.sticky_nav").length>0&&window.header.unload(),window.header.init())),window.logoList.init();document.querySelectorAll("[data-bg]").forEach((t=>{let e=t.getAttribute("data-bg");const a=t.getAttribute("data-mobile-bg");e&&(window.PXUTheme.media_queries.medium.matches&&a&&(e=a),t.style.backgroundImage=`url(${e})`)}))}),66))}),!1),$.fancybox.defaults.animationEffect="fade",$.fancybox.defaults.transitionEffect="fade",$.fancybox.defaults.hash=!1,$.fancybox.defaults.infobar=!1,$.fancybox.defaults.toolbar=!1,$.fancybox.defaults.arrows=!1,$.fancybox.defaults.loop=!0,$.fancybox.defaults.smallBtn=!0,$.fancybox.defaults.live=!1,$.fancybox.defaults.zoom=!1,$.fancybox.defaults.mobile.preventCaptionOverlap=!1,$.fancybox.defaults.mobile.toolbar=!0,$.fancybox.defaults.mobile.buttons=["close"],$.fancybox.defaults.mobile.clickSlide="close",$.fancybox.defaults.mobile.clickContent="zoom",$.fancybox.defaults.afterLoad=function(t,e){"image"===t.current.type&&e.$content.wrapInner("<div class='fancybox-image-wrap'></div>"),t.group.length>1&&e.$content.find(".fancybox-image-wrap").append(`<a title="Previous" class="fancybox-item fancybox-nav fancybox-prev" href="javascript:;" data-fancybox-prev><span>${window.svgArrowSizeLeft}</span></a><a title="Next" class="fancybox-item fancybox-nav fancybox-next" href="javascript:;" data-fancybox-next><span>${svgArrowSizeRight}</span></a>`)},$('.lightbox[rel="gallery"]').fancybox();const $videoIframes=$('iframe[src*="youtube.com"], iframe[src*="vimeo.com"], iframe[src*="facebook.com/plugins/video"]');function getAspectRatio(t,e){const a=t/e;return 0===Math.abs(a-1)?"1:1":Math.abs(a-4/3)<Math.abs(a-16/9)?"4:3":"16:9"}$videoIframes.each(((t,e)=>{const a=$(e),i=a.attr("src");a.parents(".plyr__video-wrapper").length||a.parents(".lazyframe").length||a.wrap(`<div class="lazyframe" data-ratio="${getAspectRatio(a.attr("width"),a.attr("height"))}" data-src="${i}"></div>`)})),window.lazyframe(".lazyframe"),$(".shopify-policy__container").wrap('<section class="section shopify-policy-template"><div class="container content"></div>'),$(".shopify-policy__container").addClass("five-eighths offset-by-three columns is-hidden-offset-mobile-only medium-down--one-whole"),$(".shopify-policy__title").append('<div class="feature-divider"></div>');const sortByEl=document.querySelector("[data-sort-by]");sortByEl&&sortByEl.addEventListener("change",(t=>{const{target:e}=t,a=e.value;if(e){const t=new URLSearchParams(document.location.search);t.set("sort_by",a),window.location.search=t}})),$("body").on("change","#tag_filter",(()=>{$("[data-option-filter] input").prop("checked",!1),window.quickFilter.init()})),$("body").on("change","#blog_filter",(function(){const t=$(this).val();window.location=t})),$("input, select, textarea").on("focus blur",(t=>{$("meta[name=viewport]").attr("content","width=device-width,initial-scale=1,maximum-scale="+("blur"===t.type?10:1))})),$("body").on("change","[data-option-filter] input",(()=>{window.quickFilter.init(),$("html, body").animate({scrollTop:$(".content").offset().top},500)})),$("body").on("click","[data-reset-filters]",(()=>{window.collectionSidebarFilter.clearAllFilters()})),$("body").on("click","[data-clear-filter]",(t=>{const e=$(t.currentTarget).parents(".filter-active-tag");window.collectionSidebarFilter.clearSelectedFilter(e)})),$("body").on("change",".currencies",(()=>{$("[data-initial-modal-price]").attr("data-initial-modal-price","")})),$("body").on("change",".js-quick-shop select",(()=>{const t=$('.js-quick-shop select[name="id"]').val();
1t&&window.globalQuickShopProduct&&window.quickShop.updateVariant(t)})),window.PXUTheme.theme_settings.quick_shop_enabled&&window.quickShop.init();let touchStartPos=0;if($(document).bind("touchstart",(()=>{touchStartPos=$(window).scrollTop()})).bind("touchend",(t=>{const e=touchStartPos-$(window).scrollTop();(e>20||e<-20)&&t.preventDefault})),$("body").on("click",".sidebar .parent-link--false",(function(t){t.preventDefault();const e=$(this).parent("li");e.find(".menu-toggle").toggleClass("active"),e.find("ul").slideToggle()})),window.PXUTheme.theme_settings.newsletter_popup&&window.newsletter_popup.init(),window.PXUTheme.theme_settings.enable_back_to_top_button&&window.back_to_top_button.init(),-1!==window.location.pathname.indexOf("/comments")&&$("html,body").animate({scrollTop:$("#new-comment").offset().top-140},"slow"),window.PXUTheme.media_queries.large.matches&&($(".animate_right").waypoint((function(){$(this.element).addClass("animated fadeInRight")}),{offset:"70%"}),$(".animate_left").waypoint((function(){$(this.element).addClass("animated fadeInLeft")}),{offset:"70%"}),$(".animate_up").waypoint((function(){$(this.element).addClass("animated fadeInUp")}),{offset:"70%"}),$(".animate_down").waypoint((function(){$(this.element).addClass("animated fadeInDown")}),{offset:"70%"})),$(".slider, .flexslider").find("li").unwrap(),$(".slider, .flexslider").flickity({pageDots:window.usePageDots,imagesLoaded:!0,arrowShape:window.arrowSize,lazyLoad:2}),window.utils.createAccordion(".footer_menu","h6","ul"),window.utils.createAccordion(".footer_content","h6","div.toggle_content"),window.utils.createAccordion(".product_section .accordion-tabs",".tabs li > a",".tabs-content li"),window.utils.mobileParentActiveAccordion("#mobile_menu","li.sublink > a.parent-link--true span"),window.utils.mobileAccordion("#mobile_menu","li.sublink > a"),window.utils.initializeTabs(),window.accordion.init(),$("body").on("click",".menu-toggle",(function(){$(this).next("ul").slideToggle(),$(this).toggleClass("active"),$(this).attr("aria-expanded","true"===$(this).attr("aria-expanded")?"false":"true")})),window.PXUTheme.theme_settings.collection_swatches&&window.PXUTheme.media_queries.large.matches&&($("body").on("mouseenter",".collection_swatches",(function(){$(".swatch span",$(this)).each((function(){-1===$(this).data("image").indexOf("no-image")&&($("<img/>")[0].src=$(this).data("image"))}))})),$("body").on("mouseenter",".swatch span",(function(){-1===$(this).data("image").indexOf("no-image")&&($(this).parents(".thumbnail").find(".image__container img:not(.secondary)").attr("src",$(this).data("image")),$(this).parents(".thumbnail").find(".image__container img:not(.secondary)").attr("srcset",$(this).data("image")))}))),window.PXUTheme.theme_settings.display_tos_checkbox&&$("body").on("click touchstart",".cart_content .tos_label",(function(){$(this).prev("input").prop("checked",!0)})),window.PXUTheme.theme_settings.display_tos_checkbox&&window.PXUTheme.theme_settings.go_to_checkout?$("body").on("click",".tos_warning [data-cart-checkout-button]",(function(t){if(!$(this).parents("form").find(".tos_agree").is(":checked")){const t=`<p class="warning animated bounceIn">${window.PXUTheme.translation.agree_to_terms_warning}</p>`;return 0===$("p.warning").length&&$(this).before(t),!1}window.PXUTheme.theme_settings.go_to_checkout||$("body").hasClass("cart")?$(this).submit():(t.preventDefault(),document.location.href=window.PXUTheme.routes.cart_url)})):window.PXUTheme.theme_settings.go_to_checkout||$("body").on("click",".cart_content [data-minicart-checkout-button]",(t=>{t.preventDefault(),document.location.href=window.PXUTheme.routes.cart_url})),window.PXUTheme.theme_settings.collection_secondary_image&&window.imageFunctions.showSecondaryImage(),$("[data-is-required]").length){const t=$(".custom-contact__checkbox");t.prop("required",!0),t.on("change",(()=>{t.prop("required",!0),t.is(":checked")&&t.prop("required",!1)}))}function ajaxSubmitCart(t){const e=t;$.ajax({url:"/cart/update.js",dataType:"json",cache:!1,type:"post",data:e.serialize(),success(t){refreshCart(t)}})}function updateCartItemQuantity(t){$.ajax({url:"/cart/change.js",dataType:"json",cache:!1,type:"post",data:{quantity:t.quantity,line:t.lineID},success(e){const a=e.items,i=t.lineID-1,n=t.parentCartForm.find("[data-variant-id]").length,o=t.parentCartForm.find(`[data-variant-id="${t.variantID}"] input`);let s=0,r=0;const c=void 0!==e.items[i]?e.items[i].quantity:0;if(o.length>1?($.each(o,((t,e)=>{s+=parseInt($(e).val())})),a.forEach((e=>{e.variant_id===t.variantID&&(r+=e.quantity)}))):(s=parseInt(o.val()),r=void 0!==e.items[i]?e.items[i].quantity:0),s>0&&s>r)if(itemsLeftText=1===r?window.PXUTheme.translation.one_item_left:window.PXUTheme.translation.items_left_text,$(".warning--quantity").remove(),n<a.length)"cart-template"===t.parentCartForm.data("cart-form")?t.parentCartForm.submit():refreshCart(e);else{const e=`<p class="warning warning--quantity animated bounceIn">${r} ${itemsLeftText}</p>`;t.parentCartForm.find(`[data-line-id='${t.lineID}'] input`).parent().after(e),t.parentCartForm.find(`[data-line-id='${t.lineID}'] input`).val(c)}else"cart-template"===t.parentCartForm.data("cart-form")?t.parentCartForm.submit():refreshCart(e)}})}function refreshCartID(){const t=document.querySelectorAll(".cart__item");for(let e=0;e<t.length;e++){const a=e+1,i=t[e].querySelectorAll("[data-line-id]");for(let t=0;t<i.length;t++)i[t].dataset.lineId=a}}function refreshCart(t){$(".cart_count").empty();const e=$(".cart_count"),a=e.text()||"0";let i="",n="",o="",s="";const r=$("[data-cart-form]");let c=!1,d=0,l=0;if(r.data("total-discount",t.total_discount),e.text(a.replace(/[0-9]+/,t.item_count)),0===t.item_count)$(".js-empty-cart__message").removeClass("hidden"),r.addClass("hidden");else{$(".js-empty-cart__message").addClass("hidden"),r.removeClass("hidden");let e=0,a=0;$.each(t.items,((t,n)=>{const o=n.discounts;let s="";for(let t=0;t<o.length;t++){const{title:e}=o[t];s=`<p class="notification-discount meta">${e}</p>`}const r=t+1;if(i+=`<li class="mini-cart__item" data-cart-item data-line-id="${r}" data-variant-id="${n.id}"><a href="${n.url}">`,n.image&&(i+=`<div class="cart_image"><img src="${n.image.replace(/(\.[^.]*)$/,"_compact$1").replace("http:","")}" alt="${htmlEncode(n.title)}" /></div></a>`),i+=`<div class="mini-cart__item-content"><div class="mini-cart__item-title"><a href="${n.url}">${n.title}</a>`,n.selling_plan_allocation&&(i+=`<div class="meta">${n.selling_plan_allocation.selling_plan.name}</div>`),n.properties&&(i+='<div class="mini-cart__item-properties">',$.each(n.properties,((t,e)=>{e&&"on"!==e&&(i+=`<div class="mini-cart__item-property">${t}: ${e}</div>`)}
1)),i+="</div>"),i+='</div><div class="mini-cart__item-price">',$.ajax({dataType:"json",async:!1,cache:!1,url:`${window.Shopify.routes.root}products/${n.handle}.js`,success(t){let e=t;if(e.variants){const t=e.variants;if(t.length>1)for(let a=0;a<t.length;a++)t[a].id===n.id&&(e=t[a])}e.compare_at_price&&e.compare_at_price>e.price?(c=!0,d=e.compare_at_price,l=e.price):c=!1}}),!0===c){const t=`${window.Shopify.formatMoney(l,$("body").data("money-format"))} </span><span class="money was_price">${window.Shopify.formatMoney(d,$("body").data("money-format"))}</span>`;i+=`<span class="money sale">${t}</strong>`,a=(d-l)*n.quantity,e=a+e}else if(n.price>n.final_price){const t=`${window.Shopify.formatMoney(n.final_price,$("body").data("money-format"))} </span><span class="money was_price">${window.Shopify.formatMoney(n.price,$("body").data("money-format"))}</span>`;i+=`<span class="money sale">${t}</strong>`}else{const t=window.Shopify.formatMoney(n.final_price,$("body").data("money-format"));n.final_price>0?i+=`<span class="money">${t}</span></strong>`:i+=`<span>${window.PXUTheme.translation.cart_free_text}</span></strong>`}if(i+="</div>",n.unit_price_measurement&&n.price>0){let t="";1!==n.unit_price_measurement.reference_value&&(t=n.unit_price_measurement.reference_value),i+=`<p class="mini-cart__unit-price">${n.unit_price_measurement.quantity_value}${n.unit_price_measurement.quantity_unit} | ${Shopify.formatMoney(n.unit_price,$("body").data("money-format"))} / ${t}${n.unit_price_measurement.reference_unit}</p>`}n.price>n.final_price&&(i+=s),i+='<div class="product-quantity-box">',i+='<span class="ss-icon product-minus js-change-quantity" data-func="minus"><span class="icon-minus"></span></span>',i+=`<input type="number" min="0" class="quantity" name="updates[]" id="updates_${n.id}" value="${n.quantity}" data-cart-quantity-input="mini-cart" />`,i+='<span class="ss-icon product-plus js-change-quantity" data-func="plus"><span class="icon-plus"></span></span>',i+="</div></div></div>",i+=`<a href="/cart/change?line=${r}&amp;quantity=0" class="js-cart-remove-btn cart__remove-btn" data-line-id="${r}" data-remove-item="mini-cart"><span class="remove-icon"></span></a>`}));const p=t.cart_level_discount_applications;for(let t=0;t<p.length;t++){const e=window.Shopify.formatMoney(p[t].total_allocated_amount,$("body").data("money-format")),{title:a}=p[t];n+=`<span class="cart_discounts--title">${a}</span>`,n+='<span class="cart_discounts--price">',n+=`-<span class="money">${e}</span></span>`}o+=`<span class="right"><span class="money">${window.Shopify.formatMoney(t.total_price,$("body").data("money-format"))}</span></span> <span>${window.PXUTheme.translation.cart_subtotal_text}</span>`,e+=t.total_discount,s=window.PXUTheme.theme_settings.display_savings&&e>0?`<span class="right"><span class="money">${window.Shopify.formatMoney(e,$("body").data("money-format"))}</span></span><span>${window.PXUTheme.translation.cart_savings_text}</span>`:""}$(".js-cart_items").html(i),$(".js-cart_discounts").html(n),$(".js-cart_subtotal").html(o),$(".js-cart_savings").html(s),window.PXUTheme.currency.show_multiple_currencies&&window.currencyConverter.convertCurrencies()}$(".maps").click((()=>{$(".maps iframe").css("pointer-events","auto")})),"load_more"===window.PXUTheme.theme_settings.pagination_type&&window.enableLoadMoreProducts(),"load_more_button"===window.PXUTheme.theme_settings.pagination_type&&window.enableLoadMoreButton("[data-product-list]"),"infinite_scroll"===window.PXUTheme.theme_settings.pagination_type&&window.enableInfiniteScroll("[data-product-list]"),$("body").on("change","[data-cart-quantity-input]",(function(){const t={lineID:$(this).parents("[data-cart-item]").data("line-id"),variantID:$(this).parents("[data-cart-item]").data("variant-id"),quantity:$(this).val(),parentCartForm:$(this).parents("[data-cart-form]"),totalDiscount:$(this).parents("[data-cart-form]").data("total-discount"),$element:$(this).parents("[data-cart-item]")};$(this).parents(".product-quantity-box").find(".js-change-quantity").addClass("is-disabled"),updateCartItemQuantity(t)})),$("body").on("click","[data-remove-item]",(function(t){t.preventDefault();const e={lineID:$(this).parents("[data-cart-item]").data("line-id"),variantID:$(this).parents("[data-cart-item]").data("variant-id"),quantity:0,parentCartForm:$(this).parents("[data-cart-form]"),totalDiscount:$(this).parents("[data-cart-form]").data("total-discount"),$element:$(this).parents("[data-cart-item]")};e.$element.addClass("animated fadeOutLeft"),updateCartItemQuantity(e),"cart-template"===e.parentCartForm.data("cart-form")&&(e.$element.find("input").val("0"),e.parentCartForm.submit()),"mini-cart"===e.parentCartForm.data("cart-form")&&e.$element.find("input").val("0")})),"ajax"===window.PXUTheme.theme_settings.cart_action&&$(document).on("click",".ajax-submit",(function(e){e.preventDefault();const $addToCartForm=$(this).closest("form"),$addToCartBtn=$addToCartForm.find(".add_to_cart");return this.recipientForm=$addToCartForm[0].querySelector("[data-recipient-form]"),$(".warning").remove(),this.recipientForm&&this.recipientForm.classList.remove("recipient-form--has-errors"),$("body").hasClass("cart")&&$addToCartForm.submit(),$.ajax({url:"/cart/add.js",dataType:"json",cache:!1,type:"post",data:$addToCartForm.serialize(),beforeSend(){$addToCartBtn.attr("disabled","disabled").addClass("disabled"),$addToCartBtn.find("span").removeClass("fadeInDown").addClass("animated zoomOut")},success(){$addToCartBtn.find(".checkmark").addClass("checkmark-active"),window.setTimeout((()=>{$addToCartBtn.removeAttr("disabled").removeClass("disabled"),$addToCartBtn.find(".checkmark").removeClass("checkmark-active"),$addToCartBtn.find("span").removeClass("zoomOut").addClass("fadeInDown")}),1e3),$.ajax({url:"/cart.js",dataType:"json",cache:!1,success(t){setTimeout((function(){if(refreshCart(t),$("body").hasClass("fancybox-active")&&$.fancybox.close(),$("#header").is(":visible")?$("#header .cart-container").addClass("active_link"):$(".sticky_nav--stick").length?$(".sticky_nav .cart-container").addClass("active_link"):$(".top-bar .cart
1-container").addClass("active_link"),window.PXUTheme.media_queries.medium.matches){$(this).parent().hasClass("active_link"),$("body").addClass("blocked-scroll");document.getElementById("header").classList.contains("mobile_nav-fixed--false")&&window.scroll({top:0,left:0,behavior:"smooth"})}}),500)}})},error:XMLHttpRequest=>{const response=eval(`(${XMLHttpRequest.responseText})`);let warning;$(".warning").remove(),response.errors&&response.errors.email?this.recipientForm.classList.add("recipient-form--has-errors"):(warning=`<p class="warning animated bounceIn">${response.description.replace("All 1 ","All ")}</p>`,$addToCartForm.after(warning)),$addToCartBtn.removeAttr("disabled").removeClass("disabled"),$addToCartBtn.find("span").text(window.PXUTheme.translation.add_to_cart).removeClass("zoomOut").addClass("zoomIn")}}),!1})),window.productPage.productSwatches()})),window.Shopify.updateOptionsInSelector=function(t,e){switch(t){case 0:var a="root";break;case 1:a=$(`${e} .single-option-selector:eq(0)`).val();break;case 2:a=$(`${e} .single-option-selector:eq(0)`).val();a+=` / ${$(`${e} .single-option-selector:eq(1)`).val()}`}const i=Shopify.optionsMap[a];$(`${e} .swatch[data-option-index="${t}"] .swatch-element`).each((function(){-1!==$.inArray($(this).attr("data-value"),i)?$(this).removeClass("soldout").find(":radio").removeAttr("disabled","disabled").removeAttr("checked"):$(this).addClass("soldout").find(":radio").removeAttr("checked").attr("disabled","disabled")}))},window.Shopify.linkOptionSelectors=function(t,e){window.Shopify.optionsMap={};for(let e=0;e<t.variants.length;e++){const a=t.variants[e];if(a.available){if(window.Shopify.optionsMap.root=window.Shopify.optionsMap.root||[],window.Shopify.optionsMap.root.push(a.option1),window.Shopify.optionsMap.root=window.Shopify.uniq(window.Shopify.optionsMap.root),t.options.length>1){const t=a.option1;window.Shopify.optionsMap[t]=window.Shopify.optionsMap[t]||[],window.Shopify.optionsMap[t].push(a.option2),window.Shopify.optionsMap[t]=window.Shopify.uniq(window.Shopify.optionsMap[t])}if(3===t.options.length){const t=`${a.option1} / ${a.option2}`;window.Shopify.optionsMap[t]=window.Shopify.optionsMap[t]||[],window.Shopify.optionsMap[t].push(a.option3),window.Shopify.optionsMap[t]=window.Shopify.uniq(window.Shopify.optionsMap[t])}}}window.Shopify.updateOptionsInSelector(0,e),t.options.length>1&&window.Shopify.updateOptionsInSelector(1,e),3===t.options.length&&window.Shopify.updateOptionsInSelector(2,e),$(`${e} .single-option-selector:eq(0)`).change((()=>(window.Shopify.updateOptionsInSelector(1,e),3===t.options.length&&window.Shopify.updateOptionsInSelector(2,e),!0))),$(`${e} .single-option-selector:eq(1)`).change((()=>(3===t.options.length&&window.Shopify.updateOptionsInSelector(2,e),!0)))},window.htmlEncode=function(t){return t?$("<div/>").text(t).html():""},window.is_touch_device=function(){return"ontouchstart"in window||navigator.maxTouchPoints},window.touch_device=/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)})();
2//# sourceMappingURL=app.min.js.map?1739389587127
3
4// --- SKU Info Popup (non-blocking, informational only) ---
5document.addEventListener('click', function (e) {
6  var btn = e.target.closest('.add_to_cart');
7  if (!btn) return;
8
9  try {
10    var form = btn.closest('form');
11    if (!form) return;
12
13    var variantInput = form.querySelector('[name="id"]');
14    var productIdInput = form.closest('[data-product-id]');
15    if (!variantInput || !productIdInput) return;
16
17    var productId = productIdInput.getAttribute('data-product-id');
18    var variantId = variantInput.value;
19
20    var productPopups = window.SD_VARIANT_POPUPS && window.SD_VARIANT_POPUPS[productId];
21    var popupData = productPopups && productPopups[variantId];
22
23    if (popupData) {
24      var popupEl = document.getElementById('sku-info-popup');
25      if (!popupEl) return;
26      popupEl.querySelector('.sku-info-popup__body').innerHTML = popupData.content || '';
27      popupEl.querySelector('.sku-info-popup__cta').innerHTML = popupData.cta || '';
28      popupEl.style.display = 'flex';
29    }
30  } catch (err) {
31    console.warn('SKU info popup error:', err);
32  }
33});
34
35document.addEventListener('click', function (e) {
36  var popupEl = document.getElementById('sku-info-popup');
37  if (!popupEl || popupEl.style.display === 'none') return;
38
39  var clickedClose = e.target.classList.contains('sku-info-popup__close');
40  var clickedOutsideContent = e.target === popupEl; // clicked the backdrop itself, not its content
41
42  if (clickedClose || clickedOutsideContent) {
43    popupEl.style.display = 'none';
44  }
45});

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.