PageSourceSearch

https://vintagemenuart.com/cdn/shop/t/29/assets/product-recommendations.js?v=147998126726566349201761600916

js vintagemenuart.com collected 2026-09-24 21:06:58 UTC 2,400 bytes, 2 lines download raw bytes

1/*! Copyright (c) Safe As Milk. All rights reserved. */import PageAnimations,{Animations}from"animations";class ProductRecommendations extends HTMLElement{constructor(){super(),this.fetch_delay=0}connectedCallback(){if(this.onPageLoad=this.hasAttribute("on-page-load"),this.onPageLoad)this.#loadRecommendations();else{const handleIntersection=(entries,observer)=>{entries.forEach((entry=>{entry.isIntersecting&&(observer.unobserve(this),this.fetch_delay=Number(window.theme?.complementary_products_fetch_delay||"0"),setTimeout((()=>{this.#loadRecommendations()}),this.fetch_delay))}))};new IntersectionObserver(handleIntersection.bind(this),{rootMargin:"0px 0px 400px 0px"}).observe(this)}}#loadRecommendations(){fetch(this.dataset.url).then((response=>response.text())).then((text=>{const html=document.createElement("div");html.innerHTML=text;const recommendations=html.querySelector("product-recommendations");if(recommendations&&recommendations.innerHTML.trim().length){const existingContentCards=this.querySelectorAll(".product-card"),newContentCards=Array.from(recommendations.querySelectorAll(".product-card"));if(existingContentCards.length===0&&newContentCards.length===0?this.setAttribute("hidden",""):this.removeAttribute("hidden"),existingContentCards.length>0){const imageSkeletons=recommendations.querySelectorAll("image-skeleton"),elementToReveal=recommendations.querySelector(".js-animate-sequence");imageSkeletons.forEach((el=>el.setAttribute("loaded",""))),Animations.setRevealedState(elementToReveal)}if(newContentCards.length>0&&newContentCards.length>0&&existingContentCards.length===newContentCards.length?existingContentCards.forEach(((card,i)=>{const newLink=newContentCards[i].querySelector("[product-card-link]").getAttribute("href");card.querySelectorAll("[product-card-link]").forEach((link=>link.setAttribute("href",newLink)))})):(this.innerHTML=recommendations.innerHTML,PageAnimations.setup(this)),this.dataset.quickShopDynamicCheckout==="true"){const shopifyPaymentButtonInterval=setInterval((()=>{window.Shopify.PaymentButton&&(window.Shopify.PaymentButton.init(),clearInterval(shopifyPaymentButtonInterval))}),50)}}else this.setAttribute("hidden","")})).catch((e=>{console.error(e)}))}}customElements.define("product-recommendations",ProductRecommendations);
2//# sourceMappingURL=/cdn/shop/t/29/assets/product-recommendations.js.map?v=147998126726566349201761600916

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.