PageSourceSearch

https://www.shoesforcrewseurope.co.uk/cdn/shop/t/63/assets/global.…?v=104895976716852706251772089672

js shoesforcrewseurope.co.uk collected 2026-09-30 06:03:41 UTC 39,094 bytes, 1 lines download raw bytes

1const ON_CHANGE_DEBOUNCE_TIMER=300,PUB_SUB_EVENTS={cartUpdate:"cart-update",quantityUpdate:"quantity-update",optionValueSelectionChange:"option-value-selection-change",variantChange:"variant-change",cartError:"cart-error"};let subscribers={};function subscribe(s,r){return void 0===subscribers[s]&&(subscribers[s]=[]),subscribers[s]=[...subscribers[s],r],function b(){subscribers[s]=subscribers[s].filter((s=>s!==r))}}function publish(s,r){subscribers[s]&&subscribers[s].forEach((s=>{s(r)}))}function getFocusableElements(e){return Array.from(e.querySelectorAll("summary, a[href], button:enabled, [tabindex]:not([tabindex^='-']), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe"))}class SectionId{static#e=null;static parseId(e){return e.split(SectionId.#e)[0]}static parseSectionName(e){return e.split(SectionId.#e)[1]}static getIdForSection(e,t){return`${e}${SectionId.#e}${t}`}}class HTMLUpdateUtility{static viewTransition(e,t,i=[],s=[]){i?.forEach((e=>e(t)));const n=document.createElement("div");HTMLUpdateUtility.setInnerHTML(n,t.outerHTML);const o=n.firstChild,r=Date.now();e.querySelectorAll("[id], [form]").forEach((e=>{e.id&&(e.id=`${e.id}-${r}`),e.form&&e.setAttribute("form",`${e.form.getAttribute("id")}-${r}`)})),e.parentNode.insertBefore(o,e),e.style.display="none",s?.forEach((e=>e(o))),setTimeout((()=>e.remove()),500)}static setInnerHTML(e,t){e.innerHTML=t,e.querySelectorAll("script").forEach((e=>{const t=document.createElement("script");Array.from(e.attributes).forEach((e=>{t.setAttribute(e.name,e.value)})),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode.replaceChild(t,e)}))}}document.querySelectorAll('[id^="Details-"] summary').forEach((e=>{e.setAttribute("role","button"),e.setAttribute("aria-expanded",e.parentNode.hasAttribute("open")),e.nextElementSibling.getAttribute("id")&&e.setAttribute("aria-controls",e.nextElementSibling.id),e.addEventListener("click",(e=>{e.currentTarget.setAttribute("aria-expanded",!e.currentTarget.closest("details").hasAttribute("open"))})),e.closest("header-drawer, menu-drawer")||e.parentElement.addEventListener("keyup",onKeyUpEscape)}));const trapFocusHandlers={};function trapFocus(e,t=e){var i=getFocusableElements(e),s=i[0],n=i[i.length-1];removeTrapFocus(),trapFocusHandlers.focusin=t=>{t.target!==e&&t.target!==n&&t.target!==s||document.addEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.focusout=function(){document.removeEventListener("keydown",trapFocusHandlers.keydown)},trapFocusHandlers.keydown=function(t){"TAB"===t.code.toUpperCase()&&(t.target!==n||t.shiftKey||(t.preventDefault(),s.focus()),t.target!==e&&t.target!==s||!t.shiftKey||(t.preventDefault(),n.focus()))},document.addEventListener("focusout",trapFocusHandlers.focusout),document.addEventListener("focusin",trapFocusHandlers.focusin),t.focus(),"INPUT"===t.tagName&&["search","text","email","url"].includes(t.type)&&t.value&&t.setSelectionRange(0,t.value.length)}try{document.querySelector(":focus-visible")}catch(e){focusVisiblePolyfill()}function focusVisiblePolyfill(){const e=["ARROWUP","ARROWDOWN","ARROWLEFT","ARROWRIGHT","TAB","ENTER","SPACE","ESCAPE","HOME","END","PAGEUP","PAGEDOWN"];let t=null,i=null;window.addEventListener("keydown",(t=>{e.includes(t.code.toUpperCase())&&(i=!1)})),window.addEventListener("mousedown",(e=>{i=!0})),window.addEventListener("focus",(()=>{t&&t.classList.remove("focused"),i||(t=document.activeElement,t.classList.add("focused"))}),!0)}function pauseAllMedia(){document.querySelectorAll(".js-youtube").forEach((e=>{e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})),document.querySelectorAll(".js-vimeo").forEach((e=>{e.contentWindow.postMessage('{"method":"pause"}',"*")})),document.querySelectorAll("video").forEach((e=>e.pause())),document.querySelectorAll("product-model").forEach((e=>{e.modelViewerUI&&e.modelViewerUI.pause()}))}function removeTrapFocus(e=null){document.removeEventListener("focusin",trapFocusHandlers.focusin),document.removeEventListener("focusout",trapFocusHandlers.focusout),document.removeEventListener("keydown",trapFocusHandlers.keydown),e&&e.focus()}function onKeyUpEscape(e){if("ESCAPE"!==e.code.toUpperCase())return;const t=e.target.closest("details[open]");if(!t)return;const i=t.querySelector("summary");t.removeAttribute("open"),i.setAttribute("aria-expanded",!1),i.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((e=>e.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(e){this.validateQtyRules()}onButtonClick(e){e.preventDefault();const t=this.input.value;"plus"===e.target.name?parseInt(this.input.dataset.min)>parseInt(this.input.step)&&0==this.input.value?this.input.value=this.input.dataset.min:this.input.stepUp():this.input.stepDown(),t!==this.input.value&&this.input.dispatchEvent(this.changeEvent),this.input.dataset.min===t&&"minus"===e.target.name&&(this.input.value=parseInt(this.input.min))}validateQtyRules(){const e=parseInt(this.input.value);if(this.input.min){const t=undefined;this.querySelector(".quantity__button[name='minus']").classList.toggle("disabled",parseInt(e)<=parseInt(this.input.min))}if(this.input.max){const t=parseInt(this.input.max),i=undefined;this.querySelector(".quantity__button[name='plus']").classList.toggle("disabled",e>=t)}}}function debounce(e,t){let i;return(...s)=>{clearTimeout(i),i=setTimeout((()=>e.apply(this,s)),t)}}function throttle(e,t){let i=0;return function(...s){const n=(new Date).getTime();if(!(n-i<t))return i=n,e(...s)}}function fetchConfig(e="json"){return{method:"POST",headers:{"Content-Type":"application/json",Accept:`application/${e}`}}}function saveVisitedProduct(e){const t=10;let i=JSON.parse(localStorage.getItem("visitedProducts"))||[];i=i.filter((t=>t.handle!==e.handle)),i.unshift(e),i.length>t&&(i=i.slice(0,t)),localStorage.setItem("visitedProducts",JSON.stringify(i))}customElements.define("quantity-input",QuantityInput),void 0===window.Shopify&&(window.Shopify={}),Shopify.bind=function(e,t){return function(){return e.apply(t,arguments)}},Shopify.setSelectorByValue=function(e,t){for(var i=0,s=e.options.length;i<s;i++){var n=e.options[i];if(t==n.value||t==n.innerHTML)return e.selectedIndex=i,i}},Shopify.addListener=function(e,t,i){e.addEventListener?e.addEventListener(t,i,!1):e.attachEvent("on"+t,i)},Shopify.postLink=function(e,t){var i=(t=t||{}).method||"post",s=t.parameters||{},n=document.createElement("form");for(var o in n.setAttribute("method",i),n.setAttribute("action",e),s){var r=document.createElement("input");r.setAttribute("type","hidden"),r.setAttribute("name",o),r.setAttribute("value",s[o]),n.appendChild(r)}document.body.appendChild(n),n.submit(),document.body.removeChild(n)},Shopify.CountryProvinceSelector=function(e,t,i){this.countryEl=document.getElementById(e),this.provinceEl=document.getElementById(t),this.provinceContainer=document.getElementById(i.hideElement||t),Shopify.addListener(this.countryEl,"change",Shopify.bind(this.countryHandler,this)),this.initCountry(),this.initProvince()},Shopify.CountryProvinceSelector.prototype={initCountry:function(){var e=this.countryEl.getAttribute("data-default");Shopify.setSelectorByValue(this.countryEl,e),this.countryHandler()},initProvince:function(){var e=this.provinceEl.getAttribute("data-default");e&&this.provinceEl.options.length>0&&Shopify.setSelectorByValue(this.provinceEl,e)},countryHandler:function(e){var t,i=(t=this.countryEl.options[this.countryEl.selectedIndex]).getAttribute("data-provinces"),s=JSON.parse(i);if(this.clearOptions(this.provinceEl),s&&0==s.length)this.provinceContainer.style.display="none";else{for(var n=0;n<s.length;n++){var t;(t=document.createElement("option")).value=s[n][0],t.innerHTML=s[n][1],this.provinceEl.appendChild(t)}this.provinceContainer.style.display=""}},clearOptions:function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},setOptions:function(e,t){for(var i=0,s=t.length;i<t.length;i++){var n=document.createElement("option");n.value=t[i],n.innerHTML=t[i],e.appendChild(n)}}},document.addEventListener("DOMContentLoaded",(()=>{const e=document.querySelector("script[data-product-details]");if(e){const t=undefined;
1saveVisitedProduct(JSON.parse(e.textContent))}}));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((e=>e.addEventListener("click",this.onSummaryClick.bind(this)))),this.querySelectorAll("button:not(.localization-selector):not(.country-selector__close-button):not(.country-filter__reset-button)").forEach((e=>e.addEventListener("click",this.onCloseButtonClick.bind(this))))}onKeyUp(e){if("ESCAPE"!==e.code.toUpperCase())return;const t=e.target.closest("details[open]");t&&(t===this.mainDetailsToggle?this.closeMenuDrawer(e,this.mainDetailsToggle.querySelector("summary")):this.closeSubmenu(t))}onSummaryClick(e){const t=e.currentTarget,i=t.parentNode,s=i.closest(".has-submenu"),n=i.hasAttribute("open"),o=window.matchMedia("(prefers-reduced-motion: reduce)");function r(){trapFocus(t.nextElementSibling,i.querySelector("button")),t.nextElementSibling.removeEventListener("transitionend",r)}i===this.mainDetailsToggle?(n&&e.preventDefault(),n?this.closeMenuDrawer(e,t):this.openMenuDrawer(t),window.matchMedia("(max-width: 990px)")&&document.documentElement.style.setProperty("--viewport-height",`${window.innerHeight}px`)):setTimeout((()=>{i.classList.add("menu-opening"),t.setAttribute("aria-expanded",!0),s&&s.classList.add("submenu-open"),!o||o.matches?r():t.nextElementSibling.addEventListener("transitionend",r)}),100)}openMenuDrawer(e){setTimeout((()=>{this.mainDetailsToggle.classList.add("menu-opening")})),e.setAttribute("aria-expanded",!0),trapFocus(this.mainDetailsToggle,e),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(e,t=!1){void 0!==e&&(this.mainDetailsToggle.classList.remove("menu-opening"),this.mainDetailsToggle.querySelectorAll("details").forEach((e=>{e.removeAttribute("open"),e.classList.remove("menu-opening")})),this.mainDetailsToggle.querySelectorAll(".submenu-open").forEach((e=>{e.classList.remove("submenu-open")})),document.body.classList.remove(`overflow-hidden-${this.dataset.breakpoint}`),removeTrapFocus(t),this.closeAnimation(this.mainDetailsToggle),e instanceof KeyboardEvent&&t?.setAttribute("aria-expanded",!1))}onFocusOut(){setTimeout((()=>{this.mainDetailsToggle.hasAttribute("open")&&!this.mainDetailsToggle.contains(document.activeElement)&&this.closeMenuDrawer()}))}onCloseButtonClick(e){const t=e.currentTarget.closest("details");this.closeSubmenu(t)}closeSubmenu(e){const t=e.closest(".submenu-open");t&&t.classList.remove("submenu-open"),e.classList.remove("menu-opening"),e.querySelector("summary").setAttribute("aria-expanded",!1),removeTrapFocus(e.querySelector("summary")),this.closeAnimation(e)}closeAnimation(e){let t;const i=s=>{void 0===t&&(t=s);const n=undefined;s-t<400?window.requestAnimationFrame(i):(e.removeAttribute("open"),e.closest("details[open]")&&trapFocus(e.closest("details[open]"),e.querySelector("summary")))};window.requestAnimationFrame(i)}}customElements.define("menu-drawer",MenuDrawer);class HeaderDrawer extends MenuDrawer{constructor(){super()}openMenuDrawer(e){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")})),e.setAttribute("aria-expanded",!0),window.addEventListener("resize",this.onResize),trapFocus(this.mainDetailsToggle,e),document.body.classList.add(`overflow-hidden-${this.dataset.breakpoint}`)}closeMenuDrawer(e,t){t&&(super.closeMenuDrawer(e,t),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",(e=>{"ESCAPE"===e.code.toUpperCase()&&this.hide()})),this.classList.contains("media-modal")?this.addEventListener("pointerup",(e=>{"mouse"!==e.pointerType||e.target.closest("deferred-media, product-model")||this.hide()})):this.addEventListener("click",(e=>{e.target===this&&this.hide()}))}connectedCallback(){this.moved||(this.moved=!0,this.dataset.section=this.closest(".shopify-section")?.id.replace("shopify-section-","")||""),this.parentElement!==document.body&&document.body.appendChild(this)}show(e){this.openedBy=e;const t=this.querySelector(".template-popup");document.body.classList.add("overflow-hidden"),this.setAttribute("open",""),t&&t.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 BulkModal extends HTMLElement{constructor(){super()}connectedCallback(){const e=(e,t)=>
1{if(e[0].isIntersecting&&(t.unobserve(this),""===this.innerHTML.trim())){const e=this.dataset.url.split("?")[0];fetch(`${e}?section_id=bulk-quick-order-list`).then((e=>e.text())).then((e=>{const t=undefined,i=(new DOMParser).parseFromString(e,"text/html").querySelector(".quick-order-list-container").parentNode;this.innerHTML=i.innerHTML})).catch((e=>{}))}},t=document.querySelector(`#QuickBulk-${this.dataset.productId}-${this.dataset.sectionId}`);t&&new IntersectionObserver(e.bind(this)).observe(t)}}customElements.define("bulk-modal",BulkModal);class ModalOpener extends HTMLElement{constructor(){super();const e=this.querySelector("button");e&&e.addEventListener("click",(()=>{const t=document.querySelector(this.getAttribute("data-modal"));t&&t.show(e)}))}}customElements.define("modal-opener",ModalOpener);class DeferredMedia extends HTMLElement{constructor(){super();const e=this.querySelector('[id^="Deferred-Poster-"]');e&&e.addEventListener("click",this.loadContent.bind(this))}loadContent(e=!0){if(window.pauseAllMedia(),!this.getAttribute("loaded")){const t=document.createElement("div");t.appendChild(this.querySelector("template").content.firstElementChild.cloneNode(!0)),this.setAttribute("loaded",!0);const i=this.appendChild(t.querySelector("video, model-viewer, iframe"));e&&i.focus(),"VIDEO"==i.nodeName&&i.getAttribute("autoplay")&&i.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();const e=undefined;new ResizeObserver((e=>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)),this.classList.contains("thumbnail-slider")&&(this.isDragging=!1,this.startX=0,this.scrollLeft=0,this.slider.addEventListener("mousedown",this.onDragStart.bind(this)),this.slider.addEventListener("mousemove",this.onDragMove.bind(this)),this.slider.addEventListener("mouseup",this.onDragEnd.bind(this)),this.slider.addEventListener("mouseleave",this.onDragEnd.bind(this)))}initPages(){this.sliderItemsToShow=Array.from(this.sliderItems).filter((e=>e.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 e=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!=e&&this.dispatchEvent(new CustomEvent("slideChanged",{detail:{currentPage:this.currentPage,currentElement:this.sliderItemsToShow[this.currentPage-1]}})),this.enableSliderLooping||(this.isSlideVisible(this.sliderItemsToShow[0])&&0===this.slider.scrollLeft?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(e,t=0){const i=this.slider.clientWidth+this.slider.scrollLeft-t;return e.offsetLeft+e.clientWidth<=i&&e.offsetLeft>=this.slider.scrollLeft}onButtonClick(e){e.preventDefault();const t=e.currentTarget.dataset.step||1;this.slideScrollPosition="next"===e.currentTarget.name?this.slider.scrollLeft+t*this.sliderItemOffset:this.slider.scrollLeft-t*this.sliderItemOffset,this.setSlidePosition(this.slideScrollPosition)}setSlidePosition(e){this.slider.scrollTo({left:e})}onDragStart(e){this.isDragging=!0,this.slider.classList.add("is-dragging"),this.startX=e.pageX-this.slider.offsetLeft,this.scrollLeft=this.slider.scrollLeft}onDragMove(e){if(!this.isDragging)return;e.preventDefault();const t=undefined,i=2*(e.pageX-this.slider.offsetLeft-this.startX);this.slider.scrollLeft=this.scrollLeft-i}onDragEnd(){this.isDragging=!1,this.slider.classList.remove("is-dragging")}}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.announcementBarSlider=this.querySelector(".announcement-bar-slider"),this.announcerBarAnimationDelay=this.announcementBarSlider?250:0,this.sliderControlLinksArray=Array.from(this.sliderControlWrapper.querySelectorAll(".slider-counter__link")),this.sliderControlLinksArray.forEach((e=>e.addEventListener("click",this.linkToSlide.bind(this)))),this.slider.addEventListener("scroll",this.setSlideVisibility.bind(this)),this.setSlideVisibility(),this.announcementBarSlider&&(this.announcementBarArrowButtonWasClicked=!1,this.reducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)"),this.reducedMotion.addEventListener("change",(()=>{"true"===this.slider.getAttribute("data-autoplay")&&this.setAutoPlay()}
1)),[this.prevButton,this.nextButton].forEach((e=>{e.addEventListener("click",(()=>{this.announcementBarArrowButtonWasClicked=!0}),{once:!0})}))),"true"===this.slider.getAttribute("data-autoplay")&&this.setAutoPlay())}setAutoPlay(){this.autoplaySpeed=1e3*this.slider.dataset.speed,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.querySelector(".slideshow__autoplay")?(this.sliderAutoplayButton=this.querySelector(".slideshow__autoplay"),this.sliderAutoplayButton.addEventListener("click",this.autoPlayToggle.bind(this)),this.autoplayButtonIsSetToPlay=!0,this.play()):this.reducedMotion.matches||this.announcementBarArrowButtonWasClicked?this.pause():this.play()}onButtonClick(e){super.onButtonClick(e),this.wasClicked=!0;const t=1===this.currentPage,i=this.currentPage===this.sliderItemsToShow.length;t||i?(t&&"previous"===e.currentTarget.name?this.slideScrollPosition=this.slider.scrollLeft+this.sliderFirstItemNode.clientWidth*this.sliderItemsToShow.length:i&&"next"===e.currentTarget.name&&(this.slideScrollPosition=0),this.setSlidePosition(this.slideScrollPosition),this.applyAnimationToAnnouncementBar(e.currentTarget.name)):this.applyAnimationToAnnouncementBar(e.currentTarget.name)}setSlidePosition(e){this.setPositionTimeout&&clearTimeout(this.setPositionTimeout),this.setPositionTimeout=setTimeout((()=>{this.slider.scrollTo({left:e})}),this.announcerBarAnimationDelay)}update(){super.update(),this.sliderControlButtons=this.querySelectorAll(".slider-counter__link"),this.prevButton.removeAttribute("disabled"),this.sliderControlButtons.length&&(this.sliderControlButtons.forEach((e=>{e.classList.remove("slider-counter__link--active"),e.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(e){if(this.sliderAutoplayButton){const t=e.target===this.sliderAutoplayButton||this.sliderAutoplayButton.contains(e.target);if(!this.autoplayButtonIsSetToPlay||t)return;this.play()}else this.reducedMotion.matches||this.announcementBarArrowButtonWasClicked||this.play()}focusInHandling(e){if(this.sliderAutoplayButton){const t=undefined;(e.target===this.sliderAutoplayButton||this.sliderAutoplayButton.contains(e.target))&&this.autoplayButtonIsSetToPlay?this.play():this.autoplayButtonIsSetToPlay&&this.pause()}else this.announcementBarSlider.contains(e.target)&&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(e){e?(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 e=this.currentPage===this.sliderItems.length?0:this.slider.scrollLeft+this.sliderItemOffset;this.setSlidePosition(e),this.applyAnimationToAnnouncementBar()}setSlideVisibility(e){this.sliderItemsToShow.forEach(((e,t)=>{const i=e.querySelectorAll("a");t===this.currentPage-1?(i.length&&i.forEach((e=>{e.removeAttribute("tabindex")})),e.setAttribute("aria-hidden","false"),e.removeAttribute("tabindex")):(i.length&&i.forEach((e=>{e.setAttribute("tabindex","-1")})),e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex","-1"))})),this.wasClicked=!1}applyAnimationToAnnouncementBar(e="next"){if(!this.announcementBarSlider)return;const t=this.sliderItems.length,i="next"===e?1:-1,s=this.currentPage-1;let n=(s+i)%t;n=-1===n?t-1:n;const o=this.sliderItems[n],r=this.sliderItems[s],a="announcement-bar-slider--fade-in",l="announcement-bar-slider--fade-out",d=un
1defined,u=undefined,c=undefined,h="next"===e&&!(s===t-1)||"previous"===e&&0===s?"next":"previous";r.classList.add(`${l}-${h}`),o.classList.add(`${a}-${h}`),setTimeout((()=>{r.classList.remove(`${l}-${h}`),o.classList.remove(`${a}-${h}`)}),2*this.announcerBarAnimationDelay)}linkToSlide(e){e.preventDefault();const t=this.slider.scrollLeft+this.sliderFirstItemNode.clientWidth*(this.sliderControlLinksArray.indexOf(e.currentTarget)+1-this.currentPage);this.slider.scrollTo({left:t})}}customElements.define("slideshow-component",SlideshowComponent);class VariantSelects extends HTMLElement{constructor(){super(),this.onChange=this.onChange.bind(this),this.onClick=this.onClick.bind(this)}connectedCallback(){this.addEventListener("change",this.onChange),this.addEventListener("click",this.onClick),this.restoreSizeUnit(),this.syncSizeTabsUI(),this.cacheOriginalSizeLabelsOnce(),this.applySizeUnitToLabels()}disconnectedCallback(){this.removeEventListener("change",this.onChange),this.removeEventListener("click",this.onClick)}onChange(e){const t=this.getInputForEventTarget(e.target);this.updateSelectionMetadata(e),publish(PUB_SUB_EVENTS.optionValueSelectionChange,{data:{event:e,target:t,selectedOptionValues:this.selectedOptionValues}})}onClick(e){const t=e.target.closest("[data-size-unit-tab]");if(!t||!this.contains(t))return;e.preventDefault();const i=t.dataset.sizeUnitTab,s=undefined;i!==(this.dataset.sizeUnit||"eu")&&(this.dataset.sizeUnit=i,this.persistSizeUnit(),this.syncSizeTabsUI(),this.applySizeUnitToLabels())}syncSizeTabsUI(){const e=(this.dataset.sizeUnit||"eu").toLowerCase(),t=undefined;this.querySelectorAll("[data-size-unit-tab]").forEach((t=>{const i=(t.dataset.sizeUnitTab||"").toLowerCase()===e;t.classList.toggle("is-active",i),t.setAttribute("aria-selected",i?"true":"false")}))}getSizeUnit(){return(this.dataset.sizeUnit||"eu").toLowerCase()}parseDualSizeLabel(e){if(!e)return null;const t=String(e).replace(/\s+/g," ").trim(),i=t.match(/(\d+(?:\.\d+)?)\s*eu\b.*?\/\s*(\d+(?:\.\d+)?)\s*uk\b/i);return i?{eu:i[1],uk:i[2],raw:t}:null}getDisplaySizeLabel(e){const t=this.parseDualSizeLabel(e);if(!t)return e;const i=undefined;return"uk"===this.getSizeUnit()?t.uk:t.eu}cacheOriginalSizeLabelsOnce(){const e=this.querySelectorAll('[data-size-option="true"]');e.length&&e.forEach((e=>{const t=e.querySelector("select");t&&t.querySelectorAll("option").forEach((e=>{e.dataset.sizeLabelOriginal||(e.dataset.sizeLabelOriginal=e.textContent)})),e.querySelectorAll("label[for]").forEach((e=>{if(e.classList.contains("form__label"))return;if(e.dataset.sizeLabelOriginal)return;const t=Array.from(e.childNodes).find((e=>e.nodeType===Node.TEXT_NODE&&""!==e.nodeValue.trim()));e.dataset.sizeLabelOriginal=t?t.nodeValue.trim():e.textContent.trim()}))}))}applySizeUnitToLabels(){const e=this.getSizeUnit(),t=this.querySelectorAll('[data-size-option="true"]');t.length&&(t.forEach((e=>{const t=e.querySelector("select");if(t){t.querySelectorAll("option").forEach((e=>{const t=e.dataset.sizeLabelOriginal||e.textContent;if(!t)return;const i=this.getDisplaySizeLabel(t);e.textContent=i}));const e=t.selectedOptions?.[0]}e.querySelectorAll("label[for]").forEach((e=>{if(e.classList.contains("form__label"))return;const t=e.dataset.sizeLabelOriginal;if(!t)return;const i=this.getDisplaySizeLabel(t);let s=Array.from(e.childNodes).find((e=>e.nodeType===Node.TEXT_NODE&&""!==e.nodeValue.trim()));s?s.nodeValue=i+" ":(s=document.createTextNode(i+" "),e.insertBefore(s,e.firstChild))}))})),this.updateSizeSelectedValueReadout())}updateSizeSelectedValueReadout(){const e=this.getSizeUnit(),t=this.querySelector('[data-size-option="true"]');if(!t)return;const i=t.querySelector("[data-selected-value]");if(!i)return;const s=t.querySelector('input[type="radio"]:checked');if(s)return void(i.textContent=this.getDisplaySizeLabel(s.value));const n=t.querySelector("select");if(n&&n.selectedOptions?.length){const e=n.selectedOptions[0].dataset.sizeLabelOriginal||n.selectedOptions[0].textContent;i.textContent=this.getDisplaySizeLabel(e)}}updateSelectionMetadata({target:e}){const{value:t,tagName:i}=e;if("SELECT"===i&&e.selectedOptions.length){Array.from(e.options).find((e=>e.getAttribute("selected"))).removeAttribute("selected"),e.selectedOptions[0].setAttribute("selected","selected");const t=e.selectedOptions[0].dataset.optionSwatchValue,i=e.closest(".product-form__input").querySelector("[data-selected-value] > .swatch");if(!i)return;t?(i.style.setProperty("--swatch--background",t),i.classList.remove("swatch--unavailable")):(i.style.setProperty("--swatch--background","unset"),i.classList.add("swatch--unavailable")),i.style.setProperty("--swatch-focal-point",e.selectedOptions[0].dataset.optionSwatchFocalPoint||"unset")}else if("INPUT"===i&&"radio"===e.type){const i=e.closest(".product-form__input"),s=i?.querySelector("[data-selected-value]");if(!s)return;const n=undefined;if(!!i.closest('[data-size-option="true"]')){const e=this.getDisplaySizeLabel(t);s.textContent=e}else s.innerHTML=t}}getSizeUnitStorageKey(){const e=undefined;return`variantSelects:sizeUnit:${this.dataset.section}`}restoreSizeUnit(){const e=this.getSizeUnitStorageKey(),t=sessionStorage.getItem(e);"eu"!==t&&"uk"!==t?this.dataset.sizeUnit||(this.dataset.sizeUnit="eu"):this.dataset.sizeUnit=t}persistSizeUnit(){const e=this.getSizeUnitStorageKey(),t=this.getSizeUnit();sessionStorage.setItem(e,t)}getInputForEventTarget(e){return"SELECT"===e.tagName?e.selectedOptions[0]:e}get selectedOptionValues(){return Array.from(this.querySelectorAll("select option[selected], fieldset input:checked")).map((({dataset:e})=>e.optionValueId))}}customElements.define("variant-selects",VariantSelects);class AccountIcon extends HTMLElement{constructor(){super(),this.icon=this.querySelector(".icon")}connectedCallback(){document.addEventListener("storefront:signincompleted",this.handleStorefrontSignInCompleted.bind(this))}handleStorefrontSignInCompleted(e){e?.detail?.avatar&&this.icon?.replaceWith(e.detail.avatar.cloneNode())}}customElements.define("account-icon",AccountIcon);class BulkAdd extends HTMLElement{constructor(){super(),this.queue=[],this.requestStarted=!1,this.ids=[]}startQueue(e,t){this.queue.push({id:e,quantity:t});const i=setInterval((()=>{this.queue.length>0?this.requestStarted||this.sendRequest(this.queue):clearInterval(i)}),250)}sendRequest(e){this.requestStarted=!0;const t={};e.forEach((e=>{t[parseInt(e.id)]=e.quantity})),this.queue=this.queue.filter((t=>!e.includes(t)));
1const i=undefined;(this.closest("quick-order-list")||this.closest("quick-add-bulk")).updateMultipleQty(t)}resetQuantityInput(e){const t=this.querySelector(`#Quantity-${e}`);t.value=t.getAttribute("value"),this.isEnterPressed=!1}setValidity(e,t,i){e.target.setCustomValidity(i),e.target.reportValidity(),this.resetQuantityInput(t),e.target.select()}validateQuantity(e){const t=parseInt(e.target.value),i=e.target.dataset.index;t<e.target.dataset.min?this.setValidity(e,i,window.quickOrderListStrings.min_error.replace("[min]",e.target.dataset.min)):t>parseInt(e.target.max)?this.setValidity(e,i,window.quickOrderListStrings.max_error.replace("[max]",e.target.max)):t%parseInt(e.target.step)!=0?this.setValidity(e,i,window.quickOrderListStrings.step_error.replace("[step]",e.target.step)):(e.target.setCustomValidity(""),e.target.reportValidity(),this.startQueue(i,t))}getSectionsUrl(){return window.pageNumber?`${window.location.pathname}?page=${window.pageNumber}`:`${window.location.pathname}`}getSectionInnerHTML(e,t){return(new DOMParser).parseFromString(e,"text/html").querySelector(t).innerHTML}}customElements.get("bulk-add")||customElements.define("bulk-add",BulkAdd);class DetailsDisclosure extends HTMLElement{constructor(){super(),this.mainDetailsToggle=this.querySelector("details"),this.content=this.mainDetailsToggle.querySelector("summary").nextElementSibling,this.mainDetailsToggle.addEventListener("focusout",this.onFocusOut.bind(this)),this.mainDetailsToggle.addEventListener("toggle",this.onToggle.bind(this)),this.hoverTimeout=null,this.mainDetailsToggle.addEventListener("mouseenter",this.onMouseEnter.bind(this)),this.mainDetailsToggle.addEventListener("mouseleave",this.onMouseLeave.bind(this))}onFocusOut(){setTimeout((()=>{this.contains(document.activeElement)||this.close()}))}onToggle(){window.innerWidth<990||(this.animations||(this.animations=this.content.getAnimations()),this.mainDetailsToggle.hasAttribute("open")?this.animations.forEach((e=>e.play())):this.animations.forEach((e=>e.cancel())))}onMouseEnter(){window.matchMedia("(hover: hover) and (pointer: fine)").matches&&(clearTimeout(this.hoverTimeout),this.mainDetailsToggle.open=!0,this.mainDetailsToggle.querySelector("summary").setAttribute("aria-expanded",!0))}onMouseLeave(){window.matchMedia("(hover: hover) and (pointer: fine)").matches&&(this.hoverTimeout=setTimeout((()=>{this.close()}),100))}close(){this.mainDetailsToggle.removeAttribute("open"),this.mainDetailsToggle.querySelector("summary").setAttribute("aria-expanded",!1)}}customElements.define("details-disclosure",DetailsDisclosure);class HeaderMenu extends DetailsDisclosure{constructor(){super(),this.header=document.querySelector(".header-wrapper")}onToggle(){this.header&&(this.header.preventHide=this.mainDetailsToggle.open,""===document.documentElement.style.getPropertyValue("--header-bottom-position-desktop")&&document.documentElement.style.setProperty("--header-bottom-position-desktop",`${Math.floor(this.header.getBoundingClientRect().bottom)}px`))}}customElements.define("header-menu",HeaderMenu);class DetailsModal extends HTMLElement{constructor(){super(),this.detailsContainer=this.querySelector("details"),this.summaryToggle=this.querySelector("summary"),this.detailsContainer.addEventListener("keyup",(t=>"ESCAPE"===t.code.toUpperCase()&&this.close())),this.summaryToggle.addEventListener("click",this.onSummaryClick.bind(this)),this.querySelector('button[type="button"]').addEventListener("click",this.close.bind(this)),this.summaryToggle.setAttribute("role","button")}isOpen(){return this.detailsContainer.hasAttribute("open")}onSummaryClick(t){t.preventDefault(),t.target.closest("details").hasAttribute("open")?this.close():this.open(t)}onBodyClick(t){this.contains(t.target)&&!t.target.classList.contains("modal-overlay")||this.close(!1)}open(t){this.onBodyClickEvent=this.onBodyClickEvent||this.onBodyClick.bind(this),t.target.closest("details").setAttribute("open",!0),document.body.addEventListener("click",this.onBodyClickEvent),document.body.classList.add("overflow-hidden"),trapFocus(this.detailsContainer.querySelector('[tabindex="-1"]'),this.detailsContainer.querySelector('input:not([type="hidden"])'))}close(t=!0){removeTrapFocus(t?this.summaryToggle:null),this.detailsContainer.removeAttribute("open"),document.body.removeEventListener("click",this.onBodyClickEvent),document.body.classList.remove("overflow-hidden")}}customElements.define("details-modal",DetailsModal);class SearchForm extends HTMLElement{constructor(){super(),this.input=this.querySelector('input[type="search"]'),this.resetButton=this.querySelector('button[type="reset"]'),this.input&&(this.input.form.addEventListener("reset",this.onFormReset.bind(this)),this.input.addEventListener("input",debounce((t=>{this.onChange(t)}
1),300).bind(this)))}toggleResetButton(){const t=this.resetButton.classList.contains("hidden");this.input.value.length>0&&t?this.resetButton.classList.remove("hidden"):0!==this.input.value.length||t||this.resetButton.classList.add("hidden")}onChange(){this.toggleResetButton()}shouldResetForm(){return!document.querySelector('[aria-selected="true"] a')}onFormReset(t){t.preventDefault(),this.shouldResetForm()&&(this.input.value="",this.input.focus(),this.toggleResetButton())}}customElements.define("search-form",SearchForm);function importScript(t,e={}){return new Promise(((s,i)=>{if(document.querySelector(`script[src="${t}"]`))return s();const r=document.createElement("script");r.type="text/javascript",r.src=t;for(const[t,s]of Object.entries(e))if(t.startsWith("args")){const e=t.slice(4).toLowerCase();r.setAttribute(e,s)}r.onload=s,r.onerror=i,document.body.appendChild(r)}))}class SectionRenderer extends HTMLElement{constructor(){super(),this.init()}init(){this.addEventListener("click",(()=>this.handleClick(this)))}async handleClick(t){const{url:e,type:s,script:i}=t.dataset;try{const r=this.extractSectionId(e);if(document.getElementById(`shopify-section-${r}`))return i&&await importScript(i),void this.activate(t,s,r);const n=await this.fetch(e);this.render(n),this.activate(t,s,r),i&&await importScript(i)}catch(t){}}async fetch(t){const e=await fetch(t);if(!e.ok)throw new Error(`Failed to fetch content: ${e.statusText}`);return e.text()}render(t){document.body.insertAdjacentHTML("beforeend",t)}activate(t,e,s){switch(document.body.classList.add("overflow-hidden"),e){case"modal":this.activateModal(s);break;case"drawer":this.activateDrawer(s)}}activateModal(t){document.querySelector(`[data-section="${t}"]`).setAttribute("open","true")}activateDrawer(t){setTimeout((()=>document.getElementById(`shopify-section-${t}`).firstElementChild.classList.add("active")))}extractSectionId(t){const e=t.match(/[?&]section_id=([^&]+)/);return e?.[1]??null}static hide(){document.body.classList.remove("overflow-hidden"),document.querySelectorAll(".section-renderer").forEach((t=>t.classList.remove("active")))}}customElements.define("section-renderer",SectionRenderer);class LazyContentLoader extends HTMLElement{observer=void 0;constructor(){super()}connectedCallback(){"false"===this.dataset.observer||document.querySelector(`.${this.dataset.identifier}`)||this.initializeLazyLoading()}initializeLazyLoading(){this.observer&&this.observer.disconnect(),this.observer=new IntersectionObserver(((t,e)=>{t[0].isIntersecting&&(e.disconnect(),this.loadContent())}),{rootMargin:this.dataset.rootMargin||"0px 0px 400px 0px"}),this.observer.observe(this)}loadContent(){fetch(this.dataset.url).then((t=>t.text())).then((t=>{const e=undefined,s=(new DOMParser).parseFromString(t,"text/html").body.firstElementChild;this.dataset.identifier&&this.classList.add(this.dataset.identifier),this.dataset.targetSelector?document.querySelector(this.dataset.targetSelector).append(s):this.innerHTML=s.innerHTML,!this.querySelector("slideshow-component")&&this.classList.contains("complementary-products")&&this.remove()})).catch((t=>{this.dataset.errorClass&&this.classList.add(this.dataset.errorClass)}))}}customElements.define("lazy-content-loader",LazyContentLoader);

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.