tdesign-react
Version:
TDesign Component for React
36 lines (32 loc) • 1.09 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
import { elementInViewport } from '../../_util/dom.js';
import 'raf';
import 'lodash-es';
import '../../_util/easing.js';
function getScrollParent(element) {
var style = getComputedStyle(element);
var excludeStaticParent = style.position === "absolute";
var overflowRegex = /(auto|scroll)/;
if (style.position === "fixed") return document.body;
for (var parent = element; parent.parentElement;) {
parent = parent.parentElement;
style = getComputedStyle(parent);
if (excludeStaticParent && style.position === "static") {
continue;
}
if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;
}
return document.body;
}
function scrollToParentVisibleArea(element) {
var parent = getScrollParent(element);
if (parent === document.body) return;
if (elementInViewport(element, parent)) return;
parent.scrollTop = element.offsetTop - parent.offsetTop;
}
export { getScrollParent, scrollToParentVisibleArea };
//# sourceMappingURL=getScrollParent.js.map