jobiqo-cl
Version:
[](https://circleci.com/gh/jobiqo/jobiqo-cl)
28 lines (20 loc) • 844 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var array = require('./utils/array.js');
var allAffected = require('./utils/all-affected.js');
var focusInFrame = function focusInFrame(frame) {
return frame === document.activeElement;
};
var focusInsideIframe = function focusInsideIframe(topNode) {
return !!array.arrayFind(array.toArray(topNode.querySelectorAll('iframe')), focusInFrame);
};
var focusInside = function focusInside(topNode) {
var activeElement = document && document.activeElement;
if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {
return false;
}
return allAffected.default(topNode).reduce(function (result, node) {
return result || node.contains(activeElement) || focusInsideIframe(node);
}, false);
};
exports.default = focusInside;