1class WordPressSmartMenu{constructor(){this.menuItems=document.querySelectorAll('.m-main__item.menu-item-has-children');this.activeItem=null;this.hoverTimeout=null;this.init()} 2init(){this.menuItems.forEach(item=>{const submenu=item.querySelector('.sub-menu');item.addEventListener('mouseenter',()=>{this.handleMouseEnter(item,submenu)});item.addEventListener('mouseleave',()=>{this.handleMouseLeave(item,submenu)});if(submenu){submenu.addEventListener('mouseenter',()=>{if(this.hoverTimeout){clearTimeout(this.hoverTimeout);this.hoverTimeout=null}});submenu.addEventListener('mouseleave',()=>{this.handleMouseLeave(item,submenu)})}})} 3handleMouseEnter(item,submenu){if(this.hoverTimeout){clearTimeout(this.hoverTimeout);this.hoverTimeout=null} 4if(this.activeItem&&this.activeItem!==item){this.hideSubmenu(this.activeItem,!0);this.showSubmenu(item,submenu,!0)}else{this.showSubmenu(item,submenu,!1)} 5this.activeItem=item} 6handleMouseLeave(item,submenu){this.hoverTimeout=setTimeout(()=>{this.hideSubmenu(item,!1);if(this.activeItem===item){this.activeItem=null}},200)} 7showSubmenu(item,submenu,fast=!1){if(submenu){if(fast){submenu.classList.add('fast-transition')}else{submenu.classList.remove('fast-transition')} 8if(fast){setTimeout(()=>{submenu.classList.remove('fast-transition')},100)}}} 9hideSubmenu(item,fast=!1){const submenu=item.querySelector('.sub-menu');if(submenu){if(fast){submenu.classList.add('fast-transition')} 10if(fast){setTimeout(()=>{submenu.classList.remove('fast-transition')},100)}}}} 11document.addEventListener('DOMContentLoaded',()=>{new WordPressSmartMenu()})
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.