UNPKG

@fastkit/visibility

Version:

A library to watch the visible state of the browser window.

25 lines (22 loc) 1.05 kB
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 };