1/******/ (() => { // webpackBootstrap 2/******/ "use strict"; 3var __webpack_exports__ = {}; 4 5 6class elementorHelloThemeHandler { 7 constructor() { 8 this.initSettings(); 9 this.initElements(); 10 this.bindEvents(); 11 } 12 initSettings() { 13 this.settings = { 14 selectors: { 15 menuToggle: '.site-header .site-navigation-toggle', 16 menuToggleHolder: '.site-header .site-navigation-toggle-holder', 17 dropdownMenu: '.site-header .site-navigation-dropdown' 18 } 19 }; 20 } 21 initElements() { 22 this.elements = { 23 window, 24 menuToggle: document.querySelector(this.settings.selectors.menuToggle), 25 menuToggleHolder: document.querySelector(this.settings.selectors.menuToggleHolder), 26 dropdownMenu: document.querySelector(this.settings.selectors.dropdownMenu) 27 }; 28 } 29 bindEvents() { 30 var _this$elements$menuTo; 31 if (!this.elements.menuToggleHolder || (_this$elements$menuTo = this.elements.menuToggleHolder) !== null && _this$elements$menuTo !== void 0 && _this$elements$menuTo.classList.contains('hide')) { 32 return; 33 } 34 this.elements.menuToggle.addEventListener('click', () => this.handleMenuToggle()); 35 this.elements.dropdownMenu.querySelectorAll('.menu-item-has-children > a').forEach(anchorElement => anchorElement.addEventListener('click', event => this.handleMenuChildren(event))); 36 } 37 closeMenuItems() { 38 this.elements.menuToggleHolder.classList.remove('elementor-active'); 39 this.elements.window.removeEventListener('resize', () => this.closeMenuItems()); 40 } 41 handleMenuToggle() { 42 const isDropdownVisible = !this.elements.menuToggleHolder.classList.contains('elementor-active'); 43 this.elements.menuToggle.setAttribute('aria-expanded', isDropdownVisible); 44 this.elements.dropdownMenu.setAttribute('aria-hidden', !isDropdownVisible); 45 this.elements.dropdownMenu.inert = !isDropdownVisible; 46 this.elements.menuToggleHolder.classList.toggle('elementor-active', isDropdownVisible); 47 48 // Always close all sub active items. 49 this.elements.dropdownMenu.querySelectorAll('.elementor-active').forEach(item => item.classList.remove('elementor-active')); 50 if (isDropdownVisible) { 51 this.elements.window.addEventListener('resize', () => this.closeMenuItems()); 52 } else { 53 this.elements.window.removeEventListener('resize', () => this.closeMenuItems()); 54 } 55 } 56 handleMenuChildren(event) { 57 const anchor = event.currentTarget; 58 const parentLi = anchor.parentElement; 59 if (!(parentLi !== null && parentLi !== void 0 && parentLi.classList)) { 60 return; 61 } 62 parentLi.classList.toggle('elementor-active'); 63 } 64} 65document.addEventListener('DOMContentLoaded', () => { 66 new elementorHelloThemeHandler(); 67}); 68/******/ })() 69;
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.