namespace HtmlUtils { export function closest (el: Element, predicate: (e: Element) => boolean) { do if (predicate(el)) return el; while (el = el && el.parentNode); } }