@rxxuzi/gumi
Version:
Clean & minimal design system with delightful interactions
28 lines (27 loc) • 805 B
TypeScript
import { DropdownOptions, GumiElement } from '../types';
export declare class Dropdown {
private trigger;
private menu;
private options;
private isOpen;
private clickHandler?;
private documentClickHandler?;
constructor(trigger: GumiElement, menuOrOptions?: GumiElement | DropdownOptions, options?: DropdownOptions);
private getDefaultOptions;
private findMenu;
private init;
private bindClickEvents;
private bindKeyboardEvents;
show(): void;
hide(): void;
toggle(): void;
destroy(): void;
/**
* Static method to initialize all dropdowns
*/
static initAll(selector?: string): Dropdown[];
/**
* Static method to initialize from data attributes
*/
static initFromAttributes(selector?: string): Dropdown[];
}