-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
2 lines (2 loc) · 2.34 KB
/
main.js
1
2
(()=>{var l=class{constructor(){this.burgerMenu=Array.from(document.getElementsByClassName("burger-menu"))[0]}addNavListener(){let e=document.querySelector(".nav-toggle");document.addEventListener("focusin",t=>{this.isMenuVisible()&&(t.composedPath().includes(this.burgerMenu)||this.burgerMenu.querySelector(".logo").focus())}),document.addEventListener("keydown",t=>{t.key==="Escape"&&this.toggleMenuVisibility();let i=t.key==="ArrowUp",r=t.key==="ArrowDown";if(this.isMenuVisible()&&(i||r)){t.preventDefault();let s=this.getMenuLinks(),o=this.getFocusedLinkIndex(s);if(r){if(o===null||o>=s.length-1){s[0].focus();return}s[o+1].focus()}if(i){if(o===null||o<=0){s[s.length-1].focus();return}s[o-1].focus()}}}),e.addEventListener("click",t=>{this.toggleMenuVisibility()})}addMenuCancelListener(){document.querySelector(".menu-cancel").addEventListener("click",t=>{this.toggleMenuVisibility();let i=document.querySelector(".nav-toggle");i.style.display="inline"})}toggleMenuVisibility(){this.burgerMenu.classList.add("initialized");let e=document.querySelector(".nav-toggle");this.isMenuVisible()?(this.burgerMenu.classList.remove("burger-menu-show"),e.classList.remove("burger-menu-show")):(this.burgerMenu.classList.add("burger-menu-show"),e.classList.add("burger-menu-show"))}isMenuVisible(){return this.burgerMenu.classList.contains("burger-menu-show")}getMenuLinks(){return Array.from(this.burgerMenu.querySelectorAll(".menu-link"))}getFocusedLinkIndex(e){var t;return(t=e.findIndex(i=>i===document.activeElement))!=null?t:null}};var c=document.querySelectorAll(".word-wall"),a=Array.from(c).map(n=>{let e=n.querySelectorAll("div");return{wordWall:n,lines:Array.from(e)}});window.addEventListener("scroll",()=>{for(let n of a){let e=n.wordWall.offsetWidth;for(let[t,i]of n.lines.entries()){let s=i.offsetWidth-e,o=document.documentElement.scrollTop/3*(.3*(t+1)%.35)%s;if(t%3===0){i.style.transform=`translateX(-${o}px)`;continue}i.style.transform=`translateX(-${s-o}px)`}}},{passive:!0});var u=new l;u.addNavListener();u.addMenuCancelListener();document.addEventListener("keydown",n=>{n.target.getAttribute("role")==="button"&&n.key==="Enter"&&n.target.dispatchEvent(new Event("click"))});window.setTimeout(()=>{let n=document.location.hash;if(n!==""){let e=document.querySelector(n);e!==null&&e.scrollIntoView({behavior:"smooth",block:"start"})}},200);})();
//# sourceMappingURL=main.js.map