Repository URL to install this package:
|
Version:
3.12.20 ▾
|
var getScrollableParent = function getScrollableParent(elemNode) {
if (!elemNode || elemNode.nodeName === '#document' || elemNode.nodeName === 'HTML') {
var _ref, _document$scrollingEl;
return (_ref = (_document$scrollingEl = document.scrollingElement) !== null && _document$scrollingEl !== void 0 ? _document$scrollingEl : document.body) !== null && _ref !== void 0 ? _ref : window;
}
var _window$getComputedSt = window.getComputedStyle(elemNode),
overflowY = _window$getComputedSt.overflowY;
var noScrollValues = ['visible', 'hidden', 'initial'];
var isScrollable = !noScrollValues.includes(overflowY === null || overflowY === void 0 ? void 0 : overflowY.toLowerCase());
if (isScrollable && (elemNode.scrollHeight > elemNode.clientHeight || elemNode.dataset.scroller)) {
return elemNode;
}
return getScrollableParent(elemNode.parentNode);
};
export default getScrollableParent;