PageSourceSearch

https://myhappeechappee.com/cdn/shop/t/67/assets/sticky-atc.js?v=13606685820887690331768682171

js myhappeechappee.com collected 2026-10-04 18:15:00 UTC 4,965 bytes, 2 lines download raw bytes

1customElements.get("sticky-atc")||customElements.define("sticky-atc",class extends HTMLElement{constructor(){super(),this.selectors={prodTitle:".m-sticky-addtocart--title",mainImage:".m-sticky-addtocart--image",addToCart:".m-add-to-cart",buyNowBtn:".m-product-dynamic-checkout",variantIdSelect:'[name="id"]',foxkitBtn:".foxkit-button"},this.hasCustomFields=!!document.querySelector(".m-main-product--info .m-product-custom-field")}connectedCallback(){this.container=this.closest(".m-sticky-addtocart"),this.mainProductForm=document.querySelector(".m-product-form--main"),this.mainProductInfo=document.querySelector(".m-main-product--info"),this.mainAddToCart=this.mainProductForm.querySelector(".m-add-to-cart"),this.mainDynamicCheckout=this.mainProductForm.querySelector(this.selectors.buyNowBtn),this.productId=this.dataset.productId,this.selectedVariantDefault=this.dataset.disableSelectedVariantDefault==="true",this.domNodes=queryDomNodes(this.selectors,this.container),this.variantData=this.getVariantData(),!window.location.search.includes("?variant=")&&this.selectedVariantDefault&&this.variantData&&this.variantData.length>1&&this.disableSelectedVariantDefault(),this.init(),this.setStickyAddToCartHeight(),this.addEventListener("change",()=>{const selectedVariantId=this.querySelector(this.selectors.variantIdSelect).value;this.currentVariant=this.variantData.find(variant=>variant.id===Number(selectedVariantId)),this.updateButton(!0,"",!1),this.currentVariant?this.updateButton(!this.currentVariant.available,window.MinimogStrings.soldOut):this.updateButton(!0,"",!0)}),document.addEventListener("matchMobile",()=>{this.setStickyAddToCartHeight()}),document.addEventListener("unmatchMobile",()=>{this.setStickyAddToCartHeight()})}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.container.querySelector('[type="application/json"]').textContent),this.variantData}init(){if(!this.mainAddToCart){this.container.style.setProperty("--m-translate-y",0);return}const{prodTitle,mainImage,addToCart,buyNowBtn,foxkitBtn}=this.domNodes;buyNowBtn&&(this.enable_dynamic_checkout=!0);const rootMargin=`${MinimogSettings.headerHeight||66}px 0px 0px 0px`;if("IntersectionObserver"in window&&(this.observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{entry.intersectionRatio!==1?this.container.style.setProperty("--m-translate-y",0):this.container.style.setProperty("--m-translate-y","100%"),document.documentElement.classList[entry.intersectionRatio!==1?"add":"remove"]("stick-atc-show")})},{threshold:1,rootMargin})),prodTitle.addEventListener("click",()=>__scrollToTop()),mainImage.addEventListener("click",()=>__scrollToTop()),this.hasCustomFields){let hasCustomFieldRequired=!1;const customFields=document.querySelectorAll(".m-main-product--info .m-product-custom-field");customFields&&customFields.forEach(item=>{const field=item.querySelector(".form-field");field.value==""&&field.hasAttribute("required")&&(hasCustomFieldRequired=!0)}),hasCustomFieldRequired&&addToCart.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),__scrollToTop(this.mainProductForm,()=>this.mainAddToCart.click())}),buyNowBtn&&buyNowBtn.addEventListener("click",e=>{validateForm(this.mainProductInfo).length>0&&(e.preventDefault(),e.stopPropagation(),__scrollToTop(this.mainProductForm,()=>this.mainDynamicCheckout.click()))},!0),foxkitBtn&&foxkitBtn.addEventListener("click",e=>{e.preventDefault(),__scrollToTop(this.mainProductForm,()=>this.mainAddToCart.click())})}this.setObserveTarget(),this.syncWithMainProductForm()}setObserveTarget(){this.observer&&(this.observer.observe(this.mainProductForm),this.observeTarget=this.mainProductForm)}checkDevice(e){const sectionHeight=this.clientHeight+"px";document.documentElement.style.setProperty("--f-sticky-atc-bar-height",sectionHeight)}disableSelectedVariantDefault(){const pickerSelects=this.querySelector(".m-product-option--dropdown-select");pickerSelects&&(pickerSelects.value="")}updateButton(disable=!0,text,modifyClass=!0){const productForm=this.querySelector(".sticky-atc-form");if(!productForm)return;const addButton=productForm.querySelector('[name="add"]'),addButtonText=productForm.querySelector('[name="add"] > .m-add-to-cart--text');addButton&&(disable?(addButton.setAttribute("disabled","disabled"),text&&(addButtonText.textContent=text)):(addButton.removeAttribute("disabled"),addButton.classList.remove("disabled"),addButtonText.textContent=window.MinimogStrings.addToCart))}
1syncWithMainProductForm(){const variantInput=this.querySelector('[name="id"]');window.MinimogEvents.subscribe(`${this.productId}__VARIANT_CHANGE`,async variant=>{variant&&(variantInput.value=variant.id)})}setStickyAddToCartHeight(){document.documentElement.style.setProperty("--f-sticky-atc-bar-height",this.offsetHeight+"px"),window.MinimogSettings.stickyAddToCartHeight=this.offsetHeight}});
2//# sourceMappingURL=/cdn/shop/t/67/assets/sticky-atc.js.map?v=13606685820887690331768682171

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.