UNPKG

@ng-web-apis/common

Version:
14 lines 2.91 kB
import { DOCUMENT } from '@angular/common'; import { inject, InjectionToken } from '@angular/core'; import { distinctUntilChanged, fromEvent, map, shareReplay, startWith } from 'rxjs'; export const WA_PAGE_VISIBILITY = new InjectionToken('[WA_PAGE_VISIBILITY]', { factory: () => { const documentRef = inject(DOCUMENT); return fromEvent(documentRef, 'visibilitychange').pipe(startWith(0), map(() => documentRef.visibilityState !== 'hidden'), distinctUntilChanged(), shareReplay({ refCount: false, bufferSize: 1 })); }, }); /** * @deprecated: drop in v5.0, use {@link WA_PAGE_VISIBILITY} */ export const PAGE_VISIBILITY = WA_PAGE_VISIBILITY; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3Rva2Vucy9wYWdlLXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2hELHNCQUFzQixFQUN0QjtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckMsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDLEVBQ25ELG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDO0NBQ0osQ0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRofSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IFdBX1BBR0VfVklTSUJJTElUWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPGJvb2xlYW4+PihcbiAgICAnW1dBX1BBR0VfVklTSUJJTElUWV0nLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRSZWYgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAndmlzaWJpbGl0eWNoYW5nZScpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBkb2N1bWVudFJlZi52aXNpYmlsaXR5U3RhdGUgIT09ICdoaWRkZW4nKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHNoYXJlUmVwbGF5KHtyZWZDb3VudDogZmFsc2UsIGJ1ZmZlclNpemU6IDF9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgfSxcbik7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMCwgdXNlIHtAbGluayBXQV9QQUdFX1ZJU0lCSUxJVFl9XG4gKi9cbmV4cG9ydCBjb25zdCBQQUdFX1ZJU0lCSUxJVFkgPSBXQV9QQUdFX1ZJU0lCSUxJVFk7XG4iXX0=