/* ------------------------------------------------------------------------------ * Author: DMCWebZone * Author URL: https://web-zone.org * Code snippets Twenty Twenty theme * Source: https://wordpress.org/themes/twentytwenty/ * @package Bado Blog * Description: Pin top menu * ------------------------------------------------------------------------------ */ "use strict";var badoblog=badoblog||{};function badoblogDomReadyMenu(e){if("function"==typeof e)return"interactive"===document.readyState||"complete"===document.readyState?e():void document.addEventListener("DOMContentLoaded",e,!1)}function badoblogToggleAttributeMenu(e,t,o,n){void 0===o&&(o=!0),void 0===n&&(n=!1),e.getAttribute(t)!==o?e.setAttribute(t,o):e.setAttribute(t,n)}function badoblogFindParentsMenu(e,o){var n=[];return function e(t){t=t.parentNode;t instanceof HTMLElement&&(t.matches(o)&&n.push(t),e(t))}(e),n}badoblog.createEvent=function(e){var t;return"function"==typeof window.Event?t=new Event(e):(t=document.createEvent("Event")).initEvent(e,!0,!1),t},badoblog.coverModalsMenu={init:function(){document.querySelector(".badoblog-css-cover-modal")&&(this.onToggleMenu(),this.closeOnEscapeMenu(),this.hideAndShowModalsMenu(),this.keepFocusInModalMenu())},onToggleMenu:function(){document.querySelectorAll(".badoblog-css-cover-modal").forEach(function(e){e.addEventListener("toggledmenu",function(e){var e=e.target,t=document.body;e.classList.contains("active")?t.classList.add("showing-modal-menu"):(t.classList.remove("showing-modal-menu"),t.classList.add("hiding-modal-menu"),setTimeout(function(){t.classList.remove("hiding-modal-menu")},500))})})},closeOnEscapeMenu:function(){document.addEventListener("keydown",function(e){27===e.keyCode&&(e.preventDefault(),document.querySelectorAll(".badoblog-css-cover-modal.active").forEach(function(e){this.untoggleModalMenu(e)}.bind(this)))}.bind(this))},hideAndShowModalsMenu:function(){var s=document,r=window,e=s.querySelectorAll(".badoblog-css-cover-modal"),i=s.documentElement.style,c=s.querySelector("#wpadminbar-off");function d(e){var t,o=r.pageYOffset;return c?(t=o+c.getBoundingClientRect().height,e?-t:t):0===o?0:-o}function u(){return{"overflow-y":r.innerHeight>s.documentElement.getBoundingClientRect().height?"hidden":"scroll",position:"fixed",width:"100%",top:d(!0)+"px",left:0}}e.forEach(function(a){a.addEventListener("toggle-target-before-inactive",function(e){var t=u(),o=r.pageYOffset,n=Math.abs(d())-o+"px",l=r.matchMedia("(max-width: 600px)");e.target===a&&(Object.keys(t).forEach(function(e){i.setProperty(e,t[e])}),r.badoblog.scrolled=parseInt(t.top,10),c&&(s.body.style.setProperty("padding-top",n),l.matches)&&(o>=d()?a.style.setProperty("top",0):a.style.setProperty("top",d()-o+"px")),a.classList.add("show-modal"))}),a.addEventListener("toggle-target-after-inactive",function(e){e.target===a&&setTimeout(function(){var e=badoblog.togglesMenu.clickedEl;a.classList.remove("show-modal"),Object.keys(u()).forEach(function(e){i.removeProperty(e)}),c&&(s.body.style.removeProperty("padding-top"),a.style.removeProperty("top")),!1!==e&&(e.focus(),e=!1),r.scrollTo(0,Math.abs(r.badoblog.scrolled+d())),r.badoblog.scrolled=0},500)})})},untoggleModalMenu:function(e){var t,o=!1;e.dataset.modalTargetString&&(t=e.dataset.modalTargetString,o=document.querySelector('*[data-toggle-target="'+t+'"]')),o?o.click():e.classList.remove("active")},keepFocusInModalMenu:function(){var i=document;i.addEventListener("keydown",function(e){var t,o,n,l,a,s,r=badoblog.togglesMenu.clickedEl;r&&i.body.classList.contains("showing-modal-menu")&&(r=r.dataset.toggleTarget,a="input, a, button",l=i.querySelector(r),t=l.querySelectorAll(a),t=Array.prototype.slice.call(t),".menu-modal"===r&&(o=(o=window.matchMedia("(min-width: 550px)").matches)?"":".badoblog-css-mobile-top-jsmenu",(t=t.filter(function(e){return null!==e.closest(o)&&null!==e.offsetParent})).unshift(i.querySelector(".close-nav-toggle")),n=i.querySelector(".menu-bottom > nav"))&&n.querySelectorAll(a).forEach(function(e){t.push(e)}),".badoblog-css-top-jsmenu-modal"===r&&(o=(o=window.matchMedia("(min-width: 700px)").matches)?"":".badoblog-css-mobile-top-jsmenu",(t=t.filter(function(e){return null!==e.closest(o)&&null!==e.offsetParent})).unshift(i.querySelector(".badoblog-css-close-top-jsmenu-nav-toggle")),n=i.querySelector(".menu-bottom > nav"))&&n.querySelectorAll(a).forEach(function(e){t.push(e)}),l=t[t.length-1],r=t[0],n=i.activeElement,a=9===e.keyCode,!(s=e.shiftKey)&&a&&l===n&&(e.preventDefault(),r.focus()),s)&&a&&r===n&&(e.preventDefault(),l.focus())})}},badoblog.modalMenu={init:function(){this.expandLevel()},expandLevel:function(){document.querySelectorAll(".modal-menu").forEach(function(e){e=e.querySelector(".current-menu-item");e&&badoblogFindParentsMenu(e,"li").forEach(function(e){e=e.querySelector(".submenu-toggle");e&&badoblog.togglesMenu.performToggle(e,!0)})})}},badoblog.togglesMenu={clickedEl:!1,init:function(){this.toggle()},performToggle:function(e,o){var n,l,a=this,s=document,r=e,i=r.dataset.toggleTarget,c="active";s.querySelectorAll(".show-modal").length||(a.clickedEl=s.activeElement),(n="next"===i?r.nextSibling:s.querySelector(i)).classList.contains(c)?n.dispatchEvent(badoblog.createEvent("toggle-target-before-active")):n.dispatchEvent(badoblog.createEvent("toggle-target-before-inactive")),l=r.dataset.classToToggle||c,e=0,n.classList.contains("badoblog-css-cover-modal")&&(e=10),setTimeout(function(){var e=n.classList.contains("sub-menu")?r.closest(".menu-item").querySelector(".sub-menu"):n,t=r.dataset.toggleDuration;"slidetogglemenu"!==r.dataset.toggleType||o||"0"===t?e.classList.toggle(l):badoblogMenuToggleMenu(e,t),("next"===i||n.classList.contains("sub-menu")?r:s.querySelector('*[data-toggle-target="'+i+'"]')).classList.toggle(c),badoblogToggleAttributeMenu(r,"aria-expanded","true","false"),a.clickedEl&&-1!==r.getAttribute("class").indexOf("close-")&&badoblogToggleAttributeMenu(a.clickedEl,"aria-expanded","true","false"),r.dataset.toggleBodyClass&&s.body.classList.toggle(r.dataset.toggleBodyClass),r.dataset.setFocus&&(e=s.querySelector(r.dataset.setFocus))&&(n.classList.contains(c)?e.focus():e.blur()),n.dispatchEvent(badoblog.createEvent("toggledmenu")),n.classList.contains(c)?n.dispatchEvent(badoblog.createEvent("toggle-target-after-active")):n.dispatchEvent(badoblog.createEvent("toggle-target-after-inactive"))},e)},toggle:function(){var o=this;document.querySelectorAll("*[data-toggle-target]").forEach(function(t){t.addEventListener("click",function(e){e.preventDefault(),o.performToggle(t)})})}},badoblogDomReadyMenu(function(){badoblog.togglesMenu.init(),badoblog.coverModalsMenu.init()});