Files
ncd-fe/packages/nicolium/src/utils/fullscreen.ts
nicole mikołajczyk d7f1deede6 nicolium: move more stuff around, enough for today
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
2026-03-18 17:14:43 +01:00

31 lines
822 B
TypeScript

// APIs for normalizing fullscreen operations. Note that Edge uses
// the WebKit-prefixed APIs currently (as of Edge 16).
const isFullscreen = (): boolean =>
Boolean(
// eslint-disable-next-line compat/compat
document.fullscreenElement ??
// @ts-expect-error
document.webkitFullscreenElement,
);
const exitFullscreen = (): void => {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if ('webkitExitFullscreen' in document) {
// @ts-expect-error
document.webkitExitFullscreen();
}
};
const requestFullscreen = (el: Element): void => {
if (el.requestFullscreen) {
el.requestFullscreen();
} else if ('webkitRequestFullscreen' in el) {
// @ts-expect-error
el.webkitRequestFullscreen();
}
};
export { isFullscreen, exitFullscreen, requestFullscreen };