PageSourceSearch

https://scalperscompany.com/cdn/shop/t/540/assets/rocket-size-guide.js?v=87236508196069741011790835223

js scalperscompany.com collected 2026-10-02 04:46:23 UTC 6,895 bytes, 18 lines download raw bytes

1class SizeGuideDrawer extends HTMLElement{constructor(){super(),this.addEventListener("keyup",evt=>evt.code==="Escape"&&this.close()),this.section=document.querySelector(`#${this.dataset.productInfo}`)||document.querySelector(`variant-swiper[data-product-id="${this.dataset.productId}"]`),this.querySelector('[id^="Drawer-Overlay"]').addEventListener("click",this.close.bind(this)),this.setAccessibility(),this.handleTabs(),this.querySelector(".size-guide__cta button").addEventListener("click",this.onSubmit.bind(this)),this.trackButtonSubmit()}setAccessibility(){const trigger=document.querySelector(`[data-drawer="${this.id}"]`);trigger&&(trigger.setAttribute("role","button"),trigger.setAttribute("aria-haspopup","dialog"),trigger.addEventListener("click",event=>{event.preventDefault(),this.show(trigger)}),trigger.addEventListener("keydown",event=>{event.code.toUpperCase()==="SPACE"&&(event.preventDefault(),this.show(trigger))}))}onSubmit(e){let button=e.currentTarget;button.setAttribute("disabled",!0),this.unsubscribeSubmit&&this.unsubscribeSubmit();const onDone=()=>{this.unsubscribeSubmit&&this.unsubscribeSubmit(),this.close(),button.removeAttribute("disabled")},unsubscribeUpdate=subscribe(PUB_SUB_EVENTS.cartUpdate,onDone),unsubscribeError=subscribe(PUB_SUB_EVENTS.cartError,onDone);this.unsubscribeSubmit=()=>{unsubscribeUpdate(),unsubscribeError(),this.unsubscribeSubmit=null},this.section.querySelector("product-form form").dispatchEvent(new Event("submit"))}activeOption(){let currentOptionEL=this.section.querySelector(".fieldset-size input:checked")||this.section.querySelector(".fieldset-talla input:checked");currentOptionEL||(currentOptionEL=this.section.querySelector(".fieldset-size input")||this.section.querySelector(".fieldset-talla input"));let currentOption=currentOptionEL.value;currentOption&&this.querySelector(`[data-value="${this.handle(currentOption)}"]`).dispatchEvent(new Event("click"))}handleTabs(){this.querySelectorAll(".size-guide__tab").forEach((tab,index)=>{tab.addEventListener("click",()=>{this.querySelectorAll(".size-guide__tab").forEach(el=>el.classList.remove("active")),tab.classList.add("active"),this.querySelectorAll(".size-guide__content").forEach(el=>el.classList.add("hidden")),this.querySelectorAll(".size-guide__content")[index].classList.remove("hidden")})})}handleSwiper(){this.swiperOption&&this.swiperOption.destroy(),this.swiperOption=new Swiper(this.querySelector(".swiper"),{slidesPerView:"auto",spaceBetween:8,mousewheel:!0})}show(triggeredBy){triggeredBy&&this.setActiveElement(triggeredBy),this.opening=!0,setTimeout(()=>{this.classList.add("animate","active")}),this.addEventListener("transitionend",()=>{const focusElement=this.querySelector(".drawer__inner")||this.querySelector(".drawer__close");trapFocus(this,focusElement),this.handleSwiper()},{once:!0}),document.body.classList.add("overflow-hidden"),this.querySelectorAll("[data-content-url]").forEach(e=>{let path=e.dataset.contentUrl;if(e.classList.contains("content-loaded")){this.activeOption();return}this.renderContents(path,e)})}close(){this.classList.remove("active"),removeTrapFocus(this.activeElement),document.body.classList.remove("overflow-hidden")}convertCSV(data){const lines=data.split(`
2`),headers=lines[0].split(","),items=lines.slice(1).map(line=>{const values=line.split(","),item={};return headers.forEach((header,i)=>{item[header.trim()]=values[i].trim()}),item});let obj={};return items.forEach(item=>{let key=item.TALLA;delete item.TALLA,obj[key]={...item}}),obj}handleOptionClick(e){const value=e.currentTarget.dataset.value,rows=this.querySelectorAll(".size-guide-table__row");this.querySelectorAll(".size-guide__option").forEach(el=>el.classList.remove("active")),e.currentTarget.classList.add("active"),rows.forEach(row=>{row.dataset.option===value?row.classList.remove("hidden"):row.classList.add("hidden")});let selectedOption=this.section.querySelector(`.fieldset-size input[value="${e.currentTarget.textContent.trim()}"`)||this.section.querySelector(`.fieldset-talla input[value="${e.currentTarget.textContent.trim()}"`);selectedOption&&(selectedOption.checked=!0,this.section.querySelector("product-variant-radius")&&this.section.querySelector("product-variant-radius").dispatchEvent(new Event("change")),this.section.querySelector("variant-radios-pdf")&&this.section.querySelector("variant-radios-pdf").onVariantChange())}renderContents(path,element){fetch(path).then(response=>response.text()).then(data=>{const html=document.createElement("div");let obj=this.convertCSV(data);obj&&(element.innerHTML=this.renderData(obj,element),element.classList.add("content-loaded"),this.querySelectorAll(".size-guide__option").forEach(el=>el.addEventListener("click",this.handleOptionClick.bind(this))),this.activeOption())}).catch(e=>{console.error(e)})}trackButtonSubmit(){let submitButton=this.section.querySelector('.product-form__submit[name="add"]');new MutationObserver(mutationsList=>{for(let mutation of mutationsList)if(mutation.type==="attributes"&&mutation.attributeName==="disabled"){const submitButton2=this.section.querySelector('.product-form__submit[name="add"]');this.querySelectorAll(".size-guide__cta button").forEach(sizeGuideButton=>{submitButton2.getAttribute("disabled")?sizeGuideButton.setAttribute("disabled",!0):sizeGuideButton.removeAttribute("disabled"),sizeGuideButton.innerHTML=submitButton2.innerHTML})}}).observe(submitButton,{attributes:!0})}handle(str){return str.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)+/g,"")}convertCmToInch(cm){cm=parseFloat(cm);const inch=cm/2.54;return Math.floor(inch)}renderData(obj,element){let rows=Object.keys(obj).map(key=>`${Object.entries(obj[key]).map(([k,v])=>`<div class="size-guide-table__row hidden" data-option="${this.handle(key)}"><div class="size-guide-table__col">
3                               ${k}
4               </div>
5              <div class="size-guide-table__col  center size-guide-table__col--cm">
6                              ${v}
7              </div>
8          <div class="size-guide-table__col  center size-guide-table__col--inch">
9              ${v&&v.split("-").map(cm=>this.convertCmToInch(cm)).join("-")}
10          </div>
11              </div>`).join("")}`);return`<div class="size-guide-table">
12      <div class="size-guide-table__header">
13             ${element.dataset.label.split(",").map((label,i)=>`<div class="size-guide-table__col ${i>
130?" center":""}"> ${label.trim()}
14          </div> `).join("")}
15              </div>
16              ${rows.join("")}
17      </div>`}getSectionInnerHTML(html,selector=".shopify-section"){return new DOMParser().parseFromString(html,"text/html").querySelector(selector).innerHTML}setActiveElement(element){this.activeElement=element}}customElements.define("size-guide-drawer",SizeGuideDrawer);
18//# sourceMappingURL=/cdn/shop/t/540/assets/rocket-size-guide.js.map?v=87236508196069741011790835223

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.