import ProfileMenu from "./ProfileMenu.js" css(` profile-button { display: block; width: 1.5em } `) export default class ProfileButton extends HTMLElement { hovered = false connectedCallback() { this.render() document.addEventListener("mousemove", (e) => { this.previousHovered = this.hovered if(e.target.closest("profile-button")) { this.hovered = true } else { this.hovered = false } if(this.hovered !== this.previousHovered) { if(this.hovered === true) { this.render() setTimeout(() => { this.querySelector("profile-menu").className = "open" }) } else { this.querySelector("profile-menu").className = "closed" setTimeout(() => { this.render() }, 140) } } }) } render() { this.innerHTML = /* html */` ` } } customElements.define("profile-button", ProfileButton)