isInViewport function
Returns true if element is visible in viewport.
Implementation
bool isInViewport(Element element, {bool fully = false}) {
var rect = element.getBoundingClientRect();
var windowWidth = min(
window.innerWidth,
document.documentElement!.clientWidth,
);
var windowHeight = min(
window.innerHeight,
document.documentElement!.clientHeight,
);
if (fully) {
return rect.left >= 0 &&
rect.top >= 0 &&
rect.right < windowWidth &&
rect.bottom < windowHeight;
} else {
return rect.bottom > 0 &&
rect.right > 0 &&
rect.left < windowWidth &&
rect.top < windowHeight;
}
}