{"version":3,"file":"hello-frontend.min.js","mappings":"mBAAA,MAAMA,2BACFC,WAAAA,GACIC,KAAKC,eACLD,KAAKE,eACLF,KAAKG,YACT,CAEAF,YAAAA,GACID,KAAKI,SAAW,CACZC,UAAW,CACPC,WAAY,uCACZC,iBAAkB,8CAClBC,aAAc,0CAG1B,CAEAN,YAAAA,GACIF,KAAKS,SAAW,CACZC,OACAJ,WAAYK,SAASC,cAAeZ,KAAKI,SAASC,UAAUC,YAC5DC,iBAAkBI,SAASC,cAAeZ,KAAKI,SAASC,UAAUE,kBAClEC,aAAcG,SAASC,cAAeZ,KAAKI,SAASC,UAAUG,cAEtE,CAEAL,UAAAA,GAAa,IAAAU,GACFb,KAAKS,SAASF,kBAAkD,QAAlCM,EAAIb,KAAKS,SAASF,wBAAgB,IAAAM,GAA9BA,EAAgCC,UAAUC,SAAU,UAI7Ff,KAAKS,SAASH,WAAWU,iBAAkB,SAAS,IAAMhB,KAAKiB,qBAC/DjB,KAAKS,SAASH,WAAWU,iBAAkB,SAAWE,IAChC,KAGCA,EAAMC,SAFP,KAEgCD,EAAMC,SACpDD,EAAME,cAAcC,OACxB,IAGJrB,KAAKS,SAASD,aAAac,iBAAkB,+BACxCC,SAAWC,GAAmBA,EAAcR,iBAAkB,SAAWE,GAAWlB,KAAKyB,mBAAoBP,OACtH,CAEAQ,cAAAA,GACI1B,KAAKS,SAASF,iBAAiBO,UAAUa,OAAQ,oBACjD3B,KAAKS,SAASC,OAAOkB,oBAAqB,UAAU,IAAM5B,KAAK0B,kBACnE,CAEAT,gBAAAA,GACI,MAAMY,GAAsB7B,KAAKS,SAASF,iBAAiBO,UAAUC,SAAU,oBAE/Ef,KAAKS,SAASH,WAAWwB,aAAc,gBAAiBD,GACxD7B,KAAKS,SAASD,aAAasB,aAAc,eAAiBD,GAC1D7B,KAAKS,SAASF,iBAAiBO,UAAUiB,OAAQ,mBAAoBF,GAGrE7B,KAAKS,SAASD,aAAac,iBAAkB,qBAAsBC,SAAWS,GAAUA,EAAKlB,UAAUa,OAAQ,sBAE1GE,EACD7B,KAAKS,SAASC,OAAOM,iBAAkB,UAAU,IAAMhB,KAAK0B,mBAE5D1B,KAAKS,SAASC,OAAOkB,oBAAqB,UAAU,IAAM5B,KAAK0B,kBAEvE,CAEAD,kBAAAA,CAAoBP,GAChB,MACMe,EADSf,EAAME,cACGc,cAEjBD,SAAAA,EAAUnB,WAIjBmB,EAASnB,UAAUiB,OAAQ,mBAC/B,EAGJpB,SAASK,iBAAkB,oBAAoB,KAC3C,IAAIlB,0BAA4B,G","sources":["webpack://elementor-hello-theme/./assets/dev/js/frontend/hello-frontend.js"],"sourcesContent":["class elementorHelloThemeHandler {\n constructor() {\n this.initSettings();\n this.initElements();\n this.bindEvents();\n }\n\n initSettings() {\n this.settings = {\n selectors: {\n menuToggle: '.site-header .site-navigation-toggle',\n menuToggleHolder: '.site-header .site-navigation-toggle-holder',\n dropdownMenu: '.site-header .site-navigation-dropdown',\n },\n };\n }\n\n initElements() {\n this.elements = {\n window,\n menuToggle: document.querySelector( this.settings.selectors.menuToggle ),\n menuToggleHolder: document.querySelector( this.settings.selectors.menuToggleHolder ),\n dropdownMenu: document.querySelector( this.settings.selectors.dropdownMenu ),\n };\n }\n\n bindEvents() {\n if ( ! this.elements.menuToggleHolder || this.elements.menuToggleHolder?.classList.contains( 'hide' ) ) {\n return;\n }\n\n this.elements.menuToggle.addEventListener( 'click', () => this.handleMenuToggle() );\n this.elements.menuToggle.addEventListener( 'keyup', ( event ) => {\n const ENTER_KEY = 13;\n const SPACE_KEY = 32;\n\n if ( ENTER_KEY === event.keyCode || SPACE_KEY === event.keyCode ) {\n event.currentTarget.click();\n }\n } );\n\n this.elements.dropdownMenu.querySelectorAll( '.menu-item-has-children > a' )\n .forEach( ( anchorElement ) => anchorElement.addEventListener( 'click', ( event ) => this.handleMenuChildren( event ) ) );\n }\n\n closeMenuItems() {\n this.elements.menuToggleHolder.classList.remove( 'elementor-active' );\n this.elements.window.removeEventListener( 'resize', () => this.closeMenuItems() );\n }\n\n handleMenuToggle() {\n const isDropdownVisible = ! this.elements.menuToggleHolder.classList.contains( 'elementor-active' );\n\n this.elements.menuToggle.setAttribute( 'aria-expanded', isDropdownVisible );\n this.elements.dropdownMenu.setAttribute( 'aria-hidden', ! isDropdownVisible );\n this.elements.menuToggleHolder.classList.toggle( 'elementor-active', isDropdownVisible );\n\n // Always close all sub active items.\n this.elements.dropdownMenu.querySelectorAll( '.elementor-active' ).forEach( ( item ) => item.classList.remove( 'elementor-active' ) );\n\n if ( isDropdownVisible ) {\n this.elements.window.addEventListener( 'resize', () => this.closeMenuItems() );\n } else {\n this.elements.window.removeEventListener( 'resize', () => this.closeMenuItems() );\n }\n }\n\n handleMenuChildren( event ) {\n const anchor = event.currentTarget;\n const parentLi = anchor.parentElement;\n\n if ( ! parentLi?.classList ) {\n return;\n }\n\n parentLi.classList.toggle( 'elementor-active' );\n }\n}\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n new elementorHelloThemeHandler();\n} );\n"],"names":["elementorHelloThemeHandler","constructor","this","initSettings","initElements","bindEvents","settings","selectors","menuToggle","menuToggleHolder","dropdownMenu","elements","window","document","querySelector","_this$elements$menuTo","classList","contains","addEventListener","handleMenuToggle","event","keyCode","currentTarget","click","querySelectorAll","forEach","anchorElement","handleMenuChildren","closeMenuItems","remove","removeEventListener","isDropdownVisible","setAttribute","toggle","item","parentLi","parentElement"],"sourceRoot":""}