Files
flights_web_raw/node_modules/focus-lock/dist/es2015/focusInside.js
T

14 lines
733 B
JavaScript

import { getAllAffectedNodes } from './utils/all-affected';
import { toArray } from './utils/array';
var focusInFrame = function (frame) { return frame === document.activeElement; };
var focusInsideIframe = function (topNode) {
return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node); }));
};
export var focusInside = function (topNode) {
var activeElement = document && document.activeElement;
if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {
return false;
}
return getAllAffectedNodes(topNode).reduce(function (result, node) { return result || node.contains(activeElement) || focusInsideIframe(node); }, false);
};