"use strict";

Liferay.Loader.define("site-navigation-item-selector-web$dom-helpers@5.2.0/cjs/closest", ['module', 'exports', 'require', '@site-navigation-item-selector-web$babel/runtime/helpers/interopRequireDefault', './matches'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    var _interopRequireDefault = require("@site-navigation-item-selector-web$babel/runtime/helpers/interopRequireDefault");

    exports.__esModule = true;
    exports.default = closest;

    var _matches = _interopRequireDefault(require("./matches"));

    function closest(node, selector, stopAt) {
      if (node.closest && !stopAt) node.closest(selector);
      var nextNode = node;

      do {
        if ((0, _matches.default)(nextNode, selector)) return nextNode;
        nextNode = nextNode.parentElement;
      } while (nextNode && nextNode !== stopAt && nextNode.nodeType === document.ELEMENT_NODE);

      return null;
    }

    module.exports = exports["default"];
  }
});
//# sourceMappingURL=closest.js.map