UNPKG

@aplus-frontend/ui

Version:

51 lines (50 loc) 1.18 kB
import { PortalProps } from '../portal/interface'; export type FullScreenMode = 'browser' | 'window'; export type FullScreenProps = { /** * 容器元素标签名 */ wrapperElementName?: string; /** * 全屏状态下的css zIndex 默认为2^31 - 1 */ zIndex?: number; } & Partial<Pick<PortalProps, 'to'>>; export type FullScreenExpose = { /** * 全屏的目标元素 */ target: HTMLElement; /** * 目标元素内用于渲染全局组件的容器 */ portalRoot: HTMLDivElement; /** * 当前是否全屏 */ full: boolean; /** * 当前的全屏模式 */ mode: FullScreenMode; /** * 进入全屏 * @param mode 全屏模式 窗口全屏/浏览器全屏 * @param force * @returns */ enter: (mode: FullScreenMode, force?: boolean) => Promise<void>; /** * 退出全屏 * @param force * @returns */ exit: (force?: boolean) => Promise<void>; /** * 切换全屏状态 * @param mode 全屏模式 * @param force * @returns */ toggle: (mode: FullScreenMode, force?: boolean) => Promise<void>; };