// from react-select export function scrollIntoView($scrollingEl, $focusedEl) { const scrollingReact = $scrollingEl.getBoundingClientRect() const focusedRect = $focusedEl.getBoundingClientRect() const overScroll = $focusedEl.offsetHeight / 3 if (focusedRect.bottom + overScroll > scrollingReact.bottom) { $scrollingEl.scrollTop = Math.min( $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll, $scrollingEl.scrollHeight, ) } else if (focusedRect.top - overScroll < scrollingReact.top) { $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0) } }