UNPKG

@alyle/ui

Version:

Minimal Design, a set of components for Angular

85 lines (84 loc) 2.58 kB
import { XPosition, YPosition } from './position'; import { LyTheme2 } from '../theme/theme2.service'; import { ViewportRuler } from '@angular/cdk/scrolling'; export declare class LyOverlayPosition { private _theme; private _viewportRuler; private _trigger; private _overlay; private _triggerRect; private _overlayRect; private _xAnchor?; private _yAnchor?; private _xAxis; private _yAxis; private _flip; private _viewportOffset; private _viewportHeight; private _viewportWidth; private _xOffset; private _yOffset; private _rawX; private _rawY; /** Transform element's bounding `ClientRect` before render. */ private _transform?; private _anchorDir; private _axisDir; /** xAnchor position */ private _xa; /** XAnchor position */ private _ya; get x(): number; private _x; get y(): number; private _y; get xo(): number; private _xo; get yo(): number; private _yo; get width(): number; private _width; get height(): number; private _height; get triggerRect(): ClientRect; /** Returns x, but not rounded */ get rawX(): number; /** Returns y, but not rounded */ get rawY(): number; constructor(_theme: LyTheme2, _viewportRuler: ViewportRuler, _trigger: Element, _overlay: Element); build(): this; private _updateRects; private _setDefaultAnchor; private _callTransformIfExists; private _updateDir; private _calculateResponsive; /** * Return true if the menu overflows vertically */ private _isOverflowX; private _isOverflowLeft; private _isOverflowRight; /** Return true the menu overflows horizontally */ private _isOverflowY; private _isOverflowTop; private _isOverflowBottom; private _calculate; private _calculateAnchorPosition; private _calculateAxis; /** Calculate origin for overlay */ private _calculateOrigin; private _round; setXAnchor(val: XPosition | number): this; setYAnchor(val: YPosition | number): this; setXAxis(val?: XPosition | null): this; setYAxis(val?: YPosition | null): this; setFlip(flip?: boolean): this; setXOffset(val: number): this; setYOffset(val: number): this; /** * Offset from the edge of the viewport to the center. * It is the minimum space that must be between the window and the overlay. */ setViewportOffset(val: number): this; setTransform(transform: (triggerRect: ClientRect, overlayRect: ClientRect) => void): this; }