1const TagalysCustomisations={};TagalysCustomisations.lastAddedProductId=null,TagalysCustomisations.productBasedWidgetInstanceCount=0,TagalysCustomisations.cartDrawerWidgetRefreshFrame=null,TagalysCustomisations.cartDrawerWidgetRefreshTimeout=null,TagalysCustomisations.cartDrawerWidgetLoadingObserver=null,TagalysCustomisations.cartDrawerWidgetLoadingTimeout=null;let defaultTagalysLocale=window.tagalysConfig.locale,defaultTagalysCurrencyCode=window.tagalysConfig.currencyCode;const defaultTagalysCurrencyLabel=window.tagalysConfig.currencyLabel;let defaultTagalysCountry=window.tagalysConfig.country;const defaultTagalysBaseCountry=window.tagalysConfig.baseCountry;let defaultTagalysLanguage=window.tagalysConfig.language;const defaultTagalysServerUrl=window.tagalysConfig.serverUrl,storefrontApiAccessToken=window.tagalysConfig.storefrontApiAccessToken,tagalysProductBasedRecommendationId=window.tagalysConfig.tagalysProductBasedRecommendationId,tagalysDefaultProductBasedProductId=window.tagalysConfig.tagalysDefaultProductBasedProductId;window?.Shopify?.currency.active&&(defaultTagalysCurrencyCode=window.Shopify.currency.active),window?.Shopify?.country&&(defaultTagalysCountry=window.Shopify.country,defaultTagalysLanguage=window.Shopify.locale,defaultTagalysLocale=`${defaultTagalysLanguage}-${defaultTagalysCountry.toUpperCase()}`),TagalysCustomisations.getVariantOptionValues=function(variant){return Array.isArray(variant?.options)&&variant.options.length>0?variant.options.filter(Boolean):[variant?.option1,variant?.option2,variant?.option3].filter(Boolean)},TagalysCustomisations.getVariantLabel=function(variant){const optionValues=TagalysCustomisations.getVariantOptionValues(variant);return optionValues.length>0?optionValues.join(" / "):variant?.title||""},TagalysCustomisations.updateProductCardPrices=function(cardElement,helpers,variants,fallbackVariant){if(!cardElement||!helpers)return;const pricesElement=cardElement.querySelector("[data-tagalys-product-prices]");if(!pricesElement)return;const selectedVariantId=cardElement.querySelector("[data-tagalys-variant-select]")?.value,variant=variants.find(entry=>String(entry.id)===String(selectedVariantId))||fallbackVariant||variants.find(entry=>entry.available!==!1)||variants[0];if(!variant||variant.price==null)return;const isOnSale=helpers.isProductOnSale(variant.compare_at_price,variant.price),regularPriceSpanClass="cart-drawer__product-card-price cart-drawer__product-card-price--regular product-price-regular";pricesElement.classList.toggle("discounted",isOnSale),pricesElement.classList.toggle("full-price",!isOnSale);let discountedEl=pricesElement.querySelector(".cart-drawer__product-card-price--discounted"),regularEl=pricesElement.querySelector(".cart-drawer__product-card-price--regular");if(isOnSale){discountedEl||(discountedEl=document.createElement("span"),discountedEl.className="cart-drawer__product-card-price cart-drawer__product-card-price--discounted product-price-discounted",pricesElement.prepend(discountedEl)),discountedEl.textContent=helpers.formatCurrency(variant.price),regularEl||(regularEl=document.createElement("span"),regularEl.className=regularPriceSpanClass,pricesElement.appendChild(regularEl)),regularEl.textContent=helpers.formatCurrency(variant.compare_at_price);return}discountedEl?.remove(),regularEl||(regularEl=document.createElement("span"),regularEl.className=regularPriceSpanClass,pricesElement.appendChild(regularEl)),regularEl.textContent=helpers.formatCurrency(variant.price)},TagalysCustomisations.hasMeaningfulVariantLabel=function(variant,{hasMultipleVariants=!1}={}){const optionValues=TagalysCustomisations.getVariantOptionValues(variant);return optionValues.length>1?!0:(optionValues.length===1||!!variant?.title)&&hasMultipleVariants},TagalysCustomisations.getProductVariants=function(product){const candidates=[];Array.isArray(product?.variants)&&candidates.push(...product.variants),product?.selected_or_first_available_variant&&candidates.push(product.selected_or_first_available_variant),product?.first_available_variant&&candidates.push(product.first_available_variant);const uniqueVariants=[],seenVariantIds=new Set;
1return candidates.forEach(variant=>{!variant?.id||seenVariantIds.has(String(variant.id))||(seenVariantIds.add(String(variant.id)),uniqueVariants.push(variant))}),uniqueVariants},TagalysCustomisations.recommendationCarouselDragState={startX:0,startY:0,isPointerDown:!1,allowClick:!0,activePointerId:null},TagalysCustomisations.resetRecommendationCarouselDragState=function({allowClick=!0}={}){TagalysCustomisations.recommendationCarouselDragState.isPointerDown=!1,TagalysCustomisations.recommendationCarouselDragState.allowClick=allowClick,TagalysCustomisations.recommendationCarouselDragState.activePointerId=null},TagalysCustomisations.getQuickAddState=function(product){const variants=TagalysCustomisations.getProductVariants(product),quickAddVariants=variants.filter(variant=>!variant?.requires_selling_plan),availableVariants=quickAddVariants.filter(variant=>variant.available!==!1),firstAvailableVariant=availableVariants[0]||null,hasMultipleVariants=variants.length>1,hasVariantSelector=quickAddVariants.length>1||quickAddVariants.length===1&&TagalysCustomisations.hasMeaningfulVariantLabel(quickAddVariants[0],{hasMultipleVariants});return{variants:quickAddVariants,availableVariants,firstAvailableVariant,hasVariantSelector}},TagalysCustomisations.stopCardInteraction=function(event){event.preventDefault(),event.stopPropagation()},TagalysCustomisations.setQuickAddError=function(cardElement,message=""){if(!cardElement)return;const errorElement=cardElement.querySelector("[data-tagalys-quick-add-error]");errorElement&&(errorElement.hidden=!message,errorElement.textContent=message)},TagalysCustomisations.setQuickAddLoading=function(buttonElement,isLoading){if(!buttonElement)return;buttonElement.classList.toggle("loading",isLoading),buttonElement.disabled=isLoading,buttonElement.setAttribute("aria-busy",isLoading?"true":"false");const labelElement=buttonElement.querySelector("[data-tagalys-add-label]");labelElement&&(labelElement.textContent=isLoading?window.tagalysConfig.adding:window.tagalysConfig.add)},TagalysCustomisations.getProductIdFromCartAddResponse=function(response){const productId=response?.items?.[0]?.product_id||response?.product_id;return productId?String(productId):null},TagalysCustomisations.setLastAddedProductId=function(productId){TagalysCustomisations.lastAddedProductId=productId?String(productId):null},TagalysCustomisations.syncCartDrawerRecommendationContext=function(cartData){if(!cartData)return;const cartProductIds=Array.isArray(cartData?.items)?cartData.items.map(item=>item?.product_id).filter(Boolean).map(String):[],responseProductId=TagalysCustomisations.getProductIdFromCartAddResponse(cartData);if(cartProductIds.length===0){responseProductId&&TagalysCustomisations.setLastAddedProductId(responseProductId);return}TagalysCustomisations.lastAddedProductId&&cartProductIds.includes(TagalysCustomisations.lastAddedProductId)||TagalysCustomisations.setLastAddedProductId(responseProductId||cartProductIds[0])},TagalysCustomisations.getCartProductIdsFromMarkup=function(){const cartItems=document.querySelectorAll("#CartDrawer [data-cart-product-id]"),seenProductIds=new Set;return Array.from(cartItems).map(item=>item.dataset.cartProductId).filter(productId=>!productId||seenProductIds.has(productId)?!1:(seenProductIds.add(productId),!0))},TagalysCustomisations.getProductBasedWidgetProductIds=function(){const cartProductIds=TagalysCustomisations.getCartProductIdsFromMarkup(),lastAddedProductId=TagalysCustomisations.lastAddedProductId,defaultProductId=tagalysDefaultProductBasedProductId?String(tagalysDefaultProductBasedProductId):null;return lastAddedProductId&&cartProductIds.includes(lastAddedProductId)?[lastAddedProductId,...cartProductIds.filter(productId=>productId!==lastAddedProductId)].slice(0,3):cartProductIds.length>0?cartProductIds.slice(0,3):defaultProductId?[defaultProductId]:[]},TagalysCustomisations.getProductBasedWidgetSelector=function(widgetElement){return TagalysCustomisations.productBasedWidgetInstanceCount+=1,widgetElement.innerHTML="",widgetElement.setAttribute("data-tagalys-widget-instance",String(TagalysCustomisations.productBasedWidgetInstanceCount)),`[data-product-based-widget][data-tagalys-widget-instance="${TagalysCustomisations.productBasedWidgetInstanceCount}"]`},TagalysCustomisations.getCartDrawerWidgetElement=function(){return document.querySelector("[data-product-based-widget]")},TagalysCustomisations.getCartDrawerWidgetHost=function(widgetElement=TagalysCustomisations.getCartDrawerWidgetElement()){return widgetElement?.closest("[data-product-based-widget-host]")||null},TagalysCustomisations.setCartDrawerWidgetLoading=function(widgetHost,isLoading){if(!widgetHost)return;widgetHost.classList.toggle("is-loading",isLoading);const activeWidgetElement=widgetHost.querySelector("[data-product-based-widget]");activeWidgetElement&&activeWidgetElement.setAttribute("aria-busy",isLoading?"true":"false")},TagalysCustomisations.extractCartDrawerWidgetContent=function(){const widgetElement=TagalysCustomisations.getCartDrawerWidgetElement();if(!widgetElement||widgetElement.childNodes.length===0)return null;const fragment=document.createDocumentFragment();for(;widgetElement.firstChild;)fragment.appendChild(widgetElement.firstChild);return fragment},TagalysCustomisations.restoreCartDrawerWidgetContent=function(fragment){const widgetElement=TagalysCustomisations.getCartDrawerWidgetElement();!widgetElement||!fragment||fragment.childNodes.length===0||widgetElement.childNodes.length>0||widgetElement.appendChild(fragment)},TagalysCustomisations.isCartDrawerWidgetReady=function(widgetElement){return widgetElement?!!(widgetElement.querySelector(".products.display-carousel")&&widgetElement.querySelector("[data-tagalys-
1product-card]")):!1},TagalysCustomisations.clearCartDrawerWidgetLoading=function(){TagalysCustomisations.cartDrawerWidgetLoadingObserver&&(TagalysCustomisations.cartDrawerWidgetLoadingObserver.disconnect(),TagalysCustomisations.cartDrawerWidgetLoadingObserver=null),TagalysCustomisations.cartDrawerWidgetLoadingTimeout!==null&&(clearTimeout(TagalysCustomisations.cartDrawerWidgetLoadingTimeout),TagalysCustomisations.cartDrawerWidgetLoadingTimeout=null),TagalysCustomisations.setCartDrawerWidgetLoading(TagalysCustomisations.getCartDrawerWidgetHost(),!1)},TagalysCustomisations.clearCartDrawerWidgetRefresh=function(){TagalysCustomisations.cartDrawerWidgetRefreshFrame!==null&&(cancelAnimationFrame(TagalysCustomisations.cartDrawerWidgetRefreshFrame),TagalysCustomisations.cartDrawerWidgetRefreshFrame=null),TagalysCustomisations.cartDrawerWidgetRefreshTimeout!==null&&(clearTimeout(TagalysCustomisations.cartDrawerWidgetRefreshTimeout),TagalysCustomisations.cartDrawerWidgetRefreshTimeout=null)},TagalysCustomisations.refreshCartDrawerWidget=function(){const widgetElement=TagalysCustomisations.getCartDrawerWidgetElement();if(!window.Tagalys||!widgetElement)return;const widgetHost=TagalysCustomisations.getCartDrawerWidgetHost(widgetElement),productIds=TagalysCustomisations.getProductBasedWidgetProductIds();if(TagalysCustomisations.clearCartDrawerWidgetLoading(),TagalysCustomisations.setCartDrawerWidgetLoading(widgetHost,!0),TagalysCustomisations.setTagalysConfiguration(),TagalysCustomisations.setPlatformConfiguration(),TagalysCustomisations.initProductBasedWidget({selector:TagalysCustomisations.getProductBasedWidgetSelector(widgetElement),productIds}),TagalysCustomisations.isCartDrawerWidgetReady(widgetElement)){TagalysCustomisations.clearCartDrawerWidgetLoading();return}TagalysCustomisations.cartDrawerWidgetLoadingObserver=new MutationObserver(()=>{TagalysCustomisations.isCartDrawerWidgetReady(widgetElement)&&TagalysCustomisations.clearCartDrawerWidgetLoading()}),TagalysCustomisations.cartDrawerWidgetLoadingObserver.observe(widgetElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","src"]}),TagalysCustomisations.cartDrawerWidgetLoadingTimeout=window.setTimeout(()=>{TagalysCustomisations.clearCartDrawerWidgetLoading()},2500)},TagalysCustomisations.scheduleCartDrawerWidgetRefresh=function({cartData}={}){TagalysCustomisations.syncCartDrawerRecommendationContext(cartData),TagalysCustomisations.clearCartDrawerWidgetRefresh(),TagalysCustomisations.cartDrawerWidgetRefreshFrame=requestAnimationFrame(()=>{TagalysCustomisations.cartDrawerWidgetRefreshFrame=null,TagalysCustomisations.cartDrawerWidgetRefreshTimeout=window.setTimeout(()=>{TagalysCustomisations.cartDrawerWidgetRefreshTimeout=null,TagalysCustomisations.refreshCartDrawerWidget()},0)})},TagalysCustomisations.clearCartDrawerEmptyState=function(cartElement){!cartElement||cartElement.tagName!=="CART-DRAWER"||(cartElement.classList.remove("is-empty"),cartElement.querySelector(".drawer__inner")?.classList.remove("is-empty"),cartElement.querySelector("cart-drawer-items")?.classList.remove("is-empty"))},TagalysCustomisations.addVariantToCart=async function({variantId,buttonElement}){const cardElement=buttonElement?.closest("[data-tagalys-product-card]"),cart=document.querySelector("cart-notification")||document.querySelector("cart-drawer");if(!variantId||!buttonElement){TagalysCustomisations.setQuickAddError(cardElement,window.tagalysConfig.cartError);return}TagalysCustomisations.setQuickAddError(cardElement),TagalysCustomisations.setQuickAddLoading(buttonElement,!0);try{const config=typeof fetchConfig=="function"?fetchConfig("javascript"):{method:"POST",headers:{}};config.headers=config.headers||{},config.headers.Accept="application/javascript",config.headers["X-Requested-With"]="XMLHttpRequest",delete config.headers["Content-Type"];const formData=new FormData;formData.append("items[0][id]",variantId),formData.append("items[0][quantity]",1),cart&&(formData.append("sections",cart.getSectionsToRender().map(section=>section.id)),formData.append("sections_url",window.location.pathname),typeof cart.setActiveElement=="function"&&cart.setActiveElement(document.activeElement)),config.body=formData;const response=await fetch(`${routes.cart_add_url}`,config).then(result=>result.json());if(response.status){TagalysCustomisations.setQuickAddError(cardElement,response.description||response.message||window.tagalysConfig.cartError);return}if(TagalysCustomisations.setLastAddedProductId(TagalysCustomisations.getProductIdFromCartAddResponse(response)),typeof publish=="function"&&typeof PUB_SUB_EVENTS<"u"&&publish(PUB_SUB_EVENTS.cartUpdate,{source:"tagalys-quick-add",productVariantId:variantId,cartData:response}),!cart){window.location=window.routes.cart_url;return}TagalysCustomisations.clearCartDrawerEmptyState(cart),cart.renderContents(response)}catch{TagalysCustomisations.setQuickAddError(cardElement,window.tagalysConfig.cartError)}finally{TagalysCustomisations.clearCartDrawerEmptyState(cart),TagalysCustomisations.setQuickAddLoading(buttonElement,!1)}},TagalysCustomisations.setTagalysConfiguration=function(){const configuration={api:{serverUrl:defaultTagalysServerUrl},locale:defaultTagalysLocale,currency:{displayFormatter:"{{currencyLabel}}{{value}}",code:defaultTagalysCurrencyCode,label:defaultTagalysCurrencyLabel,fractionalDigits:2,forceFractionalDigits:!0},analyticsStorageConsentProvided(){const privacyConsent=window.Shopify?.customerPrivacy;return!privacyConsent||typeof privacyConsent.analyticsProcessingAllowed!="function"?!1:privacyConsent.analyticsProcessingAllowed()},track:!0};Tagalys.setConfiguration(configuration)},TagalysCustomisations.setPlatformConfiguration=function(){const platformConfiguration={platform:"Shopify",countryCode:defaultTagalysCountry,baseCountryCode:defaultTagalysBaseCountry,waitForStorefrontAPI:!0,useStorefrontAPIForSecondaryMarkets:!0,storefrontAPI:{accessToken:storefrontApiAccessToken,myShopifyDomain:window.Shopify.shop},metafields:{products:[]}};Tagalys.setPlatformConfiguration(platformConfiguration)},TagalysCustomisations.initProductBasedWidget=function({selector,productIds}={}){const resolvedProductIds=Array.isArray(productIds)&&productIds.length>0?productIds:TagalysCustomisations.getProductBasedWidgetProductIds();!selector||resolvedProductIds.length===0||Tagalys.UIWidgets.Recommendations.init(selector,{recommendationId:tagalysProductBasedRecommendationId,productIds:resolvedProductIds,templates:{header:{render:(html,args)=>{const props=args.props,heading=window.cartDrawerSettings.upsellHeading||props.helpers.getAPIResponse().title;return html` 2 <div class="cart-drawer__upsells-heading-wrapper exclude-tagalys-css-reset"> 3 <h3 4 class=${"cart-drawer__upsells-heading exclude-tagalys-css exclude-tagalys-css-reset"} 5 style="color: var(--color-brand-black); margin-right: 8rem; font-size: calc(var(--font-heading-scale) * 2rem); line-height: 3.2rem; letter-spacing: calc(var(--font-heading-scale) * 2rem * -1 / 100); font-weight: var(--font-heading-weight);" 6 > 7 ${heading} 8 </h3> 9 </div> 10 `}},loader:{render(html){return html` 11 <div class="cart-drawer__upsells-loading-spinner loading__spinner"> 12 <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"> 13 <circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path" /> 14 </svg> 15 </div> 16 `}},widget:{options:{count:16,displayFormat:"carousel",carouselOptions:{perPage:2,duration:200,easing:"ease-out",startIndex:0,draggable:!0}}},carouselActions:{render:(html,args)=>{const props=args.props;return html` 17 <div 18 class="cart-drawer__upsells-carousel-actions exclude-tagalys-css exclude-tagalys-css-reset" 19 style="display: flex; gap: 0.8rem; position: absolute; top: -4.8rem; right: 0.8rem;" 20 > 21 <${args.templates.leftArrow} 22 disabled=${props.helpers.carousel.isFirstSlide()} 23 goLeft=${props.helpers.carousel.goLeft} 24 /> 25 <${args.templates.rightArrow} 26 disabled=${props.helpers.carousel.isLastSlide()} 27 goRight=${props.helpers.carousel.goRight} 28 /> 29 </div> 30 `}},leftArrow:{render(html,args){const props=args.props;return html` 31 <button 32 class=${`cart-drawer__slider-arrow splide__arrow splide__arrow--secondary cart-drawer__slider-arrows--prev exclude-tagalys-css-reset ${props.disabled?"disabled":""}`} 33 onClick=${props.disabled?void 0:props.goLeft} 34 aria-label=${window.tagalysConfig.previousSlide} 35 disabled=${props.disabled} 36 style="color: var(--color-brand-black); width: 3.2rem; height: 3.2rem;" 37 > 38 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"> 39 <path 40 fill="none" 41 stroke="currentColor" 42 stroke-linecap="round" 43 stroke-width="1.5" 44 d="M7.333 11.333 4 8m0 0 3.333-3.333M4 8h8" 45 /> 46 </svg> 47 </button> 48 `}},rightArrow:{render(html,args){const props=args.props;return html` 49 <button 50 class=${`cart-drawer__slider-arrow splide__arrow splide__arrow--secondary cart-drawer__slider-arrows--next exclude-tagalys-css-reset ${props.disabled?"disabled":""}`} 51 onClick=${props.disabled?void 0:props.goRight} 52 aria-label=${window.tagalysConfig.nextSlide} 53 disabled=${props.disabled} 54 style="color: var(--color-brand-black); width: 3.2rem; height: 3.2rem;" 55 > 56 <svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow-left" viewBox="0 0 16 16"> 57 <path 58 fill="none" 59 stroke="currentColor" 60 stroke-linecap="round" 61 stroke-width="1.5" 62 d="M8.667 4.667 12 8m0 0-3.333 3.333M12 8H4" 63 /> 64 </svg> 65 </button> 66 `}},product:{render:(html,args)=>{const props=args.props,product=props.product,helpers=props.helpers,productLink=helpers.getTemplateOptions("product").productPageUrl(product),{variants,availableVariants,firstAvailableVariant,hasVariantSelector}=TagalysCustomisations.getQuickAddState(product),productCanBeAdded=availableVariants.length>0,displayVariant=firstAvailableVariant||variants[0]||null;if(!helpers.isStorefrontAPICallPending()&&!productCanBeAdded)return null;const dragState=TagalysCustomisations.recommendationCarouselDragState,handlePointerDown=event=>{dragState.startX=event.clientX,dragState.startY=event.clientY,dragState.isPointerDown=!0,dragState.allowClick=!0,dragState.activePointerId=event.pointerId,event.currentTarget.setPointerCapture?.(event.pointerId)},handlePointerMove=event=>{if(!dragState.isPointerDown||dragState.activePointerId!==event.pointerId)return;const deltaX=Math.abs(event.clientX-dragState.startX),deltaY=Math.abs(event.clientY-dragState.startY);deltaX>12&&deltaX>deltaY&&(dragState.allowClick=!1)},handlePointerUp=event=>{dragState.activePointerId===event.pointerId&&(event.currentTarget.releasePointerCapture?.(event.pointerId),dragState.isPointerDown=!1)},handlePointerCancel=event=>{dragState.activePointerId!==null&&dragState.activePointerId!==event.pointerId||(event.currentTarget.releasePointerCapture?.(event.pointerId),TagalysCustomisations.resetRecommendationCarouselDragState())},handleProductLinkClick=event=>{const href=event.currentTarget.href;if(!dragState.allowClick){TagalysCustomisations.stopCardInteraction(event),TagalysCustomisations.resetRecommendationCarouselDragState();return}event.preventDefault(),TagalysCustomisations.resetRecommendationCarouselDragState(),window.location.assign(href)},handleAddToBag=event=>{TagalysCustomisations.stopCardInteraction(event);const selectedVariantId=event.currentTarget.closest("[data-tagalys-
66product-card]")?.querySelector("[data-tagalys-variant-select]")?.value||firstAvailableVariant?.id;TagalysCustomisations.addVariantToCart({variantId:selectedVariantId,buttonElement:event.currentTarget})},handleProductImageLoad=event=>{event.currentTarget.classList.add("is-loaded"),event.currentTarget.closest(".cart-drawer__product-card-image-container")?.classList.add("is-loaded")},handleVariantChange=event=>{const cardElement=event.currentTarget.closest("[data-tagalys-product-card]");TagalysCustomisations.updateProductCardPrices(cardElement,helpers,variants,firstAvailableVariant)},isOnSale=displayVariant?helpers.isProductOnSale(displayVariant.compare_at_price,displayVariant.price):!1,saleFormatted=displayVariant?helpers.formatCurrency(displayVariant.price):"",regularFormatted=displayVariant?isOnSale?helpers.formatCurrency(displayVariant.compare_at_price):saleFormatted:"",regularPriceSpanClass="cart-drawer__product-card-price cart-drawer__product-card-price--regular product-price-regular",salePriceSpan=isOnSale?html` 67 <span 68 class="cart-drawer__product-card-price cart-drawer__product-card-price--discounted product-price-discounted" 69 >${saleFormatted}</span 70 > 71 `:null,regularPriceSpan=isOnSale?html`<span class=${regularPriceSpanClass} 72 >${helpers.formatCurrency(displayVariant.compare_at_price)}</span 73 >`:html`<span class=${regularPriceSpanClass}>${regularFormatted}</span>`;return html` 74 <div 75 class="cart-drawer__product-card product-card exclude-tagalys-css exclude-tagalys-css-reset" 76 data-tagalys-product-card 77 > 78 <a 79 class="cart-drawer__product-card-link product-link" 80 href=${productLink} 81 draggable="false" 82 onPointerDown=${handlePointerDown} 83 onPointerMove=${handlePointerMove} 84 onPointerUp=${handlePointerUp} 85 onPointerCancel=${handlePointerCancel} 86 onClick=${handleProductLinkClick} 87 > 88 <div 89 class=${`cart-drawer__product-card-image-container product-image-container ${product.featured_image?"":"is-loaded"}`} 90 > 91 ${product.featured_image?html`<img 92 class="cart-drawer__product-card-image product-image" 93 data-src=${product.featured_image.src} 94 alt=${product.title} 95 draggable="false" 96 onLoad=${handleProductImageLoad} 97 onError=${handleProductImageLoad} 98 />`:null} 99 </div> 100 <div class="cart-drawer__product-card-details product-details"> 101 <h4 class="cart-drawer__product-card-title body-xxs-bold product-name">${product.title}</h4> 102 <p class="cart-drawer__product-card-variant body-xxs"></p> 103 ${helpers.isStorefrontAPICallPending()?html`<span class="skeleton-box cart-drawer__product-card-price-skeleton"></span>`:html`<span 104 class=${`cart-drawer__product-card-prices body-xxs-bold product-prices ${isOnSale?" discounted":" full-price"}`} 105 data-tagalys-product-prices 106 > 107 ${salePriceSpan} ${regularPriceSpan} 108 </span>`} 109 </div> 110 </a> 111 ${helpers.isStorefrontAPICallPending()?null:html` 112 <div class="cart-drawer__product-card-actions"> 113 ${hasVariantSelector?html` 114 <label class="visually-hidden" for=${`tagalys-variant-select-${product.id}`}> 115 ${`${window.tagalysConfig.selectVariantOf}${product.title}`} 116 </label> 117 <div class="cart-drawer__product-card-select"> 118 <select 119 id=${`tagalys-variant-select-${product.id}`} 120 class="cart-drawer__product-card-select-input" 121 data-tagalys-variant-select 122 aria-label=${`${window.tagalysConfig.variantOf}${product.title}`} 123 onChange=${handleVariantChange} 124 > 125 ${variants.map(variant=>{const isAvailable=variant.available!==!1;return html` 126 <option 127 value=${variant.id} 128 selected=${String(variant.id)===String(firstAvailableVariant?.id)} 129 disabled=${!isAvailable} 130 > 131 ${TagalysCustomisations.getVariantLabel(variant)} 132 </option> 133 `})} 134 </select> 135 </div> 136 `:html`<p class="cart-drawer__product-card-variant-title">${displayVariant.title}</p>`} 137 <button 138 type="button" 139 class="cart-drawer__product-card-add button button--primary" 140 aria-label=${window.tagalysConfig.addToCart} 141 onClick=${handleAddToBag} 142 disabled=${!productCanBeAdded} 143 >
144 <span data-tagalys-add-label 145 >${productCanBeAdded?window.tagalysConfig.add:window.tagalysConfig.unavailable}</span 146 > 147 </button> 148 <p class="cart-drawer__product-card-error caption" data-tagalys-quick-add-error hidden></p> 149 </div> 150 `} 151 </div> 152 `}}}})}; 153//# sourceMappingURL=/cdn/shop/t/1/assets/tagalys-scripts.js.map?v=174449896034933052031783948243
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.