text: /**
   * @fileoverview Find parent element recursively
   */
  
  'use strict';
  
  var matches = require('./matches');
  
  /**
   * Find parent element recursively
   * @param {HTMLElement} element - base element to start find
   * @param {string} selector - selector string for find
   * @returns {HTMLElement} - element finded or null
   * @memberof module:domUtil
   */
  function closest(element, selector) {
    var parent = element.parentNode;
  
    if (matches(element, selector)) {
      return element;
    }
  
    while (parent && parent !== document) {
      if (matches(parent, selector)) {
        return parent;
      }
  
      parent = parent.parentNode;
    }
  
    return null;
  }
  
  module.exports = closest;
  