UNPKG

@doku-dev/doku-fragment

Version:

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

81 lines (80 loc) 2.63 kB
import { ApplicationRef, ElementRef, NgZone, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core'; import { DokuPopoverCloseByKey, DokuPopoverPlacement } from './popover.interface'; import * as i0 from "@angular/core"; export declare class DokuPopover implements OnInit, OnDestroy { private document; private renderer; private ngZone; private elementRef; private appRef; readonly id: string; /** * Content of the popover. * It can be a string or a template for more customization. * * @default '' */ content: string | TemplateRef<unknown>; /** * The color of the popover. * Either `dark` or `light`. * @default 'dark' */ color: 'dark' | 'light'; /** * The placement of the popover. * @default 'top' */ placement: DokuPopoverPlacement; /** * Actions that will close the popover. * * - `manual`, only manual action that will close the popover like using `hide` method. * - `clickOutside`, close the popover when clicking outside its element. * * The top list has higher priority. */ closeBy: DokuPopoverCloseByKey[]; /** * Whether to disable the popover. * Disabled popover can't be opened. * @default false */ disabled: boolean; private isShown; private popoverElement?; private popoverContentElement?; private popoverArrowElement?; private viewRef?; private cleanup?; private destroy$; constructor(document: Document, renderer: Renderer2, ngZone: NgZone, elementRef: ElementRef, appRef: ApplicationRef); protected get classes(): string[]; ngOnInit(): void; ngOnDestroy(): void; /** * Show popover programmatically. */ show(): void; /** * Hide popover programmatically. */ hide(): void; /** * Toggle popover programmatically. */ toggle(): void; /** * Update the content of the popover with new one. */ updateContent(content: string | TemplateRef<unknown>): void; private createPopoverElement; private createPopoverContentElement; private createArrowElement; private setPopoverContent; private updatePosition; private doAutoUpdatePosition; private handleOnClick; static ɵfac: i0.ɵɵFactoryDeclaration<DokuPopover, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DokuPopover, "[doku-popover]", ["dokuPopover"], { "content": "doku-popover"; "color": "popoverColor"; "placement": "popoverPlacement"; "closeBy": "popoverCloseBy"; "disabled": "popoverDisabled"; }, {}, never, never, true>; }