Deja de gestionar el estado de tus overlays: el atributo nativo popover hace el trabajo
Aprende a usar el atributo nativo popover, junto con popovertarget y showPopover(), para colocar menús, tooltips y avisos en la capa superior del navegador sin escribir tu propia máquina de estados. El artículo detalla qué problemas resuelve (foco, cierre al hacer clic fuera, orden de apilamiento) y en qué casos sigue mereciendo la pena una librería. Va bien si mantienes componentes de UI y quieres menos código propio que mantener.
Medium: Web DevelopmentWeb