From 806a01a9ace750924c09a96aab2b1876774a83b1 Mon Sep 17 00:00:00 2001 From: michelmany Date: Mon, 12 Feb 2024 19:57:58 +0100 Subject: [PATCH] fix: hitting the escape key should close the menu --- assets/js/menu-min.js | 2 +- assets/js/src/menu.js | 45 ++++++++++++++++++++++++++++--------------- header.php | 2 +- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/assets/js/menu-min.js b/assets/js/menu-min.js index fb6c450..c7de638 100644 --- a/assets/js/menu-min.js +++ b/assets/js/menu-min.js @@ -1 +1 @@ -!function($){const e=$("#main-navigation"),n=$("#nav-icon");let t=$(".zight-mobile-tab-toggle");if($('a[href*="#"]').not('[href="#"]').not('[href="#0"]').not('[href="#main-content"]').not(".features_buttons_acc a").click((function(e){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var n=$(this.hash);(n=n.length?n:$("[name="+this.hash.slice(1)+"]")).length&&(e.preventDefault(),$("html, body").animate({scrollTop:n.offset().top},1e3,(function(){var e=$(n);if(e.focus(),e.is(":focus"))return!1;e.attr("tabindex","-1"),e.focus()})))}})),document.addEventListener("DOMContentLoaded",(function(){var e=document.querySelectorAll(".site-header"),n;document.querySelectorAll(".sub_menu_back").forEach((function(n){n.addEventListener("click",(function(n){n.preventDefault();var t=this.closest(".sub_menu"),i=$(t).parent().find(".menu-item-main-link");i.length&&i.focus(),t&&t.classList.remove("active"),e.forEach((function(e){e.classList.remove("site-header-active")}))}))})),$(window).innerWidth()>=1070&&($("#menu_search_btn").on("click",(function(){var e=$(".search-popup");e.length&&(e.addClass("active"),$(this).attr("aria-expanded","true"),$("#modal_search").focus())})),$("#modal_search").on("input",(function(){var e=$(".search-popup");e.length&&e.addClass("input-active")})),$("#close-search").on("click",(function(){var e=$(".search-popup");e.length&&(e.removeClass("active"),$("#menu_search_btn").attr("aria-expanded","false"),$("#menu_search_btn").focus())})))})),$(window).innerWidth()<1070){var i=$(".menu-item-main-link"),a=$(".site-header");i.on("click",(function(e){if(e.preventDefault(),0==$(this).hasClass("menu-item-no-drop")){$(this).toggleClass("active"),$(this).parent().toggleClass("active");var n=$(this).siblings(".sub_menu");n.length&&n.toggleClass("active"),a.toggleClass("site-header-active");let e,t=$(this).siblings(".sub_menu").find(".menu-column").find("a[href], button:not([disabled])").first();t.length&&t.focus()}}))}const s=undefined;document.getElementById("mobile-help-button")&&document.querySelector(".mobile-help-button .btn").addEventListener("keydown",(function(t){if("Tab"===t.key){t.preventDefault(),$(".site-header").removeClass("site-header-active"),$(".menu-item-main-link").removeClass("active"),$(".main-nav-link-li").removeClass("active");const i=undefined;document.querySelectorAll(".sub_menu.active").forEach((function(e){e.classList.remove("active")})),$(n).toggleClass("open"),"false"===$(n).attr("aria-expanded")?$(n).attr("aria-expanded","true"):$(n).attr("aria-expanded","false"),e.hasClass("menu-mobile-open")?e.removeClass("menu-mobile-open"):e.addClass("menu-mobile-open"),$(window).scrollTop()>40?$("#header-top").toggle():$("#header-top").slideToggle(),$(".primary-navigation").toggleClass("active"),$("html, body").animate({scrollTop:$(window).scrollTop()},100),$("body").toggleClass("mobile-navigation-open")}})),n.click((function(){var n;$(".site-header").removeClass("site-header-active"),$(".menu-item-main-link").removeClass("active"),$(".main-nav-link-li").removeClass("active"),document.querySelectorAll(".sub_menu.active").forEach((function(e){e.classList.remove("active")})),$(this).toggleClass("open"),"false"===$(this).attr("aria-expanded")?$(this).attr("aria-expanded","true"):$(this).attr("aria-expanded","false"),e.hasClass("menu-mobile-open")?e.removeClass("menu-mobile-open"):e.addClass("menu-mobile-open"),$(window).scrollTop()>40?$("#header-top").toggle():$("#header-top").slideToggle(),$(".primary-navigation").toggleClass("active"),$("html, body").animate({scrollTop:$(window).scrollTop()},100),$("body").toggleClass("mobile-navigation-open")})),$(".nav-icon").click((function(){var t;$(".site-header").removeClass("site-header-active"),$(".menu-item-main-link").removeClass("active"),$(".main-nav-link-li").removeClass("active"),document.querySelectorAll(".sub_menu.active").forEach((function(e){e.classList.remove("active")})),n.removeClass("open"),$(this).attr("aria-expanded","false"),e.removeClass("menu-mobile-open"),$(".primary-navigation").removeClass("active"),$("html, body").animate({scrollTop:$(window).scrollTop()},100),$("body").removeClass("mobile-navigation-open")}));var o=!0;$(window).on("resize",(function(){e.hasClass("menu-mobile-open")&&($(window).width()>1070&&o?(n.click(),e.removeClass("menu-mobile-open"),$("body").removeClass("mobile-navigation-open"),o=!1):$(window).width()<=1070&&!o&&(o=!0)),$(window).width()>1070&&$(".zight-tab-content-nav .ul").css("display","flex"),$(window).width()<=1070&&t.next().hide()})),$(".primary-navigation li.has-submenus button").attr("aria-expanded","false"),$(".primary-navigation li.has-submenus button").click((function(){$(this).attr("aria-expanded",(function(e,n){return"true"==n?(n="false",$(this).siblings(".sub_menu").removeClass("open")):($(".primary-navigation li.has-submenus button").each((function(e,n){"true"==$(n).attr("aria-expanded")&&($(n).attr("aria-expanded","false"),$(n).siblings(".sub_menu").removeClass("open"))})),n="true",$(this).siblings(".sub_menu").addClass("open").find(".menu-column:first-child .sub-menu li:first-child a").focus()),n}))})),$("a").keydown((function(e){13===e.keyCode&&setTimeout((function(){const e=window.innerHeight,n=document.querySelectorAll("#main-content a");for(let t=0;t=0&&a=1070&&($("#menu_search_btn").on("click",(function(){var e=$(".search-popup");e.length&&(e.addClass("active"),$(this).attr("aria-expanded","true"),$("#modal_search").focus())})),$("#modal_search").on("input",(function(){var e=$(".search-popup");e.length&&e.addClass("input-active")})),$("#close-search").on("click",(function(){var e=$(".search-popup");e.length&&(e.removeClass("active"),$("#menu_search_btn").attr("aria-expanded","false"),$("#menu_search_btn").focus())})))})),$(window).innerWidth()<1070){var a=$(".menu-item-main-link"),s=$(".site-header");a.on("click",(function(e){if(e.preventDefault(),0==$(this).hasClass("menu-item-no-drop")){$(this).toggleClass("active"),$(this).parent().toggleClass("active");var n=$(this).siblings(".sub_menu");n.length&&n.toggleClass("active"),s.toggleClass("site-header-active");let e,t=$(this).siblings(".sub_menu").find(".menu-column").find("a[href], button:not([disabled])").first();t.length&&t.focus()}}))}const o=undefined;document.getElementById("mobile-help-button")&&document.querySelector(".mobile-help-button .btn").addEventListener("keydown",(function(e){if("Tab"===e.key){e.preventDefault(),$(".site-header").removeClass("site-header-active"),$(".menu-item-main-link").removeClass("active"),$(".main-nav-link-li").removeClass("active");const i=undefined;document.querySelectorAll(".sub_menu.active").forEach((function(e){e.classList.remove("active")})),$(t).toggleClass("open"),"false"===$(t).attr("aria-expanded")?$(t).attr("aria-expanded","true"):$(t).attr("aria-expanded","false"),n.hasClass("menu-mobile-open")?n.removeClass("menu-mobile-open"):n.addClass("menu-mobile-open"),$(window).scrollTop()>40?$("#header-top").toggle():$("#header-top").slideToggle(),$(".primary-navigation").toggleClass("active"),$("html, body").animate({scrollTop:$(window).scrollTop()},100),$("body").toggleClass("mobile-navigation-open")}})),t.click((function(){var e;$(".site-header").removeClass("site-header-active"),$(".menu-item-main-link").removeClass("active"),$(".main-nav-link-li").removeClass("active"),document.querySelectorAll(".sub_menu.active").forEach((function(e){e.classList.remove("active")})),$(this).toggleClass("open"),"false"===$(this).attr("aria-expanded")?$(this).attr("aria-expanded","true"):$(this).attr("aria-expanded","false"),n.hasClass("menu-mobile-open")?n.removeClass("menu-mobile-open"):n.addClass("menu-mobile-open"),$(window).scrollTop()>40?$("#header-top").toggle():$("#header-top").slideToggle(),$(".primary-navigation").toggleClass("active"),$("html, body").animate({scrollTop:$(window).scrollTop()},100),$("body").toggleClass("mobile-navigation-open")})),$(".nav-icon").click((function(){e()})),$(".menu-item-main-link, #nav-icon, #search, .mobile-cta-button a, .site-title a").keydown((function(){27===event.keyCode&&e()})),$(".sub-menu .menu-item a").keydown((function(){27===event.keyCode&&$("button.sub_menu_back").click()}));var l=!0;$(window).on("resize",(function(){n.hasClass("menu-mobile-open")&&($(window).width()>1070&&l?(t.click(),n.removeClass("menu-mobile-open"),$("body").removeClass("mobile-navigation-open"),l=!1):$(window).width()<=1070&&!l&&(l=!0)),$(window).width()>1070&&$(".zight-tab-content-nav .ul").css("display","flex"),$(window).width()<=1070&&i.next().hide()})),$(".primary-navigation li.has-submenus button").attr("aria-expanded","false"),$(".primary-navigation li.has-submenus button").click((function(){$(this).attr("aria-expanded",(function(e,n){return"true"==n?(n="false",$(this).siblings(".sub_menu").removeClass("open")):($(".primary-navigation li.has-submenus button").each((function(e,n){"true"==$(n).attr("aria-expanded")&&($(n).attr("aria-expanded","false"),$(n).siblings(".sub_menu").removeClass("open"))})),n="true",$(this).siblings(".sub_menu").addClass("open").find(".menu-column:first-child .sub-menu li:first-child a").focus()),n}))})),$("a").keydown((function(e){13===e.keyCode&&setTimeout((function(){const e=window.innerHeight,n=document.querySelectorAll("#main-content a");for(let t=0;t=0&&a