UNPKG

@taiga-ui/kit

Version:
18 lines 2.88 kB
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=