/** * source by `dom-closest` * https://github.com/necolas/dom-closest.git */ import matches from './dom-matches'; /** * @param element {Element} * @param selector {String} * @param context {Element=} * @return {Element} */ export default function (element, selector, context) { context = context || document; // guard against orphans element = { parentNode: element }; while ((element = element.parentNode) && element !== context) { if (matches(element, selector)) { return element; } } }