@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
33 lines (32 loc) • 1.17 kB
TypeScript
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;