1!function(){"use strict";const e={section:".js-product-recommendations",content:".js-product-recommendations-content",recommendations:"[data-product-recommendations]",recommendationsItems:".js-product-recommendations-col",recommendationsRowWrapper:".js-product-recommendations-row-wrapper",viewedContent:".js-product-recommendations-viewed-content",productCard:".js-product-card",tabsButton:".js-product-recommendations-tab-button",tabsContent:".js-product-recommendations-tab-content",buttonsWrapper:".js-product-recommendations--buttons-wrapper",existingProduct:"[data-existing-product]",sliderPagination:".js-featured-content-slider-pagination"},t={id:"id",cardsIndent:"data-cards-indent",alternateDesign:"data-alternate-design"},n={section:"section_id",limit:"limit",product:"product_id",view:"view"};var o=()=>{let o=window.themeCore.utils.Swiper,r=[];const i={featuredContentSlider:"js-featured-content-slider",tabs:"is-tabs",recommendations:"is-recommendations",recentlyViewedOnly:"is-recently-viewed-only",...window.themeCore.utils.cssClasses};async function s(t,o){if(!t)return;let r=localStorage.getItem("theme_recently_viewed");const s=!!t.querySelector(e.existingProduct);if(!r)return s||o.el.remove(),t;try{if(r=JSON.parse(r),window.location.href.includes("/products/")){const e=new URL(window.location.href).pathname,t=(e.startsWith("/")?e.substring(1):e).split("/").pop();r=r.filter(e=>e!==t)}if(!(r=r.slice(-1*+o.viewedLimit-1)).length)return s||o.el.remove(),t;const c=(await async function(t){return await Promise.allSettled(t.map(t=>(async function(t){let o=new URL(`${window.location.origin}${window.themeCore.objects.routes.root_url}/products/${t}`);return o.searchParams.set(n.view,"card"),await fetch(o.toString()).then(e=>e.text()).then(t=>{const n=document.createElement("div");return n.innerHTML=t,n.querySelector(e.productCard)}).catch(e=>{console.error(e)})})(t)))}(r)).map(e=>e.value).filter(Boolean).map(e=>(function(e,t){const n=document.createElement("div");return n.innerHTML=`\n\t\t\t<div class="product-recommendations__col swiper-slide product-recommendations__col--${t.layout}">\n\t\t\t\t${e.outerHTML}\n\t\t\t</div>\n\t\t`,n.querySelector(".product-recommendations__col")})(e,o)),a=t.querySelector(e.viewedContent);if(a){if(a.innerHTML=c.reduce((e,t)=>e+=t.outerHTML,""),s)return o.el.classList.add(i.tabs),function(t){if(!t||!t.el)return;t.el.addEventListener("click",n=>{const o=n.target.closest(e.tabsButton);if(!o)return;const r=o.dataset.index,s=[...t.el.querySelectorAll(e.tabsButton)],c=[...t.el.querySelectorAll(e.tabsContent)],a=t.el.querySelector(e.buttonsWrapper);if(!(r&&s.length&&c.length&&a))return;s.forEach(e=>e.classList.toggle(i.active,e===o)),c.forEach(e=>e.classList.toggle(i.active,e.dataset.index===r));const d=o.offsetLeft;a.scrollTo({left:d,behavior:"smooth"})})}(o),t;o.el.classList.add(i.recentlyViewedOnly);const n=[...t.querySelectorAll(e.recommendationsRowWrapper)].find(e=>1==+e.dataset.index);n&&n.classList.add(i.hidden);const r=[...o.el.querySelectorAll(e.tabsButton)].find(e=>1==+e.dataset.index);r&&r.remove();const d=[...t.querySelectorAll(e.recommendationsRowWrapper)].find(e=>2==+e.dataset.index);return d&&d.classList.add(i.active),t}}catch(e){return console.log(e),t}return t}return Object.freeze({init:async function(c){r=function(n){return[...document.querySelectorAll(e.section)].filter(e=>!n||e.closest(`#shopify-section-${n}`)).map(n=>{const o=n.getAttribute(t.id),r=window.themeCore.objects.routes.product_recommendations_url,i=n.dataset.productId,s=n.dataset.limit,c=n.dataset.productViewedLimit,a=n.dataset.layout,d=Boolean(n.closest(e.recommendations));return{el:n,id:o,requestUrl:r,product:i,limit:s,viewedLimit:c,enableRecommendations:d,layout:a}})}(c),await Promise.all(r.map(t=>(async function(t){if(!t.enableRecommendations){if(!t.viewedLimit)return Promise.resolve();let n=t.el.querySelector(e.content);return await s(n,t),Promise.resolve()}try{const o=new URL(window.location.origin+t.requestUrl);o.searchParams.set(n.section,t.id),o.searchParams.set(n.product,t.product),o.searchParams.set(n.limit,t.limit),await fetch(o.toString()).then(e=>e.text()).then(async n=>{const o=document.createElement("div");o.innerHTML=n;const r=t.el.querySelector(e.content);let c=o.querySelector(e.content);const a=[...c.querySelectorAll(e.recommendationsItems)],d=c.querySelector(e.recommendationsRowWrapper);if(t.viewedLimit)c=await s(c,t);else{const n=!!c.querySelector(e.existingProduct);if(!n)return void t.el.remove()}c&&c.innerHTML.trim().length&&(r.innerHTML=c.innerHTML),a&&a.length&&d&&d.classList.add(i.featuredContentSlider),window.themeCore.EventBus.emit("compare-products:init")}).catch(e=>{console.error(e)})}catch(e){console.error(e)}})(t))),window.themeCore.LazyLoadImages.init(),r.forEach(n=>
1{[...n.el.querySelectorAll(e.recommendationsRowWrapper)].forEach(r=>(function(n,r){let s=null;const c=()=>{const c={grabCursor:!0,slidesPerView:2,pagination:{el:e.sliderPagination,clickable:!0,bulletElement:"button"},watchSlidesProgress:!0,on:{init(){n.el.classList.remove(i.loading)}}};n.el.hasAttribute(t.cardsIndent)&&(c.spaceBetween=10),n.el.hasAttribute(t.alternateDesign)&&(c.spaceBetween=12),s=new o(r,c)},a=window.matchMedia("(min-width: 768px)");a.addEventListener("change",e=>{e.matches?s&&(s.destroy(!0,!0),s=null):s||c()}),a.matches?n.el.classList.remove(i.loading):c()})(n,r))})}})};const r=()=>{window.themeCore.ProductRecommendations=window.themeCore.ProductRecommendations||o(),window.themeCore.utils.register(window.themeCore.ProductRecommendations,"product-recommendations")};window.themeCore&&window.themeCore.loaded?r():document.addEventListener("theme:all:loaded",r,{once:!0})}();
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.