{"version":3,"file":"ng-web-apis-common.mjs","sources":["../../../libs/common/src/tokens/window.ts","../../../libs/common/src/tokens/animation-frame.ts","../../../libs/common/src/tokens/caches.ts","../../../libs/common/src/tokens/crypto.ts","../../../libs/common/src/tokens/css.ts","../../../libs/common/src/tokens/history.ts","../../../libs/common/src/tokens/local-storage.ts","../../../libs/common/src/tokens/location.ts","../../../libs/common/src/tokens/navigator.ts","../../../libs/common/src/tokens/media-devices.ts","../../../libs/common/src/tokens/network-information.ts","../../../libs/common/src/tokens/page-visibility.ts","../../../libs/common/src/tokens/performance.ts","../../../libs/common/src/tokens/screen.ts","../../../libs/common/src/tokens/session-storage.ts","../../../libs/common/src/tokens/speech-recognition.ts","../../../libs/common/src/tokens/speech-synthesis.ts","../../../libs/common/src/tokens/user-agent.ts","../../../libs/common/src/ng-web-apis-common.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\n\nexport const WA_WINDOW = new InjectionToken<Window>('[WA_WINDOW]', {\n    factory: () => {\n        const {defaultView} = inject(DOCUMENT);\n\n        if (!defaultView) {\n            throw new Error('Window is not available');\n        }\n\n        return defaultView;\n    },\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_WINDOW}\n */\nexport const WINDOW = WA_WINDOW;\n","import {inject, InjectionToken} from '@angular/core';\nimport {Observable, share} from 'rxjs';\n\nimport {WINDOW} from './window';\n\nexport const WA_ANIMATION_FRAME = new InjectionToken<Observable<DOMHighResTimeStamp>>(\n    '[WA_ANIMATION_FRAME]',\n    {\n        factory: () => {\n            const {requestAnimationFrame, cancelAnimationFrame} = inject(WINDOW);\n            const animationFrame$ = new Observable<DOMHighResTimeStamp>((subscriber) => {\n                let id = NaN;\n                const callback = (timestamp: DOMHighResTimeStamp): void => {\n                    subscriber.next(timestamp);\n                    id = requestAnimationFrame(callback);\n                };\n\n                id = requestAnimationFrame(callback);\n\n                return () => {\n                    cancelAnimationFrame(id);\n                };\n            });\n\n            return animationFrame$.pipe(share());\n        },\n    },\n);\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_ANIMATION_FRAME}\n */\nexport const ANIMATION_FRAME = WA_ANIMATION_FRAME;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_CACHES = new InjectionToken<CacheStorage>('[WA_CACHES]', {\n    factory: () => inject(WINDOW).caches,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_CACHES}\n */\nexport const CACHES = WA_CACHES;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_CRYPTO = new InjectionToken<Crypto>('[WA_CRYPTO]', {\n    factory: () => inject(WINDOW).crypto,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_CRYPTO}\n */\nexport const CRYPTO = WA_CRYPTO;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\ndeclare global {\n    interface Window {\n        CSS: typeof CSS;\n    }\n}\n\nexport const WA_CSS = new InjectionToken<typeof CSS>('[WA_CSS]', {\n    factory: () =>\n        inject(WINDOW).CSS ??\n        ({\n            escape: (v) => v,\n            // eslint-disable-next-line no-restricted-syntax\n            supports: () => false,\n        } satisfies typeof CSS),\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_CSS}\n */\nexport const TOKEN_CSS = WA_CSS;\n\nexport {TOKEN_CSS as CSS};\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_HISTORY = new InjectionToken<History>('[WA_HISTORY]', {\n    factory: () => inject(WINDOW).history,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_HISTORY}\n */\nexport const HISTORY = WA_HISTORY;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_LOCAL_STORAGE = new InjectionToken<Storage>('[WA_LOCAL_STORAGE]', {\n    factory: () => inject(WINDOW).localStorage,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_LOCAL_STORAGE}\n */\nexport const LOCAL_STORAGE = WA_LOCAL_STORAGE;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_LOCATION = new InjectionToken<Location>('[WA_LOCATION]', {\n    factory: () => inject(WINDOW).location,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_LOCATION}\n */\nexport const LOCATION = WA_LOCATION;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_NAVIGATOR = new InjectionToken<Navigator>('[WA_NAVIGATOR]', {\n    factory: () => inject(WINDOW).navigator,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_NAVIGATOR}\n */\nexport const NAVIGATOR = WA_NAVIGATOR;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {NAVIGATOR} from './navigator';\n\nexport const WA_MEDIA_DEVICES = new InjectionToken<MediaDevices>('[WA_MEDIA_DEVICES]', {\n    factory: () => inject(NAVIGATOR).mediaDevices,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_MEDIA_DEVICES}\n */\nexport const MEDIA_DEVICES = WA_MEDIA_DEVICES;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WA_NAVIGATOR} from './navigator';\n\nexport const WA_NETWORK_INFORMATION = new InjectionToken<\n    // @ts-ignore\n    (typeof navigator)['connection'] | null\n>('[WA_NETWORK_INFORMATION]', {\n    // @ts-ignore\n    factory: () => inject(WA_NAVIGATOR).connection || null,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_NETWORK_INFORMATION}\n */\nexport const NETWORK_INFORMATION = WA_NETWORK_INFORMATION;\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport type {Observable} from 'rxjs';\nimport {distinctUntilChanged, fromEvent, map, shareReplay, startWith} from 'rxjs';\n\nexport const WA_PAGE_VISIBILITY = new InjectionToken<Observable<boolean>>(\n    '[WA_PAGE_VISIBILITY]',\n    {\n        factory: () => {\n            const documentRef = inject(DOCUMENT);\n\n            return fromEvent(documentRef, 'visibilitychange').pipe(\n                startWith(0),\n                map(() => documentRef.visibilityState !== 'hidden'),\n                distinctUntilChanged(),\n                shareReplay({refCount: false, bufferSize: 1}),\n            );\n        },\n    },\n);\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_PAGE_VISIBILITY}\n */\nexport const PAGE_VISIBILITY = WA_PAGE_VISIBILITY;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_PERFORMANCE = new InjectionToken<Performance>('[WA_PERFORMANCE]', {\n    factory: () => inject(WINDOW).performance,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_PERFORMANCE}\n */\nexport const PERFORMANCE = WA_PERFORMANCE;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_SCREEN = new InjectionToken<Screen>('[WA_SCREEN]', {\n    factory: () => inject(WINDOW).screen,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_SCREEN}\n */\nexport const SCREEN = WA_SCREEN;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_SESSION_STORAGE = new InjectionToken<Storage>('[WA_SESSION_STORAGE]', {\n    factory: () => inject(WINDOW).sessionStorage,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_SESSION_STORAGE}\n */\nexport const SESSION_STORAGE = WA_SESSION_STORAGE;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_SPEECH_RECOGNITION = new InjectionToken<\n    // @ts-ignore\n    (typeof window)['speechRecognition'] | null\n>('[WA_SPEECH_RECOGNITION]: [SPEECH_RECOGNITION]', {\n    factory: () => {\n        const windowRef: any = inject(WINDOW);\n\n        return windowRef.speechRecognition || windowRef.webkitSpeechRecognition || null;\n    },\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_SPEECH_RECOGNITION}\n */\nexport const SPEECH_RECOGNITION = WA_SPEECH_RECOGNITION;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {WINDOW} from './window';\n\nexport const WA_SPEECH_SYNTHESIS = new InjectionToken<SpeechSynthesis>(\n    '[WA_SPEECH_SYNTHESIS]',\n    {\n        factory: () => inject(WINDOW).speechSynthesis,\n    },\n);\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_SPEECH_SYNTHESIS}\n */\nexport const SPEECH_SYNTHESIS = WA_SPEECH_SYNTHESIS;\n","import {inject, InjectionToken} from '@angular/core';\n\nimport {NAVIGATOR} from './navigator';\n\nexport const WA_USER_AGENT = new InjectionToken<string>('[WA_USER_AGENT]', {\n    factory: () => inject(NAVIGATOR).userAgent,\n});\n\n/**\n * @deprecated: drop in v5.0, use {@link WA_USER_AGENT}\n */\nexport const USER_AGENT = WA_USER_AGENT;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}