@taiga-ui/kit
Version:
Taiga UI Angular main components kit
18 lines • 2.88 kB
JavaScript
export function scrollToElement(element, container) {
var scrolledWidth = container.offsetWidth + container.scrollLeft;
var elementWidth = element.offsetWidth;
var elementX = container.scrollLeft +
element.getBoundingClientRect().left -
container.getBoundingClientRect().left;
var elementDidNotFitRight = elementX + elementWidth > scrolledWidth;
var elementDidNotFitLeft = container.scrollLeft > elementX;
var deltaXRight = elementX + elementWidth - scrolledWidth;
var deltaXLeft = elementX - container.scrollLeft;
if (elementDidNotFitRight) {
container.scrollLeft += deltaXRight;
}
if (elementDidNotFitLeft) {
container.scrollLeft += deltaXLeft;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvLWVsZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L3V0aWxzL2RvbS8iLCJzb3VyY2VzIjpbInNjcm9sbC10by1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxlQUFlLENBQUMsT0FBb0IsRUFBRSxTQUFzQjtJQUN4RSxJQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDbkUsSUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUN6QyxJQUFNLFFBQVEsR0FDVixTQUFTLENBQUMsVUFBVTtRQUNwQixPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJO1FBQ3BDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksQ0FBQztJQUMzQyxJQUFNLHFCQUFxQixHQUFHLFFBQVEsR0FBRyxZQUFZLEdBQUcsYUFBYSxDQUFDO0lBQ3RFLElBQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDN0QsSUFBTSxXQUFXLEdBQUcsUUFBUSxHQUFHLFlBQVksR0FBRyxhQUFhLENBQUM7SUFDNUQsSUFBTSxVQUFVLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFbkQsSUFBSSxxQkFBcUIsRUFBRTtRQUN2QixTQUFTLENBQUMsVUFBVSxJQUFJLFdBQVcsQ0FBQztLQUN2QztJQUVELElBQUksb0JBQW9CLEVBQUU7UUFDdEIsU0FBUyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUM7S0FDdEM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbFRvRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCwgY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHNjcm9sbGVkV2lkdGggPSBjb250YWluZXIub2Zmc2V0V2lkdGggKyBjb250YWluZXIuc2Nyb2xsTGVmdDtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IGVsZW1lbnRYID1cbiAgICAgICAgY29udGFpbmVyLnNjcm9sbExlZnQgK1xuICAgICAgICBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgICBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcbiAgICBjb25zdCBlbGVtZW50RGlkTm90Rml0UmlnaHQgPSBlbGVtZW50WCArIGVsZW1lbnRXaWR0aCA+IHNjcm9sbGVkV2lkdGg7XG4gICAgY29uc3QgZWxlbWVudERpZE5vdEZpdExlZnQgPSBjb250YWluZXIuc2Nyb2xsTGVmdCA+IGVsZW1lbnRYO1xuICAgIGNvbnN0IGRlbHRhWFJpZ2h0ID0gZWxlbWVudFggKyBlbGVtZW50V2lkdGggLSBzY3JvbGxlZFdpZHRoO1xuICAgIGNvbnN0IGRlbHRhWExlZnQgPSBlbGVtZW50WCAtIGNvbnRhaW5lci5zY3JvbGxMZWZ0O1xuXG4gICAgaWYgKGVsZW1lbnREaWROb3RGaXRSaWdodCkge1xuICAgICAgICBjb250YWluZXIuc2Nyb2xsTGVmdCArPSBkZWx0YVhSaWdodDtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudERpZE5vdEZpdExlZnQpIHtcbiAgICAgICAgY29udGFpbmVyLnNjcm9sbExlZnQgKz0gZGVsdGFYTGVmdDtcbiAgICB9XG59XG4iXX0=