UNPKG

@stacksjs/stx

Version:

A performant UI Framework. Powered by Bun.

47 lines 1.3 kB
/** * Reactive fullscreen controller */ export declare function useFullscreen(target?: Element | (() => Element | null) | null, options?: FullscreenOptions): FullscreenRef; /** * Simple fullscreen toggle for document */ export declare function toggleFullscreen(): Promise<void>; /** * Check if currently in fullscreen mode */ export declare function isInFullscreen(): boolean; /** * useFullscreen - Reactive Fullscreen API wrapper * * Control fullscreen mode for elements or the entire document. * * @example * ```ts * // Document fullscreen * const { isFullscreen, toggle, enter, exit } = useFullscreen() * * // Element fullscreen * const { isFullscreen, toggle } = useFullscreen(videoElement) * * // With keyboard shortcut * useHotkey('f', () => toggle()) * ``` */ export declare interface FullscreenState { isFullscreen: boolean isSupported: boolean element: Element | null } export declare interface FullscreenOptions { navigationUI?: 'auto' | 'hide' | 'show' autoExit?: boolean } export declare interface FullscreenRef { get: () => FullscreenState subscribe: (fn: (state: FullscreenState) => void) => () => void isFullscreen: () => boolean isSupported: () => boolean enter: () => Promise<void> exit: () => Promise<void> toggle: () => Promise<void> }