@angular-helpers/browser-web-apis 21.2.0 → 21.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.es.md +105 -0
- package/README.md +190 -0
- package/fesm2022/angular-helpers-browser-web-apis.mjs +1123 -140
- package/package.json +9 -1
- package/types/angular-helpers-browser-web-apis.d.ts +576 -54
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { DestroyRef,
|
|
3
|
+
import { DestroyRef, ElementRef, Signal, EnvironmentProviders } from '@angular/core';
|
|
4
4
|
import { CanActivateFn } from '@angular/router';
|
|
5
5
|
|
|
6
6
|
type PermissionNameExt = PermissionName | 'clipboard-read' | 'clipboard-write';
|
|
@@ -21,44 +21,74 @@ declare class PermissionsService implements BrowserPermissions {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Base class for all Browser Web API services
|
|
24
|
+
* Base class for all Browser Web API services.
|
|
25
25
|
* Provides common functionality for:
|
|
26
|
-
* -
|
|
27
|
-
* -
|
|
28
|
-
* - Error
|
|
26
|
+
* - Platform detection (browser vs server)
|
|
27
|
+
* - Support assertion via Template Method
|
|
28
|
+
* - Error creation with cause chaining
|
|
29
|
+
* - Structured logging
|
|
29
30
|
* - Lifecycle management with destroyRef
|
|
30
|
-
*
|
|
31
|
+
*
|
|
32
|
+
* Services that also need permission querying should extend
|
|
33
|
+
* `PermissionAwareBrowserApiBaseService` instead.
|
|
31
34
|
*/
|
|
32
35
|
declare abstract class BrowserApiBaseService {
|
|
33
|
-
protected permissionsService: PermissionsService;
|
|
34
36
|
protected destroyRef: DestroyRef;
|
|
35
37
|
protected platformId: Object;
|
|
36
38
|
/**
|
|
37
|
-
* Abstract method that must be implemented by child services
|
|
38
|
-
* Returns the API name
|
|
39
|
+
* Abstract method that must be implemented by child services.
|
|
40
|
+
* Returns the API name used in log messages and error strings.
|
|
39
41
|
*/
|
|
40
42
|
protected abstract getApiName(): string;
|
|
41
43
|
/**
|
|
42
|
-
* Check if running in browser environment using Angular's platform detection
|
|
44
|
+
* Check if running in browser environment using Angular's platform detection.
|
|
43
45
|
*/
|
|
44
46
|
protected isBrowserEnvironment(): boolean;
|
|
45
47
|
/**
|
|
46
|
-
* Check if running in server environment using Angular's platform detection
|
|
48
|
+
* Check if running in server environment using Angular's platform detection.
|
|
47
49
|
*/
|
|
48
50
|
protected isServerEnvironment(): boolean;
|
|
49
51
|
/**
|
|
50
|
-
*
|
|
52
|
+
* Template Method: throws a standard error when the API is not available.
|
|
53
|
+
* Uses getApiName() to produce consistent error messages.
|
|
51
54
|
*/
|
|
52
|
-
protected
|
|
55
|
+
protected ensureSupported(): void;
|
|
53
56
|
/**
|
|
54
|
-
* Create an error with proper cause chaining
|
|
57
|
+
* Create an error with proper cause chaining.
|
|
55
58
|
*/
|
|
56
59
|
protected createError(message: string, cause?: unknown): Error;
|
|
60
|
+
/**
|
|
61
|
+
* Log an error with the service name as prefix.
|
|
62
|
+
*/
|
|
63
|
+
protected logError(message: string, error?: unknown): void;
|
|
64
|
+
/**
|
|
65
|
+
* Log an informational message with the service name as prefix.
|
|
66
|
+
*/
|
|
67
|
+
protected logInfo(message: string): void;
|
|
57
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<BrowserApiBaseService, never>;
|
|
58
69
|
static ɵprov: i0.ɵɵInjectableDeclaration<BrowserApiBaseService>;
|
|
59
70
|
}
|
|
60
71
|
|
|
61
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Extension of `BrowserApiBaseService` for services that need to query
|
|
74
|
+
* browser permissions via the Permissions API.
|
|
75
|
+
*
|
|
76
|
+
* Only services that actively call `requestPermission()` should extend this
|
|
77
|
+
* class. All other services should extend `BrowserApiBaseService` directly
|
|
78
|
+
* to avoid carrying an unnecessary PermissionsService dependency.
|
|
79
|
+
*/
|
|
80
|
+
declare abstract class PermissionAwareBrowserApiBaseService extends BrowserApiBaseService {
|
|
81
|
+
protected permissionsService: PermissionsService;
|
|
82
|
+
/**
|
|
83
|
+
* Query the Permissions API for the given permission name.
|
|
84
|
+
* Returns `true` if the permission state is `'granted'`.
|
|
85
|
+
*/
|
|
86
|
+
protected requestPermission(permission: PermissionNameExt): Promise<boolean>;
|
|
87
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PermissionAwareBrowserApiBaseService, never>;
|
|
88
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PermissionAwareBrowserApiBaseService>;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
declare class CameraService extends PermissionAwareBrowserApiBaseService {
|
|
62
92
|
private currentStream;
|
|
63
93
|
protected getApiName(): string;
|
|
64
94
|
private ensureCameraSupport;
|
|
@@ -116,17 +146,16 @@ declare class NotificationService extends BrowserApiBaseService {
|
|
|
116
146
|
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
117
147
|
}
|
|
118
148
|
|
|
119
|
-
declare class ClipboardService extends
|
|
149
|
+
declare class ClipboardService extends PermissionAwareBrowserApiBaseService {
|
|
120
150
|
protected getApiName(): string;
|
|
121
151
|
private ensureClipboardPermission;
|
|
122
152
|
writeText(text: string): Promise<void>;
|
|
123
153
|
readText(): Promise<string>;
|
|
124
|
-
writeTextSecure(text: string): Promise<void>;
|
|
125
154
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, never>;
|
|
126
155
|
static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
|
|
127
156
|
}
|
|
128
157
|
|
|
129
|
-
type BrowserCapabilityId = 'permissions' | 'geolocation' | 'clipboard' | 'notification' | 'mediaDevices' | 'camera' | 'webWorker' | 'regexSecurity' | 'webStorage' | 'webShare' | 'battery' | 'webSocket' | 'intersectionObserver' | 'resizeObserver' | 'pageVisibility' | 'broadcastChannel' | 'networkInformation' | 'screenWakeLock' | 'screenOrientation' | 'fullscreen' | 'fileSystemAccess' | 'mediaRecorder' | 'serverSentEvents' | 'vibration' | 'speechSynthesis';
|
|
158
|
+
type BrowserCapabilityId = 'permissions' | 'geolocation' | 'clipboard' | 'notification' | 'mediaDevices' | 'camera' | 'webWorker' | 'regexSecurity' | 'webStorage' | 'webShare' | 'battery' | 'webSocket' | 'intersectionObserver' | 'resizeObserver' | 'pageVisibility' | 'broadcastChannel' | 'networkInformation' | 'screenWakeLock' | 'screenOrientation' | 'fullscreen' | 'fileSystemAccess' | 'mediaRecorder' | 'serverSentEvents' | 'vibration' | 'speechSynthesis' | 'mutationObserver' | 'performanceObserver' | 'idleDetector' | 'eyeDropper' | 'barcodeDetector' | 'webAudio' | 'gamepad' | 'webBluetooth' | 'webUsb' | 'webNfc' | 'paymentRequest' | 'credentialManagement';
|
|
130
159
|
declare class BrowserCapabilityService {
|
|
131
160
|
getCapabilities(): readonly [{
|
|
132
161
|
readonly id: "permissions";
|
|
@@ -228,12 +257,60 @@ declare class BrowserCapabilityService {
|
|
|
228
257
|
readonly id: "speechSynthesis";
|
|
229
258
|
readonly label: "Speech Synthesis API";
|
|
230
259
|
readonly requiresSecureContext: false;
|
|
260
|
+
}, {
|
|
261
|
+
readonly id: "mutationObserver";
|
|
262
|
+
readonly label: "Mutation Observer";
|
|
263
|
+
readonly requiresSecureContext: false;
|
|
264
|
+
}, {
|
|
265
|
+
readonly id: "performanceObserver";
|
|
266
|
+
readonly label: "Performance Observer";
|
|
267
|
+
readonly requiresSecureContext: false;
|
|
268
|
+
}, {
|
|
269
|
+
readonly id: "idleDetector";
|
|
270
|
+
readonly label: "Idle Detection API";
|
|
271
|
+
readonly requiresSecureContext: true;
|
|
272
|
+
}, {
|
|
273
|
+
readonly id: "eyeDropper";
|
|
274
|
+
readonly label: "EyeDropper API";
|
|
275
|
+
readonly requiresSecureContext: true;
|
|
276
|
+
}, {
|
|
277
|
+
readonly id: "barcodeDetector";
|
|
278
|
+
readonly label: "Barcode Detection API";
|
|
279
|
+
readonly requiresSecureContext: true;
|
|
280
|
+
}, {
|
|
281
|
+
readonly id: "webAudio";
|
|
282
|
+
readonly label: "Web Audio API";
|
|
283
|
+
readonly requiresSecureContext: false;
|
|
284
|
+
}, {
|
|
285
|
+
readonly id: "gamepad";
|
|
286
|
+
readonly label: "Gamepad API";
|
|
287
|
+
readonly requiresSecureContext: true;
|
|
288
|
+
}, {
|
|
289
|
+
readonly id: "webBluetooth";
|
|
290
|
+
readonly label: "Web Bluetooth API";
|
|
291
|
+
readonly requiresSecureContext: true;
|
|
292
|
+
}, {
|
|
293
|
+
readonly id: "webUsb";
|
|
294
|
+
readonly label: "WebUSB API";
|
|
295
|
+
readonly requiresSecureContext: true;
|
|
296
|
+
}, {
|
|
297
|
+
readonly id: "webNfc";
|
|
298
|
+
readonly label: "Web NFC API";
|
|
299
|
+
readonly requiresSecureContext: true;
|
|
300
|
+
}, {
|
|
301
|
+
readonly id: "paymentRequest";
|
|
302
|
+
readonly label: "Payment Request API";
|
|
303
|
+
readonly requiresSecureContext: true;
|
|
304
|
+
}, {
|
|
305
|
+
readonly id: "credentialManagement";
|
|
306
|
+
readonly label: "Credential Management API";
|
|
307
|
+
readonly requiresSecureContext: true;
|
|
231
308
|
}];
|
|
232
309
|
isSecureContext(): boolean;
|
|
233
310
|
isSupported(capability: BrowserCapabilityId): boolean;
|
|
234
311
|
getAllStatuses(): {
|
|
235
|
-
id: "camera" | "geolocation" | "permissions" | "mediaDevices" | "clipboard" | "notification" | "webWorker" | "regexSecurity" | "webStorage" | "webShare" | "battery" | "webSocket" | "intersectionObserver" | "resizeObserver" | "pageVisibility" | "broadcastChannel" | "networkInformation" | "screenWakeLock" | "screenOrientation" | "fullscreen" | "fileSystemAccess" | "mediaRecorder" | "serverSentEvents" | "vibration" | "speechSynthesis";
|
|
236
|
-
label: "Permissions API" | "Geolocation API" | "Clipboard API" | "Notification API" | "MediaDevices API" | "Camera API" | "Web Worker API" | "Regex Security" | "Web Storage" | "Web Share" | "Battery API" | "WebSocket API" | "Intersection Observer" | "Resize Observer" | "Page Visibility API" | "Broadcast Channel API" | "Network Information API" | "Screen Wake Lock API" | "Screen Orientation API" | "Fullscreen API" | "File System Access API" | "MediaRecorder API" | "Server-Sent Events" | "Vibration API" | "Speech Synthesis API";
|
|
312
|
+
id: "camera" | "geolocation" | "permissions" | "mediaDevices" | "clipboard" | "notification" | "webWorker" | "regexSecurity" | "webStorage" | "webShare" | "battery" | "webSocket" | "intersectionObserver" | "resizeObserver" | "pageVisibility" | "broadcastChannel" | "networkInformation" | "screenWakeLock" | "screenOrientation" | "fullscreen" | "fileSystemAccess" | "mediaRecorder" | "serverSentEvents" | "vibration" | "speechSynthesis" | "mutationObserver" | "performanceObserver" | "idleDetector" | "eyeDropper" | "barcodeDetector" | "webAudio" | "gamepad" | "webBluetooth" | "webUsb" | "webNfc" | "paymentRequest" | "credentialManagement";
|
|
313
|
+
label: "Permissions API" | "Geolocation API" | "Clipboard API" | "Notification API" | "MediaDevices API" | "Camera API" | "Web Worker API" | "Regex Security" | "Web Storage" | "Web Share" | "Battery API" | "WebSocket API" | "Intersection Observer" | "Resize Observer" | "Page Visibility API" | "Broadcast Channel API" | "Network Information API" | "Screen Wake Lock API" | "Screen Orientation API" | "Fullscreen API" | "File System Access API" | "MediaRecorder API" | "Server-Sent Events" | "Vibration API" | "Speech Synthesis API" | "Mutation Observer" | "Performance Observer" | "Idle Detection API" | "EyeDropper API" | "Barcode Detection API" | "Web Audio API" | "Gamepad API" | "Web Bluetooth API" | "WebUSB API" | "Web NFC API" | "Payment Request API" | "Credential Management API";
|
|
237
314
|
supported: boolean;
|
|
238
315
|
secureContext: boolean;
|
|
239
316
|
requiresSecureContext: boolean;
|
|
@@ -276,7 +353,6 @@ declare class BatteryService extends BrowserApiBaseService {
|
|
|
276
353
|
initialize(): Promise<BatteryInfo>;
|
|
277
354
|
getBatteryInfo(): BatteryInfo;
|
|
278
355
|
watchBatteryInfo(): Observable<BatteryInfo>;
|
|
279
|
-
private setupEventListeners;
|
|
280
356
|
getNativeBatteryManager(): BatteryManager;
|
|
281
357
|
isCharging(): boolean;
|
|
282
358
|
getLevel(): number;
|
|
@@ -308,6 +384,11 @@ type BrowserError = Error & {
|
|
|
308
384
|
type EventHandler<T = Event> = (event: T) => void;
|
|
309
385
|
type StorageValue = string | number | boolean | object | null;
|
|
310
386
|
type ErrorCallback = (error: BrowserError) => void;
|
|
387
|
+
/**
|
|
388
|
+
* Accepted element input for inject functions.
|
|
389
|
+
* Supports static elements, ElementRef, or deferred signals (e.g. from viewChild).
|
|
390
|
+
*/
|
|
391
|
+
type ElementInput = Element | ElementRef<Element> | Signal<Element | ElementRef<Element> | undefined>;
|
|
311
392
|
|
|
312
393
|
interface StorageOptions {
|
|
313
394
|
prefix?: string;
|
|
@@ -444,8 +525,8 @@ interface IntersectionObserverOptions {
|
|
|
444
525
|
rootMargin?: string;
|
|
445
526
|
threshold?: number | number[];
|
|
446
527
|
}
|
|
447
|
-
declare class IntersectionObserverService {
|
|
448
|
-
|
|
528
|
+
declare class IntersectionObserverService extends BrowserApiBaseService {
|
|
529
|
+
protected getApiName(): string;
|
|
449
530
|
isSupported(): boolean;
|
|
450
531
|
observe(element: Element, options?: IntersectionObserverOptions): Observable<IntersectionObserverEntry[]>;
|
|
451
532
|
observeVisibility(element: Element, options?: IntersectionObserverOptions): Observable<boolean>;
|
|
@@ -462,8 +543,8 @@ interface ElementSize {
|
|
|
462
543
|
inlineSize: number;
|
|
463
544
|
blockSize: number;
|
|
464
545
|
}
|
|
465
|
-
declare class ResizeObserverService {
|
|
466
|
-
|
|
546
|
+
declare class ResizeObserverService extends BrowserApiBaseService {
|
|
547
|
+
protected getApiName(): string;
|
|
467
548
|
isSupported(): boolean;
|
|
468
549
|
observe(element: Element, options?: ResizeObserverOptions): Observable<ResizeObserverEntry[]>;
|
|
469
550
|
observeSize(element: Element, options?: ResizeObserverOptions): Observable<ElementSize>;
|
|
@@ -472,8 +553,8 @@ declare class ResizeObserverService {
|
|
|
472
553
|
}
|
|
473
554
|
|
|
474
555
|
type VisibilityState = 'visible' | 'hidden' | 'prerender';
|
|
475
|
-
declare class PageVisibilityService {
|
|
476
|
-
|
|
556
|
+
declare class PageVisibilityService extends BrowserApiBaseService {
|
|
557
|
+
protected getApiName(): string;
|
|
477
558
|
isSupported(): boolean;
|
|
478
559
|
get isHidden(): boolean;
|
|
479
560
|
get visibilityState(): VisibilityState;
|
|
@@ -483,12 +564,46 @@ declare class PageVisibilityService {
|
|
|
483
564
|
static ɵprov: i0.ɵɵInjectableDeclaration<PageVisibilityService>;
|
|
484
565
|
}
|
|
485
566
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
567
|
+
/**
|
|
568
|
+
* Base class for services that manage a named registry of persistent
|
|
569
|
+
* connections (e.g. BroadcastChannel, EventSource, WebSocket pools).
|
|
570
|
+
*
|
|
571
|
+
* Implements the Template Method pattern: subclasses define how a single
|
|
572
|
+
* native connection is closed via `closeNativeConnection()`, while this
|
|
573
|
+
* class handles the Map lifecycle (remove, closeAll, getActiveKeys).
|
|
574
|
+
*
|
|
575
|
+
* Public-facing method names (`close`, `disconnect`, `getOpenChannels`, etc.)
|
|
576
|
+
* remain the responsibility of the concrete service to preserve the public API.
|
|
577
|
+
*/
|
|
578
|
+
declare abstract class ConnectionRegistryBaseService<T> extends BrowserApiBaseService {
|
|
579
|
+
protected readonly connections: Map<string, T>;
|
|
580
|
+
/**
|
|
581
|
+
* Template Method: close a single native connection.
|
|
582
|
+
* Implemented by each concrete service.
|
|
583
|
+
*/
|
|
584
|
+
protected abstract closeNativeConnection(connection: T): void;
|
|
585
|
+
/**
|
|
586
|
+
* Remove and close the connection registered under `key`.
|
|
587
|
+
* Safe to call even if the key does not exist.
|
|
588
|
+
*/
|
|
589
|
+
protected removeConnection(key: string): void;
|
|
590
|
+
/**
|
|
591
|
+
* Close all registered connections and clear the registry.
|
|
592
|
+
*/
|
|
593
|
+
protected closeAllConnections(): void;
|
|
594
|
+
/**
|
|
595
|
+
* Return the keys of all currently open connections.
|
|
596
|
+
*/
|
|
597
|
+
protected getConnectionKeys(): string[];
|
|
598
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionRegistryBaseService<any>, never>;
|
|
599
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConnectionRegistryBaseService<any>>;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
declare class BroadcastChannelService extends ConnectionRegistryBaseService<BroadcastChannel> {
|
|
603
|
+
protected getApiName(): string;
|
|
604
|
+
protected closeNativeConnection(channel: BroadcastChannel): void;
|
|
490
605
|
isSupported(): boolean;
|
|
491
|
-
private
|
|
606
|
+
private ensureBroadcastChannelSupported;
|
|
492
607
|
open<T = unknown>(name: string): Observable<T>;
|
|
493
608
|
post<T = unknown>(name: string, data: T): void;
|
|
494
609
|
close(name: string): void;
|
|
@@ -509,8 +624,8 @@ interface NetworkInformation {
|
|
|
509
624
|
saveData?: boolean;
|
|
510
625
|
online: boolean;
|
|
511
626
|
}
|
|
512
|
-
declare class NetworkInformationService {
|
|
513
|
-
|
|
627
|
+
declare class NetworkInformationService extends BrowserApiBaseService {
|
|
628
|
+
protected getApiName(): string;
|
|
514
629
|
isSupported(): boolean;
|
|
515
630
|
getSnapshot(): NetworkInformation;
|
|
516
631
|
watch(): Observable<NetworkInformation>;
|
|
@@ -543,8 +658,8 @@ interface OrientationInfo {
|
|
|
543
658
|
type: OrientationType;
|
|
544
659
|
angle: number;
|
|
545
660
|
}
|
|
546
|
-
declare class ScreenOrientationService {
|
|
547
|
-
|
|
661
|
+
declare class ScreenOrientationService extends BrowserApiBaseService {
|
|
662
|
+
protected getApiName(): string;
|
|
548
663
|
isSupported(): boolean;
|
|
549
664
|
getSnapshot(): OrientationInfo;
|
|
550
665
|
get isPortrait(): boolean;
|
|
@@ -556,9 +671,8 @@ declare class ScreenOrientationService {
|
|
|
556
671
|
static ɵprov: i0.ɵɵInjectableDeclaration<ScreenOrientationService>;
|
|
557
672
|
}
|
|
558
673
|
|
|
559
|
-
declare class FullscreenService {
|
|
560
|
-
|
|
561
|
-
private readonly platformId;
|
|
674
|
+
declare class FullscreenService extends BrowserApiBaseService {
|
|
675
|
+
protected getApiName(): string;
|
|
562
676
|
isSupported(): boolean;
|
|
563
677
|
get isFullscreen(): boolean;
|
|
564
678
|
get fullscreenElement(): Element | null;
|
|
@@ -650,12 +764,11 @@ interface SSEConfig {
|
|
|
650
764
|
withCredentials?: boolean;
|
|
651
765
|
eventTypes?: string[];
|
|
652
766
|
}
|
|
653
|
-
declare class ServerSentEventsService {
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
private sources;
|
|
767
|
+
declare class ServerSentEventsService extends ConnectionRegistryBaseService<EventSource> {
|
|
768
|
+
protected getApiName(): string;
|
|
769
|
+
protected closeNativeConnection(source: EventSource): void;
|
|
657
770
|
isSupported(): boolean;
|
|
658
|
-
private
|
|
771
|
+
private ensureSSESupported;
|
|
659
772
|
connect<T = unknown>(url: string, config?: SSEConfig): Observable<SSEMessage<T>>;
|
|
660
773
|
disconnect(url: string): void;
|
|
661
774
|
disconnectAll(): void;
|
|
@@ -672,8 +785,8 @@ interface VibrationPreset {
|
|
|
672
785
|
notification: VibrationPattern;
|
|
673
786
|
doubleTap: VibrationPattern;
|
|
674
787
|
}
|
|
675
|
-
declare class VibrationService {
|
|
676
|
-
|
|
788
|
+
declare class VibrationService extends BrowserApiBaseService {
|
|
789
|
+
protected getApiName(): string;
|
|
677
790
|
readonly presets: VibrationPreset;
|
|
678
791
|
isSupported(): boolean;
|
|
679
792
|
vibrate(pattern?: VibrationPattern): boolean;
|
|
@@ -694,11 +807,10 @@ interface SpeechOptions {
|
|
|
694
807
|
rate?: number;
|
|
695
808
|
pitch?: number;
|
|
696
809
|
}
|
|
697
|
-
declare class SpeechSynthesisService {
|
|
698
|
-
|
|
699
|
-
private readonly platformId;
|
|
810
|
+
declare class SpeechSynthesisService extends BrowserApiBaseService {
|
|
811
|
+
protected getApiName(): string;
|
|
700
812
|
isSupported(): boolean;
|
|
701
|
-
private
|
|
813
|
+
private ensureSpeechSynthesisSupported;
|
|
702
814
|
get state(): SpeechState;
|
|
703
815
|
get isPending(): boolean;
|
|
704
816
|
getVoices(): SpeechSynthesisVoice[];
|
|
@@ -711,6 +823,359 @@ declare class SpeechSynthesisService {
|
|
|
711
823
|
static ɵprov: i0.ɵɵInjectableDeclaration<SpeechSynthesisService>;
|
|
712
824
|
}
|
|
713
825
|
|
|
826
|
+
interface MutationObserverOptions {
|
|
827
|
+
childList?: boolean;
|
|
828
|
+
attributes?: boolean;
|
|
829
|
+
characterData?: boolean;
|
|
830
|
+
subtree?: boolean;
|
|
831
|
+
attributeOldValue?: boolean;
|
|
832
|
+
characterDataOldValue?: boolean;
|
|
833
|
+
attributeFilter?: string[];
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
declare class MutationObserverService extends BrowserApiBaseService {
|
|
837
|
+
protected getApiName(): string;
|
|
838
|
+
isSupported(): boolean;
|
|
839
|
+
observe(target: Node, options?: MutationObserverOptions): Observable<MutationRecord[]>;
|
|
840
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MutationObserverService, never>;
|
|
841
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MutationObserverService>;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
type PerformanceEntryType = 'element' | 'event' | 'first-input' | 'largest-contentful-paint' | 'layout-shift' | 'longtask' | 'mark' | 'measure' | 'navigation' | 'paint' | 'resource' | 'visibility-state';
|
|
845
|
+
interface PerformanceObserverConfig {
|
|
846
|
+
entryTypes?: PerformanceEntryType[];
|
|
847
|
+
type?: PerformanceEntryType;
|
|
848
|
+
buffered?: boolean;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
declare class PerformanceObserverService extends BrowserApiBaseService {
|
|
852
|
+
protected getApiName(): string;
|
|
853
|
+
isSupported(): boolean;
|
|
854
|
+
observe(config: PerformanceObserverConfig): Observable<PerformanceEntryList>;
|
|
855
|
+
observeByType(type: PerformanceEntryType, buffered?: boolean): Observable<PerformanceEntryList>;
|
|
856
|
+
getSupportedEntryTypes(): PerformanceEntryType[];
|
|
857
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceObserverService, never>;
|
|
858
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceObserverService>;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
type UserIdleState = 'active' | 'idle';
|
|
862
|
+
type ScreenIdleState = 'locked' | 'unlocked';
|
|
863
|
+
interface IdleState {
|
|
864
|
+
user: UserIdleState;
|
|
865
|
+
screen: ScreenIdleState;
|
|
866
|
+
}
|
|
867
|
+
interface IdleDetectorOptions {
|
|
868
|
+
threshold?: number;
|
|
869
|
+
}
|
|
870
|
+
declare class IdleDetectorService extends BrowserApiBaseService {
|
|
871
|
+
protected getApiName(): string;
|
|
872
|
+
isSupported(): boolean;
|
|
873
|
+
requestPermission(): Promise<PermissionState>;
|
|
874
|
+
watch(options?: IdleDetectorOptions): Observable<IdleState>;
|
|
875
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IdleDetectorService, never>;
|
|
876
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<IdleDetectorService>;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
interface ColorSelectionResult {
|
|
880
|
+
sRGBHex: string;
|
|
881
|
+
}
|
|
882
|
+
declare class EyeDropperService extends BrowserApiBaseService {
|
|
883
|
+
protected getApiName(): string;
|
|
884
|
+
isSupported(): boolean;
|
|
885
|
+
open(signal?: AbortSignal): Promise<ColorSelectionResult>;
|
|
886
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EyeDropperService, never>;
|
|
887
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<EyeDropperService>;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
type BarcodeFormat = 'aztec' | 'code_128' | 'code_39' | 'code_93' | 'codabar' | 'data_matrix' | 'ean_13' | 'ean_8' | 'itf' | 'pdf417' | 'qr_code' | 'upc_a' | 'upc_e' | 'unknown';
|
|
891
|
+
interface DetectedBarcode {
|
|
892
|
+
boundingBox: DOMRectReadOnly;
|
|
893
|
+
cornerPoints: ReadonlyArray<{
|
|
894
|
+
x: number;
|
|
895
|
+
y: number;
|
|
896
|
+
}>;
|
|
897
|
+
format: BarcodeFormat;
|
|
898
|
+
rawValue: string;
|
|
899
|
+
}
|
|
900
|
+
declare class BarcodeDetectorService extends BrowserApiBaseService {
|
|
901
|
+
protected getApiName(): string;
|
|
902
|
+
isSupported(): boolean;
|
|
903
|
+
getSupportedFormats(): Promise<BarcodeFormat[]>;
|
|
904
|
+
detect(image: ImageBitmapSource, formats?: BarcodeFormat[]): Promise<DetectedBarcode[]>;
|
|
905
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BarcodeDetectorService, never>;
|
|
906
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BarcodeDetectorService>;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
type AudioContextState = 'suspended' | 'running' | 'closed';
|
|
910
|
+
interface AudioAnalyserData {
|
|
911
|
+
frequencyData: Uint8Array;
|
|
912
|
+
timeDomainData: Uint8Array;
|
|
913
|
+
}
|
|
914
|
+
declare class WebAudioService extends BrowserApiBaseService {
|
|
915
|
+
protected getApiName(): string;
|
|
916
|
+
private context;
|
|
917
|
+
isSupported(): boolean;
|
|
918
|
+
getContext(): AudioContext;
|
|
919
|
+
resume(): Promise<void>;
|
|
920
|
+
close(): Promise<void>;
|
|
921
|
+
getState(): AudioContextState;
|
|
922
|
+
createOscillator(type?: OscillatorType, frequency?: number): OscillatorNode;
|
|
923
|
+
createGain(value?: number): GainNode;
|
|
924
|
+
createAnalyser(fftSize?: number): AnalyserNode;
|
|
925
|
+
watchAnalyser(analyser: AnalyserNode, intervalMs?: number): Observable<AudioAnalyserData>;
|
|
926
|
+
decodeAudioData(arrayBuffer: ArrayBuffer): Promise<AudioBuffer>;
|
|
927
|
+
playBuffer(buffer: AudioBuffer, loop?: boolean): AudioBufferSourceNode;
|
|
928
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WebAudioService, never>;
|
|
929
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WebAudioService>;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
interface GamepadState {
|
|
933
|
+
id: string;
|
|
934
|
+
index: number;
|
|
935
|
+
connected: boolean;
|
|
936
|
+
buttons: ReadonlyArray<{
|
|
937
|
+
pressed: boolean;
|
|
938
|
+
value: number;
|
|
939
|
+
}>;
|
|
940
|
+
axes: readonly number[];
|
|
941
|
+
timestamp: number;
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
declare class GamepadService extends BrowserApiBaseService {
|
|
945
|
+
protected getApiName(): string;
|
|
946
|
+
isSupported(): boolean;
|
|
947
|
+
getSnapshot(index: number): GamepadState | null;
|
|
948
|
+
getConnectedGamepads(): GamepadState[];
|
|
949
|
+
watchConnections(): Observable<{
|
|
950
|
+
gamepad: GamepadState;
|
|
951
|
+
type: 'connected' | 'disconnected';
|
|
952
|
+
}>;
|
|
953
|
+
poll(index: number, intervalMs?: number): Observable<GamepadState>;
|
|
954
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GamepadService, never>;
|
|
955
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GamepadService>;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
interface BluetoothRequestDeviceOptions {
|
|
959
|
+
filters?: Array<{
|
|
960
|
+
services?: string[];
|
|
961
|
+
name?: string;
|
|
962
|
+
namePrefix?: string;
|
|
963
|
+
}>;
|
|
964
|
+
optionalServices?: string[];
|
|
965
|
+
acceptAllDevices?: boolean;
|
|
966
|
+
}
|
|
967
|
+
interface BluetoothRemoteGATTServer {
|
|
968
|
+
readonly connected: boolean;
|
|
969
|
+
readonly device: BluetoothDeviceRef;
|
|
970
|
+
connect(): Promise<BluetoothRemoteGATTServer>;
|
|
971
|
+
disconnect(): void;
|
|
972
|
+
getPrimaryService(service: string): Promise<BluetoothRemoteGATTService>;
|
|
973
|
+
}
|
|
974
|
+
interface BluetoothRemoteGATTService {
|
|
975
|
+
getCharacteristic(characteristic: string): Promise<BluetoothRemoteGATTCharacteristic>;
|
|
976
|
+
}
|
|
977
|
+
interface BluetoothRemoteGATTCharacteristic extends EventTarget {
|
|
978
|
+
readonly value: DataView | null;
|
|
979
|
+
readValue(): Promise<DataView>;
|
|
980
|
+
writeValue(value: BufferSource): Promise<void>;
|
|
981
|
+
startNotifications(): Promise<BluetoothRemoteGATTCharacteristic>;
|
|
982
|
+
stopNotifications(): Promise<BluetoothRemoteGATTCharacteristic>;
|
|
983
|
+
}
|
|
984
|
+
interface BluetoothDeviceRef extends EventTarget {
|
|
985
|
+
readonly id: string;
|
|
986
|
+
readonly name: string | undefined;
|
|
987
|
+
readonly gatt: BluetoothRemoteGATTServer | undefined;
|
|
988
|
+
}
|
|
989
|
+
interface UsbDeviceRef {
|
|
990
|
+
readonly vendorId: number;
|
|
991
|
+
readonly productId: number;
|
|
992
|
+
readonly productName: string | undefined;
|
|
993
|
+
readonly manufacturerName: string | undefined;
|
|
994
|
+
readonly serialNumber: string | undefined;
|
|
995
|
+
readonly opened: boolean;
|
|
996
|
+
open(): Promise<void>;
|
|
997
|
+
close(): Promise<void>;
|
|
998
|
+
selectConfiguration(configurationValue: number): Promise<void>;
|
|
999
|
+
claimInterface(interfaceNumber: number): Promise<void>;
|
|
1000
|
+
releaseInterface(interfaceNumber: number): Promise<void>;
|
|
1001
|
+
transferIn(endpointNumber: number, length: number): Promise<UsbTransferResult>;
|
|
1002
|
+
transferOut(endpointNumber: number, data: BufferSource): Promise<UsbTransferResult>;
|
|
1003
|
+
}
|
|
1004
|
+
interface UsbTransferResult {
|
|
1005
|
+
readonly data: DataView | undefined;
|
|
1006
|
+
readonly status: 'ok' | 'stall' | 'babble';
|
|
1007
|
+
}
|
|
1008
|
+
interface UsbDeviceFilterDef {
|
|
1009
|
+
vendorId?: number;
|
|
1010
|
+
productId?: number;
|
|
1011
|
+
classCode?: number;
|
|
1012
|
+
subclassCode?: number;
|
|
1013
|
+
protocolCode?: number;
|
|
1014
|
+
serialNumber?: string;
|
|
1015
|
+
}
|
|
1016
|
+
interface NdefMessage {
|
|
1017
|
+
records: NdefRecord[];
|
|
1018
|
+
}
|
|
1019
|
+
interface NdefRecord {
|
|
1020
|
+
recordType: string;
|
|
1021
|
+
mediaType?: string;
|
|
1022
|
+
id?: string;
|
|
1023
|
+
data?: DataView;
|
|
1024
|
+
encoding?: string;
|
|
1025
|
+
lang?: string;
|
|
1026
|
+
}
|
|
1027
|
+
interface NdefReadingEvent {
|
|
1028
|
+
serialNumber: string;
|
|
1029
|
+
message: NdefMessage;
|
|
1030
|
+
}
|
|
1031
|
+
interface NdefWriteOptions {
|
|
1032
|
+
overwrite?: boolean;
|
|
1033
|
+
signal?: AbortSignal;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
interface BluetoothDeviceInfo {
|
|
1037
|
+
id: string;
|
|
1038
|
+
name: string | undefined;
|
|
1039
|
+
connected: boolean;
|
|
1040
|
+
}
|
|
1041
|
+
declare class WebBluetoothService extends BrowserApiBaseService {
|
|
1042
|
+
protected getApiName(): string;
|
|
1043
|
+
isSupported(): boolean;
|
|
1044
|
+
requestDevice(options?: BluetoothRequestDeviceOptions): Promise<BluetoothDeviceRef>;
|
|
1045
|
+
connect(device: BluetoothDeviceRef): Promise<BluetoothRemoteGATTServer>;
|
|
1046
|
+
disconnect(device: BluetoothDeviceRef): void;
|
|
1047
|
+
watchDisconnection(device: BluetoothDeviceRef): Observable<void>;
|
|
1048
|
+
readCharacteristic(server: BluetoothRemoteGATTServer, serviceUuid: string, characteristicUuid: string): Promise<DataView>;
|
|
1049
|
+
writeCharacteristic(server: BluetoothRemoteGATTServer, serviceUuid: string, characteristicUuid: string, value: BufferSource): Promise<void>;
|
|
1050
|
+
watchCharacteristic(server: BluetoothRemoteGATTServer, serviceUuid: string, characteristicUuid: string): Observable<DataView>;
|
|
1051
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WebBluetoothService, never>;
|
|
1052
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WebBluetoothService>;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
interface UsbDeviceInfo {
|
|
1056
|
+
vendorId: number;
|
|
1057
|
+
productId: number;
|
|
1058
|
+
productName: string | undefined;
|
|
1059
|
+
manufacturerName: string | undefined;
|
|
1060
|
+
serialNumber: string | undefined;
|
|
1061
|
+
opened: boolean;
|
|
1062
|
+
}
|
|
1063
|
+
declare class WebUsbService extends BrowserApiBaseService {
|
|
1064
|
+
protected getApiName(): string;
|
|
1065
|
+
isSupported(): boolean;
|
|
1066
|
+
requestDevice(filters?: UsbDeviceFilterDef[]): Promise<UsbDeviceRef>;
|
|
1067
|
+
getDevices(): Promise<UsbDeviceRef[]>;
|
|
1068
|
+
open(device: UsbDeviceRef): Promise<void>;
|
|
1069
|
+
close(device: UsbDeviceRef): Promise<void>;
|
|
1070
|
+
selectConfiguration(device: UsbDeviceRef, configurationValue: number): Promise<void>;
|
|
1071
|
+
claimInterface(device: UsbDeviceRef, interfaceNumber: number): Promise<void>;
|
|
1072
|
+
releaseInterface(device: UsbDeviceRef, interfaceNumber: number): Promise<void>;
|
|
1073
|
+
transferIn(device: UsbDeviceRef, endpointNumber: number, length: number): Promise<UsbTransferResult>;
|
|
1074
|
+
transferOut(device: UsbDeviceRef, endpointNumber: number, data: BufferSource): Promise<UsbTransferResult>;
|
|
1075
|
+
watchConnection(): Observable<{
|
|
1076
|
+
device: UsbDeviceRef;
|
|
1077
|
+
type: 'connect' | 'disconnect';
|
|
1078
|
+
}>;
|
|
1079
|
+
getDeviceInfo(device: UsbDeviceRef): UsbDeviceInfo;
|
|
1080
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WebUsbService, never>;
|
|
1081
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WebUsbService>;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
declare class WebNfcService extends BrowserApiBaseService {
|
|
1085
|
+
protected getApiName(): string;
|
|
1086
|
+
isSupported(): boolean;
|
|
1087
|
+
scan(): Observable<NdefReadingEvent>;
|
|
1088
|
+
write(message: NdefMessage | string, options?: NdefWriteOptions): Promise<void>;
|
|
1089
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WebNfcService, never>;
|
|
1090
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WebNfcService>;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
interface PaymentMethodConfig {
|
|
1094
|
+
supportedMethods: string;
|
|
1095
|
+
data?: Record<string, unknown>;
|
|
1096
|
+
}
|
|
1097
|
+
interface PaymentDetailsInit {
|
|
1098
|
+
total: {
|
|
1099
|
+
label: string;
|
|
1100
|
+
amount: {
|
|
1101
|
+
currency: string;
|
|
1102
|
+
value: string;
|
|
1103
|
+
};
|
|
1104
|
+
};
|
|
1105
|
+
displayItems?: Array<{
|
|
1106
|
+
label: string;
|
|
1107
|
+
amount: {
|
|
1108
|
+
currency: string;
|
|
1109
|
+
value: string;
|
|
1110
|
+
};
|
|
1111
|
+
}>;
|
|
1112
|
+
}
|
|
1113
|
+
interface PaymentOptionsConfig {
|
|
1114
|
+
requestPayerName?: boolean;
|
|
1115
|
+
requestPayerEmail?: boolean;
|
|
1116
|
+
requestPayerPhone?: boolean;
|
|
1117
|
+
requestShipping?: boolean;
|
|
1118
|
+
}
|
|
1119
|
+
interface PaymentResult {
|
|
1120
|
+
methodName: string;
|
|
1121
|
+
details: Record<string, unknown>;
|
|
1122
|
+
payerName: string | null;
|
|
1123
|
+
payerEmail: string | null;
|
|
1124
|
+
payerPhone: string | null;
|
|
1125
|
+
}
|
|
1126
|
+
declare class PaymentRequestService extends BrowserApiBaseService {
|
|
1127
|
+
protected getApiName(): string;
|
|
1128
|
+
isSupported(): boolean;
|
|
1129
|
+
canMakePayment(methods: PaymentMethodConfig[], details: PaymentDetailsInit): Promise<boolean>;
|
|
1130
|
+
show(methods: PaymentMethodConfig[], details: PaymentDetailsInit, options?: PaymentOptionsConfig): Promise<PaymentResult>;
|
|
1131
|
+
abort(methods: PaymentMethodConfig[], details: PaymentDetailsInit): Promise<void>;
|
|
1132
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PaymentRequestService, never>;
|
|
1133
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PaymentRequestService>;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
interface PasswordCredentialData {
|
|
1137
|
+
id: string;
|
|
1138
|
+
password: string;
|
|
1139
|
+
name?: string;
|
|
1140
|
+
iconURL?: string;
|
|
1141
|
+
}
|
|
1142
|
+
interface PublicKeyCredentialOptions {
|
|
1143
|
+
challenge: BufferSource;
|
|
1144
|
+
rp: {
|
|
1145
|
+
name: string;
|
|
1146
|
+
id?: string;
|
|
1147
|
+
};
|
|
1148
|
+
user: {
|
|
1149
|
+
id: BufferSource;
|
|
1150
|
+
name: string;
|
|
1151
|
+
displayName: string;
|
|
1152
|
+
};
|
|
1153
|
+
pubKeyCredParams: Array<{
|
|
1154
|
+
type: 'public-key';
|
|
1155
|
+
alg: number;
|
|
1156
|
+
}>;
|
|
1157
|
+
timeout?: number;
|
|
1158
|
+
attestation?: AttestationConveyancePreference;
|
|
1159
|
+
authenticatorSelection?: AuthenticatorSelectionCriteria;
|
|
1160
|
+
}
|
|
1161
|
+
interface CredentialResult {
|
|
1162
|
+
id: string;
|
|
1163
|
+
type: string;
|
|
1164
|
+
}
|
|
1165
|
+
declare class CredentialManagementService extends BrowserApiBaseService {
|
|
1166
|
+
protected getApiName(): string;
|
|
1167
|
+
isSupported(): boolean;
|
|
1168
|
+
isPublicKeySupported(): boolean;
|
|
1169
|
+
get(options?: CredentialRequestOptions): Promise<Credential | null>;
|
|
1170
|
+
store(credential: Credential): Promise<void>;
|
|
1171
|
+
createPasswordCredential(data: PasswordCredentialData): Promise<Credential>;
|
|
1172
|
+
createPublicKeyCredential(options: PublicKeyCredentialOptions): Promise<Credential | null>;
|
|
1173
|
+
preventSilentAccess(): Promise<void>;
|
|
1174
|
+
isConditionalMediationAvailable(): Promise<boolean>;
|
|
1175
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CredentialManagementService, never>;
|
|
1176
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CredentialManagementService>;
|
|
1177
|
+
}
|
|
1178
|
+
|
|
714
1179
|
interface MediaDevice {
|
|
715
1180
|
deviceId: string;
|
|
716
1181
|
groupId: string;
|
|
@@ -814,13 +1279,13 @@ interface ResizeRef {
|
|
|
814
1279
|
readonly inlineSize: Signal<number>;
|
|
815
1280
|
readonly blockSize: Signal<number>;
|
|
816
1281
|
}
|
|
817
|
-
declare function injectResizeObserver(elementOrRef:
|
|
1282
|
+
declare function injectResizeObserver(elementOrRef: ElementInput, options?: ResizeObserverOptions): ResizeRef;
|
|
818
1283
|
|
|
819
1284
|
interface IntersectionRef {
|
|
820
1285
|
readonly isIntersecting: Signal<boolean>;
|
|
821
1286
|
readonly isVisible: Signal<boolean>;
|
|
822
1287
|
}
|
|
823
|
-
declare function injectIntersectionObserver(elementOrRef:
|
|
1288
|
+
declare function injectIntersectionObserver(elementOrRef: ElementInput, options?: IntersectionObserverOptions): IntersectionRef;
|
|
824
1289
|
|
|
825
1290
|
interface NetworkInformationRef {
|
|
826
1291
|
readonly snapshot: Signal<NetworkInformation>;
|
|
@@ -844,6 +1309,39 @@ interface ScreenOrientationRef {
|
|
|
844
1309
|
}
|
|
845
1310
|
declare function injectScreenOrientation(): ScreenOrientationRef;
|
|
846
1311
|
|
|
1312
|
+
interface MutationRef {
|
|
1313
|
+
readonly mutations: Signal<MutationRecord[]>;
|
|
1314
|
+
readonly mutationCount: Signal<number>;
|
|
1315
|
+
}
|
|
1316
|
+
declare function injectMutationObserver(elementOrRef: ElementInput, options?: MutationObserverOptions): MutationRef;
|
|
1317
|
+
|
|
1318
|
+
interface PerformanceObserverRef {
|
|
1319
|
+
readonly entries: Signal<PerformanceEntryList>;
|
|
1320
|
+
readonly entryCount: Signal<number>;
|
|
1321
|
+
readonly latestEntry: Signal<PerformanceEntry | undefined>;
|
|
1322
|
+
}
|
|
1323
|
+
declare function injectPerformanceObserver(config: PerformanceObserverConfig): PerformanceObserverRef;
|
|
1324
|
+
|
|
1325
|
+
interface IdleDetectorRef {
|
|
1326
|
+
readonly state: Signal<IdleState>;
|
|
1327
|
+
readonly userState: Signal<UserIdleState>;
|
|
1328
|
+
readonly screenState: Signal<ScreenIdleState>;
|
|
1329
|
+
readonly isUserIdle: Signal<boolean>;
|
|
1330
|
+
readonly isScreenLocked: Signal<boolean>;
|
|
1331
|
+
}
|
|
1332
|
+
declare function injectIdleDetector(options?: IdleDetectorOptions): IdleDetectorRef;
|
|
1333
|
+
|
|
1334
|
+
interface GamepadRef {
|
|
1335
|
+
readonly state: Signal<GamepadState | null>;
|
|
1336
|
+
readonly connected: Signal<boolean>;
|
|
1337
|
+
readonly buttons: Signal<ReadonlyArray<{
|
|
1338
|
+
pressed: boolean;
|
|
1339
|
+
value: number;
|
|
1340
|
+
}>>;
|
|
1341
|
+
readonly axes: Signal<readonly number[]>;
|
|
1342
|
+
}
|
|
1343
|
+
declare function injectGamepad(index: number, intervalMs?: number): GamepadRef;
|
|
1344
|
+
|
|
847
1345
|
declare class BrowserSupportUtil {
|
|
848
1346
|
static isSupported(feature: string): boolean;
|
|
849
1347
|
static getUnsupportedFeatures(): string[];
|
|
@@ -893,6 +1391,18 @@ interface BrowserWebApisConfig {
|
|
|
893
1391
|
enableServerSentEvents?: boolean;
|
|
894
1392
|
enableVibration?: boolean;
|
|
895
1393
|
enableSpeechSynthesis?: boolean;
|
|
1394
|
+
enableMutationObserver?: boolean;
|
|
1395
|
+
enablePerformanceObserver?: boolean;
|
|
1396
|
+
enableIdleDetector?: boolean;
|
|
1397
|
+
enableEyeDropper?: boolean;
|
|
1398
|
+
enableBarcodeDetector?: boolean;
|
|
1399
|
+
enableWebAudio?: boolean;
|
|
1400
|
+
enableGamepad?: boolean;
|
|
1401
|
+
enableWebBluetooth?: boolean;
|
|
1402
|
+
enableWebUsb?: boolean;
|
|
1403
|
+
enableWebNfc?: boolean;
|
|
1404
|
+
enablePaymentRequest?: boolean;
|
|
1405
|
+
enableCredentialManagement?: boolean;
|
|
896
1406
|
}
|
|
897
1407
|
declare const defaultBrowserWebApisConfig: BrowserWebApisConfig;
|
|
898
1408
|
declare function provideBrowserWebApis(config?: BrowserWebApisConfig): EnvironmentProviders;
|
|
@@ -924,8 +1434,20 @@ declare function provideMediaRecorder(): EnvironmentProviders;
|
|
|
924
1434
|
declare function provideServerSentEvents(): EnvironmentProviders;
|
|
925
1435
|
declare function provideVibration(): EnvironmentProviders;
|
|
926
1436
|
declare function provideSpeechSynthesis(): EnvironmentProviders;
|
|
1437
|
+
declare function provideMutationObserver(): EnvironmentProviders;
|
|
1438
|
+
declare function providePerformanceObserver(): EnvironmentProviders;
|
|
1439
|
+
declare function provideIdleDetector(): EnvironmentProviders;
|
|
1440
|
+
declare function provideEyeDropper(): EnvironmentProviders;
|
|
1441
|
+
declare function provideBarcodeDetector(): EnvironmentProviders;
|
|
1442
|
+
declare function provideWebAudio(): EnvironmentProviders;
|
|
1443
|
+
declare function provideGamepad(): EnvironmentProviders;
|
|
1444
|
+
declare function provideWebBluetooth(): EnvironmentProviders;
|
|
1445
|
+
declare function provideWebUsb(): EnvironmentProviders;
|
|
1446
|
+
declare function provideWebNfc(): EnvironmentProviders;
|
|
1447
|
+
declare function providePaymentRequest(): EnvironmentProviders;
|
|
1448
|
+
declare function provideCredentialManagement(): EnvironmentProviders;
|
|
927
1449
|
|
|
928
1450
|
declare const version = "0.1.0";
|
|
929
1451
|
|
|
930
|
-
export { BatteryService, BroadcastChannelService, BrowserApiBaseService, BrowserCapabilityService, BrowserSupportUtil, CameraService, ClipboardService, FileSystemAccessService, FullscreenService, GeolocationService, IntersectionObserverService, MediaDevicesService, MediaRecorderService, NetworkInformationService, NotificationService, PageVisibilityService, PermissionsService, ResizeObserverService, ScreenOrientationService, ScreenWakeLockService, ServerSentEventsService, SpeechSynthesisService, VibrationService, WebShareService, WebSocketService, WebStorageService, WebWorkerService, permissionGuard as createPermissionGuard, defaultBrowserWebApisConfig, injectIntersectionObserver, injectNetworkInformation, injectPageVisibility, injectResizeObserver, injectScreenOrientation, permissionGuard, provideBattery, provideBroadcastChannel, provideBrowserWebApis, provideCamera, provideClipboard, provideCommunicationApis, provideFileSystemAccess, provideFullscreen, provideGeolocation, provideIntersectionObserver, provideLocationApis, provideMediaApis, provideMediaDevices, provideMediaRecorder, provideNetworkInformation, provideNotifications, providePageVisibility, providePermissions, provideResizeObserver, provideScreenOrientation, provideScreenWakeLock, provideServerSentEvents, provideSpeechSynthesis, provideStorageApis, provideVibration, provideWebShare, provideWebSocket, provideWebStorage, provideWebWorker, version };
|
|
931
|
-
export type { BatteryInfo, BatteryManager, BrowserCapabilityId, BrowserError, BrowserPermissions, BrowserWebApisConfig, CameraCapabilities, CameraInfo, ConnectionType, EffectiveConnectionType, ElementSize, ErrorCallback, EventHandler, FileOpenOptions, FileSaveOptions, GeolocationCoordinates, GeolocationError, GeolocationOptions, GeolocationPosition$1 as GeolocationPosition, GeolocationWatchOptions, IntersectionObserverOptions, IntersectionRef, MediaDevice, MediaDeviceKind, MediaDevicesInfo, MediaStreamConstraints$1 as MediaStreamConstraints, MediaTrackConstraints$1 as MediaTrackConstraints, NetworkInformation, NetworkInformationRef, OrientationInfo, OrientationLockType, OrientationType, PageVisibilityRef, PermissionNameExt, PermissionRequest, RecordingOptions, RecordingResult, RecordingState, ResizeObserverOptions, ResizeRef, SSEConfig, SSEConnectionState, SSEMessage, ScreenOrientationRef, SpeechOptions, SpeechState, StorageEvent, StorageOptions, StorageValue, VibrationPattern, VibrationPreset, VisibilityState, WakeLockStatus, WakeLockType, WebSocketConfig, WebSocketMessage, WebSocketStatus, WorkerMessage, WorkerStatus, WorkerTask };
|
|
1452
|
+
export { BarcodeDetectorService, BatteryService, BroadcastChannelService, BrowserApiBaseService, BrowserCapabilityService, BrowserSupportUtil, CameraService, ClipboardService, ConnectionRegistryBaseService, CredentialManagementService, EyeDropperService, FileSystemAccessService, FullscreenService, GamepadService, GeolocationService, IdleDetectorService, IntersectionObserverService, MediaDevicesService, MediaRecorderService, MutationObserverService, NetworkInformationService, NotificationService, PageVisibilityService, PaymentRequestService, PerformanceObserverService, PermissionAwareBrowserApiBaseService, PermissionsService, ResizeObserverService, ScreenOrientationService, ScreenWakeLockService, ServerSentEventsService, SpeechSynthesisService, VibrationService, WebAudioService, WebBluetoothService, WebNfcService, WebShareService, WebSocketService, WebStorageService, WebUsbService, WebWorkerService, permissionGuard as createPermissionGuard, defaultBrowserWebApisConfig, injectGamepad, injectIdleDetector, injectIntersectionObserver, injectMutationObserver, injectNetworkInformation, injectPageVisibility, injectPerformanceObserver, injectResizeObserver, injectScreenOrientation, permissionGuard, provideBarcodeDetector, provideBattery, provideBroadcastChannel, provideBrowserWebApis, provideCamera, provideClipboard, provideCommunicationApis, provideCredentialManagement, provideEyeDropper, provideFileSystemAccess, provideFullscreen, provideGamepad, provideGeolocation, provideIdleDetector, provideIntersectionObserver, provideLocationApis, provideMediaApis, provideMediaDevices, provideMediaRecorder, provideMutationObserver, provideNetworkInformation, provideNotifications, providePageVisibility, providePaymentRequest, providePerformanceObserver, providePermissions, provideResizeObserver, provideScreenOrientation, provideScreenWakeLock, provideServerSentEvents, provideSpeechSynthesis, provideStorageApis, provideVibration, provideWebAudio, provideWebBluetooth, provideWebNfc, provideWebShare, provideWebSocket, provideWebStorage, provideWebUsb, provideWebWorker, version };
|
|
1453
|
+
export type { AudioAnalyserData, AudioContextState, BarcodeFormat, BatteryInfo, BatteryManager, BluetoothDeviceInfo, BluetoothDeviceRef, BluetoothRequestDeviceOptions, BrowserCapabilityId, BrowserError, BrowserPermissions, BrowserWebApisConfig, CameraCapabilities, CameraInfo, ColorSelectionResult, ConnectionType, CredentialResult, DetectedBarcode, EffectiveConnectionType, ElementInput, ElementSize, ErrorCallback, EventHandler, FileOpenOptions, FileSaveOptions, GamepadRef, GamepadState, GeolocationCoordinates, GeolocationError, GeolocationOptions, GeolocationPosition$1 as GeolocationPosition, GeolocationWatchOptions, IdleDetectorOptions, IdleDetectorRef, IdleState, IntersectionObserverOptions, IntersectionRef, MediaDevice, MediaDeviceKind, MediaDevicesInfo, MediaStreamConstraints$1 as MediaStreamConstraints, MediaTrackConstraints$1 as MediaTrackConstraints, MutationObserverOptions, MutationRef, NdefMessage, NdefReadingEvent, NdefWriteOptions, NetworkInformation, NetworkInformationRef, OrientationInfo, OrientationLockType, OrientationType, PageVisibilityRef, PasswordCredentialData, PaymentDetailsInit, PaymentMethodConfig, PaymentOptionsConfig, PaymentResult, PerformanceEntryType, PerformanceObserverConfig, PerformanceObserverRef, PermissionNameExt, PermissionRequest, PublicKeyCredentialOptions, RecordingOptions, RecordingResult, RecordingState, ResizeObserverOptions, ResizeRef, SSEConfig, SSEConnectionState, SSEMessage, ScreenIdleState, ScreenOrientationRef, SpeechOptions, SpeechState, StorageEvent, StorageOptions, StorageValue, UsbDeviceFilterDef, UsbDeviceInfo, UsbDeviceRef, UserIdleState, VibrationPattern, VibrationPreset, VisibilityState, WakeLockStatus, WakeLockType, WebSocketConfig, WebSocketMessage, WebSocketStatus, WorkerMessage, WorkerStatus, WorkerTask };
|