UNPKG

@puzzleitc/puzzle-shell

Version:

The standard design for Puzzle tools

15 lines (14 loc) 477 B
export function isNodeOrChild(element, nodeName) { return (element && element instanceof HTMLElement && (element.nodeName.toLowerCase() === nodeName || element.closest(nodeName) != null)); } export function scrollIntoViewIfNeeded(target) { if (target.getBoundingClientRect().bottom > window.innerHeight) { target.scrollIntoView(false); } if (target.getBoundingClientRect().top < 0) { target.scrollIntoView(); } }