UNPKG

@ozen-ui/kit

Version:

React component library

27 lines (26 loc) 962 B
"use strict"; 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, }); } }