UNPKG

@ozen-ui/kit

Version:

React component library

24 lines (23 loc) 831 B
export 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, }); } }