detect-tab
Version:
A comprehensive tab detection and management library for web applications
44 lines (37 loc) • 1.19 kB
text/typescript
// Main exports
export { DetectTab } from './DetectTab';
// Type exports
export {
TabState,
TabEvent,
DetectTabOptions,
TabInfo,
TabEventCallback,
TabStateChangeCallback,
TabFocusCallback
} from './types';
// Utility exports
export {
isVisibilityAPISupported,
isBrowserSupported,
getVisibilityProperties,
debounce,
now,
formatDuration,
safeJSONParse,
isStorageAvailable
} from './utils';
import { DetectTab } from './DetectTab';
import { TabState, TabInfo } from './types';
// Create a default instance for simple usage
const defaultInstance = typeof window !== 'undefined' ? new DetectTab() : null;
/**
* Simple functions using the default instance
*/
export const isVisible = (): boolean => defaultInstance?.isVisible() ?? false;
export const isFocused = (): boolean => defaultInstance?.isFocused() ?? false;
export const getState = (): TabState => defaultInstance?.getState() ?? TabState.VISIBLE;
export const getTabInfo = (): TabInfo | null => defaultInstance?.getTabInfo() ?? null;
export const getTimeStats = () => defaultInstance?.getTimeStats() ?? null;
// Default export
export default DetectTab;