1(function ($) { 2 "use strict"; 3 4 /***menu***/ 5 $(".header-menu-toggler").on("click", function (e) { 6 $(".header-menu").addClass("show"); 7 }); 8 9 $(".header-menu-toggler").on("keyup", function (e) { 10 if (e.key === "Enter" || e.keyCode === 13) { 11 $(".header-menu").addClass("show"); 12 } 13 }); 14 15 /*close*/ 16 $(".header-menu .close").on("click", function (e) { 17 $(".header-menu").removeClass("show"); 18 }); 19 20 $(".header-menu .close").on("keyup", function (e) { 21 if (e.key === "Enter" || e.keyCode === 13) { 22 $(".header-menu").removeClass("show"); 23 } 24 }); 25 26 $(window).on("load resize", function () { 27 if (this.matchMedia("(max-width: 991px)").matches) { 28 $(".header-menu .menu-item-has-children > a").on("click", function (e) { 29 e.preventDefault(); 30 var subMenu = $(this).siblings(".sub-menu"); 31 if (subMenu.hasClass("show")) { 32 subMenu.removeClass("show"); 33 /*close opened sub menus*/ 34 var openedSubMenus = this.parentNode.querySelectorAll(".sub-menu"); 35 if (openedSubMenus.length > 0) { 36 openedSubMenus.forEach((element) => { 37 element.classList.remove("show"); 38 }); 39 } 40 } else { 41 subMenu.addClass("show"); 42 } 43 }); 44 } 45 }); 46 47 /*sidebar menu*/ 48 $(".sidebar .widget_nav_menu li.menu-item-has-children a").on( 49 "click", 50 function (e) { 51 e.preventDefault(); 52 var subMenu = $(this).siblings(".sub-menu"); 53 if (subMenu.hasClass("show")) { 54 subMenu.removeClass("show"); 55 /*close opened sub menus*/ 56 var openedSubMenus = this.parentNode.querySelectorAll(".sub-menu"); 57 if (openedSubMenus.length > 0) { 58 openedSubMenus.forEach((element) => { 59 element.classList.remove("show"); 60 }); 61 } 62 } else { 63 subMenu.addClass("show"); 64 } 65 } 66 ); 67})(jQuery); 68 69/*menu accessibility loop*/ 70var node = document.querySelector(".header-menu"); 71if (node) { 72 node.addEventListener("keydown", function (e) { 73 var element = document.querySelector(".header-menu"); 74 var focusableElsAll = element.querySelectorAll( 75 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"]' 76 ); 77 78 var focusableEls = []; 79 focusableElsAll.forEach(function (item) { 80 if ( 81 element.currentStyle 82 ? element.currentStyle.display !== "none" 83 : getComputedStyle(item, null).display !== "none" 84 ) { 85 focusableEls = [...focusableEls, item]; 86 } 87 }); 88 89 var firstFocusableEl = focusableEls[0]; 90 var lastFocusableEl = focusableEls[focusableEls.length - 1]; 91 if (e.key === "tap" || e.keyCode === 9) { 92 if (e.shiftKey) { 93 /* shift + tab */ if (document.activeElement === firstFocusableEl) {
94 lastFocusableEl.focus(); 95 e.preventDefault(); 96 } 97 } /* tab */ else { 98 if (document.activeElement === lastFocusableEl) { 99 firstFocusableEl.focus(); 100 e.preventDefault(); 101 } 102 } 103 } 104 }); 105}
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.