UNPKG

@doku-dev/doku-fragment

Version:

A new Angular UI library that moving away from Bootstrap and built from scratch.

78 lines (77 loc) 2.47 kB
import { ApplicationRef, ElementRef, NgZone, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core'; import { DokuTooltipPlacement } from './tooltip.interface'; import * as i0 from "@angular/core"; export declare class DokuTooltip implements OnInit, OnDestroy { private renderer; private document; private ngZone; private elementRef; private appRef; /** * Content of the tooltip. * It can be a string or a template for more customization. * * @default '' */ content: string | TemplateRef<unknown>; /** * The color of the tooltip. * Either `dark` or `light`. * @default 'dark' */ color: 'dark' | 'light'; /** * The placement of the tooltip. * @default 'top' */ placement: DokuTooltipPlacement; /** * Whether tooltip should stay when hovering on its element. * @default false */ stayOnHover: boolean; /** * Whether to disable the tooltip. * Disabled tooltip can't be opened. * @default false */ disabled: boolean; private isShown; private tooltipElement?; private tooltipContentElement?; private tooltipArrowElement?; private viewRef?; private cleanup?; private destroy$; constructor(renderer: Renderer2, document: Document, ngZone: NgZone, elementRef: ElementRef, appRef: ApplicationRef); protected get classes(): string[]; ngOnInit(): void; ngOnDestroy(): void; /** * Show tooltip programmatically. */ show(): void; /** * Hide tooltip programmatically. */ hide(): void; /** * Toggle tooltip programmatically. */ toggle(): void; /** * Update the content of the tooltip with new one. */ updateContent(content: string | TemplateRef<unknown>): void; private createTooltipElement; private createTooltipContentElement; private createArrowElement; private setTooltipContent; private updatePosition; private doAutoUpdatePosition; private handleEventsShow; private handleEventsHide; private handleHoveringTooltipElement; static ɵfac: i0.ɵɵFactoryDeclaration<DokuTooltip, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DokuTooltip, "[doku-tooltip]", ["dokuTooltip"], { "content": "doku-tooltip"; "color": "tooltipColor"; "placement": "tooltipPlacement"; "stayOnHover": "tooltipStayOnHover"; "disabled": "tooltipDisabled"; }, {}, never, never, true>; }