UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

131 lines (130 loc) 5.31 kB
/** * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { Direction, Directionality } from '@angular/cdk/bidi'; import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay'; import { AfterViewInit, ChangeDetectorRef, ComponentFactory, ComponentFactoryResolver, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; import { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation'; import { BooleanInput, NgClassInterface, NgStyleInterface, NzTSType } from 'ng-zorro-antd/core/types'; import { Subject } from 'rxjs'; export interface PropertyMapping { [key: string]: [string, () => unknown]; } export declare type NzTooltipTrigger = 'click' | 'focus' | 'hover' | null; export declare abstract class NzTooltipBaseDirective implements OnChanges, OnDestroy, AfterViewInit { elementRef: ElementRef; protected hostView: ViewContainerRef; protected resolver: ComponentFactoryResolver; protected renderer: Renderer2; protected noAnimation?: NzNoAnimationDirective | undefined; directiveTitle?: NzTSType | null; directiveContent?: NzTSType | null; title?: NzTSType | null; content?: NzTSType | null; trigger?: NzTooltipTrigger; placement?: string | string[]; origin?: ElementRef<HTMLElement>; visible?: boolean; mouseEnterDelay?: number; mouseLeaveDelay?: number; overlayClassName?: string; overlayStyle?: NgStyleInterface; visibleChange: EventEmitter<boolean>; /** * For create tooltip dynamically. This should be override for each different component. */ protected componentFactory: ComponentFactory<NzTooltipBaseComponent>; /** * This true title that would be used in other parts on this component. */ protected get _title(): NzTSType | null; protected get _content(): NzTSType | null; protected get _trigger(): NzTooltipTrigger; protected get _placement(): string[]; protected get _visible(): boolean; protected get _mouseEnterDelay(): number; protected get _mouseLeaveDelay(): number; protected get _overlayClassName(): string | null; protected get _overlayStyle(): NgStyleInterface | null; private internalVisible; protected getProxyPropertyMap(): PropertyMapping; component?: NzTooltipBaseComponent; protected readonly destroy$: Subject<void>; protected readonly triggerDisposables: Array<() => void>; private delayTimer?; constructor(elementRef: ElementRef, hostView: ViewContainerRef, resolver: ComponentFactoryResolver, renderer: Renderer2, noAnimation?: NzNoAnimationDirective | undefined); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; show(): void; hide(): void; /** * Force the component to update its position. */ updatePosition(): void; /** * Create a dynamic tooltip component. This method can be override. */ protected createComponent(): void; protected registerTriggers(): void; private updatePropertiesByChanges; private updatePropertiesByKeys; private initProperties; private updateComponentValue; private delayEnterLeave; private removeTriggerListeners; private clearTogglingTimer; } export declare abstract class NzTooltipBaseComponent implements OnDestroy, OnInit { cdr: ChangeDetectorRef; private directionality; noAnimation?: NzNoAnimationDirective | undefined; static ngAcceptInputType_nzVisible: BooleanInput; overlay: CdkConnectedOverlay; nzTitle: NzTSType | null; nzContent: NzTSType | null; nzOverlayClassName: string; nzOverlayStyle: NgStyleInterface; nzMouseEnterDelay?: number; nzMouseLeaveDelay?: number; nzVisibleChange: Subject<boolean>; set nzVisible(value: boolean); get nzVisible(): boolean; _visible: boolean; set nzTrigger(value: NzTooltipTrigger); get nzTrigger(): NzTooltipTrigger; protected _trigger: NzTooltipTrigger; set nzPlacement(value: string[]); preferredPlacement: string; origin: CdkOverlayOrigin; dir: Direction; _classMap: NgClassInterface; _hasBackdrop: boolean; _prefix: string; _positions: ConnectionPositionPair[]; private destroy$; constructor(cdr: ChangeDetectorRef, directionality: Directionality, noAnimation?: NzNoAnimationDirective | undefined); ngOnInit(): void; ngOnDestroy(): void; show(): void; hide(): void; updateByDirective(): void; /** * Force the component to update its position. */ updatePosition(): void; onPositionChange(position: ConnectedOverlayPositionChange): void; updateStyles(): void; setOverlayOrigin(origin: CdkOverlayOrigin): void; onClickOutside(event: MouseEvent): void; /** * Hide the component while the content is empty. */ private updateVisibilityByTitle; /** * Empty component cannot be opened. */ protected abstract isEmpty(): boolean; } export declare function isTooltipEmpty(value: string | TemplateRef<void> | null): boolean;