browser-presence

Read-only boolean for "is the user actually here": true when the tab is visible and the window is focused. Composes browser-visibility and browser-focus.

Install

bun add @valdres/browser-presence

Live example

Loading demo…

Usage

import { Component } from "@angular/core"
import { injectValue } from "valdres-angular"
import { presenceSelector } from "@valdres/browser-presence"

@Component({
    selector: "presence-dot",
    template: `{{ present() ? "Active" : "Away" }}`,
})
export class PresenceDot {
    present = injectValue(presenceSelector) // Signal<boolean>
}

Exports

ExportKindType
presenceSelectorselector (read-only)boolean

Cross-framework

presenceSelector is a global selector — read it with store.get / store.sub in plain JS. It recomputes whenever the visibility or focus subscription fires.