@nova-ui/bits
Version:
SolarWinds Nova Framework
55 lines (54 loc) • 1.86 kB
TypeScript
import { Highlightable } from "@angular/cdk/a11y";
import { ScrollStrategy } from "@angular/cdk/overlay";
import { ElementRef } from "@angular/core";
/** CSS class for the shared container that all overlays will be attached to */
export declare const OVERLAY_CONTAINER_CLASS = "nui-overlay-container";
/** CSS class that will be attached to the overlay panel. */
export declare const OVERLAY_PANEL_CLASS = "nui-overlay-panel";
export declare const OVERLAY_DEFAULT_PRIORITY = 10;
export type ScrollStrategyAccessor = () => ScrollStrategy;
export declare enum OverlayPlacement {
Left = "left",
Right = "right",
Top = "top",
Bottom = "bottom",
Custom = "custom"
}
export declare enum OverlayPosition {
topLeft = "top-left",
topRight = "top-right",
bottomLeft = "bottom-left",
bottomRight = "bottom-right",
centerLeft = "center-left",
centerRight = "center-right",
centerTop = "center-top",
centerBottom = "center-bottom",
leftTop = "left-top",
leftBottom = "left-bottom",
rightTop = "right-top",
rightBottom = "right-bottom"
}
export type OverlayContainerType = ElementRef<HTMLElement> | string;
export interface IOverlayComponent {
showing: boolean;
toggle: () => void;
}
export interface IOptionValueObject {
/** Please use "id" if you want to distinguish same options in different Group Sections */
id?: string;
[key: string]: any;
}
export type OptionValueType = IOptionValueObject | string | null;
export interface IOption extends Highlightable {
scrollIntoView: (options?: ScrollIntoViewOptions) => void;
element: ElementRef<HTMLElement>;
outfiltered?: boolean;
isDisabled?: boolean;
}
export interface IOverlayPositionServiceConfig {
arrowSize?: number;
arrowPadding?: number;
}
export interface IResizeConfig {
updateSize?: boolean;
}