scrolls an elements into view, recursively aligning parents.
The engine that powers scroll-into-view-if-needed
Ponyfill for upcoming Element.scrollIntoView() APIs like scrollMode: if-needed, behavior: smooth and block: center
scroll dom node into view automatically