react-overlays
Version:
Utilities for creating robust overlay components
17 lines (14 loc) • 586 B
JavaScript
import isWindow from 'dom-helpers/isWindow';
import ownerDocument from 'dom-helpers/ownerDocument';
function isBody(node) {
return node && node.tagName.toLowerCase() === 'body';
}
function bodyIsOverflowing(node) {
var doc = isWindow(node) ? ownerDocument() : ownerDocument(node);
var win = isWindow(node) || doc.defaultView;
return doc.body.clientWidth < win.innerWidth;
}
export default function isOverflowing(container) {
var win = isWindow(container);
return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;
}