vue3-modal-manager
Version:
A flexible and powerful modal manager for Vue 3
69 lines (68 loc) • 1.58 kB
TypeScript
import type { modalInfo } from './typing';
export declare class ModalResize {
private currentModal;
private resizeHandlers;
private resizing;
private resizeDirection;
private initialSize;
private initialMouse;
/**
* 初始化函數
* @param currentModal modal
*/
constructor(currentModal: modalInfo);
/**
* 設置當前modal
* @param currentModal modal
*/
setCurrentModal(currentModal: modalInfo): void;
/**
* 建立resize handle
* @param modalId modalId
*/
private createResizeHandles;
/**
* 綁定調整大小功能
* @param modalId 模態框ID
*/
bindResize(modalId: string): void;
/**
* 開始調整大小
* @param e 滑鼠事件
* @param direction 方向
*/
private startResize;
/**
* 處理調整大小
*/
private handleResize;
/**
* 計算滑鼠移動範圍
* @returns movementRange | movementRangeXY
*/
private calcMouseMoveRange;
/**
* 停止調整大小
*/
private stopResize;
/**
* 發出尺寸變更事件
* @param modal modal
* @param width modal寬度
* @param height modal高度
*/
private emitResizeEvent;
/**
* 發出調整結束事件
* @param modal modal
* @param width modal寬度
* @param height modal高度
*/
private emitResizeEndEvent;
/**
* 解除調整大小綁定
* @param modalId modalId
*/
unbindResize(modalId: string): void;
}
export default ModalResize;