@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
33 lines (32 loc) • 1.39 kB
TypeScript
import { ViewportRuler } from '@angular/cdk/scrolling';
import { ElementRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { ResizeService } from '../../directives/resize/index';
import * as i0 from "@angular/core";
export declare class PopoverOrientationService {
private readonly _resizeService;
private readonly _viewportRuler;
createPopoverOrientationListener(element: ElementRef | HTMLElement, parentElement?: ElementRef | HTMLElement): PopoverOrientationListener;
static ɵfac: i0.ɵɵFactoryDeclaration<PopoverOrientationService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<PopoverOrientationService>;
}
export declare class PopoverOrientationListener {
private readonly _element;
private readonly _elementParent;
private readonly _resizeService;
private readonly _viewportRuler;
/** Allow subscribing to state changes */
orientation$: BehaviorSubject<PopoverOrientation>;
/** Max value the height of the dropdown can be */
maxHeight: number;
/** Store the last known position and size */
private _rect;
private readonly _onDestroy;
constructor(_element: HTMLElement, _elementParent: HTMLElement, _resizeService: ResizeService, _viewportRuler: ViewportRuler);
destroy(): void;
private onScrollOrResize;
}
export declare const enum PopoverOrientation {
Up = 0,
Down = 1
}