@aplus-frontend/ui
Version:
51 lines (50 loc) • 1.18 kB
TypeScript
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>;
};