UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

32 lines (31 loc) 1.08 kB
//#region src/client/focus-manager.ts const kFocusManager = Symbol.for("better-auth:focus-manager"); var WindowFocusManager = class { listeners = /* @__PURE__ */ new Set(); subscribe(listener) { this.listeners.add(listener); return () => { this.listeners.delete(listener); }; } setFocused(focused) { this.listeners.forEach((listener) => listener(focused)); } setup() { if (typeof window === "undefined" || typeof document === "undefined" || typeof window.addEventListener === "undefined") return () => {}; const visibilityHandler = () => { if (document.visibilityState === "visible") this.setFocused(true); }; document.addEventListener("visibilitychange", visibilityHandler, false); return () => { document.removeEventListener("visibilitychange", visibilityHandler, false); }; } }; function getGlobalFocusManager() { if (!globalThis[kFocusManager]) globalThis[kFocusManager] = new WindowFocusManager(); return globalThis[kFocusManager]; } //#endregion export { getGlobalFocusManager, kFocusManager }; //# sourceMappingURL=focus-manager.mjs.map