@sarawebs/sb-components
Version:
SaraWebs components for web apps and tools
3 lines (2 loc) • 738 B
JavaScript
class t{constructor(t){this.dropdownEl=t,this.toggleBtn=t.querySelector(".dropdown-toggle"),this.menu=t.querySelector(".dropdown-menu"),this.triggerType=t.dataset.trigger||"click",this._bindEvents()}_bindEvents(){"hover"===this.triggerType?(this.dropdownEl.addEventListener("mouseenter",()=>this.show()),this.dropdownEl.addEventListener("mouseleave",()=>this.hide())):(this.toggleBtn.addEventListener("click",t=>{t.preventDefault(),this.toggle()}),document.addEventListener("click",t=>{this.dropdownEl.contains(t.target)||this.hide()}))}show(){this.dropdownEl.classList.add("show")}hide(){this.dropdownEl.classList.remove("show")}toggle(){this.dropdownEl.classList.toggle("show")}}export{t as Dropdown};
//# sourceMappingURL=index.js.map