@paperbits/common
Version:
Paperbits common components.
25 lines (21 loc) • 772 B
text/typescript
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import { BehaviorHandle } from "./behavior"; // Changed import path
export class WhenInViewBehavior {
public static attach(element: HTMLElement, callback: () => void): BehaviorHandle {
const onIntersect = (entries) => {
entries.forEach(entry => {
if (entry.isIntersecting && callback) {
callback();
}
});
};
const observer = new IntersectionObserver(onIntersect);
observer.observe(element);
return {
detach: () => { // Renamed dispose to detach
observer.disconnect();
}
};
}
}