Skip to content

useFullscreen

Category
Export Size
1.56 kB
Last Changed
5 days ago

Reactive Fullscreen API. It adds methods to present a specific Element (and its descendants) in full-screen mode, and to exit full-screen mode once it is no longer needed. This makes it possible to present desired content—such as an online game—using the user's entire screen, removing all browser user interface elements and other applications from the screen until full-screen mode is shut off.

Demo

Usage

tsx
import { 
useFullscreen
} from '@reause/core'
const {
isFullscreen
,
enter
,
exit
,
toggle
} =
useFullscreen
()

Fullscreen specified element. Some platforms (like iOS's Safari) only allow fullscreen on video elements.

tsx
import { 
useFullscreen
} from '@reause/core'
import {
useRef
} from 'react'
const
el
=
useRef
<HTMLVideoElement>(null)
const {
isFullscreen
,
enter
,
exit
,
toggle
} =
useFullscreen
(
el
)
// <video ref={el} controls />

Type Declarations

ts
export type FullscreenTarget = RefObject<HTMLElement | SVGElement | null | undefined>

export interface UseFullscreenOptions {
    document?: Document;
    autoExit?: boolean;
}

export interface UseFullscreenReturn {
    isSupported: boolean;
    isFullscreen: boolean;
    enter: () => Promise<void>;
    exit: () => Promise<void>;
    toggle: () => Promise<void>;
}

export function useFullscreen(target?: FullscreenTarget, options?: UseFullscreenOptions): UseFullscreenReturn

Source

Source · Demo · VueUse

Contributors

hairyf

Changelog

v0.1.0 on
6560a - fix(core): resolve useFullscreen audit findings (#578)
8fddc - chore!: remove all Vue-only Maybe* types and getter unions, adopt React Ref (#462)

Released under the MIT License. v0.1.8