isIntersectingViewport property

Future<bool?> isIntersectingViewport

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;
}''');
}