@ozen-ui/kit
Version:
React component library
27 lines (26 loc) • 962 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.scrollContainerToElement = scrollContainerToElement;
function scrollContainerToElement(_a) {
var container = _a.container, element = _a.element, _b = _a.behavior, behavior = _b === void 0 ? 'smooth' : _b;
if (!container || !element) {
return;
}
if (container.clientHeight >= container.scrollHeight) {
return;
}
var scrollBottom = container.clientHeight + container.scrollTop;
var elementBottom = element.offsetTop + element.offsetHeight;
if (elementBottom > scrollBottom) {
container.scrollTo({
behavior: behavior,
top: elementBottom - container.clientHeight,
});
}
else if (element.offsetTop - element.offsetHeight < container.scrollTop) {
container.scrollTo({
behavior: behavior,
top: element.offsetTop - element.offsetHeight,
});
}
}
;