UNPKG

@gooddata/react-components

Version:

GoodData.UI - A powerful JavaScript library for building analytical applications

33 lines (32 loc) 1.17 kB
import { MenuAlignment } from "../MenuSharedTypes"; export interface IDimensions { width: number; height: number; } export interface ICoordinates { left: number; top: number; right: number; bottom: number; } export interface IDimensionsAndCoordinates extends IDimensions, ICoordinates { } export declare type Dimension = "width" | "height"; export declare type Direction = "left" | "right" | "top" | "bottom"; export interface IMenuPosition { left: number; top: number; } export declare function getViewportDimensionsAndCoords(): IDimensionsAndCoordinates; export declare function getElementDimensionsAndCoords(element: HTMLElement): IDimensionsAndCoordinates; export declare function getElementDimensions(element: Element): IDimensions; export interface IMenuPositionConfig { toggler: IDimensionsAndCoordinates; viewport: IDimensionsAndCoordinates; menu: IDimensions; alignment: MenuAlignment; spacing: number; offset: number; topLevelMenu: boolean; } export declare function calculateMenuPosition({ toggler, viewport, menu, alignment, spacing, offset, topLevelMenu, }: IMenuPositionConfig): IMenuPosition;