@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
TypeScript
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>;
}