export enum DropDownDirection { DownRight, DownLeft, UpRight, UpLeft, } // ------------------------- interface DropDownItemBase { key: string; isDisabled: boolean; data: any; isActionItem: boolean; isOptionItem: boolean; isSeperatorItem: boolean; isHeaderItem: boolean; } // ------------------------- interface SeperatorItem extends DropDownItemBase {} interface SeperatorItemConstructor { new(): SeperatorItem; } export var SeperatorItem: SeperatorItemConstructor; // ------------------------- interface HeaderItem extends DropDownItemBase { header: string; } interface HeaderItemConstructor { new(header: string): HeaderItem; } export var HeaderItem: HeaderItemConstructor; // ------------------------- interface DropDownItem extends DropDownItemBase { text: string; } // ------------------------- interface RightImageInfo { imageRight: string; toolTip: string; } // ------------------------- interface ActionItem extends DropDownItem { imageLeft: string; imageRight: RightImageInfo[]; className: string; clickedImage: string; textMarginRight: number; addRightImage(img: string, tooltip?: string): void; clicked: (aitem: ActionItem) => void; //static useMaterialImage24: boolean; } interface ActionItemConstructor { new(key: string, text: string, image?: string, isDisabled?: boolean, clicked?: (ai: ActionItem) => void): ActionItem; } export var ActionItem: ActionItemConstructor; // ------------------------- interface OptionItem extends DropDownItem { isChecked: boolean; groupBy: string; toggle(): void; } interface OptionItemConstructor { new(key: string, text: string, groupBy?: string, isChecked?: boolean): OptionItem; } export var OptionItem: OptionItemConstructor; // ------------------------- interface DropDownControl { element: any; direction: DropDownDirection; openOnCreate: boolean; closeOnActionItemClick: boolean; closeOnOptionItemClick: boolean; alignText: boolean; setToRelativePositionIfNotSet: boolean; onClick?: (item: DropDownItem, checkedOptionItems: OptionItem[], allOptionItems: OptionItem[]) => void; onClose?: (item: DropDownItem, checkedOptionItems: OptionItem[], allOptionItems: OptionItem[]) => void; onChecked?: (optionItem: OptionItem, checkedOptionItems: OptionItem[], allOptionItems: OptionItem[]) => void; onOpened?: () => void; onHover?: (item: DropDownItem) => void; items: DropDownItemBase[]; getItems: () => DropDownItemBase[]; getItemsAsync: () => Promise; close(): void; createMenu(): void; } interface DropDownControlConstructor { new(element: any, items?: DropDownItemBase[], onClick?: (item: DropDownItem) => void, direction?: DropDownDirection): DropDownControl; } export var DropDownControl: DropDownControlConstructor; // ------------------------------------ export var DropDownMenu: any; // ------------------------------------ export var TestData: any;