isIntersectingViewport property
Resolves to true if the element is visible in the current viewport.
Implementation
Future<bool?> get isIntersectingViewport {
return evaluate(
//language=js
'''
async function _(element) {
const visibleRatio = await new Promise(resolve => {
const observer = new IntersectionObserver(entries => {
resolve(entries[0].intersectionRatio);
observer.disconnect();
});
observer.observe(element);
});
return visibleRatio > 0;
}''');
}