"use strict";class NavTabContainer extends HTMLElement{constructor(){super(),this.buildSelectors(),this.menuHandle=this.dataset.menuHandle,this.handleTabChange=this.handleTabChange.bind(this),this.handleTabKeyboardEvent=this.handleTabKeyboardEvent.bind(this)}connectedCallback(){this.tabBtns.length>1&&(this.tabBtns.forEach(btn=>{btn.addEventListener("click",this.handleTabChange),btn.addEventListener("keyup",this.handleTabKeyboardEvent)}),this.initFeaturedSlider()),this.menuHandle==="shop-by-brand"&&(this.handleBrandTabChange=this.handleBrandTabChange.bind(this),this.initBrandTab())}disconnectedCallback(){this.tabBtns.length>1&&this.tabBtns.forEach(btn=>{btn.removeEventListener("click",this.handleTabChange),btn.removeEventListener("keyup",this.handleTabKeyboardEvent)}),this.menuHandle==="shop-by-brand"&&this.accordBtns.forEach(tab=>{tab.removeEventListener("click",this.handleBrandTabChange)})}buildSelectors(){this.tabBtns=this.querySelectorAll("[data-tab-panel-btn]"),this.tabPanels=this.querySelectorAll("[data-tab-panel-content]"),this.featuredSliderContainer=this.querySelector(".featured-brands-container")}handleTabChange(evt){const tabPanelId=evt.currentTarget.dataset.tabId;tabPanelId&&(this.tabBtns.forEach(tab=>{tab.getAttribute("data-tab-id")==tabPanelId?(tab.classList.add("active"),tab.setAttribute("aria-selected",!0),tab.removeAttribute("tabindex"),tab.focus()):(tab.classList.remove("active"),tab.setAttribute("aria-selected",!1),tab.setAttribute("tabindex",-1))}),this.tabPanels.forEach(panel=>{panel.getAttribute("data-panel-id")==tabPanelId?(panel.classList.add("active"),panel.setAttribute("tabindex",0),panel.setAttribute("aria-hidden","false")):(panel.classList.remove("active"),panel.removeAttribute("tabindex"),panel.setAttribute("aria-hidden","true"))}),this.featuredSliderContainer&&this.featuredSliderContainer.slick&&this.featuredSliderContainer.slick.refresh())}handleTabKeyboardEvent(evt){if(!["ArrowLeft","ArrowRight"].includes(evt.key))return;evt.preventDefault();const target=evt.target,prevSiblings=target.previousElementSibling,nextSiblings=target.nextElementSibling;evt.key==="ArrowLeft"&&prevSiblings&&prevSiblings.click(),evt.key==="ArrowRight"&&nextSiblings&&nextSiblings.click()}addBrandsItems(letter,accordionBody){if(!accordionBody)return;let listElem=accordionBody.querySelector("ul");listElem||(listElem=document.createElement("ul"),listElem.setAttribute("data-accordion-brands-list",""),_theme.vendors.forEach(brand=>{const first_letter=brand.substr(0,1).toLowerCase().trim();if(letter===first_letter){const listItem=document.createElement("li"),listItemLink=document.createElement("a");listItemLink.setAttribute("aria-label",brand),listItemLink.href=`/collections/${_theme.Helpers.handleize(brand)}`,listItemLink.textContent=brand,listItem.appendChild(listItemLink),listElem.appendChild(listItem)}}),listElem.childElementCount>0&&accordionBody.appendChild(listElem))}handleBrandTabChange(evt){const accordionHeader=evt.currentTarget,letter=accordionHeader.dataset.letter,accordionBody=accordionHeader.parentElement.querySelector("[data-accordion-body]");this.addBrandsItems(letter,accordionBody),accordionBody.style.maxHeight?(accordionBody.style.maxHeight=null,accordionBody.setAttribute("aria-hidden","true"),accordionHeader.classList.remove("triggered-btn"),accordionHeader.setAttribute("aria-expanded","false")):(accordionBody.setAttribute("aria-hidden","false"),accordionBody.style.maxHeight=accordionBody.scrollHeight+"px",accordionHeader.classList.add("triggered-btn"),accordionHeader.setAttribute("aria-expanded","true"))}initBrandTab(){this.accordBtns=this.querySelectorAll("[data-accordion-btn]"),this.accordBodyElems=this.querySelectorAll("[data-accordion-body]"),this.accordBtns.forEach(tab=>{tab.addEventListener("click",this.handleBrandTabChange)})}initFeaturedSlider(){!this.featuredSliderContainer||!_theme.initSlickSlider||_theme.initSlickSlider($(this.featuredSliderContainer),{infinite:!1,speed:300,slidesToShow:2.5,slidesToScroll:1,prevArrow:'',nextArrow:''})}}customElements.define("nav-tab-container",NavTabContainer); //# sourceMappingURL=/cdn/shop/t/731/assets/nav-tab-container.js.map?v=180612799467162940941747306544