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.menuToggle.addEventListener('keyup', event => { 36 const ENTER_KEY = 13; 37 const SPACE_KEY = 32; 38 if (ENTER_KEY === event.keyCode || SPACE_KEY === event.keyCode) { 39 event.currentTarget.click(); 40 } 41 }); 42 this.elements.dropdownMenu.querySelectorAll('.menu-item-has-children > a').forEach(anchorElement => anchorElement.addEventListener('click', event => this.handleMenuChildren(event))); 43 } 44 closeMenuItems() { 45 this.elements.menuToggleHolder.classList.remove('elementor-active'); 46 this.elements.window.removeEventListener('resize', () => this.closeMenuItems()); 47 } 48 handleMenuToggle() { 49 const isDropdownVisible = !this.elements.menuToggleHolder.classList.contains('elementor-active'); 50 this.elements.menuToggle.setAttribute('aria-expanded', isDropdownVisible); 51 this.elements.dropdownMenu.setAttribute('aria-hidden', !isDropdownVisible); 52 this.elements.menuToggleHolder.classList.toggle('elementor-active', isDropdownVisible); 53 54 // Always close all sub active items. 55 this.elements.dropdownMenu.querySelectorAll('.elementor-active').forEach(item => item.classList.remove('elementor-active')); 56 if (isDropdownVisible) { 57 this.elements.window.addEventListener('resize', () => this.closeMenuItems()); 58 } else { 59 this.elements.window.removeEventListener('resize', () => this.closeMenuItems()); 60 } 61 } 62 handleMenuChildren(event) { 63 const anchor = event.currentTarget; 64 const parentLi = anchor.parentElement; 65 if (!(parentLi !== null && parentLi !== void 0 && parentLi.classList)) { 66 return; 67 } 68 parentLi.classList.toggle('elementor-active'); 69 } 70} 71document.addEventListener('DOMContentLoaded', () => { 72 new elementorHelloThemeHandler(); 73}); 74/******/ })() 75;
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.