watercolor-ui
Version:
A modern minimalist cross-framework component library
83 lines • 2.78 kB
TypeScript
/**
* 验证Modal尺寸
* @param {string} size - 要验证的尺寸
* @returns {boolean} 是否为有效尺寸
*/
export function isValidSize(size: string): boolean;
/**
* 获取Modal的CSS类名
* @param {Object} options - 配置选项
* @returns {string} 完整的CSS类名字符串
*/
export function getModalClasses({ size, fullWidth, fullScreen, scroll, position, className }?: Object): string;
/**
* 获取Modal覆盖层的CSS类名
* @param {Object} options - 配置选项
* @returns {string} 覆盖层CSS类名
*/
export function getOverlayClasses({ centered, position }?: Object): string;
/**
* 获取Modal最大宽度映射
* @param {string} size - Modal尺寸
* @returns {string} 最大宽度值
*/
export function getMaxWidth(size: string): string;
/**
* 获取Modal样式
* @param {Object} options - 配置选项
* @returns {Object} 样式对象
*/
export function getModalStyles({ size, fullWidth, fullScreen, scroll }?: Object): Object;
/**
* 处理Modal关闭事件
* @param {Function} setIsVisible - 设置可见性的函数
* @param {Function} onClose - 关闭回调函数
* @param {number} delay - 延迟时间(毫秒)
*/
export function handleModalClose(setIsVisible: Function, onClose: Function, delay?: number): void;
/**
* 处理Modal覆盖层点击事件
* @param {boolean} maskClosable - 是否允许点击遮罩关闭
* @param {Function} closeHandler - 关闭处理函数
*/
export function handleOverlayClick(maskClosable: boolean, closeHandler: Function): void;
/**
* 处理键盘事件
* @param {KeyboardEvent} e - 键盘事件
* @param {boolean} closable - 是否可关闭
* @param {Function} closeHandler - 关闭处理函数
*/
export function handleKeyDown(e: KeyboardEvent, closable: boolean, closeHandler: Function): void;
/**
* 焦点管理 - 将焦点设置到对话框
* @param {HTMLElement} dialogElement - 对话框元素
*/
export function focusDialog(dialogElement: HTMLElement): void;
/**
* 焦点陷阱 - 将焦点限制在对话框内
* @param {HTMLElement} dialogElement - 对话框元素
*/
export function createFocusTrap(dialogElement: HTMLElement): () => void;
/**
* 管理body滚动
* @param {boolean} open - 是否打开
*/
export function manageBodyScroll(open: boolean): void;
/**
* 生成唯一ID
* @param {string} prefix - 前缀
* @returns {string} 唯一ID
*/
export function generateId(prefix?: string): string;
/**
* 检查点击是否在元素外部
* @param {Event} event - 点击事件
* @param {HTMLElement} element - 目标元素
* @returns {boolean} 是否在外部点击
*/
export function isClickOutside(event: Event, element: HTMLElement): boolean;
/**
* 有效的Modal尺寸
*/
export const validSizes: string[];
//# sourceMappingURL=utils.d.ts.map