class IconTooltip extends HTMLElement{constructor(){super(),this.initializeElements(),this.addEventListeners()}initializeElements(){this.tooltip=this.querySelector(".tooltip"),this.overlay=this.querySelector(".tooltip-overlay"),this.close=this.querySelector(".tooltip-close"),this.mobile=window.innerWidth<768}addEventListeners(){this.addEventListener("click",this.showModalAndOverlay.bind(this)),this.overlay.addEventListener("click",this.hideModalAndOverlay.bind(this)),this.close.addEventListener("click",this.hideModalAndOverlay.bind(this)),this.debouncedResizing=this.debounce(this.handleWindowResize.bind(this),500),window.addEventListener("resize",this.debouncedResizing)}handleWindowResize(){this.mobile=window.innerWidth<768}showModalAndOverlay(e){this.mobile&&(this.tooltip.classList.add("!visible"),this.overlay.classList.add("!visible")),e.stopPropagation()}hideModalAndOverlay(e){this.tooltip.classList.remove("!visible"),this.overlay.classList.remove("!visible"),e.stopPropagation()}debounce(callback,delay){const self=this;let timeoutId;return(...args)=>{clearTimeout(timeoutId),timeoutId=setTimeout(()=>{callback.apply(self,args)},delay)}}}customElements.define("icon-tooltip",IconTooltip);
//# sourceMappingURL=/cdn/shop/t/2918/assets/icon-tag-with-tooltip.js.map