PageSourceSearch

https://thetallowedtruth.com/cdn/shop/t/75/assets/global.js?v=91104231005598264581788552028

js thetallowedtruth.com collected 2026-09-28 10:16:10 UTC 42,795 bytes, 2 lines download raw bytes

1function getFocusableElements(container){return Array.from(container.querySelectorAll("summary, a[href], button:enabled, [tabindex]:not([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe"))}document.querySelectorAll('[id^="Details-"] summary').forEach(summary=>{summary.setAttribute("role","button"),summary.setAttribute("aria-expanded",summary.parentNode.hasAttribute("open")),summary.nextElementSibling.getAttribute("id")&&summary.setAttribute("aria-controls",summary.nextElementSibling.id),summary.addEventListener("click",event=>{event.currentTarget.setAttribute("aria-expanded",!event.currentTarget.closest("details").hasAttribute("open"))}),!summary.closest("header-drawer")&&summary.parentElement.addEventListener("keyup",onKeyUpEscape)});const trapFocusHandlers={};function trapFocus(container,elementToFocus=container){var elements=getFocusableElements(container),first=elements[0],last=elements[elements.length-1];removeTrapFocus(),trapFocusHandlers.focusin=event=>{event.target!==container&&event.target!==last&&event.target!==first||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(event){event.code.toUpperCase()==="TAB"&&(event.target===last&&!event.shiftKey&&(event.preventDefault(),first.focus()),(event.target===container||event.target===first)&&event.shiftKey&&(event.preventDefault(),last.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),elementToFocus.focus(),elementToFocus.tagName==="INPUT"&&["search","text","email","url"].includes(elementToFocus.type)&&elementToFocus.value&&elementToFocus.setSelectionRange(0,elementToFocus.value.length)}try{document.querySelector(":focus-visible")}catch{focusVisiblePolyfill()}function focusVisiblePolyfill(){const navKeys=["ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","TAB","ENTER","SPACE","ESCAPE","HOME","END","PAGEUP","PAGEDOWN"];let currentFocusedElement=null,mouseClick=null;window.addEventListener("keydown",event=>{navKeys.includes(event.code.toUpperCase())&&(mouseClick=!1)}),window.addEventListener("mousedown",event=>{mouseClick=!0}),window.addEventListener("focus",()=>{currentFocusedElement&&currentFocusedElement.classList.remove("focused"),!mouseClick&&(currentFocusedElement=document.activeElement,currentFocusedElement.classList.add("focused"))},!0)}function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach(video=>{video.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),document.querySelectorAll(".js-vimeo").forEach(video=>{video.contentWindow.postMessage('{"method":"pause"}',"*")}),document.querySelectorAll("video").forEach(video=>video.pause()),document.querySelectorAll("product-model").forEach(model=>{model.modelViewerUI&&model.modelViewerUI.pause()})}function removeTrapFocus(elementToFocus=null){document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown),elementToFocus&&elementToFocus.focus()}function onKeyUpEscape(event){if(event.code.toUpperCase()!=="ESCAPE")return;const openDetailsElement=event.target.closest("details[open]");if(!openDetailsElement)return;const summaryElement=openDetailsElement.querySelector("summary");openDetailsElement.removeAttribute("open"),summaryElement.setAttribute("aria-expanded",!1),summaryElement.focus()}class QuantityInput extends HTMLElement{constructor(){super(),this.input=this.querySelector("input"),this.changeEvent=ne
1w Event("change",{bubbles:!0}),this.input.addEventListener("change",this.onInputChange.bind(this)),this.querySelectorAll("button").forEach(button=>button.addEventListener("click",this.onButtonClick.bind(this)))}quantityUpdateUnsubscriber=void 0;connectedCallback(){this.validateQtyRules(),this.quantityUpdateUnsubscriber=subscribe(PUB_SUB_EVENTS.quantityUpdate,this.validateQtyRules.bind(this))}disconnectedCallback(){this.quantityUpdateUnsubscriber&&this.quantityUpdateUnsubscriber()}onInputChange(event){this.validateQtyRules()}onButtonClick(event){event.preventDefault();const previousValue=this.input.value;event.target.name==="plus"?this.input.stepUp():this.input.stepDown(),previousValue!==this.input.value&&this.input.dispatchEvent(this.changeEvent)}validateQtyRules(){const value=parseInt(this.input.value);if(this.input.min){const min=parseInt(this.input.min);this.querySelector(".quantity__button[name='minus']").classList.toggle("disabled",value<=min)}if(this.input.max){const max=parseInt(this.input.max);this.querySelector(".quantity__button[name='plus']").classList.toggle("disabled",value>=max)}}}customElements.define("quantity-input",QuantityInput);function debounce(fn,wait){let t;return(...args)=>{clearTimeout(t),t=setTimeout(()=>fn.apply(this,args),wait)}}function fetchConfig(type="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:`application/${type}`}}}typeof window.Shopify>"u"&&(window.Shopify={}),Shopify.bind=function(fn,scope){return function(){return fn.apply(scope,arguments)}},Shopify.setSelectorByValue=function(selector,value){for(var i=0,count=selector.options.length;i<count;i++){var option=selector.options[i];if(value==option.value||value==option.innerHTML)return selector.selectedIndex=i,i}},Shopify.addListener=function(target,eventName,callback){target.addEventListener?target.addEventListener(eventName,callback,!1):target.attachEvent("on"+eventName,callback)},Shopify.postLink=function(path,options){options=options||{};var method=options.method||"post",params=options.parameters||{},form=document.createElement("form");form.setAttribute("method",method),form.setAttribute("action",path);for(var key in params){var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden"),hiddenField.setAttribute("name",key),hiddenField.setAttribute("value",params[key]),form.appendChild(hiddenField)}document.body.appendChild(form),form.submit(),document.body.removeChild(form)},Shopify.CountryProvinceSelector=function(country_domid,province_domid,options){this.countryEl=document.getElementById(country_domid),this.provinceEl=document.getElementById(province_domid),this.provinceContainer=document.getElementById(options.hideElement||province_domid),Shopify.addListener(this.countryEl,"change",Shopify.bind(this.countryHandler,this)),this.initCountry(),this.initProvince()},Shopify.CountryProvinceSelector.prototype={initCountry:function(){var value=this.countryEl.getAttribute("data-default");Shopify.setSelectorByValue(this.countryEl,value),this.countryHandler()},initProvince:function(){var value=this.provinceEl.getAttribute("data-default");value&&this.provinceEl.options.length>0&&Shopify.setSelectorByValue(this.provinceEl,value)},countryHandler:function(e){var opt=this.countryEl.options[this.countryEl.selectedIndex],raw=opt.getAttribute("data-provinces"),provinces=JSON.parse(raw);if(this.clearOptions(this.provinceEl),provinces&&provinces.length==0)this.provinceContainer.style.display="none";else{for(var i=0;i<provinces.length;i++){var opt=document.createElement("option");opt.value=provinces[i][0],opt.innerHTML=provinces[i][1],this.provinceEl.appendChild(opt)}this.provinceContainer.style.display=""}},clearOptions:function(selector){for(;selector.firstChild;)selector.removeChild(selector.firstChild)},setOptions:function(selector,values){for(var i=0,count=values.length;i<values.length;i++){var opt=document.createElement("option");opt.value=values[i],opt.innerHTML=values[i],selector.appendChild(opt)}}};class MenuDrawer extends HTMLElement{constructor(){super(),this.mainDetailsToggle=this.querySelector("details"),this.addEventListener("keyup",this.onKeyUp.bind(this)),this.addEventListener("focusout",this.onFocusOut.bind(this)),this.bindEvents()}bindEvents(){this.querySelectorAll("summary").forEach(summary=>summary.addEventListener("click",this.onSummaryClick.bind(this))),this.querySelectorAll("button:not(.localization-selector)").forEach(button=>button.addEventListener("click",this.onCloseButtonClick.bind(this)))}onKeyUp(event){if(event.code.toUpperCase()!=="ESCAPE")return;const openDetailsElement=event.target.closest("details[open]");openDetailsElement&&(openDetailsElement===this.mainDetailsToggle?this.closeMenuDrawer(event,this.mainDetailsToggle.querySelector("summary")):this.closeSubmenu(openDetailsElement))}onSummaryClick(event){const summaryElement=event.currentTarget,detailsElement=summaryElement.parentNode,parentMenuElement=detailsElement.closest(".has-submenu"),isOpen=detailsElement.hasAttribute("open"),reducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)");function addTrapFocus(){trapFocus(summaryElement.nextElementSibling,detailsElement.querySelector("button")),summaryElement.nextElementSibling.removeEventListener("transitionend",addTrapFocus)}detailsElement===this.mainDetailsToggle?(isOpen&&event.preventDefault(),isOpen?this.closeMenuDrawer(event,summaryElement):this.openMenuDrawer(summaryElement),window.matchMedia("(max-width: 990px)")&&document.documentElement.style.setProperty("--viewport-height",`${window.innerHeight}px`)):setTimeout(()=>{detailsElement.classList.add("menu-opening"),summaryElement.setAttribute("aria-expanded",!0),parentMenuElement&&parentMenuElement.classList.add("submenu-open"),!reducedMotion||reducedMotion.matches?addTrapFocus():summaryElement.nextElementSibling.addEventListener("transitionend",addTrapFocus)},100)}openMenuDrawer(summaryElement){setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),summaryElement.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,summaryElement),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(event,elementToFocus=!1){event!==void 0&&(this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.querySelectorAll("details").forEach(detail
1s=>{details.removeAttribute("open"),details.classList.remove("menu-opening")}),this.mainDetailsToggle.querySelectorAll(".submenu-open").forEach(submenu=>{submenu.classList.remove("submenu-open")}),document.body.classList.remove(`overflow-hidden-${this.dataset.breakpoint}`),removeTrapFocus(elementToFocus),this.closeAnimation(this.mainDetailsToggle))}onFocusOut(){setTimeout(()=>{this.mainDetailsToggle.hasAttribute("open")&&!this.mainDetailsToggle.contains(document.activeElement)&&this.closeMenuDrawer()})}onCloseButtonClick(event){const detailsElement=event.currentTarget.closest("details");this.closeSubmenu(detailsElement)}closeSubmenu(detailsElement){const parentMenuElement=detailsElement.closest(".submenu-open");parentMenuElement&&parentMenuElement.classList.remove("submenu-open"),detailsElement.classList.remove("menu-opening"),detailsElement.querySelector("summary").setAttribute("aria-expanded",!1),removeTrapFocus(detailsElement.querySelector("summary")),this.closeAnimation(detailsElement)}closeAnimation(detailsElement){let animationStart;const handleAnimation=time=>{animationStart===void 0&&(animationStart=time),time-animationStart<400?window.requestAnimationFrame(handleAnimation):(detailsElement.removeAttribute("open"),detailsElement.closest("details[open]")&&trapFocus(detail
1sElement.closest("details[open]"),detailsElement.querySelector("summary")))};window.requestAnimationFrame(handleAnimation)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super()}openMenuDrawer(summaryElement){this.header=this.header||document.querySelector(".section-header"),this.borderOffset=this.borderOffset||this.closest(".header-wrapper").classList.contains("header-wrapper--border-bottom")?1:0,document.documentElement.style.setProperty("--header-bottom-position",`${parseInt(this.header.getBoundingClientRect().bottom-this.borderOffset)}px`),this.header.classList.add("menu-open"),setTimeout(()=>{this.mainDetailsToggle.classList.add("menu-opening")}),summaryElement.setAttribute("aria-expanded",!0),window.addEventListener("resize",this.onResize),trapFocus(this.mainDetailsToggle,summaryElement),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(event,elementToFocus){elementToFocus&&(super.closeMenuDrawer(event,elementToFocus),this.header.classList.remove("menu-open"),window.removeEventListener("resize",this.onResize))}onResize=()=>{this.header&&document.documentElement.style.setProperty("--header-bottom-position",`${parseInt(this.header.getBoundingClientRect().bottom-this.borderOffset)}px`),document.documentElement.style.setProperty("--viewport-height",`${window.innerHeight}px`)}}customElements.define("header-drawer",HeaderDrawer);class ModalDialog extends HTMLElement{constructor(){super(),this.querySelector('[id^="ModalClose-"]').addEventListener("click",this.hide.bind(this,!1)),this.addEventListener("keyup",event=>{event.code.toUpperCase()==="ESCAPE"&&this.hide()}),this.classList.contains("media-modal")?this.addEventListener("pointerup",event=>{event.pointerType==="mouse"&&!event.target.closest("deferred-media, product-model")&&this.hide()}):this.addEventListener("click",event=>{event.target===this&&this.hide()})}connectedCallback(){this.moved||(this.moved=!0,document.body.appendChild(this))}show(opener){this.openedBy=opener;const popup=this.querySelector(".template-popup");document.body.classList.add("overflow-hidden"),this.setAttribute("open",""),popup&&popup.loadContent(),trapFocus(this,this.querySelector('[role="dialog"]')),window.pauseAllMedia()}hide(){document.body.classList.remove("overflow-hidden"),document.body.dispatchEvent(new CustomEvent("modalClosed")),this.removeAttribute("open"),removeTrapFocus(this.openedBy),window.pauseAllMedia()}}customElements.define("modal-dialog",ModalDialog);class ModalOpener extends HTMLElement{constructor(){super();const button=this.querySelector("button");button&&button.addEventListener("click",()=>{const modal=document.querySelector(this.getAttribute("data-modal"));modal&&modal.show(button)})}}customElements.define("modal-opener",ModalOpener);class DeferredMedia extends HTMLElement{constructor(){super();const poster=this.querySelector('[id^="Deferred-Poster-"]');poster&&poster.addEventListener("click",this.loadContent.bind(this))}loadContent(focus=!0){if(window.pauseAllMedia(),!this.getAttribute("loaded")){const content=document.createElement("div");content.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0);const deferredElement=this.appendChild(content.querySelector("video, model-viewer, iframe"));focus&&deferredElement.focus(),deferredElement.nodeName=="VIDEO"&&deferredElement.getAttribute("autoplay")&&deferredElement.play()}}}customElements.define("deferred-media",DeferredMedia);class SliderComponent extends HTMLElement{constructor(){if(super(),this.slider=this.querySelector('[id^="Slider-"]'),this.sliderItems=this.querySelectorAll('[id^="Slide-"]'),this.enableSliderLooping=!1,this.currentPageElement=this.querySelector(".slider-counter--current"),this.pageTotalElement=this.querySelector(".slider-counter--total"),this.prevButton=this.querySelector('button[name="previous"]'),this.nextButton=this.querySelector('button[name="next"]'),!this.slider||!this.nextButton)return;this.initPages(),new ResizeObserver(entries=>this.initPages()).observe(this.slider),this.slider.addEventListener("scroll",this.update.bind(this)),this.prevButton.addEventListener("click",this.onButtonClick.bind(this)),this.nextButton.addEventListener("click",this.onButtonClick.bind(this))}initPages(){this.sliderItemsToShow=Array.from(this.sliderItems).filter(element=>element.clientWidth>0),!(this.sliderItemsToShow.length<2)&&(this.sliderItemOffset=this.sliderItemsToShow[1].offsetLeft-this.sliderItemsToShow[0].offsetLeft,this.slidesPerPage=Math.floor((this.slider.clientWidth-this.sliderItemsToShow[0].offsetLeft)/this.sliderItemOffset),this.totalPages=this.sliderItemsToShow.length-this.slidesPerPage+1,this.update())}resetPages(){this.sliderItems=this.querySelectorAll('[id^="Slide-"]'),this.initPages()}update(){if(!this.slider||!this.nextButton)return;const previousPage=this.currentPage;this.currentPage=Math.round(this.slider.scrollLeft/this.sliderItemOffset)+1,this.currentPageElement&&this.pageTotalElement&&(this.currentPageElement.textContent=this.currentPage,this.pageTotalElement.textContent=this.totalPages),this.currentPage!=previousPage&&this.dispatchEvent(new CustomEvent("slideChanged",{detail:{currentPage:this.currentPage,currentElement:this.sliderItemsToShow[this.currentPage-1]}})),!this.enableSliderLooping&&(this.isSlideVisible(this.sliderItemsToShow[0])&&this.slider.scrollLeft===0?this.prevButton.setAttribute("disabled","disabled"):this.prevButton.removeAttribute("disabled"),this.isSlideVisible(this.sliderItemsToShow[this.sliderItemsToShow.length-1])?this.nextButton.setAttribute("disabled","disabled"):this.nextButton.removeAttribute("disabled"))}isSlideVisible(element,offset=0){const lastVisibleSlide=this.slider.clientWidth+this.slider.scrollLeft-offset;return element.offsetLeft+element.clientWidth<=lastVisibleSlide&&element.offsetLeft>=this.slider.scrollLeft}onButtonClick(event){event.preventDefault();const step=event.currentTarget.dataset.step||1;this.slideScrollPosition=event.currentTarget.name==="next"?this.slider.scrollLeft+step*this.sliderItemOffset:this.slider.scrollLeft-step*this.sliderItemOffset,this.slider.scrollTo({left:this.slideScrollPosition})}}customElements.define("slider-component",SliderComponent);class SlideshowComponent extends SliderComponent{constructor(){super(),this.sliderControlWrapper=this.querySelector(".slider-buttons"),this.enableSliderLooping=!0,this.sliderControlWrapper&&(this.sliderFirstItemNode=this.slider.querySelector(".slideshow__slide"),this.sliderItemsToShow.length>0&&(this.currentPage=1),this.sliderControlLinksArray=Array.from(this.sliderControlWrapper.querySelectorAll(".slider-counter__link")),this.sliderControlLinksArray.forEach(link=>link.addEventListener("click",this.linkToSlide.bind(this))),this.slider.addEventListener("scroll",this.setSlideVisibility.bind(this)),this.setSlideVisibility(),this.slider.getAttribute("data-autoplay")==="true"&&this.setAutoPlay())}setAutoPlay(){this.sliderAutoplayButton=this.querySelector(".slideshow__autoplay"),this.autoplaySpeed=this.slider.dataset.speed*1e3,this.sliderAutoplayButton.addEventListener("click",this.autoPlayToggle.bind(this)),this.addEventListener("mouseover",this.focusInHandling.bind(this)),this.addEventListener("mouseleave",this.focusOutHandling.bind(this)),this.addEventListener("focusin",this.focusInHandling.bind(this)),this.addEventListener("focusout",this.focusOutHandling.bind(this)),this.play(),this.autoplayButtonIsSetToPlay=!0}onButtonClick(event){super.onButtonClick(event);const isFirstSlide=this.currentPage===1,isLastSlide=this.currentPage===this.sliderItemsToShow.length;!isFirstSlide&&!isLastSlide||(isFirstSlide&&event.currentTarget.name==="previous"?this.slideScrollPosition=this.slider.scrollLeft+this.sliderFirstItemNode.clientWidth*this.sliderItemsToShow.length:isLastSlide&&event.currentTarget.name==="next"&&(this.slideScrollPosition=0),this.slider.scrollTo({left:this.slideScrollPosition}))}
1update(){super.update(),this.sliderControlButtons=this.querySelectorAll(".slider-counter__link"),this.prevButton.removeAttribute("disabled"),this.sliderControlButtons.length&&(this.sliderControlButtons.forEach(link=>{link.classList.remove("slider-counter__link--active"),link.removeAttribute("aria-current")}),this.sliderControlButtons[this.currentPage-1].classList.add("slider-counter__link--active"),this.sliderControlButtons[this.currentPage-1].setAttribute("aria-current",!0))}autoPlayToggle(){this.togglePlayButtonState(this.autoplayButtonIsSetToPlay),this.autoplayButtonIsSetToPlay?this.pause():this.play(),this.autoplayButtonIsSetToPlay=!this.autoplayButtonIsSetToPlay}focusOutHandling(event){const focusedOnAutoplayButton=event.target===this.sliderAutoplayButton||this.sliderAutoplayButton.contains(event.target);!this.autoplayButtonIsSetToPlay||focusedOnAutoplayButton||this.play()}focusInHandling(event){(event.target===this.sliderAutoplayButton||this.sliderAutoplayButton.contains(event.target))&&this.autoplayButtonIsSetToPlay?this.play():this.autoplayButtonIsSetToPlay&&this.pause()}play(){this.slider.setAttribute("aria-live","off"),clearInterval(this.autoplay),this.autoplay=setInterval(this.autoRotateSlides.bind(this),this.autoplaySpeed)}pause(){this.slider.setAttribute("aria-live","polite"),clearInterval(this.autoplay)}togglePlayButtonState(pauseAutoplay){pauseAutoplay?(this.sliderAutoplayButton.classList.add("slideshow__autoplay--paused"),this.sliderAutoplayButton.setAttribute("aria-label",window.accessibilityStrings.playSlideshow)):(this.sliderAutoplayButton.classList.remove("slideshow__autoplay--paused"),this.sliderAutoplayButton.setAttribute("aria-label",window.accessibilityStrings.pauseSlideshow))}autoRotateSlides(){const slideScrollPosition=this.currentPage===this.sliderItems.length?0:this.slider.scrollLeft+this.slider.querySelector(".slideshow__slide").clientWidth;this.slider.scrollTo({left:slideScrollPosition})}setSlideVisibility(){this.sliderItemsToShow.forEach((item,index)=>{const linkElements=item.querySelectorAll("a");index===this.currentPage-1?(linkElements.length&&linkElements.forEach(button=>{button.removeAttribute("tabindex")}),item.setAttribute("aria-hidden","false"),item.removeAttribute("tabindex")):(linkElements.length&&linkElements.forEach(button=>{button.setAttribute("tabindex","-1")}),item.setAttribute("aria-hidden","true"),item.setAttribute("tabindex","-1"))})}linkToSlide(event){event.preventDefault();const slideScrollPosition=this.slider.scrollLeft+this.sliderFirstItemNode.clientWidth*(this.sliderControlLinksArray.indexOf(event.currentTarget)+1-this.currentPage);this.slider.scrollTo({left:slideScrollPosition})}}customElements.define("slideshow-component",SlideshowComponent);class VariantSelects extends HTMLElement{constructor(){super(),this.addEventListener("change",this.onVariantChange)}onVariantChange(){this.updateOptions(),this.updateMasterId(),this.toggleAddButton(!0,"",!1),this.updatePickupAvailability(),this.removeErrorMessage(),this.updateVariantStatuses(),this.currentVariant?(this.updateMedia(),this.updateURL(),this.updateVariantInput(),this.renderProductInfo(),this.updateShareUrl()):(this.toggleAddButton(!0,"",!0),this.setUnavailable())}updateOptions(){this.options=Array.from(this.querySelectorAll("select"),select=>select.value)}updateMasterId(){this.currentVariant=this.getVariantData().find(variant=>!variant.options.map((option,index)=>this.options[index]===option).includes(!1))}updateMedia(){if(!this.currentVariant||!this.currentVariant.featured_media)return;document.querySelectorAll(`[id^="MediaGallery-${this.dataset.section}"]`).forEach(mediaGallery=>mediaGallery.setActiveMedia(`${this.dataset.section}-${this.currentVariant.featured_media.id}`,!0));const modalContent=document.querySelector(`#ProductModal-${this.dataset.section} .product-media-modal__content`);if(!modalContent)return;const newMediaModal=modalContent.querySelector(`[data-media-id="${this.currentVariant.featured_media.id}"]`);modalContent.prepend(newMediaModal)}updateURL(){!this.currentVariant||this.dataset.updateUrl==="false"||window.history.replaceState({},"",`${this.dataset.url}?variant=${this.currentVariant.id}`)}updateShareUrl(){const shareButton=document.getElementById(`Share-${this.dataset.section}`);!shareButton||!shareButton.updateUrl||shareButton.updateUrl(`${window.shopUrl}${this.dataset.url}?variant=${this.currentVariant.id}`)}updateVariantInput(){document.querySelectorAll(`#product-form-${this.dataset.section}, #product-form-installment-${this.dataset.section}`).forEach(productForm=>{const input=productForm.querySelector('input[name="id"]');input.value=this.currentVariant.id,input.dispatchEvent(new Event("change",{bubbles:!0}))})}updateVariantStatuses(){const selectedOptionOneVariants=this.variantData.filter(variant=>this.querySelector(":checked").value===variant.option1),inputWrappers=[...this.querySelectorAll(".product-form__input")];
1inputWrappers.forEach((option,index)=>{if(index===0)return;const optionInputs=[...option.querySelectorAll('input[type="radio"], option')],previousOptionSelected=inputWrappers[index-1].querySelector(":checked").value,availableOptionInputsValue=selectedOptionOneVariants.filter(variant=>variant.available&&variant[`option${index}`]===previousOptionSelected).map(variantOption=>variantOption[`option${index+1}`]);this.setInputAvailability(optionInputs,availableOptionInputsValue)})}setInputAvailability(listOfOptions,listOfAvailableOptions){listOfOptions.forEach(input=>{listOfAvailableOptions.includes(input.getAttribute("value"))?input.innerText=input.getAttribute("value"):input.innerText=window.variantStrings.unavailable_with_option.replace("[value]",input.getAttribute("value"))})}updatePickupAvailability(){const pickUpAvailability=document.querySelector("pickup-availability");pickUpAvailability&&(this.currentVariant&&this.currentVariant.available?pickUpAvailability.fetchAvailability(this.currentVariant.id):(pickUpAvailability.removeAttribute("available"),pickUpAvailability.innerHTML=""))}removeErrorMessage(){const section=this.closest("section");if(!section)return;const productForm=section.querySelector("product-form");productForm&&productForm.handleErrorMessage()}renderProductInfo(){const requestedVariantId=this.currentVariant.id,sectionId=this.dataset.originalSection?this.dataset.originalSection:this.dataset.section;fetch(`${this.dataset.url}?variant=${requestedVariantId}&section_id=${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`).then(response=>response.text()).then(responseText=>{if(this.currentVariant.id!==requestedVariantId)return;const html=new DOMParser().parseFromString(responseText,"text/html"),destination=document.getElementById(`price-${this.dataset.section}`),source=html.getElementById(`price-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),skuSource=html.getElementById(`Sku-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),skuDestination=document.getElementById(`Sku-${this.dataset.section}`),inventorySource=html.getElementById(`Inventory-${this.dataset.originalSection?this.dataset.originalSection:this.dataset.section}`),inventoryDestination=document.getElementById(`Inventory-${this.dataset.section}`);source&&destination&&(destination.innerHTML=source.innerHTML),inventorySource&&inventoryDestination&&(inventoryDestination.innerHTML=inventorySource.innerHTML),skuSource&&skuDestination&&(skuDestination.innerHTML=skuSource.innerHTML,skuDestination.classList.toggle("visibility-hidden",skuSource.classList.contains("visibility-hidden")));const price=document.getElementById(`price-${this.dataset.section}`);price&&price.classList.remove("visibility-hidden"),inventoryDestination&&inventoryDestination.classList.toggle("visibility-hidden",inventorySource.innerText==="");const addButtonUpdated=html.getElementById(`ProductSubmitButton-${sectionId}`);this.toggleAddButton(addButtonUpdated?addButtonUpdated.hasAttribute("disabled"):!0,window.variantStrings.soldOut),publish(PUB_SUB_EVENTS.variantChange,{data:{sectionId,html,variant:this.currentVariant}})})}toggleAddButton(disable=!0,text,modifyClass=!0){const productForm=document.getElementById(`product-form-${this.dataset.section}`);if(!productForm)return;const addButton=productForm.querySelector('[name="add"]'),addButtonText=productForm.querySelector('[name="add"] > span');addButton&&(disable?(addButton.setAttribute("disabled","disabled"),text&&(addButtonText.textContent=text)):(addButton.removeAttribute("disabled"),addButtonText.textContent=window.variantStrings.addToCart))}setUnavailable(){const button=document.getElementById(`product-form-${this.dataset.section}`),addButton=button.querySelector('[name="add"]'),addButtonText=button.querySelector('[name="add"] > span'),price=document.getElementById(`price-${this.dataset.section}`),inventory=document.getElementById(`Inventory-${this.dataset.section}`),sku=document.getElementById(`Sku-${this.dataset.section}`);addButton&&(addButtonText.textContent=window.variantStrings.unavailable,price&&price.classList.add("visibility-hidden"),inventory&&inventory.classList.add("visibility-hidden"),sku&&sku.classList.add("visibility-hidden"))}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.querySelector('[type="application/json"]').textContent),this.variantData}}customElements.define("variant-selects",VariantSelects);class VariantRadios extends VariantSelects{constructor(){super()}setInputAvailability(listOfOptions,listOfAvailableOptions){listOfOptions.forEach(input=>{listOfAvailableOptions.includes(input.getAttribute("value"))?input.classList.remove("disabled"):input.classList.add("disabled")})}updateOptions(){const fieldsets=Array.from(this.querySelectorAll("fieldset"));this.options=fieldsets.map(fieldset=>Array.from(fieldset.querySelectorAll("input")).find(radio=>radio.checked).value)}}customElements.define("variant-radios",VariantRadios);class ProductRecommendations extends HTMLElement{constructor(){super()}connectedCallback(){const handleIntersection=(entries,observer2)=>{entries[0].isIntersecting&&(observer2.unobserve(this),fetch(this.dataset.url).then(response=>response.text()).then(text=>{const html=document.createElement("div");
1html.innerHTML=text;const recommendations=html.querySelector("product-recommendations");recommendations&&recommendations.innerHTML.trim().length&&(this.innerHTML=recommendations.innerHTML),!this.querySelector("slideshow-component")&&this.classList.contains("complementary-products")&&this.remove(),html.querySelector(".grid__item")&&this.classList.add("product-recommendations--loaded")}).catch(e=>{console.error(e)}))};new IntersectionObserver(handleIntersection.bind(this),{rootMargin:"0px 0px 400px 0px"}).observe(this)}}customElements.define("product-recommendations",ProductRecommendations);function waitForReviewsAndMoveBlock(){let attempts=0;const maxAttempts=50,checkExist=setInterval(()=>{attempts++;const reviewsSection=document.getElementById("ss-reviews"),reviewsWrap=document.querySelector(".reviews-wrap");if(attempts>=maxAttempts){clearInterval(checkExist);return}if(!reviewsSection&&!reviewsWrap){clearInterval(checkExist);return}if(reviewsSection.previousElementSibling){let handleResponsiveMove2=function(){window.innerWidth<=768?parentMobile.contains(block2)||parentMobile.appendChild(block2):parentDesktop.contains(block2)||parentDesktop.insertBefore(block2,reviewsSection)};var handleResponsiveMove=handleResponsiveMove2;clearInterval(checkExist);const block2=reviewsSection.previousElementSibling,parentMobile=document.querySelector(".reviews_mobile"),parentDesktop=document.querySelector(".reviews_desktop");if(!block2||!parentMobile||!parentDesktop)return;handleResponsiveMove2();let resizeTimeout;window.addEventListener("resize",()=>{clearTimeout(resizeTimeout),resizeTimeout=setTimeout(handleResponsiveMove2,150)})}},200)}document.addEventListener("DOMContentLoaded",waitForReviewsAndMoveBlock),document.addEventListener("DOMContentLoaded",()=>{const stickyBar=document.querySelector(".sticky_bar"),targetBtn=document.querySelector(".offer-product-page .product-form__submit"),toggleStickyBtn=()=>{if(window.innerWidth<750){if(!targetBtn||!stickyBar)return;targetBtn.getBoundingClientRect().top<0?stickyBar.classList.add("active"):stickyBar.classList.remove("active")}};window.addEventListener("scroll",toggleStickyBtn),window.addEventListener("resize",toggleStickyBtn),document.querySelectorAll(".scrollToBundle").forEach(btn=>{btn.addEventListener("click",e=>{e.preventDefault();const target=document.querySelector(".custom_bundle"),header=document.querySelector(".section-header"),headerHeight=header?header.offsetHeight:0;if(target){const sectionTop=target.getBoundingClientRect().top+window.pageYOffset;window.scrollTo({top:sectionTop-headerHeight-10,behavior:"smooth"})}})}),document.querySelectorAll(".page_bundle_scroll").forEach(btn=>{btn.addEventListener("click",e=>{e.preventDefault();const target=document.querySelector(".kaching-bundles"),header=document.querySelector(".section-header"),headerHeight=header?header.offsetHeight:0;if(target){const sectionTop=target.getBoundingClientRect().top+window.pageYOffset;window.scrollTo({top:sectionTop-headerHeight-10,behavior:"smooth"})}})});const countdown=document.querySelector(".js_clock");countdown&&startCountdown({hours:1,minutes:30,seconds:0,restart:!0},countdown)});function convertToSeconds(config){return Number(config.hours)*3600+Number(config.minutes)*60+Number(config.seconds)}function startCountdown(countdownConfig,countdownEl){let countdownTime=convertToSeconds(countdownConfig),timeLeft=countdownTime;timeLeft=countdownTime;const interval=setInterval(()=>{const{hour,minute,second}=formatTime(timeLeft);if(countdownEl.querySelector(".js_hour").innerText=hour,countdownEl.querySelector(".js_min").innerText=minute,countdownEl.querySelector(".js_sec").innerText=second,timeLeft<=0){clearInterval(interval),countdownConfig.restart===!0&&startCountdown(countdownConfig,countdownEl);return}timeLeft--},1e3)}function formatTime(seconds){const hour=Math.floor(seconds/3600).toString().padStart(2,"0"),minute=Math.floor(seconds%3600/60).toString().padStart(2,"0"),second=(seconds%60).toString().padStart(2,"0");return{hour,minute,second}}function formatMoney(cents,format){typeof cents=="string"&&(cents=cents.replace(".",""));const placeholderRegex=/\{\{\s*(\w+)\s*\}\}/;function formatWithDelimiters(number,precision=2,thousands=",",decimal="."){number=(number/100).toFixed(precision);const parts=number.split("."),dollars=parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g,`$1${thousands}`),centsPart=parts[1]?decimal+parts[1]:"";return dollars+centsPart}const match=format.match(placeholderRegex);if(!match)return"";const placeholder=match[1];let value="";switch(placeholder){case"amount":value=formatWithDelimiters(cents,2);break;case"amount_no_decimals":value=formatWithDelimiters(cents,0);break;case"amount_with_comma_separator":value=formatWithDelimiters(cents,2,".",",");break;case"amount_no_decimals_with_comma_separator":value=formatWithDelimiters(cents,0,".",",");break;default:value=formatWithDelimiters(cents,2)}return format.replace(placeholderRegex,value)}function update_bundle_item_price(){if(!(!bundle_deals||!bundle_deals.dealBars))for(var i=0;i<bundle_deals.dealBars.length;i++){var deal=bundle_deals.dealBars[i],deal_bar=document.querySelector(".kaching-bundles__bar[data-deal-bar-id='"+deal.id+"']");if(deal_bar){var total_qty=0,label_el=deal_bar.querySelector(".kaching-bundles__bar-label");if(label_el){var qty_match=label_el.textContent.trim().match(/^(\d+)/);qty_match&&(total_qty=parseInt(qty_match[1],10))}if(!total_qty||total_qty<1){var raw_qty=deal.buyQuantity!=null&&deal.getQuantity!=null?deal.buyQuantity+deal.getQuantity:deal.buyQuantity!=null?deal.buyQuantity:deal.quantity;for(total_qty=raw_qty;total_qty>10;)total_qty=Math.round(total_qty/10)}if(!(!total_qty||total_qty<1)){var price_el=deal_bar.querySelector(".kaching-bundles__bar-price");if(price_el){var money_span=price_el.querySelector("span.money"),raw_price="";if(money_span?raw_price=money_span.textContent.trim():(price_el.childNodes.forEac
1h(function(node){node.nodeType===Node.TEXT_NODE&&(raw_price+=node.textContent)}),raw_price=raw_price.trim()),!!raw_price){var prefix_match=raw_price.match(/^([^\d]*)([\d.,]+)([^\d]*)$/);if(prefix_match){var prefix=prefix_match[1],num_str=prefix_match[2],suffix=prefix_match[3],lastDot=num_str.lastIndexOf("."),lastComma=num_str.lastIndexOf(","),useCommaDecimal=lastComma>lastDot,parsed_str=num_str;if(lastDot!==-1&&lastComma!==-1)useCommaDecimal?parsed_str=num_str.replace(/\./g,"").replace(",","."):parsed_str=num_str.replace(/,/g,"");else if(lastComma!==-1){var afterComma=num_str.substring(lastComma+1);afterComma.length===2?(parsed_str=num_str.replace(",","."),useCommaDecimal=!0):parsed_str=num_str.replace(/,/g,"")}var total_price=parseFloat(parsed_str);if(!(isNaN(total_price)||total_price<=0)){var per_bottle=total_price/total_qty,decimals=Math.round(per_bottle*100)%100,has_dec=decimals!==0,formatted_num;if(has_dec){var int_part=Math.floor(per_bottle),dec_part=String(Math.round(per_bottle*100)%100).padStart(2,"0"),int_str=int_part.toLocaleString("en-US").replace(/,/g,useCommaDecimal?".":",");formatted_num=useCommaDecimal?int_str+","+dec_part:int_str+"."+dec_part}else{var int_only=Math.round(per_bottle);formatted_num=int_only.toLocaleString("en-US").replace(/,/g,useCommaDecimal?".":",")}var formatted=prefix+formatted_num+suffix,is_selected=bundle_deals.selected_index===i||deal_bar.classList.contains("kaching-bundles__bar--selected");if(is_selected){var sel_unit=document.querySelector(".sel_unit_price");sel_unit&&sel_unit.textContent!==formatted&&(sel_unit.textContent=formatted,sel_unit.setAttribute("data",formatted));var page_sel_variant=document.querySelector(".page_sel_variant")||document.querySelector(".sel_variant");if(page_sel_variant){var current_text=page_sel_variant.textContent.trim(),unit_match=current_text.match(/\d+\s+(.+)/),unit_label=unit_match?unit_match[1]:"Tin",unit_singular=unit_label.replace(/s$/i,""),unit_display=total_qty===1?unit_singular:unit_singular+"s",new_text=total_qty+" "+unit_display;page_sel_variant.textContent!==new_text&&(page_sel_variant.textContent=new_text)}var buy_qty=deal.buyQuantity||deal.quantity||1,freq_text=buy_qty===1?"1 month":buy_qty===2?"3 months":"5 months",sel_freq=document.querySelector(".sel_frequency");sel_freq&&sel_freq.textContent!==freq_text&&(sel_freq.textContent=freq_text)}var subtitle_el=deal_bar.querySelector(".kaching-bundles__bar-subtitle");if(subtitle_el){var label=formatted+" Per Tin";subtitle_el.textContent!==label&&(subtitle_el.textContent=label)}}}}}}}}}let bundle_deals={};const product_info=document.querySelector("product-info");product_info&&(product_info.addEventListener("change",function(e){if(e.target.matches('.kaching-bundles__bar input[type="radio"][name^="kaching-bundles-deal-"]')){let matched_tier,selected_index=0;if(bundle_deals?.dealBars&&(matched_tier=bundle_deals?.dealBars.find((dealBar,index)=>{if(dealBar.id===e.target.value)return selected_index=index,!0})),matched_tier){const qty=matched_tier?.buyQuantity||matched_tier?.quantity;let total_qty=qty;matched_tier?.getQuantity&&(total_qty+=matched_tier.getQuantity),bundle_deals={...bundle_deals,selected_index};const select_plan=document.querySelector(".kaching-bundles__selling-plan-select");if(select_plan){const targetText=qty===1?"30 days subscription":qty===2?"90 days subscription":"150 days subscription",option=Array.from(select_plan.options).find(o=>o.textContent.trim()===targetText);option&&(select_plan.value=option.value,select_plan.dispatchEvent(new Event("change",{bubbles:!0})))}update_bundle_item_price()}}}),document.addEventListener("click",function(e){e.target.closest(".kaching-bundles__bar-wrapper")&&(clearTimeout(window._cd_bundle_price_timer),window._cd_bundle_price_timer=setTimeout(update_bundle_item_price,600))}),document.addEventListener("change",function(e){e.target.matches(".kaching-bundles__selling-plan-select")&&(clearTimeout(window._cd_bundle_price_timer),window._cd_bundle_price_timer=setTimeout(update_bundle_item_price,500))})),(function(){function syncBenefitsVisibility(){const checkbox=document.querySelector('.kaching-bundles__bar[role="checkbox"]'),benefits=document.querySelector(".subscription_benefits");if(!checkbox||!benefits)return;const isChecked=checkbox.getAttribute("aria-checked")==="true";benefits.style.display=isChecked?"":"none"}const startObserving=()=>{const checkbox=document.querySelector('.kaching-bundles__bar[role="checkbox"]');return checkbox?(syncBenefitsVisibility(),new MutationObserver(syncBenefitsVisibility).observe(checkbox,{attributes:!0,attributeFilter:["aria-checked"]}),checkbox.addEventListener("click",()=>{setTimeout(syncBenefitsVisibility,50)}),!0):!1};if(!startObserving()){const waitObserver=new MutationObserver(()=>{startObserving()&&waitObserver.disconnect()});waitObserver.observe(document.body,{childList:!0,subtree:!0})}})();const observer=new MutationObserver(()=>
1{const el=document.querySelector("kaching-bundles-block");if(el){try{const value=el.getAttribute("deal-block");bundle_deals=JSON.parse(value),bundle_deals={...bundle_deals,selected_index:0}}catch{}observer.disconnect();const subtitleObserver=new MutationObserver(()=>{document.querySelectorAll(".kaching-bundles__bar-subtitle").length>0&&(subtitleObserver.disconnect(),update_bundle_item_price())});subtitleObserver.observe(document.body,{childList:!0,subtree:!0}),setTimeout(()=>{subtitleObserver.disconnect(),update_bundle_item_price()},1500)}});observer.observe(document.body,{childList:!0,subtree:!0});const productInfo=document.querySelector("product-info");productInfo&&new MutationObserver(()=>{const benefits=document.querySelector(".subscription_benefits");if(benefits){const bar=productInfo.querySelector('.kaching-bundles__bar[role="button"]');if(!bar)return;const hasVariants=bar.querySelector(".kaching-bundles__bar-variants");benefits.classList.toggle("hidden",!hasVariants)}const frequency=document.querySelector(".sel_frequency");if(bundle_deals?.dealBars){const selected_index=bundle_deals?.selected_index??0,selected_bundle=bundle_deals.dealBars[selected_index],qty=selected_bundle?.buyQuantity||selected_bundle?.quantity;let total_qty=qty;selected_bundle?.getQuantity&&(total_qty+=selected_bundle.getQuantity);const days=qty===1?"1 month":qty===2?"3 months":"5 months",subscription_text=document.querySelector(".kaching-bundles__subscriptions__subtitle");if(subscription_text){const text=`Delivered every ${days}`;subscription_text.innerText!==text&&(subscription_text.innerText=text)}frequency&&frequency.innerText!==days&&(frequency.innerText=days);const sel_variant=document.querySelector(".sel_variant");if(sel_variant){const text=`${total_qty} ${total_qty===1?"Tin":"Tins"}`;sel_variant.innerText!==text&&(sel_variant.innerText=text)}const page_sel_variant=document.querySelector(".page_sel_variant");if(page_sel_variant){const text=`${total_qty} ${total_qty===1?"Jar":"Jars"}`;page_sel_variant.innerText!==text&&(page_sel_variant.innerText=text)}}update_bundle_item_price()}).observe(productInfo,{childList:!0,subtree:!0});
2//# sourceMappingURL=/cdn/shop/t/75/assets/global.js.map?v=91104231005598264581788552028

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.