UNPKG

@ciri/ngx-popup

Version:

An angular popup component that can customize animation.

56 lines (55 loc) 2.25 kB
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { AnimationMetadata } from '@angular/animations'; import { OverlayHelper } from '../overlay/overlay-helper'; import { AnimationService } from '../animation.service'; export interface PopupAnimations { enter?: AnimationMetadata | AnimationMetadata[]; leave?: AnimationMetadata | AnimationMetadata[]; } export declare enum Position { center = "center", top = "top", right = "right", bottom = "bottom", left = "left" } export declare class PopupComponent implements ControlValueAccessor, OnDestroy { private hostElRef; private cdr; private renderer; private overlayHelper; private animation; position: Position; /** 弹窗位置 */ animations: PopupAnimations; /** 自定义动画 */ overlay: boolean; /** 是否显示蒙版 */ overlayOpacity: number; /** 蒙版透明度 0~1 */ closeOnClickOverlay: boolean; /** 是否允许点击蒙版时自动关闭弹框 */ zIndex: number; /** 同 css z-index */ externalClass: object; /** 自定义类名 */ clickOverlay: EventEmitter<any>; /** 点击蒙版时触发 */ beforeOpen: EventEmitter<any>; /** 打开之前触发(还未执行进场动画) */ afterOpen: EventEmitter<any>; /** 打开之后触发(进场动画执行完毕) */ beforeClose: EventEmitter<any>; /** 关闭之前触发(还未执行离场动画) */ afterClose: EventEmitter<any>; /** 关闭之后触发(离场动画执行完毕) */ private container; visible: boolean; readonly el: any; private destroy$; private animationSub; private dirty; private leaving; private onChange; private closeOverlay; constructor(hostElRef: ElementRef, cdr: ChangeDetectorRef, renderer: Renderer2, overlayHelper: OverlayHelper, animation: AnimationService); ngOnDestroy(): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; writeValue(value: boolean): void; private open; private close; private openOverlay; private makeAnimation; private getEnterAnimation; private getLeaveAnimation; }