UNPKG

@whitesev/pops

Version:

弹窗库,包含了alert、confirm、prompt、drawer、folder、loading、iframe、panel、tooltip、searchSuggestion、rightClickMenu组件

48 lines (45 loc) 1.14 kB
import type { EventEmiter } from "../event/EventEmiter"; import type { CustomEventMap } from "./EventEmitter"; import type { PopsType } from "./main"; /** * 事件配置 */ export interface PopsEventConfig<E extends EventEmiter<CustomEventMap> = EventEmiter<CustomEventMap>> { /** 最外层包裹的元素 */ $shadowContainer: HTMLDivElement; /** ShadowRoot */ $shadowRoot: ShadowRoot | HTMLElement; /** -> 动画层 */ $el: HTMLDivElement; /** 动画层 */ $anim: HTMLDivElement; /** 主元素 */ $pops: HTMLDivElement; /** 遮罩层 */ $mask?: HTMLDivElement; /** 当前弹窗类型 */ mode: PopsType; /** 唯一id */ guid: string; /** 事件发送器 */ emitter: E; /** * 关闭弹窗 */ close(): Promise<void>; /** * 隐藏弹窗 */ hide(): Promise<void>; /** * 显示弹出 */ show($parent?: HTMLElement | Document | ShadowRoot): Promise<void>; } /** * 处理过的事件配置 */ export interface PopsHandlerEventConfig<E extends EventEmiter<CustomEventMap>> extends PopsEventConfig<E> { /** 当前按钮类型 */ type: "cancel" | "close" | "ok" | "other"; }