tdesign-vue-next
Version:
TDesign Component for vue-next
48 lines (42 loc) • 1.56 kB
JavaScript
/**
* tdesign v1.20.2
* (c) 2026 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var dom = require('../../_chunks/dep-51846987.js');
require('vue');
require('../../_chunks/dep-449273df.js');
require('../../_chunks/dep-f9b59444.js');
require('../../_chunks/dep-80827572.js');
require('../../_chunks/dep-2610df9f.js');
require('@babel/runtime/helpers/typeof');
require('../../_chunks/dep-2c7a67b8.js');
require('../../_chunks/dep-be760bc2.js');
require('../../_chunks/dep-959f4847.js');
require('../../_chunks/dep-6e64ef0e.js');
function getScrollParent(element) {
var style = window.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 = window.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 (dom.elementInViewport(element, parent)) return;
parent.scrollTop = element.offsetTop - parent.offsetTop;
}
exports.getScrollParent = getScrollParent;
exports.scrollToParentVisibleArea = scrollToParentVisibleArea;
//# sourceMappingURL=getScrollParent.js.map