@fastkit/visibility
Version:
A library to watch the visible state of the browser window.
25 lines (22 loc) • 1.05 kB
TypeScript
type VisibilityTypedCallback = (event: Event) => any;
type VisibilityStateListener = (state: VisibilityState, event: Event) => any;
declare const states: readonly ["visible", "hidden"];
type VisibilityState = (typeof states)[number];
declare class VisibilityManager {
private _state;
private _stateListeners;
private _typedCallbacks;
get state(): VisibilityState;
get isVisible(): boolean;
get isHidden(): boolean;
constructor();
private _setState;
private _triggerStateListeners;
private _triggerTypedCallback;
change(listener: VisibilityStateListener): () => void;
visible(callback: VisibilityTypedCallback): () => void;
hidden(callback: VisibilityTypedCallback): () => void;
remove(listenerOrCallback: VisibilityStateListener | VisibilityTypedCallback, targetState?: VisibilityState | 'change'): void;
}
declare const visibilityManager: VisibilityManager;
export { VisibilityManager, type VisibilityState, type VisibilityStateListener, type VisibilityTypedCallback, visibilityManager };