1(() => { 2 // resources/js/app.js 3 window.addEventListener("load", function() { 4 const burgerIcon = document.querySelector(".burger-menu"); 5 const overlayOffcanvas = document.querySelector(".overlay"); 6 const iconCloseOffcanvas = document.querySelector(".burger-menu-close"); 7 const dropdownMenuHasChildren = document.querySelectorAll(".menu.accordion li.menu-item.menu-item-has-children"); 8 const offcanvasMenu = document.getElementById("offcanvas-menu"); 9 const body = document.querySelector("body"); 10 let scrollpos = window.scrollY; 11 const header = document.querySelector("header.header"); 12 window.addEventListener("scroll", function() { 13 scrollpos = window.scrollY; 14 if (scrollpos >= 10) { 15 header.classList.add("scrolled"); 16 } else { 17 header.classList.remove("scrolled"); 18 } 19 }); 20 if (scrollpos >= 10) { 21 header.classList.add("scrolled"); 22 } else { 23 header.classList.remove("scrolled"); 24 } 25 Array.from(dropdownMenuHasChildren).forEach((element) => { 26 var parentMenuLink = element.getElementsByTagName("a")[0].href; 27 var dropdownArrow = document.createElement("div"); 28 if (parentMenuLink.length == 0) { 29 dropdownArrow.className = "dropdown-arrow full"; 30 } else { 31 dropdownArrow.className = "dropdown-arrow"; 32 } 33 element.appendChild(dropdownArrow); 34 dropdownArrow.addEventListener("click", () => { 35 if (element.classList.contains("open")) { 36 element.classList.remove("open"); 37 } else { 38 element.classList.add("open"); 39 } 40 }); 41 }); 42 if (burgerIcon) { 43 burgerIcon.addEventListener("click", function() { 44 burgerIcon.classList.add("close-mode"); 45 offcanvasMenu.classList.add("open"); 46 body.classList.add("overflow-hidden"); 47 offcanvasMenu.classList.add("overflow-y-scroll"); 48 }); 49 } 50 document.addEventListener("keyup", function(event) { 51 if (event.code === "Escape") { 52 if (offcanvasMenu.classList.contains("open")) { 53 offcanvasMenu.classList.remove("open"); 54 body.classList.remove("overflow-hidden"); 55 } 56 } 57 }); 58 if (iconCloseOffcanvas) { 59 iconCloseOffcanvas.addEventListener("click", function() { 60 if (offcanvasMenu.classList.contains("open")) { 61 offcanvasMenu.classList.remove("open"); 62 } 63 body.classList.remove("overflow-hidden"); 64 }); 65 } 66 }); 67})();
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.