mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
37 lines
1.8 KiB
TypeScript
37 lines
1.8 KiB
TypeScript
//#region src/dom/webkit.d.ts
|
|
/** WebKit presentation mode values for iOS Safari. */
|
|
type WebKitPresentationMode = 'inline' | 'fullscreen' | 'picture-in-picture';
|
|
/** Extended HTMLVideoElement with WebKit vendor APIs. */
|
|
interface WebKitVideoElement extends HTMLVideoElement {
|
|
/** Whether the current playback target is wireless (WebKit) */
|
|
webkitCurrentPlaybackTargetIsWireless?: boolean;
|
|
/** Current WebKit presentation mode (iOS Safari). */
|
|
webkitPresentationMode?: WebKitPresentationMode;
|
|
/** Set WebKit presentation mode (iOS Safari). */
|
|
webkitSetPresentationMode?: (mode: WebKitPresentationMode) => void;
|
|
}
|
|
/** Extended Element with WebKit fullscreen vendor API. */
|
|
interface WebKitFullscreenElement extends Element {
|
|
/** Request fullscreen using WebKit API (Safari). */
|
|
webkitRequestFullscreen?: () => Promise<void>;
|
|
}
|
|
/** Extended Document with WebKit fullscreen vendor APIs. */
|
|
interface WebKitDocument extends Document {
|
|
/** Current fullscreen element (WebKit). */
|
|
webkitFullscreenElement?: Element | null;
|
|
/** Whether fullscreen is enabled (WebKit). */
|
|
webkitFullscreenEnabled?: boolean;
|
|
/** Exit fullscreen (WebKit). */
|
|
webkitExitFullscreen?: () => Promise<void>;
|
|
}
|
|
/** WebKit-specific AirPlay availability event payload (not in lib.dom). */
|
|
type WebkitAvailabilityEvent = Event & {
|
|
availability: 'available' | 'not-available';
|
|
};
|
|
/** Whether WebKit's AirPlay APIs are present in this realm (Safari macOS/iOS). */
|
|
declare function supportsWebKitAirPlay(): boolean;
|
|
/** Whether `media` exposes WebKit's AirPlay APIs. */
|
|
declare function isWebKitAirPlayCapable(media: EventTarget): media is WebKitVideoElement;
|
|
//#endregion
|
|
export { WebKitDocument, WebKitFullscreenElement, WebKitPresentationMode, WebKitVideoElement, WebkitAvailabilityEvent, isWebKitAirPlayCapable, supportsWebKitAirPlay };
|
|
//# sourceMappingURL=webkit.d.ts.map
|