#import #import #import #import // https://w3c.github.io/IntersectionObserver/#intersection-observer-callback callback IntersectionObserverCallback = undefined (sequence entries, IntersectionObserver observer); // https://w3c.github.io/IntersectionObserver/#intersection-observer-interface [Exposed=(Window)] interface IntersectionObserver { constructor(IntersectionObserverCallback callback, optional IntersectionObserverInit options = {}); readonly attribute (Element or Document)? root; readonly attribute DOMString rootMargin; readonly attribute DOMString scrollMargin; // FIXME: `sequence` should be `FrozenArray` readonly attribute sequence thresholds; readonly attribute long delay; readonly attribute boolean trackVisibility; undefined observe(Element target); undefined unobserve(Element target); undefined disconnect(); sequence takeRecords(); }; // https://w3c.github.io/IntersectionObserver/#intersection-observer-init dictionary IntersectionObserverInit { (Element or Document)? root = null; DOMString rootMargin = "0px"; DOMString scrollMargin = "0px"; (double or sequence) threshold = 0; long delay = 0; boolean trackVisibility = false; };