Skip to content

useFullscreen ​

Hook to handle fullscreen events

browser
test coverage
Last changed: last month

Installation ​

Library
CLI
Manual
typescript
import { useFullscreen } from '@siberiacancode/reactuse';

Usage ​

typescript
const { enter, exit, toggle, value } = useFullscreen(ref);
// or
const { ref, enter, exit, toggle, value } = useFullscreen();

Demo ​

Api ​

Parameters

NameTypeDefaultNote
targetHookTarget-The target element for fullscreen
options.initialValue?booleanfalseinitial value of fullscreen
options.onEnter?() => void-on enter fullscreen
options.onExit?() => void-on exit fullscreen

Returns

UseFullScreenReturn

Parameters

NameTypeDefaultNote
options.initialValue?booleanfalseinitial value of fullscreen
options.onEnter?() => void-on enter fullscreen
options.onExit?() => void-on exit fullscreen

Returns

UseFullScreenReturn & { ref: RefObject<Target> }

Type declaration ​

typescript
import type { HookTarget } from '@/utils/helpers';

import type { StateRef } from '../useRefState/useRefState';

export interface UseFullScreenOptions {
  /** initial value */
  initialValue?: boolean;
  /** on enter fullscreen */
  onEnter?: () => void;
  /** on exit fullscreen */
  onExit?: () => void;
}

export interface UseFullScreenReturn {
  /** The fullscreen state */
  value: boolean;
  /** The fullscreen enter method */
  enter: () => void;
  /** The fullscreen exit method */
  exit: () => void;
  /** The fullscreen toggle method */
  toggle: () => void;
}

export interface UseFullScreen {
  (target: HookTarget, options?: UseFullScreenOptions): UseFullScreenReturn;

  <Target extends Element>(
    options?: UseFullScreenOptions,
    target?: never
  ): UseFullScreenReturn & { ref: StateRef<Target> };
}

Source ​

Source • Demo

Contributors ​

D
debabin
debabin
H
hywax
hywax

Released under the MIT License.