@fivethree/core
Version:
Fivethree Core Components
63 lines (62 loc) • 2.34 kB
TypeScript
import { DomSanitizer } from '@angular/platform-browser';
import { OnInit, AfterViewInit, ElementRef, OnDestroy } from '@angular/core';
import { FivOverlay } from '../overlay/overlay.component';
import { Platform, IonContent } from '@ionic/angular';
import { Subject } from 'rxjs';
import { Router } from '@angular/router';
import { PopoverPositioning, PopoverPosition, PopoverArrowPositioning } from './popover.types';
export declare class FivPopover implements OnInit, AfterViewInit, OnDestroy {
private platform;
private content;
private dom;
private router;
overlay: FivOverlay;
animationContainer: ElementRef;
width: number;
height: number;
arrow: boolean;
arrowWidth: number;
arrowHeight: number;
arrowPosition: PopoverArrowPositioning;
backdrop: boolean;
overlaysTarget: boolean;
closeOnNavigation: boolean;
scrollToTarget: boolean;
scrollSpeed: number;
position: PopoverPositioning;
classes: string[];
viewportOnly: boolean;
_position: PopoverPosition;
hidden: boolean;
onDestroy$: Subject<unknown>;
onClose$: Subject<unknown>;
inDuration: number;
outDuration: number;
animationIn: (element: ElementRef<any>) => import("rxjs").Observable<[number, number]>;
animationOut: (element: ElementRef<any>) => import("rxjs").Observable<number>;
readonly styles: import("@angular/platform-browser").SafeStyle;
readonly triangle: string;
readonly svgStyles: import("@angular/platform-browser").SafeStyle;
readonly animationStyles: import("@angular/platform-browser").SafeStyle;
constructor(platform: Platform, content: IonContent, dom: DomSanitizer, router: Router);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
close(): void;
private getPositionOfTarget;
open(target: MouseEvent | ElementRef): void;
openTarget(target: HTMLElement): void;
private watchResize;
private watchScroll;
private filterInViewport;
private openAtPosition;
private scrollToPosition;
inViewport(position: DOMRect | ClientRect): Promise<boolean>;
private calculcatePositioning;
private getArrowTop;
private getArrowLeft;
private getContainerTop;
private getVerticalArrowOffset;
private getHorizontalArrowOffset;
private getContainerLeft;
}