@stacksjs/stx
Version:
A performant UI Framework. Powered by Bun.
47 lines • 1.3 kB
TypeScript
/**
* 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>
}