PageSourceSearch

https://www.sixzeropickleball.com/cdn/shop/t/50/assets/currency-selector.js?v=63376591408856924451757303973

js sixzeropickleball.com collected 2026-09-25 19:24:30 UTC 4,211 bytes, 2 lines download raw bytes

1class CurrencySelector{constructor(formElement){this.form=formElement,this.toggle=this.form.querySelector("[data-disclosure-toggle]"),this.list=this.form.querySelector("[data-disclosure-list]"),this.input=this.form.querySelector("[data-disclosure-input]"),this.options=this.form.querySelectorAll("[data-disclosure-option]"),this.isOpen=!1,this.init()}init(){!this.toggle||!this.list||(this.toggle.addEventListener("click",this.handleToggle.bind(this)),this.toggle.addEventListener("keydown",this.handleToggleKeydown.bind(this)),this.options.forEach(option=>{option.addEventListener("click",this.handleOptionClick.bind(this)),option.addEventListener("keydown",this.handleOptionKeydown.bind(this))}),document.addEventListener("click",this.handleOutsideClick.bind(this)),document.addEventListener("keydown",this.handleEscape.bind(this)))}handleToggle(e){e.preventDefault(),this.isOpen?this.close():this.open()}handleToggleKeydown(e){switch(e.key){case"Enter":case" ":case"ArrowDown":e.preventDefault(),this.open(),this.focusFirstOption();break;case"ArrowUp":e.preventDefault(),this.open(),this.focusLastOption();break}}handleOptionClick(e){e.preventDefault();const option=e.currentTarget,value=option.dataset.value,redirectUrl=option.dataset.redirectUrl;if(redirectUrl){window.location.href=redirectUrl;return}this.selectOption(option,value)}handleOptionKeydown(e){switch(e.key){case"Enter":case" ":e.preventDefault(),this.handleOptionClick(e);break;case"ArrowDown":e.preventDefault(),this.focusNextOption(e.target);break;case"ArrowUp":e.preventDefault(),this.focusPreviousOption(e.target);break;case"Home":e.preventDefault(),this.focusFirstOption();break;case"End":e.preventDefault(),this.focusLastOption();break;case"Tab":this.close();break}}handleOutsideClick(e){this.isOpen&&!this.form.contains(e.target)&&this.close()}handleEscape(e){e.key==="Escape"&&this.isOpen&&(this.close(),this.toggle.focus())}open(){this.isOpen=!0,this.toggle.setAttribute("aria-expanded","true"),this.list.style.display="block",this.form.classList.add("disclosure--open")}close(){this.isOpen=!1,this.toggle.setAttribute("aria-expanded","false"),this.list.style.display="none",this.form.classList.remove("disclosure--open")}selectOption(option,value){this.input&&(this.input.value=value),this.options.forEach(opt=>{opt.removeAttribute("aria-current"),opt.closest(".disclosure-list__item").classList.remove("disclosure-list__item--current")}),option.setAttribute("aria-current","true"),option.closest(".disclosure-list__item").classList.add("disclosure-list__item--current");const flag=option.querySelector(".currency-flag").cloneNode(!0),label=option.querySelector(".currency-options__label").cloneNode(!0),toggleFlag=this.toggle.querySelector(".currency-flag"),toggleLabel=this.toggle.querySelector(".currency-options__label");toggleFlag&&toggleFlag.replaceWith(flag),toggleLabel&&toggleLabel.replaceWith(label),this.close(),this.form.submit()}focusFirstOption(){this.options.length>0&&this.options[0].focus()}focusLastOption(){this.options.length>0&&this.options[this.options.length-1].focus()}focusNextOption(currentOption){const nextIndex=(Array.from(this.options).indexOf(currentOption)+1)%this.options.length;this.options[nextIndex].focus()}focusPreviousOption(currentOption){const currentIndex=Array.from(this.options).indexOf(currentOption),prevIndex=currentIndex===0?this.options.length-1:currentIndex-1;this.options[prevIndex].focus()}}function initializeCurrencySelectors(){document.querySelectorAll("[data-disclosure-form]").forEach(form=>new CurrencySelector(form))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initializeCurrencySelectors):initializeCurrencySelectors();const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{mutation.addedNodes.forEach(node=>{node.nodeType===Node.ELEMENT_NODE&&(node.hasAttribute&&node.hasAttribute("data-disclosure-form")&&new CurrencySelector(node),(node.querySelectorAll?node.querySelectorAll("[data-disclosure-form]"):[]).forEach(form=>new CurrencySelector(form)))})})});observer.observe(document.body,{childList:!0,subtree:!0});
2//# sourceMappingURL=/cdn/shop/t/50/assets/currency-selector.js.map?v=63376591408856924451757303973

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.