@cds/core
Version:
Clarity Design System - common components, themes, and utilties
27 lines (26 loc) • 3.23 kB
TypeScript
import { AllCardinalPositionConfigs, AxisAligns, CardinalPositionConfig, CardinalPositions, PointerElement, PositionConfig, PositionObjOrNot, PositionableElement, WindowDims } from './interfaces.js';
export declare function getPopupOffsetOrDefaultOffsets(existingMainAxisOffset: number, existingCrossAxisOffset: number, pointer: PointerElement, pointerAlign: string, anchorAlign: string): {
mainAxisOffset: number;
crossAxisOffset: number;
};
export declare function setPopupPosition(component: PositionableElement): void;
declare type PositioningPreferencesTuple = [number[], number];
export declare function getOrientationTuple(orientationPrefs: string): PositioningPreferencesTuple;
export declare function getCrossAxisOrderOfPreference(preference: string): number[];
export declare function checkNextPosition(whichPosition: number, positions: PositionConfig, anchorAlignPref: string): PositionObjOrNot;
export declare function getNextDefaultPosition(currentPositionTotal: number): number[];
export declare function getNextPosition(userPrefs: number[], prefTotal: number): [number, number[], number];
export declare function getPointerPosition(workingPositionRelativeToAnchor: string): string;
export declare function getPointerAlignment(popupPosition: string, pointerAlign: string): any;
export declare function getBestPositionForPreferences(positions: PositionConfig, preferences: PositioningPreferencesTuple, anchorAlignPref: string): PositionObjOrNot;
export declare function getPopupPosition(orientationPrefs: string, anchorRect: DOMRect, anchorAlign: AxisAligns, pointer: HTMLElement, pointerAlign: AxisAligns, popup: HTMLElement, mainAxisOffset: number, crossAxisOffset: number): PositionObjOrNot;
export declare function getPositions(anchorRect: DOMRect, pointerHeight: number, pointerAlign: AxisAligns, popupRect: DOMRect, windowDims: WindowDims, mainAxisOffset: number, crossAxisOffset: number): AllCardinalPositionConfigs;
export declare function getPositionConfig(cardinalPos: CardinalPositions, pointerAlign: AxisAligns, anchor: DOMRect, popup: DOMRect, pointerHeight: number, win: WindowDims, mainAxisOffset: number, crossAxisOffset: number): false | CardinalPositionConfig;
declare type PositionOrViolation = false | number;
export declare function getMainAxisPosition(startPos: number, pointer: number, popup: number, offset: number, limit: number): number;
export declare function testMainAxisPosition(pos: number, startPos: number, limit: number): PositionOrViolation;
export declare function getCrossAxisPosition(position: AxisAligns, startPos: number, anchorAlign: number, anchorWidth: number, offset: number, popup?: number): number;
export declare function testCrossAxisPosition(axisAlign: AxisAligns, position: number, popup: number, limit: [number, number]): PositionOrViolation;
export declare function getPositionOrViolationFromCrossAxis(startPos: number, anchorLength: number, popupLength: number, offset: number, limitMinimum: number, limitMaximum: number, pointerPosition: AxisAligns): PositionOrViolation[];
export declare function getMainAxisPositionOrViolation(startPos: number, pointerLength: number, popupLength: number, offset: number, limit?: number): false | number;
export {};