1if(!customElements.get("product-sticky-atc")){class ProductStickyAtc extends HTMLElement{connectedCallback(){this.form=this.querySelector(".js-product-form"),this.variantInput=this.querySelector('[name="id"]'),this.submitBtn=this.querySelector('[name="add"]'),this.priceEl=this.querySelector("[data-sticky-atc-price]"),this.mediaEl=this.querySelector("[data-sticky-atc-media] img"),this.drawerOpen=!1,this.anchorVisible=!0,this.onVariantChange=this.handleVariantChange.bind(this),this.onDrawerOpen=this.handleDrawerOpen.bind(this),this.onDrawerClose=this.handleDrawerClose.bind(this),this.onResize=this.syncBodyOffset.bind(this),"IntersectionObserver"in window?(this.observer=new IntersectionObserver(entries=>{const entry=entries[0];this.anchorVisible=!!(entry&&entry.isIntersecting),this.updateVisibility()},{threshold:0}),this.observeAnchor()):(this.anchorVisible=!1,this.updateVisibility()),document.addEventListener("on:variant:change",this.onVariantChange),document.addEventListener("on:cart-drawer:before-open",this.onDrawerOpen),document.addEventListener("on:cart-drawer:after-close",this.onDrawerClose),window.addEventListener("resize",this.onResize)}disconnectedCallback(){this.observer&&this.observer.disconnect(),document.removeEventListener("on:variant:change",this.onVariantChange),document.removeEventListener("on:cart-drawer:before-open",this.onDrawerOpen),document.removeEventListener("on:cart-drawer:after-close",this.onDrawerClose),window.removeEventListener("resize",this.onResize),document.documentElement.style.removeProperty("--product-sticky-atc-height")}handleDrawerOpen(){this.drawerOpen=!0,this.updateVisibility()}handleDrawerClose(){this.drawerOpen=!1,this.updateVisibility()}observeAnchor(){this.observer&&this.observer.disconnect(),this.anchor=document.querySelector("[data-product-atc-anchor]"),this.observer&&this.anchor?this.observer.observe(this.anchor):this.anchor||(this.anchorVisible=!1,this.updateVisibility())}handleVariantChange(evt){this.observeAnchor();const variant=evt.detail&&evt.detail.variant;if(!variant||!this.variantInput)return;this.variantInput.value=variant.id,this.submitBtn&&(variant.available?(this.submitBtn.removeAttribute("disabled"),this.submitBtn.textContent=this.submitBtn.dataset.addToCartText||this.submitBtn.textContent):(this.submitBtn.setAttribute("disabled","disabled"),this.submitBtn.textContent=window.theme&&theme.strings&&theme.strings.noStock||this.submitBtn.textContent));const livePrice=document.querySelector(".product-info .js-product-price");this.priceEl&&livePrice&&(this.priceEl.innerHTML=livePrice.innerHTML);const featuredImage=variant.featured_image||variant.featured_media&&variant.featured_media.preview_image;this.mediaEl&&featuredImage&&featuredImage.src&&(this.mediaEl.src=featuredImage.src)}updateVisibility(){const show=!this.anchorVisible&&!this.drawerOpen;this.classList.toggle("is-visible",show),this.classList.toggle("is-drawer-open",this.drawerOpen),show?(this.removeAttribute("inert"),this.setAttribute("aria-hidden","false")):(this.setAttribute("inert",""),this.setAttribute("aria-hidden","true")),this.syncBodyOffset()}syncBodyOffset(){const height=this.classList.contains("is-visible")?this.offsetHeight:0;document.documentElement.style.setProperty("--product-sticky-atc-height",`${height}px`)}}customElements.define("product-sticky-atc",ProductStickyAtc)}(function(){const PDP_ROOTS=".cc-main-product, .cc-featured-product",TITLE="Stack Training and Swing Filming Solution",WIDGET_SELECTOR=[".bogos-bundles-widget",".bogos-fbt-upsell-container",".bogos-mix-match-widget",".bundler-target-element",'[class*="bndlr"]','[class*="bundler-widget"]','[id*="bundler-widget"]'].join(",");function hideNode(el){!el||el.closest(".bundles-bundler-hop-full-page-overlay")||(el.hidden=!0,el.style.setProperty("display","none","important"))}function hide(){document.querySelectorAll(PDP_ROOTS).forEach(root=>{root.querySelectorAll(WIDGET_SELECTOR).forEach(hideNode),root.querySelectorAll("h1, h2, h3, h4, .h2, .h3").forEach(el=>{(el.textContent||"").includes(TITLE)&&hideNode(el.closest('.shopify-block, .shopify-app-block, [class*="bogos"], [class*="bundler"], [class*="bndlr"]')||el.parentElement)})})}let scheduled=!1;function scheduleHide(){scheduled||(scheduled=!0,requestAnimationFrame(()=>{scheduled=!1,hide()}))}hide(),document.addEventListener("DOMContentLoaded",hide),!(typeof MutationObserver>"u")&&new MutationObserver(scheduleHide).observe(document.documentElement,{childList:!0,subtree:!0})})(); 2//# sourceMappingURL=/cdn/shop/t/60/assets/product-sticky-atc.js.map?v=147355696206352372511789062800
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.