Files
v10/dist/dom/webkit.d.ts

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