4 export function handleDropdown(toggle: HTMLElement, menu: HTMLElement, onOpen: Function|undefined = undefined, onClose: Function|undefined = undefined) {
5 let clickListener: Function|null = null;
10 window.removeEventListener('click', clickListener as EventListener);
19 clickListener = (event: MouseEvent) => {
20 if (!toggle.contains(event.target as HTMLElement) && !menu.contains(event.target as HTMLElement)) {
24 window.addEventListener('click', clickListener as EventListener);
30 toggle.addEventListener('click', event => {
31 menu.hasAttribute('hidden') ? show() : hide();
33 menu.addEventListener('mouseleave', hide);