wecuro_blog/wp-content/themes/kadence/assets/js/navigation-lite.min.js

1 line
8.2 KiB
JavaScript
Raw Normal View History

2024-01-15 08:43:49 +00:00
!function(){"use strict";window.kadence={initOutlineToggle:function(){document.body.addEventListener("keydown",(function(){document.body.classList.remove("hide-focus-outline")})),document.body.addEventListener("mousedown",(function(){document.body.classList.add("hide-focus-outline")}))},getOffset:function(e){if(e instanceof HTMLElement){var t=e.getBoundingClientRect();return{top:t.top+window.pageYOffset,left:t.left+window.pageXOffset}}return{top:null,left:null}},findParents:function(e,t){var n=[];return function e(o){var a=o.parentNode;a instanceof HTMLElement&&(a.matches(t)&&n.push(a),e(a))}(e),n},toggleAttribute:function(e,t,n,o){void 0===n&&(n=!0),void 0===o&&(o=!1),e.getAttribute(t)!==n?e.setAttribute(t,n):e.setAttribute(t,o)},initNavToggleSubmenus:function(){var e=document.querySelectorAll(".nav--toggle-sub");if(e.length)for(let t=0;t<e.length;t++)window.kadence.initEachNavToggleSubmenu(e[t])},initEachNavToggleSubmenu:function(e){var t=e.querySelectorAll(".menu ul");if(t.length)for(let i=0;i<t.length;i++){var n=t[i].parentNode;if(n.querySelector(".dropdown-nav-toggle")){var o=n.querySelector(".nav-drop-title-wrap").firstChild.textContent.trim(),a=document.createElement("BUTTON");a.setAttribute("aria-label",o?kadenceConfig.screenReader.expandOf+" "+o:kadenceConfig.screenReader.expand),a.classList.add("dropdown-nav-special-toggle"),n.insertBefore(a,n.childNodes[1]),a.addEventListener("click",(function(e){e.preventDefault(),window.kadence.toggleSubMenu(e.target.parentNode)})),n.addEventListener("mouseleave",(function(e){window.kadence.toggleSubMenu(e.target,!1)})),n.querySelector("a").addEventListener("focus",(function(e){var t=e.target.parentNode.parentNode.querySelectorAll("li.menu-item--toggled-on");for(let n=0;n<t.length;n++)window.kadence.toggleSubMenu(t[n],!1)})),t[i].addEventListener("keydown",(function(e){var n="ul.toggle-show > li > a, ul.toggle-show > li > .dropdown-nav-special-toggle";9===e.keyCode&&(e.shiftKey?window.kadence.isfirstFocusableElement(t[i],document.activeElement,n)&&window.kadence.toggleSubMenu(t[i].parentNode,!1):window.kadence.islastFocusableElement(t[i],document.activeElement,n)&&window.kadence.toggleSubMenu(t[i].parentNode,!1))})),t[i].parentNode.classList.add("menu-item--has-toggle")}}},toggleSubMenu:function(e,t){var n=e.querySelector(".dropdown-nav-special-toggle"),o=e.querySelector("ul");let a=e.classList.contains("menu-item--toggled-on");var i=e.querySelector(".nav-drop-title-wrap").firstChild.textContent.trim();if(void 0!==t&&"boolean"==typeof t&&(a=!t),n.setAttribute("aria-expanded",(!a).toString()),a){e.classList.remove("menu-item--toggled-on"),o.classList.remove("toggle-show"),n.setAttribute("aria-label",i?kadenceConfig.screenReader.expandOf+" "+i:kadenceConfig.screenReader.expand);var r=e.querySelectorAll(".menu-item--toggled-on");for(let e=0;e<r.length;e++)window.kadence.toggleSubMenu(r[e],!1)}else{var d=e.parentNode.querySelectorAll("li.menu-item--toggled-on");for(let e=0;e<d.length;e++)window.kadence.toggleSubMenu(d[e],!1);e.classList.add("menu-item--toggled-on"),o.classList.add("toggle-show"),n.setAttribute("aria-label",i?kadenceConfig.screenReader.collapseOf+" "+i:kadenceConfig.screenReader.collapse)}},isfirstFocusableElement:function(e,t,n){var o=e.querySelectorAll(n);return 0<o.length&&t===o[0]},islastFocusableElement:function(e,t,n){var o=e.querySelectorAll(n);return 0<o.length&&t===o[o.length-1]},toggleDrawer:function(e,t){t=void 0===t||t;var n=e,o=document.querySelector(n.dataset.toggleTarget),a=document,i=window.innerWidth-document.documentElement.clientWidth,r=n.dataset.toggleDuration?n.dataset.toggleDuration:250;if(window.kadence.toggleAttribute(n,"aria-expanded","true","false"),o.classList.contains("show-drawer"))n.dataset.toggleBodyClass&&a.body.classList.remove(n.dataset.toggleBodyClass),o.classList.remove("active"),o.classList.remove("pop-animated"),a.body.classList.remove("kadence-scrollbar-fixer"),setTimeout((function(){if(o.classList.remove("show-drawer"),n.dataset.setFocus&&t){var e=document.querySelector(n.dataset.setFocus);e&&(e.focus(),e.hasAttribute("ari