HEX
Server: Apache
System: Linux p3plzcpnl489526.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: vmasmheia229 (9244908)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/vmasmheia229/domains/blog.theomggroup.com/html/wp-content/themes/pally/assets/js/nav.js
import $ from "jquery";

function PallyToggleButtonClick(id) {
   let el = document.querySelector('button[data-uid="' + id + '"]');
   let container = document.getElementById('site-navigation');

   PallyNavToggleFocusByEl(el);

   // Toggle the "toggled-on" class.
   el.classList.toggle('toggled-on');
   container.classList.toggle('toggled-on');

   // Toggle aria-expanded.
   if (el.classList.contains('toggled-on')) {
      el.setAttribute('aria-expanded', 'true');
   } else {
      el.setAttribute('aria-expanded', 'false');
   }
}

window.onload = function() {
   let NavLinks = document.querySelectorAll('.menu-item a'),
      i;
   for (i = 0; i < NavLinks.length; i++) {
      NavLinks[i].addEventListener('focus', PallyNavToggleFocus, true);
      NavLinks[i].addEventListener('blur', PallyNavToggleFocus, true);
   }

   let MenuButton = document.querySelector('.menu-toggle');
   if ('undefined' !== typeof MenuButton) {
      MenuButton.addEventListener('click', function(e) {
         PallyToggleButtonClick('toggle-primary');
      });
   }

};

function PallyNavToggleFocus() {
   PallyNavToggleFocusByEl(this);
}

function PallyNavToggleFocusByEl(el) {
   let isMenu = el.closest('.primary-menu'),
      closestSubMenu,
      closestUl,
      allOpenSubMenuButtons,
      i;

      if ( isMenu ) {
         closestSubMenu        = el.closest( '.sub-menu' );
         closestUl             = closestSubMenu ? closestSubMenu.closest( 'ul' ) : el.closest( 'ul' );
         allOpenSubMenuButtons = closestUl.querySelectorAll( '.menu-item .toggled-on' );
         for ( i = 0; i < allOpenSubMenuButtons.length; i++ ) {
            if ( null === closestSubMenu || ( closestSubMenu && closestSubMenu.parentNode.querySelector( '.menu-item .toggled-on' ) !== allOpenSubMenuButtons[ i ] ) ) {
               if ( allOpenSubMenuButtons[ i ] !== el ) {
                  allOpenSubMenuButtons[ i ].classList.remove( 'toggled-on' );
                  allOpenSubMenuButtons[ i ].setAttribute( 'aria-expanded', 'false' );
               }
            }
         }
      }

}


/**
 * Handle clicks on the main menu parts.
 *
 * @param {Element} el
 */
function PallyMenuItemExpand(el) {
   let ul = el.closest('li').querySelector('ul'),
      expand = ('none' === window.getComputedStyle(ul).display);
   ul.style.display = expand ? 'block' : 'none';
   if (expand) {
      el.classList.add('active');
      el.setAttribute('aria-expanded', 'true');
      ul.setAttribute('tabindex', '-1');
   } else {
      el.setAttribute('aria-expanded', 'false');
      el.classList.remove('active');
   }
}

document.querySelectorAll('.primary-menu ul.sub-menu').forEach(function (subMenu) {
	subMenu.addEventListener('blur', function (e) {
		let prev = e.target,
			next = e.relatedTarget,
			prevUl = prev ? prev.closest('.sub-menu') : null,
			nextUl = next ? next.closest('.sub-menu') : null;

		if (prevUl && prevUl !== nextUl && (!nextUl || !prevUl.contains(nextUl))) {
			prevUl.style.display = 'none';
			prevUl.parentNode.querySelector('button').classList.remove('active');
		}
	}, true);
});

document.querySelectorAll('.primary-menu .menu-item button').forEach(function (openSubMenu) {
   openSubMenu.addEventListener('click', function (e) {
      PallyMenuItemExpand(e.currentTarget);
   })
})

$(window).on('resize', function() {
   if ($('.navholder').outerWidth() > 840) {
      if ($('.navholder').outerHeight() > 80) {
         $('.navholder .col-100').css('flex', 'none');
         $('.navholder .col-100').css('width', '100%');
      }
      if ($('.navholder').outerWidth() > 1280) {
         $('.navholder .col-100').css('flex', '');
         $('.navholder .col-100').css('width', '');
      }
   }
});
$(window).resize();